From c393d998439563c811c2ccd1fd52b1f16942a7e2 Mon Sep 17 00:00:00 2001 From: Miguel Angel Simon Sierra Date: Tue, 6 Oct 2026 19:33:08 -0700 Subject: [PATCH] feat(registry): six WebGPU shader backgrounds from the Shaders library --- .../flowing-gradient/flowing-gradient.html | 31 + .../lib/shaders.THIRD-PARTY-LICENSES.txt | 314 ++++++++++ .../flowing-gradient/lib/shaders.iife.js | 266 ++++++++ .../flowing-gradient/registry-item.json | 34 ++ registry/blocks/godrays/godrays.html | 31 + .../lib/shaders.THIRD-PARTY-LICENSES.txt | 314 ++++++++++ registry/blocks/godrays/lib/shaders.iife.js | 266 ++++++++ registry/blocks/godrays/registry-item.json | 34 ++ registry/blocks/godrays/source/README.md | 20 + registry/blocks/godrays/source/build.mjs | 50 ++ registry/blocks/godrays/source/driver.js | 71 +++ .../blocks/godrays/source/package-lock.json | 577 ++++++++++++++++++ registry/blocks/godrays/source/package.json | 12 + .../lib/shaders.THIRD-PARTY-LICENSES.txt | 314 ++++++++++ .../blocks/liquid-metal/lib/shaders.iife.js | 266 ++++++++ .../blocks/liquid-metal/liquid-metal.html | 31 + .../blocks/liquid-metal/registry-item.json | 34 ++ .../lib/shaders.THIRD-PARTY-LICENSES.txt | 314 ++++++++++ registry/blocks/marble/lib/shaders.iife.js | 266 ++++++++ registry/blocks/marble/marble.html | 31 + registry/blocks/marble/registry-item.json | 34 ++ .../lib/shaders.THIRD-PARTY-LICENSES.txt | 314 ++++++++++ .../blocks/mesh-gradient/lib/shaders.iife.js | 266 ++++++++ .../blocks/mesh-gradient/mesh-gradient.html | 31 + .../blocks/mesh-gradient/registry-item.json | 34 ++ .../lib/shaders.THIRD-PARTY-LICENSES.txt | 314 ++++++++++ registry/blocks/nebula/lib/shaders.iife.js | 266 ++++++++ registry/blocks/nebula/nebula.html | 31 + registry/blocks/nebula/registry-item.json | 34 ++ 29 files changed, 4600 insertions(+) create mode 100644 registry/blocks/flowing-gradient/flowing-gradient.html create mode 100644 registry/blocks/flowing-gradient/lib/shaders.THIRD-PARTY-LICENSES.txt create mode 100644 registry/blocks/flowing-gradient/lib/shaders.iife.js create mode 100644 registry/blocks/flowing-gradient/registry-item.json create mode 100644 registry/blocks/godrays/godrays.html create mode 100644 registry/blocks/godrays/lib/shaders.THIRD-PARTY-LICENSES.txt create mode 100644 registry/blocks/godrays/lib/shaders.iife.js create mode 100644 registry/blocks/godrays/registry-item.json create mode 100644 registry/blocks/godrays/source/README.md create mode 100644 registry/blocks/godrays/source/build.mjs create mode 100644 registry/blocks/godrays/source/driver.js create mode 100644 registry/blocks/godrays/source/package-lock.json create mode 100644 registry/blocks/godrays/source/package.json create mode 100644 registry/blocks/liquid-metal/lib/shaders.THIRD-PARTY-LICENSES.txt create mode 100644 registry/blocks/liquid-metal/lib/shaders.iife.js create mode 100644 registry/blocks/liquid-metal/liquid-metal.html create mode 100644 registry/blocks/liquid-metal/registry-item.json create mode 100644 registry/blocks/marble/lib/shaders.THIRD-PARTY-LICENSES.txt create mode 100644 registry/blocks/marble/lib/shaders.iife.js create mode 100644 registry/blocks/marble/marble.html create mode 100644 registry/blocks/marble/registry-item.json create mode 100644 registry/blocks/mesh-gradient/lib/shaders.THIRD-PARTY-LICENSES.txt create mode 100644 registry/blocks/mesh-gradient/lib/shaders.iife.js create mode 100644 registry/blocks/mesh-gradient/mesh-gradient.html create mode 100644 registry/blocks/mesh-gradient/registry-item.json create mode 100644 registry/blocks/nebula/lib/shaders.THIRD-PARTY-LICENSES.txt create mode 100644 registry/blocks/nebula/lib/shaders.iife.js create mode 100644 registry/blocks/nebula/nebula.html create mode 100644 registry/blocks/nebula/registry-item.json diff --git a/registry/blocks/flowing-gradient/flowing-gradient.html b/registry/blocks/flowing-gradient/flowing-gradient.html new file mode 100644 index 00000000000..20c01c6d021 --- /dev/null +++ b/registry/blocks/flowing-gradient/flowing-gradient.html @@ -0,0 +1,31 @@ + + + + + + + +
+ +
+ + + diff --git a/registry/blocks/flowing-gradient/lib/shaders.THIRD-PARTY-LICENSES.txt b/registry/blocks/flowing-gradient/lib/shaders.THIRD-PARTY-LICENSES.txt new file mode 100644 index 00000000000..1791b74a912 --- /dev/null +++ b/registry/blocks/flowing-gradient/lib/shaders.THIRD-PARTY-LICENSES.txt @@ -0,0 +1,314 @@ +================================================================ +shaders 4.0.0 +================================================================ + +MIT License + +Copyright (c) 2026 Shader Effects Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +================================================================ +typegpu 0.12.3 +================================================================ + +MIT License + +Copyright (c) 2025 Software Mansion + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +================================================================ +tinyest 0.3.4 +================================================================ + +MIT License + +Copyright (c) 2025 Software Mansion + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +================================================================ +typed-binary 4.3.3 +================================================================ + +MIT License + +Copyright (c) 2022 Iwo Plaza + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +================================================================ +tsover-runtime 0.0.7 +================================================================ + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + diff --git a/registry/blocks/flowing-gradient/lib/shaders.iife.js b/registry/blocks/flowing-gradient/lib/shaders.iife.js new file mode 100644 index 00000000000..8924644b2c1 --- /dev/null +++ b/registry/blocks/flowing-gradient/lib/shaders.iife.js @@ -0,0 +1,266 @@ +(()=>{var mi=class extends Error{reason;constructor(e,t,s){super(t??`[gpu] WebGPU unavailable (${e})`),this.name="GpuUnavailableError",this.reason=e,s?.cause!==void 0&&(this.cause=s.cause)}};function I1(e){return!!e&&typeof e=="object"&&e.name==="GpuUnavailableError"&&typeof e.reason=="string"}var rh=null;function v_(){if(rh!==null)return rh;let e=globalThis.__SHADERS_DEBUG__;if(e!=null)return!!e;try{if(typeof localStorage<"u"&&localStorage.getItem("shaders:debug")==="1")return!0}catch{}return!1}var oh=!1;function nh(){oh=!0}function y_(...e){(v_()||oh)&&console.error(...e)}function Ma(...e){v_()&&console.warn(...e)}function Is(...e){v_()&&console.error(...e)}function ah(){return typeof navigator<"u"&&!!navigator.gpu}var f_=null;function ih(){return f_||(f_=(async()=>{if(!ah())return{supported:!1,reason:"unsupported"};try{return await navigator.gpu.requestAdapter({powerPreference:"high-performance"})?{supported:!0}:{supported:!1,reason:"no-adapter"}}catch(e){return Is("[gpu] adapter probe threw:",e),{supported:!1,reason:"no-adapter"}}})(),f_)}var zT=new Set(["unsupported","no-adapter","no-device","out-of-memory","gpu-error"]),L1=null;function dh(e){L1||!zT.has(e)||(L1=e)}function ch(){return L1}function ms(e,t){let s=e.length;Array.isArray(e[0])||(e=[e]),Array.isArray(t[0])||(t=t.map(i=>[i]));let r=t[0].length,o=t[0].map((i,d)=>t.map(c=>c[d])),n=e.map(i=>o.map(d=>{let c=0;if(!Array.isArray(i)){for(let _ of d)c+=i*_;return c}for(let _=0;_i[0]):n}function Rd(e){return On(e)==="string"}function On(e){return(Object.prototype.toString.call(e).match(/^\[object\s+(.*?)\]$/)[1]||"").toLowerCase()}function P_(e,{precision:t,unit:s}){return Vn(e)?"none":i0(e,t)+(s??"")}function Vn(e){return Number.isNaN(e)||e instanceof Number&&e?.none}function Cs(e){return Vn(e)?0:e}function i0(e,t){if(e===0)return 0;let s=~~e,r=0;s&&t&&(r=~~Math.log10(Math.abs(s))+1);let o=10**(t-r);return Math.floor(e*o+.5)/o}var GT={deg:1,grad:.9,rad:180/Math.PI,turn:360};function d0(e){if(!e)return;e=e.trim();let t=/^([a-z]+)\((.+?)\)$/i,s=/^-?[\d.]+$/,r=/%|deg|g?rad|turn$/,o=/\/?\s*(none|[-\w.]+(?:%|deg|g?rad|turn)?)/g,n=e.match(t);if(n){let i=[];return n[2].replace(o,(d,c)=>{let _=c.match(r),u=c;if(_){let m=_[0],p=u.slice(0,-m.length);m==="%"?(u=new Number(p/100),u.type=""):(u=new Number(p*GT[m]),u.type="",u.unit=m)}else s.test(u)?(u=new Number(u),u.type=""):u==="none"&&(u=new Number(NaN),u.none=!0);d.startsWith("/")&&(u=u instanceof Number?u:new Number(u),u.alpha=!0),typeof u=="object"&&u instanceof Number&&(u.raw=c),i.push(u)}),{name:n[1].toLowerCase(),rawName:n[1],rawArgs:n[2],args:i}}}function c0(e){return e[e.length-1]}function $d(e,t,s){return isNaN(e)?t:isNaN(t)?e:e+(t-e)*s}function _0(e,t,s){return(s-e)/(t-e)}function rm(e,t,s){return $d(t[0],t[1],_0(e[0],e[1],s))}function l0(e){return e.map(t=>t.split("|").map(s=>{s=s.trim();let r=s.match(/^(<[a-z]+>)\[(-?[.\d]+),\s*(-?[.\d]+)\]?$/);if(r){let o=new String(r[1]);return o.range=[+r[2],+r[3]],o}return s}))}function u0(e,t,s){return Math.max(Math.min(s,t),e)}function U_(e,t){return Math.sign(e)===Math.sign(t)?e:-e}function qo(e,t){return U_(Math.abs(e)**t,e)}function om(e,t){return t===0?0:e/t}function m0(e,t,s=0,r=e.length){for(;s>1;e[o]","",""]);function _h(e,t,s,r){return Object.entries(e.coords).map(([o,n],i)=>{let d=t.coordGrammar[i],c=r[i],_=c?.type,u;if(c.none?u=d.find(y=>IT.has(y)):u=d.find(y=>y==_),!u){let y=n.name||o;throw new TypeError(`${_??c.raw} not allowed for ${y} in ${s}()`)}let m=u.range;_===""&&(m||=[0,1]);let p=n.range||n.refRange;return m&&p&&(r[i]=rm(m,p,r[i])),u})}function p0(e,{meta:t}={}){let s={str:String(e)?.trim()};if(Nn.run("parse-start",s),s.color)return s.color;if(s.parsed=d0(s.str),s.parsed){let r=s.parsed.name;if(r==="color"){let o=s.parsed.args.shift(),n=o.startsWith("--")?o.substring(2):`--${o}`,i=[o,n],d=s.parsed.rawArgs.indexOf("/")>0?s.parsed.args.pop():1;for(let u of qe.all){let m=u.getFormat("color");if(m&&(i.includes(m.id)||m.ids?.filter(p=>i.includes(p)).length)){let p=Object.keys(u.coords).map((h,g)=>s.parsed.args[g]||0),y;return m.coordGrammar&&(y=_h(u,m,"color",p)),t&&Object.assign(t,{formatId:"color",types:y}),m.id.startsWith("--")&&!o.startsWith("--")&&to.warn(`${u.name} is a non-standard space and not currently supported in the CSS spec. Use prefixed color(${m.id}) instead of color(${o}).`),o.startsWith("--")&&!m.id.startsWith("--")&&to.warn(`${u.name} is a standard space and supported in the CSS spec. Use color(${m.id}) instead of prefixed color(${o}).`),{spaceId:u.id,coords:p,alpha:d}}}let c="",_=o in qe.registry?o:n;if(_ in qe.registry){let u=qe.registry[_].formats?.color?.id;u&&(c=`Did you mean color(${u})?`)}throw new TypeError(`Cannot parse color(${o}). `+(c||"Missing a plugin?"))}else for(let o of qe.all){let n=o.getFormat(r);if(n&&n.type==="function"){let i=1;(n.lastAlpha||c0(s.parsed.args).alpha)&&(i=s.parsed.args.pop());let d=s.parsed.args,c;return n.coordGrammar&&(c=_h(o,n,r,d)),t&&Object.assign(t,{formatId:n.name,types:c}),{spaceId:o.id,coords:d,alpha:i}}}}else for(let r of qe.all)for(let o in r.formats){let n=r.formats[o];if(n.type!=="custom"||n.test&&!n.test(s.str))continue;let i=n.parse(s.str);if(i)return i.alpha??=1,t&&(t.formatId=o),i}throw new TypeError(`Could not parse ${e} as a color. Missing a plugin?`)}function yt(e){if(Array.isArray(e))return e.map(yt);if(!e)throw new TypeError("Empty color reference");Rd(e)&&(e=p0(e));let t=e.space||e.spaceId;return t instanceof qe||(e.space=qe.get(t)),e.alpha===void 0&&(e.alpha=1),e}var DT=75e-6,qe=class Yo{constructor(t){this.id=t.id,this.name=t.name,this.base=t.base?Yo.get(t.base):null,this.aliases=t.aliases,this.base&&(this.fromBase=t.fromBase,this.toBase=t.toBase);let s=t.coords??this.base.coords;for(let r in s)"name"in s[r]||(s[r].name=r);this.coords=s,this.white=j1(t.white??this.base.white??"D65"),this.formats=t.formats??{};for(let r in this.formats){let o=this.formats[r];o.type||="function",o.name||=r}this.formats.color?.id||(this.formats.color={...this.formats.color??{},id:t.cssId||this.id}),t.gamutSpace?this.gamutSpace=t.gamutSpace==="self"?this:Yo.get(t.gamutSpace):this.isPolar?this.gamutSpace=this.base:this.gamutSpace=this,this.gamutSpace.isUnbounded&&(this.inGamut=(r,o)=>!0),this.referred=t.referred,Object.defineProperty(this,"path",{value:FT(this).reverse(),writable:!1,enumerable:!0,configurable:!0}),Nn.run("colorspace-init-end",this)}inGamut(t,{epsilon:s=DT}={}){if(!this.equals(this.gamutSpace))return t=this.to(this.gamutSpace,t),this.gamutSpace.inGamut(t,{epsilon:s});let r=Object.values(this.coords);return t.every((o,n)=>{let i=r[n];if(i.type!=="angle"&&i.range){if(Number.isNaN(o))return!0;let[d,c]=i.range;return(d===void 0||o>=d-s)&&(c===void 0||o<=c+s)}return!0})}get isUnbounded(){return Object.values(this.coords).every(t=>!("range"in t))}get cssId(){return this.formats?.color?.id||this.id}get isPolar(){for(let t in this.coords)if(this.coords[t].type==="angle")return!0;return!1}getFormat(t){if(typeof t=="object")return t=lh(t,this),t;let s;return t==="default"?s=Object.values(this.formats)[0]:s=this.formats[t],s?(s=lh(s,this),s):null}equals(t){return t?this===t||this.id===t||this.id===t.id:!1}to(t,s){if(arguments.length===1){let d=yt(t);[t,s]=[d.space,d.coords]}if(t=Yo.get(t),this.equals(t))return s;s=s.map(d=>Number.isNaN(d)?0:d);let r=this.path,o=t.path,n,i;for(let d=0;di;d--)s=r[d].toBase(s);for(let d=i+1;d=0){let c=Object.entries(o.coords)[n];if(c)return{space:o,id:c[0],index:n,...c[1]}}o=Yo.get(o);let i=n.toLowerCase(),d=0;for(let c in o.coords){let _=o.coords[c];if(c.toLowerCase()===i||_.name?.toLowerCase()===i)return{space:o,id:c,index:d,..._};d++}throw new TypeError(`No "${n}" coordinate found in ${o.name}. Its coordinates are: ${Object.keys(o.coords).join(", ")}`)}static DEFAULT_FORMAT={type:"functions",name:"color"}};function FT(e){let t=[e];for(let s=e;s=s.base;)t.push(s);return t}function lh(e,{coords:t}={}){if(e.coords&&!e.coordGrammar){e.type||="function",e.name||="color",e.coordGrammar=l0(e.coords);let s=Object.entries(t).map(([r,o],n)=>{let i=e.coordGrammar[n][0],d=o.range||o.refRange,c=i.range,_="";return i==""?(c=[0,100],_="%"):i==""&&(_="deg"),{fromRange:d,toRange:c,suffix:_}});e.serializeCoords=(r,o)=>r.map((n,i)=>{let{fromRange:d,toRange:c,suffix:_}=s[i];return d&&c&&(n=rm(d,c,n)),n=P_(n,{precision:o,unit:_}),n})}return e}var ar=new qe({id:"xyz-d65",name:"XYZ D65",coords:{x:{name:"X"},y:{name:"Y"},z:{name:"Z"}},white:"D65",formats:{color:{ids:["xyz-d65","xyz"]}},aliases:["xyz"]}),Dr=class extends qe{constructor(e){e.coords||(e.coords={r:{range:[0,1],name:"Red"},g:{range:[0,1],name:"Green"},b:{range:[0,1],name:"Blue"}}),e.base||(e.base=ar),e.toXYZ_M&&e.fromXYZ_M&&(e.toBase??=t=>{let s=ms(e.toXYZ_M,t);return this.white!==this.base.white&&(s=E_(this.white,this.base.white,s)),s},e.fromBase??=t=>(t=E_(this.base.white,this.white,t),ms(e.fromXYZ_M,t))),e.referred??="display",super(e)}};function zd(e,t){return e=yt(e),!t||e.space.equals(t)?e.coords.slice():(t=qe.get(t),t.from(e))}function Jr(e,t){e=yt(e);let{space:s,index:r}=qe.resolveCoord(t,e.space);return zd(e,s)[r]}function nm(e,t,s){return e=yt(e),t=qe.get(t),e.coords=t.to(e.space,s),e}nm.returns="color";function pn(e,t,s){if(e=yt(e),arguments.length===2&&On(arguments[1])==="object"){let r=arguments[1];for(let o in r)pn(e,o,r[o])}else{typeof s=="function"&&(s=s(Jr(e,t)));let{space:r,index:o}=qe.resolveCoord(t,e.space),n=zd(e,r);n[o]=s,nm(e,r,n)}return e}pn.returns="color";var am=new qe({id:"xyz-d50",name:"XYZ D50",white:"D50",base:ar,fromBase:e=>E_(ar.white,"D50",e),toBase:e=>E_("D50",ar.white,e)}),BT=216/24389,uh=24/116,h_=24389/27,D1=Tr.D50,eo=new qe({id:"lab",name:"Lab",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:D1,base:am,fromBase(e){let t=e.map((s,r)=>s/D1[r]).map(s=>s>BT?Math.cbrt(s):(h_*s+16)/116);return[116*t[1]-16,500*(t[0]-t[1]),200*(t[1]-t[2])]},toBase(e){let t=[];return t[1]=(e[0]+16)/116,t[0]=e[1]/500+t[1],t[2]=t[1]-e[2]/200,[t[0]>uh?Math.pow(t[0],3):(116*t[0]-16)/h_,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/h_,t[2]>uh?Math.pow(t[2],3):(116*t[2]-16)/h_].map((s,r)=>s*D1[r])},formats:{lab:{coords:[" | "," | [-1,1]"," | [-1,1]"]}}});function Xo(e){return(e%360+360)%360}function WT(e,t){if(e==="raw")return t;let[s,r]=t.map(Xo),o=r-s;return e==="increasing"?o<0&&(r+=360):e==="decreasing"?o>0&&(s+=360):e==="longer"?-1800?s+=360:r+=360):e==="shorter"&&(o>180?s+=360:o<-180&&(r+=360)),[s,r]}var Ud=new qe({id:"lch",name:"LCH",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,150],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:eo,fromBase(e){let[t,s,r]=e,o,n=.02;return Math.abs(s) | "," | "," | "]}}}),mh=25**7,k_=Math.PI,ph=180/k_,pi=k_/180;function fh(e){let t=e*e;return t*t*t*e}function f0(e,t,{kL:s=1,kC:r=1,kH:o=1}={}){[e,t]=yt([e,t]);let[n,i,d]=eo.from(e),c=Ud.from(eo,[n,i,d])[1],[_,u,m]=eo.from(t),p=Ud.from(eo,[_,u,m])[1];c<0&&(c=0),p<0&&(p=0);let y=fh((c+p)/2),h=.5*(1-Math.sqrt(y/(y+mh))),g=(1+h)*i,w=(1+h)*u,S=Math.sqrt(g**2+d**2),T=Math.sqrt(w**2+m**2),A=g===0&&d===0?0:Math.atan2(d,g),P=w===0&&m===0?0:Math.atan2(m,w);A<0&&(A+=2*k_),P<0&&(P+=2*k_),A*=ph,P*=ph;let U=_-n,D=T-S,O=P-A,L=A+P,G=Math.abs(O),W;S*T===0?W=0:G<=180?W=O:O>180?W=O-360:O<-180?W=O+360:to.warn("the unthinkable has happened");let K=2*Math.sqrt(T*S)*Math.sin(W*pi/2),Q=(n+_)/2,te=(S+T)/2,ee=fh(te),he;S*T===0?he=L:G<=180?he=L/2:L<360?he=(L+360)/2:he=(L-360)/2;let Ee=(Q-50)**2,Te=1+.015*Ee/Math.sqrt(20+Ee),Ue=1+.045*te,Me=1;Me-=.17*Math.cos((he-30)*pi),Me+=.24*Math.cos(2*he*pi),Me+=.32*Math.cos((3*he+6)*pi),Me-=.2*Math.cos((4*he-63)*pi);let Pe=1+.015*te*Me,Re=30*Math.exp(-1*((he-275)/25)**2),de=2*Math.sqrt(ee/(ee+mh)),je=-1*Math.sin(2*Re*pi)*de,fe=(U/(s*Te))**2;return fe+=(D/(r*Ue))**2,fe+=(K/(o*Pe))**2,fe+=je*(D/(r*Ue))*(K/(o*Pe)),Math.sqrt(fe)}var OT=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],VT=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],NT=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],qT=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],hi=new qe({id:"oklab",name:"Oklab",coords:{l:{refRange:[0,1],name:"Lightness"},a:{refRange:[-.4,.4]},b:{refRange:[-.4,.4]}},white:"D65",base:ar,fromBase(e){return ms(NT,ms(OT,e).map(t=>Math.cbrt(t)))},toBase(e){return ms(VT,ms(qT,e).map(t=>t**3))},formats:{oklab:{coords:[" | "," | [-1,1]"," | [-1,1]"]}}});function K1(e,t){[e,t]=yt([e,t]);let[s,r,o]=hi.from(e),[n,i,d]=hi.from(t),c=s-n,_=r-i,u=o-d;return Math.sqrt(c**2+_**2+u**2)}var XT=75e-6;function Ea(e,t,{epsilon:s=XT}={}){e=yt(e),t||(t=e.space),t=qe.get(t);let r=e.coords;return t!==e.space&&(r=t.from(e)),t.inGamut(r,{epsilon:s})}function xi(e){return{space:e.space,coords:e.coords.slice(),alpha:e.alpha}}function v0(e,t,s="lab"){s=qe.get(s);let r=s.from(e),o=s.from(t);return Math.sqrt(r.reduce((n,i,d)=>{let c=o[d];return isNaN(i)||isNaN(c)?n:n+(c-i)**2},0))}function HT(e,t){return v0(e,t,"lab")}var vh=Math.PI/180;function jT(e,t,{l:s=2,c:r=1}={}){[e,t]=yt([e,t]);let[o,n,i]=eo.from(e),[,d,c]=Ud.from(eo,[o,n,i]),[_,u,m]=eo.from(t),p=Ud.from(eo,[_,u,m])[1];d<0&&(d=0),p<0&&(p=0);let y=o-_,h=d-p,g=n-u,w=i-m,S=g**2+w**2-h**2,T=.511;o>=16&&(T=.040975*o/(1+.01765*o));let A=.0638*d/(1+.0131*d)+.638,P;Number.isNaN(c)&&(c=0),c>=164&&c<=345?P=.56+Math.abs(.2*Math.cos((c+168)*vh)):P=.36+Math.abs(.4*Math.cos((c+35)*vh));let U=Math.pow(d,4),D=Math.sqrt(U/(U+1900)),O=A*(D*P+1-D),L=(y/(s*T))**2;return L+=(h/(r*A))**2,L+=S/O**2,Math.sqrt(L)}var yh=203,im=new qe({id:"xyz-abs-d65",cssId:"--xyz-abs-d65",name:"Absolute XYZ D65",coords:{x:{refRange:[0,9504.7],name:"Xa"},y:{refRange:[0,1e4],name:"Ya"},z:{refRange:[0,10888.3],name:"Za"}},base:ar,fromBase(e){return e.map(t=>Math.max(t*yh,0))},toBase(e){return e.map(t=>Math.max(t/yh,0))}}),x_=1.15,g_=.66,hh=2610/2**14,KT=2**14/2610,xh=3424/2**12,gh=2413/2**7,bh=2392/2**7,ZT=1.7*2523/2**5,wh=2**5/(1.7*2523),b_=-.56,F1=16295499532821565e-27,QT=[[.41478972,.579999,.014648],[-.20151,1.120649,.0531008],[-.0166008,.2648,.6684799]],JT=[[1.9242264357876067,-1.0047923125953657,.037651404030618],[.35031676209499907,.7264811939316552,-.06538442294808501],[-.09098281098284752,-.3127282905230739,1.5227665613052603]],eS=[[.5,.5,0],[3.524,-4.066708,.542708],[.199076,1.096799,-1.295875]],tS=[[1,.1386050432715393,.05804731615611886],[.9999999999999999,-.1386050432715393,-.05804731615611886],[.9999999999999998,-.09601924202631895,-.8118918960560388]],y0=new qe({id:"jzazbz",name:"Jzazbz",coords:{jz:{refRange:[0,1],name:"Jz"},az:{refRange:[-.5,.5]},bz:{refRange:[-.5,.5]}},base:im,fromBase(e){let[t,s,r]=e,[o,n,i]=ms(eS,ms(QT,[x_*t-(x_-1)*r,g_*s-(g_-1)*t,r]).map(function(d){return((xh+gh*(d/1e4)**hh)/(1+bh*(d/1e4)**hh))**ZT}));return[(1+b_)*o/(1+b_*o)-F1,n,i]},toBase(e){let[t,s,r]=e,[o,n,i]=ms(JT,ms(tS,[(t+F1)/(1+b_-b_*(t+F1)),s,r]).map(function(c){return 1e4*((xh-c**wh)/(bh*c**wh-gh))**KT})),d=(o+(x_-1)*i)/x_;return[d,(n+(g_-1)*d)/g_,i]},formats:{color:{coords:[" | "," | [-1,1]"," | [-1,1]"]}}}),Z1=new qe({id:"jzczhz",name:"JzCzHz",coords:{jz:{refRange:[0,1],name:"Jz"},cz:{refRange:[0,1],name:"Chroma"},hz:{refRange:[0,360],type:"angle",name:"Hue"}},base:y0,fromBase(e){let[t,s,r]=e,o,n=2e-4;return Math.abs(s){let r=qo(t*Math.abs(s)*.01,b0);return 400*U_(r,s)/(r+27.13)})}function yS(e,t){let s=100/t*27.13**Ah;return e.map(r=>{let o=Math.abs(r);return U_(s*qo(o/(400-o),Ah),r)})}function hS(e){let t=Xo(e);t<=Pa.h[0]&&(t+=360);let s=m0(Pa.h,t)-1,[r,o]=Pa.h.slice(s,s+2),[n,i]=Pa.e.slice(s,s+2),d=Pa.H[s],c=(t-r)/n;return d+100*c/(c+(o-t)/i)}function xS(e){let t=(e%400+400)%400,s=Math.floor(.01*t);t=t%100;let[r,o]=Pa.h.slice(s,s+2),[n,i]=Pa.e.slice(s,s+2);return Xo((t*(i*r-n*o)-100*r*i)/(t*(i-n)-100*i))}function S0(e,t,s,r,o){let n={};n.discounting=o,n.refWhite=e,n.surround=r;let i=e.map(y=>y*100);n.la=t,n.yb=s;let d=i[1],c=ms(w0,i);r=fS[n.surround];let _=r[0];n.c=r[1],n.nc=r[2];let u=(1/(5*n.la+1))**4;n.fl=u*n.la+.1*(1-u)*(1-u)*Math.cbrt(5*n.la),n.flRoot=n.fl**.25,n.n=n.yb/d,n.z=1.48+Math.sqrt(n.n),n.nbb=.725*n.n**-.2,n.ncb=n.nbb;let m=o?1:Math.max(Math.min(_*(1-1/3.6*Math.exp((-n.la-42)/92)),1),0);n.dRgb=c.map(y=>$d(1,d/y,m)),n.dRgbInv=n.dRgb.map(y=>1/y);let p=T0(c.map((y,h)=>y*n.dRgb[h]),n.fl);return n.aW=n.nbb*(2*p[0]+p[1]+.05*p[2]),n}var Ph=S0(uS,64/Math.PI*.2,20,"average",!1);function J1(e,t){if(!(e.J!==void 0^e.Q!==void 0))throw new Error("Conversion requires one and only one: 'J' or 'Q'");if(!(e.C!==void 0^e.M!==void 0^e.s!==void 0))throw new Error("Conversion requires one and only one: 'C', 'M' or 's'");if(!(e.h!==void 0^e.H!==void 0))throw new Error("Conversion requires one and only one: 'h' or 'H'");if(e.J===0||e.Q===0)return[0,0,0];let s=0;e.h!==void 0?s=Xo(e.h)*Mh:s=xS(e.H)*Mh;let r=Math.cos(s),o=Math.sin(s),n=0;e.J!==void 0?n=qo(e.J,1/2)*.1:e.Q!==void 0&&(n=.25*t.c*e.Q/((t.aW+4)*t.flRoot));let i=0;e.C!==void 0?i=e.C/n:e.M!==void 0?i=e.M/t.flRoot/n:e.s!==void 0&&(i=4e-4*e.s**2*(t.aW+4)/t.c);let d=qo(i*Math.pow(1.64-Math.pow(.29,t.n),-.73),10/9),c=.25*(Math.cos(s+2)+3.8),_=t.aW*qo(n,2/t.c/t.z),u=5e4/13*t.nc*t.ncb*c,m=_/t.nbb,p=23*(m+.305)*om(d,23*u+d*(11*r+108*o));return ms(mS,yS(ms(pS,[m,p*r,p*o]).map(y=>y*1/1403),t.fl).map((y,h)=>y*t.dRgbInv[h])).map(y=>y/100)}function A0(e,t){let s=T0(ms(w0,e.map(g=>g*100)).map((g,w)=>g*t.dRgb[w]),t.fl),r=s[0]+(-12*s[1]+s[2])/11,o=(s[0]+s[1]-2*s[2])/9,n=(Math.atan2(o,r)%B1+B1)%B1,i=.25*(Math.cos(n+2)+3.8),d=qo(5e4/13*t.nc*t.ncb*om(i*Math.sqrt(r**2+o**2),s[0]+s[1]+1.05*s[2]+.305),.9)*Math.pow(1.64-Math.pow(.29,t.n),.73),c=qo(t.nbb*(2*s[0]+s[1]+.05*s[2])/t.aW,.5*t.c*t.z),_=100*qo(c,2),u=4/t.c*c*(t.aW+4)*t.flRoot,m=d*c,p=m*t.flRoot,y=Xo(n*vS),h=hS(y);return{J:_,C:m,h:y,s:50*qo(t.c*d/(t.aW+4),1/2),Q:u,M:p,H:h}}var gS=new qe({id:"cam16-jmh",cssId:"--cam16-jmh",name:"CAM16-JMh",coords:{j:{refRange:[0,100],name:"J"},m:{refRange:[0,105],name:"Colorfulness"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:ar,fromBase(e){let t=A0(e,Ph);return[t.J,t.M,t.h]},toBase(e){return J1({J:e[0],M:e[1],h:e[2]},Ph)}}),bS=Tr.D65,wS=216/24389,M0=24389/27;function TS(e){return 116*(e>wS?Math.cbrt(e):(M0*e+16)/116)-16}function em(e){return e>8?Math.pow((e+16)/116,3):e/M0}function SS(e,t){let[s,r,o]=e,n=[],i=0;if(o===0)return[0,0,0];let d=em(o);o>0?i=.00379058511492914*o**2+.608983189401032*o+.9155088574762233:i=9514440756550361e-21*o**2+.08693057439788597*o-21.928975842194614;let c=2e-12,_=15,u=0,m=1/0;for(;u<=_;){n=J1({J:i,C:r,h:s},t);let p=Math.abs(n[1]-d);if(p | "," | "," | "]}}}),MS=Math.PI/180,Eh=[1,.007,.0228];function kh(e){e[1]<0&&(e=Cd.fromBase(Cd.toBase(e)));let t=Math.log(Math.max(1+Eh[2]*e[1]*dm.flRoot,1))/Eh[2],s=e[0]*MS,r=t*Math.cos(s),o=t*Math.sin(s);return[e[2],r,o]}function PS(e,t){[e,t]=yt([e,t]);let[s,r,o]=kh(Cd.from(e)),[n,i,d]=kh(Cd.from(t));return Math.sqrt((s-n)**2+(r-i)**2+(o-d)**2)}var gi={deltaE76:HT,deltaECMC:jT,deltaE2000:f0,deltaEJz:sS,deltaEITP:lS,deltaEOK:K1,deltaEHCT:PS};function ES(e){let t=e?Math.floor(Math.log10(Math.abs(e))):0;return Math.max(parseFloat(`1e${t-2}`),1e-6)}var $h={hct:{method:"hct.c",jnd:2,deltaEMethod:"hct",blackWhiteClamp:{}},"hct-tonal":{method:"hct.c",jnd:0,deltaEMethod:"hct",blackWhiteClamp:{channel:"hct.t",min:0,max:100}}};function qn(e,{method:t=to.gamut_mapping,space:s=void 0,deltaEMethod:r="",jnd:o=2,blackWhiteClamp:n={}}={}){if(e=yt(e),Rd(arguments[1])?s=arguments[1]:s||(s=e.space),s=qe.get(s),Ea(e,s,{epsilon:0}))return e;let i;if(t==="css")i=kS(e,{space:s});else{if(t!=="clip"&&!Ea(e,s)){Object.prototype.hasOwnProperty.call($h,t)&&({method:t,jnd:o,deltaEMethod:r,blackWhiteClamp:n}=$h[t]);let d=f0;if(r!==""){for(let _ in gi)if("deltae"+r.toLowerCase()===_.toLowerCase()){d=gi[_];break}}let c=qn(us(e,s),{method:"clip",space:s});if(d(e,c)>o){if(Object.keys(n).length===3){let S=qe.resolveCoord(n.channel),T=Jr(us(e,S.space),S.id);if(Vn(T)&&(T=0),T>=n.max)return us({space:"xyz-d65",coords:Tr.D65},e.space);if(T<=n.min)return us({space:"xyz-d65",coords:[0,0,0]},e.space)}let _=qe.resolveCoord(t),u=_.space,m=_.id,p=us(e,u);p.coords.forEach((S,T)=>{Vn(S)&&(p.coords[T]=0)});let y=(_.range||_.refRange)[0],h=ES(o),g=y,w=Jr(p,m);for(;w-g>h;){let S=xi(p);S=qn(S,{space:s,method:"clip"}),d(p,S)-oc.range||[]);i.coords=i.coords.map((c,_)=>{let[u,m]=d[_];return u!==void 0&&(c=Math.max(u,c)),m!==void 0&&(c=Math.min(c,m)),c})}}return s!==e.space&&(i=us(i,e.space)),e.coords=i.coords,e}qn.returns="color";var Uh={WHITE:{space:hi,coords:[1,0,0]},BLACK:{space:hi,coords:[0,0,0]}};function kS(e,{space:t}={}){e=yt(e),t||(t=e.space),t=qe.get(t);let o=qe.get("oklch");if(t.isUnbounded)return us(e,t);let n=us(e,o),i=n.coords[0];if(i>=1){let h=us(Uh.WHITE,t);return h.alpha=e.alpha,us(h,t)}if(i<=0){let h=us(Uh.BLACK,t);return h.alpha=e.alpha,us(h,t)}if(Ea(n,t,{epsilon:0}))return us(n,t);function d(h){let g=us(h,t),w=Object.values(t.coords);return g.coords=g.coords.map((S,T)=>{if("range"in w[T]){let[A,P]=w[T].range;return u0(A,S,P)}return S}),g}let c=0,_=n.coords[1],u=!0,m=xi(n),p=d(m),y=K1(p,m);if(y<.02)return p;for(;_-c>1e-4;){let h=(c+_)/2;if(m.coords[1]=h,u&&Ea(m,t,{epsilon:0}))c=h;else if(p=d(m),y=K1(p,m),y<.02){if(.02-y<1e-4)break;u=!1,c=h}else _=h}return p}function us(e,t,{inGamut:s}={}){e=yt(e),t=qe.get(t);let r=t.from(e),o={space:t,coords:r,alpha:e.alpha};return s&&(o=qn(o,s===!0?void 0:s)),o}us.returns="color";function kd(e,{precision:t=to.precision,format:s="default",inGamut:r=!0,...o}={}){let n;e=yt(e);let i=s;s=e.space.getFormat(s)??e.space.getFormat("default")??qe.DEFAULT_FORMAT;let d=e.coords.slice();if(r||=s.toGamut,r&&!Ea(e)&&(d=qn(xi(e),r===!0?void 0:r).coords),s.type==="custom")if(o.precision=t,s.serialize)n=s.serialize(d,e.alpha,o);else throw new TypeError(`format ${i} can only be used to parse colors, not for serialization`);else{let c=s.name||"color";s.serializeCoords?d=s.serializeCoords(d,t):t!==null&&(d=d.map(p=>P_(p,{precision:t})));let _=[...d];if(c==="color"){let p=s.id||s.ids?.[0]||e.space.id;_.unshift(p)}let u=e.alpha;t!==null&&(u=P_(u,{precision:t}));let m=e.alpha>=1||s.noAlpha?"":`${s.commas?",":" /"} ${u}`;n=`${c}(${_.join(s.commas?", ":" ")}${m})`}return n}var C_=new Dr({id:"rec2020-linear",cssId:"--rec2020-linear",name:"Linear REC.2020",white:"D65",toXYZ_M:[[.6369580483012914,.14461690358620832,.1688809751641721],[.2627002120112671,.6779980715188708,.05930171646986196],[0,.028072693049087428,1.060985057710791]],fromXYZ_M:[[1.716651187971268,-.355670783776392,-.25336628137366],[-.666684351832489,1.616481236634939,.0157685458139111],[.017639857445311,-.042770613257809,.942103121235474]]}),w_=1.09929682680944,Ch=.018053968510807,P0=new Dr({id:"rec2020",name:"REC.2020",base:C_,toBase(e){return e.map(function(t){return t=Ch?w_*Math.pow(t,.45)-(w_-1):4.5*t})}}),E0=new Dr({id:"p3-linear",cssId:"--display-p3-linear",name:"Linear P3",white:"D65",toXYZ_M:[[.4865709486482162,.26566769316909306,.1982172852343625],[.2289745640697488,.6917385218365064,.079286914093745],[0,.04511338185890264,1.043944368900976]],fromXYZ_M:[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]]}),$S=[[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Ds=[[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],k0=new Dr({id:"srgb-linear",name:"Linear sRGB",white:"D65",toXYZ_M:$S,fromXYZ_M:Ds}),Rh={aliceblue:[240/255,248/255,1],antiquewhite:[250/255,235/255,215/255],aqua:[0,1,1],aquamarine:[127/255,1,212/255],azure:[240/255,1,1],beige:[245/255,245/255,220/255],bisque:[1,228/255,196/255],black:[0,0,0],blanchedalmond:[1,235/255,205/255],blue:[0,0,1],blueviolet:[138/255,43/255,226/255],brown:[165/255,42/255,42/255],burlywood:[222/255,184/255,135/255],cadetblue:[95/255,158/255,160/255],chartreuse:[127/255,1,0],chocolate:[210/255,105/255,30/255],coral:[1,127/255,80/255],cornflowerblue:[100/255,149/255,237/255],cornsilk:[1,248/255,220/255],crimson:[220/255,20/255,60/255],cyan:[0,1,1],darkblue:[0,0,139/255],darkcyan:[0,139/255,139/255],darkgoldenrod:[184/255,134/255,11/255],darkgray:[169/255,169/255,169/255],darkgreen:[0,100/255,0],darkgrey:[169/255,169/255,169/255],darkkhaki:[189/255,183/255,107/255],darkmagenta:[139/255,0,139/255],darkolivegreen:[85/255,107/255,47/255],darkorange:[1,140/255,0],darkorchid:[153/255,50/255,204/255],darkred:[139/255,0,0],darksalmon:[233/255,150/255,122/255],darkseagreen:[143/255,188/255,143/255],darkslateblue:[72/255,61/255,139/255],darkslategray:[47/255,79/255,79/255],darkslategrey:[47/255,79/255,79/255],darkturquoise:[0,206/255,209/255],darkviolet:[148/255,0,211/255],deeppink:[1,20/255,147/255],deepskyblue:[0,191/255,1],dimgray:[105/255,105/255,105/255],dimgrey:[105/255,105/255,105/255],dodgerblue:[30/255,144/255,1],firebrick:[178/255,34/255,34/255],floralwhite:[1,250/255,240/255],forestgreen:[34/255,139/255,34/255],fuchsia:[1,0,1],gainsboro:[220/255,220/255,220/255],ghostwhite:[248/255,248/255,1],gold:[1,215/255,0],goldenrod:[218/255,165/255,32/255],gray:[128/255,128/255,128/255],green:[0,128/255,0],greenyellow:[173/255,1,47/255],grey:[128/255,128/255,128/255],honeydew:[240/255,1,240/255],hotpink:[1,105/255,180/255],indianred:[205/255,92/255,92/255],indigo:[75/255,0,130/255],ivory:[1,1,240/255],khaki:[240/255,230/255,140/255],lavender:[230/255,230/255,250/255],lavenderblush:[1,240/255,245/255],lawngreen:[124/255,252/255,0],lemonchiffon:[1,250/255,205/255],lightblue:[173/255,216/255,230/255],lightcoral:[240/255,128/255,128/255],lightcyan:[224/255,1,1],lightgoldenrodyellow:[250/255,250/255,210/255],lightgray:[211/255,211/255,211/255],lightgreen:[144/255,238/255,144/255],lightgrey:[211/255,211/255,211/255],lightpink:[1,182/255,193/255],lightsalmon:[1,160/255,122/255],lightseagreen:[32/255,178/255,170/255],lightskyblue:[135/255,206/255,250/255],lightslategray:[119/255,136/255,153/255],lightslategrey:[119/255,136/255,153/255],lightsteelblue:[176/255,196/255,222/255],lightyellow:[1,1,224/255],lime:[0,1,0],limegreen:[50/255,205/255,50/255],linen:[250/255,240/255,230/255],magenta:[1,0,1],maroon:[128/255,0,0],mediumaquamarine:[102/255,205/255,170/255],mediumblue:[0,0,205/255],mediumorchid:[186/255,85/255,211/255],mediumpurple:[147/255,112/255,219/255],mediumseagreen:[60/255,179/255,113/255],mediumslateblue:[123/255,104/255,238/255],mediumspringgreen:[0,250/255,154/255],mediumturquoise:[72/255,209/255,204/255],mediumvioletred:[199/255,21/255,133/255],midnightblue:[25/255,25/255,112/255],mintcream:[245/255,1,250/255],mistyrose:[1,228/255,225/255],moccasin:[1,228/255,181/255],navajowhite:[1,222/255,173/255],navy:[0,0,128/255],oldlace:[253/255,245/255,230/255],olive:[128/255,128/255,0],olivedrab:[107/255,142/255,35/255],orange:[1,165/255,0],orangered:[1,69/255,0],orchid:[218/255,112/255,214/255],palegoldenrod:[238/255,232/255,170/255],palegreen:[152/255,251/255,152/255],paleturquoise:[175/255,238/255,238/255],palevioletred:[219/255,112/255,147/255],papayawhip:[1,239/255,213/255],peachpuff:[1,218/255,185/255],peru:[205/255,133/255,63/255],pink:[1,192/255,203/255],plum:[221/255,160/255,221/255],powderblue:[176/255,224/255,230/255],purple:[128/255,0,128/255],rebeccapurple:[102/255,51/255,153/255],red:[1,0,0],rosybrown:[188/255,143/255,143/255],royalblue:[65/255,105/255,225/255],saddlebrown:[139/255,69/255,19/255],salmon:[250/255,128/255,114/255],sandybrown:[244/255,164/255,96/255],seagreen:[46/255,139/255,87/255],seashell:[1,245/255,238/255],sienna:[160/255,82/255,45/255],silver:[192/255,192/255,192/255],skyblue:[135/255,206/255,235/255],slateblue:[106/255,90/255,205/255],slategray:[112/255,128/255,144/255],slategrey:[112/255,128/255,144/255],snow:[1,250/255,250/255],springgreen:[0,1,127/255],steelblue:[70/255,130/255,180/255],tan:[210/255,180/255,140/255],teal:[0,128/255,128/255],thistle:[216/255,191/255,216/255],tomato:[1,99/255,71/255],turquoise:[64/255,224/255,208/255],violet:[238/255,130/255,238/255],wheat:[245/255,222/255,179/255],white:[1,1,1],whitesmoke:[245/255,245/255,245/255],yellow:[1,1,0],yellowgreen:[154/255,205/255,50/255]},zh=Array(3).fill(" | [0, 255]"),Gh=Array(3).fill("[0, 255]"),bi=new Dr({id:"srgb",name:"sRGB",base:k0,fromBase:e=>e.map(t=>{let s=t<0?-1:1,r=t*s;return r>.0031308?s*(1.055*r**(1/2.4)-.055):12.92*t}),toBase:e=>e.map(t=>{let s=t<0?-1:1,r=t*s;return r<=.04045?t/12.92:s*((r+.055)/1.055)**2.4}),formats:{rgb:{coords:zh},rgb_number:{name:"rgb",commas:!0,coords:Gh,noAlpha:!0},color:{},rgba:{coords:zh,commas:!0,lastAlpha:!0},rgba_number:{name:"rgba",commas:!0,coords:Gh},hex:{type:"custom",toGamut:!0,test:e=>/^#([a-f0-9]{3,4}){1,2}$/i.test(e),parse(e){e.length<=5&&(e=e.replace(/[a-f0-9]/gi,"$&$&"));let t=[];return e.replace(/[a-f0-9]{2}/gi,s=>{t.push(parseInt(s,16)/255)}),{spaceId:"srgb",coords:t.slice(0,3),alpha:t.slice(3)[0]}},serialize:(e,t,{collapse:s=!0}={})=>{t<1&&e.push(t),e=e.map(o=>Math.round(o*255));let r=s&&e.every(o=>o%17===0);return"#"+e.map(o=>r?(o/17).toString(16):o.toString(16).padStart(2,"0")).join("")}},keyword:{type:"custom",test:e=>/^[a-z]+$/i.test(e),parse(e){e=e.toLowerCase();let t={spaceId:"srgb",coords:null,alpha:1};if(e==="transparent"?(t.coords=Rh.black,t.alpha=0):t.coords=Rh[e],t.coords)return t}}}}),$0=new Dr({id:"p3",cssId:"display-p3",name:"P3",base:E0,fromBase:bi.fromBase,toBase:bi.toBase});to.display_space=bi;var US;if(typeof CSS<"u"&&CSS.supports)for(let e of[eo,P0,$0]){let t=kd({space:e,coords:e.getMinCoords(),alpha:1});if(CSS.supports("color",t)){to.display_space=e;break}}function CS(e,{space:t=to.display_space,...s}={}){let r=kd(e,s);if(typeof CSS>"u"||CSS.supports("color",r)||!to.display_space)r=new String(r),r.color=e;else{let o=e;if((e.coords.some(Vn)||Vn(e.alpha))&&!(US??=CSS.supports("color","hsl(none 50% 50%)"))&&(o=xi(e),o.coords=o.coords.map(Cs),o.alpha=Cs(o.alpha),r=kd(o,s),CSS.supports("color",r)))return r=new String(r),r.color=o,r;o=us(o,t),r=new String(kd(o,s)),r.color=o}return r}function RS(e,t){return e=yt(e),t=yt(t),e.space===t.space&&e.alpha===t.alpha&&e.coords.every((s,r)=>s===t.coords[r])}function Xn(e){return Jr(e,[ar,"y"])}function U0(e,t){pn(e,[ar,"y"],t)}function zS(e){Object.defineProperty(e.prototype,"luminance",{get(){return Xn(this)},set(t){U0(this,t)}})}var GS=Object.freeze({__proto__:null,getLuminance:Xn,register:zS,setLuminance:U0});function YS(e,t){e=yt(e),t=yt(t);let s=Math.max(Xn(e),0),r=Math.max(Xn(t),0);return r>s&&([s,r]=[r,s]),(s+.05)/(r+.05)}var LS=.56,IS=.57,DS=.62,FS=.65,Yh=.022,BS=1.414,WS=.1,OS=5e-4,VS=1.14,Lh=.027,NS=1.14;function Ih(e){return e>=Yh?e:e+(Yh-e)**BS}function fi(e){let t=e<0?-1:1,s=Math.abs(e);return t*Math.pow(s,2.4)}function qS(e,t){t=yt(t),e=yt(e);let s,r,o,n,i,d;t=us(t,"srgb"),[n,i,d]=t.coords;let c=fi(n)*.2126729+fi(i)*.7151522+fi(d)*.072175;e=us(e,"srgb"),[n,i,d]=e.coords;let _=fi(n)*.2126729+fi(i)*.7151522+fi(d)*.072175,u=Ih(c),m=Ih(_),p=m>u;return Math.abs(m-u)0?o=r-Lh:o=r+Lh,o*100}function XS(e,t){e=yt(e),t=yt(t);let s=Math.max(Xn(e),0),r=Math.max(Xn(t),0);r>s&&([s,r]=[r,s]);let o=s+r;return o===0?0:(s-r)/o}var HS=5e4;function jS(e,t){e=yt(e),t=yt(t);let s=Math.max(Xn(e),0),r=Math.max(Xn(t),0);return r>s&&([s,r]=[r,s]),r===0?HS:(s-r)/r}function KS(e,t){e=yt(e),t=yt(t);let s=Jr(e,[eo,"l"]),r=Jr(t,[eo,"l"]);return Math.abs(s-r)}var ZS=216/24389,Dh=24/116,T_=24389/27,W1=Tr.D65,tm=new qe({id:"lab-d65",name:"Lab D65",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:W1,base:ar,fromBase(e){let t=e.map((s,r)=>s/W1[r]).map(s=>s>ZS?Math.cbrt(s):(T_*s+16)/116);return[116*t[1]-16,500*(t[0]-t[1]),200*(t[1]-t[2])]},toBase(e){let t=[];return t[1]=(e[0]+16)/116,t[0]=e[1]/500+t[1],t[2]=t[1]-e[2]/200,[t[0]>Dh?Math.pow(t[0],3):(116*t[0]-16)/T_,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/T_,t[2]>Dh?Math.pow(t[2],3):(116*t[2]-16)/T_].map((s,r)=>s*W1[r])},formats:{"lab-d65":{coords:[" | "," | [-1,1]"," | [-1,1]"]}}}),O1=Math.pow(5,.5)*.5+.5;function QS(e,t){e=yt(e),t=yt(t);let s=Jr(e,[tm,"l"]),r=Jr(t,[tm,"l"]),o=Math.abs(Math.pow(s,O1)-Math.pow(r,O1)),n=Math.pow(o,1/O1)*Math.SQRT2-40;return n<7.5?0:n}var M_=Object.freeze({__proto__:null,contrastAPCA:qS,contrastDeltaPhi:QS,contrastLstar:KS,contrastMichelson:XS,contrastWCAG21:YS,contrastWeber:jS});function JS(e,t,s={}){Rd(s)&&(s={algorithm:s});let{algorithm:r,...o}=s;if(!r){let n=Object.keys(M_).map(i=>i.replace(/^contrast/,"")).join(", ");throw new TypeError(`contrast() function needs a contrast algorithm. Please specify one of: ${n}`)}e=yt(e),t=yt(t);for(let n in M_)if("contrast"+r.toLowerCase()===n.toLowerCase())return M_[n](e,t,o);throw new TypeError(`Unknown contrast algorithm: ${r}`)}function R_(e){let[t,s,r]=zd(e,ar),o=t+15*s+3*r;return[4*t/o,9*s/o]}function C0(e){let[t,s,r]=zd(e,ar),o=t+s+r;return[t/o,s/o]}function eA(e){Object.defineProperty(e.prototype,"uv",{get(){return R_(this)}}),Object.defineProperty(e.prototype,"xy",{get(){return C0(this)}})}var tA=Object.freeze({__proto__:null,register:eA,uv:R_,xy:C0});function Ed(e,t,s={}){Rd(s)&&(s={method:s});let{method:r=to.deltaE,...o}=s;for(let n in gi)if("deltae"+r.toLowerCase()===n.toLowerCase())return gi[n](e,t,o);throw new TypeError(`Unknown deltaE method: ${r}`)}function sA(e,t=.25){return pn(e,[qe.get("oklch","lch"),"l"],s=>s*(1+t))}function rA(e,t=.25){return pn(e,[qe.get("oklch","lch"),"l"],s=>s*(1-t))}var oA=Object.freeze({__proto__:null,darken:rA,lighten:sA});function R0(e,t,s=.5,r={}){return[e,t]=[yt(e),yt(t)],On(s)==="object"&&([s,r]=[.5,s]),Gd(e,t,r)(s)}function z0(e,t,s={}){let r;cm(e)&&([r,s]=[e,t],[e,t]=r.rangeArgs.colors);let{maxDeltaE:o,deltaEMethod:n,steps:i=2,maxSteps:d=1e3,...c}=s;r||([e,t]=[yt(e),yt(t)],r=Gd(e,t,c));let _=Ed(e,t),u=o>0?Math.max(i,Math.ceil(_/o)+1):i,m=[];if(d!==void 0&&(u=Math.min(u,d)),u===1)m=[{p:.5,color:r(.5)}];else{let p=1/(u-1);m=Array.from({length:u},(y,h)=>{let g=h*p;return{p:g,color:r(g)}})}if(o>0){let p=m.reduce((y,h,g)=>{if(g===0)return 0;let w=Ed(h.color,m[g-1].color,n);return Math.max(y,w)},0);for(;p>o;){p=0;for(let y=1;yp.color),m}function Gd(e,t,s={}){if(cm(e)){let[c,_]=[e,t];return Gd(...c.rangeArgs.colors,{...c.rangeArgs.options,..._})}let{space:r,outputSpace:o,progression:n,premultiplied:i}=s;e=yt(e),t=yt(t),e=xi(e),t=xi(t);let d={colors:[e,t],options:s};if(r?r=qe.get(r):r=qe.registry[to.interpolationSpace]||e.space,o=o?qe.get(o):r,e=us(e,r),t=us(t,r),e=qn(e),t=qn(t),r.coords.h&&r.coords.h.type==="angle"){let c=s.hue=s.hue||"shorter",_=[r,"h"],[u,m]=[Jr(e,_),Jr(t,_)];isNaN(u)&&!isNaN(m)?u=m:isNaN(m)&&!isNaN(u)&&(m=u),[u,m]=WT(c,[u,m]),pn(e,_,u),pn(t,_,m)}return i&&(e.coords=e.coords.map(c=>c*e.alpha),t.coords=t.coords.map(c=>c*t.alpha)),Object.assign(c=>{c=n?n(c):c;let _=e.coords.map((p,y)=>{let h=t.coords[y];return $d(p,h,c)}),u=$d(e.alpha,t.alpha,c),m={space:r,coords:_,alpha:u};return i&&(m.coords=m.coords.map(p=>p/u)),o!==r&&(m=us(m,o)),m},{rangeArgs:d})}function cm(e){return On(e)==="function"&&!!e.rangeArgs}to.interpolationSpace="lab";function nA(e){e.defineFunction("mix",R0,{returns:"color"}),e.defineFunction("range",Gd,{returns:"function"}),e.defineFunction("steps",z0,{returns:"array"})}var aA=Object.freeze({__proto__:null,isRange:cm,mix:R0,range:Gd,register:nA,steps:z0}),G0=new qe({id:"hsl",name:"HSL",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:bi,fromBase:e=>{let t=Math.max(...e),s=Math.min(...e),[r,o,n]=e,[i,d,c]=[NaN,0,(s+t)/2],_=t-s;if(_!==0){switch(d=c===0||c===1?0:(t-c)/Math.min(c,1-c),t){case r:i=(o-n)/_+(o=360&&(i-=360),[i,d*100,c*100]},toBase:e=>{let[t,s,r]=e;t=t%360,t<0&&(t+=360),s/=100,r/=100;function o(n){let i=(n+t/30)%12,d=s*Math.min(r,1-r);return r-d*Math.max(-1,Math.min(i-3,9-i,1))}return[o(0),o(8),o(4)]},formats:{hsl:{coords:[" | ","",""]},hsla:{coords:[" | ","",""],commas:!0,lastAlpha:!0}}}),Y0=new qe({id:"hsv",name:"HSV",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},v:{range:[0,100],name:"Value"}},base:G0,fromBase(e){let[t,s,r]=e;s/=100,r/=100;let o=r+s*Math.min(r,1-r);return[t,o===0?0:200*(1-r/o),100*o]},toBase(e){let[t,s,r]=e;s/=100,r/=100;let o=r*(1-s/2);return[t,o===0||o===1?0:(r-o)/Math.min(o,1-o)*100,o*100]},formats:{color:{id:"--hsv",coords:[" | "," | "," | "]}}}),iA=new qe({id:"hwb",name:"HWB",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},w:{range:[0,100],name:"Whiteness"},b:{range:[0,100],name:"Blackness"}},base:Y0,fromBase(e){let[t,s,r]=e;return[t,r*(100-s)/100,100-r]},toBase(e){let[t,s,r]=e;s/=100,r/=100;let o=s+r;if(o>=1)return[t,0,s/o*100];let n=1-r;return[t,(n===0?0:1-s/n)*100,n*100]},formats:{hwb:{coords:[" | "," | "," | "]}}}),L0=new Dr({id:"a98rgb-linear",cssId:"--a98-rgb-linear",name:"Linear Adobe\xAE 98 RGB compatible",white:"D65",toXYZ_M:[[.5766690429101305,.1855582379065463,.1882286462349947],[.29734497525053605,.6273635662554661,.07529145849399788],[.02703136138641234,.07068885253582723,.9913375368376388]],fromXYZ_M:[[2.0415879038107465,-.5650069742788596,-.34473135077832956],[-.9692436362808795,1.8759675015077202,.04155505740717557],[.013444280632031142,-.11836239223101838,1.0151749943912054]]}),dA=new Dr({id:"a98rgb",cssId:"a98-rgb",name:"Adobe\xAE 98 RGB compatible",base:L0,toBase:e=>e.map(t=>Math.pow(Math.abs(t),563/256)*Math.sign(t)),fromBase:e=>e.map(t=>Math.pow(Math.abs(t),256/563)*Math.sign(t))}),I0=new Dr({id:"prophoto-linear",cssId:"--prophoto-rgb-linear",name:"Linear ProPhoto",white:"D50",base:am,toXYZ_M:[[.7977666449006423,.13518129740053308,.0313477341283922],[.2880748288194013,.711835234241873,8993693872564e-17],[0,0,.8251046025104602]],fromXYZ_M:[[1.3457868816471583,-.25557208737979464,-.05110186497554526],[-.5446307051249019,1.5082477428451468,.02052744743642139],[0,0,1.2119675456389452]]}),cA=1/512,_A=16/512,lA=new Dr({id:"prophoto",cssId:"prophoto-rgb",name:"ProPhoto",base:I0,toBase(e){return e.map(t=>t<_A?t/16:t**1.8)},fromBase(e){return e.map(t=>t>=cA?t**(1/1.8):16*t)}}),uA=new qe({id:"oklch",name:"Oklch",coords:{l:{refRange:[0,1],name:"Lightness"},c:{refRange:[0,.4],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},white:"D65",base:hi,fromBase(e){let[t,s,r]=e,o,n=2e-4;return Math.abs(s) | "," | [0,1]"," | "]}}}),D0=Tr.D65,mA=216/24389,Fh=24389/27,[Bh,Wh]=R_({space:ar,coords:D0}),F0=new qe({id:"luv",name:"Luv",coords:{l:{refRange:[0,100],name:"Lightness"},u:{refRange:[-215,215]},v:{refRange:[-215,215]}},white:D0,base:ar,fromBase(e){let t=[Cs(e[0]),Cs(e[1]),Cs(e[2])],s=t[1],[r,o]=R_({space:ar,coords:t});if(!Number.isFinite(r)||!Number.isFinite(o))return[0,0,0];let n=s<=mA?Fh*s:116*Math.cbrt(s)-16;return[n,13*n*(r-Bh),13*n*(o-Wh)]},toBase(e){let[t,s,r]=e;if(t===0||Vn(t))return[0,0,0];s=Cs(s),r=Cs(r);let o=s/(13*t)+Bh,n=r/(13*t)+Wh,i=t<=8?t/Fh:Math.pow((t+16)/116,3);return[i*(9*o/(4*n)),i,i*((12-3*o-20*n)/(4*n))]},formats:{color:{id:"--luv",coords:[" | "," | [-1,1]"," | [-1,1]"]}}}),_m=new qe({id:"lchuv",name:"LChuv",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,220],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:F0,fromBase(e){let[t,s,r]=e,o,n=.02;return Math.abs(s) | "," | "," | "]}}}),pA=216/24389,fA=24389/27,Oh=Ds[0][0],Vh=Ds[0][1],V1=Ds[0][2],Nh=Ds[1][0],qh=Ds[1][1],N1=Ds[1][2],Xh=Ds[2][0],Hh=Ds[2][1],q1=Ds[2][2];function vi(e,t,s){let r=t/(Math.sin(s)-e*Math.cos(s));return r<0?1/0:r}function $_(e){let t=Math.pow(e+16,3)/1560896,s=t>pA?t:e/fA,r=s*(284517*Oh-94839*V1),o=s*(838422*V1+769860*Vh+731718*Oh),n=s*(632260*V1-126452*Vh),i=s*(284517*Nh-94839*N1),d=s*(838422*N1+769860*qh+731718*Nh),c=s*(632260*N1-126452*qh),_=s*(284517*Xh-94839*q1),u=s*(838422*q1+769860*Hh+731718*Xh),m=s*(632260*q1-126452*Hh);return{r0s:r/n,r0i:o*e/n,r1s:r/(n+126452),r1i:(o-769860)*e/(n+126452),g0s:i/c,g0i:d*e/c,g1s:i/(c+126452),g1i:(d-769860)*e/(c+126452),b0s:_/m,b0i:u*e/m,b1s:_/(m+126452),b1i:(u-769860)*e/(m+126452)}}function jh(e,t){let s=t/360*Math.PI*2,r=vi(e.r0s,e.r0i,s),o=vi(e.r1s,e.r1i,s),n=vi(e.g0s,e.g0i,s),i=vi(e.g1s,e.g1i,s),d=vi(e.b0s,e.b0i,s),c=vi(e.b1s,e.b1i,s);return Math.min(r,o,n,i,d,c)}var vA=new qe({id:"hsluv",name:"HSLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:_m,gamutSpace:bi,fromBase(e){let[t,s,r]=[Cs(e[0]),Cs(e[1]),Cs(e[2])],o;return t>99.9999999?(o=0,t=100):t<1e-8?(o=0,t=0):o=s/jh($_(t),r)*100,[r,o,t]},toBase(e){let[t,s,r]=[Cs(e[0]),Cs(e[1]),Cs(e[2])],o;return r>99.9999999?(r=100,o=0):r<1e-8?(r=0,o=0):o=jh($_(r),t)/100*s,[r,o,t]},formats:{color:{id:"--hsluv",coords:[" | "," | "," | "]}}});Ds[0][0];Ds[0][1];Ds[0][2];Ds[1][0];Ds[1][1];Ds[1][2];Ds[2][0];Ds[2][1];Ds[2][2];function yi(e,t){return Math.abs(t)/Math.sqrt(Math.pow(e,2)+1)}function Kh(e){let t=yi(e.r0s,e.r0i),s=yi(e.r1s,e.r1i),r=yi(e.g0s,e.g0i),o=yi(e.g1s,e.g1i),n=yi(e.b0s,e.b0i),i=yi(e.b1s,e.b1i);return Math.min(t,s,r,o,n,i)}var yA=new qe({id:"hpluv",name:"HPLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:_m,gamutSpace:"self",fromBase(e){let[t,s,r]=[Cs(e[0]),Cs(e[1]),Cs(e[2])],o;return t>99.9999999?(o=0,t=100):t<1e-8?(o=0,t=0):o=s/Kh($_(t))*100,[r,o,t]},toBase(e){let[t,s,r]=[Cs(e[0]),Cs(e[1]),Cs(e[2])],o;return r>99.9999999?(r=100,o=0):r<1e-8?(r=0,o=0):o=Kh($_(r))/100*s,[r,o,t]},formats:{color:{id:"--hpluv",coords:[" | "," | "," | "]}}}),Zh=203,Qh=2610/2**14,hA=2**14/2610,xA=2523/2**5,Jh=2**5/2523,e0=3424/2**12,t0=2413/2**7,s0=2392/2**7,gA=new Dr({id:"rec2100pq",cssId:"rec2100-pq",name:"REC.2100-PQ",base:C_,toBase(e){return e.map(function(t){return(Math.max(t**Jh-e0,0)/(t0-s0*t**Jh))**hA*1e4/Zh})},fromBase(e){return e.map(function(t){let s=Math.max(t*Zh/1e4,0);return((e0+t0*s**Qh)/(1+s0*s**Qh))**xA})}}),r0=.17883277,o0=.28466892,n0=.55991073,X1=3.7743,bA=new Dr({id:"rec2100hlg",cssId:"rec2100-hlg",name:"REC.2100-HLG",referred:"scene",base:C_,toBase(e){return e.map(function(t){return t<=.5?t**2/3*X1:(Math.exp((t-n0)/r0)+o0)/12*X1})},fromBase(e){return e.map(function(t){return t/=X1,t<=1/12?Math.sqrt(3*t):r0*Math.log(12*t-o0)+n0})}}),B0={};Nn.add("chromatic-adaptation-start",e=>{e.options.method&&(e.M=W0(e.W1,e.W2,e.options.method))});Nn.add("chromatic-adaptation-end",e=>{e.M||(e.M=W0(e.W1,e.W2,e.options.method))});function z_({id:e,toCone_M:t,fromCone_M:s}){B0[e]=arguments[0]}function W0(e,t,s="Bradford"){let r=B0[s],[o,n,i]=ms(r.toCone_M,e),[d,c,_]=ms(r.toCone_M,t),u=ms([[d/o,0,0],[0,c/n,0],[0,0,_/i]],r.toCone_M);return ms(r.fromCone_M,u)}z_({id:"von Kries",toCone_M:[[.40024,.7076,-.08081],[-.2263,1.16532,.0457],[0,0,.91822]],fromCone_M:[[1.8599363874558397,-1.1293816185800916,.21989740959619328],[.3611914362417676,.6388124632850422,-6370596838649899e-21],[0,0,1.0890636230968613]]});z_({id:"Bradford",toCone_M:[[.8951,.2664,-.1614],[-.7502,1.7135,.0367],[.0389,-.0685,1.0296]],fromCone_M:[[.9869929054667121,-.14705425642099013,.15996265166373122],[.4323052697233945,.5183602715367774,.049291228212855594],[-.00852866457517732,.04004282165408486,.96848669578755]]});z_({id:"CAT02",toCone_M:[[.7328,.4296,-.1624],[-.7036,1.6975,.0061],[.003,.0136,.9834]],fromCone_M:[[1.0961238208355142,-.27886900021828726,.18274517938277307],[.4543690419753592,.4735331543074117,.07209780371722911],[-.009627608738429355,-.00569803121611342,1.0153256399545427]]});z_({id:"CAT16",toCone_M:[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],fromCone_M:[[1.862067855087233,-1.0112546305316845,.14918677544445172],[.3875265432361372,.6214474419314753,-.008973985167612521],[-.01584149884933386,-.03412293802851557,1.0499644368778496]]});Object.assign(Tr,{A:[1.0985,1,.35585],C:[.98074,1,1.18232],D55:[.95682,1,.92149],D75:[.94972,1,1.22638],E:[1,1,1],F2:[.99186,1,.67393],F7:[.95041,1,1.08747],F11:[1.00962,1,.6435]});Tr.ACES=[.32168/.33767,1,.34065/.33767];var O0=new Dr({id:"acescg",cssId:"--acescg",name:"ACEScg",coords:{r:{range:[0,65504],name:"Red"},g:{range:[0,65504],name:"Green"},b:{range:[0,65504],name:"Blue"}},referred:"scene",white:Tr.ACES,toXYZ_M:[[.6624541811085053,.13400420645643313,.1561876870049078],[.27222871678091454,.6740817658111484,.05368951740793705],[-.005574649490394108,.004060733528982826,1.0103391003129971]],fromXYZ_M:[[1.6410233796943257,-.32480329418479,-.23642469523761225],[-.6636628587229829,1.6153315916573379,.016756347685530137],[.011721894328375376,-.008284441996237409,.9883948585390215]]}),S_=2**-16,H1=-.35828683,A_=(Math.log2(65504)+9.72)/17.52,wA=new Dr({id:"acescc",cssId:"--acescc",name:"ACEScc",coords:{r:{range:[H1,A_],name:"Red"},g:{range:[H1,A_],name:"Green"},b:{range:[H1,A_],name:"Blue"}},referred:"scene",base:O0,toBase(e){let t=-.3013698630136986;return e.map(function(s){return s<=t?(2**(s*17.52-9.72)-S_)*2:s1||n===void 0?1:n<0?0:n;for(let i=0;ithis.get(i),set:d=>this.set(i,d)})}get spaceId(){return this.space.id}clone(){return new Ir(this.space,this.coords,this.alpha)}toJSON(){return{spaceId:this.spaceId,coords:this.coords,alpha:this.alpha}}display(...t){let s=CS(this,...t);return s.color=new Ir(s.color),s}static get(t,...s){return t instanceof Ir?t:new Ir(t,...s)}static defineFunction(t,s,r=s){let{instance:o=!0,returns:n}=r,i=function(...d){let c=s(...d);if(n==="color")c=Ir.get(c);else if(n==="function"){let _=c;c=function(...u){let m=_(...u);return Ir.get(m)},Object.assign(c,_)}else n==="array"&&(c=c.map(_=>Ir.get(_)));return c};t in Ir||(Ir[t]=i),o&&(Ir.prototype[t]=function(...d){return i(this,...d)})}static defineFunctions(t){for(let s in t)Ir.defineFunction(s,t[s],t[s])}static extend(t){if(t.register)t.register(Ir);else for(let s in t)Ir.defineFunction(s,t[s])}};Sr.defineFunctions({get:Jr,getAll:zd,set:pn,setAll:nm,to:us,equals:RS,inGamut:Ea,toGamut:qn,distance:v0,toString:kd});Object.assign(Sr,{util:YT,hooks:Nn,WHITES:Tr,Space:qe,spaces:qe.registry,parse:p0,defaults:to});for(let e of Object.keys(a0))qe.register(a0[e]);for(let e in qe.registry)sm(e,qe.registry[e]);Nn.add("colorspace-init-end",e=>{sm(e.id,e),e.aliases?.forEach(t=>{sm(t,e)})});function sm(e,t){let s=e.replace(/-/g,"_");Object.defineProperty(Sr.prototype,s,{get(){let r=this.getAll(e);return typeof Proxy>"u"?r:new Proxy(r,{has:(o,n)=>{try{return qe.resolveCoord([t,n]),!0}catch{}return Reflect.has(o,n)},get:(o,n,i)=>{if(n&&typeof n!="symbol"&&!(n in o)){let{index:d}=qe.resolveCoord([t,n]);if(d>=0)return o[d]}return Reflect.get(o,n,i)},set:(o,n,i,d)=>{if(n&&typeof n!="symbol"&&!(n in o)||n>=0){let{index:c}=qe.resolveCoord([t,n]);if(c>=0)return o[c]=i,this.setAll(e,o),!0}return Reflect.set(o,n,i,d)}})},set(r){this.setAll(e,r)},configurable:!0,enumerable:!0})}Sr.extend(gi);Sr.extend({deltaE:Ed});Object.assign(Sr,{deltaEMethods:gi});Sr.extend(oA);Sr.extend({contrast:JS});Sr.extend(tA);Sr.extend(GS);Sr.extend(aA);Sr.extend(M_);var V0="p3-linear",N0=e=>{V0=e};function TA(e){try{let t=new Sr(e),s=V0==="srgb"?"srgb-linear":"p3-linear",r=t.to(s).coords,o=Number(t.alpha);return{r:Number.isFinite(r?.[0])?r[0]:0,g:Number.isFinite(r?.[1])?r[1]:0,b:Number.isFinite(r?.[2])?r[2]:0,a:Number.isFinite(o)?o:1}}catch{return{r:0,g:0,b:0,a:0}}}var ts=e=>TA(e),ho=e=>{let t=.5,s=.5,r=(n,i=!1)=>{if(typeof n=="number")return n;if(typeof n=="object"&&n!==null)return n.value;let d=n.toLowerCase().trim();if(i){if(d==="top")return 0;if(d==="bottom")return 1;if(d==="center")return .5}else{if(d==="left")return 0;if(d==="right")return 1;if(d==="center")return .5}return console.warn(`Invalid position value: ${n}. Defaulting to center.`),.5};if(typeof e=="string"){let n=e.toLowerCase().trim().split(/\s+/);n.includes("left")?t=0:n.includes("right")?t=1:(n.includes("center")||n.length===1&&(n[0]==="top"||n[0]==="bottom"))&&(t=.5),n.includes("top")?s=0:n.includes("bottom")?s=1:(n.includes("center")||n.length===1&&(n[0]==="left"||n[0]==="right"))&&(s=.5),n.length===1&&n[0]==="center"&&(t=.5,s=.5)}else typeof e=="object"&&e!==null?(t=r(e.x,!1),s=r(e.y,!0)):console.warn(`Invalid position value provided: ${e}. Defaulting to center.`);let o=1-s;return{x:t,y:o}};var q0=e=>({outside:0,center:1,inside:2})[e?.toLowerCase()]??1,Ho=[{label:"Linear RGB",value:"linear"},{label:"OKLCh",value:"oklch"},{label:"OKLAB",value:"oklab"},{label:"HSL",value:"hsl"},{label:"HSV",value:"hsv"},{label:"LCH",value:"lch"}],ir=e=>{let t={linear:0,oklch:1,oklab:2,hsl:3,hsv:4,lch:5}[e.toLowerCase()];return t===void 0?(console.warn(`Invalid color space mode: ${e}. Defaulting to 'linear'.`),0):t};var SA=Object.defineProperty,Za=e=>{let t={};for(var s in e)SA(t,s,{get:e[s],enumerable:!0});return t};function so(e){typeof Symbol[e]>"u"&&Object.defineProperty(Symbol,e,{value:Symbol.for(`Symbol.${e}`),writable:!1,enumerable:!1,configurable:!1})}function X0(e,t){return typeof e?.[t]=="function"}function ad(e,t,s,r){let o=dr.deferOperation;return X0(e,s)&&(o=e[s](e,t)),o===dr.deferOperation&&X0(t,s)&&(o=t[s](e,t)),o===dr.deferOperation?r(e,t):o}var AA=(e,t)=>e+t;function MA(e,t){return(typeof e=="number"||typeof e=="string")&&(typeof t=="number"||typeof t=="string")?e+t:ad(e,t,dr.plus,AA)}var PA=(e,t)=>e-t;function EA(e,t){return typeof e=="number"&&typeof t=="number"?e-t:ad(e,t,dr.minus,PA)}var kA=(e,t)=>e*t;function $A(e,t){return typeof e=="number"&&typeof t=="number"?e*t:ad(e,t,dr.star,kA)}var UA=(e,t)=>e/t;function CA(e,t){return typeof e=="number"&&typeof t=="number"?e/t:ad(e,t,dr.slash,UA)}var RA=(e,t)=>e**t;function zA(e,t){return typeof e=="number"&&typeof t=="number"?e**t:ad(e,t,dr.starStar,RA)}var GA=(e,t)=>e%t;function YA(e,t){return typeof e=="number"&&typeof t=="number"?e%t:ad(e,t,dr.percent,GA)}var dr=(so("deferOperation"),so("operatorPlus"),so("operatorMinus"),so("operatorStar"),so("operatorSlash"),so("operatorStarStar"),so("operatorPercent"),so("operatorEqEq"),so("operatorPrePlusPlus"),so("operatorPreMinusMinus"),so("operatorPostPlusPlus"),so("operatorPostMinusMinus"),so("operatorPreMinus"),globalThis.__tsover_add=MA,globalThis.__tsover_sub=EA,globalThis.__tsover_mul=$A,globalThis.__tsover_div=CA,globalThis.__tsover_pow=zA,globalThis.__tsover_mod=YA,{deferOperation:Symbol.deferOperation,plus:Symbol.operatorPlus,minus:Symbol.operatorMinus,star:Symbol.operatorStar,slash:Symbol.operatorSlash,starStar:Symbol.operatorStarStar,percent:Symbol.operatorPercent,eqEq:Symbol.operatorEqEq,prePlusPlus:Symbol.operatorPrePlusPlus,preMinusMinus:Symbol.operatorPreMinusMinus,postPlusPlus:Symbol.operatorPostPlusPlus,postMinusMinus:Symbol.operatorPostMinusMinus,preMinus:Symbol.operatorPreMinus}),$u=!1,zf=!1,js="0.12.3",B=Symbol(`typegpu:${js}:$internal`),me=Symbol(`typegpu:${js}:$soul`),Hr=Symbol(`typegpu:${js}:$gpuValueOf`),Xs=Symbol(`typegpu:${js}:$getNameForward`),Mr=Symbol(`typegpu:${js}:$providing`),oa=Symbol(`typegpu:${js}:$ownSnippet`),kt=Symbol(`typegpu:${js}:$resolve`),Gf=Symbol(`typegpu:${js}:$cast`),zs=Symbol(`typegpu:${js}:$gpuCallable`),id=Symbol(`typegpu:${js}:$repr`);`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;function mt(e){return!!e?.[B]}var _s={[B]:{},type:"void",toString(){return"void"}},LA=["bool","f32","f16","i32","u32","u16","vec2f","vec2h","vec2i","vec2u","vec2","vec3f","vec3h","vec3i","vec3u","vec3","vec4f","vec4h","vec4i","vec4u","vec4","mat2x2f","mat3x3f","mat4x4f","struct","array","ptr","atomic","decorated","abstractInt","abstractFloat","void","texture_1d","texture_storage_1d","texture_2d","texture_storage_2d","texture_multisampled_2d","texture_depth_2d","texture_depth_multisampled_2d","texture_2d_array","texture_storage_2d_array","texture_depth_2d_array","texture_cube","texture_depth_cube","texture_cube_array","texture_depth_cube_array","texture_3d","texture_storage_3d","texture_external","sampler","sampler_comparison"];function lr(e){let t=e;return mt(t)&&typeof t.kind=="string"&&t.kind.startsWith("vec")}function IA(e){return lr(e)&&e.kind.includes("b")}function DA(e){let t=e;return mt(t)&&typeof t.type=="string"&&t.type.startsWith("vec2")}function FA(e){let t=e;return mt(t)&&typeof t.type=="string"&&t.type.startsWith("vec3")}function BA(e){let t=e;return mt(t)&&typeof t.type=="string"&&t.type.startsWith("vec4")}function Rt(e){return DA(e)||FA(e)||BA(e)}function Yf(e){return Rt(e)&&e.type.includes("b")}function Do(e){let t=e;return mt(t)&&typeof t.kind?.startsWith=="function"&&t.kind.startsWith("mat")}function Kb(e){return mt(e)&&e?.type==="mat2x2f"}function Zb(e){return mt(e)&&e?.type==="mat3x3f"}function WA(e){return mt(e)&&e?.type==="mat4x4f"}function rn(e){return Kb(e)||Zb(e)||WA(e)}function Qb(e){return mt(e)&&["abstractInt","i32","u32"].includes(e?.type)}function OA(e){return Rt(e)&&Qb(e.primitive)}function H0(e){return lr(e)&&["vec2f","vec3f","vec4f"].includes(e.kind)}function bl(e){return lr(e)&&/[iu]$/.test(e.kind)}function Jb(e){return lr(e)&&/[u]$/.test(e.kind)}function Qa(e){return mt(e)&&LA.includes(e?.type)}function Us(e){return mt(e)&&e?.type==="array"}function Qt(e){return mt(e)&&e?.type==="struct"}function pr(e){return mt(e)&&e?.type==="ptr"}function Uu(e){return mt(e)&&e?.type==="atomic"}function e2(e){return mt(e)&&e?.type==="@align"}function t2(e){return mt(e)&&e?.type==="@size"}function s2(e){return mt(e)&&e?.type==="@location"}function VA(e){return mt(e)&&e?.type==="@builtin"}function zn(e){return mt(e)&&e?.type==="decorated"}function Cu(e){return mt(e)&&e.type==="void"}function Kn(e){return mt(e)&&e.type==="bool"}function np(e){let t=e?.type;return mt(e)&&(t==="abstractInt"||t==="abstractFloat"||t==="f32"||t==="f16"||t==="i32"||t==="u32")}function Lf(e){let t=e?.type;return mt(e)&&(t==="f16"||t==="vec2h"||t==="vec3h"||t==="vec4h")}var NA=["abstractInt","abstractFloat","f32","f16","i32","u32","bool"];function Io(e){return!mt(e)||NA.includes(e?.type)}function Ru(e){return e.schema}var qA=["deprecated","suspicious","fallback","precision-loss","implicit-conversion","webgpu-feature-missing","webgpu-limits-exceeded","locations-mismatched","log-limit-exceeded","external-omitted","uniform-schema-misaligned"],XA=class{#e;#t;#s=new WeakMap;constructor(e){e?this.#e=["webgpu-feature-missing","webgpu-limits-exceeded","locations-mismatched","log-limit-exceeded","external-omitted"]:this.#e=qA,this.#t=new Set(this.#e)}disable(e){this.#t.delete(e)}reset(){this.#t=new Set(this.#e)}warn(e,...t){this.#t.has(e)&&console.warn(`\u26A0\uFE0F [${e}] `,...t)}warnOnce(e,t,s,...r){if(!this.#t.has(e))return;let o=this.#s.get(t);o||(o=new Set,this.#s.set(t,o));let n=`${e}:${s}`;o.has(n)||(o.add(n),this.warn(e,...r))}},r2=new XA(!($u||zf)),Vt=r2,o2=r2;function io(e){if(Array.isArray(e))return`[${e.map(io).join(", ")}]`;let t=String(e);if(t!=="[object Object]")return t;try{return JSON.stringify(e)}catch(s){return Vt.warn("suspicious","Error parsing JSON:",s),""}}function ap(e){return lr(e)||Do(e)?e.toString():Array.isArray(e)?`[${e.map(ap).join(", ")}]`:e&&typeof e=="object"?`{ ${Object.entries(e).map(([t,s])=>`${t}: ${ap(s)}`).join(", ")} }`:String(e)}function HA(e){let t={};for(let[s,r]of Object.entries(e))Object.defineProperty(t,s,{get:r,enumerable:!0});return t}function jA(e){if(e.v===1){let t=e.externals;return{...e,externals:typeof t=="function"?t:()=>t}}if(e.v===2){let t=HA(e?.externals);return{...e,externals:()=>t}}throw new Error(`Unrecognized TypeGPU metadata format: ${io(e)}`)}var n2="0.12.3",kn=globalThis;kn.__TYPEGPU_VERSION__!==void 0&&console.warn(`Found duplicate TypeGPU version. First was ${kn.__TYPEGPU_VERSION__}, this one is ${n2}. This may cause unexpected behavior.`);kn.__TYPEGPU_VERSION__=n2;kn.__TYPEGPU_AUTONAME__=(e,t)=>Di(e)&&mt(e)&&!xe(e)?e.$name(t):e;var wl=new WeakMap;function Di(e){return!!e?.$name}function a2(e){return!!e?.[Xs]}function i2(e){return e?.[me]}function xe(e){return a2(e)?xe(e[Xs]):wl.get(e)??i2(e)?.label??kn.__TYPEGPU_META__?.get(e)?.name}function ot(e,t){if(a2(e)){ot(e[Xs],t);return}wl.set(e,t);let s=i2(e);s&&(s.label=t)}var j0=new WeakMap;function If(e){let t=kn.__TYPEGPU_META__?.get(e);if(t){kn.__TYPEGPU_META__?.delete(e);let s=jA(t);j0.set(e,s),t.name&&wl.get(e)===void 0&&wl.set(e,t.name)}return j0.get(e)}function Fi(e){return typeof e=="function"&&!!If(e)}var Df=($u||zf)&&{get enabled(){return!!kn.__TYPEGPU_MEASURE_PERF__},record(e,t){let s=kn.__TYPEGPU_PERF_RECORDS__??=new Map,r=s.get(e);r||(r=[],s.set(e,r)),r.push(t)}}||void 0,lm="Invariant failed";function ds(e,t){if(e)return;if(!$u&&!zf)throw new Error(lm);let s=typeof t=="function"?t():t,r=s?`${lm}: ${s}`:lm;throw new Error(r)}var Pi=class ip extends Error{cause;trace;constructor(t,s){let r=s.map(o=>`- ${Fi(o)?`fn*:${xe(o)}`:o}`);r.length>20&&(r=[...r.slice(0,11),"...",...r.slice(-10)]),super(`Resolution of the following tree failed: +${r.join(` +`)}: ${t&&typeof t=="object"&&"message"in t?t.message:t}`),this.cause=t,this.trace=s,Object.setPrototypeOf(this,ip.prototype)}appendToTrace(t){let s=[t,...this.trace];return new ip(this.cause,s)}},K0=class dp extends Error{cause;trace;constructor(t,s){let r=s.map(o=>`- ${o}`);r.length>20&&(r=[...r.slice(0,11),"...",...r.slice(-10)]),super(`Execution of the following tree failed: +${r.join(` +`)}: ${t&&typeof t=="object"&&"message"in t?t.message:t}`),this.cause=t,this.trace=s,Object.setPrototypeOf(this,dp.prototype)}appendToTrace(t){let s=[t,...this.trace];return new dp(this.cause,s)}},KA=class d2 extends Error{slot;constructor(t){super(`Missing value for '${t}'`),this.slot=t,Object.setPrototypeOf(this,d2.prototype)}},ZA=class c2 extends Error{constructor(t){super(`Buffer '${xe(t)??""}' is not bindable as a uniform. Use .$usage('uniform') to allow it.`),Object.setPrototypeOf(this,c2.prototype)}},QA=class _2 extends Error{constructor(t){super(`Missing bind groups for layouts: '${[...t].map(s=>xe(s)??"").join(", ")}'. Please provide it using pipeline.with(bindGroup).(...)`),Object.setPrototypeOf(this,_2.prototype)}},JA=class l2 extends Error{constructor(t){super(`Missing vertex buffers for layouts: '${[...t].map(s=>xe(s)??"").join(", ")}'. Please provide it using pipeline.with(layout, buffer).(...)`),Object.setPrototypeOf(this,l2.prototype)}},Z0=class u2 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,u2.prototype)}},Q0=class m2 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,m2.prototype)}},Qe=class p2 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,p2.prototype)}},Ts=class f2 extends Error{constructor(t,s){super(`Unsupported data types: ${t.map(r=>r.type).join(", ")}. Supported types are: ${s.map(r=>r.type).join(", ")}.`),Object.setPrototypeOf(this,f2.prototype)}},Cc=class v2 extends Error{constructor(t,s){super(`Cannot convert value '${t}' to type ${s.type} because of the Finite Math Assumption (see: https://www.w3.org/TR/WGSL/#finite-math-assumption)`),Object.setPrototypeOf(this,v2.prototype)}},y2=["uint8","uint8x2","uint8x4","sint8","sint8x2","sint8x4","unorm8","unorm8x2","unorm8x4","snorm8","snorm8x2","snorm8x4","uint16","uint16x2","uint16x4","sint16","sint16x2","sint16x4","unorm16","unorm16x2","unorm16x4","snorm16","snorm16x2","snorm16x4","float16","float16x2","float16x4","float32","float32x2","float32x3","float32x4","uint32","uint32x2","uint32x3","uint32x4","sint32","sint32x2","sint32x3","sint32x4","unorm10-10-10-2","unorm8x4-bgra"],eM={f32:"float32",vec2f:"float32x2",vec3f:"float32x3",vec4f:"float32x4",f16:"float16",vec2h:"float16x2",vec4h:"float16x4",u32:"uint32",vec2u:"uint32x2",vec3u:"uint32x3",vec4u:"uint32x4",i32:"sint32",vec2i:"sint32x2",vec3i:"sint32x3",vec4i:"sint32x4"};function lo(e){return zn(e)||ha(e)?e.inner:e}function Ca(e){return pr(e)?e.inner:e}var tM=["unstruct","disarray","loose-decorated",...y2];function zu(e){return mt(e)&&tM.includes(e?.type)}function Ja(e){return mt(e)&&e?.type==="disarray"}function un(e){return mt(e)&&e?.type==="unstruct"}function ha(e){return mt(e)&&e?.type==="loose-decorated"}function ac(e){return e.attribs?.find(e2)?.params[0]}function sM(e){return e.attribs?.find(t2)?.params[0]}function na(e){return e.attribs?.find(s2)?.params[0]}function Rc(e){return Qa(e)||zu(e)}var Ut=Symbol("UNKNOWN"),h2=class{matrix;constructor(e){this.matrix=e}};function rM(e){return e==="runtime"||e==="constant"?e:"runtime"}function en(e){return!(e.origin==="runtime"||e.origin==="constant")}var oM={uniform:{space:"uniform",access:"read"},readonly:{space:"storage",access:"read"},mutable:{space:"storage",access:"read-write"},workgroup:{space:"workgroup",access:"read-write"},private:{space:"private",access:"read-write"},function:{space:"function",access:"read-write"},"local-def":{space:"function",access:"read-write"}},zc=class{value;dataType;origin;possibleSideEffects;constructor(e,t,s,r){this.value=e,this.dataType=t,this.origin=s,this.possibleSideEffects=r}};function Gc(e){return e instanceof zc}function Qd(e){return np(e.dataType)}function ve(e,t,s,r=!0){if($u&&Gc(e))throw new Error("Cannot nest snippets");return new zc(e,lo(t),s,r)}function Ff(e,t){return new zc(t.value,e,t.origin,t.possibleSideEffects)}function x2(e,t){return new zc(e,t.dataType,t.origin,t.possibleSideEffects)}function nM(e,t){return new zc(t.value,t.dataType,t.origin,e)}function aM(e){return nM(!1,e)}function cp(e){return e?.resourceType==="slot"}function _p(e){return e?.resourceType==="lazy"}function al(e){return e?.[Mr]!==void 0}function dd(e){return e?.resourceType==="accessor"}function cd(e){return e?.resourceType==="mutable-accessor"}var _d=class{type="normal"},iM=class{type="codegen"},dM=class{type="simulate";buffers;vars;constructor(e,t){this.buffers=e,this.vars=t}};function g2(e){return!!e?.[kt]}function Gu(e){return e?.[oa]}function Tl(e){return!!e?.[zs]}function cM(e){return!!e?.[Gf]}function hs(e){return(typeof e.value!="string"||e.dataType===Ut)&&Gu(e.value)===void 0}function _M(e){return typeof e=="number"||typeof e=="boolean"||g2(e)||Qa(e)||cp(e)||_p(e)||al(e)}function Mn(e){return!!e&&typeof e=="object"&&"getMappedRange"in e&&"mapAsync"in e}function hc(e){return e.resourceType==="buffer"}function b2(e){return!!e.usableAsUniform}function Sl(e){return!!e?.usableAsStorage}var il=!1;function lM(e){if(il)return e();try{return il=!0,e()}finally{il=!1}}function Al(){return il}var La;function w2(e,t){if(La===e)return t();let s=La;La=e;try{return t()}finally{La=s}}function Na(){return La}var T2=new _d;function J0(){return La?.mode??T2}function Yu(){return La?.mode.type==="codegen"}function ce(e,...t){let s=Na();function r(n){return Gc(n)?s.resolveSnippet(n).value:n}let o="";for(let n=0;nd!==void 0).map(r).join(", "):i&&(o+=r(i))}return o}function S2(e){return Lu("function",e,"read-write")}function Lu(e,t,s,r=!1){return{[B]:{},type:"ptr",addressSpace:e,inner:t,access:s,implicit:r,toString:()=>`ptr<${e}, ${t}, ${s}>`}}function Bf(e,t){let s=oM[e];if(s)return Lu(s.space,t,s.access)}function A2(e){return Lu(e.addressSpace,e.inner,e.access,!0)}function uM(e){return Lu(e.addressSpace,e.inner,e.access,!1)}var mM=(()=>{let e=(t=>pM(t));return ot(e,"ref"),e.toString=()=>"ref",e[B]=!0,e[zs]={call(t,[s]){if(s.origin==="argument")throw new Qe(ce`d.ref(${s}) is illegal, cannot take a reference of an argument. Copy the value first, and take a reference of the copy.`);if(s.origin==="constant-immutable-def"||s.origin==="runtime-immutable-def"){let o=t.resolve(s.dataType).value;throw new Qe(ce`d.ref(${s}) is illegal, cannot take a reference to a constant. +----- +- Try 'd.ref(${o}(${s}));' instead to create a new referencable value. +-----`)}if(en(s)&&Io(s.dataType)){let o=t.resolve(s.dataType).value;throw new Qe(ce`d.ref(${s}) is illegal, cannot take a reference to a scalar value. +----- +- Try 'd.ref(${o}(${s}));' instead to create a new referencable scalar. +-----`)}if(pr(s.dataType))return Ff(uM(s.dataType),s);let r=Bf(s.origin,s.dataType);return ve(new wn(s,r),r??Ut,"runtime",s.possibleSideEffects)}},e})();function M2(e){return e?.[B]?.type==="ref"}function pM(e){let t={[B]:{type:"ref"},get $(){return e},set $(s){if(s&&typeof s=="object")for(let r of Object.keys(s))e[r]=s[r];else e=s}};if(e==null)throw new Error("Cannot create a ref from undefined or null");return typeof e=="object"?new Proxy(t,{get(s,r){return r in s?s[r]:e[r]},set(s,r,o){return r===B?!1:Reflect.set(r==="$"?t:e,r,o)}}):t}var wn=class{[B];snippet;#e;constructor(e,t){this[B]=!0,this.snippet=e,this.#e=t}get[oa](){if(!this.#e)throw new Error(ce`Cannot take a reference of ${this.snippet}`);return ve(this,this.#e,this.snippet.origin,this.snippet.possibleSideEffects)}[kt](){if(!this.#e)throw new Error(ce`Cannot take a reference of ${this.snippet}`);return ve(ce`(&${this.snippet})`,this.#e,this.snippet.origin,this.snippet.possibleSideEffects)}};function Wf(e){if(!pr(e.dataType))return e;let t=e.dataType.inner;return e.value instanceof wn?ve(ce`${e.value.snippet}`,t,e.origin,e.possibleSideEffects):ve(ce`(*${e})`,t,e.origin,e.possibleSideEffects)}function aa(e,t){let s=e;return cM(s)?s[Gf](t):typeof s!="function"?t:t===void 0?s():s(t)}function P2(e,t,s){if(!Tl(t))return s;let r=t;return s===void 0||s.value===void 0?r[zs].call(e,[]):r[zs].call(e,[s])}function xc(e,t){throw new Error(`Failed to handle ${e} at ${t}`)}function E2(e,t){ds(Qt(e.dataType)||un(e.dataType),"Expected snippet type to be struct/unstruct.");let s=e.dataType.propTypes[t];if(s)return s=lo(s),ve(ce`${e}.${t}`,s,e.origin,e.possibleSideEffects)}var Of={rank:Number.POSITIVE_INFINITY,action:"none"};function Ml(e,t){let s=lo(e),r=lo(t);if(s.type===r.type)return s.type==="struct"&&s!==r?{rank:1,action:"cast",targetType:t}:{rank:0,action:"none"};if(s.type==="abstractFloat"){if(r.type==="f32")return{rank:1,action:"none"};if(r.type==="f16")return{rank:2,action:"none"}}if(s.type==="abstractInt"){if(r.type==="i32")return{rank:3,action:"none"};if(r.type==="u32")return{rank:4,action:"none"};if(r.type==="abstractFloat")return{rank:5,action:"none"};if(r.type==="f32")return{rank:6,action:"none"};if(r.type==="f16")return{rank:7,action:"none"}}return Rt(s)&&Rt(r)&&s.type[3]===r.type[3]?Ml(s.primitive,r.primitive):rn(s)&&rn(r)&&s.type[3]===r.type[3]?{rank:0,action:"none"}:Of}function fM(e,t){let s=lo(e),r=lo(t);if(pr(s)&&s.implicit&&Ml(s.inner,r).rank({sourceIndex:i,action:n.action,...n.action==="cast"&&{targetType:n.targetType}}));return{targetType:r.type,actions:o,hasImplicitConversions:o.some(n=>n.action==="cast")}}function Vf(e,t){if(e.length===0)return;let s=[...new Set((t||e).map(lo))],r=lp(e,s,!1);if(r)return r;let o=lp(e,s,!0);if(o)return o}function yM(e,t,s,r){if(s.action==="none")return r===t.dataType?t:Ff(r,t);switch(s.action){case"ref":return ve(new wn(t,r),r,t.origin,t.possibleSideEffects);case"deref":return Wf(t);case"cast":if(Qt(t.dataType)&&Qt(r)){let o=xe(t.dataType)??"",n=xe(r)??"";if(t.possibleSideEffects)throw new Error(`Cannot resolve struct cast from '${o}' to '${n}'. Store the value to a variable first, then cast it.`);let i=Object.entries(r.propTypes).map(([c,_])=>{let u=E2(t,c);if(!u)throw new Error(`Cannot auto-convert struct '${o}' to '${n}' because the property '${c}' is missing.`);let m=Qn(e,[u],[_]);if(!m||!m[0])throw new Error(`Cannot auto-convert struct '${o}' to '${n}' because type '${xe(u.dataType)??""}' is not convertible to '${xe(lo(_))??""}'.`);return m[0]}),d=e.resolve(r).value;return ve(`${d}(${i.map(c=>c.value).join(", ")})`,r,"runtime",!1)}return P2(e,r,t);default:xc(s.action,"applyActionToSnippet")}}function fr(e,t){if(e.some(r=>r===Ut))return;let s=Vf(e,t);if(s)return e.map(r=>Rt(r)||rn(r)?r:s.targetType)}function Iu(e,t){if(e.some(r=>r===Ut))return;let s=lp(e,[...new Set((t||e).map(lo))],!1);if(s)return e.map(r=>Rt(r)||rn(r)?r:s.targetType)}function Qn(e,t,s,r=!0){let o=t.map(i=>i.dataType);if(o.some(i=>i===Ut))return;ds(!(Array.isArray(s)&&s.length===0),"Internal error, expected 'restrictTo' to not be an empty array.");let n=Vf(o,s);if(n)return r&&n.hasImplicitConversions&&Vt.warn("implicit-conversion",`Implicit conversions from [ +${t.map(i=>` ${e.resolveSnippet(i).value}: ${io(i.dataType)}`).join(`, +`)} +] to ${n.targetType.type} are supported, but not recommended. +Consider using explicit conversions instead.`),t.map((i,d)=>{let c=n.actions[d];return ds(c,"Action should not be undefined"),yM(e,i,c,n.targetType)})}function Fr(e,t,s,r=!0){let o=Array.isArray(s)?s:[s],{value:n,dataType:i,origin:d,possibleSideEffects:c}=t;if(o.length===1){let u=o[0];if(u===i)return ve(n,u,d,c);if(i===Ut)return e.resolveSnippet(ve(n,u,d,c))}let _=Qn(e,[t],o,r);if(_)return _[0];throw new Qe(`Cannot convert value of type '${String(i)}' to any of the target types: [${o.map(u=>u.type).join(", ")}]`)}function ex(e,t,s){return Object.entries(t.propTypes).map(([r,o])=>{let n=s[r];if(!n)throw new Error(`Missing property ${r}`);return Qn(e,[n],[o])?.[0]??n})}function ei(e){let t=((...s)=>e.normalImpl(...s));return ot(t,e.name),t.toString=()=>e.name,t[zs]={get strictSignature(){},call(s,r){let o=e.argTypes(...r.map(d=>pr(d.dataType)&&d.dataType.implicit?d.dataType.inner:d.dataType)),n=r.map((d,c)=>{let _=o[c];if(!_)throw new Error("Function called with invalid arguments");return Fr(s,d,_,!1)}),i;if(n.every(d=>hs(d))){s.pushMode(new _d);try{i=ve(e.normalImpl(...n.map(d=>d.value)),e.schema(),"constant")}finally{s.popMode("normal")}}else i=e.codegenImpl(s,n);return r.some(d=>d.possibleSideEffects)?i:aM(i)}},t}var hM=ei({name:"bool",schema:()=>ft,argTypes:e=>e?[e]:[],normalImpl(e=!1){if(typeof e=="boolean")return e;if(typeof e=="number"){if(!Number.isFinite(e))throw new Cc(e,ft);return!!e}throw new Error(`Invalid argument type for 'd.bool'. Got '${typeof e}', expected number or boolean`)},codegenImpl:(e,[t])=>{if(t===void 0)return e.gen.typeInstantiation(ft,[]);if(Kn(t.dataType)||Qd(t))return e.gen.typeInstantiation(ft,[t]);throw t.dataType===Ut?new Qe("Unknown argument type for 'd.bool'."):new Ts([t.dataType],[ft,R,Z,a,xs])}}),ft=Object.assign(hM,{[B]:{},type:"bool"}),xM=ei({name:"u32",schema:()=>R,argTypes:e=>e?[e]:[],normalImpl(e){if(e===void 0)return 0;if(typeof e=="boolean")return e?1:0;if(!Number.isFinite(e))throw new Cc(e,R);if(!Number.isInteger(e)){let t=Math.trunc(e);return t<0?0:t>4294967295?4294967295:t}return(e&4294967295)>>>0},codegenImpl:(e,[t])=>e.gen.typeInstantiation(R,t?[t]:[])}),R=Object.assign(xM,{[B]:{},type:"u32"}),gM=ei({name:"i32",schema:()=>Z,argTypes:e=>e?[e]:[],normalImpl(e){if(e===void 0)return 0;if(typeof e=="boolean")return e?1:0;if(!Number.isFinite(e))throw new Cc(e,Z);return e|0},codegenImpl:(e,[t])=>e.gen.typeInstantiation(Z,t?[t]:[])}),nI={[B]:{},type:"u16"},Z=Object.assign(gM,{[B]:{},type:"i32"}),bM=ei({name:"f32",schema:()=>a,argTypes:e=>e?[e]:[],normalImpl(e){if(e===void 0)return 0;if(typeof e=="boolean")return e?1:0;if(!Number.isFinite(e))throw new Cc(e,a);return Math.fround(e)},codegenImpl:(e,[t])=>e.gen.typeInstantiation(a,t?[t]:[])}),a=Object.assign(bM,{[B]:{},type:"f32"}),k2=new ArrayBuffer(4),wM=new Float32Array(k2),TM=new Uint32Array(k2);function Pl(e){wM[0]=e;let t=TM[0],s=t>>>31&1,r=t>>>23&255,o=t&8388607;if(r===255)return s<<15|31744|(o?512:0);if(r=r-127+15,r<=0){if(r<-10)return s<<15;let c=o|8388608,_=14-r,u=c>>>_-1&1,m=c&(1<<_-1)-1?1:0,p=c>>>_;return u&(m|p&1)&&(p+=1),s<<15|p}if(r>=31)return s<<15|31744;let n=o>>>12&1,i=o&4095?1:0,d=o>>>13;return n&(i|d&1)&&(d+=1),d===1024&&(d=0,++r,r>=31)?s<<15|31744:s<<15|r<<10|d}function Nf(e){let t=e&32768?-1:1,s=e>>10&31,r=e&1023;return s===0?r?t*r*2**-24:t*0:s===31?r?NaN:t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t*(1+r/1024)*2**(s-15)}function SM(e){return Nf(Pl(e))}var AM=ei({name:"f16",schema:()=>xs,argTypes:e=>e?[e]:[],normalImpl(e){if(e===void 0)return 0;if(typeof e=="boolean")return e?1:0;if(!Number.isFinite(e))throw new Cc(e,xs);return SM(e)},codegenImpl:(e,[t])=>e.gen.typeInstantiation(xs,t?[t]:[])}),xs=Object.assign(AM,{[B]:{},type:"f16"}),Yc={[B]:{},type:"abstractInt",toString(){return"abstractInt"},concretized:Z},qa={[B]:{},type:"abstractFloat",toString(){return"abstractFloat"},concretized:a};function on(e){return e>=2**63||e<-(2**63)?ve(e,qa,"constant",!1):Number.isInteger(e)?(Number.isSafeInteger(e)||Vt.warn("precision-loss",`The integer ${e} exceeds the safe integer range and may have lost precision.`),ve(e,Yc,"constant",!1)):ve(e,qa,"constant",!1)}function no(e){return e.type==="abstractFloat"?a:e.type==="abstractInt"?Z:e}function MM(e){return Ff(no(e.dataType),e)}function Wr(e){if(Gc(e))return e;if(M2(e))throw new Error("Cannot use refs (d.ref(...)) from the outer scope.");let t=Gu(e);return t||(lr(e)||Do(e)?ve(e,Ru(e),"constant",!1):typeof e=="number"?on(e):typeof e=="boolean"?ve(e,ft,"constant",!1):ve(e,Ut,"constant",!1))}var ic=class{[B]=!0;type;elements;constructor(e,t){this.type=e,this.elements=t}toString(){return"ArrayExpression"}[kt](e){for(let t of this.elements)if(en(t)&&!Io(t.dataType)){let s=e.resolveSnippet(t).value,r=e.resolve(no(t.dataType)).value;throw new Qe(`'${s}' reference cannot be used in an array constructor. +----- +Try '${r}(${s})' or 'arrayOf(${r}, count)([...])' to copy the value instead. +-----`)}return e.gen.typeInstantiation(this.type,this.elements)}};function Ao(e){let t=((...s)=>e(...s));return t.toString=()=>"comptime",t[Xs]=e,t[zs]={call(s,r){if(!r.every(o=>hs(o)))throw new Qe(`Called comptime function with runtime-known values: ${r.filter(o=>!hs(o)).map(o=>`'${o.value}'`).join(", ")}`);s.pushMode(new _d);try{return Wr(e(...r.map(o=>o.value)))}finally{s.popMode()}}},t.$name=s=>(ot(e,s),t),Object.defineProperty(t,B,{value:{isComptime:!0}}),t}var Ys=class extends Error{constructor(e){super(e),this.name=this.constructor.name}};function pe(e){let t=((...s)=>{if(typeof e.normalImpl=="string")throw new Ys(e.normalImpl);return e.normalImpl(...s)});return e.name&&ot(t,e.name),t.toString=()=>e.name??"",t[zs]={get strictSignature(){return typeof e.signature!="function"?e.signature:void 0},call(s,r){let{argTypes:o,returnType:n}=typeof e.signature=="function"?e.signature(...r.map(_=>pr(_.dataType)&&_.dataType.implicit?_.dataType.inner:_.dataType)):e.signature,i=r.map((_,u)=>{let m=o[u];if(!m)throw new Error("Function called with invalid arguments");return Fr(s,_,m,!e.ignoreImplicitCastWarning)});if(!e.noComptime&&i.every(_=>hs(_))&&typeof e.normalImpl=="function"){s.pushMode(new _d);try{return ve(e.normalImpl(...i.map(_=>_.value)),n,"constant",e.sideEffects)}catch(_){if(!(_ instanceof Ys))throw _}finally{s.popMode("normal")}}let d=e.sideEffects||r.some(_=>_.possibleSideEffects),c=no(n);return ve(e.codegenImpl(s,i,c),c,"runtime",d)}},t}var fn=["x","y","z","w"],vn=["r","g","b","a"],tn=class Ua extends Array{static#e=(()=>{for(let t=0;t<4;t++)for(let s=0;s<4;s++)for(let r=0;r<4;r++)for(let o=0;o<4;o++){let n=`${fn[t]}${fn[s]}${fn[r]}${fn[o]}`,i=`${vn[t]}${vn[s]}${vn[r]}${vn[o]}`;Object.defineProperty(Ua.prototype,n,{get(){return new this._Vec4(this[t],this[s],this[r],this[o])}}),Object.defineProperty(Ua.prototype,i,{get(){return new this._Vec4(this[t],this[s],this[r],this[o])}})}for(let t=0;t<4;t++)for(let s=0;s<4;s++)for(let r=0;r<4;r++){let o=`${fn[t]}${fn[s]}${fn[r]}`,n=`${vn[t]}${vn[s]}${vn[r]}`;Object.defineProperty(Ua.prototype,o,{get(){return new this._Vec3(this[t],this[s],this[r])}}),Object.defineProperty(Ua.prototype,n,{get(){return new this._Vec3(this[t],this[s],this[r])}})}for(let t=0;t<4;t++)for(let s=0;s<4;s++){let r=`${fn[t]}${fn[s]}`,o=`${vn[t]}${vn[s]}`;Object.defineProperty(Ua.prototype,r,{get(){return new this._Vec2(this[t],this[s])}}),Object.defineProperty(Ua.prototype,o,{get(){return new this._Vec2(this[t],this[s])}})}})();castElement(){return this[B].elementSchema}[kt](t){let s=Ru(this);return this.every(r=>!r)?t.gen.typeInstantiation(s,[]):this.every(r=>this[0]===r)?t.gen.typeInstantiation(s,[on(this[0])]):t.gen.typeInstantiation(s,this.map(r=>on(r)))}toString(){return`${this.kind}(${this.join(", ")})`}},Lc=class extends tn{e0;e1;constructor(e,t){super(2),this.e0=this.castElement()(e),this.e1=this.castElement()(t??e)}get 0(){return this.e0}get 1(){return this.e1}set 0(e){this.e0=this.castElement()(e)}set 1(e){this.e1=this.castElement()(e)}get x(){return this[0]}get y(){return this[1]}set x(e){this[0]=this.castElement()(e)}set y(e){this[1]=this.castElement()(e)}get r(){return this[0]}get g(){return this[1]}set r(e){this[0]=this.castElement()(e)}set g(e){this[1]=this.castElement()(e)}},Ic=class extends tn{e0;e1;e2;constructor(e,t,s){super(3),this.e0=this.castElement()(e),this.e1=this.castElement()(t??e),this.e2=this.castElement()(s??e)}get 0(){return this.e0}get 1(){return this.e1}get 2(){return this.e2}set 0(e){this.e0=this.castElement()(e)}set 1(e){this.e1=this.castElement()(e)}set 2(e){this.e2=this.castElement()(e)}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}set x(e){this[0]=this.castElement()(e)}set y(e){this[1]=this.castElement()(e)}set z(e){this[2]=this.castElement()(e)}get r(){return this[0]}get g(){return this[1]}get b(){return this[2]}set r(e){this[0]=this.castElement()(e)}set g(e){this[1]=this.castElement()(e)}set b(e){this[2]=this.castElement()(e)}},Dc=class extends tn{e0;e1;e2;e3;constructor(e,t,s,r){super(4),this.e0=this.castElement()(e),this.e1=this.castElement()(t??e),this.e2=this.castElement()(s??e),this.e3=this.castElement()(r??e)}get 0(){return this.e0}get 1(){return this.e1}get 2(){return this.e2}get 3(){return this.e3}set 0(e){this.e0=this.castElement()(e)}set 1(e){this.e1=this.castElement()(e)}set 2(e){this.e2=this.castElement()(e)}set 3(e){this.e3=this.castElement()(e)}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}get w(){return this[3]}set x(e){this[0]=e}set y(e){this[1]=e}set z(e){this[2]=e}set w(e){this[3]=e}get r(){return this[0]}get g(){return this[1]}get b(){return this[2]}get a(){return this[3]}set r(e){this[0]=e}set g(e){this[1]=e}set b(e){this[2]=e}set a(e){this[3]=e}},qf=class $2 extends Lc{get[B](){return{elementSchema:a}}get kind(){return"vec2f"}get _Vec2(){return $2}get _Vec3(){return Zf}get _Vec4(){return sv}},Xf=class U2 extends Lc{get[B](){return{elementSchema:xs}}get kind(){return"vec2h"}get _Vec2(){return U2}get _Vec3(){return Qf}get _Vec4(){return rv}},Hf=class C2 extends Lc{get[B](){return{elementSchema:Z}}get kind(){return"vec2i"}get _Vec2(){return C2}get _Vec3(){return Jf}get _Vec4(){return ov}},jf=class R2 extends Lc{get[B](){return{elementSchema:R}}get kind(){return"vec2u"}get _Vec2(){return R2}get _Vec3(){return ev}get _Vec4(){return nv}},Kf=class z2 extends Lc{get[B](){return{elementSchema:ft}}get kind(){return"vec2"}get _Vec2(){return z2}get _Vec3(){return tv}get _Vec4(){return av}},Zf=class G2 extends Ic{get[B](){return{elementSchema:a}}get kind(){return"vec3f"}get _Vec2(){return qf}get _Vec3(){return G2}get _Vec4(){return sv}},Qf=class Y2 extends Ic{get[B](){return{elementSchema:xs}}get kind(){return"vec3h"}get _Vec2(){return Xf}get _Vec3(){return Y2}get _Vec4(){return rv}},Jf=class L2 extends Ic{get[B](){return{elementSchema:Z}}get kind(){return"vec3i"}get _Vec2(){return Hf}get _Vec3(){return L2}get _Vec4(){return ov}},ev=class I2 extends Ic{get[B](){return{elementSchema:R}}get kind(){return"vec3u"}get _Vec2(){return jf}get _Vec3(){return I2}get _Vec4(){return nv}},tv=class D2 extends Ic{get[B](){return{elementSchema:ft}}get kind(){return"vec3"}get _Vec2(){return Kf}get _Vec3(){return D2}get _Vec4(){return av}},sv=class F2 extends Dc{get[B](){return{elementSchema:a}}get kind(){return"vec4f"}get _Vec2(){return qf}get _Vec3(){return Zf}get _Vec4(){return F2}},rv=class B2 extends Dc{get[B](){return{elementSchema:xs}}get kind(){return"vec4h"}get _Vec2(){return Xf}get _Vec3(){return Qf}get _Vec4(){return B2}},ov=class W2 extends Dc{get[B](){return{elementSchema:Z}}get kind(){return"vec4i"}get _Vec2(){return Hf}get _Vec3(){return Jf}get _Vec4(){return W2}},nv=class O2 extends Dc{get[B](){return{elementSchema:R}}get kind(){return"vec4u"}get _Vec2(){return jf}get _Vec3(){return ev}get _Vec4(){return O2}},av=class V2 extends Dc{get[B](){return{elementSchema:ft}}get kind(){return"vec4"}get _Vec2(){return Kf}get _Vec3(){return tv}get _Vec4(){return V2}},lt=Er(qf,a),Vs=Er(Xf,xs),Xt=Er(Hf,Z),Ct=Er(jf,R),Or=Er(Kf,ft),It=Er(Zf,a),Pr=Er(Qf,xs),cs=Er(Jf,Z),gt=Er(ev,R),Vr=Er(tv,ft),Oe=Er(sv,a),Ns=Er(rv,xs),Wt=Er(ov,Z),Et=Er(nv,R),Nr=Er(av,ft),PM={vec2f:lt,vec2h:Vs,vec2i:Xt,vec2u:Ct,"vec2":Or,vec3f:It,vec3h:Pr,vec3i:cs,vec3u:gt,"vec3":Vr,vec4f:Oe,vec4h:Ns,vec4i:Wt,vec4u:Et,"vec4":Nr};function Er(e,t){let{kind:s,length:r}=new e,o=r,i=ei({name:s,schema:()=>d,argTypes:(...c)=>c.map(_=>Rt(_)?_:t),normalImpl:(...c)=>{let _=Array.from({length:c.length}),u=0;for(let m of c)if(typeof m=="number"||typeof m=="boolean")_[u++]=m;else for(let p=0;pc.gen.typeInstantiation(d,_)}),d=Object.assign(i,{[B]:{},type:s,primitive:t,componentCount:o,[id]:void 0});return e.prototype.schema=d,d}var Ci=class{};function iv(e){let t=ei({name:e.type,schema:()=>s,normalImpl:(...r)=>{let o=[];for(let n of r)if(typeof n=="number")o.push(n);else for(let i=0;ir.map(o=>Rt(o)?o:a),codegenImpl:(r,o)=>r.gen.typeInstantiation(s,o)}),s=Object.assign(t,{[B]:{},type:e.type,primitive:a,identity:LM[e.columns],translation:e.columns===4?IM:void 0,scaling:e.columns===4?DM:void 0,rotationX:e.columns===4?FM:void 0,rotationY:e.columns===4?BM:void 0,rotationZ:e.columns===4?WM:void 0});return e.MatImpl.prototype.schema=s,s}var tx=[0,1,2,3],EM=class extends Ci{[B]=!0;columns;length=4;constructor(...e){super(),this.columns=[this.makeColumn(e[0],e[1]),this.makeColumn(e[2],e[3])]}get 0(){return this.columns[0].x}get 1(){return this.columns[0].y}get 2(){return this.columns[1].x}get 3(){return this.columns[1].y}set 0(e){this.columns[0].x=e}set 1(e){this.columns[0].y=e}set 2(e){this.columns[1].x=e}set 3(e){this.columns[1].y=e}*[Symbol.iterator](){yield this[0],yield this[1],yield this[2],yield this[3]}[kt](e){return e.gen.typeInstantiation(Gn,tx.map(t=>on(this[t])))}toString(){return`${this.kind}(${tx.map(e=>this[e]).join(", ")})`}},kM=class extends EM{kind="mat2x2f";makeColumn(e,t){return lt(e,t)}},sx=[0,1,2,4,5,6,8,9,10],$M=class extends Ci{[B]=!0;columns;length=12;constructor(...e){super(),this.columns=[this.makeColumn(e[0],e[1],e[2]),this.makeColumn(e[3],e[4],e[5]),this.makeColumn(e[6],e[7],e[8])]}get 0(){return this.columns[0].x}get 1(){return this.columns[0].y}get 2(){return this.columns[0].z}get 3(){return 0}get 4(){return this.columns[1].x}get 5(){return this.columns[1].y}get 6(){return this.columns[1].z}get 7(){return 0}get 8(){return this.columns[2].x}get 9(){return this.columns[2].y}get 10(){return this.columns[2].z}get 11(){return 0}set 0(e){this.columns[0].x=e}set 1(e){this.columns[0].y=e}set 2(e){this.columns[0].z=e}set 3(e){}set 4(e){this.columns[1].x=e}set 5(e){this.columns[1].y=e}set 6(e){this.columns[1].z=e}set 7(e){}set 8(e){this.columns[2].x=e}set 9(e){this.columns[2].y=e}set 10(e){this.columns[2].z=e}set 11(e){}*[Symbol.iterator](){for(let e=0;e<12;e++)yield this[e]}[kt](e){return e.gen.typeInstantiation(Yn,sx.map(t=>on(this[t])))}toString(){return`${this.kind}(${sx.map(e=>this[e]).join(", ")})`}},UM=class extends $M{kind="mat3x3f";makeColumn(e,t,s){return It(e,t,s)}},rx=Array.from({length:16},(e,t)=>t),CM=class extends Ci{[B]=!0;columns;constructor(...e){super(),this.columns=[this.makeColumn(e[0],e[1],e[2],e[3]),this.makeColumn(e[4],e[5],e[6],e[7]),this.makeColumn(e[8],e[9],e[10],e[11]),this.makeColumn(e[12],e[13],e[14],e[15])]}length=16;get 0(){return this.columns[0].x}get 1(){return this.columns[0].y}get 2(){return this.columns[0].z}get 3(){return this.columns[0].w}get 4(){return this.columns[1].x}get 5(){return this.columns[1].y}get 6(){return this.columns[1].z}get 7(){return this.columns[1].w}get 8(){return this.columns[2].x}get 9(){return this.columns[2].y}get 10(){return this.columns[2].z}get 11(){return this.columns[2].w}get 12(){return this.columns[3].x}get 13(){return this.columns[3].y}get 14(){return this.columns[3].z}get 15(){return this.columns[3].w}set 0(e){this.columns[0].x=e}set 1(e){this.columns[0].y=e}set 2(e){this.columns[0].z=e}set 3(e){this.columns[0].w=e}set 4(e){this.columns[1].x=e}set 5(e){this.columns[1].y=e}set 6(e){this.columns[1].z=e}set 7(e){this.columns[1].w=e}set 8(e){this.columns[2].x=e}set 9(e){this.columns[2].y=e}set 10(e){this.columns[2].z=e}set 11(e){this.columns[2].w=e}set 12(e){this.columns[3].x=e}set 13(e){this.columns[3].y=e}set 14(e){this.columns[3].z=e}set 15(e){this.columns[3].w=e}*[Symbol.iterator](){for(let e=0;e<16;e++)yield this[e]}[kt](e){return e.gen.typeInstantiation(Hs,rx.map(t=>on(this[t])))}toString(){return`${this.kind}(${rx.map(e=>this[e]).join(", ")})`}},RM=class extends CM{kind="mat4x4f";makeColumn(e,t,s,r){return Oe(e,t,s,r)}},zM=Ao(()=>Gn(1,0,0,1)).$name("identity2"),GM=Ao(()=>Yn(1,0,0,0,1,0,0,0,1)).$name("identity3"),YM=Ao(()=>Hs(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)).$name("identity4"),LM={2:zM,3:GM,4:YM},IM=pe({name:"translation4",normalImpl:e=>Hs(1,0,0,0,0,1,0,0,0,0,1,0,e.x,e.y,e.z,1),get signature(){return{argTypes:[It],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, ${t}.x, ${t}.y, ${t}.z, 1)`,sideEffects:!1}),DM=pe({name:"scaling4",normalImpl:e=>Hs(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1),get signature(){return{argTypes:[It],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(${t}.x, 0, 0, 0, 0, ${t}.y, 0, 0, 0, 0, ${t}.z, 0, 0, 0, 0, 1)`,sideEffects:!1}),FM=pe({name:"rotationX4",normalImpl:e=>Hs(1,0,0,0,0,Math.cos(e),Math.sin(e),0,0,-Math.sin(e),Math.cos(e),0,0,0,0,1),get signature(){return{argTypes:[a],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(1, 0, 0, 0, 0, cos(${t}), sin(${t}), 0, 0, -sin(${t}), cos(${t}), 0, 0, 0, 0, 1)`,sideEffects:!1}),BM=pe({name:"rotationY4",normalImpl:e=>Hs(Math.cos(e),0,-Math.sin(e),0,0,1,0,0,Math.sin(e),0,Math.cos(e),0,0,0,0,1),get signature(){return{argTypes:[a],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(cos(${t}), 0, -sin(${t}), 0, 0, 1, 0, 0, sin(${t}), 0, cos(${t}), 0, 0, 0, 0, 1)`,sideEffects:!1}),WM=pe({name:"rotationZ4",normalImpl:e=>Hs(Math.cos(e),Math.sin(e),0,0,-Math.sin(e),Math.cos(e),0,0,0,0,1,0,0,0,0,1),get signature(){return{argTypes:[a],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(cos(${t}), sin(${t}), 0, 0, -sin(${t}), cos(${t}), 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)`,sideEffects:!1}),Gn=iv({type:"mat2x2f",rows:2,columns:2,MatImpl:kM}),Yn=iv({type:"mat3x3f",rows:3,columns:3,MatImpl:UM}),Hs=iv({type:"mat4x4f",rows:4,columns:4,MatImpl:RM});var OM=(e,t,s)=>{if(e===t)return 0;let r=N2((s-e)/(t-e),0,1);return r*r*(3-2*r)},N2=(e,t,s)=>Math.min(Math.max(t,e),s),dv=new ArrayBuffer(4),q2=new Float32Array(dv),cv=new Uint32Array(dv),VM=new Int32Array(dv);function Zo(e){return cv[0]=e,q2[0]}function Qo(e){return cv[0]=e,VM[0]}function Jo(e){return q2[0]=e,cv[0]}var ox=e=>Math.sqrt(e.x**2+e.y**2),nx=e=>Math.sqrt(e.x**2+e.y**2+e.z**2),ax=e=>Math.sqrt(e.x**2+e.y**2+e.z**2+e.w**2),G_=(e,t)=>e.x*t.x+e.y*t.y,Y_=(e,t)=>e.x*t.x+e.y*t.y+e.z*t.z,L_=(e,t)=>e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w,ix=e=>(t,s)=>Ct(e(t.x,s.x),e(t.y,s.y)),dx=e=>(t,s)=>gt(e(t.x,s.x),e(t.y,s.y),e(t.z,s.z)),cx=e=>(t,s)=>Et(e(t.x,s.x),e(t.y,s.y),e(t.z,s.z),e(t.w,s.w)),_x=e=>(t,s)=>Xt(e(t.x,s.x),e(t.y,s.y)),lx=e=>(t,s)=>cs(e(t.x,s.x),e(t.y,s.y),e(t.z,s.z)),ux=e=>(t,s)=>Wt(e(t.x,s.x),e(t.y,s.y),e(t.z,s.z),e(t.w,s.w)),qr={all:{"vec2":e=>e.x&&e.y,"vec3":e=>e.x&&e.y&&e.z,"vec4":e=>e.x&&e.y&&e.z&&e.w},length:{vec2f:ox,vec2h:ox,vec3f:nx,vec3h:nx,vec4f:ax,vec4h:ax},mulMxM:{mat2x2f:(e,t)=>{let s=e.columns,r=t.columns;return Gn(s[0].x*r[0].x+s[1].x*r[0].y,s[0].y*r[0].x+s[1].y*r[0].y,s[0].x*r[1].x+s[1].x*r[1].y,s[0].y*r[1].x+s[1].y*r[1].y)},mat3x3f:(e,t)=>{let s=e.columns,r=t.columns;return Yn(s[0].x*r[0].x+s[1].x*r[0].y+s[2].x*r[0].z,s[0].y*r[0].x+s[1].y*r[0].y+s[2].y*r[0].z,s[0].z*r[0].x+s[1].z*r[0].y+s[2].z*r[0].z,s[0].x*r[1].x+s[1].x*r[1].y+s[2].x*r[1].z,s[0].y*r[1].x+s[1].y*r[1].y+s[2].y*r[1].z,s[0].z*r[1].x+s[1].z*r[1].y+s[2].z*r[1].z,s[0].x*r[2].x+s[1].x*r[2].y+s[2].x*r[2].z,s[0].y*r[2].x+s[1].y*r[2].y+s[2].y*r[2].z,s[0].z*r[2].x+s[1].z*r[2].y+s[2].z*r[2].z)},mat4x4f:(e,t)=>{let s=e.columns,r=t.columns;return Hs(s[0].x*r[0].x+s[1].x*r[0].y+s[2].x*r[0].z+s[3].x*r[0].w,s[0].y*r[0].x+s[1].y*r[0].y+s[2].y*r[0].z+s[3].y*r[0].w,s[0].z*r[0].x+s[1].z*r[0].y+s[2].z*r[0].z+s[3].z*r[0].w,s[0].w*r[0].x+s[1].w*r[0].y+s[2].w*r[0].z+s[3].w*r[0].w,s[0].x*r[1].x+s[1].x*r[1].y+s[2].x*r[1].z+s[3].x*r[1].w,s[0].y*r[1].x+s[1].y*r[1].y+s[2].y*r[1].z+s[3].y*r[1].w,s[0].z*r[1].x+s[1].z*r[1].y+s[2].z*r[1].z+s[3].z*r[1].w,s[0].w*r[1].x+s[1].w*r[1].y+s[2].w*r[1].z+s[3].w*r[1].w,s[0].x*r[2].x+s[1].x*r[2].y+s[2].x*r[2].z+s[3].x*r[2].w,s[0].y*r[2].x+s[1].y*r[2].y+s[2].y*r[2].z+s[3].y*r[2].w,s[0].z*r[2].x+s[1].z*r[2].y+s[2].z*r[2].z+s[3].z*r[2].w,s[0].w*r[2].x+s[1].w*r[2].y+s[2].w*r[2].z+s[3].w*r[2].w,s[0].x*r[3].x+s[1].x*r[3].y+s[2].x*r[3].z+s[3].x*r[3].w,s[0].y*r[3].x+s[1].y*r[3].y+s[2].y*r[3].z+s[3].y*r[3].w,s[0].z*r[3].x+s[1].z*r[3].y+s[2].z*r[3].z+s[3].z*r[3].w,s[0].w*r[3].x+s[1].w*r[3].y+s[2].w*r[3].z+s[3].w*r[3].w)}},mulMxV:{mat2x2f:(e,t)=>{let s=e.columns;return lt(s[0].x*t.x+s[1].x*t.y,s[0].y*t.x+s[1].y*t.y)},mat3x3f:(e,t)=>{let s=e.columns;return It(s[0].x*t.x+s[1].x*t.y+s[2].x*t.z,s[0].y*t.x+s[1].y*t.y+s[2].y*t.z,s[0].z*t.x+s[1].z*t.y+s[2].z*t.z)},mat4x4f:(e,t)=>{let s=e.columns;return Oe(s[0].x*t.x+s[1].x*t.y+s[2].x*t.z+s[3].x*t.w,s[0].y*t.x+s[1].y*t.y+s[2].y*t.z+s[3].y*t.w,s[0].z*t.x+s[1].z*t.y+s[2].z*t.z+s[3].z*t.w,s[0].w*t.x+s[1].w*t.y+s[2].w*t.z+s[3].w*t.w)}},mulVxM:{mat2x2f:(e,t)=>{let s=t.columns;return lt(e.x*s[0].x+e.y*s[0].y,e.x*s[1].x+e.y*s[1].y)},mat3x3f:(e,t)=>{let s=t.columns;return It(e.x*s[0].x+e.y*s[0].y+e.z*s[0].z,e.x*s[1].x+e.y*s[1].y+e.z*s[1].z,e.x*s[2].x+e.y*s[2].y+e.z*s[2].z)},mat4x4f:(e,t)=>{let s=t.columns;return Oe(e.x*s[0].x+e.y*s[0].y+e.z*s[0].z+e.w*s[0].w,e.x*s[1].x+e.y*s[1].y+e.z*s[1].z+e.w*s[1].w,e.x*s[2].x+e.y*s[2].y+e.z*s[2].z+e.w*s[2].w,e.x*s[3].x+e.y*s[3].y+e.z*s[3].z+e.w*s[3].w)}},dot:{vec2f:G_,vec2h:G_,vec2i:G_,vec2u:G_,vec3f:Y_,vec3h:Y_,vec3i:Y_,vec3u:Y_,vec4f:L_,vec4h:L_,vec4i:L_,vec4u:L_},cross:{vec3f:(e,t)=>It(e.y*t.z-e.z*t.y,e.z*t.x-e.x*t.z,e.x*t.y-e.y*t.x),vec3h:(e,t)=>Pr(e.y*t.z-e.z*t.y,e.z*t.x-e.x*t.z,e.x*t.y-e.y*t.x)},bitShiftLeft:{vec2i:_x((e,t)=>e<e<e<e<e<e<e>>t),vec2u:ix((e,t)=>e>>>t),vec3i:lx((e,t)=>e>>t),vec3u:dx((e,t)=>e>>>t),vec4i:ux((e,t)=>e>>t),vec4u:cx((e,t)=>e>>>t)},bitcastU32toF32:{vec2u:e=>lt(Zo(e.x),Zo(e.y)),vec3u:e=>It(Zo(e.x),Zo(e.y),Zo(e.z)),vec4u:e=>Oe(Zo(e.x),Zo(e.y),Zo(e.z),Zo(e.w))},bitcastU32toI32:{vec2u:e=>Xt(Qo(e.x),Qo(e.y)),vec3u:e=>cs(Qo(e.x),Qo(e.y),Qo(e.z)),vec4u:e=>Wt(Qo(e.x),Qo(e.y),Qo(e.z),Qo(e.w))},bitcastF32toU32:{vec2f:e=>Ct(Jo(e.x),Jo(e.y)),vec3f:e=>gt(Jo(e.x),Jo(e.y),Jo(e.z)),vec4f:e=>Et(Jo(e.x),Jo(e.y),Jo(e.z),Jo(e.w))}},NM={vec2f:Or,vec2h:Or,vec2i:Or,vec2u:Or,"vec2":Or,vec3f:Vr,vec3h:Vr,vec3i:Vr,vec3u:Vr,"vec3":Vr,vec4f:Nr,vec4h:Nr,vec4i:Nr,vec4u:Nr,"vec4":Nr},up={...PM,mat2x2f:Gn,mat3x3f:Yn,mat4x4f:Hs};function qM(e,t){let s=e==="boolean"?NM:up;if(t in s)return s[t];throw new Error(`No corresponding vector/matrix type for '${t}' kind in '${e}' mode.`)}function XM(e){return e.kind.startsWith("vec")?e:e.columns.flat()}function X2(e,t,s){let r=t.map(HM);if(r.every(c=>c==="boolean"||c==="number"))return e(...t);let o=r[0];ds(o,"Expected kind of the first argument to be present.");let n=qM(s,o),i=t.map(XM),d=i[0]?.length;return ds(d!==void 0,"Expected constructor to have at least one argument."),n(...Array.from({length:d},(c,_)=>e(...i.map(u=>u[_]))))}function Tt(e,t){return X2(e,t,"first")}function Du(e,t){return X2(e,t,"boolean")}function HM(e){return typeof e=="number"?"number":typeof e=="boolean"?"boolean":e.kind}function _v(e){let[t,s]=e;if(typeof t=="number"&&lr(s)){let r=up[s.kind];return[r(t),s]}else if(lr(t)&&typeof s=="number"){let r=up[t.kind];return[t,r(s)]}return[t,s]}var mx=e=>"primitive"in e?e.primitive:e,lv=e=>(t,s)=>{let{restrict:r}=e??{},o=u=>{throw r?new Ts([t,s],r):new Error(`Cannot apply operator to ${t.type} and ${s.type}: ${u}`)};if(e?.noMat&&(rn(t)||rn(s)))return o("matrices not supported");let n=Rt(t)||rn(t),i=Rt(s)||rn(s);if(!n&&!i){let u=fr([t,s],r);return u?{argTypes:u,returnType:u[0]}:o("incompatible scalar types")}if(n&&i)return e?.matVecProduct&&Rt(t)!==Rt(s)?{argTypes:[t,s],returnType:Rt(t)?t:s}:t.type!==s.type?o("operands must have the same type"):{argTypes:[t,s],returnType:t};let[d,c]=n?[s,t]:[t,s],_=fr([d],[mx(c)]);return _?{argTypes:n?[t,_[0]]:[_[0],s],returnType:c}:o(`scalar not convertible to ${mx(c).type}`)},H2=lv(),jM=lv({matVecProduct:!0}),j2=lv({noMat:!0,restrict:[a,xs,qa]});function K2(e,t){if(typeof e=="number"&&typeof t=="number")return e+t;if(typeof e=="number"&&lr(t))return Tt(s=>e+s,[t]);if(lr(e)&&typeof t=="number")return Tt(s=>s+t,[e]);if(lr(e)&&lr(t)||Do(e)&&Do(t))return Tt((s,r)=>s+r,[e,t]);throw new Error("Add/Sub called with invalid arguments.")}var Pn=pe({name:"add",signature:H2,normalImpl:K2,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"+",s),sideEffects:!1});function KM(e,t){return K2(e,Z2(-1,t))}var ht=pe({name:"sub",signature:H2,normalImpl:KM,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"-",s),sideEffects:!1});function Z2(e,t){if(typeof e=="number"&&typeof t=="number")return e*t;if(typeof e=="number"&&(lr(t)||Do(t)))return Tt(s=>e*s,[t]);if((lr(e)||Do(e))&&typeof t=="number")return Tt(s=>s*t,[e]);if(lr(e)&&lr(t))return Tt((s,r)=>s*r,[e,t]);if(H0(e)&&Do(t))return qr.mulVxM[t.kind](e,t);if(Do(e)&&H0(t))return qr.mulMxV[e.kind](e,t);if(Do(e)&&Do(t))return qr.mulMxM[e.kind](e,t);throw new Error("Mul called with invalid arguments.")}var vr=pe({name:"mul",signature:jM,normalImpl:Z2,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"*",s),sideEffects:!1});function ZM(e,t){return Tt((s,r)=>s/r,_v([e,t]))}var mp=pe({name:"div",signature:j2,normalImpl:ZM,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"/",s),ignoreImplicitCastWarning:!0,sideEffects:!1}),bo=pe({name:"mod",signature:j2,normalImpl:((e,t)=>Tt((s,r)=>s%r,_v([e,t]))),codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"%",s),sideEffects:!1});function QM(e){return Tt(t=>-t,[e])}var px=pe({name:"neg",signature:e=>({argTypes:[e],returnType:e}),normalImpl:QM,codegenImpl:(e,[t])=>ce`-(${t})`,sideEffects:!1}),Q2={vec2i:Ct,vec2u:Ct,vec3i:gt,vec3u:gt,vec4i:Et,vec4u:Et},J2=(e,t)=>{let s=fr([e],[Xt,cs,Wt,Ct,gt,Et])?.[0];if(!s||!Rt(s))throw new Ts([e],[Xt,cs,Wt,Ct,gt,Et]);let r=s.componentCount,o=r===2?Ct:r===3?gt:Et,n=fr([t],[R,o])?.[0];if(!n)throw new Ts([t],[R,o]);return{argTypes:[s,n],returnType:s}};function JM(e,t){if(bl(e)&&Jb(t)&&e.length==t.length)return qr.bitShiftLeft[e.kind](e,t);if(bl(e)&&typeof t=="number"){let s=Q2[e.kind](t);return qr.bitShiftLeft[e.kind](e,s)}throw new Error("'bitShiftLeft' called with invalid arguments, expected: left-hand side to be an integer vector, right-hand side to be a number or unsigned integer vector of the same arity as the left-hand side.")}var eP=pe({name:"bitShiftLeft",signature:J2,normalImpl:JM,codegenImpl:(e,[t,s])=>{if(Rt(t.dataType)&&!Rt(s.dataType)){let r=t.dataType.componentCount,o=r===2?Ct:r===3?gt:Et;return e.gen.emitBinaryOp(t,"<<",e.gen.typeInstantiation(o,[s]))}return e.gen.emitBinaryOp(t,"<<",s)},sideEffects:!1});function tP(e,t){if(bl(e)&&Jb(t)&&e.length==t.length)return qr.bitShiftRight[e.kind](e,t);if(bl(e)&&typeof t=="number"){let s=Q2[e.kind](t);return qr.bitShiftRight[e.kind](e,s)}throw new Error("'bitShiftRight' called with invalid arguments, expected: left-hand side to be an integer vector, right-hand side to be a number or unsigned integer vector of the same arity as the left-hand side.")}var pp={add:Pn,sub:ht,mul:vr,div:mp,mod:bo,bitShiftLeft:eP,bitShiftRight:pe({name:"bitShiftRight",signature:J2,normalImpl:tP,codegenImpl:(e,[t,s])=>{if(Rt(t.dataType)&&!Rt(s.dataType)){let r=t.dataType.componentCount,o=r===2?Ct:r===3?gt:Et;return e.gen.emitBinaryOp(t,">>",e.gen.typeInstantiation(o,[s]))}return e.gen.emitBinaryOp(t,">>",s)},sideEffects:!1})},uv=class{lhs;operator;constructor(e,t){this.lhs=e,this.operator=t}};function sP(e){return e instanceof uv}function jo(e,t,s){let r=pp[t];Object.defineProperty(e.prototype,s,{value:r});function o(n){return r(this,n)}Object.defineProperty(e.prototype,t,{get(){return Yu()?new uv(this,r):o}})}var fx=!1;function rr(){fx||(fx=!0,jo(tn,"add",dr.plus),jo(Ci,"add",dr.plus),jo(tn,"sub",dr.minus),jo(Ci,"sub",dr.minus),jo(tn,"mul",dr.star),jo(Ci,"mul",dr.star),jo(tn,"div",dr.slash),jo(tn,"mod",dr.percent),jo(tn,"bitShiftLeft",Symbol()),jo(tn,"bitShiftRight",Symbol()))}var mv=new Set(["alias","break","case","const","const_assert","continue","continuing","default","diagnostic","discard","else","enable","false","fn","for","if","let","loop","override","requires","return","struct","switch","true","var","while","NULL","Self","abstract","active","alignas","alignof","as","asm","asm_fragment","async","attribute","auto","await","become","cast","catch","class","co_await","co_return","co_yield","coherent","column_major","common","compile","compile_fragment","concept","const_cast","consteval","constexpr","constinit","crate","debugger","decltype","delete","demote","demote_to_helper","do","dynamic_cast","enum","explicit","export","extends","extern","external","fallthrough","filter","final","finally","friend","from","fxgroup","get","goto","groupshared","highp","impl","implements","import","inline","instanceof","interface","layout","lowp","macro","macro_rules","match","mediump","meta","mod","module","move","mut","mutable","namespace","new","nil","noexcept","noinline","nointerpolation","non_coherent","noncoherent","noperspective","null","nullptr","of","operator","package","packoffset","partition","pass","patch","pixelfragment","precise","precision","premerge","priv","protected","pub","public","readonly","ref","regardless","register","reinterpret_cast","require","resource","restrict","self","set","shared","sizeof","smooth","snorm","static","static_assert","static_cast","std","subroutine","super","target","template","this","thread_local","throw","trait","try","type","typedef","typeid","typename","typeof","union","unless","unorm","unsafe","unsized","use","using","varying","virtual","volatile","wgsl","where","with","writeonly","yield","sampler","uniform","storage"]),rP=new Set(["array","bool","f16","f32","i32","u32","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","vec2","vec3","vec4","bitcast","all","any","select","arrayLength","abs","acos","acosh","asin","asinh","atan","atanh","atan2","ceil","clamp","cos","cosh","countLeadingZeros","countOneBits","countTrailingZeros","cross","degrees","determinant","distance","dot","dot4U8Packed","dot4I8Packed","exp","exp2","extractBits","faceForward","firstLeadingBit","firstTrailingBit","floor","fma","fract","frexp","insertBits","inverseSqrt","ldexp","length","log","log2","max","min","mix","modf","normalize","pow","quantizeToF16","radians","reflect","refract","reverseBits","round","saturate","sign","sin","sinh","smoothstep","sqrt","step","tan","tanh","transpose","trunc","dpdx","dpdxCoarse","dpdxFine","dpdy","dpdyCoarse","dpdyFine","fwidth","fwidthCoarse","fwidthFine","textureDimensions","textureGather","textureGatherCompare","textureLoad","textureNumLayers","textureNumLevels","textureNumSamples","textureSample","textureSampleBias","textureSampleCompare","textureSampleCompareLevel","textureSampleGrad","textureSampleLevel","textureSampleBaseClampToEdge","textureStore","atomicLoad","atomicStore","atomicAdd","atomicSub","atomicMax","atomicMin","atomicAnd","atomicOr","atomicXor","atomicExchange","atomicCompareExchangeWeak","pack4x8snorm","pack4x8unorm","pack4xI8","pack4xU8","pack4xI8Clamp","pack4xU8Clamp","pack2x16snorm","pack2x16unorm","pack2x16float","unpack4x8snorm","unpack4x8unorm","unpack4xI8","unpack4xU8","unpack2x16snorm","unpack2x16unorm","unpack2x16float","storageBarrier","textureBarrier","workgroupBarrier","workgroupUniformLoad","subgroupAdd","subgroupExclusiveAdd","subgroupInclusiveAdd","subgroupAll","subgroupAnd","subgroupAny","subgroupBallot","subgroupBroadcast","subgroupBroadcastFirst","subgroupElect","subgroupMax","subgroupMin","subgroupMul","subgroupExclusiveMul","subgroupInclusiveMul","subgroupOr","subgroupShuffle","subgroupShuffleDown","subgroupShuffleUp","subgroupShuffleXor","subgroupXor","quadBroadcast","quadSwapDiagonal","quadSwapX","quadSwapY"]);function oP(e){if(e){let t=e.replaceAll(/\s/g,"_").replaceAll(/[^\w]/g,"");return Fu(t).success?t:"item"}return"item"}function Fu(e){return e==="_"||e===""?{success:!1,error:"Identifiers cannot be equal to '' or '_'"}:/\s/.test(e)?{success:!1,error:"Identifiers cannot contain whitespace."}:e.startsWith("__")?{success:!1,error:"Identifiers cannot start with double underscores."}:/^(([_\p{XID_Start}][\p{XID_Continue}]+)|([\p{XID_Start}]))$/u.test(e)?{success:!0}:{success:!1,error:"Not compliant with WGSL guidelines."}}function e5(e){let t=Fu(e);return t.success?mv.has(e)?{success:!1,error:"Identifiers cannot start with reserved keywords."}:{success:!0}:t}function ut(e){return Bu(e,!1)}function Qs(e){return Bu(e,!0)}function Bu(e,t){Object.keys(e).forEach(r=>{let o=e5(r);if(!o.success)throw new Error(`Invalid property key '${r}'${o.error?`: ${o.error}`:""}`)});let s=r=>Object.fromEntries(Object.entries(e).map(([o,n])=>[o,aa(n,r?.[o])]));return Object.setPrototypeOf(s,nP),s.propTypes=e,Object.defineProperty(s,B,{value:{isAbstruct:t}}),s}var nP={type:"struct",$name(e){return ot(this,e),this},toString(){return`struct:${xe(this)??""}`}},qs=(e,t)=>{let s=t-1,r=~s;return(e&s)===0?e:(e&r)+t},xt=class{[B]={};type;[zs];constructor(e){this.type=e,this[zs]={call:(t,[s])=>P2(t,$n[this.type],s)}}[Gf](e){return aa($n[this.type],e)}},$n={uint8:R,uint8x2:Ct,uint8x4:Et,sint8:Z,sint8x2:Xt,sint8x4:Wt,unorm8:a,unorm8x2:lt,unorm8x4:Oe,snorm8:a,snorm8x2:lt,snorm8x4:Oe,uint16:R,uint16x2:Ct,uint16x4:Et,sint16:Z,sint16x2:Xt,sint16x4:Wt,unorm16:a,unorm16x2:lt,unorm16x4:Oe,snorm16:a,snorm16x2:lt,snorm16x4:Oe,float16:a,float16x2:lt,float16x4:Oe,float32:a,float32x2:lt,float32x3:It,float32x4:Oe,uint32:R,uint32x2:Ct,uint32x3:gt,uint32x4:Et,sint32:Z,sint32x2:Xt,sint32x3:cs,sint32x4:Wt,"unorm10-10-10-2":Oe,"unorm8x4-bgra":Oe},t5=new Set(Object.keys($n)),aI=new xt("uint8"),iI=new xt("uint8x2"),dI=new xt("uint8x4"),cI=new xt("sint8"),_I=new xt("sint8x2"),lI=new xt("sint8x4"),uI=new xt("unorm8"),mI=new xt("unorm8x2"),pI=new xt("unorm8x4"),fI=new xt("snorm8"),vI=new xt("snorm8x2"),yI=new xt("snorm8x4"),hI=new xt("uint16"),xI=new xt("uint16x2"),gI=new xt("uint16x4"),bI=new xt("sint16"),wI=new xt("sint16x2"),TI=new xt("sint16x4"),SI=new xt("unorm16"),AI=new xt("unorm16x2"),MI=new xt("unorm16x4"),PI=new xt("snorm16"),EI=new xt("snorm16x2"),kI=new xt("snorm16x4"),$I=new xt("float16"),UI=new xt("float16x2"),CI=new xt("float16x4"),RI=new xt("float32"),zI=new xt("float32x2"),GI=new xt("float32x3"),YI=new xt("float32x4"),LI=new xt("uint32"),II=new xt("uint32x2"),DI=new xt("uint32x3"),FI=new xt("uint32x4"),BI=new xt("sint32"),WI=new xt("sint32x2"),OI=new xt("sint32x3"),VI=new xt("sint32x4"),NI=new xt("unorm10-10-10-2"),qI=new xt("unorm8x4-bgra");function aP(e){return mt(e)&&t5.has(e?.type)}var iP={f32:4,f16:2,i32:4,u32:4,bool:4,u16:2,vec2f:8,vec2h:4,vec2i:8,vec2u:8,"vec2":8,vec3f:16,vec3h:8,vec3i:16,vec3u:16,"vec3":16,vec4f:16,vec4h:8,vec4i:16,vec4u:16,"vec4":16,mat2x2f:8,mat3x3f:16,mat4x4f:16,atomic:4};function dP(e){let t=e?.type,s=iP[t];if(s!==void 0)return s;if(Qt(e))return Object.values(e.propTypes).map(rs).reduce((r,o)=>r>o?r:o);if(Us(e))return rs(e.elementType);if(un(e)){let r=Object.values(e.propTypes)[0];return r?ac(r)??1:1}if(Ja(e))return ac(e.elementType)??1;if(zn(e)||ha(e))return ac(e)??rs(e.inner);if(t5.has(t))return 1;throw new Error(`Cannot determine alignment of data: ${io(e)}`)}function cP(e){if(un(e)){let t=Object.values(e.propTypes)[0];return t?wo(t):1}return Ja(e)?wo(e.elementType):ha(e)?ac(e)??wo(e.inner):ac(e)??1}var vx=new WeakMap,yx=new WeakMap;function rs(e){let t=vx.get(e);return t===void 0&&(t=dP(e),vx.set(e,t)),t}function wo(e){let t=yx.get(e);return t===void 0&&(t=cP(e),yx.set(e,t)),t}var _P={bool:4,f32:4,f16:2,i32:4,u32:4,u16:2,vec2f:8,vec2h:4,vec2i:8,vec2u:8,"vec2":8,vec3f:12,vec3h:6,vec3i:12,vec3u:12,"vec3":12,vec4f:16,vec4h:8,vec4i:16,vec4u:16,"vec4":16,mat2x2f:16,mat3x3f:48,mat4x4f:64,uint8:1,uint8x2:2,uint8x4:4,sint8:1,sint8x2:2,sint8x4:4,unorm8:1,unorm8x2:2,unorm8x4:4,snorm8:1,snorm8x2:2,snorm8x4:4,uint16:2,uint16x2:4,uint16x4:8,sint16:2,sint16x2:4,sint16x4:8,unorm16:2,unorm16x2:4,unorm16x4:8,snorm16:2,snorm16x2:4,snorm16x4:8,float16:2,float16x2:4,float16x4:8,float32:4,float32x2:8,float32x3:12,float32x4:16,uint32:4,uint32x2:8,uint32x3:12,uint32x4:16,sint32:4,sint32x2:8,sint32x3:12,sint32x4:16,"unorm10-10-10-2":4,"unorm8x4-bgra":4,atomic:4};function lP(e){let t=0,s=0,r=!0,o=!1;for(let i of Object.values(e.propTypes)){if(Number.isNaN(t))throw new Error("Only the last property of a struct can be unbounded");let d=t;t=qs(t,rs(i));let c=d!==t,_=Xa(i);if(t+=_.size,Number.isNaN(t)&&i.type!=="array")throw new Error("Cannot nest unbounded struct within another struct");o||(!c&&_.isContiguous?s+=_.size:(o=!0,r=!1,c||(s+=_.longestContiguousPrefix)))}let n=qs(t,rs(e));return{isContiguous:t===n&&r,size:n,longestContiguousPrefix:s}}function uP(e){let t=0,s=0,r=!0,o=!1;for(let n of Object.values(e.propTypes)){let i=wo(n),d=t;t=qs(t,i);let c=d!==t;c&&(r=!1);let _=Xa(n);t+=_.size,!o&&(!c&&_.isContiguous?s+=_.size:(o=!0,r=!1,c||(s+=_.longestContiguousPrefix)))}return{isContiguous:r,size:t,longestContiguousPrefix:s}}function mP(e){let t=e.elementType,s=Xa(t),r=s.size,o=qs(r,rs(t)),n=!(o>r)&&s.isContiguous,i=e.elementCount===0?NaN:e.elementCount*o,d;return n?d=i:d=s.longestContiguousPrefix,{size:i,isContiguous:n,longestContiguousPrefix:d}}function pP(e){let t=e.elementType,s=Xa(t),r=s.size,o=qs(r,wo(t)),n=!(o>r)&&s.isContiguous,i=e.elementCount*o,d;return n?d=i:d=s.longestContiguousPrefix,{size:i,isContiguous:n,longestContiguousPrefix:d}}function Xa(e){let t=_P[e.type];if(t!==void 0)return{isContiguous:e.type!=="mat3x3f",size:t,longestContiguousPrefix:e.type==="mat3x3f"?12:t};if(Qt(e))return lP(e);if(un(e))return uP(e);if(Us(e))return mP(e);if(Ja(e))return pP(e);if(zn(e)||ha(e)){let s=sM(e),r=Xa(lo(e));return s?{isContiguous:s===r.size&&r.isContiguous,size:s,longestContiguousPrefix:r.longestContiguousPrefix}:Xa(e.inner)}throw new Error(`Cannot determine memory layout of data: ${e}`)}var hx=new WeakMap;function pv(e,t){let s=hx.get(e);return s===void 0&&(s=Xa(e),hx.set(e,s)),s[t]}function _t(e){return pv(e,"size")}function xx(e){return _t(e)}var pt=Ao(((e,t)=>{if(zn(e)&&!e.attribs.every(s2))throw new Error("Arrays cannot hold decorated types other than @location. Wrap it in a struct instead, e.g. d.arrayOf(d.struct({ value: d.align(16, d.u32) }), n).");return t===void 0?Ao(s=>gx(e,s)):gx(e,t)})).$name("arrayOf");function gx(e,t){let s=r=>{if(r&&r.length!==t)throw new Error(`Array schema of ${t} elements of type ${e.type} called with ${r.length} argument(s).`);return Array.from({length:t},(o,n)=>aa(e,r?.[n]))};if(Object.setPrototypeOf(s,fP),Number.isNaN(_t(e)))throw new Error("Cannot nest runtime sized arrays.");if(s.elementType=e,!Number.isInteger(t)||t<0)throw new Error(`Cannot create array schema with invalid element count: ${t}.`);return s.elementCount=t,s}var fP={[B]:!0,type:"array",toString(){return`arrayOf(${String(this.elementType)}, ${this.elementCount})`}};function vP(e){if("multisampled"in e){if(e.multisampled){if(e.dimension==="2d")return hP(e.sampleType);throw new Error(`Multisampled textures only support '2d' dimension, got '${e.dimension}'`)}switch(e.dimension){case"1d":return yP(e.sampleType);case"2d":return ps(e.sampleType);case"2d-array":return xP(e.sampleType);case"3d":return wP(e.sampleType);case"cube":return gP(e.sampleType);case"cube-array":return bP(e.sampleType);default:throw new Error(`Unsupported texture dimension: '${e.dimension}'`)}}if(!("access"in e))throw new Error("Descriptor is neither a sampled nor a storage texture");switch(e.dimension){case"1d":return TP(e.format,e.access);case"2d":return Mo(e.format,e.access);case"2d-array":return SP(e.format,e.access);case"3d":return AP(e.format,e.access);default:throw new Error(`Unsupported storage texture dimension: '${e.dimension}'`)}}function ti(e,t){let s=e.startsWith("texture_depth")?["depth","float","unfilterable-float"]:t.sampleType.type==="i32"?["sint"]:t.sampleType.type==="u32"?["uint"]:["float","unfilterable-float"];return{[B]:{},[id]:void 0,type:e,bindingSampleType:s,...t}}function Wu(e,t){return{[B]:{},[id]:void 0,type:e,...t}}var bx=new Map,Fc={"write-only":"write","read-only":"read","read-write":"read_write"};function ko(e,t){let s=bx.get(e);return s||(s=t(),bx.set(e,s)),s}function yP(e){let t=e||a;return ko(`texture_1d<${t.type}>`,()=>ti("texture_1d",{dimension:"1d",sampleType:t,multisampled:!1}))}function ps(e){let t=e||a;return ko(`texture_2d<${t.type}>`,()=>ti("texture_2d",{dimension:"2d",sampleType:t,multisampled:!1}))}function hP(e){let t=e||a;return ko(`texture_multisampled_2d<${t.type}>`,()=>ti("texture_multisampled_2d",{dimension:"2d",sampleType:t,multisampled:!0}))}function xP(e){let t=e||a;return ko(`texture_2d_array<${t.type}>`,()=>ti("texture_2d_array",{dimension:"2d-array",sampleType:t,multisampled:!1}))}function gP(e){let t=e||a;return ko(`texture_cube<${t.type}>`,()=>ti("texture_cube",{dimension:"cube",sampleType:t,multisampled:!1}))}function bP(e){let t=e||a;return ko(`texture_cube_array<${t.type}>`,()=>ti("texture_cube_array",{dimension:"cube-array",sampleType:t,multisampled:!1}))}function wP(e){let t=e||a;return ko(`texture_3d<${t.type}>`,()=>ti("texture_3d",{dimension:"3d",sampleType:t,multisampled:!1}))}function TP(e,t){let s=t||"write-only";return ko(`texture_storage_1d<${e}, ${Fc[s]}>`,()=>Wu("texture_storage_1d",{dimension:"1d",format:e,access:s}))}function Mo(e,t){let s=t||"write-only";return ko(`texture_storage_2d<${e}, ${Fc[s]}>`,()=>Wu("texture_storage_2d",{dimension:"2d",format:e,access:s}))}function SP(e,t){let s=t||"write-only";return ko(`texture_storage_2d_array<${e}, ${Fc[s]}>`,()=>Wu("texture_storage_2d_array",{dimension:"2d-array",format:e,access:s}))}function AP(e,t){let s=t||"write-only";return ko(`texture_storage_3d<${e}, ${Fc[s]}>`,()=>Wu("texture_storage_3d",{dimension:"3d",format:e,access:s}))}function s5(){return ko("texture_external",()=>({[B]:{},[id]:void 0,type:"texture_external",dimension:"2d"}))}function r5(e){return!!e[B]&&typeof e.multisampled=="boolean"}function dl(e){return!!e[B]&&typeof e.format=="string"&&typeof e.access=="string"}function MP(e){return!!e[B]&&e.type==="texture_external"}function fv(){return{[B]:{},type:"sampler",[id]:void 0}}function o5(){return{[B]:{},type:"sampler_comparison",[id]:void 0}}function PP(e){return!!e[B]&&e.type==="sampler"}function EP(e){return!!e[B]&&e.type==="sampler_comparison"}var XI=Ao(((e,t)=>t===void 0?s=>wx(e,s):wx(e,t))).$name("disarrayOf");function wx(e,t){let s=r=>{if(r&&r.length!==t)throw new Error(`Disarray schema of ${t} elements of type ${e.type} called with ${r.length} argument(s).`);return Array.from({length:t},(o,n)=>aa(e,r?.[n]))};if(Object.setPrototypeOf(s,kP),s.elementType=e,!Number.isInteger(t)||t<0)throw new Error(`Cannot create disarray schema with invalid element count: ${t}.`);return s.elementCount=t,s}var kP={[B]:!0,type:"disarray",toString(){return`disarrayOf(${this.elementType}, ${this.elementCount})`}};var HI={[B]:!0,type:"unstruct",$name(e){return ot(this,e),this},toString(){return`unstruct:${xe(this)??""}`}};function $P(e){return new UP(e)}var UP=class{[B]={};type="atomic";inner;constructor(e){this.inner=e}};function Ou(e,t){return zn(e)?new Tx(e.inner,[t,...e.attribs]):ha(e)?new Sx(e.inner,[t,...e.attribs]):zu(e)?new Sx(e,[t]):new Tx(e,[t])}function n5(e,t){return Ou(t,{[B]:!0,type:"@align",params:[e]})}function a5(e,t){return Ou(t,{[B]:!0,type:"@size",params:[e]})}function fp(e,t){return Ou(t,{[B]:!0,type:"@location",params:[e]})}function nn(e){return(zn(e)||ha(e))&&e.attribs.find(VA)!==void 0}function gc(e){return!zn(e)&&!ha(e)?"":e.attribs.map(t=>t.params.length===0?`${t.type} `:`${t.type}(${t.params.join(", ")}) `).join("")}var i5=class{[B]={};inner;attribs;constructor(e,t){this.inner=e,this.attribs=t;let s=t.find(e2)?.params[0],r=t.find(t2)?.params[0];if(s!==void 0){if(s<=0)throw new Error(`Custom data alignment must be a positive number, got: ${s}.`);if(Math.log2(s)%1!==0)throw new Error(`Alignment has to be a power of 2, got: ${s}.`);if(Qa(this.inner)&&s%rs(this.inner)!==0)throw new Error(`Custom alignment has to be a multiple of the standard data alignment. Got: ${s}, expected multiple of: ${rs(this.inner)}.`)}if(r!==void 0){if(r<_t(this.inner))throw new Error(`Custom data size cannot be smaller then the standard data size. Got: ${r}, expected at least: ${_t(this.inner)}.`);if(r<=0)throw new Error(`Custom data size must be a positive number. Got: ${r}.`)}}},Tx=class extends i5{[B]={};type="decorated"},Sx=class extends i5{[B]={};type="loose-decorated"};function d5(e){return pv(e,"isContiguous")}function c5(e){return pv(e,"longestContiguousPrefix")}var _5=Object.defineProperty,CP=(e,t,s)=>t in e?_5(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,RP=(e,t)=>{for(var s in t)_5(e,s,{get:t[s],enumerable:!0})},Mt=(e,t,s)=>CP(e,typeof t!="symbol"?t+"":t,s);RP({},{BufferReader:()=>ld,BufferWriter:()=>si,MaxValue:()=>Es,Measurer:()=>gs,UnresolvedReferenceError:()=>Ra,ValidationError:()=>Vu,arrayOf:()=>IP,bool:()=>FP,byte:()=>NP,chars:()=>nE,concat:()=>cE,dynamicArrayOf:()=>lE,f16:()=>tE,f32:()=>rE,f32Array:()=>PE,f64Array:()=>EE,generic:()=>iE,genericEnum:()=>dE,i16:()=>XP,i16Array:()=>AE,i32:()=>ZP,i32Array:()=>ME,i8:()=>OP,i8Array:()=>SE,keyed:()=>pE,object:()=>aE,optional:()=>vE,string:()=>BP,tupleOf:()=>xE,u16:()=>jP,u16Array:()=>wE,u32:()=>JP,u32Array:()=>TE,u8:()=>f5,u8Array:()=>gE,u8ClampedArray:()=>bE});var Ra=class l5 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,l5.prototype)}},Vu=class u5 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,u5.prototype)}},zP=class{constructor(){Mt(this,"size",NaN),Mt(this,"unbounded",this),Mt(this,"isUnbounded",!0)}add(){return this}fork(){return this}},GP=new zP,gs=class m5{constructor(){Mt(this,"size",0),Mt(this,"unbounded",GP),Mt(this,"isUnbounded",!1)}add(t){return this.size+=t,this}fork(){let t=new m5;return t.size=this.size,t}},Es=Symbol("The biggest (in amount of bytes needed) value a schema can represent"),or=class{constructor(){Mt(this,"__unwrapped")}resolveReferences(e){}seekProperty(e,t){return null}},YP=class{constructor(e){this.key=e}},dc={STRING:"string",ENUM:"enum"},LP=class extends or{constructor(e,t){super(),this._unstableElementSchema=e,this.length=t,Mt(this,"elementSchema"),this.elementSchema=e}resolveReferences(e){this.elementSchema=e.resolve(this._unstableElementSchema)}write(e,t){if(t.length!==this.length)throw new Vu(`Expected array of length ${this.length}, got ${t.length}`);for(let s of t)this.elementSchema.write(e,s)}read(e){let t=[];for(let s=0;s{let o=t.fork();for(let n of Object.values(r.properties))n.measure(Es,o);return[r,o.size]}).reduce((r,o)=>r[1]>o[1]?r:o)[0];for(let r of Object.values(s.properties))r.measure(Es,t)}else{let s=e.type,r=this.subTypeMap[s]||null;if(r===null)throw new Error(`Unknown sub-type '${s.toString()}', expected one of '${JSON.stringify(Object.keys(this.subTypeMap))}'`);for(let[o,n]of Jn(r.properties))n.measure(e[o],t)}return t}};function iE(e,t){return new y5(dc.STRING,e,t)}function dE(e,t){return new y5(dc.ENUM,e,t)}function cE(e){return new vv(Object.fromEntries(e.flatMap(({properties:t})=>Object.entries(t))))}var _E=class extends or{constructor(e){super(),this._unstableElementType=e,Mt(this,"elementType"),this.elementType=e}resolveReferences(e){this.elementType=e.resolve(this._unstableElementType)}write(e,t){e.writeUint32(t.length);for(let s of t)this.elementType.write(e,s)}read(e){let t=[],s=e.readUint32();for(let r=0;r=e.length)return null;let r=new gs;for(let o=0;oe.resolve(s))}var hE=class extends or{constructor(e){super(),this._unstableSchemas=e,Mt(this,"schemas"),this.schemas=e}resolveReferences(e){this.schemas=yE(e,this._unstableSchemas)}write(e,t){if(t.length!==this.schemas.length)throw new Vu(`Expected tuple of length ${this.schemas.length}, got ${t.length}`);for(let s=0;snew Ln(e,Uint8Array),bE=e=>new Ln(e,Uint8ClampedArray),wE=e=>new Ln(e,Uint16Array),TE=e=>new Ln(e,Uint32Array),SE=e=>new Ln(e,Int8Array),AE=e=>new Ln(e,Int16Array),ME=e=>new Ln(e,Int32Array),PE=e=>new Ln(e,Float32Array),EE=e=>new Ln(e,Float64Array);function kE(){let e=new Uint8Array(4),t=new Uint32Array(e.buffer);return t[0]=1,e[0]===0}function yv(){return kE()?"big":"little"}function hv(e){let t=0,s=e;return s&&"buffer"in s&&"byteOffset"in s&&(t+=s.byteOffset,s=s.buffer),{buffer:s,byteOffset:t,byteLength:e.byteLength}}var x5=class{constructor(e,t){Mt(this,"dataView"),Mt(this,"littleEndian"),Mt(this,"needsByteSwap"),Mt(this,"byteOffset",0),Mt(this,"endianness");let{byteOffset:s=0,endianness:r="system"}=t??{};this.byteOffset=s;let o=yv();this.endianness=r==="system"?o:r,this.littleEndian=this.endianness==="little",this.needsByteSwap=this.endianness!==o;let n=hv(e);this.byteOffset+=n.byteOffset,this.dataView=new DataView(n.buffer)}get currentByteOffset(){return this.byteOffset}seekTo(e){this.byteOffset=e}skipBytes(e){this.byteOffset+=e}},ld=class extends x5{constructor(){super(...arguments),Mt(this,"_cachedTextDecoder")}get _textDecoder(){return this._cachedTextDecoder||(this._cachedTextDecoder=new TextDecoder(void 0,{fatal:!0})),this._cachedTextDecoder}readBool(){return this.dataView.getUint8(this.byteOffset++)!==0}readByte(){return this.dataView.getUint8(this.byteOffset++)}readInt8(){return this.dataView.getInt8(this.byteOffset++)}readUint8(){return this.dataView.getUint8(this.byteOffset++)}readInt16(){let e=this.dataView.getInt16(this.byteOffset,this.littleEndian);return this.byteOffset+=2,e}readUint16(){let e=this.dataView.getUint16(this.byteOffset,this.littleEndian);return this.byteOffset+=2,e}readInt32(){let e=this.dataView.getInt32(this.byteOffset,this.littleEndian);return this.byteOffset+=4,e}readUint32(){let e=this.dataView.getUint32(this.byteOffset,this.littleEndian);return this.byteOffset+=4,e}readFloat16(){let e=this.dataView.getFloat16(this.byteOffset,this.littleEndian);return this.byteOffset+=2,e}readFloat32(){let e=this.dataView.getFloat32(this.byteOffset,this.littleEndian);return this.byteOffset+=4,e}readString(){let e=0;for(;this.byteOffset+e1)for(let i=0;i=0;d--)o[i+d]=this.dataView.getUint8(this.byteOffset++);else o.set(new Uint8Array(this.dataView.buffer,this.byteOffset,s)),this.byteOffset+=s}},si=class extends x5{constructor(){super(...arguments),Mt(this,"_cachedTextEncoder")}get _textEncoder(){return this._cachedTextEncoder||(this._cachedTextEncoder=new TextEncoder),this._cachedTextEncoder}writeBool(e){this.dataView.setUint8(this.byteOffset++,e?1:0)}writeByte(e){this.dataView.setUint8(this.byteOffset++,e)}writeInt8(e){this.dataView.setInt8(this.byteOffset++,e)}writeUint8(e){this.dataView.setUint8(this.byteOffset++,e)}writeInt16(e){this.dataView.setInt16(this.byteOffset,e,this.littleEndian),this.byteOffset+=2}writeUint16(e){this.dataView.setUint16(this.byteOffset,e,this.littleEndian),this.byteOffset+=2}writeInt32(e){this.dataView.setInt32(this.byteOffset,e,this.littleEndian),this.byteOffset+=4}writeUint32(e){this.dataView.setUint32(this.byteOffset,e,this.littleEndian),this.byteOffset+=4}writeFloat16(e){this.dataView.setFloat16(this.byteOffset,e,this.littleEndian),this.byteOffset+=2}writeFloat32(e){this.dataView.setFloat32(this.byteOffset,e,this.littleEndian),this.byteOffset+=4}writeString(e){let t=this._textEncoder.encodeInto(e,new Uint8Array(this.dataView.buffer,this.byteOffset));this.byteOffset+=t.written,this.dataView.setUint8(this.byteOffset++,0)}writeSlice(e){let t=hv(e),s=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),r=e.BYTES_PER_ELEMENT;if(this.needsByteSwap&&r>1)for(let o=0;o=0;n--)this.dataView.setUint8(this.byteOffset++,s[o+n]);else new Uint8Array(this.dataView.buffer,this.byteOffset).set(s),this.byteOffset+=s.length}};function $E(e,t){let s="size"in e?e.size:e.currentByteOffset,r=t-1,o=s&r;"skipBytes"in e?e.skipBytes(t-o&r):e.add(t-o&r)}var Os=$E,Ax=new WeakMap;function Nu(e){let t=Ax.get(e);if(t)return t;let s=new gs,r={},o;for(let n in e.propTypes){let i=e.propTypes[n];if(i===void 0)throw new Error(`Property ${n} is undefined in struct`);let d=s.size;Os(s,un(e)?wo(i):rs(i)),o&&(o.padding=s.size-d);let c=_t(i);r[n]={offset:s.size,size:c},o=r[n],s.add(c)}return o&&(o.padding=qs(_t(e),rs(e))-s.size),Ax.set(e,r),r}var ia=Symbol("indirectOffset"),da=Symbol("indirectContiguous");function UE(e){return typeof e=="object"&&e!==null&&ia in e&&da in e}function ec(e,t){return{[ia]:e,[da]:t}}function xv(e,t){if(t===ia)return e[ia];if(t===da)return e[da]}function gv(e,t,s=_t(e)){let r=lo(e),o=Rt(r)?r.componentCount:void 0;if(o!==void 0){let n=_t(r.primitive);return RE(ec(t,s),n,o)}return Qt(r)?GE(r,ec(t,s)):Us(r)?zE(r,ec(t,s)):ec(t,s)}function CE(e,t=0){return gv(e,t,_t(e))}function RE(e,t,s){let r=e[ia];return new Proxy(e,{get(o,n){let i=xv(o,n);if(i!==void 0)return i;let d=n==="x"||n==="0"?0:n==="y"||n==="1"?1:n==="z"||n==="2"?2:n==="w"||n==="3"?3:-1;if(d<0||d>=s)return;let c=d*t,_=Math.max(0,o[da]-c);return ec(r+c,_)}})}function zE(e,t){let s=e.elementType,r=_t(s),o=qs(r,rs(s)),n=o>r;return new Proxy(t,{get(i,d){let c=xv(i,d);if(c!==void 0)return c;if(d==="length")return e.elementCount;if(typeof d!="string")return;let _=Number(d);if(!Number.isInteger(_)||_<0||_>=e.elementCount)return;let u=_*o,m=d5(s)?Math.max(0,i[da]-u):r+c5(s),p=n?Math.min(m,r):m;return gv(s,i[ia]+u,p)}})}function GE(e,t){let s=Nu(e),r=e.propTypes,o=Object.keys(r),n=new Map,i=0;for(let d=0;d0||!p))continue;let y=u.offset+(p?u.size:c5(_));for(let h=i;h<=d;h++){let g=o[h];if(!g)continue;let w=s[g];n.set(g,{offset:w.offset,runEnd:y})}i=d+1}return new Proxy(t,{get(d,c){let _=xv(d,c);if(_!==void 0)return _;if(typeof c!="string")return;let u=n.get(c);if(!u)return;let m=Math.max(0,d[da]-u.offset),p=Math.max(0,u.runEnd-u.offset),y=r[c];if(y)return gv(y,d[ia]+u.offset,_t(e)===u.runEnd?m:p)}})}function YE(e){let t=lo(e);if(Qt(t)){let s=Nu(t),r=t.propTypes,o=Object.keys(r);for(let n=0;n0)return _}return 0}if(Us(t)){let s=t.elementType,r=_t(s),o=qs(r,rs(s)),n=_t(e);return Number.isFinite(n)?o>r?r:n:r}return _t(e)}function cl(e,t){if(!t)return{offset:0,contiguous:YE(e)};let s=t(CE(e));if(UE(s))return{offset:s[ia],contiguous:s[da]};throw new Error("memoryLayoutOf: accessor did not return a schema element. Make sure the accessor navigates to a field or element of the schema (e.g. `(s) => s.position.x`).")}function Rs(e,t){return Ou(e,{[B]:!0,type:"@builtin",params:[t]})}var _r={vertexIndex:Rs(R,"vertex_index"),instanceIndex:Rs(R,"instance_index"),clipDistances:Rs(pt(R,8),"clip_distances"),position:Rs(Oe,"position"),frontFacing:Rs(ft,"front_facing"),fragDepth:Rs(a,"frag_depth"),primitiveIndex:Rs(R,"primitive_index"),sampleIndex:Rs(R,"sample_index"),sampleMask:Rs(R,"sample_mask"),localInvocationId:Rs(gt,"local_invocation_id"),localInvocationIndex:Rs(R,"local_invocation_index"),globalInvocationId:Rs(gt,"global_invocation_id"),globalInvocationIndex:Rs(R,"global_invocation_index"),workgroupId:Rs(gt,"workgroup_id"),workgroupIndex:Rs(R,"workgroup_index"),numWorkgroups:Rs(gt,"num_workgroups"),subgroupInvocationId:Rs(R,"subgroup_invocation_id"),subgroupSize:Rs(R,"subgroup_size"),subgroupId:Rs(R,"subgroup_id"),numSubgroups:Rs(R,"num_subgroups")};var jI=(rr(),Or),l=(rr(),lt),KI=(rr(),Vs),El=(rr(),Xt),Ge=(rr(),Ct),ZI=(rr(),Vr),f=(rr(),It),QI=(rr(),Pr),JI=(rr(),cs),Oa=(rr(),gt),e8=(rr(),Nr),x=(rr(),Oe),t8=(rr(),Ns),s8=(rr(),Wt),r8=(rr(),Et),o8=(rr(),Gn),ud=(rr(),Yn),n8=(rr(),Hs);function LE(e){return e?.[Hr]}function bv(e,t={}){let s=0,r=new Set;return Object.fromEntries(Object.entries(e??{}).map(([o,n])=>{let i=na(n);if(i!==void 0){if(r.has(i))throw new Error("Duplicate custom location attributes found");r.add(i)}return[o,n]}).map(([o,n])=>{if(nn(n))return[o,n];if(na(n)!==void 0)return[o,n];if(t[o])return[o,fp(t[o],n)];for(;r.has(s);)s++;return[o,fp(s++,n)]}))}function g5(e,t={}){let s=[],r={};for(let[o,n]of Object.entries(e))nn(n)?s.push({schemaKey:o,type:n}):r[o]=n;return{dataSchema:Object.keys(r).length>0?Bu(bv(r,t),!1):void 0,positionalArgs:s}}function IE(e){let t=bv(e);return{dataSchema:void 0,positionalArgs:Object.entries(t).map(([s,r])=>({schemaKey:s,type:r}))}}function Bc(e,t={}){return Rc(e)?Cu(e)||nn(e)||na(e)!==void 0?e:fp(0,e):Bu(bv(e,t),!1)}var Wo=class{#e;#t;#s;#r;#o;#n;constructor(e,t,s){this.#e=e,this.#n=t,this.#t={},this.#r=s,this.#s=new Set}accessProp(e){let t=this.#e[e]??this.#n;if(t)return this.provideProp(e,t)}provideProp(e,t){let s=this.#t[e];if(!s){let r=e.replaceAll("$","");if(this.#s.has(r))throw new Error(`Property name '${r}' causes naming clashes. Choose a different name.`);let o=e5(r);if(!o.success)throw new Error(`Invalid property key '${e}'${o.error?`: ${o.error}`:""}`);this.#s.add(r),s={prop:r,type:t},this.#t[e]=s}return s}get completeStruct(){if(!this.#o){this.#o=Bc(Object.fromEntries(Object.values(this.#t).map(t=>[t.prop,t.type])),this.#r);let e=xe(this);e&&ot(this.#o,e)}return this.#o}[kt](e){return e.resolve(this.completeStruct)}toString(){return`auto-struct:${xe(this)??""}`}};Wo.prototype[B]={};Wo.prototype.type="auto-struct";var b5=class{[B]={};type="entry-input-router";structArg;positionalArgsMap;constructor(e,t){this.structArg=e,this.positionalArgsMap=new Map(t.map(s=>[s.schemaKey,s.arg]))}toString(){return"entry-input-router"}accessProp(e){let t=this.positionalArgsMap.get(e);if(t)return t();let s=this.structArg?.();if(s&&Qt(s.dataType))return{target:s,prop:e}}},DE=["vec2f","vec3f","vec4f","vec2h","vec3h","vec4h","vec2i","vec3i","vec4i","vec2u","vec3u","vec4u","mat2x2f","mat3x3f","mat4x4f"],FE={f:{1:a,2:lt,3:It,4:Oe},h:{1:xs,2:Vs,3:Pr,4:Ns},i:{1:Z,2:Xt,3:cs,4:Wt},u:{1:R,2:Ct,3:gt,4:Et},b:{1:ft,2:Or,3:Vr,4:Nr}};function Bi(e,t){if(DE.includes(e.dataType.type)&&t in pp){let r=pp[t];return ve(new uv(e,r),Ut,e.origin,e.possibleSideEffects)}if(Us(e.dataType)&&t==="length")return e.dataType.elementCount===0?ve(ce`arrayLength(&${e})`,R,"runtime",e.possibleSideEffects):on(e.dataType.elementCount);if(rn(e.dataType)&&t==="columns")return ve(new h2(e),Ut,e.origin,e.possibleSideEffects);if(Qt(e.dataType)||un(e.dataType))return E2(e,t);if(e.dataType instanceof Wo){let r=e.dataType.accessProp(t);return r?ve(ce`${e}.${r.prop}`,r.type,"argument",e.possibleSideEffects):void 0}if(e.dataType instanceof b5){let r=e.dataType.accessProp(t);return Gc(r)?r:r?Bi(r.target,r.prop):void 0}if(pr(e.dataType)){let r=Wf(e);return t==="$"?r:Bi(r,t)}if(Rt(e.dataType)&&t==="kind")return ve(e.dataType.type,Ut,"constant",!1);let s=t.length;if(Rt(e.dataType)&&s>=1&&s<=4&&/^[xyzw]+$|^[rgba]+$/.test(t)){let r=FE[e.dataType.type.includes("bool")?"b":e.dataType.type[4]][s];return r?ve(hs(e)?e.value[t]:ce`${e}.${t}`,r,s===1?e.origin:e.origin==="constant"||e.origin==="constant-immutable-def"?"constant":"runtime",e.possibleSideEffects):void 0}if(hs(e)||e.dataType===Ut){let r=e.value[t];return Di(r)&&xe(r)===void 0&&ot(r,t),Wr(r)}}var Mx={mat2x2f:lt,mat3x3f:It,mat4x4f:Oe};function qu(e,t){let s=typeof t=="number"?Wr(t):t;if(Us(e.dataType)||Ja(e.dataType)){let r=e.dataType.elementType,o;return e.origin==="constant-immutable-def"?o=s.origin==="constant"||s.origin==="constant-immutable-def"?"constant-immutable-def":"runtime-immutable-def":e.origin==="constant"?o=s.origin==="constant"||s.origin==="constant-immutable-def"?"constant":"runtime":o=e.origin,e.value instanceof ic&&hs(s)?e.value.elements[s.value]:ve(hs(e)&&hs(s)?e.value[s.value]:ce`${e}[${s}]`,r,o,e.possibleSideEffects||s.possibleSideEffects)}if(Rt(e.dataType))return ve(hs(e)&&hs(s)?e.value[s.value]:ce`${e}[${s}]`,e.dataType.primitive,e.origin,e.possibleSideEffects||s.possibleSideEffects);if(pr(e.dataType))return qu(Wf(e),s);if(e.value instanceof h2){let r=Mx[e.value.matrix.dataType.type];return ve(ce`${e.value.matrix}[${s}]`,r,e.origin,e.possibleSideEffects||s.possibleSideEffects)}if(e.dataType.type in Mx)throw new Error("The only way of accessing matrix elements in TypeGPU functions is through the 'columns' property.");if(hs(e)&&hs(s))return Wr(e.value[s.value]);if(Qt(e.dataType)&&hs(s)&&typeof s.value=="string")return Bi(e,s.value)}var Wi={get(e,t){if(t in e)return Reflect.get(e,t);if(t==="toString"||t===Symbol.toStringTag||t===Symbol.toPrimitive)return()=>e.toString();if(typeof t=="symbol")return;let s=Gu(e),r=Number(t);if(!Number.isNaN(r)){let n=qu(s,r);return n?new Proxy({[B]:!0,[kt]:i=>i.resolveSnippet(n),[oa]:n,toString:()=>`${String(e)}[${t}]`},Wi):void 0}let o=Bi(s,String(t));if(o)return new Proxy({[B]:!0,[kt]:n=>n.resolveSnippet(o),[oa]:o,toString:()=>`${String(e)}.${t}`},Wi)}};function kl(e){let t=e;for(;;){let s=LE(t);if(!s)break;t=s}return t}function mn(e,t){return Object.defineProperty(e,Hr,{get(){if("get"in t.codegenMode)return t.codegenMode.get.apply(this);let s=this;return new Proxy({[B]:!0,get[oa](){if(!("getBaseSnippet"in t.codegenMode))throw new Error("Expected 'getBaseSnippet' to be defined.");return t.codegenMode.getBaseSnippet.apply(s,[this])},[kt]:r=>r.resolve(s),toString:()=>`${s.toString()}.$`},Wi)}}),Object.defineProperty(e,"$",{get(){let s=J0();return s.type==="codegen"?this[Hr]:s.type==="simulate"?t.simulateMode?.get?t.simulateMode.get.apply(this,[s]):t.normalMode.get.apply(this):s.type==="normal"?t.normalMode.get.apply(this):xc(s,"makeDereferenceable.ts#$ (get)")},set(s){let r=J0();if(r.type==="normal"){if(!t.normalMode.set)throw new Error(`'${this.toString()}' cannot be set in normal mode`);t.normalMode.set.apply(this,[s]);return}if(r.type==="simulate"){if(t.simulateMode?.set)t.simulateMode.set.apply(this,[r,s]);else if(t.normalMode.set)t.normalMode.set.apply(this,[s]);else throw new Error(`'${this.toString()}' cannot be set in simulate mode`);return}if(r.type==="codegen")throw new Error("Unreachable makeDerefenceable.ts#$ (set)");return xc(r,"makeDereferenceable.ts#$ (set)")}}),e}function In(e,t){return mt(e)||Object.defineProperty(e,B,{value:!0,writable:!0}),Object.defineProperty(e,"toString",{value(){return t.asString.apply(this)}}),Object.defineProperty(e,kt,{value(s){return t.resolve.apply(this,[s])}}),e}function wv(e,t){if(!Rc(e)){if(!Array.isArray(t))throw new Error(`Expected an array value for a partially-applied array schema, but received: ${typeof t}.`);return new Px(e(t.length),t)}return new Px(e,t)}function w5(e){let t=Reflect.ownKeys(e);for(let s of t){let r=e[s];(r&&typeof r=="object"||typeof r=="function")&&w5(r)}return Object.freeze(e)}var Px=class _l{[me];static#e=void(_l.prototype[B]={},_l.prototype.resourceType="const",mn(In(_l.prototype,{asString(){return`const:${xe(this)??""}`},resolve(t){let s=t.makeUniqueIdentifier(xe(this),"global");return t.gen.declareGlobalConst({id:s,dataType:this.dataType,init:ve(this[me].value,this.dataType,"constant")})}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.dataType,"constant-immutable-def",!1)}},normalMode:{get(){return this[me].value}}}));constructor(t,s){this[me]={type:"const",dataType:t,value:s&&typeof s=="object"?w5(s):s,label:void 0}}get dataType(){return this[me].dataType}$name(t){return ot(this,t),this}};function BE(e){return _M(e)||zu(e)||Fi(e)}function Ex(e){let t=e.pluginProvided??e.userProvided??{},s=Object.defineProperties({},Object.getOwnPropertyDescriptors(t));for(let r of[e.args,e.out].filter(o=>o!==void 0))for(let[o,n]of Object.entries(r)){if(o in s&&s[o]!==n)throw new Error(`Key '${o}' appears in externals despite already being used for argument/return type. Please rename this external.`);s[o]=n}return s}function WE(e,t,s){let r=[...e.matchAll(/:\s*(?.*?)\s*[,)]/g)].map(n=>n?.[1]),o=Object.fromEntries(t.flatMap((n,i)=>{let d=r?.[i];return Qt(n)&&d!==void 0?[[d,n]]:[]}));s.setExternals("args",o)}function T5(e,t,s){let r=e.match(/->\s(?[\w\d_]+)\s{/),o=r?r[1]?.trim():void 0;Qt(t)&&o&&!/\s/g.test(o)&&s.setExternals("out",{[o]:t})}var kx=/([$_\p{XID_Start}][$\p{XID_Continue}]*)/u,OE=new RegExp(`(${kx.source})(\\.${kx.source})*`,"ug"),VE=new RegExp(`(?n.includes("."));if(o)throw new Error(`External key '${o}' contains invalid character '.'`);return s.replaceAll(VE,n=>{let i=n.split(".");if(!Object.hasOwn(t,i.at(0)))return n;let d=t,c="";for(let[_,u]of i.entries()){if(d=d[u],BE(d)||typeof d=="string"){c=i.slice(_+1).map(m=>`.${m}`).join(""),Di(d)&&xe(d)===void 0&&ot(d,i.slice(0,_+1).join("_"));break}if(typeof d!="object"||d===null||_===i.length-1)return Vt.warn("external-omitted",`During resolution, the external '${i.slice(0,_+1).join(".")}' has been omitted. Only TGPU resources, 'use gpu' functions, primitives, and plain JS objects can be used as externals.`),n}return e.resolve(d).value+c})}var NE=class{[B]=!0;#e;constructor(e){this.#e=e}[kt](){return ve(this.#e,Ut,"runtime",!0)}},Tv=new Set([` +`,"\v","\f","\r","\x85","\u2028","\u2029"]),S5=new Set([...Tv," "," ","\u200E","\u200F"]);function qE(e){let{strippedCode:t,argRange:s}=XE(e),r=new A5(t);r.consume("(");let o=[];for(;!r.isAt(")");){let i=[];for(;r.isAt("@");)r.parseUntil($x,Ux),r.consume(")"),i.push(r.lastParsed);r.parseUntil(HE);let d=r.lastParsed,c;r.isAt(":")&&(r.consume(":"),r.parseUntil(jE,ZE),c=r.lastParsed),o.push({identifier:d,attributes:i,type:c}),r.isAt(",")&&r.consume(",")}r.consume(")");let n;if(r.isAt("->")){r.consume("->");let i=[];for(;r.isAt("@");)r.parseUntil($x,Ux),r.consume(")"),i.push(r.lastParsed);n={type:r.str.slice(r.pos),attributes:i}}return{args:o,ret:n,range:{begin:s[0],end:s[1]}}}function XE(e){let t=new A5(e),s="",r;for(;!t.isFinished();){if(t.isAt(S5)){t.advanceBy(1);continue}if(t.isAt("//")){t.consume("//"),t.parseUntil(Tv),t.advanceBy(1);continue}if(t.isAt("/*")){t.parseUntil(KE,QE),t.consume("*/");continue}if(t.isAt("{"))return{strippedCode:s,argRange:[r,t.pos]};t.isAt("(")&&r===void 0&&(r=t.pos),r!==void 0&&(s+=t.str[t.pos]),t.advanceBy(1)}throw new Error("Invalid wgsl code!")}var A5=class{str;#e;#t;constructor(e){this.str=e,this.#t=0}get pos(){return this.#t}get lastParsed(){if(this.#e===void 0)throw new Error("Parse was not called yet!");return this.str.slice(this.#e,this.pos)}isFinished(){return this.#t>=this.str.length}isAt(e){if(typeof e=="string"){for(let t=0;t"],QE=["/*","*/"];function ri(e,t,s){let r={};return{[Xs]:typeof e=="function"?e:void 0,setExternals(o,n){if(o==="userProvided"&&"userProvided"in r)throw new Error("Cannot call '$uses' multiple times. If you wish to override dependencies, use slots or accessors instead.");if(r[o]=n,r.userProvided&&r.pluginProvided)throw new Error("Cannot call '$uses' on functions whose metadata was provided by unplugin-typegpu.")},resolve(o,n,i,d){let c="";t==="compute"?c=`@compute @workgroup_size(${s?.join(", ")}) `:t==="vertex"?c="@vertex ":t==="fragment"&&(c="@fragment ");let _=o.makeUniqueIdentifier(xe(this),"global");if(typeof e=="string"){if(!i)throw new Error("Explicit return type is required for string implementation");if(d){for(let A of d.positionalArgs){let P=Fu(A.schemaKey);if(!P.success)throw new Error(`Invalid argument name "${A.schemaKey}"${P.error?`: ${P.error}`:""}`);if(o.isIdentifierBanned(A.schemaKey))throw new Error(`Invalid argument name "${A.schemaKey}", the identifier is a reserved keyword.`)}this.setExternals("args",{in:Object.fromEntries(d.positionalArgs.map(A=>[A.schemaKey,new NE(A.schemaKey)]))})}let w=Xu(o,Ex(r),e),S="",T="";if(t!=="normal"&&d){let{dataSchema:A,positionalArgs:P}=d,U=[];A&&Cx("in",w)&&U.push(`in: ${o.resolve(A).value}`);for(let L of P){let G=L.schemaKey;Cx(G,w)&&U.push(`${gc(L.type)}${G}: ${o.resolve(L.type).value}`)}let D=`(${U.join(", ")})`,O=Qa(i)?gc(i):"";S=`${D}${i!==_s?Qt(i)?` -> ${o.resolve(i).value} `:` -> ${O!==""?O:"@location(0)"} ${o.resolve(i).value} `:" "}`,T=w}else{let A=qE(w);if(A.args.length!==n.length)throw new Error(`WGSL implementation has ${A.args.length} arguments, while the shell has ${n.length} arguments.`);S=`(${A.args.map((P,U)=>`${P.identifier}: ${Rx(o,`parameter ${P.identifier}`,P.type,n[U])}`).join(", ")})${i===_s?" ":` -> ${Rx(o,"return type",A.ret?.type,i)} `}`,T=w.slice(A.range.end)}return o.addDeclaration(`${c}fn ${_}${S}${T}`,_),ve(_,i,"runtime")}let u=If(e),m=u?.externals();m&&this.setExternals("pluginProvided",m);let p=u?.ast;if(!p)throw new Error("Missing metadata for tgpu.fn function body (either missing 'use gpu' directive, or misconfigured `unplugin-typegpu`)");let y=p.params[1];y&&y.type==="i"&&t!=="normal"&&this.setExternals("out",{[y.name]:lo(i)});let{code:h,returnType:g}=o.resolveFunction({functionType:t,name:_,workgroupSize:s,argTypes:n,entryInput:d,params:p.params,returnType:i,body:p.body,externalMap:Ex(r)});return o.addDeclaration(h,_),ve(_,g,"runtime")}}}function Cx(e,t){return new RegExp(`\\b${e}\\b`).test(t)}function Rx(e,t,s,r){let o=e.resolve(r).value.replace(/\s/g,"");if(!s)return o;let n=s.replace(/\s/g,"");if(n!==o)throw new Error(`Type mismatch between TGPU shell and WGSL code string: ${t}, JS type "${o}", WGSL type "${n}".`);return s}function Hu(e,...t){return JE(e)?ek(e,...t):e}function JE(e){return Array.isArray(e)&&"raw"in e&&Array.isArray(e.raw)&&e.raw.every(t=>typeof t=="string")}function ek(e,...t){return e.slice(1).reduce((s,r,o)=>`${s}${t[o]}${r}`,e[0])}function qt(e,t){if(typeof e=="function")return P5(e,[]);let s=e,r={[B]:!0,argTypes:s,returnType:t??_s};return Object.assign((n,...i)=>tk(r,Hu(n,...i)),r)}function vp(e){return mt(e)&&e?.resourceType==="function"}function yp(e){return mt(e)&&e?.resourceType==="generic-function"}function M5([e,t]){return`${xe(e)??""}=${t}`}function tk(e,t){let s=[],r;yp(t)?(s=t[Mr]?.pairs??[],r=t[B].inner):r=t;let o=ri(r,"normal"),n={shell:e,resourceType:"function",[B]:{implementation:r},$uses(c){return o.setExternals("userProvided",c),this},[Xs]:o,$name(c){return ot(this,c),this},with:Ao((c,_)=>hp(d,[[dd(c)||cd(c)?c.slot:c,_]])),[kt](c){return typeof r=="string"&&(WE(r,e.argTypes,o),T5(r,e.returnType,o)),o.resolve(c,e.argTypes,e.returnType)}},i=pe({name:void 0,noComptime:!0,signature:{argTypes:e.argTypes,returnType:e.returnType},normalImpl:(...c)=>lM(()=>{try{if(typeof r=="string")throw new Error("Cannot execute on the CPU functions constructed with raw WGSL");let _=c.map((m,p)=>aa(e.argTypes[p],m)),u=r(..._);return aa(e.returnType,u)}catch(_){throw _ instanceof K0?_.appendToTrace(d):new K0(_,[d])}}),codegenImpl:(c,_)=>c.withResetIndentLevel(()=>ce`${c.resolve(d).value}(${_})`),sideEffects:!0}),d=Object.assign(i,n);return Object.defineProperty(d,"toString",{value(){return`fn:${xe(o)??""}`}}),s.length>0?hp(d,s):d}function hp(e,t){let s={resourceType:"function",shell:e.shell,[B]:{implementation:e[B].implementation},[Mr]:{inner:e,pairs:t},$uses(i){return e.$uses(i),this},$name(i){return ot(this,i),this},with:Ao((i,d)=>{let c=dd(i)||cd(i)?i.slot:i;return hp(e,[...t,[c,d]])})},r=pe({name:void 0,noComptime:!0,signature:{argTypes:e.shell.argTypes,returnType:e.shell.returnType},normalImpl:e,codegenImpl:(i,d)=>i.withResetIndentLevel(()=>ce`${i.resolve(o).value}(${d})`),sideEffects:!0}),o=Object.assign(r,s);Object.defineProperty(o,"toString",{value(){return`fn:${xe(this)??""}[${t.map(M5).join(", ")}]`}});let n=xe(e);return n&&ot(o,n),o}function P5(e,t){let s={[B]:{inner:e},resourceType:"generic-function",[Mr]:t.length>0?{inner:e,pairs:t}:void 0,$name(i){return ot(this,i),xe(e)||ot(e,i),this},[kt](i){return i.resolve(e)},with(i,d){let c=dd(i)||cd(i)?i.slot:i;return P5(e,[...t,[c,d]])}},o=Object.assign((...i)=>e(...i),s),n=xe(e);return n&&ot(o,n),Object.defineProperty(o,"toString",{value(){let i=xe(o)??"";return t.length>0?`fn*:${i}[${t.map(M5).join(", ")}]`:`fn*:${i}`}}),o}var sk={block:0,binaryExpr:1,assignmentExpr:2,logicalExpr:3,unaryExpr:4,numericLiteral:5,call:6,memberAccess:7,indexAccess:8,return:10,if:11,let:12,const:13,for:14,while:15,continue:16,break:17,forOf:18,arrayExpr:100,preUpdate:101,postUpdate:102,stringLiteral:103,objectExpr:104,conditionalExpr:105},tc={identifier:"i",destructuredObject:"d"},E5=Za({FuncParameterType:()=>tc,NodeTypeCatalog:()=>sk}),Sv=e=>({argTypes:[e],returnType:e}),Av=(...e)=>{let t=fr(e)??e;return{argTypes:t,returnType:t[0]}},At=e=>(...t)=>{let s=fr(t,e);if(!s)throw new Ts(t,e);return{argTypes:s,returnType:s[0]}};function k5(e){return(t,...s)=>{let r=t;for(let o of s)r=e(r,o);return r}}function $5(e){return(t,[s,...r])=>{let o=ce`${s}`;for(let n of r)o=ce`${e}(${o}, ${n})`;return o}}var rk=[a,xs,qa],bc=[lt,It,Oe,Vs,Pr,Ns],St=[...rk,...bc],ok=[Z,R],nk=[Xt,cs,Wt,Ct,gt,Et],Un=[...ok,...nk];function ak(e){return Tt(Math.abs,[e])}var z=pe({name:"abs",signature:Sv,normalImpl:ak,codegenImpl:(e,[t])=>ce`abs(${t})`,sideEffects:!1});function ik(e){return Tt(Math.acos,[e])}var dk=pe({name:"acos",signature:At(St),normalImpl:ik,codegenImpl:(e,[t])=>ce`acos(${t})`,sideEffects:!1});function ck(e){return Tt(Math.acosh,[e])}var _k=pe({name:"acosh",signature:At(St),normalImpl:ck,codegenImpl:(e,[t])=>ce`acosh(${t})`,sideEffects:!1});function lk(e){return Tt(Math.asin,[e])}var xp=pe({name:"asin",signature:At(St),normalImpl:lk,codegenImpl:(e,[t])=>ce`asin(${t})`,sideEffects:!1});function uk(e){return Tt(Math.asinh,[e])}var mk=pe({name:"asinh",signature:At(St),normalImpl:uk,codegenImpl:(e,[t])=>ce`asinh(${t})`,sideEffects:!1});function pk(e){return Tt(Math.atan,[e])}var fk=pe({name:"atan",signature:At(St),normalImpl:pk,codegenImpl:(e,[t])=>ce`atan(${t})`,sideEffects:!1});function vk(e){return Tt(Math.atanh,[e])}var yk=pe({name:"atanh",signature:At(St),normalImpl:vk,codegenImpl:(e,[t])=>ce`atanh(${t})`,sideEffects:!1});function hk(e,t){return Tt(Math.atan2,[e,t])}var tt=pe({name:"atan2",signature:At(St),normalImpl:hk,codegenImpl:(e,[t,s])=>ce`atan2(${t}, ${s})`,sideEffects:!1});function xk(e){return Tt(Math.ceil,[e])}var cc=pe({name:"ceil",signature:At(St),normalImpl:xk,codegenImpl:(e,[t])=>ce`ceil(${t})`,sideEffects:!1});function gk(e,t,s){return Tt(N2,[e,t,s])}var $=pe({name:"clamp",signature:Av,normalImpl:gk,codegenImpl:(e,[t,s,r])=>ce`clamp(${t}, ${s}, ${r})`,sideEffects:!1});function bk(e){return Tt(Math.cos,[e])}var H=pe({name:"cos",signature:At(St),normalImpl:bk,codegenImpl:(e,[t])=>ce`cos(${t})`,sideEffects:!1});function wk(e){return Tt(Math.cosh,[e])}var Tk=pe({name:"cosh",signature:At(St),normalImpl:wk,codegenImpl:(e,[t])=>ce`cosh(${t})`,sideEffects:!1}),Sk=pe({name:"countLeadingZeros",signature:At(Un),normalImpl:"CPU implementation for countLeadingZeros not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`countLeadingZeros(${t})`,sideEffects:!1});pe({name:"countOneBits",signature:At(Un),normalImpl:"CPU implementation for countOneBits not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`countOneBits(${t})`,sideEffects:!1});pe({name:"countTrailingZeros",signature:At(Un),normalImpl:"CPU implementation for countTrailingZeros not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`countTrailingZeros(${t})`,sideEffects:!1});var a8=pe({name:"cross",signature:At([It,Pr]),normalImpl:(e,t)=>qr.cross[e.kind](e,t),codegenImpl:(e,[t,s])=>ce`cross(${t}, ${s})`,sideEffects:!1});function Ak(e){if(typeof e=="number")return e*180/Math.PI;throw new Ys("CPU implementation for degrees on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}pe({name:"degrees",signature:At(St),normalImpl:Ak,codegenImpl:(e,[t])=>ce`degrees(${t})`,sideEffects:!1});pe({name:"determinant",signature:e=>{if(!(e.type==="mat2x2f"||e.type==="mat3x3f"||e.type==="mat4x4f"))throw new Ts([e],[Gn,Yn,Hs]);return{argTypes:[e],returnType:a}},normalImpl:"CPU implementation for determinant not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`determinant(${t})`,sideEffects:!1});function Mk(e,t){return typeof e=="number"&&typeof t=="number"?Math.abs(e-t):j(ht(e,t))}pe({name:"distance",signature:(...e)=>{let t=fr(e,St);if(!t)throw new Ts(e,St);return{argTypes:t,returnType:Lf(t[0])?xs:a}},normalImpl:Mk,codegenImpl:(e,[t,s])=>ce`distance(${t}, ${s})`,sideEffects:!1});var se=pe({name:"dot",signature:(...e)=>({argTypes:e,returnType:e[0].primitive}),normalImpl:(e,t)=>qr.dot[e.kind](e,t),codegenImpl:(e,[t,s])=>ce`dot(${t}, ${s})`,sideEffects:!1});pe({name:"dot4U8Packed",signature:{argTypes:[R,R],returnType:R},normalImpl:"CPU implementation for dot4U8Packed not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s])=>ce`dot4U8Packed(${t}, ${s})`,sideEffects:!1});pe({name:"dot4I8Packed",signature:{argTypes:[R,R],returnType:Z},normalImpl:"CPU implementation for dot4I8Packed not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s])=>ce`dot4I8Packed(${t}, ${s})`,sideEffects:!1});function Pk(e){return Tt(Math.exp,[e])}var ct=pe({name:"exp",signature:At(St),normalImpl:Pk,codegenImpl:(e,[t])=>ce`exp(${t})`,sideEffects:!1});function Ek(e){return Tt(t=>2**t,[e])}var $l=pe({name:"exp2",signature:At(St),normalImpl:Ek,codegenImpl:(e,[t])=>ce`exp2(${t})`,sideEffects:!1}),i8=pe({name:"extractBits",signature:(e,t,s)=>{let r=fr([e],Un)?.[0];if(!r)throw new Ts([e],Un);return{argTypes:[r,R,R],returnType:r}},normalImpl:"CPU implementation for extractBits not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s,r])=>ce`extractBits(${t}, ${s}, ${r})`,sideEffects:!1});pe({name:"faceForward",signature:At(bc),normalImpl:"CPU implementation for faceForward not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s,r])=>ce`faceForward(${t}, ${s}, ${r})`,sideEffects:!1});pe({name:"firstLeadingBit",signature:Sv,normalImpl:"CPU implementation for firstLeadingBit not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`firstLeadingBit(${t})`,sideEffects:!1});pe({name:"firstTrailingBit",signature:At(Un),normalImpl:"CPU implementation for firstTrailingBit not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`firstTrailingBit(${t})`,sideEffects:!1});function kk(e){return Tt(Math.floor,[e])}var q=pe({name:"floor",signature:At(St),normalImpl:kk,codegenImpl:(e,[t])=>ce`floor(${t})`,sideEffects:!1});function $k(e,t,s){if(typeof e=="number")return e*t+s;throw new Ys("CPU implementation for fma on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}pe({name:"fma",signature:At(St),normalImpl:$k,codegenImpl:(e,[t,s,r])=>ce`fma(${t}, ${s}, ${r})`,sideEffects:!1});function Uk(e){return Tt(t=>t-Math.floor(t),[e])}var ue=pe({name:"fract",signature:At(St),normalImpl:Uk,codegenImpl:(e,[t])=>ce`fract(${t})`,sideEffects:!1}),Ck={f32:Qs({fract:a,exp:Z}),f16:Qs({fract:xs,exp:Z}),abstractFloat:Qs({fract:qa,exp:Yc}),vec2f:Qs({fract:lt,exp:Xt}),vec3f:Qs({fract:It,exp:cs}),vec4f:Qs({fract:Oe,exp:Wt}),vec2h:Qs({fract:Vs,exp:Xt}),vec3h:Qs({fract:Pr,exp:cs}),vec4h:Qs({fract:Ns,exp:Wt})};pe({name:"frexp",normalImpl:"CPU implementation for frexp not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",signature:e=>{let t=Ck[e.type];if(!t)throw new Ts([e],St);return{argTypes:[e],returnType:t}},codegenImpl:(e,[t])=>ce`frexp(${t})`,sideEffects:!1});pe({name:"insertBits",signature:(e,t,s,r)=>{let o=fr([e,t],Un);if(!o)throw new Ts([e,t],Un);return{argTypes:[...o,R,R],returnType:o[0]}},normalImpl:"CPU implementation for insertBits not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s,r,o])=>ce`insertBits(${t}, ${s}, ${r}, ${o})`,sideEffects:!1});function Rk(e){if(typeof e=="number")return 1/Math.sqrt(e);throw new Ys("CPU implementation for inverseSqrt on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}pe({name:"inverseSqrt",signature:At(St),normalImpl:Rk,codegenImpl:(e,[t])=>ce`inverseSqrt(${t})`,sideEffects:!1});pe({name:"ldexp",signature:(e,t)=>{switch(e.type){case"abstractFloat":return{argTypes:[e,Yc],returnType:e};case"f32":case"f16":return{argTypes:[e,Z],returnType:e};case"vec2f":case"vec2h":return{argTypes:[e,Xt],returnType:e};case"vec3f":case"vec3h":return{argTypes:[e,cs],returnType:e};case"vec4f":case"vec4h":return{argTypes:[e,Wt],returnType:e};default:throw new Error(`Unsupported data type for ldexp: ${e.type}. Supported types are abstractFloat, f32, f16, vec2f, vec2h, vec3f, vec3h, vec4f, vec4h.`)}},normalImpl:"CPU implementation for ldexp not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s])=>ce`ldexp(${t}, ${s})`,sideEffects:!1});function zk(e){return typeof e=="number"?Math.abs(e):qr.length[e.kind](e)}var j=pe({name:"length",signature:e=>{let t=fr([e],St);if(!t)throw new Ts([e],St);return{argTypes:t,returnType:Lf(t[0])?xs:a}},normalImpl:zk,codegenImpl:(e,[t])=>ce`length(${t})`,sideEffects:!1});function Gk(e){return Tt(Math.log,[e])}var Yk=pe({name:"log",signature:At(St),normalImpl:Gk,codegenImpl:(e,[t])=>ce`log(${t})`,sideEffects:!1});function Lk(e){return Tt(Math.log2,[e])}var gp=pe({name:"log2",signature:At(St),normalImpl:Lk,codegenImpl:(e,[t])=>ce`log2(${t})`,sideEffects:!1});function Ik(e,t){return Tt(Math.max,[e,t])}var b=pe({name:"max",signature:Av,normalImpl:k5(Ik),codegenImpl:$5("max"),sideEffects:!1});function Dk(e,t){return Tt(Math.min,[e,t])}var oe=pe({name:"min",signature:Av,normalImpl:k5(Dk),codegenImpl:$5("min"),sideEffects:!1});function Fk(e,t,s){return Tt((r,o,n)=>r*(1-n)+o*n,[e,..._v([t,s])])}var X=pe({name:"mix",signature:(e,t,s)=>{if(e.type.startsWith("vec")&&!s.type.startsWith("vec")){let o=fr([s],[e.primitive]);if(!o)throw new Ts([s],[e.primitive]);return{argTypes:[e,t,o[0]],returnType:e}}let r=fr([e,t,s],St);if(!r)throw new Ts([e,t,s],St);return{argTypes:r,returnType:r[0]}},normalImpl:Fk,codegenImpl:(e,[t,s,r])=>ce`mix(${t}, ${s}, ${r})`,sideEffects:!1}),Bk={f32:Qs({fract:a,whole:a}),f16:Qs({fract:xs,whole:xs}),abstractFloat:Qs({fract:qa,whole:qa}),vec2f:Qs({fract:lt,whole:lt}),vec3f:Qs({fract:It,whole:It}),vec4f:Qs({fract:Oe,whole:Oe}),vec2h:Qs({fract:Vs,whole:Vs}),vec3h:Qs({fract:Pr,whole:Pr}),vec4h:Qs({fract:Ns,whole:Ns})};pe({name:"modf",signature:e=>{let t=Bk[e.type];if(!t)throw new Error(`Unsupported data type for modf: ${e.type}. Supported types are f32, f16, abstractFloat, vec2f, vec3f, vec4f, vec2h, vec3h, vec4h.`);return{argTypes:[e],returnType:t}},normalImpl:"CPU implementation for modf not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`modf(${t})`,sideEffects:!1});var as=pe({name:"normalize",signature:At(bc),normalImpl:e=>{let t=j(e);return Tt(s=>s/t,[e])},codegenImpl:(e,[t])=>ce`normalize(${t})`,sideEffects:!1});function Wk(e,t){return Tt((s,r)=>s**r,[e,t])}var Ce=pe({name:"pow",signature:At(St),normalImpl:Wk,codegenImpl:(e,[t,s])=>ce`pow(${t}, ${s})`,sideEffects:!1});pe({name:"quantizeToF16",signature:e=>{let t=[lt,It,Oe,a],s=fr([e],t)?.[0];if(!s)throw new Ts([e],t);return{argTypes:[s],returnType:s}},normalImpl:"CPU implementation for quantizeToF16 not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`quantizeToF16(${t})`,sideEffects:!1});function Ok(e){if(typeof e=="number")return e*Math.PI/180;throw new Ys("CPU implementation for radians on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}var zx=pe({name:"radians",signature:At(St),normalImpl:Ok,codegenImpl:(e,[t])=>ce`radians(${t})`,sideEffects:!1});pe({name:"reflect",signature:(...e)=>{let t=fr(e,bc);if(!t)throw new Ts(e,bc);return{argTypes:t,returnType:t[0]}},normalImpl:(e,t)=>ht(e,vr(2*se(t,e),t)),codegenImpl:(e,[t,s])=>ce`reflect(${t}, ${s})`,sideEffects:!1});pe({name:"refract",normalImpl:"CPU implementation for refract not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s,r])=>ce`refract(${t}, ${s}, ${r})`,signature:(e,t,s)=>({argTypes:[e,t,Lf(e)?xs:a],returnType:e}),sideEffects:!1});pe({name:"reverseBits",signature:At(Un),normalImpl:"CPU implementation for reverseBits not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`reverseBits(${t})`,sideEffects:!1});function Vk(e){if(typeof e=="number"){let t=Math.floor(e);return e===t+.5?t%2===0?t:t+1:Math.round(e)}throw new Ys("CPU implementation for round on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}var sa=pe({name:"round",signature:At(St),normalImpl:Vk,codegenImpl:(e,[t])=>ce`round(${t})`,sideEffects:!1});function Nk(e){if(typeof e=="number")return Math.max(0,Math.min(1,e));throw new Ys("CPU implementation for saturate on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}pe({name:"saturate",signature:At(St),normalImpl:Nk,codegenImpl:(e,[t])=>e.gen.emitCall("saturate",[],[t]),sideEffects:!1});function qk(e){return Tt(Math.sign,[e])}var ks=pe({name:"sign",signature:e=>{let t=[...St,Z,Xt,cs,Wt],s=fr([e],t)?.[0];if(!s)throw new Ts([e],t);return{argTypes:[s],returnType:s}},normalImpl:qk,codegenImpl:(e,[t])=>ce`sign(${t})`,sideEffects:!1});function Xk(e){return Tt(Math.sin,[e])}var Y=pe({name:"sin",signature:At(St),normalImpl:Xk,codegenImpl:(e,[t])=>ce`sin(${t})`,sideEffects:!1});function Hk(e){return Tt(Math.sinh,[e])}var jk=pe({name:"sinh",signature:At(St),normalImpl:Hk,codegenImpl:(e,[t])=>ce`sinh(${t})`,sideEffects:!1});function Kk(e,t,s){return Tt(OM,[e,t,s])}var re=pe({name:"smoothstep",signature:At(St),normalImpl:Kk,codegenImpl:(e,[t,s,r])=>ce`smoothstep(${t}, ${s}, ${r})`,sideEffects:!1});function Zk(e){return Tt(Math.sqrt,[e])}var be=pe({name:"sqrt",signature:At(St),normalImpl:Zk,codegenImpl:(e,[t])=>ce`sqrt(${t})`,sideEffects:!1});function Qk(e,t){if(typeof e=="number")return e<=t?1:0;throw new Ys("CPU implementation for step on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}var De=pe({name:"step",signature:At(St),normalImpl:Qk,codegenImpl:(e,[t,s])=>ce`step(${t}, ${s})`,sideEffects:!1});function Jk(e){if(typeof e=="number")return Math.tan(e);throw new Ys("CPU implementation for tan on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}var bp=pe({name:"tan",signature:At(St),normalImpl:Jk,codegenImpl:(e,[t])=>ce`tan(${t})`,sideEffects:!1});function e$(e){return Tt(Math.tanh,[e])}var t$=pe({name:"tanh",signature:At(St),normalImpl:e$,codegenImpl:(e,[t])=>ce`tanh(${t})`,sideEffects:!1});function s$(e){let t=Ru(e)(),s=e.columns,r=t.columns;if(s.length===2)r[0][0]=s[0][0],r[0][1]=s[1][0],r[1][0]=s[0][1],r[1][1]=s[1][1];else if(s.length===3){r[0][0]=s[0][0],r[0][1]=s[1][0],r[0][2]=s[2][0],r[1][0]=s[0][1],r[1][1]=s[1][1],r[1][2]=s[2][1];let o=r[2];o[0]=s[0][2],o[1]=s[1][2],o[2]=s[2][2]}else if(s.length===4){r[0][0]=s[0][0],r[0][1]=s[1][0],r[0][2]=s[2][0],r[0][3]=s[3][0],r[1][0]=s[0][1],r[1][1]=s[1][1],r[1][2]=s[2][1],r[1][3]=s[3][1];let o=r[2];o[0]=s[0][2],o[1]=s[1][2],o[2]=s[2][2],o[3]=s[3][2];let n=r[3];n[0]=s[0][3],n[1]=s[1][3],n[2]=s[2][3],n[3]=s[3][3]}else xc(s,"std/numeric.ts#cpuTranspose");return t}pe({name:"transpose",signature:Sv,normalImpl:s$,codegenImpl:(e,[t])=>ce`transpose(${t})`,sideEffects:!1});var r$=pe({name:"trunc",signature:At(St),normalImpl:"CPU implementation for trunc not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`trunc(${t})`,sideEffects:!1});function o$(e,t){if(typeof e!="number"||typeof t!="number")throw new Error("std.intdiv called with invalid arguments.");return Math.trunc(Math.trunc(e)/Math.trunc(t))}pe({name:"intdiv",signature:(e,t)=>{let s=fr([e,t],[R,Z]);if(!s)throw new Ts([e,t],[R,Z,Yc]);return{argTypes:s,returnType:s[0]}},normalImpl:o$,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"/",s),sideEffects:!1});function Ul(e){return lr(e)||Do(e)?Ru(e)(e):Array.isArray(e)?e.map(Ul):typeof e=="object"&&e!==null?Object.fromEntries(Object.entries(e).map(([t,s])=>[t,Ul(s)])):e}pe({name:"copy",signature:e=>({argTypes:[e],returnType:e}),normalImpl:Ul,codegenImpl(e,[t]){return ce`${t}`},sideEffects:!1});function md(e){return e.type.includes("2")?Or:e.type.includes("3")?Vr:Nr}var n$=pe({name:"allEq",signature:(...e)=>({argTypes:e,returnType:ft}),normalImpl:(e,t)=>Pv(Wc(e,t)),codegenImpl:(e,[t,s])=>ce`all(${t} == ${s})`,sideEffects:!1}),Wc=(e,t)=>Du((s,r)=>s===r,[e,t]),a$=pe({name:"eq",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:Wc,codegenImpl:(e,[t,s])=>ce`(${t} == ${s})`,sideEffects:!1}),i$=pe({name:"ne",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:(e,t)=>Js(Wc(e,t)),codegenImpl:(e,[t,s])=>ce`(${t} != ${s})`,sideEffects:!1}),ju=(e,t)=>Du((s,r)=>s({argTypes:e,returnType:md(e[0])}),normalImpl:ju,codegenImpl:(e,[t,s])=>ce`(${t} < ${s})`,sideEffects:!1}),wc=pe({name:"le",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:(e,t)=>Mv(ju(e,t),Wc(e,t)),codegenImpl:(e,[t,s])=>ce`(${t} <= ${s})`,sideEffects:!1}),c$=pe({name:"gt",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:(e,t)=>U5(Js(ju(e,t)),Js(Wc(e,t))),codegenImpl:(e,[t,s])=>ce`(${t} > ${s})`,sideEffects:!1}),wp=pe({name:"ge",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:(e,t)=>Js(ju(e,t)),codegenImpl:(e,[t,s])=>ce`(${t} >= ${s})`,sideEffects:!1});function Js(e){if(typeof e=="boolean")return!e;if(!IA(e))throw new Error("'std.not' requires a boolean or boolean vector.");switch(e.length){case 2:return Or(Js(e.x),Js(e.y));case 3:return Vr(Js(e.x),Js(e.y),Js(e.z));case 4:return Nr(Js(e.x),Js(e.y),Js(e.z),Js(e.w))}}var _$=pe({name:"not",signature:e=>{if(!Kn(e)&&!Yf(e))throw new Ts([e],[ft,Or,Vr,Nr]);return{argTypes:[e],returnType:e}},normalImpl:Js,codegenImpl:(e,[t])=>ce`!(${t})`,sideEffects:!1}),Mv=(e,t)=>Du((s,r)=>s||r,[e,t]);pe({name:"or",signature:(...e)=>({argTypes:e,returnType:e[0]}),normalImpl:Mv,codegenImpl:(e,[t,s])=>ce`(${t} | ${s})`,sideEffects:!1});var U5=(e,t)=>Js(Mv(Js(e),Js(t)));pe({name:"and",signature:(...e)=>({argTypes:e,returnType:e[0]}),normalImpl:U5,codegenImpl:(e,[t,s])=>ce`(${t} & ${s})`,sideEffects:!1});var Pv=e=>qr.all[e.kind](e),l$=pe({name:"all",signature:(...e)=>({argTypes:e,returnType:ft}),normalImpl:Pv,codegenImpl:(e,[t])=>ce`all(${t})`,sideEffects:!1});pe({name:"any",signature:(...e)=>({argTypes:e,returnType:ft}),normalImpl:e=>!Pv(Js(e)),codegenImpl:(e,[t])=>ce`any(${t})`,sideEffects:!1});pe({name:"isCloseTo",signature:(...e)=>({argTypes:e,returnType:ft}),normalImpl:(e,t,s=.01)=>{let r=Du((o,n)=>Math.abs(o-n)Qd(t)&&Qd(s)?ce`(abs(f32(${t}) - f32(${s})) <= ${r})`:!Qd(t)&&!Qd(s)?ce`all(abs(${t} - ${s}) <= (${t} - ${t}) + ${r})`:"false",sideEffects:!1});function u$(e,t,s){return typeof s=="boolean"?Ul(s?t:e):Tt((r,o,n)=>n?o:r,[e,t,s])}var ll=[a,xs,Z,R,ft,lt,It,Oe,Vs,Pr,Ns,Xt,cs,Wt,Ct,gt,Et,Or,Vr,Nr],C=pe({name:"select",signature:(e,t,s)=>{let[r,o]=fr([e,t],ll)??[e,t];return{argTypes:[r,o,s],returnType:r}},normalImpl:u$,codegenImpl:(e,[t,s,r])=>{let o=e.gen.emitCall("select",[],[t,s,r]);if(!ll.includes(t.dataType)||!ll.includes(s.dataType))throw new Error(`'${o}' is invalid, std.select requires both branches to be either scalars or vectors.`);if(t.dataType!==s.dataType){let n=e.resolve(t.dataType),i=e.resolve(s.dataType);throw new Error(`'${o}' is invalid, std.select requires both branches to be the same type, got [${n.value}, ${i.value}].`)}return o},sideEffects:!1});function Ku(e){return typeof e?.format=="string"}function m$(e,t){let s=[];if(Rc(e)){if(!Ku(t))throw new Error("Shader expected a single attribute, not a record of attributes to be passed in.");return s.push(t._layout),{usedVertexLayouts:s,bufferDefinitions:[{arrayStride:t._layout.stride,stepMode:t._layout.stepMode,attributes:[{format:t.format,offset:t.offset,shaderLocation:na(e)??0}]}]}}let r=[],o=new WeakMap,n=0;for(let[i,d]of Object.entries(e)){if(nn(d))continue;let c=t[i];if(!c)throw new Error(`An attribute by the name of '${i}' was not provided to the shader.`);let _=c._layout,u=o.get(_);u||(s.push(_),u=[],r.push({arrayStride:_.stride,stepMode:_.stepMode,attributes:u}),o.set(_,u)),n=na(d)??n,u.push({format:c.format,offset:c.offset,shaderLocation:n++})}return{usedVertexLayouts:s,bufferDefinitions:r}}var p$=["bool","f32","f16","i32","u32","vec2f","vec3f","vec4f","vec2h","vec3h","vec4h","vec2i","vec3i","vec4i","vec2u","vec3u","vec4u","vec2","vec3","vec4","mat2x2f","mat3x3f","mat4x4f","texture_external"];function f$(e){return p$.includes(e.type)}function Tp(e,[t,s]){return` ${gc(s)}${t}: ${e.resolve(s).value}, +`}function v$(e,t){if(t[B].isAbstruct)throw new Error("Cannot resolve abstract struct types to WGSL.");let s=e.makeUniqueIdentifier(xe(t),"global");return e.addDeclaration(`struct ${s} { +${Object.entries(t.propTypes).map(r=>Tp(e,r)).join("")}}`,s),s}function y$(e,t){let s=e.makeUniqueIdentifier(xe(t),"global");return e.addDeclaration(`struct ${s} { +${Object.entries(t.propTypes).map(r=>Ku(r[1])?Tp(e,[r[0],$n[r[1].format]]):Tp(e,r)).join("")} +}`,s),s}function h$(e,t){let s=e.resolve(t.elementType).value;return t.elementCount===0?`array<${s}>`:`array<${s}, ${t.elementCount}>`}function x$(e,t){let s=e.resolve(Ku(t.elementType)?$n[t.elementType.format]:t.elementType).value;return t.elementCount===0?`array<${s}>`:`array<${s}, ${t.elementCount}>`}function C5(e,t){if(zu(t))return t.type==="unstruct"?y$(e,t):t.type==="disarray"?x$(e,t):t.type==="loose-decorated"?e.resolve(Ku(t.inner)?$n[t.inner.format]:t.inner).value:e.resolve($n[t.type]).value;if(f$(t))return t.type;if(t.type==="struct")return v$(e,t);if(t.type==="array")return h$(e,t);if(t.type==="atomic")return`atomic<${C5(e,t.inner)}>`;if(t.type==="decorated")return e.resolve(t.inner).value;if(t.type==="ptr")return t.addressSpace==="storage"?`ptr`:`ptr<${t.addressSpace}, ${e.resolve(t.inner).value}>`;if(t.type==="abstractInt"||t.type==="abstractFloat"||t.type==="void"||t.type==="u16")throw new Error(`${t.type} has no representation in WGSL`);if(dl(t))return`${t.type}<${t.format}, ${Fc[t.access]}>`;if(r5(t))return t.type.startsWith("texture_depth")?t.type:`${t.type}<${t.sampleType.type}>`;if(EP(t)||PP(t))return t.type;xc(t,"resolveData")}var R5=class{[B]=!0;snippet;constructor(e){this.snippet=e}[kt](e){return e.resolveSnippet(this.snippet)}},z5=(()=>{function e(s){return s}let t=e;return ot(t,"unroll"),t.toString=()=>"unroll",t[B]=!0,t[zs]={call(s,[r]){return x2(new R5(r),r)}},t})(),Gx=new Map([[Math.abs,z],[Math.acos,dk],[Math.acosh,_k],[Math.asin,xp],[Math.asinh,mk],[Math.atan,fk],[Math.atan2,tt],[Math.atanh,yk],[Math.ceil,cc],[Math.cos,H],[Math.cosh,Tk],[Math.exp,ct],[Math.floor,q],[Math.fround,a],[Math.clz32,Sk],[Math.trunc,r$],[Math.log,Yk],[Math.log2,gp],[Math.pow,Ce],[Math.sign,ks],[Math.sin,Y],[Math.sinh,jk],[Math.sqrt,be],[Math.tan,bp],[Math.tanh,t$],[Math.max,b],[Math.min,oe]]),g$=()=>[console.log,console.debug,console.info,console.warn,console.error,console.clear],Yx=e=>pr(e)&&Us(e.inner)?e.inner.elementCount:0,b$=pe({name:"arrayLength",signature:e=>{let t=pr(e)?e:S2(e);return{argTypes:[t],returnType:Yx(t)>0?Yc:R}},normalImpl:e=>M2(e)?e.$.length:e.length,codegenImpl(e,[t]){let s=Yx(t.dataType);return s>0?`${s}`:e.gen.emitCall("arrayLength",[],[t])},sideEffects:!1});Ao((e,t,s=1)=>{if(t===void 0&&(t=e,e=0),!Number.isInteger(e))throw new Error(`'start' must be an integer, got ${e}`);if(!Number.isInteger(t))throw new Error(`'end' must be an integer, got ${t}`);if(!Number.isInteger(s)||s===0)throw new Error(`'step' must be a non-zero integer, got ${s}`);let r=[];if(r.start=e,r.end=t,r.step=s,Math.sign(s)!==Math.sign(t-e))return r;if(s>0)for(let o=e;ot;o+=s)r.push(o);return r});function Sp(e){return Array.isArray(e)&&"start"in e&&"end"in e&&"step"in e}function w$(e){return e.origin==="constant-immutable-def"?"const":"let"}function Lx(e,t){let s=qu(e,t);if(!s)throw new Qe("`for ... of ...` loops only support array or vector iterables");return s}function T$(e,t){let s=e.dataType;if(s===Ut)throw new Qe(ce`The elements in iterable ${t} are of unknown type`);if(Io(e.dataType)||e.origin==="runtime"||e.origin==="constant"||e.origin==="constant-immutable-def"||e.origin==="runtime-immutable-def")return s;if(!pr(s)){let r=Bf(e.origin,no(s));ds(r!==void 0,`Creating pointer type from origin ${e.origin}`),s=r}return A2(s)}function S$(e,t,s=!1){let{value:r,dataType:o}=t;if(Sp(r)){let{start:i,end:d,step:c}=r,_=[i,d,c].every(u=>u>=0)?R:Z;return{start:ve(i,_,"constant",!1),end:ve(d,_,"constant",!1),step:ve(c,_,"constant",!1),comparison:c<0?">":"<"}}if(!s&&!en(t))throw new Error("`for ... of ...` loops only support std.range or iterables stored in variables.\n-----\nYou can wrap iterable with `tgpu.unroll(...)`. If iterable is known at comptime, the loop will be unrolled.\n-----");let n={start:ve(0,R,"constant",!1),step:ve(1,R,"constant",!1),comparison:"<"};if(Us(o))return{...n,end:o.elementCount>0?ve(o.elementCount,R,"constant",!1):b$[zs].call(e,[t])};if(Rt(o))return{...n,end:ve(o.componentCount,R,"constant",!1)};if(s){if(Array.isArray(r))return{...n,end:ve(r.length,R,"constant",!1)};if(r instanceof ic)return{...n,end:ve(r.elements.length,R,"constant",!1)}}throw new Qe("`for ... of ...` loops only support array or vector iterables")}var{NodeTypeCatalog:dt}=E5;function jt(e){return Y5(e)?cr(e,""):gn(e,"")}function gn(e,t){if(Y5(e))return`${t}${cr(e,t)};`;if(e[0]===dt.block)return`{ +${e[1].map(s=>gn(s,t+" ")).join(` +`)} +${t}}`;if(e[0]===dt.return)return`${t}return${e[1]===void 0?"":` ${cr(e[1],"")}`};`;if(e[0]===dt.if){let s=`${t}if (${cr(e[1],t)}) ${gn(e[2],t)}`;return e[3]!==void 0?`${s} else ${gn(e[3],t)}`:s}if(e[0]===dt.let)return e[2]!==void 0?`${t}let ${e[1]} = ${cr(e[2],t)};`:`${t}let ${e[1]};`;if(e[0]===dt.const)return e[2]!==void 0?`${t}const ${e[1]} = ${cr(e[2],t)};`:`${t}const ${e[1]};`;if(e[0]===dt.for){let s=e[1]?gn(e[1],""):";",r=e[2]?cr(e[2],t):"",o=e[3]?gn(e[3],""):"",n=gn(e[4],t);return`${t}for (${s} ${r}; ${o.slice(0,-1)}) ${n}`}if(e[0]===dt.while)return`${t}while (${cr(e[1],t)}) ${gn(e[2],t)}`;if(e[0]===dt.continue)return`${t}continue;`;if(e[0]===dt.break)return`${t}break;`;if(e[0]===dt.forOf)return`${t}for (${e[1][0]===dt.const?"const":"let"} ${e[1][1]} of ${cr(e[2],t)}) ${gn(e[3],t)}`;G5(e)}function cr(e,t){if(typeof e=="string")return e;if(typeof e=="boolean")return`${e}`;if(e[0]===dt.numericLiteral)return e[1];if(e[0]===dt.stringLiteral)return JSON.stringify(e[1]);if(e[0]===dt.arrayExpr)return`[${e[1].map(s=>cr(s,t)).join(", ")}]`;if(e[0]===dt.binaryExpr)return`${ro(e[1],t)} ${e[2]} ${ro(e[3],t)}`;if(e[0]===dt.assignmentExpr)return`${cr(e[1],t)} ${e[2]} ${cr(e[3],t)}`;if(e[0]===dt.logicalExpr)return`${ro(e[1],t)} ${e[2]} ${ro(e[3],t)}`;if(e[0]===dt.unaryExpr){let s=e[1].length>1?" ":"";return`${e[1]}${s}${ro(e[2],t)}`}if(e[0]===dt.call)return`${ro(e[1],t)}(${e[2].map(s=>cr(s,t)).join(", ")})`;if(e[0]===dt.memberAccess)return Array.isArray(e[1])&&e[1][0]===dt.numericLiteral?`(${cr(e[1],t)}).${e[2]}`:`${ro(e[1],t)}.${e[2]}`;if(e[0]===dt.indexAccess)return`${ro(e[1],t)}[${cr(e[2],t)}]`;if(e[0]===dt.preUpdate)return`${e[1]}${ro(e[2],t)}`;if(e[0]===dt.postUpdate)return`${ro(e[2],t)}${e[1]}`;if(e[0]===dt.objectExpr)return`{ ${Object.entries(e[1]).map(([s,r])=>`${s}: ${cr(r,t)}`).join(", ")} }`;if(e[0]===dt.conditionalExpr)return`${ro(e[1],t)} ? ${ro(e[2],t)} : ${ro(e[3],t)}`;G5(e)}function G5(e){throw new Error(`'${JSON.stringify(e)}' was not handled by the stringify function.`)}function Y5(e){return typeof e=="string"||typeof e=="boolean"||e[0]===dt.numericLiteral||e[0]===dt.stringLiteral||e[0]===dt.arrayExpr||e[0]===dt.binaryExpr||e[0]===dt.assignmentExpr||e[0]===dt.logicalExpr||e[0]===dt.unaryExpr||e[0]===dt.call||e[0]===dt.memberAccess||e[0]===dt.indexAccess||e[0]===dt.preUpdate||e[0]===dt.postUpdate||e[0]===dt.objectExpr||e[0]===dt.conditionalExpr}var A$=[dt.memberAccess,dt.indexAccess,dt.call,dt.arrayExpr,dt.stringLiteral,dt.numericLiteral];function ro(e,t){let s=cr(e,t);return typeof e=="string"||typeof e=="boolean"||A$.includes(e[0])?s:`(${s})`}var{NodeTypeCatalog:Pt}=E5,M$=["==","!=","===","!==","<","<=",">",">=","<<",">>",">>>","+","-","*","/","%","|","^","&"],P$=["&&","||","==","!=","===","!==","<","<=",">",">="],E$={"===":a$.toString(),"!==":i$.toString(),"<":d$.toString(),"<=":wc.toString(),">":c$.toString(),">=":wp.toString()},k$=["<<",">>","<<=",">>=",">>>",">>>="],$$={"===":"==","!==":"!=",">>>":">>",get in(){throw new Error("The `in` operator is unsupported in TypeGPU functions.")},get instanceof(){throw new Error("The `instanceof` operator is unsupported in TypeGPU functions.")},get"|>"(){throw new Error("The `|>` operator is unsupported in TypeGPU functions.")},get"??"(){throw new Error("The `??` operator is unsupported in TypeGPU functions.")},">>>=":">>=",get"**="(){throw new Error("The `**=` operator is unsupported in TypeGPU functions.")},get"??="(){throw new Error("The `??=` operator is unsupported in TypeGPU functions.")},get"&&="(){throw new Error("The `&&=` operator is unsupported in TypeGPU functions.")},get"||="(){throw new Error("The `||=` operator is unsupported in TypeGPU functions.")}};function Ix(e,t,s){return s?P$.includes(t)?ft:t==="="?s:e:t==="!"?ft:e}var U$={"-":px[zs].call.bind(px),void:()=>ve(void 0,_s,"constant",!1),"!":(e,[t])=>{if(t===void 0)throw new Error("The unary operator `!` expects 1 argument, but 0 were provided.");if(hs(t))return ve(!t.value,ft,"constant",!1);let s=e.resolveSnippet(t).value;if(!Kn(t.dataType))throw new Qe(`Unary operator ! requires boolean operand. Got ${String(t.dataType)}.${Yf(t.dataType)?` For component-wise negation, use 'std.${_$.toString()}'.`:""}`);return ve(`!(${s})`,ft,"runtime",t.possibleSideEffects)}},C$={"+":Pn[zs].call.bind(Pn),"-":ht[zs].call.bind(ht),"*":vr[zs].call.bind(vr),"/":mp[zs].call.bind(mp),"**":Ce[zs].call.bind(Ce)},Dx={private:"private",workgroup:"workgroup",uniform:"uniform",mutable:"storage, read_write",readonly:"storage, read"},um=2,R$=class L5{#e=void 0;#t=[];static#s=L5.prototype.languageKey="wgsl";initGenerator(t){if(this.#e!==void 0)throw new Error("Cannot initialize shader generators twice. Create one generator per resolution.");this.#e=t}get ctx(){if(!this.#e)throw new Error("WGSL Generator has not yet been initialized. Please call initialize(ctx) before using the generator.");return this.#e}_block([t,s],r,o){this.ctx.pushBlockScope();try{if(o){let _=Object.fromEntries(Object.entries(o).map(([u,m])=>[u,Wr(m)]));this.ctx.setBlockExternals(_)}let n="",i=!1,d;this.ctx.indent();for(let _ of s){let u=this._statement(_);if(u.code.length>0&&(n+=`${u.code} +`),i||=u.definesInNearestScope??!1,u.endsWithControlFlow!==void 0){d=u.endsWithControlFlow;break}}this.ctx.dedent();let c=r&&!i;return this.ctx.blockDepth===um&&(n=n.replace(/[ ]*return\s*;\s*$/u,"")),n===""?{code:"",endsWithControlFlow:d,definesInNearestScope:!1}:c?{code:this.ctx.getDedented(n.trim()),endsWithControlFlow:d,definesInNearestScope:i}:{code:`{ +${n}${this.ctx.pre}}`,endsWithControlFlow:d,definesInNearestScope:!1}}finally{this.ctx.popBlockScope()}}_blockStatement(t,s){let{code:r,...o}=this._block(t,!0,s);return r===""?{...o,code:""}:{...o,code:`${this.ctx.pre}${r}`}}refVariable(t,s){let r=this.ctx.makeUniqueIdentifier(t,"block"),o=S2(s),n=ve(new wn(ve(r,s,"function",!1),o),o,"function",!1);return this.ctx.defineVariable(t,n),r}_emitVarDecl(t,s,r,o){return`${this.ctx.pre}${t} ${s} = ${o};`}_identifier(t){if(!t)throw new Error("Cannot resolve an empty identifier");if(t==="undefined")return ve(void 0,_s,"constant",!1);let s=this.ctx.getById(t);if(!s)throw new Error(`Identifier ${t} not found`);return s}_callShellless(t,s){let r=yp(t),o=r?t[Mr]?.pairs??[]:[],n=r?t[B].inner:t;return this.ctx.withRenamed(n,xe(t),()=>this.ctx.withSlots(o,()=>{let i=this.ctx.shelllessRepo.get(n,s);if(!i)return;let d=s.map((c,_)=>{let u=i.argTypes[_];return Fr(this.ctx,c,u,!1)});return this.ctx.withResetIndentLevel(()=>{let c=this.ctx.resolve(i);return ve(ce`${c.value}(${d})`,c.dataType,"runtime")})}))}_typedExpression(t,s){let r=this.ctx.expectedType;this.ctx.expectedType=s;try{let o=this._expression(t);return s instanceof Wo?o:Fr(this.ctx,o,s)}finally{this.ctx.expectedType=r}}_expression(t){if(typeof t=="string")return this._identifier(t);if(typeof t=="boolean")return ve(t,ft,"constant",!1);if(t[0]===Pt.logicalExpr){let[s,r,o,n]=t,i=this._expression(r);if(hs(i)){let u=Kn(this.ctx.expectedType);if(!(o==="&&"?i.value:!i.value))return u?ve(o==="||",ft,"constant",!1):Wr(i.value);let m=this._expression(n);if(hs(m)){let p=Wr(m.value);return u?Fr(this.ctx,p,ft,!1):p}if(m.dataType===Ut)throw new Qe(`Right-hand side of '${o}' is of unknown type`);return u?Fr(this.ctx,m,ft,!1):m}let d=this._expression(n);if(i.dataType===Ut)throw new Qe(`Left-hand side of '${o}' is of unknown type`);if(!hs(d)&&d.dataType===Ut)throw new Qe(`Right-hand side of '${o}' is of unknown type`);if(!Kn(i.dataType)||!Kn(d.dataType))throw new Qe(`Logical expression '${o}' requires boolean operands. Got '${String(i.dataType)}' and '${String(d.dataType)}'.`);let c=this.ctx.resolveSnippet(i).value,_=this.ctx.resolveSnippet(d).value;return ve(`(${c} ${o} ${_})`,ft,"runtime",i.possibleSideEffects||d.possibleSideEffects)}if(t[0]===Pt.binaryExpr||t[0]===Pt.assignmentExpr){let[s,r,o,n]=t,i=this._expression(r),d=this._expression(n);if(d.value instanceof wn)throw new Qe(ce`Cannot assign a ref to an existing variable '${jt(r)}', define a new variable instead.`);if(o==="==")throw new Error("Please use the === operator instead of ==");if(o==="!=")throw new Error("Please use the !== operator instead of !=");let c=E$[o];if(c&&hs(i)&&hs(d)){let y=i.value,h=d.value;switch(o){case"===":return ve(y===h,ft,"constant",!1);case"!==":return ve(y!==h,ft,"constant",!1)}if(typeof y!="number"||typeof h!="number")throw new Qe(`Comparison '${o}' requires numeric operands.${Rt(i.dataType)&&Rt(d.dataType)?` For component-wise comparison, use 'std.${c}'.`:""}`);switch(o){case"<":return ve(y":return ve(y>h,ft,"constant",!1);case">=":return ve(y>=h,ft,"constant",!1)}}if(i.dataType===Ut)throw new Qe(`Left-hand side of '${o}' is of unknown type`);if(d.dataType===Ut)throw new Qe(`Right-hand side of '${o}' is of unknown type`);let _=C$[o];if(_)return _(this.ctx,[i,d]);let u,m;if(k$.includes(o)){let y=i.dataType;if(!Qb(y)&&!OA(y))throw new Qe(`Expression: ${jt(t)} +Left-hand side of '${o}' must be an integer or vector of integers. +Got ${this.ctx.resolve(y).value}.`);let h=Rt(y)?y.primitive:y;if([">>>",">>>="].includes(o)&&h.type!=="u32")throw new Qe(`Expression: ${jt(t)} +Left-hand side of '${o}' must be an unsigned integer or vector of unsigned integers. +Got ${this.ctx.resolve(y).value}. +Use ${o.slice(1)} instead.`);[">>",">>="].includes(o)&&h.type==="u32"&&Vt.warn("deprecated",` +Expression: ${jt(t)} +Using u32 or vecN as left-hand side of ${o} is deprecated. +Use >${o} instead.`);let g;if(Rt(y)){let w=y.componentCount;g=w===2?Ct:w===3?gt:Et}else g=R;m=Fr(this.ctx,d,g,!1),u=i}else{let y=s===Pt.assignmentExpr?[i.dataType]:void 0;[u,m]=Qn(this.ctx,[i,d],y)??[i,d]}let p=Ix(u.dataType,o,m.dataType);if(s===Pt.assignmentExpr&&(Fx(u,t),this.tryMarkModified(r),o==="="&&en(d)&&!Io(d.dataType)))throw new Qe(`'${jt(t)}' is invalid, because references cannot be assigned. +----- +Try '${jt(r)} = ${this.ctx.resolve(Ca(d.dataType)).value}(${jt(n)})' to copy the value instead. +-----`);if(c){let y=["===","!=="].includes(o);if(!(np(u.dataType)&&np(m.dataType)||y&&Kn(u.dataType)&&Kn(m.dataType))){let h=Rt(u.dataType)&&Rt(m.dataType);throw new Qe(`Comparison '${o}' requires numeric${y?" or boolean":""} operands. Got '${String(u.dataType)}' and '${String(m.dataType)}'.${h?` For component-wise comparison, use 'std.${c}'.`:""}`)}}return ve(this.emitBinaryOp(u,$$[o]??o,m),p,"runtime",s===Pt.assignmentExpr||i.possibleSideEffects||d.possibleSideEffects)}if(t[0]===Pt.postUpdate)throw new Error(`'${jt(t)}' is invalid because update is only allowed as a statement.`);if(t[0]===Pt.unaryExpr){let[s,r,o]=t,n=this._expression(o),i=U$[r];if(i)return i(this.ctx,[n]);let d=this.ctx.resolveSnippet(n).value,c=Ix(n.dataType,r);return ve(`${r}${d}`,c,"runtime",n.possibleSideEffects)}if(t[0]===Pt.memberAccess){let[s,r,o]=t,n=Bi(this._expression(r),o);if(!n)throw new Error(`Property '${o}' not found on '${jt(r)}'`);return n}if(t[0]===Pt.indexAccess){let[s,r,o]=t,n=this._expression(r),i=this._expression(o),d=qu(n,Qn(this.ctx,[i],[R,Z],!1)?.[0]??i);if(!d)throw new Error(`Index access '${jt(t)}' is invalid. If the value is an array, to address this, consider one of the following approaches: (1) declare the array using 'tgpu.const', (2) store the array in a buffer, or (3) define the array within the GPU function scope.`);return d}if(t[0]===Pt.numericLiteral){let s=typeof t[1]=="string"?on(G$(t[1])):on(t[1]);return ds(s,`Expected ${jt(t)} to be valid numeric literal`),s}if(t[0]===Pt.call){let[s,r,o]=t,n=this._expression(r),i=Gx.has(n.value)?ve(Gx.get(n.value),Ut,"runtime",n.possibleSideEffects):n;if(g$().includes(i.value))return this.ctx.generateLog(i.value,o.map(_=>this._expression(_)));if(Qt(i.value)){if(o.length>1)throw new Qe("Struct schemas should always be called with at most 1 argument");if(!o[0])return ve(`${this.ctx.resolve(i.value).value}()`,i.value,"runtime",!1);let _=this._typedExpression(o[0],i.value);return ve(this.ctx.resolveSnippet(_).value,i.value,"runtime",_.possibleSideEffects)}if(Us(i.value)){if(o.length>1)throw new Qe("Array schemas should always be called with at most 1 argument");if(!o[0])return this.typeInstantiation(i.value,[]);let _=this._typedExpression(o[0],i.value);return _.value instanceof ic?this.typeInstantiation(i.value,_.value.elements):ve(this.ctx.resolveSnippet(_).value,i.value,"runtime",_.possibleSideEffects)}if(i.value===wv)throw new Error("Constants cannot be defined within TypeGPU function scope. To address this, move the constant definition outside the function scope.");if(sP(i.value)){if(!o[0])throw new Qe(`An infix operator '${xe(i.value.operator)}' was called without any arguments`);let _=Wr(i.value.lhs),u=this._expression(o[0]);return i.value.operator[zs].call(this.ctx,[_,u])}if((i.value===mM||i.value===z5)&&o[0]&&this.tryMarkModified(o[0]),Tl(i.value)){let _=i.value[zs],u=_.strictSignature,m;u?m=o.map((p,y)=>{let h=u.argTypes[y];if(!h)throw new Qe(`Call '${jt(t)}' is invalid since the function expected fewer arguments`);return this._typedExpression(p,h)}):m=o.map(p=>this._expression(p));try{return _.call(this.ctx,m)}catch(p){throw p instanceof Pi?p:new Pi(p,[{toString:()=>`fn:${xe(i.value)}`}])}}if(!mt(i.value)||yp(i.value)){let _=o.map(m=>this._expression(m)),u=this._callShellless(i.value,_);if(u)return u}let d=Object.getOwnPropertyNames(Math).find(_=>Math[_]===i.value);if(d)throw new Error(`Unsupported Math functionality 'Math.${d}()'. Use an std alternative, or implement the function manually.`);let c=Object.getOwnPropertyNames(console).find(_=>console[_]===i.value);throw c?new Error(`Unsupported console functionality 'console.${c}()'.`):new Error(`Function '${xe(i.value)??String(i.value)}' is not marked with the 'use gpu' directive and cannot be used in a shader`)}if(t[0]===Pt.objectExpr){let s=t[1],r=this.ctx.expectedType;if(r instanceof Wo){let o=Object.fromEntries(Object.entries(s).map(([d,c])=>{let _=r.accessProp(d),u;if(_)u=this._typedExpression(c,_.type);else{if(u=this._expression(c),u.dataType===Ut)throw new Qe(ce`Property ${d} in object literal has a value of unknown type: '${u}'`);_=r.provideProp(d,Ca(no(u.dataType)))}return[_.prop,u]})),n=r.completeStruct,i=ex(this.ctx,n,o);return ve(ce`${this.ctx.resolve(r).value}(${i})`,n,"runtime")}if(Qt(r)){let o=Object.fromEntries(Object.entries(r.propTypes).map(([i,d])=>{let c=s[i];if(c===void 0)throw new Qe(`Missing property ${i} in object literal for struct ${r}`);return[i,this._typedExpression(c,d)]})),n=ex(this.ctx,r,o);return ve(ce`${this.ctx.resolve(r).value}(${n})`,r,"runtime",n.some(i=>i.possibleSideEffects))}throw new Qe(`No target type could be inferred for object '${jt(t)}', please wrap the object in the corresponding schema.`)}if(t[0]===Pt.arrayExpr){let[s,r]=t,o=this.ctx.expectedType,n,i;if(Us(o)){if(n=o.elementType,i=r.map(_=>this._typedExpression(_,n)),i.length!==o.elementCount)throw new Qe(`Cannot create value of type '${o}' from an array of length: ${i.length}`)}else{let _=r.map(m=>this._expression(m));if(_.length===0)throw new Qe("Cannot infer the type of an empty array literal.");let u=Qn(this.ctx,_);if(!u)throw new Qe(`Values '${jt(t)}' cannot be automatically converted to a common type. Consider wrapping the array in an appropriate schema`);i=u,n=no(i[0]?.dataType)}let d=pt(n,i.length),c=i.every(_=>_.origin==="constant");return ve(new ic(d,i),d,c?"constant":"runtime",i.some(_=>_.possibleSideEffects))}if(t[0]===Pt.conditionalExpr){let[s,r,o,n]=t,i=this._expression(r);if(hs(i))return i.value?this._expression(o):this._expression(n);{let d=Fr(this.ctx,i,ft,!1),c=this._expression(o),_=this._expression(n),[u,m]=Qn(this.ctx,[c,_],ll)??[];if(!u||!m||c.possibleSideEffects||_.possibleSideEffects||en(c)&&!Io(c.dataType)||en(_)&&!Io(_.dataType))throw new Error(`Ternary operator '${jt(t)}' is invalid. For more complex branching, please use 'std.select' or if/else statements.`);return ve(ce`select(${m}, ${u}, ${d})`,u.dataType,"runtime",i.possibleSideEffects)}}if(t[0]===Pt.stringLiteral)return ve(t[1],Ut,"constant",!1);if(t[0]===Pt.preUpdate)throw new Error("Cannot use pre-updates in TypeGPU functions.");z$(t)}declareGlobalConst(t){let s=this.ctx.resolve(t.dataType).value,r=this.ctx.resolveSnippet(t.init).value;return this.ctx.addDeclaration(`const ${t.id}: ${s} = ${r};`,t.id),ve(t.id,t.dataType,"constant-immutable-def")}declareGlobalVar(t){let s="";return t.group!==void 0&&(s+=`@group(${t.group}) `),t.binding!==void 0&&(s+=`@binding(${t.binding}) `),t.scope in Dx?s+=`var<${Dx[t.scope]}> `:s+="var ",s+=`${t.id}: ${this.ctx.resolve(t.dataType).value}`,this.ctx.addDeclaration(t.init?`${s} = ${this.ctx.resolveSnippet(t.init).value};`:`${s};`,t.id),ve(t.id,t.dataType,t.scope)}functionDefinition(t){ds(this.ctx.blockDepth===um-1,`Expecting exactly ${um-1} block(s) before going into the first function block scope`);let s=this._block(t.body,!1),r=this.ctx.topFunctionScope;ds(r,"Expected function scope to be present");let o=Object.fromEntries([...r.placeholderForVariable.entries()].map(([_,u])=>[u,r.modifiedVariables.has(_)?"var":"let"]));if(Object.keys(o).length>0){let _=new RegExp(Object.keys(o).join("|"),"gi");s.code=s.code.replace(_,u=>o[u]??"#ERR")}let n=t.determineReturnType(),i=t.args.filter(_=>_.used||t.functionType==="normal").map(_=>`${gc(_.decoratedType)}${_.name}: ${this.ctx.resolve(_.decoratedType).value}`).join(", "),d=n.type!=="void"?`(${i}) -> ${gc(n)}${this.ctx.resolve(n).value} `:`(${i}) `,c="";if(t.functionType==="compute"){if(!t.workgroupSize)throw new Error("Compute shaders must have a workgroup size");c=`@compute @workgroup_size(${t.workgroupSize.join(", ")}) `}else t.functionType==="vertex"?c="@vertex ":t.functionType==="fragment"&&(c="@fragment ");return`${c}fn ${t.name}${d}${s.code||"{}"}`}emitTypeAnnotation(t){return C5(this.ctx,t)}typeInstantiation(t,s){return s.length===1&&s[0]?.dataType===t?ve(ce`${s[0]}`,t,rM(s[0].origin),s[0].possibleSideEffects):ve(ce`${this.ctx.resolve(t).value}(${s})`,t,"runtime",s.some(r=>r.possibleSideEffects))}numericLiteral(t,s){if(!Number.isFinite(t))throw new Error(`Value '${t}' (${s.type}) cannot be resolved due to WGSL's Finite Math Assumption (see: https://www.w3.org/TR/WGSL/#finite-math-assumption). This value might be a result of a comptime-evaluated operation.`);if(s.type==="abstractInt")return ve(`${t}`,s,"constant",!1);if(s.type==="u32")return ve(`${t}u`,s,"constant",!1);if(s.type==="i32")return ve(`${t}i`,s,"constant",!1);let r=t.toExponential(),o=s.type==="abstractFloat"&&Number.isInteger(t)?`${t}.`:`${t}`,n=r.lengththis.ctx.resolveSnippet(i).value).join(", "),n=r.map(i=>this.ctx.resolveSnippet(i).value).join(", ");return o.length>0?`${t}<${o}>(${n})`:`${t}(${n})`}emitBinaryOp(t,s,r){let o=this.ctx.resolveSnippet(t).value,n=this.ctx.resolveSnippet(r).value;return M$.includes(s)?`(${o} ${s} ${n})`:`${o} ${s} ${n}`}_return(t){let s=t[1];if(s!==void 0){let r=this.ctx.topFunctionReturnType,o=r?this._typedExpression(s,r):this._expression(s);if(o.value===void 0&&Cu(o.dataType))return this.ctx.reportReturnType(_s),`${this.ctx.pre}return;`;if(o.value instanceof wn)throw new Qe(`Cannot return '${jt(s)}' because it is a d.ref`);if(o.origin==="argument"&&!Io(o.dataType)&&this.ctx.topFunctionScope?.functionType==="normal")throw new Qe(`'${jt(t)}' is invalid, cannot return references to arguments. Copy the argument before returning it.`);if(!r&&en(o)&&!Io(o.dataType)&&o.origin!=="local-def"){let n=jt(s),i=this.ctx.resolve(Ca(o.dataType)).value;throw new Qe(`'return ${n};' is invalid, cannot return references. +----- +Try 'return ${i}(${n});' instead. +-----`)}return o=Fr(this.ctx,o,Ca(o.dataType),!1),ds(o.dataType!==Ut,"Return type should be known"),this.ctx.reportReturnType(o.dataType),ce`${this.ctx.pre}return ${o};`}return this.ctx.reportReturnType(_s),`${this.ctx.pre}return;`}_letStatement(t){let[s,r,o]=t;if(o===void 0)throw new Error(`'${jt(t)}' is invalid because all variables need initializers.`);let n=this._expression(o);if(n.value instanceof wn){let y=jt(o);throw new Qe(`'let ${r} = ${y}' is invalid, cannot initialize 'let' variables with d.ref() +----- +- Try 'const ${r} = ${y}'. +-----`)}let i=n.dataType;if(i===Ut){let y=jt(o);throw new Qe(`'let ${r} = ${y}' is invalid, cannot determine WGSL type of '${y}' +----- +- Try using or defining a schema that matches your desired value the most, and wrap the value with it: 'let ${r} = Schema(${y})' +-----`)}if(en(n)&&!Io(n.dataType)){let y=jt(o),h=this.ctx.resolve(Ca(n.dataType)).value;throw new Qe(`'let ${r} = ${y}' is invalid, because references cannot be assigned to 'let' variable declarations. +----- +- Try 'let ${r} = ${h}(${y})' if you need to reassign '${r}' later +- Try 'const ${r} = ${y}' if you won't reassign '${r}' later. +-----`)}let d=no(i),c=ve(this.ctx.makeUniqueIdentifier(r,"block"),d,"local-def",!1);this.ctx.defineVariable(r,c);let _=Fr(this.ctx,n,i,!1),u=this.ctx.resolveSnippet(_).value,m=this.ctx.topFunctionScope;ds(m,`Expected function scope to be present for ${r}`);let p=`#VAR_${m.placeholderForVariable.size}#`;return m.placeholderForVariable.set(c,p),{code:this._emitVarDecl(p,c.value,d,u),definesInNearestScope:!0}}_constStatement(t){let[s,r,o]=t;if(o===void 0)throw new Error(`'${jt(t)}' is invalid because all variables need initializers.`);let n=this._expression(o);if(n.value instanceof wn){if(n.dataType!==Ut)throw new Qe("Cannot store d.ref() in a variable if it references another value. Copy the value passed into d.ref() instead.");let g=n.value.snippet,w=this.refVariable(r,no(g.dataType));return{code:ce`${this.ctx.pre}var ${w} = ${Fr(this.ctx,g,g.dataType,!1)};`,definesInNearestScope:!0}}let i=Io(n.dataType),d="local-def",c="",_=n.dataType;if(_===Ut){let g=jt(o);throw new Qe(`'const ${r} = ${g}' is invalid, cannot determine WGSL type of '${g}' +----- +- Try using or defining a schema that matches your desired value the most, and wrap the value with it: 'const ${r} = Schema(${g})' +-----`)}if(n.origin==="argument")c="let",d=i?"local-def":"argument";else if(n.origin==="constant-immutable-def")c="const",d="constant-immutable-def";else if(n.origin==="runtime-immutable-def")c="let",d="runtime-immutable-def";else if(i)c=n.origin==="constant"?"const":"let",d="local-def";else if(!en(n))c="",d="local-def";else return this._aliasConstStatement(r,o,n);let u=no(_),m=ve(this.ctx.makeUniqueIdentifier(r,"block"),u,d,!1);this.ctx.defineVariable(r,m);let p=Fr(this.ctx,n,_,!1),y=this.ctx.resolveSnippet(p).value,h;if(c===""){let g=this.ctx.topFunctionScope;ds(g,`Expected function scope to be present for ${r}`),h=`#VAR_${g.placeholderForVariable.size}#`,g.placeholderForVariable.set(m,h)}else h=c;return{code:this._emitVarDecl(h,m.value,u,y),definesInNearestScope:!0}}_aliasConstStatement(t,s,r){let o=r.dataType;if(!pr(o)){let _=Bf(r.origin,no(o));ds(_!==void 0,`Creating pointer type from origin ${r.origin}`),o=_}o=A2(o),this.tryMarkModified(s);let n=no(o),i=ve(this.ctx.makeUniqueIdentifier(t,"block"),n,r.origin,!1);this.ctx.defineVariable(t,i);let d=Fr(this.ctx,r,o,!1),c=this.ctx.resolveSnippet(d).value;return{code:this._emitVarDecl("let",i.value,n,c),definesInNearestScope:!0}}_statement(t){if(typeof t=="string"){let o=this._identifier(t),n=o.value!==void 0&&o.value!==null?this.ctx.resolveSnippet(o).value:"";return{code:n?`${this.ctx.pre}${n};`:"",definesInNearestScope:!1}}if(typeof t=="boolean")return{code:`${this.ctx.pre}${t?"true":"false"};`,definesInNearestScope:!1};if(t[0]===Pt.return)return{code:this._return(t),endsWithControlFlow:"return",definesInNearestScope:!1};if(t[0]===Pt.if){let[o,n,i,d]=t,c=this._typedExpression(n,ft);if(typeof c.value=="boolean"){let m=c.value?i:d;return m===void 0?{code:"",definesInNearestScope:!1}:(Array.isArray(m)||(m=ka(m)),m[0]===Pt.block&&m[1].length===1&&m[1][0][0]===Pt.if?this._statement(m[1][0]):m[0]===Pt.if?this._statement(m):this._blockStatement(ka(m)))}let _=this._block(ka(i),!1),u=d?this._block(ka(d),!1).code:void 0;return u?{code:ce`\ +${this.ctx.pre}if (${c}) ${_.code||"{}"} +${this.ctx.pre}else ${u}`,definesInNearestScope:!1}:{code:ce`${this.ctx.pre}if (${c}) ${_.code||"{}"}`,definesInNearestScope:!1}}if(t[0]===Pt.let)return this._letStatement(t);if(t[0]===Pt.const)return this._constStatement(t);if(t[0]===Pt.block)return this._blockStatement(t);if(t[0]===Pt.for){let[o,n,i,d,c]=t,_=this.#t;this.#t=[];try{this.ctx.pushBlockScope();let[u,m,p]=this.ctx.withResetIndentLevel(()=>[n?this._statement(n).code:void 0,i?this._typedExpression(i,ft):void 0,d?this._statement(d).code:void 0]),y=u?u.slice(0,-1):"",h=p?p.slice(0,-1):"",g=this._block(ka(c),!1).code;return{code:ce`${this.ctx.pre}for (${y}; ${m}; ${h}) ${g||"{}"}`,definesInNearestScope:!1}}finally{this.#t=_,this.ctx.popBlockScope()}}if(t[0]===Pt.while){let o=this.#t;this.#t=[];try{let[n,i,d]=t,c=this._typedExpression(i,ft),_=this.ctx.resolveSnippet(c).value,u=this._block(ka(d),!1).code;return{code:`${this.ctx.pre}while (${_}) ${u||"{}"}`,definesInNearestScope:!1}}finally{this.#t=o}}if(t[0]===Pt.forOf){let[o,n,i,d]=t;if(n[0]!==Pt.const)throw new Qe("Only `for (const ... of ... )` loops are supported");this.tryMarkModified(i);let c=!1,_=this.#t;try{this.ctx.pushBlockScope();let u=this._expression(i),m=u.value instanceof R5,p=m?u.value.snippet:u,y=S$(this.ctx,p,m),h=n[1],g=ka(d);if(m){if(!hs(y.end))throw new Error("Cannot unroll loop. Length of iterable is unknown at comptime.");let A=y.end.value;if(A===0)return{code:"",definesInNearestScope:!1};let{value:P}=p,U=Sp(P)?P.map(W=>Wr(W)):P instanceof ic?P.elements:Array.from({length:A},(W,K)=>Lx(p,ve(K,R,"constant"))),D=U[0];if(!en(D)&&!Io(D.dataType))throw new Qe(`Cannot unroll '${jt(i)}'. The elements of iterable are constructed in place but are not value types.`);let O="",L,G=!1;for(let W=0;W`#${te}`).join(" / ")} +${Q.code} +`,Q.endsWithControlFlow!==void 0){L=Q.endsWithControlFlow;break}}return{code:`${O}${this.ctx.pre}// ---`,endsWithControlFlow:L,definesInNearestScope:G}}this.#t=[];let w=this.ctx.makeUniqueIdentifier("i","block"),S=ce`${this.ctx.pre}for (var ${w} = ${y.start}; ${w} ${y.comparison} ${y.end}; ${w} += ${y.step})`,T="";if(Sp(p.value))T=this._block(g,!1,{[h]:ve(w,y.start.dataType,"runtime",!1)}).code;else{this.ctx.indent(),c=!0;let A=this.ctx.makeUniqueIdentifier(h,"block"),P=Lx(p,ve(w,R,"runtime")),U=w$(P),D=T$(P,p);T=`{ +${ce`${this.ctx.pre}${U} ${A} = ${Fr(this.ctx,P,D,!1)};`} +${this._blockStatement(g,{[h]:ve(A,D,P.origin,!1)}).code} +`,this.ctx.dedent(),T+=`${this.ctx.pre}}`,c=!1}return{code:ce`${S} ${T.trim()||"{}"}`,definesInNearestScope:!1}}finally{c&&this.ctx.dedent(),this.#t=_,this.ctx.popBlockScope()}}if(t[0]===Pt.postUpdate){let[o,n,i]=t,d=this._expression(i),c=this.ctx.resolveSnippet(d).value;return Fx(d,t),this.tryMarkModified(i),{code:`${this.ctx.pre}${c}${n};`,definesInNearestScope:!1}}if(t[0]===Pt.continue){if(this.#t.length>0)throw new Qe("Cannot unroll loop containing `continue`");return{code:`${this.ctx.pre}continue;`,endsWithControlFlow:"continue",definesInNearestScope:!1}}if(t[0]===Pt.break){if(this.#t.length>0)throw new Qe("Cannot unroll loop containing `break`");return{code:`${this.ctx.pre}break;`,endsWithControlFlow:"break",definesInNearestScope:!1}}let s=this._expression(t),r=s.value!==void 0&&s.value!==null?this.ctx.resolveSnippet(s).value:"";return{code:r?`${this.ctx.pre}${r};`:"",definesInNearestScope:!1}}tryMarkModified(t){if(!t)return;let s=Y$(t);if(s!==void 0){let r=this.ctx.getById(s),o=this.ctx.topFunctionScope;r&&o&&o.placeholderForVariable.has(r)&&o.modifiedVariables.add(r)}}};function Fx(e,t){if(e.origin==="constant"||e.origin==="constant-immutable-def"||e.origin==="runtime-immutable-def")throw hs(e)?new Qe(`'${jt(t)}' is invalid, because the left side is defined outside of the shader, and therefore is immutable during its execution. Try using tgpu.privateVar or buffers.`):new Qe(`'${jt(t)}' is invalid, because the left side is a constant.`);if(e.origin==="uniform")throw new Qe(`'${jt(t)}' is invalid, because uniform buffers cannot be mutated.`);if(e.origin==="readonly")throw new Qe(`'${jt(t)}' is invalid, because readonly buffers cannot be mutated.`);if(e.origin==="argument")throw new Qe(`'${jt(t)}' is invalid, because non-pointer arguments cannot be mutated.`)}function z$(e){throw new Error(`'${io(e)}' was not handled by the WGSL generator.`)}function G$(e){return/^0x[0-9a-f]+$/i.test(e)?Number.parseInt(e):/^0b[01]+$/i.test(e)?Number.parseInt(e.slice(2),2):Number.parseFloat(e)}function ka(e){return typeof e!="object"||e[0]!==Pt.block?[Pt.block,[e]]:e}function Y$(e){let t=e;for(;Array.isArray(t)&&(t[0]===Pt.memberAccess||t[0]===Pt.indexAccess);)t=t[1];if(typeof t=="string")return t}var L$=(()=>{try{return new Function("return true"),!0}catch{return!1}})(),Bx=new WeakMap,Wx=!1,I_={u32:"u32",vec2u:"u32",vec3u:"u32",vec4u:"u32",u16:"u16",i32:"i32",vec2i:"i32",vec3i:"i32",vec4i:"i32",f32:"f32",vec2f:"f32",vec3f:"f32",vec4f:"f32",f16:"f16",vec2h:"f16",vec3h:"f16",vec4h:"f16",mat2x2f:"f32",mat3x3f:"f32",mat4x4f:"f32"},I$={uint8:"u8",uint8x2:"u8",uint8x4:"u8",sint8:"i8",sint8x2:"i8",sint8x4:"i8",unorm8:"u8",unorm8x2:"u8",unorm8x4:"u8",snorm8:"i8",snorm8x2:"i8",snorm8x4:"i8",uint16:"u16",uint16x2:"u16",uint16x4:"u16",sint16:"i16",sint16x2:"i16",sint16x4:"i16",unorm16:"u16",unorm16x2:"u16",unorm16x4:"u16",snorm16:"i16",snorm16x2:"i16",snorm16x4:"i16",float16:"f16",float16x2:"f16",float16x4:"f16",float32:"f32",float32x2:"f32",float32x3:"f32",float32x4:"f32",uint32:"u32",uint32x2:"u32",uint32x3:"u32",uint32x4:"u32",sint32:"i32",sint32x2:"i32",sint32x3:"i32",sint32x4:"i32"},D_={u32:"setUint32",i32:"setInt32",f32:"setFloat32",u16:"setUint16",i16:"setInt16",f16:"setFloat16",u8:"setUint8",i8:"setInt8"},D$={unorm8:e=>`Math.round(${e} * 255)`,unorm8x2:e=>`Math.round(${e} * 255)`,unorm8x4:e=>`Math.round(${e} * 255)`,snorm8:e=>`Math.round(${e} * 127)`,snorm8x2:e=>`Math.round(${e} * 127)`,snorm8x4:e=>`Math.round(${e} * 127)`,unorm16:e=>`Math.round(${e} * 65535)`,unorm16x2:e=>`Math.round(${e} * 65535)`,unorm16x4:e=>`Math.round(${e} * 65535)`,snorm16:e=>`Math.round(${e} * 32767)`,snorm16x2:e=>`Math.round(${e} * 32767)`,snorm16x4:e=>`Math.round(${e} * 32767)`},Ox={"unorm10-10-10-2":{writeFunction:"setUint32",generator:(e,t)=>`output.setUint32(${e}, ((${t}.x*1023&0x3FF)<<22)|((${t}.y*1023&0x3FF)<<12)|((${t}.z*1023&0x3FF)<<2)|(${t}.w*3&3), littleEndian); +`},"unorm8x4-bgra":{writeFunction:"setUint8",generator:(e,t)=>["z","y","x","w"].map((s,r)=>`output.setUint8((${e} + ${r}), Math.round(${t}.${s} * 255), littleEndian); +`).join("")}};function Vx(e,t,s,r=0,o=!1){let n=(c,_,u)=>o?`if (${_} < endOffset) { output.${c}(${_}, ${u}, littleEndian); } +`:`output.${c}(${_}, ${u}, littleEndian); +`,i=(c,_)=>o?`if (${c} < endOffset) { +${_}} +`:_;function d(c,_,u,m){let p=["i","j","k"][m]||`i${m}`;if(Uu(c)||zn(c))return d(c.inner,_,u,m);if(Qt(c)||un(c))return Object.entries(Nu(c)).map(([h,g])=>{let w=c.propTypes[h];return w?d(w,`(${_} + ${g.offset})`,`${u}.${h}`,m):""}).join("");if(Us(c)||Ja(c)){if(c.elementCount===0)throw new Error("Cannot write using a runtime-sized schema.");let h=qs(_t(c.elementType),rs(c)),g=c.elementCount*h,w=o?`Math.min(${u}.byteLength, Math.max(0, endOffset - (${_})))`:`Math.min(${u}.byteLength, ${g})`,S=`if (ArrayBuffer.isView(${u})) { +`;return S+=` new Uint8Array(output.buffer).set(new Uint8Array(${u}.buffer, ${u}.byteOffset, ${w}), output.byteOffset + (${_})); +`,S+=`} else { +`,S+=`for (let ${p} = 0; ${p} < ${c.elementCount}; ${p}++) { +`,o&&(S+=`if ((${_} + ${p} * ${h}) >= endOffset) return; +`),S+=d(c.elementType,`(${_} + ${p} * ${h})`,`${u}[${p}]`,m+1),S+=`} +`,S+=`} +`,S}if(Rt(c)){if(Yf(c))throw new Error("Compiled writers do not support boolean vectors");let h=I_[c.type],g=_t(c.primitive),w=D_[h];return Array.from({length:c.componentCount},(S,T)=>n(w,`(${_} + ${T*g})`,`${u}[${T}]`)).join("")}if(rn(c)){let h=D_[I_[c.type]],g=Kb(c)?2:Zb(c)?3:4,w=qs(g*4,8),S=["x","y","z","w"],T=w/4;return Array.from({length:g*g},(A,P)=>{let U=Math.floor(P/g),D=P%g,O=U*g+D,L=U*T+D;return n(h,`(${_} + ${U*w+D*4})`,`ArrayBuffer.isView(${u}) ? ${u}[${L}] : Array.isArray(${u}) ? ${u}[${O}] : ${u}.columns[${U}].${S[D]}`)}).join("")}if(aP(c)){let h=c.type;if(h in Ox){let D=Ox[h];return i(`(${_})`,D.generator(_,u))}let g=I$[h],w=D_[g],S=$n[h],T=Rt(S)?S.componentCount:1,A=g==="u8"||g==="i8"?1:g==="u16"||g==="i16"||g==="f16"?2:4,P=["x","y","z","w"],U=D$[h];return Array.from({length:T},(D,O)=>{let L=T===1?u:`${u}.${P[O]}`,G=U?U(L):L;return n(w,`(${_} + ${O*A})`,G)}).join("")}if(!Object.hasOwn(I_,c.type))throw new Error(`Primitive ${c.type} is unsupported by compiled writer`);let y=I_[c.type];return n(D_[y],_,u)}return d(e,t,s,r)}function Ev(e){if(!L$){Wx||(Vt.warn("fallback","This environment does not allow eval - using default writer as fallback"),Wx=!0);return}let t=Bx.get(e);if(t)return t;try{let s=Vx(e,"offset","value",0,!1),r=`if (offset > 0 || endOffset < output.byteLength) { +${Vx(e,"offset","value",0,!0)}} else { +${s}} +`,o=new Function("output","offset","value","littleEndian=true","endOffset=output.byteLength",r);return Bx.set(e,o),o}catch(s){Vt.warn("fallback",`Failed to compile writer for schema: ${e} +Reason: ${s instanceof Error?s.message:String(s)} +Falling back to default writer`)}}function Fs(e,t){e.writeUint16(Pl(t))}function Bs(e){return Nf(e.readUint16())}var Mi={bool(){throw new Error("Booleans are not host-shareable")},f32(e,t,s){e.writeFloat32(s)},f16(e,t,s){Fs(e,s)},i32(e,t,s){e.writeInt32(s)},u32(e,t,s){e.writeUint32(s)},u16(e,t,s){e.writeUint16(s)},vec2f(e,t,s){e.writeFloat32(s[0]),e.writeFloat32(s[1])},vec2h(e,t,s){Fs(e,s[0]),Fs(e,s[1])},vec2i(e,t,s){e.writeInt32(s[0]),e.writeInt32(s[1])},vec2u(e,t,s){e.writeUint32(s[0]),e.writeUint32(s[1])},"vec2"(){throw new Error("Booleans are not host-shareable")},vec3f(e,t,s){e.writeFloat32(s[0]),e.writeFloat32(s[1]),e.writeFloat32(s[2])},vec3h(e,t,s){Fs(e,s[0]),Fs(e,s[1]),Fs(e,s[2])},vec3i(e,t,s){e.writeInt32(s[0]),e.writeInt32(s[1]),e.writeInt32(s[2])},vec3u(e,t,s){e.writeUint32(s[0]),e.writeUint32(s[1]),e.writeUint32(s[2])},"vec3"(){throw new Error("Booleans are not host-shareable")},vec4f(e,t,s){e.writeFloat32(s[0]),e.writeFloat32(s[1]),e.writeFloat32(s[2]),e.writeFloat32(s[3])},vec4h(e,t,s){Fs(e,s[0]),Fs(e,s[1]),Fs(e,s[2]),Fs(e,s[3])},vec4i(e,t,s){e.writeInt32(s[0]),e.writeInt32(s[1]),e.writeInt32(s[2]),e.writeInt32(s[3])},vec4u(e,t,s){e.writeUint32(s[0]),e.writeUint32(s[1]),e.writeUint32(s[2]),e.writeUint32(s[3])},"vec4"(){throw new Error("Booleans are not host-shareable")},mat2x2f(e,t,s){for(let r=0;r"(){throw new Error("Booleans are not host-shareable")},"vec3"(){throw new Error("Booleans are not host-shareable")},"vec4"(){throw new Error("Booleans are not host-shareable")},mat2x2f(e){return Gn(e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32())},mat3x3f(e){let t=()=>{let s=e.readFloat32();return e.readFloat32(),s};return Yn(e.readFloat32(),e.readFloat32(),t(),e.readFloat32(),e.readFloat32(),t(),e.readFloat32(),e.readFloat32(),t())},mat4x4f(e){return Hs(e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32())},struct(e,t){let s=rs(t);Os(e,s);let r={},o=t.propTypes;for(let[n,i]of Object.entries(o))Os(e,rs(i)),r[n]=jn(e,i);return Os(e,s),r},array(e,t){if(t.elementCount===0)throw new Error("Cannot read using a runtime-sized schema.");let s=rs(t),r=[];for(let o=0;oe.readUint8(),uint8x2:e=>Ct(e.readUint8(),e.readUint8()),uint8x4:e=>Et(e.readUint8(),e.readUint8(),e.readUint8(),e.readUint8()),sint8:e=>e.readInt8(),sint8x2:e=>Xt(e.readInt8(),e.readInt8()),sint8x4:e=>Wt(e.readInt8(),e.readInt8(),e.readInt8(),e.readInt8()),unorm8:e=>e.readUint8()/255,unorm8x2:e=>lt(e.readUint8()/255,e.readUint8()/255),unorm8x4:e=>Oe(e.readUint8()/255,e.readUint8()/255,e.readUint8()/255,e.readUint8()/255),snorm8:e=>e.readInt8()/127,snorm8x2:e=>lt(e.readInt8()/127,e.readInt8()/127),snorm8x4:e=>Oe(e.readInt8()/127,e.readInt8()/127,e.readInt8()/127,e.readInt8()/127),uint16:e=>e.readUint16(),uint16x2:e=>Ct(e.readUint16(),e.readUint16()),uint16x4:e=>Et(e.readUint16(),e.readUint16(),e.readUint16(),e.readUint16()),sint16:e=>e.readInt16(),sint16x2:e=>Xt(e.readInt16(),e.readInt16()),sint16x4:e=>Wt(e.readInt16(),e.readInt16(),e.readInt16(),e.readInt16()),unorm16:e=>e.readUint16()/65535,unorm16x2:e=>lt(e.readUint16()/65535,e.readUint16()/65535),unorm16x4:e=>Oe(e.readUint16()/65535,e.readUint16()/65535,e.readUint16()/65535,e.readUint16()/65535),snorm16:e=>e.readInt16()/32767,snorm16x2:e=>lt(e.readInt16()/32767,e.readInt16()/32767),snorm16x4:e=>Oe(e.readInt16()/32767,e.readInt16()/32767,e.readInt16()/32767,e.readInt16()/32767),float16(e){return Bs(e)},float16x2:e=>lt(Bs(e),Bs(e)),float16x4:e=>Oe(Bs(e),Bs(e),Bs(e),Bs(e)),float32:e=>e.readFloat32(),float32x2:e=>lt(e.readFloat32(),e.readFloat32()),float32x3:e=>It(e.readFloat32(),e.readFloat32(),e.readFloat32()),float32x4:e=>Oe(e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32()),uint32:e=>e.readUint32(),uint32x2:e=>Ct(e.readUint32(),e.readUint32()),uint32x3:e=>gt(e.readUint32(),e.readUint32(),e.readUint32()),uint32x4:e=>Et(e.readUint32(),e.readUint32(),e.readUint32(),e.readUint32()),sint32:e=>e.readInt32(),sint32x2:e=>Xt(e.readInt32(),e.readInt32()),sint32x3:e=>cs(e.readInt32(),e.readInt32(),e.readInt32()),sint32x4:e=>Wt(e.readInt32(),e.readInt32(),e.readInt32(),e.readInt32()),"unorm10-10-10-2"(e){let t=e.readUint32();return Oe((t>>22)/1023,(t>>12&1023)/1023,(t>>2&1023)/1023,(t&3)/3)},"unorm8x4-bgra"(e){let t=e.readByte()/255,s=e.readByte()/255;return Oe(e.readByte()/255,s,t,e.readByte()/255)},unstruct(e,t){let s={},r=t.propTypes;for(let[o,n]of Object.entries(r))s[o]=jn(e,n);return s},disarray(e,t){let s=rs(t),r=[];for(let o=0;o"}' cannot be bound as 'storage'. Use .$usage('storage') to allow it.`),Object.setPrototypeOf(this,F5.prototype)}};function Oc(e){return e instanceof Va}function V$(e){return Oc(e)&&e.resourceType==="uniform"}function N$(e){return Oc(e)&&e.resourceType==="mutable"}function q$(e){return Oc(e)&&e.resourceType==="readonly"}var Va=class Mp{[me];[Xs];resourceType;static#e=void(Mp.prototype[B]=!0,mn(In(Mp.prototype,{asString(){return`${this.resourceType}BufferBinding:${xe(this)??""}`},resolve(t){let s=this.buffer.dataType,r=t.makeUniqueIdentifier(xe(this),"global"),{group:o,binding:n}=t.allocateFixedEntry(this.resourceType==="uniform"?{uniform:s}:{storage:s,access:this.resourceType},this.buffer);return t.gen.declareGlobalVar({group:o,binding:n,scope:this.resourceType,id:r,dataType:s,init:void 0})}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.buffer.dataType,this.resourceType,!1)}},simulateMode:{get(t){return t.buffers.has(this.buffer)||t.buffers.set(this.buffer,aa(this.buffer.dataType,this.buffer.initial)),t.buffers.get(this.buffer)},set(t,s){t.buffers.set(this.buffer,s)}},normalMode:{get(){throw new Q0(Al()?`Cannot access ${String(this.buffer)}. TypeGPU functions that depends on GPU resources need to be part of a compute dispatch, draw call or simulation`:".$ is inaccessible during normal JS execution. Try `.read()`")},set(){throw new Q0(Al()?`Cannot access ${String(this.buffer)}. TypeGPU functions that depends on GPU resources need to be part of a compute dispatch, draw call or simulation`:".$ is inaccessible during normal JS execution. Try `.write()`")}}}));constructor(t,s){this.resourceType=t,this[Xs]=s,this[me]={type:t,buffer:s,label:void 0}}get buffer(){return this[me].buffer}$name(t){return ot(this,t),this}write(t,s){this.buffer.write(t,s)}writePartial(t){this.buffer.writePartial(t)}patch(t){this.buffer.patch(t)}read(){return this.buffer.read()}},qx=new WeakMap;function X$(e){if(!Sl(e))throw new Error(`Cannot call as('mutable') on ${e}, as it is not allowed to be used as storage. To allow it, call .$usage('storage') when creating the buffer.`);let t=qx.get(e);return t||(t=new Va("mutable",e),qx.set(e,t)),t}var Xx=new WeakMap;function H$(e){if(!Sl(e))throw new Error(`Cannot call as('readonly') on ${e}, as it is not allowed to be used as storage. To allow it, call .$usage('storage') when creating the buffer.`);let t=Xx.get(e);return t||(t=new Va("readonly",e),Xx.set(e,t)),t}var Hx=new WeakMap;function j$(e){if(!b2(e))throw new Error(`Cannot call as('uniform') on ${e}, as it is not allowed to be used as a uniform. To allow it, call .$usage('uniform') when creating the buffer.`);let t=Hx.get(e);return t||(t=new Va("uniform",e),Hx.set(e,t)),t}function B5(e,t){let s=Object.values(e).flatMap(n=>Object.values(n.entries)).filter(n=>n!==null),r=s.filter(n=>"uniform"in n).length,o=s.filter(n=>"storage"in n).length;r>t.maxUniformBuffersPerShaderStage&&Vt.warn("webgpu-limits-exceeded",`Total number of uniform buffers (${r}) exceeds maxUniformBuffersPerShaderStage (${t.maxUniformBuffersPerShaderStage}). Consider: +1. Grouping some of the uniforms into one using 'd.struct', +2. Increasing the limit when requesting a device or creating a root.`),o>t.maxStorageBuffersPerShaderStage&&Vt.warn("webgpu-limits-exceeded",`Total number of storage buffers (${o}) exceeds maxStorageBuffersPerShaderStage (${t.maxStorageBuffersPerShaderStage}).`)}function K$(e){return Qt(e)||Us(e)?qs(rs(e),16):rs(e)}function Pp(e){if(Us(e)){Pp(e.elementType);let t=qs(_t(e.elementType),rs(e.elementType));t%16!==0&&Vt.warn("uniform-schema-misaligned",`Schema '${xe(e.elementType)??""}' is used in an array in a uniform buffer, and its stride (${t}) is not a multiple of 16. +This is not portable (see https://www.w3.org/TR/WGSL/#address-space-layout-constraints), and will break on some devices. +To address this, put the element schema in a struct and wrap the prop in 'd.align(16, ...)', or use a different schema like 'vec4f'.`)}if(Qt(e)){Object.values(e.propTypes).forEach(Pp),Object.entries(e.propTypes).forEach(([s,r])=>{let o=cl(e,i=>i[s]).offset,n=K$(r);o%n&&Vt.warn("uniform-schema-misaligned",`Schema '${xe(e)??""}' is used in a uniform buffer, and its property '${s}' does not meet required alignment (offset is ${o}, required alignment is ${n}). +This is not portable (see https://www.w3.org/TR/WGSL/#address-space-layout-constraints), and will break on some devices. +To address this, wrap the property '${s}' in 'd.align(${n}, ...)'.`)});let t=Object.keys(e.propTypes);for(let s=0;s_[r]).offset,c=cl(e,_=>_[o]).offset-d;i>c&&Vt.warn("uniform-schema-misaligned",`Schema '${xe(e)??""}' is used in a uniform buffer, and the difference between memory offsets of '${r}' and '${o}' props (${c}) is less than recommended (${i}). +This is not portable (see https://www.w3.org/TR/WGSL/#address-space-layout-constraints), and will break on some devices. +To address this, wrap the '${r}' prop in 'd.size(${i}, ...)'.`)}}}var Z$={uniform:j$,mutable:X$,readonly:H$};function F_(e,t,s){return Qa(t)?new jx(e,t,s):new jx(e,t,s,["storage","uniform"])}var jx=class{[B];[me];resourceType="buffer";#e;#t=!1;#s;get#r(){return this.#s??=new ArrayBuffer(_t(this.dataType))}#o;#n;#i;initial;usableAsUniform=!1;usableAsStorage=!1;usableAsVertex=!1;usableAsIndex=!1;usableAsIndirect=!1;constructor(e,t,s,r){this[me]={type:"buffer",device:e.device,dataType:t,flags:GPUBufferUsage.COPY_DST|GPUBufferUsage.COPY_SRC,usages:[],raw:void 0,label:void 0},this.#i=r,Mn(s)?(this.#e=!1,this[me].raw=s):(this.#e=!0,typeof s=="function"?this.#n=s:this.initial=s),this[B]={root:e,materialize:()=>{if(this.#t)throw new Error("This buffer has been destroyed");let o=this[me];return o.raw||(o.raw=o.device.createBuffer({size:_t(o.dataType),usage:o.flags,mappedAtCreation:!!this.initial||!!this.#n,label:xe(this)??""}),(this.initial||this.#n)&&(this.#n?this.#n(this):this.initial&&mm(this.#a(),this.dataType,this.initial),this.#d())),o.raw}}}get dataType(){return this[me].dataType}get flags(){return this[me].flags}set flags(e){this[me].flags=e}get buffer(){return this[B].materialize()}get destroyed(){return this.#t}get arrayBuffer(){return this.buffer.mapState==="mapped"?this.#a():this.#r}#a(){let e=this[me].raw;if(!e||e.mapState!=="mapped")throw new Error("Buffer is not mapped.");return this.#o??=e.getMappedRange(),this.#o}#d(){let e=this[me].raw;!e||e.mapState!=="mapped"||(this.#o=void 0,e.unmap())}$name(e){ot(this,e);let t=this[me].raw;return t&&(t.label=e),this}$usage(...e){for(let t of e){if(this.#i?.includes(t))throw new Error(`Buffer of type ${this.dataType.type} cannot be used as ${t}`);t==="uniform"&&Pp(this.dataType),this.flags|=t==="uniform"?GPUBufferUsage.UNIFORM:0,this.flags|=t==="storage"?GPUBufferUsage.STORAGE:0,this.flags|=t==="vertex"?GPUBufferUsage.VERTEX:0,this.flags|=t==="index"?GPUBufferUsage.INDEX:0,this.flags|=t==="indirect"?GPUBufferUsage.INDIRECT:0,this.usableAsUniform=this.usableAsUniform||t==="uniform",this.usableAsStorage=this.usableAsStorage||t==="storage",this.usableAsVertex=this.usableAsVertex||t==="vertex",this.usableAsIndex=this.usableAsIndex||t==="index",this.usableAsIndirect=this.usableAsIndirect||t==="indirect",this[me].usages.includes(t)||this[me].usages.push(t)}return this}$addFlags(e){if(!this.#e)throw new Error("Cannot add flags to a buffer that is not managed by TypeGPU.");return e&GPUBufferUsage.MAP_READ?(this.flags=GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ,this):e&GPUBufferUsage.MAP_WRITE?(this.flags=GPUBufferUsage.COPY_SRC|GPUBufferUsage.MAP_WRITE,this):(this.flags|=e,this)}compileWriter(){Ev(this.dataType)}write(e,t){let s=this.buffer;if(s.mapState==="mapped"){let i=this.#a();if(e instanceof ArrayBuffer&&e===i)return;mm(i,this.dataType,e,t);return}e instanceof ArrayBuffer&&e===this.#r||mm(this.#r,this.dataType,e,t);let{startOffset:r,endOffset:o}=I5(t,this.dataType,e),n=o-r;this[me].device.queue.writeBuffer(s,r,this.#r,r,n)}writePartial(e){this.patch(Ap(this.dataType,e))}patch(e){let t=this.buffer;if(t.mapState==="mapped")O$(this.#a(),this.dataType,e);else{let s=D5(this.dataType,e,this.#r);for(let{data:r,gpuOffset:o}of s)this[me].device.queue.writeBuffer(t,o,r)}}clear(e){let t=this.buffer;if(e){e[B].rawEncoder.clearBuffer(t);return}if(t.mapState==="mapped"){new Uint8Array(this.#a()).fill(0);return}let s=this[me].device.createCommandEncoder();s.clearBuffer(t),this[me].device.queue.submit([s.finish()])}copyFrom(e,t){if(this.buffer.mapState==="mapped")throw new Error("Cannot copy to a mapped buffer.");let s=_t(this.dataType);if(t){t[B].rawEncoder.copyBufferToBuffer(e.buffer,0,this.buffer,0,s);return}let r=this[me].device.createCommandEncoder();r.copyBufferToBuffer(e.buffer,0,this.buffer,0,s),this[me].device.queue.submit([r.finish()])}async read(){let e=this.buffer;if(e.mapState==="mapped")return pm(this.#a(),this.dataType);if(e.usage&GPUBufferUsage.MAP_READ){await e.mapAsync(GPUMapMode.READ);let o=pm(this.#a(),this.dataType);return this.#d(),o}let t=this[me].device.createBuffer({size:_t(this.dataType),usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ}),s=this[me].device.createCommandEncoder();s.copyBufferToBuffer(e,0,t,0,_t(this.dataType)),this[me].device.queue.submit([s.finish()]),await t.mapAsync(GPUMapMode.READ,0,_t(this.dataType));let r=pm(t.getMappedRange(),this.dataType);return t.unmap(),t.destroy(),r}as(e){return Z$[e](this)}destroy(){this.#t||(this.#t=!0,this.#o=void 0,this.#e&&this[me].raw?.destroy())}toString(){return`buffer:${xe(this)??""}`}},W5=class Ep{bindings;constructor(t){this.bindings=t}with(t,s){return new Ep([...this.bindings,[dd(t)||cd(t)?t.slot:t,s]])}pipe(t){let s=t(this);return new Ep([...this.bindings,...s.bindings])}};function*Q$(e){let t=0;for(;;)e.has(t)||(yield t),t++}function J$(e,t){return new V5(fv(),e,t)}function e4(e,t){return new V5(o5(),e,t)}function kv(e){let t=e;return t?.resourceType==="sampler"&&!!t[B]}function $v(e){let t=e;return t?.resourceType==="sampler-comparison"&&!!t[B]}var t4=class O5{[B]={materialize:void 0};resourceType;schema;#e;static#t=mn(In(O5.prototype,{asString(){return`${this.resourceType}:${xe(this)??""}`},resolve(t){let s=t.makeUniqueIdentifier(xe(this),"global"),r=t.allocateLayoutEntry(this.#e.layout);return t.addDeclaration(`@group(${r}) @binding(${this.#e.idx}) var ${s}: ${t.resolve(this.schema).value};`,s),ve(s,this.schema,"handle")}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.schema,"handle",!1)}},normalMode:{get(){throw new Error("Direct access to sampler values is possible only as part of a compute dispatch or draw call.")}}});constructor(t,s){this.schema=t,this.#e=s,this.resourceType=t.type==="sampler_comparison"?"sampler-comparison":"sampler",ot(this,s.key)}},V5=class N5{[B];[me];resourceType;schema;#e;static#t=mn(In(N5.prototype,{asString(){return`${this.resourceType}:${xe(this)??""}`},resolve(t){let s=t.makeUniqueIdentifier(xe(this),"global"),{group:r,binding:o}=t.allocateFixedEntry(this.schema.type==="sampler_comparison"?{sampler:"comparison"}:{sampler:this.#e?"filtering":"non-filtering"},this);return t.addDeclaration(`@group(${r}) @binding(${o}) var ${s}: ${t.resolve(this.schema).value};`,s),ve(s,this.schema,"handle")}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.schema,"handle",!1)}},normalMode:{get(){throw new Error("Direct access to sampler values is possible only as part of a compute dispatch or draw call.")}}});constructor(t,s,r){this.schema=t,this.resourceType=t.type==="sampler_comparison"?"sampler-comparison":"sampler",this[me]={type:this.resourceType,device:r.device,props:s,raw:void 0,label:void 0},this[B]={root:r,materialize:()=>{let o=this[me];return o.raw||(o.raw=o.device.createSampler({...o.props,label:xe(this)??""})),o.raw}},this.#e=s.minFilter==="linear"||s.magFilter==="linear"||s.mipmapFilter==="linear"}$name(t){return ot(this,t),this}},s4=class{resourceType="external-texture";[B]=!0;schema;#e;constructor(e,t){this.schema=e,this.#e=t,ot(this,t.key)}[kt](e){let t=e.makeUniqueIdentifier(xe(this),"global"),s=e.allocateLayoutEntry(this.#e.layout);return e.addDeclaration(`@group(${s}) @binding(${this.#e.idx}) var ${t}: ${e.resolve(this.schema).value};`,t),ve(t,s5(),"handle")}get[Hr](){let e=this.schema;return new Proxy({[B]:!0,get[oa](){return ve(this,e,"handle",!1)},[kt]:t=>t.resolve(this),toString:()=>`textureExternal:${xe(this)??""}.$`},Wi)}get $(){if(Yu())return this[Hr];throw new Error("Direct access to texture views values is possible only as part of a compute dispatch or draw call. Try .read() or .write() instead")}toString(){return`textureExternal:${xe(this)??""}`}},r4={channelType:a,vectorType:Oe,sampleTypes:["depth","unfilterable-float"],texelSize:"non-copyable"},o4={channelType:a,vectorType:Oe,sampleTypes:["depth","unfilterable-float"],texelSize:2},n4={channelType:a,vectorType:Oe,sampleTypes:["depth","unfilterable-float"],texelSize:4},a4={channelType:R,vectorType:Et,sampleTypes:["uint"],texelSize:1},Kx=new Map;function Vc(e){let t=Kx.get(e);return t===void 0&&(t=i4(e),Kx.set(e,t)),t}function i4(e){let t=_4(e),s=d4(e),r=e.includes("stencil");return{channelType:t,vectorType:t===R?Et:t===Z?Wt:Oe,texelSize:l4(e),sampleTypes:u4(e),canRenderAttachment:c4(e),...s&&{depthAspect:s},...r&&{stencilAspect:a4}}}function d4(e){if(e==="depth16unorm")return o4;if(e==="depth32float"||e==="depth32float-stencil8")return n4;if(e==="depth24plus"||e==="depth24plus-stencil8")return r4}function c4(e){return!(e.startsWith("bc")||e.startsWith("etc2")||e.startsWith("eac")||e.startsWith("astc")||e==="rgb9e5ufloat")}function _4(e){return e==="stencil8"||e.includes("uint")?R:e.includes("sint")?Z:a}function l4(e){let[,t,s]=e.match(/^(rgba|bgra|rg|r)(8|16|32)/)??[];return t&&s?t.length*Number(s)/8:e==="stencil8"?1:e==="depth16unorm"?2:e==="depth32float"?4:e==="depth32float-stencil8"?5:e==="depth24plus"||e==="depth24plus-stencil8"?"non-copyable":/^(bc[14]-|etc2-rgb8|eac-r11)/.test(e)?8:/^(bc|astc-|etc2-rgba|eac-rg)/.test(e)?16:4}function u4(e){return e==="stencil8"?["uint"]:e.includes("uint")?["uint"]:e.includes("sint")?["sint"]:e.includes("depth")?["depth","unfilterable-float"]:/^(r|rg|rgba)16(u|s)norm$/.test(e)?["unfilterable-float"]:["float","unfilterable-float"]}var m4=new Set(["r32float","rg32float","rgba32float"]);function p4(e,t){return m4.has(t)&&!e.features.has("float32-filterable")?["unfilterable-float"]:Vc(t).sampleTypes}function q5(e){let{videoWidth:t,videoHeight:s}=e;if(t&&s)return{width:t,height:s};let{naturalWidth:r,naturalHeight:o}=e;if(r&&o)return{width:r,height:o};let{codedWidth:n,codedHeight:i}=e;if(n&&i)return{width:n,height:i};let{width:d,height:c}=e;if(d&&c)return{width:d,height:c};throw new Error("Cannot determine dimensions of the provided image source.")}var f4=` +struct VertexOutput { + @builtin(position) pos: vec4f, + @location(0) uv: vec2f, +} + +@vertex +fn vs_main(@builtin(vertex_index) i: u32) -> VertexOutput { + const pos = array(vec2f(-1, -1), vec2f(3, -1), vec2f(-1, 3)); + const uv = array(vec2f(0, 1), vec2f(2, 1), vec2f(0, -1)); + return VertexOutput(vec4f(pos[i], 0, 1), uv[i]); +}`,v4=` +@group(0) @binding(0) var src: texture_2d; +@group(0) @binding(1) var samp: sampler; + +@fragment +fn fs_main(@location(0) uv: vec2f) -> @location(0) vec4f { + return textureSample(src, samp, uv); +}`,y4=` +@group(0) @binding(0) var src: texture_2d; +@group(0) @binding(1) var samp: sampler; + +@fragment +fn fs_main(@location(0) uv: vec2f) -> @location(0) vec4f { + let r = textureGather(0, src, samp, uv); + let g = textureGather(1, src, samp, uv); + let b = textureGather(2, src, samp, uv); + let a = textureGather(3, src, samp, uv); + return vec4f(dot(r, vec4f(0.25)), dot(g, vec4f(0.25)), dot(b, vec4f(0.25)), dot(a, vec4f(0.25))); +}`,kp=new WeakMap;function h4(e){let t=kp.get(e);return t||(t={vertexModule:e.createShaderModule({code:f4}),filterableResources:new Map,layoutResources:new Map},kp.set(e,t)),t}function x4(e,t,s){let r=h4(e),o=r.filterableResources.get(t);o||(o={fragmentModule:e.createShaderModule({code:t?v4:y4}),sampler:e.createSampler(t?{magFilter:"linear",minFilter:"linear"}:{})},r.filterableResources.set(t,o));let n=`${t}:${s}`,i=r.layoutResources.get(n);if(!i){let d=e.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:s}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{type:t?"filtering":"non-filtering"}}]});i={bindGroupLayout:d,pipelineLayout:e.createPipelineLayout({bindGroupLayouts:[d]})},r.layoutResources.set(n,i)}return{vertexModule:r.vertexModule,...o,...i}}function X5(e){let{device:t,source:s,destination:r,format:o,filterable:n,sampleType:i}=e,d=x4(t,n,i),c=t.createRenderPipeline({layout:d.pipelineLayout,vertex:{module:d.vertexModule},fragment:{module:d.fragmentModule,targets:[{format:o}]},primitive:{topology:"triangle-list"}}),_=t.createBindGroup({layout:d.bindGroupLayout,entries:[{binding:0,resource:s},{binding:1,resource:d.sampler}]}),u=!e.encoder,m=e.encoder??t.createCommandEncoder(),p=m.beginRenderPass({colorAttachments:[{view:r,loadOp:"clear",storeOp:"store"}]});p.setPipeline(c),p.setBindGroup(0,_),p.draw(3),p.end(),u&&t.queue.submit([m.finish()])}function g4(e){kp.delete(e)}function H5(e,t,s){let r=Vc(t),o=p4(e,t),n=o.includes("float"),i=o.includes("unfilterable-float");if(!n&&!i)throw new Error(`Cannot ${s} for format '${t}': only float formats are supported.`);if(!r.canRenderAttachment)throw new Error(`Cannot ${s} for format '${t}': format does not support render attachments.`);return{filterable:n,sampleType:n?"float":"unfilterable-float"}}function b4(e,t,s=0,r){if(t.dimension!=="2d")throw new Error("Mipmap generation only supports 2D textures.");let{filterable:o,sampleType:n}=H5(e,t.format,"generate mipmaps"),i=r??t.mipLevelCount-s;for(let d=0;d({dimension:"2d",baseMipLevel:u,mipLevelCount:1,baseArrayLayer:d,arrayLayerCount:1});X5({device:e,source:t.createView(_(c)),destination:t.createView(_(c+1)),format:t.format,filterable:o,sampleType:n})}}function w4(e,t,s,r=0){if(t.dimension!=="2d")throw new Error("Resampling only supports 2D textures.");let{filterable:o}=H5(e,t.format,"resample"),{width:n,height:i}=q5(s),d=e.createTexture({size:[n,i],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT});e.queue.copyExternalImageToTexture({source:s},{texture:d},[n,i]);let c=e.createTexture({size:[t.width,t.height],format:t.format,usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.COPY_SRC}),_=e.createCommandEncoder();X5({device:e,source:d.createView(),destination:c.createView(),format:t.format,filterable:o,sampleType:"float",encoder:_}),_.copyTextureToTexture({texture:c},{texture:t,origin:{x:0,y:0,z:r}},{width:t.width,height:t.height,depthOrArrayLayers:1}),e.queue.submit([_.finish()]),d.destroy(),c.destroy()}function T4(e){return{dimension:e.dimension??"2d",sampleType:Vc(e.format).channelType,multisampled:(e.sampleCount??1)!==1}}function S4(e,t,s){return new A4(e,t,s)}function Tc(e){return e?.resourceType==="texture"&&!!e[B]}function Oi(e){return e?.resourceType==="texture-view"&&!!e[B]}var A4=class{[B];[me];resourceType="texture";usableAsSampled=!1;usableAsStorage=!1;usableAsRender=!1;#e;#t=!1;#s;constructor(e,t,s){this.#s=s===void 0,this[me]={type:"texture",device:t.device,props:e,flags:GPUTextureUsage.COPY_DST|GPUTextureUsage.COPY_SRC,flagsOverridden:!1,usages:[],raw:s,label:void 0},this.#e=Vc(e.format),this[B]={root:t,materialize:()=>{if(this.#t)throw new Error("This texture has been destroyed");let r=this[me];if(!r.raw){let o=r.props;r.raw=(globalThis.__TYPEGPU_AUTONAME__??(n=>n))(r.device.createTexture({label:xe(this)??"",format:o.format,size:o.size,usage:r.flags,dimension:o.dimension??"2d",viewFormats:o.viewFormats??[],mipLevelCount:o.mipLevelCount??1,sampleCount:o.sampleCount??1}),"raw")}return r.raw}}}get props(){return this[me].props}$name(e){return ot(this,e),this}$usage(...e){let t=this[me];if(t.flagsOverridden)throw new Error("Cannot call $usage() after $overrideFlags().");let s=e.includes("storage"),r=e.includes("sampled"),o=e.includes("render"),n=e.includes("transient"),i=(r?GPUTextureUsage.TEXTURE_BINDING:0)|(s?GPUTextureUsage.STORAGE_BINDING:0),d=GPUTextureUsage.TRANSIENT_ATTACHMENT|GPUTextureUsage.RENDER_ATTACHMENT,c=t.flags|i|(o?GPUTextureUsage.RENDER_ATTACHMENT:0),_=n||!!(t.flags&GPUTextureUsage.TRANSIENT_ATTACHMENT),u=!!(c&(GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.STORAGE_BINDING));if(_&&u)throw new Error("Transient texture usage cannot be combined with 'sampled' or 'storage'.");t.flags=n?d:c,this.usableAsStorage||=s,this.usableAsSampled||=r,this.usableAsRender||=o||n;for(let m of e)t.usages.includes(m)||t.usages.push(m);return this}$overrideFlags(e){let t=this[me];return t.flags=e,t.flagsOverridden=!0,this.usableAsSampled=!0,this.usableAsStorage=!0,this.usableAsRender=!0,this}createView(e,t){return e==="render"?new P4(this,t):new M4(e??vP(T4(this.props)),this,t)}#r(e=0){let t=2**e,[s,r,o]=[Math.max(1,Math.floor((this.props.size[0]??1)/t)),Math.max(1,Math.floor((this.props.size[1]??1)/t)),Math.max(1,Math.floor((this.props.size[2]??1)/t))],n=this.#e.texelSize;if(n==="non-copyable")throw new Error(`Cannot clear texture with format '${this.props.format}': this format does not support copy operations.`);this[me].device.queue.writeTexture({texture:this[B].materialize(),mipLevel:e},new Uint8Array(s*r*o*n),{bytesPerRow:n*s,rowsPerImage:r},[s,r,o])}clear(e="all"){if(e==="all"){let t=this.props.mipLevelCount??1;for(let s=0;s=(this.props.mipLevelCount??1))throw new Error(`Base mip level ${e} is out of range. Texture has ${this.props.mipLevelCount??1} mip levels.`);b4(this[me].device,this[B].materialize(),e,s)}write(e,t=0){if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)){this.#o(e,typeof t=="number"?t:0);return}if(!this.usableAsRender)throw new Error("texture.write(...) with image sources requires 'render' usage. Add it via the $usage('render') method.");let s=typeof t=="number"?void 0:t,r=this.props.dimension??"2d";if(!Array.isArray(e)){this.#n(e,r==="3d"?0:void 0,s);return}let o=this.props.size[2]??1;e.length>o&&Vt.warn("suspicious",`Too many image sources provided. Expected ${o} layers, got ${e.length}. Extra sources will be ignored.`);for(let n=0;n>t),r=Math.max(1,(this.props.size[1]??1)>>t),o=Math.max(1,(this.props.size[2]??1)>>t),n=this.#e.texelSize;if(n==="non-copyable")throw new Error(`Cannot write to texture with format '${this.props.format}': this format does not support copy operations.`);let i=s*r*o*n,d=e.byteLength??e.byteLength;if(d!==i)throw new Error(`Buffer size mismatch. Expected ${i} bytes for mip level ${t}, got ${d} bytes.`);this[me].device.queue.writeTexture({texture:this[B].materialize(),mipLevel:t},"buffer"in e?e.buffer:e,{bytesPerRow:n*s,rowsPerImage:r},[s,r,o])}#n(e,t,s){let r=this.props.size[0],o=this.props.size[1]??1,{width:n,height:i}=q5(e);if(n!==r||i!==o){if(s?.fit!=="stretch")throw new Error(`Texture write source size ${n}x${i} does not match target size ${r}x${o}. Pass fit: 'stretch' to resize explicitly.`);w4(this[me].device,this[B].materialize(),e,t);return}this[me].device.queue.copyExternalImageToTexture({source:e},{texture:this[B].materialize(),...t!==void 0&&{origin:{x:0,y:0,z:t}}},t!==void 0?[r,o,1]:this.props.size)}copyFrom(e){if(e.props.format!==this.props.format)throw new Error(`Texture format mismatch. Source texture has format ${e.props.format}, target texture has format ${this.props.format}`);if(e.props.size[0]!==this.props.size[0]||(e.props.size[1]??1)!==(this.props.size[1]??1)||(e.props.size[2]??1)!==(this.props.size[2]??1))throw new Error(`Texture size mismatch. Source texture has size ${e.props.size.join("x")}, target texture has size ${this.props.size.join("x")}`);let t=this[me].device.createCommandEncoder();t.copyTextureToTexture({texture:e[B].materialize()},{texture:this[B].materialize()},e.props.size),this[me].device.queue.submit([t.finish()])}toString(){return`${this.resourceType}:${xe(this)??""}`}get destroyed(){return this.#t}destroy(){this.#t||(this.#t=!0,this.#s&&this[me].raw?.destroy())}},M4=class{[B];[me];resourceType="texture-view";constructor(e,t,s){this[me]={type:"texture-view",texture:t,schema:e,descriptor:s,raw:void 0,label:void 0},this[B]={unwrap:()=>{let r=this[me];if(!r.raw){let o=r.schema,n=dl(o)?o.format:r.texture.props.format;r.raw=(globalThis.__TYPEGPU_AUTONAME__??(i=>i))(r.texture[B].materialize().createView({...r.descriptor,label:xe(this)??"",format:r.descriptor?.format??n,dimension:o.dimension}),"raw")}return r.raw},format:s?.format??(dl(e)?e.format:t.props.format),aspect:s?.aspect}}get schema(){return this[me].schema}$name(e){return ot(this,e),this[me].raw&&(this[me].raw.label=e),this}get[Hr](){let e=this.schema;return new Proxy({[B]:!0,get[oa](){return ve(this,e,"handle",!1)},[kt]:t=>t.resolve(this),toString:()=>`${this.toString()}.$`},Wi)}get $(){if(Yu())return this[Hr];throw new Error("Direct access to texture view values is possible only as part of a compute dispatch or draw call. Try .read() or .write() instead")}get size(){return this[me].texture.props.size}toString(){return`textureView:${xe(this)??""}`}[kt](e){let t=e.makeUniqueIdentifier(xe(this),"global"),{group:s,binding:r}=e.allocateFixedEntry(dl(this.schema)?{storageTexture:this.schema}:{texture:this.schema,sampleType:this[me].descriptor?.sampleType??this.schema.bindingSampleType[0]},this);return e.gen.declareGlobalVar({group:s,binding:r,id:t,dataType:this.schema,scope:"handle",init:void 0})}},Zx=class{[B]={unwrap:void 0};resourceType="texture-view";#e;schema;constructor(e,t){this.schema=e,this.#e=t,ot(this,t.key)}toString(){return`textureView:${xe(this)??""}`}[kt](e){let t=e.makeUniqueIdentifier(xe(this),"global"),s=e.allocateLayoutEntry(this.#e.layout);return e.addDeclaration(`@group(${s}) @binding(${this.#e.idx}) var ${t}: ${e.resolve(this.schema).value};`,t),ve(t,this.schema,"handle")}get[Hr](){let e=this.schema;return new Proxy({[B]:!0,get[oa](){return ve(this,e,"handle",!1)},[kt]:t=>t.resolve(this),toString:()=>`${this.toString()}.$`},Wi)}get $(){if(Yu())return this[Hr];throw new Error(`Accessed view '${xe(this)??""}' outside of codegen mode. Direct access to texture views values is possible only as part of a compute dispatch or draw call. Try .read() or .write() instead`)}$name(e){return ot(this,e),this}},P4=class{[B];[me];resourceType="texture-view";constructor(e,t={}){this[me]={type:"texture-view",texture:e,schema:"render",descriptor:t,raw:void 0,label:void 0},this[B]={unwrap:()=>e[B].materialize().createView({label:xe(this)??"",...this.descriptor}),format:t.format??e.props.format,aspect:t.aspect}}get descriptor(){return this[me].descriptor??{}}};function E4(e){return!!e?.usableAsSampled}var k4=class j5 extends Error{constructor(t){super(`Resource '${xe(t)??""}' cannot be bound as 'sampled'. Use .$usage('sampled') to allow it.`),Object.setPrototypeOf(this,j5.prototype)}},Qx=class $p{[B];usage;dataType;#e;static#t=void($p.prototype.resourceType="laid-out-buffer",mn(In($p.prototype,{asString(){return`${this.usage}:${xe(this)??""}`},resolve(t){let s=t.makeUniqueIdentifier(xe(this),"global"),r=t.allocateLayoutEntry(this.#e.layout);return t.gen.declareGlobalVar({group:r,binding:this.#e.idx,scope:this.usage,id:s,dataType:this.dataType,init:void 0})}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.dataType,this.usage,!1)}},normalMode:{get(){throw new Error("Direct access to buffer values is possible only as part of a compute dispatch or draw call. Try .read() or .write() instead")}}}));constructor(t,s,r){this[B]={dataType:s},this.usage=t,this.dataType=s,this.#e=r,ot(this,r.key)}};function K5(e){return new U4({...e})}function Zu(e){return!!e&&e.resourceType==="bind-group-layout"}function ca(e){return!!e&&e.resourceType==="bind-group"}var $4=class Z5 extends Error{constructor(t,s){super(`Bind group '${t??""}' is missing a required binding '${s}'`),Object.setPrototypeOf(this,Z5.prototype)}},Jx=["compute","fragment"],Yd=["compute","vertex","fragment"],U4=class{[B];[me];resourceType="bind-group-layout";$={};entries;get[Hr](){return this.$}constructor(e){this.entries=e,this[B]=[];let t={};this[me]={type:"bind-group-layout",entries:t,index:void 0,label:void 0};let s=0;for(let[r,o]of Object.entries(e)){if(o===null){t[r]=null,s++;continue}let n={layout:this,key:r,idx:s},i;if(t[r]=o,"uniform"in o&&(i=new Qx("uniform",o.uniform,n)),"storage"in o){let d="type"in o.storage?o.storage:o.storage(0);i=new Qx(o.access??"readonly",d,n),t[r]={...o,storage:d}}"texture"in o&&(i=new Zx(o.texture,n)),"storageTexture"in o&&(i=new Zx(o.storageTexture,n)),"externalTexture"in o&&(i=new s4(o.externalTexture,n)),"sampler"in o&&(i=new t4(o.sampler==="comparison"?o5():fv(),n)),ds(i!==void 0,"Internal error, expected item to be defined"),Object.defineProperty(this.$,r,{get:()=>i.$}),this[B].push(i),s++}}toString(){return`bindGroupLayout:${xe(this)??""}`}get index(){return this[me].index}$name(e){return ot(this,e),this}$idx(e){return this[me].index=e,this}unwrap(e){return e.device.createBindGroupLayout({label:xe(this)??"",entries:Object.values(this.entries).map((t,s)=>{if(t===null)return null;let r=t.visibility,o={binding:s,visibility:0};if("uniform"in t)r=r??Yd,o.buffer={type:"uniform"};else if("storage"in t)r=r??(t.access==="mutable"?Jx:Yd),o.buffer={type:t.access==="mutable"?"storage":"read-only-storage"};else if("sampler"in t)r=r??Yd,o.sampler={type:t.sampler};else if("texture"in t){r=r??Yd;let{multisampled:n,dimension:i,bindingSampleType:d}=t.texture;o.texture={sampleType:t.sampleType??d[0],viewDimension:i,multisampled:n}}else if("storageTexture"in t){r=r??Jx;let{dimension:n,access:i,format:d}=t.storageTexture;o.storageTexture={access:i,format:d,viewDimension:n}}else"externalTexture"in t&&(r=r??Yd,o.externalTexture={});return r?.includes("compute")&&(o.visibility|=GPUShaderStage.COMPUTE),r?.includes("vertex")&&(o.visibility|=GPUShaderStage.VERTEX),r?.includes("fragment")&&(o.visibility|=GPUShaderStage.FRAGMENT),o}).filter(t=>t!==null)})}},Q5=class{[B];[me];resourceType="bind-group";#e;constructor(e,t,s,r){if(this.#e=s,this[me]={type:"bind-group",device:e?.device,layout:t,raw:r,label:void 0},this[B]={materialize:()=>{let o=this[me];return o.raw||(ds(e,"Cannot unwrap a bind group created outside of a root."),o.raw=e.unwrap(this)),o.raw}},!r){for(let o of Object.keys(t.entries))if(t.entries[o]!==null&&!(o in s))throw new $4(xe(t),o)}}get layout(){return this[me].layout}get entries(){return this.#e}unwrap(e){let t=this[me].raw;return t||e.device.createBindGroup({label:xe(this.layout)??"",layout:e.unwrap(this.layout),entries:Object.entries(this.layout.entries).map(([s,r],o)=>{if(r===null)return null;let n=this.entries[s];if(n===void 0)throw new Error(`'${s}' is a resource required to populate bind group layout '${xe(this.layout)??""}'.`);if("uniform"in r){let i;if(hc(n)){if(!b2(n))throw new ZA(n);i={buffer:e.unwrap(n)}}else V$(n)?i={buffer:e.unwrap(n)}:i={buffer:n};return{binding:o,resource:i}}if("storage"in r){let i;if(hc(n)){if(!Sl(n))throw new Nx(n);i={buffer:e.unwrap(n)}}else N$(n)||q$(n)?(ds(r.access==="mutable"==(n.resourceType==="mutable"),"Invalid buffer access mode."),i={buffer:e.unwrap(n)}):i={buffer:n};return{binding:o,resource:i}}if("texture"in r){let i;if(Tc(n)){if(!E4(n))throw new k4(n);i=e.unwrap(n.createView(r.texture))}else Oi(n)?i=e.unwrap(n):i=n;return{binding:o,resource:i}}if("storageTexture"in r){let i;if(Tc(n)){if(!Sl(n))throw new Nx(n);i=e.unwrap(n.createView(r.storageTexture))}else Oi(n)?i=e.unwrap(n):i=n;return{binding:o,resource:i}}if("sampler"in r)return $v(n)||kv(n)?{binding:o,resource:e.unwrap(n)}:{binding:o,resource:n};if("externalTexture"in r)return{binding:o,resource:n};throw new Error(`Malformed bind group entry: ${io(n)}`)}).filter(s=>s!==null)})}};function Nc(e){return new C4(e)}var C4=class{[B]=!0;[me];resourceType="slot";constructor(e=void 0){this[me]={type:"slot",defaultValue:e,label:void 0}}get defaultValue(){return this[me].defaultValue}$name(e){return ot(this,e),this}areEqual(e,t){return Object.is(e,t)}toString(){return`slot:${xe(this)??""}`}get[Hr](){let e=Na();if(!e)throw new Error("Cannot access tgpu.slot's value outside of resolution.");return kl(e.unwrap(this))}get $(){return this[Hr]}},pd=Nc(null);function Qu(e,t){return new e6("private",e,t)}function J5(e){return new e6("workgroup",e)}var e6=class t6{[me];static#e=(()=>{let t=t6.prototype;t.resourceType="var",t[B]={},mn(In(t,{asString(){return`var:${xe(this)??""}`},resolve(s){let r=s.makeUniqueIdentifier(xe(this),"global"),o=this[me].initialValue?ve(this[me].initialValue,this[me].dataType,"constant"):void 0;return s.gen.declareGlobalVar({scope:this[me].scope,id:r,dataType:this[me].dataType,init:o})}}),{codegenMode:{getBaseSnippet(s){return ve(s,this[me].dataType,this[me].scope,!1)}},simulateMode:{get(s){return s.vars[this[me].scope].has(this)||s.vars[this[me].scope].set(this,this[me].initialValue),s.vars[this[me].scope].get(this)},set(s,r){s.vars[this[me].scope].set(this,r)}},normalMode:{get(){throw new Z0(Al()?`Cannot access variable '${xe(this)??""}'. TypeGPU functions that depends on GPU resources need to be part of a compute dispatch, draw call or simulation`:"TypeGPU variables are inaccessible during normal JS execution. If you wanted to simulate GPU behavior, try `tgpu.simulate()`")},set(s){throw new Z0(Al()?`Cannot access variable ${xe(this)??""}. TypeGPU functions that depends on GPU resources need to be part of a compute dispatch, draw call or simulation`:"TypeGPU variables are inaccessible during normal JS execution. If you wanted to simulate GPU behavior, try `tgpu.simulate()`")}}})})();constructor(t,s,r){this[me]={type:"var",scope:t,dataType:s,initialValue:r,label:void 0}}$name(t){return ot(this,t),this}},s6=Qu(R,0).$name("dataBlockIndex"),r6=Qu(R,0).$name("dataByteIndex"),o6=Nc().$name("dataBuffer"),R4=qt([],R)`() { + let i = dataByteIndex; + dataByteIndex = dataByteIndex + 1u; + return i; +}`.$uses({dataByteIndex:r6}).$name("nextByteIndex"),ze="dataBuffer[dataBlockIndex].serializedData[nextByteIndex()]",n6={f32:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([a])`(n) { + ${ze} = bitcast(n); +}`,"f32"),f16:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([xs])`(n) { + ${ze} = pack2x16float(vec2f(f32(n), 0.0)); +}`,"f16"),i32:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Z])`(n) { + ${ze} = bitcast(n); +}`,"i32"),u32:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([R])`(n) { + ${ze} = n; +}`,"u32"),bool:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([ft])`(b) { + ${ze} = u32(b); +}`,"bool"),vec2f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([lt])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); +}`,"vec2f"),vec3f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([It])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); + ${ze} = bitcast(v.z); +}`,"vec3f"),vec4f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Oe])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); + ${ze} = bitcast(v.z); + ${ze} = bitcast(v.w); +}`,"vec4f"),vec2h:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Vs])`(v) { + ${ze} = pack2x16float(vec2f(f32(v.x), f32(v.y))); +}`,"vec2h"),vec3h:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Pr])`(v) { + ${ze} = pack2x16float(vec2f(f32(v.x), f32(v.y))); + ${ze} = pack2x16float(vec2f(f32(v.z), 0.0)); +}`,"vec3h"),vec4h:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Ns])`(v) { + ${ze} = pack2x16float(vec2f(f32(v.x), f32(v.y))); + ${ze} = pack2x16float(vec2f(f32(v.z), f32(v.w))); +}`,"vec4h"),vec2i:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Xt])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); +}`,"vec2i"),vec3i:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([cs])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); + ${ze} = bitcast(v.z); +}`,"vec3i"),vec4i:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Wt])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); + ${ze} = bitcast(v.z); + ${ze} = bitcast(v.w); +}`,"vec4i"),vec2u:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Ct])`(v) { + ${ze} = v.x; + ${ze} = v.y; +}`,"vec2u"),vec3u:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([gt])`(v) { + ${ze} = v.x; + ${ze} = v.y; + ${ze} = v.z; +}`,"vec3u"),vec4u:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Et])`(v) { + ${ze} = v.x; + ${ze} = v.y; + ${ze} = v.z; + ${ze} = v.w; +}`,"vec4u"),"vec2":qt([Or])`(v) { + ${ze} = u32(v.x); + ${ze} = u32(v.y); +}`,"vec3":qt([Vr])`(v) { + ${ze} = u32(v.x); + ${ze} = u32(v.y); + ${ze} = u32(v.z); +}`,"vec4":qt([Nr])`(v) { + ${ze} = u32(v.x); + ${ze} = u32(v.y); + ${ze} = u32(v.z); + ${ze} = u32(v.w); +}`,mat2x2f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Gn])`(m) { + ${ze} = bitcast(m[0][0]); + ${ze} = bitcast(m[0][1]); + ${ze} = bitcast(m[1][0]); + ${ze} = bitcast(m[1][1]); +}`,"mat2x2f"),mat3x3f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Yn])`(m) { + ${ze} = bitcast(m[0][0]); + ${ze} = bitcast(m[0][1]); + ${ze} = bitcast(m[0][2]); + ${ze} = 0u; + ${ze} = bitcast(m[1][0]); + ${ze} = bitcast(m[1][1]); + ${ze} = bitcast(m[1][2]); + ${ze} = 0u; + ${ze} = bitcast(m[2][0]); + ${ze} = bitcast(m[2][1]); + ${ze} = bitcast(m[2][2]); + ${ze} = 0u; +}`,"mat3x3f"),mat4x4f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Hs])`(m) { + ${ze} = bitcast(m[0][0]); + ${ze} = bitcast(m[0][1]); + ${ze} = bitcast(m[0][2]); + ${ze} = bitcast(m[0][3]); + ${ze} = bitcast(m[1][0]); + ${ze} = bitcast(m[1][1]); + ${ze} = bitcast(m[1][2]); + ${ze} = bitcast(m[1][3]); + ${ze} = bitcast(m[2][0]); + ${ze} = bitcast(m[2][1]); + ${ze} = bitcast(m[2][2]); + ${ze} = bitcast(m[2][3]); + ${ze} = bitcast(m[3][0]); + ${ze} = bitcast(m[3][1]); + ${ze} = bitcast(m[3][2]); + ${ze} = bitcast(m[3][3]); +}`,"mat4x4f")};for(let[e,t]of Object.entries(n6))t.$name(`serialize${e[0].toLocaleUpperCase()}${e.slice(1)}`).$uses({dataBlockIndex:s6,nextByteIndex:R4,dataBuffer:o6});function a6(e){return`(${e.map((t,s)=>`_arg_${s}`).join(", ")})`}function i6(e,t){let s=n6[e.type];if(s)return s.with(o6,t);if(Qt(e)){let r=Object.keys(e.propTypes),o=d6(Object.values(e.propTypes),t);return qt([e])`(arg) {\n propsSerializer(${r.map(n=>`arg.${n}`).join(", ")});\n}`.$uses({propsSerializer:o}).$name(`${xe(e)??"struct"}Serializer`)}if(Us(e)){let r=e.elementType,o=e.elementCount,n=i6(r,t);return qt([e])`(arg) {\n${Array.from({length:o},(i,d)=>` elementSerializer(arg[${d}]);`).join(` +`)}\n}`.$uses({elementSerializer:n}).$name("arraySerializer")}throw new Error(`Cannot serialize data of type ${e.type}`)}function d6(e,t){let s={};return(globalThis.__TYPEGPU_AUTONAME__??(r=>r))(qt(e),"shell")`${a6(e)} {\n${e.map((r,o)=>(s[`serializer${o}`]=i6(r,t),` serializer${o}(_arg_${o});`)).join(` +`)}\n}`.$uses(s).$name("compoundSerializer")}function z4(e,t,s,r,o){let n=t.map(_t).reduce((c,_)=>c+_,0);if(n>o.logSizeLimit)throw new Error(`Logged data needs to fit in ${o.logSizeLimit} bytes (one of the logs requires ${n} bytes). Consider increasing the limit by passing appropriate options to tgpu.init().`);let i=d6(t,s).$name(`log${e}serializer`),d=a6(t);return qt(t)`${d} { + dataBlockIndex = atomicAdd(&indexBuffer, 1); + if (dataBlockIndex >= ${o.logCountLimit}) { + return; + } + dataBuffer[dataBlockIndex].id = ${e}; + dataByteIndex = 0; + + compoundSerializer${d}; +}`.$uses({indexBuffer:r,dataBuffer:s,dataBlockIndex:s6,dataByteIndex:r6,compoundSerializer:i}).$name(`log${e}`)}var G4={logCountLimit:64,logSizeLimit:252,messagePrefix:" GPU "},c6=ve("/* console.log() */",_s,"runtime"),Y4=class{get logResources(){}generateLog(){return Vt.warn("fallback","'console.log' is only supported when resolving pipelines."),c6}},L4=class{#e;#t;#s=1;#r;#o;constructor(e){this.#e={...G4,...e[B].logOptions},this.#t=new Map;let t=ut({id:R,serializedData:pt(R,Math.ceil(this.#e.logSizeLimit/4))}).$name("SerializedLogData");this.#o=e.createMutable(pt(t,this.#e.logCountLimit)).$name("dataBuffer"),this.#r=e.createMutable($P(R)).$name("indexBuffer")}generateLog(e,t,s){if(pd.$==="vertex")return Vt.warn("suspicious","'console' operations are not supported in vertex shaders."),c6;let r=this.#s++,o=s.map(c=>{if(c.dataType===Ut)return c;let _=Qn(e,[c],[Ca(c.dataType)])?.[0];return ds(_,`Internal error. Expected type ${c.dataType} to be convertible to ${Ca(c.dataType)}`),_}).map(MM),n=o.filter(c=>c.dataType!==Ut),i=z4(r,n.map(c=>c.dataType),this.#o,this.#r,this.#e),d=ve(ce`${e.resolve(i).value}(${n})`,_s,"runtime");return this.#t.set(r,{op:t,argTypes:o.map(c=>c?.dataType===Ut?c?.value:c?.dataType)}),d}get logResources(){return this.#s===1?void 0:{dataBuffer:this.#o,indexBuffer:this.#r,options:this.#e,logIdToMeta:this.#t}}};function I4(e){return e?.resourceType==="shellless-impl"}function D4(e,t){let s=ri(t,"normal");return{[B]:!0,[Xs]:s,resourceType:"shellless-impl",argTypes:e,[kt](r){return s.resolve(r,e,void 0)},toString(){return`fn*:${xe(s)??""}(${e.map(r=>r.toString()).join(", ")})`}}}var F4=new RegExp(`[${[...S5].join("")}]+`,"ug"),eg=/[.\p{XID_Continue}]/u;function tg(e){let t=W4(e).split(F4).filter(r=>r!==""),s="";for(let r=0;r0;)e.startsWith("/*",r)?(o+=1,r+=2):e.startsWith("*/",r)?(o-=1,r+=2):r+=1;if(o>0)throw new SyntaxError("Block comment opening without corresponding closing found during minification.");s=r;continue}if(e.startsWith("*/",r))throw new SyntaxError("Block comment closing without corresponding opening found during minification.");r+=1}return t+e.slice(s)}var Up="#CATCHALL#",O4=class{_stack=[];_itemDepth=0;get itemDepth(){return this._itemDepth}get topItem(){let e=this._stack[this._stack.length-1];if(!e||e.type!=="item")throw new Error("Internal error, expected item layer to be on top.");return e}get topFunctionScope(){return this._stack.findLast(e=>e.type==="functionScope")}get topBlockScope(){return this._stack.findLast(e=>e.type==="blockScope")}get blockDepth(){let e=0;for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="functionScope")break;s?.type==="blockScope"&&e++}return e}pushItem(){this._itemDepth++,this._stack.push({type:"item",usedSlots:new Set})}pushSlotBindings(e){this._stack.push({type:"slotBinding",bindingMap:new WeakMap(e)})}pushFunctionScope(e,t,s,r){let o={type:"functionScope",functionType:e,argAccess:t,returnType:s,externalMap:r,reportedReturnTypes:new Set,placeholderForVariable:new Map,modifiedVariables:new Set};return this._stack.push(o),o}pushBlockScope(){this._stack.push({type:"blockScope",takenLocalIdentifiers:new Set,declarations:new Map,externals:new Map})}pop(e){let t=this._stack[this._stack.length-1];if(!t||e&&t.type!==e)throw new Error(`Internal error, expected a ${e} layer to be on top.`);let s=this._stack.pop();return e==="item"&&this._itemDepth--,s}readSlot(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="item")s.usedSlots.add(e);else if(s?.type==="slotBinding"){let r=s.bindingMap.get(e);if(r!==void 0)return r}else if(!(s?.type==="functionScope"||s?.type==="blockScope"))throw new Error("Unknown layer type.")}return e.defaultValue}getSnippetById(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="functionScope"){let r=s.argAccess[e];if(r)return r();if(Object.hasOwn(s.externalMap,e)){let o=s.externalMap[e];return Di(o)&&xe(o)===void 0&&ot(o,e.replaceAll(".","_")),Wr(o)}return}if(s?.type==="blockScope"){let r=s.declarations.get(e)??s.externals.get(e);if(r!==void 0)return r}}}isIdentifierTakenLocally(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="functionScope")return!1;if(s?.type==="blockScope"&&s.takenLocalIdentifiers.has(e))return!0}return!1}isIdentifierTakenInCallStack(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="blockScope"&&s.takenLocalIdentifiers.has(e))return!0}return!1}defineBlockVariable(e,t){if(t.dataType===Ut)throw Error(`Tried to define variable '${e}' of unknown type`);for(let s=this._stack.length-1;s>=0;--s){let r=this._stack[s];if(r?.type==="blockScope"){r.declarations.set(e,t);return}}throw new Error("No block scope found to define a variable in.")}setBlockExternals(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="blockScope"){Object.entries(e).forEach(([r,o])=>{s.externals.set(r,o)});return}}throw new Error("No block scope found to set externals in.")}clearBlockExternals(){for(let e=this._stack.length-1;e>=0;--e){let t=this._stack[e];if(t?.type==="blockScope"){t.externals.clear();return}}throw new Error("No block scope found to clear externals in.")}},_c=[""," "," "," "," "," "," "," "," "],fm=_c.length-1,V4=class{identLevel=0;get pre(){return _c[this.identLevel]??_c[fm].repeat(this.identLevel/fm)+_c[this.identLevel%fm]}indent(){let e=this.pre;return this.identLevel++,e}dedent(){return this.identLevel--,this.pre}withResetLevel(e){let t=this.identLevel;this.identLevel=0;try{return e()}finally{this.identLevel=t}}};function wi(e,t,s="argument"){let r=!1;return{name:e,access:()=>(r=!0,ve(e,t,s,!1)),decoratedType:t,get used(){return r}}}function sg(e,t){return()=>{let s=e();if(s)return Bi(s,t)}}var _6=class{#e;_indentController=new V4;_itemStateStack=new O4;#t=[];_declarations=[];_varyingLocations;#s=new WeakSet;#r;gen;get varyingLocations(){return this._varyingLocations}[B]={itemStateStack:this._itemStateStack};bindGroupLayoutsToPlaceholderMap=new Map;_nextFreeLayoutPlaceholderIdx=0;fixedBindings=[];enableExtensions;expectedType;#o=0;constructor(e){this.enableExtensions=e.enableExtensions,this.#r=e.root?new L4(e.root):new Y4,this.#e=e.namespace[B],this.gen=e.shaderGenerator??new R$,this.gen.initGenerator(this)}isIdentifierBanned(e){return mv.has(e)}isIdentifierTaken(e,t){return this.#e.takenGlobalIdentifiers.has(e)||(t==="block"?this._itemStateStack.isIdentifierTakenLocally(e):this._itemStateStack.isIdentifierTakenInCallStack(e))}makeUniqueIdentifier(e="item",t){if(t==="block"&&Fu(e).success&&!this.isIdentifierTaken(e,t))return this.reserveIdentifier(e,"block"),e;let s=oP(e),r=0,o=this.#e.strategy==="random",n=o?`${s}_${this.#o++}`:s;for(;this.isIdentifierTaken(n,t);)n=o?`${s}_${this.#o++}`:`${s}_${++r}`;return this.reserveIdentifier(n,t),n}reserveIdentifier(e,t){if(t==="block"){let s=this._itemStateStack.topBlockScope;if(s){s.takenLocalIdentifiers.add(e);return}}this.#e.takenGlobalIdentifiers.add(e)}get pre(){return this._indentController.pre}get topFunctionScope(){return this._itemStateStack.topFunctionScope}get topFunctionReturnType(){let e=this._itemStateStack.topFunctionScope;return ds(e,"Internal error, expected function scope to be present."),e.returnType}get shelllessRepo(){return this.#e.shelllessRepo}get blockDepth(){return this._itemStateStack.blockDepth}indent(){return this._indentController.indent()}dedent(){return this._indentController.dedent()}getDedented(e){return e.replaceAll(` +${_c[1]}`,` +`)}withResetIndentLevel(e){return this._indentController.withResetLevel(e)}getById(e){let t=this._itemStateStack.getSnippetById(e);return t===void 0?null:t}defineVariable(e,t){this._itemStateStack.defineBlockVariable(e,t)}reportReturnType(e){let t=this._itemStateStack.topFunctionScope;ds(t,"Internal error, expected function scope to be present."),t.reportedReturnTypes.add(e)}pushBlockScope(){this._itemStateStack.pushBlockScope()}popBlockScope(){this._itemStateStack.pop("blockScope")}setBlockExternals(e){this._itemStateStack.setBlockExternals(e)}clearBlockExternals(){this._itemStateStack.clearBlockExternals()}generateLog(e,t){return this.#r.generateLog(this,e,t)}get logResources(){return this.#r.logResources}resolveFunction(e){try{let t=this._itemStateStack.pushFunctionScope(e.functionType,{},e.returnType,e.externalMap);this._itemStateStack.pushBlockScope();let s=[];if(e.entryInput){let{dataSchema:n,positionalArgs:i}=e.entryInput,d=e.params[0],c=n?wi(this.makeUniqueIdentifier("_arg_0","block"),n):void 0;if(c&&s.push(c),d?.type===tc.destructuredObject)for(let{name:_,alias:u}of d.props){let m=i.find(p=>p.schemaKey===_);if(m){let p=wi(this.makeUniqueIdentifier(u,"block"),m.type);s.push(p),t.argAccess[u]=p.access}else c&&(t.argAccess[u]=sg(c.access,_))}else if(d?.type===tc.identifier){let _=[];for(let m of i){let p=wi(this.makeUniqueIdentifier(m.schemaKey,"block"),m.type);s.push(p),_.push({schemaKey:m.schemaKey,arg:p.access})}let u=new b5(c?.access,_);t.argAccess[d.name]=()=>ve("N/A",u,"argument")}else for(let _ of i){let u=this.makeUniqueIdentifier(`_arg_${_.schemaKey}`,"block"),m=wi(u,_.type);s.push(m),t.argAccess[u]=m.access}}else for(let[n,i]of e.argTypes.entries()){let d=e.params[n],c=pr(i)?i.addressSpace==="storage"?i.access==="read"?"readonly":"mutable":i.addressSpace:"argument";switch(d?.type){case tc.identifier:{let _=wi(this.makeUniqueIdentifier(d.name,"block"),i,c);s.push(_),t.argAccess[d.name]=_.access;break}case tc.destructuredObject:{let _=wi(this.makeUniqueIdentifier(`_arg_${n}`,"block"),i,c);s.push(_);for(let{name:u,alias:m}of d.props)t.argAccess[m]=sg(_.access,u);break}case void 0:i instanceof Wo||s.push({name:this.makeUniqueIdentifier(`_arg_${n}`,"block"),access:()=>{throw new Error("Unreachable: Accessing an argument that wasn't named in the function signature")},decoratedType:i,used:!1})}}let r,o=this.gen.functionDefinition({functionType:e.functionType,name:e.name,workgroupSize:e.workgroupSize,args:s,body:e.body,determineReturnType:()=>{if(r)return r;if(r=e.returnType,r instanceof Wo&&(Qt(t.reportedReturnTypes.values().next().value)?r=r.completeStruct:r=void 0),!r){let n=[...t.reportedReturnTypes];if(n.length===0)r=_s;else{let i=Vf(n);i&&!i.hasImplicitConversions&&(r=i.targetType)}if(!r)throw new Error(`Expected function to have a single return type, got [${n.join(", ")}]. Cast explicitly to the desired type.`);r=no(r),(e.functionType==="vertex"||e.functionType==="fragment")&&(r=Bc(r))}return r}});if(!r)throw new Error("Failed to determine return type");return{code:o,returnType:r}}finally{this._itemStateStack.pop("blockScope"),this._itemStateStack.pop("functionScope")}}addDeclaration(e,t){this._declarations.push({name:t,code:e})}get declarations(){return this._declarations}allocateLayoutEntry(e){let t=this.bindGroupLayoutsToPlaceholderMap,s=t.get(e);return s||(s=`#BIND_GROUP_LAYOUT_${this._nextFreeLayoutPlaceholderIdx++}#`,t.set(e,s)),s}allocateFixedEntry(e,t){let s=this.fixedBindings.length;return this.fixedBindings.push({layoutEntry:e,resource:t}),{group:Up,binding:s}}readSlot(e){let t=this._itemStateStack.readSlot(e);if(t===void 0)throw new KA(e);return t}withSlots(e,t){if(e.length===0)return t();this._itemStateStack.pushSlotBindings(e);try{return t()}finally{this._itemStateStack.pop("slotBinding")}}withVaryingLocations(e,t){this._varyingLocations=e;try{return t()}finally{this._varyingLocations=void 0}}withRenamed(e,t,s){if(!t)return s();let r=xe(e);try{return ot(e,t),s()}finally{r&&ot(e,r)}}unwrap(e){if(al(e))return this.withRenamed(e[Mr].inner,xe(e),()=>this.withSlots(e[Mr].pairs,()=>this.unwrap(e[Mr].inner)));let t=e;for(;;)if(cp(t))t=this.readSlot(t);else if(_p(t))t=this._getOrCompute(t);else break;return t}_getOrCompute(e){let t=this.#e.memoizedLazy.get(e)??[];this._itemStateStack.pushItem();try{for(let o of t)if([...o.slotToValueMap.entries()].every(([n,i])=>n.areEqual(this._itemStateStack.readSlot(n),i)))return o.result;this.pushMode(new _d);let s;try{s=e[B].compute()}finally{this.popMode("normal")}let r=new Map;for(let o of this._itemStateStack.topItem.usedSlots)r.set(o,this._itemStateStack.readSlot(o));return t.push({slotToValueMap:r,result:s}),this.#e.memoizedLazy.set(e,t),s}catch(s){throw s instanceof Pi?s.appendToTrace(e):new Pi(s,[e])}finally{this._itemStateStack.pop("item")}}_getOrInstantiate(e){let t=this.#e.memoizedResolves.get(e)??[];this._itemStateStack.pushItem();try{for(let o of t)if([...o.slotToValueMap.entries()].every(([n,i])=>n.areEqual(this._itemStateStack.readSlot(n),i)))return o.result;let s;if(Rc(e))s=ve(this.gen.emitTypeAnnotation(e),_s,"runtime");else if(_p(e)||cp(e))s=this.resolve(this.unwrap(e));else if(g2(e))s=e[kt](this);else if(Fi(e)){let o=this.#e.shelllessRepo.get(e,void 0);if(!o)throw new Error(`Couldn't resolve ${e.name}. Make sure it's a function that accepts no arguments, or call it from another TypeGPU function.`);return this.withResetIndentLevel(()=>this.resolve(o))}else throw new TypeError(`Unresolvable internal value: ${io(e)}`);let r=new Map;for(let o of this._itemStateStack.topItem.usedSlots)r.set(o,this._itemStateStack.readSlot(o));return t.push({slotToValueMap:r,result:s}),this.#e.memoizedResolves.set(e,t),s}catch(s){throw s instanceof Pi?s.appendToTrace(e):new Pi(s,[e])}finally{this._itemStateStack.pop("item")}}resolve(e,t){if(typeof e=="string"){if(!t||t===Ut)throw new Error(`Strings cannot be injected into WGSL directly (tried to inject '${e}'). Look for TypeGPU APIs that cover your use-case, or resort to using tgpu['~unstable'].rawCodeSnippet for raw code injection.`);return ve(e,t,"runtime")}if((vp(e)||I4(e))&&!al(e)){if(this.#s.has(e)&&!this.#e.memoizedResolves.has(e))throw new Error(`Recursive function ${e} detected. Recursion is not allowed on the GPU.`);this.#s.add(e)}if(al(e))return this.withRenamed(e[Mr].inner,xe(e),()=>this.withSlots(e[Mr].pairs,()=>this.resolve(e[Mr].inner,t)));if(mt(e)||Fi(e)){if(this._itemStateStack.itemDepth===0)try{this.pushMode(new iM);let s=w2(this,()=>this._getOrInstantiate(e));return ve(`${this._declarations.map(r=>r.code).join(` + +`)}${s.value}`,_s,"runtime")}finally{this.popMode("codegen")}return this._getOrInstantiate(e)}if(typeof e=="number"){let s=t??on(e).dataType;return ds(s!==Ut,"Schema has to be known for resolving numbers"),this.gen.numericLiteral(e,s)}if(typeof e=="boolean")return ve(e?"true":"false",ft,"constant",!1);if(t&&Us(t)){if(!Array.isArray(e))throw new Qe(`Cannot coerce ${e} into value of type '${t}'`);if(t.elementCount!==e.length)throw new Qe(`Cannot create value of type '${t}' from an array of length: ${e.length}`);return this.gen.typeInstantiation(t,e.map(s=>ve(s,t.elementType,"runtime")))}if(t&&Qt(t))return this.gen.typeInstantiation(t,Object.entries(t.propTypes).map(([s,r])=>ve(e[s],r,"runtime")));throw new Qe(`Value ${io(e)} is not resolvable${t&&t!==Ut?` to type ${io(t)}`:""}`)}resolveSnippet(e){return x2(this.resolve(e.value,e.dataType).value,e)}pushMode(e){this.#t.push(e)}popMode(e){let t=this.#t.pop();e!==void 0&&ds(t?.type===e,"Unexpected mode")}get mode(){return this.#t[this.#t.length-1]??T2}};function Ju(e,t){let s=new _6(t),r=(t.config?s.withSlots(t.config(new W5([])).bindings,()=>s.resolve(e)):s.resolve(e)).value,o=s.bindGroupLayoutsToPlaceholderMap,n=[],i=Q$(new Set([...o.keys()].map(p=>p.index).filter(p=>p!==void 0))),d=s.fixedBindings.map((p,y)=>[String(y),p.layoutEntry]),c=[],_=()=>{let p=i.next().value,y=(globalThis.__TYPEGPU_AUTONAME__??(h=>h))(K5(Object.fromEntries(d)),"catchallLayout");return n[p]=y,r=r.replaceAll(Up,String(p)),c.push([Up,String(p)]),[p,new Q5(t.root,y,Object.fromEntries(s.fixedBindings.map((h,g)=>[String(g),h.resource])))]},u=d.length>0?_():void 0;for(let[p,y]of o.entries()){let h=p.index??i.next().value;n[h]=p,r=r.replaceAll(y,String(h)),c.push([y,String(h)])}t.enableExtensions&&t.enableExtensions.length>0&&(r=`${t.enableExtensions.map(p=>`enable ${p};`).join(` +`)} + +${r}`);let m=s.declarations.map(({name:p,code:y})=>({name:p,code:c.reduce((h,[g,w])=>h.replaceAll(g,w),y)}));return t.minify&&(r=tg(r),m=m.map(p=>({...p,code:tg(p.code)}))),{code:r,declarations:m,usedBindGroupLayouts:n,catchall:u,logResources:s.logResources}}function l6(e,t,s){return e.flatMap((r,o)=>{let n=t&&o===t[0]?t[1]:s?.get(r);return n?[[r,n]]:[]})}function N4(e,t){return e.flatMap(s=>{let r=t?.get(s);return r?[[s,r]]:[]})}var q4={dispatchWorkgroupsIndirect:"3 x u32",drawIndirect:"4 x u32",drawIndexedIndirect:"3 x u32, i32, u32"};function rg(e,t,s,r){if(t+s>e)throw new Error(`Buffer too small for ${r}. Required: ${s} bytes at offset ${t}, but buffer is only ${e} bytes.`);if(t%4!==0)throw new Error(`Indirect buffer offset must be a multiple of 4. Got: ${t}`)}function Vi(e,t,s,r){if(Mn(e)){let i=typeof t=="number"?t:t?.offset??0;return rg(e.size,i,s,r),i}let{offset:o,contiguous:n}=t?typeof t=="number"?{offset:t,contiguous:s}:t:cl(e.dataType);return rg(_t(e.dataType),o,s,r),ntypeof e=="number"?Zo(e):qr.bitcastU32toF32[e.kind](e)),codegenImpl:(e,[t],s)=>e.gen.emitCall("bitcast",[Wr(s)],[t]),signature:(...e)=>{let t=Iu(e,Rl);if(!t)throw new Ts(e,Rl);return{argTypes:t,returnType:Rt(t[0])?t[0].type==="vec2u"?lt:t[0].type==="vec3u"?It:Oe:a}},sideEffects:!1});pe({name:"bitcastU32toI32",normalImpl:(e=>typeof e=="number"?Qo(e):qr.bitcastU32toI32[e.kind](e)),codegenImpl:(e,[t],s)=>e.gen.emitCall("bitcast",[Wr(s)],[t]),signature:(...e)=>{let t=Iu(e,Rl);if(!t)throw new Ts(e,Rl);return{argTypes:t,returnType:Rt(t[0])?t[0].type==="vec2u"?Xt:t[0].type==="vec3u"?cs:Wt:Z}},sideEffects:!1});var og=[a,lt,It,Oe];pe({name:"bitcastF32toU32",normalImpl:(e=>typeof e=="number"?Jo(e):qr.bitcastF32toU32[e.kind](e)),codegenImpl:(e,[t],s)=>e.gen.emitCall("bitcast",[Wr(s)],[t]),signature:(...e)=>{let t=Iu(e,og);if(!t)throw new Ts(e,og);return{argTypes:t,returnType:Rt(t[0])?t[0].type==="vec2f"?Ct:t[0].type==="vec3f"?gt:Et:R}},sideEffects:!1});var B_=new ArrayBuffer(16),W_={f32:new Float32Array(B_),u32:new Uint32Array(B_),i32:new Int32Array(B_),u16:new Uint16Array(B_)};function X4(e,t){if(typeof e=="number")t[0]=e;else for(let s=0;s{let s="primitive"in e?e.primitive:e,r="primitive"in t?t.primitive:t;return o=>(s.type==="f16"?H4(o,W_.u16):X4(o,W_[s.type]),r.type==="f16"?K4(W_.u16,t):j4(W_[r.type],t))};function et(e,t){return pe({name:"bitcast",normalImpl:Z4(e,t),codegenImpl:(s,[r])=>s.gen.emitCall("bitcast",[Wr(t)],[r]),signature:s=>{let r=Iu([s],[e]);if(!r)throw new Ts([s],[e]);return{argTypes:r,returnType:t}},sideEffects:!1})}var ng={f16:{f16:et(xs,xs)},f32:{f32:et(a,a),i32:et(a,Z),u32:et(a,R),vec2h:et(a,Vs)},i32:{f32:et(Z,a),i32:et(Z,Z),u32:et(Z,R),vec2h:et(Z,Vs)},u32:{f32:et(R,a),i32:et(R,Z),u32:et(R,R),vec2h:et(R,Vs)},vec2h:{f32:et(Vs,a),i32:et(Vs,Z),u32:et(Vs,R),vec2h:et(Vs,Vs)},vec3h:{vec3h:et(Pr,Pr)},vec2f:{vec2f:et(lt,lt),vec2i:et(lt,Xt),vec2u:et(lt,Ct),vec4h:et(lt,Ns)},vec2i:{vec2f:et(Xt,lt),vec2i:et(Xt,Xt),vec2u:et(Xt,Ct),vec4h:et(Xt,Ns)},vec2u:{vec2f:et(Ct,lt),vec2i:et(Ct,Xt),vec2u:et(Ct,Ct),vec4h:et(Ct,Ns)},vec4h:{vec2f:et(Ns,lt),vec2i:et(Ns,Xt),vec2u:et(Ns,Ct),vec4h:et(Ns,Ns)},vec3f:{vec3f:et(It,It),vec3i:et(It,cs),vec3u:et(It,gt)},vec3i:{vec3f:et(cs,It),vec3i:et(cs,cs),vec3u:et(cs,gt)},vec3u:{vec3f:et(gt,It),vec3i:et(gt,cs),vec3u:et(gt,gt)},vec4f:{vec4f:et(Oe,Oe),vec4i:et(Oe,Wt),vec4u:et(Oe,Et)},vec4i:{vec4f:et(Wt,Oe),vec4i:et(Wt,Wt),vec4u:et(Wt,Et)},vec4u:{vec4f:et(Et,Oe),vec4i:et(Et,Wt),vec4u:et(Et,Et)}};function Q4(e,t){if("type"in e&&e.type in ng){let s=ng[e.type];if("type"in t&&t.type in s)return s[t.type]}throw new Error(`Incorrect bitcast from ${xe(e)} to ${xe(t)}.`)}var u6=Ao(Q4),J4=pe({name:"unpack2x16float",normalImpl:e=>{let t=new ArrayBuffer(4);new si(t).writeUint32(e);let s=new ld(t);return lt(Bs(s),Bs(s))},signature:{argTypes:[R],returnType:lt},codegenImpl:(e,[t])=>ce`unpack2x16float(${t})`,sideEffects:!1});pe({name:"pack2x16float",normalImpl:e=>{let t=new ArrayBuffer(4),s=new si(t);return Fs(s,e.x),Fs(s,e.y),R(new ld(t).readUint32())},signature:{argTypes:[lt],returnType:R},codegenImpl:(e,[t])=>ce`pack2x16float(${t})`,sideEffects:!1});pe({name:"unpack4x8unorm",normalImpl:e=>{let t=new ArrayBuffer(4);new si(t).writeUint32(e);let s=new ld(t);return Oe(s.readUint8()/255,s.readUint8()/255,s.readUint8()/255,s.readUint8()/255)},signature:{argTypes:[R],returnType:Oe},codegenImpl:(e,[t])=>ce`unpack4x8unorm(${t})`,sideEffects:!1});pe({name:"pack4x8unorm",normalImpl:e=>{let t=new ArrayBuffer(4),s=new si(t);return s.writeUint8(e.x*255),s.writeUint8(e.y*255),s.writeUint8(e.z*255),s.writeUint8(e.w*255),R(new ld(t).readUint32())},signature:{argTypes:[Oe],returnType:R},codegenImpl:(e,[t])=>ce`pack4x8unorm(${t})`,sideEffects:!1});var wt=e=>u6(R,a)(e??0),Ko=e=>u6(R,Z)(e??0),Ti=e=>J4(e??0),eU={f32:e=>wt(e[0]),f16:e=>Ti(e[0]).x,i32:e=>Ko(e[0]),u32:e=>e[0]??0,bool:e=>!!e[0],vec2f:e=>lt(wt(e[0]),wt(e[1])),vec3f:e=>It(wt(e[0]),wt(e[1]),wt(e[2])),vec4f:e=>Oe(wt(e[0]),wt(e[1]),wt(e[2]),wt(e[3])),vec2h(e){let t=Ti(e[0]);return Vs(t.x,t.y)},vec3h(e){let t=Ti(e[0]),s=Ti(e[1]);return Pr(t.x,t.y,s.x)},vec4h(e){let t=Ti(e[0]),s=Ti(e[1]);return Ns(t.x,t.y,s.x,s.y)},vec2i:e=>Xt(Ko(e[0]),Ko(e[1])),vec3i:e=>cs(Ko(e[0]),Ko(e[1]),Ko(e[2])),vec4i:e=>Wt(Ko(e[0]),Ko(e[1]),Ko(e[2]),Ko(e[3])),vec2u:e=>Ct(e[0]??0,e[1]??0),vec3u:e=>gt(e[0]??0,e[1]??0,e[2]??0),vec4u:e=>Et(e[0]??0,e[1]??0,e[2]??0,e[3]??0),"vec2":e=>Or(!!e[0],!!e[1]),"vec3":e=>Vr(!!e[0],!!e[1],!!e[2]),"vec4":e=>Nr(!!e[0],!!e[1],!!e[2],!!e[3]),mat2x2f:e=>Gn(wt(e[0]),wt(e[1]),wt(e[2]),wt(e[3])),mat3x3f:e=>Yn(wt(e[0]),wt(e[1]),wt(e[2]),wt(e[4]),wt(e[5]),wt(e[6]),wt(e[8]),wt(e[9]),wt(e[10])),mat4x4f:e=>Hs(wt(e[0]),wt(e[1]),wt(e[2]),wt(e[3]),wt(e[4]),wt(e[5]),wt(e[6]),wt(e[7]),wt(e[8]),wt(e[9]),wt(e[10]),wt(e[11]),wt(e[12]),wt(e[13]),wt(e[14]),wt(e[15]))};function tU(e,t){let s=eU[t.type];if(s)return s(e);if(Qt(t)){let r=Object.keys(t.propTypes),o=Cp(e,Object.values(t.propTypes));return Object.fromEntries(r.map((n,i)=>[n,o[i]]))}if(Us(t)){let r=t.elementType,o=t.elementCount;return Cp(e,Array.from({length:o},()=>r))}throw new Error(`Cannot deserialize data of type ${t.type}`)}function Cp(e,t){let s=0;return t.map(r=>{if(!Qa(r))return r;let o=Math.ceil(_t(r)/4),n=tU(e.subarray(s,s+o),r);return s+=o,n})}function sU(e,t){return Cp(e,t).map(ap)}function rU(e){let{indexBuffer:t,dataBuffer:s,logIdToMeta:r,options:o}=e;s.read().then(n=>{n.filter(i=>i.id).forEach(({id:i,serializedData:d})=>{let{argTypes:c,op:_}=r.get(i),u=sU(new Uint32Array(d),c);u.length===0&&u.push(""),_.bind(console)(`%c${o.messagePrefix}%c ${u[0]}`,"background: #936ff5; color: white;","color: inherit; background: none",...u.slice(1))})}),t.read().then(n=>{n>o.logCountLimit&&Vt.warn("log-limit-exceeded",`Log count limit per dispatch (${o.logCountLimit}) exceeded by ${n-o.logCountLimit} calls. Consider increasing the limit by passing appropriate options to tgpu.init().`)}),s.buffer.clear(),t.buffer.clear()}function oU(e,t,s,r){return new nU(e,t,s,r)}function Uv(e){let t=e;return t?.resourceType==="query-set"&&!!t[B]}var nU=class{resourceType="query-set";#e;#t=!1;#s=!0;#r=void 0;#o=void 0;[me];[B];constructor(e,t,s,r){this.#e=!r,this[me]={type:"query-set",device:e.device,queryType:t,count:s,raw:r,label:void 0};let o=this;this[B]={get readBuffer(){return o.#r||(o.#r=o[me].device.createBuffer({size:o.count*BigUint64Array.BYTES_PER_ELEMENT,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ})),o.#r},get resolveBuffer(){return o.#o||(o.#o=o[me].device.createBuffer({size:o.count*BigUint64Array.BYTES_PER_ELEMENT,usage:GPUBufferUsage.QUERY_RESOLVE|GPUBufferUsage.COPY_SRC})),o.#o},materialize:()=>{if(this.#t)throw new Error("This QuerySet has been destroyed.");let n=this[me];return n.raw||(n.raw=n.device.createQuerySet({type:n.queryType,count:n.count})),n.raw}}}get type(){return this[me].queryType}get count(){return this[me].count}get querySet(){return this[B].materialize()}get destroyed(){return this.#t}get available(){return this.#s}$name(e){ot(this,e);let t=this[me].raw;return t&&(t.label=e),this}resolve(){if(this.#t)throw new Error("This QuerySet has been destroyed.");if(!this.#s)throw new Error("This QuerySet is busy resolving or reading.");let e=this[me].device.createCommandEncoder();e.resolveQuerySet(this.querySet,0,this.count,this[B].resolveBuffer,0),this[me].device.queue.submit([e.finish()])}async read(){if(!this.#o)throw new Error("QuerySet must be resolved before reading.");this.#s=!1;try{let e=this[me].device.createCommandEncoder();e.copyBufferToBuffer(this[B].resolveBuffer,0,this[B].readBuffer,0,this.count*BigUint64Array.BYTES_PER_ELEMENT),this[me].device.queue.submit([e.finish()]);let t=this[B].readBuffer;await t.mapAsync(GPUMapMode.READ);let s=new BigUint64Array(t.getMappedRange().slice());return t.unmap(),Array.from(s)}finally{this.#s=!0}}destroy(){this.#t||(this.#t=!0,this[me].raw&&this.#e&&this[me].raw.destroy(),this.#r?.destroy(),this.#o?.destroy(),this.#r=this.#o=void 0)}};function m6(e,t,s){return e.timestampWrites?{...e,performanceCallback:t}:{...e,performanceCallback:t,timestampWrites:{querySet:s,beginningOfPassWriteIndex:0,endOfPassWriteIndex:1}}}function p6(e,t,s){if(!s.enabledFeatures.has("timestamp-query"))throw new Error('Timestamp writes require the "timestamp-query" feature to be enabled on GPU device.');let r={querySet:t.querySet};return t.beginningOfPassWriteIndex!==void 0&&(r.beginningOfPassWriteIndex=t.beginningOfPassWriteIndex),t.endOfPassWriteIndex!==void 0&&(r.endOfPassWriteIndex=t.endOfPassWriteIndex),{...e,timestampWrites:r}}var ag=new WeakMap;async function aU(e,t){if(!e.available)return;let s=await e.read();for(let{priors:r,callback:o}of t){let n=s[r.timestampWrites?.beginningOfPassWriteIndex??0],i=s[r.timestampWrites?.endOfPassWriteIndex??1];if(n===void 0||i===void 0)throw new Error("QuerySet did not return valid timestamps.");await o(n,i)}}function iU(e,t){let s=t.timestampWrites?.querySet,r=t.performanceCallback;if(!s)throw new Error("Cannot dispatch workgroups with performance callback without a query set.");if(!Uv(s))throw new Error("Performance callback with raw GPUQuerySet is not supported. Use TgpuQuerySet instead.");let o=e[B];if(o.adopted)return!1;let{root:n}=o;o.beforeFinish.set(s,c=>{c.resolveQuerySet(n.unwrap(s),0,s.count,s[B].resolveBuffer,0)});let i=ag.get(e);i||(i=new Map,ag.set(e,i));let d=i.get(s);if(!d){let c=[];d=c,i.set(s,c),o.afterSubmit.set(s,()=>{i.delete(s),aU(s,c)})}return d.some(c=>c.priors===t)?Vt.warnOnce("suspicious",s,"repeated-timed-execution","Repeated executions of a timed pipeline within one command encoder write to the same query set indices, so the performance callback reports only the last execution."):d.push({priors:t,callback:r}),!0}var dU=class{bindGroups=new Map;vertexBuffers=new Map;currentPipeline;indexBuffer;stencilReference;appliedStencilReference=0;version=0;rawAccessed=!1},cU=class{bindGroups=new Map;currentPipeline;version=0;rawAccessed=!1};function f6(e,t,s){ca(t)?e.bindGroups.set(t.layout,t):e.bindGroups.set(t,s),e.version++}function v6(e,t){let{priors:s}=t[B];if(e.currentPipeline=t,s.bindGroupLayoutMap)for(let[r,o]of s.bindGroupLayoutMap)e.bindGroups.set(r,o);if(s.vertexLayoutMap)for(let[r,o]of s.vertexLayoutMap)e.vertexBuffers.set(r,{buffer:o,offset:void 0,size:void 0});s.indexBuffer&&(e.indexBuffer=s.indexBuffer),s.stencilReference!==void 0&&(e.stencilReference=s.stencilReference),e.version++}function y6(e,t){let{priors:s}=t[B];if(e.currentPipeline=t,s.bindGroupLayoutMap)for(let[r,o]of s.bindGroupLayoutMap)e.bindGroups.set(r,o);e.version++}function _U(e,t,s){let{buffer:r,indexFormat:o,offsetBytes:n,sizeBytes:i}=s;hc(r)?e.setIndexBuffer(t.unwrap(r),o,n,i):e.setIndexBuffer(r,o,n,i)}function h6(e,t,s,r,o){let n=new Set(s);if(s.forEach((i,d)=>{if(r&&d===r[0])e.setBindGroup(d,t.unwrap(r[1])),n.delete(i);else{let c=o(i);c!==void 0&&(n.delete(i),ca(c)?e.setBindGroup(d,t.unwrap(c)):e.setBindGroup(d,c))}}),n.size>0)throw new QA(n)}function lU(e,t,s,r){let o=new Set;if(s.forEach((n,i)=>{let d=r(n);!d||!d.buffer?o.add(n):hc(d.buffer)?e.setVertexBuffer(i,t.unwrap(d.buffer),d.offset,d.size):e.setVertexBuffer(i,d.buffer,d.offset,d.size)}),o.size>0)throw new JA(o)}function uU(e,t,s,r){let o=s[B].core.unwrap();e.setPipeline(o.pipeline),h6(e,t,o.usedBindGroupLayouts,o.catchall,n=>r.bindGroups.get(n)),lU(e,t,o.usedVertexLayouts,n=>r.vertexBuffers.get(n)),r.indexBuffer!==void 0&&_U(e,t,r.indexBuffer),typeof e.setStencilReference=="function"&&r.stencilReference!==void 0&&(r.rawAccessed||r.stencilReference!==r.appliedStencilReference)&&(e.setStencilReference(r.stencilReference),r.appliedStencilReference=r.stencilReference)}function mU(e,t,s,r){let o=s[B].core.unwrap();e.setPipeline(o.pipeline),h6(e,t,o.usedBindGroupLayouts,o.catchall,n=>r.bindGroups.get(n))}function x6(e){if(!e)throw new Error("No index buffer is set. Call pipeline.withIndexBuffer or pass.setIndexBuffer before drawing indexed geometry.")}function ig(e,t){Vt.warnOnce("suspicious",e,t,`${t} is ignored when recording into a raw GPUCommandEncoder, since there is no submission to report after. Use root['~unstable'].createCommandEncoder() instead.`)}function g6(e,t){return!e||e[B].adopted?!1:(e[B].afterSubmit.set(t,()=>rU(t)),!0)}function b6(e,t,s,r){s&&!g6(e,s)&&ig(t,"Shader console.log output"),r.performanceCallback&&!iU(e,r)&&ig(t,"The performance callback"),r.encoder===void 0&&e.submit()}var pU={render:{into:"drawing into a render pass",intoRaw:"drawing into a raw render pass",begin:"beginRenderPass"},compute:{into:"dispatching into a compute pass",intoRaw:"dispatching into a raw compute pass",begin:"beginComputePass"}};function w6(e,t,s,r,o,n=!1){let i=pU[o];n&&Vt.warnOnce("suspicious",e,"attachments",`Pipeline-level attachments are ignored when ${i.into}. Pass \`colorAttachments\` and \`depthStencilAttachment\` to encoder.${i.begin} instead.`),s&&Vt.warnOnce("suspicious",e,"timestampWrites",`Pipeline-level timestamp writes are ignored when ${i.into}. Pass \`timestampWrites\` to encoder.${i.begin} instead.`),r&&!g6(t,r)&&Vt.warnOnce("suspicious",e,"logs",`Shader console.log output is ignored when ${i.intoRaw} encoder, since there is no submission to read it back after.`)}function Rp(e,t,s,r,o,n=!1){let{state:i,rawPass:d}=t,{core:c,priors:_}=s[B];i.currentPipeline!==s&&v6(i,s),r&&x6(i.indexBuffer);let u=c.unwrap();n||w6(c,t.owner,!!_.timestampWrites,u.logResources,"render",!!_.colorAttachment||!!_.depthStencilAttachment),(i.rawAccessed||t.appliedVersion!==i.version)&&(uU(d,e,s,i),t.appliedVersion=i.version),o(d)}function zp(e,t,s,r,o=!1){let{state:n,rawPass:i}=t,{core:d,priors:c}=s[B];n.currentPipeline!==s&&y6(n,s);let _=d.unwrap();o||w6(d,t.owner,!!c.timestampWrites,_.logResources,"compute"),(n.rawAccessed||t.appliedVersion!==n.version)&&(mU(i,e,s,n),t.appliedVersion=n.version),r(i)}function fU(e){let t=e;return t?.resourceType==="compute-pipeline"&&mt(t)}function vU(e){let t=e;return t?.resourceType==="render-pipeline"&&mt(t)}function yU(e){return vU(e)||fU(e)}function Cv(e){let t=e;return t?.resourceType==="command-encoder"&&mt(t)}function T6(e){let t=e;return(t?.resourceType==="render-pass"||t?.resourceType==="render-bundle-encoder")&&mt(t)}function S6(e){let t=e;return t?.resourceType==="compute-pass"&&mt(t)}function hU(e){return typeof e?.getCurrentTexture=="function"}function A6(e){let t=e;return!mt(t)&&typeof t?.beginRenderPass=="function"&&typeof t?.beginComputePass=="function"}function xU(e){let t=e;return!mt(t)&&typeof t?.dispatchWorkgroups=="function"&&t?.beginRenderPass===void 0}function gU(e){let t=e;return!mt(t)&&typeof t?.executeBundles=="function"&&typeof t?.draw=="function"}function bU(e){let t=e;return!mt(t)&&typeof t?.draw=="function"&&typeof t?.finish=="function"&&t?.executeBundles===void 0&&t?.beginRenderPass===void 0&&t?.dispatchWorkgroups===void 0}function vm(e,t){return Tc(t)?e.unwrap(t).createView():Oi(t)?e.unwrap(t):hU(t)?t.getCurrentTexture().createView():t}function M6(e,t){let{querySet:s,beginningOfPassWriteIndex:r,endOfPassWriteIndex:o}=t,n={querySet:Uv(s)?e.unwrap(s):s};return r!==void 0&&(n.beginningOfPassWriteIndex=r),o!==void 0&&(n.endOfPassWriteIndex=o),n}function wU(e,t){let{rawEncoder:s,root:r}=e[B],o={};return t?.label!==void 0&&(o.label=t.label),t?.timestampWrites!==void 0&&(o.timestampWrites=M6(r,t.timestampWrites)),new P6(r,s.beginComputePass(o),e)}function TU(e,t){let s=new P6(e,t,void 0);return s[B].state.rawAccessed=!0,s}var P6=class{[B];resourceType="compute-pass";#e;constructor(e,t,s){this.#e=e,this[B]={rawPass:t,state:new cU,owner:s,appliedVersion:void 0}}#t(e){let t=this[B],s=t.state.currentPipeline;if(!s)throw new Error("Cannot dispatch without a call to pass.setPipeline");zp(this.#e,t,s,e)}setPipeline(e){y6(this[B].state,e)}setBindGroup(e,t){f6(this[B].state,e,t)}dispatchWorkgroups(e,t,s){this.#t(r=>r.dispatchWorkgroups(e,t,s))}dispatchWorkgroupsIndirect(e,t){let s=Mn(e)?e:e.buffer,r=Vi(e,t,12,"dispatchWorkgroupsIndirect");this.#t(o=>o.dispatchWorkgroupsIndirect(s,r))}end(){this[B].rawPass.end()}};function SU(e){let t,s="all";if(Tc(e)?t=e.props.format:Oi(e)&&(t=e[B].format,s=e[B].aspect??"all"),t!==void 0)return{hasDepth:t.includes("depth")&&s!=="stencil-only",hasStencil:t.includes("stencil")&&s!=="depth-only"}}function AU(e,t){let s={...e,view:t},r=SU(e.view);if(r===void 0&&(e.depthLoadOp!==void 0||e.depthStoreOp!==void 0||e.stencilLoadOp!==void 0||e.stencilStoreOp!==void 0))return s;let{hasDepth:o,hasStencil:n}=r??{hasDepth:!0,hasStencil:!1};return o&&!e.depthReadOnly&&(s.depthLoadOp??="clear",s.depthStoreOp??="store",s.depthClearValue??=1),n&&!e.stencilReadOnly&&(s.stencilLoadOp??="clear",s.stencilStoreOp??="store"),s}function MU(e,t){let{rawEncoder:s,root:r}=e[B],o={colorAttachments:(t.colorAttachments===void 0?[]:Array.isArray(t.colorAttachments)?t.colorAttachments:[t.colorAttachments]).map(n=>{if(n===null)return null;let i={...n,loadOp:n.loadOp??"clear",storeOp:n.storeOp??"store",view:vm(r,n.view)};return n.resolveTarget!==void 0&&(i.resolveTarget=vm(r,n.resolveTarget)),i})};return t.label!==void 0&&(o.label=t.label),t.depthStencilAttachment!==void 0&&(o.depthStencilAttachment=AU(t.depthStencilAttachment,vm(r,t.depthStencilAttachment.view))),t.occlusionQuerySet!==void 0&&(o.occlusionQuerySet=Uv(t.occlusionQuerySet)?r.unwrap(t.occlusionQuerySet):t.occlusionQuerySet),t.timestampWrites!==void 0&&(o.timestampWrites=M6(r,t.timestampWrites)),t.maxDrawCount!==void 0&&(o.maxDrawCount=t.maxDrawCount),new E6(r,s.beginRenderPass(o),e)}function PU(e,t){return new kU(e,e.device.createRenderBundleEncoder(t),void 0)}function EU(e,t){let s=typeof t.executeBundles=="function"?new E6(e,t,void 0):new Rv(e,t,void 0);return s[B].state.rawAccessed=!0,s}var Rv=class{[B];resourceType="render-bundle-encoder";#e;constructor(e,t,s){this.#e=e,this[B]={rawPass:t,state:new dU,owner:s,appliedVersion:void 0}}#t(e,t){let s=this[B],r=s.state.currentPipeline;if(!r)throw new Error("Cannot draw without a call to pass.setPipeline");Rp(this.#e,s,r,e,t)}setPipeline(e){v6(this[B].state,e)}setBindGroup(e,t){f6(this[B].state,e,t)}setVertexBuffer(e,t,s,r){let{state:o}=this[B];o.vertexBuffers.set(e,{buffer:t,offset:s,size:r}),o.version++}setIndexBuffer(e,t,s,r){let{state:o}=this[B];o.indexBuffer={buffer:e,indexFormat:t,offsetBytes:s,sizeBytes:r},o.version++}draw(e,t,s,r){this.#t(!1,o=>o.draw(e,t,s,r))}drawIndexed(e,t,s,r,o){this.#t(!0,n=>n.drawIndexed(e,t,s,r,o))}drawIndirect(e,t){let s=Mn(e)?e:e.buffer,r=Vi(e,t,16,"drawIndirect");this.#t(!1,o=>o.drawIndirect(s,r))}drawIndexedIndirect(e,t){let s=Mn(e)?e:e.buffer,r=Vi(e,t,20,"drawIndexedIndirect");this.#t(!0,o=>o.drawIndexedIndirect(s,r))}},kU=class extends Rv{resourceType="render-bundle-encoder";finish(e){return this[B].rawPass.finish(e)}},E6=class extends Rv{resourceType="render-pass";setViewport(e,t,s,r,o,n){this[B].rawPass.setViewport(e,t,s,r,o,n)}setScissorRect(e,t,s,r){this[B].rawPass.setScissorRect(e,t,s,r)}setBlendConstant(e){this[B].rawPass.setBlendConstant(e)}setStencilReference(e){let{state:t}=this[B];t.stencilReference=e,t.version++}beginOcclusionQuery(e){this[B].rawPass.beginOcclusionQuery(e)}endOcclusionQuery(){this[B].rawPass.endOcclusionQuery()}executeBundles(e){let t=this[B];t.rawPass.executeBundles(e),t.appliedVersion=void 0}end(){this[B].rawPass.end()}};function zv(e,t){return new $6(e,e.device.createCommandEncoder(t),!1)}function k6(e,t){return new $6(e,t,!0)}var $6=class{[B];resourceType="command-encoder";constructor(e,t,s){this[B]={rawEncoder:t,root:e,adopted:s,beforeFinish:new Map,afterSubmit:new Map}}beginRenderPass(e){return MU(this,e)}beginComputePass(e){return wU(this,e)}#e(){let{rawEncoder:e,beforeFinish:t}=this[B];for(let s of t.values())s(e);t.clear()}submit(){let{rawEncoder:e,root:t,afterSubmit:s}=this[B];this.#e(),t.device.queue.submit([e.finish()]);for(let r of s.values())r();s.clear()}finish(e){let{rawEncoder:t,root:s,afterSubmit:r}=this[B];return this.#e(),r.size>0&&Vt.warnOnce("suspicious",s,"finishWithPendingWork","Shader console.log output and performance callbacks do not fire for command buffers produced by encoder.finish(). Use encoder.submit() instead."),t.finish(e)}},U6=["f16","clip_distances","dual_source_blending","subgroups","primitive_index"],C6={f16:"shader-f16",clip_distances:"clip-distances",dual_source_blending:"dual-source-blending",subgroups:"subgroups",primitive_index:"primitive-index"};function Gp(e,t){return e.type!==t.type?!1:pr(e)&&pr(t)?e.access===t.access&&e.addressSpace===t.addressSpace&&e.implicit===t.implicit&&Gp(e.inner,t.inner):Us(e)&&Us(t)?e.elementCount===t.elementCount&&Gp(e.elementType,t.elementType):Qt(e)&&Qt(t)?e===t:!0}var $U=class{cache=new Map;get(e,t){let s=If(e);if(!s)return;if(!t&&s.ast.params.length>0)throw new Error(`Cannot resolve '${xe(e)}' directly, because it expects arguments. Either call it from another function, or wrap it in a shell`);let r=(t??[]).map((i,d)=>{if(i.value instanceof wn){if(i.dataType===Ut)throw new Qe("d.ref() created with primitive types must be stored in a variable before use");return i.dataType}if(i.dataType===Ut)throw new Error(`Passed illegal value ${i.value} as the #${d} argument to ${xe(e)??""}(...) +Shellless functions can only accept arguments representing WGSL resources: constructible WGSL types, d.refs, samplers or texture views. +Remember, that arguments such as samplers, texture views, accessors, slots etc. should be dereferenced via '.$' first.`);let c=no(i.dataType);return pr(c)&&c.implicit&&(c=c.inner),c}),o=this.cache.get(e);if(o){let i=o.find(d=>d.argTypes.length===r.length&&d.argTypes.every((c,_)=>Gp(c,r[_])));if(i)return i}else o=[],this.cache.set(e,o);let n=D4(r,e);return o.push(n),n}},UU=class{[B];constructor(e){this[B]={strategy:e,takenGlobalIdentifiers:new Set([...mv,...rP]),shelllessRepo:new $U,memoizedResolves:new WeakMap,memoizedLazy:new WeakMap}}};function fd(e){let{names:t="strict"}=e??{};return new UU(t)}var CU=new Set(["bindGroupLayoutMap","vertexLayoutMap","indexBuffer","stencilReference","timestampWrites","performanceCallback"]);function R6(e){return Object.keys(e).filter(t=>!CU.has(t)&&e[t]!==void 0)}var z6=class{#e;#t;measureResolve(e){let t=performance.mark("typegpu:resolution:start"),s=e();return this.#e=performance.measure("typegpu:resolution",{start:t.name}),this.#t=s.code.length,s}measureCompile(e){(async()=>{let t=performance.mark("typegpu:compile-start");await e.queue.onSubmittedWorkDone();let s=performance.measure("typegpu:compiled",{start:t.name});Df?.record("resolution",{resolveDuration:this.#e?.duration,compileDuration:s.duration,wgslSize:this.#t})})()}},G6=class{measureResolve(e){return e()}measureCompile(){}};function RU(e,t,s){return new zU(new GU(e,t,s),{})}var zU=class Y6{[B];[me];resourceType="compute-pipeline";[Xs];constructor(t,s){this[me]={type:"compute-pipeline",device:t.root.device,raw:void 0,label:void 0},this[B]={core:t,priors:s,root:t.root,materialize:()=>{let r=this[me];if(!r.raw){let o=t.unwrap();r.raw=o.pipeline,r.usedBindGroupLayouts=o.usedBindGroupLayouts,r.bindGroups=l6(o.usedBindGroupLayouts,o.catchall,s.bindGroupLayoutMap),r.timestampWrites=s.timestampWrites,r.performanceCallback=s.performanceCallback,r.nonTransferablePriors=R6(s)}return r.raw}},this[Xs]=t}[kt](t){return t.resolve(this[B].core)}toString(){return`computePipeline:${xe(this)??""}`}#e(t){let{core:s,priors:r}=this[B];return new Y6(s,{...r,...t})}with(t,s){let r=this[B];if(S6(t))return this.#e({pass:t,encoder:void 0});if(Cv(t))return this.#e({pass:void 0,encoder:t});if(xU(t))return this.#e({pass:TU(r.root,t),encoder:void 0});if(A6(t))return this.#e({pass:void 0,encoder:k6(r.root,t)});if(ca(t)||Zu(t)){let[o,n]=ca(t)?[t.layout,t]:[t,s];return this.#e({bindGroupLayoutMap:new Map([...r.priors.bindGroupLayoutMap??[],[o,n]])})}throw new Error("Unsupported value passed into .with()")}withPerformanceCallback(t){let s=this[B];if(s.priors.timestampWrites)return this.#e({performanceCallback:t});let r=s.core.performanceCallbackQuerySet;return r?this.#e(m6(s.priors,t,r)):(Vt.warn("webgpu-feature-missing","Performance callback cannot be used because the timestamp-query feature is not enabled on the root."),this)}withTimestampWrites(t){let s=this[B];return this.#e(p6(s.priors,t,s.root))}dispatchWorkgroups(t,s,r){this.#t(o=>o.dispatchWorkgroups(t,s,r))}dispatchWorkgroupsIndirect(t,s){let r=Mn(t)?t:t.buffer,o=Vi(t,s,12,"dispatchWorkgroupsIndirect");this.#t(n=>n.dispatchWorkgroupsIndirect(r,o))}initAsync(){return this[B].core.initAsync()}initSync(){this[B].core.initSync()}#t(t){let{core:s,priors:r,root:o}=this[B];if(r.pass){zp(o,r.pass[B],this,t);return}let n=r.encoder??zv(o),i=n.beginComputePass({label:xe(s)??"",timestampWrites:r.timestampWrites});zp(o,i[B],this,t,!0),i.end(),b6(n,s,s.unwrap().logResources,r)}$name(t){return ot(this,t),this}},GU=class L6{[B]=!0;root;#e;#t;#s;#r;#o;#n;constructor(t,s,r){this.root=t,this.#r=s,this.#o=r,this.#e=Df?.enabled?new z6:new G6}static precompiled(t,s){let r=new L6(t,[],void 0);return r.#s=s,r}[kt](t){let s=this.#o;return s?t.withSlots(this.#r,()=>(t.resolve(s.compute),ve("",_s,"runtime"))):ve("",_s,"runtime")}toString(){return"computePipelineCore"}get performanceCallbackQuerySet(){if(this.root.enabledFeatures.has("timestamp-query"))return this.#n??=(globalThis.__TYPEGPU_AUTONAME__??(t=>t))(this.root.createQuerySet("timestamp",2),"performanceCallbackQuerySet")}initAsync(){if(this.#s!==void 0)return Promise.resolve();if(this.#t===void 0){let t=this.root.device,{resolutionResult:s,module:r}=this.resolveAndCreateShaderModule(),{usedBindGroupLayouts:o,catchall:n,logResources:i}=s;this.#t=t.createComputePipelineAsync({label:xe(this)??"",layout:t.createPipelineLayout({label:`${xe(this)??""} - Pipeline Layout`,bindGroupLayouts:o.map(d=>this.root.unwrap(d))}),compute:{module:r}}).then(d=>{this.#s={pipeline:d,usedBindGroupLayouts:o,catchall:n,logResources:i},this.#e.measureCompile(t)}).finally(()=>{this.#t=void 0})}return this.#t}initSync(){if(this.#s!==void 0)return;if(this.#t!==void 0)throw new Error("'pipeline.initAsync()' was called and is not yet resolved.");let t=this.root.device,{resolutionResult:s,module:r}=this.resolveAndCreateShaderModule(),{usedBindGroupLayouts:o,catchall:n,logResources:i}=s;this.#s={pipeline:(globalThis.__TYPEGPU_AUTONAME__??(d=>d))(t.createComputePipeline({label:xe(this)??"",layout:t.createPipelineLayout({label:`${xe(this)??""} - Pipeline Layout`,bindGroupLayouts:o.map(d=>this.root.unwrap(d))}),compute:{module:r}}),"pipeline"),usedBindGroupLayouts:o,catchall:n,logResources:i},this.#e.measureCompile(t)}unwrap(){return this.initSync(),this.#s}resolveAndCreateShaderModule(){let t=this.root.device,s=U6.filter(c=>this.root.enabledFeatures.has(C6[c])),r=fd({names:this.root.nameRegistrySetting}),o=this.#e.measureResolve(()=>Ju(this,{namespace:r,minify:this.root.minify,enableExtensions:s,shaderGenerator:this.root.shaderGeneratorClass?new this.root.shaderGeneratorClass:void 0,root:this.root})),{code:n,usedBindGroupLayouts:i,catchall:d}=o;return d!==void 0&&i[d[0]]?.$name(`${xe(this)??""} - Automatic Bind Group & Layout`),B5(i,t.limits),{resolutionResult:o,module:t.createShaderModule({label:`${xe(this)??""} - Shader`,code:n})}}},YU={$vertexIndex:_r.vertexIndex,$instanceIndex:_r.instanceIndex},LU={$clipDistances:_r.clipDistances,$position:_r.position},IU={$position:_r.position,$frontFacing:_r.frontFacing,$primitiveIndex:_r.primitiveIndex,$sampleIndex:_r.sampleIndex,$sampleMask:_r.sampleMask,$subgroupInvocationId:_r.subgroupInvocationId,$subgroupSize:_r.subgroupSize},DU={$fragDepth:_r.fragDepth,$sampleMask:_r.sampleMask},Gv=class{#e;autoIn;autoOut;constructor(e,t,s){xe(e)||ot(e,"fragmentFn"),this.#e=ri(e,"fragment"),this.autoIn=new Wo({...IU,...t},void 0,s),ot(this.autoIn,"FragmentIn"),this.autoOut=new Wo(DU,Oe),ot(this.autoOut,"FragmentOut")}toString(){return"autoFragmentFn"}[kt](e){return e.withSlots([[pd,"fragment"]],()=>this.#e.resolve(e,[this.autoIn],this.autoOut))}};Gv.prototype[B]=!0;Gv.prototype.resourceType="auto-fragment-fn";var Yv=class{#e;autoIn;autoOut;constructor(e,t,s){xe(e)||ot(e,"vertexFn"),this.#e=ri(e,"vertex"),this.autoIn=new Wo({...YU,...t},void 0,s),ot(this.autoIn,"VertexIn"),this.autoOut=new Wo(LU,void 0),ot(this.autoOut,"VertexOut")}toString(){return"autoVertexFn"}[kt](e){return e.withSlots([[pd,"vertex"]],()=>this.#e.resolve(e,[this.autoIn],this.autoOut))}};Yv.prototype[B]=!0;Yv.prototype.resourceType="auto-vertex-fn";function I6(e,t="vertex"){return new FU(e,t)}function D6(e){return e?.resourceType==="vertex-layout"}var Yp=Symbol("defaultAttribEntry");function ul(e,t,s,r,o){if(zn(t)||ha(t)){let n=na(t);return n!==void 0&&(r[o??Yp]=n),ul(e,t.inner,qs(s,wo(t)),r)}if(Qt(t)){let n=s,i=t.propTypes;return Object.fromEntries(Object.entries(i).map(([d,c])=>{n=qs(n,rs(c));let _=[d,ul(e,c,n,r,d)];return n+=_t(c),_}))}if(un(t)){let n=s,i=t.propTypes;return Object.fromEntries(Object.entries(i).map(([d,c])=>{n=qs(n,wo(c));let _=[d,ul(e,c,n,r,d)];return n+=_t(c),_}))}if("type"in t&&typeof t.type=="string"){if(y2.includes(t.type))return{_layout:e,format:t.type,offset:s};let n=eM[t.type];if(n)return{_layout:e,format:n,offset:s}}throw new Error(`Unsupported data used in vertex layout: ${String(t)}`)}var FU=class{[B]=!0;[me];resourceType="vertex-layout";stride;attrib;schemaForCount;#e={};constructor(e,t){this.schemaForCount=e;let s=e(0);this[me]={type:"vertex-layout",schema:s,stepMode:t,label:void 0},this.stride=qs(_t(s.elementType),rs(s)),this.attrib=ul(this,s.elementType,0,this.#e)}get stepMode(){return this[me].stepMode}get vertexLayout(){if(this.#e[Yp]!==void 0){if(typeof this.attrib.format!="string"||typeof this.attrib.offset!="number")throw new Error("Single attribute vertex layouts must have a format and offset.");return{arrayStride:this.stride,stepMode:this.stepMode,attributes:[{format:this.attrib.format,offset:this.attrib.offset,shaderLocation:this.#e[Yp]}]}}if(!Object.keys(this.attrib).every(e=>this.#e[e]!==void 0))throw new Error("All attributes must have custom locations in order to unwrap a vertex layout.");return{arrayStride:this.stride,stepMode:this.stepMode,attributes:Object.entries(this.attrib).map(([e,t])=>({format:t.format,offset:t.offset,shaderLocation:this.#e[e]}))}}$name(e){return ot(this,e),this}};function BU(e){return!!e?.view}function WU(e,t){if(Cu(e)||nn(e))return[];if(Qt(e)){let s=[];for(let r of Object.keys(e.propTypes)){let o=e.propTypes[r];if(nn(o))continue;let n=t[r];if(!n)throw new Error(`A color attachment by the name of '${r}' was not provided to the shader.`);s.push(n)}return s}if(!BU(t))throw new Error("Expected a single color attachment, not a record.");return[t]}function OU(e,t){let s;if(Cu(e)||nn(e))return[null];if(Qt(e)){let o=[];for(let n of Object.keys(e.propTypes)){let i=e.propTypes[n];if(nn(i))continue;let d=t[n];o.push({...d,format:d?.format??(s??=navigator.gpu.getPreferredCanvasFormat())})}return o}let r=t;return[{...r,format:r?.format??(s??=navigator.gpu.getPreferredCanvasFormat())}]}function VU(e){return new NU(new qU(e),{})}var NU=class F6{[B];[me];resourceType="render-pipeline";[Xs];constructor(t,s){this[me]={type:"render-pipeline",device:t.options.root.device,raw:void 0,label:void 0},this[B]={core:t,priors:s,root:t.options.root,materialize:()=>{let r=this[me];if(!r.raw){let o=t.unwrap();r.raw=o.pipeline,r.usedBindGroupLayouts=o.usedBindGroupLayouts,r.usedVertexLayouts=o.usedVertexLayouts,r.fragmentOut=o.fragmentOut,r.bindGroups=l6(o.usedBindGroupLayouts,o.catchall,s.bindGroupLayoutMap),r.vertexBuffers=N4(o.usedVertexLayouts,s.vertexLayoutMap),r.indexBuffer=s.indexBuffer,r.stencilReference=s.stencilReference,r.timestampWrites=s.timestampWrites,r.performanceCallback=s.performanceCallback,r.nonTransferablePriors=R6(s)}return r.raw}},this[Xs]=t}[kt](t){return t.resolve(this[B].core)}toString(){return`renderPipeline:${xe(this)??""}`}$name(t){return ot(this,t),this}#e(t){let{core:s,priors:r}=this[B];return new F6(s,{...r,...t})}with(t,s){let r=this[B];if(T6(t))return this.#e({pass:t,encoder:void 0});if(Cv(t))return this.#e({pass:void 0,encoder:t});if(gU(t)||bU(t))return this.#e({pass:EU(r.root,t),encoder:void 0});if(A6(t))return this.#e({pass:void 0,encoder:k6(r.root,t)});if(ca(t)||Zu(t)){let[o,n]=ca(t)?[t.layout,t]:[t,s];return this.#e({bindGroupLayoutMap:new Map([...r.priors.bindGroupLayoutMap??[],[o,n]])})}if(D6(t))return this.#e({vertexLayoutMap:new Map([...r.priors.vertexLayoutMap??[],[t,s]])});throw new Error("Unsupported value passed into .with()")}withPerformanceCallback(t){let s=this[B];if(s.priors.timestampWrites)return this.#e({performanceCallback:t});let r=s.core.performanceCallbackQuerySet;return r?this.#e(m6(s.priors,t,r)):(Vt.warn("webgpu-feature-missing","Performance callback cannot be used because the timestamp-query feature is not enabled on the root."),this)}withTimestampWrites(t){let s=this[B];return this.#e(p6(s.priors,t,s.root))}withColorAttachment(t){return this.#e({colorAttachment:t})}withDepthStencilAttachment(t){return this.#e({depthStencilAttachment:t})}withStencilReference(t){return this.#e({stencilReference:t})}withIndexBuffer(t,s,r,o){if(Mn(t)){if(typeof s!="string")throw new Error("If a GPUBuffer is passed, indexFormat must be provided.");return this.#e({indexBuffer:{buffer:t,indexFormat:s,offsetBytes:r,sizeBytes:o}})}let n={u32:"uint32",u16:"uint16"},i=t.dataType.elementType;return this.#e({indexBuffer:{buffer:t,indexFormat:n[i.type],offsetBytes:s!==void 0?s*_t(i):void 0,sizeBytes:o!==void 0?o*_t(i):void 0}})}initAsync(){return this[B].core.initAsync()}initSync(){this[B].core.initSync()}get hasIndexBuffer(){return this[B].priors.indexBuffer!==void 0}#t(){let{core:t,priors:s}=this[B],{fragmentOut:r}=t.unwrap();return{label:xe(t)??"",colorAttachments:r?WU(r,s.colorAttachment??{}):[],depthStencilAttachment:s.depthStencilAttachment,timestampWrites:s.timestampWrites}}#s(t,s){let{core:r,priors:o,root:n}=this[B];if(o.pass){Rp(n,o.pass[B],this,t,s);return}t&&x6(o.indexBuffer);let i=o.encoder??zv(n),d=i.beginRenderPass(this.#t());Rp(n,d[B],this,t,s,!0),d.end(),b6(i,r,r.unwrap().logResources,o)}draw(t,s,r,o){this.#s(!1,n=>n.draw(t,s,r,o))}drawIndexed(t,s,r,o,n){this.#s(!0,i=>i.drawIndexed(t,s,r,o,n))}drawIndirect(t,s){let r=Mn(t)?t:t.buffer,o=Vi(t,s,16,"drawIndirect");this.#s(!1,n=>n.drawIndirect(r,o))}drawIndexedIndirect(t,s){let r=Mn(t)?t:t.buffer,o=Vi(t,s,20,"drawIndexedIndirect");this.#s(!0,n=>n.drawIndexedIndirect(r,o))}},qU=class B6{[B]=!0;options;#e;#t;#s;#r;#o;#n;constructor(t){this.options=t,this.#e=Df?.enabled?new z6:new G6}static precompiled(t,s){let r=new B6({root:t,slotBindings:[],descriptor:void 0});return r.#s=s,r}[kt](t){let{slotBindings:s}=this.options,{vertex:r,fragment:o,attribs:n={}}=this.options.descriptor??{};if(!r)return ve("",_s,"runtime");this.#r=void 0,this.#o=void 0;let i=XU(r?.shell?.out,o?.shell?.in,xe(r)??"",xe(o)??"");return t.withVaryingLocations(i,()=>t.withSlots(s,()=>{let d;if(typeof r=="function"){let c=new Yv(r,Object.fromEntries(Object.entries(n).map(([_,u])=>[_,$n[u.format]])),i);t.resolve(c),this.#r=c.autoIn.completeStruct.propTypes,d=c.autoOut.completeStruct}else d=t.resolve(r).dataType;if(o)if(typeof o=="function"){let c=Object.fromEntries(Object.entries(d.propTypes).filter(([,_])=>!nn(_)));this.#o=t.resolve(new Gv(o,c,i)).dataType}else t.resolve(o);return ve("",_s,"runtime")}))}toString(){return"renderPipelineCore"}get performanceCallbackQuerySet(){if(this.options.root.enabledFeatures.has("timestamp-query"))return this.#n??=(globalThis.__TYPEGPU_AUTONAME__??(t=>t))(this.options.root.createQuerySet("timestamp",2),"performanceCallbackQuerySet")}initAsync(){if(this.#s!==void 0)return Promise.resolve();if(this.#t===void 0){let t=this.options.root.device,{resolutionResult:s,descriptor:r,connectedAttribs:o,fragmentOut:n}=this.resolveAndCreateShaderModule(),{usedBindGroupLayouts:i,catchall:d,logResources:c}=s;this.#t=t.createRenderPipelineAsync(r).then(_=>{this.#s={pipeline:_,usedBindGroupLayouts:i,catchall:d,logResources:c,usedVertexLayouts:o.usedVertexLayouts,fragmentOut:n},this.#e.measureCompile(t)}).finally(()=>{this.#t=void 0})}return this.#t}initSync(){if(this.#s!==void 0)return;if(this.#t!==void 0)throw new Error("'pipeline.initAsync()' was called and is not yet resolved.");let t=this.options.root.device,{resolutionResult:s,descriptor:r,connectedAttribs:o,fragmentOut:n}=this.resolveAndCreateShaderModule(),{usedBindGroupLayouts:i,catchall:d,logResources:c}=s;this.#s={pipeline:(globalThis.__TYPEGPU_AUTONAME__??(_=>_))(t.createRenderPipeline(r),"pipeline"),usedBindGroupLayouts:i,catchall:d,logResources:c,usedVertexLayouts:o.usedVertexLayouts,fragmentOut:n},this.#e.measureCompile(t)}unwrap(){return this.initSync(),this.#s}resolveAndCreateShaderModule(){let{root:t,descriptor:s}=this.options;if(!s)throw new Error("Precompiled pipelines are never resolved again.");let r=t.device,o=U6.filter(P=>t.enabledFeatures.has(C6[P])),n=fd({names:t.nameRegistrySetting}),i=this.#e.measureResolve(()=>Ju(this,{namespace:n,minify:t.minify,enableExtensions:o,shaderGenerator:t.shaderGeneratorClass?new t.shaderGeneratorClass:void 0,root:t})),{code:d,usedBindGroupLayouts:c,catchall:_}=i;_!==void 0&&c[_[0]]?.$name(`${xe(this)??""} - Automatic Bind Group & Layout`),B5(c,r.limits);let u=r.createShaderModule({label:`${xe(this)??""} - Shader`,code:d}),{vertex:m,fragment:p,attribs:y={},targets:h}=s,g=m$(m?.shell?.in??this.#r??{},y),w=p?.shell?.returnType??this.#o,S=w?OU(w,h):[null],T={layout:r.createPipelineLayout({label:`${xe(this)??""} - Pipeline Layout`,bindGroupLayouts:c.map(P=>t.unwrap(P))}),vertex:{module:u,buffers:g.bufferDefinitions}},A=xe(this);return A!==void 0&&(T.label=A),s.fragment&&(T.fragment={module:u,targets:S}),s.primitive&&(Qa(s.primitive.stripIndexFormat)?T.primitive={...s.primitive,stripIndexFormat:{u32:"uint32",u16:"uint16"}[s.primitive.stripIndexFormat.type]}:T.primitive=s.primitive),s.depthStencil&&(T.depthStencil=s.depthStencil),s.multisample&&(T.multisample=s.multisample),{resolutionResult:i,descriptor:T,connectedAttribs:g,fragmentOut:w}}};function XU(e={},t={},s,r){let o={},n=new Set;function i(c,_){o[c]=_,n.add(_)}for(let[c,_]of Object.entries(e)){let u=na(_);u!==void 0&&i(c,u)}for(let[c,_]of Object.entries(t)){let u=na(_);u!==void 0&&(o[c]===void 0?i(c,u):o[c]!==u&&Vt.warn("locations-mismatched",`Mismatched location between vertexFn (${s}) output (${o[c]}) and fragmentFn (${r}) input (${u}) for the key "${c}", using the location set on vertex output.`))}let d=0;for(let c of Object.keys(e??{}))if(!(nn(e[c])||o[c]!==void 0)){for(;n.has(d);)d++;i(c,d)}return o}var dg=class{#e=new WeakMap;#t;constructor(e){this.#t=e}getOrMake(e,...t){if(this.#e.has(e))return this.#e.get(e);let s=this.#t(e,...t);return this.#e.set(e,s),s}};function Lv(e){let t={argTypes:Object.values(e.in??{}),returnType:_s,workgroupSize:e.workgroupSize,entryPoint:"compute"},s=g5(e.in??{});return Object.assign((o,...n)=>HU(t,e.workgroupSize,Hu(o,...n),s),t)}function HU(e,t,s,r){let o=ri(s,"compute",t);return{shell:e,$uses(n){return o.setExternals("userProvided",n),this},[B]:!0,[Xs]:o,$name(n){return ot(this,n),this},[kt](n){return n.withSlots([[pd,"compute"]],()=>o.resolve(n,[],e.returnType,r))},toString(){return`computeFn:${xe(o)??""}`}}}function jU(e){if(e.includes(0))throw new Error("Size and workgroupSize cannot contain zeroes.");return gt(e[0]??1,e[1]??1,e[2]??1)}var KU=[gt(1,1,1),gt(256,1,1),gt(16,16,1),gt(8,8,4)],ZU=class ml{resourceType="guarded-compute-pipeline";[me];#e;#t;constructor(t,s,r,o){this.#e=t,this.#t=gt(),this[me]={type:"guarded-compute-pipeline",device:t.device,pipeline:s,sizeUniform:r,workgroupSize:o,label:void 0}}with(t){if(!ca(t))throw new Error("Guarded pipelines only accept bind groups in .with(). To record into passes or encoders, use a regular compute pipeline.");return new ml(this.#e,this[me].pipeline.with(t),this[me].sizeUniform,this[me].workgroupSize)}withPerformanceCallback(t){return new ml(this.#e,this[me].pipeline.withPerformanceCallback(t),this[me].sizeUniform,this[me].workgroupSize)}withTimestampWrites(t){return new ml(this.#e,this[me].pipeline.withTimestampWrites(t),this[me].sizeUniform,this[me].workgroupSize)}dispatchThreads(...t){let s=jU(t),r=cc(It(s).div(It(this[me].workgroupSize)));n$(s,this.#t)||(this.#t=s,this[me].sizeUniform.write(s)),this[me].pipeline.dispatchWorkgroups(r.x,r.y,r.z)}initAsync(){return this[me].pipeline.initAsync()}initSync(){this[me].pipeline.initSync()}get pipeline(){return this[me].pipeline}get sizeUniform(){return this[me].sizeUniform}[B]=!0;get[Xs](){return this[me].pipeline}$name(t){return ot(this,t),this}},QU=class Lp{#e;#t;constructor(t,s){this.#e=t,this.#t=s}with(t,s){return new Lp(this.#e,[...this.#t,[dd(t)||cd(t)?t.slot:t,s]])}createComputePipeline(t){return RU(this.#e(),this.#t,t)}createRenderPipeline(t){return VU({root:this.#e(),slotBindings:this.#t,descriptor:t})}createGuardedComputePipeline(t){let s=this.#e();if(t.length>=4)throw new Error("Guarded compute callback only supports up to three dimensions.");let r=KU[t.length],o=qt([R,R,R])(t);xe(o)===void 0&&o.$name("wrappedCallback");let n=(globalThis.__TYPEGPU_AUTONAME__??(d=>d))(s.createUniform(gt),"sizeUniform"),i=(globalThis.__TYPEGPU_AUTONAME__??(d=>d))(Lv({workgroupSize:r,in:{id:_r.globalInvocationId}})`{ + if (any(in.id >= sizeUniform)) { + return; + } + wrappedCallback(in.id.x, in.id.y, in.id.z); +}`.$uses({sizeUniform:n,wrappedCallback:o}),"mainCompute");return new ZU(s,this.createComputePipeline({compute:i}),n,r)}pipe(t){let s=t(new W5([]));return new Lp(this.#e,[...this.#t,...s.bindings])}},W6=class extends QU{"~unstable";resourceType="root";[me];device;nameRegistrySetting;shaderGeneratorClass;#e=new dg(e=>e.unwrap(this));#t=new dg(e=>e.unwrap(this));#s;[B];constructor(e,t,s,r,o,n){super(()=>this,[]),this.device=e,this.nameRegistrySetting=t,this.#s=r,this.shaderGeneratorClass=n,this["~unstable"]=this,this[me]={type:"root",device:e,nameRegistrySetting:t,logOptions:o,minify:s,nonTransferablePriors:n?["shaderGeneratorClass"]:void 0,label:void 0},this[B]={logOptions:o}}configureContext(e){let t=e.canvas.getContext("webgpu");if(!t)throw new Error("Unable to initialize 'webgpu' context on the provided canvas.");return t.configure({...e,device:this.device,format:e.format??navigator.gpu.getPreferredCanvasFormat()}),t}get enabledFeatures(){return new Set(this.device.features)}get minify(){return this[me].minify}createBuffer(e,t){return F_(this,e,t)}createUniform(e,t){return new Va("uniform",F_(this,e,t).$usage("uniform"))}createMutable(e,t){return new Va("mutable",F_(this,e,t).$usage("storage"))}createReadonly(e,t){return new Va("readonly",F_(this,e,t).$usage("storage"))}createQuerySet(e,t,s){return oU(this,e,t,s)}createBindGroup(e,t){return new Q5(this,e,t)}destroy(){g4(this.device),this.#s&&this.device.destroy()}createTexture(e){return S4(e,this)}createSampler(e){return J$(e,this)}createComparisonSampler(e){return e4(e,this)}unwrap(e){if(Cv(e))return e[B].rawEncoder;if(T6(e)||S6(e))return e[B].state.rawAccessed=!0,e[B].rawPass;if(Zu(e))return this.#e.getOrMake(e);if(ca(e))return this.#t.getOrMake(e);if(Oc(e))return e.buffer.buffer;if(Oi(e)){if(!e[B].unwrap)throw new Error("Cannot unwrap laid-out texture view as it has no underlying resource.");return e[B].unwrap()}if(D6(e))return e.vertexLayout;let t=e[B];if(t?.materialize)return t.materialize();throw kv(e)||$v(e)?new Error("Cannot unwrap laid-out sampler."):new Error(`Unknown resource type: ${io(e)}`)}createCommandEncoder(e){return zv(this,e)}createRenderBundleEncoder(e){return PU(this,e)}};async function JU(e){let{adapter:t,device:s,unstable_names:r="strict",unstable_minify:o=!1,unstable_logOptions:n,unstable_shaderGeneratorClass:i}=e??{},{optionalFeatures:d,...c}=s??{};if(!navigator.gpu)throw new Error("WebGPU is not supported by this browser.");let _=await navigator.gpu.requestAdapter(t);if(!_)throw new Error("Could not find a compatible GPU");let u=[];for(let m of c.requiredFeatures??[]){if(!_.features.has(m))throw new Error(`Requested feature "${m}" is not supported by the adapter.`);u.push(m)}for(let m of d??[])_.features.has(m)?u.push(m):Vt.warn("webgpu-feature-missing",`Optional feature "${m}" is not supported by the adapter.`);return new W6(await _.requestDevice({...c,requiredFeatures:u}),r,o,!0,n??{},i)}function eC(e){let{device:t,unstable_names:s="strict",unstable_minify:r=!1,unstable_logOptions:o,unstable_shaderGeneratorClass:n}=e??{};return new W6(t,s,r,!1,o??{},n)}function O6(e,t){return new tC(e,t)}function V6(e,t){return new sC(e,t)}function Iv(e){let t=Na(),s=kl(t.unwrap(e.slot));for(;typeof s=="function"&&!vp(s)&&!Tl(s)&&!Fi(s);)s=s(),Gc(s)&&(s=s.value);let r=Gu(s);if(r)return r;if(Tl(s))return s[zs].call(t,[]);if(vp(s)||Fi(s)){let o=t.resolve(s);return t.withResetIndentLevel(()=>ve(`${o.value}()`,e.schema,"runtime",o.possibleSideEffects))}t.pushMode(new _d);try{return ve(aa(e.schema,s),e.schema,"constant",!1)}finally{t.popMode("normal")}}var N6=class Ip{[Xs];[me];slot;static#e=void(Ip.prototype[B]=!0,In(Ip.prototype,{asString(){return`${this.resourceType}:${xe(this)??""}`},resolve(t){return t.resolveSnippet(Iv(this))}}));constructor(t,s,r=void 0){this[me]={type:t,schema:Rc(s)?s:s(0),defaultValue:r,label:void 0},this.slot=Nc(r),this[Xs]=this.slot}get schema(){return this[me].schema}get defaultValue(){return this[me].defaultValue}$name(t){return ot(this,t),this.defaultValue&&typeof this.defaultValue=="function"&&!xe(this.defaultValue)&&ot(this.defaultValue,t),this}},tC=class Dp extends N6{static#e=void(Dp.prototype.resourceType="accessor",mn(Dp.prototype,{codegenMode:{get(){return Iv(this)}},normalMode:{get(){throw new Error("`tgpu.accessor` relies on GPU resources and cannot be accessed outside of a compute dispatch or draw call. Use `tgpu.slot` for non-WGSL values instead.")}}}));constructor(t,s=void 0){super("accessor",t,s)}},sC=class Fp extends N6{static#e=void(Fp.prototype.resourceType="mutable-accessor",mn(Fp.prototype,{codegenMode:{get(){return Iv(this)}},normalMode:{get(){throw new Error("`tgpu.mutableAccessor` relies on GPU resources and cannot be accessed outside of a compute dispatch or draw call. Use `tgpu.slot` for non-WGSL values instead.")}}}));constructor(t,s=void 0){super("mutable-accessor",t,s)}};function Bp(e,t){return Array.isArray(e)?nC(e,t):oC(e)}function rC(e,t){return Array.isArray(e)?Bp(e,t).code:Bp(e).code}function oC(e){let{template:t,externals:s,unstable_shaderGenerator:r,names:o="strict",unstable_minify:n,config:i,enableExtensions:d}=e;t||Vt.warn("deprecated","Calling resolve with an empty template is deprecated and will soon return an empty string. Consider using the 'tgpu.resolve(resolvableArray, options)' API instead.");let c={[B]:!0,[kt](u){return ve(Xu(u,s,t??""),_s,"runtime")},toString:()=>""},_=q6(Object.values(s));return Ju(c,{namespace:typeof o=="string"?fd({names:o}):o,minify:n??_?.minify??!1,enableExtensions:d,shaderGenerator:r,config:i,root:_})}function nC(e,t){let{unstable_shaderGenerator:s,names:r="strict",unstable_minify:o,config:n,enableExtensions:i}=t??{},d={[B]:!0,[kt](_){for(let u of e)if(Zu(u))for(let m of Object.values(u[B]))_.resolve(m);else _.resolve(u);return ve("",_s,"runtime")},toString:()=>""},c=q6(e);return Ju(d,{namespace:typeof r=="string"?fd({names:r}):r,minify:o??c?.minify??!1,enableExtensions:i,shaderGenerator:s,config:n,root:c})}function q6(e){let t=new Map;for(let s of e){let r=Wp(s);if(r){let o=t.get(r)??new Set;t.set(r,o),o.add(s)}}if(t.size>1){let s=[...t.values()].map((r,o)=>`root ${o+1}: ${[...r].map(n=>xe(n)??"").join(", ")}`).join("; ");throw new Error(`Found resources originating from different roots in a single resolve (${s}).`)}return[...t.keys()][0]}function Wp(e){if(yU(e)||hc(e)||Tc(e)||kv(e)||$v(e))return e[B].root;if(Oc(e))return Wp(e.buffer);if(Oi(e))return Wp(e?.[me]?.texture)}function X6(e){if(Na())throw new Error("Cannot create tgpu.lazy objects during shader resolution.");return new aC(e,void 0)}var aC=class pl{[B];[Mr];static#e=void(pl.prototype.resourceType="lazy",mn(In(pl.prototype,{asString:()=>"lazy",resolve(t){throw new Error("Unreachable, is never resolved directly")}}),{codegenMode:{get(){return this.#t()}},normalMode:{get(){return this.#t()}}}));constructor(t,s){this[B]={compute:t},this[Mr]=s}get[Hr](){let t=Na();if(!t)throw new Error("Cannot access tgpu.lazy's value outside of resolution.");return kl(t.unwrap(this))}get $(){return this[Hr]}#t(){let t=Na();if(!t)throw new Error("Cannot access tgpu.lazy's value outside of resolution.");return kl(t.unwrap(this))}with(t,s){return new pl(this[B].compute.bind(this),{inner:this[Mr]?.inner??this,pairs:[...this[Mr]?.pairs??[],[dd(t)||cd(t)?t.slot:t,s]]})}};function H6(e){let t={in:e.in,out:e.out,returnType:Bc(e.out),entryPoint:"fragment"};return Object.assign((r,...o)=>iC(t,Hu(r,...o)),t)}function iC(e,t){let s=ri(t,"fragment"),r=e.returnType;return typeof t=="string"&&T5(t,r,s),{shell:e,outputType:r,$uses(o){return s.setExternals("userProvided",o),this},[B]:!0,[Xs]:s,$name(o){return ot(this,o),Di(r)&&r.$name(`${o}_Output`),this},[kt](o){let n=g5(e.in??{},o.varyingLocations??{});return n.dataSchema&&Di(n.dataSchema)&&n.dataSchema.$name(`${xe(this)??""}_Input`),typeof t=="string"&&s.setExternals("out",{Out:r}),o.withSlots([[pd,"fragment"]],()=>s.resolve(o,[],e.returnType,n))},toString(){return`fragmentFn:${xe(s)??""}`}}}function e1(e){if(Object.keys(e.out).length===0)throw new Error("A vertexFn output cannot be empty since it must include the 'position' builtin.");let t={in:e.in,out:e.out,argTypes:e.in&&Object.keys(e.in).length!==0?[Bc(e.in)]:[],entryPoint:"vertex"};return Object.assign((r,...o)=>dC(t,Hu(r,...o)),t)}function dC(e,t){let s=ri(t,"vertex"),r=IE(e.in??{});return{shell:e,$uses(o){return s.setExternals("userProvided",o),this},[B]:!0,[Xs]:s,$name(o){return ot(this,o),this},[kt](o){let n=Bc(e.out,o.varyingLocations).$name(`${xe(this)??""}_Output`);return typeof t=="string"&&s.setExternals("out",{Out:n}),o.withSlots([[pd,"vertex"]],()=>s.resolve(o,[],n,r))},toString(){return`vertexFn:${xe(s)??""}`}}}function cC(e){return new _C(e)}var _C=class{[B]=!0;#e;#t;constructor(e){this.#t=e}$uses(e){if(this.#e!==void 0)throw new Error("Cannot call '$uses' multiple times. If you wish to override dependencies, use slots or accessors instead.");return this.#e=e,this}[kt](e){let t=Xu(e,this.#e??{},this.#t);return e.addDeclaration(t),ve("",_s,"constant")}toString(){return`declare: ${this.#t}`}};function lC(e,t,s="runtime",r=!0){return new uC(e,t,s,r)}var uC=class Op{dataType;origin;possibleSideEffects;#e;#t;static#s=void(Op.prototype[B]=!0,mn(In(Op.prototype,{asString(){return`raw(${String(this.dataType)}): "${this.#e}"`},resolve(t){return ve(Xu(t,this.#t??{},this.#e),this.dataType,this.origin,this.possibleSideEffects)}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.dataType,this.origin,this.possibleSideEffects)}},normalMode:{get(){throw new Error("Raw code snippets can only be used on the GPU.")}}}));constructor(t,s,r,o){this.dataType=s,this.origin=r,this.possibleSideEffects=o,this.#e=t}$uses(t){if(this.#t!==void 0)throw new Error("Cannot call '$uses' multiple times. If you wish to override dependencies, use slots or accessors instead.");return this.#t=t,this}};function mC(e){let t=Na()??new _6({minify:!1,namespace:fd()}),s=[1,1,1],r=[1,1,1],o=[s[0]*r[0],s[1]*r[1],s[2]*r[2]],n=new Map,i=Array.from({length:s[0]},()=>Array.from({length:s[1]},()=>Array.from({length:s[2]},()=>new Map))),d=Array.from({length:o[0]},()=>Array.from({length:o[1]},()=>Array.from({length:o[2]},()=>new Map))),c=Array.from({length:o[0]},(_,u)=>Array.from({length:o[1]},(m,p)=>Array.from({length:o[2]},(y,h)=>{let g=Math.floor(u/r[0]),w=Math.floor(p/r[1]),S=Math.floor(h/r[2]);return new dM(n,{private:d[u][p][h],workgroup:i[g][w][S]})})));t.pushMode(c[0][0][0]);try{return{value:w2(t,e),buffers:n,privateVars:d,workgroupVars:i}}finally{t.popMode("simulate")}}var pC=Za({accessor:()=>bC,comptime:()=>vC,computeFn:()=>yC,const:()=>fC,declare:()=>cC,derived:()=>TC,fn:()=>hC,fragmentFn:()=>xC,mutableAccessor:()=>wC,namespace:()=>fd,privateVar:()=>AC,rawCodeSnippet:()=>lC,simulate:()=>mC,slot:()=>SC,vertexFn:()=>gC,vertexLayout:()=>PC,workgroupVar:()=>MC}),fC=wv,vC=Ao,yC=Lv,hC=qt,xC=H6,gC=e1,bC=O6,wC=V6,TC=X6,SC=Nc,AC=Qu,MC=J5,PC=I6,EC=Za({accessor:()=>O6,bindGroupLayout:()=>K5,comptime:()=>Ao,computeFn:()=>Lv,const:()=>wv,fn:()=>qt,fragmentFn:()=>H6,init:()=>JU,initFromDevice:()=>eC,lazy:()=>X6,mutableAccessor:()=>V6,privateVar:()=>Qu,resolve:()=>rC,resolveWithContext:()=>Bp,slot:()=>Nc,unroll:()=>z5,vertexFn:()=>e1,vertexLayout:()=>I6,workgroupVar:()=>J5,"~unstable":()=>pC});pe({name:"workgroupBarrier",normalImpl:"workgroupBarrier is a no-op outside of CODEGEN mode.",signature:{argTypes:[],returnType:_s},codegenImpl:()=>"workgroupBarrier()",sideEffects:!0});pe({name:"storageBarrier",normalImpl:"storageBarrier is a no-op outside of CODEGEN mode.",signature:{argTypes:[],returnType:_s},codegenImpl:()=>"storageBarrier()",sideEffects:!0});pe({name:"textureBarrier",normalImpl:"textureBarrier is a no-op outside of CODEGEN mode.",signature:{argTypes:[],returnType:_s},codegenImpl:()=>"textureBarrier()",sideEffects:!0});var Dn="Atomic operations are not supported outside of CODEGEN mode.",d8=pe({name:"atomicLoad",normalImpl:Dn,signature:e=>{if(!Uu(e))throw new Error(`Invalid atomic type: ${io(e)}`);return{argTypes:[e],returnType:e.inner}},codegenImpl:(e,[t])=>ce`atomicLoad(&${t})`,sideEffects:!0}),kC=e=>{if(!Uu(e))throw new Error(`Invalid atomic type: ${io(e)}`);return{argTypes:[e,e.inner.type==="u32"?R:Z],returnType:_s}},oi=e=>{if(!Uu(e))throw new Error(`Invalid atomic type: ${io(e)}`);let t=e.inner.type==="u32"?R:Z;return{argTypes:[e,t],returnType:t}},c8=pe({name:"atomicStore",normalImpl:Dn,signature:kC,codegenImpl:(e,[t,s])=>ce`atomicStore(&${t}, ${s})`,sideEffects:!0}),_8=pe({name:"atomicAdd",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicAdd(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicSub",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicSub(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicMax",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicMax(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicMin",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicMin(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicAnd",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicAnd(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicOr",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicOr(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicXor",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicXor(&${t}, ${s})`,sideEffects:!0});var Fn="Derivative builtins are not allowed on the CPU",Ni=pe({name:"dpdx",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdx(${t})`,sideEffects:!1});pe({name:"dpdxCoarse",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdxCoarse(${t})`,sideEffects:!1});pe({name:"dpdxFine",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdxFine(${t})`,sideEffects:!1});var qi=pe({name:"dpdy",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdy(${t})`,sideEffects:!1});pe({name:"dpdyCoarse",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdyCoarse(${t})`,sideEffects:!1});pe({name:"dpdyFine",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdyFine(${t})`,sideEffects:!1});var Zt=pe({name:"fwidth",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`fwidth(${t})`,sideEffects:!1});pe({name:"fwidthCoarse",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`fwidthCoarse(${t})`,sideEffects:!1});pe({name:"fwidthFine",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`fwidthFine(${t})`,sideEffects:!1});function qc(e){return e.filter(t=>t!==void 0)}function $C(e,t,s,r,o){throw new Ys("Texture sampling relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSample",normalImpl:$C,codegenImpl:(e,t)=>e.gen.emitCall("textureSample",[],qc(t)),signature:(...e)=>({argTypes:e,returnType:e[0].type.startsWith("texture_depth")?a:Oe}),sideEffects:!1});function UC(e,t,s,r,o,n){throw new Ys("Texture sampling with bias relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSampleBias",normalImpl:UC,codegenImpl:(e,t)=>e.gen.emitCall("textureSampleBias",[],qc(t)),signature:(...e)=>({argTypes:e,returnType:Oe}),sideEffects:!1});function CC(e,t,s,r,o,n){throw new Ys("Texture sampling relies on GPU resources and cannot be executed outside of a draw call")}var zl=pe({name:"textureSampleLevel",normalImpl:CC,codegenImpl:(e,t)=>e.gen.emitCall("textureSampleLevel",[],qc(t)),signature:(...e)=>({argTypes:e,returnType:e[0].type.startsWith("texture_depth")?a:Oe}),sideEffects:!1});function RC(e,t,s){throw new Ys("`textureLoad` relies on GPU resources and cannot be executed outside of a draw call")}var Be=pe({name:"textureLoad",normalImpl:RC,codegenImpl:(e,t)=>e.gen.emitCall("textureLoad",[],qc(t)),signature:(...e)=>{let t=e[0];if(r5(t)){let r=t.type.startsWith("texture_depth"),o=t.sampleType;return{argTypes:e,returnType:r?a:o.type==="f32"?Oe:o.type==="u32"?Et:Wt}}if(MP(t))return{argTypes:e,returnType:Oe};let s=t.format;return{argTypes:e,returnType:Vc(s).vectorType}},sideEffects:!1});function zC(e,t,s,r){throw new Ys("`textureStore` relies on GPU resources and cannot be executed outside of a draw call")}var jr=pe({name:"textureStore",normalImpl:zC,codegenImpl:(e,t)=>ce`textureStore(${t})`,signature:(...e)=>({argTypes:e,returnType:_s}),sideEffects:!0});function GC(e,t){throw new Ys("`textureDimensions` relies on GPU resources and cannot be executed outside of a draw call")}var l8=pe({name:"textureDimensions",normalImpl:GC,codegenImpl:(e,t)=>e.gen.emitCall("textureDimensions",[],qc(t)),signature:(...e)=>{let t=e[0].dimension;return t==="1d"?{argTypes:e,returnType:R}:t==="3d"?{argTypes:e,returnType:gt}:{argTypes:e,returnType:Ct}},sideEffects:!1}),YC=(...e)=>{throw new Error("Texture gather relies on GPU resources and cannot be executed outside of a draw call")},LC={f32:Oe,i32:Wt,u32:Et};pe({name:"textureGather",normalImpl:YC,codegenImpl:(e,t)=>ce`textureGather(${t})`,signature:(...e)=>{if(e[0].type.startsWith("texture")){let[i,d,c,_,...u]=e;return{argTypes:i.type==="texture_depth_2d_array"||i.type==="texture_depth_cube_array"?[i,d,c,[R,Z],...u]:e,returnType:Oe}}let[t,s,r,o,...n]=e;return{argTypes:s.type==="texture_2d_array"||s.type==="texture_cube_array"?[[R,Z],s,r,o,[R,Z],...n]:[[R,Z],s,r,o,...n],returnType:LC[s.sampleType.type]}},sideEffects:!1});function IC(e,t,s,r,o,n){throw new Ys("Texture comparison sampling relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSampleCompare",normalImpl:IC,codegenImpl:(e,t)=>ce`textureSampleCompare(${t})`,signature:(...e)=>({argTypes:e,returnType:a}),sideEffects:!1});function DC(e,t,s,r,o,n){throw new Ys("Texture comparison sampling with level relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSampleCompareLevel",normalImpl:DC,codegenImpl:(e,t)=>ce`textureSampleCompareLevel(${t})`,signature:(...e)=>({argTypes:e,returnType:a}),sideEffects:!1});function FC(e,t,s){throw new Ys("Texture sampling with base clamp to edge is not supported outside of GPU mode.")}function BC(e,t,s,r,o,n,i){throw new Ys("Texture sampling with gradients relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSampleGrad",normalImpl:BC,codegenImpl:(e,t)=>ce`textureSampleGrad(${t})`,signature:(...e)=>({argTypes:e,returnType:Oe}),sideEffects:!1});pe({name:"textureSampleBaseClampToEdge",normalImpl:FC,codegenImpl:(e,t)=>ce`textureSampleBaseClampToEdge(${t})`,signature:(...e)=>({argTypes:e,returnType:Oe}),sideEffects:!1});var v=EC,O_="uniforms";function j6(e){return e.replace(/[^a-zA-Z0-9_]/g,"_")}var WC=new Set(["alias","break","case","const","const_assert","continue","continuing","default","diagnostic","discard","else","enable","false","fn","for","if","let","loop","override","requires","return","struct","switch","true","var","while","NULL","Self","abstract","active","alignas","alignof","as","asm","asm_fragment","async","attribute","auto","await","become","cast","catch","class","co_await","co_return","co_yield","coherent","column_major","common","compile","compile_fragment","concept","const_cast","consteval","constexpr","constinit","crate","debugger","decltype","delete","demote","demote_to_helper","do","dynamic_cast","enum","explicit","export","extends","extern","external","fallthrough","filter","final","finally","friend","from","fxgroup","get","goto","groupshared","highp","impl","implements","import","inline","instanceof","interface","layout","lowp","macro","macro_rules","match","mediump","meta","mod","module","move","mut","mutable","namespace","new","nil","noexcept","noinline","nointerpolation","non_coherent","noncoherent","noperspective","null","nullptr","of","operator","package","packoffset","partition","pass","patch","pixelfragment","precise","precision","premerge","priv","protected","pub","public","readonly","ref","regardless","register","reinterpret_cast","require","resource","restrict","self","set","shared","sizeof","smooth","snorm","static","static_assert","static_cast","std","subroutine","super","target","template","this","thread_local","throw","trait","try","type","typedef","typeid","typename","typeof","union","unless","unorm","unsafe","unsized","use","using","varying","virtual","volatile","wgsl","where","with","writeonly","yield","sampler","uniform","storage"]);function OC(e){let t=j6(e);return WC.has(t)?`${t}_`:t}function Lo(e){return`n_${j6(e)}`}function Vp(e){return e==="vec2"?2:e==="vec3"?3:4}function K6(e){let t=e.type;return t==="vec2f"||t==="vec2i"||t==="vec2u"?"vec2":t==="vec3f"||t==="vec3i"||t==="vec3u"?"vec3":t==="vec4f"||t==="vec4i"||t==="vec4u"?"vec4":"scalar"}function VC(e){return e.type==="array"}function Z6(e){if(typeof e=="number"||typeof e=="boolean")return a;if(e&&typeof e=="object"){let t=e.kind;if(typeof t=="string"){if(t.startsWith("vec2"))return l;if(t.startsWith("vec3"))return f;if(t.startsWith("vec4"))return x}if(Array.isArray(e))return pt(a,e.length||1);let s=e;if("w"in s)return x;if("z"in s)return f;if("x"in s&&"y"in s)return l}return Array.isArray(e)?pt(a,e.length||1):a}function Np(e,t){let s=e;if(s&&typeof s=="object"&&"data"in s&&!("x"in s)&&(s=s.data),typeof s=="number")return new Array(t).fill(s);if(s instanceof Q6)return s.toArray().slice(0,t);if(Array.isArray(s))return cg(s,t);if(s&&typeof s=="object"){let r=s;if("x"in r){let o=[r.x,r.y??0];return t>=3&&o.push(r.z??0),t>=4&&o.push(r.w??0),o.slice(0,t)}if(typeof r.length=="number")return cg(Array.from(r),t)}throw new Error(`[uniformStore] cannot coerce value to a ${t}-component vector: ${String(e)}`)}function cg(e,t){let s=e.slice(0,t);for(;s.lengthe))(ut({time:a,deltaTime:a,frame:a,viewportSize:l,logicalViewportSize:l,aspect:a,pointer:l,pointerActive:a}),"SystemUniforms"),XC={time:0,deltaTime:0,frame:0,viewportSize:[1,1],logicalViewportSize:[1,1],aspect:1,pointer:[.5,.5],pointerActive:0};function J6(e,t={}){let s=t.systemSchema??qC,r={...XC,...t.systemInitial??{}},o=new Map,n=new Map,i={},d=s,c=!1,_=new Set,u=new Map,m=new Map,p={markScalar(T){_.add(T)},markArray(T,A){if(A==="all"){u.set(T,"all");return}let P=u.get(T);P!=="all"&&(P?P.add(A):u.set(T,new Set([A])))}},y;function h(T,A){let P={},U={};for(let D of A){let O=OC(D.name),L=D.transform?D.transform(D.initial):D.initial,G=D.cpu??typeof L=="string";if(D.transform&&!G&&!NC(L)&&!lg.has(D.transform)&&(lg.add(D.transform),console.warn(`[gpu] prop transform for "${D.name}" returned a non-packable value \u2014 the uniform field will be NaN. A prop transform must return a number, boolean, vector, or array (or a string for cpu-only props).`,L)),G){P[D.name]=new Oo({sink:p,gpuPath:[T,O],initial:L,transform:D.transform,cpu:!0});continue}let W=L&&typeof L=="object"&&"data"in L?L.data:L,K=D.schema??Z6(W);if(U[O]=K,VC(K)){let Q=new Sc({sink:p,gpuPath:[T,O],schema:K,initial:D.initial,transform:D.transform});P[D.name]=Q}else{let Q=new Oo({sink:p,gpuPath:[T,O],schema:K,initial:L,transform:D.transform});P[D.name]=Q}}return{handles:P,struct:(globalThis.__TYPEGPU_AUTONAME__??(D=>D))(ut(U),"struct")}}function g(){if(y)throw new Error("[uniformStore] cannot register fields after finalize()")}function w(){let T={};for(let[A,P]of n)T[A]=S(P,A);return T._sys=S(i,"_sys"),T}function S(T,A){let P={};for(let U of Object.values(T))U instanceof Sc?P[U.gpuPath[1]]=U._wholeArray():U.cpu||(P[U.gpuPath[1]]=U._patchValue());if(A)for(let U of m.get(A)??[])P[U]=0;return P}return{get schema(){return y?.schema},get layout(){return y?.layout},get buffer(){return y?.buffer},get bindGroup(){return y?.bindGroup},get systemHandles(){return i},defineNode(T,A){g();let P=Lo(T),{handles:U,struct:D}=h(P,A);return o.set(P,D),n.set(P,U),U},defineSystem(T){if(g(),T&&T.length){let A=h("_sys",T);i=A.handles,d=A.struct}else{let A=h("_sys",Object.entries(s.propTypes).map(([P,U])=>({name:P,schema:U,initial:r[P]??0})));i=A.handles,d=A.struct}return c=!0,i},finalize(){if(y)return y;c||this.defineSystem();let T=(W,K)=>{if(Object.keys(K.propTypes).length===0){let ee=["_pad0","_pad1","_pad2","_pad3"];return m.set(W,ee),ut(Object.fromEntries(ee.map(he=>[he,a])))}let Q=K,te=[];for(;xx(Q)%16!==0;){let ee=`_pad${te.length}`;for(;ee in K.propTypes;)ee=`_${ee}`;te.push(ee);let he={...K.propTypes};for(let Ee of te)he[Ee]=a;Q=(globalThis.__TYPEGPU_AUTONAME__??(Ee=>Ee))(ut(he),"padded")}return te.length&&m.set(W,te),Q},A={};for(let[W,K]of o)A[W]=T(W,K);A._sys=T("_sys",d);let P=(globalThis.__TYPEGPU_AUTONAME__??(W=>W))(ut(A),"combined"),U=xx(P),D=e.device?.limits?.maxUniformBufferBindingSize,O=typeof D=="number"&&D>0?D:65536;if(U>O)throw new mi("limit-exceeded",`[gpu] this composition needs ${U} bytes of uniform data across ${o.size} nodes, but the device caps a uniform binding at ${O} bytes. Reduce the number of layers.`);let L=(globalThis.__TYPEGPU_AUTONAME__??(W=>W))(e.createBuffer(P).$usage("uniform"),"buffer"),G=(globalThis.__TYPEGPU_AUTONAME__??(W=>W))(v.bindGroupLayout({[O_]:{uniform:P}}),"layout");return y={schema:P,layout:G,buffer:L,bindGroup:e.createBindGroup(G,{[O_]:L}),uniformEntryKey:O_},this.writeAll(),y},flush(){if(!y||_.size===0&&u.size===0)return;let T={},A=P=>T[P]??={};for(let P of _)A(P.gpuPath[0])[P.gpuPath[1]]=P._patchValue();for(let[P,U]of u){let D=A(P.gpuPath[0]);if(U==="all")D[P.gpuPath[1]]=P._wholeArray();else if(P.componentsPerElement===1){let O={};for(let L of U)O[L]=P._elementAt(L);D[P.gpuPath[1]]=O}else{let O=P.componentsPerElement,L={};for(let G of U){let W=Math.floor(G/O);L[W]=P._elementTuple(W)}D[P.gpuPath[1]]=L}}y.buffer.patch(T),_.clear(),u.clear()},writeAll(){y&&(y.buffer.write(w()),_.clear(),u.clear())},gpuAccessor(T,A="layout"){return`${A}.$.${O_}.${T.accessorPath}`},destroy(){y?.buffer.destroy?.(),y=void 0,o.clear(),n.clear(),_.clear(),u.clear(),m.clear()}}}function e7(e,t){if(e instanceof Sc){Array.isArray(t)&&(e.array=t);return}e.setFromRaw(t)}var Le=Math.PI/180;180/Math.PI;var Xr=Math.PI,it=Math.PI*2,ao=it,Gl=Math.PI/2,_a=Math.sqrt(3),HC=2.3999632297286535,Ar=v.fn([R,Z],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t<>R(__tsover_sub(Z(32),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"k"}],body:[0,[[10,[1,[1,"x","<<",[6,"d.u32",["k"]]],"|",[1,"x",">>",[6,"d.u32",[[1,[6,"d.i32",[[5,"32"]]],"-","k"]]]]]]]]},externals:{"d.u32":()=>R,"d.i32":()=>Z}})&&e.f)({})),Xi=v.fn([R,R,R],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=t,n=s,i=r;return i=i^n,i=__tsover_sub(i,Ar(n,Z(14))),o=o^i,o=__tsover_sub(o,Ar(i,Z(11))),n=n^o,n=__tsover_sub(n,Ar(o,Z(25))),i=i^n,i=__tsover_sub(i,Ar(n,Z(16))),o=o^i,o=__tsover_sub(o,Ar(i,Z(4))),n=n^o,n=__tsover_sub(n,Ar(o,Z(14))),i=i^n,i=__tsover_sub(i,Ar(n,Z(24))),i}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a0"},{type:"i",name:"b0"},{type:"i",name:"c0"}],body:[0,[[12,"a","a0"],[12,"b","b0"],[12,"c","c0"],[2,"c","=",[1,"c","^","b"]],[2,"c","=",[1,"c","-",[6,"mxRotl32",["b",[6,"d.i32",[[5,"14"]]]]]]],[2,"a","=",[1,"a","^","c"]],[2,"a","=",[1,"a","-",[6,"mxRotl32",["c",[6,"d.i32",[[5,"11"]]]]]]],[2,"b","=",[1,"b","^","a"]],[2,"b","=",[1,"b","-",[6,"mxRotl32",["a",[6,"d.i32",[[5,"25"]]]]]]],[2,"c","=",[1,"c","^","b"]],[2,"c","=",[1,"c","-",[6,"mxRotl32",["b",[6,"d.i32",[[5,"16"]]]]]]],[2,"a","=",[1,"a","^","c"]],[2,"a","=",[1,"a","-",[6,"mxRotl32",["c",[6,"d.i32",[[5,"4"]]]]]]],[2,"b","=",[1,"b","^","a"]],[2,"b","=",[1,"b","-",[6,"mxRotl32",["a",[6,"d.i32",[[5,"14"]]]]]]],[2,"c","=",[1,"c","^","b"]],[2,"c","=",[1,"c","-",[6,"mxRotl32",["b",[6,"d.i32",[[5,"24"]]]]]]],[10,"c"]]]},externals:{mxRotl32:()=>Ar,"d.i32":()=>Z}})&&e.f)({})),Hi=3735928559,Ld=v.fn([Z,Z],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=R(2),o=__tsover_add(__tsover_add(R(Hi),r<R,DEADBEEF:()=>Hi,mxBjfinal:()=>Xi}})&&e.f)({})),oo=v.fn([Z,Z,Z],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=R(3),n=__tsover_add(__tsover_add(R(Hi),o<R,DEADBEEF:()=>Hi,mxBjfinal:()=>Xi}})&&e.f)({})),V_=v.fn([Z,Z,Z,Z],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=R(4),i=__tsover_add(__tsover_add(R(Hi),n<R,DEADBEEF:()=>Hi,mxRotl32:()=>Ar,"d.i32":()=>Z,mxBjfinal:()=>Xi}})&&e.f)({})),ea=v.fn([R],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_div(a(t),a(4294967295))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"bits"}],body:[0,[[10,[1,[6,"d.f32",["bits"]],"/",[6,"d.f32",[[5,"4294967295"]]]]]]]},externals:{"d.f32":()=>a}})&&e.f)({})),Ia=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(__tsover_mul(__tsover_mul(t,t),t),__tsover_add(__tsover_mul(t,__tsover_sub(__tsover_mul(t,6),15)),10))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[1,[1,[1,"t","*","t"],"*","t"],"*",[1,[1,"t","*",[1,[1,"t","*",[5,"6"]],"-",[5,"15"]]],"+",[5,"10"]]]]]]},externals:{}})&&e.f)({})),Id=v.fn([R,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=t&R(7),n=C(r,s,oR,"std.select":()=>C}})&&e.f)({})),yn=v.fn([R,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=t&R(15),i=C(r,s,nR,"std.select":()=>C}})&&e.f)({})),ug=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(.6616,t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[1,[5,"0.6616"],"*","v"]]]]},externals:{}})&&e.f)({})),mg=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(.982,t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[1,[5,"0.982"],"*","v"]]]]},externals:{}})&&e.f)({})),pg=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_sub(1,n);return __tsover_add(__tsover_mul(__tsover_sub(1,i),__tsover_add(__tsover_mul(t,d),__tsover_mul(s,n))),__tsover_mul(i,__tsover_add(__tsover_mul(r,d),__tsover_mul(o,n))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v0"},{type:"i",name:"v1"},{type:"i",name:"v2"},{type:"i",name:"v3"},{type:"i",name:"s"},{type:"i",name:"t"}],body:[0,[[13,"s1",[1,[5,"1"],"-","s"]],[10,[1,[1,[1,[5,"1"],"-","t"],"*",[1,[1,"v0","*","s1"],"+",[1,"v1","*","s"]]],"+",[1,"t","*",[1,[1,"v2","*","s1"],"+",[1,"v3","*","s"]]]]]]]},externals:{}})&&e.f)({})),fg=v.fn([a,a,a,a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=__tsover_sub(1,_),y=__tsover_sub(1,u),h=__tsover_sub(1,m);return __tsover_add(__tsover_mul(h,__tsover_add(__tsover_mul(y,__tsover_add(__tsover_mul(t,p),__tsover_mul(s,_))),__tsover_mul(u,__tsover_add(__tsover_mul(r,p),__tsover_mul(o,_))))),__tsover_mul(m,__tsover_add(__tsover_mul(y,__tsover_add(__tsover_mul(n,p),__tsover_mul(i,_))),__tsover_mul(u,__tsover_add(__tsover_mul(d,p),__tsover_mul(c,_))))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v0"},{type:"i",name:"v1"},{type:"i",name:"v2"},{type:"i",name:"v3"},{type:"i",name:"v4"},{type:"i",name:"v5"},{type:"i",name:"v6"},{type:"i",name:"v7"},{type:"i",name:"s"},{type:"i",name:"t"},{type:"i",name:"r"}],body:[0,[[13,"s1",[1,[5,"1"],"-","s"]],[13,"t1",[1,[5,"1"],"-","t"]],[13,"r1",[1,[5,"1"],"-","r"]],[10,[1,[1,"r1","*",[1,[1,"t1","*",[1,[1,"v0","*","s1"],"+",[1,"v1","*","s"]]],"+",[1,"t","*",[1,[1,"v2","*","s1"],"+",[1,"v3","*","s"]]]]],"+",[1,"r","*",[1,[1,"t1","*",[1,[1,"v4","*","s1"],"+",[1,"v5","*","s"]]],"+",[1,"t","*",[1,[1,"v6","*","s1"],"+",[1,"v7","*","s"]]]]]]]]]},externals:{}})&&e.f)({})),vg=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(q(t.x)),r=Z(q(t.y)),o=__tsover_sub(t.x,a(s)),n=__tsover_sub(t.y,a(r)),i=Ia(o),d=Ia(n);return ug(pg(Id(Ld(s,r),o,n),Id(Ld(__tsover_add(s,Z(1)),r),__tsover_sub(o,1),n),Id(Ld(s,__tsover_add(r,Z(1))),o,__tsover_sub(n,1)),Id(Ld(__tsover_add(s,Z(1)),__tsover_add(r,Z(1))),__tsover_sub(o,1),__tsover_sub(n,1)),i,d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"X",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"Y",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"fx",[1,[7,"p","x"],"-",[6,"d.f32",["X"]]]],[13,"fy",[1,[7,"p","y"],"-",[6,"d.f32",["Y"]]]],[13,"u",[6,"mxFade",["fx"]]],[13,"v",[6,"mxFade",["fy"]]],[13,"result",[6,"mxBilerp",[[6,"mxGradientFloat2",[[6,"mxHashInt1",["X","Y"]],"fx","fy"]],[6,"mxGradientFloat2",[[6,"mxHashInt1",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],"Y"]],[1,"fx","-",[5,"1"]],"fy"]],[6,"mxGradientFloat2",[[6,"mxHashInt1",["X",[1,"Y","+",[6,"d.i32",[[5,"1"]]]]]],"fx",[1,"fy","-",[5,"1"]]]],[6,"mxGradientFloat2",[[6,"mxHashInt1",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],[1,"Y","+",[6,"d.i32",[[5,"1"]]]]]],[1,"fx","-",[5,"1"]],[1,"fy","-",[5,"1"]]]],"u","v"]]],[10,[6,"mxGradientScale2d",["result"]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.f32":()=>a,mxFade:()=>Ia,mxBilerp:()=>pg,mxGradientFloat2:()=>Id,mxHashInt1:()=>Ld,mxGradientScale2d:()=>ug}})&&e.f)({})),yg=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(q(t.x)),r=Z(q(t.y)),o=Z(q(t.z)),n=__tsover_sub(t.x,a(s)),i=__tsover_sub(t.y,a(r)),d=__tsover_sub(t.z,a(o)),c=Ia(n),_=Ia(i),u=Ia(d);return mg(fg(yn(oo(s,r,o),n,i,d),yn(oo(__tsover_add(s,Z(1)),r,o),__tsover_sub(n,1),i,d),yn(oo(s,__tsover_add(r,Z(1)),o),n,__tsover_sub(i,1),d),yn(oo(__tsover_add(s,Z(1)),__tsover_add(r,Z(1)),o),__tsover_sub(n,1),__tsover_sub(i,1),d),yn(oo(s,r,__tsover_add(o,Z(1))),n,i,__tsover_sub(d,1)),yn(oo(__tsover_add(s,Z(1)),r,__tsover_add(o,Z(1))),__tsover_sub(n,1),i,__tsover_sub(d,1)),yn(oo(s,__tsover_add(r,Z(1)),__tsover_add(o,Z(1))),n,__tsover_sub(i,1),__tsover_sub(d,1)),yn(oo(__tsover_add(s,Z(1)),__tsover_add(r,Z(1)),__tsover_add(o,Z(1))),__tsover_sub(n,1),__tsover_sub(i,1),__tsover_sub(d,1)),c,_,u))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"X",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"Y",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"Z",[6,"d.i32",[[6,"std.floor",[[7,"p","z"]]]]]],[13,"fx",[1,[7,"p","x"],"-",[6,"d.f32",["X"]]]],[13,"fy",[1,[7,"p","y"],"-",[6,"d.f32",["Y"]]]],[13,"fz",[1,[7,"p","z"],"-",[6,"d.f32",["Z"]]]],[13,"u",[6,"mxFade",["fx"]]],[13,"v",[6,"mxFade",["fy"]]],[13,"w",[6,"mxFade",["fz"]]],[13,"result",[6,"mxTrilerp",[[6,"mxGradientFloat3",[[6,"mxHashInt2",["X","Y","Z"]],"fx","fy","fz"]],[6,"mxGradientFloat3",[[6,"mxHashInt2",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],"Y","Z"]],[1,"fx","-",[5,"1"]],"fy","fz"]],[6,"mxGradientFloat3",[[6,"mxHashInt2",["X",[1,"Y","+",[6,"d.i32",[[5,"1"]]]],"Z"]],"fx",[1,"fy","-",[5,"1"]],"fz"]],[6,"mxGradientFloat3",[[6,"mxHashInt2",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],[1,"Y","+",[6,"d.i32",[[5,"1"]]]],"Z"]],[1,"fx","-",[5,"1"]],[1,"fy","-",[5,"1"]],"fz"]],[6,"mxGradientFloat3",[[6,"mxHashInt2",["X","Y",[1,"Z","+",[6,"d.i32",[[5,"1"]]]]]],"fx","fy",[1,"fz","-",[5,"1"]]]],[6,"mxGradientFloat3",[[6,"mxHashInt2",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],"Y",[1,"Z","+",[6,"d.i32",[[5,"1"]]]]]],[1,"fx","-",[5,"1"]],"fy",[1,"fz","-",[5,"1"]]]],[6,"mxGradientFloat3",[[6,"mxHashInt2",["X",[1,"Y","+",[6,"d.i32",[[5,"1"]]]],[1,"Z","+",[6,"d.i32",[[5,"1"]]]]]],"fx",[1,"fy","-",[5,"1"]],[1,"fz","-",[5,"1"]]]],[6,"mxGradientFloat3",[[6,"mxHashInt2",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],[1,"Y","+",[6,"d.i32",[[5,"1"]]]],[1,"Z","+",[6,"d.i32",[[5,"1"]]]]]],[1,"fx","-",[5,"1"]],[1,"fy","-",[5,"1"]],[1,"fz","-",[5,"1"]]]],"u","v","w"]]],[10,[6,"mxGradientScale3d",["result"]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.f32":()=>a,mxFade:()=>Ia,mxTrilerp:()=>fg,mxGradientFloat3:()=>yn,mxHashInt2:()=>oo,mxGradientScale3d:()=>mg}})&&e.f)({})),hg=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(q(t.x)),r=Z(q(t.y));return f(ea(oo(s,r,Z(0))),ea(oo(s,r,Z(1))),ea(oo(s,r,Z(2))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"ix",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"iy",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[10,[6,"d.vec3f",[[6,"mxBitsTo01",[[6,"mxHashInt2",["ix","iy",[6,"d.i32",[[5,"0"]]]]]]],[6,"mxBitsTo01",[[6,"mxHashInt2",["ix","iy",[6,"d.i32",[[5,"1"]]]]]]],[6,"mxBitsTo01",[[6,"mxHashInt2",["ix","iy",[6,"d.i32",[[5,"2"]]]]]]]]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.vec3f":()=>f,mxBitsTo01:()=>ea,mxHashInt2:()=>oo}})&&e.f)({})),xg=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(q(t.x)),r=Z(q(t.y)),o=Z(q(t.z));return f(ea(V_(s,r,o,Z(0))),ea(V_(s,r,o,Z(1))),ea(V_(s,r,o,Z(2))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"ix",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"iy",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"iz",[6,"d.i32",[[6,"std.floor",[[7,"p","z"]]]]]],[10,[6,"d.vec3f",[[6,"mxBitsTo01",[[6,"mxHashInt3",["ix","iy","iz",[6,"d.i32",[[5,"0"]]]]]]],[6,"mxBitsTo01",[[6,"mxHashInt3",["ix","iy","iz",[6,"d.i32",[[5,"1"]]]]]]],[6,"mxBitsTo01",[[6,"mxHashInt3",["ix","iy","iz",[6,"d.i32",[[5,"2"]]]]]]]]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.vec3f":()=>f,mxBitsTo01:()=>ea,mxHashInt3:()=>V_}})&&e.f)({})),gg=v.fn([l,Z,Z,Z,Z,a,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=hg(l(a(__tsover_add(s,o)),a(__tsover_add(r,n)))),_=l(c.x,c.y);_=Pn(vr(ht(_,.5),i),.5);let u=ht(Pn(l(a(s),a(r)),_),t);return d===Z(2)?__tsover_add(z(u.x),z(u.y)):d===Z(3)?b(z(u.x),z(u.y)):se(u,u)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"x"},{type:"i",name:"y"},{type:"i",name:"xoff"},{type:"i",name:"yoff"},{type:"i",name:"jitter"},{type:"i",name:"metric"}],body:[0,[[13,"tmp",[6,"mxCellNoiseVec3_2d",[[6,"d.vec2f",[[6,"d.f32",[[1,"x","+","xoff"]]],[6,"d.f32",[[1,"y","+","yoff"]]]]]]]],[12,"off",[6,"d.vec2f",[[7,"tmp","x"],[7,"tmp","y"]]]],[2,"off","=",[6,"std.add",[[6,"std.mul",[[6,"std.sub",["off",[5,"0.5"]]],"jitter"]],[5,"0.5"]]]],[13,"cellpos",[6,"std.add",[[6,"d.vec2f",[[6,"d.f32",["x"]],[6,"d.f32",["y"]]]],"off"]]],[13,"diff",[6,"std.sub",["cellpos","p"]]],[11,[1,"metric","===",[6,"d.i32",[[5,"2"]]]],[0,[[10,[1,[6,"std.abs",[[7,"diff","x"]]],"+",[6,"std.abs",[[7,"diff","y"]]]]]]]],[11,[1,"metric","===",[6,"d.i32",[[5,"3"]]]],[0,[[10,[6,"std.max",[[6,"std.abs",[[7,"diff","x"]]],[6,"std.abs",[[7,"diff","y"]]]]]]]]],[10,[6,"std.dot",["diff","diff"]]]]]},externals:{mxCellNoiseVec3_2d:()=>hg,"d.vec2f":()=>l,"d.f32":()=>a,"std.add":()=>Pn,"std.mul":()=>vr,"std.sub":()=>ht,"d.i32":()=>Z,"std.abs":()=>z,"std.max":()=>b,"std.dot":()=>se}})&&e.f)({})),bg=v.fn([f,Z,Z,Z,Z,Z,Z,a,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=xg(f(a(__tsover_add(s,n)),a(__tsover_add(r,i)),a(__tsover_add(o,d))));u=Pn(vr(ht(u,.5),c),.5);let m=ht(Pn(f(a(s),a(r),a(o)),u),t);return _===Z(2)?__tsover_add(__tsover_add(z(m.x),z(m.y)),z(m.z)):_===Z(3)?b(b(z(m.x),z(m.y)),z(m.z)):se(m,m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"x"},{type:"i",name:"y"},{type:"i",name:"z"},{type:"i",name:"xoff"},{type:"i",name:"yoff"},{type:"i",name:"zoff"},{type:"i",name:"jitter"},{type:"i",name:"metric"}],body:[0,[[12,"off",[6,"mxCellNoiseVec3_3d",[[6,"d.vec3f",[[6,"d.f32",[[1,"x","+","xoff"]]],[6,"d.f32",[[1,"y","+","yoff"]]],[6,"d.f32",[[1,"z","+","zoff"]]]]]]]],[2,"off","=",[6,"std.add",[[6,"std.mul",[[6,"std.sub",["off",[5,"0.5"]]],"jitter"]],[5,"0.5"]]]],[13,"cellpos",[6,"std.add",[[6,"d.vec3f",[[6,"d.f32",["x"]],[6,"d.f32",["y"]],[6,"d.f32",["z"]]]],"off"]]],[13,"diff",[6,"std.sub",["cellpos","p"]]],[11,[1,"metric","===",[6,"d.i32",[[5,"2"]]]],[0,[[10,[1,[1,[6,"std.abs",[[7,"diff","x"]]],"+",[6,"std.abs",[[7,"diff","y"]]]],"+",[6,"std.abs",[[7,"diff","z"]]]]]]]],[11,[1,"metric","===",[6,"d.i32",[[5,"3"]]]],[0,[[10,[6,"std.max",[[6,"std.max",[[6,"std.abs",[[7,"diff","x"]]],[6,"std.abs",[[7,"diff","y"]]]]],[6,"std.abs",[[7,"diff","z"]]]]]]]]],[10,[6,"std.dot",["diff","diff"]]]]]},externals:{mxCellNoiseVec3_3d:()=>xg,"d.vec3f":()=>f,"d.f32":()=>a,"std.add":()=>Pn,"std.mul":()=>vr,"std.sub":()=>ht,"d.i32":()=>Z,"std.abs":()=>z,"std.max":()=>b,"std.dot":()=>se}})&&e.f)({})),wg=v.fn([l,a,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Z(q(t.x)),n=Z(q(t.y)),i=l(__tsover_sub(t.x,a(o)),__tsover_sub(t.y,a(n))),d=a(1e6);for(let c=-1;c<=1;c++)for(let _=-1;_<=1;_++){let u=gg(i,c,_,o,n,s,r);d=oe(d,u)}return r===Z(0)&&(d=be(d)),d}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"jitter"},{type:"i",name:"metric"}],body:[0,[[13,"X",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"Y",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"localpos",[6,"d.vec2f",[[1,[7,"p","x"],"-",[6,"d.f32",["X"]]],[1,[7,"p","y"],"-",[6,"d.f32",["Y"]]]]]],[12,"sqdist",[6,"d.f32",[[5,"1000000"]]]],[14,[12,"x",[4,"-",[5,"1"]]],[1,"x","<=",[5,"1"]],[102,"++","x"],[0,[[14,[12,"y",[4,"-",[5,"1"]]],[1,"y","<=",[5,"1"]],[102,"++","y"],[0,[[13,"dist",[6,"mxWorleyDistance2d",["localpos","x","y","X","Y","jitter","metric"]]],[2,"sqdist","=",[6,"std.min",["sqdist","dist"]]]]]]]]],[11,[1,"metric","===",[6,"d.i32",[[5,"0"]]]],[0,[[2,"sqdist","=",[6,"std.sqrt",["sqdist"]]]]]],[10,"sqdist"]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.vec2f":()=>l,"d.f32":()=>a,mxWorleyDistance2d:()=>gg,"std.min":()=>oe,"std.sqrt":()=>be}})&&e.f)({})),Tg=v.fn([f,a,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Z(q(t.x)),n=Z(q(t.y)),i=Z(q(t.z)),d=f(__tsover_sub(t.x,a(o)),__tsover_sub(t.y,a(n)),__tsover_sub(t.z,a(i))),c=a(1e6);for(let _=-1;_<=1;_++)for(let u=-1;u<=1;u++)for(let m=-1;m<=1;m++){let p=bg(d,_,u,m,o,n,i,s,r);c=oe(c,p)}return r===Z(0)&&(c=be(c)),c}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"jitter"},{type:"i",name:"metric"}],body:[0,[[13,"X",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"Y",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"Z",[6,"d.i32",[[6,"std.floor",[[7,"p","z"]]]]]],[13,"localpos",[6,"d.vec3f",[[1,[7,"p","x"],"-",[6,"d.f32",["X"]]],[1,[7,"p","y"],"-",[6,"d.f32",["Y"]]],[1,[7,"p","z"],"-",[6,"d.f32",["Z"]]]]]],[12,"sqdist",[6,"d.f32",[[5,"1000000"]]]],[14,[12,"x",[4,"-",[5,"1"]]],[1,"x","<=",[5,"1"]],[102,"++","x"],[0,[[14,[12,"y",[4,"-",[5,"1"]]],[1,"y","<=",[5,"1"]],[102,"++","y"],[0,[[14,[12,"z",[4,"-",[5,"1"]]],[1,"z","<=",[5,"1"]],[102,"++","z"],[0,[[13,"dist",[6,"mxWorleyDistance3d",["localpos","x","y","z","X","Y","Z","jitter","metric"]]],[2,"sqdist","=",[6,"std.min",["sqdist","dist"]]]]]]]]]]]],[11,[1,"metric","===",[6,"d.i32",[[5,"0"]]]],[0,[[2,"sqdist","=",[6,"std.sqrt",["sqdist"]]]]]],[10,"sqdist"]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.vec3f":()=>f,"d.f32":()=>a,mxWorleyDistance3d:()=>bg,"std.min":()=>oe,"std.sqrt":()=>be}})&&e.f)({})),Ei=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return vg(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"mxPerlinNoiseFloat2",["p"]]]]]},externals:{mxPerlinNoiseFloat2:()=>vg}})&&e.f)({})),go=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return yg(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"mxPerlinNoiseFloat3",["p"]]]]]},externals:{mxPerlinNoiseFloat3:()=>yg}})&&e.f)({})),jC=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return wg(t,s,Z(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"jitter"}],body:[0,[[10,[6,"mxWorleyNoiseFloat2",["p","jitter",[6,"d.i32",[[5,"1"]]]]]]]]},externals:{mxWorleyNoiseFloat2:()=>wg,"d.i32":()=>Z}})&&e.f)({}));v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return Tg(t,s,Z(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"jitter"}],body:[0,[[10,[6,"mxWorleyNoiseFloat3",["p","jitter",[6,"d.i32",[[5,"1"]]]]]]]]},externals:{mxWorleyNoiseFloat3:()=>Tg,"d.i32":()=>Z}})&&e.f)({}));var Sg=v.fn([a],R)("(x: f32) -> u32 { return bitcast(x); }"),ji=v.fn([l],Ge)("(v: vec2f) -> vec2u { return bitcast(v); }"),Yl=v.fn([f],Oa)("(v: vec3f) -> vec3u { return bitcast(v); }"),Po=a(4294967295),Gs=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Sg(__tsover_mul(t,3141592653));return __tsover_div(a(__tsover_mul(__tsover_mul(s,s),R(3141592653))),Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint1",[[1,"p","*",[5,"3141592653"]]]]],[10,[1,[6,"d.f32",[[1,[1,"u","*","u"],"*",[6,"d.u32",[[5,"3141592653"]]]]]],"/","U32"]]]]},externals:{floatBitsToUint1:()=>Sg,"d.f32":()=>a,"d.u32":()=>R,U32:()=>Po}})&&e.f)({})),Ot=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ji(t.mul(l(141421356,2718281828)));return __tsover_div(a(__tsover_mul(s.x^s.y,R(3141592653))),Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint2",[[6,[7,"p","mul"],[[6,"d.vec2f",[[5,"141421356"],[5,"2718281828"]]]]]]]],[10,[1,[6,"d.f32",[[1,[1,[7,"u","x"],"^",[7,"u","y"]],"*",[6,"d.u32",[[5,"3141592653"]]]]]],"/","U32"]]]]},externals:{floatBitsToUint2:()=>ji,"d.vec2f":()=>l,"d.f32":()=>a,"d.u32":()=>R,U32:()=>Po}})&&e.f)({})),er=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ji(t.mul(l(141421356,2718281828))),r=s.x^s.y,o=vr(Ge(r,r),Ge(3141592653,1618033988));return l(a(o.x),a(o.y)).div(Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint2",[[6,[7,"p","mul"],[[6,"d.vec2f",[[5,"141421356"],[5,"2718281828"]]]]]]]],[13,"h",[1,[7,"u","x"],"^",[7,"u","y"]]],[13,"prod",[6,"std.mul",[[6,"d.vec2u",["h","h"]],[6,"d.vec2u",[[5,"3141592653"],[5,"1618033988"]]]]]],[10,[6,[7,[6,"d.vec2f",[[6,"d.f32",[[7,"prod","x"]]],[6,"d.f32",[[7,"prod","y"]]]]],"div"],["U32"]]]]]},externals:{floatBitsToUint2:()=>ji,"d.vec2f":()=>l,"std.mul":()=>vr,"d.vec2u":()=>Ge,"d.f32":()=>a,U32:()=>Po}})&&e.f)({})),u8=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ji(t.mul(l(141421356,2718281828))),r=s.x^s.y,o=vr(Oa(r,r,r),Oa(1732050807,2645751311,3316624790));return f(a(o.x),a(o.y),a(o.z)).div(Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint2",[[6,[7,"p","mul"],[[6,"d.vec2f",[[5,"141421356"],[5,"2718281828"]]]]]]]],[13,"h",[1,[7,"u","x"],"^",[7,"u","y"]]],[13,"prod",[6,"std.mul",[[6,"d.vec3u",["h","h","h"]],[6,"d.vec3u",[[5,"1732050807"],[5,"2645751311"],[5,"3316624790"]]]]]],[10,[6,[7,[6,"d.vec3f",[[6,"d.f32",[[7,"prod","x"]]],[6,"d.f32",[[7,"prod","y"]]],[6,"d.f32",[[7,"prod","z"]]]]],"div"],["U32"]]]]]},externals:{floatBitsToUint2:()=>ji,"d.vec2f":()=>l,"std.mul":()=>vr,"d.vec3u":()=>Oa,"d.vec3f":()=>f,"d.f32":()=>a,U32:()=>Po}})&&e.f)({})),m8=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Yl(t.mul(f(141421356,2718281828,1618033988)));return __tsover_div(a(__tsover_mul(s.x^s.y^s.z,R(3141592653))),Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint3",[[6,[7,"p","mul"],[[6,"d.vec3f",[[5,"141421356"],[5,"2718281828"],[5,"1618033988"]]]]]]]],[10,[1,[6,"d.f32",[[1,[1,[1,[7,"u","x"],"^",[7,"u","y"]],"^",[7,"u","z"]],"*",[6,"d.u32",[[5,"3141592653"]]]]]],"/","U32"]]]]},externals:{floatBitsToUint3:()=>Yl,"d.vec3f":()=>f,"d.f32":()=>a,"d.u32":()=>R,U32:()=>Po}})&&e.f)({})),Ag=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Yl(t.mul(f(141421356,2718281828,1618033988))),r=s.x^s.y^s.z,o=vr(Oa(r,r,r),Oa(1732050807,2645751311,3316624790));return f(a(o.x),a(o.y),a(o.z)).div(Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint3",[[6,[7,"p","mul"],[[6,"d.vec3f",[[5,"141421356"],[5,"2718281828"],[5,"1618033988"]]]]]]]],[13,"h",[1,[1,[7,"u","x"],"^",[7,"u","y"]],"^",[7,"u","z"]]],[13,"prod",[6,"std.mul",[[6,"d.vec3u",["h","h","h"]],[6,"d.vec3u",[[5,"1732050807"],[5,"2645751311"],[5,"3316624790"]]]]]],[10,[6,[7,[6,"d.vec3f",[[6,"d.f32",[[7,"prod","x"]]],[6,"d.f32",[[7,"prod","y"]]],[6,"d.f32",[[7,"prod","z"]]]]],"div"],["U32"]]]]]},externals:{floatBitsToUint3:()=>Yl,"d.vec3f":()=>f,"std.mul":()=>vr,"d.vec3u":()=>Oa,"d.f32":()=>a,U32:()=>Po}})&&e.f)({})),Br=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=t.sub(s),o=r.mul(r).mul(ht(3,r.mul(2)));return X(X(Ot(s),Ot(s.add(l(1,0))),o.x),X(Ot(s.add(l(0,1))),Ot(s.add(l(1,1))),o.x),o.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f0",[6,[7,"p","sub"],["i"]]],[13,"f",[6,[7,[6,[7,"f0","mul"],["f0"]],"mul"],[[6,"std.sub",[[5,"3"],[6,[7,"f0","mul"],[[5,"2"]]]]]]]],[10,[6,"std.mix",[[6,"std.mix",[[6,"hash12",["i"]],[6,"hash12",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"0"]]]]]]],[7,"f","x"]]],[6,"std.mix",[[6,"hash12",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]]],[6,"hash12",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]],[7,"f","x"]]],[7,"f","y"]]]]]]},externals:{"std.floor":()=>q,"std.sub":()=>ht,"std.mix":()=>X,hash12:()=>Ot,"d.vec2f":()=>l}})&&e.f)({})),Dd=v.fn([l,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(r,o);return se(as(er(t.add(n)).sub(.5)),s.sub(n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"i"},{type:"i",name:"f"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[13,"o",[6,"d.vec2f",["ox","oy"]]],[10,[6,"std.dot",[[6,"std.normalize",[[6,[7,[6,"hash22",[[6,[7,"i","add"],["o"]]]],"sub"],[[5,"0.5"]]]]],[6,[7,"f","sub"],["o"]]]]]]]},externals:{"d.vec2f":()=>l,"std.dot":()=>se,"std.normalize":()=>as,hash22:()=>er}})&&e.f)({})),za=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=t.sub(s),o=r.mul(r).mul(r).mul(r.mul(r.mul(6).sub(15)).add(10)),n=Dd(s,r,0,0),i=Dd(s,r,1,0),d=Dd(s,r,0,1),c=Dd(s,r,1,1);return __tsover_add(__tsover_mul(X(X(n,i,o.x),X(d,c,o.x),o.y),.7),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,[7,"p","sub"],["i"]]],[13,"u",[6,[7,[6,[7,[6,[7,"f","mul"],["f"]],"mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[6,[7,[6,[7,"f","mul"],[[5,"6"]]],"sub"],[[5,"15"]]]]],"add"],[[5,"10"]]]]]],[13,"a",[6,"perlinGrad2",["i","f",[5,"0"],[5,"0"]]]],[13,"b",[6,"perlinGrad2",["i","f",[5,"1"],[5,"0"]]]],[13,"c",[6,"perlinGrad2",["i","f",[5,"0"],[5,"1"]]]],[13,"dd",[6,"perlinGrad2",["i","f",[5,"1"],[5,"1"]]]],[10,[1,[1,[6,"std.mix",[[6,"std.mix",["a","b",[7,"u","x"]]],[6,"std.mix",["c","dd",[7,"u","x"]]],[7,"u","y"]]],"*",[5,"0.7"]],"+",[5,"0.5"]]]]]},externals:{"std.floor":()=>q,perlinGrad2:()=>Dd,"std.mix":()=>X}})&&e.f)({})),la=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=ue(t),o=r.mul(r).mul(r).mul(r.mul(r.mul(6).sub(15)).add(10)),n=r.mul(r).mul(r.mul(r.sub(2)).add(1)).mul(30),i=er(s.add(l(0,0))).mul(2).sub(1),d=er(s.add(l(1,0))).mul(2).sub(1),c=er(s.add(l(0,1))).mul(2).sub(1),_=er(s.add(l(1,1))).mul(2).sub(1),u=se(i,r.sub(l(0,0))),m=se(d,r.sub(l(1,0))),p=se(c,r.sub(l(0,1))),y=se(_,r.sub(l(1,1))),h=__tsover_add(__tsover_sub(__tsover_sub(u,m),p),y),g=__tsover_add(__tsover_add(__tsover_add(u,__tsover_mul(o.x,__tsover_sub(m,u))),__tsover_mul(o.y,__tsover_sub(p,u))),__tsover_mul(__tsover_mul(o.x,o.y),h)),w=i.add(d.sub(i).mul(o.x)).add(c.sub(i).mul(o.y)).add(i.sub(d).sub(c).add(_).mul(__tsover_mul(o.x,o.y))).add(n.mul(l(o.y,o.x).mul(h).add(l(m,p)).sub(u)));return f(g,w.x,w.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,"std.fract",["p"]]],[13,"u",[6,[7,[6,[7,[6,[7,"f","mul"],["f"]],"mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[6,[7,[6,[7,"f","mul"],[[5,"6"]]],"sub"],[[5,"15"]]]]],"add"],[[5,"10"]]]]]],[13,"du",[6,[7,[6,[7,[6,[7,"f","mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[6,[7,"f","sub"],[[5,"2"]]]]],"add"],[[5,"1"]]]]],"mul"],[[5,"30"]]]],[13,"ga",[6,[7,[6,[7,[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"0"],[5,"0"]]]]]]],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[13,"gb",[6,[7,[6,[7,[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"0"]]]]]]],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[13,"gc",[6,[7,[6,[7,[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]]],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[13,"gd",[6,[7,[6,[7,[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[13,"va",[6,"std.dot",["ga",[6,[7,"f","sub"],[[6,"d.vec2f",[[5,"0"],[5,"0"]]]]]]]],[13,"vb",[6,"std.dot",["gb",[6,[7,"f","sub"],[[6,"d.vec2f",[[5,"1"],[5,"0"]]]]]]]],[13,"vc",[6,"std.dot",["gc",[6,[7,"f","sub"],[[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]]]],[13,"vd",[6,"std.dot",["gd",[6,[7,"f","sub"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]]],[13,"k",[1,[1,[1,"va","-","vb"],"-","vc"],"+","vd"]],[13,"value",[1,[1,[1,"va","+",[1,[7,"u","x"],"*",[1,"vb","-","va"]]],"+",[1,[7,"u","y"],"*",[1,"vc","-","va"]]],"+",[1,[1,[7,"u","x"],"*",[7,"u","y"]],"*","k"]]],[13,"deriv",[6,[7,[6,[7,[6,[7,[6,[7,"ga","add"],[[6,[7,[6,[7,"gb","sub"],["ga"]],"mul"],[[7,"u","x"]]]]],"add"],[[6,[7,[6,[7,"gc","sub"],["ga"]],"mul"],[[7,"u","y"]]]]],"add"],[[6,[7,[6,[7,[6,[7,[6,[7,"ga","sub"],["gb"]],"sub"],["gc"]],"add"],["gd"]],"mul"],[[1,[7,"u","x"],"*",[7,"u","y"]]]]]],"add"],[[6,[7,"du","mul"],[[6,[7,[6,[7,[6,[7,[6,"d.vec2f",[[7,"u","y"],[7,"u","x"]]],"mul"],["k"]],"add"],[[6,"d.vec2f",["vb","vc"]]]],"sub"],["va"]]]]]]],[10,[6,"d.vec3f",["value",[7,"deriv","x"],[7,"deriv","y"]]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,hash22:()=>er,"d.vec2f":()=>l,"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),Fd=v.fn([x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.mul(t.mul(34).add(1));return s.sub(q(s.div(289)).mul(289))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"}],body:[0,[[13,"xx",[6,[7,"x","mul"],[[6,[7,[6,[7,"x","mul"],[[5,"34"]]],"add"],[[5,"1"]]]]]],[10,[6,[7,"xx","sub"],[[6,[7,[6,"std.floor",[[6,[7,"xx","div"],[[5,"289"]]]]],"mul"],[[5,"289"]]]]]]]]},externals:{"std.floor":()=>q}})&&e.f)({})),p8=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=t.sub(s),o=r.mul(r).mul(ht(3,r.mul(2))),n=x(s.x,s.x,s.y,s.y).add(x(0,1,0,1)),i=Fd(x(n.x,n.y,n.x,n.y)),d=Fd(x(i.x,i.y,i.x,i.y).add(x(n.z,n.z,n.w,n.w))).add(x(s.z,s.z,s.z,s.z)),c=Fd(d),_=Fd(d.add(1)),u=X(ue(c.mul(.02439024)),ue(_.mul(.02439024)),x(o.z)),m=X(l(u.x,u.z),l(u.y,u.w),l(o.x));return X(m.x,m.y,o.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"a",[6,"std.floor",["p"]]],[13,"d0",[6,[7,"p","sub"],["a"]]],[13,"sd",[6,[7,[6,[7,"d0","mul"],["d0"]],"mul"],[[6,"std.sub",[[5,"3"],[6,[7,"d0","mul"],[[5,"2"]]]]]]]],[13,"b",[6,[7,[6,"d.vec4f",[[7,"a","x"],[7,"a","x"],[7,"a","y"],[7,"a","y"]]],"add"],[[6,"d.vec4f",[[5,"0"],[5,"1"],[5,"0"],[5,"1"]]]]]],[13,"k1",[6,"perm4",[[6,"d.vec4f",[[7,"b","x"],[7,"b","y"],[7,"b","x"],[7,"b","y"]]]]]],[13,"k2",[6,[7,[6,"perm4",[[6,[7,[6,"d.vec4f",[[7,"k1","x"],[7,"k1","y"],[7,"k1","x"],[7,"k1","y"]]],"add"],[[6,"d.vec4f",[[7,"b","z"],[7,"b","z"],[7,"b","w"],[7,"b","w"]]]]]]],"add"],[[6,"d.vec4f",[[7,"a","z"],[7,"a","z"],[7,"a","z"],[7,"a","z"]]]]]],[13,"k3",[6,"perm4",["k2"]]],[13,"k4",[6,"perm4",[[6,[7,"k2","add"],[[5,"1"]]]]]],[13,"o1",[6,"std.fract",[[6,[7,"k3","mul"],[[5,"0.02439024"]]]]]],[13,"o2",[6,"std.fract",[[6,[7,"k4","mul"],[[5,"0.02439024"]]]]]],[13,"o3",[6,"std.mix",["o1","o2",[6,"d.vec4f",[[7,"sd","z"]]]]]],[13,"o4",[6,"std.mix",[[6,"d.vec2f",[[7,"o3","x"],[7,"o3","z"]]],[6,"d.vec2f",[[7,"o3","y"],[7,"o3","w"]]],[6,"d.vec2f",[[7,"sd","x"]]]]]],[10,[6,"std.mix",[[7,"o4","x"],[7,"o4","y"],[7,"sd","y"]]]]]]},externals:{"std.floor":()=>q,"std.sub":()=>ht,"d.vec4f":()=>x,perm4:()=>Fd,"std.fract":()=>ue,"std.mix":()=>X,"d.vec2f":()=>l}})&&e.f)({})),hn=v.fn([f,f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=f(r,o,n);return se(s.sub(i),as(Ag(t.add(i)).sub(.5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"i"},{type:"i",name:"f"},{type:"i",name:"ox"},{type:"i",name:"oy"},{type:"i",name:"oz"}],body:[0,[[13,"o",[6,"d.vec3f",["ox","oy","oz"]]],[10,[6,"std.dot",[[6,[7,"f","sub"],["o"]],[6,"std.normalize",[[6,[7,[6,"hash33",[[6,[7,"i","add"],["o"]]]],"sub"],[[5,"0.5"]]]]]]]]]]},externals:{"d.vec3f":()=>f,"std.dot":()=>se,"std.normalize":()=>as,hash33:()=>Ag}})&&e.f)({})),Bd=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=t.sub(s),o=r.mul(r).mul(r).mul(r.mul(r.mul(6).sub(15)).add(10)),n=hn(s,r,0,0,0),i=hn(s,r,1,0,0),d=hn(s,r,0,1,0),c=hn(s,r,1,1,0),_=hn(s,r,0,0,1),u=hn(s,r,1,0,1),m=hn(s,r,0,1,1),p=hn(s,r,1,1,1),y=X(X(n,i,o.x),X(d,c,o.x),o.y),h=X(X(_,u,o.x),X(m,p,o.x),o.y);return __tsover_add(__tsover_mul(X(y,h,o.z),.7),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,[7,"p","sub"],["i"]]],[13,"u",[6,[7,[6,[7,[6,[7,"f","mul"],["f"]],"mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[6,[7,[6,[7,"f","mul"],[[5,"6"]]],"sub"],[[5,"15"]]]]],"add"],[[5,"10"]]]]]],[13,"a0",[6,"perlinGrad3",["i","f",[5,"0"],[5,"0"],[5,"0"]]]],[13,"b0",[6,"perlinGrad3",["i","f",[5,"1"],[5,"0"],[5,"0"]]]],[13,"c0",[6,"perlinGrad3",["i","f",[5,"0"],[5,"1"],[5,"0"]]]],[13,"d0",[6,"perlinGrad3",["i","f",[5,"1"],[5,"1"],[5,"0"]]]],[13,"a1",[6,"perlinGrad3",["i","f",[5,"0"],[5,"0"],[5,"1"]]]],[13,"b1",[6,"perlinGrad3",["i","f",[5,"1"],[5,"0"],[5,"1"]]]],[13,"c1",[6,"perlinGrad3",["i","f",[5,"0"],[5,"1"],[5,"1"]]]],[13,"d1",[6,"perlinGrad3",["i","f",[5,"1"],[5,"1"],[5,"1"]]]],[13,"z0",[6,"std.mix",[[6,"std.mix",["a0","b0",[7,"u","x"]]],[6,"std.mix",["c0","d0",[7,"u","x"]]],[7,"u","y"]]]],[13,"z1",[6,"std.mix",[[6,"std.mix",["a1","b1",[7,"u","x"]]],[6,"std.mix",["c1","d1",[7,"u","x"]]],[7,"u","y"]]]],[10,[1,[1,[6,"std.mix",["z0","z1",[7,"u","z"]]],"*",[5,"0.7"]],"+",[5,"0.5"]]]]]},externals:{"std.floor":()=>q,perlinGrad3:()=>hn,"std.mix":()=>X}})&&e.f)({})),Wd=v.fn([l,l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return Y(__tsover_add(__tsover_mul(r,se(t,er(s.add(l(n,i))))),o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"i"},{type:"i",name:"freq"},{type:"i",name:"phase"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[10,[6,"std.sin",[[1,[1,"freq","*",[6,"std.dot",["p",[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",["ox","oy"]]]]]]]]],"+","phase"]]]]]]},externals:{"std.sin":()=>Y,"std.dot":()=>se,hash22:()=>er,"d.vec2f":()=>l}})&&e.f)({})),f8=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=q(t),n=t.sub(o),i=n.mul(n).mul(ht(3,n.mul(2)));return X(X(Wd(t,o,s,r,0,0),Wd(t,o,s,r,1,0),i.x),X(Wd(t,o,s,r,0,1),Wd(t,o,s,r,1,1),i.x),i.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"freq"},{type:"i",name:"phase"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f0",[6,[7,"p","sub"],["i"]]],[13,"f",[6,[7,[6,[7,"f0","mul"],["f0"]],"mul"],[[6,"std.sub",[[5,"3"],[6,[7,"f0","mul"],[[5,"2"]]]]]]]],[10,[6,"std.mix",[[6,"std.mix",[[6,"gaborGrain",["p","i","freq","phase",[5,"0"],[5,"0"]]],[6,"gaborGrain",["p","i","freq","phase",[5,"1"],[5,"0"]]],[7,"f","x"]]],[6,"std.mix",[[6,"gaborGrain",["p","i","freq","phase",[5,"0"],[5,"1"]]],[6,"gaborGrain",["p","i","freq","phase",[5,"1"],[5,"1"]]],[7,"f","x"]]],[7,"f","y"]]]]]]},externals:{"std.floor":()=>q,"std.sub":()=>ht,"std.mix":()=>X,gaborGrain:()=>Wd}})&&e.f)({})),Ki=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=l(za(t.add(l(.1,0))),za(t.add(l(0,.1)))),r=l(za(t.sub(l(.1,0))),za(t.sub(l(0,.1))));return s.sub(r).div(.1).mul(.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"a",[6,"d.vec2f",[[6,"perlin12",[[6,[7,"p","add"],[[6,"d.vec2f",[[5,"0.1"],[5,"0"]]]]]]],[6,"perlin12",[[6,[7,"p","add"],[[6,"d.vec2f",[[5,"0"],[5,"0.1"]]]]]]]]]],[13,"b",[6,"d.vec2f",[[6,"perlin12",[[6,[7,"p","sub"],[[6,"d.vec2f",[[5,"0.1"],[5,"0"]]]]]]],[6,"perlin12",[[6,[7,"p","sub"],[[6,"d.vec2f",[[5,"0"],[5,"0.1"]]]]]]]]]],[10,[6,[7,[6,[7,[6,[7,"a","sub"],["b"]],"div"],[[5,"0.1"]]],"mul"],[[5,"0.5"]]]]]]},externals:{"d.vec2f":()=>l,perlin12:()=>za}})&&e.f)({})),Mg=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.add(l(.1,0)),o=t.add(l(0,.1)),n=t.sub(l(.1,0)),i=t.sub(l(0,.1)),d=l(Bd(f(r.x,r.y,s)),Bd(f(o.x,o.y,s))),c=l(Bd(f(n.x,n.y,s)),Bd(f(i.x,i.y,s)));return d.sub(c).div(.1).mul(.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"z"}],body:[0,[[13,"pax",[6,[7,"p","add"],[[6,"d.vec2f",[[5,"0.1"],[5,"0"]]]]]],[13,"pay",[6,[7,"p","add"],[[6,"d.vec2f",[[5,"0"],[5,"0.1"]]]]]],[13,"pbx",[6,[7,"p","sub"],[[6,"d.vec2f",[[5,"0.1"],[5,"0"]]]]]],[13,"pby",[6,[7,"p","sub"],[[6,"d.vec2f",[[5,"0"],[5,"0.1"]]]]]],[13,"a",[6,"d.vec2f",[[6,"perlin13",[[6,"d.vec3f",[[7,"pax","x"],[7,"pax","y"],"z"]]]],[6,"perlin13",[[6,"d.vec3f",[[7,"pay","x"],[7,"pay","y"],"z"]]]]]]],[13,"b",[6,"d.vec2f",[[6,"perlin13",[[6,"d.vec3f",[[7,"pbx","x"],[7,"pbx","y"],"z"]]]],[6,"perlin13",[[6,"d.vec3f",[[7,"pby","x"],[7,"pby","y"],"z"]]]]]]],[10,[6,[7,[6,[7,[6,[7,"a","sub"],["b"]],"div"],[[5,"0.1"]]],"mul"],[[5,"0.5"]]]]]]},externals:{"d.vec2f":()=>l,perlin13:()=>Bd,"d.vec3f":()=>f}})&&e.f)({})),v8=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=a(0),n=a(1),i=a(0),d=l(t.x,t.y);for(let c=0;c<4;c++){let _=d.mul(n),u=ue(q(_).mul(l(123.34,233.53)));u=u.add(se(u,u.add(23.234)));let m=__tsover_mul(ue(__tsover_mul(u.x,u.y)),1e3),p=ue(_).sub(.5),y=H(m),h=Y(m),g=l(__tsover_sub(__tsover_mul(p.x,y),__tsover_mul(p.y,h)),__tsover_add(__tsover_mul(p.x,h),__tsover_mul(p.y,y)));o=__tsover_add(o,__tsover_div(__tsover_mul(Y(__tsover_add(__tsover_mul(g.x,10),s)),re(.25,0,se(g,g))),n)),d=l(__tsover_sub(__tsover_mul(d.x,.54),__tsover_mul(d.y,.84)),__tsover_add(__tsover_mul(d.x,.84),__tsover_mul(d.y,.54))).add(a(c)),i=__tsover_add(i,__tsover_div(1,n)),n=__tsover_mul(n,r)}return __tsover_div(o,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"phase"},{type:"i",name:"scale"}],body:[0,[[12,"dsum",[6,"d.f32",[[5,"0"]]]],[12,"s",[6,"d.f32",[[5,"1"]]]],[12,"m",[6,"d.f32",[[5,"0"]]]],[12,"pp",[6,"d.vec2f",[[7,"p","x"],[7,"p","y"]]]],[14,[12,"idx",[5,"0"]],[1,"idx","<",[5,"4"]],[102,"++","idx"],[0,[[13,"q0",[6,[7,"pp","mul"],["s"]]],[12,"g",[6,"std.fract",[[6,[7,[6,"std.floor",["q0"]],"mul"],[[6,"d.vec2f",[[5,"123.34"],[5,"233.53"]]]]]]]],[2,"g","=",[6,[7,"g","add"],[[6,"std.dot",["g",[6,[7,"g","add"],[[5,"23.234"]]]]]]]],[13,"a",[1,[6,"std.fract",[[1,[7,"g","x"],"*",[7,"g","y"]]]],"*",[5,"1000"]]],[13,"qc",[6,[7,[6,"std.fract",["q0"]],"sub"],[[5,"0.5"]]]],[13,"ca",[6,"std.cos",["a"]]],[13,"sa",[6,"std.sin",["a"]]],[13,"q",[6,"d.vec2f",[[1,[1,[7,"qc","x"],"*","ca"],"-",[1,[7,"qc","y"],"*","sa"]],[1,[1,[7,"qc","x"],"*","sa"],"+",[1,[7,"qc","y"],"*","ca"]]]]],[2,"dsum","=",[1,"dsum","+",[1,[1,[6,"std.sin",[[1,[1,[7,"q","x"],"*",[5,"10"]],"+","phase"]]],"*",[6,"std.smoothstep",[[5,"0.25"],[5,"0"],[6,"std.dot",["q","q"]]]]],"/","s"]]],[2,"pp","=",[6,[7,[6,"d.vec2f",[[1,[1,[7,"pp","x"],"*",[5,"0.54"]],"-",[1,[7,"pp","y"],"*",[5,"0.84"]]],[1,[1,[7,"pp","x"],"*",[5,"0.84"]],"+",[1,[7,"pp","y"],"*",[5,"0.54"]]]]],"add"],[[6,"d.f32",["idx"]]]]],[2,"m","=",[1,"m","+",[1,[5,"1"],"/","s"]]],[2,"s","=",[1,"s","*","scale"]]]]],[10,[1,"dsum","/","m"]]]]},externals:{"d.f32":()=>a,"d.vec2f":()=>l,"std.fract":()=>ue,"std.floor":()=>q,"std.dot":()=>se,"std.cos":()=>H,"std.sin":()=>Y,"std.smoothstep":()=>re}})&&e.f)({})),y8=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=a(0);for(let r=0;r<9;r++){let o=a(r),n=q(__tsover_div(o,3)),i=__tsover_sub(o,__tsover_mul(n,3));s=__tsover_add(s,Ot(t.add(l(__tsover_sub(i,1),__tsover_sub(n,1)))))}return __tsover_add(__tsover_mul(.9,__tsover_sub(__tsover_mul(1.125,Ot(t)),__tsover_div(s,8))),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"v",[6,"d.f32",[[5,"0"]]]],[14,[12,"k",[5,"0"]],[1,"k","<",[5,"9"]],[102,"++","k"],[0,[[13,"fk",[6,"d.f32",["k"]]],[13,"row",[6,"std.floor",[[1,"fk","/",[5,"3"]]]]],[13,"col",[1,"fk","-",[1,"row","*",[5,"3"]]]],[2,"v","=",[1,"v","+",[6,"hash12",[[6,[7,"p","add"],[[6,"d.vec2f",[[1,"col","-",[5,"1"]],[1,"row","-",[5,"1"]]]]]]]]]]]]],[10,[1,[1,[5,"0.9"],"*",[1,[1,[5,"1.125"],"*",[6,"hash12",["p"]]],"-",[1,"v","/",[5,"8"]]]],"+",[5,"0.5"]]]]]},externals:{"d.f32":()=>a,"std.floor":()=>q,hash12:()=>Ot,"d.vec2f":()=>l}})&&e.f)({})),Pg=v.fn([El],Z)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(0),r=t.x,o=t.y;for(let n=256;n>0;n=n>>1){let i=Z(n),d=C(Z(0),Z(1),(r&i)>0),c=C(Z(0),Z(1),(o&i)>0),_=d<<1|d^c;s=__tsover_add(s,__tsover_mul(__tsover_mul(i,i),_));let u=__tsover_sub(Z(1),c),m=__tsover_mul(r^o,u)^__tsover_mul(Z(__tsover_sub(n,1)),d&u);r=r^m,o=o^m}return s}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"i",[6,"d.i32",[[5,"0"]]]],[12,"px",[7,"p","x"]],[12,"py",[7,"p","y"]],[14,[12,"s",[5,"256"]],[1,"s",">",[5,"0"]],[2,"s","=",[1,"s",">>",[5,"1"]]],[0,[[13,"S",[6,"d.i32",["s"]]],[13,"rx",[6,"std.select",[[6,"d.i32",[[5,"0"]]],[6,"d.i32",[[5,"1"]]],[1,[1,"px","&","S"],">",[5,"0"]]]]],[13,"ry",[6,"std.select",[[6,"d.i32",[[5,"0"]]],[6,"d.i32",[[5,"1"]]],[1,[1,"py","&","S"],">",[5,"0"]]]]],[13,"dq",[1,[1,"rx","<<",[5,"1"]],"|",[1,"rx","^","ry"]]],[2,"i","=",[1,"i","+",[1,[1,"S","*","S"],"*","dq"]]],[13,"oneMinusRy",[1,[6,"d.i32",[[5,"1"]]],"-","ry"]],[13,"rhs",[1,[1,[1,"px","^","py"],"*","oneMinusRy"],"^",[1,[6,"d.i32",[[1,"s","-",[5,"1"]]]],"*",[1,"rx","&","oneMinusRy"]]]],[2,"px","=",[1,"px","^","rhs"]],[2,"py","=",[1,"py","^","rhs"]]]]],[10,"i"]]]},externals:{"d.i32":()=>Z,"std.select":()=>C}})&&e.f)({}));v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Pg(El(Z(t.x),Z(t.y)))&Z(262143);return ue(__tsover_mul(.6180339887498949,a(s)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"idx",[1,[6,"hilbertEncode512",[[6,"d.vec2i",[[6,"d.i32",[[7,"p","x"]]],[6,"d.i32",[[7,"p","y"]]]]]]],"&",[6,"d.i32",[[5,"262143"]]]]],[10,[6,"std.fract",[[1,[5,"0.6180339887498949"],"*",[6,"d.f32",["idx"]]]]]]]]},externals:{hilbertEncode512:()=>Pg,"d.vec2i":()=>El,"d.i32":()=>Z,"std.fract":()=>ue,"d.f32":()=>a}})&&e.f)({}));var Eg=v.fn([l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=q(t),i=t.sub(n),d=q(__tsover_mul(Y(__tsover_mul(n.x,51024)),3104)),c=q(__tsover_mul(Y(__tsover_mul(n.y,1324)),554)),_=__tsover_add(d,c),u=i.mul(2).sub(1);u=u.mul(H(_)).add(l(-u.y,u.x).mul(Y(_))),u=u.add(Y(__tsover_sub(d,c))),u=u.mul(.5).add(.5);let m=__tsover_mul(__tsover_add(Y(__tsover_add(d,__tsover_mul(u.y,Math.PI))),Y(__tsover_add(c,__tsover_mul(u.y,Math.PI)))),.2),p=z(__tsover_add(__tsover_sub(u.x,.5),m));p=__tsover_sub(.5,__tsover_mul(p,__tsover_div(s,o))),p=__tsover_mul(re(-2,__tsover_add(__tsover_mul(Zt(p),1.5),16),p),12);let y=__tsover_add(__tsover_mul(Y(__tsover_add(r,__tsover_mul(Ot(n),6.2831853))),.5),.5);return __tsover_mul(__tsover_mul(p,u.y),y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"f"},{type:"i",name:"time"},{type:"i",name:"thickness"}],body:[0,[[13,"seed0",[6,"std.floor",["uv"]]],[13,"lo",[6,[7,"uv","sub"],["seed0"]]],[13,"sx",[6,"std.floor",[[1,[6,"std.sin",[[1,[7,"seed0","x"],"*",[5,"51024"]]]],"*",[5,"3104"]]]]],[13,"sy",[6,"std.floor",[[1,[6,"std.sin",[[1,[7,"seed0","y"],"*",[5,"1324"]]]],"*",[5,"554"]]]]],[13,"ss",[1,"sx","+","sy"]],[12,"u2",[6,[7,[6,[7,"lo","mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[2,"u2","=",[6,[7,[6,[7,"u2","mul"],[[6,"std.cos",["ss"]]]],"add"],[[6,[7,[6,"d.vec2f",[[4,"-",[7,"u2","y"]],[7,"u2","x"]]],"mul"],[[6,"std.sin",["ss"]]]]]]],[2,"u2","=",[6,[7,"u2","add"],[[6,"std.sin",[[1,"sx","-","sy"]]]]]],[2,"u2","=",[6,[7,[6,[7,"u2","mul"],[[5,"0.5"]]],"add"],[[5,"0.5"]]]],[13,"WAVYNESS",[5,"0.2"]],[13,"sVal",[1,[1,[6,"std.sin",[[1,"sx","+",[1,[7,"u2","y"],"*","Math.PI"]]]],"+",[6,"std.sin",[[1,"sy","+",[1,[7,"u2","y"],"*","Math.PI"]]]]],"*","WAVYNESS"]],[12,"x",[6,"std.abs",[[1,[1,[7,"u2","x"],"-",[5,"0.5"]],"+","sVal"]]]],[2,"x","=",[1,[5,"0.5"],"-",[1,"x","*",[1,"f","/","thickness"]]]],[2,"x","=",[1,[6,"std.smoothstep",[[4,"-",[5,"2"]],[1,[1,[6,"std.fwidth",["x"]],"*",[5,"1.5"]],"+",[5,"16"]],"x"]],"*",[5,"12"]]],[13,"pulse",[1,[1,[6,"std.sin",[[1,"time","+",[1,[6,"hash12",["seed0"]],"*",[5,"6.2831853"]]]]],"*",[5,"0.5"]],"+",[5,"0.5"]]],[10,[1,[1,"x","*",[7,"u2","y"]],"*","pulse"]]]]},externals:{"std.floor":()=>q,"std.sin":()=>Y,"std.cos":()=>H,"d.vec2f":()=>l,"Math.PI":()=>Math.PI,"std.abs":()=>z,"std.smoothstep":()=>re,"std.fwidth":()=>Zt,hash12:()=>Ot}})&&e.f)({})),h8=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=a(0),n=l(t.x,t.y),i=__tsover_div(1,j(Zt(t)));for(let d=0;d<8;d++)o=b(o,Eg(n,i,s,r)),n=l(__tsover_add(n.x,__tsover_mul(n.y,.7)),__tsover_add(__tsover_mul(n.x,-.7),n.y)).sub(12.31);return o}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"time"},{type:"i",name:"thickness"}],body:[0,[[12,"scratches",[6,"d.f32",[[5,"0"]]]],[12,"p",[6,"d.vec2f",[[7,"uv","x"],[7,"uv","y"]]]],[13,"f",[1,[5,"1"],"/",[6,"std.length",[[6,"std.fwidth",["uv"]]]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"8"]],[102,"++","i"],[0,[[2,"scratches","=",[6,"std.max",["scratches",[6,"scratchOne",["p","f","time","thickness"]]]]],[2,"p","=",[6,[7,[6,"d.vec2f",[[1,[7,"p","x"],"+",[1,[7,"p","y"],"*",[5,"0.7"]]],[1,[1,[7,"p","x"],"*",[4,"-",[5,"0.7"]]],"+",[7,"p","y"]]]],"sub"],[[5,"12.31"]]]]]]],[10,"scratches"]]]},externals:{"d.f32":()=>a,"d.vec2f":()=>l,"std.length":()=>j,"std.fwidth":()=>Zt,"std.max":()=>b,scratchOne:()=>Eg}})&&e.f)({})),kg=v.fn([l,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=a(0),o=a(0),n=a(1),i=l(t.x,t.y);for(let d=0;da,"d.vec2f":()=>l,perlin12:()=>za}})&&e.f)({})),$g=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=f(0,0,0),r=a(1),o=l(t.x,t.y);for(let n=0;n<6;n++)s=s.add(la(o).mul(r)),r=__tsover_mul(r,.5),o=o.mul(2);return s}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"s",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]]],[12,"a",[6,"d.f32",[[5,"1"]]]],[12,"pp",[6,"d.vec2f",[[7,"p","x"],[7,"p","y"]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"6"]],[102,"++","i"],[0,[[2,"s","=",[6,[7,"s","add"],[[6,[7,[6,"perlin12d",["pp"]],"mul"],["a"]]]]],[2,"a","=",[1,"a","*",[5,"0.5"]]],[2,"pp","=",[6,[7,"pp","mul"],[[5,"2"]]]]]]],[10,"s"]]]},externals:{"d.vec3f":()=>f,"d.f32":()=>a,"d.vec2f":()=>l,perlin12d:()=>la}})&&e.f)({})),x8=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=$g(t);return kg(t.add(l(s.y,s.z).mul(.4)),Z(6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"fs",[6,"fbmStone",["p"]]],[10,[6,"fbmPerlin",[[6,[7,"p","add"],[[6,[7,[6,"d.vec2f",[[7,"fs","y"],[7,"fs","z"]]],"mul"],[[5,"0.4"]]]]],[6,"d.i32",[[5,"6"]]]]]]]]},externals:{fbmStone:()=>$g,fbmPerlin:()=>kg,"d.vec2f":()=>l,"d.i32":()=>Z}})&&e.f)({})),Ug=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=l(0,0),r=a(0),o=a(1),n=l(t.x,t.y);for(let i=0;i<6;i++)s=s.add(Ki(n).mul(o)),r=__tsover_add(r,o),o=__tsover_mul(o,.5),n=n.mul(2);return s.div(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"s",[6,"d.vec2f",[[5,"0"],[5,"0"]]]],[12,"m",[6,"d.f32",[[5,"0"]]]],[12,"a",[6,"d.f32",[[5,"1"]]]],[12,"pp",[6,"d.vec2f",[[7,"p","x"],[7,"p","y"]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"6"]],[102,"++","i"],[0,[[2,"s","=",[6,[7,"s","add"],[[6,[7,[6,"curl22",["pp"]],"mul"],["a"]]]]],[2,"m","=",[1,"m","+","a"]],[2,"a","=",[1,"a","*",[5,"0.5"]]],[2,"pp","=",[6,[7,"pp","mul"],[[5,"2"]]]]]]],[10,[6,[7,"s","div"],["m"]]]]]},externals:{"d.vec2f":()=>l,"d.f32":()=>a,curl22:()=>Ki}})&&e.f)({})),g8=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Ug(t);return b(z(s.x),z(s.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"n",[6,"fbmWool",["p"]]],[10,[6,"std.max",[[6,"std.abs",[[7,"n","x"]]],[6,"std.abs",[[7,"n","y"]]]]]]]]},externals:{fbmWool:()=>Ug,"std.max":()=>b,"std.abs":()=>z}})&&e.f)({})),Cg=v.fn([l,l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=l(-s.y,s.x).mul(Math.PI),o=q(t),n=t.sub(o),i=l(0,0),d=a(0);for(let c=-1;c<=2;c++)for(let _=-1;_<=2;_++){let u=l(a(c),a(_)),m=n.sub(u).sub(er(o.add(u))).add(.5),p=se(m,m),y=b(a(0),__tsover_sub(ct(__tsover_mul(p,-2)),.01111));d=__tsover_add(d,y);let h=se(m,r);i=i.add(l(H(h),-Y(h)).mul(y))}return f(i.x,__tsover_mul(i.y,r.x),__tsover_mul(i.y,r.y)).div(d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"slope"}],body:[0,[[13,"sideDir",[6,[7,[6,"d.vec2f",[[4,"-",[7,"slope","y"]],[7,"slope","x"]]],"mul"],["Math.PI"]]],[13,"id",[6,"std.floor",["p"]]],[13,"pp",[6,[7,"p","sub"],["id"]]],[12,"heightSlope",[6,"d.vec2f",[[5,"0"],[5,"0"]]]],[12,"wSum",[6,"d.f32",[[5,"0"]]]],[14,[12,"x",[4,"-",[5,"1"]]],[1,"x","<=",[5,"2"]],[102,"++","x"],[0,[[14,[12,"y",[4,"-",[5,"1"]]],[1,"y","<=",[5,"2"]],[102,"++","y"],[0,[[13,"off",[6,"d.vec2f",[[6,"d.f32",["x"]],[6,"d.f32",["y"]]]]],[13,"c",[6,[7,[6,[7,[6,[7,"pp","sub"],["off"]],"sub"],[[6,"hash22",[[6,[7,"id","add"],["off"]]]]]],"add"],[[5,"0.5"]]]],[13,"dist2",[6,"std.dot",["c","c"]]],[13,"w",[6,"std.max",[[6,"d.f32",[[5,"0"]]],[1,[6,"std.exp",[[1,"dist2","*",[4,"-",[5,"2"]]]]],"-",[5,"0.01111"]]]]],[2,"wSum","=",[1,"wSum","+","w"]],[13,"t",[6,"std.dot",["c","sideDir"]]],[2,"heightSlope","=",[6,[7,"heightSlope","add"],[[6,[7,[6,"d.vec2f",[[6,"std.cos",["t"]],[4,"-",[6,"std.sin",["t"]]]]],"mul"],["w"]]]]]]]]]]],[10,[6,[7,[6,"d.vec3f",[[7,"heightSlope","x"],[1,[7,"heightSlope","y"],"*",[7,"sideDir","x"]],[1,[7,"heightSlope","y"],"*",[7,"sideDir","y"]]]],"div"],["wSum"]]]]]},externals:{"d.vec2f":()=>l,"Math.PI":()=>Math.PI,"std.floor":()=>q,"d.f32":()=>a,hash22:()=>er,"std.dot":()=>se,"std.max":()=>b,"std.exp":()=>ct,"std.cos":()=>H,"std.sin":()=>Y,"d.vec3f":()=>f}})&&e.f)({})),b8=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=la(t),r=a(.25),o=a(8),n=a(1);for(let i=0;i<4;i++){let d=l(s.y,s.z),c=b(se(d,d),a(1e-4)),_=d.mul(Ce(c,a(__tsover_mul(.5,__tsover_sub(.5,1)))));s=s.add(Cg(t.mul(o),_).mul(r).mul(f(1,o,o))),n=__tsover_add(n,r),r=__tsover_mul(r,.5),o=__tsover_mul(o,2)}return s.div(n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"nd",[6,"perlin12d",["p"]]],[12,"strength",[6,"d.f32",[[5,"0.25"]]]],[12,"freq",[6,"d.f32",[[5,"8"]]]],[12,"total",[6,"d.f32",[[5,"1"]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"4"]],[102,"++","i"],[0,[[13,"grad",[6,"d.vec2f",[[7,"nd","y"],[7,"nd","z"]]]],[13,"len2",[6,"std.max",[[6,"std.dot",["grad","grad"]],[6,"d.f32",[[5,"0.0001"]]]]]],[13,"slope",[6,[7,"grad","mul"],[[6,"std.pow",["len2",[6,"d.f32",[[1,[5,"0.5"],"*",[1,[5,"0.5"],"-",[5,"1"]]]]]]]]]],[2,"nd","=",[6,[7,"nd","add"],[[6,[7,[6,[7,[6,"gullies",[[6,[7,"p","mul"],["freq"]],"slope"]],"mul"],["strength"]],"mul"],[[6,"d.vec3f",[[5,"1"],"freq","freq"]]]]]]],[2,"total","=",[1,"total","+","strength"]],[2,"strength","=",[1,"strength","*",[5,"0.5"]]],[2,"freq","=",[1,"freq","*",[5,"2"]]]]]],[10,[6,[7,"nd","div"],["total"]]]]]},externals:{perlin12d:()=>la,"d.f32":()=>a,"d.vec2f":()=>l,"std.max":()=>b,"std.dot":()=>se,"std.pow":()=>Ce,gullies:()=>Cg,"d.vec3f":()=>f}})&&e.f)({})),Rg=v.fn([l,Z],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=l(0,0),o=a(0),n=a(1),i=l(t.x,t.y);for(let d=0;dl,"d.f32":()=>a,"std.clamp":()=>$,curl22:()=>Ki}})&&e.f)({})),zg=v.fn([l,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_add(__tsover_mul(__tsover_div(j(Rg(t,s)),1.414),.6),.4)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"octaves"}],body:[0,[[10,[1,[1,[1,[6,"std.length",[[6,"fbmPaper",["p","octaves"]]]],"/",[5,"1.414"]],"*",[5,"0.6"]],"+",[5,"0.4"]]]]]},externals:{"std.length":()=>j,fbmPaper:()=>Rg}})&&e.f)({}));v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_add(__tsover_mul(t.x,.2126),__tsover_mul(t.y,.7152)),__tsover_mul(t.z,.0722))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[1,[1,[1,[7,"rgb","x"],"*",[5,"0.2126"]],"+",[1,[7,"rgb","y"],"*",[5,"0.7152"]]],"+",[1,[7,"rgb","z"],"*",[5,"0.0722"]]]]]]},externals:{}})&&e.f)({}));v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_add(__tsover_mul(t.x,.299),__tsover_mul(t.y,.587)),__tsover_mul(t.z,.114))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[1,[1,[1,[7,"rgb","x"],"*",[5,"0.299"]],"+",[1,[7,"rgb","y"],"*",[5,"0.587"]]],"+",[1,[7,"rgb","z"],"*",[5,"0.114"]]]]]]},externals:{}})&&e.f)({}));var Gg=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return se(t,f(.2126,.7152,.0722))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),Ll=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return se(t,f(.299,.587,.114))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({}));v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return $(__tsover_add(__tsover_mul(__tsover_sub(t,r),s),r),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"contrast"},{type:"i",name:"pivot"}],body:[0,[[10,[6,"std.clamp",[[1,[1,[1,"x","-","pivot"],"*","contrast"],"+","pivot"],[5,"0"],[5,"1"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({}));var w8=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_mul(t,.5),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[1,[1,"v","*",[5,"0.5"]],"+",[5,"0.5"]]]]]},externals:{}})&&e.f)({}));v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_sub(1,z(t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.abs",["v"]]]]]]},externals:{"std.abs":()=>z}})&&e.f)({}));var KC=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=$(__tsover_add(__tsover_add(__tsover_mul(__tsover_sub(t,.5),__tsover_add(s,1)),.5),r),0,1);return __tsover_sub(1,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"noise01"},{type:"i",name:"contrast"},{type:"i",name:"balance"}],body:[0,[[13,"k",[6,"std.clamp",[[1,[1,[1,[1,"noise01","-",[5,"0.5"]],"*",[1,"contrast","+",[5,"1"]]],"+",[5,"0.5"]],"+","balance"],[5,"0"],[5,"1"]]]],[10,[1,[5,"1"],"-","k"]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),ZC=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(__tsover_mul(t,__tsover_add(s,1)),r),n=$(__tsover_add(__tsover_mul(o,.5),.5),0,1);return __tsover_sub(1,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"contrast"},{type:"i",name:"balance"}],body:[0,[[13,"adjusted",[1,[1,"v","*",[1,"contrast","+",[5,"1"]]],"+","balance"]],[13,"k",[6,"std.clamp",[[1,[1,"adjusted","*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[10,[1,[5,"1"],"-","k"]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),QC=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(__tsover_mul(t,2),1),n=__tsover_add(__tsover_mul(o,s),r);return $(__tsover_add(__tsover_mul(n,.5),.5),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"contrast"},{type:"i",name:"balance"}],body:[0,[[13,"signed",[1,[1,"v","*",[5,"2"]],"-",[5,"1"]]],[13,"adjusted",[1,[1,"signed","*","contrast"],"+","balance"]],[10,[6,"std.clamp",[[1,[1,"adjusted","*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),JC=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Ce(t,__tsover_div(5,s)),i=$(__tsover_add(__tsover_mul(__tsover_sub(n,.5),r),.5),0,1),d=__tsover_sub(__tsover_div(o,100),.5),c=$(__tsover_add(i,d),0,1);return __tsover_sub(1,c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"glow"},{type:"i",name:"contrast"},{type:"i",name:"balance"}],body:[0,[[13,"spread",[6,"std.pow",["v",[1,[5,"5"],"/","glow"]]]],[13,"contrasted",[6,"std.clamp",[[1,[1,[1,"spread","-",[5,"0.5"]],"*","contrast"],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[13,"balanceShift",[1,[1,"balance","/",[5,"100"]],"-",[5,"0.5"]]],[13,"balanced",[6,"std.clamp",[[1,"contrasted","+","balanceShift"],[5,"0"],[5,"1"]]]],[10,[1,[5,"1"],"-","balanced"]]]]},externals:{"std.pow":()=>Ce,"std.clamp":()=>$}})&&e.f)({}));function t7(e){let{domain:t,contrastMode:s,invert:r,glowGamma:o=!1,balance:n="plain"}=e;if(o){if(t==="unit"&&s==="multiplicative"&&r&&n==="percentCentred")return JC}else if(n==="plain"){if(t==="unit"&&s==="additive"&&r)return KC;if(t==="signed"&&s==="additive"&&r)return ZC;if(t==="unit"&&s==="multiplicative"&&!r)return QC}throw new Error(`toneRemap: no variant for {domain: '${t}', contrastMode: '${s}', invert: ${r}, glowGamma: ${o}, balance: '${n}'} \u2014 add its body to kit/tone.ts rather than approximating.`)}var eR=v.fn([x,l,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Ot(s.mul(r).add(l(o,__tsover_mul(o,1.618))));return x($(t.xyz.add(__tsover_mul(__tsover_sub(n,.5),.004)),f(0),f(1)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"animTime"}],body:[0,[[13,"n",[6,"hash12",[[6,[7,[6,[7,"uv","mul"],["viewport"]],"add"],[[6,"d.vec2f",["animTime",[1,"animTime","*",[5,"1.618"]]]]]]]]],[13,"rgb",[6,"std.clamp",[[6,[7,[7,"base","xyz"],"add"],[[1,[1,"n","-",[5,"0.5"]],"*",[5,"0.004"]]]],[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]],[10,[6,"d.vec4f",["rgb",[7,"base","w"]]]]]]},externals:{hash12:()=>Ot,"d.vec2f":()=>l,"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),bt=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_div(t.x,b(t.y,1e-6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"viewport"}],body:[0,[[10,[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]]]]},externals:{"std.max":()=>b}})&&e.f)({})),Zi=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(t,__tsover_mul(s,q(__tsover_div(t,s))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"m"}],body:[0,[[10,[1,"x","-",[1,"m","*",[6,"std.floor",[[1,"x","/","m"]]]]]]]]},externals:{"std.floor":()=>q}})&&e.f)({})),ym=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_sub(t.x,__tsover_mul(s.x,q(__tsover_div(t.x,s.x)))),__tsover_sub(t.y,__tsover_mul(s.y,q(__tsover_div(t.y,s.y)))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"m"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"p","x"],"-",[1,[7,"m","x"],"*",[6,"std.floor",[[1,[7,"p","x"],"/",[7,"m","x"]]]]]],[1,[7,"p","y"],"-",[1,[7,"m","y"],"*",[6,"std.floor",[[1,[7,"p","y"],"/",[7,"m","y"]]]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.floor":()=>q}})&&e.f)({}));v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=C(b(s,1e-5),oe(s,-1e-5),s<0);return __tsover_div(t,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"n"},{type:"i",name:"den"}],body:[0,[[13,"guarded",[6,"std.select",[[6,"std.max",["den",[5,"0.00001"]]],[6,"std.min",["den",[4,"-",[5,"0.00001"]]]],[1,"den","<",[5,"0"]]]]],[10,[1,"n","/","guarded"]]]]},externals:{"std.select":()=>C,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({}));var Eo=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_sub(__tsover_mul(t.x,s),__tsover_mul(t.y,r)),__tsover_add(__tsover_mul(t.x,r),__tsover_mul(t.y,s)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"cosA"},{type:"i",name:"sinA"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[7,"p","x"],"*","cosA"],"-",[1,[7,"p","y"],"*","sinA"]],[1,[1,[7,"p","x"],"*","sinA"],"+",[1,[7,"p","y"],"*","cosA"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Yg=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(s.x,b(s.y,1e-6));return l(__tsover_mul(t.x,r),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),Il=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(s.x,b(s.y,1e-6));return l(__tsover_mul(t.x,r),__tsover_sub(1,t.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[1,[5,"1"],"-",[7,"uv","y"]]]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),hm=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return l(t.x,__tsover_sub(1,t.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"d.vec2f",[[7,"p","x"],[1,[5,"1"],"-",[7,"p","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),bn=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_mul(t.x,s),__tsover_sub(1,t.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"aspect"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"pos","x"],"*","aspect"],[1,[5,"1"],"-",[7,"pos","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),ua=v.fn([l,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(r.x,b(r.y,1e-6));return l(__tsover_sub(__tsover_mul(t.x,o),__tsover_mul(s.x,o)),__tsover_sub(t.y,__tsover_sub(1,s.y)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"center"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[10,[6,"d.vec2f",[[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,[7,"center","x"],"*","aspect"]],[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),ma=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_sub(__tsover_mul(t.x,s),__tsover_mul(s,.5)),__tsover_sub(t.y,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,"aspect","*",[5,"0.5"]]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Qi=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,.5),i=.5,d=__tsover_sub(t.x,n),c=__tsover_sub(t.y,i);return l(__tsover_add(__tsover_sub(__tsover_mul(d,r),__tsover_mul(c,o)),n),__tsover_add(__tsover_add(__tsover_mul(d,o),__tsover_mul(c,r)),i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"aspect"},{type:"i",name:"cosA"},{type:"i",name:"sinA"}],body:[0,[[13,"centerX",[1,"aspect","*",[5,"0.5"]]],[13,"centerY",[5,"0.5"]],[13,"cx",[1,[7,"p","x"],"-","centerX"]],[13,"cy",[1,[7,"p","y"],"-","centerY"]],[10,[6,"d.vec2f",[[1,[1,[1,"cx","*","cosA"],"-",[1,"cy","*","sinA"]],"+","centerX"],[1,[1,[1,"cx","*","sinA"],"+",[1,"cy","*","cosA"]],"+","centerY"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Dl=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_add(__tsover_mul(t.x,s),__tsover_mul(t.y,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"cosA"},{type:"i",name:"sinA"}],body:[0,[[10,[1,[1,[7,"p","x"],"*","cosA"],"+",[1,[7,"p","y"],"*","sinA"]]]]]},externals:{}})&&e.f)({}));v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return l(j(t),tt(t.y,t.x))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"d.vec2f",[[6,"std.length",["p"]],[6,"std.atan2",[[7,"p","y"],[7,"p","x"]]]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.atan2":()=>tt}})&&e.f)({}));v.fn([a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_mul(t,H(s)),__tsover_mul(t,Y(s)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"r"},{type:"i",name:"theta"}],body:[0,[[10,[6,"d.vec2f",[[1,"r","*",[6,"std.cos",["theta"]]],[1,"r","*",[6,"std.sin",["theta"]]]]]]]]},externals:{"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({}));var Lg=2/Math.sqrt(3),xm=ut({cell:l,local:l}).$name("CellTile"),Ji=v.fn([l],xm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return xm({cell:q(t),local:ue(t)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"CellTile",[[104,{cell:[6,"std.floor",["p"]],local:[6,"std.fract",["p"]]}]]]]]]},externals:{CellTile:()=>xm,"std.floor":()=>q,"std.fract":()=>ue}})&&e.f)({})),gm=ut({gv:l,id:l}).$name("HexCell"),Fl=v.fn([l,l],gm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=s.mul(.5),o=ym(t,s).sub(r),n=ym(t.sub(r),s).sub(r),i=C(n,o,se(o,o)ym,"std.select":()=>C,"std.dot":()=>se,HexCell:()=>gm}})&&e.f)({})),Ig=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return l(__tsover_sub(t.x,__tsover_div(t.y,_a)),__tsover_mul(t.y,Lg))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"p","x"],"-",[1,[7,"p","y"],"/","SQRT3"]],[1,[7,"p","y"],"*","TWO_OVER_SQRT3"]]]]]]},externals:{"d.vec2f":()=>l,SQRT3:()=>_a,TWO_OVER_SQRT3:()=>Lg}})&&e.f)({})),T8=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(s.x,b(s.y,1e-6)),n=__tsover_mul(t.x,o),i=__tsover_sub(1,t.y),d=__tsover_div(__tsover_add(q(__tsover_mul(n,r)),.5),r),c=__tsover_div(__tsover_add(q(__tsover_mul(i,r)),.5),r);return l(__tsover_div(d,o),__tsover_sub(1,c))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[13,"correctedX",[1,[7,"uv","x"],"*","aspect"]],[13,"correctedY",[1,[5,"1"],"-",[7,"uv","y"]]],[13,"cellCenterCorrectedX",[1,[1,[6,"std.floor",[[1,"correctedX","*","cells"]]],"+",[5,"0.5"]],"/","cells"]],[13,"cellCenterCorrectedY",[1,[1,[6,"std.floor",[[1,"correctedY","*","cells"]]],"+",[5,"0.5"]],"/","cells"]],[10,[6,"d.vec2f",[[1,"cellCenterCorrectedX","/","aspect"],[1,[5,"1"],"-","cellCenterCorrectedY"]]]]]]},externals:{"std.max":()=>b,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),Dg=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_div(s.x,b(s.y,1e-6)),i=__tsover_mul(t.x,n),d=__tsover_sub(1,t.y),c=H(o),_=Y(o),u=__tsover_mul(n,.5),m=.5,p=__tsover_sub(i,u),y=__tsover_sub(d,m),h=__tsover_add(__tsover_sub(__tsover_mul(p,c),__tsover_mul(y,_)),u),g=__tsover_add(__tsover_add(__tsover_mul(p,_),__tsover_mul(y,c)),m),w=__tsover_div(__tsover_add(q(__tsover_mul(h,r)),.5),r),S=__tsover_div(__tsover_add(q(__tsover_mul(g,r)),.5),r),T=__tsover_sub(w,u),A=__tsover_sub(S,m),P=__tsover_add(__tsover_add(__tsover_mul(T,c),__tsover_mul(A,_)),u),U=__tsover_add(__tsover_add(__tsover_mul(T,-_),__tsover_mul(A,c)),m);return l(__tsover_div(P,n),__tsover_sub(1,U))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotationRad"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[13,"correctedX",[1,[7,"uv","x"],"*","aspect"]],[13,"correctedY",[1,[5,"1"],"-",[7,"uv","y"]]],[13,"cosR",[6,"std.cos",["rotationRad"]]],[13,"sinR",[6,"std.sin",["rotationRad"]]],[13,"centerX",[1,"aspect","*",[5,"0.5"]]],[13,"centerY",[5,"0.5"]],[13,"cx",[1,"correctedX","-","centerX"]],[13,"cy",[1,"correctedY","-","centerY"]],[13,"rotX",[1,[1,[1,"cx","*","cosR"],"-",[1,"cy","*","sinR"]],"+","centerX"]],[13,"rotY",[1,[1,[1,"cx","*","sinR"],"+",[1,"cy","*","cosR"]],"+","centerY"]],[13,"cellRX",[1,[1,[6,"std.floor",[[1,"rotX","*","cells"]]],"+",[5,"0.5"]],"/","cells"]],[13,"cellRY",[1,[1,[6,"std.floor",[[1,"rotY","*","cells"]]],"+",[5,"0.5"]],"/","cells"]],[13,"ccx",[1,"cellRX","-","centerX"]],[13,"ccy",[1,"cellRY","-","centerY"]],[13,"unrotX",[1,[1,[1,"ccx","*","cosR"],"+",[1,"ccy","*","sinR"]],"+","centerX"]],[13,"unrotY",[1,[1,[1,"ccx","*",[4,"-","sinR"]],"+",[1,"ccy","*","cosR"]],"+","centerY"]],[10,[6,"d.vec2f",[[1,"unrotX","/","aspect"],[1,[5,"1"],"-","unrotY"]]]]]]},externals:{"std.max":()=>b,"std.cos":()=>H,"std.sin":()=>Y,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),Bl=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ue(t.mul(l(123.34,345.45))),r=s.add(se(s,s.add(34.345)));return ue(__tsover_mul(r.x,r.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"id"}],body:[0,[[13,"q0",[6,"std.fract",[[6,[7,"id","mul"],[[6,"d.vec2f",[[5,"123.34"],[5,"345.45"]]]]]]]],[13,"q1",[6,[7,"q0","add"],[[6,"std.dot",["q0",[6,[7,"q0","add"],[[5,"34.345"]]]]]]]],[10,[6,"std.fract",[[1,[7,"q1","x"],"*",[7,"q1","y"]]]]]]]},externals:{"std.fract":()=>ue,"d.vec2f":()=>l,"std.dot":()=>se}})&&e.f)({})),Wl=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(__tsover_mul(Y(__tsover_mul(t,127.1)),43758.5453))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"row"}],body:[0,[[10,[6,"std.fract",[[1,[6,"std.sin",[[1,"row","*",[5,"127.1"]]]],"*",[5,"43758.5453"]]]]]]]},externals:{"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),Ol=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_add(1,__tsover_mul(__tsover_mul(__tsover_sub(t,.5),4),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rowHash"},{type:"i",name:"variance"}],body:[0,[[10,[1,[5,"1"],"+",[1,[1,[1,"rowHash","-",[5,"0.5"]],"*",[5,"4"]],"*","variance"]]]]]},externals:{}})&&e.f)({})),Fg=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return b(__tsover_add(1,__tsover_mul(__tsover_mul(__tsover_sub(t,.5),2),s)),0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rand"},{type:"i",name:"variation"}],body:[0,[[10,[6,"std.max",[[1,[5,"1"],"+",[1,[1,[1,"rand","-",[5,"0.5"]],"*",[5,"2"]],"*","variation"]],[5,"0"]]]]]]},externals:{"std.max":()=>b}})&&e.f)({})),Vl=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(z(Ni(t)),z(qi(t)));return b(__tsover_add(r,s),1e-5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"softness"}],body:[0,[[13,"baseW",[6,"std.max",[[6,"std.abs",[[6,"std.dpdx",["x"]]]],[6,"std.abs",[[6,"std.dpdy",["x"]]]]]]],[10,[6,"std.max",[[1,"baseW","+","softness"],[5,"0.00001"]]]]]]},externals:{"std.max":()=>b,"std.abs":()=>z,"std.dpdx":()=>Ni,"std.dpdy":()=>qi}})&&e.f)({})),Bg=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ni(t),o=qi(t),n=l(b(z(r.x),z(o.x)),b(z(r.y),z(o.y)));return l(b(__tsover_add(n.x,s),1e-5),b(__tsover_add(n.y,s),1e-5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"softness"}],body:[0,[[13,"dpx",[6,"std.dpdx",["p"]]],[13,"dpy",[6,"std.dpdy",["p"]]],[13,"baseW",[6,"d.vec2f",[[6,"std.max",[[6,"std.abs",[[7,"dpx","x"]]],[6,"std.abs",[[7,"dpy","x"]]]]],[6,"std.max",[[6,"std.abs",[[7,"dpx","y"]]],[6,"std.abs",[[7,"dpy","y"]]]]]]]],[10,[6,"d.vec2f",[[6,"std.max",[[1,[7,"baseW","x"],"+","softness"],[5,"0.00001"]]],[6,"std.max",[[1,[7,"baseW","y"],"+","softness"],[5,"0.00001"]]]]]]]]},externals:{"std.dpdx":()=>Ni,"std.dpdy":()=>qi,"d.vec2f":()=>l,"std.max":()=>b,"std.abs":()=>z}})&&e.f)({})),Wg=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(t,__tsover_mul(s,.5)),n=__tsover_sub(t,__tsover_mul(s,.5)),i=__tsover_sub(1,r),d=__tsover_add(__tsover_mul(q(o),i),b(__tsover_sub(ue(o),r),0)),c=__tsover_add(__tsover_mul(q(n),i),b(__tsover_sub(ue(n),r),0));return $(__tsover_div(__tsover_sub(d,c),s),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"w"},{type:"i",name:"threshold"}],body:[0,[[13,"a",[1,"p","+",[1,"w","*",[5,"0.5"]]]],[13,"b",[1,"p","-",[1,"w","*",[5,"0.5"]]]],[13,"oneMinusThreshold",[1,[5,"1"],"-","threshold"]],[13,"Fa",[1,[1,[6,"std.floor",["a"]],"*","oneMinusThreshold"],"+",[6,"std.max",[[1,[6,"std.fract",["a"]],"-","threshold"],[5,"0"]]]]],[13,"Fb",[1,[1,[6,"std.floor",["b"]],"*","oneMinusThreshold"],"+",[6,"std.max",[[1,[6,"std.fract",["b"]],"-","threshold"],[5,"0"]]]]],[10,[6,"std.clamp",[[1,[1,"Fa","-","Fb"],"/","w"],[5,"0"],[5,"1"]]]]]]},externals:{"std.floor":()=>q,"std.max":()=>b,"std.fract":()=>ue,"std.clamp":()=>$}})&&e.f)({})),bm=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(t,__tsover_mul(s,.5)),n=__tsover_sub(t,__tsover_mul(s,.5));return __tsover_div(__tsover_sub(__tsover_sub(__tsover_add(q(o),oe(__tsover_mul(ue(o),r),1)),q(n)),oe(__tsover_mul(ue(n),r),1)),__tsover_mul(r,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"w"},{type:"i",name:"N"}],body:[0,[[13,"a",[1,"p","+",[1,"w","*",[5,"0.5"]]]],[13,"b",[1,"p","-",[1,"w","*",[5,"0.5"]]]],[10,[1,[1,[1,[1,[6,"std.floor",["a"]],"+",[6,"std.min",[[1,[6,"std.fract",["a"]],"*","N"],[5,"1"]]]],"-",[6,"std.floor",["b"]]],"-",[6,"std.min",[[1,[6,"std.fract",["b"]],"*","N"],[5,"1"]]]],"/",[1,"N","*","w"]]]]]},externals:{"std.floor":()=>q,"std.min":()=>oe,"std.fract":()=>ue}})&&e.f)({})),Og=v.fn([l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=l(__tsover_mul(s.x,.5),__tsover_mul(s.y,.5)),o=z(__tsover_sub(ue(__tsover_mul(__tsover_sub(t.x,r.x),.5)),.5)),n=z(__tsover_sub(ue(__tsover_mul(__tsover_sub(t.y,r.y),.5)),.5)),i=z(__tsover_sub(ue(__tsover_mul(__tsover_add(t.x,r.x),.5)),.5)),d=z(__tsover_sub(ue(__tsover_mul(__tsover_add(t.y,r.y),.5)),.5)),c=__tsover_div(__tsover_mul(__tsover_sub(o,i),2),s.x),_=__tsover_div(__tsover_mul(__tsover_sub(n,d),2),s.y);return $(__tsover_sub(.5,__tsover_mul(__tsover_mul(c,_),.5)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"w"}],body:[0,[[13,"aHalf",[6,"d.vec2f",[[1,[7,"w","x"],"*",[5,"0.5"]],[1,[7,"w","y"],"*",[5,"0.5"]]]]],[13,"minusSideX",[6,"std.abs",[[1,[6,"std.fract",[[1,[1,[7,"p","x"],"-",[7,"aHalf","x"]],"*",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"minusSideY",[6,"std.abs",[[1,[6,"std.fract",[[1,[1,[7,"p","y"],"-",[7,"aHalf","y"]],"*",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"plusSideX",[6,"std.abs",[[1,[6,"std.fract",[[1,[1,[7,"p","x"],"+",[7,"aHalf","x"]],"*",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"plusSideY",[6,"std.abs",[[1,[6,"std.fract",[[1,[1,[7,"p","y"],"+",[7,"aHalf","y"]],"*",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"iX",[1,[1,[1,"minusSideX","-","plusSideX"],"*",[5,"2"]],"/",[7,"w","x"]]],[13,"iY",[1,[1,[1,"minusSideY","-","plusSideY"],"*",[5,"2"]],"/",[7,"w","y"]]],[10,[6,"std.clamp",[[1,[5,"0.5"],"-",[1,[1,"iX","*","iY"],"*",[5,"0.5"]]],[5,"0"],[5,"1"]]]]]]},externals:{"d.vec2f":()=>l,"std.abs":()=>z,"std.fract":()=>ue,"std.clamp":()=>$}})&&e.f)({})),Nl=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return __tsover_mul(__tsover_sub(1,re(r,o,t)),De(1e-4,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"field"},{type:"i",name:"lineWidth"},{type:"i",name:"lo"},{type:"i",name:"hi"}],body:[0,[[10,[1,[1,[5,"1"],"-",[6,"std.smoothstep",["lo","hi","field"]]],"*",[6,"std.step",[[5,"0.0001"],"lineWidth"]]]]]]},externals:{"std.smoothstep":()=>re,"std.step":()=>De}})&&e.f)({})),Ri=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_mul(re(s,r,t),re(s,r,__tsover_sub(1,t)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"lo"},{type:"i",name:"hi"}],body:[0,[[10,[1,[6,"std.smoothstep",["lo","hi","x"]],"*",[6,"std.smoothstep",["lo","hi",[1,[5,"1"],"-","x"]]]]]]]},externals:{"std.smoothstep":()=>re}})&&e.f)({})),Vg=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_sub(1,re(__tsover_sub(s,__tsover_mul(r,.5)),s,t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"radius"},{type:"i",name:"footprint"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"radius","-",[1,"footprint","*",[5,"0.5"]]],"radius","dist"]]]]]]},externals:{"std.smoothstep":()=>re}})&&e.f)({})),S8=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=bt(s);return l(__tsover_mul(t.x,n),t.y).mul(ct(r)).add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"scale"},{type:"i",name:"seed"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[10,[6,[7,[6,[7,"aspectUV","mul"],[[6,"std.exp",["scale"]]]],"add"],["seed"]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l,"std.exp":()=>ct}})&&e.f)({})),A8=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return q(t.mul(s).div(r)).add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"grain"},{type:"i",name:"seed"}],body:[0,[[10,[6,[7,[6,"std.floor",[[6,[7,[6,[7,"uv","mul"],["viewport"]],"div"],["grain"]]]],"add"],["seed"]]]]]},externals:{"std.floor":()=>q}})&&e.f)({})),M8=v.fn([l,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return f(t.x,t.y,__tsover_mul(s,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"t"},{type:"i",name:"rate"}],body:[0,[[10,[6,"d.vec3f",[[7,"pos","x"],[7,"pos","y"],[1,"t","*","rate"]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),Ng=new WeakMap,tR=0;function Dv(e){let t=e,s=Ng.get(t);if(s!==void 0)return s;let r=tR++;return Ng.set(t,r),r}function s7(e,t){let{maxOctaves:s,drift:r,stride:o=[17,31],name:n="fbmGated"}=t,i=`${Dv(e)}|${n}|${s}|${r}|${o[0]},${o[1]}`,d=qg.get(i);if(d)return d;let c=s,_=o[0],u=o[1],m=`${r==="goldenAngle"?"Golden":"TimeSeed"}${c}`,p;if(r==="goldenAngle"){let y=e;p=v.fn([l,a,a,a,a,l,a],l)((h=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(h.f=((g,w,S,T,A,P,U)=>{"use gpu";let D=Z(U),O=w,L=a(1),G=a(0),W=a(0);for(let K=0;KZ,"d.f32":()=>a,N:()=>c,"std.cos":()=>H,GOLDEN:()=>2.3999632297286535,"std.sin":()=>Y,"d.vec2f":()=>l,"std.select":()=>C,octaveField:()=>y}})&&h.f)({})).$name(`${n}${m}`)}else{let y=e;p=v.fn([l,a,a,a,a,a,f,a],l)((h=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(h.f=((g,w,S,T,A,P,U,D)=>{"use gpu";let O=w,L=a(1),G=a(0),W=a(0);for(let K=0;Ka,N:()=>c,"std.select":()=>C,"d.vec2f":()=>l,TIME_STRIDE:()=>_,SEED_STRIDE:()=>u,octaveField:()=>y}})&&h.f)({})).$name(`${n}${m}`)}return qg.set(i,p),p}var qg=new Map,r7={q:[[.3,-.2,0],[5.2,1.3,.25]],r:[[1.7,9.2,.15],[8.3,2.8,.13]]};function sR(e,t={}){let{offsets:s=r7,name:r="domainWarp2"}=t,o=`${Dv(e)}|${r}|${JSON.stringify(s)}`,n=ql.get(o);if(n)return n;let i=e,[d,c,_]=s.q[0],[u,m,p]=s.q[1],[y,h,g]=s.r[0],[w,S,T]=s.r[1],A=v.fn([f,a,a],f)((P=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(P.f=((U,D,O)=>{"use gpu";let L=i(U.add(f(__tsover_mul(D,d),__tsover_mul(D,c),_))),G=i(U.add(f(u,m,__tsover_mul(D,p)))),W=U.add(f(L,G,0).mul(O)),K=i(W.add(f(y,h,__tsover_mul(D,g)))),Q=i(W.add(f(w,S,__tsover_mul(D,T))));return U.add(f(K,Q,0).mul(O))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"t"},{type:"i",name:"warpAmount"}],body:[0,[[13,"qx",[6,"warpField",[[6,[7,"pos","add"],[[6,"d.vec3f",[[1,"t","*","QX"],[1,"t","*","QY"],"QZ"]]]]]]],[13,"qy",[6,"warpField",[[6,[7,"pos","add"],[[6,"d.vec3f",["Q2X","Q2Y",[1,"t","*","Q2Z"]]]]]]]],[13,"warped1",[6,[7,"pos","add"],[[6,[7,[6,"d.vec3f",["qx","qy",[5,"0"]]],"mul"],["warpAmount"]]]]],[13,"rx",[6,"warpField",[[6,[7,"warped1","add"],[[6,"d.vec3f",["RX","RY",[1,"t","*","RZ"]]]]]]]],[13,"ry",[6,"warpField",[[6,[7,"warped1","add"],[[6,"d.vec3f",["R2X","R2Y",[1,"t","*","R2Z"]]]]]]]],[10,[6,[7,"pos","add"],[[6,[7,[6,"d.vec3f",["rx","ry",[5,"0"]]],"mul"],["warpAmount"]]]]]]]},externals:{warpField:()=>i,"d.vec3f":()=>f,QX:()=>d,QY:()=>c,QZ:()=>_,Q2X:()=>u,Q2Y:()=>m,Q2Z:()=>p,RX:()=>y,RY:()=>h,RZ:()=>g,R2X:()=>w,R2Y:()=>S,R2Z:()=>T}})&&P.f)({})).$name(r);return ql.set(o,A),A}function rR(e,t={}){let{offsets:s=r7,name:r="domainWarp1"}=t,o=`1|${Dv(e)}|${r}|${JSON.stringify(s)}`,n=ql.get(o);if(n)return n;let i=e,[d,c,_]=s.q[0],[u,m,p]=s.q[1],y=v.fn([f,a,a],f)((h=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(h.f=((g,w,S)=>{"use gpu";let T=i(g.add(f(__tsover_mul(w,d),__tsover_mul(w,c),_))),A=i(g.add(f(u,m,__tsover_mul(w,p))));return g.add(f(T,A,0).mul(S))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"t"},{type:"i",name:"warpAmount"}],body:[0,[[13,"qx",[6,"warpField",[[6,[7,"pos","add"],[[6,"d.vec3f",[[1,"t","*","QX"],[1,"t","*","QY"],"QZ"]]]]]]],[13,"qy",[6,"warpField",[[6,[7,"pos","add"],[[6,"d.vec3f",["Q2X","Q2Y",[1,"t","*","Q2Z"]]]]]]]],[10,[6,[7,"pos","add"],[[6,[7,[6,"d.vec3f",["qx","qy",[5,"0"]]],"mul"],["warpAmount"]]]]]]]},externals:{warpField:()=>i,"d.vec3f":()=>f,QX:()=>d,QY:()=>c,QZ:()=>_,Q2X:()=>u,Q2Y:()=>m,Q2Z:()=>p}})&&h.f)({})).$name(r);return ql.set(o,y),y}var ql=new Map,oR=v.fn([l,a,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(t.x,s),t.y),d=l(__tsover_mul(r.x,s),__tsover_sub(1,r.y)),c=j(i.sub(d));return re(o,__tsover_add(o,n),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"},{type:"i",name:"radius"},{type:"i",name:"falloff"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dist",[6,"std.length",[[6,[7,"aspectUV","sub"],["centerPos"]]]]],[10,[6,"std.smoothstep",["radius",[1,"radius","+","falloff"],"dist"]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.smoothstep":()=>re}})&&e.f)({})),wm=.11,Xl=.6180339887,lc=8,Xg=v.fn([a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_add(__tsover_mul(t,2.3999632297286535),__tsover_mul(Gs(__tsover_add(__tsover_mul(r,.7311),1.618)),it)),c=be(__tsover_div(__tsover_add(t,.5),s)),_=er(l(__tsover_add(__tsover_mul(t,3.77),.917),__tsover_add(__tsover_mul(r,1.093),2.236))).sub(.5).mul(.26),u=er(l(__tsover_add(__tsover_mul(t,7.13),1.618),__tsover_add(__tsover_mul(r,.531),3.71))).mul(it),m=__tsover_add(.5,__tsover_mul(Gs(__tsover_add(__tsover_add(__tsover_mul(t,5.417),__tsover_mul(r,.291)),.917)),.7)),p=Y(__tsover_add(__tsover_mul(__tsover_mul(i,wm),m),u.x)),y=H(__tsover_add(__tsover_mul(__tsover_mul(__tsover_mul(i,wm),m),1.37),u.y)),h=__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(H(d),c),.62),_.x),__tsover_mul(__tsover_mul(p,o),.16)),g=__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(Y(d),c),.62),_.y),__tsover_mul(__tsover_mul(y,o),.16));return l(__tsover_mul(__tsover_add(.5,h),n),__tsover_add(.5,g))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fi"},{type:"i",name:"count"},{type:"i",name:"seed"},{type:"i",name:"drift"},{type:"i",name:"aspect"},{type:"i",name:"animTime"}],body:[0,[[13,"theta",[1,[1,"fi","*","GOLDEN"],"+",[1,[6,"hash11",[[1,[1,"seed","*",[5,"0.7311"]],"+",[5,"1.618"]]]],"*","TAU"]]],[13,"r",[6,"std.sqrt",[[1,[1,"fi","+",[5,"0.5"]],"/","count"]]]],[13,"j",[6,[7,[6,[7,[6,"hash22",[[6,"d.vec2f",[[1,[1,"fi","*",[5,"3.77"]],"+",[5,"0.917"]],[1,[1,"seed","*",[5,"1.093"]],"+",[5,"2.236"]]]]]],"sub"],[[5,"0.5"]]],"mul"],[[5,"0.26"]]]],[13,"ph",[6,[7,[6,"hash22",[[6,"d.vec2f",[[1,[1,"fi","*",[5,"7.13"]],"+",[5,"1.618"]],[1,[1,"seed","*",[5,"0.531"]],"+",[5,"3.71"]]]]]],"mul"],["TAU"]]],[13,"w1",[1,[5,"0.5"],"+",[1,[6,"hash11",[[1,[1,[1,"fi","*",[5,"5.417"]],"+",[1,"seed","*",[5,"0.291"]]],"+",[5,"0.917"]]]],"*",[5,"0.7"]]]],[13,"dx",[6,"std.sin",[[1,[1,[1,"animTime","*","SCATTER_DRIFT_RATE"],"*","w1"],"+",[7,"ph","x"]]]]],[13,"dy",[6,"std.cos",[[1,[1,[1,[1,"animTime","*","SCATTER_DRIFT_RATE"],"*","w1"],"*",[5,"1.37"]],"+",[7,"ph","y"]]]]],[13,"nx",[1,[1,[1,[1,[6,"std.cos",["theta"]],"*","r"],"*",[5,"0.62"]],"+",[7,"j","x"]],"+",[1,[1,"dx","*","drift"],"*",[5,"0.16"]]]],[13,"ny",[1,[1,[1,[1,[6,"std.sin",["theta"]],"*","r"],"*",[5,"0.62"]],"+",[7,"j","y"]],"+",[1,[1,"dy","*","drift"],"*",[5,"0.16"]]]],[10,[6,"d.vec2f",[[1,[1,[5,"0.5"],"+","nx"],"*","aspect"],[1,[5,"0.5"],"+","ny"]]]]]]},externals:{GOLDEN:()=>2.3999632297286535,hash11:()=>Gs,TAU:()=>it,"std.sqrt":()=>be,hash22:()=>er,"d.vec2f":()=>l,"std.sin":()=>Y,SCATTER_DRIFT_RATE:()=>wm,"std.cos":()=>H}})&&e.f)({})),nR=v.fn([l,a,a,pt(x,lc/2),a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=a(0),d=a(0),c=Gs(__tsover_add(__tsover_mul(r,.531),.77));for(let _=0;_a,hash11:()=>Gs,SCATTER_MAX:()=>lc,"std.select":()=>C,"std.max":()=>b,"std.length":()=>j,"std.pow":()=>Ce,"std.fract":()=>ue,GOLDEN_CONJ:()=>Xl}})&&e.f)({})),aR=v.fn([l,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=a(0),_=a(0);for(let u=0;ua,SCATTER_MAX:()=>lc,"std.select":()=>C,spiralScatter:()=>Xg,"std.max":()=>b,"std.length":()=>j,"std.pow":()=>Ce,"std.fract":()=>ue,GOLDEN_CONJ:()=>Xl,hash11:()=>Gs}})&&e.f)({})),iR=v.fn([l,a,a,l,l,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=f(__tsover_mul(t.x,s),__tsover_mul(t.y,s),r),_=go(c.add(f(o.x,o.y,0))),u=go(c.add(f(n.x,n.y,0)));return x(__tsover_add(t.x,__tsover_mul(__tsover_mul(_,i),d)),__tsover_add(t.y,__tsover_mul(__tsover_mul(u,i),d)),_,u)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"scale"},{type:"i",name:"z"},{type:"i",name:"offA"},{type:"i",name:"offB"},{type:"i",name:"k"},{type:"i",name:"strength"}],body:[0,[[13,"wp",[6,"d.vec3f",[[1,[7,"pos","x"],"*","scale"],[1,[7,"pos","y"],"*","scale"],"z"]]],[13,"nx",[6,"mxNoiseFloat3",[[6,[7,"wp","add"],[[6,"d.vec3f",[[7,"offA","x"],[7,"offA","y"],[5,"0"]]]]]]]],[13,"ny",[6,"mxNoiseFloat3",[[6,[7,"wp","add"],[[6,"d.vec3f",[[7,"offB","x"],[7,"offB","y"],[5,"0"]]]]]]]],[10,[6,"d.vec4f",[[1,[7,"pos","x"],"+",[1,[1,"nx","*","k"],"*","strength"]],[1,[7,"pos","y"],"+",[1,[1,"ny","*","k"],"*","strength"]],"nx","ny"]]]]]},externals:{"d.vec3f":()=>f,mxNoiseFloat3:()=>go,"d.vec4f":()=>x}})&&e.f)({})),N_=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(Y(l(se(t,l(127.1,311.7)),se(t,l(269.5,183.3)))).mul(43758.5453))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"h",[6,"d.vec2f",[[6,"std.dot",["p",[6,"d.vec2f",[[5,"127.1"],[5,"311.7"]]]]],[6,"std.dot",["p",[6,"d.vec2f",[[5,"269.5"],[5,"183.3"]]]]]]]],[10,[6,"std.fract",[[6,[7,[6,"std.sin",["h"]],"mul"],[[5,"43758.5453"]]]]]]]]},externals:{"d.vec2f":()=>l,"std.dot":()=>se,"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({}));function o7(e){let{distance:t,jitter:s,name:r="nearest2Cells"}=e,o=`${r}|${t}|${s}`,n=Hg.get(o);if(n)return n;let i=`${t==="length"?"Len":"Sel"}${s==="mix"?"Jit":""}`,d;return t==="length"&&s==="none"?d=v.fn([l,a,a],l)((c=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(c.f=((_,u,m)=>{"use gpu";let p=q(_),y=ue(_),h=a(10),g=a(10);for(let w=-1;w<=1;w++)for(let S=-1;S<=1;S++){let T=l(a(S),a(w)),A=N_(l(__tsover_add(__tsover_add(p.x,T.x),m),__tsover_add(__tsover_add(p.y,T.y),m))),P=$(__tsover_add(A.x,__tsover_mul(Y(__tsover_add(u,__tsover_mul(A.x,it))),.15)),.05,.95),U=$(__tsover_add(A.y,__tsover_mul(H(__tsover_add(__tsover_mul(u,.7),__tsover_mul(A.y,it))),.15)),.05,.95),D=j(l(__tsover_sub(y.x,__tsover_add(T.x,P)),__tsover_sub(y.y,__tsover_add(T.y,U))));g=oe(g,b(D,h)),h=oe(h,D)}return l(h,g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"animT"},{type:"i",name:"seed"}],body:[0,[[13,"cell",[6,"std.floor",["scaledUV"]]],[13,"localUV",[6,"std.fract",["scaledUV"]]],[12,"d1",[6,"d.f32",[[5,"10"]]]],[12,"d2",[6,"d.f32",[[5,"10"]]]],[14,[12,"ny",[4,"-",[5,"1"]]],[1,"ny","<=",[5,"1"]],[102,"++","ny"],[0,[[14,[12,"nx",[4,"-",[5,"1"]]],[1,"nx","<=",[5,"1"]],[102,"++","nx"],[0,[[13,"offset",[6,"d.vec2f",[[6,"d.f32",["nx"]],[6,"d.f32",["ny"]]]]],[13,"h",[6,"cellHash2",[[6,"d.vec2f",[[1,[1,[7,"cell","x"],"+",[7,"offset","x"]],"+","seed"],[1,[1,[7,"cell","y"],"+",[7,"offset","y"]],"+","seed"]]]]]],[13,"pointX",[6,"std.clamp",[[1,[7,"h","x"],"+",[1,[6,"std.sin",[[1,"animT","+",[1,[7,"h","x"],"*","TAU"]]]],"*",[5,"0.15"]]],[5,"0.05"],[5,"0.95"]]]],[13,"pointY",[6,"std.clamp",[[1,[7,"h","y"],"+",[1,[6,"std.cos",[[1,[1,"animT","*",[5,"0.7"]],"+",[1,[7,"h","y"],"*","TAU"]]]],"*",[5,"0.15"]]],[5,"0.05"],[5,"0.95"]]]],[13,"dd",[6,"std.length",[[6,"d.vec2f",[[1,[7,"localUV","x"],"-",[1,[7,"offset","x"],"+","pointX"]],[1,[7,"localUV","y"],"-",[1,[7,"offset","y"],"+","pointY"]]]]]]],[2,"d2","=",[6,"std.min",["d2",[6,"std.max",["dd","d1"]]]]],[2,"d1","=",[6,"std.min",["d1","dd"]]]]]]]]],[10,[6,"d.vec2f",["d1","d2"]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,"d.f32":()=>a,"d.vec2f":()=>l,cellHash2:()=>N_,"std.clamp":()=>$,"std.sin":()=>Y,TAU:()=>it,"std.cos":()=>H,"std.length":()=>j,"std.min":()=>oe,"std.max":()=>b}})&&c.f)({})).$name(`${r}${i}`):d=v.fn([l,a,a,a,a],l)((c=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(c.f=((_,u,m,p,y)=>{"use gpu";let h=__tsover_mul(u,.7),g=q(_),w=ue(_),S=a(10),T=a(10);for(let A=-1;A<=1;A++)for(let P=-1;P<=1;P++){let U=l(a(P),a(A)),D=N_(l(__tsover_add(__tsover_add(g.x,U.x),m),__tsover_add(__tsover_add(g.y,U.y),m))),O=__tsover_add(D.x,__tsover_mul(Y(__tsover_add(u,__tsover_mul(D.x,it))),.15)),L=__tsover_add(D.y,__tsover_mul(H(__tsover_add(h,__tsover_mul(D.y,it))),.15)),G=X(.5,$(O,.05,.95),p),W=X(.5,$(L,.05,.95),p),K=__tsover_sub(w.x,__tsover_add(U.x,G)),Q=__tsover_sub(w.y,__tsover_add(U.y,W)),te=__tsover_add(__tsover_mul(K,K),__tsover_mul(Q,Q)),ee=__tsover_add(z(K),z(Q)),he=b(z(K),z(Q)),Ee=te;Ee=C(Ee,ee,y===1),Ee=C(Ee,he,y===2),T=oe(T,b(Ee,S)),S=oe(S,Ee)}return l(S,T)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"animT"},{type:"i",name:"seed"},{type:"i",name:"jitterAmount"},{type:"i",name:"metric"}],body:[0,[[13,"animTSlow",[1,"animT","*",[5,"0.7"]]],[13,"cell",[6,"std.floor",["scaledUV"]]],[13,"localUV",[6,"std.fract",["scaledUV"]]],[12,"d1",[6,"d.f32",[[5,"10"]]]],[12,"d2",[6,"d.f32",[[5,"10"]]]],[14,[12,"ny",[4,"-",[5,"1"]]],[1,"ny","<=",[5,"1"]],[102,"++","ny"],[0,[[14,[12,"nx",[4,"-",[5,"1"]]],[1,"nx","<=",[5,"1"]],[102,"++","nx"],[0,[[13,"offset",[6,"d.vec2f",[[6,"d.f32",["nx"]],[6,"d.f32",["ny"]]]]],[13,"h",[6,"cellHash2",[[6,"d.vec2f",[[1,[1,[7,"cell","x"],"+",[7,"offset","x"]],"+","seed"],[1,[1,[7,"cell","y"],"+",[7,"offset","y"]],"+","seed"]]]]]],[13,"px",[1,[7,"h","x"],"+",[1,[6,"std.sin",[[1,"animT","+",[1,[7,"h","x"],"*","TAU"]]]],"*",[5,"0.15"]]]],[13,"py",[1,[7,"h","y"],"+",[1,[6,"std.cos",[[1,"animTSlow","+",[1,[7,"h","y"],"*","TAU"]]]],"*",[5,"0.15"]]]],[13,"jx",[6,"std.mix",[[5,"0.5"],[6,"std.clamp",["px",[5,"0.05"],[5,"0.95"]]],"jitterAmount"]]],[13,"jy",[6,"std.mix",[[5,"0.5"],[6,"std.clamp",["py",[5,"0.05"],[5,"0.95"]]],"jitterAmount"]]],[13,"deltaX",[1,[7,"localUV","x"],"-",[1,[7,"offset","x"],"+","jx"]]],[13,"deltaY",[1,[7,"localUV","y"],"-",[1,[7,"offset","y"],"+","jy"]]],[13,"dEuclid",[1,[1,"deltaX","*","deltaX"],"+",[1,"deltaY","*","deltaY"]]],[13,"dManhattan",[1,[6,"std.abs",["deltaX"]],"+",[6,"std.abs",["deltaY"]]]],[13,"dChebyshev",[6,"std.max",[[6,"std.abs",["deltaX"]],[6,"std.abs",["deltaY"]]]]],[12,"dd","dEuclid"],[2,"dd","=",[6,"std.select",["dd","dManhattan",[1,"metric","===",[5,"1"]]]]],[2,"dd","=",[6,"std.select",["dd","dChebyshev",[1,"metric","===",[5,"2"]]]]],[2,"d2","=",[6,"std.min",["d2",[6,"std.max",["dd","d1"]]]]],[2,"d1","=",[6,"std.min",["d1","dd"]]]]]]]]],[10,[6,"d.vec2f",["d1","d2"]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,"d.f32":()=>a,"d.vec2f":()=>l,cellHash2:()=>N_,"std.sin":()=>Y,TAU:()=>it,"std.cos":()=>H,"std.mix":()=>X,"std.clamp":()=>$,"std.abs":()=>z,"std.max":()=>b,"std.select":()=>C,"std.min":()=>oe}})&&c.f)({})).$name(`${r}${i}`),Hg.set(o,d),d}var Hg=new Map;var jg=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=r===0,i=C(t,be(t),n),d=C(s,be(s),n),c=i;return c=C(c,d,o===1),c=C(c,__tsover_sub(d,i),o===2),c=C(c,__tsover_add(i,d),o===3),c=C(c,__tsover_mul(i,d),o===4),c}),{v:2,name:void 0,ast:{params:[{type:"i",name:"d1"},{type:"i",name:"d2"},{type:"i",name:"metric"},{type:"i",name:"mode"}],body:[0,[[13,"isEuclid",[1,"metric","===",[5,"0"]]],[13,"sd1",[6,"std.select",["d1",[6,"std.sqrt",["d1"]],"isEuclid"]]],[13,"sd2",[6,"std.select",["d2",[6,"std.sqrt",["d2"]],"isEuclid"]]],[12,"raw","sd1"],[2,"raw","=",[6,"std.select",["raw","sd2",[1,"mode","===",[5,"1"]]]]],[2,"raw","=",[6,"std.select",["raw",[1,"sd2","-","sd1"],[1,"mode","===",[5,"2"]]]]],[2,"raw","=",[6,"std.select",["raw",[1,"sd1","+","sd2"],[1,"mode","===",[5,"3"]]]]],[2,"raw","=",[6,"std.select",["raw",[1,"sd1","*","sd2"],[1,"mode","===",[5,"4"]]]]],[10,"raw"]]]},externals:{"std.select":()=>C,"std.sqrt":()=>be}})&&e.f)({})),Kg=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=b(__tsover_add(t,s),1e-4);return $(Ce($(__tsover_div(__tsover_mul(t,2),o),0,1),r),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"d1"},{type:"i",name:"d2"},{type:"i",name:"power"}],body:[0,[[13,"safeSum",[6,"std.max",[[1,"d1","+","d2"],[5,"0.0001"]]]],[13,"normalizedDist",[6,"std.clamp",[[1,[1,"d1","*",[5,"2"]],"/","safeSum"],[5,"0"],[5,"1"]]]],[10,[6,"std.clamp",[[6,"std.pow",["normalizedDist","power"]],[5,"0"],[5,"1"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.pow":()=>Ce}})&&e.f)({})),Zg=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=b(__tsover_add(t,s),1e-4),n=__tsover_div(__tsover_sub(s,t),o);return re(0,__tsover_add(r,.001),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"d1"},{type:"i",name:"d2"},{type:"i",name:"softness"}],body:[0,[[13,"safeSum",[6,"std.max",[[1,"d1","+","d2"],[5,"0.0001"]]]],[13,"edgeMetric",[1,[1,"d2","-","d1"],"/","safeSum"]],[10,[6,"std.smoothstep",[[5,"0"],[1,"softness","+",[5,"0.001"]],"edgeMetric"]]]]]},externals:{"std.max":()=>b,"std.smoothstep":()=>re}})&&e.f)({})),Qg=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return ct(-__tsover_mul(__tsover_mul(t,t),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"sharpness"}],body:[0,[[10,[6,"std.exp",[[4,"-",[1,[1,"dist","*","dist"],"*","sharpness"]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),Tm=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return ct(__tsover_mul(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s)),-r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"du"},{type:"i",name:"dv"},{type:"i",name:"sharpness"}],body:[0,[[10,[6,"std.exp",[[1,[1,[1,"du","*","du"],"+",[1,"dv","*","dv"]],"*",[4,"-","sharpness"]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),P8=v.fn([l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(__tsover_sub(t.x,r),s),d=__tsover_sub(t.y,o),c=__tsover_add(__tsover_mul(i,i),__tsover_mul(d,d));return ct(__tsover_div(__tsover_mul(-.5,c),n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"lx"},{type:"i",name:"ly"},{type:"i",name:"sizeSq"}],body:[0,[[13,"dx",[1,[1,[7,"uv","x"],"-","lx"],"*","aspect"]],[13,"dy",[1,[7,"uv","y"],"-","ly"]],[13,"dd2",[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]],[10,[6,"std.exp",[[1,[1,[4,"-",[5,"0.5"]],"*","dd2"],"/","sizeSq"]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),Jg=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return Ce(__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(t,s),r)),.5),.5),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angle"},{type:"i",name:"count"},{type:"i",name:"phase"},{type:"i",name:"sharpness"}],body:[0,[[13,"t",[1,[1,[6,"std.sin",[[1,[1,"angle","*","count"],"+","phase"]]],"*",[5,"0.5"]],"+",[5,"0.5"]]],[10,[6,"std.pow",["t","sharpness"]]]]]},externals:{"std.sin":()=>Y,"std.pow":()=>Ce}})&&e.f)({})),Sm=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return Ce(z(H(__tsover_mul(t,s))),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angle"},{type:"i",name:"halfCount"},{type:"i",name:"power"}],body:[0,[[10,[6,"std.pow",[[6,"std.abs",[[6,"std.cos",[[1,"angle","*","halfCount"]]]]],"power"]]]]]},externals:{"std.pow":()=>Ce,"std.abs":()=>z,"std.cos":()=>H}})&&e.f)({})),e3=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=tt(t.y,t.x);return f(s,__tsover_sub(s,__tsover_mul(it,q(__tsover_div(s,it)))),re(-.15,.15,t.x))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"delta"}],body:[0,[[13,"angle",[6,"std.atan2",[[7,"delta","y"],[7,"delta","x"]]]],[13,"angleWrapped",[1,"angle","-",[1,"TAU","*",[6,"std.floor",[[1,"angle","/","TAU"]]]]]],[13,"blend",[6,"std.smoothstep",[[4,"-",[5,"0.15"]],[5,"0.15"],[7,"delta","x"]]]],[10,[6,"d.vec3f",["angle","angleWrapped","blend"]]]]]},externals:{"std.atan2":()=>tt,TAU:()=>it,"std.floor":()=>q,"std.smoothstep":()=>re,"d.vec3f":()=>f}})&&e.f)({})),Hl=v.fn([a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(o,1e-4);return f(__tsover_sub(1,re(0,n,z(__tsover_sub(t,__tsover_add(s,r))))),__tsover_sub(1,re(0,n,z(__tsover_sub(t,s)))),__tsover_sub(1,re(0,n,z(__tsover_sub(t,__tsover_sub(s,r))))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"center"},{type:"i",name:"spread"},{type:"i",name:"width"}],body:[0,[[13,"w",[6,"std.max",["width",[5,"0.0001"]]]],[13,"r",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"w",[6,"std.abs",[[1,"dist","-",[1,"center","+","spread"]]]]]]]],[13,"g",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"w",[6,"std.abs",[[1,"dist","-","center"]]]]]]],[13,"b",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"w",[6,"std.abs",[[1,"dist","-",[1,"center","-","spread"]]]]]]]],[10,[6,"d.vec3f",["r","g","b"]]]]]},externals:{"std.max":()=>b,"std.smoothstep":()=>re,"std.abs":()=>z,"d.vec3f":()=>f}})&&e.f)({})),t3=v.fn([l,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=l(__tsover_sub(r.x,s.x),__tsover_sub(r.y,s.y)),n=l(__tsover_sub(t.x,s.x),__tsover_sub(t.y,s.y)),i=__tsover_add(__tsover_mul(n.x,o.x),__tsover_mul(n.y,o.y)),d=__tsover_add(__tsover_mul(o.x,o.x),__tsover_mul(o.y,o.y)),c=$(__tsover_div(i,b(d,1e-4)),0,1),_=l(__tsover_add(s.x,__tsover_mul(o.x,c)),__tsover_add(s.y,__tsover_mul(o.y,c))),u=l(__tsover_sub(t.x,_.x),__tsover_sub(t.y,_.y));return l(c,be(__tsover_add(__tsover_mul(u.x,u.x),__tsover_mul(u.y,u.y))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"}],body:[0,[[13,"lineVec",[6,"d.vec2f",[[1,[7,"b","x"],"-",[7,"a","x"]],[1,[7,"b","y"],"-",[7,"a","y"]]]]],[13,"toPoint",[6,"d.vec2f",[[1,[7,"p","x"],"-",[7,"a","x"]],[1,[7,"p","y"],"-",[7,"a","y"]]]]],[13,"dotProduct",[1,[1,[7,"toPoint","x"],"*",[7,"lineVec","x"]],"+",[1,[7,"toPoint","y"],"*",[7,"lineVec","y"]]]],[13,"lineLengthSq",[1,[1,[7,"lineVec","x"],"*",[7,"lineVec","x"]],"+",[1,[7,"lineVec","y"],"*",[7,"lineVec","y"]]]],[13,"t",[6,"std.clamp",[[1,"dotProduct","/",[6,"std.max",["lineLengthSq",[5,"0.0001"]]]],[5,"0"],[5,"1"]]]],[13,"closestPoint",[6,"d.vec2f",[[1,[7,"a","x"],"+",[1,[7,"lineVec","x"],"*","t"]],[1,[7,"a","y"],"+",[1,[7,"lineVec","y"],"*","t"]]]]],[13,"distVec",[6,"d.vec2f",[[1,[7,"p","x"],"-",[7,"closestPoint","x"]],[1,[7,"p","y"],"-",[7,"closestPoint","y"]]]]],[10,[6,"d.vec2f",["t",[6,"std.sqrt",[[1,[1,[7,"distVec","x"],"*",[7,"distVec","x"]],"+",[1,[7,"distVec","y"],"*",[7,"distVec","y"]]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.clamp":()=>$,"std.max":()=>b,"std.sqrt":()=>be}})&&e.f)({})),s3=v.fn([a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=X(r,o,s),c=b(X(n,i,s),1e-4),_=__tsover_div(t,b(d,1e-4)),u=__tsover_add(1,c),m=Ce(__tsover_sub(1,re(1,u,_)),__tsover_add(1,__tsover_mul(c,1.5)));return l(re(__tsover_sub(1,c),__tsover_add(1,c),_),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"t"},{type:"i",name:"startThickness"},{type:"i",name:"endThickness"},{type:"i",name:"startSoftness"},{type:"i",name:"endSoftness"}],body:[0,[[13,"thickness",[6,"std.mix",["startThickness","endThickness","t"]]],[13,"softness",[6,"std.max",[[6,"std.mix",["startSoftness","endSoftness","t"]],[5,"0.0001"]]]],[13,"normalizedDist",[1,"dist","/",[6,"std.max",["thickness",[5,"0.0001"]]]]],[13,"edgeEnd",[1,[5,"1"],"+","softness"]],[13,"alphaBase",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"1"],"edgeEnd","normalizedDist"]]]],[13,"softnessFactor",[1,[5,"1"],"+",[1,"softness","*",[5,"1.5"]]]],[13,"alpha",[6,"std.pow",["alphaBase","softnessFactor"]]],[13,"colorGradientStart",[1,[5,"1"],"-","softness"]],[13,"colorGradientEnd",[1,[5,"1"],"+","softness"]],[13,"colorT",[6,"std.smoothstep",["colorGradientStart","colorGradientEnd","normalizedDist"]]],[10,[6,"d.vec2f",["colorT","alpha"]]]]]},externals:{"std.mix":()=>X,"std.max":()=>b,"std.smoothstep":()=>re,"std.pow":()=>Ce,"d.vec2f":()=>l}})&&e.f)({})),Am=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return ct(__tsover_div(__tsover_mul(__tsover_mul(__tsover_sub(t,s),__tsover_sub(t,s)),-1),__tsover_mul(r,r)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"u"},{type:"i",name:"center"},{type:"i",name:"width"}],body:[0,[[10,[6,"std.exp",[[1,[1,[1,[1,"u","-","center"],"*",[1,"u","-","center"]],"*",[4,"-",[5,"1"]]],"/",[1,"width","*","width"]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),q_=v.fn([a,f,f,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=re(0,.5,t),i=re(.55,1.15,t);return X(X(o,r,f(n)),s,f(i)).mul($(t,0,1.6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"heat"},{type:"i",name:"hot"},{type:"i",name:"mid"},{type:"i",name:"fringe"}],body:[0,[[13,"toMid",[6,"std.smoothstep",[[5,"0"],[5,"0.5"],"heat"]]],[13,"toHot",[6,"std.smoothstep",[[5,"0.55"],[5,"1.15"],"heat"]]],[13,"rgb",[6,"std.mix",[[6,"std.mix",["fringe","mid",[6,"d.vec3f",["toMid"]]]],"hot",[6,"d.vec3f",["toHot"]]]]],[10,[6,[7,"rgb","mul"],[[6,"std.clamp",["heat",[5,"0"],[5,"1.6"]]]]]]]]},externals:{"std.smoothstep":()=>re,"std.mix":()=>X,"d.vec3f":()=>f,"std.clamp":()=>$}})&&e.f)({})),E8=v.fn([a,f,f,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=q_(__tsover_mul(t,1.08),s,r,o),i=q_(t,s,r,o),d=q_(__tsover_mul(t,.88),s,r,o);return f(n.x,i.y,d.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"heat"},{type:"i",name:"hot"},{type:"i",name:"mid"},{type:"i",name:"fringe"}],body:[0,[[13,"rampR",[6,"heatRamp3",[[1,"heat","*",[5,"1.08"]],"hot","mid","fringe"]]],[13,"rampG",[6,"heatRamp3",["heat","hot","mid","fringe"]]],[13,"rampB",[6,"heatRamp3",[[1,"heat","*",[5,"0.88"]],"hot","mid","fringe"]]],[10,[6,"d.vec3f",[[7,"rampR","x"],[7,"rampG","y"],[7,"rampB","z"]]]]]]},externals:{heatRamp3:()=>q_,"d.vec3f":()=>f}})&&e.f)({})),k8=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s,__tsover_sub(1,r));return __tsover_sub(1,re(o,s,t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"radius"},{type:"i",name:"feather"}],body:[0,[[13,"falloffStart",[1,"radius","*",[1,[5,"1"],"-","feather"]]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",["falloffStart","radius","dist"]]]]]]},externals:{"std.smoothstep":()=>re}})&&e.f)({})),$8=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return Jg(t,s,r,__tsover_mul(__tsover_div(1,__tsover_add(o,.05)),.3))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angle"},{type:"i",name:"count"},{type:"i",name:"phase"},{type:"i",name:"softness"}],body:[0,[[13,"sharpness",[1,[1,[5,"1"],"/",[1,"softness","+",[5,"0.05"]]],"*",[5,"0.3"]]],[10,[6,"angularSineLobes",["angle","count","phase","sharpness"]]]]]},externals:{angularSineLobes:()=>Jg}})&&e.f)({})),U8=v.fn([l,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=r.x,i=__tsover_sub(1,r.y),d=__tsover_sub(__tsover_mul(t.x,o),__tsover_mul(n,o)),c=__tsover_sub(t.y,i);return l(be(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c))),tt(c,d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"center"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"cx",[7,"center","x"]],[13,"cy",[1,[5,"1"],"-",[7,"center","y"]]],[13,"dx",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,"cx","*","aspect"]]],[13,"dy",[1,[7,"uv","y"],"-","cy"]],[13,"dist",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[13,"angle",[6,"std.atan2",["dy","dx"]]],[10,[6,"d.vec2f",["dist","angle"]]]]]},externals:{"geom.aspectOf":()=>bt,"std.sqrt":()=>be,"std.atan2":()=>tt,"d.vec2f":()=>l}})&&e.f)({})),C8=v.fn([l,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=__tsover_mul(__tsover_sub(t.x,.5),o),i=__tsover_sub(t.y,.5),d=__tsover_add(__tsover_mul(n,n),__tsover_mul(i,i));return $(__tsover_sub(1,__tsover_mul(d,r)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"strength"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"vigX",[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"]],[13,"vigY",[1,[7,"uv","y"],"-",[5,"0.5"]]],[13,"vigD2",[1,[1,"vigX","*","vigX"],"+",[1,"vigY","*","vigY"]]],[10,[6,"std.clamp",[[1,[5,"1"],"-",[1,"vigD2","*","strength"]],[5,"0"],[5,"1"]]]]]]},externals:{"geom.aspectOf":()=>bt,"std.clamp":()=>$}})&&e.f)({})),R8=v.fn([x,f],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.xyz,o=$(f(1,1,1).sub(f(1,1,1).sub($(r,f(0),f(1))).mul(f(1,1,1).sub($(s,f(0),f(1))))).add(s.mul(.16)),f(0),f(1)),n=$(Ll(s),0,1);return x(o,$(__tsover_add(t.w,__tsover_mul(n,.85)),0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"leakRgb"}],body:[0,[[13,"base",[7,"color","xyz"]],[13,"screened",[6,[7,[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]],"sub"],[[6,[7,[6,[7,[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]],"sub"],[[6,"std.clamp",["base",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]],"mul"],[[6,[7,[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]],"sub"],[[6,"std.clamp",["leakRgb",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]]]]]]],[13,"lifted",[6,[7,"screened","add"],[[6,[7,"leakRgb","mul"],[[5,"0.16"]]]]]],[13,"outRgb",[6,"std.clamp",["lifted",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]],[13,"leakLuma",[6,"std.clamp",[[6,"tone.luma601Dot",["leakRgb"]],[5,"0"],[5,"1"]]]],[13,"outA",[6,"std.clamp",[[1,[7,"color","w"],"+",[1,"leakLuma","*",[5,"0.85"]]],[5,"0"],[5,"1"]]]],[10,[6,"d.vec4f",["outRgb","outA"]]]]]},externals:{"d.vec3f":()=>f,"std.clamp":()=>$,"tone.luma601Dot":()=>Ll,"d.vec4f":()=>x}})&&e.f)({})),z8=v.fn([l,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=l(__tsover_mul(t.x,s),t.y),n=l(__tsover_mul(r.x,s),__tsover_sub(1,r.y)),i=l(__tsover_mul(s,.5),.5).sub(n),d=j(i),c=C(__tsover_div(i.x,b(d,.001)),a(1),d<.02),_=C(__tsover_div(i.y,b(d,.001)),a(0),d<.02),u=__tsover_sub(o.x,n.x),m=__tsover_sub(o.y,n.y);return l(__tsover_add(__tsover_mul(u,c),__tsover_mul(m,_)),__tsover_sub(__tsover_mul(m,c),__tsover_mul(u,_)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"anchorRaw"}],body:[0,[[13,"pA",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"anchor",[6,"d.vec2f",[[1,[7,"anchorRaw","x"],"*","aspect"],[1,[5,"1"],"-",[7,"anchorRaw","y"]]]]],[13,"toCenter",[6,[7,[6,"d.vec2f",[[1,"aspect","*",[5,"0.5"]],[5,"0.5"]]],"sub"],["anchor"]]],[13,"cLen",[6,"std.length",["toCenter"]]],[13,"dirX",[6,"std.select",[[1,[7,"toCenter","x"],"/",[6,"std.max",["cLen",[5,"0.001"]]]],[6,"d.f32",[[5,"1"]]],[1,"cLen","<",[5,"0.02"]]]]],[13,"dirY",[6,"std.select",[[1,[7,"toCenter","y"],"/",[6,"std.max",["cLen",[5,"0.001"]]]],[6,"d.f32",[[5,"0"]]],[1,"cLen","<",[5,"0.02"]]]]],[13,"relX",[1,[7,"pA","x"],"-",[7,"anchor","x"]]],[13,"relY",[1,[7,"pA","y"],"-",[7,"anchor","y"]]],[10,[6,"d.vec2f",[[1,[1,"relX","*","dirX"],"+",[1,"relY","*","dirY"]],[1,[1,"relY","*","dirX"],"-",[1,"relX","*","dirY"]]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.select":()=>C,"std.max":()=>b,"d.f32":()=>a}})&&e.f)({}));var sn=1e-4,pa=1.0471975512,Fo=6/29,jl=500,Kl=200,X_=Fo*Fo*Fo,ta=4/29,H_=1/(3*Fo*Fo),j_=3*Fo*Fo,$s=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return f(__tsover_sub(__tsover_sub(__tsover_mul(t.x,1.2249401),__tsover_mul(t.y,.2249404)),__tsover_mul(t.z,0)),__tsover_add(__tsover_add(__tsover_mul(t.x,-.0420569),__tsover_mul(t.y,1.0420571)),__tsover_mul(t.z,0)),__tsover_add(__tsover_sub(__tsover_mul(t.x,-.0196376),__tsover_mul(t.y,.0786361)),__tsover_mul(t.z,1.0982735)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p3"}],body:[0,[[13,"r",[1,[1,[1,[7,"p3","x"],"*",[5,"1.2249401"]],"-",[1,[7,"p3","y"],"*",[5,"0.2249404"]]],"-",[1,[7,"p3","z"],"*",[5,"0"]]]],[13,"g",[1,[1,[1,[7,"p3","x"],"*",[4,"-",[5,"0.0420569"]]],"+",[1,[7,"p3","y"],"*",[5,"1.0420571"]]],"+",[1,[7,"p3","z"],"*",[5,"0"]]]],[13,"b",[1,[1,[1,[7,"p3","x"],"*",[4,"-",[5,"0.0196376"]]],"-",[1,[7,"p3","y"],"*",[5,"0.0786361"]]],"+",[1,[7,"p3","z"],"*",[5,"1.0982735"]]]],[10,[6,"d.vec3f",["r","g","b"]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),ss=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return f(__tsover_add(__tsover_add(__tsover_mul(t.x,.8224621),__tsover_mul(t.y,.177538)),__tsover_mul(t.z,0)),__tsover_add(__tsover_add(__tsover_mul(t.x,.0331941),__tsover_mul(t.y,.9668058)),__tsover_mul(t.z,0)),__tsover_add(__tsover_add(__tsover_mul(t.x,.0170826),__tsover_mul(t.y,.0723974)),__tsover_mul(t.z,.9105199)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"srgb"}],body:[0,[[13,"r",[1,[1,[1,[7,"srgb","x"],"*",[5,"0.8224621"]],"+",[1,[7,"srgb","y"],"*",[5,"0.177538"]]],"+",[1,[7,"srgb","z"],"*",[5,"0"]]]],[13,"g",[1,[1,[1,[7,"srgb","x"],"*",[5,"0.0331941"]],"+",[1,[7,"srgb","y"],"*",[5,"0.9668058"]]],"+",[1,[7,"srgb","z"],"*",[5,"0"]]]],[13,"b",[1,[1,[1,[7,"srgb","x"],"*",[5,"0.0170826"]],"+",[1,[7,"srgb","y"],"*",[5,"0.0723974"]]],"+",[1,[7,"srgb","z"],"*",[5,"0.9105199"]]]],[10,[6,"d.vec3f",["r","g","b"]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),To=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_add(__tsover_add(__tsover_mul(s,.4122214708),__tsover_mul(r,.5363325363)),__tsover_mul(o,.0514459929)),i=__tsover_add(__tsover_mul(s,.2119034982),__tsover_add(__tsover_mul(r,.6806995451),__tsover_mul(o,.1073969566))),d=__tsover_add(__tsover_add(__tsover_mul(s,.0883024619),__tsover_mul(r,.2817188376)),__tsover_mul(o,.6299787005)),c=__tsover_mul(ks(n),Ce(z(n),__tsover_div(1,3))),_=__tsover_mul(ks(i),Ce(z(i),__tsover_div(1,3))),u=__tsover_mul(ks(d),Ce(z(d),__tsover_div(1,3)));return f(__tsover_sub(__tsover_add(__tsover_mul(c,.2104542553),__tsover_mul(_,.793617785)),__tsover_mul(u,.0040720468)),__tsover_add(__tsover_sub(__tsover_mul(c,1.9779984951),__tsover_mul(_,2.428592205)),__tsover_mul(u,.4505937099)),__tsover_sub(__tsover_add(__tsover_mul(c,.0259040371),__tsover_mul(_,.7827717662)),__tsover_mul(u,.808675766)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[13,"r",[7,"rgb","x"]],[13,"g",[7,"rgb","y"]],[13,"b",[7,"rgb","z"]],[13,"l",[1,[1,[1,"r","*",[5,"0.4122214708"]],"+",[1,"g","*",[5,"0.5363325363"]]],"+",[1,"b","*",[5,"0.0514459929"]]]],[13,"m",[1,[1,"r","*",[5,"0.2119034982"]],"+",[1,[1,"g","*",[5,"0.6806995451"]],"+",[1,"b","*",[5,"0.1073969566"]]]]],[13,"s",[1,[1,[1,"r","*",[5,"0.0883024619"]],"+",[1,"g","*",[5,"0.2817188376"]]],"+",[1,"b","*",[5,"0.6299787005"]]]],[13,"l_",[1,[6,"std.sign",["l"]],"*",[6,"std.pow",[[6,"std.abs",["l"]],[1,[5,"1"],"/",[5,"3"]]]]]],[13,"m_",[1,[6,"std.sign",["m"]],"*",[6,"std.pow",[[6,"std.abs",["m"]],[1,[5,"1"],"/",[5,"3"]]]]]],[13,"s_",[1,[6,"std.sign",["s"]],"*",[6,"std.pow",[[6,"std.abs",["s"]],[1,[5,"1"],"/",[5,"3"]]]]]],[10,[6,"d.vec3f",[[1,[1,[1,"l_","*",[5,"0.2104542553"]],"+",[1,"m_","*",[5,"0.793617785"]]],"-",[1,"s_","*",[5,"0.0040720468"]]],[1,[1,[1,"l_","*",[5,"1.9779984951"]],"-",[1,"m_","*",[5,"2.428592205"]]],"+",[1,"s_","*",[5,"0.4505937099"]]],[1,[1,[1,"l_","*",[5,"0.0259040371"]],"+",[1,"m_","*",[5,"0.7827717662"]]],"-",[1,"s_","*",[5,"0.808675766"]]]]]]]]},externals:{"std.sign":()=>ks,"std.pow":()=>Ce,"std.abs":()=>z,"d.vec3f":()=>f}})&&e.f)({})),Kr=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_add(__tsover_add(s,__tsover_mul(r,.3963377774)),__tsover_mul(o,.2158037573)),i=__tsover_sub(__tsover_sub(s,__tsover_mul(r,.1055613458)),__tsover_mul(o,.0638541728)),d=__tsover_sub(__tsover_sub(s,__tsover_mul(r,.0894841775)),__tsover_mul(o,1.291485548)),c=Ce(n,3),_=Ce(i,3),u=Ce(d,3);return f(__tsover_add(__tsover_sub(__tsover_mul(c,4.0767416621),__tsover_mul(_,3.3077115913)),__tsover_mul(u,.2309699292)),__tsover_sub(__tsover_add(__tsover_mul(c,-1.2684380046),__tsover_mul(_,2.6097574011)),__tsover_mul(u,.3413193965)),__tsover_add(__tsover_sub(__tsover_mul(c,-.0041960863),__tsover_mul(_,.7034186147)),__tsover_mul(u,1.707614701)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lab"}],body:[0,[[13,"L",[7,"lab","x"]],[13,"a",[7,"lab","y"]],[13,"b",[7,"lab","z"]],[13,"l_",[1,[1,"L","+",[1,"a","*",[5,"0.3963377774"]]],"+",[1,"b","*",[5,"0.2158037573"]]]],[13,"m_",[1,[1,"L","-",[1,"a","*",[5,"0.1055613458"]]],"-",[1,"b","*",[5,"0.0638541728"]]]],[13,"s_",[1,[1,"L","-",[1,"a","*",[5,"0.0894841775"]]],"-",[1,"b","*",[5,"1.291485548"]]]],[13,"l",[6,"std.pow",["l_",[5,"3"]]]],[13,"m",[6,"std.pow",["m_",[5,"3"]]]],[13,"s",[6,"std.pow",["s_",[5,"3"]]]],[10,[6,"d.vec3f",[[1,[1,[1,"l","*",[5,"4.0767416621"]],"-",[1,"m","*",[5,"3.3077115913"]]],"+",[1,"s","*",[5,"0.2309699292"]]],[1,[1,[1,"l","*",[4,"-",[5,"1.2684380046"]]],"+",[1,"m","*",[5,"2.6097574011"]]],"-",[1,"s","*",[5,"0.3413193965"]]],[1,[1,[1,"l","*",[4,"-",[5,"0.0041960863"]]],"-",[1,"m","*",[5,"0.7034186147"]]],"+",[1,"s","*",[5,"1.707614701"]]]]]]]]},externals:{"std.pow":()=>Ce,"d.vec3f":()=>f}})&&e.f)({})),zi=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z;return f(s,be(__tsover_add(__tsover_mul(r,r),__tsover_mul(o,o))),tt(o,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lab"}],body:[0,[[13,"L",[7,"lab","x"]],[13,"a",[7,"lab","y"]],[13,"b",[7,"lab","z"]],[13,"C",[6,"std.sqrt",[[1,[1,"a","*","a"],"+",[1,"b","*","b"]]]]],[13,"h",[6,"std.atan2",["b","a"]]],[10,[6,"d.vec3f",["L","C","h"]]]]]},externals:{"std.sqrt":()=>be,"std.atan2":()=>tt,"d.vec3f":()=>f}})&&e.f)({})),Ha=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z;return f(s,__tsover_mul(r,H(o)),__tsover_mul(r,Y(o)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lch"}],body:[0,[[13,"L",[7,"lch","x"]],[13,"C",[7,"lch","y"]],[13,"h",[7,"lch","z"]],[10,[6,"d.vec3f",["L",[1,"C","*",[6,"std.cos",["h"]]],[1,"C","*",[6,"std.sin",["h"]]]]]]]]},externals:{"d.vec3f":()=>f,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),Zl=v.fn([a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=a(0),n=a(0),i=a(0);return r<1?(o=t,n=s):r<2?(o=s,n=t):r<3?(n=t,i=s):r<4?(n=s,i=t):r<5?(o=s,i=t):(o=t,i=s),f(o,n,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"c"},{type:"i",name:"x"},{type:"i",name:"sector"}],body:[0,[[12,"r",[6,"d.f32",[[5,"0"]]]],[12,"g",[6,"d.f32",[[5,"0"]]]],[12,"b",[6,"d.f32",[[5,"0"]]]],[11,[1,"sector","<",[5,"1"]],[0,[[2,"r","=","c"],[2,"g","=","x"]]],[11,[1,"sector","<",[5,"2"]],[0,[[2,"r","=","x"],[2,"g","=","c"]]],[11,[1,"sector","<",[5,"3"]],[0,[[2,"g","=","c"],[2,"b","=","x"]]],[11,[1,"sector","<",[5,"4"]],[0,[[2,"g","=","x"],[2,"b","=","c"]]],[11,[1,"sector","<",[5,"5"]],[0,[[2,"r","=","x"],[2,"b","=","c"]]],[0,[[2,"r","=","c"],[2,"b","=","x"]]]]]]]],[10,[6,"d.vec3f",["r","g","b"]]]]]},externals:{"d.f32":()=>a,"d.vec3f":()=>f}})&&e.f)({})),uc=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=b(b(s,r),o),i=oe(oe(s,r),o),d=__tsover_sub(n,i),c=__tsover_mul(__tsover_add(n,i),.5),_=b(__tsover_sub(1,z(__tsover_sub(__tsover_mul(c,2),1))),sn),u=__tsover_div(d,_),m=n===s,p=n===r,y=__tsover_div(__tsover_sub(r,o),b(d,sn)),h=__tsover_add(2,__tsover_div(__tsover_sub(o,s),b(d,sn))),g=C(C(__tsover_add(4,__tsover_div(__tsover_sub(s,r),b(d,sn))),h,p),y,m);return f(__tsover_mul(g,pa),u,c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[13,"r",[7,"rgb","x"]],[13,"g",[7,"rgb","y"]],[13,"b",[7,"rgb","z"]],[13,"maxVal",[6,"std.max",[[6,"std.max",["r","g"]],"b"]]],[13,"minVal",[6,"std.min",[[6,"std.min",["r","g"]],"b"]]],[13,"delta",[1,"maxVal","-","minVal"]],[13,"l",[1,[1,"maxVal","+","minVal"],"*",[5,"0.5"]]],[13,"satDenom",[6,"std.max",[[1,[5,"1"],"-",[6,"std.abs",[[1,[1,"l","*",[5,"2"]],"-",[5,"1"]]]]],"EPSILON"]]],[13,"s",[1,"delta","/","satDenom"]],[13,"isRMax",[1,"maxVal","===","r"]],[13,"isGMax",[1,"maxVal","===","g"]],[13,"hueR",[1,[1,"g","-","b"],"/",[6,"std.max",["delta","EPSILON"]]]],[13,"hueG",[1,[5,"2"],"+",[1,[1,"b","-","r"],"/",[6,"std.max",["delta","EPSILON"]]]]],[13,"hueB",[1,[5,"4"],"+",[1,[1,"r","-","g"],"/",[6,"std.max",["delta","EPSILON"]]]]],[13,"hue",[6,"std.select",[[6,"std.select",["hueB","hueG","isGMax"]],"hueR","isRMax"]]],[13,"h",[1,"hue","*","PI_OVER_3"]],[10,[6,"d.vec3f",["h","s","l"]]]]]},externals:{"std.max":()=>b,"std.min":()=>oe,"std.abs":()=>z,EPSILON:()=>sn,"std.select":()=>C,PI_OVER_3:()=>pa,"d.vec3f":()=>f}})&&e.f)({})),ja=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_mul(r,__tsover_sub(1,z(__tsover_sub(__tsover_mul(o,2),1)))),i=__tsover_div(s,pa),d=__tsover_mul(n,__tsover_sub(1,z(__tsover_sub(bo(i,2),1)))),c=__tsover_sub(o,__tsover_mul(n,.5));return Zl(n,d,q(i)).add(c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"hsl"}],body:[0,[[13,"h",[7,"hsl","x"]],[13,"s",[7,"hsl","y"]],[13,"l",[7,"hsl","z"]],[13,"c",[1,"s","*",[1,[5,"1"],"-",[6,"std.abs",[[1,[1,"l","*",[5,"2"]],"-",[5,"1"]]]]]]],[13,"hPrime",[1,"h","/","PI_OVER_3"]],[13,"x",[1,"c","*",[1,[5,"1"],"-",[6,"std.abs",[[1,[6,"std.mod",["hPrime",[5,"2"]]],"-",[5,"1"]]]]]]],[13,"m",[1,"l","-",[1,"c","*",[5,"0.5"]]]],[13,"sector",[6,"std.floor",["hPrime"]]],[10,[6,[7,[6,"selectRGBBySector",["c","x","sector"]],"add"],["m"]]]]]},externals:{"std.abs":()=>z,PI_OVER_3:()=>pa,"std.mod":()=>bo,"std.floor":()=>q,selectRGBBySector:()=>Zl}})&&e.f)({})),Mm=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=b(b(s,r),o),i=oe(oe(s,r),o),d=__tsover_sub(n,i),c=n,_=__tsover_div(d,b(n,sn)),u=n===s,m=n===r,p=__tsover_div(__tsover_sub(r,o),b(d,sn)),y=__tsover_add(2,__tsover_div(__tsover_sub(o,s),b(d,sn))),h=C(C(__tsover_add(4,__tsover_div(__tsover_sub(s,r),b(d,sn))),y,m),p,u);return f(__tsover_mul(h,pa),_,c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[13,"r",[7,"rgb","x"]],[13,"g",[7,"rgb","y"]],[13,"b",[7,"rgb","z"]],[13,"maxVal",[6,"std.max",[[6,"std.max",["r","g"]],"b"]]],[13,"minVal",[6,"std.min",[[6,"std.min",["r","g"]],"b"]]],[13,"delta",[1,"maxVal","-","minVal"]],[13,"v","maxVal"],[13,"s",[1,"delta","/",[6,"std.max",["maxVal","EPSILON"]]]],[13,"isRMax",[1,"maxVal","===","r"]],[13,"isGMax",[1,"maxVal","===","g"]],[13,"hueR",[1,[1,"g","-","b"],"/",[6,"std.max",["delta","EPSILON"]]]],[13,"hueG",[1,[5,"2"],"+",[1,[1,"b","-","r"],"/",[6,"std.max",["delta","EPSILON"]]]]],[13,"hueB",[1,[5,"4"],"+",[1,[1,"r","-","g"],"/",[6,"std.max",["delta","EPSILON"]]]]],[13,"hue",[6,"std.select",[[6,"std.select",["hueB","hueG","isGMax"]],"hueR","isRMax"]]],[13,"h",[1,"hue","*","PI_OVER_3"]],[10,[6,"d.vec3f",["h","s","v"]]]]]},externals:{"std.max":()=>b,"std.min":()=>oe,EPSILON:()=>sn,"std.select":()=>C,PI_OVER_3:()=>pa,"d.vec3f":()=>f}})&&e.f)({})),Ac=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_mul(o,r),i=__tsover_div(s,pa),d=__tsover_mul(n,__tsover_sub(1,z(__tsover_sub(bo(i,2),1)))),c=__tsover_sub(o,n);return Zl(n,d,q(i)).add(c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"hsv"}],body:[0,[[13,"h",[7,"hsv","x"]],[13,"s",[7,"hsv","y"]],[13,"v",[7,"hsv","z"]],[13,"c",[1,"v","*","s"]],[13,"hPrime",[1,"h","/","PI_OVER_3"]],[13,"x",[1,"c","*",[1,[5,"1"],"-",[6,"std.abs",[[1,[6,"std.mod",["hPrime",[5,"2"]]],"-",[5,"1"]]]]]]],[13,"m",[1,"v","-","c"]],[13,"sector",[6,"std.floor",["hPrime"]]],[10,[6,[7,[6,"selectRGBBySector",["c","x","sector"]],"add"],["m"]]]]]},externals:{PI_OVER_3:()=>pa,"std.abs":()=>z,"std.mod":()=>bo,"std.floor":()=>q,selectRGBBySector:()=>Zl}})&&e.f)({})),Pm=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_add(__tsover_add(__tsover_mul(s,.4124564),__tsover_mul(r,.3575761)),__tsover_mul(o,.1804375)),i=__tsover_add(__tsover_add(__tsover_mul(s,.2126729),__tsover_mul(r,.7151522)),__tsover_mul(o,.072175)),d=__tsover_add(__tsover_add(__tsover_mul(s,.0193339),__tsover_mul(r,.119192)),__tsover_mul(o,.9503041)),c=__tsover_div(n,.95047),_=__tsover_div(i,1),u=__tsover_div(d,1.08883),m=C(__tsover_add(__tsover_mul(c,H_),ta),Ce(c,__tsover_div(1,3)),c>X_),p=C(__tsover_add(__tsover_mul(_,H_),ta),Ce(_,__tsover_div(1,3)),_>X_),y=C(__tsover_add(__tsover_mul(u,H_),ta),Ce(u,__tsover_div(1,3)),u>X_);return f(__tsover_sub(__tsover_mul(p,116),16),__tsover_mul(__tsover_sub(m,p),jl),__tsover_mul(__tsover_sub(p,y),Kl))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[13,"r",[7,"rgb","x"]],[13,"g",[7,"rgb","y"]],[13,"b",[7,"rgb","z"]],[13,"x",[1,[1,[1,"r","*",[5,"0.4124564"]],"+",[1,"g","*",[5,"0.3575761"]]],"+",[1,"b","*",[5,"0.1804375"]]]],[13,"y",[1,[1,[1,"r","*",[5,"0.2126729"]],"+",[1,"g","*",[5,"0.7151522"]]],"+",[1,"b","*",[5,"0.072175"]]]],[13,"z",[1,[1,[1,"r","*",[5,"0.0193339"]],"+",[1,"g","*",[5,"0.119192"]]],"+",[1,"b","*",[5,"0.9503041"]]]],[13,"xn",[1,"x","/",[5,"0.95047"]]],[13,"yn",[1,"y","/",[5,"1"]]],[13,"zn",[1,"z","/",[5,"1.08883"]]],[13,"fx",[6,"std.select",[[1,[1,"xn","*","LAB_FWD_SLOPE"],"+","LAB_OFFSET"],[6,"std.pow",["xn",[1,[5,"1"],"/",[5,"3"]]]],[1,"xn",">","LAB_DELTA3"]]]],[13,"fy",[6,"std.select",[[1,[1,"yn","*","LAB_FWD_SLOPE"],"+","LAB_OFFSET"],[6,"std.pow",["yn",[1,[5,"1"],"/",[5,"3"]]]],[1,"yn",">","LAB_DELTA3"]]]],[13,"fz",[6,"std.select",[[1,[1,"zn","*","LAB_FWD_SLOPE"],"+","LAB_OFFSET"],[6,"std.pow",["zn",[1,[5,"1"],"/",[5,"3"]]]],[1,"zn",">","LAB_DELTA3"]]]],[13,"L",[1,[1,"fy","*",[5,"116"]],"-",[5,"16"]]],[13,"a",[1,[1,"fx","-","fy"],"*","LAB_KAPPA"]],[13,"bLab",[1,[1,"fy","-","fz"],"*","LAB_LAMBDA"]],[10,[6,"d.vec3f",["L","a","bLab"]]]]]},externals:{"std.select":()=>C,LAB_FWD_SLOPE:()=>H_,LAB_OFFSET:()=>ta,"std.pow":()=>Ce,LAB_DELTA3:()=>X_,LAB_KAPPA:()=>jl,LAB_LAMBDA:()=>Kl,"d.vec3f":()=>f}})&&e.f)({})),Mc=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_div(__tsover_add(s,16),116),i=__tsover_add(__tsover_div(r,jl),n),d=__tsover_sub(n,__tsover_div(o,Kl)),c=C(__tsover_mul(__tsover_sub(i,ta),j_),Ce(i,3),i>Fo),_=C(__tsover_mul(__tsover_sub(n,ta),j_),Ce(n,3),n>Fo),u=C(__tsover_mul(__tsover_sub(d,ta),j_),Ce(d,3),d>Fo),m=__tsover_mul(c,.95047),p=__tsover_mul(_,1),y=__tsover_mul(u,1.08883);return f(__tsover_sub(__tsover_sub(__tsover_mul(m,3.2404542),__tsover_mul(p,1.5371385)),__tsover_mul(y,.4985314)),__tsover_add(__tsover_add(__tsover_mul(m,-.969266),__tsover_mul(p,1.8760108)),__tsover_mul(y,.041556)),__tsover_add(__tsover_sub(__tsover_mul(m,.0556434),__tsover_mul(p,.2040259)),__tsover_mul(y,1.0572252)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lab"}],body:[0,[[13,"L",[7,"lab","x"]],[13,"a",[7,"lab","y"]],[13,"b",[7,"lab","z"]],[13,"fy",[1,[1,"L","+",[5,"16"]],"/",[5,"116"]]],[13,"fx",[1,[1,"a","/","LAB_KAPPA"],"+","fy"]],[13,"fz",[1,"fy","-",[1,"b","/","LAB_LAMBDA"]]],[13,"xn",[6,"std.select",[[1,[1,"fx","-","LAB_OFFSET"],"*","LAB_INV_SLOPE"],[6,"std.pow",["fx",[5,"3"]]],[1,"fx",">","LAB_DELTA"]]]],[13,"yn",[6,"std.select",[[1,[1,"fy","-","LAB_OFFSET"],"*","LAB_INV_SLOPE"],[6,"std.pow",["fy",[5,"3"]]],[1,"fy",">","LAB_DELTA"]]]],[13,"zn",[6,"std.select",[[1,[1,"fz","-","LAB_OFFSET"],"*","LAB_INV_SLOPE"],[6,"std.pow",["fz",[5,"3"]]],[1,"fz",">","LAB_DELTA"]]]],[13,"x",[1,"xn","*",[5,"0.95047"]]],[13,"y",[1,"yn","*",[5,"1"]]],[13,"z",[1,"zn","*",[5,"1.08883"]]],[13,"r",[1,[1,[1,"x","*",[5,"3.2404542"]],"-",[1,"y","*",[5,"1.5371385"]]],"-",[1,"z","*",[5,"0.4985314"]]]],[13,"g",[1,[1,[1,"x","*",[4,"-",[5,"0.969266"]]],"+",[1,"y","*",[5,"1.8760108"]]],"+",[1,"z","*",[5,"0.041556"]]]],[13,"bRgb",[1,[1,[1,"x","*",[5,"0.0556434"]],"-",[1,"y","*",[5,"0.2040259"]]],"+",[1,"z","*",[5,"1.0572252"]]]],[10,[6,"d.vec3f",["r","g","bRgb"]]]]]},externals:{LAB_KAPPA:()=>jl,LAB_LAMBDA:()=>Kl,"std.select":()=>C,LAB_OFFSET:()=>ta,LAB_INV_SLOPE:()=>j_,"std.pow":()=>Ce,LAB_DELTA:()=>Fo,"d.vec3f":()=>f}})&&e.f)({})),Em=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z;return f(s,be(__tsover_add(__tsover_mul(r,r),__tsover_mul(o,o))),tt(o,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lab"}],body:[0,[[13,"L",[7,"lab","x"]],[13,"a",[7,"lab","y"]],[13,"b",[7,"lab","z"]],[13,"C",[6,"std.sqrt",[[1,[1,"a","*","a"],"+",[1,"b","*","b"]]]]],[13,"h",[6,"std.atan2",["b","a"]]],[10,[6,"d.vec3f",["L","C","h"]]]]]},externals:{"std.sqrt":()=>be,"std.atan2":()=>tt,"d.vec3f":()=>f}})&&e.f)({})),Pc=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z;return f(s,__tsover_mul(r,H(o)),__tsover_mul(r,Y(o)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lch"}],body:[0,[[13,"L",[7,"lch","x"]],[13,"C",[7,"lch","y"]],[13,"h",[7,"lch","z"]],[10,[6,"d.vec3f",["L",[1,"C","*",[6,"std.cos",["h"]]],[1,"C","*",[6,"std.sin",["h"]]]]]]]]},externals:{"d.vec3f":()=>f,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),is=v.fn([f,f,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return t.mul(r).add(s.mul(o)).div(n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"wA"},{type:"i",name:"wB"},{type:"i",name:"sw"}],body:[0,[[10,[6,[7,[6,[7,[6,[7,"a","mul"],["wA"]],"add"],[[6,[7,"b","mul"],["wB"]]]],"div"],["sw"]]]]]},externals:{}})&&e.f)({})),Bo=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(is(t.xyz,s.xyz,o,n,d),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"rgb",[6,"awMix",[[7,"colorA","xyz"],[7,"colorB","xyz"],"weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x}})&&e.f)({})),dR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(Kr(Ha(is(zi(To($s(t.xyz))),zi(To($s(s.xyz))),o,n,d)))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"oklchA",[6,"oklabToOklch",[[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]]]],[13,"oklchB",[6,"oklabToOklch",[[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]]]],[13,"mixed",[6,"awMix",["oklchA","oklchB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"oklabToRgb",[[6,"oklchToOklab",["mixed"]]]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,oklabToOklch:()=>zi,rgbToOklab:()=>To,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,oklchToOklab:()=>Ha,"d.vec4f":()=>x}})&&e.f)({})),cR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(Kr(is(To($s(t.xyz)),To($s(s.xyz)),o,n,d))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"oklabA",[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]],[13,"oklabB",[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]],[13,"mixed",[6,"awMix",["oklabA","oklabB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"oklabToRgb",["mixed"]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,rgbToOklab:()=>To,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,"d.vec4f":()=>x}})&&e.f)({})),_R=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(ja(is(uc($s(t.xyz)),uc($s(s.xyz)),o,n,d))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"hslA",[6,"rgbToHsl",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]],[13,"hslB",[6,"rgbToHsl",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]],[13,"mixed",[6,"awMix",["hslA","hslB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"hslToRgb",["mixed"]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,rgbToHsl:()=>uc,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,hslToRgb:()=>ja,"d.vec4f":()=>x}})&&e.f)({})),lR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(Ac(is(Mm($s(t.xyz)),Mm($s(s.xyz)),o,n,d))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"hsvA",[6,"rgbToHsv",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]],[13,"hsvB",[6,"rgbToHsv",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]],[13,"mixed",[6,"awMix",["hsvA","hsvB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"hsvToRgb",["mixed"]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,rgbToHsv:()=>Mm,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,hsvToRgb:()=>Ac,"d.vec4f":()=>x}})&&e.f)({})),uR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(Mc(Pc(is(Em(Pm($s(t.xyz))),Em(Pm($s(s.xyz))),o,n,d)))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"lchA",[6,"labToLch",[[6,"rgbToLab",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]]]],[13,"lchB",[6,"labToLch",[[6,"rgbToLab",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]]]],[13,"mixed",[6,"awMix",["lchA","lchB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"labToRgb",[[6,"lchToLab",["mixed"]]]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,labToLch:()=>Em,rgbToLab:()=>Pm,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,labToRgb:()=>Mc,lchToLab:()=>Pc,"d.vec4f":()=>x}})&&e.f)({})),Fv={0:Bo,1:dR,2:cR,3:_R,4:lR,5:uR};var co=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({conv:f,alpha:a}),"MixStep"),fa=v.fn([f,a,f,a,a],co)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return co({conv:is(t,r,i,d,b(c,.001)),alpha:c})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"alphaA"},{type:"i",name:"convB"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[10,[6,"MixStep",[[104,{conv:[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]],alpha:"totalWeight"}]]]]]]},externals:{"std.max":()=>b,MixStep:()=>co,awMix:()=>is}})&&e.f)({})),t1=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(is(t,s,i,d,b(c,.001)),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",["mixed","totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x}})&&e.f)({})),mR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(Kr(Ha(is(t,s,i,d,b(c,.001))))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"oklabToRgb",[[6,"oklchToOklab",["mixed"]]]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,oklchToOklab:()=>Ha}})&&e.f)({})),pR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(Kr(is(t,s,i,d,b(c,.001)))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"oklabToRgb",["mixed"]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,oklabToRgb:()=>Kr}})&&e.f)({})),fR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(ja(is(t,s,i,d,b(c,.001)))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"hslToRgb",["mixed"]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,hslToRgb:()=>ja}})&&e.f)({})),vR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(Ac(is(t,s,i,d,b(c,.001)))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"hsvToRgb",["mixed"]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,hsvToRgb:()=>Ac}})&&e.f)({})),yR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(Mc(Pc(is(t,s,i,d,b(c,.001))))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"labToRgb",[[6,"lchToLab",["mixed"]]]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,labToRgb:()=>Mc,lchToLab:()=>Pc}})&&e.f)({})),Bv={0:t1,1:mR,2:pR,3:fR,4:vR,5:yR};var Wv=1e-4,km=6/29,hR=(e,t,s)=>[e*1.2249401-t*.2249404,e*-.0420569+t*1.0420571,e*-.0196376-t*.0786361+s*1.0982735],r3=(e,t,s)=>{let r=Math.cbrt(e*.4122214708+t*.5363325363+s*.0514459929),o=Math.cbrt(e*.2119034982+t*.6806995451+s*.1073969566),n=Math.cbrt(e*.0883024619+t*.2817188376+s*.6299787005);return[r*.2104542553+o*.793617785-n*.0040720468,r*1.9779984951-o*2.428592205+n*.4505937099,r*.0259040371+o*.7827717662-n*.808675766]},n7=(e,t,s,r,o)=>{let n=Math.max(o,Wv);return(r===e?(t-s)/n:r===t?2+(s-e)/n:4+(e-t)/n)*(Math.PI/3)},xR=(e,t,s)=>{let r=Math.max(e,t,s),o=Math.min(e,t,s),n=r-o,i=(r+o)*.5,d=n/Math.max(1-Math.abs(2*i-1),Wv);return[n7(e,t,s,r,n),d,i]},gR=(e,t,s)=>{let r=Math.max(e,t,s),o=r-Math.min(e,t,s),n=o/Math.max(r,Wv);return[n7(e,t,s,r,o),n,r]},bR=(e,t,s)=>{let r=(e*.4124564+t*.3575761+s*.1804375)/.95047,o=e*.2126729+t*.7151522+s*.072175,n=(e*.0193339+t*.119192+s*.9503041)/1.08883,i=km**3,d=m=>m>i?Math.cbrt(m):m/(3*km*km)+4/29,c=d(r),_=d(o),u=d(n);return[_*116-16,(c-_)*500,(_-u)*200]},s1=(e,t,s,r)=>{let[o,n,i]=hR(e,t,s);switch(r){case 1:{let[d,c,_]=r3(o,n,i);return[d,Math.sqrt(c*c+_*_),Math.atan2(_,c)]}case 2:return r3(o,n,i);case 3:return xR(o,n,i);case 4:return gR(o,n,i);case 5:{let[d,c,_]=bR(o,n,i);return[d,Math.sqrt(c*c+_*_),Math.atan2(_,c)]}default:return[e,t,s]}},wR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=X(f(t.x,t.y,t.z),f(s.x,s.y,s.z),f(r));return x(o.x,o.y,o.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"target"},{type:"i",name:"amount"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"targetRgb",[6,"d.vec3f",[[7,"target","x"],[7,"target","y"],[7,"target","z"]]]],[13,"mixed",[6,"std.mix",["rgb","targetRgb",[6,"d.vec3f",["amount"]]]]],[10,[6,"d.vec4f",[[7,"mixed","x"],[7,"mixed","y"],[7,"mixed","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({}));var So=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_add(__tsover_mul(t.x,.2126),__tsover_mul(t.y,.7152)),__tsover_mul(t.z,.0722))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[1,[1,[1,[7,"rgb","x"],"*",[5,"0.2126"]],"+",[1,[7,"rgb","y"],"*",[5,"0.7152"]]],"+",[1,[7,"rgb","z"],"*",[5,"0.0722"]]]]]]},externals:{}})&&e.f)({})),an=v.fn([f,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return C(f(0),f(1),wp(s,t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"edge"},{type:"i",name:"x"}],body:[0,[[10,[6,"std.select",[[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]],[6,"std.ge",["x","edge"]]]]]]]},externals:{"std.select":()=>C,"d.vec3f":()=>f,"std.ge":()=>wp}})&&e.f)({})),$t=v.fn([x,f,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_add(r,o);return x(s.mul(r).add(t.xyz.mul(o)),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"blended"},{type:"i",name:"overlayAlpha"}],body:[0,[[13,"baseWeight",[1,[7,"base","w"],"*",[1,[5,"1"],"-","overlayAlpha"]]],[13,"finalAlpha",[1,"overlayAlpha","+","baseWeight"]],[13,"rgb",[6,[7,[6,[7,"blended","mul"],["overlayAlpha"]],"add"],[[6,[7,[7,"base","xyz"],"mul"],["baseWeight"]]]]],[10,[6,"d.vec4f",["rgb","finalAlpha"]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),dn=v.fn([x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.w;return x(C(f(0,0,0),t.xyz.div(s),s>.001),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"alpha",[7,"color","w"]],[13,"straightRGB",[6,"std.select",[[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,[7,[7,"color","xyz"],"div"],["alpha"]],[1,"alpha",">",[5,"0.001"]]]]],[10,[6,"d.vec4f",["straightRGB","alpha"]]]]]},externals:{"std.select":()=>C,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),TR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,s.xyz,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[10,[6,"overComposite",["base",[7,"overlay","xyz"],"overlayAlpha"]]]]]},externals:{overComposite:()=>$t}})&&e.f)({})),SR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=__tsover_mul(t.w,__tsover_sub(1,o)),i=__tsover_add(o,n),d=zi(To($s(t.xyz)));return x(ss(Kr(Ha(zi(To($s(s.xyz))).mul(o).add(d.mul(n))))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseWeight",[1,[7,"base","w"],"*",[1,[5,"1"],"-","overlayAlpha"]]],[13,"finalAlpha",[1,"overlayAlpha","+","baseWeight"]],[13,"baseOklch",[6,"oklabToOklch",[[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"base","xyz"]]]]]]]],[13,"overlayOklch",[6,"oklabToOklch",[[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"overlay","xyz"]]]]]]]],[13,"blendedOklch",[6,[7,[6,[7,"overlayOklch","mul"],["overlayAlpha"]],"add"],[[6,[7,"baseOklch","mul"],["baseWeight"]]]]],[13,"rgb",[6,"sRGBToP3",[[6,"oklabToRgb",[[6,"oklchToOklab",["blendedOklch"]]]]]]],[10,[6,"d.vec4f",["rgb","finalAlpha"]]]]]},externals:{oklabToOklch:()=>zi,rgbToOklab:()=>To,p3ToSRGB:()=>$s,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,oklchToOklab:()=>Ha,"d.vec4f":()=>x}})&&e.f)({})),AR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=__tsover_mul(t.w,__tsover_sub(1,o)),i=__tsover_add(o,n),d=To($s(t.xyz));return x(ss(Kr(To($s(s.xyz)).mul(o).add(d.mul(n)))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseWeight",[1,[7,"base","w"],"*",[1,[5,"1"],"-","overlayAlpha"]]],[13,"finalAlpha",[1,"overlayAlpha","+","baseWeight"]],[13,"baseOklab",[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"base","xyz"]]]]]],[13,"overlayOklab",[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"overlay","xyz"]]]]]],[13,"blendedOklab",[6,[7,[6,[7,"overlayOklab","mul"],["overlayAlpha"]],"add"],[[6,[7,"baseOklab","mul"],["baseWeight"]]]]],[13,"rgb",[6,"sRGBToP3",[[6,"oklabToRgb",["blendedOklab"]]]]],[10,[6,"d.vec4f",["rgb","finalAlpha"]]]]]},externals:{rgbToOklab:()=>To,p3ToSRGB:()=>$s,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,"d.vec4f":()=>x}})&&e.f)({})),MR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,t.xyz.mul(s.xyz),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{overComposite:()=>$t}})&&e.f)({})),PR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,ht(1,ht(1,t.xyz).mul(ht(1,s.xyz))),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.sub",[[5,"1"],[6,[7,[6,"std.sub",[[5,"1"],[7,"base","xyz"]]],"mul"],[[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,overComposite:()=>$t}})&&e.f)({})),ER=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,t.xyz.add(s.xyz),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,[7,[7,"base","xyz"],"add"],[[7,"overlay","xyz"]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{overComposite:()=>$t}})&&e.f)({})),kR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,X(t.xyz.mul(s.xyz).mul(2),ht(1,ht(1,t.xyz).mul(ht(1,s.xyz)).mul(2)),an(f(.5),t.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"mult",[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]],"mul"],[[5,"2"]]]],[13,"scr",[6,"std.sub",[[5,"1"],[6,[7,[6,[7,[6,"std.sub",[[5,"1"],[7,"base","xyz"]]],"mul"],[[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]]],"mul"],[[5,"2"]]]]]],[13,"blended",[6,"std.mix",["mult","scr",[6,"step3",[[6,"d.vec3f",[[5,"0.5"]]],[7,"base","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,"std.mix":()=>X,step3:()=>an,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),$R=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,z(t.xyz.sub(s.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.abs",[[6,[7,[7,"base","xyz"],"sub"],[[7,"overlay","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.abs":()=>z,overComposite:()=>$t}})&&e.f)({})),UR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=ht(1,s.xyz);return $t(t,X(t.xyz,oe(t.xyz.div(n),f(1)),an(f(.001),n)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"oneMinusOverlay",[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]],[13,"dodged",[6,"std.mix",[[7,"base","xyz"],[6,"std.min",[[6,[7,[7,"base","xyz"],"div"],["oneMinusOverlay"]],[6,"d.vec3f",[[5,"1"]]]]],[6,"step3",[[6,"d.vec3f",[[5,"0.001"]]],"oneMinusOverlay"]]]]],[10,[6,"overComposite",["base","dodged","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,"std.mix":()=>X,"std.min":()=>oe,"d.vec3f":()=>f,step3:()=>an,overComposite:()=>$t}})&&e.f)({})),CR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,t.xyz.add(s.xyz).sub(t.xyz.mul(s.xyz).mul(2)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,[7,[6,[7,[7,"base","xyz"],"add"],[[7,"overlay","xyz"]]],"sub"],[[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]],"mul"],[[5,"2"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{overComposite:()=>$t}})&&e.f)({})),RR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=So(t.xyz),i=So(s.xyz),d=__tsover_sub(n,i);return $t(t,s.xyz.add(d),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseLum",[6,"luminance",[[7,"base","xyz"]]]],[13,"overlayLum",[6,"luminance",[[7,"overlay","xyz"]]]],[13,"lumDiff",[1,"baseLum","-","overlayLum"]],[13,"blended",[6,[7,[7,"overlay","xyz"],"add"],["lumDiff"]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{luminance:()=>So,overComposite:()=>$t}})&&e.f)({})),zR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=So(t.xyz),i=So(s.xyz),d=__tsover_div(i,__tsover_add(n,1e-4));return $t(t,t.xyz.mul(d),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseLum",[6,"luminance",[[7,"base","xyz"]]]],[13,"overlayLum",[6,"luminance",[[7,"overlay","xyz"]]]],[13,"lumRatio",[1,"overlayLum","/",[1,"baseLum","+",[5,"0.0001"]]]],[13,"blended",[6,[7,[7,"base","xyz"],"mul"],["lumRatio"]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{luminance:()=>So,overComposite:()=>$t}})&&e.f)({})),GR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,oe(t.xyz,s.xyz),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.min",[[7,"base","xyz"],[7,"overlay","xyz"]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.min":()=>oe,overComposite:()=>$t}})&&e.f)({})),YR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,b(t.xyz,s.xyz),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.max",[[7,"base","xyz"],[7,"overlay","xyz"]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.max":()=>b,overComposite:()=>$t}})&&e.f)({})),LR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=b(ht(1,ht(1,t.xyz).div(s.xyz.add(1e-4))),f(0));return $t(t,X(f(0),n,an(f(1e-4),s.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"burned",[6,"std.max",[[6,"std.sub",[[5,"1"],[6,[7,[6,"std.sub",[[5,"1"],[7,"base","xyz"]]],"div"],[[6,[7,[7,"overlay","xyz"],"add"],[[5,"0.0001"]]]]]]],[6,"d.vec3f",[[5,"0"]]]]]],[13,"blended",[6,"std.mix",[[6,"d.vec3f",[[5,"0"]]],"burned",[6,"step3",[[6,"d.vec3f",[[5,"0.0001"]]],[7,"overlay","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.max":()=>b,"std.sub":()=>ht,"d.vec3f":()=>f,"std.mix":()=>X,step3:()=>an,overComposite:()=>$t}})&&e.f)({})),IR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,b(t.xyz.add(s.xyz).add(-1),f(0)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.max",[[6,[7,[6,[7,[7,"base","xyz"],"add"],[[7,"overlay","xyz"]]],"add"],[[4,"-",[5,"1"]]]],[6,"d.vec3f",[[5,"0"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.max":()=>b,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),DR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=t.xyz.mul(s.xyz).mul(2),i=t.xyz.mul(t.xyz),d=n.add(i.mul(ht(1,s.xyz.mul(2)))),c=be(t.xyz);return $t(t,X(d,t.xyz.mul(ht(1,s.xyz)).mul(2).add(c.mul(s.xyz.mul(2).sub(1))),an(f(.5),s.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"mult",[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]],"mul"],[[5,"2"]]]],[13,"baseSquared",[6,[7,[7,"base","xyz"],"mul"],[[7,"base","xyz"]]]],[13,"softDark",[6,[7,"mult","add"],[[6,[7,"baseSquared","mul"],[[6,"std.sub",[[5,"1"],[6,[7,[7,"overlay","xyz"],"mul"],[[5,"2"]]]]]]]]]],[13,"baseSqrt",[6,"std.sqrt",[[7,"base","xyz"]]]],[13,"softLightVal",[6,[7,[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]]],"mul"],[[5,"2"]]],"add"],[[6,[7,"baseSqrt","mul"],[[6,[7,[6,[7,[7,"overlay","xyz"],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]]]]]],[13,"blended",[6,"std.mix",["softDark","softLightVal",[6,"step3",[[6,"d.vec3f",[[5,"0.5"]]],[7,"overlay","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,"std.sqrt":()=>be,"std.mix":()=>X,step3:()=>an,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),FR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,X(t.xyz.mul(s.xyz).mul(2),ht(1,ht(1,t.xyz).mul(ht(1,s.xyz)).mul(2)),an(f(.5),s.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"mult",[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]],"mul"],[[5,"2"]]]],[13,"scr",[6,"std.sub",[[5,"1"],[6,[7,[6,[7,[6,"std.sub",[[5,"1"],[7,"base","xyz"]]],"mul"],[[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]]],"mul"],[[5,"2"]]]]]],[13,"blended",[6,"std.mix",["mult","scr",[6,"step3",[[6,"d.vec3f",[[5,"0.5"]]],[7,"overlay","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,"std.mix":()=>X,step3:()=>an,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),BR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=So(t.xyz),i=So(s.xyz),d=t.xyz.sub(n),c=s.xyz.sub(i),_=j(d),u=j(c);return $t(t,C(f(0),c.div(u),u>1e-4).mul(_).add(n),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseLum",[6,"luminance",[[7,"base","xyz"]]]],[13,"overlayLum",[6,"luminance",[[7,"overlay","xyz"]]]],[13,"baseChromaticity",[6,[7,[7,"base","xyz"],"sub"],["baseLum"]]],[13,"overlayChromaticity",[6,[7,[7,"overlay","xyz"],"sub"],["overlayLum"]]],[13,"baseChromaLength",[6,"std.length",["baseChromaticity"]]],[13,"overlayChromaLength",[6,"std.length",["overlayChromaticity"]]],[13,"overlayChromaDir",[6,"std.select",[[6,"d.vec3f",[[5,"0"]]],[6,[7,"overlayChromaticity","div"],["overlayChromaLength"]],[1,"overlayChromaLength",">",[5,"0.0001"]]]]],[13,"blended",[6,[7,[6,[7,"overlayChromaDir","mul"],["baseChromaLength"]],"add"],["baseLum"]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{luminance:()=>So,"std.length":()=>j,"std.select":()=>C,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),WR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=So(t.xyz),i=So(s.xyz),d=t.xyz.sub(n),c=s.xyz.sub(i),_=j(d),u=C(f(0),d.div(_),_>1e-4),m=j(c);return $t(t,u.mul(m).add(n),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseLum",[6,"luminance",[[7,"base","xyz"]]]],[13,"overlayLum",[6,"luminance",[[7,"overlay","xyz"]]]],[13,"baseChromaticity",[6,[7,[7,"base","xyz"],"sub"],["baseLum"]]],[13,"overlayChromaticity",[6,[7,[7,"overlay","xyz"],"sub"],["overlayLum"]]],[13,"baseChromaLength",[6,"std.length",["baseChromaticity"]]],[13,"baseChromaDir",[6,"std.select",[[6,"d.vec3f",[[5,"0"]]],[6,[7,"baseChromaticity","div"],["baseChromaLength"]],[1,"baseChromaLength",">",[5,"0.0001"]]]]],[13,"overlayChromaLength",[6,"std.length",["overlayChromaticity"]]],[13,"blended",[6,[7,[6,[7,"baseChromaDir","mul"],["overlayChromaLength"]],"add"],["baseLum"]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{luminance:()=>So,"std.length":()=>j,"std.select":()=>C,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),o3={normal:TR,"normal-oklch":SR,"normal-oklab":AR,multiply:MR,screen:PR,linearDodge:ER,overlay:kR,difference:$R,colorDodge:UR,exclusion:CR,color:RR,luminosity:zR,darken:GR,lighten:YR,colorBurn:LR,linearBurn:IR,softLight:DR,hardLight:FR,hue:BR,saturation:WR};var K_=f(.2126,.7152,.0722),n3={alpha:v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.xyz,__tsover_mul(t.w,s.w))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"target"},{type:"i",name:"mask"}],body:[0,[[10,[6,"d.vec4f",[[7,"target","xyz"],[1,[7,"target","w"],"*",[7,"mask","w"]]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),alphaInverted:v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.xyz,__tsover_mul(t.w,__tsover_sub(1,s.w)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"target"},{type:"i",name:"mask"}],body:[0,[[10,[6,"d.vec4f",[[7,"target","xyz"],[1,[7,"target","w"],"*",[1,[5,"1"],"-",[7,"mask","w"]]]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),luminance:v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(s.xyz,K_);return x(t.xyz,__tsover_mul(t.w,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"target"},{type:"i",name:"mask"}],body:[0,[[13,"lum",[6,"std.dot",[[7,"mask","xyz"],"LUMINANCE_WEIGHTS"]]],[10,[6,"d.vec4f",[[7,"target","xyz"],[1,[7,"target","w"],"*","lum"]]]]]]},externals:{"std.dot":()=>se,LUMINANCE_WEIGHTS:()=>K_,"d.vec4f":()=>x}})&&e.f)({})),luminanceInverted:v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(s.xyz,K_);return x(t.xyz,__tsover_mul(t.w,__tsover_sub(1,r)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"target"},{type:"i",name:"mask"}],body:[0,[[13,"lum",[6,"std.dot",[[7,"mask","xyz"],"LUMINANCE_WEIGHTS"]]],[10,[6,"d.vec4f",[[7,"target","xyz"],[1,[7,"target","w"],"*",[1,[5,"1"],"-","lum"]]]]]]]},externals:{"std.dot":()=>se,LUMINANCE_WEIGHTS:()=>K_,"d.vec4f":()=>x}})&&e.f)({}))},OR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return f(t.x,t.y,t.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),VR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return $(t.div(t.add(1)),f(0),f(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,"std.clamp",[[6,[7,"color","div"],[[6,[7,"color","add"],[[5,"1"]]]]],[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]]]},externals:{"std.clamp":()=>$,"d.vec3f":()=>f}})&&e.f)({})),NR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=b(t.sub(.004),f(0)),r=s.mul(s.mul(6.2).add(.5)),o=s.mul(s.mul(6.2).add(1.7)).add(.06);return Ce(r.div(o),f(2.2))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"c",[6,"std.max",[[6,[7,"color","sub"],[[5,"0.004"]]],[6,"d.vec3f",[[5,"0"]]]]]],[13,"a",[6,[7,"c","mul"],[[6,[7,[6,[7,"c","mul"],[[5,"6.2"]]],"add"],[[5,"0.5"]]]]]],[13,"b",[6,[7,[6,[7,"c","mul"],[[6,[7,[6,[7,"c","mul"],[[5,"6.2"]]],"add"],[[5,"1.7"]]]]],"add"],[[5,"0.06"]]]],[10,[6,"std.pow",[[6,[7,"a","div"],["b"]],[6,"d.vec3f",[[5,"2.2"]]]]]]]]},externals:{"std.max":()=>b,"d.vec3f":()=>f,"std.pow":()=>Ce}})&&e.f)({})),a3=ud(.59719,.076,.0284,.35458,.90834,.13383,.04823,.01566,.83777),i3=ud(1.60475,-.10208,-.00327,-.53108,1.10813,-.07276,-.07367,-.00605,1.07602),d3=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.mul(t.add(.0245786)).sub(90537e-9),r=t.mul(t.add(.432951).mul(.983729)).add(.238081);return s.div(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[13,"a",[6,[7,[6,[7,"v","mul"],[[6,[7,"v","add"],[[5,"0.0245786"]]]]],"sub"],[[5,"0.000090537"]]]],[13,"b",[6,[7,[6,[7,"v","mul"],[[6,[7,[6,[7,"v","add"],[[5,"0.432951"]]],"mul"],[[5,"0.983729"]]]]],"add"],[[5,"0.238081"]]]],[10,[6,[7,"a","div"],["b"]]]]]},externals:{}})&&e.f)({})),qR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.div(.6);return s=a3.mul(s),s=d3(s),s=i3.mul(s),$(s,f(0),f(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[12,"c",[6,[7,"color","div"],[[5,"0.6"]]]],[2,"c","=",[6,"ACES_INPUT.mul",["c"]]],[2,"c","=",[6,"rrtAndODTFit",["c"]]],[2,"c","=",[6,"ACES_OUTPUT.mul",["c"]]],[10,[6,"std.clamp",["c",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]]]},externals:{"ACES_INPUT.mul":()=>a3.mul,rrtAndODTFit:()=>d3,"ACES_OUTPUT.mul":()=>i3.mul,"std.clamp":()=>$,"d.vec3f":()=>f}})&&e.f)({})),c3=ud(.6274,.0691,.0164,.3293,.9195,.088,.0433,.0113,.8956),_3=ud(1.6605,-.1246,-.0182,-.5876,1.1329,-.1006,-.0728,-.0083,1.1187),l3=ud(.856627153315983,.137318972929847,.11189821299995,.0951212405381588,.761241990602591,.0767994186031903,.0482516061458583,.101439036467562,.811302368396859),u3=ud(1.1271005818144368,-.1413297634984383,-.14132976349843826,-.11060664309660323,1.157823702216272,-.11060664309660294,-.016493938717834573,-.016493938717834257,1.2519364065950405),$m=-12.47393,m3=4.026069,p3=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.mul(t),r=s.mul(s);return r.mul(s).mul(15.5).sub(r.mul(t).mul(40.14)).add(r.mul(31.96).sub(s.mul(t).mul(6.868)).add(s.mul(.4298).add(t.mul(.1191).sub(.00232))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"}],body:[0,[[13,"x2",[6,[7,"x","mul"],["x"]]],[13,"x4",[6,[7,"x2","mul"],["x2"]]],[10,[6,[7,[6,[7,[6,[7,[6,[7,"x4","mul"],["x2"]],"mul"],[[5,"15.5"]]],"sub"],[[6,[7,[6,[7,"x4","mul"],["x"]],"mul"],[[5,"40.14"]]]]],"add"],[[6,[7,[6,[7,[6,[7,"x4","mul"],[[5,"31.96"]]],"sub"],[[6,[7,[6,[7,"x2","mul"],["x"]],"mul"],[[5,"6.868"]]]]],"add"],[[6,[7,[6,[7,"x2","mul"],[[5,"0.4298"]]],"add"],[[6,[7,[6,[7,"x","mul"],[[5,"0.1191"]]],"sub"],[[5,"0.00232"]]]]]]]]]]]]},externals:{}})&&e.f)({})),XR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=c3.mul(t);return s=l3.mul(s),s=b(s,f(1e-10)),s=gp(s),s=s.sub($m).div(__tsover_sub(m3,$m)),s=$(s,f(0),f(1)),s=p3(s),s=u3.mul(s),s=Ce(b(s,f(0)),f(2.2)),s=_3.mul(s),$(s,f(0),f(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[12,"c",[6,"LINEAR_SRGB_TO_LINEAR_REC2020.mul",["color"]]],[2,"c","=",[6,"AGX_INSET.mul",["c"]]],[2,"c","=",[6,"std.max",["c",[6,"d.vec3f",[[5,"1e-10"]]]]]],[2,"c","=",[6,"std.log2",["c"]]],[2,"c","=",[6,[7,[6,[7,"c","sub"],["AGX_MIN_EV"]],"div"],[[1,"AGX_MAX_EV","-","AGX_MIN_EV"]]]],[2,"c","=",[6,"std.clamp",["c",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]],[2,"c","=",[6,"agxContrastApprox",["c"]]],[2,"c","=",[6,"AGX_OUTSET.mul",["c"]]],[2,"c","=",[6,"std.pow",[[6,"std.max",["c",[6,"d.vec3f",[[5,"0"]]]]],[6,"d.vec3f",[[5,"2.2"]]]]]],[2,"c","=",[6,"LINEAR_REC2020_TO_LINEAR_SRGB.mul",["c"]]],[10,[6,"std.clamp",["c",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]]]},externals:{"LINEAR_SRGB_TO_LINEAR_REC2020.mul":()=>c3.mul,"AGX_INSET.mul":()=>l3.mul,"std.max":()=>b,"d.vec3f":()=>f,"std.log2":()=>gp,AGX_MIN_EV:()=>$m,AGX_MAX_EV:()=>m3,"std.clamp":()=>$,agxContrastApprox:()=>p3,"AGX_OUTSET.mul":()=>u3.mul,"std.pow":()=>Ce,"LINEAR_REC2020_TO_LINEAR_SRGB.mul":()=>_3.mul}})&&e.f)({})),Z_=.76,f3=.15,a7=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=oe(t.x,oe(t.y,t.z)),r=C(.04,__tsover_sub(s,__tsover_mul(__tsover_mul(6.25,s),s)),s<.08),o=t.sub(r),n=b(o.x,b(o.y,o.z));if(noe,"std.select":()=>C,"std.max":()=>b,NEUTRAL_START_COMPRESSION:()=>Z_,NEUTRAL_DESATURATION:()=>f3,"std.mix":()=>X,"d.vec3f":()=>f}})&&e.f)({})),v3={linear:OR,reinhard:VR,cineon:NR,aces:qR,agx:XR,neutral:a7,hable:v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.mul(16),r=s.mul(s.mul(.15).add(.05)).add(.004),o=s.mul(s.mul(.15).add(.5)).add(.06);return r.div(o).sub(__tsover_div(.02,.3))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"x",[6,[7,"color","mul"],[[5,"16"]]]],[13,"num",[6,[7,[6,[7,"x","mul"],[[6,[7,[6,[7,"x","mul"],[[5,"0.15"]]],"add"],[[5,"0.05"]]]]],"add"],[[5,"0.004"]]]],[13,"den",[6,[7,[6,[7,"x","mul"],[[6,[7,[6,[7,"x","mul"],[[5,"0.15"]]],"add"],[[5,"0.5"]]]]],"add"],[[5,"0.06"]]]],[10,[6,[7,[6,[7,"num","div"],["den"]],"sub"],[[1,[5,"0.02"],"/",[5,"0.3"]]]]]]]},externals:{}})&&e.f)({})),unreal:v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return t.div(t.add(.155)).mul(1.019)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,[7,[6,[7,"color","div"],[[6,[7,"color","add"],[[5,"0.155"]]]]],"mul"],[[5,"1.019"]]]]]]},externals:{}})&&e.f)({}))},HR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return C(Ce(t,f(.41666)).mul(1.055).sub(.055),t.mul(12.92),wc(t,f(.0031308)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"a",[6,[7,[6,[7,[6,"std.pow",["color",[6,"d.vec3f",[[5,"0.41666"]]]]],"mul"],[[5,"1.055"]]],"sub"],[[5,"0.055"]]]],[13,"b",[6,[7,"color","mul"],[[5,"12.92"]]]],[13,"factor",[6,"std.le",["color",[6,"d.vec3f",[[5,"0.0031308"]]]]]],[10,[6,"std.select",["a","b","factor"]]]]]},externals:{"std.pow":()=>Ce,"d.vec3f":()=>f,"std.le":()=>wc,"std.select":()=>C}})&&e.f)({})),y3=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return C(Ce(t.add(f(.055)).div(f(1.055)),f(2.4)),t.div(f(12.92)),wc(t,f(.04045)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"hi",[6,"std.pow",[[6,[7,[6,[7,"color","add"],[[6,"d.vec3f",[[5,"0.055"]]]]],"div"],[[6,"d.vec3f",[[5,"1.055"]]]]],[6,"d.vec3f",[[5,"2.4"]]]]]],[13,"lo",[6,[7,"color","div"],[[6,"d.vec3f",[[5,"12.92"]]]]]],[13,"isLow",[6,"std.le",["color",[6,"d.vec3f",[[5,"0.04045"]]]]]],[10,[6,"std.select",["hi","lo","isLow"]]]]]},externals:{"std.pow":()=>Ce,"d.vec3f":()=>f,"std.le":()=>wc,"std.select":()=>C}})&&e.f)({})),Tn=e=>e?e.offsetX!==0||e.offsetY!==0||e.rotation!==0||e.scale!==1||e.anchorX!==.5||e.anchorY!==.5:!1,jR=v.fn([l,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_div(__tsover_mul(o,Math.PI),180),u=H(_),m=Y(_),p=__tsover_div(__tsover_sub(t.x,i),n),y=__tsover_div(__tsover_sub(t.y,d),n),h=__tsover_mul(p,c),g=y,w=__tsover_sub(__tsover_mul(h,u),__tsover_mul(g,m)),S=__tsover_add(__tsover_mul(h,m),__tsover_mul(g,u));return l(__tsover_add(__tsover_sub(__tsover_div(w,c),s),i),__tsover_add(__tsover_sub(S,r),d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"offsetX"},{type:"i",name:"offsetY"},{type:"i",name:"rotation"},{type:"i",name:"scale"},{type:"i",name:"anchorX"},{type:"i",name:"anchorY"},{type:"i",name:"aspectRatio"}],body:[0,[[13,"rotationRad",[1,[1,"rotation","*","Math.PI"],"/",[5,"180"]]],[13,"cosAngle",[6,"std.cos",["rotationRad"]]],[13,"sinAngle",[6,"std.sin",["rotationRad"]]],[13,"centeredX",[1,[1,[7,"uv","x"],"-","anchorX"],"/","scale"]],[13,"centeredY",[1,[1,[7,"uv","y"],"-","anchorY"],"/","scale"]],[13,"squareX",[1,"centeredX","*","aspectRatio"]],[13,"squareY","centeredY"],[13,"rotatedSquareX",[1,[1,"squareX","*","cosAngle"],"-",[1,"squareY","*","sinAngle"]]],[13,"rotatedSquareY",[1,[1,"squareX","*","sinAngle"],"+",[1,"squareY","*","cosAngle"]]],[13,"finalX",[1,[1,[1,"rotatedSquareX","/","aspectRatio"],"-","offsetX"],"+","anchorX"]],[13,"finalY",[1,[1,"rotatedSquareY","-","offsetY"],"+","anchorY"]],[10,[6,"d.vec2f",["finalX","finalY"]]]]]},externals:{"Math.PI":()=>Math.PI,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({}));v.fn([l,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_add(__tsover_sub(t.x,i),s),u=__tsover_add(__tsover_sub(t.y,d),r),m=__tsover_mul(_,c),p=u,y=-__tsover_div(__tsover_mul(o,Math.PI),180),h=H(y),g=Y(y),w=__tsover_sub(__tsover_mul(m,h),__tsover_mul(p,g)),S=__tsover_add(__tsover_mul(m,g),__tsover_mul(p,h)),T=__tsover_mul(__tsover_div(w,c),n),A=__tsover_mul(S,n);return l(__tsover_add(T,i),__tsover_add(A,d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"offsetX"},{type:"i",name:"offsetY"},{type:"i",name:"rotation"},{type:"i",name:"scale"},{type:"i",name:"anchorX"},{type:"i",name:"anchorY"},{type:"i",name:"aspectRatio"}],body:[0,[[13,"centeredX",[1,[1,[7,"uv","x"],"-","anchorX"],"+","offsetX"]],[13,"centeredY",[1,[1,[7,"uv","y"],"-","anchorY"],"+","offsetY"]],[13,"squareX",[1,"centeredX","*","aspectRatio"]],[13,"squareY","centeredY"],[13,"rotationRad",[4,"-",[1,[1,"rotation","*","Math.PI"],"/",[5,"180"]]]],[13,"cosAngle",[6,"std.cos",["rotationRad"]]],[13,"sinAngle",[6,"std.sin",["rotationRad"]]],[13,"rotatedSquareX",[1,[1,"squareX","*","cosAngle"],"-",[1,"squareY","*","sinAngle"]]],[13,"rotatedSquareY",[1,[1,"squareX","*","sinAngle"],"+",[1,"squareY","*","cosAngle"]]],[13,"scaledX",[1,[1,"rotatedSquareX","/","aspectRatio"],"*","scale"]],[13,"scaledY",[1,"rotatedSquareY","*","scale"]],[10,[6,"d.vec2f",[[1,"scaledX","+","anchorX"],[1,"scaledY","+","anchorY"]]]]]]},externals:{"Math.PI":()=>Math.PI,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({}));var Ov=(e,t,s)=>{let r=T=>T.unit==="px"?T.value/t:T.value,o=T=>T.unit==="px"?T.value/s:T.value,n=r(e.x),i=o(e.y),d=r(e.width),c=o(e.height),_=(T,A,P)=>P==="end"?1-T-A:P==="center"?.5+T-A/2:T,u=e.origin??"top-left",m=u.includes("left")?"start":u.includes("right")?"end":"center",p=u.includes("top")?"start":u.includes("bottom")?"end":"center",y=_(n,d,m),h=_(i,c,p),g=y+d/2,w=h+c/2,S=e.cornerRadius?e.cornerRadius.unit==="px"?e.cornerRadius.value/s:e.cornerRadius.value:0;return{centerX:g,centerY:w,halfWidthUV:d/2,halfHeightUV:c/2,cornerRadiusUV:S,rotation:e.rotation}},KR=v.fn([l,a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=__tsover_sub(t.x,s),m=__tsover_sub(t.y,r),p=-__tsover_div(__tsover_mul(d,Math.PI),180),y=H(p),h=Y(p),g=__tsover_mul(u,c),w=m,S=__tsover_sub(__tsover_mul(g,y),__tsover_mul(w,h)),T=__tsover_add(__tsover_mul(g,h),__tsover_mul(w,y)),A=__tsover_mul(o,c),P=n,U=__tsover_sub(A,i),D=__tsover_sub(P,i),O=__tsover_sub(z(S),U),L=__tsover_sub(z(T),D),G=l(b(O,0),b(L,0)),W=__tsover_sub(__tsover_add(j(G),oe(b(O,L),0)),i),K=b(_,1e-7);return C(__tsover_sub(1,re(-K,K,W)),C(a(0),a(1),W<=0),_<=0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"centerX"},{type:"i",name:"centerY"},{type:"i",name:"halfWidth"},{type:"i",name:"halfHeight"},{type:"i",name:"cornerRadius"},{type:"i",name:"rotation"},{type:"i",name:"aspectRatio"},{type:"i",name:"aaFeather"}],body:[0,[[13,"centeredX",[1,[7,"uv","x"],"-","centerX"]],[13,"centeredY",[1,[7,"uv","y"],"-","centerY"]],[13,"rotRad",[4,"-",[1,[1,"rotation","*","Math.PI"],"/",[5,"180"]]]],[13,"cosA",[6,"std.cos",["rotRad"]]],[13,"sinA",[6,"std.sin",["rotRad"]]],[13,"sqX",[1,"centeredX","*","aspectRatio"]],[13,"sqY","centeredY"],[13,"rotatedX",[1,[1,"sqX","*","cosA"],"-",[1,"sqY","*","sinA"]]],[13,"rotatedY",[1,[1,"sqX","*","sinA"],"+",[1,"sqY","*","cosA"]]],[13,"halfWidthSq",[1,"halfWidth","*","aspectRatio"]],[13,"halfHeightSq","halfHeight"],[13,"innerHalfW",[1,"halfWidthSq","-","cornerRadius"]],[13,"innerHalfH",[1,"halfHeightSq","-","cornerRadius"]],[13,"qx",[1,[6,"std.abs",["rotatedX"]],"-","innerHalfW"]],[13,"qy",[1,[6,"std.abs",["rotatedY"]],"-","innerHalfH"]],[13,"qClamped",[6,"d.vec2f",[[6,"std.max",["qx",[5,"0"]]],[6,"std.max",["qy",[5,"0"]]]]]],[13,"sdf",[1,[1,[6,"std.length",["qClamped"]],"+",[6,"std.min",[[6,"std.max",["qx","qy"]],[5,"0"]]]],"-","cornerRadius"]],[13,"feather",[6,"std.max",["aaFeather",[5,"1e-7"]]]],[13,"ramp",[1,[5,"1"],"-",[6,"std.smoothstep",[[4,"-","feather"],"feather","sdf"]]]],[13,"binary",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"sdf","<=",[5,"0"]]]]],[10,[6,"std.select",["ramp","binary",[1,"aaFeather","<=",[5,"0"]]]]]]]},externals:{"Math.PI":()=>Math.PI,"std.cos":()=>H,"std.sin":()=>Y,"std.abs":()=>z,"d.vec2f":()=>l,"std.max":()=>b,"std.length":()=>j,"std.min":()=>oe,"std.smoothstep":()=>re,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})),h3=v.fn([l,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_sub(t.x,s),_=__tsover_sub(t.y,r),u=-__tsover_div(__tsover_mul(i,Math.PI),180),m=H(u),p=Y(u),y=__tsover_mul(c,d),h=_,g=__tsover_sub(__tsover_mul(y,m),__tsover_mul(h,p)),w=__tsover_add(__tsover_mul(y,p),__tsover_mul(h,m)),S=b(__tsover_mul(o,d),1e-6),T=b(n,1e-6);return l(__tsover_add(__tsover_div(g,__tsover_mul(S,2)),.5),__tsover_add(__tsover_div(w,__tsover_mul(T,2)),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"centerX"},{type:"i",name:"centerY"},{type:"i",name:"halfWidth"},{type:"i",name:"halfHeight"},{type:"i",name:"rotation"},{type:"i",name:"aspectRatio"}],body:[0,[[13,"centeredX",[1,[7,"uv","x"],"-","centerX"]],[13,"centeredY",[1,[7,"uv","y"],"-","centerY"]],[13,"rotRad",[4,"-",[1,[1,"rotation","*","Math.PI"],"/",[5,"180"]]]],[13,"cosA",[6,"std.cos",["rotRad"]]],[13,"sinA",[6,"std.sin",["rotRad"]]],[13,"sqX",[1,"centeredX","*","aspectRatio"]],[13,"sqY","centeredY"],[13,"rotatedX",[1,[1,"sqX","*","cosA"],"-",[1,"sqY","*","sinA"]]],[13,"rotatedY",[1,[1,"sqX","*","sinA"],"+",[1,"sqY","*","cosA"]]],[13,"halfWidthSq",[6,"std.max",[[1,"halfWidth","*","aspectRatio"],[5,"0.000001"]]]],[13,"halfHeightSq",[6,"std.max",["halfHeight",[5,"0.000001"]]]],[13,"localX",[1,[1,"rotatedX","/",[1,"halfWidthSq","*",[5,"2"]]],"+",[5,"0.5"]]],[13,"localY",[1,[1,"rotatedY","/",[1,"halfHeightSq","*",[5,"2"]]],"+",[5,"0.5"]]],[10,[6,"d.vec2f",["localX","localY"]]]]]},externals:{"Math.PI":()=>Math.PI,"std.cos":()=>H,"std.sin":()=>Y,"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),i7=(e,t,s)=>{let r=s.rotationDeg*Math.PI/180,o=Math.cos(r),n=Math.sin(r),i=(e-s.centerX)*s.aspectRatio,d=t-s.centerY,c=i*o+d*n,_=i*-n+d*o,u=Math.max(s.halfWidthUV*s.aspectRatio,1e-6),m=Math.max(s.halfHeightUV,1e-6);return{x:c/(2*u)+.5,y:_/(2*m)+.5}},sc={x:{value:0,unit:"uv"},y:{value:0,unit:"uv"},width:{value:1,unit:"uv"},height:{value:1,unit:"uv"},origin:"top-left",rotation:0};function Vv(e){if(!e||typeof e!="object")return;let t=(s,r)=>s&&typeof s=="object"?{value:s.value??r.value,unit:s.unit??r.unit}:{...r};return{x:t(e.x,sc.x),y:t(e.y,sc.y),width:t(e.width,sc.width),height:t(e.height,sc.height),origin:e.origin??"top-left",rotation:e.rotation??0,...e.cornerRadius?{cornerRadius:e.cornerRadius}:{},...e.lockAspect!==void 0?{lockAspect:e.lockAspect}:{}}}function r1(e){if(!e||typeof e!="object")return!1;let t=(s,r)=>!!s&&s.unit==="uv"&&s.value===r;return t(e.x,0)&&t(e.y,0)&&t(e.width,1)&&t(e.height,1)&&(e.rotation??0)===0&&(e.cornerRadius?.value??0)===0}var Kt=class fl{_emit;constructor(t){this._emit=t}member(t){return new fl(s=>`${ZR(this._emit(s))}.${t}`)}mul(t){return new fl(s=>`(${this._emit(s)} * ${x3(t,s)})`)}add(t){return new fl(s=>`(${this._emit(s)} + ${x3(t,s)})`)}};function ZR(e){return/^[\w.$]+$/.test(e)?e:`(${e})`}function x3(e,t){return typeof e=="number"?o1(e):e._emit(t)}function o1(e){return Number.isFinite(e)?Number.isInteger(e)?`${e}.0`:`${e}`:e>0?"3.4e38":e<0?"-3.4e38":"0.0"}var Nv=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({linearClamp:{sampler:"filtering"},nearestClamp:{sampler:"filtering"},linearRepeat:{sampler:"filtering"},nearestRepeat:{sampler:"filtering"}}).$idx(2),"SHARED_SAMPLER_LAYOUT"),rc={uniforms:0,textures:1,samplers:2,external:3};function vd(e){return new Kt(()=>e)}function vt(e){return new Kt(()=>o1(e))}function we(e,t,s){return new Kt(r=>`${r.external(e,t)}(${s.map(o=>o._emit(r)).join(", ")})`)}function Ws(...e){return new Kt(t=>`vec4f(${e.map(s=>d7(s,t)).join(", ")})`)}function oc(e,t,s){return new Kt(r=>`mix(${e._emit(r)}, ${t._emit(r)}, ${d7(s,r)})`)}var QR=0;function ur(e,t){let s=QR++;return new Kt(r=>r.memo(`local:${s}`,()=>{let o=r.freshLocal(t);return r.statement(`let ${o} = ${e._emit(r)};`),o}))}var xr=vd("vec4f(0.0, 0.0, 0.0, 0.0)"),Um=vd("vec4f(1.0, 1.0, 1.0, 0.0)");function d7(e,t){return typeof e=="number"?o1(e):e._emit(t)}function Hn(e,t,s,r){return we(o3[s]??o3.normal,`blend_${Ql(s)}`,[e,t,r])}function JR(e,t,s){return we(n3[s]??n3.alpha,`mask_${Ql(s)}`,[e,t])}function Ql(e){return e.replace(/[^a-zA-Z0-9_]/g,"_")}function g3(e,t,s,r){let o={},n=new Map,i=new Set,d=[],c=new Map,_=0,u={external(g,w){let S=n.get(g);if(S)return S;let T=Ql(w);if(i.has(T)){let A=1;for(;i.has(`${T}_${A}`);)A++;T=`${T}_${A}`}return i.add(T),n.set(g,T),o[T]=g,T},statement(g){d.push(g)},freshLocal(g){return`${Ql(g)}_${_++}`},memo(g,w){let S=c.get(g);if(S!==void 0)return S;let T=w();return c.set(g,T),T}},m=s?"vec2f(in.uv.x, 1.0 - in.uv.y)":"in.uv";d.push(`var uv = ${m};`);let p=e._emit(u),y=t(p,u),h=`${d.join(` +`)} +${p} +${y}`;return r&&/\b(?:tex|samp|ext)\.\$\./.test(h)&&!/\buni\.\$\./.test(h)&&(u.external(r,"uni"),d.unshift("_ = uni.$.uniforms._sys.time;")),{body:`{ + ${d.join(` + `)} + return ${y}; +}`,externals:o}}function c7(e,t={}){let s={sampler:Nv},r=[],o=[],n=[],i=[],d=new Set,c=[],_=[],u=[],m=[],p=0,y=0,h=0,g=0,w=new Set,S=e.store.layout;S&&S.$idx(rc.uniforms),s.uniform=S;let T=F=>new Kt(le=>(S&&le.external(S,"uni"),F)),A=F=>T(`uni.$.uniforms.${F}`),P=F=>T(e.store.gpuAccessor(F,"uni")),U={uv:new Kt(()=>"uv"),time:A("_sys.time"),viewportSize:A("_sys.viewportSize"),logicalViewportSize:A("_sys.logicalViewportSize"),aspect:A("_sys.aspect"),pointer:A("_sys.pointer")},D=F=>({key:F,sample:(le,ae="linearClamp")=>new Kt(ne=>`textureSample(tex.$.${F}, samp.$.${ae}, ${le._emit(ne)})`),sampleLevel:(le,ae="linearClamp")=>new Kt(ne=>`textureSampleLevel(tex.$.${F}, samp.$.${ae}, ${le._emit(ne)}, 0.0)`),accessor:()=>new Kt(()=>`tex.$.${F}`),dimensions:()=>new Kt(()=>`vec2f(textureDimensions(tex.$.${F}))`)}),O=F=>({key:F,sample:(le,ae="linearClamp")=>new Kt(ne=>`textureSampleBaseClampToEdge(ext.$.${F}, samp.$.${ae}, ${le._emit(ne)})`),sampleLevel:(le,ae="linearClamp")=>new Kt(ne=>`textureSampleBaseClampToEdge(ext.$.${F}, samp.$.${ae}, ${le._emit(ne)})`),accessor:()=>new Kt(()=>`ext.$.${F}`),dimensions:()=>new Kt(()=>`vec2f(textureDimensions(ext.$.${F}))`)}),L=F=>{let le=`rtt_${p++}`;return r.push({key:le,root:F}),o.push({key:le,kind:"rtt"}),D(le)},G=new Map,W=(F,le,ae)=>{let ne=`${F.id}:${le}`,ie=G.get(ne);if(ie!==void 0)return ie;let ge=ae?e.resolveCustomId(ae):null,Ye=ge?L(bs(ge,new Set([F.id]))):null;return G.set(ne,Ye),Ye},K=new Map,Q=F=>{let le=K.get(F.id);if(le)return le;let ae={},ne=F.metadata.maps;if(ne){let ie={},ge=F.definition.mapSampleUVs;if(ge){let Ye={};for(let[Je,rt]of Object.entries(F.handles))rt.cpu||(Ye[Je]=P(rt));ie=ge({uniforms:Ye,ctx:U})??{}}for(let[Ye,Je]of Object.entries(ne)){if(!(Ye in F.handles))continue;let rt=Ee(Je,F,Ye,ie[Ye]);rt&&(ae[Ye]=rt)}}return K.set(F.id,ae),ae},te=F=>{let le=Lo(F.id),ae=F.metadata.maps;if(!ae||Object.keys(ae).length===0)return A(le);let ne=Q(F);return Object.keys(ne).length===0?A(le):new Kt(ie=>ie.memo(`props:${F.id}`,()=>{S&&ie.external(S,"uni");let ge=ie.freshLocal(`p_${le}`);ie.statement(`var ${ge} = uni.$.uniforms.${le};`);for(let[Ye,Je]of Object.entries(ne))ie.statement(`${ge}.${Ye} = ${Je._emit(ie)};`);return ge}))},ee=F=>{let le={};for(let[ae,ne]of Object.entries(F.handles))le[ae]=ne.value;return le},he=F=>{let le={};Lo(F.id);let ae=te(F);for(let[ie,ge]of Object.entries(F.handles)){if(ge.cpu)continue;let Ye=F.metadata.maps;Ye&&ie in Ye?le[ie]=ae.member(ie):le[ie]=P(ge)}let ne=F.definition.extraFields;if(ne)for(let ie of Object.keys(ne))le[ie]=ae.member(ie);return le},Ee=(F,le,ae,ne)=>{let ie=F,ge=Lo(le.id);if(ie.type==="map"){let Ye=W(le,ae,ie.source);return Ye?sz(tz(Ye.sample(ne??U.uv),ie.channel??"luminance"),A(`${ge}._map_${ae}_inputMin`),A(`${ge}._map_${ae}_inputMax`),A(`${ge}._map_${ae}_outputMin`),A(`${ge}._map_${ae}_outputMax`),A(`${ge}._map_${ae}_curve`)):null}return ie.type==="mouse-position"||ie.type==="mouse"||ie.type==="auto-animate"?A(`${ge}._smoothed_${ae}`):null},Te=(F,le,ae,ne)=>{let ie=le.metadata.mask;if(!ie?.source)return F;let ge=e.resolveCustomId(ie.source);if(!ge)return F;if(ae.has(ge))return console.error("[gpu] circular dependency in shader masks."),F;let Ye=new Set(ae);Ye.add(le.id);let Je=bs(ge,Ye);return ne&&(Je=L(Je).sample(ne)),JR(F,Je,ie.type??"alpha")},Ue=F=>A(`${Lo(F.id)}._opacity`),Me=F=>!!F.metadata.boundingBox&&!!F.definition.boundingBoxDeclaration&&!r1(F.metadata.boundingBox),Pe=F=>F.handles.cutout?.value===1,Re=F=>!!F.definition.requiresChild,de=F=>!!F.definition.blendWithChildren,je=F=>Me(F)&&!F.definition.boundingBoxDeclaration?.boxResamplesContent&&Re(F)&&F.metadata.blendMode==="normal"&&!Pe(F)&&!de(F),fe=()=>new Kt(F=>`(0.5 / max(${U.viewportSize.member("y")._emit(F)}, 1.0))`),Ke=(F,le=U.uv)=>{let ae=Lo(F.id),ne=ie=>A(`${ae}._bbox_${ie}`);return we(KR,"bboxClipMask",[le,ne("centerX"),ne("centerY"),ne("halfWidth"),ne("halfHeight"),ne("cornerRadius"),ne("rotation"),ne("aspectRatio"),fe()])},Ze=(F,le)=>{if(!Me(le))return F;if(le.definition.boundingBoxDeclaration?.boxResamplesContent){let ne=Lo(le.id),ie=rt=>A(`${ne}._bbox_${rt}`),ge=L(F),Ye=we(h3,"bboxGenUVContext",[U.uv,ie("centerX"),ie("centerY"),ie("halfWidth"),ie("halfHeight"),ie("rotation"),ie("aspectRatio")]),Je=we(dn,"unpremultiplyAlpha",[ge.sample(Ye)]);return Ws(Je.member("rgb"),Je.member("a").mul(Ke(le)))}let ae=Ke(le);return Ws(F.member("rgb"),F.member("a").mul(ae))},at=(F,le)=>{let ae=le.metadata.transform;if(!ae||!Tn(ae))return F;let ne=Lo(le.id),ie=L(F),ge=Ye=>A(`${ne}._xform_${Ye}`);return Gi(we(jR,"applyUVTransform",[U.uv,ge("offsetX"),ge("offsetY"),ge("rotation"),ge("scale"),ge("anchorX"),ge("anchorY"),ge("aspectRatio")]),Ye=>ie.sample(Ye),rz[ae.edges]??0)},Fe=(F,le,ae)=>Me(ae)?le!==void 0&&je(ae)?oc(le,F,Ke(ae)):Ze(F,ae):at(F,ae),Ie=(F,le)=>je(le)?{transformedFragment:F,clipMaskNode:Ke(le)}:{transformedFragment:Me(le)?Ze(F,le):at(F,le),clipMaskNode:void 0},st=(F,le,ae,ne)=>{let ie=Ue(ae),ge=de(ae)?F!==void 0?Hn(F,le,"normal",ie):oc(xr,le,ie):oc(F??xr,le,ie);return ne===void 0?ge:oc(F??xr,ge,ne)},Xe=(F,le)=>{if(F.definition.compute)try{let ae=F.definition.compute(le);if(ae)return i.push({nodeId:F.id,getComputeNodes:ae.getComputeNodes,bindInputs:ae.bindInputs}),ae.outputs}catch(ae){Is(`[gpu] error initializing compute for node ${F.id}:`,ae)}},We=F=>{let le=Lo(F.id),ae=ne=>A(`${le}._bbox_${ne}`);return{centerX:ae("centerX"),centerY:ae("centerY"),halfWidth:ae("halfWidth"),halfHeight:ae("halfHeight"),rotation:ae("rotation")}},Ve=F=>{let le=F.definition.boundingBoxDeclaration;return!!le&&(!!le.computeBounds||!!le.propBindings)},Ft=F=>{if(!F.definition.wantsBoundsParams)return{};let le={};Me(F)&&(le.ownBoundsParams=We(F));let ae=[...e.getChildren(F.id)].sort((ne,ie)=>ne.metadata.renderOrder-ie.metadata.renderOrder);for(let ne of ae)if(ne.metadata.visible!==!1){if(Me(ne)){le.childBoundsParams=We(ne);break}if(Ve(ne)){let ie=Lo(F.id),ge=Ye=>A(`${ie}._childBounds_${Ye}`);le.childBoundsParams={centerX:ge("centerX"),centerY:ge("centerY"),halfWidth:ge("halfWidth"),halfHeight:ge("halfHeight"),rotation:vt(0)};break}}return le},Gt=!1,os=(F,le,ae={})=>({noteCustomWgsl:()=>{Gt=!0},props:te(F),uniforms:he(F),propValues:ee(F),childNode:le,ctx:U,logicalViewportSize:U.logicalViewportSize,convertToTexture:L,declareTexture:ne=>{o.some(ie=>ie.key===ne.key)||o.push({key:ne.key,kind:"media",resource:ne._resource})},registerExternalTexture:ne=>{let ie=`video_${h++}`;return n.push({key:ie,getSource:ne}),O(ie)},registerComputeTexture:ne=>{let ie=`compute_${y++}`;o.push({key:ie,kind:"compute",resource:{texture:ne}});let ge=ne?.props?.format;return(ge==="r32float"||ge==="rg32float"||ge==="rgba32float")&&w.add(ie),D(ie)},createMediaTexture:ne=>t.createMediaTexture?.(ne)??(()=>{throw new Error("[gpu] createMediaTexture unavailable (no TextureManager injected)")})(),createDataTexture:ne=>t.createDataTexture?.(ne)??(()=>{throw new Error("[gpu] createDataTexture unavailable (no TextureManager injected)")})(),registerMediaTexture:ne=>{let ie=`media_${g++}`;return o.push({key:ie,kind:"media",resource:{get texture(){return ne()}}}),D(ie)},getCpuValue:ne=>{if((F.metadata.maps?.[ne]||ne.startsWith("_animTime"))&&t.resolveDriverCpuValue){let ie=t.resolveDriverCpuValue(F.id,ne);if(ie!==void 0)return ie}return F.handles[ne]?.value},getMapInfo:ne=>{let ie=F.metadata.maps?.[ne];if(!ie||ie.type!=="map")return null;let ge=W(F,ne,ie.source);return ge?{sourceTexture:ge,channel:ie.channel??"luminance",window:()=>t.resolveMapWindow?.(F.id,ne)??{inputMin:typeof ie.inputMin=="number"?ie.inputMin:0,inputMax:typeof ie.inputMax=="number"?ie.inputMax:1,outputMin:typeof ie.outputMin=="number"?ie.outputMin:0,outputMax:typeof ie.outputMax=="number"?ie.outputMax:1,curve:typeof ie.curve=="number"?ie.curve:0}}:null},getLayerTexture:ne=>{let ie=F.handles[ne]?.value;return typeof ie!="string"||ie===""?null:W(F,ne,ie)},setExtraField:(ne,ie)=>t.writeExtraField?.(F.id,ne,ie),onCleanup:ne=>m.push(ne),onBeforeRender:ne=>c.push(ne),onAfterRender:ne=>_.push(ne),onResize:ne=>u.push(ne),canvas:t.canvas,dimensions:t.dimensions??{width:1,height:1},gpu:t.gpu,domCanvas:F.domCanvas,...Ft(F),...ae});function bs(F,le=new Set){let ae=e.getNode(F);if(!ae)return xr;let ne=e.getChildren(F);if(ne.length>0&&ae.definition.providesUVContextViaCompute){let rt=Qr(ae,ne,le);if(rt!==null)return rt}if(ne.length>0&&ae.definition.uvRemap){let rt=zr(ae,ne);if(rt!==null)return rt;let He=Vo(ae,ne,le);if(He!==null)return He}if(ne.length===0){d.add(F);let rt=os(ae,void 0,{bboxMask:vs(ae),...As(ae)});rt.computeOutputs=Xe(ae,rt);let He=ae.definition.fragment(rt);return Te(Me(ae)?Ze(He,ae):at(He,ae),ae,le)}let ie=[...ne].sort((rt,He)=>rt.metadata.renderOrder-He.metadata.renderOrder),ge=Ps(ie,le);if(ge!==null){let rt=os(ae,ge,{bboxMask:vs(ae)});rt.computeOutputs=Xe(ae,rt);let He=ae.definition.fragment(rt);return Te(Me(ae)?Ze(He,ae):at(He,ae),ae,le)}let Ye=ls(ae,ie,le);d.add(F);let Je=os(ae,Ye,{bboxMask:vs(ae)});return Je.computeOutputs=Xe(ae,Je),Te(Fe(ae.definition.fragment(Je),Ye,ae),ae,le)}function ls(F,le,ae){let ne;for(let ie=0;ie0,Je,rt;if(Ye)Je=bs(ge.id,ae);else{let He=ne;ge.definition.requiresRTT&&ne!==void 0&&(He=Hn(xr,ne,"normal",vt(1))),ge.definition.acceptsOptionalChild&&(He=void 0);let Bt=os(ge,He,{bboxMask:vs(ge),...As(ge)});Bt.computeOutputs=Xe(ge,Bt);let Yt=Ie(ge.definition.fragment(Bt),ge);rt=Yt.clipMaskNode,Je=Te(Yt.transformedFragment,ge,ae)}if(ge.definition.requiresChild&&ge.metadata.blendMode==="normal"&&!Ye)ne=st(ne,Je,ge,rt);else{let He=ge.metadata.blendMode??"normal",Bt=ge.metadata.opacity??1;ne===void 0?ne=F.definition.requiresRTT||Bt!==1?Hn(Um,Je,He,Ue(ge)):Je:ne=Hn(ne,Je,He,Ue(ge))}}return ne}function As(F,le=U.uv){if(!Me(F))return{};if(!F.definition.boundingBoxDeclaration?.supportsResizeFit)return{};let ae=Lo(F.id),ne=ie=>A(`${ae}._bbox_${ie}`);return{uvContext:we(h3,"bboxGenUVContext",[le,ne("centerX"),ne("centerY"),ne("halfWidth"),ne("halfHeight"),ne("rotation"),ne("aspectRatio")]),effectiveViewportSize:Ws(ne("halfWidth").mul(2).mul(U.viewportSize.member("x")),ne("halfHeight").mul(2).mul(U.viewportSize.member("y")),0,0).member("xy")}}function vs(F){if(!(!Me(F)||!F.definition.requiresRTT)&&!F.definition.boundingBoxDeclaration?.supportsResizeFit)return Ke(F)}let ys=F=>!!F.metadata.mask||F.metadata.opacity!==void 0&&F.metadata.opacity<1||(F.metadata.blendMode??"normal")!=="normal"||Tn(F.metadata.transform)||Me(F),Ks=F=>!!F.definition.uvRemap&&e.getChildren(F.id).length===0&&!ys(F);function yr(F,le,ae){d.add(F.id);let ne=Xe(F,os(F,void 0));return F.definition.uvRemap({uv:le,mask:ae,uniforms:he(F),propValues:ee(F),props:te(F),aspect:U.aspect,onBeforeRender:ie=>c.push(ie),computeOutputs:ne})}function Ur(F){let le=U.uv,ae=vt(1);for(let ne=F.length-1;ne>=0;ne--){let ie=yr(F[ne],le,ae);le=ie.uv,ae=ie.mask}return{uv:le,mask:ae}}let Ms=24,Cr=vt(1),hr=(F,le)=>{if(le.left--<=0||F.metadata.mask||Tn(F.metadata.transform))return!1;let ae=e.getChildren(F.id).filter(ne=>ne.metadata.visible!==!1);return ae.length===0?Me(F)&&F.definition.boundingBoxDeclaration?.boxResamplesContent?!1:!!F.definition.acceptsUVContext&&!F.definition.requiresChild:!F.definition.uvRemap||Me(F)?!1:ae.every(ne=>hr(ne,le))};function mo(F,le,ae){let ne=ae??Cr,ie=yr(F,le,ne);return{uv:ie.uv,mask:ie.mask===ne?ae:ie.mask}}let po=(F,le)=>F===void 0?le:le===void 0?F:F.mul(le);function Rr(F,le,ae){let ne=e.getChildren(F.id).filter(He=>He.metadata.visible!==!1);if(ne.length>0){if(!F.definition.uvRemap)return null;let He=mo(F,le,ae);return nr(ne,ur(He.uv,"foldUV"),He.mask)}if(!F.definition.acceptsUVContext)return null;d.add(F.id);let ie=As(F,le),ge=os(F,void 0,Object.keys(ie).length>0?ie:{uvContext:le});ge.computeOutputs=Xe(F,ge);let Ye=F.definition.fragment(ge),Je=po(ae,Me(F)?Ke(F,le):void 0);if(Je===void 0)return Ye;let rt=ur(Ye,"gen");return Ws(rt.member("rgb"),rt.member("a").mul(Je))}function nr(F,le,ae){let ne=[...F].sort((Ye,Je)=>Ye.metadata.renderOrder-Je.metadata.renderOrder),ie;for(let Ye of ne){let Je=Rr(Ye,le,void 0);if(Je===null)return null;let rt=Ye.metadata.blendMode??"normal",He=Ye.metadata.opacity??1;ie===void 0?ie=rt==="normal"&&He===1?Je:Hn(Um,Je,rt,Ue(Ye)):ie=Hn(ie,Je,rt,Ue(Ye))}if(ie===void 0)return null;if(ae===void 0)return ie;let ge=ur(ie,"sibs");return Ws(ge.member("rgb"),ge.member("a").mul(ae))}function zr(F,le){if(!F.definition.uvRemap||ys(F))return null;let ae=le.filter(Ye=>Ye.metadata.visible!==!1);if(ae.length===0)return null;let ne={left:Ms};if(!ae.every(Ye=>hr(Ye,ne)))return null;d.add(F.id);let{uv:ie,mask:ge}=mo(F,U.uv,void 0);return nr(ae,ur(ie,"foldUV"),ge)}function Ps(F,le){let ae=F.filter(Yt=>Yt.metadata.visible!==!1);if(!ae.some(Yt=>!!Yt.definition.uvRemap)||ae.length<2)return null;let ne=ae.length;for(let Yt=ae.length-1;Yt>=0&&Ks(ae[Yt]);Yt--)ne=Yt;let ie=ae.slice(ne),ge=ae.slice(0,ne);if(ie.length===0||ge.length!==1)return null;let Ye=ge[0];if(!Ye.definition.acceptsUVContext||e.getChildren(Ye.id).length>0||ys(Ye))return null;d.add(Ye.id);for(let Yt of ie)d.add(Yt.id);let{uv:Je,mask:rt}=Ur(ie),He=os(Ye,void 0,{uvContext:Je});He.computeOutputs=Xe(Ye,He);let Bt=Ye.definition.fragment(He);return Ws(Bt.member("rgb"),Bt.member("a").mul(rt))}function Gr(F,le,ae,ne){if(!Ks(F[le]))return null;let ie=[],ge=le;for(let He=le;HeNo.metadata.visible!==!1);if(fo.length!==1)return null;let br=fo[0],Nt=e.getChildren(br.id);if(br.definition.acceptsUVContext&&Nt.length===0&&!ys(br)){Je=br;break}if(br.definition.uvRemap&&!ys(br)&&Nt.length===1){ge=br,Ye=Nt;continue}rt=br;break}if(!Je&&!rt)return null;for(let Ls of ie)d.add(Ls.id);let{uv:He,mask:Bt}=Ur([...ie].reverse()),Yt;if(Je){d.add(Je.id);let Ls=os(Je,void 0,{uvContext:He});Ls.computeOutputs=Xe(Je,Ls);let fo=Je.definition.fragment(Ls);Yt=Ws(fo.member("rgb"),fo.member("a").mul(Bt))}else{let Ls=L(Hn(Um,bs(rt.id,ae),rt.metadata.blendMode??"normal",Ue(rt))).sample(He);Yt=Ws(Ls.member("rgb"),Ls.member("a").mul(Bt))}return Te(Me(F)?Ze(Yt,F):at(Yt,F),F,ae)}function Qr(F,le,ae){let ne=Nt=>!!Nt.metadata.mask||Nt.metadata.opacity!==void 0&&Nt.metadata.opacity<1||(Nt.metadata.blendMode??"normal")!=="normal"||Tn(Nt.metadata.transform)||Me(Nt);if(!F.definition.providesUVContextViaCompute||ne(F))return null;let ie=[],ge=F,Ye=null,Je=le,rt=8;for(let Nt=0;Ntwa.metadata.visible!==!1);if(No.length!==1)return null;let Yr=No[0];if(ne(Yr))return null;let Ro=e.getChildren(Yr.id).length>0;if(Yr.definition.acceptsUVContext&&!Ro){Ye=Yr;break}if(Yr.definition.providesUVContextViaCompute){ge=Yr,Je=e.getChildren(Yr.id);continue}return null}if(!Ye)return null;d.add(Ye.id);for(let Nt of ie)d.add(Nt.id);let He=[],Bt;for(let Nt=0;Nt=0;Nt--)He[Nt].childNode=br,He[Nt].uvPropagationActive=!0,br=ie[Nt].definition.fragment(He[Nt]);return Te(Me(F)?Ze(br,F):at(br,F),F,ae)}let ci=e.rootId?bs(e.rootId):xr,ba=r.map(F=>{let{body:le,externals:ae}=g3(F.root,ne=>ne,t.flipY??!0,s.uniform);return{textureKey:F.key,fragment:b3(le,ae,`rtt_${F.key}`,s.sampler,w)}}),_i=t.toneMapping??"linear",li=g3(ci,(F,le)=>ez(F,le,_i,t.premultiplyAlpha??!1),t.flipY??!0,s.uniform);return{computeSteps:i,rttPasses:ba,finalPass:b3(li.body,li.externals,"final",s.sampler,w),textures:o,externalTextures:n,layouts:{uniforms:s.uniform,samplers:s.sampler},onBeforeRender:c,onAfterRender:_,onResize:u,onCleanup:m,composedNodeIds:d,usesCustomWgsl:Gt}}function ez(e,t,s,r){let o=t.external(v3[s]??v3.linear,`tone_${s}`),n=t.external(HR,"linearToSrgb"),i=t.freshLocal("composed");t.statement(`var ${i} = ${e};`);let d=`${n}(${o}(${i}.rgb))`;return r?`vec4f(${d} * ${i}.a, ${i}.a)`:`vec4f(${d}, ${i}.a)`}function b3(e,t,s,r,o=new Set){let n=w3(e,/\btex\.\$\.(\w+)/g),i=w3(e,/\bext\.\$\.(\w+)/g),d=/\bsamp\.\$\./.test(e),c;if(n.length>0){let u={};for(let m of n)u[m]=o.has(m)?{texture:ps(a),sampleType:"unfilterable-float"}:{texture:ps(a)};c=(globalThis.__TYPEGPU_AUTONAME__??(m=>m))(v.bindGroupLayout(u).$idx(rc.textures),"textureLayout"),t.tex=c}let _;if(i.length>0){let u={};for(let y of i)u[y]={externalTexture:s5()};let m=new Set([rc.uniforms]);n.length>0&&m.add(rc.textures),d&&m.add(rc.samplers);let p=0;for(;m.has(p);)p++;_=(globalThis.__TYPEGPU_AUTONAME__??(y=>y))(v.bindGroupLayout(u).$idx(p),"externalLayout"),t.ext=_}return d&&(t.samp=r),{body:e,externals:t,entry:v.fragmentFn({in:{uv:l},out:x})(e).$uses(t).$name(s),reads:n,externalReads:i,usesSamplers:d,textureLayout:c,externalLayout:_}}function w3(e,t){let s=new Set;for(let r of e.matchAll(t))s.add(r[1]);return[...s]}function tz(e,t){switch(t){case"alpha":return e.member("a");case"alphaInverted":return new Kt(s=>`(1.0 - ${e._emit(s)}.a)`);case"luminanceInverted":return new Kt(s=>`(1.0 - dot(${e._emit(s)}.rgb, vec3f(0.2126, 0.7152, 0.0722)))`);default:return new Kt(s=>`dot(${e._emit(s)}.rgb, vec3f(0.2126, 0.7152, 0.0722))`)}}function sz(e,t,s,r,o,n){return new Kt(i=>{let d=e._emit(i),c=t._emit(i),_=s._emit(i),u=r._emit(i),m=o._emit(i),p=n._emit(i);return`mix(${u}, ${m}, ${`pow(${`clamp((${d} - ${c}) / max(${_} - ${c}, 0.0001), 0.0, 1.0)`}, pow(2.0, -${p} * 2.0))`})`})}var rz={stretch:0,transparent:1,mirror:2,wrap:3};function _7(e,t={}){let s=[];s.push(`tone:${t.toneMapping??"linear"}`),s.push(`flipY:${t.flipY??!0}`),s.push(`premul:${t.premultiplyAlpha??!1}`);let r=o=>{let n=e.getNode(o);if(!n)return;let i=n.metadata,d=n.definition,c=Tn(i.transform),_=!!i.boundingBox&&!!d.boundingBoxDeclaration&&!r1(i.boundingBox),u=(i.opacity??1)===0?"zero":"nonzero",m=i.mask?`${i.mask.source}:${i.mask.type}`:"none",p=[];for(let[y,h]of Object.entries(d.props??{}))if(h.compileTime){let g=n.handles[y];p.push(`${y}=${g?String(g.value):"?"}`)}s.push([`id:${n.id}`,`parent:${n.parentId??""}`,`name:${n.componentName}`,`rev:${d.revision??""}`,`blend:${i.blendMode??"normal"}`,`mask:${m}`,`order:${i.renderOrder??0}`,`visible:${i.visible!==!1}`,`opacity:${u}`,`xform:${c}${c?`:${i.transform?.edges??"transparent"}`:""}`,`bbox:${_}:${_?d.boundingBoxDeclaration?.boxResamplesContent?"resample":d.boundingBoxDeclaration?.supportsResizeFit?"resize":"clip":""}`,`rtt:${!!d.requiresRTT}`,`maps:${i.maps?Object.keys(i.maps).sort().join(","):""}`,`ct:${p.sort().join("|")}`].join("|"));for(let y of e.getChildren(o).sort((h,g)=>h.metadata.renderOrder-g.metadata.renderOrder))r(y.id)};return e.rootId&&r(e.rootId),s}var oz=v.fn([a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(t,s),o=__tsover_add(q(__tsover_sub(r,.5)),.5),n=__tsover_sub(r,o),i=__tsover_add(1,__tsover_mul(__tsover_mul(n,n),__tsover_add(-2.5,__tsover_mul(1.5,n)))),d=__tsover_mul(n,__tsover_add(.5,__tsover_mul(n,__tsover_sub(2,__tsover_mul(1.5,n))))),c=b(__tsover_add(i,d),1e-6),_=__tsover_div(d,c);return f(__tsover_div(__tsover_sub(o,1),s),__tsover_div(__tsover_add(o,_),s),__tsover_div(__tsover_add(o,2),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"texSize"}],body:[0,[[13,"samplePos",[1,"uv","*","texSize"]],[13,"texPos1",[1,[6,"std.floor",[[1,"samplePos","-",[5,"0.5"]]]],"+",[5,"0.5"]]],[13,"f",[1,"samplePos","-","texPos1"]],[13,"w1",[1,[5,"1"],"+",[1,[1,"f","*","f"],"*",[1,[4,"-",[5,"2.5"]],"+",[1,[5,"1.5"],"*","f"]]]]],[13,"w2",[1,"f","*",[1,[5,"0.5"],"+",[1,"f","*",[1,[5,"2"],"-",[1,[5,"1.5"],"*","f"]]]]]],[13,"w12",[6,"std.max",[[1,"w1","+","w2"],[5,"0.000001"]]]],[13,"offset12",[1,"w2","/","w12"]],[10,[6,"d.vec3f",[[1,[1,"texPos1","-",[5,"1"]],"/","texSize"],[1,[1,"texPos1","+","offset12"],"/","texSize"],[1,[1,"texPos1","+",[5,"2"]],"/","texSize"]]]]]]},externals:{"std.floor":()=>q,"std.max":()=>b,"d.vec3f":()=>f}})&&e.f)({})),nz=v.fn([a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(t,s),o=__tsover_add(q(__tsover_sub(r,.5)),.5),n=__tsover_sub(r,o),i=__tsover_mul(n,__tsover_add(-.5,__tsover_mul(n,__tsover_sub(1,__tsover_mul(.5,n))))),d=__tsover_add(1,__tsover_mul(__tsover_mul(n,n),__tsover_add(-2.5,__tsover_mul(1.5,n)))),c=__tsover_mul(n,__tsover_add(.5,__tsover_mul(n,__tsover_sub(2,__tsover_mul(1.5,n))))),_=__tsover_mul(__tsover_mul(n,n),__tsover_add(-.5,__tsover_mul(.5,n)));return f(i,__tsover_add(d,c),_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"texSize"}],body:[0,[[13,"samplePos",[1,"uv","*","texSize"]],[13,"texPos1",[1,[6,"std.floor",[[1,"samplePos","-",[5,"0.5"]]]],"+",[5,"0.5"]]],[13,"f",[1,"samplePos","-","texPos1"]],[13,"w0",[1,"f","*",[1,[4,"-",[5,"0.5"]],"+",[1,"f","*",[1,[5,"1"],"-",[1,[5,"0.5"],"*","f"]]]]]],[13,"w1",[1,[5,"1"],"+",[1,[1,"f","*","f"],"*",[1,[4,"-",[5,"2.5"]],"+",[1,[5,"1.5"],"*","f"]]]]],[13,"w2",[1,"f","*",[1,[5,"0.5"],"+",[1,"f","*",[1,[5,"2"],"-",[1,[5,"1.5"],"*","f"]]]]]],[13,"w3",[1,[1,"f","*","f"],"*",[1,[4,"-",[5,"0.5"]],"+",[1,[5,"0.5"],"*","f"]]]],[10,[6,"d.vec3f",["w0",[1,"w1","+","w2"],"w3"]]]]]},externals:{"std.floor":()=>q,"d.vec3f":()=>f}})&&e.f)({}));var az=0,iz=(e,t,s="linearClamp",r="positive")=>{let o=az++;return new Kt(n=>n.memo(`catmullRom:${o}`,()=>{let i=n.freshLocal("crUV"),d=n.freshLocal("crSize"),c=n.freshLocal("crPosX"),_=n.freshLocal("crPosY"),u=n.freshLocal("crWx"),m=n.freshLocal("crWy"),p=n.freshLocal("crOut");n.statement(`let ${i} = ${t._emit(n)};`),n.statement(`let ${d} = ${e.dimensions()._emit(n)};`);let y=n.external(oz,"catmullRomAxisPositions"),h=n.external(nz,"catmullRomAxisWeights");n.statement(`let ${c} = ${y}(${i}.x, ${d}.x);`),n.statement(`let ${_} = ${y}(${i}.y, ${d}.y);`),n.statement(`let ${u} = ${h}(${i}.x, ${d}.x);`),n.statement(`let ${m} = ${h}(${i}.y, ${d}.y);`),n.statement(`var ${p} = vec4f(0.0, 0.0, 0.0, 0.0);`);let g=["x","y","z"];for(let w of[0,1,2])for(let S of[0,1,2]){let T=new Kt(()=>`vec2f(${c}.${g[S]}, ${_}.${g[w]})`),A=`(${u}.${g[S]} * ${m}.${g[w]})`;n.statement(`${p} += ${e.sample(T,s)._emit(n)} * ${A};`)}return n.statement(r==="unit"?`${p} = clamp(${p}, vec4f(0.0, 0.0, 0.0, 0.0), vec4f(1.0, 1.0, 1.0, 1.0));`:`${p} = max(${p}, vec4f(0.0, 0.0, 0.0, 0.0));`),p}))},dz=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return $(t,l(0,0),l(1,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[10,[6,"std.clamp",["uv",[6,"d.vec2f",[[5,"0"],[5,"0"]]],[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l}})&&e.f)({})),l7=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=bo(z(t.x),2),r=bo(z(t.y),2);return l(C(s,__tsover_sub(2,s),s>=1),C(r,__tsover_sub(2,r),r>=1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"mirrorX",[6,"std.mod",[[6,"std.abs",[[7,"uv","x"]]],[5,"2"]]]],[13,"mirrorY",[6,"std.mod",[[6,"std.abs",[[7,"uv","y"]]],[5,"2"]]]],[10,[6,"d.vec2f",[[6,"std.select",["mirrorX",[1,[5,"2"],"-","mirrorX"],[1,"mirrorX",">=",[5,"1"]]]],[6,"std.select",["mirrorY",[1,[5,"2"],"-","mirrorY"],[1,"mirrorY",">=",[5,"1"]]]]]]]]]},externals:{"std.mod":()=>bo,"std.abs":()=>z,"d.vec2f":()=>l,"std.select":()=>C}})&&e.f)({})),u7=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[10,[6,"std.fract",["uv"]]]]]},externals:{"std.fract":()=>ue}})&&e.f)({})),m7=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_mul(De(0,t.x),De(t.x,1)),r=__tsover_mul(De(0,t.y),De(t.y,1));return __tsover_mul(s,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"inX",[1,[6,"std.step",[[5,"0"],[7,"uv","x"]]],"*",[6,"std.step",[[7,"uv","x"],[5,"1"]]]]],[13,"inY",[1,[6,"std.step",[[5,"0"],[7,"uv","y"]]],"*",[6,"std.step",[[7,"uv","y"],[5,"1"]]]]],[10,[1,"inX","*","inY"]]]]},externals:{"std.step":()=>De}})&&e.f)({})),qv=1,Xv=2,Hv=3;v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.x,t.y,t.z,__tsover_mul(t.w,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"m"}],body:[0,[[10,[6,"d.vec4f",[[7,"color","x"],[7,"color","y"],[7,"color","z"],[1,[7,"color","w"],"*","m"]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({}));var cz=(e,t)=>{switch(t){case qv:return e;case Xv:return we(l7,"edgeMirrorUV",[e]);case Hv:return we(u7,"edgeWrapUV",[e]);default:return we(dz,"edgeClampUV",[e])}},_z=(e,t,s)=>{if(s===qv){let r=we(m7,"edgeTransparentMask",[e]);return{uv:e,mask:t.mul(r)}}return{uv:cz(e,s),mask:t}},Gi=(e,t,s)=>{if(s===qv){let r=t(e),o=we(m7,"edgeTransparentMask",[e]);return Ws(r.member("rgb"),r.member("a").mul(o))}return t(s===Xv?we(l7,"edgeMirrorUV",[e]):s===Hv?we(u7,"edgeWrapUV",[e]):e)},lz=(e,t,s)=>Gi(t,s===Xv?r=>e.sample(r):r=>iz(e,r,s===Hv?"linearRepeat":"linearClamp"),s),Cm=ut({rUV:l,gUV:l,bUV:l}).$name("ChromaticSplitUVs"),uz=v.fn([l,l,a,a],Cm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=s.mul(__tsover_mul(r,.1)),i=.15,d=$(n,l(-i,-i),l(i,i)),c=__tsover_mul(o,.1);return Cm({rUV:t.sub(d.mul(__tsover_add(1,c))),gUV:t.sub(d),bUV:t.sub(d.mul(__tsover_sub(1,c)))})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"disp"},{type:"i",name:"strength"},{type:"i",name:"chromaticSplit"}],body:[0,[[13,"scaled",[6,[7,"disp","mul"],[[1,"strength","*",[5,"0.1"]]]]],[13,"maxDisp",[5,"0.15"]],[13,"clamped",[6,"std.clamp",["scaled",[6,"d.vec2f",[[4,"-","maxDisp"],[4,"-","maxDisp"]]],[6,"d.vec2f",["maxDisp","maxDisp"]]]]],[13,"chromaticScale",[1,"chromaticSplit","*",[5,"0.1"]]],[13,"rUV",[6,[7,"uv","sub"],[[6,[7,"clamped","mul"],[[1,[5,"1"],"+","chromaticScale"]]]]]],[13,"gUV",[6,[7,"uv","sub"],["clamped"]]],[13,"bUV",[6,[7,"uv","sub"],[[6,[7,"clamped","mul"],[[1,[5,"1"],"-","chromaticScale"]]]]]],[10,[6,"ChromaticSplitUVs",[[104,{rUV:"rUV",gUV:"gUV",bUV:"bUV"}]]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l,ChromaticSplitUVs:()=>Cm}})&&e.f)({})),T3=it,G8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(s,Le),o=H(r),n=Y(r),i=__tsover_div(1,3),d=__tsover_sub(1,o),c=__tsover_mul(d,i),_=__tsover_div(n,_a),u=__tsover_add(o,c),m=__tsover_sub(c,_),p=__tsover_add(c,_),y=__tsover_add(c,_),h=__tsover_add(o,c),g=__tsover_sub(c,_),w=__tsover_sub(c,_),S=__tsover_add(c,_),T=__tsover_add(o,c),A=t.x,P=t.y,U=t.z;return x(__tsover_add(__tsover_add(__tsover_mul(A,u),__tsover_mul(P,m)),__tsover_mul(U,p)),__tsover_add(__tsover_add(__tsover_mul(A,y),__tsover_mul(P,h)),__tsover_mul(U,g)),__tsover_add(__tsover_add(__tsover_mul(A,w),__tsover_mul(P,S)),__tsover_mul(U,T)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"shiftDeg"}],body:[0,[[13,"angle",[1,"shiftDeg","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angle"]]],[13,"sinA",[6,"std.sin",["angle"]]],[13,"k",[1,[5,"1"],"/",[5,"3"]]],[13,"oneMinusCos",[1,[5,"1"],"-","cosA"]],[13,"kOneMinusCos",[1,"oneMinusCos","*","k"]],[13,"sinOverSqrt3",[1,"sinA","/","SQRT3"]],[13,"m00",[1,"cosA","+","kOneMinusCos"]],[13,"m01",[1,"kOneMinusCos","-","sinOverSqrt3"]],[13,"m02",[1,"kOneMinusCos","+","sinOverSqrt3"]],[13,"m10",[1,"kOneMinusCos","+","sinOverSqrt3"]],[13,"m11",[1,"cosA","+","kOneMinusCos"]],[13,"m12",[1,"kOneMinusCos","-","sinOverSqrt3"]],[13,"m20",[1,"kOneMinusCos","-","sinOverSqrt3"]],[13,"m21",[1,"kOneMinusCos","+","sinOverSqrt3"]],[13,"m22",[1,"cosA","+","kOneMinusCos"]],[13,"r",[7,"color","x"]],[13,"g",[7,"color","y"]],[13,"b",[7,"color","z"]],[13,"newR",[1,[1,[1,"r","*","m00"],"+",[1,"g","*","m01"]],"+",[1,"b","*","m02"]]],[13,"newG",[1,[1,[1,"r","*","m10"],"+",[1,"g","*","m11"]],"+",[1,"b","*","m12"]]],[13,"newB",[1,[1,[1,"r","*","m20"],"+",[1,"g","*","m21"]],"+",[1,"b","*","m22"]]],[10,[6,"d.vec4f",["newR","newG","newB",[7,"color","w"]]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,SQRT3:()=>_a,"d.vec4f":()=>x}})&&e.f)({})),Y8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=f(t.x,t.y,t.z),o=se(r,f(.2126,.7152,.0722)),n=X(f(o,o,o),r,f(s));return x(n.x,n.y,n.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"intensity"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"luminance",[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"gray",[6,"d.vec3f",["luminance","luminance","luminance"]]],[13,"saturated",[6,"std.mix",["gray","rgb",[6,"d.vec3f",["intensity"]]]]],[10,[6,"d.vec4f",[[7,"saturated","x"],[7,"saturated","y"],[7,"saturated","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.dot":()=>se,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),L8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.x,o=t.y,n=t.z,i=__tsover_div(__tsover_add(__tsover_add(r,o),n),3),d=b(r,b(o,n)),c=__tsover_mul(__tsover_mul(__tsover_sub(d,i),s),-3),_=X(f(r,o,n),f(d,d,d),f(c));return x(_.x,_.y,_.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"adjustment"}],body:[0,[[13,"r",[7,"color","x"]],[13,"g",[7,"color","y"]],[13,"b",[7,"color","z"]],[13,"average",[1,[1,[1,"r","+","g"],"+","b"],"/",[5,"3"]]],[13,"mx",[6,"std.max",["r",[6,"std.max",["g","b"]]]]],[13,"amt",[1,[1,[1,"mx","-","average"],"*","adjustment"],"*",[4,"-",[5,"3"]]]],[13,"rgb",[6,"d.vec3f",["r","g","b"]]],[13,"vibrant",[6,"std.mix",["rgb",[6,"d.vec3f",["mx","mx","mx"]],[6,"d.vec3f",["amt"]]]]],[10,[6,"d.vec4f",[[7,"vibrant","x"],[7,"vibrant","y"],[7,"vibrant","z"],[7,"color","w"]]]]]]},externals:{"std.max":()=>b,"d.vec3f":()=>f,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),I8=v.fn([x,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(r,1),n=f(.5,.5,.5);return x(t.xyz.sub(n).mul(o).add(n).add(f(s,s,s)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"brightness"},{type:"i",name:"contrastRaw"}],body:[0,[[13,"contrast",[1,"contrastRaw","+",[5,"1"]]],[13,"half",[6,"d.vec3f",[[5,"0.5"],[5,"0.5"],[5,"0.5"]]]],[13,"contrasted",[6,[7,[6,[7,[6,[7,[7,"color","xyz"],"sub"],["half"]],"mul"],["contrast"]],"add"],["half"]]],[13,"result",[6,[7,"contrasted","add"],[[6,"d.vec3f",["brightness","brightness","brightness"]]]]],[10,[6,"d.vec4f",["result",[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),D8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.xyz.mul(s),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"gain"}],body:[0,[[13,"rgb",[6,[7,[7,"color","xyz"],"mul"],["gain"]]],[10,[6,"d.vec4f",["rgb",[7,"color","w"]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),F8=v.fn([x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=se(t.xyz,f(.2126,.7152,.0722));return x(s,s,s,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"luminance",[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[10,[6,"d.vec4f",["luminance","luminance","luminance",[7,"color","w"]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),B8=v.fn([x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return x(__tsover_sub(1,t.x),__tsover_sub(1,t.y),__tsover_sub(1,t.z),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,"d.vec4f",[[1,[5,"1"],"-",[7,"color","x"]],[1,[5,"1"],"-",[7,"color","y"]],[1,[5,"1"],"-",[7,"color","z"]],[7,"color","w"]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),W8=v.fn([x,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=f(t.x,t.y,t.z),n=se(o,f(.299,.587,.114)),i=X(o,C(o,f(__tsover_sub(1,t.x),__tsover_sub(1,t.y),__tsover_sub(1,t.z)),n>s),f(r));return x(i.x,i.y,i.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"threshold"},{type:"i",name:"strength"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"luminance",[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"inverted",[6,"d.vec3f",[[1,[5,"1"],"-",[7,"color","x"]],[1,[5,"1"],"-",[7,"color","y"]],[1,[5,"1"],"-",[7,"color","z"]]]]],[13,"solarized",[6,"std.select",["rgb","inverted",[1,"luminance",">","threshold"]]]],[13,"result",[6,"std.mix",["rgb","solarized",[6,"d.vec3f",["strength"]]]]],[10,[6,"d.vec4f",[[7,"result","x"],[7,"result","y"],[7,"result","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.dot":()=>se,"std.select":()=>C,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),O8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=$(s,a(2),a(20));return x(__tsover_div(q(__tsover_mul(t.x,r)),r),__tsover_div(q(__tsover_mul(t.y,r)),r),__tsover_div(q(__tsover_mul(t.z,r)),r),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"steps"}],body:[0,[[13,"s",[6,"std.clamp",["steps",[6,"d.f32",[[5,"2"]]],[6,"d.f32",[[5,"20"]]]]]],[13,"r",[1,[6,"std.floor",[[1,[7,"color","x"],"*","s"]]],"/","s"]],[13,"g",[1,[6,"std.floor",[[1,[7,"color","y"],"*","s"]]],"/","s"]],[13,"b",[1,[6,"std.floor",[[1,[7,"color","z"],"*","s"]]],"/","s"]],[10,[6,"d.vec4f",["r","g","b",[7,"color","w"]]]]]]},externals:{"std.clamp":()=>$,"d.f32":()=>a,"std.floor":()=>q,"d.vec4f":()=>x}})&&e.f)({})),V8=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=X(f(t.x,t.y,t.z),f(s.x,s.y,s.z),f(r));return x(o.x,o.y,o.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"tintColor"},{type:"i",name:"amount"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"tinted",[6,"std.mix",["rgb",[6,"d.vec3f",[[7,"tintColor","x"],[7,"tintColor","y"],[7,"tintColor","z"]]],[6,"d.vec3f",["amount"]]]]],[10,[6,"d.vec4f",[[7,"tinted","x"],[7,"tinted","y"],[7,"tinted","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),N8=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=f(t.x,t.y,t.z),n=X(o,f(s.x,s.y,s.z),f(r)),i=f(.299,.587,.114),d=se(o,i),c=se(n,i),_=n.mul(__tsover_div(d,b(c,1e-4)));return x(_.x,_.y,_.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"tintColor"},{type:"i",name:"amount"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"tinted",[6,"std.mix",["rgb",[6,"d.vec3f",[[7,"tintColor","x"],[7,"tintColor","y"],[7,"tintColor","z"]]],[6,"d.vec3f",["amount"]]]]],[13,"luminanceWeights",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]],[13,"originalLum",[6,"std.dot",["rgb","luminanceWeights"]]],[13,"tintedLum",[6,"std.dot",["tinted","luminanceWeights"]]],[13,"result",[6,[7,"tinted","mul"],[[1,"originalLum","/",[6,"std.max",["tintedLum",[5,"0.0001"]]]]]]],[10,[6,"d.vec4f",[[7,"result","x"],[7,"result","y"],[7,"result","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.mix":()=>X,"std.dot":()=>se,"std.max":()=>b,"d.vec4f":()=>x}})&&e.f)({})),q8=v.fn([x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(t.xyz,f(.299,.587,.114));return re(__tsover_sub(s,.5),__tsover_add(s,.5),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"blend"}],body:[0,[[13,"luminance",[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[10,[6,"std.smoothstep",[[1,"blend","-",[5,"0.5"]],[1,"blend","+",[5,"0.5"]],"luminance"]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.smoothstep":()=>re}})&&e.f)({})),X8=v.fn([x,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(t.xyz,f(.299,.587,.114));return f(re(__tsover_sub(s,.25),s,r),re(s,__tsover_add(s,.25),r),re(__tsover_sub(s,.1),__tsover_add(s,.1),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"blendMid"}],body:[0,[[13,"luminance",[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"shadowToMid",[6,"std.smoothstep",[[1,"blendMid","-",[5,"0.25"]],"blendMid","luminance"]]],[13,"midToHighlight",[6,"std.smoothstep",["blendMid",[1,"blendMid","+",[5,"0.25"]],"luminance"]]],[13,"finalT",[6,"std.smoothstep",[[1,"blendMid","-",[5,"0.1"]],[1,"blendMid","+",[5,"0.1"]],"luminance"]]],[10,[6,"d.vec3f",["shadowToMid","midToHighlight","finalT"]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.smoothstep":()=>re}})&&e.f)({})),H8=v.fn([x,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=se(t.xyz,f(.2126,.7152,.0722)),i=b(__tsover_sub(r,s),1e-4),d=$(__tsover_div(__tsover_sub(n,s),i),0,1);return d=$(__tsover_add(__tsover_mul(__tsover_sub(d,.5),o),.5),0,1),d}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"black"},{type:"i",name:"white"},{type:"i",name:"contrast"}],body:[0,[[13,"luma",[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"range",[6,"std.max",[[1,"white","-","black"],[5,"0.0001"]]]],[12,"t",[6,"std.clamp",[[1,[1,"luma","-","black"],"/","range"],[5,"0"],[5,"1"]]]],[2,"t","=",[6,"std.clamp",[[1,[1,[1,"t","-",[5,"0.5"]],"*","contrast"],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[10,"t"]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.max":()=>b,"std.clamp":()=>$}})&&e.f)({})),j8=v.fn([a,a,f,f,f,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=n.mul(t).add(i).add(f(s,s,s)).mul(T3);return $(r.add(o.mul(H(d))),f(0,0,0),f(1,1,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"phase"},{type:"i",name:"pa"},{type:"i",name:"pb"},{type:"i",name:"pc"},{type:"i",name:"pd"}],body:[0,[[13,"arg",[6,[7,[6,[7,[6,[7,[6,[7,"pc","mul"],["t"]],"add"],["pd"]],"add"],[[6,"d.vec3f",["phase","phase","phase"]]]],"mul"],["TWO_PI"]]],[13,"mapped",[6,[7,"pa","add"],[[6,[7,"pb","mul"],[[6,"std.cos",["arg"]]]]]]],[10,[6,"std.clamp",["mapped",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]]]]},externals:{"d.vec3f":()=>f,TWO_PI:()=>T3,"std.cos":()=>H,"std.clamp":()=>$}})&&e.f)({})),K8=v.fn([a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=ue(__tsover_add(t,s)),o=__tsover_mul(r,3);return l(ue(o),q(o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"phase"}],body:[0,[[13,"t01",[6,"std.fract",[[1,"t","+","phase"]]]],[13,"t3",[1,"t01","*",[5,"3"]]],[10,[6,"d.vec2f",[[6,"std.fract",["t3"]],[6,"std.floor",["t3"]]]]]]]},externals:{"std.fract":()=>ue,"d.vec2f":()=>l,"std.floor":()=>q}})&&e.f)({})),Z8=v.fn([x,x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return C(C(r,s,o<2),t,o<1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"seg0"},{type:"i",name:"seg1"},{type:"i",name:"seg2"},{type:"i",name:"i"}],body:[0,[[13,"upper",[6,"std.select",["seg2","seg1",[1,"i","<",[5,"2"]]]]],[10,[6,"std.select",["upper","seg0",[1,"i","<",[5,"1"]]]]]]]},externals:{"std.select":()=>C}})&&e.f)({})),Q8=v.fn([x,f,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return x(X(t.xyz,s,f(r,r,r)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"mapped"},{type:"i",name:"strength"}],body:[0,[[13,"outRgb",[6,"std.mix",[[7,"color","xyz"],"mapped",[6,"d.vec3f",["strength","strength","strength"]]]]],[10,[6,"d.vec4f",["outRgb",[7,"color","w"]]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),J8=v.fn([x,l,l,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ot(s.mul(r).add(l(i,__tsover_mul(i,1.6180339)))),c=__tsover_sub(__tsover_mul(d,2),1),_=$(se(t.xyz,f(.2126,.7152,.0722)),0,1),u=__tsover_sub(1,_),m=Ce(__tsover_add(u,1e-6),n),p=__tsover_mul(__tsover_mul(c,m),__tsover_mul(o,.1));return x(t.xyz.add(p),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"strength"},{type:"i",name:"bias"},{type:"i",name:"animTime"}],body:[0,[[13,"pixelCoord",[6,[7,"uv","mul"],["viewport"]]],[13,"noiseVal",[6,"hash12",[[6,[7,"pixelCoord","add"],[[6,"d.vec2f",["animTime",[1,"animTime","*",[5,"1.6180339"]]]]]]]]],[13,"grain",[1,[1,"noiseVal","*",[5,"2"]],"-",[5,"1"]]],[13,"brightness",[6,"std.clamp",[[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]],[5,"0"],[5,"1"]]]],[13,"darkness",[1,[5,"1"],"-","brightness"]],[13,"darkFactor",[6,"std.pow",[[1,"darkness","+",[5,"0.000001"]],"bias"]]],[13,"grainIntensity",[1,[1,"grain","*","darkFactor"],"*",[1,"strength","*",[5,"0.1"]]]],[13,"grainedColor",[6,[7,[7,"color","xyz"],"add"],["grainIntensity"]]],[10,[6,"d.vec4f",["grainedColor",[7,"color","w"]]]]]]},externals:{hash12:()=>Ot,"d.vec2f":()=>l,"std.clamp":()=>$,"std.dot":()=>se,"d.vec3f":()=>f,"std.pow":()=>Ce,"d.vec4f":()=>x}})&&e.f)({})),Jl=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ce(C(t,__tsover_sub(1,t),i>.5),n),c=__tsover_add(__tsover_mul(d,s),.5),_=b(Zt(c),1e-4),u=z(__tsover_sub(ue(__tsover_add(c,.5)),.5)),m=__tsover_div(u,_),p=__tsover_add(__tsover_mul(o,.99),.01),y=__tsover_mul(r,__tsover_sub(1,p));return __tsover_sub(1,re(y,r,m))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sourceValue"},{type:"i",name:"levels"},{type:"i",name:"lineWidth"},{type:"i",name:"softness"},{type:"i",name:"gamma"},{type:"i",name:"invert"}],body:[0,[[13,"invertedValue",[6,"std.select",["sourceValue",[1,[5,"1"],"-","sourceValue"],[1,"invert",">",[5,"0.5"]]]]],[13,"sv",[6,"std.pow",["invertedValue","gamma"]]],[13,"scaledValue",[1,[1,"sv","*","levels"],"+",[5,"0.5"]]],[13,"fw",[6,"std.max",[[6,"std.fwidth",["scaledValue"]],[5,"0.0001"]]]],[13,"distFromBoundary",[6,"std.abs",[[1,[6,"std.fract",[[1,"scaledValue","+",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"normalizedDist",[1,"distFromBoundary","/","fw"]],[13,"transitionFactor",[1,[1,"softness","*",[5,"0.99"]],"+",[5,"0.01"]]],[13,"innerEdge",[1,"lineWidth","*",[1,[5,"1"],"-","transitionFactor"]]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",["innerEdge","lineWidth","normalizedDist"]]]]]]},externals:{"std.select":()=>C,"std.pow":()=>Ce,"std.max":()=>b,"std.fwidth":()=>Zt,"std.abs":()=>z,"std.fract":()=>ue,"std.smoothstep":()=>re}})&&e.f)({})),eD=v.fn([x,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return Jl(Gg(t.xyz),s,r,o,n,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"levels"},{type:"i",name:"lineWidth"},{type:"i",name:"softness"},{type:"i",name:"gamma"},{type:"i",name:"invert"}],body:[0,[[10,[6,"contourLineMask",[[6,"luma709Dot",[[7,"color","xyz"]]],"levels","lineWidth","softness","gamma","invert"]]]]]},externals:{contourLineMask:()=>Jl,luma709Dot:()=>Gg}})&&e.f)({})),tD=v.fn([x,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return Jl(t.w,s,r,o,n,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"levels"},{type:"i",name:"lineWidth"},{type:"i",name:"softness"},{type:"i",name:"gamma"},{type:"i",name:"invert"}],body:[0,[[10,[6,"contourLineMask",[[7,"color","w"],"levels","lineWidth","softness","gamma","invert"]]]]]},externals:{contourLineMask:()=>Jl}})&&e.f)({})),sD=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=X(f(t.x,t.y,t.z),f(s.x,s.y,s.z),f(r)),n=X(t.w,s.w,r);return x(o.x,o.y,o.z,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"bg"},{type:"i",name:"line"},{type:"i",name:"mask"}],body:[0,[[13,"rgb",[6,"std.mix",[[6,"d.vec3f",[[7,"bg","x"],[7,"bg","y"],[7,"bg","z"]]],[6,"d.vec3f",[[7,"line","x"],[7,"line","y"],[7,"line","z"]]],[6,"d.vec3f",["mask"]]]]],[13,"alpha",[6,"std.mix",[[7,"bg","w"],[7,"line","w"],"mask"]]],[10,[6,"d.vec4f",[[7,"rgb","x"],[7,"rgb","y"],[7,"rgb","z"],"alpha"]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),Zn=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(__tsover_sub(ue(__tsover_mul(Y(__tsover_mul(t,12.9898)),43758.5453)),.5),2)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"}],body:[0,[[10,[1,[1,[6,"std.fract",[[1,[6,"std.sin",[[1,"x","*",[5,"12.9898"]]]],"*",[5,"43758.5453"]]]],"-",[5,"0.5"]],"*",[5,"2"]]]]]},externals:{"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),rD=v.fn([l,a,l,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(__tsover_mul(r.x,o),r.y),i=l(__tsover_mul(t.x,o),__tsover_sub(1,t.y)),d=n.sub(i),c=__tsover_mul(s,Le),_=l(H(c),Y(c)),u=l(__tsover_mul(_.y,-1),_.x),m=se(d,u),p=d.sub(u.mul(__tsover_mul(m,2))),y=i.add(p),h=l(__tsover_div(y.x,o),y.y),g=De(0,m);return f(h.x,h.y,g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"angle"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"lineDirection",[6,"d.vec2f",[[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]]],[13,"lineNormal",[6,"d.vec2f",[[1,[7,"lineDirection","y"],"*",[4,"-",[5,"1"]]],[7,"lineDirection","x"]]]],[13,"signedDistance",[6,"std.dot",["delta","lineNormal"]]],[13,"reflectedDelta",[6,[7,"delta","sub"],[[6,[7,"lineNormal","mul"],[[1,"signedDistance","*",[5,"2"]]]]]]],[13,"mirroredUV",[6,[7,"centerPos","add"],["reflectedDelta"]]],[13,"finalMirroredUV",[6,"d.vec2f",[[1,[7,"mirroredUV","x"],"/","aspect"],[7,"mirroredUV","y"]]]],[13,"shouldMirror",[6,"std.step",[[5,"0"],"signedDistance"]]],[10,[6,"d.vec3f",[[7,"finalMirroredUV","x"],[7,"finalMirroredUV","y"],"shouldMirror"]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.step":()=>De,"d.vec3f":()=>f}})&&e.f)({})),oD=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(C(t.x,__tsover_sub(1,t.x),s>0),C(t.y,__tsover_sub(1,t.y),r>0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"flipX"},{type:"i",name:"flipY"}],body:[0,[[13,"x",[6,"std.select",[[7,"uv","x"],[1,[5,"1"],"-",[7,"uv","x"]],[1,"flipX",">",[5,"0"]]]]],[13,"y",[6,"std.select",[[7,"uv","y"],[1,[5,"1"],"-",[7,"uv","y"]],[1,"flipY",">",[5,"0"]]]]],[10,[6,"d.vec2f",["x","y"]]]]]},externals:{"std.select":()=>C,"d.vec2f":()=>l}})&&e.f)({})),$a=2,S3=1.2,nD=v.fn([a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,Le),d=l(H(i),Y(i)),c=l(__tsover_mul(d.y,-1),d.x),_=l(__tsover_mul(__tsover_sub(o.x,.5),n),__tsover_sub(o.y,.5)),u=se(_,d),m=se(_,c),p=b(__tsover_mul(__tsover_add(__tsover_mul(z(d.x),n),z(d.y)),.5),.001),y=__tsover_div(u,p),h=__tsover_mul(t,S3),g=__tsover_mul($(s,0,1),.9),w=__tsover_sub(1,g),S=z(y),T=C(a(-1),a(1),y>=0),A=__tsover_mul(h,S),P=__tsover_add(__tsover_mul(__tsover_mul(__tsover_mul($a,$a),w),w),__tsover_mul(__tsover_mul(__tsover_mul(4,A),$a),__tsover_sub(S,g))),U=z(A)<1e-5,D=C(__tsover_mul(A,2),a(1),U),O=C(__tsover_div(__tsover_sub(be(b(P,0)),__tsover_mul($a,w)),D),__tsover_div(__tsover_sub(S,g),w),U),L=C(a(6),b(O,0),P>=0),G=__tsover_mul(T,__tsover_add(g,__tsover_mul(L,w))),W=S<=g,K=C(G,y,W),Q=C(__tsover_mul(__tsover_mul(h,L),L),a(0),W),te=__tsover_div(__tsover_mul(m,__tsover_sub($a,Q)),$a),ee=d.mul(__tsover_mul(K,p)).add(c.mul(te));return l(__tsover_add(__tsover_div(ee.x,n),.5),__tsover_add(ee.y,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"strength"},{type:"i",name:"falloff"},{type:"i",name:"angle"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"dir",[6,"d.vec2f",[[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]]],[13,"perp",[6,"d.vec2f",[[1,[7,"dir","y"],"*",[4,"-",[5,"1"]]],[7,"dir","x"]]]],[13,"p",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],[1,[7,"uv","y"],"-",[5,"0.5"]]]]],[13,"sScreen",[6,"std.dot",["p","dir"]]],[13,"tScreen",[6,"std.dot",["p","perp"]]],[13,"sHalf",[6,"std.max",[[1,[1,[1,[6,"std.abs",[[7,"dir","x"]]],"*","aspect"],"+",[6,"std.abs",[[7,"dir","y"]]]],"*",[5,"0.5"]],[5,"0.001"]]]],[13,"snScreen",[1,"sScreen","/","sHalf"]],[13,"b",[1,"strength","*","B_MAX"]],[13,"f",[1,[6,"std.clamp",["falloff",[5,"0"],[5,"1"]]],"*",[5,"0.9"]]],[13,"fSpan",[1,[5,"1"],"-","f"]],[13,"m",[6,"std.abs",["snScreen"]]],[13,"sig",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"d.f32",[[5,"1"]]],[1,"snScreen",">=",[5,"0"]]]]],[13,"a2",[1,"b","*","m"]],[13,"disc",[1,[1,[1,[1,"CAMERA_D","*","CAMERA_D"],"*","fSpan"],"*","fSpan"],"+",[1,[1,[1,[5,"4"],"*","a2"],"*","CAMERA_D"],"*",[1,"m","-","f"]]]],[13,"nearZero",[1,[6,"std.abs",["a2"]],"<",[5,"0.00001"]]],[13,"denom",[6,"std.select",[[1,"a2","*",[5,"2"]],[6,"d.f32",[[5,"1"]]],"nearZero"]]],[13,"uQuad",[1,[1,[6,"std.sqrt",[[6,"std.max",["disc",[5,"0"]]]]],"-",[1,"CAMERA_D","*","fSpan"]],"/","denom"]],[13,"uOn",[6,"std.select",["uQuad",[1,[1,"m","-","f"],"/","fSpan"],"nearZero"]]],[13,"u",[6,"std.select",[[6,"d.f32",[[5,"6"]]],[6,"std.max",["uOn",[5,"0"]]],[1,"disc",">=",[5,"0"]]]]],[13,"snBend",[1,"sig","*",[1,"f","+",[1,"u","*","fSpan"]]]],[13,"inFlat",[1,"m","<=","f"]],[13,"sn",[6,"std.select",["snBend","snScreen","inFlat"]]],[13,"z",[6,"std.select",[[1,[1,"b","*","u"],"*","u"],[6,"d.f32",[[5,"0"]]],"inFlat"]]],[13,"tSrc",[1,[1,"tScreen","*",[1,"CAMERA_D","-","z"]],"/","CAMERA_D"]],[13,"srcP",[6,[7,[6,[7,"dir","mul"],[[1,"sn","*","sHalf"]]],"add"],[[6,[7,"perp","mul"],["tSrc"]]]]],[10,[6,"d.vec2f",[[1,[1,[7,"srcP","x"],"/","aspect"],"+",[5,"0.5"]],[1,[7,"srcP","y"],"+",[5,"0.5"]]]]]]]},externals:{DEG_TO_RAD:()=>Le,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.max":()=>b,"std.abs":()=>z,B_MAX:()=>S3,"std.clamp":()=>$,"std.select":()=>C,"d.f32":()=>a,CAMERA_D:()=>$a,"std.sqrt":()=>be}})&&e.f)({})),aD=v.fn([l,a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(n.x,i),n.y),c=l(__tsover_mul(t.x,i),__tsover_sub(1,t.y)),_=d.sub(c),u=j(_),m=__tsover_mul(r,.5),p=__tsover_mul(m,b(__tsover_sub(__tsover_sub(1,o),.001),0)),y=__tsover_sub(1,re(p,m,u)),h=__tsover_div(u,m),g=__tsover_mul(h,h),w=b(0,__tsover_sub(1,g)),S=__tsover_mul(y,w),T=__tsover_mul(s,-1),A=__tsover_mul(T,S),P=__tsover_add(1,A),U=_.mul(P),D=c.add(U);return l(__tsover_div(D.x,i),D.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"strength"},{type:"i",name:"radius"},{type:"i",name:"falloff"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"distance",[6,"std.length",["delta"]]],[13,"effectRadius",[1,"radius","*",[5,"0.5"]]],[13,"innerRadius",[1,"effectRadius","*",[6,"std.max",[[1,[1,[5,"1"],"-","falloff"],"-",[5,"0.001"]],[5,"0"]]]]],[13,"smoothFalloff",[1,[5,"1"],"-",[6,"std.smoothstep",["innerRadius","effectRadius","distance"]]]],[13,"normalizedDist",[1,"distance","/","effectRadius"]],[13,"distSq",[1,"normalizedDist","*","normalizedDist"]],[13,"quadraticFalloff",[6,"std.max",[[5,"0"],[1,[5,"1"],"-","distSq"]]]],[13,"falloffTotal",[1,"smoothFalloff","*","quadraticFalloff"]],[13,"negStrength",[1,"strength","*",[4,"-",[5,"1"]]]],[13,"displacementAmount",[1,"negStrength","*","falloffTotal"]],[13,"scaleFactor",[1,[5,"1"],"+","displacementAmount"]],[13,"bulgedDelta",[6,[7,"delta","mul"],["scaleFactor"]]],[13,"bulgedUV",[6,[7,"centerPos","add"],["bulgedDelta"]]],[10,[6,"d.vec2f",[[1,[7,"bulgedUV","x"],"/","aspect"],[7,"bulgedUV","y"]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.max":()=>b,"std.smoothstep":()=>re}})&&e.f)({})),iD=v.fn([l,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(t.x,__tsover_sub(1,t.y)),i=r.sub(n),d=l(__tsover_mul(i.x,o),i.y),c=__tsover_mul(s,j(d)),_=H(c),u=Y(c),m=__tsover_sub(__tsover_mul(_,d.x),__tsover_mul(u,d.y)),p=__tsover_add(__tsover_mul(u,d.x),__tsover_mul(_,d.y));return l(__tsover_add(__tsover_div(m,o),n.x),__tsover_add(p,n.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"intensity"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"uv","sub"],["centerPos"]]],[13,"acd",[6,"d.vec2f",[[1,[7,"delta","x"],"*","aspect"],[7,"delta","y"]]]],[13,"angle",[1,"intensity","*",[6,"std.length",["acd"]]]],[13,"cosA",[6,"std.cos",["angle"]]],[13,"sinA",[6,"std.sin",["angle"]]],[13,"rotatedX",[1,[1,"cosA","*",[7,"acd","x"]],"-",[1,"sinA","*",[7,"acd","y"]]]],[13,"rotatedY",[1,[1,"sinA","*",[7,"acd","x"]],"+",[1,"cosA","*",[7,"acd","y"]]]],[10,[6,"d.vec2f",[[1,[1,"rotatedX","/","aspect"],"+",[7,"centerPos","x"]],[1,"rotatedY","+",[7,"centerPos","y"]]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),dD=v.fn([l,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(o.x,n),o.y),d=l(__tsover_mul(t.x,n),__tsover_sub(1,t.y)),c=i.sub(d),_=j(c),u=tt(c.y,c.x),m=__tsover_add(u,__tsover_mul(r,Le)),p=__tsover_div(it,s),y=__tsover_mul(p,2),h=__tsover_sub(m,__tsover_mul(y,q(__tsover_div(m,y)))),g=C(h,__tsover_sub(y,h),h>p),w=__tsover_mul(H(g),_),S=__tsover_mul(Y(g),_),T=d.add(l(w,S));return l(__tsover_div(T.x,n),T.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"segments"},{type:"i",name:"angle"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"radius",[6,"std.length",["delta"]]],[13,"currentAngle",[6,"std.atan2",[[7,"delta","y"],[7,"delta","x"]]]],[13,"rotatedAngle",[1,"currentAngle","+",[1,"angle","*","DEG_TO_RAD"]]],[13,"segmentAngle",[1,"TAU","/","segments"]],[13,"segTwo",[1,"segmentAngle","*",[5,"2"]]],[13,"wrappedAngle",[1,"rotatedAngle","-",[1,"segTwo","*",[6,"std.floor",[[1,"rotatedAngle","/","segTwo"]]]]]],[13,"finalAngle",[6,"std.select",["wrappedAngle",[1,"segTwo","-","wrappedAngle"],[1,"wrappedAngle",">","segmentAngle"]]]],[13,"kaleidoscopeX",[1,[6,"std.cos",["finalAngle"]],"*","radius"]],[13,"kaleidoscopeY",[1,[6,"std.sin",["finalAngle"]],"*","radius"]],[13,"kaleidoscopePos",[6,[7,"centerPos","add"],[[6,"d.vec2f",["kaleidoscopeX","kaleidoscopeY"]]]]],[10,[6,"d.vec2f",[[1,[7,"kaleidoscopePos","x"],"/","aspect"],[7,"kaleidoscopePos","y"]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.atan2":()=>tt,DEG_TO_RAD:()=>Le,TAU:()=>it,"std.floor":()=>q,"std.select":()=>C,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),cD=v.fn([l,a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(n.x,i),n.y),c=l(__tsover_mul(t.x,i),__tsover_sub(1,t.y)),_=d.sub(c),u=__tsover_mul(r,Le),m=l(H(u),Y(u)),p=se(_,m),y=m.mul(p),h=_.sub(y),g=X(.001,75,o),w=$(__tsover_div(p,g),0,1),S=__tsover_mul(s,100),T=__tsover_add(1,__tsover_mul(S,w)),A=__tsover_div(p,T),P=m.mul(A).add(h),U=c.add(P);return l(__tsover_div(U.x,i),U.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"strength"},{type:"i",name:"angle"},{type:"i",name:"falloff"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"directionVector",[6,"d.vec2f",[[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]]],[13,"projection",[6,"std.dot",["delta","directionVector"]]],[13,"parallel",[6,[7,"directionVector","mul"],["projection"]]],[13,"perpendicular",[6,[7,"delta","sub"],["parallel"]]],[13,"transitionWidth",[6,"std.mix",[[5,"0.001"],[5,"75"],"falloff"]]],[13,"effectMask",[6,"std.clamp",[[1,"projection","/","transitionWidth"],[5,"0"],[5,"1"]]]],[13,"scaledStrength",[1,"strength","*",[5,"100"]]],[13,"stretchFactor",[1,[5,"1"],"+",[1,"scaledStrength","*","effectMask"]]],[13,"finalProjection",[1,"projection","/","stretchFactor"]],[13,"finalParallel",[6,[7,"directionVector","mul"],["finalProjection"]]],[13,"stretchedDelta",[6,[7,"finalParallel","add"],["perpendicular"]]],[13,"stretchedUV",[6,[7,"centerPos","add"],["stretchedDelta"]]],[10,[6,"d.vec2f",[[1,[7,"stretchedUV","x"],"/","aspect"],[7,"stretchedUV","y"]]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.mix":()=>X,"std.clamp":()=>$}})&&e.f)({})),cn=v.fn([l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=t.sub(l(.5,.5)),d=l(__tsover_mul(i.x,s),i.y),c=__tsover_mul(r,Le),_=H(c),u=Y(c),m=__tsover_add(__tsover_mul(d.x,u),__tsover_mul(d.y,_));return __tsover_add(__tsover_mul(__tsover_mul(__tsover_add(m,.5),o),it),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"t"}],body:[0,[[13,"centeredUV",[6,[7,"uv","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"centeredUV","x"],"*","aspect"],[7,"centeredUV","y"]]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"rotatedY",[1,[1,[7,"aspectCorrectedUV","x"],"*","sinA"],"+",[1,[7,"aspectCorrectedUV","y"],"*","cosA"]]],[10,[1,[1,[1,[1,"rotatedY","+",[5,"0.5"]],"*","frequency"],"*","TAU"],"+","t"]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,TAU:()=>it}})&&e.f)({})),_n=v.fn([l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,Le),d=H(i),c=Y(i),_=__tsover_mul(__tsover_mul(n,o),.5),u=__tsover_div(__tsover_mul(_,d),s),m=__tsover_mul(_,c);return l(__tsover_add(t.x,u),__tsover_add(t.y,m))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"strength"},{type:"i",name:"wave"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"displacement",[1,[1,"wave","*","strength"],"*",[5,"0.5"]]],[13,"displacementX",[1,[1,"displacement","*","cosA"],"/","aspect"]],[13,"displacementY",[1,"displacement","*","sinA"]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+","displacementX"],[1,[7,"uv","y"],"+","displacementY"]]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),A3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Y(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[10,[6,"std.sin",["phase"]]]]]},externals:{"std.sin":()=>Y}})&&e.f)({})),M3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ue(__tsover_div(t,it));return __tsover_sub(__tsover_mul(z(__tsover_sub(__tsover_mul(s,2),1)),2),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[13,"normalizedPhase",[6,"std.fract",[[1,"phase","/","TAU"]]]],[10,[1,[1,[6,"std.abs",[[1,[1,"normalizedPhase","*",[5,"2"]],"-",[5,"1"]]]],"*",[5,"2"]],"-",[5,"1"]]]]]},externals:{"std.fract":()=>ue,TAU:()=>it,"std.abs":()=>z}})&&e.f)({})),P3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ue(__tsover_div(t,it));return __tsover_sub(__tsover_mul(De(.5,s),2),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[13,"normalizedPhase",[6,"std.fract",[[1,"phase","/","TAU"]]]],[10,[1,[1,[6,"std.step",[[5,"0.5"],"normalizedPhase"]],"*",[5,"2"]],"-",[5,"1"]]]]]},externals:{"std.fract":()=>ue,TAU:()=>it,"std.step":()=>De}})&&e.f)({})),E3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ue(__tsover_div(t,it));return __tsover_sub(__tsover_mul(s,2),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[13,"normalizedPhase",[6,"std.fract",[[1,"phase","/","TAU"]]]],[10,[1,[1,"normalizedPhase","*",[5,"2"]],"-",[5,"1"]]]]]},externals:{"std.fract":()=>ue,TAU:()=>it}})&&e.f)({})),k3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return z(Y(t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[10,[6,"std.abs",[[6,"std.sin",["phase"]]]]]]]},externals:{"std.abs":()=>z,"std.sin":()=>Y}})&&e.f)({})),_D=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,A3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformSine",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformSine:()=>A3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),lD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,M3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformTriangle",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformTriangle:()=>M3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),uD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,P3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformSquare",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformSquare:()=>P3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),mD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,E3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformSawtooth",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformSawtooth:()=>E3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),pD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,k3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformBounce",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformBounce:()=>k3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),fD=v.fn([l,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(o.x,n),o.y),d=l(__tsover_mul(t.x,n),__tsover_sub(1,t.y)),c=i.sub(d),_=tt(c.y,c.x),u=__tsover_div(__tsover_add(_,Xr),it),m=j(c);return l(__tsover_mul(u,s),__tsover_mul(m,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"wrap"},{type:"i",name:"radius"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"theta",[6,"std.atan2",[[7,"delta","y"],[7,"delta","x"]]]],[13,"normalizedAngle",[1,[1,"theta","+","PI"],"/","TAU"]],[13,"r",[6,"std.length",["delta"]]],[13,"u",[1,"normalizedAngle","*","wrap"]],[13,"v",[1,"r","*","radius"]],[10,[6,"d.vec2f",["u","v"]]]]]},externals:{"d.vec2f":()=>l,"std.atan2":()=>tt,PI:()=>Xr,TAU:()=>it,"std.length":()=>j}})&&e.f)({})),vD=v.fn([l,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(__tsover_mul(r.x,it),Xr),i=__tsover_mul(r.y,s),d=__tsover_mul(i,H(n)),c=__tsover_mul(i,Y(n)),_=l(t.x,__tsover_sub(1,t.y));return l(__tsover_add(__tsover_div(d,o),_.x),__tsover_add(c,_.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"scale"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"theta",[1,[1,[7,"uv","x"],"*","TAU"],"-","PI"]],[13,"r",[1,[7,"uv","y"],"*","scale"]],[13,"rectX",[1,"r","*",[6,"std.cos",["theta"]]]],[13,"rectY",[1,"r","*",[6,"std.sin",["theta"]]]],[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[10,[6,"d.vec2f",[[1,[1,"rectX","/","aspect"],"+",[7,"centerPos","x"]],[1,"rectY","+",[7,"centerPos","y"]]]]]]]},externals:{TAU:()=>it,PI:()=>Xr,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),Yi=1e-8,Od=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_div(t,C(s,Yi,z(s)C,EPS:()=>Yi,"std.abs":()=>z}})&&e.f)({})),ki=v.fn([l,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(r.x,s.x),n=__tsover_sub(r.y,s.y),i=__tsover_sub(t.x,s.x),d=__tsover_sub(t.y,s.y);return __tsover_sub(__tsover_mul(o,d),__tsover_mul(n,i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"}],body:[0,[[13,"bax",[1,[7,"b","x"],"-",[7,"a","x"]]],[13,"bay",[1,[7,"b","y"],"-",[7,"a","y"]]],[13,"pax",[1,[7,"p","x"],"-",[7,"a","x"]]],[13,"pay",[1,[7,"p","y"],"-",[7,"a","y"]]],[10,[1,[1,"bax","*","pay"],"-",[1,"bay","*","pax"]]]]]},externals:{}})&&e.f)({})),$3=v.fn([l,l,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=ki(t,s,r),i=ki(t,r,o),d=ki(t,o,s),c=__tsover_mul(__tsover_mul(De(a(0),n),De(a(0),i)),De(a(0),d)),_=__tsover_mul(__tsover_mul(De(n,a(0)),De(i,a(0))),De(d,a(0)));return __tsover_add(c,_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"c"}],body:[0,[[13,"d1",[6,"cornerSideOf",["p","a","b"]]],[13,"d2",[6,"cornerSideOf",["p","b","c"]]],[13,"d3",[6,"cornerSideOf",["p","c","a"]]],[13,"allPos",[1,[1,[6,"std.step",[[6,"d.f32",[[5,"0"]]],"d1"]],"*",[6,"std.step",[[6,"d.f32",[[5,"0"]]],"d2"]]],"*",[6,"std.step",[[6,"d.f32",[[5,"0"]]],"d3"]]]],[13,"allNeg",[1,[1,[6,"std.step",["d1",[6,"d.f32",[[5,"0"]]]]],"*",[6,"std.step",["d2",[6,"d.f32",[[5,"0"]]]]]],"*",[6,"std.step",["d3",[6,"d.f32",[[5,"0"]]]]]]],[10,[1,"allPos","+","allNeg"]]]]},externals:{cornerSideOf:()=>ki,"std.step":()=>De,"d.f32":()=>a}})&&e.f)({})),U3=v.fn([l,l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=r.sub(s),i=$(__tsover_div(se(t.sub(s),n),b(se(n,n),Yi)),0,1),d=s.add(n.mul(i)),c=l(__tsover_mul(n.y,-1),n.x).div(b(j(n),Yi)),_=__tsover_mul(__tsover_mul(ks(o),-1),.004);return d.add(c.mul(_))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"refSide"}],body:[0,[[13,"ab",[6,[7,"b","sub"],["a"]]],[13,"t",[6,"std.clamp",[[1,[6,"std.dot",[[6,[7,"p","sub"],["a"]],"ab"]],"/",[6,"std.max",[[6,"std.dot",["ab","ab"]],"EPS"]]],[5,"0"],[5,"1"]]]],[13,"foot",[6,[7,"a","add"],[[6,[7,"ab","mul"],["t"]]]]],[13,"perp",[6,[7,[6,"d.vec2f",[[1,[7,"ab","y"],"*",[4,"-",[5,"1"]]],[7,"ab","x"]]],"div"],[[6,"std.max",[[6,"std.length",["ab"]],"EPS"]]]]],[13,"nudge",[1,[1,[6,"std.sign",["refSide"]],"*",[4,"-",[5,"1"]]],"*",[5,"0.004"]]],[10,[6,[7,"foot","add"],[[6,[7,"perp","mul"],["nudge"]]]]]]]},externals:{"std.clamp":()=>$,"std.dot":()=>se,"std.max":()=>b,EPS:()=>Yi,"d.vec2f":()=>l,"std.length":()=>j,"std.sign":()=>ks}})&&e.f)({})),Vd=v.fn([l,l,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=$3(t,s,r,o)>.5;return C(t,U3(t,s,r,ki(o,s,r)),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"o"}],body:[0,[[13,"inside",[1,[6,"cornerInsideTri",["p","a","b","o"]],">",[5,"0.5"]]],[13,"proj",[6,"cornerProjectToDiagonal",["p","a","b",[6,"cornerSideOf",["o","a","b"]]]]],[10,[6,"std.select",["p","proj","inside"]]]]]},externals:{cornerInsideTri:()=>$3,cornerProjectToDiagonal:()=>U3,cornerSideOf:()=>ki,"std.select":()=>C}})&&e.f)({})),yD=v.fn([l,a,l,l,l,l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(s,s),c=X(l(0,0),l(r.x,__tsover_sub(1,r.y)),d),_=X(l(1,0),l(o.x,__tsover_sub(1,o.y)),d),u=X(l(1,1),l(n.x,__tsover_sub(1,n.y)),d),m=X(l(0,1),l(i.x,__tsover_sub(1,i.y)),d),p=Vd(c,_,m,u),y=Vd(_,c,u,m),h=Vd(u,_,m,c),g=Vd(m,c,u,_),w=__tsover_sub(y.x,h.x),S=__tsover_sub(g.x,h.x),T=__tsover_sub(__tsover_add(__tsover_sub(p.x,y.x),h.x),g.x),A=__tsover_sub(y.y,h.y),P=__tsover_sub(g.y,h.y),U=__tsover_sub(__tsover_add(__tsover_sub(p.y,y.y),h.y),g.y),D=__tsover_sub(__tsover_mul(w,P),__tsover_mul(S,A)),O=Od(__tsover_sub(__tsover_mul(T,P),__tsover_mul(S,U)),D),L=Od(__tsover_sub(__tsover_mul(w,U),__tsover_mul(T,A)),D),G=__tsover_add(__tsover_sub(y.x,p.x),__tsover_mul(O,y.x)),W=__tsover_add(__tsover_sub(g.x,p.x),__tsover_mul(L,g.x)),K=p.x,Q=__tsover_add(__tsover_sub(y.y,p.y),__tsover_mul(O,y.y)),te=__tsover_add(__tsover_sub(g.y,p.y),__tsover_mul(L,g.y)),ee=p.y,he=__tsover_sub(te,__tsover_mul(ee,L)),Ee=__tsover_mul(__tsover_sub(W,__tsover_mul(K,L)),-1),Te=__tsover_sub(__tsover_mul(W,ee),__tsover_mul(K,te)),Ue=__tsover_mul(__tsover_sub(Q,__tsover_mul(ee,O)),-1),Me=__tsover_sub(G,__tsover_mul(K,O)),Pe=__tsover_mul(__tsover_sub(__tsover_mul(G,ee),__tsover_mul(K,Q)),-1),Re=__tsover_sub(__tsover_mul(Q,L),__tsover_mul(te,O)),de=__tsover_mul(__tsover_sub(__tsover_mul(G,L),__tsover_mul(W,O)),-1),je=__tsover_sub(__tsover_mul(G,te),__tsover_mul(W,Q)),fe=t.x,Ke=t.y,Ze=__tsover_add(__tsover_add(__tsover_mul(Re,fe),__tsover_mul(de,Ke)),je),at=Od(__tsover_add(__tsover_add(__tsover_mul(he,fe),__tsover_mul(Ee,Ke)),Te),Ze),Fe=Od(__tsover_add(__tsover_add(__tsover_mul(Ue,fe),__tsover_mul(Me,Ke)),Pe),Ze),Ie=__tsover_add(__tsover_add(__tsover_mul(G,he),__tsover_mul(W,Ue)),__tsover_mul(K,Re));return f(at,Fe,De(a(0),__tsover_mul(Ze,Ie)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"},{type:"i",name:"amount"},{type:"i",name:"c0"},{type:"i",name:"c1"},{type:"i",name:"c2"},{type:"i",name:"c3"}],body:[0,[[13,"amt",[6,"d.vec2f",["amount","amount"]]],[13,"r0",[6,"std.mix",[[6,"d.vec2f",[[5,"0"],[5,"0"]]],[6,"d.vec2f",[[7,"c0","x"],[1,[5,"1"],"-",[7,"c0","y"]]]],"amt"]]],[13,"r1",[6,"std.mix",[[6,"d.vec2f",[[5,"1"],[5,"0"]]],[6,"d.vec2f",[[7,"c1","x"],[1,[5,"1"],"-",[7,"c1","y"]]]],"amt"]]],[13,"r2",[6,"std.mix",[[6,"d.vec2f",[[5,"1"],[5,"1"]]],[6,"d.vec2f",[[7,"c2","x"],[1,[5,"1"],"-",[7,"c2","y"]]]],"amt"]]],[13,"r3",[6,"std.mix",[[6,"d.vec2f",[[5,"0"],[5,"1"]]],[6,"d.vec2f",[[7,"c3","x"],[1,[5,"1"],"-",[7,"c3","y"]]]],"amt"]]],[13,"q0",[6,"cornerConvexify",["r0","r1","r3","r2"]]],[13,"q1",[6,"cornerConvexify",["r1","r0","r2","r3"]]],[13,"q2",[6,"cornerConvexify",["r2","r1","r3","r0"]]],[13,"q3",[6,"cornerConvexify",["r3","r0","r2","r1"]]],[13,"dx1",[1,[7,"q1","x"],"-",[7,"q2","x"]]],[13,"dx2",[1,[7,"q3","x"],"-",[7,"q2","x"]]],[13,"dx3",[1,[1,[1,[7,"q0","x"],"-",[7,"q1","x"]],"+",[7,"q2","x"]],"-",[7,"q3","x"]]],[13,"dy1",[1,[7,"q1","y"],"-",[7,"q2","y"]]],[13,"dy2",[1,[7,"q3","y"],"-",[7,"q2","y"]]],[13,"dy3",[1,[1,[1,[7,"q0","y"],"-",[7,"q1","y"]],"+",[7,"q2","y"]],"-",[7,"q3","y"]]],[13,"denA",[1,[1,"dx1","*","dy2"],"-",[1,"dx2","*","dy1"]]],[13,"a13",[6,"cornerPinSafeDiv",[[1,[1,"dx3","*","dy2"],"-",[1,"dx2","*","dy3"]],"denA"]]],[13,"a23",[6,"cornerPinSafeDiv",[[1,[1,"dx1","*","dy3"],"-",[1,"dx3","*","dy1"]],"denA"]]],[13,"a11",[1,[1,[7,"q1","x"],"-",[7,"q0","x"]],"+",[1,"a13","*",[7,"q1","x"]]]],[13,"a21",[1,[1,[7,"q3","x"],"-",[7,"q0","x"]],"+",[1,"a23","*",[7,"q3","x"]]]],[13,"a31",[7,"q0","x"]],[13,"a12",[1,[1,[7,"q1","y"],"-",[7,"q0","y"]],"+",[1,"a13","*",[7,"q1","y"]]]],[13,"a22",[1,[1,[7,"q3","y"],"-",[7,"q0","y"]],"+",[1,"a23","*",[7,"q3","y"]]]],[13,"a32",[7,"q0","y"]],[13,"c00",[1,"a22","-",[1,"a32","*","a23"]]],[13,"c10",[1,[1,"a21","-",[1,"a31","*","a23"]],"*",[4,"-",[5,"1"]]]],[13,"c20",[1,[1,"a21","*","a32"],"-",[1,"a31","*","a22"]]],[13,"c01",[1,[1,"a12","-",[1,"a32","*","a13"]],"*",[4,"-",[5,"1"]]]],[13,"c11",[1,"a11","-",[1,"a31","*","a13"]]],[13,"c21",[1,[1,[1,"a11","*","a32"],"-",[1,"a31","*","a12"]],"*",[4,"-",[5,"1"]]]],[13,"c02",[1,[1,"a12","*","a23"],"-",[1,"a22","*","a13"]]],[13,"c12",[1,[1,[1,"a11","*","a23"],"-",[1,"a21","*","a13"]],"*",[4,"-",[5,"1"]]]],[13,"c22",[1,[1,"a11","*","a22"],"-",[1,"a21","*","a12"]]],[13,"px",[7,"coord","x"]],[13,"py",[7,"coord","y"]],[13,"den",[1,[1,[1,"c02","*","px"],"+",[1,"c12","*","py"]],"+","c22"]],[13,"su",[6,"cornerPinSafeDiv",[[1,[1,[1,"c00","*","px"],"+",[1,"c10","*","py"]],"+","c20"],"den"]]],[13,"sv",[6,"cornerPinSafeDiv",[[1,[1,[1,"c01","*","px"],"+",[1,"c11","*","py"]],"+","c21"],"den"]]],[13,"det",[1,[1,[1,"a11","*","c00"],"+",[1,"a21","*","c01"]],"+",[1,"a31","*","c02"]]],[13,"front",[6,"std.step",[[6,"d.f32",[[5,"0"]]],[1,"den","*","det"]]]],[10,[6,"d.vec3f",["su","sv","front"]]]]]},externals:{"d.vec2f":()=>l,"std.mix":()=>X,cornerConvexify:()=>Vd,cornerPinSafeDiv:()=>Od,"std.step":()=>De,"d.f32":()=>a,"d.vec3f":()=>f}})&&e.f)({})),hD=v.fn([l,a,a,a,a,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=l(t.x,__tsover_sub(1,t.y)),_=__tsover_div(__tsover_sub(d.x,c.x),n),u=__tsover_div(__tsover_sub(d.y,c.y),n),m=__tsover_mul(s,Le),p=__tsover_mul(r,Le),y=__tsover_mul(o,Le),h=H(m),g=Y(m),w=H(p),S=Y(p),T=__tsover_mul(bp(__tsover_mul(y,.5)),2),A=b(__tsover_add(h,__tsover_mul(__tsover_mul(g,_),T)),.001),P=__tsover_div(_,A),U=__tsover_div(__tsover_mul(u,h),A),D=b(__tsover_add(w,__tsover_mul(__tsover_mul(S,U),T)),.001),O=__tsover_div(__tsover_mul(P,w),D),L=__tsover_div(U,D),G=l(i.x,__tsover_sub(1,i.y));return l(O,L).add(c).sub(G).add(l(.5,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"pan"},{type:"i",name:"tilt"},{type:"i",name:"fov"},{type:"i",name:"zoom"},{type:"i",name:"offset"},{type:"i",name:"uv"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"x",[1,[1,[7,"uv","x"],"-",[7,"centerPos","x"]],"/","zoom"]],[13,"y",[1,[1,[7,"uv","y"],"-",[7,"centerPos","y"]],"/","zoom"]],[13,"panRad",[1,"pan","*","DEG_TO_RAD"]],[13,"tiltRad",[1,"tilt","*","DEG_TO_RAD"]],[13,"fovRad",[1,"fov","*","DEG_TO_RAD"]],[13,"cosPan",[6,"std.cos",["panRad"]]],[13,"sinPan",[6,"std.sin",["panRad"]]],[13,"cosTilt",[6,"std.cos",["tiltRad"]]],[13,"sinTilt",[6,"std.sin",["tiltRad"]]],[13,"perspectiveFactor",[1,[6,"std.tan",[[1,"fovRad","*",[5,"0.5"]]]],"*",[5,"2"]]],[13,"panDivisor",[1,"cosPan","+",[1,[1,"sinPan","*","x"],"*","perspectiveFactor"]]],[13,"safePanDivisor",[6,"std.max",["panDivisor",[5,"0.001"]]]],[13,"afterPanX",[1,"x","/","safePanDivisor"]],[13,"afterPanY",[1,[1,"y","*","cosPan"],"/","safePanDivisor"]],[13,"tiltDivisor",[1,"cosTilt","+",[1,[1,"sinTilt","*","afterPanY"],"*","perspectiveFactor"]]],[13,"safeTiltDivisor",[6,"std.max",["tiltDivisor",[5,"0.001"]]]],[13,"finalX",[1,[1,"afterPanX","*","cosTilt"],"/","safeTiltDivisor"]],[13,"finalY",[1,"afterPanY","/","safeTiltDivisor"]],[13,"offsetPos",[6,"d.vec2f",[[7,"offset","x"],[1,[5,"1"],"-",[7,"offset","y"]]]]],[10,[6,[7,[6,[7,[6,[7,[6,"d.vec2f",["finalX","finalY"]],"add"],["centerPos"]],"sub"],["offsetPos"]],"add"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.tan":()=>bp,"std.max":()=>b}})&&e.f)({})),C3=v.fn([l,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(r.x,__tsover_sub(1,r.y)),i=__tsover_mul(__tsover_sub(t.x,n.x),s),d=__tsover_sub(t.y,n.y),c=H(o),_=Y(o),u=__tsover_sub(__tsover_mul(i,c),__tsover_mul(d,_)),m=__tsover_add(__tsover_mul(i,_),__tsover_mul(d,c));return l(__tsover_add(__tsover_div(u,s),n.x),__tsover_add(m,n.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"},{type:"i",name:"angle"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dx",[1,[1,[7,"uv","x"],"-",[7,"centerPos","x"]],"*","aspect"]],[13,"dy",[1,[7,"uv","y"],"-",[7,"centerPos","y"]]],[13,"cosA",[6,"std.cos",["angle"]]],[13,"sinA",[6,"std.sin",["angle"]]],[13,"rotX",[1,[1,"dx","*","cosA"],"-",[1,"dy","*","sinA"]]],[13,"rotY",[1,[1,"dx","*","sinA"],"+",[1,"dy","*","cosA"]]],[10,[6,"d.vec2f",[[1,[1,"rotX","/","aspect"],"+",[7,"centerPos","x"]],[1,"rotY","+",[7,"centerPos","y"]]]]]]]},externals:{"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),xD=v.fn([l,a,a,a,a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=l(t.x,__tsover_sub(1,t.y)),m=j(l(__tsover_mul(__tsover_sub(c.x,u.x),_),__tsover_sub(c.y,u.y))),p=__tsover_mul(m,r),y=q(p),h=ue(p),g=__tsover_mul(s,Le),w=__tsover_mul(n,.137),S=__tsover_mul(Zn(__tsover_add(y,w)),g),T=__tsover_mul(Zn(__tsover_add(__tsover_add(y,1),w)),g),A=X(1,Zn(__tsover_add(y,42.7)),i),P=X(1,Zn(__tsover_add(__tsover_add(y,1),42.7)),i),U=__tsover_mul(__tsover_mul(d,.25),A),D=__tsover_mul(__tsover_mul(d,.25),P),O=__tsover_add(S,U),L=__tsover_add(T,D),G=__tsover_add(__tsover_sub(L,O),Xr),W=__tsover_sub(__tsover_sub(G,__tsover_mul(it,q(__tsover_div(G,it)))),Xr),K=__tsover_add(__tsover_mul(o,.5),.001),Q=re(__tsover_sub(.5,K),__tsover_add(.5,K),h);return C3(c,_,t,__tsover_add(O,__tsover_mul(W,Q)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"intensity"},{type:"i",name:"rings"},{type:"i",name:"smoothness"},{type:"i",name:"seed"},{type:"i",name:"speedRandomness"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dx",[1,[1,[7,"uv","x"],"-",[7,"centerPos","x"]],"*","aspect"]],[13,"dy",[1,[7,"uv","y"],"-",[7,"centerPos","y"]]],[13,"dist",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[13,"ringCoord",[1,"dist","*","rings"]],[13,"ringIndex",[6,"std.floor",["ringCoord"]]],[13,"ringFrac",[6,"std.fract",["ringCoord"]]],[13,"maxAngle",[1,"intensity","*","DEG_TO_RAD"]],[13,"seedOffset",[1,"seed","*",[5,"0.137"]]],[13,"staticA",[1,[6,"legacySinHash11",[[1,"ringIndex","+","seedOffset"]]],"*","maxAngle"]],[13,"staticB",[1,[6,"legacySinHash11",[[1,[1,"ringIndex","+",[5,"1"]],"+","seedOffset"]]],"*","maxAngle"]],[13,"ringSpeedA",[6,"std.mix",[[5,"1"],[6,"legacySinHash11",[[1,"ringIndex","+",[5,"42.7"]]]],"speedRandomness"]]],[13,"ringSpeedB",[6,"std.mix",[[5,"1"],[6,"legacySinHash11",[[1,[1,"ringIndex","+",[5,"1"]],"+",[5,"42.7"]]]],"speedRandomness"]]],[13,"animA",[1,[1,"animTime","*",[5,"0.25"]],"*","ringSpeedA"]],[13,"animB",[1,[1,"animTime","*",[5,"0.25"]],"*","ringSpeedB"]],[13,"totalA",[1,"staticA","+","animA"]],[13,"totalB",[1,"staticB","+","animB"]],[13,"wrapArg",[1,[1,"totalB","-","totalA"],"+","PI"]],[13,"diff",[1,[1,"wrapArg","-",[1,"TAU","*",[6,"std.floor",[[1,"wrapArg","/","TAU"]]]]],"-","PI"]],[13,"halfEdge",[1,[1,"smoothness","*",[5,"0.5"]],"+",[5,"0.001"]]],[13,"blend",[6,"std.smoothstep",[[1,[5,"0.5"],"-","halfEdge"],[1,[5,"0.5"],"+","halfEdge"],"ringFrac"]]],[13,"angle",[1,"totalA","+",[1,"diff","*","blend"]]],[10,[6,"csRotateUV",["uv","aspect","center","angle"]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.floor":()=>q,"std.fract":()=>ue,DEG_TO_RAD:()=>Le,legacySinHash11:()=>Zn,"std.mix":()=>X,PI:()=>Xr,TAU:()=>it,"std.smoothstep":()=>re,csRotateUV:()=>C3}})&&e.f)({})),gD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(t.x,s),t.y),c=__tsover_mul(n,.7),_=__tsover_mul(i,.2),u=__tsover_mul(go(f(__tsover_add(__tsover_mul(d.x,r),__tsover_mul(c,.3)),__tsover_add(__tsover_mul(d.y,r),__tsover_mul(c,.5)),_)),ao),m=l(H(u),Y(u)),p=__tsover_mul(n,.5),y=__tsover_mul(i,.15),h=__tsover_mul(go(f(__tsover_add(__tsover_add(__tsover_mul(d.x,__tsover_mul(r,2.3)),__tsover_mul(p,-.4)),173.5),__tsover_add(__tsover_add(__tsover_mul(d.y,__tsover_mul(r,2.3)),__tsover_mul(p,.3)),291.7),__tsover_add(y,50))),ao),g=l(H(h),Y(h)),w=__tsover_mul(n,.3),S=__tsover_mul(i,.1),T=__tsover_mul(go(f(__tsover_add(__tsover_add(__tsover_mul(d.x,__tsover_mul(r,4.7)),__tsover_mul(w,.2)),527.3),__tsover_add(__tsover_add(__tsover_mul(d.y,__tsover_mul(r,4.7)),__tsover_mul(w,-.6)),839.1),__tsover_add(S,100))),ao),A=l(H(T),Y(T)),P=m.add(g.mul(.5)).add(A.mul(.25)),U=b(j(P),.001),D=P.div(U),O=l(__tsover_div(__tsover_mul(D.x,o),s),__tsover_mul(D.y,o));return l(__tsover_add(t.x,O.x),__tsover_add(t.y,O.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"scale"},{type:"i",name:"strength"},{type:"i",name:"time"},{type:"i",name:"evolutionTime"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"drift1",[1,"time","*",[5,"0.7"]]],[13,"evolve1",[1,"evolutionTime","*",[5,"0.2"]]],[13,"angle1",[1,[6,"mxNoiseFloat3",[[6,"d.vec3f",[[1,[1,[7,"aspectCorrectedUV","x"],"*","scale"],"+",[1,"drift1","*",[5,"0.3"]]],[1,[1,[7,"aspectCorrectedUV","y"],"*","scale"],"+",[1,"drift1","*",[5,"0.5"]]],"evolve1"]]]],"*","TWO_PI"]],[13,"flow1",[6,"d.vec2f",[[6,"std.cos",["angle1"]],[6,"std.sin",["angle1"]]]]],[13,"drift2",[1,"time","*",[5,"0.5"]]],[13,"evolve2",[1,"evolutionTime","*",[5,"0.15"]]],[13,"angle2",[1,[6,"mxNoiseFloat3",[[6,"d.vec3f",[[1,[1,[1,[7,"aspectCorrectedUV","x"],"*",[1,"scale","*",[5,"2.3"]]],"+",[1,"drift2","*",[4,"-",[5,"0.4"]]]],"+",[5,"173.5"]],[1,[1,[1,[7,"aspectCorrectedUV","y"],"*",[1,"scale","*",[5,"2.3"]]],"+",[1,"drift2","*",[5,"0.3"]]],"+",[5,"291.7"]],[1,"evolve2","+",[5,"50"]]]]]],"*","TWO_PI"]],[13,"flow2",[6,"d.vec2f",[[6,"std.cos",["angle2"]],[6,"std.sin",["angle2"]]]]],[13,"drift3",[1,"time","*",[5,"0.3"]]],[13,"evolve3",[1,"evolutionTime","*",[5,"0.1"]]],[13,"angle3",[1,[6,"mxNoiseFloat3",[[6,"d.vec3f",[[1,[1,[1,[7,"aspectCorrectedUV","x"],"*",[1,"scale","*",[5,"4.7"]]],"+",[1,"drift3","*",[5,"0.2"]]],"+",[5,"527.3"]],[1,[1,[1,[7,"aspectCorrectedUV","y"],"*",[1,"scale","*",[5,"4.7"]]],"+",[1,"drift3","*",[4,"-",[5,"0.6"]]]],"+",[5,"839.1"]],[1,"evolve3","+",[5,"100"]]]]]],"*","TWO_PI"]],[13,"flow3",[6,"d.vec2f",[[6,"std.cos",["angle3"]],[6,"std.sin",["angle3"]]]]],[13,"combinedFlow",[6,[7,[6,[7,"flow1","add"],[[6,[7,"flow2","mul"],[[5,"0.5"]]]]],"add"],[[6,[7,"flow3","mul"],[[5,"0.25"]]]]]],[13,"flowLength",[6,"std.max",[[6,"std.length",["combinedFlow"]],[5,"0.001"]]]],[13,"normalizedFlow",[6,[7,"combinedFlow","div"],["flowLength"]]],[13,"finalFlow",[6,"d.vec2f",[[1,[1,[7,"normalizedFlow","x"],"*","strength"],"/","aspect"],[1,[7,"normalizedFlow","y"],"*","strength"]]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[7,"finalFlow","x"]],[1,[7,"uv","y"],"+",[7,"finalFlow","y"]]]]]]]},externals:{"d.vec2f":()=>l,mxNoiseFloat3:()=>go,"d.vec3f":()=>f,TWO_PI:()=>ao,"std.cos":()=>H,"std.sin":()=>Y,"std.max":()=>b,"std.length":()=>j}})&&e.f)({})),bD=v.fn([l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,Le),d=l(H(i),Y(i)),c=l(__tsover_mul(__tsover_sub(t.x,.5),s),__tsover_sub(t.y,.5)),_=se(c,d),u=__tsover_mul(.5,__tsover_add(__tsover_mul(s,z(d.x)),z(d.y))),m=__tsover_add(__tsover_div(_,__tsover_mul(2,u)),.5),p=q(__tsover_mul(m,b(o,1))),y=__tsover_sub(__tsover_mul(ue(__tsover_mul(p,.5)),4),1),h=l(-d.y,d.x),g=__tsover_mul(.5,__tsover_add(__tsover_mul(s,z(d.y)),z(d.x))),w=__tsover_mul(__tsover_mul(n,__tsover_mul(2.02,g)),y),S=c.add(h.mul(w));return l(__tsover_add(__tsover_div(S.x,s),.5),__tsover_add(S.y,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angleDeg"},{type:"i",name:"sliceCount"},{type:"i",name:"progress"}],body:[0,[[13,"a",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"dir",[6,"d.vec2f",[[6,"std.cos",["a"]],[6,"std.sin",["a"]]]]],[13,"p",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],[1,[7,"uv","y"],"-",[5,"0.5"]]]]],[13,"grad",[6,"std.dot",["p","dir"]]],[13,"ext",[1,[5,"0.5"],"*",[1,[1,"aspect","*",[6,"std.abs",[[7,"dir","x"]]]],"+",[6,"std.abs",[[7,"dir","y"]]]]]],[13,"t",[1,[1,"grad","/",[1,[5,"2"],"*","ext"]],"+",[5,"0.5"]]],[13,"idx",[6,"std.floor",[[1,"t","*",[6,"std.max",["sliceCount",[5,"1"]]]]]]],[13,"sign",[1,[1,[6,"std.fract",[[1,"idx","*",[5,"0.5"]]]],"*",[5,"4"]],"-",[5,"1"]]],[13,"perp",[6,"d.vec2f",[[4,"-",[7,"dir","y"]],[7,"dir","x"]]]],[13,"extPerp",[1,[5,"0.5"],"*",[1,[1,"aspect","*",[6,"std.abs",[[7,"dir","y"]]]],"+",[6,"std.abs",[[7,"dir","x"]]]]]],[13,"slide",[1,[1,"progress","*",[1,[5,"2.02"],"*","extPerp"]],"*","sign"]],[13,"q",[6,[7,"p","add"],[[6,[7,"perp","mul"],["slide"]]]]],[10,[6,"d.vec2f",[[1,[1,[7,"q","x"],"/","aspect"],"+",[5,"0.5"]],[1,[7,"q","y"],"+",[5,"0.5"]]]]]]]},externals:{DEG_TO_RAD:()=>Le,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.abs":()=>z,"std.floor":()=>q,"std.max":()=>b,"std.fract":()=>ue}})&&e.f)({})),R3=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(r,Le),i=H(n),d=Y(n),c=__tsover_mul(t.x,s),_=t.y,u=__tsover_sub(c,__tsover_mul(s,.5)),m=__tsover_sub(_,.5),p=__tsover_add(__tsover_mul(u,i),__tsover_mul(m,d)),y=__tsover_add(__tsover_mul(__tsover_mul(u,d),-1),__tsover_mul(m,i)),h=__tsover_add(y,o),g=__tsover_sub(__tsover_mul(p,i),__tsover_mul(h,d)),w=__tsover_add(__tsover_mul(p,d),__tsover_mul(h,i));return l(__tsover_add(__tsover_div(g,s),.5),__tsover_add(w,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"offset"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"au",[1,[7,"uv","x"],"*","aspect"]],[13,"av",[7,"uv","y"]],[13,"cu",[1,"au","-",[1,"aspect","*",[5,"0.5"]]]],[13,"cv",[1,"av","-",[5,"0.5"]]],[13,"projectedU",[1,[1,"cu","*","cosA"],"+",[1,"cv","*","sinA"]]],[13,"projectedV",[1,[1,[1,"cu","*","sinA"],"*",[4,"-",[5,"1"]]],"+",[1,"cv","*","cosA"]]],[13,"distPV",[1,"projectedV","+","offset"]],[13,"dcu",[1,[1,"projectedU","*","cosA"],"-",[1,"distPV","*","sinA"]]],[13,"dcv",[1,[1,"projectedU","*","sinA"],"+",[1,"distPV","*","cosA"]]],[10,[6,"d.vec2f",[[1,[1,"dcu","/","aspect"],"+",[5,"0.5"]],[1,"dcv","+",[5,"0.5"]]]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),wD=v.fn([a,a,a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_mul(s,Le),_=H(c),u=Y(c),m=b(d,1),p=__tsover_mul(i.x,d),y=i.y,h=__tsover_sub(p,__tsover_mul(d,.5)),g=__tsover_sub(y,.5),w=__tsover_add(__tsover_mul(h,_),__tsover_mul(g,u)),S=q(__tsover_div(__tsover_mul(w,t),m)),T=__tsover_mul(o,.137),A=Zn(__tsover_add(S,T)),P=Zn(__tsover_add(__tsover_add(S,T),42.7)),U=__tsover_mul(__tsover_mul(n,P),.2);return R3(i,d,s,__tsover_mul(__tsover_add(A,U),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"count"},{type:"i",name:"angle"},{type:"i",name:"intensity"},{type:"i",name:"seed"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"longestAxis",[6,"std.max",["aspect",[5,"1"]]]],[13,"au",[1,[7,"uv","x"],"*","aspect"]],[13,"av",[7,"uv","y"]],[13,"cu",[1,"au","-",[1,"aspect","*",[5,"0.5"]]]],[13,"cv",[1,"av","-",[5,"0.5"]]],[13,"projectedU",[1,[1,"cu","*","cosA"],"+",[1,"cv","*","sinA"]]],[13,"barCoord",[1,[1,"projectedU","*","count"],"/","longestAxis"]],[13,"barIndex",[6,"std.floor",["barCoord"]]],[13,"seedOffset",[1,"seed","*",[5,"0.137"]]],[13,"staticOffset",[6,"legacySinHash11",[[1,"barIndex","+","seedOffset"]]]],[13,"barSpeed",[6,"legacySinHash11",[[1,[1,"barIndex","+","seedOffset"],"+",[5,"42.7"]]]]],[13,"animOffset",[1,[1,"animTime","*","barSpeed"],"*",[5,"0.2"]]],[13,"offset",[1,[1,"staticOffset","+","animOffset"],"*","intensity"]],[10,[6,"barSampleUV",["uv","aspect","angle","offset"]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.max":()=>b,"std.floor":()=>q,legacySinHash11:()=>Zn,barSampleUV:()=>R3}})&&e.f)({})),TD=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=r>1,n=b(C(__tsover_mul(s,r),s,o),1),i=b(C(s,__tsover_div(s,r),o),1),d=q(__tsover_mul(t.x,n)),c=q(__tsover_mul(t.y,i));return l(__tsover_div(__tsover_add(d,.5),n),__tsover_div(__tsover_add(c,.5),i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"gridSize"},{type:"i",name:"aspect"}],body:[0,[[13,"isWide",[1,"aspect",">",[5,"1"]]],[13,"cellsX",[6,"std.max",[[6,"std.select",[[1,"gridSize","*","aspect"],"gridSize","isWide"]],[5,"1"]]]],[13,"cellsY",[6,"std.max",[[6,"std.select",["gridSize",[1,"gridSize","/","aspect"],"isWide"]],[5,"1"]]]],[13,"cellIndexX",[6,"std.floor",[[1,[7,"uv","x"],"*","cellsX"]]]],[13,"cellIndexY",[6,"std.floor",[[1,[7,"uv","y"],"*","cellsY"]]]],[10,[6,"d.vec2f",[[1,[1,"cellIndexX","+",[5,"0.5"]],"/","cellsX"],[1,[1,"cellIndexY","+",[5,"0.5"]],"/","cellsY"]]]]]]},externals:{"std.max":()=>b,"std.select":()=>C,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),SD=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let o=$(s,l(-.1,-.1),l(.1,.1));return t.sub(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"disp"}],body:[0,[[13,"maxDisp",[5,"0.1"]],[13,"clamped",[6,"std.clamp",["disp",[6,"d.vec2f",[[4,"-","maxDisp"],[4,"-","maxDisp"]]],[6,"d.vec2f",["maxDisp","maxDisp"]]]]],[10,[6,[7,"uv","sub"],["clamped"]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l}})&&e.f)({})),AD=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=s.mul(__tsover_mul(r,.1)),n=.15,i=$(o,l(-n,-n),l(n,n));return t.sub(i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"disp"},{type:"i",name:"intensity"}],body:[0,[[13,"scaled",[6,[7,"disp","mul"],[[1,"intensity","*",[5,"0.1"]]]]],[13,"maxDisp",[5,"0.15"]],[13,"clamped",[6,"std.clamp",["scaled",[6,"d.vec2f",[[4,"-","maxDisp"],[4,"-","maxDisp"]]],[6,"d.vec2f",["maxDisp","maxDisp"]]]]],[10,[6,[7,"uv","sub"],["clamped"]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l}})&&e.f)({})),MD=v.fn([l,x,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(s.w,1e-4),i=__tsover_div(__tsover_mul(__tsover_mul(__tsover_mul(__tsover_sub(__tsover_div(s.x,n),.5),2),s.w),o),r),d=__tsover_mul(__tsover_mul(__tsover_mul(__tsover_sub(__tsover_div(s.y,n),.5),2),s.w),o);return l(__tsover_add(t.x,i),__tsover_add(t.y,d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"src"},{type:"i",name:"aspect"},{type:"i",name:"amount"}],body:[0,[[13,"a",[6,"std.max",[[7,"src","w"],[5,"0.0001"]]]],[13,"dx",[1,[1,[1,[1,[1,[1,[7,"src","x"],"/","a"],"-",[5,"0.5"]],"*",[5,"2"]],"*",[7,"src","w"]],"*","amount"],"/","aspect"]],[13,"dy",[1,[1,[1,[1,[1,[7,"src","y"],"/","a"],"-",[5,"0.5"]],"*",[5,"2"]],"*",[7,"src","w"]],"*","amount"]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+","dx"],[1,[7,"uv","y"],"+","dy"]]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),PD=v.fn([l,x,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=b(s.w,1e-4),d=se(f(__tsover_div(s.x,i),__tsover_div(s.y,i),__tsover_div(s.z,i)),f(.2126,.7152,.0722)),c=__tsover_mul(__tsover_mul(__tsover_mul(__tsover_sub(d,.5),2),s.w),o),_=__tsover_mul(n,Le),u=__tsover_div(__tsover_mul(c,H(_)),r),m=__tsover_mul(c,Y(_));return l(__tsover_add(t.x,u),__tsover_add(t.y,m))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"src"},{type:"i",name:"aspect"},{type:"i",name:"amount"},{type:"i",name:"angleDeg"}],body:[0,[[13,"a",[6,"std.max",[[7,"src","w"],[5,"0.0001"]]]],[13,"lum",[6,"std.dot",[[6,"d.vec3f",[[1,[7,"src","x"],"/","a"],[1,[7,"src","y"],"/","a"],[1,[7,"src","z"],"/","a"]]],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"scalar",[1,[1,[1,[1,"lum","-",[5,"0.5"]],"*",[5,"2"]],"*",[7,"src","w"]],"*","amount"]],[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"dx",[1,[1,"scalar","*",[6,"std.cos",["angleRad"]]],"/","aspect"]],[13,"dy",[1,"scalar","*",[6,"std.sin",["angleRad"]]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+","dx"],[1,[7,"uv","y"],"+","dy"]]]]]]},externals:{"std.max":()=>b,"std.dot":()=>se,"d.vec3f":()=>f,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),Rm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({refractedUV:l,chrOff:l,slope:a}),"FlutedGeom"),ED=v.fn([l,a,a,a,a,a,a,a,a,a,f],Rm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=m.x,y=m.y,h=m.z,g=__tsover_div(__tsover_mul(o,Xr),180),w=H(g),S=Y(g),T=l(__tsover_mul(__tsover_sub(t.x,.5),s),__tsover_sub(t.y,.5)),A=__tsover_add(__tsover_mul(T.x,w),__tsover_mul(T.y,S)),P=__tsover_add(__tsover_mul(-T.x,S),__tsover_mul(T.y,w)),U=__tsover_mul(Y(__tsover_add(__tsover_mul(__tsover_mul(P,c),__tsover_mul(Xr,2)),__tsover_mul(r,2))),d),D=__tsover_add(A,__tsover_mul(h,U)),O=__tsover_add(__tsover_mul(D,n),r),L=__tsover_mul(__tsover_sub(ue(O),.5),2),G=b(z(L),1e-4),W=X(p,y,i),K=__tsover_mul(ks(L),Ce(G,W)),Q=__tsover_div(.5,b(n,.001)),te=-__tsover_mul(__tsover_mul(K,_),Q),ee=l(__tsover_add(t.x,__tsover_div(__tsover_mul(te,w),s)),__tsover_add(t.y,__tsover_mul(te,S))),he=__tsover_mul(__tsover_mul(te,u),.5);return Rm({refractedUV:ee,chrOff:l(__tsover_div(__tsover_mul(he,w),s),__tsover_mul(he,S)),slope:K})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"t"},{type:"i",name:"angleDeg"},{type:"i",name:"frequency"},{type:"i",name:"softness"},{type:"i",name:"waveAmp"},{type:"i",name:"waveFreq"},{type:"i",name:"refraction"},{type:"i",name:"aberration"},{type:"i",name:"shapeParams"}],body:[0,[[13,"expHi",[7,"shapeParams","x"]],[13,"expLo",[7,"shapeParams","y"]],[13,"wavesFlag",[7,"shapeParams","z"]],[13,"r",[1,[1,"angleDeg","*","PI"],"/",[5,"180"]]],[13,"cosA",[6,"std.cos",["r"]]],[13,"sinA",[6,"std.sin",["r"]]],[13,"aspCorr",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],[1,[7,"uv","y"],"-",[5,"0.5"]]]]],[13,"u",[1,[1,[7,"aspCorr","x"],"*","cosA"],"+",[1,[7,"aspCorr","y"],"*","sinA"]]],[13,"v",[1,[1,[4,"-",[7,"aspCorr","x"]],"*","sinA"],"+",[1,[7,"aspCorr","y"],"*","cosA"]]],[13,"waveTerm",[1,[6,"std.sin",[[1,[1,[1,"v","*","waveFreq"],"*",[1,"PI","*",[5,"2"]]],"+",[1,"t","*",[5,"2"]]]]],"*","waveAmp"]],[13,"fluteU",[1,"u","+",[1,"wavesFlag","*","waveTerm"]]],[13,"flutePos",[1,[1,"fluteU","*","frequency"],"+","t"]],[13,"cellPos",[1,[1,[6,"std.fract",["flutePos"]],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"absCell",[6,"std.max",[[6,"std.abs",["cellPos"]],[5,"0.0001"]]]],[13,"exponent",[6,"std.mix",["expHi","expLo","softness"]]],[13,"slope",[1,[6,"std.sign",["cellPos"]],"*",[6,"std.pow",["absCell","exponent"]]]],[13,"halfCell",[1,[5,"0.5"],"/",[6,"std.max",["frequency",[5,"0.001"]]]]],[13,"refrU",[4,"-",[1,[1,"slope","*","refraction"],"*","halfCell"]]],[13,"refractedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[1,"refrU","*","cosA"],"/","aspect"]],[1,[7,"uv","y"],"+",[1,"refrU","*","sinA"]]]]],[13,"chrU",[1,[1,"refrU","*","aberration"],"*",[5,"0.5"]]],[13,"chrOff",[6,"d.vec2f",[[1,[1,"chrU","*","cosA"],"/","aspect"],[1,"chrU","*","sinA"]]]],[10,[6,"FlutedGeom",[[104,{refractedUV:"refractedUV",chrOff:"chrOff",slope:"slope"}]]]]]]},externals:{PI:()=>Xr,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l,"std.fract":()=>ue,"std.max":()=>b,"std.abs":()=>z,"std.mix":()=>X,"std.sign":()=>ks,"std.pow":()=>Ce,FlutedGeom:()=>Rm}})&&e.f)({})),kD=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=oe(__tsover_mul(t,t),1),i=be(__tsover_sub(1,n)),d=__tsover_div(__tsover_mul(s,Xr),360),c=Y(d),_=H(d),u=b(__tsover_add(__tsover_mul(t,c),__tsover_mul(i,_)),0),m=$l(__tsover_sub(8,__tsover_mul(o,7))),p=Ce(__tsover_sub(1,i),5),y=__tsover_add(.04,__tsover_mul(.96,p));return __tsover_mul(__tsover_mul(Ce(u,m),y),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"slope"},{type:"i",name:"lightAngleDeg"},{type:"i",name:"intensity"},{type:"i",name:"softness"}],body:[0,[[13,"slopeSq",[6,"std.min",[[1,"slope","*","slope"],[5,"1"]]]],[13,"nz",[6,"std.sqrt",[[1,[5,"1"],"-","slopeSq"]]]],[13,"half",[1,[1,"lightAngleDeg","*","PI"],"/",[5,"360"]]],[13,"hx",[6,"std.sin",["half"]]],[13,"hy",[6,"std.cos",["half"]]],[13,"nDotH",[6,"std.max",[[1,[1,"slope","*","hx"],"+",[1,"nz","*","hy"]],[5,"0"]]]],[13,"shininess",[6,"std.exp2",[[1,[5,"8"],"-",[1,"softness","*",[5,"7"]]]]]],[13,"fresnel",[6,"std.pow",[[1,[5,"1"],"-","nz"],[5,"5"]]]],[13,"fresnelMix",[1,[5,"0.04"],"+",[1,[5,"0.96"],"*","fresnel"]]],[10,[1,[1,[6,"std.pow",["nDotH","shininess"]],"*","fresnelMix"],"*","intensity"]]]]},externals:{"std.min":()=>oe,"std.sqrt":()=>be,PI:()=>Xr,"std.sin":()=>Y,"std.cos":()=>H,"std.max":()=>b,"std.exp2":()=>$l,"std.pow":()=>Ce}})&&e.f)({})),zm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({curlUV:l,theta:a,distPastCrease:a,distIntoPeel:a,flatReach:a,peelReach:a,foldBlend:a,showCurl:a}),"PagePeelGeom"),$D=v.fn([l,a,a,a,a,a,a,a],zm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=l(__tsover_mul(t.x,s),t.y),u=l(__tsover_mul(r,s),o),m=l(__tsover_mul(n,s),i).sub(u),p=j(m),y=m.mul(__tsover_div(1,p)),h=se(_.sub(u),y),g=__tsover_mul(d,p),w=g,S=b(__tsover_mul(c,p),1e-4),T=__tsover_div(g,S),A=__tsover_div(__tsover_sub(h,w),S),P=xp($(A,0,1)),U=__tsover_mul(De(0,A),De(A,1)),D=De(P,T),O=__tsover_sub(g,__tsover_mul(S,P)),L=_.add(y.mul(__tsover_sub(O,h))),G=l(__tsover_div(L.x,s),L.y),W=__tsover_mul(__tsover_mul(__tsover_mul(De(0,G.x),De(G.x,1)),De(0,G.y)),De(G.y,1)),K=__tsover_sub(1,H($(T,0,Gl))),Q=__tsover_mul(S,K),te=b(__tsover_add(S,__tsover_mul(Q,.5)),1e-4),ee=__tsover_sub(h,w),he=b(__tsover_mul(Q,2.5),1e-4);return zm({curlUV:G,theta:P,distPastCrease:ee,distIntoPeel:__tsover_sub(w,h),flatReach:te,peelReach:he,foldBlend:re(__tsover_sub(w,.0015),__tsover_add(w,.0015),h),showCurl:__tsover_mul(__tsover_mul(U,D),W)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"cornerX"},{type:"i",name:"cornerY"},{type:"i",name:"oppX"},{type:"i",name:"oppY"},{type:"i",name:"amount"},{type:"i",name:"radius"}],body:[0,[[13,"pA",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"cornerA",[6,"d.vec2f",[[1,"cornerX","*","aspect"],"cornerY"]]],[13,"oppA",[6,"d.vec2f",[[1,"oppX","*","aspect"],"oppY"]]],[13,"axisVec",[6,[7,"oppA","sub"],["cornerA"]]],[13,"L",[6,"std.length",["axisVec"]]],[13,"axis",[6,[7,"axisVec","mul"],[[1,[5,"1"],"/","L"]]]],[13,"t",[6,"std.dot",[[6,[7,"pA","sub"],["cornerA"]],"axis"]]],[13,"peel",[1,"amount","*","L"]],[13,"cFold","peel"],[13,"R",[6,"std.max",[[1,"radius","*","L"],[5,"0.0001"]]]],[13,"thetaMax",[1,"peel","/","R"]],[13,"X",[1,[1,"t","-","cFold"],"/","R"]],[13,"Xc",[6,"std.clamp",["X",[5,"0"],[5,"1"]]]],[13,"theta",[6,"std.asin",["Xc"]]],[13,"inBand",[1,[6,"std.step",[[5,"0"],"X"]],"*",[6,"std.step",["X",[5,"1"]]]]],[13,"paper",[6,"std.step",["theta","thetaMax"]]],[13,"cCurl",[1,"peel","-",[1,"R","*","theta"]]],[13,"sourceA",[6,[7,"pA","add"],[[6,[7,"axis","mul"],[[1,"cCurl","-","t"]]]]]],[13,"curlUV",[6,"d.vec2f",[[1,[7,"sourceA","x"],"/","aspect"],[7,"sourceA","y"]]]],[13,"curlInBounds",[1,[1,[1,[6,"std.step",[[5,"0"],[7,"curlUV","x"]]],"*",[6,"std.step",[[7,"curlUV","x"],[5,"1"]]]],"*",[6,"std.step",[[5,"0"],[7,"curlUV","y"]]]],"*",[6,"std.step",[[7,"curlUV","y"],[5,"1"]]]]],[13,"liftFrac",[1,[5,"1"],"-",[6,"std.cos",[[6,"std.clamp",["thetaMax",[5,"0"],"HALF_PI"]]]]]],[13,"lipHeight",[1,"R","*","liftFrac"]],[13,"flatReach",[6,"std.max",[[1,"R","+",[1,"lipHeight","*",[5,"0.5"]]],[5,"0.0001"]]]],[13,"distPastCrease",[1,"t","-","cFold"]],[13,"peelReach",[6,"std.max",[[1,"lipHeight","*",[5,"2.5"]],[5,"0.0001"]]]],[13,"distIntoPeel",[1,"cFold","-","t"]],[13,"foldBlend",[6,"std.smoothstep",[[1,"cFold","-",[5,"0.0015"]],[1,"cFold","+",[5,"0.0015"]],"t"]]],[13,"showCurl",[1,[1,"inBand","*","paper"],"*","curlInBounds"]],[10,[6,"PagePeelGeom",[[104,{curlUV:"curlUV",theta:"theta",distPastCrease:"distPastCrease",distIntoPeel:"distIntoPeel",flatReach:"flatReach",peelReach:"peelReach",foldBlend:"foldBlend",showCurl:"showCurl"}]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.dot":()=>se,"std.max":()=>b,"std.clamp":()=>$,"std.asin":()=>xp,"std.step":()=>De,"std.cos":()=>H,HALF_PI:()=>Gl,"std.smoothstep":()=>re,PagePeelGeom:()=>zm}})&&e.f)({})),UD=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=H(t);return __tsover_sub(1,__tsover_mul(s,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"theta"},{type:"i",name:"shading"}],body:[0,[[13,"facing",[6,"std.cos",["theta"]]],[10,[1,[5,"1"],"-",[1,"shading","*","facing"]]]]]},externals:{"std.cos":()=>H}})&&e.f)({})),CD=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(t,Gl),n=X(.05,.4,r),i=__tsover_div(__tsover_sub(o,.65),n);return __tsover_mul(ct(__tsover_mul(__tsover_mul(i,i),-.5)),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"theta"},{type:"i",name:"intensity"},{type:"i",name:"softness"}],body:[0,[[13,"thetaN",[1,"theta","/","HALF_PI"]],[13,"specSigma",[6,"std.mix",[[5,"0.05"],[5,"0.4"],"softness"]]],[13,"specDelta",[1,[1,"thetaN","-",[5,"0.65"]],"/","specSigma"]],[10,[1,[6,"std.exp",[[1,[1,"specDelta","*","specDelta"],"*",[4,"-",[5,"0.5"]]]]],"*","intensity"]]]]},externals:{HALF_PI:()=>Gl,"std.mix":()=>X,"std.exp":()=>ct}})&&e.f)({})),eu=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(re(0,.04,t),Ce(__tsover_sub(1,t),.7))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"amount"}],body:[0,[[10,[1,[6,"std.smoothstep",[[5,"0"],[5,"0.04"],"amount"]],"*",[6,"std.pow",[[1,[5,"1"],"-","amount"],[5,"0.7"]]]]]]]},externals:{"std.smoothstep":()=>re,"std.pow":()=>Ce}})&&e.f)({})),tu=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_mul(Ce(__tsover_sub(1,re(0,s,t)),r),De(0,t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"reach"},{type:"i",name:"exponent"}],body:[0,[[10,[1,[6,"std.pow",[[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"reach","dist"]]],"exponent"]],"*",[6,"std.step",[[5,"0"],"dist"]]]]]]},externals:{"std.pow":()=>Ce,"std.smoothstep":()=>re,"std.step":()=>De}})&&e.f)({})),RD=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(tu(t,s,2),eu(r));return __tsover_sub(1,__tsover_mul(__tsover_mul(o,n),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"reach"},{type:"i",name:"amount"},{type:"i",name:"shadow"}],body:[0,[[13,"fall",[1,[6,"shadowFalloff",["dist","reach",[5,"2"]]],"*",[6,"liftShadowStrength",["amount"]]]],[10,[1,[5,"1"],"-",[1,[1,"shadow","*","fall"],"*",[5,"0.5"]]]]]]},externals:{shadowFalloff:()=>tu,liftShadowStrength:()=>eu}})&&e.f)({})),zD=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(__tsover_mul(tu(t,s,1.5),eu(r)),o);return __tsover_mul(n,.6)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"reach"},{type:"i",name:"amount"},{type:"i",name:"shadow"}],body:[0,[[13,"fall",[1,[1,[6,"shadowFalloff",["dist","reach",[5,"1.5"]]],"*",[6,"liftShadowStrength",["amount"]]],"*","shadow"]],[10,[1,"fall","*",[5,"0.6"]]]]]},externals:{shadowFalloff:()=>tu,liftShadowStrength:()=>eu}})&&e.f)({})),GD=v.fn([x,x,a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=x(t.xyz.mul(r).add(__tsover_mul(o,t.w)),t.w),u=x(s.xyz.mul(n),s.w);return C(X(x(0,0,0,i),u,x(d)),_,c>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"curlSample"},{type:"i",name:"flatSample"},{type:"i",name:"curlBright"},{type:"i",name:"spec"},{type:"i",name:"flatShade"},{type:"i",name:"peelAlpha"},{type:"i",name:"foldBlend"},{type:"i",name:"showCurl"}],body:[0,[[13,"litRgb",[6,[7,[6,[7,[7,"curlSample","xyz"],"mul"],["curlBright"]],"add"],[[1,"spec","*",[7,"curlSample","w"]]]]],[13,"curlColor",[6,"d.vec4f",["litRgb",[7,"curlSample","w"]]]],[13,"flatColor",[6,"d.vec4f",[[6,[7,[7,"flatSample","xyz"],"mul"],["flatShade"]],[7,"flatSample","w"]]]],[13,"peeledColor",[6,"d.vec4f",[[5,"0"],[5,"0"],[5,"0"],"peelAlpha"]]],[13,"base",[6,"std.mix",["peeledColor","flatColor",[6,"d.vec4f",["foldBlend"]]]]],[10,[6,"std.select",["base","curlColor",[1,"showCurl",">",[5,"0.5"]]]]]]]},externals:{"d.vec4f":()=>x,"std.mix":()=>X,"std.select":()=>C}})&&e.f)({})),Gm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({uv:l,coverage:a,normal:f}),"SphereBulge"),YD=v.fn([l,l,l,a,a],Gm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_div(s.x,s.y),d=r.x,c=__tsover_sub(1,r.y),_=__tsover_mul(__tsover_sub(t.x,d),i),u=__tsover_sub(t.y,c),m=__tsover_div(__tsover_mul(_,2),o),p=__tsover_div(__tsover_mul(u,2),o),y=__tsover_add(__tsover_mul(m,m),__tsover_mul(p,p)),h=__tsover_sub(1,re(.98,1,y)),g=be(b(a(0),__tsover_sub(1,y))),w=__tsover_add(1,__tsover_mul(g,n)),S=__tsover_div(__tsover_mul(__tsover_div(m,w),o),2),T=__tsover_div(__tsover_mul(__tsover_div(p,w),o),2),A=__tsover_add(__tsover_div(S,i),d),P=__tsover_add(T,c),U=as(f(m,p,g));return Gm({uv:l(A,P),coverage:h,normal:U})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"center"},{type:"i",name:"radius"},{type:"i",name:"depth"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"centerX",[7,"center","x"]],[13,"centerY",[1,[5,"1"],"-",[7,"center","y"]]],[13,"cuX",[1,[1,[7,"uv","x"],"-","centerX"],"*","aspect"]],[13,"cuY",[1,[7,"uv","y"],"-","centerY"]],[13,"sphereX",[1,[1,"cuX","*",[5,"2"]],"/","radius"]],[13,"sphereY",[1,[1,"cuY","*",[5,"2"]],"/","radius"]],[13,"radiusSq",[1,[1,"sphereX","*","sphereX"],"+",[1,"sphereY","*","sphereY"]]],[13,"sphereAlpha",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0.98"],[5,"1"],"radiusSq"]]]],[13,"z",[6,"std.sqrt",[[6,"std.max",[[6,"d.f32",[[5,"0"]]],[1,[5,"1"],"-","radiusSq"]]]]]],[13,"depthFactor",[1,[5,"1"],"+",[1,"z","*","depth"]]],[13,"finalX",[1,[1,[1,"sphereX","/","depthFactor"],"*","radius"],"/",[5,"2"]]],[13,"finalY",[1,[1,[1,"sphereY","/","depthFactor"],"*","radius"],"/",[5,"2"]]],[13,"transformedX",[1,[1,"finalX","/","aspect"],"+","centerX"]],[13,"transformedY",[1,"finalY","+","centerY"]],[13,"normal",[6,"std.normalize",[[6,"d.vec3f",["sphereX","sphereY","z"]]]]],[10,[6,"SphereBulge",[[104,{uv:[6,"d.vec2f",["transformedX","transformedY"]],coverage:"sphereAlpha",normal:"normal"}]]]]]]},externals:{"std.smoothstep":()=>re,"std.sqrt":()=>be,"std.max":()=>b,"d.f32":()=>a,"std.normalize":()=>as,"d.vec3f":()=>f,SphereBulge:()=>Gm,"d.vec2f":()=>l}})&&e.f)({})),LD=v.fn([f,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=f(0,0,1),i=__tsover_add(1,__tsover_mul(4,__tsover_sub(1,o))),d=Ce(__tsover_sub(1,b(se(t,n),a(0))),i),c=__tsover_mul(__tsover_sub(s.x,.5),2),_=__tsover_mul(__tsover_sub(__tsover_sub(1,s.y),.5),2),u=as(l(__tsover_add(t.x,1e-4),__tsover_add(t.y,1e-4))),m=as(l(__tsover_add(c,1e-4),__tsover_add(_,1e-4))),p=Ce(b(a(0),se(u,m)),a(2));return __tsover_mul(__tsover_mul(__tsover_mul(d,p),r),2)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"normal"},{type:"i",name:"lightPos"},{type:"i",name:"intensity"},{type:"i",name:"softness"}],body:[0,[[13,"viewDir",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"1"]]]],[13,"fresnelPower",[1,[5,"1"],"+",[1,[5,"4"],"*",[1,[5,"1"],"-","softness"]]]],[13,"fresnel",[6,"std.pow",[[1,[5,"1"],"-",[6,"std.max",[[6,"std.dot",["normal","viewDir"]],[6,"d.f32",[[5,"0"]]]]]],"fresnelPower"]]],[13,"lightDir2Dx",[1,[1,[7,"lightPos","x"],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"lightDir2Dy",[1,[1,[1,[5,"1"],"-",[7,"lightPos","y"]],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"normalDir",[6,"std.normalize",[[6,"d.vec2f",[[1,[7,"normal","x"],"+",[5,"0.0001"]],[1,[7,"normal","y"],"+",[5,"0.0001"]]]]]]],[13,"lightDirNorm",[6,"std.normalize",[[6,"d.vec2f",[[1,"lightDir2Dx","+",[5,"0.0001"]],[1,"lightDir2Dy","+",[5,"0.0001"]]]]]]],[13,"directionality",[6,"std.max",[[6,"d.f32",[[5,"0"]]],[6,"std.dot",["normalDir","lightDirNorm"]]]]],[13,"directionalBias",[6,"std.pow",["directionality",[6,"d.f32",[[5,"2"]]]]]],[10,[1,[1,[1,"fresnel","*","directionalBias"],"*","intensity"],"*",[5,"2"]]]]]},externals:{"d.vec3f":()=>f,"std.pow":()=>Ce,"std.max":()=>b,"std.dot":()=>se,"d.f32":()=>a,"std.normalize":()=>as,"d.vec2f":()=>l}})&&e.f)({})),ID=v.fn([x,f,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return x(__tsover_add(t.x,__tsover_mul(s.x,r)),__tsover_add(t.y,__tsover_mul(s.y,r)),__tsover_add(t.z,__tsover_mul(s.z,r)),__tsover_mul(t.w,o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"straight"},{type:"i",name:"lightColor"},{type:"i",name:"rim"},{type:"i",name:"coverage"}],body:[0,[[13,"r",[1,[7,"straight","x"],"+",[1,[7,"lightColor","x"],"*","rim"]]],[13,"g",[1,[7,"straight","y"],"+",[1,[7,"lightColor","y"],"*","rim"]]],[13,"b",[1,[7,"straight","z"],"+",[1,[7,"lightColor","z"],"*","rim"]]],[13,"a",[1,[7,"straight","w"],"*","coverage"]],[10,[6,"d.vec4f",["r","g","b","a"]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({}));var z3=1/360,DD=v.fn([l,l,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=hm(t),d=hm(s),c=d.sub(i),_=j(c),u=as(c),m=b(n.y,1e-6),p=__tsover_div(n.x,m),y=__tsover_mul(__tsover_mul(r,Le),-1),h=H(y),g=Y(y),w=i.add(d).mul(.5),S=o.sub(w),T=Eo(l(__tsover_mul(S.x,p),S.y),h,g),A=se(l(__tsover_div(T.x,p),T.y).add(w).sub(i),u);return __tsover_div(A,b(_,1e-6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"start"},{type:"i",name:"end"},{type:"i",name:"angle"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"startPos",[6,"unflipPosition",["start"]]],[13,"endPos",[6,"unflipPosition",["end"]]],[13,"gradientVector",[6,[7,"endPos","sub"],["startPos"]]],[13,"gradientLength",[6,"std.length",["gradientVector"]]],[13,"gradientDir",[6,"std.normalize",["gradientVector"]]],[13,"safeViewportY",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]],[13,"aspect",[1,[7,"viewport","x"],"/","safeViewportY"]],[13,"angleRad",[1,[1,"angle","*","DEG_TO_RAD"],"*",[4,"-",[5,"1"]]]],[13,"cosAngle",[6,"std.cos",["angleRad"]]],[13,"sinAngle",[6,"std.sin",["angleRad"]]],[13,"midpoint",[6,[7,[6,[7,"startPos","add"],["endPos"]],"mul"],[[5,"0.5"]]]],[13,"centeredUV",[6,[7,"uv","sub"],["midpoint"]]],[13,"rotated",[6,"geom.rotate2",[[6,"d.vec2f",[[1,[7,"centeredUV","x"],"*","aspect"],[7,"centeredUV","y"]]],"cosAngle","sinAngle"]]],[13,"rotatedUV",[6,[7,[6,"d.vec2f",[[1,[7,"rotated","x"],"/","aspect"],[7,"rotated","y"]]],"add"],["midpoint"]]],[13,"relativePos",[6,[7,"rotatedUV","sub"],["startPos"]]],[13,"projection",[6,"std.dot",["relativePos","gradientDir"]]],[10,[1,"projection","/",[6,"std.max",["gradientLength",[5,"0.000001"]]]]]]]},externals:{unflipPosition:()=>hm,"std.length":()=>j,"std.normalize":()=>as,"std.max":()=>b,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"geom.rotate2":()=>Eo,"d.vec2f":()=>l,"std.dot":()=>se}})&&e.f)({})),FD=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=bo(z(t),2);return C(s,__tsover_sub(2,s),s>1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[13,"m",[6,"std.mod",[[6,"std.abs",["t"]],[5,"2"]]]],[10,[6,"std.select",["m",[1,[5,"2"],"-","m"],[1,"m",">",[5,"1"]]]]]]]},externals:{"std.mod":()=>bo,"std.abs":()=>z,"std.select":()=>C}})&&e.f)({})),BD=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[6,"std.fract",["t"]]]]]},externals:{"std.fract":()=>ue}})&&e.f)({})),WD=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return $(t,0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[6,"std.clamp",["t",[5,"0"],[5,"1"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),OD=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=C(a(0),a(1),t>=0),r=C(a(0),a(1),t<=1);return __tsover_mul(s,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[13,"inLow",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"t",">=",[5,"0"]]]]],[13,"inHigh",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"t","<=",[5,"1"]]]]],[10,[1,"inLow","*","inHigh"]]]]},externals:{"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})),VD=v.fn([l,a,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ua(n,t,i),c=__tsover_mul(s,Le),_=Eo(d,H(c),-Y(c)),u=j(l(__tsover_mul(_.x,r),_.y)),m=b(o,1e-6);return __tsover_div(u,m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"skewAngle"},{type:"i",name:"ellipseAspect"},{type:"i",name:"radius"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"delta",[6,"aspectCenteredDelta",["uv","center","viewport"]]],[13,"skewRad",[1,"skewAngle","*","DEG_TO_RAD"]],[13,"cosS",[6,"std.cos",["skewRad"]]],[13,"sinS",[6,"std.sin",["skewRad"]]],[13,"rotated",[6,"geom.rotate2",["delta","cosS",[4,"-","sinS"]]]],[13,"stretched",[6,"d.vec2f",[[1,[7,"rotated","x"],"*","ellipseAspect"],[7,"rotated","y"]]]],[13,"dist",[6,"std.length",["stretched"]]],[13,"safeRadius",[6,"std.max",["radius",[5,"0.000001"]]]],[10,[1,"dist","/","safeRadius"]]]]},externals:{aspectCenteredDelta:()=>ua,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"geom.rotate2":()=>Eo,"d.vec2f":()=>l,"std.length":()=>j,"std.max":()=>b}})&&e.f)({})),ND=v.fn([l,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=ua(r,t,o),i=tt(n.y,n.x),d=__tsover_sub(.5,__tsover_div(i,it)),c=__tsover_mul(s,z3);return __tsover_add(d,c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"rotation"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"delta",[6,"aspectCenteredDelta",["uv","center","viewport"]]],[13,"angle",[6,"std.atan2",[[7,"delta","y"],[7,"delta","x"]]]],[13,"normalized",[1,[5,"0.5"],"-",[1,"angle","/","TAU"]]],[13,"rotationFraction",[1,"rotation","*","INV_360"]],[10,[1,"normalized","+","rotationFraction"]]]]},externals:{aspectCenteredDelta:()=>ua,"std.atan2":()=>tt,TAU:()=>it,INV_360:()=>z3}})&&e.f)({})),qD=v.fn([l,a,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ua(n,t,i),c=__tsover_mul(r,Le),_=Eo(d,H(c),-Y(c)),u=z(_.x),m=z(_.y),p=X(__tsover_add(u,m),b(u,m),o);return __tsover_div(p,s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"size"},{type:"i",name:"rotation"},{type:"i",name:"roundness"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"delta",[6,"aspectCenteredDelta",["uv","center","viewport"]]],[13,"rotRad",[1,"rotation","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rotated",[6,"geom.rotate2",["delta","cosR",[4,"-","sinR"]]]],[13,"absDx",[6,"std.abs",[[7,"rotated","x"]]]],[13,"absDy",[6,"std.abs",[[7,"rotated","y"]]]],[13,"l1",[1,"absDx","+","absDy"]],[13,"linf",[6,"std.max",["absDx","absDy"]]],[13,"dist",[6,"std.mix",["l1","linf","roundness"]]],[10,[1,"dist","/","size"]]]]},externals:{aspectCenteredDelta:()=>ua,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"geom.rotate2":()=>Eo,"std.abs":()=>z,"std.max":()=>b,"std.mix":()=>X}})&&e.f)({})),XD=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(t,s);return C($(r,0,1),ue(r),s>1.0001)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"repeat"}],body:[0,[[13,"s",[1,"t","*","repeat"]],[10,[6,"std.select",[[6,"std.clamp",["s",[5,"0"],[5,"1"]]],[6,"std.fract",["s"]],[1,"repeat",">",[5,"1.0001"]]]]]]]},externals:{"std.select":()=>C,"std.clamp":()=>$,"std.fract":()=>ue}})&&e.f)({})),HD=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return ue(__tsover_mul(t,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"repeat"}],body:[0,[[10,[6,"std.fract",[[1,"t","*","repeat"]]]]]]},externals:{"std.fract":()=>ue}})&&e.f)({})),jD=v.fn([l,l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,Le),d=bt(s),c=__tsover_add(Dl(ma(t,d),H(i),Y(i)),__tsover_mul(d,.5));return ue(__tsover_add(__tsover_mul(__tsover_mul(c,o),.2),n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"scale"},{type:"i",name:"animTime"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"projectedCoord",[1,[6,"directionalProjection",[[6,"canvasCentredDelta",["uv","aspect"]],[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]],"+",[1,"aspect","*",[5,"0.5"]]]],[10,[6,"std.fract",[[1,[1,[1,"projectedCoord","*","scale"],"*",[5,"0.2"]],"+","animTime"]]]]]]},externals:{DEG_TO_RAD:()=>Le,"geom.aspectOf":()=>bt,directionalProjection:()=>Dl,canvasCentredDelta:()=>ma,"std.cos":()=>H,"std.sin":()=>Y,"std.fract":()=>ue}})&&e.f)({})),KD=v.fn([a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_mul(t,6);return x($(__tsover_sub(z(__tsover_sub(s,3)),1),0,1),$(__tsover_sub(2,z(__tsover_sub(s,2))),0,1),$(__tsover_sub(2,z(__tsover_sub(s,4))),0,1),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[13,"h6",[1,"t","*",[5,"6"]]],[13,"r",[6,"std.clamp",[[1,[6,"std.abs",[[1,"h6","-",[5,"3"]]]],"-",[5,"1"]],[5,"0"],[5,"1"]]]],[13,"g",[6,"std.clamp",[[1,[5,"2"],"-",[6,"std.abs",[[1,"h6","-",[5,"2"]]]]],[5,"0"],[5,"1"]]]],[13,"b",[6,"std.clamp",[[1,[5,"2"],"-",[6,"std.abs",[[1,"h6","-",[5,"4"]]]]],[5,"0"],[5,"1"]]]],[10,[6,"d.vec4f",["r","g","b",[5,"1"]]]]]]},externals:{"std.clamp":()=>$,"std.abs":()=>z,"d.vec4f":()=>x}})&&e.f)({})),ZD=v.fn([a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_mul(t,3);return l(ue(s),q(s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[13,"t3",[1,"t","*",[5,"3"]]],[10,[6,"d.vec2f",[[6,"std.fract",["t3"]],[6,"std.floor",["t3"]]]]]]]},externals:{"d.vec2f":()=>l,"std.fract":()=>ue,"std.floor":()=>q}})&&e.f)({})),QD=v.fn([x,x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return X(X(r,s,De(o,1.5)),t,De(o,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"c01"},{type:"i",name:"c12"},{type:"i",name:"c20"},{type:"i",name:"floorT3"}],body:[0,[[13,"seg1",[6,"std.mix",["c20","c12",[6,"std.step",["floorT3",[5,"1.5"]]]]]],[10,[6,"std.mix",["seg1","c01",[6,"std.step",["floorT3",[5,"0.5"]]]]]]]]},externals:{"std.mix":()=>X,"std.step":()=>De}})&&e.f)({})),G3=v.fn([l,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_div(n.x,n.y),d=__tsover_sub(__tsover_mul(o.x,i),__tsover_mul(t.x,i)),c=__tsover_sub(o.y,__tsover_sub(1,t.y)),_=j(l(d,c)),u=__tsover_sub(tt(c,d),r);return __tsover_add(__tsover_mul(_,s),__tsover_div(u,ao))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"scale"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"dx",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,[7,"center","x"],"*","aspect"]]],[13,"dy",[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]],[13,"l",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[13,"angle",[1,[6,"std.atan2",["dy","dx"]],"-","animTime"]],[10,[1,[1,"l","*","scale"],"+",[1,"angle","/","TWO_PI"]]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.atan2":()=>tt,TWO_PI:()=>ao}})&&e.f)({})),JD=v.fn([l,a,a,a,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_div(c.x,c.y),u=j(l(__tsover_sub(__tsover_mul(d.x,_),__tsover_mul(t.x,_)),__tsover_sub(d.y,__tsover_sub(1,t.y)))),m=G3(t,s,i,d,c),p=ue(m),y=__tsover_mul(z(__tsover_sub(p,.5)),2),h=$(r,__tsover_mul(o,.005),1),g=__tsover_sub(1,__tsover_mul($(o,0,1),u)),w=__tsover_mul(h,g),S=Zt(m),T=__tsover_sub(4,__tsover_mul(__tsover_mul(re(.05,.4,__tsover_mul(r,2)),re(.05,.4,__tsover_mul(__tsover_sub(1,r),2))),3)),A=X(__tsover_mul(T,S),Zt(y),$(S,0,1));return re(__tsover_sub(__tsover_sub(w,A),n),__tsover_add(__tsover_add(w,A),n),y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"scale"},{type:"i",name:"strokeWidth"},{type:"i",name:"strokeFalloff"},{type:"i",name:"softness"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"dx",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,[7,"center","x"],"*","aspect"]]],[13,"dy",[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]],[13,"l",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[13,"offset",[6,"spiralOffset",["center","scale","animTime","uv","viewport"]]],[13,"stripe",[6,"std.fract",["offset"]]],[13,"shape",[1,[6,"std.abs",[[1,"stripe","-",[5,"0.5"]]]],"*",[5,"2"]]],[13,"baseWidth",[6,"std.clamp",["strokeWidth",[1,"strokeFalloff","*",[5,"0.005"]],[5,"1"]]]],[13,"falloffAmount",[1,[5,"1"],"-",[1,[6,"std.clamp",["strokeFalloff",[5,"0"],[5,"1"]]],"*","l"]]],[13,"width",[1,"baseWidth","*","falloffAmount"]],[13,"fw",[6,"std.fwidth",["offset"]]],[13,"fwMult",[1,[5,"4"],"-",[1,[1,[6,"std.smoothstep",[[5,"0.05"],[5,"0.4"],[1,"strokeWidth","*",[5,"2"]]]],"*",[6,"std.smoothstep",[[5,"0.05"],[5,"0.4"],[1,[1,[5,"1"],"-","strokeWidth"],"*",[5,"2"]]]]],"*",[5,"3"]]]],[13,"pixelSize",[6,"std.mix",[[1,"fwMult","*","fw"],[6,"std.fwidth",["shape"]],[6,"std.clamp",["fw",[5,"0"],[5,"1"]]]]]],[10,[6,"std.smoothstep",[[1,[1,"width","-","pixelSize"],"-","softness"],[1,[1,"width","+","pixelSize"],"+","softness"],"shape"]]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,spiralOffset:()=>G3,"std.fract":()=>ue,"std.abs":()=>z,"std.clamp":()=>$,"std.fwidth":()=>Zt,"std.smoothstep":()=>re,"std.mix":()=>X}})&&e.f)({})),Si=v.fn([l,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(t.x,s.x),n=__tsover_sub(t.y,s.y),i=__tsover_add(be(__tsover_add(__tsover_mul(o,o),__tsover_mul(n,n))),.001);return __tsover_div(1,Ce(i,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvAspect"},{type:"i",name:"pos"},{type:"i",name:"effPower"}],body:[0,[[13,"dx",[1,[7,"uvAspect","x"],"-",[7,"pos","x"]]],[13,"dy",[1,[7,"uvAspect","y"],"-",[7,"pos","y"]]],[13,"dist",[1,[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]],"+",[5,"0.001"]]],[10,[1,[5,"1"],"/",[6,"std.pow",["dist","effPower"]]]]]]},externals:{"std.sqrt":()=>be,"std.pow":()=>Ce}})&&e.f)({})),eF=v.fn([l,l,l,l,l,l,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=bt(s),u=l(__tsover_mul(t.x,_),t.y),m=bn(r,_),p=bn(o,_),y=bn(n,_),h=bn(i,_),g=bn(d,_),w=oe(__tsover_div(8,__tsover_add(c,.5)),8),S=Si(u,m,w),T=Si(u,p,w),A=Si(u,y,w),P=Si(u,h,w),U=Si(u,g,w),D=S,O=__tsover_div(T,__tsover_add(D,T)),L=__tsover_add(D,T),G=__tsover_div(A,__tsover_add(L,A)),W=__tsover_add(L,A),K=__tsover_div(P,__tsover_add(W,P)),Q=__tsover_add(W,P);return x(O,G,K,__tsover_div(U,__tsover_add(Q,U)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"vp"},{type:"i",name:"posA"},{type:"i",name:"posB"},{type:"i",name:"posC"},{type:"i",name:"posD"},{type:"i",name:"posE"},{type:"i",name:"smoothness"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["vp"]]],[13,"uvAspect",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"pA",[6,"aspectCentrePosition",["posA","aspect"]]],[13,"pB",[6,"aspectCentrePosition",["posB","aspect"]]],[13,"pC",[6,"aspectCentrePosition",["posC","aspect"]]],[13,"pD",[6,"aspectCentrePosition",["posD","aspect"]]],[13,"pE",[6,"aspectCentrePosition",["posE","aspect"]]],[13,"effPower",[6,"std.min",[[1,[5,"8"],"/",[1,"smoothness","+",[5,"0.5"]]],[5,"8"]]]],[13,"wA",[6,"mpgWeight",["uvAspect","pA","effPower"]]],[13,"wB",[6,"mpgWeight",["uvAspect","pB","effPower"]]],[13,"wC",[6,"mpgWeight",["uvAspect","pC","effPower"]]],[13,"wD",[6,"mpgWeight",["uvAspect","pD","effPower"]]],[13,"wE",[6,"mpgWeight",["uvAspect","pE","effPower"]]],[13,"accW1","wA"],[13,"t1",[1,"wB","/",[1,"accW1","+","wB"]]],[13,"accW2",[1,"accW1","+","wB"]],[13,"t2",[1,"wC","/",[1,"accW2","+","wC"]]],[13,"accW3",[1,"accW2","+","wC"]],[13,"t3",[1,"wD","/",[1,"accW3","+","wD"]]],[13,"accW4",[1,"accW3","+","wD"]],[13,"t4",[1,"wE","/",[1,"accW4","+","wE"]]],[10,[6,"d.vec4f",["t1","t2","t3","t4"]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,aspectCentrePosition:()=>bn,"std.min":()=>oe,mpgWeight:()=>Si,"d.vec4f":()=>x}})&&e.f)({})),tF=v.fn([l,l,l,l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=bt(s),u=l(r.x,__tsover_sub(1,r.y)),m=l(o.x,__tsover_sub(1,o.y)),p=l(__tsover_mul(u.x,_),u.y),y=l(__tsover_mul(m.x,_),m.y),h=t3(l(__tsover_mul(t.x,_),t.y),p,y),g=s3(h.y,h.x,__tsover_mul(n,.25),__tsover_mul(i,.25),d,c),w=g.x,S=g.y;return l(w,S)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"vp"},{type:"i",name:"start"},{type:"i",name:"end"},{type:"i",name:"startThickness"},{type:"i",name:"endThickness"},{type:"i",name:"startSoftness"},{type:"i",name:"endSoftness"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["vp"]]],[13,"startPos",[6,"d.vec2f",[[7,"start","x"],[1,[5,"1"],"-",[7,"start","y"]]]]],[13,"endPos",[6,"d.vec2f",[[7,"end","x"],[1,[5,"1"],"-",[7,"end","y"]]]]],[13,"acStart",[6,"d.vec2f",[[1,[7,"startPos","x"],"*","aspect"],[7,"startPos","y"]]]],[13,"acEnd",[6,"d.vec2f",[[1,[7,"endPos","x"],"*","aspect"],[7,"endPos","y"]]]],[13,"acUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"proj",[6,"lightfields.pointToSegment",["acUV","acStart","acEnd"]]],[13,"field",[6,"lightfields.taperedSegmentGlow",[[7,"proj","y"],[7,"proj","x"],[1,"startThickness","*",[5,"0.25"]],[1,"endThickness","*",[5,"0.25"]],"startSoftness","endSoftness"]]],[13,"colorT",[7,"field","x"]],[13,"alpha",[7,"field","y"]],[10,[6,"d.vec2f",["colorT","alpha"]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,"lightfields.pointToSegment":()=>t3,"lightfields.taperedSegmentGlow":()=>s3}})&&e.f)({})),sF=t7({domain:"unit",contrastMode:"multiplicative",invert:!0,glowGamma:!0,balance:"percentCentred"}),rF=v.fn([l,l,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s);return f(__tsover_mul(t.x,o),t.y,0).mul(ct(__tsover_sub(r,1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"scale"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"base",[6,"d.vec3f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"],[5,"0"]]]],[10,[6,[7,"base","mul"],[[6,"std.exp",[[1,"scale","-",[5,"1"]]]]]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec3f":()=>f,"std.exp":()=>ct}})&&e.f)({})),oF=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_mul(go(t),.5),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"}],body:[0,[[10,[1,[1,[6,"noise.mxNoiseFloat3",["pos"]],"*",[5,"0.5"]],"+",[5,"0.5"]]]]]},externals:{"noise.mxNoiseFloat3":()=>go}})&&e.f)({})),nF=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=r,n=s,i=l(__tsover_add(t.x,__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(t.y,__tsover_mul(n,1.7)),__tsover_mul(o,.8))),.12),__tsover_mul(H(__tsover_sub(__tsover_mul(t.x,__tsover_mul(n,.9)),__tsover_mul(o,.5))),.05))),__tsover_add(t.y,__tsover_add(__tsover_mul(H(__tsover_sub(__tsover_mul(t.x,__tsover_mul(n,1.3)),__tsover_mul(o,.6))),.12),__tsover_mul(Y(__tsover_add(__tsover_mul(t.y,__tsover_mul(n,1.1)),__tsover_mul(o,.7))),.05)))),d=Y(__tsover_add(__tsover_add(__tsover_mul(i.x,__tsover_mul(n,2.1)),__tsover_mul(i.y,__tsover_mul(n,1.8))),__tsover_mul(o,.4))),c=__tsover_mul(s,2.1),_=l(__tsover_add(i.x,__tsover_add(__tsover_mul(H(__tsover_sub(__tsover_mul(i.y,__tsover_mul(c,2.7)),__tsover_mul(o,.45))),.07),__tsover_mul(Y(__tsover_add(__tsover_mul(i.x,__tsover_mul(c,1.9)),__tsover_mul(o,.6))),.04))),__tsover_add(i.y,__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(i.x,__tsover_mul(c,2.3)),__tsover_mul(o,.65))),.07),__tsover_mul(H(__tsover_sub(__tsover_mul(i.y,__tsover_mul(c,1.6)),__tsover_mul(o,.4))),.04)))),u=H(__tsover_add(__tsover_sub(__tsover_mul(_.x,__tsover_mul(c,1.4)),__tsover_mul(_.y,__tsover_mul(c,1.9))),__tsover_mul(o,.35))),m=__tsover_mul(s,3.7),p=l(__tsover_add(_.x,__tsover_add(__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(_.y,__tsover_mul(m,1.8)),__tsover_mul(o,.85))),.04),__tsover_mul(H(__tsover_sub(__tsover_mul(_.x,__tsover_mul(m,1.3)),__tsover_mul(o,.55))),.025)),__tsover_mul(Y(__tsover_add(__tsover_mul(__tsover_add(_.x,_.y),__tsover_mul(m,.7)),__tsover_mul(o,.9))),.02))),__tsover_add(_.y,__tsover_add(__tsover_add(__tsover_mul(H(__tsover_sub(__tsover_mul(_.x,__tsover_mul(m,1.6)),__tsover_mul(o,.75))),.04),__tsover_mul(Y(__tsover_add(__tsover_mul(_.y,__tsover_mul(m,1.1)),__tsover_mul(o,.5))),.025)),__tsover_mul(H(__tsover_sub(__tsover_mul(__tsover_add(_.x,_.y),__tsover_mul(m,.8)),__tsover_mul(o,.95))),.02)))),y=Y(__tsover_sub(__tsover_add(__tsover_mul(p.x,__tsover_mul(m,1.1)),__tsover_mul(p.y,__tsover_mul(m,1.5))),__tsover_mul(o,.55)));return __tsover_add(__tsover_add(__tsover_mul(d,.45),__tsover_mul(u,.35)),__tsover_mul(y,.2))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"detail"},{type:"i",name:"animTime"}],body:[0,[[13,"t","animTime"],[13,"freq1","detail"],[13,"d1",[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[1,[6,"std.sin",[[1,[1,[7,"uv","y"],"*",[1,"freq1","*",[5,"1.7"]]],"+",[1,"t","*",[5,"0.8"]]]]],"*",[5,"0.12"]],"+",[1,[6,"std.cos",[[1,[1,[7,"uv","x"],"*",[1,"freq1","*",[5,"0.9"]]],"-",[1,"t","*",[5,"0.5"]]]]],"*",[5,"0.05"]]]],[1,[7,"uv","y"],"+",[1,[1,[6,"std.cos",[[1,[1,[7,"uv","x"],"*",[1,"freq1","*",[5,"1.3"]]],"-",[1,"t","*",[5,"0.6"]]]]],"*",[5,"0.12"]],"+",[1,[6,"std.sin",[[1,[1,[7,"uv","y"],"*",[1,"freq1","*",[5,"1.1"]]],"+",[1,"t","*",[5,"0.7"]]]]],"*",[5,"0.05"]]]]]]],[13,"pattern1",[6,"std.sin",[[1,[1,[1,[7,"d1","x"],"*",[1,"freq1","*",[5,"2.1"]]],"+",[1,[7,"d1","y"],"*",[1,"freq1","*",[5,"1.8"]]]],"+",[1,"t","*",[5,"0.4"]]]]]],[13,"freq2",[1,"detail","*",[5,"2.1"]]],[13,"d2",[6,"d.vec2f",[[1,[7,"d1","x"],"+",[1,[1,[6,"std.cos",[[1,[1,[7,"d1","y"],"*",[1,"freq2","*",[5,"2.7"]]],"-",[1,"t","*",[5,"0.45"]]]]],"*",[5,"0.07"]],"+",[1,[6,"std.sin",[[1,[1,[7,"d1","x"],"*",[1,"freq2","*",[5,"1.9"]]],"+",[1,"t","*",[5,"0.6"]]]]],"*",[5,"0.04"]]]],[1,[7,"d1","y"],"+",[1,[1,[6,"std.sin",[[1,[1,[7,"d1","x"],"*",[1,"freq2","*",[5,"2.3"]]],"+",[1,"t","*",[5,"0.65"]]]]],"*",[5,"0.07"]],"+",[1,[6,"std.cos",[[1,[1,[7,"d1","y"],"*",[1,"freq2","*",[5,"1.6"]]],"-",[1,"t","*",[5,"0.4"]]]]],"*",[5,"0.04"]]]]]]],[13,"pattern2",[6,"std.cos",[[1,[1,[1,[7,"d2","x"],"*",[1,"freq2","*",[5,"1.4"]]],"-",[1,[7,"d2","y"],"*",[1,"freq2","*",[5,"1.9"]]]],"+",[1,"t","*",[5,"0.35"]]]]]],[13,"freq3",[1,"detail","*",[5,"3.7"]]],[13,"d3",[6,"d.vec2f",[[1,[7,"d2","x"],"+",[1,[1,[1,[6,"std.sin",[[1,[1,[7,"d2","y"],"*",[1,"freq3","*",[5,"1.8"]]],"+",[1,"t","*",[5,"0.85"]]]]],"*",[5,"0.04"]],"+",[1,[6,"std.cos",[[1,[1,[7,"d2","x"],"*",[1,"freq3","*",[5,"1.3"]]],"-",[1,"t","*",[5,"0.55"]]]]],"*",[5,"0.025"]]],"+",[1,[6,"std.sin",[[1,[1,[1,[7,"d2","x"],"+",[7,"d2","y"]],"*",[1,"freq3","*",[5,"0.7"]]],"+",[1,"t","*",[5,"0.9"]]]]],"*",[5,"0.02"]]]],[1,[7,"d2","y"],"+",[1,[1,[1,[6,"std.cos",[[1,[1,[7,"d2","x"],"*",[1,"freq3","*",[5,"1.6"]]],"-",[1,"t","*",[5,"0.75"]]]]],"*",[5,"0.04"]],"+",[1,[6,"std.sin",[[1,[1,[7,"d2","y"],"*",[1,"freq3","*",[5,"1.1"]]],"+",[1,"t","*",[5,"0.5"]]]]],"*",[5,"0.025"]]],"+",[1,[6,"std.cos",[[1,[1,[1,[7,"d2","x"],"+",[7,"d2","y"]],"*",[1,"freq3","*",[5,"0.8"]]],"-",[1,"t","*",[5,"0.95"]]]]],"*",[5,"0.02"]]]]]]],[13,"pattern3",[6,"std.sin",[[1,[1,[1,[7,"d3","x"],"*",[1,"freq3","*",[5,"1.1"]]],"+",[1,[7,"d3","y"],"*",[1,"freq3","*",[5,"1.5"]]]],"-",[1,"t","*",[5,"0.55"]]]]]],[10,[1,[1,[1,"pattern1","*",[5,"0.45"]],"+",[1,"pattern2","*",[5,"0.35"]]],"+",[1,"pattern3","*",[5,"0.2"]]]]]]},externals:{"d.vec2f":()=>l,"std.sin":()=>Y,"std.cos":()=>H}})&&e.f)({})),aF=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return re(r,o,__tsover_add(__tsover_add(__tsover_mul(t,.5),.5),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pattern"},{type:"i",name:"bias"},{type:"i",name:"low"},{type:"i",name:"high"}],body:[0,[[13,"normalized",[1,[1,[1,"pattern","*",[5,"0.5"]],"+",[5,"0.5"]],"+","bias"]],[10,[6,"std.smoothstep",["low","high","normalized"]]]]]},externals:{"std.smoothstep":()=>re}})&&e.f)({})),iF=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return __tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(s,r),__tsover_mul(t,o))),n),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pattern"},{type:"i",name:"animTime"},{type:"i",name:"speed"},{type:"i",name:"span"},{type:"i",name:"depth"}],body:[0,[[10,[1,[1,[6,"std.sin",[[1,[1,"animTime","*","speed"],"+",[1,"pattern","*","span"]]]],"*","depth"],"+",[5,"1"]]]]]},externals:{"std.sin":()=>Y}})&&e.f)({})),Nd=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ot(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"noise.hash12",["p"]]]]]},externals:{"noise.hash12":()=>Ot}})&&e.f)({})),Ym=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=ue(t),o=Nd(s),n=Nd(l(__tsover_add(s.x,1),s.y)),i=Nd(l(s.x,__tsover_add(s.y,1))),d=Nd(l(__tsover_add(s.x,1),__tsover_add(s.y,1))),c=r.mul(r).mul(r.mul(-2).add(3));return X(X(o,n,c.x),X(i,d,c.x),c.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"st"}],body:[0,[[13,"i",[6,"std.floor",["st"]]],[13,"f",[6,"std.fract",["st"]]],[13,"a",[6,"godraysHash",["i"]]],[13,"b",[6,"godraysHash",[[6,"d.vec2f",[[1,[7,"i","x"],"+",[5,"1"]],[7,"i","y"]]]]]],[13,"c",[6,"godraysHash",[[6,"d.vec2f",[[7,"i","x"],[1,[7,"i","y"],"+",[5,"1"]]]]]]],[13,"e",[6,"godraysHash",[[6,"d.vec2f",[[1,[7,"i","x"],"+",[5,"1"]],[1,[7,"i","y"],"+",[5,"1"]]]]]]],[13,"u",[6,[7,[6,[7,"f","mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[4,"-",[5,"2"]]]],"add"],[[5,"3"]]]]]],[13,"x1",[6,"std.mix",["a","b",[7,"u","x"]]]],[13,"x2",[6,"std.mix",["c","e",[7,"u","x"]]]],[10,[6,"std.mix",["x1","x2",[7,"u","y"]]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,godraysHash:()=>Nd,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),Lm=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ce(Ym(l(__tsover_mul(t,n),o)),i);return X(Ce(Ym(l(__tsover_mul(s,n),o)),i),d,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a"},{type:"i",name:"aWrapped"},{type:"i",name:"blend"},{type:"i",name:"r"},{type:"i",name:"freq"},{type:"i",name:"intensity"}],body:[0,[[13,"nLeft",[6,"std.pow",[[6,"godraysValueNoise",[[6,"d.vec2f",[[1,"a","*","freq"],"r"]]]],"intensity"]]],[13,"nRight",[6,"std.pow",[[6,"godraysValueNoise",[[6,"d.vec2f",[[1,"aWrapped","*","freq"],"r"]]]],"intensity"]]],[10,[6,"std.mix",["nRight","nLeft","blend"]]]]]},externals:{"std.pow":()=>Ce,godraysValueNoise:()=>Ym,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),mz=v.fn([l,l,l],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=l(r.x,__tsover_sub(1,r.y)),i=t.sub(n),d=l(__tsover_mul(i.x,o),i.y),c=e3(d);return x(c.x,c.y,c.z,j(d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"center"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"uv","sub"],["centerPos"]]],[13,"shapeUV",[6,"d.vec2f",[[1,[7,"delta","x"],"*","aspect"],[7,"delta","y"]]]],[13,"ang",[6,"lightfields.seamlessAngularField",["shapeUV"]]],[10,[6,"d.vec4f",[[7,"ang","x"],[7,"ang","y"],[7,"ang","z"],[6,"std.length",["shapeUV"]]]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,"lightfields.seamlessAngularField":()=>e3,"d.vec4f":()=>x,"std.length":()=>j}})&&e.f)({})),Im=v.fn([x,a,a,a,a,x,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_sub(__tsover_mul(t.w,i.x),__tsover_mul(s,i.y)),_=__tsover_sub(__tsover_mul(__tsover_mul(t.w,i.z),__tsover_add(1,r)),__tsover_mul(s,i.w)),u=__tsover_mul(n,d.x),m=Lm(t.x,t.y,t.z,c,u,o),p=Lm(t.x,t.y,t.z,_,__tsover_mul(u,d.y),o);return __tsover_mul(m,p)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"frame"},{type:"i",name:"animTime"},{type:"i",name:"spots"},{type:"i",name:"intensityCalc"},{type:"i",name:"dens"},{type:"i",name:"sched"},{type:"i",name:"freqs"}],body:[0,[[13,"rA",[1,[1,[7,"frame","w"],"*",[7,"sched","x"]],"-",[1,"animTime","*",[7,"sched","y"]]]],[13,"rB",[1,[1,[1,[7,"frame","w"],"*",[7,"sched","z"]],"*",[1,[5,"1"],"+","spots"]],"-",[1,"animTime","*",[7,"sched","w"]]]],[13,"f",[1,"dens","*",[7,"freqs","x"]]],[13,"shapeA",[6,"godraysRaysShape",[[7,"frame","x"],[7,"frame","y"],[7,"frame","z"],"rA","f","intensityCalc"]]],[13,"shapeB",[6,"godraysRaysShape",[[7,"frame","x"],[7,"frame","y"],[7,"frame","z"],"rB",[1,"f","*",[7,"freqs","y"]],"intensityCalc"]]],[10,[1,"shapeA","*","shapeB"]]]]},externals:{godraysRaysShape:()=>Lm}})&&e.f)({})),pz=v.fn([x,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,.2),d=__tsover_mul(6.5,z(n)),c=__tsover_sub(4,__tsover_mul(3,$(o,0,1))),_=__tsover_mul(6,r),u=Im(t,i,d,c,_,x(1,3,.5,2),l(5,4)),m=Im(t,i,d,c,_,x(1.4,2.5,.7,1.8),l(4.5,3.5));return $(__tsover_add(u,__tsover_mul(m,.7)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"frame"},{type:"i",name:"animTimeRaw"},{type:"i",name:"density"},{type:"i",name:"intensity"},{type:"i",name:"spotty"}],body:[0,[[13,"animTime",[1,"animTimeRaw","*",[5,"0.2"]]],[13,"spots",[1,[5,"6.5"],"*",[6,"std.abs",["spotty"]]]],[13,"intensityCalc",[1,[5,"4"],"-",[1,[5,"3"],"*",[6,"std.clamp",["intensity",[5,"0"],[5,"1"]]]]]],[13,"dens",[1,[5,"6"],"*","density"]],[13,"layer1",[6,"godraysRayLayer",["frame","animTime","spots","intensityCalc","dens",[6,"d.vec4f",[[5,"1"],[5,"3"],[5,"0.5"],[5,"2"]]],[6,"d.vec2f",[[5,"5"],[5,"4"]]]]]],[13,"layer2",[6,"godraysRayLayer",["frame","animTime","spots","intensityCalc","dens",[6,"d.vec4f",[[5,"1.4"],[5,"2.5"],[5,"0.7"],[5,"1.8"]]],[6,"d.vec2f",[[5,"4.5"],[5,"3.5"]]]]]],[10,[6,"std.clamp",[[1,"layer1","+",[1,"layer2","*",[5,"0.7"]]],[5,"0"],[5,"1"]]]]]]},externals:{"std.abs":()=>z,"std.clamp":()=>$,godraysRayLayer:()=>Im,"d.vec4f":()=>x,"d.vec2f":()=>l}})&&e.f)({})),fz=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r,t.w),n=__tsover_add(o,__tsover_mul(s.w,__tsover_sub(1,o))),i=$(n,.001,1),d=t.xyz.mul(o),c=s.xyz.mul(s.w).mul(__tsover_sub(1,o));return x(d.add(c).div(i),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rayColor"},{type:"i",name:"bgColor"},{type:"i",name:"coverage"}],body:[0,[[13,"rayA",[1,"coverage","*",[7,"rayColor","w"]]],[13,"finalAlpha",[1,"rayA","+",[1,[7,"bgColor","w"],"*",[1,[5,"1"],"-","rayA"]]]],[13,"safeAlpha",[6,"std.clamp",["finalAlpha",[5,"0.001"],[5,"1"]]]],[13,"rayContribution",[6,[7,[7,"rayColor","xyz"],"mul"],["rayA"]]],[13,"bgContribution",[6,[7,[6,[7,[7,"bgColor","xyz"],"mul"],[[7,"bgColor","w"]]],"mul"],[[1,[5,"1"],"-","rayA"]]]],[13,"finalColor",[6,[7,[6,[7,"rayContribution","add"],["bgContribution"]],"div"],["safeAlpha"]]],[10,[6,"d.vec4f",["finalColor","finalAlpha"]]]]]},externals:{"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})),dF=v.fn([a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Br(l(__tsover_mul(t,.9),__tsover_add(__tsover_mul(s,.53),11.7))),n=Br(l(__tsover_add(__tsover_mul(t,2.7),41.3),__tsover_add(__tsover_mul(s,.29),5.1))),i=__tsover_add(__tsover_mul(o,.65),__tsover_mul(n,.35));return x(X(1,__tsover_add(.25,__tsover_mul(1.5,i)),r),Br(l(__tsover_add(__tsover_mul(t,.13),3.1),__tsover_add(__tsover_mul(s,.41),27))),Br(l(__tsover_add(__tsover_mul(t,.09),17.7),__tsover_add(__tsover_mul(s,.61),8.4))),Br(l(__tsover_add(__tsover_mul(t,.17),51.2),__tsover_add(__tsover_mul(s,.23),2.9))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"seed"},{type:"i",name:"flicker"}],body:[0,[[13,"nA",[6,"noise.value12",[[6,"d.vec2f",[[1,"t","*",[5,"0.9"]],[1,[1,"seed","*",[5,"0.53"]],"+",[5,"11.7"]]]]]]],[13,"nB",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,"t","*",[5,"2.7"]],"+",[5,"41.3"]],[1,[1,"seed","*",[5,"0.29"]],"+",[5,"5.1"]]]]]]],[13,"breathe",[1,[1,"nA","*",[5,"0.65"]],"+",[1,"nB","*",[5,"0.35"]]]],[13,"flickerMod",[6,"std.mix",[[5,"1"],[1,[5,"0.25"],"+",[1,[5,"1.5"],"*","breathe"]],"flicker"]]],[13,"evo1",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,"t","*",[5,"0.13"]],"+",[5,"3.1"]],[1,[1,"seed","*",[5,"0.41"]],"+",[5,"27"]]]]]]],[13,"evo2",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,"t","*",[5,"0.09"]],"+",[5,"17.7"]],[1,[1,"seed","*",[5,"0.61"]],"+",[5,"8.4"]]]]]]],[13,"evo3",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,"t","*",[5,"0.17"]],"+",[5,"51.2"]],[1,[1,"seed","*",[5,"0.23"]],"+",[5,"2.9"]]]]]]],[10,[6,"d.vec4f",["flickerMod","evo1","evo2","evo3"]]]]]},externals:{"noise.value12":()=>Br,"d.vec2f":()=>l,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),cF=v.fn([a,a,a,x],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=o.z,i=b(r,.05),d=__tsover_mul(i,__tsover_add(1.5,__tsover_mul(.7,n))),c=__tsover_div(t,i),_=__tsover_div(s,d);return l(Tm(c,_,1.9),__tsover_mul(Tm(c,_,.45),.22))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"u"},{type:"i",name:"v"},{type:"i",name:"spread"},{type:"i",name:"drift"}],body:[0,[[13,"evo2",[7,"drift","z"]],[13,"sp",[6,"std.max",["spread",[5,"0.05"]]]],[13,"elong",[1,"sp","*",[1,[5,"1.5"],"+",[1,[5,"0.7"],"*","evo2"]]]],[13,"du",[1,"u","/","sp"]],[13,"dv",[1,"v","/","elong"]],[13,"main",[6,"lightfields.anisotropicGaussianSpot",["du","dv",[5,"1.9"]]]],[13,"shoulder",[1,[6,"lightfields.anisotropicGaussianSpot",["du","dv",[5,"0.45"]]],"*",[5,"0.22"]]],[10,[6,"d.vec2f",["main","shoulder"]]]]]},externals:{"std.max":()=>b,"lightfields.anisotropicGaussianSpot":()=>Tm,"d.vec2f":()=>l}})&&e.f)({})),_F=v.fn([a,a,a,a,x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=n.y,d=n.z,c=n.w,_=b(r,.05),u=__tsover_mul(_,__tsover_add(1.5,__tsover_mul(.7,d))),m=__tsover_div(s,u),p=ct(__tsover_mul(__tsover_mul(m,m),-.55)),y=__tsover_mul(_,__tsover_add(.42,__tsover_mul(.22,i))),h=b(__tsover_mul(_,__tsover_add(.07,__tsover_mul(.07,c))),.008),g=__tsover_mul(Am(t,y,h),p),w=__tsover_mul(_,__tsover_add(.8,__tsover_mul(.3,i))),S=b(__tsover_mul(_,__tsover_add(.16,__tsover_mul(.12,c))),.015),T=__tsover_mul(__tsover_mul(Am(t,w,S),p),.45);return __tsover_mul(__tsover_add(g,T),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"u"},{type:"i",name:"v"},{type:"i",name:"spread"},{type:"i",name:"streaks"},{type:"i",name:"drift"}],body:[0,[[13,"evo1",[7,"drift","y"]],[13,"evo2",[7,"drift","z"]],[13,"evo3",[7,"drift","w"]],[13,"sp",[6,"std.max",["spread",[5,"0.05"]]]],[13,"elong",[1,"sp","*",[1,[5,"1.5"],"+",[1,[5,"0.7"],"*","evo2"]]]],[13,"dv",[1,"v","/","elong"]],[13,"alongFade",[6,"std.exp",[[1,[1,"dv","*","dv"],"*",[4,"-",[5,"0.55"]]]]]],[13,"s1c",[1,"sp","*",[1,[5,"0.42"],"+",[1,[5,"0.22"],"*","evo1"]]]],[13,"s1w",[6,"std.max",[[1,"sp","*",[1,[5,"0.07"],"+",[1,[5,"0.07"],"*","evo3"]]],[5,"0.008"]]]],[13,"streak1",[1,[6,"lightfields.streakBand",["u","s1c","s1w"]],"*","alongFade"]],[13,"s2c",[1,"sp","*",[1,[5,"0.8"],"+",[1,[5,"0.3"],"*","evo1"]]]],[13,"s2w",[6,"std.max",[[1,"sp","*",[1,[5,"0.16"],"+",[1,[5,"0.12"],"*","evo3"]]],[5,"0.015"]]]],[13,"streak2",[1,[1,[6,"lightfields.streakBand",["u","s2c","s2w"]],"*","alongFade"],"*",[5,"0.45"]]],[10,[1,[1,"streak1","+","streak2"],"*","streaks"]]]]},externals:{"std.max":()=>b,"std.exp":()=>ct,"lightfields.streakBand":()=>Am}})&&e.f)({})),lF=v.fn([a,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return b(__tsover_add(t,__tsover_mul(__tsover_sub(Ot(s.mul(1024).add(l(r,__tsover_mul(r,1.7)))),.5),.012)),0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"heat"},{type:"i",name:"uv"},{type:"i",name:"t"}],body:[0,[[13,"dithered",[1,"heat","+",[1,[1,[6,"noise.hash12",[[6,[7,[6,[7,"uv","mul"],[[5,"1024"]]],"add"],[[6,"d.vec2f",["t",[1,"t","*",[5,"1.7"]]]]]]]],"-",[5,"0.5"]],"*",[5,"0.012"]]]],[10,[6,"std.max",["dithered",[5,"0"]]]]]]},externals:{"noise.hash12":()=>Ot,"d.vec2f":()=>l,"std.max":()=>b}})&&e.f)({})),vz=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(t,s),o=__tsover_mul(ue(__tsover_mul(r,.5)),2);return X(__tsover_sub(1,z(__tsover_sub(o,1))),.5,re(.5,1.5,__tsover_mul(Vl(t,0),s)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"cycles"}],body:[0,[[13,"s",[1,"t","*","cycles"]],[13,"m",[1,[6,"std.fract",[[1,"s","*",[5,"0.5"]]]],"*",[5,"2"]]],[13,"band",[1,[5,"1"],"-",[6,"std.abs",[[1,"m","-",[5,"1"]]]]]],[13,"fp",[1,[6,"footprint1",["t",[5,"0"]]],"*","cycles"]],[10,[6,"std.mix",["band",[5,"0.5"],[6,"std.smoothstep",[[5,"0.5"],[5,"1.5"],"fp"]]]]]]]},externals:{"std.fract":()=>ue,"std.abs":()=>z,footprint1:()=>Vl,"std.mix":()=>X,"std.smoothstep":()=>re}})&&e.f)({}));function p7(e,t){return{guarded:e,with(s){return p7(e.with(s),t)},dispatch(){if(!t)throw new Error("[gpu] KitComputePipeline.dispatch(): no pre-bound size \u2014 pass opts.size to createGuardedCompute or call dispatchThreads(...) directly");e.dispatchThreads(...t)},dispatchThreads(...s){e.dispatchThreads(...s)}}}function qp(e,t,s={}){let r=(globalThis.__TYPEGPU_AUTONAME__??(o=>o))(e.createGuardedComputePipeline(t),"guarded");return s.bindGroup&&(r=r.with(s.bindGroup)),p7(r,s.size)}function f7(e){return{dispatch(t){for(let s of t)typeof s=="function"?s():s.dispatch()}}}function yz(e,t){let s=!1;return{a:e,b:t,orientation:()=>s?1:0,readSource:()=>s?t:e,writeTarget:()=>s?e:t,swap(){s=!s},reset(){s=!1},groups(n){let i=n(e,t),d=n(t,e);return()=>s?d:i},perSide(n){let i=n(e),d=n(t);return{read:()=>s?d:i,written:()=>s?i:d}}}}function Y3(e,t,s){return(globalThis.__TYPEGPU_AUTONAME__??(r=>r))(e.createBuffer(pt(t,s)),"buffer").$usage("storage")}var su=Le;function hz(e,t){let s=Number((t*t).toPrecision(15)),r=e-1,o=Array.from({length:e},(i,d)=>{let c=(d/r-.5)*2;return Math.exp(-.5*c*c/s)}),n=o.reduce((i,d)=>i+d);return o.map(i=>i/n)}var uF=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=b(__tsover_sub(r,s),1e-4);return X(o,n,Ce($(__tsover_div(__tsover_sub(t,s),d),0,1),Ce(2,__tsover_mul(-i,2))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"raw"},{type:"i",name:"inputMin"},{type:"i",name:"inputMax"},{type:"i",name:"outputMin"},{type:"i",name:"outputMax"},{type:"i",name:"curve"}],body:[0,[[13,"inputRange",[6,"std.max",[[1,"inputMax","-","inputMin"],[5,"0.0001"]]]],[13,"normalised",[6,"std.clamp",[[1,[1,"raw","-","inputMin"],"/","inputRange"],[5,"0"],[5,"1"]]]],[13,"exponent",[6,"std.pow",[[5,"2"],[1,[4,"-","curve"],"*",[5,"2"]]]]],[13,"eased",[6,"std.pow",["normalised","exponent"]]],[10,[6,"std.mix",["outputMin","outputMax","eased"]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.pow":()=>Ce,"std.mix":()=>X}})&&e.f)({})).$name("applyRemapWindow");var mF=v.fn([ps(a),R,R,l,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=o.x,c=o.y,_=Z(__tsover_sub(d,1)),u=Z(__tsover_sub(c,1)),m=x(0,0,0,0);for(let S=0;S<4;S++)for(let T=0;T<4;T++){let A=__tsover_div(__tsover_add(a(s),__tsover_div(__tsover_add(a(T),.5),4)),n.x),P=__tsover_div(__tsover_add(a(r),__tsover_div(__tsover_add(a(S),.5),4)),n.y),U=$(Z(__tsover_mul(A,d)),0,_),D=$(Z(__tsover_mul(P,c)),0,u);m=m.add(Be(t,Ge(R(U),R(D)),0))}m=m.mul(.0625);let p=__tsover_add(__tsover_mul(i,.5),1e-4),y=se(m.xyz,f(.2126,.7152,.0722)),h=$(__tsover_add(__tsover_sub(y,i),p),0,__tsover_mul(p,2)),g=__tsover_div(__tsover_mul(h,h),__tsover_mul(p,4)),w=__tsover_div(b(g,__tsover_sub(y,i)),b(y,1e-4));return x(m.xyz.mul(w),__tsover_mul(m.w,w))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"childTexture"},{type:"i",name:"cx"},{type:"i",name:"cy"},{type:"i",name:"inputSize"},{type:"i",name:"computeSize"},{type:"i",name:"threshold"}],body:[0,[[13,"iw",[7,"inputSize","x"]],[13,"ih",[7,"inputSize","y"]],[13,"inputWm1",[6,"d.i32",[[1,"iw","-",[5,"1"]]]]],[13,"inputHm1",[6,"d.i32",[[1,"ih","-",[5,"1"]]]]],[12,"sample",[6,"d.vec4f",[[5,"0"],[5,"0"],[5,"0"],[5,"0"]]]],[14,[12,"ty",[5,"0"]],[1,"ty","<",[5,"4"]],[102,"++","ty"],[0,[[14,[12,"tx",[5,"0"]],[1,"tx","<",[5,"4"]],[102,"++","tx"],[0,[[13,"su",[1,[1,[6,"d.f32",["cx"]],"+",[1,[1,[6,"d.f32",["tx"]],"+",[5,"0.5"]],"/",[5,"4"]]],"/",[7,"computeSize","x"]]],[13,"sv",[1,[1,[6,"d.f32",["cy"]],"+",[1,[1,[6,"d.f32",["ty"]],"+",[5,"0.5"]],"/",[5,"4"]]],"/",[7,"computeSize","y"]]],[13,"sx",[6,"std.clamp",[[6,"d.i32",[[1,"su","*","iw"]]],[5,"0"],"inputWm1"]]],[13,"sy",[6,"std.clamp",[[6,"d.i32",[[1,"sv","*","ih"]]],[5,"0"],"inputHm1"]]],[2,"sample","=",[6,[7,"sample","add"],[[6,"std.textureLoad",["childTexture",[6,"d.vec2u",[[6,"d.u32",["sx"]],[6,"d.u32",["sy"]]]],[5,"0"]]]]]]]]]]]],[2,"sample","=",[6,[7,"sample","mul"],[[5,"0.0625"]]]],[13,"knee",[1,[1,"threshold","*",[5,"0.5"]],"+",[5,"0.0001"]]],[13,"lum",[6,"std.dot",[[7,"sample","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"soft",[6,"std.clamp",[[1,[1,"lum","-","threshold"],"+","knee"],[5,"0"],[1,"knee","*",[5,"2"]]]]],[13,"softCurve",[1,[1,"soft","*","soft"],"/",[1,"knee","*",[5,"4"]]]],[13,"mask",[1,[6,"std.max",["softCurve",[1,"lum","-","threshold"]]],"/",[6,"std.max",["lum",[5,"0.0001"]]]]],[10,[6,"d.vec4f",[[6,[7,[7,"sample","xyz"],"mul"],["mask"]],[1,[7,"sample","w"],"*","mask"]]]]]]},externals:{"d.i32":()=>Z,"d.vec4f":()=>x,"d.f32":()=>a,"std.clamp":()=>$,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"d.u32":()=>R,"std.dot":()=>se,"d.vec3f":()=>f,"std.max":()=>b}})&&e.f)({})).$name("bloomExtractSoftKnee");var pF=v.fn([x,x,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,.1),d=__tsover_mul(o,.1),c=__tsover_mul(n,.1),_=b(b(b(i,d),c),.01),u=__tsover_div(i,_),m=__tsover_div(d,_),p=__tsover_div(c,_);return x(X(t.x,s.x,u),X(t.y,s.y,m),X(t.z,s.z,p),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sharp"},{type:"i",name:"blurred"},{type:"i",name:"redIntensity"},{type:"i",name:"greenIntensity"},{type:"i",name:"blueIntensity"}],body:[0,[[13,"redRadius",[1,"redIntensity","*",[5,"0.1"]]],[13,"greenRadius",[1,"greenIntensity","*",[5,"0.1"]]],[13,"blueRadius",[1,"blueIntensity","*",[5,"0.1"]]],[13,"maxRadius",[6,"std.max",[[6,"std.max",[[6,"std.max",["redRadius","greenRadius"]],"blueRadius"]],[5,"0.01"]]]],[13,"rMix",[1,"redRadius","/","maxRadius"]],[13,"gMix",[1,"greenRadius","/","maxRadius"]],[13,"bMix",[1,"blueRadius","/","maxRadius"]],[13,"finalR",[6,"std.mix",[[7,"sharp","x"],[7,"blurred","x"],"rMix"]]],[13,"finalG",[6,"std.mix",[[7,"sharp","y"],[7,"blurred","y"],"gMix"]]],[13,"finalB",[6,"std.mix",[[7,"sharp","z"],[7,"blurred","z"],"bMix"]]],[10,[6,"d.vec4f",["finalR","finalG","finalB",[7,"sharp","w"]]]]]]},externals:{"std.max":()=>b,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})).$name("channelBlurCompose"),fF=v.fn([a,a,a,a,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(t,su),c=l(__tsover_div(H(d),i),Y(d)),_=l(s,__tsover_sub(1,r));return re(0,o,b(0,se(n.sub(_),c)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angleDeg"},{type:"i",name:"centerX"},{type:"i",name:"centerY"},{type:"i",name:"falloff"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"direction",[6,"d.vec2f",[[1,[6,"std.cos",["angleRad"]],"/","aspect"],[6,"std.sin",["angleRad"]]]]],[13,"centerPos",[6,"d.vec2f",["centerX",[1,[5,"1"],"-","centerY"]]]],[13,"centeredUV",[6,[7,"uv","sub"],["centerPos"]]],[13,"directionalDist",[6,"std.max",[[5,"0"],[6,"std.dot",["centeredUV","direction"]]]]],[10,[6,"std.smoothstep",[[5,"0"],"falloff","directionalDist"]]]]]},externals:{DEG_TO_RAD:()=>su,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y,"std.max":()=>b,"std.dot":()=>se,"std.smoothstep":()=>re}})&&e.f)({})).$name("progressiveBlurAmount");var vF=v.fn([a,l,a,a,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(t,su),c=l(__tsover_mul(Y(d),-1),H(d)),_=l(s.x,__tsover_sub(1,s.y)),u=n.sub(_),m=z(se(l(__tsover_mul(u.x,i),u.y),c)),p=__tsover_mul(r,.5);return re(p,__tsover_add(p,o),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angleDeg"},{type:"i",name:"center"},{type:"i",name:"width"},{type:"i",name:"falloff"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"perpVector",[6,"d.vec2f",[[1,[6,"std.sin",["angleRad"]],"*",[4,"-",[5,"1"]]],[6,"std.cos",["angleRad"]]]]],[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"centeredUV",[6,[7,"uv","sub"],["centerPos"]]],[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"centeredUV","x"],"*","aspect"],[7,"centeredUV","y"]]]],[13,"distFromLine",[6,"std.abs",[[6,"std.dot",["aspectCorrectedUV","perpVector"]]]]],[13,"focusWidth",[1,"width","*",[5,"0.5"]]],[10,[6,"std.smoothstep",["focusWidth",[1,"focusWidth","+","falloff"],"distFromLine"]]]]]},externals:{DEG_TO_RAD:()=>su,"d.vec2f":()=>l,"std.sin":()=>Y,"std.cos":()=>H,"std.abs":()=>z,"std.dot":()=>se,"std.smoothstep":()=>re}})&&e.f)({})).$name("tiltShiftBlurAmount");var yF=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=t.xyz.add(s.xyz.mul(r)),n=$(__tsover_mul(s.w,r),0,1);return x(o,__tsover_add(t.w,__tsover_mul(n,__tsover_sub(1,t.w))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"original"},{type:"i",name:"bloom"},{type:"i",name:"intensity"}],body:[0,[[13,"finalColor",[6,[7,[7,"original","xyz"],"add"],[[6,[7,[7,"bloom","xyz"],"mul"],["intensity"]]]]],[13,"glowAlpha",[6,"std.clamp",[[1,[7,"bloom","w"],"*","intensity"],[5,"0"],[5,"1"]]]],[13,"finalAlpha",[1,[7,"original","w"],"+",[1,"glowAlpha","*",[1,[5,"1"],"-",[7,"original","w"]]]]],[10,[6,"d.vec4f",["finalColor","finalAlpha"]]]]]},externals:{"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})).$name("glowCompose");var hF=Math.PI*(3-Math.sqrt(5)),xF=Math.PI*2;var L3=.35;var gF=Math.SQRT2/4;var bF=v.fn([x,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=se(t.xyz,f(.2126,.7152,.0722)),i=re(s,__tsover_add(s,L3),n);return __tsover_mul(__tsover_add(1,__tsover_mul(__tsover_mul(r,i),i)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"threshold"},{type:"i",name:"gain"},{type:"i",name:"rim"}],body:[0,[[13,"lum",[6,"std.dot",[[7,"base","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"hi",[6,"std.smoothstep",["threshold",[1,"threshold","+","HIGHLIGHT_KNEE"],"lum"]]],[10,[1,[1,[5,"1"],"+",[1,[1,"gain","*","hi"],"*","hi"]],"*","rim"]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.smoothstep":()=>re,HIGHLIGHT_KNEE:()=>L3}})&&e.f)({})).$name("bokehHighlightWeight");var ed=Le,wF=hz(32,.8),TF=v.fn([l,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,ed),d=__tsover_div(o.x,o.y),c=__tsover_div(H(i),d),_=Y(i),u=__tsover_mul(__tsover_div(__tsover_mul(c,r),o.x),2),m=__tsover_mul(__tsover_div(__tsover_mul(_,r),o.y),2);return l(__tsover_add(t.x,__tsover_mul(u,n)),__tsover_add(t.y,__tsover_mul(m,n)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"angleDeg"},{type:"i",name:"intensity"},{type:"i",name:"viewport"},{type:"i",name:"tapT"}],body:[0,[[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"dirX",[1,[6,"std.cos",["angleRad"]],"/","aspect"]],[13,"dirY",[6,"std.sin",["angleRad"]]],[13,"bvX",[1,[1,[1,"dirX","*","intensity"],"/",[7,"viewport","x"]],"*",[5,"2"]]],[13,"bvY",[1,[1,[1,"dirY","*","intensity"],"/",[7,"viewport","y"]],"*",[5,"2"]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,"bvX","*","tapT"]],[1,[7,"uv","y"],"+",[1,"bvY","*","tapT"]]]]]]]},externals:{DEG_TO_RAD:()=>ed,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),SF=v.fn([l,a,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(t.x,__tsover_sub(1,t.y)),d=__tsover_div(__tsover_mul(s,.005),31),c=__tsover_mul(__tsover_sub(n,15.5),d),_=H(c),u=Y(c),m=__tsover_sub(r.x,i.x),p=__tsover_sub(r.y,i.y),y=__tsover_mul(m,o),h=p,g=__tsover_sub(__tsover_mul(y,_),__tsover_mul(h,u)),w=__tsover_add(__tsover_mul(y,u),__tsover_mul(h,_));return l(__tsover_add(__tsover_div(g,o),i.x),__tsover_add(w,i.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"intensity"},{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"tapIndex"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"angleStep",[1,[1,"intensity","*",[5,"0.005"]],"/",[5,"31"]]],[13,"angle",[1,[1,"tapIndex","-",[5,"15.5"]],"*","angleStep"]],[13,"cosA",[6,"std.cos",["angle"]]],[13,"sinA",[6,"std.sin",["angle"]]],[13,"initX",[1,[7,"uv","x"],"-",[7,"centerPos","x"]]],[13,"initY",[1,[7,"uv","y"],"-",[7,"centerPos","y"]]],[13,"acX",[1,"initX","*","aspect"]],[13,"acY","initY"],[13,"rotX",[1,[1,"acX","*","cosA"],"-",[1,"acY","*","sinA"]]],[13,"rotY",[1,[1,"acX","*","sinA"],"+",[1,"acY","*","cosA"]]],[10,[6,"d.vec2f",[[1,[1,"rotX","/","aspect"],"+",[7,"centerPos","x"]],[1,"rotY","+",[7,"centerPos","y"]]]]]]]},externals:{"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),AF=v.fn([l,a,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(t.x,__tsover_sub(1,t.y)),d=__tsover_mul(s,.01),c=__tsover_add(1,__tsover_mul(d,__tsover_div(n,31))),_=__tsover_sub(r.x,i.x),u=__tsover_sub(r.y,i.y),m=__tsover_mul(_,o),p=u,y=__tsover_div(m,c),h=__tsover_div(p,c);return l(__tsover_add(__tsover_div(y,o),i.x),__tsover_add(h,i.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"intensity"},{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"tapIndex"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"radius",[1,"intensity","*",[5,"0.01"]]],[13,"scale",[1,[5,"1"],"+",[1,"radius","*",[1,"tapIndex","/",[5,"31"]]]]],[13,"deltaX",[1,[7,"uv","x"],"-",[7,"centerPos","x"]]],[13,"deltaY",[1,[7,"uv","y"],"-",[7,"centerPos","y"]]],[13,"acdX",[1,"deltaX","*","aspect"]],[13,"acdY","deltaY"],[13,"scaledDeltaX",[1,"acdX","/","scale"]],[13,"scaledDeltaY",[1,"acdY","/","scale"]],[10,[6,"d.vec2f",[[1,[1,"scaledDeltaX","/","aspect"],"+",[7,"centerPos","x"]],[1,"scaledDeltaY","+",[7,"centerPos","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({}));var MF=v.fn([l,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=er(t.mul(1e3)).mul(2).sub(l(1,1)).mul(s).div(r);return t.add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"intensity"},{type:"i",name:"viewport"}],body:[0,[[13,"seed",[6,[7,"uv","mul"],[[5,"1000"]]]],[13,"randVec",[6,"noise.hash22",["seed"]]],[13,"offset",[6,[7,[6,[7,[6,[7,[6,[7,"randVec","mul"],[[5,"2"]]],"sub"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]],"mul"],["intensity"]],"div"],["viewport"]]],[10,[6,[7,"uv","add"],["offset"]]]]]},externals:{"noise.hash22":()=>er,"d.vec2f":()=>l}})&&e.f)({}));var xz=[.056,.135,.278,.487,.726,.923,1,.923,.726,.487,.278,.135,.056],gz=6.214,PF=xz.map(e=>e/gz);var EF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(r,ed),i=__tsover_mul(o,.2),d=__tsover_div(s.x,s.y),c=__tsover_div(__tsover_mul(Y(n),i),d),_=__tsover_mul(__tsover_mul(H(n),-1),i);return l(__tsover_sub(t.x,c),__tsover_sub(t.y,_))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"distance"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"dist",[1,"distance","*",[5,"0.2"]]],[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"ox",[1,[1,[6,"std.sin",["angleRad"]],"*","dist"],"/","aspect"]],[13,"oy",[1,[1,[6,"std.cos",["angleRad"]],"*",[4,"-",[5,"1"]]],"*","dist"]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"-","ox"],[1,[7,"uv","y"],"-","oy"]]]]]]},externals:{DEG_TO_RAD:()=>ed,"std.sin":()=>Y,"std.cos":()=>H,"d.vec2f":()=>l}})&&e.f)({})),kF=v.fn([l,l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return l(__tsover_add(t.x,__tsover_div(__tsover_mul(o,r),s.x)),__tsover_add(t.y,__tsover_div(__tsover_mul(n,r),s.y)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"blurRadius"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[1,"ox","*","blurRadius"],"/",[7,"viewport","x"]]],[1,[7,"uv","y"],"+",[1,[1,"oy","*","blurRadius"],"/",[7,"viewport","y"]]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),$F=v.fn([x,x,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=f(s.x,s.y,s.z),i=__tsover_mul(s.w,r),d=$(__tsover_sub(i,t.w),0,1),c=n.mul(s.w).mul(d),_=n.mul(s.w).mul(r),u=__tsover_sub(1,t.w),m=f(t.x,t.y,t.z).add(_.mul(u)),p=b(__tsover_add(t.w,__tsover_mul(i,u)),t.w),y=o>.5,h=C(m,c,y),g=C(p,d,y);return x(h.x,h.y,h.z,g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"originalColor"},{type:"i",name:"shadowColor"},{type:"i",name:"shadowAlpha"},{type:"i",name:"cutout"}],body:[0,[[13,"shadowRgb",[6,"d.vec3f",[[7,"shadowColor","x"],[7,"shadowColor","y"],[7,"shadowColor","z"]]]],[13,"shadowA",[1,[7,"shadowColor","w"],"*","shadowAlpha"]],[13,"cutoutA",[6,"std.clamp",[[1,"shadowA","-",[7,"originalColor","w"]],[5,"0"],[5,"1"]]]],[13,"cutoutRgb",[6,[7,[6,[7,"shadowRgb","mul"],[[7,"shadowColor","w"]]],"mul"],["cutoutA"]]],[13,"shadowPremulRgb",[6,[7,[6,[7,"shadowRgb","mul"],[[7,"shadowColor","w"]]],"mul"],["shadowAlpha"]]],[13,"oneMinusOrigA",[1,[5,"1"],"-",[7,"originalColor","w"]]],[13,"normalRgb",[6,[7,[6,"d.vec3f",[[7,"originalColor","x"],[7,"originalColor","y"],[7,"originalColor","z"]]],"add"],[[6,[7,"shadowPremulRgb","mul"],["oneMinusOrigA"]]]]],[13,"normalA",[6,"std.max",[[1,[7,"originalColor","w"],"+",[1,"shadowA","*","oneMinusOrigA"]],[7,"originalColor","w"]]]],[13,"useCut",[1,"cutout",">",[5,"0.5"]]],[13,"rgb",[6,"std.select",["normalRgb","cutoutRgb","useCut"]]],[13,"a",[6,"std.select",["normalA","cutoutA","useCut"]]],[10,[6,"d.vec4f",[[7,"rgb","x"],[7,"rgb","y"],[7,"rgb","z"],"a"]]]]]},externals:{"d.vec3f":()=>f,"std.clamp":()=>$,"std.max":()=>b,"std.select":()=>C,"d.vec4f":()=>x}})&&e.f)({}));var UF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return l(__tsover_add(t.x,__tsover_div(r,s.x)),__tsover_add(t.y,__tsover_div(o,s.y)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"dirX"},{type:"i",name:"dirY"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,"dirX","/",[7,"viewport","x"]]],[1,[7,"uv","y"],"+",[1,"dirY","/",[7,"viewport","y"]]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),CF=v.fn([x,x,x,x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_add(1,__tsover_mul(i,4)),c=__tsover_mul(i,-1),_=$(t.xyz.mul(d).add(s.xyz.mul(c)).add(r.xyz.mul(c)).add(o.xyz.mul(c)).add(n.xyz.mul(c)),f(0,0,0),f(1,1,1));return x(_.x,_.y,_.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"top"},{type:"i",name:"bottom"},{type:"i",name:"left"},{type:"i",name:"right"},{type:"i",name:"amount"}],body:[0,[[13,"centerWeight",[1,[5,"1"],"+",[1,"amount","*",[5,"4"]]]],[13,"neighborWeight",[1,"amount","*",[4,"-",[5,"1"]]]],[13,"rgb",[6,[7,[6,[7,[6,[7,[6,[7,[6,[7,[7,"center","xyz"],"mul"],["centerWeight"]],"add"],[[6,[7,[7,"top","xyz"],"mul"],["neighborWeight"]]]],"add"],[[6,[7,[7,"bottom","xyz"],"mul"],["neighborWeight"]]]],"add"],[[6,[7,[7,"left","xyz"],"mul"],["neighborWeight"]]]],"add"],[[6,[7,[7,"right","xyz"],"mul"],["neighborWeight"]]]]],[13,"clamped",[6,"std.clamp",["rgb",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]],[10,[6,"d.vec4f",[[7,"clamped","x"],[7,"clamped","y"],[7,"clamped","z"],[7,"center","w"]]]]]]},externals:{"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({}));var RF=v.fn([l,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=s>1,d=b(C(__tsover_mul(r,s),r,i),1),c=b(C(r,__tsover_div(r,s),i),1),_=l(__tsover_div(q(__tsover_mul(t.x,d)),d),__tsover_div(q(__tsover_mul(t.y,c)),c)),u=l(__tsover_sub(ue(__tsover_mul(t.x,d)),.5),__tsover_sub(ue(__tsover_mul(t.y,c)),.5)),m=__tsover_sub(.5,__tsover_mul(o,.5)),p=__tsover_mul(n,m),y=b(__tsover_add(__tsover_sub(z(u.x),m),p),0),h=b(__tsover_add(__tsover_sub(z(u.y),m),p),0),g=__tsover_sub(j(l(y,h)),p),w=C(a(0),a(1),g<=0);return f(_.x,_.y,w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"scale"},{type:"i",name:"gap"},{type:"i",name:"roundness"}],body:[0,[[13,"isWide",[1,"aspect",">",[5,"1"]]],[13,"pixelCountX",[6,"std.max",[[6,"std.select",[[1,"scale","*","aspect"],"scale","isWide"]],[5,"1"]]]],[13,"pixelCountY",[6,"std.max",[[6,"std.select",["scale",[1,"scale","/","aspect"],"isWide"]],[5,"1"]]]],[13,"sampleUV",[6,"d.vec2f",[[1,[6,"std.floor",[[1,[7,"uv","x"],"*","pixelCountX"]]],"/","pixelCountX"],[1,[6,"std.floor",[[1,[7,"uv","y"],"*","pixelCountY"]]],"/","pixelCountY"]]]],[13,"localUV",[6,"d.vec2f",[[1,[6,"std.fract",[[1,[7,"uv","x"],"*","pixelCountX"]]],"-",[5,"0.5"]],[1,[6,"std.fract",[[1,[7,"uv","y"],"*","pixelCountY"]]],"-",[5,"0.5"]]]]],[13,"halfSize",[1,[5,"0.5"],"-",[1,"gap","*",[5,"0.5"]]]],[13,"cornerRadius",[1,"roundness","*","halfSize"]],[13,"qx",[6,"std.max",[[1,[1,[6,"std.abs",[[7,"localUV","x"]]],"-","halfSize"],"+","cornerRadius"],[5,"0"]]]],[13,"qy",[6,"std.max",[[1,[1,[6,"std.abs",[[7,"localUV","y"]]],"-","halfSize"],"+","cornerRadius"],[5,"0"]]]],[13,"sdf",[1,[6,"std.length",[[6,"d.vec2f",["qx","qy"]]]],"-","cornerRadius"]],[13,"mask",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"sdf","<=",[5,"0"]]]]],[10,[6,"d.vec3f",[[7,"sampleUV","x"],[7,"sampleUV","y"],"mask"]]]]]},externals:{"std.max":()=>b,"std.select":()=>C,"d.vec2f":()=>l,"std.floor":()=>q,"std.fract":()=>ue,"std.abs":()=>z,"std.length":()=>j,"d.f32":()=>a,"d.vec3f":()=>f}})&&e.f)({}));var zF=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=s>1,c=l(C(__tsover_mul(o,s),o,d),C(o,__tsover_div(o,s),d)),_=l(__tsover_mul(t.x,s),t.y),u=__tsover_mul(n,ed),m=H(u),p=Y(u),y=_.sub(l(__tsover_mul(.5,s),.5)),h=l(__tsover_sub(__tsover_mul(y.x,m),__tsover_mul(y.y,p)),__tsover_add(__tsover_mul(y.x,p),__tsover_mul(y.y,m))).add(l(__tsover_mul(.5,s),.5)),g=l(__tsover_div(h.x,s),h.y),w=q(g.mul(c)).div(c),S=g.sub(w),T=l(1,1).div(c),A=S.div(T).sub(l(.5,.5)),P=__tsover_add(__tsover_mul(A.x,A.x),__tsover_mul(A.y,A.y)),U=b(__tsover_sub(1,__tsover_mul(P,__tsover_mul(i,4))),0),D=__tsover_mul(r,.025),O=__tsover_mul(D,U),L=l(__tsover_div(__tsover_mul(A.x,O),s),__tsover_mul(A.y,O));return t.add(L)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"intensity"},{type:"i",name:"baseTileCount"},{type:"i",name:"rotationDegrees"},{type:"i",name:"roundnessAmount"}],body:[0,[[13,"isWide",[1,"aspect",">",[5,"1"]]],[13,"tileCount",[6,"d.vec2f",[[6,"std.select",[[1,"baseTileCount","*","aspect"],"baseTileCount","isWide"]],[6,"std.select",["baseTileCount",[1,"baseTileCount","/","aspect"],"isWide"]]]]],[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"rotationRadians",[1,"rotationDegrees","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["rotationRadians"]]],[13,"sinA",[6,"std.sin",["rotationRadians"]]],[13,"centered",[6,[7,"aspectCorrectedUV","sub"],[[6,"d.vec2f",[[1,[5,"0.5"],"*","aspect"],[5,"0.5"]]]]]],[13,"rotatedX",[1,[1,[7,"centered","x"],"*","cosA"],"-",[1,[7,"centered","y"],"*","sinA"]]],[13,"rotatedY",[1,[1,[7,"centered","x"],"*","sinA"],"+",[1,[7,"centered","y"],"*","cosA"]]],[13,"rotatedUV",[6,[7,[6,"d.vec2f",["rotatedX","rotatedY"]],"add"],[[6,"d.vec2f",[[1,[5,"0.5"],"*","aspect"],[5,"0.5"]]]]]],[13,"gridUV",[6,"d.vec2f",[[1,[7,"rotatedUV","x"],"/","aspect"],[7,"rotatedUV","y"]]]],[13,"cellCoord",[6,[7,[6,"std.floor",[[6,[7,"gridUV","mul"],["tileCount"]]]],"div"],["tileCount"]]],[13,"localUV",[6,[7,"gridUV","sub"],["cellCoord"]]],[13,"oneOverTile",[6,[7,[6,"d.vec2f",[[5,"1"],[5,"1"]]],"div"],["tileCount"]]],[13,"normalizedLocalUV",[6,[7,"localUV","div"],["oneOverTile"]]],[13,"fromCenter",[6,[7,"normalizedLocalUV","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"distFromCenter",[1,[1,[7,"fromCenter","x"],"*",[7,"fromCenter","x"]],"+",[1,[7,"fromCenter","y"],"*",[7,"fromCenter","y"]]]],[13,"roundnessFactor",[1,[5,"1"],"-",[1,"distFromCenter","*",[1,"roundnessAmount","*",[5,"4"]]]]],[13,"clampedRoundness",[6,"std.max",["roundnessFactor",[5,"0"]]]],[13,"distortionFactor",[1,"intensity","*",[5,"0.025"]]],[13,"scaleFactor",[1,"distortionFactor","*","clampedRoundness"]],[13,"distortion",[6,"d.vec2f",[[1,[1,[7,"fromCenter","x"],"*","scaleFactor"],"/","aspect"],[1,[7,"fromCenter","y"],"*","scaleFactor"]]]],[10,[6,[7,"uv","add"],["distortion"]]]]]},externals:{"d.vec2f":()=>l,"std.select":()=>C,DEG_TO_RAD:()=>ed,"std.cos":()=>H,"std.sin":()=>Y,"std.floor":()=>q,"std.max":()=>b}})&&e.f)({}));var GF=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s,.002);return l(__tsover_add(t.x,__tsover_mul(o,r)),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"colorShift"},{type:"i",name:"dir"}],body:[0,[[13,"scaledColorShift",[1,"colorShift","*",[5,"0.002"]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,"scaledColorShift","*","dir"]],[7,"uv","y"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),YF=v.fn([x,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return f(t.x,s.y,r.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"redSample"},{type:"i",name:"greenSample"},{type:"i",name:"blueSample"}],body:[0,[[10,[6,"d.vec3f",[[7,"redSample","x"],[7,"greenSample","y"],[7,"blueSample","z"]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),LF=v.fn([f,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return t.sub(f(.5)).mul(s).add(f(.5)).mul(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"contrast"},{type:"i",name:"brightness"}],body:[0,[[10,[6,[7,[6,[7,[6,[7,[6,[7,"color","sub"],[[6,"d.vec3f",[[5,"0.5"]]]]],"mul"],["contrast"]],"add"],[[6,"d.vec3f",[[5,"0.5"]]]]],"mul"],["brightness"]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),IF=v.fn([f,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,r),i=Y(__tsover_mul(n,__tsover_mul(3.14159,2))),d=__tsover_sub(1,__tsover_mul(o,__tsover_add(__tsover_mul(i,.5),.5)));return t.mul(d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uvY"},{type:"i",name:"scanlineFrequency"},{type:"i",name:"scanlineIntensity"}],body:[0,[[13,"scanlinePosition",[1,"uvY","*","scanlineFrequency"]],[13,"scanlineWave",[6,"std.sin",[[1,"scanlinePosition","*",[1,[5,"3.14159"],"*",[5,"2"]]]]]],[13,"scanlineEffect",[1,[5,"1"],"-",[1,"scanlineIntensity","*",[1,[1,"scanlineWave","*",[5,"0.5"]],"+",[5,"0.5"]]]]],[10,[6,[7,"color","mul"],["scanlineEffect"]]]]]},externals:{"std.sin":()=>Y}})&&e.f)({})),DF=v.fn([f,l,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r,.5),n=ue(s.mul(o)),i=__tsover_add(__tsover_mul(Y(__tsover_mul(n.x,6.28318)),.1),.95),d=__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(n.x,6.28318),2.09)),.1),.95),c=__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(n.x,6.28318),4.18)),.1),.95);return f(__tsover_mul(t.x,i),__tsover_mul(t.y,d),__tsover_mul(t.z,c))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"},{type:"i",name:"pixelSize"}],body:[0,[[13,"phosphorScale",[1,"pixelSize","*",[5,"0.5"]]],[13,"pixelPhase",[6,"std.fract",[[6,[7,"uv","mul"],["phosphorScale"]]]]],[13,"redMask",[1,[1,[6,"std.sin",[[1,[7,"pixelPhase","x"],"*",[5,"6.28318"]]]],"*",[5,"0.1"]],"+",[5,"0.95"]]],[13,"greenMask",[1,[1,[6,"std.sin",[[1,[1,[7,"pixelPhase","x"],"*",[5,"6.28318"]],"+",[5,"2.09"]]]],"*",[5,"0.1"]],"+",[5,"0.95"]]],[13,"blueMask",[1,[1,[6,"std.sin",[[1,[1,[7,"pixelPhase","x"],"*",[5,"6.28318"]],"+",[5,"4.18"]]]],"*",[5,"0.1"]],"+",[5,"0.95"]]],[10,[6,"d.vec3f",[[1,[7,"color","x"],"*","redMask"],[1,[7,"color","y"],"*","greenMask"],[1,[7,"color","z"],"*","blueMask"]]]]]]},externals:{"std.fract":()=>ue,"std.sin":()=>Y,"d.vec3f":()=>f}})&&e.f)({})),FF=v.fn([f,l,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=s.sub(l(.5,.5)),d=j(l(__tsover_mul(i.x,r),i.y)),c=__tsover_sub(1,__tsover_mul(o,.9)),_=__tsover_add(c,.5),u=X(1,__tsover_sub(1,re(c,_,d)),n);return t.mul(u)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"vignetteRadius"},{type:"i",name:"vignetteIntensity"}],body:[0,[[13,"centeredUV",[6,[7,"uv","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"centeredUV","x"],"*","aspect"],[7,"centeredUV","y"]]]],[13,"vignetteDistance",[6,"std.length",["aspectCorrectedUV"]]],[13,"innerEdge",[1,[5,"1"],"-",[1,"vignetteRadius","*",[5,"0.9"]]]],[13,"outerEdge",[1,"innerEdge","+",[5,"0.5"]]],[13,"vignetteValue",[1,[5,"1"],"-",[6,"std.smoothstep",["innerEdge","outerEdge","vignetteDistance"]]]],[13,"vignette",[6,"std.mix",[[5,"1"],"vignetteValue","vignetteIntensity"]]],[10,[6,[7,"color","mul"],["vignette"]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.smoothstep":()=>re,"std.mix":()=>X}})&&e.f)({})),I3=487,qd=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ot(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"noise.hash12",["p"]]]]]},externals:{"noise.hash12":()=>Ot}})&&e.f)({})),En=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=ue(t),o=r.mul(r).mul(l(3,3).sub(r.mul(2))),n=qd(s),i=qd(s.add(l(1,0))),d=qd(s.add(l(0,1))),c=qd(s.add(l(1,1)));return X(X(n,i,o.x),X(d,c,o.x),o.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,"std.fract",["p"]]],[13,"u",[6,[7,[6,[7,"f","mul"],["f"]],"mul"],[[6,[7,[6,"d.vec2f",[[5,"3"],[5,"3"]]],"sub"],[[6,[7,"f","mul"],[[5,"2"]]]]]]]],[13,"a",[6,"hash2D",["i"]]],[13,"b",[6,"hash2D",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"0"]]]]]]]],[13,"c",[6,"hash2D",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]]]],[13,"dd",[6,"hash2D",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]]],[10,[6,"std.mix",[[6,"std.mix",["a","b",[7,"u","x"]]],[6,"std.mix",["c","dd",[7,"u","x"]]],[7,"u","y"]]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,"d.vec2f":()=>l,hash2D:()=>qd,"std.mix":()=>X}})&&e.f)({})),D3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return re(.45,.8,En(l(__tsover_mul(t,.4),0)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[6,"std.smoothstep",[[5,"0.45"],[5,"0.8"],[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"t","*",[5,"0.4"]],[5,"0"]]]]]]]]]]},externals:{"std.smoothstep":()=>re,smoothNoise2D:()=>En,"d.vec2f":()=>l}})&&e.f)({})),F3=v.fn([a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=q(__tsover_mul(t,I3)),i=__tsover_mul(__tsover_sub(Ot(l(n,s)),.5),2),d=__tsover_mul(__tsover_sub(Ot(l(n,__tsover_add(s,69.42))),.5),2),c=__tsover_add(.25,__tsover_mul(o,.75)),_=__tsover_mul(__tsover_mul(__tsover_mul(i,r),.008),c);return l(__tsover_mul(__tsover_mul(__tsover_mul(d,r),.004),c),_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvY"},{type:"i",name:"t"},{type:"i",name:"scanlineNoise"},{type:"i",name:"burst"}],body:[0,[[13,"rowInt",[6,"std.floor",[[1,"uvY","*","FIELD_LINES"]]]],[13,"h0",[1,[1,[6,"noise.hash12",[[6,"d.vec2f",["rowInt","t"]]]],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"h1",[1,[1,[6,"noise.hash12",[[6,"d.vec2f",["rowInt",[1,"t","+",[5,"69.42"]]]]]],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"fineGate",[1,[5,"0.25"],"+",[1,"burst","*",[5,"0.75"]]]],[13,"chromaRowOffset",[1,[1,[1,"h0","*","scanlineNoise"],"*",[5,"0.008"]],"*","fineGate"]],[13,"lumaRowOffset",[1,[1,[1,"h1","*","scanlineNoise"],"*",[5,"0.004"]],"*","fineGate"]],[10,[6,"d.vec2f",["lumaRowOffset","chromaRowOffset"]]]]]},externals:{"std.floor":()=>q,FIELD_LINES:()=>I3,"noise.hash12":()=>Ot,"d.vec2f":()=>l}})&&e.f)({})),B3=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(En(l(__tsover_mul(t,3),__tsover_mul(s,.8))),.5),n=__tsover_sub(En(l(__tsover_mul(t,30),__tsover_mul(s,6))),.5);return __tsover_mul(__tsover_add(__tsover_mul(o,.008),__tsover_mul(n,.002)),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvY"},{type:"i",name:"t"},{type:"i",name:"wobble"}],body:[0,[[13,"wave1",[1,[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"uvY","*",[5,"3"]],[1,"t","*",[5,"0.8"]]]]]],"-",[5,"0.5"]]],[13,"wave2",[1,[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"uvY","*",[5,"30"]],[1,"t","*",[5,"6"]]]]]],"-",[5,"0.5"]]],[10,[1,[1,[1,"wave1","*",[5,"0.008"]],"+",[1,"wave2","*",[5,"0.002"]]],"*","wobble"]]]]},externals:{smoothNoise2D:()=>En,"d.vec2f":()=>l}})&&e.f)({})),W3=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=re(.92,.99,Y(__tsover_sub(__tsover_mul(t,8),__tsover_mul(s,3.77)))),n=re(.3,1,En(l(__tsover_mul(t,4.77),s)));return __tsover_mul(__tsover_mul(__tsover_mul(o,n),r),-.018)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvY"},{type:"i",name:"t"},{type:"i",name:"wobble"}],body:[0,[[13,"creasePhase",[6,"std.smoothstep",[[5,"0.92"],[5,"0.99"],[6,"std.sin",[[1,[1,"uvY","*",[5,"8"]],"-",[1,"t","*",[5,"3.77"]]]]]]]],[13,"creaseNoise",[6,"std.smoothstep",[[5,"0.3"],[5,"1"],[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"uvY","*",[5,"4.77"]],"t"]]]]]]],[10,[1,[1,[1,"creasePhase","*","creaseNoise"],"*","wobble"],"*",[4,"-",[5,"0.018"]]]]]]},externals:{"std.smoothstep":()=>re,"std.sin":()=>Y,smoothNoise2D:()=>En,"d.vec2f":()=>l}})&&e.f)({})),O3=v.fn([a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(1,re(0,.06,t)),i=__tsover_sub(En(l(__tsover_mul(t,60),__tsover_mul(s,14))),.5);return l(__tsover_mul(__tsover_mul(__tsover_mul(n,i),r),.09),__tsover_mul(__tsover_mul(__tsover_mul(n,r),o),.02))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvY"},{type:"i",name:"t"},{type:"i",name:"wobble"},{type:"i",name:"burst"}],body:[0,[[13,"switchPhase",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],[5,"0.06"],"uvY"]]]],[13,"switchNoise",[1,[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"uvY","*",[5,"60"]],[1,"t","*",[5,"14"]]]]]],"-",[5,"0.5"]]],[13,"switchX",[1,[1,[1,"switchPhase","*","switchNoise"],"*","wobble"],"*",[5,"0.09"]]],[13,"switchY",[1,[1,[1,"switchPhase","*","wobble"],"*","burst"],"*",[5,"0.02"]]],[10,[6,"d.vec2f",["switchX","switchY"]]]]]},externals:{"std.smoothstep":()=>re,smoothNoise2D:()=>En,"d.vec2f":()=>l}})&&e.f)({})),BF=v.fn([l,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,r),d=D3(i),c=F3(t.y,i,n,d),_=O3(t.y,i,o,d),u=__tsover_add(__tsover_add(B3(t.y,i,o),W3(t.y,i,o)),_.x),m=__tsover_add(t.y,_.y);return x(__tsover_add(__tsover_add(t.x,u),c.x),m,__tsover_add(__tsover_add(t.x,u),c.y),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"time"},{type:"i",name:"speed"},{type:"i",name:"wobble"},{type:"i",name:"scanlineNoise"}],body:[0,[[13,"t",[1,"time","*","speed"]],[13,"burst",[6,"burstGate",["t"]]],[13,"jitter",[6,"rowJitter",[[7,"uv","y"],"t","scanlineNoise","burst"]]],[13,"sw",[6,"headSwitch",[[7,"uv","y"],"t","wobble","burst"]]],[13,"globalX",[1,[1,[6,"tapeWave",[[7,"uv","y"],"t","wobble"]],"+",[6,"creaseShift",[[7,"uv","y"],"t","wobble"]]],"+",[7,"sw","x"]]],[13,"sy",[1,[7,"uv","y"],"+",[7,"sw","y"]]],[10,[6,"d.vec4f",[[1,[1,[7,"uv","x"],"+","globalX"],"+",[7,"jitter","x"]],"sy",[1,[1,[7,"uv","x"],"+","globalX"],"+",[7,"jitter","y"]],"sy"]]]]]},externals:{burstGate:()=>D3,rowJitter:()=>F3,headSwitch:()=>O3,tapeWave:()=>B3,creaseShift:()=>W3,"d.vec4f":()=>x}})&&e.f)({})),WF=v.fn([l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,r);return __tsover_add(1,__tsover_mul(__tsover_mul(H(__tsover_add(__tsover_mul(bo(n,6.2831853),2),__tsover_mul(t.y,.5))),.015),o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"time"},{type:"i",name:"speed"},{type:"i",name:"wobble"}],body:[0,[[13,"t",[1,"time","*","speed"]],[10,[1,[5,"1"],"+",[1,[1,[6,"std.cos",[[1,[1,[6,"std.mod",["t",[5,"6.2831853"]]],"*",[5,"2"]],"+",[1,[7,"uv","y"],"*",[5,"0.5"]]]]],"*",[5,"0.015"]],"*","wobble"]]]]]},externals:{"std.cos":()=>H,"std.mod":()=>bo}})&&e.f)({})),OF=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_add(t.x,__tsover_mul(__tsover_mul(r,-1),s)),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"chromaUV"},{type:"i",name:"smearScale"},{type:"i",name:"i"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"chromaUV","x"],"+",[1,[1,"i","*",[4,"-",[5,"1"]]],"*","smearScale"]],[7,"chromaUV","y"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),VF=v.fn([x,x,x,x,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=se(t.xyz,f(.299,.587,.114)),c=f(.596,-.274,-.322),_=f(.211,-.523,.312),u=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(se(s.xyz,c),.06666666666666667),__tsover_mul(se(r.xyz,c),.13333333333333333)),__tsover_mul(se(o.xyz,c),.2)),__tsover_mul(se(n.xyz,c),.26666666666666666)),__tsover_mul(se(i.xyz,c),.3333333333333333)),m=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(se(s.xyz,_),.06666666666666667),__tsover_mul(se(r.xyz,_),.13333333333333333)),__tsover_mul(se(o.xyz,_),.2)),__tsover_mul(se(n.xyz,_),.26666666666666666)),__tsover_mul(se(i.xyz,_),.3333333333333333));return f(__tsover_add(__tsover_add(d,__tsover_mul(u,.956)),__tsover_mul(m,.621)),__tsover_sub(__tsover_sub(d,__tsover_mul(u,.272)),__tsover_mul(m,.647)),__tsover_add(__tsover_sub(d,__tsover_mul(u,1.106)),__tsover_mul(m,1.703)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"luma"},{type:"i",name:"c1"},{type:"i",name:"c2"},{type:"i",name:"c3"},{type:"i",name:"c4"},{type:"i",name:"c5"}],body:[0,[[13,"sharpY",[6,"std.dot",[[7,"luma","xyz"],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"iAxis",[6,"d.vec3f",[[5,"0.596"],[4,"-",[5,"0.274"]],[4,"-",[5,"0.322"]]]]],[13,"qAxis",[6,"d.vec3f",[[5,"0.211"],[4,"-",[5,"0.523"]],[5,"0.312"]]]],[13,"accI",[1,[1,[1,[1,[1,[6,"std.dot",[[7,"c1","xyz"],"iAxis"]],"*",[5,"0.06666666666666667"]],"+",[1,[6,"std.dot",[[7,"c2","xyz"],"iAxis"]],"*",[5,"0.13333333333333333"]]],"+",[1,[6,"std.dot",[[7,"c3","xyz"],"iAxis"]],"*",[5,"0.2"]]],"+",[1,[6,"std.dot",[[7,"c4","xyz"],"iAxis"]],"*",[5,"0.26666666666666666"]]],"+",[1,[6,"std.dot",[[7,"c5","xyz"],"iAxis"]],"*",[5,"0.3333333333333333"]]]],[13,"accQ",[1,[1,[1,[1,[1,[6,"std.dot",[[7,"c1","xyz"],"qAxis"]],"*",[5,"0.06666666666666667"]],"+",[1,[6,"std.dot",[[7,"c2","xyz"],"qAxis"]],"*",[5,"0.13333333333333333"]]],"+",[1,[6,"std.dot",[[7,"c3","xyz"],"qAxis"]],"*",[5,"0.2"]]],"+",[1,[6,"std.dot",[[7,"c4","xyz"],"qAxis"]],"*",[5,"0.26666666666666666"]]],"+",[1,[6,"std.dot",[[7,"c5","xyz"],"qAxis"]],"*",[5,"0.3333333333333333"]]]],[10,[6,"d.vec3f",[[1,[1,"sharpY","+",[1,"accI","*",[5,"0.956"]]],"+",[1,"accQ","*",[5,"0.621"]]],[1,[1,"sharpY","-",[1,"accI","*",[5,"0.272"]]],"-",[1,"accQ","*",[5,"0.647"]]],[1,[1,"sharpY","-",[1,"accI","*",[5,"1.106"]]],"+",[1,"accQ","*",[5,"1.703"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),NF=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=$(t.xyz.mul(s),f(0,0,0),f(1,1,1));return x(r.x,r.y,r.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"acBeat"}],body:[0,[[13,"clamped",[6,"std.clamp",[[6,[7,[7,"color","xyz"],"mul"],["acBeat"]],[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]],[10,[6,"d.vec4f",[[7,"clamped","x"],[7,"clamped","y"],[7,"clamped","z"],[7,"color","w"]]]]]]},externals:{"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),sr=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Gs(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"noise.hash11",["p"]]]]]},externals:{"noise.hash11":()=>Gs}})&&e.f)({})),V3=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=sr(t),n=__tsover_mul(__tsover_mul(o,o),o),i=sr(__tsover_add(s,73)),d=__tsover_mul(i,i),c=__tsover_sub(1,r),_=De(c,n),u=De(__tsover_add(c,.15),d);return __tsover_mul($(__tsover_add(__tsover_mul(_,.8),__tsover_mul(u,.4)),0,1),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"slowFrame"},{type:"i",name:"fastFrame"},{type:"i",name:"intensity"}],body:[0,[[13,"slowHash",[6,"hash11",["slowFrame"]]],[13,"slowPulse",[1,[1,"slowHash","*","slowHash"],"*","slowHash"]],[13,"fastHash",[6,"hash11",[[1,"fastFrame","+",[5,"73"]]]]],[13,"fastPulse",[1,"fastHash","*","fastHash"]],[13,"threshold",[1,[5,"1"],"-","intensity"]],[13,"majorBurst",[6,"std.step",["threshold","slowPulse"]]],[13,"minorFlicker",[6,"std.step",[[1,"threshold","+",[5,"0.15"]],"fastPulse"]]],[10,[1,[6,"std.clamp",[[1,[1,"majorBurst","*",[5,"0.8"]],"+",[1,"minorFlicker","*",[5,"0.4"]]],[5,"0"],[5,"1"]]],"*","intensity"]]]]},externals:{hash11:()=>sr,"std.step":()=>De,"std.clamp":()=>$}})&&e.f)({})),Q_=v.fn([a,a,a,a,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_add(__tsover_mul(t,r),__tsover_mul(s,o)),u=sr(_),m=De(__tsover_sub(1,__tsover_mul(c,n)),u);return f(__tsover_mul(__tsover_mul(__tsover_sub(sr(__tsover_add(_,i)),.5),d),m),m,_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"bandY"},{type:"i",name:"frame"},{type:"i",name:"seedScale"},{type:"i",name:"frameScale"},{type:"i",name:"gateFactor"},{type:"i",name:"hashOffset"},{type:"i",name:"amplitude"},{type:"i",name:"glitchStrength"}],body:[0,[[13,"seed",[1,[1,"bandY","*","seedScale"],"+",[1,"frame","*","frameScale"]]],[13,"bandHash",[6,"hash11",["seed"]]],[13,"active",[6,"std.step",[[1,[5,"1"],"-",[1,"glitchStrength","*","gateFactor"]],"bandHash"]]],[13,"displace",[1,[1,[1,[6,"hash11",[[1,"seed","+","hashOffset"]]],"-",[5,"0.5"]],"*","amplitude"],"*","active"]],[10,[6,"d.vec3f",["displace","active","seed"]]]]]},externals:{hash11:()=>sr,"std.step":()=>De,"d.vec3f":()=>f}})&&e.f)({})),N3=v.fn([a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_add(__tsover_add(__tsover_mul(t,.41),__tsover_mul(s,.67)),__tsover_mul(r,2.31)),i=sr(n),d=De(__tsover_sub(1,__tsover_mul(o,.35)),i);return l(__tsover_mul(__tsover_mul(__tsover_sub(sr(__tsover_add(n,77)),.5),.18),d),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colX"},{type:"i",name:"bandY1"},{type:"i",name:"slowFrame"},{type:"i",name:"glitchStrength"}],body:[0,[[13,"blockSeed",[1,[1,[1,"colX","*",[5,"0.41"]],"+",[1,"bandY1","*",[5,"0.67"]]],"+",[1,"slowFrame","*",[5,"2.31"]]]],[13,"blockHash",[6,"hash11",["blockSeed"]]],[13,"blockActive",[6,"std.step",[[1,[5,"1"],"-",[1,"glitchStrength","*",[5,"0.35"]]],"blockHash"]]],[13,"displace",[1,[1,[1,[6,"hash11",[[1,"blockSeed","+",[5,"77"]]]],"-",[5,"0.5"]],"*",[5,"0.18"]],"*","blockActive"]],[10,[6,"d.vec2f",["displace","blockActive"]]]]]},externals:{hash11:()=>sr,"std.step":()=>De,"d.vec2f":()=>l}})&&e.f)({})),q3=v.fn([l,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_add(__tsover_add(__tsover_mul(s,.83),__tsover_mul(r,1.17)),__tsover_mul(o,4.57)),_=sr(c),u=sr(__tsover_add(c,500)),m=__tsover_mul(De(__tsover_sub(1,__tsover_mul(i,d)),_),n),p=__tsover_mul(De(__tsover_sub(1,__tsover_mul(__tsover_mul(i,d),.4)),u),n);return l(X(t.x,__tsover_sub(1,t.x),m),X(t.y,__tsover_sub(1,t.y),p))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"displacedUV"},{type:"i",name:"colX"},{type:"i",name:"bandY1"},{type:"i",name:"slowFrame"},{type:"i",name:"bandActive1"},{type:"i",name:"mirrorChance"},{type:"i",name:"glitchStrength"}],body:[0,[[13,"mirrorSeed",[1,[1,[1,"colX","*",[5,"0.83"]],"+",[1,"bandY1","*",[5,"1.17"]]],"+",[1,"slowFrame","*",[5,"4.57"]]]],[13,"hMirrorHash",[6,"hash11",["mirrorSeed"]]],[13,"vMirrorHash",[6,"hash11",[[1,"mirrorSeed","+",[5,"500"]]]]],[13,"hMirrorActive",[1,[6,"std.step",[[1,[5,"1"],"-",[1,"mirrorChance","*","glitchStrength"]],"hMirrorHash"]],"*","bandActive1"]],[13,"vMirrorActive",[1,[6,"std.step",[[1,[5,"1"],"-",[1,[1,"mirrorChance","*","glitchStrength"],"*",[5,"0.4"]]],"vMirrorHash"]],"*","bandActive1"]],[10,[6,"d.vec2f",[[6,"std.mix",[[7,"displacedUV","x"],[1,[5,"1"],"-",[7,"displacedUV","x"]],"hMirrorActive"]],[6,"std.mix",[[7,"displacedUV","y"],[1,[5,"1"],"-",[7,"displacedUV","y"]],"vMirrorActive"]]]]]]]},externals:{hash11:()=>sr,"std.step":()=>De,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),Dm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({mirroredUV:l,spread:a,strength:a,bandY1:a,slowFrame:a,bandGate:a,blockGate:a,distortion:a}),"GlitchGeom"),qF=v.fn([l,a,a,a,a,a],Dm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(s,o),c=q(__tsover_mul(d,2.5)),_=q(__tsover_mul(d,10)),u=V3(c,_,r),m=q(__tsover_mul(t.y,n)),p=Q_(m,c,.37,7.13,.5,42,.25,u),y=Q_(q(__tsover_mul(t.y,__tsover_mul(n,2))),_,.53,3.37,.7,99,.12,u),h=Q_(q(__tsover_mul(t.y,__tsover_mul(n,4))),_,.71,11.71,.9,173,.05,u),g=q(__tsover_mul(t.x,4)),w=N3(g,m,c,u),S=__tsover_add(__tsover_add(__tsover_add(p.x,y.x),h.x),w.x),T=__tsover_mul(__tsover_mul(p.y,__tsover_sub(sr(__tsover_add(p.z,200)),.5)),.012),A=q3(l($(__tsover_add(t.x,__tsover_mul(S,u)),0,1),$(__tsover_add(t.y,__tsover_mul(T,u)),0,1)),g,m,c,p.y,i,u),P=__tsover_add(u,__tsover_mul(z(S),2)),U=$(__tsover_add(__tsover_add(p.y,y.y),h.y),0,1);return Dm({mirroredUV:A,spread:P,strength:u,bandY1:m,slowFrame:c,bandGate:p.y,blockGate:w.y,distortion:U})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"time"},{type:"i",name:"intensity"},{type:"i",name:"speed"},{type:"i",name:"blockDensity"},{type:"i",name:"mirrorChance"}],body:[0,[[13,"t",[1,"time","*","speed"]],[13,"slowFrame",[6,"std.floor",[[1,"t","*",[5,"2.5"]]]]],[13,"fastFrame",[6,"std.floor",[[1,"t","*",[5,"10"]]]]],[13,"glitchStrength",[6,"burstPulse",["slowFrame","fastFrame","intensity"]]],[13,"bandY1",[6,"std.floor",[[1,[7,"uv","y"],"*","blockDensity"]]]],[13,"band1",[6,"bandJitter",["bandY1","slowFrame",[5,"0.37"],[5,"7.13"],[5,"0.5"],[5,"42"],[5,"0.25"],"glitchStrength"]]],[13,"bandY2",[6,"std.floor",[[1,[7,"uv","y"],"*",[1,"blockDensity","*",[5,"2"]]]]]],[13,"band2",[6,"bandJitter",["bandY2","fastFrame",[5,"0.53"],[5,"3.37"],[5,"0.7"],[5,"99"],[5,"0.12"],"glitchStrength"]]],[13,"bandY3",[6,"std.floor",[[1,[7,"uv","y"],"*",[1,"blockDensity","*",[5,"4"]]]]]],[13,"band3",[6,"bandJitter",["bandY3","fastFrame",[5,"0.71"],[5,"11.71"],[5,"0.9"],[5,"173"],[5,"0.05"],"glitchStrength"]]],[13,"colX",[6,"std.floor",[[1,[7,"uv","x"],"*",[5,"4"]]]]],[13,"block",[6,"blockShift",["colX","bandY1","slowFrame","glitchStrength"]]],[13,"totalDisplaceX",[1,[1,[1,[7,"band1","x"],"+",[7,"band2","x"]],"+",[7,"band3","x"]],"+",[7,"block","x"]]],[13,"vertJitter",[1,[1,[7,"band1","y"],"*",[1,[6,"hash11",[[1,[7,"band1","z"],"+",[5,"200"]]]],"-",[5,"0.5"]]],"*",[5,"0.012"]]],[13,"displacedUV",[6,"d.vec2f",[[6,"std.clamp",[[1,[7,"uv","x"],"+",[1,"totalDisplaceX","*","glitchStrength"]],[5,"0"],[5,"1"]]],[6,"std.clamp",[[1,[7,"uv","y"],"+",[1,"vertJitter","*","glitchStrength"]],[5,"0"],[5,"1"]]]]]],[13,"mirroredUV",[6,"mirrorFlips",["displacedUV","colX","bandY1","slowFrame",[7,"band1","y"],"mirrorChance","glitchStrength"]]],[13,"spread",[1,"glitchStrength","+",[1,[6,"std.abs",["totalDisplaceX"]],"*",[5,"2"]]]],[13,"anyDistortion",[6,"std.clamp",[[1,[1,[7,"band1","y"],"+",[7,"band2","y"]],"+",[7,"band3","y"]],[5,"0"],[5,"1"]]]],[10,[6,"GlitchGeom",[[104,{mirroredUV:"mirroredUV",spread:"spread",strength:"glitchStrength",bandY1:"bandY1",slowFrame:"slowFrame",bandGate:[7,"band1","y"],blockGate:[7,"block","y"],distortion:"anyDistortion"}]]]]]]},externals:{"std.floor":()=>q,burstPulse:()=>V3,bandJitter:()=>Q_,blockShift:()=>N3,hash11:()=>sr,"d.vec2f":()=>l,"std.clamp":()=>$,mirrorFlips:()=>q3,"std.abs":()=>z,GlitchGeom:()=>Dm}})&&e.f)({})),XF=v.fn([l,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(__tsover_mul(s,.003),r),n=$(__tsover_add(t.x,o),0,1),i=$(__tsover_sub(t.x,o),0,1);return x(n,t.y,i,t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"mirroredUV"},{type:"i",name:"rgbShift"},{type:"i",name:"spread"}],body:[0,[[13,"rgbOffset",[1,[1,"rgbShift","*",[5,"0.003"]],"*","spread"]],[13,"redX",[6,"std.clamp",[[1,[7,"mirroredUV","x"],"+","rgbOffset"],[5,"0"],[5,"1"]]]],[13,"blueX",[6,"std.clamp",[[1,[7,"mirroredUV","x"],"-","rgbOffset"],[5,"0"],[5,"1"]]]],[10,[6,"d.vec4f",["redX",[7,"mirroredUV","y"],"blueX",[7,"mirroredUV","y"]]]]]]},externals:{"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})),HF=v.fn([x,l,a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=q(__tsover_mul(s.x,4)),u=__tsover_add(__tsover_add(__tsover_mul(_,.41),__tsover_mul(r,.67)),__tsover_mul(o,2.31)),m=sr(__tsover_add(u,555)),p=sr(__tsover_add(__tsover_add(r,__tsover_mul(o,3.33)),333)),y=ue(__tsover_add(__tsover_mul(s.x,3),__tsover_mul(p,7))),h=q(__tsover_mul(y,7)),g=f(__tsover_add(__tsover_sub(1,De(2,h)),__tsover_mul(De(4,h),__tsover_sub(1,De(6,h)))),__tsover_sub(1,De(4,h)),__tsover_sub(1,De(.5,ue(__tsover_mul(h,.5))))),w=ue(__tsover_add(__tsover_mul(sr(__tsover_add(r,13)),.8),__tsover_mul(o,.07))),S=__tsover_mul(w,6),T=X(f($(__tsover_sub(z(__tsover_sub(S,3)),1),0,1),$(__tsover_sub(2,z(__tsover_sub(S,2))),0,1),$(__tsover_sub(2,z(__tsover_sub(S,4))),0,1)).mul(1.3),g,f(De(.5,m))),A=__tsover_mul(__tsover_mul(__tsover_mul(d,c),n),i),P=X(t.xyz,T.mul(t.w),f(A));return x(P.x,P.y,P.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"},{type:"i",name:"bandY1"},{type:"i",name:"slowFrame"},{type:"i",name:"colorBarMix"},{type:"i",name:"strength"},{type:"i",name:"bandGate"},{type:"i",name:"blockGate"}],body:[0,[[13,"colX",[6,"std.floor",[[1,[7,"uv","x"],"*",[5,"4"]]]]],[13,"blockSeed",[1,[1,[1,"colX","*",[5,"0.41"]],"+",[1,"bandY1","*",[5,"0.67"]]],"+",[1,"slowFrame","*",[5,"2.31"]]]],[13,"fillStyleHash",[6,"hash11",[[1,"blockSeed","+",[5,"555"]]]]],[13,"barOffset",[6,"hash11",[[1,[1,"bandY1","+",[1,"slowFrame","*",[5,"3.33"]]],"+",[5,"333"]]]]],[13,"barX",[6,"std.fract",[[1,[1,[7,"uv","x"],"*",[5,"3"]],"+",[1,"barOffset","*",[5,"7"]]]]]],[13,"barIndex",[6,"std.floor",[[1,"barX","*",[5,"7"]]]]],[13,"barR",[1,[1,[5,"1"],"-",[6,"std.step",[[5,"2"],"barIndex"]]],"+",[1,[6,"std.step",[[5,"4"],"barIndex"]],"*",[1,[5,"1"],"-",[6,"std.step",[[5,"6"],"barIndex"]]]]]],[13,"barG",[1,[5,"1"],"-",[6,"std.step",[[5,"4"],"barIndex"]]]],[13,"barB",[1,[5,"1"],"-",[6,"std.step",[[5,"0.5"],[6,"std.fract",[[1,"barIndex","*",[5,"0.5"]]]]]]]],[13,"smpteColor",[6,"d.vec3f",["barR","barG","barB"]]],[13,"solidHue",[6,"std.fract",[[1,[1,[6,"hash11",[[1,"bandY1","+",[5,"13"]]]],"*",[5,"0.8"]],"+",[1,"slowFrame","*",[5,"0.07"]]]]]],[13,"sh6",[1,"solidHue","*",[5,"6"]]],[13,"solidColor",[6,[7,[6,"d.vec3f",[[6,"std.clamp",[[1,[6,"std.abs",[[1,"sh6","-",[5,"3"]]]],"-",[5,"1"]],[5,"0"],[5,"1"]]],[6,"std.clamp",[[1,[5,"2"],"-",[6,"std.abs",[[1,"sh6","-",[5,"2"]]]]],[5,"0"],[5,"1"]]],[6,"std.clamp",[[1,[5,"2"],"-",[6,"std.abs",[[1,"sh6","-",[5,"4"]]]]],[5,"0"],[5,"1"]]]]],"mul"],[[5,"1.3"]]]],[13,"fillColor",[6,"std.mix",["solidColor","smpteColor",[6,"d.vec3f",[[6,"std.step",[[5,"0.5"],"fillStyleHash"]]]]]]],[13,"colorBarStrength",[1,[1,[1,"bandGate","*","blockGate"],"*","colorBarMix"],"*","strength"]],[13,"withBars",[6,"std.mix",[[7,"color","xyz"],[6,[7,"fillColor","mul"],[[7,"color","w"]]],[6,"d.vec3f",["colorBarStrength"]]]]],[10,[6,"d.vec4f",[[7,"withBars","x"],[7,"withBars","y"],[7,"withBars","z"],[7,"color","w"]]]]]]},externals:{"std.floor":()=>q,hash11:()=>sr,"std.fract":()=>ue,"std.step":()=>De,"d.vec3f":()=>f,"std.clamp":()=>$,"std.abs":()=>z,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),jF=v.fn([x,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,r),d=__tsover_add(__tsover_mul(Y(__tsover_mul(i,3.14159265)),.5),.5),c=__tsover_sub(1,__tsover_mul(__tsover_mul(__tsover_mul(o,d),.3),n)),_=t.xyz.mul(c);return x(_.x,_.y,_.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uvY"},{type:"i",name:"viewportY"},{type:"i",name:"scanlines"},{type:"i",name:"distortion"}],body:[0,[[13,"pixelY",[1,"uvY","*","viewportY"]],[13,"scanlineWave",[1,[1,[6,"std.sin",[[1,"pixelY","*",[5,"3.14159265"]]]],"*",[5,"0.5"]],"+",[5,"0.5"]]],[13,"scanlineEffect",[1,[5,"1"],"-",[1,[1,[1,"scanlines","*","scanlineWave"],"*",[5,"0.3"]],"*","distortion"]]],[13,"shaded",[6,[7,[7,"color","xyz"],"mul"],["scanlineEffect"]]],[10,[6,"d.vec4f",[[7,"shaded","x"],[7,"shaded","y"],[7,"shaded","z"],[7,"color","w"]]]]]]},externals:{"std.sin":()=>Y,"d.vec4f":()=>x}})&&e.f)({})),X3=2/Math.sqrt(3),$i=Math.sqrt(3)/2,KF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=bt(s),i=l(__tsover_mul(t.x,n),__tsover_sub(1,t.y)),d=__tsover_mul(o,Le);return Qi(i,n,H(d),Y(d)).mul(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotationDeg"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"correctedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[1,[5,"1"],"-",[7,"uv","y"]]]]],[13,"rotRad",[1,"rotationDeg","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[10,[6,[7,[6,"rotateAboutCanvasCentre",["correctedUV","aspect","cosR","sinR"]],"mul"],["cells"]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotateAboutCanvasCentre:()=>Qi}})&&e.f)({})),ZF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=bt(s),i=l(__tsover_mul(t.x,n),t.y),d=-__tsover_mul(o,Le);return Qi(i,n,H(d),Y(d)).mul(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotationDeg"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"correctedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"ang",[4,"-",[1,"rotationDeg","*","DEG_TO_RAD"]]],[13,"cosR",[6,"std.cos",["ang"]]],[13,"sinR",[6,"std.sin",["ang"]]],[10,[6,[7,[6,"rotateAboutCanvasCentre",["correctedUV","aspect","cosR","sinR"]],"mul"],["cells"]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotateAboutCanvasCentre:()=>Qi}})&&e.f)({})),QF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=bt(s),i=l(__tsover_mul(t.x,n),t.y),d=__tsover_mul(o,Le);return Qi(i,n,H(d),Y(d)).mul(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotationDeg"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"correctedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"rotRad",[1,"rotationDeg","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[10,[6,[7,[6,"rotateAboutCanvasCentre",["correctedUV","aspect","cosR","sinR"]],"mul"],["cells"]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotateAboutCanvasCentre:()=>Qi}})&&e.f)({})),va=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return Fg(Bl(t),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellId"},{type:"i",name:"variation"}],body:[0,[[10,[6,"variationFactor",[[6,"cellHash",["cellId"]],"variation"]]]]]},externals:{variationFactor:()=>Fg,cellHash:()=>Bl}})&&e.f)({})),ru=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(o,.5);return Nl(t,s,b(__tsover_sub(s,n),0),__tsover_add(__tsover_add(s,r),n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"field"},{type:"i",name:"lineWidth"},{type:"i",name:"pixel"},{type:"i",name:"softness"}],body:[0,[[13,"soft",[1,"softness","*",[5,"0.5"]]],[13,"lo",[6,"std.max",[[1,"lineWidth","-","soft"],[5,"0"]]]],[13,"hi",[1,[1,"lineWidth","+","pixel"],"+","soft"]],[10,[6,"lineMaskFromField",["field","lineWidth","lo","hi"]]]]]},externals:{"std.max":()=>b,lineMaskFromField:()=>Nl}})&&e.f)({})),ou=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return Nl(t,s,__tsover_sub(s,r),__tsover_add(s,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"field"},{type:"i",name:"lineWidth"},{type:"i",name:"aaWidth"}],body:[0,[[10,[6,"lineMaskFromField",["field","lineWidth",[1,"lineWidth","-","aaWidth"],[1,"lineWidth","+","aaWidth"]]]]]]},externals:{lineMaskFromField:()=>Nl}})&&e.f)({})),JF=v.fn([l,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Il(t,s).mul(r);return Og(n,Bg(n,o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"softness"}],body:[0,[[13,"p",[6,[7,[6,"aspectCorrectedUVFlipY",["uv","viewport"]],"mul"],["cells"]]],[10,[6,"quilezCheckerFilter",["p",[6,"footprint2",["p","softness"]]]]]]]},externals:{aspectCorrectedUVFlipY:()=>Il,quilezCheckerFilter:()=>Og,footprint2:()=>Bg}})&&e.f)({})),H3=v.fn([l,l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(r,Le),c=bt(s),_=__tsover_add(Dl(ma(t,c),H(d),Y(d)),__tsover_mul(c,.5));return __tsover_add(__tsover_add(__tsover_mul(_,o),n),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"density"},{type:"i",name:"animTime"},{type:"i",name:"offset"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"rotatedCoord",[1,[6,"directionalProjection",[[6,"canvasCentredDelta",["uv","aspect"]],[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]],"+",[1,"aspect","*",[5,"0.5"]]]],[10,[1,[1,[1,"rotatedCoord","*","density"],"+","animTime"],"+","offset"]]]]},externals:{DEG_TO_RAD:()=>Le,aspectOf:()=>bt,directionalProjection:()=>Dl,canvasCentredDelta:()=>ma,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),eB=v.fn([l,l,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=H3(t,s,r,o,n,i);return Wg(_,Vl(_,c),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"density"},{type:"i",name:"animTime"},{type:"i",name:"offset"},{type:"i",name:"balance"},{type:"i",name:"softness"}],body:[0,[[13,"p",[6,"stripeCoordP",["uv","viewport","angle","density","animTime","offset"]]],[10,[6,"quilezStepFilter",["p",[6,"footprint1",["p","softness"]],"balance"]]]]]},externals:{stripeCoordP:()=>H3,quilezStepFilter:()=>Wg,footprint1:()=>Vl}})&&e.f)({})),tB=v.fn([l,l,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_mul(o,Le),u=H(_),m=Y(_),p=Eo(ma(t,bt(s)),u,-m),y=__tsover_mul(z(__tsover_sub(ue(__tsover_mul(p.y,r)),.5)),2),h=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(p.x,r),__tsover_mul(y,.5)),c),d),g=ue(h),w=Zt(h);return re(__tsover_sub(__tsover_sub(n,i),w),__tsover_add(__tsover_add(n,i),w),g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"count"},{type:"i",name:"angle"},{type:"i",name:"balance"},{type:"i",name:"softness"},{type:"i",name:"offset"},{type:"i",name:"animTime"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"rot",[6,"rotate2",[[6,"canvasCentredDelta",["uv",[6,"aspectOf",["viewport"]]]],"cosA",[4,"-","sinA"]]]],[13,"zigzag",[1,[6,"std.abs",[[1,[6,"std.fract",[[1,[7,"rot","y"],"*","count"]]],"-",[5,"0.5"]]]],"*",[5,"2"]]],[13,"stripeCoord",[1,[1,[1,[1,[7,"rot","x"],"*","count"],"+",[1,"zigzag","*",[5,"0.5"]]],"+","animTime"],"+","offset"]],[13,"pattern",[6,"std.fract",["stripeCoord"]]],[13,"fw",[6,"std.fwidth",["stripeCoord"]]],[10,[6,"std.smoothstep",[[1,[1,"balance","-","softness"],"-","fw"],[1,[1,"balance","+","softness"],"+","fw"],"pattern"]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotate2:()=>Eo,canvasCentredDelta:()=>ma,aspectOf:()=>bt,"std.abs":()=>z,"std.fract":()=>ue,"std.fwidth":()=>Zt,"std.smoothstep":()=>re}})&&e.f)({})),sB=v.fn([l,a,a,a,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_div(c.x,c.y),u=j(l(__tsover_sub(__tsover_mul(d.x,_),__tsover_mul(t.x,_)),__tsover_sub(d.y,__tsover_sub(1,t.y)))),m=Y(__tsover_add(__tsover_sub(__tsover_mul(u,s),i),n)),p=__tsover_sub(__tsover_mul(o,2),1),y=re(__tsover_sub(p,r),__tsover_add(p,r),m);return __tsover_sub(1,y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"frequency"},{type:"i",name:"softness"},{type:"i",name:"thickness"},{type:"i",name:"phase"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"dx",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,[7,"center","x"],"*","aspect"]]],[13,"dy",[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]],[13,"dist",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[13,"waveInput",[1,[1,[1,"dist","*","frequency"],"-","animTime"],"+","phase"]],[13,"baseWave",[6,"std.sin",["waveInput"]]],[13,"thicknessThreshold",[1,[1,"thickness","*",[5,"2"]],"-",[5,"1"]]],[13,"banded",[6,"std.smoothstep",[[1,"thicknessThreshold","-","softness"],[1,"thicknessThreshold","+","softness"],"baseWave"]]],[10,[1,[5,"1"],"-","banded"]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.sin":()=>Y,"std.smoothstep":()=>re}})&&e.f)({})),j3=v.fn([a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return l(ue(__tsover_mul(Y(__tsover_mul(t,127.1)),43758.5453123)),ue(__tsover_mul(Y(__tsover_mul(t,311.7)),38291.3421)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"idx"}],body:[0,[[10,[6,"d.vec2f",[[6,"std.fract",[[1,[6,"std.sin",[[1,"idx","*",[5,"127.1"]]]],"*",[5,"43758.5453123"]]]],[6,"std.fract",[[1,[6,"std.sin",[[1,"idx","*",[5,"311.7"]]]],"*",[5,"38291.3421"]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),K3=v.fn([a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_mul(o,n),_=__tsover_mul(b(__tsover_sub(t,s),0),r),u=$(__tsover_div(_,b(c,1e-4)),0,1),m=__tsover_mul(o,be(b(__tsover_sub(1,__tsover_mul(u,u)),0)));return __tsover_mul(__tsover_sub(1,re(b(__tsover_sub(m,i),0),b(__tsover_add(m,i),.001),d)),re(0,i,m))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"vPeriodic"},{type:"i",name:"trailLen"},{type:"i",name:"density"},{type:"i",name:"hw"},{type:"i",name:"rounding"},{type:"i",name:"fwU"},{type:"i",name:"distFromCenter"}],body:[0,[[13,"maxDepth",[1,"hw","*","rounding"]],[13,"gapDist",[1,[6,"std.max",[[1,"vPeriodic","-","trailLen"],[5,"0"]]],"*","density"]],[13,"tcap",[6,"std.clamp",[[1,"gapDist","/",[6,"std.max",["maxDepth",[5,"0.0001"]]]],[5,"0"],[5,"1"]]]],[13,"capHW",[1,"hw","*",[6,"std.sqrt",[[6,"std.max",[[1,[5,"1"],"-",[1,"tcap","*","tcap"]],[5,"0"]]]]]]],[10,[1,[1,[5,"1"],"-",[6,"std.smoothstep",[[6,"std.max",[[1,"capHW","-","fwU"],[5,"0"]]],[6,"std.max",[[1,"capHW","+","fwU"],[5,"0.001"]]],"distFromCenter"]]],"*",[6,"std.smoothstep",[[5,"0"],"fwU","capHW"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.sqrt":()=>be,"std.smoothstep":()=>re}})&&e.f)({})),Z3=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_sub(__tsover_mul(2,s),1),o=b(__tsover_mul(2,__tsover_sub(1,s)),.001);return $(__tsover_div(__tsover_add(t,r),o),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"withinStreak"},{type:"i",name:"balance"}],body:[0,[[13,"balanceNum",[1,[1,[5,"2"],"*","balance"],"-",[5,"1"]]],[13,"balanceDen",[6,"std.max",[[1,[5,"2"],"*",[1,[5,"1"],"-","balance"]],[5,"0.001"]]]],[10,[6,"std.clamp",[[1,[1,"withinStreak","+","balanceNum"],"/","balanceDen"],[5,"0"],[5,"1"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$}})&&e.f)({})),rB=v.fn([l,l,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=bt(s),p=l(__tsover_mul(t.x,m),t.y).sub(l(__tsover_mul(m,.5),.5)),y=__tsover_mul(r,Le),h=H(y),g=Y(y),w=__tsover_sub(__tsover_mul(p.y,h),__tsover_mul(p.x,g)),S=__tsover_add(__tsover_mul(p.x,h),__tsover_mul(p.y,g)),T=__tsover_mul(w,o),A=q(T),P=ue(T),U=j3(A),D=__tsover_add(1,__tsover_mul(__tsover_mul(__tsover_sub(U.x,.5),n),2)),O=U.y,L=ue(__tsover_mul(u,D)),G=ue(__tsover_sub(__tsover_sub(S,L),O)),W=i,K=$(__tsover_div(G,W),0,1),Q=$(Zt(S),.001,.1),te=$(__tsover_mul(Zt(w),o),.001,.1),ee=__tsover_sub(1,re(__tsover_sub(W,Q),__tsover_add(W,Q),G)),he=__tsover_mul(d,.5),Ee=z(__tsover_sub(P,.5)),Te=__tsover_sub(1,re(__tsover_sub(he,te),__tsover_add(he,te),Ee));return l(b(__tsover_mul(ee,Te),K3(G,W,o,he,c,te,Ee)),Z3(K,_))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"vp"},{type:"i",name:"angle"},{type:"i",name:"density"},{type:"i",name:"speedVariance"},{type:"i",name:"trailLength"},{type:"i",name:"strokeWidth"},{type:"i",name:"rounding"},{type:"i",name:"balance"},{type:"i",name:"animTime"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["vp"]]],[13,"corrUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centeredUV",[6,[7,"corrUV","sub"],[[6,"d.vec2f",[[1,"aspect","*",[5,"0.5"]],[5,"0.5"]]]]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"u",[1,[1,[7,"centeredUV","y"],"*","cosA"],"-",[1,[7,"centeredUV","x"],"*","sinA"]]],[13,"v",[1,[1,[7,"centeredUV","x"],"*","cosA"],"+",[1,[7,"centeredUV","y"],"*","sinA"]]],[13,"colF",[1,"u","*","density"]],[13,"colIdx",[6,"std.floor",["colF"]]],[13,"colLocalU",[6,"std.fract",["colF"]]],[13,"h",[6,"colHash",["colIdx"]]],[13,"speedMod",[1,[5,"1"],"+",[1,[1,[1,[7,"h","x"],"-",[5,"0.5"]],"*","speedVariance"],"*",[5,"2"]]]],[13,"phase",[7,"h","y"]],[13,"animOffset",[6,"std.fract",[[1,"animTime","*","speedMod"]]]],[13,"vPeriodic",[6,"std.fract",[[1,[1,"v","-","animOffset"],"-","phase"]]]],[13,"trailLen","trailLength"],[13,"withinStreak",[6,"std.clamp",[[1,"vPeriodic","/","trailLen"],[5,"0"],[5,"1"]]]],[13,"fwV",[6,"std.clamp",[[6,"std.fwidth",["v"]],[5,"0.001"],[5,"0.1"]]]],[13,"fwU",[6,"std.clamp",[[1,[6,"std.fwidth",["u"]],"*","density"],[5,"0.001"],[5,"0.1"]]]],[13,"streakMask",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"trailLen","-","fwV"],[1,"trailLen","+","fwV"],"vPeriodic"]]]],[13,"hw",[1,"strokeWidth","*",[5,"0.5"]]],[13,"distFromCenter",[6,"std.abs",[[1,"colLocalU","-",[5,"0.5"]]]]],[13,"widthMask",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"hw","-","fwU"],[1,"hw","+","fwU"],"distFromCenter"]]]],[13,"rectMask",[1,"streakMask","*","widthMask"]],[13,"capAlpha",[6,"fallingCapAlpha",["vPeriodic","trailLen","density","hw","rounding","fwU","distFromCenter"]]],[13,"finalMask",[6,"std.max",["rectMask","capAlpha"]]],[10,[6,"d.vec2f",["finalMask",[6,"fallingBalanceRemap",["withinStreak","balance"]]]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.floor":()=>q,"std.fract":()=>ue,colHash:()=>j3,"std.clamp":()=>$,"std.fwidth":()=>Zt,"std.smoothstep":()=>re,"std.abs":()=>z,fallingCapAlpha:()=>K3,"std.max":()=>b,fallingBalanceRemap:()=>Z3}})&&e.f)({})),oB=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return Dg(t,s,r,__tsover_mul(o,Le))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotation"}],body:[0,[[10,[6,"cellCentreUVRotated",["uv","viewport","cells",[1,"rotation","*","DEG_TO_RAD"]]]]]]},externals:{cellCentreUVRotated:()=>Dg,DEG_TO_RAD:()=>Le}})&&e.f)({})),nB=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,.01),i=b(n,1e-4),d=__tsover_mul(i,2),c=__tsover_div(1,d),_=t.add(i),u=Ni(_),m=qi(_),p=__tsover_add(b(b(z(u.x),z(m.x)),1e-5),r),y=__tsover_add(b(b(z(u.y),z(m.y)),1e-5),r),h=bm(_.x,p,c),g=bm(_.y,y,c),w=__tsover_mul(__tsover_sub(1,h),__tsover_sub(1,g));return l(__tsover_mul(__tsover_sub(1,w),De(1e-4,n)),va(q(t),o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"gridUV"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"variation"}],body:[0,[[13,"lineWidth",[1,"thickness","*",[5,"0.01"]]],[13,"safeLine",[6,"std.max",["lineWidth",[5,"0.0001"]]]],[13,"lineFraction",[1,"safeLine","*",[5,"2"]]],[13,"N",[1,[5,"1"],"/","lineFraction"]],[13,"p",[6,[7,"gridUV","add"],["safeLine"]]],[13,"dpx",[6,"std.dpdx",["p"]]],[13,"dpy",[6,"std.dpdy",["p"]]],[13,"wx",[1,[6,"std.max",[[6,"std.max",[[6,"std.abs",[[7,"dpx","x"]]],[6,"std.abs",[[7,"dpy","x"]]]]],[5,"0.00001"]]],"+","softness"]],[13,"wy",[1,[6,"std.max",[[6,"std.max",[[6,"std.abs",[[7,"dpx","y"]]],[6,"std.abs",[[7,"dpy","y"]]]]],[5,"0.00001"]]],"+","softness"]],[13,"iX",[6,"quilezLineFilterAxis",[[7,"p","x"],"wx","N"]]],[13,"iY",[6,"quilezLineFilterAxis",[[7,"p","y"],"wy","N"]]],[13,"gapBoth",[1,[1,[5,"1"],"-","iX"],"*",[1,[5,"1"],"-","iY"]]],[13,"gridMask",[1,[1,[5,"1"],"-","gapBoth"],"*",[6,"std.step",[[5,"0.0001"],"lineWidth"]]]],[13,"variedFactor",[6,"cellVariation",[[6,"std.floor",["gridUV"]],"variation"]]],[10,[6,"d.vec2f",["gridMask","variedFactor"]]]]]},externals:{"std.max":()=>b,"std.dpdx":()=>Ni,"std.dpdy":()=>qi,"std.abs":()=>z,quilezLineFilterAxis:()=>bm,"std.step":()=>De,cellVariation:()=>va,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),aB=v.fn([l,l,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=Il(t,s),m=u.mul(r),p=q(m.y),y=Ol(Wl(p),i),h=__tsover_mul(c,y),g=__tsover_mul(n,Zi(p,2)),w=Ji(l(__tsover_sub(__tsover_sub(m.x,g),h),m.y)),S=j(w.local.sub(.5)),T=j(Zt(u.mul(r))),A=Vg(S,__tsover_mul(o,.5),T),P=ue(__tsover_mul(Y(__tsover_add(__tsover_mul(w.cell.x,12.9898),__tsover_mul(w.cell.y,78.233))),43758.5453)),U=__tsover_add(__tsover_mul(_,2),__tsover_mul(P,it)),D=X(1,__tsover_add(__tsover_mul(Y(U),.5),.5),d);return __tsover_mul(A,D)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"density"},{type:"i",name:"dotSize"},{type:"i",name:"offset"},{type:"i",name:"speedVariance"},{type:"i",name:"twinkle"},{type:"i",name:"animTime"},{type:"i",name:"time"}],body:[0,[[13,"correctedUV",[6,"aspectCorrectedUVFlipY",["uv","viewport"]]],[13,"gridUV",[6,[7,"correctedUV","mul"],["density"]]],[13,"rowIndex",[6,"std.floor",[[7,"gridUV","y"]]]],[13,"speedMod",[6,"rowSpeedMultiplier",[[6,"rowSpeedHash",["rowIndex"]],"speedVariance"]]],[13,"drift",[1,"animTime","*","speedMod"]],[13,"staticStagger",[1,"offset","*",[6,"flooredMod1",["rowIndex",[5,"2"]]]]],[13,"shiftedGrid",[6,"d.vec2f",[[1,[1,[7,"gridUV","x"],"-","staticStagger"],"-","drift"],[7,"gridUV","y"]]]],[13,"tile",[6,"squareTiling",["shiftedGrid"]]],[13,"centerDistance",[6,"std.length",[[6,[7,[7,"tile","local"],"sub"],[[5,"0.5"]]]]]],[13,"pixelSize",[6,"std.length",[[6,"std.fwidth",[[6,[7,"correctedUV","mul"],["density"]]]]]]],[13,"coverage",[6,"discCoverage",["centerDistance",[1,"dotSize","*",[5,"0.5"]],"pixelSize"]]],[13,"dotPhase",[6,"std.fract",[[1,[6,"std.sin",[[1,[1,[7,[7,"tile","cell"],"x"],"*",[5,"12.9898"]],"+",[1,[7,[7,"tile","cell"],"y"],"*",[5,"78.233"]]]]],"*",[5,"43758.5453"]]]]],[13,"twinkleTime",[1,[1,"time","*",[5,"2"]],"+",[1,"dotPhase","*","TAU"]]],[13,"twinkleValue",[1,[1,[6,"std.sin",["twinkleTime"]],"*",[5,"0.5"]],"+",[5,"0.5"]]],[13,"twinkleModifier",[6,"std.mix",[[5,"1"],"twinkleValue","twinkle"]]],[10,[1,"coverage","*","twinkleModifier"]]]]},externals:{aspectCorrectedUVFlipY:()=>Il,"std.floor":()=>q,rowSpeedMultiplier:()=>Ol,rowSpeedHash:()=>Wl,flooredMod1:()=>Zi,"d.vec2f":()=>l,squareTiling:()=>Ji,"std.length":()=>j,"std.fwidth":()=>Zt,discCoverage:()=>Vg,"std.fract":()=>ue,"std.sin":()=>Y,TAU:()=>it,"std.mix":()=>X}})&&e.f)({})),iB=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Fl(t,l(_a,1)),i=va(l(sa(__tsover_mul(n.id.x,X3)),sa(__tsover_mul(n.id.y,2))),o),d=l(z(n.gv.x),z(n.gv.y)),c=b(se(d,l($i,.5)),d.y);return l(ru(__tsover_sub(.5,c),__tsover_mul(s,.01),__tsover_mul(Zt(t.x),.5),r),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"variation"}],body:[0,[[13,"hex",[6,"hexTiling",["scaledUV",[6,"d.vec2f",["SQRT3",[5,"1"]]]]]],[13,"ix",[6,"std.round",[[1,[7,[7,"hex","id"],"x"],"*","INV_SQRT3_2"]]]],[13,"iy",[6,"std.round",[[1,[7,[7,"hex","id"],"y"],"*",[5,"2"]]]]],[13,"variedFactor",[6,"cellVariation",[[6,"d.vec2f",["ix","iy"]],"variation"]]],[13,"pAbs",[6,"d.vec2f",[[6,"std.abs",[[7,[7,"hex","gv"],"x"]]],[6,"std.abs",[[7,[7,"hex","gv"],"y"]]]]]],[13,"hexDist",[6,"std.max",[[6,"std.dot",["pAbs",[6,"d.vec2f",["SQRT3_2",[5,"0.5"]]]]],[7,"pAbs","y"]]]],[13,"edgeDist",[1,[5,"0.5"],"-","hexDist"]],[13,"lineWidth",[1,"thickness","*",[5,"0.01"]]],[13,"pixel",[1,[6,"std.fwidth",[[7,"scaledUV","x"]]],"*",[5,"0.5"]]],[13,"lineMask",[6,"strokeBandFloored",["edgeDist","lineWidth","pixel","softness"]]],[10,[6,"d.vec2f",["lineMask","variedFactor"]]]]]},externals:{hexTiling:()=>Fl,"d.vec2f":()=>l,SQRT3:()=>_a,"std.round":()=>sa,INV_SQRT3_2:()=>X3,cellVariation:()=>va,"std.abs":()=>z,"std.max":()=>b,"std.dot":()=>se,SQRT3_2:()=>$i,"std.fwidth":()=>Zt,strokeBandFloored:()=>ru}})&&e.f)({})),dB=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ig(t),c=Ol(Wl(q(d.y)),n),_=__tsover_mul(i,c),u=l(__tsover_sub(d.x,_),d.y),m=q(u),p=ue(u),y=De(1,__tsover_add(p.x,p.y)),h=va(l(__tsover_add(__tsover_mul(m.x,2),y),m.y),o);return l(ou(oe(oe(oe(p.x,__tsover_sub(1,p.x)),oe(p.y,__tsover_sub(1,p.y))),z(__tsover_sub(__tsover_add(p.x,p.y),1))),__tsover_mul(s,.02),__tsover_add(b(Zt(d.x),Zt(d.y)),__tsover_mul(r,.5))),h)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"variation"},{type:"i",name:"speedVariance"},{type:"i",name:"animTime"}],body:[0,[[13,"ps",[6,"triLattice",["p"]]],[13,"rowIndex",[6,"std.floor",[[7,"ps","y"]]]],[13,"speedMod",[6,"rowSpeedMultiplier",[[6,"rowSpeedHash",["rowIndex"]],"speedVariance"]]],[13,"drift",[1,"animTime","*","speedMod"]],[13,"psShifted",[6,"d.vec2f",[[1,[7,"ps","x"],"-","drift"],[7,"ps","y"]]]],[13,"cell",[6,"std.floor",["psShifted"]]],[13,"f",[6,"std.fract",["psShifted"]]],[13,"upper",[6,"std.step",[[5,"1"],[1,[7,"f","x"],"+",[7,"f","y"]]]]],[13,"triId",[6,"d.vec2f",[[1,[1,[7,"cell","x"],"*",[5,"2"]],"+","upper"],[7,"cell","y"]]]],[13,"variedFactor",[6,"cellVariation",["triId","variation"]]],[13,"dEdge",[6,"std.min",[[6,"std.min",[[6,"std.min",[[7,"f","x"],[1,[5,"1"],"-",[7,"f","x"]]]],[6,"std.min",[[7,"f","y"],[1,[5,"1"],"-",[7,"f","y"]]]]]],[6,"std.abs",[[1,[1,[7,"f","x"],"+",[7,"f","y"]],"-",[5,"1"]]]]]]],[13,"lineWidth",[1,"thickness","*",[5,"0.02"]]],[13,"aaWidth",[1,[6,"std.max",[[6,"std.fwidth",[[7,"ps","x"]]],[6,"std.fwidth",[[7,"ps","y"]]]]],"+",[1,"softness","*",[5,"0.5"]]]],[13,"lineMask",[6,"strokeBandSymmetric",["dEdge","lineWidth","aaWidth"]]],[10,[6,"d.vec2f",["lineMask","variedFactor"]]]]]},externals:{triLattice:()=>Ig,"std.floor":()=>q,rowSpeedMultiplier:()=>Ol,rowSpeedHash:()=>Wl,"d.vec2f":()=>l,"std.fract":()=>ue,"std.step":()=>De,cellVariation:()=>va,"std.min":()=>oe,"std.abs":()=>z,"std.max":()=>b,"std.fwidth":()=>Zt,strokeBandSymmetric:()=>ou}})&&e.f)({})),Q3=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=ma(t,o),i=__tsover_mul(r,Le),d=Eo(n,H(i),-Y(i));return l(__tsover_add(__tsover_div(d.x,o),.5),__tsover_add(d.y,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"rotation"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"centred",[6,"canvasCentredDelta",["uv","aspect"]]],[13,"rotRad",[1,"rotation","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rot",[6,"rotate2",["centred","cosR",[4,"-","sinR"]]]],[10,[6,"d.vec2f",[[1,[1,[7,"rot","x"],"/","aspect"],"+",[5,"0.5"]],[1,[7,"rot","y"],"+",[5,"0.5"]]]]]]]},externals:{aspectOf:()=>bt,canvasCentredDelta:()=>ma,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotate2:()=>Eo,"d.vec2f":()=>l}})&&e.f)({})),J3=v.fn([a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Zi(t,2);return l(__tsover_mul(o,.5),X(__tsover_sub(__tsover_mul(o,2),1),__tsover_mul(__tsover_sub(ue(__tsover_mul(Y(__tsover_add(t,__tsover_mul(s,.137))),43758.5453)),.5),2),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"row"},{type:"i",name:"seed"},{type:"i",name:"speedVariance"}],body:[0,[[13,"rowMod2",[6,"flooredMod1",["row",[5,"2"]]]],[13,"rowOffset",[1,"rowMod2","*",[5,"0.5"]]],[13,"rowDir",[1,[1,"rowMod2","*",[5,"2"]],"-",[5,"1"]]],[13,"rowHash",[1,[1,[6,"std.fract",[[1,[6,"std.sin",[[1,"row","+",[1,"seed","*",[5,"0.137"]]]]],"*",[5,"43758.5453"]]]],"-",[5,"0.5"]],"*",[5,"2"]]],[10,[6,"d.vec2f",["rowOffset",[6,"std.mix",["rowDir","rowHash","speedVariance"]]]]]]]},externals:{flooredMod1:()=>Zi,"std.fract":()=>ue,"std.sin":()=>Y,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),eb=v.fn([l,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Ri(t.x,__tsover_sub(s.x,r.x),__tsover_add(s.x,r.x)),n=Ri(t.y,__tsover_sub(s.y,r.y),__tsover_add(s.y,r.y));return __tsover_mul(o,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellUV"},{type:"i",name:"mortarUV"},{type:"i",name:"aaUV"}],body:[0,[[13,"brickU",[6,"bandMask",[[7,"cellUV","x"],[1,[7,"mortarUV","x"],"-",[7,"aaUV","x"]],[1,[7,"mortarUV","x"],"+",[7,"aaUV","x"]]]]],[13,"brickV",[6,"bandMask",[[7,"cellUV","y"],[1,[7,"mortarUV","y"],"-",[7,"aaUV","y"]],[1,[7,"mortarUV","y"],"+",[7,"aaUV","y"]]]]],[10,[1,"brickU","*","brickV"]]]]},externals:{bandMask:()=>Ri}})&&e.f)({})),cB=v.fn([l,l,a,a,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p)=>{"use gpu";let y=bt(s),h=Q3(t,s,c),g=h.x,w=h.y,S=__tsover_mul(n,.3),T=__tsover_div(__tsover_mul(__tsover_mul(S,y),o),r),A=q(__tsover_mul(w,o)),P=J3(A,m,u),U=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(g,r),P.x),__tsover_mul(p,P.y)),_),D=__tsover_mul(w,o),O=ue(U),L=ue(D),G=__tsover_mul(i,.5),W=__tsover_add(Zt(U),G),K=__tsover_add(Zt(D),G);return l(eb(l(O,L),l(S,T),l(W,K)),va(l(q(U),A),d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cellsX"},{type:"i",name:"cellsY"},{type:"i",name:"mortar"},{type:"i",name:"softness"},{type:"i",name:"variation"},{type:"i",name:"rotation"},{type:"i",name:"offset"},{type:"i",name:"speedVariance"},{type:"i",name:"seed"},{type:"i",name:"animTime"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"frame",[6,"brickFrame",["uv","viewport","rotation"]]],[13,"u",[7,"frame","x"]],[13,"v",[7,"frame","y"]],[13,"mortarU",[1,"mortar","*",[5,"0.3"]]],[13,"mortarV",[1,[1,[1,"mortarU","*","aspect"],"*","cellsY"],"/","cellsX"]],[13,"row",[6,"std.floor",[[1,"v","*","cellsY"]]]],[13,"stagger",[6,"brickRowStagger",["row","seed","speedVariance"]]],[13,"brickArg",[1,[1,[1,[1,"u","*","cellsX"],"+",[7,"stagger","x"]],"+",[1,"animTime","*",[7,"stagger","y"]]],"+","offset"]],[13,"vScaled",[1,"v","*","cellsY"]],[13,"cellU",[6,"std.fract",["brickArg"]]],[13,"cellV",[6,"std.fract",["vScaled"]]],[13,"soft",[1,"softness","*",[5,"0.5"]]],[13,"aaU",[1,[6,"std.fwidth",["brickArg"]],"+","soft"]],[13,"aaV",[1,[6,"std.fwidth",["vScaled"]],"+","soft"]],[13,"brickMask",[6,"brickMortarMask",[[6,"d.vec2f",["cellU","cellV"]],[6,"d.vec2f",["mortarU","mortarV"]],[6,"d.vec2f",["aaU","aaV"]]]]],[13,"brickId",[6,"d.vec2f",[[6,"std.floor",["brickArg"]],"row"]]],[13,"variedFactor",[6,"cellVariation",["brickId","variation"]]],[10,[6,"d.vec2f",["brickMask","variedFactor"]]]]]},externals:{aspectOf:()=>bt,brickFrame:()=>Q3,"std.floor":()=>q,brickRowStagger:()=>J3,"std.fract":()=>ue,"std.fwidth":()=>Zt,brickMortarMask:()=>eb,"d.vec2f":()=>l,cellVariation:()=>va}})&&e.f)({})),tb=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=se(t,l(127.1,311.7));return ue(__tsover_mul(Y(s),43758.5453))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"h",[6,"std.dot",["p",[6,"d.vec2f",[[5,"127.1"],[5,"311.7"]]]]]],[10,[6,"std.fract",[[1,[6,"std.sin",["h"]],"*",[5,"43758.5453"]]]]]]]},externals:{"std.dot":()=>se,"d.vec2f":()=>l,"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),_B=v.fn([l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Ji(t),i=tb(l(__tsover_add(n.cell.x,o),__tsover_add(n.cell.y,o)))>.5,d=C(a(0),a(1),i),c=C(a(1),a(0),i);return ru(oe(z(__tsover_sub(j(l(__tsover_sub(n.local.x,d),n.local.y)),.5)),z(__tsover_sub(j(l(__tsover_sub(n.local.x,c),__tsover_sub(n.local.y,1))),.5))),__tsover_mul(s,.005),__tsover_mul(Zt(t.x),.5),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"seed"}],body:[0,[[13,"tile",[6,"squareTiling",["scaledUV"]]],[13,"h",[6,"truchetHash",[[6,"d.vec2f",[[1,[7,[7,"tile","cell"],"x"],"+","seed"],[1,[7,[7,"tile","cell"],"y"],"+","seed"]]]]]],[13,"flip",[1,"h",">",[5,"0.5"]]],[13,"c1x",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],"flip"]]],[13,"c2x",[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"d.f32",[[5,"0"]]],"flip"]]],[13,"d1",[6,"std.abs",[[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,[7,"tile","local"],"x"],"-","c1x"],[7,[7,"tile","local"],"y"]]]]],"-",[5,"0.5"]]]]],[13,"d2",[6,"std.abs",[[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,[7,"tile","local"],"x"],"-","c2x"],[1,[7,[7,"tile","local"],"y"],"-",[5,"1"]]]]]],"-",[5,"0.5"]]]]],[13,"arcDist",[6,"std.min",["d1","d2"]]],[13,"lineWidth",[1,"thickness","*",[5,"0.005"]]],[13,"pixel",[1,[6,"std.fwidth",[[7,"scaledUV","x"]]],"*",[5,"0.5"]]],[10,[6,"strokeBandFloored",["arcDist","lineWidth","pixel","softness"]]]]]},externals:{squareTiling:()=>Ji,truchetHash:()=>tb,"d.vec2f":()=>l,"std.select":()=>C,"d.f32":()=>a,"std.abs":()=>z,"std.length":()=>j,"std.min":()=>oe,"std.fwidth":()=>Zt,strokeBandFloored:()=>ru}})&&e.f)({})),lB=v.fn([l,a,x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Ji(t),i=__tsover_mul(Zt(t.x),.5),d=Ri(n.local.y,s,__tsover_add(s,i)),c=Ri(n.local.x,s,__tsover_add(s,i)),_=Zi(__tsover_add(n.cell.x,n.cell.y),2),u=__tsover_mul(d,c),m=$(__tsover_sub(d,__tsover_mul(u,_)),0,1),p=$(__tsover_sub(c,__tsover_mul(u,__tsover_sub(1,_))),0,1),y=__tsover_mul(r.w,m),h=__tsover_mul(o.w,p),g=$(__tsover_add(y,h),0,1),w=b(__tsover_add(y,h),.001);return x(__tsover_div(__tsover_add(__tsover_mul(r.x,y),__tsover_mul(o.x,h)),w),__tsover_div(__tsover_add(__tsover_mul(r.y,y),__tsover_mul(o.y,h)),w),__tsover_div(__tsover_add(__tsover_mul(r.z,y),__tsover_mul(o.z,h)),w),g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"gap"},{type:"i",name:"colorA"},{type:"i",name:"colorB"}],body:[0,[[13,"tile",[6,"squareTiling",["scaledUV"]]],[13,"pixel",[1,[6,"std.fwidth",[[7,"scaledUV","x"]]],"*",[5,"0.5"]]],[13,"hBand",[6,"bandMask",[[7,[7,"tile","local"],"y"],"gap",[1,"gap","+","pixel"]]]],[13,"vBand",[6,"bandMask",[[7,[7,"tile","local"],"x"],"gap",[1,"gap","+","pixel"]]]],[13,"isHTopFloat",[6,"flooredMod1",[[1,[7,[7,"tile","cell"],"x"],"+",[7,[7,"tile","cell"],"y"]],[5,"2"]]]],[13,"intersection",[1,"hBand","*","vBand"]],[13,"hVis",[6,"std.clamp",[[1,"hBand","-",[1,"intersection","*","isHTopFloat"]],[5,"0"],[5,"1"]]]],[13,"vVis",[6,"std.clamp",[[1,"vBand","-",[1,"intersection","*",[1,[5,"1"],"-","isHTopFloat"]]],[5,"0"],[5,"1"]]]],[13,"weightA",[1,[7,"colorA","w"],"*","hVis"]],[13,"weightB",[1,[7,"colorB","w"],"*","vVis"]],[13,"totalAlpha",[6,"std.clamp",[[1,"weightA","+","weightB"],[5,"0"],[5,"1"]]]],[13,"safeWeight",[6,"std.max",[[1,"weightA","+","weightB"],[5,"0.001"]]]],[13,"r",[1,[1,[1,[7,"colorA","x"],"*","weightA"],"+",[1,[7,"colorB","x"],"*","weightB"]],"/","safeWeight"]],[13,"g",[1,[1,[1,[7,"colorA","y"],"*","weightA"],"+",[1,[7,"colorB","y"],"*","weightB"]],"/","safeWeight"]],[13,"b",[1,[1,[1,[7,"colorA","z"],"*","weightA"],"+",[1,[7,"colorB","z"],"*","weightB"]],"/","safeWeight"]],[10,[6,"d.vec4f",["r","g","b","totalAlpha"]]]]]},externals:{squareTiling:()=>Ji,"std.fwidth":()=>Zt,bandMask:()=>Ri,flooredMod1:()=>Zi,"std.clamp":()=>$,"std.max":()=>b,"d.vec4f":()=>x}})&&e.f)({})),sb=2/Math.sqrt(3),uB=v.fn([l,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Fl(t,l(1,_a)),n=se(o.gv,l(0,1)),i=se(o.gv,l(-$i,-.5)),d=se(o.gv,l($i,-.5)),c=n>=b(i,d),_=C(C(.74,.5,i>=d),1,c),u=Bl(l(sa(__tsover_mul(o.id.x,2)),sa(__tsover_mul(o.id.y,sb)))),m=b(n,b(i,d)),p=oe(n,oe(i,d)),y=__tsover_sub(__tsover_sub(__tsover_add(__tsover_add(n,i),d),m),p),h=__tsover_sub(m,y),g=l(z(o.gv.x),z(o.gv.y)),w=b(se(g,l(.5,$i)),g.x);return f(u,_,ou(oe(h,__tsover_sub(.5,w)),__tsover_mul(s,.02),__tsover_add(__tsover_mul(Zt(t.x),.5),__tsover_mul(r,.5))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"thickness"},{type:"i",name:"softness"}],body:[0,[[13,"hex",[6,"hexTiling",["scaledUV",[6,"d.vec2f",[[5,"1"],"SQRT3"]]]]],[13,"s0",[6,"std.dot",[[7,"hex","gv"],[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]],[13,"s1",[6,"std.dot",[[7,"hex","gv"],[6,"d.vec2f",[[4,"-","SQRT3_2"],[4,"-",[5,"0.5"]]]]]]],[13,"s2",[6,"std.dot",[[7,"hex","gv"],[6,"d.vec2f",["SQRT3_2",[4,"-",[5,"0.5"]]]]]]],[13,"isTop",[1,"s0",">=",[6,"std.max",["s1","s2"]]]],[13,"isLeft",[1,"s1",">=","s2"]],[13,"tone",[6,"std.select",[[6,"std.select",[[5,"0.74"],[5,"0.5"],"isLeft"]],[5,"1"],"isTop"]]],[13,"ix",[6,"std.round",[[1,[7,[7,"hex","id"],"x"],"*",[5,"2"]]]]],[13,"iy",[6,"std.round",[[1,[7,[7,"hex","id"],"y"],"*","INV_2_SQRT3"]]]],[13,"rand",[6,"cellHash",[[6,"d.vec2f",["ix","iy"]]]]],[13,"mx",[6,"std.max",["s0",[6,"std.max",["s1","s2"]]]]],[13,"mn",[6,"std.min",["s0",[6,"std.min",["s1","s2"]]]]],[13,"midScore",[1,[1,[1,[1,"s0","+","s1"],"+","s2"],"-","mx"],"-","mn"]],[13,"internal",[1,"mx","-","midScore"]],[13,"pAbs",[6,"d.vec2f",[[6,"std.abs",[[7,[7,"hex","gv"],"x"]]],[6,"std.abs",[[7,[7,"hex","gv"],"y"]]]]]],[13,"hexDist",[6,"std.max",[[6,"std.dot",["pAbs",[6,"d.vec2f",[[5,"0.5"],"SQRT3_2"]]]],[7,"pAbs","x"]]]],[13,"rimDist",[1,[5,"0.5"],"-","hexDist"]],[13,"edgeField",[6,"std.min",["internal","rimDist"]]],[13,"lineWidth",[1,"thickness","*",[5,"0.02"]]],[13,"aaWidth",[1,[1,[6,"std.fwidth",[[7,"scaledUV","x"]]],"*",[5,"0.5"]],"+",[1,"softness","*",[5,"0.5"]]]],[13,"wire",[6,"strokeBandSymmetric",["edgeField","lineWidth","aaWidth"]]],[10,[6,"d.vec3f",["rand","tone","wire"]]]]]},externals:{hexTiling:()=>Fl,"d.vec2f":()=>l,SQRT3:()=>_a,"std.dot":()=>se,SQRT3_2:()=>$i,"std.max":()=>b,"std.select":()=>C,"std.round":()=>sa,INV_2_SQRT3:()=>sb,cellHash:()=>Bl,"std.min":()=>oe,"std.abs":()=>z,"std.fwidth":()=>Zt,strokeBandSymmetric:()=>ou,"d.vec3f":()=>f}})&&e.f)({})),Da=.1,mB=v.fn([x,l,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(s.x,r),s.y),d=__tsover_mul(o,Le),c=H(d),_=Y(d),u=ue(l(se(i,l(c,__tsover_mul(_,-1))),se(i,l(_,c))).mul(n)).sub(l(.5,.5)),m=se(f(t.x,t.y,t.z),f(.299,.587,.114)),p=__tsover_add(__tsover_mul(m,.7),.15),y=j(u),h=__tsover_sub(1,re(__tsover_sub(p,Da),__tsover_add(p,Da),y));return x(__tsover_mul(t.x,h),__tsover_mul(t.y,h),__tsover_mul(t.z,h),__tsover_mul(t.w,h))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"childColor"},{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angleDeg"},{type:"i",name:"frequency"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"c",[6,"std.cos",["angleRad"]]],[13,"s",[6,"std.sin",["angleRad"]]],[13,"rotatedUV",[6,"d.vec2f",[[6,"std.dot",["aspectUV",[6,"d.vec2f",["c",[1,"s","*",[4,"-",[5,"1"]]]]]]],[6,"std.dot",["aspectUV",[6,"d.vec2f",["s","c"]]]]]]],[13,"gridUV",[6,[7,[6,"std.fract",[[6,[7,"rotatedUV","mul"],["frequency"]]]],"sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"brightness",[6,"std.dot",[[6,"d.vec3f",[[7,"childColor","x"],[7,"childColor","y"],[7,"childColor","z"]]],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"dotSize",[1,[1,"brightness","*",[5,"0.7"]],"+",[5,"0.15"]]],[13,"dist",[6,"std.length",["gridUV"]]],[13,"dotPattern",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"dotSize","-","SMOOTHNESS"],[1,"dotSize","+","SMOOTHNESS"],"dist"]]]],[10,[6,"d.vec4f",[[1,[7,"childColor","x"],"*","dotPattern"],[1,[7,"childColor","y"],"*","dotPattern"],[1,[7,"childColor","z"],"*","dotPattern"],[1,[7,"childColor","w"],"*","dotPattern"]]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.fract":()=>ue,"d.vec3f":()=>f,"std.length":()=>j,"std.smoothstep":()=>re,SMOOTHNESS:()=>Da,"d.vec4f":()=>x}})&&e.f)({})),pB=v.fn([l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(__tsover_add(s,r),Le);return l(__tsover_add(t.x,__tsover_mul(H(i),o)),__tsover_add(t.y,__tsover_div(__tsover_mul(Y(i),o),n)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"misprintAngleDeg"},{type:"i",name:"plateIndexDeg"},{type:"i",name:"misprint"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,[1,"misprintAngleDeg","+","plateIndexDeg"],"*","DEG_TO_RAD"]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[6,"std.cos",["angleRad"]],"*","misprint"]],[1,[7,"uv","y"],"+",[1,[1,[6,"std.sin",["angleRad"]],"*","misprint"],"/","aspect"]]]]]]]},externals:{DEG_TO_RAD:()=>Le,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),td=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_sub(1,b(b(t.x,t.y),t.z))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.max",[[6,"std.max",[[7,"s","x"],[7,"s","y"]]],[7,"s","z"]]]]]]]},externals:{"std.max":()=>b}})&&e.f)({})),fB=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=td(t),r=b(__tsover_sub(1,s),1e-4);return __tsover_div(__tsover_sub(__tsover_sub(1,t.x),s),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[13,"k",[6,"halftoneChannelK",["s"]]],[13,"invK",[6,"std.max",[[1,[5,"1"],"-","k"],[5,"0.0001"]]]],[10,[1,[1,[1,[5,"1"],"-",[7,"s","x"]],"-","k"],"/","invK"]]]]},externals:{halftoneChannelK:()=>td,"std.max":()=>b}})&&e.f)({})),vB=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=td(t),r=b(__tsover_sub(1,s),1e-4);return __tsover_div(__tsover_sub(__tsover_sub(1,t.y),s),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[13,"k",[6,"halftoneChannelK",["s"]]],[13,"invK",[6,"std.max",[[1,[5,"1"],"-","k"],[5,"0.0001"]]]],[10,[1,[1,[1,[5,"1"],"-",[7,"s","y"]],"-","k"],"/","invK"]]]]},externals:{halftoneChannelK:()=>td,"std.max":()=>b}})&&e.f)({})),yB=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=td(t),r=b(__tsover_sub(1,s),1e-4);return __tsover_div(__tsover_sub(__tsover_sub(1,t.z),s),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[13,"k",[6,"halftoneChannelK",["s"]]],[13,"invK",[6,"std.max",[[1,[5,"1"],"-","k"],[5,"0.0001"]]]],[10,[1,[1,[1,[5,"1"],"-",[7,"s","z"]],"-","k"],"/","invK"]]]]},externals:{halftoneChannelK:()=>td,"std.max":()=>b}})&&e.f)({})),hB=v.fn([l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(t.x,s),t.y),d=__tsover_mul(r,Le),c=H(d),_=Y(d),u=j(ue(l(se(i,l(c,__tsover_mul(_,-1))),se(i,l(_,c))).mul(n)).sub(l(.5,.5))),m=__tsover_sub(__tsover_mul(o,.75),Da);return __tsover_sub(1,re(__tsover_sub(m,Da),__tsover_add(m,Da),u))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angleDeg"},{type:"i",name:"intensity"},{type:"i",name:"frequency"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"c",[6,"std.cos",["angleRad"]]],[13,"s",[6,"std.sin",["angleRad"]]],[13,"rotatedUV",[6,"d.vec2f",[[6,"std.dot",["aspectUV",[6,"d.vec2f",["c",[1,"s","*",[4,"-",[5,"1"]]]]]]],[6,"std.dot",["aspectUV",[6,"d.vec2f",["s","c"]]]]]]],[13,"grid",[6,[7,[6,"std.fract",[[6,[7,"rotatedUV","mul"],["frequency"]]]],"sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"dist",[6,"std.length",["grid"]]],[13,"size",[1,[1,"intensity","*",[5,"0.75"]],"-","SMOOTHNESS"]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"size","-","SMOOTHNESS"],[1,"size","+","SMOOTHNESS"],"dist"]]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.fract":()=>ue,"std.length":()=>j,SMOOTHNESS:()=>Da,"std.smoothstep":()=>re}})&&e.f)({})),xB=v.fn([x,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return X(f(1,1,1),f(t.x,t.y,t.z),f(__tsover_mul(s,t.w)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"inkColor"},{type:"i",name:"inkMask"}],body:[0,[[10,[6,"std.mix",[[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]],[6,"d.vec3f",[[7,"inkColor","x"],[7,"inkColor","y"],[7,"inkColor","z"]]],[6,"d.vec3f",[[1,"inkMask","*",[7,"inkColor","w"]]]]]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f}})&&e.f)({})),gB=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return q(l(__tsover_div(__tsover_mul(t.x,s.x),r),__tsover_div(__tsover_mul(t.y,s.y),r)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"gridRes"},{type:"i",name:"pixelSize"}],body:[0,[[10,[6,"std.floor",[[6,"d.vec2f",[[1,[1,[7,"uv","x"],"*",[7,"gridRes","x"]],"/","pixelSize"],[1,[1,[7,"uv","y"],"*",[7,"gridRes","y"]],"/","pixelSize"]]]]]]]]},externals:{"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),bB=v.fn([l,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_div(__tsover_mul(__tsover_add(t.x,.5),s),r.x),__tsover_div(__tsover_mul(__tsover_add(t.y,.5),s),r.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"},{type:"i",name:"pixelSize"},{type:"i",name:"gridRes"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[1,[7,"coord","x"],"+",[5,"0.5"]],"*","pixelSize"],"/",[7,"gridRes","x"]],[1,[1,[1,[7,"coord","y"],"+",[5,"0.5"]],"*","pixelSize"],"/",[7,"gridRes","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),wB=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(se(f(t.x,t.y,t.z),f(.299,.587,.114)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"c"}],body:[0,[[10,[1,[6,"std.dot",[[6,"d.vec3f",[[7,"c","x"],[7,"c","y"],[7,"c","z"]]],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]],"*",[7,"c","w"]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),J_=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(__tsover_add(__tsover_mul(s,3),__tsover_mul(t,2)),__tsover_mul(__tsover_mul(t,s),4))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a"},{type:"i",name:"b"}],body:[0,[[10,[1,[1,[1,"b","*",[5,"3"]],"+",[1,"a","*",[5,"2"]]],"-",[1,[1,"a","*","b"],"*",[5,"4"]]]]]]},externals:{}})&&e.f)({})),TB=v.fn([l],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_sub(t.x,__tsover_mul(8,q(__tsover_div(t.x,8)))),r=__tsover_sub(t.y,__tsover_mul(8,q(__tsover_div(t.y,8)))),o=__tsover_sub(s,__tsover_mul(2,q(__tsover_div(s,2)))),n=__tsover_sub(r,__tsover_mul(2,q(__tsover_div(r,2)))),i=__tsover_sub(s,__tsover_mul(4,q(__tsover_div(s,4)))),d=__tsover_sub(r,__tsover_mul(4,q(__tsover_div(r,4)))),c=q(__tsover_div(i,2)),_=q(__tsover_div(d,2)),u=q(__tsover_div(s,4)),m=q(__tsover_div(r,4)),p=J_(o,n),y=J_(c,_),h=J_(u,m),g=__tsover_div(p,4),w=__tsover_div(__tsover_add(__tsover_mul(p,4),y),16),S=__tsover_div(__tsover_add(__tsover_add(__tsover_mul(p,16),__tsover_mul(y,4)),h),64),T=__tsover_add(__tsover_mul(Z(d),4),Z(i)),A=.75;return A=C(A,.3125,T===1),A=C(A,.375,T===2),A=C(A,.8125,T===3),A=C(A,.25,T===4),A=C(A,a(0),T===5),A=C(A,.0625,T===6),A=C(A,.4375,T===7),A=C(A,.6875,T===8),A=C(A,.1875,T===9),A=C(A,.125,T===10),A=C(A,.5,T===11),A=C(A,.9375,T===12),A=C(A,.625,T===13),A=C(A,.5625,T===14),A=C(A,.875,T===15),x(g,w,S,A)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"}],body:[0,[[13,"tx",[1,[7,"coord","x"],"-",[1,[5,"8"],"*",[6,"std.floor",[[1,[7,"coord","x"],"/",[5,"8"]]]]]]],[13,"ty",[1,[7,"coord","y"],"-",[1,[5,"8"],"*",[6,"std.floor",[[1,[7,"coord","y"],"/",[5,"8"]]]]]]],[13,"x2",[1,"tx","-",[1,[5,"2"],"*",[6,"std.floor",[[1,"tx","/",[5,"2"]]]]]]],[13,"y2",[1,"ty","-",[1,[5,"2"],"*",[6,"std.floor",[[1,"ty","/",[5,"2"]]]]]]],[13,"x4",[1,"tx","-",[1,[5,"4"],"*",[6,"std.floor",[[1,"tx","/",[5,"4"]]]]]]],[13,"y4",[1,"ty","-",[1,[5,"4"],"*",[6,"std.floor",[[1,"ty","/",[5,"4"]]]]]]],[13,"x4h",[6,"std.floor",[[1,"x4","/",[5,"2"]]]]],[13,"y4h",[6,"std.floor",[[1,"y4","/",[5,"2"]]]]],[13,"x8h",[6,"std.floor",[[1,"tx","/",[5,"4"]]]]],[13,"y8h",[6,"std.floor",[[1,"ty","/",[5,"4"]]]]],[13,"b00",[6,"ditherBayerQuad",["x2","y2"]]],[13,"b11",[6,"ditherBayerQuad",["x4h","y4h"]]],[13,"b22",[6,"ditherBayerQuad",["x8h","y8h"]]],[13,"bayer2",[1,"b00","/",[5,"4"]]],[13,"bayer4",[1,[1,[1,"b00","*",[5,"4"]],"+","b11"],"/",[5,"16"]]],[13,"bayer8",[1,[1,[1,[1,"b00","*",[5,"16"]],"+",[1,"b11","*",[5,"4"]]],"+","b22"],"/",[5,"64"]]],[13,"idx",[1,[1,[6,"d.i32",["y4"]],"*",[5,"4"]],"+",[6,"d.i32",["x4"]]]],[12,"cd",[5,"0.75"]],[2,"cd","=",[6,"std.select",["cd",[5,"0.3125"],[1,"idx","===",[5,"1"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.375"],[1,"idx","===",[5,"2"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.8125"],[1,"idx","===",[5,"3"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.25"],[1,"idx","===",[5,"4"]]]]],[2,"cd","=",[6,"std.select",["cd",[6,"d.f32",[[5,"0"]]],[1,"idx","===",[5,"5"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.0625"],[1,"idx","===",[5,"6"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.4375"],[1,"idx","===",[5,"7"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.6875"],[1,"idx","===",[5,"8"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.1875"],[1,"idx","===",[5,"9"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.125"],[1,"idx","===",[5,"10"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.5"],[1,"idx","===",[5,"11"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.9375"],[1,"idx","===",[5,"12"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.625"],[1,"idx","===",[5,"13"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.5625"],[1,"idx","===",[5,"14"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.875"],[1,"idx","===",[5,"15"]]]]],[10,[6,"d.vec4f",["bayer2","bayer4","bayer8","cd"]]]]]},externals:{"std.floor":()=>q,ditherBayerQuad:()=>J_,"d.i32":()=>Z,"std.select":()=>C,"d.f32":()=>a,"d.vec4f":()=>x}})&&e.f)({})),SB=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.add(l(.5,.5));return ue(__tsover_mul(52.9829189,ue(__tsover_add(__tsover_mul(s.x,.06711056),__tsover_mul(s.y,.00583715)))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"}],body:[0,[[13,"c",[6,[7,"coord","add"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[10,[6,"std.fract",[[1,[5,"52.9829189"],"*",[6,"std.fract",[[1,[1,[7,"c","x"],"*",[5,"0.06711056"]],"+",[1,[7,"c","y"],"*",[5,"0.00583715"]]]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.fract":()=>ue}})&&e.f)({})),AB=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ot(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"}],body:[0,[[10,[6,"noise.hash12",["coord"]]]]]},externals:{"noise.hash12":()=>Ot}})&&e.f)({})),MB=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return De(__tsover_add(.5,__tsover_mul(__tsover_sub(t,.5),o)),__tsover_add(s,__tsover_sub(r,.5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ditherValue"},{type:"i",name:"luminance"},{type:"i",name:"threshold"},{type:"i",name:"spread"}],body:[0,[[13,"adjustedDither",[1,[5,"0.5"],"+",[1,[1,"ditherValue","-",[5,"0.5"]],"*","spread"]]],[10,[6,"std.step",["adjustedDither",[1,"luminance","+",[1,"threshold","-",[5,"0.5"]]]]]]]]},externals:{"std.step":()=>De}})&&e.f)({})),PB=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return q(t.div(l(8,8))).mul(l(8,8))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"}],body:[0,[[10,[6,[7,[6,"std.floor",[[6,[7,"coord","div"],[[6,"d.vec2f",[[5,"8"],[5,"8"]]]]]]],"mul"],[[6,"d.vec2f",[[5,"8"],[5,"8"]]]]]]]]},externals:{"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),EB=v.fn([l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_add(__tsover_mul(__tsover_sub(t.y,s.y),8),__tsover_sub(t.x,s.x))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"},{type:"i",name:"blockOrigin"}],body:[0,[[10,[1,[1,[1,[7,"coord","y"],"-",[7,"blockOrigin","y"]],"*",[5,"8"]],"+",[1,[7,"coord","x"],"-",[7,"blockOrigin","x"]]]]]]},externals:{}})&&e.f)({})),kB=v.fn([l,a,a,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return l(__tsover_div(__tsover_mul(__tsover_add(__tsover_add(t.x,s),.5),o),n.x),__tsover_div(__tsover_mul(__tsover_add(__tsover_add(t.y,r),.5),o),n.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"blockOrigin"},{type:"i",name:"lx"},{type:"i",name:"ly"},{type:"i",name:"pixelSize"},{type:"i",name:"gridRes"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[1,[1,[7,"blockOrigin","x"],"+","lx"],"+",[5,"0.5"]],"*","pixelSize"],"/",[7,"gridRes","x"]],[1,[1,[1,[1,[7,"blockOrigin","y"],"+","ly"],"+",[5,"0.5"]],"*","pixelSize"],"/",[7,"gridRes","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),$B=v.fn([pt(a,64),a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(.5,__tsover_sub(r,.5)),i=pt(a,8)(),d=pt(a,8)(),c=Z(s),_=a(0);for(let u=0;u<8;u++){let m=(u&1)===0;for(let p=0;p<8;p++){let y=C(__tsover_sub(7,p),p,m),h=__tsover_add(__tsover_mul(u,8),y),g=__tsover_add(t[h],i[y]),w=De(n,g);_=C(_,w,h===c);let S=__tsover_mul(__tsover_sub(g,w),o),T=C(-1,1,m),A=__tsover_add(y,T);if(A>=0&&A<8&&(i[A]=__tsover_add(i[A],__tsover_mul(S,.4375))),u<7){let P=__tsover_sub(y,T),U=__tsover_add(y,T);P>=0&&P<8&&(d[P]=__tsover_add(d[P],__tsover_mul(S,.1875))),d[y]=__tsover_add(d[y],__tsover_mul(S,.3125)),U>=0&&U<8&&(d[U]=__tsover_add(d[U],__tsover_mul(S,.0625)))}}for(let p=0;p<8;p++)i[p]=d[p],d[p]=a(0)}return _}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lum"},{type:"i",name:"lic"},{type:"i",name:"threshold"},{type:"i",name:"spread"}],body:[0,[[13,"thr",[1,[5,"0.5"],"-",[1,"threshold","-",[5,"0.5"]]]],[13,"ecur",[6,[6,"d.arrayOf",["d.f32",[5,"8"]]],[]]],[13,"enext",[6,[6,"d.arrayOf",["d.f32",[5,"8"]]],[]]],[13,"licInt",[6,"d.i32",["lic"]]],[12,"result",[6,"d.f32",[[5,"0"]]]],[14,[12,"y",[5,"0"]],[1,"y","<",[5,"8"]],[102,"++","y"],[0,[[13,"ltr",[1,[1,"y","&",[5,"1"]],"===",[5,"0"]]],[14,[12,"xi",[5,"0"]],[1,"xi","<",[5,"8"]],[102,"++","xi"],[0,[[13,"x",[6,"std.select",[[1,[5,"7"],"-","xi"],"xi","ltr"]]],[13,"idx",[1,[1,"y","*",[5,"8"]],"+","x"]],[13,"val",[1,[8,"lum","idx"],"+",[8,"ecur","x"]]],[13,"qv",[6,"std.step",["thr","val"]]],[2,"result","=",[6,"std.select",["result","qv",[1,"idx","===","licInt"]]]],[13,"e",[1,[1,"val","-","qv"],"*","spread"]],[13,"dir",[6,"std.select",[[4,"-",[5,"1"]],[5,"1"],"ltr"]]],[13,"xr",[1,"x","+","dir"]],[11,[1,"xr",">=",[5,"0"]],[0,[[11,[1,"xr","<",[5,"8"]],[0,[[2,[8,"ecur","xr"],"=",[1,[8,"ecur","xr"],"+",[1,"e","*",[5,"0.4375"]]]]]]]]]],[11,[1,"y","<",[5,"7"]],[0,[[13,"xbl",[1,"x","-","dir"]],[13,"xbr",[1,"x","+","dir"]],[11,[1,"xbl",">=",[5,"0"]],[0,[[11,[1,"xbl","<",[5,"8"]],[0,[[2,[8,"enext","xbl"],"=",[1,[8,"enext","xbl"],"+",[1,"e","*",[5,"0.1875"]]]]]]]]]],[2,[8,"enext","x"],"=",[1,[8,"enext","x"],"+",[1,"e","*",[5,"0.3125"]]]],[11,[1,"xbr",">=",[5,"0"]],[0,[[11,[1,"xbr","<",[5,"8"]],[0,[[2,[8,"enext","xbr"],"=",[1,[8,"enext","xbr"],"+",[1,"e","*",[5,"0.0625"]]]]]]]]]]]]]]]],[14,[12,"k",[5,"0"]],[1,"k","<",[5,"8"]],[102,"++","k"],[0,[[2,[8,"ecur","k"],"=",[8,"enext","k"]],[2,[8,"enext","k"],"=",[6,"d.f32",[[5,"0"]]]]]]]]]],[10,"result"]]]},externals:{"d.arrayOf":()=>pt,"d.f32":()=>a,"d.i32":()=>Z,"std.select":()=>C,"std.step":()=>De}})&&e.f)({})),UB=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=X(f(t.x,t.y,t.z),f(s.x,s.y,s.z),f(r)),n=X(t.w,s.w,r);return x(o.x,o.y,o.z,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"ditherResult"}],body:[0,[[13,"rgb",[6,"std.mix",[[6,"d.vec3f",[[7,"colorA","x"],[7,"colorA","y"],[7,"colorA","z"]]],[6,"d.vec3f",[[7,"colorB","x"],[7,"colorB","y"],[7,"colorB","z"]]],[6,"d.vec3f",["ditherResult"]]]]],[13,"a",[6,"std.mix",[[7,"colorA","w"],[7,"colorB","w"],"ditherResult"]]],[10,[6,"d.vec4f",[[7,"rgb","x"],[7,"rgb","y"],[7,"rgb","z"],"a"]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),CB=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=f(t.x,t.y,t.z),o=X(r.mul(.3),oe(r.mul(1.3),f(1,1,1)),f(s));return x(o.x,o.y,o.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sourceColor"},{type:"i",name:"ditherResult"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"sourceColor","x"],[7,"sourceColor","y"],[7,"sourceColor","z"]]]],[13,"dark",[6,[7,"rgb","mul"],[[5,"0.3"]]]],[13,"bright",[6,"std.min",[[6,[7,"rgb","mul"],[[5,"1.3"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]],[13,"out",[6,"std.mix",["dark","bright",[6,"d.vec3f",["ditherResult"]]]]],[10,[6,"d.vec4f",[[7,"out","x"],[7,"out","y"],[7,"out","z"],[7,"sourceColor","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.min":()=>oe,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({}));function bz(e){return e.map((t,s)=>({stop:t,index:s})).sort((t,s)=>t.stop.position-s.stop.position||t.index-s.index).map(({stop:t})=>t)}function jv(e,t){let s=new Array(32).fill(0),r=new Array(8).fill(0),o=Array.isArray(e)&&e.length>0?bz(e):[],n=Math.min(o.length,8);for(let i=0;i(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return co({conv:t,alpha:s})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"conv"},{type:"i",name:"alpha"}],body:[0,[[10,[6,"MixStep",[[104,{conv:"conv",alpha:"alpha"}]]]]]]},externals:{MixStep:()=>co}})&&e.f)({}));v.fn([co,f,a,a,a,a],co)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=$(__tsover_div(__tsover_sub(o,n),b(__tsover_sub(i,n),1e-6)),0,1);return fa(t.conv,t.alpha,s,r,d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"running"},{type:"i",name:"convI"},{type:"i",name:"alphaI"},{type:"i",name:"tClamped"},{type:"i",name:"posA"},{type:"i",name:"posB"}],body:[0,[[13,"seg",[6,"std.clamp",[[1,[1,"tClamped","-","posA"],"/",[6,"std.max",[[1,"posB","-","posA"],[5,"0.000001"]]]],[5,"0"],[5,"1"]]]],[10,[6,"mixPreconvertedInSpace",[[7,"running","conv"],[7,"running","alpha"],"convI","alphaI","seg"]]]]]},externals:{"std.clamp":()=>$,"std.max":()=>b,mixPreconvertedInSpace:()=>fa}})&&e.f)({}));v.fn([co],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return t.conv}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[10,[7,"s","conv"]]]]},externals:{}})&&e.f)({}));v.fn([co],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return t.alpha}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[10,[7,"s","alpha"]]]]},externals:{}})&&e.f)({}));v.fn([f,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t,s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"a"}],body:[0,[[10,[6,"d.vec4f",["rgb","a"]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({}));var Xp=v.fn([a,pt(x,8),pt(x,8/4),pt(f,8),a],co)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=$(t,0,1),d=Z(n),c=o[0],_=f(c.x,c.y,c.z),u=s[0].w;for(let m=1;m>2],y=r[m>>2],h=p[__tsover_sub(m,1)&3],g=y[m&3],w=$(__tsover_div(__tsover_sub(i,h),b(__tsover_sub(g,h),1e-6)),0,1),S=fa(_,u,o[m],s[m].w,w);_=f(S.conv.x,S.conv.y,S.conv.z),u=S.alpha}return co({conv:_,alpha:u})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"colors"},{type:"i",name:"positions"},{type:"i",name:"converted"},{type:"i",name:"stopCount"}],body:[0,[[13,"clampedT",[6,"std.clamp",["t",[5,"0"],[5,"1"]]]],[13,"n",[6,"d.i32",["stopCount"]]],[13,"c0",[8,"converted",[5,"0"]]],[12,"conv",[6,"d.vec3f",[[7,"c0","x"],[7,"c0","y"],[7,"c0","z"]]]],[12,"alpha",[7,[8,"colors",[5,"0"]],"w"]],[14,[12,"i",[5,"1"]],[1,"i","<","n"],[102,"++","i"],[0,[[13,"va",[8,"positions",[1,[1,"i","-",[5,"1"]],">>",[5,"2"]]]],[13,"vb",[8,"positions",[1,"i",">>",[5,"2"]]]],[13,"posA",[8,"va",[1,[1,"i","-",[5,"1"]],"&",[5,"3"]]]],[13,"posB",[8,"vb",[1,"i","&",[5,"3"]]]],[13,"seg",[6,"std.clamp",[[1,[1,"clampedT","-","posA"],"/",[6,"std.max",[[1,"posB","-","posA"],[5,"0.000001"]]]],[5,"0"],[5,"1"]]]],[13,"step",[6,"mixPreconvertedInSpace",["conv","alpha",[8,"converted","i"],[7,[8,"colors","i"],"w"],"seg"]]],[2,"conv","=",[6,"d.vec3f",[[7,[7,"step","conv"],"x"],[7,[7,"step","conv"],"y"],[7,[7,"step","conv"],"z"]]]],[2,"alpha","=",[7,"step","alpha"]]]]],[10,[6,"MixStep",[[104,{conv:"conv",alpha:"alpha"}]]]]]]},externals:{"std.clamp":()=>$,"d.i32":()=>Z,"d.vec3f":()=>f,"std.max":()=>b,mixPreconvertedInSpace:()=>fa,MixStep:()=>co}})&&e.f)({}));function wz(e,t){switch(t){case 1:return we(ss,"sRGBToP3",[we(Kr,"oklabToRgb",[we(Ha,"oklchToOklab",[e])])]);case 2:return we(ss,"sRGBToP3",[we(Kr,"oklabToRgb",[e])]);case 3:return we(ss,"sRGBToP3",[we(ja,"hslToRgb",[e])]);case 4:return we(ss,"sRGBToP3",[we(Ac,"hsvToRgb",[e])]);case 5:return we(ss,"sRGBToP3",[we(Mc,"labToRgb",[we(Pc,"lchToLab",[e])])]);default:return e}}function Tz(e,t,s){let r=ur(we(Xp,"gradientStopsInSpace",[e,t.colorsArray,t.positionsArray,t.convertedColorsArray,t.stopCount]),"stopMix");return Ws(wz(r.member("conv"),s),r.member("alpha"))}var RB=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=bt(s);return l(__tsover_mul(t.x,r),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l}})&&e.f)({})),zB=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_div(s.x,s.y);return l(__tsover_mul(t.x,n),t.y).mul(ct(r)).add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"scale"},{type:"i",name:"seed"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[10,[6,[7,[6,[7,"aspectUV","mul"],[[6,"std.exp",["scale"]]]],"add"],["seed"]]]]]},externals:{"d.vec2f":()=>l,"std.exp":()=>ct}})&&e.f)({})),GB=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=__tsover_mul(r,Le),i=H(n),d=Y(n),c=__tsover_sub(__tsover_mul(t.x,o),__tsover_mul(o,.5)),_=__tsover_sub(t.y,.5);return l(__tsover_add(__tsover_mul(c,i),__tsover_mul(_,d)),__tsover_add(__tsover_mul(c,-d),__tsover_mul(_,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"au",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,"aspect","*",[5,"0.5"]]]],[13,"av",[1,[7,"uv","y"],"-",[5,"0.5"]]],[13,"ru",[1,[1,"au","*","cosA"],"+",[1,"av","*","sinA"]]],[13,"rv",[1,[1,"au","*",[4,"-","sinA"]],"+",[1,"av","*","cosA"]]],[10,[6,"d.vec2f",["ru","rv"]]]]]},externals:{aspectOf:()=>bt,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),YB=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_div(j(Mg(t,s)),1.414)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"z"}],body:[0,[[10,[1,[6,"std.length",[[6,"curl22z",["pos","z"]]]],"/",[5,"1.414"]]]]]},externals:{"std.length":()=>j,curl22z:()=>Mg}})&&e.f)({})),rb=s7(Ei,{maxOctaves:8,drift:"goldenAngle",name:"fractalOctaveSum"}),LB=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return rb(t,2,s,r,o,l(n,__tsover_mul(n,.7)),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"detail"},{type:"i",name:"contrast"},{type:"i",name:"animTime"},{type:"i",name:"seed"},{type:"i",name:"octaveCount"}],body:[0,[[10,[6,"fractalOctaveSum",["pos",[5,"2"],"detail","contrast","animTime",[6,"d.vec2f",["seed",[1,"seed","*",[5,"0.7"]]]],"octaveCount"]]]]]},externals:{fractalOctaveSum:()=>rb,"d.vec2f":()=>l}})&&e.f)({})),IB=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return $(__tsover_add(__tsover_mul(__tsover_div(t.x,t.y),.5),.5),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sum"}],body:[0,[[10,[6,"std.clamp",[[1,[1,[1,[7,"sum","x"],"/",[7,"sum","y"]],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({}));var ob=o7({distance:"selectableSquared",jitter:"mix",name:"worleyNearest2"}),nb=s7(v.fn([l,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ob(t,s,r,o,n);return jg(d.x,d.y,n,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"oUV"},{type:"i",name:"animT"},{type:"i",name:"seedOff"},{type:"i",name:"jitter"},{type:"i",name:"distNum"},{type:"i",name:"modeNum"}],body:[0,[[13,"dd",[6,"worleyNearest2",["oUV","animT","seedOff","jitter","distNum"]]],[10,[6,"cellReduceSelectable",[[7,"dd","x"],[7,"dd","y"],"distNum","modeNum"]]]]]},externals:{worleyNearest2:()=>ob,cellReduceSelectable:()=>jg}})&&e.f)({})),{maxOctaves:4,drift:"timeSeed",name:"worleyOctaveSum"}),DB=v.fn([l,a,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";return nb(t,s,n,i,d,r,f(o,_,u),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"scale"},{type:"i",name:"seed"},{type:"i",name:"jitter"},{type:"i",name:"lacunarity"},{type:"i",name:"persistence"},{type:"i",name:"animTime"},{type:"i",name:"octaves"},{type:"i",name:"distNum"},{type:"i",name:"modeNum"}],body:[0,[[10,[6,"worleyOctaveSum",["pos","scale","lacunarity","persistence","animTime","seed",[6,"d.vec3f",["jitter","distNum","modeNum"]],"octaves"]]]]]},externals:{worleyOctaveSum:()=>nb,"d.vec3f":()=>f}})&&e.f)({})),FB=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_mul(__tsover_div(t.x,b(t.y,1e-4)),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sum"},{type:"i",name:"modeScale"}],body:[0,[[10,[1,[1,[7,"sum","x"],"/",[6,"std.max",[[7,"sum","y"],[5,"0.0001"]]]],"*","modeScale"]]]]},externals:{"std.max":()=>b}})&&e.f)({})),BB=t7({domain:"unit",contrastMode:"multiplicative",invert:!1});var WB=o7({distance:"length",jitter:"none",name:"voronoiNearest2"}),OB=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_sub(4,__tsover_mul(s,3));return Kg(t.x,t.y,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dd"},{type:"i",name:"edgeIntensity"}],body:[0,[[13,"gradientPower",[1,[5,"4"],"-",[1,"edgeIntensity","*",[5,"3"]]]],[10,[6,"cellRatio",[[7,"dd","x"],[7,"dd","y"],"gradientPower"]]]]]},externals:{cellRatio:()=>Kg}})&&e.f)({})),VB=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(__tsover_mul(s,r),6);return Zg(t.x,t.y,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dd"},{type:"i",name:"softness"},{type:"i",name:"scale"}],body:[0,[[13,"scaledEdgeSoftness",[1,[1,"softness","*","scale"],"/",[5,"6"]]],[10,[6,"cellEdgeMask",[[7,"dd","x"],[7,"dd","y"],"scaledEdgeSoftness"]]]]]},externals:{cellEdgeMask:()=>Zg}})&&e.f)({})),NB=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ce(t,f(.85,.85,.85))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[6,"std.pow",["rgb",[6,"d.vec3f",[[5,"0.85"],[5,"0.85"],[5,"0.85"]]]]]]]]},externals:{"std.pow":()=>Ce,"d.vec3f":()=>f}})&&e.f)({})),mc=8;if(mc!==8)throw new Error(`noisePaints: MAX (${mc}) out of sync with MAX_COLOR_STOPS (8)`);var ab=v.fn([l,l,l,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_div(s.x,b(s.y,1e-6)),d=l(__tsover_mul(r.x,i),__tsover_sub(1,r.y)),c=l(__tsover_mul(o.x,i),__tsover_sub(1,o.y)),_=l(__tsover_mul(t.x,i),t.y),u=l(__tsover_sub(c.x,d.x),__tsover_sub(c.y,d.y)),m=b(j(u),1e-6),p=l(__tsover_div(u.x,m),__tsover_div(u.y,m)),y=l(-p.y,p.x),h=l(__tsover_sub(_.x,d.x),__tsover_sub(_.y,d.y)),g=__tsover_div(se(h,p),m),w=se(h,y),S=n>0,T=$(g,0,1),A=C(a(1),Y(__tsover_mul(T,Xr)),S),P=__tsover_mul(re(0,.06,g),__tsover_sub(1,re(.94,1,g)));return x(g,w,A,C(a(1),P,S))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"start"},{type:"i",name:"end"},{type:"i",name:"pinFlag"}],body:[0,[[13,"aspectRatio",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[13,"startPos",[6,"d.vec2f",[[1,[7,"start","x"],"*","aspectRatio"],[1,[5,"1"],"-",[7,"start","y"]]]]],[13,"endPos",[6,"d.vec2f",[[1,[7,"end","x"],"*","aspectRatio"],[1,[5,"1"],"-",[7,"end","y"]]]]],[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspectRatio"],[7,"uv","y"]]]],[13,"direction",[6,"d.vec2f",[[1,[7,"endPos","x"],"-",[7,"startPos","x"]],[1,[7,"endPos","y"],"-",[7,"startPos","y"]]]]],[13,"len",[6,"std.max",[[6,"std.length",["direction"]],[5,"0.000001"]]]],[13,"normalizedDir",[6,"d.vec2f",[[1,[7,"direction","x"],"/","len"],[1,[7,"direction","y"],"/","len"]]]],[13,"perpDir",[6,"d.vec2f",[[4,"-",[7,"normalizedDir","y"]],[7,"normalizedDir","x"]]]],[13,"relativePos",[6,"d.vec2f",[[1,[7,"aspectUV","x"],"-",[7,"startPos","x"]],[1,[7,"aspectUV","y"],"-",[7,"startPos","y"]]]]],[13,"progress",[1,[6,"std.dot",["relativePos","normalizedDir"]],"/","len"]],[13,"perpDist",[6,"std.dot",["relativePos","perpDir"]]],[13,"pinOn",[1,"pinFlag",">",[5,"0"]]],[13,"clampedProg",[6,"std.clamp",["progress",[5,"0"],[5,"1"]]]],[13,"pinch",[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"std.sin",[[1,"clampedProg","*","PI"]]],"pinOn"]]],[13,"fade",[1,[6,"std.smoothstep",[[5,"0"],[5,"0.06"],"progress"]],"*",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0.94"],[5,"1"],"progress"]]]]],[13,"edgeFade",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"fade","pinOn"]]],[10,[6,"d.vec4f",["progress","perpDist","pinch","edgeFade"]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l,"std.length":()=>j,"std.dot":()=>se,"std.clamp":()=>$,"std.select":()=>C,"d.f32":()=>a,"std.sin":()=>Y,PI:()=>Xr,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({})),qB=v.fn([l,l,l,l,x,x,x,pt(x,mc),pt(x,mc/4),pt(f,mc)],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=n.x,p=n.y,y=n.z,h=n.w,g=i.x,w=i.y,S=i.z,T=i.w,A=d.y,P=d.z,U=d.w,D=ab(t,s,r,o,d.x),O=D.x,L=D.y,G=D.z,W=D.w,K=__tsover_mul(h,.07),Q=__tsover_add(__tsover_mul(g,.08),8e-4),te=b(__tsover_sub(y,1),1),ee=f(0,0,0),he=a(0),Ee=__tsover_mul(__tsover_mul(O,it),p),Te=__tsover_add(__tsover_mul(O,8),__tsover_mul(A,2)),Ue=__tsover_add(__tsover_mul(O,S),P),Me=Z(sa(y));for(let Pe=0;Peab,"std.max":()=>b,"d.vec3f":()=>f,"d.f32":()=>a,TAU:()=>it,"d.i32":()=>Z,"std.round":()=>sa,"std.sin":()=>Y,"std.abs":()=>z,"std.smoothstep":()=>re,"std.fract":()=>ue,gradientStopsInSpace:()=>Xp,"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})),XB=v.fn([l,a,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(t.x,s),t.y),c=__tsover_mul(r,6),_=d.mul(c).add(o),u=Ki(_).mul(n).mul(.0025),m=t.add(u),p=zg(_,Z(6)),y=$(__tsover_add(1,__tsover_mul(__tsover_sub(p,.7),__tsover_mul(i,1.2))),0,1.5);return f(m.x,m.y,y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"grainScale"},{type:"i",name:"seed"},{type:"i",name:"displacement"},{type:"i",name:"roughness"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"grainFreq",[1,"grainScale","*",[5,"6"]]],[13,"grainUV",[6,[7,[6,[7,"aspectUV","mul"],["grainFreq"]],"add"],["seed"]]],[13,"disp",[6,[7,[6,[7,[6,"curl22",["grainUV"]],"mul"],["displacement"]],"mul"],[[5,"0.0025"]]]],[13,"displacedUV",[6,[7,"uv","add"],["disp"]]],[13,"grain",[6,"paper12",["grainUV",[6,"d.i32",[[5,"6"]]]]]],[13,"brightness",[6,"std.clamp",[[1,[5,"1"],"+",[1,[1,"grain","-",[5,"0.7"]],"*",[1,"roughness","*",[5,"1.2"]]]],[5,"0"],[5,"1.5"]]]],[10,[6,"d.vec3f",[[7,"displacedUV","x"],[7,"displacedUV","y"],"brightness"]]]]]},externals:{"d.vec2f":()=>l,curl22:()=>Ki,paper12:()=>zg,"d.i32":()=>Z,"std.clamp":()=>$,"d.vec3f":()=>f}})&&e.f)({})),Ui=1e-5,ib=v.fn([l,l,l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(t.x,s.x),n=__tsover_sub(t.y,s.y),i=__tsover_sub(r.x,s.x),d=__tsover_sub(r.y,s.y),c=b(j(l(i,d)),a(Ui)),_=__tsover_div(__tsover_add(__tsover_mul(o,i),__tsover_mul(n,d)),c),u=b(b(-_,__tsover_sub(_,c)),a(0)),m=$(__tsover_div(_,c),a(0),a(1)),p=j(l(__tsover_sub(o,__tsover_mul(i,m)),__tsover_sub(n,__tsover_mul(d,m))));return f(_,be(b(__tsover_sub(__tsover_mul(p,p),__tsover_mul(u,u)),a(0))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"}],body:[0,[[13,"pax",[1,[7,"p","x"],"-",[7,"a","x"]]],[13,"pay",[1,[7,"p","y"],"-",[7,"a","y"]]],[13,"bax",[1,[7,"b","x"],"-",[7,"a","x"]]],[13,"bay",[1,[7,"b","y"],"-",[7,"a","y"]]],[13,"len",[6,"std.max",[[6,"std.length",[[6,"d.vec2f",["bax","bay"]]]],[6,"d.f32",["EPS"]]]]],[13,"t",[1,[1,[1,"pax","*","bax"],"+",[1,"pay","*","bay"]],"/","len"]],[13,"overshoot",[6,"std.max",[[6,"std.max",[[4,"-","t"],[1,"t","-","len"]]],[6,"d.f32",[[5,"0"]]]]]],[13,"h",[6,"std.clamp",[[1,"t","/","len"],[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]]]]],[13,"dSeg",[6,"std.length",[[6,"d.vec2f",[[1,"pax","-",[1,"bax","*","h"]],[1,"pay","-",[1,"bay","*","h"]]]]]]],[13,"perp",[6,"std.sqrt",[[6,"std.max",[[1,[1,"dSeg","*","dSeg"],"-",[1,"overshoot","*","overshoot"]],[6,"d.f32",[[5,"0"]]]]]]]],[10,[6,"d.vec3f",["t","perp","len"]]]]]},externals:{"std.max":()=>b,"std.length":()=>j,"d.vec2f":()=>l,"d.f32":()=>a,EPS:()=>Ui,"std.clamp":()=>$,"std.sqrt":()=>be,"d.vec3f":()=>f}})&&e.f)({})),HB=v.fn([l,l,l,l,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=bt(s),p=ib(Yg(t,s),bn(r,m),bn(o,m)),y=p.x,h=p.y,g=p.z,w=__tsover_mul(n,.5),S=__tsover_sub(y,__tsover_mul(g,.5)),T=__tsover_mul(g,.5),A=b(d,a(Ui)),P=__tsover_add(A,c),U=b(q(__tsover_add(__tsover_div(__tsover_add(g,c),P),.5)),a(1)),D=__tsover_div(g,b(__tsover_add(__tsover_mul(U,A),__tsover_mul(__tsover_sub(U,1),c)),a(Ui))),O=__tsover_mul(A,D),L=__tsover_mul(P,D),G=$(q(__tsover_div(y,L)),a(0),__tsover_sub(U,1)),W=__tsover_sub(y,__tsover_add(__tsover_mul(G,L),__tsover_mul(O,.5))),K=b(__tsover_sub(__tsover_mul(O,.5),w),a(0)),Q=__tsover_mul(O,.5),te=b(__tsover_add(n,c),a(Ui)),ee=b(q(__tsover_add(__tsover_div(g,te),.5)),a(1)),he=__tsover_div(g,ee),Ee=$(q(__tsover_add(__tsover_div(y,he),.5)),a(0),ee),Te=__tsover_sub(y,__tsover_mul(Ee,he)),Ue=i>=.5,Me=i>=1.5,Pe=C(S,C(W,Te,Me),Ue),Re=C(T,C(K,a(0),Me),Ue),de=C(T,C(Q,w,Me),Ue),je=C(_,u,Pe>0),fe=__tsover_sub(j(l(b(__tsover_sub(z(Pe),Re),a(0)),h)),w),Ke=__tsover_sub(z(Pe),de),Ze=__tsover_sub(h,w),at=C(__tsover_add(j(l(b(Ke,a(0)),b(Ze,a(0)))),oe(b(Ke,Ze),a(0))),fe,je>=.5),Fe=__tsover_div(1,s.y);return __tsover_sub(1,re(-Fe,Fe,at))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"pointA"},{type:"i",name:"pointB"},{type:"i",name:"thickness"},{type:"i",name:"style"},{type:"i",name:"dashLength"},{type:"i",name:"gapLength"},{type:"i",name:"capStart"},{type:"i",name:"capEnd"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"p",[6,"geom.aspectCorrectedUV",["uv","viewport"]]],[13,"a",[6,"geom.aspectCentrePosition",["pointA","aspect"]]],[13,"b",[6,"geom.aspectCentrePosition",["pointB","aspect"]]],[13,"seg",[6,"segmentArcPerp",["p","a","b"]]],[13,"t",[7,"seg","x"]],[13,"perp",[7,"seg","y"]],[13,"len",[7,"seg","z"]],[13,"halfT",[1,"thickness","*",[5,"0.5"]]],[13,"cSolid",[1,"t","-",[1,"len","*",[5,"0.5"]]]],[13,"axSolid",[1,"len","*",[5,"0.5"]]],[13,"rawDash",[6,"std.max",["dashLength",[6,"d.f32",["EPS"]]]]],[13,"rawPeriod",[1,"rawDash","+","gapLength"]],[13,"nDash",[6,"std.max",[[6,"std.floor",[[1,[1,[1,"len","+","gapLength"],"/","rawPeriod"],"+",[5,"0.5"]]]],[6,"d.f32",[[5,"1"]]]]]],[13,"scale",[1,"len","/",[6,"std.max",[[1,[1,"nDash","*","rawDash"],"+",[1,[1,"nDash","-",[5,"1"]],"*","gapLength"]],[6,"d.f32",["EPS"]]]]]],[13,"dashL",[1,"rawDash","*","scale"]],[13,"period",[1,"rawPeriod","*","scale"]],[13,"kDash",[6,"std.clamp",[[6,"std.floor",[[1,"t","/","period"]]],[6,"d.f32",[[5,"0"]]],[1,"nDash","-",[5,"1"]]]]],[13,"cDash",[1,"t","-",[1,[1,"kDash","*","period"],"+",[1,"dashL","*",[5,"0.5"]]]]],[13,"axDashRound",[6,"std.max",[[1,[1,"dashL","*",[5,"0.5"]],"-","halfT"],[6,"d.f32",[[5,"0"]]]]]],[13,"axDashSquare",[1,"dashL","*",[5,"0.5"]]],[13,"rawDotPeriod",[6,"std.max",[[1,"thickness","+","gapLength"],[6,"d.f32",["EPS"]]]]],[13,"nDot",[6,"std.max",[[6,"std.floor",[[1,[1,"len","/","rawDotPeriod"],"+",[5,"0.5"]]]],[6,"d.f32",[[5,"1"]]]]]],[13,"dotPeriod",[1,"len","/","nDot"]],[13,"kDot",[6,"std.clamp",[[6,"std.floor",[[1,[1,"t","/","dotPeriod"],"+",[5,"0.5"]]]],[6,"d.f32",[[5,"0"]]],"nDot"]]],[13,"cDot",[1,"t","-",[1,"kDot","*","dotPeriod"]]],[13,"isPattern",[1,"style",">=",[5,"0.5"]]],[13,"isDotted",[1,"style",">=",[5,"1.5"]]],[13,"c",[6,"std.select",["cSolid",[6,"std.select",["cDash","cDot","isDotted"]],"isPattern"]]],[13,"axRound",[6,"std.select",["axSolid",[6,"std.select",["axDashRound",[6,"d.f32",[[5,"0"]]],"isDotted"]],"isPattern"]]],[13,"axSquare",[6,"std.select",["axSolid",[6,"std.select",["axDashSquare","halfT","isDotted"]],"isPattern"]]],[13,"capHere",[6,"std.select",["capStart","capEnd",[1,"c",">",[5,"0"]]]]],[13,"sdRound",[1,[6,"std.length",[[6,"d.vec2f",[[6,"std.max",[[1,[6,"std.abs",["c"]],"-","axRound"],[6,"d.f32",[[5,"0"]]]]],"perp"]]]],"-","halfT"]],[13,"qx",[1,[6,"std.abs",["c"]],"-","axSquare"]],[13,"qy",[1,"perp","-","halfT"]],[13,"sdSquare",[1,[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["qx",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["qy",[6,"d.f32",[[5,"0"]]]]]]]]],"+",[6,"std.min",[[6,"std.max",["qx","qy"]],[6,"d.f32",[[5,"0"]]]]]]],[13,"sd",[6,"std.select",["sdSquare","sdRound",[1,"capHere",">=",[5,"0.5"]]]]],[13,"feather",[1,[5,"1"],"/",[7,"viewport","y"]]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",[[4,"-","feather"],"feather","sd"]]]]]]},externals:{"geom.aspectOf":()=>bt,"geom.aspectCorrectedUV":()=>Yg,"geom.aspectCentrePosition":()=>bn,segmentArcPerp:()=>ib,"std.max":()=>b,"d.f32":()=>a,EPS:()=>Ui,"std.floor":()=>q,"std.clamp":()=>$,"std.select":()=>C,"std.length":()=>j,"d.vec2f":()=>l,"std.abs":()=>z,"std.min":()=>oe,"std.smoothstep":()=>re}})&&e.f)({})),jB=v.fn([l,l,a,l,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=ua(t,o,s),m=__tsover_mul(r,Le),p=Eo(u,H(m),Y(m)),y=__tsover_add(__tsover_mul(__tsover_mul(p.x,n),it),_),h=__tsover_mul(Y(y),i),g=z(__tsover_sub(p.y,h)),w=__tsover_mul(d,.5),S=__tsover_mul(c,.5);return __tsover_sub(1,re(__tsover_sub(w,S),__tsover_add(w,S),g))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"position"},{type:"i",name:"frequency"},{type:"i",name:"amplitude"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"animTime"}],body:[0,[[13,"centered",[6,"geom.aspectCenteredDelta",["uv","position","viewport"]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosAngle",[6,"std.cos",["angleRad"]]],[13,"sinAngle",[6,"std.sin",["angleRad"]]],[13,"rotated",[6,"geom.rotate2",["centered","cosAngle","sinAngle"]]],[13,"waveInput",[1,[1,[1,[7,"rotated","x"],"*","frequency"],"*","TAU"],"+","animTime"]],[13,"sineWave",[1,[6,"std.sin",["waveInput"]],"*","amplitude"]],[13,"distanceFromWave",[6,"std.abs",[[1,[7,"rotated","y"],"-","sineWave"]]]],[13,"halfThickness",[1,"thickness","*",[5,"0.5"]]],[13,"halfSoftness",[1,"softness","*",[5,"0.5"]]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"halfThickness","-","halfSoftness"],[1,"halfThickness","+","halfSoftness"],"distanceFromWave"]]]]]]},externals:{"geom.aspectCenteredDelta":()=>ua,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"geom.rotate2":()=>Eo,TAU:()=>it,"std.abs":()=>z,"std.smoothstep":()=>re}})&&e.f)({})),db=v.fn([a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return f(__tsover_add(__tsover_mul(H(__tsover_mul(it,t)),.5),.5),__tsover_add(__tsover_mul(H(__tsover_mul(it,__tsover_sub(t,.333))),.5),.5),__tsover_add(__tsover_mul(H(__tsover_mul(it,__tsover_sub(t,.666))),.5),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[6,"d.vec3f",[[1,[1,[6,"std.cos",[[1,"TAU_FULL","*","t"]]],"*",[5,"0.5"]],"+",[5,"0.5"]],[1,[1,[6,"std.cos",[[1,"TAU_FULL","*",[1,"t","-",[5,"0.333"]]]]],"*",[5,"0.5"]],"+",[5,"0.5"]],[1,[1,[6,"std.cos",[[1,"TAU_FULL","*",[1,"t","-",[5,"0.666"]]]]],"*",[5,"0.5"]],"+",[5,"0.5"]]]]]]]},externals:{"d.vec3f":()=>f,"std.cos":()=>H,TAU_FULL:()=>it}})&&e.f)({})),Fm=ut({aspect:a,lightPos:l,flareAxis:l,masterFade:a,lightDist:a,lightAngle:a}).$name("FlareFrame"),KB=v.fn([l,l,a,l,a,a],Fm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=bt(s),c=l(o.x,__tsover_sub(1,o.y)),_=l(__tsover_sub(.5,c.x),__tsover_sub(.5,c.y)),u=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(Y(__tsover_mul(r,3.7)),.04),__tsover_mul(Y(__tsover_mul(r,7.3)),.03)),__tsover_mul(Y(__tsover_mul(r,13.1)),.02)),.97),m=b(__tsover_mul(z(__tsover_sub(c.x,.5)),2),__tsover_mul(z(__tsover_sub(c.y,.5)),2)),p=__tsover_sub(1,__tsover_mul(i,.5)),y=X(1,__tsover_sub(1,re(p,1,m)),i),h=__tsover_mul(__tsover_mul(n,y),u),g=l(__tsover_mul(__tsover_sub(t.x,c.x),d),__tsover_sub(t.y,c.y));return Fm({aspect:d,lightPos:c,flareAxis:_,masterFade:h,lightDist:j(g),lightAngle:tt(g.y,g.x)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"t"},{type:"i",name:"lightPosRaw"},{type:"i",name:"intensity"},{type:"i",name:"edgeFade"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"lightPos",[6,"d.vec2f",[[7,"lightPosRaw","x"],[1,[5,"1"],"-",[7,"lightPosRaw","y"]]]]],[13,"flareAxis",[6,"d.vec2f",[[1,[5,"0.5"],"-",[7,"lightPos","x"]],[1,[5,"0.5"],"-",[7,"lightPos","y"]]]]],[13,"shimmer",[1,[1,[1,[1,[6,"std.sin",[[1,"t","*",[5,"3.7"]]]],"*",[5,"0.04"]],"+",[1,[6,"std.sin",[[1,"t","*",[5,"7.3"]]]],"*",[5,"0.03"]]],"+",[1,[6,"std.sin",[[1,"t","*",[5,"13.1"]]]],"*",[5,"0.02"]]],"+",[5,"0.97"]]],[13,"edgeDist",[6,"std.max",[[1,[6,"std.abs",[[1,[7,"lightPos","x"],"-",[5,"0.5"]]]],"*",[5,"2"]],[1,[6,"std.abs",[[1,[7,"lightPos","y"],"-",[5,"0.5"]]]],"*",[5,"2"]]]]],[13,"fadeStart",[1,[5,"1"],"-",[1,"edgeFade","*",[5,"0.5"]]]],[13,"edgeFadeV",[6,"std.mix",[[5,"1"],[1,[5,"1"],"-",[6,"std.smoothstep",["fadeStart",[5,"1"],"edgeDist"]]],"edgeFade"]]],[13,"masterFade",[1,[1,"intensity","*","edgeFadeV"],"*","shimmer"]],[13,"toLightAR",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[7,"lightPos","x"]],"*","aspect"],[1,[7,"uv","y"],"-",[7,"lightPos","y"]]]]],[13,"lightDist",[6,"std.length",["toLightAR"]]],[13,"lightAngle",[6,"std.atan2",[[7,"toLightAR","y"],[7,"toLightAR","x"]]]],[10,[6,"FlareFrame",[[104,{aspect:"aspect",lightPos:"lightPos",flareAxis:"flareAxis",masterFade:"masterFade",lightDist:"lightDist",lightAngle:"lightAngle"}]]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,"std.sin":()=>Y,"std.max":()=>b,"std.abs":()=>z,"std.mix":()=>X,"std.smoothstep":()=>re,"std.length":()=>j,"std.atan2":()=>tt,FlareFrame:()=>Fm}})&&e.f)({})),ZB=v.fn([l,a,l,l,a,a,a,a,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=_.x,p=_.y,y=_.z,h=_.w,g=u.x,w=u.y,S=u.z,T=u.w,A=r.add(o.mul(__tsover_mul(__tsover_mul(m,i),2))),P=j(l(__tsover_mul(__tsover_sub(t.x,A.x),s),__tsover_sub(t.y,A.y))),U=p,D=__tsover_sub(1,re(__tsover_mul(U,.12),U,P)),O=__tsover_sub(1,re(__tsover_mul(U,.05),__tsover_mul(U,.45),P)),L=__tsover_mul(D,__tsover_sub(1,__tsover_mul(O,h))),G=__tsover_add(__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(n,4.3),T)),.08),__tsover_mul(Y(__tsover_add(__tsover_mul(n,9.1),__tsover_mul(T,1.7))),.05)),.95),W=Hl(P,__tsover_mul(U,.78),__tsover_mul(__tsover_mul(U,d),.14),__tsover_mul(U,.1)),K=W.x,Q=W.y,te=W.z,ee=__tsover_mul(__tsover_mul(y,c),G);return f(__tsover_mul(__tsover_add(__tsover_mul(L,g),__tsover_mul(K,d)),ee),__tsover_mul(__tsover_add(__tsover_mul(L,w),__tsover_mul(Q,d)),ee),__tsover_mul(__tsover_add(__tsover_mul(L,S),__tsover_mul(te,d)),ee))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"lightPos"},{type:"i",name:"flareAxis"},{type:"i",name:"t"},{type:"i",name:"ghostSpread"},{type:"i",name:"ghostChroma"},{type:"i",name:"ghostInt"},{type:"i",name:"disc"},{type:"i",name:"tint"}],body:[0,[[13,"offset",[7,"disc","x"]],[13,"size",[7,"disc","y"]],[13,"bright",[7,"disc","z"]],[13,"hollow",[7,"disc","w"]],[13,"r",[7,"tint","x"]],[13,"g",[7,"tint","y"]],[13,"b",[7,"tint","z"]],[13,"gPhase",[7,"tint","w"]],[13,"ghostPos",[6,[7,"lightPos","add"],[[6,[7,"flareAxis","mul"],[[1,[1,"offset","*","ghostSpread"],"*",[5,"2"]]]]]]],[13,"toGhost",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[7,"ghostPos","x"]],"*","aspect"],[1,[7,"uv","y"],"-",[7,"ghostPos","y"]]]]],[13,"dist",[6,"std.length",["toGhost"]]],[13,"sz","size"],[13,"discShape",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"sz","*",[5,"0.12"]],"sz","dist"]]]],[13,"innerFade",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"sz","*",[5,"0.05"]],[1,"sz","*",[5,"0.45"]],"dist"]]]],[13,"shape",[1,"discShape","*",[1,[5,"1"],"-",[1,"innerFade","*","hollow"]]]],[13,"gShimmer",[1,[1,[1,[6,"std.sin",[[1,[1,"t","*",[5,"4.3"]],"+","gPhase"]]],"*",[5,"0.08"]],"+",[1,[6,"std.sin",[[1,[1,"t","*",[5,"9.1"]],"+",[1,"gPhase","*",[5,"1.7"]]]]],"*",[5,"0.05"]]],"+",[5,"0.95"]]],[13,"ringCenter",[1,"sz","*",[5,"0.78"]]],[13,"chromaSpread",[1,[1,"sz","*","ghostChroma"],"*",[5,"0.14"]]],[13,"ringWidth",[1,"sz","*",[5,"0.1"]]],[13,"ring",[6,"lightfields.chromaticRingBand",["dist","ringCenter","chromaSpread","ringWidth"]]],[13,"rRing",[7,"ring","x"]],[13,"gRing",[7,"ring","y"]],[13,"bRing",[7,"ring","z"]],[13,"brightness",[1,[1,"bright","*","ghostInt"],"*","gShimmer"]],[10,[6,"d.vec3f",[[1,[1,[1,"shape","*","r"],"+",[1,"rRing","*","ghostChroma"]],"*","brightness"],[1,[1,[1,"shape","*","g"],"+",[1,"gRing","*","ghostChroma"]],"*","brightness"],[1,[1,[1,"shape","*","b"],"+",[1,"bRing","*","ghostChroma"]],"*","brightness"]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.smoothstep":()=>re,"std.sin":()=>Y,"lightfields.chromaticRingBand":()=>Hl,"d.vec3f":()=>f}})&&e.f)({})),QB=v.fn([l,a,l,a,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=l(__tsover_sub(1,r.x),__tsover_sub(1,r.y)),u=l(__tsover_mul(__tsover_sub(t.x,_.x),s),__tsover_sub(t.y,_.y)),m=Hl(j(u),i,__tsover_mul(__tsover_mul(i,d),.06),__tsover_add(__tsover_mul(c,.12),.005)),p=tt(u.y,u.x),y=__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(p,3),__tsover_mul(o,.5))),.12),.88);return m.mul(n).mul(y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"lightPos"},{type:"i",name:"t"},{type:"i",name:"haloInt"},{type:"i",name:"haloRad"},{type:"i",name:"haloChroma"},{type:"i",name:"haloSoft"}],body:[0,[[13,"antiLight",[6,"d.vec2f",[[1,[5,"1"],"-",[7,"lightPos","x"]],[1,[5,"1"],"-",[7,"lightPos","y"]]]]],[13,"toAntiLight",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[7,"antiLight","x"]],"*","aspect"],[1,[7,"uv","y"],"-",[7,"antiLight","y"]]]]],[13,"antiLightDist",[6,"std.length",["toAntiLight"]]],[13,"haloChromaSpread",[1,[1,"haloRad","*","haloChroma"],"*",[5,"0.06"]]],[13,"haloWidth",[1,[1,"haloSoft","*",[5,"0.12"]],"+",[5,"0.005"]]],[13,"halo",[6,"lightfields.chromaticRingBand",["antiLightDist","haloRad","haloChromaSpread","haloWidth"]]],[13,"haloAngle",[6,"std.atan2",[[7,"toAntiLight","y"],[7,"toAntiLight","x"]]]],[13,"haloAngVar",[1,[1,[6,"std.sin",[[1,[1,"haloAngle","*",[5,"3"]],"+",[1,"t","*",[5,"0.5"]]]]],"*",[5,"0.12"]],"+",[5,"0.88"]]],[10,[6,[7,[6,[7,"halo","mul"],["haloInt"]],"mul"],["haloAngVar"]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"lightfields.chromaticRingBand":()=>Hl,"std.atan2":()=>tt,"std.sin":()=>Y}})&&e.f)({})),JB=v.fn([a,l,a,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=tt(s.y,__tsover_mul(s.x,r)),_=__tsover_add(__tsover_mul(c,.5),__tsover_mul(o,.06)),u=__tsover_add(t,_),m=Sm(u,__tsover_div(i,2),3.5),p=__tsover_mul(Sm(__tsover_add(u,.25),__tsover_div(i,2),7),.4),y=__tsover_div(1,__tsover_add(1,__tsover_mul(__tsover_mul(n,n),60))),h=db(__tsover_add(__tsover_div(u,it),.5));return X(f(1,.97,.92),h,.12).mul(__tsover_mul(__tsover_mul(__tsover_add(m,p),y),d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lightAngle"},{type:"i",name:"flareAxis"},{type:"i",name:"aspect"},{type:"i",name:"t"},{type:"i",name:"lightDist"},{type:"i",name:"starburstPts"},{type:"i",name:"starburstInt"}],body:[0,[[13,"axisAng",[6,"std.atan2",[[7,"flareAxis","y"],[1,[7,"flareAxis","x"],"*","aspect"]]]],[13,"rotation",[1,[1,"axisAng","*",[5,"0.5"]],"+",[1,"t","*",[5,"0.06"]]]],[13,"spikeAngle",[1,"lightAngle","+","rotation"]],[13,"primarySpikes",[6,"lightfields.angularCosineSpikes",["spikeAngle",[1,"starburstPts","/",[5,"2"]],[5,"3.5"]]]],[13,"secondarySpikes",[1,[6,"lightfields.angularCosineSpikes",[[1,"spikeAngle","+",[5,"0.25"]],[1,"starburstPts","/",[5,"2"]],[5,"7"]]],"*",[5,"0.4"]]],[13,"radialFall",[1,[5,"1"],"/",[1,[5,"1"],"+",[1,[1,"lightDist","*","lightDist"],"*",[5,"60"]]]]],[13,"starSpectral",[6,"lensFlareSpectral",[[1,[1,"spikeAngle","/","TAU_FULL"],"+",[5,"0.5"]]]]],[13,"starTint",[6,"std.mix",[[6,"d.vec3f",[[5,"1"],[5,"0.97"],[5,"0.92"]]],"starSpectral",[5,"0.12"]]]],[10,[6,[7,"starTint","mul"],[[1,[1,[1,"primarySpikes","+","secondarySpikes"],"*","radialFall"],"*","starburstInt"]]]]]]},externals:{"std.atan2":()=>tt,"lightfields.angularCosineSpikes":()=>Sm,lensFlareSpectral:()=>db,TAU_FULL:()=>it,"std.mix":()=>X,"d.vec3f":()=>f}})&&e.f)({})),eW=v.fn([l,l,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=z(__tsover_sub(t.y,s.y)),i=z(__tsover_sub(t.x,s.x)),d=ct(__tsover_mul(__tsover_mul(-800,n),n)),c=__tsover_add(__tsover_mul(__tsover_mul(r,r),.25),.001),_=ct(__tsover_div(__tsover_mul(__tsover_mul(-1,i),i),__tsover_mul(c,.7))),u=ct(__tsover_div(__tsover_mul(__tsover_mul(-1,i),i),c)),m=ct(__tsover_div(__tsover_mul(__tsover_mul(-1,i),i),__tsover_mul(c,1.4)));return f(__tsover_mul(__tsover_mul(d,_),.5),__tsover_mul(__tsover_mul(d,u),.65),__tsover_mul(__tsover_mul(d,m),.9)).mul(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"lightPos"},{type:"i",name:"streakLen"},{type:"i",name:"streakInt"}],body:[0,[[13,"dy",[6,"std.abs",[[1,[7,"uv","y"],"-",[7,"lightPos","y"]]]]],[13,"dx",[6,"std.abs",[[1,[7,"uv","x"],"-",[7,"lightPos","x"]]]]],[13,"vertFall",[6,"std.exp",[[1,[1,[4,"-",[5,"800"]],"*","dy"],"*","dy"]]]],[13,"lenSq",[1,[1,[1,"streakLen","*","streakLen"],"*",[5,"0.25"]],"+",[5,"0.001"]]],[13,"rStreak",[6,"std.exp",[[1,[1,[1,[4,"-",[5,"1"]],"*","dx"],"*","dx"],"/",[1,"lenSq","*",[5,"0.7"]]]]]],[13,"gStreak",[6,"std.exp",[[1,[1,[1,[4,"-",[5,"1"]],"*","dx"],"*","dx"],"/","lenSq"]]]],[13,"bStreak",[6,"std.exp",[[1,[1,[1,[4,"-",[5,"1"]],"*","dx"],"*","dx"],"/",[1,"lenSq","*",[5,"1.4"]]]]]],[10,[6,[7,[6,"d.vec3f",[[1,[1,"vertFall","*","rStreak"],"*",[5,"0.5"]],[1,[1,"vertFall","*","gStreak"],"*",[5,"0.65"]],[1,[1,"vertFall","*","bStreak"],"*",[5,"0.9"]]]],"mul"],["streakInt"]]]]]},externals:{"std.abs":()=>z,"std.exp":()=>ct,"d.vec3f":()=>f}})&&e.f)({})),tW=v.fn([a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Qg(t,__tsover_div(1,__tsover_add(__tsover_mul(s,s),.01)));return f(1,.98,.95).mul(__tsover_mul(o,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lightDist"},{type:"i",name:"glareSz"},{type:"i",name:"glareInt"}],body:[0,[[13,"glareSharpness",[1,[5,"1"],"/",[1,[1,"glareSz","*","glareSz"],"+",[5,"0.01"]]]],[13,"glareFalloff",[6,"lightfields.radialGaussianFalloff",["lightDist","glareSharpness"]]],[10,[6,[7,[6,"d.vec3f",[[5,"1"],[5,"0.98"],[5,"0.95"]]],"mul"],[[1,"glareFalloff","*","glareInt"]]]]]]},externals:{"lightfields.radialGaussianFalloff":()=>Qg,"d.vec3f":()=>f}})&&e.f)({})),sW=v.fn([a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=ct(__tsover_mul(__tsover_mul(-500,t),t)),o=__tsover_sub(1,re(0,.025,t));return f(1,.98,.96).mul(__tsover_mul(__tsover_add(r,__tsover_mul(o,1.5)),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lightDist"},{type:"i",name:"intensity"}],body:[0,[[13,"coreSoft",[6,"std.exp",[[1,[1,[4,"-",[5,"500"]],"*","lightDist"],"*","lightDist"]]]],[13,"coreSharp",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],[5,"0.025"],"lightDist"]]]],[10,[6,[7,[6,"d.vec3f",[[5,"1"],[5,"0.98"],[5,"0.96"]]],"mul"],[[1,[1,"coreSoft","+",[1,"coreSharp","*",[5,"1.5"]]],"*","intensity"]]]]]]},externals:{"std.exp":()=>ct,"std.smoothstep":()=>re,"d.vec3f":()=>f}})&&e.f)({})),rW=v.fn([f,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.mul(s);return x(r,$(__tsover_mul(Ll(r),2),0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"flareTotal"},{type:"i",name:"masterFade"}],body:[0,[[13,"finalColor",[6,[7,"flareTotal","mul"],["masterFade"]]],[13,"flareAlpha",[6,"std.clamp",[[1,[6,"tone.luma601Dot",["finalColor"]],"*",[5,"2"]],[5,"0"],[5,"1"]]]],[10,[6,"d.vec4f",["finalColor","flareAlpha"]]]]]},externals:{"std.clamp":()=>$,"tone.luma601Dot":()=>Ll,"d.vec4f":()=>x}})&&e.f)({})),oW=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(o,.03),i=l(Br(t.mul(5).add(l(n,n))),Br(t.mul(5).add(l(31.4,31.4)).add(l(n,n)))).sub(l(.5,.5)),d=l(__tsover_div(1,s.x),__tsover_div(1,s.y));return t.add(i.mul(r).mul(d).mul(8))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"bleed"},{type:"i",name:"time"}],body:[0,[[13,"t",[1,"time","*",[5,"0.03"]]],[13,"wob",[6,[7,[6,"d.vec2f",[[6,"noise.value12",[[6,[7,[6,[7,"uv","mul"],[[5,"5"]]],"add"],[[6,"d.vec2f",["t","t"]]]]]],[6,"noise.value12",[[6,[7,[6,[7,[6,[7,"uv","mul"],[[5,"5"]]],"add"],[[6,"d.vec2f",[[5,"31.4"],[5,"31.4"]]]]],"add"],[[6,"d.vec2f",["t","t"]]]]]]]],"sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"texel",[6,"d.vec2f",[[1,[5,"1"],"/",[7,"viewport","x"]],[1,[5,"1"],"/",[7,"viewport","y"]]]]],[10,[6,[7,"uv","add"],[[6,[7,[6,[7,[6,[7,"wob","mul"],["bleed"]],"mul"],["texel"]],"mul"],[[5,"8"]]]]]]]]},externals:{"d.vec2f":()=>l,"noise.value12":()=>Br}})&&e.f)({})),nW=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return l(__tsover_add(t.x,__tsover_div(r,s.x)),__tsover_add(t.y,__tsover_div(o,s.y)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvBase"},{type:"i",name:"viewport"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"uvBase","x"],"+",[1,"ox","/",[7,"viewport","x"]]],[1,[7,"uvBase","y"],"+",[1,"oy","/",[7,"viewport","y"]]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),aW=v.fn([l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return Br(t.mul(s).mul(.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[10,[6,"noise.value12",[[6,[7,[6,[7,"uv","mul"],["viewport"]],"mul"],[[5,"0.5"]]]]]]]]},externals:{"noise.value12":()=>Br}})&&e.f)({})),iW=v.fn([x,x,x,x,f,f,f,f,a,x,x,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p,y,h)=>{"use gpu";let g=t.mul(_),w=s.mul(_),S=r.mul(_),T=o.mul(_),A=f(g.x,g.y,g.z),P=f(w.x,w.y,w.z),U=f(S.x,S.y,S.z),D=f(T.x,T.y,T.z),O=n.mul(_).sub(A.mul(A)),L=i.mul(_).sub(P.mul(P)),G=d.mul(_).sub(U.mul(U)),W=c.mul(_).sub(D.mul(D)),K=__tsover_add(__tsover_add(O.x,O.y),O.z),Q=__tsover_add(__tsover_add(L.x,L.y),L.z),te=__tsover_add(__tsover_add(G.x,G.y),G.z),ee=__tsover_add(__tsover_add(W.x,W.y),W.z),he=x(g.x,g.y,g.z,g.w),Ee=K;he=C(he,w,Qf,"d.vec4f":()=>x,"std.select":()=>C,"std.min":()=>oe,"blend.unpremultiplyAlpha":()=>dn,"std.mix":()=>X}})&&e.f)({})),cb=Math.sin(.785),_b=Math.cos(.785),lb=Math.sin(-.785),ub=Math.cos(-.785),Xd=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ot(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"noise.hash12",["p"]]]]]},externals:{"noise.hash12":()=>Ot}})&&e.f)({})),Bm=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=ue(t),o=r.mul(r).mul(r.mul(-2).add(3)),n=Xd(s),i=Xd(l(__tsover_add(s.x,1),s.y)),d=Xd(l(s.x,__tsover_add(s.y,1))),c=Xd(l(__tsover_add(s.x,1),__tsover_add(s.y,1)));return X(X(n,i,o.x),X(d,c,o.x),o.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,"std.fract",["p"]]],[13,"u",[6,[7,[6,[7,"f","mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[4,"-",[5,"2"]]]],"add"],[[5,"3"]]]]]],[13,"a",[6,"chalkHash21",["i"]]],[13,"b",[6,"chalkHash21",[[6,"d.vec2f",[[1,[7,"i","x"],"+",[5,"1"]],[7,"i","y"]]]]]],[13,"c",[6,"chalkHash21",[[6,"d.vec2f",[[7,"i","x"],[1,[7,"i","y"],"+",[5,"1"]]]]]]],[13,"dd",[6,"chalkHash21",[[6,"d.vec2f",[[1,[7,"i","x"],"+",[5,"1"]],[1,[7,"i","y"],"+",[5,"1"]]]]]]],[10,[6,"std.mix",[[6,"std.mix",["a","b",[7,"u","x"]]],[6,"std.mix",["c","dd",[7,"u","x"]]],[7,"u","y"]]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,chalkHash21:()=>Xd,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),dW=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return se(f(t.x,t.y,t.z),f(.299,.587,.114))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,"std.dot",[[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),cW=v.fn([l,l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_div(1,s.x),d=__tsover_div(1,s.y);return l(__tsover_add(t.x,__tsover_mul(__tsover_mul(i,r),o)),__tsover_add(t.y,__tsover_mul(__tsover_mul(d,r),n)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"edgeThickness"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[13,"texelX",[1,[5,"1"],"/",[7,"viewport","x"]]],[13,"texelY",[1,[5,"1"],"/",[7,"viewport","y"]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[1,"texelX","*","edgeThickness"],"*","ox"]],[1,[7,"uv","y"],"+",[1,[1,"texelY","*","edgeThickness"],"*","oy"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),el=v.fn([l,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_add(__tsover_mul(t.x,o),__tsover_mul(t.y,n)),c=__tsover_mul(z(__tsover_sub(ue(__tsover_div(d,s)),.5)),2),_=__tsover_sub(1,re(0,.35,c));return __tsover_mul(_,De(i,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"P"},{type:"i",name:"hatchScale"},{type:"i",name:"shade"},{type:"i",name:"sa"},{type:"i",name:"ca"},{type:"i",name:"thr"}],body:[0,[[13,"ry",[1,[1,[7,"P","x"],"*","sa"],"+",[1,[7,"P","y"],"*","ca"]]],[13,"hl",[1,[6,"std.abs",[[1,[6,"std.fract",[[1,"ry","/","hatchScale"]]],"-",[5,"0.5"]]]],"*",[5,"2"]]],[13,"line",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],[5,"0.35"],"hl"]]]],[10,[1,"line","*",[6,"std.step",["thr","shade"]]]]]]},externals:{"std.abs":()=>z,"std.fract":()=>ue,"std.smoothstep":()=>re,"std.step":()=>De}})&&e.f)({})),_W=v.fn([x,x,l,l,x,x,x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=t.x,u=t.y,m=t.z,p=t.w,y=s.x,h=s.y,g=s.z,w=s.w,S=n.x,T=n.y,A=i.x,P=i.y,U=i.z,D=i.w,O=__tsover_add(__tsover_add(__tsover_add(__tsover_sub(__tsover_sub(-_,__tsover_mul(p,2)),h),m),__tsover_mul(y,2)),w),L=__tsover_add(__tsover_add(__tsover_add(__tsover_sub(__tsover_sub(-_,__tsover_mul(u,2)),m),h),__tsover_mul(g,2)),w),G=be(__tsover_add(__tsover_mul(O,O),__tsover_mul(L,L))),W=X(a(1),.08,A),K=re(__tsover_mul(W,.4),W,G),Q=__tsover_sub(1,S),te=r.mul(o),ee=__tsover_mul(b(b(el(te,P,Q,cb,_b,.22),el(te,P,Q,lb,ub,.5)),el(te,P,Q,0,1,.78)),U),he=X(__tsover_sub(1,D),a(1),Bm(te.mul(.5))),Ee=$(__tsover_mul(b(K,ee),he),0,1),Te=__tsover_mul(__tsover_sub(Bm(te.mul(.9)),.5),.04);return x(X(d.xyz.add(Te),c.xyz,f(Ee)),T)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sobelA"},{type:"i",name:"sobelB"},{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"misc"},{type:"i",name:"params"},{type:"i",name:"boardColor"},{type:"i",name:"chalkColor"}],body:[0,[[13,"tl",[7,"sobelA","x"]],[13,"t",[7,"sobelA","y"]],[13,"tr",[7,"sobelA","z"]],[13,"l",[7,"sobelA","w"]],[13,"r",[7,"sobelB","x"]],[13,"bl",[7,"sobelB","y"]],[13,"bo",[7,"sobelB","z"]],[13,"br",[7,"sobelB","w"]],[13,"centerLum",[7,"misc","x"]],[13,"centerAlpha",[7,"misc","y"]],[13,"edgeSensitivity",[7,"params","x"]],[13,"hatchScale",[7,"params","y"]],[13,"shading",[7,"params","z"]],[13,"grain",[7,"params","w"]],[13,"gx",[1,[1,[1,[1,[1,[4,"-","tl"],"-",[1,"l","*",[5,"2"]]],"-","bl"],"+","tr"],"+",[1,"r","*",[5,"2"]]],"+","br"]],[13,"gy",[1,[1,[1,[1,[1,[4,"-","tl"],"-",[1,"t","*",[5,"2"]]],"-","tr"],"+","bl"],"+",[1,"bo","*",[5,"2"]]],"+","br"]],[13,"edgeMag",[6,"std.sqrt",[[1,[1,"gx","*","gx"],"+",[1,"gy","*","gy"]]]]],[13,"edgeHigh",[6,"std.mix",[[6,"d.f32",[[5,"1"]]],[5,"0.08"],"edgeSensitivity"]]],[13,"edge",[6,"std.smoothstep",[[1,"edgeHigh","*",[5,"0.4"]],"edgeHigh","edgeMag"]]],[13,"shade",[1,[5,"1"],"-","centerLum"]],[13,"P",[6,[7,"uv","mul"],["viewport"]]],[13,"hatch",[1,[6,"std.max",[[6,"std.max",[[6,"chalkHatchLine",["P","hatchScale","shade","SIN_045","COS_045",[5,"0.22"]]],[6,"chalkHatchLine",["P","hatchScale","shade","SIN_N45","COS_N45",[5,"0.5"]]]]],[6,"chalkHatchLine",["P","hatchScale","shade",[5,"0"],[5,"1"],[5,"0.78"]]]]],"*","shading"]],[13,"dust",[6,"std.mix",[[1,[5,"1"],"-","grain"],[6,"d.f32",[[5,"1"]]],[6,"chalkVnoise",[[6,[7,"P","mul"],[[5,"0.5"]]]]]]]],[13,"chalkMask",[6,"std.clamp",[[1,[6,"std.max",["edge","hatch"]],"*","dust"],[5,"0"],[5,"1"]]]],[13,"boardGrain",[1,[1,[6,"chalkVnoise",[[6,[7,"P","mul"],[[5,"0.9"]]]]],"-",[5,"0.5"]],"*",[5,"0.04"]]],[13,"boardRGB",[6,[7,[7,"boardColor","xyz"],"add"],["boardGrain"]]],[13,"col",[6,"std.mix",["boardRGB",[7,"chalkColor","xyz"],[6,"d.vec3f",["chalkMask"]]]]],[10,[6,"d.vec4f",["col","centerAlpha"]]]]]},externals:{"std.sqrt":()=>be,"std.mix":()=>X,"d.f32":()=>a,"std.smoothstep":()=>re,"std.max":()=>b,chalkHatchLine:()=>el,SIN_045:()=>cb,COS_045:()=>_b,SIN_N45:()=>lb,COS_N45:()=>ub,chalkVnoise:()=>Bm,"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),mb=1080,Wm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cellCenter:l,cellUV:l,isOutside:a}),"AsciiGrid"),lW=v.fn([l,l,a,a],Wm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_div(s.y,mb),i=__tsover_mul(r,n),d=l(__tsover_div(s.x,i),__tsover_div(s.y,i)),c=l(__tsover_mul(t.x,d.x),__tsover_mul(t.y,d.y)),_=q(c),u=ue(c),m=__tsover_sub(u.x,.5),p=__tsover_sub(u.y,.5),y=l(__tsover_add(__tsover_div(m,o),.5),__tsover_add(__tsover_div(p,o),.5)),h=__tsover_mul(o,.5),g=C(a(0),a(1),z(m)>h||z(p)>h);return Wm({cellCenter:l(__tsover_div(__tsover_add(_.x,.5),d.x),__tsover_div(__tsover_add(_.y,.5),d.y)),cellUV:y,isOutside:g})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cellSize"},{type:"i",name:"spacing"}],body:[0,[[13,"scaleFactor",[1,[7,"viewport","y"],"/","REFERENCE_HEIGHT"]],[13,"effectiveCellSize",[1,"cellSize","*","scaleFactor"]],[13,"mainGridSize",[6,"d.vec2f",[[1,[7,"viewport","x"],"/","effectiveCellSize"],[1,[7,"viewport","y"],"/","effectiveCellSize"]]]],[13,"gridCoords",[6,"d.vec2f",[[1,[7,"uv","x"],"*",[7,"mainGridSize","x"]],[1,[7,"uv","y"],"*",[7,"mainGridSize","y"]]]]],[13,"cellCoords",[6,"std.floor",["gridCoords"]]],[13,"rawCellUV",[6,"std.fract",["gridCoords"]]],[13,"centeredU",[1,[7,"rawCellUV","x"],"-",[5,"0.5"]]],[13,"centeredV",[1,[7,"rawCellUV","y"],"-",[5,"0.5"]]],[13,"cellUV",[6,"d.vec2f",[[1,[1,"centeredU","/","spacing"],"+",[5,"0.5"]],[1,[1,"centeredV","/","spacing"],"+",[5,"0.5"]]]]],[13,"half",[1,"spacing","*",[5,"0.5"]]],[13,"isOutside",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[3,[1,[6,"std.abs",["centeredU"]],">","half"],"||",[1,[6,"std.abs",["centeredV"]],">","half"]]]]],[13,"cellCenter",[6,"d.vec2f",[[1,[1,[7,"cellCoords","x"],"+",[5,"0.5"]],"/",[7,"mainGridSize","x"]],[1,[1,[7,"cellCoords","y"],"+",[5,"0.5"]],"/",[7,"mainGridSize","y"]]]]],[10,[6,"AsciiGrid",[[104,{cellCenter:"cellCenter",cellUV:"cellUV",isOutside:"isOutside"}]]]]]]},externals:{REFERENCE_HEIGHT:()=>mb,"d.vec2f":()=>l,"std.floor":()=>q,"std.fract":()=>ue,"std.select":()=>C,"d.f32":()=>a,"std.abs":()=>z,AsciiGrid:()=>Wm}})&&e.f)({})).$name("asciiGrid"),uW=v.fn([f,a,a,a,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ce(se(t,f(.299,.587,.114)),s),c=__tsover_sub(1,d),_=$(q(__tsover_mul(c,r)),0,__tsover_sub(r,1)),u=__tsover_sub(_,__tsover_mul(o,q(__tsover_div(_,o)))),m=q(__tsover_div(_,o)),p=__tsover_mul(__tsover_div(1,o),n),y=__tsover_mul(u,p),h=__tsover_mul(m,p);return l(__tsover_add(y,__tsover_mul(i.x,p)),__tsover_add(h,__tsover_mul(i.y,p)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellRgb"},{type:"i",name:"gamma"},{type:"i",name:"charCount"},{type:"i",name:"atlasSize"},{type:"i",name:"atlasScale"},{type:"i",name:"cellUV"}],body:[0,[[13,"rawBrightness",[6,"std.dot",["cellRgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"adjustedBrightness",[6,"std.pow",["rawBrightness","gamma"]]],[13,"invertedBrightness",[1,[5,"1"],"-","adjustedBrightness"]],[13,"scaledBrightness",[1,"invertedBrightness","*","charCount"]],[13,"charIndex",[6,"std.clamp",[[6,"std.floor",["scaledBrightness"]],[5,"0"],[1,"charCount","-",[5,"1"]]]]],[13,"atlasCol",[1,"charIndex","-",[1,"atlasSize","*",[6,"std.floor",[[1,"charIndex","/","atlasSize"]]]]]],[13,"atlasRow",[6,"std.floor",[[1,"charIndex","/","atlasSize"]]]],[13,"atlasCellSize",[1,[1,[5,"1"],"/","atlasSize"],"*","atlasScale"]],[13,"baseU",[1,"atlasCol","*","atlasCellSize"]],[13,"baseV",[1,"atlasRow","*","atlasCellSize"]],[10,[6,"d.vec2f",[[1,"baseU","+",[1,[7,"cellUV","x"],"*","atlasCellSize"]],[1,"baseV","+",[1,[7,"cellUV","y"],"*","atlasCellSize"]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.pow":()=>Ce,"std.clamp":()=>$,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})).$name("asciiAtlasUV"),mW=v.fn([f,x,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=se(t,f(.299,.587,.114))<.1,d=s.w,c=d.5),u=i||r>.5||c,m=C(_,a(0),u);return x(__tsover_mul(t.x,s.x),__tsover_mul(t.y,s.y),__tsover_mul(t.z,s.z),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"asciiRgb"},{type:"i",name:"cellColor"},{type:"i",name:"isOutside"},{type:"i",name:"alphaThreshold"},{type:"i",name:"preserveAlpha"}],body:[0,[[13,"charBrightness",[6,"std.dot",["asciiRgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"isBackground",[1,"charBrightness","<",[5,"0.1"]]],[13,"sourceAlpha",[7,"cellColor","w"]],[13,"isBelowThreshold",[1,"sourceAlpha","<","alphaThreshold"]],[13,"outputAlpha",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"sourceAlpha",[1,"preserveAlpha",">",[5,"0.5"]]]]],[13,"hide",[3,[3,"isBackground","||",[1,"isOutside",">",[5,"0.5"]]],"||","isBelowThreshold"]],[13,"finalAlpha",[6,"std.select",["outputAlpha",[6,"d.f32",[[5,"0"]]],"hide"]]],[10,[6,"d.vec4f",[[1,[7,"asciiRgb","x"],"*",[7,"cellColor","x"]],[1,[7,"asciiRgb","y"],"*",[7,"cellColor","y"]],[1,[7,"asciiRgb","z"],"*",[7,"cellColor","z"]],"finalAlpha"]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.select":()=>C,"d.f32":()=>a,"d.vec4f":()=>x}})&&e.f)({})).$name("asciiCompose");var Sz=v.fn([x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return l(__tsover_div(__tsover_sub(s.x,t.x),o),__tsover_div(__tsover_sub(r.x,t.x),o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"surf0"},{type:"i",name:"surfX"},{type:"i",name:"surfY"},{type:"i",name:"eps"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[7,"surfX","x"],"-",[7,"surf0","x"]],"/","eps"],[1,[1,[7,"surfY","x"],"-",[7,"surf0","x"]],"/","eps"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Az=v.fn([x,x,x,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return as(f($(__tsover_div(__tsover_sub(s.w,t.w),o),__tsover_mul(n,-1),n),$(__tsover_div(__tsover_sub(r.w,t.w),o),__tsover_mul(n,-1),n),-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"surf0"},{type:"i",name:"surfX"},{type:"i",name:"surfY"},{type:"i",name:"eps"},{type:"i",name:"gradClamp"}],body:[0,[[13,"ddx",[6,"std.clamp",[[1,[1,[7,"surfX","w"],"-",[7,"surf0","w"]],"/","eps"],[1,"gradClamp","*",[4,"-",[5,"1"]]],"gradClamp"]]],[13,"ddy",[6,"std.clamp",[[1,[1,[7,"surfY","w"],"-",[7,"surf0","w"]],"/","eps"],[1,"gradClamp","*",[4,"-",[5,"1"]]],"gradClamp"]]],[10,[6,"std.normalize",[[6,"d.vec3f",["ddx","ddy",[4,"-",[5,"1"]]]]]]]]]},externals:{"std.clamp":()=>$,"std.normalize":()=>as,"d.vec3f":()=>f}})&&e.f)({})),Mz=v.fn([l,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(j(t),1e-4),o=oe(s,.9995);return f(__tsover_mul(__tsover_div(t.x,r),o),__tsover_mul(__tsover_div(t.y,r),o),__tsover_mul(be(__tsover_sub(1,__tsover_mul(o,o))),-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"grad"},{type:"i",name:"sinTilt"}],body:[0,[[13,"glen",[6,"std.max",[[6,"std.length",["grad"]],[5,"0.0001"]]]],[13,"sB",[6,"std.min",["sinTilt",[5,"0.9995"]]]],[10,[6,"d.vec3f",[[1,[1,[7,"grad","x"],"/","glen"],"*","sB"],[1,[1,[7,"grad","y"],"/","glen"],"*","sB"],[1,[6,"std.sqrt",[[1,[5,"1"],"-",[1,"sB","*","sB"]]]],"*",[4,"-",[5,"1"]]]]]]]]},externals:{"std.max":()=>b,"std.length":()=>j,"std.min":()=>oe,"d.vec3f":()=>f,"std.sqrt":()=>be}})&&e.f)({})),Pz=v.fn([l,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(C(__tsover_sub(t.x,.5),s.y,r>.5),C(__tsover_sub(t.y,.5),s.z,r>.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdfUV"},{type:"i",name:"surf0"},{type:"i",name:"volumetric"}],body:[0,[[10,[6,"d.vec2f",[[6,"std.select",[[1,[7,"sdfUV","x"],"-",[5,"0.5"]],[7,"surf0","y"],[1,"volumetric",">",[5,"0.5"]]]],[6,"std.select",[[1,[7,"sdfUV","y"],"-",[5,"0.5"]],[7,"surf0","z"],[1,"volumetric",">",[5,"0.5"]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.select":()=>C}})&&e.f)({})),Ez=v.fn([a,a],ft)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t>__tsover_mul(s,2)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"pxH"}],body:[0,[[10,[1,"sdf",">",[1,"pxH","*",[5,"2"]]]]]]},externals:{}})&&e.f)({})),pb=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(__tsover_mul(s,.03125),__tsover_mul(r,o));return $(__tsover_div(__tsover_mul(t,-1),n),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"sharpEdge"},{type:"i",name:"pxH"},{type:"i",name:"minPixels"}],body:[0,[[13,"w",[6,"std.max",[[1,"sharpEdge","*",[5,"0.03125"]],[1,"pxH","*","minPixels"]]]],[10,[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","w"],[5,"0"],[5,"1"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$}})&&e.f)({})),kz=v.fn([l,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return as(f(__tsover_mul(__tsover_mul(__tsover_sub(t.x,.5),s),r),__tsover_mul(__tsover_sub(t.y,.5),r),1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"fov"}],body:[0,[[10,[6,"std.normalize",[[6,"d.vec3f",[[1,[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],"*","fov"],[1,[1,[7,"uv","y"],"-",[5,"0.5"]],"*","fov"],[5,"1"]]]]]]]]},externals:{"std.normalize":()=>as,"d.vec3f":()=>f}})&&e.f)({})),Om=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({tangent:f,bitangent:f}),"TangentFrame"),fb=v.fn([f,f],Om)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=as(s.sub(t.mul(se(t,s))));return Om({tangent:r,bitangent:f(__tsover_sub(__tsover_mul(t.y,r.z),__tsover_mul(t.z,r.y)),__tsover_sub(__tsover_mul(t.z,r.x),__tsover_mul(t.x,r.z)),__tsover_sub(__tsover_mul(t.x,r.y),__tsover_mul(t.y,r.x)))})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"normal"},{type:"i",name:"dir"}],body:[0,[[13,"T3",[6,"std.normalize",[[6,[7,"dir","sub"],[[6,[7,"normal","mul"],[[6,"std.dot",["normal","dir"]]]]]]]]],[13,"B3",[6,"d.vec3f",[[1,[1,[7,"normal","y"],"*",[7,"T3","z"]],"-",[1,[7,"normal","z"],"*",[7,"T3","y"]]],[1,[1,[7,"normal","z"],"*",[7,"T3","x"]],"-",[1,[7,"normal","x"],"*",[7,"T3","z"]]],[1,[1,[7,"normal","x"],"*",[7,"T3","y"]],"-",[1,[7,"normal","y"],"*",[7,"T3","x"]]]]]],[10,[6,"TangentFrame",[[104,{tangent:"T3",bitangent:"B3"}]]]]]]},externals:{"std.normalize":()=>as,"std.dot":()=>se,"d.vec3f":()=>f,TangentFrame:()=>Om}})&&e.f)({})),$z=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({normal:f,tangent:f,light:f,view:f,alphaAlong:a,alphaAcross:a}),"WardSpecularInput"),pW=v.fn([$z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=fb(t.normal,t.tangent),r=as(t.light.sub(t.view)),o=se(r,s.tangent),n=se(r,s.bitangent),i=$(z(se(r,t.normal)),1e-4,1),d=b(t.alphaAlong,1e-4),c=b(t.alphaAcross,1e-4),_=__tsover_div(__tsover_add(__tsover_mul(__tsover_div(o,d),__tsover_div(o,d)),__tsover_mul(__tsover_div(n,c),__tsover_div(n,c))),__tsover_mul(__tsover_add(i,1),.5));return ct(__tsover_mul(_,-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"frame",[6,"orthonormalTangentFrame",[[7,"p","normal"],[7,"p","tangent"]]]],[13,"H",[6,"std.normalize",[[6,[7,[7,"p","light"],"sub"],[[7,"p","view"]]]]]],[13,"hT",[6,"std.dot",["H",[7,"frame","tangent"]]]],[13,"hB",[6,"std.dot",["H",[7,"frame","bitangent"]]]],[13,"hN",[6,"std.clamp",[[6,"std.abs",[[6,"std.dot",["H",[7,"p","normal"]]]]],[5,"0.0001"],[5,"1"]]]],[13,"aT",[6,"std.max",[[7,"p","alphaAlong"],[5,"0.0001"]]]],[13,"aB",[6,"std.max",[[7,"p","alphaAcross"],[5,"0.0001"]]]],[13,"expo",[1,[1,[1,[1,"hT","/","aT"],"*",[1,"hT","/","aT"]],"+",[1,[1,"hB","/","aB"],"*",[1,"hB","/","aB"]]],"/",[1,[1,"hN","+",[5,"1"]],"*",[5,"0.5"]]]],[10,[6,"std.exp",[[1,"expo","*",[4,"-",[5,"1"]]]]]]]]},externals:{orthonormalTangentFrame:()=>fb,"std.normalize":()=>as,"std.dot":()=>se,"std.clamp":()=>$,"std.abs":()=>z,"std.max":()=>b,"std.exp":()=>ct}})&&e.f)({})),fW=v.fn([a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return f(__tsover_add(__tsover_mul(H(__tsover_mul(__tsover_add(t,s),ao)),.5),.5),__tsover_add(__tsover_mul(H(__tsover_mul(__tsover_add(t,r),ao)),.5),.5),__tsover_add(__tsover_mul(H(__tsover_mul(__tsover_add(t,o),ao)),.5),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"phaseR"},{type:"i",name:"phaseG"},{type:"i",name:"phaseB"}],body:[0,[[10,[6,"d.vec3f",[[1,[1,[6,"std.cos",[[1,[1,"t","+","phaseR"],"*","TWO_PI"]]],"*",[5,"0.5"]],"+",[5,"0.5"]],[1,[1,[6,"std.cos",[[1,[1,"t","+","phaseG"],"*","TWO_PI"]]],"*",[5,"0.5"]],"+",[5,"0.5"]],[1,[1,[6,"std.cos",[[1,[1,"t","+","phaseB"],"*","TWO_PI"]]],"*",[5,"0.5"]],"+",[5,"0.5"]]]]]]]},externals:{"d.vec3f":()=>f,"std.cos":()=>H,TWO_PI:()=>ao}})&&e.f)({})),Uz=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return re(0,1,pb(t,b(__tsover_mul(s,.5),.001),r,1.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"edgeSoftness"},{type:"i",name:"pxH"}],body:[0,[[13,"sharpEdge",[6,"std.max",[[1,"edgeSoftness","*",[5,"0.5"]],[5,"0.001"]]]],[10,[6,"std.smoothstep",[[5,"0"],[5,"1"],[6,"insideMask",["sdf","sharpEdge","pxH",[5,"1.5"]]]]]]]]},externals:{"std.max":()=>b,"std.smoothstep":()=>re,insideMask:()=>pb}})&&e.f)({})),Vm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({L:f,H:f}),"KeyLight"),Cz=v.fn([a,a,a],Vm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=as(f(t,s,r));return Vm({L:o,H:as(o.add(f(0,0,-1)))})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lx"},{type:"i",name:"ly"},{type:"i",name:"lz"}],body:[0,[[13,"L",[6,"std.normalize",[[6,"d.vec3f",["lx","ly","lz"]]]]],[13,"H",[6,"std.normalize",[[6,[7,"L","add"],[[6,"d.vec3f",[[5,"0"],[5,"0"],[4,"-",[5,"1"]]]]]]]]],[10,[6,"KeyLight",[[104,{L:"L",H:"H"}]]]]]]},externals:{"std.normalize":()=>as,"d.vec3f":()=>f,KeyLight:()=>Vm}})&&e.f)({})),vW=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_sub(1,$(__tsover_mul(t.z,-1),0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"n"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.clamp",[[1,[7,"n","z"],"*",[4,"-",[5,"1"]]],[5,"0"],[5,"1"]]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),Rz=v.fn([a,a,x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_mul(Ce(t,X(r.x,r.y,s)),X(r.z,r.w,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ndh"},{type:"i",name:"sharp"},{type:"i",name:"cfg"}],body:[0,[[10,[1,[6,"std.pow",["ndh",[6,"std.mix",[[7,"cfg","x"],[7,"cfg","y"],"sharp"]]]],"*",[6,"std.mix",[[7,"cfg","z"],[7,"cfg","w"],"sharp"]]]]]]},externals:{"std.pow":()=>Ce,"std.mix":()=>X}})&&e.f)({})),zz=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=a(4),o=la(t);return l($(__tsover_mul(o.y,s),__tsover_mul(r,-1),r),$(__tsover_mul(o.z,s),__tsover_mul(r,-1),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"q"},{type:"i",name:"gain"}],body:[0,[[13,"gMax",[6,"d.f32",[[5,"4"]]]],[13,"nd",[6,"perlin12d",["q"]]],[10,[6,"d.vec2f",[[6,"std.clamp",[[1,[7,"nd","y"],"*","gain"],[1,"gMax","*",[4,"-",[5,"1"]]],"gMax"]],[6,"std.clamp",[[1,[7,"nd","z"],"*","gain"],[1,"gMax","*",[4,"-",[5,"1"]]],"gMax"]]]]]]]},externals:{"d.f32":()=>a,perlin12d:()=>la,"d.vec2f":()=>l,"std.clamp":()=>$}})&&e.f)({})),Gz=v.fn([f,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return as(f(__tsover_add(t.x,s),__tsover_add(t.y,r),t.z))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"n"},{type:"i",name:"dx"},{type:"i",name:"dy"}],body:[0,[[10,[6,"std.normalize",[[6,"d.vec3f",[[1,[7,"n","x"],"+","dx"],[1,[7,"n","y"],"+","dy"],[7,"n","z"]]]]]]]]},externals:{"std.normalize":()=>as,"d.vec3f":()=>f}})&&e.f)({})),Yz=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=$(__tsover_mul(__tsover_mul(t,-1),2),0,1.2);return C(__tsover_mul($(__tsover_mul(t,-1),0,.5),2),r,s>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"volumetric"}],body:[0,[[13,"thickVol",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"*",[5,"2"]],[5,"0"],[5,"1.2"]]]],[13,"thickFlat",[1,[6,"std.clamp",[[1,"sdf","*",[4,"-",[5,"1"]]],[5,"0"],[5,"0.5"]]],"*",[5,"2"]]],[10,[6,"std.select",["thickFlat","thickVol",[1,"volumetric",">",[5,"0.5"]]]]]]]},externals:{"std.clamp":()=>$,"std.select":()=>C}})&&e.f)({})),yW=v.fn([a,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return f(ct(__tsover_mul(__tsover_mul(t,s.x),-1)),ct(__tsover_mul(__tsover_mul(t,s.y),-1)),ct(__tsover_mul(__tsover_mul(t,s.z),-1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"thickness"},{type:"i",name:"absorb"}],body:[0,[[10,[6,"d.vec3f",[[6,"std.exp",[[1,[1,"thickness","*",[7,"absorb","x"]],"*",[4,"-",[5,"1"]]]]],[6,"std.exp",[[1,[1,"thickness","*",[7,"absorb","y"]],"*",[4,"-",[5,"1"]]]]],[6,"std.exp",[[1,[1,"thickness","*",[7,"absorb","z"]],"*",[4,"-",[5,"1"]]]]]]]]]]},externals:{"d.vec3f":()=>f,"std.exp":()=>ct}})&&e.f)({})),Lz=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_mul(Y(__tsover_add(__tsover_add(__tsover_mul(t.x,1.7),__tsover_mul(s,.7)),1.7)),H(__tsover_add(__tsover_add(__tsover_mul(t.y,1.3),__tsover_mul(s,.5)),2.3))),__tsover_mul(H(__tsover_add(__tsover_add(__tsover_mul(t.x,1.4),__tsover_mul(s,.9)),8.7)),Y(__tsover_add(__tsover_add(__tsover_mul(t.y,1.6),__tsover_mul(s,.6)),5.1))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"warpInput"},{type:"i",name:"flowT"}],body:[0,[[13,"wx",[1,[6,"std.sin",[[1,[1,[1,[7,"warpInput","x"],"*",[5,"1.7"]],"+",[1,"flowT","*",[5,"0.7"]]],"+",[5,"1.7"]]]],"*",[6,"std.cos",[[1,[1,[1,[7,"warpInput","y"],"*",[5,"1.3"]],"+",[1,"flowT","*",[5,"0.5"]]],"+",[5,"2.3"]]]]]],[13,"wy",[1,[6,"std.cos",[[1,[1,[1,[7,"warpInput","x"],"*",[5,"1.4"]],"+",[1,"flowT","*",[5,"0.9"]]],"+",[5,"8.7"]]]],"*",[6,"std.sin",[[1,[1,[1,[7,"warpInput","y"],"*",[5,"1.6"]],"+",[1,"flowT","*",[5,"0.6"]]],"+",[5,"5.1"]]]]]],[10,[6,"d.vec2f",["wx","wy"]]]]]},externals:{"std.sin":()=>Y,"std.cos":()=>H,"d.vec2f":()=>l}})&&e.f)({})),Iz=v.fn([a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_sub(__tsover_mul(t,r),__tsover_mul(s,o)),u=__tsover_add(__tsover_mul(t,o),__tsover_mul(s,r)),m=l(_,u),p=re(-.7,.85,u),y=__tsover_mul(__tsover_mul(p,p),c),h=__tsover_mul(n,1);y=__tsover_add(y,__tsover_mul(__tsover_mul(re(h,__tsover_mul(h,.2),j(m.sub(l(__tsover_add(0,i),.55)))),1.7),d));let g=__tsover_mul(n,1.15);y=__tsover_add(y,__tsover_mul(__tsover_mul(re(g,__tsover_mul(g,.2),j(m.sub(l(__tsover_add(-.55,i),.18)))),1.05),d));let w=__tsover_mul(n,1);y=__tsover_add(y,__tsover_mul(__tsover_mul(re(w,__tsover_mul(w,.2),j(m.sub(l(__tsover_add(.55,i),.1)))),1),d));let S=__tsover_mul(n,1.3);y=__tsover_add(y,__tsover_mul(__tsover_mul(re(S,__tsover_mul(S,.2),j(m.sub(l(__tsover_add(.2,i),-.5)))),.7),d));let T=__tsover_mul(n,1.1);return y=__tsover_add(y,__tsover_mul(__tsover_mul(re(T,__tsover_mul(T,.2),j(m.sub(l(__tsover_add(-.35,i),-.25)))),.85),d)),y}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rx"},{type:"i",name:"ry"},{type:"i",name:"envC"},{type:"i",name:"envS"},{type:"i",name:"keyRad"},{type:"i",name:"drift"},{type:"i",name:"envStr"},{type:"i",name:"skyGain"}],body:[0,[[13,"ex",[1,[1,"rx","*","envC"],"-",[1,"ry","*","envS"]]],[13,"ey",[1,[1,"rx","*","envS"],"+",[1,"ry","*","envC"]]],[13,"p",[6,"d.vec2f",["ex","ey"]]],[13,"sky",[6,"std.smoothstep",[[4,"-",[5,"0.7"]],[5,"0.85"],"ey"]]],[12,"lum",[1,[1,"sky","*","sky"],"*","skyGain"]],[13,"r0",[1,"keyRad","*",[5,"1"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r0",[1,"r0","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[5,"0"],"+","drift"],[5,"0.55"]]]]]]]]],"*",[5,"1.7"]],"*","envStr"]]],[13,"r1",[1,"keyRad","*",[5,"1.15"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r1",[1,"r1","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[4,"-",[5,"0.55"]],"+","drift"],[5,"0.18"]]]]]]]]],"*",[5,"1.05"]],"*","envStr"]]],[13,"r2",[1,"keyRad","*",[5,"1"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r2",[1,"r2","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[5,"0.55"],"+","drift"],[5,"0.1"]]]]]]]]],"*",[5,"1"]],"*","envStr"]]],[13,"r3",[1,"keyRad","*",[5,"1.3"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r3",[1,"r3","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[5,"0.2"],"+","drift"],[4,"-",[5,"0.5"]]]]]]]]]],"*",[5,"0.7"]],"*","envStr"]]],[13,"r4",[1,"keyRad","*",[5,"1.1"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r4",[1,"r4","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[4,"-",[5,"0.35"]],"+","drift"],[4,"-",[5,"0.25"]]]]]]]]]],"*",[5,"0.85"]],"*","envStr"]]],[10,"lum"]]]},externals:{"d.vec2f":()=>l,"std.smoothstep":()=>re,"std.length":()=>j}})&&e.f)({})),Dz=new Map,vb=new Set;function v7(e){return Dz.get(e)??null}function y7(e){return vb.add(e),()=>{vb.delete(e)}}var Fz=16,Bz=64;var hW=Fz*Bz;var Wz=Za({accumulateInstances:()=>Kz,formatFloat:()=>o1,gridPlacement:()=>Nz,instanceHueShift:()=>jz,instanceVariation:()=>Hz,linePlacement:()=>Xz,placementField:()=>Vz,radialPlacement:()=>qz,sourceRect:()=>Oz}),pc=Math.PI;function Oz(e,t,s){let{p:r,L:o}=e;return[`let ${r}_cropL = ${s.left};`,`let ${r}_cropR = ${s.right};`,`let ${r}_cropT = ${s.top};`,`let ${r}_cropB = ${s.bottom};`,`let ${r}_srcCx = (${t.cx}) + (${r}_cropL - ${r}_cropR) * (${t.hw});`,`let ${r}_srcCy = (${t.cy}) + (${r}_cropT - ${r}_cropB) * (${t.hh});`,`let ${r}_srcHw = max((${t.hw}) * (1.0 - ${r}_cropL - ${r}_cropR), ${o(1e-6)});`,`let ${r}_srcHh = max((${t.hh}) * (1.0 - ${r}_cropT - ${r}_cropB), ${o(1e-6)});`,`let ${r}_srcHwSq = ${r}_srcHw * ${r}_aspect;`,`let ${r}_srcHhSq = ${r}_srcHh;`]}function Vz(e,t){let{p:s,L:r}=e;return[`let ${s}_fieldCenterSq = vec2f((${t.cx}) * ${s}_aspect, ${t.cy});`,`let ${s}_fieldHwSq = max((${t.hw}) * ${s}_aspect, ${r(1e-6)});`,`let ${s}_fieldHh = max(${t.hh}, ${r(1e-6)});`]}function Nz(e,t){return{requested:()=>`(${e.columns} * ${e.rows})`,body:s=>{let{p:r,L:o}=s,n=[`let ${r}_cols = ${e.columns};`,`let ${r}_rows = ${e.rows};`,`let ${r}_col = ${r}_j - ${r}_cols * floor(${r}_j / ${r}_cols);`,`let ${r}_row = floor(${r}_j / ${r}_cols);`,`let ${r}_gapXSq = ${e.gapX} * ${r}_aspect;`,`let ${r}_gapY = ${e.gapY};`,`let ${r}_fieldW = ${r}_fieldHwSq * 2.0;`,`let ${r}_fieldH = ${r}_fieldHh * 2.0;`,`let ${r}_pitchX = (${r}_fieldW - ${r}_gapXSq * (${r}_cols - 1.0)) / ${r}_cols;`,`let ${r}_pitchY = (${r}_fieldH - ${r}_gapY * (${r}_rows - 1.0)) / ${r}_rows;`,`let ${r}_periodX = ${r}_pitchX + ${r}_gapXSq;`,`let ${r}_periodY = ${r}_pitchY + ${r}_gapY;`,`${r}_cellFitInv = max(${r}_srcHwSq * 2.0 / max(${r}_pitchX, ${o(1e-5)}), ${r}_srcHhSq * 2.0 / max(${r}_pitchY, ${o(1e-5)}));`,`let ${r}_rowMod2 = ${r}_row - 2.0 * floor(${r}_row / 2.0);`,`let ${r}_staggerOff = ${r}_rowMod2 * ${e.stagger} * ${r}_periodX;`,`let ${r}_cxArg = ${r}_col * ${r}_periodX + ${r}_staggerOff + ${r}_phase * ${r}_periodX;`,`let ${r}_cxMod = ${r}_periodX * ${r}_cols;`,`let ${r}_cellX = ${r}_cxArg - ${r}_cxMod * floor(${r}_cxArg / ${r}_cxMod);`,`let ${r}_cyArg = ${r}_row * ${r}_periodY + ${r}_phase * ${r}_periodY;`,`let ${r}_cyMod = ${r}_periodY * ${r}_rows;`,`let ${r}_cellY = ${r}_cyArg - ${r}_cyMod * floor(${r}_cyArg / ${r}_cyMod);`,`${r}_pos = vec2f(${r}_fieldCenterSq.x - ${r}_fieldW * 0.5 + ${r}_pitchX * 0.5 + ${r}_cellX, ${r}_fieldCenterSq.y - ${r}_fieldH * 0.5 + ${r}_pitchY * 0.5 + ${r}_cellY);`];return(t===1||t===3)&&n.push(`${r}_flipX = 1.0 - (${r}_col - 2.0 * floor(${r}_col / 2.0)) * 2.0;`),(t===2||t===3)&&n.push(`${r}_flipY = 1.0 - (${r}_row - 2.0 * floor(${r}_row / 2.0)) * 2.0;`),n}}}function qz(e,t){return{requested:()=>t.count,body:s=>{let{p:r,L:o}=s;return[`let ${r}_cSq = ${e};`,`let ${r}_sweep = ${t.sweep} * ${o(pc/180)};`,`let ${r}_start = ${t.startAngle} * ${o(pc/180)};`,`let ${r}_ang = ${r}_start + ${r}_sweep * (${r}_j / ${r}_totalN) + ${r}_phase * ${r}_sweep;`,`${r}_pos = ${r}_cSq + vec2f(cos(${r}_ang), sin(${r}_ang)) * ${t.radius};`,`${r}_layoutRot = select(0.0, ${r}_ang + ${o(pc/2)}, ${t.faceCenter} > 0.0);`]}}}function Xz(e,t){return{requested:()=>t.count,body:s=>{let{p:r,L:o}=s;return[`let ${r}_cSq = ${e};`,`let ${r}_dirRad = ${t.direction} * ${o(pc/180)};`,`let ${r}_dir = vec2f(cos(${r}_dirRad), sin(${r}_dirRad));`,`let ${r}_tArg = ${r}_j + ${r}_phase;`,`let ${r}_t = ${r}_tArg - ${r}_totalN * floor(${r}_tArg / ${r}_totalN);`,`${r}_pos = ${r}_cSq + ${r}_dir * ${t.spacing} * ${r}_t;`]}}}function Hz(e,t){let{p:s,L:r}=e,o=n=>`fract(sin((${s}_hashBase + ${r(n)}) * 78.233) * 43758.5453)`;return[`let ${s}_hashBase = ${s}_j + ${s}_seed * 7.0;`,`let ${s}_h1 = ${o(.123)};`,`let ${s}_h2 = ${o(5.456)};`,`let ${s}_h3 = ${o(9.789)};`,`let ${s}_h4 = ${o(13.21)};`,`let ${s}_h5 = ${o(17.65)};`,`let ${s}_scale = max(pow(${t.scale}, ${s}_j) * (1.0 + ${t.jitterScale} * (${s}_h3 - 0.5)), ${r(1e-4)});`,`let ${s}_rot = ${s}_layoutRot + ${t.rotation} * ${s}_j + ${t.jitterRotation} * (${s}_h4 - 0.5) * ${r(pc*2)};`,`let ${s}_instOpacity = pow(${t.opacity}, ${s}_j) * (1.0 - ${t.jitterOpacity} * ${s}_h5);`,`${s}_pos = ${s}_pos + vec2f((${s}_h1 - 0.5) * ${s}_fieldHwSq, (${s}_h2 - 0.5) * ${s}_fieldHh) * ${t.jitterPosition};`]}function jz(e,t){let{p:s,L:r}=e;return[`let ${s}_hueAngle = ${t} * ${s}_j;`,`let ${s}_cosH = cos(${s}_hueAngle);`,`let ${s}_sinH = sin(${s}_hueAngle);`,`let ${s}_kOMC = (1.0 - ${s}_cosH) * ${r(1/3)};`,`let ${s}_sOS3 = ${s}_sinH / 1.7320508075688772;`,`let ${s}_mA = ${s}_cosH + ${s}_kOMC;`,`let ${s}_mB = ${s}_kOMC - ${s}_sOS3;`,`let ${s}_mC = ${s}_kOMC + ${s}_sOS3;`,`${s}_rgb = vec3f(${s}_src.r * ${s}_mA + ${s}_src.g * ${s}_mB + ${s}_src.b * ${s}_mC, ${s}_src.r * ${s}_mC + ${s}_src.g * ${s}_mA + ${s}_src.b * ${s}_mB, ${s}_src.r * ${s}_mB + ${s}_src.g * ${s}_mC + ${s}_src.b * ${s}_mA);`]}function Kz(e,t){let{p:s}=e,r=[];r.push(`let ${s}_totalN = min(max(${t.placement.requested()}, 1.0), 64.0);`),r.push(`var ${s}_accum = vec4f(0.0, 0.0, 0.0, 0.0);`),r.push(`var ${s}_cellFitInv = 1.0;`);let o=[];o.push(`let ${s}_fi = f32(${s}_i);`),o.push(t.zBack?`let ${s}_j = ${s}_totalN - 1.0 - ${s}_fi;`:`let ${s}_j = ${s}_fi;`),o.push(`var ${s}_pos = vec2f(0.0, 0.0);`),o.push(`var ${s}_layoutRot = 0.0;`),o.push(`var ${s}_flipX = 1.0;`),o.push(`var ${s}_flipY = 1.0;`),o.push(...t.placement.body(e)),o.push(...t.variation),o.push(`let ${s}_negRot = -${s}_rot;`),o.push(`let ${s}_cosA = cos(${s}_negRot);`),o.push(`let ${s}_sinA = sin(${s}_negRot);`),o.push(`let ${s}_d0 = ${s}_pix - ${s}_pos;`),o.push(`let ${s}_dr = vec2f(${s}_d0.x * ${s}_cosA - ${s}_d0.y * ${s}_sinA, ${s}_d0.x * ${s}_sinA + ${s}_d0.y * ${s}_cosA);`),o.push(`let ${s}_dl = ${s}_dr / ${s}_scale;`),o.push(`let ${s}_localU = ${s}_dl.x * ${s}_flipX * ${s}_cellFitInv / (${s}_srcHwSq * 2.0) + 0.5;`),o.push(`let ${s}_localV = ${s}_dl.y * ${s}_flipY * ${s}_cellFitInv / (${s}_srcHhSq * 2.0) + 0.5;`);let n=[];n.push(`let ${s}_sampleUV = vec2f(${s}_srcCx - ${s}_srcHw + ${s}_localU * ${s}_srcHw * 2.0, ${s}_srcCy - ${s}_srcHh + ${s}_localV * ${s}_srcHh * 2.0);`),n.push(`let ${s}_src = textureSampleLevel(tex.$.${t.texKey}, samp.$.linearClamp, ${s}_sampleUV, 0.0);`),n.push(`var ${s}_rgb = ${s}_src.rgb;`),n.push(...t.hue),n.push(`let ${s}_a = ${s}_src.a * ${s}_instOpacity;`),n.push(`let ${s}_premul = ${s}_rgb * ${s}_a;`),n.push(`${s}_accum = vec4f(${s}_premul + ${s}_accum.rgb * (1.0 - ${s}_a), ${s}_a + ${s}_accum.a * (1.0 - ${s}_a));`),o.push(`if (${s}_localU >= 0.0 && ${s}_localU <= 1.0 && ${s}_localV >= 0.0 && ${s}_localV <= 1.0) {`);for(let i of n)o.push(` ${i}`);o.push("}"),r.push(`for (var ${s}_i = 0u; ${s}_i < u32(${s}_totalN); ${s}_i++) {`);for(let i of o)r.push(` ${i}`);return r.push("}"),r}function _o(){if(typeof window>"u")return!1;let e=!!(window.matchMedia&&window.matchMedia("(pointer: coarse)").matches),t=Math.max(window.innerWidth||0,window.innerHeight||0);return e&&t>0&&t<=1366}function h7(){return _o()?1.5:2}var xW=_o()?24:50;var Zz=14,gW=Zz+1,Hp="rgba32float";var x7=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({dt:a,trackersF:a,agility:a,threshold:a,variance:a,lifespan:a}),"TrackParams"),bW=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({src:{texture:ps(a)},grid:{storageTexture:Mo(Hp,"write-only")},params:{uniform:x7}}),"featureLayout"),wW=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({src:{texture:ps(a)},featGrid:{texture:ps(a),sampleType:"unfilterable-float"},prev:{texture:ps(a),sampleType:"unfilterable-float"},next:{storageTexture:Mo(Hp,"write-only")},present:{storageTexture:Mo(Hp,"write-only")},params:{uniform:x7}}),"trackLayout"),TW=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(__tsover_mul(Y(t),43758.5453123))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"}],body:[0,[[10,[6,"std.fract",[[1,[6,"std.sin",["x"]],"*",[5,"43758.5453123"]]]]]]]},externals:{"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),"trackHash");function Qz(e={}){let t=e.smoothing??.2,s=e.teleportGuard??.25,r=e.minDrag??6e-4,o=e.initialX??.5,n=e.initialY??.5,i=0,d=0,c=!1,_=!1;return{update(u,m){let p=u?.seen===!1;p?c=!0:u?.x!==void 0&&c&&!_&&(_=!0,o=u.x,n=u.y??n);let y=o,h=n,g=p?o:u?.x??o,w=p?n:u?.y??n,S=g-y,T=w-h,A=Math.sqrt(S*S+T*T),P=A>=s;o=g,n=w;let U=P?0:S,D=P?0:T,O=1/Math.max(m,.001),L=U*O,G=D*O;return i=i*(1-t)+L*t,d=d*(1-t)+G*t,{x:g,y:w,prevX:y,prevY:h,dx:U,dy:D,dragDist:A,velX:L,velY:G,smoothVelX:i,smoothVelY:d,smoothSpeed:Math.sqrt(i*i+d*d),teleport:P,moving:!P&&A>r}}}}var yb=3,jp=Math.exp(-(yb*yb)),hb=1/(1-jp),Kp=.004,g7="rgba16float";function Jz(e){return v.bindGroupLayout({readBuf:{storage:pt(a,e),access:"readonly"},writeBuf:{storage:pt(a,e),access:"mutable"},params:{uniform:(globalThis.__TYPEGPU_AUTONAME__??(t=>t))(ut({cursorX:a,cursorY:a,cursorSpeed:a,dt:a,damping:a,radius:a,aspect:a}),"uniform")}})}function eG(e){return v.bindGroupLayout({srcBuf:{storage:pt(a,e),access:"readonly"},dispTex:{storageTexture:Mo(g7,"write-only")}})}var xb=new Map;function tG(e){let t=xb.get(e);if(t)return t;let s=e*e,r=e-1,o=Jz(s),n=eG(s),i={resolution:e,propagateLayout:o,gradientLayout:n,propagateKernel:v.fn([R,R])((d=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(d.f=((c,_)=>{"use gpu";if(c>R(0)&&cR(0)&&_=1),L=C(__tsover_div(__tsover_sub(D,u.cursorY),u.aspect),__tsover_sub(D,u.cursorY),u.aspect>=1),G=__tsover_add(__tsover_mul(O,O),__tsover_mul(L,L)),W=__tsover_mul(u.radius,3);if(G<__tsover_mul(W,W)&&u.cursorSpeed>.01){let K=__tsover_mul(__tsover_sub(ct(__tsover_mul(__tsover_div(G,__tsover_mul(u.radius,u.radius)),-1)),jp),hb);P=__tsover_sub(P,__tsover_mul(__tsover_mul(__tsover_mul(K,u.cursorSpeed),u.dt),3))}o.$.writeBuf[p]=P}}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[11,[3,[3,[3,[1,"cx",">",[6,"d.u32",[[5,"0"]]]],"&&",[1,"cx","<",[6,"d.u32",["gridMax"]]]],"&&",[1,"cy",">",[6,"d.u32",[[5,"0"]]]]],"&&",[1,"cy","<",[6,"d.u32",["gridMax"]]]],[0,[[13,"p",[7,[7,"propagateLayout","$"],"params"]],[13,"gs",[6,"d.u32",["resolution"]]],[13,"idx",[1,[1,"cy","*","gs"],"+","cx"]],[13,"left",[8,[7,[7,"propagateLayout","$"],"readBuf"],[1,"idx","-",[6,"d.u32",[[5,"1"]]]]]],[13,"right",[8,[7,[7,"propagateLayout","$"],"readBuf"],[1,"idx","+",[6,"d.u32",[[5,"1"]]]]]],[13,"up",[8,[7,[7,"propagateLayout","$"],"readBuf"],[1,"idx","-","gs"]]],[13,"down",[8,[7,[7,"propagateLayout","$"],"readBuf"],[1,"idx","+","gs"]]],[13,"avg",[1,[1,[1,[1,"left","+","right"],"+","up"],"+","down"],"*",[5,"0.5"]]],[13,"prev",[8,[7,[7,"propagateLayout","$"],"writeBuf"],"idx"]],[13,"dampFactor",[1,[5,"1"],"-",[1,[7,"p","damping"],"*","DAMPING_SCALE"]]],[12,"next",[1,[1,"avg","-","prev"],"*","dampFactor"]],[13,"cellX",[1,[1,[6,"d.f32",["cx"]],"+",[5,"0.5"]],"/",[6,"d.f32",["resolution"]]]],[13,"cellY",[1,[1,[6,"d.f32",["cy"]],"+",[5,"0.5"]],"/",[6,"d.f32",["resolution"]]]],[13,"ddx",[6,"std.select",[[1,"cellX","-",[7,"p","cursorX"]],[1,[1,"cellX","-",[7,"p","cursorX"]],"*",[7,"p","aspect"]],[1,[7,"p","aspect"],">=",[5,"1"]]]]],[13,"ddy",[6,"std.select",[[1,[1,"cellY","-",[7,"p","cursorY"]],"/",[7,"p","aspect"]],[1,"cellY","-",[7,"p","cursorY"]],[1,[7,"p","aspect"],">=",[5,"1"]]]]],[13,"distSq",[1,[1,"ddx","*","ddx"],"+",[1,"ddy","*","ddy"]]],[13,"influenceRadius",[1,[7,"p","radius"],"*",[5,"3"]]],[11,[3,[1,"distSq","<",[1,"influenceRadius","*","influenceRadius"]],"&&",[1,[7,"p","cursorSpeed"],">",[5,"0.01"]]],[0,[[13,"influence",[1,[1,[6,"std.exp",[[1,[1,"distSq","/",[1,[7,"p","radius"],"*",[7,"p","radius"]]],"*",[4,"-",[5,"1"]]]]],"-","BRUSH_EDGE"],"*","BRUSH_EDGE_GAIN"]],[2,"next","=",[1,"next","-",[1,[1,[1,"influence","*",[7,"p","cursorSpeed"]],"*",[7,"p","dt"]],"*",[5,"3"]]]]]]],[2,[8,[7,[7,"propagateLayout","$"],"writeBuf"],"idx"],"=","next"]]]]]]},externals:{"d.u32":()=>R,gridMax:()=>r,propagateLayout:()=>o,resolution:()=>e,DAMPING_SCALE:()=>Kp,"d.f32":()=>a,"std.select":()=>C,"std.exp":()=>ct,BRUSH_EDGE:()=>jp,BRUSH_EDGE_GAIN:()=>hb}})&&d.f)({})).$name(`waveFieldPropagate_${e}`),gradientKernel:v.fn([R,R])((d=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(d.f=((c,_)=>{"use gpu";if(c>R(0)&&cR(0)&&_",[6,"d.u32",[[5,"0"]]]],"&&",[1,"cx","<",[6,"d.u32",["gridMax"]]]],"&&",[1,"cy",">",[6,"d.u32",[[5,"0"]]]]],"&&",[1,"cy","<",[6,"d.u32",["gridMax"]]]],[0,[[13,"gs",[6,"d.u32",["resolution"]]],[13,"idx",[1,[1,"cy","*","gs"],"+","cx"]],[13,"right",[8,[7,[7,"gradientLayout","$"],"srcBuf"],[1,"idx","+",[6,"d.u32",[[5,"1"]]]]]],[13,"left",[8,[7,[7,"gradientLayout","$"],"srcBuf"],[1,"idx","-",[6,"d.u32",[[5,"1"]]]]]],[13,"down",[8,[7,[7,"gradientLayout","$"],"srcBuf"],[1,"idx","+","gs"]]],[13,"up",[8,[7,[7,"gradientLayout","$"],"srcBuf"],[1,"idx","-","gs"]]],[13,"dx",[1,[1,"right","-","left"],"*",[5,"0.5"]]],[13,"dy",[1,[1,"down","-","up"],"*",[5,"0.5"]]],[6,"std.textureStore",[[7,[7,"gradientLayout","$"],"dispTex"],[6,"d.vec2u",["cx","cy"]],[6,"d.vec4f",["dx","dy",[5,"0"],[5,"1"]]]]]]]]]]},externals:{"d.u32":()=>R,gridMax:()=>r,resolution:()=>e,gradientLayout:()=>n,"std.textureStore":()=>jr,"d.vec2u":()=>Ge,"d.vec4f":()=>x}})&&d.f)({})).$name(`waveFieldGradient_${e}`)};return xb.set(e,i),i}function sG(e,t){let{gpu:s,registerComputeTexture:r,getCpuValue:o,onCleanup:n,onResize:i,dimensions:d}=e,c=s?.root;if(!c)return null;let{resolution:_,dampingProp:u,radiusProp:m,radiusScale:p,speedMax:y,teleportGuard:h="on"}=t,{propagateLayout:g,gradientLayout:w,propagateKernel:S,gradientKernel:T}=tG(_),A=_*_,P=Y3(c,a,A),U=Y3(c,a,A),D=(globalThis.__TYPEGPU_AUTONAME__??(Me=>Me))(c.createTexture({size:[_,_],format:g7}).$usage("storage","sampled"),"dispTex");n(()=>D.destroy());let O=r(D),L=(globalThis.__TYPEGPU_AUTONAME__??(Me=>Me))(c.createUniform(ut({cursorX:a,cursorY:a,cursorSpeed:a,dt:a,damping:a,radius:a,aspect:a})),"propParams"),G=Math.max(1,Math.round(d.width)),W=Math.max(1,Math.round(d.height));i(({width:Me,height:Pe})=>{G=Math.max(1,Math.round(Me)),W=Math.max(1,Math.round(Pe))});let K=[_,_],Q=yz(P,U),te=Q.groups((Me,Pe)=>c.createBindGroup(g,{readBuf:Me,writeBuf:Pe,params:L.buffer})),ee=Q.perSide(Me=>c.createBindGroup(w,{srcBuf:Me,dispTex:D})),he=qp(c,(Me=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(Me.f=((Pe,Re)=>{"use gpu";S(Pe,Re)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[6,"propagateKernel",["cx","cy"]]]]},externals:{propagateKernel:()=>S}})&&Me.f)({}),{size:K}),Ee=qp(c,(Me=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(Me.f=((Pe,Re)=>{"use gpu";T(Pe,Re)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[6,"gradientKernel",["cx","cy"]]]]},externals:{gradientKernel:()=>T}})&&Me.f)({}),{size:K}),Te=Qz(h==="off"?{teleportGuard:Number.POSITIVE_INFINITY}:{}),Ue=Date.now();return{displacement:O,getComputeNodes:Me=>{let Pe=Me,Re=Date.now(),de=Math.min(Pe.deltaTime??0,.016),je=Math.max(1,Pe.dimensions?.width??G)/Math.max(1,Pe.dimensions?.height??W),fe=o(u)??10,Ke=(o(m)??.5)*p,Ze=Te.update(Pe.pointer,de),at=Math.min(Math.sqrt(Ze.velX*Ze.velX+Ze.velY*Ze.velY),y);at>.01&&(Ue=Re);let Fe=1-fe*Kp,Ie=Fe>=1?1/0:Math.min(3e4,Math.log(1e-6)/Math.log(Math.max(Fe,.001))*16.67);if(Re-Ue>Ie)return null;L.write({cursorX:Ze.x,cursorY:Ze.y,cursorSpeed:at,dt:de,damping:fe,radius:Ke,aspect:je});let st=[he.with(te()),Ee.with(ee.written())];return Q.swap(),st}}}function rG(e,t,s={}){let{uniforms:r,propValues:o}=e,n=o.colorSpace??0;return(o.stopCount??0)>1?Tz(t,{colorsArray:r.colorsArray,positionsArray:r.positionsArray,convertedColorsArray:r.convertedColorsArray,stopCount:r.stopCount},n):we(Fv[n]??Bo,"mixColors",[r[s.colorA??"colorA"],r[s.colorB??"colorB"],t])}var SW=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(__tsover_mul(t.x,s),t.y),i=__tsover_mul(r,4);return n.mul(i).add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"scale"},{type:"i",name:"seed"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"freq",[1,"scale","*",[5,"4"]]],[10,[6,[7,[6,[7,"aspectUV","mul"],["freq"]],"add"],["seed"]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),AW=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=la(s),n=l(o.y,o.z).mul(r).mul(.012);return t.add(n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"pos"},{type:"i",name:"distortion"}],body:[0,[[13,"grad",[6,"perlin12d",["pos"]]],[13,"disp",[6,[7,[6,[7,[6,"d.vec2f",[[7,"grad","y"],[7,"grad","z"]]],"mul"],["distortion"]],"mul"],[[5,"0.012"]]]],[10,[6,[7,"uv","add"],["disp"]]]]]},externals:{perlin12d:()=>la,"d.vec2f":()=>l}})&&e.f)({})),MW=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(__tsover_mul(__tsover_sub(t,.5),__tsover_add(s,1)),.5);return $(__tsover_add(1,__tsover_mul(__tsover_sub(o,.5),__tsover_mul(r,1.1))),0,1.6)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"contrast"},{type:"i",name:"intensity"}],body:[0,[[13,"hAdj",[1,[1,[1,"h","-",[5,"0.5"]],"*",[1,"contrast","+",[5,"1"]]],"+",[5,"0.5"]]],[10,[6,"std.clamp",[[1,[5,"1"],"+",[1,[1,"hAdj","-",[5,"0.5"]],"*",[1,"intensity","*",[5,"1.1"]]]],[5,"0"],[5,"1.6"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({}));var PW=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=C(t,__tsover_sub(1,t),o>0),i=b(r,1e-4),d=__tsover_sub(__tsover_mul(s,__tsover_add(1,__tsover_mul(2,i))),i);return re(__tsover_sub(d,i),__tsover_add(d,i),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"},{type:"i",name:"progress"},{type:"i",name:"feather"},{type:"i",name:"invert"}],body:[0,[[13,"c",[6,"std.select",["coord",[1,[5,"1"],"-","coord"],[1,"invert",">",[5,"0"]]]]],[13,"f",[6,"std.max",["feather",[5,"0.0001"]]]],[13,"front",[1,[1,"progress","*",[1,[5,"1"],"+",[1,[5,"2"],"*","f"]]],"-","f"]],[10,[6,"std.smoothstep",[[1,"front","-","f"],[1,"front","+","f"],"c"]]]]]},externals:{"std.select":()=>C,"std.max":()=>b,"std.smoothstep":()=>re}})&&e.f)({})),EW=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.x,t.y,t.z,__tsover_mul(t.w,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"reveal"}],body:[0,[[10,[6,"d.vec4f",[[7,"color","x"],[7,"color","y"],[7,"color","z"],[1,[7,"color","w"],"*","reveal"]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),kW=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r,Le),n=l(H(o),Y(o)),i=se(l(__tsover_mul(__tsover_sub(t.x,.5),s),__tsover_sub(t.y,.5)),n),d=__tsover_mul(.5,__tsover_add(__tsover_mul(s,z(n.x)),z(n.y)));return __tsover_add(__tsover_div(i,__tsover_mul(2,d)),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angleDeg"}],body:[0,[[13,"a",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"dir",[6,"d.vec2f",[[6,"std.cos",["a"]],[6,"std.sin",["a"]]]]],[13,"p",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],[1,[7,"uv","y"],"-",[5,"0.5"]]]]],[13,"grad",[6,"std.dot",["p","dir"]]],[13,"ext",[1,[5,"0.5"],"*",[1,[1,"aspect","*",[6,"std.abs",[[7,"dir","x"]]]],"+",[6,"std.abs",[[7,"dir","y"]]]]]],[10,[1,[1,"grad","/",[1,[5,"2"],"*","ext"]],"+",[5,"0.5"]]]]]},externals:{DEG_TO_RAD:()=>Le,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.abs":()=>z}})&&e.f)({})),$W=v.fn([l,a,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r.x,s),n=__tsover_sub(1,r.y),i=j(l(__tsover_sub(__tsover_mul(t.x,s),o),__tsover_sub(t.y,n))),d=j(l(b(o,__tsover_sub(s,o)),b(n,__tsover_sub(1,n))));return __tsover_div(i,b(d,1e-4))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"}],body:[0,[[13,"cx",[1,[7,"center","x"],"*","aspect"]],[13,"cy",[1,[5,"1"],"-",[7,"center","y"]]],[13,"rel",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"*","aspect"],"-","cx"],[1,[7,"uv","y"],"-","cy"]]]],[13,"dist",[6,"std.length",["rel"]]],[13,"dx",[6,"std.max",["cx",[1,"aspect","-","cx"]]]],[13,"dy",[6,"std.max",["cy",[1,[5,"1"],"-","cy"]]]],[13,"maxDist",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[10,[1,"dist","/",[6,"std.max",["maxDist",[5,"0.0001"]]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.max":()=>b}})&&e.f)({})),UW=v.fn([l,a,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(__tsover_sub(t.x,r.x),s),__tsover_sub(t.y,__tsover_sub(1,r.y))),d=tt(i.y,i.x),c=__tsover_mul(o,Le),_=__tsover_div(__tsover_sub(d,c),ao);_=__tsover_sub(_,q(_));let u=__tsover_sub(1,_),m=__tsover_mul(oe(_,__tsover_sub(1,_)),2),p=C(_,u,n>.5);return p=C(p,m,n>1.5),p}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"},{type:"i",name:"startDeg"},{type:"i",name:"mode"}],body:[0,[[13,"rel",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[7,"center","x"]],"*","aspect"],[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]]]],[13,"ang",[6,"std.atan2",[[7,"rel","y"],[7,"rel","x"]]]],[13,"start",[1,"startDeg","*","DEG_TO_RAD"]],[12,"frac",[1,[1,"ang","-","start"],"/","TWO_PI"]],[2,"frac","=",[1,"frac","-",[6,"std.floor",["frac"]]]],[13,"ccwCoord",[1,[5,"1"],"-","frac"]],[13,"bothCoord",[1,[6,"std.min",["frac",[1,[5,"1"],"-","frac"]]],"*",[5,"2"]]],[12,"coord",[6,"std.select",["frac","ccwCoord",[1,"mode",">",[5,"0.5"]]]]],[2,"coord","=",[6,"std.select",["coord","bothCoord",[1,"mode",">",[5,"1.5"]]]]],[10,"coord"]]]},externals:{"d.vec2f":()=>l,"std.atan2":()=>tt,DEG_TO_RAD:()=>Le,TWO_PI:()=>ao,"std.floor":()=>q,"std.min":()=>oe,"std.select":()=>C}})&&e.f)({})),Nm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cell:l,local:l,grid:l}),"CellGrid"),sd=v.fn([l,a,a],Nm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(1,b(r,.001)),n=b(__tsover_div(o,s),1),i=__tsover_mul(t.x,o),d=__tsover_mul(t.y,n);return Nm({cell:l(q(i),q(d)),local:l(ue(i),ue(d)),grid:l(o,n)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"size"}],body:[0,[[13,"gridX",[1,[5,"1"],"/",[6,"std.max",["size",[5,"0.001"]]]]],[13,"gridY",[6,"std.max",[[1,"gridX","/","aspect"],[5,"1"]]]],[13,"sx",[1,[7,"uv","x"],"*","gridX"]],[13,"sy",[1,[7,"uv","y"],"*","gridY"]],[10,[6,"CellGrid",[[104,{cell:[6,"d.vec2f",[[6,"std.floor",["sx"]],[6,"std.floor",["sy"]]]],local:[6,"d.vec2f",[[6,"std.fract",["sx"]],[6,"std.fract",["sy"]]]],grid:[6,"d.vec2f",["gridX","gridY"]]}]]]]]]},externals:{"std.max":()=>b,CellGrid:()=>Nm,"d.vec2f":()=>l,"std.floor":()=>q,"std.fract":()=>ue}})&&e.f)({})),CW=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(z(__tsover_sub(t,.5)),2)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[1,[6,"std.abs",[[1,"t","-",[5,"0.5"]]]],"*",[5,"2"]]]]]},externals:{"std.abs":()=>z}})&&e.f)({})),RW=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return ue(__tsover_mul(t,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"count"}],body:[0,[[10,[6,"std.fract",[[1,"t","*","count"]]]]]]},externals:{"std.fract":()=>ue}})&&e.f)({})),zW=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(s,1);return $(__tsover_div(__tsover_add(q(__tsover_mul(t,r)),.5),r),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"count"}],body:[0,[[13,"n",[6,"std.max",["count",[5,"1"]]]],[10,[6,"std.clamp",[[1,[1,[6,"std.floor",[[1,"t","*","n"]]],"+",[5,"0.5"]],"/","n"],[5,"0"],[5,"1"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.floor":()=>q}})&&e.f)({})),GW=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=q(__tsover_mul(t,b(s,1)));return Gs(__tsover_add(r,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"count"}],body:[0,[[13,"idx",[6,"std.floor",[[1,"t","*",[6,"std.max",["count",[5,"1"]]]]]]],[10,[6,"hash11",[[1,"idx","+",[5,"0.5"]]]]]]]},externals:{"std.floor":()=>q,"std.max":()=>b,hash11:()=>Gs}})&&e.f)({})),YW=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=sd(t,s,r);return __tsover_add(z(__tsover_sub(o.local.x,.5)),z(__tsover_sub(o.local.y,.5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"size"}],body:[0,[[13,"g",[6,"cellGrid",["uv","aspect","size"]]],[10,[1,[6,"std.abs",[[1,[7,[7,"g","local"],"x"],"-",[5,"0.5"]]]],"+",[6,"std.abs",[[1,[7,[7,"g","local"],"y"],"-",[5,"0.5"]]]]]]]]},externals:{cellGrid:()=>sd,"std.abs":()=>z}})&&e.f)({})),LW=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=sd(t,s,r),n=__tsover_mul(ue(__tsover_mul(__tsover_add(o.cell.x,o.cell.y),.5)),2),i=__tsover_mul(__tsover_add(__tsover_div(o.cell.x,o.grid.x),__tsover_div(o.cell.y,o.grid.y)),.5);return $(__tsover_add(__tsover_mul(.5,n),__tsover_mul(.5,i)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"size"}],body:[0,[[13,"g",[6,"cellGrid",["uv","aspect","size"]]],[13,"parity",[1,[6,"std.fract",[[1,[1,[7,[7,"g","cell"],"x"],"+",[7,[7,"g","cell"],"y"]],"*",[5,"0.5"]]]],"*",[5,"2"]]],[13,"diag",[1,[1,[1,[7,[7,"g","cell"],"x"],"/",[7,[7,"g","grid"],"x"]],"+",[1,[7,[7,"g","cell"],"y"],"/",[7,[7,"g","grid"],"y"]]],"*",[5,"0.5"]]],[10,[6,"std.clamp",[[1,[1,[5,"0.5"],"*","parity"],"+",[1,[5,"0.5"],"*","diag"]],[5,"0"],[5,"1"]]]]]]},externals:{cellGrid:()=>sd,"std.fract":()=>ue,"std.clamp":()=>$}})&&e.f)({})),IW=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return Ot(sd(t,s,r).cell)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"size"}],body:[0,[[10,[6,"hash12",[[7,[6,"cellGrid",["uv","aspect","size"]],"cell"]]]]]]},externals:{hash12:()=>Ot,cellGrid:()=>sd}})&&e.f)({})),DW=v.fn([l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(__tsover_add(__tsover_mul(__tsover_mul(t.x,s),r),__tsover_mul(o,13.7)),__tsover_add(__tsover_mul(t.y,r),__tsover_mul(o,7.9))),i=Ei(n),d=__tsover_mul(Ei(l(__tsover_add(__tsover_add(__tsover_mul(n.x,2),17.3),__tsover_mul(o,3.1)),__tsover_add(__tsover_mul(n.y,2),9.1))),.5),c=__tsover_mul(Ei(l(__tsover_add(__tsover_mul(n.x,4),41.7),__tsover_add(__tsover_add(__tsover_mul(n.y,4),27.9),__tsover_mul(o,5.3)))),.25),_=__tsover_div(__tsover_add(__tsover_add(i,d),c),1.75);return $(__tsover_add(.5,__tsover_mul(_,.9)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"scale"},{type:"i",name:"seed"}],body:[0,[[13,"p",[6,"d.vec2f",[[1,[1,[1,[7,"uv","x"],"*","aspect"],"*","scale"],"+",[1,"seed","*",[5,"13.7"]]],[1,[1,[7,"uv","y"],"*","scale"],"+",[1,"seed","*",[5,"7.9"]]]]]],[13,"n1",[6,"mxNoiseFloat2",["p"]]],[13,"n2",[1,[6,"mxNoiseFloat2",[[6,"d.vec2f",[[1,[1,[1,[7,"p","x"],"*",[5,"2"]],"+",[5,"17.3"]],"+",[1,"seed","*",[5,"3.1"]]],[1,[1,[7,"p","y"],"*",[5,"2"]],"+",[5,"9.1"]]]]]],"*",[5,"0.5"]]],[13,"n3",[1,[6,"mxNoiseFloat2",[[6,"d.vec2f",[[1,[1,[7,"p","x"],"*",[5,"4"]],"+",[5,"41.7"]],[1,[1,[1,[7,"p","y"],"*",[5,"4"]],"+",[5,"27.9"]],"+",[1,"seed","*",[5,"5.3"]]]]]]],"*",[5,"0.25"]]],[13,"n",[1,[1,[1,"n1","+","n2"],"+","n3"],"/",[5,"1.75"]]],[10,[6,"std.clamp",[[1,[5,"0.5"],"+",[1,"n","*",[5,"0.9"]]],[5,"0"],[5,"1"]]]]]]},externals:{"d.vec2f":()=>l,mxNoiseFloat2:()=>Ei,"std.clamp":()=>$}})&&e.f)({})),b7=new Float32Array(1),oG=new Int32Array(b7.buffer);function Ga(e){b7[0]=Math.max(-65504,Math.min(65504,e));let t=oG[0],s=t>>16&32768,r=t>>12&2047,o=t>>23&255;return o<103?s:o>142?(s|=31744,s|=(o===255?0:1)&&t&8388607,s):o<113?(r|=2048,s|=(r>>114-o)+(r>>113-o&1),s):(s|=o-112<<10|r>>1,s+=r&1,s)}var n1=Za({ANALYTIC_SDF_EXTRA_FIELDS:()=>aG,APERTURE_TO_HALFANGLE:()=>nG,SVG_SDF_SIZE:()=>512,ShapeMask:()=>vl,analyticSubPropValues:()=>gu,arcSdf:()=>yu,buildAnalyticSdfFn:()=>Jv,circleSdf:()=>fc,createAnalyticSdfSampler:()=>P7,createSdfDataTexture:()=>Qv,createSvgSdfSampler:()=>A7,createSvgSdfSamplerWithGradients:()=>M7,crescentSdf:()=>pu,crossSdf:()=>_u,driveAnalyticSubProps:()=>k7,ellipseSdf:()=>uu,fillStrokeColor:()=>S7,flowerSdf:()=>iu,heartSdf:()=>vu,loadSdfFromUrl:()=>Zv,parallelogramSdf:()=>xu,parseShapeConfigValue:()=>E7,polygonSdf:()=>au,ringSdf:()=>cu,roundedRectSdf:()=>lu,shapeLocalCoords:()=>w7,starSdf:()=>du,strokeMaskFromSdf:()=>T7,teardropSdf:()=>hu,trapezoidSdf:()=>fu,vesicaSdf:()=>mu}),gb=3.141592653589793,rd=6.283185307179586,bb=.35355339059327373,nu=.017453292519943295,fc=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_sub(be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s))),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"}],body:[0,[[10,[1,[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]],"-","radius"]]]]},externals:{"std.sqrt":()=>be}})&&e.f)({})),au=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s))),i=tt(s,t),d=__tsover_div(rd,o),c=q(__tsover_add(__tsover_div(i,d),.5)),_=__tsover_sub(i,__tsover_mul(c,d));return __tsover_sub(__tsover_mul(n,H(_)),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"sides"}],body:[0,[[13,"len",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[13,"angle",[6,"std.atan2",["dy","dx"]]],[13,"sectorAngle",[1,"TWO_PI","/","sides"]],[13,"sectorIdx",[6,"std.floor",[[1,[1,"angle","/","sectorAngle"],"+",[5,"0.5"]]]]],[13,"canonicalAngle",[1,"angle","-",[1,"sectorIdx","*","sectorAngle"]]],[10,[1,[1,"len","*",[6,"std.cos",["canonicalAngle"]]],"-","radius"]]]]},externals:{"std.sqrt":()=>be,"std.atan2":()=>tt,TWO_PI:()=>rd,"std.floor":()=>q,"std.cos":()=>H}})&&e.f)({})),iu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=tt(s,t),d=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s))),c=__tsover_mul(r,n),_=__tsover_div(__tsover_mul(i,o),rd),u=__tsover_sub(_,q(_)),m=z(__tsover_sub(__tsover_mul(u,2),1)),p=__tsover_add(c,__tsover_mul(__tsover_sub(r,c),m));return __tsover_sub(d,p)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"outerRadius"},{type:"i",name:"sides"},{type:"i",name:"innerRatio"}],body:[0,[[13,"angle",[6,"std.atan2",["dy","dx"]]],[13,"len",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[13,"innerRadius",[1,"outerRadius","*","innerRatio"]],[13,"tAngle",[1,[1,"angle","*","sides"],"/","TWO_PI"]],[13,"tFrac",[1,"tAngle","-",[6,"std.floor",["tAngle"]]]],[13,"t",[6,"std.abs",[[1,[1,"tFrac","*",[5,"2"]],"-",[5,"1"]]]]],[13,"boundaryR",[1,"innerRadius","+",[1,[1,"outerRadius","-","innerRadius"],"*","t"]]],[10,[1,"len","-","boundaryR"]]]]},externals:{"std.atan2":()=>tt,"std.sqrt":()=>be,TWO_PI:()=>rd,"std.floor":()=>q,"std.abs":()=>z}})&&e.f)({})),du=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,n),d=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s))),c=tt(s,t),_=__tsover_div(rd,o),u=q(__tsover_add(__tsover_div(c,_),.5)),m=__tsover_sub(c,__tsover_mul(u,_)),p=z(__tsover_mul(d,Y(m))),y=__tsover_mul(d,H(m)),h=__tsover_div(gb,o),g=Y(h),w=H(h),S=__tsover_mul(i,g),T=__tsover_sub(__tsover_mul(i,w),r),A=p,P=__tsover_sub(y,r),U=__tsover_add(__tsover_mul(A,S),__tsover_mul(P,T)),D=__tsover_add(__tsover_mul(S,S),__tsover_mul(T,T)),O=$(__tsover_div(U,D),0,1),L=__tsover_sub(p,__tsover_mul(S,O)),G=__tsover_sub(y,__tsover_add(r,__tsover_mul(T,O))),W=be(__tsover_add(__tsover_mul(L,L),__tsover_mul(G,G))),K=__tsover_sub(__tsover_mul(S,P),__tsover_mul(T,A));return __tsover_mul(W,ks(K))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"outerRadius"},{type:"i",name:"sides"},{type:"i",name:"innerRatio"}],body:[0,[[13,"innerRadius",[1,"outerRadius","*","innerRatio"]],[13,"len",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[13,"angle",[6,"std.atan2",["dy","dx"]]],[13,"sectorAngle",[1,"TWO_PI","/","sides"]],[13,"sectorIdx",[6,"std.floor",[[1,[1,"angle","/","sectorAngle"],"+",[5,"0.5"]]]]],[13,"bn",[1,"angle","-",[1,"sectorIdx","*","sectorAngle"]]],[13,"fpx",[6,"std.abs",[[1,"len","*",[6,"std.sin",["bn"]]]]]],[13,"fpy",[1,"len","*",[6,"std.cos",["bn"]]]],[13,"an",[1,"PI","/","sides"]],[13,"sinAn",[6,"std.sin",["an"]]],[13,"cosAn",[6,"std.cos",["an"]]],[13,"ex",[1,"innerRadius","*","sinAn"]],[13,"ey",[1,[1,"innerRadius","*","cosAn"],"-","outerRadius"]],[13,"qx","fpx"],[13,"qy",[1,"fpy","-","outerRadius"]],[13,"dotQE",[1,[1,"qx","*","ex"],"+",[1,"qy","*","ey"]]],[13,"dotEE",[1,[1,"ex","*","ex"],"+",[1,"ey","*","ey"]]],[13,"t",[6,"std.clamp",[[1,"dotQE","/","dotEE"],[5,"0"],[5,"1"]]]],[13,"nx",[1,"fpx","-",[1,"ex","*","t"]]],[13,"ny",[1,"fpy","-",[1,"outerRadius","+",[1,"ey","*","t"]]]],[13,"dist",[6,"std.sqrt",[[1,[1,"nx","*","nx"],"+",[1,"ny","*","ny"]]]]],[13,"cross",[1,[1,"ex","*","qy"],"-",[1,"ey","*","qx"]]],[10,[1,"dist","*",[6,"std.sign",["cross"]]]]]]},externals:{"std.sqrt":()=>be,"std.atan2":()=>tt,TWO_PI:()=>rd,"std.floor":()=>q,"std.abs":()=>z,"std.sin":()=>Y,"std.cos":()=>H,PI:()=>gb,"std.clamp":()=>$,"std.sign":()=>ks}})&&e.f)({})),cu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s)));return __tsover_sub(z(__tsover_sub(n,r)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"thickness"}],body:[0,[[13,"len",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[10,[1,[6,"std.abs",[[1,"len","-","radius"]]],"-","thickness"]]]]},externals:{"std.sqrt":()=>be,"std.abs":()=>z}})&&e.f)({})),_u=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=z(t),d=z(s),c=b(__tsover_sub(i,r),__tsover_sub(d,o)),_=b(__tsover_sub(d,r),__tsover_sub(i,o));return __tsover_sub(oe(c,_),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"size"},{type:"i",name:"thickness"},{type:"i",name:"rounding"}],body:[0,[[13,"px",[6,"std.abs",["dx"]]],[13,"py",[6,"std.abs",["dy"]]],[13,"dHoriz",[6,"std.max",[[1,"px","-","size"],[1,"py","-","thickness"]]]],[13,"dVert",[6,"std.max",[[1,"py","-","size"],[1,"px","-","thickness"]]]],[10,[1,[6,"std.min",["dHoriz","dVert"]],"-","rounding"]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),lu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_add(__tsover_sub(z(t),r),n),d=__tsover_add(__tsover_sub(z(s),o),n),c=b(i,0),_=b(d,0),u=be(__tsover_add(__tsover_mul(c,c),__tsover_mul(_,_))),m=oe(b(i,d),0);return __tsover_sub(__tsover_add(u,m),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"width"},{type:"i",name:"height"},{type:"i",name:"rounding"}],body:[0,[[13,"qx",[1,[1,[6,"std.abs",["dx"]],"-","width"],"+","rounding"]],[13,"qy",[1,[1,[6,"std.abs",["dy"]],"-","height"],"+","rounding"]],[13,"mqx",[6,"std.max",["qx",[5,"0"]]]],[13,"mqy",[6,"std.max",["qy",[5,"0"]]]],[13,"outerDist",[6,"std.sqrt",[[1,[1,"mqx","*","mqx"],"+",[1,"mqy","*","mqy"]]]]],[13,"innerDist",[6,"std.min",[[6,"std.max",["qx","qy"]],[5,"0"]]]],[10,[1,[1,"outerDist","+","innerDist"],"-","rounding"]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.sqrt":()=>be,"std.min":()=>oe}})&&e.f)({})),uu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_div(t,r),i=__tsover_div(s,o),d=be(__tsover_add(__tsover_mul(n,n),__tsover_mul(i,i)));return __tsover_mul(__tsover_sub(d,1),oe(r,o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radiusX"},{type:"i",name:"radiusY"}],body:[0,[[13,"nx",[1,"dx","/","radiusX"]],[13,"ny",[1,"dy","/","radiusY"]],[13,"k",[6,"std.sqrt",[[1,[1,"nx","*","nx"],"+",[1,"ny","*","ny"]]]]],[10,[1,[1,"k","-",[5,"1"]],"*",[6,"std.min",["radiusX","radiusY"]]]]]]},externals:{"std.sqrt":()=>be,"std.min":()=>oe}})&&e.f)({})),mu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=z(t),i=z(s),d=__tsover_mul(r,o),c=be(b(__tsover_sub(__tsover_mul(r,r),__tsover_mul(d,d)),0)),_=__tsover_mul(__tsover_sub(i,c),d)>__tsover_mul(n,c),u=be(__tsover_add(__tsover_mul(n,n),__tsover_mul(__tsover_sub(i,c),__tsover_sub(i,c))));return C(__tsover_sub(be(__tsover_add(__tsover_mul(__tsover_add(n,d),__tsover_add(n,d)),__tsover_mul(i,i))),r),u,_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"spread"}],body:[0,[[13,"px",[6,"std.abs",["dx"]]],[13,"py",[6,"std.abs",["dy"]]],[13,"dd",[1,"radius","*","spread"]],[13,"b",[6,"std.sqrt",[[6,"std.max",[[1,[1,"radius","*","radius"],"-",[1,"dd","*","dd"]],[5,"0"]]]]]],[13,"cond",[1,[1,[1,"py","-","b"],"*","dd"],">",[1,"px","*","b"]]],[13,"dist1",[6,"std.sqrt",[[1,[1,"px","*","px"],"+",[1,[1,"py","-","b"],"*",[1,"py","-","b"]]]]]],[13,"dist2",[1,[6,"std.sqrt",[[1,[1,[1,"px","+","dd"],"*",[1,"px","+","dd"]],"+",[1,"py","*","py"]]]],"-","radius"]],[10,[6,"std.select",["dist2","dist1","cond"]]]]]},externals:{"std.abs":()=>z,"std.sqrt":()=>be,"std.max":()=>b,"std.select":()=>C}})&&e.f)({})),pu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=z(s),d=r,c=__tsover_mul(r,o),_=n,u=__tsover_div(__tsover_add(__tsover_sub(__tsover_mul(d,d),__tsover_mul(c,c)),__tsover_mul(_,_)),b(__tsover_mul(_,2),.001)),m=be(b(__tsover_sub(__tsover_mul(d,d),__tsover_mul(u,u)),0)),p=__tsover_mul(_,__tsover_sub(__tsover_mul(t,m),__tsover_mul(i,u))),y=__tsover_mul(__tsover_mul(_,_),b(__tsover_sub(m,i),0)),h=__tsover_sub(t,u),g=__tsover_sub(i,m),w=be(__tsover_add(__tsover_mul(h,h),__tsover_mul(g,g))),S=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(i,i))),T=__tsover_sub(t,_),A=be(__tsover_add(__tsover_mul(T,T),__tsover_mul(i,i)));return C(b(__tsover_sub(S,d),__tsover_mul(__tsover_sub(A,c),-1)),w,p>y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"outerRadius"},{type:"i",name:"innerRatio"},{type:"i",name:"offset"}],body:[0,[[13,"py",[6,"std.abs",["dy"]]],[13,"ra","outerRadius"],[13,"rb",[1,"outerRadius","*","innerRatio"]],[13,"off","offset"],[13,"a",[1,[1,[1,[1,"ra","*","ra"],"-",[1,"rb","*","rb"]],"+",[1,"off","*","off"]],"/",[6,"std.max",[[1,"off","*",[5,"2"]],[5,"0.001"]]]]],[13,"bSq",[6,"std.max",[[1,[1,"ra","*","ra"],"-",[1,"a","*","a"]],[5,"0"]]]],[13,"b",[6,"std.sqrt",["bSq"]]],[13,"lhs",[1,"off","*",[1,[1,"dx","*","b"],"-",[1,"py","*","a"]]]],[13,"rhs",[1,[1,"off","*","off"],"*",[6,"std.max",[[1,"b","-","py"],[5,"0"]]]]],[13,"d1x",[1,"dx","-","a"]],[13,"d1y",[1,"py","-","b"]],[13,"dist1",[6,"std.sqrt",[[1,[1,"d1x","*","d1x"],"+",[1,"d1y","*","d1y"]]]]],[13,"lenP",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"py","*","py"]]]]],[13,"innerX",[1,"dx","-","off"]],[13,"lenInner",[6,"std.sqrt",[[1,[1,"innerX","*","innerX"],"+",[1,"py","*","py"]]]]],[13,"dist2",[6,"std.max",[[1,"lenP","-","ra"],[1,[1,"lenInner","-","rb"],"*",[4,"-",[5,"1"]]]]]],[10,[6,"std.select",["dist2","dist1",[1,"lhs",">","rhs"]]]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.sqrt":()=>be,"std.select":()=>C}})&&e.f)({})),fu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=z(t),d=o,c=n,_=__tsover_sub(o,r),u=__tsover_mul(n,2),m=C(o,r,s<0),p=__tsover_sub(i,oe(i,m)),y=__tsover_sub(z(s),n),h=__tsover_sub(d,i),g=__tsover_sub(c,s),w=__tsover_add(__tsover_mul(h,_),__tsover_mul(g,u)),S=b(__tsover_add(__tsover_mul(_,_),__tsover_mul(u,u)),1e-4),T=$(__tsover_div(w,S),0,1),A=__tsover_add(__tsover_sub(i,d),__tsover_mul(_,T)),P=__tsover_add(__tsover_sub(s,c),__tsover_mul(u,T)),U=C(a(1),a(-1),y<0),D=C(a(1),U,A<0),O=__tsover_add(__tsover_mul(p,p),__tsover_mul(y,y)),L=__tsover_add(__tsover_mul(A,A),__tsover_mul(P,P));return __tsover_mul(D,be(oe(O,L)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"r1"},{type:"i",name:"r2"},{type:"i",name:"he"}],body:[0,[[13,"px",[6,"std.abs",["dx"]]],[13,"k1x","r2"],[13,"k1y","he"],[13,"k2x",[1,"r2","-","r1"]],[13,"k2y",[1,"he","*",[5,"2"]]],[13,"clampWidth",[6,"std.select",["r2","r1",[1,"dy","<",[5,"0"]]]]],[13,"cax",[1,"px","-",[6,"std.min",["px","clampWidth"]]]],[13,"cay",[1,[6,"std.abs",["dy"]],"-","he"]],[13,"diffX",[1,"k1x","-","px"]],[13,"diffY",[1,"k1y","-","dy"]],[13,"dotNum",[1,[1,"diffX","*","k2x"],"+",[1,"diffY","*","k2y"]]],[13,"dotDen",[6,"std.max",[[1,[1,"k2x","*","k2x"],"+",[1,"k2y","*","k2y"]],[5,"0.0001"]]]],[13,"t",[6,"std.clamp",[[1,"dotNum","/","dotDen"],[5,"0"],[5,"1"]]]],[13,"cbx",[1,[1,"px","-","k1x"],"+",[1,"k2x","*","t"]]],[13,"cby",[1,[1,"dy","-","k1y"],"+",[1,"k2y","*","t"]]],[13,"sInner",[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"d.f32",[[4,"-",[5,"1"]]]],[1,"cay","<",[5,"0"]]]]],[13,"s",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"sInner",[1,"cbx","<",[5,"0"]]]]],[13,"dca",[1,[1,"cax","*","cax"],"+",[1,"cay","*","cay"]]],[13,"dcb",[1,[1,"cbx","*","cbx"],"+",[1,"cby","*","cby"]]],[10,[1,"s","*",[6,"std.sqrt",[[6,"std.min",["dca","dcb"]]]]]]]]},externals:{"std.abs":()=>z,"std.select":()=>C,"std.min":()=>oe,"std.max":()=>b,"std.clamp":()=>$,"d.f32":()=>a,"std.sqrt":()=>be}})&&e.f)({})),vu=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(r,.75),n=__tsover_div(z(t),o),i=__tsover_add(__tsover_div(__tsover_mul(s,-1),o),.6),d=__tsover_sub(n,.25),c=__tsover_sub(i,.75),_=__tsover_sub(be(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c))),bb),u=__tsover_sub(i,1),m=__tsover_add(__tsover_mul(n,n),__tsover_mul(u,u)),p=__tsover_mul(b(__tsover_add(n,i),0),.5),y=__tsover_sub(n,p),h=__tsover_sub(i,p),g=__tsover_add(__tsover_mul(y,y),__tsover_mul(h,h)),w=__tsover_mul(be(oe(m,g)),ks(__tsover_sub(n,i)));return __tsover_mul(C(w,_,__tsover_add(n,i)>1),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"}],body:[0,[[13,"S",[1,"radius","/",[5,"0.75"]]],[13,"px",[1,[6,"std.abs",["dx"]],"/","S"]],[13,"py",[1,[1,[1,"dy","*",[4,"-",[5,"1"]]],"/","S"],"+",[5,"0.6"]]],[13,"ax",[1,"px","-",[5,"0.25"]]],[13,"ay",[1,"py","-",[5,"0.75"]]],[13,"distA",[1,[6,"std.sqrt",[[1,[1,"ax","*","ax"],"+",[1,"ay","*","ay"]]]],"-","SQRT2_OVER_4"]],[13,"b1y",[1,"py","-",[5,"1"]]],[13,"dot1",[1,[1,"px","*","px"],"+",[1,"b1y","*","b1y"]]],[13,"m",[1,[6,"std.max",[[1,"px","+","py"],[5,"0"]]],"*",[5,"0.5"]]],[13,"b2x",[1,"px","-","m"]],[13,"b2y",[1,"py","-","m"]],[13,"dot2v",[1,[1,"b2x","*","b2x"],"+",[1,"b2y","*","b2y"]]],[13,"distB",[1,[6,"std.sqrt",[[6,"std.min",["dot1","dot2v"]]]],"*",[6,"std.sign",[[1,"px","-","py"]]]]],[10,[1,[6,"std.select",["distB","distA",[1,[1,"px","+","py"],">",[5,"1"]]]],"*","S"]]]]},externals:{"std.abs":()=>z,"std.sqrt":()=>be,SQRT2_OVER_4:()=>bb,"std.max":()=>b,"std.min":()=>oe,"std.sign":()=>ks,"std.select":()=>C}})&&e.f)({})),yu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=z(t),i=Y(o),d=H(o),c=__tsover_sub(be(__tsover_add(__tsover_mul(n,n),__tsover_mul(s,s))),r),_=$(__tsover_add(__tsover_mul(n,i),__tsover_mul(s,d)),0,r),u=__tsover_sub(n,__tsover_mul(i,_)),m=__tsover_sub(s,__tsover_mul(d,_)),p=be(__tsover_add(__tsover_mul(u,u),__tsover_mul(m,m)));return b(c,__tsover_mul(p,ks(__tsover_sub(__tsover_mul(d,n),__tsover_mul(i,s)))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"halfAngle"}],body:[0,[[13,"px",[6,"std.abs",["dx"]]],[13,"cx",[6,"std.sin",["halfAngle"]]],[13,"cy",[6,"std.cos",["halfAngle"]]],[13,"l",[1,[6,"std.sqrt",[[1,[1,"px","*","px"],"+",[1,"dy","*","dy"]]]],"-","radius"]],[13,"clamped",[6,"std.clamp",[[1,[1,"px","*","cx"],"+",[1,"dy","*","cy"]],[5,"0"],"radius"]]],[13,"mx",[1,"px","-",[1,"cx","*","clamped"]]],[13,"my",[1,"dy","-",[1,"cy","*","clamped"]]],[13,"m",[6,"std.sqrt",[[1,[1,"mx","*","mx"],"+",[1,"my","*","my"]]]]],[10,[6,"std.max",["l",[1,"m","*",[6,"std.sign",[[1,[1,"cy","*","px"],"-",[1,"cx","*","dy"]]]]]]]]]]},externals:{"std.abs":()=>z,"std.sin":()=>Y,"std.cos":()=>H,"std.sqrt":()=>be,"std.clamp":()=>$,"std.max":()=>b,"std.sign":()=>ks}})&&e.f)({})),hu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(__tsover_sub(o,r),.5),i=z(t),d=__tsover_add(__tsover_mul(s,-1),n),c=b(o,1e-4),_=__tsover_div(r,c),u=be(b(__tsover_sub(1,__tsover_mul(_,_)),0)),m=__tsover_add(__tsover_mul(i,__tsover_mul(_,-1)),__tsover_mul(d,u)),p=__tsover_sub(be(__tsover_add(__tsover_mul(i,i),__tsover_mul(d,d))),r),y=__tsover_sub(d,o),h=be(__tsover_add(__tsover_mul(i,i),__tsover_mul(y,y)));return C(C(__tsover_sub(__tsover_add(__tsover_mul(i,u),__tsover_mul(d,_)),r),h,m>__tsover_mul(u,o)),p,m<0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"h"}],body:[0,[[13,"mid",[1,[1,"h","-","radius"],"*",[5,"0.5"]]],[13,"qx",[6,"std.abs",["dx"]]],[13,"qy",[1,[1,"dy","*",[4,"-",[5,"1"]]],"+","mid"]],[13,"hSafe",[6,"std.max",["h",[5,"0.0001"]]]],[13,"b",[1,"radius","/","hSafe"]],[13,"a",[6,"std.sqrt",[[6,"std.max",[[1,[5,"1"],"-",[1,"b","*","b"]],[5,"0"]]]]]],[13,"k",[1,[1,"qx","*",[1,"b","*",[4,"-",[5,"1"]]]],"+",[1,"qy","*","a"]]],[13,"cap0",[1,[6,"std.sqrt",[[1,[1,"qx","*","qx"],"+",[1,"qy","*","qy"]]]],"-","radius"]],[13,"qyTip",[1,"qy","-","h"]],[13,"cap1",[6,"std.sqrt",[[1,[1,"qx","*","qx"],"+",[1,"qyTip","*","qyTip"]]]]],[13,"body",[1,[1,[1,"qx","*","a"],"+",[1,"qy","*","b"]],"-","radius"]],[10,[6,"std.select",[[6,"std.select",["body","cap1",[1,"k",">",[1,"a","*","h"]]]],"cap0",[1,"k","<",[5,"0"]]]]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.sqrt":()=>be,"std.select":()=>C}})&&e.f)({})),xu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=n,d=o,c=s<0,_=C(t,__tsover_mul(t,-1),c),u=C(s,__tsover_mul(s,-1),c),m=__tsover_sub(_,i),p=__tsover_sub(u,d),y=__tsover_sub(m,$(m,__tsover_mul(r,-1),r)),h=__tsover_add(__tsover_mul(y,y),__tsover_mul(p,p)),g=__tsover_mul(p,-1),w=__tsover_sub(__tsover_mul(_,d),__tsover_mul(u,i)),S=w<0,T=C(_,__tsover_mul(_,-1),S),A=C(u,__tsover_mul(u,-1),S),P=__tsover_sub(T,r),U=__tsover_add(__tsover_mul(P,i),__tsover_mul(A,d)),D=b(__tsover_add(__tsover_mul(i,i),__tsover_mul(d,d)),1e-4),O=$(__tsover_div(U,D),-1,1),L=__tsover_sub(P,__tsover_mul(i,O)),G=__tsover_sub(A,__tsover_mul(d,O)),W=oe(h,__tsover_add(__tsover_mul(L,L),__tsover_mul(G,G))),K=oe(g,__tsover_sub(__tsover_mul(r,o),z(w)));return __tsover_mul(be(W),ks(__tsover_mul(K,-1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"wi"},{type:"i",name:"he"},{type:"i",name:"sk"}],body:[0,[[13,"ex","sk"],[13,"ey","he"],[13,"flip1",[1,"dy","<",[5,"0"]]],[13,"px0",[6,"std.select",["dx",[1,"dx","*",[4,"-",[5,"1"]]],"flip1"]]],[13,"py0",[6,"std.select",["dy",[1,"dy","*",[4,"-",[5,"1"]]],"flip1"]]],[13,"wx0",[1,"px0","-","ex"]],[13,"wy",[1,"py0","-","ey"]],[13,"wx",[1,"wx0","-",[6,"std.clamp",["wx0",[1,"wi","*",[4,"-",[5,"1"]]],"wi"]]]],[13,"dX",[1,[1,"wx","*","wx"],"+",[1,"wy","*","wy"]]],[13,"dY",[1,"wy","*",[4,"-",[5,"1"]]]],[13,"s",[1,[1,"px0","*","ey"],"-",[1,"py0","*","ex"]]],[13,"flip2",[1,"s","<",[5,"0"]]],[13,"px",[6,"std.select",["px0",[1,"px0","*",[4,"-",[5,"1"]]],"flip2"]]],[13,"py",[6,"std.select",["py0",[1,"py0","*",[4,"-",[5,"1"]]],"flip2"]]],[13,"vx0",[1,"px","-","wi"]],[13,"dotve",[1,[1,"vx0","*","ex"],"+",[1,"py","*","ey"]]],[13,"dotee",[6,"std.max",[[1,[1,"ex","*","ex"],"+",[1,"ey","*","ey"]],[5,"0.0001"]]]],[13,"tt",[6,"std.clamp",[[1,"dotve","/","dotee"],[4,"-",[5,"1"]],[5,"1"]]]],[13,"vx",[1,"vx0","-",[1,"ex","*","tt"]]],[13,"vy",[1,"py","-",[1,"ey","*","tt"]]],[13,"finalX",[6,"std.min",["dX",[1,[1,"vx","*","vx"],"+",[1,"vy","*","vy"]]]]],[13,"finalY",[6,"std.min",["dY",[1,[1,"wi","*","he"],"-",[6,"std.abs",["s"]]]]]],[10,[1,[6,"std.sqrt",["finalX"]],"*",[6,"std.sign",[[1,"finalY","*",[4,"-",[5,"1"]]]]]]]]]},externals:{"std.select":()=>C,"std.clamp":()=>$,"std.max":()=>b,"std.min":()=>oe,"std.abs":()=>z,"std.sqrt":()=>be,"std.sign":()=>ks}})&&e.f)({})),w7=v.fn([l,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(__tsover_mul(r.x,o),r.y),i=l(__tsover_mul(t.x,o),__tsover_sub(1,t.y)),d=__tsover_sub(n.x,i.x),c=__tsover_sub(n.y,i.y),_=__tsover_mul(s,nu),u=H(_),m=Y(_);return l(__tsover_add(__tsover_mul(d,u),__tsover_mul(c,m)),__tsover_sub(__tsover_mul(c,u),__tsover_mul(d,m)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"rotation"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dx",[1,[7,"aspectUV","x"],"-",[7,"centerPos","x"]]],[13,"dy",[1,[7,"aspectUV","y"],"-",[7,"centerPos","y"]]],[13,"rotRad",[1,"rotation","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rdx",[1,[1,"dx","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dx","*","sinR"]]],[10,[6,"d.vec2f",["rdx","rdy"]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>nu,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),vl=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({overallMask:a,strokeBlend:a}),"ShapeMask"),T7=v.fn([a,a,a,a],vl)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=r>0,i=o>=1.5,d=o>=.5,c=__tsover_mul(r,.5),_=__tsover_mul(r,-1),u=__tsover_mul(c,-1),m=C(C(a(0),u,d),_,i),p=C(C(r,c,d),a(0),i),y=__tsover_sub(1,re(__tsover_sub(p,s),p,t)),h=re(__tsover_sub(m,s),m,t);return vl({overallMask:y,strokeBlend:C(a(0),h,n)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"softness"},{type:"i",name:"strokeThickness"},{type:"i",name:"strokePosition"}],body:[0,[[13,"hasStroke",[1,"strokeThickness",">",[5,"0"]]],[13,"isInside",[1,"strokePosition",">=",[5,"1.5"]]],[13,"isCenterOrAbove",[1,"strokePosition",">=",[5,"0.5"]]],[13,"halfThickness",[1,"strokeThickness","*",[5,"0.5"]]],[13,"negThickness",[1,"strokeThickness","*",[4,"-",[5,"1"]]]],[13,"negHalf",[1,"halfThickness","*",[4,"-",[5,"1"]]]],[13,"strokeInner",[6,"std.select",[[6,"std.select",[[6,"d.f32",[[5,"0"]]],"negHalf","isCenterOrAbove"]],"negThickness","isInside"]]],[13,"strokeOuter",[6,"std.select",[[6,"std.select",["strokeThickness","halfThickness","isCenterOrAbove"]],[6,"d.f32",[[5,"0"]]],"isInside"]]],[13,"overallMask",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"strokeOuter","-","softness"],"strokeOuter","dist"]]]],[13,"blend",[6,"std.smoothstep",[[1,"strokeInner","-","softness"],"strokeInner","dist"]]],[13,"strokeBlend",[6,"std.select",[[6,"d.f32",[[5,"0"]]],"blend","hasStroke"]]],[10,[6,"ShapeMask",[[104,{overallMask:"overallMask",strokeBlend:"strokeBlend"}]]]]]]},externals:{"std.select":()=>C,"d.f32":()=>a,"std.smoothstep":()=>re,ShapeMask:()=>vl}})&&e.f)({}));function S7(e,t,s,r){let o=we(Fv[r]??Bo,"mixColors",[t,s,e.member("strokeBlend")]);return Ws(o.member("rgb"),o.member("a").mul(e.member("overallMask")))}async function Zv(e,t){let s=await fetch(e,{mode:"cors"});if(!s.ok)throw new Error(`SDF fetch failed: HTTP ${s.status}`);let r=await s.arrayBuffer(),o=512*512;if(r.byteLength===o*2){let n=new Uint16Array(r),i=Math.min(n.length,t.length);for(let d=0;di.destroy());let d=!1,c=0;return t&&Zv(t,r).then(()=>{for(let _=0;_<262144;_++)o[_]=Ga(r[_]);d=!0}).catch(_=>Ma("[SDF] Failed to load SDF texture:",_)),e.onBeforeRender(()=>{d&&(d=!1,i.write(o),c++)}),{kitTexture:e.registerMediaTexture(()=>i.texture),texture:i,getVersion:()=>c}}function A7(e,t){let{kitTexture:s}=Qv(e,t);return r=>s.sampleLevel(r)}function M7(e,t){let o=new Float32Array(262144).fill(.5),n=new Uint16Array(262144*4),i=Ga(.5),d=Ga(1);for(let g=0;g<262144;g++)n[g*4]=i,n[g*4+3]=d;let c=e.createMediaTexture({width:512,height:512,format:"rgba16float",label:"svg-sdf-grad"});e.onCleanup(()=>c.destroy());let _=(g,w)=>{let S=Math.floor(g),T=Math.floor(w),A=g-S,P=w-T,U=W=>Math.min(Math.max(W,0),511),D=U(S),O=U(S+1),L=U(T),G=U(T+1);return o[L*512+D]*(1-A)*(1-P)+o[L*512+O]*A*(1-P)+o[G*512+D]*(1-A)*P+o[G*512+O]*A*P},u=.01,m=u*512,p=()=>{for(let g=0;g<512;g++)for(let w=0;w<512;w++){let S=g*512+w,T=o[S],A=(_(w+m,g)-T)/u,P=(_(w,g+m)-T)/u;n[S*4]=Ga(T),n[S*4+1]=Ga(A),n[S*4+2]=Ga(P)}},y=!1;t&&Zv(t,o).then(()=>{p(),y=!0}).catch(g=>Ma("[SDF] Failed to load SDF texture:",g)),e.onBeforeRender(()=>{y&&(y=!1,c.write(n))});let h=e.registerMediaTexture(()=>c.texture);return g=>h.sampleLevel(g)}var nG=.008726646259971648;function Jv(e){return v.fn([l,a,a,a,a,a,a,a,a],x)((t=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(t.f=((s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=__tsover_sub(s.x,.5),p=__tsover_sub(s.y,.5),y=__tsover_mul(d,nu),h=H(y),g=Y(y),w=__tsover_add(__tsover_mul(m,h),__tsover_mul(p,g)),S=__tsover_sub(__tsover_mul(p,h),__tsover_mul(m,g)),T=a(0);return e==="polygonSDF"?T=X(au(w,S,r,o),fc(w,S,r),n):e==="flowerSDF"?T=iu(w,S,r,o,i):e==="ringSDF"?T=cu(w,S,r,i):e==="crossSDF"?T=_u(w,S,r,i,n):e==="starSDF"?T=du(w,S,r,o,i):e==="roundedRectSDF"?T=lu(w,S,r,c,n):e==="ellipseSDF"?T=uu(w,S,r,c):e==="vesicaSDF"?T=mu(w,S,r,i):e==="crescentSDF"?T=pu(w,S,r,i,_):e==="trapezoidSDF"?T=fu(w,S,i,r,c):e==="heartSDF"?T=vu(w,S,r):e==="arcSDF"?T=yu(w,S,r,__tsover_mul(u,.008726646259971648)):e==="teardropSDF"?T=hu(w,S,r,c):e==="parallelogramSDF"?T=xu(w,S,r,c,_):T=fc(w,S,r),x(T,0,0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"r"},{type:"i",name:"n"},{type:"i",name:"round"},{type:"i",name:"inner"},{type:"i",name:"rot"},{type:"i",name:"h"},{type:"i",name:"off"},{type:"i",name:"ap"}],body:[0,[[13,"dx",[1,[7,"uv","x"],"-",[5,"0.5"]]],[13,"dy",[1,[7,"uv","y"],"-",[5,"0.5"]]],[13,"rotRad",[1,"rot","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rdx",[1,[1,"dx","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dx","*","sinR"]]],[12,"dist",[6,"d.f32",[[5,"0"]]]],[11,[1,"shapeType","===",[103,"polygonSDF"]],[2,"dist","=",[6,"std.mix",[[6,"polygonSdf",["rdx","rdy","r","n"]],[6,"circleSdf",["rdx","rdy","r"]],"round"]]],[11,[1,"shapeType","===",[103,"flowerSDF"]],[2,"dist","=",[6,"flowerSdf",["rdx","rdy","r","n","inner"]]],[11,[1,"shapeType","===",[103,"ringSDF"]],[2,"dist","=",[6,"ringSdf",["rdx","rdy","r","inner"]]],[11,[1,"shapeType","===",[103,"crossSDF"]],[2,"dist","=",[6,"crossSdf",["rdx","rdy","r","inner","round"]]],[11,[1,"shapeType","===",[103,"starSDF"]],[2,"dist","=",[6,"starSdf",["rdx","rdy","r","n","inner"]]],[11,[1,"shapeType","===",[103,"roundedRectSDF"]],[2,"dist","=",[6,"roundedRectSdf",["rdx","rdy","r","h","round"]]],[11,[1,"shapeType","===",[103,"ellipseSDF"]],[2,"dist","=",[6,"ellipseSdf",["rdx","rdy","r","h"]]],[11,[1,"shapeType","===",[103,"vesicaSDF"]],[2,"dist","=",[6,"vesicaSdf",["rdx","rdy","r","inner"]]],[11,[1,"shapeType","===",[103,"crescentSDF"]],[2,"dist","=",[6,"crescentSdf",["rdx","rdy","r","inner","off"]]],[11,[1,"shapeType","===",[103,"trapezoidSDF"]],[2,"dist","=",[6,"trapezoidSdf",["rdx","rdy","inner","r","h"]]],[11,[1,"shapeType","===",[103,"heartSDF"]],[2,"dist","=",[6,"heartSdf",["rdx","rdy","r"]]],[11,[1,"shapeType","===",[103,"arcSDF"]],[2,"dist","=",[6,"arcSdf",["rdx","rdy","r",[1,"ap","*","APERTURE_TO_HALFANGLE"]]]],[11,[1,"shapeType","===",[103,"teardropSDF"]],[2,"dist","=",[6,"teardropSdf",["rdx","rdy","r","h"]]],[11,[1,"shapeType","===",[103,"parallelogramSDF"]],[2,"dist","=",[6,"parallelogramSdf",["rdx","rdy","r","h","off"]]],[2,"dist","=",[6,"circleSdf",["rdx","rdy","r"]]]]]]]]]]]]]]]]],[10,[6,"d.vec4f",["dist",[5,"0"],[5,"0"],[5,"1"]]]]]]},externals:{DEG_TO_RAD:()=>nu,"std.cos":()=>H,"std.sin":()=>Y,"d.f32":()=>a,shapeType:()=>e,"std.mix":()=>X,polygonSdf:()=>au,circleSdf:()=>fc,flowerSdf:()=>iu,ringSdf:()=>cu,crossSdf:()=>_u,starSdf:()=>du,roundedRectSdf:()=>lu,ellipseSdf:()=>uu,vesicaSdf:()=>mu,crescentSdf:()=>pu,trapezoidSdf:()=>fu,heartSdf:()=>vu,arcSdf:()=>yu,APERTURE_TO_HALFANGLE:()=>.008726646259971648,teardropSdf:()=>hu,parallelogramSdf:()=>xu,"d.vec4f":()=>x}})&&t.f)({})).$name(`analyticSdf_${e}`)}function P7(e,t,s="none"){let r=t.radius??vt(0),o=t.sides??vt(0),n=t.rounding??vt(0),i=t.innerRatio??vt(0),d=t.rotation??vt(0),c=t.height??vt(0),_=t.offset??vt(0),u=t.aperture??vt(0),m=Jv(e);return p=>we(m,`analyticSdf_${e}`,[p,r,o,n,i,d,c,_,u])}var aG={_saRadius:{schema:a,initial:.35},_saSides:{schema:a,initial:6},_saRounding:{schema:a,initial:0},_saInnerRatio:{schema:a,initial:.4},_saRotation:{schema:a,initial:0},_saHeight:{schema:a,initial:.25},_saOffset:{schema:a,initial:.2},_saAperture:{schema:a,initial:270}};function gu(e){let t=(s,r)=>typeof s=="number"?s:r;return{radius:t(e.radius,t(e.width,t(e.bottomWidth,.35))),sides:t(e.sides,6),rounding:t(e.rounding,0),innerRatio:t(e.innerRatio,t(e.thickness,t(e.spread,t(e.topWidth,t(e.topRatio,.4))))),rotation:t(e.rotation,0),height:t(e.height,.25),offset:t(e.offset,t(e.skew,.2)),aperture:t(e.aperture,270)}}function E7(e){if(e&&typeof e=="object")return e;if(typeof e=="string")try{return JSON.parse(e)}catch{return{}}return{}}function k7(e,t){let s="",r=E7(t()),o=()=>{let i=gu(r);e.setExtraField("_saRadius",i.radius),e.setExtraField("_saSides",i.sides),e.setExtraField("_saRounding",i.rounding),e.setExtraField("_saInnerRatio",i.innerRatio),e.setExtraField("_saRotation",i.rotation),e.setExtraField("_saHeight",i.height),e.setExtraField("_saOffset",i.offset),e.setExtraField("_saAperture",i.aperture)};e.onBeforeRender(()=>{let i=t();if(i&&typeof i=="object")r=i;else if(typeof i=="string"&&i!==s){s=i;try{r=JSON.parse(i)}catch{return}}o()});let n=e.uniforms;return{radius:n._saRadius,sides:n._saSides,rounding:n._saRounding,innerRatio:n._saInnerRatio,rotation:n._saRotation,height:n._saHeight,offset:n._saOffset,aperture:n._saAperture}}var xn=512,Fa={},Zp=new Set,Qp={};function a1(e,t){return e?e in Fa?Fa[e]:(t&&(Qp[e]??=[]).push(t),Zp.has(e)||(Zp.add(e),iG(e)),null):null}async function iG(e){try{let t=await fetch(e,{mode:"cors"});if(!t.ok){Fa[e]=null;return}let s=await t.arrayBuffer(),r=xn*xn;if(s.byteLength!==r*2&&s.byteLength!==r*4){Fa[e]=null;return}let o=s.byteLength===r*2?(()=>{let _=new Uint16Array(s);return u=>_[u]/32767.5-1})():(()=>{let _=new Float32Array(s);return u=>_[u]})(),n=xn,i=xn,d=-1,c=-1;for(let _=0;_d&&(d=m),_c&&(c=_))}Fa[e]=d<0?null:{hwf:(d-n+1)/xn/2,hhf:(c-i+1)/xn/2}}catch{Fa[e]=null}finally{Zp.delete(e);let t=Qp[e];if(t){delete Qp[e];for(let s of t)s()}}}function $7(e){return!!e&&e in Fa}var wb=1/60;function Xc(e,t,s,r,o,n){if(r===0&&o===0)return[s,0];let i=200*Math.pow(.01,r),d=2*Math.sqrt(i)*(1-o*.85),c=n>wb?Math.ceil(n/wb):1,_=n/c,u=e,m=t;for(let p=0;p0?(e-s)/1e3:.016;if(s>0){let d=e-s;if(!r&&!o&&d<1e3)return{render:!1,deltaTime:i};if((r||o)&&dsetTimeout(t,16))}function z7(e){e.updateDrivers(),e.ensureComposition()&&(e.beforeRender(),e.flush(),e.render()!==!1&&e.markReady(),e.afterRender())}function G7(e){let t=null,s=n=>typeof requestAnimationFrame=="function"?requestAnimationFrame(n):setTimeout(()=>n(performance.now()),16),r=n=>{typeof cancelAnimationFrame=="function"?cancelAnimationFrame(n):clearTimeout(n)},o=()=>{e(),t!==null&&(t=s(o))};return{start(){t===null&&(t=s(o))},stop(){t!==null&&(r(t),t=null)},get running(){return t!==null}}}var Y7=["sphere3D","cube3D","torus3D","octahedron3D","cylinder3D","capsule3D","cone3D","pyramid3D","prism3D","ellipsoid3D","diamond3D","link3D","gem3D","helix3D","metaballs3D","dodecahedron3D","hemisphere3D","ribbon3D","blob3D","gyroscope3D"];function L7(e){return Y7.includes(e)}function I7(e){return e==="svgExtrude3D"}var D7={depth:.12,bevel:.02,rotX:15,rotY:30,rotZ:0};function F7(e,t){if(typeof e=="number")return e;if(e&&typeof e=="object"&&(e.type==="auto-animate"||e.type==="mouse")){let s=typeof e.outputMin=="number"?e.outputMin:t,r=typeof e.outputMax=="number"?e.outputMax:t;return Math.max(s,r)}return t}var B7={sphere3D:{radius:.35,rotX:0,rotY:0,rotZ:0},cube3D:{sizeX:.27,sizeY:.27,sizeZ:.27,rounding:.02,rotX:25,rotY:35,rotZ:0},torus3D:{radius:.3,tube:.12,rotX:55,rotY:0,rotZ:0},octahedron3D:{radius:.42,rotX:10,rotY:25,rotZ:0},cylinder3D:{radius:.22,height:.26,rounding:.02,rotX:60,rotY:0,rotZ:30},capsule3D:{radius:.16,height:.2,rotX:0,rotY:0,rotZ:35},cone3D:{radius:.3,topRadius:.02,height:.3,rotX:25,rotY:0,rotZ:15},pyramid3D:{size:.3,height:.45,rotX:-10,rotY:30,rotZ:0},prism3D:{radius:.28,height:.14,rotX:25,rotY:30,rotZ:0},ellipsoid3D:{radiusX:.38,radiusY:.22,radiusZ:.3,rotX:0,rotY:0,rotZ:20},diamond3D:{radius:.3,height:.42,rotX:15,rotY:0,rotZ:0},link3D:{radius:.18,length:.15,tube:.08,rotX:20,rotY:30,rotZ:0},gem3D:{radius:.3,height:.32,facets:8,rotX:15,rotY:0,rotZ:0},helix3D:{radius:.22,tube:.06,pitch:.16,rotX:20,rotY:0,rotZ:0},metaballs3D:{balls:4,ballRadius:.16,spread:.2,blend:.12,speed:1,rotX:0,rotY:0,rotZ:0},dodecahedron3D:{radius:.34,rotX:20,rotY:10,rotZ:0},hemisphere3D:{radius:.4,cut:0,rotX:30,rotY:0,rotZ:0},ribbon3D:{width:.15,thickness:.03,length:.38,wave:.1,waveFrequency:7,twist:140,speed:1,rotX:12,rotY:18,rotZ:0},blob3D:{radius:.3,wobble:.07,wobbliness:5,speed:1,rotX:0,rotY:0,rotZ:0},gyroscope3D:{radius:.34,width:.1,thickness:.028,rounding:.006,core:.14,speed:1,rotX:15,rotY:0,rotZ:0}};function W7(e){let t=B7[e.type]??{},s=(r,o=.3)=>F7(e[r],t[r]??o);switch(e.type){case"cube3D":return Math.hypot(s("sizeX"),s("sizeY"),s("sizeZ"))+s("rounding",0);case"torus3D":return s("radius")+s("tube");case"cylinder3D":return Math.hypot(s("radius"),s("height"))+s("rounding",0);case"capsule3D":return s("height")+s("radius");case"cone3D":return Math.hypot(Math.max(s("radius"),s("topRadius")),s("height"));case"pyramid3D":return Math.hypot(s("size")*Math.SQRT2,s("height")*.5);case"prism3D":return Math.hypot(s("radius")*1.1548,s("height"));case"ellipsoid3D":return Math.max(s("radiusX"),s("radiusY"),s("radiusZ"));case"diamond3D":return Math.max(s("radius"),s("height"));case"link3D":return s("length")+s("radius")+s("tube");case"gem3D":return Math.max(s("radius"),s("height"));case"helix3D":return Math.hypot(s("radius")+s("tube"),s("pitch")*3*.5+s("tube"));case"metaballs3D":return s("spread")+s("ballRadius",.16)+s("blend",.12);case"dodecahedron3D":return s("radius")*1.32;case"hemisphere3D":return s("radius");case"ribbon3D":return Math.hypot(s("length",.38),s("wave",.1)*1.2+Math.hypot(s("width",.15),s("thickness",.03)))+.01;case"blob3D":return s("radius",.3)+s("wobble",.07)+.02;case"gyroscope3D":return s("radius",.34)+s("thickness",.028)*.5+s("width",.1)*.5+s("rounding",.006);default:return s("radius",.35)}}var i1={propBindings:{x:{prop:"center",as:"position-x"},y:{prop:"center",as:"position-y"},rotation:{prop:"rotation",as:"degrees"}},computeBounds(e,t,s){let r=e.scale??1,o=typeof e.center?.x=="number"?e.center.x:.5,n=typeof e.center?.y=="number"?e.center.y:.5,{hwf:i,hhf:d}=Jp(e),c=r*s;return{centerXPx:o*t,centerYPx:n*s,widthPx:2*i*c,heightPx:2*d*c,rotationDeg:e.rotation??0}},writeBounds(e,t,s,r){let o={...t.center??{x:.5,y:.5},x:e.centerXPx/s,y:e.centerYPx/r},n=t.scale??1,i=cG(t)?bu(t.shape):null;if(i&&n>0)return{center:o,rotation:e.rotationDeg,shape:JSON.stringify({...i,radius:Math.max(.001,e.widthPx/(2*n*r)),height:Math.max(.001,e.heightPx/(2*n*r))})};let{hwf:d}=Jp(t);return{center:o,scale:d>0?Math.max(.01,e.widthPx/(2*d*r)):.01,rotation:e.rotationDeg}}},Hd=new Map;function bu(e){if(typeof e!="string")return e??null;if(Hd.has(e))return Hd.get(e);let t=null;try{t=JSON.parse(e)}catch{t=null}return Hd.size>=64&&Hd.clear(),Hd.set(e,t),t}function cG(e){if(e.shapeSdfUrl)return!1;let t=bu(e.shape)?.type;return t==="roundedRectSDF"||t==="ellipseSDF"}function Jp(e){if(e.shapeSdfUrl){let r=e._shapeBounds??a1(e.shapeSdfUrl),o=r&&typeof r.hwf=="number"&&typeof r.hhf=="number"?{hwf:r.hwf,hhf:r.hhf}:{hwf:.5,hhf:.5},n=e.shapeType;if(typeof n=="string"&&I7(n)){let i=bu(e.shape)??{},d=_=>F7(i[_],D7[_]??0),c=Math.hypot(o.hwf,o.hhf,d("depth")*.5)+d("bevel")+.02;return{hwf:c,hhf:c}}return o}let t=bu(e.shape);if(!t||typeof t!="object")return{hwf:.5,hhf:.5};if(typeof t.type=="string"&&L7(t.type)){let r=W7(t);return{hwf:r,hhf:r}}let s=typeof t.radius=="number"?t.radius:.35;switch(t.type){case"roundedRectSDF":case"ellipseSDF":return{hwf:s,hhf:typeof t.height=="number"?t.height:s};case"ringSDF":{let r=typeof t.thickness=="number"?t.thickness:0;return{hwf:s+r,hhf:s+r}}case"trapezoidSDF":{let r=typeof t.bottomWidth=="number"?t.bottomWidth:.3,o=typeof t.topWidth=="number"?t.topWidth:.2,n=typeof t.height=="number"?t.height:.25;return{hwf:Math.max(r,o),hhf:n}}case"vesicaSDF":{let r=typeof t.spread=="number"?Math.min(1,Math.max(0,t.spread)):.4;return{hwf:s*(1-r),hhf:s*Math.sqrt(Math.max(0,1-r*r))}}case"teardropSDF":return{hwf:s,hhf:((typeof t.height=="number"?t.height:.4)+s)/2};case"parallelogramSDF":{let r=typeof t.width=="number"?t.width:.32,o=typeof t.height=="number"?t.height:.22,n=typeof t.skew=="number"?t.skew:0;return{hwf:r+Math.abs(n),hhf:o}}default:return{hwf:s,hhf:s}}}function _G(e,t){if(e)return e;let s=t;if(typeof t=="string")try{s=JSON.parse(t)}catch{return"circleSDF"}if(s&&typeof s=="object"){let r=s.type;if(typeof r=="string"&&r)return r}return"circleSDF"}var yd=Za({HELIX_TURNS:()=>3,MAX_METABALLS:()=>8,MarchParams:()=>Cn,RotStruct:()=>Hc,SHAPE3D_DEFAULTS:()=>wu,SHAPE3D_TYPES:()=>O7,SVG3D_DEFAULTS:()=>N7,SVG3D_TYPES:()=>lG,SampleParams:()=>bf,VOLUMETRIC_FIELD_EXTRA_FIELDS:()=>yG,VOLUMETRIC_FIELD_FORMAT:()=>c1,VOLUMETRIC_FIELD_RES:()=>H7,VOLUMETRIC_FIELD_RES_MOBILE:()=>768,boxFaceUV:()=>MG,buildFieldSampleGraph:()=>vG,buildFieldSampleGraphArgs:()=>ay,buildRaymarchedField:()=>pG,buildRaymarchedFieldFn:()=>oy,buildVolumetricFieldKernel:()=>K7,buildVolumetricFieldSampler:()=>J7,capsuleSurfaceUV:()=>EG,createAnalytic2dExtrudeSetup:()=>xG,createAnalytic3dSdfSetup:()=>ew,createSvg3dSdfSetup:()=>tw,createVolumetricFieldCompute:()=>Z7,createVolumetricFieldComputeNode:()=>gG,eulerRotatePacked:()=>ws,is3dShapeType:()=>d1,isMobileGpuViewport:()=>_o,isSvg3dShapeType:()=>sy,isVolumetricShapeType:()=>V7,makeVolumetricFieldLayout:()=>ny,makeVolumetricSvgFieldLayout:()=>Q7,mobiusSurfaceUV:()=>$G,packedParamExtraFields:()=>RG,paramBoxSdf:()=>AG,paramCapsuleSdf:()=>PG,paramMobiusSdf:()=>kG,paramSphereSdf:()=>bG,paramTorusSdf:()=>TG,paramTwistedRibbonSdf:()=>UG,resolveActiveFieldRes:()=>j7,resolveShapeFieldSampler:()=>hG,resolveShapeSubProp:()=>ry,resolveVolumetricFieldRes:()=>jc,rotateVec3:()=>yl,rotateVecCpu:()=>ef,sdBicone:()=>kc,sdCappedCone:()=>af,sdCapsule:()=>nf,sdCutSphere:()=>yf,sdDodecahedron:()=>vf,sdEllipsoid:()=>_f,sdFlatBand:()=>nc,sdGem:()=>mf,sdGyroscope:()=>gf,sdHelix:()=>pf,sdHexPrism:()=>cf,sdLink:()=>lf,sdMetaballs:()=>ff,sdOctahedron:()=>rf,sdPyramid:()=>df,sdRibbon:()=>hf,sdRoundBox:()=>Ec,sdRoundCylinder:()=>of,sdSphere:()=>tf,sdTorus:()=>sf,sdWobbleBlob:()=>xf,shape3dBoundingRadius:()=>X7,shapeSubPropMax:()=>q7,smin:()=>uf,sphereSurfaceUV:()=>wG,torusSurfaceUV:()=>SG,twistedRibbonSurfaceUV:()=>CG}),Tb=3.141592653589793,Ba=6.283185307179586,O7=["sphere3D","cube3D","torus3D","octahedron3D","cylinder3D","capsule3D","cone3D","pyramid3D","prism3D","ellipsoid3D","diamond3D","link3D","gem3D","helix3D","metaballs3D","dodecahedron3D","hemisphere3D","ribbon3D","blob3D","gyroscope3D"];function d1(e){return O7.includes(e)}var lG=["svgExtrude3D"];function sy(e){return e==="svgExtrude3D"}function V7(e){return d1(e)||sy(e)}var N7={depth:.12,bevel:.02,rotX:15,rotY:30,rotZ:0},uG=e=>e<1/2.75?7.5625*e*e:e<2/2.75?(e-=1.5/2.75,7.5625*e*e+.75):e<2.5/2.75?(e-=2.25/2.75,7.5625*e*e+.9375):(e-=2.625/2.75,7.5625*e*e+.984375),mG=(e,t)=>{switch(t){case"linear":return e;case"quad":return e<.5?2*e*e:1-Math.pow(-2*e+2,2)/2;case"expo":return e===0?0:e===1?1:e<.5?Math.pow(2,20*e-10)/2:(2-Math.pow(2,-20*e+10))/2;case"bounce":return uG(e);default:return(1-Math.cos(Math.PI*e))/2}};function ry(e,t,s,r){if(typeof e=="number")return e;if(e&&typeof e=="object"){if(e.type==="auto-animate"){let o=(s.elapsed*(e.speed??1)*.2%1+1)%1,n=mG(e.mode==="loop"?o:o<.5?o*2:(1-o)*2,e.easing??e.waveform??"sine"),i=typeof e.outputMin=="number"?e.outputMin:t;return i+n*((typeof e.outputMax=="number"?e.outputMax:t)-i)}if(e.type==="mouse"){let o=e.axis==="y"?s.pointerY:s.pointerX,n=s.springs.get(r);n||(n={current:o,velocity:0},s.springs.set(r,n));let[i,d]=Xc(n.current,n.velocity,o,e.smoothing??0,e.momentum??0,s.deltaTime);n.current=i,n.velocity=d;let c=Math.max(.001,i),_=typeof e.outputMin=="number"?e.outputMin:t,u=typeof e.outputMax=="number"?e.outputMax:t,m=Math.pow(2,-(e.curve??0)*2);return _+Math.pow(c,m)*(u-_)}}return t}function q7(e,t){if(typeof e=="number")return e;if(e&&typeof e=="object"&&(e.type==="auto-animate"||e.type==="mouse")){let s=typeof e.outputMin=="number"?e.outputMin:t,r=typeof e.outputMax=="number"?e.outputMax:t;return Math.max(s,r)}return t}var wu={sphere3D:{radius:.35,rotX:0,rotY:0,rotZ:0},cube3D:{sizeX:.27,sizeY:.27,sizeZ:.27,rounding:.02,rotX:25,rotY:35,rotZ:0},torus3D:{radius:.3,tube:.12,rotX:55,rotY:0,rotZ:0},octahedron3D:{radius:.42,rotX:10,rotY:25,rotZ:0},cylinder3D:{radius:.22,height:.26,rounding:.02,rotX:60,rotY:0,rotZ:30},capsule3D:{radius:.16,height:.2,rotX:0,rotY:0,rotZ:35},cone3D:{radius:.3,topRadius:.02,height:.3,rotX:25,rotY:0,rotZ:15},pyramid3D:{size:.3,height:.45,rotX:-10,rotY:30,rotZ:0},prism3D:{radius:.28,height:.14,rotX:25,rotY:30,rotZ:0},ellipsoid3D:{radiusX:.38,radiusY:.22,radiusZ:.3,rotX:0,rotY:0,rotZ:20},diamond3D:{radius:.3,height:.42,rotX:15,rotY:0,rotZ:0},link3D:{radius:.18,length:.15,tube:.08,rotX:20,rotY:30,rotZ:0},gem3D:{radius:.3,height:.32,facets:8,rotX:15,rotY:0,rotZ:0},helix3D:{radius:.22,tube:.06,pitch:.16,rotX:20,rotY:0,rotZ:0},metaballs3D:{balls:4,ballRadius:.16,spread:.2,blend:.12,speed:1,rotX:0,rotY:0,rotZ:0},dodecahedron3D:{radius:.34,rotX:20,rotY:10,rotZ:0},hemisphere3D:{radius:.4,cut:0,rotX:30,rotY:0,rotZ:0},ribbon3D:{width:.15,thickness:.03,length:.38,wave:.1,waveFrequency:7,twist:140,speed:1,rotX:12,rotY:18,rotZ:0},blob3D:{radius:.3,wobble:.07,wobbliness:5,speed:1,rotX:0,rotY:0,rotZ:0},gyroscope3D:{radius:.34,width:.1,thickness:.028,rounding:.006,core:.14,speed:1,rotX:15,rotY:0,rotZ:0}};function X7(e){let t=wu[e.type]??{},s=(r,o=.3)=>q7(e[r],t[r]??o);switch(e.type){case"cube3D":return Math.hypot(s("sizeX"),s("sizeY"),s("sizeZ"))+s("rounding",0);case"torus3D":return s("radius")+s("tube");case"cylinder3D":return Math.hypot(s("radius"),s("height"))+s("rounding",0);case"capsule3D":return s("height")+s("radius");case"cone3D":return Math.hypot(Math.max(s("radius"),s("topRadius")),s("height"));case"pyramid3D":return Math.hypot(s("size")*Math.SQRT2,s("height")*.5);case"prism3D":return Math.hypot(s("radius")*1.1548,s("height"));case"ellipsoid3D":return Math.max(s("radiusX"),s("radiusY"),s("radiusZ"));case"diamond3D":return Math.max(s("radius"),s("height"));case"link3D":return s("length")+s("radius")+s("tube");case"gem3D":return Math.max(s("radius"),s("height"));case"helix3D":return Math.hypot(s("radius")+s("tube"),s("pitch")*3*.5+s("tube"));case"metaballs3D":return s("spread")+s("ballRadius",.16)+s("blend",.12);case"dodecahedron3D":return s("radius")*1.32;case"hemisphere3D":return s("radius");case"ribbon3D":return Math.hypot(s("length",.38),s("wave",.1)*1.2+Math.hypot(s("width",.15),s("thickness",.03)))+.01;case"blob3D":return s("radius",.3)+s("wobble",.07)+.02;case"gyroscope3D":return s("radius",.34)+s("thickness",.028)*.5+s("width",.1)*.5+s("rounding",.006);default:return s("radius",.35)}}function ef(e,t,s,r){let o=e*r.cy+s*r.sy,n=-e*r.sy+s*r.cy,i=t*r.cx-n*r.sx,d=t*r.sx+n*r.cx;return{x:o*r.cz-i*r.sz,y:o*r.sz+i*r.cz,z:d}}var tf=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(j(t),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"}],body:[0,[[10,[1,[6,"std.length",["p"]],"-","r"]]]]},externals:{"std.length":()=>j}})&&e.f)({})),Ec=v.fn([f,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_add(__tsover_sub(z(t.x),s),n),d=__tsover_add(__tsover_sub(z(t.y),r),n),c=__tsover_add(__tsover_sub(z(t.z),o),n),_=j(f(b(i,0),b(d,0),b(c,0))),u=oe(b(i,b(d,c)),0);return __tsover_sub(__tsover_add(_,u),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"hx"},{type:"i",name:"hy"},{type:"i",name:"hz"},{type:"i",name:"rounding"}],body:[0,[[13,"qx",[1,[1,[6,"std.abs",[[7,"p","x"]]],"-","hx"],"+","rounding"]],[13,"qy",[1,[1,[6,"std.abs",[[7,"p","y"]]],"-","hy"],"+","rounding"]],[13,"qz",[1,[1,[6,"std.abs",[[7,"p","z"]]],"-","hz"],"+","rounding"]],[13,"outer",[6,"std.length",[[6,"d.vec3f",[[6,"std.max",["qx",[5,"0"]]],[6,"std.max",["qy",[5,"0"]]],[6,"std.max",["qz",[5,"0"]]]]]]]],[13,"inner",[6,"std.min",[[6,"std.max",["qx",[6,"std.max",["qy","qz"]]]],[5,"0"]]]],[10,[1,[1,"outer","+","inner"],"-","rounding"]]]]},externals:{"std.abs":()=>z,"std.length":()=>j,"d.vec3f":()=>f,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),sf=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(j(l(t.x,t.z)),s);return __tsover_sub(j(l(o,t.y)),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"ringR"},{type:"i",name:"tubeR"}],body:[0,[[13,"qx",[1,[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]],"-","ringR"]],[10,[1,[6,"std.length",[[6,"d.vec2f",["qx",[7,"p","y"]]]]],"-","tubeR"]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})),rf=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_mul(__tsover_sub(__tsover_add(__tsover_add(z(t.x),z(t.y)),z(t.z)),s),.57735027)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"s"}],body:[0,[[10,[1,[1,[1,[1,[6,"std.abs",[[7,"p","x"]]],"+",[6,"std.abs",[[7,"p","y"]]]],"+",[6,"std.abs",[[7,"p","z"]]]],"-","s"],"*",[5,"0.57735027"]]]]]},externals:{"std.abs":()=>z}})&&e.f)({})),of=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_add(__tsover_sub(j(l(t.x,t.z)),s),o),i=__tsover_add(__tsover_sub(z(t.y),r),o),d=oe(b(n,i),0),c=j(l(b(n,0),b(i,0)));return __tsover_sub(__tsover_add(d,c),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"h"},{type:"i",name:"rounding"}],body:[0,[[13,"dx",[1,[1,[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]],"-","r"],"+","rounding"]],[13,"dy",[1,[1,[6,"std.abs",[[7,"p","y"]]],"-","h"],"+","rounding"]],[13,"inner",[6,"std.min",[[6,"std.max",["dx","dy"]],[5,"0"]]]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["dx",[5,"0"]]],[6,"std.max",["dy",[5,"0"]]]]]]]],[10,[1,[1,"inner","+","outer"],"-","rounding"]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.abs":()=>z,"std.min":()=>oe,"std.max":()=>b}})&&e.f)({})),nf=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=$(t.y,__tsover_mul(r,-1),r);return __tsover_sub(j(f(t.x,__tsover_sub(t.y,o),t.z)),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"h"}],body:[0,[[13,"cyc",[6,"std.clamp",[[7,"p","y"],[1,"h","*",[4,"-",[5,"1"]]],"h"]]],[10,[1,[6,"std.length",[[6,"d.vec3f",[[7,"p","x"],[1,[7,"p","y"],"-","cyc"],[7,"p","z"]]]]],"-","r"]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec3f":()=>f}})&&e.f)({})),af=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=j(l(t.x,t.z)),i=t.y,d=__tsover_sub(r,s),c=__tsover_mul(o,2),_=__tsover_sub(n,oe(n,C(r,s,i<0))),u=__tsover_sub(z(i),o),m=__tsover_add(__tsover_mul(__tsover_sub(r,n),d),__tsover_mul(__tsover_sub(o,i),c)),p=b(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c)),1e-6),y=$(__tsover_div(m,p),0,1),h=__tsover_add(__tsover_sub(n,r),__tsover_mul(d,y)),g=__tsover_add(__tsover_sub(i,o),__tsover_mul(c,y)),w=C(a(1),a(-1),u<0),S=C(a(1),w,h<0),T=__tsover_add(__tsover_mul(_,_),__tsover_mul(u,u)),A=__tsover_add(__tsover_mul(h,h),__tsover_mul(g,g));return __tsover_mul(S,be(oe(T,A)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r1"},{type:"i",name:"r2"},{type:"i",name:"h"}],body:[0,[[13,"qx",[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]]],[13,"qy",[7,"p","y"]],[13,"k2x",[1,"r2","-","r1"]],[13,"k2y",[1,"h","*",[5,"2"]]],[13,"cax",[1,"qx","-",[6,"std.min",["qx",[6,"std.select",["r2","r1",[1,"qy","<",[5,"0"]]]]]]]],[13,"cay",[1,[6,"std.abs",["qy"]],"-","h"]],[13,"dotNum",[1,[1,[1,"r2","-","qx"],"*","k2x"],"+",[1,[1,"h","-","qy"],"*","k2y"]]],[13,"dotDen",[6,"std.max",[[1,[1,"k2x","*","k2x"],"+",[1,"k2y","*","k2y"]],[5,"0.000001"]]]],[13,"t",[6,"std.clamp",[[1,"dotNum","/","dotDen"],[5,"0"],[5,"1"]]]],[13,"cbx",[1,[1,"qx","-","r2"],"+",[1,"k2x","*","t"]]],[13,"cby",[1,[1,"qy","-","h"],"+",[1,"k2y","*","t"]]],[13,"sInner",[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"d.f32",[[4,"-",[5,"1"]]]],[1,"cay","<",[5,"0"]]]]],[13,"s",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"sInner",[1,"cbx","<",[5,"0"]]]]],[13,"dca",[1,[1,"cax","*","cax"],"+",[1,"cay","*","cay"]]],[13,"dcb",[1,[1,"cbx","*","cbx"],"+",[1,"cby","*","cby"]]],[10,[1,"s","*",[6,"std.sqrt",[[6,"std.min",["dca","dcb"]]]]]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.min":()=>oe,"std.select":()=>C,"std.abs":()=>z,"std.max":()=>b,"std.clamp":()=>$,"d.f32":()=>a,"std.sqrt":()=>be}})&&e.f)({})),df=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r,.5),n=be(__tsover_add(__tsover_mul(r,r),__tsover_mul(s,s))),i=__tsover_div(__tsover_add(__tsover_mul(r,z(t.x)),__tsover_mul(s,__tsover_sub(t.y,o))),n),d=__tsover_div(__tsover_add(__tsover_mul(r,z(t.z)),__tsover_mul(s,__tsover_sub(t.y,o))),n),c=__tsover_sub(__tsover_mul(t.y,-1),o);return b(b(i,d),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"b"},{type:"i",name:"ht"}],body:[0,[[13,"h2",[1,"ht","*",[5,"0.5"]]],[13,"denom",[6,"std.sqrt",[[1,[1,"ht","*","ht"],"+",[1,"b","*","b"]]]]],[13,"dx",[1,[1,[1,"ht","*",[6,"std.abs",[[7,"p","x"]]]],"+",[1,"b","*",[1,[7,"p","y"],"-","h2"]]],"/","denom"]],[13,"dz",[1,[1,[1,"ht","*",[6,"std.abs",[[7,"p","z"]]]],"+",[1,"b","*",[1,[7,"p","y"],"-","h2"]]],"/","denom"]],[13,"dBase",[1,[1,[7,"p","y"],"*",[4,"-",[5,"1"]]],"-","h2"]],[10,[6,"std.max",[[6,"std.max",["dx","dz"]],"dBase"]]]]]},externals:{"std.sqrt":()=>be,"std.abs":()=>z,"std.max":()=>b}})&&e.f)({})),cf=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=-.8660254,n=.5,i=.57735,d=z(t.x),c=z(t.y),_=z(t.z),u=__tsover_mul(oe(__tsover_add(__tsover_mul(o,d),__tsover_mul(n,c)),0),2),m=__tsover_sub(d,__tsover_mul(u,o)),p=__tsover_sub(c,__tsover_mul(u,n)),y=$(m,__tsover_mul(__tsover_mul(i,s),-1),__tsover_mul(i,s)),h=__tsover_sub(m,y),g=__tsover_sub(p,s),w=__tsover_mul(be(__tsover_add(__tsover_mul(h,h),__tsover_mul(g,g))),ks(__tsover_sub(p,s))),S=__tsover_sub(_,r),T=oe(b(w,S),0),A=j(l(b(w,0),b(S,0)));return __tsover_add(T,A)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"he"}],body:[0,[[13,"kx",[4,"-",[5,"0.8660254"]]],[13,"ky",[5,"0.5"]],[13,"kz",[5,"0.57735"]],[13,"ax",[6,"std.abs",[[7,"p","x"]]]],[13,"ay",[6,"std.abs",[[7,"p","y"]]]],[13,"az",[6,"std.abs",[[7,"p","z"]]]],[13,"dk",[1,[6,"std.min",[[1,[1,"kx","*","ax"],"+",[1,"ky","*","ay"]],[5,"0"]]],"*",[5,"2"]]],[13,"px",[1,"ax","-",[1,"dk","*","kx"]]],[13,"py",[1,"ay","-",[1,"dk","*","ky"]]],[13,"cx",[6,"std.clamp",["px",[1,[1,"kz","*","r"],"*",[4,"-",[5,"1"]]],[1,"kz","*","r"]]]],[13,"ex",[1,"px","-","cx"]],[13,"ey",[1,"py","-","r"]],[13,"dHex",[1,[6,"std.sqrt",[[1,[1,"ex","*","ex"],"+",[1,"ey","*","ey"]]]],"*",[6,"std.sign",[[1,"py","-","r"]]]]],[13,"dZ",[1,"az","-","he"]],[13,"inner",[6,"std.min",[[6,"std.max",["dHex","dZ"]],[5,"0"]]]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["dHex",[5,"0"]]],[6,"std.max",["dZ",[5,"0"]]]]]]]],[10,[1,"inner","+","outer"]]]]},externals:{"std.abs":()=>z,"std.min":()=>oe,"std.clamp":()=>$,"std.sqrt":()=>be,"std.sign":()=>ks,"std.max":()=>b,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})),_f=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=j(f(__tsover_div(t.x,s),__tsover_div(t.y,r),__tsover_div(t.z,o))),i=j(f(__tsover_div(t.x,__tsover_mul(s,s)),__tsover_div(t.y,__tsover_mul(r,r)),__tsover_div(t.z,__tsover_mul(o,o))));return __tsover_div(__tsover_mul(n,__tsover_sub(n,1)),b(i,1e-6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rx"},{type:"i",name:"ry"},{type:"i",name:"rz"}],body:[0,[[13,"k0",[6,"std.length",[[6,"d.vec3f",[[1,[7,"p","x"],"/","rx"],[1,[7,"p","y"],"/","ry"],[1,[7,"p","z"],"/","rz"]]]]]],[13,"k1",[6,"std.length",[[6,"d.vec3f",[[1,[7,"p","x"],"/",[1,"rx","*","rx"]],[1,[7,"p","y"],"/",[1,"ry","*","ry"]],[1,[7,"p","z"],"/",[1,"rz","*","rz"]]]]]]],[10,[1,[1,"k0","*",[1,"k0","-",[5,"1"]]],"/",[6,"std.max",["k1",[5,"0.000001"]]]]]]]},externals:{"std.length":()=>j,"d.vec3f":()=>f,"std.max":()=>b}})&&e.f)({})),kc=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=j(l(t.x,t.z)),n=z(t.y),i=__tsover_mul(s,-1),d=r,c=__tsover_sub(o,s),_=n,u=b(__tsover_add(__tsover_mul(i,i),__tsover_mul(d,d)),1e-6),m=$(__tsover_div(__tsover_add(__tsover_mul(c,i),__tsover_mul(_,d)),u),0,1),p=__tsover_sub(c,__tsover_mul(i,m)),y=__tsover_sub(_,__tsover_mul(d,m)),h=be(__tsover_add(__tsover_mul(p,p),__tsover_mul(y,y)));return __tsover_mul(h,ks(__tsover_sub(__tsover_add(__tsover_mul(r,o),__tsover_mul(s,n)),__tsover_mul(s,r))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"h"}],body:[0,[[13,"qx",[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]]],[13,"qy",[6,"std.abs",[[7,"p","y"]]]],[13,"abx",[1,"r","*",[4,"-",[5,"1"]]]],[13,"aby","h"],[13,"apx",[1,"qx","-","r"]],[13,"apy","qy"],[13,"den",[6,"std.max",[[1,[1,"abx","*","abx"],"+",[1,"aby","*","aby"]],[5,"0.000001"]]]],[13,"t",[6,"std.clamp",[[1,[1,[1,"apx","*","abx"],"+",[1,"apy","*","aby"]],"/","den"],[5,"0"],[5,"1"]]]],[13,"dxx",[1,"apx","-",[1,"abx","*","t"]]],[13,"dyy",[1,"apy","-",[1,"aby","*","t"]]],[13,"dist",[6,"std.sqrt",[[1,[1,"dxx","*","dxx"],"+",[1,"dyy","*","dyy"]]]]],[10,[1,"dist","*",[6,"std.sign",[[1,[1,[1,"h","*","qx"],"+",[1,"r","*","qy"]],"-",[1,"r","*","h"]]]]]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.abs":()=>z,"std.max":()=>b,"std.clamp":()=>$,"std.sqrt":()=>be,"std.sign":()=>ks}})&&e.f)({})),lf=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(__tsover_sub(z(t.y),s),0),i=__tsover_sub(j(l(t.x,n)),r);return __tsover_sub(j(l(i,t.z)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"le"},{type:"i",name:"r1"},{type:"i",name:"r2"}],body:[0,[[13,"qy",[6,"std.max",[[1,[6,"std.abs",[[7,"p","y"]]],"-","le"],[5,"0"]]]],[13,"ring",[1,[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],"qy"]]]],"-","r1"]],[10,[1,[6,"std.length",[[6,"d.vec2f",["ring",[7,"p","z"]]]]],"-","r2"]]]]},externals:{"std.max":()=>b,"std.abs":()=>z,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})),uf=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=$(__tsover_add(__tsover_mul(__tsover_div(__tsover_sub(s,t),r),.5),.5),0,1);return __tsover_sub(X(s,t,o),__tsover_mul(__tsover_mul(r,o),__tsover_sub(1,o)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"k"}],body:[0,[[13,"h",[6,"std.clamp",[[1,[1,[1,[1,"b","-","a"],"/","k"],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[10,[1,[6,"std.mix",["b","a","h"]],"-",[1,[1,"k","*","h"],"*",[1,[5,"1"],"-","h"]]]]]]},externals:{"std.clamp":()=>$,"std.mix":()=>X}})&&e.f)({})),mf=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=kc(t,s,r),i=j(l(t.x,t.z)),d=tt(t.z,t.x),c=__tsover_div(Ba,o),_=q(__tsover_add(__tsover_div(d,c),.5)),u=__tsover_sub(d,__tsover_mul(_,c)),m=__tsover_mul(s,H(__tsover_div(Tb,o)));return b(b(n,__tsover_sub(__tsover_mul(i,H(u)),m)),__tsover_sub(t.y,__tsover_mul(r,.45)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"h"},{type:"i",name:"sides"}],body:[0,[[13,"base",[6,"sdBicone",["p","r","h"]]],[13,"lenXZ",[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]]],[13,"ang",[6,"std.atan2",[[7,"p","z"],[7,"p","x"]]]],[13,"sector",[1,"TWO_PI","/","sides"]],[13,"idx",[6,"std.floor",[[1,[1,"ang","/","sector"],"+",[5,"0.5"]]]]],[13,"ca",[1,"ang","-",[1,"idx","*","sector"]]],[13,"ri",[1,"r","*",[6,"std.cos",[[1,"PI","/","sides"]]]]],[13,"facet",[1,[1,"lenXZ","*",[6,"std.cos",["ca"]]],"-","ri"]],[13,"dd",[6,"std.max",["base","facet"]]],[13,"table",[1,[7,"p","y"],"-",[1,"h","*",[5,"0.45"]]]],[10,[6,"std.max",["dd","table"]]]]]},externals:{sdBicone:()=>kc,"std.length":()=>j,"d.vec2f":()=>l,"std.atan2":()=>tt,TWO_PI:()=>Ba,"std.floor":()=>q,"std.cos":()=>H,PI:()=>Tb,"std.max":()=>b}})&&e.f)({})),pf=v.fn([f,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=tt(t.z,t.x),d=q(__tsover_add(__tsover_sub(__tsover_div(t.y,o),__tsover_div(i,Ba)),.5)),c=__tsover_add(i,__tsover_mul(Ba,d)),_=__tsover_mul(s,H(c)),u=__tsover_div(__tsover_mul(o,c),Ba),m=__tsover_mul(s,Y(c));return b(__tsover_sub(j(f(__tsover_sub(t.x,_),__tsover_sub(t.y,u),__tsover_sub(t.z,m))),r),__tsover_sub(z(t.y),__tsover_mul(__tsover_mul(o,n),.5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"R"},{type:"i",name:"tube"},{type:"i",name:"pitch"},{type:"i",name:"turns"}],body:[0,[[13,"psi",[6,"std.atan2",[[7,"p","z"],[7,"p","x"]]]],[13,"k",[6,"std.floor",[[1,[1,[1,[7,"p","y"],"/","pitch"],"-",[1,"psi","/","TWO_PI"]],"+",[5,"0.5"]]]]],[13,"theta",[1,"psi","+",[1,"TWO_PI","*","k"]]],[13,"ccx",[1,"R","*",[6,"std.cos",["theta"]]]],[13,"ccy",[1,[1,"pitch","*","theta"],"/","TWO_PI"]],[13,"ccz",[1,"R","*",[6,"std.sin",["theta"]]]],[13,"dStrand",[1,[6,"std.length",[[6,"d.vec3f",[[1,[7,"p","x"],"-","ccx"],[1,[7,"p","y"],"-","ccy"],[1,[7,"p","z"],"-","ccz"]]]]],"-","tube"]],[13,"slab",[1,[6,"std.abs",[[7,"p","y"]]],"-",[1,[1,"pitch","*","turns"],"*",[5,"0.5"]]]],[10,[6,"std.max",["dStrand","slab"]]]]]},externals:{"std.atan2":()=>tt,"std.floor":()=>q,TWO_PI:()=>Ba,"std.cos":()=>H,"std.sin":()=>Y,"std.length":()=>j,"d.vec3f":()=>f,"std.abs":()=>z,"std.max":()=>b}})&&e.f)({})),Sb=pt(f,8),Ab=8,ff=v.fn([f,f,f,f,f,f,f,f,f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=Sb();p[0]=f(s),p[1]=f(r),p[2]=f(o),p[3]=f(n),p[4]=f(i),p[5]=f(d),p[6]=f(c),p[7]=f(_);let y=__tsover_sub(j(t.sub(p[0])),u);for(let h=1;hSb,"d.vec3f":()=>f,"std.length":()=>j,METABALL_COUNT:()=>Ab,smin:()=>uf}})&&e.f)({})),vf=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=f(z(t.x),z(t.y),z(t.z)),o=se(r,f(0,.5257311,.8506508)),n=se(r,f(.8506508,0,.5257311)),i=se(r,f(.5257311,.8506508,0));return __tsover_sub(b(b(o,n),i),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"}],body:[0,[[13,"q",[6,"d.vec3f",[[6,"std.abs",[[7,"p","x"]]],[6,"std.abs",[[7,"p","y"]]],[6,"std.abs",[[7,"p","z"]]]]]],[13,"a",[6,"std.dot",["q",[6,"d.vec3f",[[5,"0"],[5,"0.5257311"],[5,"0.8506508"]]]]]],[13,"b",[6,"std.dot",["q",[6,"d.vec3f",[[5,"0.8506508"],[5,"0"],[5,"0.5257311"]]]]]],[13,"c",[6,"std.dot",["q",[6,"d.vec3f",[[5,"0.5257311"],[5,"0.8506508"],[5,"0"]]]]]],[10,[1,[6,"std.max",[[6,"std.max",["a","b"]],"c"]],"-","r"]]]]},externals:{"d.vec3f":()=>f,"std.abs":()=>z,"std.dot":()=>se,"std.max":()=>b}})&&e.f)({})),yf=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=be(b(__tsover_sub(__tsover_mul(s,s),__tsover_mul(r,r)),0)),n=j(l(t.x,t.z)),i=t.y,d=b(__tsover_add(__tsover_mul(__tsover_mul(__tsover_sub(r,s),n),n),__tsover_mul(__tsover_mul(o,o),__tsover_sub(__tsover_add(r,s),__tsover_mul(i,2)))),__tsover_sub(__tsover_mul(r,n),__tsover_mul(o,i))),c=__tsover_sub(j(l(n,i)),s),_=__tsover_sub(r,i);return C(C(j(l(__tsover_sub(n,o),__tsover_sub(i,r))),_,nbe,"std.max":()=>b,"std.length":()=>j,"d.vec2f":()=>l,"std.select":()=>C}})&&e.f)({})),hf=v.fn([f,a,a,a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=__tsover_mul(n,Y(__tsover_add(__tsover_mul(i,t.x),d))),y=__tsover_mul(__tsover_mul(n,.6),Y(__tsover_add(__tsover_mul(__tsover_mul(i,.8),t.x),c))),h=__tsover_sub(t.y,p),g=__tsover_sub(t.z,y),w=__tsover_add(__tsover_mul(_,t.x),u),S=H(w),T=Y(w),A=__tsover_add(__tsover_mul(h,S),__tsover_mul(g,T)),P=__tsover_sub(__tsover_mul(g,S),__tsover_mul(h,T)),U=__tsover_mul(r,.4),D=__tsover_add(__tsover_sub(z(A),s),U),O=__tsover_add(__tsover_sub(z(P),r),U),L=__tsover_sub(__tsover_add(j(l(b(D,0),b(O,0))),oe(b(D,O),0)),U),G=__tsover_sub(z(t.x),o),W=__tsover_add(j(l(b(L,0),b(G,0))),oe(b(L,G),0));return __tsover_mul(W,m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"w"},{type:"i",name:"th"},{type:"i",name:"len"},{type:"i",name:"amp"},{type:"i",name:"freq"},{type:"i",name:"ph1"},{type:"i",name:"ph2"},{type:"i",name:"twRate"},{type:"i",name:"twPh"},{type:"i",name:"lip"}],body:[0,[[13,"yc",[1,"amp","*",[6,"std.sin",[[1,[1,"freq","*",[7,"p","x"]],"+","ph1"]]]]],[13,"zc",[1,[1,"amp","*",[5,"0.6"]],"*",[6,"std.sin",[[1,[1,[1,"freq","*",[5,"0.8"]],"*",[7,"p","x"]],"+","ph2"]]]]],[13,"qy",[1,[7,"p","y"],"-","yc"]],[13,"qz",[1,[7,"p","z"],"-","zc"]],[13,"ang",[1,[1,"twRate","*",[7,"p","x"]],"+","twPh"]],[13,"c",[6,"std.cos",["ang"]]],[13,"s",[6,"std.sin",["ang"]]],[13,"ry",[1,[1,"qy","*","c"],"+",[1,"qz","*","s"]]],[13,"rz",[1,[1,"qz","*","c"],"-",[1,"qy","*","s"]]],[13,"round",[1,"th","*",[5,"0.4"]]],[13,"bx",[1,[1,[6,"std.abs",["ry"]],"-","w"],"+","round"]],[13,"by",[1,[1,[6,"std.abs",["rz"]],"-","th"],"+","round"]],[13,"d2",[1,[1,[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["bx",[5,"0"]]],[6,"std.max",["by",[5,"0"]]]]]]],"+",[6,"std.min",[[6,"std.max",["bx","by"]],[5,"0"]]]],"-","round"]],[13,"dx",[1,[6,"std.abs",[[7,"p","x"]]],"-","len"]],[13,"dd",[1,[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["d2",[5,"0"]]],[6,"std.max",["dx",[5,"0"]]]]]]],"+",[6,"std.min",[[6,"std.max",["d2","dx"]],[5,"0"]]]]],[10,[1,"dd","*","lip"]]]]},externals:{"std.sin":()=>Y,"std.cos":()=>H,"std.abs":()=>z,"std.length":()=>j,"d.vec2f":()=>l,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),xf=v.fn([f,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(t.x,o),n)),Y(__tsover_add(__tsover_mul(__tsover_mul(t.y,o),1.3),i))),__tsover_mul(Y(__tsover_add(__tsover_mul(__tsover_mul(t.y,o),.8),__tsover_mul(i,1.1))),Y(__tsover_add(__tsover_mul(__tsover_mul(t.z,o),1.1),__tsover_mul(n,.9))))),_=__tsover_sub(__tsover_sub(j(t),s),__tsover_mul(__tsover_mul(r,c),.5));return __tsover_mul(_,d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"amp"},{type:"i",name:"freq"},{type:"i",name:"ph1"},{type:"i",name:"ph2"},{type:"i",name:"lip"}],body:[0,[[13,"w",[1,[1,[6,"std.sin",[[1,[1,[7,"p","x"],"*","freq"],"+","ph1"]]],"*",[6,"std.sin",[[1,[1,[1,[7,"p","y"],"*","freq"],"*",[5,"1.3"]],"+","ph2"]]]],"+",[1,[6,"std.sin",[[1,[1,[1,[7,"p","y"],"*","freq"],"*",[5,"0.8"]],"+",[1,"ph2","*",[5,"1.1"]]]]],"*",[6,"std.sin",[[1,[1,[1,[7,"p","z"],"*","freq"],"*",[5,"1.1"]],"+",[1,"ph1","*",[5,"0.9"]]]]]]]],[13,"dd",[1,[1,[6,"std.length",["p"]],"-","r"],"-",[1,[1,"amp","*","w"],"*",[5,"0.5"]]]],[10,[1,"dd","*","lip"]]]]},externals:{"std.sin":()=>Y,"std.length":()=>j}})&&e.f)({})),nc=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_add(__tsover_sub(z(__tsover_sub(t,r)),o),i),c=__tsover_add(__tsover_sub(z(s),n),i),_=j(l(b(d,0),b(c,0))),u=oe(b(d,c),0);return __tsover_sub(__tsover_add(_,u),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"radialDist"},{type:"i",name:"axialDist"},{type:"i",name:"R"},{type:"i",name:"ht"},{type:"i",name:"hw"},{type:"i",name:"rnd"}],body:[0,[[13,"bx",[1,[1,[6,"std.abs",[[1,"radialDist","-","R"]]],"-","ht"],"+","rnd"]],[13,"by",[1,[1,[6,"std.abs",["axialDist"]],"-","hw"],"+","rnd"]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["bx",[5,"0"]]],[6,"std.max",["by",[5,"0"]]]]]]]],[13,"inner",[6,"std.min",[[6,"std.max",["bx","by"]],[5,"0"]]]],[10,[1,[1,"outer","+","inner"],"-","rnd"]]]]},externals:{"std.abs":()=>z,"std.length":()=>j,"d.vec2f":()=>l,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),gf=v.fn([f,a,a,a,a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p)=>{"use gpu";let y=__tsover_mul(r,.5),h=__tsover_mul(o,.5),g=__tsover_sub(j(t),i),w=__tsover_add(__tsover_mul(t.y,d),__tsover_mul(t.z,c)),S=__tsover_sub(__tsover_mul(t.z,d),__tsover_mul(t.y,c)),T=nc(j(l(t.x,S)),w,s,h,y,n),A=__tsover_sub(__tsover_mul(t.x,_),__tsover_mul(t.z,u)),P=__tsover_add(__tsover_mul(t.z,_),__tsover_mul(t.x,u)),U=nc(j(l(A,t.y)),P,__tsover_mul(s,.78),h,y,n),D=__tsover_add(__tsover_mul(t.x,m),__tsover_mul(t.y,p)),O=nc(j(l(__tsover_sub(__tsover_mul(t.y,m),__tsover_mul(t.x,p)),t.z)),D,__tsover_mul(s,.56),h,y,n);return oe(oe(g,T),oe(U,O))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"radius"},{type:"i",name:"width"},{type:"i",name:"thick"},{type:"i",name:"rnd"},{type:"i",name:"core"},{type:"i",name:"c1"},{type:"i",name:"s1"},{type:"i",name:"c2"},{type:"i",name:"s2"},{type:"i",name:"c3"},{type:"i",name:"s3"}],body:[0,[[13,"hw",[1,"width","*",[5,"0.5"]]],[13,"ht",[1,"thick","*",[5,"0.5"]]],[13,"dCore",[1,[6,"std.length",["p"]],"-","core"]],[13,"p1y",[1,[1,[7,"p","y"],"*","c1"],"+",[1,[7,"p","z"],"*","s1"]]],[13,"p1z",[1,[1,[7,"p","z"],"*","c1"],"-",[1,[7,"p","y"],"*","s1"]]],[13,"d1",[6,"sdFlatBand",[[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],"p1z"]]]],"p1y","radius","ht","hw","rnd"]]],[13,"p2x",[1,[1,[7,"p","x"],"*","c2"],"-",[1,[7,"p","z"],"*","s2"]]],[13,"p2z",[1,[1,[7,"p","z"],"*","c2"],"+",[1,[7,"p","x"],"*","s2"]]],[13,"d2",[6,"sdFlatBand",[[6,"std.length",[[6,"d.vec2f",["p2x",[7,"p","y"]]]]],"p2z",[1,"radius","*",[5,"0.78"]],"ht","hw","rnd"]]],[13,"p3x",[1,[1,[7,"p","x"],"*","c3"],"+",[1,[7,"p","y"],"*","s3"]]],[13,"p3y",[1,[1,[7,"p","y"],"*","c3"],"-",[1,[7,"p","x"],"*","s3"]]],[13,"d3",[6,"sdFlatBand",[[6,"std.length",[[6,"d.vec2f",["p3y",[7,"p","z"]]]]],"p3x",[1,"radius","*",[5,"0.56"]],"ht","hw","rnd"]]],[10,[6,"std.min",[[6,"std.min",["dCore","d1"]],[6,"std.min",["d2","d3"]]]]]]]},externals:{"std.length":()=>j,sdFlatBand:()=>nc,"d.vec2f":()=>l,"std.min":()=>oe}})&&e.f)({})),Hc=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cx:a,sx:a,cy:a,sy:a,cz:a,sz:a}),"RotStruct"),yl=v.fn([f,Hc],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_add(__tsover_mul(t.x,s.cy),__tsover_mul(t.z,s.sy)),o=__tsover_sub(__tsover_mul(t.z,s.cy),__tsover_mul(t.x,s.sy)),n=__tsover_sub(__tsover_mul(t.y,s.cx),__tsover_mul(o,s.sx)),i=__tsover_add(__tsover_mul(t.y,s.sx),__tsover_mul(o,s.cx));return f(__tsover_sub(__tsover_mul(r,s.cz),__tsover_mul(n,s.sz)),__tsover_add(__tsover_mul(r,s.sz),__tsover_mul(n,s.cz)),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"rot"}],body:[0,[[13,"x1",[1,[1,[7,"v","x"],"*",[7,"rot","cy"]],"+",[1,[7,"v","z"],"*",[7,"rot","sy"]]]],[13,"z1",[1,[1,[7,"v","z"],"*",[7,"rot","cy"]],"-",[1,[7,"v","x"],"*",[7,"rot","sy"]]]],[13,"y2",[1,[1,[7,"v","y"],"*",[7,"rot","cx"]],"-",[1,"z1","*",[7,"rot","sx"]]]],[13,"z2",[1,[1,[7,"v","y"],"*",[7,"rot","sx"]],"+",[1,"z1","*",[7,"rot","cx"]]]],[13,"x3",[1,[1,"x1","*",[7,"rot","cz"]],"-",[1,"y2","*",[7,"rot","sz"]]]],[13,"y3",[1,[1,"x1","*",[7,"rot","sz"]],"+",[1,"y2","*",[7,"rot","cz"]]]],[10,[6,"d.vec3f",["x3","y3","z2"]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({}));function oy(e,t="none",s="span"){let r=_o()?64:96,o=_o()?224:384,n=_o()?140:220;return v.fn([l,Hc,a],x)((i=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(i.f=((d,c,_)=>{"use gpu";let u=f(__tsover_sub(d.x,.5),__tsover_sub(.5,d.y),-1.2),m=f(0,0,1),p=yl(u,c),y=yl(m,c),h=Z($(__tsover_mul(_,a(n)),a(r),a(o))),g=se(p,y),w=be(b(__tsover_sub(se(p,p),__tsover_mul(g,g)),0)),S=be(b(__tsover_sub(__tsover_mul(_,_),__tsover_mul(w,w)),0)),T=b(__tsover_sub(__tsover_mul(g,-1),S),0),A=__tsover_add(__tsover_add(__tsover_mul(g,-1),S),.01),P=T,U=T,D=a(10),O=a(0);for(let Q=0;QA)break;U=P,P=__tsover_add(P,b(te,.002))}let L=D,G=a(0),W=a(0),K=__tsover_add(A,.4);if(O>.5){let Q=U,te=P;for(let Te=0;Te<10;Te++){let Ue=__tsover_mul(__tsover_add(Q,te),.5);e(p.add(y.mul(Ue)))>0?Q=Ue:te=Ue}let ee=__tsover_mul(__tsover_add(Q,te),.5),he=ee;if(s==="firstLobe"){let Te=te,Ue=__tsover_add(te,.002);for(let Re=0;Re=0||(Te=Ue,Ue=__tsover_add(Ue,b(__tsover_mul(de,-1),.002)),Ue>A))break}let Me=Te,Pe=Ue;for(let Re=0;Re<10;Re++){let de=__tsover_mul(__tsover_add(Me,Pe),.5);e(p.add(y.mul(de)))<0?Me=de:Pe=de}he=__tsover_mul(__tsover_add(Me,Pe),.5)}if(s==="span"){let Te=p.add(y.mul(A)),Ue=__tsover_add(__tsover_sub(A,T),.01),Me=a(0),Pe=a(0);for(let je=0;jeUe)break;Pe=Me,Me=__tsover_add(Me,b(fe,.002))}let Re=Pe,de=Me;for(let je=0;je<10;je++){let fe=__tsover_mul(__tsover_add(Re,de),.5);e(Te.sub(y.mul(fe)))>0?Re=fe:de=fe}he=__tsover_sub(A,__tsover_mul(__tsover_add(Re,de),.5))}let Ee=__tsover_mul(b(__tsover_sub(he,ee),0),.5);if(L=__tsover_mul(Ee,-1),K=ee,t==="raw"){let Te=p.add(y.mul(ee));G=__tsover_add(Te.x,__tsover_mul(Te.z,.7)),W=__tsover_add(Te.y,__tsover_mul(Te.z,.5))}if(t==="triplanar"){let Te=p.add(y.mul(ee)),Ue=.004,Me=__tsover_sub(e(f(__tsover_add(Te.x,Ue),Te.y,Te.z)),e(f(__tsover_sub(Te.x,Ue),Te.y,Te.z))),Pe=__tsover_sub(e(f(Te.x,__tsover_add(Te.y,Ue),Te.z)),e(f(Te.x,__tsover_sub(Te.y,Ue),Te.z))),Re=__tsover_sub(e(f(Te.x,Te.y,__tsover_add(Te.z,Ue))),e(f(Te.x,Te.y,__tsover_sub(Te.z,Ue)))),de=z(Me),je=z(Pe),fe=z(Re),Ke=l(__tsover_add(Te.y,2.17),__tsover_add(Te.z,5.31)),Ze=l(__tsover_add(Te.z,7.73),__tsover_add(Te.x,1.13)),at=C(l(Te.x,Te.y),Ze,je>=fe),Fe=C(at,C(at,Ke,de>=fe),de>=je);G=Fe.x,W=Fe.y}}return x(L,G,W,K)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fuv"},{type:"i",name:"rot"},{type:"i",name:"rBound"}],body:[0,[[13,"ro0",[6,"d.vec3f",[[1,[7,"fuv","x"],"-",[5,"0.5"]],[1,[5,"0.5"],"-",[7,"fuv","y"]],[4,"-",[5,"1.2"]]]]],[13,"rd0",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"1"]]]],[13,"ro",[6,"rotateVec3",["ro0","rot"]]],[13,"rd",[6,"rotateVec3",["rd0","rot"]]],[13,"steps",[6,"d.i32",[[6,"std.clamp",[[1,"rBound","*",[6,"d.f32",["STEP_SCALE"]]],[6,"d.f32",["STEP_MIN"]],[6,"d.f32",["STEP_MAX"]]]]]]],[13,"b",[6,"std.dot",["ro","rd"]]],[13,"perp",[6,"std.sqrt",[[6,"std.max",[[1,[6,"std.dot",["ro","ro"]],"-",[1,"b","*","b"]],[5,"0"]]]]]],[13,"halfSpan",[6,"std.sqrt",[[6,"std.max",[[1,[1,"rBound","*","rBound"],"-",[1,"perp","*","perp"]],[5,"0"]]]]]],[13,"tStart",[6,"std.max",[[1,[1,"b","*",[4,"-",[5,"1"]]],"-","halfSpan"],[5,"0"]]]],[13,"tEnd",[1,[1,[1,"b","*",[4,"-",[5,"1"]]],"+","halfSpan"],"+",[5,"0.01"]]],[12,"t","tStart"],[12,"tPrev","tStart"],[12,"minD",[6,"d.f32",[[5,"10"]]]],[12,"hit",[6,"d.f32",[[5,"0"]]]],[14,[12,"i",[5,"0"]],[1,"i","<","steps"],[102,"++","i"],[0,[[13,"p",[6,[7,"ro","add"],[[6,[7,"rd","mul"],["t"]]]]],[13,"dd",[6,"sdfFn",["p"]]],[2,"minD","=",[6,"std.min",["minD","dd"]]],[11,[1,"dd","<",[5,"0"]],[0,[[2,"hit","=",[6,"d.f32",[[5,"1"]]]],[17]]]],[11,[1,"t",">","tEnd"],[0,[[17]]]],[2,"tPrev","=","t"],[2,"t","=",[1,"t","+",[6,"std.max",["dd",[5,"0.002"]]]]]]]],[12,"fieldVal","minD"],[12,"patternU",[6,"d.f32",[[5,"0"]]]],[12,"patternV",[6,"d.f32",[[5,"0"]]]],[12,"viewDepth",[1,"tEnd","+",[5,"0.4"]]],[11,[1,"hit",">",[5,"0.5"]],[0,[[12,"eLo","tPrev"],[12,"eHi","t"],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"10"]],[102,"++","i"],[0,[[13,"mid",[1,[1,"eLo","+","eHi"],"*",[5,"0.5"]]],[13,"dm",[6,"sdfFn",[[6,[7,"ro","add"],[[6,[7,"rd","mul"],["mid"]]]]]]],[11,[1,"dm",">",[5,"0"]],[0,[[2,"eLo","=","mid"]]],[0,[[2,"eHi","=","mid"]]]]]]],[13,"tEnter",[1,[1,"eLo","+","eHi"],"*",[5,"0.5"]]],[12,"tExit","tEnter"],[11,[1,"chordMode","===",[103,"firstLobe"]],[0,[[12,"sInPrev","eHi"],[12,"sIn",[1,"eHi","+",[5,"0.002"]]],[14,[12,"i",[5,"0"]],[1,"i","<","steps"],[102,"++","i"],[0,[[13,"dd",[6,"sdfFn",[[6,[7,"ro","add"],[[6,[7,"rd","mul"],["sIn"]]]]]]],[11,[1,"dd",">=",[5,"0"]],[0,[[17]]]],[2,"sInPrev","=","sIn"],[2,"sIn","=",[1,"sIn","+",[6,"std.max",[[1,"dd","*",[4,"-",[5,"1"]]],[5,"0.002"]]]]],[11,[1,"sIn",">","tEnd"],[0,[[17]]]]]]],[12,"fLo","sInPrev"],[12,"fHi","sIn"],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"10"]],[102,"++","i"],[0,[[13,"mid",[1,[1,"fLo","+","fHi"],"*",[5,"0.5"]]],[13,"dm",[6,"sdfFn",[[6,[7,"ro","add"],[[6,[7,"rd","mul"],["mid"]]]]]]],[11,[1,"dm","<",[5,"0"]],[0,[[2,"fLo","=","mid"]]],[0,[[2,"fHi","=","mid"]]]]]]],[2,"tExit","=",[1,[1,"fLo","+","fHi"],"*",[5,"0.5"]]]]]],[11,[1,"chordMode","===",[103,"span"]],[0,[[13,"roB",[6,[7,"ro","add"],[[6,[7,"rd","mul"],["tEnd"]]]]],[13,"span",[1,[1,"tEnd","-","tStart"],"+",[5,"0.01"]]],[12,"s",[6,"d.f32",[[5,"0"]]]],[12,"sPrev",[6,"d.f32",[[5,"0"]]]],[14,[12,"i",[5,"0"]],[1,"i","<","steps"],[102,"++","i"],[0,[[13,"p",[6,[7,"roB","sub"],[[6,[7,"rd","mul"],["s"]]]]],[13,"dd",[6,"sdfFn",["p"]]],[11,[1,"dd","<",[5,"0"]],[0,[[17]]]],[11,[1,"s",">","span"],[0,[[17]]]],[2,"sPrev","=","s"],[2,"s","=",[1,"s","+",[6,"std.max",["dd",[5,"0.002"]]]]]]]],[12,"xLo","sPrev"],[12,"xHi","s"],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"10"]],[102,"++","i"],[0,[[13,"mid",[1,[1,"xLo","+","xHi"],"*",[5,"0.5"]]],[13,"dm",[6,"sdfFn",[[6,[7,"roB","sub"],[[6,[7,"rd","mul"],["mid"]]]]]]],[11,[1,"dm",">",[5,"0"]],[0,[[2,"xLo","=","mid"]]],[0,[[2,"xHi","=","mid"]]]]]]],[2,"tExit","=",[1,"tEnd","-",[1,[1,"xLo","+","xHi"],"*",[5,"0.5"]]]]]]],[13,"halfChord",[1,[6,"std.max",[[1,"tExit","-","tEnter"],[5,"0"]]],"*",[5,"0.5"]]],[2,"fieldVal","=",[1,"halfChord","*",[4,"-",[5,"1"]]]],[2,"viewDepth","=","tEnter"],[11,[1,"patternMode","===",[103,"raw"]],[0,[[13,"hp",[6,[7,"ro","add"],[[6,[7,"rd","mul"],["tEnter"]]]]],[2,"patternU","=",[1,[7,"hp","x"],"+",[1,[7,"hp","z"],"*",[5,"0.7"]]]],[2,"patternV","=",[1,[7,"hp","y"],"+",[1,[7,"hp","z"],"*",[5,"0.5"]]]]]]],[11,[1,"patternMode","===",[103,"triplanar"]],[0,[[13,"hp",[6,[7,"ro","add"],[[6,[7,"rd","mul"],["tEnter"]]]]],[13,"e2",[5,"0.004"]],[13,"nlx",[1,[6,"sdfFn",[[6,"d.vec3f",[[1,[7,"hp","x"],"+","e2"],[7,"hp","y"],[7,"hp","z"]]]]],"-",[6,"sdfFn",[[6,"d.vec3f",[[1,[7,"hp","x"],"-","e2"],[7,"hp","y"],[7,"hp","z"]]]]]]],[13,"nly",[1,[6,"sdfFn",[[6,"d.vec3f",[[7,"hp","x"],[1,[7,"hp","y"],"+","e2"],[7,"hp","z"]]]]],"-",[6,"sdfFn",[[6,"d.vec3f",[[7,"hp","x"],[1,[7,"hp","y"],"-","e2"],[7,"hp","z"]]]]]]],[13,"nlz",[1,[6,"sdfFn",[[6,"d.vec3f",[[7,"hp","x"],[7,"hp","y"],[1,[7,"hp","z"],"+","e2"]]]]],"-",[6,"sdfFn",[[6,"d.vec3f",[[7,"hp","x"],[7,"hp","y"],[1,[7,"hp","z"],"-","e2"]]]]]]],[13,"anx",[6,"std.abs",["nlx"]]],[13,"anyv",[6,"std.abs",["nly"]]],[13,"anz",[6,"std.abs",["nlz"]]],[13,"branch1",[6,"d.vec2f",[[1,[7,"hp","y"],"+",[5,"2.17"]],[1,[7,"hp","z"],"+",[5,"5.31"]]]]],[13,"branch2",[6,"d.vec2f",[[1,[7,"hp","z"],"+",[5,"7.73"]],[1,[7,"hp","x"],"+",[5,"1.13"]]]]],[13,"branch3",[6,"d.vec2f",[[7,"hp","x"],[7,"hp","y"]]]],[13,"branch23",[6,"std.select",["branch3","branch2",[1,"anyv",">=","anz"]]]],[13,"innerPick",[6,"std.select",["branch23","branch1",[1,"anx",">=","anz"]]]],[13,"pattern",[6,"std.select",["branch23","innerPick",[1,"anx",">=","anyv"]]]],[2,"patternU","=",[7,"pattern","x"]],[2,"patternV","=",[7,"pattern","y"]]]]]]]],[10,[6,"d.vec4f",["fieldVal","patternU","patternV","viewDepth"]]]]]},externals:{"d.vec3f":()=>f,rotateVec3:()=>yl,"d.i32":()=>Z,"std.clamp":()=>$,"d.f32":()=>a,STEP_SCALE:()=>n,STEP_MIN:()=>r,STEP_MAX:()=>o,"std.dot":()=>se,"std.sqrt":()=>be,"std.max":()=>b,sdfFn:()=>e,"std.min":()=>oe,chordMode:()=>s,patternMode:()=>t,"std.abs":()=>z,"d.vec2f":()=>l,"std.select":()=>C,"d.vec4f":()=>x}})&&i.f)({})).$name("raymarchedField")}function pG(e,t="none",s="span"){return oy(e,t,s)}var c1="rgba32float",H7=1536;function jc(){return _o()?768:H7}var fG=[256,320,384,512,640,768,896,1024,1280,1536];function j7(e,t,s,r,o,n){if(!(r>0)||!(s>0))return o;let i=_o()?.5:1,d=Math.max(e,t)*s*r*i,c=o;for(let _ of fG){if(_>o)break;if(_>=d){c=_;break}}return n>0&&cn*.78&&(c=Math.min(n,o)),c}var Cn=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({rot:n5(16,a5(32,Hc)),rBound:a,spanX:a,spanY:a,originX:a,originY:a,activeRes:R,pA:a,pB:a,pC:a,pD:a,mb0:f,mb1:f,mb2:f,mb3:f,mb4:f,mb5:f,mb6:f,mb7:f}),"MarchParams");function ny(){return{layout:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({field:{storageTexture:Mo(c1,"write-only")},params:{uniform:Cn}}),"layout"),MarchParams:Cn}}function K7(e,t){return v.fn([R,R])((s=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(s.f=((r,o)=>{"use gpu";let n=e.$.params,i=a(n.activeRes),d=t(l(__tsover_add(n.originX,__tsover_mul(__tsover_div(__tsover_add(a(r),.5),i),n.spanX)),__tsover_add(n.originY,__tsover_mul(__tsover_div(__tsover_add(a(o),.5),i),n.spanY))),n.rot,n.rBound);jr(e.$.field,Ge(r,o),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"p",[7,[7,"layout","$"],"params"]],[13,"activeResF",[6,"d.f32",[[7,"p","activeRes"]]]],[13,"uv",[6,"d.vec2f",[[1,[7,"p","originX"],"+",[1,[1,[1,[6,"d.f32",["cx"]],"+",[5,"0.5"]],"/","activeResF"],"*",[7,"p","spanX"]]],[1,[7,"p","originY"],"+",[1,[1,[1,[6,"d.f32",["cy"]],"+",[5,"0.5"]],"/","activeResF"],"*",[7,"p","spanY"]]]]]],[13,"field",[6,"marchFn",["uv",[7,"p","rot"],[7,"p","rBound"]]]],[6,"std.textureStore",[[7,[7,"layout","$"],"field"],[6,"d.vec2u",["cx","cy"]],"field"]]]]},externals:{layout:()=>e,"d.f32":()=>a,"d.vec2f":()=>l,marchFn:()=>t,"std.textureStore":()=>jr,"d.vec2u":()=>Ge}})&&s.f)({})).$name("volumetricFieldMarch")}var bf=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({originX:a,originY:a,spanX:a,spanY:a,activeResF:a,rBound:a}),"SampleParams");function vG(){let e=(globalThis.__TYPEGPU_AUTONAME__??(s=>s))(v.bindGroupLayout({field:{texture:ps(a),sampleType:"unfilterable-float"},params:{uniform:bf}}),"sampleLayout"),t=v.fn([a,a],x)((s=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(s.f=((r,o)=>{"use gpu";let n=__tsover_sub(e.$.params.activeResF,1),i=R($(r,a(0),n)),d=R($(o,a(0),n));return Be(e.$.field,Ge(i,d),0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"xi"},{type:"i",name:"yi"}],body:[0,[[13,"maxT",[1,[7,[7,[7,"sampleLayout","$"],"params"],"activeResF"],"-",[5,"1"]]],[13,"tx",[6,"d.u32",[[6,"std.clamp",["xi",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"ty",[6,"d.u32",[[6,"std.clamp",["yi",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[10,[6,"std.textureLoad",[[7,[7,"sampleLayout","$"],"field"],[6,"d.vec2u",["tx","ty"]],[5,"0"]]]]]]},externals:{sampleLayout:()=>e,"d.u32":()=>R,"std.clamp":()=>$,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge}})&&s.f)({})).$name("fieldFetchTexel");return{sampleLayout:e,fieldSample:v.fn([l],x)((s=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(s.f=(r=>{"use gpu";let o=e.$.params,n=$(r.x,o.originX,__tsover_add(o.originX,o.spanX)),i=$(r.y,o.originY,__tsover_add(o.originY,o.spanY)),d=j(l(__tsover_sub(r.x,n),__tsover_sub(r.y,i))),c=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(n,o.originX),o.spanX),o.activeResF),.5),_=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(i,o.originY),o.spanY),o.activeResF),.5),u=q(c),m=q(_),p=__tsover_sub(c,u),y=__tsover_sub(_,m),h=__tsover_mul(p,p),g=__tsover_mul(h,p),w=__tsover_sub(__tsover_add(__tsover_mul(g,-.5),h),__tsover_mul(p,.5)),S=__tsover_add(__tsover_sub(__tsover_mul(g,1.5),__tsover_mul(h,2.5)),1),T=__tsover_add(__tsover_add(__tsover_mul(g,-1.5),__tsover_mul(h,2)),__tsover_mul(p,.5)),A=__tsover_sub(__tsover_mul(g,.5),__tsover_mul(h,.5)),P=__tsover_mul(y,y),U=__tsover_mul(P,y),D=__tsover_sub(__tsover_add(__tsover_mul(U,-.5),P),__tsover_mul(y,.5)),O=__tsover_add(__tsover_sub(__tsover_mul(U,1.5),__tsover_mul(P,2.5)),1),L=__tsover_add(__tsover_add(__tsover_mul(U,-1.5),__tsover_mul(P,2)),__tsover_mul(y,.5)),G=__tsover_sub(__tsover_mul(U,.5),__tsover_mul(P,.5)),W=t(__tsover_sub(u,1),__tsover_sub(m,1)),K=t(u,__tsover_sub(m,1)),Q=t(__tsover_add(u,1),__tsover_sub(m,1)),te=t(__tsover_add(u,2),__tsover_sub(m,1)),ee=t(__tsover_sub(u,1),m),he=t(u,m),Ee=t(__tsover_add(u,1),m),Te=t(__tsover_add(u,2),m),Ue=t(__tsover_sub(u,1),__tsover_add(m,1)),Me=t(u,__tsover_add(m,1)),Pe=t(__tsover_add(u,1),__tsover_add(m,1)),Re=t(__tsover_add(u,2),__tsover_add(m,1)),de=t(__tsover_sub(u,1),__tsover_add(m,2)),je=t(u,__tsover_add(m,2)),fe=t(__tsover_add(u,1),__tsover_add(m,2)),Ke=t(__tsover_add(u,2),__tsover_add(m,2)),Ze=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(W.r,w),D),__tsover_mul(__tsover_mul(K.r,S),D)),__tsover_mul(__tsover_mul(Q.r,T),D)),__tsover_mul(__tsover_mul(te.r,A),D)),__tsover_mul(__tsover_mul(ee.r,w),O)),__tsover_mul(__tsover_mul(he.r,S),O)),__tsover_mul(__tsover_mul(Ee.r,T),O)),__tsover_mul(__tsover_mul(Te.r,A),O)),__tsover_mul(__tsover_mul(Ue.r,w),L)),__tsover_mul(__tsover_mul(Me.r,S),L)),__tsover_mul(__tsover_mul(Pe.r,T),L)),__tsover_mul(__tsover_mul(Re.r,A),L)),__tsover_mul(__tsover_mul(de.r,w),G)),__tsover_mul(__tsover_mul(je.r,S),G)),__tsover_mul(__tsover_mul(fe.r,T),G)),__tsover_mul(__tsover_mul(Ke.r,A),G)),at=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(W.a,w),D),__tsover_mul(__tsover_mul(K.a,S),D)),__tsover_mul(__tsover_mul(Q.a,T),D)),__tsover_mul(__tsover_mul(te.a,A),D)),__tsover_mul(__tsover_mul(ee.a,w),O)),__tsover_mul(__tsover_mul(he.a,S),O)),__tsover_mul(__tsover_mul(Ee.a,T),O)),__tsover_mul(__tsover_mul(Te.a,A),O)),__tsover_mul(__tsover_mul(Ue.a,w),L)),__tsover_mul(__tsover_mul(Me.a,S),L)),__tsover_mul(__tsover_mul(Pe.a,T),L)),__tsover_mul(__tsover_mul(Re.a,A),L)),__tsover_mul(__tsover_mul(de.a,w),G)),__tsover_mul(__tsover_mul(je.a,S),G)),__tsover_mul(__tsover_mul(fe.a,T),G)),__tsover_mul(__tsover_mul(Ke.a,A),G)),Fe=X(X(he,Ee,p),X(Me,Pe,p),y),Ie=oe(oe(he.r,Ee.r),oe(Me.r,Pe.r)),st=b(b(he.r,Ee.r),b(Me.r,Pe.r)),Xe=$(at,oe(oe(he.a,Ee.a),oe(Me.a,Pe.a)),b(b(he.a,Ee.a),b(Me.a,Pe.a))),We=__tsover_add($(Ze,Ie,st),d);return x(X(We,b(__tsover_sub(j(l(__tsover_sub(r.x,.5),__tsover_sub(r.y,.5))),o.rBound),We),re(a(0),.25,d)),Fe.g,Fe.b,Xe)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"p",[7,[7,"sampleLayout","$"],"params"]],[13,"uxc",[6,"std.clamp",[[7,"uv","x"],[7,"p","originX"],[1,[7,"p","originX"],"+",[7,"p","spanX"]]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],[7,"p","originY"],[1,[7,"p","originY"],"+",[7,"p","spanY"]]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-",[7,"p","originX"]],"/",[7,"p","spanX"]],"*",[7,"p","activeResF"]],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-",[7,"p","originY"]],"/",[7,"p","spanY"]],"*",[7,"p","activeResF"]],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"tx2",[1,"fx","*","fx"]],[13,"tx3",[1,"tx2","*","fx"]],[13,"wx0",[1,[1,[1,"tx3","*",[4,"-",[5,"0.5"]]],"+","tx2"],"-",[1,"fx","*",[5,"0.5"]]]],[13,"wx1",[1,[1,[1,"tx3","*",[5,"1.5"]],"-",[1,"tx2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wx2",[1,[1,[1,"tx3","*",[4,"-",[5,"1.5"]]],"+",[1,"tx2","*",[5,"2"]]],"+",[1,"fx","*",[5,"0.5"]]]],[13,"wx3",[1,[1,"tx3","*",[5,"0.5"]],"-",[1,"tx2","*",[5,"0.5"]]]],[13,"ty2",[1,"fy","*","fy"]],[13,"ty3",[1,"ty2","*","fy"]],[13,"wy0",[1,[1,[1,"ty3","*",[4,"-",[5,"0.5"]]],"+","ty2"],"-",[1,"fy","*",[5,"0.5"]]]],[13,"wy1",[1,[1,[1,"ty3","*",[5,"1.5"]],"-",[1,"ty2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wy2",[1,[1,[1,"ty3","*",[4,"-",[5,"1.5"]]],"+",[1,"ty2","*",[5,"2"]]],"+",[1,"fy","*",[5,"0.5"]]]],[13,"wy3",[1,[1,"ty3","*",[5,"0.5"]],"-",[1,"ty2","*",[5,"0.5"]]]],[13,"k00",[6,"fetchTexel",[[1,"x0","-",[5,"1"]],[1,"y0","-",[5,"1"]]]]],[13,"k01",[6,"fetchTexel",["x0",[1,"y0","-",[5,"1"]]]]],[13,"k02",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],[1,"y0","-",[5,"1"]]]]],[13,"k03",[6,"fetchTexel",[[1,"x0","+",[5,"2"]],[1,"y0","-",[5,"1"]]]]],[13,"k10",[6,"fetchTexel",[[1,"x0","-",[5,"1"]],"y0"]]],[13,"k11",[6,"fetchTexel",["x0","y0"]]],[13,"k12",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],"y0"]]],[13,"k13",[6,"fetchTexel",[[1,"x0","+",[5,"2"]],"y0"]]],[13,"k20",[6,"fetchTexel",[[1,"x0","-",[5,"1"]],[1,"y0","+",[5,"1"]]]]],[13,"k21",[6,"fetchTexel",["x0",[1,"y0","+",[5,"1"]]]]],[13,"k22",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],[1,"y0","+",[5,"1"]]]]],[13,"k23",[6,"fetchTexel",[[1,"x0","+",[5,"2"]],[1,"y0","+",[5,"1"]]]]],[13,"k30",[6,"fetchTexel",[[1,"x0","-",[5,"1"]],[1,"y0","+",[5,"2"]]]]],[13,"k31",[6,"fetchTexel",["x0",[1,"y0","+",[5,"2"]]]]],[13,"k32",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],[1,"y0","+",[5,"2"]]]]],[13,"k33",[6,"fetchTexel",[[1,"x0","+",[5,"2"]],[1,"y0","+",[5,"2"]]]]],[13,"rAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","r"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","r"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","r"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","r"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","r"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","r"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","r"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","r"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","r"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","r"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","r"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","r"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","r"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","r"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","r"],"*","wx3"],"*","wy3"]]],[13,"aAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","a"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","a"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","a"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","a"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","a"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","a"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","a"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","a"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","a"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","a"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","a"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","a"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","a"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","a"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","a"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","a"],"*","wx3"],"*","wy3"]]],[13,"bl",[6,"std.mix",[[6,"std.mix",["k11","k12","fx"]],[6,"std.mix",["k21","k22","fx"]],"fy"]]],[13,"rMin",[6,"std.min",[[6,"std.min",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.min",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"rMax",[6,"std.max",[[6,"std.max",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.max",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"aMin",[6,"std.min",[[6,"std.min",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.min",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aMax",[6,"std.max",[[6,"std.max",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.max",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aOut",[6,"std.clamp",["aAcc","aMin","aMax"]]],[13,"rNear",[1,[6,"std.clamp",["rAcc","rMin","rMax"]],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-",[7,"p","rBound"]]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"bl","g"],[7,"bl","b"],"aOut"]]]]]},externals:{sampleLayout:()=>e,"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,fetchTexel:()=>t,"std.mix":()=>X,"std.min":()=>oe,"std.max":()=>b,"std.smoothstep":()=>re,"d.f32":()=>a,"d.vec4f":()=>x}})&&s.f)({})).$name("fieldSample"),fieldSampleFast:v.fn([l],x)((s=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(s.f=(r=>{"use gpu";let o=e.$.params,n=$(r.x,o.originX,__tsover_add(o.originX,o.spanX)),i=$(r.y,o.originY,__tsover_add(o.originY,o.spanY)),d=j(l(__tsover_sub(r.x,n),__tsover_sub(r.y,i))),c=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(n,o.originX),o.spanX),o.activeResF),.5),_=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(i,o.originY),o.spanY),o.activeResF),.5),u=q(c),m=q(_),p=__tsover_sub(c,u),y=__tsover_sub(_,m),h=t(u,m),g=t(__tsover_add(u,1),m),w=t(u,__tsover_add(m,1)),S=t(__tsover_add(u,1),__tsover_add(m,1)),T=X(X(h,g,p),X(w,S,p),y),A=__tsover_add(T.r,d);return x(X(A,b(__tsover_sub(j(l(__tsover_sub(r.x,.5),__tsover_sub(r.y,.5))),o.rBound),A),re(a(0),.25,d)),T.g,T.b,T.a)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"p",[7,[7,"sampleLayout","$"],"params"]],[13,"uxc",[6,"std.clamp",[[7,"uv","x"],[7,"p","originX"],[1,[7,"p","originX"],"+",[7,"p","spanX"]]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],[7,"p","originY"],[1,[7,"p","originY"],"+",[7,"p","spanY"]]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-",[7,"p","originX"]],"/",[7,"p","spanX"]],"*",[7,"p","activeResF"]],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-",[7,"p","originY"]],"/",[7,"p","spanY"]],"*",[7,"p","activeResF"]],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"t00",[6,"fetchTexel",["x0","y0"]]],[13,"t10",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],"y0"]]],[13,"t01",[6,"fetchTexel",["x0",[1,"y0","+",[5,"1"]]]]],[13,"t11",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],[1,"y0","+",[5,"1"]]]]],[13,"bl",[6,"std.mix",[[6,"std.mix",["t00","t10","fx"]],[6,"std.mix",["t01","t11","fx"]],"fy"]]],[13,"rNear",[1,[7,"bl","r"],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-",[7,"p","rBound"]]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"bl","g"],[7,"bl","b"],[7,"bl","a"]]]]]]},externals:{sampleLayout:()=>e,"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,fetchTexel:()=>t,"std.mix":()=>X,"std.max":()=>b,"std.smoothstep":()=>re,"d.f32":()=>a,"d.vec4f":()=>x}})&&s.f)({})).$name("fieldSampleFast"),SampleParams:bf}}function Z7(e,t,s,r,o={}){let n=jc(),i=(globalThis.__TYPEGPU_AUTONAME__??(m=>m))(e.createTexture({size:[n,n],format:c1}).$usage("storage","sampled"),"fieldTexture"),d=o.paramsUniform??e.createUniform(Cn);r(()=>i.destroy());let c=e.createBindGroup(t,{field:i,params:d.buffer,...o.sdfSourceTexture?{sdfSource:o.sdfSourceTexture}:{}}),_=qp(e,(m=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(m.f=((p,y)=>{"use gpu";s(p,y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[6,"kernel",["cx","cy"]]]]},externals:{kernel:()=>s}})&&m.f)({}),{bindGroup:c});for(let m of o.extraBindGroups??[])_=_.with(m);let u=n;return{computeStep:_,fieldTexture:i,maxRes:n,get activeRes(){return u},writeParams(m){d.write(m)},dispatch(m){u=m,_.dispatchThreads(m,m)}}}function Q7(){return{layout:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({field:{storageTexture:Mo(c1,"write-only")},params:{uniform:Cn},sdfSource:{texture:ps(a)}}),"layout"),MarchParams:Cn}}function ay(){return{fieldSampleArg:v.fn([l,ps(a),a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=$(t.x,r,__tsover_add(r,n)),u=$(t.y,o,__tsover_add(o,i)),m=j(l(__tsover_sub(t.x,_),__tsover_sub(t.y,u))),p=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(_,r),n),d),.5),y=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(u,o),i),d),.5),h=q(p),g=q(y),w=__tsover_sub(p,h),S=__tsover_sub(y,g),T=__tsover_mul(w,w),A=__tsover_mul(T,w),P=__tsover_sub(__tsover_add(__tsover_mul(A,-.5),T),__tsover_mul(w,.5)),U=__tsover_add(__tsover_sub(__tsover_mul(A,1.5),__tsover_mul(T,2.5)),1),D=__tsover_add(__tsover_add(__tsover_mul(A,-1.5),__tsover_mul(T,2)),__tsover_mul(w,.5)),O=__tsover_sub(__tsover_mul(A,.5),__tsover_mul(T,.5)),L=__tsover_mul(S,S),G=__tsover_mul(L,S),W=__tsover_sub(__tsover_add(__tsover_mul(G,-.5),L),__tsover_mul(S,.5)),K=__tsover_add(__tsover_sub(__tsover_mul(G,1.5),__tsover_mul(L,2.5)),1),Q=__tsover_add(__tsover_add(__tsover_mul(G,-1.5),__tsover_mul(L,2)),__tsover_mul(S,.5)),te=__tsover_sub(__tsover_mul(G,.5),__tsover_mul(L,.5)),ee=__tsover_sub(d,1),he=R($(__tsover_sub(h,1),a(0),ee)),Ee=R($(h,a(0),ee)),Te=R($(__tsover_add(h,1),a(0),ee)),Ue=R($(__tsover_add(h,2),a(0),ee)),Me=R($(__tsover_sub(g,1),a(0),ee)),Pe=R($(g,a(0),ee)),Re=R($(__tsover_add(g,1),a(0),ee)),de=R($(__tsover_add(g,2),a(0),ee)),je=Be(s,Ge(he,Me),0),fe=Be(s,Ge(Ee,Me),0),Ke=Be(s,Ge(Te,Me),0),Ze=Be(s,Ge(Ue,Me),0),at=Be(s,Ge(he,Pe),0),Fe=Be(s,Ge(Ee,Pe),0),Ie=Be(s,Ge(Te,Pe),0),st=Be(s,Ge(Ue,Pe),0),Xe=Be(s,Ge(he,Re),0),We=Be(s,Ge(Ee,Re),0),Ve=Be(s,Ge(Te,Re),0),Ft=Be(s,Ge(Ue,Re),0),Gt=Be(s,Ge(he,de),0),os=Be(s,Ge(Ee,de),0),bs=Be(s,Ge(Te,de),0),ls=Be(s,Ge(Ue,de),0),As=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(je.r,P),W),__tsover_mul(__tsover_mul(fe.r,U),W)),__tsover_mul(__tsover_mul(Ke.r,D),W)),__tsover_mul(__tsover_mul(Ze.r,O),W)),__tsover_mul(__tsover_mul(at.r,P),K)),__tsover_mul(__tsover_mul(Fe.r,U),K)),__tsover_mul(__tsover_mul(Ie.r,D),K)),__tsover_mul(__tsover_mul(st.r,O),K)),__tsover_mul(__tsover_mul(Xe.r,P),Q)),__tsover_mul(__tsover_mul(We.r,U),Q)),__tsover_mul(__tsover_mul(Ve.r,D),Q)),__tsover_mul(__tsover_mul(Ft.r,O),Q)),__tsover_mul(__tsover_mul(Gt.r,P),te)),__tsover_mul(__tsover_mul(os.r,U),te)),__tsover_mul(__tsover_mul(bs.r,D),te)),__tsover_mul(__tsover_mul(ls.r,O),te)),vs=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(je.a,P),W),__tsover_mul(__tsover_mul(fe.a,U),W)),__tsover_mul(__tsover_mul(Ke.a,D),W)),__tsover_mul(__tsover_mul(Ze.a,O),W)),__tsover_mul(__tsover_mul(at.a,P),K)),__tsover_mul(__tsover_mul(Fe.a,U),K)),__tsover_mul(__tsover_mul(Ie.a,D),K)),__tsover_mul(__tsover_mul(st.a,O),K)),__tsover_mul(__tsover_mul(Xe.a,P),Q)),__tsover_mul(__tsover_mul(We.a,U),Q)),__tsover_mul(__tsover_mul(Ve.a,D),Q)),__tsover_mul(__tsover_mul(Ft.a,O),Q)),__tsover_mul(__tsover_mul(Gt.a,P),te)),__tsover_mul(__tsover_mul(os.a,U),te)),__tsover_mul(__tsover_mul(bs.a,D),te)),__tsover_mul(__tsover_mul(ls.a,O),te)),ys=X(X(Fe,Ie,w),X(We,Ve,w),S),Ks=oe(oe(Fe.r,Ie.r),oe(We.r,Ve.r)),yr=b(b(Fe.r,Ie.r),b(We.r,Ve.r)),Ur=$(vs,oe(oe(Fe.a,Ie.a),oe(We.a,Ve.a)),b(b(Fe.a,Ie.a),b(We.a,Ve.a))),Ms=__tsover_add($(As,Ks,yr),m);return x(X(Ms,b(__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),c),Ms),re(a(0),.25,m)),ys.g,ys.b,Ur)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"field"},{type:"i",name:"originX"},{type:"i",name:"originY"},{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"},{type:"i",name:"rBound"}],body:[0,[[13,"uxc",[6,"std.clamp",[[7,"uv","x"],"originX",[1,"originX","+","spanX"]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],"originY",[1,"originY","+","spanY"]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-","originX"],"/","spanX"],"*","activeResF"],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-","originY"],"/","spanY"],"*","activeResF"],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"tx2",[1,"fx","*","fx"]],[13,"tx3",[1,"tx2","*","fx"]],[13,"wx0",[1,[1,[1,"tx3","*",[4,"-",[5,"0.5"]]],"+","tx2"],"-",[1,"fx","*",[5,"0.5"]]]],[13,"wx1",[1,[1,[1,"tx3","*",[5,"1.5"]],"-",[1,"tx2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wx2",[1,[1,[1,"tx3","*",[4,"-",[5,"1.5"]]],"+",[1,"tx2","*",[5,"2"]]],"+",[1,"fx","*",[5,"0.5"]]]],[13,"wx3",[1,[1,"tx3","*",[5,"0.5"]],"-",[1,"tx2","*",[5,"0.5"]]]],[13,"ty2",[1,"fy","*","fy"]],[13,"ty3",[1,"ty2","*","fy"]],[13,"wy0",[1,[1,[1,"ty3","*",[4,"-",[5,"0.5"]]],"+","ty2"],"-",[1,"fy","*",[5,"0.5"]]]],[13,"wy1",[1,[1,[1,"ty3","*",[5,"1.5"]],"-",[1,"ty2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wy2",[1,[1,[1,"ty3","*",[4,"-",[5,"1.5"]]],"+",[1,"ty2","*",[5,"2"]]],"+",[1,"fy","*",[5,"0.5"]]]],[13,"wy3",[1,[1,"ty3","*",[5,"0.5"]],"-",[1,"ty2","*",[5,"0.5"]]]],[13,"maxT",[1,"activeResF","-",[5,"1"]]],[13,"cxm",[6,"d.u32",[[6,"std.clamp",[[1,"x0","-",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx0",[6,"d.u32",[[6,"std.clamp",["x0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx1",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx2",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"2"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cym",[6,"d.u32",[[6,"std.clamp",[[1,"y0","-",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy0",[6,"d.u32",[[6,"std.clamp",["y0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy1",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy2",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"2"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"k00",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cym"]],[5,"0"]]]],[13,"k01",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cym"]],[5,"0"]]]],[13,"k02",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cym"]],[5,"0"]]]],[13,"k03",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cym"]],[5,"0"]]]],[13,"k10",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy0"]],[5,"0"]]]],[13,"k11",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy0"]],[5,"0"]]]],[13,"k12",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy0"]],[5,"0"]]]],[13,"k13",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy0"]],[5,"0"]]]],[13,"k20",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy1"]],[5,"0"]]]],[13,"k21",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy1"]],[5,"0"]]]],[13,"k22",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy1"]],[5,"0"]]]],[13,"k23",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy1"]],[5,"0"]]]],[13,"k30",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy2"]],[5,"0"]]]],[13,"k31",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy2"]],[5,"0"]]]],[13,"k32",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy2"]],[5,"0"]]]],[13,"k33",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy2"]],[5,"0"]]]],[13,"rAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","r"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","r"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","r"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","r"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","r"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","r"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","r"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","r"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","r"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","r"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","r"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","r"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","r"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","r"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","r"],"*","wx3"],"*","wy3"]]],[13,"aAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","a"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","a"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","a"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","a"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","a"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","a"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","a"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","a"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","a"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","a"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","a"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","a"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","a"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","a"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","a"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","a"],"*","wx3"],"*","wy3"]]],[13,"bl",[6,"std.mix",[[6,"std.mix",["k11","k12","fx"]],[6,"std.mix",["k21","k22","fx"]],"fy"]]],[13,"rMin",[6,"std.min",[[6,"std.min",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.min",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"rMax",[6,"std.max",[[6,"std.max",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.max",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"aMin",[6,"std.min",[[6,"std.min",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.min",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aMax",[6,"std.max",[[6,"std.max",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.max",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aOut",[6,"std.clamp",["aAcc","aMin","aMax"]]],[13,"rNear",[1,[6,"std.clamp",["rAcc","rMin","rMax"]],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-","rBound"]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"bl","g"],[7,"bl","b"],"aOut"]]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,"d.u32":()=>R,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.mix":()=>X,"std.min":()=>oe,"std.max":()=>b,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({})).$name("fieldSampleArg"),fieldSampleGradArg:v.fn([l,ps(a),a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=$(t.x,r,__tsover_add(r,n)),u=$(t.y,o,__tsover_add(o,i)),m=j(l(__tsover_sub(t.x,_),__tsover_sub(t.y,u))),p=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(_,r),n),d),.5),y=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(u,o),i),d),.5),h=q(p),g=q(y),w=__tsover_sub(p,h),S=__tsover_sub(y,g),T=__tsover_mul(w,w),A=__tsover_mul(T,w),P=__tsover_sub(__tsover_add(__tsover_mul(A,-.5),T),__tsover_mul(w,.5)),U=__tsover_add(__tsover_sub(__tsover_mul(A,1.5),__tsover_mul(T,2.5)),1),D=__tsover_add(__tsover_add(__tsover_mul(A,-1.5),__tsover_mul(T,2)),__tsover_mul(w,.5)),O=__tsover_sub(__tsover_mul(A,.5),__tsover_mul(T,.5)),L=__tsover_mul(S,S),G=__tsover_mul(L,S),W=__tsover_sub(__tsover_add(__tsover_mul(G,-.5),L),__tsover_mul(S,.5)),K=__tsover_add(__tsover_sub(__tsover_mul(G,1.5),__tsover_mul(L,2.5)),1),Q=__tsover_add(__tsover_add(__tsover_mul(G,-1.5),__tsover_mul(L,2)),__tsover_mul(S,.5)),te=__tsover_sub(__tsover_mul(G,.5),__tsover_mul(L,.5)),ee=__tsover_sub(1,w),he=__tsover_mul(__tsover_mul(__tsover_mul(ee,ee),ee),.16666667),Ee=__tsover_add(__tsover_sub(__tsover_mul(A,.5),T),.66666667),Te=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(A,-.5),__tsover_mul(T,.5)),__tsover_mul(w,.5)),.16666667),Ue=__tsover_mul(A,.16666667),Me=__tsover_mul(__tsover_mul(ee,ee),-.5),Pe=__tsover_sub(__tsover_mul(T,1.5),__tsover_mul(w,2)),Re=__tsover_add(__tsover_add(__tsover_mul(T,-1.5),w),.5),de=__tsover_mul(T,.5),je=__tsover_sub(1,S),fe=__tsover_mul(__tsover_mul(__tsover_mul(je,je),je),.16666667),Ke=__tsover_add(__tsover_sub(__tsover_mul(G,.5),L),.66666667),Ze=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(G,-.5),__tsover_mul(L,.5)),__tsover_mul(S,.5)),.16666667),at=__tsover_mul(G,.16666667),Fe=__tsover_mul(__tsover_mul(je,je),-.5),Ie=__tsover_sub(__tsover_mul(L,1.5),__tsover_mul(S,2)),st=__tsover_add(__tsover_add(__tsover_mul(L,-1.5),S),.5),Xe=__tsover_mul(L,.5),We=__tsover_sub(d,1),Ve=R($(__tsover_sub(h,1),a(0),We)),Ft=R($(h,a(0),We)),Gt=R($(__tsover_add(h,1),a(0),We)),os=R($(__tsover_add(h,2),a(0),We)),bs=R($(__tsover_sub(g,1),a(0),We)),ls=R($(g,a(0),We)),As=R($(__tsover_add(g,1),a(0),We)),vs=R($(__tsover_add(g,2),a(0),We)),ys=Be(s,Ge(Ve,bs),0),Ks=Be(s,Ge(Ft,bs),0),yr=Be(s,Ge(Gt,bs),0),Ur=Be(s,Ge(os,bs),0),Ms=Be(s,Ge(Ve,ls),0),Cr=Be(s,Ge(Ft,ls),0),hr=Be(s,Ge(Gt,ls),0),mo=Be(s,Ge(os,ls),0),po=Be(s,Ge(Ve,As),0),Rr=Be(s,Ge(Ft,As),0),nr=Be(s,Ge(Gt,As),0),zr=Be(s,Ge(os,As),0),Ps=Be(s,Ge(Ve,vs),0),Gr=Be(s,Ge(Ft,vs),0),Vo=Be(s,Ge(Gt,vs),0),Qr=Be(s,Ge(os,vs),0),ci=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(ys.r,P),W),__tsover_mul(__tsover_mul(Ks.r,U),W)),__tsover_mul(__tsover_mul(yr.r,D),W)),__tsover_mul(__tsover_mul(Ur.r,O),W)),__tsover_mul(__tsover_mul(Ms.r,P),K)),__tsover_mul(__tsover_mul(Cr.r,U),K)),__tsover_mul(__tsover_mul(hr.r,D),K)),__tsover_mul(__tsover_mul(mo.r,O),K)),__tsover_mul(__tsover_mul(po.r,P),Q)),__tsover_mul(__tsover_mul(Rr.r,U),Q)),__tsover_mul(__tsover_mul(nr.r,D),Q)),__tsover_mul(__tsover_mul(zr.r,O),Q)),__tsover_mul(__tsover_mul(Ps.r,P),te)),__tsover_mul(__tsover_mul(Gr.r,U),te)),__tsover_mul(__tsover_mul(Vo.r,D),te)),__tsover_mul(__tsover_mul(Qr.r,O),te)),ba=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(ys.a,P),W),__tsover_mul(__tsover_mul(Ks.a,U),W)),__tsover_mul(__tsover_mul(yr.a,D),W)),__tsover_mul(__tsover_mul(Ur.a,O),W)),__tsover_mul(__tsover_mul(Ms.a,P),K)),__tsover_mul(__tsover_mul(Cr.a,U),K)),__tsover_mul(__tsover_mul(hr.a,D),K)),__tsover_mul(__tsover_mul(mo.a,O),K)),__tsover_mul(__tsover_mul(po.a,P),Q)),__tsover_mul(__tsover_mul(Rr.a,U),Q)),__tsover_mul(__tsover_mul(nr.a,D),Q)),__tsover_mul(__tsover_mul(zr.a,O),Q)),__tsover_mul(__tsover_mul(Ps.a,P),te)),__tsover_mul(__tsover_mul(Gr.a,U),te)),__tsover_mul(__tsover_mul(Vo.a,D),te)),__tsover_mul(__tsover_mul(Qr.a,O),te)),_i=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(ys.r,Me),fe),__tsover_mul(__tsover_mul(Ks.r,Pe),fe)),__tsover_mul(__tsover_mul(yr.r,Re),fe)),__tsover_mul(__tsover_mul(Ur.r,de),fe)),__tsover_mul(__tsover_mul(Ms.r,Me),Ke)),__tsover_mul(__tsover_mul(Cr.r,Pe),Ke)),__tsover_mul(__tsover_mul(hr.r,Re),Ke)),__tsover_mul(__tsover_mul(mo.r,de),Ke)),__tsover_mul(__tsover_mul(po.r,Me),Ze)),__tsover_mul(__tsover_mul(Rr.r,Pe),Ze)),__tsover_mul(__tsover_mul(nr.r,Re),Ze)),__tsover_mul(__tsover_mul(zr.r,de),Ze)),__tsover_mul(__tsover_mul(Ps.r,Me),at)),__tsover_mul(__tsover_mul(Gr.r,Pe),at)),__tsover_mul(__tsover_mul(Vo.r,Re),at)),__tsover_mul(__tsover_mul(Qr.r,de),at)),li=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(ys.r,he),Fe),__tsover_mul(__tsover_mul(Ks.r,Ee),Fe)),__tsover_mul(__tsover_mul(yr.r,Te),Fe)),__tsover_mul(__tsover_mul(Ur.r,Ue),Fe)),__tsover_mul(__tsover_mul(Ms.r,he),Ie)),__tsover_mul(__tsover_mul(Cr.r,Ee),Ie)),__tsover_mul(__tsover_mul(hr.r,Te),Ie)),__tsover_mul(__tsover_mul(mo.r,Ue),Ie)),__tsover_mul(__tsover_mul(po.r,he),st)),__tsover_mul(__tsover_mul(Rr.r,Ee),st)),__tsover_mul(__tsover_mul(nr.r,Te),st)),__tsover_mul(__tsover_mul(zr.r,Ue),st)),__tsover_mul(__tsover_mul(Ps.r,he),Xe)),__tsover_mul(__tsover_mul(Gr.r,Ee),Xe)),__tsover_mul(__tsover_mul(Vo.r,Te),Xe)),__tsover_mul(__tsover_mul(Qr.r,Ue),Xe)),F=oe(oe(Cr.r,hr.r),oe(Rr.r,nr.r)),le=b(b(Cr.r,hr.r),b(Rr.r,nr.r)),ae=$(ba,oe(oe(Cr.a,hr.a),oe(Rr.a,nr.a)),b(b(Cr.a,hr.a),b(Rr.a,nr.a))),ne=__tsover_add(__tsover_mul(__tsover_sub(le,F),.3),1e-6),ie=$(__tsover_add(__tsover_mul(__tsover_div(__tsover_sub(le,ci),ne),.5),.5),0,1),ge=__tsover_sub(X(le,ci,ie),__tsover_mul(__tsover_mul(ne,ie),__tsover_sub(1,ie))),Ye=$(__tsover_add(__tsover_mul(__tsover_div(__tsover_sub(ge,F),ne),.5),.5),0,1),Je=__tsover_add(X(F,ge,Ye),__tsover_mul(__tsover_mul(ne,Ye),__tsover_sub(1,Ye))),rt=__tsover_add(Je,m),He=X(rt,b(__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),c),rt),re(a(0),.25,m)),Bt=C(a(0),a(1),z(__tsover_sub(t.x,_))<1e-7),Yt=C(a(0),a(1),z(__tsover_sub(t.y,u))<1e-7),Ls=__tsover_div(1,b(m,1e-5));return x(He,__tsover_add(__tsover_mul(__tsover_mul(_i,__tsover_div(d,n)),Bt),__tsover_mul(__tsover_sub(t.x,_),Ls)),__tsover_add(__tsover_mul(__tsover_mul(li,__tsover_div(d,i)),Yt),__tsover_mul(__tsover_sub(t.y,u),Ls)),ae)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"field"},{type:"i",name:"originX"},{type:"i",name:"originY"},{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"},{type:"i",name:"rBound"}],body:[0,[[13,"uxc",[6,"std.clamp",[[7,"uv","x"],"originX",[1,"originX","+","spanX"]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],"originY",[1,"originY","+","spanY"]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-","originX"],"/","spanX"],"*","activeResF"],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-","originY"],"/","spanY"],"*","activeResF"],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"tx2",[1,"fx","*","fx"]],[13,"tx3",[1,"tx2","*","fx"]],[13,"wx0",[1,[1,[1,"tx3","*",[4,"-",[5,"0.5"]]],"+","tx2"],"-",[1,"fx","*",[5,"0.5"]]]],[13,"wx1",[1,[1,[1,"tx3","*",[5,"1.5"]],"-",[1,"tx2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wx2",[1,[1,[1,"tx3","*",[4,"-",[5,"1.5"]]],"+",[1,"tx2","*",[5,"2"]]],"+",[1,"fx","*",[5,"0.5"]]]],[13,"wx3",[1,[1,"tx3","*",[5,"0.5"]],"-",[1,"tx2","*",[5,"0.5"]]]],[13,"ty2",[1,"fy","*","fy"]],[13,"ty3",[1,"ty2","*","fy"]],[13,"wy0",[1,[1,[1,"ty3","*",[4,"-",[5,"0.5"]]],"+","ty2"],"-",[1,"fy","*",[5,"0.5"]]]],[13,"wy1",[1,[1,[1,"ty3","*",[5,"1.5"]],"-",[1,"ty2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wy2",[1,[1,[1,"ty3","*",[4,"-",[5,"1.5"]]],"+",[1,"ty2","*",[5,"2"]]],"+",[1,"fy","*",[5,"0.5"]]]],[13,"wy3",[1,[1,"ty3","*",[5,"0.5"]],"-",[1,"ty2","*",[5,"0.5"]]]],[13,"oxf",[1,[5,"1"],"-","fx"]],[13,"bx0",[1,[1,[1,"oxf","*","oxf"],"*","oxf"],"*",[5,"0.16666667"]]],[13,"bx1",[1,[1,[1,"tx3","*",[5,"0.5"]],"-","tx2"],"+",[5,"0.66666667"]]],[13,"bx2",[1,[1,[1,[1,"tx3","*",[4,"-",[5,"0.5"]]],"+",[1,"tx2","*",[5,"0.5"]]],"+",[1,"fx","*",[5,"0.5"]]],"+",[5,"0.16666667"]]],[13,"bx3",[1,"tx3","*",[5,"0.16666667"]]],[13,"dbx0",[1,[1,"oxf","*","oxf"],"*",[4,"-",[5,"0.5"]]]],[13,"dbx1",[1,[1,"tx2","*",[5,"1.5"]],"-",[1,"fx","*",[5,"2"]]]],[13,"dbx2",[1,[1,[1,"tx2","*",[4,"-",[5,"1.5"]]],"+","fx"],"+",[5,"0.5"]]],[13,"dbx3",[1,"tx2","*",[5,"0.5"]]],[13,"oyf",[1,[5,"1"],"-","fy"]],[13,"by0",[1,[1,[1,"oyf","*","oyf"],"*","oyf"],"*",[5,"0.16666667"]]],[13,"by1",[1,[1,[1,"ty3","*",[5,"0.5"]],"-","ty2"],"+",[5,"0.66666667"]]],[13,"by2",[1,[1,[1,[1,"ty3","*",[4,"-",[5,"0.5"]]],"+",[1,"ty2","*",[5,"0.5"]]],"+",[1,"fy","*",[5,"0.5"]]],"+",[5,"0.16666667"]]],[13,"by3",[1,"ty3","*",[5,"0.16666667"]]],[13,"dby0",[1,[1,"oyf","*","oyf"],"*",[4,"-",[5,"0.5"]]]],[13,"dby1",[1,[1,"ty2","*",[5,"1.5"]],"-",[1,"fy","*",[5,"2"]]]],[13,"dby2",[1,[1,[1,"ty2","*",[4,"-",[5,"1.5"]]],"+","fy"],"+",[5,"0.5"]]],[13,"dby3",[1,"ty2","*",[5,"0.5"]]],[13,"maxT",[1,"activeResF","-",[5,"1"]]],[13,"cxm",[6,"d.u32",[[6,"std.clamp",[[1,"x0","-",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx0",[6,"d.u32",[[6,"std.clamp",["x0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx1",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx2",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"2"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cym",[6,"d.u32",[[6,"std.clamp",[[1,"y0","-",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy0",[6,"d.u32",[[6,"std.clamp",["y0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy1",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy2",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"2"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"k00",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cym"]],[5,"0"]]]],[13,"k01",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cym"]],[5,"0"]]]],[13,"k02",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cym"]],[5,"0"]]]],[13,"k03",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cym"]],[5,"0"]]]],[13,"k10",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy0"]],[5,"0"]]]],[13,"k11",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy0"]],[5,"0"]]]],[13,"k12",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy0"]],[5,"0"]]]],[13,"k13",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy0"]],[5,"0"]]]],[13,"k20",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy1"]],[5,"0"]]]],[13,"k21",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy1"]],[5,"0"]]]],[13,"k22",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy1"]],[5,"0"]]]],[13,"k23",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy1"]],[5,"0"]]]],[13,"k30",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy2"]],[5,"0"]]]],[13,"k31",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy2"]],[5,"0"]]]],[13,"k32",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy2"]],[5,"0"]]]],[13,"k33",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy2"]],[5,"0"]]]],[13,"rAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","r"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","r"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","r"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","r"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","r"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","r"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","r"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","r"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","r"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","r"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","r"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","r"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","r"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","r"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","r"],"*","wx3"],"*","wy3"]]],[13,"aAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","a"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","a"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","a"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","a"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","a"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","a"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","a"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","a"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","a"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","a"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","a"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","a"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","a"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","a"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","a"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","a"],"*","wx3"],"*","wy3"]]],[13,"drdpx",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","dbx0"],"*","by0"],"+",[1,[1,[7,"k01","r"],"*","dbx1"],"*","by0"]],"+",[1,[1,[7,"k02","r"],"*","dbx2"],"*","by0"]],"+",[1,[1,[7,"k03","r"],"*","dbx3"],"*","by0"]],"+",[1,[1,[7,"k10","r"],"*","dbx0"],"*","by1"]],"+",[1,[1,[7,"k11","r"],"*","dbx1"],"*","by1"]],"+",[1,[1,[7,"k12","r"],"*","dbx2"],"*","by1"]],"+",[1,[1,[7,"k13","r"],"*","dbx3"],"*","by1"]],"+",[1,[1,[7,"k20","r"],"*","dbx0"],"*","by2"]],"+",[1,[1,[7,"k21","r"],"*","dbx1"],"*","by2"]],"+",[1,[1,[7,"k22","r"],"*","dbx2"],"*","by2"]],"+",[1,[1,[7,"k23","r"],"*","dbx3"],"*","by2"]],"+",[1,[1,[7,"k30","r"],"*","dbx0"],"*","by3"]],"+",[1,[1,[7,"k31","r"],"*","dbx1"],"*","by3"]],"+",[1,[1,[7,"k32","r"],"*","dbx2"],"*","by3"]],"+",[1,[1,[7,"k33","r"],"*","dbx3"],"*","by3"]]],[13,"drdpy",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","bx0"],"*","dby0"],"+",[1,[1,[7,"k01","r"],"*","bx1"],"*","dby0"]],"+",[1,[1,[7,"k02","r"],"*","bx2"],"*","dby0"]],"+",[1,[1,[7,"k03","r"],"*","bx3"],"*","dby0"]],"+",[1,[1,[7,"k10","r"],"*","bx0"],"*","dby1"]],"+",[1,[1,[7,"k11","r"],"*","bx1"],"*","dby1"]],"+",[1,[1,[7,"k12","r"],"*","bx2"],"*","dby1"]],"+",[1,[1,[7,"k13","r"],"*","bx3"],"*","dby1"]],"+",[1,[1,[7,"k20","r"],"*","bx0"],"*","dby2"]],"+",[1,[1,[7,"k21","r"],"*","bx1"],"*","dby2"]],"+",[1,[1,[7,"k22","r"],"*","bx2"],"*","dby2"]],"+",[1,[1,[7,"k23","r"],"*","bx3"],"*","dby2"]],"+",[1,[1,[7,"k30","r"],"*","bx0"],"*","dby3"]],"+",[1,[1,[7,"k31","r"],"*","bx1"],"*","dby3"]],"+",[1,[1,[7,"k32","r"],"*","bx2"],"*","dby3"]],"+",[1,[1,[7,"k33","r"],"*","bx3"],"*","dby3"]]],[13,"rMin",[6,"std.min",[[6,"std.min",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.min",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"rMax",[6,"std.max",[[6,"std.max",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.max",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"aMin",[6,"std.min",[[6,"std.min",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.min",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aMax",[6,"std.max",[[6,"std.max",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.max",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aOut",[6,"std.clamp",["aAcc","aMin","aMax"]]],[13,"kSoft",[1,[1,[1,"rMax","-","rMin"],"*",[5,"0.3"]],"+",[5,"0.000001"]]],[13,"hCap",[6,"std.clamp",[[1,[1,[1,[1,"rMax","-","rAcc"],"/","kSoft"],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[13,"rCap",[1,[6,"std.mix",["rMax","rAcc","hCap"]],"-",[1,[1,"kSoft","*","hCap"],"*",[1,[5,"1"],"-","hCap"]]]],[13,"hFlr",[6,"std.clamp",[[1,[1,[1,[1,"rCap","-","rMin"],"/","kSoft"],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[13,"rSoft",[1,[6,"std.mix",["rMin","rCap","hFlr"]],"+",[1,[1,"kSoft","*","hFlr"],"*",[1,[5,"1"],"-","hFlr"]]]],[13,"rNear",[1,"rSoft","+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-","rBound"]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[13,"insideX",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,[6,"std.abs",[[1,[7,"uv","x"],"-","uxc"]]],"<",[5,"1e-7"]]]]],[13,"insideY",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,[6,"std.abs",[[1,[7,"uv","y"],"-","uyc"]]],"<",[5,"1e-7"]]]]],[13,"invOut",[1,[5,"1"],"/",[6,"std.max",["outsideDist",[5,"0.00001"]]]]],[13,"gU",[1,[1,[1,"drdpx","*",[1,"activeResF","/","spanX"]],"*","insideX"],"+",[1,[1,[7,"uv","x"],"-","uxc"],"*","invOut"]]],[13,"gV",[1,[1,[1,"drdpy","*",[1,"activeResF","/","spanY"]],"*","insideY"],"+",[1,[1,[7,"uv","y"],"-","uyc"],"*","invOut"]]],[10,[6,"d.vec4f",["rOut","gU","gV","aOut"]]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,"d.u32":()=>R,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.min":()=>oe,"std.max":()=>b,"std.mix":()=>X,"std.smoothstep":()=>re,"std.select":()=>C,"std.abs":()=>z,"d.vec4f":()=>x}})&&e.f)({})).$name("fieldSampleGradArg"),fieldSampleFastArg:v.fn([l,ps(a),a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=$(t.x,r,__tsover_add(r,n)),u=$(t.y,o,__tsover_add(o,i)),m=j(l(__tsover_sub(t.x,_),__tsover_sub(t.y,u))),p=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(_,r),n),d),.5),y=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(u,o),i),d),.5),h=q(p),g=q(y),w=__tsover_sub(p,h),S=__tsover_sub(y,g),T=__tsover_sub(d,1),A=R($(h,a(0),T)),P=R($(__tsover_add(h,1),a(0),T)),U=R($(g,a(0),T)),D=R($(__tsover_add(g,1),a(0),T)),O=Be(s,Ge(A,U),0),L=Be(s,Ge(P,U),0),G=Be(s,Ge(A,D),0),W=Be(s,Ge(P,D),0),K=X(X(O,L,w),X(G,W,w),S),Q=__tsover_add(K.r,m);return x(X(Q,b(__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),c),Q),re(a(0),.25,m)),K.g,K.b,K.a)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"field"},{type:"i",name:"originX"},{type:"i",name:"originY"},{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"},{type:"i",name:"rBound"}],body:[0,[[13,"uxc",[6,"std.clamp",[[7,"uv","x"],"originX",[1,"originX","+","spanX"]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],"originY",[1,"originY","+","spanY"]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-","originX"],"/","spanX"],"*","activeResF"],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-","originY"],"/","spanY"],"*","activeResF"],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"maxT",[1,"activeResF","-",[5,"1"]]],[13,"cx0",[6,"d.u32",[[6,"std.clamp",["x0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx1",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy0",[6,"d.u32",[[6,"std.clamp",["y0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy1",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"t00",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy0"]],[5,"0"]]]],[13,"t10",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy0"]],[5,"0"]]]],[13,"t01",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy1"]],[5,"0"]]]],[13,"t11",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy1"]],[5,"0"]]]],[13,"bl",[6,"std.mix",[[6,"std.mix",["t00","t10","fx"]],[6,"std.mix",["t01","t11","fx"]],"fy"]]],[13,"rNear",[1,[7,"bl","r"],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-","rBound"]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"bl","g"],[7,"bl","b"],[7,"bl","a"]]]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,"d.u32":()=>R,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.mix":()=>X,"std.max":()=>b,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({})).$name("fieldSampleFastArg"),fieldSampleTexelArg:v.fn([l,ps(a),a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=$(t.x,r,__tsover_add(r,n)),u=$(t.y,o,__tsover_add(o,i)),m=j(l(__tsover_sub(t.x,_),__tsover_sub(t.y,u))),p=__tsover_sub(d,1),y=$(q(__tsover_mul(__tsover_div(__tsover_sub(_,r),n),d)),a(0),p),h=$(q(__tsover_mul(__tsover_div(__tsover_sub(u,o),i),d)),a(0),p),g=Be(s,Ge(R(y),R(h)),0),w=__tsover_add(g.r,m);return x(X(w,b(__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),c),w),re(a(0),.25,m)),g.g,g.b,g.a)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"field"},{type:"i",name:"originX"},{type:"i",name:"originY"},{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"},{type:"i",name:"rBound"}],body:[0,[[13,"uxc",[6,"std.clamp",[[7,"uv","x"],"originX",[1,"originX","+","spanX"]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],"originY",[1,"originY","+","spanY"]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"maxT",[1,"activeResF","-",[5,"1"]]],[13,"px",[6,"std.clamp",[[6,"std.floor",[[1,[1,[1,"uxc","-","originX"],"/","spanX"],"*","activeResF"]]],[6,"d.f32",[[5,"0"]]],"maxT"]]],[13,"py",[6,"std.clamp",[[6,"std.floor",[[1,[1,[1,"uyc","-","originY"],"/","spanY"],"*","activeResF"]]],[6,"d.f32",[[5,"0"]]],"maxT"]]],[13,"t",[6,"std.textureLoad",["field",[6,"d.vec2u",[[6,"d.u32",["px"]],[6,"d.u32",["py"]]]],[5,"0"]]]],[13,"rNear",[1,[7,"t","r"],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-","rBound"]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"t","g"],[7,"t","b"],[7,"t","a"]]]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"d.u32":()=>R,"std.mix":()=>X,"std.max":()=>b,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({})).$name("fieldSampleTexelArg"),texelSpanFn:v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_div(b(t,s),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"}],body:[0,[[10,[1,[6,"std.max",["spanX","spanY"]],"/","activeResF"]]]]},externals:{"std.max":()=>b}})&&e.f)({})).$name("fieldTexelSpan")}}var yG={_vfOriginX:{schema:a,initial:0},_vfOriginY:{schema:a,initial:0},_vfSpanX:{schema:a,initial:1},_vfSpanY:{schema:a,initial:1},_vfActiveRes:{schema:a,initial:1},_vfRBound:{schema:a,initial:.6}};function J7(e,t){let{fieldSampleArg:s,fieldSampleGradArg:r,fieldSampleFastArg:o,fieldSampleTexelArg:n,texelSpanFn:i}=ay(),d=(globalThis.__TYPEGPU_AUTONAME__??(_=>_))(e.accessor(),"acc"),c=_=>[_,d,t.originX,t.originY,t.spanX,t.spanY,t.activeResF,t.rBound];return{volumetricFieldSampler:_=>we(s,"vfSample",c(_)),volumetricFieldSamplerGrad:_=>we(r,"vfSampleGrad",c(_)),volumetricFieldSamplerFast:_=>we(o,"vfSampleFast",c(_)),volumetricFieldSamplerTexel:_=>we(n,"vfSampleTexel",c(_)),volumetricFieldTexelSpan:we(i,"vfTexelSpan",[t.spanX,t.spanY,t.activeResF])}}function hG(e,t={}){let{patternMode:s="none",gradSampler:r="fast",bakedGradients:o="none"}=t,{computeOutputs:n,uniforms:i,propValues:d,getCpuValue:c}=e,_=n?.volumetricFieldTexture;if(_){let h=J7(_,{originX:i._vfOriginX,originY:i._vfOriginY,spanX:i._vfSpanX,spanY:i._vfSpanY,activeResF:i._vfActiveRes,rBound:i._vfRBound}),g=o!=="none",w=g?h.volumetricFieldSamplerGrad:h.volumetricFieldSampler;return{sampler:w,gradSampler:r==="same"?w:h.volumetricFieldSamplerFast,texelSampler:h.volumetricFieldSamplerTexel,volumetric:!0,bakedGradients:g}}let u=d.shapeSdfUrl||"",m=d.shapeType||"";if(u){let h=o==="all",g=h?M7(e,u):A7(e,u);return{sampler:g,gradSampler:g,texelSampler:g,volumetric:V7(m),bakedGradients:h}}let p=_G(m,c("shape")),y=P7(p,k7(e,()=>c("shape")),s);return{sampler:y,gradSampler:y,texelSampler:y,volumetric:d1(p),bakedGradients:!1}}var Wa=Math.PI/180;function iy(e){if(e&&typeof e=="object")return e;if(typeof e=="string")try{return JSON.parse(e)}catch{return{}}return{}}function ew(e,t,s,r,o={}){let n=wu[t]??wu.sphere3D,i=o.extraPad??(()=>0),{layout:d}=ny(),c=(globalThis.__TYPEGPU_AUTONAME__??(Pe=>Pe))(e.createUniform(Cn),"marchParamsBuffer"),_=v.fn([f],a)((Pe=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(Pe.f=(Re=>{"use gpu";let de=d.$.params;return t==="cube3D"?Ec(Re,de.pA,de.pB,de.pC,de.pD):t==="torus3D"?sf(Re,de.pA,de.pB):t==="octahedron3D"?rf(Re,de.pA):t==="cylinder3D"?of(Re,de.pA,de.pB,de.pD):t==="capsule3D"?nf(Re,de.pA,de.pB):t==="cone3D"?af(Re,de.pA,de.pC,de.pB):t==="pyramid3D"?df(Re,de.pA,de.pB):t==="prism3D"?cf(Re,de.pA,de.pB):t==="ellipsoid3D"?_f(Re,de.pA,de.pB,de.pC):t==="diamond3D"?kc(Re,de.pA,de.pB):t==="link3D"?lf(Re,de.pB,de.pA,de.pC):t==="gem3D"?mf(Re,de.pA,de.pB,de.pC):t==="helix3D"?pf(Re,de.pA,de.pB,de.pC,a(3)):t==="metaballs3D"?ff(Re,de.mb0,de.mb1,de.mb2,de.mb3,de.mb4,de.mb5,de.mb6,de.mb7,de.pA,de.pD):t==="dodecahedron3D"?vf(Re,de.pA):t==="hemisphere3D"?yf(Re,de.pA,de.pB):t==="ribbon3D"?hf(Re,de.pA,de.pB,de.pC,de.mb0.x,de.mb0.y,de.mb0.z,de.mb1.x,de.mb1.y,de.mb1.z,de.mb2.x):t==="blob3D"?xf(Re,de.pA,de.mb0.x,de.mb0.y,de.mb0.z,de.mb1.x,de.mb2.x):t==="gyroscope3D"?gf(Re,de.pA,de.pB,de.pD,de.mb3.x,de.pC,de.mb0.x,de.mb0.y,de.mb1.x,de.mb1.y,de.mb2.x,de.mb2.y):tf(Re,de.pA)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"pp",[7,[7,"layout","$"],"params"]],[11,[1,"shapeType","===",[103,"cube3D"]],[10,[6,"sdRoundBox",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"],[7,"pp","pD"]]]],[11,[1,"shapeType","===",[103,"torus3D"]],[10,[6,"sdTorus",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"octahedron3D"]],[10,[6,"sdOctahedron",["p",[7,"pp","pA"]]]],[11,[1,"shapeType","===",[103,"cylinder3D"]],[10,[6,"sdRoundCylinder",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pD"]]]],[11,[1,"shapeType","===",[103,"capsule3D"]],[10,[6,"sdCapsule",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"cone3D"]],[10,[6,"sdCappedCone",["p",[7,"pp","pA"],[7,"pp","pC"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"pyramid3D"]],[10,[6,"sdPyramid",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"prism3D"]],[10,[6,"sdHexPrism",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"ellipsoid3D"]],[10,[6,"sdEllipsoid",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"]]]],[11,[1,"shapeType","===",[103,"diamond3D"]],[10,[6,"sdBicone",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"link3D"]],[10,[6,"sdLink",["p",[7,"pp","pB"],[7,"pp","pA"],[7,"pp","pC"]]]],[11,[1,"shapeType","===",[103,"gem3D"]],[10,[6,"sdGem",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"]]]],[11,[1,"shapeType","===",[103,"helix3D"]],[10,[6,"sdHelix",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"],[6,"d.f32",["HELIX_TURNS"]]]]],[11,[1,"shapeType","===",[103,"metaballs3D"]],[10,[6,"sdMetaballs",["p",[7,"pp","mb0"],[7,"pp","mb1"],[7,"pp","mb2"],[7,"pp","mb3"],[7,"pp","mb4"],[7,"pp","mb5"],[7,"pp","mb6"],[7,"pp","mb7"],[7,"pp","pA"],[7,"pp","pD"]]]],[11,[1,"shapeType","===",[103,"dodecahedron3D"]],[10,[6,"sdDodecahedron",["p",[7,"pp","pA"]]]],[11,[1,"shapeType","===",[103,"hemisphere3D"]],[10,[6,"sdCutSphere",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"ribbon3D"]],[10,[6,"sdRibbon",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"],[7,[7,"pp","mb0"],"x"],[7,[7,"pp","mb0"],"y"],[7,[7,"pp","mb0"],"z"],[7,[7,"pp","mb1"],"x"],[7,[7,"pp","mb1"],"y"],[7,[7,"pp","mb1"],"z"],[7,[7,"pp","mb2"],"x"]]]],[11,[1,"shapeType","===",[103,"blob3D"]],[10,[6,"sdWobbleBlob",["p",[7,"pp","pA"],[7,[7,"pp","mb0"],"x"],[7,[7,"pp","mb0"],"y"],[7,[7,"pp","mb0"],"z"],[7,[7,"pp","mb1"],"x"],[7,[7,"pp","mb2"],"x"]]]],[11,[1,"shapeType","===",[103,"gyroscope3D"]],[10,[6,"sdGyroscope",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pD"],[7,[7,"pp","mb3"],"x"],[7,"pp","pC"],[7,[7,"pp","mb0"],"x"],[7,[7,"pp","mb0"],"y"],[7,[7,"pp","mb1"],"x"],[7,[7,"pp","mb1"],"y"],[7,[7,"pp","mb2"],"x"],[7,[7,"pp","mb2"],"y"]]]],[10,[6,"sdSphere",["p",[7,"pp","pA"]]]]]]]]]]]]]]]]]]]]]]]]]},externals:{layout:()=>d,shapeType:()=>t,sdRoundBox:()=>Ec,sdTorus:()=>sf,sdOctahedron:()=>rf,sdRoundCylinder:()=>of,sdCapsule:()=>nf,sdCappedCone:()=>af,sdPyramid:()=>df,sdHexPrism:()=>cf,sdEllipsoid:()=>_f,sdBicone:()=>kc,sdLink:()=>lf,sdGem:()=>mf,sdHelix:()=>pf,"d.f32":()=>a,HELIX_TURNS:()=>3,sdMetaballs:()=>ff,sdDodecahedron:()=>vf,sdCutSphere:()=>yf,sdRibbon:()=>hf,sdWobbleBlob:()=>xf,sdGyroscope:()=>gf,sdSphere:()=>tf}})&&Pe.f)({})),u=0,m="",p=s,y=new Map,h=.35,g=.3,w=.3,S=0,T=.6,A=1,P=0,U=1,D=0,O=1,L=0,G=1,W=1,K=0,Q=0,te=jc(),ee=Array.from({length:8},()=>[0,0,0]),he=()=>{c.write({rot:{cx:A,sx:P,cy:U,sy:D,cz:O,sz:L},rBound:T,spanX:G,spanY:W,originX:K,originY:Q,activeRes:te,pA:h,pB:g,pC:w,pD:S,mb0:f(ee[0][0],ee[0][1],ee[0][2]),mb1:f(ee[1][0],ee[1][1],ee[1][2]),mb2:f(ee[2][0],ee[2][1],ee[2][2]),mb3:f(ee[3][0],ee[3][1],ee[3][2]),mb4:f(ee[4][0],ee[4][1],ee[4][2]),mb5:f(ee[5][0],ee[5][1],ee[5][2]),mb6:f(ee[6][0],ee[6][1],ee[6][2]),mb7:f(ee[7][0],ee[7][1],ee[7][2])})},Ee=Pe=>{let Re=Pe?.deltaTime??0;u+=Re;let de=r();if(de&&typeof de=="object")p=de;else if(typeof de=="string"&&de!==m){m=de;try{p=JSON.parse(de)}catch{}}let je={elapsed:u,deltaTime:Re,pointerX:Pe?.pointer?.x??.5,pointerY:Pe?.pointer?.y??.5,springs:y},fe=Ie=>ry(p[Ie],n[Ie]??0,je,Ie);g=.3,w=.3,S=0;for(let Ie=0;Ie=Ie){ee[We]=[0,99,0];continue}let Ve=We*(Ba/Ie),Ft=Ve+Xe,Gt=.75+.25*Math.sin(Xe*1.3+We*1.7);ee[We]=[st*Math.cos(Ft)*Gt,st*.6*Math.sin(Xe*.9+Ve*1.5),st*Math.sin(Ft)*Gt]}break}case"hemisphere3D":h=fe("radius"),g=fe("cut");break;case"ribbon3D":{h=fe("width"),g=fe("thickness"),w=fe("length");let Ie=u*fe("speed"),st=fe("wave")*(.8+.2*Math.sin(Ie*.9)),Xe=fe("waveFrequency"),We=fe("twist")*Wa/Math.max(w*2,.01);ee[0]=[st,Xe,Ie*1.1],ee[1]=[Ie*.7+2.1,We,Ie*.45];let Ve=Math.abs(st)*Xe+Math.abs(We)*Math.hypot(h,g);ee[2]=[1/Math.sqrt(1+Ve*Ve),0,0];break}case"blob3D":{h=fe("radius");let Ie=u*fe("speed"),st=fe("wobble")*(.75+.25*Math.sin(Ie*.83)),Xe=fe("wobbliness");ee[0]=[st,Xe,Ie*1.2],ee[1]=[Ie*.77+1.3,0,0],ee[2]=[1/(1+Math.abs(st)*Xe*1.3),0,0];break}case"gyroscope3D":{h=fe("radius"),g=fe("width"),w=fe("core"),S=fe("thickness");let Ie=Math.max(0,Math.min(fe("rounding"),Math.min(g,S)*.5)),st=u*fe("speed"),Xe=st*.9,We=st*.63+1.1,Ve=st*1.21+2.3;ee[0]=[Math.cos(Xe),Math.sin(Xe),0],ee[1]=[Math.cos(We),Math.sin(We),0],ee[2]=[Math.cos(Ve),Math.sin(Ve),0],ee[3]=[Ie,0,0];break}default:h=fe("radius");break}T=X7({...p,type:t})+.02+i();let Ke=fe("rotX")*Wa,Ze=fe("rotY")*Wa,at=fe("rotZ")*Wa;A=Math.cos(Ke),P=Math.sin(Ke),U=Math.cos(Ze),D=Math.sin(Ze),O=Math.cos(at),L=Math.sin(at);let Fe=T+.05;G=Fe*2,W=Fe*2,K=.5-Fe,Q=.5-Fe,he()};Ee();let Te=Pe=>{Pe!==te&&(te=Pe,he())},Ue=()=>`${h},${g},${w},${S},${T},`+ee.map(Pe=>`${Pe[0]},${Pe[1]},${Pe[2]}`).join(",");return{layout:d,marchParamsBuffer:c,sdfFn:_,update:Ee,setActiveRes:Te,getStateKey:()=>`${Ue()},${A},${P},${U},${D},${O},${L}`,getFootprint:()=>({spanX:G,spanY:W,originX:K,originY:Q,rBound:T}),getRotation:()=>({cx:A,sx:P,cy:U,sy:D,cz:O,sz:L}),getGeometryKey:Ue}}function tw(e,t,s,r={}){let o=e.gpu.root,n=r.extraPad??(()=>0),{texture:i,getVersion:d}=Qv(e,t),{layout:c}=Q7(),_=(globalThis.__TYPEGPU_AUTONAME__??(Pe=>Pe))(o.createUniform(Cn),"marchParamsBuffer"),u=a(512),m=a(511),p=v.fn([f],a)((Pe=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(Pe.f=(Re=>{"use gpu";let de=c.$.params,je=de.pA,fe=de.pB,Ke=__tsover_sub(__tsover_mul(__tsover_add(Re.x,.5),u),.5),Ze=__tsover_sub(__tsover_mul(__tsover_sub(.5,Re.y),u),.5),at=q(Ke),Fe=q(Ze),Ie=__tsover_sub(Ke,at),st=__tsover_sub(Ze,Fe),Xe=R($(at,a(0),m)),We=R($(__tsover_add(at,1),a(0),m)),Ve=R($(Fe,a(0),m)),Ft=R($(__tsover_add(Fe,1),a(0),m)),Gt=Be(c.$.sdfSource,Ge(Xe,Ve),0).r,os=Be(c.$.sdfSource,Ge(We,Ve),0).r,bs=Be(c.$.sdfSource,Ge(Xe,Ft),0).r,ls=Be(c.$.sdfSource,Ge(We,Ft),0).r,As=X(X(Gt,os,Ie),X(bs,ls,Ie),st),vs=__tsover_add(As,fe),ys=__tsover_add(__tsover_sub(z(Re.z),je),fe),Ks=oe(b(vs,ys),a(0)),yr=j(l(b(vs,a(0)),b(ys,a(0))));return __tsover_sub(__tsover_add(Ks,yr),fe)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"pp",[7,[7,"layout","$"],"params"]],[13,"halfDepth",[7,"pp","pA"]],[13,"bevel",[7,"pp","pB"]],[13,"u",[1,[1,[1,[7,"p","x"],"+",[5,"0.5"]],"*","SIZE_F"],"-",[5,"0.5"]]],[13,"v",[1,[1,[1,[5,"0.5"],"-",[7,"p","y"]],"*","SIZE_F"],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["u"]]],[13,"y0",[6,"std.floor",["v"]]],[13,"fx",[1,"u","-","x0"]],[13,"fy",[1,"v","-","y0"]],[13,"cx0",[6,"d.u32",[[6,"std.clamp",["x0",[6,"d.f32",[[5,"0"]]],"MAX_TEXEL"]]]]],[13,"cx1",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"MAX_TEXEL"]]]]],[13,"cy0",[6,"d.u32",[[6,"std.clamp",["y0",[6,"d.f32",[[5,"0"]]],"MAX_TEXEL"]]]]],[13,"cy1",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"MAX_TEXEL"]]]]],[13,"s00",[7,[6,"std.textureLoad",[[7,[7,"layout","$"],"sdfSource"],[6,"d.vec2u",["cx0","cy0"]],[5,"0"]]],"r"]],[13,"s10",[7,[6,"std.textureLoad",[[7,[7,"layout","$"],"sdfSource"],[6,"d.vec2u",["cx1","cy0"]],[5,"0"]]],"r"]],[13,"s01",[7,[6,"std.textureLoad",[[7,[7,"layout","$"],"sdfSource"],[6,"d.vec2u",["cx0","cy1"]],[5,"0"]]],"r"]],[13,"s11",[7,[6,"std.textureLoad",[[7,[7,"layout","$"],"sdfSource"],[6,"d.vec2u",["cx1","cy1"]],[5,"0"]]],"r"]],[13,"field2d",[6,"std.mix",[[6,"std.mix",["s00","s10","fx"]],[6,"std.mix",["s01","s11","fx"]],"fy"]]],[13,"d2",[1,"field2d","+","bevel"]],[13,"wz",[1,[1,[6,"std.abs",[[7,"p","z"]]],"-","halfDepth"],"+","bevel"]],[13,"inner",[6,"std.min",[[6,"std.max",["d2","wz"]],[6,"d.f32",[[5,"0"]]]]]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["d2",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["wz",[6,"d.f32",[[5,"0"]]]]]]]]]],[10,[1,[1,"inner","+","outer"],"-","bevel"]]]]},externals:{layout:()=>c,SIZE_F:()=>u,"std.floor":()=>q,"d.u32":()=>R,"std.clamp":()=>$,"d.f32":()=>a,MAX_TEXEL:()=>m,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.mix":()=>X,"std.abs":()=>z,"std.min":()=>oe,"std.max":()=>b,"std.length":()=>j,"d.vec2f":()=>l}})&&Pe.f)({})),y=0,h="",g=iy(s()),w=new Map,S=.06,T=.02,A=.75,P=1,U=0,D=1,O=0,L=1,G=0,W=1,K=1,Q=0,te=0,ee=jc(),he=()=>{_.write({rot:{cx:P,sx:U,cy:D,sy:O,cz:L,sz:G},rBound:A,spanX:W,spanY:K,originX:Q,originY:te,activeRes:ee,pA:S,pB:T,pC:0,pD:0,mb0:f(0,0,0),mb1:f(0,0,0),mb2:f(0,0,0),mb3:f(0,0,0),mb4:f(0,0,0),mb5:f(0,0,0),mb6:f(0,0,0),mb7:f(0,0,0)})},Ee=Pe=>{let Re=Pe?.deltaTime??0;y+=Re;let de=s();if(de&&typeof de=="object")g=de;else if(typeof de=="string"&&de!==h){h=de;try{g=JSON.parse(de)}catch{}}let je={elapsed:y,deltaTime:Re,pointerX:Pe?.pointer?.x??.5,pointerY:Pe?.pointer?.y??.5,springs:w},fe=vs=>ry(g[vs],N7[vs]??0,je,vs);S=Math.max(.001,fe("depth")*.5),T=Math.min(Math.max(0,fe("bevel")),S);let Ke=a1(t),Ze=Ke?Math.min(.5,Ke.hwf+.02):.5,at=Ke?Math.min(.5,Ke.hhf+.02):.5,Fe=n();A=Math.hypot(Ze,at,S)+T+.03+Fe;let Ie=fe("rotX")*Wa,st=fe("rotY")*Wa,Xe=fe("rotZ")*Wa;P=Math.cos(Ie),U=Math.sin(Ie),D=Math.cos(st),O=Math.sin(st),L=Math.cos(Xe),G=Math.sin(Xe);let We={cx:P,sx:U,cy:D,sy:O,cz:L,sz:G},Ve=ef(1,0,0,We),Ft=ef(0,1,0,We),Gt=T+.03+Fe,os=Math.abs(Ve.x)*Ze+Math.abs(Ve.y)*at+Math.abs(Ve.z)*S+Gt,bs=Math.abs(Ft.x)*Ze+Math.abs(Ft.y)*at+Math.abs(Ft.z)*S+Gt,ls=os+.05,As=bs+.05;W=ls*2,K=As*2,Q=.5-ls,te=.5-As,he()};Ee();let Te=Pe=>{Pe!==ee&&(ee=Pe,he())},Ue=()=>`${S},${T},${A},${d()}`,Me=()=>`${Ue()},${W},${K},${P},${U},${D},${O},${L},${G}`;return{layout:c,marchParamsBuffer:_,sdfFn:p,sdfSourceTexture:i.texture,update:Ee,setActiveRes:Te,getStateKey:Me,getFootprint:()=>({spanX:W,spanY:K,originX:Q,originY:te,rBound:A}),getRotation:()=>({cx:P,sx:U,cy:D,sy:O,cz:L,sz:G}),getGeometryKey:Ue}}function xG(e,t,s,r,o={}){let n=o.extraPad??(()=>0),{layout:i}=ny(),d=(globalThis.__TYPEGPU_AUTONAME__??(L=>L))(e.createUniform(Cn),"marchParamsBuffer"),c=Jv(t),_=v.fn([f],a)((L=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(L.f=(G=>{"use gpu";let W=i.$.params,K=c(l(__tsover_add(G.x,.5),__tsover_sub(.5,G.y)),W.pA,W.pB,W.pC,W.pD,W.mb0.x,W.mb0.y,W.mb0.z,W.mb1.x).x,Q=__tsover_sub(z(G.z),W.mb1.y),te=oe(b(K,Q),a(0)),ee=j(l(b(K,a(0)),b(Q,a(0))));return __tsover_add(te,ee)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"pp",[7,[7,"layout","$"],"params"]],[13,"uv",[6,"d.vec2f",[[1,[7,"p","x"],"+",[5,"0.5"]],[1,[5,"0.5"],"-",[7,"p","y"]]]]],[13,"d2",[7,[6,"analytic",["uv",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"],[7,"pp","pD"],[7,[7,"pp","mb0"],"x"],[7,[7,"pp","mb0"],"y"],[7,[7,"pp","mb0"],"z"],[7,[7,"pp","mb1"],"x"]]],"x"]],[13,"wz",[1,[6,"std.abs",[[7,"p","z"]]],"-",[7,[7,"pp","mb1"],"y"]]],[13,"inner",[6,"std.min",[[6,"std.max",["d2","wz"]],[6,"d.f32",[[5,"0"]]]]]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["d2",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["wz",[6,"d.f32",[[5,"0"]]]]]]]]]],[10,[1,"inner","+","outer"]]]]},externals:{layout:()=>i,"d.vec2f":()=>l,analytic:()=>c,"std.abs":()=>z,"std.min":()=>oe,"std.max":()=>b,"d.f32":()=>a,"std.length":()=>j}})&&L.f)({})),u="",m=iy(s()),p=gu(m),y=.06,h=.6,g=1,w=1,S=0,T=0,A=jc(),P=()=>{d.write({rot:{cx:1,sx:0,cy:1,sy:0,cz:1,sz:0},rBound:h,spanX:g,spanY:w,originX:S,originY:T,activeRes:A,pA:p.radius,pB:p.sides,pC:p.rounding,pD:p.innerRatio,mb0:f(p.rotation,p.height,p.offset),mb1:f(p.aperture,y,0),mb2:f(0,0,0),mb3:f(0,0,0),mb4:f(0,0,0),mb5:f(0,0,0),mb6:f(0,0,0),mb7:f(0,0,0)})},U=()=>{let L=s();if(L&&typeof L=="object")m=L;else if(typeof L=="string"&&L!==u){u=L;try{m=JSON.parse(L)}catch{}}p=gu(m),y=Math.max(.001,r());let{hwf:G,hhf:W}=Jp({shape:{...m,radius:p.radius,height:p.height}});h=Math.hypot(G,W,y)+.02+n();let K=h+.05;g=K*2,w=K*2,S=.5-K,T=.5-K,P()};U();let D=L=>{L!==A&&(A=L,P())},O=()=>`${p.radius},${p.sides},${p.rounding},${p.innerRatio},${p.rotation},${p.height},${p.offset},${p.aperture},${y},${h}`;return{layout:i,marchParamsBuffer:d,sdfFn:_,update:U,setActiveRes:D,getStateKey:O,getFootprint:()=>({spanX:g,spanY:w,originX:S,originY:T,rBound:h}),getRotation:()=>({cx:1,sx:0,cy:1,sy:0,cz:1,sz:0}),getGeometryKey:O}}function gG(e,t,s="none",r="span"){let o=e.gpu?.root;if(!o)return null;let n=iy(t()),i=e.getCpuValue("shapeSdfUrl")||"",d=e.getCpuValue("shapeType")||n.type||"",c=null;if(i&&sy(d)?c=tw(e,i,t):!i&&d1(d)&&(c=ew(o,d,n,t)),!c)return null;let _=oy(c.sdfFn,s,r),u=K7(c.layout,_),m=Z7(o,c.layout,u,e.onCleanup,{paramsUniform:c.marchParamsBuffer,sdfSourceTexture:c.sdfSourceTexture}),p=e.registerComputeTexture(m.fieldTexture),y=m.maxRes,h="",g=_o()?2:1,w=0,S={originX:0,originY:0,spanX:1,spanY:1,activeRes:1,rBound:.6};return{outputs:{volumetricFieldTexture:p},getComputeNodes:A=>{c.update(A);let P=c.getFootprint(),U=e.getCpuValue("scale")??1,D=e.dimensions.height;y=j7(P.spanX,P.spanY,U,D,m.maxRes,y);let O=`${c.getStateKey()},${y}`;return O===h||(w++,g>1&&w%g!==0)?null:(h=O,c.setActiveRes(y),e.setExtraField("_vfOriginX",P.originX),e.setExtraField("_vfOriginY",P.originY),e.setExtraField("_vfSpanX",P.spanX),e.setExtraField("_vfSpanY",P.spanY),e.setExtraField("_vfActiveRes",y),e.setExtraField("_vfRBound",P.rBound),S.originX=P.originX,S.originY=P.originY,S.spanX=P.spanX,S.spanY=P.spanY,S.activeRes=y,S.rBound=P.rBound,[()=>m.dispatch(y)])},fieldTexture:m.fieldTexture,getFieldDomain:()=>({...S})}}var Tu=.08,ws=v.fn([f,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=s.x,n=s.y,i=s.z,d=s.w,c=r.x,_=r.y,u=f(__tsover_add(__tsover_mul(t.x,i),__tsover_mul(t.z,d)),t.y,__tsover_add(__tsover_mul(__tsover_mul(t.x,d),-1),__tsover_mul(t.z,i))),m=f(u.x,__tsover_sub(__tsover_mul(u.y,o),__tsover_mul(u.z,n)),__tsover_add(__tsover_mul(u.y,n),__tsover_mul(u.z,o)));return f(__tsover_sub(__tsover_mul(m.x,c),__tsover_mul(m.y,_)),__tsover_add(__tsover_mul(m.x,_),__tsover_mul(m.y,c)),m.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"}],body:[0,[[13,"cx",[7,"rp0","x"]],[13,"sx",[7,"rp0","y"]],[13,"cy",[7,"rp0","z"]],[13,"sy",[7,"rp0","w"]],[13,"cz",[7,"rp1","x"]],[13,"sz",[7,"rp1","y"]],[13,"py",[6,"d.vec3f",[[1,[1,[7,"p","x"],"*","cy"],"+",[1,[7,"p","z"],"*","sy"]],[7,"p","y"],[1,[1,[1,[7,"p","x"],"*","sy"],"*",[4,"-",[5,"1"]]],"+",[1,[7,"p","z"],"*","cy"]]]]],[13,"px",[6,"d.vec3f",[[7,"py","x"],[1,[1,[7,"py","y"],"*","cx"],"-",[1,[7,"py","z"],"*","sx"]],[1,[1,[7,"py","y"],"*","sx"],"+",[1,[7,"py","z"],"*","cx"]]]]],[10,[6,"d.vec3f",[[1,[1,[7,"px","x"],"*","cz"],"-",[1,[7,"px","y"],"*","sz"]],[1,[1,[7,"px","x"],"*","sz"],"+",[1,[7,"px","y"],"*","cz"]],[7,"px","z"]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})).$name("eulerRotatePacked"),bG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return __tsover_sub(j(ws(t,s,r)),r.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[10,[1,[6,"std.length",[[6,"eulerRotatePacked",["p","rp0","rp1"]]]],"-",[7,"rp1","z"]]]]]},externals:{"std.length":()=>j,eulerRotatePacked:()=>ws}})&&e.f)({})).$name("paramSphereSdf"),wG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=as(ws(t,r,o));return l(__tsover_add(__tsover_div(tt(d.z,d.x),6.283185307179586),.5),__tsover_mul(__tsover_add(d.y,1),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"n",[6,"std.normalize",[[6,"eulerRotatePacked",["h","rp0","rp1"]]]]],[10,[6,"d.vec2f",[[1,[1,[6,"std.atan2",[[7,"n","z"],[7,"n","x"]]],"/",[5,"6.283185307179586"]],"+",[5,"0.5"]],[1,[1,[7,"n","y"],"+",[5,"1"]],"*",[5,"0.5"]]]]]]]},externals:{"std.normalize":()=>as,eulerRotatePacked:()=>ws,"d.vec2f":()=>l,"std.atan2":()=>tt}})&&e.f)({})).$name("sphereSurfaceUV"),TG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=ws(t,s,r),d=l(__tsover_sub(j(l(i.x,i.z)),r.z),i.y);return __tsover_sub(j(d),r.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["p","rp0","rp1"]]],[13,"q",[6,"d.vec2f",[[1,[6,"std.length",[[6,"d.vec2f",[[7,"rp","x"],[7,"rp","z"]]]]],"-",[7,"rp1","z"]],[7,"rp","y"]]]],[10,[1,[6,"std.length",["q"]],"-",[7,"rp1","w"]]]]]},externals:{eulerRotatePacked:()=>ws,"d.vec2f":()=>l,"std.length":()=>j}})&&e.f)({})).$name("paramTorusSdf"),SG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ws(t,r,o),c=__tsover_add(__tsover_div(tt(d.z,d.x),6.283185307179586),.5),_=__tsover_sub(j(l(d.x,d.z)),o.z);return l(c,__tsover_add(__tsover_div(tt(d.y,_),6.283185307179586),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["h","rp0","rp1"]]],[13,"u",[1,[1,[6,"std.atan2",[[7,"rp","z"],[7,"rp","x"]]],"/",[5,"6.283185307179586"]],"+",[5,"0.5"]]],[13,"ringDist",[1,[6,"std.length",[[6,"d.vec2f",[[7,"rp","x"],[7,"rp","z"]]]]],"-",[7,"rp1","z"]]],[10,[6,"d.vec2f",["u",[1,[1,[6,"std.atan2",[[7,"rp","y"],"ringDist"]],"/",[5,"6.283185307179586"]],"+",[5,"0.5"]]]]]]]},externals:{eulerRotatePacked:()=>ws,"std.atan2":()=>tt,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})).$name("torusSurfaceUV"),AG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=ws(t,s,r),d=o.y,c=__tsover_add(__tsover_sub(z(i.x),r.z),d),_=__tsover_add(__tsover_sub(z(i.y),r.w),d),u=__tsover_add(__tsover_sub(z(i.z),o.x),d),m=j(f(b(c,a(0)),b(_,a(0)),b(u,a(0)))),p=oe(b(c,b(_,u)),a(0));return __tsover_sub(__tsover_add(m,p),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["p","rp0","rp1"]]],[13,"rounding",[7,"rp2","y"]],[13,"qx",[1,[1,[6,"std.abs",[[7,"rp","x"]]],"-",[7,"rp1","z"]],"+","rounding"]],[13,"qy",[1,[1,[6,"std.abs",[[7,"rp","y"]]],"-",[7,"rp1","w"]],"+","rounding"]],[13,"qz",[1,[1,[6,"std.abs",[[7,"rp","z"]]],"-",[7,"rp2","x"]],"+","rounding"]],[13,"outer",[6,"std.length",[[6,"d.vec3f",[[6,"std.max",["qx",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["qy",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["qz",[6,"d.f32",[[5,"0"]]]]]]]]]],[13,"inner",[6,"std.min",[[6,"std.max",["qx",[6,"std.max",["qy","qz"]]]],[6,"d.f32",[[5,"0"]]]]]],[10,[1,[1,"outer","+","inner"],"-","rounding"]]]]},externals:{eulerRotatePacked:()=>ws,"std.abs":()=>z,"std.length":()=>j,"d.vec3f":()=>f,"std.max":()=>b,"d.f32":()=>a,"std.min":()=>oe}})&&e.f)({})).$name("paramBoxSdf"),MG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ws(t,r,o),c=ws(s,r,o),_=f(z(c.x),z(c.y),z(c.z)),u=o.z,m=o.w,p=n.x,y=__tsover_div(.5,b(m,p)),h=__tsover_div(.5,b(u,p)),g=__tsover_div(.5,b(u,m)),w=l(__tsover_add(__tsover_mul(d.z,y),.5),__tsover_add(__tsover_mul(d.y,y),.5)),S=l(__tsover_add(__tsover_mul(d.x,h),.5),__tsover_add(__tsover_mul(d.z,h),.5)),T=l(__tsover_add(__tsover_mul(d.x,g),.5),__tsover_add(__tsover_mul(d.y,g),.5)),A=C(T,w,_.x>_.z);return C(C(T,S,_.y>_.z),A,_.x>_.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["h","rp0","rp1"]]],[13,"rn",[6,"eulerRotatePacked",["n","rp0","rp1"]]],[13,"an",[6,"d.vec3f",[[6,"std.abs",[[7,"rn","x"]]],[6,"std.abs",[[7,"rn","y"]]],[6,"std.abs",[[7,"rn","z"]]]]]],[13,"hx",[7,"rp1","z"]],[13,"hy",[7,"rp1","w"]],[13,"hz",[7,"rp2","x"]],[13,"scaleX",[1,[5,"0.5"],"/",[6,"std.max",["hy","hz"]]]],[13,"scaleY",[1,[5,"0.5"],"/",[6,"std.max",["hx","hz"]]]],[13,"scaleZ",[1,[5,"0.5"],"/",[6,"std.max",["hx","hy"]]]],[13,"uvX",[6,"d.vec2f",[[1,[1,[7,"rp","z"],"*","scaleX"],"+",[5,"0.5"]],[1,[1,[7,"rp","y"],"*","scaleX"],"+",[5,"0.5"]]]]],[13,"uvY",[6,"d.vec2f",[[1,[1,[7,"rp","x"],"*","scaleY"],"+",[5,"0.5"]],[1,[1,[7,"rp","z"],"*","scaleY"],"+",[5,"0.5"]]]]],[13,"uvZ",[6,"d.vec2f",[[1,[1,[7,"rp","x"],"*","scaleZ"],"+",[5,"0.5"]],[1,[1,[7,"rp","y"],"*","scaleZ"],"+",[5,"0.5"]]]]],[13,"pickXZ",[6,"std.select",["uvZ","uvX",[1,[7,"an","x"],">",[7,"an","z"]]]]],[13,"pickYZ",[6,"std.select",["uvZ","uvY",[1,[7,"an","y"],">",[7,"an","z"]]]]],[10,[6,"std.select",["pickYZ","pickXZ",[1,[7,"an","x"],">",[7,"an","y"]]]]]]]},externals:{eulerRotatePacked:()=>ws,"d.vec3f":()=>f,"std.abs":()=>z,"std.max":()=>b,"d.vec2f":()=>l,"std.select":()=>C}})&&e.f)({})).$name("boxFaceUV"),PG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=ws(t,s,r),d=r.z,c=r.w,_=$(i.y,__tsover_mul(c,-1),c);return __tsover_sub(j(f(i.x,__tsover_sub(i.y,_),i.z)),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["p","rp0","rp1"]]],[13,"radius",[7,"rp1","z"]],[13,"halfHeight",[7,"rp1","w"]],[13,"clampedY",[6,"std.clamp",[[7,"rp","y"],[1,"halfHeight","*",[4,"-",[5,"1"]]],"halfHeight"]]],[10,[1,[6,"std.length",[[6,"d.vec3f",[[7,"rp","x"],[1,[7,"rp","y"],"-","clampedY"],[7,"rp","z"]]]]],"-","radius"]]]]},externals:{eulerRotatePacked:()=>ws,"std.clamp":()=>$,"std.length":()=>j,"d.vec3f":()=>f}})&&e.f)({})).$name("paramCapsuleSdf"),EG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ws(t,r,o),c=__tsover_add(__tsover_div(tt(d.z,d.x),6.283185307179586),.5),_=__tsover_add(o.w,o.z);return l(c,$(__tsover_add(__tsover_mul(__tsover_div(d.y,_),.5),.5),0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["h","rp0","rp1"]]],[13,"u",[1,[1,[6,"std.atan2",[[7,"rp","z"],[7,"rp","x"]]],"/",[5,"6.283185307179586"]],"+",[5,"0.5"]]],[13,"span",[1,[7,"rp1","w"],"+",[7,"rp1","z"]]],[10,[6,"d.vec2f",["u",[6,"std.clamp",[[1,[1,[1,[7,"rp","y"],"/","span"],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]]]]]]},externals:{eulerRotatePacked:()=>ws,"std.atan2":()=>tt,"d.vec2f":()=>l,"std.clamp":()=>$}})&&e.f)({})).$name("capsuleSurfaceUV"),kG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=ws(t,s,r),d=r.z,c=r.w,_=o.x,u=tt(i.z,i.x),m=f(__tsover_mul(H(u),d),0,__tsover_mul(Y(u),d)),p=f(__tsover_sub(i.x,m.x),__tsover_sub(i.y,m.y),__tsover_sub(i.z,m.z)),y=__tsover_mul(u,.5),h=f(__tsover_mul(H(u),H(y)),Y(y),__tsover_mul(Y(u),H(y))),g=se(p,h),w=b(__tsover_sub(z(g),c),a(0)),S=f(__tsover_sub(p.x,__tsover_mul(h.x,g)),__tsover_sub(p.y,__tsover_mul(h.y,g)),__tsover_sub(p.z,__tsover_mul(h.z,g)));return __tsover_sub(j(l(w,j(S))),_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["p","rp0","rp1"]]],[13,"ringRadius",[7,"rp1","z"]],[13,"halfWidth",[7,"rp1","w"]],[13,"thickness",[7,"rp2","x"]],[13,"phi",[6,"std.atan2",[[7,"rp","z"],[7,"rp","x"]]]],[13,"spine",[6,"d.vec3f",[[1,[6,"std.cos",["phi"]],"*","ringRadius"],[5,"0"],[1,[6,"std.sin",["phi"]],"*","ringRadius"]]]],[13,"dvec",[6,"d.vec3f",[[1,[7,"rp","x"],"-",[7,"spine","x"]],[1,[7,"rp","y"],"-",[7,"spine","y"]],[1,[7,"rp","z"],"-",[7,"spine","z"]]]]],[13,"halfPhi",[1,"phi","*",[5,"0.5"]]],[13,"ev",[6,"d.vec3f",[[1,[6,"std.cos",["phi"]],"*",[6,"std.cos",["halfPhi"]]],[6,"std.sin",["halfPhi"]],[1,[6,"std.sin",["phi"]],"*",[6,"std.cos",["halfPhi"]]]]]],[13,"vProj",[6,"std.dot",["dvec","ev"]]],[13,"du",[6,"std.max",[[1,[6,"std.abs",["vProj"]],"-","halfWidth"],[6,"d.f32",[[5,"0"]]]]]],[13,"perp",[6,"d.vec3f",[[1,[7,"dvec","x"],"-",[1,[7,"ev","x"],"*","vProj"]],[1,[7,"dvec","y"],"-",[1,[7,"ev","y"],"*","vProj"]],[1,[7,"dvec","z"],"-",[1,[7,"ev","z"],"*","vProj"]]]]],[10,[1,[6,"std.length",[[6,"d.vec2f",["du",[6,"std.length",["perp"]]]]]],"-","thickness"]]]]},externals:{eulerRotatePacked:()=>ws,"std.atan2":()=>tt,"d.vec3f":()=>f,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.max":()=>b,"std.abs":()=>z,"d.f32":()=>a,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})).$name("paramMobiusSdf"),$G=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ws(t,r,o),c=o.z,_=o.w,u=tt(d.z,d.x),m=f(__tsover_mul(H(u),c),0,__tsover_mul(Y(u),c)),p=f(__tsover_sub(d.x,m.x),__tsover_sub(d.y,m.y),__tsover_sub(d.z,m.z)),y=__tsover_mul(u,.5),h=se(p,f(__tsover_mul(H(u),H(y)),Y(y),__tsover_mul(Y(u),H(y))));return l(__tsover_add(__tsover_div(u,6.283185307179586),.5),__tsover_add(__tsover_mul(__tsover_div(h,_),.5),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["h","rp0","rp1"]]],[13,"ringRadius",[7,"rp1","z"]],[13,"halfWidth",[7,"rp1","w"]],[13,"phi",[6,"std.atan2",[[7,"rp","z"],[7,"rp","x"]]]],[13,"spine",[6,"d.vec3f",[[1,[6,"std.cos",["phi"]],"*","ringRadius"],[5,"0"],[1,[6,"std.sin",["phi"]],"*","ringRadius"]]]],[13,"dvec",[6,"d.vec3f",[[1,[7,"rp","x"],"-",[7,"spine","x"]],[1,[7,"rp","y"],"-",[7,"spine","y"]],[1,[7,"rp","z"],"-",[7,"spine","z"]]]]],[13,"halfPhi",[1,"phi","*",[5,"0.5"]]],[13,"ev",[6,"d.vec3f",[[1,[6,"std.cos",["phi"]],"*",[6,"std.cos",["halfPhi"]]],[6,"std.sin",["halfPhi"]],[1,[6,"std.sin",["phi"]],"*",[6,"std.cos",["halfPhi"]]]]]],[13,"vProj",[6,"std.dot",["dvec","ev"]]],[10,[6,"d.vec2f",[[1,[1,"phi","/",[5,"6.283185307179586"]],"+",[5,"0.5"]],[1,[1,[1,"vProj","/","halfWidth"],"*",[5,"0.5"]],"+",[5,"0.5"]]]]]]]},externals:{eulerRotatePacked:()=>ws,"std.atan2":()=>tt,"d.vec3f":()=>f,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"d.vec2f":()=>l}})&&e.f)({})).$name("mobiusSurfaceUV"),UG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=s.x,d=s.y,c=s.z,_=r.x,u=r.y,m=r.z,p=H(i),y=Y(i),h=__tsover_add(__tsover_mul(t.x,p),__tsover_mul(t.y,y)),g=__tsover_add(__tsover_mul(__tsover_mul(t.x,y),-1),__tsover_mul(t.y,p)),w=__tsover_add(__tsover_add(__tsover_mul(h,d),u),__tsover_mul(n,Tu)),S=H(w),T=Y(w),A=__tsover_add(__tsover_mul(g,S),__tsover_mul(t.z,T)),P=__tsover_add(__tsover_mul(__tsover_mul(g,T),-1),__tsover_mul(t.z,S)),U=b(__tsover_sub(z(A),c),a(0));return __tsover_div(__tsover_sub(j(l(U,P)),_),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"t"}],body:[0,[[13,"angleRad",[7,"rp0","x"]],[13,"twist",[7,"rp0","y"]],[13,"halfW",[7,"rp0","z"]],[13,"thickness",[7,"rp1","x"]],[13,"phase",[7,"rp1","y"]],[13,"lipschitz",[7,"rp1","z"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"rpx",[1,[1,[7,"p","x"],"*","cosA"],"+",[1,[7,"p","y"],"*","sinA"]]],[13,"rpy",[1,[1,[1,[7,"p","x"],"*","sinA"],"*",[4,"-",[5,"1"]]],"+",[1,[7,"p","y"],"*","cosA"]]],[13,"twistAngle",[1,[1,[1,"rpx","*","twist"],"+","phase"],"+",[1,"t","*","TWISTED_RIBBON_TWIST_RATE"]]],[13,"ca",[6,"std.cos",["twistAngle"]]],[13,"sa",[6,"std.sin",["twistAngle"]]],[13,"localU",[1,[1,"rpy","*","ca"],"+",[1,[7,"p","z"],"*","sa"]]],[13,"localV",[1,[1,[1,"rpy","*","sa"],"*",[4,"-",[5,"1"]]],"+",[1,[7,"p","z"],"*","ca"]]],[13,"du",[6,"std.max",[[1,[6,"std.abs",["localU"]],"-","halfW"],[6,"d.f32",[[5,"0"]]]]]],[10,[1,[1,[6,"std.length",[[6,"d.vec2f",["du","localV"]]]],"-","thickness"],"/","lipschitz"]]]]},externals:{"std.cos":()=>H,"std.sin":()=>Y,TWISTED_RIBBON_TWIST_RATE:()=>Tu,"std.max":()=>b,"std.abs":()=>z,"d.f32":()=>a,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})).$name("paramTwistedRibbonSdf"),CG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=r.x,c=r.y,_=r.z,u=r.w,m=o.y,p=H(d),y=Y(d),h=__tsover_add(__tsover_mul(t.x,p),__tsover_mul(t.y,y)),g=__tsover_add(__tsover_mul(__tsover_mul(t.x,y),-1),__tsover_mul(t.y,p)),w=__tsover_add(__tsover_add(__tsover_mul(h,c),m),__tsover_mul(i,Tu)),S=H(w),T=Y(w),A=b(oe(__tsover_add(__tsover_mul(g,S),__tsover_mul(t.z,T)),_),__tsover_mul(_,-1));return l(__tsover_add(__tsover_mul(h,.15),.5),__tsover_add(__tsover_div(A,u),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"t"}],body:[0,[[13,"angleRad",[7,"rp0","x"]],[13,"twist",[7,"rp0","y"]],[13,"halfW",[7,"rp0","z"]],[13,"width",[7,"rp0","w"]],[13,"phase",[7,"rp1","y"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"rpx",[1,[1,[7,"h","x"],"*","cosA"],"+",[1,[7,"h","y"],"*","sinA"]]],[13,"rpy",[1,[1,[1,[7,"h","x"],"*","sinA"],"*",[4,"-",[5,"1"]]],"+",[1,[7,"h","y"],"*","cosA"]]],[13,"twistAngle",[1,[1,[1,"rpx","*","twist"],"+","phase"],"+",[1,"t","*","TWISTED_RIBBON_TWIST_RATE"]]],[13,"ca",[6,"std.cos",["twistAngle"]]],[13,"sa",[6,"std.sin",["twistAngle"]]],[13,"localU",[1,[1,"rpy","*","ca"],"+",[1,[7,"h","z"],"*","sa"]]],[13,"localUClamped",[6,"std.max",[[6,"std.min",["localU","halfW"]],[1,"halfW","*",[4,"-",[5,"1"]]]]]],[10,[6,"d.vec2f",[[1,[1,"rpx","*",[5,"0.15"]],"+",[5,"0.5"]],[1,[1,"localUClamped","/","width"],"+",[5,"0.5"]]]]]]]},externals:{"std.cos":()=>H,"std.sin":()=>Y,TWISTED_RIBBON_TWIST_RATE:()=>Tu,"std.max":()=>b,"std.min":()=>oe,"d.vec2f":()=>l}})&&e.f)({})).$name("twistedRibbonSurfaceUV");function RG(e,t){let s={};return t.forEach((r,o)=>{s[`${e}${o}`]={schema:x,initial:r}}),s}var qm=_o()?128:192,FW=Math.ceil(qm/4)*qm*qm,Su=_o()?512:1024;var BW=Math.PI/180;var Xm=2.39996323,Mb=.27;var WW=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cam:n5(16,a5(32,Hc)),lightDir:f,voxelSize:a,lightT1:f,fill:a,lightT2:f,voxelScale:a,bevel:a,gridOrigin:a,gridN:a,gridW:a}),"VoxelMarchParams");var Hm=v.fn([ps(a),a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=a(__tsover_sub(Su,1)),i=q(s),d=q(r),c=__tsover_sub(s,i),_=__tsover_sub(r,d),u=R($(i,a(0),n)),m=R($(__tsover_add(i,1),a(0),n)),p=R($(d,a(0),n)),y=R($(__tsover_add(d,1),a(0),n)),h=C(a(0),a(1),Be(t,Ge(u,p),0).ra,VOXEL_SHADOW_RES:()=>Su,"std.floor":()=>q,"d.u32":()=>R,"std.clamp":()=>$,"std.select":()=>C,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.mix":()=>X}})&&e.f)({})).$name("voxelShadowCompare"),OW=v.fn([ps(a),f,f,f,f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=a(Su),u=__tsover_div(__tsover_mul(i,2),_),m=se(s,o),p=se(s,n),y=__tsover_sub(i,se(s,r)),h=__tsover_sub(__tsover_mul(__tsover_add(__tsover_mul(__tsover_div(m,i),.5),.5),_),.5),g=__tsover_sub(__tsover_mul(__tsover_add(__tsover_mul(__tsover_div(p,i),.5),.5),_),.5),w=__tsover_sub(y,__tsover_add(__tsover_mul(c,.05),__tsover_mul(u,2))),S=a(0);if(d<.001)S=Hm(t,h,g,w);else{let T=__tsover_mul(d,Mb),A=b(__tsover_div(oe(__tsover_mul(i,T),__tsover_mul(i,.25)),u),1),P=a(0),U=a(0);for(let D=0;D<8;D++){let O=__tsover_mul(be(__tsover_div(__tsover_add(a(D),.5),8)),A),L=__tsover_mul(a(D),Xm),G=$(__tsover_add(h,__tsover_mul(H(L),O)),a(0),__tsover_sub(_,1)),W=$(__tsover_add(g,__tsover_mul(Y(L),O)),a(0),__tsover_sub(_,1)),K=Be(t,Ge(R(G),R(W)),0).r;K.5){let D=__tsover_div(P,U),O=$(__tsover_div(__tsover_mul(__tsover_sub(y,D),T),u),1,A),L=a(0);for(let G=0;G<12;G++){let W=__tsover_mul(be(__tsover_div(__tsover_add(a(G),.5),12)),O),K=__tsover_add(__tsover_mul(a(G),Xm),.7);L=__tsover_add(L,Hm(t,__tsover_add(h,__tsover_mul(H(K),W)),__tsover_add(g,__tsover_mul(Y(K),W)),w))}S=__tsover_div(L,12)}}return S}),{v:2,name:void 0,ast:{params:[{type:"i",name:"tex"},{type:"i",name:"p"},{type:"i",name:"L"},{type:"i",name:"T1"},{type:"i",name:"T2"},{type:"i",name:"rBound"},{type:"i",name:"softness"},{type:"i",name:"voxel"}],body:[0,[[13,"RES",[6,"d.f32",["VOXEL_SHADOW_RES"]]],[13,"texelWorld",[1,[1,"rBound","*",[5,"2"]],"/","RES"]],[13,"u",[6,"std.dot",["p","T1"]]],[13,"w",[6,"std.dot",["p","T2"]]],[13,"dL",[1,"rBound","-",[6,"std.dot",["p","L"]]]],[13,"mx",[1,[1,[1,[1,[1,"u","/","rBound"],"*",[5,"0.5"]],"+",[5,"0.5"]],"*","RES"],"-",[5,"0.5"]]],[13,"my",[1,[1,[1,[1,[1,"w","/","rBound"],"*",[5,"0.5"]],"+",[5,"0.5"]],"*","RES"],"-",[5,"0.5"]]],[13,"ref",[1,"dL","-",[1,[1,"voxel","*",[5,"0.05"]],"+",[1,"texelWorld","*",[5,"2"]]]]],[12,"shadow",[6,"d.f32",[[5,"0"]]]],[11,[1,"softness","<",[5,"0.001"]],[0,[[2,"shadow","=",[6,"shadowCompare",["tex","mx","my","ref"]]]]],[0,[[13,"k",[1,"softness","*","SOFT_TAN"]],[13,"rSearch",[6,"std.max",[[1,[6,"std.min",[[1,"rBound","*","k"],[1,"rBound","*",[5,"0.25"]]]],"/","texelWorld"],[5,"1"]]]],[12,"sum",[6,"d.f32",[[5,"0"]]]],[12,"count",[6,"d.f32",[[5,"0"]]]],[14,[12,"s",[5,"0"]],[1,"s","<",[5,"8"]],[102,"++","s"],[0,[[13,"r",[1,[6,"std.sqrt",[[1,[1,[6,"d.f32",["s"]],"+",[5,"0.5"]],"/",[5,"8"]]]],"*","rSearch"]],[13,"th",[1,[6,"d.f32",["s"]],"*","GOLDEN_ANGLE"]],[13,"sx",[6,"std.clamp",[[1,"mx","+",[1,[6,"std.cos",["th"]],"*","r"]],[6,"d.f32",[[5,"0"]]],[1,"RES","-",[5,"1"]]]]],[13,"sy",[6,"std.clamp",[[1,"my","+",[1,[6,"std.sin",["th"]],"*","r"]],[6,"d.f32",[[5,"0"]]],[1,"RES","-",[5,"1"]]]]],[13,"dep",[7,[6,"std.textureLoad",["tex",[6,"d.vec2u",[[6,"d.u32",["sx"]],[6,"d.u32",["sy"]]]],[5,"0"]]],"r"]],[11,[1,"dep","<","ref"],[0,[[2,"sum","=",[1,"sum","+","dep"]],[2,"count","=",[1,"count","+",[5,"1"]]]]]]]]],[11,[1,"count",">",[5,"0.5"]],[0,[[13,"avgBlocker",[1,"sum","/","count"]],[13,"penumbra",[6,"std.clamp",[[1,[1,[1,"dL","-","avgBlocker"],"*","k"],"/","texelWorld"],[5,"1"],"rSearch"]]],[12,"acc",[6,"d.f32",[[5,"0"]]]],[14,[12,"s",[5,"0"]],[1,"s","<",[5,"12"]],[102,"++","s"],[0,[[13,"r",[1,[6,"std.sqrt",[[1,[1,[6,"d.f32",["s"]],"+",[5,"0.5"]],"/",[5,"12"]]]],"*","penumbra"]],[13,"th",[1,[1,[6,"d.f32",["s"]],"*","GOLDEN_ANGLE"],"+",[5,"0.7"]]],[2,"acc","=",[1,"acc","+",[6,"shadowCompare",["tex",[1,"mx","+",[1,[6,"std.cos",["th"]],"*","r"]],[1,"my","+",[1,[6,"std.sin",["th"]],"*","r"]],"ref"]]]]]]],[2,"shadow","=",[1,"acc","/",[5,"12"]]]]]]]]],[10,"shadow"]]]},externals:{"d.f32":()=>a,VOXEL_SHADOW_RES:()=>Su,"std.dot":()=>se,shadowCompare:()=>Hm,SOFT_TAN:()=>Mb,"std.max":()=>b,"std.min":()=>oe,"std.sqrt":()=>be,GOLDEN_ANGLE:()=>Xm,"std.clamp":()=>$,"std.cos":()=>H,"std.sin":()=>Y,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"d.u32":()=>R}})&&e.f)({})).$name("voxelShadowLookup"),Pb=v.fn([f,f,f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=C(a(-1),a(1),s.x>=0),i=C(a(-1),a(1),s.y>=0),d=C(a(-1),a(1),s.z>=0),c=__tsover_div(n,b(z(s.x),1e-6)),_=__tsover_div(i,b(z(s.y),1e-6)),u=__tsover_div(d,b(z(s.z),1e-6)),m=__tsover_mul(__tsover_sub(__tsover_sub(r.x,o),t.x),c),p=__tsover_mul(__tsover_sub(__tsover_add(r.x,o),t.x),c),y=__tsover_mul(__tsover_sub(__tsover_sub(r.y,o),t.y),_),h=__tsover_mul(__tsover_sub(__tsover_add(r.y,o),t.y),_),g=__tsover_mul(__tsover_sub(__tsover_sub(r.z,o),t.z),u),w=__tsover_mul(__tsover_sub(__tsover_add(r.z,o),t.z),u),S=b(oe(m,p),b(oe(y,h),oe(g,w))),T=oe(b(m,p),oe(b(y,h),b(g,w))),A=__tsover_mul(C(a(0),a(1),S<=T),C(a(0),a(1),T>=0));return C(a(-1),b(S,a(0)),A>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ro"},{type:"i",name:"rd"},{type:"i",name:"c"},{type:"i",name:"h"}],body:[0,[[13,"sx",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"d.f32",[[5,"1"]]],[1,[7,"rd","x"],">=",[5,"0"]]]]],[13,"sy",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"d.f32",[[5,"1"]]],[1,[7,"rd","y"],">=",[5,"0"]]]]],[13,"sz",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"d.f32",[[5,"1"]]],[1,[7,"rd","z"],">=",[5,"0"]]]]],[13,"ix",[1,"sx","/",[6,"std.max",[[6,"std.abs",[[7,"rd","x"]]],[5,"0.000001"]]]]],[13,"iy",[1,"sy","/",[6,"std.max",[[6,"std.abs",[[7,"rd","y"]]],[5,"0.000001"]]]]],[13,"iz",[1,"sz","/",[6,"std.max",[[6,"std.abs",[[7,"rd","z"]]],[5,"0.000001"]]]]],[13,"t1x",[1,[1,[1,[7,"c","x"],"-","h"],"-",[7,"ro","x"]],"*","ix"]],[13,"t2x",[1,[1,[1,[7,"c","x"],"+","h"],"-",[7,"ro","x"]],"*","ix"]],[13,"t1y",[1,[1,[1,[7,"c","y"],"-","h"],"-",[7,"ro","y"]],"*","iy"]],[13,"t2y",[1,[1,[1,[7,"c","y"],"+","h"],"-",[7,"ro","y"]],"*","iy"]],[13,"t1z",[1,[1,[1,[7,"c","z"],"-","h"],"-",[7,"ro","z"]],"*","iz"]],[13,"t2z",[1,[1,[1,[7,"c","z"],"+","h"],"-",[7,"ro","z"]],"*","iz"]],[13,"tIn",[6,"std.max",[[6,"std.min",["t1x","t2x"]],[6,"std.max",[[6,"std.min",["t1y","t2y"]],[6,"std.min",["t1z","t2z"]]]]]]],[13,"tOut",[6,"std.min",[[6,"std.max",["t1x","t2x"]],[6,"std.min",[[6,"std.max",["t1y","t2y"]],[6,"std.max",["t1z","t2z"]]]]]]],[13,"ok",[1,[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"tIn","<=","tOut"]]],"*",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"tOut",">=",[5,"0"]]]]]],[10,[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"std.max",["tIn",[6,"d.f32",[[5,"0"]]]]],[1,"ok",">",[5,"0.5"]]]]]]]},externals:{"std.select":()=>C,"d.f32":()=>a,"std.max":()=>b,"std.abs":()=>z,"std.min":()=>oe}})&&e.f)({})).$name("voxelRayBox"),VW=v.fn([f,f,f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=t.sub(r),i=se(n,s),d=__tsover_sub(se(n,n),__tsover_mul(o,o)),c=__tsover_sub(__tsover_mul(i,i),d),_=__tsover_sub(__tsover_mul(i,-1),be(b(c,0))),u=__tsover_mul(C(a(0),a(1),c>=0),C(a(0),a(1),_>=0));return C(a(-1),_,u>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ro"},{type:"i",name:"rd"},{type:"i",name:"c"},{type:"i",name:"h"}],body:[0,[[13,"oc",[6,[7,"ro","sub"],["c"]]],[13,"b",[6,"std.dot",["oc","rd"]]],[13,"cc",[1,[6,"std.dot",["oc","oc"]],"-",[1,"h","*","h"]]],[13,"disc",[1,[1,"b","*","b"],"-","cc"]],[13,"t",[1,[1,"b","*",[4,"-",[5,"1"]]],"-",[6,"std.sqrt",[[6,"std.max",["disc",[5,"0"]]]]]]],[13,"ok",[1,[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"disc",">=",[5,"0"]]]],"*",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"t",">=",[5,"0"]]]]]],[10,[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],"t",[1,"ok",">",[5,"0.5"]]]]]]]},externals:{"std.dot":()=>se,"std.sqrt":()=>be,"std.max":()=>b,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})).$name("voxelRaySphere"),NW=v.fn([f,f,f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=Pb(t,s,r,o),d=a(-1);if(i>=0){let c=i,_=a(0);for(let u=0;u<8;u++){let m=Ec(t.add(s.mul(c)).sub(r),o,o,o,n);if(m<__tsover_mul(o,.004)){_=a(1);break}if(c=__tsover_add(c,m),c>__tsover_add(i,__tsover_mul(o,3.5)))break}d=C(a(-1),c,_>.5)}return d}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ro"},{type:"i",name:"rd"},{type:"i",name:"c"},{type:"i",name:"h"},{type:"i",name:"r"}],body:[0,[[13,"tBox",[6,"voxelRayBox",["ro","rd","c","h"]]],[12,"t",[6,"d.f32",[[4,"-",[5,"1"]]]]],[11,[1,"tBox",">=",[5,"0"]],[0,[[12,"s","tBox"],[12,"hit",[6,"d.f32",[[5,"0"]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"8"]],[102,"++","i"],[0,[[13,"p",[6,[7,[6,[7,"ro","add"],[[6,[7,"rd","mul"],["s"]]]],"sub"],["c"]]],[13,"dd",[6,"sdRoundBox",["p","h","h","h","r"]]],[11,[1,"dd","<",[1,"h","*",[5,"0.004"]]],[0,[[2,"hit","=",[6,"d.f32",[[5,"1"]]]],[17]]]],[2,"s","=",[1,"s","+","dd"]],[11,[1,"s",">",[1,"tBox","+",[1,"h","*",[5,"3.5"]]]],[0,[[17]]]]]]],[2,"t","=",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],"s",[1,"hit",">",[5,"0.5"]]]]]]]],[10,"t"]]]},externals:{voxelRayBox:()=>Pb,"d.f32":()=>a,sdRoundBox:()=>Ec,"std.select":()=>C}})&&e.f)({})).$name("voxelRayRoundedBox");var zG=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_sub(1,t),o=re(0,.14,t),n=re(.68,.92,t);return X(r,X(a(1),__tsover_mul(.72,__tsover_sub(1,n)),o),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"shape"}],body:[0,[[13,"sRound",[1,[5,"1"],"-","t"]],[13,"k1",[6,"std.smoothstep",[[5,"0"],[5,"0.14"],"t"]]],[13,"k2",[6,"std.smoothstep",[[5,"0.68"],[5,"0.92"],"t"]]],[13,"sMach",[6,"std.mix",[[6,"d.f32",[[5,"1"]]],[1,[5,"0.72"],"*",[1,[5,"1"],"-","k2"]],"k1"]]],[10,[6,"std.mix",["sRound","sMach","shape"]]]]]},externals:{"std.smoothstep":()=>re,"std.mix":()=>X,"d.f32":()=>a}})&&e.f)({})),sw=Za({BLUR_DISK:()=>Ya,GlassLensUVs:()=>hl,applyGlassEffect:()=>YG,glassBlurOffset:()=>aw,glassBorderHighlight:()=>Af,glassComposite:()=>iw,glassFresnelRim:()=>Pf,glassGradient:()=>ow,glassLensUVs:()=>nw,glassRefrStrength:()=>$c,glassSpecular:()=>Mf,glassTint:()=>Sf,offsetUV:()=>Tf,sdfSpaceUV:()=>rw}),ra=.017453292519943295,tl=.4472135954999579,GG=2.3999632297286535,wf=9,Ya=[];for(let e=0;e(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=t.x,d=__tsover_sub(1,t.y),c=__tsover_mul(__tsover_sub(o.x,i),n),_=__tsover_sub(o.y,d),u=__tsover_mul(r,ra),m=H(u),p=Y(u),y=__tsover_add(__tsover_mul(c,m),__tsover_mul(_,p)),h=__tsover_sub(__tsover_mul(_,m),__tsover_mul(c,p));return l(__tsover_add(__tsover_div(y,s),.5),__tsover_add(__tsover_div(h,s),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"scale"},{type:"i",name:"rotation"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"centerX",[7,"center","x"]],[13,"centerY",[1,[5,"1"],"-",[7,"center","y"]]],[13,"dxAc",[1,[1,[7,"uv","x"],"-","centerX"],"*","aspect"]],[13,"dy",[1,[7,"uv","y"],"-","centerY"]],[13,"rotRad",[1,"rotation","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rdx",[1,[1,"dxAc","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dxAc","*","sinR"]]],[10,[6,"d.vec2f",[[1,[1,"rdx","/","scale"],"+",[5,"0.5"]],[1,[1,"rdy","/","scale"],"+",[5,"0.5"]]]]]]]},externals:{DEG_TO_RAD:()=>ra,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),Tf=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_add(t.x,s),__tsover_add(t.y,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+","ox"],[1,[7,"uv","y"],"+","oy"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),ow=v.fn([a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_div(__tsover_sub(s,t),.01),__tsover_div(__tsover_sub(r,t),.01))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdfRaw"},{type:"i",name:"sdfX"},{type:"i",name:"sdfY"}],body:[0,[[13,"eps",[5,"0.01"]],[10,[6,"d.vec2f",[[1,[1,"sdfX","-","sdfRaw"],"/","eps"],[1,[1,"sdfY","-","sdfRaw"],"/","eps"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),$c=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=b(__tsover_mul(s,.3),.005),n=$(__tsover_div(__tsover_mul(t,-1),o),0,1),i=re(0,1,n);return C(__tsover_mul(__tsover_sub(1,n),__tsover_sub(1,n)),i,r>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"thickness"},{type:"i",name:"volumetric"}],body:[0,[[13,"thicknessRange",[6,"std.max",[[1,"thickness","*",[5,"0.3"]],[5,"0.005"]]]],[13,"depthNorm",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","thicknessRange"],[5,"0"],[5,"1"]]]],[13,"vol",[6,"std.smoothstep",[[5,"0"],[5,"1"],"depthNorm"]]],[13,"flat",[1,[1,[5,"1"],"-","depthNorm"],"*",[1,[5,"1"],"-","depthNorm"]]],[10,[6,"std.select",["flat","vol",[1,"volumetric",">",[5,"0.5"]]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.smoothstep":()=>re,"std.select":()=>C}})&&e.f)({})),hl=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({lensUV:l,rUV:l,bUV:l}),"GlassLensUVs"),nw=v.fn([l,l,a,a,a,a,a,a,a,a,a,a],hl)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p)=>{"use gpu";let y=$c(__tsover_div(r,o),_,p),h=__tsover_mul(d,.15),g=b(be(__tsover_add(__tsover_mul(n,n),__tsover_mul(i,i))),1e-4),w=oe(a(1),__tsover_div(12,g)),S=__tsover_div(__tsover_mul(__tsover_mul(__tsover_mul(__tsover_mul(n,w),-1),h),y),m),T=__tsover_mul(__tsover_mul(__tsover_mul(__tsover_mul(i,w),-1),h),y),A=s.x,P=__tsover_sub(1,s.y),U=__tsover_add(A,__tsover_div(__tsover_sub(t.x,A),c)),D=__tsover_add(P,__tsover_div(__tsover_sub(t.y,P),c)),O=__tsover_add(U,S),L=__tsover_add(D,T),G=__tsover_mul(u,.06),W=__tsover_mul(S,G),K=__tsover_mul(T,G);return hl({lensUV:l(O,L),rUV:l(__tsover_add(O,W),__tsover_add(L,K)),bUV:l(__tsover_sub(O,W),__tsover_sub(L,K))})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"center"},{type:"i",name:"sdfRaw"},{type:"i",name:"scale"},{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"refraction"},{type:"i",name:"innerZoom"},{type:"i",name:"thickness"},{type:"i",name:"aberration"},{type:"i",name:"aspect"},{type:"i",name:"volumetric"}],body:[0,[[13,"sdf",[1,"sdfRaw","/","scale"]],[13,"refrStrength",[6,"glassRefrStrength",["sdf","thickness","volumetric"]]],[13,"refrScale",[1,"refraction","*",[5,"0.15"]]],[13,"slopeLen",[6,"std.max",[[6,"std.sqrt",[[1,[1,"gradX","*","gradX"],"+",[1,"gradY","*","gradY"]]]],[5,"0.0001"]]]],[13,"slopeScale",[6,"std.min",[[6,"d.f32",[[5,"1"]]],[1,[5,"12"],"/","slopeLen"]]]],[13,"offsetX",[1,[1,[1,[1,[1,"gradX","*","slopeScale"],"*",[4,"-",[5,"1"]]],"*","refrScale"],"*","refrStrength"],"/","aspect"]],[13,"offsetY",[1,[1,[1,[1,"gradY","*","slopeScale"],"*",[4,"-",[5,"1"]]],"*","refrScale"],"*","refrStrength"]],[13,"centerX",[7,"center","x"]],[13,"centerY",[1,[5,"1"],"-",[7,"center","y"]]],[13,"zoomedX",[1,"centerX","+",[1,[1,[7,"uv","x"],"-","centerX"],"/","innerZoom"]]],[13,"zoomedY",[1,"centerY","+",[1,[1,[7,"uv","y"],"-","centerY"],"/","innerZoom"]]],[13,"lensX",[1,"zoomedX","+","offsetX"]],[13,"lensY",[1,"zoomedY","+","offsetY"]],[13,"chrScale",[1,"aberration","*",[5,"0.06"]]],[13,"chrOffX",[1,"offsetX","*","chrScale"]],[13,"chrOffY",[1,"offsetY","*","chrScale"]],[10,[6,"GlassLensUVs",[[104,{lensUV:[6,"d.vec2f",["lensX","lensY"]],rUV:[6,"d.vec2f",[[1,"lensX","+","chrOffX"],[1,"lensY","+","chrOffY"]]],bUV:[6,"d.vec2f",[[1,"lensX","-","chrOffX"],[1,"lensY","-","chrOffY"]]]}]]]]]]},externals:{glassRefrStrength:()=>$c,"std.max":()=>b,"std.sqrt":()=>be,"std.min":()=>oe,"d.f32":()=>a,GlassLensUVs:()=>hl,"d.vec2f":()=>l}})&&e.f)({})),aw=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,2);return l(__tsover_mul(__tsover_div(r,t.x),n),__tsover_mul(__tsover_div(o,t.y),n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"viewportSize"},{type:"i",name:"blur"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[13,"m",[1,"blur","*",[5,"2"]]],[10,[6,"d.vec2f",[[1,[1,"ox","/",[7,"viewportSize","x"]],"*","m"],[1,[1,"oy","/",[7,"viewportSize","y"]],"*","m"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Sf=v.fn([f,f,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=f(.299,.587,.114),i=se(t,n),d=X(t,s,r),c=se(d,n);return X(d,d.mul(__tsover_div(i,b(c,1e-4))),C(a(0),a(1),o>.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"tintColor"},{type:"i",name:"tintIntensity"},{type:"i",name:"preserveLum"}],body:[0,[[13,"lumWeights",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]],[13,"origLum",[6,"std.dot",["rgb","lumWeights"]]],[13,"tinted",[6,"std.mix",["rgb","tintColor","tintIntensity"]]],[13,"tintedLum",[6,"std.dot",["tinted","lumWeights"]]],[13,"lumPreserved",[6,[7,"tinted","mul"],[[1,"origLum","/",[6,"std.max",["tintedLum",[5,"0.0001"]]]]]]],[13,"preserveFactor",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"preserveLum",">",[5,"0.5"]]]]],[10,[6,"std.mix",["tinted","lumPreserved","preserveFactor"]]]]]},externals:{"d.vec3f":()=>f,"std.dot":()=>se,"std.mix":()=>X,"std.max":()=>b,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})),Af=v.fn([a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=b(__tsover_mul(s,.5),.001),_=b(__tsover_mul(c,.0625),__tsover_mul(r,1.5)),u=__tsover_sub(t,r),m=__tsover_sub($(__tsover_div(__tsover_mul(u,-1),_),0,1),$(__tsover_div(__tsover_mul(t,-1),_),0,1)),p=H(__tsover_mul(i,ra)),y=Y(__tsover_mul(i,ra)),h=__tsover_add(__tsover_mul(o,p),__tsover_mul(n,y)),g=$(__tsover_add(__tsover_mul(h,.5),.5),0,1);return __tsover_mul(__tsover_mul(m,g),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"edgeSoftness"},{type:"i",name:"pxH"},{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"lightAngle"},{type:"i",name:"highlight"}],body:[0,[[13,"sharp",[6,"std.max",[[1,"edgeSoftness","*",[5,"0.5"]],[5,"0.001"]]]],[13,"w2",[6,"std.max",[[1,"sharp","*",[5,"0.0625"]],[1,"pxH","*",[5,"1.5"]]]]],[13,"sdfOuter",[1,"sdf","-","pxH"]],[13,"rb2base",[1,[6,"std.clamp",[[1,[1,"sdfOuter","*",[4,"-",[5,"1"]]],"/","w2"],[5,"0"],[5,"1"]]],"-",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","w2"],[5,"0"],[5,"1"]]]]],[13,"lx",[6,"std.cos",[[1,"lightAngle","*","DEG_TO_RAD"]]]],[13,"ly",[6,"std.sin",[[1,"lightAngle","*","DEG_TO_RAD"]]]],[13,"normalDotLight",[1,[1,"gradX","*","lx"],"+",[1,"gradY","*","ly"]]],[13,"lightFacing",[6,"std.clamp",[[1,[1,"normalDotLight","*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[10,[1,[1,"rb2base","*","lightFacing"],"*","highlight"]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.cos":()=>H,DEG_TO_RAD:()=>ra,"std.sin":()=>Y}})&&e.f)({})),Mf=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=H(__tsover_mul(r,ra)),c=Y(__tsover_mul(r,ra)),_=a(2),u=be(__tsover_add(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s)),__tsover_mul(_,_))),m=__tsover_div(t,u),p=__tsover_div(s,u),y=__tsover_div(_,u),h=__tsover_add(__tsover_add(__tsover_mul(m,__tsover_mul(d,tl)),__tsover_mul(p,__tsover_mul(c,tl))),__tsover_mul(y,__tsover_mul(2,tl))),g=$l(__tsover_sub(8,__tsover_mul(n,7)));return __tsover_mul(__tsover_mul(Ce($(h,0,1),g),o),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"lightAngle"},{type:"i",name:"highlight"},{type:"i",name:"highlightSoftness"},{type:"i",name:"refrStrength"}],body:[0,[[13,"lx",[6,"std.cos",[[1,"lightAngle","*","DEG_TO_RAD"]]]],[13,"ly",[6,"std.sin",[[1,"lightAngle","*","DEG_TO_RAD"]]]],[13,"nz",[6,"d.f32",[[5,"2"]]]],[13,"nLen",[6,"std.sqrt",[[1,[1,[1,"gradX","*","gradX"],"+",[1,"gradY","*","gradY"]],"+",[1,"nz","*","nz"]]]]],[13,"nx",[1,"gradX","/","nLen"]],[13,"ny",[1,"gradY","/","nLen"]],[13,"nnz",[1,"nz","/","nLen"]],[13,"nDotH",[1,[1,[1,"nx","*",[1,"lx","*","INV_HLEN_GLASS"]],"+",[1,"ny","*",[1,"ly","*","INV_HLEN_GLASS"]]],"+",[1,"nnz","*",[1,[5,"2"],"*","INV_HLEN_GLASS"]]]],[13,"shininess",[6,"std.exp2",[[1,[5,"8"],"-",[1,"highlightSoftness","*",[5,"7"]]]]]],[10,[1,[1,[6,"std.pow",[[6,"std.clamp",["nDotH",[5,"0"],[5,"1"]]],"shininess"]],"*","highlight"],"*","refrStrength"]]]]},externals:{"std.cos":()=>H,DEG_TO_RAD:()=>ra,"std.sin":()=>Y,"d.f32":()=>a,"std.sqrt":()=>be,INV_HLEN_GLASS:()=>tl,"std.exp2":()=>$l,"std.pow":()=>Ce,"std.clamp":()=>$}})&&e.f)({})),Pf=v.fn([a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_add(__tsover_mul(s,s),__tsover_mul(r,r)),_=__tsover_div(1,be(__tsover_add(c,1))),u=X(6,1.5,$(n,0,1)),m=__tsover_mul(__tsover_mul(__tsover_mul(Ce(__tsover_sub(1,_),u),o),2),i),p=b(__tsover_mul(n,.06),.001),y=$(__tsover_div(__tsover_mul(t,-1),p),0,1);return C(__tsover_mul(__tsover_mul(__tsover_mul(__tsover_sub(1,y),__tsover_sub(1,y)),o),i),m,d>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"fresnel"},{type:"i",name:"fresnelSoftness"},{type:"i",name:"rb1"},{type:"i",name:"volumetric"}],body:[0,[[13,"slopeSq",[1,[1,"gradX","*","gradX"],"+",[1,"gradY","*","gradY"]]],[13,"cosView",[1,[5,"1"],"/",[6,"std.sqrt",[[1,"slopeSq","+",[5,"1"]]]]]],[13,"exponent",[6,"std.mix",[[5,"6"],[5,"1.5"],[6,"std.clamp",["fresnelSoftness",[5,"0"],[5,"1"]]]]]],[13,"volRim",[1,[1,[1,[6,"std.pow",[[1,[5,"1"],"-","cosView"],"exponent"]],"*","fresnel"],"*",[5,"2"]],"*","rb1"]],[13,"fresnelWidth",[6,"std.max",[[1,"fresnelSoftness","*",[5,"0.06"]],[5,"0.001"]]]],[13,"fresnelDepth",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","fresnelWidth"],[5,"0"],[5,"1"]]]],[13,"flatRim",[1,[1,[1,[1,[5,"1"],"-","fresnelDepth"],"*",[1,[5,"1"],"-","fresnelDepth"]],"*","fresnel"],"*","rb1"]],[10,[6,"std.select",["flatRim","volRim",[1,"volumetric",">",[5,"0.5"]]]]]]]},externals:{"std.sqrt":()=>be,"std.mix":()=>X,"std.clamp":()=>$,"std.pow":()=>Ce,"std.max":()=>b,"std.select":()=>C}})&&e.f)({})),iw=v.fn([x,x,a,a,a,a,l,a,a,a,f,a,a,f,a,a,f,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p,y,h,g,w,S,T,A,P,U)=>{"use gpu";let D=b(__tsover_mul(c,.5),.001),O=__tsover_div(1,d.y),L=__tsover_div(r,o),G=b(__tsover_mul(D,.03125),__tsover_mul(O,1.5)),W=$(__tsover_div(__tsover_mul(L,-1),G),0,1),K=$c(L,w,U),Q=Af(L,c,O,n,i,_,u),te=Sf(f(s.x,s.y,s.z),S,T,A),ee=Mf(n,i,_,u,p,K),he=Pf(L,n,i,y,g,W,U),Ee=x(__tsover_add(__tsover_add(__tsover_add(te.x,__tsover_mul(m.x,Q)),__tsover_mul(m.x,ee)),__tsover_mul(h.x,he)),__tsover_add(__tsover_add(__tsover_add(te.y,__tsover_mul(m.y,Q)),__tsover_mul(m.y,ee)),__tsover_mul(h.y,he)),__tsover_add(__tsover_add(__tsover_add(te.z,__tsover_mul(m.z,Q)),__tsover_mul(m.z,ee)),__tsover_mul(h.z,he)),__tsover_add(s.w,Q)),Te=re(0,1,W),Ue=X(t,Ee,Te),Me=C(a(1),Te,P>.5);return x(Ue.x,Ue.y,Ue.z,__tsover_mul(Ue.w,Me))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"baseColor"},{type:"i",name:"blurred"},{type:"i",name:"sdfRaw"},{type:"i",name:"scale"},{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"viewportSize"},{type:"i",name:"edgeSoftness"},{type:"i",name:"lightAngle"},{type:"i",name:"highlight"},{type:"i",name:"highlightColor"},{type:"i",name:"highlightSoftness"},{type:"i",name:"fresnel"},{type:"i",name:"fresnelColor"},{type:"i",name:"fresnelSoftness"},{type:"i",name:"thickness"},{type:"i",name:"tintColor"},{type:"i",name:"tintIntensity"},{type:"i",name:"tintPreserveLuminosity"},{type:"i",name:"cutout"},{type:"i",name:"volumetric"}],body:[0,[[13,"sharp",[6,"std.max",[[1,"edgeSoftness","*",[5,"0.5"]],[5,"0.001"]]]],[13,"pxH",[1,[5,"1"],"/",[7,"viewportSize","y"]]],[13,"sdf",[1,"sdfRaw","/","scale"]],[13,"w1",[6,"std.max",[[1,"sharp","*",[5,"0.03125"]],[1,"pxH","*",[5,"1.5"]]]]],[13,"rb1",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","w1"],[5,"0"],[5,"1"]]]],[13,"refrStrength",[6,"glassRefrStrength",["sdf","thickness","volumetric"]]],[13,"rb2",[6,"glassBorderHighlight",["sdf","edgeSoftness","pxH","gradX","gradY","lightAngle","highlight"]]],[13,"blurredRgb",[6,"d.vec3f",[[7,"blurred","x"],[7,"blurred","y"],[7,"blurred","z"]]]],[13,"tintedRgb",[6,"glassTint",["blurredRgb","tintColor","tintIntensity","tintPreserveLuminosity"]]],[13,"specGlint",[6,"glassSpecular",["gradX","gradY","lightAngle","highlight","highlightSoftness","refrStrength"]]],[13,"fresnelRim",[6,"glassFresnelRim",["sdf","gradX","gradY","fresnel","fresnelSoftness","rb1","volumetric"]]],[13,"litR",[1,[1,[1,[7,"tintedRgb","x"],"+",[1,[7,"highlightColor","x"],"*","rb2"]],"+",[1,[7,"highlightColor","x"],"*","specGlint"]],"+",[1,[7,"fresnelColor","x"],"*","fresnelRim"]]],[13,"litG",[1,[1,[1,[7,"tintedRgb","y"],"+",[1,[7,"highlightColor","y"],"*","rb2"]],"+",[1,[7,"highlightColor","y"],"*","specGlint"]],"+",[1,[7,"fresnelColor","y"],"*","fresnelRim"]]],[13,"litB",[1,[1,[1,[7,"tintedRgb","z"],"+",[1,[7,"highlightColor","z"],"*","rb2"]],"+",[1,[7,"highlightColor","z"],"*","specGlint"]],"+",[1,[7,"fresnelColor","z"],"*","fresnelRim"]]],[13,"litA",[1,[7,"blurred","w"],"+","rb2"]],[13,"lighting",[6,"d.vec4f",["litR","litG","litB","litA"]]],[13,"transition",[6,"std.smoothstep",[[5,"0"],[5,"1"],"rb1"]]],[13,"composited",[6,"std.mix",["baseColor","lighting","transition"]]],[13,"cutoutAlpha",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"transition",[1,"cutout",">",[5,"0.5"]]]]],[10,[6,"d.vec4f",[[7,"composited","x"],[7,"composited","y"],[7,"composited","z"],[1,[7,"composited","w"],"*","cutoutAlpha"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,glassRefrStrength:()=>$c,glassBorderHighlight:()=>Af,"d.vec3f":()=>f,glassTint:()=>Sf,glassSpecular:()=>Mf,glassFresnelRim:()=>Pf,"d.vec4f":()=>x,"std.smoothstep":()=>re,"std.mix":()=>X,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({}));function YG(e,t,s,r,o){let{uniforms:n,propValues:i,ctx:d}=e,c=o?.volumetric??!1,_=o?.bakedGradients??!1,u=vt(c?1:0),m=ur(we(rw,"sdfSpaceUV",[n.center,n.scale,n.rotation,d.uv,d.aspect]),"glassSdfUV"),p=ur(t(m),"glassSurf"),y=p.member("r"),h,g;if(_)h=p.member("g"),g=p.member("b");else{let Q=t(we(Tf,"offsetUV",[m,vt(.01),vt(0)])),te=t(we(Tf,"offsetUV",[m,vt(0),vt(.01)])),ee=ur(we(ow,"glassGradient",[y,Q.member("r"),te.member("r")]),"glassGrad");h=ee.member("x"),g=ee.member("y")}let w=ur(we(nw,"glassLensUVs",[d.uv,n.center,y,n.scale,h,g,n.refraction,n.innerZoom,n.thickness,n.aberration,d.aspect,u]),"glassLens"),S=w.member("lensUV"),T=w.member("rUV"),A=w.member("bUV"),P=i.blur,U=typeof P=="number"?P>0:!0,D=i.aberration,O=typeof D=="number"?D>0:!0,L=(Q,te,ee,he)=>Q.sample(te.add(we(aw,"glassBlurOffset",[d.viewportSize,n.blur,vt(ee),vt(he)]))),G=(Q,te)=>{let ee=L(Q,te,Ya[0][0],Ya[0][1]);for(let he=1;he(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(t.x,t.y),o=__tsover_div(s.x,s.y),n=b(__tsover_div(o,r),1);return l(__tsover_mul(__tsover_div(r,o),n),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dims"},{type:"i",name:"vp"}],body:[0,[[13,"aspect",[1,[7,"dims","x"],"/",[7,"dims","y"]]],[13,"viewportAspect",[1,[7,"vp","x"],"/",[7,"vp","y"]]],[13,"coverScale",[6,"std.max",[[1,"viewportAspect","/","aspect"],[5,"1"]]]],[10,[6,"d.vec2f",[[1,[1,"aspect","/","viewportAspect"],"*","coverScale"],"coverScale"]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),XW=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(t.x,t.y),o=__tsover_div(s.x,s.y),n=oe(__tsover_div(o,r),1);return l(__tsover_mul(__tsover_div(r,o),n),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dims"},{type:"i",name:"vp"}],body:[0,[[13,"aspect",[1,[7,"dims","x"],"/",[7,"dims","y"]]],[13,"viewportAspect",[1,[7,"vp","x"],"/",[7,"vp","y"]]],[13,"containScale",[6,"std.min",[[1,"viewportAspect","/","aspect"],[5,"1"]]]],[10,[6,"d.vec2f",[[1,[1,"aspect","/","viewportAspect"],"*","containScale"],"containScale"]]]]]},externals:{"std.min":()=>oe,"d.vec2f":()=>l}})&&e.f)({})),HW=v.fn([],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(()=>{"use gpu";return l(1,1)}),{v:2,name:void 0,ast:{params:[],body:[0,[[10,[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),jW=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(t.x,t.y),o=__tsover_div(s.x,s.y),n=oe(oe(__tsover_div(o,r),1),oe(__tsover_div(s.x,t.x),__tsover_div(s.y,t.y)));return l(__tsover_mul(__tsover_div(r,o),n),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dims"},{type:"i",name:"vp"}],body:[0,[[13,"aspect",[1,[7,"dims","x"],"/",[7,"dims","y"]]],[13,"viewportAspect",[1,[7,"vp","x"],"/",[7,"vp","y"]]],[13,"containScale",[6,"std.min",[[1,"viewportAspect","/","aspect"],[5,"1"]]]],[13,"naturalScale",[6,"std.min",[[1,[7,"vp","x"],"/",[7,"dims","x"]],[1,[7,"vp","y"],"/",[7,"dims","y"]]]]],[13,"scaleDownScale",[6,"std.min",["containScale","naturalScale"]]],[10,[6,"d.vec2f",[[1,[1,"aspect","/","viewportAspect"],"*","scaleDownScale"],"scaleDownScale"]]]]]},externals:{"std.min":()=>oe,"d.vec2f":()=>l}})&&e.f)({})),KW=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(t.x,t.y),o=__tsover_div(s.x,s.y),n=oe(__tsover_div(s.x,t.x),__tsover_div(s.y,t.y));return l(__tsover_mul(__tsover_div(r,o),n),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dims"},{type:"i",name:"vp"}],body:[0,[[13,"aspect",[1,[7,"dims","x"],"/",[7,"dims","y"]]],[13,"viewportAspect",[1,[7,"vp","x"],"/",[7,"vp","y"]]],[13,"noneScale",[6,"std.min",[[1,[7,"vp","x"],"/",[7,"dims","x"]],[1,[7,"vp","y"],"/",[7,"dims","y"]]]]],[10,[6,"d.vec2f",[[1,[1,"aspect","/","viewportAspect"],"*","noneScale"],"noneScale"]]]]]},externals:{"std.min":()=>oe,"d.vec2f":()=>l}})&&e.f)({})),ZW=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.sub(l(.5,.5));return l(__tsover_div(r.x,s.x),__tsover_div(r.y,s.y)).add(l(.5,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"uvScale"}],body:[0,[[13,"centeredUV",[6,[7,"uv","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"scaledUV",[6,"d.vec2f",[[1,[7,"centeredUV","x"],"/",[7,"uvScale","x"]],[1,[7,"centeredUV","y"],"/",[7,"uvScale","y"]]]]],[10,[6,[7,"scaledUV","add"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),QW=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(C(t.x,__tsover_sub(1,t.x),s>0),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"mirror"}],body:[0,[[13,"mirroredX",[6,"std.select",[[7,"uv","x"],[1,[5,"1"],"-",[7,"uv","x"]],[1,"mirror",">",[5,"0"]]]]],[10,[6,"d.vec2f",["mirroredX",[7,"uv","y"]]]]]]},externals:{"std.select":()=>C,"d.vec2f":()=>l}})&&e.f)({})),JW=v.fn([x,l],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=y3(f(t.x,t.y,t.z)),o=s.x<0||s.x>1||s.y<0||s.y>1,n=C(t.w,0,o);return x(r.x,r.y,r.z,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"}],body:[0,[[13,"linear",[6,"srgbToLinear",[[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]]]],[13,"outOfBounds",[3,[3,[3,[1,[7,"uv","x"],"<",[5,"0"]],"||",[1,[7,"uv","x"],">",[5,"1"]]],"||",[1,[7,"uv","y"],"<",[5,"0"]]],"||",[1,[7,"uv","y"],">",[5,"1"]]]],[13,"alpha",[6,"std.select",[[7,"color","w"],[5,"0"],"outOfBounds"]]],[10,[6,"d.vec4f",[[7,"linear","x"],[7,"linear","y"],[7,"linear","z"],"alpha"]]]]]},externals:{srgbToLinear:()=>y3,"d.vec3f":()=>f,"std.select":()=>C,"d.vec4f":()=>x}})&&e.f)({}));var eO=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=z(s),i=__tsover_sub(r,t),d=o,c=__tsover_mul(r,2),_=$(__tsover_div(__tsover_add(__tsover_mul(n,d),__tsover_mul(i,c)),b(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c)),1e-9)),0,1),u=__tsover_sub(n,__tsover_mul(d,_)),m=__tsover_sub(i,__tsover_mul(c,_)),p=__tsover_sub(n,__tsover_mul(d,$(__tsover_div(n,b(d,1e-9)),0,1))),y=__tsover_sub(i,c),h=oe(__tsover_add(__tsover_mul(u,u),__tsover_mul(m,m)),__tsover_add(__tsover_mul(p,p),__tsover_mul(y,y))),g=oe(__tsover_sub(__tsover_mul(i,d),__tsover_mul(n,c)),__tsover_sub(c,i))>0;return C(be(h),-be(h),g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"n"},{type:"i",name:"hl"},{type:"i",name:"hw"}],body:[0,[[13,"px",[6,"std.abs",["n"]]],[13,"py",[1,"hl","-","t"]],[13,"qx","hw"],[13,"qy",[1,"hl","*",[5,"2"]]],[13,"k",[6,"std.clamp",[[1,[1,[1,"px","*","qx"],"+",[1,"py","*","qy"]],"/",[6,"std.max",[[1,[1,"qx","*","qx"],"+",[1,"qy","*","qy"]],[5,"1e-9"]]]],[5,"0"],[5,"1"]]]],[13,"ax",[1,"px","-",[1,"qx","*","k"]]],[13,"ay",[1,"py","-",[1,"qy","*","k"]]],[13,"bx",[1,"px","-",[1,"qx","*",[6,"std.clamp",[[1,"px","/",[6,"std.max",["qx",[5,"1e-9"]]]],[5,"0"],[5,"1"]]]]]],[13,"by",[1,"py","-","qy"]],[13,"dSq",[6,"std.min",[[1,[1,"ax","*","ax"],"+",[1,"ay","*","ay"]],[1,[1,"bx","*","bx"],"+",[1,"by","*","by"]]]]],[13,"sA",[1,[1,"py","*","qx"],"-",[1,"px","*","qy"]]],[13,"sB",[1,"qy","-","py"]],[13,"inside",[1,[6,"std.min",["sA","sB"]],">",[5,"0"]]],[10,[6,"std.select",[[6,"std.sqrt",["dSq"]],[4,"-",[6,"std.sqrt",["dSq"]]],"inside"]]]]]},externals:{"std.abs":()=>z,"std.clamp":()=>$,"std.max":()=>b,"std.min":()=>oe,"std.select":()=>C,"std.sqrt":()=>be}})&&e.f)({})).$name("agentArrowSdf"),tO=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(t,$(t,-r,r));return __tsover_sub(be(__tsover_add(__tsover_mul(n,n),__tsover_mul(s,s))),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"n"},{type:"i",name:"hl"},{type:"i",name:"r"}],body:[0,[[13,"tc",[1,"t","-",[6,"std.clamp",["t",[4,"-","hl"],"hl"]]]],[10,[1,[6,"std.sqrt",[[1,[1,"tc","*","tc"],"+",[1,"n","*","n"]]]],"-","r"]]]]},externals:{"std.clamp":()=>$,"std.sqrt":()=>be}})&&e.f)({})).$name("agentCapsuleSdf"),sO=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(z(t),r),i=__tsover_sub(z(s),o),d=b(n,0),c=b(i,0);return __tsover_add(be(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c))),oe(b(n,i),0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"n"},{type:"i",name:"hl"},{type:"i",name:"hw"}],body:[0,[[13,"qx",[1,[6,"std.abs",["t"]],"-","hl"]],[13,"qy",[1,[6,"std.abs",["n"]],"-","hw"]],[13,"ox",[6,"std.max",["qx",[5,"0"]]]],[13,"oy",[6,"std.max",["qy",[5,"0"]]]],[10,[1,[6,"std.sqrt",[[1,[1,"ox","*","ox"],"+",[1,"oy","*","oy"]]]],"+",[6,"std.min",[[6,"std.max",["qx","qy"]],[5,"0"]]]]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.sqrt":()=>be,"std.min":()=>oe}})&&e.f)({})).$name("agentBoxSdf");var rO=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=j(t),i=C(l(0,0),t.div(b(n,1e-5)).mul(r),n>1e-5).sub(s),d=j(i);return C(i,i.div(b(d,1e-5)).mul(o),d>o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dir"},{type:"i",name:"vel"},{type:"i",name:"maxSpeed"},{type:"i",name:"maxForce"}],body:[0,[[13,"len",[6,"std.length",["dir"]]],[13,"desired",[6,"std.select",[[6,"d.vec2f",[[5,"0"],[5,"0"]]],[6,[7,[6,[7,"dir","div"],[[6,"std.max",["len",[5,"0.00001"]]]]],"mul"],["maxSpeed"]],[1,"len",">",[5,"0.00001"]]]]],[13,"steer",[6,[7,"desired","sub"],["vel"]]],[13,"sl",[6,"std.length",["steer"]]],[10,[6,"std.select",["steer",[6,[7,[6,[7,"steer","div"],[[6,"std.max",["sl",[5,"0.00001"]]]]],"mul"],["maxForce"]],[1,"sl",">","maxForce"]]]]]]},externals:{"std.length":()=>j,"std.select":()=>C,"d.vec2f":()=>l,"std.max":()=>b}})&&e.f)({})).$name("agentReynoldsSteer"),oO=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(.82,__tsover_mul(Gs(__tsover_add(__tsover_mul(t,.61803),.13)),.4))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fi"}],body:[0,[[10,[1,[5,"0.82"],"+",[1,[6,"noise.hash11",[[1,[1,"fi","*",[5,"0.61803"]],"+",[5,"0.13"]]]],"*",[5,"0.4"]]]]]]},externals:{"noise.hash11":()=>Gs}})&&e.f)({})).$name("agentCruiseVariation"),nO=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(.55,__tsover_mul(Gs(__tsover_add(__tsover_mul(t,1.91),2.53)),.7))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fi"}],body:[0,[[10,[1,[5,"0.55"],"+",[1,[6,"noise.hash11",[[1,[1,"fi","*",[5,"1.91"]],"+",[5,"2.53"]]]],"*",[5,"0.7"]]]]]]},externals:{"noise.hash11":()=>Gs}})&&e.f)({})).$name("agentPresenceVariation"),aO=v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=$(t.w,0,1),o=__tsover_add(r,__tsover_mul(s.w,__tsover_sub(1,r))),n=t.xyz.mul(r).add(s.xyz.mul(__tsover_mul(s.w,__tsover_sub(1,r)))).div(b(o,1e-4));return x(n.x,n.y,n.z,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"c"}],body:[0,[[13,"pa",[6,"std.clamp",[[7,"p","w"],[5,"0"],[5,"1"]]]],[13,"outA",[1,"pa","+",[1,[7,"c","w"],"*",[1,[5,"1"],"-","pa"]]]],[13,"rgb",[6,[7,[6,[7,[6,[7,[7,"p","xyz"],"mul"],["pa"]],"add"],[[6,[7,[7,"c","xyz"],"mul"],[[1,[7,"c","w"],"*",[1,[5,"1"],"-","pa"]]]]]],"div"],[[6,"std.max",["outA",[5,"0.0001"]]]]]],[10,[6,"d.vec4f",[[7,"rgb","x"],[7,"rgb","y"],[7,"rgb","z"],"outA"]]]]]},externals:{"std.clamp":()=>$,"std.max":()=>b,"d.vec4f":()=>x}})&&e.f)({})).$name("agentStraightAlphaOver"),iO=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=se(s,t);return C(t.mul(__tsover_mul(2,o)).sub(s),t,r>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rhat"},{type:"i",name:"axis"},{type:"i",name:"fieldType"}],body:[0,[[13,"mdotr",[6,"std.dot",["axis","rhat"]]],[13,"dipoleB",[6,[7,[6,[7,"rhat","mul"],[[1,[5,"2"],"*","mdotr"]]],"sub"],["axis"]]],[10,[6,"std.select",["dipoleB","rhat",[1,"fieldType",">",[5,"0.5"]]]]]]]},externals:{"std.dot":()=>se,"std.select":()=>C}})&&e.f)({})).$name("agentDipoleOrRadialField"),dO=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_mul(t,Y(__tsover_mul(2,__tsover_sub(s,r))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"k"},{type:"i",name:"target"},{type:"i",name:"theta"}],body:[0,[[10,[1,"k","*",[6,"std.sin",[[1,[5,"2"],"*",[1,"target","-","theta"]]]]]]]]},externals:{"std.sin":()=>Y}})&&e.f)({})).$name("agentNematicTorque"),cO=v.fn([x,a,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(r.w,o),i=s>=n,d=b(s,n),c=C(f(r.x,r.y,r.z),f(t.x,t.y,t.z),i);return x(c.x,c.y,c.z,d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"col"},{type:"i",name:"curA"},{type:"i",name:"prev"},{type:"i",name:"trails"}],body:[0,[[13,"prevA",[1,[7,"prev","w"],"*","trails"]],[13,"win",[1,"curA",">=","prevA"]],[13,"outA",[6,"std.max",["curA","prevA"]]],[13,"outRGB",[6,"std.select",[[6,"d.vec3f",[[7,"prev","x"],[7,"prev","y"],[7,"prev","z"]]],[6,"d.vec3f",[[7,"col","x"],[7,"col","y"],[7,"col","z"]]],"win"]]],[10,[6,"d.vec4f",[[7,"outRGB","x"],[7,"outRGB","y"],[7,"outRGB","z"],"outA"]]]]]},externals:{"std.max":()=>b,"std.select":()=>C,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})).$name("agentTrailMaxDecay"),_O=v.fn([f,x,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return f(__tsover_add(__tsover_add(__tsover_mul(s.x,t.x),__tsover_mul(s.y,t.y)),__tsover_mul(s.z,t.z)),__tsover_add(__tsover_add(__tsover_mul(r.x,t.x),__tsover_mul(r.y,t.y)),__tsover_mul(r.z,t.z)),__tsover_add(__tsover_add(__tsover_mul(o.x,t.x),__tsover_mul(o.y,t.y)),__tsover_mul(o.z,t.z)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pw"},{type:"i",name:"rowX"},{type:"i",name:"rowY"},{type:"i",name:"rowZ"}],body:[0,[[10,[6,"d.vec3f",[[1,[1,[1,[7,"rowX","x"],"*",[7,"pw","x"]],"+",[1,[7,"rowX","y"],"*",[7,"pw","y"]]],"+",[1,[7,"rowX","z"],"*",[7,"pw","z"]]],[1,[1,[1,[7,"rowY","x"],"*",[7,"pw","x"]],"+",[1,[7,"rowY","y"],"*",[7,"pw","y"]]],"+",[1,[7,"rowY","z"],"*",[7,"pw","z"]]],[1,[1,[1,[7,"rowZ","x"],"*",[7,"pw","x"]],"+",[1,[7,"rowZ","y"],"*",[7,"pw","y"]]],"+",[1,[7,"rowZ","z"],"*",[7,"pw","z"]]]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})).$name("agentApplyCameraRows"),lO=v.fn([f,x,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return f(__tsover_add(__tsover_add(__tsover_mul(s.x,t.x),__tsover_mul(r.x,t.y)),__tsover_mul(o.x,t.z)),__tsover_add(__tsover_add(__tsover_mul(s.y,t.x),__tsover_mul(r.y,t.y)),__tsover_mul(o.y,t.z)),__tsover_add(__tsover_add(__tsover_mul(s.z,t.x),__tsover_mul(r.z,t.y)),__tsover_mul(o.z,t.z)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"rowX"},{type:"i",name:"rowY"},{type:"i",name:"rowZ"}],body:[0,[[10,[6,"d.vec3f",[[1,[1,[1,[7,"rowX","x"],"*",[7,"v","x"]],"+",[1,[7,"rowY","x"],"*",[7,"v","y"]]],"+",[1,[7,"rowZ","x"],"*",[7,"v","z"]]],[1,[1,[1,[7,"rowX","y"],"*",[7,"v","x"]],"+",[1,[7,"rowY","y"],"*",[7,"v","y"]]],"+",[1,[7,"rowZ","y"],"*",[7,"v","z"]]],[1,[1,[1,[7,"rowX","z"],"*",[7,"v","x"]],"+",[1,[7,"rowY","z"],"*",[7,"v","y"]]],"+",[1,[7,"rowZ","z"],"*",[7,"v","z"]]]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})).$name("agentApplyCameraRowsT"),jm=ut({x0:R,x1:R,y0:R,y1:R,fx:a,fy:a}).$name("AgentBilinearFrame"),uO=v.fn([l,l],jm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_sub(__tsover_mul(t.x,s.x),.5),o=__tsover_sub(__tsover_mul(t.y,s.y),.5),n=q(r),i=q(o);return jm({x0:R($(n,a(0),__tsover_sub(s.x,1))),x1:R($(__tsover_add(n,1),a(0),__tsover_sub(s.x,1))),y0:R($(i,a(0),__tsover_sub(s.y,1))),y1:R($(__tsover_add(i,1),a(0),__tsover_sub(s.y,1))),fx:__tsover_sub(r,n),fy:__tsover_sub(o,i)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv01"},{type:"i",name:"dims"}],body:[0,[[13,"cu",[1,[1,[7,"uv01","x"],"*",[7,"dims","x"]],"-",[5,"0.5"]]],[13,"cv",[1,[1,[7,"uv01","y"],"*",[7,"dims","y"]],"-",[5,"0.5"]]],[13,"cx0",[6,"std.floor",["cu"]]],[13,"cy0",[6,"std.floor",["cv"]]],[10,[6,"BilinearFrame",[[104,{x0:[6,"d.u32",[[6,"std.clamp",["cx0",[6,"d.f32",[[5,"0"]]],[1,[7,"dims","x"],"-",[5,"1"]]]]]],x1:[6,"d.u32",[[6,"std.clamp",[[1,"cx0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],[1,[7,"dims","x"],"-",[5,"1"]]]]]],y0:[6,"d.u32",[[6,"std.clamp",["cy0",[6,"d.f32",[[5,"0"]]],[1,[7,"dims","y"],"-",[5,"1"]]]]]],y1:[6,"d.u32",[[6,"std.clamp",[[1,"cy0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],[1,[7,"dims","y"],"-",[5,"1"]]]]]],fx:[1,"cu","-","cx0"],fy:[1,"cv","-","cy0"]}]]]]]]},externals:{"std.floor":()=>q,BilinearFrame:()=>jm,"d.u32":()=>R,"std.clamp":()=>$,"d.f32":()=>a}})&&e.f)({})).$name("agentBilinearTexelFrame"),Eb=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(t,t);return ct(__tsover_mul(__tsover_div(r,b(s,1e-5)),-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"delta"},{type:"i",name:"radSq"}],body:[0,[[13,"dl",[6,"std.dot",["delta","delta"]]],[10,[6,"std.exp",[[1,[1,"dl","/",[6,"std.max",["radSq",[5,"0.00001"]]]],"*",[4,"-",[5,"1"]]]]]]]]},externals:{"std.dot":()=>se,"std.exp":()=>ct,"std.max":()=>b}})&&e.f)({})).$name("agentCursorFalloff"),mO=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=b(j(t),1e-4);return t.div(o).mul(__tsover_mul(Eb(t,s),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"delta"},{type:"i",name:"radSq"},{type:"i",name:"force"}],body:[0,[[13,"dl",[6,"std.max",[[6,"std.length",["delta"]],[5,"0.0001"]]]],[10,[6,[7,[6,[7,"delta","div"],["dl"]],"mul"],[[1,[6,"cursorFalloff",["delta","radSq"]],"*","force"]]]]]]},externals:{"std.max":()=>b,"std.length":()=>j,cursorFalloff:()=>Eb}})&&e.f)({})).$name("agentCursorMagnet");var Rn=e=>e;function dw(){return{default:null,transform:Rn,compileTimeWhen:(e,t)=>{let s=r=>{let o=Array.isArray(r)?r.length:0;return o>1?o:0};return s(e)!==s(t)},description:"Multi-stop gradient colors (overrides Color A / Color B when set)",ui:{type:"gradient-stops",label:"Colors",group:"Colors"}}}var Ka=e=>e;function LG(e){let t=e?.ui;return!t||t.type!=="list"||!t.item||typeof t.maxItems!="number"?null:{item:t.item,maxItems:t.maxItems,minItems:t.minItems,itemLabel:t.itemLabel}}var dy=(e,t)=>`${e}_${t}`,cy=e=>`${e}Count`;function _1(e){return!!e&&typeof e=="object"&&e.type==="mouse-position"}var cw=(e,t,s)=>`${e}.${t}.${s}`;function _y(e){let t=/^([^.]+)\.(\d+)\.([^.]+)$/.exec(e);return t?{prop:t[1],index:Number(t[2]),field:t[3]}:null}function ly(e,t,s){return(Array.isArray(e)?e.slice(0,t.maxItems):[]).map((r,o)=>{let n=r&&typeof r=="object"?r:{},i={};for(let[d,c]of Object.entries(t.item)){let _=n[d]===void 0||n[d]===null?c.default:n[d];i[d]=IG(c.kind,_,o,d,s)}return i})}function IG(e,t,s,r,o){switch(e){case"position":{if(_1(t)){let i=o.drivenPosition?.(s,r,t);return i||{x:typeof t.x=="number"?t.x:t.originX??.5,y:1-(typeof t.y=="number"?t.y:t.originY??.5)}}let n=ho(t);return{x:n.x,y:n.y}}case"color":return o.color(typeof t=="string"?t:"#ffffff");case"boolean":return t?1:-1;default:return typeof t=="number"?t:0}}function DG(e){return typeof e=="number"?[e,0,0,0]:Array.isArray(e)?e:[e.x,e.y,0,0]}function uy(e,t){let s={};for(let r of Object.keys(t.item)){let o=new Array(t.maxItems*4).fill(0);for(let n=0;ns&&typeof s=="object"&&Object.entries(t.item).some(([r,o])=>o.kind==="position"&&_1(s[r]))):!1}var _w="p3-linear";function lw(e){_w=e;try{N0(e)}catch{}}function FG(e){try{let t=new Sr(e),s=_w==="srgb"?"srgb-linear":"p3-linear",r=t.to(s).coords,o=Number(t.alpha);return{r:Number.isFinite(r?.[0])?r[0]:0,g:Number.isFinite(r?.[1])?r[1]:0,b:Number.isFinite(r?.[2])?r[2]:0,a:Number.isFinite(o)?o:1}}catch{return{r:0,g:0,b:0,a:0}}}function uw(e){let{r:t,g:s,b:r,a:o}=FG(e);return x(t,s,r,o)}function Kc(e){let t=uw(e);return[t.x,t.y,t.z,t.w]}function kb(e,t){if(typeof e=="number")return e;if(typeof e=="object"&&e!==null)return e.value;let s=e.toLowerCase().trim();if(t){if(s==="top")return 0;if(s==="bottom")return 1;if(s==="center")return .5}else{if(s==="left")return 0;if(s==="right")return 1;if(s==="center")return .5}return console.warn(`Invalid position value: ${e}. Defaulting to center.`),.5}function BG(e){let t=.5,s=.5;if(typeof e=="string"){let r=e.toLowerCase().trim().split(/\s+/);r.includes("left")?t=0:r.includes("right")?t=1:(r.includes("center")||r.length===1&&(r[0]==="top"||r[0]==="bottom"))&&(t=.5),r.includes("top")?s=0:r.includes("bottom")?s=1:(r.includes("center")||r.length===1&&(r[0]==="left"||r[0]==="right"))&&(s=.5),r.length===1&&r[0]==="center"&&(t=.5,s=.5)}else typeof e=="object"&&e!==null?(t=kb(e.x,!1),s=kb(e.y,!0)):console.warn(`Invalid position value provided: ${e}. Defaulting to center.`);return l(t,1-s)}function mw(e){if(e)return e===ts?uw:e===ho?BG:e===Rn?Rn:e===Ka?Ka:e}function py(e,t){e>0,t>0}function Zc(e){return e!=null&&typeof e=="object"&&typeof e.value=="number"&&(e.unit==="px"||e.unit==="uv")}function fy(e){if(!e)return;let t;for(let[s,r]of Object.entries(e)){let o=r?.ui?.dimensional;(o==="canvas-height"||o==="half-canvas-height"||o==="canvas-width"||o==="count-canvas-height")&&(t??=new Map).set(s,o)}return t}function hd(e,t){let s=e?.propBindings,r=new Set,o=new Map;if(s)for(let n of["x","y","width","height"]){let i=s[n];i&&(i.as==="position-x"||i.as==="position-y"?r.add(i.prop):(i.as==="canvas-height"||i.as==="half-canvas-height")&&o.set(i.prop,i.as))}if(t)for(let[n,i]of t)o.set(n,i);return r.size>0||o.size>0?{positionProps:r,sizeProps:o}:null}var WG=e=>({ox:e.includes("left")?"start":e.includes("right")?"end":"center",oy:e.includes("top")?"start":e.includes("bottom")?"end":"center"}),OG=(e,t,s)=>t==="start"?e+s:t==="end"?e-s:e;function Uc(e,t,s,r){let o=(n,i)=>Zc(n)?n.unit==="px"?n.value:n.value*i:typeof n=="number"?n*i:0;return e.as==="canvas-height"?o(t,r):e.as==="half-canvas-height"?o(t,2*r):e.as==="canvas-width"?o(t,s):0}function vy(e,t,s,r){if(e?.computeBounds){let d=e.computeBounds(t,s,r);return{hwx:s>0?d.widthPx/s/2:0,hhy:r>0?d.heightPx/r/2:0}}let o=e?.propBindings,n=0,i=0;return o?.width&&s>0&&(n=Uc(o.width,t[o.width.prop],s,r)/(2*s)),o?.height&&r>0&&(i=Uc(o.height,t[o.height.prop],s,r)/(2*r)),{hwx:n,hhy:i}}function $b(e,t,s,r){let o;if(Zc(e))if(e.unit==="px"){let n=t>0?e.value/t:0;o=s==="end"?1-n:s==="center"?.5+n:n}else o=e.value;else if(typeof e=="number")o=e;else return e;return OG(o,s,r)}function VG(e,t,s,r){return e.unit!=="px"?e.value:t==="canvas-width"?s>0?e.value/s:e.value:r<=0?e.value:t==="count-canvas-height"?e.value>0?r/e.value:e.value:t==="canvas-height"?e.value/r:e.value/(2*r)}function Qc(e,t,s,r,o,n,i,d){let c=hd(e,i);if(!c)return s;let{ox:_,oy:u}=WG(r);if(c.positionProps.has(t))return!s||typeof s!="object"?s:{...s,x:$b(s.x,o,_,d?.hwx??0),y:$b(s.y,n,u,d?.hhy??0)};let m=c.sizeProps.get(t);return m&&Zc(s)?VG(s,m,o,n):s}function yy(e,t,s){let r=hd(e,s);return r?r.positionProps.has(t)||r.sizeProps.has(t):!1}function Km(e){let{body:t,build:s,args:r,compose:o,identity:n,missingChildMessage:i,setup:d,...c}=e;if(!t&&!s)throw new Error(`definePointwiseFilter(${e.name}): needs a body or a build`);return{...c,requiresChild:!0,fragment:u=>{if(!u.childNode)return i&&console.error(i),xr;let m=u;if(hy(n,m))return m.childNode;d?.(m);let p;if(s)p=s(m);else{let{fn:y,hint:h}=typeof t=="function"?t(m.propValues):t;p=we(y,h,[m.childNode,...r?.(m)??[]])}return o?o(p,m):p}}}function hy(e,t){if(!e)return!1;for(let s of e.props)if(t.getMapInfo?.(s))return!1;return e.when(t.propValues)}function Ub(e){let{build:t,resultAlpha:s,identity:r,missingChildMessage:o,setup:n,...i}=e;return{...i,requiresRTT:!0,requiresChild:!0,fragment:c=>{if(!c.childNode)return o&&console.error(o),xr;let _=c.convertToTexture(c.childNode),u=y=>we(dn,"unpremultiplyAlpha",[_.sample(y)]),m={...c,childNode:c.childNode,texture:_,sampleStraight:u};if(hy(r,c))return u(c.ctx.uv);n?.(m);let p=t(m);return s==="straight"?p:we(dn,"unpremultiplyAlpha",[p])}}}function Cb(e){return"uv"in e?e:{uv:e}}function NG(e,t={}){let s=typeof e=="function"?e:()=>e,r=t.edges??"prop",o=n=>r==="none"?null:typeof r=="number"?r:n.edges??0;return{fragment:n=>{let{childNode:i,ctx:d,convertToTexture:c,propValues:_}=n;if(!i)return t.requireChildMessage&&console.error(t.requireChildMessage),xr;let u=c(i),m=o(_),p=Cb(s(n).map(d.uv,d.aspect)),y=m===null?u.sample(p.uv):t.resample==="bilinear"?Gi(p.uv,h=>u.sample(h),m):lz(u,p.uv,m);return we(dn,"unpremultiplyAlpha",[p.coverage?Ws(y.member("rgb"),y.member("a").mul(p.coverage)):y])},uvRemap:n=>{if(t.uvRemapIdentityWhen?.(n))return{uv:n.uv,mask:n.mask};let i=o(n.propValues),d=Cb(s(n).map(n.uv,n.aspect)),c=i===null?{uv:d.uv,mask:n.mask}:_z(d.uv,n.mask,i);return d.coverage?{uv:c.uv,mask:c.mask.mul(d.coverage)}:c}}}function qG(e,t){let s={type:"position",label:t?.label??"Center",group:t?.group??"Position"};return t?.units&&(s.units=[...t.units]),{default:t?.default??{x:.5,y:.5},transform:ho,description:e,ui:s}}function XG(){return{default:"center",description:"Reference edge the center position is measured from (center default). Lets you pin the shape relative to a corner or the canvas centre.",ui:{type:"origin",label:"Origin",group:"Position"}}}function HG(e){return{softness:{default:0,description:e?.softnessDescription??"Edge softness for antialiasing",ui:{type:"range",min:0,max:.1,step:.001,label:"Softness",group:"Effect"}},strokeThickness:{default:0,description:"Stroke thickness. Zero means no stroke.",ui:{type:"range",min:0,max:e?.strokeThicknessMax??.2,step:.005,label:"Stroke Thickness",group:"Stroke"}},strokeColor:{default:"#000000",transform:ts,description:e?.strokeColorDescription??"Color of the stroke outline",ui:{type:"color",label:"Stroke Color",group:"Colors"}},strokePosition:{default:"center",transform:q0,description:e?.strokePositionDescription??"Position of the stroke relative to the shape edge",ui:{type:"select",options:[{label:"Outside",value:"outside"},{label:"Center",value:"center"},{label:"Inside",value:"inside"}],label:"Stroke Position",group:"Stroke"}}}}function jG(e){return{default:"linear",transform:ir,compileTime:!0,description:e?.description??"Color space for blending fill and stroke colors",ui:{type:"select",options:Ho,label:"Color Blending",group:"Colors"}}}var KG={refraction:{default:.5,description:"How strongly the shell bends what's seen through or inside it",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Refraction",group:"Glass"}},dispersion:{default:.25,description:"Spectral splitting at the shell \u2014 rainbow fringes where light bends hardest",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Dispersion",group:"Glass"}},thickness:{default:.2,description:"Shell depth \u2014 how far inward from the edge the shell's optics extend",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Thickness",group:"Glass"}},environment:{default:1,description:"Strength of the studio lighting reflected in the shell",ui:{type:["range","map"],min:0,max:2,step:.01,label:"Environment",group:"Glass"}},envRotation:{default:0,description:"Rotates the reflected studio \u2014 spins where the bright reflections fall",ui:{type:"range",min:0,max:360,step:1,label:"Env Rotation",group:"Glass"}},lightAngle:{default:315,description:"Direction of the key light, in degrees",ui:{type:"range",min:0,max:360,step:1,label:"Light Angle",group:"Glass"}},highlight:{default:1,description:"Sharp key-light glint on the shell",ui:{type:["range","map"],min:0,max:2,step:.01,label:"Highlight",group:"Highlight"}},highlightColor:{default:"#ffffff",transform:ts,description:"Color of the key-light highlight",ui:{type:"color",label:"Highlight Color",group:"Highlight"}},highlightSoftness:{default:.5,description:"Specular highlight softness \u2014 lower is a tighter, sharper glint",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Highlight Softness",group:"Highlight"}},fresnel:{default:.1,description:"Fresnel rim glow \u2014 the luminous edge where the shell turns away from view",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Fresnel",group:"Fresnel"}},fresnelSoftness:{default:.1,description:"Fresnel rim width \u2014 higher values spread the glow further inward",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Fresnel Softness",group:"Fresnel"}},fresnelColor:{default:"#ffffff",transform:ts,description:"Color of the fresnel rim glow",ui:{type:"color",label:"Fresnel Color",group:"Fresnel"}},edgeSoftness:{default:.05,description:"Softness of the shape boundary edge",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Edge Softness",group:"Glass"}}};function xd(e){let t={};for(let s of Object.keys(e)){let r=e[s];if(!r)continue;let o=KG[s];t[s]=r===!0?o:{...o,...r,ui:{...o.ui,...r.ui??{}}}}return t}function ZG(e){return{default:0,description:e,ui:{type:"range",min:0,max:360,step:1,label:"Rotation",group:"Shape"}}}function QG(e){return{default:"#ffffff",transform:ts,description:e,ui:{type:"color",label:"Color",group:"Colors"}}}function JG(e,t){if(e.custom)return e.custom;let s=e.size.as??"half-canvas-height",r={x:{prop:"center",as:"position-x"},y:{prop:"center",as:"position-y"},width:{prop:e.size.width,as:s},height:{prop:e.size.height,as:s}};return t&&(r.rotation={prop:"rotation",as:"degrees"}),{propBindings:r}}function eY(e,t,s){if(!t)return e;let r=Object.keys(e).filter(i=>!t.includes(i)),o=t.filter(i=>!(i in e));if(r.length||o.length)throw new Error(`defineSdfShapeShader(${s}): propOrder must list every prop exactly once (missing: ${r.join(", ")||"none"}; unknown: ${o.join(", ")||"none"})`);let n={};for(let i of t)n[i]=e[i];return n}function tY(e){let t=e.rotatable!==!1,s=HG(e.stroke),r={origin:XG(),color:QG(e.colorDescription),center:qG(e.centerDescription,{units:["%","px"],...e.centerLabel?{label:e.centerLabel}:{}}),...e.shapeProps,...t?{rotation:ZG(e.rotationDescription??"Rotation in degrees")}:{},softness:s.softness,strokeThickness:s.strokeThickness,strokeColor:s.strokeColor,strokePosition:s.strokePosition,colorSpace:jG(e.colorSpaceDescription?{description:e.colorSpaceDescription}:void 0),...e.propOverrides};return{name:e.name,category:e.category??"Shapes",description:e.description,acceptsUVContext:!0,boundingBoxDeclaration:JG(e.bounds,t),props:eY(r,e.propOrder,e.name),fragment:o=>{let{uniforms:n,ctx:i,propValues:d}=o,c=o.uvContext??i.uv,_=d.colorSpace??0;return S7(ur(sY(e,n,c,i.aspect),"shapeMask"),n.color,n.strokeColor,_)}}}function sY(e,t,s,r){let o=t.rotation??vd("0f"),n=ur(we(w7,"shapeLocalCoords",[t.center,o,s,r]),"shapeLocal"),i=d=>{let c=t[d];if(!c)throw new Error(`defineSdfShapeShader(${e.name}): distance reads unknown prop '${d}'`);return c};return we(T7,"strokeMaskFromSdf",[e.distance({x:n.member("x"),y:n.member("y")},i),t.softness,t.strokeThickness,t.strokePosition])}function zt(e){return{kind:"prop",name:e}}var Jc=class Ef{constructor(t){this.node=t}times(t){return new Ef({kind:"mul",a:this.node,b:t instanceof Ef?t.node:t})}};function rY(e){return{uv:e.uvContext??e.ctx.uv,viewport:e.effectiveViewportSize??e.ctx.viewportSize}}function Dt(e,t){let s=t.uniforms[e.name];if(!s)throw new Error(`std: effect binds unknown prop '${e.name}'`);return s}function od(e,t){let s=e instanceof Jc?e.node:e;switch(s.kind){case"prop":return Dt(s,t);case"mul":return od(s.a,t).mul(od(s.b,t));case"radialMask":if(!t.ctx)throw new Error("std: radialMask needs a fragment host (warp slots have no ctx)");return we(oR,"radialFalloffMask",[t.ctx.uv,t.ctx.aspect,Dt(s.center,t),Dt(s.radius,t),Dt(s.falloff,t)]);case"signal":return s.build(t)}}function oY(e,t){if(typeof e=="number")return vt(e);if(e instanceof Jc)return od(e,t);switch(e.kind){case"prop":return Dt(e,t);case"ctx":if(!t.ctx)throw new Error(`std: ctx.${e.name} needs a fragment host (warp slots have no ctx)`);return t.ctx[e.name];default:return od(e,t)}}function xy(e,t,s){let r={},o=e.boundingBoxDeclaration,n=fy(e.props),i=nY(e.props,t);for(let[d,c]of Object.entries(e.props)){let _=c.transform;if(_===Rn){aY(r,d,c,t[d],i);continue}if(_===Ka){iY(r,d,c,t[d]);continue}let u=t[d],m=u;m==null&&(m=c.default),m==null&&(console.error(`[Shaders] Uniform "${d}" is null/undefined after fallback. PropConfig:`,{propName:d,initialValue:u,default:c.default,hasTransform:!!_}),m=0);let p=mw(_),y=yy(o,d,n),h=!p&&!y&&(typeof m=="string"||typeof m=="object"&&m!==null&&!Array.isArray(m));r[d]={value:m,transform:p,compileTime:c.compileTime||!1,...c.compileTimeWhen?{compileTimeWhen:c.compileTimeWhen,_lastCompiledValue:u??c.default}:{},...y?{_rawDimensional:u}:{},...h?{cpu:!0}:{}}}return r}function nY(e,t){for(let[s,r]of Object.entries(e))if(r.transform===ir){let o=t[s]??r.default;return typeof o=="string"?ir(o):0}return 0}function aY(e,t,s,r,o){let n=r??null,i=jv(n,Kc),d=Kv(i.colors,i.stopCount,o);e[t]={value:n,transform:Rn,cpu:!0,compileTime:s.compileTime||!1,...s.compileTimeWhen?{compileTimeWhen:s.compileTimeWhen,_lastCompiledValue:n??s.default}:{}},e.colorsArray={value:i.colors,schema:pt(x,8)},e.positionsArray={value:i.positions,schema:pt(x,8/4)},e.convertedColorsArray={value:d,schema:pt(f,8)},e.stopCount={value:i.stopCount,schema:a}}function iY(e,t,s,r){let o=LG(s);if(!o){console.error(`[Shaders] List prop "${t}" has no item spec in its ui config`);return}let n=ly(r??s.default,o,{color:Kc}),i=uy(n,o);e[t]={value:n,transform:Ka,cpu:!0,compileTime:s.compileTime||!1,_rawList:r??s.default,_listSpec:o};for(let[d,c]of Object.entries(i.fields))e[dy(t,d)]={value:c,schema:pt(x,o.maxItems)};e[cy(t)]={value:i.count,schema:a}}var Li=ut({x0:Z,x1:Z,y0:Z,y1:Z}).$name("SplatWindow"),pO=v.fn([l,a,a,a],Li)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(r,1e-5),i=Z(q(__tsover_mul(__tsover_div(t.x,n),o))),d=Z(q(__tsover_mul(t.y,o))),c=Z(cc(__tsover_div(__tsover_mul(s,o),n))),_=Z(cc(__tsover_mul(s,o))),u=__tsover_sub(Z(o),1);return Li({x0:b(__tsover_sub(i,c),0),x1:oe(__tsover_add(i,c),u),y0:b(__tsover_sub(d,_),0),y1:oe(__tsover_add(d,_),u)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"reach"},{type:"i",name:"aspect"},{type:"i",name:"res"}],body:[0,[[13,"asp",[6,"std.max",["aspect",[5,"0.00001"]]]],[13,"cxi",[6,"d.i32",[[6,"std.floor",[[1,[1,[7,"pos","x"],"/","asp"],"*","res"]]]]]],[13,"cyi",[6,"d.i32",[[6,"std.floor",[[1,[7,"pos","y"],"*","res"]]]]]],[13,"radX",[6,"d.i32",[[6,"std.ceil",[[1,[1,"reach","*","res"],"/","asp"]]]]]],[13,"radY",[6,"d.i32",[[6,"std.ceil",[[1,"reach","*","res"]]]]]],[13,"last",[1,[6,"d.i32",["res"]],"-",[5,"1"]]],[10,[6,"SplatWindow",[[104,{x0:[6,"std.max",[[1,"cxi","-","radX"],[5,"0"]]],x1:[6,"std.min",[[1,"cxi","+","radX"],"last"]],y0:[6,"std.max",[[1,"cyi","-","radY"],[5,"0"]]],y1:[6,"std.min",[[1,"cyi","+","radY"],"last"]]}]]]]]]},externals:{"std.max":()=>b,"d.i32":()=>Z,"std.floor":()=>q,"std.ceil":()=>cc,SplatWindow:()=>Li,"std.min":()=>oe}})&&e.f)({})).$name("worldSplatWindow"),fO=v.fn([l,Z,El],Li)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Z(q(t.x)),n=Z(q(t.y));return Li({x0:b(__tsover_sub(o,s),0),x1:oe(__tsover_add(o,s),r.x),y0:b(__tsover_sub(n,s),0),y1:oe(__tsover_add(n,s),r.y)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"rad"},{type:"i",name:"last"}],body:[0,[[13,"cxi",[6,"d.i32",[[6,"std.floor",[[7,"center","x"]]]]]],[13,"cyi",[6,"d.i32",[[6,"std.floor",[[7,"center","y"]]]]]],[10,[6,"SplatWindow",[[104,{x0:[6,"std.max",[[1,"cxi","-","rad"],[5,"0"]]],x1:[6,"std.min",[[1,"cxi","+","rad"],[7,"last","x"]]],y0:[6,"std.max",[[1,"cyi","-","rad"],[5,"0"]]],y1:[6,"std.min",[[1,"cyi","+","rad"],[7,"last","y"]]]}]]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,SplatWindow:()=>Li,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})).$name("texelSplatWindow"),vO=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(1,ct(__tsover_mul(__tsover_mul(t,s),-1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"energy"},{type:"i",name:"k"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.exp",[[1,[1,"energy","*","k"],"*",[4,"-",[5,"1"]]]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})).$name("energyCoverageAlpha"),yO=v.fn([f,f,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=t.add(s.mul(r)).mul(o),d=j(i);return i.mul(__tsover_div(oe(d,n),b(d,1e-5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"vel"},{type:"i",name:"force"},{type:"i",name:"dt"},{type:"i",name:"dragMul"},{type:"i",name:"maxSpeed"}],body:[0,[[13,"v",[6,[7,[6,[7,"vel","add"],[[6,[7,"force","mul"],["dt"]]]],"mul"],["dragMul"]]],[13,"spd",[6,"std.length",["v"]]],[10,[6,[7,"v","mul"],[[1,[6,"std.min",["spd","maxSpeed"]],"/",[6,"std.max",["spd",[5,"0.00001"]]]]]]]]]},externals:{"std.length":()=>j,"std.min":()=>oe,"std.max":()=>b}})&&e.f)({})).$name("integrateSemiImplicitEuler");var kf=Math.exp(-1),Rb=1/(1-kf),zb=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return ct(__tsover_mul(__tsover_div(t,s),-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"distSq"},{type:"i",name:"radiusSq"}],body:[0,[[10,[6,"std.exp",[[1,[1,"distSq","/","radiusSq"],"*",[4,"-",[5,"1"]]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),Gb=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return $(__tsover_mul(__tsover_sub(ct(__tsover_mul(__tsover_div(t,s),-1)),kf),Rb),a(0),a(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"distSq"},{type:"i",name:"radiusSq"}],body:[0,[[10,[6,"std.clamp",[[1,[1,[6,"std.exp",[[1,[1,"distSq","/","radiusSq"],"*",[4,"-",[5,"1"]]]]],"-","EDGE"],"*","INV_EDGE"],[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]]]]]]]},externals:{"std.clamp":()=>$,"std.exp":()=>ct,EDGE:()=>kf,INV_EDGE:()=>Rb,"d.f32":()=>a}})&&e.f)({}));v.fn([l,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=ht(t,s);return zb(se(o,o),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellPos"},{type:"i",name:"center"},{type:"i",name:"radiusSq"}],body:[0,[[13,"off",[6,"std.sub",["cellPos","center"]]],[10,[6,"gaussianBrushSq",[[6,"std.dot",["off","off"]],"radiusSq"]]]]]},externals:{"std.sub":()=>ht,gaussianBrushSq:()=>zb,"std.dot":()=>se}})&&e.f)({}));v.fn([l,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=ht(t,s);return Gb(se(o,o),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellPos"},{type:"i",name:"center"},{type:"i",name:"radiusSq"}],body:[0,[[13,"off",[6,"std.sub",["cellPos","center"]]],[10,[6,"gaussianBrushShiftedSq",[[6,"std.dot",["off","off"]],"radiusSq"]]]]]},externals:{"std.sub":()=>ht,gaussianBrushShiftedSq:()=>Gb,"std.dot":()=>se}})&&e.f)({}));var jd=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return Ot(l(t,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"px"},{type:"i",name:"py"}],body:[0,[[10,[6,"noise.hash12",[[6,"d.vec2f",["px","py"]]]]]]]},externals:{"noise.hash12":()=>Ot,"d.vec2f":()=>l}})&&e.f)({})),sl=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=q(t),o=q(s),n=ue(t),i=ue(s),d=__tsover_mul(__tsover_mul(n,n),__tsover_sub(3,__tsover_mul(n,2))),c=__tsover_mul(__tsover_mul(i,i),__tsover_sub(3,__tsover_mul(i,2)));return X(X(jd(r,o),jd(__tsover_add(r,1),o),d),X(jd(r,__tsover_add(o,1)),jd(__tsover_add(r,1),__tsover_add(o,1)),d),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"nx"},{type:"i",name:"ny"}],body:[0,[[13,"ix",[6,"std.floor",["nx"]]],[13,"iy",[6,"std.floor",["ny"]]],[13,"sx",[6,"std.fract",["nx"]]],[13,"sy",[6,"std.fract",["ny"]]],[13,"ux",[1,[1,"sx","*","sx"],"*",[1,[5,"3"],"-",[1,"sx","*",[5,"2"]]]]],[13,"uy",[1,[1,"sy","*","sy"],"*",[1,[5,"3"],"-",[1,"sy","*",[5,"2"]]]]],[10,[6,"std.mix",[[6,"std.mix",[[6,"valueHash",["ix","iy"]],[6,"valueHash",[[1,"ix","+",[5,"1"]],"iy"]],"ux"]],[6,"std.mix",[[6,"valueHash",["ix",[1,"iy","+",[5,"1"]]]],[6,"valueHash",[[1,"ix","+",[5,"1"]],[1,"iy","+",[5,"1"]]]],"ux"]],"uy"]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,"std.mix":()=>X,valueHash:()=>jd}})&&e.f)({})),hO=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_add(__tsover_add(__tsover_mul(sl(t,s),.5),__tsover_mul(sl(__tsover_add(__tsover_mul(t,2),5.37),__tsover_add(__tsover_mul(s,2),9.13)),.3)),__tsover_mul(sl(__tsover_add(__tsover_mul(t,4),1.79),__tsover_add(__tsover_mul(s,4),3.51)),.2))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"nx"},{type:"i",name:"ny"}],body:[0,[[10,[1,[1,[1,[6,"valueNoise2D",["nx","ny"]],"*",[5,"0.5"]],"+",[1,[6,"valueNoise2D",[[1,[1,"nx","*",[5,"2"]],"+",[5,"5.37"]],[1,[1,"ny","*",[5,"2"]],"+",[5,"9.13"]]]],"*",[5,"0.3"]]],"+",[1,[6,"valueNoise2D",[[1,[1,"nx","*",[5,"4"]],"+",[5,"1.79"]],[1,[1,"ny","*",[5,"4"]],"+",[5,"3.51"]]]],"*",[5,"0.2"]]]]]]},externals:{valueNoise2D:()=>sl}})&&e.f)({})),xO=v.fn([a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(Gs(__tsover_mul(r,37.31)),97),i=__tsover_mul(Gs(__tsover_mul(r,83.17)),97);return l(__tsover_add(__tsover_mul(t,o),n),__tsover_add(__tsover_mul(s,o),i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"y"},{type:"i",name:"seed"},{type:"i",name:"cellsPerTexel"}],body:[0,[[13,"sdx",[1,[6,"noise.hash11",[[1,"seed","*",[5,"37.31"]]]],"*",[5,"97"]]],[13,"sdy",[1,[6,"noise.hash11",[[1,"seed","*",[5,"83.17"]]]],"*",[5,"97"]]],[10,[6,"d.vec2f",[[1,[1,"x","*","cellsPerTexel"],"+","sdx"],[1,[1,"y","*","cellsPerTexel"],"+","sdy"]]]]]]},externals:{"noise.hash11":()=>Gs,"d.vec2f":()=>l}})&&e.f)({}));var gO=v.fn([a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_mul(__tsover_sub(t,r),d),_=__tsover_sub(s,o),u=H(i),m=Y(i),p=__tsover_add(__tsover_mul(c,u),__tsover_mul(_,m)),y=__tsover_sub(__tsover_mul(_,u),__tsover_mul(c,m));return l(__tsover_add(__tsover_div(p,n),.5),__tsover_add(__tsover_div(y,n),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"u"},{type:"i",name:"v"},{type:"i",name:"centerX"},{type:"i",name:"centerY"},{type:"i",name:"scale"},{type:"i",name:"rotation"},{type:"i",name:"aspect"}],body:[0,[[13,"dxAc",[1,[1,"u","-","centerX"],"*","aspect"]],[13,"dy",[1,"v","-","centerY"]],[13,"cosR",[6,"std.cos",["rotation"]]],[13,"sinR",[6,"std.sin",["rotation"]]],[13,"rdx",[1,[1,"dxAc","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dxAc","*","sinR"]]],[10,[6,"d.vec2f",[[1,[1,"rdx","/","scale"],"+",[5,"0.5"]],[1,[1,"rdy","/","scale"],"+",[5,"0.5"]]]]]]]},externals:{"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({}));ut({centerX:a,centerY:a,scale:a,rotation:a,aspect:a,saRadius:a,saSides:a,saRounding:a,saInnerRatio:a,saRotation:a,saHeight:a,saOffset:a,saAperture:a,vfOriginX:a,vfOriginY:a,vfSpanX:a,vfSpanY:a,vfActiveRes:a});var xl=256*256;var Yb=1-10*.004,bO=Yb>=1?1/0:Math.min(3e4,Math.log(1e-6)/Math.log(Math.max(Yb,.001))*16.67);var Lb="rgba16float",pw=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({amp:a,freq:a,seed:a,edgePin:a,cursorIntensity:a,t:a,aspect:a,focal:a,camPos:f,camForward:f,camRight:f,camUp:f,lighting:a,glossiness:a,highlights:a,lightX:a,lightY:a,lightZ:a,lightColor:f,nearCutoff:a,farCutoff:a,cursorWaveX:a,cursorWaveY:a,mouseSpeed:a,dt:a,decay:a,radius:a,waveSpeed:a,heightEnvelope:a,cursorActive:a}),"HeightFieldParams");var wO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({readSrc:{storage:pt(a,xl),access:"readonly"},writeBuf:{storage:pt(a,xl),access:"mutable"},readBuf:{storage:pt(a,xl),access:"mutable"},params:{uniform:pw}}),"waveEquationLayout"),TO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({readBuf:{storage:pt(a,xl),access:"readonly"},params:{uniform:pw},uvMaskTex:{storageTexture:Mo(Lb,"write-only")},litTex:{storageTexture:Mo(Lb,"write-only")}}),"heightFieldMarchLayout");var SO=v.fn([x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=z(t.xyz.sub(s.xyz)),n=z(__tsover_sub(t.w,s.w)),i=__tsover_add(se(o,f(.299,.587,.114)),n);return re(r,__tsover_add(__tsover_mul(r,2),.001),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"live"},{type:"i",name:"prev"},{type:"i",name:"threshold"}],body:[0,[[13,"dRgb",[6,"std.abs",[[6,[7,[7,"live","xyz"],"sub"],[[7,"prev","xyz"]]]]]],[13,"dA",[6,"std.abs",[[1,[7,"live","w"],"-",[7,"prev","w"]]]]],[13,"diff",[1,[6,"std.dot",["dRgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]],"+","dA"]],[10,[6,"std.smoothstep",["threshold",[1,[1,"threshold","*",[5,"2"]],"+",[5,"0.001"]],"diff"]]]]]},externals:{"std.abs":()=>z,"std.dot":()=>se,"d.vec3f":()=>f,"std.smoothstep":()=>re}})&&e.f)({})).$name("frameDiffMask"),AO=v.fn([f,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=uc(t);return ja(f(ue(__tsover_add(r.x,s)),r.y,r.z))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"amount"}],body:[0,[[13,"hsl",[6,"colorMixing.rgbToHsl",["rgb"]]],[13,"rotated",[6,"d.vec3f",[[6,"std.fract",[[1,[7,"hsl","x"],"+","amount"]]],[7,"hsl","y"],[7,"hsl","z"]]]],[10,[6,"colorMixing.hslToRgb",["rotated"]]]]]},externals:{"colorMixing.rgbToHsl":()=>uc,"d.vec3f":()=>f,"std.fract":()=>ue,"colorMixing.hslToRgb":()=>ja}})&&e.f)({})).$name("hueRotateTurns");var dY=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],cY=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],fw=[];for(let e=0;e<8;e++)for(let t=0;t<8;t++)fw[e*8+t]=Math.cos((2*e+1)*t*Math.PI/16);var MO=Math.PI/16,PO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.const(pt(a,64),fw),"COS_LUT"),EO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.const(pt(a,64),dY),"LUMA_QUANT_C"),kO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.const(pt(a,64),cY),"CHROMA_QUANT_C");var $O=v.fn([x,x,x,x,x,x,x,x,x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=re(0,.1,__tsover_mul(__tsover_add(__tsover_add(__tsover_add(__tsover_add(t.z,s.z),r.z),o.z),n.z),.2)),p=t.xy.add(s.xy).add(r.xy).add(o.xy).add(n.xy).mul(.2),y=j(p),h=re(.01,.1,y),g=__tsover_div(p.x,__tsover_add(y,.001)),w=__tsover_div(p.y,__tsover_add(y,.001)),S=re(0,.7,b(g,0)),T=re(0,.7,b(__tsover_mul(g,-1),0)),A=re(0,.7,b(w,0)),P=re(0,.7,b(__tsover_mul(w,-1),0)),U=_.mul(T).add(u.mul(S)),D=c.mul(P).add(d.mul(A)),O=__tsover_add(T,S),L=__tsover_add(A,P),G=__tsover_add(__tsover_add(O,L),.001);return X(i,U.mul(__tsover_div(O,G)).add(D.mul(__tsover_div(L,G))),x(h)).mul(m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s0"},{type:"i",name:"s1"},{type:"i",name:"s2"},{type:"i",name:"s3"},{type:"i",name:"s4"},{type:"i",name:"base"},{type:"i",name:"up"},{type:"i",name:"down"},{type:"i",name:"left"},{type:"i",name:"right"}],body:[0,[[13,"smoothedLiquid",[1,[1,[1,[1,[1,[7,"s0","z"],"+",[7,"s1","z"]],"+",[7,"s2","z"]],"+",[7,"s3","z"]],"+",[7,"s4","z"]],"*",[5,"0.2"]]],[13,"liquidIntensity",[6,"std.smoothstep",[[5,"0"],[5,"0.1"],"smoothedLiquid"]]],[13,"flow",[6,[7,[6,[7,[6,[7,[6,[7,[6,[7,[7,"s0","xy"],"add"],[[7,"s1","xy"]]],"add"],[[7,"s2","xy"]]],"add"],[[7,"s3","xy"]]],"add"],[[7,"s4","xy"]]],"mul"],[[5,"0.2"]]]],[13,"flowMagnitude",[6,"std.length",["flow"]]],[13,"hasFlow",[6,"std.smoothstep",[[5,"0.01"],[5,"0.1"],"flowMagnitude"]]],[13,"normalizedX",[1,[7,"flow","x"],"/",[1,"flowMagnitude","+",[5,"0.001"]]]],[13,"normalizedY",[1,[7,"flow","y"],"/",[1,"flowMagnitude","+",[5,"0.001"]]]],[13,"rightAmount",[6,"std.smoothstep",[[5,"0"],[5,"0.7"],[6,"std.max",["normalizedX",[5,"0"]]]]]],[13,"leftAmount",[6,"std.smoothstep",[[5,"0"],[5,"0.7"],[6,"std.max",[[1,"normalizedX","*",[4,"-",[5,"1"]]],[5,"0"]]]]]],[13,"upAmount",[6,"std.smoothstep",[[5,"0"],[5,"0.7"],[6,"std.max",["normalizedY",[5,"0"]]]]]],[13,"downAmount",[6,"std.smoothstep",[[5,"0"],[5,"0.7"],[6,"std.max",[[1,"normalizedY","*",[4,"-",[5,"1"]]],[5,"0"]]]]]],[13,"horizontalColor",[6,[7,[6,[7,"left","mul"],["leftAmount"]],"add"],[[6,[7,"right","mul"],["rightAmount"]]]]],[13,"verticalColor",[6,[7,[6,[7,"down","mul"],["downAmount"]],"add"],[[6,[7,"up","mul"],["upAmount"]]]]],[13,"horizontalWeight",[1,"leftAmount","+","rightAmount"]],[13,"verticalWeight",[1,"upAmount","+","downAmount"]],[13,"totalWeight",[1,[1,"horizontalWeight","+","verticalWeight"],"+",[5,"0.001"]]],[13,"directionalColor",[6,[7,[6,[7,"horizontalColor","mul"],[[1,"horizontalWeight","/","totalWeight"]]],"add"],[[6,[7,"verticalColor","mul"],[[1,"verticalWeight","/","totalWeight"]]]]]],[13,"finalColor",[6,"std.mix",["base","directionalColor",[6,"d.vec4f",["hasFlow"]]]]],[10,[6,[7,"finalColor","mul"],["liquidIntensity"]]]]]},externals:{"std.smoothstep":()=>re,"std.length":()=>j,"std.max":()=>b,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})).$name("flowDirectionColor"),l1={name:"Root",props:{},fragment:({childNode:e})=>e??vd("vec4f(0.0, 0.0, 0.0, 0.0)")};function uo(e,t,s="_animTime"){let r=e.props.member(s);if(t){let o=e.uniforms[t];if(o)return r.add(o)}return r}var _Y=class{kind="wgsl";spec;identifiers;fns=new Map;constructor(e){if(typeof e.body!="string"||e.body.trim()==="")throw new Error("wgsl: the body must be a non-empty WGSL string");if(!/\breturn\b/.test(vw(e.body)))throw new Error("wgsl: the body must `return` a vec4f color");this.spec=e,this.identifiers=lY(e.body)}get samplesChild(){return this.identifiers.has("childTexture")}fnFor(e,t){let s=this.fns.get(e);return s||(s=t(),this.fns.set(e,s)),s}};function e_(e){return e instanceof _Y}function vw(e){return e.replace(/\/\*[\s\S]*?\*\//g," ").replace(/\/\/[^\n]*/g," ")}function lY(e){let t=new Set,s=new RegExp("(?":ps(a),sampler:fv()},mY=new Set(["viewport","child","childTexture","childSampler"]),hw={uv:"vec2f",aspect:"f32",time:"f32",viewportSize:"vec2f",logicalViewportSize:"vec2f",pointer:"vec2f"};function Ib(e){return/^[A-Za-z_][A-Za-z0-9_]*$/.test(e)?e:e.replace(/[^A-Za-z0-9_]/g,"_")}function gy(e,t,s){let r=Ib(e.spec.name??pY(s.name)+fY(t)),o=vY(t,s),n=yY(e.spec.inputs??{},s.props),i=new Map;for(let u of o)e.identifiers.has(u.name)&&i.set(u.name,u);for(let u of n)i.set(u.name,u);let d=[...i.values()],c=`(${d.map(u=>`${Ib(u.name)}: ${u.type}`).join(", ")}) -> vec4f`,_=d.map(u=>`${u.name}:${u.type}`).join(",");return u=>(nh(),u.noteCustomWgsl?.(),we(e.fnFor(_,()=>(globalThis.__TYPEGPU_AUTONAME__??(m=>m))(v.fn(d.map(m=>uY[m.type]),x),"shell")(`${c} { +${e.spec.body} +}`)),r,d.map(m=>m.value(u))))}function pY(e){return e?e[0].toLowerCase()+e.slice(1):"custom"}function fY(e){return e==="generator"?"Paint":"Filter"}function vY(e,t){let s=[],r=e==="generator";s.push({name:"uv",type:"vec2f",value:o=>r?o.uvContext??o.ctx.uv:o.ctx.uv}),s.push({name:"time",type:"f32",value:o=>t.animatedTime?uo(o):o.ctx.time}),s.push({name:"aspect",type:"f32",value:o=>o.ctx.aspect}),s.push({name:"viewport",type:"vec2f",value:o=>r?o.effectiveViewportSize??o.ctx.viewportSize:o.ctx.viewportSize}),s.push({name:"pointer",type:"vec2f",value:o=>o.ctx.pointer}),e==="pointwise"&&s.push({name:"child",type:"vec4f",value:o=>o.childNode}),e==="gather"&&(s.push({name:"childTexture",type:"texture_2d",value:o=>o.texture.accessor()}),s.push({name:"childSampler",type:"sampler",value:()=>vd("samp.$.linearClamp")}));for(let[o,n]of Object.entries(t.props)){if(hw[o]||mY.has(o))continue;let i=yw(n);if(!i)continue;let d=n.transform===ho;s.push({name:o,type:i,value:c=>{let _=c.uniforms[o];if(!_)throw new Error(`wgsl: prop '${o}' has no GPU uniform (is it CPU-only?)`);return d?new Kt(u=>`vec2f(${_.member("x")._emit(u)}, 1.0 - ${_.member("y")._emit(u)})`):_}})}return s}function yY(e,t){let s=[];for(let[r,o]of Object.entries(e)){let n=o!==null&&typeof o=="object"&&"value"in o&&"type"in o,i=n?o.value:o,d=hY(i,t),c=n?o.type:d;if(n&&c!==d)throw new Error(`wgsl: input '${r}' is declared ${c} but its source is ${d}`);s.push({name:r,type:c,value:_=>typeof i=="number"?vt(i):oY(i,_)})}return s}function hY(e,t){if(typeof e=="number"||e instanceof Jc)return"f32";if(e.kind==="ctx")return hw[e.name]??"f32";if(e.kind==="prop"){let s=t[e.name];if(!s)throw new Error(`wgsl: input binds unknown prop '${e.name}'`);let r=yw(s);if(!r)throw new Error(`wgsl: prop '${e.name}' is CPU-only and cannot be bound as a WGSL parameter`);return r}return"f32"}function ya(e){let t={};for(let s of Object.keys(e)){let{recompile:r,...o}=e[s],n={...o};if(r?.kind==="crosses"){let i=r.value;n.compileTimeWhen=(d,c)=>d===i!=(c===i)}else r?.kind==="custom"&&(n.compileTimeWhen=r.predicate);t[s]=n}return t}function xw(e,t){switch(e.kind){case"isZero":case"isValue":{let s=e.kind==="isZero"?0:e.value,r=t[e.prop];return{props:[e.prop],when:o=>(o[e.prop]??r)===s}}case"allOf":{let s=e.rules.map(r=>xw(r,t));return{props:[...new Set(s.flatMap(r=>r.props))],when:r=>s.every(o=>o.when(r))}}case"custom":return{props:e.props,when:e.when}}}function Au(e,t){if(!e)return;let s={};for(let[r,o]of Object.entries(t))s[r]=o.default;return xw(e,s)}function xY(e){let{role:t,species:s,effect:r,identityWhen:o,missingChildMessage:n,props:i,...d}=e,c={...d,props:ya(i),identity:Au(o,i),missingChildMessage:n};if(r.kind==="tintToward"){let{color:m,amount:p}=r;return Km({...c,body:{fn:wR,hint:"mixToward"},args:y=>[Dt(m,y),od(p,y)]})}if(e_(r))return Km({...c,build:gy(r,"pointwise",by(e))});let{kind:_,...u}=r;return Km({...c,...u})}function by(e){return{name:e.name,props:e.props,animatedTime:e.animatedTime}}function gY(e){let{role:t,species:s,effect:r,identityWhen:o,missingChildMessage:n,props:i,...d}=e;if(r.kind==="displaceBy")return bY(e);if(e_(r))return Ub({...d,props:ya(i),identity:Au(o,i),missingChildMessage:n,build:gy(r,"gather",by(e)),resultAlpha:r.spec.alpha??"premultiplied"});let{kind:c,..._}=r;return Ub({...d,props:ya(i),identity:Au(o,i),missingChildMessage:n,..._})}function bY(e){let{role:t,species:s,effect:r,identityWhen:o,missingChildMessage:n,props:i,...d}=e,c=r,_=Au(o,i),u=c.field.sim.config,m=c.field.output,p=u.step.find(h=>h.kind==="op.wave"),y=u.step.find(h=>h.kind==="op.splat");if(!p||!y||u.step.length!==2)throw new Error(`std: simulate.grid currently implements exactly [op.wave, op.splat] (got: ${u.step.map(h=>h.kind).join(", ")})`);if(u.history!==2)throw new Error(`std: op.wave reads t\u22121 and t\u22122 \u2014 declare history: 2 (got ${u.history})`);if(u.derive[m]?.kind!=="op.gradient")throw new Error(`std: displaceBy consumes a vector field \u2014 derive '${m}' must be op.gradient()`);if(u.rest&&u.rest.settlesWhen!=="derived-from-damping")throw new Error("std: simulate.grid rest supports settlesWhen: 'derived-from-damping' only");return{...d,props:ya(i),requiresRTT:!0,requiresChild:!0,usesPointer:y.at.kind==="pointer",compute:h=>{if(!h.childNode)return null;let g=sG(h,{resolution:u.resolution,dampingProp:p.damping.name,radiusProp:y.radius.name,radiusScale:.05,speedMax:y.amount.max,teleportGuard:y.at.teleportGuard});return g?{outputs:{[m]:g.displacement},getComputeNodes:g.getComputeNodes}:null},fragment:h=>{let{childNode:g,ctx:w,computeOutputs:S,propValues:T,convertToTexture:A}=h;if(!g)return xr;let P=A(g);if(hy(_,h))return we(dn,"unpremultiplyAlpha",[P.sample(w.uv)]);let U=T[c.edges.name]??0,D=S?.[m],O=D?D.sample(w.uv,"linearClamp").member("xy"):vd("vec2f(0.0, 0.0)"),L=we(uz,"chromaticDisplaceUVs",[w.uv,O,Dt(c.strength,h),Dt(c.chromatic,h)]),G=te=>P.sample(te),W=Gi(L.member("rUV"),G,U),K=Gi(L.member("gUV"),G,U),Q=Gi(L.member("bUV"),G,U);return we(dn,"unpremultiplyAlpha",[Ws(W.member("r"),K.member("g"),Q.member("b"),K.member("a"))])}}}function wY(e){let{role:t,map:s,edges:r,resample:o,uvRemapIdentityWhen:n,missingChildMessage:i,props:d,...c}=e;return{...c,props:ya(d),requiresRTT:!0,requiresChild:!0,...NG(s,{edges:r,resample:o,uvRemapIdentityWhen:n,requireChildMessage:i})}}function TY(e){let{role:t,name:s,description:r,category:o,shape:n}=e;return tY({name:s,description:r,category:o,...n})}function SY(e){let{role:t,paint:s,props:r,...o}=e;return e_(s)?{acceptsUVContext:!0,...o,props:ya(r),fragment:gy(s,"generator",by(e))}:{...o,props:ya(r),fragment:s}}function AY(e){let{role:t,species:s,gpu:r,props:o,...n}=e;return{...n,props:ya(o),fragment:r.fragment,...r.uvRemap?{uvRemap:r.uvRemap}:{}}}function MY(e){let t=[],s=e.paint,r=e.effect;for(let n of[s,r])e_(n)&&t.push(n.spec.body,PY(n.spec.inputs??{}),n.spec.alpha??"");if(t.length===0)return;let o=2166136261;for(let n of t.join("\0"))o^=n.charCodeAt(0),o=Math.imul(o,16777619)>>>0;return o.toString(16)}function PY(e){let t=r=>{if(typeof r!="object"||r===null)return String(r);let o=r;switch(o.kind){case"prop":return`p:${o.name}`;case"ctx":return`c:${o.name}`;case"mul":return`mul(${t(o.a)},${t(o.b)})`;case"radialMask":return`radialMask(${o.center?.name},${o.radius?.name},${o.falloff?.name})`;default:return o.kind}},s=r=>typeof r=="number"?`n:${r}`:r instanceof Jc?`s:${t(r.node)}`:t(r);return Object.keys(e).sort().map(r=>{let o=e[r];return o!==null&&typeof o=="object"&&"value"in o&&"type"in o?`${r}=${s(o.value)}:${o.type}`:`${r}=${s(o)}`}).join(",")}var EY=new Set(["blendMode","opacity","visible","id","maskSource","maskType","renderOrder","transform","boundingBox","flow","absolute","children","ref","key","src"]),kY=new Set(["_animTime","_opacity"]),$Y=["_pad","_bbox_","_map_","_childBounds_","_animTime_"],UY=/^[A-Za-z_][A-Za-z0-9_]*$/;function CY(e,t){for(let s of Object.keys(t)){if(!UY.test(s))throw new Error(`defineShader("${e}"): prop '${s}' is not a valid identifier (letters, digits and _ only, not starting with a digit)`);if(EY.has(s))throw new Error(`defineShader("${e}"): '${s}' is a layer prop every component already has (blend mode, opacity, layout, \u2026) \u2014 rename the shader prop`);if(kY.has(s)||$Y.some(r=>s.startsWith(r)))throw new Error(`defineShader("${e}"): '${s}' collides with a field the renderer manages itself \u2014 rename the shader prop`)}}function $o(e){"props"in e&&e.props&&CY(e.name,e.props);let t=YY(e),s=MY(e);return s?{...t,revision:s}:t}function RY(e){let t="shape"in e?"shape":"map"in e?"warp":"gpu"in e?"custom":"paint"in e?"generator":"effect"in e?"filter":null,s=String(e.name??"?");if(!t)throw new Error(`defineShader("${s}"): give it a GPU half \u2014 paint: (generator), effect: (filter), map: (warp), shape: (shape) or gpu: (custom)`);let r=e.role;if(r&&t!=="custom"&&r!==t)throw new Error(`defineShader("${s}"): role '${r}' contradicts its ${zY[t]} field (a ${t})`);return t}var zY={shape:"shape:",warp:"map:",custom:"gpu:",generator:"paint:",filter:"effect:"};function GY(e){let{effect:t,species:s}=e;if(e_(t))return s??(t.samplesChild?"gather":"pointwise");let r=t.kind==="gather"||t.kind==="displaceBy"?"gather":"pointwise";if(s&&s!==r)throw new Error(`defineShader("${e.name}"): species '${s}' contradicts its '${t.kind}' effect (${r})`);return r}function YY(e){switch(RY(e)){case"shape":return TY(e);case"warp":return wY(e);case"custom":return AY(e);case"generator":return SY(e);case"filter":{let t=e;return GY(t)==="gather"?gY({...t,species:"gather"}):xY({...t,species:"pointwise"})}}}var $f=e=>typeof e=="number"?vt(e):e,Mu=(e,t)=>typeof e=="number"?vt(e)._emit(t):e._emit(t);function kr(e,...t){return new Kt(s=>`${e}(${t.map(r=>Mu(r,s)).join(", ")})`)}function u1(e,t,s){return new Kt(r=>`(${Mu(t,r)} ${e} ${Mu(s,r)})`)}var $e=(e,t)=>u1("+",e,t),fs=(e,t)=>u1("-",e,t),N=(e,t)=>u1("*",e,t),mr=(e,t)=>u1("/",e,t),Pu=e=>new Kt(t=>`(-(${Mu(e,t)}))`),m1=e=>kr("abs",e);var nd=(e,t)=>kr("pow",e,t),wy=e=>kr("exp",e);var Uo=e=>kr("sin",e),t_=e=>kr("cos",e);var xa=(e,t)=>kr("max",e,t),gr=(e,t,s)=>kr("clamp",e,t,s),Co=(e,t,s)=>oc($f(e),$f(t),s);var Ss=(e,t,s)=>kr("smoothstep",e,t,s);var gd=e=>kr("length",e);var gw=(e,t)=>kr("dot",e,t);var p1=(e,t,s)=>Jt(fs(N(rl(e,"x"),t),N(rl(e,"y"),s)),$e(N(rl(e,"x"),s),N(rl(e,"y"),t))),rl=(e,t)=>typeof e=="number"?e:e.member(t),f1=(e,t)=>kr("reflect",e,t);var LY=e=>kr("exp2",e);var Zr=e=>vt(e),Jt=(e,t)=>kr("vec2f",e,t),tr=(e,t,s)=>kr("vec3f",e,t,s),ni=(...e)=>Ws(...e.map($f)),ln=e=>kr("vec3f",e),ye=(e,t)=>ur(e,t);function bw(e){return{kind:"crosses",value:e}}var IY=e=>typeof e=="number"?vt(e):e,$r=(e,t)=>(...s)=>we(e,t,s.map(IY)),UO=$r(fc,"circleSdf"),CO=$r(uu,"ellipseSdf"),RO=$r(lu,"roundedRectSdf"),zO=$r(au,"polygonSdf"),GO=$r(du,"starSdf"),YO=$r(iu,"flowerSdf"),LO=$r(vu,"heartSdf"),IO=$r(_u,"crossSdf"),DO=$r(cu,"ringSdf"),FO=$r(mu,"vesicaSdf"),BO=$r(pu,"crescentSdf"),WO=$r(fu,"trapezoidSdf"),OO=$r(hu,"teardropSdf"),VO=$r(xu,"parallelogramSdf"),NO=$r(yu,"arcSdf");var Ae=Math.fround,DY=Ae(HC),Zm=Ae(it),FY=.11,Uf=Ae(4294967295),Db=new DataView(new ArrayBuffer(4));function Cf(e){return Db.setFloat32(0,Ae(e),!0),Db.getUint32(0,!0)}function Eu(e,t){return Math.imul(e>>>0,t>>>0)>>>0}function Fb(e){let t=Cf(Ae(Ae(e)*Ae(3141592653)));return Ae(Ae(Eu(Eu(t,t),3141592653))/Uf)}function Bb(e,t){let s=(Cf(Ae(Ae(e)*Ae(141421356)))^Cf(Ae(Ae(t)*Ae(2718281828))))>>>0;return[Ae(Ae(Eu(s,3141592653))/Uf),Ae(Ae(Eu(s,1618033988))/Uf)]}function BY(e,t,s,r,o,n){let i=Ae(Ae(e*DY)+Ae(Fb(Ae(Ae(s*Ae(.7311))+Ae(1.618)))*Zm)),d=Ae(Math.sqrt(Ae(Ae(e+.5)/Ae(t)))),c=Bb(Ae(Ae(e*Ae(3.77))+Ae(.917)),Ae(Ae(s*Ae(1.093))+Ae(2.236))),_=Ae(Ae(c[0]-.5)*Ae(.26)),u=Ae(Ae(c[1]-.5)*Ae(.26)),m=Bb(Ae(Ae(e*Ae(7.13))+Ae(1.618)),Ae(Ae(s*Ae(.531))+Ae(3.71))),p=Ae(m[0]*Zm),y=Ae(m[1]*Zm),h=Ae(.5+Ae(Fb(Ae(Ae(Ae(e*Ae(5.417))+Ae(s*Ae(.291)))+Ae(.917)))*Ae(.7))),g=Ae(Ae(n*Ae(FY))*h),w=Ae(Math.sin(Ae(g+p))),S=Ae(Math.cos(Ae(Ae(g*Ae(1.37))+y))),T=Ae(Ae(Ae(Ae(Math.cos(i))*d)*Ae(.62))+_)+Ae(Ae(w*Ae(r))*Ae(.16)),A=Ae(Ae(Ae(Ae(Math.sin(i))*d)*Ae(.62))+u)+Ae(Ae(S*Ae(r))*Ae(.16));return[Ae(Ae(.5+Ae(T))*Ae(o)),Ae(.5+Ae(A))]}function WY(e,t,s,r,o){let n=new Array(16);for(let i=0;i<8;i++){let[d,c]=BY(i,e,t,s,r,o);n[i*2]=d,n[i*2+1]=c}return n}function ww(e){return typeof e=="number"?e:typeof e=="string"?ir(e):0}function OY(e,t){return Fv[e?ww(t.propValues[e.name]):0]??Bo}function Tw(e){return(t,s,r)=>{let o=OY(e.space,r);return we(o,"mixColors",[we(o,"mixColors",[Dt(e.a,r),Dt(e.b,r),t]),Dt(e.c,r),s])}}function Sw(e){let t=s=>typeof s=="number"?vt(s):s;return e.anchors?we(nR,"scatterField",[e.at,t(e.count),t(e.seed),e.anchors,t(e.softness)]):we(aR,"scatterField",[e.at,t(e.count),t(e.seed),t(e.drift),t(e.aspect),t(e.time),t(e.softness)])}function Aw(e,t){let s=e.dimensions.width/Math.max(e.dimensions.height,1e-6);e.onResize(({width:o,height:n})=>{s=o/Math.max(n,1e-6)});let r="";return e.onBeforeRender(()=>{let o=e.getCpuValue("_animTime"),n=e.getCpuValue(t.count.name),i=e.getCpuValue(t.seed.name),d=e.getCpuValue(t.drift.name);if(typeof o!="number"||typeof n!="number"||typeof i!="number"||typeof d!="number")return;let c=`${n}|${i}|${d}|${s}|${o}`;c!==r&&(r=c,e.setExtraField(t.field,WY(n,i,d,s,o)))}),e.uniforms[t.field]}function Mw(e){return we(vz,"rampWrap",[e.t,typeof e.cycles=="number"?vt(e.cycles):e.cycles])}function Pw(e){let t=s=>typeof s=="number"?vt(s):s;return e.levels===1?we(rR(go,{name:"warpDomain1"}),"warpDomain1",[e.at,t(e.time),t(e.amount)]):we(sR(go,{name:"warpDomain"}),"warpDomain",[e.at,t(e.time),t(e.amount)])}function Ty(e){let t=s=>typeof s=="number"?vt(s):s;return we(iR,"chainedWarpStep",[e.at,vt(e.scale),t(e.z),Jt(e.offsets[0][0],e.offsets[0][1]),Jt(e.offsets[1][0],e.offsets[1][1]),vt(e.reach),t(e.strength)])}function Ew(e,t){return rG(t,e)}function kw(e){return(t,s,r)=>{let{uniforms:o}=r,n=ww(r.propValues[e.space.name]),i=Dt(e.a,r),d=Dt(e.b,r),c=Dt(e.c,r),_=Dt(e.d,r);if(n!==0){let u="";r.onBeforeRender(()=>{let y=[e.a.name,e.b.name,e.c.name,e.d.name].map(w=>r.getCpuValue(w));if(y.some(w=>!w))return;let h=y.map(w=>`${w.x},${w.y},${w.z}`).join("|");if(h===u)return;u=h;let g=["convA","convB","convC","convD"];y.forEach((w,S)=>{let T=s1(w.x,w.y,w.z,n);r.setExtraField(g[S],[T[0],T[1],T[2]])})});let m=ur(we(fa,"mixInSpace",[o.convA,i.member("a"),o.convB,d.member("a"),t]),"flowRow1"),p=ur(we(fa,"mixInSpace",[o.convC,c.member("a"),o.convD,_.member("a"),t]),"flowRow2");return we(Bv[n]??t1,"mixPreconvertedColors",[m.member("conv"),p.member("conv"),m.member("alpha"),p.member("alpha"),s])}return we(Bo,"mixColors",[ur(we(Bo,"mixColors",[i,d,t]),"flowRow1"),ur(we(Bo,"mixColors",[c,_,t]),"flowRow2"),s])}}function Qm(e,t){return typeof e=="number"?vt(e):e instanceof Jc||e.kind!=="ctx"?od(e,t):t.ctx[e.name]}function VY(e){return{uv:e.uvContext??e.ctx.uv,viewport:e.effectiveViewportSize??e.ctx.viewportSize}}function $w(e){return t=>{let{uv:s,viewport:r}=VY(t);return we(mz,"godraysFrame",[s,r,Dt(e,t)])}}function Uw(e,t,s){return r=>t(s?ur(e(r),s):e(r),r)}function Cw(e){return(t,s)=>we(pz,"godraysRayStack",[t,uo(s),Qm(e.density,s),Qm(e.intensity,s),Qm(e.spotty,s)])}function Rw(e){return t=>we(fz,"coverageOver",[Dt(e.color,t),Dt(e.background,t),e.coverage(t)])}var{sdfSpaceUV:NY,offsetUV:ol}=sw,{ANALYTIC_SDF_EXTRA_FIELDS:qY}=n1,{createVolumetricFieldComputeNode:XY,resolveShapeFieldSampler:HY,VOLUMETRIC_FIELD_EXTRA_FIELDS:jY}=yd,KY=0;function v1(e,t,s,r="guarded",o=[]){let n=KY++;return new Kt(i=>i.memo(`guard:${n}`,()=>{let d=i.freshLocal(r),c=e._emit(i),_=s._emit(i);for(let p of o)p._emit(i);let u=[],m=t._emit({external:(p,y)=>i.external(p,y),statement:p=>u.push(p),freshLocal:p=>i.freshLocal(p),memo:(p,y)=>i.memo(p,y)});return i.statement(`var ${d} = ${_};`),i.statement(`if (${c}) { + ${u.join(` + `)} + ${d} = ${m}; +}`),d}))}function y1(e,t){let s=we(Ez,"outsideShape",[e,t]);return new Kt(r=>`(!(${s._emit(r)}))`)}function h1(e){let t=e.pattern??"none",s=e.chord??"span",r=e.stencil??{kind:"forward",eps:.01},o=i=>XY(i,()=>i.getCpuValue("shape"),t,s),n=i=>{let{childNode:d,computeOutputs:c,convertToTexture:_,uniforms:u,ctx:m}=i,p;if(e.child==="required"){if(!d)return xr;p=c?.childTexture??_(d)}let{sampler:y,gradSampler:h,texelSampler:g,volumetric:w,bakedGradients:S}=HY(i,{patternMode:t,gradSampler:e.gradSampler??"fast",bakedGradients:e.bakedGradients??"none"}),T={sampler:y,gradSampler:h,texelSampler:g,volumetric:w,bakedGradients:S,volFlag:vt(w?1:0),childTexture:p};if(r!=="none"){let A=e.placeUV?e.placeUV(i):m.uv;if(T.sdfUV=ye(we(NY,"sdfSpaceUV",[u.center,u.scale,u.rotation,A,m.aspect]),"sdfUV"),T.surf0=(e.centreTap==="fast"?h:y)(T.sdfUV),r!=="centre"){let{kind:P,eps:U}=r;T.surfX=h(we(ol,"offsetUV",[T.sdfUV,vt(U),vt(0)])),P==="central"&&(T.surfL=h(we(ol,"offsetUV",[T.sdfUV,vt(-U),vt(0)]))),T.surfY=h(we(ol,"offsetUV",[T.sdfUV,vt(0),vt(U)])),P==="central"&&(T.surfD=h(we(ol,"offsetUV",[T.sdfUV,vt(0),vt(-U)])))}}return e.surface(T,i)};return{extraFields:{...jY,...qY},compute:o,gpu:{fragment:n}}}function x1(e,t,s={}){let{ctx:r}=t,o=ye(e.surf0,"s0"),n=ye(mr(1,r.viewportSize.member("y")),"pxH"),i=ye(s.scale?mr(o.member("x"),s.scale):o.member("x"),"sdf"),d=mr(r.viewportSize.member("x"),r.viewportSize.member("y"));return{s0:o,sX:e.surfX?ye(e.surfX,"sX"):void 0,sY:e.surfY?ye(e.surfY,"sY"):void 0,sdf:i,pxH:n,aspect:d}}function g1(e,t,s){let r=Zr(s.eps??.01),o=s.hint??"nGeo";if(e.volumetric)return ye(we(Az,"volumetricNormal",[t.s0,t.sX,t.sY,r,Zr(s.sharpness??5)]),o);let n=gr(mr(Pu(t.sdf),xa(s.bevelWidth,.003)),0,1);return ye(we(Mz,"bevelledFlatNormal",[we(Sz,"fieldGradient",[t.s0,t.sX,t.sY,r]),we(zG,"bevelSin",[n,s.bevelShape])]),o)}function zw(e,t,s={}){return ye(we(Pz,"patternCoords",[s.uv??e.sdfUV,t.s0,e.volFlag]),"pat")}function b1(e,t,s=.6){return ye(we(kz,"perspectiveViewRay",[e.ctx.uv,t.aspect,Zr(s)]),"viewI")}function Gw(e,t,s){let r=o=>typeof o=="number"?Zr(o):o;return we(Iz,"studio5Softbox",[e,t,s.rotation.member("x"),s.rotation.member("y"),r(s.keyRadius),r(s.drift),r(s.strength),Zr(s.skyGain)])}function w1(e,t){return we(Uz,"silhouetteAlpha",[e.sdf,t,e.pxH])}function Yw(e){return we(a7,"tonemapNeutral",[e])}function Lw(e,t,s,r="n"){return ye(we(Gz,"nudgeNormal",[e,t,s]),r)}function T1(e,t,s="kl"){return ZY(e.member("x"),e.member("y"),t,s)}function ZY(e,t,s,r="kl"){return ye(we(Cz,"keyLight",[e,t,Zr(s)]),r)}function Iw(e,t,s){return we(Rz,"sharpGlint",[e,t,s])}function Dw(e,t){return we(zz,"clampedPerlinGrad",[e,typeof t=="number"?Zr(t):t])}function Wb(e,t){return we(Yz,"opticalThickness",[e.sdf,t.volFlag])}function Fw(e,t){return we(Lz,"flowWarpOffset",[e,t])}function ga(e){return we(Ei,"mxNoiseFloat2",[e])}function Sn(e){return we(go,"mxNoiseFloat3",[e])}function QY(e){return we(jC,"mxWorleyNoiseFloat2Pub",[e,Zr(1)])}function Bw(e,t){return we(Ot,"hash12",[Jt(e,t)])}function Ww(e){let t=ye(e.gradSampler(Jt(.5,.5)),"s0C");return{x:ye(N(Pu(t.member("y")),e.volFlag),"rotSenseX"),y:ye(N(Pu(t.member("z")),e.volFlag),"rotSenseY")}}function Ow(e,t,s){let r=ye(fs(e.sdfUV.member("x"),.5),"cx"),o=ye(fs(e.sdfUV.member("y"),.5),"cy");return{x:ye($e(r,N(t.member("x"),s)),"bentX"),y:ye($e(o,N(t.member("y"),s)),"bentY"),centered:{x:r,y:o}}}function Sy(e,t,s){return $e(fs(1,s.amount),N(Uo($e(N(e,s.rate),N(t,s.spread))),s.amount))}function Ay(e,t){let s=t.hint??"stars",r=ye($e(N(ga(N(e,t.variationFreq)),.5),.5),`${s}V`),o=t.shimmer?t.shimmer(r):Zr(1),n=ye(N(N(N(Ss($e(t.radius[0],N(r,t.radius[1])),5e-4,QY(e)),Ss(t.keep[0],t.keep[1],r)),N($e(t.brightness[0],N(N(r,r),t.brightness[1])),o)),t.gain),s);return{glint:n,variation:r,rgb:t.tint?N(Co(tr(...t.tint.from),tr(...t.tint.to),ln(r)),ln(N(n,t.tint.gain))):void 0}}function Vw(e,t){let s=t.softness?ye(LY(Co(2,-2,t.softness)),"lobeWiden"):void 0,r=o=>s?N(o,s):Zr(o);return N($e(N(nd(e,r(t.core[0])),t.core[1]),N(nd(e,r(t.halo[0])),t.halo[1])),t.gain)}function Nw(e,t,s){let r=ye(N(e.s0.member("w"),t.volFlag),"rayEntry"),o=ye(s.lengthScale===void 0?Wb(e,t):N(Wb(e,t),s.lengthScale),"rayLen"),n=s.view?ye(N(s.view.member("x"),s.shear??1),"rayShearX"):void 0,i=s.view?ye(N(s.view.member("y"),s.shear??1),"rayShearY"):void 0;return{entry:r,length:o,at(d){return{x:n?$e(s.origin.x,N(n,d)):s.origin.x,y:i?$e(s.origin.y,N(i,d)):s.origin.y}}}}function My(e,t){let s=t.hint??"plane",r=ye($e(e.entry,N(e.length,t.depth)),`${s}Z`),o=e.at(r);if(!t.pan)return{x:o.x,y:o.y,z:r};let n=t.panRate??1;return{x:$e(o.x,N(t.pan.x,n)),y:$e(o.y,N(t.pan.y,n)),z:r}}function qw(e,t){let s=t.hint??"",r=t.drift,o=t.seed,n=(m,p,y,h)=>{let g=p===void 0?N(m,t.frequency):N(m,N(t.frequency,p));return r&&(g=$e(g,y===1?r:N(r,y))),o&&(g=$e(g,h===1?o:N(o,h))),g},i=ye(tr(n(e.x,void 0,1,1),n(e.y,void 0,-.7,.53),n(e.z,1.25,1.3,.79)),`q${s}`),d=ye(Sn(r?$e(N(i,.5),tr(N(r,1.4),0,N(r,-.9))):N(i,.5)),`warp${s}`),c=t.billow?ye($e(i,N(tr(d,N(d,-.73),N(d,.41)),t.billow)),`qw${s}`):i,_=ye(Sn($e(N(c,2.13),tr(5.2,1.3,8.4))),`mid${s}`),u=ye(Sn($e(N(c,4.31),tr(9.1,3.7,1.2))),`fine${s}`);return{density:ye(N($e($e(Sn(c),N(_,.5)),N(u,.27)),.57),`fbm${s}`),mid:_,fine:u}}function Xw(e,t){let s=ln(1),r=tr(0,0,0);for(let o=0;oe))(ut({center:l,lightPos:pt(x,8),lightColor:pt(x,8),lightCount:a,scale:a,rotation:a,aspect:a,reach:a,wrap:a,lightRange:a,shadowSoftness:a,eps:a,res:a,frame:a,rays:a,saRadius:a,saSides:a,saRounding:a,saInnerRatio:a,saRotation:a,saHeight:a,saOffset:a,saAperture:a,vfOriginX:a,vfOriginY:a,vfSpanX:a,vfSpanY:a,vfActiveRes:a,vfRBound:a}),"IrradianceParams"),ai={storageTexture:Mo(JY,"write-only")},XO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Py},outTex:ai}),"irradianceAnalyticLayout"),Jm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Py},outTex:ai,sdfSource:{texture:ps(a)},samp:{sampler:"filtering"}}),"irradianceSvgLayout"),nl=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Py},outTex:ai,silhouetteTex:{texture:ps(a)},samp:{sampler:"filtering"}}),"irradianceFieldLayout"),ep=1e3,ku=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return b(oe(t,ep),__tsover_mul(ep,-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[6,"std.max",[[6,"std.min",["v","FAR"]],[1,"FAR","*",[4,"-",[5,"1"]]]]]]]]},externals:{"std.max":()=>b,"std.min":()=>oe,FAR:()=>ep}})&&e.f)({})).$name("irradianceSane"),Ob=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=$(t,l(0,0),l(1,1));return j(t.sub(s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"c",[6,"std.clamp",["uv",[6,"d.vec2f",[[5,"0"],[5,"0"]]],[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]],[10,[6,"std.length",[[6,[7,"uv","sub"],["c"]]]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l,"std.length":()=>j}})&&e.f)({})).$name("irradianceBeyondSquare");var HO=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=zl(Jm.$.sdfSource,Jm.$.samp,t,a(0)).x,r=Ob(t);return ku(C(s,b(r,__tsover_sub(s,r)),r>0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"border",[7,[6,"std.textureSampleLevel",[[7,[7,"irradianceSvgLayout","$"],"sdfSource"],[7,[7,"irradianceSvgLayout","$"],"samp"],"uv",[6,"d.f32",[[5,"0"]]]]],"x"]],[13,"beyond",[6,"beyondSquare",["uv"]]],[10,[6,"sane",[[6,"std.select",["border",[6,"std.max",["beyond",[1,"border","-","beyond"]]],[1,"beyond",">",[5,"0"]]]]]]]]]},externals:{"std.textureSampleLevel":()=>zl,irradianceSvgLayout:()=>Jm,"d.f32":()=>a,beyondSquare:()=>Ob,sane:()=>ku,"std.select":()=>C,"std.max":()=>b}})&&e.f)({})).$name("irradianceSvgField"),jO=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=nl.$.params,r=$(t.x,s.vfOriginX,__tsover_add(s.vfOriginX,s.vfSpanX)),o=$(t.y,s.vfOriginY,__tsover_add(s.vfOriginY,s.vfSpanY)),n=j(l(__tsover_sub(t.x,r),__tsover_sub(t.y,o))),i=__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),s.vfRBound),d=l(__tsover_div(__tsover_sub(r,s.vfOriginX),s.vfSpanX),__tsover_div(__tsover_sub(o,s.vfOriginY),s.vfSpanY)),c=zl(nl.$.silhouetteTex,nl.$.samp,d,a(0)),_=__tsover_mul(c.z,c.w);return ku(C(_,b(b(n,i),__tsover_sub(_,n)),n>0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"p",[7,[7,"irradianceFieldLayout","$"],"params"]],[13,"cx",[6,"std.clamp",[[7,"uv","x"],[7,"p","vfOriginX"],[1,[7,"p","vfOriginX"],"+",[7,"p","vfSpanX"]]]]],[13,"cy",[6,"std.clamp",[[7,"uv","y"],[7,"p","vfOriginY"],[1,[7,"p","vfOriginY"],"+",[7,"p","vfSpanY"]]]]],[13,"outside",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","cx"],[1,[7,"uv","y"],"-","cy"]]]]]],[13,"circle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-",[7,"p","vfRBound"]]],[13,"tuv",[6,"d.vec2f",[[1,[1,"cx","-",[7,"p","vfOriginX"]],"/",[7,"p","vfSpanX"]],[1,[1,"cy","-",[7,"p","vfOriginY"]],"/",[7,"p","vfSpanY"]]]]],[13,"sil",[6,"std.textureSampleLevel",[[7,[7,"irradianceFieldLayout","$"],"silhouetteTex"],[7,[7,"irradianceFieldLayout","$"],"samp"],"tuv",[6,"d.f32",[[5,"0"]]]]]],[13,"inDomain",[1,[7,"sil","z"],"*",[7,"sil","w"]]],[13,"beyond",[6,"std.max",[[6,"std.max",["outside","circle"]],[1,"inDomain","-","outside"]]]],[10,[6,"sane",[[6,"std.select",["inDomain","beyond",[1,"outside",">",[5,"0"]]]]]]]]]},externals:{irradianceFieldLayout:()=>nl,"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.textureSampleLevel":()=>zl,"d.f32":()=>a,"std.max":()=>b,sane:()=>ku,"std.select":()=>C}})&&e.f)({})).$name("irradianceVolumetricField"),Kw=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({vfOriginX:a,vfOriginY:a,vfSpanX:a,vfSpanY:a,vfActiveRes:a,vfRBound:a,res:a,step:a}),"SilhouetteParams"),Ii=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Kw},fieldTex:{texture:ps(a),sampleType:"unfilterable-float"},out:ai}),"silhouetteSeedLayout"),Kd=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Kw},src:{texture:ps(a)},out:ai}),"silhouetteStepLayout"),{fieldSampleFastArg:Vb}=ay(),Ai=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ii.$.params,o=Vb(l(__tsover_add(r.vfOriginX,__tsover_mul(__tsover_div(__tsover_add(t,.5),r.res),r.vfSpanX)),__tsover_add(r.vfOriginY,__tsover_mul(__tsover_div(__tsover_add(s,.5),r.res),r.vfSpanY))),Ii.$.fieldTex,r.vfOriginX,r.vfOriginY,r.vfSpanX,r.vfSpanY,r.vfActiveRes,r.vfRBound).x;return C(a(1),a(-1),o<0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"tx"},{type:"i",name:"ty"}],body:[0,[[13,"p",[7,[7,"silhouetteSeedLayout","$"],"params"]],[13,"uv",[6,"d.vec2f",[[1,[7,"p","vfOriginX"],"+",[1,[1,[1,"tx","+",[5,"0.5"]],"/",[7,"p","res"]],"*",[7,"p","vfSpanX"]]],[1,[7,"p","vfOriginY"],"+",[1,[1,[1,"ty","+",[5,"0.5"]],"/",[7,"p","res"]],"*",[7,"p","vfSpanY"]]]]]],[13,"v",[7,[6,"fieldSampleFastArg",["uv",[7,[7,"silhouetteSeedLayout","$"],"fieldTex"],[7,"p","vfOriginX"],[7,"p","vfOriginY"],[7,"p","vfSpanX"],[7,"p","vfSpanY"],[7,"p","vfActiveRes"],[7,"p","vfRBound"]]],"x"]],[10,[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"d.f32",[[4,"-",[5,"1"]]]],[1,"v","<",[5,"0"]]]]]]]},externals:{silhouetteSeedLayout:()=>Ii,"d.vec2f":()=>l,fieldSampleFastArg:()=>Vb,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})).$name("silhouetteInside"),KO=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ii.$.params,o=a(t),n=a(s),i=Ai(o,n),d=__tsover_sub(r.res,1),c=Ai(b(__tsover_sub(o,1),0),n),_=Ai(oe(__tsover_add(o,1),d),n),u=Ai(o,b(__tsover_sub(n,1),0)),m=Ai(o,oe(__tsover_add(n,1),d)),p=c!==i||_!==i||u!==i||m!==i,y=__tsover_add(r.vfOriginX,__tsover_mul(__tsover_div(__tsover_add(o,.5),r.res),r.vfSpanX)),h=__tsover_add(r.vfOriginY,__tsover_mul(__tsover_div(__tsover_add(n,.5),r.res),r.vfSpanY)),g=C(x(-1,-1,6e4,i),x(y,h,0,i),p);jr(Ii.$.out,Ge(t,s),g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"p",[7,[7,"silhouetteSeedLayout","$"],"params"]],[13,"fx",[6,"d.f32",["cx"]]],[13,"fy",[6,"d.f32",["cy"]]],[13,"s0",[6,"silhouetteInside",["fx","fy"]]],[13,"maxT",[1,[7,"p","res"],"-",[5,"1"]]],[13,"sL",[6,"silhouetteInside",[[6,"std.max",[[1,"fx","-",[5,"1"]],[5,"0"]]],"fy"]]],[13,"sR",[6,"silhouetteInside",[[6,"std.min",[[1,"fx","+",[5,"1"]],"maxT"]],"fy"]]],[13,"sD",[6,"silhouetteInside",["fx",[6,"std.max",[[1,"fy","-",[5,"1"]],[5,"0"]]]]]],[13,"sU",[6,"silhouetteInside",["fx",[6,"std.min",[[1,"fy","+",[5,"1"]],"maxT"]]]]],[13,"boundary",[3,[3,[3,[1,"sL","!==","s0"],"||",[1,"sR","!==","s0"]],"||",[1,"sD","!==","s0"]],"||",[1,"sU","!==","s0"]]],[13,"sx",[1,[7,"p","vfOriginX"],"+",[1,[1,[1,"fx","+",[5,"0.5"]],"/",[7,"p","res"]],"*",[7,"p","vfSpanX"]]]],[13,"sy",[1,[7,"p","vfOriginY"],"+",[1,[1,[1,"fy","+",[5,"0.5"]],"/",[7,"p","res"]],"*",[7,"p","vfSpanY"]]]],[13,"seed",[6,"std.select",[[6,"d.vec4f",[[4,"-",[5,"1"]],[4,"-",[5,"1"]],[5,"60000"],"s0"]],[6,"d.vec4f",["sx","sy",[5,"0"],"s0"]],"boundary"]]],[6,"std.textureStore",[[7,[7,"silhouetteSeedLayout","$"],"out"],[6,"d.vec2u",["cx","cy"]],"seed"]]]]},externals:{silhouetteSeedLayout:()=>Ii,"d.f32":()=>a,silhouetteInside:()=>Ai,"std.max":()=>b,"std.min":()=>oe,"std.select":()=>C,"d.vec4f":()=>x,"std.textureStore":()=>jr,"d.vec2u":()=>Ge}})&&e.f)({})).$name("silhouetteSeed"),ZO=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Kd.$.params,o=a(t),n=a(s),i=l(__tsover_add(r.vfOriginX,__tsover_mul(__tsover_div(__tsover_add(o,.5),r.res),r.vfSpanX)),__tsover_add(r.vfOriginY,__tsover_mul(__tsover_div(__tsover_add(n,.5),r.res),r.vfSpanY))),d=Be(Kd.$.src,Ge(t,s),0),c=x(d),_=__tsover_sub(r.res,1);for(let u=-1;u<=1;u++)for(let m=-1;m<=1;m++){let p=$(__tsover_add(o,__tsover_mul(a(m),r.step)),0,_),y=$(__tsover_add(n,__tsover_mul(a(u),r.step)),0,_),h=Be(Kd.$.src,Ge(R(p),R(y)),0);if(h.x>=0){let g=j(h.xy.sub(i));g=",[5,"0"]],[0,[[13,"dist",[6,"std.length",[[6,[7,[7,"n","xy"],"sub"],["here"]]]]],[11,[1,"dist","<",[7,"best","z"]],[0,[[2,"best","=",[6,"d.vec4f",[[7,"n","x"],[7,"n","y"],"dist",[7,"best","w"]]]]]]]]]]]]]]]],[6,"std.textureStore",[[7,[7,"silhouetteStepLayout","$"],"out"],[6,"d.vec2u",["cx","cy"]],[6,"d.vec4f",[[7,"best","x"],[7,"best","y"],[7,"best","z"],[7,"self","w"]]]]]]]},externals:{silhouetteStepLayout:()=>Kd,"d.f32":()=>a,"d.vec2f":()=>l,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"d.vec4f":()=>x,"std.clamp":()=>$,"d.u32":()=>R,"std.length":()=>j,"std.textureStore":()=>jr}})&&e.f)({})).$name("silhouetteStep");var eL=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({weight:a}),"AccumulateParams"),Zd=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({sample:{texture:ps(a)},prev:{texture:ps(a)},out:ai,params:{uniform:eL}}),"accumulateLayout"),QO=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ge(t,s),o=Be(Zd.$.sample,r,0),n=Be(Zd.$.prev,r,0),i=Zd.$.params.weight;jr(Zd.$.out,r,C(n.add(o.sub(n).mul(i)),o,i>=1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"at",[6,"d.vec2u",["cx","cy"]]],[13,"s",[6,"std.textureLoad",[[7,[7,"accumulateLayout","$"],"sample"],"at",[5,"0"]]]],[13,"prev",[6,"std.textureLoad",[[7,[7,"accumulateLayout","$"],"prev"],"at",[5,"0"]]]],[13,"w",[7,[7,[7,"accumulateLayout","$"],"params"],"weight"]],[6,"std.textureStore",[[7,[7,"accumulateLayout","$"],"out"],"at",[6,"std.select",[[6,[7,"prev","add"],[[6,[7,[6,[7,"s","sub"],["prev"]],"mul"],["w"]]]],"s",[1,"w",">=",[5,"1"]]]]]]]]},externals:{"d.vec2u":()=>Ge,"std.textureLoad":()=>Be,accumulateLayout:()=>Zd,"std.textureStore":()=>jr,"std.select":()=>C}})&&e.f)({})).$name("irradianceAccumulate"),tp=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({src:{texture:ps(a)},out:ai}),"copyLayout"),JO=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ge(t,s);jr(tp.$.out,r,Be(tp.$.src,r,0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"at",[6,"d.vec2u",["cx","cy"]]],[6,"std.textureStore",[[7,[7,"copyLayout","$"],"out"],"at",[6,"std.textureLoad",[[7,[7,"copyLayout","$"],"src"],"at",[5,"0"]]]]]]]},externals:{"d.vec2u":()=>Ge,"std.textureStore":()=>jr,copyLayout:()=>tp,"std.textureLoad":()=>Be}})&&e.f)({})).$name("irradianceCopy");var{createSdfDataTexture:eV,analyticSubPropValues:tV,parseShapeConfigValue:sV}=n1,{createVolumetricFieldComputeNode:rV}=yd;var oV=[[1/16,-3/16],[-1/16,3/16],[5/16,1/16],[-3/16,-5/16],[-5/16,5/16],[-7/16,-1/16],[3/16,7/16],[7/16,-7/16]];var tL=Le;function bd(e){let t=e.uvContext??e.ctx.uv,s=e.effectiveViewportSize??e.ctx.viewportSize;return{uv:t,viewport:s,aspect:ye(mr(s.member("x"),s.member("y")),"aspect")}}function s_(e,t="dir"){let s=N(e,tL);return ye(Jt(t_(s),Uo(s)),t)}var nV=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(t.x,__tsover_sub(__tsover_mul(s,2),t.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"lineY"}],body:[0,[[10,[6,"d.vec2f",[[7,"uv","x"],[1,[1,"lineY","*",[5,"2"]],"-",[7,"uv","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),aV=v.fn([x,x,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=b(__tsover_sub(r,o),0),c=b(n,.001),_=b(__tsover_mul(c,i),1e-4),u=__tsover_sub(c,_),m=__tsover_sub(1,re(u,c,d)),p=__tsover_mul(s.w,m),y=__tsover_sub(1,p);return X(t,x(s.xyz.mul(m).add(t.xyz.mul(y)),__tsover_add(p,__tsover_mul(t.w,y))),x(De(o,r)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"original"},{type:"i",name:"refl"},{type:"i",name:"uvY"},{type:"i",name:"lineY"},{type:"i",name:"distance"},{type:"i",name:"falloff"}],body:[0,[[13,"distBelow",[6,"std.max",[[1,"uvY","-","lineY"],[5,"0"]]]],[13,"distanceMax",[6,"std.max",["distance",[5,"0.001"]]]],[13,"fadeWidth",[6,"std.max",[[1,"distanceMax","*","falloff"],[5,"0.0001"]]]],[13,"fadeStart",[1,"distanceMax","-","fadeWidth"]],[13,"visibility",[1,[5,"1"],"-",[6,"std.smoothstep",["fadeStart","distanceMax","distBelow"]]]],[13,"effReflA",[1,[7,"refl","w"],"*","visibility"]],[13,"oneMinusReflA",[1,[5,"1"],"-","effReflA"]],[13,"belowRgb",[6,[7,[6,[7,[7,"refl","xyz"],"mul"],["visibility"]],"add"],[[6,[7,[7,"original","xyz"],"mul"],["oneMinusReflA"]]]]],[13,"belowA",[1,"effReflA","+",[1,[7,"original","w"],"*","oneMinusReflA"]]],[13,"belowLine",[6,"d.vec4f",["belowRgb","belowA"]]],[13,"isBelowLine",[6,"std.step",["lineY","uvY"]]],[10,[6,"std.mix",["original","belowLine",[6,"d.vec4f",["isBelowLine"]]]]]]]},externals:{"std.max":()=>b,"std.smoothstep":()=>re,"d.vec4f":()=>x,"std.step":()=>De,"std.mix":()=>X}})&&e.f)({}));var iV=v.fn([x,x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=r.w,n=$(s.xyz.mul(r.xyz).mul(o),f(0,0,0),f(1,1,1)),i=f(1,1,1),d=i.sub(i.sub(t.xyz).mul(i.sub(n))),c=__tsover_add(t.w,__tsover_mul(__tsover_mul(s.w,o),__tsover_sub(1,t.w)));return x(d.x,d.y,d.z,$(c,0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"glow"},{type:"i",name:"tintStrength"}],body:[0,[[13,"strength",[7,"tintStrength","w"]],[13,"bloomC",[6,"std.clamp",[[6,[7,[6,[7,[7,"glow","xyz"],"mul"],[[7,"tintStrength","xyz"]]],"mul"],["strength"]],[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]],[13,"one",[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]],[13,"screened",[6,[7,"one","sub"],[[6,[7,[6,[7,"one","sub"],[[7,"base","xyz"]]],"mul"],[[6,[7,"one","sub"],["bloomC"]]]]]]],[13,"a",[1,[7,"base","w"],"+",[1,[1,[7,"glow","w"],"*","strength"],"*",[1,[5,"1"],"-",[7,"base","w"]]]]],[10,[6,"d.vec4f",[[7,"screened","x"],[7,"screened","y"],[7,"screened","z"],[6,"std.clamp",["a",[5,"0"],[5,"1"]]]]]]]]},externals:{"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})).$name("tintedScreenGlow");var dV=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s,.006),n=__tsover_mul(__tsover_add(__tsover_mul(Y(__tsover_mul(r,1.7)),.5),__tsover_mul(Y(__tsover_add(__tsover_mul(r,.9),1.3)),.5)),o),i=__tsover_mul(__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(r,1.3),.7)),.5),__tsover_mul(Y(__tsover_mul(r,2.3)),.5)),o),d=__tsover_mul(__tsover_mul(Y(__tsover_mul(r,.6)),s),.004),c=H(d),_=Y(d),u=t.sub(l(.5,.5)),m=__tsover_sub(__tsover_mul(u.x,c),__tsover_mul(u.y,_)),p=__tsover_add(__tsover_mul(u.x,_),__tsover_mul(u.y,c));return l(__tsover_add(__tsover_add(m,.5),n),__tsover_add(__tsover_add(p,.5),i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"amount"},{type:"i",name:"t"}],body:[0,[[13,"amp",[1,"amount","*",[5,"0.006"]]],[13,"ox",[1,[1,[1,[6,"std.sin",[[1,"t","*",[5,"1.7"]]]],"*",[5,"0.5"]],"+",[1,[6,"std.sin",[[1,[1,"t","*",[5,"0.9"]],"+",[5,"1.3"]]]],"*",[5,"0.5"]]],"*","amp"]],[13,"oy",[1,[1,[1,[6,"std.sin",[[1,[1,"t","*",[5,"1.3"]],"+",[5,"0.7"]]]],"*",[5,"0.5"]],"+",[1,[6,"std.sin",[[1,"t","*",[5,"2.3"]]]],"*",[5,"0.5"]]],"*","amp"]],[13,"ang",[1,[1,[6,"std.sin",[[1,"t","*",[5,"0.6"]]]],"*","amount"],"*",[5,"0.004"]]],[13,"c",[6,"std.cos",["ang"]]],[13,"s",[6,"std.sin",["ang"]]],[13,"p",[6,[7,"uv","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"rx",[1,[1,[7,"p","x"],"*","c"],"-",[1,[7,"p","y"],"*","s"]]],[13,"ry",[1,[1,[7,"p","x"],"*","s"],"+",[1,[7,"p","y"],"*","c"]]],[10,[6,"d.vec2f",[[1,[1,"rx","+",[5,"0.5"]],"+","ox"],[1,[1,"ry","+",[5,"0.5"]],"+","oy"]]]]]]},externals:{"std.sin":()=>Y,"std.cos":()=>H,"d.vec2f":()=>l}})&&e.f)({})).$name("swayUV");var vc=ao,Nb=.35,cV=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_mul(.18,t),r=Ce(z(Y(__tsover_mul(s,vc))),10),o=Ce(z(Y(__tsover_mul(__tsover_sub(s,.15),vc))),10);return $(__tsover_add(r,__tsover_mul(.6,o)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"animTime"}],body:[0,[[13,"time",[1,[5,"0.18"],"*","animTime"]],[13,"first",[6,"std.pow",[[6,"std.abs",[[6,"std.sin",[[1,"time","*","TWO_PI"]]]]],[5,"10"]]]],[13,"second",[6,"std.pow",[[6,"std.abs",[[6,"std.sin",[[1,[1,"time","-",[5,"0.15"]],"*","TWO_PI"]]]]],[5,"10"]]]],[10,[6,"std.clamp",[[1,"first","+",[1,[5,"0.6"],"*","second"]],[5,"0"],[5,"1"]]]]]]},externals:{"std.pow":()=>Ce,"std.abs":()=>z,"std.sin":()=>Y,TWO_PI:()=>vc,"std.clamp":()=>$}})&&e.f)({})),_V=v.fn([a,l,l,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=__tsover_add(__tsover_mul(_,1.2),131),y=b(__tsover_mul(__tsover_mul(.5,n),Nb),.002),h=z(__tsover_add(__tsover_div(t,b(o,.001)),X(y,a(0),i))),g=X(y,__tsover_mul(3,y),i),w=__tsover_div(2,__tsover_mul(r.y,b(o,.001))),S=oe(X(g,__tsover_mul(g,-1),i),__tsover_add(g,w)),T=b(X(g,__tsover_mul(g,-1),i),__tsover_add(g,w)),A=__tsover_sub(1,re(S,T,h));A=Ce($(A,0,1),__tsover_add(1,i));let P=l(__tsover_sub(s.x,.5),__tsover_sub(s.y,.5)).mul(__tsover_add(.5,__tsover_mul(2.5,d))),U=__tsover_mul(.5,p),D=Br(l(__tsover_add(__tsover_mul(P.x,2.7),U),__tsover_add(__tsover_mul(P.y,2.7),U))),O=Br(l(__tsover_sub(__tsover_mul(P.x,3.4),U),__tsover_sub(__tsover_mul(P.y,3.4),U))),L=__tsover_sub($(__tsover_mul(3,D),0,1),O),G=$(__tsover_add(y,.2),.1,.4),W=Ce($(__tsover_sub(1,re(__tsover_mul(G,-1),__tsover_add(G,w),h)),0,1),2);L=__tsover_mul(L,W),L=__tsover_mul(__tsover_mul(__tsover_mul(30,L),L),__tsover_mul(__tsover_mul(.5,c),c)),L=__tsover_mul(L,X(a(1),m,u)),A=$(__tsover_add(A,$(L,0,1)),0,1);let K=__tsover_div(tt(__tsover_sub(s.y,.5),__tsover_sub(s.x,.5)),vc);return l(A,K)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fieldRaw"},{type:"i",name:"sdfUV"},{type:"i",name:"viewport"},{type:"i",name:"scale"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"smokeSize"},{type:"i",name:"smokeAmt"},{type:"i",name:"animTime"},{type:"i",name:"pulse"},{type:"i",name:"beat"}],body:[0,[[13,"t",[1,[1,"animTime","*",[5,"1.2"]],"+",[5,"131"]]],[13,"th",[6,"std.max",[[1,[1,[5,"0.5"],"*","thickness"],"*","BAND_THICKNESS_REF"],[5,"0.002"]]]],[13,"f",[1,[1,"fieldRaw","/",[6,"std.max",["scale",[5,"0.001"]]]],"+",[6,"std.mix",["th",[6,"d.f32",[[5,"0"]]],"softness"]]]],[13,"bd",[6,"std.abs",["f"]]],[13,"borderTh",[6,"std.mix",["th",[1,[5,"3"],"*","th"],"softness"]]],[13,"aa",[1,[5,"2"],"/",[1,[7,"viewport","y"],"*",[6,"std.max",["scale",[5,"0.001"]]]]]],[13,"e0",[6,"std.min",[[6,"std.mix",["borderTh",[1,"borderTh","*",[4,"-",[5,"1"]]],"softness"]],[1,"borderTh","+","aa"]]]],[13,"e1",[6,"std.max",[[6,"std.mix",["borderTh",[1,"borderTh","*",[4,"-",[5,"1"]]],"softness"]],[1,"borderTh","+","aa"]]]],[12,"border",[1,[5,"1"],"-",[6,"std.smoothstep",["e0","e1","bd"]]]],[2,"border","=",[6,"std.pow",[[6,"std.clamp",["border",[5,"0"],[5,"1"]]],[1,[5,"1"],"+","softness"]]]],[13,"suv",[6,[7,[6,"d.vec2f",[[1,[7,"sdfUV","x"],"-",[5,"0.5"]],[1,[7,"sdfUV","y"],"-",[5,"0.5"]]]],"mul"],[[1,[5,"0.5"],"+",[1,[5,"2.5"],"*","smokeSize"]]]]],[13,"drift",[1,[5,"0.5"],"*","t"]],[13,"n1",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,[7,"suv","x"],"*",[5,"2.7"]],"+","drift"],[1,[1,[7,"suv","y"],"*",[5,"2.7"]],"+","drift"]]]]]],[13,"n2",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,[7,"suv","x"],"*",[5,"3.4"]],"-","drift"],[1,[1,[7,"suv","y"],"*",[5,"3.4"]],"-","drift"]]]]]],[12,"smoke",[1,[6,"std.clamp",[[1,[5,"3"],"*","n1"],[5,"0"],[5,"1"]]],"-","n2"]],[13,"smokeTh",[6,"std.clamp",[[1,"th","+",[5,"0.2"]],[5,"0.1"],[5,"0.4"]]]],[13,"smokeBand",[6,"std.pow",[[6,"std.clamp",[[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"smokeTh","*",[4,"-",[5,"1"]]],[1,"smokeTh","+","aa"],"bd"]]],[5,"0"],[5,"1"]]],[5,"2"]]]],[2,"smoke","=",[1,"smoke","*","smokeBand"]],[2,"smoke","=",[1,[1,[1,[5,"30"],"*","smoke"],"*","smoke"],"*",[1,[1,[5,"0.5"],"*","smokeAmt"],"*","smokeAmt"]]],[2,"smoke","=",[1,"smoke","*",[6,"std.mix",[[6,"d.f32",[[5,"1"]]],"beat","pulse"]]]],[2,"border","=",[6,"std.clamp",[[1,"border","+",[6,"std.clamp",["smoke",[5,"0"],[5,"1"]]]],[5,"0"],[5,"1"]]]],[13,"angle01",[1,[6,"std.atan2",[[1,[7,"sdfUV","y"],"-",[5,"0.5"]],[1,[7,"sdfUV","x"],"-",[5,"0.5"]]]],"/","TWO_PI"]],[10,[6,"d.vec2f",["border","angle01"]]]]]},externals:{"std.max":()=>b,BAND_THICKNESS_REF:()=>Nb,"std.mix":()=>X,"d.f32":()=>a,"std.abs":()=>z,"std.min":()=>oe,"std.smoothstep":()=>re,"std.pow":()=>Ce,"std.clamp":()=>$,"d.vec2f":()=>l,"noise.value12":()=>Br,"std.atan2":()=>tt,TWO_PI:()=>vc}})&&e.f)({})),lV=v.fn([a,a,a,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=__tsover_add(__tsover_mul(r,1.2),131),y=__tsover_add(1,__tsover_mul(__tsover_add(1,__tsover_mul(4,_)),c)),h=a(0),g=a(0);for(let w=0;w<5;w++){let S=a(w),T=C(a(0),a(1),Sa,"std.select":()=>C,"noise.hash22":()=>er,"d.vec2f":()=>l,"std.abs":()=>z,"std.sin":()=>Y,"std.cos":()=>H,"std.floor":()=>q,"std.clamp":()=>$,"std.mix":()=>X,"std.fract":()=>ue,"std.smoothstep":()=>re}})&&e.f)({})),gl=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({rgb:f,w:a,ba:a,ac:f,aa:a}),"EdgeGlowAccum"),uV=v.fn([],gl)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(()=>{"use gpu";return gl({rgb:f(0,0,0),w:a(0),ba:a(0),ac:f(0,0,0),aa:a(0)})}),{v:2,name:void 0,ast:{params:[],body:[0,[[10,[6,"EdgeGlowAccum",[[104,{rgb:[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],w:[6,"d.f32",[[5,"0"]]],ba:[6,"d.f32",[[5,"0"]]],ac:[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],aa:[6,"d.f32",[[5,"0"]]]}]]]]]]},externals:{EdgeGlowAccum:()=>gl,"d.vec3f":()=>f,"d.f32":()=>a}})&&e.f)({}));var mV=v.fn([pt(x,8),a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t[Z(s)];return x(r.x,r.y,r.z,r.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colors"},{type:"i",name:"idx"}],body:[0,[[13,"c",[8,"colors",[6,"d.i32",["idx"]]]],[10,[6,"d.vec4f",[[7,"c","x"],[7,"c","y"],[7,"c","z"],[7,"c","w"]]]]]]},externals:{"d.i32":()=>Z,"d.vec4f":()=>x}})&&e.f)({})),pV=v.fn([gl,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(s,4),o=X(t.rgb.mul(t.ba),t.ac,f(r)),n=$(X(t.ba,t.aa,r),0,1);return x($(o.div(b(n,1e-4)),f(0),f(1)),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"st"},{type:"i",name:"bloom"}],body:[0,[[13,"k",[1,"bloom","*",[5,"4"]]],[13,"blendPremult",[6,[7,[7,"st","rgb"],"mul"],[[7,"st","ba"]]]],[13,"accumC",[6,"std.mix",["blendPremult",[7,"st","ac"],[6,"d.vec3f",["k"]]]]],[13,"accumA",[6,"std.clamp",[[6,"std.mix",[[7,"st","ba"],[7,"st","aa"],"k"]],[5,"0"],[5,"1"]]]],[13,"straight",[6,"std.clamp",[[6,[7,"accumC","div"],[[6,"std.max",["accumA",[5,"0.0001"]]]]],[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]],[10,[6,"d.vec4f",["straight","accumA"]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f,"std.clamp":()=>$,"std.max":()=>b,"d.vec4f":()=>x}})&&e.f)({}));var sp=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({crackIntensity:a,edgeNormal:l,displacedUV:l,disp:l}),"CrackGeom"),fV=v.fn([l,a,a,a,a,a,a,a],sp)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=l(s,r),u=l(o,n),m=l(i,d),p=t.sub(_),y=j(p),h=j(t.sub(u)),g=j(m),w=__tsover_sub(h,y),S=__tsover_mul(c,.005),T=__tsover_sub(1,re(0,S,w)),A=re(0,.01,g),P=__tsover_mul(T,A),U=p.div(b(y,1e-5));return sp({crackIntensity:P,edgeNormal:l(__tsover_mul(U.y,-1),U.x),displacedUV:t.sub(m),disp:m})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"nPosX"},{type:"i",name:"nPosY"},{type:"i",name:"sPosX"},{type:"i",name:"sPosY"},{type:"i",name:"dispX"},{type:"i",name:"dispY"},{type:"i",name:"crackWidth"}],body:[0,[[13,"nearestPos",[6,"d.vec2f",["nPosX","nPosY"]]],[13,"secondPos",[6,"d.vec2f",["sPosX","sPosY"]]],[13,"disp",[6,"d.vec2f",["dispX","dispY"]]],[13,"fromNearest",[6,[7,"uv","sub"],["nearestPos"]]],[13,"minDist1",[6,"std.length",["fromNearest"]]],[13,"minDist2",[6,"std.length",[[6,[7,"uv","sub"],["secondPos"]]]]],[13,"displacementMag",[6,"std.length",["disp"]]],[13,"edgeDiff",[1,"minDist2","-","minDist1"]],[13,"crackThreshold",[1,"crackWidth","*",[5,"0.005"]]],[13,"baseCrackIntensity",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"crackThreshold","edgeDiff"]]]],[13,"displacementFactor",[6,"std.smoothstep",[[5,"0"],[5,"0.01"],"displacementMag"]]],[13,"crackIntensity",[1,"baseCrackIntensity","*","displacementFactor"]],[13,"toNearest",[6,[7,"fromNearest","div"],[[6,"std.max",["minDist1",[5,"0.00001"]]]]]],[13,"edgeNormal",[6,"d.vec2f",[[1,[7,"toNearest","y"],"*",[4,"-",[5,"1"]]],[7,"toNearest","x"]]]],[13,"displacedUV",[6,[7,"uv","sub"],["disp"]]],[10,[6,"CrackGeom",[[104,{crackIntensity:"crackIntensity",edgeNormal:"edgeNormal",displacedUV:"displacedUV",disp:"disp"}]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.smoothstep":()=>re,"std.max":()=>b,CrackGeom:()=>sp}})&&e.f)({})),vV=v.fn([l,l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=s.mul(__tsover_mul(o,.01)),c=__tsover_mul(n,.005),_=s.mul(__tsover_mul(i,c)),u=d.add(_);return t.add(u.mul(r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"displacedUV"},{type:"i",name:"edgeNormal"},{type:"i",name:"crackIntensity"},{type:"i",name:"refractionStrength"},{type:"i",name:"chromaticSplit"},{type:"i",name:"channel"}],body:[0,[[13,"refractionOffset",[6,[7,"edgeNormal","mul"],[[1,"refractionStrength","*",[5,"0.01"]]]]],[13,"chromaticOffset",[1,"chromaticSplit","*",[5,"0.005"]]],[13,"chromaShift",[6,[7,"edgeNormal","mul"],[[1,"channel","*","chromaticOffset"]]]],[13,"offset",[6,[7,"refractionOffset","add"],["chromaShift"]]],[10,[6,[7,"displacedUV","add"],[[6,[7,"offset","mul"],["crackIntensity"]]]]]]]},externals:{}})&&e.f)({})),qb=.3/Math.hypot(.3,.6),Xb=.6/Math.hypot(.3,.6),yV=v.fn([x,x,x,x,a,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=f(s.x,r.y,o.z),_=t.xyz.mul(__tsover_sub(1,n)).add(c.mul(n)),u=j(i),m=__tsover_div(i.x,__tsover_add(u,.001)),p=__tsover_div(i.y,__tsover_add(u,.001)),y=__tsover_add(__tsover_mul(m,qb),__tsover_mul(p,Xb)),h=__tsover_add(1,__tsover_mul(y,d)),g=re(0,.02,u),w=__tsover_add(1,__tsover_mul(__tsover_sub(h,1),g));return x(_.mul(w),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"normalColor"},{type:"i",name:"rFinal"},{type:"i",name:"gFinal"},{type:"i",name:"bFinal"},{type:"i",name:"crackIntensity"},{type:"i",name:"disp"},{type:"i",name:"shardLighting"}],body:[0,[[13,"refractedRGB",[6,"d.vec3f",[[7,"rFinal","x"],[7,"gFinal","y"],[7,"bFinal","z"]]]],[13,"shadedRGB",[6,[7,[6,[7,[7,"normalColor","xyz"],"mul"],[[1,[5,"1"],"-","crackIntensity"]]],"add"],[[6,[7,"refractedRGB","mul"],["crackIntensity"]]]]],[13,"displacementLength",[6,"std.length",["disp"]]],[13,"tiltX",[1,[7,"disp","x"],"/",[1,"displacementLength","+",[5,"0.001"]]]],[13,"tiltY",[1,[7,"disp","y"],"/",[1,"displacementLength","+",[5,"0.001"]]]],[13,"normalDot",[1,[1,"tiltX","*","SHARD_LIGHT_DIR_X"],"+",[1,"tiltY","*","SHARD_LIGHT_DIR_Y"]]],[13,"lightingFactor",[1,[5,"1"],"+",[1,"normalDot","*","shardLighting"]]],[13,"lightingIntensity",[6,"std.smoothstep",[[5,"0"],[5,"0.02"],"displacementLength"]]],[13,"finalLighting",[1,[5,"1"],"+",[1,[1,"lightingFactor","-",[5,"1"]],"*","lightingIntensity"]]],[13,"finalRGB",[6,[7,"shadedRGB","mul"],["finalLighting"]]],[10,[6,"d.vec4f",["finalRGB",[7,"normalColor","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.length":()=>j,SHARD_LIGHT_DIR_X:()=>qb,SHARD_LIGHT_DIR_Y:()=>Xb,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({}));var{formatFloat:hV}=Wz;var xV=v.fn([l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=zx(s),d=l(__tsover_div(H(i),o),Y(i)),c=__tsover_mul(r,.1),_=d.mul(c);return t.add(_.mul(n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"angle"},{type:"i",name:"strength"},{type:"i",name:"aspect"},{type:"i",name:"channelOffset"}],body:[0,[[13,"angleRad",[6,"std.radians",["angle"]]],[13,"direction",[6,"d.vec2f",[[1,[6,"std.cos",["angleRad"]],"/","aspect"],[6,"std.sin",["angleRad"]]]]],[13,"scaledStrength",[1,"strength","*",[5,"0.1"]]],[13,"offsetBase",[6,[7,"direction","mul"],["scaledStrength"]]],[10,[6,[7,"uv","add"],[[6,[7,"offsetBase","mul"],["channelOffset"]]]]]]]},externals:{"std.radians":()=>zx,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({}));var Zw="rgba16float",Qw=16384;var gV=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({buffer:{storage:pt(x,Qw),access:"mutable"},params:{uniform:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cursorX:a,cursorY:a,mouseVelX:a,mouseVelY:a,dt:a,decay:a,intensity:a,radius:a,aspect:a}),"uniform")}}),"splatUpdateLayout"),bV=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({buffer:{storage:pt(x,Qw),access:"readonly"},dispTex:{storageTexture:Mo(Zw,"write-only")}}),"splatOutputLayout");var An=64,Rf=An*An,rp=An-1,xo=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({readBuf:{storage:pt(x,Rf),access:"readonly"},writeBuf:{storage:pt(x,Rf),access:"mutable"},params:{uniform:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cursorX:a,cursorY:a,dirX:a,dirY:a,clampedSpeed:a,dt:a,subDt:a,stiffness:a,dampFactor:a,radius:a,aspect:a}),"uniform")}}),"latticeLayout"),op=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({srcBuf:{storage:pt(x,Rf),access:"readonly"},dispTex:{storageTexture:Mo(Zw,"write-only")}}),"latticeOutputLayout"),wV=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";if(t>R(0)&&tR(0)&&s.01){let W=__tsover_div(__tsover_add(a(t),.5),a(An)),K=__tsover_div(__tsover_add(a(s),.5),a(An)),Q=C(__tsover_sub(W,r.cursorX),__tsover_mul(__tsover_sub(W,r.cursorX),r.aspect),r.aspect>=1),te=C(__tsover_div(__tsover_sub(K,r.cursorY),r.aspect),__tsover_sub(K,r.cursorY),r.aspect>=1),ee=__tsover_add(__tsover_mul(Q,Q),__tsover_mul(te,te)),he=__tsover_mul(r.radius,3);if(ee<__tsover_mul(he,he)){let Ee=ct(__tsover_mul(__tsover_div(ee,__tsover_mul(r.radius,r.radius)),-1)),Te=__tsover_mul(__tsover_mul(__tsover_mul(Ee,r.clampedSpeed),r.dt),2);D=__tsover_add(D,__tsover_mul(r.dirX,Te)),O=__tsover_add(O,__tsover_mul(r.dirY,Te))}}let L=$(__tsover_add(d,__tsover_mul(D,r.subDt)),-.5,.5),G=$(__tsover_add(c,__tsover_mul(O,r.subDt)),-.5,.5);xo.$.writeBuf[n]=x(L,G,D,O)}}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[11,[3,[3,[3,[1,"cx",">",[6,"d.u32",[[5,"0"]]]],"&&",[1,"cx","<",[6,"d.u32",["LATTICE_MAX"]]]],"&&",[1,"cy",">",[6,"d.u32",[[5,"0"]]]]],"&&",[1,"cy","<",[6,"d.u32",["LATTICE_MAX"]]]],[0,[[13,"p",[7,[7,"latticeLayout","$"],"params"]],[13,"gs",[6,"d.u32",["LATTICE_GRID"]]],[13,"idx",[1,[1,"cy","*","gs"],"+","cx"]],[13,"current",[8,[7,[7,"latticeLayout","$"],"readBuf"],"idx"]],[13,"dispX",[7,"current","x"]],[13,"dispY",[7,"current","y"]],[13,"velX",[7,"current","z"]],[13,"velY",[7,"current","w"]],[13,"nL",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,"idx","-",[6,"d.u32",[[5,"1"]]]]]],[13,"nR",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,"idx","+",[6,"d.u32",[[5,"1"]]]]]],[13,"nU",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,"idx","-","gs"]]],[13,"nD",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,"idx","+","gs"]]],[13,"nUL",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,[1,"idx","-","gs"],"-",[6,"d.u32",[[5,"1"]]]]]],[13,"nUR",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,[1,"idx","-","gs"],"+",[6,"d.u32",[[5,"1"]]]]]],[13,"nDL",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,[1,"idx","+","gs"],"-",[6,"d.u32",[[5,"1"]]]]]],[13,"nDR",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,[1,"idx","+","gs"],"+",[6,"d.u32",[[5,"1"]]]]]],[12,"fx",[1,[7,"p","stiffness"],"*",[1,[1,[1,[1,[7,"nL","x"],"-","dispX"],"+",[1,[7,"nR","x"],"-","dispX"]],"+",[1,[7,"nU","x"],"-","dispX"]],"+",[1,[7,"nD","x"],"-","dispX"]]]],[12,"fy",[1,[7,"p","stiffness"],"*",[1,[1,[1,[1,[7,"nL","y"],"-","dispY"],"+",[1,[7,"nR","y"],"-","dispY"]],"+",[1,[7,"nU","y"],"-","dispY"]],"+",[1,[7,"nD","y"],"-","dispY"]]]],[13,"shearK",[1,[7,"p","stiffness"],"*",[5,"0.35"]]],[2,"fx","=",[1,"fx","+",[1,"shearK","*",[1,[1,[1,[1,[7,"nUL","x"],"-","dispX"],"+",[1,[7,"nUR","x"],"-","dispX"]],"+",[1,[7,"nDL","x"],"-","dispX"]],"+",[1,[7,"nDR","x"],"-","dispX"]]]]],[2,"fy","=",[1,"fy","+",[1,"shearK","*",[1,[1,[1,[1,[7,"nUL","y"],"-","dispY"],"+",[1,[7,"nUR","y"],"-","dispY"]],"+",[1,[7,"nDL","y"],"-","dispY"]],"+",[1,[7,"nDR","y"],"-","dispY"]]]]],[2,"fx","=",[1,"fx","-",[1,[1,[7,"p","stiffness"],"*",[5,"0.1"]],"*","dispX"]]],[2,"fy","=",[1,"fy","-",[1,[1,[7,"p","stiffness"],"*",[5,"0.1"]],"*","dispY"]]],[12,"newVelX",[1,[1,"velX","*",[7,"p","dampFactor"]],"+",[1,"fx","*",[7,"p","subDt"]]]],[12,"newVelY",[1,[1,"velY","*",[7,"p","dampFactor"]],"+",[1,"fy","*",[7,"p","subDt"]]]],[11,[1,[7,"p","clampedSpeed"],">",[5,"0.01"]],[0,[[13,"cellX",[1,[1,[6,"d.f32",["cx"]],"+",[5,"0.5"]],"/",[6,"d.f32",["LATTICE_GRID"]]]],[13,"cellY",[1,[1,[6,"d.f32",["cy"]],"+",[5,"0.5"]],"/",[6,"d.f32",["LATTICE_GRID"]]]],[13,"ddx",[6,"std.select",[[1,"cellX","-",[7,"p","cursorX"]],[1,[1,"cellX","-",[7,"p","cursorX"]],"*",[7,"p","aspect"]],[1,[7,"p","aspect"],">=",[5,"1"]]]]],[13,"ddy",[6,"std.select",[[1,[1,"cellY","-",[7,"p","cursorY"]],"/",[7,"p","aspect"]],[1,"cellY","-",[7,"p","cursorY"]],[1,[7,"p","aspect"],">=",[5,"1"]]]]],[13,"distSq",[1,[1,"ddx","*","ddx"],"+",[1,"ddy","*","ddy"]]],[13,"influenceRadius",[1,[7,"p","radius"],"*",[5,"3"]]],[11,[1,"distSq","<",[1,"influenceRadius","*","influenceRadius"]],[0,[[13,"influence",[6,"std.exp",[[1,[1,"distSq","/",[1,[7,"p","radius"],"*",[7,"p","radius"]]],"*",[4,"-",[5,"1"]]]]]],[13,"forceMag",[1,[1,[1,"influence","*",[7,"p","clampedSpeed"]],"*",[7,"p","dt"]],"*",[5,"2"]]],[2,"newVelX","=",[1,"newVelX","+",[1,[7,"p","dirX"],"*","forceMag"]]],[2,"newVelY","=",[1,"newVelY","+",[1,[7,"p","dirY"],"*","forceMag"]]]]]]]]],[13,"newDispX",[6,"std.clamp",[[1,"dispX","+",[1,"newVelX","*",[7,"p","subDt"]]],[4,"-",[5,"0.5"]],[5,"0.5"]]]],[13,"newDispY",[6,"std.clamp",[[1,"dispY","+",[1,"newVelY","*",[7,"p","subDt"]]],[4,"-",[5,"0.5"]],[5,"0.5"]]]],[2,[8,[7,[7,"latticeLayout","$"],"writeBuf"],"idx"],"=",[6,"d.vec4f",["newDispX","newDispY","newVelX","newVelY"]]]]]]]]},externals:{"d.u32":()=>R,LATTICE_MAX:()=>rp,latticeLayout:()=>xo,LATTICE_GRID:()=>An,"d.f32":()=>a,"std.select":()=>C,"std.exp":()=>ct,"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})).$name("springLatticeStep"),TV=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_add(__tsover_mul(s,R(An)),t),o=op.$.srcBuf[r];jr(op.$.dispTex,Ge(t,s),x(o.x,o.y,0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"idx",[1,[1,"cy","*",[6,"d.u32",["LATTICE_GRID"]]],"+","cx"]],[13,"cell",[8,[7,[7,"latticeOutputLayout","$"],"srcBuf"],"idx"]],[6,"std.textureStore",[[7,[7,"latticeOutputLayout","$"],"dispTex"],[6,"d.vec2u",["cx","cy"]],[6,"d.vec4f",[[7,"cell","x"],[7,"cell","y"],[5,"0"],[5,"1"]]]]]]]},externals:{"d.u32":()=>R,LATTICE_GRID:()=>An,latticeOutputLayout:()=>op,"std.textureStore":()=>jr,"d.vec2u":()=>Ge,"d.vec4f":()=>x}})&&e.f)({})).$name("springLatticeOutput");var Hb=Le,SV=v.fn([l,a,l,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(t.x,s),t.y),c=l(__tsover_mul(r.x,s),__tsover_sub(1,r.y)),_=__tsover_sub(d.x,c.x),u=__tsover_sub(d.y,c.y),m=__tsover_mul(o,Hb),p=H(m),y=Y(m),h=__tsover_add(__tsover_mul(_,p),__tsover_mul(u,y)),g=__tsover_sub(__tsover_mul(u,p),__tsover_mul(_,y)),w=__tsover_add(__tsover_div(h,__tsover_mul(n,2)),.5),S=__tsover_add(__tsover_div(g,__tsover_mul(i,2)),.5);return f(w,S,__tsover_mul(__tsover_mul(__tsover_mul(De(0,w),De(w,1)),De(0,S)),De(S,1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"},{type:"i",name:"rotationDeg"},{type:"i",name:"halfW"},{type:"i",name:"halfH"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dx",[1,[7,"aspectUV","x"],"-",[7,"centerPos","x"]]],[13,"dy",[1,[7,"aspectUV","y"],"-",[7,"centerPos","y"]]],[13,"rotRad",[1,"rotationDeg","*","OBF_DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rdx",[1,[1,"dx","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dx","*","sinR"]]],[13,"localU",[1,[1,"rdx","/",[1,"halfW","*",[5,"2"]]],"+",[5,"0.5"]]],[13,"localV",[1,[1,"rdy","/",[1,"halfH","*",[5,"2"]]],"+",[5,"0.5"]]],[13,"insideMask",[1,[1,[1,[6,"std.step",[[5,"0"],"localU"]],"*",[6,"std.step",["localU",[5,"1"]]]],"*",[6,"std.step",[[5,"0"],"localV"]]],"*",[6,"std.step",["localV",[5,"1"]]]]],[10,[6,"d.vec3f",["localU","localV","insideMask"]]]]]},externals:{"d.vec2f":()=>l,OBF_DEG_TO_RAD:()=>Hb,"std.cos":()=>H,"std.sin":()=>Y,"std.step":()=>De,"d.vec3f":()=>f}})&&e.f)({})),yc=it,jb=Le,AV=v.fn([l,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(s,jb),c=H(d),_=Y(d),u=__tsover_add(__tsover_mul(t.x,__tsover_mul(_,-1)),__tsover_mul(t.y,c)),m=H(__tsover_add(__tsover_mul(__tsover_mul(u,r),yc),o)),p=X(-1.15,1.15,$(n,0,1));return re(__tsover_sub(p,i),__tsover_add(p,i),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"angleDeg"},{type:"i",name:"frequency"},{type:"i",name:"reliefPhase"},{type:"i",name:"level"},{type:"i",name:"aa"}],body:[0,[[13,"angleRad",[1,"angleDeg","*","HP_DEG_TO_RAD"]],[13,"c",[6,"std.cos",["angleRad"]]],[13,"s",[6,"std.sin",["angleRad"]]],[13,"w",[1,[1,[7,"p","x"],"*",[1,"s","*",[4,"-",[5,"1"]]]],"+",[1,[7,"p","y"],"*","c"]]],[13,"phase",[1,[1,[1,"w","*","frequency"],"*","HP_TAU"],"+","reliefPhase"]],[13,"v",[6,"std.cos",["phase"]]],[13,"thr",[6,"std.mix",[[4,"-",[5,"1.15"]],[5,"1.15"],[6,"std.clamp",["level",[5,"0"],[5,"1"]]]]]],[10,[6,"std.smoothstep",[[1,"thr","-","aa"],[1,"thr","+","aa"],"v"]]]]]},externals:{HP_DEG_TO_RAD:()=>jb,"std.cos":()=>H,"std.sin":()=>Y,HP_TAU:()=>yc,"std.mix":()=>X,"std.clamp":()=>$,"std.smoothstep":()=>re}})&&e.f)({})),MV=v.fn([l,l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=t.sub(s),c=j(d),_=tt(d.y,d.x),u=H(__tsover_add(__tsover_mul(__tsover_sub(__tsover_mul(c,r),__tsover_mul(_,__tsover_div(1,yc))),yc),o)),m=X(-1.15,1.15,$(n,0,1));return re(__tsover_sub(m,i),__tsover_add(m,i),u)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"c"},{type:"i",name:"frequency"},{type:"i",name:"reliefPhase"},{type:"i",name:"level"},{type:"i",name:"aa"}],body:[0,[[13,"dv",[6,[7,"p","sub"],["c"]]],[13,"r",[6,"std.length",["dv"]]],[13,"theta",[6,"std.atan2",[[7,"dv","y"],[7,"dv","x"]]]],[13,"phase",[1,[1,[1,[1,"r","*","frequency"],"-",[1,"theta","*",[1,[5,"1"],"/","HP_TAU"]]],"*","HP_TAU"],"+","reliefPhase"]],[13,"v",[6,"std.cos",["phase"]]],[13,"thr",[6,"std.mix",[[4,"-",[5,"1.15"]],[5,"1.15"],[6,"std.clamp",["level",[5,"0"],[5,"1"]]]]]],[10,[6,"std.smoothstep",[[1,"thr","-","aa"],[1,"thr","+","aa"],"v"]]]]]},externals:{"std.length":()=>j,"std.atan2":()=>tt,HP_TAU:()=>yc,"std.cos":()=>H,"std.mix":()=>X,"std.clamp":()=>$,"std.smoothstep":()=>re}})&&e.f)({}));var PV=ut({pos:l,dir:l,spd:a}).$name("AgentPose");var EV=ut({rhat:l,strength:a,phi:a}).$name("AgentFieldSample");var kV=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return C(C(__tsover_mul(Gs(__tsover_add(__tsover_mul(t,2.3987),.517)),3.141592653589793),a(0),s>.5),a(1.5707963267948966),s>1.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fi"},{type:"i",name:"restMode"}],body:[0,[[13,"randAng",[1,[6,"noise.hash11",[[1,[1,"fi","*",[5,"2.3987"]],"+",[5,"0.517"]]]],"*",[5,"3.141592653589793"]]],[13,"a",[6,"std.select",["randAng",[6,"d.f32",[[5,"0"]]],[1,"restMode",">",[5,"0.5"]]]]],[10,[6,"std.select",["a",[6,"d.f32",[[5,"1.5707963267948966"]]],[1,"restMode",">",[5,"1.5"]]]]]]]},externals:{"noise.hash11":()=>Gs,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})).$name("agentRestAngle");var $V=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return se(t,f(.299,.587,.114))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),UV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(1,se(t,f(.299,.587,.114)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),CV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t.x}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[7,"rgb","x"]]]]},externals:{}})&&e.f)({})),RV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t.y}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[7,"rgb","y"]]]]},externals:{}})&&e.f)({})),zV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t.z}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[7,"rgb","z"]]]]},externals:{}})&&e.f)({})),GV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(b(t.x,t.y),t.z),o=oe(oe(t.x,t.y),t.z);return __tsover_sub(r,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[13,"mx",[6,"std.max",[[6,"std.max",[[7,"rgb","x"],[7,"rgb","y"]]],[7,"rgb","z"]]]],[13,"mn",[6,"std.min",[[6,"std.min",[[7,"rgb","x"],[7,"rgb","y"]]],[7,"rgb","z"]]]],[10,[1,"mx","-","mn"]]]]},externals:{"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),YV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return s}),{v:2,name:void 0,ast:{params:[{type:"i",name:"_rgb"},{type:"i",name:"a"}],body:[0,[[10,"a"]]]},externals:{}})&&e.f)({}));var LV=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(t,0),o=b(s,0);return __tsover_add(oe(b(t,s),0),be(__tsover_add(__tsover_mul(r,r),__tsover_mul(o,o))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"d2"},{type:"i",name:"wz"}],body:[0,[[13,"ox",[6,"std.max",["d2",[5,"0"]]]],[13,"oz",[6,"std.max",["wz",[5,"0"]]]],[10,[1,[6,"std.min",[[6,"std.max",["d2","wz"]],[5,"0"]]],"+",[6,"std.sqrt",[[1,[1,"ox","*","ox"],"+",[1,"oz","*","oz"]]]]]]]]},externals:{"std.max":()=>b,"std.min":()=>oe,"std.sqrt":()=>be}})&&e.f)({})).$name("shapeFieldExtrudeZ");var sL=4*Math.PI,wd=[{scale:2,offsets:[[5.2,1.3],[1.7,9.2]],reach:.25},{scale:1.5,offsets:[[8.3,2.8],[3.1,7.4]],reach:.2}],r_=$o({name:"FlowingGradient",role:"generator",boundingBoxDeclaration:{aspectRatio:null,supportsResizeFit:!0},category:"Textures",description:"Liquid silk gradient with organic flowing color bands",acceptsUVContext:!0,animatedTime:{speed:"speed"},extraFields:{convA:{schema:f,initial:[0,0,0]},convB:{schema:f,initial:[0,0,0]},convC:{schema:f,initial:[0,0,0]},convD:{schema:f,initial:[0,0,0]}},props:{colorA:{default:"#0a0015",transform:ts,description:"Deep background color",ui:{type:"color",label:"Color A",group:"Colors"}},colorB:{default:"#6b17e6",transform:ts,description:"Primary accent color",ui:{type:"color",label:"Color B",group:"Colors"}},colorC:{default:"#ff4d6a",transform:ts,description:"Secondary accent color",ui:{type:"color",label:"Color C",group:"Colors"}},colorD:{default:"#ff6b35",transform:ts,description:"Tertiary accent color",ui:{type:"color",label:"Color D",group:"Colors"}},colorSpace:{default:"oklch",transform:ir,compileTime:!0,description:"Color space for color interpolation",ui:{type:"select",options:Ho,label:"Color Space",group:"Colors"}},speed:{default:1,description:"Animation speed",ui:{type:"range",min:0,max:10,step:.1,label:"Speed",group:"Effect"}},distortion:{default:.5,description:"Organic distortion intensity",ui:{type:["range","map"],min:0,max:2,step:.1,label:"Distortion",group:"Effect"}},seed:{default:0,description:"Random seed for variation",ui:{type:["range","map"],min:0,max:100,step:1,label:"Seed",group:"Effect"}}},paint:e=>{let{uv:t,viewport:s}=bd(e),r=ye(mr(s.member("x"),xa(s.member("y"),1e-6)),"aspect"),o=ye(N(uo(e),.075),"flowTime"),n=ye(N(Dt(zt("seed"),e),.17),"flowSeed"),i=ye(Dt(zt("distortion"),e),"flowStrength"),d=ye(fs(t,.5),"flowCentred"),c=ye(N(N(Sn(tr($e(N(d.member("x"),.8),N(o,.4)),fs(N(d.member("y"),.8),N(o,.25)),n)),sL),i),"flowAngle"),_=ye(p1(Jt(d.member("x"),mr(d.member("y"),r)),t_(c),Uo(c)),"flowSpun"),u=ye(Jt(_.member("x"),N(_.member("y"),r)),"flowRot"),m=N(o,2),p=ye($e(u.member("x"),N(mr(Uo($e(N(u.member("y"),5),m)),50),i)),"flowShearX"),y=ye(Ty({at:Jt(p,$e(u.member("y"),N(mr(Uo($e(N(p,7.5),m)),25),i))),scale:wd[0].scale,z:$e(N(o,.5),n),offsets:wd[0].offsets,reach:wd[0].reach,strength:i}),"flowWarp1"),h=ye($e(N(o,.3),n),"flowTz"),g=ye(Ty({at:y.member("xy"),scale:wd[1].scale,z:h,offsets:wd[1].offsets,reach:wd[1].reach,strength:i}),"flowWarp2"),w=Sn(tr(N(g.member("x"),1.8),N(g.member("y"),1.8),h)),S=ye(nd($e(N(y.member("z"),.5),.5),1.5),"flowHardness"),T=ye(Co(.5,.008,S),"flowEdge"),A=ye(Ss(N(T,-1),T,w),"flowT1"),P=ye(Ss(N(T,-1),T,y.member("w")),"flowT2"),U=ye(kw({a:zt("colorA"),b:zt("colorB"),c:zt("colorC"),d:zt("colorD"),space:zt("colorSpace")})(A,P,e),"flowBase"),D=G=>fs(1,m1(fs(N(G,2),1))),O=N(xa(D(A),D(P)),S),L=N($e(N($e(N(g.member("z"),.5),.5),.12),.94),$e(1,N(O,.35)));return ni(gr(N(U.member("rgb"),L),ln(0),ln(1)),U.member("a"))}});var o_=$o({name:"Godrays",role:"generator",boundingBoxDeclaration:{aspectRatio:null,supportsResizeFit:!0},category:"Textures",description:"Volumetric light rays emanating from a point",acceptsUVContext:!0,animatedTime:{speed:"speed"},props:{center:{default:{x:0,y:0},transform:ho,description:"The center point of the god rays",ui:{type:"position",label:"Center",group:"Position"}},density:{default:.3,description:"Frequency of ray sectors",ui:{type:["range","map"],min:0,max:1,step:.1,label:"Density",group:"Effect"}},intensity:{default:.8,description:"Ray visibility within sectors",ui:{type:["range","map"],min:0,max:1,step:.1,label:"Intensity",group:"Effect"}},spotty:{default:1,description:"Density of spots on rays (higher = more spots)",ui:{type:["range","map"],min:0,max:1,step:.1,label:"Spotty",group:"Effect"}},speed:{default:.5,description:"Animation speed of the rays",ui:{type:"range",min:0,max:2,step:.1,label:"Speed",group:"Animation"}},rayColor:{default:"#4283fb",transform:ts,description:"Color of the light rays",ui:{type:"color",label:"Ray Color",group:"Colors"}},backgroundColor:{default:"transparent",transform:ts,description:"Background color",ui:{type:"color",label:"Background Color",group:"Colors"}}},paint:Rw({color:zt("rayColor"),background:zt("backgroundColor"),coverage:Uw($w(zt("center")),Cw({density:zt("density"),intensity:zt("intensity"),spotty:zt("spotty")}))})});var{isMobileGpuViewport:rL}=yd,oL=JSON.stringify({type:"sphere3D",radius:.35});function Jw(e,t,s,r,o,n,i){let d=ye(fs(N(e,s),N(t,r)),"ex"),c=ye($e(N(e,r),N(t,s)),"ey"),_=ye(Jt(d,c),"p"),u=ye(Ss(-.7,.85,c),"sky"),m=N(N(u,u),.4),p=ye(N(o,1.05),"r0"),y=Ss(p,N(p,.2),gd(fs(_,Jt($e(0,n),.55))));m=$e(m,N(N(y,1.75),i));let h=ye(N(o,1.25),"r1"),g=Ss(h,N(h,.2),gd(fs(_,Jt($e(-.45,n),-.4))));m=$e(m,N(N(g,1.15),i));let w=ye(N(o,1.15),"r2"),S=Ss(w,N(w,.2),gd(fs(_,Jt($e(.55,n),.1))));return $e(m,N(N(S,1.1),i))}var n_=$o({name:"LiquidMetal",role:"shapeEffect",species:"custom",boundingBoxDeclaration:i1,category:"Shape Effects",description:"Flowing liquid chrome \u2014 a molten reflective surface that wraps the shape, sweeping a procedural studio reflection across animated folds with crisp speculars and prismatic edges",animatedTime:{speed:"speed"},...h1({pattern:"raw",surface:(e,t)=>{let{uniforms:s}=t,r=uo(t),o=rL(),n=x1(e,t,{scale:s.scale}),{sdf:i,pxH:d}=n,c=g1(e,n,{bevelWidth:s.bevelWidth,bevelShape:s.bevelShape}),_=zw(e,n),u=ye(N(s.ripple,2.6),"freq"),m=ye(N(r,.12),"flowT"),p=ye(Jt(N(_.member("x"),u),N(_.member("y"),u)),"q"),y=N(s.warp,.9),h=ye(Dw($e(p,N(Fw(N(p,.6),m),y)),.62),"hg"),g=ye(N(s.turbulence,.5),"relief"),w=Lw(c,N(N(h.member("x"),g),-1),N(N(h.member("y"),g),-1)),S=ye(f1(b1(t,n),w),"R"),T=ye(s.environment,"envStr"),A=ye(gr(s.sharpness,0,1),"sharp"),P=ye(Co(.5,.18,A),"keyRad"),U=ye(N(Uo(N(r,.07)),.05),"drift"),D=s_(s.envRotation,"env"),O=D.member("x"),L=D.member("y"),G=ye(T1(s_(s.lightAngle,"light"),-.7).member("H"),"Hh"),W=ye(Iw(gr($e($e(N(w.member("x"),G.member("x")),N(w.member("y"),G.member("y"))),N(w.member("z"),G.member("z"))),0,1),A,ni(60,900,.4,1.4)),"spec"),K=ye($e(Jw(S.member("x"),S.member("y"),O,L,P,U,T),W),"lumG"),Q,te;if(o)Q=K,te=K;else{let Te=fs(1,gr(N(w.member("z"),-1),0,1)),Ue=ye(N(N(s.dispersion,.09),$e(.4,N(Te,1.3))),"dth"),Me=ye($e(Jw($e(S.member("x"),N(S.member("y"),Ue)),fs(S.member("y"),N(S.member("x"),Ue)),O,L,P,U,T),W),"lumBoffset");te=Me,Q=fs(N(K,2),Me)}let ee=ye(s.darkColor.member("rgb"),"dark"),he=ye(s.lightColor.member("rgb"),"light"),Ee=ni(Co(ee.member("x"),he.member("x"),gr(Q,0,1.8)),Co(ee.member("y"),he.member("y"),gr(K,0,1.8)),Co(ee.member("z"),he.member("z"),gr(te,0,1.8)),w1(n,s.edgeSoftness));return v1(y1(i,d),Ee,xr,"liquidMetal")}}),props:{origin:{default:"center",description:"Reference edge the center position is measured from (center default). Lets you pin the shape relative to a corner or the canvas centre.",ui:{type:"origin",label:"Origin",group:"Position"}},center:{default:{x:.5,y:.5},transform:ho,description:"Center position of the metal shape",ui:{type:"position",label:"Center",group:"Position",units:["%","px"]}},scale:{default:1,description:"Scale of the metal shape (1 = default size)",ui:{type:"range",min:.1,max:3,step:.01,label:"Scale",group:"Position"}},rotation:{default:0,description:"Rotation of the metal shape in degrees",ui:{type:"range",min:0,max:360,step:1,label:"Rotation",group:"Position"}},lightColor:{default:"#eef0f6",transform:ts,description:"The bright tone of the chrome highlights",ui:{type:"color",label:"Light Color",group:"Metal"}},darkColor:{default:"#141414",transform:ts,description:"The dark tone the reflection falls to in shadow \u2014 recolor for tinted metal (gold, steel, copper\u2026)",ui:{type:"color",label:"Dark Color",group:"Metal"}},turbulence:{default:1,description:"How molten the surface is \u2014 the depth of the flowing folds that bend the reflection",ui:{type:"range",min:0,max:1.5,step:.01,label:"Turbulence",group:"Liquid"}},ripple:{default:4,description:"Scale of the molten folds \u2014 higher = smaller, busier ripples",ui:{type:"range",min:.5,max:8,step:.01,label:"Ripple Scale",group:"Liquid"}},warp:{default:1.5,description:"Swirl of the flow \u2014 domain-warps the folds into liquid curls",ui:{type:"range",min:0,max:1.5,step:.01,label:"Swirl",group:"Liquid"}},speed:{default:.5,description:"Speed of the molten flow and the slowly drifting reflection. 0 pauses.",ui:{type:"range",min:0,max:4,step:.01,label:"Speed",group:"Liquid"}},...xd({environment:{default:1.5,description:"Strength of the reflected studio lighting \u2014 the softboxes seen across the metal",ui:{group:"Surface"}},envRotation:{ui:{group:"Surface"}}}),sharpness:{default:.6,description:"Tightness of the specular highlights \u2014 1 = razor chrome glints, 0 = soft satin",ui:{type:"range",min:0,max:1,step:.01,label:"Sharpness",group:"Surface"}},...xd({dispersion:{description:"Prismatic color fringing along the reflection edges",ui:{group:"Surface"}},lightAngle:{default:265,description:"Direction of the key light for the specular glints, in degrees",ui:{group:"Surface"}}}),bevelWidth:{default:.05,description:"Width of the edge bevel, relative to the shape \u2014 thin for machined jewellery edges, wide for soft pillowed metal",ui:{type:["range","map"],min:.005,max:.2,step:.001,label:"Bevel Width",group:"Surface"}},bevelShape:{default:0,description:"Bevel profile \u2014 0 = one smooth round fillet, 1 = machined: a steep outer fillet, a chamfer plateau and an inner knee, each catching its own line of light",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Bevel Profile",group:"Surface"}},...xd({edgeSoftness:{ui:{group:"Surface"}}}),shape:{default:oL,description:"Serialized shape configuration (JSON)",ui:{type:"shape",label:"Shape",group:"Shape"}},shapeSdfUrl:{default:"",compileTime:!0,description:"URL to a pre-generated SDF .bin file"},shapeType:{default:"",compileTime:!0,description:"Active SDF shape type"}}});var nL=3.141592653589793,a_=$o({name:"Marble",role:"generator",boundingBoxDeclaration:{aspectRatio:null,supportsResizeFit:!0},category:"Textures",description:"Classic marble swirl and vein texture using noise-warped sine waves",acceptsUVContext:!0,animatedTime:{speed:"speed"},props:{colorA:{default:"#ffffff",transform:ts,description:"Base background color of the marble",ui:{type:"color",label:"Base",group:"Colors"}},colorB:{default:"#3a2d54",transform:ts,description:"Secondary marble tone",ui:{type:"color",label:"Tone",group:"Colors"}},colorC:{default:"#0f0f0f",transform:ts,description:"Deepest marble color",ui:{type:"color",label:"Depth",group:"Colors"}},scale:{default:2,description:"Scale and density of the marble vein pattern",ui:{type:["range","map"],min:.1,max:10,step:.1,label:"Scale",group:"Effect"}},turbulence:{default:10,description:"Amount of noise-driven distortion applied to the veins",ui:{type:["range","map"],min:0,max:50,step:.5,label:"Turbulence",group:"Effect"}},speed:{default:.05,description:"Animation speed",ui:{type:"range",min:0,max:.25,step:.005,label:"Speed",group:"Animation"}},seed:{default:0,description:"Random seed for pattern variation",ui:{type:["range","map"],min:0,max:100,step:1,label:"Seed",group:"Effect"}},colorSpace:{default:"linear",transform:ir,compileTime:!0,description:"Color space for color interpolation",ui:{type:"select",options:Ho,label:"Color Space",group:"Colors"}}},paint:e=>{let{uv:t,viewport:s}=bd(e),r=ye(mr(s.member("x"),xa(s.member("y"),1e-6)),"aspect"),o=ye(uo(e),"marbleTime"),n=Dt(zt("seed"),e),i=ye(N(Jt(N(t.member("x"),r),t.member("y")),Dt(zt("scale"),e)),"plane"),d=i.member("x"),c=i.member("y"),_=ye($e($e(ga(Jt($e(d,n),$e(c,o))),N(ga(Jt($e(N(d,2),N(n,1.7)),$e(N(c,2),N(o,.7)))),.5)),N(ga(Jt($e(N(d,4),N(n,3.1)),$e(N(c,4),N(o,1.3)))),.25)),"marbleTurb"),u=ye($e(N(Uo($e(N(d,nL),N(_,Dt(zt("turbulence"),e)))),.5),.5),"veinT"),m=$e(N(ga(Jt($e(N(c,1.5),N(n,2)),N(d,1.2))),.3),.5);return Tw({a:zt("colorA"),b:zt("colorB"),c:zt("colorC"),space:zt("colorSpace")})(Ss(.3,.6,u),N(Ss(.6,.9,u),m),e)}});var S1=1.6,aL=.48,iL=.125,dL=3,eT=1.9,cL=1.4,_L=.045,lL=9,uL=[{color:"#1a0533",position:0},{color:"#6d2fd1",position:.26},{color:"#e04b9e",position:.52},{color:"#ff8c42",position:.76},{color:"#ffdf8e",position:1}],i_=$o({name:"MeshGradient",role:"generator",boundingBoxDeclaration:{aspectRatio:null,supportsResizeFit:!0},category:"Textures",description:"Flowing mesh gradient of soft drifting color swaths whose seams wrap through the palette",acceptsUVContext:!0,animatedTime:{speed:"speed"},extraFields:{meshAnchors:{schema:pt(x,4),initial:new Array(16).fill(0)}},props:{colorA:{default:"#1a0533",transform:ts,description:"First gradient color (two-color fallback when stops are cleared)",ui:{type:"color",label:"Color A",group:"Colors"}},colorB:{default:"#ffdf8e",transform:ts,description:"Second gradient color (two-color fallback when stops are cleared)",ui:{type:"color",label:"Color B",group:"Colors"}},stops:{...dw(),default:uL},colorSpace:{default:"oklab",transform:ir,compileTime:!0,description:"Color space for color interpolation",ui:{type:"select",options:Ho,label:"Color Space",group:"Colors"}},count:{default:5,description:"Number of color points scattered across the canvas",ui:{type:"range",min:2,max:8,step:1,label:"Points",group:"Effect"}},smoothness:{default:2,description:"How smoothly the color points blend into each other",ui:{type:["range","map"],min:0,max:5,step:.01,label:"Smoothness",group:"Effect"}},variation:{default:.35,recompile:bw(0),description:"Varies edge softness across the canvas \u2014 some color boundaries crisp, others diffuse",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Variation",group:"Effect"}},swirl:{default:.3,description:"Vortex rotation that spirals the field around the frame centre \u2014 negative values spin the other way",ui:{type:["range","map"],min:-1,max:1,step:.01,label:"Swirl",group:"Effect"}},drift:{default:.5,description:"How far the color points wander from their home positions",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Drift",group:"Effect"}},wrapping:{default:0,description:"Wraps the palette back through itself where colors meet \u2014 banded seams where the field pinches, smooth elsewhere",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Wrapping",group:"Effect"}},speed:{default:1,description:"Animation speed",ui:{type:"range",min:0,max:10,step:.1,label:"Speed",group:"Animation"}},seed:{default:0,description:"Random seed for the point layout and palette assignment",ui:{type:["range","map"],min:0,max:100,step:1,label:"Seed",group:"Effect"}}},paint:e=>{let{uv:t,viewport:s}=bd(e),r=ye(mr(s.member("x"),xa(s.member("y"),1e-6)),"aspect"),o=ye(uo(e),"meshTime"),n=Dt(zt("seed"),e),i=ye(Jt(fs(N(t.member("x"),r),N(r,.5)),fs(t.member("y"),.5)),"meshCentred"),d=ye(N(N(-dL,Dt(zt("swirl"),e)),Ss(0,1,gd(i))),"swirlAngle"),c=ye(p1(i,t_(d),Uo(d)),"meshRot"),_=ye(Jt($e(c.member("x"),N(r,.5)),$e(c.member("y"),.5)),"meshSwirled"),u=ye(Pw({at:tr(N(_.member("x"),S1),N(_.member("y"),S1),N(n,7.31)),time:N(o,iL),amount:aL,levels:_o()?1:2}),"meshWarp"),m=ye(Jt(mr(u.member("x"),S1),mr(u.member("y"),S1)),"meshQ"),p=mr(8,$e(Dt(zt("smoothness"),e),.5)),y=e.propValues.variation,h=y!==void 0&&y!==0?gr(N(p,wy(N(N(Sn(tr(N(m.member("x"),eT),N(m.member("y"),eT),$e(N(n,3.17),N(o,_L)))),Dt(zt("variation"),e)),cL))),.6,16):gr(p,.6,16),g=Aw(e,{count:zt("count"),seed:zt("seed"),drift:zt("drift"),field:"meshAnchors"});return jw(Ew(Mw({t:Sw({at:m,count:Dt(zt("count"),e),seed:n,drift:Dt(zt("drift"),e),aspect:r,time:o,softness:h,anchors:g}),cycles:$e(1,N(Dt(zt("wrapping"),e),lL))}),e),e)}});var{isMobileGpuViewport:mL,VOLUMETRIC_FIELD_EXTRA_FIELDS:pL}=yd,{ANALYTIC_SDF_EXTRA_FIELDS:fL}=n1,vL=JSON.stringify({type:"sphere3D",radius:.35}),yL=6,hL=4,d_=$o({name:"Nebula",role:"shapeEffect",species:"custom",boundingBoxDeclaration:i1,category:"Shape Effects",description:"A volumetric gas nebula sealed inside polished glass; billowing emission clouds with hollow dark cavities and hot glowing cores, star fields drifting at real depth behind the gas, all refracted through the curved walls of the shape and dressed with studio reflections",animatedTime:{speed:"speed"},...h1({pattern:"raw",surface:(e,t)=>{let{uniforms:s}=t,r=uo(t),o=mL()?hL:yL,n=t.propValues.colorSpace??0,i,d;if(n!==0){let Fe="";t.onBeforeRender(()=>{let st=["veilColor","gasColor","coreColor"].map(Ve=>t.getCpuValue(Ve));if(st.some(Ve=>!Ve))return;let Xe=st.map(Ve=>`${Ve.x},${Ve.y},${Ve.z}`).join("|");if(Xe===Fe)return;Fe=Xe;let We=["convVeil","convGas","convCore"];st.forEach((Ve,Ft)=>{let Gt=s1(Ve.x,Ve.y,Ve.z,n);t.setExtraField(We[Ft],[Gt[0],Gt[1],Gt[2]])})});let Ie=Bv[n]??t1;i=st=>we(Ie,"mixPreconvertedColors",[s.convVeil,s.convGas,s.veilColor.member("a"),s.gasColor.member("a"),st]),d=(st,Xe,We)=>{let Ve=ye(we(fa,"mixInSpace",[s.convVeil,s.veilColor.member("a"),s.convGas,s.gasColor.member("a"),st]),`${We}AB`);return we(Ie,"mixPreconvertedColors",[Ve.member("conv"),s.convCore,Ve.member("alpha"),s.coreColor.member("a"),Xe])}}else i=Fe=>we(Bo,"mixColors",[s.veilColor,s.gasColor,Fe]),d=(Fe,Ie)=>we(Bo,"mixColors",[we(Bo,"mixColors",[s.veilColor,s.gasColor,Fe]),s.coreColor,Ie]);let c=x1(e,t,{scale:s.scale}),{sdf:_,pxH:u}=c,m=g1(e,c,{bevelWidth:Zr(.09),bevelShape:Zr(0)}),p=b1(t,c),y=Ow(e,m,ye(N(s.refraction,.16),"bend")),{x:h,y:g}=y.centered,w=Ww(e),S=Nw(c,e,{origin:y,view:p,shear:.55,lengthScale:.9}),T=S.length,A=ye(N(s.gasScale,3.1),"freq"),P=ye(N(r,.14),"drift"),U=ye(N(s.seed,7.31),"seedOff"),D=ye(N(Bw(N(y.x,311.7),N(y.y,173.3)),.15/o),"jit"),O=ye(N(ga(Jt($e($e(N(h,1.3),N(P,.6)),N(U,.37)),$e(N(g,1.3),N(U,.61)))),.5),"macro"),L=ye(Co(-.35,.5,s.cavity),"cav"),G=ye(N(s.billow,.55),"billowAmt"),W=ye(s.coreColor.member("rgb"),"coreRgb"),K=ye(s.veilColor.member("rgb"),"veilRgb"),Q=ye(N($e(.3,N(T,.9)),6/o),"eGain"),te=ye(N(N($e(.5,N(T,2.2)),s.density),3/o),"aGain"),ee=Xw({steps:o,entry:S.entry,length:S.length,jitter:D,emissionGain:Q,hint:"gasAcc"},({i:Fe,t:Ie,z:st})=>{let Xe=S.at(st),We=qw({x:Xe.x,y:Xe.y,z:st},{frequency:A,drift:P,seed:U,billow:G,hint:`${Fe}`}),Ve=Ss(0,.11,N(T,Math.min(Ie,1-Ie))),Ft=fs(1,gr(N(m1(We.fine),1.6),0,1)),Gt=ye(N(N(Ss(0,.5,fs($e(We.density,O),L)),Ve),$e(.65,N(Ft,.7))),`dens${Fe}`),os=ye(N(N(Ss(.45,.75,We.mid),Ve),s.dust),`dust${Fe}`),bs=ye(d(Ss(.05,.75,Gt),Ss(.68,1,Gt),`cB${Fe}`),`cB${Fe}`).member("rgb"),ls=1-Ie*.45,As=N(Ss(-.7,.3,We.density),N(.05,Ve));return{emit:$e($e(N(bs,N(Gt,ls)),N(W,N(nd(Gt,3),N(s.glow,1.2*ls)))),N(K,N(As,ls))),absorb:$e(ln(N(Gt,te)),N(tr(1.5,1,.55),N(os,N(te,2.2))))}}),he=ye(N(s.starScale,34),"starFreq"),Ee=ye(N(s.twinkle,.5),"twinkleAmt"),Te=My(S,{depth:1.1,pan:w,panRate:1.3,hint:"far"}),Ue=Ay(ye(Jt(N(Te.x,he),N(Te.y,he)),"farP"),{variationFreq:.13,radius:[.004,.013],keep:[.35,.75],brightness:[.3,1.2],shimmer:Fe=>Sy(r,Fe,{amount:Ee,rate:1.7,spread:40}),gain:s.stars,tint:{from:[.72,.82,1],to:[1,.92,.82],gain:1.6},hint:"starFar"}),Me=My(S,{depth:.25,pan:w,panRate:.55,hint:"near"}),Pe=N(he,.56),Re=Ay(ye(Jt($e(N(Me.x,Pe),7.3),$e(N(Me.y,Pe),2.9)),"nearP"),{variationFreq:.11,radius:[.003,.01],keep:[.45,.8],brightness:[.35,1.3],shimmer:Fe=>Sy(r,Fe,{amount:Ee,rate:2.3,spread:34}),gain:s.stars,tint:{from:[.75,.85,1],to:[1,.95,.88],gain:1.8},hint:"starNear"}),de=s_(s.lightAngle,"light"),je=ye(gr(gw(m,T1(de,-.7).member("H")),0,1),"ndh"),fe=ye(f1(p,m),"R"),Ke=ye(Gw(fe.member("x"),fe.member("y"),{rotation:de,keyRadius:.2,drift:0,strength:s.environment,skyGain:.32}),"envLum"),Ze=Vw(je,{core:[140,1.3],halo:[22,.14],softness:s.highlightSoftness,gain:s.highlight}),at=Yw(Hw([{paint:i(Zr(.25)).member("rgb"),opacity:.06,behind:ee.transmittance},ee.color,{paint:Ue.rgb,behind:ee.transmittance},{paint:Re.rgb,behind:Co(ee.transmittance,ln(1),.35)},{paint:N(tr(.85,.92,1.08),Ke),opacity:.38},N(tr(1,.98,.95),Ze)]));return v1(y1(_,u),ni(at,w1(c,s.edgeSoftness)),xr,"nebula")}}),extraFields:{...pL,...fL,convVeil:{schema:f,initial:[0,0,0]},convGas:{schema:f,initial:[0,0,0]},convCore:{schema:f,initial:[0,0,0]}},props:{origin:{default:"center",description:"Reference edge the center position is measured from (center default). Lets you pin the shape relative to a corner or the canvas centre.",ui:{type:"origin",label:"Origin",group:"Position"}},center:{default:{x:.5,y:.5},transform:ho,description:"Center position of the nebula shape",ui:{type:"position",label:"Center",group:"Position",units:["%","px"]}},scale:{default:1,description:"Scale of the nebula shape (1 = default size)",ui:{type:["range","map"],min:.1,max:3,step:.01,label:"Scale",group:"Position"}},rotation:{default:0,description:"Rotation of the nebula shape in degrees",ui:{type:"range",min:0,max:360,step:1,label:"Rotation",group:"Position"}},coreColor:{default:"#ffd9b0",transform:ts,description:"The hot color the densest gas cores glow with \u2014 the embedded newborn stars",ui:{type:"color",label:"Core Color",group:"Nebula"}},gasColor:{default:"#ff5e7a",transform:ts,description:"The main emission color of the gas body \u2014 H-alpha rose by default",ui:{type:"color",label:"Gas Color",group:"Nebula"}},veilColor:{default:"#3a5bdb",transform:ts,description:"The color of the thin outer veils and the deep-space background behind the gas",ui:{type:"color",label:"Veil Color",group:"Nebula"}},colorSpace:{default:"oklab",transform:ir,compileTime:!0,description:"Color space the veil \u2192 gas \u2192 core ramps blend in",ui:{type:"select",options:Ho,label:"Color Space",group:"Nebula"}},density:{default:1,description:"Optical density of the gas \u2014 how strongly clouds occlude the stars and gas behind them",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Density",group:"Nebula"}},cavity:{default:0,description:"How hollowed-out the nebula is \u2014 0 fills the volume with cloud banks, high carves large dark voids between them",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Cavity",group:"Nebula"}},dust:{default:.55,description:"Cold dark dust lanes threading the gas \u2014 absorb-only tendrils that redden the clouds and stars behind them",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Dust",group:"Nebula"}},gasScale:{default:.4,description:"Feature size of the gas \u2014 higher = finer, busier cloud detail",ui:{type:["range","map"],min:.1,max:1,step:.01,label:"Gas Scale",group:"Nebula"}},billow:{default:.6,description:"Turbulent folding of the clouds \u2014 0 = smooth drifting banks, 1 = heavily churned billows",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Billow",group:"Nebula"}},glow:{default:0,description:"Hot emission bloom of the dense cores",ui:{type:["range","map"],min:0,max:2,step:.01,label:"Glow",group:"Nebula"}},seed:{default:0,description:"Random seed \u2014 pans the gas field to a different region of noise space for a new cloud composition",ui:{type:["range","map"],min:0,max:100,step:1,label:"Seed",group:"Nebula"}},stars:{default:.07,description:"Brightness of the star fields drifting at depth behind and inside the gas",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Stars",group:"Stars"}},starScale:{default:1,description:"Density of the star fields \u2014 higher = smaller, busier stars",ui:{type:["range","map"],min:.25,max:3,step:.01,label:"Star Scale",group:"Stars"}},twinkle:{default:.35,description:"Intensity of the star twinkle (0 = steady stars, 1 = full shimmer)",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Twinkle",group:"Stars"}},...xd({refraction:{description:"How strongly the curved glass walls bend the interior seen near the edges"},environment:{default:.7,description:"Strength of the studio softboxes reflected in the polished glass surface"},highlight:{default:1.15,description:"Sharp key-light glint on the glass",ui:{group:"Glass"}},highlightSoftness:{ui:{group:"Glass"}},lightAngle:{description:"Direction of the key light and reflected studio, in degrees"},edgeSoftness:!0}),speed:{default:.3,description:"Speed of the slowly churning gas and twinkling stars. 0 freezes the nebula.",ui:{type:"range",min:0,max:4,step:.01,label:"Speed",group:"Animation"}},shape:{default:vL,description:"Serialized shape configuration (JSON)",ui:{type:"shape",label:"Shape",group:"Shape"}},shapeSdfUrl:{default:"",compileTime:!0,description:"URL to a pre-generated SDF .bin file"},shapeType:{default:"",compileTime:!0,description:"Active SDF shape type"}}});var xL=[r_,o_,n_,a_,i_,d_].map(e=>({definition:e})),gL=e=>xL.find(t=>t.definition.name===e);var bL=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(e1({in:{vertexIndex:_r.vertexIndex},out:{pos:_r.position,uv:lt}})`{ + const pos = array(vec2f(-1, -1), vec2f(3, -1), vec2f(-1, 3)); + const uv = array(vec2f(0, 1), vec2f(2, 1), vec2f(0, -1)); + + return Out(vec4f(pos[in.vertexIndex], 0, 1), uv[in.vertexIndex]); +}`,"fullScreenTriangle");o2.disable("external-omitted");var wL=["float32-filterable","timestamp-query"],ky=new WeakMap,Ey=new WeakMap,$y=new WeakSet,Td=null,TL=new WeakSet;async function SL(e={}){if(e.device&&!$y.has(e.device)){let r=e.device,o=ky.get(r);o||(o=v.initFromDevice({device:r}),ky.set(r,o));let n=tT(o,e.onDeviceLost);return{root:o,device:r,adapter:e.adapter,createdDevice:!1,release:n}}e.device&&Ma("[gpu] injected GPU device was lost \u2014 falling back to the shared default device");let t=await AL(),s=tT(t.root,e.onDeviceLost);return{root:t.root,device:t.device,adapter:t.adapter,createdDevice:!1,release:s}}async function AL(){for(;;){let t=Td;if(!t)break;let s=await t.catch(()=>null);if(s&&!TL.has(t)&&!$y.has(s.device))return s;Td===t&&(Td=null)}let e=ML();Td=e;try{return await e}catch(t){throw Td===e&&(Td=null),t}}async function ML(){if(typeof navigator>"u"||!navigator.gpu)throw new mi("unsupported","[gpu] WebGPU is not available in this environment (navigator.gpu is undefined).");let e;try{e=await v.init({adapter:{powerPreference:"high-performance"},device:{optionalFeatures:wL}})}catch(t){let s=await ih();throw new mi(s.supported?"no-device":s.reason??"init-failed",void 0,{cause:t})}if(!e.device)throw new mi("no-device","[gpu] adapter returned no device.");return ky.set(e.device,e),{root:e,device:e.device,createdDevice:!0}}function PL(e,t,s={}){return e.configureContext({canvas:t,alphaMode:"premultiplied",...s})}function tT(e,t){let s=e.device,r=Ey.get(s);if(r||(r=new Set,Ey.set(s,r),e.device.lost.then(n=>{if($y.add(s),n.reason!=="destroyed")for(let i of[...Ey.get(s)??[]])i(n)})),!t)return()=>{};let o=r;return o.add(t),()=>o.delete(t)}function EL(){let e={value:0,advance(t,s){e.value+=t*s}};return e}var sT=new WeakMap;function ii(e){let t=sT.get(e);return t||(t=EL(),sT.set(e,t)),t}var kL=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({time:a,viewportSize:l,logicalViewportSize:l,aspect:a,pointer:l,pointerActive:a}),"SystemUniforms");v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return vr(t,s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewportSize"}],body:[0,[[10,[6,"std.mul",["uv","viewportSize"]]]]]},externals:{"std.mul":()=>vr}})&&e.f)({}));v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_div(t.x,t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"viewportSize"}],body:[0,[[10,[1,[7,"viewportSize","x"],"/",[7,"viewportSize","y"]]]]]},externals:{}})&&e.f)({}));function $L(e){let t=2166136261,s=e.join("");for(let r=0;r>>0).toString(16).padStart(8,"0")}:${s.length}`}function UL(e={}){let t=e.maxSize??4,s=e.dispose,r=new Map,o=0,n=null,i=null;function d(_){_.lastUsed=++o}function c(){for(;r.size>t;){let _=null;for(let u of r.values())u.hash===n||u.hash===i||(!_||u.lastUsed<_.lastUsed)&&(_=u);if(!_)break;r.delete(_.hash),s?.(_.value,_.hash)}}return{getOrBuild(_,u){let m=r.get(_);if(m)return d(m),_===n?i=null:i=_,m.value;let p=u(),y={hash:_,value:p,lastUsed:++o};return r.set(_,y),n===null?(n=_,i=null):i=_,c(),p},markReady(_){if(_!==i)return;let u=r.get(_);u&&(n=_,i=null,d(u),c())},get renderValue(){let _=n??i;return _?r.get(_)?.value??null:null},get activeHash(){return n},get pendingHash(){return i},release(_){let u=r.get(_);u&&(r.delete(_),s?.(u.value,_),n===_&&(n=null),i===_&&(i=null))},has(_){return r.has(_)},get size(){return r.size},clear(){for(let _ of r.values())s?.(_.value,_.hash);r.clear(),n=null,i=null}}}var Sd="passManager";function CL(e,t){let{textureManager:s,dispatcher:r}=t,o=t.canvasFormat??RL(),n=t.rttFormat??"rgba16float",i=e.device?.limits?.maxSampledTexturesPerShaderStage,d=t.maxSampledTextures??(typeof i=="number"&&i>0?i:16),c=t.fullScreenTriangle??bL,_=new Map,u=new Set,m=null;function p(){let G=s.samplers;try{return e.createBindGroup(Nv,{linearClamp:G.linearClamp,nearestClamp:G.nearestClamp,linearRepeat:G.linearRepeat,nearestRepeat:G.nearestRepeat})}catch(W){Is(`[${Sd}] failed to build sampler bind group:`,W);return}}function y(G,W){let K=new Set;for(let Q of G.textures)if(Q.kind==="rtt")if(K.add(Q.key),_.has(Q.key))_.get(Q.key).resize(W.width,W.height);else{let te=s.createRenderTexture({width:W.width,height:W.height,format:n,label:`rtt:${Q.key}`});_.set(Q.key,te),u.add(te)}for(let[Q,te]of[..._])K.has(Q)||(te.destroy(),u.delete(te),_.delete(Q))}function h(G,W){if(!G.textureLayout||G.reads.length===0)return;let K={};for(let Q of G.reads){let te=_.get(Q),ee=W?.[Q],he=te??ee;if(!he){Is(`[${Sd}] pass "${G.entry}" reads unknown texture "${Q}"`);return}K[Q]=he.texture}G.reads.length>d&&Ma(`[${Sd}] pass samples ${G.reads.length} textures (> device limit ~${d}); composition may fail on this device.`);try{return e.createBindGroup(G.textureLayout,K)}catch(Q){Is(`[${Sd}] failed to build texture bind group:`,Q);return}}function g(G,W){return e.createRenderPipeline({vertex:c,fragment:G.entry,targets:{format:W}})}function w(G,W){if(!G.externalLayout||G.externalReads.length===0)return;let K=G.externalReads;if(K.length===1){let te=W.get(K[0]);if(!te){Is(`[${Sd}] external read "${K[0]}" has no registered source`);return}return s.createExternalTextureBinding({layout:G.externalLayout,entryKey:K[0],getSource:te})}let Q=null;return{update(){let te={};for(let ee of K){let he=W.get(ee)?.();if(!he)return Q=null,null;try{te[ee]=e.device.importExternalTexture({source:he})}catch{return Q=null,null}}return Q=e.createBindGroup(G.externalLayout,te),Q},get current(){return Q},destroy(){Q=null}}}function S(G,W,K,Q){let te=W.kind==="canvas"?o:n,ee=G.reads.filter(Ee=>K?.[Ee]),he=new Map(ee.map(Ee=>[Ee,K[Ee].texture]));return{fragment:G,pipeline:g(G,te),textureBindGroup:h(G,K),externalBinding:w(G,Q),target:W,mediaReads:ee,mediaSnapshot:he}}function T(G,W,K,Q){y(G,K);for(let Te of G.computeSteps)Te.bindInputs?.(Ue=>_.get(Ue)??Q?.[Ue]);let te=p(),ee=new Map;for(let Te of G.externalTextures)ee.set(Te.key,Te.getSource);let he=G.rttPasses.map(Te=>S(Te.fragment,{kind:"rtt",key:Te.textureKey},Q,ee)),Ee=S(G.finalPass,{kind:"canvas"},Q,ee);m={ir:G,uniformBindGroup:W,samplerBindGroup:te,computeSteps:G.computeSteps,rttPasses:he,finalPass:Ee,size:K,mediaResources:Q}}function A(G,W){let K=G.pipeline;if(m?.uniformBindGroup&&(K=K.with(m.uniformBindGroup)),G.mediaReads&&G.mediaReads.length>0&&m?.mediaResources){let Q=!1;for(let te of G.mediaReads)m.mediaResources[te].texture!==G.mediaSnapshot.get(te)&&(Q=!0);if(Q){G.textureBindGroup=h(G.fragment,m.mediaResources);for(let te of G.mediaReads)G.mediaSnapshot.set(te,m.mediaResources[te].texture)}}if(G.textureBindGroup&&(K=K.with(G.textureBindGroup)),G.fragment.usesSamplers&&m?.samplerBindGroup&&(K=K.with(m.samplerBindGroup)),G.fragment.externalReads.length>0){let Q=G.externalBinding?.update()??null;if(!Q){G.externalSkipLogged||(Ma(`[${Sd}] external texture not ready \u2014 skipping pass (${G.fragment.externalReads.join(", ")})`),G.externalSkipLogged=!0);return}K=K.with(Q)}K.withColorAttachment({view:W}).draw(3)}function P(G,W,K){if(m){for(let Q of m.computeSteps){let te=Q.getComputeNodes(W);te&&te.length&&r.dispatch(te)}K?.(),U(),A(m.finalPass,G)}}function U(){if(m)for(let G of m.rttPasses){let W=_.get(G.target.key);W&&A(G,D(W))}}function D(G){return e.unwrap(G.texture).createView()}function O(G){if(!(!G.fragment.textureLayout||G.fragment.reads.length===0)&&(G.textureBindGroup=h(G.fragment,m?.mediaResources),G.mediaReads&&G.mediaSnapshot&&m?.mediaResources))for(let W of G.mediaReads)G.mediaSnapshot.set(W,m.mediaResources[W].texture)}function L(G,W){let K=!1;for(let Q of _.values())Q.resize(G,W)&&(K=!0);if(!m)return K;if(m.size={width:G,height:W},!K)return!1;for(let Q of m.computeSteps)Q.bindInputs?.(te=>_.get(te)??m.mediaResources?.[te]);for(let Q of m.rttPasses)O(Q);return O(m.finalPass),!0}return{setComposition:T,render:P,repaintRtt:U,resize:L,get textureCount(){return u.size},get passCount(){return m?m.rttPasses.length+1:0},dispose(){for(let G of[...u])G.destroy();u.clear(),_.clear(),m=null}}}function RL(){return typeof navigator<"u"&&navigator.gpu?navigator.gpu.getPreferredCanvasFormat():"bgra8unorm"}function rT(e){return`${e}-srgb`}function zL(e){let t=new Set;function s(y,...h){return e.createTexture.call(e,y).$usage(...h)}let r,o,n,i,d={get linearClamp(){return r??=e.createSampler({magFilter:"linear",minFilter:"linear",mipmapFilter:"linear",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"})},get nearestClamp(){return o??=e.createSampler({magFilter:"nearest",minFilter:"nearest",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"})},get linearRepeat(){return n??=e.createSampler({magFilter:"linear",minFilter:"linear",mipmapFilter:"linear",addressModeU:"repeat",addressModeV:"repeat"})},get nearestRepeat(){return i??=e.createSampler({magFilter:"nearest",minFilter:"nearest",addressModeU:"repeat",addressModeV:"repeat"})}};function c(y,h,g,w,S){let T={texture:y,width:h,height:g,format:w,write(A){y.write(A)},unwrap(){return e.unwrap(y)},createSrgbView(){if(S)return e.unwrap(y).createView({format:rT(w)})},generateMipmaps(){y.generateMipmaps?.()},destroy(){t.has(T)&&(y.destroy(),t.delete(T))}};return t.add(T),T}function _(y){let{width:h,height:g,srgb:w=!1,mipLevelCount:S}=y,T=y.format??"rgba8unorm";return c(s({size:[h,g],format:T,...w?{viewFormats:[rT(T)]}:{},...S?{mipLevelCount:S}:{}},"sampled","render"),h,g,T,w)}function u(y){let{width:h,height:g,format:w,data:S}=y,T=c(s({size:[h,g],format:w},"sampled"),h,g,w,!1);return S&&T.write(S),T}function m(y){let h=y.format??"rgba16float",{mipLevelCount:g}=y,w=y.width,S=y.height;function T(P,U){return c(s({size:[P,U],format:h,...g?{mipLevelCount:g}:{}},"sampled","render"),P,U,h,!1)}let A=T(w,S);return{get texture(){return A.texture},get width(){return w},get height(){return S},format:h,write(P){A.write(P)},unwrap(){return A.unwrap()},createSrgbView(){return A.createSrgbView()},generateMipmaps(){A.generateMipmaps()},resize(P,U){return P===w&&U===S?!1:(A.destroy(),w=P,S=U,A=T(P,U),!0)},destroy(){A.destroy()}}}function p(y){let{layout:h,entryKey:g,getSource:w,staticEntries:S={}}=y,T=null;return{update(){let A=w();if(!A)return T=null,null;let P;try{P=e.device.importExternalTexture({source:A})}catch{return T=null,null}return T=e.createBindGroup(h,{...S,[g]:P}),T},get current(){return T},destroy(){T=null}}}return{samplers:d,createMediaTexture:_,createDataTexture:u,createRenderTexture:m,createExternalTextureBinding:p,get textureCount(){return t.size},destroy(){for(let y of[...t])y.destroy();t.clear()}}}function GL(e,t){let s=gL(e)?.definition?.naturalSizeKey;if(!s)return null;if("fixed"in s)return s.fixed||null;let r=t[s.fromProp];return typeof r=="string"&&r?r:null}function YL(e,t,s){if(!e||typeof e!="object")return null;let r=(i,d)=>!i||typeof i!="object"||typeof i.value!="number"?null:i.unit==="px"?i.value:i.value*d,o=r(e.width,t),n=r(e.height,s);return o!=null&&n!=null&&o>0&&n>0?{widthPx:o,heightPx:n}:null}function LL(e,t,s){let{type:r,decl:o,props:n,boundingBox:i}=e;if(!(t>0)||!(s>0)||e.requiresChild)return null;if(o?.computeBounds){let u=o.computeBounds(n,t,s);return u.widthPx>0&&u.heightPx>0?{widthPx:u.widthPx,heightPx:u.heightPx}:null}let d=o?.propBindings;if(d?.width&&d?.height){let u=Uc(d.width,n[d.width.prop],t,s),m=Uc(d.height,n[d.height.prop],t,s);return u>0&&m>0?{widthPx:u,heightPx:m}:null}let c=YL(i,t,s);if(c)return c;let _=GL(r,n);if(_){let u=v7(_);if(u)return{widthPx:u.width,heightPx:u.height}}return null}function IL(e,t){return e==null?0:typeof e=="number"?e:e.unit==="px"?e.value:e.value*t}function Uy(e,t,s){return!e||e.mode!=="column"&&e.mode!=="row"?null:{mode:e.mode,gapPx:Math.max(0,IL(e.gap,e.mode==="column"?s:t)),align:e.align??"center",anchor:e.anchor??"center",anchorOffsetX:e.anchorOffset?.x??0,anchorOffsetY:e.anchorOffset?.y??0}}var oT=e=>({ox:e.includes("left")?"start":e.includes("right")?"end":"center",oy:e.includes("top")?"start":e.includes("bottom")?"end":"center"}),A1=(e,t,s,r)=>e==="start"?r:e==="end"?s-t-r:(s-t)/2+r;function M1(e,t){let s=0,r=0;for(let o of t){let n=e.mode==="column"?o.size.heightPx:o.size.widthPx,i=e.mode==="column"?o.size.widthPx:o.size.heightPx;s+=n,r=Math.max(r,i)}return t.length>1&&(s+=e.gapPx*(t.length-1)),e.mode==="column"?{widthPx:r,heightPx:s}:{widthPx:s,heightPx:r}}function DL(e,t,s,r){let o=new Map;if(t.length===0)return o;let n=M1(e,t),{ox:i,oy:d}=oT(e.anchor),c=A1(i,n.widthPx,s,e.anchorOffsetX),_=A1(d,n.heightPx,r,e.anchorOffsetY),u=(p,y)=>e.align==="start"?0:e.align==="end"?y-p:(y-p)/2,m=0;for(let p of t)if(e.mode==="column"){let y=c+u(p.size.widthPx,n.widthPx)+p.size.widthPx/2,h=_+m+p.size.heightPx/2;o.set(p.id,{centerXPx:y,centerYPx:h}),m+=p.size.heightPx+e.gapPx}else{let y=c+m+p.size.widthPx/2,h=_+u(p.size.heightPx,n.heightPx)+p.size.heightPx/2;o.set(p.id,{centerXPx:y,centerYPx:h}),m+=p.size.widthPx+e.gapPx}return o}function FL(e,t,s){let r=Uy(e.layout,t,s);if(r){let o=Cy(e,t,s);return o.length===0?null:M1(r,o)}return LL({type:e.componentName,decl:e.decl,props:e.props,boundingBox:e.boundingBox,requiresChild:e.requiresChild,availableWidthPx:t},t,s)}function Cy(e,t,s){let r=[];for(let o of e.children){if(o.visible===!1||o.absolute)continue;let n=FL(o,t,s);n&&r.push({id:o.id,size:n,view:o})}return r}function BL(e,t,s){if(!e.decl?.computeBounds)return{x:0,y:0};let r=e.decl.computeBounds(e.props,t,s),o=typeof e.props.center?.x=="number"?e.props.center.x:.5,n=typeof e.props.center?.y=="number"?e.props.center.y:.5;return{x:r.centerXPx-o*t,y:r.centerYPx-n*s}}function WL(e,t,s,r,o,n,i,d){let c=Uy(e.layout,o,n);if(c){nT(e,c,o,n,i,{centerXPx:s,centerYPx:r},d);return}let _=e.decl?.propBindings?.x?.prop??e.decl?.propBindings?.y?.prop;if(_){if(!e.positionDriven){let u=BL(e,o,n);i.push({kind:"position",id:e.id,prop:_,value:{x:(s-u.x)/o,y:(r-u.y)/n}})}return}i.push({kind:"box",id:e.id,xPx:s-t.widthPx/2,yPx:r-t.heightPx/2,widthPx:t.widthPx,heightPx:t.heightPx})}function nT(e,t,s,r,o,n,i,d){let c=d??Cy(e,s,r);if(c.length===0)return;let _=t;if(n){let m=M1(t,c);_={...t,anchor:"top-left",anchorOffsetX:n.centerXPx-m.widthPx/2,anchorOffsetY:n.centerYPx-m.heightPx/2}}if(i){let m=M1(_,c),{ox:p,oy:y}=oT(_.anchor);i.set(e.id,{leftPx:A1(p,m.widthPx,s,_.anchorOffsetX),topPx:A1(y,m.heightPx,r,_.anchorOffsetY),widthPx:m.widthPx,heightPx:m.heightPx})}let u=DL(_,c,s,r);for(let m of c){let p=u.get(m.id);p&&WL(m.view,m.size,p.centerXPx,p.centerYPx,s,r,o,i)}}function OL(e,t,s,r){let o=[],n=i=>{let d=Uy(i.layout,t,s);if(d){let c=Cy(i,t,s);nT(i,d,t,s,o,void 0,r,c);let _=new Set(c.map(u=>u.id));for(let u of i.children)u.visible!==!1&&(_.has(u.id)||n(u));return}for(let c of i.children)c.visible!==!1&&n(c)};for(let i of e)i.visible!==!1&&n(i);return o}var VL=class{frameTimesMs=[];frameTimesIndex=0;frameTimesCount=0;maxSamples=60;targetFrameTime=16.67;jankFrameCount=0;totalFrameCount=0;memorySnapshots=[];memorySnapshotIndex=0;maxMemorySnapshots=300;nodeCount=0;rttNodeCount=0;lastCpuTime=null;lastGpuTime=null;isRendering=!1;lastFrameTimestamp=0;frameIntervals=[];frameIntervalsIndex=0;frameIntervalsCount=0;pushToCircularBuffer(e,t,s,r,o){return e.lengththis.targetFrameTime&&this.jankFrameCount++;let s=performance.now();if(this.lastFrameTimestamp>0){let r=s-this.lastFrameTimestamp,o=this.pushToCircularBuffer(this.frameIntervals,r,this.frameIntervalsIndex,this.frameIntervalsCount,this.maxSamples);this.frameIntervalsIndex=o.index,this.frameIntervalsCount=o.count}this.lastFrameTimestamp=s,this.recordMemorySnapshot()}recordCpuTime(e){this.lastCpuTime=e}recordGpuTime(e){this.lastGpuTime=e}updateNodeCounts(e,t){this.nodeCount=e,this.rttNodeCount=t}setRendering(e){this.isRendering=e}recordMemorySnapshot(){if(!performance.memory)return;let e=performance.now(),t=performance.memory.usedJSHeapSize;if(this.memorySnapshots.lengthr+o,0)/e.length,s=0;for(let r=0;r=0&&this.sortBuffer[n]>o;)this.sortBuffer[n+1]=this.sortBuffer[n],n--;this.sortBuffer[n+1]=o}let s=Math.floor(t*.99);return this.sortBuffer[Math.min(s,t-1)]}calculateComplexityScore(){return this.nodeCount+this.rttNodeCount*10}calculateIntensityScore(){let e=this.getBufferValues(this.frameTimesMs,this.frameTimesCount),t=e.length;if(t===0)return{score:0,label:"N/A"};let s=e.reduce((u,m)=>u+m,0)/t,r=Math.min(s/16.67*100,100),o=this.calculateComplexityScore(),n=Math.min(o/100*100,100),i=0;this.lastGpuTime!==null&&(i=Math.min(this.lastGpuTime/16.67*100,100));let d=this.lastGpuTime!==null?{frame:.4,gpu:.4,complexity:.2}:{frame:.7,gpu:0,complexity:.3},c=Math.round(r*d.frame+i*d.gpu+n*d.complexity),_;return c<=20?_="Very Light":c<=40?_="Light":c<=60?_="Medium":c<=80?_="Heavy":_="Very Heavy",{score:Math.min(c,100),label:_}}getStats(e){let t=this.getBufferValues(this.frameTimesMs,this.frameTimesCount),s=this.getBufferValues(this.frameIntervals,this.frameIntervalsCount),r=t.length,o=s.length>0?1e3/(s.reduce((A,P)=>A+P,0)/s.length):0,n=r>0?t.reduce((A,P)=>A+P,0)/r:0,i=r>0?Math.min(...t):0,d=r>0?Math.max(...t):0,c=this.calculateP99(t),_=this.calculateStdDev(t),u=this.totalFrameCount>0?this.jankFrameCount/this.totalFrameCount*100:0,m=performance.memory,p=m?m.usedJSHeapSize/(1024*1024):null,y=this.calculateMemoryGrowthRate(),h=n>0?n/this.targetFrameTime*100:0,g=e?.render?.calls??null,w=e?.programs?.length??null,S=e?.memory?.textures??null,T=this.calculateIntensityScore();return{fps:Math.round(o),avgFrameTime:Math.round(n*100)/100,minFrameTime:Math.round(i*100)/100,maxFrameTime:Math.round(d*100)/100,p99FrameTime:Math.round(c*100)/100,stdDevFrameTime:Math.round(_*100)/100,jankCount:this.jankFrameCount,jankPercent:Math.round(u*10)/10,nodeCount:this.nodeCount,rttNodeCount:this.rttNodeCount,complexityScore:this.calculateComplexityScore(),memoryUsedMB:p!==null?Math.round(p*100)/100:null,memoryGrowthRate:y!==null?Math.round(y*1e3)/1e3:null,cpuTime:this.lastCpuTime!==null?Math.round(this.lastCpuTime*100)/100:null,gpuTime:this.lastGpuTime!==null?Math.round(this.lastGpuTime*100)/100:null,budgetUsed:Math.round(h*10)/10,drawCalls:g,shaderPrograms:w,textureCount:S,intensityScore:T.score,intensityLabel:T.label,isRendering:this.isRendering}}reset(){this.frameTimesMs.length=0,this.frameTimesIndex=0,this.frameTimesCount=0,this.frameIntervals.length=0,this.frameIntervalsIndex=0,this.frameIntervalsCount=0,this.lastFrameTimestamp=0,this.jankFrameCount=0,this.totalFrameCount=0,this.memorySnapshots.length=0,this.memorySnapshotIndex=0,this.sortBuffer.length=0,this.lastCpuTime=null,this.lastGpuTime=null}},NL=32,qL=5,XL=(()=>{let e=0,t=new Set,s=(_,u)=>{t.forEach(m=>{try{m[_](u)}catch(p){Is("[Shaders] Error in pointer handler:",p)}})},r=_=>s("onMouseMove",_),o=_=>s("onTouchMove",_),n=_=>s("onMouseDown",_),i=_=>s("onTouchStart",_),d=()=>s("onMouseUp"),c=()=>s("onTouchEnd");return{register(_){return t.add(_),e++,e===1&&typeof window<"u"&&(window.addEventListener("mousemove",r),window.addEventListener("touchmove",o),window.addEventListener("mousedown",n,!0),window.addEventListener("touchstart",i,!0),window.addEventListener("mouseup",d,!0),window.addEventListener("touchend",c,!0)),()=>{t.delete(_),e--,e===0&&typeof window<"u"&&(window.removeEventListener("mousemove",r),window.removeEventListener("touchmove",o),window.removeEventListener("mousedown",n,!0),window.removeEventListener("touchstart",i,!0),window.removeEventListener("mouseup",d,!0),window.removeEventListener("touchend",c,!0))}}}})();function HL(e){if(!e)return!1;let t=e;if(typeof e=="string")try{t=JSON.parse(e)}catch{return!1}if(!t||typeof t!="object")return!1;for(let s in t){let r=t[s];if(r&&typeof r=="object"&&r.type==="mouse")return!0}return!1}function aT(){let e=null,t=null,s=null,r=null,o=null,n=null,i=!1,d=!1,c=!1,_=null,u=new Map,m=null,p=new Map,y=[],h=[],g=UL({maxSize:4,dispose:M=>Wy(M)}),w=new Set,S=null,T=null,A=!0,P=0,U=0,D=0,O=0,L=1,G=8192,W=0,K=0,Q=!1,te=()=>D||P||1,ee=()=>O||U||1,he=!0,Ee=!1,Te=!1,Ue=0,Me=0,Pe=0,Re=null,de=null,je=-10,fe=-10,Ke=!1,Ze=!1,at=null,Fe=!1,Ie=null,st=null,Xe=null,We=null,Ve=null,Ft=null,Gt=!1,os="p3-linear",bs="linear",ls=!1,As=null,vs=null,ys=!1,Ks=!1,yr=null,Ur=!1,Ms=null,Cr=null,hr=!1,mo=null,po=null,Rr=0,nr=0,zr=new VL,Ps={deltaTime:0,pointer:{x:-10,y:-10,seen:!1},pointerActive:!1,dimensions:{width:0,height:0}},Gr=G7(()=>Ad()),Vo=M=>M.replace(/[^a-zA-Z0-9_]/g,"_"),Qr=M=>{let E=p.get(M);if(!E)return[];let k=[];for(let V of E){let I=u.get(V);I&&k.push(I)}return k},ci=M=>{let E=Vo(M);for(let[k,V]of u)if(V.metadata.id===E)return k;return null},ba=(M,E)=>{if(E==="center")return;let k=M.boundingBoxDeclaration;if(!k)return;let V={};for(let[I,J]of Object.entries(M.uniforms))V[I]=J._rawDimensional!==void 0?J._rawDimensional:J.value;return li(M,V.shapeSdfUrl),vy(k,V,te(),ee())},_i=new WeakMap,li=(M,E)=>{if(typeof E!="string"||!E||$7(E))return;let k=_i.get(M)??new Set;_i.set(M,k),!k.has(E)&&(k.add(E),a1(E,()=>{k.delete(E),u.get(M.id)===M&&(F(M),Yt()&&Bt(),vo())}))},F=M=>{let E=M.boundingBoxDeclaration,k=M.extraDimProps,V=hd(E,k);if(!V)return;let I=M.uniforms.origin?.value??"center",J=ba(M,I),_e=[...V.positionProps,...V.sizeProps.keys()];for(let Se of _e){let ke=M.uniforms[Se];if(!ke||ke._rawDimensional===void 0)continue;let Ne=Qc(E,Se,ke._rawDimensional,I,te(),ee(),k,J);ke.value=Ne,Ta(M,Se,Ne)}},le=(M,E,k)=>{if(typeof k=="number")return k;let V=M.uniforms.origin?.value??"center",I=Qc(M.boundingBoxDeclaration,E,k,V,te(),ee(),M.extraDimProps);return typeof I=="number"?I:k?.value??0},ae=()=>{let{width:M,height:E}=Sa();return M/Math.max(1,E)},ne=M=>{let E=M.metadata.transform;return{offsetX:E?.offsetX??0,offsetY:E?.offsetY??0,rotation:E?.rotation??0,scale:E?.scale??1,anchorX:E?.anchorX??.5,anchorY:E?.anchorY??.5,aspectRatio:ae()}},ie=M=>{let E=M.metadata.boundingBox;if(!E)return null;let k=Ov(E,te(),ee());return{centerX:k.centerX,centerY:k.centerY,halfWidth:k.halfWidthUV,halfHeight:k.halfHeightUV,cornerRadius:k.cornerRadiusUV,rotation:k.rotation,aspectRatio:ae()}},ge=M=>!!M.metadata.boundingBox&&!!M.boundingBoxDeclaration&&!r1(M.metadata.boundingBox),Ye=M=>{let E=M.boundingBoxDeclaration;if(!E||!M.uniforms||!E.computeBounds&&!E.propBindings)return null;let k={};for(let[ke,Ne]of Object.entries(M.uniforms))k[ke]=Ne._rawDimensional!==void 0?Ne._rawDimensional:Ne.value;let V=vy(E,k,te(),ee());if(V.hwx<=0&&V.hhy<=0)return null;let I=.5,J=.5,_e=E.propBindings?.x?.prop??E.propBindings?.y?.prop,Se=_e?M.uniforms[_e]?.value:void 0;if(Se&&typeof Se.x=="number"&&typeof Se.y=="number"&&(I=Se.x,J=Se.y),_e){let ke=M.metadata.maps?.[_e];if(ke?.type==="mouse-position"){let Ne=M.mouseDriverState[_e];Ne&&(I=Ne.liveX??(typeof ke.x=="number"?ke.x:Ne.currentX),J=Ne.liveY??(typeof ke.y=="number"?ke.y:Ne.currentY))}}return{centerX:I,centerY:J,halfWidth:V.hwx,halfHeight:V.hhy}},Je=M=>{if(!M.definition.wantsBoundsParams)return null;let E=Qr(M.id).sort((k,V)=>k.metadata.renderOrder-V.metadata.renderOrder);for(let k of E){if(k.metadata.visible===!1)continue;if(ge(k))return null;let V=Ye(k);if(V)return V}return null},rt=()=>{for(let M of u.values()){if(!M.definition.wantsBoundsParams)continue;let E=Je(M);E&&(es(M,"_childBounds_centerX",E.centerX),es(M,"_childBounds_centerY",E.centerY),es(M,"_childBounds_halfWidth",E.halfWidth),es(M,"_childBounds_halfHeight",E.halfHeight))}},He=!1,Bt=()=>{He=!0,vo()},Yt=()=>{for(let M of u.values()){let E=M.metadata.flow?.mode;if(E==="column"||E==="row")return!0}return!1},Ls=M=>{let E={};for(let[J,_e]of Object.entries(M.uniforms))E[J]=_e._rawDimensional!==void 0?_e._rawDimensional:_e.value;let k=M.boundingBoxDeclaration?.propBindings?.x?.prop??M.boundingBoxDeclaration?.propBindings?.y?.prop,V=k?M.uniforms[k]?.value:void 0,I=!!(k&&(V?.type==="mouse-position"||M.metadata.maps?.[k]));return{id:M.id,componentName:M.componentName,visible:M.metadata.visible!==!1,absolute:M.metadata.absolute===!0,requiresChild:M.requiresChild,layout:M.metadata.flow,decl:M.boundingBoxDeclaration,props:E,boundingBox:M.metadata.boundingBox,positionDriven:I,children:Qr(M.id).sort((J,_e)=>J.metadata.renderOrder-_e.metadata.renderOrder).map(Ls)}},fo=()=>{if(!Yt()){He=!1;return}let M=te(),E=ee();if(M<=1||E<=1)return;He=!1;let k=[];for(let I of u.values())I.parentId===null&&k.push(Ls(I));let V=OL(k,M,E);for(let I of V){let J=u.get(I.id);if(J)if(I.kind==="position"){let _e=J.uniforms[I.prop];if(!_e)continue;let Se=_e.value,ke=Se&&typeof Se=="object"?{...Se,x:I.value.x,y:I.value.y}:I.value;_e.value=ke,Ta(J,I.prop,ke)}else{let _e=ge(J);if(J.metadata.boundingBox={x:{value:I.xPx,unit:"px"},y:{value:I.yPx,unit:"px"},width:{value:I.widthPx,unit:"px"},height:{value:I.heightPx,unit:"px"},origin:"top-left",rotation:J.metadata.boundingBox?.rotation??0,...J.metadata.boundingBox?.cornerRadius?{cornerRadius:J.metadata.boundingBox.cornerRadius}:{},...J.metadata.boundingBox?.lockAspect!==void 0?{lockAspect:J.metadata.boundingBox.lockAspect}:{}},!_e&&ge(J))Bn();else{let Se=ie(J);if(Se)for(let[ke,Ne]of Object.entries(Se))es(J,`_bbox_${ke}`,Ne)}}}},br=()=>{He&&fo()},Nt=null,No=()=>{Yt()&&Bt()},Yr=()=>{Nt||(Nt=y7(()=>{Yt()&&Bt()})),typeof document<"u"&&document.fonts?.addEventListener&&document.fonts.addEventListener("loadingdone",No)};Yr();let Ro=M=>Tn(M.metadata.transform),wa=(M,E,k)=>{let V=M.mapValues[E]??{inputMin:0,inputMax:1,outputMin:0,outputMax:1,curve:0};if(k.type==="map"){let I=k;V.inputMin=I.inputMin,V.inputMax=I.inputMax,V.outputMin=le(M,E,I.outputMin),V.outputMax=le(M,E,I.outputMax),V.curve=I.curve??0}else if(k.type==="mouse"){let I=k;V.outputMin=le(M,E,I.outputMin),V.outputMax=le(M,E,I.outputMax),V.curve=I.curve??0}else if(k.type==="auto-animate"){let I=k;V.outputMin=le(M,E,I.outputMin),V.outputMax=le(M,E,I.outputMax)}return M.mapValues[E]=V,V},E1=(M,E,k)=>{let V=M.mouseDriverState[E];if(V)return V;if(k.type==="mouse-position"){let I=k.x===void 0||k.x==="mouse",J=k.y===void 0||k.y==="mouse";V={currentX:I?je:k.x,currentY:J?fe:k.y,velocityX:0,velocityY:0,pointerSnapped:Ze}}else V={currentX:Math.max(.001,k.axis==="x"?je:fe),currentY:0,velocityX:0,velocityY:0,pointerSnapped:Ze};return M.mouseDriverState[E]=V,V},k1=M=>{let E=M.metadata.maps;if(E)for(let[k,V]of Object.entries(E))k in M.uniforms&&(V.type==="map"?wa(M,k,V):V.type==="mouse-position"?E1(M,k,V):V.type==="mouse"?(E1(M,k,V),wa(M,k,V)):V.type==="auto-animate"&&(M.autoAnimateState[k]||(M.autoAnimateState[k]={}),wa(M,k,V)))},__=M=>{let E=M.definition.animatedTime;return(E?M.uniforms[E.speed]:void 0)??M},$1=(M,E)=>M.uniforms[E]??M,Gy=M=>{let E=[];for(let[I,J]of Object.entries(M.uniforms))E.push({name:I,initial:J.value,transform:J.transform,cpu:J.cpu,schema:J.schema});if(E.push({name:"_opacity",schema:a,initial:M.metadata.opacity??1}),M.definition.animatedTime&&E.push({name:"_animTime",schema:a,initial:ii(__(M)).value}),M.definition.extraAnimatedTimes)for(let[I,J]of Object.entries(M.definition.extraAnimatedTimes))E.push({name:`_animTime_${I}`,schema:a,initial:ii($1(M,J)).value});let k=M.definition.extraFields;if(k)for(let[I,J]of Object.entries(k))E.push({name:I,schema:J.schema,initial:J.initial});if(Ro(M)){let I=ne(M);for(let[J,_e]of Object.entries(I))E.push({name:`_xform_${J}`,schema:a,initial:_e})}if(ge(M)){let I=ie(M);if(I)for(let[J,_e]of Object.entries(I))E.push({name:`_bbox_${J}`,schema:a,initial:_e})}if(M.definition.wantsBoundsParams){let I=Je(M)??{centerX:.5,centerY:.5,halfWidth:.5,halfHeight:.5};for(let[J,_e]of Object.entries(I))E.push({name:`_childBounds_${J}`,schema:a,initial:_e})}let V=M.metadata.maps;if(V){k1(M);for(let[I,J]of Object.entries(V))if(I in M.uniforms){if(J.type==="map"){let _e=M.mapValues[I];E.push({name:`_map_${I}_inputMin`,schema:a,initial:_e.inputMin}),E.push({name:`_map_${I}_inputMax`,schema:a,initial:_e.inputMax}),E.push({name:`_map_${I}_outputMin`,schema:a,initial:_e.outputMin}),E.push({name:`_map_${I}_outputMax`,schema:a,initial:_e.outputMax}),E.push({name:`_map_${I}_curve`,schema:a,initial:_e.curve})}else if(J.type==="mouse-position"){let _e=M.mouseDriverState[I];E.push({name:`_smoothed_${I}`,schema:l,initial:[_e.currentX,1-_e.currentY]})}else if(J.type==="mouse"){let _e=M.mapValues[I];E.push({name:`_smoothed_${I}`,schema:a,initial:_e.outputMin})}else if(J.type==="auto-animate"){let _e=M.mapValues[I];E.push({name:`_smoothed_${I}`,schema:a,initial:_e.outputMin})}}}return E},Ta=(M,E,k)=>{let V=M._liveHandles?.[E];V&&(As?.(os),e7(V,k))},es=(M,E,k)=>{let V=M._liveHandles?.[E];V instanceof Oo&&(V.value=k)},Yy=(M,E,k)=>{let V=M._liveHandles?.[E];V instanceof Oo?V.value=k:V instanceof Sc&&Array.isArray(k)&&(V.array=k)},dT=M=>{for(let E of Object.values(M.uniforms))if(E.transform===ir){let k=E.value;if(typeof k=="string")return ir(k);if(typeof k=="number")return k}return 0},cT=M=>{if(!M.uniforms.convertedColorsArray)return;let E=null;for(let J of Object.values(M.uniforms))if(J.transform===Rn){E=J.value??null;break}let k=jv(E,Kc),V=Kv(k.colors,k.stopCount,dT(M)),I=(J,_e)=>{let Se=M.uniforms[J];Se&&(Se.value=_e),Ta(M,J,_e)};I("colorsArray",k.colors),I("positionsArray",k.positions),I("convertedColorsArray",V),I("stopCount",k.stopCount)},Ly=(M,E)=>{let k=M.uniforms[E],V=k?._listSpec;if(!k||!V)return;let I=k._rawList,J=new Set,_e=ly(I,V,{color:Kc,drivenPosition:(Ne,Lt,ns)=>{let Ht=cw(E,Ne,Lt);J.add(Ht);let nt=E1(M,Ht,ns);return nt.liveX!==void 0&&nt.liveY!==void 0?{x:nt.liveX,y:1-nt.liveY}:void 0}});for(let Ne of Object.keys(M.mouseDriverState)){let Lt=_y(Ne);Lt&&Lt.prop===E&&!J.has(Ne)&&delete M.mouseDriverState[Ne]}k.value=_e,Ta(M,E,_e);let Se=uy(_e,V),ke=(Ne,Lt)=>{let ns=M.uniforms[Ne];ns&&(ns.value=Lt),Ta(M,Ne,Lt)};for(let[Ne,Lt]of Object.entries(Se.fields))ke(dy(E,Ne),Lt);ke(cy(E),Se.count)},_T=(M,E)=>{let k=M.metadata.maps?.[E];if(k)return k;let V=_y(E);if(!V)return;let I=M.uniforms[V.prop]?._rawList,J=(Array.isArray(I)?I[V.index]:void 0)?.[V.field];return _1(J)?J:void 0},lT=M=>Object.values(M.uniforms).some(E=>E._listSpec&&my(E._rawList,E._listSpec)),uT=M=>{if(es(M,"_opacity",M.metadata.opacity??1),M.definition.animatedTime&&es(M,"_animTime",ii(__(M)).value),M.definition.extraAnimatedTimes)for(let[k,V]of Object.entries(M.definition.extraAnimatedTimes))es(M,`_animTime_${k}`,ii($1(M,V)).value);if(Ro(M))for(let[k,V]of Object.entries(ne(M)))es(M,`_xform_${k}`,V);if(ge(M)){let k=ie(M);if(k)for(let[V,I]of Object.entries(k))es(M,`_bbox_${V}`,I)}let E=M.metadata.maps;if(E){for(let[k,V]of Object.entries(E))if(V.type==="map"&&M.mapValues[k]){let I=M.mapValues[k];es(M,`_map_${k}_inputMin`,I.inputMin),es(M,`_map_${k}_inputMax`,I.inputMax),es(M,`_map_${k}_outputMin`,I.outputMin),es(M,`_map_${k}_outputMax`,I.outputMax),es(M,`_map_${k}_curve`,I.curve)}}},mT=(M,E)=>{let k={};for(let V of Object.keys(M.uniforms)){let I=E[V];I&&(k[V]=I)}return k},pT=M=>{let E={};for(let[k,V]of Object.entries(M.uniforms))E[k]={accessorPath:"",cpu:!!V.cpu,value:V.value};return E},fT=(M,E)=>({id:M.id,customId:M.metadata.id,componentName:M.componentName,parentId:M.parentId,definition:M.definition,metadata:M.metadata,handles:E,domCanvas:M.domCanvas}),Iy=(M,E)=>{let k=new Map,V=J=>fT(J,M&&E?mT(J,E.get(J.id)??{}):pT(J)),I=J=>{let _e=k.get(J);if(_e)return _e;let Se=u.get(J);if(!Se)return;let ke=V(Se);return k.set(J,ke),ke};return{rootId:m,getNode:I,getChildren:J=>Qr(J).map(_e=>I(_e.id)),resolveCustomId:J=>ci(J),store:{gpuAccessor:(J,_e)=>M?M.gpuAccessor(J,_e):"",layout:M?.layout}}},Dy=()=>({toneMapping:bs,flipY:!1,premultiplyAlpha:!0,canvas:n??void 0,dimensions:Sa(),gpu:t?{device:t.device,root:t}:void 0,writeExtraField:(M,E,k)=>{let V=u.get(M);V&&Yy(V,E,k)},createMediaTexture:M=>{if(!r)throw new Error("[gpu] createMediaTexture before init");return r.createMediaTexture(M)},createDataTexture:M=>{if(!r)throw new Error("[gpu] createDataTexture before init");return r.createDataTexture(M)},resolveMapWindow:(M,E)=>{let k=u.get(M),V=k?.metadata.maps?.[E];if(!k||!V||V.type!=="map")return;let I=wa(k,E,V);return{inputMin:I.inputMin,inputMax:I.inputMax,outputMin:I.outputMin,outputMax:I.outputMax,curve:I.curve}},resolveDriverCpuValue:(M,E)=>{let k=u.get(M);if(!k)return;if(E==="_animTime"||E.startsWith("_animTime_")){let I=k._liveHandles?.[E];return I instanceof Oo?I.value:void 0}let V=k.metadata.maps?.[E];if(V){if(V.type==="mouse-position"){let I=k.mouseDriverState[E];return!I||I.liveX===void 0||I.liveY===void 0?void 0:{x:I.liveX,y:1-I.liveY}}if(V.type==="mouse"||V.type==="auto-animate"){let I=k._liveHandles?.[`_smoothed_${E}`];return I instanceof Oo?I.value:void 0}}}}),vT=()=>{let M=[];for(let[E,k]of u){let V=k.metadata;M.push(`aopac:${E}:${(V.opacity??1)<1}`);let I=k.uniforms.stopCount?.value;typeof I=="number"&&M.push(`stops:${E}:${I>1?I:0}`);for(let[J,_e]of Object.entries(k.uniforms)){if(!_e.compileTimeWhen)continue;let Se=_e._lastCompiledValue;typeof Se!="number"&&typeof Se!="boolean"||M.push(`ctw:${E}:${J}:${String(Se)}`)}if(V.maps){let J=Object.entries(V.maps).sort(([_e],[Se])=>_eSe?1:0).map(([_e,Se])=>{let ke=Se;return`${_e}=${ke.type}:${ke.source??""}:${ke.channel??""}:${ke.axis??""}`}).join(",");M.push(`mapfp:${E}:${J}`)}}return M},Fy=()=>m?$L([..._7(Iy(null,null),Dy()),...vT()]):null,Sa=()=>({width:Math.max(1,Math.round(P*L)),height:Math.max(1,Math.round(U*L))}),yT=M=>{let E={};for(let k of M.textures)k.kind!=="rtt"&&k.resource&&(E[k.key]=k.resource);return E},hT=M=>{if(!t||!r||!o)throw new Error("[gpu] buildComposition before init");let E=J6(t,{systemSchema:kL}),k=new Map;for(let[Se,ke]of u)k.set(Se,E.defineNode(Se,Gy(ke)));E.defineSystem(),E.finalize();let V=c7(Iy(E,k),Dy()),I=CL(t,{textureManager:r,dispatcher:o}),J={hash:M,store:E,ir:V,passManager:I,handlesById:k,fresh:!0,validationFrames:3},_e=V.usesCustomWgsl?t.device:void 0;_e&&_e.pushErrorScope("validation");try{I.setComposition(V,E.bindGroup,Sa(),yT(V))}finally{_e&&_e.popErrorScope().then(Se=>{Se&&!J.broken&&By(J,Se.message)}).catch(()=>{})}return w.add(J),J},By=(M,E)=>{M.broken=E,y_("[gpu] a shader in this composition failed GPU validation \u2014 it will not draw until it changes. If you are writing a wgsl`\u2026` body, the message below points at the line:\n"+E)},Wy=M=>{try{for(let E of M.ir.onCleanup)E()}catch(E){Is("[gpu] composition onCleanup error:",E)}try{M.passManager.dispose()}catch(E){Is("[gpu] passManager dispose error:",E)}try{M.store.destroy()}catch(E){Is("[gpu] store destroy error:",E)}w.delete(M),S===M&&(S=null)},xT=M=>{let E=!1;for(let[k,V]of M.handlesById){let I=u.get(k);I&&I._liveHandles!==V&&(I._liveHandles=V,E=!0)}if(!(M===S&&!E)){if(!M.fresh){for(let k of u.values()){for(let[V,I]of Object.entries(k.uniforms))Ta(k,V,I.value);k1(k),uT(k)}M.store.writeAll()}M.fresh=!1,S=M,!ys&&M.ir.composedNodeIds.size>0&&(Ks=!0)}},Bn=()=>{A=!0,Yt()&&(He=!0),vo()},vo=()=>{Ms||Gr.running||de===null&&typeof requestAnimationFrame=="function"&&(de=requestAnimationFrame(()=>{de=null,Ad()}))},Oy=(M,E,k,V,I={},J,_e)=>{if(Ms)return;if(E===null){let nt=y.findIndex(Zs=>Zs.id===M);if(nt!==-1){y.splice(nt,1),h=h.filter(Zs=>Zs.id!==M);return}U1(M);return}if(!J){console.error(`[gpu] registerNode("${M}") requires a componentDefinition`);return}if(!c){let nt=y.findIndex(zo=>zo.id===M),Zs={id:M,definition:J,parentId:k,metadata:V,uniforms:I,domCanvas:_e};nt!==-1?(y[nt]=Zs,h=h.filter(zo=>zo.id!==M)):y.push(Zs);return}let Se=0;if(k!==null){let nt=p.get(k);if(nt&&nt.size>0){let Zs=0;for(let zo of nt){let Lr=u.get(zo);Lr&&Lr.metadata.renderOrder>Zs&&(Zs=Lr.metadata.renderOrder)}Se=Zs+1}}let ke={blendMode:V?.blendMode||"normal",opacity:V?.opacity,visible:V?.visible!==!1,id:V?.id?Vo(V.id):V?.id,mask:V?.mask,maps:V?.maps,renderOrder:V?.renderOrder!==void 0?V.renderOrder:Se,transform:V?.transform,boundingBox:V?.boundingBox,flow:V?.flow,absolute:V?.absolute},Ne=J.boundingBoxDeclaration,Lt=J.props?fy(J.props):void 0,ns={id:M,componentName:J.name||"Unknown",parentId:k,definition:J,metadata:ke,uniforms:I,domCanvas:_e,requiresRTT:!!J.requiresRTT,requiresChild:!!J.requiresChild,blendWithChildren:!!J.blendWithChildren,acceptsUVContext:!!J.acceptsUVContext,providesUVContextViaCompute:!!J.providesUVContextViaCompute,usesPointer:!!J.usesPointer,hasUvRemap:!!J.uvRemap,boundingBoxDeclaration:Ne,wantsBoundsParams:!!J.wantsBoundsParams,extraDimProps:Lt,mouseDriverState:{},autoAnimateState:{},mapValues:{},_liveHandles:null};if(Ne||Lt){let nt=hd(Ne,Lt);if(nt){let Zs=I.origin?.value??"center",zo=ba(ns,Zs);for(let Lr of[...nt.positionProps,...nt.sizeProps.keys()]){let wr=I[Lr];wr&&(wr._rawDimensional===void 0&&(wr._rawDimensional=wr.value),wr.value=Qc(Ne,Lr,wr._rawDimensional,Zs,te(),ee(),Lt,zo))}}}for(let nt of Object.values(I))nt.compileTimeWhen&&nt._lastCompiledValue===void 0&&(nt._lastCompiledValue=nt.value);u.set(M,ns),k===null&&(m=M);let Ht=p.get(k)||new Set;Ht.add(M),p.set(k,Ht),Md(),Bn(),Yt()&&Bt()},Vy=M=>{y.some(E=>E.id===M.id)&&h.push(M)},Ny=(M,E,k)=>{let V=u.get(M);if(!V){Vy({id:M,kind:"uniform",name:E,value:k});return}let I=V.uniforms[E];if(!I)return;let J=V.boundingBoxDeclaration,_e=V.extraDimProps;if((J||_e)&&yy(J,E,_e)){I._rawDimensional=k;let Se=V.uniforms.origin?.value??"center",ke=ba(V,Se);k=Qc(J,E,k,Se,te(),ee(),_e,ke)}if(I.transform===Ka){I._rawList=k,Ly(V,E),Md(),vo();return}if(I.value=k,Ta(V,E,k),(I.transform===Rn||I.transform===ir)&&cT(V),E==="origin"&&J)F(V);else if(J&&(V.uniforms.origin?.value??"center")!=="center"){let Se=hd(J,_e),ke=!!J.computeBounds||(Se?.sizeProps.has(E)??!1),Ne=Se?.positionProps.has(E)??!1;ke&&!Ne&&F(V)}if(E==="shape"&&Md(),Yt()&&Bt(),I.compileTime){Bn();return}if(I.compileTimeWhen){let Se=I._lastCompiledValue;if(I.compileTimeWhen(Se,k)){I._lastCompiledValue=k,Bn();return}}vo()},qy=(M,E)=>{let k=u.get(M);if(!k){Vy({id:M,kind:"metadata",metadata:E});return}let V=!1;if(E.blendMode!==void 0&&k.metadata.blendMode!==E.blendMode&&(k.metadata.blendMode=E.blendMode,V=!0),E.opacity!==void 0&&k.metadata.opacity!==E.opacity){let I=k.metadata.opacity??1,J=E.opacity;k.metadata.opacity=J,es(k,"_opacity",J),I>=1!=J>=1&&(V=!0)}if(E.renderOrder!==void 0&&k.metadata.renderOrder!==E.renderOrder&&(k.metadata.renderOrder=E.renderOrder,V=!0),"visible"in E){let I=E.visible!==!1;k.metadata.visible!==I&&(k.metadata.visible=I,V=!0)}if(E.id!==void 0){let I=Vo(E.id);k.metadata.id!==I&&(k.metadata.id=I,V=!0)}if("mask"in E&&(k.metadata.mask?.source!==E.mask?.source||k.metadata.mask?.type!==E.mask?.type)&&(k.metadata.mask=E.mask,V=!0),"maps"in E&&JSON.stringify(k.metadata.maps)!==JSON.stringify(E.maps)){let I=k.metadata.maps,J=E.maps;if(k.metadata.maps=J,Md(),(()=>{if(!I||!J)return!0;let _e=Object.keys(I),Se=Object.keys(J);if(_e.length!==Se.length||!_e.every(ke=>ke in J))return!0;for(let ke of Se){let Ne=I[ke],Lt=J[ke];if(Ne.type!==Lt.type)return!0;if(Lt.type==="map"){let ns=Ne,Ht=Lt;if(ns.source!==Ht.source||ns.channel!==Ht.channel)return!0}else if(Lt.type==="mouse"&&Ne.axis!==Lt.axis)return!0}return!1})()){if(I&&J)for(let _e of Object.keys(I))_e in J&&I[_e].type!==J[_e].type&&(delete k.mouseDriverState[_e],delete k.autoAnimateState[_e],delete k.mapValues[_e]);V=!0}else if(J)for(let[_e,Se]of Object.entries(J)){let ke=wa(k,_e,Se);Se.type==="map"&&(es(k,`_map_${_e}_inputMin`,ke.inputMin),es(k,`_map_${_e}_inputMax`,ke.inputMax),es(k,`_map_${_e}_outputMin`,ke.outputMin),es(k,`_map_${_e}_outputMax`,ke.outputMax),es(k,`_map_${_e}_curve`,ke.curve))}}if(E.transform!==void 0){let I=k.metadata.transform,J={offsetX:E.transform.offsetX??I?.offsetX??0,offsetY:E.transform.offsetY??I?.offsetY??0,rotation:E.transform.rotation??I?.rotation??0,scale:E.transform.scale??I?.scale??1,anchorX:E.transform.anchorX??I?.anchorX??.5,anchorY:E.transform.anchorY??I?.anchorY??.5,edges:E.transform.edges??I?.edges??"transparent"},_e=Ro(k);k.metadata.transform=J;let Se=Tn(J);if(_e!==Se||I&&I.edges!==J.edges)V=!0;else if(Se)for(let[ke,Ne]of Object.entries(ne(k)))es(k,`_xform_${ke}`,Ne)}if(E.boundingBox!==void 0&&E.boundingBox!==null&&k.boundingBoxDeclaration!==void 0){let I=ge(k);k.metadata.boundingBox=E.boundingBox;let J=ge(k);if(I!==J)V=!0;else if(J){let _e=ie(k);if(_e)for(let[Se,ke]of Object.entries(_e))es(k,`_bbox_${Se}`,ke)}}else E.boundingBox===null&&k.metadata.boundingBox!==void 0&&(k.metadata.boundingBox=void 0,V=!0);if("flow"in E&&JSON.stringify(k.metadata.flow)!==JSON.stringify(E.flow)){let I=k.metadata.flow?.mode==="column"||k.metadata.flow?.mode==="row";k.metadata.flow=E.flow??void 0;let J=k.metadata.flow?.mode==="column"||k.metadata.flow?.mode==="row";if(I&&!J){let _e=Se=>{for(let ke of Qr(Se))F(ke),_e(ke.id)};_e(M)}Bt()}"absolute"in E&&k.metadata.absolute!==E.absolute&&(k.metadata.absolute=E.absolute,E.absolute&&F(k),Bt()),Yt()&&Bt(),V?Bn():vo()},U1=M=>{let E=u.get(M);if(!E)return;for(let V of Qr(M))U1(V.id);m===M&&(m=null);let k=p.get(E.parentId);k&&(k.delete(M),k.size===0&&p.delete(E.parentId)),u.delete(M),Md(),Bn(),Yt()&&Bt()},Xy=()=>{let M=Ps.deltaTime;Pe=C7(Re,Pe,M,performance.now());for(let E of u.values()){let k=E.metadata.maps??{};for(let V in E.mouseDriverState){let I=E.mouseDriverState[V],J=_T(E,V);if(J){if(J.type==="mouse-position"){let _e=J.smoothing??0,Se=J.momentum??0,ke=J.x===void 0||J.x==="mouse",Ne=J.y===void 0||J.y==="mouse";!I.pointerSnapped&&Ze&&(I.pointerSnapped=!0,ke&&(I.currentX=je,I.velocityX=0),Ne&&(I.currentY=fe,I.velocityY=0));let Lt,ns;if(ke){let[Go,ui]=Xc(I.currentX,I.velocityX,je,_e,Se,M);I.currentX=Go,I.velocityX=ui,Lt=Go}else Lt=J.x,I.velocityX=0;if(Ne){let[Go,ui]=Xc(I.currentY,I.velocityY,fe,_e,Se,M);I.currentY=Go,I.velocityY=ui,ns=Go}else ns=J.y,I.velocityY=0;let Ht=J.reach??1,nt=J.originX??.5,Zs=J.originY??.5,zo=J.invertX?-1:1,Lr=J.invertY?-1:1,wr=nt+zo*(Lt-nt)*Ht,yo=Zs+Lr*(ns-Zs)*Ht,Aa=wr,Pd=yo,p_=E.metadata.boundingBox;if(p_&&E.boundingBoxDeclaration?.supportsResizeFit&&ge(E)){let Go=Ov(p_,te(),ee()),ui=i7(wr,yo,{centerX:Go.centerX,centerY:Go.centerY,halfWidthUV:Go.halfWidthUV,halfHeightUV:Go.halfHeightUV,rotationDeg:Go.rotation,aspectRatio:ae()});Aa=ui.x,Pd=ui.y}I.liveX=Aa,I.liveY=Pd;let sh=E._liveHandles?.[`_smoothed_${V}`];sh instanceof Oo&&sh.setComponents(Aa,1-Pd)}else if(J.type==="mouse"){let _e=J.smoothing??0,Se=J.momentum??0,ke=J.axis==="x"?je:fe;!I.pointerSnapped&&Ze&&(I.pointerSnapped=!0,I.currentX=Math.max(.001,ke),I.velocityX=0);let[Ne,Lt]=Xc(I.currentX,I.velocityX,ke,_e,Se,M);I.currentX=Ne,I.velocityX=Lt;let ns=Math.max(.001,Ne),Ht=E.mapValues[V],nt=Ht?Ht.outputMin+(Ht.outputMax-Ht.outputMin)*Math.pow(ns,Math.pow(2,-Ht.curve*2)):ns;I.liveScalar=nt,es(E,`_smoothed_${V}`,nt)}}}for(let[V,I]of Object.entries(E.uniforms))I._listSpec&&my(I._rawList,I._listSpec)&&Ly(E,V);for(let V in E.autoAnimateState){let I=k[V];if(!I||I.type!=="auto-animate")continue;let J=Pe*(I.speed??1)*.2,_e,Se=I.easing??I.waveform??"sine";if(I.mode==="loop")_e=ey((J%1+1)%1,Se);else{let nt=(J%1+1)%1;_e=ey(nt<.5?nt*2:(1-nt)*2,Se)}let ke=E.mapValues[V],Ne=ke?ke.outputMin:le(E,V,I.outputMin),Lt=ke?ke.outputMax:le(E,V,I.outputMax),ns=Ne+_e*(Lt-Ne),Ht=E.uniforms[V];if(Ht?.compileTimeWhen){let nt=Ht._lastCompiledValue;Ht.compileTimeWhen(nt,ns)&&(Ht._lastCompiledValue=ns,Bn())}es(E,`_smoothed_${V}`,ns)}}},Hy=()=>{let M=Ps.deltaTime;for(let E of u.values()){let k=E.definition.animatedTime;if(k){let I=E.uniforms[k.speed],J=I&&Number(I.value)||0,_e=ii(__(E));_e.advance(M,J),es(E,"_animTime",_e.value)}let V=E.definition.extraAnimatedTimes;if(V)for(let[I,J]of Object.entries(V)){let _e=E.uniforms[J],Se=_e&&Number(_e.value)||0,ke=ii($1(E,J));ke.advance(M,Se),es(E,`_animTime_${I}`,ke.value)}}},C1=(M,E)=>U7(M,E,{maxTextureDim:G,pixelRatio:L,viewportWidth:typeof window<"u"?window.innerWidth:M,viewportHeight:typeof window<"u"?window.innerHeight:E}),R1=()=>{let M=(typeof window<"u"?window.devicePixelRatio:1)||1;return Math.min(M,h7())},l_=(M,E,k,V)=>{if(Q&&M===P&&E===U&&k===D&&V===O){let{width:Se,height:ke}=Sa();if(!n||n.width===Se&&n.height===ke)return}P=M,U=E,D=k,O=V,py(k,V),Q||(Q=!0,u.size>0&&Bn());let{width:I,height:J}=Sa();n&&(n.width=I,n.height=J);let _e=!1;for(let Se of w)Se.passManager.resize(I,J)&&(_e=!0);for(let Se of w)for(let ke of Se.ir.onResize)try{ke({width:I,height:J})}catch(Ne){Is("[gpu] composition onResize error:",Ne)}for(let Se of u.values()){if(Ro(Se)&&es(Se,"_xform_aspectRatio",ae()),ge(Se)){let ke=ie(Se);if(ke)for(let[Ne,Lt]of Object.entries(ke))es(Se,`_bbox_${Ne}`,Lt)}F(Se)}if(fo(),_e)for(let Se of w)Ky(Se.store),Se.store.flush(),Se.passManager.repaintRtt();Ue=0,Ad()},z1=(M,E)=>{M<=0||E<=0||M===W&&E===K||(W=M,K=E,Ft={width:M,height:E},!Gt&&typeof requestAnimationFrame=="function"&&(Gt=!0,requestAnimationFrame(()=>{if(Gt=!1,!Ft)return;let k=Ft;Ft=null;let{width:V,height:I}=C1(k.width,k.height);l_(V,I,k.width,k.height)})))},gT=M=>{let E=M[0];if(!E)return;let k,V;if(E.contentBoxSize){let I=Array.isArray(E.contentBoxSize)?E.contentBoxSize[0]:E.contentBoxSize;I?(k=Math.round(I.inlineSize),V=Math.round(I.blockSize)):(k=Math.round(E.contentRect.width),V=Math.round(E.contentRect.height))}else k=Math.round(E.contentRect.width),V=Math.round(E.contentRect.height);k===0||V===0||z1(k,V)},bT=M=>{let E=M[0];E&&(Ee=E.isIntersecting)},jy=()=>i&&!!t&&!!s&&P>0&&U>0,Ky=M=>{let E=M.systemHandles,{width:k,height:V}=Sa(),I=R1(),J=(_e,Se)=>{let ke=E[_e];ke instanceof Oo&&(ke.value=Se)};J("time",Pe),J("viewportSize",[k,V]),J("logicalViewportSize",[te()*I,ee()*I]),J("aspect",k/Math.max(1,V)),J("pointer",[je,fe]),J("pointerActive",Ke?1:0)},Zy=M=>{for(let E of M)try{E(Ps)}catch(k){Is("[gpu] render callback error:",k)}},Qy=M=>{if(Ms||!jy())return;let E=performance.now(),k;if(M!==void 0)k=M;else{let _e=R7(E,{lastRenderTime:Ue,isVisible:Ee,forceFullFrameRate:Te,minInterval:Me});if(!_e.render)return;k=_e.deltaTime}Ue=E,ls&&performance.mark("shader-cpu-start");let V=je>-5;Ps.deltaTime=k,Ps.pointer.x=V?je:.5,Ps.pointer.y=V?fe:.5,Ps.pointer.seen=Ze,Ps.pointerActive=Ke,Ps.dimensions.width=P,Ps.dimensions.height=U;let I=null,J=null;try{z7({updateDrivers:()=>{Xy(),Hy(),rt(),br()},ensureComposition:()=>((A||T===null)&&(T=Fy(),A=!1),T===null?!1:(I=g.getOrBuild(T,()=>hT(T)),xT(I),!!S)),beforeRender:()=>Zy(S.ir.onBeforeRender),flush:()=>{Ky(S.store),S.store.flush()},render:()=>{if(ls&&performance.mark("shader-gpu-start"),J=g.renderValue??I,J?.broken)return!1;let _e=J,Se=_e&&_e.validationFrames>0&&_e.ir.usesCustomWgsl?t?.device:void 0;Se&&Se.pushErrorScope("validation");try{_e?.passManager.render(s,Ps,()=>S?.store.flush())}finally{Se&&_e&&(_e.validationFrames--,Se.popErrorScope().then(ke=>{ke&&!_e.broken&&By(_e,ke.message)}).catch(()=>{}))}if(ls){performance.mark("shader-gpu-end");try{performance.measure("shader-gpu-time","shader-gpu-start","shader-gpu-end");let ke=performance.getEntriesByName("shader-gpu-time")[0];ke&&zr.recordGpuTime(ke.duration),performance.clearMeasures("shader-gpu-time"),performance.clearMarks("shader-gpu-start"),performance.clearMarks("shader-gpu-end")}catch{}}},markReady:()=>{g.markReady(T),Ks&&!ys&&(ys=!0,Ks=!1,vs&&queueMicrotask(vs))},afterRender:()=>Zy((J??S).ir.onAfterRender)}),nr=0}catch(_e){$T(_e);return}if(ls){performance.mark("shader-cpu-end");try{performance.measure("shader-cpu-time","shader-cpu-start","shader-cpu-end");let _e=performance.getEntriesByName("shader-cpu-time")[0];_e&&zr.recordCpuTime(_e.duration),performance.clearMarks("shader-cpu-start"),performance.clearMarks("shader-cpu-end"),performance.clearMeasures("shader-cpu-time")}catch{}}zr.recordFrame(performance.now()-E)},Ad=()=>Qy(void 0),wT=async M=>{if(Ms)return;if(!jy())throw new Error("Renderer is not ready");let E=Gr.running;E&&u_(),Ue=0,Ad(),t&&M?.waitForGpu!==!1&&await ty(t),E&&G1()},TT=async(M,E)=>{Qy(M),t&&E?.waitForGpu!==!1&&await ty(t)},G1=()=>{Ms||Gr.running||!he||(zr.setRendering(!0),Gr.start())},u_=()=>{Gr.running&&(Gr.stop(),zr.setRendering(!1))},m_=M=>{if(!n)return;at=n.getBoundingClientRect();let E,k;if("touches"in M){if(M.touches.length===0)return;E=M.touches[0].clientX,k=M.touches[0].clientY}else E=M.clientX,k=M.clientY;je=(E-at.left)/at.width,fe=(k-at.top)/at.height,Ze=!0},ST=M=>{!i||!n||(m_(M),Ke=!0,vo())},AT=M=>{!i||!n||(m_(M),Ke=!0,vo())},MT=()=>{i&&(Ke=!1,vo())},PT=()=>{i&&(Ke=!1,vo())},Jy=(M,E)=>{if(!i||!n)return!1;let k=n.getBoundingClientRect();return k.width===0||k.height===0?!1:M>=k.left&&M<=k.right&&E>=k.top&&E<=k.bottom},ET=M=>{M.button===0&&Jy(M.clientX,M.clientY)&&(Ke=!0,m_(M),vo())},kT=M=>{M.touches.length!==0&&Jy(M.touches[0].clientX,M.touches[0].clientY)&&(Ke=!0,m_(M),vo())},Md=()=>{let M=!1;for(let E of u.values()){if(E.usesPointer){M=!0;break}if(HL(E.uniforms?.shape?.value)||lT(E)){M=!0;break}if(E.metadata.maps){for(let k of Object.values(E.metadata.maps))if(k&&typeof k=="object"&&"type"in k){let V=k.type;if(V==="mouse"||V==="mouse-position"){M=!0;break}}if(M)break}}M&&!Fe?(Fe=!0,!Ie&&n&&(Ie=XL.register({onMouseMove:ST,onTouchMove:AT,onMouseDown:ET,onTouchStart:kT,onMouseUp:MT,onTouchEnd:PT}))):!M&&Fe&&(Fe=!1,Ie&&(Ie(),Ie=null))},eh=()=>{if(y.length===0)return;let M=[...y];y=[];for(let k of M)Oy(k.id,k.definition.fragment,k.parentId,k.metadata,k.uniforms,k.definition,k.domCanvas);let E=h;h=[];for(let k of E)k.kind==="uniform"?Ny(k.id,k.name,k.value):qy(k.id,k.metadata)},Wn=(M,E)=>{if(!Ms){Ms=M,dh(M),Is(`[gpu] renderer stopped (${M}):`,E);try{Y1()}catch(k){Is("[gpu] cleanup during failure threw:",k)}if(!hr&&Cr){hr=!0;let k=Cr;queueMicrotask(()=>{try{k(M,E)}catch(V){Is("[gpu] onUnavailable callback threw:",V)}})}}},$T=M=>{if(I1(M)){Wn(M.reason,M);return}nr++,nr===1&&y_("[gpu] render error:",M),nr>=qL&&Wn("render-failed",M)},UT=M=>{!M||typeof M.addEventListener!="function"||(th(),mo=M,po=E=>{try{E.preventDefault()}catch{}let k=E.error;if(y_("[gpu] uncaptured device error (a custom WGSL body that fails to compile reports here \u2014 read the message for the line):",k),typeof GPUOutOfMemoryError<"u"&&k instanceof GPUOutOfMemoryError){Wn("out-of-memory",k);return}if(typeof GPUInternalError<"u"&&k instanceof GPUInternalError){Wn("gpu-error",k);return}Rr++,Rr>=NL&&Wn("gpu-error",k)},M.addEventListener("uncapturederror",po))},th=()=>{if(mo&&po)try{mo.removeEventListener("uncapturederror",po)}catch{}mo=null,po=null},CT=M=>{if(!Ur){Ur=!0;try{u_()}catch{}if(yr){let E=yr;queueMicrotask(()=>{try{E(M)}catch(k){Is("[gpu] onDeviceLost callback threw:",k)}});return}Wn("device-lost",M)}},RT=async M=>{if(M.context!==void 0)throw new Error("[gpu] initialize({ context }) is not supported \u2014 this renderer is WebGPU-only. Remove the WebGL `context` option.");if(Ms)return;let E=ch();if(E){Wn(E);return}if(i||d)return;let{canvas:k,resizeTarget:V,enablePerformanceTracking:I=!1,colorSpace:J="p3-linear",toneMapping:_e="linear",gpu:Se,forceFullFrameRate:ke=!1,observeElement:Ne=!0,timeOrigin:Lt}=M;Lt!=null&&(Re=Lt),ls=I,Te=ke,os=J,bs=_e,Yr(),d=!0,_=new AbortController;let ns=_;try{if(As=lw,As(J),ns.signal.aborted||(n=k,e=await SL({device:Se?.device,adapter:Se?.adapter,onDeviceLost:yo=>CT(yo.message||yo.reason||"unknown")}),ns.signal.aborted))return;t=e.root,UT(t.device),L=R1();let Ht=t.device.limits?.maxTextureDimension2D;typeof Ht=="number"&&Ht>0&&(G=Ht),r=zL(t),o=f7(t),typeof window<"u"&&(We=()=>Y1(),window.addEventListener("beforeunload",We),Ve=()=>{if(W>0&&K>0){let yo=W,Aa=K;W=0,K=0,z1(yo,Aa)}},window.addEventListener("resize",Ve,{passive:!0}));let nt=k.getBoundingClientRect();at=nt,Ee=!Ne||nt.width>0&&nt.height>0&&nt.top0&&nt.left0,he=!0;let Zs=nt.width>0?nt.width:k.width,zo=nt.height>0?nt.height:k.height,Lr=Math.round(Zs),wr=Math.round(zo);if(Lr>0&&wr>0){W=Lr,K=wr;let{width:yo,height:Aa}=C1(Lr,wr);P=yo,U=Aa,D=Lr,O=wr,Q=!0,py(Lr,wr);let{width:Pd,height:p_}=Sa();k.width=Pd,k.height=p_}else Q=!1;if(s=PL(t,k),Ne&&typeof ResizeObserver<"u"){let yo=V??k.parentElement;yo?(st=new ResizeObserver(gT),st.observe(yo)):console.warn("[gpu] no element available for resize observation \u2014 use resize() manually"),typeof IntersectionObserver<"u"&&(Xe=new IntersectionObserver(bT,{threshold:0,rootMargin:"128px"}),Xe.observe(k))}if(ns.signal.aborted)return;i=!0,c=!0,eh(),P>0&&U>0&&Ad(),he&&G1()}catch(Ht){let nt=I1(Ht)?Ht.reason:"init-failed";d=!1,_===ns&&(_=null),Wn(nt,Ht);return}finally{d=!1,_===ns&&(_=null)}},Y1=()=>{_&&_.abort(),st&&(st.disconnect(),st=null),Xe&&(Xe.disconnect(),Xe=null),Ie&&(Ie(),Ie=null),We&&typeof window<"u"&&(window.removeEventListener("beforeunload",We),We=null),Ve&&typeof window<"u"&&(window.removeEventListener("resize",Ve),Ve=null),de!==null&&typeof cancelAnimationFrame=="function"&&(cancelAnimationFrame(de),de=null),u_(),th(),Nt?.(),Nt=null,typeof document<"u"&&document.fonts?.removeEventListener&&document.fonts.removeEventListener("loadingdone",No);try{e?.release?.()}catch{}g.clear();for(let M of[...w])Wy(M);S=null;try{r?.destroy()}catch{}try{e?.createdDevice&&t?.destroy()}catch{}u.clear(),m=null,p.clear(),y=[],h=[],c=!1,Ft=null,Gt=!1,n=null,s=null,r=null,o=null,t=null,e=null,i=!1,d=!1,Q=!1,_=null,P=0,U=0,D=0,O=0,T=null,A=!0,Ee=!1,he=!0,je=-10,fe=-10,Ke=!1,Ze=!1,Fe=!1,vs=null,ys=!1,Ks=!1,yr=null,Ur=!1,Rr=0,nr=0};return{initialize:RT,cleanup:Y1,registerNode:Oy,removeNode:U1,updateUniformValue:Ny,updateNodeMetadata:qy,isInitialized:()=>i,resize:(M,E)=>{t&&z1(M,E)},startAnimation:G1,stopAnimation:u_,renderAndWait:wT,renderSyntheticFrame:TT,getPerformanceStats:()=>{let M=Math.max(0,u.size-1),E=S?S.ir.rttPasses.length:0;zr.updateNodeCounts(M,E);let k={render:{calls:S?S.passManager.passCount:0},programs:{length:g.size},memory:{textures:r?r.textureCount:0}};return zr.getStats(k)},getLiveDriverValue:(M,E)=>{let k=u.get(M)?.mouseDriverState?.[E];return!k||k.liveX===void 0||k.liveY===void 0?null:{x:k.liveX,y:k.liveY}},getLiveScalarValue:(M,E)=>{let k=u.get(M);if(!k)return null;let V=k.metadata.maps?.[E];if(V?.type==="auto-animate"){let I=k._liveHandles?.[`_smoothed_${E}`],J=I instanceof Oo?I.value:void 0;return typeof J=="number"?J:null}return V?.type==="mouse"?k.mouseDriverState[E]?.liveScalar??null:null},getNodeRegistry:()=>({nodes:new Map(u)}),getRendererType:()=>"webgpu",getInternalRenderer:()=>t?{device:t.device,adapter:e?.adapter,root:t}:null,setForceFullFrameRate:M=>{let E=Te;return Te=M,E},beginRecordingResolution:(M,E,k)=>{if(!t||M<=0||E<=0)return()=>{};let V=L,I=P,J=U,_e=D,Se=O,ke=W,Ne=K;return L=k,l_(M,E,M,E),()=>{t&&(L=V,l_(I,J,_e,Se),W=ke,K=Ne)}},setResolutionScale:M=>{if(!t)return;let E=Math.max(.05,Math.min(M,1)),k=Math.max(.01,R1()*E);if(Math.abs(L-k)<.001)return;L=k;let V=D||P,I=O||U;if(V<=0||I<=0)return;let{width:J,height:_e}=C1(V,I);l_(J,_e,V,I)},setFrameRateCap:M=>{Me=M&&M>0?1e3/Math.max(M,10)-1:0},setTimeOrigin:M=>{Re=M},setOnReady:M=>{vs=M,M&&ys&&queueMicrotask(M)},setOnDeviceLost:M=>{yr=M},setOnUnavailable:M=>{if(Cr=M,M&&Ms&&!hr){hr=!0;let E=Ms;queueMicrotask(()=>{try{M(E)}catch(k){Is("[gpu] onUnavailable callback threw:",k)}})}},getFailureReason:()=>Ms,__testing:{needsTransformation:Tn,findChildNodes:Qr,buildFieldInits:M=>{let E=u.get(M);return E?Gy(E):null},ensureDriverState:M=>{let E=u.get(M);E&&k1(E)},stepMouseDrivers:M=>{Ps.deltaTime=M,Xy()},stepAnimatedTime:M=>{Ps.deltaTime=M,Hy()},getAnimatedTimeValue:M=>{let E=u.get(M);return E?.definition.animatedTime?ii(__(E)).value:null},writeExtraField:(M,E,k)=>{let V=u.get(M);V&&Yy(V,E,k)},readExtraField:(M,E)=>{let k=u.get(M)?._liveHandles?.[E];return k instanceof Oo?k.value:void 0},getNodeRegistry:()=>({nodes:u,rootId:m,parentToChildren:p}),getParentToChildren:()=>p,getPendingRegistrations:()=>[...y],getFrameDiagnostics:()=>({deltaTime:Ps.deltaTime,pointerX:je,pointerY:fe,pointerActive:Ke,globalElapsedTime:Pe,lastRenderTime:Ue,isVisible:Ee,forceFullFrameRate:Te,sharedTimeOrigin:Re,animating:Gr.running,mouseListenersNeeded:Fe}),computeStructuralHash:Fy,isStructuralDirty:()=>A,clearStructuralDirty:()=>{A=!1},setTestReady:M=>{i=!0,c=!0,M&&(P=M.width,U=M.height,D=M.width,O=M.height,Q=!0),eh()}}}}var jL={FlowingGradient:r_,Godrays:o_,LiquidMetal:n_,Marble:a_,MeshGradient:i_,Nebula:d_},P1=document.querySelector("canvas[data-shader]"),c_=jL[P1.dataset.shader],di=aT(),Ry=Promise.resolve();function iT(e){return Ry=Ry.then(()=>di.renderSyntheticFrame(e-di.__testing.getFrameDiagnostics().globalElapsedTime)),Ry}var zy=(async()=>{if(!c_)throw new Error(`shaders: no shader named "${P1.dataset.shader}" in this bundle`);await di.initialize({canvas:P1,observeElement:!1,colorSpace:"srgb"});let e=di.getFailureReason();if(e)throw new Error(`shaders: WebGPU unavailable (${e})`);di.registerNode("root",l1.fragment,null,null,{},l1);let t=JSON.parse(P1.dataset.shaderProps||"{}"),s=Object.fromEntries(Object.entries(c_.props).map(([o,n])=>[o,o in t?t[o]:n.default])),r={blendMode:"normal",renderOrder:1,id:"fx",boundingBox:Vv(void 0)};di.registerNode("fx",c_.fragment,"root",r,xy(c_,s,"fx"),c_),di.stopAnimation(),await iT(window.__hfTypegpuTime??0)})();window.__hf=window.__hf||{};window.__hf.buildReady=window.__hf.buildReady||{};window.__hf.buildReady.shaders=zy;zy.catch(e=>console.error(String(e)));window.addEventListener("hf-seek",e=>{let t=zy.then(()=>iT(e.detail.time));typeof e.detail.waitUntil=="function"&&e.detail.waitUntil(t)});})(); diff --git a/registry/blocks/flowing-gradient/registry-item.json b/registry/blocks/flowing-gradient/registry-item.json new file mode 100644 index 00000000000..53d970f4ba5 --- /dev/null +++ b/registry/blocks/flowing-gradient/registry-item.json @@ -0,0 +1,34 @@ +{ + "$schema": "https://hyperframes.heygen.com/schema/registry-item.json", + "name": "flowing-gradient", + "type": "hyperframes:block", + "title": "Flowing Gradient", + "description": "Bands of orange and violet flow across the frame in a smooth gradient. A WebGPU shader from the Shaders library (shaders.com, MIT).", + "tags": ["webgpu", "webgpu-shader", "background", "gradient", "color", "flow"], + "license": "Apache-2.0 AND MIT", + "dimensions": { + "width": 1920, + "height": 1080 + }, + "duration": 2, + "files": [ + { + "path": "flowing-gradient.html", + "target": "compositions/flowing-gradient.html", + "type": "hyperframes:composition" + }, + { + "path": "lib/shaders.iife.js", + "target": "compositions/lib/shaders.iife.js", + "type": "hyperframes:asset" + }, + { + "path": "lib/shaders.THIRD-PARTY-LICENSES.txt", + "target": "compositions/lib/shaders.THIRD-PARTY-LICENSES.txt", + "type": "hyperframes:asset" + } + ], + "preview": { + "video": "https://static.heygen.ai/hyperframes-oss/docs/images/catalog/blocks/flowing-gradient.mp4" + } +} diff --git a/registry/blocks/godrays/godrays.html b/registry/blocks/godrays/godrays.html new file mode 100644 index 00000000000..e89f783b127 --- /dev/null +++ b/registry/blocks/godrays/godrays.html @@ -0,0 +1,31 @@ + + + + + + + +
+ +
+ + + diff --git a/registry/blocks/godrays/lib/shaders.THIRD-PARTY-LICENSES.txt b/registry/blocks/godrays/lib/shaders.THIRD-PARTY-LICENSES.txt new file mode 100644 index 00000000000..1791b74a912 --- /dev/null +++ b/registry/blocks/godrays/lib/shaders.THIRD-PARTY-LICENSES.txt @@ -0,0 +1,314 @@ +================================================================ +shaders 4.0.0 +================================================================ + +MIT License + +Copyright (c) 2026 Shader Effects Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +================================================================ +typegpu 0.12.3 +================================================================ + +MIT License + +Copyright (c) 2025 Software Mansion + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +================================================================ +tinyest 0.3.4 +================================================================ + +MIT License + +Copyright (c) 2025 Software Mansion + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +================================================================ +typed-binary 4.3.3 +================================================================ + +MIT License + +Copyright (c) 2022 Iwo Plaza + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +================================================================ +tsover-runtime 0.0.7 +================================================================ + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + diff --git a/registry/blocks/godrays/lib/shaders.iife.js b/registry/blocks/godrays/lib/shaders.iife.js new file mode 100644 index 00000000000..8924644b2c1 --- /dev/null +++ b/registry/blocks/godrays/lib/shaders.iife.js @@ -0,0 +1,266 @@ +(()=>{var mi=class extends Error{reason;constructor(e,t,s){super(t??`[gpu] WebGPU unavailable (${e})`),this.name="GpuUnavailableError",this.reason=e,s?.cause!==void 0&&(this.cause=s.cause)}};function I1(e){return!!e&&typeof e=="object"&&e.name==="GpuUnavailableError"&&typeof e.reason=="string"}var rh=null;function v_(){if(rh!==null)return rh;let e=globalThis.__SHADERS_DEBUG__;if(e!=null)return!!e;try{if(typeof localStorage<"u"&&localStorage.getItem("shaders:debug")==="1")return!0}catch{}return!1}var oh=!1;function nh(){oh=!0}function y_(...e){(v_()||oh)&&console.error(...e)}function Ma(...e){v_()&&console.warn(...e)}function Is(...e){v_()&&console.error(...e)}function ah(){return typeof navigator<"u"&&!!navigator.gpu}var f_=null;function ih(){return f_||(f_=(async()=>{if(!ah())return{supported:!1,reason:"unsupported"};try{return await navigator.gpu.requestAdapter({powerPreference:"high-performance"})?{supported:!0}:{supported:!1,reason:"no-adapter"}}catch(e){return Is("[gpu] adapter probe threw:",e),{supported:!1,reason:"no-adapter"}}})(),f_)}var zT=new Set(["unsupported","no-adapter","no-device","out-of-memory","gpu-error"]),L1=null;function dh(e){L1||!zT.has(e)||(L1=e)}function ch(){return L1}function ms(e,t){let s=e.length;Array.isArray(e[0])||(e=[e]),Array.isArray(t[0])||(t=t.map(i=>[i]));let r=t[0].length,o=t[0].map((i,d)=>t.map(c=>c[d])),n=e.map(i=>o.map(d=>{let c=0;if(!Array.isArray(i)){for(let _ of d)c+=i*_;return c}for(let _=0;_i[0]):n}function Rd(e){return On(e)==="string"}function On(e){return(Object.prototype.toString.call(e).match(/^\[object\s+(.*?)\]$/)[1]||"").toLowerCase()}function P_(e,{precision:t,unit:s}){return Vn(e)?"none":i0(e,t)+(s??"")}function Vn(e){return Number.isNaN(e)||e instanceof Number&&e?.none}function Cs(e){return Vn(e)?0:e}function i0(e,t){if(e===0)return 0;let s=~~e,r=0;s&&t&&(r=~~Math.log10(Math.abs(s))+1);let o=10**(t-r);return Math.floor(e*o+.5)/o}var GT={deg:1,grad:.9,rad:180/Math.PI,turn:360};function d0(e){if(!e)return;e=e.trim();let t=/^([a-z]+)\((.+?)\)$/i,s=/^-?[\d.]+$/,r=/%|deg|g?rad|turn$/,o=/\/?\s*(none|[-\w.]+(?:%|deg|g?rad|turn)?)/g,n=e.match(t);if(n){let i=[];return n[2].replace(o,(d,c)=>{let _=c.match(r),u=c;if(_){let m=_[0],p=u.slice(0,-m.length);m==="%"?(u=new Number(p/100),u.type=""):(u=new Number(p*GT[m]),u.type="",u.unit=m)}else s.test(u)?(u=new Number(u),u.type=""):u==="none"&&(u=new Number(NaN),u.none=!0);d.startsWith("/")&&(u=u instanceof Number?u:new Number(u),u.alpha=!0),typeof u=="object"&&u instanceof Number&&(u.raw=c),i.push(u)}),{name:n[1].toLowerCase(),rawName:n[1],rawArgs:n[2],args:i}}}function c0(e){return e[e.length-1]}function $d(e,t,s){return isNaN(e)?t:isNaN(t)?e:e+(t-e)*s}function _0(e,t,s){return(s-e)/(t-e)}function rm(e,t,s){return $d(t[0],t[1],_0(e[0],e[1],s))}function l0(e){return e.map(t=>t.split("|").map(s=>{s=s.trim();let r=s.match(/^(<[a-z]+>)\[(-?[.\d]+),\s*(-?[.\d]+)\]?$/);if(r){let o=new String(r[1]);return o.range=[+r[2],+r[3]],o}return s}))}function u0(e,t,s){return Math.max(Math.min(s,t),e)}function U_(e,t){return Math.sign(e)===Math.sign(t)?e:-e}function qo(e,t){return U_(Math.abs(e)**t,e)}function om(e,t){return t===0?0:e/t}function m0(e,t,s=0,r=e.length){for(;s>1;e[o]","",""]);function _h(e,t,s,r){return Object.entries(e.coords).map(([o,n],i)=>{let d=t.coordGrammar[i],c=r[i],_=c?.type,u;if(c.none?u=d.find(y=>IT.has(y)):u=d.find(y=>y==_),!u){let y=n.name||o;throw new TypeError(`${_??c.raw} not allowed for ${y} in ${s}()`)}let m=u.range;_===""&&(m||=[0,1]);let p=n.range||n.refRange;return m&&p&&(r[i]=rm(m,p,r[i])),u})}function p0(e,{meta:t}={}){let s={str:String(e)?.trim()};if(Nn.run("parse-start",s),s.color)return s.color;if(s.parsed=d0(s.str),s.parsed){let r=s.parsed.name;if(r==="color"){let o=s.parsed.args.shift(),n=o.startsWith("--")?o.substring(2):`--${o}`,i=[o,n],d=s.parsed.rawArgs.indexOf("/")>0?s.parsed.args.pop():1;for(let u of qe.all){let m=u.getFormat("color");if(m&&(i.includes(m.id)||m.ids?.filter(p=>i.includes(p)).length)){let p=Object.keys(u.coords).map((h,g)=>s.parsed.args[g]||0),y;return m.coordGrammar&&(y=_h(u,m,"color",p)),t&&Object.assign(t,{formatId:"color",types:y}),m.id.startsWith("--")&&!o.startsWith("--")&&to.warn(`${u.name} is a non-standard space and not currently supported in the CSS spec. Use prefixed color(${m.id}) instead of color(${o}).`),o.startsWith("--")&&!m.id.startsWith("--")&&to.warn(`${u.name} is a standard space and supported in the CSS spec. Use color(${m.id}) instead of prefixed color(${o}).`),{spaceId:u.id,coords:p,alpha:d}}}let c="",_=o in qe.registry?o:n;if(_ in qe.registry){let u=qe.registry[_].formats?.color?.id;u&&(c=`Did you mean color(${u})?`)}throw new TypeError(`Cannot parse color(${o}). `+(c||"Missing a plugin?"))}else for(let o of qe.all){let n=o.getFormat(r);if(n&&n.type==="function"){let i=1;(n.lastAlpha||c0(s.parsed.args).alpha)&&(i=s.parsed.args.pop());let d=s.parsed.args,c;return n.coordGrammar&&(c=_h(o,n,r,d)),t&&Object.assign(t,{formatId:n.name,types:c}),{spaceId:o.id,coords:d,alpha:i}}}}else for(let r of qe.all)for(let o in r.formats){let n=r.formats[o];if(n.type!=="custom"||n.test&&!n.test(s.str))continue;let i=n.parse(s.str);if(i)return i.alpha??=1,t&&(t.formatId=o),i}throw new TypeError(`Could not parse ${e} as a color. Missing a plugin?`)}function yt(e){if(Array.isArray(e))return e.map(yt);if(!e)throw new TypeError("Empty color reference");Rd(e)&&(e=p0(e));let t=e.space||e.spaceId;return t instanceof qe||(e.space=qe.get(t)),e.alpha===void 0&&(e.alpha=1),e}var DT=75e-6,qe=class Yo{constructor(t){this.id=t.id,this.name=t.name,this.base=t.base?Yo.get(t.base):null,this.aliases=t.aliases,this.base&&(this.fromBase=t.fromBase,this.toBase=t.toBase);let s=t.coords??this.base.coords;for(let r in s)"name"in s[r]||(s[r].name=r);this.coords=s,this.white=j1(t.white??this.base.white??"D65"),this.formats=t.formats??{};for(let r in this.formats){let o=this.formats[r];o.type||="function",o.name||=r}this.formats.color?.id||(this.formats.color={...this.formats.color??{},id:t.cssId||this.id}),t.gamutSpace?this.gamutSpace=t.gamutSpace==="self"?this:Yo.get(t.gamutSpace):this.isPolar?this.gamutSpace=this.base:this.gamutSpace=this,this.gamutSpace.isUnbounded&&(this.inGamut=(r,o)=>!0),this.referred=t.referred,Object.defineProperty(this,"path",{value:FT(this).reverse(),writable:!1,enumerable:!0,configurable:!0}),Nn.run("colorspace-init-end",this)}inGamut(t,{epsilon:s=DT}={}){if(!this.equals(this.gamutSpace))return t=this.to(this.gamutSpace,t),this.gamutSpace.inGamut(t,{epsilon:s});let r=Object.values(this.coords);return t.every((o,n)=>{let i=r[n];if(i.type!=="angle"&&i.range){if(Number.isNaN(o))return!0;let[d,c]=i.range;return(d===void 0||o>=d-s)&&(c===void 0||o<=c+s)}return!0})}get isUnbounded(){return Object.values(this.coords).every(t=>!("range"in t))}get cssId(){return this.formats?.color?.id||this.id}get isPolar(){for(let t in this.coords)if(this.coords[t].type==="angle")return!0;return!1}getFormat(t){if(typeof t=="object")return t=lh(t,this),t;let s;return t==="default"?s=Object.values(this.formats)[0]:s=this.formats[t],s?(s=lh(s,this),s):null}equals(t){return t?this===t||this.id===t||this.id===t.id:!1}to(t,s){if(arguments.length===1){let d=yt(t);[t,s]=[d.space,d.coords]}if(t=Yo.get(t),this.equals(t))return s;s=s.map(d=>Number.isNaN(d)?0:d);let r=this.path,o=t.path,n,i;for(let d=0;di;d--)s=r[d].toBase(s);for(let d=i+1;d=0){let c=Object.entries(o.coords)[n];if(c)return{space:o,id:c[0],index:n,...c[1]}}o=Yo.get(o);let i=n.toLowerCase(),d=0;for(let c in o.coords){let _=o.coords[c];if(c.toLowerCase()===i||_.name?.toLowerCase()===i)return{space:o,id:c,index:d,..._};d++}throw new TypeError(`No "${n}" coordinate found in ${o.name}. Its coordinates are: ${Object.keys(o.coords).join(", ")}`)}static DEFAULT_FORMAT={type:"functions",name:"color"}};function FT(e){let t=[e];for(let s=e;s=s.base;)t.push(s);return t}function lh(e,{coords:t}={}){if(e.coords&&!e.coordGrammar){e.type||="function",e.name||="color",e.coordGrammar=l0(e.coords);let s=Object.entries(t).map(([r,o],n)=>{let i=e.coordGrammar[n][0],d=o.range||o.refRange,c=i.range,_="";return i==""?(c=[0,100],_="%"):i==""&&(_="deg"),{fromRange:d,toRange:c,suffix:_}});e.serializeCoords=(r,o)=>r.map((n,i)=>{let{fromRange:d,toRange:c,suffix:_}=s[i];return d&&c&&(n=rm(d,c,n)),n=P_(n,{precision:o,unit:_}),n})}return e}var ar=new qe({id:"xyz-d65",name:"XYZ D65",coords:{x:{name:"X"},y:{name:"Y"},z:{name:"Z"}},white:"D65",formats:{color:{ids:["xyz-d65","xyz"]}},aliases:["xyz"]}),Dr=class extends qe{constructor(e){e.coords||(e.coords={r:{range:[0,1],name:"Red"},g:{range:[0,1],name:"Green"},b:{range:[0,1],name:"Blue"}}),e.base||(e.base=ar),e.toXYZ_M&&e.fromXYZ_M&&(e.toBase??=t=>{let s=ms(e.toXYZ_M,t);return this.white!==this.base.white&&(s=E_(this.white,this.base.white,s)),s},e.fromBase??=t=>(t=E_(this.base.white,this.white,t),ms(e.fromXYZ_M,t))),e.referred??="display",super(e)}};function zd(e,t){return e=yt(e),!t||e.space.equals(t)?e.coords.slice():(t=qe.get(t),t.from(e))}function Jr(e,t){e=yt(e);let{space:s,index:r}=qe.resolveCoord(t,e.space);return zd(e,s)[r]}function nm(e,t,s){return e=yt(e),t=qe.get(t),e.coords=t.to(e.space,s),e}nm.returns="color";function pn(e,t,s){if(e=yt(e),arguments.length===2&&On(arguments[1])==="object"){let r=arguments[1];for(let o in r)pn(e,o,r[o])}else{typeof s=="function"&&(s=s(Jr(e,t)));let{space:r,index:o}=qe.resolveCoord(t,e.space),n=zd(e,r);n[o]=s,nm(e,r,n)}return e}pn.returns="color";var am=new qe({id:"xyz-d50",name:"XYZ D50",white:"D50",base:ar,fromBase:e=>E_(ar.white,"D50",e),toBase:e=>E_("D50",ar.white,e)}),BT=216/24389,uh=24/116,h_=24389/27,D1=Tr.D50,eo=new qe({id:"lab",name:"Lab",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:D1,base:am,fromBase(e){let t=e.map((s,r)=>s/D1[r]).map(s=>s>BT?Math.cbrt(s):(h_*s+16)/116);return[116*t[1]-16,500*(t[0]-t[1]),200*(t[1]-t[2])]},toBase(e){let t=[];return t[1]=(e[0]+16)/116,t[0]=e[1]/500+t[1],t[2]=t[1]-e[2]/200,[t[0]>uh?Math.pow(t[0],3):(116*t[0]-16)/h_,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/h_,t[2]>uh?Math.pow(t[2],3):(116*t[2]-16)/h_].map((s,r)=>s*D1[r])},formats:{lab:{coords:[" | "," | [-1,1]"," | [-1,1]"]}}});function Xo(e){return(e%360+360)%360}function WT(e,t){if(e==="raw")return t;let[s,r]=t.map(Xo),o=r-s;return e==="increasing"?o<0&&(r+=360):e==="decreasing"?o>0&&(s+=360):e==="longer"?-1800?s+=360:r+=360):e==="shorter"&&(o>180?s+=360:o<-180&&(r+=360)),[s,r]}var Ud=new qe({id:"lch",name:"LCH",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,150],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:eo,fromBase(e){let[t,s,r]=e,o,n=.02;return Math.abs(s) | "," | "," | "]}}}),mh=25**7,k_=Math.PI,ph=180/k_,pi=k_/180;function fh(e){let t=e*e;return t*t*t*e}function f0(e,t,{kL:s=1,kC:r=1,kH:o=1}={}){[e,t]=yt([e,t]);let[n,i,d]=eo.from(e),c=Ud.from(eo,[n,i,d])[1],[_,u,m]=eo.from(t),p=Ud.from(eo,[_,u,m])[1];c<0&&(c=0),p<0&&(p=0);let y=fh((c+p)/2),h=.5*(1-Math.sqrt(y/(y+mh))),g=(1+h)*i,w=(1+h)*u,S=Math.sqrt(g**2+d**2),T=Math.sqrt(w**2+m**2),A=g===0&&d===0?0:Math.atan2(d,g),P=w===0&&m===0?0:Math.atan2(m,w);A<0&&(A+=2*k_),P<0&&(P+=2*k_),A*=ph,P*=ph;let U=_-n,D=T-S,O=P-A,L=A+P,G=Math.abs(O),W;S*T===0?W=0:G<=180?W=O:O>180?W=O-360:O<-180?W=O+360:to.warn("the unthinkable has happened");let K=2*Math.sqrt(T*S)*Math.sin(W*pi/2),Q=(n+_)/2,te=(S+T)/2,ee=fh(te),he;S*T===0?he=L:G<=180?he=L/2:L<360?he=(L+360)/2:he=(L-360)/2;let Ee=(Q-50)**2,Te=1+.015*Ee/Math.sqrt(20+Ee),Ue=1+.045*te,Me=1;Me-=.17*Math.cos((he-30)*pi),Me+=.24*Math.cos(2*he*pi),Me+=.32*Math.cos((3*he+6)*pi),Me-=.2*Math.cos((4*he-63)*pi);let Pe=1+.015*te*Me,Re=30*Math.exp(-1*((he-275)/25)**2),de=2*Math.sqrt(ee/(ee+mh)),je=-1*Math.sin(2*Re*pi)*de,fe=(U/(s*Te))**2;return fe+=(D/(r*Ue))**2,fe+=(K/(o*Pe))**2,fe+=je*(D/(r*Ue))*(K/(o*Pe)),Math.sqrt(fe)}var OT=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],VT=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],NT=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],qT=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],hi=new qe({id:"oklab",name:"Oklab",coords:{l:{refRange:[0,1],name:"Lightness"},a:{refRange:[-.4,.4]},b:{refRange:[-.4,.4]}},white:"D65",base:ar,fromBase(e){return ms(NT,ms(OT,e).map(t=>Math.cbrt(t)))},toBase(e){return ms(VT,ms(qT,e).map(t=>t**3))},formats:{oklab:{coords:[" | "," | [-1,1]"," | [-1,1]"]}}});function K1(e,t){[e,t]=yt([e,t]);let[s,r,o]=hi.from(e),[n,i,d]=hi.from(t),c=s-n,_=r-i,u=o-d;return Math.sqrt(c**2+_**2+u**2)}var XT=75e-6;function Ea(e,t,{epsilon:s=XT}={}){e=yt(e),t||(t=e.space),t=qe.get(t);let r=e.coords;return t!==e.space&&(r=t.from(e)),t.inGamut(r,{epsilon:s})}function xi(e){return{space:e.space,coords:e.coords.slice(),alpha:e.alpha}}function v0(e,t,s="lab"){s=qe.get(s);let r=s.from(e),o=s.from(t);return Math.sqrt(r.reduce((n,i,d)=>{let c=o[d];return isNaN(i)||isNaN(c)?n:n+(c-i)**2},0))}function HT(e,t){return v0(e,t,"lab")}var vh=Math.PI/180;function jT(e,t,{l:s=2,c:r=1}={}){[e,t]=yt([e,t]);let[o,n,i]=eo.from(e),[,d,c]=Ud.from(eo,[o,n,i]),[_,u,m]=eo.from(t),p=Ud.from(eo,[_,u,m])[1];d<0&&(d=0),p<0&&(p=0);let y=o-_,h=d-p,g=n-u,w=i-m,S=g**2+w**2-h**2,T=.511;o>=16&&(T=.040975*o/(1+.01765*o));let A=.0638*d/(1+.0131*d)+.638,P;Number.isNaN(c)&&(c=0),c>=164&&c<=345?P=.56+Math.abs(.2*Math.cos((c+168)*vh)):P=.36+Math.abs(.4*Math.cos((c+35)*vh));let U=Math.pow(d,4),D=Math.sqrt(U/(U+1900)),O=A*(D*P+1-D),L=(y/(s*T))**2;return L+=(h/(r*A))**2,L+=S/O**2,Math.sqrt(L)}var yh=203,im=new qe({id:"xyz-abs-d65",cssId:"--xyz-abs-d65",name:"Absolute XYZ D65",coords:{x:{refRange:[0,9504.7],name:"Xa"},y:{refRange:[0,1e4],name:"Ya"},z:{refRange:[0,10888.3],name:"Za"}},base:ar,fromBase(e){return e.map(t=>Math.max(t*yh,0))},toBase(e){return e.map(t=>Math.max(t/yh,0))}}),x_=1.15,g_=.66,hh=2610/2**14,KT=2**14/2610,xh=3424/2**12,gh=2413/2**7,bh=2392/2**7,ZT=1.7*2523/2**5,wh=2**5/(1.7*2523),b_=-.56,F1=16295499532821565e-27,QT=[[.41478972,.579999,.014648],[-.20151,1.120649,.0531008],[-.0166008,.2648,.6684799]],JT=[[1.9242264357876067,-1.0047923125953657,.037651404030618],[.35031676209499907,.7264811939316552,-.06538442294808501],[-.09098281098284752,-.3127282905230739,1.5227665613052603]],eS=[[.5,.5,0],[3.524,-4.066708,.542708],[.199076,1.096799,-1.295875]],tS=[[1,.1386050432715393,.05804731615611886],[.9999999999999999,-.1386050432715393,-.05804731615611886],[.9999999999999998,-.09601924202631895,-.8118918960560388]],y0=new qe({id:"jzazbz",name:"Jzazbz",coords:{jz:{refRange:[0,1],name:"Jz"},az:{refRange:[-.5,.5]},bz:{refRange:[-.5,.5]}},base:im,fromBase(e){let[t,s,r]=e,[o,n,i]=ms(eS,ms(QT,[x_*t-(x_-1)*r,g_*s-(g_-1)*t,r]).map(function(d){return((xh+gh*(d/1e4)**hh)/(1+bh*(d/1e4)**hh))**ZT}));return[(1+b_)*o/(1+b_*o)-F1,n,i]},toBase(e){let[t,s,r]=e,[o,n,i]=ms(JT,ms(tS,[(t+F1)/(1+b_-b_*(t+F1)),s,r]).map(function(c){return 1e4*((xh-c**wh)/(bh*c**wh-gh))**KT})),d=(o+(x_-1)*i)/x_;return[d,(n+(g_-1)*d)/g_,i]},formats:{color:{coords:[" | "," | [-1,1]"," | [-1,1]"]}}}),Z1=new qe({id:"jzczhz",name:"JzCzHz",coords:{jz:{refRange:[0,1],name:"Jz"},cz:{refRange:[0,1],name:"Chroma"},hz:{refRange:[0,360],type:"angle",name:"Hue"}},base:y0,fromBase(e){let[t,s,r]=e,o,n=2e-4;return Math.abs(s){let r=qo(t*Math.abs(s)*.01,b0);return 400*U_(r,s)/(r+27.13)})}function yS(e,t){let s=100/t*27.13**Ah;return e.map(r=>{let o=Math.abs(r);return U_(s*qo(o/(400-o),Ah),r)})}function hS(e){let t=Xo(e);t<=Pa.h[0]&&(t+=360);let s=m0(Pa.h,t)-1,[r,o]=Pa.h.slice(s,s+2),[n,i]=Pa.e.slice(s,s+2),d=Pa.H[s],c=(t-r)/n;return d+100*c/(c+(o-t)/i)}function xS(e){let t=(e%400+400)%400,s=Math.floor(.01*t);t=t%100;let[r,o]=Pa.h.slice(s,s+2),[n,i]=Pa.e.slice(s,s+2);return Xo((t*(i*r-n*o)-100*r*i)/(t*(i-n)-100*i))}function S0(e,t,s,r,o){let n={};n.discounting=o,n.refWhite=e,n.surround=r;let i=e.map(y=>y*100);n.la=t,n.yb=s;let d=i[1],c=ms(w0,i);r=fS[n.surround];let _=r[0];n.c=r[1],n.nc=r[2];let u=(1/(5*n.la+1))**4;n.fl=u*n.la+.1*(1-u)*(1-u)*Math.cbrt(5*n.la),n.flRoot=n.fl**.25,n.n=n.yb/d,n.z=1.48+Math.sqrt(n.n),n.nbb=.725*n.n**-.2,n.ncb=n.nbb;let m=o?1:Math.max(Math.min(_*(1-1/3.6*Math.exp((-n.la-42)/92)),1),0);n.dRgb=c.map(y=>$d(1,d/y,m)),n.dRgbInv=n.dRgb.map(y=>1/y);let p=T0(c.map((y,h)=>y*n.dRgb[h]),n.fl);return n.aW=n.nbb*(2*p[0]+p[1]+.05*p[2]),n}var Ph=S0(uS,64/Math.PI*.2,20,"average",!1);function J1(e,t){if(!(e.J!==void 0^e.Q!==void 0))throw new Error("Conversion requires one and only one: 'J' or 'Q'");if(!(e.C!==void 0^e.M!==void 0^e.s!==void 0))throw new Error("Conversion requires one and only one: 'C', 'M' or 's'");if(!(e.h!==void 0^e.H!==void 0))throw new Error("Conversion requires one and only one: 'h' or 'H'");if(e.J===0||e.Q===0)return[0,0,0];let s=0;e.h!==void 0?s=Xo(e.h)*Mh:s=xS(e.H)*Mh;let r=Math.cos(s),o=Math.sin(s),n=0;e.J!==void 0?n=qo(e.J,1/2)*.1:e.Q!==void 0&&(n=.25*t.c*e.Q/((t.aW+4)*t.flRoot));let i=0;e.C!==void 0?i=e.C/n:e.M!==void 0?i=e.M/t.flRoot/n:e.s!==void 0&&(i=4e-4*e.s**2*(t.aW+4)/t.c);let d=qo(i*Math.pow(1.64-Math.pow(.29,t.n),-.73),10/9),c=.25*(Math.cos(s+2)+3.8),_=t.aW*qo(n,2/t.c/t.z),u=5e4/13*t.nc*t.ncb*c,m=_/t.nbb,p=23*(m+.305)*om(d,23*u+d*(11*r+108*o));return ms(mS,yS(ms(pS,[m,p*r,p*o]).map(y=>y*1/1403),t.fl).map((y,h)=>y*t.dRgbInv[h])).map(y=>y/100)}function A0(e,t){let s=T0(ms(w0,e.map(g=>g*100)).map((g,w)=>g*t.dRgb[w]),t.fl),r=s[0]+(-12*s[1]+s[2])/11,o=(s[0]+s[1]-2*s[2])/9,n=(Math.atan2(o,r)%B1+B1)%B1,i=.25*(Math.cos(n+2)+3.8),d=qo(5e4/13*t.nc*t.ncb*om(i*Math.sqrt(r**2+o**2),s[0]+s[1]+1.05*s[2]+.305),.9)*Math.pow(1.64-Math.pow(.29,t.n),.73),c=qo(t.nbb*(2*s[0]+s[1]+.05*s[2])/t.aW,.5*t.c*t.z),_=100*qo(c,2),u=4/t.c*c*(t.aW+4)*t.flRoot,m=d*c,p=m*t.flRoot,y=Xo(n*vS),h=hS(y);return{J:_,C:m,h:y,s:50*qo(t.c*d/(t.aW+4),1/2),Q:u,M:p,H:h}}var gS=new qe({id:"cam16-jmh",cssId:"--cam16-jmh",name:"CAM16-JMh",coords:{j:{refRange:[0,100],name:"J"},m:{refRange:[0,105],name:"Colorfulness"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:ar,fromBase(e){let t=A0(e,Ph);return[t.J,t.M,t.h]},toBase(e){return J1({J:e[0],M:e[1],h:e[2]},Ph)}}),bS=Tr.D65,wS=216/24389,M0=24389/27;function TS(e){return 116*(e>wS?Math.cbrt(e):(M0*e+16)/116)-16}function em(e){return e>8?Math.pow((e+16)/116,3):e/M0}function SS(e,t){let[s,r,o]=e,n=[],i=0;if(o===0)return[0,0,0];let d=em(o);o>0?i=.00379058511492914*o**2+.608983189401032*o+.9155088574762233:i=9514440756550361e-21*o**2+.08693057439788597*o-21.928975842194614;let c=2e-12,_=15,u=0,m=1/0;for(;u<=_;){n=J1({J:i,C:r,h:s},t);let p=Math.abs(n[1]-d);if(p | "," | "," | "]}}}),MS=Math.PI/180,Eh=[1,.007,.0228];function kh(e){e[1]<0&&(e=Cd.fromBase(Cd.toBase(e)));let t=Math.log(Math.max(1+Eh[2]*e[1]*dm.flRoot,1))/Eh[2],s=e[0]*MS,r=t*Math.cos(s),o=t*Math.sin(s);return[e[2],r,o]}function PS(e,t){[e,t]=yt([e,t]);let[s,r,o]=kh(Cd.from(e)),[n,i,d]=kh(Cd.from(t));return Math.sqrt((s-n)**2+(r-i)**2+(o-d)**2)}var gi={deltaE76:HT,deltaECMC:jT,deltaE2000:f0,deltaEJz:sS,deltaEITP:lS,deltaEOK:K1,deltaEHCT:PS};function ES(e){let t=e?Math.floor(Math.log10(Math.abs(e))):0;return Math.max(parseFloat(`1e${t-2}`),1e-6)}var $h={hct:{method:"hct.c",jnd:2,deltaEMethod:"hct",blackWhiteClamp:{}},"hct-tonal":{method:"hct.c",jnd:0,deltaEMethod:"hct",blackWhiteClamp:{channel:"hct.t",min:0,max:100}}};function qn(e,{method:t=to.gamut_mapping,space:s=void 0,deltaEMethod:r="",jnd:o=2,blackWhiteClamp:n={}}={}){if(e=yt(e),Rd(arguments[1])?s=arguments[1]:s||(s=e.space),s=qe.get(s),Ea(e,s,{epsilon:0}))return e;let i;if(t==="css")i=kS(e,{space:s});else{if(t!=="clip"&&!Ea(e,s)){Object.prototype.hasOwnProperty.call($h,t)&&({method:t,jnd:o,deltaEMethod:r,blackWhiteClamp:n}=$h[t]);let d=f0;if(r!==""){for(let _ in gi)if("deltae"+r.toLowerCase()===_.toLowerCase()){d=gi[_];break}}let c=qn(us(e,s),{method:"clip",space:s});if(d(e,c)>o){if(Object.keys(n).length===3){let S=qe.resolveCoord(n.channel),T=Jr(us(e,S.space),S.id);if(Vn(T)&&(T=0),T>=n.max)return us({space:"xyz-d65",coords:Tr.D65},e.space);if(T<=n.min)return us({space:"xyz-d65",coords:[0,0,0]},e.space)}let _=qe.resolveCoord(t),u=_.space,m=_.id,p=us(e,u);p.coords.forEach((S,T)=>{Vn(S)&&(p.coords[T]=0)});let y=(_.range||_.refRange)[0],h=ES(o),g=y,w=Jr(p,m);for(;w-g>h;){let S=xi(p);S=qn(S,{space:s,method:"clip"}),d(p,S)-oc.range||[]);i.coords=i.coords.map((c,_)=>{let[u,m]=d[_];return u!==void 0&&(c=Math.max(u,c)),m!==void 0&&(c=Math.min(c,m)),c})}}return s!==e.space&&(i=us(i,e.space)),e.coords=i.coords,e}qn.returns="color";var Uh={WHITE:{space:hi,coords:[1,0,0]},BLACK:{space:hi,coords:[0,0,0]}};function kS(e,{space:t}={}){e=yt(e),t||(t=e.space),t=qe.get(t);let o=qe.get("oklch");if(t.isUnbounded)return us(e,t);let n=us(e,o),i=n.coords[0];if(i>=1){let h=us(Uh.WHITE,t);return h.alpha=e.alpha,us(h,t)}if(i<=0){let h=us(Uh.BLACK,t);return h.alpha=e.alpha,us(h,t)}if(Ea(n,t,{epsilon:0}))return us(n,t);function d(h){let g=us(h,t),w=Object.values(t.coords);return g.coords=g.coords.map((S,T)=>{if("range"in w[T]){let[A,P]=w[T].range;return u0(A,S,P)}return S}),g}let c=0,_=n.coords[1],u=!0,m=xi(n),p=d(m),y=K1(p,m);if(y<.02)return p;for(;_-c>1e-4;){let h=(c+_)/2;if(m.coords[1]=h,u&&Ea(m,t,{epsilon:0}))c=h;else if(p=d(m),y=K1(p,m),y<.02){if(.02-y<1e-4)break;u=!1,c=h}else _=h}return p}function us(e,t,{inGamut:s}={}){e=yt(e),t=qe.get(t);let r=t.from(e),o={space:t,coords:r,alpha:e.alpha};return s&&(o=qn(o,s===!0?void 0:s)),o}us.returns="color";function kd(e,{precision:t=to.precision,format:s="default",inGamut:r=!0,...o}={}){let n;e=yt(e);let i=s;s=e.space.getFormat(s)??e.space.getFormat("default")??qe.DEFAULT_FORMAT;let d=e.coords.slice();if(r||=s.toGamut,r&&!Ea(e)&&(d=qn(xi(e),r===!0?void 0:r).coords),s.type==="custom")if(o.precision=t,s.serialize)n=s.serialize(d,e.alpha,o);else throw new TypeError(`format ${i} can only be used to parse colors, not for serialization`);else{let c=s.name||"color";s.serializeCoords?d=s.serializeCoords(d,t):t!==null&&(d=d.map(p=>P_(p,{precision:t})));let _=[...d];if(c==="color"){let p=s.id||s.ids?.[0]||e.space.id;_.unshift(p)}let u=e.alpha;t!==null&&(u=P_(u,{precision:t}));let m=e.alpha>=1||s.noAlpha?"":`${s.commas?",":" /"} ${u}`;n=`${c}(${_.join(s.commas?", ":" ")}${m})`}return n}var C_=new Dr({id:"rec2020-linear",cssId:"--rec2020-linear",name:"Linear REC.2020",white:"D65",toXYZ_M:[[.6369580483012914,.14461690358620832,.1688809751641721],[.2627002120112671,.6779980715188708,.05930171646986196],[0,.028072693049087428,1.060985057710791]],fromXYZ_M:[[1.716651187971268,-.355670783776392,-.25336628137366],[-.666684351832489,1.616481236634939,.0157685458139111],[.017639857445311,-.042770613257809,.942103121235474]]}),w_=1.09929682680944,Ch=.018053968510807,P0=new Dr({id:"rec2020",name:"REC.2020",base:C_,toBase(e){return e.map(function(t){return t=Ch?w_*Math.pow(t,.45)-(w_-1):4.5*t})}}),E0=new Dr({id:"p3-linear",cssId:"--display-p3-linear",name:"Linear P3",white:"D65",toXYZ_M:[[.4865709486482162,.26566769316909306,.1982172852343625],[.2289745640697488,.6917385218365064,.079286914093745],[0,.04511338185890264,1.043944368900976]],fromXYZ_M:[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]]}),$S=[[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Ds=[[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],k0=new Dr({id:"srgb-linear",name:"Linear sRGB",white:"D65",toXYZ_M:$S,fromXYZ_M:Ds}),Rh={aliceblue:[240/255,248/255,1],antiquewhite:[250/255,235/255,215/255],aqua:[0,1,1],aquamarine:[127/255,1,212/255],azure:[240/255,1,1],beige:[245/255,245/255,220/255],bisque:[1,228/255,196/255],black:[0,0,0],blanchedalmond:[1,235/255,205/255],blue:[0,0,1],blueviolet:[138/255,43/255,226/255],brown:[165/255,42/255,42/255],burlywood:[222/255,184/255,135/255],cadetblue:[95/255,158/255,160/255],chartreuse:[127/255,1,0],chocolate:[210/255,105/255,30/255],coral:[1,127/255,80/255],cornflowerblue:[100/255,149/255,237/255],cornsilk:[1,248/255,220/255],crimson:[220/255,20/255,60/255],cyan:[0,1,1],darkblue:[0,0,139/255],darkcyan:[0,139/255,139/255],darkgoldenrod:[184/255,134/255,11/255],darkgray:[169/255,169/255,169/255],darkgreen:[0,100/255,0],darkgrey:[169/255,169/255,169/255],darkkhaki:[189/255,183/255,107/255],darkmagenta:[139/255,0,139/255],darkolivegreen:[85/255,107/255,47/255],darkorange:[1,140/255,0],darkorchid:[153/255,50/255,204/255],darkred:[139/255,0,0],darksalmon:[233/255,150/255,122/255],darkseagreen:[143/255,188/255,143/255],darkslateblue:[72/255,61/255,139/255],darkslategray:[47/255,79/255,79/255],darkslategrey:[47/255,79/255,79/255],darkturquoise:[0,206/255,209/255],darkviolet:[148/255,0,211/255],deeppink:[1,20/255,147/255],deepskyblue:[0,191/255,1],dimgray:[105/255,105/255,105/255],dimgrey:[105/255,105/255,105/255],dodgerblue:[30/255,144/255,1],firebrick:[178/255,34/255,34/255],floralwhite:[1,250/255,240/255],forestgreen:[34/255,139/255,34/255],fuchsia:[1,0,1],gainsboro:[220/255,220/255,220/255],ghostwhite:[248/255,248/255,1],gold:[1,215/255,0],goldenrod:[218/255,165/255,32/255],gray:[128/255,128/255,128/255],green:[0,128/255,0],greenyellow:[173/255,1,47/255],grey:[128/255,128/255,128/255],honeydew:[240/255,1,240/255],hotpink:[1,105/255,180/255],indianred:[205/255,92/255,92/255],indigo:[75/255,0,130/255],ivory:[1,1,240/255],khaki:[240/255,230/255,140/255],lavender:[230/255,230/255,250/255],lavenderblush:[1,240/255,245/255],lawngreen:[124/255,252/255,0],lemonchiffon:[1,250/255,205/255],lightblue:[173/255,216/255,230/255],lightcoral:[240/255,128/255,128/255],lightcyan:[224/255,1,1],lightgoldenrodyellow:[250/255,250/255,210/255],lightgray:[211/255,211/255,211/255],lightgreen:[144/255,238/255,144/255],lightgrey:[211/255,211/255,211/255],lightpink:[1,182/255,193/255],lightsalmon:[1,160/255,122/255],lightseagreen:[32/255,178/255,170/255],lightskyblue:[135/255,206/255,250/255],lightslategray:[119/255,136/255,153/255],lightslategrey:[119/255,136/255,153/255],lightsteelblue:[176/255,196/255,222/255],lightyellow:[1,1,224/255],lime:[0,1,0],limegreen:[50/255,205/255,50/255],linen:[250/255,240/255,230/255],magenta:[1,0,1],maroon:[128/255,0,0],mediumaquamarine:[102/255,205/255,170/255],mediumblue:[0,0,205/255],mediumorchid:[186/255,85/255,211/255],mediumpurple:[147/255,112/255,219/255],mediumseagreen:[60/255,179/255,113/255],mediumslateblue:[123/255,104/255,238/255],mediumspringgreen:[0,250/255,154/255],mediumturquoise:[72/255,209/255,204/255],mediumvioletred:[199/255,21/255,133/255],midnightblue:[25/255,25/255,112/255],mintcream:[245/255,1,250/255],mistyrose:[1,228/255,225/255],moccasin:[1,228/255,181/255],navajowhite:[1,222/255,173/255],navy:[0,0,128/255],oldlace:[253/255,245/255,230/255],olive:[128/255,128/255,0],olivedrab:[107/255,142/255,35/255],orange:[1,165/255,0],orangered:[1,69/255,0],orchid:[218/255,112/255,214/255],palegoldenrod:[238/255,232/255,170/255],palegreen:[152/255,251/255,152/255],paleturquoise:[175/255,238/255,238/255],palevioletred:[219/255,112/255,147/255],papayawhip:[1,239/255,213/255],peachpuff:[1,218/255,185/255],peru:[205/255,133/255,63/255],pink:[1,192/255,203/255],plum:[221/255,160/255,221/255],powderblue:[176/255,224/255,230/255],purple:[128/255,0,128/255],rebeccapurple:[102/255,51/255,153/255],red:[1,0,0],rosybrown:[188/255,143/255,143/255],royalblue:[65/255,105/255,225/255],saddlebrown:[139/255,69/255,19/255],salmon:[250/255,128/255,114/255],sandybrown:[244/255,164/255,96/255],seagreen:[46/255,139/255,87/255],seashell:[1,245/255,238/255],sienna:[160/255,82/255,45/255],silver:[192/255,192/255,192/255],skyblue:[135/255,206/255,235/255],slateblue:[106/255,90/255,205/255],slategray:[112/255,128/255,144/255],slategrey:[112/255,128/255,144/255],snow:[1,250/255,250/255],springgreen:[0,1,127/255],steelblue:[70/255,130/255,180/255],tan:[210/255,180/255,140/255],teal:[0,128/255,128/255],thistle:[216/255,191/255,216/255],tomato:[1,99/255,71/255],turquoise:[64/255,224/255,208/255],violet:[238/255,130/255,238/255],wheat:[245/255,222/255,179/255],white:[1,1,1],whitesmoke:[245/255,245/255,245/255],yellow:[1,1,0],yellowgreen:[154/255,205/255,50/255]},zh=Array(3).fill(" | [0, 255]"),Gh=Array(3).fill("[0, 255]"),bi=new Dr({id:"srgb",name:"sRGB",base:k0,fromBase:e=>e.map(t=>{let s=t<0?-1:1,r=t*s;return r>.0031308?s*(1.055*r**(1/2.4)-.055):12.92*t}),toBase:e=>e.map(t=>{let s=t<0?-1:1,r=t*s;return r<=.04045?t/12.92:s*((r+.055)/1.055)**2.4}),formats:{rgb:{coords:zh},rgb_number:{name:"rgb",commas:!0,coords:Gh,noAlpha:!0},color:{},rgba:{coords:zh,commas:!0,lastAlpha:!0},rgba_number:{name:"rgba",commas:!0,coords:Gh},hex:{type:"custom",toGamut:!0,test:e=>/^#([a-f0-9]{3,4}){1,2}$/i.test(e),parse(e){e.length<=5&&(e=e.replace(/[a-f0-9]/gi,"$&$&"));let t=[];return e.replace(/[a-f0-9]{2}/gi,s=>{t.push(parseInt(s,16)/255)}),{spaceId:"srgb",coords:t.slice(0,3),alpha:t.slice(3)[0]}},serialize:(e,t,{collapse:s=!0}={})=>{t<1&&e.push(t),e=e.map(o=>Math.round(o*255));let r=s&&e.every(o=>o%17===0);return"#"+e.map(o=>r?(o/17).toString(16):o.toString(16).padStart(2,"0")).join("")}},keyword:{type:"custom",test:e=>/^[a-z]+$/i.test(e),parse(e){e=e.toLowerCase();let t={spaceId:"srgb",coords:null,alpha:1};if(e==="transparent"?(t.coords=Rh.black,t.alpha=0):t.coords=Rh[e],t.coords)return t}}}}),$0=new Dr({id:"p3",cssId:"display-p3",name:"P3",base:E0,fromBase:bi.fromBase,toBase:bi.toBase});to.display_space=bi;var US;if(typeof CSS<"u"&&CSS.supports)for(let e of[eo,P0,$0]){let t=kd({space:e,coords:e.getMinCoords(),alpha:1});if(CSS.supports("color",t)){to.display_space=e;break}}function CS(e,{space:t=to.display_space,...s}={}){let r=kd(e,s);if(typeof CSS>"u"||CSS.supports("color",r)||!to.display_space)r=new String(r),r.color=e;else{let o=e;if((e.coords.some(Vn)||Vn(e.alpha))&&!(US??=CSS.supports("color","hsl(none 50% 50%)"))&&(o=xi(e),o.coords=o.coords.map(Cs),o.alpha=Cs(o.alpha),r=kd(o,s),CSS.supports("color",r)))return r=new String(r),r.color=o,r;o=us(o,t),r=new String(kd(o,s)),r.color=o}return r}function RS(e,t){return e=yt(e),t=yt(t),e.space===t.space&&e.alpha===t.alpha&&e.coords.every((s,r)=>s===t.coords[r])}function Xn(e){return Jr(e,[ar,"y"])}function U0(e,t){pn(e,[ar,"y"],t)}function zS(e){Object.defineProperty(e.prototype,"luminance",{get(){return Xn(this)},set(t){U0(this,t)}})}var GS=Object.freeze({__proto__:null,getLuminance:Xn,register:zS,setLuminance:U0});function YS(e,t){e=yt(e),t=yt(t);let s=Math.max(Xn(e),0),r=Math.max(Xn(t),0);return r>s&&([s,r]=[r,s]),(s+.05)/(r+.05)}var LS=.56,IS=.57,DS=.62,FS=.65,Yh=.022,BS=1.414,WS=.1,OS=5e-4,VS=1.14,Lh=.027,NS=1.14;function Ih(e){return e>=Yh?e:e+(Yh-e)**BS}function fi(e){let t=e<0?-1:1,s=Math.abs(e);return t*Math.pow(s,2.4)}function qS(e,t){t=yt(t),e=yt(e);let s,r,o,n,i,d;t=us(t,"srgb"),[n,i,d]=t.coords;let c=fi(n)*.2126729+fi(i)*.7151522+fi(d)*.072175;e=us(e,"srgb"),[n,i,d]=e.coords;let _=fi(n)*.2126729+fi(i)*.7151522+fi(d)*.072175,u=Ih(c),m=Ih(_),p=m>u;return Math.abs(m-u)0?o=r-Lh:o=r+Lh,o*100}function XS(e,t){e=yt(e),t=yt(t);let s=Math.max(Xn(e),0),r=Math.max(Xn(t),0);r>s&&([s,r]=[r,s]);let o=s+r;return o===0?0:(s-r)/o}var HS=5e4;function jS(e,t){e=yt(e),t=yt(t);let s=Math.max(Xn(e),0),r=Math.max(Xn(t),0);return r>s&&([s,r]=[r,s]),r===0?HS:(s-r)/r}function KS(e,t){e=yt(e),t=yt(t);let s=Jr(e,[eo,"l"]),r=Jr(t,[eo,"l"]);return Math.abs(s-r)}var ZS=216/24389,Dh=24/116,T_=24389/27,W1=Tr.D65,tm=new qe({id:"lab-d65",name:"Lab D65",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:W1,base:ar,fromBase(e){let t=e.map((s,r)=>s/W1[r]).map(s=>s>ZS?Math.cbrt(s):(T_*s+16)/116);return[116*t[1]-16,500*(t[0]-t[1]),200*(t[1]-t[2])]},toBase(e){let t=[];return t[1]=(e[0]+16)/116,t[0]=e[1]/500+t[1],t[2]=t[1]-e[2]/200,[t[0]>Dh?Math.pow(t[0],3):(116*t[0]-16)/T_,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/T_,t[2]>Dh?Math.pow(t[2],3):(116*t[2]-16)/T_].map((s,r)=>s*W1[r])},formats:{"lab-d65":{coords:[" | "," | [-1,1]"," | [-1,1]"]}}}),O1=Math.pow(5,.5)*.5+.5;function QS(e,t){e=yt(e),t=yt(t);let s=Jr(e,[tm,"l"]),r=Jr(t,[tm,"l"]),o=Math.abs(Math.pow(s,O1)-Math.pow(r,O1)),n=Math.pow(o,1/O1)*Math.SQRT2-40;return n<7.5?0:n}var M_=Object.freeze({__proto__:null,contrastAPCA:qS,contrastDeltaPhi:QS,contrastLstar:KS,contrastMichelson:XS,contrastWCAG21:YS,contrastWeber:jS});function JS(e,t,s={}){Rd(s)&&(s={algorithm:s});let{algorithm:r,...o}=s;if(!r){let n=Object.keys(M_).map(i=>i.replace(/^contrast/,"")).join(", ");throw new TypeError(`contrast() function needs a contrast algorithm. Please specify one of: ${n}`)}e=yt(e),t=yt(t);for(let n in M_)if("contrast"+r.toLowerCase()===n.toLowerCase())return M_[n](e,t,o);throw new TypeError(`Unknown contrast algorithm: ${r}`)}function R_(e){let[t,s,r]=zd(e,ar),o=t+15*s+3*r;return[4*t/o,9*s/o]}function C0(e){let[t,s,r]=zd(e,ar),o=t+s+r;return[t/o,s/o]}function eA(e){Object.defineProperty(e.prototype,"uv",{get(){return R_(this)}}),Object.defineProperty(e.prototype,"xy",{get(){return C0(this)}})}var tA=Object.freeze({__proto__:null,register:eA,uv:R_,xy:C0});function Ed(e,t,s={}){Rd(s)&&(s={method:s});let{method:r=to.deltaE,...o}=s;for(let n in gi)if("deltae"+r.toLowerCase()===n.toLowerCase())return gi[n](e,t,o);throw new TypeError(`Unknown deltaE method: ${r}`)}function sA(e,t=.25){return pn(e,[qe.get("oklch","lch"),"l"],s=>s*(1+t))}function rA(e,t=.25){return pn(e,[qe.get("oklch","lch"),"l"],s=>s*(1-t))}var oA=Object.freeze({__proto__:null,darken:rA,lighten:sA});function R0(e,t,s=.5,r={}){return[e,t]=[yt(e),yt(t)],On(s)==="object"&&([s,r]=[.5,s]),Gd(e,t,r)(s)}function z0(e,t,s={}){let r;cm(e)&&([r,s]=[e,t],[e,t]=r.rangeArgs.colors);let{maxDeltaE:o,deltaEMethod:n,steps:i=2,maxSteps:d=1e3,...c}=s;r||([e,t]=[yt(e),yt(t)],r=Gd(e,t,c));let _=Ed(e,t),u=o>0?Math.max(i,Math.ceil(_/o)+1):i,m=[];if(d!==void 0&&(u=Math.min(u,d)),u===1)m=[{p:.5,color:r(.5)}];else{let p=1/(u-1);m=Array.from({length:u},(y,h)=>{let g=h*p;return{p:g,color:r(g)}})}if(o>0){let p=m.reduce((y,h,g)=>{if(g===0)return 0;let w=Ed(h.color,m[g-1].color,n);return Math.max(y,w)},0);for(;p>o;){p=0;for(let y=1;yp.color),m}function Gd(e,t,s={}){if(cm(e)){let[c,_]=[e,t];return Gd(...c.rangeArgs.colors,{...c.rangeArgs.options,..._})}let{space:r,outputSpace:o,progression:n,premultiplied:i}=s;e=yt(e),t=yt(t),e=xi(e),t=xi(t);let d={colors:[e,t],options:s};if(r?r=qe.get(r):r=qe.registry[to.interpolationSpace]||e.space,o=o?qe.get(o):r,e=us(e,r),t=us(t,r),e=qn(e),t=qn(t),r.coords.h&&r.coords.h.type==="angle"){let c=s.hue=s.hue||"shorter",_=[r,"h"],[u,m]=[Jr(e,_),Jr(t,_)];isNaN(u)&&!isNaN(m)?u=m:isNaN(m)&&!isNaN(u)&&(m=u),[u,m]=WT(c,[u,m]),pn(e,_,u),pn(t,_,m)}return i&&(e.coords=e.coords.map(c=>c*e.alpha),t.coords=t.coords.map(c=>c*t.alpha)),Object.assign(c=>{c=n?n(c):c;let _=e.coords.map((p,y)=>{let h=t.coords[y];return $d(p,h,c)}),u=$d(e.alpha,t.alpha,c),m={space:r,coords:_,alpha:u};return i&&(m.coords=m.coords.map(p=>p/u)),o!==r&&(m=us(m,o)),m},{rangeArgs:d})}function cm(e){return On(e)==="function"&&!!e.rangeArgs}to.interpolationSpace="lab";function nA(e){e.defineFunction("mix",R0,{returns:"color"}),e.defineFunction("range",Gd,{returns:"function"}),e.defineFunction("steps",z0,{returns:"array"})}var aA=Object.freeze({__proto__:null,isRange:cm,mix:R0,range:Gd,register:nA,steps:z0}),G0=new qe({id:"hsl",name:"HSL",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:bi,fromBase:e=>{let t=Math.max(...e),s=Math.min(...e),[r,o,n]=e,[i,d,c]=[NaN,0,(s+t)/2],_=t-s;if(_!==0){switch(d=c===0||c===1?0:(t-c)/Math.min(c,1-c),t){case r:i=(o-n)/_+(o=360&&(i-=360),[i,d*100,c*100]},toBase:e=>{let[t,s,r]=e;t=t%360,t<0&&(t+=360),s/=100,r/=100;function o(n){let i=(n+t/30)%12,d=s*Math.min(r,1-r);return r-d*Math.max(-1,Math.min(i-3,9-i,1))}return[o(0),o(8),o(4)]},formats:{hsl:{coords:[" | ","",""]},hsla:{coords:[" | ","",""],commas:!0,lastAlpha:!0}}}),Y0=new qe({id:"hsv",name:"HSV",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},v:{range:[0,100],name:"Value"}},base:G0,fromBase(e){let[t,s,r]=e;s/=100,r/=100;let o=r+s*Math.min(r,1-r);return[t,o===0?0:200*(1-r/o),100*o]},toBase(e){let[t,s,r]=e;s/=100,r/=100;let o=r*(1-s/2);return[t,o===0||o===1?0:(r-o)/Math.min(o,1-o)*100,o*100]},formats:{color:{id:"--hsv",coords:[" | "," | "," | "]}}}),iA=new qe({id:"hwb",name:"HWB",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},w:{range:[0,100],name:"Whiteness"},b:{range:[0,100],name:"Blackness"}},base:Y0,fromBase(e){let[t,s,r]=e;return[t,r*(100-s)/100,100-r]},toBase(e){let[t,s,r]=e;s/=100,r/=100;let o=s+r;if(o>=1)return[t,0,s/o*100];let n=1-r;return[t,(n===0?0:1-s/n)*100,n*100]},formats:{hwb:{coords:[" | "," | "," | "]}}}),L0=new Dr({id:"a98rgb-linear",cssId:"--a98-rgb-linear",name:"Linear Adobe\xAE 98 RGB compatible",white:"D65",toXYZ_M:[[.5766690429101305,.1855582379065463,.1882286462349947],[.29734497525053605,.6273635662554661,.07529145849399788],[.02703136138641234,.07068885253582723,.9913375368376388]],fromXYZ_M:[[2.0415879038107465,-.5650069742788596,-.34473135077832956],[-.9692436362808795,1.8759675015077202,.04155505740717557],[.013444280632031142,-.11836239223101838,1.0151749943912054]]}),dA=new Dr({id:"a98rgb",cssId:"a98-rgb",name:"Adobe\xAE 98 RGB compatible",base:L0,toBase:e=>e.map(t=>Math.pow(Math.abs(t),563/256)*Math.sign(t)),fromBase:e=>e.map(t=>Math.pow(Math.abs(t),256/563)*Math.sign(t))}),I0=new Dr({id:"prophoto-linear",cssId:"--prophoto-rgb-linear",name:"Linear ProPhoto",white:"D50",base:am,toXYZ_M:[[.7977666449006423,.13518129740053308,.0313477341283922],[.2880748288194013,.711835234241873,8993693872564e-17],[0,0,.8251046025104602]],fromXYZ_M:[[1.3457868816471583,-.25557208737979464,-.05110186497554526],[-.5446307051249019,1.5082477428451468,.02052744743642139],[0,0,1.2119675456389452]]}),cA=1/512,_A=16/512,lA=new Dr({id:"prophoto",cssId:"prophoto-rgb",name:"ProPhoto",base:I0,toBase(e){return e.map(t=>t<_A?t/16:t**1.8)},fromBase(e){return e.map(t=>t>=cA?t**(1/1.8):16*t)}}),uA=new qe({id:"oklch",name:"Oklch",coords:{l:{refRange:[0,1],name:"Lightness"},c:{refRange:[0,.4],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},white:"D65",base:hi,fromBase(e){let[t,s,r]=e,o,n=2e-4;return Math.abs(s) | "," | [0,1]"," | "]}}}),D0=Tr.D65,mA=216/24389,Fh=24389/27,[Bh,Wh]=R_({space:ar,coords:D0}),F0=new qe({id:"luv",name:"Luv",coords:{l:{refRange:[0,100],name:"Lightness"},u:{refRange:[-215,215]},v:{refRange:[-215,215]}},white:D0,base:ar,fromBase(e){let t=[Cs(e[0]),Cs(e[1]),Cs(e[2])],s=t[1],[r,o]=R_({space:ar,coords:t});if(!Number.isFinite(r)||!Number.isFinite(o))return[0,0,0];let n=s<=mA?Fh*s:116*Math.cbrt(s)-16;return[n,13*n*(r-Bh),13*n*(o-Wh)]},toBase(e){let[t,s,r]=e;if(t===0||Vn(t))return[0,0,0];s=Cs(s),r=Cs(r);let o=s/(13*t)+Bh,n=r/(13*t)+Wh,i=t<=8?t/Fh:Math.pow((t+16)/116,3);return[i*(9*o/(4*n)),i,i*((12-3*o-20*n)/(4*n))]},formats:{color:{id:"--luv",coords:[" | "," | [-1,1]"," | [-1,1]"]}}}),_m=new qe({id:"lchuv",name:"LChuv",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,220],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:F0,fromBase(e){let[t,s,r]=e,o,n=.02;return Math.abs(s) | "," | "," | "]}}}),pA=216/24389,fA=24389/27,Oh=Ds[0][0],Vh=Ds[0][1],V1=Ds[0][2],Nh=Ds[1][0],qh=Ds[1][1],N1=Ds[1][2],Xh=Ds[2][0],Hh=Ds[2][1],q1=Ds[2][2];function vi(e,t,s){let r=t/(Math.sin(s)-e*Math.cos(s));return r<0?1/0:r}function $_(e){let t=Math.pow(e+16,3)/1560896,s=t>pA?t:e/fA,r=s*(284517*Oh-94839*V1),o=s*(838422*V1+769860*Vh+731718*Oh),n=s*(632260*V1-126452*Vh),i=s*(284517*Nh-94839*N1),d=s*(838422*N1+769860*qh+731718*Nh),c=s*(632260*N1-126452*qh),_=s*(284517*Xh-94839*q1),u=s*(838422*q1+769860*Hh+731718*Xh),m=s*(632260*q1-126452*Hh);return{r0s:r/n,r0i:o*e/n,r1s:r/(n+126452),r1i:(o-769860)*e/(n+126452),g0s:i/c,g0i:d*e/c,g1s:i/(c+126452),g1i:(d-769860)*e/(c+126452),b0s:_/m,b0i:u*e/m,b1s:_/(m+126452),b1i:(u-769860)*e/(m+126452)}}function jh(e,t){let s=t/360*Math.PI*2,r=vi(e.r0s,e.r0i,s),o=vi(e.r1s,e.r1i,s),n=vi(e.g0s,e.g0i,s),i=vi(e.g1s,e.g1i,s),d=vi(e.b0s,e.b0i,s),c=vi(e.b1s,e.b1i,s);return Math.min(r,o,n,i,d,c)}var vA=new qe({id:"hsluv",name:"HSLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:_m,gamutSpace:bi,fromBase(e){let[t,s,r]=[Cs(e[0]),Cs(e[1]),Cs(e[2])],o;return t>99.9999999?(o=0,t=100):t<1e-8?(o=0,t=0):o=s/jh($_(t),r)*100,[r,o,t]},toBase(e){let[t,s,r]=[Cs(e[0]),Cs(e[1]),Cs(e[2])],o;return r>99.9999999?(r=100,o=0):r<1e-8?(r=0,o=0):o=jh($_(r),t)/100*s,[r,o,t]},formats:{color:{id:"--hsluv",coords:[" | "," | "," | "]}}});Ds[0][0];Ds[0][1];Ds[0][2];Ds[1][0];Ds[1][1];Ds[1][2];Ds[2][0];Ds[2][1];Ds[2][2];function yi(e,t){return Math.abs(t)/Math.sqrt(Math.pow(e,2)+1)}function Kh(e){let t=yi(e.r0s,e.r0i),s=yi(e.r1s,e.r1i),r=yi(e.g0s,e.g0i),o=yi(e.g1s,e.g1i),n=yi(e.b0s,e.b0i),i=yi(e.b1s,e.b1i);return Math.min(t,s,r,o,n,i)}var yA=new qe({id:"hpluv",name:"HPLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:_m,gamutSpace:"self",fromBase(e){let[t,s,r]=[Cs(e[0]),Cs(e[1]),Cs(e[2])],o;return t>99.9999999?(o=0,t=100):t<1e-8?(o=0,t=0):o=s/Kh($_(t))*100,[r,o,t]},toBase(e){let[t,s,r]=[Cs(e[0]),Cs(e[1]),Cs(e[2])],o;return r>99.9999999?(r=100,o=0):r<1e-8?(r=0,o=0):o=Kh($_(r))/100*s,[r,o,t]},formats:{color:{id:"--hpluv",coords:[" | "," | "," | "]}}}),Zh=203,Qh=2610/2**14,hA=2**14/2610,xA=2523/2**5,Jh=2**5/2523,e0=3424/2**12,t0=2413/2**7,s0=2392/2**7,gA=new Dr({id:"rec2100pq",cssId:"rec2100-pq",name:"REC.2100-PQ",base:C_,toBase(e){return e.map(function(t){return(Math.max(t**Jh-e0,0)/(t0-s0*t**Jh))**hA*1e4/Zh})},fromBase(e){return e.map(function(t){let s=Math.max(t*Zh/1e4,0);return((e0+t0*s**Qh)/(1+s0*s**Qh))**xA})}}),r0=.17883277,o0=.28466892,n0=.55991073,X1=3.7743,bA=new Dr({id:"rec2100hlg",cssId:"rec2100-hlg",name:"REC.2100-HLG",referred:"scene",base:C_,toBase(e){return e.map(function(t){return t<=.5?t**2/3*X1:(Math.exp((t-n0)/r0)+o0)/12*X1})},fromBase(e){return e.map(function(t){return t/=X1,t<=1/12?Math.sqrt(3*t):r0*Math.log(12*t-o0)+n0})}}),B0={};Nn.add("chromatic-adaptation-start",e=>{e.options.method&&(e.M=W0(e.W1,e.W2,e.options.method))});Nn.add("chromatic-adaptation-end",e=>{e.M||(e.M=W0(e.W1,e.W2,e.options.method))});function z_({id:e,toCone_M:t,fromCone_M:s}){B0[e]=arguments[0]}function W0(e,t,s="Bradford"){let r=B0[s],[o,n,i]=ms(r.toCone_M,e),[d,c,_]=ms(r.toCone_M,t),u=ms([[d/o,0,0],[0,c/n,0],[0,0,_/i]],r.toCone_M);return ms(r.fromCone_M,u)}z_({id:"von Kries",toCone_M:[[.40024,.7076,-.08081],[-.2263,1.16532,.0457],[0,0,.91822]],fromCone_M:[[1.8599363874558397,-1.1293816185800916,.21989740959619328],[.3611914362417676,.6388124632850422,-6370596838649899e-21],[0,0,1.0890636230968613]]});z_({id:"Bradford",toCone_M:[[.8951,.2664,-.1614],[-.7502,1.7135,.0367],[.0389,-.0685,1.0296]],fromCone_M:[[.9869929054667121,-.14705425642099013,.15996265166373122],[.4323052697233945,.5183602715367774,.049291228212855594],[-.00852866457517732,.04004282165408486,.96848669578755]]});z_({id:"CAT02",toCone_M:[[.7328,.4296,-.1624],[-.7036,1.6975,.0061],[.003,.0136,.9834]],fromCone_M:[[1.0961238208355142,-.27886900021828726,.18274517938277307],[.4543690419753592,.4735331543074117,.07209780371722911],[-.009627608738429355,-.00569803121611342,1.0153256399545427]]});z_({id:"CAT16",toCone_M:[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],fromCone_M:[[1.862067855087233,-1.0112546305316845,.14918677544445172],[.3875265432361372,.6214474419314753,-.008973985167612521],[-.01584149884933386,-.03412293802851557,1.0499644368778496]]});Object.assign(Tr,{A:[1.0985,1,.35585],C:[.98074,1,1.18232],D55:[.95682,1,.92149],D75:[.94972,1,1.22638],E:[1,1,1],F2:[.99186,1,.67393],F7:[.95041,1,1.08747],F11:[1.00962,1,.6435]});Tr.ACES=[.32168/.33767,1,.34065/.33767];var O0=new Dr({id:"acescg",cssId:"--acescg",name:"ACEScg",coords:{r:{range:[0,65504],name:"Red"},g:{range:[0,65504],name:"Green"},b:{range:[0,65504],name:"Blue"}},referred:"scene",white:Tr.ACES,toXYZ_M:[[.6624541811085053,.13400420645643313,.1561876870049078],[.27222871678091454,.6740817658111484,.05368951740793705],[-.005574649490394108,.004060733528982826,1.0103391003129971]],fromXYZ_M:[[1.6410233796943257,-.32480329418479,-.23642469523761225],[-.6636628587229829,1.6153315916573379,.016756347685530137],[.011721894328375376,-.008284441996237409,.9883948585390215]]}),S_=2**-16,H1=-.35828683,A_=(Math.log2(65504)+9.72)/17.52,wA=new Dr({id:"acescc",cssId:"--acescc",name:"ACEScc",coords:{r:{range:[H1,A_],name:"Red"},g:{range:[H1,A_],name:"Green"},b:{range:[H1,A_],name:"Blue"}},referred:"scene",base:O0,toBase(e){let t=-.3013698630136986;return e.map(function(s){return s<=t?(2**(s*17.52-9.72)-S_)*2:s1||n===void 0?1:n<0?0:n;for(let i=0;ithis.get(i),set:d=>this.set(i,d)})}get spaceId(){return this.space.id}clone(){return new Ir(this.space,this.coords,this.alpha)}toJSON(){return{spaceId:this.spaceId,coords:this.coords,alpha:this.alpha}}display(...t){let s=CS(this,...t);return s.color=new Ir(s.color),s}static get(t,...s){return t instanceof Ir?t:new Ir(t,...s)}static defineFunction(t,s,r=s){let{instance:o=!0,returns:n}=r,i=function(...d){let c=s(...d);if(n==="color")c=Ir.get(c);else if(n==="function"){let _=c;c=function(...u){let m=_(...u);return Ir.get(m)},Object.assign(c,_)}else n==="array"&&(c=c.map(_=>Ir.get(_)));return c};t in Ir||(Ir[t]=i),o&&(Ir.prototype[t]=function(...d){return i(this,...d)})}static defineFunctions(t){for(let s in t)Ir.defineFunction(s,t[s],t[s])}static extend(t){if(t.register)t.register(Ir);else for(let s in t)Ir.defineFunction(s,t[s])}};Sr.defineFunctions({get:Jr,getAll:zd,set:pn,setAll:nm,to:us,equals:RS,inGamut:Ea,toGamut:qn,distance:v0,toString:kd});Object.assign(Sr,{util:YT,hooks:Nn,WHITES:Tr,Space:qe,spaces:qe.registry,parse:p0,defaults:to});for(let e of Object.keys(a0))qe.register(a0[e]);for(let e in qe.registry)sm(e,qe.registry[e]);Nn.add("colorspace-init-end",e=>{sm(e.id,e),e.aliases?.forEach(t=>{sm(t,e)})});function sm(e,t){let s=e.replace(/-/g,"_");Object.defineProperty(Sr.prototype,s,{get(){let r=this.getAll(e);return typeof Proxy>"u"?r:new Proxy(r,{has:(o,n)=>{try{return qe.resolveCoord([t,n]),!0}catch{}return Reflect.has(o,n)},get:(o,n,i)=>{if(n&&typeof n!="symbol"&&!(n in o)){let{index:d}=qe.resolveCoord([t,n]);if(d>=0)return o[d]}return Reflect.get(o,n,i)},set:(o,n,i,d)=>{if(n&&typeof n!="symbol"&&!(n in o)||n>=0){let{index:c}=qe.resolveCoord([t,n]);if(c>=0)return o[c]=i,this.setAll(e,o),!0}return Reflect.set(o,n,i,d)}})},set(r){this.setAll(e,r)},configurable:!0,enumerable:!0})}Sr.extend(gi);Sr.extend({deltaE:Ed});Object.assign(Sr,{deltaEMethods:gi});Sr.extend(oA);Sr.extend({contrast:JS});Sr.extend(tA);Sr.extend(GS);Sr.extend(aA);Sr.extend(M_);var V0="p3-linear",N0=e=>{V0=e};function TA(e){try{let t=new Sr(e),s=V0==="srgb"?"srgb-linear":"p3-linear",r=t.to(s).coords,o=Number(t.alpha);return{r:Number.isFinite(r?.[0])?r[0]:0,g:Number.isFinite(r?.[1])?r[1]:0,b:Number.isFinite(r?.[2])?r[2]:0,a:Number.isFinite(o)?o:1}}catch{return{r:0,g:0,b:0,a:0}}}var ts=e=>TA(e),ho=e=>{let t=.5,s=.5,r=(n,i=!1)=>{if(typeof n=="number")return n;if(typeof n=="object"&&n!==null)return n.value;let d=n.toLowerCase().trim();if(i){if(d==="top")return 0;if(d==="bottom")return 1;if(d==="center")return .5}else{if(d==="left")return 0;if(d==="right")return 1;if(d==="center")return .5}return console.warn(`Invalid position value: ${n}. Defaulting to center.`),.5};if(typeof e=="string"){let n=e.toLowerCase().trim().split(/\s+/);n.includes("left")?t=0:n.includes("right")?t=1:(n.includes("center")||n.length===1&&(n[0]==="top"||n[0]==="bottom"))&&(t=.5),n.includes("top")?s=0:n.includes("bottom")?s=1:(n.includes("center")||n.length===1&&(n[0]==="left"||n[0]==="right"))&&(s=.5),n.length===1&&n[0]==="center"&&(t=.5,s=.5)}else typeof e=="object"&&e!==null?(t=r(e.x,!1),s=r(e.y,!0)):console.warn(`Invalid position value provided: ${e}. Defaulting to center.`);let o=1-s;return{x:t,y:o}};var q0=e=>({outside:0,center:1,inside:2})[e?.toLowerCase()]??1,Ho=[{label:"Linear RGB",value:"linear"},{label:"OKLCh",value:"oklch"},{label:"OKLAB",value:"oklab"},{label:"HSL",value:"hsl"},{label:"HSV",value:"hsv"},{label:"LCH",value:"lch"}],ir=e=>{let t={linear:0,oklch:1,oklab:2,hsl:3,hsv:4,lch:5}[e.toLowerCase()];return t===void 0?(console.warn(`Invalid color space mode: ${e}. Defaulting to 'linear'.`),0):t};var SA=Object.defineProperty,Za=e=>{let t={};for(var s in e)SA(t,s,{get:e[s],enumerable:!0});return t};function so(e){typeof Symbol[e]>"u"&&Object.defineProperty(Symbol,e,{value:Symbol.for(`Symbol.${e}`),writable:!1,enumerable:!1,configurable:!1})}function X0(e,t){return typeof e?.[t]=="function"}function ad(e,t,s,r){let o=dr.deferOperation;return X0(e,s)&&(o=e[s](e,t)),o===dr.deferOperation&&X0(t,s)&&(o=t[s](e,t)),o===dr.deferOperation?r(e,t):o}var AA=(e,t)=>e+t;function MA(e,t){return(typeof e=="number"||typeof e=="string")&&(typeof t=="number"||typeof t=="string")?e+t:ad(e,t,dr.plus,AA)}var PA=(e,t)=>e-t;function EA(e,t){return typeof e=="number"&&typeof t=="number"?e-t:ad(e,t,dr.minus,PA)}var kA=(e,t)=>e*t;function $A(e,t){return typeof e=="number"&&typeof t=="number"?e*t:ad(e,t,dr.star,kA)}var UA=(e,t)=>e/t;function CA(e,t){return typeof e=="number"&&typeof t=="number"?e/t:ad(e,t,dr.slash,UA)}var RA=(e,t)=>e**t;function zA(e,t){return typeof e=="number"&&typeof t=="number"?e**t:ad(e,t,dr.starStar,RA)}var GA=(e,t)=>e%t;function YA(e,t){return typeof e=="number"&&typeof t=="number"?e%t:ad(e,t,dr.percent,GA)}var dr=(so("deferOperation"),so("operatorPlus"),so("operatorMinus"),so("operatorStar"),so("operatorSlash"),so("operatorStarStar"),so("operatorPercent"),so("operatorEqEq"),so("operatorPrePlusPlus"),so("operatorPreMinusMinus"),so("operatorPostPlusPlus"),so("operatorPostMinusMinus"),so("operatorPreMinus"),globalThis.__tsover_add=MA,globalThis.__tsover_sub=EA,globalThis.__tsover_mul=$A,globalThis.__tsover_div=CA,globalThis.__tsover_pow=zA,globalThis.__tsover_mod=YA,{deferOperation:Symbol.deferOperation,plus:Symbol.operatorPlus,minus:Symbol.operatorMinus,star:Symbol.operatorStar,slash:Symbol.operatorSlash,starStar:Symbol.operatorStarStar,percent:Symbol.operatorPercent,eqEq:Symbol.operatorEqEq,prePlusPlus:Symbol.operatorPrePlusPlus,preMinusMinus:Symbol.operatorPreMinusMinus,postPlusPlus:Symbol.operatorPostPlusPlus,postMinusMinus:Symbol.operatorPostMinusMinus,preMinus:Symbol.operatorPreMinus}),$u=!1,zf=!1,js="0.12.3",B=Symbol(`typegpu:${js}:$internal`),me=Symbol(`typegpu:${js}:$soul`),Hr=Symbol(`typegpu:${js}:$gpuValueOf`),Xs=Symbol(`typegpu:${js}:$getNameForward`),Mr=Symbol(`typegpu:${js}:$providing`),oa=Symbol(`typegpu:${js}:$ownSnippet`),kt=Symbol(`typegpu:${js}:$resolve`),Gf=Symbol(`typegpu:${js}:$cast`),zs=Symbol(`typegpu:${js}:$gpuCallable`),id=Symbol(`typegpu:${js}:$repr`);`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;function mt(e){return!!e?.[B]}var _s={[B]:{},type:"void",toString(){return"void"}},LA=["bool","f32","f16","i32","u32","u16","vec2f","vec2h","vec2i","vec2u","vec2","vec3f","vec3h","vec3i","vec3u","vec3","vec4f","vec4h","vec4i","vec4u","vec4","mat2x2f","mat3x3f","mat4x4f","struct","array","ptr","atomic","decorated","abstractInt","abstractFloat","void","texture_1d","texture_storage_1d","texture_2d","texture_storage_2d","texture_multisampled_2d","texture_depth_2d","texture_depth_multisampled_2d","texture_2d_array","texture_storage_2d_array","texture_depth_2d_array","texture_cube","texture_depth_cube","texture_cube_array","texture_depth_cube_array","texture_3d","texture_storage_3d","texture_external","sampler","sampler_comparison"];function lr(e){let t=e;return mt(t)&&typeof t.kind=="string"&&t.kind.startsWith("vec")}function IA(e){return lr(e)&&e.kind.includes("b")}function DA(e){let t=e;return mt(t)&&typeof t.type=="string"&&t.type.startsWith("vec2")}function FA(e){let t=e;return mt(t)&&typeof t.type=="string"&&t.type.startsWith("vec3")}function BA(e){let t=e;return mt(t)&&typeof t.type=="string"&&t.type.startsWith("vec4")}function Rt(e){return DA(e)||FA(e)||BA(e)}function Yf(e){return Rt(e)&&e.type.includes("b")}function Do(e){let t=e;return mt(t)&&typeof t.kind?.startsWith=="function"&&t.kind.startsWith("mat")}function Kb(e){return mt(e)&&e?.type==="mat2x2f"}function Zb(e){return mt(e)&&e?.type==="mat3x3f"}function WA(e){return mt(e)&&e?.type==="mat4x4f"}function rn(e){return Kb(e)||Zb(e)||WA(e)}function Qb(e){return mt(e)&&["abstractInt","i32","u32"].includes(e?.type)}function OA(e){return Rt(e)&&Qb(e.primitive)}function H0(e){return lr(e)&&["vec2f","vec3f","vec4f"].includes(e.kind)}function bl(e){return lr(e)&&/[iu]$/.test(e.kind)}function Jb(e){return lr(e)&&/[u]$/.test(e.kind)}function Qa(e){return mt(e)&&LA.includes(e?.type)}function Us(e){return mt(e)&&e?.type==="array"}function Qt(e){return mt(e)&&e?.type==="struct"}function pr(e){return mt(e)&&e?.type==="ptr"}function Uu(e){return mt(e)&&e?.type==="atomic"}function e2(e){return mt(e)&&e?.type==="@align"}function t2(e){return mt(e)&&e?.type==="@size"}function s2(e){return mt(e)&&e?.type==="@location"}function VA(e){return mt(e)&&e?.type==="@builtin"}function zn(e){return mt(e)&&e?.type==="decorated"}function Cu(e){return mt(e)&&e.type==="void"}function Kn(e){return mt(e)&&e.type==="bool"}function np(e){let t=e?.type;return mt(e)&&(t==="abstractInt"||t==="abstractFloat"||t==="f32"||t==="f16"||t==="i32"||t==="u32")}function Lf(e){let t=e?.type;return mt(e)&&(t==="f16"||t==="vec2h"||t==="vec3h"||t==="vec4h")}var NA=["abstractInt","abstractFloat","f32","f16","i32","u32","bool"];function Io(e){return!mt(e)||NA.includes(e?.type)}function Ru(e){return e.schema}var qA=["deprecated","suspicious","fallback","precision-loss","implicit-conversion","webgpu-feature-missing","webgpu-limits-exceeded","locations-mismatched","log-limit-exceeded","external-omitted","uniform-schema-misaligned"],XA=class{#e;#t;#s=new WeakMap;constructor(e){e?this.#e=["webgpu-feature-missing","webgpu-limits-exceeded","locations-mismatched","log-limit-exceeded","external-omitted"]:this.#e=qA,this.#t=new Set(this.#e)}disable(e){this.#t.delete(e)}reset(){this.#t=new Set(this.#e)}warn(e,...t){this.#t.has(e)&&console.warn(`\u26A0\uFE0F [${e}] `,...t)}warnOnce(e,t,s,...r){if(!this.#t.has(e))return;let o=this.#s.get(t);o||(o=new Set,this.#s.set(t,o));let n=`${e}:${s}`;o.has(n)||(o.add(n),this.warn(e,...r))}},r2=new XA(!($u||zf)),Vt=r2,o2=r2;function io(e){if(Array.isArray(e))return`[${e.map(io).join(", ")}]`;let t=String(e);if(t!=="[object Object]")return t;try{return JSON.stringify(e)}catch(s){return Vt.warn("suspicious","Error parsing JSON:",s),""}}function ap(e){return lr(e)||Do(e)?e.toString():Array.isArray(e)?`[${e.map(ap).join(", ")}]`:e&&typeof e=="object"?`{ ${Object.entries(e).map(([t,s])=>`${t}: ${ap(s)}`).join(", ")} }`:String(e)}function HA(e){let t={};for(let[s,r]of Object.entries(e))Object.defineProperty(t,s,{get:r,enumerable:!0});return t}function jA(e){if(e.v===1){let t=e.externals;return{...e,externals:typeof t=="function"?t:()=>t}}if(e.v===2){let t=HA(e?.externals);return{...e,externals:()=>t}}throw new Error(`Unrecognized TypeGPU metadata format: ${io(e)}`)}var n2="0.12.3",kn=globalThis;kn.__TYPEGPU_VERSION__!==void 0&&console.warn(`Found duplicate TypeGPU version. First was ${kn.__TYPEGPU_VERSION__}, this one is ${n2}. This may cause unexpected behavior.`);kn.__TYPEGPU_VERSION__=n2;kn.__TYPEGPU_AUTONAME__=(e,t)=>Di(e)&&mt(e)&&!xe(e)?e.$name(t):e;var wl=new WeakMap;function Di(e){return!!e?.$name}function a2(e){return!!e?.[Xs]}function i2(e){return e?.[me]}function xe(e){return a2(e)?xe(e[Xs]):wl.get(e)??i2(e)?.label??kn.__TYPEGPU_META__?.get(e)?.name}function ot(e,t){if(a2(e)){ot(e[Xs],t);return}wl.set(e,t);let s=i2(e);s&&(s.label=t)}var j0=new WeakMap;function If(e){let t=kn.__TYPEGPU_META__?.get(e);if(t){kn.__TYPEGPU_META__?.delete(e);let s=jA(t);j0.set(e,s),t.name&&wl.get(e)===void 0&&wl.set(e,t.name)}return j0.get(e)}function Fi(e){return typeof e=="function"&&!!If(e)}var Df=($u||zf)&&{get enabled(){return!!kn.__TYPEGPU_MEASURE_PERF__},record(e,t){let s=kn.__TYPEGPU_PERF_RECORDS__??=new Map,r=s.get(e);r||(r=[],s.set(e,r)),r.push(t)}}||void 0,lm="Invariant failed";function ds(e,t){if(e)return;if(!$u&&!zf)throw new Error(lm);let s=typeof t=="function"?t():t,r=s?`${lm}: ${s}`:lm;throw new Error(r)}var Pi=class ip extends Error{cause;trace;constructor(t,s){let r=s.map(o=>`- ${Fi(o)?`fn*:${xe(o)}`:o}`);r.length>20&&(r=[...r.slice(0,11),"...",...r.slice(-10)]),super(`Resolution of the following tree failed: +${r.join(` +`)}: ${t&&typeof t=="object"&&"message"in t?t.message:t}`),this.cause=t,this.trace=s,Object.setPrototypeOf(this,ip.prototype)}appendToTrace(t){let s=[t,...this.trace];return new ip(this.cause,s)}},K0=class dp extends Error{cause;trace;constructor(t,s){let r=s.map(o=>`- ${o}`);r.length>20&&(r=[...r.slice(0,11),"...",...r.slice(-10)]),super(`Execution of the following tree failed: +${r.join(` +`)}: ${t&&typeof t=="object"&&"message"in t?t.message:t}`),this.cause=t,this.trace=s,Object.setPrototypeOf(this,dp.prototype)}appendToTrace(t){let s=[t,...this.trace];return new dp(this.cause,s)}},KA=class d2 extends Error{slot;constructor(t){super(`Missing value for '${t}'`),this.slot=t,Object.setPrototypeOf(this,d2.prototype)}},ZA=class c2 extends Error{constructor(t){super(`Buffer '${xe(t)??""}' is not bindable as a uniform. Use .$usage('uniform') to allow it.`),Object.setPrototypeOf(this,c2.prototype)}},QA=class _2 extends Error{constructor(t){super(`Missing bind groups for layouts: '${[...t].map(s=>xe(s)??"").join(", ")}'. Please provide it using pipeline.with(bindGroup).(...)`),Object.setPrototypeOf(this,_2.prototype)}},JA=class l2 extends Error{constructor(t){super(`Missing vertex buffers for layouts: '${[...t].map(s=>xe(s)??"").join(", ")}'. Please provide it using pipeline.with(layout, buffer).(...)`),Object.setPrototypeOf(this,l2.prototype)}},Z0=class u2 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,u2.prototype)}},Q0=class m2 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,m2.prototype)}},Qe=class p2 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,p2.prototype)}},Ts=class f2 extends Error{constructor(t,s){super(`Unsupported data types: ${t.map(r=>r.type).join(", ")}. Supported types are: ${s.map(r=>r.type).join(", ")}.`),Object.setPrototypeOf(this,f2.prototype)}},Cc=class v2 extends Error{constructor(t,s){super(`Cannot convert value '${t}' to type ${s.type} because of the Finite Math Assumption (see: https://www.w3.org/TR/WGSL/#finite-math-assumption)`),Object.setPrototypeOf(this,v2.prototype)}},y2=["uint8","uint8x2","uint8x4","sint8","sint8x2","sint8x4","unorm8","unorm8x2","unorm8x4","snorm8","snorm8x2","snorm8x4","uint16","uint16x2","uint16x4","sint16","sint16x2","sint16x4","unorm16","unorm16x2","unorm16x4","snorm16","snorm16x2","snorm16x4","float16","float16x2","float16x4","float32","float32x2","float32x3","float32x4","uint32","uint32x2","uint32x3","uint32x4","sint32","sint32x2","sint32x3","sint32x4","unorm10-10-10-2","unorm8x4-bgra"],eM={f32:"float32",vec2f:"float32x2",vec3f:"float32x3",vec4f:"float32x4",f16:"float16",vec2h:"float16x2",vec4h:"float16x4",u32:"uint32",vec2u:"uint32x2",vec3u:"uint32x3",vec4u:"uint32x4",i32:"sint32",vec2i:"sint32x2",vec3i:"sint32x3",vec4i:"sint32x4"};function lo(e){return zn(e)||ha(e)?e.inner:e}function Ca(e){return pr(e)?e.inner:e}var tM=["unstruct","disarray","loose-decorated",...y2];function zu(e){return mt(e)&&tM.includes(e?.type)}function Ja(e){return mt(e)&&e?.type==="disarray"}function un(e){return mt(e)&&e?.type==="unstruct"}function ha(e){return mt(e)&&e?.type==="loose-decorated"}function ac(e){return e.attribs?.find(e2)?.params[0]}function sM(e){return e.attribs?.find(t2)?.params[0]}function na(e){return e.attribs?.find(s2)?.params[0]}function Rc(e){return Qa(e)||zu(e)}var Ut=Symbol("UNKNOWN"),h2=class{matrix;constructor(e){this.matrix=e}};function rM(e){return e==="runtime"||e==="constant"?e:"runtime"}function en(e){return!(e.origin==="runtime"||e.origin==="constant")}var oM={uniform:{space:"uniform",access:"read"},readonly:{space:"storage",access:"read"},mutable:{space:"storage",access:"read-write"},workgroup:{space:"workgroup",access:"read-write"},private:{space:"private",access:"read-write"},function:{space:"function",access:"read-write"},"local-def":{space:"function",access:"read-write"}},zc=class{value;dataType;origin;possibleSideEffects;constructor(e,t,s,r){this.value=e,this.dataType=t,this.origin=s,this.possibleSideEffects=r}};function Gc(e){return e instanceof zc}function Qd(e){return np(e.dataType)}function ve(e,t,s,r=!0){if($u&&Gc(e))throw new Error("Cannot nest snippets");return new zc(e,lo(t),s,r)}function Ff(e,t){return new zc(t.value,e,t.origin,t.possibleSideEffects)}function x2(e,t){return new zc(e,t.dataType,t.origin,t.possibleSideEffects)}function nM(e,t){return new zc(t.value,t.dataType,t.origin,e)}function aM(e){return nM(!1,e)}function cp(e){return e?.resourceType==="slot"}function _p(e){return e?.resourceType==="lazy"}function al(e){return e?.[Mr]!==void 0}function dd(e){return e?.resourceType==="accessor"}function cd(e){return e?.resourceType==="mutable-accessor"}var _d=class{type="normal"},iM=class{type="codegen"},dM=class{type="simulate";buffers;vars;constructor(e,t){this.buffers=e,this.vars=t}};function g2(e){return!!e?.[kt]}function Gu(e){return e?.[oa]}function Tl(e){return!!e?.[zs]}function cM(e){return!!e?.[Gf]}function hs(e){return(typeof e.value!="string"||e.dataType===Ut)&&Gu(e.value)===void 0}function _M(e){return typeof e=="number"||typeof e=="boolean"||g2(e)||Qa(e)||cp(e)||_p(e)||al(e)}function Mn(e){return!!e&&typeof e=="object"&&"getMappedRange"in e&&"mapAsync"in e}function hc(e){return e.resourceType==="buffer"}function b2(e){return!!e.usableAsUniform}function Sl(e){return!!e?.usableAsStorage}var il=!1;function lM(e){if(il)return e();try{return il=!0,e()}finally{il=!1}}function Al(){return il}var La;function w2(e,t){if(La===e)return t();let s=La;La=e;try{return t()}finally{La=s}}function Na(){return La}var T2=new _d;function J0(){return La?.mode??T2}function Yu(){return La?.mode.type==="codegen"}function ce(e,...t){let s=Na();function r(n){return Gc(n)?s.resolveSnippet(n).value:n}let o="";for(let n=0;nd!==void 0).map(r).join(", "):i&&(o+=r(i))}return o}function S2(e){return Lu("function",e,"read-write")}function Lu(e,t,s,r=!1){return{[B]:{},type:"ptr",addressSpace:e,inner:t,access:s,implicit:r,toString:()=>`ptr<${e}, ${t}, ${s}>`}}function Bf(e,t){let s=oM[e];if(s)return Lu(s.space,t,s.access)}function A2(e){return Lu(e.addressSpace,e.inner,e.access,!0)}function uM(e){return Lu(e.addressSpace,e.inner,e.access,!1)}var mM=(()=>{let e=(t=>pM(t));return ot(e,"ref"),e.toString=()=>"ref",e[B]=!0,e[zs]={call(t,[s]){if(s.origin==="argument")throw new Qe(ce`d.ref(${s}) is illegal, cannot take a reference of an argument. Copy the value first, and take a reference of the copy.`);if(s.origin==="constant-immutable-def"||s.origin==="runtime-immutable-def"){let o=t.resolve(s.dataType).value;throw new Qe(ce`d.ref(${s}) is illegal, cannot take a reference to a constant. +----- +- Try 'd.ref(${o}(${s}));' instead to create a new referencable value. +-----`)}if(en(s)&&Io(s.dataType)){let o=t.resolve(s.dataType).value;throw new Qe(ce`d.ref(${s}) is illegal, cannot take a reference to a scalar value. +----- +- Try 'd.ref(${o}(${s}));' instead to create a new referencable scalar. +-----`)}if(pr(s.dataType))return Ff(uM(s.dataType),s);let r=Bf(s.origin,s.dataType);return ve(new wn(s,r),r??Ut,"runtime",s.possibleSideEffects)}},e})();function M2(e){return e?.[B]?.type==="ref"}function pM(e){let t={[B]:{type:"ref"},get $(){return e},set $(s){if(s&&typeof s=="object")for(let r of Object.keys(s))e[r]=s[r];else e=s}};if(e==null)throw new Error("Cannot create a ref from undefined or null");return typeof e=="object"?new Proxy(t,{get(s,r){return r in s?s[r]:e[r]},set(s,r,o){return r===B?!1:Reflect.set(r==="$"?t:e,r,o)}}):t}var wn=class{[B];snippet;#e;constructor(e,t){this[B]=!0,this.snippet=e,this.#e=t}get[oa](){if(!this.#e)throw new Error(ce`Cannot take a reference of ${this.snippet}`);return ve(this,this.#e,this.snippet.origin,this.snippet.possibleSideEffects)}[kt](){if(!this.#e)throw new Error(ce`Cannot take a reference of ${this.snippet}`);return ve(ce`(&${this.snippet})`,this.#e,this.snippet.origin,this.snippet.possibleSideEffects)}};function Wf(e){if(!pr(e.dataType))return e;let t=e.dataType.inner;return e.value instanceof wn?ve(ce`${e.value.snippet}`,t,e.origin,e.possibleSideEffects):ve(ce`(*${e})`,t,e.origin,e.possibleSideEffects)}function aa(e,t){let s=e;return cM(s)?s[Gf](t):typeof s!="function"?t:t===void 0?s():s(t)}function P2(e,t,s){if(!Tl(t))return s;let r=t;return s===void 0||s.value===void 0?r[zs].call(e,[]):r[zs].call(e,[s])}function xc(e,t){throw new Error(`Failed to handle ${e} at ${t}`)}function E2(e,t){ds(Qt(e.dataType)||un(e.dataType),"Expected snippet type to be struct/unstruct.");let s=e.dataType.propTypes[t];if(s)return s=lo(s),ve(ce`${e}.${t}`,s,e.origin,e.possibleSideEffects)}var Of={rank:Number.POSITIVE_INFINITY,action:"none"};function Ml(e,t){let s=lo(e),r=lo(t);if(s.type===r.type)return s.type==="struct"&&s!==r?{rank:1,action:"cast",targetType:t}:{rank:0,action:"none"};if(s.type==="abstractFloat"){if(r.type==="f32")return{rank:1,action:"none"};if(r.type==="f16")return{rank:2,action:"none"}}if(s.type==="abstractInt"){if(r.type==="i32")return{rank:3,action:"none"};if(r.type==="u32")return{rank:4,action:"none"};if(r.type==="abstractFloat")return{rank:5,action:"none"};if(r.type==="f32")return{rank:6,action:"none"};if(r.type==="f16")return{rank:7,action:"none"}}return Rt(s)&&Rt(r)&&s.type[3]===r.type[3]?Ml(s.primitive,r.primitive):rn(s)&&rn(r)&&s.type[3]===r.type[3]?{rank:0,action:"none"}:Of}function fM(e,t){let s=lo(e),r=lo(t);if(pr(s)&&s.implicit&&Ml(s.inner,r).rank({sourceIndex:i,action:n.action,...n.action==="cast"&&{targetType:n.targetType}}));return{targetType:r.type,actions:o,hasImplicitConversions:o.some(n=>n.action==="cast")}}function Vf(e,t){if(e.length===0)return;let s=[...new Set((t||e).map(lo))],r=lp(e,s,!1);if(r)return r;let o=lp(e,s,!0);if(o)return o}function yM(e,t,s,r){if(s.action==="none")return r===t.dataType?t:Ff(r,t);switch(s.action){case"ref":return ve(new wn(t,r),r,t.origin,t.possibleSideEffects);case"deref":return Wf(t);case"cast":if(Qt(t.dataType)&&Qt(r)){let o=xe(t.dataType)??"",n=xe(r)??"";if(t.possibleSideEffects)throw new Error(`Cannot resolve struct cast from '${o}' to '${n}'. Store the value to a variable first, then cast it.`);let i=Object.entries(r.propTypes).map(([c,_])=>{let u=E2(t,c);if(!u)throw new Error(`Cannot auto-convert struct '${o}' to '${n}' because the property '${c}' is missing.`);let m=Qn(e,[u],[_]);if(!m||!m[0])throw new Error(`Cannot auto-convert struct '${o}' to '${n}' because type '${xe(u.dataType)??""}' is not convertible to '${xe(lo(_))??""}'.`);return m[0]}),d=e.resolve(r).value;return ve(`${d}(${i.map(c=>c.value).join(", ")})`,r,"runtime",!1)}return P2(e,r,t);default:xc(s.action,"applyActionToSnippet")}}function fr(e,t){if(e.some(r=>r===Ut))return;let s=Vf(e,t);if(s)return e.map(r=>Rt(r)||rn(r)?r:s.targetType)}function Iu(e,t){if(e.some(r=>r===Ut))return;let s=lp(e,[...new Set((t||e).map(lo))],!1);if(s)return e.map(r=>Rt(r)||rn(r)?r:s.targetType)}function Qn(e,t,s,r=!0){let o=t.map(i=>i.dataType);if(o.some(i=>i===Ut))return;ds(!(Array.isArray(s)&&s.length===0),"Internal error, expected 'restrictTo' to not be an empty array.");let n=Vf(o,s);if(n)return r&&n.hasImplicitConversions&&Vt.warn("implicit-conversion",`Implicit conversions from [ +${t.map(i=>` ${e.resolveSnippet(i).value}: ${io(i.dataType)}`).join(`, +`)} +] to ${n.targetType.type} are supported, but not recommended. +Consider using explicit conversions instead.`),t.map((i,d)=>{let c=n.actions[d];return ds(c,"Action should not be undefined"),yM(e,i,c,n.targetType)})}function Fr(e,t,s,r=!0){let o=Array.isArray(s)?s:[s],{value:n,dataType:i,origin:d,possibleSideEffects:c}=t;if(o.length===1){let u=o[0];if(u===i)return ve(n,u,d,c);if(i===Ut)return e.resolveSnippet(ve(n,u,d,c))}let _=Qn(e,[t],o,r);if(_)return _[0];throw new Qe(`Cannot convert value of type '${String(i)}' to any of the target types: [${o.map(u=>u.type).join(", ")}]`)}function ex(e,t,s){return Object.entries(t.propTypes).map(([r,o])=>{let n=s[r];if(!n)throw new Error(`Missing property ${r}`);return Qn(e,[n],[o])?.[0]??n})}function ei(e){let t=((...s)=>e.normalImpl(...s));return ot(t,e.name),t.toString=()=>e.name,t[zs]={get strictSignature(){},call(s,r){let o=e.argTypes(...r.map(d=>pr(d.dataType)&&d.dataType.implicit?d.dataType.inner:d.dataType)),n=r.map((d,c)=>{let _=o[c];if(!_)throw new Error("Function called with invalid arguments");return Fr(s,d,_,!1)}),i;if(n.every(d=>hs(d))){s.pushMode(new _d);try{i=ve(e.normalImpl(...n.map(d=>d.value)),e.schema(),"constant")}finally{s.popMode("normal")}}else i=e.codegenImpl(s,n);return r.some(d=>d.possibleSideEffects)?i:aM(i)}},t}var hM=ei({name:"bool",schema:()=>ft,argTypes:e=>e?[e]:[],normalImpl(e=!1){if(typeof e=="boolean")return e;if(typeof e=="number"){if(!Number.isFinite(e))throw new Cc(e,ft);return!!e}throw new Error(`Invalid argument type for 'd.bool'. Got '${typeof e}', expected number or boolean`)},codegenImpl:(e,[t])=>{if(t===void 0)return e.gen.typeInstantiation(ft,[]);if(Kn(t.dataType)||Qd(t))return e.gen.typeInstantiation(ft,[t]);throw t.dataType===Ut?new Qe("Unknown argument type for 'd.bool'."):new Ts([t.dataType],[ft,R,Z,a,xs])}}),ft=Object.assign(hM,{[B]:{},type:"bool"}),xM=ei({name:"u32",schema:()=>R,argTypes:e=>e?[e]:[],normalImpl(e){if(e===void 0)return 0;if(typeof e=="boolean")return e?1:0;if(!Number.isFinite(e))throw new Cc(e,R);if(!Number.isInteger(e)){let t=Math.trunc(e);return t<0?0:t>4294967295?4294967295:t}return(e&4294967295)>>>0},codegenImpl:(e,[t])=>e.gen.typeInstantiation(R,t?[t]:[])}),R=Object.assign(xM,{[B]:{},type:"u32"}),gM=ei({name:"i32",schema:()=>Z,argTypes:e=>e?[e]:[],normalImpl(e){if(e===void 0)return 0;if(typeof e=="boolean")return e?1:0;if(!Number.isFinite(e))throw new Cc(e,Z);return e|0},codegenImpl:(e,[t])=>e.gen.typeInstantiation(Z,t?[t]:[])}),nI={[B]:{},type:"u16"},Z=Object.assign(gM,{[B]:{},type:"i32"}),bM=ei({name:"f32",schema:()=>a,argTypes:e=>e?[e]:[],normalImpl(e){if(e===void 0)return 0;if(typeof e=="boolean")return e?1:0;if(!Number.isFinite(e))throw new Cc(e,a);return Math.fround(e)},codegenImpl:(e,[t])=>e.gen.typeInstantiation(a,t?[t]:[])}),a=Object.assign(bM,{[B]:{},type:"f32"}),k2=new ArrayBuffer(4),wM=new Float32Array(k2),TM=new Uint32Array(k2);function Pl(e){wM[0]=e;let t=TM[0],s=t>>>31&1,r=t>>>23&255,o=t&8388607;if(r===255)return s<<15|31744|(o?512:0);if(r=r-127+15,r<=0){if(r<-10)return s<<15;let c=o|8388608,_=14-r,u=c>>>_-1&1,m=c&(1<<_-1)-1?1:0,p=c>>>_;return u&(m|p&1)&&(p+=1),s<<15|p}if(r>=31)return s<<15|31744;let n=o>>>12&1,i=o&4095?1:0,d=o>>>13;return n&(i|d&1)&&(d+=1),d===1024&&(d=0,++r,r>=31)?s<<15|31744:s<<15|r<<10|d}function Nf(e){let t=e&32768?-1:1,s=e>>10&31,r=e&1023;return s===0?r?t*r*2**-24:t*0:s===31?r?NaN:t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t*(1+r/1024)*2**(s-15)}function SM(e){return Nf(Pl(e))}var AM=ei({name:"f16",schema:()=>xs,argTypes:e=>e?[e]:[],normalImpl(e){if(e===void 0)return 0;if(typeof e=="boolean")return e?1:0;if(!Number.isFinite(e))throw new Cc(e,xs);return SM(e)},codegenImpl:(e,[t])=>e.gen.typeInstantiation(xs,t?[t]:[])}),xs=Object.assign(AM,{[B]:{},type:"f16"}),Yc={[B]:{},type:"abstractInt",toString(){return"abstractInt"},concretized:Z},qa={[B]:{},type:"abstractFloat",toString(){return"abstractFloat"},concretized:a};function on(e){return e>=2**63||e<-(2**63)?ve(e,qa,"constant",!1):Number.isInteger(e)?(Number.isSafeInteger(e)||Vt.warn("precision-loss",`The integer ${e} exceeds the safe integer range and may have lost precision.`),ve(e,Yc,"constant",!1)):ve(e,qa,"constant",!1)}function no(e){return e.type==="abstractFloat"?a:e.type==="abstractInt"?Z:e}function MM(e){return Ff(no(e.dataType),e)}function Wr(e){if(Gc(e))return e;if(M2(e))throw new Error("Cannot use refs (d.ref(...)) from the outer scope.");let t=Gu(e);return t||(lr(e)||Do(e)?ve(e,Ru(e),"constant",!1):typeof e=="number"?on(e):typeof e=="boolean"?ve(e,ft,"constant",!1):ve(e,Ut,"constant",!1))}var ic=class{[B]=!0;type;elements;constructor(e,t){this.type=e,this.elements=t}toString(){return"ArrayExpression"}[kt](e){for(let t of this.elements)if(en(t)&&!Io(t.dataType)){let s=e.resolveSnippet(t).value,r=e.resolve(no(t.dataType)).value;throw new Qe(`'${s}' reference cannot be used in an array constructor. +----- +Try '${r}(${s})' or 'arrayOf(${r}, count)([...])' to copy the value instead. +-----`)}return e.gen.typeInstantiation(this.type,this.elements)}};function Ao(e){let t=((...s)=>e(...s));return t.toString=()=>"comptime",t[Xs]=e,t[zs]={call(s,r){if(!r.every(o=>hs(o)))throw new Qe(`Called comptime function with runtime-known values: ${r.filter(o=>!hs(o)).map(o=>`'${o.value}'`).join(", ")}`);s.pushMode(new _d);try{return Wr(e(...r.map(o=>o.value)))}finally{s.popMode()}}},t.$name=s=>(ot(e,s),t),Object.defineProperty(t,B,{value:{isComptime:!0}}),t}var Ys=class extends Error{constructor(e){super(e),this.name=this.constructor.name}};function pe(e){let t=((...s)=>{if(typeof e.normalImpl=="string")throw new Ys(e.normalImpl);return e.normalImpl(...s)});return e.name&&ot(t,e.name),t.toString=()=>e.name??"",t[zs]={get strictSignature(){return typeof e.signature!="function"?e.signature:void 0},call(s,r){let{argTypes:o,returnType:n}=typeof e.signature=="function"?e.signature(...r.map(_=>pr(_.dataType)&&_.dataType.implicit?_.dataType.inner:_.dataType)):e.signature,i=r.map((_,u)=>{let m=o[u];if(!m)throw new Error("Function called with invalid arguments");return Fr(s,_,m,!e.ignoreImplicitCastWarning)});if(!e.noComptime&&i.every(_=>hs(_))&&typeof e.normalImpl=="function"){s.pushMode(new _d);try{return ve(e.normalImpl(...i.map(_=>_.value)),n,"constant",e.sideEffects)}catch(_){if(!(_ instanceof Ys))throw _}finally{s.popMode("normal")}}let d=e.sideEffects||r.some(_=>_.possibleSideEffects),c=no(n);return ve(e.codegenImpl(s,i,c),c,"runtime",d)}},t}var fn=["x","y","z","w"],vn=["r","g","b","a"],tn=class Ua extends Array{static#e=(()=>{for(let t=0;t<4;t++)for(let s=0;s<4;s++)for(let r=0;r<4;r++)for(let o=0;o<4;o++){let n=`${fn[t]}${fn[s]}${fn[r]}${fn[o]}`,i=`${vn[t]}${vn[s]}${vn[r]}${vn[o]}`;Object.defineProperty(Ua.prototype,n,{get(){return new this._Vec4(this[t],this[s],this[r],this[o])}}),Object.defineProperty(Ua.prototype,i,{get(){return new this._Vec4(this[t],this[s],this[r],this[o])}})}for(let t=0;t<4;t++)for(let s=0;s<4;s++)for(let r=0;r<4;r++){let o=`${fn[t]}${fn[s]}${fn[r]}`,n=`${vn[t]}${vn[s]}${vn[r]}`;Object.defineProperty(Ua.prototype,o,{get(){return new this._Vec3(this[t],this[s],this[r])}}),Object.defineProperty(Ua.prototype,n,{get(){return new this._Vec3(this[t],this[s],this[r])}})}for(let t=0;t<4;t++)for(let s=0;s<4;s++){let r=`${fn[t]}${fn[s]}`,o=`${vn[t]}${vn[s]}`;Object.defineProperty(Ua.prototype,r,{get(){return new this._Vec2(this[t],this[s])}}),Object.defineProperty(Ua.prototype,o,{get(){return new this._Vec2(this[t],this[s])}})}})();castElement(){return this[B].elementSchema}[kt](t){let s=Ru(this);return this.every(r=>!r)?t.gen.typeInstantiation(s,[]):this.every(r=>this[0]===r)?t.gen.typeInstantiation(s,[on(this[0])]):t.gen.typeInstantiation(s,this.map(r=>on(r)))}toString(){return`${this.kind}(${this.join(", ")})`}},Lc=class extends tn{e0;e1;constructor(e,t){super(2),this.e0=this.castElement()(e),this.e1=this.castElement()(t??e)}get 0(){return this.e0}get 1(){return this.e1}set 0(e){this.e0=this.castElement()(e)}set 1(e){this.e1=this.castElement()(e)}get x(){return this[0]}get y(){return this[1]}set x(e){this[0]=this.castElement()(e)}set y(e){this[1]=this.castElement()(e)}get r(){return this[0]}get g(){return this[1]}set r(e){this[0]=this.castElement()(e)}set g(e){this[1]=this.castElement()(e)}},Ic=class extends tn{e0;e1;e2;constructor(e,t,s){super(3),this.e0=this.castElement()(e),this.e1=this.castElement()(t??e),this.e2=this.castElement()(s??e)}get 0(){return this.e0}get 1(){return this.e1}get 2(){return this.e2}set 0(e){this.e0=this.castElement()(e)}set 1(e){this.e1=this.castElement()(e)}set 2(e){this.e2=this.castElement()(e)}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}set x(e){this[0]=this.castElement()(e)}set y(e){this[1]=this.castElement()(e)}set z(e){this[2]=this.castElement()(e)}get r(){return this[0]}get g(){return this[1]}get b(){return this[2]}set r(e){this[0]=this.castElement()(e)}set g(e){this[1]=this.castElement()(e)}set b(e){this[2]=this.castElement()(e)}},Dc=class extends tn{e0;e1;e2;e3;constructor(e,t,s,r){super(4),this.e0=this.castElement()(e),this.e1=this.castElement()(t??e),this.e2=this.castElement()(s??e),this.e3=this.castElement()(r??e)}get 0(){return this.e0}get 1(){return this.e1}get 2(){return this.e2}get 3(){return this.e3}set 0(e){this.e0=this.castElement()(e)}set 1(e){this.e1=this.castElement()(e)}set 2(e){this.e2=this.castElement()(e)}set 3(e){this.e3=this.castElement()(e)}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}get w(){return this[3]}set x(e){this[0]=e}set y(e){this[1]=e}set z(e){this[2]=e}set w(e){this[3]=e}get r(){return this[0]}get g(){return this[1]}get b(){return this[2]}get a(){return this[3]}set r(e){this[0]=e}set g(e){this[1]=e}set b(e){this[2]=e}set a(e){this[3]=e}},qf=class $2 extends Lc{get[B](){return{elementSchema:a}}get kind(){return"vec2f"}get _Vec2(){return $2}get _Vec3(){return Zf}get _Vec4(){return sv}},Xf=class U2 extends Lc{get[B](){return{elementSchema:xs}}get kind(){return"vec2h"}get _Vec2(){return U2}get _Vec3(){return Qf}get _Vec4(){return rv}},Hf=class C2 extends Lc{get[B](){return{elementSchema:Z}}get kind(){return"vec2i"}get _Vec2(){return C2}get _Vec3(){return Jf}get _Vec4(){return ov}},jf=class R2 extends Lc{get[B](){return{elementSchema:R}}get kind(){return"vec2u"}get _Vec2(){return R2}get _Vec3(){return ev}get _Vec4(){return nv}},Kf=class z2 extends Lc{get[B](){return{elementSchema:ft}}get kind(){return"vec2"}get _Vec2(){return z2}get _Vec3(){return tv}get _Vec4(){return av}},Zf=class G2 extends Ic{get[B](){return{elementSchema:a}}get kind(){return"vec3f"}get _Vec2(){return qf}get _Vec3(){return G2}get _Vec4(){return sv}},Qf=class Y2 extends Ic{get[B](){return{elementSchema:xs}}get kind(){return"vec3h"}get _Vec2(){return Xf}get _Vec3(){return Y2}get _Vec4(){return rv}},Jf=class L2 extends Ic{get[B](){return{elementSchema:Z}}get kind(){return"vec3i"}get _Vec2(){return Hf}get _Vec3(){return L2}get _Vec4(){return ov}},ev=class I2 extends Ic{get[B](){return{elementSchema:R}}get kind(){return"vec3u"}get _Vec2(){return jf}get _Vec3(){return I2}get _Vec4(){return nv}},tv=class D2 extends Ic{get[B](){return{elementSchema:ft}}get kind(){return"vec3"}get _Vec2(){return Kf}get _Vec3(){return D2}get _Vec4(){return av}},sv=class F2 extends Dc{get[B](){return{elementSchema:a}}get kind(){return"vec4f"}get _Vec2(){return qf}get _Vec3(){return Zf}get _Vec4(){return F2}},rv=class B2 extends Dc{get[B](){return{elementSchema:xs}}get kind(){return"vec4h"}get _Vec2(){return Xf}get _Vec3(){return Qf}get _Vec4(){return B2}},ov=class W2 extends Dc{get[B](){return{elementSchema:Z}}get kind(){return"vec4i"}get _Vec2(){return Hf}get _Vec3(){return Jf}get _Vec4(){return W2}},nv=class O2 extends Dc{get[B](){return{elementSchema:R}}get kind(){return"vec4u"}get _Vec2(){return jf}get _Vec3(){return ev}get _Vec4(){return O2}},av=class V2 extends Dc{get[B](){return{elementSchema:ft}}get kind(){return"vec4"}get _Vec2(){return Kf}get _Vec3(){return tv}get _Vec4(){return V2}},lt=Er(qf,a),Vs=Er(Xf,xs),Xt=Er(Hf,Z),Ct=Er(jf,R),Or=Er(Kf,ft),It=Er(Zf,a),Pr=Er(Qf,xs),cs=Er(Jf,Z),gt=Er(ev,R),Vr=Er(tv,ft),Oe=Er(sv,a),Ns=Er(rv,xs),Wt=Er(ov,Z),Et=Er(nv,R),Nr=Er(av,ft),PM={vec2f:lt,vec2h:Vs,vec2i:Xt,vec2u:Ct,"vec2":Or,vec3f:It,vec3h:Pr,vec3i:cs,vec3u:gt,"vec3":Vr,vec4f:Oe,vec4h:Ns,vec4i:Wt,vec4u:Et,"vec4":Nr};function Er(e,t){let{kind:s,length:r}=new e,o=r,i=ei({name:s,schema:()=>d,argTypes:(...c)=>c.map(_=>Rt(_)?_:t),normalImpl:(...c)=>{let _=Array.from({length:c.length}),u=0;for(let m of c)if(typeof m=="number"||typeof m=="boolean")_[u++]=m;else for(let p=0;pc.gen.typeInstantiation(d,_)}),d=Object.assign(i,{[B]:{},type:s,primitive:t,componentCount:o,[id]:void 0});return e.prototype.schema=d,d}var Ci=class{};function iv(e){let t=ei({name:e.type,schema:()=>s,normalImpl:(...r)=>{let o=[];for(let n of r)if(typeof n=="number")o.push(n);else for(let i=0;ir.map(o=>Rt(o)?o:a),codegenImpl:(r,o)=>r.gen.typeInstantiation(s,o)}),s=Object.assign(t,{[B]:{},type:e.type,primitive:a,identity:LM[e.columns],translation:e.columns===4?IM:void 0,scaling:e.columns===4?DM:void 0,rotationX:e.columns===4?FM:void 0,rotationY:e.columns===4?BM:void 0,rotationZ:e.columns===4?WM:void 0});return e.MatImpl.prototype.schema=s,s}var tx=[0,1,2,3],EM=class extends Ci{[B]=!0;columns;length=4;constructor(...e){super(),this.columns=[this.makeColumn(e[0],e[1]),this.makeColumn(e[2],e[3])]}get 0(){return this.columns[0].x}get 1(){return this.columns[0].y}get 2(){return this.columns[1].x}get 3(){return this.columns[1].y}set 0(e){this.columns[0].x=e}set 1(e){this.columns[0].y=e}set 2(e){this.columns[1].x=e}set 3(e){this.columns[1].y=e}*[Symbol.iterator](){yield this[0],yield this[1],yield this[2],yield this[3]}[kt](e){return e.gen.typeInstantiation(Gn,tx.map(t=>on(this[t])))}toString(){return`${this.kind}(${tx.map(e=>this[e]).join(", ")})`}},kM=class extends EM{kind="mat2x2f";makeColumn(e,t){return lt(e,t)}},sx=[0,1,2,4,5,6,8,9,10],$M=class extends Ci{[B]=!0;columns;length=12;constructor(...e){super(),this.columns=[this.makeColumn(e[0],e[1],e[2]),this.makeColumn(e[3],e[4],e[5]),this.makeColumn(e[6],e[7],e[8])]}get 0(){return this.columns[0].x}get 1(){return this.columns[0].y}get 2(){return this.columns[0].z}get 3(){return 0}get 4(){return this.columns[1].x}get 5(){return this.columns[1].y}get 6(){return this.columns[1].z}get 7(){return 0}get 8(){return this.columns[2].x}get 9(){return this.columns[2].y}get 10(){return this.columns[2].z}get 11(){return 0}set 0(e){this.columns[0].x=e}set 1(e){this.columns[0].y=e}set 2(e){this.columns[0].z=e}set 3(e){}set 4(e){this.columns[1].x=e}set 5(e){this.columns[1].y=e}set 6(e){this.columns[1].z=e}set 7(e){}set 8(e){this.columns[2].x=e}set 9(e){this.columns[2].y=e}set 10(e){this.columns[2].z=e}set 11(e){}*[Symbol.iterator](){for(let e=0;e<12;e++)yield this[e]}[kt](e){return e.gen.typeInstantiation(Yn,sx.map(t=>on(this[t])))}toString(){return`${this.kind}(${sx.map(e=>this[e]).join(", ")})`}},UM=class extends $M{kind="mat3x3f";makeColumn(e,t,s){return It(e,t,s)}},rx=Array.from({length:16},(e,t)=>t),CM=class extends Ci{[B]=!0;columns;constructor(...e){super(),this.columns=[this.makeColumn(e[0],e[1],e[2],e[3]),this.makeColumn(e[4],e[5],e[6],e[7]),this.makeColumn(e[8],e[9],e[10],e[11]),this.makeColumn(e[12],e[13],e[14],e[15])]}length=16;get 0(){return this.columns[0].x}get 1(){return this.columns[0].y}get 2(){return this.columns[0].z}get 3(){return this.columns[0].w}get 4(){return this.columns[1].x}get 5(){return this.columns[1].y}get 6(){return this.columns[1].z}get 7(){return this.columns[1].w}get 8(){return this.columns[2].x}get 9(){return this.columns[2].y}get 10(){return this.columns[2].z}get 11(){return this.columns[2].w}get 12(){return this.columns[3].x}get 13(){return this.columns[3].y}get 14(){return this.columns[3].z}get 15(){return this.columns[3].w}set 0(e){this.columns[0].x=e}set 1(e){this.columns[0].y=e}set 2(e){this.columns[0].z=e}set 3(e){this.columns[0].w=e}set 4(e){this.columns[1].x=e}set 5(e){this.columns[1].y=e}set 6(e){this.columns[1].z=e}set 7(e){this.columns[1].w=e}set 8(e){this.columns[2].x=e}set 9(e){this.columns[2].y=e}set 10(e){this.columns[2].z=e}set 11(e){this.columns[2].w=e}set 12(e){this.columns[3].x=e}set 13(e){this.columns[3].y=e}set 14(e){this.columns[3].z=e}set 15(e){this.columns[3].w=e}*[Symbol.iterator](){for(let e=0;e<16;e++)yield this[e]}[kt](e){return e.gen.typeInstantiation(Hs,rx.map(t=>on(this[t])))}toString(){return`${this.kind}(${rx.map(e=>this[e]).join(", ")})`}},RM=class extends CM{kind="mat4x4f";makeColumn(e,t,s,r){return Oe(e,t,s,r)}},zM=Ao(()=>Gn(1,0,0,1)).$name("identity2"),GM=Ao(()=>Yn(1,0,0,0,1,0,0,0,1)).$name("identity3"),YM=Ao(()=>Hs(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)).$name("identity4"),LM={2:zM,3:GM,4:YM},IM=pe({name:"translation4",normalImpl:e=>Hs(1,0,0,0,0,1,0,0,0,0,1,0,e.x,e.y,e.z,1),get signature(){return{argTypes:[It],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, ${t}.x, ${t}.y, ${t}.z, 1)`,sideEffects:!1}),DM=pe({name:"scaling4",normalImpl:e=>Hs(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1),get signature(){return{argTypes:[It],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(${t}.x, 0, 0, 0, 0, ${t}.y, 0, 0, 0, 0, ${t}.z, 0, 0, 0, 0, 1)`,sideEffects:!1}),FM=pe({name:"rotationX4",normalImpl:e=>Hs(1,0,0,0,0,Math.cos(e),Math.sin(e),0,0,-Math.sin(e),Math.cos(e),0,0,0,0,1),get signature(){return{argTypes:[a],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(1, 0, 0, 0, 0, cos(${t}), sin(${t}), 0, 0, -sin(${t}), cos(${t}), 0, 0, 0, 0, 1)`,sideEffects:!1}),BM=pe({name:"rotationY4",normalImpl:e=>Hs(Math.cos(e),0,-Math.sin(e),0,0,1,0,0,Math.sin(e),0,Math.cos(e),0,0,0,0,1),get signature(){return{argTypes:[a],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(cos(${t}), 0, -sin(${t}), 0, 0, 1, 0, 0, sin(${t}), 0, cos(${t}), 0, 0, 0, 0, 1)`,sideEffects:!1}),WM=pe({name:"rotationZ4",normalImpl:e=>Hs(Math.cos(e),Math.sin(e),0,0,-Math.sin(e),Math.cos(e),0,0,0,0,1,0,0,0,0,1),get signature(){return{argTypes:[a],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(cos(${t}), sin(${t}), 0, 0, -sin(${t}), cos(${t}), 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)`,sideEffects:!1}),Gn=iv({type:"mat2x2f",rows:2,columns:2,MatImpl:kM}),Yn=iv({type:"mat3x3f",rows:3,columns:3,MatImpl:UM}),Hs=iv({type:"mat4x4f",rows:4,columns:4,MatImpl:RM});var OM=(e,t,s)=>{if(e===t)return 0;let r=N2((s-e)/(t-e),0,1);return r*r*(3-2*r)},N2=(e,t,s)=>Math.min(Math.max(t,e),s),dv=new ArrayBuffer(4),q2=new Float32Array(dv),cv=new Uint32Array(dv),VM=new Int32Array(dv);function Zo(e){return cv[0]=e,q2[0]}function Qo(e){return cv[0]=e,VM[0]}function Jo(e){return q2[0]=e,cv[0]}var ox=e=>Math.sqrt(e.x**2+e.y**2),nx=e=>Math.sqrt(e.x**2+e.y**2+e.z**2),ax=e=>Math.sqrt(e.x**2+e.y**2+e.z**2+e.w**2),G_=(e,t)=>e.x*t.x+e.y*t.y,Y_=(e,t)=>e.x*t.x+e.y*t.y+e.z*t.z,L_=(e,t)=>e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w,ix=e=>(t,s)=>Ct(e(t.x,s.x),e(t.y,s.y)),dx=e=>(t,s)=>gt(e(t.x,s.x),e(t.y,s.y),e(t.z,s.z)),cx=e=>(t,s)=>Et(e(t.x,s.x),e(t.y,s.y),e(t.z,s.z),e(t.w,s.w)),_x=e=>(t,s)=>Xt(e(t.x,s.x),e(t.y,s.y)),lx=e=>(t,s)=>cs(e(t.x,s.x),e(t.y,s.y),e(t.z,s.z)),ux=e=>(t,s)=>Wt(e(t.x,s.x),e(t.y,s.y),e(t.z,s.z),e(t.w,s.w)),qr={all:{"vec2":e=>e.x&&e.y,"vec3":e=>e.x&&e.y&&e.z,"vec4":e=>e.x&&e.y&&e.z&&e.w},length:{vec2f:ox,vec2h:ox,vec3f:nx,vec3h:nx,vec4f:ax,vec4h:ax},mulMxM:{mat2x2f:(e,t)=>{let s=e.columns,r=t.columns;return Gn(s[0].x*r[0].x+s[1].x*r[0].y,s[0].y*r[0].x+s[1].y*r[0].y,s[0].x*r[1].x+s[1].x*r[1].y,s[0].y*r[1].x+s[1].y*r[1].y)},mat3x3f:(e,t)=>{let s=e.columns,r=t.columns;return Yn(s[0].x*r[0].x+s[1].x*r[0].y+s[2].x*r[0].z,s[0].y*r[0].x+s[1].y*r[0].y+s[2].y*r[0].z,s[0].z*r[0].x+s[1].z*r[0].y+s[2].z*r[0].z,s[0].x*r[1].x+s[1].x*r[1].y+s[2].x*r[1].z,s[0].y*r[1].x+s[1].y*r[1].y+s[2].y*r[1].z,s[0].z*r[1].x+s[1].z*r[1].y+s[2].z*r[1].z,s[0].x*r[2].x+s[1].x*r[2].y+s[2].x*r[2].z,s[0].y*r[2].x+s[1].y*r[2].y+s[2].y*r[2].z,s[0].z*r[2].x+s[1].z*r[2].y+s[2].z*r[2].z)},mat4x4f:(e,t)=>{let s=e.columns,r=t.columns;return Hs(s[0].x*r[0].x+s[1].x*r[0].y+s[2].x*r[0].z+s[3].x*r[0].w,s[0].y*r[0].x+s[1].y*r[0].y+s[2].y*r[0].z+s[3].y*r[0].w,s[0].z*r[0].x+s[1].z*r[0].y+s[2].z*r[0].z+s[3].z*r[0].w,s[0].w*r[0].x+s[1].w*r[0].y+s[2].w*r[0].z+s[3].w*r[0].w,s[0].x*r[1].x+s[1].x*r[1].y+s[2].x*r[1].z+s[3].x*r[1].w,s[0].y*r[1].x+s[1].y*r[1].y+s[2].y*r[1].z+s[3].y*r[1].w,s[0].z*r[1].x+s[1].z*r[1].y+s[2].z*r[1].z+s[3].z*r[1].w,s[0].w*r[1].x+s[1].w*r[1].y+s[2].w*r[1].z+s[3].w*r[1].w,s[0].x*r[2].x+s[1].x*r[2].y+s[2].x*r[2].z+s[3].x*r[2].w,s[0].y*r[2].x+s[1].y*r[2].y+s[2].y*r[2].z+s[3].y*r[2].w,s[0].z*r[2].x+s[1].z*r[2].y+s[2].z*r[2].z+s[3].z*r[2].w,s[0].w*r[2].x+s[1].w*r[2].y+s[2].w*r[2].z+s[3].w*r[2].w,s[0].x*r[3].x+s[1].x*r[3].y+s[2].x*r[3].z+s[3].x*r[3].w,s[0].y*r[3].x+s[1].y*r[3].y+s[2].y*r[3].z+s[3].y*r[3].w,s[0].z*r[3].x+s[1].z*r[3].y+s[2].z*r[3].z+s[3].z*r[3].w,s[0].w*r[3].x+s[1].w*r[3].y+s[2].w*r[3].z+s[3].w*r[3].w)}},mulMxV:{mat2x2f:(e,t)=>{let s=e.columns;return lt(s[0].x*t.x+s[1].x*t.y,s[0].y*t.x+s[1].y*t.y)},mat3x3f:(e,t)=>{let s=e.columns;return It(s[0].x*t.x+s[1].x*t.y+s[2].x*t.z,s[0].y*t.x+s[1].y*t.y+s[2].y*t.z,s[0].z*t.x+s[1].z*t.y+s[2].z*t.z)},mat4x4f:(e,t)=>{let s=e.columns;return Oe(s[0].x*t.x+s[1].x*t.y+s[2].x*t.z+s[3].x*t.w,s[0].y*t.x+s[1].y*t.y+s[2].y*t.z+s[3].y*t.w,s[0].z*t.x+s[1].z*t.y+s[2].z*t.z+s[3].z*t.w,s[0].w*t.x+s[1].w*t.y+s[2].w*t.z+s[3].w*t.w)}},mulVxM:{mat2x2f:(e,t)=>{let s=t.columns;return lt(e.x*s[0].x+e.y*s[0].y,e.x*s[1].x+e.y*s[1].y)},mat3x3f:(e,t)=>{let s=t.columns;return It(e.x*s[0].x+e.y*s[0].y+e.z*s[0].z,e.x*s[1].x+e.y*s[1].y+e.z*s[1].z,e.x*s[2].x+e.y*s[2].y+e.z*s[2].z)},mat4x4f:(e,t)=>{let s=t.columns;return Oe(e.x*s[0].x+e.y*s[0].y+e.z*s[0].z+e.w*s[0].w,e.x*s[1].x+e.y*s[1].y+e.z*s[1].z+e.w*s[1].w,e.x*s[2].x+e.y*s[2].y+e.z*s[2].z+e.w*s[2].w,e.x*s[3].x+e.y*s[3].y+e.z*s[3].z+e.w*s[3].w)}},dot:{vec2f:G_,vec2h:G_,vec2i:G_,vec2u:G_,vec3f:Y_,vec3h:Y_,vec3i:Y_,vec3u:Y_,vec4f:L_,vec4h:L_,vec4i:L_,vec4u:L_},cross:{vec3f:(e,t)=>It(e.y*t.z-e.z*t.y,e.z*t.x-e.x*t.z,e.x*t.y-e.y*t.x),vec3h:(e,t)=>Pr(e.y*t.z-e.z*t.y,e.z*t.x-e.x*t.z,e.x*t.y-e.y*t.x)},bitShiftLeft:{vec2i:_x((e,t)=>e<e<e<e<e<e<e>>t),vec2u:ix((e,t)=>e>>>t),vec3i:lx((e,t)=>e>>t),vec3u:dx((e,t)=>e>>>t),vec4i:ux((e,t)=>e>>t),vec4u:cx((e,t)=>e>>>t)},bitcastU32toF32:{vec2u:e=>lt(Zo(e.x),Zo(e.y)),vec3u:e=>It(Zo(e.x),Zo(e.y),Zo(e.z)),vec4u:e=>Oe(Zo(e.x),Zo(e.y),Zo(e.z),Zo(e.w))},bitcastU32toI32:{vec2u:e=>Xt(Qo(e.x),Qo(e.y)),vec3u:e=>cs(Qo(e.x),Qo(e.y),Qo(e.z)),vec4u:e=>Wt(Qo(e.x),Qo(e.y),Qo(e.z),Qo(e.w))},bitcastF32toU32:{vec2f:e=>Ct(Jo(e.x),Jo(e.y)),vec3f:e=>gt(Jo(e.x),Jo(e.y),Jo(e.z)),vec4f:e=>Et(Jo(e.x),Jo(e.y),Jo(e.z),Jo(e.w))}},NM={vec2f:Or,vec2h:Or,vec2i:Or,vec2u:Or,"vec2":Or,vec3f:Vr,vec3h:Vr,vec3i:Vr,vec3u:Vr,"vec3":Vr,vec4f:Nr,vec4h:Nr,vec4i:Nr,vec4u:Nr,"vec4":Nr},up={...PM,mat2x2f:Gn,mat3x3f:Yn,mat4x4f:Hs};function qM(e,t){let s=e==="boolean"?NM:up;if(t in s)return s[t];throw new Error(`No corresponding vector/matrix type for '${t}' kind in '${e}' mode.`)}function XM(e){return e.kind.startsWith("vec")?e:e.columns.flat()}function X2(e,t,s){let r=t.map(HM);if(r.every(c=>c==="boolean"||c==="number"))return e(...t);let o=r[0];ds(o,"Expected kind of the first argument to be present.");let n=qM(s,o),i=t.map(XM),d=i[0]?.length;return ds(d!==void 0,"Expected constructor to have at least one argument."),n(...Array.from({length:d},(c,_)=>e(...i.map(u=>u[_]))))}function Tt(e,t){return X2(e,t,"first")}function Du(e,t){return X2(e,t,"boolean")}function HM(e){return typeof e=="number"?"number":typeof e=="boolean"?"boolean":e.kind}function _v(e){let[t,s]=e;if(typeof t=="number"&&lr(s)){let r=up[s.kind];return[r(t),s]}else if(lr(t)&&typeof s=="number"){let r=up[t.kind];return[t,r(s)]}return[t,s]}var mx=e=>"primitive"in e?e.primitive:e,lv=e=>(t,s)=>{let{restrict:r}=e??{},o=u=>{throw r?new Ts([t,s],r):new Error(`Cannot apply operator to ${t.type} and ${s.type}: ${u}`)};if(e?.noMat&&(rn(t)||rn(s)))return o("matrices not supported");let n=Rt(t)||rn(t),i=Rt(s)||rn(s);if(!n&&!i){let u=fr([t,s],r);return u?{argTypes:u,returnType:u[0]}:o("incompatible scalar types")}if(n&&i)return e?.matVecProduct&&Rt(t)!==Rt(s)?{argTypes:[t,s],returnType:Rt(t)?t:s}:t.type!==s.type?o("operands must have the same type"):{argTypes:[t,s],returnType:t};let[d,c]=n?[s,t]:[t,s],_=fr([d],[mx(c)]);return _?{argTypes:n?[t,_[0]]:[_[0],s],returnType:c}:o(`scalar not convertible to ${mx(c).type}`)},H2=lv(),jM=lv({matVecProduct:!0}),j2=lv({noMat:!0,restrict:[a,xs,qa]});function K2(e,t){if(typeof e=="number"&&typeof t=="number")return e+t;if(typeof e=="number"&&lr(t))return Tt(s=>e+s,[t]);if(lr(e)&&typeof t=="number")return Tt(s=>s+t,[e]);if(lr(e)&&lr(t)||Do(e)&&Do(t))return Tt((s,r)=>s+r,[e,t]);throw new Error("Add/Sub called with invalid arguments.")}var Pn=pe({name:"add",signature:H2,normalImpl:K2,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"+",s),sideEffects:!1});function KM(e,t){return K2(e,Z2(-1,t))}var ht=pe({name:"sub",signature:H2,normalImpl:KM,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"-",s),sideEffects:!1});function Z2(e,t){if(typeof e=="number"&&typeof t=="number")return e*t;if(typeof e=="number"&&(lr(t)||Do(t)))return Tt(s=>e*s,[t]);if((lr(e)||Do(e))&&typeof t=="number")return Tt(s=>s*t,[e]);if(lr(e)&&lr(t))return Tt((s,r)=>s*r,[e,t]);if(H0(e)&&Do(t))return qr.mulVxM[t.kind](e,t);if(Do(e)&&H0(t))return qr.mulMxV[e.kind](e,t);if(Do(e)&&Do(t))return qr.mulMxM[e.kind](e,t);throw new Error("Mul called with invalid arguments.")}var vr=pe({name:"mul",signature:jM,normalImpl:Z2,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"*",s),sideEffects:!1});function ZM(e,t){return Tt((s,r)=>s/r,_v([e,t]))}var mp=pe({name:"div",signature:j2,normalImpl:ZM,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"/",s),ignoreImplicitCastWarning:!0,sideEffects:!1}),bo=pe({name:"mod",signature:j2,normalImpl:((e,t)=>Tt((s,r)=>s%r,_v([e,t]))),codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"%",s),sideEffects:!1});function QM(e){return Tt(t=>-t,[e])}var px=pe({name:"neg",signature:e=>({argTypes:[e],returnType:e}),normalImpl:QM,codegenImpl:(e,[t])=>ce`-(${t})`,sideEffects:!1}),Q2={vec2i:Ct,vec2u:Ct,vec3i:gt,vec3u:gt,vec4i:Et,vec4u:Et},J2=(e,t)=>{let s=fr([e],[Xt,cs,Wt,Ct,gt,Et])?.[0];if(!s||!Rt(s))throw new Ts([e],[Xt,cs,Wt,Ct,gt,Et]);let r=s.componentCount,o=r===2?Ct:r===3?gt:Et,n=fr([t],[R,o])?.[0];if(!n)throw new Ts([t],[R,o]);return{argTypes:[s,n],returnType:s}};function JM(e,t){if(bl(e)&&Jb(t)&&e.length==t.length)return qr.bitShiftLeft[e.kind](e,t);if(bl(e)&&typeof t=="number"){let s=Q2[e.kind](t);return qr.bitShiftLeft[e.kind](e,s)}throw new Error("'bitShiftLeft' called with invalid arguments, expected: left-hand side to be an integer vector, right-hand side to be a number or unsigned integer vector of the same arity as the left-hand side.")}var eP=pe({name:"bitShiftLeft",signature:J2,normalImpl:JM,codegenImpl:(e,[t,s])=>{if(Rt(t.dataType)&&!Rt(s.dataType)){let r=t.dataType.componentCount,o=r===2?Ct:r===3?gt:Et;return e.gen.emitBinaryOp(t,"<<",e.gen.typeInstantiation(o,[s]))}return e.gen.emitBinaryOp(t,"<<",s)},sideEffects:!1});function tP(e,t){if(bl(e)&&Jb(t)&&e.length==t.length)return qr.bitShiftRight[e.kind](e,t);if(bl(e)&&typeof t=="number"){let s=Q2[e.kind](t);return qr.bitShiftRight[e.kind](e,s)}throw new Error("'bitShiftRight' called with invalid arguments, expected: left-hand side to be an integer vector, right-hand side to be a number or unsigned integer vector of the same arity as the left-hand side.")}var pp={add:Pn,sub:ht,mul:vr,div:mp,mod:bo,bitShiftLeft:eP,bitShiftRight:pe({name:"bitShiftRight",signature:J2,normalImpl:tP,codegenImpl:(e,[t,s])=>{if(Rt(t.dataType)&&!Rt(s.dataType)){let r=t.dataType.componentCount,o=r===2?Ct:r===3?gt:Et;return e.gen.emitBinaryOp(t,">>",e.gen.typeInstantiation(o,[s]))}return e.gen.emitBinaryOp(t,">>",s)},sideEffects:!1})},uv=class{lhs;operator;constructor(e,t){this.lhs=e,this.operator=t}};function sP(e){return e instanceof uv}function jo(e,t,s){let r=pp[t];Object.defineProperty(e.prototype,s,{value:r});function o(n){return r(this,n)}Object.defineProperty(e.prototype,t,{get(){return Yu()?new uv(this,r):o}})}var fx=!1;function rr(){fx||(fx=!0,jo(tn,"add",dr.plus),jo(Ci,"add",dr.plus),jo(tn,"sub",dr.minus),jo(Ci,"sub",dr.minus),jo(tn,"mul",dr.star),jo(Ci,"mul",dr.star),jo(tn,"div",dr.slash),jo(tn,"mod",dr.percent),jo(tn,"bitShiftLeft",Symbol()),jo(tn,"bitShiftRight",Symbol()))}var mv=new Set(["alias","break","case","const","const_assert","continue","continuing","default","diagnostic","discard","else","enable","false","fn","for","if","let","loop","override","requires","return","struct","switch","true","var","while","NULL","Self","abstract","active","alignas","alignof","as","asm","asm_fragment","async","attribute","auto","await","become","cast","catch","class","co_await","co_return","co_yield","coherent","column_major","common","compile","compile_fragment","concept","const_cast","consteval","constexpr","constinit","crate","debugger","decltype","delete","demote","demote_to_helper","do","dynamic_cast","enum","explicit","export","extends","extern","external","fallthrough","filter","final","finally","friend","from","fxgroup","get","goto","groupshared","highp","impl","implements","import","inline","instanceof","interface","layout","lowp","macro","macro_rules","match","mediump","meta","mod","module","move","mut","mutable","namespace","new","nil","noexcept","noinline","nointerpolation","non_coherent","noncoherent","noperspective","null","nullptr","of","operator","package","packoffset","partition","pass","patch","pixelfragment","precise","precision","premerge","priv","protected","pub","public","readonly","ref","regardless","register","reinterpret_cast","require","resource","restrict","self","set","shared","sizeof","smooth","snorm","static","static_assert","static_cast","std","subroutine","super","target","template","this","thread_local","throw","trait","try","type","typedef","typeid","typename","typeof","union","unless","unorm","unsafe","unsized","use","using","varying","virtual","volatile","wgsl","where","with","writeonly","yield","sampler","uniform","storage"]),rP=new Set(["array","bool","f16","f32","i32","u32","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","vec2","vec3","vec4","bitcast","all","any","select","arrayLength","abs","acos","acosh","asin","asinh","atan","atanh","atan2","ceil","clamp","cos","cosh","countLeadingZeros","countOneBits","countTrailingZeros","cross","degrees","determinant","distance","dot","dot4U8Packed","dot4I8Packed","exp","exp2","extractBits","faceForward","firstLeadingBit","firstTrailingBit","floor","fma","fract","frexp","insertBits","inverseSqrt","ldexp","length","log","log2","max","min","mix","modf","normalize","pow","quantizeToF16","radians","reflect","refract","reverseBits","round","saturate","sign","sin","sinh","smoothstep","sqrt","step","tan","tanh","transpose","trunc","dpdx","dpdxCoarse","dpdxFine","dpdy","dpdyCoarse","dpdyFine","fwidth","fwidthCoarse","fwidthFine","textureDimensions","textureGather","textureGatherCompare","textureLoad","textureNumLayers","textureNumLevels","textureNumSamples","textureSample","textureSampleBias","textureSampleCompare","textureSampleCompareLevel","textureSampleGrad","textureSampleLevel","textureSampleBaseClampToEdge","textureStore","atomicLoad","atomicStore","atomicAdd","atomicSub","atomicMax","atomicMin","atomicAnd","atomicOr","atomicXor","atomicExchange","atomicCompareExchangeWeak","pack4x8snorm","pack4x8unorm","pack4xI8","pack4xU8","pack4xI8Clamp","pack4xU8Clamp","pack2x16snorm","pack2x16unorm","pack2x16float","unpack4x8snorm","unpack4x8unorm","unpack4xI8","unpack4xU8","unpack2x16snorm","unpack2x16unorm","unpack2x16float","storageBarrier","textureBarrier","workgroupBarrier","workgroupUniformLoad","subgroupAdd","subgroupExclusiveAdd","subgroupInclusiveAdd","subgroupAll","subgroupAnd","subgroupAny","subgroupBallot","subgroupBroadcast","subgroupBroadcastFirst","subgroupElect","subgroupMax","subgroupMin","subgroupMul","subgroupExclusiveMul","subgroupInclusiveMul","subgroupOr","subgroupShuffle","subgroupShuffleDown","subgroupShuffleUp","subgroupShuffleXor","subgroupXor","quadBroadcast","quadSwapDiagonal","quadSwapX","quadSwapY"]);function oP(e){if(e){let t=e.replaceAll(/\s/g,"_").replaceAll(/[^\w]/g,"");return Fu(t).success?t:"item"}return"item"}function Fu(e){return e==="_"||e===""?{success:!1,error:"Identifiers cannot be equal to '' or '_'"}:/\s/.test(e)?{success:!1,error:"Identifiers cannot contain whitespace."}:e.startsWith("__")?{success:!1,error:"Identifiers cannot start with double underscores."}:/^(([_\p{XID_Start}][\p{XID_Continue}]+)|([\p{XID_Start}]))$/u.test(e)?{success:!0}:{success:!1,error:"Not compliant with WGSL guidelines."}}function e5(e){let t=Fu(e);return t.success?mv.has(e)?{success:!1,error:"Identifiers cannot start with reserved keywords."}:{success:!0}:t}function ut(e){return Bu(e,!1)}function Qs(e){return Bu(e,!0)}function Bu(e,t){Object.keys(e).forEach(r=>{let o=e5(r);if(!o.success)throw new Error(`Invalid property key '${r}'${o.error?`: ${o.error}`:""}`)});let s=r=>Object.fromEntries(Object.entries(e).map(([o,n])=>[o,aa(n,r?.[o])]));return Object.setPrototypeOf(s,nP),s.propTypes=e,Object.defineProperty(s,B,{value:{isAbstruct:t}}),s}var nP={type:"struct",$name(e){return ot(this,e),this},toString(){return`struct:${xe(this)??""}`}},qs=(e,t)=>{let s=t-1,r=~s;return(e&s)===0?e:(e&r)+t},xt=class{[B]={};type;[zs];constructor(e){this.type=e,this[zs]={call:(t,[s])=>P2(t,$n[this.type],s)}}[Gf](e){return aa($n[this.type],e)}},$n={uint8:R,uint8x2:Ct,uint8x4:Et,sint8:Z,sint8x2:Xt,sint8x4:Wt,unorm8:a,unorm8x2:lt,unorm8x4:Oe,snorm8:a,snorm8x2:lt,snorm8x4:Oe,uint16:R,uint16x2:Ct,uint16x4:Et,sint16:Z,sint16x2:Xt,sint16x4:Wt,unorm16:a,unorm16x2:lt,unorm16x4:Oe,snorm16:a,snorm16x2:lt,snorm16x4:Oe,float16:a,float16x2:lt,float16x4:Oe,float32:a,float32x2:lt,float32x3:It,float32x4:Oe,uint32:R,uint32x2:Ct,uint32x3:gt,uint32x4:Et,sint32:Z,sint32x2:Xt,sint32x3:cs,sint32x4:Wt,"unorm10-10-10-2":Oe,"unorm8x4-bgra":Oe},t5=new Set(Object.keys($n)),aI=new xt("uint8"),iI=new xt("uint8x2"),dI=new xt("uint8x4"),cI=new xt("sint8"),_I=new xt("sint8x2"),lI=new xt("sint8x4"),uI=new xt("unorm8"),mI=new xt("unorm8x2"),pI=new xt("unorm8x4"),fI=new xt("snorm8"),vI=new xt("snorm8x2"),yI=new xt("snorm8x4"),hI=new xt("uint16"),xI=new xt("uint16x2"),gI=new xt("uint16x4"),bI=new xt("sint16"),wI=new xt("sint16x2"),TI=new xt("sint16x4"),SI=new xt("unorm16"),AI=new xt("unorm16x2"),MI=new xt("unorm16x4"),PI=new xt("snorm16"),EI=new xt("snorm16x2"),kI=new xt("snorm16x4"),$I=new xt("float16"),UI=new xt("float16x2"),CI=new xt("float16x4"),RI=new xt("float32"),zI=new xt("float32x2"),GI=new xt("float32x3"),YI=new xt("float32x4"),LI=new xt("uint32"),II=new xt("uint32x2"),DI=new xt("uint32x3"),FI=new xt("uint32x4"),BI=new xt("sint32"),WI=new xt("sint32x2"),OI=new xt("sint32x3"),VI=new xt("sint32x4"),NI=new xt("unorm10-10-10-2"),qI=new xt("unorm8x4-bgra");function aP(e){return mt(e)&&t5.has(e?.type)}var iP={f32:4,f16:2,i32:4,u32:4,bool:4,u16:2,vec2f:8,vec2h:4,vec2i:8,vec2u:8,"vec2":8,vec3f:16,vec3h:8,vec3i:16,vec3u:16,"vec3":16,vec4f:16,vec4h:8,vec4i:16,vec4u:16,"vec4":16,mat2x2f:8,mat3x3f:16,mat4x4f:16,atomic:4};function dP(e){let t=e?.type,s=iP[t];if(s!==void 0)return s;if(Qt(e))return Object.values(e.propTypes).map(rs).reduce((r,o)=>r>o?r:o);if(Us(e))return rs(e.elementType);if(un(e)){let r=Object.values(e.propTypes)[0];return r?ac(r)??1:1}if(Ja(e))return ac(e.elementType)??1;if(zn(e)||ha(e))return ac(e)??rs(e.inner);if(t5.has(t))return 1;throw new Error(`Cannot determine alignment of data: ${io(e)}`)}function cP(e){if(un(e)){let t=Object.values(e.propTypes)[0];return t?wo(t):1}return Ja(e)?wo(e.elementType):ha(e)?ac(e)??wo(e.inner):ac(e)??1}var vx=new WeakMap,yx=new WeakMap;function rs(e){let t=vx.get(e);return t===void 0&&(t=dP(e),vx.set(e,t)),t}function wo(e){let t=yx.get(e);return t===void 0&&(t=cP(e),yx.set(e,t)),t}var _P={bool:4,f32:4,f16:2,i32:4,u32:4,u16:2,vec2f:8,vec2h:4,vec2i:8,vec2u:8,"vec2":8,vec3f:12,vec3h:6,vec3i:12,vec3u:12,"vec3":12,vec4f:16,vec4h:8,vec4i:16,vec4u:16,"vec4":16,mat2x2f:16,mat3x3f:48,mat4x4f:64,uint8:1,uint8x2:2,uint8x4:4,sint8:1,sint8x2:2,sint8x4:4,unorm8:1,unorm8x2:2,unorm8x4:4,snorm8:1,snorm8x2:2,snorm8x4:4,uint16:2,uint16x2:4,uint16x4:8,sint16:2,sint16x2:4,sint16x4:8,unorm16:2,unorm16x2:4,unorm16x4:8,snorm16:2,snorm16x2:4,snorm16x4:8,float16:2,float16x2:4,float16x4:8,float32:4,float32x2:8,float32x3:12,float32x4:16,uint32:4,uint32x2:8,uint32x3:12,uint32x4:16,sint32:4,sint32x2:8,sint32x3:12,sint32x4:16,"unorm10-10-10-2":4,"unorm8x4-bgra":4,atomic:4};function lP(e){let t=0,s=0,r=!0,o=!1;for(let i of Object.values(e.propTypes)){if(Number.isNaN(t))throw new Error("Only the last property of a struct can be unbounded");let d=t;t=qs(t,rs(i));let c=d!==t,_=Xa(i);if(t+=_.size,Number.isNaN(t)&&i.type!=="array")throw new Error("Cannot nest unbounded struct within another struct");o||(!c&&_.isContiguous?s+=_.size:(o=!0,r=!1,c||(s+=_.longestContiguousPrefix)))}let n=qs(t,rs(e));return{isContiguous:t===n&&r,size:n,longestContiguousPrefix:s}}function uP(e){let t=0,s=0,r=!0,o=!1;for(let n of Object.values(e.propTypes)){let i=wo(n),d=t;t=qs(t,i);let c=d!==t;c&&(r=!1);let _=Xa(n);t+=_.size,!o&&(!c&&_.isContiguous?s+=_.size:(o=!0,r=!1,c||(s+=_.longestContiguousPrefix)))}return{isContiguous:r,size:t,longestContiguousPrefix:s}}function mP(e){let t=e.elementType,s=Xa(t),r=s.size,o=qs(r,rs(t)),n=!(o>r)&&s.isContiguous,i=e.elementCount===0?NaN:e.elementCount*o,d;return n?d=i:d=s.longestContiguousPrefix,{size:i,isContiguous:n,longestContiguousPrefix:d}}function pP(e){let t=e.elementType,s=Xa(t),r=s.size,o=qs(r,wo(t)),n=!(o>r)&&s.isContiguous,i=e.elementCount*o,d;return n?d=i:d=s.longestContiguousPrefix,{size:i,isContiguous:n,longestContiguousPrefix:d}}function Xa(e){let t=_P[e.type];if(t!==void 0)return{isContiguous:e.type!=="mat3x3f",size:t,longestContiguousPrefix:e.type==="mat3x3f"?12:t};if(Qt(e))return lP(e);if(un(e))return uP(e);if(Us(e))return mP(e);if(Ja(e))return pP(e);if(zn(e)||ha(e)){let s=sM(e),r=Xa(lo(e));return s?{isContiguous:s===r.size&&r.isContiguous,size:s,longestContiguousPrefix:r.longestContiguousPrefix}:Xa(e.inner)}throw new Error(`Cannot determine memory layout of data: ${e}`)}var hx=new WeakMap;function pv(e,t){let s=hx.get(e);return s===void 0&&(s=Xa(e),hx.set(e,s)),s[t]}function _t(e){return pv(e,"size")}function xx(e){return _t(e)}var pt=Ao(((e,t)=>{if(zn(e)&&!e.attribs.every(s2))throw new Error("Arrays cannot hold decorated types other than @location. Wrap it in a struct instead, e.g. d.arrayOf(d.struct({ value: d.align(16, d.u32) }), n).");return t===void 0?Ao(s=>gx(e,s)):gx(e,t)})).$name("arrayOf");function gx(e,t){let s=r=>{if(r&&r.length!==t)throw new Error(`Array schema of ${t} elements of type ${e.type} called with ${r.length} argument(s).`);return Array.from({length:t},(o,n)=>aa(e,r?.[n]))};if(Object.setPrototypeOf(s,fP),Number.isNaN(_t(e)))throw new Error("Cannot nest runtime sized arrays.");if(s.elementType=e,!Number.isInteger(t)||t<0)throw new Error(`Cannot create array schema with invalid element count: ${t}.`);return s.elementCount=t,s}var fP={[B]:!0,type:"array",toString(){return`arrayOf(${String(this.elementType)}, ${this.elementCount})`}};function vP(e){if("multisampled"in e){if(e.multisampled){if(e.dimension==="2d")return hP(e.sampleType);throw new Error(`Multisampled textures only support '2d' dimension, got '${e.dimension}'`)}switch(e.dimension){case"1d":return yP(e.sampleType);case"2d":return ps(e.sampleType);case"2d-array":return xP(e.sampleType);case"3d":return wP(e.sampleType);case"cube":return gP(e.sampleType);case"cube-array":return bP(e.sampleType);default:throw new Error(`Unsupported texture dimension: '${e.dimension}'`)}}if(!("access"in e))throw new Error("Descriptor is neither a sampled nor a storage texture");switch(e.dimension){case"1d":return TP(e.format,e.access);case"2d":return Mo(e.format,e.access);case"2d-array":return SP(e.format,e.access);case"3d":return AP(e.format,e.access);default:throw new Error(`Unsupported storage texture dimension: '${e.dimension}'`)}}function ti(e,t){let s=e.startsWith("texture_depth")?["depth","float","unfilterable-float"]:t.sampleType.type==="i32"?["sint"]:t.sampleType.type==="u32"?["uint"]:["float","unfilterable-float"];return{[B]:{},[id]:void 0,type:e,bindingSampleType:s,...t}}function Wu(e,t){return{[B]:{},[id]:void 0,type:e,...t}}var bx=new Map,Fc={"write-only":"write","read-only":"read","read-write":"read_write"};function ko(e,t){let s=bx.get(e);return s||(s=t(),bx.set(e,s)),s}function yP(e){let t=e||a;return ko(`texture_1d<${t.type}>`,()=>ti("texture_1d",{dimension:"1d",sampleType:t,multisampled:!1}))}function ps(e){let t=e||a;return ko(`texture_2d<${t.type}>`,()=>ti("texture_2d",{dimension:"2d",sampleType:t,multisampled:!1}))}function hP(e){let t=e||a;return ko(`texture_multisampled_2d<${t.type}>`,()=>ti("texture_multisampled_2d",{dimension:"2d",sampleType:t,multisampled:!0}))}function xP(e){let t=e||a;return ko(`texture_2d_array<${t.type}>`,()=>ti("texture_2d_array",{dimension:"2d-array",sampleType:t,multisampled:!1}))}function gP(e){let t=e||a;return ko(`texture_cube<${t.type}>`,()=>ti("texture_cube",{dimension:"cube",sampleType:t,multisampled:!1}))}function bP(e){let t=e||a;return ko(`texture_cube_array<${t.type}>`,()=>ti("texture_cube_array",{dimension:"cube-array",sampleType:t,multisampled:!1}))}function wP(e){let t=e||a;return ko(`texture_3d<${t.type}>`,()=>ti("texture_3d",{dimension:"3d",sampleType:t,multisampled:!1}))}function TP(e,t){let s=t||"write-only";return ko(`texture_storage_1d<${e}, ${Fc[s]}>`,()=>Wu("texture_storage_1d",{dimension:"1d",format:e,access:s}))}function Mo(e,t){let s=t||"write-only";return ko(`texture_storage_2d<${e}, ${Fc[s]}>`,()=>Wu("texture_storage_2d",{dimension:"2d",format:e,access:s}))}function SP(e,t){let s=t||"write-only";return ko(`texture_storage_2d_array<${e}, ${Fc[s]}>`,()=>Wu("texture_storage_2d_array",{dimension:"2d-array",format:e,access:s}))}function AP(e,t){let s=t||"write-only";return ko(`texture_storage_3d<${e}, ${Fc[s]}>`,()=>Wu("texture_storage_3d",{dimension:"3d",format:e,access:s}))}function s5(){return ko("texture_external",()=>({[B]:{},[id]:void 0,type:"texture_external",dimension:"2d"}))}function r5(e){return!!e[B]&&typeof e.multisampled=="boolean"}function dl(e){return!!e[B]&&typeof e.format=="string"&&typeof e.access=="string"}function MP(e){return!!e[B]&&e.type==="texture_external"}function fv(){return{[B]:{},type:"sampler",[id]:void 0}}function o5(){return{[B]:{},type:"sampler_comparison",[id]:void 0}}function PP(e){return!!e[B]&&e.type==="sampler"}function EP(e){return!!e[B]&&e.type==="sampler_comparison"}var XI=Ao(((e,t)=>t===void 0?s=>wx(e,s):wx(e,t))).$name("disarrayOf");function wx(e,t){let s=r=>{if(r&&r.length!==t)throw new Error(`Disarray schema of ${t} elements of type ${e.type} called with ${r.length} argument(s).`);return Array.from({length:t},(o,n)=>aa(e,r?.[n]))};if(Object.setPrototypeOf(s,kP),s.elementType=e,!Number.isInteger(t)||t<0)throw new Error(`Cannot create disarray schema with invalid element count: ${t}.`);return s.elementCount=t,s}var kP={[B]:!0,type:"disarray",toString(){return`disarrayOf(${this.elementType}, ${this.elementCount})`}};var HI={[B]:!0,type:"unstruct",$name(e){return ot(this,e),this},toString(){return`unstruct:${xe(this)??""}`}};function $P(e){return new UP(e)}var UP=class{[B]={};type="atomic";inner;constructor(e){this.inner=e}};function Ou(e,t){return zn(e)?new Tx(e.inner,[t,...e.attribs]):ha(e)?new Sx(e.inner,[t,...e.attribs]):zu(e)?new Sx(e,[t]):new Tx(e,[t])}function n5(e,t){return Ou(t,{[B]:!0,type:"@align",params:[e]})}function a5(e,t){return Ou(t,{[B]:!0,type:"@size",params:[e]})}function fp(e,t){return Ou(t,{[B]:!0,type:"@location",params:[e]})}function nn(e){return(zn(e)||ha(e))&&e.attribs.find(VA)!==void 0}function gc(e){return!zn(e)&&!ha(e)?"":e.attribs.map(t=>t.params.length===0?`${t.type} `:`${t.type}(${t.params.join(", ")}) `).join("")}var i5=class{[B]={};inner;attribs;constructor(e,t){this.inner=e,this.attribs=t;let s=t.find(e2)?.params[0],r=t.find(t2)?.params[0];if(s!==void 0){if(s<=0)throw new Error(`Custom data alignment must be a positive number, got: ${s}.`);if(Math.log2(s)%1!==0)throw new Error(`Alignment has to be a power of 2, got: ${s}.`);if(Qa(this.inner)&&s%rs(this.inner)!==0)throw new Error(`Custom alignment has to be a multiple of the standard data alignment. Got: ${s}, expected multiple of: ${rs(this.inner)}.`)}if(r!==void 0){if(r<_t(this.inner))throw new Error(`Custom data size cannot be smaller then the standard data size. Got: ${r}, expected at least: ${_t(this.inner)}.`);if(r<=0)throw new Error(`Custom data size must be a positive number. Got: ${r}.`)}}},Tx=class extends i5{[B]={};type="decorated"},Sx=class extends i5{[B]={};type="loose-decorated"};function d5(e){return pv(e,"isContiguous")}function c5(e){return pv(e,"longestContiguousPrefix")}var _5=Object.defineProperty,CP=(e,t,s)=>t in e?_5(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,RP=(e,t)=>{for(var s in t)_5(e,s,{get:t[s],enumerable:!0})},Mt=(e,t,s)=>CP(e,typeof t!="symbol"?t+"":t,s);RP({},{BufferReader:()=>ld,BufferWriter:()=>si,MaxValue:()=>Es,Measurer:()=>gs,UnresolvedReferenceError:()=>Ra,ValidationError:()=>Vu,arrayOf:()=>IP,bool:()=>FP,byte:()=>NP,chars:()=>nE,concat:()=>cE,dynamicArrayOf:()=>lE,f16:()=>tE,f32:()=>rE,f32Array:()=>PE,f64Array:()=>EE,generic:()=>iE,genericEnum:()=>dE,i16:()=>XP,i16Array:()=>AE,i32:()=>ZP,i32Array:()=>ME,i8:()=>OP,i8Array:()=>SE,keyed:()=>pE,object:()=>aE,optional:()=>vE,string:()=>BP,tupleOf:()=>xE,u16:()=>jP,u16Array:()=>wE,u32:()=>JP,u32Array:()=>TE,u8:()=>f5,u8Array:()=>gE,u8ClampedArray:()=>bE});var Ra=class l5 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,l5.prototype)}},Vu=class u5 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,u5.prototype)}},zP=class{constructor(){Mt(this,"size",NaN),Mt(this,"unbounded",this),Mt(this,"isUnbounded",!0)}add(){return this}fork(){return this}},GP=new zP,gs=class m5{constructor(){Mt(this,"size",0),Mt(this,"unbounded",GP),Mt(this,"isUnbounded",!1)}add(t){return this.size+=t,this}fork(){let t=new m5;return t.size=this.size,t}},Es=Symbol("The biggest (in amount of bytes needed) value a schema can represent"),or=class{constructor(){Mt(this,"__unwrapped")}resolveReferences(e){}seekProperty(e,t){return null}},YP=class{constructor(e){this.key=e}},dc={STRING:"string",ENUM:"enum"},LP=class extends or{constructor(e,t){super(),this._unstableElementSchema=e,this.length=t,Mt(this,"elementSchema"),this.elementSchema=e}resolveReferences(e){this.elementSchema=e.resolve(this._unstableElementSchema)}write(e,t){if(t.length!==this.length)throw new Vu(`Expected array of length ${this.length}, got ${t.length}`);for(let s of t)this.elementSchema.write(e,s)}read(e){let t=[];for(let s=0;s{let o=t.fork();for(let n of Object.values(r.properties))n.measure(Es,o);return[r,o.size]}).reduce((r,o)=>r[1]>o[1]?r:o)[0];for(let r of Object.values(s.properties))r.measure(Es,t)}else{let s=e.type,r=this.subTypeMap[s]||null;if(r===null)throw new Error(`Unknown sub-type '${s.toString()}', expected one of '${JSON.stringify(Object.keys(this.subTypeMap))}'`);for(let[o,n]of Jn(r.properties))n.measure(e[o],t)}return t}};function iE(e,t){return new y5(dc.STRING,e,t)}function dE(e,t){return new y5(dc.ENUM,e,t)}function cE(e){return new vv(Object.fromEntries(e.flatMap(({properties:t})=>Object.entries(t))))}var _E=class extends or{constructor(e){super(),this._unstableElementType=e,Mt(this,"elementType"),this.elementType=e}resolveReferences(e){this.elementType=e.resolve(this._unstableElementType)}write(e,t){e.writeUint32(t.length);for(let s of t)this.elementType.write(e,s)}read(e){let t=[],s=e.readUint32();for(let r=0;r=e.length)return null;let r=new gs;for(let o=0;oe.resolve(s))}var hE=class extends or{constructor(e){super(),this._unstableSchemas=e,Mt(this,"schemas"),this.schemas=e}resolveReferences(e){this.schemas=yE(e,this._unstableSchemas)}write(e,t){if(t.length!==this.schemas.length)throw new Vu(`Expected tuple of length ${this.schemas.length}, got ${t.length}`);for(let s=0;snew Ln(e,Uint8Array),bE=e=>new Ln(e,Uint8ClampedArray),wE=e=>new Ln(e,Uint16Array),TE=e=>new Ln(e,Uint32Array),SE=e=>new Ln(e,Int8Array),AE=e=>new Ln(e,Int16Array),ME=e=>new Ln(e,Int32Array),PE=e=>new Ln(e,Float32Array),EE=e=>new Ln(e,Float64Array);function kE(){let e=new Uint8Array(4),t=new Uint32Array(e.buffer);return t[0]=1,e[0]===0}function yv(){return kE()?"big":"little"}function hv(e){let t=0,s=e;return s&&"buffer"in s&&"byteOffset"in s&&(t+=s.byteOffset,s=s.buffer),{buffer:s,byteOffset:t,byteLength:e.byteLength}}var x5=class{constructor(e,t){Mt(this,"dataView"),Mt(this,"littleEndian"),Mt(this,"needsByteSwap"),Mt(this,"byteOffset",0),Mt(this,"endianness");let{byteOffset:s=0,endianness:r="system"}=t??{};this.byteOffset=s;let o=yv();this.endianness=r==="system"?o:r,this.littleEndian=this.endianness==="little",this.needsByteSwap=this.endianness!==o;let n=hv(e);this.byteOffset+=n.byteOffset,this.dataView=new DataView(n.buffer)}get currentByteOffset(){return this.byteOffset}seekTo(e){this.byteOffset=e}skipBytes(e){this.byteOffset+=e}},ld=class extends x5{constructor(){super(...arguments),Mt(this,"_cachedTextDecoder")}get _textDecoder(){return this._cachedTextDecoder||(this._cachedTextDecoder=new TextDecoder(void 0,{fatal:!0})),this._cachedTextDecoder}readBool(){return this.dataView.getUint8(this.byteOffset++)!==0}readByte(){return this.dataView.getUint8(this.byteOffset++)}readInt8(){return this.dataView.getInt8(this.byteOffset++)}readUint8(){return this.dataView.getUint8(this.byteOffset++)}readInt16(){let e=this.dataView.getInt16(this.byteOffset,this.littleEndian);return this.byteOffset+=2,e}readUint16(){let e=this.dataView.getUint16(this.byteOffset,this.littleEndian);return this.byteOffset+=2,e}readInt32(){let e=this.dataView.getInt32(this.byteOffset,this.littleEndian);return this.byteOffset+=4,e}readUint32(){let e=this.dataView.getUint32(this.byteOffset,this.littleEndian);return this.byteOffset+=4,e}readFloat16(){let e=this.dataView.getFloat16(this.byteOffset,this.littleEndian);return this.byteOffset+=2,e}readFloat32(){let e=this.dataView.getFloat32(this.byteOffset,this.littleEndian);return this.byteOffset+=4,e}readString(){let e=0;for(;this.byteOffset+e1)for(let i=0;i=0;d--)o[i+d]=this.dataView.getUint8(this.byteOffset++);else o.set(new Uint8Array(this.dataView.buffer,this.byteOffset,s)),this.byteOffset+=s}},si=class extends x5{constructor(){super(...arguments),Mt(this,"_cachedTextEncoder")}get _textEncoder(){return this._cachedTextEncoder||(this._cachedTextEncoder=new TextEncoder),this._cachedTextEncoder}writeBool(e){this.dataView.setUint8(this.byteOffset++,e?1:0)}writeByte(e){this.dataView.setUint8(this.byteOffset++,e)}writeInt8(e){this.dataView.setInt8(this.byteOffset++,e)}writeUint8(e){this.dataView.setUint8(this.byteOffset++,e)}writeInt16(e){this.dataView.setInt16(this.byteOffset,e,this.littleEndian),this.byteOffset+=2}writeUint16(e){this.dataView.setUint16(this.byteOffset,e,this.littleEndian),this.byteOffset+=2}writeInt32(e){this.dataView.setInt32(this.byteOffset,e,this.littleEndian),this.byteOffset+=4}writeUint32(e){this.dataView.setUint32(this.byteOffset,e,this.littleEndian),this.byteOffset+=4}writeFloat16(e){this.dataView.setFloat16(this.byteOffset,e,this.littleEndian),this.byteOffset+=2}writeFloat32(e){this.dataView.setFloat32(this.byteOffset,e,this.littleEndian),this.byteOffset+=4}writeString(e){let t=this._textEncoder.encodeInto(e,new Uint8Array(this.dataView.buffer,this.byteOffset));this.byteOffset+=t.written,this.dataView.setUint8(this.byteOffset++,0)}writeSlice(e){let t=hv(e),s=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),r=e.BYTES_PER_ELEMENT;if(this.needsByteSwap&&r>1)for(let o=0;o=0;n--)this.dataView.setUint8(this.byteOffset++,s[o+n]);else new Uint8Array(this.dataView.buffer,this.byteOffset).set(s),this.byteOffset+=s.length}};function $E(e,t){let s="size"in e?e.size:e.currentByteOffset,r=t-1,o=s&r;"skipBytes"in e?e.skipBytes(t-o&r):e.add(t-o&r)}var Os=$E,Ax=new WeakMap;function Nu(e){let t=Ax.get(e);if(t)return t;let s=new gs,r={},o;for(let n in e.propTypes){let i=e.propTypes[n];if(i===void 0)throw new Error(`Property ${n} is undefined in struct`);let d=s.size;Os(s,un(e)?wo(i):rs(i)),o&&(o.padding=s.size-d);let c=_t(i);r[n]={offset:s.size,size:c},o=r[n],s.add(c)}return o&&(o.padding=qs(_t(e),rs(e))-s.size),Ax.set(e,r),r}var ia=Symbol("indirectOffset"),da=Symbol("indirectContiguous");function UE(e){return typeof e=="object"&&e!==null&&ia in e&&da in e}function ec(e,t){return{[ia]:e,[da]:t}}function xv(e,t){if(t===ia)return e[ia];if(t===da)return e[da]}function gv(e,t,s=_t(e)){let r=lo(e),o=Rt(r)?r.componentCount:void 0;if(o!==void 0){let n=_t(r.primitive);return RE(ec(t,s),n,o)}return Qt(r)?GE(r,ec(t,s)):Us(r)?zE(r,ec(t,s)):ec(t,s)}function CE(e,t=0){return gv(e,t,_t(e))}function RE(e,t,s){let r=e[ia];return new Proxy(e,{get(o,n){let i=xv(o,n);if(i!==void 0)return i;let d=n==="x"||n==="0"?0:n==="y"||n==="1"?1:n==="z"||n==="2"?2:n==="w"||n==="3"?3:-1;if(d<0||d>=s)return;let c=d*t,_=Math.max(0,o[da]-c);return ec(r+c,_)}})}function zE(e,t){let s=e.elementType,r=_t(s),o=qs(r,rs(s)),n=o>r;return new Proxy(t,{get(i,d){let c=xv(i,d);if(c!==void 0)return c;if(d==="length")return e.elementCount;if(typeof d!="string")return;let _=Number(d);if(!Number.isInteger(_)||_<0||_>=e.elementCount)return;let u=_*o,m=d5(s)?Math.max(0,i[da]-u):r+c5(s),p=n?Math.min(m,r):m;return gv(s,i[ia]+u,p)}})}function GE(e,t){let s=Nu(e),r=e.propTypes,o=Object.keys(r),n=new Map,i=0;for(let d=0;d0||!p))continue;let y=u.offset+(p?u.size:c5(_));for(let h=i;h<=d;h++){let g=o[h];if(!g)continue;let w=s[g];n.set(g,{offset:w.offset,runEnd:y})}i=d+1}return new Proxy(t,{get(d,c){let _=xv(d,c);if(_!==void 0)return _;if(typeof c!="string")return;let u=n.get(c);if(!u)return;let m=Math.max(0,d[da]-u.offset),p=Math.max(0,u.runEnd-u.offset),y=r[c];if(y)return gv(y,d[ia]+u.offset,_t(e)===u.runEnd?m:p)}})}function YE(e){let t=lo(e);if(Qt(t)){let s=Nu(t),r=t.propTypes,o=Object.keys(r);for(let n=0;n0)return _}return 0}if(Us(t)){let s=t.elementType,r=_t(s),o=qs(r,rs(s)),n=_t(e);return Number.isFinite(n)?o>r?r:n:r}return _t(e)}function cl(e,t){if(!t)return{offset:0,contiguous:YE(e)};let s=t(CE(e));if(UE(s))return{offset:s[ia],contiguous:s[da]};throw new Error("memoryLayoutOf: accessor did not return a schema element. Make sure the accessor navigates to a field or element of the schema (e.g. `(s) => s.position.x`).")}function Rs(e,t){return Ou(e,{[B]:!0,type:"@builtin",params:[t]})}var _r={vertexIndex:Rs(R,"vertex_index"),instanceIndex:Rs(R,"instance_index"),clipDistances:Rs(pt(R,8),"clip_distances"),position:Rs(Oe,"position"),frontFacing:Rs(ft,"front_facing"),fragDepth:Rs(a,"frag_depth"),primitiveIndex:Rs(R,"primitive_index"),sampleIndex:Rs(R,"sample_index"),sampleMask:Rs(R,"sample_mask"),localInvocationId:Rs(gt,"local_invocation_id"),localInvocationIndex:Rs(R,"local_invocation_index"),globalInvocationId:Rs(gt,"global_invocation_id"),globalInvocationIndex:Rs(R,"global_invocation_index"),workgroupId:Rs(gt,"workgroup_id"),workgroupIndex:Rs(R,"workgroup_index"),numWorkgroups:Rs(gt,"num_workgroups"),subgroupInvocationId:Rs(R,"subgroup_invocation_id"),subgroupSize:Rs(R,"subgroup_size"),subgroupId:Rs(R,"subgroup_id"),numSubgroups:Rs(R,"num_subgroups")};var jI=(rr(),Or),l=(rr(),lt),KI=(rr(),Vs),El=(rr(),Xt),Ge=(rr(),Ct),ZI=(rr(),Vr),f=(rr(),It),QI=(rr(),Pr),JI=(rr(),cs),Oa=(rr(),gt),e8=(rr(),Nr),x=(rr(),Oe),t8=(rr(),Ns),s8=(rr(),Wt),r8=(rr(),Et),o8=(rr(),Gn),ud=(rr(),Yn),n8=(rr(),Hs);function LE(e){return e?.[Hr]}function bv(e,t={}){let s=0,r=new Set;return Object.fromEntries(Object.entries(e??{}).map(([o,n])=>{let i=na(n);if(i!==void 0){if(r.has(i))throw new Error("Duplicate custom location attributes found");r.add(i)}return[o,n]}).map(([o,n])=>{if(nn(n))return[o,n];if(na(n)!==void 0)return[o,n];if(t[o])return[o,fp(t[o],n)];for(;r.has(s);)s++;return[o,fp(s++,n)]}))}function g5(e,t={}){let s=[],r={};for(let[o,n]of Object.entries(e))nn(n)?s.push({schemaKey:o,type:n}):r[o]=n;return{dataSchema:Object.keys(r).length>0?Bu(bv(r,t),!1):void 0,positionalArgs:s}}function IE(e){let t=bv(e);return{dataSchema:void 0,positionalArgs:Object.entries(t).map(([s,r])=>({schemaKey:s,type:r}))}}function Bc(e,t={}){return Rc(e)?Cu(e)||nn(e)||na(e)!==void 0?e:fp(0,e):Bu(bv(e,t),!1)}var Wo=class{#e;#t;#s;#r;#o;#n;constructor(e,t,s){this.#e=e,this.#n=t,this.#t={},this.#r=s,this.#s=new Set}accessProp(e){let t=this.#e[e]??this.#n;if(t)return this.provideProp(e,t)}provideProp(e,t){let s=this.#t[e];if(!s){let r=e.replaceAll("$","");if(this.#s.has(r))throw new Error(`Property name '${r}' causes naming clashes. Choose a different name.`);let o=e5(r);if(!o.success)throw new Error(`Invalid property key '${e}'${o.error?`: ${o.error}`:""}`);this.#s.add(r),s={prop:r,type:t},this.#t[e]=s}return s}get completeStruct(){if(!this.#o){this.#o=Bc(Object.fromEntries(Object.values(this.#t).map(t=>[t.prop,t.type])),this.#r);let e=xe(this);e&&ot(this.#o,e)}return this.#o}[kt](e){return e.resolve(this.completeStruct)}toString(){return`auto-struct:${xe(this)??""}`}};Wo.prototype[B]={};Wo.prototype.type="auto-struct";var b5=class{[B]={};type="entry-input-router";structArg;positionalArgsMap;constructor(e,t){this.structArg=e,this.positionalArgsMap=new Map(t.map(s=>[s.schemaKey,s.arg]))}toString(){return"entry-input-router"}accessProp(e){let t=this.positionalArgsMap.get(e);if(t)return t();let s=this.structArg?.();if(s&&Qt(s.dataType))return{target:s,prop:e}}},DE=["vec2f","vec3f","vec4f","vec2h","vec3h","vec4h","vec2i","vec3i","vec4i","vec2u","vec3u","vec4u","mat2x2f","mat3x3f","mat4x4f"],FE={f:{1:a,2:lt,3:It,4:Oe},h:{1:xs,2:Vs,3:Pr,4:Ns},i:{1:Z,2:Xt,3:cs,4:Wt},u:{1:R,2:Ct,3:gt,4:Et},b:{1:ft,2:Or,3:Vr,4:Nr}};function Bi(e,t){if(DE.includes(e.dataType.type)&&t in pp){let r=pp[t];return ve(new uv(e,r),Ut,e.origin,e.possibleSideEffects)}if(Us(e.dataType)&&t==="length")return e.dataType.elementCount===0?ve(ce`arrayLength(&${e})`,R,"runtime",e.possibleSideEffects):on(e.dataType.elementCount);if(rn(e.dataType)&&t==="columns")return ve(new h2(e),Ut,e.origin,e.possibleSideEffects);if(Qt(e.dataType)||un(e.dataType))return E2(e,t);if(e.dataType instanceof Wo){let r=e.dataType.accessProp(t);return r?ve(ce`${e}.${r.prop}`,r.type,"argument",e.possibleSideEffects):void 0}if(e.dataType instanceof b5){let r=e.dataType.accessProp(t);return Gc(r)?r:r?Bi(r.target,r.prop):void 0}if(pr(e.dataType)){let r=Wf(e);return t==="$"?r:Bi(r,t)}if(Rt(e.dataType)&&t==="kind")return ve(e.dataType.type,Ut,"constant",!1);let s=t.length;if(Rt(e.dataType)&&s>=1&&s<=4&&/^[xyzw]+$|^[rgba]+$/.test(t)){let r=FE[e.dataType.type.includes("bool")?"b":e.dataType.type[4]][s];return r?ve(hs(e)?e.value[t]:ce`${e}.${t}`,r,s===1?e.origin:e.origin==="constant"||e.origin==="constant-immutable-def"?"constant":"runtime",e.possibleSideEffects):void 0}if(hs(e)||e.dataType===Ut){let r=e.value[t];return Di(r)&&xe(r)===void 0&&ot(r,t),Wr(r)}}var Mx={mat2x2f:lt,mat3x3f:It,mat4x4f:Oe};function qu(e,t){let s=typeof t=="number"?Wr(t):t;if(Us(e.dataType)||Ja(e.dataType)){let r=e.dataType.elementType,o;return e.origin==="constant-immutable-def"?o=s.origin==="constant"||s.origin==="constant-immutable-def"?"constant-immutable-def":"runtime-immutable-def":e.origin==="constant"?o=s.origin==="constant"||s.origin==="constant-immutable-def"?"constant":"runtime":o=e.origin,e.value instanceof ic&&hs(s)?e.value.elements[s.value]:ve(hs(e)&&hs(s)?e.value[s.value]:ce`${e}[${s}]`,r,o,e.possibleSideEffects||s.possibleSideEffects)}if(Rt(e.dataType))return ve(hs(e)&&hs(s)?e.value[s.value]:ce`${e}[${s}]`,e.dataType.primitive,e.origin,e.possibleSideEffects||s.possibleSideEffects);if(pr(e.dataType))return qu(Wf(e),s);if(e.value instanceof h2){let r=Mx[e.value.matrix.dataType.type];return ve(ce`${e.value.matrix}[${s}]`,r,e.origin,e.possibleSideEffects||s.possibleSideEffects)}if(e.dataType.type in Mx)throw new Error("The only way of accessing matrix elements in TypeGPU functions is through the 'columns' property.");if(hs(e)&&hs(s))return Wr(e.value[s.value]);if(Qt(e.dataType)&&hs(s)&&typeof s.value=="string")return Bi(e,s.value)}var Wi={get(e,t){if(t in e)return Reflect.get(e,t);if(t==="toString"||t===Symbol.toStringTag||t===Symbol.toPrimitive)return()=>e.toString();if(typeof t=="symbol")return;let s=Gu(e),r=Number(t);if(!Number.isNaN(r)){let n=qu(s,r);return n?new Proxy({[B]:!0,[kt]:i=>i.resolveSnippet(n),[oa]:n,toString:()=>`${String(e)}[${t}]`},Wi):void 0}let o=Bi(s,String(t));if(o)return new Proxy({[B]:!0,[kt]:n=>n.resolveSnippet(o),[oa]:o,toString:()=>`${String(e)}.${t}`},Wi)}};function kl(e){let t=e;for(;;){let s=LE(t);if(!s)break;t=s}return t}function mn(e,t){return Object.defineProperty(e,Hr,{get(){if("get"in t.codegenMode)return t.codegenMode.get.apply(this);let s=this;return new Proxy({[B]:!0,get[oa](){if(!("getBaseSnippet"in t.codegenMode))throw new Error("Expected 'getBaseSnippet' to be defined.");return t.codegenMode.getBaseSnippet.apply(s,[this])},[kt]:r=>r.resolve(s),toString:()=>`${s.toString()}.$`},Wi)}}),Object.defineProperty(e,"$",{get(){let s=J0();return s.type==="codegen"?this[Hr]:s.type==="simulate"?t.simulateMode?.get?t.simulateMode.get.apply(this,[s]):t.normalMode.get.apply(this):s.type==="normal"?t.normalMode.get.apply(this):xc(s,"makeDereferenceable.ts#$ (get)")},set(s){let r=J0();if(r.type==="normal"){if(!t.normalMode.set)throw new Error(`'${this.toString()}' cannot be set in normal mode`);t.normalMode.set.apply(this,[s]);return}if(r.type==="simulate"){if(t.simulateMode?.set)t.simulateMode.set.apply(this,[r,s]);else if(t.normalMode.set)t.normalMode.set.apply(this,[s]);else throw new Error(`'${this.toString()}' cannot be set in simulate mode`);return}if(r.type==="codegen")throw new Error("Unreachable makeDerefenceable.ts#$ (set)");return xc(r,"makeDereferenceable.ts#$ (set)")}}),e}function In(e,t){return mt(e)||Object.defineProperty(e,B,{value:!0,writable:!0}),Object.defineProperty(e,"toString",{value(){return t.asString.apply(this)}}),Object.defineProperty(e,kt,{value(s){return t.resolve.apply(this,[s])}}),e}function wv(e,t){if(!Rc(e)){if(!Array.isArray(t))throw new Error(`Expected an array value for a partially-applied array schema, but received: ${typeof t}.`);return new Px(e(t.length),t)}return new Px(e,t)}function w5(e){let t=Reflect.ownKeys(e);for(let s of t){let r=e[s];(r&&typeof r=="object"||typeof r=="function")&&w5(r)}return Object.freeze(e)}var Px=class _l{[me];static#e=void(_l.prototype[B]={},_l.prototype.resourceType="const",mn(In(_l.prototype,{asString(){return`const:${xe(this)??""}`},resolve(t){let s=t.makeUniqueIdentifier(xe(this),"global");return t.gen.declareGlobalConst({id:s,dataType:this.dataType,init:ve(this[me].value,this.dataType,"constant")})}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.dataType,"constant-immutable-def",!1)}},normalMode:{get(){return this[me].value}}}));constructor(t,s){this[me]={type:"const",dataType:t,value:s&&typeof s=="object"?w5(s):s,label:void 0}}get dataType(){return this[me].dataType}$name(t){return ot(this,t),this}};function BE(e){return _M(e)||zu(e)||Fi(e)}function Ex(e){let t=e.pluginProvided??e.userProvided??{},s=Object.defineProperties({},Object.getOwnPropertyDescriptors(t));for(let r of[e.args,e.out].filter(o=>o!==void 0))for(let[o,n]of Object.entries(r)){if(o in s&&s[o]!==n)throw new Error(`Key '${o}' appears in externals despite already being used for argument/return type. Please rename this external.`);s[o]=n}return s}function WE(e,t,s){let r=[...e.matchAll(/:\s*(?.*?)\s*[,)]/g)].map(n=>n?.[1]),o=Object.fromEntries(t.flatMap((n,i)=>{let d=r?.[i];return Qt(n)&&d!==void 0?[[d,n]]:[]}));s.setExternals("args",o)}function T5(e,t,s){let r=e.match(/->\s(?[\w\d_]+)\s{/),o=r?r[1]?.trim():void 0;Qt(t)&&o&&!/\s/g.test(o)&&s.setExternals("out",{[o]:t})}var kx=/([$_\p{XID_Start}][$\p{XID_Continue}]*)/u,OE=new RegExp(`(${kx.source})(\\.${kx.source})*`,"ug"),VE=new RegExp(`(?n.includes("."));if(o)throw new Error(`External key '${o}' contains invalid character '.'`);return s.replaceAll(VE,n=>{let i=n.split(".");if(!Object.hasOwn(t,i.at(0)))return n;let d=t,c="";for(let[_,u]of i.entries()){if(d=d[u],BE(d)||typeof d=="string"){c=i.slice(_+1).map(m=>`.${m}`).join(""),Di(d)&&xe(d)===void 0&&ot(d,i.slice(0,_+1).join("_"));break}if(typeof d!="object"||d===null||_===i.length-1)return Vt.warn("external-omitted",`During resolution, the external '${i.slice(0,_+1).join(".")}' has been omitted. Only TGPU resources, 'use gpu' functions, primitives, and plain JS objects can be used as externals.`),n}return e.resolve(d).value+c})}var NE=class{[B]=!0;#e;constructor(e){this.#e=e}[kt](){return ve(this.#e,Ut,"runtime",!0)}},Tv=new Set([` +`,"\v","\f","\r","\x85","\u2028","\u2029"]),S5=new Set([...Tv," "," ","\u200E","\u200F"]);function qE(e){let{strippedCode:t,argRange:s}=XE(e),r=new A5(t);r.consume("(");let o=[];for(;!r.isAt(")");){let i=[];for(;r.isAt("@");)r.parseUntil($x,Ux),r.consume(")"),i.push(r.lastParsed);r.parseUntil(HE);let d=r.lastParsed,c;r.isAt(":")&&(r.consume(":"),r.parseUntil(jE,ZE),c=r.lastParsed),o.push({identifier:d,attributes:i,type:c}),r.isAt(",")&&r.consume(",")}r.consume(")");let n;if(r.isAt("->")){r.consume("->");let i=[];for(;r.isAt("@");)r.parseUntil($x,Ux),r.consume(")"),i.push(r.lastParsed);n={type:r.str.slice(r.pos),attributes:i}}return{args:o,ret:n,range:{begin:s[0],end:s[1]}}}function XE(e){let t=new A5(e),s="",r;for(;!t.isFinished();){if(t.isAt(S5)){t.advanceBy(1);continue}if(t.isAt("//")){t.consume("//"),t.parseUntil(Tv),t.advanceBy(1);continue}if(t.isAt("/*")){t.parseUntil(KE,QE),t.consume("*/");continue}if(t.isAt("{"))return{strippedCode:s,argRange:[r,t.pos]};t.isAt("(")&&r===void 0&&(r=t.pos),r!==void 0&&(s+=t.str[t.pos]),t.advanceBy(1)}throw new Error("Invalid wgsl code!")}var A5=class{str;#e;#t;constructor(e){this.str=e,this.#t=0}get pos(){return this.#t}get lastParsed(){if(this.#e===void 0)throw new Error("Parse was not called yet!");return this.str.slice(this.#e,this.pos)}isFinished(){return this.#t>=this.str.length}isAt(e){if(typeof e=="string"){for(let t=0;t"],QE=["/*","*/"];function ri(e,t,s){let r={};return{[Xs]:typeof e=="function"?e:void 0,setExternals(o,n){if(o==="userProvided"&&"userProvided"in r)throw new Error("Cannot call '$uses' multiple times. If you wish to override dependencies, use slots or accessors instead.");if(r[o]=n,r.userProvided&&r.pluginProvided)throw new Error("Cannot call '$uses' on functions whose metadata was provided by unplugin-typegpu.")},resolve(o,n,i,d){let c="";t==="compute"?c=`@compute @workgroup_size(${s?.join(", ")}) `:t==="vertex"?c="@vertex ":t==="fragment"&&(c="@fragment ");let _=o.makeUniqueIdentifier(xe(this),"global");if(typeof e=="string"){if(!i)throw new Error("Explicit return type is required for string implementation");if(d){for(let A of d.positionalArgs){let P=Fu(A.schemaKey);if(!P.success)throw new Error(`Invalid argument name "${A.schemaKey}"${P.error?`: ${P.error}`:""}`);if(o.isIdentifierBanned(A.schemaKey))throw new Error(`Invalid argument name "${A.schemaKey}", the identifier is a reserved keyword.`)}this.setExternals("args",{in:Object.fromEntries(d.positionalArgs.map(A=>[A.schemaKey,new NE(A.schemaKey)]))})}let w=Xu(o,Ex(r),e),S="",T="";if(t!=="normal"&&d){let{dataSchema:A,positionalArgs:P}=d,U=[];A&&Cx("in",w)&&U.push(`in: ${o.resolve(A).value}`);for(let L of P){let G=L.schemaKey;Cx(G,w)&&U.push(`${gc(L.type)}${G}: ${o.resolve(L.type).value}`)}let D=`(${U.join(", ")})`,O=Qa(i)?gc(i):"";S=`${D}${i!==_s?Qt(i)?` -> ${o.resolve(i).value} `:` -> ${O!==""?O:"@location(0)"} ${o.resolve(i).value} `:" "}`,T=w}else{let A=qE(w);if(A.args.length!==n.length)throw new Error(`WGSL implementation has ${A.args.length} arguments, while the shell has ${n.length} arguments.`);S=`(${A.args.map((P,U)=>`${P.identifier}: ${Rx(o,`parameter ${P.identifier}`,P.type,n[U])}`).join(", ")})${i===_s?" ":` -> ${Rx(o,"return type",A.ret?.type,i)} `}`,T=w.slice(A.range.end)}return o.addDeclaration(`${c}fn ${_}${S}${T}`,_),ve(_,i,"runtime")}let u=If(e),m=u?.externals();m&&this.setExternals("pluginProvided",m);let p=u?.ast;if(!p)throw new Error("Missing metadata for tgpu.fn function body (either missing 'use gpu' directive, or misconfigured `unplugin-typegpu`)");let y=p.params[1];y&&y.type==="i"&&t!=="normal"&&this.setExternals("out",{[y.name]:lo(i)});let{code:h,returnType:g}=o.resolveFunction({functionType:t,name:_,workgroupSize:s,argTypes:n,entryInput:d,params:p.params,returnType:i,body:p.body,externalMap:Ex(r)});return o.addDeclaration(h,_),ve(_,g,"runtime")}}}function Cx(e,t){return new RegExp(`\\b${e}\\b`).test(t)}function Rx(e,t,s,r){let o=e.resolve(r).value.replace(/\s/g,"");if(!s)return o;let n=s.replace(/\s/g,"");if(n!==o)throw new Error(`Type mismatch between TGPU shell and WGSL code string: ${t}, JS type "${o}", WGSL type "${n}".`);return s}function Hu(e,...t){return JE(e)?ek(e,...t):e}function JE(e){return Array.isArray(e)&&"raw"in e&&Array.isArray(e.raw)&&e.raw.every(t=>typeof t=="string")}function ek(e,...t){return e.slice(1).reduce((s,r,o)=>`${s}${t[o]}${r}`,e[0])}function qt(e,t){if(typeof e=="function")return P5(e,[]);let s=e,r={[B]:!0,argTypes:s,returnType:t??_s};return Object.assign((n,...i)=>tk(r,Hu(n,...i)),r)}function vp(e){return mt(e)&&e?.resourceType==="function"}function yp(e){return mt(e)&&e?.resourceType==="generic-function"}function M5([e,t]){return`${xe(e)??""}=${t}`}function tk(e,t){let s=[],r;yp(t)?(s=t[Mr]?.pairs??[],r=t[B].inner):r=t;let o=ri(r,"normal"),n={shell:e,resourceType:"function",[B]:{implementation:r},$uses(c){return o.setExternals("userProvided",c),this},[Xs]:o,$name(c){return ot(this,c),this},with:Ao((c,_)=>hp(d,[[dd(c)||cd(c)?c.slot:c,_]])),[kt](c){return typeof r=="string"&&(WE(r,e.argTypes,o),T5(r,e.returnType,o)),o.resolve(c,e.argTypes,e.returnType)}},i=pe({name:void 0,noComptime:!0,signature:{argTypes:e.argTypes,returnType:e.returnType},normalImpl:(...c)=>lM(()=>{try{if(typeof r=="string")throw new Error("Cannot execute on the CPU functions constructed with raw WGSL");let _=c.map((m,p)=>aa(e.argTypes[p],m)),u=r(..._);return aa(e.returnType,u)}catch(_){throw _ instanceof K0?_.appendToTrace(d):new K0(_,[d])}}),codegenImpl:(c,_)=>c.withResetIndentLevel(()=>ce`${c.resolve(d).value}(${_})`),sideEffects:!0}),d=Object.assign(i,n);return Object.defineProperty(d,"toString",{value(){return`fn:${xe(o)??""}`}}),s.length>0?hp(d,s):d}function hp(e,t){let s={resourceType:"function",shell:e.shell,[B]:{implementation:e[B].implementation},[Mr]:{inner:e,pairs:t},$uses(i){return e.$uses(i),this},$name(i){return ot(this,i),this},with:Ao((i,d)=>{let c=dd(i)||cd(i)?i.slot:i;return hp(e,[...t,[c,d]])})},r=pe({name:void 0,noComptime:!0,signature:{argTypes:e.shell.argTypes,returnType:e.shell.returnType},normalImpl:e,codegenImpl:(i,d)=>i.withResetIndentLevel(()=>ce`${i.resolve(o).value}(${d})`),sideEffects:!0}),o=Object.assign(r,s);Object.defineProperty(o,"toString",{value(){return`fn:${xe(this)??""}[${t.map(M5).join(", ")}]`}});let n=xe(e);return n&&ot(o,n),o}function P5(e,t){let s={[B]:{inner:e},resourceType:"generic-function",[Mr]:t.length>0?{inner:e,pairs:t}:void 0,$name(i){return ot(this,i),xe(e)||ot(e,i),this},[kt](i){return i.resolve(e)},with(i,d){let c=dd(i)||cd(i)?i.slot:i;return P5(e,[...t,[c,d]])}},o=Object.assign((...i)=>e(...i),s),n=xe(e);return n&&ot(o,n),Object.defineProperty(o,"toString",{value(){let i=xe(o)??"";return t.length>0?`fn*:${i}[${t.map(M5).join(", ")}]`:`fn*:${i}`}}),o}var sk={block:0,binaryExpr:1,assignmentExpr:2,logicalExpr:3,unaryExpr:4,numericLiteral:5,call:6,memberAccess:7,indexAccess:8,return:10,if:11,let:12,const:13,for:14,while:15,continue:16,break:17,forOf:18,arrayExpr:100,preUpdate:101,postUpdate:102,stringLiteral:103,objectExpr:104,conditionalExpr:105},tc={identifier:"i",destructuredObject:"d"},E5=Za({FuncParameterType:()=>tc,NodeTypeCatalog:()=>sk}),Sv=e=>({argTypes:[e],returnType:e}),Av=(...e)=>{let t=fr(e)??e;return{argTypes:t,returnType:t[0]}},At=e=>(...t)=>{let s=fr(t,e);if(!s)throw new Ts(t,e);return{argTypes:s,returnType:s[0]}};function k5(e){return(t,...s)=>{let r=t;for(let o of s)r=e(r,o);return r}}function $5(e){return(t,[s,...r])=>{let o=ce`${s}`;for(let n of r)o=ce`${e}(${o}, ${n})`;return o}}var rk=[a,xs,qa],bc=[lt,It,Oe,Vs,Pr,Ns],St=[...rk,...bc],ok=[Z,R],nk=[Xt,cs,Wt,Ct,gt,Et],Un=[...ok,...nk];function ak(e){return Tt(Math.abs,[e])}var z=pe({name:"abs",signature:Sv,normalImpl:ak,codegenImpl:(e,[t])=>ce`abs(${t})`,sideEffects:!1});function ik(e){return Tt(Math.acos,[e])}var dk=pe({name:"acos",signature:At(St),normalImpl:ik,codegenImpl:(e,[t])=>ce`acos(${t})`,sideEffects:!1});function ck(e){return Tt(Math.acosh,[e])}var _k=pe({name:"acosh",signature:At(St),normalImpl:ck,codegenImpl:(e,[t])=>ce`acosh(${t})`,sideEffects:!1});function lk(e){return Tt(Math.asin,[e])}var xp=pe({name:"asin",signature:At(St),normalImpl:lk,codegenImpl:(e,[t])=>ce`asin(${t})`,sideEffects:!1});function uk(e){return Tt(Math.asinh,[e])}var mk=pe({name:"asinh",signature:At(St),normalImpl:uk,codegenImpl:(e,[t])=>ce`asinh(${t})`,sideEffects:!1});function pk(e){return Tt(Math.atan,[e])}var fk=pe({name:"atan",signature:At(St),normalImpl:pk,codegenImpl:(e,[t])=>ce`atan(${t})`,sideEffects:!1});function vk(e){return Tt(Math.atanh,[e])}var yk=pe({name:"atanh",signature:At(St),normalImpl:vk,codegenImpl:(e,[t])=>ce`atanh(${t})`,sideEffects:!1});function hk(e,t){return Tt(Math.atan2,[e,t])}var tt=pe({name:"atan2",signature:At(St),normalImpl:hk,codegenImpl:(e,[t,s])=>ce`atan2(${t}, ${s})`,sideEffects:!1});function xk(e){return Tt(Math.ceil,[e])}var cc=pe({name:"ceil",signature:At(St),normalImpl:xk,codegenImpl:(e,[t])=>ce`ceil(${t})`,sideEffects:!1});function gk(e,t,s){return Tt(N2,[e,t,s])}var $=pe({name:"clamp",signature:Av,normalImpl:gk,codegenImpl:(e,[t,s,r])=>ce`clamp(${t}, ${s}, ${r})`,sideEffects:!1});function bk(e){return Tt(Math.cos,[e])}var H=pe({name:"cos",signature:At(St),normalImpl:bk,codegenImpl:(e,[t])=>ce`cos(${t})`,sideEffects:!1});function wk(e){return Tt(Math.cosh,[e])}var Tk=pe({name:"cosh",signature:At(St),normalImpl:wk,codegenImpl:(e,[t])=>ce`cosh(${t})`,sideEffects:!1}),Sk=pe({name:"countLeadingZeros",signature:At(Un),normalImpl:"CPU implementation for countLeadingZeros not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`countLeadingZeros(${t})`,sideEffects:!1});pe({name:"countOneBits",signature:At(Un),normalImpl:"CPU implementation for countOneBits not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`countOneBits(${t})`,sideEffects:!1});pe({name:"countTrailingZeros",signature:At(Un),normalImpl:"CPU implementation for countTrailingZeros not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`countTrailingZeros(${t})`,sideEffects:!1});var a8=pe({name:"cross",signature:At([It,Pr]),normalImpl:(e,t)=>qr.cross[e.kind](e,t),codegenImpl:(e,[t,s])=>ce`cross(${t}, ${s})`,sideEffects:!1});function Ak(e){if(typeof e=="number")return e*180/Math.PI;throw new Ys("CPU implementation for degrees on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}pe({name:"degrees",signature:At(St),normalImpl:Ak,codegenImpl:(e,[t])=>ce`degrees(${t})`,sideEffects:!1});pe({name:"determinant",signature:e=>{if(!(e.type==="mat2x2f"||e.type==="mat3x3f"||e.type==="mat4x4f"))throw new Ts([e],[Gn,Yn,Hs]);return{argTypes:[e],returnType:a}},normalImpl:"CPU implementation for determinant not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`determinant(${t})`,sideEffects:!1});function Mk(e,t){return typeof e=="number"&&typeof t=="number"?Math.abs(e-t):j(ht(e,t))}pe({name:"distance",signature:(...e)=>{let t=fr(e,St);if(!t)throw new Ts(e,St);return{argTypes:t,returnType:Lf(t[0])?xs:a}},normalImpl:Mk,codegenImpl:(e,[t,s])=>ce`distance(${t}, ${s})`,sideEffects:!1});var se=pe({name:"dot",signature:(...e)=>({argTypes:e,returnType:e[0].primitive}),normalImpl:(e,t)=>qr.dot[e.kind](e,t),codegenImpl:(e,[t,s])=>ce`dot(${t}, ${s})`,sideEffects:!1});pe({name:"dot4U8Packed",signature:{argTypes:[R,R],returnType:R},normalImpl:"CPU implementation for dot4U8Packed not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s])=>ce`dot4U8Packed(${t}, ${s})`,sideEffects:!1});pe({name:"dot4I8Packed",signature:{argTypes:[R,R],returnType:Z},normalImpl:"CPU implementation for dot4I8Packed not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s])=>ce`dot4I8Packed(${t}, ${s})`,sideEffects:!1});function Pk(e){return Tt(Math.exp,[e])}var ct=pe({name:"exp",signature:At(St),normalImpl:Pk,codegenImpl:(e,[t])=>ce`exp(${t})`,sideEffects:!1});function Ek(e){return Tt(t=>2**t,[e])}var $l=pe({name:"exp2",signature:At(St),normalImpl:Ek,codegenImpl:(e,[t])=>ce`exp2(${t})`,sideEffects:!1}),i8=pe({name:"extractBits",signature:(e,t,s)=>{let r=fr([e],Un)?.[0];if(!r)throw new Ts([e],Un);return{argTypes:[r,R,R],returnType:r}},normalImpl:"CPU implementation for extractBits not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s,r])=>ce`extractBits(${t}, ${s}, ${r})`,sideEffects:!1});pe({name:"faceForward",signature:At(bc),normalImpl:"CPU implementation for faceForward not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s,r])=>ce`faceForward(${t}, ${s}, ${r})`,sideEffects:!1});pe({name:"firstLeadingBit",signature:Sv,normalImpl:"CPU implementation for firstLeadingBit not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`firstLeadingBit(${t})`,sideEffects:!1});pe({name:"firstTrailingBit",signature:At(Un),normalImpl:"CPU implementation for firstTrailingBit not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`firstTrailingBit(${t})`,sideEffects:!1});function kk(e){return Tt(Math.floor,[e])}var q=pe({name:"floor",signature:At(St),normalImpl:kk,codegenImpl:(e,[t])=>ce`floor(${t})`,sideEffects:!1});function $k(e,t,s){if(typeof e=="number")return e*t+s;throw new Ys("CPU implementation for fma on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}pe({name:"fma",signature:At(St),normalImpl:$k,codegenImpl:(e,[t,s,r])=>ce`fma(${t}, ${s}, ${r})`,sideEffects:!1});function Uk(e){return Tt(t=>t-Math.floor(t),[e])}var ue=pe({name:"fract",signature:At(St),normalImpl:Uk,codegenImpl:(e,[t])=>ce`fract(${t})`,sideEffects:!1}),Ck={f32:Qs({fract:a,exp:Z}),f16:Qs({fract:xs,exp:Z}),abstractFloat:Qs({fract:qa,exp:Yc}),vec2f:Qs({fract:lt,exp:Xt}),vec3f:Qs({fract:It,exp:cs}),vec4f:Qs({fract:Oe,exp:Wt}),vec2h:Qs({fract:Vs,exp:Xt}),vec3h:Qs({fract:Pr,exp:cs}),vec4h:Qs({fract:Ns,exp:Wt})};pe({name:"frexp",normalImpl:"CPU implementation for frexp not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",signature:e=>{let t=Ck[e.type];if(!t)throw new Ts([e],St);return{argTypes:[e],returnType:t}},codegenImpl:(e,[t])=>ce`frexp(${t})`,sideEffects:!1});pe({name:"insertBits",signature:(e,t,s,r)=>{let o=fr([e,t],Un);if(!o)throw new Ts([e,t],Un);return{argTypes:[...o,R,R],returnType:o[0]}},normalImpl:"CPU implementation for insertBits not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s,r,o])=>ce`insertBits(${t}, ${s}, ${r}, ${o})`,sideEffects:!1});function Rk(e){if(typeof e=="number")return 1/Math.sqrt(e);throw new Ys("CPU implementation for inverseSqrt on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}pe({name:"inverseSqrt",signature:At(St),normalImpl:Rk,codegenImpl:(e,[t])=>ce`inverseSqrt(${t})`,sideEffects:!1});pe({name:"ldexp",signature:(e,t)=>{switch(e.type){case"abstractFloat":return{argTypes:[e,Yc],returnType:e};case"f32":case"f16":return{argTypes:[e,Z],returnType:e};case"vec2f":case"vec2h":return{argTypes:[e,Xt],returnType:e};case"vec3f":case"vec3h":return{argTypes:[e,cs],returnType:e};case"vec4f":case"vec4h":return{argTypes:[e,Wt],returnType:e};default:throw new Error(`Unsupported data type for ldexp: ${e.type}. Supported types are abstractFloat, f32, f16, vec2f, vec2h, vec3f, vec3h, vec4f, vec4h.`)}},normalImpl:"CPU implementation for ldexp not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s])=>ce`ldexp(${t}, ${s})`,sideEffects:!1});function zk(e){return typeof e=="number"?Math.abs(e):qr.length[e.kind](e)}var j=pe({name:"length",signature:e=>{let t=fr([e],St);if(!t)throw new Ts([e],St);return{argTypes:t,returnType:Lf(t[0])?xs:a}},normalImpl:zk,codegenImpl:(e,[t])=>ce`length(${t})`,sideEffects:!1});function Gk(e){return Tt(Math.log,[e])}var Yk=pe({name:"log",signature:At(St),normalImpl:Gk,codegenImpl:(e,[t])=>ce`log(${t})`,sideEffects:!1});function Lk(e){return Tt(Math.log2,[e])}var gp=pe({name:"log2",signature:At(St),normalImpl:Lk,codegenImpl:(e,[t])=>ce`log2(${t})`,sideEffects:!1});function Ik(e,t){return Tt(Math.max,[e,t])}var b=pe({name:"max",signature:Av,normalImpl:k5(Ik),codegenImpl:$5("max"),sideEffects:!1});function Dk(e,t){return Tt(Math.min,[e,t])}var oe=pe({name:"min",signature:Av,normalImpl:k5(Dk),codegenImpl:$5("min"),sideEffects:!1});function Fk(e,t,s){return Tt((r,o,n)=>r*(1-n)+o*n,[e,..._v([t,s])])}var X=pe({name:"mix",signature:(e,t,s)=>{if(e.type.startsWith("vec")&&!s.type.startsWith("vec")){let o=fr([s],[e.primitive]);if(!o)throw new Ts([s],[e.primitive]);return{argTypes:[e,t,o[0]],returnType:e}}let r=fr([e,t,s],St);if(!r)throw new Ts([e,t,s],St);return{argTypes:r,returnType:r[0]}},normalImpl:Fk,codegenImpl:(e,[t,s,r])=>ce`mix(${t}, ${s}, ${r})`,sideEffects:!1}),Bk={f32:Qs({fract:a,whole:a}),f16:Qs({fract:xs,whole:xs}),abstractFloat:Qs({fract:qa,whole:qa}),vec2f:Qs({fract:lt,whole:lt}),vec3f:Qs({fract:It,whole:It}),vec4f:Qs({fract:Oe,whole:Oe}),vec2h:Qs({fract:Vs,whole:Vs}),vec3h:Qs({fract:Pr,whole:Pr}),vec4h:Qs({fract:Ns,whole:Ns})};pe({name:"modf",signature:e=>{let t=Bk[e.type];if(!t)throw new Error(`Unsupported data type for modf: ${e.type}. Supported types are f32, f16, abstractFloat, vec2f, vec3f, vec4f, vec2h, vec3h, vec4h.`);return{argTypes:[e],returnType:t}},normalImpl:"CPU implementation for modf not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`modf(${t})`,sideEffects:!1});var as=pe({name:"normalize",signature:At(bc),normalImpl:e=>{let t=j(e);return Tt(s=>s/t,[e])},codegenImpl:(e,[t])=>ce`normalize(${t})`,sideEffects:!1});function Wk(e,t){return Tt((s,r)=>s**r,[e,t])}var Ce=pe({name:"pow",signature:At(St),normalImpl:Wk,codegenImpl:(e,[t,s])=>ce`pow(${t}, ${s})`,sideEffects:!1});pe({name:"quantizeToF16",signature:e=>{let t=[lt,It,Oe,a],s=fr([e],t)?.[0];if(!s)throw new Ts([e],t);return{argTypes:[s],returnType:s}},normalImpl:"CPU implementation for quantizeToF16 not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`quantizeToF16(${t})`,sideEffects:!1});function Ok(e){if(typeof e=="number")return e*Math.PI/180;throw new Ys("CPU implementation for radians on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}var zx=pe({name:"radians",signature:At(St),normalImpl:Ok,codegenImpl:(e,[t])=>ce`radians(${t})`,sideEffects:!1});pe({name:"reflect",signature:(...e)=>{let t=fr(e,bc);if(!t)throw new Ts(e,bc);return{argTypes:t,returnType:t[0]}},normalImpl:(e,t)=>ht(e,vr(2*se(t,e),t)),codegenImpl:(e,[t,s])=>ce`reflect(${t}, ${s})`,sideEffects:!1});pe({name:"refract",normalImpl:"CPU implementation for refract not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s,r])=>ce`refract(${t}, ${s}, ${r})`,signature:(e,t,s)=>({argTypes:[e,t,Lf(e)?xs:a],returnType:e}),sideEffects:!1});pe({name:"reverseBits",signature:At(Un),normalImpl:"CPU implementation for reverseBits not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`reverseBits(${t})`,sideEffects:!1});function Vk(e){if(typeof e=="number"){let t=Math.floor(e);return e===t+.5?t%2===0?t:t+1:Math.round(e)}throw new Ys("CPU implementation for round on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}var sa=pe({name:"round",signature:At(St),normalImpl:Vk,codegenImpl:(e,[t])=>ce`round(${t})`,sideEffects:!1});function Nk(e){if(typeof e=="number")return Math.max(0,Math.min(1,e));throw new Ys("CPU implementation for saturate on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}pe({name:"saturate",signature:At(St),normalImpl:Nk,codegenImpl:(e,[t])=>e.gen.emitCall("saturate",[],[t]),sideEffects:!1});function qk(e){return Tt(Math.sign,[e])}var ks=pe({name:"sign",signature:e=>{let t=[...St,Z,Xt,cs,Wt],s=fr([e],t)?.[0];if(!s)throw new Ts([e],t);return{argTypes:[s],returnType:s}},normalImpl:qk,codegenImpl:(e,[t])=>ce`sign(${t})`,sideEffects:!1});function Xk(e){return Tt(Math.sin,[e])}var Y=pe({name:"sin",signature:At(St),normalImpl:Xk,codegenImpl:(e,[t])=>ce`sin(${t})`,sideEffects:!1});function Hk(e){return Tt(Math.sinh,[e])}var jk=pe({name:"sinh",signature:At(St),normalImpl:Hk,codegenImpl:(e,[t])=>ce`sinh(${t})`,sideEffects:!1});function Kk(e,t,s){return Tt(OM,[e,t,s])}var re=pe({name:"smoothstep",signature:At(St),normalImpl:Kk,codegenImpl:(e,[t,s,r])=>ce`smoothstep(${t}, ${s}, ${r})`,sideEffects:!1});function Zk(e){return Tt(Math.sqrt,[e])}var be=pe({name:"sqrt",signature:At(St),normalImpl:Zk,codegenImpl:(e,[t])=>ce`sqrt(${t})`,sideEffects:!1});function Qk(e,t){if(typeof e=="number")return e<=t?1:0;throw new Ys("CPU implementation for step on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}var De=pe({name:"step",signature:At(St),normalImpl:Qk,codegenImpl:(e,[t,s])=>ce`step(${t}, ${s})`,sideEffects:!1});function Jk(e){if(typeof e=="number")return Math.tan(e);throw new Ys("CPU implementation for tan on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}var bp=pe({name:"tan",signature:At(St),normalImpl:Jk,codegenImpl:(e,[t])=>ce`tan(${t})`,sideEffects:!1});function e$(e){return Tt(Math.tanh,[e])}var t$=pe({name:"tanh",signature:At(St),normalImpl:e$,codegenImpl:(e,[t])=>ce`tanh(${t})`,sideEffects:!1});function s$(e){let t=Ru(e)(),s=e.columns,r=t.columns;if(s.length===2)r[0][0]=s[0][0],r[0][1]=s[1][0],r[1][0]=s[0][1],r[1][1]=s[1][1];else if(s.length===3){r[0][0]=s[0][0],r[0][1]=s[1][0],r[0][2]=s[2][0],r[1][0]=s[0][1],r[1][1]=s[1][1],r[1][2]=s[2][1];let o=r[2];o[0]=s[0][2],o[1]=s[1][2],o[2]=s[2][2]}else if(s.length===4){r[0][0]=s[0][0],r[0][1]=s[1][0],r[0][2]=s[2][0],r[0][3]=s[3][0],r[1][0]=s[0][1],r[1][1]=s[1][1],r[1][2]=s[2][1],r[1][3]=s[3][1];let o=r[2];o[0]=s[0][2],o[1]=s[1][2],o[2]=s[2][2],o[3]=s[3][2];let n=r[3];n[0]=s[0][3],n[1]=s[1][3],n[2]=s[2][3],n[3]=s[3][3]}else xc(s,"std/numeric.ts#cpuTranspose");return t}pe({name:"transpose",signature:Sv,normalImpl:s$,codegenImpl:(e,[t])=>ce`transpose(${t})`,sideEffects:!1});var r$=pe({name:"trunc",signature:At(St),normalImpl:"CPU implementation for trunc not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`trunc(${t})`,sideEffects:!1});function o$(e,t){if(typeof e!="number"||typeof t!="number")throw new Error("std.intdiv called with invalid arguments.");return Math.trunc(Math.trunc(e)/Math.trunc(t))}pe({name:"intdiv",signature:(e,t)=>{let s=fr([e,t],[R,Z]);if(!s)throw new Ts([e,t],[R,Z,Yc]);return{argTypes:s,returnType:s[0]}},normalImpl:o$,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"/",s),sideEffects:!1});function Ul(e){return lr(e)||Do(e)?Ru(e)(e):Array.isArray(e)?e.map(Ul):typeof e=="object"&&e!==null?Object.fromEntries(Object.entries(e).map(([t,s])=>[t,Ul(s)])):e}pe({name:"copy",signature:e=>({argTypes:[e],returnType:e}),normalImpl:Ul,codegenImpl(e,[t]){return ce`${t}`},sideEffects:!1});function md(e){return e.type.includes("2")?Or:e.type.includes("3")?Vr:Nr}var n$=pe({name:"allEq",signature:(...e)=>({argTypes:e,returnType:ft}),normalImpl:(e,t)=>Pv(Wc(e,t)),codegenImpl:(e,[t,s])=>ce`all(${t} == ${s})`,sideEffects:!1}),Wc=(e,t)=>Du((s,r)=>s===r,[e,t]),a$=pe({name:"eq",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:Wc,codegenImpl:(e,[t,s])=>ce`(${t} == ${s})`,sideEffects:!1}),i$=pe({name:"ne",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:(e,t)=>Js(Wc(e,t)),codegenImpl:(e,[t,s])=>ce`(${t} != ${s})`,sideEffects:!1}),ju=(e,t)=>Du((s,r)=>s({argTypes:e,returnType:md(e[0])}),normalImpl:ju,codegenImpl:(e,[t,s])=>ce`(${t} < ${s})`,sideEffects:!1}),wc=pe({name:"le",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:(e,t)=>Mv(ju(e,t),Wc(e,t)),codegenImpl:(e,[t,s])=>ce`(${t} <= ${s})`,sideEffects:!1}),c$=pe({name:"gt",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:(e,t)=>U5(Js(ju(e,t)),Js(Wc(e,t))),codegenImpl:(e,[t,s])=>ce`(${t} > ${s})`,sideEffects:!1}),wp=pe({name:"ge",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:(e,t)=>Js(ju(e,t)),codegenImpl:(e,[t,s])=>ce`(${t} >= ${s})`,sideEffects:!1});function Js(e){if(typeof e=="boolean")return!e;if(!IA(e))throw new Error("'std.not' requires a boolean or boolean vector.");switch(e.length){case 2:return Or(Js(e.x),Js(e.y));case 3:return Vr(Js(e.x),Js(e.y),Js(e.z));case 4:return Nr(Js(e.x),Js(e.y),Js(e.z),Js(e.w))}}var _$=pe({name:"not",signature:e=>{if(!Kn(e)&&!Yf(e))throw new Ts([e],[ft,Or,Vr,Nr]);return{argTypes:[e],returnType:e}},normalImpl:Js,codegenImpl:(e,[t])=>ce`!(${t})`,sideEffects:!1}),Mv=(e,t)=>Du((s,r)=>s||r,[e,t]);pe({name:"or",signature:(...e)=>({argTypes:e,returnType:e[0]}),normalImpl:Mv,codegenImpl:(e,[t,s])=>ce`(${t} | ${s})`,sideEffects:!1});var U5=(e,t)=>Js(Mv(Js(e),Js(t)));pe({name:"and",signature:(...e)=>({argTypes:e,returnType:e[0]}),normalImpl:U5,codegenImpl:(e,[t,s])=>ce`(${t} & ${s})`,sideEffects:!1});var Pv=e=>qr.all[e.kind](e),l$=pe({name:"all",signature:(...e)=>({argTypes:e,returnType:ft}),normalImpl:Pv,codegenImpl:(e,[t])=>ce`all(${t})`,sideEffects:!1});pe({name:"any",signature:(...e)=>({argTypes:e,returnType:ft}),normalImpl:e=>!Pv(Js(e)),codegenImpl:(e,[t])=>ce`any(${t})`,sideEffects:!1});pe({name:"isCloseTo",signature:(...e)=>({argTypes:e,returnType:ft}),normalImpl:(e,t,s=.01)=>{let r=Du((o,n)=>Math.abs(o-n)Qd(t)&&Qd(s)?ce`(abs(f32(${t}) - f32(${s})) <= ${r})`:!Qd(t)&&!Qd(s)?ce`all(abs(${t} - ${s}) <= (${t} - ${t}) + ${r})`:"false",sideEffects:!1});function u$(e,t,s){return typeof s=="boolean"?Ul(s?t:e):Tt((r,o,n)=>n?o:r,[e,t,s])}var ll=[a,xs,Z,R,ft,lt,It,Oe,Vs,Pr,Ns,Xt,cs,Wt,Ct,gt,Et,Or,Vr,Nr],C=pe({name:"select",signature:(e,t,s)=>{let[r,o]=fr([e,t],ll)??[e,t];return{argTypes:[r,o,s],returnType:r}},normalImpl:u$,codegenImpl:(e,[t,s,r])=>{let o=e.gen.emitCall("select",[],[t,s,r]);if(!ll.includes(t.dataType)||!ll.includes(s.dataType))throw new Error(`'${o}' is invalid, std.select requires both branches to be either scalars or vectors.`);if(t.dataType!==s.dataType){let n=e.resolve(t.dataType),i=e.resolve(s.dataType);throw new Error(`'${o}' is invalid, std.select requires both branches to be the same type, got [${n.value}, ${i.value}].`)}return o},sideEffects:!1});function Ku(e){return typeof e?.format=="string"}function m$(e,t){let s=[];if(Rc(e)){if(!Ku(t))throw new Error("Shader expected a single attribute, not a record of attributes to be passed in.");return s.push(t._layout),{usedVertexLayouts:s,bufferDefinitions:[{arrayStride:t._layout.stride,stepMode:t._layout.stepMode,attributes:[{format:t.format,offset:t.offset,shaderLocation:na(e)??0}]}]}}let r=[],o=new WeakMap,n=0;for(let[i,d]of Object.entries(e)){if(nn(d))continue;let c=t[i];if(!c)throw new Error(`An attribute by the name of '${i}' was not provided to the shader.`);let _=c._layout,u=o.get(_);u||(s.push(_),u=[],r.push({arrayStride:_.stride,stepMode:_.stepMode,attributes:u}),o.set(_,u)),n=na(d)??n,u.push({format:c.format,offset:c.offset,shaderLocation:n++})}return{usedVertexLayouts:s,bufferDefinitions:r}}var p$=["bool","f32","f16","i32","u32","vec2f","vec3f","vec4f","vec2h","vec3h","vec4h","vec2i","vec3i","vec4i","vec2u","vec3u","vec4u","vec2","vec3","vec4","mat2x2f","mat3x3f","mat4x4f","texture_external"];function f$(e){return p$.includes(e.type)}function Tp(e,[t,s]){return` ${gc(s)}${t}: ${e.resolve(s).value}, +`}function v$(e,t){if(t[B].isAbstruct)throw new Error("Cannot resolve abstract struct types to WGSL.");let s=e.makeUniqueIdentifier(xe(t),"global");return e.addDeclaration(`struct ${s} { +${Object.entries(t.propTypes).map(r=>Tp(e,r)).join("")}}`,s),s}function y$(e,t){let s=e.makeUniqueIdentifier(xe(t),"global");return e.addDeclaration(`struct ${s} { +${Object.entries(t.propTypes).map(r=>Ku(r[1])?Tp(e,[r[0],$n[r[1].format]]):Tp(e,r)).join("")} +}`,s),s}function h$(e,t){let s=e.resolve(t.elementType).value;return t.elementCount===0?`array<${s}>`:`array<${s}, ${t.elementCount}>`}function x$(e,t){let s=e.resolve(Ku(t.elementType)?$n[t.elementType.format]:t.elementType).value;return t.elementCount===0?`array<${s}>`:`array<${s}, ${t.elementCount}>`}function C5(e,t){if(zu(t))return t.type==="unstruct"?y$(e,t):t.type==="disarray"?x$(e,t):t.type==="loose-decorated"?e.resolve(Ku(t.inner)?$n[t.inner.format]:t.inner).value:e.resolve($n[t.type]).value;if(f$(t))return t.type;if(t.type==="struct")return v$(e,t);if(t.type==="array")return h$(e,t);if(t.type==="atomic")return`atomic<${C5(e,t.inner)}>`;if(t.type==="decorated")return e.resolve(t.inner).value;if(t.type==="ptr")return t.addressSpace==="storage"?`ptr`:`ptr<${t.addressSpace}, ${e.resolve(t.inner).value}>`;if(t.type==="abstractInt"||t.type==="abstractFloat"||t.type==="void"||t.type==="u16")throw new Error(`${t.type} has no representation in WGSL`);if(dl(t))return`${t.type}<${t.format}, ${Fc[t.access]}>`;if(r5(t))return t.type.startsWith("texture_depth")?t.type:`${t.type}<${t.sampleType.type}>`;if(EP(t)||PP(t))return t.type;xc(t,"resolveData")}var R5=class{[B]=!0;snippet;constructor(e){this.snippet=e}[kt](e){return e.resolveSnippet(this.snippet)}},z5=(()=>{function e(s){return s}let t=e;return ot(t,"unroll"),t.toString=()=>"unroll",t[B]=!0,t[zs]={call(s,[r]){return x2(new R5(r),r)}},t})(),Gx=new Map([[Math.abs,z],[Math.acos,dk],[Math.acosh,_k],[Math.asin,xp],[Math.asinh,mk],[Math.atan,fk],[Math.atan2,tt],[Math.atanh,yk],[Math.ceil,cc],[Math.cos,H],[Math.cosh,Tk],[Math.exp,ct],[Math.floor,q],[Math.fround,a],[Math.clz32,Sk],[Math.trunc,r$],[Math.log,Yk],[Math.log2,gp],[Math.pow,Ce],[Math.sign,ks],[Math.sin,Y],[Math.sinh,jk],[Math.sqrt,be],[Math.tan,bp],[Math.tanh,t$],[Math.max,b],[Math.min,oe]]),g$=()=>[console.log,console.debug,console.info,console.warn,console.error,console.clear],Yx=e=>pr(e)&&Us(e.inner)?e.inner.elementCount:0,b$=pe({name:"arrayLength",signature:e=>{let t=pr(e)?e:S2(e);return{argTypes:[t],returnType:Yx(t)>0?Yc:R}},normalImpl:e=>M2(e)?e.$.length:e.length,codegenImpl(e,[t]){let s=Yx(t.dataType);return s>0?`${s}`:e.gen.emitCall("arrayLength",[],[t])},sideEffects:!1});Ao((e,t,s=1)=>{if(t===void 0&&(t=e,e=0),!Number.isInteger(e))throw new Error(`'start' must be an integer, got ${e}`);if(!Number.isInteger(t))throw new Error(`'end' must be an integer, got ${t}`);if(!Number.isInteger(s)||s===0)throw new Error(`'step' must be a non-zero integer, got ${s}`);let r=[];if(r.start=e,r.end=t,r.step=s,Math.sign(s)!==Math.sign(t-e))return r;if(s>0)for(let o=e;ot;o+=s)r.push(o);return r});function Sp(e){return Array.isArray(e)&&"start"in e&&"end"in e&&"step"in e}function w$(e){return e.origin==="constant-immutable-def"?"const":"let"}function Lx(e,t){let s=qu(e,t);if(!s)throw new Qe("`for ... of ...` loops only support array or vector iterables");return s}function T$(e,t){let s=e.dataType;if(s===Ut)throw new Qe(ce`The elements in iterable ${t} are of unknown type`);if(Io(e.dataType)||e.origin==="runtime"||e.origin==="constant"||e.origin==="constant-immutable-def"||e.origin==="runtime-immutable-def")return s;if(!pr(s)){let r=Bf(e.origin,no(s));ds(r!==void 0,`Creating pointer type from origin ${e.origin}`),s=r}return A2(s)}function S$(e,t,s=!1){let{value:r,dataType:o}=t;if(Sp(r)){let{start:i,end:d,step:c}=r,_=[i,d,c].every(u=>u>=0)?R:Z;return{start:ve(i,_,"constant",!1),end:ve(d,_,"constant",!1),step:ve(c,_,"constant",!1),comparison:c<0?">":"<"}}if(!s&&!en(t))throw new Error("`for ... of ...` loops only support std.range or iterables stored in variables.\n-----\nYou can wrap iterable with `tgpu.unroll(...)`. If iterable is known at comptime, the loop will be unrolled.\n-----");let n={start:ve(0,R,"constant",!1),step:ve(1,R,"constant",!1),comparison:"<"};if(Us(o))return{...n,end:o.elementCount>0?ve(o.elementCount,R,"constant",!1):b$[zs].call(e,[t])};if(Rt(o))return{...n,end:ve(o.componentCount,R,"constant",!1)};if(s){if(Array.isArray(r))return{...n,end:ve(r.length,R,"constant",!1)};if(r instanceof ic)return{...n,end:ve(r.elements.length,R,"constant",!1)}}throw new Qe("`for ... of ...` loops only support array or vector iterables")}var{NodeTypeCatalog:dt}=E5;function jt(e){return Y5(e)?cr(e,""):gn(e,"")}function gn(e,t){if(Y5(e))return`${t}${cr(e,t)};`;if(e[0]===dt.block)return`{ +${e[1].map(s=>gn(s,t+" ")).join(` +`)} +${t}}`;if(e[0]===dt.return)return`${t}return${e[1]===void 0?"":` ${cr(e[1],"")}`};`;if(e[0]===dt.if){let s=`${t}if (${cr(e[1],t)}) ${gn(e[2],t)}`;return e[3]!==void 0?`${s} else ${gn(e[3],t)}`:s}if(e[0]===dt.let)return e[2]!==void 0?`${t}let ${e[1]} = ${cr(e[2],t)};`:`${t}let ${e[1]};`;if(e[0]===dt.const)return e[2]!==void 0?`${t}const ${e[1]} = ${cr(e[2],t)};`:`${t}const ${e[1]};`;if(e[0]===dt.for){let s=e[1]?gn(e[1],""):";",r=e[2]?cr(e[2],t):"",o=e[3]?gn(e[3],""):"",n=gn(e[4],t);return`${t}for (${s} ${r}; ${o.slice(0,-1)}) ${n}`}if(e[0]===dt.while)return`${t}while (${cr(e[1],t)}) ${gn(e[2],t)}`;if(e[0]===dt.continue)return`${t}continue;`;if(e[0]===dt.break)return`${t}break;`;if(e[0]===dt.forOf)return`${t}for (${e[1][0]===dt.const?"const":"let"} ${e[1][1]} of ${cr(e[2],t)}) ${gn(e[3],t)}`;G5(e)}function cr(e,t){if(typeof e=="string")return e;if(typeof e=="boolean")return`${e}`;if(e[0]===dt.numericLiteral)return e[1];if(e[0]===dt.stringLiteral)return JSON.stringify(e[1]);if(e[0]===dt.arrayExpr)return`[${e[1].map(s=>cr(s,t)).join(", ")}]`;if(e[0]===dt.binaryExpr)return`${ro(e[1],t)} ${e[2]} ${ro(e[3],t)}`;if(e[0]===dt.assignmentExpr)return`${cr(e[1],t)} ${e[2]} ${cr(e[3],t)}`;if(e[0]===dt.logicalExpr)return`${ro(e[1],t)} ${e[2]} ${ro(e[3],t)}`;if(e[0]===dt.unaryExpr){let s=e[1].length>1?" ":"";return`${e[1]}${s}${ro(e[2],t)}`}if(e[0]===dt.call)return`${ro(e[1],t)}(${e[2].map(s=>cr(s,t)).join(", ")})`;if(e[0]===dt.memberAccess)return Array.isArray(e[1])&&e[1][0]===dt.numericLiteral?`(${cr(e[1],t)}).${e[2]}`:`${ro(e[1],t)}.${e[2]}`;if(e[0]===dt.indexAccess)return`${ro(e[1],t)}[${cr(e[2],t)}]`;if(e[0]===dt.preUpdate)return`${e[1]}${ro(e[2],t)}`;if(e[0]===dt.postUpdate)return`${ro(e[2],t)}${e[1]}`;if(e[0]===dt.objectExpr)return`{ ${Object.entries(e[1]).map(([s,r])=>`${s}: ${cr(r,t)}`).join(", ")} }`;if(e[0]===dt.conditionalExpr)return`${ro(e[1],t)} ? ${ro(e[2],t)} : ${ro(e[3],t)}`;G5(e)}function G5(e){throw new Error(`'${JSON.stringify(e)}' was not handled by the stringify function.`)}function Y5(e){return typeof e=="string"||typeof e=="boolean"||e[0]===dt.numericLiteral||e[0]===dt.stringLiteral||e[0]===dt.arrayExpr||e[0]===dt.binaryExpr||e[0]===dt.assignmentExpr||e[0]===dt.logicalExpr||e[0]===dt.unaryExpr||e[0]===dt.call||e[0]===dt.memberAccess||e[0]===dt.indexAccess||e[0]===dt.preUpdate||e[0]===dt.postUpdate||e[0]===dt.objectExpr||e[0]===dt.conditionalExpr}var A$=[dt.memberAccess,dt.indexAccess,dt.call,dt.arrayExpr,dt.stringLiteral,dt.numericLiteral];function ro(e,t){let s=cr(e,t);return typeof e=="string"||typeof e=="boolean"||A$.includes(e[0])?s:`(${s})`}var{NodeTypeCatalog:Pt}=E5,M$=["==","!=","===","!==","<","<=",">",">=","<<",">>",">>>","+","-","*","/","%","|","^","&"],P$=["&&","||","==","!=","===","!==","<","<=",">",">="],E$={"===":a$.toString(),"!==":i$.toString(),"<":d$.toString(),"<=":wc.toString(),">":c$.toString(),">=":wp.toString()},k$=["<<",">>","<<=",">>=",">>>",">>>="],$$={"===":"==","!==":"!=",">>>":">>",get in(){throw new Error("The `in` operator is unsupported in TypeGPU functions.")},get instanceof(){throw new Error("The `instanceof` operator is unsupported in TypeGPU functions.")},get"|>"(){throw new Error("The `|>` operator is unsupported in TypeGPU functions.")},get"??"(){throw new Error("The `??` operator is unsupported in TypeGPU functions.")},">>>=":">>=",get"**="(){throw new Error("The `**=` operator is unsupported in TypeGPU functions.")},get"??="(){throw new Error("The `??=` operator is unsupported in TypeGPU functions.")},get"&&="(){throw new Error("The `&&=` operator is unsupported in TypeGPU functions.")},get"||="(){throw new Error("The `||=` operator is unsupported in TypeGPU functions.")}};function Ix(e,t,s){return s?P$.includes(t)?ft:t==="="?s:e:t==="!"?ft:e}var U$={"-":px[zs].call.bind(px),void:()=>ve(void 0,_s,"constant",!1),"!":(e,[t])=>{if(t===void 0)throw new Error("The unary operator `!` expects 1 argument, but 0 were provided.");if(hs(t))return ve(!t.value,ft,"constant",!1);let s=e.resolveSnippet(t).value;if(!Kn(t.dataType))throw new Qe(`Unary operator ! requires boolean operand. Got ${String(t.dataType)}.${Yf(t.dataType)?` For component-wise negation, use 'std.${_$.toString()}'.`:""}`);return ve(`!(${s})`,ft,"runtime",t.possibleSideEffects)}},C$={"+":Pn[zs].call.bind(Pn),"-":ht[zs].call.bind(ht),"*":vr[zs].call.bind(vr),"/":mp[zs].call.bind(mp),"**":Ce[zs].call.bind(Ce)},Dx={private:"private",workgroup:"workgroup",uniform:"uniform",mutable:"storage, read_write",readonly:"storage, read"},um=2,R$=class L5{#e=void 0;#t=[];static#s=L5.prototype.languageKey="wgsl";initGenerator(t){if(this.#e!==void 0)throw new Error("Cannot initialize shader generators twice. Create one generator per resolution.");this.#e=t}get ctx(){if(!this.#e)throw new Error("WGSL Generator has not yet been initialized. Please call initialize(ctx) before using the generator.");return this.#e}_block([t,s],r,o){this.ctx.pushBlockScope();try{if(o){let _=Object.fromEntries(Object.entries(o).map(([u,m])=>[u,Wr(m)]));this.ctx.setBlockExternals(_)}let n="",i=!1,d;this.ctx.indent();for(let _ of s){let u=this._statement(_);if(u.code.length>0&&(n+=`${u.code} +`),i||=u.definesInNearestScope??!1,u.endsWithControlFlow!==void 0){d=u.endsWithControlFlow;break}}this.ctx.dedent();let c=r&&!i;return this.ctx.blockDepth===um&&(n=n.replace(/[ ]*return\s*;\s*$/u,"")),n===""?{code:"",endsWithControlFlow:d,definesInNearestScope:!1}:c?{code:this.ctx.getDedented(n.trim()),endsWithControlFlow:d,definesInNearestScope:i}:{code:`{ +${n}${this.ctx.pre}}`,endsWithControlFlow:d,definesInNearestScope:!1}}finally{this.ctx.popBlockScope()}}_blockStatement(t,s){let{code:r,...o}=this._block(t,!0,s);return r===""?{...o,code:""}:{...o,code:`${this.ctx.pre}${r}`}}refVariable(t,s){let r=this.ctx.makeUniqueIdentifier(t,"block"),o=S2(s),n=ve(new wn(ve(r,s,"function",!1),o),o,"function",!1);return this.ctx.defineVariable(t,n),r}_emitVarDecl(t,s,r,o){return`${this.ctx.pre}${t} ${s} = ${o};`}_identifier(t){if(!t)throw new Error("Cannot resolve an empty identifier");if(t==="undefined")return ve(void 0,_s,"constant",!1);let s=this.ctx.getById(t);if(!s)throw new Error(`Identifier ${t} not found`);return s}_callShellless(t,s){let r=yp(t),o=r?t[Mr]?.pairs??[]:[],n=r?t[B].inner:t;return this.ctx.withRenamed(n,xe(t),()=>this.ctx.withSlots(o,()=>{let i=this.ctx.shelllessRepo.get(n,s);if(!i)return;let d=s.map((c,_)=>{let u=i.argTypes[_];return Fr(this.ctx,c,u,!1)});return this.ctx.withResetIndentLevel(()=>{let c=this.ctx.resolve(i);return ve(ce`${c.value}(${d})`,c.dataType,"runtime")})}))}_typedExpression(t,s){let r=this.ctx.expectedType;this.ctx.expectedType=s;try{let o=this._expression(t);return s instanceof Wo?o:Fr(this.ctx,o,s)}finally{this.ctx.expectedType=r}}_expression(t){if(typeof t=="string")return this._identifier(t);if(typeof t=="boolean")return ve(t,ft,"constant",!1);if(t[0]===Pt.logicalExpr){let[s,r,o,n]=t,i=this._expression(r);if(hs(i)){let u=Kn(this.ctx.expectedType);if(!(o==="&&"?i.value:!i.value))return u?ve(o==="||",ft,"constant",!1):Wr(i.value);let m=this._expression(n);if(hs(m)){let p=Wr(m.value);return u?Fr(this.ctx,p,ft,!1):p}if(m.dataType===Ut)throw new Qe(`Right-hand side of '${o}' is of unknown type`);return u?Fr(this.ctx,m,ft,!1):m}let d=this._expression(n);if(i.dataType===Ut)throw new Qe(`Left-hand side of '${o}' is of unknown type`);if(!hs(d)&&d.dataType===Ut)throw new Qe(`Right-hand side of '${o}' is of unknown type`);if(!Kn(i.dataType)||!Kn(d.dataType))throw new Qe(`Logical expression '${o}' requires boolean operands. Got '${String(i.dataType)}' and '${String(d.dataType)}'.`);let c=this.ctx.resolveSnippet(i).value,_=this.ctx.resolveSnippet(d).value;return ve(`(${c} ${o} ${_})`,ft,"runtime",i.possibleSideEffects||d.possibleSideEffects)}if(t[0]===Pt.binaryExpr||t[0]===Pt.assignmentExpr){let[s,r,o,n]=t,i=this._expression(r),d=this._expression(n);if(d.value instanceof wn)throw new Qe(ce`Cannot assign a ref to an existing variable '${jt(r)}', define a new variable instead.`);if(o==="==")throw new Error("Please use the === operator instead of ==");if(o==="!=")throw new Error("Please use the !== operator instead of !=");let c=E$[o];if(c&&hs(i)&&hs(d)){let y=i.value,h=d.value;switch(o){case"===":return ve(y===h,ft,"constant",!1);case"!==":return ve(y!==h,ft,"constant",!1)}if(typeof y!="number"||typeof h!="number")throw new Qe(`Comparison '${o}' requires numeric operands.${Rt(i.dataType)&&Rt(d.dataType)?` For component-wise comparison, use 'std.${c}'.`:""}`);switch(o){case"<":return ve(y":return ve(y>h,ft,"constant",!1);case">=":return ve(y>=h,ft,"constant",!1)}}if(i.dataType===Ut)throw new Qe(`Left-hand side of '${o}' is of unknown type`);if(d.dataType===Ut)throw new Qe(`Right-hand side of '${o}' is of unknown type`);let _=C$[o];if(_)return _(this.ctx,[i,d]);let u,m;if(k$.includes(o)){let y=i.dataType;if(!Qb(y)&&!OA(y))throw new Qe(`Expression: ${jt(t)} +Left-hand side of '${o}' must be an integer or vector of integers. +Got ${this.ctx.resolve(y).value}.`);let h=Rt(y)?y.primitive:y;if([">>>",">>>="].includes(o)&&h.type!=="u32")throw new Qe(`Expression: ${jt(t)} +Left-hand side of '${o}' must be an unsigned integer or vector of unsigned integers. +Got ${this.ctx.resolve(y).value}. +Use ${o.slice(1)} instead.`);[">>",">>="].includes(o)&&h.type==="u32"&&Vt.warn("deprecated",` +Expression: ${jt(t)} +Using u32 or vecN as left-hand side of ${o} is deprecated. +Use >${o} instead.`);let g;if(Rt(y)){let w=y.componentCount;g=w===2?Ct:w===3?gt:Et}else g=R;m=Fr(this.ctx,d,g,!1),u=i}else{let y=s===Pt.assignmentExpr?[i.dataType]:void 0;[u,m]=Qn(this.ctx,[i,d],y)??[i,d]}let p=Ix(u.dataType,o,m.dataType);if(s===Pt.assignmentExpr&&(Fx(u,t),this.tryMarkModified(r),o==="="&&en(d)&&!Io(d.dataType)))throw new Qe(`'${jt(t)}' is invalid, because references cannot be assigned. +----- +Try '${jt(r)} = ${this.ctx.resolve(Ca(d.dataType)).value}(${jt(n)})' to copy the value instead. +-----`);if(c){let y=["===","!=="].includes(o);if(!(np(u.dataType)&&np(m.dataType)||y&&Kn(u.dataType)&&Kn(m.dataType))){let h=Rt(u.dataType)&&Rt(m.dataType);throw new Qe(`Comparison '${o}' requires numeric${y?" or boolean":""} operands. Got '${String(u.dataType)}' and '${String(m.dataType)}'.${h?` For component-wise comparison, use 'std.${c}'.`:""}`)}}return ve(this.emitBinaryOp(u,$$[o]??o,m),p,"runtime",s===Pt.assignmentExpr||i.possibleSideEffects||d.possibleSideEffects)}if(t[0]===Pt.postUpdate)throw new Error(`'${jt(t)}' is invalid because update is only allowed as a statement.`);if(t[0]===Pt.unaryExpr){let[s,r,o]=t,n=this._expression(o),i=U$[r];if(i)return i(this.ctx,[n]);let d=this.ctx.resolveSnippet(n).value,c=Ix(n.dataType,r);return ve(`${r}${d}`,c,"runtime",n.possibleSideEffects)}if(t[0]===Pt.memberAccess){let[s,r,o]=t,n=Bi(this._expression(r),o);if(!n)throw new Error(`Property '${o}' not found on '${jt(r)}'`);return n}if(t[0]===Pt.indexAccess){let[s,r,o]=t,n=this._expression(r),i=this._expression(o),d=qu(n,Qn(this.ctx,[i],[R,Z],!1)?.[0]??i);if(!d)throw new Error(`Index access '${jt(t)}' is invalid. If the value is an array, to address this, consider one of the following approaches: (1) declare the array using 'tgpu.const', (2) store the array in a buffer, or (3) define the array within the GPU function scope.`);return d}if(t[0]===Pt.numericLiteral){let s=typeof t[1]=="string"?on(G$(t[1])):on(t[1]);return ds(s,`Expected ${jt(t)} to be valid numeric literal`),s}if(t[0]===Pt.call){let[s,r,o]=t,n=this._expression(r),i=Gx.has(n.value)?ve(Gx.get(n.value),Ut,"runtime",n.possibleSideEffects):n;if(g$().includes(i.value))return this.ctx.generateLog(i.value,o.map(_=>this._expression(_)));if(Qt(i.value)){if(o.length>1)throw new Qe("Struct schemas should always be called with at most 1 argument");if(!o[0])return ve(`${this.ctx.resolve(i.value).value}()`,i.value,"runtime",!1);let _=this._typedExpression(o[0],i.value);return ve(this.ctx.resolveSnippet(_).value,i.value,"runtime",_.possibleSideEffects)}if(Us(i.value)){if(o.length>1)throw new Qe("Array schemas should always be called with at most 1 argument");if(!o[0])return this.typeInstantiation(i.value,[]);let _=this._typedExpression(o[0],i.value);return _.value instanceof ic?this.typeInstantiation(i.value,_.value.elements):ve(this.ctx.resolveSnippet(_).value,i.value,"runtime",_.possibleSideEffects)}if(i.value===wv)throw new Error("Constants cannot be defined within TypeGPU function scope. To address this, move the constant definition outside the function scope.");if(sP(i.value)){if(!o[0])throw new Qe(`An infix operator '${xe(i.value.operator)}' was called without any arguments`);let _=Wr(i.value.lhs),u=this._expression(o[0]);return i.value.operator[zs].call(this.ctx,[_,u])}if((i.value===mM||i.value===z5)&&o[0]&&this.tryMarkModified(o[0]),Tl(i.value)){let _=i.value[zs],u=_.strictSignature,m;u?m=o.map((p,y)=>{let h=u.argTypes[y];if(!h)throw new Qe(`Call '${jt(t)}' is invalid since the function expected fewer arguments`);return this._typedExpression(p,h)}):m=o.map(p=>this._expression(p));try{return _.call(this.ctx,m)}catch(p){throw p instanceof Pi?p:new Pi(p,[{toString:()=>`fn:${xe(i.value)}`}])}}if(!mt(i.value)||yp(i.value)){let _=o.map(m=>this._expression(m)),u=this._callShellless(i.value,_);if(u)return u}let d=Object.getOwnPropertyNames(Math).find(_=>Math[_]===i.value);if(d)throw new Error(`Unsupported Math functionality 'Math.${d}()'. Use an std alternative, or implement the function manually.`);let c=Object.getOwnPropertyNames(console).find(_=>console[_]===i.value);throw c?new Error(`Unsupported console functionality 'console.${c}()'.`):new Error(`Function '${xe(i.value)??String(i.value)}' is not marked with the 'use gpu' directive and cannot be used in a shader`)}if(t[0]===Pt.objectExpr){let s=t[1],r=this.ctx.expectedType;if(r instanceof Wo){let o=Object.fromEntries(Object.entries(s).map(([d,c])=>{let _=r.accessProp(d),u;if(_)u=this._typedExpression(c,_.type);else{if(u=this._expression(c),u.dataType===Ut)throw new Qe(ce`Property ${d} in object literal has a value of unknown type: '${u}'`);_=r.provideProp(d,Ca(no(u.dataType)))}return[_.prop,u]})),n=r.completeStruct,i=ex(this.ctx,n,o);return ve(ce`${this.ctx.resolve(r).value}(${i})`,n,"runtime")}if(Qt(r)){let o=Object.fromEntries(Object.entries(r.propTypes).map(([i,d])=>{let c=s[i];if(c===void 0)throw new Qe(`Missing property ${i} in object literal for struct ${r}`);return[i,this._typedExpression(c,d)]})),n=ex(this.ctx,r,o);return ve(ce`${this.ctx.resolve(r).value}(${n})`,r,"runtime",n.some(i=>i.possibleSideEffects))}throw new Qe(`No target type could be inferred for object '${jt(t)}', please wrap the object in the corresponding schema.`)}if(t[0]===Pt.arrayExpr){let[s,r]=t,o=this.ctx.expectedType,n,i;if(Us(o)){if(n=o.elementType,i=r.map(_=>this._typedExpression(_,n)),i.length!==o.elementCount)throw new Qe(`Cannot create value of type '${o}' from an array of length: ${i.length}`)}else{let _=r.map(m=>this._expression(m));if(_.length===0)throw new Qe("Cannot infer the type of an empty array literal.");let u=Qn(this.ctx,_);if(!u)throw new Qe(`Values '${jt(t)}' cannot be automatically converted to a common type. Consider wrapping the array in an appropriate schema`);i=u,n=no(i[0]?.dataType)}let d=pt(n,i.length),c=i.every(_=>_.origin==="constant");return ve(new ic(d,i),d,c?"constant":"runtime",i.some(_=>_.possibleSideEffects))}if(t[0]===Pt.conditionalExpr){let[s,r,o,n]=t,i=this._expression(r);if(hs(i))return i.value?this._expression(o):this._expression(n);{let d=Fr(this.ctx,i,ft,!1),c=this._expression(o),_=this._expression(n),[u,m]=Qn(this.ctx,[c,_],ll)??[];if(!u||!m||c.possibleSideEffects||_.possibleSideEffects||en(c)&&!Io(c.dataType)||en(_)&&!Io(_.dataType))throw new Error(`Ternary operator '${jt(t)}' is invalid. For more complex branching, please use 'std.select' or if/else statements.`);return ve(ce`select(${m}, ${u}, ${d})`,u.dataType,"runtime",i.possibleSideEffects)}}if(t[0]===Pt.stringLiteral)return ve(t[1],Ut,"constant",!1);if(t[0]===Pt.preUpdate)throw new Error("Cannot use pre-updates in TypeGPU functions.");z$(t)}declareGlobalConst(t){let s=this.ctx.resolve(t.dataType).value,r=this.ctx.resolveSnippet(t.init).value;return this.ctx.addDeclaration(`const ${t.id}: ${s} = ${r};`,t.id),ve(t.id,t.dataType,"constant-immutable-def")}declareGlobalVar(t){let s="";return t.group!==void 0&&(s+=`@group(${t.group}) `),t.binding!==void 0&&(s+=`@binding(${t.binding}) `),t.scope in Dx?s+=`var<${Dx[t.scope]}> `:s+="var ",s+=`${t.id}: ${this.ctx.resolve(t.dataType).value}`,this.ctx.addDeclaration(t.init?`${s} = ${this.ctx.resolveSnippet(t.init).value};`:`${s};`,t.id),ve(t.id,t.dataType,t.scope)}functionDefinition(t){ds(this.ctx.blockDepth===um-1,`Expecting exactly ${um-1} block(s) before going into the first function block scope`);let s=this._block(t.body,!1),r=this.ctx.topFunctionScope;ds(r,"Expected function scope to be present");let o=Object.fromEntries([...r.placeholderForVariable.entries()].map(([_,u])=>[u,r.modifiedVariables.has(_)?"var":"let"]));if(Object.keys(o).length>0){let _=new RegExp(Object.keys(o).join("|"),"gi");s.code=s.code.replace(_,u=>o[u]??"#ERR")}let n=t.determineReturnType(),i=t.args.filter(_=>_.used||t.functionType==="normal").map(_=>`${gc(_.decoratedType)}${_.name}: ${this.ctx.resolve(_.decoratedType).value}`).join(", "),d=n.type!=="void"?`(${i}) -> ${gc(n)}${this.ctx.resolve(n).value} `:`(${i}) `,c="";if(t.functionType==="compute"){if(!t.workgroupSize)throw new Error("Compute shaders must have a workgroup size");c=`@compute @workgroup_size(${t.workgroupSize.join(", ")}) `}else t.functionType==="vertex"?c="@vertex ":t.functionType==="fragment"&&(c="@fragment ");return`${c}fn ${t.name}${d}${s.code||"{}"}`}emitTypeAnnotation(t){return C5(this.ctx,t)}typeInstantiation(t,s){return s.length===1&&s[0]?.dataType===t?ve(ce`${s[0]}`,t,rM(s[0].origin),s[0].possibleSideEffects):ve(ce`${this.ctx.resolve(t).value}(${s})`,t,"runtime",s.some(r=>r.possibleSideEffects))}numericLiteral(t,s){if(!Number.isFinite(t))throw new Error(`Value '${t}' (${s.type}) cannot be resolved due to WGSL's Finite Math Assumption (see: https://www.w3.org/TR/WGSL/#finite-math-assumption). This value might be a result of a comptime-evaluated operation.`);if(s.type==="abstractInt")return ve(`${t}`,s,"constant",!1);if(s.type==="u32")return ve(`${t}u`,s,"constant",!1);if(s.type==="i32")return ve(`${t}i`,s,"constant",!1);let r=t.toExponential(),o=s.type==="abstractFloat"&&Number.isInteger(t)?`${t}.`:`${t}`,n=r.lengththis.ctx.resolveSnippet(i).value).join(", "),n=r.map(i=>this.ctx.resolveSnippet(i).value).join(", ");return o.length>0?`${t}<${o}>(${n})`:`${t}(${n})`}emitBinaryOp(t,s,r){let o=this.ctx.resolveSnippet(t).value,n=this.ctx.resolveSnippet(r).value;return M$.includes(s)?`(${o} ${s} ${n})`:`${o} ${s} ${n}`}_return(t){let s=t[1];if(s!==void 0){let r=this.ctx.topFunctionReturnType,o=r?this._typedExpression(s,r):this._expression(s);if(o.value===void 0&&Cu(o.dataType))return this.ctx.reportReturnType(_s),`${this.ctx.pre}return;`;if(o.value instanceof wn)throw new Qe(`Cannot return '${jt(s)}' because it is a d.ref`);if(o.origin==="argument"&&!Io(o.dataType)&&this.ctx.topFunctionScope?.functionType==="normal")throw new Qe(`'${jt(t)}' is invalid, cannot return references to arguments. Copy the argument before returning it.`);if(!r&&en(o)&&!Io(o.dataType)&&o.origin!=="local-def"){let n=jt(s),i=this.ctx.resolve(Ca(o.dataType)).value;throw new Qe(`'return ${n};' is invalid, cannot return references. +----- +Try 'return ${i}(${n});' instead. +-----`)}return o=Fr(this.ctx,o,Ca(o.dataType),!1),ds(o.dataType!==Ut,"Return type should be known"),this.ctx.reportReturnType(o.dataType),ce`${this.ctx.pre}return ${o};`}return this.ctx.reportReturnType(_s),`${this.ctx.pre}return;`}_letStatement(t){let[s,r,o]=t;if(o===void 0)throw new Error(`'${jt(t)}' is invalid because all variables need initializers.`);let n=this._expression(o);if(n.value instanceof wn){let y=jt(o);throw new Qe(`'let ${r} = ${y}' is invalid, cannot initialize 'let' variables with d.ref() +----- +- Try 'const ${r} = ${y}'. +-----`)}let i=n.dataType;if(i===Ut){let y=jt(o);throw new Qe(`'let ${r} = ${y}' is invalid, cannot determine WGSL type of '${y}' +----- +- Try using or defining a schema that matches your desired value the most, and wrap the value with it: 'let ${r} = Schema(${y})' +-----`)}if(en(n)&&!Io(n.dataType)){let y=jt(o),h=this.ctx.resolve(Ca(n.dataType)).value;throw new Qe(`'let ${r} = ${y}' is invalid, because references cannot be assigned to 'let' variable declarations. +----- +- Try 'let ${r} = ${h}(${y})' if you need to reassign '${r}' later +- Try 'const ${r} = ${y}' if you won't reassign '${r}' later. +-----`)}let d=no(i),c=ve(this.ctx.makeUniqueIdentifier(r,"block"),d,"local-def",!1);this.ctx.defineVariable(r,c);let _=Fr(this.ctx,n,i,!1),u=this.ctx.resolveSnippet(_).value,m=this.ctx.topFunctionScope;ds(m,`Expected function scope to be present for ${r}`);let p=`#VAR_${m.placeholderForVariable.size}#`;return m.placeholderForVariable.set(c,p),{code:this._emitVarDecl(p,c.value,d,u),definesInNearestScope:!0}}_constStatement(t){let[s,r,o]=t;if(o===void 0)throw new Error(`'${jt(t)}' is invalid because all variables need initializers.`);let n=this._expression(o);if(n.value instanceof wn){if(n.dataType!==Ut)throw new Qe("Cannot store d.ref() in a variable if it references another value. Copy the value passed into d.ref() instead.");let g=n.value.snippet,w=this.refVariable(r,no(g.dataType));return{code:ce`${this.ctx.pre}var ${w} = ${Fr(this.ctx,g,g.dataType,!1)};`,definesInNearestScope:!0}}let i=Io(n.dataType),d="local-def",c="",_=n.dataType;if(_===Ut){let g=jt(o);throw new Qe(`'const ${r} = ${g}' is invalid, cannot determine WGSL type of '${g}' +----- +- Try using or defining a schema that matches your desired value the most, and wrap the value with it: 'const ${r} = Schema(${g})' +-----`)}if(n.origin==="argument")c="let",d=i?"local-def":"argument";else if(n.origin==="constant-immutable-def")c="const",d="constant-immutable-def";else if(n.origin==="runtime-immutable-def")c="let",d="runtime-immutable-def";else if(i)c=n.origin==="constant"?"const":"let",d="local-def";else if(!en(n))c="",d="local-def";else return this._aliasConstStatement(r,o,n);let u=no(_),m=ve(this.ctx.makeUniqueIdentifier(r,"block"),u,d,!1);this.ctx.defineVariable(r,m);let p=Fr(this.ctx,n,_,!1),y=this.ctx.resolveSnippet(p).value,h;if(c===""){let g=this.ctx.topFunctionScope;ds(g,`Expected function scope to be present for ${r}`),h=`#VAR_${g.placeholderForVariable.size}#`,g.placeholderForVariable.set(m,h)}else h=c;return{code:this._emitVarDecl(h,m.value,u,y),definesInNearestScope:!0}}_aliasConstStatement(t,s,r){let o=r.dataType;if(!pr(o)){let _=Bf(r.origin,no(o));ds(_!==void 0,`Creating pointer type from origin ${r.origin}`),o=_}o=A2(o),this.tryMarkModified(s);let n=no(o),i=ve(this.ctx.makeUniqueIdentifier(t,"block"),n,r.origin,!1);this.ctx.defineVariable(t,i);let d=Fr(this.ctx,r,o,!1),c=this.ctx.resolveSnippet(d).value;return{code:this._emitVarDecl("let",i.value,n,c),definesInNearestScope:!0}}_statement(t){if(typeof t=="string"){let o=this._identifier(t),n=o.value!==void 0&&o.value!==null?this.ctx.resolveSnippet(o).value:"";return{code:n?`${this.ctx.pre}${n};`:"",definesInNearestScope:!1}}if(typeof t=="boolean")return{code:`${this.ctx.pre}${t?"true":"false"};`,definesInNearestScope:!1};if(t[0]===Pt.return)return{code:this._return(t),endsWithControlFlow:"return",definesInNearestScope:!1};if(t[0]===Pt.if){let[o,n,i,d]=t,c=this._typedExpression(n,ft);if(typeof c.value=="boolean"){let m=c.value?i:d;return m===void 0?{code:"",definesInNearestScope:!1}:(Array.isArray(m)||(m=ka(m)),m[0]===Pt.block&&m[1].length===1&&m[1][0][0]===Pt.if?this._statement(m[1][0]):m[0]===Pt.if?this._statement(m):this._blockStatement(ka(m)))}let _=this._block(ka(i),!1),u=d?this._block(ka(d),!1).code:void 0;return u?{code:ce`\ +${this.ctx.pre}if (${c}) ${_.code||"{}"} +${this.ctx.pre}else ${u}`,definesInNearestScope:!1}:{code:ce`${this.ctx.pre}if (${c}) ${_.code||"{}"}`,definesInNearestScope:!1}}if(t[0]===Pt.let)return this._letStatement(t);if(t[0]===Pt.const)return this._constStatement(t);if(t[0]===Pt.block)return this._blockStatement(t);if(t[0]===Pt.for){let[o,n,i,d,c]=t,_=this.#t;this.#t=[];try{this.ctx.pushBlockScope();let[u,m,p]=this.ctx.withResetIndentLevel(()=>[n?this._statement(n).code:void 0,i?this._typedExpression(i,ft):void 0,d?this._statement(d).code:void 0]),y=u?u.slice(0,-1):"",h=p?p.slice(0,-1):"",g=this._block(ka(c),!1).code;return{code:ce`${this.ctx.pre}for (${y}; ${m}; ${h}) ${g||"{}"}`,definesInNearestScope:!1}}finally{this.#t=_,this.ctx.popBlockScope()}}if(t[0]===Pt.while){let o=this.#t;this.#t=[];try{let[n,i,d]=t,c=this._typedExpression(i,ft),_=this.ctx.resolveSnippet(c).value,u=this._block(ka(d),!1).code;return{code:`${this.ctx.pre}while (${_}) ${u||"{}"}`,definesInNearestScope:!1}}finally{this.#t=o}}if(t[0]===Pt.forOf){let[o,n,i,d]=t;if(n[0]!==Pt.const)throw new Qe("Only `for (const ... of ... )` loops are supported");this.tryMarkModified(i);let c=!1,_=this.#t;try{this.ctx.pushBlockScope();let u=this._expression(i),m=u.value instanceof R5,p=m?u.value.snippet:u,y=S$(this.ctx,p,m),h=n[1],g=ka(d);if(m){if(!hs(y.end))throw new Error("Cannot unroll loop. Length of iterable is unknown at comptime.");let A=y.end.value;if(A===0)return{code:"",definesInNearestScope:!1};let{value:P}=p,U=Sp(P)?P.map(W=>Wr(W)):P instanceof ic?P.elements:Array.from({length:A},(W,K)=>Lx(p,ve(K,R,"constant"))),D=U[0];if(!en(D)&&!Io(D.dataType))throw new Qe(`Cannot unroll '${jt(i)}'. The elements of iterable are constructed in place but are not value types.`);let O="",L,G=!1;for(let W=0;W`#${te}`).join(" / ")} +${Q.code} +`,Q.endsWithControlFlow!==void 0){L=Q.endsWithControlFlow;break}}return{code:`${O}${this.ctx.pre}// ---`,endsWithControlFlow:L,definesInNearestScope:G}}this.#t=[];let w=this.ctx.makeUniqueIdentifier("i","block"),S=ce`${this.ctx.pre}for (var ${w} = ${y.start}; ${w} ${y.comparison} ${y.end}; ${w} += ${y.step})`,T="";if(Sp(p.value))T=this._block(g,!1,{[h]:ve(w,y.start.dataType,"runtime",!1)}).code;else{this.ctx.indent(),c=!0;let A=this.ctx.makeUniqueIdentifier(h,"block"),P=Lx(p,ve(w,R,"runtime")),U=w$(P),D=T$(P,p);T=`{ +${ce`${this.ctx.pre}${U} ${A} = ${Fr(this.ctx,P,D,!1)};`} +${this._blockStatement(g,{[h]:ve(A,D,P.origin,!1)}).code} +`,this.ctx.dedent(),T+=`${this.ctx.pre}}`,c=!1}return{code:ce`${S} ${T.trim()||"{}"}`,definesInNearestScope:!1}}finally{c&&this.ctx.dedent(),this.#t=_,this.ctx.popBlockScope()}}if(t[0]===Pt.postUpdate){let[o,n,i]=t,d=this._expression(i),c=this.ctx.resolveSnippet(d).value;return Fx(d,t),this.tryMarkModified(i),{code:`${this.ctx.pre}${c}${n};`,definesInNearestScope:!1}}if(t[0]===Pt.continue){if(this.#t.length>0)throw new Qe("Cannot unroll loop containing `continue`");return{code:`${this.ctx.pre}continue;`,endsWithControlFlow:"continue",definesInNearestScope:!1}}if(t[0]===Pt.break){if(this.#t.length>0)throw new Qe("Cannot unroll loop containing `break`");return{code:`${this.ctx.pre}break;`,endsWithControlFlow:"break",definesInNearestScope:!1}}let s=this._expression(t),r=s.value!==void 0&&s.value!==null?this.ctx.resolveSnippet(s).value:"";return{code:r?`${this.ctx.pre}${r};`:"",definesInNearestScope:!1}}tryMarkModified(t){if(!t)return;let s=Y$(t);if(s!==void 0){let r=this.ctx.getById(s),o=this.ctx.topFunctionScope;r&&o&&o.placeholderForVariable.has(r)&&o.modifiedVariables.add(r)}}};function Fx(e,t){if(e.origin==="constant"||e.origin==="constant-immutable-def"||e.origin==="runtime-immutable-def")throw hs(e)?new Qe(`'${jt(t)}' is invalid, because the left side is defined outside of the shader, and therefore is immutable during its execution. Try using tgpu.privateVar or buffers.`):new Qe(`'${jt(t)}' is invalid, because the left side is a constant.`);if(e.origin==="uniform")throw new Qe(`'${jt(t)}' is invalid, because uniform buffers cannot be mutated.`);if(e.origin==="readonly")throw new Qe(`'${jt(t)}' is invalid, because readonly buffers cannot be mutated.`);if(e.origin==="argument")throw new Qe(`'${jt(t)}' is invalid, because non-pointer arguments cannot be mutated.`)}function z$(e){throw new Error(`'${io(e)}' was not handled by the WGSL generator.`)}function G$(e){return/^0x[0-9a-f]+$/i.test(e)?Number.parseInt(e):/^0b[01]+$/i.test(e)?Number.parseInt(e.slice(2),2):Number.parseFloat(e)}function ka(e){return typeof e!="object"||e[0]!==Pt.block?[Pt.block,[e]]:e}function Y$(e){let t=e;for(;Array.isArray(t)&&(t[0]===Pt.memberAccess||t[0]===Pt.indexAccess);)t=t[1];if(typeof t=="string")return t}var L$=(()=>{try{return new Function("return true"),!0}catch{return!1}})(),Bx=new WeakMap,Wx=!1,I_={u32:"u32",vec2u:"u32",vec3u:"u32",vec4u:"u32",u16:"u16",i32:"i32",vec2i:"i32",vec3i:"i32",vec4i:"i32",f32:"f32",vec2f:"f32",vec3f:"f32",vec4f:"f32",f16:"f16",vec2h:"f16",vec3h:"f16",vec4h:"f16",mat2x2f:"f32",mat3x3f:"f32",mat4x4f:"f32"},I$={uint8:"u8",uint8x2:"u8",uint8x4:"u8",sint8:"i8",sint8x2:"i8",sint8x4:"i8",unorm8:"u8",unorm8x2:"u8",unorm8x4:"u8",snorm8:"i8",snorm8x2:"i8",snorm8x4:"i8",uint16:"u16",uint16x2:"u16",uint16x4:"u16",sint16:"i16",sint16x2:"i16",sint16x4:"i16",unorm16:"u16",unorm16x2:"u16",unorm16x4:"u16",snorm16:"i16",snorm16x2:"i16",snorm16x4:"i16",float16:"f16",float16x2:"f16",float16x4:"f16",float32:"f32",float32x2:"f32",float32x3:"f32",float32x4:"f32",uint32:"u32",uint32x2:"u32",uint32x3:"u32",uint32x4:"u32",sint32:"i32",sint32x2:"i32",sint32x3:"i32",sint32x4:"i32"},D_={u32:"setUint32",i32:"setInt32",f32:"setFloat32",u16:"setUint16",i16:"setInt16",f16:"setFloat16",u8:"setUint8",i8:"setInt8"},D$={unorm8:e=>`Math.round(${e} * 255)`,unorm8x2:e=>`Math.round(${e} * 255)`,unorm8x4:e=>`Math.round(${e} * 255)`,snorm8:e=>`Math.round(${e} * 127)`,snorm8x2:e=>`Math.round(${e} * 127)`,snorm8x4:e=>`Math.round(${e} * 127)`,unorm16:e=>`Math.round(${e} * 65535)`,unorm16x2:e=>`Math.round(${e} * 65535)`,unorm16x4:e=>`Math.round(${e} * 65535)`,snorm16:e=>`Math.round(${e} * 32767)`,snorm16x2:e=>`Math.round(${e} * 32767)`,snorm16x4:e=>`Math.round(${e} * 32767)`},Ox={"unorm10-10-10-2":{writeFunction:"setUint32",generator:(e,t)=>`output.setUint32(${e}, ((${t}.x*1023&0x3FF)<<22)|((${t}.y*1023&0x3FF)<<12)|((${t}.z*1023&0x3FF)<<2)|(${t}.w*3&3), littleEndian); +`},"unorm8x4-bgra":{writeFunction:"setUint8",generator:(e,t)=>["z","y","x","w"].map((s,r)=>`output.setUint8((${e} + ${r}), Math.round(${t}.${s} * 255), littleEndian); +`).join("")}};function Vx(e,t,s,r=0,o=!1){let n=(c,_,u)=>o?`if (${_} < endOffset) { output.${c}(${_}, ${u}, littleEndian); } +`:`output.${c}(${_}, ${u}, littleEndian); +`,i=(c,_)=>o?`if (${c} < endOffset) { +${_}} +`:_;function d(c,_,u,m){let p=["i","j","k"][m]||`i${m}`;if(Uu(c)||zn(c))return d(c.inner,_,u,m);if(Qt(c)||un(c))return Object.entries(Nu(c)).map(([h,g])=>{let w=c.propTypes[h];return w?d(w,`(${_} + ${g.offset})`,`${u}.${h}`,m):""}).join("");if(Us(c)||Ja(c)){if(c.elementCount===0)throw new Error("Cannot write using a runtime-sized schema.");let h=qs(_t(c.elementType),rs(c)),g=c.elementCount*h,w=o?`Math.min(${u}.byteLength, Math.max(0, endOffset - (${_})))`:`Math.min(${u}.byteLength, ${g})`,S=`if (ArrayBuffer.isView(${u})) { +`;return S+=` new Uint8Array(output.buffer).set(new Uint8Array(${u}.buffer, ${u}.byteOffset, ${w}), output.byteOffset + (${_})); +`,S+=`} else { +`,S+=`for (let ${p} = 0; ${p} < ${c.elementCount}; ${p}++) { +`,o&&(S+=`if ((${_} + ${p} * ${h}) >= endOffset) return; +`),S+=d(c.elementType,`(${_} + ${p} * ${h})`,`${u}[${p}]`,m+1),S+=`} +`,S+=`} +`,S}if(Rt(c)){if(Yf(c))throw new Error("Compiled writers do not support boolean vectors");let h=I_[c.type],g=_t(c.primitive),w=D_[h];return Array.from({length:c.componentCount},(S,T)=>n(w,`(${_} + ${T*g})`,`${u}[${T}]`)).join("")}if(rn(c)){let h=D_[I_[c.type]],g=Kb(c)?2:Zb(c)?3:4,w=qs(g*4,8),S=["x","y","z","w"],T=w/4;return Array.from({length:g*g},(A,P)=>{let U=Math.floor(P/g),D=P%g,O=U*g+D,L=U*T+D;return n(h,`(${_} + ${U*w+D*4})`,`ArrayBuffer.isView(${u}) ? ${u}[${L}] : Array.isArray(${u}) ? ${u}[${O}] : ${u}.columns[${U}].${S[D]}`)}).join("")}if(aP(c)){let h=c.type;if(h in Ox){let D=Ox[h];return i(`(${_})`,D.generator(_,u))}let g=I$[h],w=D_[g],S=$n[h],T=Rt(S)?S.componentCount:1,A=g==="u8"||g==="i8"?1:g==="u16"||g==="i16"||g==="f16"?2:4,P=["x","y","z","w"],U=D$[h];return Array.from({length:T},(D,O)=>{let L=T===1?u:`${u}.${P[O]}`,G=U?U(L):L;return n(w,`(${_} + ${O*A})`,G)}).join("")}if(!Object.hasOwn(I_,c.type))throw new Error(`Primitive ${c.type} is unsupported by compiled writer`);let y=I_[c.type];return n(D_[y],_,u)}return d(e,t,s,r)}function Ev(e){if(!L$){Wx||(Vt.warn("fallback","This environment does not allow eval - using default writer as fallback"),Wx=!0);return}let t=Bx.get(e);if(t)return t;try{let s=Vx(e,"offset","value",0,!1),r=`if (offset > 0 || endOffset < output.byteLength) { +${Vx(e,"offset","value",0,!0)}} else { +${s}} +`,o=new Function("output","offset","value","littleEndian=true","endOffset=output.byteLength",r);return Bx.set(e,o),o}catch(s){Vt.warn("fallback",`Failed to compile writer for schema: ${e} +Reason: ${s instanceof Error?s.message:String(s)} +Falling back to default writer`)}}function Fs(e,t){e.writeUint16(Pl(t))}function Bs(e){return Nf(e.readUint16())}var Mi={bool(){throw new Error("Booleans are not host-shareable")},f32(e,t,s){e.writeFloat32(s)},f16(e,t,s){Fs(e,s)},i32(e,t,s){e.writeInt32(s)},u32(e,t,s){e.writeUint32(s)},u16(e,t,s){e.writeUint16(s)},vec2f(e,t,s){e.writeFloat32(s[0]),e.writeFloat32(s[1])},vec2h(e,t,s){Fs(e,s[0]),Fs(e,s[1])},vec2i(e,t,s){e.writeInt32(s[0]),e.writeInt32(s[1])},vec2u(e,t,s){e.writeUint32(s[0]),e.writeUint32(s[1])},"vec2"(){throw new Error("Booleans are not host-shareable")},vec3f(e,t,s){e.writeFloat32(s[0]),e.writeFloat32(s[1]),e.writeFloat32(s[2])},vec3h(e,t,s){Fs(e,s[0]),Fs(e,s[1]),Fs(e,s[2])},vec3i(e,t,s){e.writeInt32(s[0]),e.writeInt32(s[1]),e.writeInt32(s[2])},vec3u(e,t,s){e.writeUint32(s[0]),e.writeUint32(s[1]),e.writeUint32(s[2])},"vec3"(){throw new Error("Booleans are not host-shareable")},vec4f(e,t,s){e.writeFloat32(s[0]),e.writeFloat32(s[1]),e.writeFloat32(s[2]),e.writeFloat32(s[3])},vec4h(e,t,s){Fs(e,s[0]),Fs(e,s[1]),Fs(e,s[2]),Fs(e,s[3])},vec4i(e,t,s){e.writeInt32(s[0]),e.writeInt32(s[1]),e.writeInt32(s[2]),e.writeInt32(s[3])},vec4u(e,t,s){e.writeUint32(s[0]),e.writeUint32(s[1]),e.writeUint32(s[2]),e.writeUint32(s[3])},"vec4"(){throw new Error("Booleans are not host-shareable")},mat2x2f(e,t,s){for(let r=0;r"(){throw new Error("Booleans are not host-shareable")},"vec3"(){throw new Error("Booleans are not host-shareable")},"vec4"(){throw new Error("Booleans are not host-shareable")},mat2x2f(e){return Gn(e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32())},mat3x3f(e){let t=()=>{let s=e.readFloat32();return e.readFloat32(),s};return Yn(e.readFloat32(),e.readFloat32(),t(),e.readFloat32(),e.readFloat32(),t(),e.readFloat32(),e.readFloat32(),t())},mat4x4f(e){return Hs(e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32())},struct(e,t){let s=rs(t);Os(e,s);let r={},o=t.propTypes;for(let[n,i]of Object.entries(o))Os(e,rs(i)),r[n]=jn(e,i);return Os(e,s),r},array(e,t){if(t.elementCount===0)throw new Error("Cannot read using a runtime-sized schema.");let s=rs(t),r=[];for(let o=0;oe.readUint8(),uint8x2:e=>Ct(e.readUint8(),e.readUint8()),uint8x4:e=>Et(e.readUint8(),e.readUint8(),e.readUint8(),e.readUint8()),sint8:e=>e.readInt8(),sint8x2:e=>Xt(e.readInt8(),e.readInt8()),sint8x4:e=>Wt(e.readInt8(),e.readInt8(),e.readInt8(),e.readInt8()),unorm8:e=>e.readUint8()/255,unorm8x2:e=>lt(e.readUint8()/255,e.readUint8()/255),unorm8x4:e=>Oe(e.readUint8()/255,e.readUint8()/255,e.readUint8()/255,e.readUint8()/255),snorm8:e=>e.readInt8()/127,snorm8x2:e=>lt(e.readInt8()/127,e.readInt8()/127),snorm8x4:e=>Oe(e.readInt8()/127,e.readInt8()/127,e.readInt8()/127,e.readInt8()/127),uint16:e=>e.readUint16(),uint16x2:e=>Ct(e.readUint16(),e.readUint16()),uint16x4:e=>Et(e.readUint16(),e.readUint16(),e.readUint16(),e.readUint16()),sint16:e=>e.readInt16(),sint16x2:e=>Xt(e.readInt16(),e.readInt16()),sint16x4:e=>Wt(e.readInt16(),e.readInt16(),e.readInt16(),e.readInt16()),unorm16:e=>e.readUint16()/65535,unorm16x2:e=>lt(e.readUint16()/65535,e.readUint16()/65535),unorm16x4:e=>Oe(e.readUint16()/65535,e.readUint16()/65535,e.readUint16()/65535,e.readUint16()/65535),snorm16:e=>e.readInt16()/32767,snorm16x2:e=>lt(e.readInt16()/32767,e.readInt16()/32767),snorm16x4:e=>Oe(e.readInt16()/32767,e.readInt16()/32767,e.readInt16()/32767,e.readInt16()/32767),float16(e){return Bs(e)},float16x2:e=>lt(Bs(e),Bs(e)),float16x4:e=>Oe(Bs(e),Bs(e),Bs(e),Bs(e)),float32:e=>e.readFloat32(),float32x2:e=>lt(e.readFloat32(),e.readFloat32()),float32x3:e=>It(e.readFloat32(),e.readFloat32(),e.readFloat32()),float32x4:e=>Oe(e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32()),uint32:e=>e.readUint32(),uint32x2:e=>Ct(e.readUint32(),e.readUint32()),uint32x3:e=>gt(e.readUint32(),e.readUint32(),e.readUint32()),uint32x4:e=>Et(e.readUint32(),e.readUint32(),e.readUint32(),e.readUint32()),sint32:e=>e.readInt32(),sint32x2:e=>Xt(e.readInt32(),e.readInt32()),sint32x3:e=>cs(e.readInt32(),e.readInt32(),e.readInt32()),sint32x4:e=>Wt(e.readInt32(),e.readInt32(),e.readInt32(),e.readInt32()),"unorm10-10-10-2"(e){let t=e.readUint32();return Oe((t>>22)/1023,(t>>12&1023)/1023,(t>>2&1023)/1023,(t&3)/3)},"unorm8x4-bgra"(e){let t=e.readByte()/255,s=e.readByte()/255;return Oe(e.readByte()/255,s,t,e.readByte()/255)},unstruct(e,t){let s={},r=t.propTypes;for(let[o,n]of Object.entries(r))s[o]=jn(e,n);return s},disarray(e,t){let s=rs(t),r=[];for(let o=0;o"}' cannot be bound as 'storage'. Use .$usage('storage') to allow it.`),Object.setPrototypeOf(this,F5.prototype)}};function Oc(e){return e instanceof Va}function V$(e){return Oc(e)&&e.resourceType==="uniform"}function N$(e){return Oc(e)&&e.resourceType==="mutable"}function q$(e){return Oc(e)&&e.resourceType==="readonly"}var Va=class Mp{[me];[Xs];resourceType;static#e=void(Mp.prototype[B]=!0,mn(In(Mp.prototype,{asString(){return`${this.resourceType}BufferBinding:${xe(this)??""}`},resolve(t){let s=this.buffer.dataType,r=t.makeUniqueIdentifier(xe(this),"global"),{group:o,binding:n}=t.allocateFixedEntry(this.resourceType==="uniform"?{uniform:s}:{storage:s,access:this.resourceType},this.buffer);return t.gen.declareGlobalVar({group:o,binding:n,scope:this.resourceType,id:r,dataType:s,init:void 0})}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.buffer.dataType,this.resourceType,!1)}},simulateMode:{get(t){return t.buffers.has(this.buffer)||t.buffers.set(this.buffer,aa(this.buffer.dataType,this.buffer.initial)),t.buffers.get(this.buffer)},set(t,s){t.buffers.set(this.buffer,s)}},normalMode:{get(){throw new Q0(Al()?`Cannot access ${String(this.buffer)}. TypeGPU functions that depends on GPU resources need to be part of a compute dispatch, draw call or simulation`:".$ is inaccessible during normal JS execution. Try `.read()`")},set(){throw new Q0(Al()?`Cannot access ${String(this.buffer)}. TypeGPU functions that depends on GPU resources need to be part of a compute dispatch, draw call or simulation`:".$ is inaccessible during normal JS execution. Try `.write()`")}}}));constructor(t,s){this.resourceType=t,this[Xs]=s,this[me]={type:t,buffer:s,label:void 0}}get buffer(){return this[me].buffer}$name(t){return ot(this,t),this}write(t,s){this.buffer.write(t,s)}writePartial(t){this.buffer.writePartial(t)}patch(t){this.buffer.patch(t)}read(){return this.buffer.read()}},qx=new WeakMap;function X$(e){if(!Sl(e))throw new Error(`Cannot call as('mutable') on ${e}, as it is not allowed to be used as storage. To allow it, call .$usage('storage') when creating the buffer.`);let t=qx.get(e);return t||(t=new Va("mutable",e),qx.set(e,t)),t}var Xx=new WeakMap;function H$(e){if(!Sl(e))throw new Error(`Cannot call as('readonly') on ${e}, as it is not allowed to be used as storage. To allow it, call .$usage('storage') when creating the buffer.`);let t=Xx.get(e);return t||(t=new Va("readonly",e),Xx.set(e,t)),t}var Hx=new WeakMap;function j$(e){if(!b2(e))throw new Error(`Cannot call as('uniform') on ${e}, as it is not allowed to be used as a uniform. To allow it, call .$usage('uniform') when creating the buffer.`);let t=Hx.get(e);return t||(t=new Va("uniform",e),Hx.set(e,t)),t}function B5(e,t){let s=Object.values(e).flatMap(n=>Object.values(n.entries)).filter(n=>n!==null),r=s.filter(n=>"uniform"in n).length,o=s.filter(n=>"storage"in n).length;r>t.maxUniformBuffersPerShaderStage&&Vt.warn("webgpu-limits-exceeded",`Total number of uniform buffers (${r}) exceeds maxUniformBuffersPerShaderStage (${t.maxUniformBuffersPerShaderStage}). Consider: +1. Grouping some of the uniforms into one using 'd.struct', +2. Increasing the limit when requesting a device or creating a root.`),o>t.maxStorageBuffersPerShaderStage&&Vt.warn("webgpu-limits-exceeded",`Total number of storage buffers (${o}) exceeds maxStorageBuffersPerShaderStage (${t.maxStorageBuffersPerShaderStage}).`)}function K$(e){return Qt(e)||Us(e)?qs(rs(e),16):rs(e)}function Pp(e){if(Us(e)){Pp(e.elementType);let t=qs(_t(e.elementType),rs(e.elementType));t%16!==0&&Vt.warn("uniform-schema-misaligned",`Schema '${xe(e.elementType)??""}' is used in an array in a uniform buffer, and its stride (${t}) is not a multiple of 16. +This is not portable (see https://www.w3.org/TR/WGSL/#address-space-layout-constraints), and will break on some devices. +To address this, put the element schema in a struct and wrap the prop in 'd.align(16, ...)', or use a different schema like 'vec4f'.`)}if(Qt(e)){Object.values(e.propTypes).forEach(Pp),Object.entries(e.propTypes).forEach(([s,r])=>{let o=cl(e,i=>i[s]).offset,n=K$(r);o%n&&Vt.warn("uniform-schema-misaligned",`Schema '${xe(e)??""}' is used in a uniform buffer, and its property '${s}' does not meet required alignment (offset is ${o}, required alignment is ${n}). +This is not portable (see https://www.w3.org/TR/WGSL/#address-space-layout-constraints), and will break on some devices. +To address this, wrap the property '${s}' in 'd.align(${n}, ...)'.`)});let t=Object.keys(e.propTypes);for(let s=0;s_[r]).offset,c=cl(e,_=>_[o]).offset-d;i>c&&Vt.warn("uniform-schema-misaligned",`Schema '${xe(e)??""}' is used in a uniform buffer, and the difference between memory offsets of '${r}' and '${o}' props (${c}) is less than recommended (${i}). +This is not portable (see https://www.w3.org/TR/WGSL/#address-space-layout-constraints), and will break on some devices. +To address this, wrap the '${r}' prop in 'd.size(${i}, ...)'.`)}}}var Z$={uniform:j$,mutable:X$,readonly:H$};function F_(e,t,s){return Qa(t)?new jx(e,t,s):new jx(e,t,s,["storage","uniform"])}var jx=class{[B];[me];resourceType="buffer";#e;#t=!1;#s;get#r(){return this.#s??=new ArrayBuffer(_t(this.dataType))}#o;#n;#i;initial;usableAsUniform=!1;usableAsStorage=!1;usableAsVertex=!1;usableAsIndex=!1;usableAsIndirect=!1;constructor(e,t,s,r){this[me]={type:"buffer",device:e.device,dataType:t,flags:GPUBufferUsage.COPY_DST|GPUBufferUsage.COPY_SRC,usages:[],raw:void 0,label:void 0},this.#i=r,Mn(s)?(this.#e=!1,this[me].raw=s):(this.#e=!0,typeof s=="function"?this.#n=s:this.initial=s),this[B]={root:e,materialize:()=>{if(this.#t)throw new Error("This buffer has been destroyed");let o=this[me];return o.raw||(o.raw=o.device.createBuffer({size:_t(o.dataType),usage:o.flags,mappedAtCreation:!!this.initial||!!this.#n,label:xe(this)??""}),(this.initial||this.#n)&&(this.#n?this.#n(this):this.initial&&mm(this.#a(),this.dataType,this.initial),this.#d())),o.raw}}}get dataType(){return this[me].dataType}get flags(){return this[me].flags}set flags(e){this[me].flags=e}get buffer(){return this[B].materialize()}get destroyed(){return this.#t}get arrayBuffer(){return this.buffer.mapState==="mapped"?this.#a():this.#r}#a(){let e=this[me].raw;if(!e||e.mapState!=="mapped")throw new Error("Buffer is not mapped.");return this.#o??=e.getMappedRange(),this.#o}#d(){let e=this[me].raw;!e||e.mapState!=="mapped"||(this.#o=void 0,e.unmap())}$name(e){ot(this,e);let t=this[me].raw;return t&&(t.label=e),this}$usage(...e){for(let t of e){if(this.#i?.includes(t))throw new Error(`Buffer of type ${this.dataType.type} cannot be used as ${t}`);t==="uniform"&&Pp(this.dataType),this.flags|=t==="uniform"?GPUBufferUsage.UNIFORM:0,this.flags|=t==="storage"?GPUBufferUsage.STORAGE:0,this.flags|=t==="vertex"?GPUBufferUsage.VERTEX:0,this.flags|=t==="index"?GPUBufferUsage.INDEX:0,this.flags|=t==="indirect"?GPUBufferUsage.INDIRECT:0,this.usableAsUniform=this.usableAsUniform||t==="uniform",this.usableAsStorage=this.usableAsStorage||t==="storage",this.usableAsVertex=this.usableAsVertex||t==="vertex",this.usableAsIndex=this.usableAsIndex||t==="index",this.usableAsIndirect=this.usableAsIndirect||t==="indirect",this[me].usages.includes(t)||this[me].usages.push(t)}return this}$addFlags(e){if(!this.#e)throw new Error("Cannot add flags to a buffer that is not managed by TypeGPU.");return e&GPUBufferUsage.MAP_READ?(this.flags=GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ,this):e&GPUBufferUsage.MAP_WRITE?(this.flags=GPUBufferUsage.COPY_SRC|GPUBufferUsage.MAP_WRITE,this):(this.flags|=e,this)}compileWriter(){Ev(this.dataType)}write(e,t){let s=this.buffer;if(s.mapState==="mapped"){let i=this.#a();if(e instanceof ArrayBuffer&&e===i)return;mm(i,this.dataType,e,t);return}e instanceof ArrayBuffer&&e===this.#r||mm(this.#r,this.dataType,e,t);let{startOffset:r,endOffset:o}=I5(t,this.dataType,e),n=o-r;this[me].device.queue.writeBuffer(s,r,this.#r,r,n)}writePartial(e){this.patch(Ap(this.dataType,e))}patch(e){let t=this.buffer;if(t.mapState==="mapped")O$(this.#a(),this.dataType,e);else{let s=D5(this.dataType,e,this.#r);for(let{data:r,gpuOffset:o}of s)this[me].device.queue.writeBuffer(t,o,r)}}clear(e){let t=this.buffer;if(e){e[B].rawEncoder.clearBuffer(t);return}if(t.mapState==="mapped"){new Uint8Array(this.#a()).fill(0);return}let s=this[me].device.createCommandEncoder();s.clearBuffer(t),this[me].device.queue.submit([s.finish()])}copyFrom(e,t){if(this.buffer.mapState==="mapped")throw new Error("Cannot copy to a mapped buffer.");let s=_t(this.dataType);if(t){t[B].rawEncoder.copyBufferToBuffer(e.buffer,0,this.buffer,0,s);return}let r=this[me].device.createCommandEncoder();r.copyBufferToBuffer(e.buffer,0,this.buffer,0,s),this[me].device.queue.submit([r.finish()])}async read(){let e=this.buffer;if(e.mapState==="mapped")return pm(this.#a(),this.dataType);if(e.usage&GPUBufferUsage.MAP_READ){await e.mapAsync(GPUMapMode.READ);let o=pm(this.#a(),this.dataType);return this.#d(),o}let t=this[me].device.createBuffer({size:_t(this.dataType),usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ}),s=this[me].device.createCommandEncoder();s.copyBufferToBuffer(e,0,t,0,_t(this.dataType)),this[me].device.queue.submit([s.finish()]),await t.mapAsync(GPUMapMode.READ,0,_t(this.dataType));let r=pm(t.getMappedRange(),this.dataType);return t.unmap(),t.destroy(),r}as(e){return Z$[e](this)}destroy(){this.#t||(this.#t=!0,this.#o=void 0,this.#e&&this[me].raw?.destroy())}toString(){return`buffer:${xe(this)??""}`}},W5=class Ep{bindings;constructor(t){this.bindings=t}with(t,s){return new Ep([...this.bindings,[dd(t)||cd(t)?t.slot:t,s]])}pipe(t){let s=t(this);return new Ep([...this.bindings,...s.bindings])}};function*Q$(e){let t=0;for(;;)e.has(t)||(yield t),t++}function J$(e,t){return new V5(fv(),e,t)}function e4(e,t){return new V5(o5(),e,t)}function kv(e){let t=e;return t?.resourceType==="sampler"&&!!t[B]}function $v(e){let t=e;return t?.resourceType==="sampler-comparison"&&!!t[B]}var t4=class O5{[B]={materialize:void 0};resourceType;schema;#e;static#t=mn(In(O5.prototype,{asString(){return`${this.resourceType}:${xe(this)??""}`},resolve(t){let s=t.makeUniqueIdentifier(xe(this),"global"),r=t.allocateLayoutEntry(this.#e.layout);return t.addDeclaration(`@group(${r}) @binding(${this.#e.idx}) var ${s}: ${t.resolve(this.schema).value};`,s),ve(s,this.schema,"handle")}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.schema,"handle",!1)}},normalMode:{get(){throw new Error("Direct access to sampler values is possible only as part of a compute dispatch or draw call.")}}});constructor(t,s){this.schema=t,this.#e=s,this.resourceType=t.type==="sampler_comparison"?"sampler-comparison":"sampler",ot(this,s.key)}},V5=class N5{[B];[me];resourceType;schema;#e;static#t=mn(In(N5.prototype,{asString(){return`${this.resourceType}:${xe(this)??""}`},resolve(t){let s=t.makeUniqueIdentifier(xe(this),"global"),{group:r,binding:o}=t.allocateFixedEntry(this.schema.type==="sampler_comparison"?{sampler:"comparison"}:{sampler:this.#e?"filtering":"non-filtering"},this);return t.addDeclaration(`@group(${r}) @binding(${o}) var ${s}: ${t.resolve(this.schema).value};`,s),ve(s,this.schema,"handle")}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.schema,"handle",!1)}},normalMode:{get(){throw new Error("Direct access to sampler values is possible only as part of a compute dispatch or draw call.")}}});constructor(t,s,r){this.schema=t,this.resourceType=t.type==="sampler_comparison"?"sampler-comparison":"sampler",this[me]={type:this.resourceType,device:r.device,props:s,raw:void 0,label:void 0},this[B]={root:r,materialize:()=>{let o=this[me];return o.raw||(o.raw=o.device.createSampler({...o.props,label:xe(this)??""})),o.raw}},this.#e=s.minFilter==="linear"||s.magFilter==="linear"||s.mipmapFilter==="linear"}$name(t){return ot(this,t),this}},s4=class{resourceType="external-texture";[B]=!0;schema;#e;constructor(e,t){this.schema=e,this.#e=t,ot(this,t.key)}[kt](e){let t=e.makeUniqueIdentifier(xe(this),"global"),s=e.allocateLayoutEntry(this.#e.layout);return e.addDeclaration(`@group(${s}) @binding(${this.#e.idx}) var ${t}: ${e.resolve(this.schema).value};`,t),ve(t,s5(),"handle")}get[Hr](){let e=this.schema;return new Proxy({[B]:!0,get[oa](){return ve(this,e,"handle",!1)},[kt]:t=>t.resolve(this),toString:()=>`textureExternal:${xe(this)??""}.$`},Wi)}get $(){if(Yu())return this[Hr];throw new Error("Direct access to texture views values is possible only as part of a compute dispatch or draw call. Try .read() or .write() instead")}toString(){return`textureExternal:${xe(this)??""}`}},r4={channelType:a,vectorType:Oe,sampleTypes:["depth","unfilterable-float"],texelSize:"non-copyable"},o4={channelType:a,vectorType:Oe,sampleTypes:["depth","unfilterable-float"],texelSize:2},n4={channelType:a,vectorType:Oe,sampleTypes:["depth","unfilterable-float"],texelSize:4},a4={channelType:R,vectorType:Et,sampleTypes:["uint"],texelSize:1},Kx=new Map;function Vc(e){let t=Kx.get(e);return t===void 0&&(t=i4(e),Kx.set(e,t)),t}function i4(e){let t=_4(e),s=d4(e),r=e.includes("stencil");return{channelType:t,vectorType:t===R?Et:t===Z?Wt:Oe,texelSize:l4(e),sampleTypes:u4(e),canRenderAttachment:c4(e),...s&&{depthAspect:s},...r&&{stencilAspect:a4}}}function d4(e){if(e==="depth16unorm")return o4;if(e==="depth32float"||e==="depth32float-stencil8")return n4;if(e==="depth24plus"||e==="depth24plus-stencil8")return r4}function c4(e){return!(e.startsWith("bc")||e.startsWith("etc2")||e.startsWith("eac")||e.startsWith("astc")||e==="rgb9e5ufloat")}function _4(e){return e==="stencil8"||e.includes("uint")?R:e.includes("sint")?Z:a}function l4(e){let[,t,s]=e.match(/^(rgba|bgra|rg|r)(8|16|32)/)??[];return t&&s?t.length*Number(s)/8:e==="stencil8"?1:e==="depth16unorm"?2:e==="depth32float"?4:e==="depth32float-stencil8"?5:e==="depth24plus"||e==="depth24plus-stencil8"?"non-copyable":/^(bc[14]-|etc2-rgb8|eac-r11)/.test(e)?8:/^(bc|astc-|etc2-rgba|eac-rg)/.test(e)?16:4}function u4(e){return e==="stencil8"?["uint"]:e.includes("uint")?["uint"]:e.includes("sint")?["sint"]:e.includes("depth")?["depth","unfilterable-float"]:/^(r|rg|rgba)16(u|s)norm$/.test(e)?["unfilterable-float"]:["float","unfilterable-float"]}var m4=new Set(["r32float","rg32float","rgba32float"]);function p4(e,t){return m4.has(t)&&!e.features.has("float32-filterable")?["unfilterable-float"]:Vc(t).sampleTypes}function q5(e){let{videoWidth:t,videoHeight:s}=e;if(t&&s)return{width:t,height:s};let{naturalWidth:r,naturalHeight:o}=e;if(r&&o)return{width:r,height:o};let{codedWidth:n,codedHeight:i}=e;if(n&&i)return{width:n,height:i};let{width:d,height:c}=e;if(d&&c)return{width:d,height:c};throw new Error("Cannot determine dimensions of the provided image source.")}var f4=` +struct VertexOutput { + @builtin(position) pos: vec4f, + @location(0) uv: vec2f, +} + +@vertex +fn vs_main(@builtin(vertex_index) i: u32) -> VertexOutput { + const pos = array(vec2f(-1, -1), vec2f(3, -1), vec2f(-1, 3)); + const uv = array(vec2f(0, 1), vec2f(2, 1), vec2f(0, -1)); + return VertexOutput(vec4f(pos[i], 0, 1), uv[i]); +}`,v4=` +@group(0) @binding(0) var src: texture_2d; +@group(0) @binding(1) var samp: sampler; + +@fragment +fn fs_main(@location(0) uv: vec2f) -> @location(0) vec4f { + return textureSample(src, samp, uv); +}`,y4=` +@group(0) @binding(0) var src: texture_2d; +@group(0) @binding(1) var samp: sampler; + +@fragment +fn fs_main(@location(0) uv: vec2f) -> @location(0) vec4f { + let r = textureGather(0, src, samp, uv); + let g = textureGather(1, src, samp, uv); + let b = textureGather(2, src, samp, uv); + let a = textureGather(3, src, samp, uv); + return vec4f(dot(r, vec4f(0.25)), dot(g, vec4f(0.25)), dot(b, vec4f(0.25)), dot(a, vec4f(0.25))); +}`,kp=new WeakMap;function h4(e){let t=kp.get(e);return t||(t={vertexModule:e.createShaderModule({code:f4}),filterableResources:new Map,layoutResources:new Map},kp.set(e,t)),t}function x4(e,t,s){let r=h4(e),o=r.filterableResources.get(t);o||(o={fragmentModule:e.createShaderModule({code:t?v4:y4}),sampler:e.createSampler(t?{magFilter:"linear",minFilter:"linear"}:{})},r.filterableResources.set(t,o));let n=`${t}:${s}`,i=r.layoutResources.get(n);if(!i){let d=e.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:s}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{type:t?"filtering":"non-filtering"}}]});i={bindGroupLayout:d,pipelineLayout:e.createPipelineLayout({bindGroupLayouts:[d]})},r.layoutResources.set(n,i)}return{vertexModule:r.vertexModule,...o,...i}}function X5(e){let{device:t,source:s,destination:r,format:o,filterable:n,sampleType:i}=e,d=x4(t,n,i),c=t.createRenderPipeline({layout:d.pipelineLayout,vertex:{module:d.vertexModule},fragment:{module:d.fragmentModule,targets:[{format:o}]},primitive:{topology:"triangle-list"}}),_=t.createBindGroup({layout:d.bindGroupLayout,entries:[{binding:0,resource:s},{binding:1,resource:d.sampler}]}),u=!e.encoder,m=e.encoder??t.createCommandEncoder(),p=m.beginRenderPass({colorAttachments:[{view:r,loadOp:"clear",storeOp:"store"}]});p.setPipeline(c),p.setBindGroup(0,_),p.draw(3),p.end(),u&&t.queue.submit([m.finish()])}function g4(e){kp.delete(e)}function H5(e,t,s){let r=Vc(t),o=p4(e,t),n=o.includes("float"),i=o.includes("unfilterable-float");if(!n&&!i)throw new Error(`Cannot ${s} for format '${t}': only float formats are supported.`);if(!r.canRenderAttachment)throw new Error(`Cannot ${s} for format '${t}': format does not support render attachments.`);return{filterable:n,sampleType:n?"float":"unfilterable-float"}}function b4(e,t,s=0,r){if(t.dimension!=="2d")throw new Error("Mipmap generation only supports 2D textures.");let{filterable:o,sampleType:n}=H5(e,t.format,"generate mipmaps"),i=r??t.mipLevelCount-s;for(let d=0;d({dimension:"2d",baseMipLevel:u,mipLevelCount:1,baseArrayLayer:d,arrayLayerCount:1});X5({device:e,source:t.createView(_(c)),destination:t.createView(_(c+1)),format:t.format,filterable:o,sampleType:n})}}function w4(e,t,s,r=0){if(t.dimension!=="2d")throw new Error("Resampling only supports 2D textures.");let{filterable:o}=H5(e,t.format,"resample"),{width:n,height:i}=q5(s),d=e.createTexture({size:[n,i],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT});e.queue.copyExternalImageToTexture({source:s},{texture:d},[n,i]);let c=e.createTexture({size:[t.width,t.height],format:t.format,usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.COPY_SRC}),_=e.createCommandEncoder();X5({device:e,source:d.createView(),destination:c.createView(),format:t.format,filterable:o,sampleType:"float",encoder:_}),_.copyTextureToTexture({texture:c},{texture:t,origin:{x:0,y:0,z:r}},{width:t.width,height:t.height,depthOrArrayLayers:1}),e.queue.submit([_.finish()]),d.destroy(),c.destroy()}function T4(e){return{dimension:e.dimension??"2d",sampleType:Vc(e.format).channelType,multisampled:(e.sampleCount??1)!==1}}function S4(e,t,s){return new A4(e,t,s)}function Tc(e){return e?.resourceType==="texture"&&!!e[B]}function Oi(e){return e?.resourceType==="texture-view"&&!!e[B]}var A4=class{[B];[me];resourceType="texture";usableAsSampled=!1;usableAsStorage=!1;usableAsRender=!1;#e;#t=!1;#s;constructor(e,t,s){this.#s=s===void 0,this[me]={type:"texture",device:t.device,props:e,flags:GPUTextureUsage.COPY_DST|GPUTextureUsage.COPY_SRC,flagsOverridden:!1,usages:[],raw:s,label:void 0},this.#e=Vc(e.format),this[B]={root:t,materialize:()=>{if(this.#t)throw new Error("This texture has been destroyed");let r=this[me];if(!r.raw){let o=r.props;r.raw=(globalThis.__TYPEGPU_AUTONAME__??(n=>n))(r.device.createTexture({label:xe(this)??"",format:o.format,size:o.size,usage:r.flags,dimension:o.dimension??"2d",viewFormats:o.viewFormats??[],mipLevelCount:o.mipLevelCount??1,sampleCount:o.sampleCount??1}),"raw")}return r.raw}}}get props(){return this[me].props}$name(e){return ot(this,e),this}$usage(...e){let t=this[me];if(t.flagsOverridden)throw new Error("Cannot call $usage() after $overrideFlags().");let s=e.includes("storage"),r=e.includes("sampled"),o=e.includes("render"),n=e.includes("transient"),i=(r?GPUTextureUsage.TEXTURE_BINDING:0)|(s?GPUTextureUsage.STORAGE_BINDING:0),d=GPUTextureUsage.TRANSIENT_ATTACHMENT|GPUTextureUsage.RENDER_ATTACHMENT,c=t.flags|i|(o?GPUTextureUsage.RENDER_ATTACHMENT:0),_=n||!!(t.flags&GPUTextureUsage.TRANSIENT_ATTACHMENT),u=!!(c&(GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.STORAGE_BINDING));if(_&&u)throw new Error("Transient texture usage cannot be combined with 'sampled' or 'storage'.");t.flags=n?d:c,this.usableAsStorage||=s,this.usableAsSampled||=r,this.usableAsRender||=o||n;for(let m of e)t.usages.includes(m)||t.usages.push(m);return this}$overrideFlags(e){let t=this[me];return t.flags=e,t.flagsOverridden=!0,this.usableAsSampled=!0,this.usableAsStorage=!0,this.usableAsRender=!0,this}createView(e,t){return e==="render"?new P4(this,t):new M4(e??vP(T4(this.props)),this,t)}#r(e=0){let t=2**e,[s,r,o]=[Math.max(1,Math.floor((this.props.size[0]??1)/t)),Math.max(1,Math.floor((this.props.size[1]??1)/t)),Math.max(1,Math.floor((this.props.size[2]??1)/t))],n=this.#e.texelSize;if(n==="non-copyable")throw new Error(`Cannot clear texture with format '${this.props.format}': this format does not support copy operations.`);this[me].device.queue.writeTexture({texture:this[B].materialize(),mipLevel:e},new Uint8Array(s*r*o*n),{bytesPerRow:n*s,rowsPerImage:r},[s,r,o])}clear(e="all"){if(e==="all"){let t=this.props.mipLevelCount??1;for(let s=0;s=(this.props.mipLevelCount??1))throw new Error(`Base mip level ${e} is out of range. Texture has ${this.props.mipLevelCount??1} mip levels.`);b4(this[me].device,this[B].materialize(),e,s)}write(e,t=0){if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)){this.#o(e,typeof t=="number"?t:0);return}if(!this.usableAsRender)throw new Error("texture.write(...) with image sources requires 'render' usage. Add it via the $usage('render') method.");let s=typeof t=="number"?void 0:t,r=this.props.dimension??"2d";if(!Array.isArray(e)){this.#n(e,r==="3d"?0:void 0,s);return}let o=this.props.size[2]??1;e.length>o&&Vt.warn("suspicious",`Too many image sources provided. Expected ${o} layers, got ${e.length}. Extra sources will be ignored.`);for(let n=0;n>t),r=Math.max(1,(this.props.size[1]??1)>>t),o=Math.max(1,(this.props.size[2]??1)>>t),n=this.#e.texelSize;if(n==="non-copyable")throw new Error(`Cannot write to texture with format '${this.props.format}': this format does not support copy operations.`);let i=s*r*o*n,d=e.byteLength??e.byteLength;if(d!==i)throw new Error(`Buffer size mismatch. Expected ${i} bytes for mip level ${t}, got ${d} bytes.`);this[me].device.queue.writeTexture({texture:this[B].materialize(),mipLevel:t},"buffer"in e?e.buffer:e,{bytesPerRow:n*s,rowsPerImage:r},[s,r,o])}#n(e,t,s){let r=this.props.size[0],o=this.props.size[1]??1,{width:n,height:i}=q5(e);if(n!==r||i!==o){if(s?.fit!=="stretch")throw new Error(`Texture write source size ${n}x${i} does not match target size ${r}x${o}. Pass fit: 'stretch' to resize explicitly.`);w4(this[me].device,this[B].materialize(),e,t);return}this[me].device.queue.copyExternalImageToTexture({source:e},{texture:this[B].materialize(),...t!==void 0&&{origin:{x:0,y:0,z:t}}},t!==void 0?[r,o,1]:this.props.size)}copyFrom(e){if(e.props.format!==this.props.format)throw new Error(`Texture format mismatch. Source texture has format ${e.props.format}, target texture has format ${this.props.format}`);if(e.props.size[0]!==this.props.size[0]||(e.props.size[1]??1)!==(this.props.size[1]??1)||(e.props.size[2]??1)!==(this.props.size[2]??1))throw new Error(`Texture size mismatch. Source texture has size ${e.props.size.join("x")}, target texture has size ${this.props.size.join("x")}`);let t=this[me].device.createCommandEncoder();t.copyTextureToTexture({texture:e[B].materialize()},{texture:this[B].materialize()},e.props.size),this[me].device.queue.submit([t.finish()])}toString(){return`${this.resourceType}:${xe(this)??""}`}get destroyed(){return this.#t}destroy(){this.#t||(this.#t=!0,this.#s&&this[me].raw?.destroy())}},M4=class{[B];[me];resourceType="texture-view";constructor(e,t,s){this[me]={type:"texture-view",texture:t,schema:e,descriptor:s,raw:void 0,label:void 0},this[B]={unwrap:()=>{let r=this[me];if(!r.raw){let o=r.schema,n=dl(o)?o.format:r.texture.props.format;r.raw=(globalThis.__TYPEGPU_AUTONAME__??(i=>i))(r.texture[B].materialize().createView({...r.descriptor,label:xe(this)??"",format:r.descriptor?.format??n,dimension:o.dimension}),"raw")}return r.raw},format:s?.format??(dl(e)?e.format:t.props.format),aspect:s?.aspect}}get schema(){return this[me].schema}$name(e){return ot(this,e),this[me].raw&&(this[me].raw.label=e),this}get[Hr](){let e=this.schema;return new Proxy({[B]:!0,get[oa](){return ve(this,e,"handle",!1)},[kt]:t=>t.resolve(this),toString:()=>`${this.toString()}.$`},Wi)}get $(){if(Yu())return this[Hr];throw new Error("Direct access to texture view values is possible only as part of a compute dispatch or draw call. Try .read() or .write() instead")}get size(){return this[me].texture.props.size}toString(){return`textureView:${xe(this)??""}`}[kt](e){let t=e.makeUniqueIdentifier(xe(this),"global"),{group:s,binding:r}=e.allocateFixedEntry(dl(this.schema)?{storageTexture:this.schema}:{texture:this.schema,sampleType:this[me].descriptor?.sampleType??this.schema.bindingSampleType[0]},this);return e.gen.declareGlobalVar({group:s,binding:r,id:t,dataType:this.schema,scope:"handle",init:void 0})}},Zx=class{[B]={unwrap:void 0};resourceType="texture-view";#e;schema;constructor(e,t){this.schema=e,this.#e=t,ot(this,t.key)}toString(){return`textureView:${xe(this)??""}`}[kt](e){let t=e.makeUniqueIdentifier(xe(this),"global"),s=e.allocateLayoutEntry(this.#e.layout);return e.addDeclaration(`@group(${s}) @binding(${this.#e.idx}) var ${t}: ${e.resolve(this.schema).value};`,t),ve(t,this.schema,"handle")}get[Hr](){let e=this.schema;return new Proxy({[B]:!0,get[oa](){return ve(this,e,"handle",!1)},[kt]:t=>t.resolve(this),toString:()=>`${this.toString()}.$`},Wi)}get $(){if(Yu())return this[Hr];throw new Error(`Accessed view '${xe(this)??""}' outside of codegen mode. Direct access to texture views values is possible only as part of a compute dispatch or draw call. Try .read() or .write() instead`)}$name(e){return ot(this,e),this}},P4=class{[B];[me];resourceType="texture-view";constructor(e,t={}){this[me]={type:"texture-view",texture:e,schema:"render",descriptor:t,raw:void 0,label:void 0},this[B]={unwrap:()=>e[B].materialize().createView({label:xe(this)??"",...this.descriptor}),format:t.format??e.props.format,aspect:t.aspect}}get descriptor(){return this[me].descriptor??{}}};function E4(e){return!!e?.usableAsSampled}var k4=class j5 extends Error{constructor(t){super(`Resource '${xe(t)??""}' cannot be bound as 'sampled'. Use .$usage('sampled') to allow it.`),Object.setPrototypeOf(this,j5.prototype)}},Qx=class $p{[B];usage;dataType;#e;static#t=void($p.prototype.resourceType="laid-out-buffer",mn(In($p.prototype,{asString(){return`${this.usage}:${xe(this)??""}`},resolve(t){let s=t.makeUniqueIdentifier(xe(this),"global"),r=t.allocateLayoutEntry(this.#e.layout);return t.gen.declareGlobalVar({group:r,binding:this.#e.idx,scope:this.usage,id:s,dataType:this.dataType,init:void 0})}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.dataType,this.usage,!1)}},normalMode:{get(){throw new Error("Direct access to buffer values is possible only as part of a compute dispatch or draw call. Try .read() or .write() instead")}}}));constructor(t,s,r){this[B]={dataType:s},this.usage=t,this.dataType=s,this.#e=r,ot(this,r.key)}};function K5(e){return new U4({...e})}function Zu(e){return!!e&&e.resourceType==="bind-group-layout"}function ca(e){return!!e&&e.resourceType==="bind-group"}var $4=class Z5 extends Error{constructor(t,s){super(`Bind group '${t??""}' is missing a required binding '${s}'`),Object.setPrototypeOf(this,Z5.prototype)}},Jx=["compute","fragment"],Yd=["compute","vertex","fragment"],U4=class{[B];[me];resourceType="bind-group-layout";$={};entries;get[Hr](){return this.$}constructor(e){this.entries=e,this[B]=[];let t={};this[me]={type:"bind-group-layout",entries:t,index:void 0,label:void 0};let s=0;for(let[r,o]of Object.entries(e)){if(o===null){t[r]=null,s++;continue}let n={layout:this,key:r,idx:s},i;if(t[r]=o,"uniform"in o&&(i=new Qx("uniform",o.uniform,n)),"storage"in o){let d="type"in o.storage?o.storage:o.storage(0);i=new Qx(o.access??"readonly",d,n),t[r]={...o,storage:d}}"texture"in o&&(i=new Zx(o.texture,n)),"storageTexture"in o&&(i=new Zx(o.storageTexture,n)),"externalTexture"in o&&(i=new s4(o.externalTexture,n)),"sampler"in o&&(i=new t4(o.sampler==="comparison"?o5():fv(),n)),ds(i!==void 0,"Internal error, expected item to be defined"),Object.defineProperty(this.$,r,{get:()=>i.$}),this[B].push(i),s++}}toString(){return`bindGroupLayout:${xe(this)??""}`}get index(){return this[me].index}$name(e){return ot(this,e),this}$idx(e){return this[me].index=e,this}unwrap(e){return e.device.createBindGroupLayout({label:xe(this)??"",entries:Object.values(this.entries).map((t,s)=>{if(t===null)return null;let r=t.visibility,o={binding:s,visibility:0};if("uniform"in t)r=r??Yd,o.buffer={type:"uniform"};else if("storage"in t)r=r??(t.access==="mutable"?Jx:Yd),o.buffer={type:t.access==="mutable"?"storage":"read-only-storage"};else if("sampler"in t)r=r??Yd,o.sampler={type:t.sampler};else if("texture"in t){r=r??Yd;let{multisampled:n,dimension:i,bindingSampleType:d}=t.texture;o.texture={sampleType:t.sampleType??d[0],viewDimension:i,multisampled:n}}else if("storageTexture"in t){r=r??Jx;let{dimension:n,access:i,format:d}=t.storageTexture;o.storageTexture={access:i,format:d,viewDimension:n}}else"externalTexture"in t&&(r=r??Yd,o.externalTexture={});return r?.includes("compute")&&(o.visibility|=GPUShaderStage.COMPUTE),r?.includes("vertex")&&(o.visibility|=GPUShaderStage.VERTEX),r?.includes("fragment")&&(o.visibility|=GPUShaderStage.FRAGMENT),o}).filter(t=>t!==null)})}},Q5=class{[B];[me];resourceType="bind-group";#e;constructor(e,t,s,r){if(this.#e=s,this[me]={type:"bind-group",device:e?.device,layout:t,raw:r,label:void 0},this[B]={materialize:()=>{let o=this[me];return o.raw||(ds(e,"Cannot unwrap a bind group created outside of a root."),o.raw=e.unwrap(this)),o.raw}},!r){for(let o of Object.keys(t.entries))if(t.entries[o]!==null&&!(o in s))throw new $4(xe(t),o)}}get layout(){return this[me].layout}get entries(){return this.#e}unwrap(e){let t=this[me].raw;return t||e.device.createBindGroup({label:xe(this.layout)??"",layout:e.unwrap(this.layout),entries:Object.entries(this.layout.entries).map(([s,r],o)=>{if(r===null)return null;let n=this.entries[s];if(n===void 0)throw new Error(`'${s}' is a resource required to populate bind group layout '${xe(this.layout)??""}'.`);if("uniform"in r){let i;if(hc(n)){if(!b2(n))throw new ZA(n);i={buffer:e.unwrap(n)}}else V$(n)?i={buffer:e.unwrap(n)}:i={buffer:n};return{binding:o,resource:i}}if("storage"in r){let i;if(hc(n)){if(!Sl(n))throw new Nx(n);i={buffer:e.unwrap(n)}}else N$(n)||q$(n)?(ds(r.access==="mutable"==(n.resourceType==="mutable"),"Invalid buffer access mode."),i={buffer:e.unwrap(n)}):i={buffer:n};return{binding:o,resource:i}}if("texture"in r){let i;if(Tc(n)){if(!E4(n))throw new k4(n);i=e.unwrap(n.createView(r.texture))}else Oi(n)?i=e.unwrap(n):i=n;return{binding:o,resource:i}}if("storageTexture"in r){let i;if(Tc(n)){if(!Sl(n))throw new Nx(n);i=e.unwrap(n.createView(r.storageTexture))}else Oi(n)?i=e.unwrap(n):i=n;return{binding:o,resource:i}}if("sampler"in r)return $v(n)||kv(n)?{binding:o,resource:e.unwrap(n)}:{binding:o,resource:n};if("externalTexture"in r)return{binding:o,resource:n};throw new Error(`Malformed bind group entry: ${io(n)}`)}).filter(s=>s!==null)})}};function Nc(e){return new C4(e)}var C4=class{[B]=!0;[me];resourceType="slot";constructor(e=void 0){this[me]={type:"slot",defaultValue:e,label:void 0}}get defaultValue(){return this[me].defaultValue}$name(e){return ot(this,e),this}areEqual(e,t){return Object.is(e,t)}toString(){return`slot:${xe(this)??""}`}get[Hr](){let e=Na();if(!e)throw new Error("Cannot access tgpu.slot's value outside of resolution.");return kl(e.unwrap(this))}get $(){return this[Hr]}},pd=Nc(null);function Qu(e,t){return new e6("private",e,t)}function J5(e){return new e6("workgroup",e)}var e6=class t6{[me];static#e=(()=>{let t=t6.prototype;t.resourceType="var",t[B]={},mn(In(t,{asString(){return`var:${xe(this)??""}`},resolve(s){let r=s.makeUniqueIdentifier(xe(this),"global"),o=this[me].initialValue?ve(this[me].initialValue,this[me].dataType,"constant"):void 0;return s.gen.declareGlobalVar({scope:this[me].scope,id:r,dataType:this[me].dataType,init:o})}}),{codegenMode:{getBaseSnippet(s){return ve(s,this[me].dataType,this[me].scope,!1)}},simulateMode:{get(s){return s.vars[this[me].scope].has(this)||s.vars[this[me].scope].set(this,this[me].initialValue),s.vars[this[me].scope].get(this)},set(s,r){s.vars[this[me].scope].set(this,r)}},normalMode:{get(){throw new Z0(Al()?`Cannot access variable '${xe(this)??""}'. TypeGPU functions that depends on GPU resources need to be part of a compute dispatch, draw call or simulation`:"TypeGPU variables are inaccessible during normal JS execution. If you wanted to simulate GPU behavior, try `tgpu.simulate()`")},set(s){throw new Z0(Al()?`Cannot access variable ${xe(this)??""}. TypeGPU functions that depends on GPU resources need to be part of a compute dispatch, draw call or simulation`:"TypeGPU variables are inaccessible during normal JS execution. If you wanted to simulate GPU behavior, try `tgpu.simulate()`")}}})})();constructor(t,s,r){this[me]={type:"var",scope:t,dataType:s,initialValue:r,label:void 0}}$name(t){return ot(this,t),this}},s6=Qu(R,0).$name("dataBlockIndex"),r6=Qu(R,0).$name("dataByteIndex"),o6=Nc().$name("dataBuffer"),R4=qt([],R)`() { + let i = dataByteIndex; + dataByteIndex = dataByteIndex + 1u; + return i; +}`.$uses({dataByteIndex:r6}).$name("nextByteIndex"),ze="dataBuffer[dataBlockIndex].serializedData[nextByteIndex()]",n6={f32:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([a])`(n) { + ${ze} = bitcast(n); +}`,"f32"),f16:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([xs])`(n) { + ${ze} = pack2x16float(vec2f(f32(n), 0.0)); +}`,"f16"),i32:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Z])`(n) { + ${ze} = bitcast(n); +}`,"i32"),u32:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([R])`(n) { + ${ze} = n; +}`,"u32"),bool:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([ft])`(b) { + ${ze} = u32(b); +}`,"bool"),vec2f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([lt])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); +}`,"vec2f"),vec3f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([It])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); + ${ze} = bitcast(v.z); +}`,"vec3f"),vec4f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Oe])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); + ${ze} = bitcast(v.z); + ${ze} = bitcast(v.w); +}`,"vec4f"),vec2h:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Vs])`(v) { + ${ze} = pack2x16float(vec2f(f32(v.x), f32(v.y))); +}`,"vec2h"),vec3h:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Pr])`(v) { + ${ze} = pack2x16float(vec2f(f32(v.x), f32(v.y))); + ${ze} = pack2x16float(vec2f(f32(v.z), 0.0)); +}`,"vec3h"),vec4h:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Ns])`(v) { + ${ze} = pack2x16float(vec2f(f32(v.x), f32(v.y))); + ${ze} = pack2x16float(vec2f(f32(v.z), f32(v.w))); +}`,"vec4h"),vec2i:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Xt])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); +}`,"vec2i"),vec3i:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([cs])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); + ${ze} = bitcast(v.z); +}`,"vec3i"),vec4i:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Wt])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); + ${ze} = bitcast(v.z); + ${ze} = bitcast(v.w); +}`,"vec4i"),vec2u:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Ct])`(v) { + ${ze} = v.x; + ${ze} = v.y; +}`,"vec2u"),vec3u:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([gt])`(v) { + ${ze} = v.x; + ${ze} = v.y; + ${ze} = v.z; +}`,"vec3u"),vec4u:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Et])`(v) { + ${ze} = v.x; + ${ze} = v.y; + ${ze} = v.z; + ${ze} = v.w; +}`,"vec4u"),"vec2":qt([Or])`(v) { + ${ze} = u32(v.x); + ${ze} = u32(v.y); +}`,"vec3":qt([Vr])`(v) { + ${ze} = u32(v.x); + ${ze} = u32(v.y); + ${ze} = u32(v.z); +}`,"vec4":qt([Nr])`(v) { + ${ze} = u32(v.x); + ${ze} = u32(v.y); + ${ze} = u32(v.z); + ${ze} = u32(v.w); +}`,mat2x2f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Gn])`(m) { + ${ze} = bitcast(m[0][0]); + ${ze} = bitcast(m[0][1]); + ${ze} = bitcast(m[1][0]); + ${ze} = bitcast(m[1][1]); +}`,"mat2x2f"),mat3x3f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Yn])`(m) { + ${ze} = bitcast(m[0][0]); + ${ze} = bitcast(m[0][1]); + ${ze} = bitcast(m[0][2]); + ${ze} = 0u; + ${ze} = bitcast(m[1][0]); + ${ze} = bitcast(m[1][1]); + ${ze} = bitcast(m[1][2]); + ${ze} = 0u; + ${ze} = bitcast(m[2][0]); + ${ze} = bitcast(m[2][1]); + ${ze} = bitcast(m[2][2]); + ${ze} = 0u; +}`,"mat3x3f"),mat4x4f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Hs])`(m) { + ${ze} = bitcast(m[0][0]); + ${ze} = bitcast(m[0][1]); + ${ze} = bitcast(m[0][2]); + ${ze} = bitcast(m[0][3]); + ${ze} = bitcast(m[1][0]); + ${ze} = bitcast(m[1][1]); + ${ze} = bitcast(m[1][2]); + ${ze} = bitcast(m[1][3]); + ${ze} = bitcast(m[2][0]); + ${ze} = bitcast(m[2][1]); + ${ze} = bitcast(m[2][2]); + ${ze} = bitcast(m[2][3]); + ${ze} = bitcast(m[3][0]); + ${ze} = bitcast(m[3][1]); + ${ze} = bitcast(m[3][2]); + ${ze} = bitcast(m[3][3]); +}`,"mat4x4f")};for(let[e,t]of Object.entries(n6))t.$name(`serialize${e[0].toLocaleUpperCase()}${e.slice(1)}`).$uses({dataBlockIndex:s6,nextByteIndex:R4,dataBuffer:o6});function a6(e){return`(${e.map((t,s)=>`_arg_${s}`).join(", ")})`}function i6(e,t){let s=n6[e.type];if(s)return s.with(o6,t);if(Qt(e)){let r=Object.keys(e.propTypes),o=d6(Object.values(e.propTypes),t);return qt([e])`(arg) {\n propsSerializer(${r.map(n=>`arg.${n}`).join(", ")});\n}`.$uses({propsSerializer:o}).$name(`${xe(e)??"struct"}Serializer`)}if(Us(e)){let r=e.elementType,o=e.elementCount,n=i6(r,t);return qt([e])`(arg) {\n${Array.from({length:o},(i,d)=>` elementSerializer(arg[${d}]);`).join(` +`)}\n}`.$uses({elementSerializer:n}).$name("arraySerializer")}throw new Error(`Cannot serialize data of type ${e.type}`)}function d6(e,t){let s={};return(globalThis.__TYPEGPU_AUTONAME__??(r=>r))(qt(e),"shell")`${a6(e)} {\n${e.map((r,o)=>(s[`serializer${o}`]=i6(r,t),` serializer${o}(_arg_${o});`)).join(` +`)}\n}`.$uses(s).$name("compoundSerializer")}function z4(e,t,s,r,o){let n=t.map(_t).reduce((c,_)=>c+_,0);if(n>o.logSizeLimit)throw new Error(`Logged data needs to fit in ${o.logSizeLimit} bytes (one of the logs requires ${n} bytes). Consider increasing the limit by passing appropriate options to tgpu.init().`);let i=d6(t,s).$name(`log${e}serializer`),d=a6(t);return qt(t)`${d} { + dataBlockIndex = atomicAdd(&indexBuffer, 1); + if (dataBlockIndex >= ${o.logCountLimit}) { + return; + } + dataBuffer[dataBlockIndex].id = ${e}; + dataByteIndex = 0; + + compoundSerializer${d}; +}`.$uses({indexBuffer:r,dataBuffer:s,dataBlockIndex:s6,dataByteIndex:r6,compoundSerializer:i}).$name(`log${e}`)}var G4={logCountLimit:64,logSizeLimit:252,messagePrefix:" GPU "},c6=ve("/* console.log() */",_s,"runtime"),Y4=class{get logResources(){}generateLog(){return Vt.warn("fallback","'console.log' is only supported when resolving pipelines."),c6}},L4=class{#e;#t;#s=1;#r;#o;constructor(e){this.#e={...G4,...e[B].logOptions},this.#t=new Map;let t=ut({id:R,serializedData:pt(R,Math.ceil(this.#e.logSizeLimit/4))}).$name("SerializedLogData");this.#o=e.createMutable(pt(t,this.#e.logCountLimit)).$name("dataBuffer"),this.#r=e.createMutable($P(R)).$name("indexBuffer")}generateLog(e,t,s){if(pd.$==="vertex")return Vt.warn("suspicious","'console' operations are not supported in vertex shaders."),c6;let r=this.#s++,o=s.map(c=>{if(c.dataType===Ut)return c;let _=Qn(e,[c],[Ca(c.dataType)])?.[0];return ds(_,`Internal error. Expected type ${c.dataType} to be convertible to ${Ca(c.dataType)}`),_}).map(MM),n=o.filter(c=>c.dataType!==Ut),i=z4(r,n.map(c=>c.dataType),this.#o,this.#r,this.#e),d=ve(ce`${e.resolve(i).value}(${n})`,_s,"runtime");return this.#t.set(r,{op:t,argTypes:o.map(c=>c?.dataType===Ut?c?.value:c?.dataType)}),d}get logResources(){return this.#s===1?void 0:{dataBuffer:this.#o,indexBuffer:this.#r,options:this.#e,logIdToMeta:this.#t}}};function I4(e){return e?.resourceType==="shellless-impl"}function D4(e,t){let s=ri(t,"normal");return{[B]:!0,[Xs]:s,resourceType:"shellless-impl",argTypes:e,[kt](r){return s.resolve(r,e,void 0)},toString(){return`fn*:${xe(s)??""}(${e.map(r=>r.toString()).join(", ")})`}}}var F4=new RegExp(`[${[...S5].join("")}]+`,"ug"),eg=/[.\p{XID_Continue}]/u;function tg(e){let t=W4(e).split(F4).filter(r=>r!==""),s="";for(let r=0;r0;)e.startsWith("/*",r)?(o+=1,r+=2):e.startsWith("*/",r)?(o-=1,r+=2):r+=1;if(o>0)throw new SyntaxError("Block comment opening without corresponding closing found during minification.");s=r;continue}if(e.startsWith("*/",r))throw new SyntaxError("Block comment closing without corresponding opening found during minification.");r+=1}return t+e.slice(s)}var Up="#CATCHALL#",O4=class{_stack=[];_itemDepth=0;get itemDepth(){return this._itemDepth}get topItem(){let e=this._stack[this._stack.length-1];if(!e||e.type!=="item")throw new Error("Internal error, expected item layer to be on top.");return e}get topFunctionScope(){return this._stack.findLast(e=>e.type==="functionScope")}get topBlockScope(){return this._stack.findLast(e=>e.type==="blockScope")}get blockDepth(){let e=0;for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="functionScope")break;s?.type==="blockScope"&&e++}return e}pushItem(){this._itemDepth++,this._stack.push({type:"item",usedSlots:new Set})}pushSlotBindings(e){this._stack.push({type:"slotBinding",bindingMap:new WeakMap(e)})}pushFunctionScope(e,t,s,r){let o={type:"functionScope",functionType:e,argAccess:t,returnType:s,externalMap:r,reportedReturnTypes:new Set,placeholderForVariable:new Map,modifiedVariables:new Set};return this._stack.push(o),o}pushBlockScope(){this._stack.push({type:"blockScope",takenLocalIdentifiers:new Set,declarations:new Map,externals:new Map})}pop(e){let t=this._stack[this._stack.length-1];if(!t||e&&t.type!==e)throw new Error(`Internal error, expected a ${e} layer to be on top.`);let s=this._stack.pop();return e==="item"&&this._itemDepth--,s}readSlot(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="item")s.usedSlots.add(e);else if(s?.type==="slotBinding"){let r=s.bindingMap.get(e);if(r!==void 0)return r}else if(!(s?.type==="functionScope"||s?.type==="blockScope"))throw new Error("Unknown layer type.")}return e.defaultValue}getSnippetById(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="functionScope"){let r=s.argAccess[e];if(r)return r();if(Object.hasOwn(s.externalMap,e)){let o=s.externalMap[e];return Di(o)&&xe(o)===void 0&&ot(o,e.replaceAll(".","_")),Wr(o)}return}if(s?.type==="blockScope"){let r=s.declarations.get(e)??s.externals.get(e);if(r!==void 0)return r}}}isIdentifierTakenLocally(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="functionScope")return!1;if(s?.type==="blockScope"&&s.takenLocalIdentifiers.has(e))return!0}return!1}isIdentifierTakenInCallStack(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="blockScope"&&s.takenLocalIdentifiers.has(e))return!0}return!1}defineBlockVariable(e,t){if(t.dataType===Ut)throw Error(`Tried to define variable '${e}' of unknown type`);for(let s=this._stack.length-1;s>=0;--s){let r=this._stack[s];if(r?.type==="blockScope"){r.declarations.set(e,t);return}}throw new Error("No block scope found to define a variable in.")}setBlockExternals(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="blockScope"){Object.entries(e).forEach(([r,o])=>{s.externals.set(r,o)});return}}throw new Error("No block scope found to set externals in.")}clearBlockExternals(){for(let e=this._stack.length-1;e>=0;--e){let t=this._stack[e];if(t?.type==="blockScope"){t.externals.clear();return}}throw new Error("No block scope found to clear externals in.")}},_c=[""," "," "," "," "," "," "," "," "],fm=_c.length-1,V4=class{identLevel=0;get pre(){return _c[this.identLevel]??_c[fm].repeat(this.identLevel/fm)+_c[this.identLevel%fm]}indent(){let e=this.pre;return this.identLevel++,e}dedent(){return this.identLevel--,this.pre}withResetLevel(e){let t=this.identLevel;this.identLevel=0;try{return e()}finally{this.identLevel=t}}};function wi(e,t,s="argument"){let r=!1;return{name:e,access:()=>(r=!0,ve(e,t,s,!1)),decoratedType:t,get used(){return r}}}function sg(e,t){return()=>{let s=e();if(s)return Bi(s,t)}}var _6=class{#e;_indentController=new V4;_itemStateStack=new O4;#t=[];_declarations=[];_varyingLocations;#s=new WeakSet;#r;gen;get varyingLocations(){return this._varyingLocations}[B]={itemStateStack:this._itemStateStack};bindGroupLayoutsToPlaceholderMap=new Map;_nextFreeLayoutPlaceholderIdx=0;fixedBindings=[];enableExtensions;expectedType;#o=0;constructor(e){this.enableExtensions=e.enableExtensions,this.#r=e.root?new L4(e.root):new Y4,this.#e=e.namespace[B],this.gen=e.shaderGenerator??new R$,this.gen.initGenerator(this)}isIdentifierBanned(e){return mv.has(e)}isIdentifierTaken(e,t){return this.#e.takenGlobalIdentifiers.has(e)||(t==="block"?this._itemStateStack.isIdentifierTakenLocally(e):this._itemStateStack.isIdentifierTakenInCallStack(e))}makeUniqueIdentifier(e="item",t){if(t==="block"&&Fu(e).success&&!this.isIdentifierTaken(e,t))return this.reserveIdentifier(e,"block"),e;let s=oP(e),r=0,o=this.#e.strategy==="random",n=o?`${s}_${this.#o++}`:s;for(;this.isIdentifierTaken(n,t);)n=o?`${s}_${this.#o++}`:`${s}_${++r}`;return this.reserveIdentifier(n,t),n}reserveIdentifier(e,t){if(t==="block"){let s=this._itemStateStack.topBlockScope;if(s){s.takenLocalIdentifiers.add(e);return}}this.#e.takenGlobalIdentifiers.add(e)}get pre(){return this._indentController.pre}get topFunctionScope(){return this._itemStateStack.topFunctionScope}get topFunctionReturnType(){let e=this._itemStateStack.topFunctionScope;return ds(e,"Internal error, expected function scope to be present."),e.returnType}get shelllessRepo(){return this.#e.shelllessRepo}get blockDepth(){return this._itemStateStack.blockDepth}indent(){return this._indentController.indent()}dedent(){return this._indentController.dedent()}getDedented(e){return e.replaceAll(` +${_c[1]}`,` +`)}withResetIndentLevel(e){return this._indentController.withResetLevel(e)}getById(e){let t=this._itemStateStack.getSnippetById(e);return t===void 0?null:t}defineVariable(e,t){this._itemStateStack.defineBlockVariable(e,t)}reportReturnType(e){let t=this._itemStateStack.topFunctionScope;ds(t,"Internal error, expected function scope to be present."),t.reportedReturnTypes.add(e)}pushBlockScope(){this._itemStateStack.pushBlockScope()}popBlockScope(){this._itemStateStack.pop("blockScope")}setBlockExternals(e){this._itemStateStack.setBlockExternals(e)}clearBlockExternals(){this._itemStateStack.clearBlockExternals()}generateLog(e,t){return this.#r.generateLog(this,e,t)}get logResources(){return this.#r.logResources}resolveFunction(e){try{let t=this._itemStateStack.pushFunctionScope(e.functionType,{},e.returnType,e.externalMap);this._itemStateStack.pushBlockScope();let s=[];if(e.entryInput){let{dataSchema:n,positionalArgs:i}=e.entryInput,d=e.params[0],c=n?wi(this.makeUniqueIdentifier("_arg_0","block"),n):void 0;if(c&&s.push(c),d?.type===tc.destructuredObject)for(let{name:_,alias:u}of d.props){let m=i.find(p=>p.schemaKey===_);if(m){let p=wi(this.makeUniqueIdentifier(u,"block"),m.type);s.push(p),t.argAccess[u]=p.access}else c&&(t.argAccess[u]=sg(c.access,_))}else if(d?.type===tc.identifier){let _=[];for(let m of i){let p=wi(this.makeUniqueIdentifier(m.schemaKey,"block"),m.type);s.push(p),_.push({schemaKey:m.schemaKey,arg:p.access})}let u=new b5(c?.access,_);t.argAccess[d.name]=()=>ve("N/A",u,"argument")}else for(let _ of i){let u=this.makeUniqueIdentifier(`_arg_${_.schemaKey}`,"block"),m=wi(u,_.type);s.push(m),t.argAccess[u]=m.access}}else for(let[n,i]of e.argTypes.entries()){let d=e.params[n],c=pr(i)?i.addressSpace==="storage"?i.access==="read"?"readonly":"mutable":i.addressSpace:"argument";switch(d?.type){case tc.identifier:{let _=wi(this.makeUniqueIdentifier(d.name,"block"),i,c);s.push(_),t.argAccess[d.name]=_.access;break}case tc.destructuredObject:{let _=wi(this.makeUniqueIdentifier(`_arg_${n}`,"block"),i,c);s.push(_);for(let{name:u,alias:m}of d.props)t.argAccess[m]=sg(_.access,u);break}case void 0:i instanceof Wo||s.push({name:this.makeUniqueIdentifier(`_arg_${n}`,"block"),access:()=>{throw new Error("Unreachable: Accessing an argument that wasn't named in the function signature")},decoratedType:i,used:!1})}}let r,o=this.gen.functionDefinition({functionType:e.functionType,name:e.name,workgroupSize:e.workgroupSize,args:s,body:e.body,determineReturnType:()=>{if(r)return r;if(r=e.returnType,r instanceof Wo&&(Qt(t.reportedReturnTypes.values().next().value)?r=r.completeStruct:r=void 0),!r){let n=[...t.reportedReturnTypes];if(n.length===0)r=_s;else{let i=Vf(n);i&&!i.hasImplicitConversions&&(r=i.targetType)}if(!r)throw new Error(`Expected function to have a single return type, got [${n.join(", ")}]. Cast explicitly to the desired type.`);r=no(r),(e.functionType==="vertex"||e.functionType==="fragment")&&(r=Bc(r))}return r}});if(!r)throw new Error("Failed to determine return type");return{code:o,returnType:r}}finally{this._itemStateStack.pop("blockScope"),this._itemStateStack.pop("functionScope")}}addDeclaration(e,t){this._declarations.push({name:t,code:e})}get declarations(){return this._declarations}allocateLayoutEntry(e){let t=this.bindGroupLayoutsToPlaceholderMap,s=t.get(e);return s||(s=`#BIND_GROUP_LAYOUT_${this._nextFreeLayoutPlaceholderIdx++}#`,t.set(e,s)),s}allocateFixedEntry(e,t){let s=this.fixedBindings.length;return this.fixedBindings.push({layoutEntry:e,resource:t}),{group:Up,binding:s}}readSlot(e){let t=this._itemStateStack.readSlot(e);if(t===void 0)throw new KA(e);return t}withSlots(e,t){if(e.length===0)return t();this._itemStateStack.pushSlotBindings(e);try{return t()}finally{this._itemStateStack.pop("slotBinding")}}withVaryingLocations(e,t){this._varyingLocations=e;try{return t()}finally{this._varyingLocations=void 0}}withRenamed(e,t,s){if(!t)return s();let r=xe(e);try{return ot(e,t),s()}finally{r&&ot(e,r)}}unwrap(e){if(al(e))return this.withRenamed(e[Mr].inner,xe(e),()=>this.withSlots(e[Mr].pairs,()=>this.unwrap(e[Mr].inner)));let t=e;for(;;)if(cp(t))t=this.readSlot(t);else if(_p(t))t=this._getOrCompute(t);else break;return t}_getOrCompute(e){let t=this.#e.memoizedLazy.get(e)??[];this._itemStateStack.pushItem();try{for(let o of t)if([...o.slotToValueMap.entries()].every(([n,i])=>n.areEqual(this._itemStateStack.readSlot(n),i)))return o.result;this.pushMode(new _d);let s;try{s=e[B].compute()}finally{this.popMode("normal")}let r=new Map;for(let o of this._itemStateStack.topItem.usedSlots)r.set(o,this._itemStateStack.readSlot(o));return t.push({slotToValueMap:r,result:s}),this.#e.memoizedLazy.set(e,t),s}catch(s){throw s instanceof Pi?s.appendToTrace(e):new Pi(s,[e])}finally{this._itemStateStack.pop("item")}}_getOrInstantiate(e){let t=this.#e.memoizedResolves.get(e)??[];this._itemStateStack.pushItem();try{for(let o of t)if([...o.slotToValueMap.entries()].every(([n,i])=>n.areEqual(this._itemStateStack.readSlot(n),i)))return o.result;let s;if(Rc(e))s=ve(this.gen.emitTypeAnnotation(e),_s,"runtime");else if(_p(e)||cp(e))s=this.resolve(this.unwrap(e));else if(g2(e))s=e[kt](this);else if(Fi(e)){let o=this.#e.shelllessRepo.get(e,void 0);if(!o)throw new Error(`Couldn't resolve ${e.name}. Make sure it's a function that accepts no arguments, or call it from another TypeGPU function.`);return this.withResetIndentLevel(()=>this.resolve(o))}else throw new TypeError(`Unresolvable internal value: ${io(e)}`);let r=new Map;for(let o of this._itemStateStack.topItem.usedSlots)r.set(o,this._itemStateStack.readSlot(o));return t.push({slotToValueMap:r,result:s}),this.#e.memoizedResolves.set(e,t),s}catch(s){throw s instanceof Pi?s.appendToTrace(e):new Pi(s,[e])}finally{this._itemStateStack.pop("item")}}resolve(e,t){if(typeof e=="string"){if(!t||t===Ut)throw new Error(`Strings cannot be injected into WGSL directly (tried to inject '${e}'). Look for TypeGPU APIs that cover your use-case, or resort to using tgpu['~unstable'].rawCodeSnippet for raw code injection.`);return ve(e,t,"runtime")}if((vp(e)||I4(e))&&!al(e)){if(this.#s.has(e)&&!this.#e.memoizedResolves.has(e))throw new Error(`Recursive function ${e} detected. Recursion is not allowed on the GPU.`);this.#s.add(e)}if(al(e))return this.withRenamed(e[Mr].inner,xe(e),()=>this.withSlots(e[Mr].pairs,()=>this.resolve(e[Mr].inner,t)));if(mt(e)||Fi(e)){if(this._itemStateStack.itemDepth===0)try{this.pushMode(new iM);let s=w2(this,()=>this._getOrInstantiate(e));return ve(`${this._declarations.map(r=>r.code).join(` + +`)}${s.value}`,_s,"runtime")}finally{this.popMode("codegen")}return this._getOrInstantiate(e)}if(typeof e=="number"){let s=t??on(e).dataType;return ds(s!==Ut,"Schema has to be known for resolving numbers"),this.gen.numericLiteral(e,s)}if(typeof e=="boolean")return ve(e?"true":"false",ft,"constant",!1);if(t&&Us(t)){if(!Array.isArray(e))throw new Qe(`Cannot coerce ${e} into value of type '${t}'`);if(t.elementCount!==e.length)throw new Qe(`Cannot create value of type '${t}' from an array of length: ${e.length}`);return this.gen.typeInstantiation(t,e.map(s=>ve(s,t.elementType,"runtime")))}if(t&&Qt(t))return this.gen.typeInstantiation(t,Object.entries(t.propTypes).map(([s,r])=>ve(e[s],r,"runtime")));throw new Qe(`Value ${io(e)} is not resolvable${t&&t!==Ut?` to type ${io(t)}`:""}`)}resolveSnippet(e){return x2(this.resolve(e.value,e.dataType).value,e)}pushMode(e){this.#t.push(e)}popMode(e){let t=this.#t.pop();e!==void 0&&ds(t?.type===e,"Unexpected mode")}get mode(){return this.#t[this.#t.length-1]??T2}};function Ju(e,t){let s=new _6(t),r=(t.config?s.withSlots(t.config(new W5([])).bindings,()=>s.resolve(e)):s.resolve(e)).value,o=s.bindGroupLayoutsToPlaceholderMap,n=[],i=Q$(new Set([...o.keys()].map(p=>p.index).filter(p=>p!==void 0))),d=s.fixedBindings.map((p,y)=>[String(y),p.layoutEntry]),c=[],_=()=>{let p=i.next().value,y=(globalThis.__TYPEGPU_AUTONAME__??(h=>h))(K5(Object.fromEntries(d)),"catchallLayout");return n[p]=y,r=r.replaceAll(Up,String(p)),c.push([Up,String(p)]),[p,new Q5(t.root,y,Object.fromEntries(s.fixedBindings.map((h,g)=>[String(g),h.resource])))]},u=d.length>0?_():void 0;for(let[p,y]of o.entries()){let h=p.index??i.next().value;n[h]=p,r=r.replaceAll(y,String(h)),c.push([y,String(h)])}t.enableExtensions&&t.enableExtensions.length>0&&(r=`${t.enableExtensions.map(p=>`enable ${p};`).join(` +`)} + +${r}`);let m=s.declarations.map(({name:p,code:y})=>({name:p,code:c.reduce((h,[g,w])=>h.replaceAll(g,w),y)}));return t.minify&&(r=tg(r),m=m.map(p=>({...p,code:tg(p.code)}))),{code:r,declarations:m,usedBindGroupLayouts:n,catchall:u,logResources:s.logResources}}function l6(e,t,s){return e.flatMap((r,o)=>{let n=t&&o===t[0]?t[1]:s?.get(r);return n?[[r,n]]:[]})}function N4(e,t){return e.flatMap(s=>{let r=t?.get(s);return r?[[s,r]]:[]})}var q4={dispatchWorkgroupsIndirect:"3 x u32",drawIndirect:"4 x u32",drawIndexedIndirect:"3 x u32, i32, u32"};function rg(e,t,s,r){if(t+s>e)throw new Error(`Buffer too small for ${r}. Required: ${s} bytes at offset ${t}, but buffer is only ${e} bytes.`);if(t%4!==0)throw new Error(`Indirect buffer offset must be a multiple of 4. Got: ${t}`)}function Vi(e,t,s,r){if(Mn(e)){let i=typeof t=="number"?t:t?.offset??0;return rg(e.size,i,s,r),i}let{offset:o,contiguous:n}=t?typeof t=="number"?{offset:t,contiguous:s}:t:cl(e.dataType);return rg(_t(e.dataType),o,s,r),ntypeof e=="number"?Zo(e):qr.bitcastU32toF32[e.kind](e)),codegenImpl:(e,[t],s)=>e.gen.emitCall("bitcast",[Wr(s)],[t]),signature:(...e)=>{let t=Iu(e,Rl);if(!t)throw new Ts(e,Rl);return{argTypes:t,returnType:Rt(t[0])?t[0].type==="vec2u"?lt:t[0].type==="vec3u"?It:Oe:a}},sideEffects:!1});pe({name:"bitcastU32toI32",normalImpl:(e=>typeof e=="number"?Qo(e):qr.bitcastU32toI32[e.kind](e)),codegenImpl:(e,[t],s)=>e.gen.emitCall("bitcast",[Wr(s)],[t]),signature:(...e)=>{let t=Iu(e,Rl);if(!t)throw new Ts(e,Rl);return{argTypes:t,returnType:Rt(t[0])?t[0].type==="vec2u"?Xt:t[0].type==="vec3u"?cs:Wt:Z}},sideEffects:!1});var og=[a,lt,It,Oe];pe({name:"bitcastF32toU32",normalImpl:(e=>typeof e=="number"?Jo(e):qr.bitcastF32toU32[e.kind](e)),codegenImpl:(e,[t],s)=>e.gen.emitCall("bitcast",[Wr(s)],[t]),signature:(...e)=>{let t=Iu(e,og);if(!t)throw new Ts(e,og);return{argTypes:t,returnType:Rt(t[0])?t[0].type==="vec2f"?Ct:t[0].type==="vec3f"?gt:Et:R}},sideEffects:!1});var B_=new ArrayBuffer(16),W_={f32:new Float32Array(B_),u32:new Uint32Array(B_),i32:new Int32Array(B_),u16:new Uint16Array(B_)};function X4(e,t){if(typeof e=="number")t[0]=e;else for(let s=0;s{let s="primitive"in e?e.primitive:e,r="primitive"in t?t.primitive:t;return o=>(s.type==="f16"?H4(o,W_.u16):X4(o,W_[s.type]),r.type==="f16"?K4(W_.u16,t):j4(W_[r.type],t))};function et(e,t){return pe({name:"bitcast",normalImpl:Z4(e,t),codegenImpl:(s,[r])=>s.gen.emitCall("bitcast",[Wr(t)],[r]),signature:s=>{let r=Iu([s],[e]);if(!r)throw new Ts([s],[e]);return{argTypes:r,returnType:t}},sideEffects:!1})}var ng={f16:{f16:et(xs,xs)},f32:{f32:et(a,a),i32:et(a,Z),u32:et(a,R),vec2h:et(a,Vs)},i32:{f32:et(Z,a),i32:et(Z,Z),u32:et(Z,R),vec2h:et(Z,Vs)},u32:{f32:et(R,a),i32:et(R,Z),u32:et(R,R),vec2h:et(R,Vs)},vec2h:{f32:et(Vs,a),i32:et(Vs,Z),u32:et(Vs,R),vec2h:et(Vs,Vs)},vec3h:{vec3h:et(Pr,Pr)},vec2f:{vec2f:et(lt,lt),vec2i:et(lt,Xt),vec2u:et(lt,Ct),vec4h:et(lt,Ns)},vec2i:{vec2f:et(Xt,lt),vec2i:et(Xt,Xt),vec2u:et(Xt,Ct),vec4h:et(Xt,Ns)},vec2u:{vec2f:et(Ct,lt),vec2i:et(Ct,Xt),vec2u:et(Ct,Ct),vec4h:et(Ct,Ns)},vec4h:{vec2f:et(Ns,lt),vec2i:et(Ns,Xt),vec2u:et(Ns,Ct),vec4h:et(Ns,Ns)},vec3f:{vec3f:et(It,It),vec3i:et(It,cs),vec3u:et(It,gt)},vec3i:{vec3f:et(cs,It),vec3i:et(cs,cs),vec3u:et(cs,gt)},vec3u:{vec3f:et(gt,It),vec3i:et(gt,cs),vec3u:et(gt,gt)},vec4f:{vec4f:et(Oe,Oe),vec4i:et(Oe,Wt),vec4u:et(Oe,Et)},vec4i:{vec4f:et(Wt,Oe),vec4i:et(Wt,Wt),vec4u:et(Wt,Et)},vec4u:{vec4f:et(Et,Oe),vec4i:et(Et,Wt),vec4u:et(Et,Et)}};function Q4(e,t){if("type"in e&&e.type in ng){let s=ng[e.type];if("type"in t&&t.type in s)return s[t.type]}throw new Error(`Incorrect bitcast from ${xe(e)} to ${xe(t)}.`)}var u6=Ao(Q4),J4=pe({name:"unpack2x16float",normalImpl:e=>{let t=new ArrayBuffer(4);new si(t).writeUint32(e);let s=new ld(t);return lt(Bs(s),Bs(s))},signature:{argTypes:[R],returnType:lt},codegenImpl:(e,[t])=>ce`unpack2x16float(${t})`,sideEffects:!1});pe({name:"pack2x16float",normalImpl:e=>{let t=new ArrayBuffer(4),s=new si(t);return Fs(s,e.x),Fs(s,e.y),R(new ld(t).readUint32())},signature:{argTypes:[lt],returnType:R},codegenImpl:(e,[t])=>ce`pack2x16float(${t})`,sideEffects:!1});pe({name:"unpack4x8unorm",normalImpl:e=>{let t=new ArrayBuffer(4);new si(t).writeUint32(e);let s=new ld(t);return Oe(s.readUint8()/255,s.readUint8()/255,s.readUint8()/255,s.readUint8()/255)},signature:{argTypes:[R],returnType:Oe},codegenImpl:(e,[t])=>ce`unpack4x8unorm(${t})`,sideEffects:!1});pe({name:"pack4x8unorm",normalImpl:e=>{let t=new ArrayBuffer(4),s=new si(t);return s.writeUint8(e.x*255),s.writeUint8(e.y*255),s.writeUint8(e.z*255),s.writeUint8(e.w*255),R(new ld(t).readUint32())},signature:{argTypes:[Oe],returnType:R},codegenImpl:(e,[t])=>ce`pack4x8unorm(${t})`,sideEffects:!1});var wt=e=>u6(R,a)(e??0),Ko=e=>u6(R,Z)(e??0),Ti=e=>J4(e??0),eU={f32:e=>wt(e[0]),f16:e=>Ti(e[0]).x,i32:e=>Ko(e[0]),u32:e=>e[0]??0,bool:e=>!!e[0],vec2f:e=>lt(wt(e[0]),wt(e[1])),vec3f:e=>It(wt(e[0]),wt(e[1]),wt(e[2])),vec4f:e=>Oe(wt(e[0]),wt(e[1]),wt(e[2]),wt(e[3])),vec2h(e){let t=Ti(e[0]);return Vs(t.x,t.y)},vec3h(e){let t=Ti(e[0]),s=Ti(e[1]);return Pr(t.x,t.y,s.x)},vec4h(e){let t=Ti(e[0]),s=Ti(e[1]);return Ns(t.x,t.y,s.x,s.y)},vec2i:e=>Xt(Ko(e[0]),Ko(e[1])),vec3i:e=>cs(Ko(e[0]),Ko(e[1]),Ko(e[2])),vec4i:e=>Wt(Ko(e[0]),Ko(e[1]),Ko(e[2]),Ko(e[3])),vec2u:e=>Ct(e[0]??0,e[1]??0),vec3u:e=>gt(e[0]??0,e[1]??0,e[2]??0),vec4u:e=>Et(e[0]??0,e[1]??0,e[2]??0,e[3]??0),"vec2":e=>Or(!!e[0],!!e[1]),"vec3":e=>Vr(!!e[0],!!e[1],!!e[2]),"vec4":e=>Nr(!!e[0],!!e[1],!!e[2],!!e[3]),mat2x2f:e=>Gn(wt(e[0]),wt(e[1]),wt(e[2]),wt(e[3])),mat3x3f:e=>Yn(wt(e[0]),wt(e[1]),wt(e[2]),wt(e[4]),wt(e[5]),wt(e[6]),wt(e[8]),wt(e[9]),wt(e[10])),mat4x4f:e=>Hs(wt(e[0]),wt(e[1]),wt(e[2]),wt(e[3]),wt(e[4]),wt(e[5]),wt(e[6]),wt(e[7]),wt(e[8]),wt(e[9]),wt(e[10]),wt(e[11]),wt(e[12]),wt(e[13]),wt(e[14]),wt(e[15]))};function tU(e,t){let s=eU[t.type];if(s)return s(e);if(Qt(t)){let r=Object.keys(t.propTypes),o=Cp(e,Object.values(t.propTypes));return Object.fromEntries(r.map((n,i)=>[n,o[i]]))}if(Us(t)){let r=t.elementType,o=t.elementCount;return Cp(e,Array.from({length:o},()=>r))}throw new Error(`Cannot deserialize data of type ${t.type}`)}function Cp(e,t){let s=0;return t.map(r=>{if(!Qa(r))return r;let o=Math.ceil(_t(r)/4),n=tU(e.subarray(s,s+o),r);return s+=o,n})}function sU(e,t){return Cp(e,t).map(ap)}function rU(e){let{indexBuffer:t,dataBuffer:s,logIdToMeta:r,options:o}=e;s.read().then(n=>{n.filter(i=>i.id).forEach(({id:i,serializedData:d})=>{let{argTypes:c,op:_}=r.get(i),u=sU(new Uint32Array(d),c);u.length===0&&u.push(""),_.bind(console)(`%c${o.messagePrefix}%c ${u[0]}`,"background: #936ff5; color: white;","color: inherit; background: none",...u.slice(1))})}),t.read().then(n=>{n>o.logCountLimit&&Vt.warn("log-limit-exceeded",`Log count limit per dispatch (${o.logCountLimit}) exceeded by ${n-o.logCountLimit} calls. Consider increasing the limit by passing appropriate options to tgpu.init().`)}),s.buffer.clear(),t.buffer.clear()}function oU(e,t,s,r){return new nU(e,t,s,r)}function Uv(e){let t=e;return t?.resourceType==="query-set"&&!!t[B]}var nU=class{resourceType="query-set";#e;#t=!1;#s=!0;#r=void 0;#o=void 0;[me];[B];constructor(e,t,s,r){this.#e=!r,this[me]={type:"query-set",device:e.device,queryType:t,count:s,raw:r,label:void 0};let o=this;this[B]={get readBuffer(){return o.#r||(o.#r=o[me].device.createBuffer({size:o.count*BigUint64Array.BYTES_PER_ELEMENT,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ})),o.#r},get resolveBuffer(){return o.#o||(o.#o=o[me].device.createBuffer({size:o.count*BigUint64Array.BYTES_PER_ELEMENT,usage:GPUBufferUsage.QUERY_RESOLVE|GPUBufferUsage.COPY_SRC})),o.#o},materialize:()=>{if(this.#t)throw new Error("This QuerySet has been destroyed.");let n=this[me];return n.raw||(n.raw=n.device.createQuerySet({type:n.queryType,count:n.count})),n.raw}}}get type(){return this[me].queryType}get count(){return this[me].count}get querySet(){return this[B].materialize()}get destroyed(){return this.#t}get available(){return this.#s}$name(e){ot(this,e);let t=this[me].raw;return t&&(t.label=e),this}resolve(){if(this.#t)throw new Error("This QuerySet has been destroyed.");if(!this.#s)throw new Error("This QuerySet is busy resolving or reading.");let e=this[me].device.createCommandEncoder();e.resolveQuerySet(this.querySet,0,this.count,this[B].resolveBuffer,0),this[me].device.queue.submit([e.finish()])}async read(){if(!this.#o)throw new Error("QuerySet must be resolved before reading.");this.#s=!1;try{let e=this[me].device.createCommandEncoder();e.copyBufferToBuffer(this[B].resolveBuffer,0,this[B].readBuffer,0,this.count*BigUint64Array.BYTES_PER_ELEMENT),this[me].device.queue.submit([e.finish()]);let t=this[B].readBuffer;await t.mapAsync(GPUMapMode.READ);let s=new BigUint64Array(t.getMappedRange().slice());return t.unmap(),Array.from(s)}finally{this.#s=!0}}destroy(){this.#t||(this.#t=!0,this[me].raw&&this.#e&&this[me].raw.destroy(),this.#r?.destroy(),this.#o?.destroy(),this.#r=this.#o=void 0)}};function m6(e,t,s){return e.timestampWrites?{...e,performanceCallback:t}:{...e,performanceCallback:t,timestampWrites:{querySet:s,beginningOfPassWriteIndex:0,endOfPassWriteIndex:1}}}function p6(e,t,s){if(!s.enabledFeatures.has("timestamp-query"))throw new Error('Timestamp writes require the "timestamp-query" feature to be enabled on GPU device.');let r={querySet:t.querySet};return t.beginningOfPassWriteIndex!==void 0&&(r.beginningOfPassWriteIndex=t.beginningOfPassWriteIndex),t.endOfPassWriteIndex!==void 0&&(r.endOfPassWriteIndex=t.endOfPassWriteIndex),{...e,timestampWrites:r}}var ag=new WeakMap;async function aU(e,t){if(!e.available)return;let s=await e.read();for(let{priors:r,callback:o}of t){let n=s[r.timestampWrites?.beginningOfPassWriteIndex??0],i=s[r.timestampWrites?.endOfPassWriteIndex??1];if(n===void 0||i===void 0)throw new Error("QuerySet did not return valid timestamps.");await o(n,i)}}function iU(e,t){let s=t.timestampWrites?.querySet,r=t.performanceCallback;if(!s)throw new Error("Cannot dispatch workgroups with performance callback without a query set.");if(!Uv(s))throw new Error("Performance callback with raw GPUQuerySet is not supported. Use TgpuQuerySet instead.");let o=e[B];if(o.adopted)return!1;let{root:n}=o;o.beforeFinish.set(s,c=>{c.resolveQuerySet(n.unwrap(s),0,s.count,s[B].resolveBuffer,0)});let i=ag.get(e);i||(i=new Map,ag.set(e,i));let d=i.get(s);if(!d){let c=[];d=c,i.set(s,c),o.afterSubmit.set(s,()=>{i.delete(s),aU(s,c)})}return d.some(c=>c.priors===t)?Vt.warnOnce("suspicious",s,"repeated-timed-execution","Repeated executions of a timed pipeline within one command encoder write to the same query set indices, so the performance callback reports only the last execution."):d.push({priors:t,callback:r}),!0}var dU=class{bindGroups=new Map;vertexBuffers=new Map;currentPipeline;indexBuffer;stencilReference;appliedStencilReference=0;version=0;rawAccessed=!1},cU=class{bindGroups=new Map;currentPipeline;version=0;rawAccessed=!1};function f6(e,t,s){ca(t)?e.bindGroups.set(t.layout,t):e.bindGroups.set(t,s),e.version++}function v6(e,t){let{priors:s}=t[B];if(e.currentPipeline=t,s.bindGroupLayoutMap)for(let[r,o]of s.bindGroupLayoutMap)e.bindGroups.set(r,o);if(s.vertexLayoutMap)for(let[r,o]of s.vertexLayoutMap)e.vertexBuffers.set(r,{buffer:o,offset:void 0,size:void 0});s.indexBuffer&&(e.indexBuffer=s.indexBuffer),s.stencilReference!==void 0&&(e.stencilReference=s.stencilReference),e.version++}function y6(e,t){let{priors:s}=t[B];if(e.currentPipeline=t,s.bindGroupLayoutMap)for(let[r,o]of s.bindGroupLayoutMap)e.bindGroups.set(r,o);e.version++}function _U(e,t,s){let{buffer:r,indexFormat:o,offsetBytes:n,sizeBytes:i}=s;hc(r)?e.setIndexBuffer(t.unwrap(r),o,n,i):e.setIndexBuffer(r,o,n,i)}function h6(e,t,s,r,o){let n=new Set(s);if(s.forEach((i,d)=>{if(r&&d===r[0])e.setBindGroup(d,t.unwrap(r[1])),n.delete(i);else{let c=o(i);c!==void 0&&(n.delete(i),ca(c)?e.setBindGroup(d,t.unwrap(c)):e.setBindGroup(d,c))}}),n.size>0)throw new QA(n)}function lU(e,t,s,r){let o=new Set;if(s.forEach((n,i)=>{let d=r(n);!d||!d.buffer?o.add(n):hc(d.buffer)?e.setVertexBuffer(i,t.unwrap(d.buffer),d.offset,d.size):e.setVertexBuffer(i,d.buffer,d.offset,d.size)}),o.size>0)throw new JA(o)}function uU(e,t,s,r){let o=s[B].core.unwrap();e.setPipeline(o.pipeline),h6(e,t,o.usedBindGroupLayouts,o.catchall,n=>r.bindGroups.get(n)),lU(e,t,o.usedVertexLayouts,n=>r.vertexBuffers.get(n)),r.indexBuffer!==void 0&&_U(e,t,r.indexBuffer),typeof e.setStencilReference=="function"&&r.stencilReference!==void 0&&(r.rawAccessed||r.stencilReference!==r.appliedStencilReference)&&(e.setStencilReference(r.stencilReference),r.appliedStencilReference=r.stencilReference)}function mU(e,t,s,r){let o=s[B].core.unwrap();e.setPipeline(o.pipeline),h6(e,t,o.usedBindGroupLayouts,o.catchall,n=>r.bindGroups.get(n))}function x6(e){if(!e)throw new Error("No index buffer is set. Call pipeline.withIndexBuffer or pass.setIndexBuffer before drawing indexed geometry.")}function ig(e,t){Vt.warnOnce("suspicious",e,t,`${t} is ignored when recording into a raw GPUCommandEncoder, since there is no submission to report after. Use root['~unstable'].createCommandEncoder() instead.`)}function g6(e,t){return!e||e[B].adopted?!1:(e[B].afterSubmit.set(t,()=>rU(t)),!0)}function b6(e,t,s,r){s&&!g6(e,s)&&ig(t,"Shader console.log output"),r.performanceCallback&&!iU(e,r)&&ig(t,"The performance callback"),r.encoder===void 0&&e.submit()}var pU={render:{into:"drawing into a render pass",intoRaw:"drawing into a raw render pass",begin:"beginRenderPass"},compute:{into:"dispatching into a compute pass",intoRaw:"dispatching into a raw compute pass",begin:"beginComputePass"}};function w6(e,t,s,r,o,n=!1){let i=pU[o];n&&Vt.warnOnce("suspicious",e,"attachments",`Pipeline-level attachments are ignored when ${i.into}. Pass \`colorAttachments\` and \`depthStencilAttachment\` to encoder.${i.begin} instead.`),s&&Vt.warnOnce("suspicious",e,"timestampWrites",`Pipeline-level timestamp writes are ignored when ${i.into}. Pass \`timestampWrites\` to encoder.${i.begin} instead.`),r&&!g6(t,r)&&Vt.warnOnce("suspicious",e,"logs",`Shader console.log output is ignored when ${i.intoRaw} encoder, since there is no submission to read it back after.`)}function Rp(e,t,s,r,o,n=!1){let{state:i,rawPass:d}=t,{core:c,priors:_}=s[B];i.currentPipeline!==s&&v6(i,s),r&&x6(i.indexBuffer);let u=c.unwrap();n||w6(c,t.owner,!!_.timestampWrites,u.logResources,"render",!!_.colorAttachment||!!_.depthStencilAttachment),(i.rawAccessed||t.appliedVersion!==i.version)&&(uU(d,e,s,i),t.appliedVersion=i.version),o(d)}function zp(e,t,s,r,o=!1){let{state:n,rawPass:i}=t,{core:d,priors:c}=s[B];n.currentPipeline!==s&&y6(n,s);let _=d.unwrap();o||w6(d,t.owner,!!c.timestampWrites,_.logResources,"compute"),(n.rawAccessed||t.appliedVersion!==n.version)&&(mU(i,e,s,n),t.appliedVersion=n.version),r(i)}function fU(e){let t=e;return t?.resourceType==="compute-pipeline"&&mt(t)}function vU(e){let t=e;return t?.resourceType==="render-pipeline"&&mt(t)}function yU(e){return vU(e)||fU(e)}function Cv(e){let t=e;return t?.resourceType==="command-encoder"&&mt(t)}function T6(e){let t=e;return(t?.resourceType==="render-pass"||t?.resourceType==="render-bundle-encoder")&&mt(t)}function S6(e){let t=e;return t?.resourceType==="compute-pass"&&mt(t)}function hU(e){return typeof e?.getCurrentTexture=="function"}function A6(e){let t=e;return!mt(t)&&typeof t?.beginRenderPass=="function"&&typeof t?.beginComputePass=="function"}function xU(e){let t=e;return!mt(t)&&typeof t?.dispatchWorkgroups=="function"&&t?.beginRenderPass===void 0}function gU(e){let t=e;return!mt(t)&&typeof t?.executeBundles=="function"&&typeof t?.draw=="function"}function bU(e){let t=e;return!mt(t)&&typeof t?.draw=="function"&&typeof t?.finish=="function"&&t?.executeBundles===void 0&&t?.beginRenderPass===void 0&&t?.dispatchWorkgroups===void 0}function vm(e,t){return Tc(t)?e.unwrap(t).createView():Oi(t)?e.unwrap(t):hU(t)?t.getCurrentTexture().createView():t}function M6(e,t){let{querySet:s,beginningOfPassWriteIndex:r,endOfPassWriteIndex:o}=t,n={querySet:Uv(s)?e.unwrap(s):s};return r!==void 0&&(n.beginningOfPassWriteIndex=r),o!==void 0&&(n.endOfPassWriteIndex=o),n}function wU(e,t){let{rawEncoder:s,root:r}=e[B],o={};return t?.label!==void 0&&(o.label=t.label),t?.timestampWrites!==void 0&&(o.timestampWrites=M6(r,t.timestampWrites)),new P6(r,s.beginComputePass(o),e)}function TU(e,t){let s=new P6(e,t,void 0);return s[B].state.rawAccessed=!0,s}var P6=class{[B];resourceType="compute-pass";#e;constructor(e,t,s){this.#e=e,this[B]={rawPass:t,state:new cU,owner:s,appliedVersion:void 0}}#t(e){let t=this[B],s=t.state.currentPipeline;if(!s)throw new Error("Cannot dispatch without a call to pass.setPipeline");zp(this.#e,t,s,e)}setPipeline(e){y6(this[B].state,e)}setBindGroup(e,t){f6(this[B].state,e,t)}dispatchWorkgroups(e,t,s){this.#t(r=>r.dispatchWorkgroups(e,t,s))}dispatchWorkgroupsIndirect(e,t){let s=Mn(e)?e:e.buffer,r=Vi(e,t,12,"dispatchWorkgroupsIndirect");this.#t(o=>o.dispatchWorkgroupsIndirect(s,r))}end(){this[B].rawPass.end()}};function SU(e){let t,s="all";if(Tc(e)?t=e.props.format:Oi(e)&&(t=e[B].format,s=e[B].aspect??"all"),t!==void 0)return{hasDepth:t.includes("depth")&&s!=="stencil-only",hasStencil:t.includes("stencil")&&s!=="depth-only"}}function AU(e,t){let s={...e,view:t},r=SU(e.view);if(r===void 0&&(e.depthLoadOp!==void 0||e.depthStoreOp!==void 0||e.stencilLoadOp!==void 0||e.stencilStoreOp!==void 0))return s;let{hasDepth:o,hasStencil:n}=r??{hasDepth:!0,hasStencil:!1};return o&&!e.depthReadOnly&&(s.depthLoadOp??="clear",s.depthStoreOp??="store",s.depthClearValue??=1),n&&!e.stencilReadOnly&&(s.stencilLoadOp??="clear",s.stencilStoreOp??="store"),s}function MU(e,t){let{rawEncoder:s,root:r}=e[B],o={colorAttachments:(t.colorAttachments===void 0?[]:Array.isArray(t.colorAttachments)?t.colorAttachments:[t.colorAttachments]).map(n=>{if(n===null)return null;let i={...n,loadOp:n.loadOp??"clear",storeOp:n.storeOp??"store",view:vm(r,n.view)};return n.resolveTarget!==void 0&&(i.resolveTarget=vm(r,n.resolveTarget)),i})};return t.label!==void 0&&(o.label=t.label),t.depthStencilAttachment!==void 0&&(o.depthStencilAttachment=AU(t.depthStencilAttachment,vm(r,t.depthStencilAttachment.view))),t.occlusionQuerySet!==void 0&&(o.occlusionQuerySet=Uv(t.occlusionQuerySet)?r.unwrap(t.occlusionQuerySet):t.occlusionQuerySet),t.timestampWrites!==void 0&&(o.timestampWrites=M6(r,t.timestampWrites)),t.maxDrawCount!==void 0&&(o.maxDrawCount=t.maxDrawCount),new E6(r,s.beginRenderPass(o),e)}function PU(e,t){return new kU(e,e.device.createRenderBundleEncoder(t),void 0)}function EU(e,t){let s=typeof t.executeBundles=="function"?new E6(e,t,void 0):new Rv(e,t,void 0);return s[B].state.rawAccessed=!0,s}var Rv=class{[B];resourceType="render-bundle-encoder";#e;constructor(e,t,s){this.#e=e,this[B]={rawPass:t,state:new dU,owner:s,appliedVersion:void 0}}#t(e,t){let s=this[B],r=s.state.currentPipeline;if(!r)throw new Error("Cannot draw without a call to pass.setPipeline");Rp(this.#e,s,r,e,t)}setPipeline(e){v6(this[B].state,e)}setBindGroup(e,t){f6(this[B].state,e,t)}setVertexBuffer(e,t,s,r){let{state:o}=this[B];o.vertexBuffers.set(e,{buffer:t,offset:s,size:r}),o.version++}setIndexBuffer(e,t,s,r){let{state:o}=this[B];o.indexBuffer={buffer:e,indexFormat:t,offsetBytes:s,sizeBytes:r},o.version++}draw(e,t,s,r){this.#t(!1,o=>o.draw(e,t,s,r))}drawIndexed(e,t,s,r,o){this.#t(!0,n=>n.drawIndexed(e,t,s,r,o))}drawIndirect(e,t){let s=Mn(e)?e:e.buffer,r=Vi(e,t,16,"drawIndirect");this.#t(!1,o=>o.drawIndirect(s,r))}drawIndexedIndirect(e,t){let s=Mn(e)?e:e.buffer,r=Vi(e,t,20,"drawIndexedIndirect");this.#t(!0,o=>o.drawIndexedIndirect(s,r))}},kU=class extends Rv{resourceType="render-bundle-encoder";finish(e){return this[B].rawPass.finish(e)}},E6=class extends Rv{resourceType="render-pass";setViewport(e,t,s,r,o,n){this[B].rawPass.setViewport(e,t,s,r,o,n)}setScissorRect(e,t,s,r){this[B].rawPass.setScissorRect(e,t,s,r)}setBlendConstant(e){this[B].rawPass.setBlendConstant(e)}setStencilReference(e){let{state:t}=this[B];t.stencilReference=e,t.version++}beginOcclusionQuery(e){this[B].rawPass.beginOcclusionQuery(e)}endOcclusionQuery(){this[B].rawPass.endOcclusionQuery()}executeBundles(e){let t=this[B];t.rawPass.executeBundles(e),t.appliedVersion=void 0}end(){this[B].rawPass.end()}};function zv(e,t){return new $6(e,e.device.createCommandEncoder(t),!1)}function k6(e,t){return new $6(e,t,!0)}var $6=class{[B];resourceType="command-encoder";constructor(e,t,s){this[B]={rawEncoder:t,root:e,adopted:s,beforeFinish:new Map,afterSubmit:new Map}}beginRenderPass(e){return MU(this,e)}beginComputePass(e){return wU(this,e)}#e(){let{rawEncoder:e,beforeFinish:t}=this[B];for(let s of t.values())s(e);t.clear()}submit(){let{rawEncoder:e,root:t,afterSubmit:s}=this[B];this.#e(),t.device.queue.submit([e.finish()]);for(let r of s.values())r();s.clear()}finish(e){let{rawEncoder:t,root:s,afterSubmit:r}=this[B];return this.#e(),r.size>0&&Vt.warnOnce("suspicious",s,"finishWithPendingWork","Shader console.log output and performance callbacks do not fire for command buffers produced by encoder.finish(). Use encoder.submit() instead."),t.finish(e)}},U6=["f16","clip_distances","dual_source_blending","subgroups","primitive_index"],C6={f16:"shader-f16",clip_distances:"clip-distances",dual_source_blending:"dual-source-blending",subgroups:"subgroups",primitive_index:"primitive-index"};function Gp(e,t){return e.type!==t.type?!1:pr(e)&&pr(t)?e.access===t.access&&e.addressSpace===t.addressSpace&&e.implicit===t.implicit&&Gp(e.inner,t.inner):Us(e)&&Us(t)?e.elementCount===t.elementCount&&Gp(e.elementType,t.elementType):Qt(e)&&Qt(t)?e===t:!0}var $U=class{cache=new Map;get(e,t){let s=If(e);if(!s)return;if(!t&&s.ast.params.length>0)throw new Error(`Cannot resolve '${xe(e)}' directly, because it expects arguments. Either call it from another function, or wrap it in a shell`);let r=(t??[]).map((i,d)=>{if(i.value instanceof wn){if(i.dataType===Ut)throw new Qe("d.ref() created with primitive types must be stored in a variable before use");return i.dataType}if(i.dataType===Ut)throw new Error(`Passed illegal value ${i.value} as the #${d} argument to ${xe(e)??""}(...) +Shellless functions can only accept arguments representing WGSL resources: constructible WGSL types, d.refs, samplers or texture views. +Remember, that arguments such as samplers, texture views, accessors, slots etc. should be dereferenced via '.$' first.`);let c=no(i.dataType);return pr(c)&&c.implicit&&(c=c.inner),c}),o=this.cache.get(e);if(o){let i=o.find(d=>d.argTypes.length===r.length&&d.argTypes.every((c,_)=>Gp(c,r[_])));if(i)return i}else o=[],this.cache.set(e,o);let n=D4(r,e);return o.push(n),n}},UU=class{[B];constructor(e){this[B]={strategy:e,takenGlobalIdentifiers:new Set([...mv,...rP]),shelllessRepo:new $U,memoizedResolves:new WeakMap,memoizedLazy:new WeakMap}}};function fd(e){let{names:t="strict"}=e??{};return new UU(t)}var CU=new Set(["bindGroupLayoutMap","vertexLayoutMap","indexBuffer","stencilReference","timestampWrites","performanceCallback"]);function R6(e){return Object.keys(e).filter(t=>!CU.has(t)&&e[t]!==void 0)}var z6=class{#e;#t;measureResolve(e){let t=performance.mark("typegpu:resolution:start"),s=e();return this.#e=performance.measure("typegpu:resolution",{start:t.name}),this.#t=s.code.length,s}measureCompile(e){(async()=>{let t=performance.mark("typegpu:compile-start");await e.queue.onSubmittedWorkDone();let s=performance.measure("typegpu:compiled",{start:t.name});Df?.record("resolution",{resolveDuration:this.#e?.duration,compileDuration:s.duration,wgslSize:this.#t})})()}},G6=class{measureResolve(e){return e()}measureCompile(){}};function RU(e,t,s){return new zU(new GU(e,t,s),{})}var zU=class Y6{[B];[me];resourceType="compute-pipeline";[Xs];constructor(t,s){this[me]={type:"compute-pipeline",device:t.root.device,raw:void 0,label:void 0},this[B]={core:t,priors:s,root:t.root,materialize:()=>{let r=this[me];if(!r.raw){let o=t.unwrap();r.raw=o.pipeline,r.usedBindGroupLayouts=o.usedBindGroupLayouts,r.bindGroups=l6(o.usedBindGroupLayouts,o.catchall,s.bindGroupLayoutMap),r.timestampWrites=s.timestampWrites,r.performanceCallback=s.performanceCallback,r.nonTransferablePriors=R6(s)}return r.raw}},this[Xs]=t}[kt](t){return t.resolve(this[B].core)}toString(){return`computePipeline:${xe(this)??""}`}#e(t){let{core:s,priors:r}=this[B];return new Y6(s,{...r,...t})}with(t,s){let r=this[B];if(S6(t))return this.#e({pass:t,encoder:void 0});if(Cv(t))return this.#e({pass:void 0,encoder:t});if(xU(t))return this.#e({pass:TU(r.root,t),encoder:void 0});if(A6(t))return this.#e({pass:void 0,encoder:k6(r.root,t)});if(ca(t)||Zu(t)){let[o,n]=ca(t)?[t.layout,t]:[t,s];return this.#e({bindGroupLayoutMap:new Map([...r.priors.bindGroupLayoutMap??[],[o,n]])})}throw new Error("Unsupported value passed into .with()")}withPerformanceCallback(t){let s=this[B];if(s.priors.timestampWrites)return this.#e({performanceCallback:t});let r=s.core.performanceCallbackQuerySet;return r?this.#e(m6(s.priors,t,r)):(Vt.warn("webgpu-feature-missing","Performance callback cannot be used because the timestamp-query feature is not enabled on the root."),this)}withTimestampWrites(t){let s=this[B];return this.#e(p6(s.priors,t,s.root))}dispatchWorkgroups(t,s,r){this.#t(o=>o.dispatchWorkgroups(t,s,r))}dispatchWorkgroupsIndirect(t,s){let r=Mn(t)?t:t.buffer,o=Vi(t,s,12,"dispatchWorkgroupsIndirect");this.#t(n=>n.dispatchWorkgroupsIndirect(r,o))}initAsync(){return this[B].core.initAsync()}initSync(){this[B].core.initSync()}#t(t){let{core:s,priors:r,root:o}=this[B];if(r.pass){zp(o,r.pass[B],this,t);return}let n=r.encoder??zv(o),i=n.beginComputePass({label:xe(s)??"",timestampWrites:r.timestampWrites});zp(o,i[B],this,t,!0),i.end(),b6(n,s,s.unwrap().logResources,r)}$name(t){return ot(this,t),this}},GU=class L6{[B]=!0;root;#e;#t;#s;#r;#o;#n;constructor(t,s,r){this.root=t,this.#r=s,this.#o=r,this.#e=Df?.enabled?new z6:new G6}static precompiled(t,s){let r=new L6(t,[],void 0);return r.#s=s,r}[kt](t){let s=this.#o;return s?t.withSlots(this.#r,()=>(t.resolve(s.compute),ve("",_s,"runtime"))):ve("",_s,"runtime")}toString(){return"computePipelineCore"}get performanceCallbackQuerySet(){if(this.root.enabledFeatures.has("timestamp-query"))return this.#n??=(globalThis.__TYPEGPU_AUTONAME__??(t=>t))(this.root.createQuerySet("timestamp",2),"performanceCallbackQuerySet")}initAsync(){if(this.#s!==void 0)return Promise.resolve();if(this.#t===void 0){let t=this.root.device,{resolutionResult:s,module:r}=this.resolveAndCreateShaderModule(),{usedBindGroupLayouts:o,catchall:n,logResources:i}=s;this.#t=t.createComputePipelineAsync({label:xe(this)??"",layout:t.createPipelineLayout({label:`${xe(this)??""} - Pipeline Layout`,bindGroupLayouts:o.map(d=>this.root.unwrap(d))}),compute:{module:r}}).then(d=>{this.#s={pipeline:d,usedBindGroupLayouts:o,catchall:n,logResources:i},this.#e.measureCompile(t)}).finally(()=>{this.#t=void 0})}return this.#t}initSync(){if(this.#s!==void 0)return;if(this.#t!==void 0)throw new Error("'pipeline.initAsync()' was called and is not yet resolved.");let t=this.root.device,{resolutionResult:s,module:r}=this.resolveAndCreateShaderModule(),{usedBindGroupLayouts:o,catchall:n,logResources:i}=s;this.#s={pipeline:(globalThis.__TYPEGPU_AUTONAME__??(d=>d))(t.createComputePipeline({label:xe(this)??"",layout:t.createPipelineLayout({label:`${xe(this)??""} - Pipeline Layout`,bindGroupLayouts:o.map(d=>this.root.unwrap(d))}),compute:{module:r}}),"pipeline"),usedBindGroupLayouts:o,catchall:n,logResources:i},this.#e.measureCompile(t)}unwrap(){return this.initSync(),this.#s}resolveAndCreateShaderModule(){let t=this.root.device,s=U6.filter(c=>this.root.enabledFeatures.has(C6[c])),r=fd({names:this.root.nameRegistrySetting}),o=this.#e.measureResolve(()=>Ju(this,{namespace:r,minify:this.root.minify,enableExtensions:s,shaderGenerator:this.root.shaderGeneratorClass?new this.root.shaderGeneratorClass:void 0,root:this.root})),{code:n,usedBindGroupLayouts:i,catchall:d}=o;return d!==void 0&&i[d[0]]?.$name(`${xe(this)??""} - Automatic Bind Group & Layout`),B5(i,t.limits),{resolutionResult:o,module:t.createShaderModule({label:`${xe(this)??""} - Shader`,code:n})}}},YU={$vertexIndex:_r.vertexIndex,$instanceIndex:_r.instanceIndex},LU={$clipDistances:_r.clipDistances,$position:_r.position},IU={$position:_r.position,$frontFacing:_r.frontFacing,$primitiveIndex:_r.primitiveIndex,$sampleIndex:_r.sampleIndex,$sampleMask:_r.sampleMask,$subgroupInvocationId:_r.subgroupInvocationId,$subgroupSize:_r.subgroupSize},DU={$fragDepth:_r.fragDepth,$sampleMask:_r.sampleMask},Gv=class{#e;autoIn;autoOut;constructor(e,t,s){xe(e)||ot(e,"fragmentFn"),this.#e=ri(e,"fragment"),this.autoIn=new Wo({...IU,...t},void 0,s),ot(this.autoIn,"FragmentIn"),this.autoOut=new Wo(DU,Oe),ot(this.autoOut,"FragmentOut")}toString(){return"autoFragmentFn"}[kt](e){return e.withSlots([[pd,"fragment"]],()=>this.#e.resolve(e,[this.autoIn],this.autoOut))}};Gv.prototype[B]=!0;Gv.prototype.resourceType="auto-fragment-fn";var Yv=class{#e;autoIn;autoOut;constructor(e,t,s){xe(e)||ot(e,"vertexFn"),this.#e=ri(e,"vertex"),this.autoIn=new Wo({...YU,...t},void 0,s),ot(this.autoIn,"VertexIn"),this.autoOut=new Wo(LU,void 0),ot(this.autoOut,"VertexOut")}toString(){return"autoVertexFn"}[kt](e){return e.withSlots([[pd,"vertex"]],()=>this.#e.resolve(e,[this.autoIn],this.autoOut))}};Yv.prototype[B]=!0;Yv.prototype.resourceType="auto-vertex-fn";function I6(e,t="vertex"){return new FU(e,t)}function D6(e){return e?.resourceType==="vertex-layout"}var Yp=Symbol("defaultAttribEntry");function ul(e,t,s,r,o){if(zn(t)||ha(t)){let n=na(t);return n!==void 0&&(r[o??Yp]=n),ul(e,t.inner,qs(s,wo(t)),r)}if(Qt(t)){let n=s,i=t.propTypes;return Object.fromEntries(Object.entries(i).map(([d,c])=>{n=qs(n,rs(c));let _=[d,ul(e,c,n,r,d)];return n+=_t(c),_}))}if(un(t)){let n=s,i=t.propTypes;return Object.fromEntries(Object.entries(i).map(([d,c])=>{n=qs(n,wo(c));let _=[d,ul(e,c,n,r,d)];return n+=_t(c),_}))}if("type"in t&&typeof t.type=="string"){if(y2.includes(t.type))return{_layout:e,format:t.type,offset:s};let n=eM[t.type];if(n)return{_layout:e,format:n,offset:s}}throw new Error(`Unsupported data used in vertex layout: ${String(t)}`)}var FU=class{[B]=!0;[me];resourceType="vertex-layout";stride;attrib;schemaForCount;#e={};constructor(e,t){this.schemaForCount=e;let s=e(0);this[me]={type:"vertex-layout",schema:s,stepMode:t,label:void 0},this.stride=qs(_t(s.elementType),rs(s)),this.attrib=ul(this,s.elementType,0,this.#e)}get stepMode(){return this[me].stepMode}get vertexLayout(){if(this.#e[Yp]!==void 0){if(typeof this.attrib.format!="string"||typeof this.attrib.offset!="number")throw new Error("Single attribute vertex layouts must have a format and offset.");return{arrayStride:this.stride,stepMode:this.stepMode,attributes:[{format:this.attrib.format,offset:this.attrib.offset,shaderLocation:this.#e[Yp]}]}}if(!Object.keys(this.attrib).every(e=>this.#e[e]!==void 0))throw new Error("All attributes must have custom locations in order to unwrap a vertex layout.");return{arrayStride:this.stride,stepMode:this.stepMode,attributes:Object.entries(this.attrib).map(([e,t])=>({format:t.format,offset:t.offset,shaderLocation:this.#e[e]}))}}$name(e){return ot(this,e),this}};function BU(e){return!!e?.view}function WU(e,t){if(Cu(e)||nn(e))return[];if(Qt(e)){let s=[];for(let r of Object.keys(e.propTypes)){let o=e.propTypes[r];if(nn(o))continue;let n=t[r];if(!n)throw new Error(`A color attachment by the name of '${r}' was not provided to the shader.`);s.push(n)}return s}if(!BU(t))throw new Error("Expected a single color attachment, not a record.");return[t]}function OU(e,t){let s;if(Cu(e)||nn(e))return[null];if(Qt(e)){let o=[];for(let n of Object.keys(e.propTypes)){let i=e.propTypes[n];if(nn(i))continue;let d=t[n];o.push({...d,format:d?.format??(s??=navigator.gpu.getPreferredCanvasFormat())})}return o}let r=t;return[{...r,format:r?.format??(s??=navigator.gpu.getPreferredCanvasFormat())}]}function VU(e){return new NU(new qU(e),{})}var NU=class F6{[B];[me];resourceType="render-pipeline";[Xs];constructor(t,s){this[me]={type:"render-pipeline",device:t.options.root.device,raw:void 0,label:void 0},this[B]={core:t,priors:s,root:t.options.root,materialize:()=>{let r=this[me];if(!r.raw){let o=t.unwrap();r.raw=o.pipeline,r.usedBindGroupLayouts=o.usedBindGroupLayouts,r.usedVertexLayouts=o.usedVertexLayouts,r.fragmentOut=o.fragmentOut,r.bindGroups=l6(o.usedBindGroupLayouts,o.catchall,s.bindGroupLayoutMap),r.vertexBuffers=N4(o.usedVertexLayouts,s.vertexLayoutMap),r.indexBuffer=s.indexBuffer,r.stencilReference=s.stencilReference,r.timestampWrites=s.timestampWrites,r.performanceCallback=s.performanceCallback,r.nonTransferablePriors=R6(s)}return r.raw}},this[Xs]=t}[kt](t){return t.resolve(this[B].core)}toString(){return`renderPipeline:${xe(this)??""}`}$name(t){return ot(this,t),this}#e(t){let{core:s,priors:r}=this[B];return new F6(s,{...r,...t})}with(t,s){let r=this[B];if(T6(t))return this.#e({pass:t,encoder:void 0});if(Cv(t))return this.#e({pass:void 0,encoder:t});if(gU(t)||bU(t))return this.#e({pass:EU(r.root,t),encoder:void 0});if(A6(t))return this.#e({pass:void 0,encoder:k6(r.root,t)});if(ca(t)||Zu(t)){let[o,n]=ca(t)?[t.layout,t]:[t,s];return this.#e({bindGroupLayoutMap:new Map([...r.priors.bindGroupLayoutMap??[],[o,n]])})}if(D6(t))return this.#e({vertexLayoutMap:new Map([...r.priors.vertexLayoutMap??[],[t,s]])});throw new Error("Unsupported value passed into .with()")}withPerformanceCallback(t){let s=this[B];if(s.priors.timestampWrites)return this.#e({performanceCallback:t});let r=s.core.performanceCallbackQuerySet;return r?this.#e(m6(s.priors,t,r)):(Vt.warn("webgpu-feature-missing","Performance callback cannot be used because the timestamp-query feature is not enabled on the root."),this)}withTimestampWrites(t){let s=this[B];return this.#e(p6(s.priors,t,s.root))}withColorAttachment(t){return this.#e({colorAttachment:t})}withDepthStencilAttachment(t){return this.#e({depthStencilAttachment:t})}withStencilReference(t){return this.#e({stencilReference:t})}withIndexBuffer(t,s,r,o){if(Mn(t)){if(typeof s!="string")throw new Error("If a GPUBuffer is passed, indexFormat must be provided.");return this.#e({indexBuffer:{buffer:t,indexFormat:s,offsetBytes:r,sizeBytes:o}})}let n={u32:"uint32",u16:"uint16"},i=t.dataType.elementType;return this.#e({indexBuffer:{buffer:t,indexFormat:n[i.type],offsetBytes:s!==void 0?s*_t(i):void 0,sizeBytes:o!==void 0?o*_t(i):void 0}})}initAsync(){return this[B].core.initAsync()}initSync(){this[B].core.initSync()}get hasIndexBuffer(){return this[B].priors.indexBuffer!==void 0}#t(){let{core:t,priors:s}=this[B],{fragmentOut:r}=t.unwrap();return{label:xe(t)??"",colorAttachments:r?WU(r,s.colorAttachment??{}):[],depthStencilAttachment:s.depthStencilAttachment,timestampWrites:s.timestampWrites}}#s(t,s){let{core:r,priors:o,root:n}=this[B];if(o.pass){Rp(n,o.pass[B],this,t,s);return}t&&x6(o.indexBuffer);let i=o.encoder??zv(n),d=i.beginRenderPass(this.#t());Rp(n,d[B],this,t,s,!0),d.end(),b6(i,r,r.unwrap().logResources,o)}draw(t,s,r,o){this.#s(!1,n=>n.draw(t,s,r,o))}drawIndexed(t,s,r,o,n){this.#s(!0,i=>i.drawIndexed(t,s,r,o,n))}drawIndirect(t,s){let r=Mn(t)?t:t.buffer,o=Vi(t,s,16,"drawIndirect");this.#s(!1,n=>n.drawIndirect(r,o))}drawIndexedIndirect(t,s){let r=Mn(t)?t:t.buffer,o=Vi(t,s,20,"drawIndexedIndirect");this.#s(!0,n=>n.drawIndexedIndirect(r,o))}},qU=class B6{[B]=!0;options;#e;#t;#s;#r;#o;#n;constructor(t){this.options=t,this.#e=Df?.enabled?new z6:new G6}static precompiled(t,s){let r=new B6({root:t,slotBindings:[],descriptor:void 0});return r.#s=s,r}[kt](t){let{slotBindings:s}=this.options,{vertex:r,fragment:o,attribs:n={}}=this.options.descriptor??{};if(!r)return ve("",_s,"runtime");this.#r=void 0,this.#o=void 0;let i=XU(r?.shell?.out,o?.shell?.in,xe(r)??"",xe(o)??"");return t.withVaryingLocations(i,()=>t.withSlots(s,()=>{let d;if(typeof r=="function"){let c=new Yv(r,Object.fromEntries(Object.entries(n).map(([_,u])=>[_,$n[u.format]])),i);t.resolve(c),this.#r=c.autoIn.completeStruct.propTypes,d=c.autoOut.completeStruct}else d=t.resolve(r).dataType;if(o)if(typeof o=="function"){let c=Object.fromEntries(Object.entries(d.propTypes).filter(([,_])=>!nn(_)));this.#o=t.resolve(new Gv(o,c,i)).dataType}else t.resolve(o);return ve("",_s,"runtime")}))}toString(){return"renderPipelineCore"}get performanceCallbackQuerySet(){if(this.options.root.enabledFeatures.has("timestamp-query"))return this.#n??=(globalThis.__TYPEGPU_AUTONAME__??(t=>t))(this.options.root.createQuerySet("timestamp",2),"performanceCallbackQuerySet")}initAsync(){if(this.#s!==void 0)return Promise.resolve();if(this.#t===void 0){let t=this.options.root.device,{resolutionResult:s,descriptor:r,connectedAttribs:o,fragmentOut:n}=this.resolveAndCreateShaderModule(),{usedBindGroupLayouts:i,catchall:d,logResources:c}=s;this.#t=t.createRenderPipelineAsync(r).then(_=>{this.#s={pipeline:_,usedBindGroupLayouts:i,catchall:d,logResources:c,usedVertexLayouts:o.usedVertexLayouts,fragmentOut:n},this.#e.measureCompile(t)}).finally(()=>{this.#t=void 0})}return this.#t}initSync(){if(this.#s!==void 0)return;if(this.#t!==void 0)throw new Error("'pipeline.initAsync()' was called and is not yet resolved.");let t=this.options.root.device,{resolutionResult:s,descriptor:r,connectedAttribs:o,fragmentOut:n}=this.resolveAndCreateShaderModule(),{usedBindGroupLayouts:i,catchall:d,logResources:c}=s;this.#s={pipeline:(globalThis.__TYPEGPU_AUTONAME__??(_=>_))(t.createRenderPipeline(r),"pipeline"),usedBindGroupLayouts:i,catchall:d,logResources:c,usedVertexLayouts:o.usedVertexLayouts,fragmentOut:n},this.#e.measureCompile(t)}unwrap(){return this.initSync(),this.#s}resolveAndCreateShaderModule(){let{root:t,descriptor:s}=this.options;if(!s)throw new Error("Precompiled pipelines are never resolved again.");let r=t.device,o=U6.filter(P=>t.enabledFeatures.has(C6[P])),n=fd({names:t.nameRegistrySetting}),i=this.#e.measureResolve(()=>Ju(this,{namespace:n,minify:t.minify,enableExtensions:o,shaderGenerator:t.shaderGeneratorClass?new t.shaderGeneratorClass:void 0,root:t})),{code:d,usedBindGroupLayouts:c,catchall:_}=i;_!==void 0&&c[_[0]]?.$name(`${xe(this)??""} - Automatic Bind Group & Layout`),B5(c,r.limits);let u=r.createShaderModule({label:`${xe(this)??""} - Shader`,code:d}),{vertex:m,fragment:p,attribs:y={},targets:h}=s,g=m$(m?.shell?.in??this.#r??{},y),w=p?.shell?.returnType??this.#o,S=w?OU(w,h):[null],T={layout:r.createPipelineLayout({label:`${xe(this)??""} - Pipeline Layout`,bindGroupLayouts:c.map(P=>t.unwrap(P))}),vertex:{module:u,buffers:g.bufferDefinitions}},A=xe(this);return A!==void 0&&(T.label=A),s.fragment&&(T.fragment={module:u,targets:S}),s.primitive&&(Qa(s.primitive.stripIndexFormat)?T.primitive={...s.primitive,stripIndexFormat:{u32:"uint32",u16:"uint16"}[s.primitive.stripIndexFormat.type]}:T.primitive=s.primitive),s.depthStencil&&(T.depthStencil=s.depthStencil),s.multisample&&(T.multisample=s.multisample),{resolutionResult:i,descriptor:T,connectedAttribs:g,fragmentOut:w}}};function XU(e={},t={},s,r){let o={},n=new Set;function i(c,_){o[c]=_,n.add(_)}for(let[c,_]of Object.entries(e)){let u=na(_);u!==void 0&&i(c,u)}for(let[c,_]of Object.entries(t)){let u=na(_);u!==void 0&&(o[c]===void 0?i(c,u):o[c]!==u&&Vt.warn("locations-mismatched",`Mismatched location between vertexFn (${s}) output (${o[c]}) and fragmentFn (${r}) input (${u}) for the key "${c}", using the location set on vertex output.`))}let d=0;for(let c of Object.keys(e??{}))if(!(nn(e[c])||o[c]!==void 0)){for(;n.has(d);)d++;i(c,d)}return o}var dg=class{#e=new WeakMap;#t;constructor(e){this.#t=e}getOrMake(e,...t){if(this.#e.has(e))return this.#e.get(e);let s=this.#t(e,...t);return this.#e.set(e,s),s}};function Lv(e){let t={argTypes:Object.values(e.in??{}),returnType:_s,workgroupSize:e.workgroupSize,entryPoint:"compute"},s=g5(e.in??{});return Object.assign((o,...n)=>HU(t,e.workgroupSize,Hu(o,...n),s),t)}function HU(e,t,s,r){let o=ri(s,"compute",t);return{shell:e,$uses(n){return o.setExternals("userProvided",n),this},[B]:!0,[Xs]:o,$name(n){return ot(this,n),this},[kt](n){return n.withSlots([[pd,"compute"]],()=>o.resolve(n,[],e.returnType,r))},toString(){return`computeFn:${xe(o)??""}`}}}function jU(e){if(e.includes(0))throw new Error("Size and workgroupSize cannot contain zeroes.");return gt(e[0]??1,e[1]??1,e[2]??1)}var KU=[gt(1,1,1),gt(256,1,1),gt(16,16,1),gt(8,8,4)],ZU=class ml{resourceType="guarded-compute-pipeline";[me];#e;#t;constructor(t,s,r,o){this.#e=t,this.#t=gt(),this[me]={type:"guarded-compute-pipeline",device:t.device,pipeline:s,sizeUniform:r,workgroupSize:o,label:void 0}}with(t){if(!ca(t))throw new Error("Guarded pipelines only accept bind groups in .with(). To record into passes or encoders, use a regular compute pipeline.");return new ml(this.#e,this[me].pipeline.with(t),this[me].sizeUniform,this[me].workgroupSize)}withPerformanceCallback(t){return new ml(this.#e,this[me].pipeline.withPerformanceCallback(t),this[me].sizeUniform,this[me].workgroupSize)}withTimestampWrites(t){return new ml(this.#e,this[me].pipeline.withTimestampWrites(t),this[me].sizeUniform,this[me].workgroupSize)}dispatchThreads(...t){let s=jU(t),r=cc(It(s).div(It(this[me].workgroupSize)));n$(s,this.#t)||(this.#t=s,this[me].sizeUniform.write(s)),this[me].pipeline.dispatchWorkgroups(r.x,r.y,r.z)}initAsync(){return this[me].pipeline.initAsync()}initSync(){this[me].pipeline.initSync()}get pipeline(){return this[me].pipeline}get sizeUniform(){return this[me].sizeUniform}[B]=!0;get[Xs](){return this[me].pipeline}$name(t){return ot(this,t),this}},QU=class Lp{#e;#t;constructor(t,s){this.#e=t,this.#t=s}with(t,s){return new Lp(this.#e,[...this.#t,[dd(t)||cd(t)?t.slot:t,s]])}createComputePipeline(t){return RU(this.#e(),this.#t,t)}createRenderPipeline(t){return VU({root:this.#e(),slotBindings:this.#t,descriptor:t})}createGuardedComputePipeline(t){let s=this.#e();if(t.length>=4)throw new Error("Guarded compute callback only supports up to three dimensions.");let r=KU[t.length],o=qt([R,R,R])(t);xe(o)===void 0&&o.$name("wrappedCallback");let n=(globalThis.__TYPEGPU_AUTONAME__??(d=>d))(s.createUniform(gt),"sizeUniform"),i=(globalThis.__TYPEGPU_AUTONAME__??(d=>d))(Lv({workgroupSize:r,in:{id:_r.globalInvocationId}})`{ + if (any(in.id >= sizeUniform)) { + return; + } + wrappedCallback(in.id.x, in.id.y, in.id.z); +}`.$uses({sizeUniform:n,wrappedCallback:o}),"mainCompute");return new ZU(s,this.createComputePipeline({compute:i}),n,r)}pipe(t){let s=t(new W5([]));return new Lp(this.#e,[...this.#t,...s.bindings])}},W6=class extends QU{"~unstable";resourceType="root";[me];device;nameRegistrySetting;shaderGeneratorClass;#e=new dg(e=>e.unwrap(this));#t=new dg(e=>e.unwrap(this));#s;[B];constructor(e,t,s,r,o,n){super(()=>this,[]),this.device=e,this.nameRegistrySetting=t,this.#s=r,this.shaderGeneratorClass=n,this["~unstable"]=this,this[me]={type:"root",device:e,nameRegistrySetting:t,logOptions:o,minify:s,nonTransferablePriors:n?["shaderGeneratorClass"]:void 0,label:void 0},this[B]={logOptions:o}}configureContext(e){let t=e.canvas.getContext("webgpu");if(!t)throw new Error("Unable to initialize 'webgpu' context on the provided canvas.");return t.configure({...e,device:this.device,format:e.format??navigator.gpu.getPreferredCanvasFormat()}),t}get enabledFeatures(){return new Set(this.device.features)}get minify(){return this[me].minify}createBuffer(e,t){return F_(this,e,t)}createUniform(e,t){return new Va("uniform",F_(this,e,t).$usage("uniform"))}createMutable(e,t){return new Va("mutable",F_(this,e,t).$usage("storage"))}createReadonly(e,t){return new Va("readonly",F_(this,e,t).$usage("storage"))}createQuerySet(e,t,s){return oU(this,e,t,s)}createBindGroup(e,t){return new Q5(this,e,t)}destroy(){g4(this.device),this.#s&&this.device.destroy()}createTexture(e){return S4(e,this)}createSampler(e){return J$(e,this)}createComparisonSampler(e){return e4(e,this)}unwrap(e){if(Cv(e))return e[B].rawEncoder;if(T6(e)||S6(e))return e[B].state.rawAccessed=!0,e[B].rawPass;if(Zu(e))return this.#e.getOrMake(e);if(ca(e))return this.#t.getOrMake(e);if(Oc(e))return e.buffer.buffer;if(Oi(e)){if(!e[B].unwrap)throw new Error("Cannot unwrap laid-out texture view as it has no underlying resource.");return e[B].unwrap()}if(D6(e))return e.vertexLayout;let t=e[B];if(t?.materialize)return t.materialize();throw kv(e)||$v(e)?new Error("Cannot unwrap laid-out sampler."):new Error(`Unknown resource type: ${io(e)}`)}createCommandEncoder(e){return zv(this,e)}createRenderBundleEncoder(e){return PU(this,e)}};async function JU(e){let{adapter:t,device:s,unstable_names:r="strict",unstable_minify:o=!1,unstable_logOptions:n,unstable_shaderGeneratorClass:i}=e??{},{optionalFeatures:d,...c}=s??{};if(!navigator.gpu)throw new Error("WebGPU is not supported by this browser.");let _=await navigator.gpu.requestAdapter(t);if(!_)throw new Error("Could not find a compatible GPU");let u=[];for(let m of c.requiredFeatures??[]){if(!_.features.has(m))throw new Error(`Requested feature "${m}" is not supported by the adapter.`);u.push(m)}for(let m of d??[])_.features.has(m)?u.push(m):Vt.warn("webgpu-feature-missing",`Optional feature "${m}" is not supported by the adapter.`);return new W6(await _.requestDevice({...c,requiredFeatures:u}),r,o,!0,n??{},i)}function eC(e){let{device:t,unstable_names:s="strict",unstable_minify:r=!1,unstable_logOptions:o,unstable_shaderGeneratorClass:n}=e??{};return new W6(t,s,r,!1,o??{},n)}function O6(e,t){return new tC(e,t)}function V6(e,t){return new sC(e,t)}function Iv(e){let t=Na(),s=kl(t.unwrap(e.slot));for(;typeof s=="function"&&!vp(s)&&!Tl(s)&&!Fi(s);)s=s(),Gc(s)&&(s=s.value);let r=Gu(s);if(r)return r;if(Tl(s))return s[zs].call(t,[]);if(vp(s)||Fi(s)){let o=t.resolve(s);return t.withResetIndentLevel(()=>ve(`${o.value}()`,e.schema,"runtime",o.possibleSideEffects))}t.pushMode(new _d);try{return ve(aa(e.schema,s),e.schema,"constant",!1)}finally{t.popMode("normal")}}var N6=class Ip{[Xs];[me];slot;static#e=void(Ip.prototype[B]=!0,In(Ip.prototype,{asString(){return`${this.resourceType}:${xe(this)??""}`},resolve(t){return t.resolveSnippet(Iv(this))}}));constructor(t,s,r=void 0){this[me]={type:t,schema:Rc(s)?s:s(0),defaultValue:r,label:void 0},this.slot=Nc(r),this[Xs]=this.slot}get schema(){return this[me].schema}get defaultValue(){return this[me].defaultValue}$name(t){return ot(this,t),this.defaultValue&&typeof this.defaultValue=="function"&&!xe(this.defaultValue)&&ot(this.defaultValue,t),this}},tC=class Dp extends N6{static#e=void(Dp.prototype.resourceType="accessor",mn(Dp.prototype,{codegenMode:{get(){return Iv(this)}},normalMode:{get(){throw new Error("`tgpu.accessor` relies on GPU resources and cannot be accessed outside of a compute dispatch or draw call. Use `tgpu.slot` for non-WGSL values instead.")}}}));constructor(t,s=void 0){super("accessor",t,s)}},sC=class Fp extends N6{static#e=void(Fp.prototype.resourceType="mutable-accessor",mn(Fp.prototype,{codegenMode:{get(){return Iv(this)}},normalMode:{get(){throw new Error("`tgpu.mutableAccessor` relies on GPU resources and cannot be accessed outside of a compute dispatch or draw call. Use `tgpu.slot` for non-WGSL values instead.")}}}));constructor(t,s=void 0){super("mutable-accessor",t,s)}};function Bp(e,t){return Array.isArray(e)?nC(e,t):oC(e)}function rC(e,t){return Array.isArray(e)?Bp(e,t).code:Bp(e).code}function oC(e){let{template:t,externals:s,unstable_shaderGenerator:r,names:o="strict",unstable_minify:n,config:i,enableExtensions:d}=e;t||Vt.warn("deprecated","Calling resolve with an empty template is deprecated and will soon return an empty string. Consider using the 'tgpu.resolve(resolvableArray, options)' API instead.");let c={[B]:!0,[kt](u){return ve(Xu(u,s,t??""),_s,"runtime")},toString:()=>""},_=q6(Object.values(s));return Ju(c,{namespace:typeof o=="string"?fd({names:o}):o,minify:n??_?.minify??!1,enableExtensions:d,shaderGenerator:r,config:i,root:_})}function nC(e,t){let{unstable_shaderGenerator:s,names:r="strict",unstable_minify:o,config:n,enableExtensions:i}=t??{},d={[B]:!0,[kt](_){for(let u of e)if(Zu(u))for(let m of Object.values(u[B]))_.resolve(m);else _.resolve(u);return ve("",_s,"runtime")},toString:()=>""},c=q6(e);return Ju(d,{namespace:typeof r=="string"?fd({names:r}):r,minify:o??c?.minify??!1,enableExtensions:i,shaderGenerator:s,config:n,root:c})}function q6(e){let t=new Map;for(let s of e){let r=Wp(s);if(r){let o=t.get(r)??new Set;t.set(r,o),o.add(s)}}if(t.size>1){let s=[...t.values()].map((r,o)=>`root ${o+1}: ${[...r].map(n=>xe(n)??"").join(", ")}`).join("; ");throw new Error(`Found resources originating from different roots in a single resolve (${s}).`)}return[...t.keys()][0]}function Wp(e){if(yU(e)||hc(e)||Tc(e)||kv(e)||$v(e))return e[B].root;if(Oc(e))return Wp(e.buffer);if(Oi(e))return Wp(e?.[me]?.texture)}function X6(e){if(Na())throw new Error("Cannot create tgpu.lazy objects during shader resolution.");return new aC(e,void 0)}var aC=class pl{[B];[Mr];static#e=void(pl.prototype.resourceType="lazy",mn(In(pl.prototype,{asString:()=>"lazy",resolve(t){throw new Error("Unreachable, is never resolved directly")}}),{codegenMode:{get(){return this.#t()}},normalMode:{get(){return this.#t()}}}));constructor(t,s){this[B]={compute:t},this[Mr]=s}get[Hr](){let t=Na();if(!t)throw new Error("Cannot access tgpu.lazy's value outside of resolution.");return kl(t.unwrap(this))}get $(){return this[Hr]}#t(){let t=Na();if(!t)throw new Error("Cannot access tgpu.lazy's value outside of resolution.");return kl(t.unwrap(this))}with(t,s){return new pl(this[B].compute.bind(this),{inner:this[Mr]?.inner??this,pairs:[...this[Mr]?.pairs??[],[dd(t)||cd(t)?t.slot:t,s]]})}};function H6(e){let t={in:e.in,out:e.out,returnType:Bc(e.out),entryPoint:"fragment"};return Object.assign((r,...o)=>iC(t,Hu(r,...o)),t)}function iC(e,t){let s=ri(t,"fragment"),r=e.returnType;return typeof t=="string"&&T5(t,r,s),{shell:e,outputType:r,$uses(o){return s.setExternals("userProvided",o),this},[B]:!0,[Xs]:s,$name(o){return ot(this,o),Di(r)&&r.$name(`${o}_Output`),this},[kt](o){let n=g5(e.in??{},o.varyingLocations??{});return n.dataSchema&&Di(n.dataSchema)&&n.dataSchema.$name(`${xe(this)??""}_Input`),typeof t=="string"&&s.setExternals("out",{Out:r}),o.withSlots([[pd,"fragment"]],()=>s.resolve(o,[],e.returnType,n))},toString(){return`fragmentFn:${xe(s)??""}`}}}function e1(e){if(Object.keys(e.out).length===0)throw new Error("A vertexFn output cannot be empty since it must include the 'position' builtin.");let t={in:e.in,out:e.out,argTypes:e.in&&Object.keys(e.in).length!==0?[Bc(e.in)]:[],entryPoint:"vertex"};return Object.assign((r,...o)=>dC(t,Hu(r,...o)),t)}function dC(e,t){let s=ri(t,"vertex"),r=IE(e.in??{});return{shell:e,$uses(o){return s.setExternals("userProvided",o),this},[B]:!0,[Xs]:s,$name(o){return ot(this,o),this},[kt](o){let n=Bc(e.out,o.varyingLocations).$name(`${xe(this)??""}_Output`);return typeof t=="string"&&s.setExternals("out",{Out:n}),o.withSlots([[pd,"vertex"]],()=>s.resolve(o,[],n,r))},toString(){return`vertexFn:${xe(s)??""}`}}}function cC(e){return new _C(e)}var _C=class{[B]=!0;#e;#t;constructor(e){this.#t=e}$uses(e){if(this.#e!==void 0)throw new Error("Cannot call '$uses' multiple times. If you wish to override dependencies, use slots or accessors instead.");return this.#e=e,this}[kt](e){let t=Xu(e,this.#e??{},this.#t);return e.addDeclaration(t),ve("",_s,"constant")}toString(){return`declare: ${this.#t}`}};function lC(e,t,s="runtime",r=!0){return new uC(e,t,s,r)}var uC=class Op{dataType;origin;possibleSideEffects;#e;#t;static#s=void(Op.prototype[B]=!0,mn(In(Op.prototype,{asString(){return`raw(${String(this.dataType)}): "${this.#e}"`},resolve(t){return ve(Xu(t,this.#t??{},this.#e),this.dataType,this.origin,this.possibleSideEffects)}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.dataType,this.origin,this.possibleSideEffects)}},normalMode:{get(){throw new Error("Raw code snippets can only be used on the GPU.")}}}));constructor(t,s,r,o){this.dataType=s,this.origin=r,this.possibleSideEffects=o,this.#e=t}$uses(t){if(this.#t!==void 0)throw new Error("Cannot call '$uses' multiple times. If you wish to override dependencies, use slots or accessors instead.");return this.#t=t,this}};function mC(e){let t=Na()??new _6({minify:!1,namespace:fd()}),s=[1,1,1],r=[1,1,1],o=[s[0]*r[0],s[1]*r[1],s[2]*r[2]],n=new Map,i=Array.from({length:s[0]},()=>Array.from({length:s[1]},()=>Array.from({length:s[2]},()=>new Map))),d=Array.from({length:o[0]},()=>Array.from({length:o[1]},()=>Array.from({length:o[2]},()=>new Map))),c=Array.from({length:o[0]},(_,u)=>Array.from({length:o[1]},(m,p)=>Array.from({length:o[2]},(y,h)=>{let g=Math.floor(u/r[0]),w=Math.floor(p/r[1]),S=Math.floor(h/r[2]);return new dM(n,{private:d[u][p][h],workgroup:i[g][w][S]})})));t.pushMode(c[0][0][0]);try{return{value:w2(t,e),buffers:n,privateVars:d,workgroupVars:i}}finally{t.popMode("simulate")}}var pC=Za({accessor:()=>bC,comptime:()=>vC,computeFn:()=>yC,const:()=>fC,declare:()=>cC,derived:()=>TC,fn:()=>hC,fragmentFn:()=>xC,mutableAccessor:()=>wC,namespace:()=>fd,privateVar:()=>AC,rawCodeSnippet:()=>lC,simulate:()=>mC,slot:()=>SC,vertexFn:()=>gC,vertexLayout:()=>PC,workgroupVar:()=>MC}),fC=wv,vC=Ao,yC=Lv,hC=qt,xC=H6,gC=e1,bC=O6,wC=V6,TC=X6,SC=Nc,AC=Qu,MC=J5,PC=I6,EC=Za({accessor:()=>O6,bindGroupLayout:()=>K5,comptime:()=>Ao,computeFn:()=>Lv,const:()=>wv,fn:()=>qt,fragmentFn:()=>H6,init:()=>JU,initFromDevice:()=>eC,lazy:()=>X6,mutableAccessor:()=>V6,privateVar:()=>Qu,resolve:()=>rC,resolveWithContext:()=>Bp,slot:()=>Nc,unroll:()=>z5,vertexFn:()=>e1,vertexLayout:()=>I6,workgroupVar:()=>J5,"~unstable":()=>pC});pe({name:"workgroupBarrier",normalImpl:"workgroupBarrier is a no-op outside of CODEGEN mode.",signature:{argTypes:[],returnType:_s},codegenImpl:()=>"workgroupBarrier()",sideEffects:!0});pe({name:"storageBarrier",normalImpl:"storageBarrier is a no-op outside of CODEGEN mode.",signature:{argTypes:[],returnType:_s},codegenImpl:()=>"storageBarrier()",sideEffects:!0});pe({name:"textureBarrier",normalImpl:"textureBarrier is a no-op outside of CODEGEN mode.",signature:{argTypes:[],returnType:_s},codegenImpl:()=>"textureBarrier()",sideEffects:!0});var Dn="Atomic operations are not supported outside of CODEGEN mode.",d8=pe({name:"atomicLoad",normalImpl:Dn,signature:e=>{if(!Uu(e))throw new Error(`Invalid atomic type: ${io(e)}`);return{argTypes:[e],returnType:e.inner}},codegenImpl:(e,[t])=>ce`atomicLoad(&${t})`,sideEffects:!0}),kC=e=>{if(!Uu(e))throw new Error(`Invalid atomic type: ${io(e)}`);return{argTypes:[e,e.inner.type==="u32"?R:Z],returnType:_s}},oi=e=>{if(!Uu(e))throw new Error(`Invalid atomic type: ${io(e)}`);let t=e.inner.type==="u32"?R:Z;return{argTypes:[e,t],returnType:t}},c8=pe({name:"atomicStore",normalImpl:Dn,signature:kC,codegenImpl:(e,[t,s])=>ce`atomicStore(&${t}, ${s})`,sideEffects:!0}),_8=pe({name:"atomicAdd",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicAdd(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicSub",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicSub(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicMax",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicMax(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicMin",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicMin(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicAnd",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicAnd(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicOr",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicOr(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicXor",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicXor(&${t}, ${s})`,sideEffects:!0});var Fn="Derivative builtins are not allowed on the CPU",Ni=pe({name:"dpdx",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdx(${t})`,sideEffects:!1});pe({name:"dpdxCoarse",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdxCoarse(${t})`,sideEffects:!1});pe({name:"dpdxFine",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdxFine(${t})`,sideEffects:!1});var qi=pe({name:"dpdy",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdy(${t})`,sideEffects:!1});pe({name:"dpdyCoarse",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdyCoarse(${t})`,sideEffects:!1});pe({name:"dpdyFine",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdyFine(${t})`,sideEffects:!1});var Zt=pe({name:"fwidth",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`fwidth(${t})`,sideEffects:!1});pe({name:"fwidthCoarse",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`fwidthCoarse(${t})`,sideEffects:!1});pe({name:"fwidthFine",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`fwidthFine(${t})`,sideEffects:!1});function qc(e){return e.filter(t=>t!==void 0)}function $C(e,t,s,r,o){throw new Ys("Texture sampling relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSample",normalImpl:$C,codegenImpl:(e,t)=>e.gen.emitCall("textureSample",[],qc(t)),signature:(...e)=>({argTypes:e,returnType:e[0].type.startsWith("texture_depth")?a:Oe}),sideEffects:!1});function UC(e,t,s,r,o,n){throw new Ys("Texture sampling with bias relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSampleBias",normalImpl:UC,codegenImpl:(e,t)=>e.gen.emitCall("textureSampleBias",[],qc(t)),signature:(...e)=>({argTypes:e,returnType:Oe}),sideEffects:!1});function CC(e,t,s,r,o,n){throw new Ys("Texture sampling relies on GPU resources and cannot be executed outside of a draw call")}var zl=pe({name:"textureSampleLevel",normalImpl:CC,codegenImpl:(e,t)=>e.gen.emitCall("textureSampleLevel",[],qc(t)),signature:(...e)=>({argTypes:e,returnType:e[0].type.startsWith("texture_depth")?a:Oe}),sideEffects:!1});function RC(e,t,s){throw new Ys("`textureLoad` relies on GPU resources and cannot be executed outside of a draw call")}var Be=pe({name:"textureLoad",normalImpl:RC,codegenImpl:(e,t)=>e.gen.emitCall("textureLoad",[],qc(t)),signature:(...e)=>{let t=e[0];if(r5(t)){let r=t.type.startsWith("texture_depth"),o=t.sampleType;return{argTypes:e,returnType:r?a:o.type==="f32"?Oe:o.type==="u32"?Et:Wt}}if(MP(t))return{argTypes:e,returnType:Oe};let s=t.format;return{argTypes:e,returnType:Vc(s).vectorType}},sideEffects:!1});function zC(e,t,s,r){throw new Ys("`textureStore` relies on GPU resources and cannot be executed outside of a draw call")}var jr=pe({name:"textureStore",normalImpl:zC,codegenImpl:(e,t)=>ce`textureStore(${t})`,signature:(...e)=>({argTypes:e,returnType:_s}),sideEffects:!0});function GC(e,t){throw new Ys("`textureDimensions` relies on GPU resources and cannot be executed outside of a draw call")}var l8=pe({name:"textureDimensions",normalImpl:GC,codegenImpl:(e,t)=>e.gen.emitCall("textureDimensions",[],qc(t)),signature:(...e)=>{let t=e[0].dimension;return t==="1d"?{argTypes:e,returnType:R}:t==="3d"?{argTypes:e,returnType:gt}:{argTypes:e,returnType:Ct}},sideEffects:!1}),YC=(...e)=>{throw new Error("Texture gather relies on GPU resources and cannot be executed outside of a draw call")},LC={f32:Oe,i32:Wt,u32:Et};pe({name:"textureGather",normalImpl:YC,codegenImpl:(e,t)=>ce`textureGather(${t})`,signature:(...e)=>{if(e[0].type.startsWith("texture")){let[i,d,c,_,...u]=e;return{argTypes:i.type==="texture_depth_2d_array"||i.type==="texture_depth_cube_array"?[i,d,c,[R,Z],...u]:e,returnType:Oe}}let[t,s,r,o,...n]=e;return{argTypes:s.type==="texture_2d_array"||s.type==="texture_cube_array"?[[R,Z],s,r,o,[R,Z],...n]:[[R,Z],s,r,o,...n],returnType:LC[s.sampleType.type]}},sideEffects:!1});function IC(e,t,s,r,o,n){throw new Ys("Texture comparison sampling relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSampleCompare",normalImpl:IC,codegenImpl:(e,t)=>ce`textureSampleCompare(${t})`,signature:(...e)=>({argTypes:e,returnType:a}),sideEffects:!1});function DC(e,t,s,r,o,n){throw new Ys("Texture comparison sampling with level relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSampleCompareLevel",normalImpl:DC,codegenImpl:(e,t)=>ce`textureSampleCompareLevel(${t})`,signature:(...e)=>({argTypes:e,returnType:a}),sideEffects:!1});function FC(e,t,s){throw new Ys("Texture sampling with base clamp to edge is not supported outside of GPU mode.")}function BC(e,t,s,r,o,n,i){throw new Ys("Texture sampling with gradients relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSampleGrad",normalImpl:BC,codegenImpl:(e,t)=>ce`textureSampleGrad(${t})`,signature:(...e)=>({argTypes:e,returnType:Oe}),sideEffects:!1});pe({name:"textureSampleBaseClampToEdge",normalImpl:FC,codegenImpl:(e,t)=>ce`textureSampleBaseClampToEdge(${t})`,signature:(...e)=>({argTypes:e,returnType:Oe}),sideEffects:!1});var v=EC,O_="uniforms";function j6(e){return e.replace(/[^a-zA-Z0-9_]/g,"_")}var WC=new Set(["alias","break","case","const","const_assert","continue","continuing","default","diagnostic","discard","else","enable","false","fn","for","if","let","loop","override","requires","return","struct","switch","true","var","while","NULL","Self","abstract","active","alignas","alignof","as","asm","asm_fragment","async","attribute","auto","await","become","cast","catch","class","co_await","co_return","co_yield","coherent","column_major","common","compile","compile_fragment","concept","const_cast","consteval","constexpr","constinit","crate","debugger","decltype","delete","demote","demote_to_helper","do","dynamic_cast","enum","explicit","export","extends","extern","external","fallthrough","filter","final","finally","friend","from","fxgroup","get","goto","groupshared","highp","impl","implements","import","inline","instanceof","interface","layout","lowp","macro","macro_rules","match","mediump","meta","mod","module","move","mut","mutable","namespace","new","nil","noexcept","noinline","nointerpolation","non_coherent","noncoherent","noperspective","null","nullptr","of","operator","package","packoffset","partition","pass","patch","pixelfragment","precise","precision","premerge","priv","protected","pub","public","readonly","ref","regardless","register","reinterpret_cast","require","resource","restrict","self","set","shared","sizeof","smooth","snorm","static","static_assert","static_cast","std","subroutine","super","target","template","this","thread_local","throw","trait","try","type","typedef","typeid","typename","typeof","union","unless","unorm","unsafe","unsized","use","using","varying","virtual","volatile","wgsl","where","with","writeonly","yield","sampler","uniform","storage"]);function OC(e){let t=j6(e);return WC.has(t)?`${t}_`:t}function Lo(e){return`n_${j6(e)}`}function Vp(e){return e==="vec2"?2:e==="vec3"?3:4}function K6(e){let t=e.type;return t==="vec2f"||t==="vec2i"||t==="vec2u"?"vec2":t==="vec3f"||t==="vec3i"||t==="vec3u"?"vec3":t==="vec4f"||t==="vec4i"||t==="vec4u"?"vec4":"scalar"}function VC(e){return e.type==="array"}function Z6(e){if(typeof e=="number"||typeof e=="boolean")return a;if(e&&typeof e=="object"){let t=e.kind;if(typeof t=="string"){if(t.startsWith("vec2"))return l;if(t.startsWith("vec3"))return f;if(t.startsWith("vec4"))return x}if(Array.isArray(e))return pt(a,e.length||1);let s=e;if("w"in s)return x;if("z"in s)return f;if("x"in s&&"y"in s)return l}return Array.isArray(e)?pt(a,e.length||1):a}function Np(e,t){let s=e;if(s&&typeof s=="object"&&"data"in s&&!("x"in s)&&(s=s.data),typeof s=="number")return new Array(t).fill(s);if(s instanceof Q6)return s.toArray().slice(0,t);if(Array.isArray(s))return cg(s,t);if(s&&typeof s=="object"){let r=s;if("x"in r){let o=[r.x,r.y??0];return t>=3&&o.push(r.z??0),t>=4&&o.push(r.w??0),o.slice(0,t)}if(typeof r.length=="number")return cg(Array.from(r),t)}throw new Error(`[uniformStore] cannot coerce value to a ${t}-component vector: ${String(e)}`)}function cg(e,t){let s=e.slice(0,t);for(;s.lengthe))(ut({time:a,deltaTime:a,frame:a,viewportSize:l,logicalViewportSize:l,aspect:a,pointer:l,pointerActive:a}),"SystemUniforms"),XC={time:0,deltaTime:0,frame:0,viewportSize:[1,1],logicalViewportSize:[1,1],aspect:1,pointer:[.5,.5],pointerActive:0};function J6(e,t={}){let s=t.systemSchema??qC,r={...XC,...t.systemInitial??{}},o=new Map,n=new Map,i={},d=s,c=!1,_=new Set,u=new Map,m=new Map,p={markScalar(T){_.add(T)},markArray(T,A){if(A==="all"){u.set(T,"all");return}let P=u.get(T);P!=="all"&&(P?P.add(A):u.set(T,new Set([A])))}},y;function h(T,A){let P={},U={};for(let D of A){let O=OC(D.name),L=D.transform?D.transform(D.initial):D.initial,G=D.cpu??typeof L=="string";if(D.transform&&!G&&!NC(L)&&!lg.has(D.transform)&&(lg.add(D.transform),console.warn(`[gpu] prop transform for "${D.name}" returned a non-packable value \u2014 the uniform field will be NaN. A prop transform must return a number, boolean, vector, or array (or a string for cpu-only props).`,L)),G){P[D.name]=new Oo({sink:p,gpuPath:[T,O],initial:L,transform:D.transform,cpu:!0});continue}let W=L&&typeof L=="object"&&"data"in L?L.data:L,K=D.schema??Z6(W);if(U[O]=K,VC(K)){let Q=new Sc({sink:p,gpuPath:[T,O],schema:K,initial:D.initial,transform:D.transform});P[D.name]=Q}else{let Q=new Oo({sink:p,gpuPath:[T,O],schema:K,initial:L,transform:D.transform});P[D.name]=Q}}return{handles:P,struct:(globalThis.__TYPEGPU_AUTONAME__??(D=>D))(ut(U),"struct")}}function g(){if(y)throw new Error("[uniformStore] cannot register fields after finalize()")}function w(){let T={};for(let[A,P]of n)T[A]=S(P,A);return T._sys=S(i,"_sys"),T}function S(T,A){let P={};for(let U of Object.values(T))U instanceof Sc?P[U.gpuPath[1]]=U._wholeArray():U.cpu||(P[U.gpuPath[1]]=U._patchValue());if(A)for(let U of m.get(A)??[])P[U]=0;return P}return{get schema(){return y?.schema},get layout(){return y?.layout},get buffer(){return y?.buffer},get bindGroup(){return y?.bindGroup},get systemHandles(){return i},defineNode(T,A){g();let P=Lo(T),{handles:U,struct:D}=h(P,A);return o.set(P,D),n.set(P,U),U},defineSystem(T){if(g(),T&&T.length){let A=h("_sys",T);i=A.handles,d=A.struct}else{let A=h("_sys",Object.entries(s.propTypes).map(([P,U])=>({name:P,schema:U,initial:r[P]??0})));i=A.handles,d=A.struct}return c=!0,i},finalize(){if(y)return y;c||this.defineSystem();let T=(W,K)=>{if(Object.keys(K.propTypes).length===0){let ee=["_pad0","_pad1","_pad2","_pad3"];return m.set(W,ee),ut(Object.fromEntries(ee.map(he=>[he,a])))}let Q=K,te=[];for(;xx(Q)%16!==0;){let ee=`_pad${te.length}`;for(;ee in K.propTypes;)ee=`_${ee}`;te.push(ee);let he={...K.propTypes};for(let Ee of te)he[Ee]=a;Q=(globalThis.__TYPEGPU_AUTONAME__??(Ee=>Ee))(ut(he),"padded")}return te.length&&m.set(W,te),Q},A={};for(let[W,K]of o)A[W]=T(W,K);A._sys=T("_sys",d);let P=(globalThis.__TYPEGPU_AUTONAME__??(W=>W))(ut(A),"combined"),U=xx(P),D=e.device?.limits?.maxUniformBufferBindingSize,O=typeof D=="number"&&D>0?D:65536;if(U>O)throw new mi("limit-exceeded",`[gpu] this composition needs ${U} bytes of uniform data across ${o.size} nodes, but the device caps a uniform binding at ${O} bytes. Reduce the number of layers.`);let L=(globalThis.__TYPEGPU_AUTONAME__??(W=>W))(e.createBuffer(P).$usage("uniform"),"buffer"),G=(globalThis.__TYPEGPU_AUTONAME__??(W=>W))(v.bindGroupLayout({[O_]:{uniform:P}}),"layout");return y={schema:P,layout:G,buffer:L,bindGroup:e.createBindGroup(G,{[O_]:L}),uniformEntryKey:O_},this.writeAll(),y},flush(){if(!y||_.size===0&&u.size===0)return;let T={},A=P=>T[P]??={};for(let P of _)A(P.gpuPath[0])[P.gpuPath[1]]=P._patchValue();for(let[P,U]of u){let D=A(P.gpuPath[0]);if(U==="all")D[P.gpuPath[1]]=P._wholeArray();else if(P.componentsPerElement===1){let O={};for(let L of U)O[L]=P._elementAt(L);D[P.gpuPath[1]]=O}else{let O=P.componentsPerElement,L={};for(let G of U){let W=Math.floor(G/O);L[W]=P._elementTuple(W)}D[P.gpuPath[1]]=L}}y.buffer.patch(T),_.clear(),u.clear()},writeAll(){y&&(y.buffer.write(w()),_.clear(),u.clear())},gpuAccessor(T,A="layout"){return`${A}.$.${O_}.${T.accessorPath}`},destroy(){y?.buffer.destroy?.(),y=void 0,o.clear(),n.clear(),_.clear(),u.clear(),m.clear()}}}function e7(e,t){if(e instanceof Sc){Array.isArray(t)&&(e.array=t);return}e.setFromRaw(t)}var Le=Math.PI/180;180/Math.PI;var Xr=Math.PI,it=Math.PI*2,ao=it,Gl=Math.PI/2,_a=Math.sqrt(3),HC=2.3999632297286535,Ar=v.fn([R,Z],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t<>R(__tsover_sub(Z(32),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"k"}],body:[0,[[10,[1,[1,"x","<<",[6,"d.u32",["k"]]],"|",[1,"x",">>",[6,"d.u32",[[1,[6,"d.i32",[[5,"32"]]],"-","k"]]]]]]]]},externals:{"d.u32":()=>R,"d.i32":()=>Z}})&&e.f)({})),Xi=v.fn([R,R,R],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=t,n=s,i=r;return i=i^n,i=__tsover_sub(i,Ar(n,Z(14))),o=o^i,o=__tsover_sub(o,Ar(i,Z(11))),n=n^o,n=__tsover_sub(n,Ar(o,Z(25))),i=i^n,i=__tsover_sub(i,Ar(n,Z(16))),o=o^i,o=__tsover_sub(o,Ar(i,Z(4))),n=n^o,n=__tsover_sub(n,Ar(o,Z(14))),i=i^n,i=__tsover_sub(i,Ar(n,Z(24))),i}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a0"},{type:"i",name:"b0"},{type:"i",name:"c0"}],body:[0,[[12,"a","a0"],[12,"b","b0"],[12,"c","c0"],[2,"c","=",[1,"c","^","b"]],[2,"c","=",[1,"c","-",[6,"mxRotl32",["b",[6,"d.i32",[[5,"14"]]]]]]],[2,"a","=",[1,"a","^","c"]],[2,"a","=",[1,"a","-",[6,"mxRotl32",["c",[6,"d.i32",[[5,"11"]]]]]]],[2,"b","=",[1,"b","^","a"]],[2,"b","=",[1,"b","-",[6,"mxRotl32",["a",[6,"d.i32",[[5,"25"]]]]]]],[2,"c","=",[1,"c","^","b"]],[2,"c","=",[1,"c","-",[6,"mxRotl32",["b",[6,"d.i32",[[5,"16"]]]]]]],[2,"a","=",[1,"a","^","c"]],[2,"a","=",[1,"a","-",[6,"mxRotl32",["c",[6,"d.i32",[[5,"4"]]]]]]],[2,"b","=",[1,"b","^","a"]],[2,"b","=",[1,"b","-",[6,"mxRotl32",["a",[6,"d.i32",[[5,"14"]]]]]]],[2,"c","=",[1,"c","^","b"]],[2,"c","=",[1,"c","-",[6,"mxRotl32",["b",[6,"d.i32",[[5,"24"]]]]]]],[10,"c"]]]},externals:{mxRotl32:()=>Ar,"d.i32":()=>Z}})&&e.f)({})),Hi=3735928559,Ld=v.fn([Z,Z],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=R(2),o=__tsover_add(__tsover_add(R(Hi),r<R,DEADBEEF:()=>Hi,mxBjfinal:()=>Xi}})&&e.f)({})),oo=v.fn([Z,Z,Z],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=R(3),n=__tsover_add(__tsover_add(R(Hi),o<R,DEADBEEF:()=>Hi,mxBjfinal:()=>Xi}})&&e.f)({})),V_=v.fn([Z,Z,Z,Z],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=R(4),i=__tsover_add(__tsover_add(R(Hi),n<R,DEADBEEF:()=>Hi,mxRotl32:()=>Ar,"d.i32":()=>Z,mxBjfinal:()=>Xi}})&&e.f)({})),ea=v.fn([R],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_div(a(t),a(4294967295))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"bits"}],body:[0,[[10,[1,[6,"d.f32",["bits"]],"/",[6,"d.f32",[[5,"4294967295"]]]]]]]},externals:{"d.f32":()=>a}})&&e.f)({})),Ia=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(__tsover_mul(__tsover_mul(t,t),t),__tsover_add(__tsover_mul(t,__tsover_sub(__tsover_mul(t,6),15)),10))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[1,[1,[1,"t","*","t"],"*","t"],"*",[1,[1,"t","*",[1,[1,"t","*",[5,"6"]],"-",[5,"15"]]],"+",[5,"10"]]]]]]},externals:{}})&&e.f)({})),Id=v.fn([R,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=t&R(7),n=C(r,s,oR,"std.select":()=>C}})&&e.f)({})),yn=v.fn([R,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=t&R(15),i=C(r,s,nR,"std.select":()=>C}})&&e.f)({})),ug=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(.6616,t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[1,[5,"0.6616"],"*","v"]]]]},externals:{}})&&e.f)({})),mg=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(.982,t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[1,[5,"0.982"],"*","v"]]]]},externals:{}})&&e.f)({})),pg=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_sub(1,n);return __tsover_add(__tsover_mul(__tsover_sub(1,i),__tsover_add(__tsover_mul(t,d),__tsover_mul(s,n))),__tsover_mul(i,__tsover_add(__tsover_mul(r,d),__tsover_mul(o,n))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v0"},{type:"i",name:"v1"},{type:"i",name:"v2"},{type:"i",name:"v3"},{type:"i",name:"s"},{type:"i",name:"t"}],body:[0,[[13,"s1",[1,[5,"1"],"-","s"]],[10,[1,[1,[1,[5,"1"],"-","t"],"*",[1,[1,"v0","*","s1"],"+",[1,"v1","*","s"]]],"+",[1,"t","*",[1,[1,"v2","*","s1"],"+",[1,"v3","*","s"]]]]]]]},externals:{}})&&e.f)({})),fg=v.fn([a,a,a,a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=__tsover_sub(1,_),y=__tsover_sub(1,u),h=__tsover_sub(1,m);return __tsover_add(__tsover_mul(h,__tsover_add(__tsover_mul(y,__tsover_add(__tsover_mul(t,p),__tsover_mul(s,_))),__tsover_mul(u,__tsover_add(__tsover_mul(r,p),__tsover_mul(o,_))))),__tsover_mul(m,__tsover_add(__tsover_mul(y,__tsover_add(__tsover_mul(n,p),__tsover_mul(i,_))),__tsover_mul(u,__tsover_add(__tsover_mul(d,p),__tsover_mul(c,_))))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v0"},{type:"i",name:"v1"},{type:"i",name:"v2"},{type:"i",name:"v3"},{type:"i",name:"v4"},{type:"i",name:"v5"},{type:"i",name:"v6"},{type:"i",name:"v7"},{type:"i",name:"s"},{type:"i",name:"t"},{type:"i",name:"r"}],body:[0,[[13,"s1",[1,[5,"1"],"-","s"]],[13,"t1",[1,[5,"1"],"-","t"]],[13,"r1",[1,[5,"1"],"-","r"]],[10,[1,[1,"r1","*",[1,[1,"t1","*",[1,[1,"v0","*","s1"],"+",[1,"v1","*","s"]]],"+",[1,"t","*",[1,[1,"v2","*","s1"],"+",[1,"v3","*","s"]]]]],"+",[1,"r","*",[1,[1,"t1","*",[1,[1,"v4","*","s1"],"+",[1,"v5","*","s"]]],"+",[1,"t","*",[1,[1,"v6","*","s1"],"+",[1,"v7","*","s"]]]]]]]]]},externals:{}})&&e.f)({})),vg=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(q(t.x)),r=Z(q(t.y)),o=__tsover_sub(t.x,a(s)),n=__tsover_sub(t.y,a(r)),i=Ia(o),d=Ia(n);return ug(pg(Id(Ld(s,r),o,n),Id(Ld(__tsover_add(s,Z(1)),r),__tsover_sub(o,1),n),Id(Ld(s,__tsover_add(r,Z(1))),o,__tsover_sub(n,1)),Id(Ld(__tsover_add(s,Z(1)),__tsover_add(r,Z(1))),__tsover_sub(o,1),__tsover_sub(n,1)),i,d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"X",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"Y",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"fx",[1,[7,"p","x"],"-",[6,"d.f32",["X"]]]],[13,"fy",[1,[7,"p","y"],"-",[6,"d.f32",["Y"]]]],[13,"u",[6,"mxFade",["fx"]]],[13,"v",[6,"mxFade",["fy"]]],[13,"result",[6,"mxBilerp",[[6,"mxGradientFloat2",[[6,"mxHashInt1",["X","Y"]],"fx","fy"]],[6,"mxGradientFloat2",[[6,"mxHashInt1",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],"Y"]],[1,"fx","-",[5,"1"]],"fy"]],[6,"mxGradientFloat2",[[6,"mxHashInt1",["X",[1,"Y","+",[6,"d.i32",[[5,"1"]]]]]],"fx",[1,"fy","-",[5,"1"]]]],[6,"mxGradientFloat2",[[6,"mxHashInt1",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],[1,"Y","+",[6,"d.i32",[[5,"1"]]]]]],[1,"fx","-",[5,"1"]],[1,"fy","-",[5,"1"]]]],"u","v"]]],[10,[6,"mxGradientScale2d",["result"]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.f32":()=>a,mxFade:()=>Ia,mxBilerp:()=>pg,mxGradientFloat2:()=>Id,mxHashInt1:()=>Ld,mxGradientScale2d:()=>ug}})&&e.f)({})),yg=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(q(t.x)),r=Z(q(t.y)),o=Z(q(t.z)),n=__tsover_sub(t.x,a(s)),i=__tsover_sub(t.y,a(r)),d=__tsover_sub(t.z,a(o)),c=Ia(n),_=Ia(i),u=Ia(d);return mg(fg(yn(oo(s,r,o),n,i,d),yn(oo(__tsover_add(s,Z(1)),r,o),__tsover_sub(n,1),i,d),yn(oo(s,__tsover_add(r,Z(1)),o),n,__tsover_sub(i,1),d),yn(oo(__tsover_add(s,Z(1)),__tsover_add(r,Z(1)),o),__tsover_sub(n,1),__tsover_sub(i,1),d),yn(oo(s,r,__tsover_add(o,Z(1))),n,i,__tsover_sub(d,1)),yn(oo(__tsover_add(s,Z(1)),r,__tsover_add(o,Z(1))),__tsover_sub(n,1),i,__tsover_sub(d,1)),yn(oo(s,__tsover_add(r,Z(1)),__tsover_add(o,Z(1))),n,__tsover_sub(i,1),__tsover_sub(d,1)),yn(oo(__tsover_add(s,Z(1)),__tsover_add(r,Z(1)),__tsover_add(o,Z(1))),__tsover_sub(n,1),__tsover_sub(i,1),__tsover_sub(d,1)),c,_,u))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"X",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"Y",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"Z",[6,"d.i32",[[6,"std.floor",[[7,"p","z"]]]]]],[13,"fx",[1,[7,"p","x"],"-",[6,"d.f32",["X"]]]],[13,"fy",[1,[7,"p","y"],"-",[6,"d.f32",["Y"]]]],[13,"fz",[1,[7,"p","z"],"-",[6,"d.f32",["Z"]]]],[13,"u",[6,"mxFade",["fx"]]],[13,"v",[6,"mxFade",["fy"]]],[13,"w",[6,"mxFade",["fz"]]],[13,"result",[6,"mxTrilerp",[[6,"mxGradientFloat3",[[6,"mxHashInt2",["X","Y","Z"]],"fx","fy","fz"]],[6,"mxGradientFloat3",[[6,"mxHashInt2",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],"Y","Z"]],[1,"fx","-",[5,"1"]],"fy","fz"]],[6,"mxGradientFloat3",[[6,"mxHashInt2",["X",[1,"Y","+",[6,"d.i32",[[5,"1"]]]],"Z"]],"fx",[1,"fy","-",[5,"1"]],"fz"]],[6,"mxGradientFloat3",[[6,"mxHashInt2",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],[1,"Y","+",[6,"d.i32",[[5,"1"]]]],"Z"]],[1,"fx","-",[5,"1"]],[1,"fy","-",[5,"1"]],"fz"]],[6,"mxGradientFloat3",[[6,"mxHashInt2",["X","Y",[1,"Z","+",[6,"d.i32",[[5,"1"]]]]]],"fx","fy",[1,"fz","-",[5,"1"]]]],[6,"mxGradientFloat3",[[6,"mxHashInt2",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],"Y",[1,"Z","+",[6,"d.i32",[[5,"1"]]]]]],[1,"fx","-",[5,"1"]],"fy",[1,"fz","-",[5,"1"]]]],[6,"mxGradientFloat3",[[6,"mxHashInt2",["X",[1,"Y","+",[6,"d.i32",[[5,"1"]]]],[1,"Z","+",[6,"d.i32",[[5,"1"]]]]]],"fx",[1,"fy","-",[5,"1"]],[1,"fz","-",[5,"1"]]]],[6,"mxGradientFloat3",[[6,"mxHashInt2",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],[1,"Y","+",[6,"d.i32",[[5,"1"]]]],[1,"Z","+",[6,"d.i32",[[5,"1"]]]]]],[1,"fx","-",[5,"1"]],[1,"fy","-",[5,"1"]],[1,"fz","-",[5,"1"]]]],"u","v","w"]]],[10,[6,"mxGradientScale3d",["result"]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.f32":()=>a,mxFade:()=>Ia,mxTrilerp:()=>fg,mxGradientFloat3:()=>yn,mxHashInt2:()=>oo,mxGradientScale3d:()=>mg}})&&e.f)({})),hg=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(q(t.x)),r=Z(q(t.y));return f(ea(oo(s,r,Z(0))),ea(oo(s,r,Z(1))),ea(oo(s,r,Z(2))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"ix",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"iy",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[10,[6,"d.vec3f",[[6,"mxBitsTo01",[[6,"mxHashInt2",["ix","iy",[6,"d.i32",[[5,"0"]]]]]]],[6,"mxBitsTo01",[[6,"mxHashInt2",["ix","iy",[6,"d.i32",[[5,"1"]]]]]]],[6,"mxBitsTo01",[[6,"mxHashInt2",["ix","iy",[6,"d.i32",[[5,"2"]]]]]]]]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.vec3f":()=>f,mxBitsTo01:()=>ea,mxHashInt2:()=>oo}})&&e.f)({})),xg=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(q(t.x)),r=Z(q(t.y)),o=Z(q(t.z));return f(ea(V_(s,r,o,Z(0))),ea(V_(s,r,o,Z(1))),ea(V_(s,r,o,Z(2))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"ix",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"iy",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"iz",[6,"d.i32",[[6,"std.floor",[[7,"p","z"]]]]]],[10,[6,"d.vec3f",[[6,"mxBitsTo01",[[6,"mxHashInt3",["ix","iy","iz",[6,"d.i32",[[5,"0"]]]]]]],[6,"mxBitsTo01",[[6,"mxHashInt3",["ix","iy","iz",[6,"d.i32",[[5,"1"]]]]]]],[6,"mxBitsTo01",[[6,"mxHashInt3",["ix","iy","iz",[6,"d.i32",[[5,"2"]]]]]]]]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.vec3f":()=>f,mxBitsTo01:()=>ea,mxHashInt3:()=>V_}})&&e.f)({})),gg=v.fn([l,Z,Z,Z,Z,a,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=hg(l(a(__tsover_add(s,o)),a(__tsover_add(r,n)))),_=l(c.x,c.y);_=Pn(vr(ht(_,.5),i),.5);let u=ht(Pn(l(a(s),a(r)),_),t);return d===Z(2)?__tsover_add(z(u.x),z(u.y)):d===Z(3)?b(z(u.x),z(u.y)):se(u,u)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"x"},{type:"i",name:"y"},{type:"i",name:"xoff"},{type:"i",name:"yoff"},{type:"i",name:"jitter"},{type:"i",name:"metric"}],body:[0,[[13,"tmp",[6,"mxCellNoiseVec3_2d",[[6,"d.vec2f",[[6,"d.f32",[[1,"x","+","xoff"]]],[6,"d.f32",[[1,"y","+","yoff"]]]]]]]],[12,"off",[6,"d.vec2f",[[7,"tmp","x"],[7,"tmp","y"]]]],[2,"off","=",[6,"std.add",[[6,"std.mul",[[6,"std.sub",["off",[5,"0.5"]]],"jitter"]],[5,"0.5"]]]],[13,"cellpos",[6,"std.add",[[6,"d.vec2f",[[6,"d.f32",["x"]],[6,"d.f32",["y"]]]],"off"]]],[13,"diff",[6,"std.sub",["cellpos","p"]]],[11,[1,"metric","===",[6,"d.i32",[[5,"2"]]]],[0,[[10,[1,[6,"std.abs",[[7,"diff","x"]]],"+",[6,"std.abs",[[7,"diff","y"]]]]]]]],[11,[1,"metric","===",[6,"d.i32",[[5,"3"]]]],[0,[[10,[6,"std.max",[[6,"std.abs",[[7,"diff","x"]]],[6,"std.abs",[[7,"diff","y"]]]]]]]]],[10,[6,"std.dot",["diff","diff"]]]]]},externals:{mxCellNoiseVec3_2d:()=>hg,"d.vec2f":()=>l,"d.f32":()=>a,"std.add":()=>Pn,"std.mul":()=>vr,"std.sub":()=>ht,"d.i32":()=>Z,"std.abs":()=>z,"std.max":()=>b,"std.dot":()=>se}})&&e.f)({})),bg=v.fn([f,Z,Z,Z,Z,Z,Z,a,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=xg(f(a(__tsover_add(s,n)),a(__tsover_add(r,i)),a(__tsover_add(o,d))));u=Pn(vr(ht(u,.5),c),.5);let m=ht(Pn(f(a(s),a(r),a(o)),u),t);return _===Z(2)?__tsover_add(__tsover_add(z(m.x),z(m.y)),z(m.z)):_===Z(3)?b(b(z(m.x),z(m.y)),z(m.z)):se(m,m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"x"},{type:"i",name:"y"},{type:"i",name:"z"},{type:"i",name:"xoff"},{type:"i",name:"yoff"},{type:"i",name:"zoff"},{type:"i",name:"jitter"},{type:"i",name:"metric"}],body:[0,[[12,"off",[6,"mxCellNoiseVec3_3d",[[6,"d.vec3f",[[6,"d.f32",[[1,"x","+","xoff"]]],[6,"d.f32",[[1,"y","+","yoff"]]],[6,"d.f32",[[1,"z","+","zoff"]]]]]]]],[2,"off","=",[6,"std.add",[[6,"std.mul",[[6,"std.sub",["off",[5,"0.5"]]],"jitter"]],[5,"0.5"]]]],[13,"cellpos",[6,"std.add",[[6,"d.vec3f",[[6,"d.f32",["x"]],[6,"d.f32",["y"]],[6,"d.f32",["z"]]]],"off"]]],[13,"diff",[6,"std.sub",["cellpos","p"]]],[11,[1,"metric","===",[6,"d.i32",[[5,"2"]]]],[0,[[10,[1,[1,[6,"std.abs",[[7,"diff","x"]]],"+",[6,"std.abs",[[7,"diff","y"]]]],"+",[6,"std.abs",[[7,"diff","z"]]]]]]]],[11,[1,"metric","===",[6,"d.i32",[[5,"3"]]]],[0,[[10,[6,"std.max",[[6,"std.max",[[6,"std.abs",[[7,"diff","x"]]],[6,"std.abs",[[7,"diff","y"]]]]],[6,"std.abs",[[7,"diff","z"]]]]]]]]],[10,[6,"std.dot",["diff","diff"]]]]]},externals:{mxCellNoiseVec3_3d:()=>xg,"d.vec3f":()=>f,"d.f32":()=>a,"std.add":()=>Pn,"std.mul":()=>vr,"std.sub":()=>ht,"d.i32":()=>Z,"std.abs":()=>z,"std.max":()=>b,"std.dot":()=>se}})&&e.f)({})),wg=v.fn([l,a,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Z(q(t.x)),n=Z(q(t.y)),i=l(__tsover_sub(t.x,a(o)),__tsover_sub(t.y,a(n))),d=a(1e6);for(let c=-1;c<=1;c++)for(let _=-1;_<=1;_++){let u=gg(i,c,_,o,n,s,r);d=oe(d,u)}return r===Z(0)&&(d=be(d)),d}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"jitter"},{type:"i",name:"metric"}],body:[0,[[13,"X",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"Y",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"localpos",[6,"d.vec2f",[[1,[7,"p","x"],"-",[6,"d.f32",["X"]]],[1,[7,"p","y"],"-",[6,"d.f32",["Y"]]]]]],[12,"sqdist",[6,"d.f32",[[5,"1000000"]]]],[14,[12,"x",[4,"-",[5,"1"]]],[1,"x","<=",[5,"1"]],[102,"++","x"],[0,[[14,[12,"y",[4,"-",[5,"1"]]],[1,"y","<=",[5,"1"]],[102,"++","y"],[0,[[13,"dist",[6,"mxWorleyDistance2d",["localpos","x","y","X","Y","jitter","metric"]]],[2,"sqdist","=",[6,"std.min",["sqdist","dist"]]]]]]]]],[11,[1,"metric","===",[6,"d.i32",[[5,"0"]]]],[0,[[2,"sqdist","=",[6,"std.sqrt",["sqdist"]]]]]],[10,"sqdist"]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.vec2f":()=>l,"d.f32":()=>a,mxWorleyDistance2d:()=>gg,"std.min":()=>oe,"std.sqrt":()=>be}})&&e.f)({})),Tg=v.fn([f,a,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Z(q(t.x)),n=Z(q(t.y)),i=Z(q(t.z)),d=f(__tsover_sub(t.x,a(o)),__tsover_sub(t.y,a(n)),__tsover_sub(t.z,a(i))),c=a(1e6);for(let _=-1;_<=1;_++)for(let u=-1;u<=1;u++)for(let m=-1;m<=1;m++){let p=bg(d,_,u,m,o,n,i,s,r);c=oe(c,p)}return r===Z(0)&&(c=be(c)),c}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"jitter"},{type:"i",name:"metric"}],body:[0,[[13,"X",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"Y",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"Z",[6,"d.i32",[[6,"std.floor",[[7,"p","z"]]]]]],[13,"localpos",[6,"d.vec3f",[[1,[7,"p","x"],"-",[6,"d.f32",["X"]]],[1,[7,"p","y"],"-",[6,"d.f32",["Y"]]],[1,[7,"p","z"],"-",[6,"d.f32",["Z"]]]]]],[12,"sqdist",[6,"d.f32",[[5,"1000000"]]]],[14,[12,"x",[4,"-",[5,"1"]]],[1,"x","<=",[5,"1"]],[102,"++","x"],[0,[[14,[12,"y",[4,"-",[5,"1"]]],[1,"y","<=",[5,"1"]],[102,"++","y"],[0,[[14,[12,"z",[4,"-",[5,"1"]]],[1,"z","<=",[5,"1"]],[102,"++","z"],[0,[[13,"dist",[6,"mxWorleyDistance3d",["localpos","x","y","z","X","Y","Z","jitter","metric"]]],[2,"sqdist","=",[6,"std.min",["sqdist","dist"]]]]]]]]]]]],[11,[1,"metric","===",[6,"d.i32",[[5,"0"]]]],[0,[[2,"sqdist","=",[6,"std.sqrt",["sqdist"]]]]]],[10,"sqdist"]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.vec3f":()=>f,"d.f32":()=>a,mxWorleyDistance3d:()=>bg,"std.min":()=>oe,"std.sqrt":()=>be}})&&e.f)({})),Ei=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return vg(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"mxPerlinNoiseFloat2",["p"]]]]]},externals:{mxPerlinNoiseFloat2:()=>vg}})&&e.f)({})),go=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return yg(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"mxPerlinNoiseFloat3",["p"]]]]]},externals:{mxPerlinNoiseFloat3:()=>yg}})&&e.f)({})),jC=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return wg(t,s,Z(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"jitter"}],body:[0,[[10,[6,"mxWorleyNoiseFloat2",["p","jitter",[6,"d.i32",[[5,"1"]]]]]]]]},externals:{mxWorleyNoiseFloat2:()=>wg,"d.i32":()=>Z}})&&e.f)({}));v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return Tg(t,s,Z(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"jitter"}],body:[0,[[10,[6,"mxWorleyNoiseFloat3",["p","jitter",[6,"d.i32",[[5,"1"]]]]]]]]},externals:{mxWorleyNoiseFloat3:()=>Tg,"d.i32":()=>Z}})&&e.f)({}));var Sg=v.fn([a],R)("(x: f32) -> u32 { return bitcast(x); }"),ji=v.fn([l],Ge)("(v: vec2f) -> vec2u { return bitcast(v); }"),Yl=v.fn([f],Oa)("(v: vec3f) -> vec3u { return bitcast(v); }"),Po=a(4294967295),Gs=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Sg(__tsover_mul(t,3141592653));return __tsover_div(a(__tsover_mul(__tsover_mul(s,s),R(3141592653))),Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint1",[[1,"p","*",[5,"3141592653"]]]]],[10,[1,[6,"d.f32",[[1,[1,"u","*","u"],"*",[6,"d.u32",[[5,"3141592653"]]]]]],"/","U32"]]]]},externals:{floatBitsToUint1:()=>Sg,"d.f32":()=>a,"d.u32":()=>R,U32:()=>Po}})&&e.f)({})),Ot=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ji(t.mul(l(141421356,2718281828)));return __tsover_div(a(__tsover_mul(s.x^s.y,R(3141592653))),Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint2",[[6,[7,"p","mul"],[[6,"d.vec2f",[[5,"141421356"],[5,"2718281828"]]]]]]]],[10,[1,[6,"d.f32",[[1,[1,[7,"u","x"],"^",[7,"u","y"]],"*",[6,"d.u32",[[5,"3141592653"]]]]]],"/","U32"]]]]},externals:{floatBitsToUint2:()=>ji,"d.vec2f":()=>l,"d.f32":()=>a,"d.u32":()=>R,U32:()=>Po}})&&e.f)({})),er=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ji(t.mul(l(141421356,2718281828))),r=s.x^s.y,o=vr(Ge(r,r),Ge(3141592653,1618033988));return l(a(o.x),a(o.y)).div(Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint2",[[6,[7,"p","mul"],[[6,"d.vec2f",[[5,"141421356"],[5,"2718281828"]]]]]]]],[13,"h",[1,[7,"u","x"],"^",[7,"u","y"]]],[13,"prod",[6,"std.mul",[[6,"d.vec2u",["h","h"]],[6,"d.vec2u",[[5,"3141592653"],[5,"1618033988"]]]]]],[10,[6,[7,[6,"d.vec2f",[[6,"d.f32",[[7,"prod","x"]]],[6,"d.f32",[[7,"prod","y"]]]]],"div"],["U32"]]]]]},externals:{floatBitsToUint2:()=>ji,"d.vec2f":()=>l,"std.mul":()=>vr,"d.vec2u":()=>Ge,"d.f32":()=>a,U32:()=>Po}})&&e.f)({})),u8=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ji(t.mul(l(141421356,2718281828))),r=s.x^s.y,o=vr(Oa(r,r,r),Oa(1732050807,2645751311,3316624790));return f(a(o.x),a(o.y),a(o.z)).div(Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint2",[[6,[7,"p","mul"],[[6,"d.vec2f",[[5,"141421356"],[5,"2718281828"]]]]]]]],[13,"h",[1,[7,"u","x"],"^",[7,"u","y"]]],[13,"prod",[6,"std.mul",[[6,"d.vec3u",["h","h","h"]],[6,"d.vec3u",[[5,"1732050807"],[5,"2645751311"],[5,"3316624790"]]]]]],[10,[6,[7,[6,"d.vec3f",[[6,"d.f32",[[7,"prod","x"]]],[6,"d.f32",[[7,"prod","y"]]],[6,"d.f32",[[7,"prod","z"]]]]],"div"],["U32"]]]]]},externals:{floatBitsToUint2:()=>ji,"d.vec2f":()=>l,"std.mul":()=>vr,"d.vec3u":()=>Oa,"d.vec3f":()=>f,"d.f32":()=>a,U32:()=>Po}})&&e.f)({})),m8=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Yl(t.mul(f(141421356,2718281828,1618033988)));return __tsover_div(a(__tsover_mul(s.x^s.y^s.z,R(3141592653))),Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint3",[[6,[7,"p","mul"],[[6,"d.vec3f",[[5,"141421356"],[5,"2718281828"],[5,"1618033988"]]]]]]]],[10,[1,[6,"d.f32",[[1,[1,[1,[7,"u","x"],"^",[7,"u","y"]],"^",[7,"u","z"]],"*",[6,"d.u32",[[5,"3141592653"]]]]]],"/","U32"]]]]},externals:{floatBitsToUint3:()=>Yl,"d.vec3f":()=>f,"d.f32":()=>a,"d.u32":()=>R,U32:()=>Po}})&&e.f)({})),Ag=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Yl(t.mul(f(141421356,2718281828,1618033988))),r=s.x^s.y^s.z,o=vr(Oa(r,r,r),Oa(1732050807,2645751311,3316624790));return f(a(o.x),a(o.y),a(o.z)).div(Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint3",[[6,[7,"p","mul"],[[6,"d.vec3f",[[5,"141421356"],[5,"2718281828"],[5,"1618033988"]]]]]]]],[13,"h",[1,[1,[7,"u","x"],"^",[7,"u","y"]],"^",[7,"u","z"]]],[13,"prod",[6,"std.mul",[[6,"d.vec3u",["h","h","h"]],[6,"d.vec3u",[[5,"1732050807"],[5,"2645751311"],[5,"3316624790"]]]]]],[10,[6,[7,[6,"d.vec3f",[[6,"d.f32",[[7,"prod","x"]]],[6,"d.f32",[[7,"prod","y"]]],[6,"d.f32",[[7,"prod","z"]]]]],"div"],["U32"]]]]]},externals:{floatBitsToUint3:()=>Yl,"d.vec3f":()=>f,"std.mul":()=>vr,"d.vec3u":()=>Oa,"d.f32":()=>a,U32:()=>Po}})&&e.f)({})),Br=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=t.sub(s),o=r.mul(r).mul(ht(3,r.mul(2)));return X(X(Ot(s),Ot(s.add(l(1,0))),o.x),X(Ot(s.add(l(0,1))),Ot(s.add(l(1,1))),o.x),o.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f0",[6,[7,"p","sub"],["i"]]],[13,"f",[6,[7,[6,[7,"f0","mul"],["f0"]],"mul"],[[6,"std.sub",[[5,"3"],[6,[7,"f0","mul"],[[5,"2"]]]]]]]],[10,[6,"std.mix",[[6,"std.mix",[[6,"hash12",["i"]],[6,"hash12",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"0"]]]]]]],[7,"f","x"]]],[6,"std.mix",[[6,"hash12",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]]],[6,"hash12",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]],[7,"f","x"]]],[7,"f","y"]]]]]]},externals:{"std.floor":()=>q,"std.sub":()=>ht,"std.mix":()=>X,hash12:()=>Ot,"d.vec2f":()=>l}})&&e.f)({})),Dd=v.fn([l,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(r,o);return se(as(er(t.add(n)).sub(.5)),s.sub(n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"i"},{type:"i",name:"f"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[13,"o",[6,"d.vec2f",["ox","oy"]]],[10,[6,"std.dot",[[6,"std.normalize",[[6,[7,[6,"hash22",[[6,[7,"i","add"],["o"]]]],"sub"],[[5,"0.5"]]]]],[6,[7,"f","sub"],["o"]]]]]]]},externals:{"d.vec2f":()=>l,"std.dot":()=>se,"std.normalize":()=>as,hash22:()=>er}})&&e.f)({})),za=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=t.sub(s),o=r.mul(r).mul(r).mul(r.mul(r.mul(6).sub(15)).add(10)),n=Dd(s,r,0,0),i=Dd(s,r,1,0),d=Dd(s,r,0,1),c=Dd(s,r,1,1);return __tsover_add(__tsover_mul(X(X(n,i,o.x),X(d,c,o.x),o.y),.7),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,[7,"p","sub"],["i"]]],[13,"u",[6,[7,[6,[7,[6,[7,"f","mul"],["f"]],"mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[6,[7,[6,[7,"f","mul"],[[5,"6"]]],"sub"],[[5,"15"]]]]],"add"],[[5,"10"]]]]]],[13,"a",[6,"perlinGrad2",["i","f",[5,"0"],[5,"0"]]]],[13,"b",[6,"perlinGrad2",["i","f",[5,"1"],[5,"0"]]]],[13,"c",[6,"perlinGrad2",["i","f",[5,"0"],[5,"1"]]]],[13,"dd",[6,"perlinGrad2",["i","f",[5,"1"],[5,"1"]]]],[10,[1,[1,[6,"std.mix",[[6,"std.mix",["a","b",[7,"u","x"]]],[6,"std.mix",["c","dd",[7,"u","x"]]],[7,"u","y"]]],"*",[5,"0.7"]],"+",[5,"0.5"]]]]]},externals:{"std.floor":()=>q,perlinGrad2:()=>Dd,"std.mix":()=>X}})&&e.f)({})),la=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=ue(t),o=r.mul(r).mul(r).mul(r.mul(r.mul(6).sub(15)).add(10)),n=r.mul(r).mul(r.mul(r.sub(2)).add(1)).mul(30),i=er(s.add(l(0,0))).mul(2).sub(1),d=er(s.add(l(1,0))).mul(2).sub(1),c=er(s.add(l(0,1))).mul(2).sub(1),_=er(s.add(l(1,1))).mul(2).sub(1),u=se(i,r.sub(l(0,0))),m=se(d,r.sub(l(1,0))),p=se(c,r.sub(l(0,1))),y=se(_,r.sub(l(1,1))),h=__tsover_add(__tsover_sub(__tsover_sub(u,m),p),y),g=__tsover_add(__tsover_add(__tsover_add(u,__tsover_mul(o.x,__tsover_sub(m,u))),__tsover_mul(o.y,__tsover_sub(p,u))),__tsover_mul(__tsover_mul(o.x,o.y),h)),w=i.add(d.sub(i).mul(o.x)).add(c.sub(i).mul(o.y)).add(i.sub(d).sub(c).add(_).mul(__tsover_mul(o.x,o.y))).add(n.mul(l(o.y,o.x).mul(h).add(l(m,p)).sub(u)));return f(g,w.x,w.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,"std.fract",["p"]]],[13,"u",[6,[7,[6,[7,[6,[7,"f","mul"],["f"]],"mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[6,[7,[6,[7,"f","mul"],[[5,"6"]]],"sub"],[[5,"15"]]]]],"add"],[[5,"10"]]]]]],[13,"du",[6,[7,[6,[7,[6,[7,"f","mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[6,[7,"f","sub"],[[5,"2"]]]]],"add"],[[5,"1"]]]]],"mul"],[[5,"30"]]]],[13,"ga",[6,[7,[6,[7,[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"0"],[5,"0"]]]]]]],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[13,"gb",[6,[7,[6,[7,[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"0"]]]]]]],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[13,"gc",[6,[7,[6,[7,[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]]],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[13,"gd",[6,[7,[6,[7,[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[13,"va",[6,"std.dot",["ga",[6,[7,"f","sub"],[[6,"d.vec2f",[[5,"0"],[5,"0"]]]]]]]],[13,"vb",[6,"std.dot",["gb",[6,[7,"f","sub"],[[6,"d.vec2f",[[5,"1"],[5,"0"]]]]]]]],[13,"vc",[6,"std.dot",["gc",[6,[7,"f","sub"],[[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]]]],[13,"vd",[6,"std.dot",["gd",[6,[7,"f","sub"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]]],[13,"k",[1,[1,[1,"va","-","vb"],"-","vc"],"+","vd"]],[13,"value",[1,[1,[1,"va","+",[1,[7,"u","x"],"*",[1,"vb","-","va"]]],"+",[1,[7,"u","y"],"*",[1,"vc","-","va"]]],"+",[1,[1,[7,"u","x"],"*",[7,"u","y"]],"*","k"]]],[13,"deriv",[6,[7,[6,[7,[6,[7,[6,[7,"ga","add"],[[6,[7,[6,[7,"gb","sub"],["ga"]],"mul"],[[7,"u","x"]]]]],"add"],[[6,[7,[6,[7,"gc","sub"],["ga"]],"mul"],[[7,"u","y"]]]]],"add"],[[6,[7,[6,[7,[6,[7,[6,[7,"ga","sub"],["gb"]],"sub"],["gc"]],"add"],["gd"]],"mul"],[[1,[7,"u","x"],"*",[7,"u","y"]]]]]],"add"],[[6,[7,"du","mul"],[[6,[7,[6,[7,[6,[7,[6,"d.vec2f",[[7,"u","y"],[7,"u","x"]]],"mul"],["k"]],"add"],[[6,"d.vec2f",["vb","vc"]]]],"sub"],["va"]]]]]]],[10,[6,"d.vec3f",["value",[7,"deriv","x"],[7,"deriv","y"]]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,hash22:()=>er,"d.vec2f":()=>l,"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),Fd=v.fn([x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.mul(t.mul(34).add(1));return s.sub(q(s.div(289)).mul(289))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"}],body:[0,[[13,"xx",[6,[7,"x","mul"],[[6,[7,[6,[7,"x","mul"],[[5,"34"]]],"add"],[[5,"1"]]]]]],[10,[6,[7,"xx","sub"],[[6,[7,[6,"std.floor",[[6,[7,"xx","div"],[[5,"289"]]]]],"mul"],[[5,"289"]]]]]]]]},externals:{"std.floor":()=>q}})&&e.f)({})),p8=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=t.sub(s),o=r.mul(r).mul(ht(3,r.mul(2))),n=x(s.x,s.x,s.y,s.y).add(x(0,1,0,1)),i=Fd(x(n.x,n.y,n.x,n.y)),d=Fd(x(i.x,i.y,i.x,i.y).add(x(n.z,n.z,n.w,n.w))).add(x(s.z,s.z,s.z,s.z)),c=Fd(d),_=Fd(d.add(1)),u=X(ue(c.mul(.02439024)),ue(_.mul(.02439024)),x(o.z)),m=X(l(u.x,u.z),l(u.y,u.w),l(o.x));return X(m.x,m.y,o.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"a",[6,"std.floor",["p"]]],[13,"d0",[6,[7,"p","sub"],["a"]]],[13,"sd",[6,[7,[6,[7,"d0","mul"],["d0"]],"mul"],[[6,"std.sub",[[5,"3"],[6,[7,"d0","mul"],[[5,"2"]]]]]]]],[13,"b",[6,[7,[6,"d.vec4f",[[7,"a","x"],[7,"a","x"],[7,"a","y"],[7,"a","y"]]],"add"],[[6,"d.vec4f",[[5,"0"],[5,"1"],[5,"0"],[5,"1"]]]]]],[13,"k1",[6,"perm4",[[6,"d.vec4f",[[7,"b","x"],[7,"b","y"],[7,"b","x"],[7,"b","y"]]]]]],[13,"k2",[6,[7,[6,"perm4",[[6,[7,[6,"d.vec4f",[[7,"k1","x"],[7,"k1","y"],[7,"k1","x"],[7,"k1","y"]]],"add"],[[6,"d.vec4f",[[7,"b","z"],[7,"b","z"],[7,"b","w"],[7,"b","w"]]]]]]],"add"],[[6,"d.vec4f",[[7,"a","z"],[7,"a","z"],[7,"a","z"],[7,"a","z"]]]]]],[13,"k3",[6,"perm4",["k2"]]],[13,"k4",[6,"perm4",[[6,[7,"k2","add"],[[5,"1"]]]]]],[13,"o1",[6,"std.fract",[[6,[7,"k3","mul"],[[5,"0.02439024"]]]]]],[13,"o2",[6,"std.fract",[[6,[7,"k4","mul"],[[5,"0.02439024"]]]]]],[13,"o3",[6,"std.mix",["o1","o2",[6,"d.vec4f",[[7,"sd","z"]]]]]],[13,"o4",[6,"std.mix",[[6,"d.vec2f",[[7,"o3","x"],[7,"o3","z"]]],[6,"d.vec2f",[[7,"o3","y"],[7,"o3","w"]]],[6,"d.vec2f",[[7,"sd","x"]]]]]],[10,[6,"std.mix",[[7,"o4","x"],[7,"o4","y"],[7,"sd","y"]]]]]]},externals:{"std.floor":()=>q,"std.sub":()=>ht,"d.vec4f":()=>x,perm4:()=>Fd,"std.fract":()=>ue,"std.mix":()=>X,"d.vec2f":()=>l}})&&e.f)({})),hn=v.fn([f,f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=f(r,o,n);return se(s.sub(i),as(Ag(t.add(i)).sub(.5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"i"},{type:"i",name:"f"},{type:"i",name:"ox"},{type:"i",name:"oy"},{type:"i",name:"oz"}],body:[0,[[13,"o",[6,"d.vec3f",["ox","oy","oz"]]],[10,[6,"std.dot",[[6,[7,"f","sub"],["o"]],[6,"std.normalize",[[6,[7,[6,"hash33",[[6,[7,"i","add"],["o"]]]],"sub"],[[5,"0.5"]]]]]]]]]]},externals:{"d.vec3f":()=>f,"std.dot":()=>se,"std.normalize":()=>as,hash33:()=>Ag}})&&e.f)({})),Bd=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=t.sub(s),o=r.mul(r).mul(r).mul(r.mul(r.mul(6).sub(15)).add(10)),n=hn(s,r,0,0,0),i=hn(s,r,1,0,0),d=hn(s,r,0,1,0),c=hn(s,r,1,1,0),_=hn(s,r,0,0,1),u=hn(s,r,1,0,1),m=hn(s,r,0,1,1),p=hn(s,r,1,1,1),y=X(X(n,i,o.x),X(d,c,o.x),o.y),h=X(X(_,u,o.x),X(m,p,o.x),o.y);return __tsover_add(__tsover_mul(X(y,h,o.z),.7),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,[7,"p","sub"],["i"]]],[13,"u",[6,[7,[6,[7,[6,[7,"f","mul"],["f"]],"mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[6,[7,[6,[7,"f","mul"],[[5,"6"]]],"sub"],[[5,"15"]]]]],"add"],[[5,"10"]]]]]],[13,"a0",[6,"perlinGrad3",["i","f",[5,"0"],[5,"0"],[5,"0"]]]],[13,"b0",[6,"perlinGrad3",["i","f",[5,"1"],[5,"0"],[5,"0"]]]],[13,"c0",[6,"perlinGrad3",["i","f",[5,"0"],[5,"1"],[5,"0"]]]],[13,"d0",[6,"perlinGrad3",["i","f",[5,"1"],[5,"1"],[5,"0"]]]],[13,"a1",[6,"perlinGrad3",["i","f",[5,"0"],[5,"0"],[5,"1"]]]],[13,"b1",[6,"perlinGrad3",["i","f",[5,"1"],[5,"0"],[5,"1"]]]],[13,"c1",[6,"perlinGrad3",["i","f",[5,"0"],[5,"1"],[5,"1"]]]],[13,"d1",[6,"perlinGrad3",["i","f",[5,"1"],[5,"1"],[5,"1"]]]],[13,"z0",[6,"std.mix",[[6,"std.mix",["a0","b0",[7,"u","x"]]],[6,"std.mix",["c0","d0",[7,"u","x"]]],[7,"u","y"]]]],[13,"z1",[6,"std.mix",[[6,"std.mix",["a1","b1",[7,"u","x"]]],[6,"std.mix",["c1","d1",[7,"u","x"]]],[7,"u","y"]]]],[10,[1,[1,[6,"std.mix",["z0","z1",[7,"u","z"]]],"*",[5,"0.7"]],"+",[5,"0.5"]]]]]},externals:{"std.floor":()=>q,perlinGrad3:()=>hn,"std.mix":()=>X}})&&e.f)({})),Wd=v.fn([l,l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return Y(__tsover_add(__tsover_mul(r,se(t,er(s.add(l(n,i))))),o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"i"},{type:"i",name:"freq"},{type:"i",name:"phase"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[10,[6,"std.sin",[[1,[1,"freq","*",[6,"std.dot",["p",[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",["ox","oy"]]]]]]]]],"+","phase"]]]]]]},externals:{"std.sin":()=>Y,"std.dot":()=>se,hash22:()=>er,"d.vec2f":()=>l}})&&e.f)({})),f8=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=q(t),n=t.sub(o),i=n.mul(n).mul(ht(3,n.mul(2)));return X(X(Wd(t,o,s,r,0,0),Wd(t,o,s,r,1,0),i.x),X(Wd(t,o,s,r,0,1),Wd(t,o,s,r,1,1),i.x),i.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"freq"},{type:"i",name:"phase"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f0",[6,[7,"p","sub"],["i"]]],[13,"f",[6,[7,[6,[7,"f0","mul"],["f0"]],"mul"],[[6,"std.sub",[[5,"3"],[6,[7,"f0","mul"],[[5,"2"]]]]]]]],[10,[6,"std.mix",[[6,"std.mix",[[6,"gaborGrain",["p","i","freq","phase",[5,"0"],[5,"0"]]],[6,"gaborGrain",["p","i","freq","phase",[5,"1"],[5,"0"]]],[7,"f","x"]]],[6,"std.mix",[[6,"gaborGrain",["p","i","freq","phase",[5,"0"],[5,"1"]]],[6,"gaborGrain",["p","i","freq","phase",[5,"1"],[5,"1"]]],[7,"f","x"]]],[7,"f","y"]]]]]]},externals:{"std.floor":()=>q,"std.sub":()=>ht,"std.mix":()=>X,gaborGrain:()=>Wd}})&&e.f)({})),Ki=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=l(za(t.add(l(.1,0))),za(t.add(l(0,.1)))),r=l(za(t.sub(l(.1,0))),za(t.sub(l(0,.1))));return s.sub(r).div(.1).mul(.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"a",[6,"d.vec2f",[[6,"perlin12",[[6,[7,"p","add"],[[6,"d.vec2f",[[5,"0.1"],[5,"0"]]]]]]],[6,"perlin12",[[6,[7,"p","add"],[[6,"d.vec2f",[[5,"0"],[5,"0.1"]]]]]]]]]],[13,"b",[6,"d.vec2f",[[6,"perlin12",[[6,[7,"p","sub"],[[6,"d.vec2f",[[5,"0.1"],[5,"0"]]]]]]],[6,"perlin12",[[6,[7,"p","sub"],[[6,"d.vec2f",[[5,"0"],[5,"0.1"]]]]]]]]]],[10,[6,[7,[6,[7,[6,[7,"a","sub"],["b"]],"div"],[[5,"0.1"]]],"mul"],[[5,"0.5"]]]]]]},externals:{"d.vec2f":()=>l,perlin12:()=>za}})&&e.f)({})),Mg=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.add(l(.1,0)),o=t.add(l(0,.1)),n=t.sub(l(.1,0)),i=t.sub(l(0,.1)),d=l(Bd(f(r.x,r.y,s)),Bd(f(o.x,o.y,s))),c=l(Bd(f(n.x,n.y,s)),Bd(f(i.x,i.y,s)));return d.sub(c).div(.1).mul(.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"z"}],body:[0,[[13,"pax",[6,[7,"p","add"],[[6,"d.vec2f",[[5,"0.1"],[5,"0"]]]]]],[13,"pay",[6,[7,"p","add"],[[6,"d.vec2f",[[5,"0"],[5,"0.1"]]]]]],[13,"pbx",[6,[7,"p","sub"],[[6,"d.vec2f",[[5,"0.1"],[5,"0"]]]]]],[13,"pby",[6,[7,"p","sub"],[[6,"d.vec2f",[[5,"0"],[5,"0.1"]]]]]],[13,"a",[6,"d.vec2f",[[6,"perlin13",[[6,"d.vec3f",[[7,"pax","x"],[7,"pax","y"],"z"]]]],[6,"perlin13",[[6,"d.vec3f",[[7,"pay","x"],[7,"pay","y"],"z"]]]]]]],[13,"b",[6,"d.vec2f",[[6,"perlin13",[[6,"d.vec3f",[[7,"pbx","x"],[7,"pbx","y"],"z"]]]],[6,"perlin13",[[6,"d.vec3f",[[7,"pby","x"],[7,"pby","y"],"z"]]]]]]],[10,[6,[7,[6,[7,[6,[7,"a","sub"],["b"]],"div"],[[5,"0.1"]]],"mul"],[[5,"0.5"]]]]]]},externals:{"d.vec2f":()=>l,perlin13:()=>Bd,"d.vec3f":()=>f}})&&e.f)({})),v8=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=a(0),n=a(1),i=a(0),d=l(t.x,t.y);for(let c=0;c<4;c++){let _=d.mul(n),u=ue(q(_).mul(l(123.34,233.53)));u=u.add(se(u,u.add(23.234)));let m=__tsover_mul(ue(__tsover_mul(u.x,u.y)),1e3),p=ue(_).sub(.5),y=H(m),h=Y(m),g=l(__tsover_sub(__tsover_mul(p.x,y),__tsover_mul(p.y,h)),__tsover_add(__tsover_mul(p.x,h),__tsover_mul(p.y,y)));o=__tsover_add(o,__tsover_div(__tsover_mul(Y(__tsover_add(__tsover_mul(g.x,10),s)),re(.25,0,se(g,g))),n)),d=l(__tsover_sub(__tsover_mul(d.x,.54),__tsover_mul(d.y,.84)),__tsover_add(__tsover_mul(d.x,.84),__tsover_mul(d.y,.54))).add(a(c)),i=__tsover_add(i,__tsover_div(1,n)),n=__tsover_mul(n,r)}return __tsover_div(o,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"phase"},{type:"i",name:"scale"}],body:[0,[[12,"dsum",[6,"d.f32",[[5,"0"]]]],[12,"s",[6,"d.f32",[[5,"1"]]]],[12,"m",[6,"d.f32",[[5,"0"]]]],[12,"pp",[6,"d.vec2f",[[7,"p","x"],[7,"p","y"]]]],[14,[12,"idx",[5,"0"]],[1,"idx","<",[5,"4"]],[102,"++","idx"],[0,[[13,"q0",[6,[7,"pp","mul"],["s"]]],[12,"g",[6,"std.fract",[[6,[7,[6,"std.floor",["q0"]],"mul"],[[6,"d.vec2f",[[5,"123.34"],[5,"233.53"]]]]]]]],[2,"g","=",[6,[7,"g","add"],[[6,"std.dot",["g",[6,[7,"g","add"],[[5,"23.234"]]]]]]]],[13,"a",[1,[6,"std.fract",[[1,[7,"g","x"],"*",[7,"g","y"]]]],"*",[5,"1000"]]],[13,"qc",[6,[7,[6,"std.fract",["q0"]],"sub"],[[5,"0.5"]]]],[13,"ca",[6,"std.cos",["a"]]],[13,"sa",[6,"std.sin",["a"]]],[13,"q",[6,"d.vec2f",[[1,[1,[7,"qc","x"],"*","ca"],"-",[1,[7,"qc","y"],"*","sa"]],[1,[1,[7,"qc","x"],"*","sa"],"+",[1,[7,"qc","y"],"*","ca"]]]]],[2,"dsum","=",[1,"dsum","+",[1,[1,[6,"std.sin",[[1,[1,[7,"q","x"],"*",[5,"10"]],"+","phase"]]],"*",[6,"std.smoothstep",[[5,"0.25"],[5,"0"],[6,"std.dot",["q","q"]]]]],"/","s"]]],[2,"pp","=",[6,[7,[6,"d.vec2f",[[1,[1,[7,"pp","x"],"*",[5,"0.54"]],"-",[1,[7,"pp","y"],"*",[5,"0.84"]]],[1,[1,[7,"pp","x"],"*",[5,"0.84"]],"+",[1,[7,"pp","y"],"*",[5,"0.54"]]]]],"add"],[[6,"d.f32",["idx"]]]]],[2,"m","=",[1,"m","+",[1,[5,"1"],"/","s"]]],[2,"s","=",[1,"s","*","scale"]]]]],[10,[1,"dsum","/","m"]]]]},externals:{"d.f32":()=>a,"d.vec2f":()=>l,"std.fract":()=>ue,"std.floor":()=>q,"std.dot":()=>se,"std.cos":()=>H,"std.sin":()=>Y,"std.smoothstep":()=>re}})&&e.f)({})),y8=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=a(0);for(let r=0;r<9;r++){let o=a(r),n=q(__tsover_div(o,3)),i=__tsover_sub(o,__tsover_mul(n,3));s=__tsover_add(s,Ot(t.add(l(__tsover_sub(i,1),__tsover_sub(n,1)))))}return __tsover_add(__tsover_mul(.9,__tsover_sub(__tsover_mul(1.125,Ot(t)),__tsover_div(s,8))),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"v",[6,"d.f32",[[5,"0"]]]],[14,[12,"k",[5,"0"]],[1,"k","<",[5,"9"]],[102,"++","k"],[0,[[13,"fk",[6,"d.f32",["k"]]],[13,"row",[6,"std.floor",[[1,"fk","/",[5,"3"]]]]],[13,"col",[1,"fk","-",[1,"row","*",[5,"3"]]]],[2,"v","=",[1,"v","+",[6,"hash12",[[6,[7,"p","add"],[[6,"d.vec2f",[[1,"col","-",[5,"1"]],[1,"row","-",[5,"1"]]]]]]]]]]]]],[10,[1,[1,[5,"0.9"],"*",[1,[1,[5,"1.125"],"*",[6,"hash12",["p"]]],"-",[1,"v","/",[5,"8"]]]],"+",[5,"0.5"]]]]]},externals:{"d.f32":()=>a,"std.floor":()=>q,hash12:()=>Ot,"d.vec2f":()=>l}})&&e.f)({})),Pg=v.fn([El],Z)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(0),r=t.x,o=t.y;for(let n=256;n>0;n=n>>1){let i=Z(n),d=C(Z(0),Z(1),(r&i)>0),c=C(Z(0),Z(1),(o&i)>0),_=d<<1|d^c;s=__tsover_add(s,__tsover_mul(__tsover_mul(i,i),_));let u=__tsover_sub(Z(1),c),m=__tsover_mul(r^o,u)^__tsover_mul(Z(__tsover_sub(n,1)),d&u);r=r^m,o=o^m}return s}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"i",[6,"d.i32",[[5,"0"]]]],[12,"px",[7,"p","x"]],[12,"py",[7,"p","y"]],[14,[12,"s",[5,"256"]],[1,"s",">",[5,"0"]],[2,"s","=",[1,"s",">>",[5,"1"]]],[0,[[13,"S",[6,"d.i32",["s"]]],[13,"rx",[6,"std.select",[[6,"d.i32",[[5,"0"]]],[6,"d.i32",[[5,"1"]]],[1,[1,"px","&","S"],">",[5,"0"]]]]],[13,"ry",[6,"std.select",[[6,"d.i32",[[5,"0"]]],[6,"d.i32",[[5,"1"]]],[1,[1,"py","&","S"],">",[5,"0"]]]]],[13,"dq",[1,[1,"rx","<<",[5,"1"]],"|",[1,"rx","^","ry"]]],[2,"i","=",[1,"i","+",[1,[1,"S","*","S"],"*","dq"]]],[13,"oneMinusRy",[1,[6,"d.i32",[[5,"1"]]],"-","ry"]],[13,"rhs",[1,[1,[1,"px","^","py"],"*","oneMinusRy"],"^",[1,[6,"d.i32",[[1,"s","-",[5,"1"]]]],"*",[1,"rx","&","oneMinusRy"]]]],[2,"px","=",[1,"px","^","rhs"]],[2,"py","=",[1,"py","^","rhs"]]]]],[10,"i"]]]},externals:{"d.i32":()=>Z,"std.select":()=>C}})&&e.f)({}));v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Pg(El(Z(t.x),Z(t.y)))&Z(262143);return ue(__tsover_mul(.6180339887498949,a(s)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"idx",[1,[6,"hilbertEncode512",[[6,"d.vec2i",[[6,"d.i32",[[7,"p","x"]]],[6,"d.i32",[[7,"p","y"]]]]]]],"&",[6,"d.i32",[[5,"262143"]]]]],[10,[6,"std.fract",[[1,[5,"0.6180339887498949"],"*",[6,"d.f32",["idx"]]]]]]]]},externals:{hilbertEncode512:()=>Pg,"d.vec2i":()=>El,"d.i32":()=>Z,"std.fract":()=>ue,"d.f32":()=>a}})&&e.f)({}));var Eg=v.fn([l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=q(t),i=t.sub(n),d=q(__tsover_mul(Y(__tsover_mul(n.x,51024)),3104)),c=q(__tsover_mul(Y(__tsover_mul(n.y,1324)),554)),_=__tsover_add(d,c),u=i.mul(2).sub(1);u=u.mul(H(_)).add(l(-u.y,u.x).mul(Y(_))),u=u.add(Y(__tsover_sub(d,c))),u=u.mul(.5).add(.5);let m=__tsover_mul(__tsover_add(Y(__tsover_add(d,__tsover_mul(u.y,Math.PI))),Y(__tsover_add(c,__tsover_mul(u.y,Math.PI)))),.2),p=z(__tsover_add(__tsover_sub(u.x,.5),m));p=__tsover_sub(.5,__tsover_mul(p,__tsover_div(s,o))),p=__tsover_mul(re(-2,__tsover_add(__tsover_mul(Zt(p),1.5),16),p),12);let y=__tsover_add(__tsover_mul(Y(__tsover_add(r,__tsover_mul(Ot(n),6.2831853))),.5),.5);return __tsover_mul(__tsover_mul(p,u.y),y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"f"},{type:"i",name:"time"},{type:"i",name:"thickness"}],body:[0,[[13,"seed0",[6,"std.floor",["uv"]]],[13,"lo",[6,[7,"uv","sub"],["seed0"]]],[13,"sx",[6,"std.floor",[[1,[6,"std.sin",[[1,[7,"seed0","x"],"*",[5,"51024"]]]],"*",[5,"3104"]]]]],[13,"sy",[6,"std.floor",[[1,[6,"std.sin",[[1,[7,"seed0","y"],"*",[5,"1324"]]]],"*",[5,"554"]]]]],[13,"ss",[1,"sx","+","sy"]],[12,"u2",[6,[7,[6,[7,"lo","mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[2,"u2","=",[6,[7,[6,[7,"u2","mul"],[[6,"std.cos",["ss"]]]],"add"],[[6,[7,[6,"d.vec2f",[[4,"-",[7,"u2","y"]],[7,"u2","x"]]],"mul"],[[6,"std.sin",["ss"]]]]]]],[2,"u2","=",[6,[7,"u2","add"],[[6,"std.sin",[[1,"sx","-","sy"]]]]]],[2,"u2","=",[6,[7,[6,[7,"u2","mul"],[[5,"0.5"]]],"add"],[[5,"0.5"]]]],[13,"WAVYNESS",[5,"0.2"]],[13,"sVal",[1,[1,[6,"std.sin",[[1,"sx","+",[1,[7,"u2","y"],"*","Math.PI"]]]],"+",[6,"std.sin",[[1,"sy","+",[1,[7,"u2","y"],"*","Math.PI"]]]]],"*","WAVYNESS"]],[12,"x",[6,"std.abs",[[1,[1,[7,"u2","x"],"-",[5,"0.5"]],"+","sVal"]]]],[2,"x","=",[1,[5,"0.5"],"-",[1,"x","*",[1,"f","/","thickness"]]]],[2,"x","=",[1,[6,"std.smoothstep",[[4,"-",[5,"2"]],[1,[1,[6,"std.fwidth",["x"]],"*",[5,"1.5"]],"+",[5,"16"]],"x"]],"*",[5,"12"]]],[13,"pulse",[1,[1,[6,"std.sin",[[1,"time","+",[1,[6,"hash12",["seed0"]],"*",[5,"6.2831853"]]]]],"*",[5,"0.5"]],"+",[5,"0.5"]]],[10,[1,[1,"x","*",[7,"u2","y"]],"*","pulse"]]]]},externals:{"std.floor":()=>q,"std.sin":()=>Y,"std.cos":()=>H,"d.vec2f":()=>l,"Math.PI":()=>Math.PI,"std.abs":()=>z,"std.smoothstep":()=>re,"std.fwidth":()=>Zt,hash12:()=>Ot}})&&e.f)({})),h8=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=a(0),n=l(t.x,t.y),i=__tsover_div(1,j(Zt(t)));for(let d=0;d<8;d++)o=b(o,Eg(n,i,s,r)),n=l(__tsover_add(n.x,__tsover_mul(n.y,.7)),__tsover_add(__tsover_mul(n.x,-.7),n.y)).sub(12.31);return o}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"time"},{type:"i",name:"thickness"}],body:[0,[[12,"scratches",[6,"d.f32",[[5,"0"]]]],[12,"p",[6,"d.vec2f",[[7,"uv","x"],[7,"uv","y"]]]],[13,"f",[1,[5,"1"],"/",[6,"std.length",[[6,"std.fwidth",["uv"]]]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"8"]],[102,"++","i"],[0,[[2,"scratches","=",[6,"std.max",["scratches",[6,"scratchOne",["p","f","time","thickness"]]]]],[2,"p","=",[6,[7,[6,"d.vec2f",[[1,[7,"p","x"],"+",[1,[7,"p","y"],"*",[5,"0.7"]]],[1,[1,[7,"p","x"],"*",[4,"-",[5,"0.7"]]],"+",[7,"p","y"]]]],"sub"],[[5,"12.31"]]]]]]],[10,"scratches"]]]},externals:{"d.f32":()=>a,"d.vec2f":()=>l,"std.length":()=>j,"std.fwidth":()=>Zt,"std.max":()=>b,scratchOne:()=>Eg}})&&e.f)({})),kg=v.fn([l,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=a(0),o=a(0),n=a(1),i=l(t.x,t.y);for(let d=0;da,"d.vec2f":()=>l,perlin12:()=>za}})&&e.f)({})),$g=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=f(0,0,0),r=a(1),o=l(t.x,t.y);for(let n=0;n<6;n++)s=s.add(la(o).mul(r)),r=__tsover_mul(r,.5),o=o.mul(2);return s}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"s",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]]],[12,"a",[6,"d.f32",[[5,"1"]]]],[12,"pp",[6,"d.vec2f",[[7,"p","x"],[7,"p","y"]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"6"]],[102,"++","i"],[0,[[2,"s","=",[6,[7,"s","add"],[[6,[7,[6,"perlin12d",["pp"]],"mul"],["a"]]]]],[2,"a","=",[1,"a","*",[5,"0.5"]]],[2,"pp","=",[6,[7,"pp","mul"],[[5,"2"]]]]]]],[10,"s"]]]},externals:{"d.vec3f":()=>f,"d.f32":()=>a,"d.vec2f":()=>l,perlin12d:()=>la}})&&e.f)({})),x8=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=$g(t);return kg(t.add(l(s.y,s.z).mul(.4)),Z(6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"fs",[6,"fbmStone",["p"]]],[10,[6,"fbmPerlin",[[6,[7,"p","add"],[[6,[7,[6,"d.vec2f",[[7,"fs","y"],[7,"fs","z"]]],"mul"],[[5,"0.4"]]]]],[6,"d.i32",[[5,"6"]]]]]]]]},externals:{fbmStone:()=>$g,fbmPerlin:()=>kg,"d.vec2f":()=>l,"d.i32":()=>Z}})&&e.f)({})),Ug=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=l(0,0),r=a(0),o=a(1),n=l(t.x,t.y);for(let i=0;i<6;i++)s=s.add(Ki(n).mul(o)),r=__tsover_add(r,o),o=__tsover_mul(o,.5),n=n.mul(2);return s.div(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"s",[6,"d.vec2f",[[5,"0"],[5,"0"]]]],[12,"m",[6,"d.f32",[[5,"0"]]]],[12,"a",[6,"d.f32",[[5,"1"]]]],[12,"pp",[6,"d.vec2f",[[7,"p","x"],[7,"p","y"]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"6"]],[102,"++","i"],[0,[[2,"s","=",[6,[7,"s","add"],[[6,[7,[6,"curl22",["pp"]],"mul"],["a"]]]]],[2,"m","=",[1,"m","+","a"]],[2,"a","=",[1,"a","*",[5,"0.5"]]],[2,"pp","=",[6,[7,"pp","mul"],[[5,"2"]]]]]]],[10,[6,[7,"s","div"],["m"]]]]]},externals:{"d.vec2f":()=>l,"d.f32":()=>a,curl22:()=>Ki}})&&e.f)({})),g8=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Ug(t);return b(z(s.x),z(s.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"n",[6,"fbmWool",["p"]]],[10,[6,"std.max",[[6,"std.abs",[[7,"n","x"]]],[6,"std.abs",[[7,"n","y"]]]]]]]]},externals:{fbmWool:()=>Ug,"std.max":()=>b,"std.abs":()=>z}})&&e.f)({})),Cg=v.fn([l,l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=l(-s.y,s.x).mul(Math.PI),o=q(t),n=t.sub(o),i=l(0,0),d=a(0);for(let c=-1;c<=2;c++)for(let _=-1;_<=2;_++){let u=l(a(c),a(_)),m=n.sub(u).sub(er(o.add(u))).add(.5),p=se(m,m),y=b(a(0),__tsover_sub(ct(__tsover_mul(p,-2)),.01111));d=__tsover_add(d,y);let h=se(m,r);i=i.add(l(H(h),-Y(h)).mul(y))}return f(i.x,__tsover_mul(i.y,r.x),__tsover_mul(i.y,r.y)).div(d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"slope"}],body:[0,[[13,"sideDir",[6,[7,[6,"d.vec2f",[[4,"-",[7,"slope","y"]],[7,"slope","x"]]],"mul"],["Math.PI"]]],[13,"id",[6,"std.floor",["p"]]],[13,"pp",[6,[7,"p","sub"],["id"]]],[12,"heightSlope",[6,"d.vec2f",[[5,"0"],[5,"0"]]]],[12,"wSum",[6,"d.f32",[[5,"0"]]]],[14,[12,"x",[4,"-",[5,"1"]]],[1,"x","<=",[5,"2"]],[102,"++","x"],[0,[[14,[12,"y",[4,"-",[5,"1"]]],[1,"y","<=",[5,"2"]],[102,"++","y"],[0,[[13,"off",[6,"d.vec2f",[[6,"d.f32",["x"]],[6,"d.f32",["y"]]]]],[13,"c",[6,[7,[6,[7,[6,[7,"pp","sub"],["off"]],"sub"],[[6,"hash22",[[6,[7,"id","add"],["off"]]]]]],"add"],[[5,"0.5"]]]],[13,"dist2",[6,"std.dot",["c","c"]]],[13,"w",[6,"std.max",[[6,"d.f32",[[5,"0"]]],[1,[6,"std.exp",[[1,"dist2","*",[4,"-",[5,"2"]]]]],"-",[5,"0.01111"]]]]],[2,"wSum","=",[1,"wSum","+","w"]],[13,"t",[6,"std.dot",["c","sideDir"]]],[2,"heightSlope","=",[6,[7,"heightSlope","add"],[[6,[7,[6,"d.vec2f",[[6,"std.cos",["t"]],[4,"-",[6,"std.sin",["t"]]]]],"mul"],["w"]]]]]]]]]]],[10,[6,[7,[6,"d.vec3f",[[7,"heightSlope","x"],[1,[7,"heightSlope","y"],"*",[7,"sideDir","x"]],[1,[7,"heightSlope","y"],"*",[7,"sideDir","y"]]]],"div"],["wSum"]]]]]},externals:{"d.vec2f":()=>l,"Math.PI":()=>Math.PI,"std.floor":()=>q,"d.f32":()=>a,hash22:()=>er,"std.dot":()=>se,"std.max":()=>b,"std.exp":()=>ct,"std.cos":()=>H,"std.sin":()=>Y,"d.vec3f":()=>f}})&&e.f)({})),b8=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=la(t),r=a(.25),o=a(8),n=a(1);for(let i=0;i<4;i++){let d=l(s.y,s.z),c=b(se(d,d),a(1e-4)),_=d.mul(Ce(c,a(__tsover_mul(.5,__tsover_sub(.5,1)))));s=s.add(Cg(t.mul(o),_).mul(r).mul(f(1,o,o))),n=__tsover_add(n,r),r=__tsover_mul(r,.5),o=__tsover_mul(o,2)}return s.div(n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"nd",[6,"perlin12d",["p"]]],[12,"strength",[6,"d.f32",[[5,"0.25"]]]],[12,"freq",[6,"d.f32",[[5,"8"]]]],[12,"total",[6,"d.f32",[[5,"1"]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"4"]],[102,"++","i"],[0,[[13,"grad",[6,"d.vec2f",[[7,"nd","y"],[7,"nd","z"]]]],[13,"len2",[6,"std.max",[[6,"std.dot",["grad","grad"]],[6,"d.f32",[[5,"0.0001"]]]]]],[13,"slope",[6,[7,"grad","mul"],[[6,"std.pow",["len2",[6,"d.f32",[[1,[5,"0.5"],"*",[1,[5,"0.5"],"-",[5,"1"]]]]]]]]]],[2,"nd","=",[6,[7,"nd","add"],[[6,[7,[6,[7,[6,"gullies",[[6,[7,"p","mul"],["freq"]],"slope"]],"mul"],["strength"]],"mul"],[[6,"d.vec3f",[[5,"1"],"freq","freq"]]]]]]],[2,"total","=",[1,"total","+","strength"]],[2,"strength","=",[1,"strength","*",[5,"0.5"]]],[2,"freq","=",[1,"freq","*",[5,"2"]]]]]],[10,[6,[7,"nd","div"],["total"]]]]]},externals:{perlin12d:()=>la,"d.f32":()=>a,"d.vec2f":()=>l,"std.max":()=>b,"std.dot":()=>se,"std.pow":()=>Ce,gullies:()=>Cg,"d.vec3f":()=>f}})&&e.f)({})),Rg=v.fn([l,Z],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=l(0,0),o=a(0),n=a(1),i=l(t.x,t.y);for(let d=0;dl,"d.f32":()=>a,"std.clamp":()=>$,curl22:()=>Ki}})&&e.f)({})),zg=v.fn([l,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_add(__tsover_mul(__tsover_div(j(Rg(t,s)),1.414),.6),.4)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"octaves"}],body:[0,[[10,[1,[1,[1,[6,"std.length",[[6,"fbmPaper",["p","octaves"]]]],"/",[5,"1.414"]],"*",[5,"0.6"]],"+",[5,"0.4"]]]]]},externals:{"std.length":()=>j,fbmPaper:()=>Rg}})&&e.f)({}));v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_add(__tsover_mul(t.x,.2126),__tsover_mul(t.y,.7152)),__tsover_mul(t.z,.0722))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[1,[1,[1,[7,"rgb","x"],"*",[5,"0.2126"]],"+",[1,[7,"rgb","y"],"*",[5,"0.7152"]]],"+",[1,[7,"rgb","z"],"*",[5,"0.0722"]]]]]]},externals:{}})&&e.f)({}));v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_add(__tsover_mul(t.x,.299),__tsover_mul(t.y,.587)),__tsover_mul(t.z,.114))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[1,[1,[1,[7,"rgb","x"],"*",[5,"0.299"]],"+",[1,[7,"rgb","y"],"*",[5,"0.587"]]],"+",[1,[7,"rgb","z"],"*",[5,"0.114"]]]]]]},externals:{}})&&e.f)({}));var Gg=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return se(t,f(.2126,.7152,.0722))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),Ll=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return se(t,f(.299,.587,.114))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({}));v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return $(__tsover_add(__tsover_mul(__tsover_sub(t,r),s),r),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"contrast"},{type:"i",name:"pivot"}],body:[0,[[10,[6,"std.clamp",[[1,[1,[1,"x","-","pivot"],"*","contrast"],"+","pivot"],[5,"0"],[5,"1"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({}));var w8=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_mul(t,.5),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[1,[1,"v","*",[5,"0.5"]],"+",[5,"0.5"]]]]]},externals:{}})&&e.f)({}));v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_sub(1,z(t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.abs",["v"]]]]]]},externals:{"std.abs":()=>z}})&&e.f)({}));var KC=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=$(__tsover_add(__tsover_add(__tsover_mul(__tsover_sub(t,.5),__tsover_add(s,1)),.5),r),0,1);return __tsover_sub(1,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"noise01"},{type:"i",name:"contrast"},{type:"i",name:"balance"}],body:[0,[[13,"k",[6,"std.clamp",[[1,[1,[1,[1,"noise01","-",[5,"0.5"]],"*",[1,"contrast","+",[5,"1"]]],"+",[5,"0.5"]],"+","balance"],[5,"0"],[5,"1"]]]],[10,[1,[5,"1"],"-","k"]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),ZC=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(__tsover_mul(t,__tsover_add(s,1)),r),n=$(__tsover_add(__tsover_mul(o,.5),.5),0,1);return __tsover_sub(1,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"contrast"},{type:"i",name:"balance"}],body:[0,[[13,"adjusted",[1,[1,"v","*",[1,"contrast","+",[5,"1"]]],"+","balance"]],[13,"k",[6,"std.clamp",[[1,[1,"adjusted","*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[10,[1,[5,"1"],"-","k"]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),QC=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(__tsover_mul(t,2),1),n=__tsover_add(__tsover_mul(o,s),r);return $(__tsover_add(__tsover_mul(n,.5),.5),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"contrast"},{type:"i",name:"balance"}],body:[0,[[13,"signed",[1,[1,"v","*",[5,"2"]],"-",[5,"1"]]],[13,"adjusted",[1,[1,"signed","*","contrast"],"+","balance"]],[10,[6,"std.clamp",[[1,[1,"adjusted","*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),JC=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Ce(t,__tsover_div(5,s)),i=$(__tsover_add(__tsover_mul(__tsover_sub(n,.5),r),.5),0,1),d=__tsover_sub(__tsover_div(o,100),.5),c=$(__tsover_add(i,d),0,1);return __tsover_sub(1,c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"glow"},{type:"i",name:"contrast"},{type:"i",name:"balance"}],body:[0,[[13,"spread",[6,"std.pow",["v",[1,[5,"5"],"/","glow"]]]],[13,"contrasted",[6,"std.clamp",[[1,[1,[1,"spread","-",[5,"0.5"]],"*","contrast"],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[13,"balanceShift",[1,[1,"balance","/",[5,"100"]],"-",[5,"0.5"]]],[13,"balanced",[6,"std.clamp",[[1,"contrasted","+","balanceShift"],[5,"0"],[5,"1"]]]],[10,[1,[5,"1"],"-","balanced"]]]]},externals:{"std.pow":()=>Ce,"std.clamp":()=>$}})&&e.f)({}));function t7(e){let{domain:t,contrastMode:s,invert:r,glowGamma:o=!1,balance:n="plain"}=e;if(o){if(t==="unit"&&s==="multiplicative"&&r&&n==="percentCentred")return JC}else if(n==="plain"){if(t==="unit"&&s==="additive"&&r)return KC;if(t==="signed"&&s==="additive"&&r)return ZC;if(t==="unit"&&s==="multiplicative"&&!r)return QC}throw new Error(`toneRemap: no variant for {domain: '${t}', contrastMode: '${s}', invert: ${r}, glowGamma: ${o}, balance: '${n}'} \u2014 add its body to kit/tone.ts rather than approximating.`)}var eR=v.fn([x,l,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Ot(s.mul(r).add(l(o,__tsover_mul(o,1.618))));return x($(t.xyz.add(__tsover_mul(__tsover_sub(n,.5),.004)),f(0),f(1)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"animTime"}],body:[0,[[13,"n",[6,"hash12",[[6,[7,[6,[7,"uv","mul"],["viewport"]],"add"],[[6,"d.vec2f",["animTime",[1,"animTime","*",[5,"1.618"]]]]]]]]],[13,"rgb",[6,"std.clamp",[[6,[7,[7,"base","xyz"],"add"],[[1,[1,"n","-",[5,"0.5"]],"*",[5,"0.004"]]]],[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]],[10,[6,"d.vec4f",["rgb",[7,"base","w"]]]]]]},externals:{hash12:()=>Ot,"d.vec2f":()=>l,"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),bt=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_div(t.x,b(t.y,1e-6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"viewport"}],body:[0,[[10,[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]]]]},externals:{"std.max":()=>b}})&&e.f)({})),Zi=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(t,__tsover_mul(s,q(__tsover_div(t,s))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"m"}],body:[0,[[10,[1,"x","-",[1,"m","*",[6,"std.floor",[[1,"x","/","m"]]]]]]]]},externals:{"std.floor":()=>q}})&&e.f)({})),ym=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_sub(t.x,__tsover_mul(s.x,q(__tsover_div(t.x,s.x)))),__tsover_sub(t.y,__tsover_mul(s.y,q(__tsover_div(t.y,s.y)))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"m"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"p","x"],"-",[1,[7,"m","x"],"*",[6,"std.floor",[[1,[7,"p","x"],"/",[7,"m","x"]]]]]],[1,[7,"p","y"],"-",[1,[7,"m","y"],"*",[6,"std.floor",[[1,[7,"p","y"],"/",[7,"m","y"]]]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.floor":()=>q}})&&e.f)({}));v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=C(b(s,1e-5),oe(s,-1e-5),s<0);return __tsover_div(t,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"n"},{type:"i",name:"den"}],body:[0,[[13,"guarded",[6,"std.select",[[6,"std.max",["den",[5,"0.00001"]]],[6,"std.min",["den",[4,"-",[5,"0.00001"]]]],[1,"den","<",[5,"0"]]]]],[10,[1,"n","/","guarded"]]]]},externals:{"std.select":()=>C,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({}));var Eo=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_sub(__tsover_mul(t.x,s),__tsover_mul(t.y,r)),__tsover_add(__tsover_mul(t.x,r),__tsover_mul(t.y,s)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"cosA"},{type:"i",name:"sinA"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[7,"p","x"],"*","cosA"],"-",[1,[7,"p","y"],"*","sinA"]],[1,[1,[7,"p","x"],"*","sinA"],"+",[1,[7,"p","y"],"*","cosA"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Yg=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(s.x,b(s.y,1e-6));return l(__tsover_mul(t.x,r),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),Il=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(s.x,b(s.y,1e-6));return l(__tsover_mul(t.x,r),__tsover_sub(1,t.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[1,[5,"1"],"-",[7,"uv","y"]]]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),hm=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return l(t.x,__tsover_sub(1,t.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"d.vec2f",[[7,"p","x"],[1,[5,"1"],"-",[7,"p","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),bn=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_mul(t.x,s),__tsover_sub(1,t.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"aspect"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"pos","x"],"*","aspect"],[1,[5,"1"],"-",[7,"pos","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),ua=v.fn([l,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(r.x,b(r.y,1e-6));return l(__tsover_sub(__tsover_mul(t.x,o),__tsover_mul(s.x,o)),__tsover_sub(t.y,__tsover_sub(1,s.y)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"center"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[10,[6,"d.vec2f",[[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,[7,"center","x"],"*","aspect"]],[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),ma=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_sub(__tsover_mul(t.x,s),__tsover_mul(s,.5)),__tsover_sub(t.y,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,"aspect","*",[5,"0.5"]]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Qi=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,.5),i=.5,d=__tsover_sub(t.x,n),c=__tsover_sub(t.y,i);return l(__tsover_add(__tsover_sub(__tsover_mul(d,r),__tsover_mul(c,o)),n),__tsover_add(__tsover_add(__tsover_mul(d,o),__tsover_mul(c,r)),i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"aspect"},{type:"i",name:"cosA"},{type:"i",name:"sinA"}],body:[0,[[13,"centerX",[1,"aspect","*",[5,"0.5"]]],[13,"centerY",[5,"0.5"]],[13,"cx",[1,[7,"p","x"],"-","centerX"]],[13,"cy",[1,[7,"p","y"],"-","centerY"]],[10,[6,"d.vec2f",[[1,[1,[1,"cx","*","cosA"],"-",[1,"cy","*","sinA"]],"+","centerX"],[1,[1,[1,"cx","*","sinA"],"+",[1,"cy","*","cosA"]],"+","centerY"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Dl=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_add(__tsover_mul(t.x,s),__tsover_mul(t.y,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"cosA"},{type:"i",name:"sinA"}],body:[0,[[10,[1,[1,[7,"p","x"],"*","cosA"],"+",[1,[7,"p","y"],"*","sinA"]]]]]},externals:{}})&&e.f)({}));v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return l(j(t),tt(t.y,t.x))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"d.vec2f",[[6,"std.length",["p"]],[6,"std.atan2",[[7,"p","y"],[7,"p","x"]]]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.atan2":()=>tt}})&&e.f)({}));v.fn([a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_mul(t,H(s)),__tsover_mul(t,Y(s)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"r"},{type:"i",name:"theta"}],body:[0,[[10,[6,"d.vec2f",[[1,"r","*",[6,"std.cos",["theta"]]],[1,"r","*",[6,"std.sin",["theta"]]]]]]]]},externals:{"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({}));var Lg=2/Math.sqrt(3),xm=ut({cell:l,local:l}).$name("CellTile"),Ji=v.fn([l],xm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return xm({cell:q(t),local:ue(t)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"CellTile",[[104,{cell:[6,"std.floor",["p"]],local:[6,"std.fract",["p"]]}]]]]]]},externals:{CellTile:()=>xm,"std.floor":()=>q,"std.fract":()=>ue}})&&e.f)({})),gm=ut({gv:l,id:l}).$name("HexCell"),Fl=v.fn([l,l],gm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=s.mul(.5),o=ym(t,s).sub(r),n=ym(t.sub(r),s).sub(r),i=C(n,o,se(o,o)ym,"std.select":()=>C,"std.dot":()=>se,HexCell:()=>gm}})&&e.f)({})),Ig=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return l(__tsover_sub(t.x,__tsover_div(t.y,_a)),__tsover_mul(t.y,Lg))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"p","x"],"-",[1,[7,"p","y"],"/","SQRT3"]],[1,[7,"p","y"],"*","TWO_OVER_SQRT3"]]]]]]},externals:{"d.vec2f":()=>l,SQRT3:()=>_a,TWO_OVER_SQRT3:()=>Lg}})&&e.f)({})),T8=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(s.x,b(s.y,1e-6)),n=__tsover_mul(t.x,o),i=__tsover_sub(1,t.y),d=__tsover_div(__tsover_add(q(__tsover_mul(n,r)),.5),r),c=__tsover_div(__tsover_add(q(__tsover_mul(i,r)),.5),r);return l(__tsover_div(d,o),__tsover_sub(1,c))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[13,"correctedX",[1,[7,"uv","x"],"*","aspect"]],[13,"correctedY",[1,[5,"1"],"-",[7,"uv","y"]]],[13,"cellCenterCorrectedX",[1,[1,[6,"std.floor",[[1,"correctedX","*","cells"]]],"+",[5,"0.5"]],"/","cells"]],[13,"cellCenterCorrectedY",[1,[1,[6,"std.floor",[[1,"correctedY","*","cells"]]],"+",[5,"0.5"]],"/","cells"]],[10,[6,"d.vec2f",[[1,"cellCenterCorrectedX","/","aspect"],[1,[5,"1"],"-","cellCenterCorrectedY"]]]]]]},externals:{"std.max":()=>b,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),Dg=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_div(s.x,b(s.y,1e-6)),i=__tsover_mul(t.x,n),d=__tsover_sub(1,t.y),c=H(o),_=Y(o),u=__tsover_mul(n,.5),m=.5,p=__tsover_sub(i,u),y=__tsover_sub(d,m),h=__tsover_add(__tsover_sub(__tsover_mul(p,c),__tsover_mul(y,_)),u),g=__tsover_add(__tsover_add(__tsover_mul(p,_),__tsover_mul(y,c)),m),w=__tsover_div(__tsover_add(q(__tsover_mul(h,r)),.5),r),S=__tsover_div(__tsover_add(q(__tsover_mul(g,r)),.5),r),T=__tsover_sub(w,u),A=__tsover_sub(S,m),P=__tsover_add(__tsover_add(__tsover_mul(T,c),__tsover_mul(A,_)),u),U=__tsover_add(__tsover_add(__tsover_mul(T,-_),__tsover_mul(A,c)),m);return l(__tsover_div(P,n),__tsover_sub(1,U))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotationRad"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[13,"correctedX",[1,[7,"uv","x"],"*","aspect"]],[13,"correctedY",[1,[5,"1"],"-",[7,"uv","y"]]],[13,"cosR",[6,"std.cos",["rotationRad"]]],[13,"sinR",[6,"std.sin",["rotationRad"]]],[13,"centerX",[1,"aspect","*",[5,"0.5"]]],[13,"centerY",[5,"0.5"]],[13,"cx",[1,"correctedX","-","centerX"]],[13,"cy",[1,"correctedY","-","centerY"]],[13,"rotX",[1,[1,[1,"cx","*","cosR"],"-",[1,"cy","*","sinR"]],"+","centerX"]],[13,"rotY",[1,[1,[1,"cx","*","sinR"],"+",[1,"cy","*","cosR"]],"+","centerY"]],[13,"cellRX",[1,[1,[6,"std.floor",[[1,"rotX","*","cells"]]],"+",[5,"0.5"]],"/","cells"]],[13,"cellRY",[1,[1,[6,"std.floor",[[1,"rotY","*","cells"]]],"+",[5,"0.5"]],"/","cells"]],[13,"ccx",[1,"cellRX","-","centerX"]],[13,"ccy",[1,"cellRY","-","centerY"]],[13,"unrotX",[1,[1,[1,"ccx","*","cosR"],"+",[1,"ccy","*","sinR"]],"+","centerX"]],[13,"unrotY",[1,[1,[1,"ccx","*",[4,"-","sinR"]],"+",[1,"ccy","*","cosR"]],"+","centerY"]],[10,[6,"d.vec2f",[[1,"unrotX","/","aspect"],[1,[5,"1"],"-","unrotY"]]]]]]},externals:{"std.max":()=>b,"std.cos":()=>H,"std.sin":()=>Y,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),Bl=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ue(t.mul(l(123.34,345.45))),r=s.add(se(s,s.add(34.345)));return ue(__tsover_mul(r.x,r.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"id"}],body:[0,[[13,"q0",[6,"std.fract",[[6,[7,"id","mul"],[[6,"d.vec2f",[[5,"123.34"],[5,"345.45"]]]]]]]],[13,"q1",[6,[7,"q0","add"],[[6,"std.dot",["q0",[6,[7,"q0","add"],[[5,"34.345"]]]]]]]],[10,[6,"std.fract",[[1,[7,"q1","x"],"*",[7,"q1","y"]]]]]]]},externals:{"std.fract":()=>ue,"d.vec2f":()=>l,"std.dot":()=>se}})&&e.f)({})),Wl=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(__tsover_mul(Y(__tsover_mul(t,127.1)),43758.5453))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"row"}],body:[0,[[10,[6,"std.fract",[[1,[6,"std.sin",[[1,"row","*",[5,"127.1"]]]],"*",[5,"43758.5453"]]]]]]]},externals:{"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),Ol=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_add(1,__tsover_mul(__tsover_mul(__tsover_sub(t,.5),4),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rowHash"},{type:"i",name:"variance"}],body:[0,[[10,[1,[5,"1"],"+",[1,[1,[1,"rowHash","-",[5,"0.5"]],"*",[5,"4"]],"*","variance"]]]]]},externals:{}})&&e.f)({})),Fg=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return b(__tsover_add(1,__tsover_mul(__tsover_mul(__tsover_sub(t,.5),2),s)),0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rand"},{type:"i",name:"variation"}],body:[0,[[10,[6,"std.max",[[1,[5,"1"],"+",[1,[1,[1,"rand","-",[5,"0.5"]],"*",[5,"2"]],"*","variation"]],[5,"0"]]]]]]},externals:{"std.max":()=>b}})&&e.f)({})),Vl=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(z(Ni(t)),z(qi(t)));return b(__tsover_add(r,s),1e-5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"softness"}],body:[0,[[13,"baseW",[6,"std.max",[[6,"std.abs",[[6,"std.dpdx",["x"]]]],[6,"std.abs",[[6,"std.dpdy",["x"]]]]]]],[10,[6,"std.max",[[1,"baseW","+","softness"],[5,"0.00001"]]]]]]},externals:{"std.max":()=>b,"std.abs":()=>z,"std.dpdx":()=>Ni,"std.dpdy":()=>qi}})&&e.f)({})),Bg=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ni(t),o=qi(t),n=l(b(z(r.x),z(o.x)),b(z(r.y),z(o.y)));return l(b(__tsover_add(n.x,s),1e-5),b(__tsover_add(n.y,s),1e-5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"softness"}],body:[0,[[13,"dpx",[6,"std.dpdx",["p"]]],[13,"dpy",[6,"std.dpdy",["p"]]],[13,"baseW",[6,"d.vec2f",[[6,"std.max",[[6,"std.abs",[[7,"dpx","x"]]],[6,"std.abs",[[7,"dpy","x"]]]]],[6,"std.max",[[6,"std.abs",[[7,"dpx","y"]]],[6,"std.abs",[[7,"dpy","y"]]]]]]]],[10,[6,"d.vec2f",[[6,"std.max",[[1,[7,"baseW","x"],"+","softness"],[5,"0.00001"]]],[6,"std.max",[[1,[7,"baseW","y"],"+","softness"],[5,"0.00001"]]]]]]]]},externals:{"std.dpdx":()=>Ni,"std.dpdy":()=>qi,"d.vec2f":()=>l,"std.max":()=>b,"std.abs":()=>z}})&&e.f)({})),Wg=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(t,__tsover_mul(s,.5)),n=__tsover_sub(t,__tsover_mul(s,.5)),i=__tsover_sub(1,r),d=__tsover_add(__tsover_mul(q(o),i),b(__tsover_sub(ue(o),r),0)),c=__tsover_add(__tsover_mul(q(n),i),b(__tsover_sub(ue(n),r),0));return $(__tsover_div(__tsover_sub(d,c),s),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"w"},{type:"i",name:"threshold"}],body:[0,[[13,"a",[1,"p","+",[1,"w","*",[5,"0.5"]]]],[13,"b",[1,"p","-",[1,"w","*",[5,"0.5"]]]],[13,"oneMinusThreshold",[1,[5,"1"],"-","threshold"]],[13,"Fa",[1,[1,[6,"std.floor",["a"]],"*","oneMinusThreshold"],"+",[6,"std.max",[[1,[6,"std.fract",["a"]],"-","threshold"],[5,"0"]]]]],[13,"Fb",[1,[1,[6,"std.floor",["b"]],"*","oneMinusThreshold"],"+",[6,"std.max",[[1,[6,"std.fract",["b"]],"-","threshold"],[5,"0"]]]]],[10,[6,"std.clamp",[[1,[1,"Fa","-","Fb"],"/","w"],[5,"0"],[5,"1"]]]]]]},externals:{"std.floor":()=>q,"std.max":()=>b,"std.fract":()=>ue,"std.clamp":()=>$}})&&e.f)({})),bm=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(t,__tsover_mul(s,.5)),n=__tsover_sub(t,__tsover_mul(s,.5));return __tsover_div(__tsover_sub(__tsover_sub(__tsover_add(q(o),oe(__tsover_mul(ue(o),r),1)),q(n)),oe(__tsover_mul(ue(n),r),1)),__tsover_mul(r,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"w"},{type:"i",name:"N"}],body:[0,[[13,"a",[1,"p","+",[1,"w","*",[5,"0.5"]]]],[13,"b",[1,"p","-",[1,"w","*",[5,"0.5"]]]],[10,[1,[1,[1,[1,[6,"std.floor",["a"]],"+",[6,"std.min",[[1,[6,"std.fract",["a"]],"*","N"],[5,"1"]]]],"-",[6,"std.floor",["b"]]],"-",[6,"std.min",[[1,[6,"std.fract",["b"]],"*","N"],[5,"1"]]]],"/",[1,"N","*","w"]]]]]},externals:{"std.floor":()=>q,"std.min":()=>oe,"std.fract":()=>ue}})&&e.f)({})),Og=v.fn([l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=l(__tsover_mul(s.x,.5),__tsover_mul(s.y,.5)),o=z(__tsover_sub(ue(__tsover_mul(__tsover_sub(t.x,r.x),.5)),.5)),n=z(__tsover_sub(ue(__tsover_mul(__tsover_sub(t.y,r.y),.5)),.5)),i=z(__tsover_sub(ue(__tsover_mul(__tsover_add(t.x,r.x),.5)),.5)),d=z(__tsover_sub(ue(__tsover_mul(__tsover_add(t.y,r.y),.5)),.5)),c=__tsover_div(__tsover_mul(__tsover_sub(o,i),2),s.x),_=__tsover_div(__tsover_mul(__tsover_sub(n,d),2),s.y);return $(__tsover_sub(.5,__tsover_mul(__tsover_mul(c,_),.5)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"w"}],body:[0,[[13,"aHalf",[6,"d.vec2f",[[1,[7,"w","x"],"*",[5,"0.5"]],[1,[7,"w","y"],"*",[5,"0.5"]]]]],[13,"minusSideX",[6,"std.abs",[[1,[6,"std.fract",[[1,[1,[7,"p","x"],"-",[7,"aHalf","x"]],"*",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"minusSideY",[6,"std.abs",[[1,[6,"std.fract",[[1,[1,[7,"p","y"],"-",[7,"aHalf","y"]],"*",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"plusSideX",[6,"std.abs",[[1,[6,"std.fract",[[1,[1,[7,"p","x"],"+",[7,"aHalf","x"]],"*",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"plusSideY",[6,"std.abs",[[1,[6,"std.fract",[[1,[1,[7,"p","y"],"+",[7,"aHalf","y"]],"*",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"iX",[1,[1,[1,"minusSideX","-","plusSideX"],"*",[5,"2"]],"/",[7,"w","x"]]],[13,"iY",[1,[1,[1,"minusSideY","-","plusSideY"],"*",[5,"2"]],"/",[7,"w","y"]]],[10,[6,"std.clamp",[[1,[5,"0.5"],"-",[1,[1,"iX","*","iY"],"*",[5,"0.5"]]],[5,"0"],[5,"1"]]]]]]},externals:{"d.vec2f":()=>l,"std.abs":()=>z,"std.fract":()=>ue,"std.clamp":()=>$}})&&e.f)({})),Nl=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return __tsover_mul(__tsover_sub(1,re(r,o,t)),De(1e-4,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"field"},{type:"i",name:"lineWidth"},{type:"i",name:"lo"},{type:"i",name:"hi"}],body:[0,[[10,[1,[1,[5,"1"],"-",[6,"std.smoothstep",["lo","hi","field"]]],"*",[6,"std.step",[[5,"0.0001"],"lineWidth"]]]]]]},externals:{"std.smoothstep":()=>re,"std.step":()=>De}})&&e.f)({})),Ri=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_mul(re(s,r,t),re(s,r,__tsover_sub(1,t)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"lo"},{type:"i",name:"hi"}],body:[0,[[10,[1,[6,"std.smoothstep",["lo","hi","x"]],"*",[6,"std.smoothstep",["lo","hi",[1,[5,"1"],"-","x"]]]]]]]},externals:{"std.smoothstep":()=>re}})&&e.f)({})),Vg=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_sub(1,re(__tsover_sub(s,__tsover_mul(r,.5)),s,t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"radius"},{type:"i",name:"footprint"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"radius","-",[1,"footprint","*",[5,"0.5"]]],"radius","dist"]]]]]]},externals:{"std.smoothstep":()=>re}})&&e.f)({})),S8=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=bt(s);return l(__tsover_mul(t.x,n),t.y).mul(ct(r)).add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"scale"},{type:"i",name:"seed"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[10,[6,[7,[6,[7,"aspectUV","mul"],[[6,"std.exp",["scale"]]]],"add"],["seed"]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l,"std.exp":()=>ct}})&&e.f)({})),A8=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return q(t.mul(s).div(r)).add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"grain"},{type:"i",name:"seed"}],body:[0,[[10,[6,[7,[6,"std.floor",[[6,[7,[6,[7,"uv","mul"],["viewport"]],"div"],["grain"]]]],"add"],["seed"]]]]]},externals:{"std.floor":()=>q}})&&e.f)({})),M8=v.fn([l,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return f(t.x,t.y,__tsover_mul(s,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"t"},{type:"i",name:"rate"}],body:[0,[[10,[6,"d.vec3f",[[7,"pos","x"],[7,"pos","y"],[1,"t","*","rate"]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),Ng=new WeakMap,tR=0;function Dv(e){let t=e,s=Ng.get(t);if(s!==void 0)return s;let r=tR++;return Ng.set(t,r),r}function s7(e,t){let{maxOctaves:s,drift:r,stride:o=[17,31],name:n="fbmGated"}=t,i=`${Dv(e)}|${n}|${s}|${r}|${o[0]},${o[1]}`,d=qg.get(i);if(d)return d;let c=s,_=o[0],u=o[1],m=`${r==="goldenAngle"?"Golden":"TimeSeed"}${c}`,p;if(r==="goldenAngle"){let y=e;p=v.fn([l,a,a,a,a,l,a],l)((h=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(h.f=((g,w,S,T,A,P,U)=>{"use gpu";let D=Z(U),O=w,L=a(1),G=a(0),W=a(0);for(let K=0;KZ,"d.f32":()=>a,N:()=>c,"std.cos":()=>H,GOLDEN:()=>2.3999632297286535,"std.sin":()=>Y,"d.vec2f":()=>l,"std.select":()=>C,octaveField:()=>y}})&&h.f)({})).$name(`${n}${m}`)}else{let y=e;p=v.fn([l,a,a,a,a,a,f,a],l)((h=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(h.f=((g,w,S,T,A,P,U,D)=>{"use gpu";let O=w,L=a(1),G=a(0),W=a(0);for(let K=0;Ka,N:()=>c,"std.select":()=>C,"d.vec2f":()=>l,TIME_STRIDE:()=>_,SEED_STRIDE:()=>u,octaveField:()=>y}})&&h.f)({})).$name(`${n}${m}`)}return qg.set(i,p),p}var qg=new Map,r7={q:[[.3,-.2,0],[5.2,1.3,.25]],r:[[1.7,9.2,.15],[8.3,2.8,.13]]};function sR(e,t={}){let{offsets:s=r7,name:r="domainWarp2"}=t,o=`${Dv(e)}|${r}|${JSON.stringify(s)}`,n=ql.get(o);if(n)return n;let i=e,[d,c,_]=s.q[0],[u,m,p]=s.q[1],[y,h,g]=s.r[0],[w,S,T]=s.r[1],A=v.fn([f,a,a],f)((P=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(P.f=((U,D,O)=>{"use gpu";let L=i(U.add(f(__tsover_mul(D,d),__tsover_mul(D,c),_))),G=i(U.add(f(u,m,__tsover_mul(D,p)))),W=U.add(f(L,G,0).mul(O)),K=i(W.add(f(y,h,__tsover_mul(D,g)))),Q=i(W.add(f(w,S,__tsover_mul(D,T))));return U.add(f(K,Q,0).mul(O))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"t"},{type:"i",name:"warpAmount"}],body:[0,[[13,"qx",[6,"warpField",[[6,[7,"pos","add"],[[6,"d.vec3f",[[1,"t","*","QX"],[1,"t","*","QY"],"QZ"]]]]]]],[13,"qy",[6,"warpField",[[6,[7,"pos","add"],[[6,"d.vec3f",["Q2X","Q2Y",[1,"t","*","Q2Z"]]]]]]]],[13,"warped1",[6,[7,"pos","add"],[[6,[7,[6,"d.vec3f",["qx","qy",[5,"0"]]],"mul"],["warpAmount"]]]]],[13,"rx",[6,"warpField",[[6,[7,"warped1","add"],[[6,"d.vec3f",["RX","RY",[1,"t","*","RZ"]]]]]]]],[13,"ry",[6,"warpField",[[6,[7,"warped1","add"],[[6,"d.vec3f",["R2X","R2Y",[1,"t","*","R2Z"]]]]]]]],[10,[6,[7,"pos","add"],[[6,[7,[6,"d.vec3f",["rx","ry",[5,"0"]]],"mul"],["warpAmount"]]]]]]]},externals:{warpField:()=>i,"d.vec3f":()=>f,QX:()=>d,QY:()=>c,QZ:()=>_,Q2X:()=>u,Q2Y:()=>m,Q2Z:()=>p,RX:()=>y,RY:()=>h,RZ:()=>g,R2X:()=>w,R2Y:()=>S,R2Z:()=>T}})&&P.f)({})).$name(r);return ql.set(o,A),A}function rR(e,t={}){let{offsets:s=r7,name:r="domainWarp1"}=t,o=`1|${Dv(e)}|${r}|${JSON.stringify(s)}`,n=ql.get(o);if(n)return n;let i=e,[d,c,_]=s.q[0],[u,m,p]=s.q[1],y=v.fn([f,a,a],f)((h=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(h.f=((g,w,S)=>{"use gpu";let T=i(g.add(f(__tsover_mul(w,d),__tsover_mul(w,c),_))),A=i(g.add(f(u,m,__tsover_mul(w,p))));return g.add(f(T,A,0).mul(S))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"t"},{type:"i",name:"warpAmount"}],body:[0,[[13,"qx",[6,"warpField",[[6,[7,"pos","add"],[[6,"d.vec3f",[[1,"t","*","QX"],[1,"t","*","QY"],"QZ"]]]]]]],[13,"qy",[6,"warpField",[[6,[7,"pos","add"],[[6,"d.vec3f",["Q2X","Q2Y",[1,"t","*","Q2Z"]]]]]]]],[10,[6,[7,"pos","add"],[[6,[7,[6,"d.vec3f",["qx","qy",[5,"0"]]],"mul"],["warpAmount"]]]]]]]},externals:{warpField:()=>i,"d.vec3f":()=>f,QX:()=>d,QY:()=>c,QZ:()=>_,Q2X:()=>u,Q2Y:()=>m,Q2Z:()=>p}})&&h.f)({})).$name(r);return ql.set(o,y),y}var ql=new Map,oR=v.fn([l,a,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(t.x,s),t.y),d=l(__tsover_mul(r.x,s),__tsover_sub(1,r.y)),c=j(i.sub(d));return re(o,__tsover_add(o,n),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"},{type:"i",name:"radius"},{type:"i",name:"falloff"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dist",[6,"std.length",[[6,[7,"aspectUV","sub"],["centerPos"]]]]],[10,[6,"std.smoothstep",["radius",[1,"radius","+","falloff"],"dist"]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.smoothstep":()=>re}})&&e.f)({})),wm=.11,Xl=.6180339887,lc=8,Xg=v.fn([a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_add(__tsover_mul(t,2.3999632297286535),__tsover_mul(Gs(__tsover_add(__tsover_mul(r,.7311),1.618)),it)),c=be(__tsover_div(__tsover_add(t,.5),s)),_=er(l(__tsover_add(__tsover_mul(t,3.77),.917),__tsover_add(__tsover_mul(r,1.093),2.236))).sub(.5).mul(.26),u=er(l(__tsover_add(__tsover_mul(t,7.13),1.618),__tsover_add(__tsover_mul(r,.531),3.71))).mul(it),m=__tsover_add(.5,__tsover_mul(Gs(__tsover_add(__tsover_add(__tsover_mul(t,5.417),__tsover_mul(r,.291)),.917)),.7)),p=Y(__tsover_add(__tsover_mul(__tsover_mul(i,wm),m),u.x)),y=H(__tsover_add(__tsover_mul(__tsover_mul(__tsover_mul(i,wm),m),1.37),u.y)),h=__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(H(d),c),.62),_.x),__tsover_mul(__tsover_mul(p,o),.16)),g=__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(Y(d),c),.62),_.y),__tsover_mul(__tsover_mul(y,o),.16));return l(__tsover_mul(__tsover_add(.5,h),n),__tsover_add(.5,g))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fi"},{type:"i",name:"count"},{type:"i",name:"seed"},{type:"i",name:"drift"},{type:"i",name:"aspect"},{type:"i",name:"animTime"}],body:[0,[[13,"theta",[1,[1,"fi","*","GOLDEN"],"+",[1,[6,"hash11",[[1,[1,"seed","*",[5,"0.7311"]],"+",[5,"1.618"]]]],"*","TAU"]]],[13,"r",[6,"std.sqrt",[[1,[1,"fi","+",[5,"0.5"]],"/","count"]]]],[13,"j",[6,[7,[6,[7,[6,"hash22",[[6,"d.vec2f",[[1,[1,"fi","*",[5,"3.77"]],"+",[5,"0.917"]],[1,[1,"seed","*",[5,"1.093"]],"+",[5,"2.236"]]]]]],"sub"],[[5,"0.5"]]],"mul"],[[5,"0.26"]]]],[13,"ph",[6,[7,[6,"hash22",[[6,"d.vec2f",[[1,[1,"fi","*",[5,"7.13"]],"+",[5,"1.618"]],[1,[1,"seed","*",[5,"0.531"]],"+",[5,"3.71"]]]]]],"mul"],["TAU"]]],[13,"w1",[1,[5,"0.5"],"+",[1,[6,"hash11",[[1,[1,[1,"fi","*",[5,"5.417"]],"+",[1,"seed","*",[5,"0.291"]]],"+",[5,"0.917"]]]],"*",[5,"0.7"]]]],[13,"dx",[6,"std.sin",[[1,[1,[1,"animTime","*","SCATTER_DRIFT_RATE"],"*","w1"],"+",[7,"ph","x"]]]]],[13,"dy",[6,"std.cos",[[1,[1,[1,[1,"animTime","*","SCATTER_DRIFT_RATE"],"*","w1"],"*",[5,"1.37"]],"+",[7,"ph","y"]]]]],[13,"nx",[1,[1,[1,[1,[6,"std.cos",["theta"]],"*","r"],"*",[5,"0.62"]],"+",[7,"j","x"]],"+",[1,[1,"dx","*","drift"],"*",[5,"0.16"]]]],[13,"ny",[1,[1,[1,[1,[6,"std.sin",["theta"]],"*","r"],"*",[5,"0.62"]],"+",[7,"j","y"]],"+",[1,[1,"dy","*","drift"],"*",[5,"0.16"]]]],[10,[6,"d.vec2f",[[1,[1,[5,"0.5"],"+","nx"],"*","aspect"],[1,[5,"0.5"],"+","ny"]]]]]]},externals:{GOLDEN:()=>2.3999632297286535,hash11:()=>Gs,TAU:()=>it,"std.sqrt":()=>be,hash22:()=>er,"d.vec2f":()=>l,"std.sin":()=>Y,SCATTER_DRIFT_RATE:()=>wm,"std.cos":()=>H}})&&e.f)({})),nR=v.fn([l,a,a,pt(x,lc/2),a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=a(0),d=a(0),c=Gs(__tsover_add(__tsover_mul(r,.531),.77));for(let _=0;_a,hash11:()=>Gs,SCATTER_MAX:()=>lc,"std.select":()=>C,"std.max":()=>b,"std.length":()=>j,"std.pow":()=>Ce,"std.fract":()=>ue,GOLDEN_CONJ:()=>Xl}})&&e.f)({})),aR=v.fn([l,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=a(0),_=a(0);for(let u=0;ua,SCATTER_MAX:()=>lc,"std.select":()=>C,spiralScatter:()=>Xg,"std.max":()=>b,"std.length":()=>j,"std.pow":()=>Ce,"std.fract":()=>ue,GOLDEN_CONJ:()=>Xl,hash11:()=>Gs}})&&e.f)({})),iR=v.fn([l,a,a,l,l,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=f(__tsover_mul(t.x,s),__tsover_mul(t.y,s),r),_=go(c.add(f(o.x,o.y,0))),u=go(c.add(f(n.x,n.y,0)));return x(__tsover_add(t.x,__tsover_mul(__tsover_mul(_,i),d)),__tsover_add(t.y,__tsover_mul(__tsover_mul(u,i),d)),_,u)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"scale"},{type:"i",name:"z"},{type:"i",name:"offA"},{type:"i",name:"offB"},{type:"i",name:"k"},{type:"i",name:"strength"}],body:[0,[[13,"wp",[6,"d.vec3f",[[1,[7,"pos","x"],"*","scale"],[1,[7,"pos","y"],"*","scale"],"z"]]],[13,"nx",[6,"mxNoiseFloat3",[[6,[7,"wp","add"],[[6,"d.vec3f",[[7,"offA","x"],[7,"offA","y"],[5,"0"]]]]]]]],[13,"ny",[6,"mxNoiseFloat3",[[6,[7,"wp","add"],[[6,"d.vec3f",[[7,"offB","x"],[7,"offB","y"],[5,"0"]]]]]]]],[10,[6,"d.vec4f",[[1,[7,"pos","x"],"+",[1,[1,"nx","*","k"],"*","strength"]],[1,[7,"pos","y"],"+",[1,[1,"ny","*","k"],"*","strength"]],"nx","ny"]]]]]},externals:{"d.vec3f":()=>f,mxNoiseFloat3:()=>go,"d.vec4f":()=>x}})&&e.f)({})),N_=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(Y(l(se(t,l(127.1,311.7)),se(t,l(269.5,183.3)))).mul(43758.5453))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"h",[6,"d.vec2f",[[6,"std.dot",["p",[6,"d.vec2f",[[5,"127.1"],[5,"311.7"]]]]],[6,"std.dot",["p",[6,"d.vec2f",[[5,"269.5"],[5,"183.3"]]]]]]]],[10,[6,"std.fract",[[6,[7,[6,"std.sin",["h"]],"mul"],[[5,"43758.5453"]]]]]]]]},externals:{"d.vec2f":()=>l,"std.dot":()=>se,"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({}));function o7(e){let{distance:t,jitter:s,name:r="nearest2Cells"}=e,o=`${r}|${t}|${s}`,n=Hg.get(o);if(n)return n;let i=`${t==="length"?"Len":"Sel"}${s==="mix"?"Jit":""}`,d;return t==="length"&&s==="none"?d=v.fn([l,a,a],l)((c=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(c.f=((_,u,m)=>{"use gpu";let p=q(_),y=ue(_),h=a(10),g=a(10);for(let w=-1;w<=1;w++)for(let S=-1;S<=1;S++){let T=l(a(S),a(w)),A=N_(l(__tsover_add(__tsover_add(p.x,T.x),m),__tsover_add(__tsover_add(p.y,T.y),m))),P=$(__tsover_add(A.x,__tsover_mul(Y(__tsover_add(u,__tsover_mul(A.x,it))),.15)),.05,.95),U=$(__tsover_add(A.y,__tsover_mul(H(__tsover_add(__tsover_mul(u,.7),__tsover_mul(A.y,it))),.15)),.05,.95),D=j(l(__tsover_sub(y.x,__tsover_add(T.x,P)),__tsover_sub(y.y,__tsover_add(T.y,U))));g=oe(g,b(D,h)),h=oe(h,D)}return l(h,g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"animT"},{type:"i",name:"seed"}],body:[0,[[13,"cell",[6,"std.floor",["scaledUV"]]],[13,"localUV",[6,"std.fract",["scaledUV"]]],[12,"d1",[6,"d.f32",[[5,"10"]]]],[12,"d2",[6,"d.f32",[[5,"10"]]]],[14,[12,"ny",[4,"-",[5,"1"]]],[1,"ny","<=",[5,"1"]],[102,"++","ny"],[0,[[14,[12,"nx",[4,"-",[5,"1"]]],[1,"nx","<=",[5,"1"]],[102,"++","nx"],[0,[[13,"offset",[6,"d.vec2f",[[6,"d.f32",["nx"]],[6,"d.f32",["ny"]]]]],[13,"h",[6,"cellHash2",[[6,"d.vec2f",[[1,[1,[7,"cell","x"],"+",[7,"offset","x"]],"+","seed"],[1,[1,[7,"cell","y"],"+",[7,"offset","y"]],"+","seed"]]]]]],[13,"pointX",[6,"std.clamp",[[1,[7,"h","x"],"+",[1,[6,"std.sin",[[1,"animT","+",[1,[7,"h","x"],"*","TAU"]]]],"*",[5,"0.15"]]],[5,"0.05"],[5,"0.95"]]]],[13,"pointY",[6,"std.clamp",[[1,[7,"h","y"],"+",[1,[6,"std.cos",[[1,[1,"animT","*",[5,"0.7"]],"+",[1,[7,"h","y"],"*","TAU"]]]],"*",[5,"0.15"]]],[5,"0.05"],[5,"0.95"]]]],[13,"dd",[6,"std.length",[[6,"d.vec2f",[[1,[7,"localUV","x"],"-",[1,[7,"offset","x"],"+","pointX"]],[1,[7,"localUV","y"],"-",[1,[7,"offset","y"],"+","pointY"]]]]]]],[2,"d2","=",[6,"std.min",["d2",[6,"std.max",["dd","d1"]]]]],[2,"d1","=",[6,"std.min",["d1","dd"]]]]]]]]],[10,[6,"d.vec2f",["d1","d2"]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,"d.f32":()=>a,"d.vec2f":()=>l,cellHash2:()=>N_,"std.clamp":()=>$,"std.sin":()=>Y,TAU:()=>it,"std.cos":()=>H,"std.length":()=>j,"std.min":()=>oe,"std.max":()=>b}})&&c.f)({})).$name(`${r}${i}`):d=v.fn([l,a,a,a,a],l)((c=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(c.f=((_,u,m,p,y)=>{"use gpu";let h=__tsover_mul(u,.7),g=q(_),w=ue(_),S=a(10),T=a(10);for(let A=-1;A<=1;A++)for(let P=-1;P<=1;P++){let U=l(a(P),a(A)),D=N_(l(__tsover_add(__tsover_add(g.x,U.x),m),__tsover_add(__tsover_add(g.y,U.y),m))),O=__tsover_add(D.x,__tsover_mul(Y(__tsover_add(u,__tsover_mul(D.x,it))),.15)),L=__tsover_add(D.y,__tsover_mul(H(__tsover_add(h,__tsover_mul(D.y,it))),.15)),G=X(.5,$(O,.05,.95),p),W=X(.5,$(L,.05,.95),p),K=__tsover_sub(w.x,__tsover_add(U.x,G)),Q=__tsover_sub(w.y,__tsover_add(U.y,W)),te=__tsover_add(__tsover_mul(K,K),__tsover_mul(Q,Q)),ee=__tsover_add(z(K),z(Q)),he=b(z(K),z(Q)),Ee=te;Ee=C(Ee,ee,y===1),Ee=C(Ee,he,y===2),T=oe(T,b(Ee,S)),S=oe(S,Ee)}return l(S,T)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"animT"},{type:"i",name:"seed"},{type:"i",name:"jitterAmount"},{type:"i",name:"metric"}],body:[0,[[13,"animTSlow",[1,"animT","*",[5,"0.7"]]],[13,"cell",[6,"std.floor",["scaledUV"]]],[13,"localUV",[6,"std.fract",["scaledUV"]]],[12,"d1",[6,"d.f32",[[5,"10"]]]],[12,"d2",[6,"d.f32",[[5,"10"]]]],[14,[12,"ny",[4,"-",[5,"1"]]],[1,"ny","<=",[5,"1"]],[102,"++","ny"],[0,[[14,[12,"nx",[4,"-",[5,"1"]]],[1,"nx","<=",[5,"1"]],[102,"++","nx"],[0,[[13,"offset",[6,"d.vec2f",[[6,"d.f32",["nx"]],[6,"d.f32",["ny"]]]]],[13,"h",[6,"cellHash2",[[6,"d.vec2f",[[1,[1,[7,"cell","x"],"+",[7,"offset","x"]],"+","seed"],[1,[1,[7,"cell","y"],"+",[7,"offset","y"]],"+","seed"]]]]]],[13,"px",[1,[7,"h","x"],"+",[1,[6,"std.sin",[[1,"animT","+",[1,[7,"h","x"],"*","TAU"]]]],"*",[5,"0.15"]]]],[13,"py",[1,[7,"h","y"],"+",[1,[6,"std.cos",[[1,"animTSlow","+",[1,[7,"h","y"],"*","TAU"]]]],"*",[5,"0.15"]]]],[13,"jx",[6,"std.mix",[[5,"0.5"],[6,"std.clamp",["px",[5,"0.05"],[5,"0.95"]]],"jitterAmount"]]],[13,"jy",[6,"std.mix",[[5,"0.5"],[6,"std.clamp",["py",[5,"0.05"],[5,"0.95"]]],"jitterAmount"]]],[13,"deltaX",[1,[7,"localUV","x"],"-",[1,[7,"offset","x"],"+","jx"]]],[13,"deltaY",[1,[7,"localUV","y"],"-",[1,[7,"offset","y"],"+","jy"]]],[13,"dEuclid",[1,[1,"deltaX","*","deltaX"],"+",[1,"deltaY","*","deltaY"]]],[13,"dManhattan",[1,[6,"std.abs",["deltaX"]],"+",[6,"std.abs",["deltaY"]]]],[13,"dChebyshev",[6,"std.max",[[6,"std.abs",["deltaX"]],[6,"std.abs",["deltaY"]]]]],[12,"dd","dEuclid"],[2,"dd","=",[6,"std.select",["dd","dManhattan",[1,"metric","===",[5,"1"]]]]],[2,"dd","=",[6,"std.select",["dd","dChebyshev",[1,"metric","===",[5,"2"]]]]],[2,"d2","=",[6,"std.min",["d2",[6,"std.max",["dd","d1"]]]]],[2,"d1","=",[6,"std.min",["d1","dd"]]]]]]]]],[10,[6,"d.vec2f",["d1","d2"]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,"d.f32":()=>a,"d.vec2f":()=>l,cellHash2:()=>N_,"std.sin":()=>Y,TAU:()=>it,"std.cos":()=>H,"std.mix":()=>X,"std.clamp":()=>$,"std.abs":()=>z,"std.max":()=>b,"std.select":()=>C,"std.min":()=>oe}})&&c.f)({})).$name(`${r}${i}`),Hg.set(o,d),d}var Hg=new Map;var jg=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=r===0,i=C(t,be(t),n),d=C(s,be(s),n),c=i;return c=C(c,d,o===1),c=C(c,__tsover_sub(d,i),o===2),c=C(c,__tsover_add(i,d),o===3),c=C(c,__tsover_mul(i,d),o===4),c}),{v:2,name:void 0,ast:{params:[{type:"i",name:"d1"},{type:"i",name:"d2"},{type:"i",name:"metric"},{type:"i",name:"mode"}],body:[0,[[13,"isEuclid",[1,"metric","===",[5,"0"]]],[13,"sd1",[6,"std.select",["d1",[6,"std.sqrt",["d1"]],"isEuclid"]]],[13,"sd2",[6,"std.select",["d2",[6,"std.sqrt",["d2"]],"isEuclid"]]],[12,"raw","sd1"],[2,"raw","=",[6,"std.select",["raw","sd2",[1,"mode","===",[5,"1"]]]]],[2,"raw","=",[6,"std.select",["raw",[1,"sd2","-","sd1"],[1,"mode","===",[5,"2"]]]]],[2,"raw","=",[6,"std.select",["raw",[1,"sd1","+","sd2"],[1,"mode","===",[5,"3"]]]]],[2,"raw","=",[6,"std.select",["raw",[1,"sd1","*","sd2"],[1,"mode","===",[5,"4"]]]]],[10,"raw"]]]},externals:{"std.select":()=>C,"std.sqrt":()=>be}})&&e.f)({})),Kg=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=b(__tsover_add(t,s),1e-4);return $(Ce($(__tsover_div(__tsover_mul(t,2),o),0,1),r),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"d1"},{type:"i",name:"d2"},{type:"i",name:"power"}],body:[0,[[13,"safeSum",[6,"std.max",[[1,"d1","+","d2"],[5,"0.0001"]]]],[13,"normalizedDist",[6,"std.clamp",[[1,[1,"d1","*",[5,"2"]],"/","safeSum"],[5,"0"],[5,"1"]]]],[10,[6,"std.clamp",[[6,"std.pow",["normalizedDist","power"]],[5,"0"],[5,"1"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.pow":()=>Ce}})&&e.f)({})),Zg=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=b(__tsover_add(t,s),1e-4),n=__tsover_div(__tsover_sub(s,t),o);return re(0,__tsover_add(r,.001),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"d1"},{type:"i",name:"d2"},{type:"i",name:"softness"}],body:[0,[[13,"safeSum",[6,"std.max",[[1,"d1","+","d2"],[5,"0.0001"]]]],[13,"edgeMetric",[1,[1,"d2","-","d1"],"/","safeSum"]],[10,[6,"std.smoothstep",[[5,"0"],[1,"softness","+",[5,"0.001"]],"edgeMetric"]]]]]},externals:{"std.max":()=>b,"std.smoothstep":()=>re}})&&e.f)({})),Qg=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return ct(-__tsover_mul(__tsover_mul(t,t),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"sharpness"}],body:[0,[[10,[6,"std.exp",[[4,"-",[1,[1,"dist","*","dist"],"*","sharpness"]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),Tm=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return ct(__tsover_mul(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s)),-r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"du"},{type:"i",name:"dv"},{type:"i",name:"sharpness"}],body:[0,[[10,[6,"std.exp",[[1,[1,[1,"du","*","du"],"+",[1,"dv","*","dv"]],"*",[4,"-","sharpness"]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),P8=v.fn([l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(__tsover_sub(t.x,r),s),d=__tsover_sub(t.y,o),c=__tsover_add(__tsover_mul(i,i),__tsover_mul(d,d));return ct(__tsover_div(__tsover_mul(-.5,c),n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"lx"},{type:"i",name:"ly"},{type:"i",name:"sizeSq"}],body:[0,[[13,"dx",[1,[1,[7,"uv","x"],"-","lx"],"*","aspect"]],[13,"dy",[1,[7,"uv","y"],"-","ly"]],[13,"dd2",[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]],[10,[6,"std.exp",[[1,[1,[4,"-",[5,"0.5"]],"*","dd2"],"/","sizeSq"]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),Jg=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return Ce(__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(t,s),r)),.5),.5),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angle"},{type:"i",name:"count"},{type:"i",name:"phase"},{type:"i",name:"sharpness"}],body:[0,[[13,"t",[1,[1,[6,"std.sin",[[1,[1,"angle","*","count"],"+","phase"]]],"*",[5,"0.5"]],"+",[5,"0.5"]]],[10,[6,"std.pow",["t","sharpness"]]]]]},externals:{"std.sin":()=>Y,"std.pow":()=>Ce}})&&e.f)({})),Sm=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return Ce(z(H(__tsover_mul(t,s))),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angle"},{type:"i",name:"halfCount"},{type:"i",name:"power"}],body:[0,[[10,[6,"std.pow",[[6,"std.abs",[[6,"std.cos",[[1,"angle","*","halfCount"]]]]],"power"]]]]]},externals:{"std.pow":()=>Ce,"std.abs":()=>z,"std.cos":()=>H}})&&e.f)({})),e3=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=tt(t.y,t.x);return f(s,__tsover_sub(s,__tsover_mul(it,q(__tsover_div(s,it)))),re(-.15,.15,t.x))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"delta"}],body:[0,[[13,"angle",[6,"std.atan2",[[7,"delta","y"],[7,"delta","x"]]]],[13,"angleWrapped",[1,"angle","-",[1,"TAU","*",[6,"std.floor",[[1,"angle","/","TAU"]]]]]],[13,"blend",[6,"std.smoothstep",[[4,"-",[5,"0.15"]],[5,"0.15"],[7,"delta","x"]]]],[10,[6,"d.vec3f",["angle","angleWrapped","blend"]]]]]},externals:{"std.atan2":()=>tt,TAU:()=>it,"std.floor":()=>q,"std.smoothstep":()=>re,"d.vec3f":()=>f}})&&e.f)({})),Hl=v.fn([a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(o,1e-4);return f(__tsover_sub(1,re(0,n,z(__tsover_sub(t,__tsover_add(s,r))))),__tsover_sub(1,re(0,n,z(__tsover_sub(t,s)))),__tsover_sub(1,re(0,n,z(__tsover_sub(t,__tsover_sub(s,r))))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"center"},{type:"i",name:"spread"},{type:"i",name:"width"}],body:[0,[[13,"w",[6,"std.max",["width",[5,"0.0001"]]]],[13,"r",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"w",[6,"std.abs",[[1,"dist","-",[1,"center","+","spread"]]]]]]]],[13,"g",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"w",[6,"std.abs",[[1,"dist","-","center"]]]]]]],[13,"b",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"w",[6,"std.abs",[[1,"dist","-",[1,"center","-","spread"]]]]]]]],[10,[6,"d.vec3f",["r","g","b"]]]]]},externals:{"std.max":()=>b,"std.smoothstep":()=>re,"std.abs":()=>z,"d.vec3f":()=>f}})&&e.f)({})),t3=v.fn([l,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=l(__tsover_sub(r.x,s.x),__tsover_sub(r.y,s.y)),n=l(__tsover_sub(t.x,s.x),__tsover_sub(t.y,s.y)),i=__tsover_add(__tsover_mul(n.x,o.x),__tsover_mul(n.y,o.y)),d=__tsover_add(__tsover_mul(o.x,o.x),__tsover_mul(o.y,o.y)),c=$(__tsover_div(i,b(d,1e-4)),0,1),_=l(__tsover_add(s.x,__tsover_mul(o.x,c)),__tsover_add(s.y,__tsover_mul(o.y,c))),u=l(__tsover_sub(t.x,_.x),__tsover_sub(t.y,_.y));return l(c,be(__tsover_add(__tsover_mul(u.x,u.x),__tsover_mul(u.y,u.y))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"}],body:[0,[[13,"lineVec",[6,"d.vec2f",[[1,[7,"b","x"],"-",[7,"a","x"]],[1,[7,"b","y"],"-",[7,"a","y"]]]]],[13,"toPoint",[6,"d.vec2f",[[1,[7,"p","x"],"-",[7,"a","x"]],[1,[7,"p","y"],"-",[7,"a","y"]]]]],[13,"dotProduct",[1,[1,[7,"toPoint","x"],"*",[7,"lineVec","x"]],"+",[1,[7,"toPoint","y"],"*",[7,"lineVec","y"]]]],[13,"lineLengthSq",[1,[1,[7,"lineVec","x"],"*",[7,"lineVec","x"]],"+",[1,[7,"lineVec","y"],"*",[7,"lineVec","y"]]]],[13,"t",[6,"std.clamp",[[1,"dotProduct","/",[6,"std.max",["lineLengthSq",[5,"0.0001"]]]],[5,"0"],[5,"1"]]]],[13,"closestPoint",[6,"d.vec2f",[[1,[7,"a","x"],"+",[1,[7,"lineVec","x"],"*","t"]],[1,[7,"a","y"],"+",[1,[7,"lineVec","y"],"*","t"]]]]],[13,"distVec",[6,"d.vec2f",[[1,[7,"p","x"],"-",[7,"closestPoint","x"]],[1,[7,"p","y"],"-",[7,"closestPoint","y"]]]]],[10,[6,"d.vec2f",["t",[6,"std.sqrt",[[1,[1,[7,"distVec","x"],"*",[7,"distVec","x"]],"+",[1,[7,"distVec","y"],"*",[7,"distVec","y"]]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.clamp":()=>$,"std.max":()=>b,"std.sqrt":()=>be}})&&e.f)({})),s3=v.fn([a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=X(r,o,s),c=b(X(n,i,s),1e-4),_=__tsover_div(t,b(d,1e-4)),u=__tsover_add(1,c),m=Ce(__tsover_sub(1,re(1,u,_)),__tsover_add(1,__tsover_mul(c,1.5)));return l(re(__tsover_sub(1,c),__tsover_add(1,c),_),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"t"},{type:"i",name:"startThickness"},{type:"i",name:"endThickness"},{type:"i",name:"startSoftness"},{type:"i",name:"endSoftness"}],body:[0,[[13,"thickness",[6,"std.mix",["startThickness","endThickness","t"]]],[13,"softness",[6,"std.max",[[6,"std.mix",["startSoftness","endSoftness","t"]],[5,"0.0001"]]]],[13,"normalizedDist",[1,"dist","/",[6,"std.max",["thickness",[5,"0.0001"]]]]],[13,"edgeEnd",[1,[5,"1"],"+","softness"]],[13,"alphaBase",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"1"],"edgeEnd","normalizedDist"]]]],[13,"softnessFactor",[1,[5,"1"],"+",[1,"softness","*",[5,"1.5"]]]],[13,"alpha",[6,"std.pow",["alphaBase","softnessFactor"]]],[13,"colorGradientStart",[1,[5,"1"],"-","softness"]],[13,"colorGradientEnd",[1,[5,"1"],"+","softness"]],[13,"colorT",[6,"std.smoothstep",["colorGradientStart","colorGradientEnd","normalizedDist"]]],[10,[6,"d.vec2f",["colorT","alpha"]]]]]},externals:{"std.mix":()=>X,"std.max":()=>b,"std.smoothstep":()=>re,"std.pow":()=>Ce,"d.vec2f":()=>l}})&&e.f)({})),Am=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return ct(__tsover_div(__tsover_mul(__tsover_mul(__tsover_sub(t,s),__tsover_sub(t,s)),-1),__tsover_mul(r,r)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"u"},{type:"i",name:"center"},{type:"i",name:"width"}],body:[0,[[10,[6,"std.exp",[[1,[1,[1,[1,"u","-","center"],"*",[1,"u","-","center"]],"*",[4,"-",[5,"1"]]],"/",[1,"width","*","width"]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),q_=v.fn([a,f,f,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=re(0,.5,t),i=re(.55,1.15,t);return X(X(o,r,f(n)),s,f(i)).mul($(t,0,1.6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"heat"},{type:"i",name:"hot"},{type:"i",name:"mid"},{type:"i",name:"fringe"}],body:[0,[[13,"toMid",[6,"std.smoothstep",[[5,"0"],[5,"0.5"],"heat"]]],[13,"toHot",[6,"std.smoothstep",[[5,"0.55"],[5,"1.15"],"heat"]]],[13,"rgb",[6,"std.mix",[[6,"std.mix",["fringe","mid",[6,"d.vec3f",["toMid"]]]],"hot",[6,"d.vec3f",["toHot"]]]]],[10,[6,[7,"rgb","mul"],[[6,"std.clamp",["heat",[5,"0"],[5,"1.6"]]]]]]]]},externals:{"std.smoothstep":()=>re,"std.mix":()=>X,"d.vec3f":()=>f,"std.clamp":()=>$}})&&e.f)({})),E8=v.fn([a,f,f,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=q_(__tsover_mul(t,1.08),s,r,o),i=q_(t,s,r,o),d=q_(__tsover_mul(t,.88),s,r,o);return f(n.x,i.y,d.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"heat"},{type:"i",name:"hot"},{type:"i",name:"mid"},{type:"i",name:"fringe"}],body:[0,[[13,"rampR",[6,"heatRamp3",[[1,"heat","*",[5,"1.08"]],"hot","mid","fringe"]]],[13,"rampG",[6,"heatRamp3",["heat","hot","mid","fringe"]]],[13,"rampB",[6,"heatRamp3",[[1,"heat","*",[5,"0.88"]],"hot","mid","fringe"]]],[10,[6,"d.vec3f",[[7,"rampR","x"],[7,"rampG","y"],[7,"rampB","z"]]]]]]},externals:{heatRamp3:()=>q_,"d.vec3f":()=>f}})&&e.f)({})),k8=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s,__tsover_sub(1,r));return __tsover_sub(1,re(o,s,t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"radius"},{type:"i",name:"feather"}],body:[0,[[13,"falloffStart",[1,"radius","*",[1,[5,"1"],"-","feather"]]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",["falloffStart","radius","dist"]]]]]]},externals:{"std.smoothstep":()=>re}})&&e.f)({})),$8=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return Jg(t,s,r,__tsover_mul(__tsover_div(1,__tsover_add(o,.05)),.3))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angle"},{type:"i",name:"count"},{type:"i",name:"phase"},{type:"i",name:"softness"}],body:[0,[[13,"sharpness",[1,[1,[5,"1"],"/",[1,"softness","+",[5,"0.05"]]],"*",[5,"0.3"]]],[10,[6,"angularSineLobes",["angle","count","phase","sharpness"]]]]]},externals:{angularSineLobes:()=>Jg}})&&e.f)({})),U8=v.fn([l,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=r.x,i=__tsover_sub(1,r.y),d=__tsover_sub(__tsover_mul(t.x,o),__tsover_mul(n,o)),c=__tsover_sub(t.y,i);return l(be(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c))),tt(c,d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"center"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"cx",[7,"center","x"]],[13,"cy",[1,[5,"1"],"-",[7,"center","y"]]],[13,"dx",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,"cx","*","aspect"]]],[13,"dy",[1,[7,"uv","y"],"-","cy"]],[13,"dist",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[13,"angle",[6,"std.atan2",["dy","dx"]]],[10,[6,"d.vec2f",["dist","angle"]]]]]},externals:{"geom.aspectOf":()=>bt,"std.sqrt":()=>be,"std.atan2":()=>tt,"d.vec2f":()=>l}})&&e.f)({})),C8=v.fn([l,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=__tsover_mul(__tsover_sub(t.x,.5),o),i=__tsover_sub(t.y,.5),d=__tsover_add(__tsover_mul(n,n),__tsover_mul(i,i));return $(__tsover_sub(1,__tsover_mul(d,r)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"strength"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"vigX",[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"]],[13,"vigY",[1,[7,"uv","y"],"-",[5,"0.5"]]],[13,"vigD2",[1,[1,"vigX","*","vigX"],"+",[1,"vigY","*","vigY"]]],[10,[6,"std.clamp",[[1,[5,"1"],"-",[1,"vigD2","*","strength"]],[5,"0"],[5,"1"]]]]]]},externals:{"geom.aspectOf":()=>bt,"std.clamp":()=>$}})&&e.f)({})),R8=v.fn([x,f],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.xyz,o=$(f(1,1,1).sub(f(1,1,1).sub($(r,f(0),f(1))).mul(f(1,1,1).sub($(s,f(0),f(1))))).add(s.mul(.16)),f(0),f(1)),n=$(Ll(s),0,1);return x(o,$(__tsover_add(t.w,__tsover_mul(n,.85)),0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"leakRgb"}],body:[0,[[13,"base",[7,"color","xyz"]],[13,"screened",[6,[7,[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]],"sub"],[[6,[7,[6,[7,[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]],"sub"],[[6,"std.clamp",["base",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]],"mul"],[[6,[7,[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]],"sub"],[[6,"std.clamp",["leakRgb",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]]]]]]],[13,"lifted",[6,[7,"screened","add"],[[6,[7,"leakRgb","mul"],[[5,"0.16"]]]]]],[13,"outRgb",[6,"std.clamp",["lifted",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]],[13,"leakLuma",[6,"std.clamp",[[6,"tone.luma601Dot",["leakRgb"]],[5,"0"],[5,"1"]]]],[13,"outA",[6,"std.clamp",[[1,[7,"color","w"],"+",[1,"leakLuma","*",[5,"0.85"]]],[5,"0"],[5,"1"]]]],[10,[6,"d.vec4f",["outRgb","outA"]]]]]},externals:{"d.vec3f":()=>f,"std.clamp":()=>$,"tone.luma601Dot":()=>Ll,"d.vec4f":()=>x}})&&e.f)({})),z8=v.fn([l,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=l(__tsover_mul(t.x,s),t.y),n=l(__tsover_mul(r.x,s),__tsover_sub(1,r.y)),i=l(__tsover_mul(s,.5),.5).sub(n),d=j(i),c=C(__tsover_div(i.x,b(d,.001)),a(1),d<.02),_=C(__tsover_div(i.y,b(d,.001)),a(0),d<.02),u=__tsover_sub(o.x,n.x),m=__tsover_sub(o.y,n.y);return l(__tsover_add(__tsover_mul(u,c),__tsover_mul(m,_)),__tsover_sub(__tsover_mul(m,c),__tsover_mul(u,_)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"anchorRaw"}],body:[0,[[13,"pA",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"anchor",[6,"d.vec2f",[[1,[7,"anchorRaw","x"],"*","aspect"],[1,[5,"1"],"-",[7,"anchorRaw","y"]]]]],[13,"toCenter",[6,[7,[6,"d.vec2f",[[1,"aspect","*",[5,"0.5"]],[5,"0.5"]]],"sub"],["anchor"]]],[13,"cLen",[6,"std.length",["toCenter"]]],[13,"dirX",[6,"std.select",[[1,[7,"toCenter","x"],"/",[6,"std.max",["cLen",[5,"0.001"]]]],[6,"d.f32",[[5,"1"]]],[1,"cLen","<",[5,"0.02"]]]]],[13,"dirY",[6,"std.select",[[1,[7,"toCenter","y"],"/",[6,"std.max",["cLen",[5,"0.001"]]]],[6,"d.f32",[[5,"0"]]],[1,"cLen","<",[5,"0.02"]]]]],[13,"relX",[1,[7,"pA","x"],"-",[7,"anchor","x"]]],[13,"relY",[1,[7,"pA","y"],"-",[7,"anchor","y"]]],[10,[6,"d.vec2f",[[1,[1,"relX","*","dirX"],"+",[1,"relY","*","dirY"]],[1,[1,"relY","*","dirX"],"-",[1,"relX","*","dirY"]]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.select":()=>C,"std.max":()=>b,"d.f32":()=>a}})&&e.f)({}));var sn=1e-4,pa=1.0471975512,Fo=6/29,jl=500,Kl=200,X_=Fo*Fo*Fo,ta=4/29,H_=1/(3*Fo*Fo),j_=3*Fo*Fo,$s=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return f(__tsover_sub(__tsover_sub(__tsover_mul(t.x,1.2249401),__tsover_mul(t.y,.2249404)),__tsover_mul(t.z,0)),__tsover_add(__tsover_add(__tsover_mul(t.x,-.0420569),__tsover_mul(t.y,1.0420571)),__tsover_mul(t.z,0)),__tsover_add(__tsover_sub(__tsover_mul(t.x,-.0196376),__tsover_mul(t.y,.0786361)),__tsover_mul(t.z,1.0982735)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p3"}],body:[0,[[13,"r",[1,[1,[1,[7,"p3","x"],"*",[5,"1.2249401"]],"-",[1,[7,"p3","y"],"*",[5,"0.2249404"]]],"-",[1,[7,"p3","z"],"*",[5,"0"]]]],[13,"g",[1,[1,[1,[7,"p3","x"],"*",[4,"-",[5,"0.0420569"]]],"+",[1,[7,"p3","y"],"*",[5,"1.0420571"]]],"+",[1,[7,"p3","z"],"*",[5,"0"]]]],[13,"b",[1,[1,[1,[7,"p3","x"],"*",[4,"-",[5,"0.0196376"]]],"-",[1,[7,"p3","y"],"*",[5,"0.0786361"]]],"+",[1,[7,"p3","z"],"*",[5,"1.0982735"]]]],[10,[6,"d.vec3f",["r","g","b"]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),ss=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return f(__tsover_add(__tsover_add(__tsover_mul(t.x,.8224621),__tsover_mul(t.y,.177538)),__tsover_mul(t.z,0)),__tsover_add(__tsover_add(__tsover_mul(t.x,.0331941),__tsover_mul(t.y,.9668058)),__tsover_mul(t.z,0)),__tsover_add(__tsover_add(__tsover_mul(t.x,.0170826),__tsover_mul(t.y,.0723974)),__tsover_mul(t.z,.9105199)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"srgb"}],body:[0,[[13,"r",[1,[1,[1,[7,"srgb","x"],"*",[5,"0.8224621"]],"+",[1,[7,"srgb","y"],"*",[5,"0.177538"]]],"+",[1,[7,"srgb","z"],"*",[5,"0"]]]],[13,"g",[1,[1,[1,[7,"srgb","x"],"*",[5,"0.0331941"]],"+",[1,[7,"srgb","y"],"*",[5,"0.9668058"]]],"+",[1,[7,"srgb","z"],"*",[5,"0"]]]],[13,"b",[1,[1,[1,[7,"srgb","x"],"*",[5,"0.0170826"]],"+",[1,[7,"srgb","y"],"*",[5,"0.0723974"]]],"+",[1,[7,"srgb","z"],"*",[5,"0.9105199"]]]],[10,[6,"d.vec3f",["r","g","b"]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),To=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_add(__tsover_add(__tsover_mul(s,.4122214708),__tsover_mul(r,.5363325363)),__tsover_mul(o,.0514459929)),i=__tsover_add(__tsover_mul(s,.2119034982),__tsover_add(__tsover_mul(r,.6806995451),__tsover_mul(o,.1073969566))),d=__tsover_add(__tsover_add(__tsover_mul(s,.0883024619),__tsover_mul(r,.2817188376)),__tsover_mul(o,.6299787005)),c=__tsover_mul(ks(n),Ce(z(n),__tsover_div(1,3))),_=__tsover_mul(ks(i),Ce(z(i),__tsover_div(1,3))),u=__tsover_mul(ks(d),Ce(z(d),__tsover_div(1,3)));return f(__tsover_sub(__tsover_add(__tsover_mul(c,.2104542553),__tsover_mul(_,.793617785)),__tsover_mul(u,.0040720468)),__tsover_add(__tsover_sub(__tsover_mul(c,1.9779984951),__tsover_mul(_,2.428592205)),__tsover_mul(u,.4505937099)),__tsover_sub(__tsover_add(__tsover_mul(c,.0259040371),__tsover_mul(_,.7827717662)),__tsover_mul(u,.808675766)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[13,"r",[7,"rgb","x"]],[13,"g",[7,"rgb","y"]],[13,"b",[7,"rgb","z"]],[13,"l",[1,[1,[1,"r","*",[5,"0.4122214708"]],"+",[1,"g","*",[5,"0.5363325363"]]],"+",[1,"b","*",[5,"0.0514459929"]]]],[13,"m",[1,[1,"r","*",[5,"0.2119034982"]],"+",[1,[1,"g","*",[5,"0.6806995451"]],"+",[1,"b","*",[5,"0.1073969566"]]]]],[13,"s",[1,[1,[1,"r","*",[5,"0.0883024619"]],"+",[1,"g","*",[5,"0.2817188376"]]],"+",[1,"b","*",[5,"0.6299787005"]]]],[13,"l_",[1,[6,"std.sign",["l"]],"*",[6,"std.pow",[[6,"std.abs",["l"]],[1,[5,"1"],"/",[5,"3"]]]]]],[13,"m_",[1,[6,"std.sign",["m"]],"*",[6,"std.pow",[[6,"std.abs",["m"]],[1,[5,"1"],"/",[5,"3"]]]]]],[13,"s_",[1,[6,"std.sign",["s"]],"*",[6,"std.pow",[[6,"std.abs",["s"]],[1,[5,"1"],"/",[5,"3"]]]]]],[10,[6,"d.vec3f",[[1,[1,[1,"l_","*",[5,"0.2104542553"]],"+",[1,"m_","*",[5,"0.793617785"]]],"-",[1,"s_","*",[5,"0.0040720468"]]],[1,[1,[1,"l_","*",[5,"1.9779984951"]],"-",[1,"m_","*",[5,"2.428592205"]]],"+",[1,"s_","*",[5,"0.4505937099"]]],[1,[1,[1,"l_","*",[5,"0.0259040371"]],"+",[1,"m_","*",[5,"0.7827717662"]]],"-",[1,"s_","*",[5,"0.808675766"]]]]]]]]},externals:{"std.sign":()=>ks,"std.pow":()=>Ce,"std.abs":()=>z,"d.vec3f":()=>f}})&&e.f)({})),Kr=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_add(__tsover_add(s,__tsover_mul(r,.3963377774)),__tsover_mul(o,.2158037573)),i=__tsover_sub(__tsover_sub(s,__tsover_mul(r,.1055613458)),__tsover_mul(o,.0638541728)),d=__tsover_sub(__tsover_sub(s,__tsover_mul(r,.0894841775)),__tsover_mul(o,1.291485548)),c=Ce(n,3),_=Ce(i,3),u=Ce(d,3);return f(__tsover_add(__tsover_sub(__tsover_mul(c,4.0767416621),__tsover_mul(_,3.3077115913)),__tsover_mul(u,.2309699292)),__tsover_sub(__tsover_add(__tsover_mul(c,-1.2684380046),__tsover_mul(_,2.6097574011)),__tsover_mul(u,.3413193965)),__tsover_add(__tsover_sub(__tsover_mul(c,-.0041960863),__tsover_mul(_,.7034186147)),__tsover_mul(u,1.707614701)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lab"}],body:[0,[[13,"L",[7,"lab","x"]],[13,"a",[7,"lab","y"]],[13,"b",[7,"lab","z"]],[13,"l_",[1,[1,"L","+",[1,"a","*",[5,"0.3963377774"]]],"+",[1,"b","*",[5,"0.2158037573"]]]],[13,"m_",[1,[1,"L","-",[1,"a","*",[5,"0.1055613458"]]],"-",[1,"b","*",[5,"0.0638541728"]]]],[13,"s_",[1,[1,"L","-",[1,"a","*",[5,"0.0894841775"]]],"-",[1,"b","*",[5,"1.291485548"]]]],[13,"l",[6,"std.pow",["l_",[5,"3"]]]],[13,"m",[6,"std.pow",["m_",[5,"3"]]]],[13,"s",[6,"std.pow",["s_",[5,"3"]]]],[10,[6,"d.vec3f",[[1,[1,[1,"l","*",[5,"4.0767416621"]],"-",[1,"m","*",[5,"3.3077115913"]]],"+",[1,"s","*",[5,"0.2309699292"]]],[1,[1,[1,"l","*",[4,"-",[5,"1.2684380046"]]],"+",[1,"m","*",[5,"2.6097574011"]]],"-",[1,"s","*",[5,"0.3413193965"]]],[1,[1,[1,"l","*",[4,"-",[5,"0.0041960863"]]],"-",[1,"m","*",[5,"0.7034186147"]]],"+",[1,"s","*",[5,"1.707614701"]]]]]]]]},externals:{"std.pow":()=>Ce,"d.vec3f":()=>f}})&&e.f)({})),zi=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z;return f(s,be(__tsover_add(__tsover_mul(r,r),__tsover_mul(o,o))),tt(o,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lab"}],body:[0,[[13,"L",[7,"lab","x"]],[13,"a",[7,"lab","y"]],[13,"b",[7,"lab","z"]],[13,"C",[6,"std.sqrt",[[1,[1,"a","*","a"],"+",[1,"b","*","b"]]]]],[13,"h",[6,"std.atan2",["b","a"]]],[10,[6,"d.vec3f",["L","C","h"]]]]]},externals:{"std.sqrt":()=>be,"std.atan2":()=>tt,"d.vec3f":()=>f}})&&e.f)({})),Ha=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z;return f(s,__tsover_mul(r,H(o)),__tsover_mul(r,Y(o)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lch"}],body:[0,[[13,"L",[7,"lch","x"]],[13,"C",[7,"lch","y"]],[13,"h",[7,"lch","z"]],[10,[6,"d.vec3f",["L",[1,"C","*",[6,"std.cos",["h"]]],[1,"C","*",[6,"std.sin",["h"]]]]]]]]},externals:{"d.vec3f":()=>f,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),Zl=v.fn([a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=a(0),n=a(0),i=a(0);return r<1?(o=t,n=s):r<2?(o=s,n=t):r<3?(n=t,i=s):r<4?(n=s,i=t):r<5?(o=s,i=t):(o=t,i=s),f(o,n,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"c"},{type:"i",name:"x"},{type:"i",name:"sector"}],body:[0,[[12,"r",[6,"d.f32",[[5,"0"]]]],[12,"g",[6,"d.f32",[[5,"0"]]]],[12,"b",[6,"d.f32",[[5,"0"]]]],[11,[1,"sector","<",[5,"1"]],[0,[[2,"r","=","c"],[2,"g","=","x"]]],[11,[1,"sector","<",[5,"2"]],[0,[[2,"r","=","x"],[2,"g","=","c"]]],[11,[1,"sector","<",[5,"3"]],[0,[[2,"g","=","c"],[2,"b","=","x"]]],[11,[1,"sector","<",[5,"4"]],[0,[[2,"g","=","x"],[2,"b","=","c"]]],[11,[1,"sector","<",[5,"5"]],[0,[[2,"r","=","x"],[2,"b","=","c"]]],[0,[[2,"r","=","c"],[2,"b","=","x"]]]]]]]],[10,[6,"d.vec3f",["r","g","b"]]]]]},externals:{"d.f32":()=>a,"d.vec3f":()=>f}})&&e.f)({})),uc=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=b(b(s,r),o),i=oe(oe(s,r),o),d=__tsover_sub(n,i),c=__tsover_mul(__tsover_add(n,i),.5),_=b(__tsover_sub(1,z(__tsover_sub(__tsover_mul(c,2),1))),sn),u=__tsover_div(d,_),m=n===s,p=n===r,y=__tsover_div(__tsover_sub(r,o),b(d,sn)),h=__tsover_add(2,__tsover_div(__tsover_sub(o,s),b(d,sn))),g=C(C(__tsover_add(4,__tsover_div(__tsover_sub(s,r),b(d,sn))),h,p),y,m);return f(__tsover_mul(g,pa),u,c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[13,"r",[7,"rgb","x"]],[13,"g",[7,"rgb","y"]],[13,"b",[7,"rgb","z"]],[13,"maxVal",[6,"std.max",[[6,"std.max",["r","g"]],"b"]]],[13,"minVal",[6,"std.min",[[6,"std.min",["r","g"]],"b"]]],[13,"delta",[1,"maxVal","-","minVal"]],[13,"l",[1,[1,"maxVal","+","minVal"],"*",[5,"0.5"]]],[13,"satDenom",[6,"std.max",[[1,[5,"1"],"-",[6,"std.abs",[[1,[1,"l","*",[5,"2"]],"-",[5,"1"]]]]],"EPSILON"]]],[13,"s",[1,"delta","/","satDenom"]],[13,"isRMax",[1,"maxVal","===","r"]],[13,"isGMax",[1,"maxVal","===","g"]],[13,"hueR",[1,[1,"g","-","b"],"/",[6,"std.max",["delta","EPSILON"]]]],[13,"hueG",[1,[5,"2"],"+",[1,[1,"b","-","r"],"/",[6,"std.max",["delta","EPSILON"]]]]],[13,"hueB",[1,[5,"4"],"+",[1,[1,"r","-","g"],"/",[6,"std.max",["delta","EPSILON"]]]]],[13,"hue",[6,"std.select",[[6,"std.select",["hueB","hueG","isGMax"]],"hueR","isRMax"]]],[13,"h",[1,"hue","*","PI_OVER_3"]],[10,[6,"d.vec3f",["h","s","l"]]]]]},externals:{"std.max":()=>b,"std.min":()=>oe,"std.abs":()=>z,EPSILON:()=>sn,"std.select":()=>C,PI_OVER_3:()=>pa,"d.vec3f":()=>f}})&&e.f)({})),ja=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_mul(r,__tsover_sub(1,z(__tsover_sub(__tsover_mul(o,2),1)))),i=__tsover_div(s,pa),d=__tsover_mul(n,__tsover_sub(1,z(__tsover_sub(bo(i,2),1)))),c=__tsover_sub(o,__tsover_mul(n,.5));return Zl(n,d,q(i)).add(c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"hsl"}],body:[0,[[13,"h",[7,"hsl","x"]],[13,"s",[7,"hsl","y"]],[13,"l",[7,"hsl","z"]],[13,"c",[1,"s","*",[1,[5,"1"],"-",[6,"std.abs",[[1,[1,"l","*",[5,"2"]],"-",[5,"1"]]]]]]],[13,"hPrime",[1,"h","/","PI_OVER_3"]],[13,"x",[1,"c","*",[1,[5,"1"],"-",[6,"std.abs",[[1,[6,"std.mod",["hPrime",[5,"2"]]],"-",[5,"1"]]]]]]],[13,"m",[1,"l","-",[1,"c","*",[5,"0.5"]]]],[13,"sector",[6,"std.floor",["hPrime"]]],[10,[6,[7,[6,"selectRGBBySector",["c","x","sector"]],"add"],["m"]]]]]},externals:{"std.abs":()=>z,PI_OVER_3:()=>pa,"std.mod":()=>bo,"std.floor":()=>q,selectRGBBySector:()=>Zl}})&&e.f)({})),Mm=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=b(b(s,r),o),i=oe(oe(s,r),o),d=__tsover_sub(n,i),c=n,_=__tsover_div(d,b(n,sn)),u=n===s,m=n===r,p=__tsover_div(__tsover_sub(r,o),b(d,sn)),y=__tsover_add(2,__tsover_div(__tsover_sub(o,s),b(d,sn))),h=C(C(__tsover_add(4,__tsover_div(__tsover_sub(s,r),b(d,sn))),y,m),p,u);return f(__tsover_mul(h,pa),_,c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[13,"r",[7,"rgb","x"]],[13,"g",[7,"rgb","y"]],[13,"b",[7,"rgb","z"]],[13,"maxVal",[6,"std.max",[[6,"std.max",["r","g"]],"b"]]],[13,"minVal",[6,"std.min",[[6,"std.min",["r","g"]],"b"]]],[13,"delta",[1,"maxVal","-","minVal"]],[13,"v","maxVal"],[13,"s",[1,"delta","/",[6,"std.max",["maxVal","EPSILON"]]]],[13,"isRMax",[1,"maxVal","===","r"]],[13,"isGMax",[1,"maxVal","===","g"]],[13,"hueR",[1,[1,"g","-","b"],"/",[6,"std.max",["delta","EPSILON"]]]],[13,"hueG",[1,[5,"2"],"+",[1,[1,"b","-","r"],"/",[6,"std.max",["delta","EPSILON"]]]]],[13,"hueB",[1,[5,"4"],"+",[1,[1,"r","-","g"],"/",[6,"std.max",["delta","EPSILON"]]]]],[13,"hue",[6,"std.select",[[6,"std.select",["hueB","hueG","isGMax"]],"hueR","isRMax"]]],[13,"h",[1,"hue","*","PI_OVER_3"]],[10,[6,"d.vec3f",["h","s","v"]]]]]},externals:{"std.max":()=>b,"std.min":()=>oe,EPSILON:()=>sn,"std.select":()=>C,PI_OVER_3:()=>pa,"d.vec3f":()=>f}})&&e.f)({})),Ac=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_mul(o,r),i=__tsover_div(s,pa),d=__tsover_mul(n,__tsover_sub(1,z(__tsover_sub(bo(i,2),1)))),c=__tsover_sub(o,n);return Zl(n,d,q(i)).add(c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"hsv"}],body:[0,[[13,"h",[7,"hsv","x"]],[13,"s",[7,"hsv","y"]],[13,"v",[7,"hsv","z"]],[13,"c",[1,"v","*","s"]],[13,"hPrime",[1,"h","/","PI_OVER_3"]],[13,"x",[1,"c","*",[1,[5,"1"],"-",[6,"std.abs",[[1,[6,"std.mod",["hPrime",[5,"2"]]],"-",[5,"1"]]]]]]],[13,"m",[1,"v","-","c"]],[13,"sector",[6,"std.floor",["hPrime"]]],[10,[6,[7,[6,"selectRGBBySector",["c","x","sector"]],"add"],["m"]]]]]},externals:{PI_OVER_3:()=>pa,"std.abs":()=>z,"std.mod":()=>bo,"std.floor":()=>q,selectRGBBySector:()=>Zl}})&&e.f)({})),Pm=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_add(__tsover_add(__tsover_mul(s,.4124564),__tsover_mul(r,.3575761)),__tsover_mul(o,.1804375)),i=__tsover_add(__tsover_add(__tsover_mul(s,.2126729),__tsover_mul(r,.7151522)),__tsover_mul(o,.072175)),d=__tsover_add(__tsover_add(__tsover_mul(s,.0193339),__tsover_mul(r,.119192)),__tsover_mul(o,.9503041)),c=__tsover_div(n,.95047),_=__tsover_div(i,1),u=__tsover_div(d,1.08883),m=C(__tsover_add(__tsover_mul(c,H_),ta),Ce(c,__tsover_div(1,3)),c>X_),p=C(__tsover_add(__tsover_mul(_,H_),ta),Ce(_,__tsover_div(1,3)),_>X_),y=C(__tsover_add(__tsover_mul(u,H_),ta),Ce(u,__tsover_div(1,3)),u>X_);return f(__tsover_sub(__tsover_mul(p,116),16),__tsover_mul(__tsover_sub(m,p),jl),__tsover_mul(__tsover_sub(p,y),Kl))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[13,"r",[7,"rgb","x"]],[13,"g",[7,"rgb","y"]],[13,"b",[7,"rgb","z"]],[13,"x",[1,[1,[1,"r","*",[5,"0.4124564"]],"+",[1,"g","*",[5,"0.3575761"]]],"+",[1,"b","*",[5,"0.1804375"]]]],[13,"y",[1,[1,[1,"r","*",[5,"0.2126729"]],"+",[1,"g","*",[5,"0.7151522"]]],"+",[1,"b","*",[5,"0.072175"]]]],[13,"z",[1,[1,[1,"r","*",[5,"0.0193339"]],"+",[1,"g","*",[5,"0.119192"]]],"+",[1,"b","*",[5,"0.9503041"]]]],[13,"xn",[1,"x","/",[5,"0.95047"]]],[13,"yn",[1,"y","/",[5,"1"]]],[13,"zn",[1,"z","/",[5,"1.08883"]]],[13,"fx",[6,"std.select",[[1,[1,"xn","*","LAB_FWD_SLOPE"],"+","LAB_OFFSET"],[6,"std.pow",["xn",[1,[5,"1"],"/",[5,"3"]]]],[1,"xn",">","LAB_DELTA3"]]]],[13,"fy",[6,"std.select",[[1,[1,"yn","*","LAB_FWD_SLOPE"],"+","LAB_OFFSET"],[6,"std.pow",["yn",[1,[5,"1"],"/",[5,"3"]]]],[1,"yn",">","LAB_DELTA3"]]]],[13,"fz",[6,"std.select",[[1,[1,"zn","*","LAB_FWD_SLOPE"],"+","LAB_OFFSET"],[6,"std.pow",["zn",[1,[5,"1"],"/",[5,"3"]]]],[1,"zn",">","LAB_DELTA3"]]]],[13,"L",[1,[1,"fy","*",[5,"116"]],"-",[5,"16"]]],[13,"a",[1,[1,"fx","-","fy"],"*","LAB_KAPPA"]],[13,"bLab",[1,[1,"fy","-","fz"],"*","LAB_LAMBDA"]],[10,[6,"d.vec3f",["L","a","bLab"]]]]]},externals:{"std.select":()=>C,LAB_FWD_SLOPE:()=>H_,LAB_OFFSET:()=>ta,"std.pow":()=>Ce,LAB_DELTA3:()=>X_,LAB_KAPPA:()=>jl,LAB_LAMBDA:()=>Kl,"d.vec3f":()=>f}})&&e.f)({})),Mc=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_div(__tsover_add(s,16),116),i=__tsover_add(__tsover_div(r,jl),n),d=__tsover_sub(n,__tsover_div(o,Kl)),c=C(__tsover_mul(__tsover_sub(i,ta),j_),Ce(i,3),i>Fo),_=C(__tsover_mul(__tsover_sub(n,ta),j_),Ce(n,3),n>Fo),u=C(__tsover_mul(__tsover_sub(d,ta),j_),Ce(d,3),d>Fo),m=__tsover_mul(c,.95047),p=__tsover_mul(_,1),y=__tsover_mul(u,1.08883);return f(__tsover_sub(__tsover_sub(__tsover_mul(m,3.2404542),__tsover_mul(p,1.5371385)),__tsover_mul(y,.4985314)),__tsover_add(__tsover_add(__tsover_mul(m,-.969266),__tsover_mul(p,1.8760108)),__tsover_mul(y,.041556)),__tsover_add(__tsover_sub(__tsover_mul(m,.0556434),__tsover_mul(p,.2040259)),__tsover_mul(y,1.0572252)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lab"}],body:[0,[[13,"L",[7,"lab","x"]],[13,"a",[7,"lab","y"]],[13,"b",[7,"lab","z"]],[13,"fy",[1,[1,"L","+",[5,"16"]],"/",[5,"116"]]],[13,"fx",[1,[1,"a","/","LAB_KAPPA"],"+","fy"]],[13,"fz",[1,"fy","-",[1,"b","/","LAB_LAMBDA"]]],[13,"xn",[6,"std.select",[[1,[1,"fx","-","LAB_OFFSET"],"*","LAB_INV_SLOPE"],[6,"std.pow",["fx",[5,"3"]]],[1,"fx",">","LAB_DELTA"]]]],[13,"yn",[6,"std.select",[[1,[1,"fy","-","LAB_OFFSET"],"*","LAB_INV_SLOPE"],[6,"std.pow",["fy",[5,"3"]]],[1,"fy",">","LAB_DELTA"]]]],[13,"zn",[6,"std.select",[[1,[1,"fz","-","LAB_OFFSET"],"*","LAB_INV_SLOPE"],[6,"std.pow",["fz",[5,"3"]]],[1,"fz",">","LAB_DELTA"]]]],[13,"x",[1,"xn","*",[5,"0.95047"]]],[13,"y",[1,"yn","*",[5,"1"]]],[13,"z",[1,"zn","*",[5,"1.08883"]]],[13,"r",[1,[1,[1,"x","*",[5,"3.2404542"]],"-",[1,"y","*",[5,"1.5371385"]]],"-",[1,"z","*",[5,"0.4985314"]]]],[13,"g",[1,[1,[1,"x","*",[4,"-",[5,"0.969266"]]],"+",[1,"y","*",[5,"1.8760108"]]],"+",[1,"z","*",[5,"0.041556"]]]],[13,"bRgb",[1,[1,[1,"x","*",[5,"0.0556434"]],"-",[1,"y","*",[5,"0.2040259"]]],"+",[1,"z","*",[5,"1.0572252"]]]],[10,[6,"d.vec3f",["r","g","bRgb"]]]]]},externals:{LAB_KAPPA:()=>jl,LAB_LAMBDA:()=>Kl,"std.select":()=>C,LAB_OFFSET:()=>ta,LAB_INV_SLOPE:()=>j_,"std.pow":()=>Ce,LAB_DELTA:()=>Fo,"d.vec3f":()=>f}})&&e.f)({})),Em=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z;return f(s,be(__tsover_add(__tsover_mul(r,r),__tsover_mul(o,o))),tt(o,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lab"}],body:[0,[[13,"L",[7,"lab","x"]],[13,"a",[7,"lab","y"]],[13,"b",[7,"lab","z"]],[13,"C",[6,"std.sqrt",[[1,[1,"a","*","a"],"+",[1,"b","*","b"]]]]],[13,"h",[6,"std.atan2",["b","a"]]],[10,[6,"d.vec3f",["L","C","h"]]]]]},externals:{"std.sqrt":()=>be,"std.atan2":()=>tt,"d.vec3f":()=>f}})&&e.f)({})),Pc=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z;return f(s,__tsover_mul(r,H(o)),__tsover_mul(r,Y(o)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lch"}],body:[0,[[13,"L",[7,"lch","x"]],[13,"C",[7,"lch","y"]],[13,"h",[7,"lch","z"]],[10,[6,"d.vec3f",["L",[1,"C","*",[6,"std.cos",["h"]]],[1,"C","*",[6,"std.sin",["h"]]]]]]]]},externals:{"d.vec3f":()=>f,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),is=v.fn([f,f,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return t.mul(r).add(s.mul(o)).div(n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"wA"},{type:"i",name:"wB"},{type:"i",name:"sw"}],body:[0,[[10,[6,[7,[6,[7,[6,[7,"a","mul"],["wA"]],"add"],[[6,[7,"b","mul"],["wB"]]]],"div"],["sw"]]]]]},externals:{}})&&e.f)({})),Bo=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(is(t.xyz,s.xyz,o,n,d),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"rgb",[6,"awMix",[[7,"colorA","xyz"],[7,"colorB","xyz"],"weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x}})&&e.f)({})),dR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(Kr(Ha(is(zi(To($s(t.xyz))),zi(To($s(s.xyz))),o,n,d)))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"oklchA",[6,"oklabToOklch",[[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]]]],[13,"oklchB",[6,"oklabToOklch",[[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]]]],[13,"mixed",[6,"awMix",["oklchA","oklchB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"oklabToRgb",[[6,"oklchToOklab",["mixed"]]]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,oklabToOklch:()=>zi,rgbToOklab:()=>To,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,oklchToOklab:()=>Ha,"d.vec4f":()=>x}})&&e.f)({})),cR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(Kr(is(To($s(t.xyz)),To($s(s.xyz)),o,n,d))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"oklabA",[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]],[13,"oklabB",[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]],[13,"mixed",[6,"awMix",["oklabA","oklabB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"oklabToRgb",["mixed"]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,rgbToOklab:()=>To,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,"d.vec4f":()=>x}})&&e.f)({})),_R=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(ja(is(uc($s(t.xyz)),uc($s(s.xyz)),o,n,d))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"hslA",[6,"rgbToHsl",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]],[13,"hslB",[6,"rgbToHsl",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]],[13,"mixed",[6,"awMix",["hslA","hslB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"hslToRgb",["mixed"]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,rgbToHsl:()=>uc,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,hslToRgb:()=>ja,"d.vec4f":()=>x}})&&e.f)({})),lR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(Ac(is(Mm($s(t.xyz)),Mm($s(s.xyz)),o,n,d))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"hsvA",[6,"rgbToHsv",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]],[13,"hsvB",[6,"rgbToHsv",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]],[13,"mixed",[6,"awMix",["hsvA","hsvB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"hsvToRgb",["mixed"]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,rgbToHsv:()=>Mm,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,hsvToRgb:()=>Ac,"d.vec4f":()=>x}})&&e.f)({})),uR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(Mc(Pc(is(Em(Pm($s(t.xyz))),Em(Pm($s(s.xyz))),o,n,d)))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"lchA",[6,"labToLch",[[6,"rgbToLab",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]]]],[13,"lchB",[6,"labToLch",[[6,"rgbToLab",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]]]],[13,"mixed",[6,"awMix",["lchA","lchB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"labToRgb",[[6,"lchToLab",["mixed"]]]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,labToLch:()=>Em,rgbToLab:()=>Pm,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,labToRgb:()=>Mc,lchToLab:()=>Pc,"d.vec4f":()=>x}})&&e.f)({})),Fv={0:Bo,1:dR,2:cR,3:_R,4:lR,5:uR};var co=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({conv:f,alpha:a}),"MixStep"),fa=v.fn([f,a,f,a,a],co)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return co({conv:is(t,r,i,d,b(c,.001)),alpha:c})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"alphaA"},{type:"i",name:"convB"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[10,[6,"MixStep",[[104,{conv:[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]],alpha:"totalWeight"}]]]]]]},externals:{"std.max":()=>b,MixStep:()=>co,awMix:()=>is}})&&e.f)({})),t1=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(is(t,s,i,d,b(c,.001)),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",["mixed","totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x}})&&e.f)({})),mR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(Kr(Ha(is(t,s,i,d,b(c,.001))))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"oklabToRgb",[[6,"oklchToOklab",["mixed"]]]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,oklchToOklab:()=>Ha}})&&e.f)({})),pR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(Kr(is(t,s,i,d,b(c,.001)))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"oklabToRgb",["mixed"]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,oklabToRgb:()=>Kr}})&&e.f)({})),fR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(ja(is(t,s,i,d,b(c,.001)))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"hslToRgb",["mixed"]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,hslToRgb:()=>ja}})&&e.f)({})),vR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(Ac(is(t,s,i,d,b(c,.001)))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"hsvToRgb",["mixed"]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,hsvToRgb:()=>Ac}})&&e.f)({})),yR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(Mc(Pc(is(t,s,i,d,b(c,.001))))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"labToRgb",[[6,"lchToLab",["mixed"]]]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,labToRgb:()=>Mc,lchToLab:()=>Pc}})&&e.f)({})),Bv={0:t1,1:mR,2:pR,3:fR,4:vR,5:yR};var Wv=1e-4,km=6/29,hR=(e,t,s)=>[e*1.2249401-t*.2249404,e*-.0420569+t*1.0420571,e*-.0196376-t*.0786361+s*1.0982735],r3=(e,t,s)=>{let r=Math.cbrt(e*.4122214708+t*.5363325363+s*.0514459929),o=Math.cbrt(e*.2119034982+t*.6806995451+s*.1073969566),n=Math.cbrt(e*.0883024619+t*.2817188376+s*.6299787005);return[r*.2104542553+o*.793617785-n*.0040720468,r*1.9779984951-o*2.428592205+n*.4505937099,r*.0259040371+o*.7827717662-n*.808675766]},n7=(e,t,s,r,o)=>{let n=Math.max(o,Wv);return(r===e?(t-s)/n:r===t?2+(s-e)/n:4+(e-t)/n)*(Math.PI/3)},xR=(e,t,s)=>{let r=Math.max(e,t,s),o=Math.min(e,t,s),n=r-o,i=(r+o)*.5,d=n/Math.max(1-Math.abs(2*i-1),Wv);return[n7(e,t,s,r,n),d,i]},gR=(e,t,s)=>{let r=Math.max(e,t,s),o=r-Math.min(e,t,s),n=o/Math.max(r,Wv);return[n7(e,t,s,r,o),n,r]},bR=(e,t,s)=>{let r=(e*.4124564+t*.3575761+s*.1804375)/.95047,o=e*.2126729+t*.7151522+s*.072175,n=(e*.0193339+t*.119192+s*.9503041)/1.08883,i=km**3,d=m=>m>i?Math.cbrt(m):m/(3*km*km)+4/29,c=d(r),_=d(o),u=d(n);return[_*116-16,(c-_)*500,(_-u)*200]},s1=(e,t,s,r)=>{let[o,n,i]=hR(e,t,s);switch(r){case 1:{let[d,c,_]=r3(o,n,i);return[d,Math.sqrt(c*c+_*_),Math.atan2(_,c)]}case 2:return r3(o,n,i);case 3:return xR(o,n,i);case 4:return gR(o,n,i);case 5:{let[d,c,_]=bR(o,n,i);return[d,Math.sqrt(c*c+_*_),Math.atan2(_,c)]}default:return[e,t,s]}},wR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=X(f(t.x,t.y,t.z),f(s.x,s.y,s.z),f(r));return x(o.x,o.y,o.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"target"},{type:"i",name:"amount"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"targetRgb",[6,"d.vec3f",[[7,"target","x"],[7,"target","y"],[7,"target","z"]]]],[13,"mixed",[6,"std.mix",["rgb","targetRgb",[6,"d.vec3f",["amount"]]]]],[10,[6,"d.vec4f",[[7,"mixed","x"],[7,"mixed","y"],[7,"mixed","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({}));var So=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_add(__tsover_mul(t.x,.2126),__tsover_mul(t.y,.7152)),__tsover_mul(t.z,.0722))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[1,[1,[1,[7,"rgb","x"],"*",[5,"0.2126"]],"+",[1,[7,"rgb","y"],"*",[5,"0.7152"]]],"+",[1,[7,"rgb","z"],"*",[5,"0.0722"]]]]]]},externals:{}})&&e.f)({})),an=v.fn([f,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return C(f(0),f(1),wp(s,t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"edge"},{type:"i",name:"x"}],body:[0,[[10,[6,"std.select",[[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]],[6,"std.ge",["x","edge"]]]]]]]},externals:{"std.select":()=>C,"d.vec3f":()=>f,"std.ge":()=>wp}})&&e.f)({})),$t=v.fn([x,f,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_add(r,o);return x(s.mul(r).add(t.xyz.mul(o)),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"blended"},{type:"i",name:"overlayAlpha"}],body:[0,[[13,"baseWeight",[1,[7,"base","w"],"*",[1,[5,"1"],"-","overlayAlpha"]]],[13,"finalAlpha",[1,"overlayAlpha","+","baseWeight"]],[13,"rgb",[6,[7,[6,[7,"blended","mul"],["overlayAlpha"]],"add"],[[6,[7,[7,"base","xyz"],"mul"],["baseWeight"]]]]],[10,[6,"d.vec4f",["rgb","finalAlpha"]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),dn=v.fn([x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.w;return x(C(f(0,0,0),t.xyz.div(s),s>.001),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"alpha",[7,"color","w"]],[13,"straightRGB",[6,"std.select",[[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,[7,[7,"color","xyz"],"div"],["alpha"]],[1,"alpha",">",[5,"0.001"]]]]],[10,[6,"d.vec4f",["straightRGB","alpha"]]]]]},externals:{"std.select":()=>C,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),TR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,s.xyz,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[10,[6,"overComposite",["base",[7,"overlay","xyz"],"overlayAlpha"]]]]]},externals:{overComposite:()=>$t}})&&e.f)({})),SR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=__tsover_mul(t.w,__tsover_sub(1,o)),i=__tsover_add(o,n),d=zi(To($s(t.xyz)));return x(ss(Kr(Ha(zi(To($s(s.xyz))).mul(o).add(d.mul(n))))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseWeight",[1,[7,"base","w"],"*",[1,[5,"1"],"-","overlayAlpha"]]],[13,"finalAlpha",[1,"overlayAlpha","+","baseWeight"]],[13,"baseOklch",[6,"oklabToOklch",[[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"base","xyz"]]]]]]]],[13,"overlayOklch",[6,"oklabToOklch",[[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"overlay","xyz"]]]]]]]],[13,"blendedOklch",[6,[7,[6,[7,"overlayOklch","mul"],["overlayAlpha"]],"add"],[[6,[7,"baseOklch","mul"],["baseWeight"]]]]],[13,"rgb",[6,"sRGBToP3",[[6,"oklabToRgb",[[6,"oklchToOklab",["blendedOklch"]]]]]]],[10,[6,"d.vec4f",["rgb","finalAlpha"]]]]]},externals:{oklabToOklch:()=>zi,rgbToOklab:()=>To,p3ToSRGB:()=>$s,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,oklchToOklab:()=>Ha,"d.vec4f":()=>x}})&&e.f)({})),AR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=__tsover_mul(t.w,__tsover_sub(1,o)),i=__tsover_add(o,n),d=To($s(t.xyz));return x(ss(Kr(To($s(s.xyz)).mul(o).add(d.mul(n)))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseWeight",[1,[7,"base","w"],"*",[1,[5,"1"],"-","overlayAlpha"]]],[13,"finalAlpha",[1,"overlayAlpha","+","baseWeight"]],[13,"baseOklab",[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"base","xyz"]]]]]],[13,"overlayOklab",[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"overlay","xyz"]]]]]],[13,"blendedOklab",[6,[7,[6,[7,"overlayOklab","mul"],["overlayAlpha"]],"add"],[[6,[7,"baseOklab","mul"],["baseWeight"]]]]],[13,"rgb",[6,"sRGBToP3",[[6,"oklabToRgb",["blendedOklab"]]]]],[10,[6,"d.vec4f",["rgb","finalAlpha"]]]]]},externals:{rgbToOklab:()=>To,p3ToSRGB:()=>$s,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,"d.vec4f":()=>x}})&&e.f)({})),MR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,t.xyz.mul(s.xyz),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{overComposite:()=>$t}})&&e.f)({})),PR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,ht(1,ht(1,t.xyz).mul(ht(1,s.xyz))),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.sub",[[5,"1"],[6,[7,[6,"std.sub",[[5,"1"],[7,"base","xyz"]]],"mul"],[[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,overComposite:()=>$t}})&&e.f)({})),ER=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,t.xyz.add(s.xyz),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,[7,[7,"base","xyz"],"add"],[[7,"overlay","xyz"]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{overComposite:()=>$t}})&&e.f)({})),kR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,X(t.xyz.mul(s.xyz).mul(2),ht(1,ht(1,t.xyz).mul(ht(1,s.xyz)).mul(2)),an(f(.5),t.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"mult",[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]],"mul"],[[5,"2"]]]],[13,"scr",[6,"std.sub",[[5,"1"],[6,[7,[6,[7,[6,"std.sub",[[5,"1"],[7,"base","xyz"]]],"mul"],[[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]]],"mul"],[[5,"2"]]]]]],[13,"blended",[6,"std.mix",["mult","scr",[6,"step3",[[6,"d.vec3f",[[5,"0.5"]]],[7,"base","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,"std.mix":()=>X,step3:()=>an,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),$R=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,z(t.xyz.sub(s.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.abs",[[6,[7,[7,"base","xyz"],"sub"],[[7,"overlay","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.abs":()=>z,overComposite:()=>$t}})&&e.f)({})),UR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=ht(1,s.xyz);return $t(t,X(t.xyz,oe(t.xyz.div(n),f(1)),an(f(.001),n)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"oneMinusOverlay",[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]],[13,"dodged",[6,"std.mix",[[7,"base","xyz"],[6,"std.min",[[6,[7,[7,"base","xyz"],"div"],["oneMinusOverlay"]],[6,"d.vec3f",[[5,"1"]]]]],[6,"step3",[[6,"d.vec3f",[[5,"0.001"]]],"oneMinusOverlay"]]]]],[10,[6,"overComposite",["base","dodged","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,"std.mix":()=>X,"std.min":()=>oe,"d.vec3f":()=>f,step3:()=>an,overComposite:()=>$t}})&&e.f)({})),CR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,t.xyz.add(s.xyz).sub(t.xyz.mul(s.xyz).mul(2)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,[7,[6,[7,[7,"base","xyz"],"add"],[[7,"overlay","xyz"]]],"sub"],[[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]],"mul"],[[5,"2"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{overComposite:()=>$t}})&&e.f)({})),RR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=So(t.xyz),i=So(s.xyz),d=__tsover_sub(n,i);return $t(t,s.xyz.add(d),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseLum",[6,"luminance",[[7,"base","xyz"]]]],[13,"overlayLum",[6,"luminance",[[7,"overlay","xyz"]]]],[13,"lumDiff",[1,"baseLum","-","overlayLum"]],[13,"blended",[6,[7,[7,"overlay","xyz"],"add"],["lumDiff"]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{luminance:()=>So,overComposite:()=>$t}})&&e.f)({})),zR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=So(t.xyz),i=So(s.xyz),d=__tsover_div(i,__tsover_add(n,1e-4));return $t(t,t.xyz.mul(d),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseLum",[6,"luminance",[[7,"base","xyz"]]]],[13,"overlayLum",[6,"luminance",[[7,"overlay","xyz"]]]],[13,"lumRatio",[1,"overlayLum","/",[1,"baseLum","+",[5,"0.0001"]]]],[13,"blended",[6,[7,[7,"base","xyz"],"mul"],["lumRatio"]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{luminance:()=>So,overComposite:()=>$t}})&&e.f)({})),GR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,oe(t.xyz,s.xyz),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.min",[[7,"base","xyz"],[7,"overlay","xyz"]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.min":()=>oe,overComposite:()=>$t}})&&e.f)({})),YR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,b(t.xyz,s.xyz),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.max",[[7,"base","xyz"],[7,"overlay","xyz"]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.max":()=>b,overComposite:()=>$t}})&&e.f)({})),LR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=b(ht(1,ht(1,t.xyz).div(s.xyz.add(1e-4))),f(0));return $t(t,X(f(0),n,an(f(1e-4),s.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"burned",[6,"std.max",[[6,"std.sub",[[5,"1"],[6,[7,[6,"std.sub",[[5,"1"],[7,"base","xyz"]]],"div"],[[6,[7,[7,"overlay","xyz"],"add"],[[5,"0.0001"]]]]]]],[6,"d.vec3f",[[5,"0"]]]]]],[13,"blended",[6,"std.mix",[[6,"d.vec3f",[[5,"0"]]],"burned",[6,"step3",[[6,"d.vec3f",[[5,"0.0001"]]],[7,"overlay","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.max":()=>b,"std.sub":()=>ht,"d.vec3f":()=>f,"std.mix":()=>X,step3:()=>an,overComposite:()=>$t}})&&e.f)({})),IR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,b(t.xyz.add(s.xyz).add(-1),f(0)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.max",[[6,[7,[6,[7,[7,"base","xyz"],"add"],[[7,"overlay","xyz"]]],"add"],[[4,"-",[5,"1"]]]],[6,"d.vec3f",[[5,"0"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.max":()=>b,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),DR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=t.xyz.mul(s.xyz).mul(2),i=t.xyz.mul(t.xyz),d=n.add(i.mul(ht(1,s.xyz.mul(2)))),c=be(t.xyz);return $t(t,X(d,t.xyz.mul(ht(1,s.xyz)).mul(2).add(c.mul(s.xyz.mul(2).sub(1))),an(f(.5),s.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"mult",[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]],"mul"],[[5,"2"]]]],[13,"baseSquared",[6,[7,[7,"base","xyz"],"mul"],[[7,"base","xyz"]]]],[13,"softDark",[6,[7,"mult","add"],[[6,[7,"baseSquared","mul"],[[6,"std.sub",[[5,"1"],[6,[7,[7,"overlay","xyz"],"mul"],[[5,"2"]]]]]]]]]],[13,"baseSqrt",[6,"std.sqrt",[[7,"base","xyz"]]]],[13,"softLightVal",[6,[7,[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]]],"mul"],[[5,"2"]]],"add"],[[6,[7,"baseSqrt","mul"],[[6,[7,[6,[7,[7,"overlay","xyz"],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]]]]]],[13,"blended",[6,"std.mix",["softDark","softLightVal",[6,"step3",[[6,"d.vec3f",[[5,"0.5"]]],[7,"overlay","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,"std.sqrt":()=>be,"std.mix":()=>X,step3:()=>an,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),FR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,X(t.xyz.mul(s.xyz).mul(2),ht(1,ht(1,t.xyz).mul(ht(1,s.xyz)).mul(2)),an(f(.5),s.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"mult",[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]],"mul"],[[5,"2"]]]],[13,"scr",[6,"std.sub",[[5,"1"],[6,[7,[6,[7,[6,"std.sub",[[5,"1"],[7,"base","xyz"]]],"mul"],[[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]]],"mul"],[[5,"2"]]]]]],[13,"blended",[6,"std.mix",["mult","scr",[6,"step3",[[6,"d.vec3f",[[5,"0.5"]]],[7,"overlay","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,"std.mix":()=>X,step3:()=>an,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),BR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=So(t.xyz),i=So(s.xyz),d=t.xyz.sub(n),c=s.xyz.sub(i),_=j(d),u=j(c);return $t(t,C(f(0),c.div(u),u>1e-4).mul(_).add(n),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseLum",[6,"luminance",[[7,"base","xyz"]]]],[13,"overlayLum",[6,"luminance",[[7,"overlay","xyz"]]]],[13,"baseChromaticity",[6,[7,[7,"base","xyz"],"sub"],["baseLum"]]],[13,"overlayChromaticity",[6,[7,[7,"overlay","xyz"],"sub"],["overlayLum"]]],[13,"baseChromaLength",[6,"std.length",["baseChromaticity"]]],[13,"overlayChromaLength",[6,"std.length",["overlayChromaticity"]]],[13,"overlayChromaDir",[6,"std.select",[[6,"d.vec3f",[[5,"0"]]],[6,[7,"overlayChromaticity","div"],["overlayChromaLength"]],[1,"overlayChromaLength",">",[5,"0.0001"]]]]],[13,"blended",[6,[7,[6,[7,"overlayChromaDir","mul"],["baseChromaLength"]],"add"],["baseLum"]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{luminance:()=>So,"std.length":()=>j,"std.select":()=>C,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),WR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=So(t.xyz),i=So(s.xyz),d=t.xyz.sub(n),c=s.xyz.sub(i),_=j(d),u=C(f(0),d.div(_),_>1e-4),m=j(c);return $t(t,u.mul(m).add(n),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseLum",[6,"luminance",[[7,"base","xyz"]]]],[13,"overlayLum",[6,"luminance",[[7,"overlay","xyz"]]]],[13,"baseChromaticity",[6,[7,[7,"base","xyz"],"sub"],["baseLum"]]],[13,"overlayChromaticity",[6,[7,[7,"overlay","xyz"],"sub"],["overlayLum"]]],[13,"baseChromaLength",[6,"std.length",["baseChromaticity"]]],[13,"baseChromaDir",[6,"std.select",[[6,"d.vec3f",[[5,"0"]]],[6,[7,"baseChromaticity","div"],["baseChromaLength"]],[1,"baseChromaLength",">",[5,"0.0001"]]]]],[13,"overlayChromaLength",[6,"std.length",["overlayChromaticity"]]],[13,"blended",[6,[7,[6,[7,"baseChromaDir","mul"],["overlayChromaLength"]],"add"],["baseLum"]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{luminance:()=>So,"std.length":()=>j,"std.select":()=>C,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),o3={normal:TR,"normal-oklch":SR,"normal-oklab":AR,multiply:MR,screen:PR,linearDodge:ER,overlay:kR,difference:$R,colorDodge:UR,exclusion:CR,color:RR,luminosity:zR,darken:GR,lighten:YR,colorBurn:LR,linearBurn:IR,softLight:DR,hardLight:FR,hue:BR,saturation:WR};var K_=f(.2126,.7152,.0722),n3={alpha:v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.xyz,__tsover_mul(t.w,s.w))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"target"},{type:"i",name:"mask"}],body:[0,[[10,[6,"d.vec4f",[[7,"target","xyz"],[1,[7,"target","w"],"*",[7,"mask","w"]]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),alphaInverted:v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.xyz,__tsover_mul(t.w,__tsover_sub(1,s.w)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"target"},{type:"i",name:"mask"}],body:[0,[[10,[6,"d.vec4f",[[7,"target","xyz"],[1,[7,"target","w"],"*",[1,[5,"1"],"-",[7,"mask","w"]]]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),luminance:v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(s.xyz,K_);return x(t.xyz,__tsover_mul(t.w,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"target"},{type:"i",name:"mask"}],body:[0,[[13,"lum",[6,"std.dot",[[7,"mask","xyz"],"LUMINANCE_WEIGHTS"]]],[10,[6,"d.vec4f",[[7,"target","xyz"],[1,[7,"target","w"],"*","lum"]]]]]]},externals:{"std.dot":()=>se,LUMINANCE_WEIGHTS:()=>K_,"d.vec4f":()=>x}})&&e.f)({})),luminanceInverted:v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(s.xyz,K_);return x(t.xyz,__tsover_mul(t.w,__tsover_sub(1,r)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"target"},{type:"i",name:"mask"}],body:[0,[[13,"lum",[6,"std.dot",[[7,"mask","xyz"],"LUMINANCE_WEIGHTS"]]],[10,[6,"d.vec4f",[[7,"target","xyz"],[1,[7,"target","w"],"*",[1,[5,"1"],"-","lum"]]]]]]]},externals:{"std.dot":()=>se,LUMINANCE_WEIGHTS:()=>K_,"d.vec4f":()=>x}})&&e.f)({}))},OR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return f(t.x,t.y,t.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),VR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return $(t.div(t.add(1)),f(0),f(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,"std.clamp",[[6,[7,"color","div"],[[6,[7,"color","add"],[[5,"1"]]]]],[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]]]},externals:{"std.clamp":()=>$,"d.vec3f":()=>f}})&&e.f)({})),NR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=b(t.sub(.004),f(0)),r=s.mul(s.mul(6.2).add(.5)),o=s.mul(s.mul(6.2).add(1.7)).add(.06);return Ce(r.div(o),f(2.2))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"c",[6,"std.max",[[6,[7,"color","sub"],[[5,"0.004"]]],[6,"d.vec3f",[[5,"0"]]]]]],[13,"a",[6,[7,"c","mul"],[[6,[7,[6,[7,"c","mul"],[[5,"6.2"]]],"add"],[[5,"0.5"]]]]]],[13,"b",[6,[7,[6,[7,"c","mul"],[[6,[7,[6,[7,"c","mul"],[[5,"6.2"]]],"add"],[[5,"1.7"]]]]],"add"],[[5,"0.06"]]]],[10,[6,"std.pow",[[6,[7,"a","div"],["b"]],[6,"d.vec3f",[[5,"2.2"]]]]]]]]},externals:{"std.max":()=>b,"d.vec3f":()=>f,"std.pow":()=>Ce}})&&e.f)({})),a3=ud(.59719,.076,.0284,.35458,.90834,.13383,.04823,.01566,.83777),i3=ud(1.60475,-.10208,-.00327,-.53108,1.10813,-.07276,-.07367,-.00605,1.07602),d3=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.mul(t.add(.0245786)).sub(90537e-9),r=t.mul(t.add(.432951).mul(.983729)).add(.238081);return s.div(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[13,"a",[6,[7,[6,[7,"v","mul"],[[6,[7,"v","add"],[[5,"0.0245786"]]]]],"sub"],[[5,"0.000090537"]]]],[13,"b",[6,[7,[6,[7,"v","mul"],[[6,[7,[6,[7,"v","add"],[[5,"0.432951"]]],"mul"],[[5,"0.983729"]]]]],"add"],[[5,"0.238081"]]]],[10,[6,[7,"a","div"],["b"]]]]]},externals:{}})&&e.f)({})),qR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.div(.6);return s=a3.mul(s),s=d3(s),s=i3.mul(s),$(s,f(0),f(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[12,"c",[6,[7,"color","div"],[[5,"0.6"]]]],[2,"c","=",[6,"ACES_INPUT.mul",["c"]]],[2,"c","=",[6,"rrtAndODTFit",["c"]]],[2,"c","=",[6,"ACES_OUTPUT.mul",["c"]]],[10,[6,"std.clamp",["c",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]]]},externals:{"ACES_INPUT.mul":()=>a3.mul,rrtAndODTFit:()=>d3,"ACES_OUTPUT.mul":()=>i3.mul,"std.clamp":()=>$,"d.vec3f":()=>f}})&&e.f)({})),c3=ud(.6274,.0691,.0164,.3293,.9195,.088,.0433,.0113,.8956),_3=ud(1.6605,-.1246,-.0182,-.5876,1.1329,-.1006,-.0728,-.0083,1.1187),l3=ud(.856627153315983,.137318972929847,.11189821299995,.0951212405381588,.761241990602591,.0767994186031903,.0482516061458583,.101439036467562,.811302368396859),u3=ud(1.1271005818144368,-.1413297634984383,-.14132976349843826,-.11060664309660323,1.157823702216272,-.11060664309660294,-.016493938717834573,-.016493938717834257,1.2519364065950405),$m=-12.47393,m3=4.026069,p3=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.mul(t),r=s.mul(s);return r.mul(s).mul(15.5).sub(r.mul(t).mul(40.14)).add(r.mul(31.96).sub(s.mul(t).mul(6.868)).add(s.mul(.4298).add(t.mul(.1191).sub(.00232))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"}],body:[0,[[13,"x2",[6,[7,"x","mul"],["x"]]],[13,"x4",[6,[7,"x2","mul"],["x2"]]],[10,[6,[7,[6,[7,[6,[7,[6,[7,"x4","mul"],["x2"]],"mul"],[[5,"15.5"]]],"sub"],[[6,[7,[6,[7,"x4","mul"],["x"]],"mul"],[[5,"40.14"]]]]],"add"],[[6,[7,[6,[7,[6,[7,"x4","mul"],[[5,"31.96"]]],"sub"],[[6,[7,[6,[7,"x2","mul"],["x"]],"mul"],[[5,"6.868"]]]]],"add"],[[6,[7,[6,[7,"x2","mul"],[[5,"0.4298"]]],"add"],[[6,[7,[6,[7,"x","mul"],[[5,"0.1191"]]],"sub"],[[5,"0.00232"]]]]]]]]]]]]},externals:{}})&&e.f)({})),XR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=c3.mul(t);return s=l3.mul(s),s=b(s,f(1e-10)),s=gp(s),s=s.sub($m).div(__tsover_sub(m3,$m)),s=$(s,f(0),f(1)),s=p3(s),s=u3.mul(s),s=Ce(b(s,f(0)),f(2.2)),s=_3.mul(s),$(s,f(0),f(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[12,"c",[6,"LINEAR_SRGB_TO_LINEAR_REC2020.mul",["color"]]],[2,"c","=",[6,"AGX_INSET.mul",["c"]]],[2,"c","=",[6,"std.max",["c",[6,"d.vec3f",[[5,"1e-10"]]]]]],[2,"c","=",[6,"std.log2",["c"]]],[2,"c","=",[6,[7,[6,[7,"c","sub"],["AGX_MIN_EV"]],"div"],[[1,"AGX_MAX_EV","-","AGX_MIN_EV"]]]],[2,"c","=",[6,"std.clamp",["c",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]],[2,"c","=",[6,"agxContrastApprox",["c"]]],[2,"c","=",[6,"AGX_OUTSET.mul",["c"]]],[2,"c","=",[6,"std.pow",[[6,"std.max",["c",[6,"d.vec3f",[[5,"0"]]]]],[6,"d.vec3f",[[5,"2.2"]]]]]],[2,"c","=",[6,"LINEAR_REC2020_TO_LINEAR_SRGB.mul",["c"]]],[10,[6,"std.clamp",["c",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]]]},externals:{"LINEAR_SRGB_TO_LINEAR_REC2020.mul":()=>c3.mul,"AGX_INSET.mul":()=>l3.mul,"std.max":()=>b,"d.vec3f":()=>f,"std.log2":()=>gp,AGX_MIN_EV:()=>$m,AGX_MAX_EV:()=>m3,"std.clamp":()=>$,agxContrastApprox:()=>p3,"AGX_OUTSET.mul":()=>u3.mul,"std.pow":()=>Ce,"LINEAR_REC2020_TO_LINEAR_SRGB.mul":()=>_3.mul}})&&e.f)({})),Z_=.76,f3=.15,a7=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=oe(t.x,oe(t.y,t.z)),r=C(.04,__tsover_sub(s,__tsover_mul(__tsover_mul(6.25,s),s)),s<.08),o=t.sub(r),n=b(o.x,b(o.y,o.z));if(noe,"std.select":()=>C,"std.max":()=>b,NEUTRAL_START_COMPRESSION:()=>Z_,NEUTRAL_DESATURATION:()=>f3,"std.mix":()=>X,"d.vec3f":()=>f}})&&e.f)({})),v3={linear:OR,reinhard:VR,cineon:NR,aces:qR,agx:XR,neutral:a7,hable:v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.mul(16),r=s.mul(s.mul(.15).add(.05)).add(.004),o=s.mul(s.mul(.15).add(.5)).add(.06);return r.div(o).sub(__tsover_div(.02,.3))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"x",[6,[7,"color","mul"],[[5,"16"]]]],[13,"num",[6,[7,[6,[7,"x","mul"],[[6,[7,[6,[7,"x","mul"],[[5,"0.15"]]],"add"],[[5,"0.05"]]]]],"add"],[[5,"0.004"]]]],[13,"den",[6,[7,[6,[7,"x","mul"],[[6,[7,[6,[7,"x","mul"],[[5,"0.15"]]],"add"],[[5,"0.5"]]]]],"add"],[[5,"0.06"]]]],[10,[6,[7,[6,[7,"num","div"],["den"]],"sub"],[[1,[5,"0.02"],"/",[5,"0.3"]]]]]]]},externals:{}})&&e.f)({})),unreal:v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return t.div(t.add(.155)).mul(1.019)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,[7,[6,[7,"color","div"],[[6,[7,"color","add"],[[5,"0.155"]]]]],"mul"],[[5,"1.019"]]]]]]},externals:{}})&&e.f)({}))},HR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return C(Ce(t,f(.41666)).mul(1.055).sub(.055),t.mul(12.92),wc(t,f(.0031308)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"a",[6,[7,[6,[7,[6,"std.pow",["color",[6,"d.vec3f",[[5,"0.41666"]]]]],"mul"],[[5,"1.055"]]],"sub"],[[5,"0.055"]]]],[13,"b",[6,[7,"color","mul"],[[5,"12.92"]]]],[13,"factor",[6,"std.le",["color",[6,"d.vec3f",[[5,"0.0031308"]]]]]],[10,[6,"std.select",["a","b","factor"]]]]]},externals:{"std.pow":()=>Ce,"d.vec3f":()=>f,"std.le":()=>wc,"std.select":()=>C}})&&e.f)({})),y3=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return C(Ce(t.add(f(.055)).div(f(1.055)),f(2.4)),t.div(f(12.92)),wc(t,f(.04045)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"hi",[6,"std.pow",[[6,[7,[6,[7,"color","add"],[[6,"d.vec3f",[[5,"0.055"]]]]],"div"],[[6,"d.vec3f",[[5,"1.055"]]]]],[6,"d.vec3f",[[5,"2.4"]]]]]],[13,"lo",[6,[7,"color","div"],[[6,"d.vec3f",[[5,"12.92"]]]]]],[13,"isLow",[6,"std.le",["color",[6,"d.vec3f",[[5,"0.04045"]]]]]],[10,[6,"std.select",["hi","lo","isLow"]]]]]},externals:{"std.pow":()=>Ce,"d.vec3f":()=>f,"std.le":()=>wc,"std.select":()=>C}})&&e.f)({})),Tn=e=>e?e.offsetX!==0||e.offsetY!==0||e.rotation!==0||e.scale!==1||e.anchorX!==.5||e.anchorY!==.5:!1,jR=v.fn([l,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_div(__tsover_mul(o,Math.PI),180),u=H(_),m=Y(_),p=__tsover_div(__tsover_sub(t.x,i),n),y=__tsover_div(__tsover_sub(t.y,d),n),h=__tsover_mul(p,c),g=y,w=__tsover_sub(__tsover_mul(h,u),__tsover_mul(g,m)),S=__tsover_add(__tsover_mul(h,m),__tsover_mul(g,u));return l(__tsover_add(__tsover_sub(__tsover_div(w,c),s),i),__tsover_add(__tsover_sub(S,r),d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"offsetX"},{type:"i",name:"offsetY"},{type:"i",name:"rotation"},{type:"i",name:"scale"},{type:"i",name:"anchorX"},{type:"i",name:"anchorY"},{type:"i",name:"aspectRatio"}],body:[0,[[13,"rotationRad",[1,[1,"rotation","*","Math.PI"],"/",[5,"180"]]],[13,"cosAngle",[6,"std.cos",["rotationRad"]]],[13,"sinAngle",[6,"std.sin",["rotationRad"]]],[13,"centeredX",[1,[1,[7,"uv","x"],"-","anchorX"],"/","scale"]],[13,"centeredY",[1,[1,[7,"uv","y"],"-","anchorY"],"/","scale"]],[13,"squareX",[1,"centeredX","*","aspectRatio"]],[13,"squareY","centeredY"],[13,"rotatedSquareX",[1,[1,"squareX","*","cosAngle"],"-",[1,"squareY","*","sinAngle"]]],[13,"rotatedSquareY",[1,[1,"squareX","*","sinAngle"],"+",[1,"squareY","*","cosAngle"]]],[13,"finalX",[1,[1,[1,"rotatedSquareX","/","aspectRatio"],"-","offsetX"],"+","anchorX"]],[13,"finalY",[1,[1,"rotatedSquareY","-","offsetY"],"+","anchorY"]],[10,[6,"d.vec2f",["finalX","finalY"]]]]]},externals:{"Math.PI":()=>Math.PI,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({}));v.fn([l,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_add(__tsover_sub(t.x,i),s),u=__tsover_add(__tsover_sub(t.y,d),r),m=__tsover_mul(_,c),p=u,y=-__tsover_div(__tsover_mul(o,Math.PI),180),h=H(y),g=Y(y),w=__tsover_sub(__tsover_mul(m,h),__tsover_mul(p,g)),S=__tsover_add(__tsover_mul(m,g),__tsover_mul(p,h)),T=__tsover_mul(__tsover_div(w,c),n),A=__tsover_mul(S,n);return l(__tsover_add(T,i),__tsover_add(A,d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"offsetX"},{type:"i",name:"offsetY"},{type:"i",name:"rotation"},{type:"i",name:"scale"},{type:"i",name:"anchorX"},{type:"i",name:"anchorY"},{type:"i",name:"aspectRatio"}],body:[0,[[13,"centeredX",[1,[1,[7,"uv","x"],"-","anchorX"],"+","offsetX"]],[13,"centeredY",[1,[1,[7,"uv","y"],"-","anchorY"],"+","offsetY"]],[13,"squareX",[1,"centeredX","*","aspectRatio"]],[13,"squareY","centeredY"],[13,"rotationRad",[4,"-",[1,[1,"rotation","*","Math.PI"],"/",[5,"180"]]]],[13,"cosAngle",[6,"std.cos",["rotationRad"]]],[13,"sinAngle",[6,"std.sin",["rotationRad"]]],[13,"rotatedSquareX",[1,[1,"squareX","*","cosAngle"],"-",[1,"squareY","*","sinAngle"]]],[13,"rotatedSquareY",[1,[1,"squareX","*","sinAngle"],"+",[1,"squareY","*","cosAngle"]]],[13,"scaledX",[1,[1,"rotatedSquareX","/","aspectRatio"],"*","scale"]],[13,"scaledY",[1,"rotatedSquareY","*","scale"]],[10,[6,"d.vec2f",[[1,"scaledX","+","anchorX"],[1,"scaledY","+","anchorY"]]]]]]},externals:{"Math.PI":()=>Math.PI,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({}));var Ov=(e,t,s)=>{let r=T=>T.unit==="px"?T.value/t:T.value,o=T=>T.unit==="px"?T.value/s:T.value,n=r(e.x),i=o(e.y),d=r(e.width),c=o(e.height),_=(T,A,P)=>P==="end"?1-T-A:P==="center"?.5+T-A/2:T,u=e.origin??"top-left",m=u.includes("left")?"start":u.includes("right")?"end":"center",p=u.includes("top")?"start":u.includes("bottom")?"end":"center",y=_(n,d,m),h=_(i,c,p),g=y+d/2,w=h+c/2,S=e.cornerRadius?e.cornerRadius.unit==="px"?e.cornerRadius.value/s:e.cornerRadius.value:0;return{centerX:g,centerY:w,halfWidthUV:d/2,halfHeightUV:c/2,cornerRadiusUV:S,rotation:e.rotation}},KR=v.fn([l,a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=__tsover_sub(t.x,s),m=__tsover_sub(t.y,r),p=-__tsover_div(__tsover_mul(d,Math.PI),180),y=H(p),h=Y(p),g=__tsover_mul(u,c),w=m,S=__tsover_sub(__tsover_mul(g,y),__tsover_mul(w,h)),T=__tsover_add(__tsover_mul(g,h),__tsover_mul(w,y)),A=__tsover_mul(o,c),P=n,U=__tsover_sub(A,i),D=__tsover_sub(P,i),O=__tsover_sub(z(S),U),L=__tsover_sub(z(T),D),G=l(b(O,0),b(L,0)),W=__tsover_sub(__tsover_add(j(G),oe(b(O,L),0)),i),K=b(_,1e-7);return C(__tsover_sub(1,re(-K,K,W)),C(a(0),a(1),W<=0),_<=0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"centerX"},{type:"i",name:"centerY"},{type:"i",name:"halfWidth"},{type:"i",name:"halfHeight"},{type:"i",name:"cornerRadius"},{type:"i",name:"rotation"},{type:"i",name:"aspectRatio"},{type:"i",name:"aaFeather"}],body:[0,[[13,"centeredX",[1,[7,"uv","x"],"-","centerX"]],[13,"centeredY",[1,[7,"uv","y"],"-","centerY"]],[13,"rotRad",[4,"-",[1,[1,"rotation","*","Math.PI"],"/",[5,"180"]]]],[13,"cosA",[6,"std.cos",["rotRad"]]],[13,"sinA",[6,"std.sin",["rotRad"]]],[13,"sqX",[1,"centeredX","*","aspectRatio"]],[13,"sqY","centeredY"],[13,"rotatedX",[1,[1,"sqX","*","cosA"],"-",[1,"sqY","*","sinA"]]],[13,"rotatedY",[1,[1,"sqX","*","sinA"],"+",[1,"sqY","*","cosA"]]],[13,"halfWidthSq",[1,"halfWidth","*","aspectRatio"]],[13,"halfHeightSq","halfHeight"],[13,"innerHalfW",[1,"halfWidthSq","-","cornerRadius"]],[13,"innerHalfH",[1,"halfHeightSq","-","cornerRadius"]],[13,"qx",[1,[6,"std.abs",["rotatedX"]],"-","innerHalfW"]],[13,"qy",[1,[6,"std.abs",["rotatedY"]],"-","innerHalfH"]],[13,"qClamped",[6,"d.vec2f",[[6,"std.max",["qx",[5,"0"]]],[6,"std.max",["qy",[5,"0"]]]]]],[13,"sdf",[1,[1,[6,"std.length",["qClamped"]],"+",[6,"std.min",[[6,"std.max",["qx","qy"]],[5,"0"]]]],"-","cornerRadius"]],[13,"feather",[6,"std.max",["aaFeather",[5,"1e-7"]]]],[13,"ramp",[1,[5,"1"],"-",[6,"std.smoothstep",[[4,"-","feather"],"feather","sdf"]]]],[13,"binary",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"sdf","<=",[5,"0"]]]]],[10,[6,"std.select",["ramp","binary",[1,"aaFeather","<=",[5,"0"]]]]]]]},externals:{"Math.PI":()=>Math.PI,"std.cos":()=>H,"std.sin":()=>Y,"std.abs":()=>z,"d.vec2f":()=>l,"std.max":()=>b,"std.length":()=>j,"std.min":()=>oe,"std.smoothstep":()=>re,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})),h3=v.fn([l,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_sub(t.x,s),_=__tsover_sub(t.y,r),u=-__tsover_div(__tsover_mul(i,Math.PI),180),m=H(u),p=Y(u),y=__tsover_mul(c,d),h=_,g=__tsover_sub(__tsover_mul(y,m),__tsover_mul(h,p)),w=__tsover_add(__tsover_mul(y,p),__tsover_mul(h,m)),S=b(__tsover_mul(o,d),1e-6),T=b(n,1e-6);return l(__tsover_add(__tsover_div(g,__tsover_mul(S,2)),.5),__tsover_add(__tsover_div(w,__tsover_mul(T,2)),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"centerX"},{type:"i",name:"centerY"},{type:"i",name:"halfWidth"},{type:"i",name:"halfHeight"},{type:"i",name:"rotation"},{type:"i",name:"aspectRatio"}],body:[0,[[13,"centeredX",[1,[7,"uv","x"],"-","centerX"]],[13,"centeredY",[1,[7,"uv","y"],"-","centerY"]],[13,"rotRad",[4,"-",[1,[1,"rotation","*","Math.PI"],"/",[5,"180"]]]],[13,"cosA",[6,"std.cos",["rotRad"]]],[13,"sinA",[6,"std.sin",["rotRad"]]],[13,"sqX",[1,"centeredX","*","aspectRatio"]],[13,"sqY","centeredY"],[13,"rotatedX",[1,[1,"sqX","*","cosA"],"-",[1,"sqY","*","sinA"]]],[13,"rotatedY",[1,[1,"sqX","*","sinA"],"+",[1,"sqY","*","cosA"]]],[13,"halfWidthSq",[6,"std.max",[[1,"halfWidth","*","aspectRatio"],[5,"0.000001"]]]],[13,"halfHeightSq",[6,"std.max",["halfHeight",[5,"0.000001"]]]],[13,"localX",[1,[1,"rotatedX","/",[1,"halfWidthSq","*",[5,"2"]]],"+",[5,"0.5"]]],[13,"localY",[1,[1,"rotatedY","/",[1,"halfHeightSq","*",[5,"2"]]],"+",[5,"0.5"]]],[10,[6,"d.vec2f",["localX","localY"]]]]]},externals:{"Math.PI":()=>Math.PI,"std.cos":()=>H,"std.sin":()=>Y,"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),i7=(e,t,s)=>{let r=s.rotationDeg*Math.PI/180,o=Math.cos(r),n=Math.sin(r),i=(e-s.centerX)*s.aspectRatio,d=t-s.centerY,c=i*o+d*n,_=i*-n+d*o,u=Math.max(s.halfWidthUV*s.aspectRatio,1e-6),m=Math.max(s.halfHeightUV,1e-6);return{x:c/(2*u)+.5,y:_/(2*m)+.5}},sc={x:{value:0,unit:"uv"},y:{value:0,unit:"uv"},width:{value:1,unit:"uv"},height:{value:1,unit:"uv"},origin:"top-left",rotation:0};function Vv(e){if(!e||typeof e!="object")return;let t=(s,r)=>s&&typeof s=="object"?{value:s.value??r.value,unit:s.unit??r.unit}:{...r};return{x:t(e.x,sc.x),y:t(e.y,sc.y),width:t(e.width,sc.width),height:t(e.height,sc.height),origin:e.origin??"top-left",rotation:e.rotation??0,...e.cornerRadius?{cornerRadius:e.cornerRadius}:{},...e.lockAspect!==void 0?{lockAspect:e.lockAspect}:{}}}function r1(e){if(!e||typeof e!="object")return!1;let t=(s,r)=>!!s&&s.unit==="uv"&&s.value===r;return t(e.x,0)&&t(e.y,0)&&t(e.width,1)&&t(e.height,1)&&(e.rotation??0)===0&&(e.cornerRadius?.value??0)===0}var Kt=class fl{_emit;constructor(t){this._emit=t}member(t){return new fl(s=>`${ZR(this._emit(s))}.${t}`)}mul(t){return new fl(s=>`(${this._emit(s)} * ${x3(t,s)})`)}add(t){return new fl(s=>`(${this._emit(s)} + ${x3(t,s)})`)}};function ZR(e){return/^[\w.$]+$/.test(e)?e:`(${e})`}function x3(e,t){return typeof e=="number"?o1(e):e._emit(t)}function o1(e){return Number.isFinite(e)?Number.isInteger(e)?`${e}.0`:`${e}`:e>0?"3.4e38":e<0?"-3.4e38":"0.0"}var Nv=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({linearClamp:{sampler:"filtering"},nearestClamp:{sampler:"filtering"},linearRepeat:{sampler:"filtering"},nearestRepeat:{sampler:"filtering"}}).$idx(2),"SHARED_SAMPLER_LAYOUT"),rc={uniforms:0,textures:1,samplers:2,external:3};function vd(e){return new Kt(()=>e)}function vt(e){return new Kt(()=>o1(e))}function we(e,t,s){return new Kt(r=>`${r.external(e,t)}(${s.map(o=>o._emit(r)).join(", ")})`)}function Ws(...e){return new Kt(t=>`vec4f(${e.map(s=>d7(s,t)).join(", ")})`)}function oc(e,t,s){return new Kt(r=>`mix(${e._emit(r)}, ${t._emit(r)}, ${d7(s,r)})`)}var QR=0;function ur(e,t){let s=QR++;return new Kt(r=>r.memo(`local:${s}`,()=>{let o=r.freshLocal(t);return r.statement(`let ${o} = ${e._emit(r)};`),o}))}var xr=vd("vec4f(0.0, 0.0, 0.0, 0.0)"),Um=vd("vec4f(1.0, 1.0, 1.0, 0.0)");function d7(e,t){return typeof e=="number"?o1(e):e._emit(t)}function Hn(e,t,s,r){return we(o3[s]??o3.normal,`blend_${Ql(s)}`,[e,t,r])}function JR(e,t,s){return we(n3[s]??n3.alpha,`mask_${Ql(s)}`,[e,t])}function Ql(e){return e.replace(/[^a-zA-Z0-9_]/g,"_")}function g3(e,t,s,r){let o={},n=new Map,i=new Set,d=[],c=new Map,_=0,u={external(g,w){let S=n.get(g);if(S)return S;let T=Ql(w);if(i.has(T)){let A=1;for(;i.has(`${T}_${A}`);)A++;T=`${T}_${A}`}return i.add(T),n.set(g,T),o[T]=g,T},statement(g){d.push(g)},freshLocal(g){return`${Ql(g)}_${_++}`},memo(g,w){let S=c.get(g);if(S!==void 0)return S;let T=w();return c.set(g,T),T}},m=s?"vec2f(in.uv.x, 1.0 - in.uv.y)":"in.uv";d.push(`var uv = ${m};`);let p=e._emit(u),y=t(p,u),h=`${d.join(` +`)} +${p} +${y}`;return r&&/\b(?:tex|samp|ext)\.\$\./.test(h)&&!/\buni\.\$\./.test(h)&&(u.external(r,"uni"),d.unshift("_ = uni.$.uniforms._sys.time;")),{body:`{ + ${d.join(` + `)} + return ${y}; +}`,externals:o}}function c7(e,t={}){let s={sampler:Nv},r=[],o=[],n=[],i=[],d=new Set,c=[],_=[],u=[],m=[],p=0,y=0,h=0,g=0,w=new Set,S=e.store.layout;S&&S.$idx(rc.uniforms),s.uniform=S;let T=F=>new Kt(le=>(S&&le.external(S,"uni"),F)),A=F=>T(`uni.$.uniforms.${F}`),P=F=>T(e.store.gpuAccessor(F,"uni")),U={uv:new Kt(()=>"uv"),time:A("_sys.time"),viewportSize:A("_sys.viewportSize"),logicalViewportSize:A("_sys.logicalViewportSize"),aspect:A("_sys.aspect"),pointer:A("_sys.pointer")},D=F=>({key:F,sample:(le,ae="linearClamp")=>new Kt(ne=>`textureSample(tex.$.${F}, samp.$.${ae}, ${le._emit(ne)})`),sampleLevel:(le,ae="linearClamp")=>new Kt(ne=>`textureSampleLevel(tex.$.${F}, samp.$.${ae}, ${le._emit(ne)}, 0.0)`),accessor:()=>new Kt(()=>`tex.$.${F}`),dimensions:()=>new Kt(()=>`vec2f(textureDimensions(tex.$.${F}))`)}),O=F=>({key:F,sample:(le,ae="linearClamp")=>new Kt(ne=>`textureSampleBaseClampToEdge(ext.$.${F}, samp.$.${ae}, ${le._emit(ne)})`),sampleLevel:(le,ae="linearClamp")=>new Kt(ne=>`textureSampleBaseClampToEdge(ext.$.${F}, samp.$.${ae}, ${le._emit(ne)})`),accessor:()=>new Kt(()=>`ext.$.${F}`),dimensions:()=>new Kt(()=>`vec2f(textureDimensions(ext.$.${F}))`)}),L=F=>{let le=`rtt_${p++}`;return r.push({key:le,root:F}),o.push({key:le,kind:"rtt"}),D(le)},G=new Map,W=(F,le,ae)=>{let ne=`${F.id}:${le}`,ie=G.get(ne);if(ie!==void 0)return ie;let ge=ae?e.resolveCustomId(ae):null,Ye=ge?L(bs(ge,new Set([F.id]))):null;return G.set(ne,Ye),Ye},K=new Map,Q=F=>{let le=K.get(F.id);if(le)return le;let ae={},ne=F.metadata.maps;if(ne){let ie={},ge=F.definition.mapSampleUVs;if(ge){let Ye={};for(let[Je,rt]of Object.entries(F.handles))rt.cpu||(Ye[Je]=P(rt));ie=ge({uniforms:Ye,ctx:U})??{}}for(let[Ye,Je]of Object.entries(ne)){if(!(Ye in F.handles))continue;let rt=Ee(Je,F,Ye,ie[Ye]);rt&&(ae[Ye]=rt)}}return K.set(F.id,ae),ae},te=F=>{let le=Lo(F.id),ae=F.metadata.maps;if(!ae||Object.keys(ae).length===0)return A(le);let ne=Q(F);return Object.keys(ne).length===0?A(le):new Kt(ie=>ie.memo(`props:${F.id}`,()=>{S&&ie.external(S,"uni");let ge=ie.freshLocal(`p_${le}`);ie.statement(`var ${ge} = uni.$.uniforms.${le};`);for(let[Ye,Je]of Object.entries(ne))ie.statement(`${ge}.${Ye} = ${Je._emit(ie)};`);return ge}))},ee=F=>{let le={};for(let[ae,ne]of Object.entries(F.handles))le[ae]=ne.value;return le},he=F=>{let le={};Lo(F.id);let ae=te(F);for(let[ie,ge]of Object.entries(F.handles)){if(ge.cpu)continue;let Ye=F.metadata.maps;Ye&&ie in Ye?le[ie]=ae.member(ie):le[ie]=P(ge)}let ne=F.definition.extraFields;if(ne)for(let ie of Object.keys(ne))le[ie]=ae.member(ie);return le},Ee=(F,le,ae,ne)=>{let ie=F,ge=Lo(le.id);if(ie.type==="map"){let Ye=W(le,ae,ie.source);return Ye?sz(tz(Ye.sample(ne??U.uv),ie.channel??"luminance"),A(`${ge}._map_${ae}_inputMin`),A(`${ge}._map_${ae}_inputMax`),A(`${ge}._map_${ae}_outputMin`),A(`${ge}._map_${ae}_outputMax`),A(`${ge}._map_${ae}_curve`)):null}return ie.type==="mouse-position"||ie.type==="mouse"||ie.type==="auto-animate"?A(`${ge}._smoothed_${ae}`):null},Te=(F,le,ae,ne)=>{let ie=le.metadata.mask;if(!ie?.source)return F;let ge=e.resolveCustomId(ie.source);if(!ge)return F;if(ae.has(ge))return console.error("[gpu] circular dependency in shader masks."),F;let Ye=new Set(ae);Ye.add(le.id);let Je=bs(ge,Ye);return ne&&(Je=L(Je).sample(ne)),JR(F,Je,ie.type??"alpha")},Ue=F=>A(`${Lo(F.id)}._opacity`),Me=F=>!!F.metadata.boundingBox&&!!F.definition.boundingBoxDeclaration&&!r1(F.metadata.boundingBox),Pe=F=>F.handles.cutout?.value===1,Re=F=>!!F.definition.requiresChild,de=F=>!!F.definition.blendWithChildren,je=F=>Me(F)&&!F.definition.boundingBoxDeclaration?.boxResamplesContent&&Re(F)&&F.metadata.blendMode==="normal"&&!Pe(F)&&!de(F),fe=()=>new Kt(F=>`(0.5 / max(${U.viewportSize.member("y")._emit(F)}, 1.0))`),Ke=(F,le=U.uv)=>{let ae=Lo(F.id),ne=ie=>A(`${ae}._bbox_${ie}`);return we(KR,"bboxClipMask",[le,ne("centerX"),ne("centerY"),ne("halfWidth"),ne("halfHeight"),ne("cornerRadius"),ne("rotation"),ne("aspectRatio"),fe()])},Ze=(F,le)=>{if(!Me(le))return F;if(le.definition.boundingBoxDeclaration?.boxResamplesContent){let ne=Lo(le.id),ie=rt=>A(`${ne}._bbox_${rt}`),ge=L(F),Ye=we(h3,"bboxGenUVContext",[U.uv,ie("centerX"),ie("centerY"),ie("halfWidth"),ie("halfHeight"),ie("rotation"),ie("aspectRatio")]),Je=we(dn,"unpremultiplyAlpha",[ge.sample(Ye)]);return Ws(Je.member("rgb"),Je.member("a").mul(Ke(le)))}let ae=Ke(le);return Ws(F.member("rgb"),F.member("a").mul(ae))},at=(F,le)=>{let ae=le.metadata.transform;if(!ae||!Tn(ae))return F;let ne=Lo(le.id),ie=L(F),ge=Ye=>A(`${ne}._xform_${Ye}`);return Gi(we(jR,"applyUVTransform",[U.uv,ge("offsetX"),ge("offsetY"),ge("rotation"),ge("scale"),ge("anchorX"),ge("anchorY"),ge("aspectRatio")]),Ye=>ie.sample(Ye),rz[ae.edges]??0)},Fe=(F,le,ae)=>Me(ae)?le!==void 0&&je(ae)?oc(le,F,Ke(ae)):Ze(F,ae):at(F,ae),Ie=(F,le)=>je(le)?{transformedFragment:F,clipMaskNode:Ke(le)}:{transformedFragment:Me(le)?Ze(F,le):at(F,le),clipMaskNode:void 0},st=(F,le,ae,ne)=>{let ie=Ue(ae),ge=de(ae)?F!==void 0?Hn(F,le,"normal",ie):oc(xr,le,ie):oc(F??xr,le,ie);return ne===void 0?ge:oc(F??xr,ge,ne)},Xe=(F,le)=>{if(F.definition.compute)try{let ae=F.definition.compute(le);if(ae)return i.push({nodeId:F.id,getComputeNodes:ae.getComputeNodes,bindInputs:ae.bindInputs}),ae.outputs}catch(ae){Is(`[gpu] error initializing compute for node ${F.id}:`,ae)}},We=F=>{let le=Lo(F.id),ae=ne=>A(`${le}._bbox_${ne}`);return{centerX:ae("centerX"),centerY:ae("centerY"),halfWidth:ae("halfWidth"),halfHeight:ae("halfHeight"),rotation:ae("rotation")}},Ve=F=>{let le=F.definition.boundingBoxDeclaration;return!!le&&(!!le.computeBounds||!!le.propBindings)},Ft=F=>{if(!F.definition.wantsBoundsParams)return{};let le={};Me(F)&&(le.ownBoundsParams=We(F));let ae=[...e.getChildren(F.id)].sort((ne,ie)=>ne.metadata.renderOrder-ie.metadata.renderOrder);for(let ne of ae)if(ne.metadata.visible!==!1){if(Me(ne)){le.childBoundsParams=We(ne);break}if(Ve(ne)){let ie=Lo(F.id),ge=Ye=>A(`${ie}._childBounds_${Ye}`);le.childBoundsParams={centerX:ge("centerX"),centerY:ge("centerY"),halfWidth:ge("halfWidth"),halfHeight:ge("halfHeight"),rotation:vt(0)};break}}return le},Gt=!1,os=(F,le,ae={})=>({noteCustomWgsl:()=>{Gt=!0},props:te(F),uniforms:he(F),propValues:ee(F),childNode:le,ctx:U,logicalViewportSize:U.logicalViewportSize,convertToTexture:L,declareTexture:ne=>{o.some(ie=>ie.key===ne.key)||o.push({key:ne.key,kind:"media",resource:ne._resource})},registerExternalTexture:ne=>{let ie=`video_${h++}`;return n.push({key:ie,getSource:ne}),O(ie)},registerComputeTexture:ne=>{let ie=`compute_${y++}`;o.push({key:ie,kind:"compute",resource:{texture:ne}});let ge=ne?.props?.format;return(ge==="r32float"||ge==="rg32float"||ge==="rgba32float")&&w.add(ie),D(ie)},createMediaTexture:ne=>t.createMediaTexture?.(ne)??(()=>{throw new Error("[gpu] createMediaTexture unavailable (no TextureManager injected)")})(),createDataTexture:ne=>t.createDataTexture?.(ne)??(()=>{throw new Error("[gpu] createDataTexture unavailable (no TextureManager injected)")})(),registerMediaTexture:ne=>{let ie=`media_${g++}`;return o.push({key:ie,kind:"media",resource:{get texture(){return ne()}}}),D(ie)},getCpuValue:ne=>{if((F.metadata.maps?.[ne]||ne.startsWith("_animTime"))&&t.resolveDriverCpuValue){let ie=t.resolveDriverCpuValue(F.id,ne);if(ie!==void 0)return ie}return F.handles[ne]?.value},getMapInfo:ne=>{let ie=F.metadata.maps?.[ne];if(!ie||ie.type!=="map")return null;let ge=W(F,ne,ie.source);return ge?{sourceTexture:ge,channel:ie.channel??"luminance",window:()=>t.resolveMapWindow?.(F.id,ne)??{inputMin:typeof ie.inputMin=="number"?ie.inputMin:0,inputMax:typeof ie.inputMax=="number"?ie.inputMax:1,outputMin:typeof ie.outputMin=="number"?ie.outputMin:0,outputMax:typeof ie.outputMax=="number"?ie.outputMax:1,curve:typeof ie.curve=="number"?ie.curve:0}}:null},getLayerTexture:ne=>{let ie=F.handles[ne]?.value;return typeof ie!="string"||ie===""?null:W(F,ne,ie)},setExtraField:(ne,ie)=>t.writeExtraField?.(F.id,ne,ie),onCleanup:ne=>m.push(ne),onBeforeRender:ne=>c.push(ne),onAfterRender:ne=>_.push(ne),onResize:ne=>u.push(ne),canvas:t.canvas,dimensions:t.dimensions??{width:1,height:1},gpu:t.gpu,domCanvas:F.domCanvas,...Ft(F),...ae});function bs(F,le=new Set){let ae=e.getNode(F);if(!ae)return xr;let ne=e.getChildren(F);if(ne.length>0&&ae.definition.providesUVContextViaCompute){let rt=Qr(ae,ne,le);if(rt!==null)return rt}if(ne.length>0&&ae.definition.uvRemap){let rt=zr(ae,ne);if(rt!==null)return rt;let He=Vo(ae,ne,le);if(He!==null)return He}if(ne.length===0){d.add(F);let rt=os(ae,void 0,{bboxMask:vs(ae),...As(ae)});rt.computeOutputs=Xe(ae,rt);let He=ae.definition.fragment(rt);return Te(Me(ae)?Ze(He,ae):at(He,ae),ae,le)}let ie=[...ne].sort((rt,He)=>rt.metadata.renderOrder-He.metadata.renderOrder),ge=Ps(ie,le);if(ge!==null){let rt=os(ae,ge,{bboxMask:vs(ae)});rt.computeOutputs=Xe(ae,rt);let He=ae.definition.fragment(rt);return Te(Me(ae)?Ze(He,ae):at(He,ae),ae,le)}let Ye=ls(ae,ie,le);d.add(F);let Je=os(ae,Ye,{bboxMask:vs(ae)});return Je.computeOutputs=Xe(ae,Je),Te(Fe(ae.definition.fragment(Je),Ye,ae),ae,le)}function ls(F,le,ae){let ne;for(let ie=0;ie0,Je,rt;if(Ye)Je=bs(ge.id,ae);else{let He=ne;ge.definition.requiresRTT&&ne!==void 0&&(He=Hn(xr,ne,"normal",vt(1))),ge.definition.acceptsOptionalChild&&(He=void 0);let Bt=os(ge,He,{bboxMask:vs(ge),...As(ge)});Bt.computeOutputs=Xe(ge,Bt);let Yt=Ie(ge.definition.fragment(Bt),ge);rt=Yt.clipMaskNode,Je=Te(Yt.transformedFragment,ge,ae)}if(ge.definition.requiresChild&&ge.metadata.blendMode==="normal"&&!Ye)ne=st(ne,Je,ge,rt);else{let He=ge.metadata.blendMode??"normal",Bt=ge.metadata.opacity??1;ne===void 0?ne=F.definition.requiresRTT||Bt!==1?Hn(Um,Je,He,Ue(ge)):Je:ne=Hn(ne,Je,He,Ue(ge))}}return ne}function As(F,le=U.uv){if(!Me(F))return{};if(!F.definition.boundingBoxDeclaration?.supportsResizeFit)return{};let ae=Lo(F.id),ne=ie=>A(`${ae}._bbox_${ie}`);return{uvContext:we(h3,"bboxGenUVContext",[le,ne("centerX"),ne("centerY"),ne("halfWidth"),ne("halfHeight"),ne("rotation"),ne("aspectRatio")]),effectiveViewportSize:Ws(ne("halfWidth").mul(2).mul(U.viewportSize.member("x")),ne("halfHeight").mul(2).mul(U.viewportSize.member("y")),0,0).member("xy")}}function vs(F){if(!(!Me(F)||!F.definition.requiresRTT)&&!F.definition.boundingBoxDeclaration?.supportsResizeFit)return Ke(F)}let ys=F=>!!F.metadata.mask||F.metadata.opacity!==void 0&&F.metadata.opacity<1||(F.metadata.blendMode??"normal")!=="normal"||Tn(F.metadata.transform)||Me(F),Ks=F=>!!F.definition.uvRemap&&e.getChildren(F.id).length===0&&!ys(F);function yr(F,le,ae){d.add(F.id);let ne=Xe(F,os(F,void 0));return F.definition.uvRemap({uv:le,mask:ae,uniforms:he(F),propValues:ee(F),props:te(F),aspect:U.aspect,onBeforeRender:ie=>c.push(ie),computeOutputs:ne})}function Ur(F){let le=U.uv,ae=vt(1);for(let ne=F.length-1;ne>=0;ne--){let ie=yr(F[ne],le,ae);le=ie.uv,ae=ie.mask}return{uv:le,mask:ae}}let Ms=24,Cr=vt(1),hr=(F,le)=>{if(le.left--<=0||F.metadata.mask||Tn(F.metadata.transform))return!1;let ae=e.getChildren(F.id).filter(ne=>ne.metadata.visible!==!1);return ae.length===0?Me(F)&&F.definition.boundingBoxDeclaration?.boxResamplesContent?!1:!!F.definition.acceptsUVContext&&!F.definition.requiresChild:!F.definition.uvRemap||Me(F)?!1:ae.every(ne=>hr(ne,le))};function mo(F,le,ae){let ne=ae??Cr,ie=yr(F,le,ne);return{uv:ie.uv,mask:ie.mask===ne?ae:ie.mask}}let po=(F,le)=>F===void 0?le:le===void 0?F:F.mul(le);function Rr(F,le,ae){let ne=e.getChildren(F.id).filter(He=>He.metadata.visible!==!1);if(ne.length>0){if(!F.definition.uvRemap)return null;let He=mo(F,le,ae);return nr(ne,ur(He.uv,"foldUV"),He.mask)}if(!F.definition.acceptsUVContext)return null;d.add(F.id);let ie=As(F,le),ge=os(F,void 0,Object.keys(ie).length>0?ie:{uvContext:le});ge.computeOutputs=Xe(F,ge);let Ye=F.definition.fragment(ge),Je=po(ae,Me(F)?Ke(F,le):void 0);if(Je===void 0)return Ye;let rt=ur(Ye,"gen");return Ws(rt.member("rgb"),rt.member("a").mul(Je))}function nr(F,le,ae){let ne=[...F].sort((Ye,Je)=>Ye.metadata.renderOrder-Je.metadata.renderOrder),ie;for(let Ye of ne){let Je=Rr(Ye,le,void 0);if(Je===null)return null;let rt=Ye.metadata.blendMode??"normal",He=Ye.metadata.opacity??1;ie===void 0?ie=rt==="normal"&&He===1?Je:Hn(Um,Je,rt,Ue(Ye)):ie=Hn(ie,Je,rt,Ue(Ye))}if(ie===void 0)return null;if(ae===void 0)return ie;let ge=ur(ie,"sibs");return Ws(ge.member("rgb"),ge.member("a").mul(ae))}function zr(F,le){if(!F.definition.uvRemap||ys(F))return null;let ae=le.filter(Ye=>Ye.metadata.visible!==!1);if(ae.length===0)return null;let ne={left:Ms};if(!ae.every(Ye=>hr(Ye,ne)))return null;d.add(F.id);let{uv:ie,mask:ge}=mo(F,U.uv,void 0);return nr(ae,ur(ie,"foldUV"),ge)}function Ps(F,le){let ae=F.filter(Yt=>Yt.metadata.visible!==!1);if(!ae.some(Yt=>!!Yt.definition.uvRemap)||ae.length<2)return null;let ne=ae.length;for(let Yt=ae.length-1;Yt>=0&&Ks(ae[Yt]);Yt--)ne=Yt;let ie=ae.slice(ne),ge=ae.slice(0,ne);if(ie.length===0||ge.length!==1)return null;let Ye=ge[0];if(!Ye.definition.acceptsUVContext||e.getChildren(Ye.id).length>0||ys(Ye))return null;d.add(Ye.id);for(let Yt of ie)d.add(Yt.id);let{uv:Je,mask:rt}=Ur(ie),He=os(Ye,void 0,{uvContext:Je});He.computeOutputs=Xe(Ye,He);let Bt=Ye.definition.fragment(He);return Ws(Bt.member("rgb"),Bt.member("a").mul(rt))}function Gr(F,le,ae,ne){if(!Ks(F[le]))return null;let ie=[],ge=le;for(let He=le;HeNo.metadata.visible!==!1);if(fo.length!==1)return null;let br=fo[0],Nt=e.getChildren(br.id);if(br.definition.acceptsUVContext&&Nt.length===0&&!ys(br)){Je=br;break}if(br.definition.uvRemap&&!ys(br)&&Nt.length===1){ge=br,Ye=Nt;continue}rt=br;break}if(!Je&&!rt)return null;for(let Ls of ie)d.add(Ls.id);let{uv:He,mask:Bt}=Ur([...ie].reverse()),Yt;if(Je){d.add(Je.id);let Ls=os(Je,void 0,{uvContext:He});Ls.computeOutputs=Xe(Je,Ls);let fo=Je.definition.fragment(Ls);Yt=Ws(fo.member("rgb"),fo.member("a").mul(Bt))}else{let Ls=L(Hn(Um,bs(rt.id,ae),rt.metadata.blendMode??"normal",Ue(rt))).sample(He);Yt=Ws(Ls.member("rgb"),Ls.member("a").mul(Bt))}return Te(Me(F)?Ze(Yt,F):at(Yt,F),F,ae)}function Qr(F,le,ae){let ne=Nt=>!!Nt.metadata.mask||Nt.metadata.opacity!==void 0&&Nt.metadata.opacity<1||(Nt.metadata.blendMode??"normal")!=="normal"||Tn(Nt.metadata.transform)||Me(Nt);if(!F.definition.providesUVContextViaCompute||ne(F))return null;let ie=[],ge=F,Ye=null,Je=le,rt=8;for(let Nt=0;Ntwa.metadata.visible!==!1);if(No.length!==1)return null;let Yr=No[0];if(ne(Yr))return null;let Ro=e.getChildren(Yr.id).length>0;if(Yr.definition.acceptsUVContext&&!Ro){Ye=Yr;break}if(Yr.definition.providesUVContextViaCompute){ge=Yr,Je=e.getChildren(Yr.id);continue}return null}if(!Ye)return null;d.add(Ye.id);for(let Nt of ie)d.add(Nt.id);let He=[],Bt;for(let Nt=0;Nt=0;Nt--)He[Nt].childNode=br,He[Nt].uvPropagationActive=!0,br=ie[Nt].definition.fragment(He[Nt]);return Te(Me(F)?Ze(br,F):at(br,F),F,ae)}let ci=e.rootId?bs(e.rootId):xr,ba=r.map(F=>{let{body:le,externals:ae}=g3(F.root,ne=>ne,t.flipY??!0,s.uniform);return{textureKey:F.key,fragment:b3(le,ae,`rtt_${F.key}`,s.sampler,w)}}),_i=t.toneMapping??"linear",li=g3(ci,(F,le)=>ez(F,le,_i,t.premultiplyAlpha??!1),t.flipY??!0,s.uniform);return{computeSteps:i,rttPasses:ba,finalPass:b3(li.body,li.externals,"final",s.sampler,w),textures:o,externalTextures:n,layouts:{uniforms:s.uniform,samplers:s.sampler},onBeforeRender:c,onAfterRender:_,onResize:u,onCleanup:m,composedNodeIds:d,usesCustomWgsl:Gt}}function ez(e,t,s,r){let o=t.external(v3[s]??v3.linear,`tone_${s}`),n=t.external(HR,"linearToSrgb"),i=t.freshLocal("composed");t.statement(`var ${i} = ${e};`);let d=`${n}(${o}(${i}.rgb))`;return r?`vec4f(${d} * ${i}.a, ${i}.a)`:`vec4f(${d}, ${i}.a)`}function b3(e,t,s,r,o=new Set){let n=w3(e,/\btex\.\$\.(\w+)/g),i=w3(e,/\bext\.\$\.(\w+)/g),d=/\bsamp\.\$\./.test(e),c;if(n.length>0){let u={};for(let m of n)u[m]=o.has(m)?{texture:ps(a),sampleType:"unfilterable-float"}:{texture:ps(a)};c=(globalThis.__TYPEGPU_AUTONAME__??(m=>m))(v.bindGroupLayout(u).$idx(rc.textures),"textureLayout"),t.tex=c}let _;if(i.length>0){let u={};for(let y of i)u[y]={externalTexture:s5()};let m=new Set([rc.uniforms]);n.length>0&&m.add(rc.textures),d&&m.add(rc.samplers);let p=0;for(;m.has(p);)p++;_=(globalThis.__TYPEGPU_AUTONAME__??(y=>y))(v.bindGroupLayout(u).$idx(p),"externalLayout"),t.ext=_}return d&&(t.samp=r),{body:e,externals:t,entry:v.fragmentFn({in:{uv:l},out:x})(e).$uses(t).$name(s),reads:n,externalReads:i,usesSamplers:d,textureLayout:c,externalLayout:_}}function w3(e,t){let s=new Set;for(let r of e.matchAll(t))s.add(r[1]);return[...s]}function tz(e,t){switch(t){case"alpha":return e.member("a");case"alphaInverted":return new Kt(s=>`(1.0 - ${e._emit(s)}.a)`);case"luminanceInverted":return new Kt(s=>`(1.0 - dot(${e._emit(s)}.rgb, vec3f(0.2126, 0.7152, 0.0722)))`);default:return new Kt(s=>`dot(${e._emit(s)}.rgb, vec3f(0.2126, 0.7152, 0.0722))`)}}function sz(e,t,s,r,o,n){return new Kt(i=>{let d=e._emit(i),c=t._emit(i),_=s._emit(i),u=r._emit(i),m=o._emit(i),p=n._emit(i);return`mix(${u}, ${m}, ${`pow(${`clamp((${d} - ${c}) / max(${_} - ${c}, 0.0001), 0.0, 1.0)`}, pow(2.0, -${p} * 2.0))`})`})}var rz={stretch:0,transparent:1,mirror:2,wrap:3};function _7(e,t={}){let s=[];s.push(`tone:${t.toneMapping??"linear"}`),s.push(`flipY:${t.flipY??!0}`),s.push(`premul:${t.premultiplyAlpha??!1}`);let r=o=>{let n=e.getNode(o);if(!n)return;let i=n.metadata,d=n.definition,c=Tn(i.transform),_=!!i.boundingBox&&!!d.boundingBoxDeclaration&&!r1(i.boundingBox),u=(i.opacity??1)===0?"zero":"nonzero",m=i.mask?`${i.mask.source}:${i.mask.type}`:"none",p=[];for(let[y,h]of Object.entries(d.props??{}))if(h.compileTime){let g=n.handles[y];p.push(`${y}=${g?String(g.value):"?"}`)}s.push([`id:${n.id}`,`parent:${n.parentId??""}`,`name:${n.componentName}`,`rev:${d.revision??""}`,`blend:${i.blendMode??"normal"}`,`mask:${m}`,`order:${i.renderOrder??0}`,`visible:${i.visible!==!1}`,`opacity:${u}`,`xform:${c}${c?`:${i.transform?.edges??"transparent"}`:""}`,`bbox:${_}:${_?d.boundingBoxDeclaration?.boxResamplesContent?"resample":d.boundingBoxDeclaration?.supportsResizeFit?"resize":"clip":""}`,`rtt:${!!d.requiresRTT}`,`maps:${i.maps?Object.keys(i.maps).sort().join(","):""}`,`ct:${p.sort().join("|")}`].join("|"));for(let y of e.getChildren(o).sort((h,g)=>h.metadata.renderOrder-g.metadata.renderOrder))r(y.id)};return e.rootId&&r(e.rootId),s}var oz=v.fn([a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(t,s),o=__tsover_add(q(__tsover_sub(r,.5)),.5),n=__tsover_sub(r,o),i=__tsover_add(1,__tsover_mul(__tsover_mul(n,n),__tsover_add(-2.5,__tsover_mul(1.5,n)))),d=__tsover_mul(n,__tsover_add(.5,__tsover_mul(n,__tsover_sub(2,__tsover_mul(1.5,n))))),c=b(__tsover_add(i,d),1e-6),_=__tsover_div(d,c);return f(__tsover_div(__tsover_sub(o,1),s),__tsover_div(__tsover_add(o,_),s),__tsover_div(__tsover_add(o,2),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"texSize"}],body:[0,[[13,"samplePos",[1,"uv","*","texSize"]],[13,"texPos1",[1,[6,"std.floor",[[1,"samplePos","-",[5,"0.5"]]]],"+",[5,"0.5"]]],[13,"f",[1,"samplePos","-","texPos1"]],[13,"w1",[1,[5,"1"],"+",[1,[1,"f","*","f"],"*",[1,[4,"-",[5,"2.5"]],"+",[1,[5,"1.5"],"*","f"]]]]],[13,"w2",[1,"f","*",[1,[5,"0.5"],"+",[1,"f","*",[1,[5,"2"],"-",[1,[5,"1.5"],"*","f"]]]]]],[13,"w12",[6,"std.max",[[1,"w1","+","w2"],[5,"0.000001"]]]],[13,"offset12",[1,"w2","/","w12"]],[10,[6,"d.vec3f",[[1,[1,"texPos1","-",[5,"1"]],"/","texSize"],[1,[1,"texPos1","+","offset12"],"/","texSize"],[1,[1,"texPos1","+",[5,"2"]],"/","texSize"]]]]]]},externals:{"std.floor":()=>q,"std.max":()=>b,"d.vec3f":()=>f}})&&e.f)({})),nz=v.fn([a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(t,s),o=__tsover_add(q(__tsover_sub(r,.5)),.5),n=__tsover_sub(r,o),i=__tsover_mul(n,__tsover_add(-.5,__tsover_mul(n,__tsover_sub(1,__tsover_mul(.5,n))))),d=__tsover_add(1,__tsover_mul(__tsover_mul(n,n),__tsover_add(-2.5,__tsover_mul(1.5,n)))),c=__tsover_mul(n,__tsover_add(.5,__tsover_mul(n,__tsover_sub(2,__tsover_mul(1.5,n))))),_=__tsover_mul(__tsover_mul(n,n),__tsover_add(-.5,__tsover_mul(.5,n)));return f(i,__tsover_add(d,c),_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"texSize"}],body:[0,[[13,"samplePos",[1,"uv","*","texSize"]],[13,"texPos1",[1,[6,"std.floor",[[1,"samplePos","-",[5,"0.5"]]]],"+",[5,"0.5"]]],[13,"f",[1,"samplePos","-","texPos1"]],[13,"w0",[1,"f","*",[1,[4,"-",[5,"0.5"]],"+",[1,"f","*",[1,[5,"1"],"-",[1,[5,"0.5"],"*","f"]]]]]],[13,"w1",[1,[5,"1"],"+",[1,[1,"f","*","f"],"*",[1,[4,"-",[5,"2.5"]],"+",[1,[5,"1.5"],"*","f"]]]]],[13,"w2",[1,"f","*",[1,[5,"0.5"],"+",[1,"f","*",[1,[5,"2"],"-",[1,[5,"1.5"],"*","f"]]]]]],[13,"w3",[1,[1,"f","*","f"],"*",[1,[4,"-",[5,"0.5"]],"+",[1,[5,"0.5"],"*","f"]]]],[10,[6,"d.vec3f",["w0",[1,"w1","+","w2"],"w3"]]]]]},externals:{"std.floor":()=>q,"d.vec3f":()=>f}})&&e.f)({}));var az=0,iz=(e,t,s="linearClamp",r="positive")=>{let o=az++;return new Kt(n=>n.memo(`catmullRom:${o}`,()=>{let i=n.freshLocal("crUV"),d=n.freshLocal("crSize"),c=n.freshLocal("crPosX"),_=n.freshLocal("crPosY"),u=n.freshLocal("crWx"),m=n.freshLocal("crWy"),p=n.freshLocal("crOut");n.statement(`let ${i} = ${t._emit(n)};`),n.statement(`let ${d} = ${e.dimensions()._emit(n)};`);let y=n.external(oz,"catmullRomAxisPositions"),h=n.external(nz,"catmullRomAxisWeights");n.statement(`let ${c} = ${y}(${i}.x, ${d}.x);`),n.statement(`let ${_} = ${y}(${i}.y, ${d}.y);`),n.statement(`let ${u} = ${h}(${i}.x, ${d}.x);`),n.statement(`let ${m} = ${h}(${i}.y, ${d}.y);`),n.statement(`var ${p} = vec4f(0.0, 0.0, 0.0, 0.0);`);let g=["x","y","z"];for(let w of[0,1,2])for(let S of[0,1,2]){let T=new Kt(()=>`vec2f(${c}.${g[S]}, ${_}.${g[w]})`),A=`(${u}.${g[S]} * ${m}.${g[w]})`;n.statement(`${p} += ${e.sample(T,s)._emit(n)} * ${A};`)}return n.statement(r==="unit"?`${p} = clamp(${p}, vec4f(0.0, 0.0, 0.0, 0.0), vec4f(1.0, 1.0, 1.0, 1.0));`:`${p} = max(${p}, vec4f(0.0, 0.0, 0.0, 0.0));`),p}))},dz=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return $(t,l(0,0),l(1,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[10,[6,"std.clamp",["uv",[6,"d.vec2f",[[5,"0"],[5,"0"]]],[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l}})&&e.f)({})),l7=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=bo(z(t.x),2),r=bo(z(t.y),2);return l(C(s,__tsover_sub(2,s),s>=1),C(r,__tsover_sub(2,r),r>=1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"mirrorX",[6,"std.mod",[[6,"std.abs",[[7,"uv","x"]]],[5,"2"]]]],[13,"mirrorY",[6,"std.mod",[[6,"std.abs",[[7,"uv","y"]]],[5,"2"]]]],[10,[6,"d.vec2f",[[6,"std.select",["mirrorX",[1,[5,"2"],"-","mirrorX"],[1,"mirrorX",">=",[5,"1"]]]],[6,"std.select",["mirrorY",[1,[5,"2"],"-","mirrorY"],[1,"mirrorY",">=",[5,"1"]]]]]]]]]},externals:{"std.mod":()=>bo,"std.abs":()=>z,"d.vec2f":()=>l,"std.select":()=>C}})&&e.f)({})),u7=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[10,[6,"std.fract",["uv"]]]]]},externals:{"std.fract":()=>ue}})&&e.f)({})),m7=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_mul(De(0,t.x),De(t.x,1)),r=__tsover_mul(De(0,t.y),De(t.y,1));return __tsover_mul(s,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"inX",[1,[6,"std.step",[[5,"0"],[7,"uv","x"]]],"*",[6,"std.step",[[7,"uv","x"],[5,"1"]]]]],[13,"inY",[1,[6,"std.step",[[5,"0"],[7,"uv","y"]]],"*",[6,"std.step",[[7,"uv","y"],[5,"1"]]]]],[10,[1,"inX","*","inY"]]]]},externals:{"std.step":()=>De}})&&e.f)({})),qv=1,Xv=2,Hv=3;v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.x,t.y,t.z,__tsover_mul(t.w,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"m"}],body:[0,[[10,[6,"d.vec4f",[[7,"color","x"],[7,"color","y"],[7,"color","z"],[1,[7,"color","w"],"*","m"]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({}));var cz=(e,t)=>{switch(t){case qv:return e;case Xv:return we(l7,"edgeMirrorUV",[e]);case Hv:return we(u7,"edgeWrapUV",[e]);default:return we(dz,"edgeClampUV",[e])}},_z=(e,t,s)=>{if(s===qv){let r=we(m7,"edgeTransparentMask",[e]);return{uv:e,mask:t.mul(r)}}return{uv:cz(e,s),mask:t}},Gi=(e,t,s)=>{if(s===qv){let r=t(e),o=we(m7,"edgeTransparentMask",[e]);return Ws(r.member("rgb"),r.member("a").mul(o))}return t(s===Xv?we(l7,"edgeMirrorUV",[e]):s===Hv?we(u7,"edgeWrapUV",[e]):e)},lz=(e,t,s)=>Gi(t,s===Xv?r=>e.sample(r):r=>iz(e,r,s===Hv?"linearRepeat":"linearClamp"),s),Cm=ut({rUV:l,gUV:l,bUV:l}).$name("ChromaticSplitUVs"),uz=v.fn([l,l,a,a],Cm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=s.mul(__tsover_mul(r,.1)),i=.15,d=$(n,l(-i,-i),l(i,i)),c=__tsover_mul(o,.1);return Cm({rUV:t.sub(d.mul(__tsover_add(1,c))),gUV:t.sub(d),bUV:t.sub(d.mul(__tsover_sub(1,c)))})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"disp"},{type:"i",name:"strength"},{type:"i",name:"chromaticSplit"}],body:[0,[[13,"scaled",[6,[7,"disp","mul"],[[1,"strength","*",[5,"0.1"]]]]],[13,"maxDisp",[5,"0.15"]],[13,"clamped",[6,"std.clamp",["scaled",[6,"d.vec2f",[[4,"-","maxDisp"],[4,"-","maxDisp"]]],[6,"d.vec2f",["maxDisp","maxDisp"]]]]],[13,"chromaticScale",[1,"chromaticSplit","*",[5,"0.1"]]],[13,"rUV",[6,[7,"uv","sub"],[[6,[7,"clamped","mul"],[[1,[5,"1"],"+","chromaticScale"]]]]]],[13,"gUV",[6,[7,"uv","sub"],["clamped"]]],[13,"bUV",[6,[7,"uv","sub"],[[6,[7,"clamped","mul"],[[1,[5,"1"],"-","chromaticScale"]]]]]],[10,[6,"ChromaticSplitUVs",[[104,{rUV:"rUV",gUV:"gUV",bUV:"bUV"}]]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l,ChromaticSplitUVs:()=>Cm}})&&e.f)({})),T3=it,G8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(s,Le),o=H(r),n=Y(r),i=__tsover_div(1,3),d=__tsover_sub(1,o),c=__tsover_mul(d,i),_=__tsover_div(n,_a),u=__tsover_add(o,c),m=__tsover_sub(c,_),p=__tsover_add(c,_),y=__tsover_add(c,_),h=__tsover_add(o,c),g=__tsover_sub(c,_),w=__tsover_sub(c,_),S=__tsover_add(c,_),T=__tsover_add(o,c),A=t.x,P=t.y,U=t.z;return x(__tsover_add(__tsover_add(__tsover_mul(A,u),__tsover_mul(P,m)),__tsover_mul(U,p)),__tsover_add(__tsover_add(__tsover_mul(A,y),__tsover_mul(P,h)),__tsover_mul(U,g)),__tsover_add(__tsover_add(__tsover_mul(A,w),__tsover_mul(P,S)),__tsover_mul(U,T)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"shiftDeg"}],body:[0,[[13,"angle",[1,"shiftDeg","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angle"]]],[13,"sinA",[6,"std.sin",["angle"]]],[13,"k",[1,[5,"1"],"/",[5,"3"]]],[13,"oneMinusCos",[1,[5,"1"],"-","cosA"]],[13,"kOneMinusCos",[1,"oneMinusCos","*","k"]],[13,"sinOverSqrt3",[1,"sinA","/","SQRT3"]],[13,"m00",[1,"cosA","+","kOneMinusCos"]],[13,"m01",[1,"kOneMinusCos","-","sinOverSqrt3"]],[13,"m02",[1,"kOneMinusCos","+","sinOverSqrt3"]],[13,"m10",[1,"kOneMinusCos","+","sinOverSqrt3"]],[13,"m11",[1,"cosA","+","kOneMinusCos"]],[13,"m12",[1,"kOneMinusCos","-","sinOverSqrt3"]],[13,"m20",[1,"kOneMinusCos","-","sinOverSqrt3"]],[13,"m21",[1,"kOneMinusCos","+","sinOverSqrt3"]],[13,"m22",[1,"cosA","+","kOneMinusCos"]],[13,"r",[7,"color","x"]],[13,"g",[7,"color","y"]],[13,"b",[7,"color","z"]],[13,"newR",[1,[1,[1,"r","*","m00"],"+",[1,"g","*","m01"]],"+",[1,"b","*","m02"]]],[13,"newG",[1,[1,[1,"r","*","m10"],"+",[1,"g","*","m11"]],"+",[1,"b","*","m12"]]],[13,"newB",[1,[1,[1,"r","*","m20"],"+",[1,"g","*","m21"]],"+",[1,"b","*","m22"]]],[10,[6,"d.vec4f",["newR","newG","newB",[7,"color","w"]]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,SQRT3:()=>_a,"d.vec4f":()=>x}})&&e.f)({})),Y8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=f(t.x,t.y,t.z),o=se(r,f(.2126,.7152,.0722)),n=X(f(o,o,o),r,f(s));return x(n.x,n.y,n.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"intensity"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"luminance",[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"gray",[6,"d.vec3f",["luminance","luminance","luminance"]]],[13,"saturated",[6,"std.mix",["gray","rgb",[6,"d.vec3f",["intensity"]]]]],[10,[6,"d.vec4f",[[7,"saturated","x"],[7,"saturated","y"],[7,"saturated","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.dot":()=>se,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),L8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.x,o=t.y,n=t.z,i=__tsover_div(__tsover_add(__tsover_add(r,o),n),3),d=b(r,b(o,n)),c=__tsover_mul(__tsover_mul(__tsover_sub(d,i),s),-3),_=X(f(r,o,n),f(d,d,d),f(c));return x(_.x,_.y,_.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"adjustment"}],body:[0,[[13,"r",[7,"color","x"]],[13,"g",[7,"color","y"]],[13,"b",[7,"color","z"]],[13,"average",[1,[1,[1,"r","+","g"],"+","b"],"/",[5,"3"]]],[13,"mx",[6,"std.max",["r",[6,"std.max",["g","b"]]]]],[13,"amt",[1,[1,[1,"mx","-","average"],"*","adjustment"],"*",[4,"-",[5,"3"]]]],[13,"rgb",[6,"d.vec3f",["r","g","b"]]],[13,"vibrant",[6,"std.mix",["rgb",[6,"d.vec3f",["mx","mx","mx"]],[6,"d.vec3f",["amt"]]]]],[10,[6,"d.vec4f",[[7,"vibrant","x"],[7,"vibrant","y"],[7,"vibrant","z"],[7,"color","w"]]]]]]},externals:{"std.max":()=>b,"d.vec3f":()=>f,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),I8=v.fn([x,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(r,1),n=f(.5,.5,.5);return x(t.xyz.sub(n).mul(o).add(n).add(f(s,s,s)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"brightness"},{type:"i",name:"contrastRaw"}],body:[0,[[13,"contrast",[1,"contrastRaw","+",[5,"1"]]],[13,"half",[6,"d.vec3f",[[5,"0.5"],[5,"0.5"],[5,"0.5"]]]],[13,"contrasted",[6,[7,[6,[7,[6,[7,[7,"color","xyz"],"sub"],["half"]],"mul"],["contrast"]],"add"],["half"]]],[13,"result",[6,[7,"contrasted","add"],[[6,"d.vec3f",["brightness","brightness","brightness"]]]]],[10,[6,"d.vec4f",["result",[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),D8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.xyz.mul(s),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"gain"}],body:[0,[[13,"rgb",[6,[7,[7,"color","xyz"],"mul"],["gain"]]],[10,[6,"d.vec4f",["rgb",[7,"color","w"]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),F8=v.fn([x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=se(t.xyz,f(.2126,.7152,.0722));return x(s,s,s,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"luminance",[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[10,[6,"d.vec4f",["luminance","luminance","luminance",[7,"color","w"]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),B8=v.fn([x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return x(__tsover_sub(1,t.x),__tsover_sub(1,t.y),__tsover_sub(1,t.z),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,"d.vec4f",[[1,[5,"1"],"-",[7,"color","x"]],[1,[5,"1"],"-",[7,"color","y"]],[1,[5,"1"],"-",[7,"color","z"]],[7,"color","w"]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),W8=v.fn([x,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=f(t.x,t.y,t.z),n=se(o,f(.299,.587,.114)),i=X(o,C(o,f(__tsover_sub(1,t.x),__tsover_sub(1,t.y),__tsover_sub(1,t.z)),n>s),f(r));return x(i.x,i.y,i.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"threshold"},{type:"i",name:"strength"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"luminance",[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"inverted",[6,"d.vec3f",[[1,[5,"1"],"-",[7,"color","x"]],[1,[5,"1"],"-",[7,"color","y"]],[1,[5,"1"],"-",[7,"color","z"]]]]],[13,"solarized",[6,"std.select",["rgb","inverted",[1,"luminance",">","threshold"]]]],[13,"result",[6,"std.mix",["rgb","solarized",[6,"d.vec3f",["strength"]]]]],[10,[6,"d.vec4f",[[7,"result","x"],[7,"result","y"],[7,"result","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.dot":()=>se,"std.select":()=>C,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),O8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=$(s,a(2),a(20));return x(__tsover_div(q(__tsover_mul(t.x,r)),r),__tsover_div(q(__tsover_mul(t.y,r)),r),__tsover_div(q(__tsover_mul(t.z,r)),r),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"steps"}],body:[0,[[13,"s",[6,"std.clamp",["steps",[6,"d.f32",[[5,"2"]]],[6,"d.f32",[[5,"20"]]]]]],[13,"r",[1,[6,"std.floor",[[1,[7,"color","x"],"*","s"]]],"/","s"]],[13,"g",[1,[6,"std.floor",[[1,[7,"color","y"],"*","s"]]],"/","s"]],[13,"b",[1,[6,"std.floor",[[1,[7,"color","z"],"*","s"]]],"/","s"]],[10,[6,"d.vec4f",["r","g","b",[7,"color","w"]]]]]]},externals:{"std.clamp":()=>$,"d.f32":()=>a,"std.floor":()=>q,"d.vec4f":()=>x}})&&e.f)({})),V8=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=X(f(t.x,t.y,t.z),f(s.x,s.y,s.z),f(r));return x(o.x,o.y,o.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"tintColor"},{type:"i",name:"amount"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"tinted",[6,"std.mix",["rgb",[6,"d.vec3f",[[7,"tintColor","x"],[7,"tintColor","y"],[7,"tintColor","z"]]],[6,"d.vec3f",["amount"]]]]],[10,[6,"d.vec4f",[[7,"tinted","x"],[7,"tinted","y"],[7,"tinted","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),N8=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=f(t.x,t.y,t.z),n=X(o,f(s.x,s.y,s.z),f(r)),i=f(.299,.587,.114),d=se(o,i),c=se(n,i),_=n.mul(__tsover_div(d,b(c,1e-4)));return x(_.x,_.y,_.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"tintColor"},{type:"i",name:"amount"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"tinted",[6,"std.mix",["rgb",[6,"d.vec3f",[[7,"tintColor","x"],[7,"tintColor","y"],[7,"tintColor","z"]]],[6,"d.vec3f",["amount"]]]]],[13,"luminanceWeights",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]],[13,"originalLum",[6,"std.dot",["rgb","luminanceWeights"]]],[13,"tintedLum",[6,"std.dot",["tinted","luminanceWeights"]]],[13,"result",[6,[7,"tinted","mul"],[[1,"originalLum","/",[6,"std.max",["tintedLum",[5,"0.0001"]]]]]]],[10,[6,"d.vec4f",[[7,"result","x"],[7,"result","y"],[7,"result","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.mix":()=>X,"std.dot":()=>se,"std.max":()=>b,"d.vec4f":()=>x}})&&e.f)({})),q8=v.fn([x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(t.xyz,f(.299,.587,.114));return re(__tsover_sub(s,.5),__tsover_add(s,.5),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"blend"}],body:[0,[[13,"luminance",[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[10,[6,"std.smoothstep",[[1,"blend","-",[5,"0.5"]],[1,"blend","+",[5,"0.5"]],"luminance"]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.smoothstep":()=>re}})&&e.f)({})),X8=v.fn([x,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(t.xyz,f(.299,.587,.114));return f(re(__tsover_sub(s,.25),s,r),re(s,__tsover_add(s,.25),r),re(__tsover_sub(s,.1),__tsover_add(s,.1),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"blendMid"}],body:[0,[[13,"luminance",[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"shadowToMid",[6,"std.smoothstep",[[1,"blendMid","-",[5,"0.25"]],"blendMid","luminance"]]],[13,"midToHighlight",[6,"std.smoothstep",["blendMid",[1,"blendMid","+",[5,"0.25"]],"luminance"]]],[13,"finalT",[6,"std.smoothstep",[[1,"blendMid","-",[5,"0.1"]],[1,"blendMid","+",[5,"0.1"]],"luminance"]]],[10,[6,"d.vec3f",["shadowToMid","midToHighlight","finalT"]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.smoothstep":()=>re}})&&e.f)({})),H8=v.fn([x,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=se(t.xyz,f(.2126,.7152,.0722)),i=b(__tsover_sub(r,s),1e-4),d=$(__tsover_div(__tsover_sub(n,s),i),0,1);return d=$(__tsover_add(__tsover_mul(__tsover_sub(d,.5),o),.5),0,1),d}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"black"},{type:"i",name:"white"},{type:"i",name:"contrast"}],body:[0,[[13,"luma",[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"range",[6,"std.max",[[1,"white","-","black"],[5,"0.0001"]]]],[12,"t",[6,"std.clamp",[[1,[1,"luma","-","black"],"/","range"],[5,"0"],[5,"1"]]]],[2,"t","=",[6,"std.clamp",[[1,[1,[1,"t","-",[5,"0.5"]],"*","contrast"],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[10,"t"]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.max":()=>b,"std.clamp":()=>$}})&&e.f)({})),j8=v.fn([a,a,f,f,f,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=n.mul(t).add(i).add(f(s,s,s)).mul(T3);return $(r.add(o.mul(H(d))),f(0,0,0),f(1,1,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"phase"},{type:"i",name:"pa"},{type:"i",name:"pb"},{type:"i",name:"pc"},{type:"i",name:"pd"}],body:[0,[[13,"arg",[6,[7,[6,[7,[6,[7,[6,[7,"pc","mul"],["t"]],"add"],["pd"]],"add"],[[6,"d.vec3f",["phase","phase","phase"]]]],"mul"],["TWO_PI"]]],[13,"mapped",[6,[7,"pa","add"],[[6,[7,"pb","mul"],[[6,"std.cos",["arg"]]]]]]],[10,[6,"std.clamp",["mapped",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]]]]},externals:{"d.vec3f":()=>f,TWO_PI:()=>T3,"std.cos":()=>H,"std.clamp":()=>$}})&&e.f)({})),K8=v.fn([a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=ue(__tsover_add(t,s)),o=__tsover_mul(r,3);return l(ue(o),q(o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"phase"}],body:[0,[[13,"t01",[6,"std.fract",[[1,"t","+","phase"]]]],[13,"t3",[1,"t01","*",[5,"3"]]],[10,[6,"d.vec2f",[[6,"std.fract",["t3"]],[6,"std.floor",["t3"]]]]]]]},externals:{"std.fract":()=>ue,"d.vec2f":()=>l,"std.floor":()=>q}})&&e.f)({})),Z8=v.fn([x,x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return C(C(r,s,o<2),t,o<1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"seg0"},{type:"i",name:"seg1"},{type:"i",name:"seg2"},{type:"i",name:"i"}],body:[0,[[13,"upper",[6,"std.select",["seg2","seg1",[1,"i","<",[5,"2"]]]]],[10,[6,"std.select",["upper","seg0",[1,"i","<",[5,"1"]]]]]]]},externals:{"std.select":()=>C}})&&e.f)({})),Q8=v.fn([x,f,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return x(X(t.xyz,s,f(r,r,r)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"mapped"},{type:"i",name:"strength"}],body:[0,[[13,"outRgb",[6,"std.mix",[[7,"color","xyz"],"mapped",[6,"d.vec3f",["strength","strength","strength"]]]]],[10,[6,"d.vec4f",["outRgb",[7,"color","w"]]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),J8=v.fn([x,l,l,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ot(s.mul(r).add(l(i,__tsover_mul(i,1.6180339)))),c=__tsover_sub(__tsover_mul(d,2),1),_=$(se(t.xyz,f(.2126,.7152,.0722)),0,1),u=__tsover_sub(1,_),m=Ce(__tsover_add(u,1e-6),n),p=__tsover_mul(__tsover_mul(c,m),__tsover_mul(o,.1));return x(t.xyz.add(p),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"strength"},{type:"i",name:"bias"},{type:"i",name:"animTime"}],body:[0,[[13,"pixelCoord",[6,[7,"uv","mul"],["viewport"]]],[13,"noiseVal",[6,"hash12",[[6,[7,"pixelCoord","add"],[[6,"d.vec2f",["animTime",[1,"animTime","*",[5,"1.6180339"]]]]]]]]],[13,"grain",[1,[1,"noiseVal","*",[5,"2"]],"-",[5,"1"]]],[13,"brightness",[6,"std.clamp",[[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]],[5,"0"],[5,"1"]]]],[13,"darkness",[1,[5,"1"],"-","brightness"]],[13,"darkFactor",[6,"std.pow",[[1,"darkness","+",[5,"0.000001"]],"bias"]]],[13,"grainIntensity",[1,[1,"grain","*","darkFactor"],"*",[1,"strength","*",[5,"0.1"]]]],[13,"grainedColor",[6,[7,[7,"color","xyz"],"add"],["grainIntensity"]]],[10,[6,"d.vec4f",["grainedColor",[7,"color","w"]]]]]]},externals:{hash12:()=>Ot,"d.vec2f":()=>l,"std.clamp":()=>$,"std.dot":()=>se,"d.vec3f":()=>f,"std.pow":()=>Ce,"d.vec4f":()=>x}})&&e.f)({})),Jl=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ce(C(t,__tsover_sub(1,t),i>.5),n),c=__tsover_add(__tsover_mul(d,s),.5),_=b(Zt(c),1e-4),u=z(__tsover_sub(ue(__tsover_add(c,.5)),.5)),m=__tsover_div(u,_),p=__tsover_add(__tsover_mul(o,.99),.01),y=__tsover_mul(r,__tsover_sub(1,p));return __tsover_sub(1,re(y,r,m))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sourceValue"},{type:"i",name:"levels"},{type:"i",name:"lineWidth"},{type:"i",name:"softness"},{type:"i",name:"gamma"},{type:"i",name:"invert"}],body:[0,[[13,"invertedValue",[6,"std.select",["sourceValue",[1,[5,"1"],"-","sourceValue"],[1,"invert",">",[5,"0.5"]]]]],[13,"sv",[6,"std.pow",["invertedValue","gamma"]]],[13,"scaledValue",[1,[1,"sv","*","levels"],"+",[5,"0.5"]]],[13,"fw",[6,"std.max",[[6,"std.fwidth",["scaledValue"]],[5,"0.0001"]]]],[13,"distFromBoundary",[6,"std.abs",[[1,[6,"std.fract",[[1,"scaledValue","+",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"normalizedDist",[1,"distFromBoundary","/","fw"]],[13,"transitionFactor",[1,[1,"softness","*",[5,"0.99"]],"+",[5,"0.01"]]],[13,"innerEdge",[1,"lineWidth","*",[1,[5,"1"],"-","transitionFactor"]]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",["innerEdge","lineWidth","normalizedDist"]]]]]]},externals:{"std.select":()=>C,"std.pow":()=>Ce,"std.max":()=>b,"std.fwidth":()=>Zt,"std.abs":()=>z,"std.fract":()=>ue,"std.smoothstep":()=>re}})&&e.f)({})),eD=v.fn([x,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return Jl(Gg(t.xyz),s,r,o,n,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"levels"},{type:"i",name:"lineWidth"},{type:"i",name:"softness"},{type:"i",name:"gamma"},{type:"i",name:"invert"}],body:[0,[[10,[6,"contourLineMask",[[6,"luma709Dot",[[7,"color","xyz"]]],"levels","lineWidth","softness","gamma","invert"]]]]]},externals:{contourLineMask:()=>Jl,luma709Dot:()=>Gg}})&&e.f)({})),tD=v.fn([x,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return Jl(t.w,s,r,o,n,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"levels"},{type:"i",name:"lineWidth"},{type:"i",name:"softness"},{type:"i",name:"gamma"},{type:"i",name:"invert"}],body:[0,[[10,[6,"contourLineMask",[[7,"color","w"],"levels","lineWidth","softness","gamma","invert"]]]]]},externals:{contourLineMask:()=>Jl}})&&e.f)({})),sD=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=X(f(t.x,t.y,t.z),f(s.x,s.y,s.z),f(r)),n=X(t.w,s.w,r);return x(o.x,o.y,o.z,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"bg"},{type:"i",name:"line"},{type:"i",name:"mask"}],body:[0,[[13,"rgb",[6,"std.mix",[[6,"d.vec3f",[[7,"bg","x"],[7,"bg","y"],[7,"bg","z"]]],[6,"d.vec3f",[[7,"line","x"],[7,"line","y"],[7,"line","z"]]],[6,"d.vec3f",["mask"]]]]],[13,"alpha",[6,"std.mix",[[7,"bg","w"],[7,"line","w"],"mask"]]],[10,[6,"d.vec4f",[[7,"rgb","x"],[7,"rgb","y"],[7,"rgb","z"],"alpha"]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),Zn=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(__tsover_sub(ue(__tsover_mul(Y(__tsover_mul(t,12.9898)),43758.5453)),.5),2)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"}],body:[0,[[10,[1,[1,[6,"std.fract",[[1,[6,"std.sin",[[1,"x","*",[5,"12.9898"]]]],"*",[5,"43758.5453"]]]],"-",[5,"0.5"]],"*",[5,"2"]]]]]},externals:{"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),rD=v.fn([l,a,l,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(__tsover_mul(r.x,o),r.y),i=l(__tsover_mul(t.x,o),__tsover_sub(1,t.y)),d=n.sub(i),c=__tsover_mul(s,Le),_=l(H(c),Y(c)),u=l(__tsover_mul(_.y,-1),_.x),m=se(d,u),p=d.sub(u.mul(__tsover_mul(m,2))),y=i.add(p),h=l(__tsover_div(y.x,o),y.y),g=De(0,m);return f(h.x,h.y,g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"angle"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"lineDirection",[6,"d.vec2f",[[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]]],[13,"lineNormal",[6,"d.vec2f",[[1,[7,"lineDirection","y"],"*",[4,"-",[5,"1"]]],[7,"lineDirection","x"]]]],[13,"signedDistance",[6,"std.dot",["delta","lineNormal"]]],[13,"reflectedDelta",[6,[7,"delta","sub"],[[6,[7,"lineNormal","mul"],[[1,"signedDistance","*",[5,"2"]]]]]]],[13,"mirroredUV",[6,[7,"centerPos","add"],["reflectedDelta"]]],[13,"finalMirroredUV",[6,"d.vec2f",[[1,[7,"mirroredUV","x"],"/","aspect"],[7,"mirroredUV","y"]]]],[13,"shouldMirror",[6,"std.step",[[5,"0"],"signedDistance"]]],[10,[6,"d.vec3f",[[7,"finalMirroredUV","x"],[7,"finalMirroredUV","y"],"shouldMirror"]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.step":()=>De,"d.vec3f":()=>f}})&&e.f)({})),oD=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(C(t.x,__tsover_sub(1,t.x),s>0),C(t.y,__tsover_sub(1,t.y),r>0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"flipX"},{type:"i",name:"flipY"}],body:[0,[[13,"x",[6,"std.select",[[7,"uv","x"],[1,[5,"1"],"-",[7,"uv","x"]],[1,"flipX",">",[5,"0"]]]]],[13,"y",[6,"std.select",[[7,"uv","y"],[1,[5,"1"],"-",[7,"uv","y"]],[1,"flipY",">",[5,"0"]]]]],[10,[6,"d.vec2f",["x","y"]]]]]},externals:{"std.select":()=>C,"d.vec2f":()=>l}})&&e.f)({})),$a=2,S3=1.2,nD=v.fn([a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,Le),d=l(H(i),Y(i)),c=l(__tsover_mul(d.y,-1),d.x),_=l(__tsover_mul(__tsover_sub(o.x,.5),n),__tsover_sub(o.y,.5)),u=se(_,d),m=se(_,c),p=b(__tsover_mul(__tsover_add(__tsover_mul(z(d.x),n),z(d.y)),.5),.001),y=__tsover_div(u,p),h=__tsover_mul(t,S3),g=__tsover_mul($(s,0,1),.9),w=__tsover_sub(1,g),S=z(y),T=C(a(-1),a(1),y>=0),A=__tsover_mul(h,S),P=__tsover_add(__tsover_mul(__tsover_mul(__tsover_mul($a,$a),w),w),__tsover_mul(__tsover_mul(__tsover_mul(4,A),$a),__tsover_sub(S,g))),U=z(A)<1e-5,D=C(__tsover_mul(A,2),a(1),U),O=C(__tsover_div(__tsover_sub(be(b(P,0)),__tsover_mul($a,w)),D),__tsover_div(__tsover_sub(S,g),w),U),L=C(a(6),b(O,0),P>=0),G=__tsover_mul(T,__tsover_add(g,__tsover_mul(L,w))),W=S<=g,K=C(G,y,W),Q=C(__tsover_mul(__tsover_mul(h,L),L),a(0),W),te=__tsover_div(__tsover_mul(m,__tsover_sub($a,Q)),$a),ee=d.mul(__tsover_mul(K,p)).add(c.mul(te));return l(__tsover_add(__tsover_div(ee.x,n),.5),__tsover_add(ee.y,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"strength"},{type:"i",name:"falloff"},{type:"i",name:"angle"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"dir",[6,"d.vec2f",[[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]]],[13,"perp",[6,"d.vec2f",[[1,[7,"dir","y"],"*",[4,"-",[5,"1"]]],[7,"dir","x"]]]],[13,"p",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],[1,[7,"uv","y"],"-",[5,"0.5"]]]]],[13,"sScreen",[6,"std.dot",["p","dir"]]],[13,"tScreen",[6,"std.dot",["p","perp"]]],[13,"sHalf",[6,"std.max",[[1,[1,[1,[6,"std.abs",[[7,"dir","x"]]],"*","aspect"],"+",[6,"std.abs",[[7,"dir","y"]]]],"*",[5,"0.5"]],[5,"0.001"]]]],[13,"snScreen",[1,"sScreen","/","sHalf"]],[13,"b",[1,"strength","*","B_MAX"]],[13,"f",[1,[6,"std.clamp",["falloff",[5,"0"],[5,"1"]]],"*",[5,"0.9"]]],[13,"fSpan",[1,[5,"1"],"-","f"]],[13,"m",[6,"std.abs",["snScreen"]]],[13,"sig",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"d.f32",[[5,"1"]]],[1,"snScreen",">=",[5,"0"]]]]],[13,"a2",[1,"b","*","m"]],[13,"disc",[1,[1,[1,[1,"CAMERA_D","*","CAMERA_D"],"*","fSpan"],"*","fSpan"],"+",[1,[1,[1,[5,"4"],"*","a2"],"*","CAMERA_D"],"*",[1,"m","-","f"]]]],[13,"nearZero",[1,[6,"std.abs",["a2"]],"<",[5,"0.00001"]]],[13,"denom",[6,"std.select",[[1,"a2","*",[5,"2"]],[6,"d.f32",[[5,"1"]]],"nearZero"]]],[13,"uQuad",[1,[1,[6,"std.sqrt",[[6,"std.max",["disc",[5,"0"]]]]],"-",[1,"CAMERA_D","*","fSpan"]],"/","denom"]],[13,"uOn",[6,"std.select",["uQuad",[1,[1,"m","-","f"],"/","fSpan"],"nearZero"]]],[13,"u",[6,"std.select",[[6,"d.f32",[[5,"6"]]],[6,"std.max",["uOn",[5,"0"]]],[1,"disc",">=",[5,"0"]]]]],[13,"snBend",[1,"sig","*",[1,"f","+",[1,"u","*","fSpan"]]]],[13,"inFlat",[1,"m","<=","f"]],[13,"sn",[6,"std.select",["snBend","snScreen","inFlat"]]],[13,"z",[6,"std.select",[[1,[1,"b","*","u"],"*","u"],[6,"d.f32",[[5,"0"]]],"inFlat"]]],[13,"tSrc",[1,[1,"tScreen","*",[1,"CAMERA_D","-","z"]],"/","CAMERA_D"]],[13,"srcP",[6,[7,[6,[7,"dir","mul"],[[1,"sn","*","sHalf"]]],"add"],[[6,[7,"perp","mul"],["tSrc"]]]]],[10,[6,"d.vec2f",[[1,[1,[7,"srcP","x"],"/","aspect"],"+",[5,"0.5"]],[1,[7,"srcP","y"],"+",[5,"0.5"]]]]]]]},externals:{DEG_TO_RAD:()=>Le,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.max":()=>b,"std.abs":()=>z,B_MAX:()=>S3,"std.clamp":()=>$,"std.select":()=>C,"d.f32":()=>a,CAMERA_D:()=>$a,"std.sqrt":()=>be}})&&e.f)({})),aD=v.fn([l,a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(n.x,i),n.y),c=l(__tsover_mul(t.x,i),__tsover_sub(1,t.y)),_=d.sub(c),u=j(_),m=__tsover_mul(r,.5),p=__tsover_mul(m,b(__tsover_sub(__tsover_sub(1,o),.001),0)),y=__tsover_sub(1,re(p,m,u)),h=__tsover_div(u,m),g=__tsover_mul(h,h),w=b(0,__tsover_sub(1,g)),S=__tsover_mul(y,w),T=__tsover_mul(s,-1),A=__tsover_mul(T,S),P=__tsover_add(1,A),U=_.mul(P),D=c.add(U);return l(__tsover_div(D.x,i),D.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"strength"},{type:"i",name:"radius"},{type:"i",name:"falloff"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"distance",[6,"std.length",["delta"]]],[13,"effectRadius",[1,"radius","*",[5,"0.5"]]],[13,"innerRadius",[1,"effectRadius","*",[6,"std.max",[[1,[1,[5,"1"],"-","falloff"],"-",[5,"0.001"]],[5,"0"]]]]],[13,"smoothFalloff",[1,[5,"1"],"-",[6,"std.smoothstep",["innerRadius","effectRadius","distance"]]]],[13,"normalizedDist",[1,"distance","/","effectRadius"]],[13,"distSq",[1,"normalizedDist","*","normalizedDist"]],[13,"quadraticFalloff",[6,"std.max",[[5,"0"],[1,[5,"1"],"-","distSq"]]]],[13,"falloffTotal",[1,"smoothFalloff","*","quadraticFalloff"]],[13,"negStrength",[1,"strength","*",[4,"-",[5,"1"]]]],[13,"displacementAmount",[1,"negStrength","*","falloffTotal"]],[13,"scaleFactor",[1,[5,"1"],"+","displacementAmount"]],[13,"bulgedDelta",[6,[7,"delta","mul"],["scaleFactor"]]],[13,"bulgedUV",[6,[7,"centerPos","add"],["bulgedDelta"]]],[10,[6,"d.vec2f",[[1,[7,"bulgedUV","x"],"/","aspect"],[7,"bulgedUV","y"]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.max":()=>b,"std.smoothstep":()=>re}})&&e.f)({})),iD=v.fn([l,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(t.x,__tsover_sub(1,t.y)),i=r.sub(n),d=l(__tsover_mul(i.x,o),i.y),c=__tsover_mul(s,j(d)),_=H(c),u=Y(c),m=__tsover_sub(__tsover_mul(_,d.x),__tsover_mul(u,d.y)),p=__tsover_add(__tsover_mul(u,d.x),__tsover_mul(_,d.y));return l(__tsover_add(__tsover_div(m,o),n.x),__tsover_add(p,n.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"intensity"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"uv","sub"],["centerPos"]]],[13,"acd",[6,"d.vec2f",[[1,[7,"delta","x"],"*","aspect"],[7,"delta","y"]]]],[13,"angle",[1,"intensity","*",[6,"std.length",["acd"]]]],[13,"cosA",[6,"std.cos",["angle"]]],[13,"sinA",[6,"std.sin",["angle"]]],[13,"rotatedX",[1,[1,"cosA","*",[7,"acd","x"]],"-",[1,"sinA","*",[7,"acd","y"]]]],[13,"rotatedY",[1,[1,"sinA","*",[7,"acd","x"]],"+",[1,"cosA","*",[7,"acd","y"]]]],[10,[6,"d.vec2f",[[1,[1,"rotatedX","/","aspect"],"+",[7,"centerPos","x"]],[1,"rotatedY","+",[7,"centerPos","y"]]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),dD=v.fn([l,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(o.x,n),o.y),d=l(__tsover_mul(t.x,n),__tsover_sub(1,t.y)),c=i.sub(d),_=j(c),u=tt(c.y,c.x),m=__tsover_add(u,__tsover_mul(r,Le)),p=__tsover_div(it,s),y=__tsover_mul(p,2),h=__tsover_sub(m,__tsover_mul(y,q(__tsover_div(m,y)))),g=C(h,__tsover_sub(y,h),h>p),w=__tsover_mul(H(g),_),S=__tsover_mul(Y(g),_),T=d.add(l(w,S));return l(__tsover_div(T.x,n),T.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"segments"},{type:"i",name:"angle"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"radius",[6,"std.length",["delta"]]],[13,"currentAngle",[6,"std.atan2",[[7,"delta","y"],[7,"delta","x"]]]],[13,"rotatedAngle",[1,"currentAngle","+",[1,"angle","*","DEG_TO_RAD"]]],[13,"segmentAngle",[1,"TAU","/","segments"]],[13,"segTwo",[1,"segmentAngle","*",[5,"2"]]],[13,"wrappedAngle",[1,"rotatedAngle","-",[1,"segTwo","*",[6,"std.floor",[[1,"rotatedAngle","/","segTwo"]]]]]],[13,"finalAngle",[6,"std.select",["wrappedAngle",[1,"segTwo","-","wrappedAngle"],[1,"wrappedAngle",">","segmentAngle"]]]],[13,"kaleidoscopeX",[1,[6,"std.cos",["finalAngle"]],"*","radius"]],[13,"kaleidoscopeY",[1,[6,"std.sin",["finalAngle"]],"*","radius"]],[13,"kaleidoscopePos",[6,[7,"centerPos","add"],[[6,"d.vec2f",["kaleidoscopeX","kaleidoscopeY"]]]]],[10,[6,"d.vec2f",[[1,[7,"kaleidoscopePos","x"],"/","aspect"],[7,"kaleidoscopePos","y"]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.atan2":()=>tt,DEG_TO_RAD:()=>Le,TAU:()=>it,"std.floor":()=>q,"std.select":()=>C,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),cD=v.fn([l,a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(n.x,i),n.y),c=l(__tsover_mul(t.x,i),__tsover_sub(1,t.y)),_=d.sub(c),u=__tsover_mul(r,Le),m=l(H(u),Y(u)),p=se(_,m),y=m.mul(p),h=_.sub(y),g=X(.001,75,o),w=$(__tsover_div(p,g),0,1),S=__tsover_mul(s,100),T=__tsover_add(1,__tsover_mul(S,w)),A=__tsover_div(p,T),P=m.mul(A).add(h),U=c.add(P);return l(__tsover_div(U.x,i),U.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"strength"},{type:"i",name:"angle"},{type:"i",name:"falloff"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"directionVector",[6,"d.vec2f",[[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]]],[13,"projection",[6,"std.dot",["delta","directionVector"]]],[13,"parallel",[6,[7,"directionVector","mul"],["projection"]]],[13,"perpendicular",[6,[7,"delta","sub"],["parallel"]]],[13,"transitionWidth",[6,"std.mix",[[5,"0.001"],[5,"75"],"falloff"]]],[13,"effectMask",[6,"std.clamp",[[1,"projection","/","transitionWidth"],[5,"0"],[5,"1"]]]],[13,"scaledStrength",[1,"strength","*",[5,"100"]]],[13,"stretchFactor",[1,[5,"1"],"+",[1,"scaledStrength","*","effectMask"]]],[13,"finalProjection",[1,"projection","/","stretchFactor"]],[13,"finalParallel",[6,[7,"directionVector","mul"],["finalProjection"]]],[13,"stretchedDelta",[6,[7,"finalParallel","add"],["perpendicular"]]],[13,"stretchedUV",[6,[7,"centerPos","add"],["stretchedDelta"]]],[10,[6,"d.vec2f",[[1,[7,"stretchedUV","x"],"/","aspect"],[7,"stretchedUV","y"]]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.mix":()=>X,"std.clamp":()=>$}})&&e.f)({})),cn=v.fn([l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=t.sub(l(.5,.5)),d=l(__tsover_mul(i.x,s),i.y),c=__tsover_mul(r,Le),_=H(c),u=Y(c),m=__tsover_add(__tsover_mul(d.x,u),__tsover_mul(d.y,_));return __tsover_add(__tsover_mul(__tsover_mul(__tsover_add(m,.5),o),it),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"t"}],body:[0,[[13,"centeredUV",[6,[7,"uv","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"centeredUV","x"],"*","aspect"],[7,"centeredUV","y"]]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"rotatedY",[1,[1,[7,"aspectCorrectedUV","x"],"*","sinA"],"+",[1,[7,"aspectCorrectedUV","y"],"*","cosA"]]],[10,[1,[1,[1,[1,"rotatedY","+",[5,"0.5"]],"*","frequency"],"*","TAU"],"+","t"]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,TAU:()=>it}})&&e.f)({})),_n=v.fn([l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,Le),d=H(i),c=Y(i),_=__tsover_mul(__tsover_mul(n,o),.5),u=__tsover_div(__tsover_mul(_,d),s),m=__tsover_mul(_,c);return l(__tsover_add(t.x,u),__tsover_add(t.y,m))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"strength"},{type:"i",name:"wave"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"displacement",[1,[1,"wave","*","strength"],"*",[5,"0.5"]]],[13,"displacementX",[1,[1,"displacement","*","cosA"],"/","aspect"]],[13,"displacementY",[1,"displacement","*","sinA"]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+","displacementX"],[1,[7,"uv","y"],"+","displacementY"]]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),A3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Y(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[10,[6,"std.sin",["phase"]]]]]},externals:{"std.sin":()=>Y}})&&e.f)({})),M3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ue(__tsover_div(t,it));return __tsover_sub(__tsover_mul(z(__tsover_sub(__tsover_mul(s,2),1)),2),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[13,"normalizedPhase",[6,"std.fract",[[1,"phase","/","TAU"]]]],[10,[1,[1,[6,"std.abs",[[1,[1,"normalizedPhase","*",[5,"2"]],"-",[5,"1"]]]],"*",[5,"2"]],"-",[5,"1"]]]]]},externals:{"std.fract":()=>ue,TAU:()=>it,"std.abs":()=>z}})&&e.f)({})),P3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ue(__tsover_div(t,it));return __tsover_sub(__tsover_mul(De(.5,s),2),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[13,"normalizedPhase",[6,"std.fract",[[1,"phase","/","TAU"]]]],[10,[1,[1,[6,"std.step",[[5,"0.5"],"normalizedPhase"]],"*",[5,"2"]],"-",[5,"1"]]]]]},externals:{"std.fract":()=>ue,TAU:()=>it,"std.step":()=>De}})&&e.f)({})),E3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ue(__tsover_div(t,it));return __tsover_sub(__tsover_mul(s,2),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[13,"normalizedPhase",[6,"std.fract",[[1,"phase","/","TAU"]]]],[10,[1,[1,"normalizedPhase","*",[5,"2"]],"-",[5,"1"]]]]]},externals:{"std.fract":()=>ue,TAU:()=>it}})&&e.f)({})),k3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return z(Y(t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[10,[6,"std.abs",[[6,"std.sin",["phase"]]]]]]]},externals:{"std.abs":()=>z,"std.sin":()=>Y}})&&e.f)({})),_D=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,A3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformSine",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformSine:()=>A3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),lD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,M3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformTriangle",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformTriangle:()=>M3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),uD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,P3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformSquare",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformSquare:()=>P3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),mD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,E3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformSawtooth",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformSawtooth:()=>E3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),pD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,k3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformBounce",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformBounce:()=>k3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),fD=v.fn([l,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(o.x,n),o.y),d=l(__tsover_mul(t.x,n),__tsover_sub(1,t.y)),c=i.sub(d),_=tt(c.y,c.x),u=__tsover_div(__tsover_add(_,Xr),it),m=j(c);return l(__tsover_mul(u,s),__tsover_mul(m,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"wrap"},{type:"i",name:"radius"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"theta",[6,"std.atan2",[[7,"delta","y"],[7,"delta","x"]]]],[13,"normalizedAngle",[1,[1,"theta","+","PI"],"/","TAU"]],[13,"r",[6,"std.length",["delta"]]],[13,"u",[1,"normalizedAngle","*","wrap"]],[13,"v",[1,"r","*","radius"]],[10,[6,"d.vec2f",["u","v"]]]]]},externals:{"d.vec2f":()=>l,"std.atan2":()=>tt,PI:()=>Xr,TAU:()=>it,"std.length":()=>j}})&&e.f)({})),vD=v.fn([l,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(__tsover_mul(r.x,it),Xr),i=__tsover_mul(r.y,s),d=__tsover_mul(i,H(n)),c=__tsover_mul(i,Y(n)),_=l(t.x,__tsover_sub(1,t.y));return l(__tsover_add(__tsover_div(d,o),_.x),__tsover_add(c,_.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"scale"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"theta",[1,[1,[7,"uv","x"],"*","TAU"],"-","PI"]],[13,"r",[1,[7,"uv","y"],"*","scale"]],[13,"rectX",[1,"r","*",[6,"std.cos",["theta"]]]],[13,"rectY",[1,"r","*",[6,"std.sin",["theta"]]]],[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[10,[6,"d.vec2f",[[1,[1,"rectX","/","aspect"],"+",[7,"centerPos","x"]],[1,"rectY","+",[7,"centerPos","y"]]]]]]]},externals:{TAU:()=>it,PI:()=>Xr,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),Yi=1e-8,Od=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_div(t,C(s,Yi,z(s)C,EPS:()=>Yi,"std.abs":()=>z}})&&e.f)({})),ki=v.fn([l,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(r.x,s.x),n=__tsover_sub(r.y,s.y),i=__tsover_sub(t.x,s.x),d=__tsover_sub(t.y,s.y);return __tsover_sub(__tsover_mul(o,d),__tsover_mul(n,i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"}],body:[0,[[13,"bax",[1,[7,"b","x"],"-",[7,"a","x"]]],[13,"bay",[1,[7,"b","y"],"-",[7,"a","y"]]],[13,"pax",[1,[7,"p","x"],"-",[7,"a","x"]]],[13,"pay",[1,[7,"p","y"],"-",[7,"a","y"]]],[10,[1,[1,"bax","*","pay"],"-",[1,"bay","*","pax"]]]]]},externals:{}})&&e.f)({})),$3=v.fn([l,l,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=ki(t,s,r),i=ki(t,r,o),d=ki(t,o,s),c=__tsover_mul(__tsover_mul(De(a(0),n),De(a(0),i)),De(a(0),d)),_=__tsover_mul(__tsover_mul(De(n,a(0)),De(i,a(0))),De(d,a(0)));return __tsover_add(c,_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"c"}],body:[0,[[13,"d1",[6,"cornerSideOf",["p","a","b"]]],[13,"d2",[6,"cornerSideOf",["p","b","c"]]],[13,"d3",[6,"cornerSideOf",["p","c","a"]]],[13,"allPos",[1,[1,[6,"std.step",[[6,"d.f32",[[5,"0"]]],"d1"]],"*",[6,"std.step",[[6,"d.f32",[[5,"0"]]],"d2"]]],"*",[6,"std.step",[[6,"d.f32",[[5,"0"]]],"d3"]]]],[13,"allNeg",[1,[1,[6,"std.step",["d1",[6,"d.f32",[[5,"0"]]]]],"*",[6,"std.step",["d2",[6,"d.f32",[[5,"0"]]]]]],"*",[6,"std.step",["d3",[6,"d.f32",[[5,"0"]]]]]]],[10,[1,"allPos","+","allNeg"]]]]},externals:{cornerSideOf:()=>ki,"std.step":()=>De,"d.f32":()=>a}})&&e.f)({})),U3=v.fn([l,l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=r.sub(s),i=$(__tsover_div(se(t.sub(s),n),b(se(n,n),Yi)),0,1),d=s.add(n.mul(i)),c=l(__tsover_mul(n.y,-1),n.x).div(b(j(n),Yi)),_=__tsover_mul(__tsover_mul(ks(o),-1),.004);return d.add(c.mul(_))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"refSide"}],body:[0,[[13,"ab",[6,[7,"b","sub"],["a"]]],[13,"t",[6,"std.clamp",[[1,[6,"std.dot",[[6,[7,"p","sub"],["a"]],"ab"]],"/",[6,"std.max",[[6,"std.dot",["ab","ab"]],"EPS"]]],[5,"0"],[5,"1"]]]],[13,"foot",[6,[7,"a","add"],[[6,[7,"ab","mul"],["t"]]]]],[13,"perp",[6,[7,[6,"d.vec2f",[[1,[7,"ab","y"],"*",[4,"-",[5,"1"]]],[7,"ab","x"]]],"div"],[[6,"std.max",[[6,"std.length",["ab"]],"EPS"]]]]],[13,"nudge",[1,[1,[6,"std.sign",["refSide"]],"*",[4,"-",[5,"1"]]],"*",[5,"0.004"]]],[10,[6,[7,"foot","add"],[[6,[7,"perp","mul"],["nudge"]]]]]]]},externals:{"std.clamp":()=>$,"std.dot":()=>se,"std.max":()=>b,EPS:()=>Yi,"d.vec2f":()=>l,"std.length":()=>j,"std.sign":()=>ks}})&&e.f)({})),Vd=v.fn([l,l,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=$3(t,s,r,o)>.5;return C(t,U3(t,s,r,ki(o,s,r)),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"o"}],body:[0,[[13,"inside",[1,[6,"cornerInsideTri",["p","a","b","o"]],">",[5,"0.5"]]],[13,"proj",[6,"cornerProjectToDiagonal",["p","a","b",[6,"cornerSideOf",["o","a","b"]]]]],[10,[6,"std.select",["p","proj","inside"]]]]]},externals:{cornerInsideTri:()=>$3,cornerProjectToDiagonal:()=>U3,cornerSideOf:()=>ki,"std.select":()=>C}})&&e.f)({})),yD=v.fn([l,a,l,l,l,l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(s,s),c=X(l(0,0),l(r.x,__tsover_sub(1,r.y)),d),_=X(l(1,0),l(o.x,__tsover_sub(1,o.y)),d),u=X(l(1,1),l(n.x,__tsover_sub(1,n.y)),d),m=X(l(0,1),l(i.x,__tsover_sub(1,i.y)),d),p=Vd(c,_,m,u),y=Vd(_,c,u,m),h=Vd(u,_,m,c),g=Vd(m,c,u,_),w=__tsover_sub(y.x,h.x),S=__tsover_sub(g.x,h.x),T=__tsover_sub(__tsover_add(__tsover_sub(p.x,y.x),h.x),g.x),A=__tsover_sub(y.y,h.y),P=__tsover_sub(g.y,h.y),U=__tsover_sub(__tsover_add(__tsover_sub(p.y,y.y),h.y),g.y),D=__tsover_sub(__tsover_mul(w,P),__tsover_mul(S,A)),O=Od(__tsover_sub(__tsover_mul(T,P),__tsover_mul(S,U)),D),L=Od(__tsover_sub(__tsover_mul(w,U),__tsover_mul(T,A)),D),G=__tsover_add(__tsover_sub(y.x,p.x),__tsover_mul(O,y.x)),W=__tsover_add(__tsover_sub(g.x,p.x),__tsover_mul(L,g.x)),K=p.x,Q=__tsover_add(__tsover_sub(y.y,p.y),__tsover_mul(O,y.y)),te=__tsover_add(__tsover_sub(g.y,p.y),__tsover_mul(L,g.y)),ee=p.y,he=__tsover_sub(te,__tsover_mul(ee,L)),Ee=__tsover_mul(__tsover_sub(W,__tsover_mul(K,L)),-1),Te=__tsover_sub(__tsover_mul(W,ee),__tsover_mul(K,te)),Ue=__tsover_mul(__tsover_sub(Q,__tsover_mul(ee,O)),-1),Me=__tsover_sub(G,__tsover_mul(K,O)),Pe=__tsover_mul(__tsover_sub(__tsover_mul(G,ee),__tsover_mul(K,Q)),-1),Re=__tsover_sub(__tsover_mul(Q,L),__tsover_mul(te,O)),de=__tsover_mul(__tsover_sub(__tsover_mul(G,L),__tsover_mul(W,O)),-1),je=__tsover_sub(__tsover_mul(G,te),__tsover_mul(W,Q)),fe=t.x,Ke=t.y,Ze=__tsover_add(__tsover_add(__tsover_mul(Re,fe),__tsover_mul(de,Ke)),je),at=Od(__tsover_add(__tsover_add(__tsover_mul(he,fe),__tsover_mul(Ee,Ke)),Te),Ze),Fe=Od(__tsover_add(__tsover_add(__tsover_mul(Ue,fe),__tsover_mul(Me,Ke)),Pe),Ze),Ie=__tsover_add(__tsover_add(__tsover_mul(G,he),__tsover_mul(W,Ue)),__tsover_mul(K,Re));return f(at,Fe,De(a(0),__tsover_mul(Ze,Ie)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"},{type:"i",name:"amount"},{type:"i",name:"c0"},{type:"i",name:"c1"},{type:"i",name:"c2"},{type:"i",name:"c3"}],body:[0,[[13,"amt",[6,"d.vec2f",["amount","amount"]]],[13,"r0",[6,"std.mix",[[6,"d.vec2f",[[5,"0"],[5,"0"]]],[6,"d.vec2f",[[7,"c0","x"],[1,[5,"1"],"-",[7,"c0","y"]]]],"amt"]]],[13,"r1",[6,"std.mix",[[6,"d.vec2f",[[5,"1"],[5,"0"]]],[6,"d.vec2f",[[7,"c1","x"],[1,[5,"1"],"-",[7,"c1","y"]]]],"amt"]]],[13,"r2",[6,"std.mix",[[6,"d.vec2f",[[5,"1"],[5,"1"]]],[6,"d.vec2f",[[7,"c2","x"],[1,[5,"1"],"-",[7,"c2","y"]]]],"amt"]]],[13,"r3",[6,"std.mix",[[6,"d.vec2f",[[5,"0"],[5,"1"]]],[6,"d.vec2f",[[7,"c3","x"],[1,[5,"1"],"-",[7,"c3","y"]]]],"amt"]]],[13,"q0",[6,"cornerConvexify",["r0","r1","r3","r2"]]],[13,"q1",[6,"cornerConvexify",["r1","r0","r2","r3"]]],[13,"q2",[6,"cornerConvexify",["r2","r1","r3","r0"]]],[13,"q3",[6,"cornerConvexify",["r3","r0","r2","r1"]]],[13,"dx1",[1,[7,"q1","x"],"-",[7,"q2","x"]]],[13,"dx2",[1,[7,"q3","x"],"-",[7,"q2","x"]]],[13,"dx3",[1,[1,[1,[7,"q0","x"],"-",[7,"q1","x"]],"+",[7,"q2","x"]],"-",[7,"q3","x"]]],[13,"dy1",[1,[7,"q1","y"],"-",[7,"q2","y"]]],[13,"dy2",[1,[7,"q3","y"],"-",[7,"q2","y"]]],[13,"dy3",[1,[1,[1,[7,"q0","y"],"-",[7,"q1","y"]],"+",[7,"q2","y"]],"-",[7,"q3","y"]]],[13,"denA",[1,[1,"dx1","*","dy2"],"-",[1,"dx2","*","dy1"]]],[13,"a13",[6,"cornerPinSafeDiv",[[1,[1,"dx3","*","dy2"],"-",[1,"dx2","*","dy3"]],"denA"]]],[13,"a23",[6,"cornerPinSafeDiv",[[1,[1,"dx1","*","dy3"],"-",[1,"dx3","*","dy1"]],"denA"]]],[13,"a11",[1,[1,[7,"q1","x"],"-",[7,"q0","x"]],"+",[1,"a13","*",[7,"q1","x"]]]],[13,"a21",[1,[1,[7,"q3","x"],"-",[7,"q0","x"]],"+",[1,"a23","*",[7,"q3","x"]]]],[13,"a31",[7,"q0","x"]],[13,"a12",[1,[1,[7,"q1","y"],"-",[7,"q0","y"]],"+",[1,"a13","*",[7,"q1","y"]]]],[13,"a22",[1,[1,[7,"q3","y"],"-",[7,"q0","y"]],"+",[1,"a23","*",[7,"q3","y"]]]],[13,"a32",[7,"q0","y"]],[13,"c00",[1,"a22","-",[1,"a32","*","a23"]]],[13,"c10",[1,[1,"a21","-",[1,"a31","*","a23"]],"*",[4,"-",[5,"1"]]]],[13,"c20",[1,[1,"a21","*","a32"],"-",[1,"a31","*","a22"]]],[13,"c01",[1,[1,"a12","-",[1,"a32","*","a13"]],"*",[4,"-",[5,"1"]]]],[13,"c11",[1,"a11","-",[1,"a31","*","a13"]]],[13,"c21",[1,[1,[1,"a11","*","a32"],"-",[1,"a31","*","a12"]],"*",[4,"-",[5,"1"]]]],[13,"c02",[1,[1,"a12","*","a23"],"-",[1,"a22","*","a13"]]],[13,"c12",[1,[1,[1,"a11","*","a23"],"-",[1,"a21","*","a13"]],"*",[4,"-",[5,"1"]]]],[13,"c22",[1,[1,"a11","*","a22"],"-",[1,"a21","*","a12"]]],[13,"px",[7,"coord","x"]],[13,"py",[7,"coord","y"]],[13,"den",[1,[1,[1,"c02","*","px"],"+",[1,"c12","*","py"]],"+","c22"]],[13,"su",[6,"cornerPinSafeDiv",[[1,[1,[1,"c00","*","px"],"+",[1,"c10","*","py"]],"+","c20"],"den"]]],[13,"sv",[6,"cornerPinSafeDiv",[[1,[1,[1,"c01","*","px"],"+",[1,"c11","*","py"]],"+","c21"],"den"]]],[13,"det",[1,[1,[1,"a11","*","c00"],"+",[1,"a21","*","c01"]],"+",[1,"a31","*","c02"]]],[13,"front",[6,"std.step",[[6,"d.f32",[[5,"0"]]],[1,"den","*","det"]]]],[10,[6,"d.vec3f",["su","sv","front"]]]]]},externals:{"d.vec2f":()=>l,"std.mix":()=>X,cornerConvexify:()=>Vd,cornerPinSafeDiv:()=>Od,"std.step":()=>De,"d.f32":()=>a,"d.vec3f":()=>f}})&&e.f)({})),hD=v.fn([l,a,a,a,a,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=l(t.x,__tsover_sub(1,t.y)),_=__tsover_div(__tsover_sub(d.x,c.x),n),u=__tsover_div(__tsover_sub(d.y,c.y),n),m=__tsover_mul(s,Le),p=__tsover_mul(r,Le),y=__tsover_mul(o,Le),h=H(m),g=Y(m),w=H(p),S=Y(p),T=__tsover_mul(bp(__tsover_mul(y,.5)),2),A=b(__tsover_add(h,__tsover_mul(__tsover_mul(g,_),T)),.001),P=__tsover_div(_,A),U=__tsover_div(__tsover_mul(u,h),A),D=b(__tsover_add(w,__tsover_mul(__tsover_mul(S,U),T)),.001),O=__tsover_div(__tsover_mul(P,w),D),L=__tsover_div(U,D),G=l(i.x,__tsover_sub(1,i.y));return l(O,L).add(c).sub(G).add(l(.5,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"pan"},{type:"i",name:"tilt"},{type:"i",name:"fov"},{type:"i",name:"zoom"},{type:"i",name:"offset"},{type:"i",name:"uv"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"x",[1,[1,[7,"uv","x"],"-",[7,"centerPos","x"]],"/","zoom"]],[13,"y",[1,[1,[7,"uv","y"],"-",[7,"centerPos","y"]],"/","zoom"]],[13,"panRad",[1,"pan","*","DEG_TO_RAD"]],[13,"tiltRad",[1,"tilt","*","DEG_TO_RAD"]],[13,"fovRad",[1,"fov","*","DEG_TO_RAD"]],[13,"cosPan",[6,"std.cos",["panRad"]]],[13,"sinPan",[6,"std.sin",["panRad"]]],[13,"cosTilt",[6,"std.cos",["tiltRad"]]],[13,"sinTilt",[6,"std.sin",["tiltRad"]]],[13,"perspectiveFactor",[1,[6,"std.tan",[[1,"fovRad","*",[5,"0.5"]]]],"*",[5,"2"]]],[13,"panDivisor",[1,"cosPan","+",[1,[1,"sinPan","*","x"],"*","perspectiveFactor"]]],[13,"safePanDivisor",[6,"std.max",["panDivisor",[5,"0.001"]]]],[13,"afterPanX",[1,"x","/","safePanDivisor"]],[13,"afterPanY",[1,[1,"y","*","cosPan"],"/","safePanDivisor"]],[13,"tiltDivisor",[1,"cosTilt","+",[1,[1,"sinTilt","*","afterPanY"],"*","perspectiveFactor"]]],[13,"safeTiltDivisor",[6,"std.max",["tiltDivisor",[5,"0.001"]]]],[13,"finalX",[1,[1,"afterPanX","*","cosTilt"],"/","safeTiltDivisor"]],[13,"finalY",[1,"afterPanY","/","safeTiltDivisor"]],[13,"offsetPos",[6,"d.vec2f",[[7,"offset","x"],[1,[5,"1"],"-",[7,"offset","y"]]]]],[10,[6,[7,[6,[7,[6,[7,[6,"d.vec2f",["finalX","finalY"]],"add"],["centerPos"]],"sub"],["offsetPos"]],"add"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.tan":()=>bp,"std.max":()=>b}})&&e.f)({})),C3=v.fn([l,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(r.x,__tsover_sub(1,r.y)),i=__tsover_mul(__tsover_sub(t.x,n.x),s),d=__tsover_sub(t.y,n.y),c=H(o),_=Y(o),u=__tsover_sub(__tsover_mul(i,c),__tsover_mul(d,_)),m=__tsover_add(__tsover_mul(i,_),__tsover_mul(d,c));return l(__tsover_add(__tsover_div(u,s),n.x),__tsover_add(m,n.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"},{type:"i",name:"angle"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dx",[1,[1,[7,"uv","x"],"-",[7,"centerPos","x"]],"*","aspect"]],[13,"dy",[1,[7,"uv","y"],"-",[7,"centerPos","y"]]],[13,"cosA",[6,"std.cos",["angle"]]],[13,"sinA",[6,"std.sin",["angle"]]],[13,"rotX",[1,[1,"dx","*","cosA"],"-",[1,"dy","*","sinA"]]],[13,"rotY",[1,[1,"dx","*","sinA"],"+",[1,"dy","*","cosA"]]],[10,[6,"d.vec2f",[[1,[1,"rotX","/","aspect"],"+",[7,"centerPos","x"]],[1,"rotY","+",[7,"centerPos","y"]]]]]]]},externals:{"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),xD=v.fn([l,a,a,a,a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=l(t.x,__tsover_sub(1,t.y)),m=j(l(__tsover_mul(__tsover_sub(c.x,u.x),_),__tsover_sub(c.y,u.y))),p=__tsover_mul(m,r),y=q(p),h=ue(p),g=__tsover_mul(s,Le),w=__tsover_mul(n,.137),S=__tsover_mul(Zn(__tsover_add(y,w)),g),T=__tsover_mul(Zn(__tsover_add(__tsover_add(y,1),w)),g),A=X(1,Zn(__tsover_add(y,42.7)),i),P=X(1,Zn(__tsover_add(__tsover_add(y,1),42.7)),i),U=__tsover_mul(__tsover_mul(d,.25),A),D=__tsover_mul(__tsover_mul(d,.25),P),O=__tsover_add(S,U),L=__tsover_add(T,D),G=__tsover_add(__tsover_sub(L,O),Xr),W=__tsover_sub(__tsover_sub(G,__tsover_mul(it,q(__tsover_div(G,it)))),Xr),K=__tsover_add(__tsover_mul(o,.5),.001),Q=re(__tsover_sub(.5,K),__tsover_add(.5,K),h);return C3(c,_,t,__tsover_add(O,__tsover_mul(W,Q)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"intensity"},{type:"i",name:"rings"},{type:"i",name:"smoothness"},{type:"i",name:"seed"},{type:"i",name:"speedRandomness"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dx",[1,[1,[7,"uv","x"],"-",[7,"centerPos","x"]],"*","aspect"]],[13,"dy",[1,[7,"uv","y"],"-",[7,"centerPos","y"]]],[13,"dist",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[13,"ringCoord",[1,"dist","*","rings"]],[13,"ringIndex",[6,"std.floor",["ringCoord"]]],[13,"ringFrac",[6,"std.fract",["ringCoord"]]],[13,"maxAngle",[1,"intensity","*","DEG_TO_RAD"]],[13,"seedOffset",[1,"seed","*",[5,"0.137"]]],[13,"staticA",[1,[6,"legacySinHash11",[[1,"ringIndex","+","seedOffset"]]],"*","maxAngle"]],[13,"staticB",[1,[6,"legacySinHash11",[[1,[1,"ringIndex","+",[5,"1"]],"+","seedOffset"]]],"*","maxAngle"]],[13,"ringSpeedA",[6,"std.mix",[[5,"1"],[6,"legacySinHash11",[[1,"ringIndex","+",[5,"42.7"]]]],"speedRandomness"]]],[13,"ringSpeedB",[6,"std.mix",[[5,"1"],[6,"legacySinHash11",[[1,[1,"ringIndex","+",[5,"1"]],"+",[5,"42.7"]]]],"speedRandomness"]]],[13,"animA",[1,[1,"animTime","*",[5,"0.25"]],"*","ringSpeedA"]],[13,"animB",[1,[1,"animTime","*",[5,"0.25"]],"*","ringSpeedB"]],[13,"totalA",[1,"staticA","+","animA"]],[13,"totalB",[1,"staticB","+","animB"]],[13,"wrapArg",[1,[1,"totalB","-","totalA"],"+","PI"]],[13,"diff",[1,[1,"wrapArg","-",[1,"TAU","*",[6,"std.floor",[[1,"wrapArg","/","TAU"]]]]],"-","PI"]],[13,"halfEdge",[1,[1,"smoothness","*",[5,"0.5"]],"+",[5,"0.001"]]],[13,"blend",[6,"std.smoothstep",[[1,[5,"0.5"],"-","halfEdge"],[1,[5,"0.5"],"+","halfEdge"],"ringFrac"]]],[13,"angle",[1,"totalA","+",[1,"diff","*","blend"]]],[10,[6,"csRotateUV",["uv","aspect","center","angle"]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.floor":()=>q,"std.fract":()=>ue,DEG_TO_RAD:()=>Le,legacySinHash11:()=>Zn,"std.mix":()=>X,PI:()=>Xr,TAU:()=>it,"std.smoothstep":()=>re,csRotateUV:()=>C3}})&&e.f)({})),gD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(t.x,s),t.y),c=__tsover_mul(n,.7),_=__tsover_mul(i,.2),u=__tsover_mul(go(f(__tsover_add(__tsover_mul(d.x,r),__tsover_mul(c,.3)),__tsover_add(__tsover_mul(d.y,r),__tsover_mul(c,.5)),_)),ao),m=l(H(u),Y(u)),p=__tsover_mul(n,.5),y=__tsover_mul(i,.15),h=__tsover_mul(go(f(__tsover_add(__tsover_add(__tsover_mul(d.x,__tsover_mul(r,2.3)),__tsover_mul(p,-.4)),173.5),__tsover_add(__tsover_add(__tsover_mul(d.y,__tsover_mul(r,2.3)),__tsover_mul(p,.3)),291.7),__tsover_add(y,50))),ao),g=l(H(h),Y(h)),w=__tsover_mul(n,.3),S=__tsover_mul(i,.1),T=__tsover_mul(go(f(__tsover_add(__tsover_add(__tsover_mul(d.x,__tsover_mul(r,4.7)),__tsover_mul(w,.2)),527.3),__tsover_add(__tsover_add(__tsover_mul(d.y,__tsover_mul(r,4.7)),__tsover_mul(w,-.6)),839.1),__tsover_add(S,100))),ao),A=l(H(T),Y(T)),P=m.add(g.mul(.5)).add(A.mul(.25)),U=b(j(P),.001),D=P.div(U),O=l(__tsover_div(__tsover_mul(D.x,o),s),__tsover_mul(D.y,o));return l(__tsover_add(t.x,O.x),__tsover_add(t.y,O.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"scale"},{type:"i",name:"strength"},{type:"i",name:"time"},{type:"i",name:"evolutionTime"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"drift1",[1,"time","*",[5,"0.7"]]],[13,"evolve1",[1,"evolutionTime","*",[5,"0.2"]]],[13,"angle1",[1,[6,"mxNoiseFloat3",[[6,"d.vec3f",[[1,[1,[7,"aspectCorrectedUV","x"],"*","scale"],"+",[1,"drift1","*",[5,"0.3"]]],[1,[1,[7,"aspectCorrectedUV","y"],"*","scale"],"+",[1,"drift1","*",[5,"0.5"]]],"evolve1"]]]],"*","TWO_PI"]],[13,"flow1",[6,"d.vec2f",[[6,"std.cos",["angle1"]],[6,"std.sin",["angle1"]]]]],[13,"drift2",[1,"time","*",[5,"0.5"]]],[13,"evolve2",[1,"evolutionTime","*",[5,"0.15"]]],[13,"angle2",[1,[6,"mxNoiseFloat3",[[6,"d.vec3f",[[1,[1,[1,[7,"aspectCorrectedUV","x"],"*",[1,"scale","*",[5,"2.3"]]],"+",[1,"drift2","*",[4,"-",[5,"0.4"]]]],"+",[5,"173.5"]],[1,[1,[1,[7,"aspectCorrectedUV","y"],"*",[1,"scale","*",[5,"2.3"]]],"+",[1,"drift2","*",[5,"0.3"]]],"+",[5,"291.7"]],[1,"evolve2","+",[5,"50"]]]]]],"*","TWO_PI"]],[13,"flow2",[6,"d.vec2f",[[6,"std.cos",["angle2"]],[6,"std.sin",["angle2"]]]]],[13,"drift3",[1,"time","*",[5,"0.3"]]],[13,"evolve3",[1,"evolutionTime","*",[5,"0.1"]]],[13,"angle3",[1,[6,"mxNoiseFloat3",[[6,"d.vec3f",[[1,[1,[1,[7,"aspectCorrectedUV","x"],"*",[1,"scale","*",[5,"4.7"]]],"+",[1,"drift3","*",[5,"0.2"]]],"+",[5,"527.3"]],[1,[1,[1,[7,"aspectCorrectedUV","y"],"*",[1,"scale","*",[5,"4.7"]]],"+",[1,"drift3","*",[4,"-",[5,"0.6"]]]],"+",[5,"839.1"]],[1,"evolve3","+",[5,"100"]]]]]],"*","TWO_PI"]],[13,"flow3",[6,"d.vec2f",[[6,"std.cos",["angle3"]],[6,"std.sin",["angle3"]]]]],[13,"combinedFlow",[6,[7,[6,[7,"flow1","add"],[[6,[7,"flow2","mul"],[[5,"0.5"]]]]],"add"],[[6,[7,"flow3","mul"],[[5,"0.25"]]]]]],[13,"flowLength",[6,"std.max",[[6,"std.length",["combinedFlow"]],[5,"0.001"]]]],[13,"normalizedFlow",[6,[7,"combinedFlow","div"],["flowLength"]]],[13,"finalFlow",[6,"d.vec2f",[[1,[1,[7,"normalizedFlow","x"],"*","strength"],"/","aspect"],[1,[7,"normalizedFlow","y"],"*","strength"]]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[7,"finalFlow","x"]],[1,[7,"uv","y"],"+",[7,"finalFlow","y"]]]]]]]},externals:{"d.vec2f":()=>l,mxNoiseFloat3:()=>go,"d.vec3f":()=>f,TWO_PI:()=>ao,"std.cos":()=>H,"std.sin":()=>Y,"std.max":()=>b,"std.length":()=>j}})&&e.f)({})),bD=v.fn([l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,Le),d=l(H(i),Y(i)),c=l(__tsover_mul(__tsover_sub(t.x,.5),s),__tsover_sub(t.y,.5)),_=se(c,d),u=__tsover_mul(.5,__tsover_add(__tsover_mul(s,z(d.x)),z(d.y))),m=__tsover_add(__tsover_div(_,__tsover_mul(2,u)),.5),p=q(__tsover_mul(m,b(o,1))),y=__tsover_sub(__tsover_mul(ue(__tsover_mul(p,.5)),4),1),h=l(-d.y,d.x),g=__tsover_mul(.5,__tsover_add(__tsover_mul(s,z(d.y)),z(d.x))),w=__tsover_mul(__tsover_mul(n,__tsover_mul(2.02,g)),y),S=c.add(h.mul(w));return l(__tsover_add(__tsover_div(S.x,s),.5),__tsover_add(S.y,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angleDeg"},{type:"i",name:"sliceCount"},{type:"i",name:"progress"}],body:[0,[[13,"a",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"dir",[6,"d.vec2f",[[6,"std.cos",["a"]],[6,"std.sin",["a"]]]]],[13,"p",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],[1,[7,"uv","y"],"-",[5,"0.5"]]]]],[13,"grad",[6,"std.dot",["p","dir"]]],[13,"ext",[1,[5,"0.5"],"*",[1,[1,"aspect","*",[6,"std.abs",[[7,"dir","x"]]]],"+",[6,"std.abs",[[7,"dir","y"]]]]]],[13,"t",[1,[1,"grad","/",[1,[5,"2"],"*","ext"]],"+",[5,"0.5"]]],[13,"idx",[6,"std.floor",[[1,"t","*",[6,"std.max",["sliceCount",[5,"1"]]]]]]],[13,"sign",[1,[1,[6,"std.fract",[[1,"idx","*",[5,"0.5"]]]],"*",[5,"4"]],"-",[5,"1"]]],[13,"perp",[6,"d.vec2f",[[4,"-",[7,"dir","y"]],[7,"dir","x"]]]],[13,"extPerp",[1,[5,"0.5"],"*",[1,[1,"aspect","*",[6,"std.abs",[[7,"dir","y"]]]],"+",[6,"std.abs",[[7,"dir","x"]]]]]],[13,"slide",[1,[1,"progress","*",[1,[5,"2.02"],"*","extPerp"]],"*","sign"]],[13,"q",[6,[7,"p","add"],[[6,[7,"perp","mul"],["slide"]]]]],[10,[6,"d.vec2f",[[1,[1,[7,"q","x"],"/","aspect"],"+",[5,"0.5"]],[1,[7,"q","y"],"+",[5,"0.5"]]]]]]]},externals:{DEG_TO_RAD:()=>Le,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.abs":()=>z,"std.floor":()=>q,"std.max":()=>b,"std.fract":()=>ue}})&&e.f)({})),R3=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(r,Le),i=H(n),d=Y(n),c=__tsover_mul(t.x,s),_=t.y,u=__tsover_sub(c,__tsover_mul(s,.5)),m=__tsover_sub(_,.5),p=__tsover_add(__tsover_mul(u,i),__tsover_mul(m,d)),y=__tsover_add(__tsover_mul(__tsover_mul(u,d),-1),__tsover_mul(m,i)),h=__tsover_add(y,o),g=__tsover_sub(__tsover_mul(p,i),__tsover_mul(h,d)),w=__tsover_add(__tsover_mul(p,d),__tsover_mul(h,i));return l(__tsover_add(__tsover_div(g,s),.5),__tsover_add(w,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"offset"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"au",[1,[7,"uv","x"],"*","aspect"]],[13,"av",[7,"uv","y"]],[13,"cu",[1,"au","-",[1,"aspect","*",[5,"0.5"]]]],[13,"cv",[1,"av","-",[5,"0.5"]]],[13,"projectedU",[1,[1,"cu","*","cosA"],"+",[1,"cv","*","sinA"]]],[13,"projectedV",[1,[1,[1,"cu","*","sinA"],"*",[4,"-",[5,"1"]]],"+",[1,"cv","*","cosA"]]],[13,"distPV",[1,"projectedV","+","offset"]],[13,"dcu",[1,[1,"projectedU","*","cosA"],"-",[1,"distPV","*","sinA"]]],[13,"dcv",[1,[1,"projectedU","*","sinA"],"+",[1,"distPV","*","cosA"]]],[10,[6,"d.vec2f",[[1,[1,"dcu","/","aspect"],"+",[5,"0.5"]],[1,"dcv","+",[5,"0.5"]]]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),wD=v.fn([a,a,a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_mul(s,Le),_=H(c),u=Y(c),m=b(d,1),p=__tsover_mul(i.x,d),y=i.y,h=__tsover_sub(p,__tsover_mul(d,.5)),g=__tsover_sub(y,.5),w=__tsover_add(__tsover_mul(h,_),__tsover_mul(g,u)),S=q(__tsover_div(__tsover_mul(w,t),m)),T=__tsover_mul(o,.137),A=Zn(__tsover_add(S,T)),P=Zn(__tsover_add(__tsover_add(S,T),42.7)),U=__tsover_mul(__tsover_mul(n,P),.2);return R3(i,d,s,__tsover_mul(__tsover_add(A,U),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"count"},{type:"i",name:"angle"},{type:"i",name:"intensity"},{type:"i",name:"seed"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"longestAxis",[6,"std.max",["aspect",[5,"1"]]]],[13,"au",[1,[7,"uv","x"],"*","aspect"]],[13,"av",[7,"uv","y"]],[13,"cu",[1,"au","-",[1,"aspect","*",[5,"0.5"]]]],[13,"cv",[1,"av","-",[5,"0.5"]]],[13,"projectedU",[1,[1,"cu","*","cosA"],"+",[1,"cv","*","sinA"]]],[13,"barCoord",[1,[1,"projectedU","*","count"],"/","longestAxis"]],[13,"barIndex",[6,"std.floor",["barCoord"]]],[13,"seedOffset",[1,"seed","*",[5,"0.137"]]],[13,"staticOffset",[6,"legacySinHash11",[[1,"barIndex","+","seedOffset"]]]],[13,"barSpeed",[6,"legacySinHash11",[[1,[1,"barIndex","+","seedOffset"],"+",[5,"42.7"]]]]],[13,"animOffset",[1,[1,"animTime","*","barSpeed"],"*",[5,"0.2"]]],[13,"offset",[1,[1,"staticOffset","+","animOffset"],"*","intensity"]],[10,[6,"barSampleUV",["uv","aspect","angle","offset"]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.max":()=>b,"std.floor":()=>q,legacySinHash11:()=>Zn,barSampleUV:()=>R3}})&&e.f)({})),TD=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=r>1,n=b(C(__tsover_mul(s,r),s,o),1),i=b(C(s,__tsover_div(s,r),o),1),d=q(__tsover_mul(t.x,n)),c=q(__tsover_mul(t.y,i));return l(__tsover_div(__tsover_add(d,.5),n),__tsover_div(__tsover_add(c,.5),i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"gridSize"},{type:"i",name:"aspect"}],body:[0,[[13,"isWide",[1,"aspect",">",[5,"1"]]],[13,"cellsX",[6,"std.max",[[6,"std.select",[[1,"gridSize","*","aspect"],"gridSize","isWide"]],[5,"1"]]]],[13,"cellsY",[6,"std.max",[[6,"std.select",["gridSize",[1,"gridSize","/","aspect"],"isWide"]],[5,"1"]]]],[13,"cellIndexX",[6,"std.floor",[[1,[7,"uv","x"],"*","cellsX"]]]],[13,"cellIndexY",[6,"std.floor",[[1,[7,"uv","y"],"*","cellsY"]]]],[10,[6,"d.vec2f",[[1,[1,"cellIndexX","+",[5,"0.5"]],"/","cellsX"],[1,[1,"cellIndexY","+",[5,"0.5"]],"/","cellsY"]]]]]]},externals:{"std.max":()=>b,"std.select":()=>C,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),SD=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let o=$(s,l(-.1,-.1),l(.1,.1));return t.sub(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"disp"}],body:[0,[[13,"maxDisp",[5,"0.1"]],[13,"clamped",[6,"std.clamp",["disp",[6,"d.vec2f",[[4,"-","maxDisp"],[4,"-","maxDisp"]]],[6,"d.vec2f",["maxDisp","maxDisp"]]]]],[10,[6,[7,"uv","sub"],["clamped"]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l}})&&e.f)({})),AD=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=s.mul(__tsover_mul(r,.1)),n=.15,i=$(o,l(-n,-n),l(n,n));return t.sub(i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"disp"},{type:"i",name:"intensity"}],body:[0,[[13,"scaled",[6,[7,"disp","mul"],[[1,"intensity","*",[5,"0.1"]]]]],[13,"maxDisp",[5,"0.15"]],[13,"clamped",[6,"std.clamp",["scaled",[6,"d.vec2f",[[4,"-","maxDisp"],[4,"-","maxDisp"]]],[6,"d.vec2f",["maxDisp","maxDisp"]]]]],[10,[6,[7,"uv","sub"],["clamped"]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l}})&&e.f)({})),MD=v.fn([l,x,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(s.w,1e-4),i=__tsover_div(__tsover_mul(__tsover_mul(__tsover_mul(__tsover_sub(__tsover_div(s.x,n),.5),2),s.w),o),r),d=__tsover_mul(__tsover_mul(__tsover_mul(__tsover_sub(__tsover_div(s.y,n),.5),2),s.w),o);return l(__tsover_add(t.x,i),__tsover_add(t.y,d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"src"},{type:"i",name:"aspect"},{type:"i",name:"amount"}],body:[0,[[13,"a",[6,"std.max",[[7,"src","w"],[5,"0.0001"]]]],[13,"dx",[1,[1,[1,[1,[1,[1,[7,"src","x"],"/","a"],"-",[5,"0.5"]],"*",[5,"2"]],"*",[7,"src","w"]],"*","amount"],"/","aspect"]],[13,"dy",[1,[1,[1,[1,[1,[7,"src","y"],"/","a"],"-",[5,"0.5"]],"*",[5,"2"]],"*",[7,"src","w"]],"*","amount"]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+","dx"],[1,[7,"uv","y"],"+","dy"]]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),PD=v.fn([l,x,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=b(s.w,1e-4),d=se(f(__tsover_div(s.x,i),__tsover_div(s.y,i),__tsover_div(s.z,i)),f(.2126,.7152,.0722)),c=__tsover_mul(__tsover_mul(__tsover_mul(__tsover_sub(d,.5),2),s.w),o),_=__tsover_mul(n,Le),u=__tsover_div(__tsover_mul(c,H(_)),r),m=__tsover_mul(c,Y(_));return l(__tsover_add(t.x,u),__tsover_add(t.y,m))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"src"},{type:"i",name:"aspect"},{type:"i",name:"amount"},{type:"i",name:"angleDeg"}],body:[0,[[13,"a",[6,"std.max",[[7,"src","w"],[5,"0.0001"]]]],[13,"lum",[6,"std.dot",[[6,"d.vec3f",[[1,[7,"src","x"],"/","a"],[1,[7,"src","y"],"/","a"],[1,[7,"src","z"],"/","a"]]],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"scalar",[1,[1,[1,[1,"lum","-",[5,"0.5"]],"*",[5,"2"]],"*",[7,"src","w"]],"*","amount"]],[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"dx",[1,[1,"scalar","*",[6,"std.cos",["angleRad"]]],"/","aspect"]],[13,"dy",[1,"scalar","*",[6,"std.sin",["angleRad"]]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+","dx"],[1,[7,"uv","y"],"+","dy"]]]]]]},externals:{"std.max":()=>b,"std.dot":()=>se,"d.vec3f":()=>f,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),Rm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({refractedUV:l,chrOff:l,slope:a}),"FlutedGeom"),ED=v.fn([l,a,a,a,a,a,a,a,a,a,f],Rm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=m.x,y=m.y,h=m.z,g=__tsover_div(__tsover_mul(o,Xr),180),w=H(g),S=Y(g),T=l(__tsover_mul(__tsover_sub(t.x,.5),s),__tsover_sub(t.y,.5)),A=__tsover_add(__tsover_mul(T.x,w),__tsover_mul(T.y,S)),P=__tsover_add(__tsover_mul(-T.x,S),__tsover_mul(T.y,w)),U=__tsover_mul(Y(__tsover_add(__tsover_mul(__tsover_mul(P,c),__tsover_mul(Xr,2)),__tsover_mul(r,2))),d),D=__tsover_add(A,__tsover_mul(h,U)),O=__tsover_add(__tsover_mul(D,n),r),L=__tsover_mul(__tsover_sub(ue(O),.5),2),G=b(z(L),1e-4),W=X(p,y,i),K=__tsover_mul(ks(L),Ce(G,W)),Q=__tsover_div(.5,b(n,.001)),te=-__tsover_mul(__tsover_mul(K,_),Q),ee=l(__tsover_add(t.x,__tsover_div(__tsover_mul(te,w),s)),__tsover_add(t.y,__tsover_mul(te,S))),he=__tsover_mul(__tsover_mul(te,u),.5);return Rm({refractedUV:ee,chrOff:l(__tsover_div(__tsover_mul(he,w),s),__tsover_mul(he,S)),slope:K})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"t"},{type:"i",name:"angleDeg"},{type:"i",name:"frequency"},{type:"i",name:"softness"},{type:"i",name:"waveAmp"},{type:"i",name:"waveFreq"},{type:"i",name:"refraction"},{type:"i",name:"aberration"},{type:"i",name:"shapeParams"}],body:[0,[[13,"expHi",[7,"shapeParams","x"]],[13,"expLo",[7,"shapeParams","y"]],[13,"wavesFlag",[7,"shapeParams","z"]],[13,"r",[1,[1,"angleDeg","*","PI"],"/",[5,"180"]]],[13,"cosA",[6,"std.cos",["r"]]],[13,"sinA",[6,"std.sin",["r"]]],[13,"aspCorr",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],[1,[7,"uv","y"],"-",[5,"0.5"]]]]],[13,"u",[1,[1,[7,"aspCorr","x"],"*","cosA"],"+",[1,[7,"aspCorr","y"],"*","sinA"]]],[13,"v",[1,[1,[4,"-",[7,"aspCorr","x"]],"*","sinA"],"+",[1,[7,"aspCorr","y"],"*","cosA"]]],[13,"waveTerm",[1,[6,"std.sin",[[1,[1,[1,"v","*","waveFreq"],"*",[1,"PI","*",[5,"2"]]],"+",[1,"t","*",[5,"2"]]]]],"*","waveAmp"]],[13,"fluteU",[1,"u","+",[1,"wavesFlag","*","waveTerm"]]],[13,"flutePos",[1,[1,"fluteU","*","frequency"],"+","t"]],[13,"cellPos",[1,[1,[6,"std.fract",["flutePos"]],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"absCell",[6,"std.max",[[6,"std.abs",["cellPos"]],[5,"0.0001"]]]],[13,"exponent",[6,"std.mix",["expHi","expLo","softness"]]],[13,"slope",[1,[6,"std.sign",["cellPos"]],"*",[6,"std.pow",["absCell","exponent"]]]],[13,"halfCell",[1,[5,"0.5"],"/",[6,"std.max",["frequency",[5,"0.001"]]]]],[13,"refrU",[4,"-",[1,[1,"slope","*","refraction"],"*","halfCell"]]],[13,"refractedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[1,"refrU","*","cosA"],"/","aspect"]],[1,[7,"uv","y"],"+",[1,"refrU","*","sinA"]]]]],[13,"chrU",[1,[1,"refrU","*","aberration"],"*",[5,"0.5"]]],[13,"chrOff",[6,"d.vec2f",[[1,[1,"chrU","*","cosA"],"/","aspect"],[1,"chrU","*","sinA"]]]],[10,[6,"FlutedGeom",[[104,{refractedUV:"refractedUV",chrOff:"chrOff",slope:"slope"}]]]]]]},externals:{PI:()=>Xr,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l,"std.fract":()=>ue,"std.max":()=>b,"std.abs":()=>z,"std.mix":()=>X,"std.sign":()=>ks,"std.pow":()=>Ce,FlutedGeom:()=>Rm}})&&e.f)({})),kD=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=oe(__tsover_mul(t,t),1),i=be(__tsover_sub(1,n)),d=__tsover_div(__tsover_mul(s,Xr),360),c=Y(d),_=H(d),u=b(__tsover_add(__tsover_mul(t,c),__tsover_mul(i,_)),0),m=$l(__tsover_sub(8,__tsover_mul(o,7))),p=Ce(__tsover_sub(1,i),5),y=__tsover_add(.04,__tsover_mul(.96,p));return __tsover_mul(__tsover_mul(Ce(u,m),y),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"slope"},{type:"i",name:"lightAngleDeg"},{type:"i",name:"intensity"},{type:"i",name:"softness"}],body:[0,[[13,"slopeSq",[6,"std.min",[[1,"slope","*","slope"],[5,"1"]]]],[13,"nz",[6,"std.sqrt",[[1,[5,"1"],"-","slopeSq"]]]],[13,"half",[1,[1,"lightAngleDeg","*","PI"],"/",[5,"360"]]],[13,"hx",[6,"std.sin",["half"]]],[13,"hy",[6,"std.cos",["half"]]],[13,"nDotH",[6,"std.max",[[1,[1,"slope","*","hx"],"+",[1,"nz","*","hy"]],[5,"0"]]]],[13,"shininess",[6,"std.exp2",[[1,[5,"8"],"-",[1,"softness","*",[5,"7"]]]]]],[13,"fresnel",[6,"std.pow",[[1,[5,"1"],"-","nz"],[5,"5"]]]],[13,"fresnelMix",[1,[5,"0.04"],"+",[1,[5,"0.96"],"*","fresnel"]]],[10,[1,[1,[6,"std.pow",["nDotH","shininess"]],"*","fresnelMix"],"*","intensity"]]]]},externals:{"std.min":()=>oe,"std.sqrt":()=>be,PI:()=>Xr,"std.sin":()=>Y,"std.cos":()=>H,"std.max":()=>b,"std.exp2":()=>$l,"std.pow":()=>Ce}})&&e.f)({})),zm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({curlUV:l,theta:a,distPastCrease:a,distIntoPeel:a,flatReach:a,peelReach:a,foldBlend:a,showCurl:a}),"PagePeelGeom"),$D=v.fn([l,a,a,a,a,a,a,a],zm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=l(__tsover_mul(t.x,s),t.y),u=l(__tsover_mul(r,s),o),m=l(__tsover_mul(n,s),i).sub(u),p=j(m),y=m.mul(__tsover_div(1,p)),h=se(_.sub(u),y),g=__tsover_mul(d,p),w=g,S=b(__tsover_mul(c,p),1e-4),T=__tsover_div(g,S),A=__tsover_div(__tsover_sub(h,w),S),P=xp($(A,0,1)),U=__tsover_mul(De(0,A),De(A,1)),D=De(P,T),O=__tsover_sub(g,__tsover_mul(S,P)),L=_.add(y.mul(__tsover_sub(O,h))),G=l(__tsover_div(L.x,s),L.y),W=__tsover_mul(__tsover_mul(__tsover_mul(De(0,G.x),De(G.x,1)),De(0,G.y)),De(G.y,1)),K=__tsover_sub(1,H($(T,0,Gl))),Q=__tsover_mul(S,K),te=b(__tsover_add(S,__tsover_mul(Q,.5)),1e-4),ee=__tsover_sub(h,w),he=b(__tsover_mul(Q,2.5),1e-4);return zm({curlUV:G,theta:P,distPastCrease:ee,distIntoPeel:__tsover_sub(w,h),flatReach:te,peelReach:he,foldBlend:re(__tsover_sub(w,.0015),__tsover_add(w,.0015),h),showCurl:__tsover_mul(__tsover_mul(U,D),W)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"cornerX"},{type:"i",name:"cornerY"},{type:"i",name:"oppX"},{type:"i",name:"oppY"},{type:"i",name:"amount"},{type:"i",name:"radius"}],body:[0,[[13,"pA",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"cornerA",[6,"d.vec2f",[[1,"cornerX","*","aspect"],"cornerY"]]],[13,"oppA",[6,"d.vec2f",[[1,"oppX","*","aspect"],"oppY"]]],[13,"axisVec",[6,[7,"oppA","sub"],["cornerA"]]],[13,"L",[6,"std.length",["axisVec"]]],[13,"axis",[6,[7,"axisVec","mul"],[[1,[5,"1"],"/","L"]]]],[13,"t",[6,"std.dot",[[6,[7,"pA","sub"],["cornerA"]],"axis"]]],[13,"peel",[1,"amount","*","L"]],[13,"cFold","peel"],[13,"R",[6,"std.max",[[1,"radius","*","L"],[5,"0.0001"]]]],[13,"thetaMax",[1,"peel","/","R"]],[13,"X",[1,[1,"t","-","cFold"],"/","R"]],[13,"Xc",[6,"std.clamp",["X",[5,"0"],[5,"1"]]]],[13,"theta",[6,"std.asin",["Xc"]]],[13,"inBand",[1,[6,"std.step",[[5,"0"],"X"]],"*",[6,"std.step",["X",[5,"1"]]]]],[13,"paper",[6,"std.step",["theta","thetaMax"]]],[13,"cCurl",[1,"peel","-",[1,"R","*","theta"]]],[13,"sourceA",[6,[7,"pA","add"],[[6,[7,"axis","mul"],[[1,"cCurl","-","t"]]]]]],[13,"curlUV",[6,"d.vec2f",[[1,[7,"sourceA","x"],"/","aspect"],[7,"sourceA","y"]]]],[13,"curlInBounds",[1,[1,[1,[6,"std.step",[[5,"0"],[7,"curlUV","x"]]],"*",[6,"std.step",[[7,"curlUV","x"],[5,"1"]]]],"*",[6,"std.step",[[5,"0"],[7,"curlUV","y"]]]],"*",[6,"std.step",[[7,"curlUV","y"],[5,"1"]]]]],[13,"liftFrac",[1,[5,"1"],"-",[6,"std.cos",[[6,"std.clamp",["thetaMax",[5,"0"],"HALF_PI"]]]]]],[13,"lipHeight",[1,"R","*","liftFrac"]],[13,"flatReach",[6,"std.max",[[1,"R","+",[1,"lipHeight","*",[5,"0.5"]]],[5,"0.0001"]]]],[13,"distPastCrease",[1,"t","-","cFold"]],[13,"peelReach",[6,"std.max",[[1,"lipHeight","*",[5,"2.5"]],[5,"0.0001"]]]],[13,"distIntoPeel",[1,"cFold","-","t"]],[13,"foldBlend",[6,"std.smoothstep",[[1,"cFold","-",[5,"0.0015"]],[1,"cFold","+",[5,"0.0015"]],"t"]]],[13,"showCurl",[1,[1,"inBand","*","paper"],"*","curlInBounds"]],[10,[6,"PagePeelGeom",[[104,{curlUV:"curlUV",theta:"theta",distPastCrease:"distPastCrease",distIntoPeel:"distIntoPeel",flatReach:"flatReach",peelReach:"peelReach",foldBlend:"foldBlend",showCurl:"showCurl"}]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.dot":()=>se,"std.max":()=>b,"std.clamp":()=>$,"std.asin":()=>xp,"std.step":()=>De,"std.cos":()=>H,HALF_PI:()=>Gl,"std.smoothstep":()=>re,PagePeelGeom:()=>zm}})&&e.f)({})),UD=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=H(t);return __tsover_sub(1,__tsover_mul(s,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"theta"},{type:"i",name:"shading"}],body:[0,[[13,"facing",[6,"std.cos",["theta"]]],[10,[1,[5,"1"],"-",[1,"shading","*","facing"]]]]]},externals:{"std.cos":()=>H}})&&e.f)({})),CD=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(t,Gl),n=X(.05,.4,r),i=__tsover_div(__tsover_sub(o,.65),n);return __tsover_mul(ct(__tsover_mul(__tsover_mul(i,i),-.5)),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"theta"},{type:"i",name:"intensity"},{type:"i",name:"softness"}],body:[0,[[13,"thetaN",[1,"theta","/","HALF_PI"]],[13,"specSigma",[6,"std.mix",[[5,"0.05"],[5,"0.4"],"softness"]]],[13,"specDelta",[1,[1,"thetaN","-",[5,"0.65"]],"/","specSigma"]],[10,[1,[6,"std.exp",[[1,[1,"specDelta","*","specDelta"],"*",[4,"-",[5,"0.5"]]]]],"*","intensity"]]]]},externals:{HALF_PI:()=>Gl,"std.mix":()=>X,"std.exp":()=>ct}})&&e.f)({})),eu=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(re(0,.04,t),Ce(__tsover_sub(1,t),.7))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"amount"}],body:[0,[[10,[1,[6,"std.smoothstep",[[5,"0"],[5,"0.04"],"amount"]],"*",[6,"std.pow",[[1,[5,"1"],"-","amount"],[5,"0.7"]]]]]]]},externals:{"std.smoothstep":()=>re,"std.pow":()=>Ce}})&&e.f)({})),tu=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_mul(Ce(__tsover_sub(1,re(0,s,t)),r),De(0,t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"reach"},{type:"i",name:"exponent"}],body:[0,[[10,[1,[6,"std.pow",[[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"reach","dist"]]],"exponent"]],"*",[6,"std.step",[[5,"0"],"dist"]]]]]]},externals:{"std.pow":()=>Ce,"std.smoothstep":()=>re,"std.step":()=>De}})&&e.f)({})),RD=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(tu(t,s,2),eu(r));return __tsover_sub(1,__tsover_mul(__tsover_mul(o,n),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"reach"},{type:"i",name:"amount"},{type:"i",name:"shadow"}],body:[0,[[13,"fall",[1,[6,"shadowFalloff",["dist","reach",[5,"2"]]],"*",[6,"liftShadowStrength",["amount"]]]],[10,[1,[5,"1"],"-",[1,[1,"shadow","*","fall"],"*",[5,"0.5"]]]]]]},externals:{shadowFalloff:()=>tu,liftShadowStrength:()=>eu}})&&e.f)({})),zD=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(__tsover_mul(tu(t,s,1.5),eu(r)),o);return __tsover_mul(n,.6)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"reach"},{type:"i",name:"amount"},{type:"i",name:"shadow"}],body:[0,[[13,"fall",[1,[1,[6,"shadowFalloff",["dist","reach",[5,"1.5"]]],"*",[6,"liftShadowStrength",["amount"]]],"*","shadow"]],[10,[1,"fall","*",[5,"0.6"]]]]]},externals:{shadowFalloff:()=>tu,liftShadowStrength:()=>eu}})&&e.f)({})),GD=v.fn([x,x,a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=x(t.xyz.mul(r).add(__tsover_mul(o,t.w)),t.w),u=x(s.xyz.mul(n),s.w);return C(X(x(0,0,0,i),u,x(d)),_,c>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"curlSample"},{type:"i",name:"flatSample"},{type:"i",name:"curlBright"},{type:"i",name:"spec"},{type:"i",name:"flatShade"},{type:"i",name:"peelAlpha"},{type:"i",name:"foldBlend"},{type:"i",name:"showCurl"}],body:[0,[[13,"litRgb",[6,[7,[6,[7,[7,"curlSample","xyz"],"mul"],["curlBright"]],"add"],[[1,"spec","*",[7,"curlSample","w"]]]]],[13,"curlColor",[6,"d.vec4f",["litRgb",[7,"curlSample","w"]]]],[13,"flatColor",[6,"d.vec4f",[[6,[7,[7,"flatSample","xyz"],"mul"],["flatShade"]],[7,"flatSample","w"]]]],[13,"peeledColor",[6,"d.vec4f",[[5,"0"],[5,"0"],[5,"0"],"peelAlpha"]]],[13,"base",[6,"std.mix",["peeledColor","flatColor",[6,"d.vec4f",["foldBlend"]]]]],[10,[6,"std.select",["base","curlColor",[1,"showCurl",">",[5,"0.5"]]]]]]]},externals:{"d.vec4f":()=>x,"std.mix":()=>X,"std.select":()=>C}})&&e.f)({})),Gm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({uv:l,coverage:a,normal:f}),"SphereBulge"),YD=v.fn([l,l,l,a,a],Gm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_div(s.x,s.y),d=r.x,c=__tsover_sub(1,r.y),_=__tsover_mul(__tsover_sub(t.x,d),i),u=__tsover_sub(t.y,c),m=__tsover_div(__tsover_mul(_,2),o),p=__tsover_div(__tsover_mul(u,2),o),y=__tsover_add(__tsover_mul(m,m),__tsover_mul(p,p)),h=__tsover_sub(1,re(.98,1,y)),g=be(b(a(0),__tsover_sub(1,y))),w=__tsover_add(1,__tsover_mul(g,n)),S=__tsover_div(__tsover_mul(__tsover_div(m,w),o),2),T=__tsover_div(__tsover_mul(__tsover_div(p,w),o),2),A=__tsover_add(__tsover_div(S,i),d),P=__tsover_add(T,c),U=as(f(m,p,g));return Gm({uv:l(A,P),coverage:h,normal:U})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"center"},{type:"i",name:"radius"},{type:"i",name:"depth"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"centerX",[7,"center","x"]],[13,"centerY",[1,[5,"1"],"-",[7,"center","y"]]],[13,"cuX",[1,[1,[7,"uv","x"],"-","centerX"],"*","aspect"]],[13,"cuY",[1,[7,"uv","y"],"-","centerY"]],[13,"sphereX",[1,[1,"cuX","*",[5,"2"]],"/","radius"]],[13,"sphereY",[1,[1,"cuY","*",[5,"2"]],"/","radius"]],[13,"radiusSq",[1,[1,"sphereX","*","sphereX"],"+",[1,"sphereY","*","sphereY"]]],[13,"sphereAlpha",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0.98"],[5,"1"],"radiusSq"]]]],[13,"z",[6,"std.sqrt",[[6,"std.max",[[6,"d.f32",[[5,"0"]]],[1,[5,"1"],"-","radiusSq"]]]]]],[13,"depthFactor",[1,[5,"1"],"+",[1,"z","*","depth"]]],[13,"finalX",[1,[1,[1,"sphereX","/","depthFactor"],"*","radius"],"/",[5,"2"]]],[13,"finalY",[1,[1,[1,"sphereY","/","depthFactor"],"*","radius"],"/",[5,"2"]]],[13,"transformedX",[1,[1,"finalX","/","aspect"],"+","centerX"]],[13,"transformedY",[1,"finalY","+","centerY"]],[13,"normal",[6,"std.normalize",[[6,"d.vec3f",["sphereX","sphereY","z"]]]]],[10,[6,"SphereBulge",[[104,{uv:[6,"d.vec2f",["transformedX","transformedY"]],coverage:"sphereAlpha",normal:"normal"}]]]]]]},externals:{"std.smoothstep":()=>re,"std.sqrt":()=>be,"std.max":()=>b,"d.f32":()=>a,"std.normalize":()=>as,"d.vec3f":()=>f,SphereBulge:()=>Gm,"d.vec2f":()=>l}})&&e.f)({})),LD=v.fn([f,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=f(0,0,1),i=__tsover_add(1,__tsover_mul(4,__tsover_sub(1,o))),d=Ce(__tsover_sub(1,b(se(t,n),a(0))),i),c=__tsover_mul(__tsover_sub(s.x,.5),2),_=__tsover_mul(__tsover_sub(__tsover_sub(1,s.y),.5),2),u=as(l(__tsover_add(t.x,1e-4),__tsover_add(t.y,1e-4))),m=as(l(__tsover_add(c,1e-4),__tsover_add(_,1e-4))),p=Ce(b(a(0),se(u,m)),a(2));return __tsover_mul(__tsover_mul(__tsover_mul(d,p),r),2)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"normal"},{type:"i",name:"lightPos"},{type:"i",name:"intensity"},{type:"i",name:"softness"}],body:[0,[[13,"viewDir",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"1"]]]],[13,"fresnelPower",[1,[5,"1"],"+",[1,[5,"4"],"*",[1,[5,"1"],"-","softness"]]]],[13,"fresnel",[6,"std.pow",[[1,[5,"1"],"-",[6,"std.max",[[6,"std.dot",["normal","viewDir"]],[6,"d.f32",[[5,"0"]]]]]],"fresnelPower"]]],[13,"lightDir2Dx",[1,[1,[7,"lightPos","x"],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"lightDir2Dy",[1,[1,[1,[5,"1"],"-",[7,"lightPos","y"]],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"normalDir",[6,"std.normalize",[[6,"d.vec2f",[[1,[7,"normal","x"],"+",[5,"0.0001"]],[1,[7,"normal","y"],"+",[5,"0.0001"]]]]]]],[13,"lightDirNorm",[6,"std.normalize",[[6,"d.vec2f",[[1,"lightDir2Dx","+",[5,"0.0001"]],[1,"lightDir2Dy","+",[5,"0.0001"]]]]]]],[13,"directionality",[6,"std.max",[[6,"d.f32",[[5,"0"]]],[6,"std.dot",["normalDir","lightDirNorm"]]]]],[13,"directionalBias",[6,"std.pow",["directionality",[6,"d.f32",[[5,"2"]]]]]],[10,[1,[1,[1,"fresnel","*","directionalBias"],"*","intensity"],"*",[5,"2"]]]]]},externals:{"d.vec3f":()=>f,"std.pow":()=>Ce,"std.max":()=>b,"std.dot":()=>se,"d.f32":()=>a,"std.normalize":()=>as,"d.vec2f":()=>l}})&&e.f)({})),ID=v.fn([x,f,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return x(__tsover_add(t.x,__tsover_mul(s.x,r)),__tsover_add(t.y,__tsover_mul(s.y,r)),__tsover_add(t.z,__tsover_mul(s.z,r)),__tsover_mul(t.w,o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"straight"},{type:"i",name:"lightColor"},{type:"i",name:"rim"},{type:"i",name:"coverage"}],body:[0,[[13,"r",[1,[7,"straight","x"],"+",[1,[7,"lightColor","x"],"*","rim"]]],[13,"g",[1,[7,"straight","y"],"+",[1,[7,"lightColor","y"],"*","rim"]]],[13,"b",[1,[7,"straight","z"],"+",[1,[7,"lightColor","z"],"*","rim"]]],[13,"a",[1,[7,"straight","w"],"*","coverage"]],[10,[6,"d.vec4f",["r","g","b","a"]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({}));var z3=1/360,DD=v.fn([l,l,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=hm(t),d=hm(s),c=d.sub(i),_=j(c),u=as(c),m=b(n.y,1e-6),p=__tsover_div(n.x,m),y=__tsover_mul(__tsover_mul(r,Le),-1),h=H(y),g=Y(y),w=i.add(d).mul(.5),S=o.sub(w),T=Eo(l(__tsover_mul(S.x,p),S.y),h,g),A=se(l(__tsover_div(T.x,p),T.y).add(w).sub(i),u);return __tsover_div(A,b(_,1e-6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"start"},{type:"i",name:"end"},{type:"i",name:"angle"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"startPos",[6,"unflipPosition",["start"]]],[13,"endPos",[6,"unflipPosition",["end"]]],[13,"gradientVector",[6,[7,"endPos","sub"],["startPos"]]],[13,"gradientLength",[6,"std.length",["gradientVector"]]],[13,"gradientDir",[6,"std.normalize",["gradientVector"]]],[13,"safeViewportY",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]],[13,"aspect",[1,[7,"viewport","x"],"/","safeViewportY"]],[13,"angleRad",[1,[1,"angle","*","DEG_TO_RAD"],"*",[4,"-",[5,"1"]]]],[13,"cosAngle",[6,"std.cos",["angleRad"]]],[13,"sinAngle",[6,"std.sin",["angleRad"]]],[13,"midpoint",[6,[7,[6,[7,"startPos","add"],["endPos"]],"mul"],[[5,"0.5"]]]],[13,"centeredUV",[6,[7,"uv","sub"],["midpoint"]]],[13,"rotated",[6,"geom.rotate2",[[6,"d.vec2f",[[1,[7,"centeredUV","x"],"*","aspect"],[7,"centeredUV","y"]]],"cosAngle","sinAngle"]]],[13,"rotatedUV",[6,[7,[6,"d.vec2f",[[1,[7,"rotated","x"],"/","aspect"],[7,"rotated","y"]]],"add"],["midpoint"]]],[13,"relativePos",[6,[7,"rotatedUV","sub"],["startPos"]]],[13,"projection",[6,"std.dot",["relativePos","gradientDir"]]],[10,[1,"projection","/",[6,"std.max",["gradientLength",[5,"0.000001"]]]]]]]},externals:{unflipPosition:()=>hm,"std.length":()=>j,"std.normalize":()=>as,"std.max":()=>b,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"geom.rotate2":()=>Eo,"d.vec2f":()=>l,"std.dot":()=>se}})&&e.f)({})),FD=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=bo(z(t),2);return C(s,__tsover_sub(2,s),s>1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[13,"m",[6,"std.mod",[[6,"std.abs",["t"]],[5,"2"]]]],[10,[6,"std.select",["m",[1,[5,"2"],"-","m"],[1,"m",">",[5,"1"]]]]]]]},externals:{"std.mod":()=>bo,"std.abs":()=>z,"std.select":()=>C}})&&e.f)({})),BD=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[6,"std.fract",["t"]]]]]},externals:{"std.fract":()=>ue}})&&e.f)({})),WD=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return $(t,0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[6,"std.clamp",["t",[5,"0"],[5,"1"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),OD=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=C(a(0),a(1),t>=0),r=C(a(0),a(1),t<=1);return __tsover_mul(s,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[13,"inLow",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"t",">=",[5,"0"]]]]],[13,"inHigh",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"t","<=",[5,"1"]]]]],[10,[1,"inLow","*","inHigh"]]]]},externals:{"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})),VD=v.fn([l,a,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ua(n,t,i),c=__tsover_mul(s,Le),_=Eo(d,H(c),-Y(c)),u=j(l(__tsover_mul(_.x,r),_.y)),m=b(o,1e-6);return __tsover_div(u,m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"skewAngle"},{type:"i",name:"ellipseAspect"},{type:"i",name:"radius"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"delta",[6,"aspectCenteredDelta",["uv","center","viewport"]]],[13,"skewRad",[1,"skewAngle","*","DEG_TO_RAD"]],[13,"cosS",[6,"std.cos",["skewRad"]]],[13,"sinS",[6,"std.sin",["skewRad"]]],[13,"rotated",[6,"geom.rotate2",["delta","cosS",[4,"-","sinS"]]]],[13,"stretched",[6,"d.vec2f",[[1,[7,"rotated","x"],"*","ellipseAspect"],[7,"rotated","y"]]]],[13,"dist",[6,"std.length",["stretched"]]],[13,"safeRadius",[6,"std.max",["radius",[5,"0.000001"]]]],[10,[1,"dist","/","safeRadius"]]]]},externals:{aspectCenteredDelta:()=>ua,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"geom.rotate2":()=>Eo,"d.vec2f":()=>l,"std.length":()=>j,"std.max":()=>b}})&&e.f)({})),ND=v.fn([l,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=ua(r,t,o),i=tt(n.y,n.x),d=__tsover_sub(.5,__tsover_div(i,it)),c=__tsover_mul(s,z3);return __tsover_add(d,c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"rotation"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"delta",[6,"aspectCenteredDelta",["uv","center","viewport"]]],[13,"angle",[6,"std.atan2",[[7,"delta","y"],[7,"delta","x"]]]],[13,"normalized",[1,[5,"0.5"],"-",[1,"angle","/","TAU"]]],[13,"rotationFraction",[1,"rotation","*","INV_360"]],[10,[1,"normalized","+","rotationFraction"]]]]},externals:{aspectCenteredDelta:()=>ua,"std.atan2":()=>tt,TAU:()=>it,INV_360:()=>z3}})&&e.f)({})),qD=v.fn([l,a,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ua(n,t,i),c=__tsover_mul(r,Le),_=Eo(d,H(c),-Y(c)),u=z(_.x),m=z(_.y),p=X(__tsover_add(u,m),b(u,m),o);return __tsover_div(p,s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"size"},{type:"i",name:"rotation"},{type:"i",name:"roundness"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"delta",[6,"aspectCenteredDelta",["uv","center","viewport"]]],[13,"rotRad",[1,"rotation","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rotated",[6,"geom.rotate2",["delta","cosR",[4,"-","sinR"]]]],[13,"absDx",[6,"std.abs",[[7,"rotated","x"]]]],[13,"absDy",[6,"std.abs",[[7,"rotated","y"]]]],[13,"l1",[1,"absDx","+","absDy"]],[13,"linf",[6,"std.max",["absDx","absDy"]]],[13,"dist",[6,"std.mix",["l1","linf","roundness"]]],[10,[1,"dist","/","size"]]]]},externals:{aspectCenteredDelta:()=>ua,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"geom.rotate2":()=>Eo,"std.abs":()=>z,"std.max":()=>b,"std.mix":()=>X}})&&e.f)({})),XD=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(t,s);return C($(r,0,1),ue(r),s>1.0001)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"repeat"}],body:[0,[[13,"s",[1,"t","*","repeat"]],[10,[6,"std.select",[[6,"std.clamp",["s",[5,"0"],[5,"1"]]],[6,"std.fract",["s"]],[1,"repeat",">",[5,"1.0001"]]]]]]]},externals:{"std.select":()=>C,"std.clamp":()=>$,"std.fract":()=>ue}})&&e.f)({})),HD=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return ue(__tsover_mul(t,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"repeat"}],body:[0,[[10,[6,"std.fract",[[1,"t","*","repeat"]]]]]]},externals:{"std.fract":()=>ue}})&&e.f)({})),jD=v.fn([l,l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,Le),d=bt(s),c=__tsover_add(Dl(ma(t,d),H(i),Y(i)),__tsover_mul(d,.5));return ue(__tsover_add(__tsover_mul(__tsover_mul(c,o),.2),n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"scale"},{type:"i",name:"animTime"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"projectedCoord",[1,[6,"directionalProjection",[[6,"canvasCentredDelta",["uv","aspect"]],[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]],"+",[1,"aspect","*",[5,"0.5"]]]],[10,[6,"std.fract",[[1,[1,[1,"projectedCoord","*","scale"],"*",[5,"0.2"]],"+","animTime"]]]]]]},externals:{DEG_TO_RAD:()=>Le,"geom.aspectOf":()=>bt,directionalProjection:()=>Dl,canvasCentredDelta:()=>ma,"std.cos":()=>H,"std.sin":()=>Y,"std.fract":()=>ue}})&&e.f)({})),KD=v.fn([a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_mul(t,6);return x($(__tsover_sub(z(__tsover_sub(s,3)),1),0,1),$(__tsover_sub(2,z(__tsover_sub(s,2))),0,1),$(__tsover_sub(2,z(__tsover_sub(s,4))),0,1),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[13,"h6",[1,"t","*",[5,"6"]]],[13,"r",[6,"std.clamp",[[1,[6,"std.abs",[[1,"h6","-",[5,"3"]]]],"-",[5,"1"]],[5,"0"],[5,"1"]]]],[13,"g",[6,"std.clamp",[[1,[5,"2"],"-",[6,"std.abs",[[1,"h6","-",[5,"2"]]]]],[5,"0"],[5,"1"]]]],[13,"b",[6,"std.clamp",[[1,[5,"2"],"-",[6,"std.abs",[[1,"h6","-",[5,"4"]]]]],[5,"0"],[5,"1"]]]],[10,[6,"d.vec4f",["r","g","b",[5,"1"]]]]]]},externals:{"std.clamp":()=>$,"std.abs":()=>z,"d.vec4f":()=>x}})&&e.f)({})),ZD=v.fn([a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_mul(t,3);return l(ue(s),q(s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[13,"t3",[1,"t","*",[5,"3"]]],[10,[6,"d.vec2f",[[6,"std.fract",["t3"]],[6,"std.floor",["t3"]]]]]]]},externals:{"d.vec2f":()=>l,"std.fract":()=>ue,"std.floor":()=>q}})&&e.f)({})),QD=v.fn([x,x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return X(X(r,s,De(o,1.5)),t,De(o,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"c01"},{type:"i",name:"c12"},{type:"i",name:"c20"},{type:"i",name:"floorT3"}],body:[0,[[13,"seg1",[6,"std.mix",["c20","c12",[6,"std.step",["floorT3",[5,"1.5"]]]]]],[10,[6,"std.mix",["seg1","c01",[6,"std.step",["floorT3",[5,"0.5"]]]]]]]]},externals:{"std.mix":()=>X,"std.step":()=>De}})&&e.f)({})),G3=v.fn([l,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_div(n.x,n.y),d=__tsover_sub(__tsover_mul(o.x,i),__tsover_mul(t.x,i)),c=__tsover_sub(o.y,__tsover_sub(1,t.y)),_=j(l(d,c)),u=__tsover_sub(tt(c,d),r);return __tsover_add(__tsover_mul(_,s),__tsover_div(u,ao))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"scale"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"dx",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,[7,"center","x"],"*","aspect"]]],[13,"dy",[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]],[13,"l",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[13,"angle",[1,[6,"std.atan2",["dy","dx"]],"-","animTime"]],[10,[1,[1,"l","*","scale"],"+",[1,"angle","/","TWO_PI"]]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.atan2":()=>tt,TWO_PI:()=>ao}})&&e.f)({})),JD=v.fn([l,a,a,a,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_div(c.x,c.y),u=j(l(__tsover_sub(__tsover_mul(d.x,_),__tsover_mul(t.x,_)),__tsover_sub(d.y,__tsover_sub(1,t.y)))),m=G3(t,s,i,d,c),p=ue(m),y=__tsover_mul(z(__tsover_sub(p,.5)),2),h=$(r,__tsover_mul(o,.005),1),g=__tsover_sub(1,__tsover_mul($(o,0,1),u)),w=__tsover_mul(h,g),S=Zt(m),T=__tsover_sub(4,__tsover_mul(__tsover_mul(re(.05,.4,__tsover_mul(r,2)),re(.05,.4,__tsover_mul(__tsover_sub(1,r),2))),3)),A=X(__tsover_mul(T,S),Zt(y),$(S,0,1));return re(__tsover_sub(__tsover_sub(w,A),n),__tsover_add(__tsover_add(w,A),n),y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"scale"},{type:"i",name:"strokeWidth"},{type:"i",name:"strokeFalloff"},{type:"i",name:"softness"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"dx",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,[7,"center","x"],"*","aspect"]]],[13,"dy",[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]],[13,"l",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[13,"offset",[6,"spiralOffset",["center","scale","animTime","uv","viewport"]]],[13,"stripe",[6,"std.fract",["offset"]]],[13,"shape",[1,[6,"std.abs",[[1,"stripe","-",[5,"0.5"]]]],"*",[5,"2"]]],[13,"baseWidth",[6,"std.clamp",["strokeWidth",[1,"strokeFalloff","*",[5,"0.005"]],[5,"1"]]]],[13,"falloffAmount",[1,[5,"1"],"-",[1,[6,"std.clamp",["strokeFalloff",[5,"0"],[5,"1"]]],"*","l"]]],[13,"width",[1,"baseWidth","*","falloffAmount"]],[13,"fw",[6,"std.fwidth",["offset"]]],[13,"fwMult",[1,[5,"4"],"-",[1,[1,[6,"std.smoothstep",[[5,"0.05"],[5,"0.4"],[1,"strokeWidth","*",[5,"2"]]]],"*",[6,"std.smoothstep",[[5,"0.05"],[5,"0.4"],[1,[1,[5,"1"],"-","strokeWidth"],"*",[5,"2"]]]]],"*",[5,"3"]]]],[13,"pixelSize",[6,"std.mix",[[1,"fwMult","*","fw"],[6,"std.fwidth",["shape"]],[6,"std.clamp",["fw",[5,"0"],[5,"1"]]]]]],[10,[6,"std.smoothstep",[[1,[1,"width","-","pixelSize"],"-","softness"],[1,[1,"width","+","pixelSize"],"+","softness"],"shape"]]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,spiralOffset:()=>G3,"std.fract":()=>ue,"std.abs":()=>z,"std.clamp":()=>$,"std.fwidth":()=>Zt,"std.smoothstep":()=>re,"std.mix":()=>X}})&&e.f)({})),Si=v.fn([l,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(t.x,s.x),n=__tsover_sub(t.y,s.y),i=__tsover_add(be(__tsover_add(__tsover_mul(o,o),__tsover_mul(n,n))),.001);return __tsover_div(1,Ce(i,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvAspect"},{type:"i",name:"pos"},{type:"i",name:"effPower"}],body:[0,[[13,"dx",[1,[7,"uvAspect","x"],"-",[7,"pos","x"]]],[13,"dy",[1,[7,"uvAspect","y"],"-",[7,"pos","y"]]],[13,"dist",[1,[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]],"+",[5,"0.001"]]],[10,[1,[5,"1"],"/",[6,"std.pow",["dist","effPower"]]]]]]},externals:{"std.sqrt":()=>be,"std.pow":()=>Ce}})&&e.f)({})),eF=v.fn([l,l,l,l,l,l,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=bt(s),u=l(__tsover_mul(t.x,_),t.y),m=bn(r,_),p=bn(o,_),y=bn(n,_),h=bn(i,_),g=bn(d,_),w=oe(__tsover_div(8,__tsover_add(c,.5)),8),S=Si(u,m,w),T=Si(u,p,w),A=Si(u,y,w),P=Si(u,h,w),U=Si(u,g,w),D=S,O=__tsover_div(T,__tsover_add(D,T)),L=__tsover_add(D,T),G=__tsover_div(A,__tsover_add(L,A)),W=__tsover_add(L,A),K=__tsover_div(P,__tsover_add(W,P)),Q=__tsover_add(W,P);return x(O,G,K,__tsover_div(U,__tsover_add(Q,U)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"vp"},{type:"i",name:"posA"},{type:"i",name:"posB"},{type:"i",name:"posC"},{type:"i",name:"posD"},{type:"i",name:"posE"},{type:"i",name:"smoothness"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["vp"]]],[13,"uvAspect",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"pA",[6,"aspectCentrePosition",["posA","aspect"]]],[13,"pB",[6,"aspectCentrePosition",["posB","aspect"]]],[13,"pC",[6,"aspectCentrePosition",["posC","aspect"]]],[13,"pD",[6,"aspectCentrePosition",["posD","aspect"]]],[13,"pE",[6,"aspectCentrePosition",["posE","aspect"]]],[13,"effPower",[6,"std.min",[[1,[5,"8"],"/",[1,"smoothness","+",[5,"0.5"]]],[5,"8"]]]],[13,"wA",[6,"mpgWeight",["uvAspect","pA","effPower"]]],[13,"wB",[6,"mpgWeight",["uvAspect","pB","effPower"]]],[13,"wC",[6,"mpgWeight",["uvAspect","pC","effPower"]]],[13,"wD",[6,"mpgWeight",["uvAspect","pD","effPower"]]],[13,"wE",[6,"mpgWeight",["uvAspect","pE","effPower"]]],[13,"accW1","wA"],[13,"t1",[1,"wB","/",[1,"accW1","+","wB"]]],[13,"accW2",[1,"accW1","+","wB"]],[13,"t2",[1,"wC","/",[1,"accW2","+","wC"]]],[13,"accW3",[1,"accW2","+","wC"]],[13,"t3",[1,"wD","/",[1,"accW3","+","wD"]]],[13,"accW4",[1,"accW3","+","wD"]],[13,"t4",[1,"wE","/",[1,"accW4","+","wE"]]],[10,[6,"d.vec4f",["t1","t2","t3","t4"]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,aspectCentrePosition:()=>bn,"std.min":()=>oe,mpgWeight:()=>Si,"d.vec4f":()=>x}})&&e.f)({})),tF=v.fn([l,l,l,l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=bt(s),u=l(r.x,__tsover_sub(1,r.y)),m=l(o.x,__tsover_sub(1,o.y)),p=l(__tsover_mul(u.x,_),u.y),y=l(__tsover_mul(m.x,_),m.y),h=t3(l(__tsover_mul(t.x,_),t.y),p,y),g=s3(h.y,h.x,__tsover_mul(n,.25),__tsover_mul(i,.25),d,c),w=g.x,S=g.y;return l(w,S)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"vp"},{type:"i",name:"start"},{type:"i",name:"end"},{type:"i",name:"startThickness"},{type:"i",name:"endThickness"},{type:"i",name:"startSoftness"},{type:"i",name:"endSoftness"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["vp"]]],[13,"startPos",[6,"d.vec2f",[[7,"start","x"],[1,[5,"1"],"-",[7,"start","y"]]]]],[13,"endPos",[6,"d.vec2f",[[7,"end","x"],[1,[5,"1"],"-",[7,"end","y"]]]]],[13,"acStart",[6,"d.vec2f",[[1,[7,"startPos","x"],"*","aspect"],[7,"startPos","y"]]]],[13,"acEnd",[6,"d.vec2f",[[1,[7,"endPos","x"],"*","aspect"],[7,"endPos","y"]]]],[13,"acUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"proj",[6,"lightfields.pointToSegment",["acUV","acStart","acEnd"]]],[13,"field",[6,"lightfields.taperedSegmentGlow",[[7,"proj","y"],[7,"proj","x"],[1,"startThickness","*",[5,"0.25"]],[1,"endThickness","*",[5,"0.25"]],"startSoftness","endSoftness"]]],[13,"colorT",[7,"field","x"]],[13,"alpha",[7,"field","y"]],[10,[6,"d.vec2f",["colorT","alpha"]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,"lightfields.pointToSegment":()=>t3,"lightfields.taperedSegmentGlow":()=>s3}})&&e.f)({})),sF=t7({domain:"unit",contrastMode:"multiplicative",invert:!0,glowGamma:!0,balance:"percentCentred"}),rF=v.fn([l,l,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s);return f(__tsover_mul(t.x,o),t.y,0).mul(ct(__tsover_sub(r,1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"scale"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"base",[6,"d.vec3f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"],[5,"0"]]]],[10,[6,[7,"base","mul"],[[6,"std.exp",[[1,"scale","-",[5,"1"]]]]]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec3f":()=>f,"std.exp":()=>ct}})&&e.f)({})),oF=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_mul(go(t),.5),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"}],body:[0,[[10,[1,[1,[6,"noise.mxNoiseFloat3",["pos"]],"*",[5,"0.5"]],"+",[5,"0.5"]]]]]},externals:{"noise.mxNoiseFloat3":()=>go}})&&e.f)({})),nF=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=r,n=s,i=l(__tsover_add(t.x,__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(t.y,__tsover_mul(n,1.7)),__tsover_mul(o,.8))),.12),__tsover_mul(H(__tsover_sub(__tsover_mul(t.x,__tsover_mul(n,.9)),__tsover_mul(o,.5))),.05))),__tsover_add(t.y,__tsover_add(__tsover_mul(H(__tsover_sub(__tsover_mul(t.x,__tsover_mul(n,1.3)),__tsover_mul(o,.6))),.12),__tsover_mul(Y(__tsover_add(__tsover_mul(t.y,__tsover_mul(n,1.1)),__tsover_mul(o,.7))),.05)))),d=Y(__tsover_add(__tsover_add(__tsover_mul(i.x,__tsover_mul(n,2.1)),__tsover_mul(i.y,__tsover_mul(n,1.8))),__tsover_mul(o,.4))),c=__tsover_mul(s,2.1),_=l(__tsover_add(i.x,__tsover_add(__tsover_mul(H(__tsover_sub(__tsover_mul(i.y,__tsover_mul(c,2.7)),__tsover_mul(o,.45))),.07),__tsover_mul(Y(__tsover_add(__tsover_mul(i.x,__tsover_mul(c,1.9)),__tsover_mul(o,.6))),.04))),__tsover_add(i.y,__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(i.x,__tsover_mul(c,2.3)),__tsover_mul(o,.65))),.07),__tsover_mul(H(__tsover_sub(__tsover_mul(i.y,__tsover_mul(c,1.6)),__tsover_mul(o,.4))),.04)))),u=H(__tsover_add(__tsover_sub(__tsover_mul(_.x,__tsover_mul(c,1.4)),__tsover_mul(_.y,__tsover_mul(c,1.9))),__tsover_mul(o,.35))),m=__tsover_mul(s,3.7),p=l(__tsover_add(_.x,__tsover_add(__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(_.y,__tsover_mul(m,1.8)),__tsover_mul(o,.85))),.04),__tsover_mul(H(__tsover_sub(__tsover_mul(_.x,__tsover_mul(m,1.3)),__tsover_mul(o,.55))),.025)),__tsover_mul(Y(__tsover_add(__tsover_mul(__tsover_add(_.x,_.y),__tsover_mul(m,.7)),__tsover_mul(o,.9))),.02))),__tsover_add(_.y,__tsover_add(__tsover_add(__tsover_mul(H(__tsover_sub(__tsover_mul(_.x,__tsover_mul(m,1.6)),__tsover_mul(o,.75))),.04),__tsover_mul(Y(__tsover_add(__tsover_mul(_.y,__tsover_mul(m,1.1)),__tsover_mul(o,.5))),.025)),__tsover_mul(H(__tsover_sub(__tsover_mul(__tsover_add(_.x,_.y),__tsover_mul(m,.8)),__tsover_mul(o,.95))),.02)))),y=Y(__tsover_sub(__tsover_add(__tsover_mul(p.x,__tsover_mul(m,1.1)),__tsover_mul(p.y,__tsover_mul(m,1.5))),__tsover_mul(o,.55)));return __tsover_add(__tsover_add(__tsover_mul(d,.45),__tsover_mul(u,.35)),__tsover_mul(y,.2))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"detail"},{type:"i",name:"animTime"}],body:[0,[[13,"t","animTime"],[13,"freq1","detail"],[13,"d1",[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[1,[6,"std.sin",[[1,[1,[7,"uv","y"],"*",[1,"freq1","*",[5,"1.7"]]],"+",[1,"t","*",[5,"0.8"]]]]],"*",[5,"0.12"]],"+",[1,[6,"std.cos",[[1,[1,[7,"uv","x"],"*",[1,"freq1","*",[5,"0.9"]]],"-",[1,"t","*",[5,"0.5"]]]]],"*",[5,"0.05"]]]],[1,[7,"uv","y"],"+",[1,[1,[6,"std.cos",[[1,[1,[7,"uv","x"],"*",[1,"freq1","*",[5,"1.3"]]],"-",[1,"t","*",[5,"0.6"]]]]],"*",[5,"0.12"]],"+",[1,[6,"std.sin",[[1,[1,[7,"uv","y"],"*",[1,"freq1","*",[5,"1.1"]]],"+",[1,"t","*",[5,"0.7"]]]]],"*",[5,"0.05"]]]]]]],[13,"pattern1",[6,"std.sin",[[1,[1,[1,[7,"d1","x"],"*",[1,"freq1","*",[5,"2.1"]]],"+",[1,[7,"d1","y"],"*",[1,"freq1","*",[5,"1.8"]]]],"+",[1,"t","*",[5,"0.4"]]]]]],[13,"freq2",[1,"detail","*",[5,"2.1"]]],[13,"d2",[6,"d.vec2f",[[1,[7,"d1","x"],"+",[1,[1,[6,"std.cos",[[1,[1,[7,"d1","y"],"*",[1,"freq2","*",[5,"2.7"]]],"-",[1,"t","*",[5,"0.45"]]]]],"*",[5,"0.07"]],"+",[1,[6,"std.sin",[[1,[1,[7,"d1","x"],"*",[1,"freq2","*",[5,"1.9"]]],"+",[1,"t","*",[5,"0.6"]]]]],"*",[5,"0.04"]]]],[1,[7,"d1","y"],"+",[1,[1,[6,"std.sin",[[1,[1,[7,"d1","x"],"*",[1,"freq2","*",[5,"2.3"]]],"+",[1,"t","*",[5,"0.65"]]]]],"*",[5,"0.07"]],"+",[1,[6,"std.cos",[[1,[1,[7,"d1","y"],"*",[1,"freq2","*",[5,"1.6"]]],"-",[1,"t","*",[5,"0.4"]]]]],"*",[5,"0.04"]]]]]]],[13,"pattern2",[6,"std.cos",[[1,[1,[1,[7,"d2","x"],"*",[1,"freq2","*",[5,"1.4"]]],"-",[1,[7,"d2","y"],"*",[1,"freq2","*",[5,"1.9"]]]],"+",[1,"t","*",[5,"0.35"]]]]]],[13,"freq3",[1,"detail","*",[5,"3.7"]]],[13,"d3",[6,"d.vec2f",[[1,[7,"d2","x"],"+",[1,[1,[1,[6,"std.sin",[[1,[1,[7,"d2","y"],"*",[1,"freq3","*",[5,"1.8"]]],"+",[1,"t","*",[5,"0.85"]]]]],"*",[5,"0.04"]],"+",[1,[6,"std.cos",[[1,[1,[7,"d2","x"],"*",[1,"freq3","*",[5,"1.3"]]],"-",[1,"t","*",[5,"0.55"]]]]],"*",[5,"0.025"]]],"+",[1,[6,"std.sin",[[1,[1,[1,[7,"d2","x"],"+",[7,"d2","y"]],"*",[1,"freq3","*",[5,"0.7"]]],"+",[1,"t","*",[5,"0.9"]]]]],"*",[5,"0.02"]]]],[1,[7,"d2","y"],"+",[1,[1,[1,[6,"std.cos",[[1,[1,[7,"d2","x"],"*",[1,"freq3","*",[5,"1.6"]]],"-",[1,"t","*",[5,"0.75"]]]]],"*",[5,"0.04"]],"+",[1,[6,"std.sin",[[1,[1,[7,"d2","y"],"*",[1,"freq3","*",[5,"1.1"]]],"+",[1,"t","*",[5,"0.5"]]]]],"*",[5,"0.025"]]],"+",[1,[6,"std.cos",[[1,[1,[1,[7,"d2","x"],"+",[7,"d2","y"]],"*",[1,"freq3","*",[5,"0.8"]]],"-",[1,"t","*",[5,"0.95"]]]]],"*",[5,"0.02"]]]]]]],[13,"pattern3",[6,"std.sin",[[1,[1,[1,[7,"d3","x"],"*",[1,"freq3","*",[5,"1.1"]]],"+",[1,[7,"d3","y"],"*",[1,"freq3","*",[5,"1.5"]]]],"-",[1,"t","*",[5,"0.55"]]]]]],[10,[1,[1,[1,"pattern1","*",[5,"0.45"]],"+",[1,"pattern2","*",[5,"0.35"]]],"+",[1,"pattern3","*",[5,"0.2"]]]]]]},externals:{"d.vec2f":()=>l,"std.sin":()=>Y,"std.cos":()=>H}})&&e.f)({})),aF=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return re(r,o,__tsover_add(__tsover_add(__tsover_mul(t,.5),.5),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pattern"},{type:"i",name:"bias"},{type:"i",name:"low"},{type:"i",name:"high"}],body:[0,[[13,"normalized",[1,[1,[1,"pattern","*",[5,"0.5"]],"+",[5,"0.5"]],"+","bias"]],[10,[6,"std.smoothstep",["low","high","normalized"]]]]]},externals:{"std.smoothstep":()=>re}})&&e.f)({})),iF=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return __tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(s,r),__tsover_mul(t,o))),n),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pattern"},{type:"i",name:"animTime"},{type:"i",name:"speed"},{type:"i",name:"span"},{type:"i",name:"depth"}],body:[0,[[10,[1,[1,[6,"std.sin",[[1,[1,"animTime","*","speed"],"+",[1,"pattern","*","span"]]]],"*","depth"],"+",[5,"1"]]]]]},externals:{"std.sin":()=>Y}})&&e.f)({})),Nd=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ot(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"noise.hash12",["p"]]]]]},externals:{"noise.hash12":()=>Ot}})&&e.f)({})),Ym=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=ue(t),o=Nd(s),n=Nd(l(__tsover_add(s.x,1),s.y)),i=Nd(l(s.x,__tsover_add(s.y,1))),d=Nd(l(__tsover_add(s.x,1),__tsover_add(s.y,1))),c=r.mul(r).mul(r.mul(-2).add(3));return X(X(o,n,c.x),X(i,d,c.x),c.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"st"}],body:[0,[[13,"i",[6,"std.floor",["st"]]],[13,"f",[6,"std.fract",["st"]]],[13,"a",[6,"godraysHash",["i"]]],[13,"b",[6,"godraysHash",[[6,"d.vec2f",[[1,[7,"i","x"],"+",[5,"1"]],[7,"i","y"]]]]]],[13,"c",[6,"godraysHash",[[6,"d.vec2f",[[7,"i","x"],[1,[7,"i","y"],"+",[5,"1"]]]]]]],[13,"e",[6,"godraysHash",[[6,"d.vec2f",[[1,[7,"i","x"],"+",[5,"1"]],[1,[7,"i","y"],"+",[5,"1"]]]]]]],[13,"u",[6,[7,[6,[7,"f","mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[4,"-",[5,"2"]]]],"add"],[[5,"3"]]]]]],[13,"x1",[6,"std.mix",["a","b",[7,"u","x"]]]],[13,"x2",[6,"std.mix",["c","e",[7,"u","x"]]]],[10,[6,"std.mix",["x1","x2",[7,"u","y"]]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,godraysHash:()=>Nd,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),Lm=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ce(Ym(l(__tsover_mul(t,n),o)),i);return X(Ce(Ym(l(__tsover_mul(s,n),o)),i),d,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a"},{type:"i",name:"aWrapped"},{type:"i",name:"blend"},{type:"i",name:"r"},{type:"i",name:"freq"},{type:"i",name:"intensity"}],body:[0,[[13,"nLeft",[6,"std.pow",[[6,"godraysValueNoise",[[6,"d.vec2f",[[1,"a","*","freq"],"r"]]]],"intensity"]]],[13,"nRight",[6,"std.pow",[[6,"godraysValueNoise",[[6,"d.vec2f",[[1,"aWrapped","*","freq"],"r"]]]],"intensity"]]],[10,[6,"std.mix",["nRight","nLeft","blend"]]]]]},externals:{"std.pow":()=>Ce,godraysValueNoise:()=>Ym,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),mz=v.fn([l,l,l],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=l(r.x,__tsover_sub(1,r.y)),i=t.sub(n),d=l(__tsover_mul(i.x,o),i.y),c=e3(d);return x(c.x,c.y,c.z,j(d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"center"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"uv","sub"],["centerPos"]]],[13,"shapeUV",[6,"d.vec2f",[[1,[7,"delta","x"],"*","aspect"],[7,"delta","y"]]]],[13,"ang",[6,"lightfields.seamlessAngularField",["shapeUV"]]],[10,[6,"d.vec4f",[[7,"ang","x"],[7,"ang","y"],[7,"ang","z"],[6,"std.length",["shapeUV"]]]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,"lightfields.seamlessAngularField":()=>e3,"d.vec4f":()=>x,"std.length":()=>j}})&&e.f)({})),Im=v.fn([x,a,a,a,a,x,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_sub(__tsover_mul(t.w,i.x),__tsover_mul(s,i.y)),_=__tsover_sub(__tsover_mul(__tsover_mul(t.w,i.z),__tsover_add(1,r)),__tsover_mul(s,i.w)),u=__tsover_mul(n,d.x),m=Lm(t.x,t.y,t.z,c,u,o),p=Lm(t.x,t.y,t.z,_,__tsover_mul(u,d.y),o);return __tsover_mul(m,p)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"frame"},{type:"i",name:"animTime"},{type:"i",name:"spots"},{type:"i",name:"intensityCalc"},{type:"i",name:"dens"},{type:"i",name:"sched"},{type:"i",name:"freqs"}],body:[0,[[13,"rA",[1,[1,[7,"frame","w"],"*",[7,"sched","x"]],"-",[1,"animTime","*",[7,"sched","y"]]]],[13,"rB",[1,[1,[1,[7,"frame","w"],"*",[7,"sched","z"]],"*",[1,[5,"1"],"+","spots"]],"-",[1,"animTime","*",[7,"sched","w"]]]],[13,"f",[1,"dens","*",[7,"freqs","x"]]],[13,"shapeA",[6,"godraysRaysShape",[[7,"frame","x"],[7,"frame","y"],[7,"frame","z"],"rA","f","intensityCalc"]]],[13,"shapeB",[6,"godraysRaysShape",[[7,"frame","x"],[7,"frame","y"],[7,"frame","z"],"rB",[1,"f","*",[7,"freqs","y"]],"intensityCalc"]]],[10,[1,"shapeA","*","shapeB"]]]]},externals:{godraysRaysShape:()=>Lm}})&&e.f)({})),pz=v.fn([x,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,.2),d=__tsover_mul(6.5,z(n)),c=__tsover_sub(4,__tsover_mul(3,$(o,0,1))),_=__tsover_mul(6,r),u=Im(t,i,d,c,_,x(1,3,.5,2),l(5,4)),m=Im(t,i,d,c,_,x(1.4,2.5,.7,1.8),l(4.5,3.5));return $(__tsover_add(u,__tsover_mul(m,.7)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"frame"},{type:"i",name:"animTimeRaw"},{type:"i",name:"density"},{type:"i",name:"intensity"},{type:"i",name:"spotty"}],body:[0,[[13,"animTime",[1,"animTimeRaw","*",[5,"0.2"]]],[13,"spots",[1,[5,"6.5"],"*",[6,"std.abs",["spotty"]]]],[13,"intensityCalc",[1,[5,"4"],"-",[1,[5,"3"],"*",[6,"std.clamp",["intensity",[5,"0"],[5,"1"]]]]]],[13,"dens",[1,[5,"6"],"*","density"]],[13,"layer1",[6,"godraysRayLayer",["frame","animTime","spots","intensityCalc","dens",[6,"d.vec4f",[[5,"1"],[5,"3"],[5,"0.5"],[5,"2"]]],[6,"d.vec2f",[[5,"5"],[5,"4"]]]]]],[13,"layer2",[6,"godraysRayLayer",["frame","animTime","spots","intensityCalc","dens",[6,"d.vec4f",[[5,"1.4"],[5,"2.5"],[5,"0.7"],[5,"1.8"]]],[6,"d.vec2f",[[5,"4.5"],[5,"3.5"]]]]]],[10,[6,"std.clamp",[[1,"layer1","+",[1,"layer2","*",[5,"0.7"]]],[5,"0"],[5,"1"]]]]]]},externals:{"std.abs":()=>z,"std.clamp":()=>$,godraysRayLayer:()=>Im,"d.vec4f":()=>x,"d.vec2f":()=>l}})&&e.f)({})),fz=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r,t.w),n=__tsover_add(o,__tsover_mul(s.w,__tsover_sub(1,o))),i=$(n,.001,1),d=t.xyz.mul(o),c=s.xyz.mul(s.w).mul(__tsover_sub(1,o));return x(d.add(c).div(i),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rayColor"},{type:"i",name:"bgColor"},{type:"i",name:"coverage"}],body:[0,[[13,"rayA",[1,"coverage","*",[7,"rayColor","w"]]],[13,"finalAlpha",[1,"rayA","+",[1,[7,"bgColor","w"],"*",[1,[5,"1"],"-","rayA"]]]],[13,"safeAlpha",[6,"std.clamp",["finalAlpha",[5,"0.001"],[5,"1"]]]],[13,"rayContribution",[6,[7,[7,"rayColor","xyz"],"mul"],["rayA"]]],[13,"bgContribution",[6,[7,[6,[7,[7,"bgColor","xyz"],"mul"],[[7,"bgColor","w"]]],"mul"],[[1,[5,"1"],"-","rayA"]]]],[13,"finalColor",[6,[7,[6,[7,"rayContribution","add"],["bgContribution"]],"div"],["safeAlpha"]]],[10,[6,"d.vec4f",["finalColor","finalAlpha"]]]]]},externals:{"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})),dF=v.fn([a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Br(l(__tsover_mul(t,.9),__tsover_add(__tsover_mul(s,.53),11.7))),n=Br(l(__tsover_add(__tsover_mul(t,2.7),41.3),__tsover_add(__tsover_mul(s,.29),5.1))),i=__tsover_add(__tsover_mul(o,.65),__tsover_mul(n,.35));return x(X(1,__tsover_add(.25,__tsover_mul(1.5,i)),r),Br(l(__tsover_add(__tsover_mul(t,.13),3.1),__tsover_add(__tsover_mul(s,.41),27))),Br(l(__tsover_add(__tsover_mul(t,.09),17.7),__tsover_add(__tsover_mul(s,.61),8.4))),Br(l(__tsover_add(__tsover_mul(t,.17),51.2),__tsover_add(__tsover_mul(s,.23),2.9))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"seed"},{type:"i",name:"flicker"}],body:[0,[[13,"nA",[6,"noise.value12",[[6,"d.vec2f",[[1,"t","*",[5,"0.9"]],[1,[1,"seed","*",[5,"0.53"]],"+",[5,"11.7"]]]]]]],[13,"nB",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,"t","*",[5,"2.7"]],"+",[5,"41.3"]],[1,[1,"seed","*",[5,"0.29"]],"+",[5,"5.1"]]]]]]],[13,"breathe",[1,[1,"nA","*",[5,"0.65"]],"+",[1,"nB","*",[5,"0.35"]]]],[13,"flickerMod",[6,"std.mix",[[5,"1"],[1,[5,"0.25"],"+",[1,[5,"1.5"],"*","breathe"]],"flicker"]]],[13,"evo1",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,"t","*",[5,"0.13"]],"+",[5,"3.1"]],[1,[1,"seed","*",[5,"0.41"]],"+",[5,"27"]]]]]]],[13,"evo2",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,"t","*",[5,"0.09"]],"+",[5,"17.7"]],[1,[1,"seed","*",[5,"0.61"]],"+",[5,"8.4"]]]]]]],[13,"evo3",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,"t","*",[5,"0.17"]],"+",[5,"51.2"]],[1,[1,"seed","*",[5,"0.23"]],"+",[5,"2.9"]]]]]]],[10,[6,"d.vec4f",["flickerMod","evo1","evo2","evo3"]]]]]},externals:{"noise.value12":()=>Br,"d.vec2f":()=>l,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),cF=v.fn([a,a,a,x],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=o.z,i=b(r,.05),d=__tsover_mul(i,__tsover_add(1.5,__tsover_mul(.7,n))),c=__tsover_div(t,i),_=__tsover_div(s,d);return l(Tm(c,_,1.9),__tsover_mul(Tm(c,_,.45),.22))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"u"},{type:"i",name:"v"},{type:"i",name:"spread"},{type:"i",name:"drift"}],body:[0,[[13,"evo2",[7,"drift","z"]],[13,"sp",[6,"std.max",["spread",[5,"0.05"]]]],[13,"elong",[1,"sp","*",[1,[5,"1.5"],"+",[1,[5,"0.7"],"*","evo2"]]]],[13,"du",[1,"u","/","sp"]],[13,"dv",[1,"v","/","elong"]],[13,"main",[6,"lightfields.anisotropicGaussianSpot",["du","dv",[5,"1.9"]]]],[13,"shoulder",[1,[6,"lightfields.anisotropicGaussianSpot",["du","dv",[5,"0.45"]]],"*",[5,"0.22"]]],[10,[6,"d.vec2f",["main","shoulder"]]]]]},externals:{"std.max":()=>b,"lightfields.anisotropicGaussianSpot":()=>Tm,"d.vec2f":()=>l}})&&e.f)({})),_F=v.fn([a,a,a,a,x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=n.y,d=n.z,c=n.w,_=b(r,.05),u=__tsover_mul(_,__tsover_add(1.5,__tsover_mul(.7,d))),m=__tsover_div(s,u),p=ct(__tsover_mul(__tsover_mul(m,m),-.55)),y=__tsover_mul(_,__tsover_add(.42,__tsover_mul(.22,i))),h=b(__tsover_mul(_,__tsover_add(.07,__tsover_mul(.07,c))),.008),g=__tsover_mul(Am(t,y,h),p),w=__tsover_mul(_,__tsover_add(.8,__tsover_mul(.3,i))),S=b(__tsover_mul(_,__tsover_add(.16,__tsover_mul(.12,c))),.015),T=__tsover_mul(__tsover_mul(Am(t,w,S),p),.45);return __tsover_mul(__tsover_add(g,T),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"u"},{type:"i",name:"v"},{type:"i",name:"spread"},{type:"i",name:"streaks"},{type:"i",name:"drift"}],body:[0,[[13,"evo1",[7,"drift","y"]],[13,"evo2",[7,"drift","z"]],[13,"evo3",[7,"drift","w"]],[13,"sp",[6,"std.max",["spread",[5,"0.05"]]]],[13,"elong",[1,"sp","*",[1,[5,"1.5"],"+",[1,[5,"0.7"],"*","evo2"]]]],[13,"dv",[1,"v","/","elong"]],[13,"alongFade",[6,"std.exp",[[1,[1,"dv","*","dv"],"*",[4,"-",[5,"0.55"]]]]]],[13,"s1c",[1,"sp","*",[1,[5,"0.42"],"+",[1,[5,"0.22"],"*","evo1"]]]],[13,"s1w",[6,"std.max",[[1,"sp","*",[1,[5,"0.07"],"+",[1,[5,"0.07"],"*","evo3"]]],[5,"0.008"]]]],[13,"streak1",[1,[6,"lightfields.streakBand",["u","s1c","s1w"]],"*","alongFade"]],[13,"s2c",[1,"sp","*",[1,[5,"0.8"],"+",[1,[5,"0.3"],"*","evo1"]]]],[13,"s2w",[6,"std.max",[[1,"sp","*",[1,[5,"0.16"],"+",[1,[5,"0.12"],"*","evo3"]]],[5,"0.015"]]]],[13,"streak2",[1,[1,[6,"lightfields.streakBand",["u","s2c","s2w"]],"*","alongFade"],"*",[5,"0.45"]]],[10,[1,[1,"streak1","+","streak2"],"*","streaks"]]]]},externals:{"std.max":()=>b,"std.exp":()=>ct,"lightfields.streakBand":()=>Am}})&&e.f)({})),lF=v.fn([a,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return b(__tsover_add(t,__tsover_mul(__tsover_sub(Ot(s.mul(1024).add(l(r,__tsover_mul(r,1.7)))),.5),.012)),0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"heat"},{type:"i",name:"uv"},{type:"i",name:"t"}],body:[0,[[13,"dithered",[1,"heat","+",[1,[1,[6,"noise.hash12",[[6,[7,[6,[7,"uv","mul"],[[5,"1024"]]],"add"],[[6,"d.vec2f",["t",[1,"t","*",[5,"1.7"]]]]]]]],"-",[5,"0.5"]],"*",[5,"0.012"]]]],[10,[6,"std.max",["dithered",[5,"0"]]]]]]},externals:{"noise.hash12":()=>Ot,"d.vec2f":()=>l,"std.max":()=>b}})&&e.f)({})),vz=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(t,s),o=__tsover_mul(ue(__tsover_mul(r,.5)),2);return X(__tsover_sub(1,z(__tsover_sub(o,1))),.5,re(.5,1.5,__tsover_mul(Vl(t,0),s)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"cycles"}],body:[0,[[13,"s",[1,"t","*","cycles"]],[13,"m",[1,[6,"std.fract",[[1,"s","*",[5,"0.5"]]]],"*",[5,"2"]]],[13,"band",[1,[5,"1"],"-",[6,"std.abs",[[1,"m","-",[5,"1"]]]]]],[13,"fp",[1,[6,"footprint1",["t",[5,"0"]]],"*","cycles"]],[10,[6,"std.mix",["band",[5,"0.5"],[6,"std.smoothstep",[[5,"0.5"],[5,"1.5"],"fp"]]]]]]]},externals:{"std.fract":()=>ue,"std.abs":()=>z,footprint1:()=>Vl,"std.mix":()=>X,"std.smoothstep":()=>re}})&&e.f)({}));function p7(e,t){return{guarded:e,with(s){return p7(e.with(s),t)},dispatch(){if(!t)throw new Error("[gpu] KitComputePipeline.dispatch(): no pre-bound size \u2014 pass opts.size to createGuardedCompute or call dispatchThreads(...) directly");e.dispatchThreads(...t)},dispatchThreads(...s){e.dispatchThreads(...s)}}}function qp(e,t,s={}){let r=(globalThis.__TYPEGPU_AUTONAME__??(o=>o))(e.createGuardedComputePipeline(t),"guarded");return s.bindGroup&&(r=r.with(s.bindGroup)),p7(r,s.size)}function f7(e){return{dispatch(t){for(let s of t)typeof s=="function"?s():s.dispatch()}}}function yz(e,t){let s=!1;return{a:e,b:t,orientation:()=>s?1:0,readSource:()=>s?t:e,writeTarget:()=>s?e:t,swap(){s=!s},reset(){s=!1},groups(n){let i=n(e,t),d=n(t,e);return()=>s?d:i},perSide(n){let i=n(e),d=n(t);return{read:()=>s?d:i,written:()=>s?i:d}}}}function Y3(e,t,s){return(globalThis.__TYPEGPU_AUTONAME__??(r=>r))(e.createBuffer(pt(t,s)),"buffer").$usage("storage")}var su=Le;function hz(e,t){let s=Number((t*t).toPrecision(15)),r=e-1,o=Array.from({length:e},(i,d)=>{let c=(d/r-.5)*2;return Math.exp(-.5*c*c/s)}),n=o.reduce((i,d)=>i+d);return o.map(i=>i/n)}var uF=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=b(__tsover_sub(r,s),1e-4);return X(o,n,Ce($(__tsover_div(__tsover_sub(t,s),d),0,1),Ce(2,__tsover_mul(-i,2))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"raw"},{type:"i",name:"inputMin"},{type:"i",name:"inputMax"},{type:"i",name:"outputMin"},{type:"i",name:"outputMax"},{type:"i",name:"curve"}],body:[0,[[13,"inputRange",[6,"std.max",[[1,"inputMax","-","inputMin"],[5,"0.0001"]]]],[13,"normalised",[6,"std.clamp",[[1,[1,"raw","-","inputMin"],"/","inputRange"],[5,"0"],[5,"1"]]]],[13,"exponent",[6,"std.pow",[[5,"2"],[1,[4,"-","curve"],"*",[5,"2"]]]]],[13,"eased",[6,"std.pow",["normalised","exponent"]]],[10,[6,"std.mix",["outputMin","outputMax","eased"]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.pow":()=>Ce,"std.mix":()=>X}})&&e.f)({})).$name("applyRemapWindow");var mF=v.fn([ps(a),R,R,l,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=o.x,c=o.y,_=Z(__tsover_sub(d,1)),u=Z(__tsover_sub(c,1)),m=x(0,0,0,0);for(let S=0;S<4;S++)for(let T=0;T<4;T++){let A=__tsover_div(__tsover_add(a(s),__tsover_div(__tsover_add(a(T),.5),4)),n.x),P=__tsover_div(__tsover_add(a(r),__tsover_div(__tsover_add(a(S),.5),4)),n.y),U=$(Z(__tsover_mul(A,d)),0,_),D=$(Z(__tsover_mul(P,c)),0,u);m=m.add(Be(t,Ge(R(U),R(D)),0))}m=m.mul(.0625);let p=__tsover_add(__tsover_mul(i,.5),1e-4),y=se(m.xyz,f(.2126,.7152,.0722)),h=$(__tsover_add(__tsover_sub(y,i),p),0,__tsover_mul(p,2)),g=__tsover_div(__tsover_mul(h,h),__tsover_mul(p,4)),w=__tsover_div(b(g,__tsover_sub(y,i)),b(y,1e-4));return x(m.xyz.mul(w),__tsover_mul(m.w,w))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"childTexture"},{type:"i",name:"cx"},{type:"i",name:"cy"},{type:"i",name:"inputSize"},{type:"i",name:"computeSize"},{type:"i",name:"threshold"}],body:[0,[[13,"iw",[7,"inputSize","x"]],[13,"ih",[7,"inputSize","y"]],[13,"inputWm1",[6,"d.i32",[[1,"iw","-",[5,"1"]]]]],[13,"inputHm1",[6,"d.i32",[[1,"ih","-",[5,"1"]]]]],[12,"sample",[6,"d.vec4f",[[5,"0"],[5,"0"],[5,"0"],[5,"0"]]]],[14,[12,"ty",[5,"0"]],[1,"ty","<",[5,"4"]],[102,"++","ty"],[0,[[14,[12,"tx",[5,"0"]],[1,"tx","<",[5,"4"]],[102,"++","tx"],[0,[[13,"su",[1,[1,[6,"d.f32",["cx"]],"+",[1,[1,[6,"d.f32",["tx"]],"+",[5,"0.5"]],"/",[5,"4"]]],"/",[7,"computeSize","x"]]],[13,"sv",[1,[1,[6,"d.f32",["cy"]],"+",[1,[1,[6,"d.f32",["ty"]],"+",[5,"0.5"]],"/",[5,"4"]]],"/",[7,"computeSize","y"]]],[13,"sx",[6,"std.clamp",[[6,"d.i32",[[1,"su","*","iw"]]],[5,"0"],"inputWm1"]]],[13,"sy",[6,"std.clamp",[[6,"d.i32",[[1,"sv","*","ih"]]],[5,"0"],"inputHm1"]]],[2,"sample","=",[6,[7,"sample","add"],[[6,"std.textureLoad",["childTexture",[6,"d.vec2u",[[6,"d.u32",["sx"]],[6,"d.u32",["sy"]]]],[5,"0"]]]]]]]]]]]],[2,"sample","=",[6,[7,"sample","mul"],[[5,"0.0625"]]]],[13,"knee",[1,[1,"threshold","*",[5,"0.5"]],"+",[5,"0.0001"]]],[13,"lum",[6,"std.dot",[[7,"sample","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"soft",[6,"std.clamp",[[1,[1,"lum","-","threshold"],"+","knee"],[5,"0"],[1,"knee","*",[5,"2"]]]]],[13,"softCurve",[1,[1,"soft","*","soft"],"/",[1,"knee","*",[5,"4"]]]],[13,"mask",[1,[6,"std.max",["softCurve",[1,"lum","-","threshold"]]],"/",[6,"std.max",["lum",[5,"0.0001"]]]]],[10,[6,"d.vec4f",[[6,[7,[7,"sample","xyz"],"mul"],["mask"]],[1,[7,"sample","w"],"*","mask"]]]]]]},externals:{"d.i32":()=>Z,"d.vec4f":()=>x,"d.f32":()=>a,"std.clamp":()=>$,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"d.u32":()=>R,"std.dot":()=>se,"d.vec3f":()=>f,"std.max":()=>b}})&&e.f)({})).$name("bloomExtractSoftKnee");var pF=v.fn([x,x,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,.1),d=__tsover_mul(o,.1),c=__tsover_mul(n,.1),_=b(b(b(i,d),c),.01),u=__tsover_div(i,_),m=__tsover_div(d,_),p=__tsover_div(c,_);return x(X(t.x,s.x,u),X(t.y,s.y,m),X(t.z,s.z,p),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sharp"},{type:"i",name:"blurred"},{type:"i",name:"redIntensity"},{type:"i",name:"greenIntensity"},{type:"i",name:"blueIntensity"}],body:[0,[[13,"redRadius",[1,"redIntensity","*",[5,"0.1"]]],[13,"greenRadius",[1,"greenIntensity","*",[5,"0.1"]]],[13,"blueRadius",[1,"blueIntensity","*",[5,"0.1"]]],[13,"maxRadius",[6,"std.max",[[6,"std.max",[[6,"std.max",["redRadius","greenRadius"]],"blueRadius"]],[5,"0.01"]]]],[13,"rMix",[1,"redRadius","/","maxRadius"]],[13,"gMix",[1,"greenRadius","/","maxRadius"]],[13,"bMix",[1,"blueRadius","/","maxRadius"]],[13,"finalR",[6,"std.mix",[[7,"sharp","x"],[7,"blurred","x"],"rMix"]]],[13,"finalG",[6,"std.mix",[[7,"sharp","y"],[7,"blurred","y"],"gMix"]]],[13,"finalB",[6,"std.mix",[[7,"sharp","z"],[7,"blurred","z"],"bMix"]]],[10,[6,"d.vec4f",["finalR","finalG","finalB",[7,"sharp","w"]]]]]]},externals:{"std.max":()=>b,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})).$name("channelBlurCompose"),fF=v.fn([a,a,a,a,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(t,su),c=l(__tsover_div(H(d),i),Y(d)),_=l(s,__tsover_sub(1,r));return re(0,o,b(0,se(n.sub(_),c)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angleDeg"},{type:"i",name:"centerX"},{type:"i",name:"centerY"},{type:"i",name:"falloff"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"direction",[6,"d.vec2f",[[1,[6,"std.cos",["angleRad"]],"/","aspect"],[6,"std.sin",["angleRad"]]]]],[13,"centerPos",[6,"d.vec2f",["centerX",[1,[5,"1"],"-","centerY"]]]],[13,"centeredUV",[6,[7,"uv","sub"],["centerPos"]]],[13,"directionalDist",[6,"std.max",[[5,"0"],[6,"std.dot",["centeredUV","direction"]]]]],[10,[6,"std.smoothstep",[[5,"0"],"falloff","directionalDist"]]]]]},externals:{DEG_TO_RAD:()=>su,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y,"std.max":()=>b,"std.dot":()=>se,"std.smoothstep":()=>re}})&&e.f)({})).$name("progressiveBlurAmount");var vF=v.fn([a,l,a,a,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(t,su),c=l(__tsover_mul(Y(d),-1),H(d)),_=l(s.x,__tsover_sub(1,s.y)),u=n.sub(_),m=z(se(l(__tsover_mul(u.x,i),u.y),c)),p=__tsover_mul(r,.5);return re(p,__tsover_add(p,o),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angleDeg"},{type:"i",name:"center"},{type:"i",name:"width"},{type:"i",name:"falloff"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"perpVector",[6,"d.vec2f",[[1,[6,"std.sin",["angleRad"]],"*",[4,"-",[5,"1"]]],[6,"std.cos",["angleRad"]]]]],[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"centeredUV",[6,[7,"uv","sub"],["centerPos"]]],[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"centeredUV","x"],"*","aspect"],[7,"centeredUV","y"]]]],[13,"distFromLine",[6,"std.abs",[[6,"std.dot",["aspectCorrectedUV","perpVector"]]]]],[13,"focusWidth",[1,"width","*",[5,"0.5"]]],[10,[6,"std.smoothstep",["focusWidth",[1,"focusWidth","+","falloff"],"distFromLine"]]]]]},externals:{DEG_TO_RAD:()=>su,"d.vec2f":()=>l,"std.sin":()=>Y,"std.cos":()=>H,"std.abs":()=>z,"std.dot":()=>se,"std.smoothstep":()=>re}})&&e.f)({})).$name("tiltShiftBlurAmount");var yF=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=t.xyz.add(s.xyz.mul(r)),n=$(__tsover_mul(s.w,r),0,1);return x(o,__tsover_add(t.w,__tsover_mul(n,__tsover_sub(1,t.w))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"original"},{type:"i",name:"bloom"},{type:"i",name:"intensity"}],body:[0,[[13,"finalColor",[6,[7,[7,"original","xyz"],"add"],[[6,[7,[7,"bloom","xyz"],"mul"],["intensity"]]]]],[13,"glowAlpha",[6,"std.clamp",[[1,[7,"bloom","w"],"*","intensity"],[5,"0"],[5,"1"]]]],[13,"finalAlpha",[1,[7,"original","w"],"+",[1,"glowAlpha","*",[1,[5,"1"],"-",[7,"original","w"]]]]],[10,[6,"d.vec4f",["finalColor","finalAlpha"]]]]]},externals:{"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})).$name("glowCompose");var hF=Math.PI*(3-Math.sqrt(5)),xF=Math.PI*2;var L3=.35;var gF=Math.SQRT2/4;var bF=v.fn([x,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=se(t.xyz,f(.2126,.7152,.0722)),i=re(s,__tsover_add(s,L3),n);return __tsover_mul(__tsover_add(1,__tsover_mul(__tsover_mul(r,i),i)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"threshold"},{type:"i",name:"gain"},{type:"i",name:"rim"}],body:[0,[[13,"lum",[6,"std.dot",[[7,"base","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"hi",[6,"std.smoothstep",["threshold",[1,"threshold","+","HIGHLIGHT_KNEE"],"lum"]]],[10,[1,[1,[5,"1"],"+",[1,[1,"gain","*","hi"],"*","hi"]],"*","rim"]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.smoothstep":()=>re,HIGHLIGHT_KNEE:()=>L3}})&&e.f)({})).$name("bokehHighlightWeight");var ed=Le,wF=hz(32,.8),TF=v.fn([l,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,ed),d=__tsover_div(o.x,o.y),c=__tsover_div(H(i),d),_=Y(i),u=__tsover_mul(__tsover_div(__tsover_mul(c,r),o.x),2),m=__tsover_mul(__tsover_div(__tsover_mul(_,r),o.y),2);return l(__tsover_add(t.x,__tsover_mul(u,n)),__tsover_add(t.y,__tsover_mul(m,n)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"angleDeg"},{type:"i",name:"intensity"},{type:"i",name:"viewport"},{type:"i",name:"tapT"}],body:[0,[[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"dirX",[1,[6,"std.cos",["angleRad"]],"/","aspect"]],[13,"dirY",[6,"std.sin",["angleRad"]]],[13,"bvX",[1,[1,[1,"dirX","*","intensity"],"/",[7,"viewport","x"]],"*",[5,"2"]]],[13,"bvY",[1,[1,[1,"dirY","*","intensity"],"/",[7,"viewport","y"]],"*",[5,"2"]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,"bvX","*","tapT"]],[1,[7,"uv","y"],"+",[1,"bvY","*","tapT"]]]]]]]},externals:{DEG_TO_RAD:()=>ed,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),SF=v.fn([l,a,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(t.x,__tsover_sub(1,t.y)),d=__tsover_div(__tsover_mul(s,.005),31),c=__tsover_mul(__tsover_sub(n,15.5),d),_=H(c),u=Y(c),m=__tsover_sub(r.x,i.x),p=__tsover_sub(r.y,i.y),y=__tsover_mul(m,o),h=p,g=__tsover_sub(__tsover_mul(y,_),__tsover_mul(h,u)),w=__tsover_add(__tsover_mul(y,u),__tsover_mul(h,_));return l(__tsover_add(__tsover_div(g,o),i.x),__tsover_add(w,i.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"intensity"},{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"tapIndex"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"angleStep",[1,[1,"intensity","*",[5,"0.005"]],"/",[5,"31"]]],[13,"angle",[1,[1,"tapIndex","-",[5,"15.5"]],"*","angleStep"]],[13,"cosA",[6,"std.cos",["angle"]]],[13,"sinA",[6,"std.sin",["angle"]]],[13,"initX",[1,[7,"uv","x"],"-",[7,"centerPos","x"]]],[13,"initY",[1,[7,"uv","y"],"-",[7,"centerPos","y"]]],[13,"acX",[1,"initX","*","aspect"]],[13,"acY","initY"],[13,"rotX",[1,[1,"acX","*","cosA"],"-",[1,"acY","*","sinA"]]],[13,"rotY",[1,[1,"acX","*","sinA"],"+",[1,"acY","*","cosA"]]],[10,[6,"d.vec2f",[[1,[1,"rotX","/","aspect"],"+",[7,"centerPos","x"]],[1,"rotY","+",[7,"centerPos","y"]]]]]]]},externals:{"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),AF=v.fn([l,a,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(t.x,__tsover_sub(1,t.y)),d=__tsover_mul(s,.01),c=__tsover_add(1,__tsover_mul(d,__tsover_div(n,31))),_=__tsover_sub(r.x,i.x),u=__tsover_sub(r.y,i.y),m=__tsover_mul(_,o),p=u,y=__tsover_div(m,c),h=__tsover_div(p,c);return l(__tsover_add(__tsover_div(y,o),i.x),__tsover_add(h,i.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"intensity"},{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"tapIndex"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"radius",[1,"intensity","*",[5,"0.01"]]],[13,"scale",[1,[5,"1"],"+",[1,"radius","*",[1,"tapIndex","/",[5,"31"]]]]],[13,"deltaX",[1,[7,"uv","x"],"-",[7,"centerPos","x"]]],[13,"deltaY",[1,[7,"uv","y"],"-",[7,"centerPos","y"]]],[13,"acdX",[1,"deltaX","*","aspect"]],[13,"acdY","deltaY"],[13,"scaledDeltaX",[1,"acdX","/","scale"]],[13,"scaledDeltaY",[1,"acdY","/","scale"]],[10,[6,"d.vec2f",[[1,[1,"scaledDeltaX","/","aspect"],"+",[7,"centerPos","x"]],[1,"scaledDeltaY","+",[7,"centerPos","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({}));var MF=v.fn([l,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=er(t.mul(1e3)).mul(2).sub(l(1,1)).mul(s).div(r);return t.add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"intensity"},{type:"i",name:"viewport"}],body:[0,[[13,"seed",[6,[7,"uv","mul"],[[5,"1000"]]]],[13,"randVec",[6,"noise.hash22",["seed"]]],[13,"offset",[6,[7,[6,[7,[6,[7,[6,[7,"randVec","mul"],[[5,"2"]]],"sub"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]],"mul"],["intensity"]],"div"],["viewport"]]],[10,[6,[7,"uv","add"],["offset"]]]]]},externals:{"noise.hash22":()=>er,"d.vec2f":()=>l}})&&e.f)({}));var xz=[.056,.135,.278,.487,.726,.923,1,.923,.726,.487,.278,.135,.056],gz=6.214,PF=xz.map(e=>e/gz);var EF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(r,ed),i=__tsover_mul(o,.2),d=__tsover_div(s.x,s.y),c=__tsover_div(__tsover_mul(Y(n),i),d),_=__tsover_mul(__tsover_mul(H(n),-1),i);return l(__tsover_sub(t.x,c),__tsover_sub(t.y,_))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"distance"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"dist",[1,"distance","*",[5,"0.2"]]],[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"ox",[1,[1,[6,"std.sin",["angleRad"]],"*","dist"],"/","aspect"]],[13,"oy",[1,[1,[6,"std.cos",["angleRad"]],"*",[4,"-",[5,"1"]]],"*","dist"]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"-","ox"],[1,[7,"uv","y"],"-","oy"]]]]]]},externals:{DEG_TO_RAD:()=>ed,"std.sin":()=>Y,"std.cos":()=>H,"d.vec2f":()=>l}})&&e.f)({})),kF=v.fn([l,l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return l(__tsover_add(t.x,__tsover_div(__tsover_mul(o,r),s.x)),__tsover_add(t.y,__tsover_div(__tsover_mul(n,r),s.y)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"blurRadius"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[1,"ox","*","blurRadius"],"/",[7,"viewport","x"]]],[1,[7,"uv","y"],"+",[1,[1,"oy","*","blurRadius"],"/",[7,"viewport","y"]]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),$F=v.fn([x,x,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=f(s.x,s.y,s.z),i=__tsover_mul(s.w,r),d=$(__tsover_sub(i,t.w),0,1),c=n.mul(s.w).mul(d),_=n.mul(s.w).mul(r),u=__tsover_sub(1,t.w),m=f(t.x,t.y,t.z).add(_.mul(u)),p=b(__tsover_add(t.w,__tsover_mul(i,u)),t.w),y=o>.5,h=C(m,c,y),g=C(p,d,y);return x(h.x,h.y,h.z,g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"originalColor"},{type:"i",name:"shadowColor"},{type:"i",name:"shadowAlpha"},{type:"i",name:"cutout"}],body:[0,[[13,"shadowRgb",[6,"d.vec3f",[[7,"shadowColor","x"],[7,"shadowColor","y"],[7,"shadowColor","z"]]]],[13,"shadowA",[1,[7,"shadowColor","w"],"*","shadowAlpha"]],[13,"cutoutA",[6,"std.clamp",[[1,"shadowA","-",[7,"originalColor","w"]],[5,"0"],[5,"1"]]]],[13,"cutoutRgb",[6,[7,[6,[7,"shadowRgb","mul"],[[7,"shadowColor","w"]]],"mul"],["cutoutA"]]],[13,"shadowPremulRgb",[6,[7,[6,[7,"shadowRgb","mul"],[[7,"shadowColor","w"]]],"mul"],["shadowAlpha"]]],[13,"oneMinusOrigA",[1,[5,"1"],"-",[7,"originalColor","w"]]],[13,"normalRgb",[6,[7,[6,"d.vec3f",[[7,"originalColor","x"],[7,"originalColor","y"],[7,"originalColor","z"]]],"add"],[[6,[7,"shadowPremulRgb","mul"],["oneMinusOrigA"]]]]],[13,"normalA",[6,"std.max",[[1,[7,"originalColor","w"],"+",[1,"shadowA","*","oneMinusOrigA"]],[7,"originalColor","w"]]]],[13,"useCut",[1,"cutout",">",[5,"0.5"]]],[13,"rgb",[6,"std.select",["normalRgb","cutoutRgb","useCut"]]],[13,"a",[6,"std.select",["normalA","cutoutA","useCut"]]],[10,[6,"d.vec4f",[[7,"rgb","x"],[7,"rgb","y"],[7,"rgb","z"],"a"]]]]]},externals:{"d.vec3f":()=>f,"std.clamp":()=>$,"std.max":()=>b,"std.select":()=>C,"d.vec4f":()=>x}})&&e.f)({}));var UF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return l(__tsover_add(t.x,__tsover_div(r,s.x)),__tsover_add(t.y,__tsover_div(o,s.y)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"dirX"},{type:"i",name:"dirY"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,"dirX","/",[7,"viewport","x"]]],[1,[7,"uv","y"],"+",[1,"dirY","/",[7,"viewport","y"]]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),CF=v.fn([x,x,x,x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_add(1,__tsover_mul(i,4)),c=__tsover_mul(i,-1),_=$(t.xyz.mul(d).add(s.xyz.mul(c)).add(r.xyz.mul(c)).add(o.xyz.mul(c)).add(n.xyz.mul(c)),f(0,0,0),f(1,1,1));return x(_.x,_.y,_.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"top"},{type:"i",name:"bottom"},{type:"i",name:"left"},{type:"i",name:"right"},{type:"i",name:"amount"}],body:[0,[[13,"centerWeight",[1,[5,"1"],"+",[1,"amount","*",[5,"4"]]]],[13,"neighborWeight",[1,"amount","*",[4,"-",[5,"1"]]]],[13,"rgb",[6,[7,[6,[7,[6,[7,[6,[7,[6,[7,[7,"center","xyz"],"mul"],["centerWeight"]],"add"],[[6,[7,[7,"top","xyz"],"mul"],["neighborWeight"]]]],"add"],[[6,[7,[7,"bottom","xyz"],"mul"],["neighborWeight"]]]],"add"],[[6,[7,[7,"left","xyz"],"mul"],["neighborWeight"]]]],"add"],[[6,[7,[7,"right","xyz"],"mul"],["neighborWeight"]]]]],[13,"clamped",[6,"std.clamp",["rgb",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]],[10,[6,"d.vec4f",[[7,"clamped","x"],[7,"clamped","y"],[7,"clamped","z"],[7,"center","w"]]]]]]},externals:{"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({}));var RF=v.fn([l,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=s>1,d=b(C(__tsover_mul(r,s),r,i),1),c=b(C(r,__tsover_div(r,s),i),1),_=l(__tsover_div(q(__tsover_mul(t.x,d)),d),__tsover_div(q(__tsover_mul(t.y,c)),c)),u=l(__tsover_sub(ue(__tsover_mul(t.x,d)),.5),__tsover_sub(ue(__tsover_mul(t.y,c)),.5)),m=__tsover_sub(.5,__tsover_mul(o,.5)),p=__tsover_mul(n,m),y=b(__tsover_add(__tsover_sub(z(u.x),m),p),0),h=b(__tsover_add(__tsover_sub(z(u.y),m),p),0),g=__tsover_sub(j(l(y,h)),p),w=C(a(0),a(1),g<=0);return f(_.x,_.y,w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"scale"},{type:"i",name:"gap"},{type:"i",name:"roundness"}],body:[0,[[13,"isWide",[1,"aspect",">",[5,"1"]]],[13,"pixelCountX",[6,"std.max",[[6,"std.select",[[1,"scale","*","aspect"],"scale","isWide"]],[5,"1"]]]],[13,"pixelCountY",[6,"std.max",[[6,"std.select",["scale",[1,"scale","/","aspect"],"isWide"]],[5,"1"]]]],[13,"sampleUV",[6,"d.vec2f",[[1,[6,"std.floor",[[1,[7,"uv","x"],"*","pixelCountX"]]],"/","pixelCountX"],[1,[6,"std.floor",[[1,[7,"uv","y"],"*","pixelCountY"]]],"/","pixelCountY"]]]],[13,"localUV",[6,"d.vec2f",[[1,[6,"std.fract",[[1,[7,"uv","x"],"*","pixelCountX"]]],"-",[5,"0.5"]],[1,[6,"std.fract",[[1,[7,"uv","y"],"*","pixelCountY"]]],"-",[5,"0.5"]]]]],[13,"halfSize",[1,[5,"0.5"],"-",[1,"gap","*",[5,"0.5"]]]],[13,"cornerRadius",[1,"roundness","*","halfSize"]],[13,"qx",[6,"std.max",[[1,[1,[6,"std.abs",[[7,"localUV","x"]]],"-","halfSize"],"+","cornerRadius"],[5,"0"]]]],[13,"qy",[6,"std.max",[[1,[1,[6,"std.abs",[[7,"localUV","y"]]],"-","halfSize"],"+","cornerRadius"],[5,"0"]]]],[13,"sdf",[1,[6,"std.length",[[6,"d.vec2f",["qx","qy"]]]],"-","cornerRadius"]],[13,"mask",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"sdf","<=",[5,"0"]]]]],[10,[6,"d.vec3f",[[7,"sampleUV","x"],[7,"sampleUV","y"],"mask"]]]]]},externals:{"std.max":()=>b,"std.select":()=>C,"d.vec2f":()=>l,"std.floor":()=>q,"std.fract":()=>ue,"std.abs":()=>z,"std.length":()=>j,"d.f32":()=>a,"d.vec3f":()=>f}})&&e.f)({}));var zF=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=s>1,c=l(C(__tsover_mul(o,s),o,d),C(o,__tsover_div(o,s),d)),_=l(__tsover_mul(t.x,s),t.y),u=__tsover_mul(n,ed),m=H(u),p=Y(u),y=_.sub(l(__tsover_mul(.5,s),.5)),h=l(__tsover_sub(__tsover_mul(y.x,m),__tsover_mul(y.y,p)),__tsover_add(__tsover_mul(y.x,p),__tsover_mul(y.y,m))).add(l(__tsover_mul(.5,s),.5)),g=l(__tsover_div(h.x,s),h.y),w=q(g.mul(c)).div(c),S=g.sub(w),T=l(1,1).div(c),A=S.div(T).sub(l(.5,.5)),P=__tsover_add(__tsover_mul(A.x,A.x),__tsover_mul(A.y,A.y)),U=b(__tsover_sub(1,__tsover_mul(P,__tsover_mul(i,4))),0),D=__tsover_mul(r,.025),O=__tsover_mul(D,U),L=l(__tsover_div(__tsover_mul(A.x,O),s),__tsover_mul(A.y,O));return t.add(L)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"intensity"},{type:"i",name:"baseTileCount"},{type:"i",name:"rotationDegrees"},{type:"i",name:"roundnessAmount"}],body:[0,[[13,"isWide",[1,"aspect",">",[5,"1"]]],[13,"tileCount",[6,"d.vec2f",[[6,"std.select",[[1,"baseTileCount","*","aspect"],"baseTileCount","isWide"]],[6,"std.select",["baseTileCount",[1,"baseTileCount","/","aspect"],"isWide"]]]]],[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"rotationRadians",[1,"rotationDegrees","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["rotationRadians"]]],[13,"sinA",[6,"std.sin",["rotationRadians"]]],[13,"centered",[6,[7,"aspectCorrectedUV","sub"],[[6,"d.vec2f",[[1,[5,"0.5"],"*","aspect"],[5,"0.5"]]]]]],[13,"rotatedX",[1,[1,[7,"centered","x"],"*","cosA"],"-",[1,[7,"centered","y"],"*","sinA"]]],[13,"rotatedY",[1,[1,[7,"centered","x"],"*","sinA"],"+",[1,[7,"centered","y"],"*","cosA"]]],[13,"rotatedUV",[6,[7,[6,"d.vec2f",["rotatedX","rotatedY"]],"add"],[[6,"d.vec2f",[[1,[5,"0.5"],"*","aspect"],[5,"0.5"]]]]]],[13,"gridUV",[6,"d.vec2f",[[1,[7,"rotatedUV","x"],"/","aspect"],[7,"rotatedUV","y"]]]],[13,"cellCoord",[6,[7,[6,"std.floor",[[6,[7,"gridUV","mul"],["tileCount"]]]],"div"],["tileCount"]]],[13,"localUV",[6,[7,"gridUV","sub"],["cellCoord"]]],[13,"oneOverTile",[6,[7,[6,"d.vec2f",[[5,"1"],[5,"1"]]],"div"],["tileCount"]]],[13,"normalizedLocalUV",[6,[7,"localUV","div"],["oneOverTile"]]],[13,"fromCenter",[6,[7,"normalizedLocalUV","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"distFromCenter",[1,[1,[7,"fromCenter","x"],"*",[7,"fromCenter","x"]],"+",[1,[7,"fromCenter","y"],"*",[7,"fromCenter","y"]]]],[13,"roundnessFactor",[1,[5,"1"],"-",[1,"distFromCenter","*",[1,"roundnessAmount","*",[5,"4"]]]]],[13,"clampedRoundness",[6,"std.max",["roundnessFactor",[5,"0"]]]],[13,"distortionFactor",[1,"intensity","*",[5,"0.025"]]],[13,"scaleFactor",[1,"distortionFactor","*","clampedRoundness"]],[13,"distortion",[6,"d.vec2f",[[1,[1,[7,"fromCenter","x"],"*","scaleFactor"],"/","aspect"],[1,[7,"fromCenter","y"],"*","scaleFactor"]]]],[10,[6,[7,"uv","add"],["distortion"]]]]]},externals:{"d.vec2f":()=>l,"std.select":()=>C,DEG_TO_RAD:()=>ed,"std.cos":()=>H,"std.sin":()=>Y,"std.floor":()=>q,"std.max":()=>b}})&&e.f)({}));var GF=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s,.002);return l(__tsover_add(t.x,__tsover_mul(o,r)),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"colorShift"},{type:"i",name:"dir"}],body:[0,[[13,"scaledColorShift",[1,"colorShift","*",[5,"0.002"]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,"scaledColorShift","*","dir"]],[7,"uv","y"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),YF=v.fn([x,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return f(t.x,s.y,r.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"redSample"},{type:"i",name:"greenSample"},{type:"i",name:"blueSample"}],body:[0,[[10,[6,"d.vec3f",[[7,"redSample","x"],[7,"greenSample","y"],[7,"blueSample","z"]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),LF=v.fn([f,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return t.sub(f(.5)).mul(s).add(f(.5)).mul(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"contrast"},{type:"i",name:"brightness"}],body:[0,[[10,[6,[7,[6,[7,[6,[7,[6,[7,"color","sub"],[[6,"d.vec3f",[[5,"0.5"]]]]],"mul"],["contrast"]],"add"],[[6,"d.vec3f",[[5,"0.5"]]]]],"mul"],["brightness"]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),IF=v.fn([f,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,r),i=Y(__tsover_mul(n,__tsover_mul(3.14159,2))),d=__tsover_sub(1,__tsover_mul(o,__tsover_add(__tsover_mul(i,.5),.5)));return t.mul(d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uvY"},{type:"i",name:"scanlineFrequency"},{type:"i",name:"scanlineIntensity"}],body:[0,[[13,"scanlinePosition",[1,"uvY","*","scanlineFrequency"]],[13,"scanlineWave",[6,"std.sin",[[1,"scanlinePosition","*",[1,[5,"3.14159"],"*",[5,"2"]]]]]],[13,"scanlineEffect",[1,[5,"1"],"-",[1,"scanlineIntensity","*",[1,[1,"scanlineWave","*",[5,"0.5"]],"+",[5,"0.5"]]]]],[10,[6,[7,"color","mul"],["scanlineEffect"]]]]]},externals:{"std.sin":()=>Y}})&&e.f)({})),DF=v.fn([f,l,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r,.5),n=ue(s.mul(o)),i=__tsover_add(__tsover_mul(Y(__tsover_mul(n.x,6.28318)),.1),.95),d=__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(n.x,6.28318),2.09)),.1),.95),c=__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(n.x,6.28318),4.18)),.1),.95);return f(__tsover_mul(t.x,i),__tsover_mul(t.y,d),__tsover_mul(t.z,c))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"},{type:"i",name:"pixelSize"}],body:[0,[[13,"phosphorScale",[1,"pixelSize","*",[5,"0.5"]]],[13,"pixelPhase",[6,"std.fract",[[6,[7,"uv","mul"],["phosphorScale"]]]]],[13,"redMask",[1,[1,[6,"std.sin",[[1,[7,"pixelPhase","x"],"*",[5,"6.28318"]]]],"*",[5,"0.1"]],"+",[5,"0.95"]]],[13,"greenMask",[1,[1,[6,"std.sin",[[1,[1,[7,"pixelPhase","x"],"*",[5,"6.28318"]],"+",[5,"2.09"]]]],"*",[5,"0.1"]],"+",[5,"0.95"]]],[13,"blueMask",[1,[1,[6,"std.sin",[[1,[1,[7,"pixelPhase","x"],"*",[5,"6.28318"]],"+",[5,"4.18"]]]],"*",[5,"0.1"]],"+",[5,"0.95"]]],[10,[6,"d.vec3f",[[1,[7,"color","x"],"*","redMask"],[1,[7,"color","y"],"*","greenMask"],[1,[7,"color","z"],"*","blueMask"]]]]]]},externals:{"std.fract":()=>ue,"std.sin":()=>Y,"d.vec3f":()=>f}})&&e.f)({})),FF=v.fn([f,l,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=s.sub(l(.5,.5)),d=j(l(__tsover_mul(i.x,r),i.y)),c=__tsover_sub(1,__tsover_mul(o,.9)),_=__tsover_add(c,.5),u=X(1,__tsover_sub(1,re(c,_,d)),n);return t.mul(u)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"vignetteRadius"},{type:"i",name:"vignetteIntensity"}],body:[0,[[13,"centeredUV",[6,[7,"uv","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"centeredUV","x"],"*","aspect"],[7,"centeredUV","y"]]]],[13,"vignetteDistance",[6,"std.length",["aspectCorrectedUV"]]],[13,"innerEdge",[1,[5,"1"],"-",[1,"vignetteRadius","*",[5,"0.9"]]]],[13,"outerEdge",[1,"innerEdge","+",[5,"0.5"]]],[13,"vignetteValue",[1,[5,"1"],"-",[6,"std.smoothstep",["innerEdge","outerEdge","vignetteDistance"]]]],[13,"vignette",[6,"std.mix",[[5,"1"],"vignetteValue","vignetteIntensity"]]],[10,[6,[7,"color","mul"],["vignette"]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.smoothstep":()=>re,"std.mix":()=>X}})&&e.f)({})),I3=487,qd=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ot(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"noise.hash12",["p"]]]]]},externals:{"noise.hash12":()=>Ot}})&&e.f)({})),En=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=ue(t),o=r.mul(r).mul(l(3,3).sub(r.mul(2))),n=qd(s),i=qd(s.add(l(1,0))),d=qd(s.add(l(0,1))),c=qd(s.add(l(1,1)));return X(X(n,i,o.x),X(d,c,o.x),o.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,"std.fract",["p"]]],[13,"u",[6,[7,[6,[7,"f","mul"],["f"]],"mul"],[[6,[7,[6,"d.vec2f",[[5,"3"],[5,"3"]]],"sub"],[[6,[7,"f","mul"],[[5,"2"]]]]]]]],[13,"a",[6,"hash2D",["i"]]],[13,"b",[6,"hash2D",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"0"]]]]]]]],[13,"c",[6,"hash2D",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]]]],[13,"dd",[6,"hash2D",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]]],[10,[6,"std.mix",[[6,"std.mix",["a","b",[7,"u","x"]]],[6,"std.mix",["c","dd",[7,"u","x"]]],[7,"u","y"]]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,"d.vec2f":()=>l,hash2D:()=>qd,"std.mix":()=>X}})&&e.f)({})),D3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return re(.45,.8,En(l(__tsover_mul(t,.4),0)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[6,"std.smoothstep",[[5,"0.45"],[5,"0.8"],[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"t","*",[5,"0.4"]],[5,"0"]]]]]]]]]]},externals:{"std.smoothstep":()=>re,smoothNoise2D:()=>En,"d.vec2f":()=>l}})&&e.f)({})),F3=v.fn([a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=q(__tsover_mul(t,I3)),i=__tsover_mul(__tsover_sub(Ot(l(n,s)),.5),2),d=__tsover_mul(__tsover_sub(Ot(l(n,__tsover_add(s,69.42))),.5),2),c=__tsover_add(.25,__tsover_mul(o,.75)),_=__tsover_mul(__tsover_mul(__tsover_mul(i,r),.008),c);return l(__tsover_mul(__tsover_mul(__tsover_mul(d,r),.004),c),_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvY"},{type:"i",name:"t"},{type:"i",name:"scanlineNoise"},{type:"i",name:"burst"}],body:[0,[[13,"rowInt",[6,"std.floor",[[1,"uvY","*","FIELD_LINES"]]]],[13,"h0",[1,[1,[6,"noise.hash12",[[6,"d.vec2f",["rowInt","t"]]]],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"h1",[1,[1,[6,"noise.hash12",[[6,"d.vec2f",["rowInt",[1,"t","+",[5,"69.42"]]]]]],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"fineGate",[1,[5,"0.25"],"+",[1,"burst","*",[5,"0.75"]]]],[13,"chromaRowOffset",[1,[1,[1,"h0","*","scanlineNoise"],"*",[5,"0.008"]],"*","fineGate"]],[13,"lumaRowOffset",[1,[1,[1,"h1","*","scanlineNoise"],"*",[5,"0.004"]],"*","fineGate"]],[10,[6,"d.vec2f",["lumaRowOffset","chromaRowOffset"]]]]]},externals:{"std.floor":()=>q,FIELD_LINES:()=>I3,"noise.hash12":()=>Ot,"d.vec2f":()=>l}})&&e.f)({})),B3=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(En(l(__tsover_mul(t,3),__tsover_mul(s,.8))),.5),n=__tsover_sub(En(l(__tsover_mul(t,30),__tsover_mul(s,6))),.5);return __tsover_mul(__tsover_add(__tsover_mul(o,.008),__tsover_mul(n,.002)),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvY"},{type:"i",name:"t"},{type:"i",name:"wobble"}],body:[0,[[13,"wave1",[1,[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"uvY","*",[5,"3"]],[1,"t","*",[5,"0.8"]]]]]],"-",[5,"0.5"]]],[13,"wave2",[1,[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"uvY","*",[5,"30"]],[1,"t","*",[5,"6"]]]]]],"-",[5,"0.5"]]],[10,[1,[1,[1,"wave1","*",[5,"0.008"]],"+",[1,"wave2","*",[5,"0.002"]]],"*","wobble"]]]]},externals:{smoothNoise2D:()=>En,"d.vec2f":()=>l}})&&e.f)({})),W3=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=re(.92,.99,Y(__tsover_sub(__tsover_mul(t,8),__tsover_mul(s,3.77)))),n=re(.3,1,En(l(__tsover_mul(t,4.77),s)));return __tsover_mul(__tsover_mul(__tsover_mul(o,n),r),-.018)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvY"},{type:"i",name:"t"},{type:"i",name:"wobble"}],body:[0,[[13,"creasePhase",[6,"std.smoothstep",[[5,"0.92"],[5,"0.99"],[6,"std.sin",[[1,[1,"uvY","*",[5,"8"]],"-",[1,"t","*",[5,"3.77"]]]]]]]],[13,"creaseNoise",[6,"std.smoothstep",[[5,"0.3"],[5,"1"],[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"uvY","*",[5,"4.77"]],"t"]]]]]]],[10,[1,[1,[1,"creasePhase","*","creaseNoise"],"*","wobble"],"*",[4,"-",[5,"0.018"]]]]]]},externals:{"std.smoothstep":()=>re,"std.sin":()=>Y,smoothNoise2D:()=>En,"d.vec2f":()=>l}})&&e.f)({})),O3=v.fn([a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(1,re(0,.06,t)),i=__tsover_sub(En(l(__tsover_mul(t,60),__tsover_mul(s,14))),.5);return l(__tsover_mul(__tsover_mul(__tsover_mul(n,i),r),.09),__tsover_mul(__tsover_mul(__tsover_mul(n,r),o),.02))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvY"},{type:"i",name:"t"},{type:"i",name:"wobble"},{type:"i",name:"burst"}],body:[0,[[13,"switchPhase",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],[5,"0.06"],"uvY"]]]],[13,"switchNoise",[1,[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"uvY","*",[5,"60"]],[1,"t","*",[5,"14"]]]]]],"-",[5,"0.5"]]],[13,"switchX",[1,[1,[1,"switchPhase","*","switchNoise"],"*","wobble"],"*",[5,"0.09"]]],[13,"switchY",[1,[1,[1,"switchPhase","*","wobble"],"*","burst"],"*",[5,"0.02"]]],[10,[6,"d.vec2f",["switchX","switchY"]]]]]},externals:{"std.smoothstep":()=>re,smoothNoise2D:()=>En,"d.vec2f":()=>l}})&&e.f)({})),BF=v.fn([l,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,r),d=D3(i),c=F3(t.y,i,n,d),_=O3(t.y,i,o,d),u=__tsover_add(__tsover_add(B3(t.y,i,o),W3(t.y,i,o)),_.x),m=__tsover_add(t.y,_.y);return x(__tsover_add(__tsover_add(t.x,u),c.x),m,__tsover_add(__tsover_add(t.x,u),c.y),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"time"},{type:"i",name:"speed"},{type:"i",name:"wobble"},{type:"i",name:"scanlineNoise"}],body:[0,[[13,"t",[1,"time","*","speed"]],[13,"burst",[6,"burstGate",["t"]]],[13,"jitter",[6,"rowJitter",[[7,"uv","y"],"t","scanlineNoise","burst"]]],[13,"sw",[6,"headSwitch",[[7,"uv","y"],"t","wobble","burst"]]],[13,"globalX",[1,[1,[6,"tapeWave",[[7,"uv","y"],"t","wobble"]],"+",[6,"creaseShift",[[7,"uv","y"],"t","wobble"]]],"+",[7,"sw","x"]]],[13,"sy",[1,[7,"uv","y"],"+",[7,"sw","y"]]],[10,[6,"d.vec4f",[[1,[1,[7,"uv","x"],"+","globalX"],"+",[7,"jitter","x"]],"sy",[1,[1,[7,"uv","x"],"+","globalX"],"+",[7,"jitter","y"]],"sy"]]]]]},externals:{burstGate:()=>D3,rowJitter:()=>F3,headSwitch:()=>O3,tapeWave:()=>B3,creaseShift:()=>W3,"d.vec4f":()=>x}})&&e.f)({})),WF=v.fn([l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,r);return __tsover_add(1,__tsover_mul(__tsover_mul(H(__tsover_add(__tsover_mul(bo(n,6.2831853),2),__tsover_mul(t.y,.5))),.015),o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"time"},{type:"i",name:"speed"},{type:"i",name:"wobble"}],body:[0,[[13,"t",[1,"time","*","speed"]],[10,[1,[5,"1"],"+",[1,[1,[6,"std.cos",[[1,[1,[6,"std.mod",["t",[5,"6.2831853"]]],"*",[5,"2"]],"+",[1,[7,"uv","y"],"*",[5,"0.5"]]]]],"*",[5,"0.015"]],"*","wobble"]]]]]},externals:{"std.cos":()=>H,"std.mod":()=>bo}})&&e.f)({})),OF=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_add(t.x,__tsover_mul(__tsover_mul(r,-1),s)),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"chromaUV"},{type:"i",name:"smearScale"},{type:"i",name:"i"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"chromaUV","x"],"+",[1,[1,"i","*",[4,"-",[5,"1"]]],"*","smearScale"]],[7,"chromaUV","y"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),VF=v.fn([x,x,x,x,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=se(t.xyz,f(.299,.587,.114)),c=f(.596,-.274,-.322),_=f(.211,-.523,.312),u=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(se(s.xyz,c),.06666666666666667),__tsover_mul(se(r.xyz,c),.13333333333333333)),__tsover_mul(se(o.xyz,c),.2)),__tsover_mul(se(n.xyz,c),.26666666666666666)),__tsover_mul(se(i.xyz,c),.3333333333333333)),m=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(se(s.xyz,_),.06666666666666667),__tsover_mul(se(r.xyz,_),.13333333333333333)),__tsover_mul(se(o.xyz,_),.2)),__tsover_mul(se(n.xyz,_),.26666666666666666)),__tsover_mul(se(i.xyz,_),.3333333333333333));return f(__tsover_add(__tsover_add(d,__tsover_mul(u,.956)),__tsover_mul(m,.621)),__tsover_sub(__tsover_sub(d,__tsover_mul(u,.272)),__tsover_mul(m,.647)),__tsover_add(__tsover_sub(d,__tsover_mul(u,1.106)),__tsover_mul(m,1.703)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"luma"},{type:"i",name:"c1"},{type:"i",name:"c2"},{type:"i",name:"c3"},{type:"i",name:"c4"},{type:"i",name:"c5"}],body:[0,[[13,"sharpY",[6,"std.dot",[[7,"luma","xyz"],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"iAxis",[6,"d.vec3f",[[5,"0.596"],[4,"-",[5,"0.274"]],[4,"-",[5,"0.322"]]]]],[13,"qAxis",[6,"d.vec3f",[[5,"0.211"],[4,"-",[5,"0.523"]],[5,"0.312"]]]],[13,"accI",[1,[1,[1,[1,[1,[6,"std.dot",[[7,"c1","xyz"],"iAxis"]],"*",[5,"0.06666666666666667"]],"+",[1,[6,"std.dot",[[7,"c2","xyz"],"iAxis"]],"*",[5,"0.13333333333333333"]]],"+",[1,[6,"std.dot",[[7,"c3","xyz"],"iAxis"]],"*",[5,"0.2"]]],"+",[1,[6,"std.dot",[[7,"c4","xyz"],"iAxis"]],"*",[5,"0.26666666666666666"]]],"+",[1,[6,"std.dot",[[7,"c5","xyz"],"iAxis"]],"*",[5,"0.3333333333333333"]]]],[13,"accQ",[1,[1,[1,[1,[1,[6,"std.dot",[[7,"c1","xyz"],"qAxis"]],"*",[5,"0.06666666666666667"]],"+",[1,[6,"std.dot",[[7,"c2","xyz"],"qAxis"]],"*",[5,"0.13333333333333333"]]],"+",[1,[6,"std.dot",[[7,"c3","xyz"],"qAxis"]],"*",[5,"0.2"]]],"+",[1,[6,"std.dot",[[7,"c4","xyz"],"qAxis"]],"*",[5,"0.26666666666666666"]]],"+",[1,[6,"std.dot",[[7,"c5","xyz"],"qAxis"]],"*",[5,"0.3333333333333333"]]]],[10,[6,"d.vec3f",[[1,[1,"sharpY","+",[1,"accI","*",[5,"0.956"]]],"+",[1,"accQ","*",[5,"0.621"]]],[1,[1,"sharpY","-",[1,"accI","*",[5,"0.272"]]],"-",[1,"accQ","*",[5,"0.647"]]],[1,[1,"sharpY","-",[1,"accI","*",[5,"1.106"]]],"+",[1,"accQ","*",[5,"1.703"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),NF=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=$(t.xyz.mul(s),f(0,0,0),f(1,1,1));return x(r.x,r.y,r.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"acBeat"}],body:[0,[[13,"clamped",[6,"std.clamp",[[6,[7,[7,"color","xyz"],"mul"],["acBeat"]],[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]],[10,[6,"d.vec4f",[[7,"clamped","x"],[7,"clamped","y"],[7,"clamped","z"],[7,"color","w"]]]]]]},externals:{"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),sr=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Gs(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"noise.hash11",["p"]]]]]},externals:{"noise.hash11":()=>Gs}})&&e.f)({})),V3=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=sr(t),n=__tsover_mul(__tsover_mul(o,o),o),i=sr(__tsover_add(s,73)),d=__tsover_mul(i,i),c=__tsover_sub(1,r),_=De(c,n),u=De(__tsover_add(c,.15),d);return __tsover_mul($(__tsover_add(__tsover_mul(_,.8),__tsover_mul(u,.4)),0,1),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"slowFrame"},{type:"i",name:"fastFrame"},{type:"i",name:"intensity"}],body:[0,[[13,"slowHash",[6,"hash11",["slowFrame"]]],[13,"slowPulse",[1,[1,"slowHash","*","slowHash"],"*","slowHash"]],[13,"fastHash",[6,"hash11",[[1,"fastFrame","+",[5,"73"]]]]],[13,"fastPulse",[1,"fastHash","*","fastHash"]],[13,"threshold",[1,[5,"1"],"-","intensity"]],[13,"majorBurst",[6,"std.step",["threshold","slowPulse"]]],[13,"minorFlicker",[6,"std.step",[[1,"threshold","+",[5,"0.15"]],"fastPulse"]]],[10,[1,[6,"std.clamp",[[1,[1,"majorBurst","*",[5,"0.8"]],"+",[1,"minorFlicker","*",[5,"0.4"]]],[5,"0"],[5,"1"]]],"*","intensity"]]]]},externals:{hash11:()=>sr,"std.step":()=>De,"std.clamp":()=>$}})&&e.f)({})),Q_=v.fn([a,a,a,a,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_add(__tsover_mul(t,r),__tsover_mul(s,o)),u=sr(_),m=De(__tsover_sub(1,__tsover_mul(c,n)),u);return f(__tsover_mul(__tsover_mul(__tsover_sub(sr(__tsover_add(_,i)),.5),d),m),m,_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"bandY"},{type:"i",name:"frame"},{type:"i",name:"seedScale"},{type:"i",name:"frameScale"},{type:"i",name:"gateFactor"},{type:"i",name:"hashOffset"},{type:"i",name:"amplitude"},{type:"i",name:"glitchStrength"}],body:[0,[[13,"seed",[1,[1,"bandY","*","seedScale"],"+",[1,"frame","*","frameScale"]]],[13,"bandHash",[6,"hash11",["seed"]]],[13,"active",[6,"std.step",[[1,[5,"1"],"-",[1,"glitchStrength","*","gateFactor"]],"bandHash"]]],[13,"displace",[1,[1,[1,[6,"hash11",[[1,"seed","+","hashOffset"]]],"-",[5,"0.5"]],"*","amplitude"],"*","active"]],[10,[6,"d.vec3f",["displace","active","seed"]]]]]},externals:{hash11:()=>sr,"std.step":()=>De,"d.vec3f":()=>f}})&&e.f)({})),N3=v.fn([a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_add(__tsover_add(__tsover_mul(t,.41),__tsover_mul(s,.67)),__tsover_mul(r,2.31)),i=sr(n),d=De(__tsover_sub(1,__tsover_mul(o,.35)),i);return l(__tsover_mul(__tsover_mul(__tsover_sub(sr(__tsover_add(n,77)),.5),.18),d),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colX"},{type:"i",name:"bandY1"},{type:"i",name:"slowFrame"},{type:"i",name:"glitchStrength"}],body:[0,[[13,"blockSeed",[1,[1,[1,"colX","*",[5,"0.41"]],"+",[1,"bandY1","*",[5,"0.67"]]],"+",[1,"slowFrame","*",[5,"2.31"]]]],[13,"blockHash",[6,"hash11",["blockSeed"]]],[13,"blockActive",[6,"std.step",[[1,[5,"1"],"-",[1,"glitchStrength","*",[5,"0.35"]]],"blockHash"]]],[13,"displace",[1,[1,[1,[6,"hash11",[[1,"blockSeed","+",[5,"77"]]]],"-",[5,"0.5"]],"*",[5,"0.18"]],"*","blockActive"]],[10,[6,"d.vec2f",["displace","blockActive"]]]]]},externals:{hash11:()=>sr,"std.step":()=>De,"d.vec2f":()=>l}})&&e.f)({})),q3=v.fn([l,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_add(__tsover_add(__tsover_mul(s,.83),__tsover_mul(r,1.17)),__tsover_mul(o,4.57)),_=sr(c),u=sr(__tsover_add(c,500)),m=__tsover_mul(De(__tsover_sub(1,__tsover_mul(i,d)),_),n),p=__tsover_mul(De(__tsover_sub(1,__tsover_mul(__tsover_mul(i,d),.4)),u),n);return l(X(t.x,__tsover_sub(1,t.x),m),X(t.y,__tsover_sub(1,t.y),p))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"displacedUV"},{type:"i",name:"colX"},{type:"i",name:"bandY1"},{type:"i",name:"slowFrame"},{type:"i",name:"bandActive1"},{type:"i",name:"mirrorChance"},{type:"i",name:"glitchStrength"}],body:[0,[[13,"mirrorSeed",[1,[1,[1,"colX","*",[5,"0.83"]],"+",[1,"bandY1","*",[5,"1.17"]]],"+",[1,"slowFrame","*",[5,"4.57"]]]],[13,"hMirrorHash",[6,"hash11",["mirrorSeed"]]],[13,"vMirrorHash",[6,"hash11",[[1,"mirrorSeed","+",[5,"500"]]]]],[13,"hMirrorActive",[1,[6,"std.step",[[1,[5,"1"],"-",[1,"mirrorChance","*","glitchStrength"]],"hMirrorHash"]],"*","bandActive1"]],[13,"vMirrorActive",[1,[6,"std.step",[[1,[5,"1"],"-",[1,[1,"mirrorChance","*","glitchStrength"],"*",[5,"0.4"]]],"vMirrorHash"]],"*","bandActive1"]],[10,[6,"d.vec2f",[[6,"std.mix",[[7,"displacedUV","x"],[1,[5,"1"],"-",[7,"displacedUV","x"]],"hMirrorActive"]],[6,"std.mix",[[7,"displacedUV","y"],[1,[5,"1"],"-",[7,"displacedUV","y"]],"vMirrorActive"]]]]]]]},externals:{hash11:()=>sr,"std.step":()=>De,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),Dm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({mirroredUV:l,spread:a,strength:a,bandY1:a,slowFrame:a,bandGate:a,blockGate:a,distortion:a}),"GlitchGeom"),qF=v.fn([l,a,a,a,a,a],Dm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(s,o),c=q(__tsover_mul(d,2.5)),_=q(__tsover_mul(d,10)),u=V3(c,_,r),m=q(__tsover_mul(t.y,n)),p=Q_(m,c,.37,7.13,.5,42,.25,u),y=Q_(q(__tsover_mul(t.y,__tsover_mul(n,2))),_,.53,3.37,.7,99,.12,u),h=Q_(q(__tsover_mul(t.y,__tsover_mul(n,4))),_,.71,11.71,.9,173,.05,u),g=q(__tsover_mul(t.x,4)),w=N3(g,m,c,u),S=__tsover_add(__tsover_add(__tsover_add(p.x,y.x),h.x),w.x),T=__tsover_mul(__tsover_mul(p.y,__tsover_sub(sr(__tsover_add(p.z,200)),.5)),.012),A=q3(l($(__tsover_add(t.x,__tsover_mul(S,u)),0,1),$(__tsover_add(t.y,__tsover_mul(T,u)),0,1)),g,m,c,p.y,i,u),P=__tsover_add(u,__tsover_mul(z(S),2)),U=$(__tsover_add(__tsover_add(p.y,y.y),h.y),0,1);return Dm({mirroredUV:A,spread:P,strength:u,bandY1:m,slowFrame:c,bandGate:p.y,blockGate:w.y,distortion:U})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"time"},{type:"i",name:"intensity"},{type:"i",name:"speed"},{type:"i",name:"blockDensity"},{type:"i",name:"mirrorChance"}],body:[0,[[13,"t",[1,"time","*","speed"]],[13,"slowFrame",[6,"std.floor",[[1,"t","*",[5,"2.5"]]]]],[13,"fastFrame",[6,"std.floor",[[1,"t","*",[5,"10"]]]]],[13,"glitchStrength",[6,"burstPulse",["slowFrame","fastFrame","intensity"]]],[13,"bandY1",[6,"std.floor",[[1,[7,"uv","y"],"*","blockDensity"]]]],[13,"band1",[6,"bandJitter",["bandY1","slowFrame",[5,"0.37"],[5,"7.13"],[5,"0.5"],[5,"42"],[5,"0.25"],"glitchStrength"]]],[13,"bandY2",[6,"std.floor",[[1,[7,"uv","y"],"*",[1,"blockDensity","*",[5,"2"]]]]]],[13,"band2",[6,"bandJitter",["bandY2","fastFrame",[5,"0.53"],[5,"3.37"],[5,"0.7"],[5,"99"],[5,"0.12"],"glitchStrength"]]],[13,"bandY3",[6,"std.floor",[[1,[7,"uv","y"],"*",[1,"blockDensity","*",[5,"4"]]]]]],[13,"band3",[6,"bandJitter",["bandY3","fastFrame",[5,"0.71"],[5,"11.71"],[5,"0.9"],[5,"173"],[5,"0.05"],"glitchStrength"]]],[13,"colX",[6,"std.floor",[[1,[7,"uv","x"],"*",[5,"4"]]]]],[13,"block",[6,"blockShift",["colX","bandY1","slowFrame","glitchStrength"]]],[13,"totalDisplaceX",[1,[1,[1,[7,"band1","x"],"+",[7,"band2","x"]],"+",[7,"band3","x"]],"+",[7,"block","x"]]],[13,"vertJitter",[1,[1,[7,"band1","y"],"*",[1,[6,"hash11",[[1,[7,"band1","z"],"+",[5,"200"]]]],"-",[5,"0.5"]]],"*",[5,"0.012"]]],[13,"displacedUV",[6,"d.vec2f",[[6,"std.clamp",[[1,[7,"uv","x"],"+",[1,"totalDisplaceX","*","glitchStrength"]],[5,"0"],[5,"1"]]],[6,"std.clamp",[[1,[7,"uv","y"],"+",[1,"vertJitter","*","glitchStrength"]],[5,"0"],[5,"1"]]]]]],[13,"mirroredUV",[6,"mirrorFlips",["displacedUV","colX","bandY1","slowFrame",[7,"band1","y"],"mirrorChance","glitchStrength"]]],[13,"spread",[1,"glitchStrength","+",[1,[6,"std.abs",["totalDisplaceX"]],"*",[5,"2"]]]],[13,"anyDistortion",[6,"std.clamp",[[1,[1,[7,"band1","y"],"+",[7,"band2","y"]],"+",[7,"band3","y"]],[5,"0"],[5,"1"]]]],[10,[6,"GlitchGeom",[[104,{mirroredUV:"mirroredUV",spread:"spread",strength:"glitchStrength",bandY1:"bandY1",slowFrame:"slowFrame",bandGate:[7,"band1","y"],blockGate:[7,"block","y"],distortion:"anyDistortion"}]]]]]]},externals:{"std.floor":()=>q,burstPulse:()=>V3,bandJitter:()=>Q_,blockShift:()=>N3,hash11:()=>sr,"d.vec2f":()=>l,"std.clamp":()=>$,mirrorFlips:()=>q3,"std.abs":()=>z,GlitchGeom:()=>Dm}})&&e.f)({})),XF=v.fn([l,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(__tsover_mul(s,.003),r),n=$(__tsover_add(t.x,o),0,1),i=$(__tsover_sub(t.x,o),0,1);return x(n,t.y,i,t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"mirroredUV"},{type:"i",name:"rgbShift"},{type:"i",name:"spread"}],body:[0,[[13,"rgbOffset",[1,[1,"rgbShift","*",[5,"0.003"]],"*","spread"]],[13,"redX",[6,"std.clamp",[[1,[7,"mirroredUV","x"],"+","rgbOffset"],[5,"0"],[5,"1"]]]],[13,"blueX",[6,"std.clamp",[[1,[7,"mirroredUV","x"],"-","rgbOffset"],[5,"0"],[5,"1"]]]],[10,[6,"d.vec4f",["redX",[7,"mirroredUV","y"],"blueX",[7,"mirroredUV","y"]]]]]]},externals:{"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})),HF=v.fn([x,l,a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=q(__tsover_mul(s.x,4)),u=__tsover_add(__tsover_add(__tsover_mul(_,.41),__tsover_mul(r,.67)),__tsover_mul(o,2.31)),m=sr(__tsover_add(u,555)),p=sr(__tsover_add(__tsover_add(r,__tsover_mul(o,3.33)),333)),y=ue(__tsover_add(__tsover_mul(s.x,3),__tsover_mul(p,7))),h=q(__tsover_mul(y,7)),g=f(__tsover_add(__tsover_sub(1,De(2,h)),__tsover_mul(De(4,h),__tsover_sub(1,De(6,h)))),__tsover_sub(1,De(4,h)),__tsover_sub(1,De(.5,ue(__tsover_mul(h,.5))))),w=ue(__tsover_add(__tsover_mul(sr(__tsover_add(r,13)),.8),__tsover_mul(o,.07))),S=__tsover_mul(w,6),T=X(f($(__tsover_sub(z(__tsover_sub(S,3)),1),0,1),$(__tsover_sub(2,z(__tsover_sub(S,2))),0,1),$(__tsover_sub(2,z(__tsover_sub(S,4))),0,1)).mul(1.3),g,f(De(.5,m))),A=__tsover_mul(__tsover_mul(__tsover_mul(d,c),n),i),P=X(t.xyz,T.mul(t.w),f(A));return x(P.x,P.y,P.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"},{type:"i",name:"bandY1"},{type:"i",name:"slowFrame"},{type:"i",name:"colorBarMix"},{type:"i",name:"strength"},{type:"i",name:"bandGate"},{type:"i",name:"blockGate"}],body:[0,[[13,"colX",[6,"std.floor",[[1,[7,"uv","x"],"*",[5,"4"]]]]],[13,"blockSeed",[1,[1,[1,"colX","*",[5,"0.41"]],"+",[1,"bandY1","*",[5,"0.67"]]],"+",[1,"slowFrame","*",[5,"2.31"]]]],[13,"fillStyleHash",[6,"hash11",[[1,"blockSeed","+",[5,"555"]]]]],[13,"barOffset",[6,"hash11",[[1,[1,"bandY1","+",[1,"slowFrame","*",[5,"3.33"]]],"+",[5,"333"]]]]],[13,"barX",[6,"std.fract",[[1,[1,[7,"uv","x"],"*",[5,"3"]],"+",[1,"barOffset","*",[5,"7"]]]]]],[13,"barIndex",[6,"std.floor",[[1,"barX","*",[5,"7"]]]]],[13,"barR",[1,[1,[5,"1"],"-",[6,"std.step",[[5,"2"],"barIndex"]]],"+",[1,[6,"std.step",[[5,"4"],"barIndex"]],"*",[1,[5,"1"],"-",[6,"std.step",[[5,"6"],"barIndex"]]]]]],[13,"barG",[1,[5,"1"],"-",[6,"std.step",[[5,"4"],"barIndex"]]]],[13,"barB",[1,[5,"1"],"-",[6,"std.step",[[5,"0.5"],[6,"std.fract",[[1,"barIndex","*",[5,"0.5"]]]]]]]],[13,"smpteColor",[6,"d.vec3f",["barR","barG","barB"]]],[13,"solidHue",[6,"std.fract",[[1,[1,[6,"hash11",[[1,"bandY1","+",[5,"13"]]]],"*",[5,"0.8"]],"+",[1,"slowFrame","*",[5,"0.07"]]]]]],[13,"sh6",[1,"solidHue","*",[5,"6"]]],[13,"solidColor",[6,[7,[6,"d.vec3f",[[6,"std.clamp",[[1,[6,"std.abs",[[1,"sh6","-",[5,"3"]]]],"-",[5,"1"]],[5,"0"],[5,"1"]]],[6,"std.clamp",[[1,[5,"2"],"-",[6,"std.abs",[[1,"sh6","-",[5,"2"]]]]],[5,"0"],[5,"1"]]],[6,"std.clamp",[[1,[5,"2"],"-",[6,"std.abs",[[1,"sh6","-",[5,"4"]]]]],[5,"0"],[5,"1"]]]]],"mul"],[[5,"1.3"]]]],[13,"fillColor",[6,"std.mix",["solidColor","smpteColor",[6,"d.vec3f",[[6,"std.step",[[5,"0.5"],"fillStyleHash"]]]]]]],[13,"colorBarStrength",[1,[1,[1,"bandGate","*","blockGate"],"*","colorBarMix"],"*","strength"]],[13,"withBars",[6,"std.mix",[[7,"color","xyz"],[6,[7,"fillColor","mul"],[[7,"color","w"]]],[6,"d.vec3f",["colorBarStrength"]]]]],[10,[6,"d.vec4f",[[7,"withBars","x"],[7,"withBars","y"],[7,"withBars","z"],[7,"color","w"]]]]]]},externals:{"std.floor":()=>q,hash11:()=>sr,"std.fract":()=>ue,"std.step":()=>De,"d.vec3f":()=>f,"std.clamp":()=>$,"std.abs":()=>z,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),jF=v.fn([x,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,r),d=__tsover_add(__tsover_mul(Y(__tsover_mul(i,3.14159265)),.5),.5),c=__tsover_sub(1,__tsover_mul(__tsover_mul(__tsover_mul(o,d),.3),n)),_=t.xyz.mul(c);return x(_.x,_.y,_.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uvY"},{type:"i",name:"viewportY"},{type:"i",name:"scanlines"},{type:"i",name:"distortion"}],body:[0,[[13,"pixelY",[1,"uvY","*","viewportY"]],[13,"scanlineWave",[1,[1,[6,"std.sin",[[1,"pixelY","*",[5,"3.14159265"]]]],"*",[5,"0.5"]],"+",[5,"0.5"]]],[13,"scanlineEffect",[1,[5,"1"],"-",[1,[1,[1,"scanlines","*","scanlineWave"],"*",[5,"0.3"]],"*","distortion"]]],[13,"shaded",[6,[7,[7,"color","xyz"],"mul"],["scanlineEffect"]]],[10,[6,"d.vec4f",[[7,"shaded","x"],[7,"shaded","y"],[7,"shaded","z"],[7,"color","w"]]]]]]},externals:{"std.sin":()=>Y,"d.vec4f":()=>x}})&&e.f)({})),X3=2/Math.sqrt(3),$i=Math.sqrt(3)/2,KF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=bt(s),i=l(__tsover_mul(t.x,n),__tsover_sub(1,t.y)),d=__tsover_mul(o,Le);return Qi(i,n,H(d),Y(d)).mul(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotationDeg"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"correctedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[1,[5,"1"],"-",[7,"uv","y"]]]]],[13,"rotRad",[1,"rotationDeg","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[10,[6,[7,[6,"rotateAboutCanvasCentre",["correctedUV","aspect","cosR","sinR"]],"mul"],["cells"]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotateAboutCanvasCentre:()=>Qi}})&&e.f)({})),ZF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=bt(s),i=l(__tsover_mul(t.x,n),t.y),d=-__tsover_mul(o,Le);return Qi(i,n,H(d),Y(d)).mul(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotationDeg"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"correctedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"ang",[4,"-",[1,"rotationDeg","*","DEG_TO_RAD"]]],[13,"cosR",[6,"std.cos",["ang"]]],[13,"sinR",[6,"std.sin",["ang"]]],[10,[6,[7,[6,"rotateAboutCanvasCentre",["correctedUV","aspect","cosR","sinR"]],"mul"],["cells"]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotateAboutCanvasCentre:()=>Qi}})&&e.f)({})),QF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=bt(s),i=l(__tsover_mul(t.x,n),t.y),d=__tsover_mul(o,Le);return Qi(i,n,H(d),Y(d)).mul(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotationDeg"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"correctedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"rotRad",[1,"rotationDeg","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[10,[6,[7,[6,"rotateAboutCanvasCentre",["correctedUV","aspect","cosR","sinR"]],"mul"],["cells"]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotateAboutCanvasCentre:()=>Qi}})&&e.f)({})),va=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return Fg(Bl(t),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellId"},{type:"i",name:"variation"}],body:[0,[[10,[6,"variationFactor",[[6,"cellHash",["cellId"]],"variation"]]]]]},externals:{variationFactor:()=>Fg,cellHash:()=>Bl}})&&e.f)({})),ru=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(o,.5);return Nl(t,s,b(__tsover_sub(s,n),0),__tsover_add(__tsover_add(s,r),n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"field"},{type:"i",name:"lineWidth"},{type:"i",name:"pixel"},{type:"i",name:"softness"}],body:[0,[[13,"soft",[1,"softness","*",[5,"0.5"]]],[13,"lo",[6,"std.max",[[1,"lineWidth","-","soft"],[5,"0"]]]],[13,"hi",[1,[1,"lineWidth","+","pixel"],"+","soft"]],[10,[6,"lineMaskFromField",["field","lineWidth","lo","hi"]]]]]},externals:{"std.max":()=>b,lineMaskFromField:()=>Nl}})&&e.f)({})),ou=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return Nl(t,s,__tsover_sub(s,r),__tsover_add(s,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"field"},{type:"i",name:"lineWidth"},{type:"i",name:"aaWidth"}],body:[0,[[10,[6,"lineMaskFromField",["field","lineWidth",[1,"lineWidth","-","aaWidth"],[1,"lineWidth","+","aaWidth"]]]]]]},externals:{lineMaskFromField:()=>Nl}})&&e.f)({})),JF=v.fn([l,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Il(t,s).mul(r);return Og(n,Bg(n,o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"softness"}],body:[0,[[13,"p",[6,[7,[6,"aspectCorrectedUVFlipY",["uv","viewport"]],"mul"],["cells"]]],[10,[6,"quilezCheckerFilter",["p",[6,"footprint2",["p","softness"]]]]]]]},externals:{aspectCorrectedUVFlipY:()=>Il,quilezCheckerFilter:()=>Og,footprint2:()=>Bg}})&&e.f)({})),H3=v.fn([l,l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(r,Le),c=bt(s),_=__tsover_add(Dl(ma(t,c),H(d),Y(d)),__tsover_mul(c,.5));return __tsover_add(__tsover_add(__tsover_mul(_,o),n),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"density"},{type:"i",name:"animTime"},{type:"i",name:"offset"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"rotatedCoord",[1,[6,"directionalProjection",[[6,"canvasCentredDelta",["uv","aspect"]],[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]],"+",[1,"aspect","*",[5,"0.5"]]]],[10,[1,[1,[1,"rotatedCoord","*","density"],"+","animTime"],"+","offset"]]]]},externals:{DEG_TO_RAD:()=>Le,aspectOf:()=>bt,directionalProjection:()=>Dl,canvasCentredDelta:()=>ma,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),eB=v.fn([l,l,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=H3(t,s,r,o,n,i);return Wg(_,Vl(_,c),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"density"},{type:"i",name:"animTime"},{type:"i",name:"offset"},{type:"i",name:"balance"},{type:"i",name:"softness"}],body:[0,[[13,"p",[6,"stripeCoordP",["uv","viewport","angle","density","animTime","offset"]]],[10,[6,"quilezStepFilter",["p",[6,"footprint1",["p","softness"]],"balance"]]]]]},externals:{stripeCoordP:()=>H3,quilezStepFilter:()=>Wg,footprint1:()=>Vl}})&&e.f)({})),tB=v.fn([l,l,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_mul(o,Le),u=H(_),m=Y(_),p=Eo(ma(t,bt(s)),u,-m),y=__tsover_mul(z(__tsover_sub(ue(__tsover_mul(p.y,r)),.5)),2),h=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(p.x,r),__tsover_mul(y,.5)),c),d),g=ue(h),w=Zt(h);return re(__tsover_sub(__tsover_sub(n,i),w),__tsover_add(__tsover_add(n,i),w),g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"count"},{type:"i",name:"angle"},{type:"i",name:"balance"},{type:"i",name:"softness"},{type:"i",name:"offset"},{type:"i",name:"animTime"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"rot",[6,"rotate2",[[6,"canvasCentredDelta",["uv",[6,"aspectOf",["viewport"]]]],"cosA",[4,"-","sinA"]]]],[13,"zigzag",[1,[6,"std.abs",[[1,[6,"std.fract",[[1,[7,"rot","y"],"*","count"]]],"-",[5,"0.5"]]]],"*",[5,"2"]]],[13,"stripeCoord",[1,[1,[1,[1,[7,"rot","x"],"*","count"],"+",[1,"zigzag","*",[5,"0.5"]]],"+","animTime"],"+","offset"]],[13,"pattern",[6,"std.fract",["stripeCoord"]]],[13,"fw",[6,"std.fwidth",["stripeCoord"]]],[10,[6,"std.smoothstep",[[1,[1,"balance","-","softness"],"-","fw"],[1,[1,"balance","+","softness"],"+","fw"],"pattern"]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotate2:()=>Eo,canvasCentredDelta:()=>ma,aspectOf:()=>bt,"std.abs":()=>z,"std.fract":()=>ue,"std.fwidth":()=>Zt,"std.smoothstep":()=>re}})&&e.f)({})),sB=v.fn([l,a,a,a,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_div(c.x,c.y),u=j(l(__tsover_sub(__tsover_mul(d.x,_),__tsover_mul(t.x,_)),__tsover_sub(d.y,__tsover_sub(1,t.y)))),m=Y(__tsover_add(__tsover_sub(__tsover_mul(u,s),i),n)),p=__tsover_sub(__tsover_mul(o,2),1),y=re(__tsover_sub(p,r),__tsover_add(p,r),m);return __tsover_sub(1,y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"frequency"},{type:"i",name:"softness"},{type:"i",name:"thickness"},{type:"i",name:"phase"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"dx",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,[7,"center","x"],"*","aspect"]]],[13,"dy",[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]],[13,"dist",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[13,"waveInput",[1,[1,[1,"dist","*","frequency"],"-","animTime"],"+","phase"]],[13,"baseWave",[6,"std.sin",["waveInput"]]],[13,"thicknessThreshold",[1,[1,"thickness","*",[5,"2"]],"-",[5,"1"]]],[13,"banded",[6,"std.smoothstep",[[1,"thicknessThreshold","-","softness"],[1,"thicknessThreshold","+","softness"],"baseWave"]]],[10,[1,[5,"1"],"-","banded"]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.sin":()=>Y,"std.smoothstep":()=>re}})&&e.f)({})),j3=v.fn([a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return l(ue(__tsover_mul(Y(__tsover_mul(t,127.1)),43758.5453123)),ue(__tsover_mul(Y(__tsover_mul(t,311.7)),38291.3421)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"idx"}],body:[0,[[10,[6,"d.vec2f",[[6,"std.fract",[[1,[6,"std.sin",[[1,"idx","*",[5,"127.1"]]]],"*",[5,"43758.5453123"]]]],[6,"std.fract",[[1,[6,"std.sin",[[1,"idx","*",[5,"311.7"]]]],"*",[5,"38291.3421"]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),K3=v.fn([a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_mul(o,n),_=__tsover_mul(b(__tsover_sub(t,s),0),r),u=$(__tsover_div(_,b(c,1e-4)),0,1),m=__tsover_mul(o,be(b(__tsover_sub(1,__tsover_mul(u,u)),0)));return __tsover_mul(__tsover_sub(1,re(b(__tsover_sub(m,i),0),b(__tsover_add(m,i),.001),d)),re(0,i,m))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"vPeriodic"},{type:"i",name:"trailLen"},{type:"i",name:"density"},{type:"i",name:"hw"},{type:"i",name:"rounding"},{type:"i",name:"fwU"},{type:"i",name:"distFromCenter"}],body:[0,[[13,"maxDepth",[1,"hw","*","rounding"]],[13,"gapDist",[1,[6,"std.max",[[1,"vPeriodic","-","trailLen"],[5,"0"]]],"*","density"]],[13,"tcap",[6,"std.clamp",[[1,"gapDist","/",[6,"std.max",["maxDepth",[5,"0.0001"]]]],[5,"0"],[5,"1"]]]],[13,"capHW",[1,"hw","*",[6,"std.sqrt",[[6,"std.max",[[1,[5,"1"],"-",[1,"tcap","*","tcap"]],[5,"0"]]]]]]],[10,[1,[1,[5,"1"],"-",[6,"std.smoothstep",[[6,"std.max",[[1,"capHW","-","fwU"],[5,"0"]]],[6,"std.max",[[1,"capHW","+","fwU"],[5,"0.001"]]],"distFromCenter"]]],"*",[6,"std.smoothstep",[[5,"0"],"fwU","capHW"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.sqrt":()=>be,"std.smoothstep":()=>re}})&&e.f)({})),Z3=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_sub(__tsover_mul(2,s),1),o=b(__tsover_mul(2,__tsover_sub(1,s)),.001);return $(__tsover_div(__tsover_add(t,r),o),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"withinStreak"},{type:"i",name:"balance"}],body:[0,[[13,"balanceNum",[1,[1,[5,"2"],"*","balance"],"-",[5,"1"]]],[13,"balanceDen",[6,"std.max",[[1,[5,"2"],"*",[1,[5,"1"],"-","balance"]],[5,"0.001"]]]],[10,[6,"std.clamp",[[1,[1,"withinStreak","+","balanceNum"],"/","balanceDen"],[5,"0"],[5,"1"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$}})&&e.f)({})),rB=v.fn([l,l,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=bt(s),p=l(__tsover_mul(t.x,m),t.y).sub(l(__tsover_mul(m,.5),.5)),y=__tsover_mul(r,Le),h=H(y),g=Y(y),w=__tsover_sub(__tsover_mul(p.y,h),__tsover_mul(p.x,g)),S=__tsover_add(__tsover_mul(p.x,h),__tsover_mul(p.y,g)),T=__tsover_mul(w,o),A=q(T),P=ue(T),U=j3(A),D=__tsover_add(1,__tsover_mul(__tsover_mul(__tsover_sub(U.x,.5),n),2)),O=U.y,L=ue(__tsover_mul(u,D)),G=ue(__tsover_sub(__tsover_sub(S,L),O)),W=i,K=$(__tsover_div(G,W),0,1),Q=$(Zt(S),.001,.1),te=$(__tsover_mul(Zt(w),o),.001,.1),ee=__tsover_sub(1,re(__tsover_sub(W,Q),__tsover_add(W,Q),G)),he=__tsover_mul(d,.5),Ee=z(__tsover_sub(P,.5)),Te=__tsover_sub(1,re(__tsover_sub(he,te),__tsover_add(he,te),Ee));return l(b(__tsover_mul(ee,Te),K3(G,W,o,he,c,te,Ee)),Z3(K,_))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"vp"},{type:"i",name:"angle"},{type:"i",name:"density"},{type:"i",name:"speedVariance"},{type:"i",name:"trailLength"},{type:"i",name:"strokeWidth"},{type:"i",name:"rounding"},{type:"i",name:"balance"},{type:"i",name:"animTime"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["vp"]]],[13,"corrUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centeredUV",[6,[7,"corrUV","sub"],[[6,"d.vec2f",[[1,"aspect","*",[5,"0.5"]],[5,"0.5"]]]]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"u",[1,[1,[7,"centeredUV","y"],"*","cosA"],"-",[1,[7,"centeredUV","x"],"*","sinA"]]],[13,"v",[1,[1,[7,"centeredUV","x"],"*","cosA"],"+",[1,[7,"centeredUV","y"],"*","sinA"]]],[13,"colF",[1,"u","*","density"]],[13,"colIdx",[6,"std.floor",["colF"]]],[13,"colLocalU",[6,"std.fract",["colF"]]],[13,"h",[6,"colHash",["colIdx"]]],[13,"speedMod",[1,[5,"1"],"+",[1,[1,[1,[7,"h","x"],"-",[5,"0.5"]],"*","speedVariance"],"*",[5,"2"]]]],[13,"phase",[7,"h","y"]],[13,"animOffset",[6,"std.fract",[[1,"animTime","*","speedMod"]]]],[13,"vPeriodic",[6,"std.fract",[[1,[1,"v","-","animOffset"],"-","phase"]]]],[13,"trailLen","trailLength"],[13,"withinStreak",[6,"std.clamp",[[1,"vPeriodic","/","trailLen"],[5,"0"],[5,"1"]]]],[13,"fwV",[6,"std.clamp",[[6,"std.fwidth",["v"]],[5,"0.001"],[5,"0.1"]]]],[13,"fwU",[6,"std.clamp",[[1,[6,"std.fwidth",["u"]],"*","density"],[5,"0.001"],[5,"0.1"]]]],[13,"streakMask",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"trailLen","-","fwV"],[1,"trailLen","+","fwV"],"vPeriodic"]]]],[13,"hw",[1,"strokeWidth","*",[5,"0.5"]]],[13,"distFromCenter",[6,"std.abs",[[1,"colLocalU","-",[5,"0.5"]]]]],[13,"widthMask",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"hw","-","fwU"],[1,"hw","+","fwU"],"distFromCenter"]]]],[13,"rectMask",[1,"streakMask","*","widthMask"]],[13,"capAlpha",[6,"fallingCapAlpha",["vPeriodic","trailLen","density","hw","rounding","fwU","distFromCenter"]]],[13,"finalMask",[6,"std.max",["rectMask","capAlpha"]]],[10,[6,"d.vec2f",["finalMask",[6,"fallingBalanceRemap",["withinStreak","balance"]]]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.floor":()=>q,"std.fract":()=>ue,colHash:()=>j3,"std.clamp":()=>$,"std.fwidth":()=>Zt,"std.smoothstep":()=>re,"std.abs":()=>z,fallingCapAlpha:()=>K3,"std.max":()=>b,fallingBalanceRemap:()=>Z3}})&&e.f)({})),oB=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return Dg(t,s,r,__tsover_mul(o,Le))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotation"}],body:[0,[[10,[6,"cellCentreUVRotated",["uv","viewport","cells",[1,"rotation","*","DEG_TO_RAD"]]]]]]},externals:{cellCentreUVRotated:()=>Dg,DEG_TO_RAD:()=>Le}})&&e.f)({})),nB=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,.01),i=b(n,1e-4),d=__tsover_mul(i,2),c=__tsover_div(1,d),_=t.add(i),u=Ni(_),m=qi(_),p=__tsover_add(b(b(z(u.x),z(m.x)),1e-5),r),y=__tsover_add(b(b(z(u.y),z(m.y)),1e-5),r),h=bm(_.x,p,c),g=bm(_.y,y,c),w=__tsover_mul(__tsover_sub(1,h),__tsover_sub(1,g));return l(__tsover_mul(__tsover_sub(1,w),De(1e-4,n)),va(q(t),o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"gridUV"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"variation"}],body:[0,[[13,"lineWidth",[1,"thickness","*",[5,"0.01"]]],[13,"safeLine",[6,"std.max",["lineWidth",[5,"0.0001"]]]],[13,"lineFraction",[1,"safeLine","*",[5,"2"]]],[13,"N",[1,[5,"1"],"/","lineFraction"]],[13,"p",[6,[7,"gridUV","add"],["safeLine"]]],[13,"dpx",[6,"std.dpdx",["p"]]],[13,"dpy",[6,"std.dpdy",["p"]]],[13,"wx",[1,[6,"std.max",[[6,"std.max",[[6,"std.abs",[[7,"dpx","x"]]],[6,"std.abs",[[7,"dpy","x"]]]]],[5,"0.00001"]]],"+","softness"]],[13,"wy",[1,[6,"std.max",[[6,"std.max",[[6,"std.abs",[[7,"dpx","y"]]],[6,"std.abs",[[7,"dpy","y"]]]]],[5,"0.00001"]]],"+","softness"]],[13,"iX",[6,"quilezLineFilterAxis",[[7,"p","x"],"wx","N"]]],[13,"iY",[6,"quilezLineFilterAxis",[[7,"p","y"],"wy","N"]]],[13,"gapBoth",[1,[1,[5,"1"],"-","iX"],"*",[1,[5,"1"],"-","iY"]]],[13,"gridMask",[1,[1,[5,"1"],"-","gapBoth"],"*",[6,"std.step",[[5,"0.0001"],"lineWidth"]]]],[13,"variedFactor",[6,"cellVariation",[[6,"std.floor",["gridUV"]],"variation"]]],[10,[6,"d.vec2f",["gridMask","variedFactor"]]]]]},externals:{"std.max":()=>b,"std.dpdx":()=>Ni,"std.dpdy":()=>qi,"std.abs":()=>z,quilezLineFilterAxis:()=>bm,"std.step":()=>De,cellVariation:()=>va,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),aB=v.fn([l,l,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=Il(t,s),m=u.mul(r),p=q(m.y),y=Ol(Wl(p),i),h=__tsover_mul(c,y),g=__tsover_mul(n,Zi(p,2)),w=Ji(l(__tsover_sub(__tsover_sub(m.x,g),h),m.y)),S=j(w.local.sub(.5)),T=j(Zt(u.mul(r))),A=Vg(S,__tsover_mul(o,.5),T),P=ue(__tsover_mul(Y(__tsover_add(__tsover_mul(w.cell.x,12.9898),__tsover_mul(w.cell.y,78.233))),43758.5453)),U=__tsover_add(__tsover_mul(_,2),__tsover_mul(P,it)),D=X(1,__tsover_add(__tsover_mul(Y(U),.5),.5),d);return __tsover_mul(A,D)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"density"},{type:"i",name:"dotSize"},{type:"i",name:"offset"},{type:"i",name:"speedVariance"},{type:"i",name:"twinkle"},{type:"i",name:"animTime"},{type:"i",name:"time"}],body:[0,[[13,"correctedUV",[6,"aspectCorrectedUVFlipY",["uv","viewport"]]],[13,"gridUV",[6,[7,"correctedUV","mul"],["density"]]],[13,"rowIndex",[6,"std.floor",[[7,"gridUV","y"]]]],[13,"speedMod",[6,"rowSpeedMultiplier",[[6,"rowSpeedHash",["rowIndex"]],"speedVariance"]]],[13,"drift",[1,"animTime","*","speedMod"]],[13,"staticStagger",[1,"offset","*",[6,"flooredMod1",["rowIndex",[5,"2"]]]]],[13,"shiftedGrid",[6,"d.vec2f",[[1,[1,[7,"gridUV","x"],"-","staticStagger"],"-","drift"],[7,"gridUV","y"]]]],[13,"tile",[6,"squareTiling",["shiftedGrid"]]],[13,"centerDistance",[6,"std.length",[[6,[7,[7,"tile","local"],"sub"],[[5,"0.5"]]]]]],[13,"pixelSize",[6,"std.length",[[6,"std.fwidth",[[6,[7,"correctedUV","mul"],["density"]]]]]]],[13,"coverage",[6,"discCoverage",["centerDistance",[1,"dotSize","*",[5,"0.5"]],"pixelSize"]]],[13,"dotPhase",[6,"std.fract",[[1,[6,"std.sin",[[1,[1,[7,[7,"tile","cell"],"x"],"*",[5,"12.9898"]],"+",[1,[7,[7,"tile","cell"],"y"],"*",[5,"78.233"]]]]],"*",[5,"43758.5453"]]]]],[13,"twinkleTime",[1,[1,"time","*",[5,"2"]],"+",[1,"dotPhase","*","TAU"]]],[13,"twinkleValue",[1,[1,[6,"std.sin",["twinkleTime"]],"*",[5,"0.5"]],"+",[5,"0.5"]]],[13,"twinkleModifier",[6,"std.mix",[[5,"1"],"twinkleValue","twinkle"]]],[10,[1,"coverage","*","twinkleModifier"]]]]},externals:{aspectCorrectedUVFlipY:()=>Il,"std.floor":()=>q,rowSpeedMultiplier:()=>Ol,rowSpeedHash:()=>Wl,flooredMod1:()=>Zi,"d.vec2f":()=>l,squareTiling:()=>Ji,"std.length":()=>j,"std.fwidth":()=>Zt,discCoverage:()=>Vg,"std.fract":()=>ue,"std.sin":()=>Y,TAU:()=>it,"std.mix":()=>X}})&&e.f)({})),iB=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Fl(t,l(_a,1)),i=va(l(sa(__tsover_mul(n.id.x,X3)),sa(__tsover_mul(n.id.y,2))),o),d=l(z(n.gv.x),z(n.gv.y)),c=b(se(d,l($i,.5)),d.y);return l(ru(__tsover_sub(.5,c),__tsover_mul(s,.01),__tsover_mul(Zt(t.x),.5),r),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"variation"}],body:[0,[[13,"hex",[6,"hexTiling",["scaledUV",[6,"d.vec2f",["SQRT3",[5,"1"]]]]]],[13,"ix",[6,"std.round",[[1,[7,[7,"hex","id"],"x"],"*","INV_SQRT3_2"]]]],[13,"iy",[6,"std.round",[[1,[7,[7,"hex","id"],"y"],"*",[5,"2"]]]]],[13,"variedFactor",[6,"cellVariation",[[6,"d.vec2f",["ix","iy"]],"variation"]]],[13,"pAbs",[6,"d.vec2f",[[6,"std.abs",[[7,[7,"hex","gv"],"x"]]],[6,"std.abs",[[7,[7,"hex","gv"],"y"]]]]]],[13,"hexDist",[6,"std.max",[[6,"std.dot",["pAbs",[6,"d.vec2f",["SQRT3_2",[5,"0.5"]]]]],[7,"pAbs","y"]]]],[13,"edgeDist",[1,[5,"0.5"],"-","hexDist"]],[13,"lineWidth",[1,"thickness","*",[5,"0.01"]]],[13,"pixel",[1,[6,"std.fwidth",[[7,"scaledUV","x"]]],"*",[5,"0.5"]]],[13,"lineMask",[6,"strokeBandFloored",["edgeDist","lineWidth","pixel","softness"]]],[10,[6,"d.vec2f",["lineMask","variedFactor"]]]]]},externals:{hexTiling:()=>Fl,"d.vec2f":()=>l,SQRT3:()=>_a,"std.round":()=>sa,INV_SQRT3_2:()=>X3,cellVariation:()=>va,"std.abs":()=>z,"std.max":()=>b,"std.dot":()=>se,SQRT3_2:()=>$i,"std.fwidth":()=>Zt,strokeBandFloored:()=>ru}})&&e.f)({})),dB=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ig(t),c=Ol(Wl(q(d.y)),n),_=__tsover_mul(i,c),u=l(__tsover_sub(d.x,_),d.y),m=q(u),p=ue(u),y=De(1,__tsover_add(p.x,p.y)),h=va(l(__tsover_add(__tsover_mul(m.x,2),y),m.y),o);return l(ou(oe(oe(oe(p.x,__tsover_sub(1,p.x)),oe(p.y,__tsover_sub(1,p.y))),z(__tsover_sub(__tsover_add(p.x,p.y),1))),__tsover_mul(s,.02),__tsover_add(b(Zt(d.x),Zt(d.y)),__tsover_mul(r,.5))),h)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"variation"},{type:"i",name:"speedVariance"},{type:"i",name:"animTime"}],body:[0,[[13,"ps",[6,"triLattice",["p"]]],[13,"rowIndex",[6,"std.floor",[[7,"ps","y"]]]],[13,"speedMod",[6,"rowSpeedMultiplier",[[6,"rowSpeedHash",["rowIndex"]],"speedVariance"]]],[13,"drift",[1,"animTime","*","speedMod"]],[13,"psShifted",[6,"d.vec2f",[[1,[7,"ps","x"],"-","drift"],[7,"ps","y"]]]],[13,"cell",[6,"std.floor",["psShifted"]]],[13,"f",[6,"std.fract",["psShifted"]]],[13,"upper",[6,"std.step",[[5,"1"],[1,[7,"f","x"],"+",[7,"f","y"]]]]],[13,"triId",[6,"d.vec2f",[[1,[1,[7,"cell","x"],"*",[5,"2"]],"+","upper"],[7,"cell","y"]]]],[13,"variedFactor",[6,"cellVariation",["triId","variation"]]],[13,"dEdge",[6,"std.min",[[6,"std.min",[[6,"std.min",[[7,"f","x"],[1,[5,"1"],"-",[7,"f","x"]]]],[6,"std.min",[[7,"f","y"],[1,[5,"1"],"-",[7,"f","y"]]]]]],[6,"std.abs",[[1,[1,[7,"f","x"],"+",[7,"f","y"]],"-",[5,"1"]]]]]]],[13,"lineWidth",[1,"thickness","*",[5,"0.02"]]],[13,"aaWidth",[1,[6,"std.max",[[6,"std.fwidth",[[7,"ps","x"]]],[6,"std.fwidth",[[7,"ps","y"]]]]],"+",[1,"softness","*",[5,"0.5"]]]],[13,"lineMask",[6,"strokeBandSymmetric",["dEdge","lineWidth","aaWidth"]]],[10,[6,"d.vec2f",["lineMask","variedFactor"]]]]]},externals:{triLattice:()=>Ig,"std.floor":()=>q,rowSpeedMultiplier:()=>Ol,rowSpeedHash:()=>Wl,"d.vec2f":()=>l,"std.fract":()=>ue,"std.step":()=>De,cellVariation:()=>va,"std.min":()=>oe,"std.abs":()=>z,"std.max":()=>b,"std.fwidth":()=>Zt,strokeBandSymmetric:()=>ou}})&&e.f)({})),Q3=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=ma(t,o),i=__tsover_mul(r,Le),d=Eo(n,H(i),-Y(i));return l(__tsover_add(__tsover_div(d.x,o),.5),__tsover_add(d.y,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"rotation"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"centred",[6,"canvasCentredDelta",["uv","aspect"]]],[13,"rotRad",[1,"rotation","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rot",[6,"rotate2",["centred","cosR",[4,"-","sinR"]]]],[10,[6,"d.vec2f",[[1,[1,[7,"rot","x"],"/","aspect"],"+",[5,"0.5"]],[1,[7,"rot","y"],"+",[5,"0.5"]]]]]]]},externals:{aspectOf:()=>bt,canvasCentredDelta:()=>ma,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotate2:()=>Eo,"d.vec2f":()=>l}})&&e.f)({})),J3=v.fn([a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Zi(t,2);return l(__tsover_mul(o,.5),X(__tsover_sub(__tsover_mul(o,2),1),__tsover_mul(__tsover_sub(ue(__tsover_mul(Y(__tsover_add(t,__tsover_mul(s,.137))),43758.5453)),.5),2),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"row"},{type:"i",name:"seed"},{type:"i",name:"speedVariance"}],body:[0,[[13,"rowMod2",[6,"flooredMod1",["row",[5,"2"]]]],[13,"rowOffset",[1,"rowMod2","*",[5,"0.5"]]],[13,"rowDir",[1,[1,"rowMod2","*",[5,"2"]],"-",[5,"1"]]],[13,"rowHash",[1,[1,[6,"std.fract",[[1,[6,"std.sin",[[1,"row","+",[1,"seed","*",[5,"0.137"]]]]],"*",[5,"43758.5453"]]]],"-",[5,"0.5"]],"*",[5,"2"]]],[10,[6,"d.vec2f",["rowOffset",[6,"std.mix",["rowDir","rowHash","speedVariance"]]]]]]]},externals:{flooredMod1:()=>Zi,"std.fract":()=>ue,"std.sin":()=>Y,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),eb=v.fn([l,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Ri(t.x,__tsover_sub(s.x,r.x),__tsover_add(s.x,r.x)),n=Ri(t.y,__tsover_sub(s.y,r.y),__tsover_add(s.y,r.y));return __tsover_mul(o,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellUV"},{type:"i",name:"mortarUV"},{type:"i",name:"aaUV"}],body:[0,[[13,"brickU",[6,"bandMask",[[7,"cellUV","x"],[1,[7,"mortarUV","x"],"-",[7,"aaUV","x"]],[1,[7,"mortarUV","x"],"+",[7,"aaUV","x"]]]]],[13,"brickV",[6,"bandMask",[[7,"cellUV","y"],[1,[7,"mortarUV","y"],"-",[7,"aaUV","y"]],[1,[7,"mortarUV","y"],"+",[7,"aaUV","y"]]]]],[10,[1,"brickU","*","brickV"]]]]},externals:{bandMask:()=>Ri}})&&e.f)({})),cB=v.fn([l,l,a,a,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p)=>{"use gpu";let y=bt(s),h=Q3(t,s,c),g=h.x,w=h.y,S=__tsover_mul(n,.3),T=__tsover_div(__tsover_mul(__tsover_mul(S,y),o),r),A=q(__tsover_mul(w,o)),P=J3(A,m,u),U=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(g,r),P.x),__tsover_mul(p,P.y)),_),D=__tsover_mul(w,o),O=ue(U),L=ue(D),G=__tsover_mul(i,.5),W=__tsover_add(Zt(U),G),K=__tsover_add(Zt(D),G);return l(eb(l(O,L),l(S,T),l(W,K)),va(l(q(U),A),d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cellsX"},{type:"i",name:"cellsY"},{type:"i",name:"mortar"},{type:"i",name:"softness"},{type:"i",name:"variation"},{type:"i",name:"rotation"},{type:"i",name:"offset"},{type:"i",name:"speedVariance"},{type:"i",name:"seed"},{type:"i",name:"animTime"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"frame",[6,"brickFrame",["uv","viewport","rotation"]]],[13,"u",[7,"frame","x"]],[13,"v",[7,"frame","y"]],[13,"mortarU",[1,"mortar","*",[5,"0.3"]]],[13,"mortarV",[1,[1,[1,"mortarU","*","aspect"],"*","cellsY"],"/","cellsX"]],[13,"row",[6,"std.floor",[[1,"v","*","cellsY"]]]],[13,"stagger",[6,"brickRowStagger",["row","seed","speedVariance"]]],[13,"brickArg",[1,[1,[1,[1,"u","*","cellsX"],"+",[7,"stagger","x"]],"+",[1,"animTime","*",[7,"stagger","y"]]],"+","offset"]],[13,"vScaled",[1,"v","*","cellsY"]],[13,"cellU",[6,"std.fract",["brickArg"]]],[13,"cellV",[6,"std.fract",["vScaled"]]],[13,"soft",[1,"softness","*",[5,"0.5"]]],[13,"aaU",[1,[6,"std.fwidth",["brickArg"]],"+","soft"]],[13,"aaV",[1,[6,"std.fwidth",["vScaled"]],"+","soft"]],[13,"brickMask",[6,"brickMortarMask",[[6,"d.vec2f",["cellU","cellV"]],[6,"d.vec2f",["mortarU","mortarV"]],[6,"d.vec2f",["aaU","aaV"]]]]],[13,"brickId",[6,"d.vec2f",[[6,"std.floor",["brickArg"]],"row"]]],[13,"variedFactor",[6,"cellVariation",["brickId","variation"]]],[10,[6,"d.vec2f",["brickMask","variedFactor"]]]]]},externals:{aspectOf:()=>bt,brickFrame:()=>Q3,"std.floor":()=>q,brickRowStagger:()=>J3,"std.fract":()=>ue,"std.fwidth":()=>Zt,brickMortarMask:()=>eb,"d.vec2f":()=>l,cellVariation:()=>va}})&&e.f)({})),tb=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=se(t,l(127.1,311.7));return ue(__tsover_mul(Y(s),43758.5453))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"h",[6,"std.dot",["p",[6,"d.vec2f",[[5,"127.1"],[5,"311.7"]]]]]],[10,[6,"std.fract",[[1,[6,"std.sin",["h"]],"*",[5,"43758.5453"]]]]]]]},externals:{"std.dot":()=>se,"d.vec2f":()=>l,"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),_B=v.fn([l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Ji(t),i=tb(l(__tsover_add(n.cell.x,o),__tsover_add(n.cell.y,o)))>.5,d=C(a(0),a(1),i),c=C(a(1),a(0),i);return ru(oe(z(__tsover_sub(j(l(__tsover_sub(n.local.x,d),n.local.y)),.5)),z(__tsover_sub(j(l(__tsover_sub(n.local.x,c),__tsover_sub(n.local.y,1))),.5))),__tsover_mul(s,.005),__tsover_mul(Zt(t.x),.5),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"seed"}],body:[0,[[13,"tile",[6,"squareTiling",["scaledUV"]]],[13,"h",[6,"truchetHash",[[6,"d.vec2f",[[1,[7,[7,"tile","cell"],"x"],"+","seed"],[1,[7,[7,"tile","cell"],"y"],"+","seed"]]]]]],[13,"flip",[1,"h",">",[5,"0.5"]]],[13,"c1x",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],"flip"]]],[13,"c2x",[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"d.f32",[[5,"0"]]],"flip"]]],[13,"d1",[6,"std.abs",[[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,[7,"tile","local"],"x"],"-","c1x"],[7,[7,"tile","local"],"y"]]]]],"-",[5,"0.5"]]]]],[13,"d2",[6,"std.abs",[[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,[7,"tile","local"],"x"],"-","c2x"],[1,[7,[7,"tile","local"],"y"],"-",[5,"1"]]]]]],"-",[5,"0.5"]]]]],[13,"arcDist",[6,"std.min",["d1","d2"]]],[13,"lineWidth",[1,"thickness","*",[5,"0.005"]]],[13,"pixel",[1,[6,"std.fwidth",[[7,"scaledUV","x"]]],"*",[5,"0.5"]]],[10,[6,"strokeBandFloored",["arcDist","lineWidth","pixel","softness"]]]]]},externals:{squareTiling:()=>Ji,truchetHash:()=>tb,"d.vec2f":()=>l,"std.select":()=>C,"d.f32":()=>a,"std.abs":()=>z,"std.length":()=>j,"std.min":()=>oe,"std.fwidth":()=>Zt,strokeBandFloored:()=>ru}})&&e.f)({})),lB=v.fn([l,a,x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Ji(t),i=__tsover_mul(Zt(t.x),.5),d=Ri(n.local.y,s,__tsover_add(s,i)),c=Ri(n.local.x,s,__tsover_add(s,i)),_=Zi(__tsover_add(n.cell.x,n.cell.y),2),u=__tsover_mul(d,c),m=$(__tsover_sub(d,__tsover_mul(u,_)),0,1),p=$(__tsover_sub(c,__tsover_mul(u,__tsover_sub(1,_))),0,1),y=__tsover_mul(r.w,m),h=__tsover_mul(o.w,p),g=$(__tsover_add(y,h),0,1),w=b(__tsover_add(y,h),.001);return x(__tsover_div(__tsover_add(__tsover_mul(r.x,y),__tsover_mul(o.x,h)),w),__tsover_div(__tsover_add(__tsover_mul(r.y,y),__tsover_mul(o.y,h)),w),__tsover_div(__tsover_add(__tsover_mul(r.z,y),__tsover_mul(o.z,h)),w),g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"gap"},{type:"i",name:"colorA"},{type:"i",name:"colorB"}],body:[0,[[13,"tile",[6,"squareTiling",["scaledUV"]]],[13,"pixel",[1,[6,"std.fwidth",[[7,"scaledUV","x"]]],"*",[5,"0.5"]]],[13,"hBand",[6,"bandMask",[[7,[7,"tile","local"],"y"],"gap",[1,"gap","+","pixel"]]]],[13,"vBand",[6,"bandMask",[[7,[7,"tile","local"],"x"],"gap",[1,"gap","+","pixel"]]]],[13,"isHTopFloat",[6,"flooredMod1",[[1,[7,[7,"tile","cell"],"x"],"+",[7,[7,"tile","cell"],"y"]],[5,"2"]]]],[13,"intersection",[1,"hBand","*","vBand"]],[13,"hVis",[6,"std.clamp",[[1,"hBand","-",[1,"intersection","*","isHTopFloat"]],[5,"0"],[5,"1"]]]],[13,"vVis",[6,"std.clamp",[[1,"vBand","-",[1,"intersection","*",[1,[5,"1"],"-","isHTopFloat"]]],[5,"0"],[5,"1"]]]],[13,"weightA",[1,[7,"colorA","w"],"*","hVis"]],[13,"weightB",[1,[7,"colorB","w"],"*","vVis"]],[13,"totalAlpha",[6,"std.clamp",[[1,"weightA","+","weightB"],[5,"0"],[5,"1"]]]],[13,"safeWeight",[6,"std.max",[[1,"weightA","+","weightB"],[5,"0.001"]]]],[13,"r",[1,[1,[1,[7,"colorA","x"],"*","weightA"],"+",[1,[7,"colorB","x"],"*","weightB"]],"/","safeWeight"]],[13,"g",[1,[1,[1,[7,"colorA","y"],"*","weightA"],"+",[1,[7,"colorB","y"],"*","weightB"]],"/","safeWeight"]],[13,"b",[1,[1,[1,[7,"colorA","z"],"*","weightA"],"+",[1,[7,"colorB","z"],"*","weightB"]],"/","safeWeight"]],[10,[6,"d.vec4f",["r","g","b","totalAlpha"]]]]]},externals:{squareTiling:()=>Ji,"std.fwidth":()=>Zt,bandMask:()=>Ri,flooredMod1:()=>Zi,"std.clamp":()=>$,"std.max":()=>b,"d.vec4f":()=>x}})&&e.f)({})),sb=2/Math.sqrt(3),uB=v.fn([l,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Fl(t,l(1,_a)),n=se(o.gv,l(0,1)),i=se(o.gv,l(-$i,-.5)),d=se(o.gv,l($i,-.5)),c=n>=b(i,d),_=C(C(.74,.5,i>=d),1,c),u=Bl(l(sa(__tsover_mul(o.id.x,2)),sa(__tsover_mul(o.id.y,sb)))),m=b(n,b(i,d)),p=oe(n,oe(i,d)),y=__tsover_sub(__tsover_sub(__tsover_add(__tsover_add(n,i),d),m),p),h=__tsover_sub(m,y),g=l(z(o.gv.x),z(o.gv.y)),w=b(se(g,l(.5,$i)),g.x);return f(u,_,ou(oe(h,__tsover_sub(.5,w)),__tsover_mul(s,.02),__tsover_add(__tsover_mul(Zt(t.x),.5),__tsover_mul(r,.5))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"thickness"},{type:"i",name:"softness"}],body:[0,[[13,"hex",[6,"hexTiling",["scaledUV",[6,"d.vec2f",[[5,"1"],"SQRT3"]]]]],[13,"s0",[6,"std.dot",[[7,"hex","gv"],[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]],[13,"s1",[6,"std.dot",[[7,"hex","gv"],[6,"d.vec2f",[[4,"-","SQRT3_2"],[4,"-",[5,"0.5"]]]]]]],[13,"s2",[6,"std.dot",[[7,"hex","gv"],[6,"d.vec2f",["SQRT3_2",[4,"-",[5,"0.5"]]]]]]],[13,"isTop",[1,"s0",">=",[6,"std.max",["s1","s2"]]]],[13,"isLeft",[1,"s1",">=","s2"]],[13,"tone",[6,"std.select",[[6,"std.select",[[5,"0.74"],[5,"0.5"],"isLeft"]],[5,"1"],"isTop"]]],[13,"ix",[6,"std.round",[[1,[7,[7,"hex","id"],"x"],"*",[5,"2"]]]]],[13,"iy",[6,"std.round",[[1,[7,[7,"hex","id"],"y"],"*","INV_2_SQRT3"]]]],[13,"rand",[6,"cellHash",[[6,"d.vec2f",["ix","iy"]]]]],[13,"mx",[6,"std.max",["s0",[6,"std.max",["s1","s2"]]]]],[13,"mn",[6,"std.min",["s0",[6,"std.min",["s1","s2"]]]]],[13,"midScore",[1,[1,[1,[1,"s0","+","s1"],"+","s2"],"-","mx"],"-","mn"]],[13,"internal",[1,"mx","-","midScore"]],[13,"pAbs",[6,"d.vec2f",[[6,"std.abs",[[7,[7,"hex","gv"],"x"]]],[6,"std.abs",[[7,[7,"hex","gv"],"y"]]]]]],[13,"hexDist",[6,"std.max",[[6,"std.dot",["pAbs",[6,"d.vec2f",[[5,"0.5"],"SQRT3_2"]]]],[7,"pAbs","x"]]]],[13,"rimDist",[1,[5,"0.5"],"-","hexDist"]],[13,"edgeField",[6,"std.min",["internal","rimDist"]]],[13,"lineWidth",[1,"thickness","*",[5,"0.02"]]],[13,"aaWidth",[1,[1,[6,"std.fwidth",[[7,"scaledUV","x"]]],"*",[5,"0.5"]],"+",[1,"softness","*",[5,"0.5"]]]],[13,"wire",[6,"strokeBandSymmetric",["edgeField","lineWidth","aaWidth"]]],[10,[6,"d.vec3f",["rand","tone","wire"]]]]]},externals:{hexTiling:()=>Fl,"d.vec2f":()=>l,SQRT3:()=>_a,"std.dot":()=>se,SQRT3_2:()=>$i,"std.max":()=>b,"std.select":()=>C,"std.round":()=>sa,INV_2_SQRT3:()=>sb,cellHash:()=>Bl,"std.min":()=>oe,"std.abs":()=>z,"std.fwidth":()=>Zt,strokeBandSymmetric:()=>ou,"d.vec3f":()=>f}})&&e.f)({})),Da=.1,mB=v.fn([x,l,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(s.x,r),s.y),d=__tsover_mul(o,Le),c=H(d),_=Y(d),u=ue(l(se(i,l(c,__tsover_mul(_,-1))),se(i,l(_,c))).mul(n)).sub(l(.5,.5)),m=se(f(t.x,t.y,t.z),f(.299,.587,.114)),p=__tsover_add(__tsover_mul(m,.7),.15),y=j(u),h=__tsover_sub(1,re(__tsover_sub(p,Da),__tsover_add(p,Da),y));return x(__tsover_mul(t.x,h),__tsover_mul(t.y,h),__tsover_mul(t.z,h),__tsover_mul(t.w,h))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"childColor"},{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angleDeg"},{type:"i",name:"frequency"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"c",[6,"std.cos",["angleRad"]]],[13,"s",[6,"std.sin",["angleRad"]]],[13,"rotatedUV",[6,"d.vec2f",[[6,"std.dot",["aspectUV",[6,"d.vec2f",["c",[1,"s","*",[4,"-",[5,"1"]]]]]]],[6,"std.dot",["aspectUV",[6,"d.vec2f",["s","c"]]]]]]],[13,"gridUV",[6,[7,[6,"std.fract",[[6,[7,"rotatedUV","mul"],["frequency"]]]],"sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"brightness",[6,"std.dot",[[6,"d.vec3f",[[7,"childColor","x"],[7,"childColor","y"],[7,"childColor","z"]]],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"dotSize",[1,[1,"brightness","*",[5,"0.7"]],"+",[5,"0.15"]]],[13,"dist",[6,"std.length",["gridUV"]]],[13,"dotPattern",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"dotSize","-","SMOOTHNESS"],[1,"dotSize","+","SMOOTHNESS"],"dist"]]]],[10,[6,"d.vec4f",[[1,[7,"childColor","x"],"*","dotPattern"],[1,[7,"childColor","y"],"*","dotPattern"],[1,[7,"childColor","z"],"*","dotPattern"],[1,[7,"childColor","w"],"*","dotPattern"]]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.fract":()=>ue,"d.vec3f":()=>f,"std.length":()=>j,"std.smoothstep":()=>re,SMOOTHNESS:()=>Da,"d.vec4f":()=>x}})&&e.f)({})),pB=v.fn([l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(__tsover_add(s,r),Le);return l(__tsover_add(t.x,__tsover_mul(H(i),o)),__tsover_add(t.y,__tsover_div(__tsover_mul(Y(i),o),n)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"misprintAngleDeg"},{type:"i",name:"plateIndexDeg"},{type:"i",name:"misprint"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,[1,"misprintAngleDeg","+","plateIndexDeg"],"*","DEG_TO_RAD"]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[6,"std.cos",["angleRad"]],"*","misprint"]],[1,[7,"uv","y"],"+",[1,[1,[6,"std.sin",["angleRad"]],"*","misprint"],"/","aspect"]]]]]]]},externals:{DEG_TO_RAD:()=>Le,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),td=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_sub(1,b(b(t.x,t.y),t.z))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.max",[[6,"std.max",[[7,"s","x"],[7,"s","y"]]],[7,"s","z"]]]]]]]},externals:{"std.max":()=>b}})&&e.f)({})),fB=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=td(t),r=b(__tsover_sub(1,s),1e-4);return __tsover_div(__tsover_sub(__tsover_sub(1,t.x),s),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[13,"k",[6,"halftoneChannelK",["s"]]],[13,"invK",[6,"std.max",[[1,[5,"1"],"-","k"],[5,"0.0001"]]]],[10,[1,[1,[1,[5,"1"],"-",[7,"s","x"]],"-","k"],"/","invK"]]]]},externals:{halftoneChannelK:()=>td,"std.max":()=>b}})&&e.f)({})),vB=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=td(t),r=b(__tsover_sub(1,s),1e-4);return __tsover_div(__tsover_sub(__tsover_sub(1,t.y),s),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[13,"k",[6,"halftoneChannelK",["s"]]],[13,"invK",[6,"std.max",[[1,[5,"1"],"-","k"],[5,"0.0001"]]]],[10,[1,[1,[1,[5,"1"],"-",[7,"s","y"]],"-","k"],"/","invK"]]]]},externals:{halftoneChannelK:()=>td,"std.max":()=>b}})&&e.f)({})),yB=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=td(t),r=b(__tsover_sub(1,s),1e-4);return __tsover_div(__tsover_sub(__tsover_sub(1,t.z),s),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[13,"k",[6,"halftoneChannelK",["s"]]],[13,"invK",[6,"std.max",[[1,[5,"1"],"-","k"],[5,"0.0001"]]]],[10,[1,[1,[1,[5,"1"],"-",[7,"s","z"]],"-","k"],"/","invK"]]]]},externals:{halftoneChannelK:()=>td,"std.max":()=>b}})&&e.f)({})),hB=v.fn([l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(t.x,s),t.y),d=__tsover_mul(r,Le),c=H(d),_=Y(d),u=j(ue(l(se(i,l(c,__tsover_mul(_,-1))),se(i,l(_,c))).mul(n)).sub(l(.5,.5))),m=__tsover_sub(__tsover_mul(o,.75),Da);return __tsover_sub(1,re(__tsover_sub(m,Da),__tsover_add(m,Da),u))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angleDeg"},{type:"i",name:"intensity"},{type:"i",name:"frequency"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"c",[6,"std.cos",["angleRad"]]],[13,"s",[6,"std.sin",["angleRad"]]],[13,"rotatedUV",[6,"d.vec2f",[[6,"std.dot",["aspectUV",[6,"d.vec2f",["c",[1,"s","*",[4,"-",[5,"1"]]]]]]],[6,"std.dot",["aspectUV",[6,"d.vec2f",["s","c"]]]]]]],[13,"grid",[6,[7,[6,"std.fract",[[6,[7,"rotatedUV","mul"],["frequency"]]]],"sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"dist",[6,"std.length",["grid"]]],[13,"size",[1,[1,"intensity","*",[5,"0.75"]],"-","SMOOTHNESS"]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"size","-","SMOOTHNESS"],[1,"size","+","SMOOTHNESS"],"dist"]]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.fract":()=>ue,"std.length":()=>j,SMOOTHNESS:()=>Da,"std.smoothstep":()=>re}})&&e.f)({})),xB=v.fn([x,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return X(f(1,1,1),f(t.x,t.y,t.z),f(__tsover_mul(s,t.w)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"inkColor"},{type:"i",name:"inkMask"}],body:[0,[[10,[6,"std.mix",[[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]],[6,"d.vec3f",[[7,"inkColor","x"],[7,"inkColor","y"],[7,"inkColor","z"]]],[6,"d.vec3f",[[1,"inkMask","*",[7,"inkColor","w"]]]]]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f}})&&e.f)({})),gB=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return q(l(__tsover_div(__tsover_mul(t.x,s.x),r),__tsover_div(__tsover_mul(t.y,s.y),r)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"gridRes"},{type:"i",name:"pixelSize"}],body:[0,[[10,[6,"std.floor",[[6,"d.vec2f",[[1,[1,[7,"uv","x"],"*",[7,"gridRes","x"]],"/","pixelSize"],[1,[1,[7,"uv","y"],"*",[7,"gridRes","y"]],"/","pixelSize"]]]]]]]]},externals:{"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),bB=v.fn([l,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_div(__tsover_mul(__tsover_add(t.x,.5),s),r.x),__tsover_div(__tsover_mul(__tsover_add(t.y,.5),s),r.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"},{type:"i",name:"pixelSize"},{type:"i",name:"gridRes"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[1,[7,"coord","x"],"+",[5,"0.5"]],"*","pixelSize"],"/",[7,"gridRes","x"]],[1,[1,[1,[7,"coord","y"],"+",[5,"0.5"]],"*","pixelSize"],"/",[7,"gridRes","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),wB=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(se(f(t.x,t.y,t.z),f(.299,.587,.114)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"c"}],body:[0,[[10,[1,[6,"std.dot",[[6,"d.vec3f",[[7,"c","x"],[7,"c","y"],[7,"c","z"]]],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]],"*",[7,"c","w"]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),J_=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(__tsover_add(__tsover_mul(s,3),__tsover_mul(t,2)),__tsover_mul(__tsover_mul(t,s),4))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a"},{type:"i",name:"b"}],body:[0,[[10,[1,[1,[1,"b","*",[5,"3"]],"+",[1,"a","*",[5,"2"]]],"-",[1,[1,"a","*","b"],"*",[5,"4"]]]]]]},externals:{}})&&e.f)({})),TB=v.fn([l],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_sub(t.x,__tsover_mul(8,q(__tsover_div(t.x,8)))),r=__tsover_sub(t.y,__tsover_mul(8,q(__tsover_div(t.y,8)))),o=__tsover_sub(s,__tsover_mul(2,q(__tsover_div(s,2)))),n=__tsover_sub(r,__tsover_mul(2,q(__tsover_div(r,2)))),i=__tsover_sub(s,__tsover_mul(4,q(__tsover_div(s,4)))),d=__tsover_sub(r,__tsover_mul(4,q(__tsover_div(r,4)))),c=q(__tsover_div(i,2)),_=q(__tsover_div(d,2)),u=q(__tsover_div(s,4)),m=q(__tsover_div(r,4)),p=J_(o,n),y=J_(c,_),h=J_(u,m),g=__tsover_div(p,4),w=__tsover_div(__tsover_add(__tsover_mul(p,4),y),16),S=__tsover_div(__tsover_add(__tsover_add(__tsover_mul(p,16),__tsover_mul(y,4)),h),64),T=__tsover_add(__tsover_mul(Z(d),4),Z(i)),A=.75;return A=C(A,.3125,T===1),A=C(A,.375,T===2),A=C(A,.8125,T===3),A=C(A,.25,T===4),A=C(A,a(0),T===5),A=C(A,.0625,T===6),A=C(A,.4375,T===7),A=C(A,.6875,T===8),A=C(A,.1875,T===9),A=C(A,.125,T===10),A=C(A,.5,T===11),A=C(A,.9375,T===12),A=C(A,.625,T===13),A=C(A,.5625,T===14),A=C(A,.875,T===15),x(g,w,S,A)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"}],body:[0,[[13,"tx",[1,[7,"coord","x"],"-",[1,[5,"8"],"*",[6,"std.floor",[[1,[7,"coord","x"],"/",[5,"8"]]]]]]],[13,"ty",[1,[7,"coord","y"],"-",[1,[5,"8"],"*",[6,"std.floor",[[1,[7,"coord","y"],"/",[5,"8"]]]]]]],[13,"x2",[1,"tx","-",[1,[5,"2"],"*",[6,"std.floor",[[1,"tx","/",[5,"2"]]]]]]],[13,"y2",[1,"ty","-",[1,[5,"2"],"*",[6,"std.floor",[[1,"ty","/",[5,"2"]]]]]]],[13,"x4",[1,"tx","-",[1,[5,"4"],"*",[6,"std.floor",[[1,"tx","/",[5,"4"]]]]]]],[13,"y4",[1,"ty","-",[1,[5,"4"],"*",[6,"std.floor",[[1,"ty","/",[5,"4"]]]]]]],[13,"x4h",[6,"std.floor",[[1,"x4","/",[5,"2"]]]]],[13,"y4h",[6,"std.floor",[[1,"y4","/",[5,"2"]]]]],[13,"x8h",[6,"std.floor",[[1,"tx","/",[5,"4"]]]]],[13,"y8h",[6,"std.floor",[[1,"ty","/",[5,"4"]]]]],[13,"b00",[6,"ditherBayerQuad",["x2","y2"]]],[13,"b11",[6,"ditherBayerQuad",["x4h","y4h"]]],[13,"b22",[6,"ditherBayerQuad",["x8h","y8h"]]],[13,"bayer2",[1,"b00","/",[5,"4"]]],[13,"bayer4",[1,[1,[1,"b00","*",[5,"4"]],"+","b11"],"/",[5,"16"]]],[13,"bayer8",[1,[1,[1,[1,"b00","*",[5,"16"]],"+",[1,"b11","*",[5,"4"]]],"+","b22"],"/",[5,"64"]]],[13,"idx",[1,[1,[6,"d.i32",["y4"]],"*",[5,"4"]],"+",[6,"d.i32",["x4"]]]],[12,"cd",[5,"0.75"]],[2,"cd","=",[6,"std.select",["cd",[5,"0.3125"],[1,"idx","===",[5,"1"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.375"],[1,"idx","===",[5,"2"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.8125"],[1,"idx","===",[5,"3"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.25"],[1,"idx","===",[5,"4"]]]]],[2,"cd","=",[6,"std.select",["cd",[6,"d.f32",[[5,"0"]]],[1,"idx","===",[5,"5"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.0625"],[1,"idx","===",[5,"6"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.4375"],[1,"idx","===",[5,"7"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.6875"],[1,"idx","===",[5,"8"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.1875"],[1,"idx","===",[5,"9"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.125"],[1,"idx","===",[5,"10"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.5"],[1,"idx","===",[5,"11"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.9375"],[1,"idx","===",[5,"12"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.625"],[1,"idx","===",[5,"13"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.5625"],[1,"idx","===",[5,"14"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.875"],[1,"idx","===",[5,"15"]]]]],[10,[6,"d.vec4f",["bayer2","bayer4","bayer8","cd"]]]]]},externals:{"std.floor":()=>q,ditherBayerQuad:()=>J_,"d.i32":()=>Z,"std.select":()=>C,"d.f32":()=>a,"d.vec4f":()=>x}})&&e.f)({})),SB=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.add(l(.5,.5));return ue(__tsover_mul(52.9829189,ue(__tsover_add(__tsover_mul(s.x,.06711056),__tsover_mul(s.y,.00583715)))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"}],body:[0,[[13,"c",[6,[7,"coord","add"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[10,[6,"std.fract",[[1,[5,"52.9829189"],"*",[6,"std.fract",[[1,[1,[7,"c","x"],"*",[5,"0.06711056"]],"+",[1,[7,"c","y"],"*",[5,"0.00583715"]]]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.fract":()=>ue}})&&e.f)({})),AB=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ot(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"}],body:[0,[[10,[6,"noise.hash12",["coord"]]]]]},externals:{"noise.hash12":()=>Ot}})&&e.f)({})),MB=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return De(__tsover_add(.5,__tsover_mul(__tsover_sub(t,.5),o)),__tsover_add(s,__tsover_sub(r,.5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ditherValue"},{type:"i",name:"luminance"},{type:"i",name:"threshold"},{type:"i",name:"spread"}],body:[0,[[13,"adjustedDither",[1,[5,"0.5"],"+",[1,[1,"ditherValue","-",[5,"0.5"]],"*","spread"]]],[10,[6,"std.step",["adjustedDither",[1,"luminance","+",[1,"threshold","-",[5,"0.5"]]]]]]]]},externals:{"std.step":()=>De}})&&e.f)({})),PB=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return q(t.div(l(8,8))).mul(l(8,8))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"}],body:[0,[[10,[6,[7,[6,"std.floor",[[6,[7,"coord","div"],[[6,"d.vec2f",[[5,"8"],[5,"8"]]]]]]],"mul"],[[6,"d.vec2f",[[5,"8"],[5,"8"]]]]]]]]},externals:{"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),EB=v.fn([l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_add(__tsover_mul(__tsover_sub(t.y,s.y),8),__tsover_sub(t.x,s.x))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"},{type:"i",name:"blockOrigin"}],body:[0,[[10,[1,[1,[1,[7,"coord","y"],"-",[7,"blockOrigin","y"]],"*",[5,"8"]],"+",[1,[7,"coord","x"],"-",[7,"blockOrigin","x"]]]]]]},externals:{}})&&e.f)({})),kB=v.fn([l,a,a,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return l(__tsover_div(__tsover_mul(__tsover_add(__tsover_add(t.x,s),.5),o),n.x),__tsover_div(__tsover_mul(__tsover_add(__tsover_add(t.y,r),.5),o),n.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"blockOrigin"},{type:"i",name:"lx"},{type:"i",name:"ly"},{type:"i",name:"pixelSize"},{type:"i",name:"gridRes"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[1,[1,[7,"blockOrigin","x"],"+","lx"],"+",[5,"0.5"]],"*","pixelSize"],"/",[7,"gridRes","x"]],[1,[1,[1,[1,[7,"blockOrigin","y"],"+","ly"],"+",[5,"0.5"]],"*","pixelSize"],"/",[7,"gridRes","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),$B=v.fn([pt(a,64),a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(.5,__tsover_sub(r,.5)),i=pt(a,8)(),d=pt(a,8)(),c=Z(s),_=a(0);for(let u=0;u<8;u++){let m=(u&1)===0;for(let p=0;p<8;p++){let y=C(__tsover_sub(7,p),p,m),h=__tsover_add(__tsover_mul(u,8),y),g=__tsover_add(t[h],i[y]),w=De(n,g);_=C(_,w,h===c);let S=__tsover_mul(__tsover_sub(g,w),o),T=C(-1,1,m),A=__tsover_add(y,T);if(A>=0&&A<8&&(i[A]=__tsover_add(i[A],__tsover_mul(S,.4375))),u<7){let P=__tsover_sub(y,T),U=__tsover_add(y,T);P>=0&&P<8&&(d[P]=__tsover_add(d[P],__tsover_mul(S,.1875))),d[y]=__tsover_add(d[y],__tsover_mul(S,.3125)),U>=0&&U<8&&(d[U]=__tsover_add(d[U],__tsover_mul(S,.0625)))}}for(let p=0;p<8;p++)i[p]=d[p],d[p]=a(0)}return _}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lum"},{type:"i",name:"lic"},{type:"i",name:"threshold"},{type:"i",name:"spread"}],body:[0,[[13,"thr",[1,[5,"0.5"],"-",[1,"threshold","-",[5,"0.5"]]]],[13,"ecur",[6,[6,"d.arrayOf",["d.f32",[5,"8"]]],[]]],[13,"enext",[6,[6,"d.arrayOf",["d.f32",[5,"8"]]],[]]],[13,"licInt",[6,"d.i32",["lic"]]],[12,"result",[6,"d.f32",[[5,"0"]]]],[14,[12,"y",[5,"0"]],[1,"y","<",[5,"8"]],[102,"++","y"],[0,[[13,"ltr",[1,[1,"y","&",[5,"1"]],"===",[5,"0"]]],[14,[12,"xi",[5,"0"]],[1,"xi","<",[5,"8"]],[102,"++","xi"],[0,[[13,"x",[6,"std.select",[[1,[5,"7"],"-","xi"],"xi","ltr"]]],[13,"idx",[1,[1,"y","*",[5,"8"]],"+","x"]],[13,"val",[1,[8,"lum","idx"],"+",[8,"ecur","x"]]],[13,"qv",[6,"std.step",["thr","val"]]],[2,"result","=",[6,"std.select",["result","qv",[1,"idx","===","licInt"]]]],[13,"e",[1,[1,"val","-","qv"],"*","spread"]],[13,"dir",[6,"std.select",[[4,"-",[5,"1"]],[5,"1"],"ltr"]]],[13,"xr",[1,"x","+","dir"]],[11,[1,"xr",">=",[5,"0"]],[0,[[11,[1,"xr","<",[5,"8"]],[0,[[2,[8,"ecur","xr"],"=",[1,[8,"ecur","xr"],"+",[1,"e","*",[5,"0.4375"]]]]]]]]]],[11,[1,"y","<",[5,"7"]],[0,[[13,"xbl",[1,"x","-","dir"]],[13,"xbr",[1,"x","+","dir"]],[11,[1,"xbl",">=",[5,"0"]],[0,[[11,[1,"xbl","<",[5,"8"]],[0,[[2,[8,"enext","xbl"],"=",[1,[8,"enext","xbl"],"+",[1,"e","*",[5,"0.1875"]]]]]]]]]],[2,[8,"enext","x"],"=",[1,[8,"enext","x"],"+",[1,"e","*",[5,"0.3125"]]]],[11,[1,"xbr",">=",[5,"0"]],[0,[[11,[1,"xbr","<",[5,"8"]],[0,[[2,[8,"enext","xbr"],"=",[1,[8,"enext","xbr"],"+",[1,"e","*",[5,"0.0625"]]]]]]]]]]]]]]]],[14,[12,"k",[5,"0"]],[1,"k","<",[5,"8"]],[102,"++","k"],[0,[[2,[8,"ecur","k"],"=",[8,"enext","k"]],[2,[8,"enext","k"],"=",[6,"d.f32",[[5,"0"]]]]]]]]]],[10,"result"]]]},externals:{"d.arrayOf":()=>pt,"d.f32":()=>a,"d.i32":()=>Z,"std.select":()=>C,"std.step":()=>De}})&&e.f)({})),UB=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=X(f(t.x,t.y,t.z),f(s.x,s.y,s.z),f(r)),n=X(t.w,s.w,r);return x(o.x,o.y,o.z,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"ditherResult"}],body:[0,[[13,"rgb",[6,"std.mix",[[6,"d.vec3f",[[7,"colorA","x"],[7,"colorA","y"],[7,"colorA","z"]]],[6,"d.vec3f",[[7,"colorB","x"],[7,"colorB","y"],[7,"colorB","z"]]],[6,"d.vec3f",["ditherResult"]]]]],[13,"a",[6,"std.mix",[[7,"colorA","w"],[7,"colorB","w"],"ditherResult"]]],[10,[6,"d.vec4f",[[7,"rgb","x"],[7,"rgb","y"],[7,"rgb","z"],"a"]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),CB=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=f(t.x,t.y,t.z),o=X(r.mul(.3),oe(r.mul(1.3),f(1,1,1)),f(s));return x(o.x,o.y,o.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sourceColor"},{type:"i",name:"ditherResult"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"sourceColor","x"],[7,"sourceColor","y"],[7,"sourceColor","z"]]]],[13,"dark",[6,[7,"rgb","mul"],[[5,"0.3"]]]],[13,"bright",[6,"std.min",[[6,[7,"rgb","mul"],[[5,"1.3"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]],[13,"out",[6,"std.mix",["dark","bright",[6,"d.vec3f",["ditherResult"]]]]],[10,[6,"d.vec4f",[[7,"out","x"],[7,"out","y"],[7,"out","z"],[7,"sourceColor","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.min":()=>oe,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({}));function bz(e){return e.map((t,s)=>({stop:t,index:s})).sort((t,s)=>t.stop.position-s.stop.position||t.index-s.index).map(({stop:t})=>t)}function jv(e,t){let s=new Array(32).fill(0),r=new Array(8).fill(0),o=Array.isArray(e)&&e.length>0?bz(e):[],n=Math.min(o.length,8);for(let i=0;i(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return co({conv:t,alpha:s})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"conv"},{type:"i",name:"alpha"}],body:[0,[[10,[6,"MixStep",[[104,{conv:"conv",alpha:"alpha"}]]]]]]},externals:{MixStep:()=>co}})&&e.f)({}));v.fn([co,f,a,a,a,a],co)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=$(__tsover_div(__tsover_sub(o,n),b(__tsover_sub(i,n),1e-6)),0,1);return fa(t.conv,t.alpha,s,r,d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"running"},{type:"i",name:"convI"},{type:"i",name:"alphaI"},{type:"i",name:"tClamped"},{type:"i",name:"posA"},{type:"i",name:"posB"}],body:[0,[[13,"seg",[6,"std.clamp",[[1,[1,"tClamped","-","posA"],"/",[6,"std.max",[[1,"posB","-","posA"],[5,"0.000001"]]]],[5,"0"],[5,"1"]]]],[10,[6,"mixPreconvertedInSpace",[[7,"running","conv"],[7,"running","alpha"],"convI","alphaI","seg"]]]]]},externals:{"std.clamp":()=>$,"std.max":()=>b,mixPreconvertedInSpace:()=>fa}})&&e.f)({}));v.fn([co],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return t.conv}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[10,[7,"s","conv"]]]]},externals:{}})&&e.f)({}));v.fn([co],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return t.alpha}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[10,[7,"s","alpha"]]]]},externals:{}})&&e.f)({}));v.fn([f,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t,s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"a"}],body:[0,[[10,[6,"d.vec4f",["rgb","a"]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({}));var Xp=v.fn([a,pt(x,8),pt(x,8/4),pt(f,8),a],co)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=$(t,0,1),d=Z(n),c=o[0],_=f(c.x,c.y,c.z),u=s[0].w;for(let m=1;m>2],y=r[m>>2],h=p[__tsover_sub(m,1)&3],g=y[m&3],w=$(__tsover_div(__tsover_sub(i,h),b(__tsover_sub(g,h),1e-6)),0,1),S=fa(_,u,o[m],s[m].w,w);_=f(S.conv.x,S.conv.y,S.conv.z),u=S.alpha}return co({conv:_,alpha:u})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"colors"},{type:"i",name:"positions"},{type:"i",name:"converted"},{type:"i",name:"stopCount"}],body:[0,[[13,"clampedT",[6,"std.clamp",["t",[5,"0"],[5,"1"]]]],[13,"n",[6,"d.i32",["stopCount"]]],[13,"c0",[8,"converted",[5,"0"]]],[12,"conv",[6,"d.vec3f",[[7,"c0","x"],[7,"c0","y"],[7,"c0","z"]]]],[12,"alpha",[7,[8,"colors",[5,"0"]],"w"]],[14,[12,"i",[5,"1"]],[1,"i","<","n"],[102,"++","i"],[0,[[13,"va",[8,"positions",[1,[1,"i","-",[5,"1"]],">>",[5,"2"]]]],[13,"vb",[8,"positions",[1,"i",">>",[5,"2"]]]],[13,"posA",[8,"va",[1,[1,"i","-",[5,"1"]],"&",[5,"3"]]]],[13,"posB",[8,"vb",[1,"i","&",[5,"3"]]]],[13,"seg",[6,"std.clamp",[[1,[1,"clampedT","-","posA"],"/",[6,"std.max",[[1,"posB","-","posA"],[5,"0.000001"]]]],[5,"0"],[5,"1"]]]],[13,"step",[6,"mixPreconvertedInSpace",["conv","alpha",[8,"converted","i"],[7,[8,"colors","i"],"w"],"seg"]]],[2,"conv","=",[6,"d.vec3f",[[7,[7,"step","conv"],"x"],[7,[7,"step","conv"],"y"],[7,[7,"step","conv"],"z"]]]],[2,"alpha","=",[7,"step","alpha"]]]]],[10,[6,"MixStep",[[104,{conv:"conv",alpha:"alpha"}]]]]]]},externals:{"std.clamp":()=>$,"d.i32":()=>Z,"d.vec3f":()=>f,"std.max":()=>b,mixPreconvertedInSpace:()=>fa,MixStep:()=>co}})&&e.f)({}));function wz(e,t){switch(t){case 1:return we(ss,"sRGBToP3",[we(Kr,"oklabToRgb",[we(Ha,"oklchToOklab",[e])])]);case 2:return we(ss,"sRGBToP3",[we(Kr,"oklabToRgb",[e])]);case 3:return we(ss,"sRGBToP3",[we(ja,"hslToRgb",[e])]);case 4:return we(ss,"sRGBToP3",[we(Ac,"hsvToRgb",[e])]);case 5:return we(ss,"sRGBToP3",[we(Mc,"labToRgb",[we(Pc,"lchToLab",[e])])]);default:return e}}function Tz(e,t,s){let r=ur(we(Xp,"gradientStopsInSpace",[e,t.colorsArray,t.positionsArray,t.convertedColorsArray,t.stopCount]),"stopMix");return Ws(wz(r.member("conv"),s),r.member("alpha"))}var RB=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=bt(s);return l(__tsover_mul(t.x,r),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l}})&&e.f)({})),zB=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_div(s.x,s.y);return l(__tsover_mul(t.x,n),t.y).mul(ct(r)).add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"scale"},{type:"i",name:"seed"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[10,[6,[7,[6,[7,"aspectUV","mul"],[[6,"std.exp",["scale"]]]],"add"],["seed"]]]]]},externals:{"d.vec2f":()=>l,"std.exp":()=>ct}})&&e.f)({})),GB=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=__tsover_mul(r,Le),i=H(n),d=Y(n),c=__tsover_sub(__tsover_mul(t.x,o),__tsover_mul(o,.5)),_=__tsover_sub(t.y,.5);return l(__tsover_add(__tsover_mul(c,i),__tsover_mul(_,d)),__tsover_add(__tsover_mul(c,-d),__tsover_mul(_,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"au",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,"aspect","*",[5,"0.5"]]]],[13,"av",[1,[7,"uv","y"],"-",[5,"0.5"]]],[13,"ru",[1,[1,"au","*","cosA"],"+",[1,"av","*","sinA"]]],[13,"rv",[1,[1,"au","*",[4,"-","sinA"]],"+",[1,"av","*","cosA"]]],[10,[6,"d.vec2f",["ru","rv"]]]]]},externals:{aspectOf:()=>bt,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),YB=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_div(j(Mg(t,s)),1.414)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"z"}],body:[0,[[10,[1,[6,"std.length",[[6,"curl22z",["pos","z"]]]],"/",[5,"1.414"]]]]]},externals:{"std.length":()=>j,curl22z:()=>Mg}})&&e.f)({})),rb=s7(Ei,{maxOctaves:8,drift:"goldenAngle",name:"fractalOctaveSum"}),LB=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return rb(t,2,s,r,o,l(n,__tsover_mul(n,.7)),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"detail"},{type:"i",name:"contrast"},{type:"i",name:"animTime"},{type:"i",name:"seed"},{type:"i",name:"octaveCount"}],body:[0,[[10,[6,"fractalOctaveSum",["pos",[5,"2"],"detail","contrast","animTime",[6,"d.vec2f",["seed",[1,"seed","*",[5,"0.7"]]]],"octaveCount"]]]]]},externals:{fractalOctaveSum:()=>rb,"d.vec2f":()=>l}})&&e.f)({})),IB=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return $(__tsover_add(__tsover_mul(__tsover_div(t.x,t.y),.5),.5),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sum"}],body:[0,[[10,[6,"std.clamp",[[1,[1,[1,[7,"sum","x"],"/",[7,"sum","y"]],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({}));var ob=o7({distance:"selectableSquared",jitter:"mix",name:"worleyNearest2"}),nb=s7(v.fn([l,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ob(t,s,r,o,n);return jg(d.x,d.y,n,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"oUV"},{type:"i",name:"animT"},{type:"i",name:"seedOff"},{type:"i",name:"jitter"},{type:"i",name:"distNum"},{type:"i",name:"modeNum"}],body:[0,[[13,"dd",[6,"worleyNearest2",["oUV","animT","seedOff","jitter","distNum"]]],[10,[6,"cellReduceSelectable",[[7,"dd","x"],[7,"dd","y"],"distNum","modeNum"]]]]]},externals:{worleyNearest2:()=>ob,cellReduceSelectable:()=>jg}})&&e.f)({})),{maxOctaves:4,drift:"timeSeed",name:"worleyOctaveSum"}),DB=v.fn([l,a,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";return nb(t,s,n,i,d,r,f(o,_,u),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"scale"},{type:"i",name:"seed"},{type:"i",name:"jitter"},{type:"i",name:"lacunarity"},{type:"i",name:"persistence"},{type:"i",name:"animTime"},{type:"i",name:"octaves"},{type:"i",name:"distNum"},{type:"i",name:"modeNum"}],body:[0,[[10,[6,"worleyOctaveSum",["pos","scale","lacunarity","persistence","animTime","seed",[6,"d.vec3f",["jitter","distNum","modeNum"]],"octaves"]]]]]},externals:{worleyOctaveSum:()=>nb,"d.vec3f":()=>f}})&&e.f)({})),FB=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_mul(__tsover_div(t.x,b(t.y,1e-4)),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sum"},{type:"i",name:"modeScale"}],body:[0,[[10,[1,[1,[7,"sum","x"],"/",[6,"std.max",[[7,"sum","y"],[5,"0.0001"]]]],"*","modeScale"]]]]},externals:{"std.max":()=>b}})&&e.f)({})),BB=t7({domain:"unit",contrastMode:"multiplicative",invert:!1});var WB=o7({distance:"length",jitter:"none",name:"voronoiNearest2"}),OB=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_sub(4,__tsover_mul(s,3));return Kg(t.x,t.y,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dd"},{type:"i",name:"edgeIntensity"}],body:[0,[[13,"gradientPower",[1,[5,"4"],"-",[1,"edgeIntensity","*",[5,"3"]]]],[10,[6,"cellRatio",[[7,"dd","x"],[7,"dd","y"],"gradientPower"]]]]]},externals:{cellRatio:()=>Kg}})&&e.f)({})),VB=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(__tsover_mul(s,r),6);return Zg(t.x,t.y,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dd"},{type:"i",name:"softness"},{type:"i",name:"scale"}],body:[0,[[13,"scaledEdgeSoftness",[1,[1,"softness","*","scale"],"/",[5,"6"]]],[10,[6,"cellEdgeMask",[[7,"dd","x"],[7,"dd","y"],"scaledEdgeSoftness"]]]]]},externals:{cellEdgeMask:()=>Zg}})&&e.f)({})),NB=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ce(t,f(.85,.85,.85))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[6,"std.pow",["rgb",[6,"d.vec3f",[[5,"0.85"],[5,"0.85"],[5,"0.85"]]]]]]]]},externals:{"std.pow":()=>Ce,"d.vec3f":()=>f}})&&e.f)({})),mc=8;if(mc!==8)throw new Error(`noisePaints: MAX (${mc}) out of sync with MAX_COLOR_STOPS (8)`);var ab=v.fn([l,l,l,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_div(s.x,b(s.y,1e-6)),d=l(__tsover_mul(r.x,i),__tsover_sub(1,r.y)),c=l(__tsover_mul(o.x,i),__tsover_sub(1,o.y)),_=l(__tsover_mul(t.x,i),t.y),u=l(__tsover_sub(c.x,d.x),__tsover_sub(c.y,d.y)),m=b(j(u),1e-6),p=l(__tsover_div(u.x,m),__tsover_div(u.y,m)),y=l(-p.y,p.x),h=l(__tsover_sub(_.x,d.x),__tsover_sub(_.y,d.y)),g=__tsover_div(se(h,p),m),w=se(h,y),S=n>0,T=$(g,0,1),A=C(a(1),Y(__tsover_mul(T,Xr)),S),P=__tsover_mul(re(0,.06,g),__tsover_sub(1,re(.94,1,g)));return x(g,w,A,C(a(1),P,S))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"start"},{type:"i",name:"end"},{type:"i",name:"pinFlag"}],body:[0,[[13,"aspectRatio",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[13,"startPos",[6,"d.vec2f",[[1,[7,"start","x"],"*","aspectRatio"],[1,[5,"1"],"-",[7,"start","y"]]]]],[13,"endPos",[6,"d.vec2f",[[1,[7,"end","x"],"*","aspectRatio"],[1,[5,"1"],"-",[7,"end","y"]]]]],[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspectRatio"],[7,"uv","y"]]]],[13,"direction",[6,"d.vec2f",[[1,[7,"endPos","x"],"-",[7,"startPos","x"]],[1,[7,"endPos","y"],"-",[7,"startPos","y"]]]]],[13,"len",[6,"std.max",[[6,"std.length",["direction"]],[5,"0.000001"]]]],[13,"normalizedDir",[6,"d.vec2f",[[1,[7,"direction","x"],"/","len"],[1,[7,"direction","y"],"/","len"]]]],[13,"perpDir",[6,"d.vec2f",[[4,"-",[7,"normalizedDir","y"]],[7,"normalizedDir","x"]]]],[13,"relativePos",[6,"d.vec2f",[[1,[7,"aspectUV","x"],"-",[7,"startPos","x"]],[1,[7,"aspectUV","y"],"-",[7,"startPos","y"]]]]],[13,"progress",[1,[6,"std.dot",["relativePos","normalizedDir"]],"/","len"]],[13,"perpDist",[6,"std.dot",["relativePos","perpDir"]]],[13,"pinOn",[1,"pinFlag",">",[5,"0"]]],[13,"clampedProg",[6,"std.clamp",["progress",[5,"0"],[5,"1"]]]],[13,"pinch",[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"std.sin",[[1,"clampedProg","*","PI"]]],"pinOn"]]],[13,"fade",[1,[6,"std.smoothstep",[[5,"0"],[5,"0.06"],"progress"]],"*",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0.94"],[5,"1"],"progress"]]]]],[13,"edgeFade",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"fade","pinOn"]]],[10,[6,"d.vec4f",["progress","perpDist","pinch","edgeFade"]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l,"std.length":()=>j,"std.dot":()=>se,"std.clamp":()=>$,"std.select":()=>C,"d.f32":()=>a,"std.sin":()=>Y,PI:()=>Xr,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({})),qB=v.fn([l,l,l,l,x,x,x,pt(x,mc),pt(x,mc/4),pt(f,mc)],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=n.x,p=n.y,y=n.z,h=n.w,g=i.x,w=i.y,S=i.z,T=i.w,A=d.y,P=d.z,U=d.w,D=ab(t,s,r,o,d.x),O=D.x,L=D.y,G=D.z,W=D.w,K=__tsover_mul(h,.07),Q=__tsover_add(__tsover_mul(g,.08),8e-4),te=b(__tsover_sub(y,1),1),ee=f(0,0,0),he=a(0),Ee=__tsover_mul(__tsover_mul(O,it),p),Te=__tsover_add(__tsover_mul(O,8),__tsover_mul(A,2)),Ue=__tsover_add(__tsover_mul(O,S),P),Me=Z(sa(y));for(let Pe=0;Peab,"std.max":()=>b,"d.vec3f":()=>f,"d.f32":()=>a,TAU:()=>it,"d.i32":()=>Z,"std.round":()=>sa,"std.sin":()=>Y,"std.abs":()=>z,"std.smoothstep":()=>re,"std.fract":()=>ue,gradientStopsInSpace:()=>Xp,"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})),XB=v.fn([l,a,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(t.x,s),t.y),c=__tsover_mul(r,6),_=d.mul(c).add(o),u=Ki(_).mul(n).mul(.0025),m=t.add(u),p=zg(_,Z(6)),y=$(__tsover_add(1,__tsover_mul(__tsover_sub(p,.7),__tsover_mul(i,1.2))),0,1.5);return f(m.x,m.y,y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"grainScale"},{type:"i",name:"seed"},{type:"i",name:"displacement"},{type:"i",name:"roughness"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"grainFreq",[1,"grainScale","*",[5,"6"]]],[13,"grainUV",[6,[7,[6,[7,"aspectUV","mul"],["grainFreq"]],"add"],["seed"]]],[13,"disp",[6,[7,[6,[7,[6,"curl22",["grainUV"]],"mul"],["displacement"]],"mul"],[[5,"0.0025"]]]],[13,"displacedUV",[6,[7,"uv","add"],["disp"]]],[13,"grain",[6,"paper12",["grainUV",[6,"d.i32",[[5,"6"]]]]]],[13,"brightness",[6,"std.clamp",[[1,[5,"1"],"+",[1,[1,"grain","-",[5,"0.7"]],"*",[1,"roughness","*",[5,"1.2"]]]],[5,"0"],[5,"1.5"]]]],[10,[6,"d.vec3f",[[7,"displacedUV","x"],[7,"displacedUV","y"],"brightness"]]]]]},externals:{"d.vec2f":()=>l,curl22:()=>Ki,paper12:()=>zg,"d.i32":()=>Z,"std.clamp":()=>$,"d.vec3f":()=>f}})&&e.f)({})),Ui=1e-5,ib=v.fn([l,l,l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(t.x,s.x),n=__tsover_sub(t.y,s.y),i=__tsover_sub(r.x,s.x),d=__tsover_sub(r.y,s.y),c=b(j(l(i,d)),a(Ui)),_=__tsover_div(__tsover_add(__tsover_mul(o,i),__tsover_mul(n,d)),c),u=b(b(-_,__tsover_sub(_,c)),a(0)),m=$(__tsover_div(_,c),a(0),a(1)),p=j(l(__tsover_sub(o,__tsover_mul(i,m)),__tsover_sub(n,__tsover_mul(d,m))));return f(_,be(b(__tsover_sub(__tsover_mul(p,p),__tsover_mul(u,u)),a(0))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"}],body:[0,[[13,"pax",[1,[7,"p","x"],"-",[7,"a","x"]]],[13,"pay",[1,[7,"p","y"],"-",[7,"a","y"]]],[13,"bax",[1,[7,"b","x"],"-",[7,"a","x"]]],[13,"bay",[1,[7,"b","y"],"-",[7,"a","y"]]],[13,"len",[6,"std.max",[[6,"std.length",[[6,"d.vec2f",["bax","bay"]]]],[6,"d.f32",["EPS"]]]]],[13,"t",[1,[1,[1,"pax","*","bax"],"+",[1,"pay","*","bay"]],"/","len"]],[13,"overshoot",[6,"std.max",[[6,"std.max",[[4,"-","t"],[1,"t","-","len"]]],[6,"d.f32",[[5,"0"]]]]]],[13,"h",[6,"std.clamp",[[1,"t","/","len"],[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]]]]],[13,"dSeg",[6,"std.length",[[6,"d.vec2f",[[1,"pax","-",[1,"bax","*","h"]],[1,"pay","-",[1,"bay","*","h"]]]]]]],[13,"perp",[6,"std.sqrt",[[6,"std.max",[[1,[1,"dSeg","*","dSeg"],"-",[1,"overshoot","*","overshoot"]],[6,"d.f32",[[5,"0"]]]]]]]],[10,[6,"d.vec3f",["t","perp","len"]]]]]},externals:{"std.max":()=>b,"std.length":()=>j,"d.vec2f":()=>l,"d.f32":()=>a,EPS:()=>Ui,"std.clamp":()=>$,"std.sqrt":()=>be,"d.vec3f":()=>f}})&&e.f)({})),HB=v.fn([l,l,l,l,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=bt(s),p=ib(Yg(t,s),bn(r,m),bn(o,m)),y=p.x,h=p.y,g=p.z,w=__tsover_mul(n,.5),S=__tsover_sub(y,__tsover_mul(g,.5)),T=__tsover_mul(g,.5),A=b(d,a(Ui)),P=__tsover_add(A,c),U=b(q(__tsover_add(__tsover_div(__tsover_add(g,c),P),.5)),a(1)),D=__tsover_div(g,b(__tsover_add(__tsover_mul(U,A),__tsover_mul(__tsover_sub(U,1),c)),a(Ui))),O=__tsover_mul(A,D),L=__tsover_mul(P,D),G=$(q(__tsover_div(y,L)),a(0),__tsover_sub(U,1)),W=__tsover_sub(y,__tsover_add(__tsover_mul(G,L),__tsover_mul(O,.5))),K=b(__tsover_sub(__tsover_mul(O,.5),w),a(0)),Q=__tsover_mul(O,.5),te=b(__tsover_add(n,c),a(Ui)),ee=b(q(__tsover_add(__tsover_div(g,te),.5)),a(1)),he=__tsover_div(g,ee),Ee=$(q(__tsover_add(__tsover_div(y,he),.5)),a(0),ee),Te=__tsover_sub(y,__tsover_mul(Ee,he)),Ue=i>=.5,Me=i>=1.5,Pe=C(S,C(W,Te,Me),Ue),Re=C(T,C(K,a(0),Me),Ue),de=C(T,C(Q,w,Me),Ue),je=C(_,u,Pe>0),fe=__tsover_sub(j(l(b(__tsover_sub(z(Pe),Re),a(0)),h)),w),Ke=__tsover_sub(z(Pe),de),Ze=__tsover_sub(h,w),at=C(__tsover_add(j(l(b(Ke,a(0)),b(Ze,a(0)))),oe(b(Ke,Ze),a(0))),fe,je>=.5),Fe=__tsover_div(1,s.y);return __tsover_sub(1,re(-Fe,Fe,at))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"pointA"},{type:"i",name:"pointB"},{type:"i",name:"thickness"},{type:"i",name:"style"},{type:"i",name:"dashLength"},{type:"i",name:"gapLength"},{type:"i",name:"capStart"},{type:"i",name:"capEnd"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"p",[6,"geom.aspectCorrectedUV",["uv","viewport"]]],[13,"a",[6,"geom.aspectCentrePosition",["pointA","aspect"]]],[13,"b",[6,"geom.aspectCentrePosition",["pointB","aspect"]]],[13,"seg",[6,"segmentArcPerp",["p","a","b"]]],[13,"t",[7,"seg","x"]],[13,"perp",[7,"seg","y"]],[13,"len",[7,"seg","z"]],[13,"halfT",[1,"thickness","*",[5,"0.5"]]],[13,"cSolid",[1,"t","-",[1,"len","*",[5,"0.5"]]]],[13,"axSolid",[1,"len","*",[5,"0.5"]]],[13,"rawDash",[6,"std.max",["dashLength",[6,"d.f32",["EPS"]]]]],[13,"rawPeriod",[1,"rawDash","+","gapLength"]],[13,"nDash",[6,"std.max",[[6,"std.floor",[[1,[1,[1,"len","+","gapLength"],"/","rawPeriod"],"+",[5,"0.5"]]]],[6,"d.f32",[[5,"1"]]]]]],[13,"scale",[1,"len","/",[6,"std.max",[[1,[1,"nDash","*","rawDash"],"+",[1,[1,"nDash","-",[5,"1"]],"*","gapLength"]],[6,"d.f32",["EPS"]]]]]],[13,"dashL",[1,"rawDash","*","scale"]],[13,"period",[1,"rawPeriod","*","scale"]],[13,"kDash",[6,"std.clamp",[[6,"std.floor",[[1,"t","/","period"]]],[6,"d.f32",[[5,"0"]]],[1,"nDash","-",[5,"1"]]]]],[13,"cDash",[1,"t","-",[1,[1,"kDash","*","period"],"+",[1,"dashL","*",[5,"0.5"]]]]],[13,"axDashRound",[6,"std.max",[[1,[1,"dashL","*",[5,"0.5"]],"-","halfT"],[6,"d.f32",[[5,"0"]]]]]],[13,"axDashSquare",[1,"dashL","*",[5,"0.5"]]],[13,"rawDotPeriod",[6,"std.max",[[1,"thickness","+","gapLength"],[6,"d.f32",["EPS"]]]]],[13,"nDot",[6,"std.max",[[6,"std.floor",[[1,[1,"len","/","rawDotPeriod"],"+",[5,"0.5"]]]],[6,"d.f32",[[5,"1"]]]]]],[13,"dotPeriod",[1,"len","/","nDot"]],[13,"kDot",[6,"std.clamp",[[6,"std.floor",[[1,[1,"t","/","dotPeriod"],"+",[5,"0.5"]]]],[6,"d.f32",[[5,"0"]]],"nDot"]]],[13,"cDot",[1,"t","-",[1,"kDot","*","dotPeriod"]]],[13,"isPattern",[1,"style",">=",[5,"0.5"]]],[13,"isDotted",[1,"style",">=",[5,"1.5"]]],[13,"c",[6,"std.select",["cSolid",[6,"std.select",["cDash","cDot","isDotted"]],"isPattern"]]],[13,"axRound",[6,"std.select",["axSolid",[6,"std.select",["axDashRound",[6,"d.f32",[[5,"0"]]],"isDotted"]],"isPattern"]]],[13,"axSquare",[6,"std.select",["axSolid",[6,"std.select",["axDashSquare","halfT","isDotted"]],"isPattern"]]],[13,"capHere",[6,"std.select",["capStart","capEnd",[1,"c",">",[5,"0"]]]]],[13,"sdRound",[1,[6,"std.length",[[6,"d.vec2f",[[6,"std.max",[[1,[6,"std.abs",["c"]],"-","axRound"],[6,"d.f32",[[5,"0"]]]]],"perp"]]]],"-","halfT"]],[13,"qx",[1,[6,"std.abs",["c"]],"-","axSquare"]],[13,"qy",[1,"perp","-","halfT"]],[13,"sdSquare",[1,[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["qx",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["qy",[6,"d.f32",[[5,"0"]]]]]]]]],"+",[6,"std.min",[[6,"std.max",["qx","qy"]],[6,"d.f32",[[5,"0"]]]]]]],[13,"sd",[6,"std.select",["sdSquare","sdRound",[1,"capHere",">=",[5,"0.5"]]]]],[13,"feather",[1,[5,"1"],"/",[7,"viewport","y"]]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",[[4,"-","feather"],"feather","sd"]]]]]]},externals:{"geom.aspectOf":()=>bt,"geom.aspectCorrectedUV":()=>Yg,"geom.aspectCentrePosition":()=>bn,segmentArcPerp:()=>ib,"std.max":()=>b,"d.f32":()=>a,EPS:()=>Ui,"std.floor":()=>q,"std.clamp":()=>$,"std.select":()=>C,"std.length":()=>j,"d.vec2f":()=>l,"std.abs":()=>z,"std.min":()=>oe,"std.smoothstep":()=>re}})&&e.f)({})),jB=v.fn([l,l,a,l,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=ua(t,o,s),m=__tsover_mul(r,Le),p=Eo(u,H(m),Y(m)),y=__tsover_add(__tsover_mul(__tsover_mul(p.x,n),it),_),h=__tsover_mul(Y(y),i),g=z(__tsover_sub(p.y,h)),w=__tsover_mul(d,.5),S=__tsover_mul(c,.5);return __tsover_sub(1,re(__tsover_sub(w,S),__tsover_add(w,S),g))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"position"},{type:"i",name:"frequency"},{type:"i",name:"amplitude"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"animTime"}],body:[0,[[13,"centered",[6,"geom.aspectCenteredDelta",["uv","position","viewport"]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosAngle",[6,"std.cos",["angleRad"]]],[13,"sinAngle",[6,"std.sin",["angleRad"]]],[13,"rotated",[6,"geom.rotate2",["centered","cosAngle","sinAngle"]]],[13,"waveInput",[1,[1,[1,[7,"rotated","x"],"*","frequency"],"*","TAU"],"+","animTime"]],[13,"sineWave",[1,[6,"std.sin",["waveInput"]],"*","amplitude"]],[13,"distanceFromWave",[6,"std.abs",[[1,[7,"rotated","y"],"-","sineWave"]]]],[13,"halfThickness",[1,"thickness","*",[5,"0.5"]]],[13,"halfSoftness",[1,"softness","*",[5,"0.5"]]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"halfThickness","-","halfSoftness"],[1,"halfThickness","+","halfSoftness"],"distanceFromWave"]]]]]]},externals:{"geom.aspectCenteredDelta":()=>ua,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"geom.rotate2":()=>Eo,TAU:()=>it,"std.abs":()=>z,"std.smoothstep":()=>re}})&&e.f)({})),db=v.fn([a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return f(__tsover_add(__tsover_mul(H(__tsover_mul(it,t)),.5),.5),__tsover_add(__tsover_mul(H(__tsover_mul(it,__tsover_sub(t,.333))),.5),.5),__tsover_add(__tsover_mul(H(__tsover_mul(it,__tsover_sub(t,.666))),.5),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[6,"d.vec3f",[[1,[1,[6,"std.cos",[[1,"TAU_FULL","*","t"]]],"*",[5,"0.5"]],"+",[5,"0.5"]],[1,[1,[6,"std.cos",[[1,"TAU_FULL","*",[1,"t","-",[5,"0.333"]]]]],"*",[5,"0.5"]],"+",[5,"0.5"]],[1,[1,[6,"std.cos",[[1,"TAU_FULL","*",[1,"t","-",[5,"0.666"]]]]],"*",[5,"0.5"]],"+",[5,"0.5"]]]]]]]},externals:{"d.vec3f":()=>f,"std.cos":()=>H,TAU_FULL:()=>it}})&&e.f)({})),Fm=ut({aspect:a,lightPos:l,flareAxis:l,masterFade:a,lightDist:a,lightAngle:a}).$name("FlareFrame"),KB=v.fn([l,l,a,l,a,a],Fm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=bt(s),c=l(o.x,__tsover_sub(1,o.y)),_=l(__tsover_sub(.5,c.x),__tsover_sub(.5,c.y)),u=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(Y(__tsover_mul(r,3.7)),.04),__tsover_mul(Y(__tsover_mul(r,7.3)),.03)),__tsover_mul(Y(__tsover_mul(r,13.1)),.02)),.97),m=b(__tsover_mul(z(__tsover_sub(c.x,.5)),2),__tsover_mul(z(__tsover_sub(c.y,.5)),2)),p=__tsover_sub(1,__tsover_mul(i,.5)),y=X(1,__tsover_sub(1,re(p,1,m)),i),h=__tsover_mul(__tsover_mul(n,y),u),g=l(__tsover_mul(__tsover_sub(t.x,c.x),d),__tsover_sub(t.y,c.y));return Fm({aspect:d,lightPos:c,flareAxis:_,masterFade:h,lightDist:j(g),lightAngle:tt(g.y,g.x)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"t"},{type:"i",name:"lightPosRaw"},{type:"i",name:"intensity"},{type:"i",name:"edgeFade"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"lightPos",[6,"d.vec2f",[[7,"lightPosRaw","x"],[1,[5,"1"],"-",[7,"lightPosRaw","y"]]]]],[13,"flareAxis",[6,"d.vec2f",[[1,[5,"0.5"],"-",[7,"lightPos","x"]],[1,[5,"0.5"],"-",[7,"lightPos","y"]]]]],[13,"shimmer",[1,[1,[1,[1,[6,"std.sin",[[1,"t","*",[5,"3.7"]]]],"*",[5,"0.04"]],"+",[1,[6,"std.sin",[[1,"t","*",[5,"7.3"]]]],"*",[5,"0.03"]]],"+",[1,[6,"std.sin",[[1,"t","*",[5,"13.1"]]]],"*",[5,"0.02"]]],"+",[5,"0.97"]]],[13,"edgeDist",[6,"std.max",[[1,[6,"std.abs",[[1,[7,"lightPos","x"],"-",[5,"0.5"]]]],"*",[5,"2"]],[1,[6,"std.abs",[[1,[7,"lightPos","y"],"-",[5,"0.5"]]]],"*",[5,"2"]]]]],[13,"fadeStart",[1,[5,"1"],"-",[1,"edgeFade","*",[5,"0.5"]]]],[13,"edgeFadeV",[6,"std.mix",[[5,"1"],[1,[5,"1"],"-",[6,"std.smoothstep",["fadeStart",[5,"1"],"edgeDist"]]],"edgeFade"]]],[13,"masterFade",[1,[1,"intensity","*","edgeFadeV"],"*","shimmer"]],[13,"toLightAR",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[7,"lightPos","x"]],"*","aspect"],[1,[7,"uv","y"],"-",[7,"lightPos","y"]]]]],[13,"lightDist",[6,"std.length",["toLightAR"]]],[13,"lightAngle",[6,"std.atan2",[[7,"toLightAR","y"],[7,"toLightAR","x"]]]],[10,[6,"FlareFrame",[[104,{aspect:"aspect",lightPos:"lightPos",flareAxis:"flareAxis",masterFade:"masterFade",lightDist:"lightDist",lightAngle:"lightAngle"}]]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,"std.sin":()=>Y,"std.max":()=>b,"std.abs":()=>z,"std.mix":()=>X,"std.smoothstep":()=>re,"std.length":()=>j,"std.atan2":()=>tt,FlareFrame:()=>Fm}})&&e.f)({})),ZB=v.fn([l,a,l,l,a,a,a,a,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=_.x,p=_.y,y=_.z,h=_.w,g=u.x,w=u.y,S=u.z,T=u.w,A=r.add(o.mul(__tsover_mul(__tsover_mul(m,i),2))),P=j(l(__tsover_mul(__tsover_sub(t.x,A.x),s),__tsover_sub(t.y,A.y))),U=p,D=__tsover_sub(1,re(__tsover_mul(U,.12),U,P)),O=__tsover_sub(1,re(__tsover_mul(U,.05),__tsover_mul(U,.45),P)),L=__tsover_mul(D,__tsover_sub(1,__tsover_mul(O,h))),G=__tsover_add(__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(n,4.3),T)),.08),__tsover_mul(Y(__tsover_add(__tsover_mul(n,9.1),__tsover_mul(T,1.7))),.05)),.95),W=Hl(P,__tsover_mul(U,.78),__tsover_mul(__tsover_mul(U,d),.14),__tsover_mul(U,.1)),K=W.x,Q=W.y,te=W.z,ee=__tsover_mul(__tsover_mul(y,c),G);return f(__tsover_mul(__tsover_add(__tsover_mul(L,g),__tsover_mul(K,d)),ee),__tsover_mul(__tsover_add(__tsover_mul(L,w),__tsover_mul(Q,d)),ee),__tsover_mul(__tsover_add(__tsover_mul(L,S),__tsover_mul(te,d)),ee))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"lightPos"},{type:"i",name:"flareAxis"},{type:"i",name:"t"},{type:"i",name:"ghostSpread"},{type:"i",name:"ghostChroma"},{type:"i",name:"ghostInt"},{type:"i",name:"disc"},{type:"i",name:"tint"}],body:[0,[[13,"offset",[7,"disc","x"]],[13,"size",[7,"disc","y"]],[13,"bright",[7,"disc","z"]],[13,"hollow",[7,"disc","w"]],[13,"r",[7,"tint","x"]],[13,"g",[7,"tint","y"]],[13,"b",[7,"tint","z"]],[13,"gPhase",[7,"tint","w"]],[13,"ghostPos",[6,[7,"lightPos","add"],[[6,[7,"flareAxis","mul"],[[1,[1,"offset","*","ghostSpread"],"*",[5,"2"]]]]]]],[13,"toGhost",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[7,"ghostPos","x"]],"*","aspect"],[1,[7,"uv","y"],"-",[7,"ghostPos","y"]]]]],[13,"dist",[6,"std.length",["toGhost"]]],[13,"sz","size"],[13,"discShape",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"sz","*",[5,"0.12"]],"sz","dist"]]]],[13,"innerFade",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"sz","*",[5,"0.05"]],[1,"sz","*",[5,"0.45"]],"dist"]]]],[13,"shape",[1,"discShape","*",[1,[5,"1"],"-",[1,"innerFade","*","hollow"]]]],[13,"gShimmer",[1,[1,[1,[6,"std.sin",[[1,[1,"t","*",[5,"4.3"]],"+","gPhase"]]],"*",[5,"0.08"]],"+",[1,[6,"std.sin",[[1,[1,"t","*",[5,"9.1"]],"+",[1,"gPhase","*",[5,"1.7"]]]]],"*",[5,"0.05"]]],"+",[5,"0.95"]]],[13,"ringCenter",[1,"sz","*",[5,"0.78"]]],[13,"chromaSpread",[1,[1,"sz","*","ghostChroma"],"*",[5,"0.14"]]],[13,"ringWidth",[1,"sz","*",[5,"0.1"]]],[13,"ring",[6,"lightfields.chromaticRingBand",["dist","ringCenter","chromaSpread","ringWidth"]]],[13,"rRing",[7,"ring","x"]],[13,"gRing",[7,"ring","y"]],[13,"bRing",[7,"ring","z"]],[13,"brightness",[1,[1,"bright","*","ghostInt"],"*","gShimmer"]],[10,[6,"d.vec3f",[[1,[1,[1,"shape","*","r"],"+",[1,"rRing","*","ghostChroma"]],"*","brightness"],[1,[1,[1,"shape","*","g"],"+",[1,"gRing","*","ghostChroma"]],"*","brightness"],[1,[1,[1,"shape","*","b"],"+",[1,"bRing","*","ghostChroma"]],"*","brightness"]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.smoothstep":()=>re,"std.sin":()=>Y,"lightfields.chromaticRingBand":()=>Hl,"d.vec3f":()=>f}})&&e.f)({})),QB=v.fn([l,a,l,a,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=l(__tsover_sub(1,r.x),__tsover_sub(1,r.y)),u=l(__tsover_mul(__tsover_sub(t.x,_.x),s),__tsover_sub(t.y,_.y)),m=Hl(j(u),i,__tsover_mul(__tsover_mul(i,d),.06),__tsover_add(__tsover_mul(c,.12),.005)),p=tt(u.y,u.x),y=__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(p,3),__tsover_mul(o,.5))),.12),.88);return m.mul(n).mul(y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"lightPos"},{type:"i",name:"t"},{type:"i",name:"haloInt"},{type:"i",name:"haloRad"},{type:"i",name:"haloChroma"},{type:"i",name:"haloSoft"}],body:[0,[[13,"antiLight",[6,"d.vec2f",[[1,[5,"1"],"-",[7,"lightPos","x"]],[1,[5,"1"],"-",[7,"lightPos","y"]]]]],[13,"toAntiLight",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[7,"antiLight","x"]],"*","aspect"],[1,[7,"uv","y"],"-",[7,"antiLight","y"]]]]],[13,"antiLightDist",[6,"std.length",["toAntiLight"]]],[13,"haloChromaSpread",[1,[1,"haloRad","*","haloChroma"],"*",[5,"0.06"]]],[13,"haloWidth",[1,[1,"haloSoft","*",[5,"0.12"]],"+",[5,"0.005"]]],[13,"halo",[6,"lightfields.chromaticRingBand",["antiLightDist","haloRad","haloChromaSpread","haloWidth"]]],[13,"haloAngle",[6,"std.atan2",[[7,"toAntiLight","y"],[7,"toAntiLight","x"]]]],[13,"haloAngVar",[1,[1,[6,"std.sin",[[1,[1,"haloAngle","*",[5,"3"]],"+",[1,"t","*",[5,"0.5"]]]]],"*",[5,"0.12"]],"+",[5,"0.88"]]],[10,[6,[7,[6,[7,"halo","mul"],["haloInt"]],"mul"],["haloAngVar"]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"lightfields.chromaticRingBand":()=>Hl,"std.atan2":()=>tt,"std.sin":()=>Y}})&&e.f)({})),JB=v.fn([a,l,a,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=tt(s.y,__tsover_mul(s.x,r)),_=__tsover_add(__tsover_mul(c,.5),__tsover_mul(o,.06)),u=__tsover_add(t,_),m=Sm(u,__tsover_div(i,2),3.5),p=__tsover_mul(Sm(__tsover_add(u,.25),__tsover_div(i,2),7),.4),y=__tsover_div(1,__tsover_add(1,__tsover_mul(__tsover_mul(n,n),60))),h=db(__tsover_add(__tsover_div(u,it),.5));return X(f(1,.97,.92),h,.12).mul(__tsover_mul(__tsover_mul(__tsover_add(m,p),y),d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lightAngle"},{type:"i",name:"flareAxis"},{type:"i",name:"aspect"},{type:"i",name:"t"},{type:"i",name:"lightDist"},{type:"i",name:"starburstPts"},{type:"i",name:"starburstInt"}],body:[0,[[13,"axisAng",[6,"std.atan2",[[7,"flareAxis","y"],[1,[7,"flareAxis","x"],"*","aspect"]]]],[13,"rotation",[1,[1,"axisAng","*",[5,"0.5"]],"+",[1,"t","*",[5,"0.06"]]]],[13,"spikeAngle",[1,"lightAngle","+","rotation"]],[13,"primarySpikes",[6,"lightfields.angularCosineSpikes",["spikeAngle",[1,"starburstPts","/",[5,"2"]],[5,"3.5"]]]],[13,"secondarySpikes",[1,[6,"lightfields.angularCosineSpikes",[[1,"spikeAngle","+",[5,"0.25"]],[1,"starburstPts","/",[5,"2"]],[5,"7"]]],"*",[5,"0.4"]]],[13,"radialFall",[1,[5,"1"],"/",[1,[5,"1"],"+",[1,[1,"lightDist","*","lightDist"],"*",[5,"60"]]]]],[13,"starSpectral",[6,"lensFlareSpectral",[[1,[1,"spikeAngle","/","TAU_FULL"],"+",[5,"0.5"]]]]],[13,"starTint",[6,"std.mix",[[6,"d.vec3f",[[5,"1"],[5,"0.97"],[5,"0.92"]]],"starSpectral",[5,"0.12"]]]],[10,[6,[7,"starTint","mul"],[[1,[1,[1,"primarySpikes","+","secondarySpikes"],"*","radialFall"],"*","starburstInt"]]]]]]},externals:{"std.atan2":()=>tt,"lightfields.angularCosineSpikes":()=>Sm,lensFlareSpectral:()=>db,TAU_FULL:()=>it,"std.mix":()=>X,"d.vec3f":()=>f}})&&e.f)({})),eW=v.fn([l,l,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=z(__tsover_sub(t.y,s.y)),i=z(__tsover_sub(t.x,s.x)),d=ct(__tsover_mul(__tsover_mul(-800,n),n)),c=__tsover_add(__tsover_mul(__tsover_mul(r,r),.25),.001),_=ct(__tsover_div(__tsover_mul(__tsover_mul(-1,i),i),__tsover_mul(c,.7))),u=ct(__tsover_div(__tsover_mul(__tsover_mul(-1,i),i),c)),m=ct(__tsover_div(__tsover_mul(__tsover_mul(-1,i),i),__tsover_mul(c,1.4)));return f(__tsover_mul(__tsover_mul(d,_),.5),__tsover_mul(__tsover_mul(d,u),.65),__tsover_mul(__tsover_mul(d,m),.9)).mul(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"lightPos"},{type:"i",name:"streakLen"},{type:"i",name:"streakInt"}],body:[0,[[13,"dy",[6,"std.abs",[[1,[7,"uv","y"],"-",[7,"lightPos","y"]]]]],[13,"dx",[6,"std.abs",[[1,[7,"uv","x"],"-",[7,"lightPos","x"]]]]],[13,"vertFall",[6,"std.exp",[[1,[1,[4,"-",[5,"800"]],"*","dy"],"*","dy"]]]],[13,"lenSq",[1,[1,[1,"streakLen","*","streakLen"],"*",[5,"0.25"]],"+",[5,"0.001"]]],[13,"rStreak",[6,"std.exp",[[1,[1,[1,[4,"-",[5,"1"]],"*","dx"],"*","dx"],"/",[1,"lenSq","*",[5,"0.7"]]]]]],[13,"gStreak",[6,"std.exp",[[1,[1,[1,[4,"-",[5,"1"]],"*","dx"],"*","dx"],"/","lenSq"]]]],[13,"bStreak",[6,"std.exp",[[1,[1,[1,[4,"-",[5,"1"]],"*","dx"],"*","dx"],"/",[1,"lenSq","*",[5,"1.4"]]]]]],[10,[6,[7,[6,"d.vec3f",[[1,[1,"vertFall","*","rStreak"],"*",[5,"0.5"]],[1,[1,"vertFall","*","gStreak"],"*",[5,"0.65"]],[1,[1,"vertFall","*","bStreak"],"*",[5,"0.9"]]]],"mul"],["streakInt"]]]]]},externals:{"std.abs":()=>z,"std.exp":()=>ct,"d.vec3f":()=>f}})&&e.f)({})),tW=v.fn([a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Qg(t,__tsover_div(1,__tsover_add(__tsover_mul(s,s),.01)));return f(1,.98,.95).mul(__tsover_mul(o,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lightDist"},{type:"i",name:"glareSz"},{type:"i",name:"glareInt"}],body:[0,[[13,"glareSharpness",[1,[5,"1"],"/",[1,[1,"glareSz","*","glareSz"],"+",[5,"0.01"]]]],[13,"glareFalloff",[6,"lightfields.radialGaussianFalloff",["lightDist","glareSharpness"]]],[10,[6,[7,[6,"d.vec3f",[[5,"1"],[5,"0.98"],[5,"0.95"]]],"mul"],[[1,"glareFalloff","*","glareInt"]]]]]]},externals:{"lightfields.radialGaussianFalloff":()=>Qg,"d.vec3f":()=>f}})&&e.f)({})),sW=v.fn([a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=ct(__tsover_mul(__tsover_mul(-500,t),t)),o=__tsover_sub(1,re(0,.025,t));return f(1,.98,.96).mul(__tsover_mul(__tsover_add(r,__tsover_mul(o,1.5)),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lightDist"},{type:"i",name:"intensity"}],body:[0,[[13,"coreSoft",[6,"std.exp",[[1,[1,[4,"-",[5,"500"]],"*","lightDist"],"*","lightDist"]]]],[13,"coreSharp",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],[5,"0.025"],"lightDist"]]]],[10,[6,[7,[6,"d.vec3f",[[5,"1"],[5,"0.98"],[5,"0.96"]]],"mul"],[[1,[1,"coreSoft","+",[1,"coreSharp","*",[5,"1.5"]]],"*","intensity"]]]]]]},externals:{"std.exp":()=>ct,"std.smoothstep":()=>re,"d.vec3f":()=>f}})&&e.f)({})),rW=v.fn([f,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.mul(s);return x(r,$(__tsover_mul(Ll(r),2),0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"flareTotal"},{type:"i",name:"masterFade"}],body:[0,[[13,"finalColor",[6,[7,"flareTotal","mul"],["masterFade"]]],[13,"flareAlpha",[6,"std.clamp",[[1,[6,"tone.luma601Dot",["finalColor"]],"*",[5,"2"]],[5,"0"],[5,"1"]]]],[10,[6,"d.vec4f",["finalColor","flareAlpha"]]]]]},externals:{"std.clamp":()=>$,"tone.luma601Dot":()=>Ll,"d.vec4f":()=>x}})&&e.f)({})),oW=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(o,.03),i=l(Br(t.mul(5).add(l(n,n))),Br(t.mul(5).add(l(31.4,31.4)).add(l(n,n)))).sub(l(.5,.5)),d=l(__tsover_div(1,s.x),__tsover_div(1,s.y));return t.add(i.mul(r).mul(d).mul(8))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"bleed"},{type:"i",name:"time"}],body:[0,[[13,"t",[1,"time","*",[5,"0.03"]]],[13,"wob",[6,[7,[6,"d.vec2f",[[6,"noise.value12",[[6,[7,[6,[7,"uv","mul"],[[5,"5"]]],"add"],[[6,"d.vec2f",["t","t"]]]]]],[6,"noise.value12",[[6,[7,[6,[7,[6,[7,"uv","mul"],[[5,"5"]]],"add"],[[6,"d.vec2f",[[5,"31.4"],[5,"31.4"]]]]],"add"],[[6,"d.vec2f",["t","t"]]]]]]]],"sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"texel",[6,"d.vec2f",[[1,[5,"1"],"/",[7,"viewport","x"]],[1,[5,"1"],"/",[7,"viewport","y"]]]]],[10,[6,[7,"uv","add"],[[6,[7,[6,[7,[6,[7,"wob","mul"],["bleed"]],"mul"],["texel"]],"mul"],[[5,"8"]]]]]]]]},externals:{"d.vec2f":()=>l,"noise.value12":()=>Br}})&&e.f)({})),nW=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return l(__tsover_add(t.x,__tsover_div(r,s.x)),__tsover_add(t.y,__tsover_div(o,s.y)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvBase"},{type:"i",name:"viewport"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"uvBase","x"],"+",[1,"ox","/",[7,"viewport","x"]]],[1,[7,"uvBase","y"],"+",[1,"oy","/",[7,"viewport","y"]]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),aW=v.fn([l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return Br(t.mul(s).mul(.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[10,[6,"noise.value12",[[6,[7,[6,[7,"uv","mul"],["viewport"]],"mul"],[[5,"0.5"]]]]]]]]},externals:{"noise.value12":()=>Br}})&&e.f)({})),iW=v.fn([x,x,x,x,f,f,f,f,a,x,x,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p,y,h)=>{"use gpu";let g=t.mul(_),w=s.mul(_),S=r.mul(_),T=o.mul(_),A=f(g.x,g.y,g.z),P=f(w.x,w.y,w.z),U=f(S.x,S.y,S.z),D=f(T.x,T.y,T.z),O=n.mul(_).sub(A.mul(A)),L=i.mul(_).sub(P.mul(P)),G=d.mul(_).sub(U.mul(U)),W=c.mul(_).sub(D.mul(D)),K=__tsover_add(__tsover_add(O.x,O.y),O.z),Q=__tsover_add(__tsover_add(L.x,L.y),L.z),te=__tsover_add(__tsover_add(G.x,G.y),G.z),ee=__tsover_add(__tsover_add(W.x,W.y),W.z),he=x(g.x,g.y,g.z,g.w),Ee=K;he=C(he,w,Qf,"d.vec4f":()=>x,"std.select":()=>C,"std.min":()=>oe,"blend.unpremultiplyAlpha":()=>dn,"std.mix":()=>X}})&&e.f)({})),cb=Math.sin(.785),_b=Math.cos(.785),lb=Math.sin(-.785),ub=Math.cos(-.785),Xd=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ot(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"noise.hash12",["p"]]]]]},externals:{"noise.hash12":()=>Ot}})&&e.f)({})),Bm=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=ue(t),o=r.mul(r).mul(r.mul(-2).add(3)),n=Xd(s),i=Xd(l(__tsover_add(s.x,1),s.y)),d=Xd(l(s.x,__tsover_add(s.y,1))),c=Xd(l(__tsover_add(s.x,1),__tsover_add(s.y,1)));return X(X(n,i,o.x),X(d,c,o.x),o.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,"std.fract",["p"]]],[13,"u",[6,[7,[6,[7,"f","mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[4,"-",[5,"2"]]]],"add"],[[5,"3"]]]]]],[13,"a",[6,"chalkHash21",["i"]]],[13,"b",[6,"chalkHash21",[[6,"d.vec2f",[[1,[7,"i","x"],"+",[5,"1"]],[7,"i","y"]]]]]],[13,"c",[6,"chalkHash21",[[6,"d.vec2f",[[7,"i","x"],[1,[7,"i","y"],"+",[5,"1"]]]]]]],[13,"dd",[6,"chalkHash21",[[6,"d.vec2f",[[1,[7,"i","x"],"+",[5,"1"]],[1,[7,"i","y"],"+",[5,"1"]]]]]]],[10,[6,"std.mix",[[6,"std.mix",["a","b",[7,"u","x"]]],[6,"std.mix",["c","dd",[7,"u","x"]]],[7,"u","y"]]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,chalkHash21:()=>Xd,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),dW=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return se(f(t.x,t.y,t.z),f(.299,.587,.114))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,"std.dot",[[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),cW=v.fn([l,l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_div(1,s.x),d=__tsover_div(1,s.y);return l(__tsover_add(t.x,__tsover_mul(__tsover_mul(i,r),o)),__tsover_add(t.y,__tsover_mul(__tsover_mul(d,r),n)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"edgeThickness"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[13,"texelX",[1,[5,"1"],"/",[7,"viewport","x"]]],[13,"texelY",[1,[5,"1"],"/",[7,"viewport","y"]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[1,"texelX","*","edgeThickness"],"*","ox"]],[1,[7,"uv","y"],"+",[1,[1,"texelY","*","edgeThickness"],"*","oy"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),el=v.fn([l,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_add(__tsover_mul(t.x,o),__tsover_mul(t.y,n)),c=__tsover_mul(z(__tsover_sub(ue(__tsover_div(d,s)),.5)),2),_=__tsover_sub(1,re(0,.35,c));return __tsover_mul(_,De(i,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"P"},{type:"i",name:"hatchScale"},{type:"i",name:"shade"},{type:"i",name:"sa"},{type:"i",name:"ca"},{type:"i",name:"thr"}],body:[0,[[13,"ry",[1,[1,[7,"P","x"],"*","sa"],"+",[1,[7,"P","y"],"*","ca"]]],[13,"hl",[1,[6,"std.abs",[[1,[6,"std.fract",[[1,"ry","/","hatchScale"]]],"-",[5,"0.5"]]]],"*",[5,"2"]]],[13,"line",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],[5,"0.35"],"hl"]]]],[10,[1,"line","*",[6,"std.step",["thr","shade"]]]]]]},externals:{"std.abs":()=>z,"std.fract":()=>ue,"std.smoothstep":()=>re,"std.step":()=>De}})&&e.f)({})),_W=v.fn([x,x,l,l,x,x,x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=t.x,u=t.y,m=t.z,p=t.w,y=s.x,h=s.y,g=s.z,w=s.w,S=n.x,T=n.y,A=i.x,P=i.y,U=i.z,D=i.w,O=__tsover_add(__tsover_add(__tsover_add(__tsover_sub(__tsover_sub(-_,__tsover_mul(p,2)),h),m),__tsover_mul(y,2)),w),L=__tsover_add(__tsover_add(__tsover_add(__tsover_sub(__tsover_sub(-_,__tsover_mul(u,2)),m),h),__tsover_mul(g,2)),w),G=be(__tsover_add(__tsover_mul(O,O),__tsover_mul(L,L))),W=X(a(1),.08,A),K=re(__tsover_mul(W,.4),W,G),Q=__tsover_sub(1,S),te=r.mul(o),ee=__tsover_mul(b(b(el(te,P,Q,cb,_b,.22),el(te,P,Q,lb,ub,.5)),el(te,P,Q,0,1,.78)),U),he=X(__tsover_sub(1,D),a(1),Bm(te.mul(.5))),Ee=$(__tsover_mul(b(K,ee),he),0,1),Te=__tsover_mul(__tsover_sub(Bm(te.mul(.9)),.5),.04);return x(X(d.xyz.add(Te),c.xyz,f(Ee)),T)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sobelA"},{type:"i",name:"sobelB"},{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"misc"},{type:"i",name:"params"},{type:"i",name:"boardColor"},{type:"i",name:"chalkColor"}],body:[0,[[13,"tl",[7,"sobelA","x"]],[13,"t",[7,"sobelA","y"]],[13,"tr",[7,"sobelA","z"]],[13,"l",[7,"sobelA","w"]],[13,"r",[7,"sobelB","x"]],[13,"bl",[7,"sobelB","y"]],[13,"bo",[7,"sobelB","z"]],[13,"br",[7,"sobelB","w"]],[13,"centerLum",[7,"misc","x"]],[13,"centerAlpha",[7,"misc","y"]],[13,"edgeSensitivity",[7,"params","x"]],[13,"hatchScale",[7,"params","y"]],[13,"shading",[7,"params","z"]],[13,"grain",[7,"params","w"]],[13,"gx",[1,[1,[1,[1,[1,[4,"-","tl"],"-",[1,"l","*",[5,"2"]]],"-","bl"],"+","tr"],"+",[1,"r","*",[5,"2"]]],"+","br"]],[13,"gy",[1,[1,[1,[1,[1,[4,"-","tl"],"-",[1,"t","*",[5,"2"]]],"-","tr"],"+","bl"],"+",[1,"bo","*",[5,"2"]]],"+","br"]],[13,"edgeMag",[6,"std.sqrt",[[1,[1,"gx","*","gx"],"+",[1,"gy","*","gy"]]]]],[13,"edgeHigh",[6,"std.mix",[[6,"d.f32",[[5,"1"]]],[5,"0.08"],"edgeSensitivity"]]],[13,"edge",[6,"std.smoothstep",[[1,"edgeHigh","*",[5,"0.4"]],"edgeHigh","edgeMag"]]],[13,"shade",[1,[5,"1"],"-","centerLum"]],[13,"P",[6,[7,"uv","mul"],["viewport"]]],[13,"hatch",[1,[6,"std.max",[[6,"std.max",[[6,"chalkHatchLine",["P","hatchScale","shade","SIN_045","COS_045",[5,"0.22"]]],[6,"chalkHatchLine",["P","hatchScale","shade","SIN_N45","COS_N45",[5,"0.5"]]]]],[6,"chalkHatchLine",["P","hatchScale","shade",[5,"0"],[5,"1"],[5,"0.78"]]]]],"*","shading"]],[13,"dust",[6,"std.mix",[[1,[5,"1"],"-","grain"],[6,"d.f32",[[5,"1"]]],[6,"chalkVnoise",[[6,[7,"P","mul"],[[5,"0.5"]]]]]]]],[13,"chalkMask",[6,"std.clamp",[[1,[6,"std.max",["edge","hatch"]],"*","dust"],[5,"0"],[5,"1"]]]],[13,"boardGrain",[1,[1,[6,"chalkVnoise",[[6,[7,"P","mul"],[[5,"0.9"]]]]],"-",[5,"0.5"]],"*",[5,"0.04"]]],[13,"boardRGB",[6,[7,[7,"boardColor","xyz"],"add"],["boardGrain"]]],[13,"col",[6,"std.mix",["boardRGB",[7,"chalkColor","xyz"],[6,"d.vec3f",["chalkMask"]]]]],[10,[6,"d.vec4f",["col","centerAlpha"]]]]]},externals:{"std.sqrt":()=>be,"std.mix":()=>X,"d.f32":()=>a,"std.smoothstep":()=>re,"std.max":()=>b,chalkHatchLine:()=>el,SIN_045:()=>cb,COS_045:()=>_b,SIN_N45:()=>lb,COS_N45:()=>ub,chalkVnoise:()=>Bm,"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),mb=1080,Wm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cellCenter:l,cellUV:l,isOutside:a}),"AsciiGrid"),lW=v.fn([l,l,a,a],Wm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_div(s.y,mb),i=__tsover_mul(r,n),d=l(__tsover_div(s.x,i),__tsover_div(s.y,i)),c=l(__tsover_mul(t.x,d.x),__tsover_mul(t.y,d.y)),_=q(c),u=ue(c),m=__tsover_sub(u.x,.5),p=__tsover_sub(u.y,.5),y=l(__tsover_add(__tsover_div(m,o),.5),__tsover_add(__tsover_div(p,o),.5)),h=__tsover_mul(o,.5),g=C(a(0),a(1),z(m)>h||z(p)>h);return Wm({cellCenter:l(__tsover_div(__tsover_add(_.x,.5),d.x),__tsover_div(__tsover_add(_.y,.5),d.y)),cellUV:y,isOutside:g})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cellSize"},{type:"i",name:"spacing"}],body:[0,[[13,"scaleFactor",[1,[7,"viewport","y"],"/","REFERENCE_HEIGHT"]],[13,"effectiveCellSize",[1,"cellSize","*","scaleFactor"]],[13,"mainGridSize",[6,"d.vec2f",[[1,[7,"viewport","x"],"/","effectiveCellSize"],[1,[7,"viewport","y"],"/","effectiveCellSize"]]]],[13,"gridCoords",[6,"d.vec2f",[[1,[7,"uv","x"],"*",[7,"mainGridSize","x"]],[1,[7,"uv","y"],"*",[7,"mainGridSize","y"]]]]],[13,"cellCoords",[6,"std.floor",["gridCoords"]]],[13,"rawCellUV",[6,"std.fract",["gridCoords"]]],[13,"centeredU",[1,[7,"rawCellUV","x"],"-",[5,"0.5"]]],[13,"centeredV",[1,[7,"rawCellUV","y"],"-",[5,"0.5"]]],[13,"cellUV",[6,"d.vec2f",[[1,[1,"centeredU","/","spacing"],"+",[5,"0.5"]],[1,[1,"centeredV","/","spacing"],"+",[5,"0.5"]]]]],[13,"half",[1,"spacing","*",[5,"0.5"]]],[13,"isOutside",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[3,[1,[6,"std.abs",["centeredU"]],">","half"],"||",[1,[6,"std.abs",["centeredV"]],">","half"]]]]],[13,"cellCenter",[6,"d.vec2f",[[1,[1,[7,"cellCoords","x"],"+",[5,"0.5"]],"/",[7,"mainGridSize","x"]],[1,[1,[7,"cellCoords","y"],"+",[5,"0.5"]],"/",[7,"mainGridSize","y"]]]]],[10,[6,"AsciiGrid",[[104,{cellCenter:"cellCenter",cellUV:"cellUV",isOutside:"isOutside"}]]]]]]},externals:{REFERENCE_HEIGHT:()=>mb,"d.vec2f":()=>l,"std.floor":()=>q,"std.fract":()=>ue,"std.select":()=>C,"d.f32":()=>a,"std.abs":()=>z,AsciiGrid:()=>Wm}})&&e.f)({})).$name("asciiGrid"),uW=v.fn([f,a,a,a,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ce(se(t,f(.299,.587,.114)),s),c=__tsover_sub(1,d),_=$(q(__tsover_mul(c,r)),0,__tsover_sub(r,1)),u=__tsover_sub(_,__tsover_mul(o,q(__tsover_div(_,o)))),m=q(__tsover_div(_,o)),p=__tsover_mul(__tsover_div(1,o),n),y=__tsover_mul(u,p),h=__tsover_mul(m,p);return l(__tsover_add(y,__tsover_mul(i.x,p)),__tsover_add(h,__tsover_mul(i.y,p)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellRgb"},{type:"i",name:"gamma"},{type:"i",name:"charCount"},{type:"i",name:"atlasSize"},{type:"i",name:"atlasScale"},{type:"i",name:"cellUV"}],body:[0,[[13,"rawBrightness",[6,"std.dot",["cellRgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"adjustedBrightness",[6,"std.pow",["rawBrightness","gamma"]]],[13,"invertedBrightness",[1,[5,"1"],"-","adjustedBrightness"]],[13,"scaledBrightness",[1,"invertedBrightness","*","charCount"]],[13,"charIndex",[6,"std.clamp",[[6,"std.floor",["scaledBrightness"]],[5,"0"],[1,"charCount","-",[5,"1"]]]]],[13,"atlasCol",[1,"charIndex","-",[1,"atlasSize","*",[6,"std.floor",[[1,"charIndex","/","atlasSize"]]]]]],[13,"atlasRow",[6,"std.floor",[[1,"charIndex","/","atlasSize"]]]],[13,"atlasCellSize",[1,[1,[5,"1"],"/","atlasSize"],"*","atlasScale"]],[13,"baseU",[1,"atlasCol","*","atlasCellSize"]],[13,"baseV",[1,"atlasRow","*","atlasCellSize"]],[10,[6,"d.vec2f",[[1,"baseU","+",[1,[7,"cellUV","x"],"*","atlasCellSize"]],[1,"baseV","+",[1,[7,"cellUV","y"],"*","atlasCellSize"]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.pow":()=>Ce,"std.clamp":()=>$,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})).$name("asciiAtlasUV"),mW=v.fn([f,x,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=se(t,f(.299,.587,.114))<.1,d=s.w,c=d.5),u=i||r>.5||c,m=C(_,a(0),u);return x(__tsover_mul(t.x,s.x),__tsover_mul(t.y,s.y),__tsover_mul(t.z,s.z),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"asciiRgb"},{type:"i",name:"cellColor"},{type:"i",name:"isOutside"},{type:"i",name:"alphaThreshold"},{type:"i",name:"preserveAlpha"}],body:[0,[[13,"charBrightness",[6,"std.dot",["asciiRgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"isBackground",[1,"charBrightness","<",[5,"0.1"]]],[13,"sourceAlpha",[7,"cellColor","w"]],[13,"isBelowThreshold",[1,"sourceAlpha","<","alphaThreshold"]],[13,"outputAlpha",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"sourceAlpha",[1,"preserveAlpha",">",[5,"0.5"]]]]],[13,"hide",[3,[3,"isBackground","||",[1,"isOutside",">",[5,"0.5"]]],"||","isBelowThreshold"]],[13,"finalAlpha",[6,"std.select",["outputAlpha",[6,"d.f32",[[5,"0"]]],"hide"]]],[10,[6,"d.vec4f",[[1,[7,"asciiRgb","x"],"*",[7,"cellColor","x"]],[1,[7,"asciiRgb","y"],"*",[7,"cellColor","y"]],[1,[7,"asciiRgb","z"],"*",[7,"cellColor","z"]],"finalAlpha"]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.select":()=>C,"d.f32":()=>a,"d.vec4f":()=>x}})&&e.f)({})).$name("asciiCompose");var Sz=v.fn([x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return l(__tsover_div(__tsover_sub(s.x,t.x),o),__tsover_div(__tsover_sub(r.x,t.x),o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"surf0"},{type:"i",name:"surfX"},{type:"i",name:"surfY"},{type:"i",name:"eps"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[7,"surfX","x"],"-",[7,"surf0","x"]],"/","eps"],[1,[1,[7,"surfY","x"],"-",[7,"surf0","x"]],"/","eps"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Az=v.fn([x,x,x,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return as(f($(__tsover_div(__tsover_sub(s.w,t.w),o),__tsover_mul(n,-1),n),$(__tsover_div(__tsover_sub(r.w,t.w),o),__tsover_mul(n,-1),n),-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"surf0"},{type:"i",name:"surfX"},{type:"i",name:"surfY"},{type:"i",name:"eps"},{type:"i",name:"gradClamp"}],body:[0,[[13,"ddx",[6,"std.clamp",[[1,[1,[7,"surfX","w"],"-",[7,"surf0","w"]],"/","eps"],[1,"gradClamp","*",[4,"-",[5,"1"]]],"gradClamp"]]],[13,"ddy",[6,"std.clamp",[[1,[1,[7,"surfY","w"],"-",[7,"surf0","w"]],"/","eps"],[1,"gradClamp","*",[4,"-",[5,"1"]]],"gradClamp"]]],[10,[6,"std.normalize",[[6,"d.vec3f",["ddx","ddy",[4,"-",[5,"1"]]]]]]]]]},externals:{"std.clamp":()=>$,"std.normalize":()=>as,"d.vec3f":()=>f}})&&e.f)({})),Mz=v.fn([l,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(j(t),1e-4),o=oe(s,.9995);return f(__tsover_mul(__tsover_div(t.x,r),o),__tsover_mul(__tsover_div(t.y,r),o),__tsover_mul(be(__tsover_sub(1,__tsover_mul(o,o))),-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"grad"},{type:"i",name:"sinTilt"}],body:[0,[[13,"glen",[6,"std.max",[[6,"std.length",["grad"]],[5,"0.0001"]]]],[13,"sB",[6,"std.min",["sinTilt",[5,"0.9995"]]]],[10,[6,"d.vec3f",[[1,[1,[7,"grad","x"],"/","glen"],"*","sB"],[1,[1,[7,"grad","y"],"/","glen"],"*","sB"],[1,[6,"std.sqrt",[[1,[5,"1"],"-",[1,"sB","*","sB"]]]],"*",[4,"-",[5,"1"]]]]]]]]},externals:{"std.max":()=>b,"std.length":()=>j,"std.min":()=>oe,"d.vec3f":()=>f,"std.sqrt":()=>be}})&&e.f)({})),Pz=v.fn([l,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(C(__tsover_sub(t.x,.5),s.y,r>.5),C(__tsover_sub(t.y,.5),s.z,r>.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdfUV"},{type:"i",name:"surf0"},{type:"i",name:"volumetric"}],body:[0,[[10,[6,"d.vec2f",[[6,"std.select",[[1,[7,"sdfUV","x"],"-",[5,"0.5"]],[7,"surf0","y"],[1,"volumetric",">",[5,"0.5"]]]],[6,"std.select",[[1,[7,"sdfUV","y"],"-",[5,"0.5"]],[7,"surf0","z"],[1,"volumetric",">",[5,"0.5"]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.select":()=>C}})&&e.f)({})),Ez=v.fn([a,a],ft)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t>__tsover_mul(s,2)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"pxH"}],body:[0,[[10,[1,"sdf",">",[1,"pxH","*",[5,"2"]]]]]]},externals:{}})&&e.f)({})),pb=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(__tsover_mul(s,.03125),__tsover_mul(r,o));return $(__tsover_div(__tsover_mul(t,-1),n),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"sharpEdge"},{type:"i",name:"pxH"},{type:"i",name:"minPixels"}],body:[0,[[13,"w",[6,"std.max",[[1,"sharpEdge","*",[5,"0.03125"]],[1,"pxH","*","minPixels"]]]],[10,[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","w"],[5,"0"],[5,"1"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$}})&&e.f)({})),kz=v.fn([l,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return as(f(__tsover_mul(__tsover_mul(__tsover_sub(t.x,.5),s),r),__tsover_mul(__tsover_sub(t.y,.5),r),1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"fov"}],body:[0,[[10,[6,"std.normalize",[[6,"d.vec3f",[[1,[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],"*","fov"],[1,[1,[7,"uv","y"],"-",[5,"0.5"]],"*","fov"],[5,"1"]]]]]]]]},externals:{"std.normalize":()=>as,"d.vec3f":()=>f}})&&e.f)({})),Om=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({tangent:f,bitangent:f}),"TangentFrame"),fb=v.fn([f,f],Om)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=as(s.sub(t.mul(se(t,s))));return Om({tangent:r,bitangent:f(__tsover_sub(__tsover_mul(t.y,r.z),__tsover_mul(t.z,r.y)),__tsover_sub(__tsover_mul(t.z,r.x),__tsover_mul(t.x,r.z)),__tsover_sub(__tsover_mul(t.x,r.y),__tsover_mul(t.y,r.x)))})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"normal"},{type:"i",name:"dir"}],body:[0,[[13,"T3",[6,"std.normalize",[[6,[7,"dir","sub"],[[6,[7,"normal","mul"],[[6,"std.dot",["normal","dir"]]]]]]]]],[13,"B3",[6,"d.vec3f",[[1,[1,[7,"normal","y"],"*",[7,"T3","z"]],"-",[1,[7,"normal","z"],"*",[7,"T3","y"]]],[1,[1,[7,"normal","z"],"*",[7,"T3","x"]],"-",[1,[7,"normal","x"],"*",[7,"T3","z"]]],[1,[1,[7,"normal","x"],"*",[7,"T3","y"]],"-",[1,[7,"normal","y"],"*",[7,"T3","x"]]]]]],[10,[6,"TangentFrame",[[104,{tangent:"T3",bitangent:"B3"}]]]]]]},externals:{"std.normalize":()=>as,"std.dot":()=>se,"d.vec3f":()=>f,TangentFrame:()=>Om}})&&e.f)({})),$z=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({normal:f,tangent:f,light:f,view:f,alphaAlong:a,alphaAcross:a}),"WardSpecularInput"),pW=v.fn([$z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=fb(t.normal,t.tangent),r=as(t.light.sub(t.view)),o=se(r,s.tangent),n=se(r,s.bitangent),i=$(z(se(r,t.normal)),1e-4,1),d=b(t.alphaAlong,1e-4),c=b(t.alphaAcross,1e-4),_=__tsover_div(__tsover_add(__tsover_mul(__tsover_div(o,d),__tsover_div(o,d)),__tsover_mul(__tsover_div(n,c),__tsover_div(n,c))),__tsover_mul(__tsover_add(i,1),.5));return ct(__tsover_mul(_,-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"frame",[6,"orthonormalTangentFrame",[[7,"p","normal"],[7,"p","tangent"]]]],[13,"H",[6,"std.normalize",[[6,[7,[7,"p","light"],"sub"],[[7,"p","view"]]]]]],[13,"hT",[6,"std.dot",["H",[7,"frame","tangent"]]]],[13,"hB",[6,"std.dot",["H",[7,"frame","bitangent"]]]],[13,"hN",[6,"std.clamp",[[6,"std.abs",[[6,"std.dot",["H",[7,"p","normal"]]]]],[5,"0.0001"],[5,"1"]]]],[13,"aT",[6,"std.max",[[7,"p","alphaAlong"],[5,"0.0001"]]]],[13,"aB",[6,"std.max",[[7,"p","alphaAcross"],[5,"0.0001"]]]],[13,"expo",[1,[1,[1,[1,"hT","/","aT"],"*",[1,"hT","/","aT"]],"+",[1,[1,"hB","/","aB"],"*",[1,"hB","/","aB"]]],"/",[1,[1,"hN","+",[5,"1"]],"*",[5,"0.5"]]]],[10,[6,"std.exp",[[1,"expo","*",[4,"-",[5,"1"]]]]]]]]},externals:{orthonormalTangentFrame:()=>fb,"std.normalize":()=>as,"std.dot":()=>se,"std.clamp":()=>$,"std.abs":()=>z,"std.max":()=>b,"std.exp":()=>ct}})&&e.f)({})),fW=v.fn([a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return f(__tsover_add(__tsover_mul(H(__tsover_mul(__tsover_add(t,s),ao)),.5),.5),__tsover_add(__tsover_mul(H(__tsover_mul(__tsover_add(t,r),ao)),.5),.5),__tsover_add(__tsover_mul(H(__tsover_mul(__tsover_add(t,o),ao)),.5),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"phaseR"},{type:"i",name:"phaseG"},{type:"i",name:"phaseB"}],body:[0,[[10,[6,"d.vec3f",[[1,[1,[6,"std.cos",[[1,[1,"t","+","phaseR"],"*","TWO_PI"]]],"*",[5,"0.5"]],"+",[5,"0.5"]],[1,[1,[6,"std.cos",[[1,[1,"t","+","phaseG"],"*","TWO_PI"]]],"*",[5,"0.5"]],"+",[5,"0.5"]],[1,[1,[6,"std.cos",[[1,[1,"t","+","phaseB"],"*","TWO_PI"]]],"*",[5,"0.5"]],"+",[5,"0.5"]]]]]]]},externals:{"d.vec3f":()=>f,"std.cos":()=>H,TWO_PI:()=>ao}})&&e.f)({})),Uz=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return re(0,1,pb(t,b(__tsover_mul(s,.5),.001),r,1.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"edgeSoftness"},{type:"i",name:"pxH"}],body:[0,[[13,"sharpEdge",[6,"std.max",[[1,"edgeSoftness","*",[5,"0.5"]],[5,"0.001"]]]],[10,[6,"std.smoothstep",[[5,"0"],[5,"1"],[6,"insideMask",["sdf","sharpEdge","pxH",[5,"1.5"]]]]]]]]},externals:{"std.max":()=>b,"std.smoothstep":()=>re,insideMask:()=>pb}})&&e.f)({})),Vm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({L:f,H:f}),"KeyLight"),Cz=v.fn([a,a,a],Vm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=as(f(t,s,r));return Vm({L:o,H:as(o.add(f(0,0,-1)))})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lx"},{type:"i",name:"ly"},{type:"i",name:"lz"}],body:[0,[[13,"L",[6,"std.normalize",[[6,"d.vec3f",["lx","ly","lz"]]]]],[13,"H",[6,"std.normalize",[[6,[7,"L","add"],[[6,"d.vec3f",[[5,"0"],[5,"0"],[4,"-",[5,"1"]]]]]]]]],[10,[6,"KeyLight",[[104,{L:"L",H:"H"}]]]]]]},externals:{"std.normalize":()=>as,"d.vec3f":()=>f,KeyLight:()=>Vm}})&&e.f)({})),vW=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_sub(1,$(__tsover_mul(t.z,-1),0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"n"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.clamp",[[1,[7,"n","z"],"*",[4,"-",[5,"1"]]],[5,"0"],[5,"1"]]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),Rz=v.fn([a,a,x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_mul(Ce(t,X(r.x,r.y,s)),X(r.z,r.w,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ndh"},{type:"i",name:"sharp"},{type:"i",name:"cfg"}],body:[0,[[10,[1,[6,"std.pow",["ndh",[6,"std.mix",[[7,"cfg","x"],[7,"cfg","y"],"sharp"]]]],"*",[6,"std.mix",[[7,"cfg","z"],[7,"cfg","w"],"sharp"]]]]]]},externals:{"std.pow":()=>Ce,"std.mix":()=>X}})&&e.f)({})),zz=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=a(4),o=la(t);return l($(__tsover_mul(o.y,s),__tsover_mul(r,-1),r),$(__tsover_mul(o.z,s),__tsover_mul(r,-1),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"q"},{type:"i",name:"gain"}],body:[0,[[13,"gMax",[6,"d.f32",[[5,"4"]]]],[13,"nd",[6,"perlin12d",["q"]]],[10,[6,"d.vec2f",[[6,"std.clamp",[[1,[7,"nd","y"],"*","gain"],[1,"gMax","*",[4,"-",[5,"1"]]],"gMax"]],[6,"std.clamp",[[1,[7,"nd","z"],"*","gain"],[1,"gMax","*",[4,"-",[5,"1"]]],"gMax"]]]]]]]},externals:{"d.f32":()=>a,perlin12d:()=>la,"d.vec2f":()=>l,"std.clamp":()=>$}})&&e.f)({})),Gz=v.fn([f,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return as(f(__tsover_add(t.x,s),__tsover_add(t.y,r),t.z))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"n"},{type:"i",name:"dx"},{type:"i",name:"dy"}],body:[0,[[10,[6,"std.normalize",[[6,"d.vec3f",[[1,[7,"n","x"],"+","dx"],[1,[7,"n","y"],"+","dy"],[7,"n","z"]]]]]]]]},externals:{"std.normalize":()=>as,"d.vec3f":()=>f}})&&e.f)({})),Yz=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=$(__tsover_mul(__tsover_mul(t,-1),2),0,1.2);return C(__tsover_mul($(__tsover_mul(t,-1),0,.5),2),r,s>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"volumetric"}],body:[0,[[13,"thickVol",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"*",[5,"2"]],[5,"0"],[5,"1.2"]]]],[13,"thickFlat",[1,[6,"std.clamp",[[1,"sdf","*",[4,"-",[5,"1"]]],[5,"0"],[5,"0.5"]]],"*",[5,"2"]]],[10,[6,"std.select",["thickFlat","thickVol",[1,"volumetric",">",[5,"0.5"]]]]]]]},externals:{"std.clamp":()=>$,"std.select":()=>C}})&&e.f)({})),yW=v.fn([a,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return f(ct(__tsover_mul(__tsover_mul(t,s.x),-1)),ct(__tsover_mul(__tsover_mul(t,s.y),-1)),ct(__tsover_mul(__tsover_mul(t,s.z),-1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"thickness"},{type:"i",name:"absorb"}],body:[0,[[10,[6,"d.vec3f",[[6,"std.exp",[[1,[1,"thickness","*",[7,"absorb","x"]],"*",[4,"-",[5,"1"]]]]],[6,"std.exp",[[1,[1,"thickness","*",[7,"absorb","y"]],"*",[4,"-",[5,"1"]]]]],[6,"std.exp",[[1,[1,"thickness","*",[7,"absorb","z"]],"*",[4,"-",[5,"1"]]]]]]]]]]},externals:{"d.vec3f":()=>f,"std.exp":()=>ct}})&&e.f)({})),Lz=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_mul(Y(__tsover_add(__tsover_add(__tsover_mul(t.x,1.7),__tsover_mul(s,.7)),1.7)),H(__tsover_add(__tsover_add(__tsover_mul(t.y,1.3),__tsover_mul(s,.5)),2.3))),__tsover_mul(H(__tsover_add(__tsover_add(__tsover_mul(t.x,1.4),__tsover_mul(s,.9)),8.7)),Y(__tsover_add(__tsover_add(__tsover_mul(t.y,1.6),__tsover_mul(s,.6)),5.1))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"warpInput"},{type:"i",name:"flowT"}],body:[0,[[13,"wx",[1,[6,"std.sin",[[1,[1,[1,[7,"warpInput","x"],"*",[5,"1.7"]],"+",[1,"flowT","*",[5,"0.7"]]],"+",[5,"1.7"]]]],"*",[6,"std.cos",[[1,[1,[1,[7,"warpInput","y"],"*",[5,"1.3"]],"+",[1,"flowT","*",[5,"0.5"]]],"+",[5,"2.3"]]]]]],[13,"wy",[1,[6,"std.cos",[[1,[1,[1,[7,"warpInput","x"],"*",[5,"1.4"]],"+",[1,"flowT","*",[5,"0.9"]]],"+",[5,"8.7"]]]],"*",[6,"std.sin",[[1,[1,[1,[7,"warpInput","y"],"*",[5,"1.6"]],"+",[1,"flowT","*",[5,"0.6"]]],"+",[5,"5.1"]]]]]],[10,[6,"d.vec2f",["wx","wy"]]]]]},externals:{"std.sin":()=>Y,"std.cos":()=>H,"d.vec2f":()=>l}})&&e.f)({})),Iz=v.fn([a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_sub(__tsover_mul(t,r),__tsover_mul(s,o)),u=__tsover_add(__tsover_mul(t,o),__tsover_mul(s,r)),m=l(_,u),p=re(-.7,.85,u),y=__tsover_mul(__tsover_mul(p,p),c),h=__tsover_mul(n,1);y=__tsover_add(y,__tsover_mul(__tsover_mul(re(h,__tsover_mul(h,.2),j(m.sub(l(__tsover_add(0,i),.55)))),1.7),d));let g=__tsover_mul(n,1.15);y=__tsover_add(y,__tsover_mul(__tsover_mul(re(g,__tsover_mul(g,.2),j(m.sub(l(__tsover_add(-.55,i),.18)))),1.05),d));let w=__tsover_mul(n,1);y=__tsover_add(y,__tsover_mul(__tsover_mul(re(w,__tsover_mul(w,.2),j(m.sub(l(__tsover_add(.55,i),.1)))),1),d));let S=__tsover_mul(n,1.3);y=__tsover_add(y,__tsover_mul(__tsover_mul(re(S,__tsover_mul(S,.2),j(m.sub(l(__tsover_add(.2,i),-.5)))),.7),d));let T=__tsover_mul(n,1.1);return y=__tsover_add(y,__tsover_mul(__tsover_mul(re(T,__tsover_mul(T,.2),j(m.sub(l(__tsover_add(-.35,i),-.25)))),.85),d)),y}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rx"},{type:"i",name:"ry"},{type:"i",name:"envC"},{type:"i",name:"envS"},{type:"i",name:"keyRad"},{type:"i",name:"drift"},{type:"i",name:"envStr"},{type:"i",name:"skyGain"}],body:[0,[[13,"ex",[1,[1,"rx","*","envC"],"-",[1,"ry","*","envS"]]],[13,"ey",[1,[1,"rx","*","envS"],"+",[1,"ry","*","envC"]]],[13,"p",[6,"d.vec2f",["ex","ey"]]],[13,"sky",[6,"std.smoothstep",[[4,"-",[5,"0.7"]],[5,"0.85"],"ey"]]],[12,"lum",[1,[1,"sky","*","sky"],"*","skyGain"]],[13,"r0",[1,"keyRad","*",[5,"1"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r0",[1,"r0","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[5,"0"],"+","drift"],[5,"0.55"]]]]]]]]],"*",[5,"1.7"]],"*","envStr"]]],[13,"r1",[1,"keyRad","*",[5,"1.15"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r1",[1,"r1","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[4,"-",[5,"0.55"]],"+","drift"],[5,"0.18"]]]]]]]]],"*",[5,"1.05"]],"*","envStr"]]],[13,"r2",[1,"keyRad","*",[5,"1"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r2",[1,"r2","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[5,"0.55"],"+","drift"],[5,"0.1"]]]]]]]]],"*",[5,"1"]],"*","envStr"]]],[13,"r3",[1,"keyRad","*",[5,"1.3"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r3",[1,"r3","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[5,"0.2"],"+","drift"],[4,"-",[5,"0.5"]]]]]]]]]],"*",[5,"0.7"]],"*","envStr"]]],[13,"r4",[1,"keyRad","*",[5,"1.1"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r4",[1,"r4","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[4,"-",[5,"0.35"]],"+","drift"],[4,"-",[5,"0.25"]]]]]]]]]],"*",[5,"0.85"]],"*","envStr"]]],[10,"lum"]]]},externals:{"d.vec2f":()=>l,"std.smoothstep":()=>re,"std.length":()=>j}})&&e.f)({})),Dz=new Map,vb=new Set;function v7(e){return Dz.get(e)??null}function y7(e){return vb.add(e),()=>{vb.delete(e)}}var Fz=16,Bz=64;var hW=Fz*Bz;var Wz=Za({accumulateInstances:()=>Kz,formatFloat:()=>o1,gridPlacement:()=>Nz,instanceHueShift:()=>jz,instanceVariation:()=>Hz,linePlacement:()=>Xz,placementField:()=>Vz,radialPlacement:()=>qz,sourceRect:()=>Oz}),pc=Math.PI;function Oz(e,t,s){let{p:r,L:o}=e;return[`let ${r}_cropL = ${s.left};`,`let ${r}_cropR = ${s.right};`,`let ${r}_cropT = ${s.top};`,`let ${r}_cropB = ${s.bottom};`,`let ${r}_srcCx = (${t.cx}) + (${r}_cropL - ${r}_cropR) * (${t.hw});`,`let ${r}_srcCy = (${t.cy}) + (${r}_cropT - ${r}_cropB) * (${t.hh});`,`let ${r}_srcHw = max((${t.hw}) * (1.0 - ${r}_cropL - ${r}_cropR), ${o(1e-6)});`,`let ${r}_srcHh = max((${t.hh}) * (1.0 - ${r}_cropT - ${r}_cropB), ${o(1e-6)});`,`let ${r}_srcHwSq = ${r}_srcHw * ${r}_aspect;`,`let ${r}_srcHhSq = ${r}_srcHh;`]}function Vz(e,t){let{p:s,L:r}=e;return[`let ${s}_fieldCenterSq = vec2f((${t.cx}) * ${s}_aspect, ${t.cy});`,`let ${s}_fieldHwSq = max((${t.hw}) * ${s}_aspect, ${r(1e-6)});`,`let ${s}_fieldHh = max(${t.hh}, ${r(1e-6)});`]}function Nz(e,t){return{requested:()=>`(${e.columns} * ${e.rows})`,body:s=>{let{p:r,L:o}=s,n=[`let ${r}_cols = ${e.columns};`,`let ${r}_rows = ${e.rows};`,`let ${r}_col = ${r}_j - ${r}_cols * floor(${r}_j / ${r}_cols);`,`let ${r}_row = floor(${r}_j / ${r}_cols);`,`let ${r}_gapXSq = ${e.gapX} * ${r}_aspect;`,`let ${r}_gapY = ${e.gapY};`,`let ${r}_fieldW = ${r}_fieldHwSq * 2.0;`,`let ${r}_fieldH = ${r}_fieldHh * 2.0;`,`let ${r}_pitchX = (${r}_fieldW - ${r}_gapXSq * (${r}_cols - 1.0)) / ${r}_cols;`,`let ${r}_pitchY = (${r}_fieldH - ${r}_gapY * (${r}_rows - 1.0)) / ${r}_rows;`,`let ${r}_periodX = ${r}_pitchX + ${r}_gapXSq;`,`let ${r}_periodY = ${r}_pitchY + ${r}_gapY;`,`${r}_cellFitInv = max(${r}_srcHwSq * 2.0 / max(${r}_pitchX, ${o(1e-5)}), ${r}_srcHhSq * 2.0 / max(${r}_pitchY, ${o(1e-5)}));`,`let ${r}_rowMod2 = ${r}_row - 2.0 * floor(${r}_row / 2.0);`,`let ${r}_staggerOff = ${r}_rowMod2 * ${e.stagger} * ${r}_periodX;`,`let ${r}_cxArg = ${r}_col * ${r}_periodX + ${r}_staggerOff + ${r}_phase * ${r}_periodX;`,`let ${r}_cxMod = ${r}_periodX * ${r}_cols;`,`let ${r}_cellX = ${r}_cxArg - ${r}_cxMod * floor(${r}_cxArg / ${r}_cxMod);`,`let ${r}_cyArg = ${r}_row * ${r}_periodY + ${r}_phase * ${r}_periodY;`,`let ${r}_cyMod = ${r}_periodY * ${r}_rows;`,`let ${r}_cellY = ${r}_cyArg - ${r}_cyMod * floor(${r}_cyArg / ${r}_cyMod);`,`${r}_pos = vec2f(${r}_fieldCenterSq.x - ${r}_fieldW * 0.5 + ${r}_pitchX * 0.5 + ${r}_cellX, ${r}_fieldCenterSq.y - ${r}_fieldH * 0.5 + ${r}_pitchY * 0.5 + ${r}_cellY);`];return(t===1||t===3)&&n.push(`${r}_flipX = 1.0 - (${r}_col - 2.0 * floor(${r}_col / 2.0)) * 2.0;`),(t===2||t===3)&&n.push(`${r}_flipY = 1.0 - (${r}_row - 2.0 * floor(${r}_row / 2.0)) * 2.0;`),n}}}function qz(e,t){return{requested:()=>t.count,body:s=>{let{p:r,L:o}=s;return[`let ${r}_cSq = ${e};`,`let ${r}_sweep = ${t.sweep} * ${o(pc/180)};`,`let ${r}_start = ${t.startAngle} * ${o(pc/180)};`,`let ${r}_ang = ${r}_start + ${r}_sweep * (${r}_j / ${r}_totalN) + ${r}_phase * ${r}_sweep;`,`${r}_pos = ${r}_cSq + vec2f(cos(${r}_ang), sin(${r}_ang)) * ${t.radius};`,`${r}_layoutRot = select(0.0, ${r}_ang + ${o(pc/2)}, ${t.faceCenter} > 0.0);`]}}}function Xz(e,t){return{requested:()=>t.count,body:s=>{let{p:r,L:o}=s;return[`let ${r}_cSq = ${e};`,`let ${r}_dirRad = ${t.direction} * ${o(pc/180)};`,`let ${r}_dir = vec2f(cos(${r}_dirRad), sin(${r}_dirRad));`,`let ${r}_tArg = ${r}_j + ${r}_phase;`,`let ${r}_t = ${r}_tArg - ${r}_totalN * floor(${r}_tArg / ${r}_totalN);`,`${r}_pos = ${r}_cSq + ${r}_dir * ${t.spacing} * ${r}_t;`]}}}function Hz(e,t){let{p:s,L:r}=e,o=n=>`fract(sin((${s}_hashBase + ${r(n)}) * 78.233) * 43758.5453)`;return[`let ${s}_hashBase = ${s}_j + ${s}_seed * 7.0;`,`let ${s}_h1 = ${o(.123)};`,`let ${s}_h2 = ${o(5.456)};`,`let ${s}_h3 = ${o(9.789)};`,`let ${s}_h4 = ${o(13.21)};`,`let ${s}_h5 = ${o(17.65)};`,`let ${s}_scale = max(pow(${t.scale}, ${s}_j) * (1.0 + ${t.jitterScale} * (${s}_h3 - 0.5)), ${r(1e-4)});`,`let ${s}_rot = ${s}_layoutRot + ${t.rotation} * ${s}_j + ${t.jitterRotation} * (${s}_h4 - 0.5) * ${r(pc*2)};`,`let ${s}_instOpacity = pow(${t.opacity}, ${s}_j) * (1.0 - ${t.jitterOpacity} * ${s}_h5);`,`${s}_pos = ${s}_pos + vec2f((${s}_h1 - 0.5) * ${s}_fieldHwSq, (${s}_h2 - 0.5) * ${s}_fieldHh) * ${t.jitterPosition};`]}function jz(e,t){let{p:s,L:r}=e;return[`let ${s}_hueAngle = ${t} * ${s}_j;`,`let ${s}_cosH = cos(${s}_hueAngle);`,`let ${s}_sinH = sin(${s}_hueAngle);`,`let ${s}_kOMC = (1.0 - ${s}_cosH) * ${r(1/3)};`,`let ${s}_sOS3 = ${s}_sinH / 1.7320508075688772;`,`let ${s}_mA = ${s}_cosH + ${s}_kOMC;`,`let ${s}_mB = ${s}_kOMC - ${s}_sOS3;`,`let ${s}_mC = ${s}_kOMC + ${s}_sOS3;`,`${s}_rgb = vec3f(${s}_src.r * ${s}_mA + ${s}_src.g * ${s}_mB + ${s}_src.b * ${s}_mC, ${s}_src.r * ${s}_mC + ${s}_src.g * ${s}_mA + ${s}_src.b * ${s}_mB, ${s}_src.r * ${s}_mB + ${s}_src.g * ${s}_mC + ${s}_src.b * ${s}_mA);`]}function Kz(e,t){let{p:s}=e,r=[];r.push(`let ${s}_totalN = min(max(${t.placement.requested()}, 1.0), 64.0);`),r.push(`var ${s}_accum = vec4f(0.0, 0.0, 0.0, 0.0);`),r.push(`var ${s}_cellFitInv = 1.0;`);let o=[];o.push(`let ${s}_fi = f32(${s}_i);`),o.push(t.zBack?`let ${s}_j = ${s}_totalN - 1.0 - ${s}_fi;`:`let ${s}_j = ${s}_fi;`),o.push(`var ${s}_pos = vec2f(0.0, 0.0);`),o.push(`var ${s}_layoutRot = 0.0;`),o.push(`var ${s}_flipX = 1.0;`),o.push(`var ${s}_flipY = 1.0;`),o.push(...t.placement.body(e)),o.push(...t.variation),o.push(`let ${s}_negRot = -${s}_rot;`),o.push(`let ${s}_cosA = cos(${s}_negRot);`),o.push(`let ${s}_sinA = sin(${s}_negRot);`),o.push(`let ${s}_d0 = ${s}_pix - ${s}_pos;`),o.push(`let ${s}_dr = vec2f(${s}_d0.x * ${s}_cosA - ${s}_d0.y * ${s}_sinA, ${s}_d0.x * ${s}_sinA + ${s}_d0.y * ${s}_cosA);`),o.push(`let ${s}_dl = ${s}_dr / ${s}_scale;`),o.push(`let ${s}_localU = ${s}_dl.x * ${s}_flipX * ${s}_cellFitInv / (${s}_srcHwSq * 2.0) + 0.5;`),o.push(`let ${s}_localV = ${s}_dl.y * ${s}_flipY * ${s}_cellFitInv / (${s}_srcHhSq * 2.0) + 0.5;`);let n=[];n.push(`let ${s}_sampleUV = vec2f(${s}_srcCx - ${s}_srcHw + ${s}_localU * ${s}_srcHw * 2.0, ${s}_srcCy - ${s}_srcHh + ${s}_localV * ${s}_srcHh * 2.0);`),n.push(`let ${s}_src = textureSampleLevel(tex.$.${t.texKey}, samp.$.linearClamp, ${s}_sampleUV, 0.0);`),n.push(`var ${s}_rgb = ${s}_src.rgb;`),n.push(...t.hue),n.push(`let ${s}_a = ${s}_src.a * ${s}_instOpacity;`),n.push(`let ${s}_premul = ${s}_rgb * ${s}_a;`),n.push(`${s}_accum = vec4f(${s}_premul + ${s}_accum.rgb * (1.0 - ${s}_a), ${s}_a + ${s}_accum.a * (1.0 - ${s}_a));`),o.push(`if (${s}_localU >= 0.0 && ${s}_localU <= 1.0 && ${s}_localV >= 0.0 && ${s}_localV <= 1.0) {`);for(let i of n)o.push(` ${i}`);o.push("}"),r.push(`for (var ${s}_i = 0u; ${s}_i < u32(${s}_totalN); ${s}_i++) {`);for(let i of o)r.push(` ${i}`);return r.push("}"),r}function _o(){if(typeof window>"u")return!1;let e=!!(window.matchMedia&&window.matchMedia("(pointer: coarse)").matches),t=Math.max(window.innerWidth||0,window.innerHeight||0);return e&&t>0&&t<=1366}function h7(){return _o()?1.5:2}var xW=_o()?24:50;var Zz=14,gW=Zz+1,Hp="rgba32float";var x7=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({dt:a,trackersF:a,agility:a,threshold:a,variance:a,lifespan:a}),"TrackParams"),bW=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({src:{texture:ps(a)},grid:{storageTexture:Mo(Hp,"write-only")},params:{uniform:x7}}),"featureLayout"),wW=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({src:{texture:ps(a)},featGrid:{texture:ps(a),sampleType:"unfilterable-float"},prev:{texture:ps(a),sampleType:"unfilterable-float"},next:{storageTexture:Mo(Hp,"write-only")},present:{storageTexture:Mo(Hp,"write-only")},params:{uniform:x7}}),"trackLayout"),TW=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(__tsover_mul(Y(t),43758.5453123))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"}],body:[0,[[10,[6,"std.fract",[[1,[6,"std.sin",["x"]],"*",[5,"43758.5453123"]]]]]]]},externals:{"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),"trackHash");function Qz(e={}){let t=e.smoothing??.2,s=e.teleportGuard??.25,r=e.minDrag??6e-4,o=e.initialX??.5,n=e.initialY??.5,i=0,d=0,c=!1,_=!1;return{update(u,m){let p=u?.seen===!1;p?c=!0:u?.x!==void 0&&c&&!_&&(_=!0,o=u.x,n=u.y??n);let y=o,h=n,g=p?o:u?.x??o,w=p?n:u?.y??n,S=g-y,T=w-h,A=Math.sqrt(S*S+T*T),P=A>=s;o=g,n=w;let U=P?0:S,D=P?0:T,O=1/Math.max(m,.001),L=U*O,G=D*O;return i=i*(1-t)+L*t,d=d*(1-t)+G*t,{x:g,y:w,prevX:y,prevY:h,dx:U,dy:D,dragDist:A,velX:L,velY:G,smoothVelX:i,smoothVelY:d,smoothSpeed:Math.sqrt(i*i+d*d),teleport:P,moving:!P&&A>r}}}}var yb=3,jp=Math.exp(-(yb*yb)),hb=1/(1-jp),Kp=.004,g7="rgba16float";function Jz(e){return v.bindGroupLayout({readBuf:{storage:pt(a,e),access:"readonly"},writeBuf:{storage:pt(a,e),access:"mutable"},params:{uniform:(globalThis.__TYPEGPU_AUTONAME__??(t=>t))(ut({cursorX:a,cursorY:a,cursorSpeed:a,dt:a,damping:a,radius:a,aspect:a}),"uniform")}})}function eG(e){return v.bindGroupLayout({srcBuf:{storage:pt(a,e),access:"readonly"},dispTex:{storageTexture:Mo(g7,"write-only")}})}var xb=new Map;function tG(e){let t=xb.get(e);if(t)return t;let s=e*e,r=e-1,o=Jz(s),n=eG(s),i={resolution:e,propagateLayout:o,gradientLayout:n,propagateKernel:v.fn([R,R])((d=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(d.f=((c,_)=>{"use gpu";if(c>R(0)&&cR(0)&&_=1),L=C(__tsover_div(__tsover_sub(D,u.cursorY),u.aspect),__tsover_sub(D,u.cursorY),u.aspect>=1),G=__tsover_add(__tsover_mul(O,O),__tsover_mul(L,L)),W=__tsover_mul(u.radius,3);if(G<__tsover_mul(W,W)&&u.cursorSpeed>.01){let K=__tsover_mul(__tsover_sub(ct(__tsover_mul(__tsover_div(G,__tsover_mul(u.radius,u.radius)),-1)),jp),hb);P=__tsover_sub(P,__tsover_mul(__tsover_mul(__tsover_mul(K,u.cursorSpeed),u.dt),3))}o.$.writeBuf[p]=P}}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[11,[3,[3,[3,[1,"cx",">",[6,"d.u32",[[5,"0"]]]],"&&",[1,"cx","<",[6,"d.u32",["gridMax"]]]],"&&",[1,"cy",">",[6,"d.u32",[[5,"0"]]]]],"&&",[1,"cy","<",[6,"d.u32",["gridMax"]]]],[0,[[13,"p",[7,[7,"propagateLayout","$"],"params"]],[13,"gs",[6,"d.u32",["resolution"]]],[13,"idx",[1,[1,"cy","*","gs"],"+","cx"]],[13,"left",[8,[7,[7,"propagateLayout","$"],"readBuf"],[1,"idx","-",[6,"d.u32",[[5,"1"]]]]]],[13,"right",[8,[7,[7,"propagateLayout","$"],"readBuf"],[1,"idx","+",[6,"d.u32",[[5,"1"]]]]]],[13,"up",[8,[7,[7,"propagateLayout","$"],"readBuf"],[1,"idx","-","gs"]]],[13,"down",[8,[7,[7,"propagateLayout","$"],"readBuf"],[1,"idx","+","gs"]]],[13,"avg",[1,[1,[1,[1,"left","+","right"],"+","up"],"+","down"],"*",[5,"0.5"]]],[13,"prev",[8,[7,[7,"propagateLayout","$"],"writeBuf"],"idx"]],[13,"dampFactor",[1,[5,"1"],"-",[1,[7,"p","damping"],"*","DAMPING_SCALE"]]],[12,"next",[1,[1,"avg","-","prev"],"*","dampFactor"]],[13,"cellX",[1,[1,[6,"d.f32",["cx"]],"+",[5,"0.5"]],"/",[6,"d.f32",["resolution"]]]],[13,"cellY",[1,[1,[6,"d.f32",["cy"]],"+",[5,"0.5"]],"/",[6,"d.f32",["resolution"]]]],[13,"ddx",[6,"std.select",[[1,"cellX","-",[7,"p","cursorX"]],[1,[1,"cellX","-",[7,"p","cursorX"]],"*",[7,"p","aspect"]],[1,[7,"p","aspect"],">=",[5,"1"]]]]],[13,"ddy",[6,"std.select",[[1,[1,"cellY","-",[7,"p","cursorY"]],"/",[7,"p","aspect"]],[1,"cellY","-",[7,"p","cursorY"]],[1,[7,"p","aspect"],">=",[5,"1"]]]]],[13,"distSq",[1,[1,"ddx","*","ddx"],"+",[1,"ddy","*","ddy"]]],[13,"influenceRadius",[1,[7,"p","radius"],"*",[5,"3"]]],[11,[3,[1,"distSq","<",[1,"influenceRadius","*","influenceRadius"]],"&&",[1,[7,"p","cursorSpeed"],">",[5,"0.01"]]],[0,[[13,"influence",[1,[1,[6,"std.exp",[[1,[1,"distSq","/",[1,[7,"p","radius"],"*",[7,"p","radius"]]],"*",[4,"-",[5,"1"]]]]],"-","BRUSH_EDGE"],"*","BRUSH_EDGE_GAIN"]],[2,"next","=",[1,"next","-",[1,[1,[1,"influence","*",[7,"p","cursorSpeed"]],"*",[7,"p","dt"]],"*",[5,"3"]]]]]]],[2,[8,[7,[7,"propagateLayout","$"],"writeBuf"],"idx"],"=","next"]]]]]]},externals:{"d.u32":()=>R,gridMax:()=>r,propagateLayout:()=>o,resolution:()=>e,DAMPING_SCALE:()=>Kp,"d.f32":()=>a,"std.select":()=>C,"std.exp":()=>ct,BRUSH_EDGE:()=>jp,BRUSH_EDGE_GAIN:()=>hb}})&&d.f)({})).$name(`waveFieldPropagate_${e}`),gradientKernel:v.fn([R,R])((d=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(d.f=((c,_)=>{"use gpu";if(c>R(0)&&cR(0)&&_",[6,"d.u32",[[5,"0"]]]],"&&",[1,"cx","<",[6,"d.u32",["gridMax"]]]],"&&",[1,"cy",">",[6,"d.u32",[[5,"0"]]]]],"&&",[1,"cy","<",[6,"d.u32",["gridMax"]]]],[0,[[13,"gs",[6,"d.u32",["resolution"]]],[13,"idx",[1,[1,"cy","*","gs"],"+","cx"]],[13,"right",[8,[7,[7,"gradientLayout","$"],"srcBuf"],[1,"idx","+",[6,"d.u32",[[5,"1"]]]]]],[13,"left",[8,[7,[7,"gradientLayout","$"],"srcBuf"],[1,"idx","-",[6,"d.u32",[[5,"1"]]]]]],[13,"down",[8,[7,[7,"gradientLayout","$"],"srcBuf"],[1,"idx","+","gs"]]],[13,"up",[8,[7,[7,"gradientLayout","$"],"srcBuf"],[1,"idx","-","gs"]]],[13,"dx",[1,[1,"right","-","left"],"*",[5,"0.5"]]],[13,"dy",[1,[1,"down","-","up"],"*",[5,"0.5"]]],[6,"std.textureStore",[[7,[7,"gradientLayout","$"],"dispTex"],[6,"d.vec2u",["cx","cy"]],[6,"d.vec4f",["dx","dy",[5,"0"],[5,"1"]]]]]]]]]]},externals:{"d.u32":()=>R,gridMax:()=>r,resolution:()=>e,gradientLayout:()=>n,"std.textureStore":()=>jr,"d.vec2u":()=>Ge,"d.vec4f":()=>x}})&&d.f)({})).$name(`waveFieldGradient_${e}`)};return xb.set(e,i),i}function sG(e,t){let{gpu:s,registerComputeTexture:r,getCpuValue:o,onCleanup:n,onResize:i,dimensions:d}=e,c=s?.root;if(!c)return null;let{resolution:_,dampingProp:u,radiusProp:m,radiusScale:p,speedMax:y,teleportGuard:h="on"}=t,{propagateLayout:g,gradientLayout:w,propagateKernel:S,gradientKernel:T}=tG(_),A=_*_,P=Y3(c,a,A),U=Y3(c,a,A),D=(globalThis.__TYPEGPU_AUTONAME__??(Me=>Me))(c.createTexture({size:[_,_],format:g7}).$usage("storage","sampled"),"dispTex");n(()=>D.destroy());let O=r(D),L=(globalThis.__TYPEGPU_AUTONAME__??(Me=>Me))(c.createUniform(ut({cursorX:a,cursorY:a,cursorSpeed:a,dt:a,damping:a,radius:a,aspect:a})),"propParams"),G=Math.max(1,Math.round(d.width)),W=Math.max(1,Math.round(d.height));i(({width:Me,height:Pe})=>{G=Math.max(1,Math.round(Me)),W=Math.max(1,Math.round(Pe))});let K=[_,_],Q=yz(P,U),te=Q.groups((Me,Pe)=>c.createBindGroup(g,{readBuf:Me,writeBuf:Pe,params:L.buffer})),ee=Q.perSide(Me=>c.createBindGroup(w,{srcBuf:Me,dispTex:D})),he=qp(c,(Me=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(Me.f=((Pe,Re)=>{"use gpu";S(Pe,Re)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[6,"propagateKernel",["cx","cy"]]]]},externals:{propagateKernel:()=>S}})&&Me.f)({}),{size:K}),Ee=qp(c,(Me=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(Me.f=((Pe,Re)=>{"use gpu";T(Pe,Re)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[6,"gradientKernel",["cx","cy"]]]]},externals:{gradientKernel:()=>T}})&&Me.f)({}),{size:K}),Te=Qz(h==="off"?{teleportGuard:Number.POSITIVE_INFINITY}:{}),Ue=Date.now();return{displacement:O,getComputeNodes:Me=>{let Pe=Me,Re=Date.now(),de=Math.min(Pe.deltaTime??0,.016),je=Math.max(1,Pe.dimensions?.width??G)/Math.max(1,Pe.dimensions?.height??W),fe=o(u)??10,Ke=(o(m)??.5)*p,Ze=Te.update(Pe.pointer,de),at=Math.min(Math.sqrt(Ze.velX*Ze.velX+Ze.velY*Ze.velY),y);at>.01&&(Ue=Re);let Fe=1-fe*Kp,Ie=Fe>=1?1/0:Math.min(3e4,Math.log(1e-6)/Math.log(Math.max(Fe,.001))*16.67);if(Re-Ue>Ie)return null;L.write({cursorX:Ze.x,cursorY:Ze.y,cursorSpeed:at,dt:de,damping:fe,radius:Ke,aspect:je});let st=[he.with(te()),Ee.with(ee.written())];return Q.swap(),st}}}function rG(e,t,s={}){let{uniforms:r,propValues:o}=e,n=o.colorSpace??0;return(o.stopCount??0)>1?Tz(t,{colorsArray:r.colorsArray,positionsArray:r.positionsArray,convertedColorsArray:r.convertedColorsArray,stopCount:r.stopCount},n):we(Fv[n]??Bo,"mixColors",[r[s.colorA??"colorA"],r[s.colorB??"colorB"],t])}var SW=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(__tsover_mul(t.x,s),t.y),i=__tsover_mul(r,4);return n.mul(i).add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"scale"},{type:"i",name:"seed"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"freq",[1,"scale","*",[5,"4"]]],[10,[6,[7,[6,[7,"aspectUV","mul"],["freq"]],"add"],["seed"]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),AW=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=la(s),n=l(o.y,o.z).mul(r).mul(.012);return t.add(n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"pos"},{type:"i",name:"distortion"}],body:[0,[[13,"grad",[6,"perlin12d",["pos"]]],[13,"disp",[6,[7,[6,[7,[6,"d.vec2f",[[7,"grad","y"],[7,"grad","z"]]],"mul"],["distortion"]],"mul"],[[5,"0.012"]]]],[10,[6,[7,"uv","add"],["disp"]]]]]},externals:{perlin12d:()=>la,"d.vec2f":()=>l}})&&e.f)({})),MW=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(__tsover_mul(__tsover_sub(t,.5),__tsover_add(s,1)),.5);return $(__tsover_add(1,__tsover_mul(__tsover_sub(o,.5),__tsover_mul(r,1.1))),0,1.6)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"contrast"},{type:"i",name:"intensity"}],body:[0,[[13,"hAdj",[1,[1,[1,"h","-",[5,"0.5"]],"*",[1,"contrast","+",[5,"1"]]],"+",[5,"0.5"]]],[10,[6,"std.clamp",[[1,[5,"1"],"+",[1,[1,"hAdj","-",[5,"0.5"]],"*",[1,"intensity","*",[5,"1.1"]]]],[5,"0"],[5,"1.6"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({}));var PW=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=C(t,__tsover_sub(1,t),o>0),i=b(r,1e-4),d=__tsover_sub(__tsover_mul(s,__tsover_add(1,__tsover_mul(2,i))),i);return re(__tsover_sub(d,i),__tsover_add(d,i),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"},{type:"i",name:"progress"},{type:"i",name:"feather"},{type:"i",name:"invert"}],body:[0,[[13,"c",[6,"std.select",["coord",[1,[5,"1"],"-","coord"],[1,"invert",">",[5,"0"]]]]],[13,"f",[6,"std.max",["feather",[5,"0.0001"]]]],[13,"front",[1,[1,"progress","*",[1,[5,"1"],"+",[1,[5,"2"],"*","f"]]],"-","f"]],[10,[6,"std.smoothstep",[[1,"front","-","f"],[1,"front","+","f"],"c"]]]]]},externals:{"std.select":()=>C,"std.max":()=>b,"std.smoothstep":()=>re}})&&e.f)({})),EW=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.x,t.y,t.z,__tsover_mul(t.w,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"reveal"}],body:[0,[[10,[6,"d.vec4f",[[7,"color","x"],[7,"color","y"],[7,"color","z"],[1,[7,"color","w"],"*","reveal"]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),kW=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r,Le),n=l(H(o),Y(o)),i=se(l(__tsover_mul(__tsover_sub(t.x,.5),s),__tsover_sub(t.y,.5)),n),d=__tsover_mul(.5,__tsover_add(__tsover_mul(s,z(n.x)),z(n.y)));return __tsover_add(__tsover_div(i,__tsover_mul(2,d)),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angleDeg"}],body:[0,[[13,"a",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"dir",[6,"d.vec2f",[[6,"std.cos",["a"]],[6,"std.sin",["a"]]]]],[13,"p",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],[1,[7,"uv","y"],"-",[5,"0.5"]]]]],[13,"grad",[6,"std.dot",["p","dir"]]],[13,"ext",[1,[5,"0.5"],"*",[1,[1,"aspect","*",[6,"std.abs",[[7,"dir","x"]]]],"+",[6,"std.abs",[[7,"dir","y"]]]]]],[10,[1,[1,"grad","/",[1,[5,"2"],"*","ext"]],"+",[5,"0.5"]]]]]},externals:{DEG_TO_RAD:()=>Le,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.abs":()=>z}})&&e.f)({})),$W=v.fn([l,a,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r.x,s),n=__tsover_sub(1,r.y),i=j(l(__tsover_sub(__tsover_mul(t.x,s),o),__tsover_sub(t.y,n))),d=j(l(b(o,__tsover_sub(s,o)),b(n,__tsover_sub(1,n))));return __tsover_div(i,b(d,1e-4))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"}],body:[0,[[13,"cx",[1,[7,"center","x"],"*","aspect"]],[13,"cy",[1,[5,"1"],"-",[7,"center","y"]]],[13,"rel",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"*","aspect"],"-","cx"],[1,[7,"uv","y"],"-","cy"]]]],[13,"dist",[6,"std.length",["rel"]]],[13,"dx",[6,"std.max",["cx",[1,"aspect","-","cx"]]]],[13,"dy",[6,"std.max",["cy",[1,[5,"1"],"-","cy"]]]],[13,"maxDist",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[10,[1,"dist","/",[6,"std.max",["maxDist",[5,"0.0001"]]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.max":()=>b}})&&e.f)({})),UW=v.fn([l,a,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(__tsover_sub(t.x,r.x),s),__tsover_sub(t.y,__tsover_sub(1,r.y))),d=tt(i.y,i.x),c=__tsover_mul(o,Le),_=__tsover_div(__tsover_sub(d,c),ao);_=__tsover_sub(_,q(_));let u=__tsover_sub(1,_),m=__tsover_mul(oe(_,__tsover_sub(1,_)),2),p=C(_,u,n>.5);return p=C(p,m,n>1.5),p}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"},{type:"i",name:"startDeg"},{type:"i",name:"mode"}],body:[0,[[13,"rel",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[7,"center","x"]],"*","aspect"],[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]]]],[13,"ang",[6,"std.atan2",[[7,"rel","y"],[7,"rel","x"]]]],[13,"start",[1,"startDeg","*","DEG_TO_RAD"]],[12,"frac",[1,[1,"ang","-","start"],"/","TWO_PI"]],[2,"frac","=",[1,"frac","-",[6,"std.floor",["frac"]]]],[13,"ccwCoord",[1,[5,"1"],"-","frac"]],[13,"bothCoord",[1,[6,"std.min",["frac",[1,[5,"1"],"-","frac"]]],"*",[5,"2"]]],[12,"coord",[6,"std.select",["frac","ccwCoord",[1,"mode",">",[5,"0.5"]]]]],[2,"coord","=",[6,"std.select",["coord","bothCoord",[1,"mode",">",[5,"1.5"]]]]],[10,"coord"]]]},externals:{"d.vec2f":()=>l,"std.atan2":()=>tt,DEG_TO_RAD:()=>Le,TWO_PI:()=>ao,"std.floor":()=>q,"std.min":()=>oe,"std.select":()=>C}})&&e.f)({})),Nm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cell:l,local:l,grid:l}),"CellGrid"),sd=v.fn([l,a,a],Nm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(1,b(r,.001)),n=b(__tsover_div(o,s),1),i=__tsover_mul(t.x,o),d=__tsover_mul(t.y,n);return Nm({cell:l(q(i),q(d)),local:l(ue(i),ue(d)),grid:l(o,n)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"size"}],body:[0,[[13,"gridX",[1,[5,"1"],"/",[6,"std.max",["size",[5,"0.001"]]]]],[13,"gridY",[6,"std.max",[[1,"gridX","/","aspect"],[5,"1"]]]],[13,"sx",[1,[7,"uv","x"],"*","gridX"]],[13,"sy",[1,[7,"uv","y"],"*","gridY"]],[10,[6,"CellGrid",[[104,{cell:[6,"d.vec2f",[[6,"std.floor",["sx"]],[6,"std.floor",["sy"]]]],local:[6,"d.vec2f",[[6,"std.fract",["sx"]],[6,"std.fract",["sy"]]]],grid:[6,"d.vec2f",["gridX","gridY"]]}]]]]]]},externals:{"std.max":()=>b,CellGrid:()=>Nm,"d.vec2f":()=>l,"std.floor":()=>q,"std.fract":()=>ue}})&&e.f)({})),CW=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(z(__tsover_sub(t,.5)),2)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[1,[6,"std.abs",[[1,"t","-",[5,"0.5"]]]],"*",[5,"2"]]]]]},externals:{"std.abs":()=>z}})&&e.f)({})),RW=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return ue(__tsover_mul(t,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"count"}],body:[0,[[10,[6,"std.fract",[[1,"t","*","count"]]]]]]},externals:{"std.fract":()=>ue}})&&e.f)({})),zW=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(s,1);return $(__tsover_div(__tsover_add(q(__tsover_mul(t,r)),.5),r),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"count"}],body:[0,[[13,"n",[6,"std.max",["count",[5,"1"]]]],[10,[6,"std.clamp",[[1,[1,[6,"std.floor",[[1,"t","*","n"]]],"+",[5,"0.5"]],"/","n"],[5,"0"],[5,"1"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.floor":()=>q}})&&e.f)({})),GW=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=q(__tsover_mul(t,b(s,1)));return Gs(__tsover_add(r,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"count"}],body:[0,[[13,"idx",[6,"std.floor",[[1,"t","*",[6,"std.max",["count",[5,"1"]]]]]]],[10,[6,"hash11",[[1,"idx","+",[5,"0.5"]]]]]]]},externals:{"std.floor":()=>q,"std.max":()=>b,hash11:()=>Gs}})&&e.f)({})),YW=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=sd(t,s,r);return __tsover_add(z(__tsover_sub(o.local.x,.5)),z(__tsover_sub(o.local.y,.5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"size"}],body:[0,[[13,"g",[6,"cellGrid",["uv","aspect","size"]]],[10,[1,[6,"std.abs",[[1,[7,[7,"g","local"],"x"],"-",[5,"0.5"]]]],"+",[6,"std.abs",[[1,[7,[7,"g","local"],"y"],"-",[5,"0.5"]]]]]]]]},externals:{cellGrid:()=>sd,"std.abs":()=>z}})&&e.f)({})),LW=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=sd(t,s,r),n=__tsover_mul(ue(__tsover_mul(__tsover_add(o.cell.x,o.cell.y),.5)),2),i=__tsover_mul(__tsover_add(__tsover_div(o.cell.x,o.grid.x),__tsover_div(o.cell.y,o.grid.y)),.5);return $(__tsover_add(__tsover_mul(.5,n),__tsover_mul(.5,i)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"size"}],body:[0,[[13,"g",[6,"cellGrid",["uv","aspect","size"]]],[13,"parity",[1,[6,"std.fract",[[1,[1,[7,[7,"g","cell"],"x"],"+",[7,[7,"g","cell"],"y"]],"*",[5,"0.5"]]]],"*",[5,"2"]]],[13,"diag",[1,[1,[1,[7,[7,"g","cell"],"x"],"/",[7,[7,"g","grid"],"x"]],"+",[1,[7,[7,"g","cell"],"y"],"/",[7,[7,"g","grid"],"y"]]],"*",[5,"0.5"]]],[10,[6,"std.clamp",[[1,[1,[5,"0.5"],"*","parity"],"+",[1,[5,"0.5"],"*","diag"]],[5,"0"],[5,"1"]]]]]]},externals:{cellGrid:()=>sd,"std.fract":()=>ue,"std.clamp":()=>$}})&&e.f)({})),IW=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return Ot(sd(t,s,r).cell)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"size"}],body:[0,[[10,[6,"hash12",[[7,[6,"cellGrid",["uv","aspect","size"]],"cell"]]]]]]},externals:{hash12:()=>Ot,cellGrid:()=>sd}})&&e.f)({})),DW=v.fn([l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(__tsover_add(__tsover_mul(__tsover_mul(t.x,s),r),__tsover_mul(o,13.7)),__tsover_add(__tsover_mul(t.y,r),__tsover_mul(o,7.9))),i=Ei(n),d=__tsover_mul(Ei(l(__tsover_add(__tsover_add(__tsover_mul(n.x,2),17.3),__tsover_mul(o,3.1)),__tsover_add(__tsover_mul(n.y,2),9.1))),.5),c=__tsover_mul(Ei(l(__tsover_add(__tsover_mul(n.x,4),41.7),__tsover_add(__tsover_add(__tsover_mul(n.y,4),27.9),__tsover_mul(o,5.3)))),.25),_=__tsover_div(__tsover_add(__tsover_add(i,d),c),1.75);return $(__tsover_add(.5,__tsover_mul(_,.9)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"scale"},{type:"i",name:"seed"}],body:[0,[[13,"p",[6,"d.vec2f",[[1,[1,[1,[7,"uv","x"],"*","aspect"],"*","scale"],"+",[1,"seed","*",[5,"13.7"]]],[1,[1,[7,"uv","y"],"*","scale"],"+",[1,"seed","*",[5,"7.9"]]]]]],[13,"n1",[6,"mxNoiseFloat2",["p"]]],[13,"n2",[1,[6,"mxNoiseFloat2",[[6,"d.vec2f",[[1,[1,[1,[7,"p","x"],"*",[5,"2"]],"+",[5,"17.3"]],"+",[1,"seed","*",[5,"3.1"]]],[1,[1,[7,"p","y"],"*",[5,"2"]],"+",[5,"9.1"]]]]]],"*",[5,"0.5"]]],[13,"n3",[1,[6,"mxNoiseFloat2",[[6,"d.vec2f",[[1,[1,[7,"p","x"],"*",[5,"4"]],"+",[5,"41.7"]],[1,[1,[1,[7,"p","y"],"*",[5,"4"]],"+",[5,"27.9"]],"+",[1,"seed","*",[5,"5.3"]]]]]]],"*",[5,"0.25"]]],[13,"n",[1,[1,[1,"n1","+","n2"],"+","n3"],"/",[5,"1.75"]]],[10,[6,"std.clamp",[[1,[5,"0.5"],"+",[1,"n","*",[5,"0.9"]]],[5,"0"],[5,"1"]]]]]]},externals:{"d.vec2f":()=>l,mxNoiseFloat2:()=>Ei,"std.clamp":()=>$}})&&e.f)({})),b7=new Float32Array(1),oG=new Int32Array(b7.buffer);function Ga(e){b7[0]=Math.max(-65504,Math.min(65504,e));let t=oG[0],s=t>>16&32768,r=t>>12&2047,o=t>>23&255;return o<103?s:o>142?(s|=31744,s|=(o===255?0:1)&&t&8388607,s):o<113?(r|=2048,s|=(r>>114-o)+(r>>113-o&1),s):(s|=o-112<<10|r>>1,s+=r&1,s)}var n1=Za({ANALYTIC_SDF_EXTRA_FIELDS:()=>aG,APERTURE_TO_HALFANGLE:()=>nG,SVG_SDF_SIZE:()=>512,ShapeMask:()=>vl,analyticSubPropValues:()=>gu,arcSdf:()=>yu,buildAnalyticSdfFn:()=>Jv,circleSdf:()=>fc,createAnalyticSdfSampler:()=>P7,createSdfDataTexture:()=>Qv,createSvgSdfSampler:()=>A7,createSvgSdfSamplerWithGradients:()=>M7,crescentSdf:()=>pu,crossSdf:()=>_u,driveAnalyticSubProps:()=>k7,ellipseSdf:()=>uu,fillStrokeColor:()=>S7,flowerSdf:()=>iu,heartSdf:()=>vu,loadSdfFromUrl:()=>Zv,parallelogramSdf:()=>xu,parseShapeConfigValue:()=>E7,polygonSdf:()=>au,ringSdf:()=>cu,roundedRectSdf:()=>lu,shapeLocalCoords:()=>w7,starSdf:()=>du,strokeMaskFromSdf:()=>T7,teardropSdf:()=>hu,trapezoidSdf:()=>fu,vesicaSdf:()=>mu}),gb=3.141592653589793,rd=6.283185307179586,bb=.35355339059327373,nu=.017453292519943295,fc=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_sub(be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s))),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"}],body:[0,[[10,[1,[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]],"-","radius"]]]]},externals:{"std.sqrt":()=>be}})&&e.f)({})),au=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s))),i=tt(s,t),d=__tsover_div(rd,o),c=q(__tsover_add(__tsover_div(i,d),.5)),_=__tsover_sub(i,__tsover_mul(c,d));return __tsover_sub(__tsover_mul(n,H(_)),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"sides"}],body:[0,[[13,"len",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[13,"angle",[6,"std.atan2",["dy","dx"]]],[13,"sectorAngle",[1,"TWO_PI","/","sides"]],[13,"sectorIdx",[6,"std.floor",[[1,[1,"angle","/","sectorAngle"],"+",[5,"0.5"]]]]],[13,"canonicalAngle",[1,"angle","-",[1,"sectorIdx","*","sectorAngle"]]],[10,[1,[1,"len","*",[6,"std.cos",["canonicalAngle"]]],"-","radius"]]]]},externals:{"std.sqrt":()=>be,"std.atan2":()=>tt,TWO_PI:()=>rd,"std.floor":()=>q,"std.cos":()=>H}})&&e.f)({})),iu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=tt(s,t),d=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s))),c=__tsover_mul(r,n),_=__tsover_div(__tsover_mul(i,o),rd),u=__tsover_sub(_,q(_)),m=z(__tsover_sub(__tsover_mul(u,2),1)),p=__tsover_add(c,__tsover_mul(__tsover_sub(r,c),m));return __tsover_sub(d,p)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"outerRadius"},{type:"i",name:"sides"},{type:"i",name:"innerRatio"}],body:[0,[[13,"angle",[6,"std.atan2",["dy","dx"]]],[13,"len",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[13,"innerRadius",[1,"outerRadius","*","innerRatio"]],[13,"tAngle",[1,[1,"angle","*","sides"],"/","TWO_PI"]],[13,"tFrac",[1,"tAngle","-",[6,"std.floor",["tAngle"]]]],[13,"t",[6,"std.abs",[[1,[1,"tFrac","*",[5,"2"]],"-",[5,"1"]]]]],[13,"boundaryR",[1,"innerRadius","+",[1,[1,"outerRadius","-","innerRadius"],"*","t"]]],[10,[1,"len","-","boundaryR"]]]]},externals:{"std.atan2":()=>tt,"std.sqrt":()=>be,TWO_PI:()=>rd,"std.floor":()=>q,"std.abs":()=>z}})&&e.f)({})),du=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,n),d=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s))),c=tt(s,t),_=__tsover_div(rd,o),u=q(__tsover_add(__tsover_div(c,_),.5)),m=__tsover_sub(c,__tsover_mul(u,_)),p=z(__tsover_mul(d,Y(m))),y=__tsover_mul(d,H(m)),h=__tsover_div(gb,o),g=Y(h),w=H(h),S=__tsover_mul(i,g),T=__tsover_sub(__tsover_mul(i,w),r),A=p,P=__tsover_sub(y,r),U=__tsover_add(__tsover_mul(A,S),__tsover_mul(P,T)),D=__tsover_add(__tsover_mul(S,S),__tsover_mul(T,T)),O=$(__tsover_div(U,D),0,1),L=__tsover_sub(p,__tsover_mul(S,O)),G=__tsover_sub(y,__tsover_add(r,__tsover_mul(T,O))),W=be(__tsover_add(__tsover_mul(L,L),__tsover_mul(G,G))),K=__tsover_sub(__tsover_mul(S,P),__tsover_mul(T,A));return __tsover_mul(W,ks(K))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"outerRadius"},{type:"i",name:"sides"},{type:"i",name:"innerRatio"}],body:[0,[[13,"innerRadius",[1,"outerRadius","*","innerRatio"]],[13,"len",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[13,"angle",[6,"std.atan2",["dy","dx"]]],[13,"sectorAngle",[1,"TWO_PI","/","sides"]],[13,"sectorIdx",[6,"std.floor",[[1,[1,"angle","/","sectorAngle"],"+",[5,"0.5"]]]]],[13,"bn",[1,"angle","-",[1,"sectorIdx","*","sectorAngle"]]],[13,"fpx",[6,"std.abs",[[1,"len","*",[6,"std.sin",["bn"]]]]]],[13,"fpy",[1,"len","*",[6,"std.cos",["bn"]]]],[13,"an",[1,"PI","/","sides"]],[13,"sinAn",[6,"std.sin",["an"]]],[13,"cosAn",[6,"std.cos",["an"]]],[13,"ex",[1,"innerRadius","*","sinAn"]],[13,"ey",[1,[1,"innerRadius","*","cosAn"],"-","outerRadius"]],[13,"qx","fpx"],[13,"qy",[1,"fpy","-","outerRadius"]],[13,"dotQE",[1,[1,"qx","*","ex"],"+",[1,"qy","*","ey"]]],[13,"dotEE",[1,[1,"ex","*","ex"],"+",[1,"ey","*","ey"]]],[13,"t",[6,"std.clamp",[[1,"dotQE","/","dotEE"],[5,"0"],[5,"1"]]]],[13,"nx",[1,"fpx","-",[1,"ex","*","t"]]],[13,"ny",[1,"fpy","-",[1,"outerRadius","+",[1,"ey","*","t"]]]],[13,"dist",[6,"std.sqrt",[[1,[1,"nx","*","nx"],"+",[1,"ny","*","ny"]]]]],[13,"cross",[1,[1,"ex","*","qy"],"-",[1,"ey","*","qx"]]],[10,[1,"dist","*",[6,"std.sign",["cross"]]]]]]},externals:{"std.sqrt":()=>be,"std.atan2":()=>tt,TWO_PI:()=>rd,"std.floor":()=>q,"std.abs":()=>z,"std.sin":()=>Y,"std.cos":()=>H,PI:()=>gb,"std.clamp":()=>$,"std.sign":()=>ks}})&&e.f)({})),cu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s)));return __tsover_sub(z(__tsover_sub(n,r)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"thickness"}],body:[0,[[13,"len",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[10,[1,[6,"std.abs",[[1,"len","-","radius"]]],"-","thickness"]]]]},externals:{"std.sqrt":()=>be,"std.abs":()=>z}})&&e.f)({})),_u=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=z(t),d=z(s),c=b(__tsover_sub(i,r),__tsover_sub(d,o)),_=b(__tsover_sub(d,r),__tsover_sub(i,o));return __tsover_sub(oe(c,_),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"size"},{type:"i",name:"thickness"},{type:"i",name:"rounding"}],body:[0,[[13,"px",[6,"std.abs",["dx"]]],[13,"py",[6,"std.abs",["dy"]]],[13,"dHoriz",[6,"std.max",[[1,"px","-","size"],[1,"py","-","thickness"]]]],[13,"dVert",[6,"std.max",[[1,"py","-","size"],[1,"px","-","thickness"]]]],[10,[1,[6,"std.min",["dHoriz","dVert"]],"-","rounding"]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),lu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_add(__tsover_sub(z(t),r),n),d=__tsover_add(__tsover_sub(z(s),o),n),c=b(i,0),_=b(d,0),u=be(__tsover_add(__tsover_mul(c,c),__tsover_mul(_,_))),m=oe(b(i,d),0);return __tsover_sub(__tsover_add(u,m),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"width"},{type:"i",name:"height"},{type:"i",name:"rounding"}],body:[0,[[13,"qx",[1,[1,[6,"std.abs",["dx"]],"-","width"],"+","rounding"]],[13,"qy",[1,[1,[6,"std.abs",["dy"]],"-","height"],"+","rounding"]],[13,"mqx",[6,"std.max",["qx",[5,"0"]]]],[13,"mqy",[6,"std.max",["qy",[5,"0"]]]],[13,"outerDist",[6,"std.sqrt",[[1,[1,"mqx","*","mqx"],"+",[1,"mqy","*","mqy"]]]]],[13,"innerDist",[6,"std.min",[[6,"std.max",["qx","qy"]],[5,"0"]]]],[10,[1,[1,"outerDist","+","innerDist"],"-","rounding"]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.sqrt":()=>be,"std.min":()=>oe}})&&e.f)({})),uu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_div(t,r),i=__tsover_div(s,o),d=be(__tsover_add(__tsover_mul(n,n),__tsover_mul(i,i)));return __tsover_mul(__tsover_sub(d,1),oe(r,o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radiusX"},{type:"i",name:"radiusY"}],body:[0,[[13,"nx",[1,"dx","/","radiusX"]],[13,"ny",[1,"dy","/","radiusY"]],[13,"k",[6,"std.sqrt",[[1,[1,"nx","*","nx"],"+",[1,"ny","*","ny"]]]]],[10,[1,[1,"k","-",[5,"1"]],"*",[6,"std.min",["radiusX","radiusY"]]]]]]},externals:{"std.sqrt":()=>be,"std.min":()=>oe}})&&e.f)({})),mu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=z(t),i=z(s),d=__tsover_mul(r,o),c=be(b(__tsover_sub(__tsover_mul(r,r),__tsover_mul(d,d)),0)),_=__tsover_mul(__tsover_sub(i,c),d)>__tsover_mul(n,c),u=be(__tsover_add(__tsover_mul(n,n),__tsover_mul(__tsover_sub(i,c),__tsover_sub(i,c))));return C(__tsover_sub(be(__tsover_add(__tsover_mul(__tsover_add(n,d),__tsover_add(n,d)),__tsover_mul(i,i))),r),u,_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"spread"}],body:[0,[[13,"px",[6,"std.abs",["dx"]]],[13,"py",[6,"std.abs",["dy"]]],[13,"dd",[1,"radius","*","spread"]],[13,"b",[6,"std.sqrt",[[6,"std.max",[[1,[1,"radius","*","radius"],"-",[1,"dd","*","dd"]],[5,"0"]]]]]],[13,"cond",[1,[1,[1,"py","-","b"],"*","dd"],">",[1,"px","*","b"]]],[13,"dist1",[6,"std.sqrt",[[1,[1,"px","*","px"],"+",[1,[1,"py","-","b"],"*",[1,"py","-","b"]]]]]],[13,"dist2",[1,[6,"std.sqrt",[[1,[1,[1,"px","+","dd"],"*",[1,"px","+","dd"]],"+",[1,"py","*","py"]]]],"-","radius"]],[10,[6,"std.select",["dist2","dist1","cond"]]]]]},externals:{"std.abs":()=>z,"std.sqrt":()=>be,"std.max":()=>b,"std.select":()=>C}})&&e.f)({})),pu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=z(s),d=r,c=__tsover_mul(r,o),_=n,u=__tsover_div(__tsover_add(__tsover_sub(__tsover_mul(d,d),__tsover_mul(c,c)),__tsover_mul(_,_)),b(__tsover_mul(_,2),.001)),m=be(b(__tsover_sub(__tsover_mul(d,d),__tsover_mul(u,u)),0)),p=__tsover_mul(_,__tsover_sub(__tsover_mul(t,m),__tsover_mul(i,u))),y=__tsover_mul(__tsover_mul(_,_),b(__tsover_sub(m,i),0)),h=__tsover_sub(t,u),g=__tsover_sub(i,m),w=be(__tsover_add(__tsover_mul(h,h),__tsover_mul(g,g))),S=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(i,i))),T=__tsover_sub(t,_),A=be(__tsover_add(__tsover_mul(T,T),__tsover_mul(i,i)));return C(b(__tsover_sub(S,d),__tsover_mul(__tsover_sub(A,c),-1)),w,p>y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"outerRadius"},{type:"i",name:"innerRatio"},{type:"i",name:"offset"}],body:[0,[[13,"py",[6,"std.abs",["dy"]]],[13,"ra","outerRadius"],[13,"rb",[1,"outerRadius","*","innerRatio"]],[13,"off","offset"],[13,"a",[1,[1,[1,[1,"ra","*","ra"],"-",[1,"rb","*","rb"]],"+",[1,"off","*","off"]],"/",[6,"std.max",[[1,"off","*",[5,"2"]],[5,"0.001"]]]]],[13,"bSq",[6,"std.max",[[1,[1,"ra","*","ra"],"-",[1,"a","*","a"]],[5,"0"]]]],[13,"b",[6,"std.sqrt",["bSq"]]],[13,"lhs",[1,"off","*",[1,[1,"dx","*","b"],"-",[1,"py","*","a"]]]],[13,"rhs",[1,[1,"off","*","off"],"*",[6,"std.max",[[1,"b","-","py"],[5,"0"]]]]],[13,"d1x",[1,"dx","-","a"]],[13,"d1y",[1,"py","-","b"]],[13,"dist1",[6,"std.sqrt",[[1,[1,"d1x","*","d1x"],"+",[1,"d1y","*","d1y"]]]]],[13,"lenP",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"py","*","py"]]]]],[13,"innerX",[1,"dx","-","off"]],[13,"lenInner",[6,"std.sqrt",[[1,[1,"innerX","*","innerX"],"+",[1,"py","*","py"]]]]],[13,"dist2",[6,"std.max",[[1,"lenP","-","ra"],[1,[1,"lenInner","-","rb"],"*",[4,"-",[5,"1"]]]]]],[10,[6,"std.select",["dist2","dist1",[1,"lhs",">","rhs"]]]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.sqrt":()=>be,"std.select":()=>C}})&&e.f)({})),fu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=z(t),d=o,c=n,_=__tsover_sub(o,r),u=__tsover_mul(n,2),m=C(o,r,s<0),p=__tsover_sub(i,oe(i,m)),y=__tsover_sub(z(s),n),h=__tsover_sub(d,i),g=__tsover_sub(c,s),w=__tsover_add(__tsover_mul(h,_),__tsover_mul(g,u)),S=b(__tsover_add(__tsover_mul(_,_),__tsover_mul(u,u)),1e-4),T=$(__tsover_div(w,S),0,1),A=__tsover_add(__tsover_sub(i,d),__tsover_mul(_,T)),P=__tsover_add(__tsover_sub(s,c),__tsover_mul(u,T)),U=C(a(1),a(-1),y<0),D=C(a(1),U,A<0),O=__tsover_add(__tsover_mul(p,p),__tsover_mul(y,y)),L=__tsover_add(__tsover_mul(A,A),__tsover_mul(P,P));return __tsover_mul(D,be(oe(O,L)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"r1"},{type:"i",name:"r2"},{type:"i",name:"he"}],body:[0,[[13,"px",[6,"std.abs",["dx"]]],[13,"k1x","r2"],[13,"k1y","he"],[13,"k2x",[1,"r2","-","r1"]],[13,"k2y",[1,"he","*",[5,"2"]]],[13,"clampWidth",[6,"std.select",["r2","r1",[1,"dy","<",[5,"0"]]]]],[13,"cax",[1,"px","-",[6,"std.min",["px","clampWidth"]]]],[13,"cay",[1,[6,"std.abs",["dy"]],"-","he"]],[13,"diffX",[1,"k1x","-","px"]],[13,"diffY",[1,"k1y","-","dy"]],[13,"dotNum",[1,[1,"diffX","*","k2x"],"+",[1,"diffY","*","k2y"]]],[13,"dotDen",[6,"std.max",[[1,[1,"k2x","*","k2x"],"+",[1,"k2y","*","k2y"]],[5,"0.0001"]]]],[13,"t",[6,"std.clamp",[[1,"dotNum","/","dotDen"],[5,"0"],[5,"1"]]]],[13,"cbx",[1,[1,"px","-","k1x"],"+",[1,"k2x","*","t"]]],[13,"cby",[1,[1,"dy","-","k1y"],"+",[1,"k2y","*","t"]]],[13,"sInner",[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"d.f32",[[4,"-",[5,"1"]]]],[1,"cay","<",[5,"0"]]]]],[13,"s",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"sInner",[1,"cbx","<",[5,"0"]]]]],[13,"dca",[1,[1,"cax","*","cax"],"+",[1,"cay","*","cay"]]],[13,"dcb",[1,[1,"cbx","*","cbx"],"+",[1,"cby","*","cby"]]],[10,[1,"s","*",[6,"std.sqrt",[[6,"std.min",["dca","dcb"]]]]]]]]},externals:{"std.abs":()=>z,"std.select":()=>C,"std.min":()=>oe,"std.max":()=>b,"std.clamp":()=>$,"d.f32":()=>a,"std.sqrt":()=>be}})&&e.f)({})),vu=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(r,.75),n=__tsover_div(z(t),o),i=__tsover_add(__tsover_div(__tsover_mul(s,-1),o),.6),d=__tsover_sub(n,.25),c=__tsover_sub(i,.75),_=__tsover_sub(be(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c))),bb),u=__tsover_sub(i,1),m=__tsover_add(__tsover_mul(n,n),__tsover_mul(u,u)),p=__tsover_mul(b(__tsover_add(n,i),0),.5),y=__tsover_sub(n,p),h=__tsover_sub(i,p),g=__tsover_add(__tsover_mul(y,y),__tsover_mul(h,h)),w=__tsover_mul(be(oe(m,g)),ks(__tsover_sub(n,i)));return __tsover_mul(C(w,_,__tsover_add(n,i)>1),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"}],body:[0,[[13,"S",[1,"radius","/",[5,"0.75"]]],[13,"px",[1,[6,"std.abs",["dx"]],"/","S"]],[13,"py",[1,[1,[1,"dy","*",[4,"-",[5,"1"]]],"/","S"],"+",[5,"0.6"]]],[13,"ax",[1,"px","-",[5,"0.25"]]],[13,"ay",[1,"py","-",[5,"0.75"]]],[13,"distA",[1,[6,"std.sqrt",[[1,[1,"ax","*","ax"],"+",[1,"ay","*","ay"]]]],"-","SQRT2_OVER_4"]],[13,"b1y",[1,"py","-",[5,"1"]]],[13,"dot1",[1,[1,"px","*","px"],"+",[1,"b1y","*","b1y"]]],[13,"m",[1,[6,"std.max",[[1,"px","+","py"],[5,"0"]]],"*",[5,"0.5"]]],[13,"b2x",[1,"px","-","m"]],[13,"b2y",[1,"py","-","m"]],[13,"dot2v",[1,[1,"b2x","*","b2x"],"+",[1,"b2y","*","b2y"]]],[13,"distB",[1,[6,"std.sqrt",[[6,"std.min",["dot1","dot2v"]]]],"*",[6,"std.sign",[[1,"px","-","py"]]]]],[10,[1,[6,"std.select",["distB","distA",[1,[1,"px","+","py"],">",[5,"1"]]]],"*","S"]]]]},externals:{"std.abs":()=>z,"std.sqrt":()=>be,SQRT2_OVER_4:()=>bb,"std.max":()=>b,"std.min":()=>oe,"std.sign":()=>ks,"std.select":()=>C}})&&e.f)({})),yu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=z(t),i=Y(o),d=H(o),c=__tsover_sub(be(__tsover_add(__tsover_mul(n,n),__tsover_mul(s,s))),r),_=$(__tsover_add(__tsover_mul(n,i),__tsover_mul(s,d)),0,r),u=__tsover_sub(n,__tsover_mul(i,_)),m=__tsover_sub(s,__tsover_mul(d,_)),p=be(__tsover_add(__tsover_mul(u,u),__tsover_mul(m,m)));return b(c,__tsover_mul(p,ks(__tsover_sub(__tsover_mul(d,n),__tsover_mul(i,s)))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"halfAngle"}],body:[0,[[13,"px",[6,"std.abs",["dx"]]],[13,"cx",[6,"std.sin",["halfAngle"]]],[13,"cy",[6,"std.cos",["halfAngle"]]],[13,"l",[1,[6,"std.sqrt",[[1,[1,"px","*","px"],"+",[1,"dy","*","dy"]]]],"-","radius"]],[13,"clamped",[6,"std.clamp",[[1,[1,"px","*","cx"],"+",[1,"dy","*","cy"]],[5,"0"],"radius"]]],[13,"mx",[1,"px","-",[1,"cx","*","clamped"]]],[13,"my",[1,"dy","-",[1,"cy","*","clamped"]]],[13,"m",[6,"std.sqrt",[[1,[1,"mx","*","mx"],"+",[1,"my","*","my"]]]]],[10,[6,"std.max",["l",[1,"m","*",[6,"std.sign",[[1,[1,"cy","*","px"],"-",[1,"cx","*","dy"]]]]]]]]]]},externals:{"std.abs":()=>z,"std.sin":()=>Y,"std.cos":()=>H,"std.sqrt":()=>be,"std.clamp":()=>$,"std.max":()=>b,"std.sign":()=>ks}})&&e.f)({})),hu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(__tsover_sub(o,r),.5),i=z(t),d=__tsover_add(__tsover_mul(s,-1),n),c=b(o,1e-4),_=__tsover_div(r,c),u=be(b(__tsover_sub(1,__tsover_mul(_,_)),0)),m=__tsover_add(__tsover_mul(i,__tsover_mul(_,-1)),__tsover_mul(d,u)),p=__tsover_sub(be(__tsover_add(__tsover_mul(i,i),__tsover_mul(d,d))),r),y=__tsover_sub(d,o),h=be(__tsover_add(__tsover_mul(i,i),__tsover_mul(y,y)));return C(C(__tsover_sub(__tsover_add(__tsover_mul(i,u),__tsover_mul(d,_)),r),h,m>__tsover_mul(u,o)),p,m<0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"h"}],body:[0,[[13,"mid",[1,[1,"h","-","radius"],"*",[5,"0.5"]]],[13,"qx",[6,"std.abs",["dx"]]],[13,"qy",[1,[1,"dy","*",[4,"-",[5,"1"]]],"+","mid"]],[13,"hSafe",[6,"std.max",["h",[5,"0.0001"]]]],[13,"b",[1,"radius","/","hSafe"]],[13,"a",[6,"std.sqrt",[[6,"std.max",[[1,[5,"1"],"-",[1,"b","*","b"]],[5,"0"]]]]]],[13,"k",[1,[1,"qx","*",[1,"b","*",[4,"-",[5,"1"]]]],"+",[1,"qy","*","a"]]],[13,"cap0",[1,[6,"std.sqrt",[[1,[1,"qx","*","qx"],"+",[1,"qy","*","qy"]]]],"-","radius"]],[13,"qyTip",[1,"qy","-","h"]],[13,"cap1",[6,"std.sqrt",[[1,[1,"qx","*","qx"],"+",[1,"qyTip","*","qyTip"]]]]],[13,"body",[1,[1,[1,"qx","*","a"],"+",[1,"qy","*","b"]],"-","radius"]],[10,[6,"std.select",[[6,"std.select",["body","cap1",[1,"k",">",[1,"a","*","h"]]]],"cap0",[1,"k","<",[5,"0"]]]]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.sqrt":()=>be,"std.select":()=>C}})&&e.f)({})),xu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=n,d=o,c=s<0,_=C(t,__tsover_mul(t,-1),c),u=C(s,__tsover_mul(s,-1),c),m=__tsover_sub(_,i),p=__tsover_sub(u,d),y=__tsover_sub(m,$(m,__tsover_mul(r,-1),r)),h=__tsover_add(__tsover_mul(y,y),__tsover_mul(p,p)),g=__tsover_mul(p,-1),w=__tsover_sub(__tsover_mul(_,d),__tsover_mul(u,i)),S=w<0,T=C(_,__tsover_mul(_,-1),S),A=C(u,__tsover_mul(u,-1),S),P=__tsover_sub(T,r),U=__tsover_add(__tsover_mul(P,i),__tsover_mul(A,d)),D=b(__tsover_add(__tsover_mul(i,i),__tsover_mul(d,d)),1e-4),O=$(__tsover_div(U,D),-1,1),L=__tsover_sub(P,__tsover_mul(i,O)),G=__tsover_sub(A,__tsover_mul(d,O)),W=oe(h,__tsover_add(__tsover_mul(L,L),__tsover_mul(G,G))),K=oe(g,__tsover_sub(__tsover_mul(r,o),z(w)));return __tsover_mul(be(W),ks(__tsover_mul(K,-1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"wi"},{type:"i",name:"he"},{type:"i",name:"sk"}],body:[0,[[13,"ex","sk"],[13,"ey","he"],[13,"flip1",[1,"dy","<",[5,"0"]]],[13,"px0",[6,"std.select",["dx",[1,"dx","*",[4,"-",[5,"1"]]],"flip1"]]],[13,"py0",[6,"std.select",["dy",[1,"dy","*",[4,"-",[5,"1"]]],"flip1"]]],[13,"wx0",[1,"px0","-","ex"]],[13,"wy",[1,"py0","-","ey"]],[13,"wx",[1,"wx0","-",[6,"std.clamp",["wx0",[1,"wi","*",[4,"-",[5,"1"]]],"wi"]]]],[13,"dX",[1,[1,"wx","*","wx"],"+",[1,"wy","*","wy"]]],[13,"dY",[1,"wy","*",[4,"-",[5,"1"]]]],[13,"s",[1,[1,"px0","*","ey"],"-",[1,"py0","*","ex"]]],[13,"flip2",[1,"s","<",[5,"0"]]],[13,"px",[6,"std.select",["px0",[1,"px0","*",[4,"-",[5,"1"]]],"flip2"]]],[13,"py",[6,"std.select",["py0",[1,"py0","*",[4,"-",[5,"1"]]],"flip2"]]],[13,"vx0",[1,"px","-","wi"]],[13,"dotve",[1,[1,"vx0","*","ex"],"+",[1,"py","*","ey"]]],[13,"dotee",[6,"std.max",[[1,[1,"ex","*","ex"],"+",[1,"ey","*","ey"]],[5,"0.0001"]]]],[13,"tt",[6,"std.clamp",[[1,"dotve","/","dotee"],[4,"-",[5,"1"]],[5,"1"]]]],[13,"vx",[1,"vx0","-",[1,"ex","*","tt"]]],[13,"vy",[1,"py","-",[1,"ey","*","tt"]]],[13,"finalX",[6,"std.min",["dX",[1,[1,"vx","*","vx"],"+",[1,"vy","*","vy"]]]]],[13,"finalY",[6,"std.min",["dY",[1,[1,"wi","*","he"],"-",[6,"std.abs",["s"]]]]]],[10,[1,[6,"std.sqrt",["finalX"]],"*",[6,"std.sign",[[1,"finalY","*",[4,"-",[5,"1"]]]]]]]]]},externals:{"std.select":()=>C,"std.clamp":()=>$,"std.max":()=>b,"std.min":()=>oe,"std.abs":()=>z,"std.sqrt":()=>be,"std.sign":()=>ks}})&&e.f)({})),w7=v.fn([l,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(__tsover_mul(r.x,o),r.y),i=l(__tsover_mul(t.x,o),__tsover_sub(1,t.y)),d=__tsover_sub(n.x,i.x),c=__tsover_sub(n.y,i.y),_=__tsover_mul(s,nu),u=H(_),m=Y(_);return l(__tsover_add(__tsover_mul(d,u),__tsover_mul(c,m)),__tsover_sub(__tsover_mul(c,u),__tsover_mul(d,m)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"rotation"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dx",[1,[7,"aspectUV","x"],"-",[7,"centerPos","x"]]],[13,"dy",[1,[7,"aspectUV","y"],"-",[7,"centerPos","y"]]],[13,"rotRad",[1,"rotation","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rdx",[1,[1,"dx","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dx","*","sinR"]]],[10,[6,"d.vec2f",["rdx","rdy"]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>nu,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),vl=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({overallMask:a,strokeBlend:a}),"ShapeMask"),T7=v.fn([a,a,a,a],vl)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=r>0,i=o>=1.5,d=o>=.5,c=__tsover_mul(r,.5),_=__tsover_mul(r,-1),u=__tsover_mul(c,-1),m=C(C(a(0),u,d),_,i),p=C(C(r,c,d),a(0),i),y=__tsover_sub(1,re(__tsover_sub(p,s),p,t)),h=re(__tsover_sub(m,s),m,t);return vl({overallMask:y,strokeBlend:C(a(0),h,n)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"softness"},{type:"i",name:"strokeThickness"},{type:"i",name:"strokePosition"}],body:[0,[[13,"hasStroke",[1,"strokeThickness",">",[5,"0"]]],[13,"isInside",[1,"strokePosition",">=",[5,"1.5"]]],[13,"isCenterOrAbove",[1,"strokePosition",">=",[5,"0.5"]]],[13,"halfThickness",[1,"strokeThickness","*",[5,"0.5"]]],[13,"negThickness",[1,"strokeThickness","*",[4,"-",[5,"1"]]]],[13,"negHalf",[1,"halfThickness","*",[4,"-",[5,"1"]]]],[13,"strokeInner",[6,"std.select",[[6,"std.select",[[6,"d.f32",[[5,"0"]]],"negHalf","isCenterOrAbove"]],"negThickness","isInside"]]],[13,"strokeOuter",[6,"std.select",[[6,"std.select",["strokeThickness","halfThickness","isCenterOrAbove"]],[6,"d.f32",[[5,"0"]]],"isInside"]]],[13,"overallMask",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"strokeOuter","-","softness"],"strokeOuter","dist"]]]],[13,"blend",[6,"std.smoothstep",[[1,"strokeInner","-","softness"],"strokeInner","dist"]]],[13,"strokeBlend",[6,"std.select",[[6,"d.f32",[[5,"0"]]],"blend","hasStroke"]]],[10,[6,"ShapeMask",[[104,{overallMask:"overallMask",strokeBlend:"strokeBlend"}]]]]]]},externals:{"std.select":()=>C,"d.f32":()=>a,"std.smoothstep":()=>re,ShapeMask:()=>vl}})&&e.f)({}));function S7(e,t,s,r){let o=we(Fv[r]??Bo,"mixColors",[t,s,e.member("strokeBlend")]);return Ws(o.member("rgb"),o.member("a").mul(e.member("overallMask")))}async function Zv(e,t){let s=await fetch(e,{mode:"cors"});if(!s.ok)throw new Error(`SDF fetch failed: HTTP ${s.status}`);let r=await s.arrayBuffer(),o=512*512;if(r.byteLength===o*2){let n=new Uint16Array(r),i=Math.min(n.length,t.length);for(let d=0;di.destroy());let d=!1,c=0;return t&&Zv(t,r).then(()=>{for(let _=0;_<262144;_++)o[_]=Ga(r[_]);d=!0}).catch(_=>Ma("[SDF] Failed to load SDF texture:",_)),e.onBeforeRender(()=>{d&&(d=!1,i.write(o),c++)}),{kitTexture:e.registerMediaTexture(()=>i.texture),texture:i,getVersion:()=>c}}function A7(e,t){let{kitTexture:s}=Qv(e,t);return r=>s.sampleLevel(r)}function M7(e,t){let o=new Float32Array(262144).fill(.5),n=new Uint16Array(262144*4),i=Ga(.5),d=Ga(1);for(let g=0;g<262144;g++)n[g*4]=i,n[g*4+3]=d;let c=e.createMediaTexture({width:512,height:512,format:"rgba16float",label:"svg-sdf-grad"});e.onCleanup(()=>c.destroy());let _=(g,w)=>{let S=Math.floor(g),T=Math.floor(w),A=g-S,P=w-T,U=W=>Math.min(Math.max(W,0),511),D=U(S),O=U(S+1),L=U(T),G=U(T+1);return o[L*512+D]*(1-A)*(1-P)+o[L*512+O]*A*(1-P)+o[G*512+D]*(1-A)*P+o[G*512+O]*A*P},u=.01,m=u*512,p=()=>{for(let g=0;g<512;g++)for(let w=0;w<512;w++){let S=g*512+w,T=o[S],A=(_(w+m,g)-T)/u,P=(_(w,g+m)-T)/u;n[S*4]=Ga(T),n[S*4+1]=Ga(A),n[S*4+2]=Ga(P)}},y=!1;t&&Zv(t,o).then(()=>{p(),y=!0}).catch(g=>Ma("[SDF] Failed to load SDF texture:",g)),e.onBeforeRender(()=>{y&&(y=!1,c.write(n))});let h=e.registerMediaTexture(()=>c.texture);return g=>h.sampleLevel(g)}var nG=.008726646259971648;function Jv(e){return v.fn([l,a,a,a,a,a,a,a,a],x)((t=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(t.f=((s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=__tsover_sub(s.x,.5),p=__tsover_sub(s.y,.5),y=__tsover_mul(d,nu),h=H(y),g=Y(y),w=__tsover_add(__tsover_mul(m,h),__tsover_mul(p,g)),S=__tsover_sub(__tsover_mul(p,h),__tsover_mul(m,g)),T=a(0);return e==="polygonSDF"?T=X(au(w,S,r,o),fc(w,S,r),n):e==="flowerSDF"?T=iu(w,S,r,o,i):e==="ringSDF"?T=cu(w,S,r,i):e==="crossSDF"?T=_u(w,S,r,i,n):e==="starSDF"?T=du(w,S,r,o,i):e==="roundedRectSDF"?T=lu(w,S,r,c,n):e==="ellipseSDF"?T=uu(w,S,r,c):e==="vesicaSDF"?T=mu(w,S,r,i):e==="crescentSDF"?T=pu(w,S,r,i,_):e==="trapezoidSDF"?T=fu(w,S,i,r,c):e==="heartSDF"?T=vu(w,S,r):e==="arcSDF"?T=yu(w,S,r,__tsover_mul(u,.008726646259971648)):e==="teardropSDF"?T=hu(w,S,r,c):e==="parallelogramSDF"?T=xu(w,S,r,c,_):T=fc(w,S,r),x(T,0,0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"r"},{type:"i",name:"n"},{type:"i",name:"round"},{type:"i",name:"inner"},{type:"i",name:"rot"},{type:"i",name:"h"},{type:"i",name:"off"},{type:"i",name:"ap"}],body:[0,[[13,"dx",[1,[7,"uv","x"],"-",[5,"0.5"]]],[13,"dy",[1,[7,"uv","y"],"-",[5,"0.5"]]],[13,"rotRad",[1,"rot","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rdx",[1,[1,"dx","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dx","*","sinR"]]],[12,"dist",[6,"d.f32",[[5,"0"]]]],[11,[1,"shapeType","===",[103,"polygonSDF"]],[2,"dist","=",[6,"std.mix",[[6,"polygonSdf",["rdx","rdy","r","n"]],[6,"circleSdf",["rdx","rdy","r"]],"round"]]],[11,[1,"shapeType","===",[103,"flowerSDF"]],[2,"dist","=",[6,"flowerSdf",["rdx","rdy","r","n","inner"]]],[11,[1,"shapeType","===",[103,"ringSDF"]],[2,"dist","=",[6,"ringSdf",["rdx","rdy","r","inner"]]],[11,[1,"shapeType","===",[103,"crossSDF"]],[2,"dist","=",[6,"crossSdf",["rdx","rdy","r","inner","round"]]],[11,[1,"shapeType","===",[103,"starSDF"]],[2,"dist","=",[6,"starSdf",["rdx","rdy","r","n","inner"]]],[11,[1,"shapeType","===",[103,"roundedRectSDF"]],[2,"dist","=",[6,"roundedRectSdf",["rdx","rdy","r","h","round"]]],[11,[1,"shapeType","===",[103,"ellipseSDF"]],[2,"dist","=",[6,"ellipseSdf",["rdx","rdy","r","h"]]],[11,[1,"shapeType","===",[103,"vesicaSDF"]],[2,"dist","=",[6,"vesicaSdf",["rdx","rdy","r","inner"]]],[11,[1,"shapeType","===",[103,"crescentSDF"]],[2,"dist","=",[6,"crescentSdf",["rdx","rdy","r","inner","off"]]],[11,[1,"shapeType","===",[103,"trapezoidSDF"]],[2,"dist","=",[6,"trapezoidSdf",["rdx","rdy","inner","r","h"]]],[11,[1,"shapeType","===",[103,"heartSDF"]],[2,"dist","=",[6,"heartSdf",["rdx","rdy","r"]]],[11,[1,"shapeType","===",[103,"arcSDF"]],[2,"dist","=",[6,"arcSdf",["rdx","rdy","r",[1,"ap","*","APERTURE_TO_HALFANGLE"]]]],[11,[1,"shapeType","===",[103,"teardropSDF"]],[2,"dist","=",[6,"teardropSdf",["rdx","rdy","r","h"]]],[11,[1,"shapeType","===",[103,"parallelogramSDF"]],[2,"dist","=",[6,"parallelogramSdf",["rdx","rdy","r","h","off"]]],[2,"dist","=",[6,"circleSdf",["rdx","rdy","r"]]]]]]]]]]]]]]]]],[10,[6,"d.vec4f",["dist",[5,"0"],[5,"0"],[5,"1"]]]]]]},externals:{DEG_TO_RAD:()=>nu,"std.cos":()=>H,"std.sin":()=>Y,"d.f32":()=>a,shapeType:()=>e,"std.mix":()=>X,polygonSdf:()=>au,circleSdf:()=>fc,flowerSdf:()=>iu,ringSdf:()=>cu,crossSdf:()=>_u,starSdf:()=>du,roundedRectSdf:()=>lu,ellipseSdf:()=>uu,vesicaSdf:()=>mu,crescentSdf:()=>pu,trapezoidSdf:()=>fu,heartSdf:()=>vu,arcSdf:()=>yu,APERTURE_TO_HALFANGLE:()=>.008726646259971648,teardropSdf:()=>hu,parallelogramSdf:()=>xu,"d.vec4f":()=>x}})&&t.f)({})).$name(`analyticSdf_${e}`)}function P7(e,t,s="none"){let r=t.radius??vt(0),o=t.sides??vt(0),n=t.rounding??vt(0),i=t.innerRatio??vt(0),d=t.rotation??vt(0),c=t.height??vt(0),_=t.offset??vt(0),u=t.aperture??vt(0),m=Jv(e);return p=>we(m,`analyticSdf_${e}`,[p,r,o,n,i,d,c,_,u])}var aG={_saRadius:{schema:a,initial:.35},_saSides:{schema:a,initial:6},_saRounding:{schema:a,initial:0},_saInnerRatio:{schema:a,initial:.4},_saRotation:{schema:a,initial:0},_saHeight:{schema:a,initial:.25},_saOffset:{schema:a,initial:.2},_saAperture:{schema:a,initial:270}};function gu(e){let t=(s,r)=>typeof s=="number"?s:r;return{radius:t(e.radius,t(e.width,t(e.bottomWidth,.35))),sides:t(e.sides,6),rounding:t(e.rounding,0),innerRatio:t(e.innerRatio,t(e.thickness,t(e.spread,t(e.topWidth,t(e.topRatio,.4))))),rotation:t(e.rotation,0),height:t(e.height,.25),offset:t(e.offset,t(e.skew,.2)),aperture:t(e.aperture,270)}}function E7(e){if(e&&typeof e=="object")return e;if(typeof e=="string")try{return JSON.parse(e)}catch{return{}}return{}}function k7(e,t){let s="",r=E7(t()),o=()=>{let i=gu(r);e.setExtraField("_saRadius",i.radius),e.setExtraField("_saSides",i.sides),e.setExtraField("_saRounding",i.rounding),e.setExtraField("_saInnerRatio",i.innerRatio),e.setExtraField("_saRotation",i.rotation),e.setExtraField("_saHeight",i.height),e.setExtraField("_saOffset",i.offset),e.setExtraField("_saAperture",i.aperture)};e.onBeforeRender(()=>{let i=t();if(i&&typeof i=="object")r=i;else if(typeof i=="string"&&i!==s){s=i;try{r=JSON.parse(i)}catch{return}}o()});let n=e.uniforms;return{radius:n._saRadius,sides:n._saSides,rounding:n._saRounding,innerRatio:n._saInnerRatio,rotation:n._saRotation,height:n._saHeight,offset:n._saOffset,aperture:n._saAperture}}var xn=512,Fa={},Zp=new Set,Qp={};function a1(e,t){return e?e in Fa?Fa[e]:(t&&(Qp[e]??=[]).push(t),Zp.has(e)||(Zp.add(e),iG(e)),null):null}async function iG(e){try{let t=await fetch(e,{mode:"cors"});if(!t.ok){Fa[e]=null;return}let s=await t.arrayBuffer(),r=xn*xn;if(s.byteLength!==r*2&&s.byteLength!==r*4){Fa[e]=null;return}let o=s.byteLength===r*2?(()=>{let _=new Uint16Array(s);return u=>_[u]/32767.5-1})():(()=>{let _=new Float32Array(s);return u=>_[u]})(),n=xn,i=xn,d=-1,c=-1;for(let _=0;_d&&(d=m),_c&&(c=_))}Fa[e]=d<0?null:{hwf:(d-n+1)/xn/2,hhf:(c-i+1)/xn/2}}catch{Fa[e]=null}finally{Zp.delete(e);let t=Qp[e];if(t){delete Qp[e];for(let s of t)s()}}}function $7(e){return!!e&&e in Fa}var wb=1/60;function Xc(e,t,s,r,o,n){if(r===0&&o===0)return[s,0];let i=200*Math.pow(.01,r),d=2*Math.sqrt(i)*(1-o*.85),c=n>wb?Math.ceil(n/wb):1,_=n/c,u=e,m=t;for(let p=0;p0?(e-s)/1e3:.016;if(s>0){let d=e-s;if(!r&&!o&&d<1e3)return{render:!1,deltaTime:i};if((r||o)&&dsetTimeout(t,16))}function z7(e){e.updateDrivers(),e.ensureComposition()&&(e.beforeRender(),e.flush(),e.render()!==!1&&e.markReady(),e.afterRender())}function G7(e){let t=null,s=n=>typeof requestAnimationFrame=="function"?requestAnimationFrame(n):setTimeout(()=>n(performance.now()),16),r=n=>{typeof cancelAnimationFrame=="function"?cancelAnimationFrame(n):clearTimeout(n)},o=()=>{e(),t!==null&&(t=s(o))};return{start(){t===null&&(t=s(o))},stop(){t!==null&&(r(t),t=null)},get running(){return t!==null}}}var Y7=["sphere3D","cube3D","torus3D","octahedron3D","cylinder3D","capsule3D","cone3D","pyramid3D","prism3D","ellipsoid3D","diamond3D","link3D","gem3D","helix3D","metaballs3D","dodecahedron3D","hemisphere3D","ribbon3D","blob3D","gyroscope3D"];function L7(e){return Y7.includes(e)}function I7(e){return e==="svgExtrude3D"}var D7={depth:.12,bevel:.02,rotX:15,rotY:30,rotZ:0};function F7(e,t){if(typeof e=="number")return e;if(e&&typeof e=="object"&&(e.type==="auto-animate"||e.type==="mouse")){let s=typeof e.outputMin=="number"?e.outputMin:t,r=typeof e.outputMax=="number"?e.outputMax:t;return Math.max(s,r)}return t}var B7={sphere3D:{radius:.35,rotX:0,rotY:0,rotZ:0},cube3D:{sizeX:.27,sizeY:.27,sizeZ:.27,rounding:.02,rotX:25,rotY:35,rotZ:0},torus3D:{radius:.3,tube:.12,rotX:55,rotY:0,rotZ:0},octahedron3D:{radius:.42,rotX:10,rotY:25,rotZ:0},cylinder3D:{radius:.22,height:.26,rounding:.02,rotX:60,rotY:0,rotZ:30},capsule3D:{radius:.16,height:.2,rotX:0,rotY:0,rotZ:35},cone3D:{radius:.3,topRadius:.02,height:.3,rotX:25,rotY:0,rotZ:15},pyramid3D:{size:.3,height:.45,rotX:-10,rotY:30,rotZ:0},prism3D:{radius:.28,height:.14,rotX:25,rotY:30,rotZ:0},ellipsoid3D:{radiusX:.38,radiusY:.22,radiusZ:.3,rotX:0,rotY:0,rotZ:20},diamond3D:{radius:.3,height:.42,rotX:15,rotY:0,rotZ:0},link3D:{radius:.18,length:.15,tube:.08,rotX:20,rotY:30,rotZ:0},gem3D:{radius:.3,height:.32,facets:8,rotX:15,rotY:0,rotZ:0},helix3D:{radius:.22,tube:.06,pitch:.16,rotX:20,rotY:0,rotZ:0},metaballs3D:{balls:4,ballRadius:.16,spread:.2,blend:.12,speed:1,rotX:0,rotY:0,rotZ:0},dodecahedron3D:{radius:.34,rotX:20,rotY:10,rotZ:0},hemisphere3D:{radius:.4,cut:0,rotX:30,rotY:0,rotZ:0},ribbon3D:{width:.15,thickness:.03,length:.38,wave:.1,waveFrequency:7,twist:140,speed:1,rotX:12,rotY:18,rotZ:0},blob3D:{radius:.3,wobble:.07,wobbliness:5,speed:1,rotX:0,rotY:0,rotZ:0},gyroscope3D:{radius:.34,width:.1,thickness:.028,rounding:.006,core:.14,speed:1,rotX:15,rotY:0,rotZ:0}};function W7(e){let t=B7[e.type]??{},s=(r,o=.3)=>F7(e[r],t[r]??o);switch(e.type){case"cube3D":return Math.hypot(s("sizeX"),s("sizeY"),s("sizeZ"))+s("rounding",0);case"torus3D":return s("radius")+s("tube");case"cylinder3D":return Math.hypot(s("radius"),s("height"))+s("rounding",0);case"capsule3D":return s("height")+s("radius");case"cone3D":return Math.hypot(Math.max(s("radius"),s("topRadius")),s("height"));case"pyramid3D":return Math.hypot(s("size")*Math.SQRT2,s("height")*.5);case"prism3D":return Math.hypot(s("radius")*1.1548,s("height"));case"ellipsoid3D":return Math.max(s("radiusX"),s("radiusY"),s("radiusZ"));case"diamond3D":return Math.max(s("radius"),s("height"));case"link3D":return s("length")+s("radius")+s("tube");case"gem3D":return Math.max(s("radius"),s("height"));case"helix3D":return Math.hypot(s("radius")+s("tube"),s("pitch")*3*.5+s("tube"));case"metaballs3D":return s("spread")+s("ballRadius",.16)+s("blend",.12);case"dodecahedron3D":return s("radius")*1.32;case"hemisphere3D":return s("radius");case"ribbon3D":return Math.hypot(s("length",.38),s("wave",.1)*1.2+Math.hypot(s("width",.15),s("thickness",.03)))+.01;case"blob3D":return s("radius",.3)+s("wobble",.07)+.02;case"gyroscope3D":return s("radius",.34)+s("thickness",.028)*.5+s("width",.1)*.5+s("rounding",.006);default:return s("radius",.35)}}var i1={propBindings:{x:{prop:"center",as:"position-x"},y:{prop:"center",as:"position-y"},rotation:{prop:"rotation",as:"degrees"}},computeBounds(e,t,s){let r=e.scale??1,o=typeof e.center?.x=="number"?e.center.x:.5,n=typeof e.center?.y=="number"?e.center.y:.5,{hwf:i,hhf:d}=Jp(e),c=r*s;return{centerXPx:o*t,centerYPx:n*s,widthPx:2*i*c,heightPx:2*d*c,rotationDeg:e.rotation??0}},writeBounds(e,t,s,r){let o={...t.center??{x:.5,y:.5},x:e.centerXPx/s,y:e.centerYPx/r},n=t.scale??1,i=cG(t)?bu(t.shape):null;if(i&&n>0)return{center:o,rotation:e.rotationDeg,shape:JSON.stringify({...i,radius:Math.max(.001,e.widthPx/(2*n*r)),height:Math.max(.001,e.heightPx/(2*n*r))})};let{hwf:d}=Jp(t);return{center:o,scale:d>0?Math.max(.01,e.widthPx/(2*d*r)):.01,rotation:e.rotationDeg}}},Hd=new Map;function bu(e){if(typeof e!="string")return e??null;if(Hd.has(e))return Hd.get(e);let t=null;try{t=JSON.parse(e)}catch{t=null}return Hd.size>=64&&Hd.clear(),Hd.set(e,t),t}function cG(e){if(e.shapeSdfUrl)return!1;let t=bu(e.shape)?.type;return t==="roundedRectSDF"||t==="ellipseSDF"}function Jp(e){if(e.shapeSdfUrl){let r=e._shapeBounds??a1(e.shapeSdfUrl),o=r&&typeof r.hwf=="number"&&typeof r.hhf=="number"?{hwf:r.hwf,hhf:r.hhf}:{hwf:.5,hhf:.5},n=e.shapeType;if(typeof n=="string"&&I7(n)){let i=bu(e.shape)??{},d=_=>F7(i[_],D7[_]??0),c=Math.hypot(o.hwf,o.hhf,d("depth")*.5)+d("bevel")+.02;return{hwf:c,hhf:c}}return o}let t=bu(e.shape);if(!t||typeof t!="object")return{hwf:.5,hhf:.5};if(typeof t.type=="string"&&L7(t.type)){let r=W7(t);return{hwf:r,hhf:r}}let s=typeof t.radius=="number"?t.radius:.35;switch(t.type){case"roundedRectSDF":case"ellipseSDF":return{hwf:s,hhf:typeof t.height=="number"?t.height:s};case"ringSDF":{let r=typeof t.thickness=="number"?t.thickness:0;return{hwf:s+r,hhf:s+r}}case"trapezoidSDF":{let r=typeof t.bottomWidth=="number"?t.bottomWidth:.3,o=typeof t.topWidth=="number"?t.topWidth:.2,n=typeof t.height=="number"?t.height:.25;return{hwf:Math.max(r,o),hhf:n}}case"vesicaSDF":{let r=typeof t.spread=="number"?Math.min(1,Math.max(0,t.spread)):.4;return{hwf:s*(1-r),hhf:s*Math.sqrt(Math.max(0,1-r*r))}}case"teardropSDF":return{hwf:s,hhf:((typeof t.height=="number"?t.height:.4)+s)/2};case"parallelogramSDF":{let r=typeof t.width=="number"?t.width:.32,o=typeof t.height=="number"?t.height:.22,n=typeof t.skew=="number"?t.skew:0;return{hwf:r+Math.abs(n),hhf:o}}default:return{hwf:s,hhf:s}}}function _G(e,t){if(e)return e;let s=t;if(typeof t=="string")try{s=JSON.parse(t)}catch{return"circleSDF"}if(s&&typeof s=="object"){let r=s.type;if(typeof r=="string"&&r)return r}return"circleSDF"}var yd=Za({HELIX_TURNS:()=>3,MAX_METABALLS:()=>8,MarchParams:()=>Cn,RotStruct:()=>Hc,SHAPE3D_DEFAULTS:()=>wu,SHAPE3D_TYPES:()=>O7,SVG3D_DEFAULTS:()=>N7,SVG3D_TYPES:()=>lG,SampleParams:()=>bf,VOLUMETRIC_FIELD_EXTRA_FIELDS:()=>yG,VOLUMETRIC_FIELD_FORMAT:()=>c1,VOLUMETRIC_FIELD_RES:()=>H7,VOLUMETRIC_FIELD_RES_MOBILE:()=>768,boxFaceUV:()=>MG,buildFieldSampleGraph:()=>vG,buildFieldSampleGraphArgs:()=>ay,buildRaymarchedField:()=>pG,buildRaymarchedFieldFn:()=>oy,buildVolumetricFieldKernel:()=>K7,buildVolumetricFieldSampler:()=>J7,capsuleSurfaceUV:()=>EG,createAnalytic2dExtrudeSetup:()=>xG,createAnalytic3dSdfSetup:()=>ew,createSvg3dSdfSetup:()=>tw,createVolumetricFieldCompute:()=>Z7,createVolumetricFieldComputeNode:()=>gG,eulerRotatePacked:()=>ws,is3dShapeType:()=>d1,isMobileGpuViewport:()=>_o,isSvg3dShapeType:()=>sy,isVolumetricShapeType:()=>V7,makeVolumetricFieldLayout:()=>ny,makeVolumetricSvgFieldLayout:()=>Q7,mobiusSurfaceUV:()=>$G,packedParamExtraFields:()=>RG,paramBoxSdf:()=>AG,paramCapsuleSdf:()=>PG,paramMobiusSdf:()=>kG,paramSphereSdf:()=>bG,paramTorusSdf:()=>TG,paramTwistedRibbonSdf:()=>UG,resolveActiveFieldRes:()=>j7,resolveShapeFieldSampler:()=>hG,resolveShapeSubProp:()=>ry,resolveVolumetricFieldRes:()=>jc,rotateVec3:()=>yl,rotateVecCpu:()=>ef,sdBicone:()=>kc,sdCappedCone:()=>af,sdCapsule:()=>nf,sdCutSphere:()=>yf,sdDodecahedron:()=>vf,sdEllipsoid:()=>_f,sdFlatBand:()=>nc,sdGem:()=>mf,sdGyroscope:()=>gf,sdHelix:()=>pf,sdHexPrism:()=>cf,sdLink:()=>lf,sdMetaballs:()=>ff,sdOctahedron:()=>rf,sdPyramid:()=>df,sdRibbon:()=>hf,sdRoundBox:()=>Ec,sdRoundCylinder:()=>of,sdSphere:()=>tf,sdTorus:()=>sf,sdWobbleBlob:()=>xf,shape3dBoundingRadius:()=>X7,shapeSubPropMax:()=>q7,smin:()=>uf,sphereSurfaceUV:()=>wG,torusSurfaceUV:()=>SG,twistedRibbonSurfaceUV:()=>CG}),Tb=3.141592653589793,Ba=6.283185307179586,O7=["sphere3D","cube3D","torus3D","octahedron3D","cylinder3D","capsule3D","cone3D","pyramid3D","prism3D","ellipsoid3D","diamond3D","link3D","gem3D","helix3D","metaballs3D","dodecahedron3D","hemisphere3D","ribbon3D","blob3D","gyroscope3D"];function d1(e){return O7.includes(e)}var lG=["svgExtrude3D"];function sy(e){return e==="svgExtrude3D"}function V7(e){return d1(e)||sy(e)}var N7={depth:.12,bevel:.02,rotX:15,rotY:30,rotZ:0},uG=e=>e<1/2.75?7.5625*e*e:e<2/2.75?(e-=1.5/2.75,7.5625*e*e+.75):e<2.5/2.75?(e-=2.25/2.75,7.5625*e*e+.9375):(e-=2.625/2.75,7.5625*e*e+.984375),mG=(e,t)=>{switch(t){case"linear":return e;case"quad":return e<.5?2*e*e:1-Math.pow(-2*e+2,2)/2;case"expo":return e===0?0:e===1?1:e<.5?Math.pow(2,20*e-10)/2:(2-Math.pow(2,-20*e+10))/2;case"bounce":return uG(e);default:return(1-Math.cos(Math.PI*e))/2}};function ry(e,t,s,r){if(typeof e=="number")return e;if(e&&typeof e=="object"){if(e.type==="auto-animate"){let o=(s.elapsed*(e.speed??1)*.2%1+1)%1,n=mG(e.mode==="loop"?o:o<.5?o*2:(1-o)*2,e.easing??e.waveform??"sine"),i=typeof e.outputMin=="number"?e.outputMin:t;return i+n*((typeof e.outputMax=="number"?e.outputMax:t)-i)}if(e.type==="mouse"){let o=e.axis==="y"?s.pointerY:s.pointerX,n=s.springs.get(r);n||(n={current:o,velocity:0},s.springs.set(r,n));let[i,d]=Xc(n.current,n.velocity,o,e.smoothing??0,e.momentum??0,s.deltaTime);n.current=i,n.velocity=d;let c=Math.max(.001,i),_=typeof e.outputMin=="number"?e.outputMin:t,u=typeof e.outputMax=="number"?e.outputMax:t,m=Math.pow(2,-(e.curve??0)*2);return _+Math.pow(c,m)*(u-_)}}return t}function q7(e,t){if(typeof e=="number")return e;if(e&&typeof e=="object"&&(e.type==="auto-animate"||e.type==="mouse")){let s=typeof e.outputMin=="number"?e.outputMin:t,r=typeof e.outputMax=="number"?e.outputMax:t;return Math.max(s,r)}return t}var wu={sphere3D:{radius:.35,rotX:0,rotY:0,rotZ:0},cube3D:{sizeX:.27,sizeY:.27,sizeZ:.27,rounding:.02,rotX:25,rotY:35,rotZ:0},torus3D:{radius:.3,tube:.12,rotX:55,rotY:0,rotZ:0},octahedron3D:{radius:.42,rotX:10,rotY:25,rotZ:0},cylinder3D:{radius:.22,height:.26,rounding:.02,rotX:60,rotY:0,rotZ:30},capsule3D:{radius:.16,height:.2,rotX:0,rotY:0,rotZ:35},cone3D:{radius:.3,topRadius:.02,height:.3,rotX:25,rotY:0,rotZ:15},pyramid3D:{size:.3,height:.45,rotX:-10,rotY:30,rotZ:0},prism3D:{radius:.28,height:.14,rotX:25,rotY:30,rotZ:0},ellipsoid3D:{radiusX:.38,radiusY:.22,radiusZ:.3,rotX:0,rotY:0,rotZ:20},diamond3D:{radius:.3,height:.42,rotX:15,rotY:0,rotZ:0},link3D:{radius:.18,length:.15,tube:.08,rotX:20,rotY:30,rotZ:0},gem3D:{radius:.3,height:.32,facets:8,rotX:15,rotY:0,rotZ:0},helix3D:{radius:.22,tube:.06,pitch:.16,rotX:20,rotY:0,rotZ:0},metaballs3D:{balls:4,ballRadius:.16,spread:.2,blend:.12,speed:1,rotX:0,rotY:0,rotZ:0},dodecahedron3D:{radius:.34,rotX:20,rotY:10,rotZ:0},hemisphere3D:{radius:.4,cut:0,rotX:30,rotY:0,rotZ:0},ribbon3D:{width:.15,thickness:.03,length:.38,wave:.1,waveFrequency:7,twist:140,speed:1,rotX:12,rotY:18,rotZ:0},blob3D:{radius:.3,wobble:.07,wobbliness:5,speed:1,rotX:0,rotY:0,rotZ:0},gyroscope3D:{radius:.34,width:.1,thickness:.028,rounding:.006,core:.14,speed:1,rotX:15,rotY:0,rotZ:0}};function X7(e){let t=wu[e.type]??{},s=(r,o=.3)=>q7(e[r],t[r]??o);switch(e.type){case"cube3D":return Math.hypot(s("sizeX"),s("sizeY"),s("sizeZ"))+s("rounding",0);case"torus3D":return s("radius")+s("tube");case"cylinder3D":return Math.hypot(s("radius"),s("height"))+s("rounding",0);case"capsule3D":return s("height")+s("radius");case"cone3D":return Math.hypot(Math.max(s("radius"),s("topRadius")),s("height"));case"pyramid3D":return Math.hypot(s("size")*Math.SQRT2,s("height")*.5);case"prism3D":return Math.hypot(s("radius")*1.1548,s("height"));case"ellipsoid3D":return Math.max(s("radiusX"),s("radiusY"),s("radiusZ"));case"diamond3D":return Math.max(s("radius"),s("height"));case"link3D":return s("length")+s("radius")+s("tube");case"gem3D":return Math.max(s("radius"),s("height"));case"helix3D":return Math.hypot(s("radius")+s("tube"),s("pitch")*3*.5+s("tube"));case"metaballs3D":return s("spread")+s("ballRadius",.16)+s("blend",.12);case"dodecahedron3D":return s("radius")*1.32;case"hemisphere3D":return s("radius");case"ribbon3D":return Math.hypot(s("length",.38),s("wave",.1)*1.2+Math.hypot(s("width",.15),s("thickness",.03)))+.01;case"blob3D":return s("radius",.3)+s("wobble",.07)+.02;case"gyroscope3D":return s("radius",.34)+s("thickness",.028)*.5+s("width",.1)*.5+s("rounding",.006);default:return s("radius",.35)}}function ef(e,t,s,r){let o=e*r.cy+s*r.sy,n=-e*r.sy+s*r.cy,i=t*r.cx-n*r.sx,d=t*r.sx+n*r.cx;return{x:o*r.cz-i*r.sz,y:o*r.sz+i*r.cz,z:d}}var tf=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(j(t),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"}],body:[0,[[10,[1,[6,"std.length",["p"]],"-","r"]]]]},externals:{"std.length":()=>j}})&&e.f)({})),Ec=v.fn([f,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_add(__tsover_sub(z(t.x),s),n),d=__tsover_add(__tsover_sub(z(t.y),r),n),c=__tsover_add(__tsover_sub(z(t.z),o),n),_=j(f(b(i,0),b(d,0),b(c,0))),u=oe(b(i,b(d,c)),0);return __tsover_sub(__tsover_add(_,u),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"hx"},{type:"i",name:"hy"},{type:"i",name:"hz"},{type:"i",name:"rounding"}],body:[0,[[13,"qx",[1,[1,[6,"std.abs",[[7,"p","x"]]],"-","hx"],"+","rounding"]],[13,"qy",[1,[1,[6,"std.abs",[[7,"p","y"]]],"-","hy"],"+","rounding"]],[13,"qz",[1,[1,[6,"std.abs",[[7,"p","z"]]],"-","hz"],"+","rounding"]],[13,"outer",[6,"std.length",[[6,"d.vec3f",[[6,"std.max",["qx",[5,"0"]]],[6,"std.max",["qy",[5,"0"]]],[6,"std.max",["qz",[5,"0"]]]]]]]],[13,"inner",[6,"std.min",[[6,"std.max",["qx",[6,"std.max",["qy","qz"]]]],[5,"0"]]]],[10,[1,[1,"outer","+","inner"],"-","rounding"]]]]},externals:{"std.abs":()=>z,"std.length":()=>j,"d.vec3f":()=>f,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),sf=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(j(l(t.x,t.z)),s);return __tsover_sub(j(l(o,t.y)),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"ringR"},{type:"i",name:"tubeR"}],body:[0,[[13,"qx",[1,[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]],"-","ringR"]],[10,[1,[6,"std.length",[[6,"d.vec2f",["qx",[7,"p","y"]]]]],"-","tubeR"]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})),rf=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_mul(__tsover_sub(__tsover_add(__tsover_add(z(t.x),z(t.y)),z(t.z)),s),.57735027)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"s"}],body:[0,[[10,[1,[1,[1,[1,[6,"std.abs",[[7,"p","x"]]],"+",[6,"std.abs",[[7,"p","y"]]]],"+",[6,"std.abs",[[7,"p","z"]]]],"-","s"],"*",[5,"0.57735027"]]]]]},externals:{"std.abs":()=>z}})&&e.f)({})),of=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_add(__tsover_sub(j(l(t.x,t.z)),s),o),i=__tsover_add(__tsover_sub(z(t.y),r),o),d=oe(b(n,i),0),c=j(l(b(n,0),b(i,0)));return __tsover_sub(__tsover_add(d,c),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"h"},{type:"i",name:"rounding"}],body:[0,[[13,"dx",[1,[1,[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]],"-","r"],"+","rounding"]],[13,"dy",[1,[1,[6,"std.abs",[[7,"p","y"]]],"-","h"],"+","rounding"]],[13,"inner",[6,"std.min",[[6,"std.max",["dx","dy"]],[5,"0"]]]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["dx",[5,"0"]]],[6,"std.max",["dy",[5,"0"]]]]]]]],[10,[1,[1,"inner","+","outer"],"-","rounding"]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.abs":()=>z,"std.min":()=>oe,"std.max":()=>b}})&&e.f)({})),nf=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=$(t.y,__tsover_mul(r,-1),r);return __tsover_sub(j(f(t.x,__tsover_sub(t.y,o),t.z)),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"h"}],body:[0,[[13,"cyc",[6,"std.clamp",[[7,"p","y"],[1,"h","*",[4,"-",[5,"1"]]],"h"]]],[10,[1,[6,"std.length",[[6,"d.vec3f",[[7,"p","x"],[1,[7,"p","y"],"-","cyc"],[7,"p","z"]]]]],"-","r"]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec3f":()=>f}})&&e.f)({})),af=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=j(l(t.x,t.z)),i=t.y,d=__tsover_sub(r,s),c=__tsover_mul(o,2),_=__tsover_sub(n,oe(n,C(r,s,i<0))),u=__tsover_sub(z(i),o),m=__tsover_add(__tsover_mul(__tsover_sub(r,n),d),__tsover_mul(__tsover_sub(o,i),c)),p=b(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c)),1e-6),y=$(__tsover_div(m,p),0,1),h=__tsover_add(__tsover_sub(n,r),__tsover_mul(d,y)),g=__tsover_add(__tsover_sub(i,o),__tsover_mul(c,y)),w=C(a(1),a(-1),u<0),S=C(a(1),w,h<0),T=__tsover_add(__tsover_mul(_,_),__tsover_mul(u,u)),A=__tsover_add(__tsover_mul(h,h),__tsover_mul(g,g));return __tsover_mul(S,be(oe(T,A)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r1"},{type:"i",name:"r2"},{type:"i",name:"h"}],body:[0,[[13,"qx",[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]]],[13,"qy",[7,"p","y"]],[13,"k2x",[1,"r2","-","r1"]],[13,"k2y",[1,"h","*",[5,"2"]]],[13,"cax",[1,"qx","-",[6,"std.min",["qx",[6,"std.select",["r2","r1",[1,"qy","<",[5,"0"]]]]]]]],[13,"cay",[1,[6,"std.abs",["qy"]],"-","h"]],[13,"dotNum",[1,[1,[1,"r2","-","qx"],"*","k2x"],"+",[1,[1,"h","-","qy"],"*","k2y"]]],[13,"dotDen",[6,"std.max",[[1,[1,"k2x","*","k2x"],"+",[1,"k2y","*","k2y"]],[5,"0.000001"]]]],[13,"t",[6,"std.clamp",[[1,"dotNum","/","dotDen"],[5,"0"],[5,"1"]]]],[13,"cbx",[1,[1,"qx","-","r2"],"+",[1,"k2x","*","t"]]],[13,"cby",[1,[1,"qy","-","h"],"+",[1,"k2y","*","t"]]],[13,"sInner",[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"d.f32",[[4,"-",[5,"1"]]]],[1,"cay","<",[5,"0"]]]]],[13,"s",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"sInner",[1,"cbx","<",[5,"0"]]]]],[13,"dca",[1,[1,"cax","*","cax"],"+",[1,"cay","*","cay"]]],[13,"dcb",[1,[1,"cbx","*","cbx"],"+",[1,"cby","*","cby"]]],[10,[1,"s","*",[6,"std.sqrt",[[6,"std.min",["dca","dcb"]]]]]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.min":()=>oe,"std.select":()=>C,"std.abs":()=>z,"std.max":()=>b,"std.clamp":()=>$,"d.f32":()=>a,"std.sqrt":()=>be}})&&e.f)({})),df=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r,.5),n=be(__tsover_add(__tsover_mul(r,r),__tsover_mul(s,s))),i=__tsover_div(__tsover_add(__tsover_mul(r,z(t.x)),__tsover_mul(s,__tsover_sub(t.y,o))),n),d=__tsover_div(__tsover_add(__tsover_mul(r,z(t.z)),__tsover_mul(s,__tsover_sub(t.y,o))),n),c=__tsover_sub(__tsover_mul(t.y,-1),o);return b(b(i,d),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"b"},{type:"i",name:"ht"}],body:[0,[[13,"h2",[1,"ht","*",[5,"0.5"]]],[13,"denom",[6,"std.sqrt",[[1,[1,"ht","*","ht"],"+",[1,"b","*","b"]]]]],[13,"dx",[1,[1,[1,"ht","*",[6,"std.abs",[[7,"p","x"]]]],"+",[1,"b","*",[1,[7,"p","y"],"-","h2"]]],"/","denom"]],[13,"dz",[1,[1,[1,"ht","*",[6,"std.abs",[[7,"p","z"]]]],"+",[1,"b","*",[1,[7,"p","y"],"-","h2"]]],"/","denom"]],[13,"dBase",[1,[1,[7,"p","y"],"*",[4,"-",[5,"1"]]],"-","h2"]],[10,[6,"std.max",[[6,"std.max",["dx","dz"]],"dBase"]]]]]},externals:{"std.sqrt":()=>be,"std.abs":()=>z,"std.max":()=>b}})&&e.f)({})),cf=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=-.8660254,n=.5,i=.57735,d=z(t.x),c=z(t.y),_=z(t.z),u=__tsover_mul(oe(__tsover_add(__tsover_mul(o,d),__tsover_mul(n,c)),0),2),m=__tsover_sub(d,__tsover_mul(u,o)),p=__tsover_sub(c,__tsover_mul(u,n)),y=$(m,__tsover_mul(__tsover_mul(i,s),-1),__tsover_mul(i,s)),h=__tsover_sub(m,y),g=__tsover_sub(p,s),w=__tsover_mul(be(__tsover_add(__tsover_mul(h,h),__tsover_mul(g,g))),ks(__tsover_sub(p,s))),S=__tsover_sub(_,r),T=oe(b(w,S),0),A=j(l(b(w,0),b(S,0)));return __tsover_add(T,A)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"he"}],body:[0,[[13,"kx",[4,"-",[5,"0.8660254"]]],[13,"ky",[5,"0.5"]],[13,"kz",[5,"0.57735"]],[13,"ax",[6,"std.abs",[[7,"p","x"]]]],[13,"ay",[6,"std.abs",[[7,"p","y"]]]],[13,"az",[6,"std.abs",[[7,"p","z"]]]],[13,"dk",[1,[6,"std.min",[[1,[1,"kx","*","ax"],"+",[1,"ky","*","ay"]],[5,"0"]]],"*",[5,"2"]]],[13,"px",[1,"ax","-",[1,"dk","*","kx"]]],[13,"py",[1,"ay","-",[1,"dk","*","ky"]]],[13,"cx",[6,"std.clamp",["px",[1,[1,"kz","*","r"],"*",[4,"-",[5,"1"]]],[1,"kz","*","r"]]]],[13,"ex",[1,"px","-","cx"]],[13,"ey",[1,"py","-","r"]],[13,"dHex",[1,[6,"std.sqrt",[[1,[1,"ex","*","ex"],"+",[1,"ey","*","ey"]]]],"*",[6,"std.sign",[[1,"py","-","r"]]]]],[13,"dZ",[1,"az","-","he"]],[13,"inner",[6,"std.min",[[6,"std.max",["dHex","dZ"]],[5,"0"]]]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["dHex",[5,"0"]]],[6,"std.max",["dZ",[5,"0"]]]]]]]],[10,[1,"inner","+","outer"]]]]},externals:{"std.abs":()=>z,"std.min":()=>oe,"std.clamp":()=>$,"std.sqrt":()=>be,"std.sign":()=>ks,"std.max":()=>b,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})),_f=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=j(f(__tsover_div(t.x,s),__tsover_div(t.y,r),__tsover_div(t.z,o))),i=j(f(__tsover_div(t.x,__tsover_mul(s,s)),__tsover_div(t.y,__tsover_mul(r,r)),__tsover_div(t.z,__tsover_mul(o,o))));return __tsover_div(__tsover_mul(n,__tsover_sub(n,1)),b(i,1e-6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rx"},{type:"i",name:"ry"},{type:"i",name:"rz"}],body:[0,[[13,"k0",[6,"std.length",[[6,"d.vec3f",[[1,[7,"p","x"],"/","rx"],[1,[7,"p","y"],"/","ry"],[1,[7,"p","z"],"/","rz"]]]]]],[13,"k1",[6,"std.length",[[6,"d.vec3f",[[1,[7,"p","x"],"/",[1,"rx","*","rx"]],[1,[7,"p","y"],"/",[1,"ry","*","ry"]],[1,[7,"p","z"],"/",[1,"rz","*","rz"]]]]]]],[10,[1,[1,"k0","*",[1,"k0","-",[5,"1"]]],"/",[6,"std.max",["k1",[5,"0.000001"]]]]]]]},externals:{"std.length":()=>j,"d.vec3f":()=>f,"std.max":()=>b}})&&e.f)({})),kc=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=j(l(t.x,t.z)),n=z(t.y),i=__tsover_mul(s,-1),d=r,c=__tsover_sub(o,s),_=n,u=b(__tsover_add(__tsover_mul(i,i),__tsover_mul(d,d)),1e-6),m=$(__tsover_div(__tsover_add(__tsover_mul(c,i),__tsover_mul(_,d)),u),0,1),p=__tsover_sub(c,__tsover_mul(i,m)),y=__tsover_sub(_,__tsover_mul(d,m)),h=be(__tsover_add(__tsover_mul(p,p),__tsover_mul(y,y)));return __tsover_mul(h,ks(__tsover_sub(__tsover_add(__tsover_mul(r,o),__tsover_mul(s,n)),__tsover_mul(s,r))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"h"}],body:[0,[[13,"qx",[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]]],[13,"qy",[6,"std.abs",[[7,"p","y"]]]],[13,"abx",[1,"r","*",[4,"-",[5,"1"]]]],[13,"aby","h"],[13,"apx",[1,"qx","-","r"]],[13,"apy","qy"],[13,"den",[6,"std.max",[[1,[1,"abx","*","abx"],"+",[1,"aby","*","aby"]],[5,"0.000001"]]]],[13,"t",[6,"std.clamp",[[1,[1,[1,"apx","*","abx"],"+",[1,"apy","*","aby"]],"/","den"],[5,"0"],[5,"1"]]]],[13,"dxx",[1,"apx","-",[1,"abx","*","t"]]],[13,"dyy",[1,"apy","-",[1,"aby","*","t"]]],[13,"dist",[6,"std.sqrt",[[1,[1,"dxx","*","dxx"],"+",[1,"dyy","*","dyy"]]]]],[10,[1,"dist","*",[6,"std.sign",[[1,[1,[1,"h","*","qx"],"+",[1,"r","*","qy"]],"-",[1,"r","*","h"]]]]]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.abs":()=>z,"std.max":()=>b,"std.clamp":()=>$,"std.sqrt":()=>be,"std.sign":()=>ks}})&&e.f)({})),lf=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(__tsover_sub(z(t.y),s),0),i=__tsover_sub(j(l(t.x,n)),r);return __tsover_sub(j(l(i,t.z)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"le"},{type:"i",name:"r1"},{type:"i",name:"r2"}],body:[0,[[13,"qy",[6,"std.max",[[1,[6,"std.abs",[[7,"p","y"]]],"-","le"],[5,"0"]]]],[13,"ring",[1,[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],"qy"]]]],"-","r1"]],[10,[1,[6,"std.length",[[6,"d.vec2f",["ring",[7,"p","z"]]]]],"-","r2"]]]]},externals:{"std.max":()=>b,"std.abs":()=>z,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})),uf=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=$(__tsover_add(__tsover_mul(__tsover_div(__tsover_sub(s,t),r),.5),.5),0,1);return __tsover_sub(X(s,t,o),__tsover_mul(__tsover_mul(r,o),__tsover_sub(1,o)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"k"}],body:[0,[[13,"h",[6,"std.clamp",[[1,[1,[1,[1,"b","-","a"],"/","k"],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[10,[1,[6,"std.mix",["b","a","h"]],"-",[1,[1,"k","*","h"],"*",[1,[5,"1"],"-","h"]]]]]]},externals:{"std.clamp":()=>$,"std.mix":()=>X}})&&e.f)({})),mf=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=kc(t,s,r),i=j(l(t.x,t.z)),d=tt(t.z,t.x),c=__tsover_div(Ba,o),_=q(__tsover_add(__tsover_div(d,c),.5)),u=__tsover_sub(d,__tsover_mul(_,c)),m=__tsover_mul(s,H(__tsover_div(Tb,o)));return b(b(n,__tsover_sub(__tsover_mul(i,H(u)),m)),__tsover_sub(t.y,__tsover_mul(r,.45)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"h"},{type:"i",name:"sides"}],body:[0,[[13,"base",[6,"sdBicone",["p","r","h"]]],[13,"lenXZ",[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]]],[13,"ang",[6,"std.atan2",[[7,"p","z"],[7,"p","x"]]]],[13,"sector",[1,"TWO_PI","/","sides"]],[13,"idx",[6,"std.floor",[[1,[1,"ang","/","sector"],"+",[5,"0.5"]]]]],[13,"ca",[1,"ang","-",[1,"idx","*","sector"]]],[13,"ri",[1,"r","*",[6,"std.cos",[[1,"PI","/","sides"]]]]],[13,"facet",[1,[1,"lenXZ","*",[6,"std.cos",["ca"]]],"-","ri"]],[13,"dd",[6,"std.max",["base","facet"]]],[13,"table",[1,[7,"p","y"],"-",[1,"h","*",[5,"0.45"]]]],[10,[6,"std.max",["dd","table"]]]]]},externals:{sdBicone:()=>kc,"std.length":()=>j,"d.vec2f":()=>l,"std.atan2":()=>tt,TWO_PI:()=>Ba,"std.floor":()=>q,"std.cos":()=>H,PI:()=>Tb,"std.max":()=>b}})&&e.f)({})),pf=v.fn([f,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=tt(t.z,t.x),d=q(__tsover_add(__tsover_sub(__tsover_div(t.y,o),__tsover_div(i,Ba)),.5)),c=__tsover_add(i,__tsover_mul(Ba,d)),_=__tsover_mul(s,H(c)),u=__tsover_div(__tsover_mul(o,c),Ba),m=__tsover_mul(s,Y(c));return b(__tsover_sub(j(f(__tsover_sub(t.x,_),__tsover_sub(t.y,u),__tsover_sub(t.z,m))),r),__tsover_sub(z(t.y),__tsover_mul(__tsover_mul(o,n),.5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"R"},{type:"i",name:"tube"},{type:"i",name:"pitch"},{type:"i",name:"turns"}],body:[0,[[13,"psi",[6,"std.atan2",[[7,"p","z"],[7,"p","x"]]]],[13,"k",[6,"std.floor",[[1,[1,[1,[7,"p","y"],"/","pitch"],"-",[1,"psi","/","TWO_PI"]],"+",[5,"0.5"]]]]],[13,"theta",[1,"psi","+",[1,"TWO_PI","*","k"]]],[13,"ccx",[1,"R","*",[6,"std.cos",["theta"]]]],[13,"ccy",[1,[1,"pitch","*","theta"],"/","TWO_PI"]],[13,"ccz",[1,"R","*",[6,"std.sin",["theta"]]]],[13,"dStrand",[1,[6,"std.length",[[6,"d.vec3f",[[1,[7,"p","x"],"-","ccx"],[1,[7,"p","y"],"-","ccy"],[1,[7,"p","z"],"-","ccz"]]]]],"-","tube"]],[13,"slab",[1,[6,"std.abs",[[7,"p","y"]]],"-",[1,[1,"pitch","*","turns"],"*",[5,"0.5"]]]],[10,[6,"std.max",["dStrand","slab"]]]]]},externals:{"std.atan2":()=>tt,"std.floor":()=>q,TWO_PI:()=>Ba,"std.cos":()=>H,"std.sin":()=>Y,"std.length":()=>j,"d.vec3f":()=>f,"std.abs":()=>z,"std.max":()=>b}})&&e.f)({})),Sb=pt(f,8),Ab=8,ff=v.fn([f,f,f,f,f,f,f,f,f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=Sb();p[0]=f(s),p[1]=f(r),p[2]=f(o),p[3]=f(n),p[4]=f(i),p[5]=f(d),p[6]=f(c),p[7]=f(_);let y=__tsover_sub(j(t.sub(p[0])),u);for(let h=1;hSb,"d.vec3f":()=>f,"std.length":()=>j,METABALL_COUNT:()=>Ab,smin:()=>uf}})&&e.f)({})),vf=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=f(z(t.x),z(t.y),z(t.z)),o=se(r,f(0,.5257311,.8506508)),n=se(r,f(.8506508,0,.5257311)),i=se(r,f(.5257311,.8506508,0));return __tsover_sub(b(b(o,n),i),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"}],body:[0,[[13,"q",[6,"d.vec3f",[[6,"std.abs",[[7,"p","x"]]],[6,"std.abs",[[7,"p","y"]]],[6,"std.abs",[[7,"p","z"]]]]]],[13,"a",[6,"std.dot",["q",[6,"d.vec3f",[[5,"0"],[5,"0.5257311"],[5,"0.8506508"]]]]]],[13,"b",[6,"std.dot",["q",[6,"d.vec3f",[[5,"0.8506508"],[5,"0"],[5,"0.5257311"]]]]]],[13,"c",[6,"std.dot",["q",[6,"d.vec3f",[[5,"0.5257311"],[5,"0.8506508"],[5,"0"]]]]]],[10,[1,[6,"std.max",[[6,"std.max",["a","b"]],"c"]],"-","r"]]]]},externals:{"d.vec3f":()=>f,"std.abs":()=>z,"std.dot":()=>se,"std.max":()=>b}})&&e.f)({})),yf=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=be(b(__tsover_sub(__tsover_mul(s,s),__tsover_mul(r,r)),0)),n=j(l(t.x,t.z)),i=t.y,d=b(__tsover_add(__tsover_mul(__tsover_mul(__tsover_sub(r,s),n),n),__tsover_mul(__tsover_mul(o,o),__tsover_sub(__tsover_add(r,s),__tsover_mul(i,2)))),__tsover_sub(__tsover_mul(r,n),__tsover_mul(o,i))),c=__tsover_sub(j(l(n,i)),s),_=__tsover_sub(r,i);return C(C(j(l(__tsover_sub(n,o),__tsover_sub(i,r))),_,nbe,"std.max":()=>b,"std.length":()=>j,"d.vec2f":()=>l,"std.select":()=>C}})&&e.f)({})),hf=v.fn([f,a,a,a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=__tsover_mul(n,Y(__tsover_add(__tsover_mul(i,t.x),d))),y=__tsover_mul(__tsover_mul(n,.6),Y(__tsover_add(__tsover_mul(__tsover_mul(i,.8),t.x),c))),h=__tsover_sub(t.y,p),g=__tsover_sub(t.z,y),w=__tsover_add(__tsover_mul(_,t.x),u),S=H(w),T=Y(w),A=__tsover_add(__tsover_mul(h,S),__tsover_mul(g,T)),P=__tsover_sub(__tsover_mul(g,S),__tsover_mul(h,T)),U=__tsover_mul(r,.4),D=__tsover_add(__tsover_sub(z(A),s),U),O=__tsover_add(__tsover_sub(z(P),r),U),L=__tsover_sub(__tsover_add(j(l(b(D,0),b(O,0))),oe(b(D,O),0)),U),G=__tsover_sub(z(t.x),o),W=__tsover_add(j(l(b(L,0),b(G,0))),oe(b(L,G),0));return __tsover_mul(W,m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"w"},{type:"i",name:"th"},{type:"i",name:"len"},{type:"i",name:"amp"},{type:"i",name:"freq"},{type:"i",name:"ph1"},{type:"i",name:"ph2"},{type:"i",name:"twRate"},{type:"i",name:"twPh"},{type:"i",name:"lip"}],body:[0,[[13,"yc",[1,"amp","*",[6,"std.sin",[[1,[1,"freq","*",[7,"p","x"]],"+","ph1"]]]]],[13,"zc",[1,[1,"amp","*",[5,"0.6"]],"*",[6,"std.sin",[[1,[1,[1,"freq","*",[5,"0.8"]],"*",[7,"p","x"]],"+","ph2"]]]]],[13,"qy",[1,[7,"p","y"],"-","yc"]],[13,"qz",[1,[7,"p","z"],"-","zc"]],[13,"ang",[1,[1,"twRate","*",[7,"p","x"]],"+","twPh"]],[13,"c",[6,"std.cos",["ang"]]],[13,"s",[6,"std.sin",["ang"]]],[13,"ry",[1,[1,"qy","*","c"],"+",[1,"qz","*","s"]]],[13,"rz",[1,[1,"qz","*","c"],"-",[1,"qy","*","s"]]],[13,"round",[1,"th","*",[5,"0.4"]]],[13,"bx",[1,[1,[6,"std.abs",["ry"]],"-","w"],"+","round"]],[13,"by",[1,[1,[6,"std.abs",["rz"]],"-","th"],"+","round"]],[13,"d2",[1,[1,[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["bx",[5,"0"]]],[6,"std.max",["by",[5,"0"]]]]]]],"+",[6,"std.min",[[6,"std.max",["bx","by"]],[5,"0"]]]],"-","round"]],[13,"dx",[1,[6,"std.abs",[[7,"p","x"]]],"-","len"]],[13,"dd",[1,[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["d2",[5,"0"]]],[6,"std.max",["dx",[5,"0"]]]]]]],"+",[6,"std.min",[[6,"std.max",["d2","dx"]],[5,"0"]]]]],[10,[1,"dd","*","lip"]]]]},externals:{"std.sin":()=>Y,"std.cos":()=>H,"std.abs":()=>z,"std.length":()=>j,"d.vec2f":()=>l,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),xf=v.fn([f,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(t.x,o),n)),Y(__tsover_add(__tsover_mul(__tsover_mul(t.y,o),1.3),i))),__tsover_mul(Y(__tsover_add(__tsover_mul(__tsover_mul(t.y,o),.8),__tsover_mul(i,1.1))),Y(__tsover_add(__tsover_mul(__tsover_mul(t.z,o),1.1),__tsover_mul(n,.9))))),_=__tsover_sub(__tsover_sub(j(t),s),__tsover_mul(__tsover_mul(r,c),.5));return __tsover_mul(_,d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"amp"},{type:"i",name:"freq"},{type:"i",name:"ph1"},{type:"i",name:"ph2"},{type:"i",name:"lip"}],body:[0,[[13,"w",[1,[1,[6,"std.sin",[[1,[1,[7,"p","x"],"*","freq"],"+","ph1"]]],"*",[6,"std.sin",[[1,[1,[1,[7,"p","y"],"*","freq"],"*",[5,"1.3"]],"+","ph2"]]]],"+",[1,[6,"std.sin",[[1,[1,[1,[7,"p","y"],"*","freq"],"*",[5,"0.8"]],"+",[1,"ph2","*",[5,"1.1"]]]]],"*",[6,"std.sin",[[1,[1,[1,[7,"p","z"],"*","freq"],"*",[5,"1.1"]],"+",[1,"ph1","*",[5,"0.9"]]]]]]]],[13,"dd",[1,[1,[6,"std.length",["p"]],"-","r"],"-",[1,[1,"amp","*","w"],"*",[5,"0.5"]]]],[10,[1,"dd","*","lip"]]]]},externals:{"std.sin":()=>Y,"std.length":()=>j}})&&e.f)({})),nc=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_add(__tsover_sub(z(__tsover_sub(t,r)),o),i),c=__tsover_add(__tsover_sub(z(s),n),i),_=j(l(b(d,0),b(c,0))),u=oe(b(d,c),0);return __tsover_sub(__tsover_add(_,u),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"radialDist"},{type:"i",name:"axialDist"},{type:"i",name:"R"},{type:"i",name:"ht"},{type:"i",name:"hw"},{type:"i",name:"rnd"}],body:[0,[[13,"bx",[1,[1,[6,"std.abs",[[1,"radialDist","-","R"]]],"-","ht"],"+","rnd"]],[13,"by",[1,[1,[6,"std.abs",["axialDist"]],"-","hw"],"+","rnd"]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["bx",[5,"0"]]],[6,"std.max",["by",[5,"0"]]]]]]]],[13,"inner",[6,"std.min",[[6,"std.max",["bx","by"]],[5,"0"]]]],[10,[1,[1,"outer","+","inner"],"-","rnd"]]]]},externals:{"std.abs":()=>z,"std.length":()=>j,"d.vec2f":()=>l,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),gf=v.fn([f,a,a,a,a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p)=>{"use gpu";let y=__tsover_mul(r,.5),h=__tsover_mul(o,.5),g=__tsover_sub(j(t),i),w=__tsover_add(__tsover_mul(t.y,d),__tsover_mul(t.z,c)),S=__tsover_sub(__tsover_mul(t.z,d),__tsover_mul(t.y,c)),T=nc(j(l(t.x,S)),w,s,h,y,n),A=__tsover_sub(__tsover_mul(t.x,_),__tsover_mul(t.z,u)),P=__tsover_add(__tsover_mul(t.z,_),__tsover_mul(t.x,u)),U=nc(j(l(A,t.y)),P,__tsover_mul(s,.78),h,y,n),D=__tsover_add(__tsover_mul(t.x,m),__tsover_mul(t.y,p)),O=nc(j(l(__tsover_sub(__tsover_mul(t.y,m),__tsover_mul(t.x,p)),t.z)),D,__tsover_mul(s,.56),h,y,n);return oe(oe(g,T),oe(U,O))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"radius"},{type:"i",name:"width"},{type:"i",name:"thick"},{type:"i",name:"rnd"},{type:"i",name:"core"},{type:"i",name:"c1"},{type:"i",name:"s1"},{type:"i",name:"c2"},{type:"i",name:"s2"},{type:"i",name:"c3"},{type:"i",name:"s3"}],body:[0,[[13,"hw",[1,"width","*",[5,"0.5"]]],[13,"ht",[1,"thick","*",[5,"0.5"]]],[13,"dCore",[1,[6,"std.length",["p"]],"-","core"]],[13,"p1y",[1,[1,[7,"p","y"],"*","c1"],"+",[1,[7,"p","z"],"*","s1"]]],[13,"p1z",[1,[1,[7,"p","z"],"*","c1"],"-",[1,[7,"p","y"],"*","s1"]]],[13,"d1",[6,"sdFlatBand",[[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],"p1z"]]]],"p1y","radius","ht","hw","rnd"]]],[13,"p2x",[1,[1,[7,"p","x"],"*","c2"],"-",[1,[7,"p","z"],"*","s2"]]],[13,"p2z",[1,[1,[7,"p","z"],"*","c2"],"+",[1,[7,"p","x"],"*","s2"]]],[13,"d2",[6,"sdFlatBand",[[6,"std.length",[[6,"d.vec2f",["p2x",[7,"p","y"]]]]],"p2z",[1,"radius","*",[5,"0.78"]],"ht","hw","rnd"]]],[13,"p3x",[1,[1,[7,"p","x"],"*","c3"],"+",[1,[7,"p","y"],"*","s3"]]],[13,"p3y",[1,[1,[7,"p","y"],"*","c3"],"-",[1,[7,"p","x"],"*","s3"]]],[13,"d3",[6,"sdFlatBand",[[6,"std.length",[[6,"d.vec2f",["p3y",[7,"p","z"]]]]],"p3x",[1,"radius","*",[5,"0.56"]],"ht","hw","rnd"]]],[10,[6,"std.min",[[6,"std.min",["dCore","d1"]],[6,"std.min",["d2","d3"]]]]]]]},externals:{"std.length":()=>j,sdFlatBand:()=>nc,"d.vec2f":()=>l,"std.min":()=>oe}})&&e.f)({})),Hc=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cx:a,sx:a,cy:a,sy:a,cz:a,sz:a}),"RotStruct"),yl=v.fn([f,Hc],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_add(__tsover_mul(t.x,s.cy),__tsover_mul(t.z,s.sy)),o=__tsover_sub(__tsover_mul(t.z,s.cy),__tsover_mul(t.x,s.sy)),n=__tsover_sub(__tsover_mul(t.y,s.cx),__tsover_mul(o,s.sx)),i=__tsover_add(__tsover_mul(t.y,s.sx),__tsover_mul(o,s.cx));return f(__tsover_sub(__tsover_mul(r,s.cz),__tsover_mul(n,s.sz)),__tsover_add(__tsover_mul(r,s.sz),__tsover_mul(n,s.cz)),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"rot"}],body:[0,[[13,"x1",[1,[1,[7,"v","x"],"*",[7,"rot","cy"]],"+",[1,[7,"v","z"],"*",[7,"rot","sy"]]]],[13,"z1",[1,[1,[7,"v","z"],"*",[7,"rot","cy"]],"-",[1,[7,"v","x"],"*",[7,"rot","sy"]]]],[13,"y2",[1,[1,[7,"v","y"],"*",[7,"rot","cx"]],"-",[1,"z1","*",[7,"rot","sx"]]]],[13,"z2",[1,[1,[7,"v","y"],"*",[7,"rot","sx"]],"+",[1,"z1","*",[7,"rot","cx"]]]],[13,"x3",[1,[1,"x1","*",[7,"rot","cz"]],"-",[1,"y2","*",[7,"rot","sz"]]]],[13,"y3",[1,[1,"x1","*",[7,"rot","sz"]],"+",[1,"y2","*",[7,"rot","cz"]]]],[10,[6,"d.vec3f",["x3","y3","z2"]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({}));function oy(e,t="none",s="span"){let r=_o()?64:96,o=_o()?224:384,n=_o()?140:220;return v.fn([l,Hc,a],x)((i=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(i.f=((d,c,_)=>{"use gpu";let u=f(__tsover_sub(d.x,.5),__tsover_sub(.5,d.y),-1.2),m=f(0,0,1),p=yl(u,c),y=yl(m,c),h=Z($(__tsover_mul(_,a(n)),a(r),a(o))),g=se(p,y),w=be(b(__tsover_sub(se(p,p),__tsover_mul(g,g)),0)),S=be(b(__tsover_sub(__tsover_mul(_,_),__tsover_mul(w,w)),0)),T=b(__tsover_sub(__tsover_mul(g,-1),S),0),A=__tsover_add(__tsover_add(__tsover_mul(g,-1),S),.01),P=T,U=T,D=a(10),O=a(0);for(let Q=0;QA)break;U=P,P=__tsover_add(P,b(te,.002))}let L=D,G=a(0),W=a(0),K=__tsover_add(A,.4);if(O>.5){let Q=U,te=P;for(let Te=0;Te<10;Te++){let Ue=__tsover_mul(__tsover_add(Q,te),.5);e(p.add(y.mul(Ue)))>0?Q=Ue:te=Ue}let ee=__tsover_mul(__tsover_add(Q,te),.5),he=ee;if(s==="firstLobe"){let Te=te,Ue=__tsover_add(te,.002);for(let Re=0;Re=0||(Te=Ue,Ue=__tsover_add(Ue,b(__tsover_mul(de,-1),.002)),Ue>A))break}let Me=Te,Pe=Ue;for(let Re=0;Re<10;Re++){let de=__tsover_mul(__tsover_add(Me,Pe),.5);e(p.add(y.mul(de)))<0?Me=de:Pe=de}he=__tsover_mul(__tsover_add(Me,Pe),.5)}if(s==="span"){let Te=p.add(y.mul(A)),Ue=__tsover_add(__tsover_sub(A,T),.01),Me=a(0),Pe=a(0);for(let je=0;jeUe)break;Pe=Me,Me=__tsover_add(Me,b(fe,.002))}let Re=Pe,de=Me;for(let je=0;je<10;je++){let fe=__tsover_mul(__tsover_add(Re,de),.5);e(Te.sub(y.mul(fe)))>0?Re=fe:de=fe}he=__tsover_sub(A,__tsover_mul(__tsover_add(Re,de),.5))}let Ee=__tsover_mul(b(__tsover_sub(he,ee),0),.5);if(L=__tsover_mul(Ee,-1),K=ee,t==="raw"){let Te=p.add(y.mul(ee));G=__tsover_add(Te.x,__tsover_mul(Te.z,.7)),W=__tsover_add(Te.y,__tsover_mul(Te.z,.5))}if(t==="triplanar"){let Te=p.add(y.mul(ee)),Ue=.004,Me=__tsover_sub(e(f(__tsover_add(Te.x,Ue),Te.y,Te.z)),e(f(__tsover_sub(Te.x,Ue),Te.y,Te.z))),Pe=__tsover_sub(e(f(Te.x,__tsover_add(Te.y,Ue),Te.z)),e(f(Te.x,__tsover_sub(Te.y,Ue),Te.z))),Re=__tsover_sub(e(f(Te.x,Te.y,__tsover_add(Te.z,Ue))),e(f(Te.x,Te.y,__tsover_sub(Te.z,Ue)))),de=z(Me),je=z(Pe),fe=z(Re),Ke=l(__tsover_add(Te.y,2.17),__tsover_add(Te.z,5.31)),Ze=l(__tsover_add(Te.z,7.73),__tsover_add(Te.x,1.13)),at=C(l(Te.x,Te.y),Ze,je>=fe),Fe=C(at,C(at,Ke,de>=fe),de>=je);G=Fe.x,W=Fe.y}}return x(L,G,W,K)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fuv"},{type:"i",name:"rot"},{type:"i",name:"rBound"}],body:[0,[[13,"ro0",[6,"d.vec3f",[[1,[7,"fuv","x"],"-",[5,"0.5"]],[1,[5,"0.5"],"-",[7,"fuv","y"]],[4,"-",[5,"1.2"]]]]],[13,"rd0",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"1"]]]],[13,"ro",[6,"rotateVec3",["ro0","rot"]]],[13,"rd",[6,"rotateVec3",["rd0","rot"]]],[13,"steps",[6,"d.i32",[[6,"std.clamp",[[1,"rBound","*",[6,"d.f32",["STEP_SCALE"]]],[6,"d.f32",["STEP_MIN"]],[6,"d.f32",["STEP_MAX"]]]]]]],[13,"b",[6,"std.dot",["ro","rd"]]],[13,"perp",[6,"std.sqrt",[[6,"std.max",[[1,[6,"std.dot",["ro","ro"]],"-",[1,"b","*","b"]],[5,"0"]]]]]],[13,"halfSpan",[6,"std.sqrt",[[6,"std.max",[[1,[1,"rBound","*","rBound"],"-",[1,"perp","*","perp"]],[5,"0"]]]]]],[13,"tStart",[6,"std.max",[[1,[1,"b","*",[4,"-",[5,"1"]]],"-","halfSpan"],[5,"0"]]]],[13,"tEnd",[1,[1,[1,"b","*",[4,"-",[5,"1"]]],"+","halfSpan"],"+",[5,"0.01"]]],[12,"t","tStart"],[12,"tPrev","tStart"],[12,"minD",[6,"d.f32",[[5,"10"]]]],[12,"hit",[6,"d.f32",[[5,"0"]]]],[14,[12,"i",[5,"0"]],[1,"i","<","steps"],[102,"++","i"],[0,[[13,"p",[6,[7,"ro","add"],[[6,[7,"rd","mul"],["t"]]]]],[13,"dd",[6,"sdfFn",["p"]]],[2,"minD","=",[6,"std.min",["minD","dd"]]],[11,[1,"dd","<",[5,"0"]],[0,[[2,"hit","=",[6,"d.f32",[[5,"1"]]]],[17]]]],[11,[1,"t",">","tEnd"],[0,[[17]]]],[2,"tPrev","=","t"],[2,"t","=",[1,"t","+",[6,"std.max",["dd",[5,"0.002"]]]]]]]],[12,"fieldVal","minD"],[12,"patternU",[6,"d.f32",[[5,"0"]]]],[12,"patternV",[6,"d.f32",[[5,"0"]]]],[12,"viewDepth",[1,"tEnd","+",[5,"0.4"]]],[11,[1,"hit",">",[5,"0.5"]],[0,[[12,"eLo","tPrev"],[12,"eHi","t"],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"10"]],[102,"++","i"],[0,[[13,"mid",[1,[1,"eLo","+","eHi"],"*",[5,"0.5"]]],[13,"dm",[6,"sdfFn",[[6,[7,"ro","add"],[[6,[7,"rd","mul"],["mid"]]]]]]],[11,[1,"dm",">",[5,"0"]],[0,[[2,"eLo","=","mid"]]],[0,[[2,"eHi","=","mid"]]]]]]],[13,"tEnter",[1,[1,"eLo","+","eHi"],"*",[5,"0.5"]]],[12,"tExit","tEnter"],[11,[1,"chordMode","===",[103,"firstLobe"]],[0,[[12,"sInPrev","eHi"],[12,"sIn",[1,"eHi","+",[5,"0.002"]]],[14,[12,"i",[5,"0"]],[1,"i","<","steps"],[102,"++","i"],[0,[[13,"dd",[6,"sdfFn",[[6,[7,"ro","add"],[[6,[7,"rd","mul"],["sIn"]]]]]]],[11,[1,"dd",">=",[5,"0"]],[0,[[17]]]],[2,"sInPrev","=","sIn"],[2,"sIn","=",[1,"sIn","+",[6,"std.max",[[1,"dd","*",[4,"-",[5,"1"]]],[5,"0.002"]]]]],[11,[1,"sIn",">","tEnd"],[0,[[17]]]]]]],[12,"fLo","sInPrev"],[12,"fHi","sIn"],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"10"]],[102,"++","i"],[0,[[13,"mid",[1,[1,"fLo","+","fHi"],"*",[5,"0.5"]]],[13,"dm",[6,"sdfFn",[[6,[7,"ro","add"],[[6,[7,"rd","mul"],["mid"]]]]]]],[11,[1,"dm","<",[5,"0"]],[0,[[2,"fLo","=","mid"]]],[0,[[2,"fHi","=","mid"]]]]]]],[2,"tExit","=",[1,[1,"fLo","+","fHi"],"*",[5,"0.5"]]]]]],[11,[1,"chordMode","===",[103,"span"]],[0,[[13,"roB",[6,[7,"ro","add"],[[6,[7,"rd","mul"],["tEnd"]]]]],[13,"span",[1,[1,"tEnd","-","tStart"],"+",[5,"0.01"]]],[12,"s",[6,"d.f32",[[5,"0"]]]],[12,"sPrev",[6,"d.f32",[[5,"0"]]]],[14,[12,"i",[5,"0"]],[1,"i","<","steps"],[102,"++","i"],[0,[[13,"p",[6,[7,"roB","sub"],[[6,[7,"rd","mul"],["s"]]]]],[13,"dd",[6,"sdfFn",["p"]]],[11,[1,"dd","<",[5,"0"]],[0,[[17]]]],[11,[1,"s",">","span"],[0,[[17]]]],[2,"sPrev","=","s"],[2,"s","=",[1,"s","+",[6,"std.max",["dd",[5,"0.002"]]]]]]]],[12,"xLo","sPrev"],[12,"xHi","s"],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"10"]],[102,"++","i"],[0,[[13,"mid",[1,[1,"xLo","+","xHi"],"*",[5,"0.5"]]],[13,"dm",[6,"sdfFn",[[6,[7,"roB","sub"],[[6,[7,"rd","mul"],["mid"]]]]]]],[11,[1,"dm",">",[5,"0"]],[0,[[2,"xLo","=","mid"]]],[0,[[2,"xHi","=","mid"]]]]]]],[2,"tExit","=",[1,"tEnd","-",[1,[1,"xLo","+","xHi"],"*",[5,"0.5"]]]]]]],[13,"halfChord",[1,[6,"std.max",[[1,"tExit","-","tEnter"],[5,"0"]]],"*",[5,"0.5"]]],[2,"fieldVal","=",[1,"halfChord","*",[4,"-",[5,"1"]]]],[2,"viewDepth","=","tEnter"],[11,[1,"patternMode","===",[103,"raw"]],[0,[[13,"hp",[6,[7,"ro","add"],[[6,[7,"rd","mul"],["tEnter"]]]]],[2,"patternU","=",[1,[7,"hp","x"],"+",[1,[7,"hp","z"],"*",[5,"0.7"]]]],[2,"patternV","=",[1,[7,"hp","y"],"+",[1,[7,"hp","z"],"*",[5,"0.5"]]]]]]],[11,[1,"patternMode","===",[103,"triplanar"]],[0,[[13,"hp",[6,[7,"ro","add"],[[6,[7,"rd","mul"],["tEnter"]]]]],[13,"e2",[5,"0.004"]],[13,"nlx",[1,[6,"sdfFn",[[6,"d.vec3f",[[1,[7,"hp","x"],"+","e2"],[7,"hp","y"],[7,"hp","z"]]]]],"-",[6,"sdfFn",[[6,"d.vec3f",[[1,[7,"hp","x"],"-","e2"],[7,"hp","y"],[7,"hp","z"]]]]]]],[13,"nly",[1,[6,"sdfFn",[[6,"d.vec3f",[[7,"hp","x"],[1,[7,"hp","y"],"+","e2"],[7,"hp","z"]]]]],"-",[6,"sdfFn",[[6,"d.vec3f",[[7,"hp","x"],[1,[7,"hp","y"],"-","e2"],[7,"hp","z"]]]]]]],[13,"nlz",[1,[6,"sdfFn",[[6,"d.vec3f",[[7,"hp","x"],[7,"hp","y"],[1,[7,"hp","z"],"+","e2"]]]]],"-",[6,"sdfFn",[[6,"d.vec3f",[[7,"hp","x"],[7,"hp","y"],[1,[7,"hp","z"],"-","e2"]]]]]]],[13,"anx",[6,"std.abs",["nlx"]]],[13,"anyv",[6,"std.abs",["nly"]]],[13,"anz",[6,"std.abs",["nlz"]]],[13,"branch1",[6,"d.vec2f",[[1,[7,"hp","y"],"+",[5,"2.17"]],[1,[7,"hp","z"],"+",[5,"5.31"]]]]],[13,"branch2",[6,"d.vec2f",[[1,[7,"hp","z"],"+",[5,"7.73"]],[1,[7,"hp","x"],"+",[5,"1.13"]]]]],[13,"branch3",[6,"d.vec2f",[[7,"hp","x"],[7,"hp","y"]]]],[13,"branch23",[6,"std.select",["branch3","branch2",[1,"anyv",">=","anz"]]]],[13,"innerPick",[6,"std.select",["branch23","branch1",[1,"anx",">=","anz"]]]],[13,"pattern",[6,"std.select",["branch23","innerPick",[1,"anx",">=","anyv"]]]],[2,"patternU","=",[7,"pattern","x"]],[2,"patternV","=",[7,"pattern","y"]]]]]]]],[10,[6,"d.vec4f",["fieldVal","patternU","patternV","viewDepth"]]]]]},externals:{"d.vec3f":()=>f,rotateVec3:()=>yl,"d.i32":()=>Z,"std.clamp":()=>$,"d.f32":()=>a,STEP_SCALE:()=>n,STEP_MIN:()=>r,STEP_MAX:()=>o,"std.dot":()=>se,"std.sqrt":()=>be,"std.max":()=>b,sdfFn:()=>e,"std.min":()=>oe,chordMode:()=>s,patternMode:()=>t,"std.abs":()=>z,"d.vec2f":()=>l,"std.select":()=>C,"d.vec4f":()=>x}})&&i.f)({})).$name("raymarchedField")}function pG(e,t="none",s="span"){return oy(e,t,s)}var c1="rgba32float",H7=1536;function jc(){return _o()?768:H7}var fG=[256,320,384,512,640,768,896,1024,1280,1536];function j7(e,t,s,r,o,n){if(!(r>0)||!(s>0))return o;let i=_o()?.5:1,d=Math.max(e,t)*s*r*i,c=o;for(let _ of fG){if(_>o)break;if(_>=d){c=_;break}}return n>0&&cn*.78&&(c=Math.min(n,o)),c}var Cn=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({rot:n5(16,a5(32,Hc)),rBound:a,spanX:a,spanY:a,originX:a,originY:a,activeRes:R,pA:a,pB:a,pC:a,pD:a,mb0:f,mb1:f,mb2:f,mb3:f,mb4:f,mb5:f,mb6:f,mb7:f}),"MarchParams");function ny(){return{layout:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({field:{storageTexture:Mo(c1,"write-only")},params:{uniform:Cn}}),"layout"),MarchParams:Cn}}function K7(e,t){return v.fn([R,R])((s=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(s.f=((r,o)=>{"use gpu";let n=e.$.params,i=a(n.activeRes),d=t(l(__tsover_add(n.originX,__tsover_mul(__tsover_div(__tsover_add(a(r),.5),i),n.spanX)),__tsover_add(n.originY,__tsover_mul(__tsover_div(__tsover_add(a(o),.5),i),n.spanY))),n.rot,n.rBound);jr(e.$.field,Ge(r,o),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"p",[7,[7,"layout","$"],"params"]],[13,"activeResF",[6,"d.f32",[[7,"p","activeRes"]]]],[13,"uv",[6,"d.vec2f",[[1,[7,"p","originX"],"+",[1,[1,[1,[6,"d.f32",["cx"]],"+",[5,"0.5"]],"/","activeResF"],"*",[7,"p","spanX"]]],[1,[7,"p","originY"],"+",[1,[1,[1,[6,"d.f32",["cy"]],"+",[5,"0.5"]],"/","activeResF"],"*",[7,"p","spanY"]]]]]],[13,"field",[6,"marchFn",["uv",[7,"p","rot"],[7,"p","rBound"]]]],[6,"std.textureStore",[[7,[7,"layout","$"],"field"],[6,"d.vec2u",["cx","cy"]],"field"]]]]},externals:{layout:()=>e,"d.f32":()=>a,"d.vec2f":()=>l,marchFn:()=>t,"std.textureStore":()=>jr,"d.vec2u":()=>Ge}})&&s.f)({})).$name("volumetricFieldMarch")}var bf=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({originX:a,originY:a,spanX:a,spanY:a,activeResF:a,rBound:a}),"SampleParams");function vG(){let e=(globalThis.__TYPEGPU_AUTONAME__??(s=>s))(v.bindGroupLayout({field:{texture:ps(a),sampleType:"unfilterable-float"},params:{uniform:bf}}),"sampleLayout"),t=v.fn([a,a],x)((s=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(s.f=((r,o)=>{"use gpu";let n=__tsover_sub(e.$.params.activeResF,1),i=R($(r,a(0),n)),d=R($(o,a(0),n));return Be(e.$.field,Ge(i,d),0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"xi"},{type:"i",name:"yi"}],body:[0,[[13,"maxT",[1,[7,[7,[7,"sampleLayout","$"],"params"],"activeResF"],"-",[5,"1"]]],[13,"tx",[6,"d.u32",[[6,"std.clamp",["xi",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"ty",[6,"d.u32",[[6,"std.clamp",["yi",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[10,[6,"std.textureLoad",[[7,[7,"sampleLayout","$"],"field"],[6,"d.vec2u",["tx","ty"]],[5,"0"]]]]]]},externals:{sampleLayout:()=>e,"d.u32":()=>R,"std.clamp":()=>$,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge}})&&s.f)({})).$name("fieldFetchTexel");return{sampleLayout:e,fieldSample:v.fn([l],x)((s=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(s.f=(r=>{"use gpu";let o=e.$.params,n=$(r.x,o.originX,__tsover_add(o.originX,o.spanX)),i=$(r.y,o.originY,__tsover_add(o.originY,o.spanY)),d=j(l(__tsover_sub(r.x,n),__tsover_sub(r.y,i))),c=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(n,o.originX),o.spanX),o.activeResF),.5),_=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(i,o.originY),o.spanY),o.activeResF),.5),u=q(c),m=q(_),p=__tsover_sub(c,u),y=__tsover_sub(_,m),h=__tsover_mul(p,p),g=__tsover_mul(h,p),w=__tsover_sub(__tsover_add(__tsover_mul(g,-.5),h),__tsover_mul(p,.5)),S=__tsover_add(__tsover_sub(__tsover_mul(g,1.5),__tsover_mul(h,2.5)),1),T=__tsover_add(__tsover_add(__tsover_mul(g,-1.5),__tsover_mul(h,2)),__tsover_mul(p,.5)),A=__tsover_sub(__tsover_mul(g,.5),__tsover_mul(h,.5)),P=__tsover_mul(y,y),U=__tsover_mul(P,y),D=__tsover_sub(__tsover_add(__tsover_mul(U,-.5),P),__tsover_mul(y,.5)),O=__tsover_add(__tsover_sub(__tsover_mul(U,1.5),__tsover_mul(P,2.5)),1),L=__tsover_add(__tsover_add(__tsover_mul(U,-1.5),__tsover_mul(P,2)),__tsover_mul(y,.5)),G=__tsover_sub(__tsover_mul(U,.5),__tsover_mul(P,.5)),W=t(__tsover_sub(u,1),__tsover_sub(m,1)),K=t(u,__tsover_sub(m,1)),Q=t(__tsover_add(u,1),__tsover_sub(m,1)),te=t(__tsover_add(u,2),__tsover_sub(m,1)),ee=t(__tsover_sub(u,1),m),he=t(u,m),Ee=t(__tsover_add(u,1),m),Te=t(__tsover_add(u,2),m),Ue=t(__tsover_sub(u,1),__tsover_add(m,1)),Me=t(u,__tsover_add(m,1)),Pe=t(__tsover_add(u,1),__tsover_add(m,1)),Re=t(__tsover_add(u,2),__tsover_add(m,1)),de=t(__tsover_sub(u,1),__tsover_add(m,2)),je=t(u,__tsover_add(m,2)),fe=t(__tsover_add(u,1),__tsover_add(m,2)),Ke=t(__tsover_add(u,2),__tsover_add(m,2)),Ze=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(W.r,w),D),__tsover_mul(__tsover_mul(K.r,S),D)),__tsover_mul(__tsover_mul(Q.r,T),D)),__tsover_mul(__tsover_mul(te.r,A),D)),__tsover_mul(__tsover_mul(ee.r,w),O)),__tsover_mul(__tsover_mul(he.r,S),O)),__tsover_mul(__tsover_mul(Ee.r,T),O)),__tsover_mul(__tsover_mul(Te.r,A),O)),__tsover_mul(__tsover_mul(Ue.r,w),L)),__tsover_mul(__tsover_mul(Me.r,S),L)),__tsover_mul(__tsover_mul(Pe.r,T),L)),__tsover_mul(__tsover_mul(Re.r,A),L)),__tsover_mul(__tsover_mul(de.r,w),G)),__tsover_mul(__tsover_mul(je.r,S),G)),__tsover_mul(__tsover_mul(fe.r,T),G)),__tsover_mul(__tsover_mul(Ke.r,A),G)),at=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(W.a,w),D),__tsover_mul(__tsover_mul(K.a,S),D)),__tsover_mul(__tsover_mul(Q.a,T),D)),__tsover_mul(__tsover_mul(te.a,A),D)),__tsover_mul(__tsover_mul(ee.a,w),O)),__tsover_mul(__tsover_mul(he.a,S),O)),__tsover_mul(__tsover_mul(Ee.a,T),O)),__tsover_mul(__tsover_mul(Te.a,A),O)),__tsover_mul(__tsover_mul(Ue.a,w),L)),__tsover_mul(__tsover_mul(Me.a,S),L)),__tsover_mul(__tsover_mul(Pe.a,T),L)),__tsover_mul(__tsover_mul(Re.a,A),L)),__tsover_mul(__tsover_mul(de.a,w),G)),__tsover_mul(__tsover_mul(je.a,S),G)),__tsover_mul(__tsover_mul(fe.a,T),G)),__tsover_mul(__tsover_mul(Ke.a,A),G)),Fe=X(X(he,Ee,p),X(Me,Pe,p),y),Ie=oe(oe(he.r,Ee.r),oe(Me.r,Pe.r)),st=b(b(he.r,Ee.r),b(Me.r,Pe.r)),Xe=$(at,oe(oe(he.a,Ee.a),oe(Me.a,Pe.a)),b(b(he.a,Ee.a),b(Me.a,Pe.a))),We=__tsover_add($(Ze,Ie,st),d);return x(X(We,b(__tsover_sub(j(l(__tsover_sub(r.x,.5),__tsover_sub(r.y,.5))),o.rBound),We),re(a(0),.25,d)),Fe.g,Fe.b,Xe)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"p",[7,[7,"sampleLayout","$"],"params"]],[13,"uxc",[6,"std.clamp",[[7,"uv","x"],[7,"p","originX"],[1,[7,"p","originX"],"+",[7,"p","spanX"]]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],[7,"p","originY"],[1,[7,"p","originY"],"+",[7,"p","spanY"]]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-",[7,"p","originX"]],"/",[7,"p","spanX"]],"*",[7,"p","activeResF"]],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-",[7,"p","originY"]],"/",[7,"p","spanY"]],"*",[7,"p","activeResF"]],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"tx2",[1,"fx","*","fx"]],[13,"tx3",[1,"tx2","*","fx"]],[13,"wx0",[1,[1,[1,"tx3","*",[4,"-",[5,"0.5"]]],"+","tx2"],"-",[1,"fx","*",[5,"0.5"]]]],[13,"wx1",[1,[1,[1,"tx3","*",[5,"1.5"]],"-",[1,"tx2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wx2",[1,[1,[1,"tx3","*",[4,"-",[5,"1.5"]]],"+",[1,"tx2","*",[5,"2"]]],"+",[1,"fx","*",[5,"0.5"]]]],[13,"wx3",[1,[1,"tx3","*",[5,"0.5"]],"-",[1,"tx2","*",[5,"0.5"]]]],[13,"ty2",[1,"fy","*","fy"]],[13,"ty3",[1,"ty2","*","fy"]],[13,"wy0",[1,[1,[1,"ty3","*",[4,"-",[5,"0.5"]]],"+","ty2"],"-",[1,"fy","*",[5,"0.5"]]]],[13,"wy1",[1,[1,[1,"ty3","*",[5,"1.5"]],"-",[1,"ty2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wy2",[1,[1,[1,"ty3","*",[4,"-",[5,"1.5"]]],"+",[1,"ty2","*",[5,"2"]]],"+",[1,"fy","*",[5,"0.5"]]]],[13,"wy3",[1,[1,"ty3","*",[5,"0.5"]],"-",[1,"ty2","*",[5,"0.5"]]]],[13,"k00",[6,"fetchTexel",[[1,"x0","-",[5,"1"]],[1,"y0","-",[5,"1"]]]]],[13,"k01",[6,"fetchTexel",["x0",[1,"y0","-",[5,"1"]]]]],[13,"k02",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],[1,"y0","-",[5,"1"]]]]],[13,"k03",[6,"fetchTexel",[[1,"x0","+",[5,"2"]],[1,"y0","-",[5,"1"]]]]],[13,"k10",[6,"fetchTexel",[[1,"x0","-",[5,"1"]],"y0"]]],[13,"k11",[6,"fetchTexel",["x0","y0"]]],[13,"k12",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],"y0"]]],[13,"k13",[6,"fetchTexel",[[1,"x0","+",[5,"2"]],"y0"]]],[13,"k20",[6,"fetchTexel",[[1,"x0","-",[5,"1"]],[1,"y0","+",[5,"1"]]]]],[13,"k21",[6,"fetchTexel",["x0",[1,"y0","+",[5,"1"]]]]],[13,"k22",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],[1,"y0","+",[5,"1"]]]]],[13,"k23",[6,"fetchTexel",[[1,"x0","+",[5,"2"]],[1,"y0","+",[5,"1"]]]]],[13,"k30",[6,"fetchTexel",[[1,"x0","-",[5,"1"]],[1,"y0","+",[5,"2"]]]]],[13,"k31",[6,"fetchTexel",["x0",[1,"y0","+",[5,"2"]]]]],[13,"k32",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],[1,"y0","+",[5,"2"]]]]],[13,"k33",[6,"fetchTexel",[[1,"x0","+",[5,"2"]],[1,"y0","+",[5,"2"]]]]],[13,"rAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","r"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","r"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","r"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","r"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","r"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","r"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","r"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","r"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","r"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","r"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","r"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","r"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","r"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","r"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","r"],"*","wx3"],"*","wy3"]]],[13,"aAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","a"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","a"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","a"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","a"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","a"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","a"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","a"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","a"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","a"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","a"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","a"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","a"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","a"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","a"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","a"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","a"],"*","wx3"],"*","wy3"]]],[13,"bl",[6,"std.mix",[[6,"std.mix",["k11","k12","fx"]],[6,"std.mix",["k21","k22","fx"]],"fy"]]],[13,"rMin",[6,"std.min",[[6,"std.min",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.min",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"rMax",[6,"std.max",[[6,"std.max",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.max",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"aMin",[6,"std.min",[[6,"std.min",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.min",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aMax",[6,"std.max",[[6,"std.max",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.max",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aOut",[6,"std.clamp",["aAcc","aMin","aMax"]]],[13,"rNear",[1,[6,"std.clamp",["rAcc","rMin","rMax"]],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-",[7,"p","rBound"]]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"bl","g"],[7,"bl","b"],"aOut"]]]]]},externals:{sampleLayout:()=>e,"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,fetchTexel:()=>t,"std.mix":()=>X,"std.min":()=>oe,"std.max":()=>b,"std.smoothstep":()=>re,"d.f32":()=>a,"d.vec4f":()=>x}})&&s.f)({})).$name("fieldSample"),fieldSampleFast:v.fn([l],x)((s=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(s.f=(r=>{"use gpu";let o=e.$.params,n=$(r.x,o.originX,__tsover_add(o.originX,o.spanX)),i=$(r.y,o.originY,__tsover_add(o.originY,o.spanY)),d=j(l(__tsover_sub(r.x,n),__tsover_sub(r.y,i))),c=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(n,o.originX),o.spanX),o.activeResF),.5),_=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(i,o.originY),o.spanY),o.activeResF),.5),u=q(c),m=q(_),p=__tsover_sub(c,u),y=__tsover_sub(_,m),h=t(u,m),g=t(__tsover_add(u,1),m),w=t(u,__tsover_add(m,1)),S=t(__tsover_add(u,1),__tsover_add(m,1)),T=X(X(h,g,p),X(w,S,p),y),A=__tsover_add(T.r,d);return x(X(A,b(__tsover_sub(j(l(__tsover_sub(r.x,.5),__tsover_sub(r.y,.5))),o.rBound),A),re(a(0),.25,d)),T.g,T.b,T.a)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"p",[7,[7,"sampleLayout","$"],"params"]],[13,"uxc",[6,"std.clamp",[[7,"uv","x"],[7,"p","originX"],[1,[7,"p","originX"],"+",[7,"p","spanX"]]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],[7,"p","originY"],[1,[7,"p","originY"],"+",[7,"p","spanY"]]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-",[7,"p","originX"]],"/",[7,"p","spanX"]],"*",[7,"p","activeResF"]],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-",[7,"p","originY"]],"/",[7,"p","spanY"]],"*",[7,"p","activeResF"]],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"t00",[6,"fetchTexel",["x0","y0"]]],[13,"t10",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],"y0"]]],[13,"t01",[6,"fetchTexel",["x0",[1,"y0","+",[5,"1"]]]]],[13,"t11",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],[1,"y0","+",[5,"1"]]]]],[13,"bl",[6,"std.mix",[[6,"std.mix",["t00","t10","fx"]],[6,"std.mix",["t01","t11","fx"]],"fy"]]],[13,"rNear",[1,[7,"bl","r"],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-",[7,"p","rBound"]]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"bl","g"],[7,"bl","b"],[7,"bl","a"]]]]]]},externals:{sampleLayout:()=>e,"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,fetchTexel:()=>t,"std.mix":()=>X,"std.max":()=>b,"std.smoothstep":()=>re,"d.f32":()=>a,"d.vec4f":()=>x}})&&s.f)({})).$name("fieldSampleFast"),SampleParams:bf}}function Z7(e,t,s,r,o={}){let n=jc(),i=(globalThis.__TYPEGPU_AUTONAME__??(m=>m))(e.createTexture({size:[n,n],format:c1}).$usage("storage","sampled"),"fieldTexture"),d=o.paramsUniform??e.createUniform(Cn);r(()=>i.destroy());let c=e.createBindGroup(t,{field:i,params:d.buffer,...o.sdfSourceTexture?{sdfSource:o.sdfSourceTexture}:{}}),_=qp(e,(m=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(m.f=((p,y)=>{"use gpu";s(p,y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[6,"kernel",["cx","cy"]]]]},externals:{kernel:()=>s}})&&m.f)({}),{bindGroup:c});for(let m of o.extraBindGroups??[])_=_.with(m);let u=n;return{computeStep:_,fieldTexture:i,maxRes:n,get activeRes(){return u},writeParams(m){d.write(m)},dispatch(m){u=m,_.dispatchThreads(m,m)}}}function Q7(){return{layout:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({field:{storageTexture:Mo(c1,"write-only")},params:{uniform:Cn},sdfSource:{texture:ps(a)}}),"layout"),MarchParams:Cn}}function ay(){return{fieldSampleArg:v.fn([l,ps(a),a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=$(t.x,r,__tsover_add(r,n)),u=$(t.y,o,__tsover_add(o,i)),m=j(l(__tsover_sub(t.x,_),__tsover_sub(t.y,u))),p=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(_,r),n),d),.5),y=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(u,o),i),d),.5),h=q(p),g=q(y),w=__tsover_sub(p,h),S=__tsover_sub(y,g),T=__tsover_mul(w,w),A=__tsover_mul(T,w),P=__tsover_sub(__tsover_add(__tsover_mul(A,-.5),T),__tsover_mul(w,.5)),U=__tsover_add(__tsover_sub(__tsover_mul(A,1.5),__tsover_mul(T,2.5)),1),D=__tsover_add(__tsover_add(__tsover_mul(A,-1.5),__tsover_mul(T,2)),__tsover_mul(w,.5)),O=__tsover_sub(__tsover_mul(A,.5),__tsover_mul(T,.5)),L=__tsover_mul(S,S),G=__tsover_mul(L,S),W=__tsover_sub(__tsover_add(__tsover_mul(G,-.5),L),__tsover_mul(S,.5)),K=__tsover_add(__tsover_sub(__tsover_mul(G,1.5),__tsover_mul(L,2.5)),1),Q=__tsover_add(__tsover_add(__tsover_mul(G,-1.5),__tsover_mul(L,2)),__tsover_mul(S,.5)),te=__tsover_sub(__tsover_mul(G,.5),__tsover_mul(L,.5)),ee=__tsover_sub(d,1),he=R($(__tsover_sub(h,1),a(0),ee)),Ee=R($(h,a(0),ee)),Te=R($(__tsover_add(h,1),a(0),ee)),Ue=R($(__tsover_add(h,2),a(0),ee)),Me=R($(__tsover_sub(g,1),a(0),ee)),Pe=R($(g,a(0),ee)),Re=R($(__tsover_add(g,1),a(0),ee)),de=R($(__tsover_add(g,2),a(0),ee)),je=Be(s,Ge(he,Me),0),fe=Be(s,Ge(Ee,Me),0),Ke=Be(s,Ge(Te,Me),0),Ze=Be(s,Ge(Ue,Me),0),at=Be(s,Ge(he,Pe),0),Fe=Be(s,Ge(Ee,Pe),0),Ie=Be(s,Ge(Te,Pe),0),st=Be(s,Ge(Ue,Pe),0),Xe=Be(s,Ge(he,Re),0),We=Be(s,Ge(Ee,Re),0),Ve=Be(s,Ge(Te,Re),0),Ft=Be(s,Ge(Ue,Re),0),Gt=Be(s,Ge(he,de),0),os=Be(s,Ge(Ee,de),0),bs=Be(s,Ge(Te,de),0),ls=Be(s,Ge(Ue,de),0),As=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(je.r,P),W),__tsover_mul(__tsover_mul(fe.r,U),W)),__tsover_mul(__tsover_mul(Ke.r,D),W)),__tsover_mul(__tsover_mul(Ze.r,O),W)),__tsover_mul(__tsover_mul(at.r,P),K)),__tsover_mul(__tsover_mul(Fe.r,U),K)),__tsover_mul(__tsover_mul(Ie.r,D),K)),__tsover_mul(__tsover_mul(st.r,O),K)),__tsover_mul(__tsover_mul(Xe.r,P),Q)),__tsover_mul(__tsover_mul(We.r,U),Q)),__tsover_mul(__tsover_mul(Ve.r,D),Q)),__tsover_mul(__tsover_mul(Ft.r,O),Q)),__tsover_mul(__tsover_mul(Gt.r,P),te)),__tsover_mul(__tsover_mul(os.r,U),te)),__tsover_mul(__tsover_mul(bs.r,D),te)),__tsover_mul(__tsover_mul(ls.r,O),te)),vs=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(je.a,P),W),__tsover_mul(__tsover_mul(fe.a,U),W)),__tsover_mul(__tsover_mul(Ke.a,D),W)),__tsover_mul(__tsover_mul(Ze.a,O),W)),__tsover_mul(__tsover_mul(at.a,P),K)),__tsover_mul(__tsover_mul(Fe.a,U),K)),__tsover_mul(__tsover_mul(Ie.a,D),K)),__tsover_mul(__tsover_mul(st.a,O),K)),__tsover_mul(__tsover_mul(Xe.a,P),Q)),__tsover_mul(__tsover_mul(We.a,U),Q)),__tsover_mul(__tsover_mul(Ve.a,D),Q)),__tsover_mul(__tsover_mul(Ft.a,O),Q)),__tsover_mul(__tsover_mul(Gt.a,P),te)),__tsover_mul(__tsover_mul(os.a,U),te)),__tsover_mul(__tsover_mul(bs.a,D),te)),__tsover_mul(__tsover_mul(ls.a,O),te)),ys=X(X(Fe,Ie,w),X(We,Ve,w),S),Ks=oe(oe(Fe.r,Ie.r),oe(We.r,Ve.r)),yr=b(b(Fe.r,Ie.r),b(We.r,Ve.r)),Ur=$(vs,oe(oe(Fe.a,Ie.a),oe(We.a,Ve.a)),b(b(Fe.a,Ie.a),b(We.a,Ve.a))),Ms=__tsover_add($(As,Ks,yr),m);return x(X(Ms,b(__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),c),Ms),re(a(0),.25,m)),ys.g,ys.b,Ur)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"field"},{type:"i",name:"originX"},{type:"i",name:"originY"},{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"},{type:"i",name:"rBound"}],body:[0,[[13,"uxc",[6,"std.clamp",[[7,"uv","x"],"originX",[1,"originX","+","spanX"]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],"originY",[1,"originY","+","spanY"]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-","originX"],"/","spanX"],"*","activeResF"],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-","originY"],"/","spanY"],"*","activeResF"],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"tx2",[1,"fx","*","fx"]],[13,"tx3",[1,"tx2","*","fx"]],[13,"wx0",[1,[1,[1,"tx3","*",[4,"-",[5,"0.5"]]],"+","tx2"],"-",[1,"fx","*",[5,"0.5"]]]],[13,"wx1",[1,[1,[1,"tx3","*",[5,"1.5"]],"-",[1,"tx2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wx2",[1,[1,[1,"tx3","*",[4,"-",[5,"1.5"]]],"+",[1,"tx2","*",[5,"2"]]],"+",[1,"fx","*",[5,"0.5"]]]],[13,"wx3",[1,[1,"tx3","*",[5,"0.5"]],"-",[1,"tx2","*",[5,"0.5"]]]],[13,"ty2",[1,"fy","*","fy"]],[13,"ty3",[1,"ty2","*","fy"]],[13,"wy0",[1,[1,[1,"ty3","*",[4,"-",[5,"0.5"]]],"+","ty2"],"-",[1,"fy","*",[5,"0.5"]]]],[13,"wy1",[1,[1,[1,"ty3","*",[5,"1.5"]],"-",[1,"ty2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wy2",[1,[1,[1,"ty3","*",[4,"-",[5,"1.5"]]],"+",[1,"ty2","*",[5,"2"]]],"+",[1,"fy","*",[5,"0.5"]]]],[13,"wy3",[1,[1,"ty3","*",[5,"0.5"]],"-",[1,"ty2","*",[5,"0.5"]]]],[13,"maxT",[1,"activeResF","-",[5,"1"]]],[13,"cxm",[6,"d.u32",[[6,"std.clamp",[[1,"x0","-",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx0",[6,"d.u32",[[6,"std.clamp",["x0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx1",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx2",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"2"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cym",[6,"d.u32",[[6,"std.clamp",[[1,"y0","-",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy0",[6,"d.u32",[[6,"std.clamp",["y0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy1",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy2",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"2"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"k00",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cym"]],[5,"0"]]]],[13,"k01",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cym"]],[5,"0"]]]],[13,"k02",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cym"]],[5,"0"]]]],[13,"k03",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cym"]],[5,"0"]]]],[13,"k10",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy0"]],[5,"0"]]]],[13,"k11",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy0"]],[5,"0"]]]],[13,"k12",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy0"]],[5,"0"]]]],[13,"k13",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy0"]],[5,"0"]]]],[13,"k20",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy1"]],[5,"0"]]]],[13,"k21",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy1"]],[5,"0"]]]],[13,"k22",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy1"]],[5,"0"]]]],[13,"k23",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy1"]],[5,"0"]]]],[13,"k30",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy2"]],[5,"0"]]]],[13,"k31",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy2"]],[5,"0"]]]],[13,"k32",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy2"]],[5,"0"]]]],[13,"k33",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy2"]],[5,"0"]]]],[13,"rAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","r"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","r"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","r"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","r"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","r"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","r"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","r"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","r"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","r"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","r"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","r"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","r"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","r"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","r"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","r"],"*","wx3"],"*","wy3"]]],[13,"aAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","a"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","a"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","a"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","a"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","a"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","a"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","a"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","a"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","a"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","a"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","a"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","a"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","a"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","a"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","a"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","a"],"*","wx3"],"*","wy3"]]],[13,"bl",[6,"std.mix",[[6,"std.mix",["k11","k12","fx"]],[6,"std.mix",["k21","k22","fx"]],"fy"]]],[13,"rMin",[6,"std.min",[[6,"std.min",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.min",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"rMax",[6,"std.max",[[6,"std.max",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.max",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"aMin",[6,"std.min",[[6,"std.min",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.min",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aMax",[6,"std.max",[[6,"std.max",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.max",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aOut",[6,"std.clamp",["aAcc","aMin","aMax"]]],[13,"rNear",[1,[6,"std.clamp",["rAcc","rMin","rMax"]],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-","rBound"]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"bl","g"],[7,"bl","b"],"aOut"]]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,"d.u32":()=>R,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.mix":()=>X,"std.min":()=>oe,"std.max":()=>b,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({})).$name("fieldSampleArg"),fieldSampleGradArg:v.fn([l,ps(a),a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=$(t.x,r,__tsover_add(r,n)),u=$(t.y,o,__tsover_add(o,i)),m=j(l(__tsover_sub(t.x,_),__tsover_sub(t.y,u))),p=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(_,r),n),d),.5),y=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(u,o),i),d),.5),h=q(p),g=q(y),w=__tsover_sub(p,h),S=__tsover_sub(y,g),T=__tsover_mul(w,w),A=__tsover_mul(T,w),P=__tsover_sub(__tsover_add(__tsover_mul(A,-.5),T),__tsover_mul(w,.5)),U=__tsover_add(__tsover_sub(__tsover_mul(A,1.5),__tsover_mul(T,2.5)),1),D=__tsover_add(__tsover_add(__tsover_mul(A,-1.5),__tsover_mul(T,2)),__tsover_mul(w,.5)),O=__tsover_sub(__tsover_mul(A,.5),__tsover_mul(T,.5)),L=__tsover_mul(S,S),G=__tsover_mul(L,S),W=__tsover_sub(__tsover_add(__tsover_mul(G,-.5),L),__tsover_mul(S,.5)),K=__tsover_add(__tsover_sub(__tsover_mul(G,1.5),__tsover_mul(L,2.5)),1),Q=__tsover_add(__tsover_add(__tsover_mul(G,-1.5),__tsover_mul(L,2)),__tsover_mul(S,.5)),te=__tsover_sub(__tsover_mul(G,.5),__tsover_mul(L,.5)),ee=__tsover_sub(1,w),he=__tsover_mul(__tsover_mul(__tsover_mul(ee,ee),ee),.16666667),Ee=__tsover_add(__tsover_sub(__tsover_mul(A,.5),T),.66666667),Te=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(A,-.5),__tsover_mul(T,.5)),__tsover_mul(w,.5)),.16666667),Ue=__tsover_mul(A,.16666667),Me=__tsover_mul(__tsover_mul(ee,ee),-.5),Pe=__tsover_sub(__tsover_mul(T,1.5),__tsover_mul(w,2)),Re=__tsover_add(__tsover_add(__tsover_mul(T,-1.5),w),.5),de=__tsover_mul(T,.5),je=__tsover_sub(1,S),fe=__tsover_mul(__tsover_mul(__tsover_mul(je,je),je),.16666667),Ke=__tsover_add(__tsover_sub(__tsover_mul(G,.5),L),.66666667),Ze=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(G,-.5),__tsover_mul(L,.5)),__tsover_mul(S,.5)),.16666667),at=__tsover_mul(G,.16666667),Fe=__tsover_mul(__tsover_mul(je,je),-.5),Ie=__tsover_sub(__tsover_mul(L,1.5),__tsover_mul(S,2)),st=__tsover_add(__tsover_add(__tsover_mul(L,-1.5),S),.5),Xe=__tsover_mul(L,.5),We=__tsover_sub(d,1),Ve=R($(__tsover_sub(h,1),a(0),We)),Ft=R($(h,a(0),We)),Gt=R($(__tsover_add(h,1),a(0),We)),os=R($(__tsover_add(h,2),a(0),We)),bs=R($(__tsover_sub(g,1),a(0),We)),ls=R($(g,a(0),We)),As=R($(__tsover_add(g,1),a(0),We)),vs=R($(__tsover_add(g,2),a(0),We)),ys=Be(s,Ge(Ve,bs),0),Ks=Be(s,Ge(Ft,bs),0),yr=Be(s,Ge(Gt,bs),0),Ur=Be(s,Ge(os,bs),0),Ms=Be(s,Ge(Ve,ls),0),Cr=Be(s,Ge(Ft,ls),0),hr=Be(s,Ge(Gt,ls),0),mo=Be(s,Ge(os,ls),0),po=Be(s,Ge(Ve,As),0),Rr=Be(s,Ge(Ft,As),0),nr=Be(s,Ge(Gt,As),0),zr=Be(s,Ge(os,As),0),Ps=Be(s,Ge(Ve,vs),0),Gr=Be(s,Ge(Ft,vs),0),Vo=Be(s,Ge(Gt,vs),0),Qr=Be(s,Ge(os,vs),0),ci=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(ys.r,P),W),__tsover_mul(__tsover_mul(Ks.r,U),W)),__tsover_mul(__tsover_mul(yr.r,D),W)),__tsover_mul(__tsover_mul(Ur.r,O),W)),__tsover_mul(__tsover_mul(Ms.r,P),K)),__tsover_mul(__tsover_mul(Cr.r,U),K)),__tsover_mul(__tsover_mul(hr.r,D),K)),__tsover_mul(__tsover_mul(mo.r,O),K)),__tsover_mul(__tsover_mul(po.r,P),Q)),__tsover_mul(__tsover_mul(Rr.r,U),Q)),__tsover_mul(__tsover_mul(nr.r,D),Q)),__tsover_mul(__tsover_mul(zr.r,O),Q)),__tsover_mul(__tsover_mul(Ps.r,P),te)),__tsover_mul(__tsover_mul(Gr.r,U),te)),__tsover_mul(__tsover_mul(Vo.r,D),te)),__tsover_mul(__tsover_mul(Qr.r,O),te)),ba=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(ys.a,P),W),__tsover_mul(__tsover_mul(Ks.a,U),W)),__tsover_mul(__tsover_mul(yr.a,D),W)),__tsover_mul(__tsover_mul(Ur.a,O),W)),__tsover_mul(__tsover_mul(Ms.a,P),K)),__tsover_mul(__tsover_mul(Cr.a,U),K)),__tsover_mul(__tsover_mul(hr.a,D),K)),__tsover_mul(__tsover_mul(mo.a,O),K)),__tsover_mul(__tsover_mul(po.a,P),Q)),__tsover_mul(__tsover_mul(Rr.a,U),Q)),__tsover_mul(__tsover_mul(nr.a,D),Q)),__tsover_mul(__tsover_mul(zr.a,O),Q)),__tsover_mul(__tsover_mul(Ps.a,P),te)),__tsover_mul(__tsover_mul(Gr.a,U),te)),__tsover_mul(__tsover_mul(Vo.a,D),te)),__tsover_mul(__tsover_mul(Qr.a,O),te)),_i=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(ys.r,Me),fe),__tsover_mul(__tsover_mul(Ks.r,Pe),fe)),__tsover_mul(__tsover_mul(yr.r,Re),fe)),__tsover_mul(__tsover_mul(Ur.r,de),fe)),__tsover_mul(__tsover_mul(Ms.r,Me),Ke)),__tsover_mul(__tsover_mul(Cr.r,Pe),Ke)),__tsover_mul(__tsover_mul(hr.r,Re),Ke)),__tsover_mul(__tsover_mul(mo.r,de),Ke)),__tsover_mul(__tsover_mul(po.r,Me),Ze)),__tsover_mul(__tsover_mul(Rr.r,Pe),Ze)),__tsover_mul(__tsover_mul(nr.r,Re),Ze)),__tsover_mul(__tsover_mul(zr.r,de),Ze)),__tsover_mul(__tsover_mul(Ps.r,Me),at)),__tsover_mul(__tsover_mul(Gr.r,Pe),at)),__tsover_mul(__tsover_mul(Vo.r,Re),at)),__tsover_mul(__tsover_mul(Qr.r,de),at)),li=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(ys.r,he),Fe),__tsover_mul(__tsover_mul(Ks.r,Ee),Fe)),__tsover_mul(__tsover_mul(yr.r,Te),Fe)),__tsover_mul(__tsover_mul(Ur.r,Ue),Fe)),__tsover_mul(__tsover_mul(Ms.r,he),Ie)),__tsover_mul(__tsover_mul(Cr.r,Ee),Ie)),__tsover_mul(__tsover_mul(hr.r,Te),Ie)),__tsover_mul(__tsover_mul(mo.r,Ue),Ie)),__tsover_mul(__tsover_mul(po.r,he),st)),__tsover_mul(__tsover_mul(Rr.r,Ee),st)),__tsover_mul(__tsover_mul(nr.r,Te),st)),__tsover_mul(__tsover_mul(zr.r,Ue),st)),__tsover_mul(__tsover_mul(Ps.r,he),Xe)),__tsover_mul(__tsover_mul(Gr.r,Ee),Xe)),__tsover_mul(__tsover_mul(Vo.r,Te),Xe)),__tsover_mul(__tsover_mul(Qr.r,Ue),Xe)),F=oe(oe(Cr.r,hr.r),oe(Rr.r,nr.r)),le=b(b(Cr.r,hr.r),b(Rr.r,nr.r)),ae=$(ba,oe(oe(Cr.a,hr.a),oe(Rr.a,nr.a)),b(b(Cr.a,hr.a),b(Rr.a,nr.a))),ne=__tsover_add(__tsover_mul(__tsover_sub(le,F),.3),1e-6),ie=$(__tsover_add(__tsover_mul(__tsover_div(__tsover_sub(le,ci),ne),.5),.5),0,1),ge=__tsover_sub(X(le,ci,ie),__tsover_mul(__tsover_mul(ne,ie),__tsover_sub(1,ie))),Ye=$(__tsover_add(__tsover_mul(__tsover_div(__tsover_sub(ge,F),ne),.5),.5),0,1),Je=__tsover_add(X(F,ge,Ye),__tsover_mul(__tsover_mul(ne,Ye),__tsover_sub(1,Ye))),rt=__tsover_add(Je,m),He=X(rt,b(__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),c),rt),re(a(0),.25,m)),Bt=C(a(0),a(1),z(__tsover_sub(t.x,_))<1e-7),Yt=C(a(0),a(1),z(__tsover_sub(t.y,u))<1e-7),Ls=__tsover_div(1,b(m,1e-5));return x(He,__tsover_add(__tsover_mul(__tsover_mul(_i,__tsover_div(d,n)),Bt),__tsover_mul(__tsover_sub(t.x,_),Ls)),__tsover_add(__tsover_mul(__tsover_mul(li,__tsover_div(d,i)),Yt),__tsover_mul(__tsover_sub(t.y,u),Ls)),ae)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"field"},{type:"i",name:"originX"},{type:"i",name:"originY"},{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"},{type:"i",name:"rBound"}],body:[0,[[13,"uxc",[6,"std.clamp",[[7,"uv","x"],"originX",[1,"originX","+","spanX"]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],"originY",[1,"originY","+","spanY"]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-","originX"],"/","spanX"],"*","activeResF"],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-","originY"],"/","spanY"],"*","activeResF"],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"tx2",[1,"fx","*","fx"]],[13,"tx3",[1,"tx2","*","fx"]],[13,"wx0",[1,[1,[1,"tx3","*",[4,"-",[5,"0.5"]]],"+","tx2"],"-",[1,"fx","*",[5,"0.5"]]]],[13,"wx1",[1,[1,[1,"tx3","*",[5,"1.5"]],"-",[1,"tx2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wx2",[1,[1,[1,"tx3","*",[4,"-",[5,"1.5"]]],"+",[1,"tx2","*",[5,"2"]]],"+",[1,"fx","*",[5,"0.5"]]]],[13,"wx3",[1,[1,"tx3","*",[5,"0.5"]],"-",[1,"tx2","*",[5,"0.5"]]]],[13,"ty2",[1,"fy","*","fy"]],[13,"ty3",[1,"ty2","*","fy"]],[13,"wy0",[1,[1,[1,"ty3","*",[4,"-",[5,"0.5"]]],"+","ty2"],"-",[1,"fy","*",[5,"0.5"]]]],[13,"wy1",[1,[1,[1,"ty3","*",[5,"1.5"]],"-",[1,"ty2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wy2",[1,[1,[1,"ty3","*",[4,"-",[5,"1.5"]]],"+",[1,"ty2","*",[5,"2"]]],"+",[1,"fy","*",[5,"0.5"]]]],[13,"wy3",[1,[1,"ty3","*",[5,"0.5"]],"-",[1,"ty2","*",[5,"0.5"]]]],[13,"oxf",[1,[5,"1"],"-","fx"]],[13,"bx0",[1,[1,[1,"oxf","*","oxf"],"*","oxf"],"*",[5,"0.16666667"]]],[13,"bx1",[1,[1,[1,"tx3","*",[5,"0.5"]],"-","tx2"],"+",[5,"0.66666667"]]],[13,"bx2",[1,[1,[1,[1,"tx3","*",[4,"-",[5,"0.5"]]],"+",[1,"tx2","*",[5,"0.5"]]],"+",[1,"fx","*",[5,"0.5"]]],"+",[5,"0.16666667"]]],[13,"bx3",[1,"tx3","*",[5,"0.16666667"]]],[13,"dbx0",[1,[1,"oxf","*","oxf"],"*",[4,"-",[5,"0.5"]]]],[13,"dbx1",[1,[1,"tx2","*",[5,"1.5"]],"-",[1,"fx","*",[5,"2"]]]],[13,"dbx2",[1,[1,[1,"tx2","*",[4,"-",[5,"1.5"]]],"+","fx"],"+",[5,"0.5"]]],[13,"dbx3",[1,"tx2","*",[5,"0.5"]]],[13,"oyf",[1,[5,"1"],"-","fy"]],[13,"by0",[1,[1,[1,"oyf","*","oyf"],"*","oyf"],"*",[5,"0.16666667"]]],[13,"by1",[1,[1,[1,"ty3","*",[5,"0.5"]],"-","ty2"],"+",[5,"0.66666667"]]],[13,"by2",[1,[1,[1,[1,"ty3","*",[4,"-",[5,"0.5"]]],"+",[1,"ty2","*",[5,"0.5"]]],"+",[1,"fy","*",[5,"0.5"]]],"+",[5,"0.16666667"]]],[13,"by3",[1,"ty3","*",[5,"0.16666667"]]],[13,"dby0",[1,[1,"oyf","*","oyf"],"*",[4,"-",[5,"0.5"]]]],[13,"dby1",[1,[1,"ty2","*",[5,"1.5"]],"-",[1,"fy","*",[5,"2"]]]],[13,"dby2",[1,[1,[1,"ty2","*",[4,"-",[5,"1.5"]]],"+","fy"],"+",[5,"0.5"]]],[13,"dby3",[1,"ty2","*",[5,"0.5"]]],[13,"maxT",[1,"activeResF","-",[5,"1"]]],[13,"cxm",[6,"d.u32",[[6,"std.clamp",[[1,"x0","-",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx0",[6,"d.u32",[[6,"std.clamp",["x0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx1",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx2",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"2"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cym",[6,"d.u32",[[6,"std.clamp",[[1,"y0","-",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy0",[6,"d.u32",[[6,"std.clamp",["y0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy1",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy2",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"2"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"k00",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cym"]],[5,"0"]]]],[13,"k01",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cym"]],[5,"0"]]]],[13,"k02",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cym"]],[5,"0"]]]],[13,"k03",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cym"]],[5,"0"]]]],[13,"k10",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy0"]],[5,"0"]]]],[13,"k11",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy0"]],[5,"0"]]]],[13,"k12",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy0"]],[5,"0"]]]],[13,"k13",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy0"]],[5,"0"]]]],[13,"k20",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy1"]],[5,"0"]]]],[13,"k21",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy1"]],[5,"0"]]]],[13,"k22",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy1"]],[5,"0"]]]],[13,"k23",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy1"]],[5,"0"]]]],[13,"k30",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy2"]],[5,"0"]]]],[13,"k31",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy2"]],[5,"0"]]]],[13,"k32",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy2"]],[5,"0"]]]],[13,"k33",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy2"]],[5,"0"]]]],[13,"rAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","r"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","r"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","r"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","r"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","r"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","r"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","r"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","r"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","r"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","r"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","r"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","r"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","r"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","r"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","r"],"*","wx3"],"*","wy3"]]],[13,"aAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","a"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","a"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","a"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","a"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","a"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","a"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","a"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","a"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","a"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","a"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","a"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","a"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","a"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","a"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","a"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","a"],"*","wx3"],"*","wy3"]]],[13,"drdpx",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","dbx0"],"*","by0"],"+",[1,[1,[7,"k01","r"],"*","dbx1"],"*","by0"]],"+",[1,[1,[7,"k02","r"],"*","dbx2"],"*","by0"]],"+",[1,[1,[7,"k03","r"],"*","dbx3"],"*","by0"]],"+",[1,[1,[7,"k10","r"],"*","dbx0"],"*","by1"]],"+",[1,[1,[7,"k11","r"],"*","dbx1"],"*","by1"]],"+",[1,[1,[7,"k12","r"],"*","dbx2"],"*","by1"]],"+",[1,[1,[7,"k13","r"],"*","dbx3"],"*","by1"]],"+",[1,[1,[7,"k20","r"],"*","dbx0"],"*","by2"]],"+",[1,[1,[7,"k21","r"],"*","dbx1"],"*","by2"]],"+",[1,[1,[7,"k22","r"],"*","dbx2"],"*","by2"]],"+",[1,[1,[7,"k23","r"],"*","dbx3"],"*","by2"]],"+",[1,[1,[7,"k30","r"],"*","dbx0"],"*","by3"]],"+",[1,[1,[7,"k31","r"],"*","dbx1"],"*","by3"]],"+",[1,[1,[7,"k32","r"],"*","dbx2"],"*","by3"]],"+",[1,[1,[7,"k33","r"],"*","dbx3"],"*","by3"]]],[13,"drdpy",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","bx0"],"*","dby0"],"+",[1,[1,[7,"k01","r"],"*","bx1"],"*","dby0"]],"+",[1,[1,[7,"k02","r"],"*","bx2"],"*","dby0"]],"+",[1,[1,[7,"k03","r"],"*","bx3"],"*","dby0"]],"+",[1,[1,[7,"k10","r"],"*","bx0"],"*","dby1"]],"+",[1,[1,[7,"k11","r"],"*","bx1"],"*","dby1"]],"+",[1,[1,[7,"k12","r"],"*","bx2"],"*","dby1"]],"+",[1,[1,[7,"k13","r"],"*","bx3"],"*","dby1"]],"+",[1,[1,[7,"k20","r"],"*","bx0"],"*","dby2"]],"+",[1,[1,[7,"k21","r"],"*","bx1"],"*","dby2"]],"+",[1,[1,[7,"k22","r"],"*","bx2"],"*","dby2"]],"+",[1,[1,[7,"k23","r"],"*","bx3"],"*","dby2"]],"+",[1,[1,[7,"k30","r"],"*","bx0"],"*","dby3"]],"+",[1,[1,[7,"k31","r"],"*","bx1"],"*","dby3"]],"+",[1,[1,[7,"k32","r"],"*","bx2"],"*","dby3"]],"+",[1,[1,[7,"k33","r"],"*","bx3"],"*","dby3"]]],[13,"rMin",[6,"std.min",[[6,"std.min",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.min",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"rMax",[6,"std.max",[[6,"std.max",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.max",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"aMin",[6,"std.min",[[6,"std.min",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.min",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aMax",[6,"std.max",[[6,"std.max",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.max",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aOut",[6,"std.clamp",["aAcc","aMin","aMax"]]],[13,"kSoft",[1,[1,[1,"rMax","-","rMin"],"*",[5,"0.3"]],"+",[5,"0.000001"]]],[13,"hCap",[6,"std.clamp",[[1,[1,[1,[1,"rMax","-","rAcc"],"/","kSoft"],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[13,"rCap",[1,[6,"std.mix",["rMax","rAcc","hCap"]],"-",[1,[1,"kSoft","*","hCap"],"*",[1,[5,"1"],"-","hCap"]]]],[13,"hFlr",[6,"std.clamp",[[1,[1,[1,[1,"rCap","-","rMin"],"/","kSoft"],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[13,"rSoft",[1,[6,"std.mix",["rMin","rCap","hFlr"]],"+",[1,[1,"kSoft","*","hFlr"],"*",[1,[5,"1"],"-","hFlr"]]]],[13,"rNear",[1,"rSoft","+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-","rBound"]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[13,"insideX",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,[6,"std.abs",[[1,[7,"uv","x"],"-","uxc"]]],"<",[5,"1e-7"]]]]],[13,"insideY",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,[6,"std.abs",[[1,[7,"uv","y"],"-","uyc"]]],"<",[5,"1e-7"]]]]],[13,"invOut",[1,[5,"1"],"/",[6,"std.max",["outsideDist",[5,"0.00001"]]]]],[13,"gU",[1,[1,[1,"drdpx","*",[1,"activeResF","/","spanX"]],"*","insideX"],"+",[1,[1,[7,"uv","x"],"-","uxc"],"*","invOut"]]],[13,"gV",[1,[1,[1,"drdpy","*",[1,"activeResF","/","spanY"]],"*","insideY"],"+",[1,[1,[7,"uv","y"],"-","uyc"],"*","invOut"]]],[10,[6,"d.vec4f",["rOut","gU","gV","aOut"]]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,"d.u32":()=>R,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.min":()=>oe,"std.max":()=>b,"std.mix":()=>X,"std.smoothstep":()=>re,"std.select":()=>C,"std.abs":()=>z,"d.vec4f":()=>x}})&&e.f)({})).$name("fieldSampleGradArg"),fieldSampleFastArg:v.fn([l,ps(a),a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=$(t.x,r,__tsover_add(r,n)),u=$(t.y,o,__tsover_add(o,i)),m=j(l(__tsover_sub(t.x,_),__tsover_sub(t.y,u))),p=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(_,r),n),d),.5),y=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(u,o),i),d),.5),h=q(p),g=q(y),w=__tsover_sub(p,h),S=__tsover_sub(y,g),T=__tsover_sub(d,1),A=R($(h,a(0),T)),P=R($(__tsover_add(h,1),a(0),T)),U=R($(g,a(0),T)),D=R($(__tsover_add(g,1),a(0),T)),O=Be(s,Ge(A,U),0),L=Be(s,Ge(P,U),0),G=Be(s,Ge(A,D),0),W=Be(s,Ge(P,D),0),K=X(X(O,L,w),X(G,W,w),S),Q=__tsover_add(K.r,m);return x(X(Q,b(__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),c),Q),re(a(0),.25,m)),K.g,K.b,K.a)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"field"},{type:"i",name:"originX"},{type:"i",name:"originY"},{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"},{type:"i",name:"rBound"}],body:[0,[[13,"uxc",[6,"std.clamp",[[7,"uv","x"],"originX",[1,"originX","+","spanX"]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],"originY",[1,"originY","+","spanY"]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-","originX"],"/","spanX"],"*","activeResF"],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-","originY"],"/","spanY"],"*","activeResF"],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"maxT",[1,"activeResF","-",[5,"1"]]],[13,"cx0",[6,"d.u32",[[6,"std.clamp",["x0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx1",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy0",[6,"d.u32",[[6,"std.clamp",["y0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy1",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"t00",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy0"]],[5,"0"]]]],[13,"t10",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy0"]],[5,"0"]]]],[13,"t01",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy1"]],[5,"0"]]]],[13,"t11",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy1"]],[5,"0"]]]],[13,"bl",[6,"std.mix",[[6,"std.mix",["t00","t10","fx"]],[6,"std.mix",["t01","t11","fx"]],"fy"]]],[13,"rNear",[1,[7,"bl","r"],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-","rBound"]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"bl","g"],[7,"bl","b"],[7,"bl","a"]]]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,"d.u32":()=>R,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.mix":()=>X,"std.max":()=>b,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({})).$name("fieldSampleFastArg"),fieldSampleTexelArg:v.fn([l,ps(a),a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=$(t.x,r,__tsover_add(r,n)),u=$(t.y,o,__tsover_add(o,i)),m=j(l(__tsover_sub(t.x,_),__tsover_sub(t.y,u))),p=__tsover_sub(d,1),y=$(q(__tsover_mul(__tsover_div(__tsover_sub(_,r),n),d)),a(0),p),h=$(q(__tsover_mul(__tsover_div(__tsover_sub(u,o),i),d)),a(0),p),g=Be(s,Ge(R(y),R(h)),0),w=__tsover_add(g.r,m);return x(X(w,b(__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),c),w),re(a(0),.25,m)),g.g,g.b,g.a)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"field"},{type:"i",name:"originX"},{type:"i",name:"originY"},{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"},{type:"i",name:"rBound"}],body:[0,[[13,"uxc",[6,"std.clamp",[[7,"uv","x"],"originX",[1,"originX","+","spanX"]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],"originY",[1,"originY","+","spanY"]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"maxT",[1,"activeResF","-",[5,"1"]]],[13,"px",[6,"std.clamp",[[6,"std.floor",[[1,[1,[1,"uxc","-","originX"],"/","spanX"],"*","activeResF"]]],[6,"d.f32",[[5,"0"]]],"maxT"]]],[13,"py",[6,"std.clamp",[[6,"std.floor",[[1,[1,[1,"uyc","-","originY"],"/","spanY"],"*","activeResF"]]],[6,"d.f32",[[5,"0"]]],"maxT"]]],[13,"t",[6,"std.textureLoad",["field",[6,"d.vec2u",[[6,"d.u32",["px"]],[6,"d.u32",["py"]]]],[5,"0"]]]],[13,"rNear",[1,[7,"t","r"],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-","rBound"]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"t","g"],[7,"t","b"],[7,"t","a"]]]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"d.u32":()=>R,"std.mix":()=>X,"std.max":()=>b,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({})).$name("fieldSampleTexelArg"),texelSpanFn:v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_div(b(t,s),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"}],body:[0,[[10,[1,[6,"std.max",["spanX","spanY"]],"/","activeResF"]]]]},externals:{"std.max":()=>b}})&&e.f)({})).$name("fieldTexelSpan")}}var yG={_vfOriginX:{schema:a,initial:0},_vfOriginY:{schema:a,initial:0},_vfSpanX:{schema:a,initial:1},_vfSpanY:{schema:a,initial:1},_vfActiveRes:{schema:a,initial:1},_vfRBound:{schema:a,initial:.6}};function J7(e,t){let{fieldSampleArg:s,fieldSampleGradArg:r,fieldSampleFastArg:o,fieldSampleTexelArg:n,texelSpanFn:i}=ay(),d=(globalThis.__TYPEGPU_AUTONAME__??(_=>_))(e.accessor(),"acc"),c=_=>[_,d,t.originX,t.originY,t.spanX,t.spanY,t.activeResF,t.rBound];return{volumetricFieldSampler:_=>we(s,"vfSample",c(_)),volumetricFieldSamplerGrad:_=>we(r,"vfSampleGrad",c(_)),volumetricFieldSamplerFast:_=>we(o,"vfSampleFast",c(_)),volumetricFieldSamplerTexel:_=>we(n,"vfSampleTexel",c(_)),volumetricFieldTexelSpan:we(i,"vfTexelSpan",[t.spanX,t.spanY,t.activeResF])}}function hG(e,t={}){let{patternMode:s="none",gradSampler:r="fast",bakedGradients:o="none"}=t,{computeOutputs:n,uniforms:i,propValues:d,getCpuValue:c}=e,_=n?.volumetricFieldTexture;if(_){let h=J7(_,{originX:i._vfOriginX,originY:i._vfOriginY,spanX:i._vfSpanX,spanY:i._vfSpanY,activeResF:i._vfActiveRes,rBound:i._vfRBound}),g=o!=="none",w=g?h.volumetricFieldSamplerGrad:h.volumetricFieldSampler;return{sampler:w,gradSampler:r==="same"?w:h.volumetricFieldSamplerFast,texelSampler:h.volumetricFieldSamplerTexel,volumetric:!0,bakedGradients:g}}let u=d.shapeSdfUrl||"",m=d.shapeType||"";if(u){let h=o==="all",g=h?M7(e,u):A7(e,u);return{sampler:g,gradSampler:g,texelSampler:g,volumetric:V7(m),bakedGradients:h}}let p=_G(m,c("shape")),y=P7(p,k7(e,()=>c("shape")),s);return{sampler:y,gradSampler:y,texelSampler:y,volumetric:d1(p),bakedGradients:!1}}var Wa=Math.PI/180;function iy(e){if(e&&typeof e=="object")return e;if(typeof e=="string")try{return JSON.parse(e)}catch{return{}}return{}}function ew(e,t,s,r,o={}){let n=wu[t]??wu.sphere3D,i=o.extraPad??(()=>0),{layout:d}=ny(),c=(globalThis.__TYPEGPU_AUTONAME__??(Pe=>Pe))(e.createUniform(Cn),"marchParamsBuffer"),_=v.fn([f],a)((Pe=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(Pe.f=(Re=>{"use gpu";let de=d.$.params;return t==="cube3D"?Ec(Re,de.pA,de.pB,de.pC,de.pD):t==="torus3D"?sf(Re,de.pA,de.pB):t==="octahedron3D"?rf(Re,de.pA):t==="cylinder3D"?of(Re,de.pA,de.pB,de.pD):t==="capsule3D"?nf(Re,de.pA,de.pB):t==="cone3D"?af(Re,de.pA,de.pC,de.pB):t==="pyramid3D"?df(Re,de.pA,de.pB):t==="prism3D"?cf(Re,de.pA,de.pB):t==="ellipsoid3D"?_f(Re,de.pA,de.pB,de.pC):t==="diamond3D"?kc(Re,de.pA,de.pB):t==="link3D"?lf(Re,de.pB,de.pA,de.pC):t==="gem3D"?mf(Re,de.pA,de.pB,de.pC):t==="helix3D"?pf(Re,de.pA,de.pB,de.pC,a(3)):t==="metaballs3D"?ff(Re,de.mb0,de.mb1,de.mb2,de.mb3,de.mb4,de.mb5,de.mb6,de.mb7,de.pA,de.pD):t==="dodecahedron3D"?vf(Re,de.pA):t==="hemisphere3D"?yf(Re,de.pA,de.pB):t==="ribbon3D"?hf(Re,de.pA,de.pB,de.pC,de.mb0.x,de.mb0.y,de.mb0.z,de.mb1.x,de.mb1.y,de.mb1.z,de.mb2.x):t==="blob3D"?xf(Re,de.pA,de.mb0.x,de.mb0.y,de.mb0.z,de.mb1.x,de.mb2.x):t==="gyroscope3D"?gf(Re,de.pA,de.pB,de.pD,de.mb3.x,de.pC,de.mb0.x,de.mb0.y,de.mb1.x,de.mb1.y,de.mb2.x,de.mb2.y):tf(Re,de.pA)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"pp",[7,[7,"layout","$"],"params"]],[11,[1,"shapeType","===",[103,"cube3D"]],[10,[6,"sdRoundBox",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"],[7,"pp","pD"]]]],[11,[1,"shapeType","===",[103,"torus3D"]],[10,[6,"sdTorus",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"octahedron3D"]],[10,[6,"sdOctahedron",["p",[7,"pp","pA"]]]],[11,[1,"shapeType","===",[103,"cylinder3D"]],[10,[6,"sdRoundCylinder",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pD"]]]],[11,[1,"shapeType","===",[103,"capsule3D"]],[10,[6,"sdCapsule",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"cone3D"]],[10,[6,"sdCappedCone",["p",[7,"pp","pA"],[7,"pp","pC"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"pyramid3D"]],[10,[6,"sdPyramid",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"prism3D"]],[10,[6,"sdHexPrism",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"ellipsoid3D"]],[10,[6,"sdEllipsoid",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"]]]],[11,[1,"shapeType","===",[103,"diamond3D"]],[10,[6,"sdBicone",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"link3D"]],[10,[6,"sdLink",["p",[7,"pp","pB"],[7,"pp","pA"],[7,"pp","pC"]]]],[11,[1,"shapeType","===",[103,"gem3D"]],[10,[6,"sdGem",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"]]]],[11,[1,"shapeType","===",[103,"helix3D"]],[10,[6,"sdHelix",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"],[6,"d.f32",["HELIX_TURNS"]]]]],[11,[1,"shapeType","===",[103,"metaballs3D"]],[10,[6,"sdMetaballs",["p",[7,"pp","mb0"],[7,"pp","mb1"],[7,"pp","mb2"],[7,"pp","mb3"],[7,"pp","mb4"],[7,"pp","mb5"],[7,"pp","mb6"],[7,"pp","mb7"],[7,"pp","pA"],[7,"pp","pD"]]]],[11,[1,"shapeType","===",[103,"dodecahedron3D"]],[10,[6,"sdDodecahedron",["p",[7,"pp","pA"]]]],[11,[1,"shapeType","===",[103,"hemisphere3D"]],[10,[6,"sdCutSphere",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"ribbon3D"]],[10,[6,"sdRibbon",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"],[7,[7,"pp","mb0"],"x"],[7,[7,"pp","mb0"],"y"],[7,[7,"pp","mb0"],"z"],[7,[7,"pp","mb1"],"x"],[7,[7,"pp","mb1"],"y"],[7,[7,"pp","mb1"],"z"],[7,[7,"pp","mb2"],"x"]]]],[11,[1,"shapeType","===",[103,"blob3D"]],[10,[6,"sdWobbleBlob",["p",[7,"pp","pA"],[7,[7,"pp","mb0"],"x"],[7,[7,"pp","mb0"],"y"],[7,[7,"pp","mb0"],"z"],[7,[7,"pp","mb1"],"x"],[7,[7,"pp","mb2"],"x"]]]],[11,[1,"shapeType","===",[103,"gyroscope3D"]],[10,[6,"sdGyroscope",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pD"],[7,[7,"pp","mb3"],"x"],[7,"pp","pC"],[7,[7,"pp","mb0"],"x"],[7,[7,"pp","mb0"],"y"],[7,[7,"pp","mb1"],"x"],[7,[7,"pp","mb1"],"y"],[7,[7,"pp","mb2"],"x"],[7,[7,"pp","mb2"],"y"]]]],[10,[6,"sdSphere",["p",[7,"pp","pA"]]]]]]]]]]]]]]]]]]]]]]]]]},externals:{layout:()=>d,shapeType:()=>t,sdRoundBox:()=>Ec,sdTorus:()=>sf,sdOctahedron:()=>rf,sdRoundCylinder:()=>of,sdCapsule:()=>nf,sdCappedCone:()=>af,sdPyramid:()=>df,sdHexPrism:()=>cf,sdEllipsoid:()=>_f,sdBicone:()=>kc,sdLink:()=>lf,sdGem:()=>mf,sdHelix:()=>pf,"d.f32":()=>a,HELIX_TURNS:()=>3,sdMetaballs:()=>ff,sdDodecahedron:()=>vf,sdCutSphere:()=>yf,sdRibbon:()=>hf,sdWobbleBlob:()=>xf,sdGyroscope:()=>gf,sdSphere:()=>tf}})&&Pe.f)({})),u=0,m="",p=s,y=new Map,h=.35,g=.3,w=.3,S=0,T=.6,A=1,P=0,U=1,D=0,O=1,L=0,G=1,W=1,K=0,Q=0,te=jc(),ee=Array.from({length:8},()=>[0,0,0]),he=()=>{c.write({rot:{cx:A,sx:P,cy:U,sy:D,cz:O,sz:L},rBound:T,spanX:G,spanY:W,originX:K,originY:Q,activeRes:te,pA:h,pB:g,pC:w,pD:S,mb0:f(ee[0][0],ee[0][1],ee[0][2]),mb1:f(ee[1][0],ee[1][1],ee[1][2]),mb2:f(ee[2][0],ee[2][1],ee[2][2]),mb3:f(ee[3][0],ee[3][1],ee[3][2]),mb4:f(ee[4][0],ee[4][1],ee[4][2]),mb5:f(ee[5][0],ee[5][1],ee[5][2]),mb6:f(ee[6][0],ee[6][1],ee[6][2]),mb7:f(ee[7][0],ee[7][1],ee[7][2])})},Ee=Pe=>{let Re=Pe?.deltaTime??0;u+=Re;let de=r();if(de&&typeof de=="object")p=de;else if(typeof de=="string"&&de!==m){m=de;try{p=JSON.parse(de)}catch{}}let je={elapsed:u,deltaTime:Re,pointerX:Pe?.pointer?.x??.5,pointerY:Pe?.pointer?.y??.5,springs:y},fe=Ie=>ry(p[Ie],n[Ie]??0,je,Ie);g=.3,w=.3,S=0;for(let Ie=0;Ie=Ie){ee[We]=[0,99,0];continue}let Ve=We*(Ba/Ie),Ft=Ve+Xe,Gt=.75+.25*Math.sin(Xe*1.3+We*1.7);ee[We]=[st*Math.cos(Ft)*Gt,st*.6*Math.sin(Xe*.9+Ve*1.5),st*Math.sin(Ft)*Gt]}break}case"hemisphere3D":h=fe("radius"),g=fe("cut");break;case"ribbon3D":{h=fe("width"),g=fe("thickness"),w=fe("length");let Ie=u*fe("speed"),st=fe("wave")*(.8+.2*Math.sin(Ie*.9)),Xe=fe("waveFrequency"),We=fe("twist")*Wa/Math.max(w*2,.01);ee[0]=[st,Xe,Ie*1.1],ee[1]=[Ie*.7+2.1,We,Ie*.45];let Ve=Math.abs(st)*Xe+Math.abs(We)*Math.hypot(h,g);ee[2]=[1/Math.sqrt(1+Ve*Ve),0,0];break}case"blob3D":{h=fe("radius");let Ie=u*fe("speed"),st=fe("wobble")*(.75+.25*Math.sin(Ie*.83)),Xe=fe("wobbliness");ee[0]=[st,Xe,Ie*1.2],ee[1]=[Ie*.77+1.3,0,0],ee[2]=[1/(1+Math.abs(st)*Xe*1.3),0,0];break}case"gyroscope3D":{h=fe("radius"),g=fe("width"),w=fe("core"),S=fe("thickness");let Ie=Math.max(0,Math.min(fe("rounding"),Math.min(g,S)*.5)),st=u*fe("speed"),Xe=st*.9,We=st*.63+1.1,Ve=st*1.21+2.3;ee[0]=[Math.cos(Xe),Math.sin(Xe),0],ee[1]=[Math.cos(We),Math.sin(We),0],ee[2]=[Math.cos(Ve),Math.sin(Ve),0],ee[3]=[Ie,0,0];break}default:h=fe("radius");break}T=X7({...p,type:t})+.02+i();let Ke=fe("rotX")*Wa,Ze=fe("rotY")*Wa,at=fe("rotZ")*Wa;A=Math.cos(Ke),P=Math.sin(Ke),U=Math.cos(Ze),D=Math.sin(Ze),O=Math.cos(at),L=Math.sin(at);let Fe=T+.05;G=Fe*2,W=Fe*2,K=.5-Fe,Q=.5-Fe,he()};Ee();let Te=Pe=>{Pe!==te&&(te=Pe,he())},Ue=()=>`${h},${g},${w},${S},${T},`+ee.map(Pe=>`${Pe[0]},${Pe[1]},${Pe[2]}`).join(",");return{layout:d,marchParamsBuffer:c,sdfFn:_,update:Ee,setActiveRes:Te,getStateKey:()=>`${Ue()},${A},${P},${U},${D},${O},${L}`,getFootprint:()=>({spanX:G,spanY:W,originX:K,originY:Q,rBound:T}),getRotation:()=>({cx:A,sx:P,cy:U,sy:D,cz:O,sz:L}),getGeometryKey:Ue}}function tw(e,t,s,r={}){let o=e.gpu.root,n=r.extraPad??(()=>0),{texture:i,getVersion:d}=Qv(e,t),{layout:c}=Q7(),_=(globalThis.__TYPEGPU_AUTONAME__??(Pe=>Pe))(o.createUniform(Cn),"marchParamsBuffer"),u=a(512),m=a(511),p=v.fn([f],a)((Pe=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(Pe.f=(Re=>{"use gpu";let de=c.$.params,je=de.pA,fe=de.pB,Ke=__tsover_sub(__tsover_mul(__tsover_add(Re.x,.5),u),.5),Ze=__tsover_sub(__tsover_mul(__tsover_sub(.5,Re.y),u),.5),at=q(Ke),Fe=q(Ze),Ie=__tsover_sub(Ke,at),st=__tsover_sub(Ze,Fe),Xe=R($(at,a(0),m)),We=R($(__tsover_add(at,1),a(0),m)),Ve=R($(Fe,a(0),m)),Ft=R($(__tsover_add(Fe,1),a(0),m)),Gt=Be(c.$.sdfSource,Ge(Xe,Ve),0).r,os=Be(c.$.sdfSource,Ge(We,Ve),0).r,bs=Be(c.$.sdfSource,Ge(Xe,Ft),0).r,ls=Be(c.$.sdfSource,Ge(We,Ft),0).r,As=X(X(Gt,os,Ie),X(bs,ls,Ie),st),vs=__tsover_add(As,fe),ys=__tsover_add(__tsover_sub(z(Re.z),je),fe),Ks=oe(b(vs,ys),a(0)),yr=j(l(b(vs,a(0)),b(ys,a(0))));return __tsover_sub(__tsover_add(Ks,yr),fe)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"pp",[7,[7,"layout","$"],"params"]],[13,"halfDepth",[7,"pp","pA"]],[13,"bevel",[7,"pp","pB"]],[13,"u",[1,[1,[1,[7,"p","x"],"+",[5,"0.5"]],"*","SIZE_F"],"-",[5,"0.5"]]],[13,"v",[1,[1,[1,[5,"0.5"],"-",[7,"p","y"]],"*","SIZE_F"],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["u"]]],[13,"y0",[6,"std.floor",["v"]]],[13,"fx",[1,"u","-","x0"]],[13,"fy",[1,"v","-","y0"]],[13,"cx0",[6,"d.u32",[[6,"std.clamp",["x0",[6,"d.f32",[[5,"0"]]],"MAX_TEXEL"]]]]],[13,"cx1",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"MAX_TEXEL"]]]]],[13,"cy0",[6,"d.u32",[[6,"std.clamp",["y0",[6,"d.f32",[[5,"0"]]],"MAX_TEXEL"]]]]],[13,"cy1",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"MAX_TEXEL"]]]]],[13,"s00",[7,[6,"std.textureLoad",[[7,[7,"layout","$"],"sdfSource"],[6,"d.vec2u",["cx0","cy0"]],[5,"0"]]],"r"]],[13,"s10",[7,[6,"std.textureLoad",[[7,[7,"layout","$"],"sdfSource"],[6,"d.vec2u",["cx1","cy0"]],[5,"0"]]],"r"]],[13,"s01",[7,[6,"std.textureLoad",[[7,[7,"layout","$"],"sdfSource"],[6,"d.vec2u",["cx0","cy1"]],[5,"0"]]],"r"]],[13,"s11",[7,[6,"std.textureLoad",[[7,[7,"layout","$"],"sdfSource"],[6,"d.vec2u",["cx1","cy1"]],[5,"0"]]],"r"]],[13,"field2d",[6,"std.mix",[[6,"std.mix",["s00","s10","fx"]],[6,"std.mix",["s01","s11","fx"]],"fy"]]],[13,"d2",[1,"field2d","+","bevel"]],[13,"wz",[1,[1,[6,"std.abs",[[7,"p","z"]]],"-","halfDepth"],"+","bevel"]],[13,"inner",[6,"std.min",[[6,"std.max",["d2","wz"]],[6,"d.f32",[[5,"0"]]]]]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["d2",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["wz",[6,"d.f32",[[5,"0"]]]]]]]]]],[10,[1,[1,"inner","+","outer"],"-","bevel"]]]]},externals:{layout:()=>c,SIZE_F:()=>u,"std.floor":()=>q,"d.u32":()=>R,"std.clamp":()=>$,"d.f32":()=>a,MAX_TEXEL:()=>m,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.mix":()=>X,"std.abs":()=>z,"std.min":()=>oe,"std.max":()=>b,"std.length":()=>j,"d.vec2f":()=>l}})&&Pe.f)({})),y=0,h="",g=iy(s()),w=new Map,S=.06,T=.02,A=.75,P=1,U=0,D=1,O=0,L=1,G=0,W=1,K=1,Q=0,te=0,ee=jc(),he=()=>{_.write({rot:{cx:P,sx:U,cy:D,sy:O,cz:L,sz:G},rBound:A,spanX:W,spanY:K,originX:Q,originY:te,activeRes:ee,pA:S,pB:T,pC:0,pD:0,mb0:f(0,0,0),mb1:f(0,0,0),mb2:f(0,0,0),mb3:f(0,0,0),mb4:f(0,0,0),mb5:f(0,0,0),mb6:f(0,0,0),mb7:f(0,0,0)})},Ee=Pe=>{let Re=Pe?.deltaTime??0;y+=Re;let de=s();if(de&&typeof de=="object")g=de;else if(typeof de=="string"&&de!==h){h=de;try{g=JSON.parse(de)}catch{}}let je={elapsed:y,deltaTime:Re,pointerX:Pe?.pointer?.x??.5,pointerY:Pe?.pointer?.y??.5,springs:w},fe=vs=>ry(g[vs],N7[vs]??0,je,vs);S=Math.max(.001,fe("depth")*.5),T=Math.min(Math.max(0,fe("bevel")),S);let Ke=a1(t),Ze=Ke?Math.min(.5,Ke.hwf+.02):.5,at=Ke?Math.min(.5,Ke.hhf+.02):.5,Fe=n();A=Math.hypot(Ze,at,S)+T+.03+Fe;let Ie=fe("rotX")*Wa,st=fe("rotY")*Wa,Xe=fe("rotZ")*Wa;P=Math.cos(Ie),U=Math.sin(Ie),D=Math.cos(st),O=Math.sin(st),L=Math.cos(Xe),G=Math.sin(Xe);let We={cx:P,sx:U,cy:D,sy:O,cz:L,sz:G},Ve=ef(1,0,0,We),Ft=ef(0,1,0,We),Gt=T+.03+Fe,os=Math.abs(Ve.x)*Ze+Math.abs(Ve.y)*at+Math.abs(Ve.z)*S+Gt,bs=Math.abs(Ft.x)*Ze+Math.abs(Ft.y)*at+Math.abs(Ft.z)*S+Gt,ls=os+.05,As=bs+.05;W=ls*2,K=As*2,Q=.5-ls,te=.5-As,he()};Ee();let Te=Pe=>{Pe!==ee&&(ee=Pe,he())},Ue=()=>`${S},${T},${A},${d()}`,Me=()=>`${Ue()},${W},${K},${P},${U},${D},${O},${L},${G}`;return{layout:c,marchParamsBuffer:_,sdfFn:p,sdfSourceTexture:i.texture,update:Ee,setActiveRes:Te,getStateKey:Me,getFootprint:()=>({spanX:W,spanY:K,originX:Q,originY:te,rBound:A}),getRotation:()=>({cx:P,sx:U,cy:D,sy:O,cz:L,sz:G}),getGeometryKey:Ue}}function xG(e,t,s,r,o={}){let n=o.extraPad??(()=>0),{layout:i}=ny(),d=(globalThis.__TYPEGPU_AUTONAME__??(L=>L))(e.createUniform(Cn),"marchParamsBuffer"),c=Jv(t),_=v.fn([f],a)((L=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(L.f=(G=>{"use gpu";let W=i.$.params,K=c(l(__tsover_add(G.x,.5),__tsover_sub(.5,G.y)),W.pA,W.pB,W.pC,W.pD,W.mb0.x,W.mb0.y,W.mb0.z,W.mb1.x).x,Q=__tsover_sub(z(G.z),W.mb1.y),te=oe(b(K,Q),a(0)),ee=j(l(b(K,a(0)),b(Q,a(0))));return __tsover_add(te,ee)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"pp",[7,[7,"layout","$"],"params"]],[13,"uv",[6,"d.vec2f",[[1,[7,"p","x"],"+",[5,"0.5"]],[1,[5,"0.5"],"-",[7,"p","y"]]]]],[13,"d2",[7,[6,"analytic",["uv",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"],[7,"pp","pD"],[7,[7,"pp","mb0"],"x"],[7,[7,"pp","mb0"],"y"],[7,[7,"pp","mb0"],"z"],[7,[7,"pp","mb1"],"x"]]],"x"]],[13,"wz",[1,[6,"std.abs",[[7,"p","z"]]],"-",[7,[7,"pp","mb1"],"y"]]],[13,"inner",[6,"std.min",[[6,"std.max",["d2","wz"]],[6,"d.f32",[[5,"0"]]]]]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["d2",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["wz",[6,"d.f32",[[5,"0"]]]]]]]]]],[10,[1,"inner","+","outer"]]]]},externals:{layout:()=>i,"d.vec2f":()=>l,analytic:()=>c,"std.abs":()=>z,"std.min":()=>oe,"std.max":()=>b,"d.f32":()=>a,"std.length":()=>j}})&&L.f)({})),u="",m=iy(s()),p=gu(m),y=.06,h=.6,g=1,w=1,S=0,T=0,A=jc(),P=()=>{d.write({rot:{cx:1,sx:0,cy:1,sy:0,cz:1,sz:0},rBound:h,spanX:g,spanY:w,originX:S,originY:T,activeRes:A,pA:p.radius,pB:p.sides,pC:p.rounding,pD:p.innerRatio,mb0:f(p.rotation,p.height,p.offset),mb1:f(p.aperture,y,0),mb2:f(0,0,0),mb3:f(0,0,0),mb4:f(0,0,0),mb5:f(0,0,0),mb6:f(0,0,0),mb7:f(0,0,0)})},U=()=>{let L=s();if(L&&typeof L=="object")m=L;else if(typeof L=="string"&&L!==u){u=L;try{m=JSON.parse(L)}catch{}}p=gu(m),y=Math.max(.001,r());let{hwf:G,hhf:W}=Jp({shape:{...m,radius:p.radius,height:p.height}});h=Math.hypot(G,W,y)+.02+n();let K=h+.05;g=K*2,w=K*2,S=.5-K,T=.5-K,P()};U();let D=L=>{L!==A&&(A=L,P())},O=()=>`${p.radius},${p.sides},${p.rounding},${p.innerRatio},${p.rotation},${p.height},${p.offset},${p.aperture},${y},${h}`;return{layout:i,marchParamsBuffer:d,sdfFn:_,update:U,setActiveRes:D,getStateKey:O,getFootprint:()=>({spanX:g,spanY:w,originX:S,originY:T,rBound:h}),getRotation:()=>({cx:1,sx:0,cy:1,sy:0,cz:1,sz:0}),getGeometryKey:O}}function gG(e,t,s="none",r="span"){let o=e.gpu?.root;if(!o)return null;let n=iy(t()),i=e.getCpuValue("shapeSdfUrl")||"",d=e.getCpuValue("shapeType")||n.type||"",c=null;if(i&&sy(d)?c=tw(e,i,t):!i&&d1(d)&&(c=ew(o,d,n,t)),!c)return null;let _=oy(c.sdfFn,s,r),u=K7(c.layout,_),m=Z7(o,c.layout,u,e.onCleanup,{paramsUniform:c.marchParamsBuffer,sdfSourceTexture:c.sdfSourceTexture}),p=e.registerComputeTexture(m.fieldTexture),y=m.maxRes,h="",g=_o()?2:1,w=0,S={originX:0,originY:0,spanX:1,spanY:1,activeRes:1,rBound:.6};return{outputs:{volumetricFieldTexture:p},getComputeNodes:A=>{c.update(A);let P=c.getFootprint(),U=e.getCpuValue("scale")??1,D=e.dimensions.height;y=j7(P.spanX,P.spanY,U,D,m.maxRes,y);let O=`${c.getStateKey()},${y}`;return O===h||(w++,g>1&&w%g!==0)?null:(h=O,c.setActiveRes(y),e.setExtraField("_vfOriginX",P.originX),e.setExtraField("_vfOriginY",P.originY),e.setExtraField("_vfSpanX",P.spanX),e.setExtraField("_vfSpanY",P.spanY),e.setExtraField("_vfActiveRes",y),e.setExtraField("_vfRBound",P.rBound),S.originX=P.originX,S.originY=P.originY,S.spanX=P.spanX,S.spanY=P.spanY,S.activeRes=y,S.rBound=P.rBound,[()=>m.dispatch(y)])},fieldTexture:m.fieldTexture,getFieldDomain:()=>({...S})}}var Tu=.08,ws=v.fn([f,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=s.x,n=s.y,i=s.z,d=s.w,c=r.x,_=r.y,u=f(__tsover_add(__tsover_mul(t.x,i),__tsover_mul(t.z,d)),t.y,__tsover_add(__tsover_mul(__tsover_mul(t.x,d),-1),__tsover_mul(t.z,i))),m=f(u.x,__tsover_sub(__tsover_mul(u.y,o),__tsover_mul(u.z,n)),__tsover_add(__tsover_mul(u.y,n),__tsover_mul(u.z,o)));return f(__tsover_sub(__tsover_mul(m.x,c),__tsover_mul(m.y,_)),__tsover_add(__tsover_mul(m.x,_),__tsover_mul(m.y,c)),m.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"}],body:[0,[[13,"cx",[7,"rp0","x"]],[13,"sx",[7,"rp0","y"]],[13,"cy",[7,"rp0","z"]],[13,"sy",[7,"rp0","w"]],[13,"cz",[7,"rp1","x"]],[13,"sz",[7,"rp1","y"]],[13,"py",[6,"d.vec3f",[[1,[1,[7,"p","x"],"*","cy"],"+",[1,[7,"p","z"],"*","sy"]],[7,"p","y"],[1,[1,[1,[7,"p","x"],"*","sy"],"*",[4,"-",[5,"1"]]],"+",[1,[7,"p","z"],"*","cy"]]]]],[13,"px",[6,"d.vec3f",[[7,"py","x"],[1,[1,[7,"py","y"],"*","cx"],"-",[1,[7,"py","z"],"*","sx"]],[1,[1,[7,"py","y"],"*","sx"],"+",[1,[7,"py","z"],"*","cx"]]]]],[10,[6,"d.vec3f",[[1,[1,[7,"px","x"],"*","cz"],"-",[1,[7,"px","y"],"*","sz"]],[1,[1,[7,"px","x"],"*","sz"],"+",[1,[7,"px","y"],"*","cz"]],[7,"px","z"]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})).$name("eulerRotatePacked"),bG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return __tsover_sub(j(ws(t,s,r)),r.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[10,[1,[6,"std.length",[[6,"eulerRotatePacked",["p","rp0","rp1"]]]],"-",[7,"rp1","z"]]]]]},externals:{"std.length":()=>j,eulerRotatePacked:()=>ws}})&&e.f)({})).$name("paramSphereSdf"),wG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=as(ws(t,r,o));return l(__tsover_add(__tsover_div(tt(d.z,d.x),6.283185307179586),.5),__tsover_mul(__tsover_add(d.y,1),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"n",[6,"std.normalize",[[6,"eulerRotatePacked",["h","rp0","rp1"]]]]],[10,[6,"d.vec2f",[[1,[1,[6,"std.atan2",[[7,"n","z"],[7,"n","x"]]],"/",[5,"6.283185307179586"]],"+",[5,"0.5"]],[1,[1,[7,"n","y"],"+",[5,"1"]],"*",[5,"0.5"]]]]]]]},externals:{"std.normalize":()=>as,eulerRotatePacked:()=>ws,"d.vec2f":()=>l,"std.atan2":()=>tt}})&&e.f)({})).$name("sphereSurfaceUV"),TG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=ws(t,s,r),d=l(__tsover_sub(j(l(i.x,i.z)),r.z),i.y);return __tsover_sub(j(d),r.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["p","rp0","rp1"]]],[13,"q",[6,"d.vec2f",[[1,[6,"std.length",[[6,"d.vec2f",[[7,"rp","x"],[7,"rp","z"]]]]],"-",[7,"rp1","z"]],[7,"rp","y"]]]],[10,[1,[6,"std.length",["q"]],"-",[7,"rp1","w"]]]]]},externals:{eulerRotatePacked:()=>ws,"d.vec2f":()=>l,"std.length":()=>j}})&&e.f)({})).$name("paramTorusSdf"),SG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ws(t,r,o),c=__tsover_add(__tsover_div(tt(d.z,d.x),6.283185307179586),.5),_=__tsover_sub(j(l(d.x,d.z)),o.z);return l(c,__tsover_add(__tsover_div(tt(d.y,_),6.283185307179586),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["h","rp0","rp1"]]],[13,"u",[1,[1,[6,"std.atan2",[[7,"rp","z"],[7,"rp","x"]]],"/",[5,"6.283185307179586"]],"+",[5,"0.5"]]],[13,"ringDist",[1,[6,"std.length",[[6,"d.vec2f",[[7,"rp","x"],[7,"rp","z"]]]]],"-",[7,"rp1","z"]]],[10,[6,"d.vec2f",["u",[1,[1,[6,"std.atan2",[[7,"rp","y"],"ringDist"]],"/",[5,"6.283185307179586"]],"+",[5,"0.5"]]]]]]]},externals:{eulerRotatePacked:()=>ws,"std.atan2":()=>tt,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})).$name("torusSurfaceUV"),AG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=ws(t,s,r),d=o.y,c=__tsover_add(__tsover_sub(z(i.x),r.z),d),_=__tsover_add(__tsover_sub(z(i.y),r.w),d),u=__tsover_add(__tsover_sub(z(i.z),o.x),d),m=j(f(b(c,a(0)),b(_,a(0)),b(u,a(0)))),p=oe(b(c,b(_,u)),a(0));return __tsover_sub(__tsover_add(m,p),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["p","rp0","rp1"]]],[13,"rounding",[7,"rp2","y"]],[13,"qx",[1,[1,[6,"std.abs",[[7,"rp","x"]]],"-",[7,"rp1","z"]],"+","rounding"]],[13,"qy",[1,[1,[6,"std.abs",[[7,"rp","y"]]],"-",[7,"rp1","w"]],"+","rounding"]],[13,"qz",[1,[1,[6,"std.abs",[[7,"rp","z"]]],"-",[7,"rp2","x"]],"+","rounding"]],[13,"outer",[6,"std.length",[[6,"d.vec3f",[[6,"std.max",["qx",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["qy",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["qz",[6,"d.f32",[[5,"0"]]]]]]]]]],[13,"inner",[6,"std.min",[[6,"std.max",["qx",[6,"std.max",["qy","qz"]]]],[6,"d.f32",[[5,"0"]]]]]],[10,[1,[1,"outer","+","inner"],"-","rounding"]]]]},externals:{eulerRotatePacked:()=>ws,"std.abs":()=>z,"std.length":()=>j,"d.vec3f":()=>f,"std.max":()=>b,"d.f32":()=>a,"std.min":()=>oe}})&&e.f)({})).$name("paramBoxSdf"),MG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ws(t,r,o),c=ws(s,r,o),_=f(z(c.x),z(c.y),z(c.z)),u=o.z,m=o.w,p=n.x,y=__tsover_div(.5,b(m,p)),h=__tsover_div(.5,b(u,p)),g=__tsover_div(.5,b(u,m)),w=l(__tsover_add(__tsover_mul(d.z,y),.5),__tsover_add(__tsover_mul(d.y,y),.5)),S=l(__tsover_add(__tsover_mul(d.x,h),.5),__tsover_add(__tsover_mul(d.z,h),.5)),T=l(__tsover_add(__tsover_mul(d.x,g),.5),__tsover_add(__tsover_mul(d.y,g),.5)),A=C(T,w,_.x>_.z);return C(C(T,S,_.y>_.z),A,_.x>_.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["h","rp0","rp1"]]],[13,"rn",[6,"eulerRotatePacked",["n","rp0","rp1"]]],[13,"an",[6,"d.vec3f",[[6,"std.abs",[[7,"rn","x"]]],[6,"std.abs",[[7,"rn","y"]]],[6,"std.abs",[[7,"rn","z"]]]]]],[13,"hx",[7,"rp1","z"]],[13,"hy",[7,"rp1","w"]],[13,"hz",[7,"rp2","x"]],[13,"scaleX",[1,[5,"0.5"],"/",[6,"std.max",["hy","hz"]]]],[13,"scaleY",[1,[5,"0.5"],"/",[6,"std.max",["hx","hz"]]]],[13,"scaleZ",[1,[5,"0.5"],"/",[6,"std.max",["hx","hy"]]]],[13,"uvX",[6,"d.vec2f",[[1,[1,[7,"rp","z"],"*","scaleX"],"+",[5,"0.5"]],[1,[1,[7,"rp","y"],"*","scaleX"],"+",[5,"0.5"]]]]],[13,"uvY",[6,"d.vec2f",[[1,[1,[7,"rp","x"],"*","scaleY"],"+",[5,"0.5"]],[1,[1,[7,"rp","z"],"*","scaleY"],"+",[5,"0.5"]]]]],[13,"uvZ",[6,"d.vec2f",[[1,[1,[7,"rp","x"],"*","scaleZ"],"+",[5,"0.5"]],[1,[1,[7,"rp","y"],"*","scaleZ"],"+",[5,"0.5"]]]]],[13,"pickXZ",[6,"std.select",["uvZ","uvX",[1,[7,"an","x"],">",[7,"an","z"]]]]],[13,"pickYZ",[6,"std.select",["uvZ","uvY",[1,[7,"an","y"],">",[7,"an","z"]]]]],[10,[6,"std.select",["pickYZ","pickXZ",[1,[7,"an","x"],">",[7,"an","y"]]]]]]]},externals:{eulerRotatePacked:()=>ws,"d.vec3f":()=>f,"std.abs":()=>z,"std.max":()=>b,"d.vec2f":()=>l,"std.select":()=>C}})&&e.f)({})).$name("boxFaceUV"),PG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=ws(t,s,r),d=r.z,c=r.w,_=$(i.y,__tsover_mul(c,-1),c);return __tsover_sub(j(f(i.x,__tsover_sub(i.y,_),i.z)),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["p","rp0","rp1"]]],[13,"radius",[7,"rp1","z"]],[13,"halfHeight",[7,"rp1","w"]],[13,"clampedY",[6,"std.clamp",[[7,"rp","y"],[1,"halfHeight","*",[4,"-",[5,"1"]]],"halfHeight"]]],[10,[1,[6,"std.length",[[6,"d.vec3f",[[7,"rp","x"],[1,[7,"rp","y"],"-","clampedY"],[7,"rp","z"]]]]],"-","radius"]]]]},externals:{eulerRotatePacked:()=>ws,"std.clamp":()=>$,"std.length":()=>j,"d.vec3f":()=>f}})&&e.f)({})).$name("paramCapsuleSdf"),EG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ws(t,r,o),c=__tsover_add(__tsover_div(tt(d.z,d.x),6.283185307179586),.5),_=__tsover_add(o.w,o.z);return l(c,$(__tsover_add(__tsover_mul(__tsover_div(d.y,_),.5),.5),0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["h","rp0","rp1"]]],[13,"u",[1,[1,[6,"std.atan2",[[7,"rp","z"],[7,"rp","x"]]],"/",[5,"6.283185307179586"]],"+",[5,"0.5"]]],[13,"span",[1,[7,"rp1","w"],"+",[7,"rp1","z"]]],[10,[6,"d.vec2f",["u",[6,"std.clamp",[[1,[1,[1,[7,"rp","y"],"/","span"],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]]]]]]},externals:{eulerRotatePacked:()=>ws,"std.atan2":()=>tt,"d.vec2f":()=>l,"std.clamp":()=>$}})&&e.f)({})).$name("capsuleSurfaceUV"),kG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=ws(t,s,r),d=r.z,c=r.w,_=o.x,u=tt(i.z,i.x),m=f(__tsover_mul(H(u),d),0,__tsover_mul(Y(u),d)),p=f(__tsover_sub(i.x,m.x),__tsover_sub(i.y,m.y),__tsover_sub(i.z,m.z)),y=__tsover_mul(u,.5),h=f(__tsover_mul(H(u),H(y)),Y(y),__tsover_mul(Y(u),H(y))),g=se(p,h),w=b(__tsover_sub(z(g),c),a(0)),S=f(__tsover_sub(p.x,__tsover_mul(h.x,g)),__tsover_sub(p.y,__tsover_mul(h.y,g)),__tsover_sub(p.z,__tsover_mul(h.z,g)));return __tsover_sub(j(l(w,j(S))),_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["p","rp0","rp1"]]],[13,"ringRadius",[7,"rp1","z"]],[13,"halfWidth",[7,"rp1","w"]],[13,"thickness",[7,"rp2","x"]],[13,"phi",[6,"std.atan2",[[7,"rp","z"],[7,"rp","x"]]]],[13,"spine",[6,"d.vec3f",[[1,[6,"std.cos",["phi"]],"*","ringRadius"],[5,"0"],[1,[6,"std.sin",["phi"]],"*","ringRadius"]]]],[13,"dvec",[6,"d.vec3f",[[1,[7,"rp","x"],"-",[7,"spine","x"]],[1,[7,"rp","y"],"-",[7,"spine","y"]],[1,[7,"rp","z"],"-",[7,"spine","z"]]]]],[13,"halfPhi",[1,"phi","*",[5,"0.5"]]],[13,"ev",[6,"d.vec3f",[[1,[6,"std.cos",["phi"]],"*",[6,"std.cos",["halfPhi"]]],[6,"std.sin",["halfPhi"]],[1,[6,"std.sin",["phi"]],"*",[6,"std.cos",["halfPhi"]]]]]],[13,"vProj",[6,"std.dot",["dvec","ev"]]],[13,"du",[6,"std.max",[[1,[6,"std.abs",["vProj"]],"-","halfWidth"],[6,"d.f32",[[5,"0"]]]]]],[13,"perp",[6,"d.vec3f",[[1,[7,"dvec","x"],"-",[1,[7,"ev","x"],"*","vProj"]],[1,[7,"dvec","y"],"-",[1,[7,"ev","y"],"*","vProj"]],[1,[7,"dvec","z"],"-",[1,[7,"ev","z"],"*","vProj"]]]]],[10,[1,[6,"std.length",[[6,"d.vec2f",["du",[6,"std.length",["perp"]]]]]],"-","thickness"]]]]},externals:{eulerRotatePacked:()=>ws,"std.atan2":()=>tt,"d.vec3f":()=>f,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.max":()=>b,"std.abs":()=>z,"d.f32":()=>a,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})).$name("paramMobiusSdf"),$G=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ws(t,r,o),c=o.z,_=o.w,u=tt(d.z,d.x),m=f(__tsover_mul(H(u),c),0,__tsover_mul(Y(u),c)),p=f(__tsover_sub(d.x,m.x),__tsover_sub(d.y,m.y),__tsover_sub(d.z,m.z)),y=__tsover_mul(u,.5),h=se(p,f(__tsover_mul(H(u),H(y)),Y(y),__tsover_mul(Y(u),H(y))));return l(__tsover_add(__tsover_div(u,6.283185307179586),.5),__tsover_add(__tsover_mul(__tsover_div(h,_),.5),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["h","rp0","rp1"]]],[13,"ringRadius",[7,"rp1","z"]],[13,"halfWidth",[7,"rp1","w"]],[13,"phi",[6,"std.atan2",[[7,"rp","z"],[7,"rp","x"]]]],[13,"spine",[6,"d.vec3f",[[1,[6,"std.cos",["phi"]],"*","ringRadius"],[5,"0"],[1,[6,"std.sin",["phi"]],"*","ringRadius"]]]],[13,"dvec",[6,"d.vec3f",[[1,[7,"rp","x"],"-",[7,"spine","x"]],[1,[7,"rp","y"],"-",[7,"spine","y"]],[1,[7,"rp","z"],"-",[7,"spine","z"]]]]],[13,"halfPhi",[1,"phi","*",[5,"0.5"]]],[13,"ev",[6,"d.vec3f",[[1,[6,"std.cos",["phi"]],"*",[6,"std.cos",["halfPhi"]]],[6,"std.sin",["halfPhi"]],[1,[6,"std.sin",["phi"]],"*",[6,"std.cos",["halfPhi"]]]]]],[13,"vProj",[6,"std.dot",["dvec","ev"]]],[10,[6,"d.vec2f",[[1,[1,"phi","/",[5,"6.283185307179586"]],"+",[5,"0.5"]],[1,[1,[1,"vProj","/","halfWidth"],"*",[5,"0.5"]],"+",[5,"0.5"]]]]]]]},externals:{eulerRotatePacked:()=>ws,"std.atan2":()=>tt,"d.vec3f":()=>f,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"d.vec2f":()=>l}})&&e.f)({})).$name("mobiusSurfaceUV"),UG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=s.x,d=s.y,c=s.z,_=r.x,u=r.y,m=r.z,p=H(i),y=Y(i),h=__tsover_add(__tsover_mul(t.x,p),__tsover_mul(t.y,y)),g=__tsover_add(__tsover_mul(__tsover_mul(t.x,y),-1),__tsover_mul(t.y,p)),w=__tsover_add(__tsover_add(__tsover_mul(h,d),u),__tsover_mul(n,Tu)),S=H(w),T=Y(w),A=__tsover_add(__tsover_mul(g,S),__tsover_mul(t.z,T)),P=__tsover_add(__tsover_mul(__tsover_mul(g,T),-1),__tsover_mul(t.z,S)),U=b(__tsover_sub(z(A),c),a(0));return __tsover_div(__tsover_sub(j(l(U,P)),_),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"t"}],body:[0,[[13,"angleRad",[7,"rp0","x"]],[13,"twist",[7,"rp0","y"]],[13,"halfW",[7,"rp0","z"]],[13,"thickness",[7,"rp1","x"]],[13,"phase",[7,"rp1","y"]],[13,"lipschitz",[7,"rp1","z"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"rpx",[1,[1,[7,"p","x"],"*","cosA"],"+",[1,[7,"p","y"],"*","sinA"]]],[13,"rpy",[1,[1,[1,[7,"p","x"],"*","sinA"],"*",[4,"-",[5,"1"]]],"+",[1,[7,"p","y"],"*","cosA"]]],[13,"twistAngle",[1,[1,[1,"rpx","*","twist"],"+","phase"],"+",[1,"t","*","TWISTED_RIBBON_TWIST_RATE"]]],[13,"ca",[6,"std.cos",["twistAngle"]]],[13,"sa",[6,"std.sin",["twistAngle"]]],[13,"localU",[1,[1,"rpy","*","ca"],"+",[1,[7,"p","z"],"*","sa"]]],[13,"localV",[1,[1,[1,"rpy","*","sa"],"*",[4,"-",[5,"1"]]],"+",[1,[7,"p","z"],"*","ca"]]],[13,"du",[6,"std.max",[[1,[6,"std.abs",["localU"]],"-","halfW"],[6,"d.f32",[[5,"0"]]]]]],[10,[1,[1,[6,"std.length",[[6,"d.vec2f",["du","localV"]]]],"-","thickness"],"/","lipschitz"]]]]},externals:{"std.cos":()=>H,"std.sin":()=>Y,TWISTED_RIBBON_TWIST_RATE:()=>Tu,"std.max":()=>b,"std.abs":()=>z,"d.f32":()=>a,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})).$name("paramTwistedRibbonSdf"),CG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=r.x,c=r.y,_=r.z,u=r.w,m=o.y,p=H(d),y=Y(d),h=__tsover_add(__tsover_mul(t.x,p),__tsover_mul(t.y,y)),g=__tsover_add(__tsover_mul(__tsover_mul(t.x,y),-1),__tsover_mul(t.y,p)),w=__tsover_add(__tsover_add(__tsover_mul(h,c),m),__tsover_mul(i,Tu)),S=H(w),T=Y(w),A=b(oe(__tsover_add(__tsover_mul(g,S),__tsover_mul(t.z,T)),_),__tsover_mul(_,-1));return l(__tsover_add(__tsover_mul(h,.15),.5),__tsover_add(__tsover_div(A,u),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"t"}],body:[0,[[13,"angleRad",[7,"rp0","x"]],[13,"twist",[7,"rp0","y"]],[13,"halfW",[7,"rp0","z"]],[13,"width",[7,"rp0","w"]],[13,"phase",[7,"rp1","y"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"rpx",[1,[1,[7,"h","x"],"*","cosA"],"+",[1,[7,"h","y"],"*","sinA"]]],[13,"rpy",[1,[1,[1,[7,"h","x"],"*","sinA"],"*",[4,"-",[5,"1"]]],"+",[1,[7,"h","y"],"*","cosA"]]],[13,"twistAngle",[1,[1,[1,"rpx","*","twist"],"+","phase"],"+",[1,"t","*","TWISTED_RIBBON_TWIST_RATE"]]],[13,"ca",[6,"std.cos",["twistAngle"]]],[13,"sa",[6,"std.sin",["twistAngle"]]],[13,"localU",[1,[1,"rpy","*","ca"],"+",[1,[7,"h","z"],"*","sa"]]],[13,"localUClamped",[6,"std.max",[[6,"std.min",["localU","halfW"]],[1,"halfW","*",[4,"-",[5,"1"]]]]]],[10,[6,"d.vec2f",[[1,[1,"rpx","*",[5,"0.15"]],"+",[5,"0.5"]],[1,[1,"localUClamped","/","width"],"+",[5,"0.5"]]]]]]]},externals:{"std.cos":()=>H,"std.sin":()=>Y,TWISTED_RIBBON_TWIST_RATE:()=>Tu,"std.max":()=>b,"std.min":()=>oe,"d.vec2f":()=>l}})&&e.f)({})).$name("twistedRibbonSurfaceUV");function RG(e,t){let s={};return t.forEach((r,o)=>{s[`${e}${o}`]={schema:x,initial:r}}),s}var qm=_o()?128:192,FW=Math.ceil(qm/4)*qm*qm,Su=_o()?512:1024;var BW=Math.PI/180;var Xm=2.39996323,Mb=.27;var WW=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cam:n5(16,a5(32,Hc)),lightDir:f,voxelSize:a,lightT1:f,fill:a,lightT2:f,voxelScale:a,bevel:a,gridOrigin:a,gridN:a,gridW:a}),"VoxelMarchParams");var Hm=v.fn([ps(a),a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=a(__tsover_sub(Su,1)),i=q(s),d=q(r),c=__tsover_sub(s,i),_=__tsover_sub(r,d),u=R($(i,a(0),n)),m=R($(__tsover_add(i,1),a(0),n)),p=R($(d,a(0),n)),y=R($(__tsover_add(d,1),a(0),n)),h=C(a(0),a(1),Be(t,Ge(u,p),0).ra,VOXEL_SHADOW_RES:()=>Su,"std.floor":()=>q,"d.u32":()=>R,"std.clamp":()=>$,"std.select":()=>C,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.mix":()=>X}})&&e.f)({})).$name("voxelShadowCompare"),OW=v.fn([ps(a),f,f,f,f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=a(Su),u=__tsover_div(__tsover_mul(i,2),_),m=se(s,o),p=se(s,n),y=__tsover_sub(i,se(s,r)),h=__tsover_sub(__tsover_mul(__tsover_add(__tsover_mul(__tsover_div(m,i),.5),.5),_),.5),g=__tsover_sub(__tsover_mul(__tsover_add(__tsover_mul(__tsover_div(p,i),.5),.5),_),.5),w=__tsover_sub(y,__tsover_add(__tsover_mul(c,.05),__tsover_mul(u,2))),S=a(0);if(d<.001)S=Hm(t,h,g,w);else{let T=__tsover_mul(d,Mb),A=b(__tsover_div(oe(__tsover_mul(i,T),__tsover_mul(i,.25)),u),1),P=a(0),U=a(0);for(let D=0;D<8;D++){let O=__tsover_mul(be(__tsover_div(__tsover_add(a(D),.5),8)),A),L=__tsover_mul(a(D),Xm),G=$(__tsover_add(h,__tsover_mul(H(L),O)),a(0),__tsover_sub(_,1)),W=$(__tsover_add(g,__tsover_mul(Y(L),O)),a(0),__tsover_sub(_,1)),K=Be(t,Ge(R(G),R(W)),0).r;K.5){let D=__tsover_div(P,U),O=$(__tsover_div(__tsover_mul(__tsover_sub(y,D),T),u),1,A),L=a(0);for(let G=0;G<12;G++){let W=__tsover_mul(be(__tsover_div(__tsover_add(a(G),.5),12)),O),K=__tsover_add(__tsover_mul(a(G),Xm),.7);L=__tsover_add(L,Hm(t,__tsover_add(h,__tsover_mul(H(K),W)),__tsover_add(g,__tsover_mul(Y(K),W)),w))}S=__tsover_div(L,12)}}return S}),{v:2,name:void 0,ast:{params:[{type:"i",name:"tex"},{type:"i",name:"p"},{type:"i",name:"L"},{type:"i",name:"T1"},{type:"i",name:"T2"},{type:"i",name:"rBound"},{type:"i",name:"softness"},{type:"i",name:"voxel"}],body:[0,[[13,"RES",[6,"d.f32",["VOXEL_SHADOW_RES"]]],[13,"texelWorld",[1,[1,"rBound","*",[5,"2"]],"/","RES"]],[13,"u",[6,"std.dot",["p","T1"]]],[13,"w",[6,"std.dot",["p","T2"]]],[13,"dL",[1,"rBound","-",[6,"std.dot",["p","L"]]]],[13,"mx",[1,[1,[1,[1,[1,"u","/","rBound"],"*",[5,"0.5"]],"+",[5,"0.5"]],"*","RES"],"-",[5,"0.5"]]],[13,"my",[1,[1,[1,[1,[1,"w","/","rBound"],"*",[5,"0.5"]],"+",[5,"0.5"]],"*","RES"],"-",[5,"0.5"]]],[13,"ref",[1,"dL","-",[1,[1,"voxel","*",[5,"0.05"]],"+",[1,"texelWorld","*",[5,"2"]]]]],[12,"shadow",[6,"d.f32",[[5,"0"]]]],[11,[1,"softness","<",[5,"0.001"]],[0,[[2,"shadow","=",[6,"shadowCompare",["tex","mx","my","ref"]]]]],[0,[[13,"k",[1,"softness","*","SOFT_TAN"]],[13,"rSearch",[6,"std.max",[[1,[6,"std.min",[[1,"rBound","*","k"],[1,"rBound","*",[5,"0.25"]]]],"/","texelWorld"],[5,"1"]]]],[12,"sum",[6,"d.f32",[[5,"0"]]]],[12,"count",[6,"d.f32",[[5,"0"]]]],[14,[12,"s",[5,"0"]],[1,"s","<",[5,"8"]],[102,"++","s"],[0,[[13,"r",[1,[6,"std.sqrt",[[1,[1,[6,"d.f32",["s"]],"+",[5,"0.5"]],"/",[5,"8"]]]],"*","rSearch"]],[13,"th",[1,[6,"d.f32",["s"]],"*","GOLDEN_ANGLE"]],[13,"sx",[6,"std.clamp",[[1,"mx","+",[1,[6,"std.cos",["th"]],"*","r"]],[6,"d.f32",[[5,"0"]]],[1,"RES","-",[5,"1"]]]]],[13,"sy",[6,"std.clamp",[[1,"my","+",[1,[6,"std.sin",["th"]],"*","r"]],[6,"d.f32",[[5,"0"]]],[1,"RES","-",[5,"1"]]]]],[13,"dep",[7,[6,"std.textureLoad",["tex",[6,"d.vec2u",[[6,"d.u32",["sx"]],[6,"d.u32",["sy"]]]],[5,"0"]]],"r"]],[11,[1,"dep","<","ref"],[0,[[2,"sum","=",[1,"sum","+","dep"]],[2,"count","=",[1,"count","+",[5,"1"]]]]]]]]],[11,[1,"count",">",[5,"0.5"]],[0,[[13,"avgBlocker",[1,"sum","/","count"]],[13,"penumbra",[6,"std.clamp",[[1,[1,[1,"dL","-","avgBlocker"],"*","k"],"/","texelWorld"],[5,"1"],"rSearch"]]],[12,"acc",[6,"d.f32",[[5,"0"]]]],[14,[12,"s",[5,"0"]],[1,"s","<",[5,"12"]],[102,"++","s"],[0,[[13,"r",[1,[6,"std.sqrt",[[1,[1,[6,"d.f32",["s"]],"+",[5,"0.5"]],"/",[5,"12"]]]],"*","penumbra"]],[13,"th",[1,[1,[6,"d.f32",["s"]],"*","GOLDEN_ANGLE"],"+",[5,"0.7"]]],[2,"acc","=",[1,"acc","+",[6,"shadowCompare",["tex",[1,"mx","+",[1,[6,"std.cos",["th"]],"*","r"]],[1,"my","+",[1,[6,"std.sin",["th"]],"*","r"]],"ref"]]]]]]],[2,"shadow","=",[1,"acc","/",[5,"12"]]]]]]]]],[10,"shadow"]]]},externals:{"d.f32":()=>a,VOXEL_SHADOW_RES:()=>Su,"std.dot":()=>se,shadowCompare:()=>Hm,SOFT_TAN:()=>Mb,"std.max":()=>b,"std.min":()=>oe,"std.sqrt":()=>be,GOLDEN_ANGLE:()=>Xm,"std.clamp":()=>$,"std.cos":()=>H,"std.sin":()=>Y,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"d.u32":()=>R}})&&e.f)({})).$name("voxelShadowLookup"),Pb=v.fn([f,f,f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=C(a(-1),a(1),s.x>=0),i=C(a(-1),a(1),s.y>=0),d=C(a(-1),a(1),s.z>=0),c=__tsover_div(n,b(z(s.x),1e-6)),_=__tsover_div(i,b(z(s.y),1e-6)),u=__tsover_div(d,b(z(s.z),1e-6)),m=__tsover_mul(__tsover_sub(__tsover_sub(r.x,o),t.x),c),p=__tsover_mul(__tsover_sub(__tsover_add(r.x,o),t.x),c),y=__tsover_mul(__tsover_sub(__tsover_sub(r.y,o),t.y),_),h=__tsover_mul(__tsover_sub(__tsover_add(r.y,o),t.y),_),g=__tsover_mul(__tsover_sub(__tsover_sub(r.z,o),t.z),u),w=__tsover_mul(__tsover_sub(__tsover_add(r.z,o),t.z),u),S=b(oe(m,p),b(oe(y,h),oe(g,w))),T=oe(b(m,p),oe(b(y,h),b(g,w))),A=__tsover_mul(C(a(0),a(1),S<=T),C(a(0),a(1),T>=0));return C(a(-1),b(S,a(0)),A>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ro"},{type:"i",name:"rd"},{type:"i",name:"c"},{type:"i",name:"h"}],body:[0,[[13,"sx",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"d.f32",[[5,"1"]]],[1,[7,"rd","x"],">=",[5,"0"]]]]],[13,"sy",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"d.f32",[[5,"1"]]],[1,[7,"rd","y"],">=",[5,"0"]]]]],[13,"sz",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"d.f32",[[5,"1"]]],[1,[7,"rd","z"],">=",[5,"0"]]]]],[13,"ix",[1,"sx","/",[6,"std.max",[[6,"std.abs",[[7,"rd","x"]]],[5,"0.000001"]]]]],[13,"iy",[1,"sy","/",[6,"std.max",[[6,"std.abs",[[7,"rd","y"]]],[5,"0.000001"]]]]],[13,"iz",[1,"sz","/",[6,"std.max",[[6,"std.abs",[[7,"rd","z"]]],[5,"0.000001"]]]]],[13,"t1x",[1,[1,[1,[7,"c","x"],"-","h"],"-",[7,"ro","x"]],"*","ix"]],[13,"t2x",[1,[1,[1,[7,"c","x"],"+","h"],"-",[7,"ro","x"]],"*","ix"]],[13,"t1y",[1,[1,[1,[7,"c","y"],"-","h"],"-",[7,"ro","y"]],"*","iy"]],[13,"t2y",[1,[1,[1,[7,"c","y"],"+","h"],"-",[7,"ro","y"]],"*","iy"]],[13,"t1z",[1,[1,[1,[7,"c","z"],"-","h"],"-",[7,"ro","z"]],"*","iz"]],[13,"t2z",[1,[1,[1,[7,"c","z"],"+","h"],"-",[7,"ro","z"]],"*","iz"]],[13,"tIn",[6,"std.max",[[6,"std.min",["t1x","t2x"]],[6,"std.max",[[6,"std.min",["t1y","t2y"]],[6,"std.min",["t1z","t2z"]]]]]]],[13,"tOut",[6,"std.min",[[6,"std.max",["t1x","t2x"]],[6,"std.min",[[6,"std.max",["t1y","t2y"]],[6,"std.max",["t1z","t2z"]]]]]]],[13,"ok",[1,[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"tIn","<=","tOut"]]],"*",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"tOut",">=",[5,"0"]]]]]],[10,[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"std.max",["tIn",[6,"d.f32",[[5,"0"]]]]],[1,"ok",">",[5,"0.5"]]]]]]]},externals:{"std.select":()=>C,"d.f32":()=>a,"std.max":()=>b,"std.abs":()=>z,"std.min":()=>oe}})&&e.f)({})).$name("voxelRayBox"),VW=v.fn([f,f,f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=t.sub(r),i=se(n,s),d=__tsover_sub(se(n,n),__tsover_mul(o,o)),c=__tsover_sub(__tsover_mul(i,i),d),_=__tsover_sub(__tsover_mul(i,-1),be(b(c,0))),u=__tsover_mul(C(a(0),a(1),c>=0),C(a(0),a(1),_>=0));return C(a(-1),_,u>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ro"},{type:"i",name:"rd"},{type:"i",name:"c"},{type:"i",name:"h"}],body:[0,[[13,"oc",[6,[7,"ro","sub"],["c"]]],[13,"b",[6,"std.dot",["oc","rd"]]],[13,"cc",[1,[6,"std.dot",["oc","oc"]],"-",[1,"h","*","h"]]],[13,"disc",[1,[1,"b","*","b"],"-","cc"]],[13,"t",[1,[1,"b","*",[4,"-",[5,"1"]]],"-",[6,"std.sqrt",[[6,"std.max",["disc",[5,"0"]]]]]]],[13,"ok",[1,[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"disc",">=",[5,"0"]]]],"*",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"t",">=",[5,"0"]]]]]],[10,[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],"t",[1,"ok",">",[5,"0.5"]]]]]]]},externals:{"std.dot":()=>se,"std.sqrt":()=>be,"std.max":()=>b,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})).$name("voxelRaySphere"),NW=v.fn([f,f,f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=Pb(t,s,r,o),d=a(-1);if(i>=0){let c=i,_=a(0);for(let u=0;u<8;u++){let m=Ec(t.add(s.mul(c)).sub(r),o,o,o,n);if(m<__tsover_mul(o,.004)){_=a(1);break}if(c=__tsover_add(c,m),c>__tsover_add(i,__tsover_mul(o,3.5)))break}d=C(a(-1),c,_>.5)}return d}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ro"},{type:"i",name:"rd"},{type:"i",name:"c"},{type:"i",name:"h"},{type:"i",name:"r"}],body:[0,[[13,"tBox",[6,"voxelRayBox",["ro","rd","c","h"]]],[12,"t",[6,"d.f32",[[4,"-",[5,"1"]]]]],[11,[1,"tBox",">=",[5,"0"]],[0,[[12,"s","tBox"],[12,"hit",[6,"d.f32",[[5,"0"]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"8"]],[102,"++","i"],[0,[[13,"p",[6,[7,[6,[7,"ro","add"],[[6,[7,"rd","mul"],["s"]]]],"sub"],["c"]]],[13,"dd",[6,"sdRoundBox",["p","h","h","h","r"]]],[11,[1,"dd","<",[1,"h","*",[5,"0.004"]]],[0,[[2,"hit","=",[6,"d.f32",[[5,"1"]]]],[17]]]],[2,"s","=",[1,"s","+","dd"]],[11,[1,"s",">",[1,"tBox","+",[1,"h","*",[5,"3.5"]]]],[0,[[17]]]]]]],[2,"t","=",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],"s",[1,"hit",">",[5,"0.5"]]]]]]]],[10,"t"]]]},externals:{voxelRayBox:()=>Pb,"d.f32":()=>a,sdRoundBox:()=>Ec,"std.select":()=>C}})&&e.f)({})).$name("voxelRayRoundedBox");var zG=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_sub(1,t),o=re(0,.14,t),n=re(.68,.92,t);return X(r,X(a(1),__tsover_mul(.72,__tsover_sub(1,n)),o),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"shape"}],body:[0,[[13,"sRound",[1,[5,"1"],"-","t"]],[13,"k1",[6,"std.smoothstep",[[5,"0"],[5,"0.14"],"t"]]],[13,"k2",[6,"std.smoothstep",[[5,"0.68"],[5,"0.92"],"t"]]],[13,"sMach",[6,"std.mix",[[6,"d.f32",[[5,"1"]]],[1,[5,"0.72"],"*",[1,[5,"1"],"-","k2"]],"k1"]]],[10,[6,"std.mix",["sRound","sMach","shape"]]]]]},externals:{"std.smoothstep":()=>re,"std.mix":()=>X,"d.f32":()=>a}})&&e.f)({})),sw=Za({BLUR_DISK:()=>Ya,GlassLensUVs:()=>hl,applyGlassEffect:()=>YG,glassBlurOffset:()=>aw,glassBorderHighlight:()=>Af,glassComposite:()=>iw,glassFresnelRim:()=>Pf,glassGradient:()=>ow,glassLensUVs:()=>nw,glassRefrStrength:()=>$c,glassSpecular:()=>Mf,glassTint:()=>Sf,offsetUV:()=>Tf,sdfSpaceUV:()=>rw}),ra=.017453292519943295,tl=.4472135954999579,GG=2.3999632297286535,wf=9,Ya=[];for(let e=0;e(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=t.x,d=__tsover_sub(1,t.y),c=__tsover_mul(__tsover_sub(o.x,i),n),_=__tsover_sub(o.y,d),u=__tsover_mul(r,ra),m=H(u),p=Y(u),y=__tsover_add(__tsover_mul(c,m),__tsover_mul(_,p)),h=__tsover_sub(__tsover_mul(_,m),__tsover_mul(c,p));return l(__tsover_add(__tsover_div(y,s),.5),__tsover_add(__tsover_div(h,s),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"scale"},{type:"i",name:"rotation"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"centerX",[7,"center","x"]],[13,"centerY",[1,[5,"1"],"-",[7,"center","y"]]],[13,"dxAc",[1,[1,[7,"uv","x"],"-","centerX"],"*","aspect"]],[13,"dy",[1,[7,"uv","y"],"-","centerY"]],[13,"rotRad",[1,"rotation","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rdx",[1,[1,"dxAc","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dxAc","*","sinR"]]],[10,[6,"d.vec2f",[[1,[1,"rdx","/","scale"],"+",[5,"0.5"]],[1,[1,"rdy","/","scale"],"+",[5,"0.5"]]]]]]]},externals:{DEG_TO_RAD:()=>ra,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),Tf=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_add(t.x,s),__tsover_add(t.y,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+","ox"],[1,[7,"uv","y"],"+","oy"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),ow=v.fn([a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_div(__tsover_sub(s,t),.01),__tsover_div(__tsover_sub(r,t),.01))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdfRaw"},{type:"i",name:"sdfX"},{type:"i",name:"sdfY"}],body:[0,[[13,"eps",[5,"0.01"]],[10,[6,"d.vec2f",[[1,[1,"sdfX","-","sdfRaw"],"/","eps"],[1,[1,"sdfY","-","sdfRaw"],"/","eps"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),$c=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=b(__tsover_mul(s,.3),.005),n=$(__tsover_div(__tsover_mul(t,-1),o),0,1),i=re(0,1,n);return C(__tsover_mul(__tsover_sub(1,n),__tsover_sub(1,n)),i,r>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"thickness"},{type:"i",name:"volumetric"}],body:[0,[[13,"thicknessRange",[6,"std.max",[[1,"thickness","*",[5,"0.3"]],[5,"0.005"]]]],[13,"depthNorm",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","thicknessRange"],[5,"0"],[5,"1"]]]],[13,"vol",[6,"std.smoothstep",[[5,"0"],[5,"1"],"depthNorm"]]],[13,"flat",[1,[1,[5,"1"],"-","depthNorm"],"*",[1,[5,"1"],"-","depthNorm"]]],[10,[6,"std.select",["flat","vol",[1,"volumetric",">",[5,"0.5"]]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.smoothstep":()=>re,"std.select":()=>C}})&&e.f)({})),hl=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({lensUV:l,rUV:l,bUV:l}),"GlassLensUVs"),nw=v.fn([l,l,a,a,a,a,a,a,a,a,a,a],hl)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p)=>{"use gpu";let y=$c(__tsover_div(r,o),_,p),h=__tsover_mul(d,.15),g=b(be(__tsover_add(__tsover_mul(n,n),__tsover_mul(i,i))),1e-4),w=oe(a(1),__tsover_div(12,g)),S=__tsover_div(__tsover_mul(__tsover_mul(__tsover_mul(__tsover_mul(n,w),-1),h),y),m),T=__tsover_mul(__tsover_mul(__tsover_mul(__tsover_mul(i,w),-1),h),y),A=s.x,P=__tsover_sub(1,s.y),U=__tsover_add(A,__tsover_div(__tsover_sub(t.x,A),c)),D=__tsover_add(P,__tsover_div(__tsover_sub(t.y,P),c)),O=__tsover_add(U,S),L=__tsover_add(D,T),G=__tsover_mul(u,.06),W=__tsover_mul(S,G),K=__tsover_mul(T,G);return hl({lensUV:l(O,L),rUV:l(__tsover_add(O,W),__tsover_add(L,K)),bUV:l(__tsover_sub(O,W),__tsover_sub(L,K))})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"center"},{type:"i",name:"sdfRaw"},{type:"i",name:"scale"},{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"refraction"},{type:"i",name:"innerZoom"},{type:"i",name:"thickness"},{type:"i",name:"aberration"},{type:"i",name:"aspect"},{type:"i",name:"volumetric"}],body:[0,[[13,"sdf",[1,"sdfRaw","/","scale"]],[13,"refrStrength",[6,"glassRefrStrength",["sdf","thickness","volumetric"]]],[13,"refrScale",[1,"refraction","*",[5,"0.15"]]],[13,"slopeLen",[6,"std.max",[[6,"std.sqrt",[[1,[1,"gradX","*","gradX"],"+",[1,"gradY","*","gradY"]]]],[5,"0.0001"]]]],[13,"slopeScale",[6,"std.min",[[6,"d.f32",[[5,"1"]]],[1,[5,"12"],"/","slopeLen"]]]],[13,"offsetX",[1,[1,[1,[1,[1,"gradX","*","slopeScale"],"*",[4,"-",[5,"1"]]],"*","refrScale"],"*","refrStrength"],"/","aspect"]],[13,"offsetY",[1,[1,[1,[1,"gradY","*","slopeScale"],"*",[4,"-",[5,"1"]]],"*","refrScale"],"*","refrStrength"]],[13,"centerX",[7,"center","x"]],[13,"centerY",[1,[5,"1"],"-",[7,"center","y"]]],[13,"zoomedX",[1,"centerX","+",[1,[1,[7,"uv","x"],"-","centerX"],"/","innerZoom"]]],[13,"zoomedY",[1,"centerY","+",[1,[1,[7,"uv","y"],"-","centerY"],"/","innerZoom"]]],[13,"lensX",[1,"zoomedX","+","offsetX"]],[13,"lensY",[1,"zoomedY","+","offsetY"]],[13,"chrScale",[1,"aberration","*",[5,"0.06"]]],[13,"chrOffX",[1,"offsetX","*","chrScale"]],[13,"chrOffY",[1,"offsetY","*","chrScale"]],[10,[6,"GlassLensUVs",[[104,{lensUV:[6,"d.vec2f",["lensX","lensY"]],rUV:[6,"d.vec2f",[[1,"lensX","+","chrOffX"],[1,"lensY","+","chrOffY"]]],bUV:[6,"d.vec2f",[[1,"lensX","-","chrOffX"],[1,"lensY","-","chrOffY"]]]}]]]]]]},externals:{glassRefrStrength:()=>$c,"std.max":()=>b,"std.sqrt":()=>be,"std.min":()=>oe,"d.f32":()=>a,GlassLensUVs:()=>hl,"d.vec2f":()=>l}})&&e.f)({})),aw=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,2);return l(__tsover_mul(__tsover_div(r,t.x),n),__tsover_mul(__tsover_div(o,t.y),n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"viewportSize"},{type:"i",name:"blur"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[13,"m",[1,"blur","*",[5,"2"]]],[10,[6,"d.vec2f",[[1,[1,"ox","/",[7,"viewportSize","x"]],"*","m"],[1,[1,"oy","/",[7,"viewportSize","y"]],"*","m"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Sf=v.fn([f,f,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=f(.299,.587,.114),i=se(t,n),d=X(t,s,r),c=se(d,n);return X(d,d.mul(__tsover_div(i,b(c,1e-4))),C(a(0),a(1),o>.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"tintColor"},{type:"i",name:"tintIntensity"},{type:"i",name:"preserveLum"}],body:[0,[[13,"lumWeights",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]],[13,"origLum",[6,"std.dot",["rgb","lumWeights"]]],[13,"tinted",[6,"std.mix",["rgb","tintColor","tintIntensity"]]],[13,"tintedLum",[6,"std.dot",["tinted","lumWeights"]]],[13,"lumPreserved",[6,[7,"tinted","mul"],[[1,"origLum","/",[6,"std.max",["tintedLum",[5,"0.0001"]]]]]]],[13,"preserveFactor",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"preserveLum",">",[5,"0.5"]]]]],[10,[6,"std.mix",["tinted","lumPreserved","preserveFactor"]]]]]},externals:{"d.vec3f":()=>f,"std.dot":()=>se,"std.mix":()=>X,"std.max":()=>b,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})),Af=v.fn([a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=b(__tsover_mul(s,.5),.001),_=b(__tsover_mul(c,.0625),__tsover_mul(r,1.5)),u=__tsover_sub(t,r),m=__tsover_sub($(__tsover_div(__tsover_mul(u,-1),_),0,1),$(__tsover_div(__tsover_mul(t,-1),_),0,1)),p=H(__tsover_mul(i,ra)),y=Y(__tsover_mul(i,ra)),h=__tsover_add(__tsover_mul(o,p),__tsover_mul(n,y)),g=$(__tsover_add(__tsover_mul(h,.5),.5),0,1);return __tsover_mul(__tsover_mul(m,g),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"edgeSoftness"},{type:"i",name:"pxH"},{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"lightAngle"},{type:"i",name:"highlight"}],body:[0,[[13,"sharp",[6,"std.max",[[1,"edgeSoftness","*",[5,"0.5"]],[5,"0.001"]]]],[13,"w2",[6,"std.max",[[1,"sharp","*",[5,"0.0625"]],[1,"pxH","*",[5,"1.5"]]]]],[13,"sdfOuter",[1,"sdf","-","pxH"]],[13,"rb2base",[1,[6,"std.clamp",[[1,[1,"sdfOuter","*",[4,"-",[5,"1"]]],"/","w2"],[5,"0"],[5,"1"]]],"-",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","w2"],[5,"0"],[5,"1"]]]]],[13,"lx",[6,"std.cos",[[1,"lightAngle","*","DEG_TO_RAD"]]]],[13,"ly",[6,"std.sin",[[1,"lightAngle","*","DEG_TO_RAD"]]]],[13,"normalDotLight",[1,[1,"gradX","*","lx"],"+",[1,"gradY","*","ly"]]],[13,"lightFacing",[6,"std.clamp",[[1,[1,"normalDotLight","*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[10,[1,[1,"rb2base","*","lightFacing"],"*","highlight"]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.cos":()=>H,DEG_TO_RAD:()=>ra,"std.sin":()=>Y}})&&e.f)({})),Mf=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=H(__tsover_mul(r,ra)),c=Y(__tsover_mul(r,ra)),_=a(2),u=be(__tsover_add(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s)),__tsover_mul(_,_))),m=__tsover_div(t,u),p=__tsover_div(s,u),y=__tsover_div(_,u),h=__tsover_add(__tsover_add(__tsover_mul(m,__tsover_mul(d,tl)),__tsover_mul(p,__tsover_mul(c,tl))),__tsover_mul(y,__tsover_mul(2,tl))),g=$l(__tsover_sub(8,__tsover_mul(n,7)));return __tsover_mul(__tsover_mul(Ce($(h,0,1),g),o),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"lightAngle"},{type:"i",name:"highlight"},{type:"i",name:"highlightSoftness"},{type:"i",name:"refrStrength"}],body:[0,[[13,"lx",[6,"std.cos",[[1,"lightAngle","*","DEG_TO_RAD"]]]],[13,"ly",[6,"std.sin",[[1,"lightAngle","*","DEG_TO_RAD"]]]],[13,"nz",[6,"d.f32",[[5,"2"]]]],[13,"nLen",[6,"std.sqrt",[[1,[1,[1,"gradX","*","gradX"],"+",[1,"gradY","*","gradY"]],"+",[1,"nz","*","nz"]]]]],[13,"nx",[1,"gradX","/","nLen"]],[13,"ny",[1,"gradY","/","nLen"]],[13,"nnz",[1,"nz","/","nLen"]],[13,"nDotH",[1,[1,[1,"nx","*",[1,"lx","*","INV_HLEN_GLASS"]],"+",[1,"ny","*",[1,"ly","*","INV_HLEN_GLASS"]]],"+",[1,"nnz","*",[1,[5,"2"],"*","INV_HLEN_GLASS"]]]],[13,"shininess",[6,"std.exp2",[[1,[5,"8"],"-",[1,"highlightSoftness","*",[5,"7"]]]]]],[10,[1,[1,[6,"std.pow",[[6,"std.clamp",["nDotH",[5,"0"],[5,"1"]]],"shininess"]],"*","highlight"],"*","refrStrength"]]]]},externals:{"std.cos":()=>H,DEG_TO_RAD:()=>ra,"std.sin":()=>Y,"d.f32":()=>a,"std.sqrt":()=>be,INV_HLEN_GLASS:()=>tl,"std.exp2":()=>$l,"std.pow":()=>Ce,"std.clamp":()=>$}})&&e.f)({})),Pf=v.fn([a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_add(__tsover_mul(s,s),__tsover_mul(r,r)),_=__tsover_div(1,be(__tsover_add(c,1))),u=X(6,1.5,$(n,0,1)),m=__tsover_mul(__tsover_mul(__tsover_mul(Ce(__tsover_sub(1,_),u),o),2),i),p=b(__tsover_mul(n,.06),.001),y=$(__tsover_div(__tsover_mul(t,-1),p),0,1);return C(__tsover_mul(__tsover_mul(__tsover_mul(__tsover_sub(1,y),__tsover_sub(1,y)),o),i),m,d>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"fresnel"},{type:"i",name:"fresnelSoftness"},{type:"i",name:"rb1"},{type:"i",name:"volumetric"}],body:[0,[[13,"slopeSq",[1,[1,"gradX","*","gradX"],"+",[1,"gradY","*","gradY"]]],[13,"cosView",[1,[5,"1"],"/",[6,"std.sqrt",[[1,"slopeSq","+",[5,"1"]]]]]],[13,"exponent",[6,"std.mix",[[5,"6"],[5,"1.5"],[6,"std.clamp",["fresnelSoftness",[5,"0"],[5,"1"]]]]]],[13,"volRim",[1,[1,[1,[6,"std.pow",[[1,[5,"1"],"-","cosView"],"exponent"]],"*","fresnel"],"*",[5,"2"]],"*","rb1"]],[13,"fresnelWidth",[6,"std.max",[[1,"fresnelSoftness","*",[5,"0.06"]],[5,"0.001"]]]],[13,"fresnelDepth",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","fresnelWidth"],[5,"0"],[5,"1"]]]],[13,"flatRim",[1,[1,[1,[1,[5,"1"],"-","fresnelDepth"],"*",[1,[5,"1"],"-","fresnelDepth"]],"*","fresnel"],"*","rb1"]],[10,[6,"std.select",["flatRim","volRim",[1,"volumetric",">",[5,"0.5"]]]]]]]},externals:{"std.sqrt":()=>be,"std.mix":()=>X,"std.clamp":()=>$,"std.pow":()=>Ce,"std.max":()=>b,"std.select":()=>C}})&&e.f)({})),iw=v.fn([x,x,a,a,a,a,l,a,a,a,f,a,a,f,a,a,f,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p,y,h,g,w,S,T,A,P,U)=>{"use gpu";let D=b(__tsover_mul(c,.5),.001),O=__tsover_div(1,d.y),L=__tsover_div(r,o),G=b(__tsover_mul(D,.03125),__tsover_mul(O,1.5)),W=$(__tsover_div(__tsover_mul(L,-1),G),0,1),K=$c(L,w,U),Q=Af(L,c,O,n,i,_,u),te=Sf(f(s.x,s.y,s.z),S,T,A),ee=Mf(n,i,_,u,p,K),he=Pf(L,n,i,y,g,W,U),Ee=x(__tsover_add(__tsover_add(__tsover_add(te.x,__tsover_mul(m.x,Q)),__tsover_mul(m.x,ee)),__tsover_mul(h.x,he)),__tsover_add(__tsover_add(__tsover_add(te.y,__tsover_mul(m.y,Q)),__tsover_mul(m.y,ee)),__tsover_mul(h.y,he)),__tsover_add(__tsover_add(__tsover_add(te.z,__tsover_mul(m.z,Q)),__tsover_mul(m.z,ee)),__tsover_mul(h.z,he)),__tsover_add(s.w,Q)),Te=re(0,1,W),Ue=X(t,Ee,Te),Me=C(a(1),Te,P>.5);return x(Ue.x,Ue.y,Ue.z,__tsover_mul(Ue.w,Me))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"baseColor"},{type:"i",name:"blurred"},{type:"i",name:"sdfRaw"},{type:"i",name:"scale"},{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"viewportSize"},{type:"i",name:"edgeSoftness"},{type:"i",name:"lightAngle"},{type:"i",name:"highlight"},{type:"i",name:"highlightColor"},{type:"i",name:"highlightSoftness"},{type:"i",name:"fresnel"},{type:"i",name:"fresnelColor"},{type:"i",name:"fresnelSoftness"},{type:"i",name:"thickness"},{type:"i",name:"tintColor"},{type:"i",name:"tintIntensity"},{type:"i",name:"tintPreserveLuminosity"},{type:"i",name:"cutout"},{type:"i",name:"volumetric"}],body:[0,[[13,"sharp",[6,"std.max",[[1,"edgeSoftness","*",[5,"0.5"]],[5,"0.001"]]]],[13,"pxH",[1,[5,"1"],"/",[7,"viewportSize","y"]]],[13,"sdf",[1,"sdfRaw","/","scale"]],[13,"w1",[6,"std.max",[[1,"sharp","*",[5,"0.03125"]],[1,"pxH","*",[5,"1.5"]]]]],[13,"rb1",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","w1"],[5,"0"],[5,"1"]]]],[13,"refrStrength",[6,"glassRefrStrength",["sdf","thickness","volumetric"]]],[13,"rb2",[6,"glassBorderHighlight",["sdf","edgeSoftness","pxH","gradX","gradY","lightAngle","highlight"]]],[13,"blurredRgb",[6,"d.vec3f",[[7,"blurred","x"],[7,"blurred","y"],[7,"blurred","z"]]]],[13,"tintedRgb",[6,"glassTint",["blurredRgb","tintColor","tintIntensity","tintPreserveLuminosity"]]],[13,"specGlint",[6,"glassSpecular",["gradX","gradY","lightAngle","highlight","highlightSoftness","refrStrength"]]],[13,"fresnelRim",[6,"glassFresnelRim",["sdf","gradX","gradY","fresnel","fresnelSoftness","rb1","volumetric"]]],[13,"litR",[1,[1,[1,[7,"tintedRgb","x"],"+",[1,[7,"highlightColor","x"],"*","rb2"]],"+",[1,[7,"highlightColor","x"],"*","specGlint"]],"+",[1,[7,"fresnelColor","x"],"*","fresnelRim"]]],[13,"litG",[1,[1,[1,[7,"tintedRgb","y"],"+",[1,[7,"highlightColor","y"],"*","rb2"]],"+",[1,[7,"highlightColor","y"],"*","specGlint"]],"+",[1,[7,"fresnelColor","y"],"*","fresnelRim"]]],[13,"litB",[1,[1,[1,[7,"tintedRgb","z"],"+",[1,[7,"highlightColor","z"],"*","rb2"]],"+",[1,[7,"highlightColor","z"],"*","specGlint"]],"+",[1,[7,"fresnelColor","z"],"*","fresnelRim"]]],[13,"litA",[1,[7,"blurred","w"],"+","rb2"]],[13,"lighting",[6,"d.vec4f",["litR","litG","litB","litA"]]],[13,"transition",[6,"std.smoothstep",[[5,"0"],[5,"1"],"rb1"]]],[13,"composited",[6,"std.mix",["baseColor","lighting","transition"]]],[13,"cutoutAlpha",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"transition",[1,"cutout",">",[5,"0.5"]]]]],[10,[6,"d.vec4f",[[7,"composited","x"],[7,"composited","y"],[7,"composited","z"],[1,[7,"composited","w"],"*","cutoutAlpha"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,glassRefrStrength:()=>$c,glassBorderHighlight:()=>Af,"d.vec3f":()=>f,glassTint:()=>Sf,glassSpecular:()=>Mf,glassFresnelRim:()=>Pf,"d.vec4f":()=>x,"std.smoothstep":()=>re,"std.mix":()=>X,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({}));function YG(e,t,s,r,o){let{uniforms:n,propValues:i,ctx:d}=e,c=o?.volumetric??!1,_=o?.bakedGradients??!1,u=vt(c?1:0),m=ur(we(rw,"sdfSpaceUV",[n.center,n.scale,n.rotation,d.uv,d.aspect]),"glassSdfUV"),p=ur(t(m),"glassSurf"),y=p.member("r"),h,g;if(_)h=p.member("g"),g=p.member("b");else{let Q=t(we(Tf,"offsetUV",[m,vt(.01),vt(0)])),te=t(we(Tf,"offsetUV",[m,vt(0),vt(.01)])),ee=ur(we(ow,"glassGradient",[y,Q.member("r"),te.member("r")]),"glassGrad");h=ee.member("x"),g=ee.member("y")}let w=ur(we(nw,"glassLensUVs",[d.uv,n.center,y,n.scale,h,g,n.refraction,n.innerZoom,n.thickness,n.aberration,d.aspect,u]),"glassLens"),S=w.member("lensUV"),T=w.member("rUV"),A=w.member("bUV"),P=i.blur,U=typeof P=="number"?P>0:!0,D=i.aberration,O=typeof D=="number"?D>0:!0,L=(Q,te,ee,he)=>Q.sample(te.add(we(aw,"glassBlurOffset",[d.viewportSize,n.blur,vt(ee),vt(he)]))),G=(Q,te)=>{let ee=L(Q,te,Ya[0][0],Ya[0][1]);for(let he=1;he(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(t.x,t.y),o=__tsover_div(s.x,s.y),n=b(__tsover_div(o,r),1);return l(__tsover_mul(__tsover_div(r,o),n),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dims"},{type:"i",name:"vp"}],body:[0,[[13,"aspect",[1,[7,"dims","x"],"/",[7,"dims","y"]]],[13,"viewportAspect",[1,[7,"vp","x"],"/",[7,"vp","y"]]],[13,"coverScale",[6,"std.max",[[1,"viewportAspect","/","aspect"],[5,"1"]]]],[10,[6,"d.vec2f",[[1,[1,"aspect","/","viewportAspect"],"*","coverScale"],"coverScale"]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),XW=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(t.x,t.y),o=__tsover_div(s.x,s.y),n=oe(__tsover_div(o,r),1);return l(__tsover_mul(__tsover_div(r,o),n),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dims"},{type:"i",name:"vp"}],body:[0,[[13,"aspect",[1,[7,"dims","x"],"/",[7,"dims","y"]]],[13,"viewportAspect",[1,[7,"vp","x"],"/",[7,"vp","y"]]],[13,"containScale",[6,"std.min",[[1,"viewportAspect","/","aspect"],[5,"1"]]]],[10,[6,"d.vec2f",[[1,[1,"aspect","/","viewportAspect"],"*","containScale"],"containScale"]]]]]},externals:{"std.min":()=>oe,"d.vec2f":()=>l}})&&e.f)({})),HW=v.fn([],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(()=>{"use gpu";return l(1,1)}),{v:2,name:void 0,ast:{params:[],body:[0,[[10,[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),jW=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(t.x,t.y),o=__tsover_div(s.x,s.y),n=oe(oe(__tsover_div(o,r),1),oe(__tsover_div(s.x,t.x),__tsover_div(s.y,t.y)));return l(__tsover_mul(__tsover_div(r,o),n),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dims"},{type:"i",name:"vp"}],body:[0,[[13,"aspect",[1,[7,"dims","x"],"/",[7,"dims","y"]]],[13,"viewportAspect",[1,[7,"vp","x"],"/",[7,"vp","y"]]],[13,"containScale",[6,"std.min",[[1,"viewportAspect","/","aspect"],[5,"1"]]]],[13,"naturalScale",[6,"std.min",[[1,[7,"vp","x"],"/",[7,"dims","x"]],[1,[7,"vp","y"],"/",[7,"dims","y"]]]]],[13,"scaleDownScale",[6,"std.min",["containScale","naturalScale"]]],[10,[6,"d.vec2f",[[1,[1,"aspect","/","viewportAspect"],"*","scaleDownScale"],"scaleDownScale"]]]]]},externals:{"std.min":()=>oe,"d.vec2f":()=>l}})&&e.f)({})),KW=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(t.x,t.y),o=__tsover_div(s.x,s.y),n=oe(__tsover_div(s.x,t.x),__tsover_div(s.y,t.y));return l(__tsover_mul(__tsover_div(r,o),n),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dims"},{type:"i",name:"vp"}],body:[0,[[13,"aspect",[1,[7,"dims","x"],"/",[7,"dims","y"]]],[13,"viewportAspect",[1,[7,"vp","x"],"/",[7,"vp","y"]]],[13,"noneScale",[6,"std.min",[[1,[7,"vp","x"],"/",[7,"dims","x"]],[1,[7,"vp","y"],"/",[7,"dims","y"]]]]],[10,[6,"d.vec2f",[[1,[1,"aspect","/","viewportAspect"],"*","noneScale"],"noneScale"]]]]]},externals:{"std.min":()=>oe,"d.vec2f":()=>l}})&&e.f)({})),ZW=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.sub(l(.5,.5));return l(__tsover_div(r.x,s.x),__tsover_div(r.y,s.y)).add(l(.5,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"uvScale"}],body:[0,[[13,"centeredUV",[6,[7,"uv","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"scaledUV",[6,"d.vec2f",[[1,[7,"centeredUV","x"],"/",[7,"uvScale","x"]],[1,[7,"centeredUV","y"],"/",[7,"uvScale","y"]]]]],[10,[6,[7,"scaledUV","add"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),QW=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(C(t.x,__tsover_sub(1,t.x),s>0),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"mirror"}],body:[0,[[13,"mirroredX",[6,"std.select",[[7,"uv","x"],[1,[5,"1"],"-",[7,"uv","x"]],[1,"mirror",">",[5,"0"]]]]],[10,[6,"d.vec2f",["mirroredX",[7,"uv","y"]]]]]]},externals:{"std.select":()=>C,"d.vec2f":()=>l}})&&e.f)({})),JW=v.fn([x,l],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=y3(f(t.x,t.y,t.z)),o=s.x<0||s.x>1||s.y<0||s.y>1,n=C(t.w,0,o);return x(r.x,r.y,r.z,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"}],body:[0,[[13,"linear",[6,"srgbToLinear",[[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]]]],[13,"outOfBounds",[3,[3,[3,[1,[7,"uv","x"],"<",[5,"0"]],"||",[1,[7,"uv","x"],">",[5,"1"]]],"||",[1,[7,"uv","y"],"<",[5,"0"]]],"||",[1,[7,"uv","y"],">",[5,"1"]]]],[13,"alpha",[6,"std.select",[[7,"color","w"],[5,"0"],"outOfBounds"]]],[10,[6,"d.vec4f",[[7,"linear","x"],[7,"linear","y"],[7,"linear","z"],"alpha"]]]]]},externals:{srgbToLinear:()=>y3,"d.vec3f":()=>f,"std.select":()=>C,"d.vec4f":()=>x}})&&e.f)({}));var eO=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=z(s),i=__tsover_sub(r,t),d=o,c=__tsover_mul(r,2),_=$(__tsover_div(__tsover_add(__tsover_mul(n,d),__tsover_mul(i,c)),b(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c)),1e-9)),0,1),u=__tsover_sub(n,__tsover_mul(d,_)),m=__tsover_sub(i,__tsover_mul(c,_)),p=__tsover_sub(n,__tsover_mul(d,$(__tsover_div(n,b(d,1e-9)),0,1))),y=__tsover_sub(i,c),h=oe(__tsover_add(__tsover_mul(u,u),__tsover_mul(m,m)),__tsover_add(__tsover_mul(p,p),__tsover_mul(y,y))),g=oe(__tsover_sub(__tsover_mul(i,d),__tsover_mul(n,c)),__tsover_sub(c,i))>0;return C(be(h),-be(h),g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"n"},{type:"i",name:"hl"},{type:"i",name:"hw"}],body:[0,[[13,"px",[6,"std.abs",["n"]]],[13,"py",[1,"hl","-","t"]],[13,"qx","hw"],[13,"qy",[1,"hl","*",[5,"2"]]],[13,"k",[6,"std.clamp",[[1,[1,[1,"px","*","qx"],"+",[1,"py","*","qy"]],"/",[6,"std.max",[[1,[1,"qx","*","qx"],"+",[1,"qy","*","qy"]],[5,"1e-9"]]]],[5,"0"],[5,"1"]]]],[13,"ax",[1,"px","-",[1,"qx","*","k"]]],[13,"ay",[1,"py","-",[1,"qy","*","k"]]],[13,"bx",[1,"px","-",[1,"qx","*",[6,"std.clamp",[[1,"px","/",[6,"std.max",["qx",[5,"1e-9"]]]],[5,"0"],[5,"1"]]]]]],[13,"by",[1,"py","-","qy"]],[13,"dSq",[6,"std.min",[[1,[1,"ax","*","ax"],"+",[1,"ay","*","ay"]],[1,[1,"bx","*","bx"],"+",[1,"by","*","by"]]]]],[13,"sA",[1,[1,"py","*","qx"],"-",[1,"px","*","qy"]]],[13,"sB",[1,"qy","-","py"]],[13,"inside",[1,[6,"std.min",["sA","sB"]],">",[5,"0"]]],[10,[6,"std.select",[[6,"std.sqrt",["dSq"]],[4,"-",[6,"std.sqrt",["dSq"]]],"inside"]]]]]},externals:{"std.abs":()=>z,"std.clamp":()=>$,"std.max":()=>b,"std.min":()=>oe,"std.select":()=>C,"std.sqrt":()=>be}})&&e.f)({})).$name("agentArrowSdf"),tO=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(t,$(t,-r,r));return __tsover_sub(be(__tsover_add(__tsover_mul(n,n),__tsover_mul(s,s))),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"n"},{type:"i",name:"hl"},{type:"i",name:"r"}],body:[0,[[13,"tc",[1,"t","-",[6,"std.clamp",["t",[4,"-","hl"],"hl"]]]],[10,[1,[6,"std.sqrt",[[1,[1,"tc","*","tc"],"+",[1,"n","*","n"]]]],"-","r"]]]]},externals:{"std.clamp":()=>$,"std.sqrt":()=>be}})&&e.f)({})).$name("agentCapsuleSdf"),sO=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(z(t),r),i=__tsover_sub(z(s),o),d=b(n,0),c=b(i,0);return __tsover_add(be(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c))),oe(b(n,i),0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"n"},{type:"i",name:"hl"},{type:"i",name:"hw"}],body:[0,[[13,"qx",[1,[6,"std.abs",["t"]],"-","hl"]],[13,"qy",[1,[6,"std.abs",["n"]],"-","hw"]],[13,"ox",[6,"std.max",["qx",[5,"0"]]]],[13,"oy",[6,"std.max",["qy",[5,"0"]]]],[10,[1,[6,"std.sqrt",[[1,[1,"ox","*","ox"],"+",[1,"oy","*","oy"]]]],"+",[6,"std.min",[[6,"std.max",["qx","qy"]],[5,"0"]]]]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.sqrt":()=>be,"std.min":()=>oe}})&&e.f)({})).$name("agentBoxSdf");var rO=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=j(t),i=C(l(0,0),t.div(b(n,1e-5)).mul(r),n>1e-5).sub(s),d=j(i);return C(i,i.div(b(d,1e-5)).mul(o),d>o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dir"},{type:"i",name:"vel"},{type:"i",name:"maxSpeed"},{type:"i",name:"maxForce"}],body:[0,[[13,"len",[6,"std.length",["dir"]]],[13,"desired",[6,"std.select",[[6,"d.vec2f",[[5,"0"],[5,"0"]]],[6,[7,[6,[7,"dir","div"],[[6,"std.max",["len",[5,"0.00001"]]]]],"mul"],["maxSpeed"]],[1,"len",">",[5,"0.00001"]]]]],[13,"steer",[6,[7,"desired","sub"],["vel"]]],[13,"sl",[6,"std.length",["steer"]]],[10,[6,"std.select",["steer",[6,[7,[6,[7,"steer","div"],[[6,"std.max",["sl",[5,"0.00001"]]]]],"mul"],["maxForce"]],[1,"sl",">","maxForce"]]]]]]},externals:{"std.length":()=>j,"std.select":()=>C,"d.vec2f":()=>l,"std.max":()=>b}})&&e.f)({})).$name("agentReynoldsSteer"),oO=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(.82,__tsover_mul(Gs(__tsover_add(__tsover_mul(t,.61803),.13)),.4))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fi"}],body:[0,[[10,[1,[5,"0.82"],"+",[1,[6,"noise.hash11",[[1,[1,"fi","*",[5,"0.61803"]],"+",[5,"0.13"]]]],"*",[5,"0.4"]]]]]]},externals:{"noise.hash11":()=>Gs}})&&e.f)({})).$name("agentCruiseVariation"),nO=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(.55,__tsover_mul(Gs(__tsover_add(__tsover_mul(t,1.91),2.53)),.7))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fi"}],body:[0,[[10,[1,[5,"0.55"],"+",[1,[6,"noise.hash11",[[1,[1,"fi","*",[5,"1.91"]],"+",[5,"2.53"]]]],"*",[5,"0.7"]]]]]]},externals:{"noise.hash11":()=>Gs}})&&e.f)({})).$name("agentPresenceVariation"),aO=v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=$(t.w,0,1),o=__tsover_add(r,__tsover_mul(s.w,__tsover_sub(1,r))),n=t.xyz.mul(r).add(s.xyz.mul(__tsover_mul(s.w,__tsover_sub(1,r)))).div(b(o,1e-4));return x(n.x,n.y,n.z,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"c"}],body:[0,[[13,"pa",[6,"std.clamp",[[7,"p","w"],[5,"0"],[5,"1"]]]],[13,"outA",[1,"pa","+",[1,[7,"c","w"],"*",[1,[5,"1"],"-","pa"]]]],[13,"rgb",[6,[7,[6,[7,[6,[7,[7,"p","xyz"],"mul"],["pa"]],"add"],[[6,[7,[7,"c","xyz"],"mul"],[[1,[7,"c","w"],"*",[1,[5,"1"],"-","pa"]]]]]],"div"],[[6,"std.max",["outA",[5,"0.0001"]]]]]],[10,[6,"d.vec4f",[[7,"rgb","x"],[7,"rgb","y"],[7,"rgb","z"],"outA"]]]]]},externals:{"std.clamp":()=>$,"std.max":()=>b,"d.vec4f":()=>x}})&&e.f)({})).$name("agentStraightAlphaOver"),iO=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=se(s,t);return C(t.mul(__tsover_mul(2,o)).sub(s),t,r>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rhat"},{type:"i",name:"axis"},{type:"i",name:"fieldType"}],body:[0,[[13,"mdotr",[6,"std.dot",["axis","rhat"]]],[13,"dipoleB",[6,[7,[6,[7,"rhat","mul"],[[1,[5,"2"],"*","mdotr"]]],"sub"],["axis"]]],[10,[6,"std.select",["dipoleB","rhat",[1,"fieldType",">",[5,"0.5"]]]]]]]},externals:{"std.dot":()=>se,"std.select":()=>C}})&&e.f)({})).$name("agentDipoleOrRadialField"),dO=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_mul(t,Y(__tsover_mul(2,__tsover_sub(s,r))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"k"},{type:"i",name:"target"},{type:"i",name:"theta"}],body:[0,[[10,[1,"k","*",[6,"std.sin",[[1,[5,"2"],"*",[1,"target","-","theta"]]]]]]]]},externals:{"std.sin":()=>Y}})&&e.f)({})).$name("agentNematicTorque"),cO=v.fn([x,a,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(r.w,o),i=s>=n,d=b(s,n),c=C(f(r.x,r.y,r.z),f(t.x,t.y,t.z),i);return x(c.x,c.y,c.z,d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"col"},{type:"i",name:"curA"},{type:"i",name:"prev"},{type:"i",name:"trails"}],body:[0,[[13,"prevA",[1,[7,"prev","w"],"*","trails"]],[13,"win",[1,"curA",">=","prevA"]],[13,"outA",[6,"std.max",["curA","prevA"]]],[13,"outRGB",[6,"std.select",[[6,"d.vec3f",[[7,"prev","x"],[7,"prev","y"],[7,"prev","z"]]],[6,"d.vec3f",[[7,"col","x"],[7,"col","y"],[7,"col","z"]]],"win"]]],[10,[6,"d.vec4f",[[7,"outRGB","x"],[7,"outRGB","y"],[7,"outRGB","z"],"outA"]]]]]},externals:{"std.max":()=>b,"std.select":()=>C,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})).$name("agentTrailMaxDecay"),_O=v.fn([f,x,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return f(__tsover_add(__tsover_add(__tsover_mul(s.x,t.x),__tsover_mul(s.y,t.y)),__tsover_mul(s.z,t.z)),__tsover_add(__tsover_add(__tsover_mul(r.x,t.x),__tsover_mul(r.y,t.y)),__tsover_mul(r.z,t.z)),__tsover_add(__tsover_add(__tsover_mul(o.x,t.x),__tsover_mul(o.y,t.y)),__tsover_mul(o.z,t.z)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pw"},{type:"i",name:"rowX"},{type:"i",name:"rowY"},{type:"i",name:"rowZ"}],body:[0,[[10,[6,"d.vec3f",[[1,[1,[1,[7,"rowX","x"],"*",[7,"pw","x"]],"+",[1,[7,"rowX","y"],"*",[7,"pw","y"]]],"+",[1,[7,"rowX","z"],"*",[7,"pw","z"]]],[1,[1,[1,[7,"rowY","x"],"*",[7,"pw","x"]],"+",[1,[7,"rowY","y"],"*",[7,"pw","y"]]],"+",[1,[7,"rowY","z"],"*",[7,"pw","z"]]],[1,[1,[1,[7,"rowZ","x"],"*",[7,"pw","x"]],"+",[1,[7,"rowZ","y"],"*",[7,"pw","y"]]],"+",[1,[7,"rowZ","z"],"*",[7,"pw","z"]]]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})).$name("agentApplyCameraRows"),lO=v.fn([f,x,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return f(__tsover_add(__tsover_add(__tsover_mul(s.x,t.x),__tsover_mul(r.x,t.y)),__tsover_mul(o.x,t.z)),__tsover_add(__tsover_add(__tsover_mul(s.y,t.x),__tsover_mul(r.y,t.y)),__tsover_mul(o.y,t.z)),__tsover_add(__tsover_add(__tsover_mul(s.z,t.x),__tsover_mul(r.z,t.y)),__tsover_mul(o.z,t.z)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"rowX"},{type:"i",name:"rowY"},{type:"i",name:"rowZ"}],body:[0,[[10,[6,"d.vec3f",[[1,[1,[1,[7,"rowX","x"],"*",[7,"v","x"]],"+",[1,[7,"rowY","x"],"*",[7,"v","y"]]],"+",[1,[7,"rowZ","x"],"*",[7,"v","z"]]],[1,[1,[1,[7,"rowX","y"],"*",[7,"v","x"]],"+",[1,[7,"rowY","y"],"*",[7,"v","y"]]],"+",[1,[7,"rowZ","y"],"*",[7,"v","z"]]],[1,[1,[1,[7,"rowX","z"],"*",[7,"v","x"]],"+",[1,[7,"rowY","z"],"*",[7,"v","y"]]],"+",[1,[7,"rowZ","z"],"*",[7,"v","z"]]]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})).$name("agentApplyCameraRowsT"),jm=ut({x0:R,x1:R,y0:R,y1:R,fx:a,fy:a}).$name("AgentBilinearFrame"),uO=v.fn([l,l],jm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_sub(__tsover_mul(t.x,s.x),.5),o=__tsover_sub(__tsover_mul(t.y,s.y),.5),n=q(r),i=q(o);return jm({x0:R($(n,a(0),__tsover_sub(s.x,1))),x1:R($(__tsover_add(n,1),a(0),__tsover_sub(s.x,1))),y0:R($(i,a(0),__tsover_sub(s.y,1))),y1:R($(__tsover_add(i,1),a(0),__tsover_sub(s.y,1))),fx:__tsover_sub(r,n),fy:__tsover_sub(o,i)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv01"},{type:"i",name:"dims"}],body:[0,[[13,"cu",[1,[1,[7,"uv01","x"],"*",[7,"dims","x"]],"-",[5,"0.5"]]],[13,"cv",[1,[1,[7,"uv01","y"],"*",[7,"dims","y"]],"-",[5,"0.5"]]],[13,"cx0",[6,"std.floor",["cu"]]],[13,"cy0",[6,"std.floor",["cv"]]],[10,[6,"BilinearFrame",[[104,{x0:[6,"d.u32",[[6,"std.clamp",["cx0",[6,"d.f32",[[5,"0"]]],[1,[7,"dims","x"],"-",[5,"1"]]]]]],x1:[6,"d.u32",[[6,"std.clamp",[[1,"cx0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],[1,[7,"dims","x"],"-",[5,"1"]]]]]],y0:[6,"d.u32",[[6,"std.clamp",["cy0",[6,"d.f32",[[5,"0"]]],[1,[7,"dims","y"],"-",[5,"1"]]]]]],y1:[6,"d.u32",[[6,"std.clamp",[[1,"cy0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],[1,[7,"dims","y"],"-",[5,"1"]]]]]],fx:[1,"cu","-","cx0"],fy:[1,"cv","-","cy0"]}]]]]]]},externals:{"std.floor":()=>q,BilinearFrame:()=>jm,"d.u32":()=>R,"std.clamp":()=>$,"d.f32":()=>a}})&&e.f)({})).$name("agentBilinearTexelFrame"),Eb=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(t,t);return ct(__tsover_mul(__tsover_div(r,b(s,1e-5)),-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"delta"},{type:"i",name:"radSq"}],body:[0,[[13,"dl",[6,"std.dot",["delta","delta"]]],[10,[6,"std.exp",[[1,[1,"dl","/",[6,"std.max",["radSq",[5,"0.00001"]]]],"*",[4,"-",[5,"1"]]]]]]]]},externals:{"std.dot":()=>se,"std.exp":()=>ct,"std.max":()=>b}})&&e.f)({})).$name("agentCursorFalloff"),mO=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=b(j(t),1e-4);return t.div(o).mul(__tsover_mul(Eb(t,s),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"delta"},{type:"i",name:"radSq"},{type:"i",name:"force"}],body:[0,[[13,"dl",[6,"std.max",[[6,"std.length",["delta"]],[5,"0.0001"]]]],[10,[6,[7,[6,[7,"delta","div"],["dl"]],"mul"],[[1,[6,"cursorFalloff",["delta","radSq"]],"*","force"]]]]]]},externals:{"std.max":()=>b,"std.length":()=>j,cursorFalloff:()=>Eb}})&&e.f)({})).$name("agentCursorMagnet");var Rn=e=>e;function dw(){return{default:null,transform:Rn,compileTimeWhen:(e,t)=>{let s=r=>{let o=Array.isArray(r)?r.length:0;return o>1?o:0};return s(e)!==s(t)},description:"Multi-stop gradient colors (overrides Color A / Color B when set)",ui:{type:"gradient-stops",label:"Colors",group:"Colors"}}}var Ka=e=>e;function LG(e){let t=e?.ui;return!t||t.type!=="list"||!t.item||typeof t.maxItems!="number"?null:{item:t.item,maxItems:t.maxItems,minItems:t.minItems,itemLabel:t.itemLabel}}var dy=(e,t)=>`${e}_${t}`,cy=e=>`${e}Count`;function _1(e){return!!e&&typeof e=="object"&&e.type==="mouse-position"}var cw=(e,t,s)=>`${e}.${t}.${s}`;function _y(e){let t=/^([^.]+)\.(\d+)\.([^.]+)$/.exec(e);return t?{prop:t[1],index:Number(t[2]),field:t[3]}:null}function ly(e,t,s){return(Array.isArray(e)?e.slice(0,t.maxItems):[]).map((r,o)=>{let n=r&&typeof r=="object"?r:{},i={};for(let[d,c]of Object.entries(t.item)){let _=n[d]===void 0||n[d]===null?c.default:n[d];i[d]=IG(c.kind,_,o,d,s)}return i})}function IG(e,t,s,r,o){switch(e){case"position":{if(_1(t)){let i=o.drivenPosition?.(s,r,t);return i||{x:typeof t.x=="number"?t.x:t.originX??.5,y:1-(typeof t.y=="number"?t.y:t.originY??.5)}}let n=ho(t);return{x:n.x,y:n.y}}case"color":return o.color(typeof t=="string"?t:"#ffffff");case"boolean":return t?1:-1;default:return typeof t=="number"?t:0}}function DG(e){return typeof e=="number"?[e,0,0,0]:Array.isArray(e)?e:[e.x,e.y,0,0]}function uy(e,t){let s={};for(let r of Object.keys(t.item)){let o=new Array(t.maxItems*4).fill(0);for(let n=0;ns&&typeof s=="object"&&Object.entries(t.item).some(([r,o])=>o.kind==="position"&&_1(s[r]))):!1}var _w="p3-linear";function lw(e){_w=e;try{N0(e)}catch{}}function FG(e){try{let t=new Sr(e),s=_w==="srgb"?"srgb-linear":"p3-linear",r=t.to(s).coords,o=Number(t.alpha);return{r:Number.isFinite(r?.[0])?r[0]:0,g:Number.isFinite(r?.[1])?r[1]:0,b:Number.isFinite(r?.[2])?r[2]:0,a:Number.isFinite(o)?o:1}}catch{return{r:0,g:0,b:0,a:0}}}function uw(e){let{r:t,g:s,b:r,a:o}=FG(e);return x(t,s,r,o)}function Kc(e){let t=uw(e);return[t.x,t.y,t.z,t.w]}function kb(e,t){if(typeof e=="number")return e;if(typeof e=="object"&&e!==null)return e.value;let s=e.toLowerCase().trim();if(t){if(s==="top")return 0;if(s==="bottom")return 1;if(s==="center")return .5}else{if(s==="left")return 0;if(s==="right")return 1;if(s==="center")return .5}return console.warn(`Invalid position value: ${e}. Defaulting to center.`),.5}function BG(e){let t=.5,s=.5;if(typeof e=="string"){let r=e.toLowerCase().trim().split(/\s+/);r.includes("left")?t=0:r.includes("right")?t=1:(r.includes("center")||r.length===1&&(r[0]==="top"||r[0]==="bottom"))&&(t=.5),r.includes("top")?s=0:r.includes("bottom")?s=1:(r.includes("center")||r.length===1&&(r[0]==="left"||r[0]==="right"))&&(s=.5),r.length===1&&r[0]==="center"&&(t=.5,s=.5)}else typeof e=="object"&&e!==null?(t=kb(e.x,!1),s=kb(e.y,!0)):console.warn(`Invalid position value provided: ${e}. Defaulting to center.`);return l(t,1-s)}function mw(e){if(e)return e===ts?uw:e===ho?BG:e===Rn?Rn:e===Ka?Ka:e}function py(e,t){e>0,t>0}function Zc(e){return e!=null&&typeof e=="object"&&typeof e.value=="number"&&(e.unit==="px"||e.unit==="uv")}function fy(e){if(!e)return;let t;for(let[s,r]of Object.entries(e)){let o=r?.ui?.dimensional;(o==="canvas-height"||o==="half-canvas-height"||o==="canvas-width"||o==="count-canvas-height")&&(t??=new Map).set(s,o)}return t}function hd(e,t){let s=e?.propBindings,r=new Set,o=new Map;if(s)for(let n of["x","y","width","height"]){let i=s[n];i&&(i.as==="position-x"||i.as==="position-y"?r.add(i.prop):(i.as==="canvas-height"||i.as==="half-canvas-height")&&o.set(i.prop,i.as))}if(t)for(let[n,i]of t)o.set(n,i);return r.size>0||o.size>0?{positionProps:r,sizeProps:o}:null}var WG=e=>({ox:e.includes("left")?"start":e.includes("right")?"end":"center",oy:e.includes("top")?"start":e.includes("bottom")?"end":"center"}),OG=(e,t,s)=>t==="start"?e+s:t==="end"?e-s:e;function Uc(e,t,s,r){let o=(n,i)=>Zc(n)?n.unit==="px"?n.value:n.value*i:typeof n=="number"?n*i:0;return e.as==="canvas-height"?o(t,r):e.as==="half-canvas-height"?o(t,2*r):e.as==="canvas-width"?o(t,s):0}function vy(e,t,s,r){if(e?.computeBounds){let d=e.computeBounds(t,s,r);return{hwx:s>0?d.widthPx/s/2:0,hhy:r>0?d.heightPx/r/2:0}}let o=e?.propBindings,n=0,i=0;return o?.width&&s>0&&(n=Uc(o.width,t[o.width.prop],s,r)/(2*s)),o?.height&&r>0&&(i=Uc(o.height,t[o.height.prop],s,r)/(2*r)),{hwx:n,hhy:i}}function $b(e,t,s,r){let o;if(Zc(e))if(e.unit==="px"){let n=t>0?e.value/t:0;o=s==="end"?1-n:s==="center"?.5+n:n}else o=e.value;else if(typeof e=="number")o=e;else return e;return OG(o,s,r)}function VG(e,t,s,r){return e.unit!=="px"?e.value:t==="canvas-width"?s>0?e.value/s:e.value:r<=0?e.value:t==="count-canvas-height"?e.value>0?r/e.value:e.value:t==="canvas-height"?e.value/r:e.value/(2*r)}function Qc(e,t,s,r,o,n,i,d){let c=hd(e,i);if(!c)return s;let{ox:_,oy:u}=WG(r);if(c.positionProps.has(t))return!s||typeof s!="object"?s:{...s,x:$b(s.x,o,_,d?.hwx??0),y:$b(s.y,n,u,d?.hhy??0)};let m=c.sizeProps.get(t);return m&&Zc(s)?VG(s,m,o,n):s}function yy(e,t,s){let r=hd(e,s);return r?r.positionProps.has(t)||r.sizeProps.has(t):!1}function Km(e){let{body:t,build:s,args:r,compose:o,identity:n,missingChildMessage:i,setup:d,...c}=e;if(!t&&!s)throw new Error(`definePointwiseFilter(${e.name}): needs a body or a build`);return{...c,requiresChild:!0,fragment:u=>{if(!u.childNode)return i&&console.error(i),xr;let m=u;if(hy(n,m))return m.childNode;d?.(m);let p;if(s)p=s(m);else{let{fn:y,hint:h}=typeof t=="function"?t(m.propValues):t;p=we(y,h,[m.childNode,...r?.(m)??[]])}return o?o(p,m):p}}}function hy(e,t){if(!e)return!1;for(let s of e.props)if(t.getMapInfo?.(s))return!1;return e.when(t.propValues)}function Ub(e){let{build:t,resultAlpha:s,identity:r,missingChildMessage:o,setup:n,...i}=e;return{...i,requiresRTT:!0,requiresChild:!0,fragment:c=>{if(!c.childNode)return o&&console.error(o),xr;let _=c.convertToTexture(c.childNode),u=y=>we(dn,"unpremultiplyAlpha",[_.sample(y)]),m={...c,childNode:c.childNode,texture:_,sampleStraight:u};if(hy(r,c))return u(c.ctx.uv);n?.(m);let p=t(m);return s==="straight"?p:we(dn,"unpremultiplyAlpha",[p])}}}function Cb(e){return"uv"in e?e:{uv:e}}function NG(e,t={}){let s=typeof e=="function"?e:()=>e,r=t.edges??"prop",o=n=>r==="none"?null:typeof r=="number"?r:n.edges??0;return{fragment:n=>{let{childNode:i,ctx:d,convertToTexture:c,propValues:_}=n;if(!i)return t.requireChildMessage&&console.error(t.requireChildMessage),xr;let u=c(i),m=o(_),p=Cb(s(n).map(d.uv,d.aspect)),y=m===null?u.sample(p.uv):t.resample==="bilinear"?Gi(p.uv,h=>u.sample(h),m):lz(u,p.uv,m);return we(dn,"unpremultiplyAlpha",[p.coverage?Ws(y.member("rgb"),y.member("a").mul(p.coverage)):y])},uvRemap:n=>{if(t.uvRemapIdentityWhen?.(n))return{uv:n.uv,mask:n.mask};let i=o(n.propValues),d=Cb(s(n).map(n.uv,n.aspect)),c=i===null?{uv:d.uv,mask:n.mask}:_z(d.uv,n.mask,i);return d.coverage?{uv:c.uv,mask:c.mask.mul(d.coverage)}:c}}}function qG(e,t){let s={type:"position",label:t?.label??"Center",group:t?.group??"Position"};return t?.units&&(s.units=[...t.units]),{default:t?.default??{x:.5,y:.5},transform:ho,description:e,ui:s}}function XG(){return{default:"center",description:"Reference edge the center position is measured from (center default). Lets you pin the shape relative to a corner or the canvas centre.",ui:{type:"origin",label:"Origin",group:"Position"}}}function HG(e){return{softness:{default:0,description:e?.softnessDescription??"Edge softness for antialiasing",ui:{type:"range",min:0,max:.1,step:.001,label:"Softness",group:"Effect"}},strokeThickness:{default:0,description:"Stroke thickness. Zero means no stroke.",ui:{type:"range",min:0,max:e?.strokeThicknessMax??.2,step:.005,label:"Stroke Thickness",group:"Stroke"}},strokeColor:{default:"#000000",transform:ts,description:e?.strokeColorDescription??"Color of the stroke outline",ui:{type:"color",label:"Stroke Color",group:"Colors"}},strokePosition:{default:"center",transform:q0,description:e?.strokePositionDescription??"Position of the stroke relative to the shape edge",ui:{type:"select",options:[{label:"Outside",value:"outside"},{label:"Center",value:"center"},{label:"Inside",value:"inside"}],label:"Stroke Position",group:"Stroke"}}}}function jG(e){return{default:"linear",transform:ir,compileTime:!0,description:e?.description??"Color space for blending fill and stroke colors",ui:{type:"select",options:Ho,label:"Color Blending",group:"Colors"}}}var KG={refraction:{default:.5,description:"How strongly the shell bends what's seen through or inside it",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Refraction",group:"Glass"}},dispersion:{default:.25,description:"Spectral splitting at the shell \u2014 rainbow fringes where light bends hardest",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Dispersion",group:"Glass"}},thickness:{default:.2,description:"Shell depth \u2014 how far inward from the edge the shell's optics extend",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Thickness",group:"Glass"}},environment:{default:1,description:"Strength of the studio lighting reflected in the shell",ui:{type:["range","map"],min:0,max:2,step:.01,label:"Environment",group:"Glass"}},envRotation:{default:0,description:"Rotates the reflected studio \u2014 spins where the bright reflections fall",ui:{type:"range",min:0,max:360,step:1,label:"Env Rotation",group:"Glass"}},lightAngle:{default:315,description:"Direction of the key light, in degrees",ui:{type:"range",min:0,max:360,step:1,label:"Light Angle",group:"Glass"}},highlight:{default:1,description:"Sharp key-light glint on the shell",ui:{type:["range","map"],min:0,max:2,step:.01,label:"Highlight",group:"Highlight"}},highlightColor:{default:"#ffffff",transform:ts,description:"Color of the key-light highlight",ui:{type:"color",label:"Highlight Color",group:"Highlight"}},highlightSoftness:{default:.5,description:"Specular highlight softness \u2014 lower is a tighter, sharper glint",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Highlight Softness",group:"Highlight"}},fresnel:{default:.1,description:"Fresnel rim glow \u2014 the luminous edge where the shell turns away from view",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Fresnel",group:"Fresnel"}},fresnelSoftness:{default:.1,description:"Fresnel rim width \u2014 higher values spread the glow further inward",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Fresnel Softness",group:"Fresnel"}},fresnelColor:{default:"#ffffff",transform:ts,description:"Color of the fresnel rim glow",ui:{type:"color",label:"Fresnel Color",group:"Fresnel"}},edgeSoftness:{default:.05,description:"Softness of the shape boundary edge",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Edge Softness",group:"Glass"}}};function xd(e){let t={};for(let s of Object.keys(e)){let r=e[s];if(!r)continue;let o=KG[s];t[s]=r===!0?o:{...o,...r,ui:{...o.ui,...r.ui??{}}}}return t}function ZG(e){return{default:0,description:e,ui:{type:"range",min:0,max:360,step:1,label:"Rotation",group:"Shape"}}}function QG(e){return{default:"#ffffff",transform:ts,description:e,ui:{type:"color",label:"Color",group:"Colors"}}}function JG(e,t){if(e.custom)return e.custom;let s=e.size.as??"half-canvas-height",r={x:{prop:"center",as:"position-x"},y:{prop:"center",as:"position-y"},width:{prop:e.size.width,as:s},height:{prop:e.size.height,as:s}};return t&&(r.rotation={prop:"rotation",as:"degrees"}),{propBindings:r}}function eY(e,t,s){if(!t)return e;let r=Object.keys(e).filter(i=>!t.includes(i)),o=t.filter(i=>!(i in e));if(r.length||o.length)throw new Error(`defineSdfShapeShader(${s}): propOrder must list every prop exactly once (missing: ${r.join(", ")||"none"}; unknown: ${o.join(", ")||"none"})`);let n={};for(let i of t)n[i]=e[i];return n}function tY(e){let t=e.rotatable!==!1,s=HG(e.stroke),r={origin:XG(),color:QG(e.colorDescription),center:qG(e.centerDescription,{units:["%","px"],...e.centerLabel?{label:e.centerLabel}:{}}),...e.shapeProps,...t?{rotation:ZG(e.rotationDescription??"Rotation in degrees")}:{},softness:s.softness,strokeThickness:s.strokeThickness,strokeColor:s.strokeColor,strokePosition:s.strokePosition,colorSpace:jG(e.colorSpaceDescription?{description:e.colorSpaceDescription}:void 0),...e.propOverrides};return{name:e.name,category:e.category??"Shapes",description:e.description,acceptsUVContext:!0,boundingBoxDeclaration:JG(e.bounds,t),props:eY(r,e.propOrder,e.name),fragment:o=>{let{uniforms:n,ctx:i,propValues:d}=o,c=o.uvContext??i.uv,_=d.colorSpace??0;return S7(ur(sY(e,n,c,i.aspect),"shapeMask"),n.color,n.strokeColor,_)}}}function sY(e,t,s,r){let o=t.rotation??vd("0f"),n=ur(we(w7,"shapeLocalCoords",[t.center,o,s,r]),"shapeLocal"),i=d=>{let c=t[d];if(!c)throw new Error(`defineSdfShapeShader(${e.name}): distance reads unknown prop '${d}'`);return c};return we(T7,"strokeMaskFromSdf",[e.distance({x:n.member("x"),y:n.member("y")},i),t.softness,t.strokeThickness,t.strokePosition])}function zt(e){return{kind:"prop",name:e}}var Jc=class Ef{constructor(t){this.node=t}times(t){return new Ef({kind:"mul",a:this.node,b:t instanceof Ef?t.node:t})}};function rY(e){return{uv:e.uvContext??e.ctx.uv,viewport:e.effectiveViewportSize??e.ctx.viewportSize}}function Dt(e,t){let s=t.uniforms[e.name];if(!s)throw new Error(`std: effect binds unknown prop '${e.name}'`);return s}function od(e,t){let s=e instanceof Jc?e.node:e;switch(s.kind){case"prop":return Dt(s,t);case"mul":return od(s.a,t).mul(od(s.b,t));case"radialMask":if(!t.ctx)throw new Error("std: radialMask needs a fragment host (warp slots have no ctx)");return we(oR,"radialFalloffMask",[t.ctx.uv,t.ctx.aspect,Dt(s.center,t),Dt(s.radius,t),Dt(s.falloff,t)]);case"signal":return s.build(t)}}function oY(e,t){if(typeof e=="number")return vt(e);if(e instanceof Jc)return od(e,t);switch(e.kind){case"prop":return Dt(e,t);case"ctx":if(!t.ctx)throw new Error(`std: ctx.${e.name} needs a fragment host (warp slots have no ctx)`);return t.ctx[e.name];default:return od(e,t)}}function xy(e,t,s){let r={},o=e.boundingBoxDeclaration,n=fy(e.props),i=nY(e.props,t);for(let[d,c]of Object.entries(e.props)){let _=c.transform;if(_===Rn){aY(r,d,c,t[d],i);continue}if(_===Ka){iY(r,d,c,t[d]);continue}let u=t[d],m=u;m==null&&(m=c.default),m==null&&(console.error(`[Shaders] Uniform "${d}" is null/undefined after fallback. PropConfig:`,{propName:d,initialValue:u,default:c.default,hasTransform:!!_}),m=0);let p=mw(_),y=yy(o,d,n),h=!p&&!y&&(typeof m=="string"||typeof m=="object"&&m!==null&&!Array.isArray(m));r[d]={value:m,transform:p,compileTime:c.compileTime||!1,...c.compileTimeWhen?{compileTimeWhen:c.compileTimeWhen,_lastCompiledValue:u??c.default}:{},...y?{_rawDimensional:u}:{},...h?{cpu:!0}:{}}}return r}function nY(e,t){for(let[s,r]of Object.entries(e))if(r.transform===ir){let o=t[s]??r.default;return typeof o=="string"?ir(o):0}return 0}function aY(e,t,s,r,o){let n=r??null,i=jv(n,Kc),d=Kv(i.colors,i.stopCount,o);e[t]={value:n,transform:Rn,cpu:!0,compileTime:s.compileTime||!1,...s.compileTimeWhen?{compileTimeWhen:s.compileTimeWhen,_lastCompiledValue:n??s.default}:{}},e.colorsArray={value:i.colors,schema:pt(x,8)},e.positionsArray={value:i.positions,schema:pt(x,8/4)},e.convertedColorsArray={value:d,schema:pt(f,8)},e.stopCount={value:i.stopCount,schema:a}}function iY(e,t,s,r){let o=LG(s);if(!o){console.error(`[Shaders] List prop "${t}" has no item spec in its ui config`);return}let n=ly(r??s.default,o,{color:Kc}),i=uy(n,o);e[t]={value:n,transform:Ka,cpu:!0,compileTime:s.compileTime||!1,_rawList:r??s.default,_listSpec:o};for(let[d,c]of Object.entries(i.fields))e[dy(t,d)]={value:c,schema:pt(x,o.maxItems)};e[cy(t)]={value:i.count,schema:a}}var Li=ut({x0:Z,x1:Z,y0:Z,y1:Z}).$name("SplatWindow"),pO=v.fn([l,a,a,a],Li)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(r,1e-5),i=Z(q(__tsover_mul(__tsover_div(t.x,n),o))),d=Z(q(__tsover_mul(t.y,o))),c=Z(cc(__tsover_div(__tsover_mul(s,o),n))),_=Z(cc(__tsover_mul(s,o))),u=__tsover_sub(Z(o),1);return Li({x0:b(__tsover_sub(i,c),0),x1:oe(__tsover_add(i,c),u),y0:b(__tsover_sub(d,_),0),y1:oe(__tsover_add(d,_),u)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"reach"},{type:"i",name:"aspect"},{type:"i",name:"res"}],body:[0,[[13,"asp",[6,"std.max",["aspect",[5,"0.00001"]]]],[13,"cxi",[6,"d.i32",[[6,"std.floor",[[1,[1,[7,"pos","x"],"/","asp"],"*","res"]]]]]],[13,"cyi",[6,"d.i32",[[6,"std.floor",[[1,[7,"pos","y"],"*","res"]]]]]],[13,"radX",[6,"d.i32",[[6,"std.ceil",[[1,[1,"reach","*","res"],"/","asp"]]]]]],[13,"radY",[6,"d.i32",[[6,"std.ceil",[[1,"reach","*","res"]]]]]],[13,"last",[1,[6,"d.i32",["res"]],"-",[5,"1"]]],[10,[6,"SplatWindow",[[104,{x0:[6,"std.max",[[1,"cxi","-","radX"],[5,"0"]]],x1:[6,"std.min",[[1,"cxi","+","radX"],"last"]],y0:[6,"std.max",[[1,"cyi","-","radY"],[5,"0"]]],y1:[6,"std.min",[[1,"cyi","+","radY"],"last"]]}]]]]]]},externals:{"std.max":()=>b,"d.i32":()=>Z,"std.floor":()=>q,"std.ceil":()=>cc,SplatWindow:()=>Li,"std.min":()=>oe}})&&e.f)({})).$name("worldSplatWindow"),fO=v.fn([l,Z,El],Li)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Z(q(t.x)),n=Z(q(t.y));return Li({x0:b(__tsover_sub(o,s),0),x1:oe(__tsover_add(o,s),r.x),y0:b(__tsover_sub(n,s),0),y1:oe(__tsover_add(n,s),r.y)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"rad"},{type:"i",name:"last"}],body:[0,[[13,"cxi",[6,"d.i32",[[6,"std.floor",[[7,"center","x"]]]]]],[13,"cyi",[6,"d.i32",[[6,"std.floor",[[7,"center","y"]]]]]],[10,[6,"SplatWindow",[[104,{x0:[6,"std.max",[[1,"cxi","-","rad"],[5,"0"]]],x1:[6,"std.min",[[1,"cxi","+","rad"],[7,"last","x"]]],y0:[6,"std.max",[[1,"cyi","-","rad"],[5,"0"]]],y1:[6,"std.min",[[1,"cyi","+","rad"],[7,"last","y"]]]}]]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,SplatWindow:()=>Li,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})).$name("texelSplatWindow"),vO=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(1,ct(__tsover_mul(__tsover_mul(t,s),-1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"energy"},{type:"i",name:"k"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.exp",[[1,[1,"energy","*","k"],"*",[4,"-",[5,"1"]]]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})).$name("energyCoverageAlpha"),yO=v.fn([f,f,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=t.add(s.mul(r)).mul(o),d=j(i);return i.mul(__tsover_div(oe(d,n),b(d,1e-5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"vel"},{type:"i",name:"force"},{type:"i",name:"dt"},{type:"i",name:"dragMul"},{type:"i",name:"maxSpeed"}],body:[0,[[13,"v",[6,[7,[6,[7,"vel","add"],[[6,[7,"force","mul"],["dt"]]]],"mul"],["dragMul"]]],[13,"spd",[6,"std.length",["v"]]],[10,[6,[7,"v","mul"],[[1,[6,"std.min",["spd","maxSpeed"]],"/",[6,"std.max",["spd",[5,"0.00001"]]]]]]]]]},externals:{"std.length":()=>j,"std.min":()=>oe,"std.max":()=>b}})&&e.f)({})).$name("integrateSemiImplicitEuler");var kf=Math.exp(-1),Rb=1/(1-kf),zb=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return ct(__tsover_mul(__tsover_div(t,s),-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"distSq"},{type:"i",name:"radiusSq"}],body:[0,[[10,[6,"std.exp",[[1,[1,"distSq","/","radiusSq"],"*",[4,"-",[5,"1"]]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),Gb=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return $(__tsover_mul(__tsover_sub(ct(__tsover_mul(__tsover_div(t,s),-1)),kf),Rb),a(0),a(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"distSq"},{type:"i",name:"radiusSq"}],body:[0,[[10,[6,"std.clamp",[[1,[1,[6,"std.exp",[[1,[1,"distSq","/","radiusSq"],"*",[4,"-",[5,"1"]]]]],"-","EDGE"],"*","INV_EDGE"],[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]]]]]]]},externals:{"std.clamp":()=>$,"std.exp":()=>ct,EDGE:()=>kf,INV_EDGE:()=>Rb,"d.f32":()=>a}})&&e.f)({}));v.fn([l,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=ht(t,s);return zb(se(o,o),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellPos"},{type:"i",name:"center"},{type:"i",name:"radiusSq"}],body:[0,[[13,"off",[6,"std.sub",["cellPos","center"]]],[10,[6,"gaussianBrushSq",[[6,"std.dot",["off","off"]],"radiusSq"]]]]]},externals:{"std.sub":()=>ht,gaussianBrushSq:()=>zb,"std.dot":()=>se}})&&e.f)({}));v.fn([l,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=ht(t,s);return Gb(se(o,o),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellPos"},{type:"i",name:"center"},{type:"i",name:"radiusSq"}],body:[0,[[13,"off",[6,"std.sub",["cellPos","center"]]],[10,[6,"gaussianBrushShiftedSq",[[6,"std.dot",["off","off"]],"radiusSq"]]]]]},externals:{"std.sub":()=>ht,gaussianBrushShiftedSq:()=>Gb,"std.dot":()=>se}})&&e.f)({}));var jd=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return Ot(l(t,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"px"},{type:"i",name:"py"}],body:[0,[[10,[6,"noise.hash12",[[6,"d.vec2f",["px","py"]]]]]]]},externals:{"noise.hash12":()=>Ot,"d.vec2f":()=>l}})&&e.f)({})),sl=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=q(t),o=q(s),n=ue(t),i=ue(s),d=__tsover_mul(__tsover_mul(n,n),__tsover_sub(3,__tsover_mul(n,2))),c=__tsover_mul(__tsover_mul(i,i),__tsover_sub(3,__tsover_mul(i,2)));return X(X(jd(r,o),jd(__tsover_add(r,1),o),d),X(jd(r,__tsover_add(o,1)),jd(__tsover_add(r,1),__tsover_add(o,1)),d),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"nx"},{type:"i",name:"ny"}],body:[0,[[13,"ix",[6,"std.floor",["nx"]]],[13,"iy",[6,"std.floor",["ny"]]],[13,"sx",[6,"std.fract",["nx"]]],[13,"sy",[6,"std.fract",["ny"]]],[13,"ux",[1,[1,"sx","*","sx"],"*",[1,[5,"3"],"-",[1,"sx","*",[5,"2"]]]]],[13,"uy",[1,[1,"sy","*","sy"],"*",[1,[5,"3"],"-",[1,"sy","*",[5,"2"]]]]],[10,[6,"std.mix",[[6,"std.mix",[[6,"valueHash",["ix","iy"]],[6,"valueHash",[[1,"ix","+",[5,"1"]],"iy"]],"ux"]],[6,"std.mix",[[6,"valueHash",["ix",[1,"iy","+",[5,"1"]]]],[6,"valueHash",[[1,"ix","+",[5,"1"]],[1,"iy","+",[5,"1"]]]],"ux"]],"uy"]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,"std.mix":()=>X,valueHash:()=>jd}})&&e.f)({})),hO=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_add(__tsover_add(__tsover_mul(sl(t,s),.5),__tsover_mul(sl(__tsover_add(__tsover_mul(t,2),5.37),__tsover_add(__tsover_mul(s,2),9.13)),.3)),__tsover_mul(sl(__tsover_add(__tsover_mul(t,4),1.79),__tsover_add(__tsover_mul(s,4),3.51)),.2))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"nx"},{type:"i",name:"ny"}],body:[0,[[10,[1,[1,[1,[6,"valueNoise2D",["nx","ny"]],"*",[5,"0.5"]],"+",[1,[6,"valueNoise2D",[[1,[1,"nx","*",[5,"2"]],"+",[5,"5.37"]],[1,[1,"ny","*",[5,"2"]],"+",[5,"9.13"]]]],"*",[5,"0.3"]]],"+",[1,[6,"valueNoise2D",[[1,[1,"nx","*",[5,"4"]],"+",[5,"1.79"]],[1,[1,"ny","*",[5,"4"]],"+",[5,"3.51"]]]],"*",[5,"0.2"]]]]]]},externals:{valueNoise2D:()=>sl}})&&e.f)({})),xO=v.fn([a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(Gs(__tsover_mul(r,37.31)),97),i=__tsover_mul(Gs(__tsover_mul(r,83.17)),97);return l(__tsover_add(__tsover_mul(t,o),n),__tsover_add(__tsover_mul(s,o),i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"y"},{type:"i",name:"seed"},{type:"i",name:"cellsPerTexel"}],body:[0,[[13,"sdx",[1,[6,"noise.hash11",[[1,"seed","*",[5,"37.31"]]]],"*",[5,"97"]]],[13,"sdy",[1,[6,"noise.hash11",[[1,"seed","*",[5,"83.17"]]]],"*",[5,"97"]]],[10,[6,"d.vec2f",[[1,[1,"x","*","cellsPerTexel"],"+","sdx"],[1,[1,"y","*","cellsPerTexel"],"+","sdy"]]]]]]},externals:{"noise.hash11":()=>Gs,"d.vec2f":()=>l}})&&e.f)({}));var gO=v.fn([a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_mul(__tsover_sub(t,r),d),_=__tsover_sub(s,o),u=H(i),m=Y(i),p=__tsover_add(__tsover_mul(c,u),__tsover_mul(_,m)),y=__tsover_sub(__tsover_mul(_,u),__tsover_mul(c,m));return l(__tsover_add(__tsover_div(p,n),.5),__tsover_add(__tsover_div(y,n),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"u"},{type:"i",name:"v"},{type:"i",name:"centerX"},{type:"i",name:"centerY"},{type:"i",name:"scale"},{type:"i",name:"rotation"},{type:"i",name:"aspect"}],body:[0,[[13,"dxAc",[1,[1,"u","-","centerX"],"*","aspect"]],[13,"dy",[1,"v","-","centerY"]],[13,"cosR",[6,"std.cos",["rotation"]]],[13,"sinR",[6,"std.sin",["rotation"]]],[13,"rdx",[1,[1,"dxAc","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dxAc","*","sinR"]]],[10,[6,"d.vec2f",[[1,[1,"rdx","/","scale"],"+",[5,"0.5"]],[1,[1,"rdy","/","scale"],"+",[5,"0.5"]]]]]]]},externals:{"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({}));ut({centerX:a,centerY:a,scale:a,rotation:a,aspect:a,saRadius:a,saSides:a,saRounding:a,saInnerRatio:a,saRotation:a,saHeight:a,saOffset:a,saAperture:a,vfOriginX:a,vfOriginY:a,vfSpanX:a,vfSpanY:a,vfActiveRes:a});var xl=256*256;var Yb=1-10*.004,bO=Yb>=1?1/0:Math.min(3e4,Math.log(1e-6)/Math.log(Math.max(Yb,.001))*16.67);var Lb="rgba16float",pw=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({amp:a,freq:a,seed:a,edgePin:a,cursorIntensity:a,t:a,aspect:a,focal:a,camPos:f,camForward:f,camRight:f,camUp:f,lighting:a,glossiness:a,highlights:a,lightX:a,lightY:a,lightZ:a,lightColor:f,nearCutoff:a,farCutoff:a,cursorWaveX:a,cursorWaveY:a,mouseSpeed:a,dt:a,decay:a,radius:a,waveSpeed:a,heightEnvelope:a,cursorActive:a}),"HeightFieldParams");var wO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({readSrc:{storage:pt(a,xl),access:"readonly"},writeBuf:{storage:pt(a,xl),access:"mutable"},readBuf:{storage:pt(a,xl),access:"mutable"},params:{uniform:pw}}),"waveEquationLayout"),TO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({readBuf:{storage:pt(a,xl),access:"readonly"},params:{uniform:pw},uvMaskTex:{storageTexture:Mo(Lb,"write-only")},litTex:{storageTexture:Mo(Lb,"write-only")}}),"heightFieldMarchLayout");var SO=v.fn([x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=z(t.xyz.sub(s.xyz)),n=z(__tsover_sub(t.w,s.w)),i=__tsover_add(se(o,f(.299,.587,.114)),n);return re(r,__tsover_add(__tsover_mul(r,2),.001),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"live"},{type:"i",name:"prev"},{type:"i",name:"threshold"}],body:[0,[[13,"dRgb",[6,"std.abs",[[6,[7,[7,"live","xyz"],"sub"],[[7,"prev","xyz"]]]]]],[13,"dA",[6,"std.abs",[[1,[7,"live","w"],"-",[7,"prev","w"]]]]],[13,"diff",[1,[6,"std.dot",["dRgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]],"+","dA"]],[10,[6,"std.smoothstep",["threshold",[1,[1,"threshold","*",[5,"2"]],"+",[5,"0.001"]],"diff"]]]]]},externals:{"std.abs":()=>z,"std.dot":()=>se,"d.vec3f":()=>f,"std.smoothstep":()=>re}})&&e.f)({})).$name("frameDiffMask"),AO=v.fn([f,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=uc(t);return ja(f(ue(__tsover_add(r.x,s)),r.y,r.z))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"amount"}],body:[0,[[13,"hsl",[6,"colorMixing.rgbToHsl",["rgb"]]],[13,"rotated",[6,"d.vec3f",[[6,"std.fract",[[1,[7,"hsl","x"],"+","amount"]]],[7,"hsl","y"],[7,"hsl","z"]]]],[10,[6,"colorMixing.hslToRgb",["rotated"]]]]]},externals:{"colorMixing.rgbToHsl":()=>uc,"d.vec3f":()=>f,"std.fract":()=>ue,"colorMixing.hslToRgb":()=>ja}})&&e.f)({})).$name("hueRotateTurns");var dY=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],cY=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],fw=[];for(let e=0;e<8;e++)for(let t=0;t<8;t++)fw[e*8+t]=Math.cos((2*e+1)*t*Math.PI/16);var MO=Math.PI/16,PO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.const(pt(a,64),fw),"COS_LUT"),EO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.const(pt(a,64),dY),"LUMA_QUANT_C"),kO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.const(pt(a,64),cY),"CHROMA_QUANT_C");var $O=v.fn([x,x,x,x,x,x,x,x,x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=re(0,.1,__tsover_mul(__tsover_add(__tsover_add(__tsover_add(__tsover_add(t.z,s.z),r.z),o.z),n.z),.2)),p=t.xy.add(s.xy).add(r.xy).add(o.xy).add(n.xy).mul(.2),y=j(p),h=re(.01,.1,y),g=__tsover_div(p.x,__tsover_add(y,.001)),w=__tsover_div(p.y,__tsover_add(y,.001)),S=re(0,.7,b(g,0)),T=re(0,.7,b(__tsover_mul(g,-1),0)),A=re(0,.7,b(w,0)),P=re(0,.7,b(__tsover_mul(w,-1),0)),U=_.mul(T).add(u.mul(S)),D=c.mul(P).add(d.mul(A)),O=__tsover_add(T,S),L=__tsover_add(A,P),G=__tsover_add(__tsover_add(O,L),.001);return X(i,U.mul(__tsover_div(O,G)).add(D.mul(__tsover_div(L,G))),x(h)).mul(m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s0"},{type:"i",name:"s1"},{type:"i",name:"s2"},{type:"i",name:"s3"},{type:"i",name:"s4"},{type:"i",name:"base"},{type:"i",name:"up"},{type:"i",name:"down"},{type:"i",name:"left"},{type:"i",name:"right"}],body:[0,[[13,"smoothedLiquid",[1,[1,[1,[1,[1,[7,"s0","z"],"+",[7,"s1","z"]],"+",[7,"s2","z"]],"+",[7,"s3","z"]],"+",[7,"s4","z"]],"*",[5,"0.2"]]],[13,"liquidIntensity",[6,"std.smoothstep",[[5,"0"],[5,"0.1"],"smoothedLiquid"]]],[13,"flow",[6,[7,[6,[7,[6,[7,[6,[7,[6,[7,[7,"s0","xy"],"add"],[[7,"s1","xy"]]],"add"],[[7,"s2","xy"]]],"add"],[[7,"s3","xy"]]],"add"],[[7,"s4","xy"]]],"mul"],[[5,"0.2"]]]],[13,"flowMagnitude",[6,"std.length",["flow"]]],[13,"hasFlow",[6,"std.smoothstep",[[5,"0.01"],[5,"0.1"],"flowMagnitude"]]],[13,"normalizedX",[1,[7,"flow","x"],"/",[1,"flowMagnitude","+",[5,"0.001"]]]],[13,"normalizedY",[1,[7,"flow","y"],"/",[1,"flowMagnitude","+",[5,"0.001"]]]],[13,"rightAmount",[6,"std.smoothstep",[[5,"0"],[5,"0.7"],[6,"std.max",["normalizedX",[5,"0"]]]]]],[13,"leftAmount",[6,"std.smoothstep",[[5,"0"],[5,"0.7"],[6,"std.max",[[1,"normalizedX","*",[4,"-",[5,"1"]]],[5,"0"]]]]]],[13,"upAmount",[6,"std.smoothstep",[[5,"0"],[5,"0.7"],[6,"std.max",["normalizedY",[5,"0"]]]]]],[13,"downAmount",[6,"std.smoothstep",[[5,"0"],[5,"0.7"],[6,"std.max",[[1,"normalizedY","*",[4,"-",[5,"1"]]],[5,"0"]]]]]],[13,"horizontalColor",[6,[7,[6,[7,"left","mul"],["leftAmount"]],"add"],[[6,[7,"right","mul"],["rightAmount"]]]]],[13,"verticalColor",[6,[7,[6,[7,"down","mul"],["downAmount"]],"add"],[[6,[7,"up","mul"],["upAmount"]]]]],[13,"horizontalWeight",[1,"leftAmount","+","rightAmount"]],[13,"verticalWeight",[1,"upAmount","+","downAmount"]],[13,"totalWeight",[1,[1,"horizontalWeight","+","verticalWeight"],"+",[5,"0.001"]]],[13,"directionalColor",[6,[7,[6,[7,"horizontalColor","mul"],[[1,"horizontalWeight","/","totalWeight"]]],"add"],[[6,[7,"verticalColor","mul"],[[1,"verticalWeight","/","totalWeight"]]]]]],[13,"finalColor",[6,"std.mix",["base","directionalColor",[6,"d.vec4f",["hasFlow"]]]]],[10,[6,[7,"finalColor","mul"],["liquidIntensity"]]]]]},externals:{"std.smoothstep":()=>re,"std.length":()=>j,"std.max":()=>b,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})).$name("flowDirectionColor"),l1={name:"Root",props:{},fragment:({childNode:e})=>e??vd("vec4f(0.0, 0.0, 0.0, 0.0)")};function uo(e,t,s="_animTime"){let r=e.props.member(s);if(t){let o=e.uniforms[t];if(o)return r.add(o)}return r}var _Y=class{kind="wgsl";spec;identifiers;fns=new Map;constructor(e){if(typeof e.body!="string"||e.body.trim()==="")throw new Error("wgsl: the body must be a non-empty WGSL string");if(!/\breturn\b/.test(vw(e.body)))throw new Error("wgsl: the body must `return` a vec4f color");this.spec=e,this.identifiers=lY(e.body)}get samplesChild(){return this.identifiers.has("childTexture")}fnFor(e,t){let s=this.fns.get(e);return s||(s=t(),this.fns.set(e,s)),s}};function e_(e){return e instanceof _Y}function vw(e){return e.replace(/\/\*[\s\S]*?\*\//g," ").replace(/\/\/[^\n]*/g," ")}function lY(e){let t=new Set,s=new RegExp("(?":ps(a),sampler:fv()},mY=new Set(["viewport","child","childTexture","childSampler"]),hw={uv:"vec2f",aspect:"f32",time:"f32",viewportSize:"vec2f",logicalViewportSize:"vec2f",pointer:"vec2f"};function Ib(e){return/^[A-Za-z_][A-Za-z0-9_]*$/.test(e)?e:e.replace(/[^A-Za-z0-9_]/g,"_")}function gy(e,t,s){let r=Ib(e.spec.name??pY(s.name)+fY(t)),o=vY(t,s),n=yY(e.spec.inputs??{},s.props),i=new Map;for(let u of o)e.identifiers.has(u.name)&&i.set(u.name,u);for(let u of n)i.set(u.name,u);let d=[...i.values()],c=`(${d.map(u=>`${Ib(u.name)}: ${u.type}`).join(", ")}) -> vec4f`,_=d.map(u=>`${u.name}:${u.type}`).join(",");return u=>(nh(),u.noteCustomWgsl?.(),we(e.fnFor(_,()=>(globalThis.__TYPEGPU_AUTONAME__??(m=>m))(v.fn(d.map(m=>uY[m.type]),x),"shell")(`${c} { +${e.spec.body} +}`)),r,d.map(m=>m.value(u))))}function pY(e){return e?e[0].toLowerCase()+e.slice(1):"custom"}function fY(e){return e==="generator"?"Paint":"Filter"}function vY(e,t){let s=[],r=e==="generator";s.push({name:"uv",type:"vec2f",value:o=>r?o.uvContext??o.ctx.uv:o.ctx.uv}),s.push({name:"time",type:"f32",value:o=>t.animatedTime?uo(o):o.ctx.time}),s.push({name:"aspect",type:"f32",value:o=>o.ctx.aspect}),s.push({name:"viewport",type:"vec2f",value:o=>r?o.effectiveViewportSize??o.ctx.viewportSize:o.ctx.viewportSize}),s.push({name:"pointer",type:"vec2f",value:o=>o.ctx.pointer}),e==="pointwise"&&s.push({name:"child",type:"vec4f",value:o=>o.childNode}),e==="gather"&&(s.push({name:"childTexture",type:"texture_2d",value:o=>o.texture.accessor()}),s.push({name:"childSampler",type:"sampler",value:()=>vd("samp.$.linearClamp")}));for(let[o,n]of Object.entries(t.props)){if(hw[o]||mY.has(o))continue;let i=yw(n);if(!i)continue;let d=n.transform===ho;s.push({name:o,type:i,value:c=>{let _=c.uniforms[o];if(!_)throw new Error(`wgsl: prop '${o}' has no GPU uniform (is it CPU-only?)`);return d?new Kt(u=>`vec2f(${_.member("x")._emit(u)}, 1.0 - ${_.member("y")._emit(u)})`):_}})}return s}function yY(e,t){let s=[];for(let[r,o]of Object.entries(e)){let n=o!==null&&typeof o=="object"&&"value"in o&&"type"in o,i=n?o.value:o,d=hY(i,t),c=n?o.type:d;if(n&&c!==d)throw new Error(`wgsl: input '${r}' is declared ${c} but its source is ${d}`);s.push({name:r,type:c,value:_=>typeof i=="number"?vt(i):oY(i,_)})}return s}function hY(e,t){if(typeof e=="number"||e instanceof Jc)return"f32";if(e.kind==="ctx")return hw[e.name]??"f32";if(e.kind==="prop"){let s=t[e.name];if(!s)throw new Error(`wgsl: input binds unknown prop '${e.name}'`);let r=yw(s);if(!r)throw new Error(`wgsl: prop '${e.name}' is CPU-only and cannot be bound as a WGSL parameter`);return r}return"f32"}function ya(e){let t={};for(let s of Object.keys(e)){let{recompile:r,...o}=e[s],n={...o};if(r?.kind==="crosses"){let i=r.value;n.compileTimeWhen=(d,c)=>d===i!=(c===i)}else r?.kind==="custom"&&(n.compileTimeWhen=r.predicate);t[s]=n}return t}function xw(e,t){switch(e.kind){case"isZero":case"isValue":{let s=e.kind==="isZero"?0:e.value,r=t[e.prop];return{props:[e.prop],when:o=>(o[e.prop]??r)===s}}case"allOf":{let s=e.rules.map(r=>xw(r,t));return{props:[...new Set(s.flatMap(r=>r.props))],when:r=>s.every(o=>o.when(r))}}case"custom":return{props:e.props,when:e.when}}}function Au(e,t){if(!e)return;let s={};for(let[r,o]of Object.entries(t))s[r]=o.default;return xw(e,s)}function xY(e){let{role:t,species:s,effect:r,identityWhen:o,missingChildMessage:n,props:i,...d}=e,c={...d,props:ya(i),identity:Au(o,i),missingChildMessage:n};if(r.kind==="tintToward"){let{color:m,amount:p}=r;return Km({...c,body:{fn:wR,hint:"mixToward"},args:y=>[Dt(m,y),od(p,y)]})}if(e_(r))return Km({...c,build:gy(r,"pointwise",by(e))});let{kind:_,...u}=r;return Km({...c,...u})}function by(e){return{name:e.name,props:e.props,animatedTime:e.animatedTime}}function gY(e){let{role:t,species:s,effect:r,identityWhen:o,missingChildMessage:n,props:i,...d}=e;if(r.kind==="displaceBy")return bY(e);if(e_(r))return Ub({...d,props:ya(i),identity:Au(o,i),missingChildMessage:n,build:gy(r,"gather",by(e)),resultAlpha:r.spec.alpha??"premultiplied"});let{kind:c,..._}=r;return Ub({...d,props:ya(i),identity:Au(o,i),missingChildMessage:n,..._})}function bY(e){let{role:t,species:s,effect:r,identityWhen:o,missingChildMessage:n,props:i,...d}=e,c=r,_=Au(o,i),u=c.field.sim.config,m=c.field.output,p=u.step.find(h=>h.kind==="op.wave"),y=u.step.find(h=>h.kind==="op.splat");if(!p||!y||u.step.length!==2)throw new Error(`std: simulate.grid currently implements exactly [op.wave, op.splat] (got: ${u.step.map(h=>h.kind).join(", ")})`);if(u.history!==2)throw new Error(`std: op.wave reads t\u22121 and t\u22122 \u2014 declare history: 2 (got ${u.history})`);if(u.derive[m]?.kind!=="op.gradient")throw new Error(`std: displaceBy consumes a vector field \u2014 derive '${m}' must be op.gradient()`);if(u.rest&&u.rest.settlesWhen!=="derived-from-damping")throw new Error("std: simulate.grid rest supports settlesWhen: 'derived-from-damping' only");return{...d,props:ya(i),requiresRTT:!0,requiresChild:!0,usesPointer:y.at.kind==="pointer",compute:h=>{if(!h.childNode)return null;let g=sG(h,{resolution:u.resolution,dampingProp:p.damping.name,radiusProp:y.radius.name,radiusScale:.05,speedMax:y.amount.max,teleportGuard:y.at.teleportGuard});return g?{outputs:{[m]:g.displacement},getComputeNodes:g.getComputeNodes}:null},fragment:h=>{let{childNode:g,ctx:w,computeOutputs:S,propValues:T,convertToTexture:A}=h;if(!g)return xr;let P=A(g);if(hy(_,h))return we(dn,"unpremultiplyAlpha",[P.sample(w.uv)]);let U=T[c.edges.name]??0,D=S?.[m],O=D?D.sample(w.uv,"linearClamp").member("xy"):vd("vec2f(0.0, 0.0)"),L=we(uz,"chromaticDisplaceUVs",[w.uv,O,Dt(c.strength,h),Dt(c.chromatic,h)]),G=te=>P.sample(te),W=Gi(L.member("rUV"),G,U),K=Gi(L.member("gUV"),G,U),Q=Gi(L.member("bUV"),G,U);return we(dn,"unpremultiplyAlpha",[Ws(W.member("r"),K.member("g"),Q.member("b"),K.member("a"))])}}}function wY(e){let{role:t,map:s,edges:r,resample:o,uvRemapIdentityWhen:n,missingChildMessage:i,props:d,...c}=e;return{...c,props:ya(d),requiresRTT:!0,requiresChild:!0,...NG(s,{edges:r,resample:o,uvRemapIdentityWhen:n,requireChildMessage:i})}}function TY(e){let{role:t,name:s,description:r,category:o,shape:n}=e;return tY({name:s,description:r,category:o,...n})}function SY(e){let{role:t,paint:s,props:r,...o}=e;return e_(s)?{acceptsUVContext:!0,...o,props:ya(r),fragment:gy(s,"generator",by(e))}:{...o,props:ya(r),fragment:s}}function AY(e){let{role:t,species:s,gpu:r,props:o,...n}=e;return{...n,props:ya(o),fragment:r.fragment,...r.uvRemap?{uvRemap:r.uvRemap}:{}}}function MY(e){let t=[],s=e.paint,r=e.effect;for(let n of[s,r])e_(n)&&t.push(n.spec.body,PY(n.spec.inputs??{}),n.spec.alpha??"");if(t.length===0)return;let o=2166136261;for(let n of t.join("\0"))o^=n.charCodeAt(0),o=Math.imul(o,16777619)>>>0;return o.toString(16)}function PY(e){let t=r=>{if(typeof r!="object"||r===null)return String(r);let o=r;switch(o.kind){case"prop":return`p:${o.name}`;case"ctx":return`c:${o.name}`;case"mul":return`mul(${t(o.a)},${t(o.b)})`;case"radialMask":return`radialMask(${o.center?.name},${o.radius?.name},${o.falloff?.name})`;default:return o.kind}},s=r=>typeof r=="number"?`n:${r}`:r instanceof Jc?`s:${t(r.node)}`:t(r);return Object.keys(e).sort().map(r=>{let o=e[r];return o!==null&&typeof o=="object"&&"value"in o&&"type"in o?`${r}=${s(o.value)}:${o.type}`:`${r}=${s(o)}`}).join(",")}var EY=new Set(["blendMode","opacity","visible","id","maskSource","maskType","renderOrder","transform","boundingBox","flow","absolute","children","ref","key","src"]),kY=new Set(["_animTime","_opacity"]),$Y=["_pad","_bbox_","_map_","_childBounds_","_animTime_"],UY=/^[A-Za-z_][A-Za-z0-9_]*$/;function CY(e,t){for(let s of Object.keys(t)){if(!UY.test(s))throw new Error(`defineShader("${e}"): prop '${s}' is not a valid identifier (letters, digits and _ only, not starting with a digit)`);if(EY.has(s))throw new Error(`defineShader("${e}"): '${s}' is a layer prop every component already has (blend mode, opacity, layout, \u2026) \u2014 rename the shader prop`);if(kY.has(s)||$Y.some(r=>s.startsWith(r)))throw new Error(`defineShader("${e}"): '${s}' collides with a field the renderer manages itself \u2014 rename the shader prop`)}}function $o(e){"props"in e&&e.props&&CY(e.name,e.props);let t=YY(e),s=MY(e);return s?{...t,revision:s}:t}function RY(e){let t="shape"in e?"shape":"map"in e?"warp":"gpu"in e?"custom":"paint"in e?"generator":"effect"in e?"filter":null,s=String(e.name??"?");if(!t)throw new Error(`defineShader("${s}"): give it a GPU half \u2014 paint: (generator), effect: (filter), map: (warp), shape: (shape) or gpu: (custom)`);let r=e.role;if(r&&t!=="custom"&&r!==t)throw new Error(`defineShader("${s}"): role '${r}' contradicts its ${zY[t]} field (a ${t})`);return t}var zY={shape:"shape:",warp:"map:",custom:"gpu:",generator:"paint:",filter:"effect:"};function GY(e){let{effect:t,species:s}=e;if(e_(t))return s??(t.samplesChild?"gather":"pointwise");let r=t.kind==="gather"||t.kind==="displaceBy"?"gather":"pointwise";if(s&&s!==r)throw new Error(`defineShader("${e.name}"): species '${s}' contradicts its '${t.kind}' effect (${r})`);return r}function YY(e){switch(RY(e)){case"shape":return TY(e);case"warp":return wY(e);case"custom":return AY(e);case"generator":return SY(e);case"filter":{let t=e;return GY(t)==="gather"?gY({...t,species:"gather"}):xY({...t,species:"pointwise"})}}}var $f=e=>typeof e=="number"?vt(e):e,Mu=(e,t)=>typeof e=="number"?vt(e)._emit(t):e._emit(t);function kr(e,...t){return new Kt(s=>`${e}(${t.map(r=>Mu(r,s)).join(", ")})`)}function u1(e,t,s){return new Kt(r=>`(${Mu(t,r)} ${e} ${Mu(s,r)})`)}var $e=(e,t)=>u1("+",e,t),fs=(e,t)=>u1("-",e,t),N=(e,t)=>u1("*",e,t),mr=(e,t)=>u1("/",e,t),Pu=e=>new Kt(t=>`(-(${Mu(e,t)}))`),m1=e=>kr("abs",e);var nd=(e,t)=>kr("pow",e,t),wy=e=>kr("exp",e);var Uo=e=>kr("sin",e),t_=e=>kr("cos",e);var xa=(e,t)=>kr("max",e,t),gr=(e,t,s)=>kr("clamp",e,t,s),Co=(e,t,s)=>oc($f(e),$f(t),s);var Ss=(e,t,s)=>kr("smoothstep",e,t,s);var gd=e=>kr("length",e);var gw=(e,t)=>kr("dot",e,t);var p1=(e,t,s)=>Jt(fs(N(rl(e,"x"),t),N(rl(e,"y"),s)),$e(N(rl(e,"x"),s),N(rl(e,"y"),t))),rl=(e,t)=>typeof e=="number"?e:e.member(t),f1=(e,t)=>kr("reflect",e,t);var LY=e=>kr("exp2",e);var Zr=e=>vt(e),Jt=(e,t)=>kr("vec2f",e,t),tr=(e,t,s)=>kr("vec3f",e,t,s),ni=(...e)=>Ws(...e.map($f)),ln=e=>kr("vec3f",e),ye=(e,t)=>ur(e,t);function bw(e){return{kind:"crosses",value:e}}var IY=e=>typeof e=="number"?vt(e):e,$r=(e,t)=>(...s)=>we(e,t,s.map(IY)),UO=$r(fc,"circleSdf"),CO=$r(uu,"ellipseSdf"),RO=$r(lu,"roundedRectSdf"),zO=$r(au,"polygonSdf"),GO=$r(du,"starSdf"),YO=$r(iu,"flowerSdf"),LO=$r(vu,"heartSdf"),IO=$r(_u,"crossSdf"),DO=$r(cu,"ringSdf"),FO=$r(mu,"vesicaSdf"),BO=$r(pu,"crescentSdf"),WO=$r(fu,"trapezoidSdf"),OO=$r(hu,"teardropSdf"),VO=$r(xu,"parallelogramSdf"),NO=$r(yu,"arcSdf");var Ae=Math.fround,DY=Ae(HC),Zm=Ae(it),FY=.11,Uf=Ae(4294967295),Db=new DataView(new ArrayBuffer(4));function Cf(e){return Db.setFloat32(0,Ae(e),!0),Db.getUint32(0,!0)}function Eu(e,t){return Math.imul(e>>>0,t>>>0)>>>0}function Fb(e){let t=Cf(Ae(Ae(e)*Ae(3141592653)));return Ae(Ae(Eu(Eu(t,t),3141592653))/Uf)}function Bb(e,t){let s=(Cf(Ae(Ae(e)*Ae(141421356)))^Cf(Ae(Ae(t)*Ae(2718281828))))>>>0;return[Ae(Ae(Eu(s,3141592653))/Uf),Ae(Ae(Eu(s,1618033988))/Uf)]}function BY(e,t,s,r,o,n){let i=Ae(Ae(e*DY)+Ae(Fb(Ae(Ae(s*Ae(.7311))+Ae(1.618)))*Zm)),d=Ae(Math.sqrt(Ae(Ae(e+.5)/Ae(t)))),c=Bb(Ae(Ae(e*Ae(3.77))+Ae(.917)),Ae(Ae(s*Ae(1.093))+Ae(2.236))),_=Ae(Ae(c[0]-.5)*Ae(.26)),u=Ae(Ae(c[1]-.5)*Ae(.26)),m=Bb(Ae(Ae(e*Ae(7.13))+Ae(1.618)),Ae(Ae(s*Ae(.531))+Ae(3.71))),p=Ae(m[0]*Zm),y=Ae(m[1]*Zm),h=Ae(.5+Ae(Fb(Ae(Ae(Ae(e*Ae(5.417))+Ae(s*Ae(.291)))+Ae(.917)))*Ae(.7))),g=Ae(Ae(n*Ae(FY))*h),w=Ae(Math.sin(Ae(g+p))),S=Ae(Math.cos(Ae(Ae(g*Ae(1.37))+y))),T=Ae(Ae(Ae(Ae(Math.cos(i))*d)*Ae(.62))+_)+Ae(Ae(w*Ae(r))*Ae(.16)),A=Ae(Ae(Ae(Ae(Math.sin(i))*d)*Ae(.62))+u)+Ae(Ae(S*Ae(r))*Ae(.16));return[Ae(Ae(.5+Ae(T))*Ae(o)),Ae(.5+Ae(A))]}function WY(e,t,s,r,o){let n=new Array(16);for(let i=0;i<8;i++){let[d,c]=BY(i,e,t,s,r,o);n[i*2]=d,n[i*2+1]=c}return n}function ww(e){return typeof e=="number"?e:typeof e=="string"?ir(e):0}function OY(e,t){return Fv[e?ww(t.propValues[e.name]):0]??Bo}function Tw(e){return(t,s,r)=>{let o=OY(e.space,r);return we(o,"mixColors",[we(o,"mixColors",[Dt(e.a,r),Dt(e.b,r),t]),Dt(e.c,r),s])}}function Sw(e){let t=s=>typeof s=="number"?vt(s):s;return e.anchors?we(nR,"scatterField",[e.at,t(e.count),t(e.seed),e.anchors,t(e.softness)]):we(aR,"scatterField",[e.at,t(e.count),t(e.seed),t(e.drift),t(e.aspect),t(e.time),t(e.softness)])}function Aw(e,t){let s=e.dimensions.width/Math.max(e.dimensions.height,1e-6);e.onResize(({width:o,height:n})=>{s=o/Math.max(n,1e-6)});let r="";return e.onBeforeRender(()=>{let o=e.getCpuValue("_animTime"),n=e.getCpuValue(t.count.name),i=e.getCpuValue(t.seed.name),d=e.getCpuValue(t.drift.name);if(typeof o!="number"||typeof n!="number"||typeof i!="number"||typeof d!="number")return;let c=`${n}|${i}|${d}|${s}|${o}`;c!==r&&(r=c,e.setExtraField(t.field,WY(n,i,d,s,o)))}),e.uniforms[t.field]}function Mw(e){return we(vz,"rampWrap",[e.t,typeof e.cycles=="number"?vt(e.cycles):e.cycles])}function Pw(e){let t=s=>typeof s=="number"?vt(s):s;return e.levels===1?we(rR(go,{name:"warpDomain1"}),"warpDomain1",[e.at,t(e.time),t(e.amount)]):we(sR(go,{name:"warpDomain"}),"warpDomain",[e.at,t(e.time),t(e.amount)])}function Ty(e){let t=s=>typeof s=="number"?vt(s):s;return we(iR,"chainedWarpStep",[e.at,vt(e.scale),t(e.z),Jt(e.offsets[0][0],e.offsets[0][1]),Jt(e.offsets[1][0],e.offsets[1][1]),vt(e.reach),t(e.strength)])}function Ew(e,t){return rG(t,e)}function kw(e){return(t,s,r)=>{let{uniforms:o}=r,n=ww(r.propValues[e.space.name]),i=Dt(e.a,r),d=Dt(e.b,r),c=Dt(e.c,r),_=Dt(e.d,r);if(n!==0){let u="";r.onBeforeRender(()=>{let y=[e.a.name,e.b.name,e.c.name,e.d.name].map(w=>r.getCpuValue(w));if(y.some(w=>!w))return;let h=y.map(w=>`${w.x},${w.y},${w.z}`).join("|");if(h===u)return;u=h;let g=["convA","convB","convC","convD"];y.forEach((w,S)=>{let T=s1(w.x,w.y,w.z,n);r.setExtraField(g[S],[T[0],T[1],T[2]])})});let m=ur(we(fa,"mixInSpace",[o.convA,i.member("a"),o.convB,d.member("a"),t]),"flowRow1"),p=ur(we(fa,"mixInSpace",[o.convC,c.member("a"),o.convD,_.member("a"),t]),"flowRow2");return we(Bv[n]??t1,"mixPreconvertedColors",[m.member("conv"),p.member("conv"),m.member("alpha"),p.member("alpha"),s])}return we(Bo,"mixColors",[ur(we(Bo,"mixColors",[i,d,t]),"flowRow1"),ur(we(Bo,"mixColors",[c,_,t]),"flowRow2"),s])}}function Qm(e,t){return typeof e=="number"?vt(e):e instanceof Jc||e.kind!=="ctx"?od(e,t):t.ctx[e.name]}function VY(e){return{uv:e.uvContext??e.ctx.uv,viewport:e.effectiveViewportSize??e.ctx.viewportSize}}function $w(e){return t=>{let{uv:s,viewport:r}=VY(t);return we(mz,"godraysFrame",[s,r,Dt(e,t)])}}function Uw(e,t,s){return r=>t(s?ur(e(r),s):e(r),r)}function Cw(e){return(t,s)=>we(pz,"godraysRayStack",[t,uo(s),Qm(e.density,s),Qm(e.intensity,s),Qm(e.spotty,s)])}function Rw(e){return t=>we(fz,"coverageOver",[Dt(e.color,t),Dt(e.background,t),e.coverage(t)])}var{sdfSpaceUV:NY,offsetUV:ol}=sw,{ANALYTIC_SDF_EXTRA_FIELDS:qY}=n1,{createVolumetricFieldComputeNode:XY,resolveShapeFieldSampler:HY,VOLUMETRIC_FIELD_EXTRA_FIELDS:jY}=yd,KY=0;function v1(e,t,s,r="guarded",o=[]){let n=KY++;return new Kt(i=>i.memo(`guard:${n}`,()=>{let d=i.freshLocal(r),c=e._emit(i),_=s._emit(i);for(let p of o)p._emit(i);let u=[],m=t._emit({external:(p,y)=>i.external(p,y),statement:p=>u.push(p),freshLocal:p=>i.freshLocal(p),memo:(p,y)=>i.memo(p,y)});return i.statement(`var ${d} = ${_};`),i.statement(`if (${c}) { + ${u.join(` + `)} + ${d} = ${m}; +}`),d}))}function y1(e,t){let s=we(Ez,"outsideShape",[e,t]);return new Kt(r=>`(!(${s._emit(r)}))`)}function h1(e){let t=e.pattern??"none",s=e.chord??"span",r=e.stencil??{kind:"forward",eps:.01},o=i=>XY(i,()=>i.getCpuValue("shape"),t,s),n=i=>{let{childNode:d,computeOutputs:c,convertToTexture:_,uniforms:u,ctx:m}=i,p;if(e.child==="required"){if(!d)return xr;p=c?.childTexture??_(d)}let{sampler:y,gradSampler:h,texelSampler:g,volumetric:w,bakedGradients:S}=HY(i,{patternMode:t,gradSampler:e.gradSampler??"fast",bakedGradients:e.bakedGradients??"none"}),T={sampler:y,gradSampler:h,texelSampler:g,volumetric:w,bakedGradients:S,volFlag:vt(w?1:0),childTexture:p};if(r!=="none"){let A=e.placeUV?e.placeUV(i):m.uv;if(T.sdfUV=ye(we(NY,"sdfSpaceUV",[u.center,u.scale,u.rotation,A,m.aspect]),"sdfUV"),T.surf0=(e.centreTap==="fast"?h:y)(T.sdfUV),r!=="centre"){let{kind:P,eps:U}=r;T.surfX=h(we(ol,"offsetUV",[T.sdfUV,vt(U),vt(0)])),P==="central"&&(T.surfL=h(we(ol,"offsetUV",[T.sdfUV,vt(-U),vt(0)]))),T.surfY=h(we(ol,"offsetUV",[T.sdfUV,vt(0),vt(U)])),P==="central"&&(T.surfD=h(we(ol,"offsetUV",[T.sdfUV,vt(0),vt(-U)])))}}return e.surface(T,i)};return{extraFields:{...jY,...qY},compute:o,gpu:{fragment:n}}}function x1(e,t,s={}){let{ctx:r}=t,o=ye(e.surf0,"s0"),n=ye(mr(1,r.viewportSize.member("y")),"pxH"),i=ye(s.scale?mr(o.member("x"),s.scale):o.member("x"),"sdf"),d=mr(r.viewportSize.member("x"),r.viewportSize.member("y"));return{s0:o,sX:e.surfX?ye(e.surfX,"sX"):void 0,sY:e.surfY?ye(e.surfY,"sY"):void 0,sdf:i,pxH:n,aspect:d}}function g1(e,t,s){let r=Zr(s.eps??.01),o=s.hint??"nGeo";if(e.volumetric)return ye(we(Az,"volumetricNormal",[t.s0,t.sX,t.sY,r,Zr(s.sharpness??5)]),o);let n=gr(mr(Pu(t.sdf),xa(s.bevelWidth,.003)),0,1);return ye(we(Mz,"bevelledFlatNormal",[we(Sz,"fieldGradient",[t.s0,t.sX,t.sY,r]),we(zG,"bevelSin",[n,s.bevelShape])]),o)}function zw(e,t,s={}){return ye(we(Pz,"patternCoords",[s.uv??e.sdfUV,t.s0,e.volFlag]),"pat")}function b1(e,t,s=.6){return ye(we(kz,"perspectiveViewRay",[e.ctx.uv,t.aspect,Zr(s)]),"viewI")}function Gw(e,t,s){let r=o=>typeof o=="number"?Zr(o):o;return we(Iz,"studio5Softbox",[e,t,s.rotation.member("x"),s.rotation.member("y"),r(s.keyRadius),r(s.drift),r(s.strength),Zr(s.skyGain)])}function w1(e,t){return we(Uz,"silhouetteAlpha",[e.sdf,t,e.pxH])}function Yw(e){return we(a7,"tonemapNeutral",[e])}function Lw(e,t,s,r="n"){return ye(we(Gz,"nudgeNormal",[e,t,s]),r)}function T1(e,t,s="kl"){return ZY(e.member("x"),e.member("y"),t,s)}function ZY(e,t,s,r="kl"){return ye(we(Cz,"keyLight",[e,t,Zr(s)]),r)}function Iw(e,t,s){return we(Rz,"sharpGlint",[e,t,s])}function Dw(e,t){return we(zz,"clampedPerlinGrad",[e,typeof t=="number"?Zr(t):t])}function Wb(e,t){return we(Yz,"opticalThickness",[e.sdf,t.volFlag])}function Fw(e,t){return we(Lz,"flowWarpOffset",[e,t])}function ga(e){return we(Ei,"mxNoiseFloat2",[e])}function Sn(e){return we(go,"mxNoiseFloat3",[e])}function QY(e){return we(jC,"mxWorleyNoiseFloat2Pub",[e,Zr(1)])}function Bw(e,t){return we(Ot,"hash12",[Jt(e,t)])}function Ww(e){let t=ye(e.gradSampler(Jt(.5,.5)),"s0C");return{x:ye(N(Pu(t.member("y")),e.volFlag),"rotSenseX"),y:ye(N(Pu(t.member("z")),e.volFlag),"rotSenseY")}}function Ow(e,t,s){let r=ye(fs(e.sdfUV.member("x"),.5),"cx"),o=ye(fs(e.sdfUV.member("y"),.5),"cy");return{x:ye($e(r,N(t.member("x"),s)),"bentX"),y:ye($e(o,N(t.member("y"),s)),"bentY"),centered:{x:r,y:o}}}function Sy(e,t,s){return $e(fs(1,s.amount),N(Uo($e(N(e,s.rate),N(t,s.spread))),s.amount))}function Ay(e,t){let s=t.hint??"stars",r=ye($e(N(ga(N(e,t.variationFreq)),.5),.5),`${s}V`),o=t.shimmer?t.shimmer(r):Zr(1),n=ye(N(N(N(Ss($e(t.radius[0],N(r,t.radius[1])),5e-4,QY(e)),Ss(t.keep[0],t.keep[1],r)),N($e(t.brightness[0],N(N(r,r),t.brightness[1])),o)),t.gain),s);return{glint:n,variation:r,rgb:t.tint?N(Co(tr(...t.tint.from),tr(...t.tint.to),ln(r)),ln(N(n,t.tint.gain))):void 0}}function Vw(e,t){let s=t.softness?ye(LY(Co(2,-2,t.softness)),"lobeWiden"):void 0,r=o=>s?N(o,s):Zr(o);return N($e(N(nd(e,r(t.core[0])),t.core[1]),N(nd(e,r(t.halo[0])),t.halo[1])),t.gain)}function Nw(e,t,s){let r=ye(N(e.s0.member("w"),t.volFlag),"rayEntry"),o=ye(s.lengthScale===void 0?Wb(e,t):N(Wb(e,t),s.lengthScale),"rayLen"),n=s.view?ye(N(s.view.member("x"),s.shear??1),"rayShearX"):void 0,i=s.view?ye(N(s.view.member("y"),s.shear??1),"rayShearY"):void 0;return{entry:r,length:o,at(d){return{x:n?$e(s.origin.x,N(n,d)):s.origin.x,y:i?$e(s.origin.y,N(i,d)):s.origin.y}}}}function My(e,t){let s=t.hint??"plane",r=ye($e(e.entry,N(e.length,t.depth)),`${s}Z`),o=e.at(r);if(!t.pan)return{x:o.x,y:o.y,z:r};let n=t.panRate??1;return{x:$e(o.x,N(t.pan.x,n)),y:$e(o.y,N(t.pan.y,n)),z:r}}function qw(e,t){let s=t.hint??"",r=t.drift,o=t.seed,n=(m,p,y,h)=>{let g=p===void 0?N(m,t.frequency):N(m,N(t.frequency,p));return r&&(g=$e(g,y===1?r:N(r,y))),o&&(g=$e(g,h===1?o:N(o,h))),g},i=ye(tr(n(e.x,void 0,1,1),n(e.y,void 0,-.7,.53),n(e.z,1.25,1.3,.79)),`q${s}`),d=ye(Sn(r?$e(N(i,.5),tr(N(r,1.4),0,N(r,-.9))):N(i,.5)),`warp${s}`),c=t.billow?ye($e(i,N(tr(d,N(d,-.73),N(d,.41)),t.billow)),`qw${s}`):i,_=ye(Sn($e(N(c,2.13),tr(5.2,1.3,8.4))),`mid${s}`),u=ye(Sn($e(N(c,4.31),tr(9.1,3.7,1.2))),`fine${s}`);return{density:ye(N($e($e(Sn(c),N(_,.5)),N(u,.27)),.57),`fbm${s}`),mid:_,fine:u}}function Xw(e,t){let s=ln(1),r=tr(0,0,0);for(let o=0;oe))(ut({center:l,lightPos:pt(x,8),lightColor:pt(x,8),lightCount:a,scale:a,rotation:a,aspect:a,reach:a,wrap:a,lightRange:a,shadowSoftness:a,eps:a,res:a,frame:a,rays:a,saRadius:a,saSides:a,saRounding:a,saInnerRatio:a,saRotation:a,saHeight:a,saOffset:a,saAperture:a,vfOriginX:a,vfOriginY:a,vfSpanX:a,vfSpanY:a,vfActiveRes:a,vfRBound:a}),"IrradianceParams"),ai={storageTexture:Mo(JY,"write-only")},XO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Py},outTex:ai}),"irradianceAnalyticLayout"),Jm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Py},outTex:ai,sdfSource:{texture:ps(a)},samp:{sampler:"filtering"}}),"irradianceSvgLayout"),nl=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Py},outTex:ai,silhouetteTex:{texture:ps(a)},samp:{sampler:"filtering"}}),"irradianceFieldLayout"),ep=1e3,ku=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return b(oe(t,ep),__tsover_mul(ep,-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[6,"std.max",[[6,"std.min",["v","FAR"]],[1,"FAR","*",[4,"-",[5,"1"]]]]]]]]},externals:{"std.max":()=>b,"std.min":()=>oe,FAR:()=>ep}})&&e.f)({})).$name("irradianceSane"),Ob=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=$(t,l(0,0),l(1,1));return j(t.sub(s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"c",[6,"std.clamp",["uv",[6,"d.vec2f",[[5,"0"],[5,"0"]]],[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]],[10,[6,"std.length",[[6,[7,"uv","sub"],["c"]]]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l,"std.length":()=>j}})&&e.f)({})).$name("irradianceBeyondSquare");var HO=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=zl(Jm.$.sdfSource,Jm.$.samp,t,a(0)).x,r=Ob(t);return ku(C(s,b(r,__tsover_sub(s,r)),r>0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"border",[7,[6,"std.textureSampleLevel",[[7,[7,"irradianceSvgLayout","$"],"sdfSource"],[7,[7,"irradianceSvgLayout","$"],"samp"],"uv",[6,"d.f32",[[5,"0"]]]]],"x"]],[13,"beyond",[6,"beyondSquare",["uv"]]],[10,[6,"sane",[[6,"std.select",["border",[6,"std.max",["beyond",[1,"border","-","beyond"]]],[1,"beyond",">",[5,"0"]]]]]]]]]},externals:{"std.textureSampleLevel":()=>zl,irradianceSvgLayout:()=>Jm,"d.f32":()=>a,beyondSquare:()=>Ob,sane:()=>ku,"std.select":()=>C,"std.max":()=>b}})&&e.f)({})).$name("irradianceSvgField"),jO=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=nl.$.params,r=$(t.x,s.vfOriginX,__tsover_add(s.vfOriginX,s.vfSpanX)),o=$(t.y,s.vfOriginY,__tsover_add(s.vfOriginY,s.vfSpanY)),n=j(l(__tsover_sub(t.x,r),__tsover_sub(t.y,o))),i=__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),s.vfRBound),d=l(__tsover_div(__tsover_sub(r,s.vfOriginX),s.vfSpanX),__tsover_div(__tsover_sub(o,s.vfOriginY),s.vfSpanY)),c=zl(nl.$.silhouetteTex,nl.$.samp,d,a(0)),_=__tsover_mul(c.z,c.w);return ku(C(_,b(b(n,i),__tsover_sub(_,n)),n>0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"p",[7,[7,"irradianceFieldLayout","$"],"params"]],[13,"cx",[6,"std.clamp",[[7,"uv","x"],[7,"p","vfOriginX"],[1,[7,"p","vfOriginX"],"+",[7,"p","vfSpanX"]]]]],[13,"cy",[6,"std.clamp",[[7,"uv","y"],[7,"p","vfOriginY"],[1,[7,"p","vfOriginY"],"+",[7,"p","vfSpanY"]]]]],[13,"outside",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","cx"],[1,[7,"uv","y"],"-","cy"]]]]]],[13,"circle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-",[7,"p","vfRBound"]]],[13,"tuv",[6,"d.vec2f",[[1,[1,"cx","-",[7,"p","vfOriginX"]],"/",[7,"p","vfSpanX"]],[1,[1,"cy","-",[7,"p","vfOriginY"]],"/",[7,"p","vfSpanY"]]]]],[13,"sil",[6,"std.textureSampleLevel",[[7,[7,"irradianceFieldLayout","$"],"silhouetteTex"],[7,[7,"irradianceFieldLayout","$"],"samp"],"tuv",[6,"d.f32",[[5,"0"]]]]]],[13,"inDomain",[1,[7,"sil","z"],"*",[7,"sil","w"]]],[13,"beyond",[6,"std.max",[[6,"std.max",["outside","circle"]],[1,"inDomain","-","outside"]]]],[10,[6,"sane",[[6,"std.select",["inDomain","beyond",[1,"outside",">",[5,"0"]]]]]]]]]},externals:{irradianceFieldLayout:()=>nl,"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.textureSampleLevel":()=>zl,"d.f32":()=>a,"std.max":()=>b,sane:()=>ku,"std.select":()=>C}})&&e.f)({})).$name("irradianceVolumetricField"),Kw=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({vfOriginX:a,vfOriginY:a,vfSpanX:a,vfSpanY:a,vfActiveRes:a,vfRBound:a,res:a,step:a}),"SilhouetteParams"),Ii=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Kw},fieldTex:{texture:ps(a),sampleType:"unfilterable-float"},out:ai}),"silhouetteSeedLayout"),Kd=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Kw},src:{texture:ps(a)},out:ai}),"silhouetteStepLayout"),{fieldSampleFastArg:Vb}=ay(),Ai=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ii.$.params,o=Vb(l(__tsover_add(r.vfOriginX,__tsover_mul(__tsover_div(__tsover_add(t,.5),r.res),r.vfSpanX)),__tsover_add(r.vfOriginY,__tsover_mul(__tsover_div(__tsover_add(s,.5),r.res),r.vfSpanY))),Ii.$.fieldTex,r.vfOriginX,r.vfOriginY,r.vfSpanX,r.vfSpanY,r.vfActiveRes,r.vfRBound).x;return C(a(1),a(-1),o<0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"tx"},{type:"i",name:"ty"}],body:[0,[[13,"p",[7,[7,"silhouetteSeedLayout","$"],"params"]],[13,"uv",[6,"d.vec2f",[[1,[7,"p","vfOriginX"],"+",[1,[1,[1,"tx","+",[5,"0.5"]],"/",[7,"p","res"]],"*",[7,"p","vfSpanX"]]],[1,[7,"p","vfOriginY"],"+",[1,[1,[1,"ty","+",[5,"0.5"]],"/",[7,"p","res"]],"*",[7,"p","vfSpanY"]]]]]],[13,"v",[7,[6,"fieldSampleFastArg",["uv",[7,[7,"silhouetteSeedLayout","$"],"fieldTex"],[7,"p","vfOriginX"],[7,"p","vfOriginY"],[7,"p","vfSpanX"],[7,"p","vfSpanY"],[7,"p","vfActiveRes"],[7,"p","vfRBound"]]],"x"]],[10,[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"d.f32",[[4,"-",[5,"1"]]]],[1,"v","<",[5,"0"]]]]]]]},externals:{silhouetteSeedLayout:()=>Ii,"d.vec2f":()=>l,fieldSampleFastArg:()=>Vb,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})).$name("silhouetteInside"),KO=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ii.$.params,o=a(t),n=a(s),i=Ai(o,n),d=__tsover_sub(r.res,1),c=Ai(b(__tsover_sub(o,1),0),n),_=Ai(oe(__tsover_add(o,1),d),n),u=Ai(o,b(__tsover_sub(n,1),0)),m=Ai(o,oe(__tsover_add(n,1),d)),p=c!==i||_!==i||u!==i||m!==i,y=__tsover_add(r.vfOriginX,__tsover_mul(__tsover_div(__tsover_add(o,.5),r.res),r.vfSpanX)),h=__tsover_add(r.vfOriginY,__tsover_mul(__tsover_div(__tsover_add(n,.5),r.res),r.vfSpanY)),g=C(x(-1,-1,6e4,i),x(y,h,0,i),p);jr(Ii.$.out,Ge(t,s),g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"p",[7,[7,"silhouetteSeedLayout","$"],"params"]],[13,"fx",[6,"d.f32",["cx"]]],[13,"fy",[6,"d.f32",["cy"]]],[13,"s0",[6,"silhouetteInside",["fx","fy"]]],[13,"maxT",[1,[7,"p","res"],"-",[5,"1"]]],[13,"sL",[6,"silhouetteInside",[[6,"std.max",[[1,"fx","-",[5,"1"]],[5,"0"]]],"fy"]]],[13,"sR",[6,"silhouetteInside",[[6,"std.min",[[1,"fx","+",[5,"1"]],"maxT"]],"fy"]]],[13,"sD",[6,"silhouetteInside",["fx",[6,"std.max",[[1,"fy","-",[5,"1"]],[5,"0"]]]]]],[13,"sU",[6,"silhouetteInside",["fx",[6,"std.min",[[1,"fy","+",[5,"1"]],"maxT"]]]]],[13,"boundary",[3,[3,[3,[1,"sL","!==","s0"],"||",[1,"sR","!==","s0"]],"||",[1,"sD","!==","s0"]],"||",[1,"sU","!==","s0"]]],[13,"sx",[1,[7,"p","vfOriginX"],"+",[1,[1,[1,"fx","+",[5,"0.5"]],"/",[7,"p","res"]],"*",[7,"p","vfSpanX"]]]],[13,"sy",[1,[7,"p","vfOriginY"],"+",[1,[1,[1,"fy","+",[5,"0.5"]],"/",[7,"p","res"]],"*",[7,"p","vfSpanY"]]]],[13,"seed",[6,"std.select",[[6,"d.vec4f",[[4,"-",[5,"1"]],[4,"-",[5,"1"]],[5,"60000"],"s0"]],[6,"d.vec4f",["sx","sy",[5,"0"],"s0"]],"boundary"]]],[6,"std.textureStore",[[7,[7,"silhouetteSeedLayout","$"],"out"],[6,"d.vec2u",["cx","cy"]],"seed"]]]]},externals:{silhouetteSeedLayout:()=>Ii,"d.f32":()=>a,silhouetteInside:()=>Ai,"std.max":()=>b,"std.min":()=>oe,"std.select":()=>C,"d.vec4f":()=>x,"std.textureStore":()=>jr,"d.vec2u":()=>Ge}})&&e.f)({})).$name("silhouetteSeed"),ZO=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Kd.$.params,o=a(t),n=a(s),i=l(__tsover_add(r.vfOriginX,__tsover_mul(__tsover_div(__tsover_add(o,.5),r.res),r.vfSpanX)),__tsover_add(r.vfOriginY,__tsover_mul(__tsover_div(__tsover_add(n,.5),r.res),r.vfSpanY))),d=Be(Kd.$.src,Ge(t,s),0),c=x(d),_=__tsover_sub(r.res,1);for(let u=-1;u<=1;u++)for(let m=-1;m<=1;m++){let p=$(__tsover_add(o,__tsover_mul(a(m),r.step)),0,_),y=$(__tsover_add(n,__tsover_mul(a(u),r.step)),0,_),h=Be(Kd.$.src,Ge(R(p),R(y)),0);if(h.x>=0){let g=j(h.xy.sub(i));g=",[5,"0"]],[0,[[13,"dist",[6,"std.length",[[6,[7,[7,"n","xy"],"sub"],["here"]]]]],[11,[1,"dist","<",[7,"best","z"]],[0,[[2,"best","=",[6,"d.vec4f",[[7,"n","x"],[7,"n","y"],"dist",[7,"best","w"]]]]]]]]]]]]]]]],[6,"std.textureStore",[[7,[7,"silhouetteStepLayout","$"],"out"],[6,"d.vec2u",["cx","cy"]],[6,"d.vec4f",[[7,"best","x"],[7,"best","y"],[7,"best","z"],[7,"self","w"]]]]]]]},externals:{silhouetteStepLayout:()=>Kd,"d.f32":()=>a,"d.vec2f":()=>l,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"d.vec4f":()=>x,"std.clamp":()=>$,"d.u32":()=>R,"std.length":()=>j,"std.textureStore":()=>jr}})&&e.f)({})).$name("silhouetteStep");var eL=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({weight:a}),"AccumulateParams"),Zd=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({sample:{texture:ps(a)},prev:{texture:ps(a)},out:ai,params:{uniform:eL}}),"accumulateLayout"),QO=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ge(t,s),o=Be(Zd.$.sample,r,0),n=Be(Zd.$.prev,r,0),i=Zd.$.params.weight;jr(Zd.$.out,r,C(n.add(o.sub(n).mul(i)),o,i>=1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"at",[6,"d.vec2u",["cx","cy"]]],[13,"s",[6,"std.textureLoad",[[7,[7,"accumulateLayout","$"],"sample"],"at",[5,"0"]]]],[13,"prev",[6,"std.textureLoad",[[7,[7,"accumulateLayout","$"],"prev"],"at",[5,"0"]]]],[13,"w",[7,[7,[7,"accumulateLayout","$"],"params"],"weight"]],[6,"std.textureStore",[[7,[7,"accumulateLayout","$"],"out"],"at",[6,"std.select",[[6,[7,"prev","add"],[[6,[7,[6,[7,"s","sub"],["prev"]],"mul"],["w"]]]],"s",[1,"w",">=",[5,"1"]]]]]]]]},externals:{"d.vec2u":()=>Ge,"std.textureLoad":()=>Be,accumulateLayout:()=>Zd,"std.textureStore":()=>jr,"std.select":()=>C}})&&e.f)({})).$name("irradianceAccumulate"),tp=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({src:{texture:ps(a)},out:ai}),"copyLayout"),JO=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ge(t,s);jr(tp.$.out,r,Be(tp.$.src,r,0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"at",[6,"d.vec2u",["cx","cy"]]],[6,"std.textureStore",[[7,[7,"copyLayout","$"],"out"],"at",[6,"std.textureLoad",[[7,[7,"copyLayout","$"],"src"],"at",[5,"0"]]]]]]]},externals:{"d.vec2u":()=>Ge,"std.textureStore":()=>jr,copyLayout:()=>tp,"std.textureLoad":()=>Be}})&&e.f)({})).$name("irradianceCopy");var{createSdfDataTexture:eV,analyticSubPropValues:tV,parseShapeConfigValue:sV}=n1,{createVolumetricFieldComputeNode:rV}=yd;var oV=[[1/16,-3/16],[-1/16,3/16],[5/16,1/16],[-3/16,-5/16],[-5/16,5/16],[-7/16,-1/16],[3/16,7/16],[7/16,-7/16]];var tL=Le;function bd(e){let t=e.uvContext??e.ctx.uv,s=e.effectiveViewportSize??e.ctx.viewportSize;return{uv:t,viewport:s,aspect:ye(mr(s.member("x"),s.member("y")),"aspect")}}function s_(e,t="dir"){let s=N(e,tL);return ye(Jt(t_(s),Uo(s)),t)}var nV=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(t.x,__tsover_sub(__tsover_mul(s,2),t.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"lineY"}],body:[0,[[10,[6,"d.vec2f",[[7,"uv","x"],[1,[1,"lineY","*",[5,"2"]],"-",[7,"uv","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),aV=v.fn([x,x,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=b(__tsover_sub(r,o),0),c=b(n,.001),_=b(__tsover_mul(c,i),1e-4),u=__tsover_sub(c,_),m=__tsover_sub(1,re(u,c,d)),p=__tsover_mul(s.w,m),y=__tsover_sub(1,p);return X(t,x(s.xyz.mul(m).add(t.xyz.mul(y)),__tsover_add(p,__tsover_mul(t.w,y))),x(De(o,r)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"original"},{type:"i",name:"refl"},{type:"i",name:"uvY"},{type:"i",name:"lineY"},{type:"i",name:"distance"},{type:"i",name:"falloff"}],body:[0,[[13,"distBelow",[6,"std.max",[[1,"uvY","-","lineY"],[5,"0"]]]],[13,"distanceMax",[6,"std.max",["distance",[5,"0.001"]]]],[13,"fadeWidth",[6,"std.max",[[1,"distanceMax","*","falloff"],[5,"0.0001"]]]],[13,"fadeStart",[1,"distanceMax","-","fadeWidth"]],[13,"visibility",[1,[5,"1"],"-",[6,"std.smoothstep",["fadeStart","distanceMax","distBelow"]]]],[13,"effReflA",[1,[7,"refl","w"],"*","visibility"]],[13,"oneMinusReflA",[1,[5,"1"],"-","effReflA"]],[13,"belowRgb",[6,[7,[6,[7,[7,"refl","xyz"],"mul"],["visibility"]],"add"],[[6,[7,[7,"original","xyz"],"mul"],["oneMinusReflA"]]]]],[13,"belowA",[1,"effReflA","+",[1,[7,"original","w"],"*","oneMinusReflA"]]],[13,"belowLine",[6,"d.vec4f",["belowRgb","belowA"]]],[13,"isBelowLine",[6,"std.step",["lineY","uvY"]]],[10,[6,"std.mix",["original","belowLine",[6,"d.vec4f",["isBelowLine"]]]]]]]},externals:{"std.max":()=>b,"std.smoothstep":()=>re,"d.vec4f":()=>x,"std.step":()=>De,"std.mix":()=>X}})&&e.f)({}));var iV=v.fn([x,x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=r.w,n=$(s.xyz.mul(r.xyz).mul(o),f(0,0,0),f(1,1,1)),i=f(1,1,1),d=i.sub(i.sub(t.xyz).mul(i.sub(n))),c=__tsover_add(t.w,__tsover_mul(__tsover_mul(s.w,o),__tsover_sub(1,t.w)));return x(d.x,d.y,d.z,$(c,0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"glow"},{type:"i",name:"tintStrength"}],body:[0,[[13,"strength",[7,"tintStrength","w"]],[13,"bloomC",[6,"std.clamp",[[6,[7,[6,[7,[7,"glow","xyz"],"mul"],[[7,"tintStrength","xyz"]]],"mul"],["strength"]],[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]],[13,"one",[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]],[13,"screened",[6,[7,"one","sub"],[[6,[7,[6,[7,"one","sub"],[[7,"base","xyz"]]],"mul"],[[6,[7,"one","sub"],["bloomC"]]]]]]],[13,"a",[1,[7,"base","w"],"+",[1,[1,[7,"glow","w"],"*","strength"],"*",[1,[5,"1"],"-",[7,"base","w"]]]]],[10,[6,"d.vec4f",[[7,"screened","x"],[7,"screened","y"],[7,"screened","z"],[6,"std.clamp",["a",[5,"0"],[5,"1"]]]]]]]]},externals:{"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})).$name("tintedScreenGlow");var dV=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s,.006),n=__tsover_mul(__tsover_add(__tsover_mul(Y(__tsover_mul(r,1.7)),.5),__tsover_mul(Y(__tsover_add(__tsover_mul(r,.9),1.3)),.5)),o),i=__tsover_mul(__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(r,1.3),.7)),.5),__tsover_mul(Y(__tsover_mul(r,2.3)),.5)),o),d=__tsover_mul(__tsover_mul(Y(__tsover_mul(r,.6)),s),.004),c=H(d),_=Y(d),u=t.sub(l(.5,.5)),m=__tsover_sub(__tsover_mul(u.x,c),__tsover_mul(u.y,_)),p=__tsover_add(__tsover_mul(u.x,_),__tsover_mul(u.y,c));return l(__tsover_add(__tsover_add(m,.5),n),__tsover_add(__tsover_add(p,.5),i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"amount"},{type:"i",name:"t"}],body:[0,[[13,"amp",[1,"amount","*",[5,"0.006"]]],[13,"ox",[1,[1,[1,[6,"std.sin",[[1,"t","*",[5,"1.7"]]]],"*",[5,"0.5"]],"+",[1,[6,"std.sin",[[1,[1,"t","*",[5,"0.9"]],"+",[5,"1.3"]]]],"*",[5,"0.5"]]],"*","amp"]],[13,"oy",[1,[1,[1,[6,"std.sin",[[1,[1,"t","*",[5,"1.3"]],"+",[5,"0.7"]]]],"*",[5,"0.5"]],"+",[1,[6,"std.sin",[[1,"t","*",[5,"2.3"]]]],"*",[5,"0.5"]]],"*","amp"]],[13,"ang",[1,[1,[6,"std.sin",[[1,"t","*",[5,"0.6"]]]],"*","amount"],"*",[5,"0.004"]]],[13,"c",[6,"std.cos",["ang"]]],[13,"s",[6,"std.sin",["ang"]]],[13,"p",[6,[7,"uv","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"rx",[1,[1,[7,"p","x"],"*","c"],"-",[1,[7,"p","y"],"*","s"]]],[13,"ry",[1,[1,[7,"p","x"],"*","s"],"+",[1,[7,"p","y"],"*","c"]]],[10,[6,"d.vec2f",[[1,[1,"rx","+",[5,"0.5"]],"+","ox"],[1,[1,"ry","+",[5,"0.5"]],"+","oy"]]]]]]},externals:{"std.sin":()=>Y,"std.cos":()=>H,"d.vec2f":()=>l}})&&e.f)({})).$name("swayUV");var vc=ao,Nb=.35,cV=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_mul(.18,t),r=Ce(z(Y(__tsover_mul(s,vc))),10),o=Ce(z(Y(__tsover_mul(__tsover_sub(s,.15),vc))),10);return $(__tsover_add(r,__tsover_mul(.6,o)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"animTime"}],body:[0,[[13,"time",[1,[5,"0.18"],"*","animTime"]],[13,"first",[6,"std.pow",[[6,"std.abs",[[6,"std.sin",[[1,"time","*","TWO_PI"]]]]],[5,"10"]]]],[13,"second",[6,"std.pow",[[6,"std.abs",[[6,"std.sin",[[1,[1,"time","-",[5,"0.15"]],"*","TWO_PI"]]]]],[5,"10"]]]],[10,[6,"std.clamp",[[1,"first","+",[1,[5,"0.6"],"*","second"]],[5,"0"],[5,"1"]]]]]]},externals:{"std.pow":()=>Ce,"std.abs":()=>z,"std.sin":()=>Y,TWO_PI:()=>vc,"std.clamp":()=>$}})&&e.f)({})),_V=v.fn([a,l,l,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=__tsover_add(__tsover_mul(_,1.2),131),y=b(__tsover_mul(__tsover_mul(.5,n),Nb),.002),h=z(__tsover_add(__tsover_div(t,b(o,.001)),X(y,a(0),i))),g=X(y,__tsover_mul(3,y),i),w=__tsover_div(2,__tsover_mul(r.y,b(o,.001))),S=oe(X(g,__tsover_mul(g,-1),i),__tsover_add(g,w)),T=b(X(g,__tsover_mul(g,-1),i),__tsover_add(g,w)),A=__tsover_sub(1,re(S,T,h));A=Ce($(A,0,1),__tsover_add(1,i));let P=l(__tsover_sub(s.x,.5),__tsover_sub(s.y,.5)).mul(__tsover_add(.5,__tsover_mul(2.5,d))),U=__tsover_mul(.5,p),D=Br(l(__tsover_add(__tsover_mul(P.x,2.7),U),__tsover_add(__tsover_mul(P.y,2.7),U))),O=Br(l(__tsover_sub(__tsover_mul(P.x,3.4),U),__tsover_sub(__tsover_mul(P.y,3.4),U))),L=__tsover_sub($(__tsover_mul(3,D),0,1),O),G=$(__tsover_add(y,.2),.1,.4),W=Ce($(__tsover_sub(1,re(__tsover_mul(G,-1),__tsover_add(G,w),h)),0,1),2);L=__tsover_mul(L,W),L=__tsover_mul(__tsover_mul(__tsover_mul(30,L),L),__tsover_mul(__tsover_mul(.5,c),c)),L=__tsover_mul(L,X(a(1),m,u)),A=$(__tsover_add(A,$(L,0,1)),0,1);let K=__tsover_div(tt(__tsover_sub(s.y,.5),__tsover_sub(s.x,.5)),vc);return l(A,K)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fieldRaw"},{type:"i",name:"sdfUV"},{type:"i",name:"viewport"},{type:"i",name:"scale"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"smokeSize"},{type:"i",name:"smokeAmt"},{type:"i",name:"animTime"},{type:"i",name:"pulse"},{type:"i",name:"beat"}],body:[0,[[13,"t",[1,[1,"animTime","*",[5,"1.2"]],"+",[5,"131"]]],[13,"th",[6,"std.max",[[1,[1,[5,"0.5"],"*","thickness"],"*","BAND_THICKNESS_REF"],[5,"0.002"]]]],[13,"f",[1,[1,"fieldRaw","/",[6,"std.max",["scale",[5,"0.001"]]]],"+",[6,"std.mix",["th",[6,"d.f32",[[5,"0"]]],"softness"]]]],[13,"bd",[6,"std.abs",["f"]]],[13,"borderTh",[6,"std.mix",["th",[1,[5,"3"],"*","th"],"softness"]]],[13,"aa",[1,[5,"2"],"/",[1,[7,"viewport","y"],"*",[6,"std.max",["scale",[5,"0.001"]]]]]],[13,"e0",[6,"std.min",[[6,"std.mix",["borderTh",[1,"borderTh","*",[4,"-",[5,"1"]]],"softness"]],[1,"borderTh","+","aa"]]]],[13,"e1",[6,"std.max",[[6,"std.mix",["borderTh",[1,"borderTh","*",[4,"-",[5,"1"]]],"softness"]],[1,"borderTh","+","aa"]]]],[12,"border",[1,[5,"1"],"-",[6,"std.smoothstep",["e0","e1","bd"]]]],[2,"border","=",[6,"std.pow",[[6,"std.clamp",["border",[5,"0"],[5,"1"]]],[1,[5,"1"],"+","softness"]]]],[13,"suv",[6,[7,[6,"d.vec2f",[[1,[7,"sdfUV","x"],"-",[5,"0.5"]],[1,[7,"sdfUV","y"],"-",[5,"0.5"]]]],"mul"],[[1,[5,"0.5"],"+",[1,[5,"2.5"],"*","smokeSize"]]]]],[13,"drift",[1,[5,"0.5"],"*","t"]],[13,"n1",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,[7,"suv","x"],"*",[5,"2.7"]],"+","drift"],[1,[1,[7,"suv","y"],"*",[5,"2.7"]],"+","drift"]]]]]],[13,"n2",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,[7,"suv","x"],"*",[5,"3.4"]],"-","drift"],[1,[1,[7,"suv","y"],"*",[5,"3.4"]],"-","drift"]]]]]],[12,"smoke",[1,[6,"std.clamp",[[1,[5,"3"],"*","n1"],[5,"0"],[5,"1"]]],"-","n2"]],[13,"smokeTh",[6,"std.clamp",[[1,"th","+",[5,"0.2"]],[5,"0.1"],[5,"0.4"]]]],[13,"smokeBand",[6,"std.pow",[[6,"std.clamp",[[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"smokeTh","*",[4,"-",[5,"1"]]],[1,"smokeTh","+","aa"],"bd"]]],[5,"0"],[5,"1"]]],[5,"2"]]]],[2,"smoke","=",[1,"smoke","*","smokeBand"]],[2,"smoke","=",[1,[1,[1,[5,"30"],"*","smoke"],"*","smoke"],"*",[1,[1,[5,"0.5"],"*","smokeAmt"],"*","smokeAmt"]]],[2,"smoke","=",[1,"smoke","*",[6,"std.mix",[[6,"d.f32",[[5,"1"]]],"beat","pulse"]]]],[2,"border","=",[6,"std.clamp",[[1,"border","+",[6,"std.clamp",["smoke",[5,"0"],[5,"1"]]]],[5,"0"],[5,"1"]]]],[13,"angle01",[1,[6,"std.atan2",[[1,[7,"sdfUV","y"],"-",[5,"0.5"]],[1,[7,"sdfUV","x"],"-",[5,"0.5"]]]],"/","TWO_PI"]],[10,[6,"d.vec2f",["border","angle01"]]]]]},externals:{"std.max":()=>b,BAND_THICKNESS_REF:()=>Nb,"std.mix":()=>X,"d.f32":()=>a,"std.abs":()=>z,"std.min":()=>oe,"std.smoothstep":()=>re,"std.pow":()=>Ce,"std.clamp":()=>$,"d.vec2f":()=>l,"noise.value12":()=>Br,"std.atan2":()=>tt,TWO_PI:()=>vc}})&&e.f)({})),lV=v.fn([a,a,a,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=__tsover_add(__tsover_mul(r,1.2),131),y=__tsover_add(1,__tsover_mul(__tsover_add(1,__tsover_mul(4,_)),c)),h=a(0),g=a(0);for(let w=0;w<5;w++){let S=a(w),T=C(a(0),a(1),Sa,"std.select":()=>C,"noise.hash22":()=>er,"d.vec2f":()=>l,"std.abs":()=>z,"std.sin":()=>Y,"std.cos":()=>H,"std.floor":()=>q,"std.clamp":()=>$,"std.mix":()=>X,"std.fract":()=>ue,"std.smoothstep":()=>re}})&&e.f)({})),gl=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({rgb:f,w:a,ba:a,ac:f,aa:a}),"EdgeGlowAccum"),uV=v.fn([],gl)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(()=>{"use gpu";return gl({rgb:f(0,0,0),w:a(0),ba:a(0),ac:f(0,0,0),aa:a(0)})}),{v:2,name:void 0,ast:{params:[],body:[0,[[10,[6,"EdgeGlowAccum",[[104,{rgb:[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],w:[6,"d.f32",[[5,"0"]]],ba:[6,"d.f32",[[5,"0"]]],ac:[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],aa:[6,"d.f32",[[5,"0"]]]}]]]]]]},externals:{EdgeGlowAccum:()=>gl,"d.vec3f":()=>f,"d.f32":()=>a}})&&e.f)({}));var mV=v.fn([pt(x,8),a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t[Z(s)];return x(r.x,r.y,r.z,r.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colors"},{type:"i",name:"idx"}],body:[0,[[13,"c",[8,"colors",[6,"d.i32",["idx"]]]],[10,[6,"d.vec4f",[[7,"c","x"],[7,"c","y"],[7,"c","z"],[7,"c","w"]]]]]]},externals:{"d.i32":()=>Z,"d.vec4f":()=>x}})&&e.f)({})),pV=v.fn([gl,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(s,4),o=X(t.rgb.mul(t.ba),t.ac,f(r)),n=$(X(t.ba,t.aa,r),0,1);return x($(o.div(b(n,1e-4)),f(0),f(1)),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"st"},{type:"i",name:"bloom"}],body:[0,[[13,"k",[1,"bloom","*",[5,"4"]]],[13,"blendPremult",[6,[7,[7,"st","rgb"],"mul"],[[7,"st","ba"]]]],[13,"accumC",[6,"std.mix",["blendPremult",[7,"st","ac"],[6,"d.vec3f",["k"]]]]],[13,"accumA",[6,"std.clamp",[[6,"std.mix",[[7,"st","ba"],[7,"st","aa"],"k"]],[5,"0"],[5,"1"]]]],[13,"straight",[6,"std.clamp",[[6,[7,"accumC","div"],[[6,"std.max",["accumA",[5,"0.0001"]]]]],[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]],[10,[6,"d.vec4f",["straight","accumA"]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f,"std.clamp":()=>$,"std.max":()=>b,"d.vec4f":()=>x}})&&e.f)({}));var sp=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({crackIntensity:a,edgeNormal:l,displacedUV:l,disp:l}),"CrackGeom"),fV=v.fn([l,a,a,a,a,a,a,a],sp)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=l(s,r),u=l(o,n),m=l(i,d),p=t.sub(_),y=j(p),h=j(t.sub(u)),g=j(m),w=__tsover_sub(h,y),S=__tsover_mul(c,.005),T=__tsover_sub(1,re(0,S,w)),A=re(0,.01,g),P=__tsover_mul(T,A),U=p.div(b(y,1e-5));return sp({crackIntensity:P,edgeNormal:l(__tsover_mul(U.y,-1),U.x),displacedUV:t.sub(m),disp:m})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"nPosX"},{type:"i",name:"nPosY"},{type:"i",name:"sPosX"},{type:"i",name:"sPosY"},{type:"i",name:"dispX"},{type:"i",name:"dispY"},{type:"i",name:"crackWidth"}],body:[0,[[13,"nearestPos",[6,"d.vec2f",["nPosX","nPosY"]]],[13,"secondPos",[6,"d.vec2f",["sPosX","sPosY"]]],[13,"disp",[6,"d.vec2f",["dispX","dispY"]]],[13,"fromNearest",[6,[7,"uv","sub"],["nearestPos"]]],[13,"minDist1",[6,"std.length",["fromNearest"]]],[13,"minDist2",[6,"std.length",[[6,[7,"uv","sub"],["secondPos"]]]]],[13,"displacementMag",[6,"std.length",["disp"]]],[13,"edgeDiff",[1,"minDist2","-","minDist1"]],[13,"crackThreshold",[1,"crackWidth","*",[5,"0.005"]]],[13,"baseCrackIntensity",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"crackThreshold","edgeDiff"]]]],[13,"displacementFactor",[6,"std.smoothstep",[[5,"0"],[5,"0.01"],"displacementMag"]]],[13,"crackIntensity",[1,"baseCrackIntensity","*","displacementFactor"]],[13,"toNearest",[6,[7,"fromNearest","div"],[[6,"std.max",["minDist1",[5,"0.00001"]]]]]],[13,"edgeNormal",[6,"d.vec2f",[[1,[7,"toNearest","y"],"*",[4,"-",[5,"1"]]],[7,"toNearest","x"]]]],[13,"displacedUV",[6,[7,"uv","sub"],["disp"]]],[10,[6,"CrackGeom",[[104,{crackIntensity:"crackIntensity",edgeNormal:"edgeNormal",displacedUV:"displacedUV",disp:"disp"}]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.smoothstep":()=>re,"std.max":()=>b,CrackGeom:()=>sp}})&&e.f)({})),vV=v.fn([l,l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=s.mul(__tsover_mul(o,.01)),c=__tsover_mul(n,.005),_=s.mul(__tsover_mul(i,c)),u=d.add(_);return t.add(u.mul(r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"displacedUV"},{type:"i",name:"edgeNormal"},{type:"i",name:"crackIntensity"},{type:"i",name:"refractionStrength"},{type:"i",name:"chromaticSplit"},{type:"i",name:"channel"}],body:[0,[[13,"refractionOffset",[6,[7,"edgeNormal","mul"],[[1,"refractionStrength","*",[5,"0.01"]]]]],[13,"chromaticOffset",[1,"chromaticSplit","*",[5,"0.005"]]],[13,"chromaShift",[6,[7,"edgeNormal","mul"],[[1,"channel","*","chromaticOffset"]]]],[13,"offset",[6,[7,"refractionOffset","add"],["chromaShift"]]],[10,[6,[7,"displacedUV","add"],[[6,[7,"offset","mul"],["crackIntensity"]]]]]]]},externals:{}})&&e.f)({})),qb=.3/Math.hypot(.3,.6),Xb=.6/Math.hypot(.3,.6),yV=v.fn([x,x,x,x,a,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=f(s.x,r.y,o.z),_=t.xyz.mul(__tsover_sub(1,n)).add(c.mul(n)),u=j(i),m=__tsover_div(i.x,__tsover_add(u,.001)),p=__tsover_div(i.y,__tsover_add(u,.001)),y=__tsover_add(__tsover_mul(m,qb),__tsover_mul(p,Xb)),h=__tsover_add(1,__tsover_mul(y,d)),g=re(0,.02,u),w=__tsover_add(1,__tsover_mul(__tsover_sub(h,1),g));return x(_.mul(w),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"normalColor"},{type:"i",name:"rFinal"},{type:"i",name:"gFinal"},{type:"i",name:"bFinal"},{type:"i",name:"crackIntensity"},{type:"i",name:"disp"},{type:"i",name:"shardLighting"}],body:[0,[[13,"refractedRGB",[6,"d.vec3f",[[7,"rFinal","x"],[7,"gFinal","y"],[7,"bFinal","z"]]]],[13,"shadedRGB",[6,[7,[6,[7,[7,"normalColor","xyz"],"mul"],[[1,[5,"1"],"-","crackIntensity"]]],"add"],[[6,[7,"refractedRGB","mul"],["crackIntensity"]]]]],[13,"displacementLength",[6,"std.length",["disp"]]],[13,"tiltX",[1,[7,"disp","x"],"/",[1,"displacementLength","+",[5,"0.001"]]]],[13,"tiltY",[1,[7,"disp","y"],"/",[1,"displacementLength","+",[5,"0.001"]]]],[13,"normalDot",[1,[1,"tiltX","*","SHARD_LIGHT_DIR_X"],"+",[1,"tiltY","*","SHARD_LIGHT_DIR_Y"]]],[13,"lightingFactor",[1,[5,"1"],"+",[1,"normalDot","*","shardLighting"]]],[13,"lightingIntensity",[6,"std.smoothstep",[[5,"0"],[5,"0.02"],"displacementLength"]]],[13,"finalLighting",[1,[5,"1"],"+",[1,[1,"lightingFactor","-",[5,"1"]],"*","lightingIntensity"]]],[13,"finalRGB",[6,[7,"shadedRGB","mul"],["finalLighting"]]],[10,[6,"d.vec4f",["finalRGB",[7,"normalColor","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.length":()=>j,SHARD_LIGHT_DIR_X:()=>qb,SHARD_LIGHT_DIR_Y:()=>Xb,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({}));var{formatFloat:hV}=Wz;var xV=v.fn([l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=zx(s),d=l(__tsover_div(H(i),o),Y(i)),c=__tsover_mul(r,.1),_=d.mul(c);return t.add(_.mul(n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"angle"},{type:"i",name:"strength"},{type:"i",name:"aspect"},{type:"i",name:"channelOffset"}],body:[0,[[13,"angleRad",[6,"std.radians",["angle"]]],[13,"direction",[6,"d.vec2f",[[1,[6,"std.cos",["angleRad"]],"/","aspect"],[6,"std.sin",["angleRad"]]]]],[13,"scaledStrength",[1,"strength","*",[5,"0.1"]]],[13,"offsetBase",[6,[7,"direction","mul"],["scaledStrength"]]],[10,[6,[7,"uv","add"],[[6,[7,"offsetBase","mul"],["channelOffset"]]]]]]]},externals:{"std.radians":()=>zx,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({}));var Zw="rgba16float",Qw=16384;var gV=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({buffer:{storage:pt(x,Qw),access:"mutable"},params:{uniform:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cursorX:a,cursorY:a,mouseVelX:a,mouseVelY:a,dt:a,decay:a,intensity:a,radius:a,aspect:a}),"uniform")}}),"splatUpdateLayout"),bV=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({buffer:{storage:pt(x,Qw),access:"readonly"},dispTex:{storageTexture:Mo(Zw,"write-only")}}),"splatOutputLayout");var An=64,Rf=An*An,rp=An-1,xo=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({readBuf:{storage:pt(x,Rf),access:"readonly"},writeBuf:{storage:pt(x,Rf),access:"mutable"},params:{uniform:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cursorX:a,cursorY:a,dirX:a,dirY:a,clampedSpeed:a,dt:a,subDt:a,stiffness:a,dampFactor:a,radius:a,aspect:a}),"uniform")}}),"latticeLayout"),op=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({srcBuf:{storage:pt(x,Rf),access:"readonly"},dispTex:{storageTexture:Mo(Zw,"write-only")}}),"latticeOutputLayout"),wV=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";if(t>R(0)&&tR(0)&&s.01){let W=__tsover_div(__tsover_add(a(t),.5),a(An)),K=__tsover_div(__tsover_add(a(s),.5),a(An)),Q=C(__tsover_sub(W,r.cursorX),__tsover_mul(__tsover_sub(W,r.cursorX),r.aspect),r.aspect>=1),te=C(__tsover_div(__tsover_sub(K,r.cursorY),r.aspect),__tsover_sub(K,r.cursorY),r.aspect>=1),ee=__tsover_add(__tsover_mul(Q,Q),__tsover_mul(te,te)),he=__tsover_mul(r.radius,3);if(ee<__tsover_mul(he,he)){let Ee=ct(__tsover_mul(__tsover_div(ee,__tsover_mul(r.radius,r.radius)),-1)),Te=__tsover_mul(__tsover_mul(__tsover_mul(Ee,r.clampedSpeed),r.dt),2);D=__tsover_add(D,__tsover_mul(r.dirX,Te)),O=__tsover_add(O,__tsover_mul(r.dirY,Te))}}let L=$(__tsover_add(d,__tsover_mul(D,r.subDt)),-.5,.5),G=$(__tsover_add(c,__tsover_mul(O,r.subDt)),-.5,.5);xo.$.writeBuf[n]=x(L,G,D,O)}}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[11,[3,[3,[3,[1,"cx",">",[6,"d.u32",[[5,"0"]]]],"&&",[1,"cx","<",[6,"d.u32",["LATTICE_MAX"]]]],"&&",[1,"cy",">",[6,"d.u32",[[5,"0"]]]]],"&&",[1,"cy","<",[6,"d.u32",["LATTICE_MAX"]]]],[0,[[13,"p",[7,[7,"latticeLayout","$"],"params"]],[13,"gs",[6,"d.u32",["LATTICE_GRID"]]],[13,"idx",[1,[1,"cy","*","gs"],"+","cx"]],[13,"current",[8,[7,[7,"latticeLayout","$"],"readBuf"],"idx"]],[13,"dispX",[7,"current","x"]],[13,"dispY",[7,"current","y"]],[13,"velX",[7,"current","z"]],[13,"velY",[7,"current","w"]],[13,"nL",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,"idx","-",[6,"d.u32",[[5,"1"]]]]]],[13,"nR",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,"idx","+",[6,"d.u32",[[5,"1"]]]]]],[13,"nU",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,"idx","-","gs"]]],[13,"nD",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,"idx","+","gs"]]],[13,"nUL",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,[1,"idx","-","gs"],"-",[6,"d.u32",[[5,"1"]]]]]],[13,"nUR",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,[1,"idx","-","gs"],"+",[6,"d.u32",[[5,"1"]]]]]],[13,"nDL",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,[1,"idx","+","gs"],"-",[6,"d.u32",[[5,"1"]]]]]],[13,"nDR",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,[1,"idx","+","gs"],"+",[6,"d.u32",[[5,"1"]]]]]],[12,"fx",[1,[7,"p","stiffness"],"*",[1,[1,[1,[1,[7,"nL","x"],"-","dispX"],"+",[1,[7,"nR","x"],"-","dispX"]],"+",[1,[7,"nU","x"],"-","dispX"]],"+",[1,[7,"nD","x"],"-","dispX"]]]],[12,"fy",[1,[7,"p","stiffness"],"*",[1,[1,[1,[1,[7,"nL","y"],"-","dispY"],"+",[1,[7,"nR","y"],"-","dispY"]],"+",[1,[7,"nU","y"],"-","dispY"]],"+",[1,[7,"nD","y"],"-","dispY"]]]],[13,"shearK",[1,[7,"p","stiffness"],"*",[5,"0.35"]]],[2,"fx","=",[1,"fx","+",[1,"shearK","*",[1,[1,[1,[1,[7,"nUL","x"],"-","dispX"],"+",[1,[7,"nUR","x"],"-","dispX"]],"+",[1,[7,"nDL","x"],"-","dispX"]],"+",[1,[7,"nDR","x"],"-","dispX"]]]]],[2,"fy","=",[1,"fy","+",[1,"shearK","*",[1,[1,[1,[1,[7,"nUL","y"],"-","dispY"],"+",[1,[7,"nUR","y"],"-","dispY"]],"+",[1,[7,"nDL","y"],"-","dispY"]],"+",[1,[7,"nDR","y"],"-","dispY"]]]]],[2,"fx","=",[1,"fx","-",[1,[1,[7,"p","stiffness"],"*",[5,"0.1"]],"*","dispX"]]],[2,"fy","=",[1,"fy","-",[1,[1,[7,"p","stiffness"],"*",[5,"0.1"]],"*","dispY"]]],[12,"newVelX",[1,[1,"velX","*",[7,"p","dampFactor"]],"+",[1,"fx","*",[7,"p","subDt"]]]],[12,"newVelY",[1,[1,"velY","*",[7,"p","dampFactor"]],"+",[1,"fy","*",[7,"p","subDt"]]]],[11,[1,[7,"p","clampedSpeed"],">",[5,"0.01"]],[0,[[13,"cellX",[1,[1,[6,"d.f32",["cx"]],"+",[5,"0.5"]],"/",[6,"d.f32",["LATTICE_GRID"]]]],[13,"cellY",[1,[1,[6,"d.f32",["cy"]],"+",[5,"0.5"]],"/",[6,"d.f32",["LATTICE_GRID"]]]],[13,"ddx",[6,"std.select",[[1,"cellX","-",[7,"p","cursorX"]],[1,[1,"cellX","-",[7,"p","cursorX"]],"*",[7,"p","aspect"]],[1,[7,"p","aspect"],">=",[5,"1"]]]]],[13,"ddy",[6,"std.select",[[1,[1,"cellY","-",[7,"p","cursorY"]],"/",[7,"p","aspect"]],[1,"cellY","-",[7,"p","cursorY"]],[1,[7,"p","aspect"],">=",[5,"1"]]]]],[13,"distSq",[1,[1,"ddx","*","ddx"],"+",[1,"ddy","*","ddy"]]],[13,"influenceRadius",[1,[7,"p","radius"],"*",[5,"3"]]],[11,[1,"distSq","<",[1,"influenceRadius","*","influenceRadius"]],[0,[[13,"influence",[6,"std.exp",[[1,[1,"distSq","/",[1,[7,"p","radius"],"*",[7,"p","radius"]]],"*",[4,"-",[5,"1"]]]]]],[13,"forceMag",[1,[1,[1,"influence","*",[7,"p","clampedSpeed"]],"*",[7,"p","dt"]],"*",[5,"2"]]],[2,"newVelX","=",[1,"newVelX","+",[1,[7,"p","dirX"],"*","forceMag"]]],[2,"newVelY","=",[1,"newVelY","+",[1,[7,"p","dirY"],"*","forceMag"]]]]]]]]],[13,"newDispX",[6,"std.clamp",[[1,"dispX","+",[1,"newVelX","*",[7,"p","subDt"]]],[4,"-",[5,"0.5"]],[5,"0.5"]]]],[13,"newDispY",[6,"std.clamp",[[1,"dispY","+",[1,"newVelY","*",[7,"p","subDt"]]],[4,"-",[5,"0.5"]],[5,"0.5"]]]],[2,[8,[7,[7,"latticeLayout","$"],"writeBuf"],"idx"],"=",[6,"d.vec4f",["newDispX","newDispY","newVelX","newVelY"]]]]]]]]},externals:{"d.u32":()=>R,LATTICE_MAX:()=>rp,latticeLayout:()=>xo,LATTICE_GRID:()=>An,"d.f32":()=>a,"std.select":()=>C,"std.exp":()=>ct,"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})).$name("springLatticeStep"),TV=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_add(__tsover_mul(s,R(An)),t),o=op.$.srcBuf[r];jr(op.$.dispTex,Ge(t,s),x(o.x,o.y,0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"idx",[1,[1,"cy","*",[6,"d.u32",["LATTICE_GRID"]]],"+","cx"]],[13,"cell",[8,[7,[7,"latticeOutputLayout","$"],"srcBuf"],"idx"]],[6,"std.textureStore",[[7,[7,"latticeOutputLayout","$"],"dispTex"],[6,"d.vec2u",["cx","cy"]],[6,"d.vec4f",[[7,"cell","x"],[7,"cell","y"],[5,"0"],[5,"1"]]]]]]]},externals:{"d.u32":()=>R,LATTICE_GRID:()=>An,latticeOutputLayout:()=>op,"std.textureStore":()=>jr,"d.vec2u":()=>Ge,"d.vec4f":()=>x}})&&e.f)({})).$name("springLatticeOutput");var Hb=Le,SV=v.fn([l,a,l,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(t.x,s),t.y),c=l(__tsover_mul(r.x,s),__tsover_sub(1,r.y)),_=__tsover_sub(d.x,c.x),u=__tsover_sub(d.y,c.y),m=__tsover_mul(o,Hb),p=H(m),y=Y(m),h=__tsover_add(__tsover_mul(_,p),__tsover_mul(u,y)),g=__tsover_sub(__tsover_mul(u,p),__tsover_mul(_,y)),w=__tsover_add(__tsover_div(h,__tsover_mul(n,2)),.5),S=__tsover_add(__tsover_div(g,__tsover_mul(i,2)),.5);return f(w,S,__tsover_mul(__tsover_mul(__tsover_mul(De(0,w),De(w,1)),De(0,S)),De(S,1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"},{type:"i",name:"rotationDeg"},{type:"i",name:"halfW"},{type:"i",name:"halfH"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dx",[1,[7,"aspectUV","x"],"-",[7,"centerPos","x"]]],[13,"dy",[1,[7,"aspectUV","y"],"-",[7,"centerPos","y"]]],[13,"rotRad",[1,"rotationDeg","*","OBF_DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rdx",[1,[1,"dx","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dx","*","sinR"]]],[13,"localU",[1,[1,"rdx","/",[1,"halfW","*",[5,"2"]]],"+",[5,"0.5"]]],[13,"localV",[1,[1,"rdy","/",[1,"halfH","*",[5,"2"]]],"+",[5,"0.5"]]],[13,"insideMask",[1,[1,[1,[6,"std.step",[[5,"0"],"localU"]],"*",[6,"std.step",["localU",[5,"1"]]]],"*",[6,"std.step",[[5,"0"],"localV"]]],"*",[6,"std.step",["localV",[5,"1"]]]]],[10,[6,"d.vec3f",["localU","localV","insideMask"]]]]]},externals:{"d.vec2f":()=>l,OBF_DEG_TO_RAD:()=>Hb,"std.cos":()=>H,"std.sin":()=>Y,"std.step":()=>De,"d.vec3f":()=>f}})&&e.f)({})),yc=it,jb=Le,AV=v.fn([l,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(s,jb),c=H(d),_=Y(d),u=__tsover_add(__tsover_mul(t.x,__tsover_mul(_,-1)),__tsover_mul(t.y,c)),m=H(__tsover_add(__tsover_mul(__tsover_mul(u,r),yc),o)),p=X(-1.15,1.15,$(n,0,1));return re(__tsover_sub(p,i),__tsover_add(p,i),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"angleDeg"},{type:"i",name:"frequency"},{type:"i",name:"reliefPhase"},{type:"i",name:"level"},{type:"i",name:"aa"}],body:[0,[[13,"angleRad",[1,"angleDeg","*","HP_DEG_TO_RAD"]],[13,"c",[6,"std.cos",["angleRad"]]],[13,"s",[6,"std.sin",["angleRad"]]],[13,"w",[1,[1,[7,"p","x"],"*",[1,"s","*",[4,"-",[5,"1"]]]],"+",[1,[7,"p","y"],"*","c"]]],[13,"phase",[1,[1,[1,"w","*","frequency"],"*","HP_TAU"],"+","reliefPhase"]],[13,"v",[6,"std.cos",["phase"]]],[13,"thr",[6,"std.mix",[[4,"-",[5,"1.15"]],[5,"1.15"],[6,"std.clamp",["level",[5,"0"],[5,"1"]]]]]],[10,[6,"std.smoothstep",[[1,"thr","-","aa"],[1,"thr","+","aa"],"v"]]]]]},externals:{HP_DEG_TO_RAD:()=>jb,"std.cos":()=>H,"std.sin":()=>Y,HP_TAU:()=>yc,"std.mix":()=>X,"std.clamp":()=>$,"std.smoothstep":()=>re}})&&e.f)({})),MV=v.fn([l,l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=t.sub(s),c=j(d),_=tt(d.y,d.x),u=H(__tsover_add(__tsover_mul(__tsover_sub(__tsover_mul(c,r),__tsover_mul(_,__tsover_div(1,yc))),yc),o)),m=X(-1.15,1.15,$(n,0,1));return re(__tsover_sub(m,i),__tsover_add(m,i),u)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"c"},{type:"i",name:"frequency"},{type:"i",name:"reliefPhase"},{type:"i",name:"level"},{type:"i",name:"aa"}],body:[0,[[13,"dv",[6,[7,"p","sub"],["c"]]],[13,"r",[6,"std.length",["dv"]]],[13,"theta",[6,"std.atan2",[[7,"dv","y"],[7,"dv","x"]]]],[13,"phase",[1,[1,[1,[1,"r","*","frequency"],"-",[1,"theta","*",[1,[5,"1"],"/","HP_TAU"]]],"*","HP_TAU"],"+","reliefPhase"]],[13,"v",[6,"std.cos",["phase"]]],[13,"thr",[6,"std.mix",[[4,"-",[5,"1.15"]],[5,"1.15"],[6,"std.clamp",["level",[5,"0"],[5,"1"]]]]]],[10,[6,"std.smoothstep",[[1,"thr","-","aa"],[1,"thr","+","aa"],"v"]]]]]},externals:{"std.length":()=>j,"std.atan2":()=>tt,HP_TAU:()=>yc,"std.cos":()=>H,"std.mix":()=>X,"std.clamp":()=>$,"std.smoothstep":()=>re}})&&e.f)({}));var PV=ut({pos:l,dir:l,spd:a}).$name("AgentPose");var EV=ut({rhat:l,strength:a,phi:a}).$name("AgentFieldSample");var kV=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return C(C(__tsover_mul(Gs(__tsover_add(__tsover_mul(t,2.3987),.517)),3.141592653589793),a(0),s>.5),a(1.5707963267948966),s>1.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fi"},{type:"i",name:"restMode"}],body:[0,[[13,"randAng",[1,[6,"noise.hash11",[[1,[1,"fi","*",[5,"2.3987"]],"+",[5,"0.517"]]]],"*",[5,"3.141592653589793"]]],[13,"a",[6,"std.select",["randAng",[6,"d.f32",[[5,"0"]]],[1,"restMode",">",[5,"0.5"]]]]],[10,[6,"std.select",["a",[6,"d.f32",[[5,"1.5707963267948966"]]],[1,"restMode",">",[5,"1.5"]]]]]]]},externals:{"noise.hash11":()=>Gs,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})).$name("agentRestAngle");var $V=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return se(t,f(.299,.587,.114))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),UV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(1,se(t,f(.299,.587,.114)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),CV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t.x}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[7,"rgb","x"]]]]},externals:{}})&&e.f)({})),RV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t.y}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[7,"rgb","y"]]]]},externals:{}})&&e.f)({})),zV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t.z}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[7,"rgb","z"]]]]},externals:{}})&&e.f)({})),GV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(b(t.x,t.y),t.z),o=oe(oe(t.x,t.y),t.z);return __tsover_sub(r,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[13,"mx",[6,"std.max",[[6,"std.max",[[7,"rgb","x"],[7,"rgb","y"]]],[7,"rgb","z"]]]],[13,"mn",[6,"std.min",[[6,"std.min",[[7,"rgb","x"],[7,"rgb","y"]]],[7,"rgb","z"]]]],[10,[1,"mx","-","mn"]]]]},externals:{"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),YV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return s}),{v:2,name:void 0,ast:{params:[{type:"i",name:"_rgb"},{type:"i",name:"a"}],body:[0,[[10,"a"]]]},externals:{}})&&e.f)({}));var LV=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(t,0),o=b(s,0);return __tsover_add(oe(b(t,s),0),be(__tsover_add(__tsover_mul(r,r),__tsover_mul(o,o))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"d2"},{type:"i",name:"wz"}],body:[0,[[13,"ox",[6,"std.max",["d2",[5,"0"]]]],[13,"oz",[6,"std.max",["wz",[5,"0"]]]],[10,[1,[6,"std.min",[[6,"std.max",["d2","wz"]],[5,"0"]]],"+",[6,"std.sqrt",[[1,[1,"ox","*","ox"],"+",[1,"oz","*","oz"]]]]]]]]},externals:{"std.max":()=>b,"std.min":()=>oe,"std.sqrt":()=>be}})&&e.f)({})).$name("shapeFieldExtrudeZ");var sL=4*Math.PI,wd=[{scale:2,offsets:[[5.2,1.3],[1.7,9.2]],reach:.25},{scale:1.5,offsets:[[8.3,2.8],[3.1,7.4]],reach:.2}],r_=$o({name:"FlowingGradient",role:"generator",boundingBoxDeclaration:{aspectRatio:null,supportsResizeFit:!0},category:"Textures",description:"Liquid silk gradient with organic flowing color bands",acceptsUVContext:!0,animatedTime:{speed:"speed"},extraFields:{convA:{schema:f,initial:[0,0,0]},convB:{schema:f,initial:[0,0,0]},convC:{schema:f,initial:[0,0,0]},convD:{schema:f,initial:[0,0,0]}},props:{colorA:{default:"#0a0015",transform:ts,description:"Deep background color",ui:{type:"color",label:"Color A",group:"Colors"}},colorB:{default:"#6b17e6",transform:ts,description:"Primary accent color",ui:{type:"color",label:"Color B",group:"Colors"}},colorC:{default:"#ff4d6a",transform:ts,description:"Secondary accent color",ui:{type:"color",label:"Color C",group:"Colors"}},colorD:{default:"#ff6b35",transform:ts,description:"Tertiary accent color",ui:{type:"color",label:"Color D",group:"Colors"}},colorSpace:{default:"oklch",transform:ir,compileTime:!0,description:"Color space for color interpolation",ui:{type:"select",options:Ho,label:"Color Space",group:"Colors"}},speed:{default:1,description:"Animation speed",ui:{type:"range",min:0,max:10,step:.1,label:"Speed",group:"Effect"}},distortion:{default:.5,description:"Organic distortion intensity",ui:{type:["range","map"],min:0,max:2,step:.1,label:"Distortion",group:"Effect"}},seed:{default:0,description:"Random seed for variation",ui:{type:["range","map"],min:0,max:100,step:1,label:"Seed",group:"Effect"}}},paint:e=>{let{uv:t,viewport:s}=bd(e),r=ye(mr(s.member("x"),xa(s.member("y"),1e-6)),"aspect"),o=ye(N(uo(e),.075),"flowTime"),n=ye(N(Dt(zt("seed"),e),.17),"flowSeed"),i=ye(Dt(zt("distortion"),e),"flowStrength"),d=ye(fs(t,.5),"flowCentred"),c=ye(N(N(Sn(tr($e(N(d.member("x"),.8),N(o,.4)),fs(N(d.member("y"),.8),N(o,.25)),n)),sL),i),"flowAngle"),_=ye(p1(Jt(d.member("x"),mr(d.member("y"),r)),t_(c),Uo(c)),"flowSpun"),u=ye(Jt(_.member("x"),N(_.member("y"),r)),"flowRot"),m=N(o,2),p=ye($e(u.member("x"),N(mr(Uo($e(N(u.member("y"),5),m)),50),i)),"flowShearX"),y=ye(Ty({at:Jt(p,$e(u.member("y"),N(mr(Uo($e(N(p,7.5),m)),25),i))),scale:wd[0].scale,z:$e(N(o,.5),n),offsets:wd[0].offsets,reach:wd[0].reach,strength:i}),"flowWarp1"),h=ye($e(N(o,.3),n),"flowTz"),g=ye(Ty({at:y.member("xy"),scale:wd[1].scale,z:h,offsets:wd[1].offsets,reach:wd[1].reach,strength:i}),"flowWarp2"),w=Sn(tr(N(g.member("x"),1.8),N(g.member("y"),1.8),h)),S=ye(nd($e(N(y.member("z"),.5),.5),1.5),"flowHardness"),T=ye(Co(.5,.008,S),"flowEdge"),A=ye(Ss(N(T,-1),T,w),"flowT1"),P=ye(Ss(N(T,-1),T,y.member("w")),"flowT2"),U=ye(kw({a:zt("colorA"),b:zt("colorB"),c:zt("colorC"),d:zt("colorD"),space:zt("colorSpace")})(A,P,e),"flowBase"),D=G=>fs(1,m1(fs(N(G,2),1))),O=N(xa(D(A),D(P)),S),L=N($e(N($e(N(g.member("z"),.5),.5),.12),.94),$e(1,N(O,.35)));return ni(gr(N(U.member("rgb"),L),ln(0),ln(1)),U.member("a"))}});var o_=$o({name:"Godrays",role:"generator",boundingBoxDeclaration:{aspectRatio:null,supportsResizeFit:!0},category:"Textures",description:"Volumetric light rays emanating from a point",acceptsUVContext:!0,animatedTime:{speed:"speed"},props:{center:{default:{x:0,y:0},transform:ho,description:"The center point of the god rays",ui:{type:"position",label:"Center",group:"Position"}},density:{default:.3,description:"Frequency of ray sectors",ui:{type:["range","map"],min:0,max:1,step:.1,label:"Density",group:"Effect"}},intensity:{default:.8,description:"Ray visibility within sectors",ui:{type:["range","map"],min:0,max:1,step:.1,label:"Intensity",group:"Effect"}},spotty:{default:1,description:"Density of spots on rays (higher = more spots)",ui:{type:["range","map"],min:0,max:1,step:.1,label:"Spotty",group:"Effect"}},speed:{default:.5,description:"Animation speed of the rays",ui:{type:"range",min:0,max:2,step:.1,label:"Speed",group:"Animation"}},rayColor:{default:"#4283fb",transform:ts,description:"Color of the light rays",ui:{type:"color",label:"Ray Color",group:"Colors"}},backgroundColor:{default:"transparent",transform:ts,description:"Background color",ui:{type:"color",label:"Background Color",group:"Colors"}}},paint:Rw({color:zt("rayColor"),background:zt("backgroundColor"),coverage:Uw($w(zt("center")),Cw({density:zt("density"),intensity:zt("intensity"),spotty:zt("spotty")}))})});var{isMobileGpuViewport:rL}=yd,oL=JSON.stringify({type:"sphere3D",radius:.35});function Jw(e,t,s,r,o,n,i){let d=ye(fs(N(e,s),N(t,r)),"ex"),c=ye($e(N(e,r),N(t,s)),"ey"),_=ye(Jt(d,c),"p"),u=ye(Ss(-.7,.85,c),"sky"),m=N(N(u,u),.4),p=ye(N(o,1.05),"r0"),y=Ss(p,N(p,.2),gd(fs(_,Jt($e(0,n),.55))));m=$e(m,N(N(y,1.75),i));let h=ye(N(o,1.25),"r1"),g=Ss(h,N(h,.2),gd(fs(_,Jt($e(-.45,n),-.4))));m=$e(m,N(N(g,1.15),i));let w=ye(N(o,1.15),"r2"),S=Ss(w,N(w,.2),gd(fs(_,Jt($e(.55,n),.1))));return $e(m,N(N(S,1.1),i))}var n_=$o({name:"LiquidMetal",role:"shapeEffect",species:"custom",boundingBoxDeclaration:i1,category:"Shape Effects",description:"Flowing liquid chrome \u2014 a molten reflective surface that wraps the shape, sweeping a procedural studio reflection across animated folds with crisp speculars and prismatic edges",animatedTime:{speed:"speed"},...h1({pattern:"raw",surface:(e,t)=>{let{uniforms:s}=t,r=uo(t),o=rL(),n=x1(e,t,{scale:s.scale}),{sdf:i,pxH:d}=n,c=g1(e,n,{bevelWidth:s.bevelWidth,bevelShape:s.bevelShape}),_=zw(e,n),u=ye(N(s.ripple,2.6),"freq"),m=ye(N(r,.12),"flowT"),p=ye(Jt(N(_.member("x"),u),N(_.member("y"),u)),"q"),y=N(s.warp,.9),h=ye(Dw($e(p,N(Fw(N(p,.6),m),y)),.62),"hg"),g=ye(N(s.turbulence,.5),"relief"),w=Lw(c,N(N(h.member("x"),g),-1),N(N(h.member("y"),g),-1)),S=ye(f1(b1(t,n),w),"R"),T=ye(s.environment,"envStr"),A=ye(gr(s.sharpness,0,1),"sharp"),P=ye(Co(.5,.18,A),"keyRad"),U=ye(N(Uo(N(r,.07)),.05),"drift"),D=s_(s.envRotation,"env"),O=D.member("x"),L=D.member("y"),G=ye(T1(s_(s.lightAngle,"light"),-.7).member("H"),"Hh"),W=ye(Iw(gr($e($e(N(w.member("x"),G.member("x")),N(w.member("y"),G.member("y"))),N(w.member("z"),G.member("z"))),0,1),A,ni(60,900,.4,1.4)),"spec"),K=ye($e(Jw(S.member("x"),S.member("y"),O,L,P,U,T),W),"lumG"),Q,te;if(o)Q=K,te=K;else{let Te=fs(1,gr(N(w.member("z"),-1),0,1)),Ue=ye(N(N(s.dispersion,.09),$e(.4,N(Te,1.3))),"dth"),Me=ye($e(Jw($e(S.member("x"),N(S.member("y"),Ue)),fs(S.member("y"),N(S.member("x"),Ue)),O,L,P,U,T),W),"lumBoffset");te=Me,Q=fs(N(K,2),Me)}let ee=ye(s.darkColor.member("rgb"),"dark"),he=ye(s.lightColor.member("rgb"),"light"),Ee=ni(Co(ee.member("x"),he.member("x"),gr(Q,0,1.8)),Co(ee.member("y"),he.member("y"),gr(K,0,1.8)),Co(ee.member("z"),he.member("z"),gr(te,0,1.8)),w1(n,s.edgeSoftness));return v1(y1(i,d),Ee,xr,"liquidMetal")}}),props:{origin:{default:"center",description:"Reference edge the center position is measured from (center default). Lets you pin the shape relative to a corner or the canvas centre.",ui:{type:"origin",label:"Origin",group:"Position"}},center:{default:{x:.5,y:.5},transform:ho,description:"Center position of the metal shape",ui:{type:"position",label:"Center",group:"Position",units:["%","px"]}},scale:{default:1,description:"Scale of the metal shape (1 = default size)",ui:{type:"range",min:.1,max:3,step:.01,label:"Scale",group:"Position"}},rotation:{default:0,description:"Rotation of the metal shape in degrees",ui:{type:"range",min:0,max:360,step:1,label:"Rotation",group:"Position"}},lightColor:{default:"#eef0f6",transform:ts,description:"The bright tone of the chrome highlights",ui:{type:"color",label:"Light Color",group:"Metal"}},darkColor:{default:"#141414",transform:ts,description:"The dark tone the reflection falls to in shadow \u2014 recolor for tinted metal (gold, steel, copper\u2026)",ui:{type:"color",label:"Dark Color",group:"Metal"}},turbulence:{default:1,description:"How molten the surface is \u2014 the depth of the flowing folds that bend the reflection",ui:{type:"range",min:0,max:1.5,step:.01,label:"Turbulence",group:"Liquid"}},ripple:{default:4,description:"Scale of the molten folds \u2014 higher = smaller, busier ripples",ui:{type:"range",min:.5,max:8,step:.01,label:"Ripple Scale",group:"Liquid"}},warp:{default:1.5,description:"Swirl of the flow \u2014 domain-warps the folds into liquid curls",ui:{type:"range",min:0,max:1.5,step:.01,label:"Swirl",group:"Liquid"}},speed:{default:.5,description:"Speed of the molten flow and the slowly drifting reflection. 0 pauses.",ui:{type:"range",min:0,max:4,step:.01,label:"Speed",group:"Liquid"}},...xd({environment:{default:1.5,description:"Strength of the reflected studio lighting \u2014 the softboxes seen across the metal",ui:{group:"Surface"}},envRotation:{ui:{group:"Surface"}}}),sharpness:{default:.6,description:"Tightness of the specular highlights \u2014 1 = razor chrome glints, 0 = soft satin",ui:{type:"range",min:0,max:1,step:.01,label:"Sharpness",group:"Surface"}},...xd({dispersion:{description:"Prismatic color fringing along the reflection edges",ui:{group:"Surface"}},lightAngle:{default:265,description:"Direction of the key light for the specular glints, in degrees",ui:{group:"Surface"}}}),bevelWidth:{default:.05,description:"Width of the edge bevel, relative to the shape \u2014 thin for machined jewellery edges, wide for soft pillowed metal",ui:{type:["range","map"],min:.005,max:.2,step:.001,label:"Bevel Width",group:"Surface"}},bevelShape:{default:0,description:"Bevel profile \u2014 0 = one smooth round fillet, 1 = machined: a steep outer fillet, a chamfer plateau and an inner knee, each catching its own line of light",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Bevel Profile",group:"Surface"}},...xd({edgeSoftness:{ui:{group:"Surface"}}}),shape:{default:oL,description:"Serialized shape configuration (JSON)",ui:{type:"shape",label:"Shape",group:"Shape"}},shapeSdfUrl:{default:"",compileTime:!0,description:"URL to a pre-generated SDF .bin file"},shapeType:{default:"",compileTime:!0,description:"Active SDF shape type"}}});var nL=3.141592653589793,a_=$o({name:"Marble",role:"generator",boundingBoxDeclaration:{aspectRatio:null,supportsResizeFit:!0},category:"Textures",description:"Classic marble swirl and vein texture using noise-warped sine waves",acceptsUVContext:!0,animatedTime:{speed:"speed"},props:{colorA:{default:"#ffffff",transform:ts,description:"Base background color of the marble",ui:{type:"color",label:"Base",group:"Colors"}},colorB:{default:"#3a2d54",transform:ts,description:"Secondary marble tone",ui:{type:"color",label:"Tone",group:"Colors"}},colorC:{default:"#0f0f0f",transform:ts,description:"Deepest marble color",ui:{type:"color",label:"Depth",group:"Colors"}},scale:{default:2,description:"Scale and density of the marble vein pattern",ui:{type:["range","map"],min:.1,max:10,step:.1,label:"Scale",group:"Effect"}},turbulence:{default:10,description:"Amount of noise-driven distortion applied to the veins",ui:{type:["range","map"],min:0,max:50,step:.5,label:"Turbulence",group:"Effect"}},speed:{default:.05,description:"Animation speed",ui:{type:"range",min:0,max:.25,step:.005,label:"Speed",group:"Animation"}},seed:{default:0,description:"Random seed for pattern variation",ui:{type:["range","map"],min:0,max:100,step:1,label:"Seed",group:"Effect"}},colorSpace:{default:"linear",transform:ir,compileTime:!0,description:"Color space for color interpolation",ui:{type:"select",options:Ho,label:"Color Space",group:"Colors"}}},paint:e=>{let{uv:t,viewport:s}=bd(e),r=ye(mr(s.member("x"),xa(s.member("y"),1e-6)),"aspect"),o=ye(uo(e),"marbleTime"),n=Dt(zt("seed"),e),i=ye(N(Jt(N(t.member("x"),r),t.member("y")),Dt(zt("scale"),e)),"plane"),d=i.member("x"),c=i.member("y"),_=ye($e($e(ga(Jt($e(d,n),$e(c,o))),N(ga(Jt($e(N(d,2),N(n,1.7)),$e(N(c,2),N(o,.7)))),.5)),N(ga(Jt($e(N(d,4),N(n,3.1)),$e(N(c,4),N(o,1.3)))),.25)),"marbleTurb"),u=ye($e(N(Uo($e(N(d,nL),N(_,Dt(zt("turbulence"),e)))),.5),.5),"veinT"),m=$e(N(ga(Jt($e(N(c,1.5),N(n,2)),N(d,1.2))),.3),.5);return Tw({a:zt("colorA"),b:zt("colorB"),c:zt("colorC"),space:zt("colorSpace")})(Ss(.3,.6,u),N(Ss(.6,.9,u),m),e)}});var S1=1.6,aL=.48,iL=.125,dL=3,eT=1.9,cL=1.4,_L=.045,lL=9,uL=[{color:"#1a0533",position:0},{color:"#6d2fd1",position:.26},{color:"#e04b9e",position:.52},{color:"#ff8c42",position:.76},{color:"#ffdf8e",position:1}],i_=$o({name:"MeshGradient",role:"generator",boundingBoxDeclaration:{aspectRatio:null,supportsResizeFit:!0},category:"Textures",description:"Flowing mesh gradient of soft drifting color swaths whose seams wrap through the palette",acceptsUVContext:!0,animatedTime:{speed:"speed"},extraFields:{meshAnchors:{schema:pt(x,4),initial:new Array(16).fill(0)}},props:{colorA:{default:"#1a0533",transform:ts,description:"First gradient color (two-color fallback when stops are cleared)",ui:{type:"color",label:"Color A",group:"Colors"}},colorB:{default:"#ffdf8e",transform:ts,description:"Second gradient color (two-color fallback when stops are cleared)",ui:{type:"color",label:"Color B",group:"Colors"}},stops:{...dw(),default:uL},colorSpace:{default:"oklab",transform:ir,compileTime:!0,description:"Color space for color interpolation",ui:{type:"select",options:Ho,label:"Color Space",group:"Colors"}},count:{default:5,description:"Number of color points scattered across the canvas",ui:{type:"range",min:2,max:8,step:1,label:"Points",group:"Effect"}},smoothness:{default:2,description:"How smoothly the color points blend into each other",ui:{type:["range","map"],min:0,max:5,step:.01,label:"Smoothness",group:"Effect"}},variation:{default:.35,recompile:bw(0),description:"Varies edge softness across the canvas \u2014 some color boundaries crisp, others diffuse",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Variation",group:"Effect"}},swirl:{default:.3,description:"Vortex rotation that spirals the field around the frame centre \u2014 negative values spin the other way",ui:{type:["range","map"],min:-1,max:1,step:.01,label:"Swirl",group:"Effect"}},drift:{default:.5,description:"How far the color points wander from their home positions",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Drift",group:"Effect"}},wrapping:{default:0,description:"Wraps the palette back through itself where colors meet \u2014 banded seams where the field pinches, smooth elsewhere",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Wrapping",group:"Effect"}},speed:{default:1,description:"Animation speed",ui:{type:"range",min:0,max:10,step:.1,label:"Speed",group:"Animation"}},seed:{default:0,description:"Random seed for the point layout and palette assignment",ui:{type:["range","map"],min:0,max:100,step:1,label:"Seed",group:"Effect"}}},paint:e=>{let{uv:t,viewport:s}=bd(e),r=ye(mr(s.member("x"),xa(s.member("y"),1e-6)),"aspect"),o=ye(uo(e),"meshTime"),n=Dt(zt("seed"),e),i=ye(Jt(fs(N(t.member("x"),r),N(r,.5)),fs(t.member("y"),.5)),"meshCentred"),d=ye(N(N(-dL,Dt(zt("swirl"),e)),Ss(0,1,gd(i))),"swirlAngle"),c=ye(p1(i,t_(d),Uo(d)),"meshRot"),_=ye(Jt($e(c.member("x"),N(r,.5)),$e(c.member("y"),.5)),"meshSwirled"),u=ye(Pw({at:tr(N(_.member("x"),S1),N(_.member("y"),S1),N(n,7.31)),time:N(o,iL),amount:aL,levels:_o()?1:2}),"meshWarp"),m=ye(Jt(mr(u.member("x"),S1),mr(u.member("y"),S1)),"meshQ"),p=mr(8,$e(Dt(zt("smoothness"),e),.5)),y=e.propValues.variation,h=y!==void 0&&y!==0?gr(N(p,wy(N(N(Sn(tr(N(m.member("x"),eT),N(m.member("y"),eT),$e(N(n,3.17),N(o,_L)))),Dt(zt("variation"),e)),cL))),.6,16):gr(p,.6,16),g=Aw(e,{count:zt("count"),seed:zt("seed"),drift:zt("drift"),field:"meshAnchors"});return jw(Ew(Mw({t:Sw({at:m,count:Dt(zt("count"),e),seed:n,drift:Dt(zt("drift"),e),aspect:r,time:o,softness:h,anchors:g}),cycles:$e(1,N(Dt(zt("wrapping"),e),lL))}),e),e)}});var{isMobileGpuViewport:mL,VOLUMETRIC_FIELD_EXTRA_FIELDS:pL}=yd,{ANALYTIC_SDF_EXTRA_FIELDS:fL}=n1,vL=JSON.stringify({type:"sphere3D",radius:.35}),yL=6,hL=4,d_=$o({name:"Nebula",role:"shapeEffect",species:"custom",boundingBoxDeclaration:i1,category:"Shape Effects",description:"A volumetric gas nebula sealed inside polished glass; billowing emission clouds with hollow dark cavities and hot glowing cores, star fields drifting at real depth behind the gas, all refracted through the curved walls of the shape and dressed with studio reflections",animatedTime:{speed:"speed"},...h1({pattern:"raw",surface:(e,t)=>{let{uniforms:s}=t,r=uo(t),o=mL()?hL:yL,n=t.propValues.colorSpace??0,i,d;if(n!==0){let Fe="";t.onBeforeRender(()=>{let st=["veilColor","gasColor","coreColor"].map(Ve=>t.getCpuValue(Ve));if(st.some(Ve=>!Ve))return;let Xe=st.map(Ve=>`${Ve.x},${Ve.y},${Ve.z}`).join("|");if(Xe===Fe)return;Fe=Xe;let We=["convVeil","convGas","convCore"];st.forEach((Ve,Ft)=>{let Gt=s1(Ve.x,Ve.y,Ve.z,n);t.setExtraField(We[Ft],[Gt[0],Gt[1],Gt[2]])})});let Ie=Bv[n]??t1;i=st=>we(Ie,"mixPreconvertedColors",[s.convVeil,s.convGas,s.veilColor.member("a"),s.gasColor.member("a"),st]),d=(st,Xe,We)=>{let Ve=ye(we(fa,"mixInSpace",[s.convVeil,s.veilColor.member("a"),s.convGas,s.gasColor.member("a"),st]),`${We}AB`);return we(Ie,"mixPreconvertedColors",[Ve.member("conv"),s.convCore,Ve.member("alpha"),s.coreColor.member("a"),Xe])}}else i=Fe=>we(Bo,"mixColors",[s.veilColor,s.gasColor,Fe]),d=(Fe,Ie)=>we(Bo,"mixColors",[we(Bo,"mixColors",[s.veilColor,s.gasColor,Fe]),s.coreColor,Ie]);let c=x1(e,t,{scale:s.scale}),{sdf:_,pxH:u}=c,m=g1(e,c,{bevelWidth:Zr(.09),bevelShape:Zr(0)}),p=b1(t,c),y=Ow(e,m,ye(N(s.refraction,.16),"bend")),{x:h,y:g}=y.centered,w=Ww(e),S=Nw(c,e,{origin:y,view:p,shear:.55,lengthScale:.9}),T=S.length,A=ye(N(s.gasScale,3.1),"freq"),P=ye(N(r,.14),"drift"),U=ye(N(s.seed,7.31),"seedOff"),D=ye(N(Bw(N(y.x,311.7),N(y.y,173.3)),.15/o),"jit"),O=ye(N(ga(Jt($e($e(N(h,1.3),N(P,.6)),N(U,.37)),$e(N(g,1.3),N(U,.61)))),.5),"macro"),L=ye(Co(-.35,.5,s.cavity),"cav"),G=ye(N(s.billow,.55),"billowAmt"),W=ye(s.coreColor.member("rgb"),"coreRgb"),K=ye(s.veilColor.member("rgb"),"veilRgb"),Q=ye(N($e(.3,N(T,.9)),6/o),"eGain"),te=ye(N(N($e(.5,N(T,2.2)),s.density),3/o),"aGain"),ee=Xw({steps:o,entry:S.entry,length:S.length,jitter:D,emissionGain:Q,hint:"gasAcc"},({i:Fe,t:Ie,z:st})=>{let Xe=S.at(st),We=qw({x:Xe.x,y:Xe.y,z:st},{frequency:A,drift:P,seed:U,billow:G,hint:`${Fe}`}),Ve=Ss(0,.11,N(T,Math.min(Ie,1-Ie))),Ft=fs(1,gr(N(m1(We.fine),1.6),0,1)),Gt=ye(N(N(Ss(0,.5,fs($e(We.density,O),L)),Ve),$e(.65,N(Ft,.7))),`dens${Fe}`),os=ye(N(N(Ss(.45,.75,We.mid),Ve),s.dust),`dust${Fe}`),bs=ye(d(Ss(.05,.75,Gt),Ss(.68,1,Gt),`cB${Fe}`),`cB${Fe}`).member("rgb"),ls=1-Ie*.45,As=N(Ss(-.7,.3,We.density),N(.05,Ve));return{emit:$e($e(N(bs,N(Gt,ls)),N(W,N(nd(Gt,3),N(s.glow,1.2*ls)))),N(K,N(As,ls))),absorb:$e(ln(N(Gt,te)),N(tr(1.5,1,.55),N(os,N(te,2.2))))}}),he=ye(N(s.starScale,34),"starFreq"),Ee=ye(N(s.twinkle,.5),"twinkleAmt"),Te=My(S,{depth:1.1,pan:w,panRate:1.3,hint:"far"}),Ue=Ay(ye(Jt(N(Te.x,he),N(Te.y,he)),"farP"),{variationFreq:.13,radius:[.004,.013],keep:[.35,.75],brightness:[.3,1.2],shimmer:Fe=>Sy(r,Fe,{amount:Ee,rate:1.7,spread:40}),gain:s.stars,tint:{from:[.72,.82,1],to:[1,.92,.82],gain:1.6},hint:"starFar"}),Me=My(S,{depth:.25,pan:w,panRate:.55,hint:"near"}),Pe=N(he,.56),Re=Ay(ye(Jt($e(N(Me.x,Pe),7.3),$e(N(Me.y,Pe),2.9)),"nearP"),{variationFreq:.11,radius:[.003,.01],keep:[.45,.8],brightness:[.35,1.3],shimmer:Fe=>Sy(r,Fe,{amount:Ee,rate:2.3,spread:34}),gain:s.stars,tint:{from:[.75,.85,1],to:[1,.95,.88],gain:1.8},hint:"starNear"}),de=s_(s.lightAngle,"light"),je=ye(gr(gw(m,T1(de,-.7).member("H")),0,1),"ndh"),fe=ye(f1(p,m),"R"),Ke=ye(Gw(fe.member("x"),fe.member("y"),{rotation:de,keyRadius:.2,drift:0,strength:s.environment,skyGain:.32}),"envLum"),Ze=Vw(je,{core:[140,1.3],halo:[22,.14],softness:s.highlightSoftness,gain:s.highlight}),at=Yw(Hw([{paint:i(Zr(.25)).member("rgb"),opacity:.06,behind:ee.transmittance},ee.color,{paint:Ue.rgb,behind:ee.transmittance},{paint:Re.rgb,behind:Co(ee.transmittance,ln(1),.35)},{paint:N(tr(.85,.92,1.08),Ke),opacity:.38},N(tr(1,.98,.95),Ze)]));return v1(y1(_,u),ni(at,w1(c,s.edgeSoftness)),xr,"nebula")}}),extraFields:{...pL,...fL,convVeil:{schema:f,initial:[0,0,0]},convGas:{schema:f,initial:[0,0,0]},convCore:{schema:f,initial:[0,0,0]}},props:{origin:{default:"center",description:"Reference edge the center position is measured from (center default). Lets you pin the shape relative to a corner or the canvas centre.",ui:{type:"origin",label:"Origin",group:"Position"}},center:{default:{x:.5,y:.5},transform:ho,description:"Center position of the nebula shape",ui:{type:"position",label:"Center",group:"Position",units:["%","px"]}},scale:{default:1,description:"Scale of the nebula shape (1 = default size)",ui:{type:["range","map"],min:.1,max:3,step:.01,label:"Scale",group:"Position"}},rotation:{default:0,description:"Rotation of the nebula shape in degrees",ui:{type:"range",min:0,max:360,step:1,label:"Rotation",group:"Position"}},coreColor:{default:"#ffd9b0",transform:ts,description:"The hot color the densest gas cores glow with \u2014 the embedded newborn stars",ui:{type:"color",label:"Core Color",group:"Nebula"}},gasColor:{default:"#ff5e7a",transform:ts,description:"The main emission color of the gas body \u2014 H-alpha rose by default",ui:{type:"color",label:"Gas Color",group:"Nebula"}},veilColor:{default:"#3a5bdb",transform:ts,description:"The color of the thin outer veils and the deep-space background behind the gas",ui:{type:"color",label:"Veil Color",group:"Nebula"}},colorSpace:{default:"oklab",transform:ir,compileTime:!0,description:"Color space the veil \u2192 gas \u2192 core ramps blend in",ui:{type:"select",options:Ho,label:"Color Space",group:"Nebula"}},density:{default:1,description:"Optical density of the gas \u2014 how strongly clouds occlude the stars and gas behind them",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Density",group:"Nebula"}},cavity:{default:0,description:"How hollowed-out the nebula is \u2014 0 fills the volume with cloud banks, high carves large dark voids between them",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Cavity",group:"Nebula"}},dust:{default:.55,description:"Cold dark dust lanes threading the gas \u2014 absorb-only tendrils that redden the clouds and stars behind them",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Dust",group:"Nebula"}},gasScale:{default:.4,description:"Feature size of the gas \u2014 higher = finer, busier cloud detail",ui:{type:["range","map"],min:.1,max:1,step:.01,label:"Gas Scale",group:"Nebula"}},billow:{default:.6,description:"Turbulent folding of the clouds \u2014 0 = smooth drifting banks, 1 = heavily churned billows",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Billow",group:"Nebula"}},glow:{default:0,description:"Hot emission bloom of the dense cores",ui:{type:["range","map"],min:0,max:2,step:.01,label:"Glow",group:"Nebula"}},seed:{default:0,description:"Random seed \u2014 pans the gas field to a different region of noise space for a new cloud composition",ui:{type:["range","map"],min:0,max:100,step:1,label:"Seed",group:"Nebula"}},stars:{default:.07,description:"Brightness of the star fields drifting at depth behind and inside the gas",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Stars",group:"Stars"}},starScale:{default:1,description:"Density of the star fields \u2014 higher = smaller, busier stars",ui:{type:["range","map"],min:.25,max:3,step:.01,label:"Star Scale",group:"Stars"}},twinkle:{default:.35,description:"Intensity of the star twinkle (0 = steady stars, 1 = full shimmer)",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Twinkle",group:"Stars"}},...xd({refraction:{description:"How strongly the curved glass walls bend the interior seen near the edges"},environment:{default:.7,description:"Strength of the studio softboxes reflected in the polished glass surface"},highlight:{default:1.15,description:"Sharp key-light glint on the glass",ui:{group:"Glass"}},highlightSoftness:{ui:{group:"Glass"}},lightAngle:{description:"Direction of the key light and reflected studio, in degrees"},edgeSoftness:!0}),speed:{default:.3,description:"Speed of the slowly churning gas and twinkling stars. 0 freezes the nebula.",ui:{type:"range",min:0,max:4,step:.01,label:"Speed",group:"Animation"}},shape:{default:vL,description:"Serialized shape configuration (JSON)",ui:{type:"shape",label:"Shape",group:"Shape"}},shapeSdfUrl:{default:"",compileTime:!0,description:"URL to a pre-generated SDF .bin file"},shapeType:{default:"",compileTime:!0,description:"Active SDF shape type"}}});var xL=[r_,o_,n_,a_,i_,d_].map(e=>({definition:e})),gL=e=>xL.find(t=>t.definition.name===e);var bL=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(e1({in:{vertexIndex:_r.vertexIndex},out:{pos:_r.position,uv:lt}})`{ + const pos = array(vec2f(-1, -1), vec2f(3, -1), vec2f(-1, 3)); + const uv = array(vec2f(0, 1), vec2f(2, 1), vec2f(0, -1)); + + return Out(vec4f(pos[in.vertexIndex], 0, 1), uv[in.vertexIndex]); +}`,"fullScreenTriangle");o2.disable("external-omitted");var wL=["float32-filterable","timestamp-query"],ky=new WeakMap,Ey=new WeakMap,$y=new WeakSet,Td=null,TL=new WeakSet;async function SL(e={}){if(e.device&&!$y.has(e.device)){let r=e.device,o=ky.get(r);o||(o=v.initFromDevice({device:r}),ky.set(r,o));let n=tT(o,e.onDeviceLost);return{root:o,device:r,adapter:e.adapter,createdDevice:!1,release:n}}e.device&&Ma("[gpu] injected GPU device was lost \u2014 falling back to the shared default device");let t=await AL(),s=tT(t.root,e.onDeviceLost);return{root:t.root,device:t.device,adapter:t.adapter,createdDevice:!1,release:s}}async function AL(){for(;;){let t=Td;if(!t)break;let s=await t.catch(()=>null);if(s&&!TL.has(t)&&!$y.has(s.device))return s;Td===t&&(Td=null)}let e=ML();Td=e;try{return await e}catch(t){throw Td===e&&(Td=null),t}}async function ML(){if(typeof navigator>"u"||!navigator.gpu)throw new mi("unsupported","[gpu] WebGPU is not available in this environment (navigator.gpu is undefined).");let e;try{e=await v.init({adapter:{powerPreference:"high-performance"},device:{optionalFeatures:wL}})}catch(t){let s=await ih();throw new mi(s.supported?"no-device":s.reason??"init-failed",void 0,{cause:t})}if(!e.device)throw new mi("no-device","[gpu] adapter returned no device.");return ky.set(e.device,e),{root:e,device:e.device,createdDevice:!0}}function PL(e,t,s={}){return e.configureContext({canvas:t,alphaMode:"premultiplied",...s})}function tT(e,t){let s=e.device,r=Ey.get(s);if(r||(r=new Set,Ey.set(s,r),e.device.lost.then(n=>{if($y.add(s),n.reason!=="destroyed")for(let i of[...Ey.get(s)??[]])i(n)})),!t)return()=>{};let o=r;return o.add(t),()=>o.delete(t)}function EL(){let e={value:0,advance(t,s){e.value+=t*s}};return e}var sT=new WeakMap;function ii(e){let t=sT.get(e);return t||(t=EL(),sT.set(e,t)),t}var kL=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({time:a,viewportSize:l,logicalViewportSize:l,aspect:a,pointer:l,pointerActive:a}),"SystemUniforms");v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return vr(t,s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewportSize"}],body:[0,[[10,[6,"std.mul",["uv","viewportSize"]]]]]},externals:{"std.mul":()=>vr}})&&e.f)({}));v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_div(t.x,t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"viewportSize"}],body:[0,[[10,[1,[7,"viewportSize","x"],"/",[7,"viewportSize","y"]]]]]},externals:{}})&&e.f)({}));function $L(e){let t=2166136261,s=e.join("");for(let r=0;r>>0).toString(16).padStart(8,"0")}:${s.length}`}function UL(e={}){let t=e.maxSize??4,s=e.dispose,r=new Map,o=0,n=null,i=null;function d(_){_.lastUsed=++o}function c(){for(;r.size>t;){let _=null;for(let u of r.values())u.hash===n||u.hash===i||(!_||u.lastUsed<_.lastUsed)&&(_=u);if(!_)break;r.delete(_.hash),s?.(_.value,_.hash)}}return{getOrBuild(_,u){let m=r.get(_);if(m)return d(m),_===n?i=null:i=_,m.value;let p=u(),y={hash:_,value:p,lastUsed:++o};return r.set(_,y),n===null?(n=_,i=null):i=_,c(),p},markReady(_){if(_!==i)return;let u=r.get(_);u&&(n=_,i=null,d(u),c())},get renderValue(){let _=n??i;return _?r.get(_)?.value??null:null},get activeHash(){return n},get pendingHash(){return i},release(_){let u=r.get(_);u&&(r.delete(_),s?.(u.value,_),n===_&&(n=null),i===_&&(i=null))},has(_){return r.has(_)},get size(){return r.size},clear(){for(let _ of r.values())s?.(_.value,_.hash);r.clear(),n=null,i=null}}}var Sd="passManager";function CL(e,t){let{textureManager:s,dispatcher:r}=t,o=t.canvasFormat??RL(),n=t.rttFormat??"rgba16float",i=e.device?.limits?.maxSampledTexturesPerShaderStage,d=t.maxSampledTextures??(typeof i=="number"&&i>0?i:16),c=t.fullScreenTriangle??bL,_=new Map,u=new Set,m=null;function p(){let G=s.samplers;try{return e.createBindGroup(Nv,{linearClamp:G.linearClamp,nearestClamp:G.nearestClamp,linearRepeat:G.linearRepeat,nearestRepeat:G.nearestRepeat})}catch(W){Is(`[${Sd}] failed to build sampler bind group:`,W);return}}function y(G,W){let K=new Set;for(let Q of G.textures)if(Q.kind==="rtt")if(K.add(Q.key),_.has(Q.key))_.get(Q.key).resize(W.width,W.height);else{let te=s.createRenderTexture({width:W.width,height:W.height,format:n,label:`rtt:${Q.key}`});_.set(Q.key,te),u.add(te)}for(let[Q,te]of[..._])K.has(Q)||(te.destroy(),u.delete(te),_.delete(Q))}function h(G,W){if(!G.textureLayout||G.reads.length===0)return;let K={};for(let Q of G.reads){let te=_.get(Q),ee=W?.[Q],he=te??ee;if(!he){Is(`[${Sd}] pass "${G.entry}" reads unknown texture "${Q}"`);return}K[Q]=he.texture}G.reads.length>d&&Ma(`[${Sd}] pass samples ${G.reads.length} textures (> device limit ~${d}); composition may fail on this device.`);try{return e.createBindGroup(G.textureLayout,K)}catch(Q){Is(`[${Sd}] failed to build texture bind group:`,Q);return}}function g(G,W){return e.createRenderPipeline({vertex:c,fragment:G.entry,targets:{format:W}})}function w(G,W){if(!G.externalLayout||G.externalReads.length===0)return;let K=G.externalReads;if(K.length===1){let te=W.get(K[0]);if(!te){Is(`[${Sd}] external read "${K[0]}" has no registered source`);return}return s.createExternalTextureBinding({layout:G.externalLayout,entryKey:K[0],getSource:te})}let Q=null;return{update(){let te={};for(let ee of K){let he=W.get(ee)?.();if(!he)return Q=null,null;try{te[ee]=e.device.importExternalTexture({source:he})}catch{return Q=null,null}}return Q=e.createBindGroup(G.externalLayout,te),Q},get current(){return Q},destroy(){Q=null}}}function S(G,W,K,Q){let te=W.kind==="canvas"?o:n,ee=G.reads.filter(Ee=>K?.[Ee]),he=new Map(ee.map(Ee=>[Ee,K[Ee].texture]));return{fragment:G,pipeline:g(G,te),textureBindGroup:h(G,K),externalBinding:w(G,Q),target:W,mediaReads:ee,mediaSnapshot:he}}function T(G,W,K,Q){y(G,K);for(let Te of G.computeSteps)Te.bindInputs?.(Ue=>_.get(Ue)??Q?.[Ue]);let te=p(),ee=new Map;for(let Te of G.externalTextures)ee.set(Te.key,Te.getSource);let he=G.rttPasses.map(Te=>S(Te.fragment,{kind:"rtt",key:Te.textureKey},Q,ee)),Ee=S(G.finalPass,{kind:"canvas"},Q,ee);m={ir:G,uniformBindGroup:W,samplerBindGroup:te,computeSteps:G.computeSteps,rttPasses:he,finalPass:Ee,size:K,mediaResources:Q}}function A(G,W){let K=G.pipeline;if(m?.uniformBindGroup&&(K=K.with(m.uniformBindGroup)),G.mediaReads&&G.mediaReads.length>0&&m?.mediaResources){let Q=!1;for(let te of G.mediaReads)m.mediaResources[te].texture!==G.mediaSnapshot.get(te)&&(Q=!0);if(Q){G.textureBindGroup=h(G.fragment,m.mediaResources);for(let te of G.mediaReads)G.mediaSnapshot.set(te,m.mediaResources[te].texture)}}if(G.textureBindGroup&&(K=K.with(G.textureBindGroup)),G.fragment.usesSamplers&&m?.samplerBindGroup&&(K=K.with(m.samplerBindGroup)),G.fragment.externalReads.length>0){let Q=G.externalBinding?.update()??null;if(!Q){G.externalSkipLogged||(Ma(`[${Sd}] external texture not ready \u2014 skipping pass (${G.fragment.externalReads.join(", ")})`),G.externalSkipLogged=!0);return}K=K.with(Q)}K.withColorAttachment({view:W}).draw(3)}function P(G,W,K){if(m){for(let Q of m.computeSteps){let te=Q.getComputeNodes(W);te&&te.length&&r.dispatch(te)}K?.(),U(),A(m.finalPass,G)}}function U(){if(m)for(let G of m.rttPasses){let W=_.get(G.target.key);W&&A(G,D(W))}}function D(G){return e.unwrap(G.texture).createView()}function O(G){if(!(!G.fragment.textureLayout||G.fragment.reads.length===0)&&(G.textureBindGroup=h(G.fragment,m?.mediaResources),G.mediaReads&&G.mediaSnapshot&&m?.mediaResources))for(let W of G.mediaReads)G.mediaSnapshot.set(W,m.mediaResources[W].texture)}function L(G,W){let K=!1;for(let Q of _.values())Q.resize(G,W)&&(K=!0);if(!m)return K;if(m.size={width:G,height:W},!K)return!1;for(let Q of m.computeSteps)Q.bindInputs?.(te=>_.get(te)??m.mediaResources?.[te]);for(let Q of m.rttPasses)O(Q);return O(m.finalPass),!0}return{setComposition:T,render:P,repaintRtt:U,resize:L,get textureCount(){return u.size},get passCount(){return m?m.rttPasses.length+1:0},dispose(){for(let G of[...u])G.destroy();u.clear(),_.clear(),m=null}}}function RL(){return typeof navigator<"u"&&navigator.gpu?navigator.gpu.getPreferredCanvasFormat():"bgra8unorm"}function rT(e){return`${e}-srgb`}function zL(e){let t=new Set;function s(y,...h){return e.createTexture.call(e,y).$usage(...h)}let r,o,n,i,d={get linearClamp(){return r??=e.createSampler({magFilter:"linear",minFilter:"linear",mipmapFilter:"linear",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"})},get nearestClamp(){return o??=e.createSampler({magFilter:"nearest",minFilter:"nearest",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"})},get linearRepeat(){return n??=e.createSampler({magFilter:"linear",minFilter:"linear",mipmapFilter:"linear",addressModeU:"repeat",addressModeV:"repeat"})},get nearestRepeat(){return i??=e.createSampler({magFilter:"nearest",minFilter:"nearest",addressModeU:"repeat",addressModeV:"repeat"})}};function c(y,h,g,w,S){let T={texture:y,width:h,height:g,format:w,write(A){y.write(A)},unwrap(){return e.unwrap(y)},createSrgbView(){if(S)return e.unwrap(y).createView({format:rT(w)})},generateMipmaps(){y.generateMipmaps?.()},destroy(){t.has(T)&&(y.destroy(),t.delete(T))}};return t.add(T),T}function _(y){let{width:h,height:g,srgb:w=!1,mipLevelCount:S}=y,T=y.format??"rgba8unorm";return c(s({size:[h,g],format:T,...w?{viewFormats:[rT(T)]}:{},...S?{mipLevelCount:S}:{}},"sampled","render"),h,g,T,w)}function u(y){let{width:h,height:g,format:w,data:S}=y,T=c(s({size:[h,g],format:w},"sampled"),h,g,w,!1);return S&&T.write(S),T}function m(y){let h=y.format??"rgba16float",{mipLevelCount:g}=y,w=y.width,S=y.height;function T(P,U){return c(s({size:[P,U],format:h,...g?{mipLevelCount:g}:{}},"sampled","render"),P,U,h,!1)}let A=T(w,S);return{get texture(){return A.texture},get width(){return w},get height(){return S},format:h,write(P){A.write(P)},unwrap(){return A.unwrap()},createSrgbView(){return A.createSrgbView()},generateMipmaps(){A.generateMipmaps()},resize(P,U){return P===w&&U===S?!1:(A.destroy(),w=P,S=U,A=T(P,U),!0)},destroy(){A.destroy()}}}function p(y){let{layout:h,entryKey:g,getSource:w,staticEntries:S={}}=y,T=null;return{update(){let A=w();if(!A)return T=null,null;let P;try{P=e.device.importExternalTexture({source:A})}catch{return T=null,null}return T=e.createBindGroup(h,{...S,[g]:P}),T},get current(){return T},destroy(){T=null}}}return{samplers:d,createMediaTexture:_,createDataTexture:u,createRenderTexture:m,createExternalTextureBinding:p,get textureCount(){return t.size},destroy(){for(let y of[...t])y.destroy();t.clear()}}}function GL(e,t){let s=gL(e)?.definition?.naturalSizeKey;if(!s)return null;if("fixed"in s)return s.fixed||null;let r=t[s.fromProp];return typeof r=="string"&&r?r:null}function YL(e,t,s){if(!e||typeof e!="object")return null;let r=(i,d)=>!i||typeof i!="object"||typeof i.value!="number"?null:i.unit==="px"?i.value:i.value*d,o=r(e.width,t),n=r(e.height,s);return o!=null&&n!=null&&o>0&&n>0?{widthPx:o,heightPx:n}:null}function LL(e,t,s){let{type:r,decl:o,props:n,boundingBox:i}=e;if(!(t>0)||!(s>0)||e.requiresChild)return null;if(o?.computeBounds){let u=o.computeBounds(n,t,s);return u.widthPx>0&&u.heightPx>0?{widthPx:u.widthPx,heightPx:u.heightPx}:null}let d=o?.propBindings;if(d?.width&&d?.height){let u=Uc(d.width,n[d.width.prop],t,s),m=Uc(d.height,n[d.height.prop],t,s);return u>0&&m>0?{widthPx:u,heightPx:m}:null}let c=YL(i,t,s);if(c)return c;let _=GL(r,n);if(_){let u=v7(_);if(u)return{widthPx:u.width,heightPx:u.height}}return null}function IL(e,t){return e==null?0:typeof e=="number"?e:e.unit==="px"?e.value:e.value*t}function Uy(e,t,s){return!e||e.mode!=="column"&&e.mode!=="row"?null:{mode:e.mode,gapPx:Math.max(0,IL(e.gap,e.mode==="column"?s:t)),align:e.align??"center",anchor:e.anchor??"center",anchorOffsetX:e.anchorOffset?.x??0,anchorOffsetY:e.anchorOffset?.y??0}}var oT=e=>({ox:e.includes("left")?"start":e.includes("right")?"end":"center",oy:e.includes("top")?"start":e.includes("bottom")?"end":"center"}),A1=(e,t,s,r)=>e==="start"?r:e==="end"?s-t-r:(s-t)/2+r;function M1(e,t){let s=0,r=0;for(let o of t){let n=e.mode==="column"?o.size.heightPx:o.size.widthPx,i=e.mode==="column"?o.size.widthPx:o.size.heightPx;s+=n,r=Math.max(r,i)}return t.length>1&&(s+=e.gapPx*(t.length-1)),e.mode==="column"?{widthPx:r,heightPx:s}:{widthPx:s,heightPx:r}}function DL(e,t,s,r){let o=new Map;if(t.length===0)return o;let n=M1(e,t),{ox:i,oy:d}=oT(e.anchor),c=A1(i,n.widthPx,s,e.anchorOffsetX),_=A1(d,n.heightPx,r,e.anchorOffsetY),u=(p,y)=>e.align==="start"?0:e.align==="end"?y-p:(y-p)/2,m=0;for(let p of t)if(e.mode==="column"){let y=c+u(p.size.widthPx,n.widthPx)+p.size.widthPx/2,h=_+m+p.size.heightPx/2;o.set(p.id,{centerXPx:y,centerYPx:h}),m+=p.size.heightPx+e.gapPx}else{let y=c+m+p.size.widthPx/2,h=_+u(p.size.heightPx,n.heightPx)+p.size.heightPx/2;o.set(p.id,{centerXPx:y,centerYPx:h}),m+=p.size.widthPx+e.gapPx}return o}function FL(e,t,s){let r=Uy(e.layout,t,s);if(r){let o=Cy(e,t,s);return o.length===0?null:M1(r,o)}return LL({type:e.componentName,decl:e.decl,props:e.props,boundingBox:e.boundingBox,requiresChild:e.requiresChild,availableWidthPx:t},t,s)}function Cy(e,t,s){let r=[];for(let o of e.children){if(o.visible===!1||o.absolute)continue;let n=FL(o,t,s);n&&r.push({id:o.id,size:n,view:o})}return r}function BL(e,t,s){if(!e.decl?.computeBounds)return{x:0,y:0};let r=e.decl.computeBounds(e.props,t,s),o=typeof e.props.center?.x=="number"?e.props.center.x:.5,n=typeof e.props.center?.y=="number"?e.props.center.y:.5;return{x:r.centerXPx-o*t,y:r.centerYPx-n*s}}function WL(e,t,s,r,o,n,i,d){let c=Uy(e.layout,o,n);if(c){nT(e,c,o,n,i,{centerXPx:s,centerYPx:r},d);return}let _=e.decl?.propBindings?.x?.prop??e.decl?.propBindings?.y?.prop;if(_){if(!e.positionDriven){let u=BL(e,o,n);i.push({kind:"position",id:e.id,prop:_,value:{x:(s-u.x)/o,y:(r-u.y)/n}})}return}i.push({kind:"box",id:e.id,xPx:s-t.widthPx/2,yPx:r-t.heightPx/2,widthPx:t.widthPx,heightPx:t.heightPx})}function nT(e,t,s,r,o,n,i,d){let c=d??Cy(e,s,r);if(c.length===0)return;let _=t;if(n){let m=M1(t,c);_={...t,anchor:"top-left",anchorOffsetX:n.centerXPx-m.widthPx/2,anchorOffsetY:n.centerYPx-m.heightPx/2}}if(i){let m=M1(_,c),{ox:p,oy:y}=oT(_.anchor);i.set(e.id,{leftPx:A1(p,m.widthPx,s,_.anchorOffsetX),topPx:A1(y,m.heightPx,r,_.anchorOffsetY),widthPx:m.widthPx,heightPx:m.heightPx})}let u=DL(_,c,s,r);for(let m of c){let p=u.get(m.id);p&&WL(m.view,m.size,p.centerXPx,p.centerYPx,s,r,o,i)}}function OL(e,t,s,r){let o=[],n=i=>{let d=Uy(i.layout,t,s);if(d){let c=Cy(i,t,s);nT(i,d,t,s,o,void 0,r,c);let _=new Set(c.map(u=>u.id));for(let u of i.children)u.visible!==!1&&(_.has(u.id)||n(u));return}for(let c of i.children)c.visible!==!1&&n(c)};for(let i of e)i.visible!==!1&&n(i);return o}var VL=class{frameTimesMs=[];frameTimesIndex=0;frameTimesCount=0;maxSamples=60;targetFrameTime=16.67;jankFrameCount=0;totalFrameCount=0;memorySnapshots=[];memorySnapshotIndex=0;maxMemorySnapshots=300;nodeCount=0;rttNodeCount=0;lastCpuTime=null;lastGpuTime=null;isRendering=!1;lastFrameTimestamp=0;frameIntervals=[];frameIntervalsIndex=0;frameIntervalsCount=0;pushToCircularBuffer(e,t,s,r,o){return e.lengththis.targetFrameTime&&this.jankFrameCount++;let s=performance.now();if(this.lastFrameTimestamp>0){let r=s-this.lastFrameTimestamp,o=this.pushToCircularBuffer(this.frameIntervals,r,this.frameIntervalsIndex,this.frameIntervalsCount,this.maxSamples);this.frameIntervalsIndex=o.index,this.frameIntervalsCount=o.count}this.lastFrameTimestamp=s,this.recordMemorySnapshot()}recordCpuTime(e){this.lastCpuTime=e}recordGpuTime(e){this.lastGpuTime=e}updateNodeCounts(e,t){this.nodeCount=e,this.rttNodeCount=t}setRendering(e){this.isRendering=e}recordMemorySnapshot(){if(!performance.memory)return;let e=performance.now(),t=performance.memory.usedJSHeapSize;if(this.memorySnapshots.lengthr+o,0)/e.length,s=0;for(let r=0;r=0&&this.sortBuffer[n]>o;)this.sortBuffer[n+1]=this.sortBuffer[n],n--;this.sortBuffer[n+1]=o}let s=Math.floor(t*.99);return this.sortBuffer[Math.min(s,t-1)]}calculateComplexityScore(){return this.nodeCount+this.rttNodeCount*10}calculateIntensityScore(){let e=this.getBufferValues(this.frameTimesMs,this.frameTimesCount),t=e.length;if(t===0)return{score:0,label:"N/A"};let s=e.reduce((u,m)=>u+m,0)/t,r=Math.min(s/16.67*100,100),o=this.calculateComplexityScore(),n=Math.min(o/100*100,100),i=0;this.lastGpuTime!==null&&(i=Math.min(this.lastGpuTime/16.67*100,100));let d=this.lastGpuTime!==null?{frame:.4,gpu:.4,complexity:.2}:{frame:.7,gpu:0,complexity:.3},c=Math.round(r*d.frame+i*d.gpu+n*d.complexity),_;return c<=20?_="Very Light":c<=40?_="Light":c<=60?_="Medium":c<=80?_="Heavy":_="Very Heavy",{score:Math.min(c,100),label:_}}getStats(e){let t=this.getBufferValues(this.frameTimesMs,this.frameTimesCount),s=this.getBufferValues(this.frameIntervals,this.frameIntervalsCount),r=t.length,o=s.length>0?1e3/(s.reduce((A,P)=>A+P,0)/s.length):0,n=r>0?t.reduce((A,P)=>A+P,0)/r:0,i=r>0?Math.min(...t):0,d=r>0?Math.max(...t):0,c=this.calculateP99(t),_=this.calculateStdDev(t),u=this.totalFrameCount>0?this.jankFrameCount/this.totalFrameCount*100:0,m=performance.memory,p=m?m.usedJSHeapSize/(1024*1024):null,y=this.calculateMemoryGrowthRate(),h=n>0?n/this.targetFrameTime*100:0,g=e?.render?.calls??null,w=e?.programs?.length??null,S=e?.memory?.textures??null,T=this.calculateIntensityScore();return{fps:Math.round(o),avgFrameTime:Math.round(n*100)/100,minFrameTime:Math.round(i*100)/100,maxFrameTime:Math.round(d*100)/100,p99FrameTime:Math.round(c*100)/100,stdDevFrameTime:Math.round(_*100)/100,jankCount:this.jankFrameCount,jankPercent:Math.round(u*10)/10,nodeCount:this.nodeCount,rttNodeCount:this.rttNodeCount,complexityScore:this.calculateComplexityScore(),memoryUsedMB:p!==null?Math.round(p*100)/100:null,memoryGrowthRate:y!==null?Math.round(y*1e3)/1e3:null,cpuTime:this.lastCpuTime!==null?Math.round(this.lastCpuTime*100)/100:null,gpuTime:this.lastGpuTime!==null?Math.round(this.lastGpuTime*100)/100:null,budgetUsed:Math.round(h*10)/10,drawCalls:g,shaderPrograms:w,textureCount:S,intensityScore:T.score,intensityLabel:T.label,isRendering:this.isRendering}}reset(){this.frameTimesMs.length=0,this.frameTimesIndex=0,this.frameTimesCount=0,this.frameIntervals.length=0,this.frameIntervalsIndex=0,this.frameIntervalsCount=0,this.lastFrameTimestamp=0,this.jankFrameCount=0,this.totalFrameCount=0,this.memorySnapshots.length=0,this.memorySnapshotIndex=0,this.sortBuffer.length=0,this.lastCpuTime=null,this.lastGpuTime=null}},NL=32,qL=5,XL=(()=>{let e=0,t=new Set,s=(_,u)=>{t.forEach(m=>{try{m[_](u)}catch(p){Is("[Shaders] Error in pointer handler:",p)}})},r=_=>s("onMouseMove",_),o=_=>s("onTouchMove",_),n=_=>s("onMouseDown",_),i=_=>s("onTouchStart",_),d=()=>s("onMouseUp"),c=()=>s("onTouchEnd");return{register(_){return t.add(_),e++,e===1&&typeof window<"u"&&(window.addEventListener("mousemove",r),window.addEventListener("touchmove",o),window.addEventListener("mousedown",n,!0),window.addEventListener("touchstart",i,!0),window.addEventListener("mouseup",d,!0),window.addEventListener("touchend",c,!0)),()=>{t.delete(_),e--,e===0&&typeof window<"u"&&(window.removeEventListener("mousemove",r),window.removeEventListener("touchmove",o),window.removeEventListener("mousedown",n,!0),window.removeEventListener("touchstart",i,!0),window.removeEventListener("mouseup",d,!0),window.removeEventListener("touchend",c,!0))}}}})();function HL(e){if(!e)return!1;let t=e;if(typeof e=="string")try{t=JSON.parse(e)}catch{return!1}if(!t||typeof t!="object")return!1;for(let s in t){let r=t[s];if(r&&typeof r=="object"&&r.type==="mouse")return!0}return!1}function aT(){let e=null,t=null,s=null,r=null,o=null,n=null,i=!1,d=!1,c=!1,_=null,u=new Map,m=null,p=new Map,y=[],h=[],g=UL({maxSize:4,dispose:M=>Wy(M)}),w=new Set,S=null,T=null,A=!0,P=0,U=0,D=0,O=0,L=1,G=8192,W=0,K=0,Q=!1,te=()=>D||P||1,ee=()=>O||U||1,he=!0,Ee=!1,Te=!1,Ue=0,Me=0,Pe=0,Re=null,de=null,je=-10,fe=-10,Ke=!1,Ze=!1,at=null,Fe=!1,Ie=null,st=null,Xe=null,We=null,Ve=null,Ft=null,Gt=!1,os="p3-linear",bs="linear",ls=!1,As=null,vs=null,ys=!1,Ks=!1,yr=null,Ur=!1,Ms=null,Cr=null,hr=!1,mo=null,po=null,Rr=0,nr=0,zr=new VL,Ps={deltaTime:0,pointer:{x:-10,y:-10,seen:!1},pointerActive:!1,dimensions:{width:0,height:0}},Gr=G7(()=>Ad()),Vo=M=>M.replace(/[^a-zA-Z0-9_]/g,"_"),Qr=M=>{let E=p.get(M);if(!E)return[];let k=[];for(let V of E){let I=u.get(V);I&&k.push(I)}return k},ci=M=>{let E=Vo(M);for(let[k,V]of u)if(V.metadata.id===E)return k;return null},ba=(M,E)=>{if(E==="center")return;let k=M.boundingBoxDeclaration;if(!k)return;let V={};for(let[I,J]of Object.entries(M.uniforms))V[I]=J._rawDimensional!==void 0?J._rawDimensional:J.value;return li(M,V.shapeSdfUrl),vy(k,V,te(),ee())},_i=new WeakMap,li=(M,E)=>{if(typeof E!="string"||!E||$7(E))return;let k=_i.get(M)??new Set;_i.set(M,k),!k.has(E)&&(k.add(E),a1(E,()=>{k.delete(E),u.get(M.id)===M&&(F(M),Yt()&&Bt(),vo())}))},F=M=>{let E=M.boundingBoxDeclaration,k=M.extraDimProps,V=hd(E,k);if(!V)return;let I=M.uniforms.origin?.value??"center",J=ba(M,I),_e=[...V.positionProps,...V.sizeProps.keys()];for(let Se of _e){let ke=M.uniforms[Se];if(!ke||ke._rawDimensional===void 0)continue;let Ne=Qc(E,Se,ke._rawDimensional,I,te(),ee(),k,J);ke.value=Ne,Ta(M,Se,Ne)}},le=(M,E,k)=>{if(typeof k=="number")return k;let V=M.uniforms.origin?.value??"center",I=Qc(M.boundingBoxDeclaration,E,k,V,te(),ee(),M.extraDimProps);return typeof I=="number"?I:k?.value??0},ae=()=>{let{width:M,height:E}=Sa();return M/Math.max(1,E)},ne=M=>{let E=M.metadata.transform;return{offsetX:E?.offsetX??0,offsetY:E?.offsetY??0,rotation:E?.rotation??0,scale:E?.scale??1,anchorX:E?.anchorX??.5,anchorY:E?.anchorY??.5,aspectRatio:ae()}},ie=M=>{let E=M.metadata.boundingBox;if(!E)return null;let k=Ov(E,te(),ee());return{centerX:k.centerX,centerY:k.centerY,halfWidth:k.halfWidthUV,halfHeight:k.halfHeightUV,cornerRadius:k.cornerRadiusUV,rotation:k.rotation,aspectRatio:ae()}},ge=M=>!!M.metadata.boundingBox&&!!M.boundingBoxDeclaration&&!r1(M.metadata.boundingBox),Ye=M=>{let E=M.boundingBoxDeclaration;if(!E||!M.uniforms||!E.computeBounds&&!E.propBindings)return null;let k={};for(let[ke,Ne]of Object.entries(M.uniforms))k[ke]=Ne._rawDimensional!==void 0?Ne._rawDimensional:Ne.value;let V=vy(E,k,te(),ee());if(V.hwx<=0&&V.hhy<=0)return null;let I=.5,J=.5,_e=E.propBindings?.x?.prop??E.propBindings?.y?.prop,Se=_e?M.uniforms[_e]?.value:void 0;if(Se&&typeof Se.x=="number"&&typeof Se.y=="number"&&(I=Se.x,J=Se.y),_e){let ke=M.metadata.maps?.[_e];if(ke?.type==="mouse-position"){let Ne=M.mouseDriverState[_e];Ne&&(I=Ne.liveX??(typeof ke.x=="number"?ke.x:Ne.currentX),J=Ne.liveY??(typeof ke.y=="number"?ke.y:Ne.currentY))}}return{centerX:I,centerY:J,halfWidth:V.hwx,halfHeight:V.hhy}},Je=M=>{if(!M.definition.wantsBoundsParams)return null;let E=Qr(M.id).sort((k,V)=>k.metadata.renderOrder-V.metadata.renderOrder);for(let k of E){if(k.metadata.visible===!1)continue;if(ge(k))return null;let V=Ye(k);if(V)return V}return null},rt=()=>{for(let M of u.values()){if(!M.definition.wantsBoundsParams)continue;let E=Je(M);E&&(es(M,"_childBounds_centerX",E.centerX),es(M,"_childBounds_centerY",E.centerY),es(M,"_childBounds_halfWidth",E.halfWidth),es(M,"_childBounds_halfHeight",E.halfHeight))}},He=!1,Bt=()=>{He=!0,vo()},Yt=()=>{for(let M of u.values()){let E=M.metadata.flow?.mode;if(E==="column"||E==="row")return!0}return!1},Ls=M=>{let E={};for(let[J,_e]of Object.entries(M.uniforms))E[J]=_e._rawDimensional!==void 0?_e._rawDimensional:_e.value;let k=M.boundingBoxDeclaration?.propBindings?.x?.prop??M.boundingBoxDeclaration?.propBindings?.y?.prop,V=k?M.uniforms[k]?.value:void 0,I=!!(k&&(V?.type==="mouse-position"||M.metadata.maps?.[k]));return{id:M.id,componentName:M.componentName,visible:M.metadata.visible!==!1,absolute:M.metadata.absolute===!0,requiresChild:M.requiresChild,layout:M.metadata.flow,decl:M.boundingBoxDeclaration,props:E,boundingBox:M.metadata.boundingBox,positionDriven:I,children:Qr(M.id).sort((J,_e)=>J.metadata.renderOrder-_e.metadata.renderOrder).map(Ls)}},fo=()=>{if(!Yt()){He=!1;return}let M=te(),E=ee();if(M<=1||E<=1)return;He=!1;let k=[];for(let I of u.values())I.parentId===null&&k.push(Ls(I));let V=OL(k,M,E);for(let I of V){let J=u.get(I.id);if(J)if(I.kind==="position"){let _e=J.uniforms[I.prop];if(!_e)continue;let Se=_e.value,ke=Se&&typeof Se=="object"?{...Se,x:I.value.x,y:I.value.y}:I.value;_e.value=ke,Ta(J,I.prop,ke)}else{let _e=ge(J);if(J.metadata.boundingBox={x:{value:I.xPx,unit:"px"},y:{value:I.yPx,unit:"px"},width:{value:I.widthPx,unit:"px"},height:{value:I.heightPx,unit:"px"},origin:"top-left",rotation:J.metadata.boundingBox?.rotation??0,...J.metadata.boundingBox?.cornerRadius?{cornerRadius:J.metadata.boundingBox.cornerRadius}:{},...J.metadata.boundingBox?.lockAspect!==void 0?{lockAspect:J.metadata.boundingBox.lockAspect}:{}},!_e&&ge(J))Bn();else{let Se=ie(J);if(Se)for(let[ke,Ne]of Object.entries(Se))es(J,`_bbox_${ke}`,Ne)}}}},br=()=>{He&&fo()},Nt=null,No=()=>{Yt()&&Bt()},Yr=()=>{Nt||(Nt=y7(()=>{Yt()&&Bt()})),typeof document<"u"&&document.fonts?.addEventListener&&document.fonts.addEventListener("loadingdone",No)};Yr();let Ro=M=>Tn(M.metadata.transform),wa=(M,E,k)=>{let V=M.mapValues[E]??{inputMin:0,inputMax:1,outputMin:0,outputMax:1,curve:0};if(k.type==="map"){let I=k;V.inputMin=I.inputMin,V.inputMax=I.inputMax,V.outputMin=le(M,E,I.outputMin),V.outputMax=le(M,E,I.outputMax),V.curve=I.curve??0}else if(k.type==="mouse"){let I=k;V.outputMin=le(M,E,I.outputMin),V.outputMax=le(M,E,I.outputMax),V.curve=I.curve??0}else if(k.type==="auto-animate"){let I=k;V.outputMin=le(M,E,I.outputMin),V.outputMax=le(M,E,I.outputMax)}return M.mapValues[E]=V,V},E1=(M,E,k)=>{let V=M.mouseDriverState[E];if(V)return V;if(k.type==="mouse-position"){let I=k.x===void 0||k.x==="mouse",J=k.y===void 0||k.y==="mouse";V={currentX:I?je:k.x,currentY:J?fe:k.y,velocityX:0,velocityY:0,pointerSnapped:Ze}}else V={currentX:Math.max(.001,k.axis==="x"?je:fe),currentY:0,velocityX:0,velocityY:0,pointerSnapped:Ze};return M.mouseDriverState[E]=V,V},k1=M=>{let E=M.metadata.maps;if(E)for(let[k,V]of Object.entries(E))k in M.uniforms&&(V.type==="map"?wa(M,k,V):V.type==="mouse-position"?E1(M,k,V):V.type==="mouse"?(E1(M,k,V),wa(M,k,V)):V.type==="auto-animate"&&(M.autoAnimateState[k]||(M.autoAnimateState[k]={}),wa(M,k,V)))},__=M=>{let E=M.definition.animatedTime;return(E?M.uniforms[E.speed]:void 0)??M},$1=(M,E)=>M.uniforms[E]??M,Gy=M=>{let E=[];for(let[I,J]of Object.entries(M.uniforms))E.push({name:I,initial:J.value,transform:J.transform,cpu:J.cpu,schema:J.schema});if(E.push({name:"_opacity",schema:a,initial:M.metadata.opacity??1}),M.definition.animatedTime&&E.push({name:"_animTime",schema:a,initial:ii(__(M)).value}),M.definition.extraAnimatedTimes)for(let[I,J]of Object.entries(M.definition.extraAnimatedTimes))E.push({name:`_animTime_${I}`,schema:a,initial:ii($1(M,J)).value});let k=M.definition.extraFields;if(k)for(let[I,J]of Object.entries(k))E.push({name:I,schema:J.schema,initial:J.initial});if(Ro(M)){let I=ne(M);for(let[J,_e]of Object.entries(I))E.push({name:`_xform_${J}`,schema:a,initial:_e})}if(ge(M)){let I=ie(M);if(I)for(let[J,_e]of Object.entries(I))E.push({name:`_bbox_${J}`,schema:a,initial:_e})}if(M.definition.wantsBoundsParams){let I=Je(M)??{centerX:.5,centerY:.5,halfWidth:.5,halfHeight:.5};for(let[J,_e]of Object.entries(I))E.push({name:`_childBounds_${J}`,schema:a,initial:_e})}let V=M.metadata.maps;if(V){k1(M);for(let[I,J]of Object.entries(V))if(I in M.uniforms){if(J.type==="map"){let _e=M.mapValues[I];E.push({name:`_map_${I}_inputMin`,schema:a,initial:_e.inputMin}),E.push({name:`_map_${I}_inputMax`,schema:a,initial:_e.inputMax}),E.push({name:`_map_${I}_outputMin`,schema:a,initial:_e.outputMin}),E.push({name:`_map_${I}_outputMax`,schema:a,initial:_e.outputMax}),E.push({name:`_map_${I}_curve`,schema:a,initial:_e.curve})}else if(J.type==="mouse-position"){let _e=M.mouseDriverState[I];E.push({name:`_smoothed_${I}`,schema:l,initial:[_e.currentX,1-_e.currentY]})}else if(J.type==="mouse"){let _e=M.mapValues[I];E.push({name:`_smoothed_${I}`,schema:a,initial:_e.outputMin})}else if(J.type==="auto-animate"){let _e=M.mapValues[I];E.push({name:`_smoothed_${I}`,schema:a,initial:_e.outputMin})}}}return E},Ta=(M,E,k)=>{let V=M._liveHandles?.[E];V&&(As?.(os),e7(V,k))},es=(M,E,k)=>{let V=M._liveHandles?.[E];V instanceof Oo&&(V.value=k)},Yy=(M,E,k)=>{let V=M._liveHandles?.[E];V instanceof Oo?V.value=k:V instanceof Sc&&Array.isArray(k)&&(V.array=k)},dT=M=>{for(let E of Object.values(M.uniforms))if(E.transform===ir){let k=E.value;if(typeof k=="string")return ir(k);if(typeof k=="number")return k}return 0},cT=M=>{if(!M.uniforms.convertedColorsArray)return;let E=null;for(let J of Object.values(M.uniforms))if(J.transform===Rn){E=J.value??null;break}let k=jv(E,Kc),V=Kv(k.colors,k.stopCount,dT(M)),I=(J,_e)=>{let Se=M.uniforms[J];Se&&(Se.value=_e),Ta(M,J,_e)};I("colorsArray",k.colors),I("positionsArray",k.positions),I("convertedColorsArray",V),I("stopCount",k.stopCount)},Ly=(M,E)=>{let k=M.uniforms[E],V=k?._listSpec;if(!k||!V)return;let I=k._rawList,J=new Set,_e=ly(I,V,{color:Kc,drivenPosition:(Ne,Lt,ns)=>{let Ht=cw(E,Ne,Lt);J.add(Ht);let nt=E1(M,Ht,ns);return nt.liveX!==void 0&&nt.liveY!==void 0?{x:nt.liveX,y:1-nt.liveY}:void 0}});for(let Ne of Object.keys(M.mouseDriverState)){let Lt=_y(Ne);Lt&&Lt.prop===E&&!J.has(Ne)&&delete M.mouseDriverState[Ne]}k.value=_e,Ta(M,E,_e);let Se=uy(_e,V),ke=(Ne,Lt)=>{let ns=M.uniforms[Ne];ns&&(ns.value=Lt),Ta(M,Ne,Lt)};for(let[Ne,Lt]of Object.entries(Se.fields))ke(dy(E,Ne),Lt);ke(cy(E),Se.count)},_T=(M,E)=>{let k=M.metadata.maps?.[E];if(k)return k;let V=_y(E);if(!V)return;let I=M.uniforms[V.prop]?._rawList,J=(Array.isArray(I)?I[V.index]:void 0)?.[V.field];return _1(J)?J:void 0},lT=M=>Object.values(M.uniforms).some(E=>E._listSpec&&my(E._rawList,E._listSpec)),uT=M=>{if(es(M,"_opacity",M.metadata.opacity??1),M.definition.animatedTime&&es(M,"_animTime",ii(__(M)).value),M.definition.extraAnimatedTimes)for(let[k,V]of Object.entries(M.definition.extraAnimatedTimes))es(M,`_animTime_${k}`,ii($1(M,V)).value);if(Ro(M))for(let[k,V]of Object.entries(ne(M)))es(M,`_xform_${k}`,V);if(ge(M)){let k=ie(M);if(k)for(let[V,I]of Object.entries(k))es(M,`_bbox_${V}`,I)}let E=M.metadata.maps;if(E){for(let[k,V]of Object.entries(E))if(V.type==="map"&&M.mapValues[k]){let I=M.mapValues[k];es(M,`_map_${k}_inputMin`,I.inputMin),es(M,`_map_${k}_inputMax`,I.inputMax),es(M,`_map_${k}_outputMin`,I.outputMin),es(M,`_map_${k}_outputMax`,I.outputMax),es(M,`_map_${k}_curve`,I.curve)}}},mT=(M,E)=>{let k={};for(let V of Object.keys(M.uniforms)){let I=E[V];I&&(k[V]=I)}return k},pT=M=>{let E={};for(let[k,V]of Object.entries(M.uniforms))E[k]={accessorPath:"",cpu:!!V.cpu,value:V.value};return E},fT=(M,E)=>({id:M.id,customId:M.metadata.id,componentName:M.componentName,parentId:M.parentId,definition:M.definition,metadata:M.metadata,handles:E,domCanvas:M.domCanvas}),Iy=(M,E)=>{let k=new Map,V=J=>fT(J,M&&E?mT(J,E.get(J.id)??{}):pT(J)),I=J=>{let _e=k.get(J);if(_e)return _e;let Se=u.get(J);if(!Se)return;let ke=V(Se);return k.set(J,ke),ke};return{rootId:m,getNode:I,getChildren:J=>Qr(J).map(_e=>I(_e.id)),resolveCustomId:J=>ci(J),store:{gpuAccessor:(J,_e)=>M?M.gpuAccessor(J,_e):"",layout:M?.layout}}},Dy=()=>({toneMapping:bs,flipY:!1,premultiplyAlpha:!0,canvas:n??void 0,dimensions:Sa(),gpu:t?{device:t.device,root:t}:void 0,writeExtraField:(M,E,k)=>{let V=u.get(M);V&&Yy(V,E,k)},createMediaTexture:M=>{if(!r)throw new Error("[gpu] createMediaTexture before init");return r.createMediaTexture(M)},createDataTexture:M=>{if(!r)throw new Error("[gpu] createDataTexture before init");return r.createDataTexture(M)},resolveMapWindow:(M,E)=>{let k=u.get(M),V=k?.metadata.maps?.[E];if(!k||!V||V.type!=="map")return;let I=wa(k,E,V);return{inputMin:I.inputMin,inputMax:I.inputMax,outputMin:I.outputMin,outputMax:I.outputMax,curve:I.curve}},resolveDriverCpuValue:(M,E)=>{let k=u.get(M);if(!k)return;if(E==="_animTime"||E.startsWith("_animTime_")){let I=k._liveHandles?.[E];return I instanceof Oo?I.value:void 0}let V=k.metadata.maps?.[E];if(V){if(V.type==="mouse-position"){let I=k.mouseDriverState[E];return!I||I.liveX===void 0||I.liveY===void 0?void 0:{x:I.liveX,y:1-I.liveY}}if(V.type==="mouse"||V.type==="auto-animate"){let I=k._liveHandles?.[`_smoothed_${E}`];return I instanceof Oo?I.value:void 0}}}}),vT=()=>{let M=[];for(let[E,k]of u){let V=k.metadata;M.push(`aopac:${E}:${(V.opacity??1)<1}`);let I=k.uniforms.stopCount?.value;typeof I=="number"&&M.push(`stops:${E}:${I>1?I:0}`);for(let[J,_e]of Object.entries(k.uniforms)){if(!_e.compileTimeWhen)continue;let Se=_e._lastCompiledValue;typeof Se!="number"&&typeof Se!="boolean"||M.push(`ctw:${E}:${J}:${String(Se)}`)}if(V.maps){let J=Object.entries(V.maps).sort(([_e],[Se])=>_eSe?1:0).map(([_e,Se])=>{let ke=Se;return`${_e}=${ke.type}:${ke.source??""}:${ke.channel??""}:${ke.axis??""}`}).join(",");M.push(`mapfp:${E}:${J}`)}}return M},Fy=()=>m?$L([..._7(Iy(null,null),Dy()),...vT()]):null,Sa=()=>({width:Math.max(1,Math.round(P*L)),height:Math.max(1,Math.round(U*L))}),yT=M=>{let E={};for(let k of M.textures)k.kind!=="rtt"&&k.resource&&(E[k.key]=k.resource);return E},hT=M=>{if(!t||!r||!o)throw new Error("[gpu] buildComposition before init");let E=J6(t,{systemSchema:kL}),k=new Map;for(let[Se,ke]of u)k.set(Se,E.defineNode(Se,Gy(ke)));E.defineSystem(),E.finalize();let V=c7(Iy(E,k),Dy()),I=CL(t,{textureManager:r,dispatcher:o}),J={hash:M,store:E,ir:V,passManager:I,handlesById:k,fresh:!0,validationFrames:3},_e=V.usesCustomWgsl?t.device:void 0;_e&&_e.pushErrorScope("validation");try{I.setComposition(V,E.bindGroup,Sa(),yT(V))}finally{_e&&_e.popErrorScope().then(Se=>{Se&&!J.broken&&By(J,Se.message)}).catch(()=>{})}return w.add(J),J},By=(M,E)=>{M.broken=E,y_("[gpu] a shader in this composition failed GPU validation \u2014 it will not draw until it changes. If you are writing a wgsl`\u2026` body, the message below points at the line:\n"+E)},Wy=M=>{try{for(let E of M.ir.onCleanup)E()}catch(E){Is("[gpu] composition onCleanup error:",E)}try{M.passManager.dispose()}catch(E){Is("[gpu] passManager dispose error:",E)}try{M.store.destroy()}catch(E){Is("[gpu] store destroy error:",E)}w.delete(M),S===M&&(S=null)},xT=M=>{let E=!1;for(let[k,V]of M.handlesById){let I=u.get(k);I&&I._liveHandles!==V&&(I._liveHandles=V,E=!0)}if(!(M===S&&!E)){if(!M.fresh){for(let k of u.values()){for(let[V,I]of Object.entries(k.uniforms))Ta(k,V,I.value);k1(k),uT(k)}M.store.writeAll()}M.fresh=!1,S=M,!ys&&M.ir.composedNodeIds.size>0&&(Ks=!0)}},Bn=()=>{A=!0,Yt()&&(He=!0),vo()},vo=()=>{Ms||Gr.running||de===null&&typeof requestAnimationFrame=="function"&&(de=requestAnimationFrame(()=>{de=null,Ad()}))},Oy=(M,E,k,V,I={},J,_e)=>{if(Ms)return;if(E===null){let nt=y.findIndex(Zs=>Zs.id===M);if(nt!==-1){y.splice(nt,1),h=h.filter(Zs=>Zs.id!==M);return}U1(M);return}if(!J){console.error(`[gpu] registerNode("${M}") requires a componentDefinition`);return}if(!c){let nt=y.findIndex(zo=>zo.id===M),Zs={id:M,definition:J,parentId:k,metadata:V,uniforms:I,domCanvas:_e};nt!==-1?(y[nt]=Zs,h=h.filter(zo=>zo.id!==M)):y.push(Zs);return}let Se=0;if(k!==null){let nt=p.get(k);if(nt&&nt.size>0){let Zs=0;for(let zo of nt){let Lr=u.get(zo);Lr&&Lr.metadata.renderOrder>Zs&&(Zs=Lr.metadata.renderOrder)}Se=Zs+1}}let ke={blendMode:V?.blendMode||"normal",opacity:V?.opacity,visible:V?.visible!==!1,id:V?.id?Vo(V.id):V?.id,mask:V?.mask,maps:V?.maps,renderOrder:V?.renderOrder!==void 0?V.renderOrder:Se,transform:V?.transform,boundingBox:V?.boundingBox,flow:V?.flow,absolute:V?.absolute},Ne=J.boundingBoxDeclaration,Lt=J.props?fy(J.props):void 0,ns={id:M,componentName:J.name||"Unknown",parentId:k,definition:J,metadata:ke,uniforms:I,domCanvas:_e,requiresRTT:!!J.requiresRTT,requiresChild:!!J.requiresChild,blendWithChildren:!!J.blendWithChildren,acceptsUVContext:!!J.acceptsUVContext,providesUVContextViaCompute:!!J.providesUVContextViaCompute,usesPointer:!!J.usesPointer,hasUvRemap:!!J.uvRemap,boundingBoxDeclaration:Ne,wantsBoundsParams:!!J.wantsBoundsParams,extraDimProps:Lt,mouseDriverState:{},autoAnimateState:{},mapValues:{},_liveHandles:null};if(Ne||Lt){let nt=hd(Ne,Lt);if(nt){let Zs=I.origin?.value??"center",zo=ba(ns,Zs);for(let Lr of[...nt.positionProps,...nt.sizeProps.keys()]){let wr=I[Lr];wr&&(wr._rawDimensional===void 0&&(wr._rawDimensional=wr.value),wr.value=Qc(Ne,Lr,wr._rawDimensional,Zs,te(),ee(),Lt,zo))}}}for(let nt of Object.values(I))nt.compileTimeWhen&&nt._lastCompiledValue===void 0&&(nt._lastCompiledValue=nt.value);u.set(M,ns),k===null&&(m=M);let Ht=p.get(k)||new Set;Ht.add(M),p.set(k,Ht),Md(),Bn(),Yt()&&Bt()},Vy=M=>{y.some(E=>E.id===M.id)&&h.push(M)},Ny=(M,E,k)=>{let V=u.get(M);if(!V){Vy({id:M,kind:"uniform",name:E,value:k});return}let I=V.uniforms[E];if(!I)return;let J=V.boundingBoxDeclaration,_e=V.extraDimProps;if((J||_e)&&yy(J,E,_e)){I._rawDimensional=k;let Se=V.uniforms.origin?.value??"center",ke=ba(V,Se);k=Qc(J,E,k,Se,te(),ee(),_e,ke)}if(I.transform===Ka){I._rawList=k,Ly(V,E),Md(),vo();return}if(I.value=k,Ta(V,E,k),(I.transform===Rn||I.transform===ir)&&cT(V),E==="origin"&&J)F(V);else if(J&&(V.uniforms.origin?.value??"center")!=="center"){let Se=hd(J,_e),ke=!!J.computeBounds||(Se?.sizeProps.has(E)??!1),Ne=Se?.positionProps.has(E)??!1;ke&&!Ne&&F(V)}if(E==="shape"&&Md(),Yt()&&Bt(),I.compileTime){Bn();return}if(I.compileTimeWhen){let Se=I._lastCompiledValue;if(I.compileTimeWhen(Se,k)){I._lastCompiledValue=k,Bn();return}}vo()},qy=(M,E)=>{let k=u.get(M);if(!k){Vy({id:M,kind:"metadata",metadata:E});return}let V=!1;if(E.blendMode!==void 0&&k.metadata.blendMode!==E.blendMode&&(k.metadata.blendMode=E.blendMode,V=!0),E.opacity!==void 0&&k.metadata.opacity!==E.opacity){let I=k.metadata.opacity??1,J=E.opacity;k.metadata.opacity=J,es(k,"_opacity",J),I>=1!=J>=1&&(V=!0)}if(E.renderOrder!==void 0&&k.metadata.renderOrder!==E.renderOrder&&(k.metadata.renderOrder=E.renderOrder,V=!0),"visible"in E){let I=E.visible!==!1;k.metadata.visible!==I&&(k.metadata.visible=I,V=!0)}if(E.id!==void 0){let I=Vo(E.id);k.metadata.id!==I&&(k.metadata.id=I,V=!0)}if("mask"in E&&(k.metadata.mask?.source!==E.mask?.source||k.metadata.mask?.type!==E.mask?.type)&&(k.metadata.mask=E.mask,V=!0),"maps"in E&&JSON.stringify(k.metadata.maps)!==JSON.stringify(E.maps)){let I=k.metadata.maps,J=E.maps;if(k.metadata.maps=J,Md(),(()=>{if(!I||!J)return!0;let _e=Object.keys(I),Se=Object.keys(J);if(_e.length!==Se.length||!_e.every(ke=>ke in J))return!0;for(let ke of Se){let Ne=I[ke],Lt=J[ke];if(Ne.type!==Lt.type)return!0;if(Lt.type==="map"){let ns=Ne,Ht=Lt;if(ns.source!==Ht.source||ns.channel!==Ht.channel)return!0}else if(Lt.type==="mouse"&&Ne.axis!==Lt.axis)return!0}return!1})()){if(I&&J)for(let _e of Object.keys(I))_e in J&&I[_e].type!==J[_e].type&&(delete k.mouseDriverState[_e],delete k.autoAnimateState[_e],delete k.mapValues[_e]);V=!0}else if(J)for(let[_e,Se]of Object.entries(J)){let ke=wa(k,_e,Se);Se.type==="map"&&(es(k,`_map_${_e}_inputMin`,ke.inputMin),es(k,`_map_${_e}_inputMax`,ke.inputMax),es(k,`_map_${_e}_outputMin`,ke.outputMin),es(k,`_map_${_e}_outputMax`,ke.outputMax),es(k,`_map_${_e}_curve`,ke.curve))}}if(E.transform!==void 0){let I=k.metadata.transform,J={offsetX:E.transform.offsetX??I?.offsetX??0,offsetY:E.transform.offsetY??I?.offsetY??0,rotation:E.transform.rotation??I?.rotation??0,scale:E.transform.scale??I?.scale??1,anchorX:E.transform.anchorX??I?.anchorX??.5,anchorY:E.transform.anchorY??I?.anchorY??.5,edges:E.transform.edges??I?.edges??"transparent"},_e=Ro(k);k.metadata.transform=J;let Se=Tn(J);if(_e!==Se||I&&I.edges!==J.edges)V=!0;else if(Se)for(let[ke,Ne]of Object.entries(ne(k)))es(k,`_xform_${ke}`,Ne)}if(E.boundingBox!==void 0&&E.boundingBox!==null&&k.boundingBoxDeclaration!==void 0){let I=ge(k);k.metadata.boundingBox=E.boundingBox;let J=ge(k);if(I!==J)V=!0;else if(J){let _e=ie(k);if(_e)for(let[Se,ke]of Object.entries(_e))es(k,`_bbox_${Se}`,ke)}}else E.boundingBox===null&&k.metadata.boundingBox!==void 0&&(k.metadata.boundingBox=void 0,V=!0);if("flow"in E&&JSON.stringify(k.metadata.flow)!==JSON.stringify(E.flow)){let I=k.metadata.flow?.mode==="column"||k.metadata.flow?.mode==="row";k.metadata.flow=E.flow??void 0;let J=k.metadata.flow?.mode==="column"||k.metadata.flow?.mode==="row";if(I&&!J){let _e=Se=>{for(let ke of Qr(Se))F(ke),_e(ke.id)};_e(M)}Bt()}"absolute"in E&&k.metadata.absolute!==E.absolute&&(k.metadata.absolute=E.absolute,E.absolute&&F(k),Bt()),Yt()&&Bt(),V?Bn():vo()},U1=M=>{let E=u.get(M);if(!E)return;for(let V of Qr(M))U1(V.id);m===M&&(m=null);let k=p.get(E.parentId);k&&(k.delete(M),k.size===0&&p.delete(E.parentId)),u.delete(M),Md(),Bn(),Yt()&&Bt()},Xy=()=>{let M=Ps.deltaTime;Pe=C7(Re,Pe,M,performance.now());for(let E of u.values()){let k=E.metadata.maps??{};for(let V in E.mouseDriverState){let I=E.mouseDriverState[V],J=_T(E,V);if(J){if(J.type==="mouse-position"){let _e=J.smoothing??0,Se=J.momentum??0,ke=J.x===void 0||J.x==="mouse",Ne=J.y===void 0||J.y==="mouse";!I.pointerSnapped&&Ze&&(I.pointerSnapped=!0,ke&&(I.currentX=je,I.velocityX=0),Ne&&(I.currentY=fe,I.velocityY=0));let Lt,ns;if(ke){let[Go,ui]=Xc(I.currentX,I.velocityX,je,_e,Se,M);I.currentX=Go,I.velocityX=ui,Lt=Go}else Lt=J.x,I.velocityX=0;if(Ne){let[Go,ui]=Xc(I.currentY,I.velocityY,fe,_e,Se,M);I.currentY=Go,I.velocityY=ui,ns=Go}else ns=J.y,I.velocityY=0;let Ht=J.reach??1,nt=J.originX??.5,Zs=J.originY??.5,zo=J.invertX?-1:1,Lr=J.invertY?-1:1,wr=nt+zo*(Lt-nt)*Ht,yo=Zs+Lr*(ns-Zs)*Ht,Aa=wr,Pd=yo,p_=E.metadata.boundingBox;if(p_&&E.boundingBoxDeclaration?.supportsResizeFit&&ge(E)){let Go=Ov(p_,te(),ee()),ui=i7(wr,yo,{centerX:Go.centerX,centerY:Go.centerY,halfWidthUV:Go.halfWidthUV,halfHeightUV:Go.halfHeightUV,rotationDeg:Go.rotation,aspectRatio:ae()});Aa=ui.x,Pd=ui.y}I.liveX=Aa,I.liveY=Pd;let sh=E._liveHandles?.[`_smoothed_${V}`];sh instanceof Oo&&sh.setComponents(Aa,1-Pd)}else if(J.type==="mouse"){let _e=J.smoothing??0,Se=J.momentum??0,ke=J.axis==="x"?je:fe;!I.pointerSnapped&&Ze&&(I.pointerSnapped=!0,I.currentX=Math.max(.001,ke),I.velocityX=0);let[Ne,Lt]=Xc(I.currentX,I.velocityX,ke,_e,Se,M);I.currentX=Ne,I.velocityX=Lt;let ns=Math.max(.001,Ne),Ht=E.mapValues[V],nt=Ht?Ht.outputMin+(Ht.outputMax-Ht.outputMin)*Math.pow(ns,Math.pow(2,-Ht.curve*2)):ns;I.liveScalar=nt,es(E,`_smoothed_${V}`,nt)}}}for(let[V,I]of Object.entries(E.uniforms))I._listSpec&&my(I._rawList,I._listSpec)&&Ly(E,V);for(let V in E.autoAnimateState){let I=k[V];if(!I||I.type!=="auto-animate")continue;let J=Pe*(I.speed??1)*.2,_e,Se=I.easing??I.waveform??"sine";if(I.mode==="loop")_e=ey((J%1+1)%1,Se);else{let nt=(J%1+1)%1;_e=ey(nt<.5?nt*2:(1-nt)*2,Se)}let ke=E.mapValues[V],Ne=ke?ke.outputMin:le(E,V,I.outputMin),Lt=ke?ke.outputMax:le(E,V,I.outputMax),ns=Ne+_e*(Lt-Ne),Ht=E.uniforms[V];if(Ht?.compileTimeWhen){let nt=Ht._lastCompiledValue;Ht.compileTimeWhen(nt,ns)&&(Ht._lastCompiledValue=ns,Bn())}es(E,`_smoothed_${V}`,ns)}}},Hy=()=>{let M=Ps.deltaTime;for(let E of u.values()){let k=E.definition.animatedTime;if(k){let I=E.uniforms[k.speed],J=I&&Number(I.value)||0,_e=ii(__(E));_e.advance(M,J),es(E,"_animTime",_e.value)}let V=E.definition.extraAnimatedTimes;if(V)for(let[I,J]of Object.entries(V)){let _e=E.uniforms[J],Se=_e&&Number(_e.value)||0,ke=ii($1(E,J));ke.advance(M,Se),es(E,`_animTime_${I}`,ke.value)}}},C1=(M,E)=>U7(M,E,{maxTextureDim:G,pixelRatio:L,viewportWidth:typeof window<"u"?window.innerWidth:M,viewportHeight:typeof window<"u"?window.innerHeight:E}),R1=()=>{let M=(typeof window<"u"?window.devicePixelRatio:1)||1;return Math.min(M,h7())},l_=(M,E,k,V)=>{if(Q&&M===P&&E===U&&k===D&&V===O){let{width:Se,height:ke}=Sa();if(!n||n.width===Se&&n.height===ke)return}P=M,U=E,D=k,O=V,py(k,V),Q||(Q=!0,u.size>0&&Bn());let{width:I,height:J}=Sa();n&&(n.width=I,n.height=J);let _e=!1;for(let Se of w)Se.passManager.resize(I,J)&&(_e=!0);for(let Se of w)for(let ke of Se.ir.onResize)try{ke({width:I,height:J})}catch(Ne){Is("[gpu] composition onResize error:",Ne)}for(let Se of u.values()){if(Ro(Se)&&es(Se,"_xform_aspectRatio",ae()),ge(Se)){let ke=ie(Se);if(ke)for(let[Ne,Lt]of Object.entries(ke))es(Se,`_bbox_${Ne}`,Lt)}F(Se)}if(fo(),_e)for(let Se of w)Ky(Se.store),Se.store.flush(),Se.passManager.repaintRtt();Ue=0,Ad()},z1=(M,E)=>{M<=0||E<=0||M===W&&E===K||(W=M,K=E,Ft={width:M,height:E},!Gt&&typeof requestAnimationFrame=="function"&&(Gt=!0,requestAnimationFrame(()=>{if(Gt=!1,!Ft)return;let k=Ft;Ft=null;let{width:V,height:I}=C1(k.width,k.height);l_(V,I,k.width,k.height)})))},gT=M=>{let E=M[0];if(!E)return;let k,V;if(E.contentBoxSize){let I=Array.isArray(E.contentBoxSize)?E.contentBoxSize[0]:E.contentBoxSize;I?(k=Math.round(I.inlineSize),V=Math.round(I.blockSize)):(k=Math.round(E.contentRect.width),V=Math.round(E.contentRect.height))}else k=Math.round(E.contentRect.width),V=Math.round(E.contentRect.height);k===0||V===0||z1(k,V)},bT=M=>{let E=M[0];E&&(Ee=E.isIntersecting)},jy=()=>i&&!!t&&!!s&&P>0&&U>0,Ky=M=>{let E=M.systemHandles,{width:k,height:V}=Sa(),I=R1(),J=(_e,Se)=>{let ke=E[_e];ke instanceof Oo&&(ke.value=Se)};J("time",Pe),J("viewportSize",[k,V]),J("logicalViewportSize",[te()*I,ee()*I]),J("aspect",k/Math.max(1,V)),J("pointer",[je,fe]),J("pointerActive",Ke?1:0)},Zy=M=>{for(let E of M)try{E(Ps)}catch(k){Is("[gpu] render callback error:",k)}},Qy=M=>{if(Ms||!jy())return;let E=performance.now(),k;if(M!==void 0)k=M;else{let _e=R7(E,{lastRenderTime:Ue,isVisible:Ee,forceFullFrameRate:Te,minInterval:Me});if(!_e.render)return;k=_e.deltaTime}Ue=E,ls&&performance.mark("shader-cpu-start");let V=je>-5;Ps.deltaTime=k,Ps.pointer.x=V?je:.5,Ps.pointer.y=V?fe:.5,Ps.pointer.seen=Ze,Ps.pointerActive=Ke,Ps.dimensions.width=P,Ps.dimensions.height=U;let I=null,J=null;try{z7({updateDrivers:()=>{Xy(),Hy(),rt(),br()},ensureComposition:()=>((A||T===null)&&(T=Fy(),A=!1),T===null?!1:(I=g.getOrBuild(T,()=>hT(T)),xT(I),!!S)),beforeRender:()=>Zy(S.ir.onBeforeRender),flush:()=>{Ky(S.store),S.store.flush()},render:()=>{if(ls&&performance.mark("shader-gpu-start"),J=g.renderValue??I,J?.broken)return!1;let _e=J,Se=_e&&_e.validationFrames>0&&_e.ir.usesCustomWgsl?t?.device:void 0;Se&&Se.pushErrorScope("validation");try{_e?.passManager.render(s,Ps,()=>S?.store.flush())}finally{Se&&_e&&(_e.validationFrames--,Se.popErrorScope().then(ke=>{ke&&!_e.broken&&By(_e,ke.message)}).catch(()=>{}))}if(ls){performance.mark("shader-gpu-end");try{performance.measure("shader-gpu-time","shader-gpu-start","shader-gpu-end");let ke=performance.getEntriesByName("shader-gpu-time")[0];ke&&zr.recordGpuTime(ke.duration),performance.clearMeasures("shader-gpu-time"),performance.clearMarks("shader-gpu-start"),performance.clearMarks("shader-gpu-end")}catch{}}},markReady:()=>{g.markReady(T),Ks&&!ys&&(ys=!0,Ks=!1,vs&&queueMicrotask(vs))},afterRender:()=>Zy((J??S).ir.onAfterRender)}),nr=0}catch(_e){$T(_e);return}if(ls){performance.mark("shader-cpu-end");try{performance.measure("shader-cpu-time","shader-cpu-start","shader-cpu-end");let _e=performance.getEntriesByName("shader-cpu-time")[0];_e&&zr.recordCpuTime(_e.duration),performance.clearMarks("shader-cpu-start"),performance.clearMarks("shader-cpu-end"),performance.clearMeasures("shader-cpu-time")}catch{}}zr.recordFrame(performance.now()-E)},Ad=()=>Qy(void 0),wT=async M=>{if(Ms)return;if(!jy())throw new Error("Renderer is not ready");let E=Gr.running;E&&u_(),Ue=0,Ad(),t&&M?.waitForGpu!==!1&&await ty(t),E&&G1()},TT=async(M,E)=>{Qy(M),t&&E?.waitForGpu!==!1&&await ty(t)},G1=()=>{Ms||Gr.running||!he||(zr.setRendering(!0),Gr.start())},u_=()=>{Gr.running&&(Gr.stop(),zr.setRendering(!1))},m_=M=>{if(!n)return;at=n.getBoundingClientRect();let E,k;if("touches"in M){if(M.touches.length===0)return;E=M.touches[0].clientX,k=M.touches[0].clientY}else E=M.clientX,k=M.clientY;je=(E-at.left)/at.width,fe=(k-at.top)/at.height,Ze=!0},ST=M=>{!i||!n||(m_(M),Ke=!0,vo())},AT=M=>{!i||!n||(m_(M),Ke=!0,vo())},MT=()=>{i&&(Ke=!1,vo())},PT=()=>{i&&(Ke=!1,vo())},Jy=(M,E)=>{if(!i||!n)return!1;let k=n.getBoundingClientRect();return k.width===0||k.height===0?!1:M>=k.left&&M<=k.right&&E>=k.top&&E<=k.bottom},ET=M=>{M.button===0&&Jy(M.clientX,M.clientY)&&(Ke=!0,m_(M),vo())},kT=M=>{M.touches.length!==0&&Jy(M.touches[0].clientX,M.touches[0].clientY)&&(Ke=!0,m_(M),vo())},Md=()=>{let M=!1;for(let E of u.values()){if(E.usesPointer){M=!0;break}if(HL(E.uniforms?.shape?.value)||lT(E)){M=!0;break}if(E.metadata.maps){for(let k of Object.values(E.metadata.maps))if(k&&typeof k=="object"&&"type"in k){let V=k.type;if(V==="mouse"||V==="mouse-position"){M=!0;break}}if(M)break}}M&&!Fe?(Fe=!0,!Ie&&n&&(Ie=XL.register({onMouseMove:ST,onTouchMove:AT,onMouseDown:ET,onTouchStart:kT,onMouseUp:MT,onTouchEnd:PT}))):!M&&Fe&&(Fe=!1,Ie&&(Ie(),Ie=null))},eh=()=>{if(y.length===0)return;let M=[...y];y=[];for(let k of M)Oy(k.id,k.definition.fragment,k.parentId,k.metadata,k.uniforms,k.definition,k.domCanvas);let E=h;h=[];for(let k of E)k.kind==="uniform"?Ny(k.id,k.name,k.value):qy(k.id,k.metadata)},Wn=(M,E)=>{if(!Ms){Ms=M,dh(M),Is(`[gpu] renderer stopped (${M}):`,E);try{Y1()}catch(k){Is("[gpu] cleanup during failure threw:",k)}if(!hr&&Cr){hr=!0;let k=Cr;queueMicrotask(()=>{try{k(M,E)}catch(V){Is("[gpu] onUnavailable callback threw:",V)}})}}},$T=M=>{if(I1(M)){Wn(M.reason,M);return}nr++,nr===1&&y_("[gpu] render error:",M),nr>=qL&&Wn("render-failed",M)},UT=M=>{!M||typeof M.addEventListener!="function"||(th(),mo=M,po=E=>{try{E.preventDefault()}catch{}let k=E.error;if(y_("[gpu] uncaptured device error (a custom WGSL body that fails to compile reports here \u2014 read the message for the line):",k),typeof GPUOutOfMemoryError<"u"&&k instanceof GPUOutOfMemoryError){Wn("out-of-memory",k);return}if(typeof GPUInternalError<"u"&&k instanceof GPUInternalError){Wn("gpu-error",k);return}Rr++,Rr>=NL&&Wn("gpu-error",k)},M.addEventListener("uncapturederror",po))},th=()=>{if(mo&&po)try{mo.removeEventListener("uncapturederror",po)}catch{}mo=null,po=null},CT=M=>{if(!Ur){Ur=!0;try{u_()}catch{}if(yr){let E=yr;queueMicrotask(()=>{try{E(M)}catch(k){Is("[gpu] onDeviceLost callback threw:",k)}});return}Wn("device-lost",M)}},RT=async M=>{if(M.context!==void 0)throw new Error("[gpu] initialize({ context }) is not supported \u2014 this renderer is WebGPU-only. Remove the WebGL `context` option.");if(Ms)return;let E=ch();if(E){Wn(E);return}if(i||d)return;let{canvas:k,resizeTarget:V,enablePerformanceTracking:I=!1,colorSpace:J="p3-linear",toneMapping:_e="linear",gpu:Se,forceFullFrameRate:ke=!1,observeElement:Ne=!0,timeOrigin:Lt}=M;Lt!=null&&(Re=Lt),ls=I,Te=ke,os=J,bs=_e,Yr(),d=!0,_=new AbortController;let ns=_;try{if(As=lw,As(J),ns.signal.aborted||(n=k,e=await SL({device:Se?.device,adapter:Se?.adapter,onDeviceLost:yo=>CT(yo.message||yo.reason||"unknown")}),ns.signal.aborted))return;t=e.root,UT(t.device),L=R1();let Ht=t.device.limits?.maxTextureDimension2D;typeof Ht=="number"&&Ht>0&&(G=Ht),r=zL(t),o=f7(t),typeof window<"u"&&(We=()=>Y1(),window.addEventListener("beforeunload",We),Ve=()=>{if(W>0&&K>0){let yo=W,Aa=K;W=0,K=0,z1(yo,Aa)}},window.addEventListener("resize",Ve,{passive:!0}));let nt=k.getBoundingClientRect();at=nt,Ee=!Ne||nt.width>0&&nt.height>0&&nt.top0&&nt.left0,he=!0;let Zs=nt.width>0?nt.width:k.width,zo=nt.height>0?nt.height:k.height,Lr=Math.round(Zs),wr=Math.round(zo);if(Lr>0&&wr>0){W=Lr,K=wr;let{width:yo,height:Aa}=C1(Lr,wr);P=yo,U=Aa,D=Lr,O=wr,Q=!0,py(Lr,wr);let{width:Pd,height:p_}=Sa();k.width=Pd,k.height=p_}else Q=!1;if(s=PL(t,k),Ne&&typeof ResizeObserver<"u"){let yo=V??k.parentElement;yo?(st=new ResizeObserver(gT),st.observe(yo)):console.warn("[gpu] no element available for resize observation \u2014 use resize() manually"),typeof IntersectionObserver<"u"&&(Xe=new IntersectionObserver(bT,{threshold:0,rootMargin:"128px"}),Xe.observe(k))}if(ns.signal.aborted)return;i=!0,c=!0,eh(),P>0&&U>0&&Ad(),he&&G1()}catch(Ht){let nt=I1(Ht)?Ht.reason:"init-failed";d=!1,_===ns&&(_=null),Wn(nt,Ht);return}finally{d=!1,_===ns&&(_=null)}},Y1=()=>{_&&_.abort(),st&&(st.disconnect(),st=null),Xe&&(Xe.disconnect(),Xe=null),Ie&&(Ie(),Ie=null),We&&typeof window<"u"&&(window.removeEventListener("beforeunload",We),We=null),Ve&&typeof window<"u"&&(window.removeEventListener("resize",Ve),Ve=null),de!==null&&typeof cancelAnimationFrame=="function"&&(cancelAnimationFrame(de),de=null),u_(),th(),Nt?.(),Nt=null,typeof document<"u"&&document.fonts?.removeEventListener&&document.fonts.removeEventListener("loadingdone",No);try{e?.release?.()}catch{}g.clear();for(let M of[...w])Wy(M);S=null;try{r?.destroy()}catch{}try{e?.createdDevice&&t?.destroy()}catch{}u.clear(),m=null,p.clear(),y=[],h=[],c=!1,Ft=null,Gt=!1,n=null,s=null,r=null,o=null,t=null,e=null,i=!1,d=!1,Q=!1,_=null,P=0,U=0,D=0,O=0,T=null,A=!0,Ee=!1,he=!0,je=-10,fe=-10,Ke=!1,Ze=!1,Fe=!1,vs=null,ys=!1,Ks=!1,yr=null,Ur=!1,Rr=0,nr=0};return{initialize:RT,cleanup:Y1,registerNode:Oy,removeNode:U1,updateUniformValue:Ny,updateNodeMetadata:qy,isInitialized:()=>i,resize:(M,E)=>{t&&z1(M,E)},startAnimation:G1,stopAnimation:u_,renderAndWait:wT,renderSyntheticFrame:TT,getPerformanceStats:()=>{let M=Math.max(0,u.size-1),E=S?S.ir.rttPasses.length:0;zr.updateNodeCounts(M,E);let k={render:{calls:S?S.passManager.passCount:0},programs:{length:g.size},memory:{textures:r?r.textureCount:0}};return zr.getStats(k)},getLiveDriverValue:(M,E)=>{let k=u.get(M)?.mouseDriverState?.[E];return!k||k.liveX===void 0||k.liveY===void 0?null:{x:k.liveX,y:k.liveY}},getLiveScalarValue:(M,E)=>{let k=u.get(M);if(!k)return null;let V=k.metadata.maps?.[E];if(V?.type==="auto-animate"){let I=k._liveHandles?.[`_smoothed_${E}`],J=I instanceof Oo?I.value:void 0;return typeof J=="number"?J:null}return V?.type==="mouse"?k.mouseDriverState[E]?.liveScalar??null:null},getNodeRegistry:()=>({nodes:new Map(u)}),getRendererType:()=>"webgpu",getInternalRenderer:()=>t?{device:t.device,adapter:e?.adapter,root:t}:null,setForceFullFrameRate:M=>{let E=Te;return Te=M,E},beginRecordingResolution:(M,E,k)=>{if(!t||M<=0||E<=0)return()=>{};let V=L,I=P,J=U,_e=D,Se=O,ke=W,Ne=K;return L=k,l_(M,E,M,E),()=>{t&&(L=V,l_(I,J,_e,Se),W=ke,K=Ne)}},setResolutionScale:M=>{if(!t)return;let E=Math.max(.05,Math.min(M,1)),k=Math.max(.01,R1()*E);if(Math.abs(L-k)<.001)return;L=k;let V=D||P,I=O||U;if(V<=0||I<=0)return;let{width:J,height:_e}=C1(V,I);l_(J,_e,V,I)},setFrameRateCap:M=>{Me=M&&M>0?1e3/Math.max(M,10)-1:0},setTimeOrigin:M=>{Re=M},setOnReady:M=>{vs=M,M&&ys&&queueMicrotask(M)},setOnDeviceLost:M=>{yr=M},setOnUnavailable:M=>{if(Cr=M,M&&Ms&&!hr){hr=!0;let E=Ms;queueMicrotask(()=>{try{M(E)}catch(k){Is("[gpu] onUnavailable callback threw:",k)}})}},getFailureReason:()=>Ms,__testing:{needsTransformation:Tn,findChildNodes:Qr,buildFieldInits:M=>{let E=u.get(M);return E?Gy(E):null},ensureDriverState:M=>{let E=u.get(M);E&&k1(E)},stepMouseDrivers:M=>{Ps.deltaTime=M,Xy()},stepAnimatedTime:M=>{Ps.deltaTime=M,Hy()},getAnimatedTimeValue:M=>{let E=u.get(M);return E?.definition.animatedTime?ii(__(E)).value:null},writeExtraField:(M,E,k)=>{let V=u.get(M);V&&Yy(V,E,k)},readExtraField:(M,E)=>{let k=u.get(M)?._liveHandles?.[E];return k instanceof Oo?k.value:void 0},getNodeRegistry:()=>({nodes:u,rootId:m,parentToChildren:p}),getParentToChildren:()=>p,getPendingRegistrations:()=>[...y],getFrameDiagnostics:()=>({deltaTime:Ps.deltaTime,pointerX:je,pointerY:fe,pointerActive:Ke,globalElapsedTime:Pe,lastRenderTime:Ue,isVisible:Ee,forceFullFrameRate:Te,sharedTimeOrigin:Re,animating:Gr.running,mouseListenersNeeded:Fe}),computeStructuralHash:Fy,isStructuralDirty:()=>A,clearStructuralDirty:()=>{A=!1},setTestReady:M=>{i=!0,c=!0,M&&(P=M.width,U=M.height,D=M.width,O=M.height,Q=!0),eh()}}}}var jL={FlowingGradient:r_,Godrays:o_,LiquidMetal:n_,Marble:a_,MeshGradient:i_,Nebula:d_},P1=document.querySelector("canvas[data-shader]"),c_=jL[P1.dataset.shader],di=aT(),Ry=Promise.resolve();function iT(e){return Ry=Ry.then(()=>di.renderSyntheticFrame(e-di.__testing.getFrameDiagnostics().globalElapsedTime)),Ry}var zy=(async()=>{if(!c_)throw new Error(`shaders: no shader named "${P1.dataset.shader}" in this bundle`);await di.initialize({canvas:P1,observeElement:!1,colorSpace:"srgb"});let e=di.getFailureReason();if(e)throw new Error(`shaders: WebGPU unavailable (${e})`);di.registerNode("root",l1.fragment,null,null,{},l1);let t=JSON.parse(P1.dataset.shaderProps||"{}"),s=Object.fromEntries(Object.entries(c_.props).map(([o,n])=>[o,o in t?t[o]:n.default])),r={blendMode:"normal",renderOrder:1,id:"fx",boundingBox:Vv(void 0)};di.registerNode("fx",c_.fragment,"root",r,xy(c_,s,"fx"),c_),di.stopAnimation(),await iT(window.__hfTypegpuTime??0)})();window.__hf=window.__hf||{};window.__hf.buildReady=window.__hf.buildReady||{};window.__hf.buildReady.shaders=zy;zy.catch(e=>console.error(String(e)));window.addEventListener("hf-seek",e=>{let t=zy.then(()=>iT(e.detail.time));typeof e.detail.waitUntil=="function"&&e.detail.waitUntil(t)});})(); diff --git a/registry/blocks/godrays/registry-item.json b/registry/blocks/godrays/registry-item.json new file mode 100644 index 00000000000..aa525dcd954 --- /dev/null +++ b/registry/blocks/godrays/registry-item.json @@ -0,0 +1,34 @@ +{ + "$schema": "https://hyperframes.heygen.com/schema/registry-item.json", + "name": "godrays", + "type": "hyperframes:block", + "title": "Godrays", + "description": "Rays of light fan out from a corner and drift across a deep blue field. A WebGPU shader from the Shaders library (shaders.com, MIT).", + "tags": ["webgpu", "webgpu-shader", "background", "light", "rays"], + "license": "Apache-2.0 AND MIT", + "dimensions": { + "width": 1920, + "height": 1080 + }, + "duration": 2, + "files": [ + { + "path": "godrays.html", + "target": "compositions/godrays.html", + "type": "hyperframes:composition" + }, + { + "path": "lib/shaders.iife.js", + "target": "compositions/lib/shaders.iife.js", + "type": "hyperframes:asset" + }, + { + "path": "lib/shaders.THIRD-PARTY-LICENSES.txt", + "target": "compositions/lib/shaders.THIRD-PARTY-LICENSES.txt", + "type": "hyperframes:asset" + } + ], + "preview": { + "video": "https://static.heygen.ai/hyperframes-oss/docs/images/catalog/blocks/godrays.mp4" + } +} diff --git a/registry/blocks/godrays/source/README.md b/registry/blocks/godrays/source/README.md new file mode 100644 index 00000000000..4d12309f956 --- /dev/null +++ b/registry/blocks/godrays/source/README.md @@ -0,0 +1,20 @@ +# Source for lib/shaders.iife.js + +One bundle drives all six shader blocks (`flowing-gradient`, `godrays`, `liquid-metal`, `marble`, +`mesh-gradient`, `nebula`). Each installs it into the project's shared compositions/lib folder, and the canvas's +`data-shader` attribute picks the shader. + +- `driver.js` renders the canvas from HyperFrames time: on every `hf-seek` it steps the library's + clock to that exact time, so preview and render draw the same frame. +- `build.mjs` bundles the driver with `shaders@4.0.0` and only these six shaders, then copies the + result into each block's `lib/`. + +## Build + +```sh +npm ci +npm run build +``` + +`package-lock.json` pins every bundled package; their licenses are in +`../lib/shaders.THIRD-PARTY-LICENSES.txt`. diff --git a/registry/blocks/godrays/source/build.mjs b/registry/blocks/godrays/source/build.mjs new file mode 100644 index 00000000000..4f6b8387228 --- /dev/null +++ b/registry/blocks/godrays/source/build.mjs @@ -0,0 +1,50 @@ +// Builds lib/shaders.iife.js, shared by the six shader blocks: the driver plus only their six shaders. shaders/core's +// index imports every shader for side effects and the registry for media sizing and presets, which these never use. +import { build } from "esbuild"; +import { copyFile, readFile } from "node:fs/promises"; + +const SHADERS = ["FlowingGradient", "Godrays", "LiquidMetal", "Marble", "MeshGradient", "Nebula"]; +const BLOCKS = ["flowing-gradient", "godrays", "liquid-metal", "marble", "mesh-gradient", "nebula"]; + +const onlyTheseShaders = { + name: "only-these-shaders", + setup(b) { + b.onLoad({ filter: /node_modules\/shaders\/dist\/core\/index\.js$/ }, async ({ path }) => { + let src = await readFile(path, "utf8"); + const before = src.length; + src = src.replace(/^import "\.\/[A-Z][\w-]*\.js";\n/gm, ""); + src = src.replace( + /import \{ n as getShaderByName, t as getAllShaders \} from "\.\/shaderRegistry-[\w-]+\.js";/, + `${SHADERS.map((n) => `import { componentDefinition as ${n} } from "shaders/core/${n}";`).join("\n")} +const __defs = [${SHADERS.join(", ")}].map((definition) => ({ definition })); +const getShaderByName = (n) => __defs.find((s) => s.definition.name === n); +const getAllShaders = () => __defs;`, + ); + if (src.length === before) + throw new Error("shaders/core index.js changed shape; this build needs a look"); + return { contents: src, loader: "js", resolveDir: path.replace(/\/[^/]+$/, "") }; + }); + }, +}; + +const out = "../lib/shaders.iife.js"; +await build({ + entryPoints: ["driver.js"], + bundle: true, + minify: true, + format: "iife", + legalComments: "eof", + outfile: out, + plugins: [onlyTheseShaders], + logLevel: "error", +}); +for (const block of BLOCKS.filter((b) => b !== "godrays")) { + await copyFile(out, `../../${block}/lib/shaders.iife.js`); +} +console.log( + "lib/shaders.iife.js", + (await readFile(out)).length, + "bytes, copied to", + BLOCKS.length - 1, + "blocks", +); diff --git a/registry/blocks/godrays/source/driver.js b/registry/blocks/godrays/source/driver.js new file mode 100644 index 00000000000..f078a55c5f9 --- /dev/null +++ b/registry/blocks/godrays/source/driver.js @@ -0,0 +1,71 @@ +// Drives the page's Shaders-library canvas (shaders@4.0.0, WebGPU) from HyperFrames time, with no clock of its own. +import { + shaderRendererGPU, + createGpuUniformsMap, + rootPassthrough, + resolveBoundingBox, +} from "shaders/core"; +import { componentDefinition as FlowingGradient } from "shaders/core/FlowingGradient"; +import { componentDefinition as Godrays } from "shaders/core/Godrays"; +import { componentDefinition as LiquidMetal } from "shaders/core/LiquidMetal"; +import { componentDefinition as Marble } from "shaders/core/Marble"; +import { componentDefinition as MeshGradient } from "shaders/core/MeshGradient"; +import { componentDefinition as Nebula } from "shaders/core/Nebula"; + +const SHADERS = { FlowingGradient, Godrays, LiquidMetal, Marble, MeshGradient, Nebula }; + +const canvas = document.querySelector("canvas[data-shader]"); +const def = SHADERS[canvas.dataset.shader]; +const renderer = shaderRendererGPU(); +let chain = Promise.resolve(); + +// The library's clock only accumulates the deltas it is given, so each frame steps it to the time asked for. Read +// the clock rather than tracking it: initialize() already drew one frame and moved it by 16 ms. +function renderAt(t) { + chain = chain.then(() => + renderer.renderSyntheticFrame(t - renderer.__testing.getFrameDiagnostics().globalElapsedTime), + ); + return chain; +} + +const ready = (async () => { + if (!def) throw new Error(`shaders: no shader named "${canvas.dataset.shader}" in this bundle`); + await renderer.initialize({ canvas, observeElement: false, colorSpace: "srgb" }); + const reason = renderer.getFailureReason(); + if (reason) throw new Error(`shaders: WebGPU unavailable (${reason})`); + // Synchronous from here to stopAnimation, so the library's own loop draws no frame in between. + renderer.registerNode("root", rootPassthrough.fragment, null, null, {}, rootPassthrough); + const props = JSON.parse(canvas.dataset.shaderProps || "{}"); + const values = Object.fromEntries( + Object.entries(def.props).map(([name, prop]) => [ + name, + name in props ? props[name] : prop.default, + ]), + ); + const at = { + blendMode: "normal", + renderOrder: 1, + id: "fx", + boundingBox: resolveBoundingBox(undefined), + }; + renderer.registerNode( + "fx", + def.fragment, + "root", + at, + createGpuUniformsMap(def, values, "fx"), + def, + ); + renderer.stopAnimation(); + await renderAt(window.__hfTypegpuTime ?? 0); +})(); + +window.__hf = window.__hf || {}; +window.__hf.buildReady = window.__hf.buildReady || {}; +window.__hf.buildReady.shaders = ready; +ready.catch((err) => console.error(String(err))); + +window.addEventListener("hf-seek", (e) => { + const done = ready.then(() => renderAt(e.detail.time)); + if (typeof e.detail.waitUntil === "function") e.detail.waitUntil(done); +}); diff --git a/registry/blocks/godrays/source/package-lock.json b/registry/blocks/godrays/source/package-lock.json new file mode 100644 index 00000000000..e2f5eac89eb --- /dev/null +++ b/registry/blocks/godrays/source/package-lock.json @@ -0,0 +1,577 @@ +{ + "name": "shader-blocks-source", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "shader-blocks-source", + "devDependencies": { + "esbuild": "0.27.7", + "shaders": "4.0.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", + "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", + "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", + "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", + "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", + "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", + "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", + "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", + "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", + "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", + "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", + "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", + "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", + "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", + "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", + "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", + "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", + "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", + "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", + "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", + "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", + "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", + "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", + "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", + "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", + "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", + "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/esbuild": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.7", + "@esbuild/android-arm": "0.27.7", + "@esbuild/android-arm64": "0.27.7", + "@esbuild/android-x64": "0.27.7", + "@esbuild/darwin-arm64": "0.27.7", + "@esbuild/darwin-x64": "0.27.7", + "@esbuild/freebsd-arm64": "0.27.7", + "@esbuild/freebsd-x64": "0.27.7", + "@esbuild/linux-arm": "0.27.7", + "@esbuild/linux-arm64": "0.27.7", + "@esbuild/linux-ia32": "0.27.7", + "@esbuild/linux-loong64": "0.27.7", + "@esbuild/linux-mips64el": "0.27.7", + "@esbuild/linux-ppc64": "0.27.7", + "@esbuild/linux-riscv64": "0.27.7", + "@esbuild/linux-s390x": "0.27.7", + "@esbuild/linux-x64": "0.27.7", + "@esbuild/netbsd-arm64": "0.27.7", + "@esbuild/netbsd-x64": "0.27.7", + "@esbuild/openbsd-arm64": "0.27.7", + "@esbuild/openbsd-x64": "0.27.7", + "@esbuild/openharmony-arm64": "0.27.7", + "@esbuild/sunos-x64": "0.27.7", + "@esbuild/win32-arm64": "0.27.7", + "@esbuild/win32-ia32": "0.27.7", + "@esbuild/win32-x64": "0.27.7" + } + }, + "node_modules/shaders": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/shaders/-/shaders-4.0.0.tgz", + "integrity": "sha512-VZcovZurQf1tkkRiJWHoujpxkivfJUX7jZPC8jNmN/+s7dg+TE57kqh10puLXLHhXAP8I00zdWLXhbPhWlZEYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "typegpu": "0.12.3" + }, + "bin": { + "shaders": "dist/cli.js" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0", + "solid-js": "^1.8.0", + "svelte": "^5", + "vue": "^3.5.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "solid-js": { + "optional": true + }, + "svelte": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/tinyest": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/tinyest/-/tinyest-0.3.4.tgz", + "integrity": "sha512-81EcMHTCQ2IPweOGk9SpMgjbenR9ZJRsAE84btEv0DhvVKwhe7qBy28hWgatoXa9ppWzmtpHiJ+e86SiaAtY6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/tsover-runtime": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/tsover-runtime/-/tsover-runtime-0.0.7.tgz", + "integrity": "sha512-FHHwMJzZbnP23+fU1PxXljy7j0RRRosL2r1/CRUNTqfW+l7m35JsUkM615x/cAzw4GqRdXPIl3axKMj9qzpZtQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/typed-binary": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/typed-binary/-/typed-binary-4.3.3.tgz", + "integrity": "sha512-W2hLsSzt3k/tg38gDE4Fn/QiwcoqGuUHBc2cb3mXuH7KcYxe/GM57vzW14s2/bawB4R5knGgGq8Xb57vsaJ4Sg==", + "dev": true, + "license": "MIT" + }, + "node_modules/typegpu": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/typegpu/-/typegpu-0.12.3.tgz", + "integrity": "sha512-zYwQEhnPPwhq5vQKmollXRK1LCVjStOnL+2B0PiebqvAzYPr25rPNR4r3olLoow5sKKjyj3kzHKEcpD5SyDzGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyest": "~0.3.2", + "tsover-runtime": "^0.0.7", + "typed-binary": "^4.3.3" + }, + "bin": { + "typegpu": "bin.mjs" + }, + "engines": { + "node": ">=12.20.0" + } + } + } +} diff --git a/registry/blocks/godrays/source/package.json b/registry/blocks/godrays/source/package.json new file mode 100644 index 00000000000..8e10e6a9ae8 --- /dev/null +++ b/registry/blocks/godrays/source/package.json @@ -0,0 +1,12 @@ +{ + "name": "shader-blocks-source", + "private": true, + "type": "module", + "scripts": { + "build": "node build.mjs" + }, + "devDependencies": { + "esbuild": "0.27.7", + "shaders": "4.0.0" + } +} diff --git a/registry/blocks/liquid-metal/lib/shaders.THIRD-PARTY-LICENSES.txt b/registry/blocks/liquid-metal/lib/shaders.THIRD-PARTY-LICENSES.txt new file mode 100644 index 00000000000..1791b74a912 --- /dev/null +++ b/registry/blocks/liquid-metal/lib/shaders.THIRD-PARTY-LICENSES.txt @@ -0,0 +1,314 @@ +================================================================ +shaders 4.0.0 +================================================================ + +MIT License + +Copyright (c) 2026 Shader Effects Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +================================================================ +typegpu 0.12.3 +================================================================ + +MIT License + +Copyright (c) 2025 Software Mansion + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +================================================================ +tinyest 0.3.4 +================================================================ + +MIT License + +Copyright (c) 2025 Software Mansion + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +================================================================ +typed-binary 4.3.3 +================================================================ + +MIT License + +Copyright (c) 2022 Iwo Plaza + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +================================================================ +tsover-runtime 0.0.7 +================================================================ + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + diff --git a/registry/blocks/liquid-metal/lib/shaders.iife.js b/registry/blocks/liquid-metal/lib/shaders.iife.js new file mode 100644 index 00000000000..8924644b2c1 --- /dev/null +++ b/registry/blocks/liquid-metal/lib/shaders.iife.js @@ -0,0 +1,266 @@ +(()=>{var mi=class extends Error{reason;constructor(e,t,s){super(t??`[gpu] WebGPU unavailable (${e})`),this.name="GpuUnavailableError",this.reason=e,s?.cause!==void 0&&(this.cause=s.cause)}};function I1(e){return!!e&&typeof e=="object"&&e.name==="GpuUnavailableError"&&typeof e.reason=="string"}var rh=null;function v_(){if(rh!==null)return rh;let e=globalThis.__SHADERS_DEBUG__;if(e!=null)return!!e;try{if(typeof localStorage<"u"&&localStorage.getItem("shaders:debug")==="1")return!0}catch{}return!1}var oh=!1;function nh(){oh=!0}function y_(...e){(v_()||oh)&&console.error(...e)}function Ma(...e){v_()&&console.warn(...e)}function Is(...e){v_()&&console.error(...e)}function ah(){return typeof navigator<"u"&&!!navigator.gpu}var f_=null;function ih(){return f_||(f_=(async()=>{if(!ah())return{supported:!1,reason:"unsupported"};try{return await navigator.gpu.requestAdapter({powerPreference:"high-performance"})?{supported:!0}:{supported:!1,reason:"no-adapter"}}catch(e){return Is("[gpu] adapter probe threw:",e),{supported:!1,reason:"no-adapter"}}})(),f_)}var zT=new Set(["unsupported","no-adapter","no-device","out-of-memory","gpu-error"]),L1=null;function dh(e){L1||!zT.has(e)||(L1=e)}function ch(){return L1}function ms(e,t){let s=e.length;Array.isArray(e[0])||(e=[e]),Array.isArray(t[0])||(t=t.map(i=>[i]));let r=t[0].length,o=t[0].map((i,d)=>t.map(c=>c[d])),n=e.map(i=>o.map(d=>{let c=0;if(!Array.isArray(i)){for(let _ of d)c+=i*_;return c}for(let _=0;_i[0]):n}function Rd(e){return On(e)==="string"}function On(e){return(Object.prototype.toString.call(e).match(/^\[object\s+(.*?)\]$/)[1]||"").toLowerCase()}function P_(e,{precision:t,unit:s}){return Vn(e)?"none":i0(e,t)+(s??"")}function Vn(e){return Number.isNaN(e)||e instanceof Number&&e?.none}function Cs(e){return Vn(e)?0:e}function i0(e,t){if(e===0)return 0;let s=~~e,r=0;s&&t&&(r=~~Math.log10(Math.abs(s))+1);let o=10**(t-r);return Math.floor(e*o+.5)/o}var GT={deg:1,grad:.9,rad:180/Math.PI,turn:360};function d0(e){if(!e)return;e=e.trim();let t=/^([a-z]+)\((.+?)\)$/i,s=/^-?[\d.]+$/,r=/%|deg|g?rad|turn$/,o=/\/?\s*(none|[-\w.]+(?:%|deg|g?rad|turn)?)/g,n=e.match(t);if(n){let i=[];return n[2].replace(o,(d,c)=>{let _=c.match(r),u=c;if(_){let m=_[0],p=u.slice(0,-m.length);m==="%"?(u=new Number(p/100),u.type=""):(u=new Number(p*GT[m]),u.type="",u.unit=m)}else s.test(u)?(u=new Number(u),u.type=""):u==="none"&&(u=new Number(NaN),u.none=!0);d.startsWith("/")&&(u=u instanceof Number?u:new Number(u),u.alpha=!0),typeof u=="object"&&u instanceof Number&&(u.raw=c),i.push(u)}),{name:n[1].toLowerCase(),rawName:n[1],rawArgs:n[2],args:i}}}function c0(e){return e[e.length-1]}function $d(e,t,s){return isNaN(e)?t:isNaN(t)?e:e+(t-e)*s}function _0(e,t,s){return(s-e)/(t-e)}function rm(e,t,s){return $d(t[0],t[1],_0(e[0],e[1],s))}function l0(e){return e.map(t=>t.split("|").map(s=>{s=s.trim();let r=s.match(/^(<[a-z]+>)\[(-?[.\d]+),\s*(-?[.\d]+)\]?$/);if(r){let o=new String(r[1]);return o.range=[+r[2],+r[3]],o}return s}))}function u0(e,t,s){return Math.max(Math.min(s,t),e)}function U_(e,t){return Math.sign(e)===Math.sign(t)?e:-e}function qo(e,t){return U_(Math.abs(e)**t,e)}function om(e,t){return t===0?0:e/t}function m0(e,t,s=0,r=e.length){for(;s>1;e[o]","",""]);function _h(e,t,s,r){return Object.entries(e.coords).map(([o,n],i)=>{let d=t.coordGrammar[i],c=r[i],_=c?.type,u;if(c.none?u=d.find(y=>IT.has(y)):u=d.find(y=>y==_),!u){let y=n.name||o;throw new TypeError(`${_??c.raw} not allowed for ${y} in ${s}()`)}let m=u.range;_===""&&(m||=[0,1]);let p=n.range||n.refRange;return m&&p&&(r[i]=rm(m,p,r[i])),u})}function p0(e,{meta:t}={}){let s={str:String(e)?.trim()};if(Nn.run("parse-start",s),s.color)return s.color;if(s.parsed=d0(s.str),s.parsed){let r=s.parsed.name;if(r==="color"){let o=s.parsed.args.shift(),n=o.startsWith("--")?o.substring(2):`--${o}`,i=[o,n],d=s.parsed.rawArgs.indexOf("/")>0?s.parsed.args.pop():1;for(let u of qe.all){let m=u.getFormat("color");if(m&&(i.includes(m.id)||m.ids?.filter(p=>i.includes(p)).length)){let p=Object.keys(u.coords).map((h,g)=>s.parsed.args[g]||0),y;return m.coordGrammar&&(y=_h(u,m,"color",p)),t&&Object.assign(t,{formatId:"color",types:y}),m.id.startsWith("--")&&!o.startsWith("--")&&to.warn(`${u.name} is a non-standard space and not currently supported in the CSS spec. Use prefixed color(${m.id}) instead of color(${o}).`),o.startsWith("--")&&!m.id.startsWith("--")&&to.warn(`${u.name} is a standard space and supported in the CSS spec. Use color(${m.id}) instead of prefixed color(${o}).`),{spaceId:u.id,coords:p,alpha:d}}}let c="",_=o in qe.registry?o:n;if(_ in qe.registry){let u=qe.registry[_].formats?.color?.id;u&&(c=`Did you mean color(${u})?`)}throw new TypeError(`Cannot parse color(${o}). `+(c||"Missing a plugin?"))}else for(let o of qe.all){let n=o.getFormat(r);if(n&&n.type==="function"){let i=1;(n.lastAlpha||c0(s.parsed.args).alpha)&&(i=s.parsed.args.pop());let d=s.parsed.args,c;return n.coordGrammar&&(c=_h(o,n,r,d)),t&&Object.assign(t,{formatId:n.name,types:c}),{spaceId:o.id,coords:d,alpha:i}}}}else for(let r of qe.all)for(let o in r.formats){let n=r.formats[o];if(n.type!=="custom"||n.test&&!n.test(s.str))continue;let i=n.parse(s.str);if(i)return i.alpha??=1,t&&(t.formatId=o),i}throw new TypeError(`Could not parse ${e} as a color. Missing a plugin?`)}function yt(e){if(Array.isArray(e))return e.map(yt);if(!e)throw new TypeError("Empty color reference");Rd(e)&&(e=p0(e));let t=e.space||e.spaceId;return t instanceof qe||(e.space=qe.get(t)),e.alpha===void 0&&(e.alpha=1),e}var DT=75e-6,qe=class Yo{constructor(t){this.id=t.id,this.name=t.name,this.base=t.base?Yo.get(t.base):null,this.aliases=t.aliases,this.base&&(this.fromBase=t.fromBase,this.toBase=t.toBase);let s=t.coords??this.base.coords;for(let r in s)"name"in s[r]||(s[r].name=r);this.coords=s,this.white=j1(t.white??this.base.white??"D65"),this.formats=t.formats??{};for(let r in this.formats){let o=this.formats[r];o.type||="function",o.name||=r}this.formats.color?.id||(this.formats.color={...this.formats.color??{},id:t.cssId||this.id}),t.gamutSpace?this.gamutSpace=t.gamutSpace==="self"?this:Yo.get(t.gamutSpace):this.isPolar?this.gamutSpace=this.base:this.gamutSpace=this,this.gamutSpace.isUnbounded&&(this.inGamut=(r,o)=>!0),this.referred=t.referred,Object.defineProperty(this,"path",{value:FT(this).reverse(),writable:!1,enumerable:!0,configurable:!0}),Nn.run("colorspace-init-end",this)}inGamut(t,{epsilon:s=DT}={}){if(!this.equals(this.gamutSpace))return t=this.to(this.gamutSpace,t),this.gamutSpace.inGamut(t,{epsilon:s});let r=Object.values(this.coords);return t.every((o,n)=>{let i=r[n];if(i.type!=="angle"&&i.range){if(Number.isNaN(o))return!0;let[d,c]=i.range;return(d===void 0||o>=d-s)&&(c===void 0||o<=c+s)}return!0})}get isUnbounded(){return Object.values(this.coords).every(t=>!("range"in t))}get cssId(){return this.formats?.color?.id||this.id}get isPolar(){for(let t in this.coords)if(this.coords[t].type==="angle")return!0;return!1}getFormat(t){if(typeof t=="object")return t=lh(t,this),t;let s;return t==="default"?s=Object.values(this.formats)[0]:s=this.formats[t],s?(s=lh(s,this),s):null}equals(t){return t?this===t||this.id===t||this.id===t.id:!1}to(t,s){if(arguments.length===1){let d=yt(t);[t,s]=[d.space,d.coords]}if(t=Yo.get(t),this.equals(t))return s;s=s.map(d=>Number.isNaN(d)?0:d);let r=this.path,o=t.path,n,i;for(let d=0;di;d--)s=r[d].toBase(s);for(let d=i+1;d=0){let c=Object.entries(o.coords)[n];if(c)return{space:o,id:c[0],index:n,...c[1]}}o=Yo.get(o);let i=n.toLowerCase(),d=0;for(let c in o.coords){let _=o.coords[c];if(c.toLowerCase()===i||_.name?.toLowerCase()===i)return{space:o,id:c,index:d,..._};d++}throw new TypeError(`No "${n}" coordinate found in ${o.name}. Its coordinates are: ${Object.keys(o.coords).join(", ")}`)}static DEFAULT_FORMAT={type:"functions",name:"color"}};function FT(e){let t=[e];for(let s=e;s=s.base;)t.push(s);return t}function lh(e,{coords:t}={}){if(e.coords&&!e.coordGrammar){e.type||="function",e.name||="color",e.coordGrammar=l0(e.coords);let s=Object.entries(t).map(([r,o],n)=>{let i=e.coordGrammar[n][0],d=o.range||o.refRange,c=i.range,_="";return i==""?(c=[0,100],_="%"):i==""&&(_="deg"),{fromRange:d,toRange:c,suffix:_}});e.serializeCoords=(r,o)=>r.map((n,i)=>{let{fromRange:d,toRange:c,suffix:_}=s[i];return d&&c&&(n=rm(d,c,n)),n=P_(n,{precision:o,unit:_}),n})}return e}var ar=new qe({id:"xyz-d65",name:"XYZ D65",coords:{x:{name:"X"},y:{name:"Y"},z:{name:"Z"}},white:"D65",formats:{color:{ids:["xyz-d65","xyz"]}},aliases:["xyz"]}),Dr=class extends qe{constructor(e){e.coords||(e.coords={r:{range:[0,1],name:"Red"},g:{range:[0,1],name:"Green"},b:{range:[0,1],name:"Blue"}}),e.base||(e.base=ar),e.toXYZ_M&&e.fromXYZ_M&&(e.toBase??=t=>{let s=ms(e.toXYZ_M,t);return this.white!==this.base.white&&(s=E_(this.white,this.base.white,s)),s},e.fromBase??=t=>(t=E_(this.base.white,this.white,t),ms(e.fromXYZ_M,t))),e.referred??="display",super(e)}};function zd(e,t){return e=yt(e),!t||e.space.equals(t)?e.coords.slice():(t=qe.get(t),t.from(e))}function Jr(e,t){e=yt(e);let{space:s,index:r}=qe.resolveCoord(t,e.space);return zd(e,s)[r]}function nm(e,t,s){return e=yt(e),t=qe.get(t),e.coords=t.to(e.space,s),e}nm.returns="color";function pn(e,t,s){if(e=yt(e),arguments.length===2&&On(arguments[1])==="object"){let r=arguments[1];for(let o in r)pn(e,o,r[o])}else{typeof s=="function"&&(s=s(Jr(e,t)));let{space:r,index:o}=qe.resolveCoord(t,e.space),n=zd(e,r);n[o]=s,nm(e,r,n)}return e}pn.returns="color";var am=new qe({id:"xyz-d50",name:"XYZ D50",white:"D50",base:ar,fromBase:e=>E_(ar.white,"D50",e),toBase:e=>E_("D50",ar.white,e)}),BT=216/24389,uh=24/116,h_=24389/27,D1=Tr.D50,eo=new qe({id:"lab",name:"Lab",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:D1,base:am,fromBase(e){let t=e.map((s,r)=>s/D1[r]).map(s=>s>BT?Math.cbrt(s):(h_*s+16)/116);return[116*t[1]-16,500*(t[0]-t[1]),200*(t[1]-t[2])]},toBase(e){let t=[];return t[1]=(e[0]+16)/116,t[0]=e[1]/500+t[1],t[2]=t[1]-e[2]/200,[t[0]>uh?Math.pow(t[0],3):(116*t[0]-16)/h_,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/h_,t[2]>uh?Math.pow(t[2],3):(116*t[2]-16)/h_].map((s,r)=>s*D1[r])},formats:{lab:{coords:[" | "," | [-1,1]"," | [-1,1]"]}}});function Xo(e){return(e%360+360)%360}function WT(e,t){if(e==="raw")return t;let[s,r]=t.map(Xo),o=r-s;return e==="increasing"?o<0&&(r+=360):e==="decreasing"?o>0&&(s+=360):e==="longer"?-1800?s+=360:r+=360):e==="shorter"&&(o>180?s+=360:o<-180&&(r+=360)),[s,r]}var Ud=new qe({id:"lch",name:"LCH",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,150],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:eo,fromBase(e){let[t,s,r]=e,o,n=.02;return Math.abs(s) | "," | "," | "]}}}),mh=25**7,k_=Math.PI,ph=180/k_,pi=k_/180;function fh(e){let t=e*e;return t*t*t*e}function f0(e,t,{kL:s=1,kC:r=1,kH:o=1}={}){[e,t]=yt([e,t]);let[n,i,d]=eo.from(e),c=Ud.from(eo,[n,i,d])[1],[_,u,m]=eo.from(t),p=Ud.from(eo,[_,u,m])[1];c<0&&(c=0),p<0&&(p=0);let y=fh((c+p)/2),h=.5*(1-Math.sqrt(y/(y+mh))),g=(1+h)*i,w=(1+h)*u,S=Math.sqrt(g**2+d**2),T=Math.sqrt(w**2+m**2),A=g===0&&d===0?0:Math.atan2(d,g),P=w===0&&m===0?0:Math.atan2(m,w);A<0&&(A+=2*k_),P<0&&(P+=2*k_),A*=ph,P*=ph;let U=_-n,D=T-S,O=P-A,L=A+P,G=Math.abs(O),W;S*T===0?W=0:G<=180?W=O:O>180?W=O-360:O<-180?W=O+360:to.warn("the unthinkable has happened");let K=2*Math.sqrt(T*S)*Math.sin(W*pi/2),Q=(n+_)/2,te=(S+T)/2,ee=fh(te),he;S*T===0?he=L:G<=180?he=L/2:L<360?he=(L+360)/2:he=(L-360)/2;let Ee=(Q-50)**2,Te=1+.015*Ee/Math.sqrt(20+Ee),Ue=1+.045*te,Me=1;Me-=.17*Math.cos((he-30)*pi),Me+=.24*Math.cos(2*he*pi),Me+=.32*Math.cos((3*he+6)*pi),Me-=.2*Math.cos((4*he-63)*pi);let Pe=1+.015*te*Me,Re=30*Math.exp(-1*((he-275)/25)**2),de=2*Math.sqrt(ee/(ee+mh)),je=-1*Math.sin(2*Re*pi)*de,fe=(U/(s*Te))**2;return fe+=(D/(r*Ue))**2,fe+=(K/(o*Pe))**2,fe+=je*(D/(r*Ue))*(K/(o*Pe)),Math.sqrt(fe)}var OT=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],VT=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],NT=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],qT=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],hi=new qe({id:"oklab",name:"Oklab",coords:{l:{refRange:[0,1],name:"Lightness"},a:{refRange:[-.4,.4]},b:{refRange:[-.4,.4]}},white:"D65",base:ar,fromBase(e){return ms(NT,ms(OT,e).map(t=>Math.cbrt(t)))},toBase(e){return ms(VT,ms(qT,e).map(t=>t**3))},formats:{oklab:{coords:[" | "," | [-1,1]"," | [-1,1]"]}}});function K1(e,t){[e,t]=yt([e,t]);let[s,r,o]=hi.from(e),[n,i,d]=hi.from(t),c=s-n,_=r-i,u=o-d;return Math.sqrt(c**2+_**2+u**2)}var XT=75e-6;function Ea(e,t,{epsilon:s=XT}={}){e=yt(e),t||(t=e.space),t=qe.get(t);let r=e.coords;return t!==e.space&&(r=t.from(e)),t.inGamut(r,{epsilon:s})}function xi(e){return{space:e.space,coords:e.coords.slice(),alpha:e.alpha}}function v0(e,t,s="lab"){s=qe.get(s);let r=s.from(e),o=s.from(t);return Math.sqrt(r.reduce((n,i,d)=>{let c=o[d];return isNaN(i)||isNaN(c)?n:n+(c-i)**2},0))}function HT(e,t){return v0(e,t,"lab")}var vh=Math.PI/180;function jT(e,t,{l:s=2,c:r=1}={}){[e,t]=yt([e,t]);let[o,n,i]=eo.from(e),[,d,c]=Ud.from(eo,[o,n,i]),[_,u,m]=eo.from(t),p=Ud.from(eo,[_,u,m])[1];d<0&&(d=0),p<0&&(p=0);let y=o-_,h=d-p,g=n-u,w=i-m,S=g**2+w**2-h**2,T=.511;o>=16&&(T=.040975*o/(1+.01765*o));let A=.0638*d/(1+.0131*d)+.638,P;Number.isNaN(c)&&(c=0),c>=164&&c<=345?P=.56+Math.abs(.2*Math.cos((c+168)*vh)):P=.36+Math.abs(.4*Math.cos((c+35)*vh));let U=Math.pow(d,4),D=Math.sqrt(U/(U+1900)),O=A*(D*P+1-D),L=(y/(s*T))**2;return L+=(h/(r*A))**2,L+=S/O**2,Math.sqrt(L)}var yh=203,im=new qe({id:"xyz-abs-d65",cssId:"--xyz-abs-d65",name:"Absolute XYZ D65",coords:{x:{refRange:[0,9504.7],name:"Xa"},y:{refRange:[0,1e4],name:"Ya"},z:{refRange:[0,10888.3],name:"Za"}},base:ar,fromBase(e){return e.map(t=>Math.max(t*yh,0))},toBase(e){return e.map(t=>Math.max(t/yh,0))}}),x_=1.15,g_=.66,hh=2610/2**14,KT=2**14/2610,xh=3424/2**12,gh=2413/2**7,bh=2392/2**7,ZT=1.7*2523/2**5,wh=2**5/(1.7*2523),b_=-.56,F1=16295499532821565e-27,QT=[[.41478972,.579999,.014648],[-.20151,1.120649,.0531008],[-.0166008,.2648,.6684799]],JT=[[1.9242264357876067,-1.0047923125953657,.037651404030618],[.35031676209499907,.7264811939316552,-.06538442294808501],[-.09098281098284752,-.3127282905230739,1.5227665613052603]],eS=[[.5,.5,0],[3.524,-4.066708,.542708],[.199076,1.096799,-1.295875]],tS=[[1,.1386050432715393,.05804731615611886],[.9999999999999999,-.1386050432715393,-.05804731615611886],[.9999999999999998,-.09601924202631895,-.8118918960560388]],y0=new qe({id:"jzazbz",name:"Jzazbz",coords:{jz:{refRange:[0,1],name:"Jz"},az:{refRange:[-.5,.5]},bz:{refRange:[-.5,.5]}},base:im,fromBase(e){let[t,s,r]=e,[o,n,i]=ms(eS,ms(QT,[x_*t-(x_-1)*r,g_*s-(g_-1)*t,r]).map(function(d){return((xh+gh*(d/1e4)**hh)/(1+bh*(d/1e4)**hh))**ZT}));return[(1+b_)*o/(1+b_*o)-F1,n,i]},toBase(e){let[t,s,r]=e,[o,n,i]=ms(JT,ms(tS,[(t+F1)/(1+b_-b_*(t+F1)),s,r]).map(function(c){return 1e4*((xh-c**wh)/(bh*c**wh-gh))**KT})),d=(o+(x_-1)*i)/x_;return[d,(n+(g_-1)*d)/g_,i]},formats:{color:{coords:[" | "," | [-1,1]"," | [-1,1]"]}}}),Z1=new qe({id:"jzczhz",name:"JzCzHz",coords:{jz:{refRange:[0,1],name:"Jz"},cz:{refRange:[0,1],name:"Chroma"},hz:{refRange:[0,360],type:"angle",name:"Hue"}},base:y0,fromBase(e){let[t,s,r]=e,o,n=2e-4;return Math.abs(s){let r=qo(t*Math.abs(s)*.01,b0);return 400*U_(r,s)/(r+27.13)})}function yS(e,t){let s=100/t*27.13**Ah;return e.map(r=>{let o=Math.abs(r);return U_(s*qo(o/(400-o),Ah),r)})}function hS(e){let t=Xo(e);t<=Pa.h[0]&&(t+=360);let s=m0(Pa.h,t)-1,[r,o]=Pa.h.slice(s,s+2),[n,i]=Pa.e.slice(s,s+2),d=Pa.H[s],c=(t-r)/n;return d+100*c/(c+(o-t)/i)}function xS(e){let t=(e%400+400)%400,s=Math.floor(.01*t);t=t%100;let[r,o]=Pa.h.slice(s,s+2),[n,i]=Pa.e.slice(s,s+2);return Xo((t*(i*r-n*o)-100*r*i)/(t*(i-n)-100*i))}function S0(e,t,s,r,o){let n={};n.discounting=o,n.refWhite=e,n.surround=r;let i=e.map(y=>y*100);n.la=t,n.yb=s;let d=i[1],c=ms(w0,i);r=fS[n.surround];let _=r[0];n.c=r[1],n.nc=r[2];let u=(1/(5*n.la+1))**4;n.fl=u*n.la+.1*(1-u)*(1-u)*Math.cbrt(5*n.la),n.flRoot=n.fl**.25,n.n=n.yb/d,n.z=1.48+Math.sqrt(n.n),n.nbb=.725*n.n**-.2,n.ncb=n.nbb;let m=o?1:Math.max(Math.min(_*(1-1/3.6*Math.exp((-n.la-42)/92)),1),0);n.dRgb=c.map(y=>$d(1,d/y,m)),n.dRgbInv=n.dRgb.map(y=>1/y);let p=T0(c.map((y,h)=>y*n.dRgb[h]),n.fl);return n.aW=n.nbb*(2*p[0]+p[1]+.05*p[2]),n}var Ph=S0(uS,64/Math.PI*.2,20,"average",!1);function J1(e,t){if(!(e.J!==void 0^e.Q!==void 0))throw new Error("Conversion requires one and only one: 'J' or 'Q'");if(!(e.C!==void 0^e.M!==void 0^e.s!==void 0))throw new Error("Conversion requires one and only one: 'C', 'M' or 's'");if(!(e.h!==void 0^e.H!==void 0))throw new Error("Conversion requires one and only one: 'h' or 'H'");if(e.J===0||e.Q===0)return[0,0,0];let s=0;e.h!==void 0?s=Xo(e.h)*Mh:s=xS(e.H)*Mh;let r=Math.cos(s),o=Math.sin(s),n=0;e.J!==void 0?n=qo(e.J,1/2)*.1:e.Q!==void 0&&(n=.25*t.c*e.Q/((t.aW+4)*t.flRoot));let i=0;e.C!==void 0?i=e.C/n:e.M!==void 0?i=e.M/t.flRoot/n:e.s!==void 0&&(i=4e-4*e.s**2*(t.aW+4)/t.c);let d=qo(i*Math.pow(1.64-Math.pow(.29,t.n),-.73),10/9),c=.25*(Math.cos(s+2)+3.8),_=t.aW*qo(n,2/t.c/t.z),u=5e4/13*t.nc*t.ncb*c,m=_/t.nbb,p=23*(m+.305)*om(d,23*u+d*(11*r+108*o));return ms(mS,yS(ms(pS,[m,p*r,p*o]).map(y=>y*1/1403),t.fl).map((y,h)=>y*t.dRgbInv[h])).map(y=>y/100)}function A0(e,t){let s=T0(ms(w0,e.map(g=>g*100)).map((g,w)=>g*t.dRgb[w]),t.fl),r=s[0]+(-12*s[1]+s[2])/11,o=(s[0]+s[1]-2*s[2])/9,n=(Math.atan2(o,r)%B1+B1)%B1,i=.25*(Math.cos(n+2)+3.8),d=qo(5e4/13*t.nc*t.ncb*om(i*Math.sqrt(r**2+o**2),s[0]+s[1]+1.05*s[2]+.305),.9)*Math.pow(1.64-Math.pow(.29,t.n),.73),c=qo(t.nbb*(2*s[0]+s[1]+.05*s[2])/t.aW,.5*t.c*t.z),_=100*qo(c,2),u=4/t.c*c*(t.aW+4)*t.flRoot,m=d*c,p=m*t.flRoot,y=Xo(n*vS),h=hS(y);return{J:_,C:m,h:y,s:50*qo(t.c*d/(t.aW+4),1/2),Q:u,M:p,H:h}}var gS=new qe({id:"cam16-jmh",cssId:"--cam16-jmh",name:"CAM16-JMh",coords:{j:{refRange:[0,100],name:"J"},m:{refRange:[0,105],name:"Colorfulness"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:ar,fromBase(e){let t=A0(e,Ph);return[t.J,t.M,t.h]},toBase(e){return J1({J:e[0],M:e[1],h:e[2]},Ph)}}),bS=Tr.D65,wS=216/24389,M0=24389/27;function TS(e){return 116*(e>wS?Math.cbrt(e):(M0*e+16)/116)-16}function em(e){return e>8?Math.pow((e+16)/116,3):e/M0}function SS(e,t){let[s,r,o]=e,n=[],i=0;if(o===0)return[0,0,0];let d=em(o);o>0?i=.00379058511492914*o**2+.608983189401032*o+.9155088574762233:i=9514440756550361e-21*o**2+.08693057439788597*o-21.928975842194614;let c=2e-12,_=15,u=0,m=1/0;for(;u<=_;){n=J1({J:i,C:r,h:s},t);let p=Math.abs(n[1]-d);if(p | "," | "," | "]}}}),MS=Math.PI/180,Eh=[1,.007,.0228];function kh(e){e[1]<0&&(e=Cd.fromBase(Cd.toBase(e)));let t=Math.log(Math.max(1+Eh[2]*e[1]*dm.flRoot,1))/Eh[2],s=e[0]*MS,r=t*Math.cos(s),o=t*Math.sin(s);return[e[2],r,o]}function PS(e,t){[e,t]=yt([e,t]);let[s,r,o]=kh(Cd.from(e)),[n,i,d]=kh(Cd.from(t));return Math.sqrt((s-n)**2+(r-i)**2+(o-d)**2)}var gi={deltaE76:HT,deltaECMC:jT,deltaE2000:f0,deltaEJz:sS,deltaEITP:lS,deltaEOK:K1,deltaEHCT:PS};function ES(e){let t=e?Math.floor(Math.log10(Math.abs(e))):0;return Math.max(parseFloat(`1e${t-2}`),1e-6)}var $h={hct:{method:"hct.c",jnd:2,deltaEMethod:"hct",blackWhiteClamp:{}},"hct-tonal":{method:"hct.c",jnd:0,deltaEMethod:"hct",blackWhiteClamp:{channel:"hct.t",min:0,max:100}}};function qn(e,{method:t=to.gamut_mapping,space:s=void 0,deltaEMethod:r="",jnd:o=2,blackWhiteClamp:n={}}={}){if(e=yt(e),Rd(arguments[1])?s=arguments[1]:s||(s=e.space),s=qe.get(s),Ea(e,s,{epsilon:0}))return e;let i;if(t==="css")i=kS(e,{space:s});else{if(t!=="clip"&&!Ea(e,s)){Object.prototype.hasOwnProperty.call($h,t)&&({method:t,jnd:o,deltaEMethod:r,blackWhiteClamp:n}=$h[t]);let d=f0;if(r!==""){for(let _ in gi)if("deltae"+r.toLowerCase()===_.toLowerCase()){d=gi[_];break}}let c=qn(us(e,s),{method:"clip",space:s});if(d(e,c)>o){if(Object.keys(n).length===3){let S=qe.resolveCoord(n.channel),T=Jr(us(e,S.space),S.id);if(Vn(T)&&(T=0),T>=n.max)return us({space:"xyz-d65",coords:Tr.D65},e.space);if(T<=n.min)return us({space:"xyz-d65",coords:[0,0,0]},e.space)}let _=qe.resolveCoord(t),u=_.space,m=_.id,p=us(e,u);p.coords.forEach((S,T)=>{Vn(S)&&(p.coords[T]=0)});let y=(_.range||_.refRange)[0],h=ES(o),g=y,w=Jr(p,m);for(;w-g>h;){let S=xi(p);S=qn(S,{space:s,method:"clip"}),d(p,S)-oc.range||[]);i.coords=i.coords.map((c,_)=>{let[u,m]=d[_];return u!==void 0&&(c=Math.max(u,c)),m!==void 0&&(c=Math.min(c,m)),c})}}return s!==e.space&&(i=us(i,e.space)),e.coords=i.coords,e}qn.returns="color";var Uh={WHITE:{space:hi,coords:[1,0,0]},BLACK:{space:hi,coords:[0,0,0]}};function kS(e,{space:t}={}){e=yt(e),t||(t=e.space),t=qe.get(t);let o=qe.get("oklch");if(t.isUnbounded)return us(e,t);let n=us(e,o),i=n.coords[0];if(i>=1){let h=us(Uh.WHITE,t);return h.alpha=e.alpha,us(h,t)}if(i<=0){let h=us(Uh.BLACK,t);return h.alpha=e.alpha,us(h,t)}if(Ea(n,t,{epsilon:0}))return us(n,t);function d(h){let g=us(h,t),w=Object.values(t.coords);return g.coords=g.coords.map((S,T)=>{if("range"in w[T]){let[A,P]=w[T].range;return u0(A,S,P)}return S}),g}let c=0,_=n.coords[1],u=!0,m=xi(n),p=d(m),y=K1(p,m);if(y<.02)return p;for(;_-c>1e-4;){let h=(c+_)/2;if(m.coords[1]=h,u&&Ea(m,t,{epsilon:0}))c=h;else if(p=d(m),y=K1(p,m),y<.02){if(.02-y<1e-4)break;u=!1,c=h}else _=h}return p}function us(e,t,{inGamut:s}={}){e=yt(e),t=qe.get(t);let r=t.from(e),o={space:t,coords:r,alpha:e.alpha};return s&&(o=qn(o,s===!0?void 0:s)),o}us.returns="color";function kd(e,{precision:t=to.precision,format:s="default",inGamut:r=!0,...o}={}){let n;e=yt(e);let i=s;s=e.space.getFormat(s)??e.space.getFormat("default")??qe.DEFAULT_FORMAT;let d=e.coords.slice();if(r||=s.toGamut,r&&!Ea(e)&&(d=qn(xi(e),r===!0?void 0:r).coords),s.type==="custom")if(o.precision=t,s.serialize)n=s.serialize(d,e.alpha,o);else throw new TypeError(`format ${i} can only be used to parse colors, not for serialization`);else{let c=s.name||"color";s.serializeCoords?d=s.serializeCoords(d,t):t!==null&&(d=d.map(p=>P_(p,{precision:t})));let _=[...d];if(c==="color"){let p=s.id||s.ids?.[0]||e.space.id;_.unshift(p)}let u=e.alpha;t!==null&&(u=P_(u,{precision:t}));let m=e.alpha>=1||s.noAlpha?"":`${s.commas?",":" /"} ${u}`;n=`${c}(${_.join(s.commas?", ":" ")}${m})`}return n}var C_=new Dr({id:"rec2020-linear",cssId:"--rec2020-linear",name:"Linear REC.2020",white:"D65",toXYZ_M:[[.6369580483012914,.14461690358620832,.1688809751641721],[.2627002120112671,.6779980715188708,.05930171646986196],[0,.028072693049087428,1.060985057710791]],fromXYZ_M:[[1.716651187971268,-.355670783776392,-.25336628137366],[-.666684351832489,1.616481236634939,.0157685458139111],[.017639857445311,-.042770613257809,.942103121235474]]}),w_=1.09929682680944,Ch=.018053968510807,P0=new Dr({id:"rec2020",name:"REC.2020",base:C_,toBase(e){return e.map(function(t){return t=Ch?w_*Math.pow(t,.45)-(w_-1):4.5*t})}}),E0=new Dr({id:"p3-linear",cssId:"--display-p3-linear",name:"Linear P3",white:"D65",toXYZ_M:[[.4865709486482162,.26566769316909306,.1982172852343625],[.2289745640697488,.6917385218365064,.079286914093745],[0,.04511338185890264,1.043944368900976]],fromXYZ_M:[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]]}),$S=[[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Ds=[[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],k0=new Dr({id:"srgb-linear",name:"Linear sRGB",white:"D65",toXYZ_M:$S,fromXYZ_M:Ds}),Rh={aliceblue:[240/255,248/255,1],antiquewhite:[250/255,235/255,215/255],aqua:[0,1,1],aquamarine:[127/255,1,212/255],azure:[240/255,1,1],beige:[245/255,245/255,220/255],bisque:[1,228/255,196/255],black:[0,0,0],blanchedalmond:[1,235/255,205/255],blue:[0,0,1],blueviolet:[138/255,43/255,226/255],brown:[165/255,42/255,42/255],burlywood:[222/255,184/255,135/255],cadetblue:[95/255,158/255,160/255],chartreuse:[127/255,1,0],chocolate:[210/255,105/255,30/255],coral:[1,127/255,80/255],cornflowerblue:[100/255,149/255,237/255],cornsilk:[1,248/255,220/255],crimson:[220/255,20/255,60/255],cyan:[0,1,1],darkblue:[0,0,139/255],darkcyan:[0,139/255,139/255],darkgoldenrod:[184/255,134/255,11/255],darkgray:[169/255,169/255,169/255],darkgreen:[0,100/255,0],darkgrey:[169/255,169/255,169/255],darkkhaki:[189/255,183/255,107/255],darkmagenta:[139/255,0,139/255],darkolivegreen:[85/255,107/255,47/255],darkorange:[1,140/255,0],darkorchid:[153/255,50/255,204/255],darkred:[139/255,0,0],darksalmon:[233/255,150/255,122/255],darkseagreen:[143/255,188/255,143/255],darkslateblue:[72/255,61/255,139/255],darkslategray:[47/255,79/255,79/255],darkslategrey:[47/255,79/255,79/255],darkturquoise:[0,206/255,209/255],darkviolet:[148/255,0,211/255],deeppink:[1,20/255,147/255],deepskyblue:[0,191/255,1],dimgray:[105/255,105/255,105/255],dimgrey:[105/255,105/255,105/255],dodgerblue:[30/255,144/255,1],firebrick:[178/255,34/255,34/255],floralwhite:[1,250/255,240/255],forestgreen:[34/255,139/255,34/255],fuchsia:[1,0,1],gainsboro:[220/255,220/255,220/255],ghostwhite:[248/255,248/255,1],gold:[1,215/255,0],goldenrod:[218/255,165/255,32/255],gray:[128/255,128/255,128/255],green:[0,128/255,0],greenyellow:[173/255,1,47/255],grey:[128/255,128/255,128/255],honeydew:[240/255,1,240/255],hotpink:[1,105/255,180/255],indianred:[205/255,92/255,92/255],indigo:[75/255,0,130/255],ivory:[1,1,240/255],khaki:[240/255,230/255,140/255],lavender:[230/255,230/255,250/255],lavenderblush:[1,240/255,245/255],lawngreen:[124/255,252/255,0],lemonchiffon:[1,250/255,205/255],lightblue:[173/255,216/255,230/255],lightcoral:[240/255,128/255,128/255],lightcyan:[224/255,1,1],lightgoldenrodyellow:[250/255,250/255,210/255],lightgray:[211/255,211/255,211/255],lightgreen:[144/255,238/255,144/255],lightgrey:[211/255,211/255,211/255],lightpink:[1,182/255,193/255],lightsalmon:[1,160/255,122/255],lightseagreen:[32/255,178/255,170/255],lightskyblue:[135/255,206/255,250/255],lightslategray:[119/255,136/255,153/255],lightslategrey:[119/255,136/255,153/255],lightsteelblue:[176/255,196/255,222/255],lightyellow:[1,1,224/255],lime:[0,1,0],limegreen:[50/255,205/255,50/255],linen:[250/255,240/255,230/255],magenta:[1,0,1],maroon:[128/255,0,0],mediumaquamarine:[102/255,205/255,170/255],mediumblue:[0,0,205/255],mediumorchid:[186/255,85/255,211/255],mediumpurple:[147/255,112/255,219/255],mediumseagreen:[60/255,179/255,113/255],mediumslateblue:[123/255,104/255,238/255],mediumspringgreen:[0,250/255,154/255],mediumturquoise:[72/255,209/255,204/255],mediumvioletred:[199/255,21/255,133/255],midnightblue:[25/255,25/255,112/255],mintcream:[245/255,1,250/255],mistyrose:[1,228/255,225/255],moccasin:[1,228/255,181/255],navajowhite:[1,222/255,173/255],navy:[0,0,128/255],oldlace:[253/255,245/255,230/255],olive:[128/255,128/255,0],olivedrab:[107/255,142/255,35/255],orange:[1,165/255,0],orangered:[1,69/255,0],orchid:[218/255,112/255,214/255],palegoldenrod:[238/255,232/255,170/255],palegreen:[152/255,251/255,152/255],paleturquoise:[175/255,238/255,238/255],palevioletred:[219/255,112/255,147/255],papayawhip:[1,239/255,213/255],peachpuff:[1,218/255,185/255],peru:[205/255,133/255,63/255],pink:[1,192/255,203/255],plum:[221/255,160/255,221/255],powderblue:[176/255,224/255,230/255],purple:[128/255,0,128/255],rebeccapurple:[102/255,51/255,153/255],red:[1,0,0],rosybrown:[188/255,143/255,143/255],royalblue:[65/255,105/255,225/255],saddlebrown:[139/255,69/255,19/255],salmon:[250/255,128/255,114/255],sandybrown:[244/255,164/255,96/255],seagreen:[46/255,139/255,87/255],seashell:[1,245/255,238/255],sienna:[160/255,82/255,45/255],silver:[192/255,192/255,192/255],skyblue:[135/255,206/255,235/255],slateblue:[106/255,90/255,205/255],slategray:[112/255,128/255,144/255],slategrey:[112/255,128/255,144/255],snow:[1,250/255,250/255],springgreen:[0,1,127/255],steelblue:[70/255,130/255,180/255],tan:[210/255,180/255,140/255],teal:[0,128/255,128/255],thistle:[216/255,191/255,216/255],tomato:[1,99/255,71/255],turquoise:[64/255,224/255,208/255],violet:[238/255,130/255,238/255],wheat:[245/255,222/255,179/255],white:[1,1,1],whitesmoke:[245/255,245/255,245/255],yellow:[1,1,0],yellowgreen:[154/255,205/255,50/255]},zh=Array(3).fill(" | [0, 255]"),Gh=Array(3).fill("[0, 255]"),bi=new Dr({id:"srgb",name:"sRGB",base:k0,fromBase:e=>e.map(t=>{let s=t<0?-1:1,r=t*s;return r>.0031308?s*(1.055*r**(1/2.4)-.055):12.92*t}),toBase:e=>e.map(t=>{let s=t<0?-1:1,r=t*s;return r<=.04045?t/12.92:s*((r+.055)/1.055)**2.4}),formats:{rgb:{coords:zh},rgb_number:{name:"rgb",commas:!0,coords:Gh,noAlpha:!0},color:{},rgba:{coords:zh,commas:!0,lastAlpha:!0},rgba_number:{name:"rgba",commas:!0,coords:Gh},hex:{type:"custom",toGamut:!0,test:e=>/^#([a-f0-9]{3,4}){1,2}$/i.test(e),parse(e){e.length<=5&&(e=e.replace(/[a-f0-9]/gi,"$&$&"));let t=[];return e.replace(/[a-f0-9]{2}/gi,s=>{t.push(parseInt(s,16)/255)}),{spaceId:"srgb",coords:t.slice(0,3),alpha:t.slice(3)[0]}},serialize:(e,t,{collapse:s=!0}={})=>{t<1&&e.push(t),e=e.map(o=>Math.round(o*255));let r=s&&e.every(o=>o%17===0);return"#"+e.map(o=>r?(o/17).toString(16):o.toString(16).padStart(2,"0")).join("")}},keyword:{type:"custom",test:e=>/^[a-z]+$/i.test(e),parse(e){e=e.toLowerCase();let t={spaceId:"srgb",coords:null,alpha:1};if(e==="transparent"?(t.coords=Rh.black,t.alpha=0):t.coords=Rh[e],t.coords)return t}}}}),$0=new Dr({id:"p3",cssId:"display-p3",name:"P3",base:E0,fromBase:bi.fromBase,toBase:bi.toBase});to.display_space=bi;var US;if(typeof CSS<"u"&&CSS.supports)for(let e of[eo,P0,$0]){let t=kd({space:e,coords:e.getMinCoords(),alpha:1});if(CSS.supports("color",t)){to.display_space=e;break}}function CS(e,{space:t=to.display_space,...s}={}){let r=kd(e,s);if(typeof CSS>"u"||CSS.supports("color",r)||!to.display_space)r=new String(r),r.color=e;else{let o=e;if((e.coords.some(Vn)||Vn(e.alpha))&&!(US??=CSS.supports("color","hsl(none 50% 50%)"))&&(o=xi(e),o.coords=o.coords.map(Cs),o.alpha=Cs(o.alpha),r=kd(o,s),CSS.supports("color",r)))return r=new String(r),r.color=o,r;o=us(o,t),r=new String(kd(o,s)),r.color=o}return r}function RS(e,t){return e=yt(e),t=yt(t),e.space===t.space&&e.alpha===t.alpha&&e.coords.every((s,r)=>s===t.coords[r])}function Xn(e){return Jr(e,[ar,"y"])}function U0(e,t){pn(e,[ar,"y"],t)}function zS(e){Object.defineProperty(e.prototype,"luminance",{get(){return Xn(this)},set(t){U0(this,t)}})}var GS=Object.freeze({__proto__:null,getLuminance:Xn,register:zS,setLuminance:U0});function YS(e,t){e=yt(e),t=yt(t);let s=Math.max(Xn(e),0),r=Math.max(Xn(t),0);return r>s&&([s,r]=[r,s]),(s+.05)/(r+.05)}var LS=.56,IS=.57,DS=.62,FS=.65,Yh=.022,BS=1.414,WS=.1,OS=5e-4,VS=1.14,Lh=.027,NS=1.14;function Ih(e){return e>=Yh?e:e+(Yh-e)**BS}function fi(e){let t=e<0?-1:1,s=Math.abs(e);return t*Math.pow(s,2.4)}function qS(e,t){t=yt(t),e=yt(e);let s,r,o,n,i,d;t=us(t,"srgb"),[n,i,d]=t.coords;let c=fi(n)*.2126729+fi(i)*.7151522+fi(d)*.072175;e=us(e,"srgb"),[n,i,d]=e.coords;let _=fi(n)*.2126729+fi(i)*.7151522+fi(d)*.072175,u=Ih(c),m=Ih(_),p=m>u;return Math.abs(m-u)0?o=r-Lh:o=r+Lh,o*100}function XS(e,t){e=yt(e),t=yt(t);let s=Math.max(Xn(e),0),r=Math.max(Xn(t),0);r>s&&([s,r]=[r,s]);let o=s+r;return o===0?0:(s-r)/o}var HS=5e4;function jS(e,t){e=yt(e),t=yt(t);let s=Math.max(Xn(e),0),r=Math.max(Xn(t),0);return r>s&&([s,r]=[r,s]),r===0?HS:(s-r)/r}function KS(e,t){e=yt(e),t=yt(t);let s=Jr(e,[eo,"l"]),r=Jr(t,[eo,"l"]);return Math.abs(s-r)}var ZS=216/24389,Dh=24/116,T_=24389/27,W1=Tr.D65,tm=new qe({id:"lab-d65",name:"Lab D65",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:W1,base:ar,fromBase(e){let t=e.map((s,r)=>s/W1[r]).map(s=>s>ZS?Math.cbrt(s):(T_*s+16)/116);return[116*t[1]-16,500*(t[0]-t[1]),200*(t[1]-t[2])]},toBase(e){let t=[];return t[1]=(e[0]+16)/116,t[0]=e[1]/500+t[1],t[2]=t[1]-e[2]/200,[t[0]>Dh?Math.pow(t[0],3):(116*t[0]-16)/T_,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/T_,t[2]>Dh?Math.pow(t[2],3):(116*t[2]-16)/T_].map((s,r)=>s*W1[r])},formats:{"lab-d65":{coords:[" | "," | [-1,1]"," | [-1,1]"]}}}),O1=Math.pow(5,.5)*.5+.5;function QS(e,t){e=yt(e),t=yt(t);let s=Jr(e,[tm,"l"]),r=Jr(t,[tm,"l"]),o=Math.abs(Math.pow(s,O1)-Math.pow(r,O1)),n=Math.pow(o,1/O1)*Math.SQRT2-40;return n<7.5?0:n}var M_=Object.freeze({__proto__:null,contrastAPCA:qS,contrastDeltaPhi:QS,contrastLstar:KS,contrastMichelson:XS,contrastWCAG21:YS,contrastWeber:jS});function JS(e,t,s={}){Rd(s)&&(s={algorithm:s});let{algorithm:r,...o}=s;if(!r){let n=Object.keys(M_).map(i=>i.replace(/^contrast/,"")).join(", ");throw new TypeError(`contrast() function needs a contrast algorithm. Please specify one of: ${n}`)}e=yt(e),t=yt(t);for(let n in M_)if("contrast"+r.toLowerCase()===n.toLowerCase())return M_[n](e,t,o);throw new TypeError(`Unknown contrast algorithm: ${r}`)}function R_(e){let[t,s,r]=zd(e,ar),o=t+15*s+3*r;return[4*t/o,9*s/o]}function C0(e){let[t,s,r]=zd(e,ar),o=t+s+r;return[t/o,s/o]}function eA(e){Object.defineProperty(e.prototype,"uv",{get(){return R_(this)}}),Object.defineProperty(e.prototype,"xy",{get(){return C0(this)}})}var tA=Object.freeze({__proto__:null,register:eA,uv:R_,xy:C0});function Ed(e,t,s={}){Rd(s)&&(s={method:s});let{method:r=to.deltaE,...o}=s;for(let n in gi)if("deltae"+r.toLowerCase()===n.toLowerCase())return gi[n](e,t,o);throw new TypeError(`Unknown deltaE method: ${r}`)}function sA(e,t=.25){return pn(e,[qe.get("oklch","lch"),"l"],s=>s*(1+t))}function rA(e,t=.25){return pn(e,[qe.get("oklch","lch"),"l"],s=>s*(1-t))}var oA=Object.freeze({__proto__:null,darken:rA,lighten:sA});function R0(e,t,s=.5,r={}){return[e,t]=[yt(e),yt(t)],On(s)==="object"&&([s,r]=[.5,s]),Gd(e,t,r)(s)}function z0(e,t,s={}){let r;cm(e)&&([r,s]=[e,t],[e,t]=r.rangeArgs.colors);let{maxDeltaE:o,deltaEMethod:n,steps:i=2,maxSteps:d=1e3,...c}=s;r||([e,t]=[yt(e),yt(t)],r=Gd(e,t,c));let _=Ed(e,t),u=o>0?Math.max(i,Math.ceil(_/o)+1):i,m=[];if(d!==void 0&&(u=Math.min(u,d)),u===1)m=[{p:.5,color:r(.5)}];else{let p=1/(u-1);m=Array.from({length:u},(y,h)=>{let g=h*p;return{p:g,color:r(g)}})}if(o>0){let p=m.reduce((y,h,g)=>{if(g===0)return 0;let w=Ed(h.color,m[g-1].color,n);return Math.max(y,w)},0);for(;p>o;){p=0;for(let y=1;yp.color),m}function Gd(e,t,s={}){if(cm(e)){let[c,_]=[e,t];return Gd(...c.rangeArgs.colors,{...c.rangeArgs.options,..._})}let{space:r,outputSpace:o,progression:n,premultiplied:i}=s;e=yt(e),t=yt(t),e=xi(e),t=xi(t);let d={colors:[e,t],options:s};if(r?r=qe.get(r):r=qe.registry[to.interpolationSpace]||e.space,o=o?qe.get(o):r,e=us(e,r),t=us(t,r),e=qn(e),t=qn(t),r.coords.h&&r.coords.h.type==="angle"){let c=s.hue=s.hue||"shorter",_=[r,"h"],[u,m]=[Jr(e,_),Jr(t,_)];isNaN(u)&&!isNaN(m)?u=m:isNaN(m)&&!isNaN(u)&&(m=u),[u,m]=WT(c,[u,m]),pn(e,_,u),pn(t,_,m)}return i&&(e.coords=e.coords.map(c=>c*e.alpha),t.coords=t.coords.map(c=>c*t.alpha)),Object.assign(c=>{c=n?n(c):c;let _=e.coords.map((p,y)=>{let h=t.coords[y];return $d(p,h,c)}),u=$d(e.alpha,t.alpha,c),m={space:r,coords:_,alpha:u};return i&&(m.coords=m.coords.map(p=>p/u)),o!==r&&(m=us(m,o)),m},{rangeArgs:d})}function cm(e){return On(e)==="function"&&!!e.rangeArgs}to.interpolationSpace="lab";function nA(e){e.defineFunction("mix",R0,{returns:"color"}),e.defineFunction("range",Gd,{returns:"function"}),e.defineFunction("steps",z0,{returns:"array"})}var aA=Object.freeze({__proto__:null,isRange:cm,mix:R0,range:Gd,register:nA,steps:z0}),G0=new qe({id:"hsl",name:"HSL",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:bi,fromBase:e=>{let t=Math.max(...e),s=Math.min(...e),[r,o,n]=e,[i,d,c]=[NaN,0,(s+t)/2],_=t-s;if(_!==0){switch(d=c===0||c===1?0:(t-c)/Math.min(c,1-c),t){case r:i=(o-n)/_+(o=360&&(i-=360),[i,d*100,c*100]},toBase:e=>{let[t,s,r]=e;t=t%360,t<0&&(t+=360),s/=100,r/=100;function o(n){let i=(n+t/30)%12,d=s*Math.min(r,1-r);return r-d*Math.max(-1,Math.min(i-3,9-i,1))}return[o(0),o(8),o(4)]},formats:{hsl:{coords:[" | ","",""]},hsla:{coords:[" | ","",""],commas:!0,lastAlpha:!0}}}),Y0=new qe({id:"hsv",name:"HSV",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},v:{range:[0,100],name:"Value"}},base:G0,fromBase(e){let[t,s,r]=e;s/=100,r/=100;let o=r+s*Math.min(r,1-r);return[t,o===0?0:200*(1-r/o),100*o]},toBase(e){let[t,s,r]=e;s/=100,r/=100;let o=r*(1-s/2);return[t,o===0||o===1?0:(r-o)/Math.min(o,1-o)*100,o*100]},formats:{color:{id:"--hsv",coords:[" | "," | "," | "]}}}),iA=new qe({id:"hwb",name:"HWB",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},w:{range:[0,100],name:"Whiteness"},b:{range:[0,100],name:"Blackness"}},base:Y0,fromBase(e){let[t,s,r]=e;return[t,r*(100-s)/100,100-r]},toBase(e){let[t,s,r]=e;s/=100,r/=100;let o=s+r;if(o>=1)return[t,0,s/o*100];let n=1-r;return[t,(n===0?0:1-s/n)*100,n*100]},formats:{hwb:{coords:[" | "," | "," | "]}}}),L0=new Dr({id:"a98rgb-linear",cssId:"--a98-rgb-linear",name:"Linear Adobe\xAE 98 RGB compatible",white:"D65",toXYZ_M:[[.5766690429101305,.1855582379065463,.1882286462349947],[.29734497525053605,.6273635662554661,.07529145849399788],[.02703136138641234,.07068885253582723,.9913375368376388]],fromXYZ_M:[[2.0415879038107465,-.5650069742788596,-.34473135077832956],[-.9692436362808795,1.8759675015077202,.04155505740717557],[.013444280632031142,-.11836239223101838,1.0151749943912054]]}),dA=new Dr({id:"a98rgb",cssId:"a98-rgb",name:"Adobe\xAE 98 RGB compatible",base:L0,toBase:e=>e.map(t=>Math.pow(Math.abs(t),563/256)*Math.sign(t)),fromBase:e=>e.map(t=>Math.pow(Math.abs(t),256/563)*Math.sign(t))}),I0=new Dr({id:"prophoto-linear",cssId:"--prophoto-rgb-linear",name:"Linear ProPhoto",white:"D50",base:am,toXYZ_M:[[.7977666449006423,.13518129740053308,.0313477341283922],[.2880748288194013,.711835234241873,8993693872564e-17],[0,0,.8251046025104602]],fromXYZ_M:[[1.3457868816471583,-.25557208737979464,-.05110186497554526],[-.5446307051249019,1.5082477428451468,.02052744743642139],[0,0,1.2119675456389452]]}),cA=1/512,_A=16/512,lA=new Dr({id:"prophoto",cssId:"prophoto-rgb",name:"ProPhoto",base:I0,toBase(e){return e.map(t=>t<_A?t/16:t**1.8)},fromBase(e){return e.map(t=>t>=cA?t**(1/1.8):16*t)}}),uA=new qe({id:"oklch",name:"Oklch",coords:{l:{refRange:[0,1],name:"Lightness"},c:{refRange:[0,.4],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},white:"D65",base:hi,fromBase(e){let[t,s,r]=e,o,n=2e-4;return Math.abs(s) | "," | [0,1]"," | "]}}}),D0=Tr.D65,mA=216/24389,Fh=24389/27,[Bh,Wh]=R_({space:ar,coords:D0}),F0=new qe({id:"luv",name:"Luv",coords:{l:{refRange:[0,100],name:"Lightness"},u:{refRange:[-215,215]},v:{refRange:[-215,215]}},white:D0,base:ar,fromBase(e){let t=[Cs(e[0]),Cs(e[1]),Cs(e[2])],s=t[1],[r,o]=R_({space:ar,coords:t});if(!Number.isFinite(r)||!Number.isFinite(o))return[0,0,0];let n=s<=mA?Fh*s:116*Math.cbrt(s)-16;return[n,13*n*(r-Bh),13*n*(o-Wh)]},toBase(e){let[t,s,r]=e;if(t===0||Vn(t))return[0,0,0];s=Cs(s),r=Cs(r);let o=s/(13*t)+Bh,n=r/(13*t)+Wh,i=t<=8?t/Fh:Math.pow((t+16)/116,3);return[i*(9*o/(4*n)),i,i*((12-3*o-20*n)/(4*n))]},formats:{color:{id:"--luv",coords:[" | "," | [-1,1]"," | [-1,1]"]}}}),_m=new qe({id:"lchuv",name:"LChuv",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,220],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:F0,fromBase(e){let[t,s,r]=e,o,n=.02;return Math.abs(s) | "," | "," | "]}}}),pA=216/24389,fA=24389/27,Oh=Ds[0][0],Vh=Ds[0][1],V1=Ds[0][2],Nh=Ds[1][0],qh=Ds[1][1],N1=Ds[1][2],Xh=Ds[2][0],Hh=Ds[2][1],q1=Ds[2][2];function vi(e,t,s){let r=t/(Math.sin(s)-e*Math.cos(s));return r<0?1/0:r}function $_(e){let t=Math.pow(e+16,3)/1560896,s=t>pA?t:e/fA,r=s*(284517*Oh-94839*V1),o=s*(838422*V1+769860*Vh+731718*Oh),n=s*(632260*V1-126452*Vh),i=s*(284517*Nh-94839*N1),d=s*(838422*N1+769860*qh+731718*Nh),c=s*(632260*N1-126452*qh),_=s*(284517*Xh-94839*q1),u=s*(838422*q1+769860*Hh+731718*Xh),m=s*(632260*q1-126452*Hh);return{r0s:r/n,r0i:o*e/n,r1s:r/(n+126452),r1i:(o-769860)*e/(n+126452),g0s:i/c,g0i:d*e/c,g1s:i/(c+126452),g1i:(d-769860)*e/(c+126452),b0s:_/m,b0i:u*e/m,b1s:_/(m+126452),b1i:(u-769860)*e/(m+126452)}}function jh(e,t){let s=t/360*Math.PI*2,r=vi(e.r0s,e.r0i,s),o=vi(e.r1s,e.r1i,s),n=vi(e.g0s,e.g0i,s),i=vi(e.g1s,e.g1i,s),d=vi(e.b0s,e.b0i,s),c=vi(e.b1s,e.b1i,s);return Math.min(r,o,n,i,d,c)}var vA=new qe({id:"hsluv",name:"HSLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:_m,gamutSpace:bi,fromBase(e){let[t,s,r]=[Cs(e[0]),Cs(e[1]),Cs(e[2])],o;return t>99.9999999?(o=0,t=100):t<1e-8?(o=0,t=0):o=s/jh($_(t),r)*100,[r,o,t]},toBase(e){let[t,s,r]=[Cs(e[0]),Cs(e[1]),Cs(e[2])],o;return r>99.9999999?(r=100,o=0):r<1e-8?(r=0,o=0):o=jh($_(r),t)/100*s,[r,o,t]},formats:{color:{id:"--hsluv",coords:[" | "," | "," | "]}}});Ds[0][0];Ds[0][1];Ds[0][2];Ds[1][0];Ds[1][1];Ds[1][2];Ds[2][0];Ds[2][1];Ds[2][2];function yi(e,t){return Math.abs(t)/Math.sqrt(Math.pow(e,2)+1)}function Kh(e){let t=yi(e.r0s,e.r0i),s=yi(e.r1s,e.r1i),r=yi(e.g0s,e.g0i),o=yi(e.g1s,e.g1i),n=yi(e.b0s,e.b0i),i=yi(e.b1s,e.b1i);return Math.min(t,s,r,o,n,i)}var yA=new qe({id:"hpluv",name:"HPLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:_m,gamutSpace:"self",fromBase(e){let[t,s,r]=[Cs(e[0]),Cs(e[1]),Cs(e[2])],o;return t>99.9999999?(o=0,t=100):t<1e-8?(o=0,t=0):o=s/Kh($_(t))*100,[r,o,t]},toBase(e){let[t,s,r]=[Cs(e[0]),Cs(e[1]),Cs(e[2])],o;return r>99.9999999?(r=100,o=0):r<1e-8?(r=0,o=0):o=Kh($_(r))/100*s,[r,o,t]},formats:{color:{id:"--hpluv",coords:[" | "," | "," | "]}}}),Zh=203,Qh=2610/2**14,hA=2**14/2610,xA=2523/2**5,Jh=2**5/2523,e0=3424/2**12,t0=2413/2**7,s0=2392/2**7,gA=new Dr({id:"rec2100pq",cssId:"rec2100-pq",name:"REC.2100-PQ",base:C_,toBase(e){return e.map(function(t){return(Math.max(t**Jh-e0,0)/(t0-s0*t**Jh))**hA*1e4/Zh})},fromBase(e){return e.map(function(t){let s=Math.max(t*Zh/1e4,0);return((e0+t0*s**Qh)/(1+s0*s**Qh))**xA})}}),r0=.17883277,o0=.28466892,n0=.55991073,X1=3.7743,bA=new Dr({id:"rec2100hlg",cssId:"rec2100-hlg",name:"REC.2100-HLG",referred:"scene",base:C_,toBase(e){return e.map(function(t){return t<=.5?t**2/3*X1:(Math.exp((t-n0)/r0)+o0)/12*X1})},fromBase(e){return e.map(function(t){return t/=X1,t<=1/12?Math.sqrt(3*t):r0*Math.log(12*t-o0)+n0})}}),B0={};Nn.add("chromatic-adaptation-start",e=>{e.options.method&&(e.M=W0(e.W1,e.W2,e.options.method))});Nn.add("chromatic-adaptation-end",e=>{e.M||(e.M=W0(e.W1,e.W2,e.options.method))});function z_({id:e,toCone_M:t,fromCone_M:s}){B0[e]=arguments[0]}function W0(e,t,s="Bradford"){let r=B0[s],[o,n,i]=ms(r.toCone_M,e),[d,c,_]=ms(r.toCone_M,t),u=ms([[d/o,0,0],[0,c/n,0],[0,0,_/i]],r.toCone_M);return ms(r.fromCone_M,u)}z_({id:"von Kries",toCone_M:[[.40024,.7076,-.08081],[-.2263,1.16532,.0457],[0,0,.91822]],fromCone_M:[[1.8599363874558397,-1.1293816185800916,.21989740959619328],[.3611914362417676,.6388124632850422,-6370596838649899e-21],[0,0,1.0890636230968613]]});z_({id:"Bradford",toCone_M:[[.8951,.2664,-.1614],[-.7502,1.7135,.0367],[.0389,-.0685,1.0296]],fromCone_M:[[.9869929054667121,-.14705425642099013,.15996265166373122],[.4323052697233945,.5183602715367774,.049291228212855594],[-.00852866457517732,.04004282165408486,.96848669578755]]});z_({id:"CAT02",toCone_M:[[.7328,.4296,-.1624],[-.7036,1.6975,.0061],[.003,.0136,.9834]],fromCone_M:[[1.0961238208355142,-.27886900021828726,.18274517938277307],[.4543690419753592,.4735331543074117,.07209780371722911],[-.009627608738429355,-.00569803121611342,1.0153256399545427]]});z_({id:"CAT16",toCone_M:[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],fromCone_M:[[1.862067855087233,-1.0112546305316845,.14918677544445172],[.3875265432361372,.6214474419314753,-.008973985167612521],[-.01584149884933386,-.03412293802851557,1.0499644368778496]]});Object.assign(Tr,{A:[1.0985,1,.35585],C:[.98074,1,1.18232],D55:[.95682,1,.92149],D75:[.94972,1,1.22638],E:[1,1,1],F2:[.99186,1,.67393],F7:[.95041,1,1.08747],F11:[1.00962,1,.6435]});Tr.ACES=[.32168/.33767,1,.34065/.33767];var O0=new Dr({id:"acescg",cssId:"--acescg",name:"ACEScg",coords:{r:{range:[0,65504],name:"Red"},g:{range:[0,65504],name:"Green"},b:{range:[0,65504],name:"Blue"}},referred:"scene",white:Tr.ACES,toXYZ_M:[[.6624541811085053,.13400420645643313,.1561876870049078],[.27222871678091454,.6740817658111484,.05368951740793705],[-.005574649490394108,.004060733528982826,1.0103391003129971]],fromXYZ_M:[[1.6410233796943257,-.32480329418479,-.23642469523761225],[-.6636628587229829,1.6153315916573379,.016756347685530137],[.011721894328375376,-.008284441996237409,.9883948585390215]]}),S_=2**-16,H1=-.35828683,A_=(Math.log2(65504)+9.72)/17.52,wA=new Dr({id:"acescc",cssId:"--acescc",name:"ACEScc",coords:{r:{range:[H1,A_],name:"Red"},g:{range:[H1,A_],name:"Green"},b:{range:[H1,A_],name:"Blue"}},referred:"scene",base:O0,toBase(e){let t=-.3013698630136986;return e.map(function(s){return s<=t?(2**(s*17.52-9.72)-S_)*2:s1||n===void 0?1:n<0?0:n;for(let i=0;ithis.get(i),set:d=>this.set(i,d)})}get spaceId(){return this.space.id}clone(){return new Ir(this.space,this.coords,this.alpha)}toJSON(){return{spaceId:this.spaceId,coords:this.coords,alpha:this.alpha}}display(...t){let s=CS(this,...t);return s.color=new Ir(s.color),s}static get(t,...s){return t instanceof Ir?t:new Ir(t,...s)}static defineFunction(t,s,r=s){let{instance:o=!0,returns:n}=r,i=function(...d){let c=s(...d);if(n==="color")c=Ir.get(c);else if(n==="function"){let _=c;c=function(...u){let m=_(...u);return Ir.get(m)},Object.assign(c,_)}else n==="array"&&(c=c.map(_=>Ir.get(_)));return c};t in Ir||(Ir[t]=i),o&&(Ir.prototype[t]=function(...d){return i(this,...d)})}static defineFunctions(t){for(let s in t)Ir.defineFunction(s,t[s],t[s])}static extend(t){if(t.register)t.register(Ir);else for(let s in t)Ir.defineFunction(s,t[s])}};Sr.defineFunctions({get:Jr,getAll:zd,set:pn,setAll:nm,to:us,equals:RS,inGamut:Ea,toGamut:qn,distance:v0,toString:kd});Object.assign(Sr,{util:YT,hooks:Nn,WHITES:Tr,Space:qe,spaces:qe.registry,parse:p0,defaults:to});for(let e of Object.keys(a0))qe.register(a0[e]);for(let e in qe.registry)sm(e,qe.registry[e]);Nn.add("colorspace-init-end",e=>{sm(e.id,e),e.aliases?.forEach(t=>{sm(t,e)})});function sm(e,t){let s=e.replace(/-/g,"_");Object.defineProperty(Sr.prototype,s,{get(){let r=this.getAll(e);return typeof Proxy>"u"?r:new Proxy(r,{has:(o,n)=>{try{return qe.resolveCoord([t,n]),!0}catch{}return Reflect.has(o,n)},get:(o,n,i)=>{if(n&&typeof n!="symbol"&&!(n in o)){let{index:d}=qe.resolveCoord([t,n]);if(d>=0)return o[d]}return Reflect.get(o,n,i)},set:(o,n,i,d)=>{if(n&&typeof n!="symbol"&&!(n in o)||n>=0){let{index:c}=qe.resolveCoord([t,n]);if(c>=0)return o[c]=i,this.setAll(e,o),!0}return Reflect.set(o,n,i,d)}})},set(r){this.setAll(e,r)},configurable:!0,enumerable:!0})}Sr.extend(gi);Sr.extend({deltaE:Ed});Object.assign(Sr,{deltaEMethods:gi});Sr.extend(oA);Sr.extend({contrast:JS});Sr.extend(tA);Sr.extend(GS);Sr.extend(aA);Sr.extend(M_);var V0="p3-linear",N0=e=>{V0=e};function TA(e){try{let t=new Sr(e),s=V0==="srgb"?"srgb-linear":"p3-linear",r=t.to(s).coords,o=Number(t.alpha);return{r:Number.isFinite(r?.[0])?r[0]:0,g:Number.isFinite(r?.[1])?r[1]:0,b:Number.isFinite(r?.[2])?r[2]:0,a:Number.isFinite(o)?o:1}}catch{return{r:0,g:0,b:0,a:0}}}var ts=e=>TA(e),ho=e=>{let t=.5,s=.5,r=(n,i=!1)=>{if(typeof n=="number")return n;if(typeof n=="object"&&n!==null)return n.value;let d=n.toLowerCase().trim();if(i){if(d==="top")return 0;if(d==="bottom")return 1;if(d==="center")return .5}else{if(d==="left")return 0;if(d==="right")return 1;if(d==="center")return .5}return console.warn(`Invalid position value: ${n}. Defaulting to center.`),.5};if(typeof e=="string"){let n=e.toLowerCase().trim().split(/\s+/);n.includes("left")?t=0:n.includes("right")?t=1:(n.includes("center")||n.length===1&&(n[0]==="top"||n[0]==="bottom"))&&(t=.5),n.includes("top")?s=0:n.includes("bottom")?s=1:(n.includes("center")||n.length===1&&(n[0]==="left"||n[0]==="right"))&&(s=.5),n.length===1&&n[0]==="center"&&(t=.5,s=.5)}else typeof e=="object"&&e!==null?(t=r(e.x,!1),s=r(e.y,!0)):console.warn(`Invalid position value provided: ${e}. Defaulting to center.`);let o=1-s;return{x:t,y:o}};var q0=e=>({outside:0,center:1,inside:2})[e?.toLowerCase()]??1,Ho=[{label:"Linear RGB",value:"linear"},{label:"OKLCh",value:"oklch"},{label:"OKLAB",value:"oklab"},{label:"HSL",value:"hsl"},{label:"HSV",value:"hsv"},{label:"LCH",value:"lch"}],ir=e=>{let t={linear:0,oklch:1,oklab:2,hsl:3,hsv:4,lch:5}[e.toLowerCase()];return t===void 0?(console.warn(`Invalid color space mode: ${e}. Defaulting to 'linear'.`),0):t};var SA=Object.defineProperty,Za=e=>{let t={};for(var s in e)SA(t,s,{get:e[s],enumerable:!0});return t};function so(e){typeof Symbol[e]>"u"&&Object.defineProperty(Symbol,e,{value:Symbol.for(`Symbol.${e}`),writable:!1,enumerable:!1,configurable:!1})}function X0(e,t){return typeof e?.[t]=="function"}function ad(e,t,s,r){let o=dr.deferOperation;return X0(e,s)&&(o=e[s](e,t)),o===dr.deferOperation&&X0(t,s)&&(o=t[s](e,t)),o===dr.deferOperation?r(e,t):o}var AA=(e,t)=>e+t;function MA(e,t){return(typeof e=="number"||typeof e=="string")&&(typeof t=="number"||typeof t=="string")?e+t:ad(e,t,dr.plus,AA)}var PA=(e,t)=>e-t;function EA(e,t){return typeof e=="number"&&typeof t=="number"?e-t:ad(e,t,dr.minus,PA)}var kA=(e,t)=>e*t;function $A(e,t){return typeof e=="number"&&typeof t=="number"?e*t:ad(e,t,dr.star,kA)}var UA=(e,t)=>e/t;function CA(e,t){return typeof e=="number"&&typeof t=="number"?e/t:ad(e,t,dr.slash,UA)}var RA=(e,t)=>e**t;function zA(e,t){return typeof e=="number"&&typeof t=="number"?e**t:ad(e,t,dr.starStar,RA)}var GA=(e,t)=>e%t;function YA(e,t){return typeof e=="number"&&typeof t=="number"?e%t:ad(e,t,dr.percent,GA)}var dr=(so("deferOperation"),so("operatorPlus"),so("operatorMinus"),so("operatorStar"),so("operatorSlash"),so("operatorStarStar"),so("operatorPercent"),so("operatorEqEq"),so("operatorPrePlusPlus"),so("operatorPreMinusMinus"),so("operatorPostPlusPlus"),so("operatorPostMinusMinus"),so("operatorPreMinus"),globalThis.__tsover_add=MA,globalThis.__tsover_sub=EA,globalThis.__tsover_mul=$A,globalThis.__tsover_div=CA,globalThis.__tsover_pow=zA,globalThis.__tsover_mod=YA,{deferOperation:Symbol.deferOperation,plus:Symbol.operatorPlus,minus:Symbol.operatorMinus,star:Symbol.operatorStar,slash:Symbol.operatorSlash,starStar:Symbol.operatorStarStar,percent:Symbol.operatorPercent,eqEq:Symbol.operatorEqEq,prePlusPlus:Symbol.operatorPrePlusPlus,preMinusMinus:Symbol.operatorPreMinusMinus,postPlusPlus:Symbol.operatorPostPlusPlus,postMinusMinus:Symbol.operatorPostMinusMinus,preMinus:Symbol.operatorPreMinus}),$u=!1,zf=!1,js="0.12.3",B=Symbol(`typegpu:${js}:$internal`),me=Symbol(`typegpu:${js}:$soul`),Hr=Symbol(`typegpu:${js}:$gpuValueOf`),Xs=Symbol(`typegpu:${js}:$getNameForward`),Mr=Symbol(`typegpu:${js}:$providing`),oa=Symbol(`typegpu:${js}:$ownSnippet`),kt=Symbol(`typegpu:${js}:$resolve`),Gf=Symbol(`typegpu:${js}:$cast`),zs=Symbol(`typegpu:${js}:$gpuCallable`),id=Symbol(`typegpu:${js}:$repr`);`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;function mt(e){return!!e?.[B]}var _s={[B]:{},type:"void",toString(){return"void"}},LA=["bool","f32","f16","i32","u32","u16","vec2f","vec2h","vec2i","vec2u","vec2","vec3f","vec3h","vec3i","vec3u","vec3","vec4f","vec4h","vec4i","vec4u","vec4","mat2x2f","mat3x3f","mat4x4f","struct","array","ptr","atomic","decorated","abstractInt","abstractFloat","void","texture_1d","texture_storage_1d","texture_2d","texture_storage_2d","texture_multisampled_2d","texture_depth_2d","texture_depth_multisampled_2d","texture_2d_array","texture_storage_2d_array","texture_depth_2d_array","texture_cube","texture_depth_cube","texture_cube_array","texture_depth_cube_array","texture_3d","texture_storage_3d","texture_external","sampler","sampler_comparison"];function lr(e){let t=e;return mt(t)&&typeof t.kind=="string"&&t.kind.startsWith("vec")}function IA(e){return lr(e)&&e.kind.includes("b")}function DA(e){let t=e;return mt(t)&&typeof t.type=="string"&&t.type.startsWith("vec2")}function FA(e){let t=e;return mt(t)&&typeof t.type=="string"&&t.type.startsWith("vec3")}function BA(e){let t=e;return mt(t)&&typeof t.type=="string"&&t.type.startsWith("vec4")}function Rt(e){return DA(e)||FA(e)||BA(e)}function Yf(e){return Rt(e)&&e.type.includes("b")}function Do(e){let t=e;return mt(t)&&typeof t.kind?.startsWith=="function"&&t.kind.startsWith("mat")}function Kb(e){return mt(e)&&e?.type==="mat2x2f"}function Zb(e){return mt(e)&&e?.type==="mat3x3f"}function WA(e){return mt(e)&&e?.type==="mat4x4f"}function rn(e){return Kb(e)||Zb(e)||WA(e)}function Qb(e){return mt(e)&&["abstractInt","i32","u32"].includes(e?.type)}function OA(e){return Rt(e)&&Qb(e.primitive)}function H0(e){return lr(e)&&["vec2f","vec3f","vec4f"].includes(e.kind)}function bl(e){return lr(e)&&/[iu]$/.test(e.kind)}function Jb(e){return lr(e)&&/[u]$/.test(e.kind)}function Qa(e){return mt(e)&&LA.includes(e?.type)}function Us(e){return mt(e)&&e?.type==="array"}function Qt(e){return mt(e)&&e?.type==="struct"}function pr(e){return mt(e)&&e?.type==="ptr"}function Uu(e){return mt(e)&&e?.type==="atomic"}function e2(e){return mt(e)&&e?.type==="@align"}function t2(e){return mt(e)&&e?.type==="@size"}function s2(e){return mt(e)&&e?.type==="@location"}function VA(e){return mt(e)&&e?.type==="@builtin"}function zn(e){return mt(e)&&e?.type==="decorated"}function Cu(e){return mt(e)&&e.type==="void"}function Kn(e){return mt(e)&&e.type==="bool"}function np(e){let t=e?.type;return mt(e)&&(t==="abstractInt"||t==="abstractFloat"||t==="f32"||t==="f16"||t==="i32"||t==="u32")}function Lf(e){let t=e?.type;return mt(e)&&(t==="f16"||t==="vec2h"||t==="vec3h"||t==="vec4h")}var NA=["abstractInt","abstractFloat","f32","f16","i32","u32","bool"];function Io(e){return!mt(e)||NA.includes(e?.type)}function Ru(e){return e.schema}var qA=["deprecated","suspicious","fallback","precision-loss","implicit-conversion","webgpu-feature-missing","webgpu-limits-exceeded","locations-mismatched","log-limit-exceeded","external-omitted","uniform-schema-misaligned"],XA=class{#e;#t;#s=new WeakMap;constructor(e){e?this.#e=["webgpu-feature-missing","webgpu-limits-exceeded","locations-mismatched","log-limit-exceeded","external-omitted"]:this.#e=qA,this.#t=new Set(this.#e)}disable(e){this.#t.delete(e)}reset(){this.#t=new Set(this.#e)}warn(e,...t){this.#t.has(e)&&console.warn(`\u26A0\uFE0F [${e}] `,...t)}warnOnce(e,t,s,...r){if(!this.#t.has(e))return;let o=this.#s.get(t);o||(o=new Set,this.#s.set(t,o));let n=`${e}:${s}`;o.has(n)||(o.add(n),this.warn(e,...r))}},r2=new XA(!($u||zf)),Vt=r2,o2=r2;function io(e){if(Array.isArray(e))return`[${e.map(io).join(", ")}]`;let t=String(e);if(t!=="[object Object]")return t;try{return JSON.stringify(e)}catch(s){return Vt.warn("suspicious","Error parsing JSON:",s),""}}function ap(e){return lr(e)||Do(e)?e.toString():Array.isArray(e)?`[${e.map(ap).join(", ")}]`:e&&typeof e=="object"?`{ ${Object.entries(e).map(([t,s])=>`${t}: ${ap(s)}`).join(", ")} }`:String(e)}function HA(e){let t={};for(let[s,r]of Object.entries(e))Object.defineProperty(t,s,{get:r,enumerable:!0});return t}function jA(e){if(e.v===1){let t=e.externals;return{...e,externals:typeof t=="function"?t:()=>t}}if(e.v===2){let t=HA(e?.externals);return{...e,externals:()=>t}}throw new Error(`Unrecognized TypeGPU metadata format: ${io(e)}`)}var n2="0.12.3",kn=globalThis;kn.__TYPEGPU_VERSION__!==void 0&&console.warn(`Found duplicate TypeGPU version. First was ${kn.__TYPEGPU_VERSION__}, this one is ${n2}. This may cause unexpected behavior.`);kn.__TYPEGPU_VERSION__=n2;kn.__TYPEGPU_AUTONAME__=(e,t)=>Di(e)&&mt(e)&&!xe(e)?e.$name(t):e;var wl=new WeakMap;function Di(e){return!!e?.$name}function a2(e){return!!e?.[Xs]}function i2(e){return e?.[me]}function xe(e){return a2(e)?xe(e[Xs]):wl.get(e)??i2(e)?.label??kn.__TYPEGPU_META__?.get(e)?.name}function ot(e,t){if(a2(e)){ot(e[Xs],t);return}wl.set(e,t);let s=i2(e);s&&(s.label=t)}var j0=new WeakMap;function If(e){let t=kn.__TYPEGPU_META__?.get(e);if(t){kn.__TYPEGPU_META__?.delete(e);let s=jA(t);j0.set(e,s),t.name&&wl.get(e)===void 0&&wl.set(e,t.name)}return j0.get(e)}function Fi(e){return typeof e=="function"&&!!If(e)}var Df=($u||zf)&&{get enabled(){return!!kn.__TYPEGPU_MEASURE_PERF__},record(e,t){let s=kn.__TYPEGPU_PERF_RECORDS__??=new Map,r=s.get(e);r||(r=[],s.set(e,r)),r.push(t)}}||void 0,lm="Invariant failed";function ds(e,t){if(e)return;if(!$u&&!zf)throw new Error(lm);let s=typeof t=="function"?t():t,r=s?`${lm}: ${s}`:lm;throw new Error(r)}var Pi=class ip extends Error{cause;trace;constructor(t,s){let r=s.map(o=>`- ${Fi(o)?`fn*:${xe(o)}`:o}`);r.length>20&&(r=[...r.slice(0,11),"...",...r.slice(-10)]),super(`Resolution of the following tree failed: +${r.join(` +`)}: ${t&&typeof t=="object"&&"message"in t?t.message:t}`),this.cause=t,this.trace=s,Object.setPrototypeOf(this,ip.prototype)}appendToTrace(t){let s=[t,...this.trace];return new ip(this.cause,s)}},K0=class dp extends Error{cause;trace;constructor(t,s){let r=s.map(o=>`- ${o}`);r.length>20&&(r=[...r.slice(0,11),"...",...r.slice(-10)]),super(`Execution of the following tree failed: +${r.join(` +`)}: ${t&&typeof t=="object"&&"message"in t?t.message:t}`),this.cause=t,this.trace=s,Object.setPrototypeOf(this,dp.prototype)}appendToTrace(t){let s=[t,...this.trace];return new dp(this.cause,s)}},KA=class d2 extends Error{slot;constructor(t){super(`Missing value for '${t}'`),this.slot=t,Object.setPrototypeOf(this,d2.prototype)}},ZA=class c2 extends Error{constructor(t){super(`Buffer '${xe(t)??""}' is not bindable as a uniform. Use .$usage('uniform') to allow it.`),Object.setPrototypeOf(this,c2.prototype)}},QA=class _2 extends Error{constructor(t){super(`Missing bind groups for layouts: '${[...t].map(s=>xe(s)??"").join(", ")}'. Please provide it using pipeline.with(bindGroup).(...)`),Object.setPrototypeOf(this,_2.prototype)}},JA=class l2 extends Error{constructor(t){super(`Missing vertex buffers for layouts: '${[...t].map(s=>xe(s)??"").join(", ")}'. Please provide it using pipeline.with(layout, buffer).(...)`),Object.setPrototypeOf(this,l2.prototype)}},Z0=class u2 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,u2.prototype)}},Q0=class m2 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,m2.prototype)}},Qe=class p2 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,p2.prototype)}},Ts=class f2 extends Error{constructor(t,s){super(`Unsupported data types: ${t.map(r=>r.type).join(", ")}. Supported types are: ${s.map(r=>r.type).join(", ")}.`),Object.setPrototypeOf(this,f2.prototype)}},Cc=class v2 extends Error{constructor(t,s){super(`Cannot convert value '${t}' to type ${s.type} because of the Finite Math Assumption (see: https://www.w3.org/TR/WGSL/#finite-math-assumption)`),Object.setPrototypeOf(this,v2.prototype)}},y2=["uint8","uint8x2","uint8x4","sint8","sint8x2","sint8x4","unorm8","unorm8x2","unorm8x4","snorm8","snorm8x2","snorm8x4","uint16","uint16x2","uint16x4","sint16","sint16x2","sint16x4","unorm16","unorm16x2","unorm16x4","snorm16","snorm16x2","snorm16x4","float16","float16x2","float16x4","float32","float32x2","float32x3","float32x4","uint32","uint32x2","uint32x3","uint32x4","sint32","sint32x2","sint32x3","sint32x4","unorm10-10-10-2","unorm8x4-bgra"],eM={f32:"float32",vec2f:"float32x2",vec3f:"float32x3",vec4f:"float32x4",f16:"float16",vec2h:"float16x2",vec4h:"float16x4",u32:"uint32",vec2u:"uint32x2",vec3u:"uint32x3",vec4u:"uint32x4",i32:"sint32",vec2i:"sint32x2",vec3i:"sint32x3",vec4i:"sint32x4"};function lo(e){return zn(e)||ha(e)?e.inner:e}function Ca(e){return pr(e)?e.inner:e}var tM=["unstruct","disarray","loose-decorated",...y2];function zu(e){return mt(e)&&tM.includes(e?.type)}function Ja(e){return mt(e)&&e?.type==="disarray"}function un(e){return mt(e)&&e?.type==="unstruct"}function ha(e){return mt(e)&&e?.type==="loose-decorated"}function ac(e){return e.attribs?.find(e2)?.params[0]}function sM(e){return e.attribs?.find(t2)?.params[0]}function na(e){return e.attribs?.find(s2)?.params[0]}function Rc(e){return Qa(e)||zu(e)}var Ut=Symbol("UNKNOWN"),h2=class{matrix;constructor(e){this.matrix=e}};function rM(e){return e==="runtime"||e==="constant"?e:"runtime"}function en(e){return!(e.origin==="runtime"||e.origin==="constant")}var oM={uniform:{space:"uniform",access:"read"},readonly:{space:"storage",access:"read"},mutable:{space:"storage",access:"read-write"},workgroup:{space:"workgroup",access:"read-write"},private:{space:"private",access:"read-write"},function:{space:"function",access:"read-write"},"local-def":{space:"function",access:"read-write"}},zc=class{value;dataType;origin;possibleSideEffects;constructor(e,t,s,r){this.value=e,this.dataType=t,this.origin=s,this.possibleSideEffects=r}};function Gc(e){return e instanceof zc}function Qd(e){return np(e.dataType)}function ve(e,t,s,r=!0){if($u&&Gc(e))throw new Error("Cannot nest snippets");return new zc(e,lo(t),s,r)}function Ff(e,t){return new zc(t.value,e,t.origin,t.possibleSideEffects)}function x2(e,t){return new zc(e,t.dataType,t.origin,t.possibleSideEffects)}function nM(e,t){return new zc(t.value,t.dataType,t.origin,e)}function aM(e){return nM(!1,e)}function cp(e){return e?.resourceType==="slot"}function _p(e){return e?.resourceType==="lazy"}function al(e){return e?.[Mr]!==void 0}function dd(e){return e?.resourceType==="accessor"}function cd(e){return e?.resourceType==="mutable-accessor"}var _d=class{type="normal"},iM=class{type="codegen"},dM=class{type="simulate";buffers;vars;constructor(e,t){this.buffers=e,this.vars=t}};function g2(e){return!!e?.[kt]}function Gu(e){return e?.[oa]}function Tl(e){return!!e?.[zs]}function cM(e){return!!e?.[Gf]}function hs(e){return(typeof e.value!="string"||e.dataType===Ut)&&Gu(e.value)===void 0}function _M(e){return typeof e=="number"||typeof e=="boolean"||g2(e)||Qa(e)||cp(e)||_p(e)||al(e)}function Mn(e){return!!e&&typeof e=="object"&&"getMappedRange"in e&&"mapAsync"in e}function hc(e){return e.resourceType==="buffer"}function b2(e){return!!e.usableAsUniform}function Sl(e){return!!e?.usableAsStorage}var il=!1;function lM(e){if(il)return e();try{return il=!0,e()}finally{il=!1}}function Al(){return il}var La;function w2(e,t){if(La===e)return t();let s=La;La=e;try{return t()}finally{La=s}}function Na(){return La}var T2=new _d;function J0(){return La?.mode??T2}function Yu(){return La?.mode.type==="codegen"}function ce(e,...t){let s=Na();function r(n){return Gc(n)?s.resolveSnippet(n).value:n}let o="";for(let n=0;nd!==void 0).map(r).join(", "):i&&(o+=r(i))}return o}function S2(e){return Lu("function",e,"read-write")}function Lu(e,t,s,r=!1){return{[B]:{},type:"ptr",addressSpace:e,inner:t,access:s,implicit:r,toString:()=>`ptr<${e}, ${t}, ${s}>`}}function Bf(e,t){let s=oM[e];if(s)return Lu(s.space,t,s.access)}function A2(e){return Lu(e.addressSpace,e.inner,e.access,!0)}function uM(e){return Lu(e.addressSpace,e.inner,e.access,!1)}var mM=(()=>{let e=(t=>pM(t));return ot(e,"ref"),e.toString=()=>"ref",e[B]=!0,e[zs]={call(t,[s]){if(s.origin==="argument")throw new Qe(ce`d.ref(${s}) is illegal, cannot take a reference of an argument. Copy the value first, and take a reference of the copy.`);if(s.origin==="constant-immutable-def"||s.origin==="runtime-immutable-def"){let o=t.resolve(s.dataType).value;throw new Qe(ce`d.ref(${s}) is illegal, cannot take a reference to a constant. +----- +- Try 'd.ref(${o}(${s}));' instead to create a new referencable value. +-----`)}if(en(s)&&Io(s.dataType)){let o=t.resolve(s.dataType).value;throw new Qe(ce`d.ref(${s}) is illegal, cannot take a reference to a scalar value. +----- +- Try 'd.ref(${o}(${s}));' instead to create a new referencable scalar. +-----`)}if(pr(s.dataType))return Ff(uM(s.dataType),s);let r=Bf(s.origin,s.dataType);return ve(new wn(s,r),r??Ut,"runtime",s.possibleSideEffects)}},e})();function M2(e){return e?.[B]?.type==="ref"}function pM(e){let t={[B]:{type:"ref"},get $(){return e},set $(s){if(s&&typeof s=="object")for(let r of Object.keys(s))e[r]=s[r];else e=s}};if(e==null)throw new Error("Cannot create a ref from undefined or null");return typeof e=="object"?new Proxy(t,{get(s,r){return r in s?s[r]:e[r]},set(s,r,o){return r===B?!1:Reflect.set(r==="$"?t:e,r,o)}}):t}var wn=class{[B];snippet;#e;constructor(e,t){this[B]=!0,this.snippet=e,this.#e=t}get[oa](){if(!this.#e)throw new Error(ce`Cannot take a reference of ${this.snippet}`);return ve(this,this.#e,this.snippet.origin,this.snippet.possibleSideEffects)}[kt](){if(!this.#e)throw new Error(ce`Cannot take a reference of ${this.snippet}`);return ve(ce`(&${this.snippet})`,this.#e,this.snippet.origin,this.snippet.possibleSideEffects)}};function Wf(e){if(!pr(e.dataType))return e;let t=e.dataType.inner;return e.value instanceof wn?ve(ce`${e.value.snippet}`,t,e.origin,e.possibleSideEffects):ve(ce`(*${e})`,t,e.origin,e.possibleSideEffects)}function aa(e,t){let s=e;return cM(s)?s[Gf](t):typeof s!="function"?t:t===void 0?s():s(t)}function P2(e,t,s){if(!Tl(t))return s;let r=t;return s===void 0||s.value===void 0?r[zs].call(e,[]):r[zs].call(e,[s])}function xc(e,t){throw new Error(`Failed to handle ${e} at ${t}`)}function E2(e,t){ds(Qt(e.dataType)||un(e.dataType),"Expected snippet type to be struct/unstruct.");let s=e.dataType.propTypes[t];if(s)return s=lo(s),ve(ce`${e}.${t}`,s,e.origin,e.possibleSideEffects)}var Of={rank:Number.POSITIVE_INFINITY,action:"none"};function Ml(e,t){let s=lo(e),r=lo(t);if(s.type===r.type)return s.type==="struct"&&s!==r?{rank:1,action:"cast",targetType:t}:{rank:0,action:"none"};if(s.type==="abstractFloat"){if(r.type==="f32")return{rank:1,action:"none"};if(r.type==="f16")return{rank:2,action:"none"}}if(s.type==="abstractInt"){if(r.type==="i32")return{rank:3,action:"none"};if(r.type==="u32")return{rank:4,action:"none"};if(r.type==="abstractFloat")return{rank:5,action:"none"};if(r.type==="f32")return{rank:6,action:"none"};if(r.type==="f16")return{rank:7,action:"none"}}return Rt(s)&&Rt(r)&&s.type[3]===r.type[3]?Ml(s.primitive,r.primitive):rn(s)&&rn(r)&&s.type[3]===r.type[3]?{rank:0,action:"none"}:Of}function fM(e,t){let s=lo(e),r=lo(t);if(pr(s)&&s.implicit&&Ml(s.inner,r).rank({sourceIndex:i,action:n.action,...n.action==="cast"&&{targetType:n.targetType}}));return{targetType:r.type,actions:o,hasImplicitConversions:o.some(n=>n.action==="cast")}}function Vf(e,t){if(e.length===0)return;let s=[...new Set((t||e).map(lo))],r=lp(e,s,!1);if(r)return r;let o=lp(e,s,!0);if(o)return o}function yM(e,t,s,r){if(s.action==="none")return r===t.dataType?t:Ff(r,t);switch(s.action){case"ref":return ve(new wn(t,r),r,t.origin,t.possibleSideEffects);case"deref":return Wf(t);case"cast":if(Qt(t.dataType)&&Qt(r)){let o=xe(t.dataType)??"",n=xe(r)??"";if(t.possibleSideEffects)throw new Error(`Cannot resolve struct cast from '${o}' to '${n}'. Store the value to a variable first, then cast it.`);let i=Object.entries(r.propTypes).map(([c,_])=>{let u=E2(t,c);if(!u)throw new Error(`Cannot auto-convert struct '${o}' to '${n}' because the property '${c}' is missing.`);let m=Qn(e,[u],[_]);if(!m||!m[0])throw new Error(`Cannot auto-convert struct '${o}' to '${n}' because type '${xe(u.dataType)??""}' is not convertible to '${xe(lo(_))??""}'.`);return m[0]}),d=e.resolve(r).value;return ve(`${d}(${i.map(c=>c.value).join(", ")})`,r,"runtime",!1)}return P2(e,r,t);default:xc(s.action,"applyActionToSnippet")}}function fr(e,t){if(e.some(r=>r===Ut))return;let s=Vf(e,t);if(s)return e.map(r=>Rt(r)||rn(r)?r:s.targetType)}function Iu(e,t){if(e.some(r=>r===Ut))return;let s=lp(e,[...new Set((t||e).map(lo))],!1);if(s)return e.map(r=>Rt(r)||rn(r)?r:s.targetType)}function Qn(e,t,s,r=!0){let o=t.map(i=>i.dataType);if(o.some(i=>i===Ut))return;ds(!(Array.isArray(s)&&s.length===0),"Internal error, expected 'restrictTo' to not be an empty array.");let n=Vf(o,s);if(n)return r&&n.hasImplicitConversions&&Vt.warn("implicit-conversion",`Implicit conversions from [ +${t.map(i=>` ${e.resolveSnippet(i).value}: ${io(i.dataType)}`).join(`, +`)} +] to ${n.targetType.type} are supported, but not recommended. +Consider using explicit conversions instead.`),t.map((i,d)=>{let c=n.actions[d];return ds(c,"Action should not be undefined"),yM(e,i,c,n.targetType)})}function Fr(e,t,s,r=!0){let o=Array.isArray(s)?s:[s],{value:n,dataType:i,origin:d,possibleSideEffects:c}=t;if(o.length===1){let u=o[0];if(u===i)return ve(n,u,d,c);if(i===Ut)return e.resolveSnippet(ve(n,u,d,c))}let _=Qn(e,[t],o,r);if(_)return _[0];throw new Qe(`Cannot convert value of type '${String(i)}' to any of the target types: [${o.map(u=>u.type).join(", ")}]`)}function ex(e,t,s){return Object.entries(t.propTypes).map(([r,o])=>{let n=s[r];if(!n)throw new Error(`Missing property ${r}`);return Qn(e,[n],[o])?.[0]??n})}function ei(e){let t=((...s)=>e.normalImpl(...s));return ot(t,e.name),t.toString=()=>e.name,t[zs]={get strictSignature(){},call(s,r){let o=e.argTypes(...r.map(d=>pr(d.dataType)&&d.dataType.implicit?d.dataType.inner:d.dataType)),n=r.map((d,c)=>{let _=o[c];if(!_)throw new Error("Function called with invalid arguments");return Fr(s,d,_,!1)}),i;if(n.every(d=>hs(d))){s.pushMode(new _d);try{i=ve(e.normalImpl(...n.map(d=>d.value)),e.schema(),"constant")}finally{s.popMode("normal")}}else i=e.codegenImpl(s,n);return r.some(d=>d.possibleSideEffects)?i:aM(i)}},t}var hM=ei({name:"bool",schema:()=>ft,argTypes:e=>e?[e]:[],normalImpl(e=!1){if(typeof e=="boolean")return e;if(typeof e=="number"){if(!Number.isFinite(e))throw new Cc(e,ft);return!!e}throw new Error(`Invalid argument type for 'd.bool'. Got '${typeof e}', expected number or boolean`)},codegenImpl:(e,[t])=>{if(t===void 0)return e.gen.typeInstantiation(ft,[]);if(Kn(t.dataType)||Qd(t))return e.gen.typeInstantiation(ft,[t]);throw t.dataType===Ut?new Qe("Unknown argument type for 'd.bool'."):new Ts([t.dataType],[ft,R,Z,a,xs])}}),ft=Object.assign(hM,{[B]:{},type:"bool"}),xM=ei({name:"u32",schema:()=>R,argTypes:e=>e?[e]:[],normalImpl(e){if(e===void 0)return 0;if(typeof e=="boolean")return e?1:0;if(!Number.isFinite(e))throw new Cc(e,R);if(!Number.isInteger(e)){let t=Math.trunc(e);return t<0?0:t>4294967295?4294967295:t}return(e&4294967295)>>>0},codegenImpl:(e,[t])=>e.gen.typeInstantiation(R,t?[t]:[])}),R=Object.assign(xM,{[B]:{},type:"u32"}),gM=ei({name:"i32",schema:()=>Z,argTypes:e=>e?[e]:[],normalImpl(e){if(e===void 0)return 0;if(typeof e=="boolean")return e?1:0;if(!Number.isFinite(e))throw new Cc(e,Z);return e|0},codegenImpl:(e,[t])=>e.gen.typeInstantiation(Z,t?[t]:[])}),nI={[B]:{},type:"u16"},Z=Object.assign(gM,{[B]:{},type:"i32"}),bM=ei({name:"f32",schema:()=>a,argTypes:e=>e?[e]:[],normalImpl(e){if(e===void 0)return 0;if(typeof e=="boolean")return e?1:0;if(!Number.isFinite(e))throw new Cc(e,a);return Math.fround(e)},codegenImpl:(e,[t])=>e.gen.typeInstantiation(a,t?[t]:[])}),a=Object.assign(bM,{[B]:{},type:"f32"}),k2=new ArrayBuffer(4),wM=new Float32Array(k2),TM=new Uint32Array(k2);function Pl(e){wM[0]=e;let t=TM[0],s=t>>>31&1,r=t>>>23&255,o=t&8388607;if(r===255)return s<<15|31744|(o?512:0);if(r=r-127+15,r<=0){if(r<-10)return s<<15;let c=o|8388608,_=14-r,u=c>>>_-1&1,m=c&(1<<_-1)-1?1:0,p=c>>>_;return u&(m|p&1)&&(p+=1),s<<15|p}if(r>=31)return s<<15|31744;let n=o>>>12&1,i=o&4095?1:0,d=o>>>13;return n&(i|d&1)&&(d+=1),d===1024&&(d=0,++r,r>=31)?s<<15|31744:s<<15|r<<10|d}function Nf(e){let t=e&32768?-1:1,s=e>>10&31,r=e&1023;return s===0?r?t*r*2**-24:t*0:s===31?r?NaN:t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t*(1+r/1024)*2**(s-15)}function SM(e){return Nf(Pl(e))}var AM=ei({name:"f16",schema:()=>xs,argTypes:e=>e?[e]:[],normalImpl(e){if(e===void 0)return 0;if(typeof e=="boolean")return e?1:0;if(!Number.isFinite(e))throw new Cc(e,xs);return SM(e)},codegenImpl:(e,[t])=>e.gen.typeInstantiation(xs,t?[t]:[])}),xs=Object.assign(AM,{[B]:{},type:"f16"}),Yc={[B]:{},type:"abstractInt",toString(){return"abstractInt"},concretized:Z},qa={[B]:{},type:"abstractFloat",toString(){return"abstractFloat"},concretized:a};function on(e){return e>=2**63||e<-(2**63)?ve(e,qa,"constant",!1):Number.isInteger(e)?(Number.isSafeInteger(e)||Vt.warn("precision-loss",`The integer ${e} exceeds the safe integer range and may have lost precision.`),ve(e,Yc,"constant",!1)):ve(e,qa,"constant",!1)}function no(e){return e.type==="abstractFloat"?a:e.type==="abstractInt"?Z:e}function MM(e){return Ff(no(e.dataType),e)}function Wr(e){if(Gc(e))return e;if(M2(e))throw new Error("Cannot use refs (d.ref(...)) from the outer scope.");let t=Gu(e);return t||(lr(e)||Do(e)?ve(e,Ru(e),"constant",!1):typeof e=="number"?on(e):typeof e=="boolean"?ve(e,ft,"constant",!1):ve(e,Ut,"constant",!1))}var ic=class{[B]=!0;type;elements;constructor(e,t){this.type=e,this.elements=t}toString(){return"ArrayExpression"}[kt](e){for(let t of this.elements)if(en(t)&&!Io(t.dataType)){let s=e.resolveSnippet(t).value,r=e.resolve(no(t.dataType)).value;throw new Qe(`'${s}' reference cannot be used in an array constructor. +----- +Try '${r}(${s})' or 'arrayOf(${r}, count)([...])' to copy the value instead. +-----`)}return e.gen.typeInstantiation(this.type,this.elements)}};function Ao(e){let t=((...s)=>e(...s));return t.toString=()=>"comptime",t[Xs]=e,t[zs]={call(s,r){if(!r.every(o=>hs(o)))throw new Qe(`Called comptime function with runtime-known values: ${r.filter(o=>!hs(o)).map(o=>`'${o.value}'`).join(", ")}`);s.pushMode(new _d);try{return Wr(e(...r.map(o=>o.value)))}finally{s.popMode()}}},t.$name=s=>(ot(e,s),t),Object.defineProperty(t,B,{value:{isComptime:!0}}),t}var Ys=class extends Error{constructor(e){super(e),this.name=this.constructor.name}};function pe(e){let t=((...s)=>{if(typeof e.normalImpl=="string")throw new Ys(e.normalImpl);return e.normalImpl(...s)});return e.name&&ot(t,e.name),t.toString=()=>e.name??"",t[zs]={get strictSignature(){return typeof e.signature!="function"?e.signature:void 0},call(s,r){let{argTypes:o,returnType:n}=typeof e.signature=="function"?e.signature(...r.map(_=>pr(_.dataType)&&_.dataType.implicit?_.dataType.inner:_.dataType)):e.signature,i=r.map((_,u)=>{let m=o[u];if(!m)throw new Error("Function called with invalid arguments");return Fr(s,_,m,!e.ignoreImplicitCastWarning)});if(!e.noComptime&&i.every(_=>hs(_))&&typeof e.normalImpl=="function"){s.pushMode(new _d);try{return ve(e.normalImpl(...i.map(_=>_.value)),n,"constant",e.sideEffects)}catch(_){if(!(_ instanceof Ys))throw _}finally{s.popMode("normal")}}let d=e.sideEffects||r.some(_=>_.possibleSideEffects),c=no(n);return ve(e.codegenImpl(s,i,c),c,"runtime",d)}},t}var fn=["x","y","z","w"],vn=["r","g","b","a"],tn=class Ua extends Array{static#e=(()=>{for(let t=0;t<4;t++)for(let s=0;s<4;s++)for(let r=0;r<4;r++)for(let o=0;o<4;o++){let n=`${fn[t]}${fn[s]}${fn[r]}${fn[o]}`,i=`${vn[t]}${vn[s]}${vn[r]}${vn[o]}`;Object.defineProperty(Ua.prototype,n,{get(){return new this._Vec4(this[t],this[s],this[r],this[o])}}),Object.defineProperty(Ua.prototype,i,{get(){return new this._Vec4(this[t],this[s],this[r],this[o])}})}for(let t=0;t<4;t++)for(let s=0;s<4;s++)for(let r=0;r<4;r++){let o=`${fn[t]}${fn[s]}${fn[r]}`,n=`${vn[t]}${vn[s]}${vn[r]}`;Object.defineProperty(Ua.prototype,o,{get(){return new this._Vec3(this[t],this[s],this[r])}}),Object.defineProperty(Ua.prototype,n,{get(){return new this._Vec3(this[t],this[s],this[r])}})}for(let t=0;t<4;t++)for(let s=0;s<4;s++){let r=`${fn[t]}${fn[s]}`,o=`${vn[t]}${vn[s]}`;Object.defineProperty(Ua.prototype,r,{get(){return new this._Vec2(this[t],this[s])}}),Object.defineProperty(Ua.prototype,o,{get(){return new this._Vec2(this[t],this[s])}})}})();castElement(){return this[B].elementSchema}[kt](t){let s=Ru(this);return this.every(r=>!r)?t.gen.typeInstantiation(s,[]):this.every(r=>this[0]===r)?t.gen.typeInstantiation(s,[on(this[0])]):t.gen.typeInstantiation(s,this.map(r=>on(r)))}toString(){return`${this.kind}(${this.join(", ")})`}},Lc=class extends tn{e0;e1;constructor(e,t){super(2),this.e0=this.castElement()(e),this.e1=this.castElement()(t??e)}get 0(){return this.e0}get 1(){return this.e1}set 0(e){this.e0=this.castElement()(e)}set 1(e){this.e1=this.castElement()(e)}get x(){return this[0]}get y(){return this[1]}set x(e){this[0]=this.castElement()(e)}set y(e){this[1]=this.castElement()(e)}get r(){return this[0]}get g(){return this[1]}set r(e){this[0]=this.castElement()(e)}set g(e){this[1]=this.castElement()(e)}},Ic=class extends tn{e0;e1;e2;constructor(e,t,s){super(3),this.e0=this.castElement()(e),this.e1=this.castElement()(t??e),this.e2=this.castElement()(s??e)}get 0(){return this.e0}get 1(){return this.e1}get 2(){return this.e2}set 0(e){this.e0=this.castElement()(e)}set 1(e){this.e1=this.castElement()(e)}set 2(e){this.e2=this.castElement()(e)}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}set x(e){this[0]=this.castElement()(e)}set y(e){this[1]=this.castElement()(e)}set z(e){this[2]=this.castElement()(e)}get r(){return this[0]}get g(){return this[1]}get b(){return this[2]}set r(e){this[0]=this.castElement()(e)}set g(e){this[1]=this.castElement()(e)}set b(e){this[2]=this.castElement()(e)}},Dc=class extends tn{e0;e1;e2;e3;constructor(e,t,s,r){super(4),this.e0=this.castElement()(e),this.e1=this.castElement()(t??e),this.e2=this.castElement()(s??e),this.e3=this.castElement()(r??e)}get 0(){return this.e0}get 1(){return this.e1}get 2(){return this.e2}get 3(){return this.e3}set 0(e){this.e0=this.castElement()(e)}set 1(e){this.e1=this.castElement()(e)}set 2(e){this.e2=this.castElement()(e)}set 3(e){this.e3=this.castElement()(e)}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}get w(){return this[3]}set x(e){this[0]=e}set y(e){this[1]=e}set z(e){this[2]=e}set w(e){this[3]=e}get r(){return this[0]}get g(){return this[1]}get b(){return this[2]}get a(){return this[3]}set r(e){this[0]=e}set g(e){this[1]=e}set b(e){this[2]=e}set a(e){this[3]=e}},qf=class $2 extends Lc{get[B](){return{elementSchema:a}}get kind(){return"vec2f"}get _Vec2(){return $2}get _Vec3(){return Zf}get _Vec4(){return sv}},Xf=class U2 extends Lc{get[B](){return{elementSchema:xs}}get kind(){return"vec2h"}get _Vec2(){return U2}get _Vec3(){return Qf}get _Vec4(){return rv}},Hf=class C2 extends Lc{get[B](){return{elementSchema:Z}}get kind(){return"vec2i"}get _Vec2(){return C2}get _Vec3(){return Jf}get _Vec4(){return ov}},jf=class R2 extends Lc{get[B](){return{elementSchema:R}}get kind(){return"vec2u"}get _Vec2(){return R2}get _Vec3(){return ev}get _Vec4(){return nv}},Kf=class z2 extends Lc{get[B](){return{elementSchema:ft}}get kind(){return"vec2"}get _Vec2(){return z2}get _Vec3(){return tv}get _Vec4(){return av}},Zf=class G2 extends Ic{get[B](){return{elementSchema:a}}get kind(){return"vec3f"}get _Vec2(){return qf}get _Vec3(){return G2}get _Vec4(){return sv}},Qf=class Y2 extends Ic{get[B](){return{elementSchema:xs}}get kind(){return"vec3h"}get _Vec2(){return Xf}get _Vec3(){return Y2}get _Vec4(){return rv}},Jf=class L2 extends Ic{get[B](){return{elementSchema:Z}}get kind(){return"vec3i"}get _Vec2(){return Hf}get _Vec3(){return L2}get _Vec4(){return ov}},ev=class I2 extends Ic{get[B](){return{elementSchema:R}}get kind(){return"vec3u"}get _Vec2(){return jf}get _Vec3(){return I2}get _Vec4(){return nv}},tv=class D2 extends Ic{get[B](){return{elementSchema:ft}}get kind(){return"vec3"}get _Vec2(){return Kf}get _Vec3(){return D2}get _Vec4(){return av}},sv=class F2 extends Dc{get[B](){return{elementSchema:a}}get kind(){return"vec4f"}get _Vec2(){return qf}get _Vec3(){return Zf}get _Vec4(){return F2}},rv=class B2 extends Dc{get[B](){return{elementSchema:xs}}get kind(){return"vec4h"}get _Vec2(){return Xf}get _Vec3(){return Qf}get _Vec4(){return B2}},ov=class W2 extends Dc{get[B](){return{elementSchema:Z}}get kind(){return"vec4i"}get _Vec2(){return Hf}get _Vec3(){return Jf}get _Vec4(){return W2}},nv=class O2 extends Dc{get[B](){return{elementSchema:R}}get kind(){return"vec4u"}get _Vec2(){return jf}get _Vec3(){return ev}get _Vec4(){return O2}},av=class V2 extends Dc{get[B](){return{elementSchema:ft}}get kind(){return"vec4"}get _Vec2(){return Kf}get _Vec3(){return tv}get _Vec4(){return V2}},lt=Er(qf,a),Vs=Er(Xf,xs),Xt=Er(Hf,Z),Ct=Er(jf,R),Or=Er(Kf,ft),It=Er(Zf,a),Pr=Er(Qf,xs),cs=Er(Jf,Z),gt=Er(ev,R),Vr=Er(tv,ft),Oe=Er(sv,a),Ns=Er(rv,xs),Wt=Er(ov,Z),Et=Er(nv,R),Nr=Er(av,ft),PM={vec2f:lt,vec2h:Vs,vec2i:Xt,vec2u:Ct,"vec2":Or,vec3f:It,vec3h:Pr,vec3i:cs,vec3u:gt,"vec3":Vr,vec4f:Oe,vec4h:Ns,vec4i:Wt,vec4u:Et,"vec4":Nr};function Er(e,t){let{kind:s,length:r}=new e,o=r,i=ei({name:s,schema:()=>d,argTypes:(...c)=>c.map(_=>Rt(_)?_:t),normalImpl:(...c)=>{let _=Array.from({length:c.length}),u=0;for(let m of c)if(typeof m=="number"||typeof m=="boolean")_[u++]=m;else for(let p=0;pc.gen.typeInstantiation(d,_)}),d=Object.assign(i,{[B]:{},type:s,primitive:t,componentCount:o,[id]:void 0});return e.prototype.schema=d,d}var Ci=class{};function iv(e){let t=ei({name:e.type,schema:()=>s,normalImpl:(...r)=>{let o=[];for(let n of r)if(typeof n=="number")o.push(n);else for(let i=0;ir.map(o=>Rt(o)?o:a),codegenImpl:(r,o)=>r.gen.typeInstantiation(s,o)}),s=Object.assign(t,{[B]:{},type:e.type,primitive:a,identity:LM[e.columns],translation:e.columns===4?IM:void 0,scaling:e.columns===4?DM:void 0,rotationX:e.columns===4?FM:void 0,rotationY:e.columns===4?BM:void 0,rotationZ:e.columns===4?WM:void 0});return e.MatImpl.prototype.schema=s,s}var tx=[0,1,2,3],EM=class extends Ci{[B]=!0;columns;length=4;constructor(...e){super(),this.columns=[this.makeColumn(e[0],e[1]),this.makeColumn(e[2],e[3])]}get 0(){return this.columns[0].x}get 1(){return this.columns[0].y}get 2(){return this.columns[1].x}get 3(){return this.columns[1].y}set 0(e){this.columns[0].x=e}set 1(e){this.columns[0].y=e}set 2(e){this.columns[1].x=e}set 3(e){this.columns[1].y=e}*[Symbol.iterator](){yield this[0],yield this[1],yield this[2],yield this[3]}[kt](e){return e.gen.typeInstantiation(Gn,tx.map(t=>on(this[t])))}toString(){return`${this.kind}(${tx.map(e=>this[e]).join(", ")})`}},kM=class extends EM{kind="mat2x2f";makeColumn(e,t){return lt(e,t)}},sx=[0,1,2,4,5,6,8,9,10],$M=class extends Ci{[B]=!0;columns;length=12;constructor(...e){super(),this.columns=[this.makeColumn(e[0],e[1],e[2]),this.makeColumn(e[3],e[4],e[5]),this.makeColumn(e[6],e[7],e[8])]}get 0(){return this.columns[0].x}get 1(){return this.columns[0].y}get 2(){return this.columns[0].z}get 3(){return 0}get 4(){return this.columns[1].x}get 5(){return this.columns[1].y}get 6(){return this.columns[1].z}get 7(){return 0}get 8(){return this.columns[2].x}get 9(){return this.columns[2].y}get 10(){return this.columns[2].z}get 11(){return 0}set 0(e){this.columns[0].x=e}set 1(e){this.columns[0].y=e}set 2(e){this.columns[0].z=e}set 3(e){}set 4(e){this.columns[1].x=e}set 5(e){this.columns[1].y=e}set 6(e){this.columns[1].z=e}set 7(e){}set 8(e){this.columns[2].x=e}set 9(e){this.columns[2].y=e}set 10(e){this.columns[2].z=e}set 11(e){}*[Symbol.iterator](){for(let e=0;e<12;e++)yield this[e]}[kt](e){return e.gen.typeInstantiation(Yn,sx.map(t=>on(this[t])))}toString(){return`${this.kind}(${sx.map(e=>this[e]).join(", ")})`}},UM=class extends $M{kind="mat3x3f";makeColumn(e,t,s){return It(e,t,s)}},rx=Array.from({length:16},(e,t)=>t),CM=class extends Ci{[B]=!0;columns;constructor(...e){super(),this.columns=[this.makeColumn(e[0],e[1],e[2],e[3]),this.makeColumn(e[4],e[5],e[6],e[7]),this.makeColumn(e[8],e[9],e[10],e[11]),this.makeColumn(e[12],e[13],e[14],e[15])]}length=16;get 0(){return this.columns[0].x}get 1(){return this.columns[0].y}get 2(){return this.columns[0].z}get 3(){return this.columns[0].w}get 4(){return this.columns[1].x}get 5(){return this.columns[1].y}get 6(){return this.columns[1].z}get 7(){return this.columns[1].w}get 8(){return this.columns[2].x}get 9(){return this.columns[2].y}get 10(){return this.columns[2].z}get 11(){return this.columns[2].w}get 12(){return this.columns[3].x}get 13(){return this.columns[3].y}get 14(){return this.columns[3].z}get 15(){return this.columns[3].w}set 0(e){this.columns[0].x=e}set 1(e){this.columns[0].y=e}set 2(e){this.columns[0].z=e}set 3(e){this.columns[0].w=e}set 4(e){this.columns[1].x=e}set 5(e){this.columns[1].y=e}set 6(e){this.columns[1].z=e}set 7(e){this.columns[1].w=e}set 8(e){this.columns[2].x=e}set 9(e){this.columns[2].y=e}set 10(e){this.columns[2].z=e}set 11(e){this.columns[2].w=e}set 12(e){this.columns[3].x=e}set 13(e){this.columns[3].y=e}set 14(e){this.columns[3].z=e}set 15(e){this.columns[3].w=e}*[Symbol.iterator](){for(let e=0;e<16;e++)yield this[e]}[kt](e){return e.gen.typeInstantiation(Hs,rx.map(t=>on(this[t])))}toString(){return`${this.kind}(${rx.map(e=>this[e]).join(", ")})`}},RM=class extends CM{kind="mat4x4f";makeColumn(e,t,s,r){return Oe(e,t,s,r)}},zM=Ao(()=>Gn(1,0,0,1)).$name("identity2"),GM=Ao(()=>Yn(1,0,0,0,1,0,0,0,1)).$name("identity3"),YM=Ao(()=>Hs(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)).$name("identity4"),LM={2:zM,3:GM,4:YM},IM=pe({name:"translation4",normalImpl:e=>Hs(1,0,0,0,0,1,0,0,0,0,1,0,e.x,e.y,e.z,1),get signature(){return{argTypes:[It],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, ${t}.x, ${t}.y, ${t}.z, 1)`,sideEffects:!1}),DM=pe({name:"scaling4",normalImpl:e=>Hs(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1),get signature(){return{argTypes:[It],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(${t}.x, 0, 0, 0, 0, ${t}.y, 0, 0, 0, 0, ${t}.z, 0, 0, 0, 0, 1)`,sideEffects:!1}),FM=pe({name:"rotationX4",normalImpl:e=>Hs(1,0,0,0,0,Math.cos(e),Math.sin(e),0,0,-Math.sin(e),Math.cos(e),0,0,0,0,1),get signature(){return{argTypes:[a],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(1, 0, 0, 0, 0, cos(${t}), sin(${t}), 0, 0, -sin(${t}), cos(${t}), 0, 0, 0, 0, 1)`,sideEffects:!1}),BM=pe({name:"rotationY4",normalImpl:e=>Hs(Math.cos(e),0,-Math.sin(e),0,0,1,0,0,Math.sin(e),0,Math.cos(e),0,0,0,0,1),get signature(){return{argTypes:[a],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(cos(${t}), 0, -sin(${t}), 0, 0, 1, 0, 0, sin(${t}), 0, cos(${t}), 0, 0, 0, 0, 1)`,sideEffects:!1}),WM=pe({name:"rotationZ4",normalImpl:e=>Hs(Math.cos(e),Math.sin(e),0,0,-Math.sin(e),Math.cos(e),0,0,0,0,1,0,0,0,0,1),get signature(){return{argTypes:[a],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(cos(${t}), sin(${t}), 0, 0, -sin(${t}), cos(${t}), 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)`,sideEffects:!1}),Gn=iv({type:"mat2x2f",rows:2,columns:2,MatImpl:kM}),Yn=iv({type:"mat3x3f",rows:3,columns:3,MatImpl:UM}),Hs=iv({type:"mat4x4f",rows:4,columns:4,MatImpl:RM});var OM=(e,t,s)=>{if(e===t)return 0;let r=N2((s-e)/(t-e),0,1);return r*r*(3-2*r)},N2=(e,t,s)=>Math.min(Math.max(t,e),s),dv=new ArrayBuffer(4),q2=new Float32Array(dv),cv=new Uint32Array(dv),VM=new Int32Array(dv);function Zo(e){return cv[0]=e,q2[0]}function Qo(e){return cv[0]=e,VM[0]}function Jo(e){return q2[0]=e,cv[0]}var ox=e=>Math.sqrt(e.x**2+e.y**2),nx=e=>Math.sqrt(e.x**2+e.y**2+e.z**2),ax=e=>Math.sqrt(e.x**2+e.y**2+e.z**2+e.w**2),G_=(e,t)=>e.x*t.x+e.y*t.y,Y_=(e,t)=>e.x*t.x+e.y*t.y+e.z*t.z,L_=(e,t)=>e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w,ix=e=>(t,s)=>Ct(e(t.x,s.x),e(t.y,s.y)),dx=e=>(t,s)=>gt(e(t.x,s.x),e(t.y,s.y),e(t.z,s.z)),cx=e=>(t,s)=>Et(e(t.x,s.x),e(t.y,s.y),e(t.z,s.z),e(t.w,s.w)),_x=e=>(t,s)=>Xt(e(t.x,s.x),e(t.y,s.y)),lx=e=>(t,s)=>cs(e(t.x,s.x),e(t.y,s.y),e(t.z,s.z)),ux=e=>(t,s)=>Wt(e(t.x,s.x),e(t.y,s.y),e(t.z,s.z),e(t.w,s.w)),qr={all:{"vec2":e=>e.x&&e.y,"vec3":e=>e.x&&e.y&&e.z,"vec4":e=>e.x&&e.y&&e.z&&e.w},length:{vec2f:ox,vec2h:ox,vec3f:nx,vec3h:nx,vec4f:ax,vec4h:ax},mulMxM:{mat2x2f:(e,t)=>{let s=e.columns,r=t.columns;return Gn(s[0].x*r[0].x+s[1].x*r[0].y,s[0].y*r[0].x+s[1].y*r[0].y,s[0].x*r[1].x+s[1].x*r[1].y,s[0].y*r[1].x+s[1].y*r[1].y)},mat3x3f:(e,t)=>{let s=e.columns,r=t.columns;return Yn(s[0].x*r[0].x+s[1].x*r[0].y+s[2].x*r[0].z,s[0].y*r[0].x+s[1].y*r[0].y+s[2].y*r[0].z,s[0].z*r[0].x+s[1].z*r[0].y+s[2].z*r[0].z,s[0].x*r[1].x+s[1].x*r[1].y+s[2].x*r[1].z,s[0].y*r[1].x+s[1].y*r[1].y+s[2].y*r[1].z,s[0].z*r[1].x+s[1].z*r[1].y+s[2].z*r[1].z,s[0].x*r[2].x+s[1].x*r[2].y+s[2].x*r[2].z,s[0].y*r[2].x+s[1].y*r[2].y+s[2].y*r[2].z,s[0].z*r[2].x+s[1].z*r[2].y+s[2].z*r[2].z)},mat4x4f:(e,t)=>{let s=e.columns,r=t.columns;return Hs(s[0].x*r[0].x+s[1].x*r[0].y+s[2].x*r[0].z+s[3].x*r[0].w,s[0].y*r[0].x+s[1].y*r[0].y+s[2].y*r[0].z+s[3].y*r[0].w,s[0].z*r[0].x+s[1].z*r[0].y+s[2].z*r[0].z+s[3].z*r[0].w,s[0].w*r[0].x+s[1].w*r[0].y+s[2].w*r[0].z+s[3].w*r[0].w,s[0].x*r[1].x+s[1].x*r[1].y+s[2].x*r[1].z+s[3].x*r[1].w,s[0].y*r[1].x+s[1].y*r[1].y+s[2].y*r[1].z+s[3].y*r[1].w,s[0].z*r[1].x+s[1].z*r[1].y+s[2].z*r[1].z+s[3].z*r[1].w,s[0].w*r[1].x+s[1].w*r[1].y+s[2].w*r[1].z+s[3].w*r[1].w,s[0].x*r[2].x+s[1].x*r[2].y+s[2].x*r[2].z+s[3].x*r[2].w,s[0].y*r[2].x+s[1].y*r[2].y+s[2].y*r[2].z+s[3].y*r[2].w,s[0].z*r[2].x+s[1].z*r[2].y+s[2].z*r[2].z+s[3].z*r[2].w,s[0].w*r[2].x+s[1].w*r[2].y+s[2].w*r[2].z+s[3].w*r[2].w,s[0].x*r[3].x+s[1].x*r[3].y+s[2].x*r[3].z+s[3].x*r[3].w,s[0].y*r[3].x+s[1].y*r[3].y+s[2].y*r[3].z+s[3].y*r[3].w,s[0].z*r[3].x+s[1].z*r[3].y+s[2].z*r[3].z+s[3].z*r[3].w,s[0].w*r[3].x+s[1].w*r[3].y+s[2].w*r[3].z+s[3].w*r[3].w)}},mulMxV:{mat2x2f:(e,t)=>{let s=e.columns;return lt(s[0].x*t.x+s[1].x*t.y,s[0].y*t.x+s[1].y*t.y)},mat3x3f:(e,t)=>{let s=e.columns;return It(s[0].x*t.x+s[1].x*t.y+s[2].x*t.z,s[0].y*t.x+s[1].y*t.y+s[2].y*t.z,s[0].z*t.x+s[1].z*t.y+s[2].z*t.z)},mat4x4f:(e,t)=>{let s=e.columns;return Oe(s[0].x*t.x+s[1].x*t.y+s[2].x*t.z+s[3].x*t.w,s[0].y*t.x+s[1].y*t.y+s[2].y*t.z+s[3].y*t.w,s[0].z*t.x+s[1].z*t.y+s[2].z*t.z+s[3].z*t.w,s[0].w*t.x+s[1].w*t.y+s[2].w*t.z+s[3].w*t.w)}},mulVxM:{mat2x2f:(e,t)=>{let s=t.columns;return lt(e.x*s[0].x+e.y*s[0].y,e.x*s[1].x+e.y*s[1].y)},mat3x3f:(e,t)=>{let s=t.columns;return It(e.x*s[0].x+e.y*s[0].y+e.z*s[0].z,e.x*s[1].x+e.y*s[1].y+e.z*s[1].z,e.x*s[2].x+e.y*s[2].y+e.z*s[2].z)},mat4x4f:(e,t)=>{let s=t.columns;return Oe(e.x*s[0].x+e.y*s[0].y+e.z*s[0].z+e.w*s[0].w,e.x*s[1].x+e.y*s[1].y+e.z*s[1].z+e.w*s[1].w,e.x*s[2].x+e.y*s[2].y+e.z*s[2].z+e.w*s[2].w,e.x*s[3].x+e.y*s[3].y+e.z*s[3].z+e.w*s[3].w)}},dot:{vec2f:G_,vec2h:G_,vec2i:G_,vec2u:G_,vec3f:Y_,vec3h:Y_,vec3i:Y_,vec3u:Y_,vec4f:L_,vec4h:L_,vec4i:L_,vec4u:L_},cross:{vec3f:(e,t)=>It(e.y*t.z-e.z*t.y,e.z*t.x-e.x*t.z,e.x*t.y-e.y*t.x),vec3h:(e,t)=>Pr(e.y*t.z-e.z*t.y,e.z*t.x-e.x*t.z,e.x*t.y-e.y*t.x)},bitShiftLeft:{vec2i:_x((e,t)=>e<e<e<e<e<e<e>>t),vec2u:ix((e,t)=>e>>>t),vec3i:lx((e,t)=>e>>t),vec3u:dx((e,t)=>e>>>t),vec4i:ux((e,t)=>e>>t),vec4u:cx((e,t)=>e>>>t)},bitcastU32toF32:{vec2u:e=>lt(Zo(e.x),Zo(e.y)),vec3u:e=>It(Zo(e.x),Zo(e.y),Zo(e.z)),vec4u:e=>Oe(Zo(e.x),Zo(e.y),Zo(e.z),Zo(e.w))},bitcastU32toI32:{vec2u:e=>Xt(Qo(e.x),Qo(e.y)),vec3u:e=>cs(Qo(e.x),Qo(e.y),Qo(e.z)),vec4u:e=>Wt(Qo(e.x),Qo(e.y),Qo(e.z),Qo(e.w))},bitcastF32toU32:{vec2f:e=>Ct(Jo(e.x),Jo(e.y)),vec3f:e=>gt(Jo(e.x),Jo(e.y),Jo(e.z)),vec4f:e=>Et(Jo(e.x),Jo(e.y),Jo(e.z),Jo(e.w))}},NM={vec2f:Or,vec2h:Or,vec2i:Or,vec2u:Or,"vec2":Or,vec3f:Vr,vec3h:Vr,vec3i:Vr,vec3u:Vr,"vec3":Vr,vec4f:Nr,vec4h:Nr,vec4i:Nr,vec4u:Nr,"vec4":Nr},up={...PM,mat2x2f:Gn,mat3x3f:Yn,mat4x4f:Hs};function qM(e,t){let s=e==="boolean"?NM:up;if(t in s)return s[t];throw new Error(`No corresponding vector/matrix type for '${t}' kind in '${e}' mode.`)}function XM(e){return e.kind.startsWith("vec")?e:e.columns.flat()}function X2(e,t,s){let r=t.map(HM);if(r.every(c=>c==="boolean"||c==="number"))return e(...t);let o=r[0];ds(o,"Expected kind of the first argument to be present.");let n=qM(s,o),i=t.map(XM),d=i[0]?.length;return ds(d!==void 0,"Expected constructor to have at least one argument."),n(...Array.from({length:d},(c,_)=>e(...i.map(u=>u[_]))))}function Tt(e,t){return X2(e,t,"first")}function Du(e,t){return X2(e,t,"boolean")}function HM(e){return typeof e=="number"?"number":typeof e=="boolean"?"boolean":e.kind}function _v(e){let[t,s]=e;if(typeof t=="number"&&lr(s)){let r=up[s.kind];return[r(t),s]}else if(lr(t)&&typeof s=="number"){let r=up[t.kind];return[t,r(s)]}return[t,s]}var mx=e=>"primitive"in e?e.primitive:e,lv=e=>(t,s)=>{let{restrict:r}=e??{},o=u=>{throw r?new Ts([t,s],r):new Error(`Cannot apply operator to ${t.type} and ${s.type}: ${u}`)};if(e?.noMat&&(rn(t)||rn(s)))return o("matrices not supported");let n=Rt(t)||rn(t),i=Rt(s)||rn(s);if(!n&&!i){let u=fr([t,s],r);return u?{argTypes:u,returnType:u[0]}:o("incompatible scalar types")}if(n&&i)return e?.matVecProduct&&Rt(t)!==Rt(s)?{argTypes:[t,s],returnType:Rt(t)?t:s}:t.type!==s.type?o("operands must have the same type"):{argTypes:[t,s],returnType:t};let[d,c]=n?[s,t]:[t,s],_=fr([d],[mx(c)]);return _?{argTypes:n?[t,_[0]]:[_[0],s],returnType:c}:o(`scalar not convertible to ${mx(c).type}`)},H2=lv(),jM=lv({matVecProduct:!0}),j2=lv({noMat:!0,restrict:[a,xs,qa]});function K2(e,t){if(typeof e=="number"&&typeof t=="number")return e+t;if(typeof e=="number"&&lr(t))return Tt(s=>e+s,[t]);if(lr(e)&&typeof t=="number")return Tt(s=>s+t,[e]);if(lr(e)&&lr(t)||Do(e)&&Do(t))return Tt((s,r)=>s+r,[e,t]);throw new Error("Add/Sub called with invalid arguments.")}var Pn=pe({name:"add",signature:H2,normalImpl:K2,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"+",s),sideEffects:!1});function KM(e,t){return K2(e,Z2(-1,t))}var ht=pe({name:"sub",signature:H2,normalImpl:KM,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"-",s),sideEffects:!1});function Z2(e,t){if(typeof e=="number"&&typeof t=="number")return e*t;if(typeof e=="number"&&(lr(t)||Do(t)))return Tt(s=>e*s,[t]);if((lr(e)||Do(e))&&typeof t=="number")return Tt(s=>s*t,[e]);if(lr(e)&&lr(t))return Tt((s,r)=>s*r,[e,t]);if(H0(e)&&Do(t))return qr.mulVxM[t.kind](e,t);if(Do(e)&&H0(t))return qr.mulMxV[e.kind](e,t);if(Do(e)&&Do(t))return qr.mulMxM[e.kind](e,t);throw new Error("Mul called with invalid arguments.")}var vr=pe({name:"mul",signature:jM,normalImpl:Z2,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"*",s),sideEffects:!1});function ZM(e,t){return Tt((s,r)=>s/r,_v([e,t]))}var mp=pe({name:"div",signature:j2,normalImpl:ZM,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"/",s),ignoreImplicitCastWarning:!0,sideEffects:!1}),bo=pe({name:"mod",signature:j2,normalImpl:((e,t)=>Tt((s,r)=>s%r,_v([e,t]))),codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"%",s),sideEffects:!1});function QM(e){return Tt(t=>-t,[e])}var px=pe({name:"neg",signature:e=>({argTypes:[e],returnType:e}),normalImpl:QM,codegenImpl:(e,[t])=>ce`-(${t})`,sideEffects:!1}),Q2={vec2i:Ct,vec2u:Ct,vec3i:gt,vec3u:gt,vec4i:Et,vec4u:Et},J2=(e,t)=>{let s=fr([e],[Xt,cs,Wt,Ct,gt,Et])?.[0];if(!s||!Rt(s))throw new Ts([e],[Xt,cs,Wt,Ct,gt,Et]);let r=s.componentCount,o=r===2?Ct:r===3?gt:Et,n=fr([t],[R,o])?.[0];if(!n)throw new Ts([t],[R,o]);return{argTypes:[s,n],returnType:s}};function JM(e,t){if(bl(e)&&Jb(t)&&e.length==t.length)return qr.bitShiftLeft[e.kind](e,t);if(bl(e)&&typeof t=="number"){let s=Q2[e.kind](t);return qr.bitShiftLeft[e.kind](e,s)}throw new Error("'bitShiftLeft' called with invalid arguments, expected: left-hand side to be an integer vector, right-hand side to be a number or unsigned integer vector of the same arity as the left-hand side.")}var eP=pe({name:"bitShiftLeft",signature:J2,normalImpl:JM,codegenImpl:(e,[t,s])=>{if(Rt(t.dataType)&&!Rt(s.dataType)){let r=t.dataType.componentCount,o=r===2?Ct:r===3?gt:Et;return e.gen.emitBinaryOp(t,"<<",e.gen.typeInstantiation(o,[s]))}return e.gen.emitBinaryOp(t,"<<",s)},sideEffects:!1});function tP(e,t){if(bl(e)&&Jb(t)&&e.length==t.length)return qr.bitShiftRight[e.kind](e,t);if(bl(e)&&typeof t=="number"){let s=Q2[e.kind](t);return qr.bitShiftRight[e.kind](e,s)}throw new Error("'bitShiftRight' called with invalid arguments, expected: left-hand side to be an integer vector, right-hand side to be a number or unsigned integer vector of the same arity as the left-hand side.")}var pp={add:Pn,sub:ht,mul:vr,div:mp,mod:bo,bitShiftLeft:eP,bitShiftRight:pe({name:"bitShiftRight",signature:J2,normalImpl:tP,codegenImpl:(e,[t,s])=>{if(Rt(t.dataType)&&!Rt(s.dataType)){let r=t.dataType.componentCount,o=r===2?Ct:r===3?gt:Et;return e.gen.emitBinaryOp(t,">>",e.gen.typeInstantiation(o,[s]))}return e.gen.emitBinaryOp(t,">>",s)},sideEffects:!1})},uv=class{lhs;operator;constructor(e,t){this.lhs=e,this.operator=t}};function sP(e){return e instanceof uv}function jo(e,t,s){let r=pp[t];Object.defineProperty(e.prototype,s,{value:r});function o(n){return r(this,n)}Object.defineProperty(e.prototype,t,{get(){return Yu()?new uv(this,r):o}})}var fx=!1;function rr(){fx||(fx=!0,jo(tn,"add",dr.plus),jo(Ci,"add",dr.plus),jo(tn,"sub",dr.minus),jo(Ci,"sub",dr.minus),jo(tn,"mul",dr.star),jo(Ci,"mul",dr.star),jo(tn,"div",dr.slash),jo(tn,"mod",dr.percent),jo(tn,"bitShiftLeft",Symbol()),jo(tn,"bitShiftRight",Symbol()))}var mv=new Set(["alias","break","case","const","const_assert","continue","continuing","default","diagnostic","discard","else","enable","false","fn","for","if","let","loop","override","requires","return","struct","switch","true","var","while","NULL","Self","abstract","active","alignas","alignof","as","asm","asm_fragment","async","attribute","auto","await","become","cast","catch","class","co_await","co_return","co_yield","coherent","column_major","common","compile","compile_fragment","concept","const_cast","consteval","constexpr","constinit","crate","debugger","decltype","delete","demote","demote_to_helper","do","dynamic_cast","enum","explicit","export","extends","extern","external","fallthrough","filter","final","finally","friend","from","fxgroup","get","goto","groupshared","highp","impl","implements","import","inline","instanceof","interface","layout","lowp","macro","macro_rules","match","mediump","meta","mod","module","move","mut","mutable","namespace","new","nil","noexcept","noinline","nointerpolation","non_coherent","noncoherent","noperspective","null","nullptr","of","operator","package","packoffset","partition","pass","patch","pixelfragment","precise","precision","premerge","priv","protected","pub","public","readonly","ref","regardless","register","reinterpret_cast","require","resource","restrict","self","set","shared","sizeof","smooth","snorm","static","static_assert","static_cast","std","subroutine","super","target","template","this","thread_local","throw","trait","try","type","typedef","typeid","typename","typeof","union","unless","unorm","unsafe","unsized","use","using","varying","virtual","volatile","wgsl","where","with","writeonly","yield","sampler","uniform","storage"]),rP=new Set(["array","bool","f16","f32","i32","u32","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","vec2","vec3","vec4","bitcast","all","any","select","arrayLength","abs","acos","acosh","asin","asinh","atan","atanh","atan2","ceil","clamp","cos","cosh","countLeadingZeros","countOneBits","countTrailingZeros","cross","degrees","determinant","distance","dot","dot4U8Packed","dot4I8Packed","exp","exp2","extractBits","faceForward","firstLeadingBit","firstTrailingBit","floor","fma","fract","frexp","insertBits","inverseSqrt","ldexp","length","log","log2","max","min","mix","modf","normalize","pow","quantizeToF16","radians","reflect","refract","reverseBits","round","saturate","sign","sin","sinh","smoothstep","sqrt","step","tan","tanh","transpose","trunc","dpdx","dpdxCoarse","dpdxFine","dpdy","dpdyCoarse","dpdyFine","fwidth","fwidthCoarse","fwidthFine","textureDimensions","textureGather","textureGatherCompare","textureLoad","textureNumLayers","textureNumLevels","textureNumSamples","textureSample","textureSampleBias","textureSampleCompare","textureSampleCompareLevel","textureSampleGrad","textureSampleLevel","textureSampleBaseClampToEdge","textureStore","atomicLoad","atomicStore","atomicAdd","atomicSub","atomicMax","atomicMin","atomicAnd","atomicOr","atomicXor","atomicExchange","atomicCompareExchangeWeak","pack4x8snorm","pack4x8unorm","pack4xI8","pack4xU8","pack4xI8Clamp","pack4xU8Clamp","pack2x16snorm","pack2x16unorm","pack2x16float","unpack4x8snorm","unpack4x8unorm","unpack4xI8","unpack4xU8","unpack2x16snorm","unpack2x16unorm","unpack2x16float","storageBarrier","textureBarrier","workgroupBarrier","workgroupUniformLoad","subgroupAdd","subgroupExclusiveAdd","subgroupInclusiveAdd","subgroupAll","subgroupAnd","subgroupAny","subgroupBallot","subgroupBroadcast","subgroupBroadcastFirst","subgroupElect","subgroupMax","subgroupMin","subgroupMul","subgroupExclusiveMul","subgroupInclusiveMul","subgroupOr","subgroupShuffle","subgroupShuffleDown","subgroupShuffleUp","subgroupShuffleXor","subgroupXor","quadBroadcast","quadSwapDiagonal","quadSwapX","quadSwapY"]);function oP(e){if(e){let t=e.replaceAll(/\s/g,"_").replaceAll(/[^\w]/g,"");return Fu(t).success?t:"item"}return"item"}function Fu(e){return e==="_"||e===""?{success:!1,error:"Identifiers cannot be equal to '' or '_'"}:/\s/.test(e)?{success:!1,error:"Identifiers cannot contain whitespace."}:e.startsWith("__")?{success:!1,error:"Identifiers cannot start with double underscores."}:/^(([_\p{XID_Start}][\p{XID_Continue}]+)|([\p{XID_Start}]))$/u.test(e)?{success:!0}:{success:!1,error:"Not compliant with WGSL guidelines."}}function e5(e){let t=Fu(e);return t.success?mv.has(e)?{success:!1,error:"Identifiers cannot start with reserved keywords."}:{success:!0}:t}function ut(e){return Bu(e,!1)}function Qs(e){return Bu(e,!0)}function Bu(e,t){Object.keys(e).forEach(r=>{let o=e5(r);if(!o.success)throw new Error(`Invalid property key '${r}'${o.error?`: ${o.error}`:""}`)});let s=r=>Object.fromEntries(Object.entries(e).map(([o,n])=>[o,aa(n,r?.[o])]));return Object.setPrototypeOf(s,nP),s.propTypes=e,Object.defineProperty(s,B,{value:{isAbstruct:t}}),s}var nP={type:"struct",$name(e){return ot(this,e),this},toString(){return`struct:${xe(this)??""}`}},qs=(e,t)=>{let s=t-1,r=~s;return(e&s)===0?e:(e&r)+t},xt=class{[B]={};type;[zs];constructor(e){this.type=e,this[zs]={call:(t,[s])=>P2(t,$n[this.type],s)}}[Gf](e){return aa($n[this.type],e)}},$n={uint8:R,uint8x2:Ct,uint8x4:Et,sint8:Z,sint8x2:Xt,sint8x4:Wt,unorm8:a,unorm8x2:lt,unorm8x4:Oe,snorm8:a,snorm8x2:lt,snorm8x4:Oe,uint16:R,uint16x2:Ct,uint16x4:Et,sint16:Z,sint16x2:Xt,sint16x4:Wt,unorm16:a,unorm16x2:lt,unorm16x4:Oe,snorm16:a,snorm16x2:lt,snorm16x4:Oe,float16:a,float16x2:lt,float16x4:Oe,float32:a,float32x2:lt,float32x3:It,float32x4:Oe,uint32:R,uint32x2:Ct,uint32x3:gt,uint32x4:Et,sint32:Z,sint32x2:Xt,sint32x3:cs,sint32x4:Wt,"unorm10-10-10-2":Oe,"unorm8x4-bgra":Oe},t5=new Set(Object.keys($n)),aI=new xt("uint8"),iI=new xt("uint8x2"),dI=new xt("uint8x4"),cI=new xt("sint8"),_I=new xt("sint8x2"),lI=new xt("sint8x4"),uI=new xt("unorm8"),mI=new xt("unorm8x2"),pI=new xt("unorm8x4"),fI=new xt("snorm8"),vI=new xt("snorm8x2"),yI=new xt("snorm8x4"),hI=new xt("uint16"),xI=new xt("uint16x2"),gI=new xt("uint16x4"),bI=new xt("sint16"),wI=new xt("sint16x2"),TI=new xt("sint16x4"),SI=new xt("unorm16"),AI=new xt("unorm16x2"),MI=new xt("unorm16x4"),PI=new xt("snorm16"),EI=new xt("snorm16x2"),kI=new xt("snorm16x4"),$I=new xt("float16"),UI=new xt("float16x2"),CI=new xt("float16x4"),RI=new xt("float32"),zI=new xt("float32x2"),GI=new xt("float32x3"),YI=new xt("float32x4"),LI=new xt("uint32"),II=new xt("uint32x2"),DI=new xt("uint32x3"),FI=new xt("uint32x4"),BI=new xt("sint32"),WI=new xt("sint32x2"),OI=new xt("sint32x3"),VI=new xt("sint32x4"),NI=new xt("unorm10-10-10-2"),qI=new xt("unorm8x4-bgra");function aP(e){return mt(e)&&t5.has(e?.type)}var iP={f32:4,f16:2,i32:4,u32:4,bool:4,u16:2,vec2f:8,vec2h:4,vec2i:8,vec2u:8,"vec2":8,vec3f:16,vec3h:8,vec3i:16,vec3u:16,"vec3":16,vec4f:16,vec4h:8,vec4i:16,vec4u:16,"vec4":16,mat2x2f:8,mat3x3f:16,mat4x4f:16,atomic:4};function dP(e){let t=e?.type,s=iP[t];if(s!==void 0)return s;if(Qt(e))return Object.values(e.propTypes).map(rs).reduce((r,o)=>r>o?r:o);if(Us(e))return rs(e.elementType);if(un(e)){let r=Object.values(e.propTypes)[0];return r?ac(r)??1:1}if(Ja(e))return ac(e.elementType)??1;if(zn(e)||ha(e))return ac(e)??rs(e.inner);if(t5.has(t))return 1;throw new Error(`Cannot determine alignment of data: ${io(e)}`)}function cP(e){if(un(e)){let t=Object.values(e.propTypes)[0];return t?wo(t):1}return Ja(e)?wo(e.elementType):ha(e)?ac(e)??wo(e.inner):ac(e)??1}var vx=new WeakMap,yx=new WeakMap;function rs(e){let t=vx.get(e);return t===void 0&&(t=dP(e),vx.set(e,t)),t}function wo(e){let t=yx.get(e);return t===void 0&&(t=cP(e),yx.set(e,t)),t}var _P={bool:4,f32:4,f16:2,i32:4,u32:4,u16:2,vec2f:8,vec2h:4,vec2i:8,vec2u:8,"vec2":8,vec3f:12,vec3h:6,vec3i:12,vec3u:12,"vec3":12,vec4f:16,vec4h:8,vec4i:16,vec4u:16,"vec4":16,mat2x2f:16,mat3x3f:48,mat4x4f:64,uint8:1,uint8x2:2,uint8x4:4,sint8:1,sint8x2:2,sint8x4:4,unorm8:1,unorm8x2:2,unorm8x4:4,snorm8:1,snorm8x2:2,snorm8x4:4,uint16:2,uint16x2:4,uint16x4:8,sint16:2,sint16x2:4,sint16x4:8,unorm16:2,unorm16x2:4,unorm16x4:8,snorm16:2,snorm16x2:4,snorm16x4:8,float16:2,float16x2:4,float16x4:8,float32:4,float32x2:8,float32x3:12,float32x4:16,uint32:4,uint32x2:8,uint32x3:12,uint32x4:16,sint32:4,sint32x2:8,sint32x3:12,sint32x4:16,"unorm10-10-10-2":4,"unorm8x4-bgra":4,atomic:4};function lP(e){let t=0,s=0,r=!0,o=!1;for(let i of Object.values(e.propTypes)){if(Number.isNaN(t))throw new Error("Only the last property of a struct can be unbounded");let d=t;t=qs(t,rs(i));let c=d!==t,_=Xa(i);if(t+=_.size,Number.isNaN(t)&&i.type!=="array")throw new Error("Cannot nest unbounded struct within another struct");o||(!c&&_.isContiguous?s+=_.size:(o=!0,r=!1,c||(s+=_.longestContiguousPrefix)))}let n=qs(t,rs(e));return{isContiguous:t===n&&r,size:n,longestContiguousPrefix:s}}function uP(e){let t=0,s=0,r=!0,o=!1;for(let n of Object.values(e.propTypes)){let i=wo(n),d=t;t=qs(t,i);let c=d!==t;c&&(r=!1);let _=Xa(n);t+=_.size,!o&&(!c&&_.isContiguous?s+=_.size:(o=!0,r=!1,c||(s+=_.longestContiguousPrefix)))}return{isContiguous:r,size:t,longestContiguousPrefix:s}}function mP(e){let t=e.elementType,s=Xa(t),r=s.size,o=qs(r,rs(t)),n=!(o>r)&&s.isContiguous,i=e.elementCount===0?NaN:e.elementCount*o,d;return n?d=i:d=s.longestContiguousPrefix,{size:i,isContiguous:n,longestContiguousPrefix:d}}function pP(e){let t=e.elementType,s=Xa(t),r=s.size,o=qs(r,wo(t)),n=!(o>r)&&s.isContiguous,i=e.elementCount*o,d;return n?d=i:d=s.longestContiguousPrefix,{size:i,isContiguous:n,longestContiguousPrefix:d}}function Xa(e){let t=_P[e.type];if(t!==void 0)return{isContiguous:e.type!=="mat3x3f",size:t,longestContiguousPrefix:e.type==="mat3x3f"?12:t};if(Qt(e))return lP(e);if(un(e))return uP(e);if(Us(e))return mP(e);if(Ja(e))return pP(e);if(zn(e)||ha(e)){let s=sM(e),r=Xa(lo(e));return s?{isContiguous:s===r.size&&r.isContiguous,size:s,longestContiguousPrefix:r.longestContiguousPrefix}:Xa(e.inner)}throw new Error(`Cannot determine memory layout of data: ${e}`)}var hx=new WeakMap;function pv(e,t){let s=hx.get(e);return s===void 0&&(s=Xa(e),hx.set(e,s)),s[t]}function _t(e){return pv(e,"size")}function xx(e){return _t(e)}var pt=Ao(((e,t)=>{if(zn(e)&&!e.attribs.every(s2))throw new Error("Arrays cannot hold decorated types other than @location. Wrap it in a struct instead, e.g. d.arrayOf(d.struct({ value: d.align(16, d.u32) }), n).");return t===void 0?Ao(s=>gx(e,s)):gx(e,t)})).$name("arrayOf");function gx(e,t){let s=r=>{if(r&&r.length!==t)throw new Error(`Array schema of ${t} elements of type ${e.type} called with ${r.length} argument(s).`);return Array.from({length:t},(o,n)=>aa(e,r?.[n]))};if(Object.setPrototypeOf(s,fP),Number.isNaN(_t(e)))throw new Error("Cannot nest runtime sized arrays.");if(s.elementType=e,!Number.isInteger(t)||t<0)throw new Error(`Cannot create array schema with invalid element count: ${t}.`);return s.elementCount=t,s}var fP={[B]:!0,type:"array",toString(){return`arrayOf(${String(this.elementType)}, ${this.elementCount})`}};function vP(e){if("multisampled"in e){if(e.multisampled){if(e.dimension==="2d")return hP(e.sampleType);throw new Error(`Multisampled textures only support '2d' dimension, got '${e.dimension}'`)}switch(e.dimension){case"1d":return yP(e.sampleType);case"2d":return ps(e.sampleType);case"2d-array":return xP(e.sampleType);case"3d":return wP(e.sampleType);case"cube":return gP(e.sampleType);case"cube-array":return bP(e.sampleType);default:throw new Error(`Unsupported texture dimension: '${e.dimension}'`)}}if(!("access"in e))throw new Error("Descriptor is neither a sampled nor a storage texture");switch(e.dimension){case"1d":return TP(e.format,e.access);case"2d":return Mo(e.format,e.access);case"2d-array":return SP(e.format,e.access);case"3d":return AP(e.format,e.access);default:throw new Error(`Unsupported storage texture dimension: '${e.dimension}'`)}}function ti(e,t){let s=e.startsWith("texture_depth")?["depth","float","unfilterable-float"]:t.sampleType.type==="i32"?["sint"]:t.sampleType.type==="u32"?["uint"]:["float","unfilterable-float"];return{[B]:{},[id]:void 0,type:e,bindingSampleType:s,...t}}function Wu(e,t){return{[B]:{},[id]:void 0,type:e,...t}}var bx=new Map,Fc={"write-only":"write","read-only":"read","read-write":"read_write"};function ko(e,t){let s=bx.get(e);return s||(s=t(),bx.set(e,s)),s}function yP(e){let t=e||a;return ko(`texture_1d<${t.type}>`,()=>ti("texture_1d",{dimension:"1d",sampleType:t,multisampled:!1}))}function ps(e){let t=e||a;return ko(`texture_2d<${t.type}>`,()=>ti("texture_2d",{dimension:"2d",sampleType:t,multisampled:!1}))}function hP(e){let t=e||a;return ko(`texture_multisampled_2d<${t.type}>`,()=>ti("texture_multisampled_2d",{dimension:"2d",sampleType:t,multisampled:!0}))}function xP(e){let t=e||a;return ko(`texture_2d_array<${t.type}>`,()=>ti("texture_2d_array",{dimension:"2d-array",sampleType:t,multisampled:!1}))}function gP(e){let t=e||a;return ko(`texture_cube<${t.type}>`,()=>ti("texture_cube",{dimension:"cube",sampleType:t,multisampled:!1}))}function bP(e){let t=e||a;return ko(`texture_cube_array<${t.type}>`,()=>ti("texture_cube_array",{dimension:"cube-array",sampleType:t,multisampled:!1}))}function wP(e){let t=e||a;return ko(`texture_3d<${t.type}>`,()=>ti("texture_3d",{dimension:"3d",sampleType:t,multisampled:!1}))}function TP(e,t){let s=t||"write-only";return ko(`texture_storage_1d<${e}, ${Fc[s]}>`,()=>Wu("texture_storage_1d",{dimension:"1d",format:e,access:s}))}function Mo(e,t){let s=t||"write-only";return ko(`texture_storage_2d<${e}, ${Fc[s]}>`,()=>Wu("texture_storage_2d",{dimension:"2d",format:e,access:s}))}function SP(e,t){let s=t||"write-only";return ko(`texture_storage_2d_array<${e}, ${Fc[s]}>`,()=>Wu("texture_storage_2d_array",{dimension:"2d-array",format:e,access:s}))}function AP(e,t){let s=t||"write-only";return ko(`texture_storage_3d<${e}, ${Fc[s]}>`,()=>Wu("texture_storage_3d",{dimension:"3d",format:e,access:s}))}function s5(){return ko("texture_external",()=>({[B]:{},[id]:void 0,type:"texture_external",dimension:"2d"}))}function r5(e){return!!e[B]&&typeof e.multisampled=="boolean"}function dl(e){return!!e[B]&&typeof e.format=="string"&&typeof e.access=="string"}function MP(e){return!!e[B]&&e.type==="texture_external"}function fv(){return{[B]:{},type:"sampler",[id]:void 0}}function o5(){return{[B]:{},type:"sampler_comparison",[id]:void 0}}function PP(e){return!!e[B]&&e.type==="sampler"}function EP(e){return!!e[B]&&e.type==="sampler_comparison"}var XI=Ao(((e,t)=>t===void 0?s=>wx(e,s):wx(e,t))).$name("disarrayOf");function wx(e,t){let s=r=>{if(r&&r.length!==t)throw new Error(`Disarray schema of ${t} elements of type ${e.type} called with ${r.length} argument(s).`);return Array.from({length:t},(o,n)=>aa(e,r?.[n]))};if(Object.setPrototypeOf(s,kP),s.elementType=e,!Number.isInteger(t)||t<0)throw new Error(`Cannot create disarray schema with invalid element count: ${t}.`);return s.elementCount=t,s}var kP={[B]:!0,type:"disarray",toString(){return`disarrayOf(${this.elementType}, ${this.elementCount})`}};var HI={[B]:!0,type:"unstruct",$name(e){return ot(this,e),this},toString(){return`unstruct:${xe(this)??""}`}};function $P(e){return new UP(e)}var UP=class{[B]={};type="atomic";inner;constructor(e){this.inner=e}};function Ou(e,t){return zn(e)?new Tx(e.inner,[t,...e.attribs]):ha(e)?new Sx(e.inner,[t,...e.attribs]):zu(e)?new Sx(e,[t]):new Tx(e,[t])}function n5(e,t){return Ou(t,{[B]:!0,type:"@align",params:[e]})}function a5(e,t){return Ou(t,{[B]:!0,type:"@size",params:[e]})}function fp(e,t){return Ou(t,{[B]:!0,type:"@location",params:[e]})}function nn(e){return(zn(e)||ha(e))&&e.attribs.find(VA)!==void 0}function gc(e){return!zn(e)&&!ha(e)?"":e.attribs.map(t=>t.params.length===0?`${t.type} `:`${t.type}(${t.params.join(", ")}) `).join("")}var i5=class{[B]={};inner;attribs;constructor(e,t){this.inner=e,this.attribs=t;let s=t.find(e2)?.params[0],r=t.find(t2)?.params[0];if(s!==void 0){if(s<=0)throw new Error(`Custom data alignment must be a positive number, got: ${s}.`);if(Math.log2(s)%1!==0)throw new Error(`Alignment has to be a power of 2, got: ${s}.`);if(Qa(this.inner)&&s%rs(this.inner)!==0)throw new Error(`Custom alignment has to be a multiple of the standard data alignment. Got: ${s}, expected multiple of: ${rs(this.inner)}.`)}if(r!==void 0){if(r<_t(this.inner))throw new Error(`Custom data size cannot be smaller then the standard data size. Got: ${r}, expected at least: ${_t(this.inner)}.`);if(r<=0)throw new Error(`Custom data size must be a positive number. Got: ${r}.`)}}},Tx=class extends i5{[B]={};type="decorated"},Sx=class extends i5{[B]={};type="loose-decorated"};function d5(e){return pv(e,"isContiguous")}function c5(e){return pv(e,"longestContiguousPrefix")}var _5=Object.defineProperty,CP=(e,t,s)=>t in e?_5(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,RP=(e,t)=>{for(var s in t)_5(e,s,{get:t[s],enumerable:!0})},Mt=(e,t,s)=>CP(e,typeof t!="symbol"?t+"":t,s);RP({},{BufferReader:()=>ld,BufferWriter:()=>si,MaxValue:()=>Es,Measurer:()=>gs,UnresolvedReferenceError:()=>Ra,ValidationError:()=>Vu,arrayOf:()=>IP,bool:()=>FP,byte:()=>NP,chars:()=>nE,concat:()=>cE,dynamicArrayOf:()=>lE,f16:()=>tE,f32:()=>rE,f32Array:()=>PE,f64Array:()=>EE,generic:()=>iE,genericEnum:()=>dE,i16:()=>XP,i16Array:()=>AE,i32:()=>ZP,i32Array:()=>ME,i8:()=>OP,i8Array:()=>SE,keyed:()=>pE,object:()=>aE,optional:()=>vE,string:()=>BP,tupleOf:()=>xE,u16:()=>jP,u16Array:()=>wE,u32:()=>JP,u32Array:()=>TE,u8:()=>f5,u8Array:()=>gE,u8ClampedArray:()=>bE});var Ra=class l5 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,l5.prototype)}},Vu=class u5 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,u5.prototype)}},zP=class{constructor(){Mt(this,"size",NaN),Mt(this,"unbounded",this),Mt(this,"isUnbounded",!0)}add(){return this}fork(){return this}},GP=new zP,gs=class m5{constructor(){Mt(this,"size",0),Mt(this,"unbounded",GP),Mt(this,"isUnbounded",!1)}add(t){return this.size+=t,this}fork(){let t=new m5;return t.size=this.size,t}},Es=Symbol("The biggest (in amount of bytes needed) value a schema can represent"),or=class{constructor(){Mt(this,"__unwrapped")}resolveReferences(e){}seekProperty(e,t){return null}},YP=class{constructor(e){this.key=e}},dc={STRING:"string",ENUM:"enum"},LP=class extends or{constructor(e,t){super(),this._unstableElementSchema=e,this.length=t,Mt(this,"elementSchema"),this.elementSchema=e}resolveReferences(e){this.elementSchema=e.resolve(this._unstableElementSchema)}write(e,t){if(t.length!==this.length)throw new Vu(`Expected array of length ${this.length}, got ${t.length}`);for(let s of t)this.elementSchema.write(e,s)}read(e){let t=[];for(let s=0;s{let o=t.fork();for(let n of Object.values(r.properties))n.measure(Es,o);return[r,o.size]}).reduce((r,o)=>r[1]>o[1]?r:o)[0];for(let r of Object.values(s.properties))r.measure(Es,t)}else{let s=e.type,r=this.subTypeMap[s]||null;if(r===null)throw new Error(`Unknown sub-type '${s.toString()}', expected one of '${JSON.stringify(Object.keys(this.subTypeMap))}'`);for(let[o,n]of Jn(r.properties))n.measure(e[o],t)}return t}};function iE(e,t){return new y5(dc.STRING,e,t)}function dE(e,t){return new y5(dc.ENUM,e,t)}function cE(e){return new vv(Object.fromEntries(e.flatMap(({properties:t})=>Object.entries(t))))}var _E=class extends or{constructor(e){super(),this._unstableElementType=e,Mt(this,"elementType"),this.elementType=e}resolveReferences(e){this.elementType=e.resolve(this._unstableElementType)}write(e,t){e.writeUint32(t.length);for(let s of t)this.elementType.write(e,s)}read(e){let t=[],s=e.readUint32();for(let r=0;r=e.length)return null;let r=new gs;for(let o=0;oe.resolve(s))}var hE=class extends or{constructor(e){super(),this._unstableSchemas=e,Mt(this,"schemas"),this.schemas=e}resolveReferences(e){this.schemas=yE(e,this._unstableSchemas)}write(e,t){if(t.length!==this.schemas.length)throw new Vu(`Expected tuple of length ${this.schemas.length}, got ${t.length}`);for(let s=0;snew Ln(e,Uint8Array),bE=e=>new Ln(e,Uint8ClampedArray),wE=e=>new Ln(e,Uint16Array),TE=e=>new Ln(e,Uint32Array),SE=e=>new Ln(e,Int8Array),AE=e=>new Ln(e,Int16Array),ME=e=>new Ln(e,Int32Array),PE=e=>new Ln(e,Float32Array),EE=e=>new Ln(e,Float64Array);function kE(){let e=new Uint8Array(4),t=new Uint32Array(e.buffer);return t[0]=1,e[0]===0}function yv(){return kE()?"big":"little"}function hv(e){let t=0,s=e;return s&&"buffer"in s&&"byteOffset"in s&&(t+=s.byteOffset,s=s.buffer),{buffer:s,byteOffset:t,byteLength:e.byteLength}}var x5=class{constructor(e,t){Mt(this,"dataView"),Mt(this,"littleEndian"),Mt(this,"needsByteSwap"),Mt(this,"byteOffset",0),Mt(this,"endianness");let{byteOffset:s=0,endianness:r="system"}=t??{};this.byteOffset=s;let o=yv();this.endianness=r==="system"?o:r,this.littleEndian=this.endianness==="little",this.needsByteSwap=this.endianness!==o;let n=hv(e);this.byteOffset+=n.byteOffset,this.dataView=new DataView(n.buffer)}get currentByteOffset(){return this.byteOffset}seekTo(e){this.byteOffset=e}skipBytes(e){this.byteOffset+=e}},ld=class extends x5{constructor(){super(...arguments),Mt(this,"_cachedTextDecoder")}get _textDecoder(){return this._cachedTextDecoder||(this._cachedTextDecoder=new TextDecoder(void 0,{fatal:!0})),this._cachedTextDecoder}readBool(){return this.dataView.getUint8(this.byteOffset++)!==0}readByte(){return this.dataView.getUint8(this.byteOffset++)}readInt8(){return this.dataView.getInt8(this.byteOffset++)}readUint8(){return this.dataView.getUint8(this.byteOffset++)}readInt16(){let e=this.dataView.getInt16(this.byteOffset,this.littleEndian);return this.byteOffset+=2,e}readUint16(){let e=this.dataView.getUint16(this.byteOffset,this.littleEndian);return this.byteOffset+=2,e}readInt32(){let e=this.dataView.getInt32(this.byteOffset,this.littleEndian);return this.byteOffset+=4,e}readUint32(){let e=this.dataView.getUint32(this.byteOffset,this.littleEndian);return this.byteOffset+=4,e}readFloat16(){let e=this.dataView.getFloat16(this.byteOffset,this.littleEndian);return this.byteOffset+=2,e}readFloat32(){let e=this.dataView.getFloat32(this.byteOffset,this.littleEndian);return this.byteOffset+=4,e}readString(){let e=0;for(;this.byteOffset+e1)for(let i=0;i=0;d--)o[i+d]=this.dataView.getUint8(this.byteOffset++);else o.set(new Uint8Array(this.dataView.buffer,this.byteOffset,s)),this.byteOffset+=s}},si=class extends x5{constructor(){super(...arguments),Mt(this,"_cachedTextEncoder")}get _textEncoder(){return this._cachedTextEncoder||(this._cachedTextEncoder=new TextEncoder),this._cachedTextEncoder}writeBool(e){this.dataView.setUint8(this.byteOffset++,e?1:0)}writeByte(e){this.dataView.setUint8(this.byteOffset++,e)}writeInt8(e){this.dataView.setInt8(this.byteOffset++,e)}writeUint8(e){this.dataView.setUint8(this.byteOffset++,e)}writeInt16(e){this.dataView.setInt16(this.byteOffset,e,this.littleEndian),this.byteOffset+=2}writeUint16(e){this.dataView.setUint16(this.byteOffset,e,this.littleEndian),this.byteOffset+=2}writeInt32(e){this.dataView.setInt32(this.byteOffset,e,this.littleEndian),this.byteOffset+=4}writeUint32(e){this.dataView.setUint32(this.byteOffset,e,this.littleEndian),this.byteOffset+=4}writeFloat16(e){this.dataView.setFloat16(this.byteOffset,e,this.littleEndian),this.byteOffset+=2}writeFloat32(e){this.dataView.setFloat32(this.byteOffset,e,this.littleEndian),this.byteOffset+=4}writeString(e){let t=this._textEncoder.encodeInto(e,new Uint8Array(this.dataView.buffer,this.byteOffset));this.byteOffset+=t.written,this.dataView.setUint8(this.byteOffset++,0)}writeSlice(e){let t=hv(e),s=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),r=e.BYTES_PER_ELEMENT;if(this.needsByteSwap&&r>1)for(let o=0;o=0;n--)this.dataView.setUint8(this.byteOffset++,s[o+n]);else new Uint8Array(this.dataView.buffer,this.byteOffset).set(s),this.byteOffset+=s.length}};function $E(e,t){let s="size"in e?e.size:e.currentByteOffset,r=t-1,o=s&r;"skipBytes"in e?e.skipBytes(t-o&r):e.add(t-o&r)}var Os=$E,Ax=new WeakMap;function Nu(e){let t=Ax.get(e);if(t)return t;let s=new gs,r={},o;for(let n in e.propTypes){let i=e.propTypes[n];if(i===void 0)throw new Error(`Property ${n} is undefined in struct`);let d=s.size;Os(s,un(e)?wo(i):rs(i)),o&&(o.padding=s.size-d);let c=_t(i);r[n]={offset:s.size,size:c},o=r[n],s.add(c)}return o&&(o.padding=qs(_t(e),rs(e))-s.size),Ax.set(e,r),r}var ia=Symbol("indirectOffset"),da=Symbol("indirectContiguous");function UE(e){return typeof e=="object"&&e!==null&&ia in e&&da in e}function ec(e,t){return{[ia]:e,[da]:t}}function xv(e,t){if(t===ia)return e[ia];if(t===da)return e[da]}function gv(e,t,s=_t(e)){let r=lo(e),o=Rt(r)?r.componentCount:void 0;if(o!==void 0){let n=_t(r.primitive);return RE(ec(t,s),n,o)}return Qt(r)?GE(r,ec(t,s)):Us(r)?zE(r,ec(t,s)):ec(t,s)}function CE(e,t=0){return gv(e,t,_t(e))}function RE(e,t,s){let r=e[ia];return new Proxy(e,{get(o,n){let i=xv(o,n);if(i!==void 0)return i;let d=n==="x"||n==="0"?0:n==="y"||n==="1"?1:n==="z"||n==="2"?2:n==="w"||n==="3"?3:-1;if(d<0||d>=s)return;let c=d*t,_=Math.max(0,o[da]-c);return ec(r+c,_)}})}function zE(e,t){let s=e.elementType,r=_t(s),o=qs(r,rs(s)),n=o>r;return new Proxy(t,{get(i,d){let c=xv(i,d);if(c!==void 0)return c;if(d==="length")return e.elementCount;if(typeof d!="string")return;let _=Number(d);if(!Number.isInteger(_)||_<0||_>=e.elementCount)return;let u=_*o,m=d5(s)?Math.max(0,i[da]-u):r+c5(s),p=n?Math.min(m,r):m;return gv(s,i[ia]+u,p)}})}function GE(e,t){let s=Nu(e),r=e.propTypes,o=Object.keys(r),n=new Map,i=0;for(let d=0;d0||!p))continue;let y=u.offset+(p?u.size:c5(_));for(let h=i;h<=d;h++){let g=o[h];if(!g)continue;let w=s[g];n.set(g,{offset:w.offset,runEnd:y})}i=d+1}return new Proxy(t,{get(d,c){let _=xv(d,c);if(_!==void 0)return _;if(typeof c!="string")return;let u=n.get(c);if(!u)return;let m=Math.max(0,d[da]-u.offset),p=Math.max(0,u.runEnd-u.offset),y=r[c];if(y)return gv(y,d[ia]+u.offset,_t(e)===u.runEnd?m:p)}})}function YE(e){let t=lo(e);if(Qt(t)){let s=Nu(t),r=t.propTypes,o=Object.keys(r);for(let n=0;n0)return _}return 0}if(Us(t)){let s=t.elementType,r=_t(s),o=qs(r,rs(s)),n=_t(e);return Number.isFinite(n)?o>r?r:n:r}return _t(e)}function cl(e,t){if(!t)return{offset:0,contiguous:YE(e)};let s=t(CE(e));if(UE(s))return{offset:s[ia],contiguous:s[da]};throw new Error("memoryLayoutOf: accessor did not return a schema element. Make sure the accessor navigates to a field or element of the schema (e.g. `(s) => s.position.x`).")}function Rs(e,t){return Ou(e,{[B]:!0,type:"@builtin",params:[t]})}var _r={vertexIndex:Rs(R,"vertex_index"),instanceIndex:Rs(R,"instance_index"),clipDistances:Rs(pt(R,8),"clip_distances"),position:Rs(Oe,"position"),frontFacing:Rs(ft,"front_facing"),fragDepth:Rs(a,"frag_depth"),primitiveIndex:Rs(R,"primitive_index"),sampleIndex:Rs(R,"sample_index"),sampleMask:Rs(R,"sample_mask"),localInvocationId:Rs(gt,"local_invocation_id"),localInvocationIndex:Rs(R,"local_invocation_index"),globalInvocationId:Rs(gt,"global_invocation_id"),globalInvocationIndex:Rs(R,"global_invocation_index"),workgroupId:Rs(gt,"workgroup_id"),workgroupIndex:Rs(R,"workgroup_index"),numWorkgroups:Rs(gt,"num_workgroups"),subgroupInvocationId:Rs(R,"subgroup_invocation_id"),subgroupSize:Rs(R,"subgroup_size"),subgroupId:Rs(R,"subgroup_id"),numSubgroups:Rs(R,"num_subgroups")};var jI=(rr(),Or),l=(rr(),lt),KI=(rr(),Vs),El=(rr(),Xt),Ge=(rr(),Ct),ZI=(rr(),Vr),f=(rr(),It),QI=(rr(),Pr),JI=(rr(),cs),Oa=(rr(),gt),e8=(rr(),Nr),x=(rr(),Oe),t8=(rr(),Ns),s8=(rr(),Wt),r8=(rr(),Et),o8=(rr(),Gn),ud=(rr(),Yn),n8=(rr(),Hs);function LE(e){return e?.[Hr]}function bv(e,t={}){let s=0,r=new Set;return Object.fromEntries(Object.entries(e??{}).map(([o,n])=>{let i=na(n);if(i!==void 0){if(r.has(i))throw new Error("Duplicate custom location attributes found");r.add(i)}return[o,n]}).map(([o,n])=>{if(nn(n))return[o,n];if(na(n)!==void 0)return[o,n];if(t[o])return[o,fp(t[o],n)];for(;r.has(s);)s++;return[o,fp(s++,n)]}))}function g5(e,t={}){let s=[],r={};for(let[o,n]of Object.entries(e))nn(n)?s.push({schemaKey:o,type:n}):r[o]=n;return{dataSchema:Object.keys(r).length>0?Bu(bv(r,t),!1):void 0,positionalArgs:s}}function IE(e){let t=bv(e);return{dataSchema:void 0,positionalArgs:Object.entries(t).map(([s,r])=>({schemaKey:s,type:r}))}}function Bc(e,t={}){return Rc(e)?Cu(e)||nn(e)||na(e)!==void 0?e:fp(0,e):Bu(bv(e,t),!1)}var Wo=class{#e;#t;#s;#r;#o;#n;constructor(e,t,s){this.#e=e,this.#n=t,this.#t={},this.#r=s,this.#s=new Set}accessProp(e){let t=this.#e[e]??this.#n;if(t)return this.provideProp(e,t)}provideProp(e,t){let s=this.#t[e];if(!s){let r=e.replaceAll("$","");if(this.#s.has(r))throw new Error(`Property name '${r}' causes naming clashes. Choose a different name.`);let o=e5(r);if(!o.success)throw new Error(`Invalid property key '${e}'${o.error?`: ${o.error}`:""}`);this.#s.add(r),s={prop:r,type:t},this.#t[e]=s}return s}get completeStruct(){if(!this.#o){this.#o=Bc(Object.fromEntries(Object.values(this.#t).map(t=>[t.prop,t.type])),this.#r);let e=xe(this);e&&ot(this.#o,e)}return this.#o}[kt](e){return e.resolve(this.completeStruct)}toString(){return`auto-struct:${xe(this)??""}`}};Wo.prototype[B]={};Wo.prototype.type="auto-struct";var b5=class{[B]={};type="entry-input-router";structArg;positionalArgsMap;constructor(e,t){this.structArg=e,this.positionalArgsMap=new Map(t.map(s=>[s.schemaKey,s.arg]))}toString(){return"entry-input-router"}accessProp(e){let t=this.positionalArgsMap.get(e);if(t)return t();let s=this.structArg?.();if(s&&Qt(s.dataType))return{target:s,prop:e}}},DE=["vec2f","vec3f","vec4f","vec2h","vec3h","vec4h","vec2i","vec3i","vec4i","vec2u","vec3u","vec4u","mat2x2f","mat3x3f","mat4x4f"],FE={f:{1:a,2:lt,3:It,4:Oe},h:{1:xs,2:Vs,3:Pr,4:Ns},i:{1:Z,2:Xt,3:cs,4:Wt},u:{1:R,2:Ct,3:gt,4:Et},b:{1:ft,2:Or,3:Vr,4:Nr}};function Bi(e,t){if(DE.includes(e.dataType.type)&&t in pp){let r=pp[t];return ve(new uv(e,r),Ut,e.origin,e.possibleSideEffects)}if(Us(e.dataType)&&t==="length")return e.dataType.elementCount===0?ve(ce`arrayLength(&${e})`,R,"runtime",e.possibleSideEffects):on(e.dataType.elementCount);if(rn(e.dataType)&&t==="columns")return ve(new h2(e),Ut,e.origin,e.possibleSideEffects);if(Qt(e.dataType)||un(e.dataType))return E2(e,t);if(e.dataType instanceof Wo){let r=e.dataType.accessProp(t);return r?ve(ce`${e}.${r.prop}`,r.type,"argument",e.possibleSideEffects):void 0}if(e.dataType instanceof b5){let r=e.dataType.accessProp(t);return Gc(r)?r:r?Bi(r.target,r.prop):void 0}if(pr(e.dataType)){let r=Wf(e);return t==="$"?r:Bi(r,t)}if(Rt(e.dataType)&&t==="kind")return ve(e.dataType.type,Ut,"constant",!1);let s=t.length;if(Rt(e.dataType)&&s>=1&&s<=4&&/^[xyzw]+$|^[rgba]+$/.test(t)){let r=FE[e.dataType.type.includes("bool")?"b":e.dataType.type[4]][s];return r?ve(hs(e)?e.value[t]:ce`${e}.${t}`,r,s===1?e.origin:e.origin==="constant"||e.origin==="constant-immutable-def"?"constant":"runtime",e.possibleSideEffects):void 0}if(hs(e)||e.dataType===Ut){let r=e.value[t];return Di(r)&&xe(r)===void 0&&ot(r,t),Wr(r)}}var Mx={mat2x2f:lt,mat3x3f:It,mat4x4f:Oe};function qu(e,t){let s=typeof t=="number"?Wr(t):t;if(Us(e.dataType)||Ja(e.dataType)){let r=e.dataType.elementType,o;return e.origin==="constant-immutable-def"?o=s.origin==="constant"||s.origin==="constant-immutable-def"?"constant-immutable-def":"runtime-immutable-def":e.origin==="constant"?o=s.origin==="constant"||s.origin==="constant-immutable-def"?"constant":"runtime":o=e.origin,e.value instanceof ic&&hs(s)?e.value.elements[s.value]:ve(hs(e)&&hs(s)?e.value[s.value]:ce`${e}[${s}]`,r,o,e.possibleSideEffects||s.possibleSideEffects)}if(Rt(e.dataType))return ve(hs(e)&&hs(s)?e.value[s.value]:ce`${e}[${s}]`,e.dataType.primitive,e.origin,e.possibleSideEffects||s.possibleSideEffects);if(pr(e.dataType))return qu(Wf(e),s);if(e.value instanceof h2){let r=Mx[e.value.matrix.dataType.type];return ve(ce`${e.value.matrix}[${s}]`,r,e.origin,e.possibleSideEffects||s.possibleSideEffects)}if(e.dataType.type in Mx)throw new Error("The only way of accessing matrix elements in TypeGPU functions is through the 'columns' property.");if(hs(e)&&hs(s))return Wr(e.value[s.value]);if(Qt(e.dataType)&&hs(s)&&typeof s.value=="string")return Bi(e,s.value)}var Wi={get(e,t){if(t in e)return Reflect.get(e,t);if(t==="toString"||t===Symbol.toStringTag||t===Symbol.toPrimitive)return()=>e.toString();if(typeof t=="symbol")return;let s=Gu(e),r=Number(t);if(!Number.isNaN(r)){let n=qu(s,r);return n?new Proxy({[B]:!0,[kt]:i=>i.resolveSnippet(n),[oa]:n,toString:()=>`${String(e)}[${t}]`},Wi):void 0}let o=Bi(s,String(t));if(o)return new Proxy({[B]:!0,[kt]:n=>n.resolveSnippet(o),[oa]:o,toString:()=>`${String(e)}.${t}`},Wi)}};function kl(e){let t=e;for(;;){let s=LE(t);if(!s)break;t=s}return t}function mn(e,t){return Object.defineProperty(e,Hr,{get(){if("get"in t.codegenMode)return t.codegenMode.get.apply(this);let s=this;return new Proxy({[B]:!0,get[oa](){if(!("getBaseSnippet"in t.codegenMode))throw new Error("Expected 'getBaseSnippet' to be defined.");return t.codegenMode.getBaseSnippet.apply(s,[this])},[kt]:r=>r.resolve(s),toString:()=>`${s.toString()}.$`},Wi)}}),Object.defineProperty(e,"$",{get(){let s=J0();return s.type==="codegen"?this[Hr]:s.type==="simulate"?t.simulateMode?.get?t.simulateMode.get.apply(this,[s]):t.normalMode.get.apply(this):s.type==="normal"?t.normalMode.get.apply(this):xc(s,"makeDereferenceable.ts#$ (get)")},set(s){let r=J0();if(r.type==="normal"){if(!t.normalMode.set)throw new Error(`'${this.toString()}' cannot be set in normal mode`);t.normalMode.set.apply(this,[s]);return}if(r.type==="simulate"){if(t.simulateMode?.set)t.simulateMode.set.apply(this,[r,s]);else if(t.normalMode.set)t.normalMode.set.apply(this,[s]);else throw new Error(`'${this.toString()}' cannot be set in simulate mode`);return}if(r.type==="codegen")throw new Error("Unreachable makeDerefenceable.ts#$ (set)");return xc(r,"makeDereferenceable.ts#$ (set)")}}),e}function In(e,t){return mt(e)||Object.defineProperty(e,B,{value:!0,writable:!0}),Object.defineProperty(e,"toString",{value(){return t.asString.apply(this)}}),Object.defineProperty(e,kt,{value(s){return t.resolve.apply(this,[s])}}),e}function wv(e,t){if(!Rc(e)){if(!Array.isArray(t))throw new Error(`Expected an array value for a partially-applied array schema, but received: ${typeof t}.`);return new Px(e(t.length),t)}return new Px(e,t)}function w5(e){let t=Reflect.ownKeys(e);for(let s of t){let r=e[s];(r&&typeof r=="object"||typeof r=="function")&&w5(r)}return Object.freeze(e)}var Px=class _l{[me];static#e=void(_l.prototype[B]={},_l.prototype.resourceType="const",mn(In(_l.prototype,{asString(){return`const:${xe(this)??""}`},resolve(t){let s=t.makeUniqueIdentifier(xe(this),"global");return t.gen.declareGlobalConst({id:s,dataType:this.dataType,init:ve(this[me].value,this.dataType,"constant")})}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.dataType,"constant-immutable-def",!1)}},normalMode:{get(){return this[me].value}}}));constructor(t,s){this[me]={type:"const",dataType:t,value:s&&typeof s=="object"?w5(s):s,label:void 0}}get dataType(){return this[me].dataType}$name(t){return ot(this,t),this}};function BE(e){return _M(e)||zu(e)||Fi(e)}function Ex(e){let t=e.pluginProvided??e.userProvided??{},s=Object.defineProperties({},Object.getOwnPropertyDescriptors(t));for(let r of[e.args,e.out].filter(o=>o!==void 0))for(let[o,n]of Object.entries(r)){if(o in s&&s[o]!==n)throw new Error(`Key '${o}' appears in externals despite already being used for argument/return type. Please rename this external.`);s[o]=n}return s}function WE(e,t,s){let r=[...e.matchAll(/:\s*(?.*?)\s*[,)]/g)].map(n=>n?.[1]),o=Object.fromEntries(t.flatMap((n,i)=>{let d=r?.[i];return Qt(n)&&d!==void 0?[[d,n]]:[]}));s.setExternals("args",o)}function T5(e,t,s){let r=e.match(/->\s(?[\w\d_]+)\s{/),o=r?r[1]?.trim():void 0;Qt(t)&&o&&!/\s/g.test(o)&&s.setExternals("out",{[o]:t})}var kx=/([$_\p{XID_Start}][$\p{XID_Continue}]*)/u,OE=new RegExp(`(${kx.source})(\\.${kx.source})*`,"ug"),VE=new RegExp(`(?n.includes("."));if(o)throw new Error(`External key '${o}' contains invalid character '.'`);return s.replaceAll(VE,n=>{let i=n.split(".");if(!Object.hasOwn(t,i.at(0)))return n;let d=t,c="";for(let[_,u]of i.entries()){if(d=d[u],BE(d)||typeof d=="string"){c=i.slice(_+1).map(m=>`.${m}`).join(""),Di(d)&&xe(d)===void 0&&ot(d,i.slice(0,_+1).join("_"));break}if(typeof d!="object"||d===null||_===i.length-1)return Vt.warn("external-omitted",`During resolution, the external '${i.slice(0,_+1).join(".")}' has been omitted. Only TGPU resources, 'use gpu' functions, primitives, and plain JS objects can be used as externals.`),n}return e.resolve(d).value+c})}var NE=class{[B]=!0;#e;constructor(e){this.#e=e}[kt](){return ve(this.#e,Ut,"runtime",!0)}},Tv=new Set([` +`,"\v","\f","\r","\x85","\u2028","\u2029"]),S5=new Set([...Tv," "," ","\u200E","\u200F"]);function qE(e){let{strippedCode:t,argRange:s}=XE(e),r=new A5(t);r.consume("(");let o=[];for(;!r.isAt(")");){let i=[];for(;r.isAt("@");)r.parseUntil($x,Ux),r.consume(")"),i.push(r.lastParsed);r.parseUntil(HE);let d=r.lastParsed,c;r.isAt(":")&&(r.consume(":"),r.parseUntil(jE,ZE),c=r.lastParsed),o.push({identifier:d,attributes:i,type:c}),r.isAt(",")&&r.consume(",")}r.consume(")");let n;if(r.isAt("->")){r.consume("->");let i=[];for(;r.isAt("@");)r.parseUntil($x,Ux),r.consume(")"),i.push(r.lastParsed);n={type:r.str.slice(r.pos),attributes:i}}return{args:o,ret:n,range:{begin:s[0],end:s[1]}}}function XE(e){let t=new A5(e),s="",r;for(;!t.isFinished();){if(t.isAt(S5)){t.advanceBy(1);continue}if(t.isAt("//")){t.consume("//"),t.parseUntil(Tv),t.advanceBy(1);continue}if(t.isAt("/*")){t.parseUntil(KE,QE),t.consume("*/");continue}if(t.isAt("{"))return{strippedCode:s,argRange:[r,t.pos]};t.isAt("(")&&r===void 0&&(r=t.pos),r!==void 0&&(s+=t.str[t.pos]),t.advanceBy(1)}throw new Error("Invalid wgsl code!")}var A5=class{str;#e;#t;constructor(e){this.str=e,this.#t=0}get pos(){return this.#t}get lastParsed(){if(this.#e===void 0)throw new Error("Parse was not called yet!");return this.str.slice(this.#e,this.pos)}isFinished(){return this.#t>=this.str.length}isAt(e){if(typeof e=="string"){for(let t=0;t"],QE=["/*","*/"];function ri(e,t,s){let r={};return{[Xs]:typeof e=="function"?e:void 0,setExternals(o,n){if(o==="userProvided"&&"userProvided"in r)throw new Error("Cannot call '$uses' multiple times. If you wish to override dependencies, use slots or accessors instead.");if(r[o]=n,r.userProvided&&r.pluginProvided)throw new Error("Cannot call '$uses' on functions whose metadata was provided by unplugin-typegpu.")},resolve(o,n,i,d){let c="";t==="compute"?c=`@compute @workgroup_size(${s?.join(", ")}) `:t==="vertex"?c="@vertex ":t==="fragment"&&(c="@fragment ");let _=o.makeUniqueIdentifier(xe(this),"global");if(typeof e=="string"){if(!i)throw new Error("Explicit return type is required for string implementation");if(d){for(let A of d.positionalArgs){let P=Fu(A.schemaKey);if(!P.success)throw new Error(`Invalid argument name "${A.schemaKey}"${P.error?`: ${P.error}`:""}`);if(o.isIdentifierBanned(A.schemaKey))throw new Error(`Invalid argument name "${A.schemaKey}", the identifier is a reserved keyword.`)}this.setExternals("args",{in:Object.fromEntries(d.positionalArgs.map(A=>[A.schemaKey,new NE(A.schemaKey)]))})}let w=Xu(o,Ex(r),e),S="",T="";if(t!=="normal"&&d){let{dataSchema:A,positionalArgs:P}=d,U=[];A&&Cx("in",w)&&U.push(`in: ${o.resolve(A).value}`);for(let L of P){let G=L.schemaKey;Cx(G,w)&&U.push(`${gc(L.type)}${G}: ${o.resolve(L.type).value}`)}let D=`(${U.join(", ")})`,O=Qa(i)?gc(i):"";S=`${D}${i!==_s?Qt(i)?` -> ${o.resolve(i).value} `:` -> ${O!==""?O:"@location(0)"} ${o.resolve(i).value} `:" "}`,T=w}else{let A=qE(w);if(A.args.length!==n.length)throw new Error(`WGSL implementation has ${A.args.length} arguments, while the shell has ${n.length} arguments.`);S=`(${A.args.map((P,U)=>`${P.identifier}: ${Rx(o,`parameter ${P.identifier}`,P.type,n[U])}`).join(", ")})${i===_s?" ":` -> ${Rx(o,"return type",A.ret?.type,i)} `}`,T=w.slice(A.range.end)}return o.addDeclaration(`${c}fn ${_}${S}${T}`,_),ve(_,i,"runtime")}let u=If(e),m=u?.externals();m&&this.setExternals("pluginProvided",m);let p=u?.ast;if(!p)throw new Error("Missing metadata for tgpu.fn function body (either missing 'use gpu' directive, or misconfigured `unplugin-typegpu`)");let y=p.params[1];y&&y.type==="i"&&t!=="normal"&&this.setExternals("out",{[y.name]:lo(i)});let{code:h,returnType:g}=o.resolveFunction({functionType:t,name:_,workgroupSize:s,argTypes:n,entryInput:d,params:p.params,returnType:i,body:p.body,externalMap:Ex(r)});return o.addDeclaration(h,_),ve(_,g,"runtime")}}}function Cx(e,t){return new RegExp(`\\b${e}\\b`).test(t)}function Rx(e,t,s,r){let o=e.resolve(r).value.replace(/\s/g,"");if(!s)return o;let n=s.replace(/\s/g,"");if(n!==o)throw new Error(`Type mismatch between TGPU shell and WGSL code string: ${t}, JS type "${o}", WGSL type "${n}".`);return s}function Hu(e,...t){return JE(e)?ek(e,...t):e}function JE(e){return Array.isArray(e)&&"raw"in e&&Array.isArray(e.raw)&&e.raw.every(t=>typeof t=="string")}function ek(e,...t){return e.slice(1).reduce((s,r,o)=>`${s}${t[o]}${r}`,e[0])}function qt(e,t){if(typeof e=="function")return P5(e,[]);let s=e,r={[B]:!0,argTypes:s,returnType:t??_s};return Object.assign((n,...i)=>tk(r,Hu(n,...i)),r)}function vp(e){return mt(e)&&e?.resourceType==="function"}function yp(e){return mt(e)&&e?.resourceType==="generic-function"}function M5([e,t]){return`${xe(e)??""}=${t}`}function tk(e,t){let s=[],r;yp(t)?(s=t[Mr]?.pairs??[],r=t[B].inner):r=t;let o=ri(r,"normal"),n={shell:e,resourceType:"function",[B]:{implementation:r},$uses(c){return o.setExternals("userProvided",c),this},[Xs]:o,$name(c){return ot(this,c),this},with:Ao((c,_)=>hp(d,[[dd(c)||cd(c)?c.slot:c,_]])),[kt](c){return typeof r=="string"&&(WE(r,e.argTypes,o),T5(r,e.returnType,o)),o.resolve(c,e.argTypes,e.returnType)}},i=pe({name:void 0,noComptime:!0,signature:{argTypes:e.argTypes,returnType:e.returnType},normalImpl:(...c)=>lM(()=>{try{if(typeof r=="string")throw new Error("Cannot execute on the CPU functions constructed with raw WGSL");let _=c.map((m,p)=>aa(e.argTypes[p],m)),u=r(..._);return aa(e.returnType,u)}catch(_){throw _ instanceof K0?_.appendToTrace(d):new K0(_,[d])}}),codegenImpl:(c,_)=>c.withResetIndentLevel(()=>ce`${c.resolve(d).value}(${_})`),sideEffects:!0}),d=Object.assign(i,n);return Object.defineProperty(d,"toString",{value(){return`fn:${xe(o)??""}`}}),s.length>0?hp(d,s):d}function hp(e,t){let s={resourceType:"function",shell:e.shell,[B]:{implementation:e[B].implementation},[Mr]:{inner:e,pairs:t},$uses(i){return e.$uses(i),this},$name(i){return ot(this,i),this},with:Ao((i,d)=>{let c=dd(i)||cd(i)?i.slot:i;return hp(e,[...t,[c,d]])})},r=pe({name:void 0,noComptime:!0,signature:{argTypes:e.shell.argTypes,returnType:e.shell.returnType},normalImpl:e,codegenImpl:(i,d)=>i.withResetIndentLevel(()=>ce`${i.resolve(o).value}(${d})`),sideEffects:!0}),o=Object.assign(r,s);Object.defineProperty(o,"toString",{value(){return`fn:${xe(this)??""}[${t.map(M5).join(", ")}]`}});let n=xe(e);return n&&ot(o,n),o}function P5(e,t){let s={[B]:{inner:e},resourceType:"generic-function",[Mr]:t.length>0?{inner:e,pairs:t}:void 0,$name(i){return ot(this,i),xe(e)||ot(e,i),this},[kt](i){return i.resolve(e)},with(i,d){let c=dd(i)||cd(i)?i.slot:i;return P5(e,[...t,[c,d]])}},o=Object.assign((...i)=>e(...i),s),n=xe(e);return n&&ot(o,n),Object.defineProperty(o,"toString",{value(){let i=xe(o)??"";return t.length>0?`fn*:${i}[${t.map(M5).join(", ")}]`:`fn*:${i}`}}),o}var sk={block:0,binaryExpr:1,assignmentExpr:2,logicalExpr:3,unaryExpr:4,numericLiteral:5,call:6,memberAccess:7,indexAccess:8,return:10,if:11,let:12,const:13,for:14,while:15,continue:16,break:17,forOf:18,arrayExpr:100,preUpdate:101,postUpdate:102,stringLiteral:103,objectExpr:104,conditionalExpr:105},tc={identifier:"i",destructuredObject:"d"},E5=Za({FuncParameterType:()=>tc,NodeTypeCatalog:()=>sk}),Sv=e=>({argTypes:[e],returnType:e}),Av=(...e)=>{let t=fr(e)??e;return{argTypes:t,returnType:t[0]}},At=e=>(...t)=>{let s=fr(t,e);if(!s)throw new Ts(t,e);return{argTypes:s,returnType:s[0]}};function k5(e){return(t,...s)=>{let r=t;for(let o of s)r=e(r,o);return r}}function $5(e){return(t,[s,...r])=>{let o=ce`${s}`;for(let n of r)o=ce`${e}(${o}, ${n})`;return o}}var rk=[a,xs,qa],bc=[lt,It,Oe,Vs,Pr,Ns],St=[...rk,...bc],ok=[Z,R],nk=[Xt,cs,Wt,Ct,gt,Et],Un=[...ok,...nk];function ak(e){return Tt(Math.abs,[e])}var z=pe({name:"abs",signature:Sv,normalImpl:ak,codegenImpl:(e,[t])=>ce`abs(${t})`,sideEffects:!1});function ik(e){return Tt(Math.acos,[e])}var dk=pe({name:"acos",signature:At(St),normalImpl:ik,codegenImpl:(e,[t])=>ce`acos(${t})`,sideEffects:!1});function ck(e){return Tt(Math.acosh,[e])}var _k=pe({name:"acosh",signature:At(St),normalImpl:ck,codegenImpl:(e,[t])=>ce`acosh(${t})`,sideEffects:!1});function lk(e){return Tt(Math.asin,[e])}var xp=pe({name:"asin",signature:At(St),normalImpl:lk,codegenImpl:(e,[t])=>ce`asin(${t})`,sideEffects:!1});function uk(e){return Tt(Math.asinh,[e])}var mk=pe({name:"asinh",signature:At(St),normalImpl:uk,codegenImpl:(e,[t])=>ce`asinh(${t})`,sideEffects:!1});function pk(e){return Tt(Math.atan,[e])}var fk=pe({name:"atan",signature:At(St),normalImpl:pk,codegenImpl:(e,[t])=>ce`atan(${t})`,sideEffects:!1});function vk(e){return Tt(Math.atanh,[e])}var yk=pe({name:"atanh",signature:At(St),normalImpl:vk,codegenImpl:(e,[t])=>ce`atanh(${t})`,sideEffects:!1});function hk(e,t){return Tt(Math.atan2,[e,t])}var tt=pe({name:"atan2",signature:At(St),normalImpl:hk,codegenImpl:(e,[t,s])=>ce`atan2(${t}, ${s})`,sideEffects:!1});function xk(e){return Tt(Math.ceil,[e])}var cc=pe({name:"ceil",signature:At(St),normalImpl:xk,codegenImpl:(e,[t])=>ce`ceil(${t})`,sideEffects:!1});function gk(e,t,s){return Tt(N2,[e,t,s])}var $=pe({name:"clamp",signature:Av,normalImpl:gk,codegenImpl:(e,[t,s,r])=>ce`clamp(${t}, ${s}, ${r})`,sideEffects:!1});function bk(e){return Tt(Math.cos,[e])}var H=pe({name:"cos",signature:At(St),normalImpl:bk,codegenImpl:(e,[t])=>ce`cos(${t})`,sideEffects:!1});function wk(e){return Tt(Math.cosh,[e])}var Tk=pe({name:"cosh",signature:At(St),normalImpl:wk,codegenImpl:(e,[t])=>ce`cosh(${t})`,sideEffects:!1}),Sk=pe({name:"countLeadingZeros",signature:At(Un),normalImpl:"CPU implementation for countLeadingZeros not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`countLeadingZeros(${t})`,sideEffects:!1});pe({name:"countOneBits",signature:At(Un),normalImpl:"CPU implementation for countOneBits not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`countOneBits(${t})`,sideEffects:!1});pe({name:"countTrailingZeros",signature:At(Un),normalImpl:"CPU implementation for countTrailingZeros not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`countTrailingZeros(${t})`,sideEffects:!1});var a8=pe({name:"cross",signature:At([It,Pr]),normalImpl:(e,t)=>qr.cross[e.kind](e,t),codegenImpl:(e,[t,s])=>ce`cross(${t}, ${s})`,sideEffects:!1});function Ak(e){if(typeof e=="number")return e*180/Math.PI;throw new Ys("CPU implementation for degrees on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}pe({name:"degrees",signature:At(St),normalImpl:Ak,codegenImpl:(e,[t])=>ce`degrees(${t})`,sideEffects:!1});pe({name:"determinant",signature:e=>{if(!(e.type==="mat2x2f"||e.type==="mat3x3f"||e.type==="mat4x4f"))throw new Ts([e],[Gn,Yn,Hs]);return{argTypes:[e],returnType:a}},normalImpl:"CPU implementation for determinant not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`determinant(${t})`,sideEffects:!1});function Mk(e,t){return typeof e=="number"&&typeof t=="number"?Math.abs(e-t):j(ht(e,t))}pe({name:"distance",signature:(...e)=>{let t=fr(e,St);if(!t)throw new Ts(e,St);return{argTypes:t,returnType:Lf(t[0])?xs:a}},normalImpl:Mk,codegenImpl:(e,[t,s])=>ce`distance(${t}, ${s})`,sideEffects:!1});var se=pe({name:"dot",signature:(...e)=>({argTypes:e,returnType:e[0].primitive}),normalImpl:(e,t)=>qr.dot[e.kind](e,t),codegenImpl:(e,[t,s])=>ce`dot(${t}, ${s})`,sideEffects:!1});pe({name:"dot4U8Packed",signature:{argTypes:[R,R],returnType:R},normalImpl:"CPU implementation for dot4U8Packed not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s])=>ce`dot4U8Packed(${t}, ${s})`,sideEffects:!1});pe({name:"dot4I8Packed",signature:{argTypes:[R,R],returnType:Z},normalImpl:"CPU implementation for dot4I8Packed not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s])=>ce`dot4I8Packed(${t}, ${s})`,sideEffects:!1});function Pk(e){return Tt(Math.exp,[e])}var ct=pe({name:"exp",signature:At(St),normalImpl:Pk,codegenImpl:(e,[t])=>ce`exp(${t})`,sideEffects:!1});function Ek(e){return Tt(t=>2**t,[e])}var $l=pe({name:"exp2",signature:At(St),normalImpl:Ek,codegenImpl:(e,[t])=>ce`exp2(${t})`,sideEffects:!1}),i8=pe({name:"extractBits",signature:(e,t,s)=>{let r=fr([e],Un)?.[0];if(!r)throw new Ts([e],Un);return{argTypes:[r,R,R],returnType:r}},normalImpl:"CPU implementation for extractBits not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s,r])=>ce`extractBits(${t}, ${s}, ${r})`,sideEffects:!1});pe({name:"faceForward",signature:At(bc),normalImpl:"CPU implementation for faceForward not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s,r])=>ce`faceForward(${t}, ${s}, ${r})`,sideEffects:!1});pe({name:"firstLeadingBit",signature:Sv,normalImpl:"CPU implementation for firstLeadingBit not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`firstLeadingBit(${t})`,sideEffects:!1});pe({name:"firstTrailingBit",signature:At(Un),normalImpl:"CPU implementation for firstTrailingBit not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`firstTrailingBit(${t})`,sideEffects:!1});function kk(e){return Tt(Math.floor,[e])}var q=pe({name:"floor",signature:At(St),normalImpl:kk,codegenImpl:(e,[t])=>ce`floor(${t})`,sideEffects:!1});function $k(e,t,s){if(typeof e=="number")return e*t+s;throw new Ys("CPU implementation for fma on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}pe({name:"fma",signature:At(St),normalImpl:$k,codegenImpl:(e,[t,s,r])=>ce`fma(${t}, ${s}, ${r})`,sideEffects:!1});function Uk(e){return Tt(t=>t-Math.floor(t),[e])}var ue=pe({name:"fract",signature:At(St),normalImpl:Uk,codegenImpl:(e,[t])=>ce`fract(${t})`,sideEffects:!1}),Ck={f32:Qs({fract:a,exp:Z}),f16:Qs({fract:xs,exp:Z}),abstractFloat:Qs({fract:qa,exp:Yc}),vec2f:Qs({fract:lt,exp:Xt}),vec3f:Qs({fract:It,exp:cs}),vec4f:Qs({fract:Oe,exp:Wt}),vec2h:Qs({fract:Vs,exp:Xt}),vec3h:Qs({fract:Pr,exp:cs}),vec4h:Qs({fract:Ns,exp:Wt})};pe({name:"frexp",normalImpl:"CPU implementation for frexp not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",signature:e=>{let t=Ck[e.type];if(!t)throw new Ts([e],St);return{argTypes:[e],returnType:t}},codegenImpl:(e,[t])=>ce`frexp(${t})`,sideEffects:!1});pe({name:"insertBits",signature:(e,t,s,r)=>{let o=fr([e,t],Un);if(!o)throw new Ts([e,t],Un);return{argTypes:[...o,R,R],returnType:o[0]}},normalImpl:"CPU implementation for insertBits not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s,r,o])=>ce`insertBits(${t}, ${s}, ${r}, ${o})`,sideEffects:!1});function Rk(e){if(typeof e=="number")return 1/Math.sqrt(e);throw new Ys("CPU implementation for inverseSqrt on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}pe({name:"inverseSqrt",signature:At(St),normalImpl:Rk,codegenImpl:(e,[t])=>ce`inverseSqrt(${t})`,sideEffects:!1});pe({name:"ldexp",signature:(e,t)=>{switch(e.type){case"abstractFloat":return{argTypes:[e,Yc],returnType:e};case"f32":case"f16":return{argTypes:[e,Z],returnType:e};case"vec2f":case"vec2h":return{argTypes:[e,Xt],returnType:e};case"vec3f":case"vec3h":return{argTypes:[e,cs],returnType:e};case"vec4f":case"vec4h":return{argTypes:[e,Wt],returnType:e};default:throw new Error(`Unsupported data type for ldexp: ${e.type}. Supported types are abstractFloat, f32, f16, vec2f, vec2h, vec3f, vec3h, vec4f, vec4h.`)}},normalImpl:"CPU implementation for ldexp not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s])=>ce`ldexp(${t}, ${s})`,sideEffects:!1});function zk(e){return typeof e=="number"?Math.abs(e):qr.length[e.kind](e)}var j=pe({name:"length",signature:e=>{let t=fr([e],St);if(!t)throw new Ts([e],St);return{argTypes:t,returnType:Lf(t[0])?xs:a}},normalImpl:zk,codegenImpl:(e,[t])=>ce`length(${t})`,sideEffects:!1});function Gk(e){return Tt(Math.log,[e])}var Yk=pe({name:"log",signature:At(St),normalImpl:Gk,codegenImpl:(e,[t])=>ce`log(${t})`,sideEffects:!1});function Lk(e){return Tt(Math.log2,[e])}var gp=pe({name:"log2",signature:At(St),normalImpl:Lk,codegenImpl:(e,[t])=>ce`log2(${t})`,sideEffects:!1});function Ik(e,t){return Tt(Math.max,[e,t])}var b=pe({name:"max",signature:Av,normalImpl:k5(Ik),codegenImpl:$5("max"),sideEffects:!1});function Dk(e,t){return Tt(Math.min,[e,t])}var oe=pe({name:"min",signature:Av,normalImpl:k5(Dk),codegenImpl:$5("min"),sideEffects:!1});function Fk(e,t,s){return Tt((r,o,n)=>r*(1-n)+o*n,[e,..._v([t,s])])}var X=pe({name:"mix",signature:(e,t,s)=>{if(e.type.startsWith("vec")&&!s.type.startsWith("vec")){let o=fr([s],[e.primitive]);if(!o)throw new Ts([s],[e.primitive]);return{argTypes:[e,t,o[0]],returnType:e}}let r=fr([e,t,s],St);if(!r)throw new Ts([e,t,s],St);return{argTypes:r,returnType:r[0]}},normalImpl:Fk,codegenImpl:(e,[t,s,r])=>ce`mix(${t}, ${s}, ${r})`,sideEffects:!1}),Bk={f32:Qs({fract:a,whole:a}),f16:Qs({fract:xs,whole:xs}),abstractFloat:Qs({fract:qa,whole:qa}),vec2f:Qs({fract:lt,whole:lt}),vec3f:Qs({fract:It,whole:It}),vec4f:Qs({fract:Oe,whole:Oe}),vec2h:Qs({fract:Vs,whole:Vs}),vec3h:Qs({fract:Pr,whole:Pr}),vec4h:Qs({fract:Ns,whole:Ns})};pe({name:"modf",signature:e=>{let t=Bk[e.type];if(!t)throw new Error(`Unsupported data type for modf: ${e.type}. Supported types are f32, f16, abstractFloat, vec2f, vec3f, vec4f, vec2h, vec3h, vec4h.`);return{argTypes:[e],returnType:t}},normalImpl:"CPU implementation for modf not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`modf(${t})`,sideEffects:!1});var as=pe({name:"normalize",signature:At(bc),normalImpl:e=>{let t=j(e);return Tt(s=>s/t,[e])},codegenImpl:(e,[t])=>ce`normalize(${t})`,sideEffects:!1});function Wk(e,t){return Tt((s,r)=>s**r,[e,t])}var Ce=pe({name:"pow",signature:At(St),normalImpl:Wk,codegenImpl:(e,[t,s])=>ce`pow(${t}, ${s})`,sideEffects:!1});pe({name:"quantizeToF16",signature:e=>{let t=[lt,It,Oe,a],s=fr([e],t)?.[0];if(!s)throw new Ts([e],t);return{argTypes:[s],returnType:s}},normalImpl:"CPU implementation for quantizeToF16 not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`quantizeToF16(${t})`,sideEffects:!1});function Ok(e){if(typeof e=="number")return e*Math.PI/180;throw new Ys("CPU implementation for radians on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}var zx=pe({name:"radians",signature:At(St),normalImpl:Ok,codegenImpl:(e,[t])=>ce`radians(${t})`,sideEffects:!1});pe({name:"reflect",signature:(...e)=>{let t=fr(e,bc);if(!t)throw new Ts(e,bc);return{argTypes:t,returnType:t[0]}},normalImpl:(e,t)=>ht(e,vr(2*se(t,e),t)),codegenImpl:(e,[t,s])=>ce`reflect(${t}, ${s})`,sideEffects:!1});pe({name:"refract",normalImpl:"CPU implementation for refract not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s,r])=>ce`refract(${t}, ${s}, ${r})`,signature:(e,t,s)=>({argTypes:[e,t,Lf(e)?xs:a],returnType:e}),sideEffects:!1});pe({name:"reverseBits",signature:At(Un),normalImpl:"CPU implementation for reverseBits not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`reverseBits(${t})`,sideEffects:!1});function Vk(e){if(typeof e=="number"){let t=Math.floor(e);return e===t+.5?t%2===0?t:t+1:Math.round(e)}throw new Ys("CPU implementation for round on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}var sa=pe({name:"round",signature:At(St),normalImpl:Vk,codegenImpl:(e,[t])=>ce`round(${t})`,sideEffects:!1});function Nk(e){if(typeof e=="number")return Math.max(0,Math.min(1,e));throw new Ys("CPU implementation for saturate on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}pe({name:"saturate",signature:At(St),normalImpl:Nk,codegenImpl:(e,[t])=>e.gen.emitCall("saturate",[],[t]),sideEffects:!1});function qk(e){return Tt(Math.sign,[e])}var ks=pe({name:"sign",signature:e=>{let t=[...St,Z,Xt,cs,Wt],s=fr([e],t)?.[0];if(!s)throw new Ts([e],t);return{argTypes:[s],returnType:s}},normalImpl:qk,codegenImpl:(e,[t])=>ce`sign(${t})`,sideEffects:!1});function Xk(e){return Tt(Math.sin,[e])}var Y=pe({name:"sin",signature:At(St),normalImpl:Xk,codegenImpl:(e,[t])=>ce`sin(${t})`,sideEffects:!1});function Hk(e){return Tt(Math.sinh,[e])}var jk=pe({name:"sinh",signature:At(St),normalImpl:Hk,codegenImpl:(e,[t])=>ce`sinh(${t})`,sideEffects:!1});function Kk(e,t,s){return Tt(OM,[e,t,s])}var re=pe({name:"smoothstep",signature:At(St),normalImpl:Kk,codegenImpl:(e,[t,s,r])=>ce`smoothstep(${t}, ${s}, ${r})`,sideEffects:!1});function Zk(e){return Tt(Math.sqrt,[e])}var be=pe({name:"sqrt",signature:At(St),normalImpl:Zk,codegenImpl:(e,[t])=>ce`sqrt(${t})`,sideEffects:!1});function Qk(e,t){if(typeof e=="number")return e<=t?1:0;throw new Ys("CPU implementation for step on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}var De=pe({name:"step",signature:At(St),normalImpl:Qk,codegenImpl:(e,[t,s])=>ce`step(${t}, ${s})`,sideEffects:!1});function Jk(e){if(typeof e=="number")return Math.tan(e);throw new Ys("CPU implementation for tan on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}var bp=pe({name:"tan",signature:At(St),normalImpl:Jk,codegenImpl:(e,[t])=>ce`tan(${t})`,sideEffects:!1});function e$(e){return Tt(Math.tanh,[e])}var t$=pe({name:"tanh",signature:At(St),normalImpl:e$,codegenImpl:(e,[t])=>ce`tanh(${t})`,sideEffects:!1});function s$(e){let t=Ru(e)(),s=e.columns,r=t.columns;if(s.length===2)r[0][0]=s[0][0],r[0][1]=s[1][0],r[1][0]=s[0][1],r[1][1]=s[1][1];else if(s.length===3){r[0][0]=s[0][0],r[0][1]=s[1][0],r[0][2]=s[2][0],r[1][0]=s[0][1],r[1][1]=s[1][1],r[1][2]=s[2][1];let o=r[2];o[0]=s[0][2],o[1]=s[1][2],o[2]=s[2][2]}else if(s.length===4){r[0][0]=s[0][0],r[0][1]=s[1][0],r[0][2]=s[2][0],r[0][3]=s[3][0],r[1][0]=s[0][1],r[1][1]=s[1][1],r[1][2]=s[2][1],r[1][3]=s[3][1];let o=r[2];o[0]=s[0][2],o[1]=s[1][2],o[2]=s[2][2],o[3]=s[3][2];let n=r[3];n[0]=s[0][3],n[1]=s[1][3],n[2]=s[2][3],n[3]=s[3][3]}else xc(s,"std/numeric.ts#cpuTranspose");return t}pe({name:"transpose",signature:Sv,normalImpl:s$,codegenImpl:(e,[t])=>ce`transpose(${t})`,sideEffects:!1});var r$=pe({name:"trunc",signature:At(St),normalImpl:"CPU implementation for trunc not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`trunc(${t})`,sideEffects:!1});function o$(e,t){if(typeof e!="number"||typeof t!="number")throw new Error("std.intdiv called with invalid arguments.");return Math.trunc(Math.trunc(e)/Math.trunc(t))}pe({name:"intdiv",signature:(e,t)=>{let s=fr([e,t],[R,Z]);if(!s)throw new Ts([e,t],[R,Z,Yc]);return{argTypes:s,returnType:s[0]}},normalImpl:o$,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"/",s),sideEffects:!1});function Ul(e){return lr(e)||Do(e)?Ru(e)(e):Array.isArray(e)?e.map(Ul):typeof e=="object"&&e!==null?Object.fromEntries(Object.entries(e).map(([t,s])=>[t,Ul(s)])):e}pe({name:"copy",signature:e=>({argTypes:[e],returnType:e}),normalImpl:Ul,codegenImpl(e,[t]){return ce`${t}`},sideEffects:!1});function md(e){return e.type.includes("2")?Or:e.type.includes("3")?Vr:Nr}var n$=pe({name:"allEq",signature:(...e)=>({argTypes:e,returnType:ft}),normalImpl:(e,t)=>Pv(Wc(e,t)),codegenImpl:(e,[t,s])=>ce`all(${t} == ${s})`,sideEffects:!1}),Wc=(e,t)=>Du((s,r)=>s===r,[e,t]),a$=pe({name:"eq",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:Wc,codegenImpl:(e,[t,s])=>ce`(${t} == ${s})`,sideEffects:!1}),i$=pe({name:"ne",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:(e,t)=>Js(Wc(e,t)),codegenImpl:(e,[t,s])=>ce`(${t} != ${s})`,sideEffects:!1}),ju=(e,t)=>Du((s,r)=>s({argTypes:e,returnType:md(e[0])}),normalImpl:ju,codegenImpl:(e,[t,s])=>ce`(${t} < ${s})`,sideEffects:!1}),wc=pe({name:"le",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:(e,t)=>Mv(ju(e,t),Wc(e,t)),codegenImpl:(e,[t,s])=>ce`(${t} <= ${s})`,sideEffects:!1}),c$=pe({name:"gt",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:(e,t)=>U5(Js(ju(e,t)),Js(Wc(e,t))),codegenImpl:(e,[t,s])=>ce`(${t} > ${s})`,sideEffects:!1}),wp=pe({name:"ge",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:(e,t)=>Js(ju(e,t)),codegenImpl:(e,[t,s])=>ce`(${t} >= ${s})`,sideEffects:!1});function Js(e){if(typeof e=="boolean")return!e;if(!IA(e))throw new Error("'std.not' requires a boolean or boolean vector.");switch(e.length){case 2:return Or(Js(e.x),Js(e.y));case 3:return Vr(Js(e.x),Js(e.y),Js(e.z));case 4:return Nr(Js(e.x),Js(e.y),Js(e.z),Js(e.w))}}var _$=pe({name:"not",signature:e=>{if(!Kn(e)&&!Yf(e))throw new Ts([e],[ft,Or,Vr,Nr]);return{argTypes:[e],returnType:e}},normalImpl:Js,codegenImpl:(e,[t])=>ce`!(${t})`,sideEffects:!1}),Mv=(e,t)=>Du((s,r)=>s||r,[e,t]);pe({name:"or",signature:(...e)=>({argTypes:e,returnType:e[0]}),normalImpl:Mv,codegenImpl:(e,[t,s])=>ce`(${t} | ${s})`,sideEffects:!1});var U5=(e,t)=>Js(Mv(Js(e),Js(t)));pe({name:"and",signature:(...e)=>({argTypes:e,returnType:e[0]}),normalImpl:U5,codegenImpl:(e,[t,s])=>ce`(${t} & ${s})`,sideEffects:!1});var Pv=e=>qr.all[e.kind](e),l$=pe({name:"all",signature:(...e)=>({argTypes:e,returnType:ft}),normalImpl:Pv,codegenImpl:(e,[t])=>ce`all(${t})`,sideEffects:!1});pe({name:"any",signature:(...e)=>({argTypes:e,returnType:ft}),normalImpl:e=>!Pv(Js(e)),codegenImpl:(e,[t])=>ce`any(${t})`,sideEffects:!1});pe({name:"isCloseTo",signature:(...e)=>({argTypes:e,returnType:ft}),normalImpl:(e,t,s=.01)=>{let r=Du((o,n)=>Math.abs(o-n)Qd(t)&&Qd(s)?ce`(abs(f32(${t}) - f32(${s})) <= ${r})`:!Qd(t)&&!Qd(s)?ce`all(abs(${t} - ${s}) <= (${t} - ${t}) + ${r})`:"false",sideEffects:!1});function u$(e,t,s){return typeof s=="boolean"?Ul(s?t:e):Tt((r,o,n)=>n?o:r,[e,t,s])}var ll=[a,xs,Z,R,ft,lt,It,Oe,Vs,Pr,Ns,Xt,cs,Wt,Ct,gt,Et,Or,Vr,Nr],C=pe({name:"select",signature:(e,t,s)=>{let[r,o]=fr([e,t],ll)??[e,t];return{argTypes:[r,o,s],returnType:r}},normalImpl:u$,codegenImpl:(e,[t,s,r])=>{let o=e.gen.emitCall("select",[],[t,s,r]);if(!ll.includes(t.dataType)||!ll.includes(s.dataType))throw new Error(`'${o}' is invalid, std.select requires both branches to be either scalars or vectors.`);if(t.dataType!==s.dataType){let n=e.resolve(t.dataType),i=e.resolve(s.dataType);throw new Error(`'${o}' is invalid, std.select requires both branches to be the same type, got [${n.value}, ${i.value}].`)}return o},sideEffects:!1});function Ku(e){return typeof e?.format=="string"}function m$(e,t){let s=[];if(Rc(e)){if(!Ku(t))throw new Error("Shader expected a single attribute, not a record of attributes to be passed in.");return s.push(t._layout),{usedVertexLayouts:s,bufferDefinitions:[{arrayStride:t._layout.stride,stepMode:t._layout.stepMode,attributes:[{format:t.format,offset:t.offset,shaderLocation:na(e)??0}]}]}}let r=[],o=new WeakMap,n=0;for(let[i,d]of Object.entries(e)){if(nn(d))continue;let c=t[i];if(!c)throw new Error(`An attribute by the name of '${i}' was not provided to the shader.`);let _=c._layout,u=o.get(_);u||(s.push(_),u=[],r.push({arrayStride:_.stride,stepMode:_.stepMode,attributes:u}),o.set(_,u)),n=na(d)??n,u.push({format:c.format,offset:c.offset,shaderLocation:n++})}return{usedVertexLayouts:s,bufferDefinitions:r}}var p$=["bool","f32","f16","i32","u32","vec2f","vec3f","vec4f","vec2h","vec3h","vec4h","vec2i","vec3i","vec4i","vec2u","vec3u","vec4u","vec2","vec3","vec4","mat2x2f","mat3x3f","mat4x4f","texture_external"];function f$(e){return p$.includes(e.type)}function Tp(e,[t,s]){return` ${gc(s)}${t}: ${e.resolve(s).value}, +`}function v$(e,t){if(t[B].isAbstruct)throw new Error("Cannot resolve abstract struct types to WGSL.");let s=e.makeUniqueIdentifier(xe(t),"global");return e.addDeclaration(`struct ${s} { +${Object.entries(t.propTypes).map(r=>Tp(e,r)).join("")}}`,s),s}function y$(e,t){let s=e.makeUniqueIdentifier(xe(t),"global");return e.addDeclaration(`struct ${s} { +${Object.entries(t.propTypes).map(r=>Ku(r[1])?Tp(e,[r[0],$n[r[1].format]]):Tp(e,r)).join("")} +}`,s),s}function h$(e,t){let s=e.resolve(t.elementType).value;return t.elementCount===0?`array<${s}>`:`array<${s}, ${t.elementCount}>`}function x$(e,t){let s=e.resolve(Ku(t.elementType)?$n[t.elementType.format]:t.elementType).value;return t.elementCount===0?`array<${s}>`:`array<${s}, ${t.elementCount}>`}function C5(e,t){if(zu(t))return t.type==="unstruct"?y$(e,t):t.type==="disarray"?x$(e,t):t.type==="loose-decorated"?e.resolve(Ku(t.inner)?$n[t.inner.format]:t.inner).value:e.resolve($n[t.type]).value;if(f$(t))return t.type;if(t.type==="struct")return v$(e,t);if(t.type==="array")return h$(e,t);if(t.type==="atomic")return`atomic<${C5(e,t.inner)}>`;if(t.type==="decorated")return e.resolve(t.inner).value;if(t.type==="ptr")return t.addressSpace==="storage"?`ptr`:`ptr<${t.addressSpace}, ${e.resolve(t.inner).value}>`;if(t.type==="abstractInt"||t.type==="abstractFloat"||t.type==="void"||t.type==="u16")throw new Error(`${t.type} has no representation in WGSL`);if(dl(t))return`${t.type}<${t.format}, ${Fc[t.access]}>`;if(r5(t))return t.type.startsWith("texture_depth")?t.type:`${t.type}<${t.sampleType.type}>`;if(EP(t)||PP(t))return t.type;xc(t,"resolveData")}var R5=class{[B]=!0;snippet;constructor(e){this.snippet=e}[kt](e){return e.resolveSnippet(this.snippet)}},z5=(()=>{function e(s){return s}let t=e;return ot(t,"unroll"),t.toString=()=>"unroll",t[B]=!0,t[zs]={call(s,[r]){return x2(new R5(r),r)}},t})(),Gx=new Map([[Math.abs,z],[Math.acos,dk],[Math.acosh,_k],[Math.asin,xp],[Math.asinh,mk],[Math.atan,fk],[Math.atan2,tt],[Math.atanh,yk],[Math.ceil,cc],[Math.cos,H],[Math.cosh,Tk],[Math.exp,ct],[Math.floor,q],[Math.fround,a],[Math.clz32,Sk],[Math.trunc,r$],[Math.log,Yk],[Math.log2,gp],[Math.pow,Ce],[Math.sign,ks],[Math.sin,Y],[Math.sinh,jk],[Math.sqrt,be],[Math.tan,bp],[Math.tanh,t$],[Math.max,b],[Math.min,oe]]),g$=()=>[console.log,console.debug,console.info,console.warn,console.error,console.clear],Yx=e=>pr(e)&&Us(e.inner)?e.inner.elementCount:0,b$=pe({name:"arrayLength",signature:e=>{let t=pr(e)?e:S2(e);return{argTypes:[t],returnType:Yx(t)>0?Yc:R}},normalImpl:e=>M2(e)?e.$.length:e.length,codegenImpl(e,[t]){let s=Yx(t.dataType);return s>0?`${s}`:e.gen.emitCall("arrayLength",[],[t])},sideEffects:!1});Ao((e,t,s=1)=>{if(t===void 0&&(t=e,e=0),!Number.isInteger(e))throw new Error(`'start' must be an integer, got ${e}`);if(!Number.isInteger(t))throw new Error(`'end' must be an integer, got ${t}`);if(!Number.isInteger(s)||s===0)throw new Error(`'step' must be a non-zero integer, got ${s}`);let r=[];if(r.start=e,r.end=t,r.step=s,Math.sign(s)!==Math.sign(t-e))return r;if(s>0)for(let o=e;ot;o+=s)r.push(o);return r});function Sp(e){return Array.isArray(e)&&"start"in e&&"end"in e&&"step"in e}function w$(e){return e.origin==="constant-immutable-def"?"const":"let"}function Lx(e,t){let s=qu(e,t);if(!s)throw new Qe("`for ... of ...` loops only support array or vector iterables");return s}function T$(e,t){let s=e.dataType;if(s===Ut)throw new Qe(ce`The elements in iterable ${t} are of unknown type`);if(Io(e.dataType)||e.origin==="runtime"||e.origin==="constant"||e.origin==="constant-immutable-def"||e.origin==="runtime-immutable-def")return s;if(!pr(s)){let r=Bf(e.origin,no(s));ds(r!==void 0,`Creating pointer type from origin ${e.origin}`),s=r}return A2(s)}function S$(e,t,s=!1){let{value:r,dataType:o}=t;if(Sp(r)){let{start:i,end:d,step:c}=r,_=[i,d,c].every(u=>u>=0)?R:Z;return{start:ve(i,_,"constant",!1),end:ve(d,_,"constant",!1),step:ve(c,_,"constant",!1),comparison:c<0?">":"<"}}if(!s&&!en(t))throw new Error("`for ... of ...` loops only support std.range or iterables stored in variables.\n-----\nYou can wrap iterable with `tgpu.unroll(...)`. If iterable is known at comptime, the loop will be unrolled.\n-----");let n={start:ve(0,R,"constant",!1),step:ve(1,R,"constant",!1),comparison:"<"};if(Us(o))return{...n,end:o.elementCount>0?ve(o.elementCount,R,"constant",!1):b$[zs].call(e,[t])};if(Rt(o))return{...n,end:ve(o.componentCount,R,"constant",!1)};if(s){if(Array.isArray(r))return{...n,end:ve(r.length,R,"constant",!1)};if(r instanceof ic)return{...n,end:ve(r.elements.length,R,"constant",!1)}}throw new Qe("`for ... of ...` loops only support array or vector iterables")}var{NodeTypeCatalog:dt}=E5;function jt(e){return Y5(e)?cr(e,""):gn(e,"")}function gn(e,t){if(Y5(e))return`${t}${cr(e,t)};`;if(e[0]===dt.block)return`{ +${e[1].map(s=>gn(s,t+" ")).join(` +`)} +${t}}`;if(e[0]===dt.return)return`${t}return${e[1]===void 0?"":` ${cr(e[1],"")}`};`;if(e[0]===dt.if){let s=`${t}if (${cr(e[1],t)}) ${gn(e[2],t)}`;return e[3]!==void 0?`${s} else ${gn(e[3],t)}`:s}if(e[0]===dt.let)return e[2]!==void 0?`${t}let ${e[1]} = ${cr(e[2],t)};`:`${t}let ${e[1]};`;if(e[0]===dt.const)return e[2]!==void 0?`${t}const ${e[1]} = ${cr(e[2],t)};`:`${t}const ${e[1]};`;if(e[0]===dt.for){let s=e[1]?gn(e[1],""):";",r=e[2]?cr(e[2],t):"",o=e[3]?gn(e[3],""):"",n=gn(e[4],t);return`${t}for (${s} ${r}; ${o.slice(0,-1)}) ${n}`}if(e[0]===dt.while)return`${t}while (${cr(e[1],t)}) ${gn(e[2],t)}`;if(e[0]===dt.continue)return`${t}continue;`;if(e[0]===dt.break)return`${t}break;`;if(e[0]===dt.forOf)return`${t}for (${e[1][0]===dt.const?"const":"let"} ${e[1][1]} of ${cr(e[2],t)}) ${gn(e[3],t)}`;G5(e)}function cr(e,t){if(typeof e=="string")return e;if(typeof e=="boolean")return`${e}`;if(e[0]===dt.numericLiteral)return e[1];if(e[0]===dt.stringLiteral)return JSON.stringify(e[1]);if(e[0]===dt.arrayExpr)return`[${e[1].map(s=>cr(s,t)).join(", ")}]`;if(e[0]===dt.binaryExpr)return`${ro(e[1],t)} ${e[2]} ${ro(e[3],t)}`;if(e[0]===dt.assignmentExpr)return`${cr(e[1],t)} ${e[2]} ${cr(e[3],t)}`;if(e[0]===dt.logicalExpr)return`${ro(e[1],t)} ${e[2]} ${ro(e[3],t)}`;if(e[0]===dt.unaryExpr){let s=e[1].length>1?" ":"";return`${e[1]}${s}${ro(e[2],t)}`}if(e[0]===dt.call)return`${ro(e[1],t)}(${e[2].map(s=>cr(s,t)).join(", ")})`;if(e[0]===dt.memberAccess)return Array.isArray(e[1])&&e[1][0]===dt.numericLiteral?`(${cr(e[1],t)}).${e[2]}`:`${ro(e[1],t)}.${e[2]}`;if(e[0]===dt.indexAccess)return`${ro(e[1],t)}[${cr(e[2],t)}]`;if(e[0]===dt.preUpdate)return`${e[1]}${ro(e[2],t)}`;if(e[0]===dt.postUpdate)return`${ro(e[2],t)}${e[1]}`;if(e[0]===dt.objectExpr)return`{ ${Object.entries(e[1]).map(([s,r])=>`${s}: ${cr(r,t)}`).join(", ")} }`;if(e[0]===dt.conditionalExpr)return`${ro(e[1],t)} ? ${ro(e[2],t)} : ${ro(e[3],t)}`;G5(e)}function G5(e){throw new Error(`'${JSON.stringify(e)}' was not handled by the stringify function.`)}function Y5(e){return typeof e=="string"||typeof e=="boolean"||e[0]===dt.numericLiteral||e[0]===dt.stringLiteral||e[0]===dt.arrayExpr||e[0]===dt.binaryExpr||e[0]===dt.assignmentExpr||e[0]===dt.logicalExpr||e[0]===dt.unaryExpr||e[0]===dt.call||e[0]===dt.memberAccess||e[0]===dt.indexAccess||e[0]===dt.preUpdate||e[0]===dt.postUpdate||e[0]===dt.objectExpr||e[0]===dt.conditionalExpr}var A$=[dt.memberAccess,dt.indexAccess,dt.call,dt.arrayExpr,dt.stringLiteral,dt.numericLiteral];function ro(e,t){let s=cr(e,t);return typeof e=="string"||typeof e=="boolean"||A$.includes(e[0])?s:`(${s})`}var{NodeTypeCatalog:Pt}=E5,M$=["==","!=","===","!==","<","<=",">",">=","<<",">>",">>>","+","-","*","/","%","|","^","&"],P$=["&&","||","==","!=","===","!==","<","<=",">",">="],E$={"===":a$.toString(),"!==":i$.toString(),"<":d$.toString(),"<=":wc.toString(),">":c$.toString(),">=":wp.toString()},k$=["<<",">>","<<=",">>=",">>>",">>>="],$$={"===":"==","!==":"!=",">>>":">>",get in(){throw new Error("The `in` operator is unsupported in TypeGPU functions.")},get instanceof(){throw new Error("The `instanceof` operator is unsupported in TypeGPU functions.")},get"|>"(){throw new Error("The `|>` operator is unsupported in TypeGPU functions.")},get"??"(){throw new Error("The `??` operator is unsupported in TypeGPU functions.")},">>>=":">>=",get"**="(){throw new Error("The `**=` operator is unsupported in TypeGPU functions.")},get"??="(){throw new Error("The `??=` operator is unsupported in TypeGPU functions.")},get"&&="(){throw new Error("The `&&=` operator is unsupported in TypeGPU functions.")},get"||="(){throw new Error("The `||=` operator is unsupported in TypeGPU functions.")}};function Ix(e,t,s){return s?P$.includes(t)?ft:t==="="?s:e:t==="!"?ft:e}var U$={"-":px[zs].call.bind(px),void:()=>ve(void 0,_s,"constant",!1),"!":(e,[t])=>{if(t===void 0)throw new Error("The unary operator `!` expects 1 argument, but 0 were provided.");if(hs(t))return ve(!t.value,ft,"constant",!1);let s=e.resolveSnippet(t).value;if(!Kn(t.dataType))throw new Qe(`Unary operator ! requires boolean operand. Got ${String(t.dataType)}.${Yf(t.dataType)?` For component-wise negation, use 'std.${_$.toString()}'.`:""}`);return ve(`!(${s})`,ft,"runtime",t.possibleSideEffects)}},C$={"+":Pn[zs].call.bind(Pn),"-":ht[zs].call.bind(ht),"*":vr[zs].call.bind(vr),"/":mp[zs].call.bind(mp),"**":Ce[zs].call.bind(Ce)},Dx={private:"private",workgroup:"workgroup",uniform:"uniform",mutable:"storage, read_write",readonly:"storage, read"},um=2,R$=class L5{#e=void 0;#t=[];static#s=L5.prototype.languageKey="wgsl";initGenerator(t){if(this.#e!==void 0)throw new Error("Cannot initialize shader generators twice. Create one generator per resolution.");this.#e=t}get ctx(){if(!this.#e)throw new Error("WGSL Generator has not yet been initialized. Please call initialize(ctx) before using the generator.");return this.#e}_block([t,s],r,o){this.ctx.pushBlockScope();try{if(o){let _=Object.fromEntries(Object.entries(o).map(([u,m])=>[u,Wr(m)]));this.ctx.setBlockExternals(_)}let n="",i=!1,d;this.ctx.indent();for(let _ of s){let u=this._statement(_);if(u.code.length>0&&(n+=`${u.code} +`),i||=u.definesInNearestScope??!1,u.endsWithControlFlow!==void 0){d=u.endsWithControlFlow;break}}this.ctx.dedent();let c=r&&!i;return this.ctx.blockDepth===um&&(n=n.replace(/[ ]*return\s*;\s*$/u,"")),n===""?{code:"",endsWithControlFlow:d,definesInNearestScope:!1}:c?{code:this.ctx.getDedented(n.trim()),endsWithControlFlow:d,definesInNearestScope:i}:{code:`{ +${n}${this.ctx.pre}}`,endsWithControlFlow:d,definesInNearestScope:!1}}finally{this.ctx.popBlockScope()}}_blockStatement(t,s){let{code:r,...o}=this._block(t,!0,s);return r===""?{...o,code:""}:{...o,code:`${this.ctx.pre}${r}`}}refVariable(t,s){let r=this.ctx.makeUniqueIdentifier(t,"block"),o=S2(s),n=ve(new wn(ve(r,s,"function",!1),o),o,"function",!1);return this.ctx.defineVariable(t,n),r}_emitVarDecl(t,s,r,o){return`${this.ctx.pre}${t} ${s} = ${o};`}_identifier(t){if(!t)throw new Error("Cannot resolve an empty identifier");if(t==="undefined")return ve(void 0,_s,"constant",!1);let s=this.ctx.getById(t);if(!s)throw new Error(`Identifier ${t} not found`);return s}_callShellless(t,s){let r=yp(t),o=r?t[Mr]?.pairs??[]:[],n=r?t[B].inner:t;return this.ctx.withRenamed(n,xe(t),()=>this.ctx.withSlots(o,()=>{let i=this.ctx.shelllessRepo.get(n,s);if(!i)return;let d=s.map((c,_)=>{let u=i.argTypes[_];return Fr(this.ctx,c,u,!1)});return this.ctx.withResetIndentLevel(()=>{let c=this.ctx.resolve(i);return ve(ce`${c.value}(${d})`,c.dataType,"runtime")})}))}_typedExpression(t,s){let r=this.ctx.expectedType;this.ctx.expectedType=s;try{let o=this._expression(t);return s instanceof Wo?o:Fr(this.ctx,o,s)}finally{this.ctx.expectedType=r}}_expression(t){if(typeof t=="string")return this._identifier(t);if(typeof t=="boolean")return ve(t,ft,"constant",!1);if(t[0]===Pt.logicalExpr){let[s,r,o,n]=t,i=this._expression(r);if(hs(i)){let u=Kn(this.ctx.expectedType);if(!(o==="&&"?i.value:!i.value))return u?ve(o==="||",ft,"constant",!1):Wr(i.value);let m=this._expression(n);if(hs(m)){let p=Wr(m.value);return u?Fr(this.ctx,p,ft,!1):p}if(m.dataType===Ut)throw new Qe(`Right-hand side of '${o}' is of unknown type`);return u?Fr(this.ctx,m,ft,!1):m}let d=this._expression(n);if(i.dataType===Ut)throw new Qe(`Left-hand side of '${o}' is of unknown type`);if(!hs(d)&&d.dataType===Ut)throw new Qe(`Right-hand side of '${o}' is of unknown type`);if(!Kn(i.dataType)||!Kn(d.dataType))throw new Qe(`Logical expression '${o}' requires boolean operands. Got '${String(i.dataType)}' and '${String(d.dataType)}'.`);let c=this.ctx.resolveSnippet(i).value,_=this.ctx.resolveSnippet(d).value;return ve(`(${c} ${o} ${_})`,ft,"runtime",i.possibleSideEffects||d.possibleSideEffects)}if(t[0]===Pt.binaryExpr||t[0]===Pt.assignmentExpr){let[s,r,o,n]=t,i=this._expression(r),d=this._expression(n);if(d.value instanceof wn)throw new Qe(ce`Cannot assign a ref to an existing variable '${jt(r)}', define a new variable instead.`);if(o==="==")throw new Error("Please use the === operator instead of ==");if(o==="!=")throw new Error("Please use the !== operator instead of !=");let c=E$[o];if(c&&hs(i)&&hs(d)){let y=i.value,h=d.value;switch(o){case"===":return ve(y===h,ft,"constant",!1);case"!==":return ve(y!==h,ft,"constant",!1)}if(typeof y!="number"||typeof h!="number")throw new Qe(`Comparison '${o}' requires numeric operands.${Rt(i.dataType)&&Rt(d.dataType)?` For component-wise comparison, use 'std.${c}'.`:""}`);switch(o){case"<":return ve(y":return ve(y>h,ft,"constant",!1);case">=":return ve(y>=h,ft,"constant",!1)}}if(i.dataType===Ut)throw new Qe(`Left-hand side of '${o}' is of unknown type`);if(d.dataType===Ut)throw new Qe(`Right-hand side of '${o}' is of unknown type`);let _=C$[o];if(_)return _(this.ctx,[i,d]);let u,m;if(k$.includes(o)){let y=i.dataType;if(!Qb(y)&&!OA(y))throw new Qe(`Expression: ${jt(t)} +Left-hand side of '${o}' must be an integer or vector of integers. +Got ${this.ctx.resolve(y).value}.`);let h=Rt(y)?y.primitive:y;if([">>>",">>>="].includes(o)&&h.type!=="u32")throw new Qe(`Expression: ${jt(t)} +Left-hand side of '${o}' must be an unsigned integer or vector of unsigned integers. +Got ${this.ctx.resolve(y).value}. +Use ${o.slice(1)} instead.`);[">>",">>="].includes(o)&&h.type==="u32"&&Vt.warn("deprecated",` +Expression: ${jt(t)} +Using u32 or vecN as left-hand side of ${o} is deprecated. +Use >${o} instead.`);let g;if(Rt(y)){let w=y.componentCount;g=w===2?Ct:w===3?gt:Et}else g=R;m=Fr(this.ctx,d,g,!1),u=i}else{let y=s===Pt.assignmentExpr?[i.dataType]:void 0;[u,m]=Qn(this.ctx,[i,d],y)??[i,d]}let p=Ix(u.dataType,o,m.dataType);if(s===Pt.assignmentExpr&&(Fx(u,t),this.tryMarkModified(r),o==="="&&en(d)&&!Io(d.dataType)))throw new Qe(`'${jt(t)}' is invalid, because references cannot be assigned. +----- +Try '${jt(r)} = ${this.ctx.resolve(Ca(d.dataType)).value}(${jt(n)})' to copy the value instead. +-----`);if(c){let y=["===","!=="].includes(o);if(!(np(u.dataType)&&np(m.dataType)||y&&Kn(u.dataType)&&Kn(m.dataType))){let h=Rt(u.dataType)&&Rt(m.dataType);throw new Qe(`Comparison '${o}' requires numeric${y?" or boolean":""} operands. Got '${String(u.dataType)}' and '${String(m.dataType)}'.${h?` For component-wise comparison, use 'std.${c}'.`:""}`)}}return ve(this.emitBinaryOp(u,$$[o]??o,m),p,"runtime",s===Pt.assignmentExpr||i.possibleSideEffects||d.possibleSideEffects)}if(t[0]===Pt.postUpdate)throw new Error(`'${jt(t)}' is invalid because update is only allowed as a statement.`);if(t[0]===Pt.unaryExpr){let[s,r,o]=t,n=this._expression(o),i=U$[r];if(i)return i(this.ctx,[n]);let d=this.ctx.resolveSnippet(n).value,c=Ix(n.dataType,r);return ve(`${r}${d}`,c,"runtime",n.possibleSideEffects)}if(t[0]===Pt.memberAccess){let[s,r,o]=t,n=Bi(this._expression(r),o);if(!n)throw new Error(`Property '${o}' not found on '${jt(r)}'`);return n}if(t[0]===Pt.indexAccess){let[s,r,o]=t,n=this._expression(r),i=this._expression(o),d=qu(n,Qn(this.ctx,[i],[R,Z],!1)?.[0]??i);if(!d)throw new Error(`Index access '${jt(t)}' is invalid. If the value is an array, to address this, consider one of the following approaches: (1) declare the array using 'tgpu.const', (2) store the array in a buffer, or (3) define the array within the GPU function scope.`);return d}if(t[0]===Pt.numericLiteral){let s=typeof t[1]=="string"?on(G$(t[1])):on(t[1]);return ds(s,`Expected ${jt(t)} to be valid numeric literal`),s}if(t[0]===Pt.call){let[s,r,o]=t,n=this._expression(r),i=Gx.has(n.value)?ve(Gx.get(n.value),Ut,"runtime",n.possibleSideEffects):n;if(g$().includes(i.value))return this.ctx.generateLog(i.value,o.map(_=>this._expression(_)));if(Qt(i.value)){if(o.length>1)throw new Qe("Struct schemas should always be called with at most 1 argument");if(!o[0])return ve(`${this.ctx.resolve(i.value).value}()`,i.value,"runtime",!1);let _=this._typedExpression(o[0],i.value);return ve(this.ctx.resolveSnippet(_).value,i.value,"runtime",_.possibleSideEffects)}if(Us(i.value)){if(o.length>1)throw new Qe("Array schemas should always be called with at most 1 argument");if(!o[0])return this.typeInstantiation(i.value,[]);let _=this._typedExpression(o[0],i.value);return _.value instanceof ic?this.typeInstantiation(i.value,_.value.elements):ve(this.ctx.resolveSnippet(_).value,i.value,"runtime",_.possibleSideEffects)}if(i.value===wv)throw new Error("Constants cannot be defined within TypeGPU function scope. To address this, move the constant definition outside the function scope.");if(sP(i.value)){if(!o[0])throw new Qe(`An infix operator '${xe(i.value.operator)}' was called without any arguments`);let _=Wr(i.value.lhs),u=this._expression(o[0]);return i.value.operator[zs].call(this.ctx,[_,u])}if((i.value===mM||i.value===z5)&&o[0]&&this.tryMarkModified(o[0]),Tl(i.value)){let _=i.value[zs],u=_.strictSignature,m;u?m=o.map((p,y)=>{let h=u.argTypes[y];if(!h)throw new Qe(`Call '${jt(t)}' is invalid since the function expected fewer arguments`);return this._typedExpression(p,h)}):m=o.map(p=>this._expression(p));try{return _.call(this.ctx,m)}catch(p){throw p instanceof Pi?p:new Pi(p,[{toString:()=>`fn:${xe(i.value)}`}])}}if(!mt(i.value)||yp(i.value)){let _=o.map(m=>this._expression(m)),u=this._callShellless(i.value,_);if(u)return u}let d=Object.getOwnPropertyNames(Math).find(_=>Math[_]===i.value);if(d)throw new Error(`Unsupported Math functionality 'Math.${d}()'. Use an std alternative, or implement the function manually.`);let c=Object.getOwnPropertyNames(console).find(_=>console[_]===i.value);throw c?new Error(`Unsupported console functionality 'console.${c}()'.`):new Error(`Function '${xe(i.value)??String(i.value)}' is not marked with the 'use gpu' directive and cannot be used in a shader`)}if(t[0]===Pt.objectExpr){let s=t[1],r=this.ctx.expectedType;if(r instanceof Wo){let o=Object.fromEntries(Object.entries(s).map(([d,c])=>{let _=r.accessProp(d),u;if(_)u=this._typedExpression(c,_.type);else{if(u=this._expression(c),u.dataType===Ut)throw new Qe(ce`Property ${d} in object literal has a value of unknown type: '${u}'`);_=r.provideProp(d,Ca(no(u.dataType)))}return[_.prop,u]})),n=r.completeStruct,i=ex(this.ctx,n,o);return ve(ce`${this.ctx.resolve(r).value}(${i})`,n,"runtime")}if(Qt(r)){let o=Object.fromEntries(Object.entries(r.propTypes).map(([i,d])=>{let c=s[i];if(c===void 0)throw new Qe(`Missing property ${i} in object literal for struct ${r}`);return[i,this._typedExpression(c,d)]})),n=ex(this.ctx,r,o);return ve(ce`${this.ctx.resolve(r).value}(${n})`,r,"runtime",n.some(i=>i.possibleSideEffects))}throw new Qe(`No target type could be inferred for object '${jt(t)}', please wrap the object in the corresponding schema.`)}if(t[0]===Pt.arrayExpr){let[s,r]=t,o=this.ctx.expectedType,n,i;if(Us(o)){if(n=o.elementType,i=r.map(_=>this._typedExpression(_,n)),i.length!==o.elementCount)throw new Qe(`Cannot create value of type '${o}' from an array of length: ${i.length}`)}else{let _=r.map(m=>this._expression(m));if(_.length===0)throw new Qe("Cannot infer the type of an empty array literal.");let u=Qn(this.ctx,_);if(!u)throw new Qe(`Values '${jt(t)}' cannot be automatically converted to a common type. Consider wrapping the array in an appropriate schema`);i=u,n=no(i[0]?.dataType)}let d=pt(n,i.length),c=i.every(_=>_.origin==="constant");return ve(new ic(d,i),d,c?"constant":"runtime",i.some(_=>_.possibleSideEffects))}if(t[0]===Pt.conditionalExpr){let[s,r,o,n]=t,i=this._expression(r);if(hs(i))return i.value?this._expression(o):this._expression(n);{let d=Fr(this.ctx,i,ft,!1),c=this._expression(o),_=this._expression(n),[u,m]=Qn(this.ctx,[c,_],ll)??[];if(!u||!m||c.possibleSideEffects||_.possibleSideEffects||en(c)&&!Io(c.dataType)||en(_)&&!Io(_.dataType))throw new Error(`Ternary operator '${jt(t)}' is invalid. For more complex branching, please use 'std.select' or if/else statements.`);return ve(ce`select(${m}, ${u}, ${d})`,u.dataType,"runtime",i.possibleSideEffects)}}if(t[0]===Pt.stringLiteral)return ve(t[1],Ut,"constant",!1);if(t[0]===Pt.preUpdate)throw new Error("Cannot use pre-updates in TypeGPU functions.");z$(t)}declareGlobalConst(t){let s=this.ctx.resolve(t.dataType).value,r=this.ctx.resolveSnippet(t.init).value;return this.ctx.addDeclaration(`const ${t.id}: ${s} = ${r};`,t.id),ve(t.id,t.dataType,"constant-immutable-def")}declareGlobalVar(t){let s="";return t.group!==void 0&&(s+=`@group(${t.group}) `),t.binding!==void 0&&(s+=`@binding(${t.binding}) `),t.scope in Dx?s+=`var<${Dx[t.scope]}> `:s+="var ",s+=`${t.id}: ${this.ctx.resolve(t.dataType).value}`,this.ctx.addDeclaration(t.init?`${s} = ${this.ctx.resolveSnippet(t.init).value};`:`${s};`,t.id),ve(t.id,t.dataType,t.scope)}functionDefinition(t){ds(this.ctx.blockDepth===um-1,`Expecting exactly ${um-1} block(s) before going into the first function block scope`);let s=this._block(t.body,!1),r=this.ctx.topFunctionScope;ds(r,"Expected function scope to be present");let o=Object.fromEntries([...r.placeholderForVariable.entries()].map(([_,u])=>[u,r.modifiedVariables.has(_)?"var":"let"]));if(Object.keys(o).length>0){let _=new RegExp(Object.keys(o).join("|"),"gi");s.code=s.code.replace(_,u=>o[u]??"#ERR")}let n=t.determineReturnType(),i=t.args.filter(_=>_.used||t.functionType==="normal").map(_=>`${gc(_.decoratedType)}${_.name}: ${this.ctx.resolve(_.decoratedType).value}`).join(", "),d=n.type!=="void"?`(${i}) -> ${gc(n)}${this.ctx.resolve(n).value} `:`(${i}) `,c="";if(t.functionType==="compute"){if(!t.workgroupSize)throw new Error("Compute shaders must have a workgroup size");c=`@compute @workgroup_size(${t.workgroupSize.join(", ")}) `}else t.functionType==="vertex"?c="@vertex ":t.functionType==="fragment"&&(c="@fragment ");return`${c}fn ${t.name}${d}${s.code||"{}"}`}emitTypeAnnotation(t){return C5(this.ctx,t)}typeInstantiation(t,s){return s.length===1&&s[0]?.dataType===t?ve(ce`${s[0]}`,t,rM(s[0].origin),s[0].possibleSideEffects):ve(ce`${this.ctx.resolve(t).value}(${s})`,t,"runtime",s.some(r=>r.possibleSideEffects))}numericLiteral(t,s){if(!Number.isFinite(t))throw new Error(`Value '${t}' (${s.type}) cannot be resolved due to WGSL's Finite Math Assumption (see: https://www.w3.org/TR/WGSL/#finite-math-assumption). This value might be a result of a comptime-evaluated operation.`);if(s.type==="abstractInt")return ve(`${t}`,s,"constant",!1);if(s.type==="u32")return ve(`${t}u`,s,"constant",!1);if(s.type==="i32")return ve(`${t}i`,s,"constant",!1);let r=t.toExponential(),o=s.type==="abstractFloat"&&Number.isInteger(t)?`${t}.`:`${t}`,n=r.lengththis.ctx.resolveSnippet(i).value).join(", "),n=r.map(i=>this.ctx.resolveSnippet(i).value).join(", ");return o.length>0?`${t}<${o}>(${n})`:`${t}(${n})`}emitBinaryOp(t,s,r){let o=this.ctx.resolveSnippet(t).value,n=this.ctx.resolveSnippet(r).value;return M$.includes(s)?`(${o} ${s} ${n})`:`${o} ${s} ${n}`}_return(t){let s=t[1];if(s!==void 0){let r=this.ctx.topFunctionReturnType,o=r?this._typedExpression(s,r):this._expression(s);if(o.value===void 0&&Cu(o.dataType))return this.ctx.reportReturnType(_s),`${this.ctx.pre}return;`;if(o.value instanceof wn)throw new Qe(`Cannot return '${jt(s)}' because it is a d.ref`);if(o.origin==="argument"&&!Io(o.dataType)&&this.ctx.topFunctionScope?.functionType==="normal")throw new Qe(`'${jt(t)}' is invalid, cannot return references to arguments. Copy the argument before returning it.`);if(!r&&en(o)&&!Io(o.dataType)&&o.origin!=="local-def"){let n=jt(s),i=this.ctx.resolve(Ca(o.dataType)).value;throw new Qe(`'return ${n};' is invalid, cannot return references. +----- +Try 'return ${i}(${n});' instead. +-----`)}return o=Fr(this.ctx,o,Ca(o.dataType),!1),ds(o.dataType!==Ut,"Return type should be known"),this.ctx.reportReturnType(o.dataType),ce`${this.ctx.pre}return ${o};`}return this.ctx.reportReturnType(_s),`${this.ctx.pre}return;`}_letStatement(t){let[s,r,o]=t;if(o===void 0)throw new Error(`'${jt(t)}' is invalid because all variables need initializers.`);let n=this._expression(o);if(n.value instanceof wn){let y=jt(o);throw new Qe(`'let ${r} = ${y}' is invalid, cannot initialize 'let' variables with d.ref() +----- +- Try 'const ${r} = ${y}'. +-----`)}let i=n.dataType;if(i===Ut){let y=jt(o);throw new Qe(`'let ${r} = ${y}' is invalid, cannot determine WGSL type of '${y}' +----- +- Try using or defining a schema that matches your desired value the most, and wrap the value with it: 'let ${r} = Schema(${y})' +-----`)}if(en(n)&&!Io(n.dataType)){let y=jt(o),h=this.ctx.resolve(Ca(n.dataType)).value;throw new Qe(`'let ${r} = ${y}' is invalid, because references cannot be assigned to 'let' variable declarations. +----- +- Try 'let ${r} = ${h}(${y})' if you need to reassign '${r}' later +- Try 'const ${r} = ${y}' if you won't reassign '${r}' later. +-----`)}let d=no(i),c=ve(this.ctx.makeUniqueIdentifier(r,"block"),d,"local-def",!1);this.ctx.defineVariable(r,c);let _=Fr(this.ctx,n,i,!1),u=this.ctx.resolveSnippet(_).value,m=this.ctx.topFunctionScope;ds(m,`Expected function scope to be present for ${r}`);let p=`#VAR_${m.placeholderForVariable.size}#`;return m.placeholderForVariable.set(c,p),{code:this._emitVarDecl(p,c.value,d,u),definesInNearestScope:!0}}_constStatement(t){let[s,r,o]=t;if(o===void 0)throw new Error(`'${jt(t)}' is invalid because all variables need initializers.`);let n=this._expression(o);if(n.value instanceof wn){if(n.dataType!==Ut)throw new Qe("Cannot store d.ref() in a variable if it references another value. Copy the value passed into d.ref() instead.");let g=n.value.snippet,w=this.refVariable(r,no(g.dataType));return{code:ce`${this.ctx.pre}var ${w} = ${Fr(this.ctx,g,g.dataType,!1)};`,definesInNearestScope:!0}}let i=Io(n.dataType),d="local-def",c="",_=n.dataType;if(_===Ut){let g=jt(o);throw new Qe(`'const ${r} = ${g}' is invalid, cannot determine WGSL type of '${g}' +----- +- Try using or defining a schema that matches your desired value the most, and wrap the value with it: 'const ${r} = Schema(${g})' +-----`)}if(n.origin==="argument")c="let",d=i?"local-def":"argument";else if(n.origin==="constant-immutable-def")c="const",d="constant-immutable-def";else if(n.origin==="runtime-immutable-def")c="let",d="runtime-immutable-def";else if(i)c=n.origin==="constant"?"const":"let",d="local-def";else if(!en(n))c="",d="local-def";else return this._aliasConstStatement(r,o,n);let u=no(_),m=ve(this.ctx.makeUniqueIdentifier(r,"block"),u,d,!1);this.ctx.defineVariable(r,m);let p=Fr(this.ctx,n,_,!1),y=this.ctx.resolveSnippet(p).value,h;if(c===""){let g=this.ctx.topFunctionScope;ds(g,`Expected function scope to be present for ${r}`),h=`#VAR_${g.placeholderForVariable.size}#`,g.placeholderForVariable.set(m,h)}else h=c;return{code:this._emitVarDecl(h,m.value,u,y),definesInNearestScope:!0}}_aliasConstStatement(t,s,r){let o=r.dataType;if(!pr(o)){let _=Bf(r.origin,no(o));ds(_!==void 0,`Creating pointer type from origin ${r.origin}`),o=_}o=A2(o),this.tryMarkModified(s);let n=no(o),i=ve(this.ctx.makeUniqueIdentifier(t,"block"),n,r.origin,!1);this.ctx.defineVariable(t,i);let d=Fr(this.ctx,r,o,!1),c=this.ctx.resolveSnippet(d).value;return{code:this._emitVarDecl("let",i.value,n,c),definesInNearestScope:!0}}_statement(t){if(typeof t=="string"){let o=this._identifier(t),n=o.value!==void 0&&o.value!==null?this.ctx.resolveSnippet(o).value:"";return{code:n?`${this.ctx.pre}${n};`:"",definesInNearestScope:!1}}if(typeof t=="boolean")return{code:`${this.ctx.pre}${t?"true":"false"};`,definesInNearestScope:!1};if(t[0]===Pt.return)return{code:this._return(t),endsWithControlFlow:"return",definesInNearestScope:!1};if(t[0]===Pt.if){let[o,n,i,d]=t,c=this._typedExpression(n,ft);if(typeof c.value=="boolean"){let m=c.value?i:d;return m===void 0?{code:"",definesInNearestScope:!1}:(Array.isArray(m)||(m=ka(m)),m[0]===Pt.block&&m[1].length===1&&m[1][0][0]===Pt.if?this._statement(m[1][0]):m[0]===Pt.if?this._statement(m):this._blockStatement(ka(m)))}let _=this._block(ka(i),!1),u=d?this._block(ka(d),!1).code:void 0;return u?{code:ce`\ +${this.ctx.pre}if (${c}) ${_.code||"{}"} +${this.ctx.pre}else ${u}`,definesInNearestScope:!1}:{code:ce`${this.ctx.pre}if (${c}) ${_.code||"{}"}`,definesInNearestScope:!1}}if(t[0]===Pt.let)return this._letStatement(t);if(t[0]===Pt.const)return this._constStatement(t);if(t[0]===Pt.block)return this._blockStatement(t);if(t[0]===Pt.for){let[o,n,i,d,c]=t,_=this.#t;this.#t=[];try{this.ctx.pushBlockScope();let[u,m,p]=this.ctx.withResetIndentLevel(()=>[n?this._statement(n).code:void 0,i?this._typedExpression(i,ft):void 0,d?this._statement(d).code:void 0]),y=u?u.slice(0,-1):"",h=p?p.slice(0,-1):"",g=this._block(ka(c),!1).code;return{code:ce`${this.ctx.pre}for (${y}; ${m}; ${h}) ${g||"{}"}`,definesInNearestScope:!1}}finally{this.#t=_,this.ctx.popBlockScope()}}if(t[0]===Pt.while){let o=this.#t;this.#t=[];try{let[n,i,d]=t,c=this._typedExpression(i,ft),_=this.ctx.resolveSnippet(c).value,u=this._block(ka(d),!1).code;return{code:`${this.ctx.pre}while (${_}) ${u||"{}"}`,definesInNearestScope:!1}}finally{this.#t=o}}if(t[0]===Pt.forOf){let[o,n,i,d]=t;if(n[0]!==Pt.const)throw new Qe("Only `for (const ... of ... )` loops are supported");this.tryMarkModified(i);let c=!1,_=this.#t;try{this.ctx.pushBlockScope();let u=this._expression(i),m=u.value instanceof R5,p=m?u.value.snippet:u,y=S$(this.ctx,p,m),h=n[1],g=ka(d);if(m){if(!hs(y.end))throw new Error("Cannot unroll loop. Length of iterable is unknown at comptime.");let A=y.end.value;if(A===0)return{code:"",definesInNearestScope:!1};let{value:P}=p,U=Sp(P)?P.map(W=>Wr(W)):P instanceof ic?P.elements:Array.from({length:A},(W,K)=>Lx(p,ve(K,R,"constant"))),D=U[0];if(!en(D)&&!Io(D.dataType))throw new Qe(`Cannot unroll '${jt(i)}'. The elements of iterable are constructed in place but are not value types.`);let O="",L,G=!1;for(let W=0;W`#${te}`).join(" / ")} +${Q.code} +`,Q.endsWithControlFlow!==void 0){L=Q.endsWithControlFlow;break}}return{code:`${O}${this.ctx.pre}// ---`,endsWithControlFlow:L,definesInNearestScope:G}}this.#t=[];let w=this.ctx.makeUniqueIdentifier("i","block"),S=ce`${this.ctx.pre}for (var ${w} = ${y.start}; ${w} ${y.comparison} ${y.end}; ${w} += ${y.step})`,T="";if(Sp(p.value))T=this._block(g,!1,{[h]:ve(w,y.start.dataType,"runtime",!1)}).code;else{this.ctx.indent(),c=!0;let A=this.ctx.makeUniqueIdentifier(h,"block"),P=Lx(p,ve(w,R,"runtime")),U=w$(P),D=T$(P,p);T=`{ +${ce`${this.ctx.pre}${U} ${A} = ${Fr(this.ctx,P,D,!1)};`} +${this._blockStatement(g,{[h]:ve(A,D,P.origin,!1)}).code} +`,this.ctx.dedent(),T+=`${this.ctx.pre}}`,c=!1}return{code:ce`${S} ${T.trim()||"{}"}`,definesInNearestScope:!1}}finally{c&&this.ctx.dedent(),this.#t=_,this.ctx.popBlockScope()}}if(t[0]===Pt.postUpdate){let[o,n,i]=t,d=this._expression(i),c=this.ctx.resolveSnippet(d).value;return Fx(d,t),this.tryMarkModified(i),{code:`${this.ctx.pre}${c}${n};`,definesInNearestScope:!1}}if(t[0]===Pt.continue){if(this.#t.length>0)throw new Qe("Cannot unroll loop containing `continue`");return{code:`${this.ctx.pre}continue;`,endsWithControlFlow:"continue",definesInNearestScope:!1}}if(t[0]===Pt.break){if(this.#t.length>0)throw new Qe("Cannot unroll loop containing `break`");return{code:`${this.ctx.pre}break;`,endsWithControlFlow:"break",definesInNearestScope:!1}}let s=this._expression(t),r=s.value!==void 0&&s.value!==null?this.ctx.resolveSnippet(s).value:"";return{code:r?`${this.ctx.pre}${r};`:"",definesInNearestScope:!1}}tryMarkModified(t){if(!t)return;let s=Y$(t);if(s!==void 0){let r=this.ctx.getById(s),o=this.ctx.topFunctionScope;r&&o&&o.placeholderForVariable.has(r)&&o.modifiedVariables.add(r)}}};function Fx(e,t){if(e.origin==="constant"||e.origin==="constant-immutable-def"||e.origin==="runtime-immutable-def")throw hs(e)?new Qe(`'${jt(t)}' is invalid, because the left side is defined outside of the shader, and therefore is immutable during its execution. Try using tgpu.privateVar or buffers.`):new Qe(`'${jt(t)}' is invalid, because the left side is a constant.`);if(e.origin==="uniform")throw new Qe(`'${jt(t)}' is invalid, because uniform buffers cannot be mutated.`);if(e.origin==="readonly")throw new Qe(`'${jt(t)}' is invalid, because readonly buffers cannot be mutated.`);if(e.origin==="argument")throw new Qe(`'${jt(t)}' is invalid, because non-pointer arguments cannot be mutated.`)}function z$(e){throw new Error(`'${io(e)}' was not handled by the WGSL generator.`)}function G$(e){return/^0x[0-9a-f]+$/i.test(e)?Number.parseInt(e):/^0b[01]+$/i.test(e)?Number.parseInt(e.slice(2),2):Number.parseFloat(e)}function ka(e){return typeof e!="object"||e[0]!==Pt.block?[Pt.block,[e]]:e}function Y$(e){let t=e;for(;Array.isArray(t)&&(t[0]===Pt.memberAccess||t[0]===Pt.indexAccess);)t=t[1];if(typeof t=="string")return t}var L$=(()=>{try{return new Function("return true"),!0}catch{return!1}})(),Bx=new WeakMap,Wx=!1,I_={u32:"u32",vec2u:"u32",vec3u:"u32",vec4u:"u32",u16:"u16",i32:"i32",vec2i:"i32",vec3i:"i32",vec4i:"i32",f32:"f32",vec2f:"f32",vec3f:"f32",vec4f:"f32",f16:"f16",vec2h:"f16",vec3h:"f16",vec4h:"f16",mat2x2f:"f32",mat3x3f:"f32",mat4x4f:"f32"},I$={uint8:"u8",uint8x2:"u8",uint8x4:"u8",sint8:"i8",sint8x2:"i8",sint8x4:"i8",unorm8:"u8",unorm8x2:"u8",unorm8x4:"u8",snorm8:"i8",snorm8x2:"i8",snorm8x4:"i8",uint16:"u16",uint16x2:"u16",uint16x4:"u16",sint16:"i16",sint16x2:"i16",sint16x4:"i16",unorm16:"u16",unorm16x2:"u16",unorm16x4:"u16",snorm16:"i16",snorm16x2:"i16",snorm16x4:"i16",float16:"f16",float16x2:"f16",float16x4:"f16",float32:"f32",float32x2:"f32",float32x3:"f32",float32x4:"f32",uint32:"u32",uint32x2:"u32",uint32x3:"u32",uint32x4:"u32",sint32:"i32",sint32x2:"i32",sint32x3:"i32",sint32x4:"i32"},D_={u32:"setUint32",i32:"setInt32",f32:"setFloat32",u16:"setUint16",i16:"setInt16",f16:"setFloat16",u8:"setUint8",i8:"setInt8"},D$={unorm8:e=>`Math.round(${e} * 255)`,unorm8x2:e=>`Math.round(${e} * 255)`,unorm8x4:e=>`Math.round(${e} * 255)`,snorm8:e=>`Math.round(${e} * 127)`,snorm8x2:e=>`Math.round(${e} * 127)`,snorm8x4:e=>`Math.round(${e} * 127)`,unorm16:e=>`Math.round(${e} * 65535)`,unorm16x2:e=>`Math.round(${e} * 65535)`,unorm16x4:e=>`Math.round(${e} * 65535)`,snorm16:e=>`Math.round(${e} * 32767)`,snorm16x2:e=>`Math.round(${e} * 32767)`,snorm16x4:e=>`Math.round(${e} * 32767)`},Ox={"unorm10-10-10-2":{writeFunction:"setUint32",generator:(e,t)=>`output.setUint32(${e}, ((${t}.x*1023&0x3FF)<<22)|((${t}.y*1023&0x3FF)<<12)|((${t}.z*1023&0x3FF)<<2)|(${t}.w*3&3), littleEndian); +`},"unorm8x4-bgra":{writeFunction:"setUint8",generator:(e,t)=>["z","y","x","w"].map((s,r)=>`output.setUint8((${e} + ${r}), Math.round(${t}.${s} * 255), littleEndian); +`).join("")}};function Vx(e,t,s,r=0,o=!1){let n=(c,_,u)=>o?`if (${_} < endOffset) { output.${c}(${_}, ${u}, littleEndian); } +`:`output.${c}(${_}, ${u}, littleEndian); +`,i=(c,_)=>o?`if (${c} < endOffset) { +${_}} +`:_;function d(c,_,u,m){let p=["i","j","k"][m]||`i${m}`;if(Uu(c)||zn(c))return d(c.inner,_,u,m);if(Qt(c)||un(c))return Object.entries(Nu(c)).map(([h,g])=>{let w=c.propTypes[h];return w?d(w,`(${_} + ${g.offset})`,`${u}.${h}`,m):""}).join("");if(Us(c)||Ja(c)){if(c.elementCount===0)throw new Error("Cannot write using a runtime-sized schema.");let h=qs(_t(c.elementType),rs(c)),g=c.elementCount*h,w=o?`Math.min(${u}.byteLength, Math.max(0, endOffset - (${_})))`:`Math.min(${u}.byteLength, ${g})`,S=`if (ArrayBuffer.isView(${u})) { +`;return S+=` new Uint8Array(output.buffer).set(new Uint8Array(${u}.buffer, ${u}.byteOffset, ${w}), output.byteOffset + (${_})); +`,S+=`} else { +`,S+=`for (let ${p} = 0; ${p} < ${c.elementCount}; ${p}++) { +`,o&&(S+=`if ((${_} + ${p} * ${h}) >= endOffset) return; +`),S+=d(c.elementType,`(${_} + ${p} * ${h})`,`${u}[${p}]`,m+1),S+=`} +`,S+=`} +`,S}if(Rt(c)){if(Yf(c))throw new Error("Compiled writers do not support boolean vectors");let h=I_[c.type],g=_t(c.primitive),w=D_[h];return Array.from({length:c.componentCount},(S,T)=>n(w,`(${_} + ${T*g})`,`${u}[${T}]`)).join("")}if(rn(c)){let h=D_[I_[c.type]],g=Kb(c)?2:Zb(c)?3:4,w=qs(g*4,8),S=["x","y","z","w"],T=w/4;return Array.from({length:g*g},(A,P)=>{let U=Math.floor(P/g),D=P%g,O=U*g+D,L=U*T+D;return n(h,`(${_} + ${U*w+D*4})`,`ArrayBuffer.isView(${u}) ? ${u}[${L}] : Array.isArray(${u}) ? ${u}[${O}] : ${u}.columns[${U}].${S[D]}`)}).join("")}if(aP(c)){let h=c.type;if(h in Ox){let D=Ox[h];return i(`(${_})`,D.generator(_,u))}let g=I$[h],w=D_[g],S=$n[h],T=Rt(S)?S.componentCount:1,A=g==="u8"||g==="i8"?1:g==="u16"||g==="i16"||g==="f16"?2:4,P=["x","y","z","w"],U=D$[h];return Array.from({length:T},(D,O)=>{let L=T===1?u:`${u}.${P[O]}`,G=U?U(L):L;return n(w,`(${_} + ${O*A})`,G)}).join("")}if(!Object.hasOwn(I_,c.type))throw new Error(`Primitive ${c.type} is unsupported by compiled writer`);let y=I_[c.type];return n(D_[y],_,u)}return d(e,t,s,r)}function Ev(e){if(!L$){Wx||(Vt.warn("fallback","This environment does not allow eval - using default writer as fallback"),Wx=!0);return}let t=Bx.get(e);if(t)return t;try{let s=Vx(e,"offset","value",0,!1),r=`if (offset > 0 || endOffset < output.byteLength) { +${Vx(e,"offset","value",0,!0)}} else { +${s}} +`,o=new Function("output","offset","value","littleEndian=true","endOffset=output.byteLength",r);return Bx.set(e,o),o}catch(s){Vt.warn("fallback",`Failed to compile writer for schema: ${e} +Reason: ${s instanceof Error?s.message:String(s)} +Falling back to default writer`)}}function Fs(e,t){e.writeUint16(Pl(t))}function Bs(e){return Nf(e.readUint16())}var Mi={bool(){throw new Error("Booleans are not host-shareable")},f32(e,t,s){e.writeFloat32(s)},f16(e,t,s){Fs(e,s)},i32(e,t,s){e.writeInt32(s)},u32(e,t,s){e.writeUint32(s)},u16(e,t,s){e.writeUint16(s)},vec2f(e,t,s){e.writeFloat32(s[0]),e.writeFloat32(s[1])},vec2h(e,t,s){Fs(e,s[0]),Fs(e,s[1])},vec2i(e,t,s){e.writeInt32(s[0]),e.writeInt32(s[1])},vec2u(e,t,s){e.writeUint32(s[0]),e.writeUint32(s[1])},"vec2"(){throw new Error("Booleans are not host-shareable")},vec3f(e,t,s){e.writeFloat32(s[0]),e.writeFloat32(s[1]),e.writeFloat32(s[2])},vec3h(e,t,s){Fs(e,s[0]),Fs(e,s[1]),Fs(e,s[2])},vec3i(e,t,s){e.writeInt32(s[0]),e.writeInt32(s[1]),e.writeInt32(s[2])},vec3u(e,t,s){e.writeUint32(s[0]),e.writeUint32(s[1]),e.writeUint32(s[2])},"vec3"(){throw new Error("Booleans are not host-shareable")},vec4f(e,t,s){e.writeFloat32(s[0]),e.writeFloat32(s[1]),e.writeFloat32(s[2]),e.writeFloat32(s[3])},vec4h(e,t,s){Fs(e,s[0]),Fs(e,s[1]),Fs(e,s[2]),Fs(e,s[3])},vec4i(e,t,s){e.writeInt32(s[0]),e.writeInt32(s[1]),e.writeInt32(s[2]),e.writeInt32(s[3])},vec4u(e,t,s){e.writeUint32(s[0]),e.writeUint32(s[1]),e.writeUint32(s[2]),e.writeUint32(s[3])},"vec4"(){throw new Error("Booleans are not host-shareable")},mat2x2f(e,t,s){for(let r=0;r"(){throw new Error("Booleans are not host-shareable")},"vec3"(){throw new Error("Booleans are not host-shareable")},"vec4"(){throw new Error("Booleans are not host-shareable")},mat2x2f(e){return Gn(e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32())},mat3x3f(e){let t=()=>{let s=e.readFloat32();return e.readFloat32(),s};return Yn(e.readFloat32(),e.readFloat32(),t(),e.readFloat32(),e.readFloat32(),t(),e.readFloat32(),e.readFloat32(),t())},mat4x4f(e){return Hs(e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32())},struct(e,t){let s=rs(t);Os(e,s);let r={},o=t.propTypes;for(let[n,i]of Object.entries(o))Os(e,rs(i)),r[n]=jn(e,i);return Os(e,s),r},array(e,t){if(t.elementCount===0)throw new Error("Cannot read using a runtime-sized schema.");let s=rs(t),r=[];for(let o=0;oe.readUint8(),uint8x2:e=>Ct(e.readUint8(),e.readUint8()),uint8x4:e=>Et(e.readUint8(),e.readUint8(),e.readUint8(),e.readUint8()),sint8:e=>e.readInt8(),sint8x2:e=>Xt(e.readInt8(),e.readInt8()),sint8x4:e=>Wt(e.readInt8(),e.readInt8(),e.readInt8(),e.readInt8()),unorm8:e=>e.readUint8()/255,unorm8x2:e=>lt(e.readUint8()/255,e.readUint8()/255),unorm8x4:e=>Oe(e.readUint8()/255,e.readUint8()/255,e.readUint8()/255,e.readUint8()/255),snorm8:e=>e.readInt8()/127,snorm8x2:e=>lt(e.readInt8()/127,e.readInt8()/127),snorm8x4:e=>Oe(e.readInt8()/127,e.readInt8()/127,e.readInt8()/127,e.readInt8()/127),uint16:e=>e.readUint16(),uint16x2:e=>Ct(e.readUint16(),e.readUint16()),uint16x4:e=>Et(e.readUint16(),e.readUint16(),e.readUint16(),e.readUint16()),sint16:e=>e.readInt16(),sint16x2:e=>Xt(e.readInt16(),e.readInt16()),sint16x4:e=>Wt(e.readInt16(),e.readInt16(),e.readInt16(),e.readInt16()),unorm16:e=>e.readUint16()/65535,unorm16x2:e=>lt(e.readUint16()/65535,e.readUint16()/65535),unorm16x4:e=>Oe(e.readUint16()/65535,e.readUint16()/65535,e.readUint16()/65535,e.readUint16()/65535),snorm16:e=>e.readInt16()/32767,snorm16x2:e=>lt(e.readInt16()/32767,e.readInt16()/32767),snorm16x4:e=>Oe(e.readInt16()/32767,e.readInt16()/32767,e.readInt16()/32767,e.readInt16()/32767),float16(e){return Bs(e)},float16x2:e=>lt(Bs(e),Bs(e)),float16x4:e=>Oe(Bs(e),Bs(e),Bs(e),Bs(e)),float32:e=>e.readFloat32(),float32x2:e=>lt(e.readFloat32(),e.readFloat32()),float32x3:e=>It(e.readFloat32(),e.readFloat32(),e.readFloat32()),float32x4:e=>Oe(e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32()),uint32:e=>e.readUint32(),uint32x2:e=>Ct(e.readUint32(),e.readUint32()),uint32x3:e=>gt(e.readUint32(),e.readUint32(),e.readUint32()),uint32x4:e=>Et(e.readUint32(),e.readUint32(),e.readUint32(),e.readUint32()),sint32:e=>e.readInt32(),sint32x2:e=>Xt(e.readInt32(),e.readInt32()),sint32x3:e=>cs(e.readInt32(),e.readInt32(),e.readInt32()),sint32x4:e=>Wt(e.readInt32(),e.readInt32(),e.readInt32(),e.readInt32()),"unorm10-10-10-2"(e){let t=e.readUint32();return Oe((t>>22)/1023,(t>>12&1023)/1023,(t>>2&1023)/1023,(t&3)/3)},"unorm8x4-bgra"(e){let t=e.readByte()/255,s=e.readByte()/255;return Oe(e.readByte()/255,s,t,e.readByte()/255)},unstruct(e,t){let s={},r=t.propTypes;for(let[o,n]of Object.entries(r))s[o]=jn(e,n);return s},disarray(e,t){let s=rs(t),r=[];for(let o=0;o"}' cannot be bound as 'storage'. Use .$usage('storage') to allow it.`),Object.setPrototypeOf(this,F5.prototype)}};function Oc(e){return e instanceof Va}function V$(e){return Oc(e)&&e.resourceType==="uniform"}function N$(e){return Oc(e)&&e.resourceType==="mutable"}function q$(e){return Oc(e)&&e.resourceType==="readonly"}var Va=class Mp{[me];[Xs];resourceType;static#e=void(Mp.prototype[B]=!0,mn(In(Mp.prototype,{asString(){return`${this.resourceType}BufferBinding:${xe(this)??""}`},resolve(t){let s=this.buffer.dataType,r=t.makeUniqueIdentifier(xe(this),"global"),{group:o,binding:n}=t.allocateFixedEntry(this.resourceType==="uniform"?{uniform:s}:{storage:s,access:this.resourceType},this.buffer);return t.gen.declareGlobalVar({group:o,binding:n,scope:this.resourceType,id:r,dataType:s,init:void 0})}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.buffer.dataType,this.resourceType,!1)}},simulateMode:{get(t){return t.buffers.has(this.buffer)||t.buffers.set(this.buffer,aa(this.buffer.dataType,this.buffer.initial)),t.buffers.get(this.buffer)},set(t,s){t.buffers.set(this.buffer,s)}},normalMode:{get(){throw new Q0(Al()?`Cannot access ${String(this.buffer)}. TypeGPU functions that depends on GPU resources need to be part of a compute dispatch, draw call or simulation`:".$ is inaccessible during normal JS execution. Try `.read()`")},set(){throw new Q0(Al()?`Cannot access ${String(this.buffer)}. TypeGPU functions that depends on GPU resources need to be part of a compute dispatch, draw call or simulation`:".$ is inaccessible during normal JS execution. Try `.write()`")}}}));constructor(t,s){this.resourceType=t,this[Xs]=s,this[me]={type:t,buffer:s,label:void 0}}get buffer(){return this[me].buffer}$name(t){return ot(this,t),this}write(t,s){this.buffer.write(t,s)}writePartial(t){this.buffer.writePartial(t)}patch(t){this.buffer.patch(t)}read(){return this.buffer.read()}},qx=new WeakMap;function X$(e){if(!Sl(e))throw new Error(`Cannot call as('mutable') on ${e}, as it is not allowed to be used as storage. To allow it, call .$usage('storage') when creating the buffer.`);let t=qx.get(e);return t||(t=new Va("mutable",e),qx.set(e,t)),t}var Xx=new WeakMap;function H$(e){if(!Sl(e))throw new Error(`Cannot call as('readonly') on ${e}, as it is not allowed to be used as storage. To allow it, call .$usage('storage') when creating the buffer.`);let t=Xx.get(e);return t||(t=new Va("readonly",e),Xx.set(e,t)),t}var Hx=new WeakMap;function j$(e){if(!b2(e))throw new Error(`Cannot call as('uniform') on ${e}, as it is not allowed to be used as a uniform. To allow it, call .$usage('uniform') when creating the buffer.`);let t=Hx.get(e);return t||(t=new Va("uniform",e),Hx.set(e,t)),t}function B5(e,t){let s=Object.values(e).flatMap(n=>Object.values(n.entries)).filter(n=>n!==null),r=s.filter(n=>"uniform"in n).length,o=s.filter(n=>"storage"in n).length;r>t.maxUniformBuffersPerShaderStage&&Vt.warn("webgpu-limits-exceeded",`Total number of uniform buffers (${r}) exceeds maxUniformBuffersPerShaderStage (${t.maxUniformBuffersPerShaderStage}). Consider: +1. Grouping some of the uniforms into one using 'd.struct', +2. Increasing the limit when requesting a device or creating a root.`),o>t.maxStorageBuffersPerShaderStage&&Vt.warn("webgpu-limits-exceeded",`Total number of storage buffers (${o}) exceeds maxStorageBuffersPerShaderStage (${t.maxStorageBuffersPerShaderStage}).`)}function K$(e){return Qt(e)||Us(e)?qs(rs(e),16):rs(e)}function Pp(e){if(Us(e)){Pp(e.elementType);let t=qs(_t(e.elementType),rs(e.elementType));t%16!==0&&Vt.warn("uniform-schema-misaligned",`Schema '${xe(e.elementType)??""}' is used in an array in a uniform buffer, and its stride (${t}) is not a multiple of 16. +This is not portable (see https://www.w3.org/TR/WGSL/#address-space-layout-constraints), and will break on some devices. +To address this, put the element schema in a struct and wrap the prop in 'd.align(16, ...)', or use a different schema like 'vec4f'.`)}if(Qt(e)){Object.values(e.propTypes).forEach(Pp),Object.entries(e.propTypes).forEach(([s,r])=>{let o=cl(e,i=>i[s]).offset,n=K$(r);o%n&&Vt.warn("uniform-schema-misaligned",`Schema '${xe(e)??""}' is used in a uniform buffer, and its property '${s}' does not meet required alignment (offset is ${o}, required alignment is ${n}). +This is not portable (see https://www.w3.org/TR/WGSL/#address-space-layout-constraints), and will break on some devices. +To address this, wrap the property '${s}' in 'd.align(${n}, ...)'.`)});let t=Object.keys(e.propTypes);for(let s=0;s_[r]).offset,c=cl(e,_=>_[o]).offset-d;i>c&&Vt.warn("uniform-schema-misaligned",`Schema '${xe(e)??""}' is used in a uniform buffer, and the difference between memory offsets of '${r}' and '${o}' props (${c}) is less than recommended (${i}). +This is not portable (see https://www.w3.org/TR/WGSL/#address-space-layout-constraints), and will break on some devices. +To address this, wrap the '${r}' prop in 'd.size(${i}, ...)'.`)}}}var Z$={uniform:j$,mutable:X$,readonly:H$};function F_(e,t,s){return Qa(t)?new jx(e,t,s):new jx(e,t,s,["storage","uniform"])}var jx=class{[B];[me];resourceType="buffer";#e;#t=!1;#s;get#r(){return this.#s??=new ArrayBuffer(_t(this.dataType))}#o;#n;#i;initial;usableAsUniform=!1;usableAsStorage=!1;usableAsVertex=!1;usableAsIndex=!1;usableAsIndirect=!1;constructor(e,t,s,r){this[me]={type:"buffer",device:e.device,dataType:t,flags:GPUBufferUsage.COPY_DST|GPUBufferUsage.COPY_SRC,usages:[],raw:void 0,label:void 0},this.#i=r,Mn(s)?(this.#e=!1,this[me].raw=s):(this.#e=!0,typeof s=="function"?this.#n=s:this.initial=s),this[B]={root:e,materialize:()=>{if(this.#t)throw new Error("This buffer has been destroyed");let o=this[me];return o.raw||(o.raw=o.device.createBuffer({size:_t(o.dataType),usage:o.flags,mappedAtCreation:!!this.initial||!!this.#n,label:xe(this)??""}),(this.initial||this.#n)&&(this.#n?this.#n(this):this.initial&&mm(this.#a(),this.dataType,this.initial),this.#d())),o.raw}}}get dataType(){return this[me].dataType}get flags(){return this[me].flags}set flags(e){this[me].flags=e}get buffer(){return this[B].materialize()}get destroyed(){return this.#t}get arrayBuffer(){return this.buffer.mapState==="mapped"?this.#a():this.#r}#a(){let e=this[me].raw;if(!e||e.mapState!=="mapped")throw new Error("Buffer is not mapped.");return this.#o??=e.getMappedRange(),this.#o}#d(){let e=this[me].raw;!e||e.mapState!=="mapped"||(this.#o=void 0,e.unmap())}$name(e){ot(this,e);let t=this[me].raw;return t&&(t.label=e),this}$usage(...e){for(let t of e){if(this.#i?.includes(t))throw new Error(`Buffer of type ${this.dataType.type} cannot be used as ${t}`);t==="uniform"&&Pp(this.dataType),this.flags|=t==="uniform"?GPUBufferUsage.UNIFORM:0,this.flags|=t==="storage"?GPUBufferUsage.STORAGE:0,this.flags|=t==="vertex"?GPUBufferUsage.VERTEX:0,this.flags|=t==="index"?GPUBufferUsage.INDEX:0,this.flags|=t==="indirect"?GPUBufferUsage.INDIRECT:0,this.usableAsUniform=this.usableAsUniform||t==="uniform",this.usableAsStorage=this.usableAsStorage||t==="storage",this.usableAsVertex=this.usableAsVertex||t==="vertex",this.usableAsIndex=this.usableAsIndex||t==="index",this.usableAsIndirect=this.usableAsIndirect||t==="indirect",this[me].usages.includes(t)||this[me].usages.push(t)}return this}$addFlags(e){if(!this.#e)throw new Error("Cannot add flags to a buffer that is not managed by TypeGPU.");return e&GPUBufferUsage.MAP_READ?(this.flags=GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ,this):e&GPUBufferUsage.MAP_WRITE?(this.flags=GPUBufferUsage.COPY_SRC|GPUBufferUsage.MAP_WRITE,this):(this.flags|=e,this)}compileWriter(){Ev(this.dataType)}write(e,t){let s=this.buffer;if(s.mapState==="mapped"){let i=this.#a();if(e instanceof ArrayBuffer&&e===i)return;mm(i,this.dataType,e,t);return}e instanceof ArrayBuffer&&e===this.#r||mm(this.#r,this.dataType,e,t);let{startOffset:r,endOffset:o}=I5(t,this.dataType,e),n=o-r;this[me].device.queue.writeBuffer(s,r,this.#r,r,n)}writePartial(e){this.patch(Ap(this.dataType,e))}patch(e){let t=this.buffer;if(t.mapState==="mapped")O$(this.#a(),this.dataType,e);else{let s=D5(this.dataType,e,this.#r);for(let{data:r,gpuOffset:o}of s)this[me].device.queue.writeBuffer(t,o,r)}}clear(e){let t=this.buffer;if(e){e[B].rawEncoder.clearBuffer(t);return}if(t.mapState==="mapped"){new Uint8Array(this.#a()).fill(0);return}let s=this[me].device.createCommandEncoder();s.clearBuffer(t),this[me].device.queue.submit([s.finish()])}copyFrom(e,t){if(this.buffer.mapState==="mapped")throw new Error("Cannot copy to a mapped buffer.");let s=_t(this.dataType);if(t){t[B].rawEncoder.copyBufferToBuffer(e.buffer,0,this.buffer,0,s);return}let r=this[me].device.createCommandEncoder();r.copyBufferToBuffer(e.buffer,0,this.buffer,0,s),this[me].device.queue.submit([r.finish()])}async read(){let e=this.buffer;if(e.mapState==="mapped")return pm(this.#a(),this.dataType);if(e.usage&GPUBufferUsage.MAP_READ){await e.mapAsync(GPUMapMode.READ);let o=pm(this.#a(),this.dataType);return this.#d(),o}let t=this[me].device.createBuffer({size:_t(this.dataType),usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ}),s=this[me].device.createCommandEncoder();s.copyBufferToBuffer(e,0,t,0,_t(this.dataType)),this[me].device.queue.submit([s.finish()]),await t.mapAsync(GPUMapMode.READ,0,_t(this.dataType));let r=pm(t.getMappedRange(),this.dataType);return t.unmap(),t.destroy(),r}as(e){return Z$[e](this)}destroy(){this.#t||(this.#t=!0,this.#o=void 0,this.#e&&this[me].raw?.destroy())}toString(){return`buffer:${xe(this)??""}`}},W5=class Ep{bindings;constructor(t){this.bindings=t}with(t,s){return new Ep([...this.bindings,[dd(t)||cd(t)?t.slot:t,s]])}pipe(t){let s=t(this);return new Ep([...this.bindings,...s.bindings])}};function*Q$(e){let t=0;for(;;)e.has(t)||(yield t),t++}function J$(e,t){return new V5(fv(),e,t)}function e4(e,t){return new V5(o5(),e,t)}function kv(e){let t=e;return t?.resourceType==="sampler"&&!!t[B]}function $v(e){let t=e;return t?.resourceType==="sampler-comparison"&&!!t[B]}var t4=class O5{[B]={materialize:void 0};resourceType;schema;#e;static#t=mn(In(O5.prototype,{asString(){return`${this.resourceType}:${xe(this)??""}`},resolve(t){let s=t.makeUniqueIdentifier(xe(this),"global"),r=t.allocateLayoutEntry(this.#e.layout);return t.addDeclaration(`@group(${r}) @binding(${this.#e.idx}) var ${s}: ${t.resolve(this.schema).value};`,s),ve(s,this.schema,"handle")}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.schema,"handle",!1)}},normalMode:{get(){throw new Error("Direct access to sampler values is possible only as part of a compute dispatch or draw call.")}}});constructor(t,s){this.schema=t,this.#e=s,this.resourceType=t.type==="sampler_comparison"?"sampler-comparison":"sampler",ot(this,s.key)}},V5=class N5{[B];[me];resourceType;schema;#e;static#t=mn(In(N5.prototype,{asString(){return`${this.resourceType}:${xe(this)??""}`},resolve(t){let s=t.makeUniqueIdentifier(xe(this),"global"),{group:r,binding:o}=t.allocateFixedEntry(this.schema.type==="sampler_comparison"?{sampler:"comparison"}:{sampler:this.#e?"filtering":"non-filtering"},this);return t.addDeclaration(`@group(${r}) @binding(${o}) var ${s}: ${t.resolve(this.schema).value};`,s),ve(s,this.schema,"handle")}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.schema,"handle",!1)}},normalMode:{get(){throw new Error("Direct access to sampler values is possible only as part of a compute dispatch or draw call.")}}});constructor(t,s,r){this.schema=t,this.resourceType=t.type==="sampler_comparison"?"sampler-comparison":"sampler",this[me]={type:this.resourceType,device:r.device,props:s,raw:void 0,label:void 0},this[B]={root:r,materialize:()=>{let o=this[me];return o.raw||(o.raw=o.device.createSampler({...o.props,label:xe(this)??""})),o.raw}},this.#e=s.minFilter==="linear"||s.magFilter==="linear"||s.mipmapFilter==="linear"}$name(t){return ot(this,t),this}},s4=class{resourceType="external-texture";[B]=!0;schema;#e;constructor(e,t){this.schema=e,this.#e=t,ot(this,t.key)}[kt](e){let t=e.makeUniqueIdentifier(xe(this),"global"),s=e.allocateLayoutEntry(this.#e.layout);return e.addDeclaration(`@group(${s}) @binding(${this.#e.idx}) var ${t}: ${e.resolve(this.schema).value};`,t),ve(t,s5(),"handle")}get[Hr](){let e=this.schema;return new Proxy({[B]:!0,get[oa](){return ve(this,e,"handle",!1)},[kt]:t=>t.resolve(this),toString:()=>`textureExternal:${xe(this)??""}.$`},Wi)}get $(){if(Yu())return this[Hr];throw new Error("Direct access to texture views values is possible only as part of a compute dispatch or draw call. Try .read() or .write() instead")}toString(){return`textureExternal:${xe(this)??""}`}},r4={channelType:a,vectorType:Oe,sampleTypes:["depth","unfilterable-float"],texelSize:"non-copyable"},o4={channelType:a,vectorType:Oe,sampleTypes:["depth","unfilterable-float"],texelSize:2},n4={channelType:a,vectorType:Oe,sampleTypes:["depth","unfilterable-float"],texelSize:4},a4={channelType:R,vectorType:Et,sampleTypes:["uint"],texelSize:1},Kx=new Map;function Vc(e){let t=Kx.get(e);return t===void 0&&(t=i4(e),Kx.set(e,t)),t}function i4(e){let t=_4(e),s=d4(e),r=e.includes("stencil");return{channelType:t,vectorType:t===R?Et:t===Z?Wt:Oe,texelSize:l4(e),sampleTypes:u4(e),canRenderAttachment:c4(e),...s&&{depthAspect:s},...r&&{stencilAspect:a4}}}function d4(e){if(e==="depth16unorm")return o4;if(e==="depth32float"||e==="depth32float-stencil8")return n4;if(e==="depth24plus"||e==="depth24plus-stencil8")return r4}function c4(e){return!(e.startsWith("bc")||e.startsWith("etc2")||e.startsWith("eac")||e.startsWith("astc")||e==="rgb9e5ufloat")}function _4(e){return e==="stencil8"||e.includes("uint")?R:e.includes("sint")?Z:a}function l4(e){let[,t,s]=e.match(/^(rgba|bgra|rg|r)(8|16|32)/)??[];return t&&s?t.length*Number(s)/8:e==="stencil8"?1:e==="depth16unorm"?2:e==="depth32float"?4:e==="depth32float-stencil8"?5:e==="depth24plus"||e==="depth24plus-stencil8"?"non-copyable":/^(bc[14]-|etc2-rgb8|eac-r11)/.test(e)?8:/^(bc|astc-|etc2-rgba|eac-rg)/.test(e)?16:4}function u4(e){return e==="stencil8"?["uint"]:e.includes("uint")?["uint"]:e.includes("sint")?["sint"]:e.includes("depth")?["depth","unfilterable-float"]:/^(r|rg|rgba)16(u|s)norm$/.test(e)?["unfilterable-float"]:["float","unfilterable-float"]}var m4=new Set(["r32float","rg32float","rgba32float"]);function p4(e,t){return m4.has(t)&&!e.features.has("float32-filterable")?["unfilterable-float"]:Vc(t).sampleTypes}function q5(e){let{videoWidth:t,videoHeight:s}=e;if(t&&s)return{width:t,height:s};let{naturalWidth:r,naturalHeight:o}=e;if(r&&o)return{width:r,height:o};let{codedWidth:n,codedHeight:i}=e;if(n&&i)return{width:n,height:i};let{width:d,height:c}=e;if(d&&c)return{width:d,height:c};throw new Error("Cannot determine dimensions of the provided image source.")}var f4=` +struct VertexOutput { + @builtin(position) pos: vec4f, + @location(0) uv: vec2f, +} + +@vertex +fn vs_main(@builtin(vertex_index) i: u32) -> VertexOutput { + const pos = array(vec2f(-1, -1), vec2f(3, -1), vec2f(-1, 3)); + const uv = array(vec2f(0, 1), vec2f(2, 1), vec2f(0, -1)); + return VertexOutput(vec4f(pos[i], 0, 1), uv[i]); +}`,v4=` +@group(0) @binding(0) var src: texture_2d; +@group(0) @binding(1) var samp: sampler; + +@fragment +fn fs_main(@location(0) uv: vec2f) -> @location(0) vec4f { + return textureSample(src, samp, uv); +}`,y4=` +@group(0) @binding(0) var src: texture_2d; +@group(0) @binding(1) var samp: sampler; + +@fragment +fn fs_main(@location(0) uv: vec2f) -> @location(0) vec4f { + let r = textureGather(0, src, samp, uv); + let g = textureGather(1, src, samp, uv); + let b = textureGather(2, src, samp, uv); + let a = textureGather(3, src, samp, uv); + return vec4f(dot(r, vec4f(0.25)), dot(g, vec4f(0.25)), dot(b, vec4f(0.25)), dot(a, vec4f(0.25))); +}`,kp=new WeakMap;function h4(e){let t=kp.get(e);return t||(t={vertexModule:e.createShaderModule({code:f4}),filterableResources:new Map,layoutResources:new Map},kp.set(e,t)),t}function x4(e,t,s){let r=h4(e),o=r.filterableResources.get(t);o||(o={fragmentModule:e.createShaderModule({code:t?v4:y4}),sampler:e.createSampler(t?{magFilter:"linear",minFilter:"linear"}:{})},r.filterableResources.set(t,o));let n=`${t}:${s}`,i=r.layoutResources.get(n);if(!i){let d=e.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:s}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{type:t?"filtering":"non-filtering"}}]});i={bindGroupLayout:d,pipelineLayout:e.createPipelineLayout({bindGroupLayouts:[d]})},r.layoutResources.set(n,i)}return{vertexModule:r.vertexModule,...o,...i}}function X5(e){let{device:t,source:s,destination:r,format:o,filterable:n,sampleType:i}=e,d=x4(t,n,i),c=t.createRenderPipeline({layout:d.pipelineLayout,vertex:{module:d.vertexModule},fragment:{module:d.fragmentModule,targets:[{format:o}]},primitive:{topology:"triangle-list"}}),_=t.createBindGroup({layout:d.bindGroupLayout,entries:[{binding:0,resource:s},{binding:1,resource:d.sampler}]}),u=!e.encoder,m=e.encoder??t.createCommandEncoder(),p=m.beginRenderPass({colorAttachments:[{view:r,loadOp:"clear",storeOp:"store"}]});p.setPipeline(c),p.setBindGroup(0,_),p.draw(3),p.end(),u&&t.queue.submit([m.finish()])}function g4(e){kp.delete(e)}function H5(e,t,s){let r=Vc(t),o=p4(e,t),n=o.includes("float"),i=o.includes("unfilterable-float");if(!n&&!i)throw new Error(`Cannot ${s} for format '${t}': only float formats are supported.`);if(!r.canRenderAttachment)throw new Error(`Cannot ${s} for format '${t}': format does not support render attachments.`);return{filterable:n,sampleType:n?"float":"unfilterable-float"}}function b4(e,t,s=0,r){if(t.dimension!=="2d")throw new Error("Mipmap generation only supports 2D textures.");let{filterable:o,sampleType:n}=H5(e,t.format,"generate mipmaps"),i=r??t.mipLevelCount-s;for(let d=0;d({dimension:"2d",baseMipLevel:u,mipLevelCount:1,baseArrayLayer:d,arrayLayerCount:1});X5({device:e,source:t.createView(_(c)),destination:t.createView(_(c+1)),format:t.format,filterable:o,sampleType:n})}}function w4(e,t,s,r=0){if(t.dimension!=="2d")throw new Error("Resampling only supports 2D textures.");let{filterable:o}=H5(e,t.format,"resample"),{width:n,height:i}=q5(s),d=e.createTexture({size:[n,i],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT});e.queue.copyExternalImageToTexture({source:s},{texture:d},[n,i]);let c=e.createTexture({size:[t.width,t.height],format:t.format,usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.COPY_SRC}),_=e.createCommandEncoder();X5({device:e,source:d.createView(),destination:c.createView(),format:t.format,filterable:o,sampleType:"float",encoder:_}),_.copyTextureToTexture({texture:c},{texture:t,origin:{x:0,y:0,z:r}},{width:t.width,height:t.height,depthOrArrayLayers:1}),e.queue.submit([_.finish()]),d.destroy(),c.destroy()}function T4(e){return{dimension:e.dimension??"2d",sampleType:Vc(e.format).channelType,multisampled:(e.sampleCount??1)!==1}}function S4(e,t,s){return new A4(e,t,s)}function Tc(e){return e?.resourceType==="texture"&&!!e[B]}function Oi(e){return e?.resourceType==="texture-view"&&!!e[B]}var A4=class{[B];[me];resourceType="texture";usableAsSampled=!1;usableAsStorage=!1;usableAsRender=!1;#e;#t=!1;#s;constructor(e,t,s){this.#s=s===void 0,this[me]={type:"texture",device:t.device,props:e,flags:GPUTextureUsage.COPY_DST|GPUTextureUsage.COPY_SRC,flagsOverridden:!1,usages:[],raw:s,label:void 0},this.#e=Vc(e.format),this[B]={root:t,materialize:()=>{if(this.#t)throw new Error("This texture has been destroyed");let r=this[me];if(!r.raw){let o=r.props;r.raw=(globalThis.__TYPEGPU_AUTONAME__??(n=>n))(r.device.createTexture({label:xe(this)??"",format:o.format,size:o.size,usage:r.flags,dimension:o.dimension??"2d",viewFormats:o.viewFormats??[],mipLevelCount:o.mipLevelCount??1,sampleCount:o.sampleCount??1}),"raw")}return r.raw}}}get props(){return this[me].props}$name(e){return ot(this,e),this}$usage(...e){let t=this[me];if(t.flagsOverridden)throw new Error("Cannot call $usage() after $overrideFlags().");let s=e.includes("storage"),r=e.includes("sampled"),o=e.includes("render"),n=e.includes("transient"),i=(r?GPUTextureUsage.TEXTURE_BINDING:0)|(s?GPUTextureUsage.STORAGE_BINDING:0),d=GPUTextureUsage.TRANSIENT_ATTACHMENT|GPUTextureUsage.RENDER_ATTACHMENT,c=t.flags|i|(o?GPUTextureUsage.RENDER_ATTACHMENT:0),_=n||!!(t.flags&GPUTextureUsage.TRANSIENT_ATTACHMENT),u=!!(c&(GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.STORAGE_BINDING));if(_&&u)throw new Error("Transient texture usage cannot be combined with 'sampled' or 'storage'.");t.flags=n?d:c,this.usableAsStorage||=s,this.usableAsSampled||=r,this.usableAsRender||=o||n;for(let m of e)t.usages.includes(m)||t.usages.push(m);return this}$overrideFlags(e){let t=this[me];return t.flags=e,t.flagsOverridden=!0,this.usableAsSampled=!0,this.usableAsStorage=!0,this.usableAsRender=!0,this}createView(e,t){return e==="render"?new P4(this,t):new M4(e??vP(T4(this.props)),this,t)}#r(e=0){let t=2**e,[s,r,o]=[Math.max(1,Math.floor((this.props.size[0]??1)/t)),Math.max(1,Math.floor((this.props.size[1]??1)/t)),Math.max(1,Math.floor((this.props.size[2]??1)/t))],n=this.#e.texelSize;if(n==="non-copyable")throw new Error(`Cannot clear texture with format '${this.props.format}': this format does not support copy operations.`);this[me].device.queue.writeTexture({texture:this[B].materialize(),mipLevel:e},new Uint8Array(s*r*o*n),{bytesPerRow:n*s,rowsPerImage:r},[s,r,o])}clear(e="all"){if(e==="all"){let t=this.props.mipLevelCount??1;for(let s=0;s=(this.props.mipLevelCount??1))throw new Error(`Base mip level ${e} is out of range. Texture has ${this.props.mipLevelCount??1} mip levels.`);b4(this[me].device,this[B].materialize(),e,s)}write(e,t=0){if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)){this.#o(e,typeof t=="number"?t:0);return}if(!this.usableAsRender)throw new Error("texture.write(...) with image sources requires 'render' usage. Add it via the $usage('render') method.");let s=typeof t=="number"?void 0:t,r=this.props.dimension??"2d";if(!Array.isArray(e)){this.#n(e,r==="3d"?0:void 0,s);return}let o=this.props.size[2]??1;e.length>o&&Vt.warn("suspicious",`Too many image sources provided. Expected ${o} layers, got ${e.length}. Extra sources will be ignored.`);for(let n=0;n>t),r=Math.max(1,(this.props.size[1]??1)>>t),o=Math.max(1,(this.props.size[2]??1)>>t),n=this.#e.texelSize;if(n==="non-copyable")throw new Error(`Cannot write to texture with format '${this.props.format}': this format does not support copy operations.`);let i=s*r*o*n,d=e.byteLength??e.byteLength;if(d!==i)throw new Error(`Buffer size mismatch. Expected ${i} bytes for mip level ${t}, got ${d} bytes.`);this[me].device.queue.writeTexture({texture:this[B].materialize(),mipLevel:t},"buffer"in e?e.buffer:e,{bytesPerRow:n*s,rowsPerImage:r},[s,r,o])}#n(e,t,s){let r=this.props.size[0],o=this.props.size[1]??1,{width:n,height:i}=q5(e);if(n!==r||i!==o){if(s?.fit!=="stretch")throw new Error(`Texture write source size ${n}x${i} does not match target size ${r}x${o}. Pass fit: 'stretch' to resize explicitly.`);w4(this[me].device,this[B].materialize(),e,t);return}this[me].device.queue.copyExternalImageToTexture({source:e},{texture:this[B].materialize(),...t!==void 0&&{origin:{x:0,y:0,z:t}}},t!==void 0?[r,o,1]:this.props.size)}copyFrom(e){if(e.props.format!==this.props.format)throw new Error(`Texture format mismatch. Source texture has format ${e.props.format}, target texture has format ${this.props.format}`);if(e.props.size[0]!==this.props.size[0]||(e.props.size[1]??1)!==(this.props.size[1]??1)||(e.props.size[2]??1)!==(this.props.size[2]??1))throw new Error(`Texture size mismatch. Source texture has size ${e.props.size.join("x")}, target texture has size ${this.props.size.join("x")}`);let t=this[me].device.createCommandEncoder();t.copyTextureToTexture({texture:e[B].materialize()},{texture:this[B].materialize()},e.props.size),this[me].device.queue.submit([t.finish()])}toString(){return`${this.resourceType}:${xe(this)??""}`}get destroyed(){return this.#t}destroy(){this.#t||(this.#t=!0,this.#s&&this[me].raw?.destroy())}},M4=class{[B];[me];resourceType="texture-view";constructor(e,t,s){this[me]={type:"texture-view",texture:t,schema:e,descriptor:s,raw:void 0,label:void 0},this[B]={unwrap:()=>{let r=this[me];if(!r.raw){let o=r.schema,n=dl(o)?o.format:r.texture.props.format;r.raw=(globalThis.__TYPEGPU_AUTONAME__??(i=>i))(r.texture[B].materialize().createView({...r.descriptor,label:xe(this)??"",format:r.descriptor?.format??n,dimension:o.dimension}),"raw")}return r.raw},format:s?.format??(dl(e)?e.format:t.props.format),aspect:s?.aspect}}get schema(){return this[me].schema}$name(e){return ot(this,e),this[me].raw&&(this[me].raw.label=e),this}get[Hr](){let e=this.schema;return new Proxy({[B]:!0,get[oa](){return ve(this,e,"handle",!1)},[kt]:t=>t.resolve(this),toString:()=>`${this.toString()}.$`},Wi)}get $(){if(Yu())return this[Hr];throw new Error("Direct access to texture view values is possible only as part of a compute dispatch or draw call. Try .read() or .write() instead")}get size(){return this[me].texture.props.size}toString(){return`textureView:${xe(this)??""}`}[kt](e){let t=e.makeUniqueIdentifier(xe(this),"global"),{group:s,binding:r}=e.allocateFixedEntry(dl(this.schema)?{storageTexture:this.schema}:{texture:this.schema,sampleType:this[me].descriptor?.sampleType??this.schema.bindingSampleType[0]},this);return e.gen.declareGlobalVar({group:s,binding:r,id:t,dataType:this.schema,scope:"handle",init:void 0})}},Zx=class{[B]={unwrap:void 0};resourceType="texture-view";#e;schema;constructor(e,t){this.schema=e,this.#e=t,ot(this,t.key)}toString(){return`textureView:${xe(this)??""}`}[kt](e){let t=e.makeUniqueIdentifier(xe(this),"global"),s=e.allocateLayoutEntry(this.#e.layout);return e.addDeclaration(`@group(${s}) @binding(${this.#e.idx}) var ${t}: ${e.resolve(this.schema).value};`,t),ve(t,this.schema,"handle")}get[Hr](){let e=this.schema;return new Proxy({[B]:!0,get[oa](){return ve(this,e,"handle",!1)},[kt]:t=>t.resolve(this),toString:()=>`${this.toString()}.$`},Wi)}get $(){if(Yu())return this[Hr];throw new Error(`Accessed view '${xe(this)??""}' outside of codegen mode. Direct access to texture views values is possible only as part of a compute dispatch or draw call. Try .read() or .write() instead`)}$name(e){return ot(this,e),this}},P4=class{[B];[me];resourceType="texture-view";constructor(e,t={}){this[me]={type:"texture-view",texture:e,schema:"render",descriptor:t,raw:void 0,label:void 0},this[B]={unwrap:()=>e[B].materialize().createView({label:xe(this)??"",...this.descriptor}),format:t.format??e.props.format,aspect:t.aspect}}get descriptor(){return this[me].descriptor??{}}};function E4(e){return!!e?.usableAsSampled}var k4=class j5 extends Error{constructor(t){super(`Resource '${xe(t)??""}' cannot be bound as 'sampled'. Use .$usage('sampled') to allow it.`),Object.setPrototypeOf(this,j5.prototype)}},Qx=class $p{[B];usage;dataType;#e;static#t=void($p.prototype.resourceType="laid-out-buffer",mn(In($p.prototype,{asString(){return`${this.usage}:${xe(this)??""}`},resolve(t){let s=t.makeUniqueIdentifier(xe(this),"global"),r=t.allocateLayoutEntry(this.#e.layout);return t.gen.declareGlobalVar({group:r,binding:this.#e.idx,scope:this.usage,id:s,dataType:this.dataType,init:void 0})}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.dataType,this.usage,!1)}},normalMode:{get(){throw new Error("Direct access to buffer values is possible only as part of a compute dispatch or draw call. Try .read() or .write() instead")}}}));constructor(t,s,r){this[B]={dataType:s},this.usage=t,this.dataType=s,this.#e=r,ot(this,r.key)}};function K5(e){return new U4({...e})}function Zu(e){return!!e&&e.resourceType==="bind-group-layout"}function ca(e){return!!e&&e.resourceType==="bind-group"}var $4=class Z5 extends Error{constructor(t,s){super(`Bind group '${t??""}' is missing a required binding '${s}'`),Object.setPrototypeOf(this,Z5.prototype)}},Jx=["compute","fragment"],Yd=["compute","vertex","fragment"],U4=class{[B];[me];resourceType="bind-group-layout";$={};entries;get[Hr](){return this.$}constructor(e){this.entries=e,this[B]=[];let t={};this[me]={type:"bind-group-layout",entries:t,index:void 0,label:void 0};let s=0;for(let[r,o]of Object.entries(e)){if(o===null){t[r]=null,s++;continue}let n={layout:this,key:r,idx:s},i;if(t[r]=o,"uniform"in o&&(i=new Qx("uniform",o.uniform,n)),"storage"in o){let d="type"in o.storage?o.storage:o.storage(0);i=new Qx(o.access??"readonly",d,n),t[r]={...o,storage:d}}"texture"in o&&(i=new Zx(o.texture,n)),"storageTexture"in o&&(i=new Zx(o.storageTexture,n)),"externalTexture"in o&&(i=new s4(o.externalTexture,n)),"sampler"in o&&(i=new t4(o.sampler==="comparison"?o5():fv(),n)),ds(i!==void 0,"Internal error, expected item to be defined"),Object.defineProperty(this.$,r,{get:()=>i.$}),this[B].push(i),s++}}toString(){return`bindGroupLayout:${xe(this)??""}`}get index(){return this[me].index}$name(e){return ot(this,e),this}$idx(e){return this[me].index=e,this}unwrap(e){return e.device.createBindGroupLayout({label:xe(this)??"",entries:Object.values(this.entries).map((t,s)=>{if(t===null)return null;let r=t.visibility,o={binding:s,visibility:0};if("uniform"in t)r=r??Yd,o.buffer={type:"uniform"};else if("storage"in t)r=r??(t.access==="mutable"?Jx:Yd),o.buffer={type:t.access==="mutable"?"storage":"read-only-storage"};else if("sampler"in t)r=r??Yd,o.sampler={type:t.sampler};else if("texture"in t){r=r??Yd;let{multisampled:n,dimension:i,bindingSampleType:d}=t.texture;o.texture={sampleType:t.sampleType??d[0],viewDimension:i,multisampled:n}}else if("storageTexture"in t){r=r??Jx;let{dimension:n,access:i,format:d}=t.storageTexture;o.storageTexture={access:i,format:d,viewDimension:n}}else"externalTexture"in t&&(r=r??Yd,o.externalTexture={});return r?.includes("compute")&&(o.visibility|=GPUShaderStage.COMPUTE),r?.includes("vertex")&&(o.visibility|=GPUShaderStage.VERTEX),r?.includes("fragment")&&(o.visibility|=GPUShaderStage.FRAGMENT),o}).filter(t=>t!==null)})}},Q5=class{[B];[me];resourceType="bind-group";#e;constructor(e,t,s,r){if(this.#e=s,this[me]={type:"bind-group",device:e?.device,layout:t,raw:r,label:void 0},this[B]={materialize:()=>{let o=this[me];return o.raw||(ds(e,"Cannot unwrap a bind group created outside of a root."),o.raw=e.unwrap(this)),o.raw}},!r){for(let o of Object.keys(t.entries))if(t.entries[o]!==null&&!(o in s))throw new $4(xe(t),o)}}get layout(){return this[me].layout}get entries(){return this.#e}unwrap(e){let t=this[me].raw;return t||e.device.createBindGroup({label:xe(this.layout)??"",layout:e.unwrap(this.layout),entries:Object.entries(this.layout.entries).map(([s,r],o)=>{if(r===null)return null;let n=this.entries[s];if(n===void 0)throw new Error(`'${s}' is a resource required to populate bind group layout '${xe(this.layout)??""}'.`);if("uniform"in r){let i;if(hc(n)){if(!b2(n))throw new ZA(n);i={buffer:e.unwrap(n)}}else V$(n)?i={buffer:e.unwrap(n)}:i={buffer:n};return{binding:o,resource:i}}if("storage"in r){let i;if(hc(n)){if(!Sl(n))throw new Nx(n);i={buffer:e.unwrap(n)}}else N$(n)||q$(n)?(ds(r.access==="mutable"==(n.resourceType==="mutable"),"Invalid buffer access mode."),i={buffer:e.unwrap(n)}):i={buffer:n};return{binding:o,resource:i}}if("texture"in r){let i;if(Tc(n)){if(!E4(n))throw new k4(n);i=e.unwrap(n.createView(r.texture))}else Oi(n)?i=e.unwrap(n):i=n;return{binding:o,resource:i}}if("storageTexture"in r){let i;if(Tc(n)){if(!Sl(n))throw new Nx(n);i=e.unwrap(n.createView(r.storageTexture))}else Oi(n)?i=e.unwrap(n):i=n;return{binding:o,resource:i}}if("sampler"in r)return $v(n)||kv(n)?{binding:o,resource:e.unwrap(n)}:{binding:o,resource:n};if("externalTexture"in r)return{binding:o,resource:n};throw new Error(`Malformed bind group entry: ${io(n)}`)}).filter(s=>s!==null)})}};function Nc(e){return new C4(e)}var C4=class{[B]=!0;[me];resourceType="slot";constructor(e=void 0){this[me]={type:"slot",defaultValue:e,label:void 0}}get defaultValue(){return this[me].defaultValue}$name(e){return ot(this,e),this}areEqual(e,t){return Object.is(e,t)}toString(){return`slot:${xe(this)??""}`}get[Hr](){let e=Na();if(!e)throw new Error("Cannot access tgpu.slot's value outside of resolution.");return kl(e.unwrap(this))}get $(){return this[Hr]}},pd=Nc(null);function Qu(e,t){return new e6("private",e,t)}function J5(e){return new e6("workgroup",e)}var e6=class t6{[me];static#e=(()=>{let t=t6.prototype;t.resourceType="var",t[B]={},mn(In(t,{asString(){return`var:${xe(this)??""}`},resolve(s){let r=s.makeUniqueIdentifier(xe(this),"global"),o=this[me].initialValue?ve(this[me].initialValue,this[me].dataType,"constant"):void 0;return s.gen.declareGlobalVar({scope:this[me].scope,id:r,dataType:this[me].dataType,init:o})}}),{codegenMode:{getBaseSnippet(s){return ve(s,this[me].dataType,this[me].scope,!1)}},simulateMode:{get(s){return s.vars[this[me].scope].has(this)||s.vars[this[me].scope].set(this,this[me].initialValue),s.vars[this[me].scope].get(this)},set(s,r){s.vars[this[me].scope].set(this,r)}},normalMode:{get(){throw new Z0(Al()?`Cannot access variable '${xe(this)??""}'. TypeGPU functions that depends on GPU resources need to be part of a compute dispatch, draw call or simulation`:"TypeGPU variables are inaccessible during normal JS execution. If you wanted to simulate GPU behavior, try `tgpu.simulate()`")},set(s){throw new Z0(Al()?`Cannot access variable ${xe(this)??""}. TypeGPU functions that depends on GPU resources need to be part of a compute dispatch, draw call or simulation`:"TypeGPU variables are inaccessible during normal JS execution. If you wanted to simulate GPU behavior, try `tgpu.simulate()`")}}})})();constructor(t,s,r){this[me]={type:"var",scope:t,dataType:s,initialValue:r,label:void 0}}$name(t){return ot(this,t),this}},s6=Qu(R,0).$name("dataBlockIndex"),r6=Qu(R,0).$name("dataByteIndex"),o6=Nc().$name("dataBuffer"),R4=qt([],R)`() { + let i = dataByteIndex; + dataByteIndex = dataByteIndex + 1u; + return i; +}`.$uses({dataByteIndex:r6}).$name("nextByteIndex"),ze="dataBuffer[dataBlockIndex].serializedData[nextByteIndex()]",n6={f32:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([a])`(n) { + ${ze} = bitcast(n); +}`,"f32"),f16:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([xs])`(n) { + ${ze} = pack2x16float(vec2f(f32(n), 0.0)); +}`,"f16"),i32:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Z])`(n) { + ${ze} = bitcast(n); +}`,"i32"),u32:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([R])`(n) { + ${ze} = n; +}`,"u32"),bool:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([ft])`(b) { + ${ze} = u32(b); +}`,"bool"),vec2f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([lt])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); +}`,"vec2f"),vec3f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([It])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); + ${ze} = bitcast(v.z); +}`,"vec3f"),vec4f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Oe])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); + ${ze} = bitcast(v.z); + ${ze} = bitcast(v.w); +}`,"vec4f"),vec2h:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Vs])`(v) { + ${ze} = pack2x16float(vec2f(f32(v.x), f32(v.y))); +}`,"vec2h"),vec3h:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Pr])`(v) { + ${ze} = pack2x16float(vec2f(f32(v.x), f32(v.y))); + ${ze} = pack2x16float(vec2f(f32(v.z), 0.0)); +}`,"vec3h"),vec4h:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Ns])`(v) { + ${ze} = pack2x16float(vec2f(f32(v.x), f32(v.y))); + ${ze} = pack2x16float(vec2f(f32(v.z), f32(v.w))); +}`,"vec4h"),vec2i:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Xt])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); +}`,"vec2i"),vec3i:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([cs])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); + ${ze} = bitcast(v.z); +}`,"vec3i"),vec4i:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Wt])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); + ${ze} = bitcast(v.z); + ${ze} = bitcast(v.w); +}`,"vec4i"),vec2u:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Ct])`(v) { + ${ze} = v.x; + ${ze} = v.y; +}`,"vec2u"),vec3u:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([gt])`(v) { + ${ze} = v.x; + ${ze} = v.y; + ${ze} = v.z; +}`,"vec3u"),vec4u:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Et])`(v) { + ${ze} = v.x; + ${ze} = v.y; + ${ze} = v.z; + ${ze} = v.w; +}`,"vec4u"),"vec2":qt([Or])`(v) { + ${ze} = u32(v.x); + ${ze} = u32(v.y); +}`,"vec3":qt([Vr])`(v) { + ${ze} = u32(v.x); + ${ze} = u32(v.y); + ${ze} = u32(v.z); +}`,"vec4":qt([Nr])`(v) { + ${ze} = u32(v.x); + ${ze} = u32(v.y); + ${ze} = u32(v.z); + ${ze} = u32(v.w); +}`,mat2x2f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Gn])`(m) { + ${ze} = bitcast(m[0][0]); + ${ze} = bitcast(m[0][1]); + ${ze} = bitcast(m[1][0]); + ${ze} = bitcast(m[1][1]); +}`,"mat2x2f"),mat3x3f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Yn])`(m) { + ${ze} = bitcast(m[0][0]); + ${ze} = bitcast(m[0][1]); + ${ze} = bitcast(m[0][2]); + ${ze} = 0u; + ${ze} = bitcast(m[1][0]); + ${ze} = bitcast(m[1][1]); + ${ze} = bitcast(m[1][2]); + ${ze} = 0u; + ${ze} = bitcast(m[2][0]); + ${ze} = bitcast(m[2][1]); + ${ze} = bitcast(m[2][2]); + ${ze} = 0u; +}`,"mat3x3f"),mat4x4f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Hs])`(m) { + ${ze} = bitcast(m[0][0]); + ${ze} = bitcast(m[0][1]); + ${ze} = bitcast(m[0][2]); + ${ze} = bitcast(m[0][3]); + ${ze} = bitcast(m[1][0]); + ${ze} = bitcast(m[1][1]); + ${ze} = bitcast(m[1][2]); + ${ze} = bitcast(m[1][3]); + ${ze} = bitcast(m[2][0]); + ${ze} = bitcast(m[2][1]); + ${ze} = bitcast(m[2][2]); + ${ze} = bitcast(m[2][3]); + ${ze} = bitcast(m[3][0]); + ${ze} = bitcast(m[3][1]); + ${ze} = bitcast(m[3][2]); + ${ze} = bitcast(m[3][3]); +}`,"mat4x4f")};for(let[e,t]of Object.entries(n6))t.$name(`serialize${e[0].toLocaleUpperCase()}${e.slice(1)}`).$uses({dataBlockIndex:s6,nextByteIndex:R4,dataBuffer:o6});function a6(e){return`(${e.map((t,s)=>`_arg_${s}`).join(", ")})`}function i6(e,t){let s=n6[e.type];if(s)return s.with(o6,t);if(Qt(e)){let r=Object.keys(e.propTypes),o=d6(Object.values(e.propTypes),t);return qt([e])`(arg) {\n propsSerializer(${r.map(n=>`arg.${n}`).join(", ")});\n}`.$uses({propsSerializer:o}).$name(`${xe(e)??"struct"}Serializer`)}if(Us(e)){let r=e.elementType,o=e.elementCount,n=i6(r,t);return qt([e])`(arg) {\n${Array.from({length:o},(i,d)=>` elementSerializer(arg[${d}]);`).join(` +`)}\n}`.$uses({elementSerializer:n}).$name("arraySerializer")}throw new Error(`Cannot serialize data of type ${e.type}`)}function d6(e,t){let s={};return(globalThis.__TYPEGPU_AUTONAME__??(r=>r))(qt(e),"shell")`${a6(e)} {\n${e.map((r,o)=>(s[`serializer${o}`]=i6(r,t),` serializer${o}(_arg_${o});`)).join(` +`)}\n}`.$uses(s).$name("compoundSerializer")}function z4(e,t,s,r,o){let n=t.map(_t).reduce((c,_)=>c+_,0);if(n>o.logSizeLimit)throw new Error(`Logged data needs to fit in ${o.logSizeLimit} bytes (one of the logs requires ${n} bytes). Consider increasing the limit by passing appropriate options to tgpu.init().`);let i=d6(t,s).$name(`log${e}serializer`),d=a6(t);return qt(t)`${d} { + dataBlockIndex = atomicAdd(&indexBuffer, 1); + if (dataBlockIndex >= ${o.logCountLimit}) { + return; + } + dataBuffer[dataBlockIndex].id = ${e}; + dataByteIndex = 0; + + compoundSerializer${d}; +}`.$uses({indexBuffer:r,dataBuffer:s,dataBlockIndex:s6,dataByteIndex:r6,compoundSerializer:i}).$name(`log${e}`)}var G4={logCountLimit:64,logSizeLimit:252,messagePrefix:" GPU "},c6=ve("/* console.log() */",_s,"runtime"),Y4=class{get logResources(){}generateLog(){return Vt.warn("fallback","'console.log' is only supported when resolving pipelines."),c6}},L4=class{#e;#t;#s=1;#r;#o;constructor(e){this.#e={...G4,...e[B].logOptions},this.#t=new Map;let t=ut({id:R,serializedData:pt(R,Math.ceil(this.#e.logSizeLimit/4))}).$name("SerializedLogData");this.#o=e.createMutable(pt(t,this.#e.logCountLimit)).$name("dataBuffer"),this.#r=e.createMutable($P(R)).$name("indexBuffer")}generateLog(e,t,s){if(pd.$==="vertex")return Vt.warn("suspicious","'console' operations are not supported in vertex shaders."),c6;let r=this.#s++,o=s.map(c=>{if(c.dataType===Ut)return c;let _=Qn(e,[c],[Ca(c.dataType)])?.[0];return ds(_,`Internal error. Expected type ${c.dataType} to be convertible to ${Ca(c.dataType)}`),_}).map(MM),n=o.filter(c=>c.dataType!==Ut),i=z4(r,n.map(c=>c.dataType),this.#o,this.#r,this.#e),d=ve(ce`${e.resolve(i).value}(${n})`,_s,"runtime");return this.#t.set(r,{op:t,argTypes:o.map(c=>c?.dataType===Ut?c?.value:c?.dataType)}),d}get logResources(){return this.#s===1?void 0:{dataBuffer:this.#o,indexBuffer:this.#r,options:this.#e,logIdToMeta:this.#t}}};function I4(e){return e?.resourceType==="shellless-impl"}function D4(e,t){let s=ri(t,"normal");return{[B]:!0,[Xs]:s,resourceType:"shellless-impl",argTypes:e,[kt](r){return s.resolve(r,e,void 0)},toString(){return`fn*:${xe(s)??""}(${e.map(r=>r.toString()).join(", ")})`}}}var F4=new RegExp(`[${[...S5].join("")}]+`,"ug"),eg=/[.\p{XID_Continue}]/u;function tg(e){let t=W4(e).split(F4).filter(r=>r!==""),s="";for(let r=0;r0;)e.startsWith("/*",r)?(o+=1,r+=2):e.startsWith("*/",r)?(o-=1,r+=2):r+=1;if(o>0)throw new SyntaxError("Block comment opening without corresponding closing found during minification.");s=r;continue}if(e.startsWith("*/",r))throw new SyntaxError("Block comment closing without corresponding opening found during minification.");r+=1}return t+e.slice(s)}var Up="#CATCHALL#",O4=class{_stack=[];_itemDepth=0;get itemDepth(){return this._itemDepth}get topItem(){let e=this._stack[this._stack.length-1];if(!e||e.type!=="item")throw new Error("Internal error, expected item layer to be on top.");return e}get topFunctionScope(){return this._stack.findLast(e=>e.type==="functionScope")}get topBlockScope(){return this._stack.findLast(e=>e.type==="blockScope")}get blockDepth(){let e=0;for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="functionScope")break;s?.type==="blockScope"&&e++}return e}pushItem(){this._itemDepth++,this._stack.push({type:"item",usedSlots:new Set})}pushSlotBindings(e){this._stack.push({type:"slotBinding",bindingMap:new WeakMap(e)})}pushFunctionScope(e,t,s,r){let o={type:"functionScope",functionType:e,argAccess:t,returnType:s,externalMap:r,reportedReturnTypes:new Set,placeholderForVariable:new Map,modifiedVariables:new Set};return this._stack.push(o),o}pushBlockScope(){this._stack.push({type:"blockScope",takenLocalIdentifiers:new Set,declarations:new Map,externals:new Map})}pop(e){let t=this._stack[this._stack.length-1];if(!t||e&&t.type!==e)throw new Error(`Internal error, expected a ${e} layer to be on top.`);let s=this._stack.pop();return e==="item"&&this._itemDepth--,s}readSlot(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="item")s.usedSlots.add(e);else if(s?.type==="slotBinding"){let r=s.bindingMap.get(e);if(r!==void 0)return r}else if(!(s?.type==="functionScope"||s?.type==="blockScope"))throw new Error("Unknown layer type.")}return e.defaultValue}getSnippetById(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="functionScope"){let r=s.argAccess[e];if(r)return r();if(Object.hasOwn(s.externalMap,e)){let o=s.externalMap[e];return Di(o)&&xe(o)===void 0&&ot(o,e.replaceAll(".","_")),Wr(o)}return}if(s?.type==="blockScope"){let r=s.declarations.get(e)??s.externals.get(e);if(r!==void 0)return r}}}isIdentifierTakenLocally(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="functionScope")return!1;if(s?.type==="blockScope"&&s.takenLocalIdentifiers.has(e))return!0}return!1}isIdentifierTakenInCallStack(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="blockScope"&&s.takenLocalIdentifiers.has(e))return!0}return!1}defineBlockVariable(e,t){if(t.dataType===Ut)throw Error(`Tried to define variable '${e}' of unknown type`);for(let s=this._stack.length-1;s>=0;--s){let r=this._stack[s];if(r?.type==="blockScope"){r.declarations.set(e,t);return}}throw new Error("No block scope found to define a variable in.")}setBlockExternals(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="blockScope"){Object.entries(e).forEach(([r,o])=>{s.externals.set(r,o)});return}}throw new Error("No block scope found to set externals in.")}clearBlockExternals(){for(let e=this._stack.length-1;e>=0;--e){let t=this._stack[e];if(t?.type==="blockScope"){t.externals.clear();return}}throw new Error("No block scope found to clear externals in.")}},_c=[""," "," "," "," "," "," "," "," "],fm=_c.length-1,V4=class{identLevel=0;get pre(){return _c[this.identLevel]??_c[fm].repeat(this.identLevel/fm)+_c[this.identLevel%fm]}indent(){let e=this.pre;return this.identLevel++,e}dedent(){return this.identLevel--,this.pre}withResetLevel(e){let t=this.identLevel;this.identLevel=0;try{return e()}finally{this.identLevel=t}}};function wi(e,t,s="argument"){let r=!1;return{name:e,access:()=>(r=!0,ve(e,t,s,!1)),decoratedType:t,get used(){return r}}}function sg(e,t){return()=>{let s=e();if(s)return Bi(s,t)}}var _6=class{#e;_indentController=new V4;_itemStateStack=new O4;#t=[];_declarations=[];_varyingLocations;#s=new WeakSet;#r;gen;get varyingLocations(){return this._varyingLocations}[B]={itemStateStack:this._itemStateStack};bindGroupLayoutsToPlaceholderMap=new Map;_nextFreeLayoutPlaceholderIdx=0;fixedBindings=[];enableExtensions;expectedType;#o=0;constructor(e){this.enableExtensions=e.enableExtensions,this.#r=e.root?new L4(e.root):new Y4,this.#e=e.namespace[B],this.gen=e.shaderGenerator??new R$,this.gen.initGenerator(this)}isIdentifierBanned(e){return mv.has(e)}isIdentifierTaken(e,t){return this.#e.takenGlobalIdentifiers.has(e)||(t==="block"?this._itemStateStack.isIdentifierTakenLocally(e):this._itemStateStack.isIdentifierTakenInCallStack(e))}makeUniqueIdentifier(e="item",t){if(t==="block"&&Fu(e).success&&!this.isIdentifierTaken(e,t))return this.reserveIdentifier(e,"block"),e;let s=oP(e),r=0,o=this.#e.strategy==="random",n=o?`${s}_${this.#o++}`:s;for(;this.isIdentifierTaken(n,t);)n=o?`${s}_${this.#o++}`:`${s}_${++r}`;return this.reserveIdentifier(n,t),n}reserveIdentifier(e,t){if(t==="block"){let s=this._itemStateStack.topBlockScope;if(s){s.takenLocalIdentifiers.add(e);return}}this.#e.takenGlobalIdentifiers.add(e)}get pre(){return this._indentController.pre}get topFunctionScope(){return this._itemStateStack.topFunctionScope}get topFunctionReturnType(){let e=this._itemStateStack.topFunctionScope;return ds(e,"Internal error, expected function scope to be present."),e.returnType}get shelllessRepo(){return this.#e.shelllessRepo}get blockDepth(){return this._itemStateStack.blockDepth}indent(){return this._indentController.indent()}dedent(){return this._indentController.dedent()}getDedented(e){return e.replaceAll(` +${_c[1]}`,` +`)}withResetIndentLevel(e){return this._indentController.withResetLevel(e)}getById(e){let t=this._itemStateStack.getSnippetById(e);return t===void 0?null:t}defineVariable(e,t){this._itemStateStack.defineBlockVariable(e,t)}reportReturnType(e){let t=this._itemStateStack.topFunctionScope;ds(t,"Internal error, expected function scope to be present."),t.reportedReturnTypes.add(e)}pushBlockScope(){this._itemStateStack.pushBlockScope()}popBlockScope(){this._itemStateStack.pop("blockScope")}setBlockExternals(e){this._itemStateStack.setBlockExternals(e)}clearBlockExternals(){this._itemStateStack.clearBlockExternals()}generateLog(e,t){return this.#r.generateLog(this,e,t)}get logResources(){return this.#r.logResources}resolveFunction(e){try{let t=this._itemStateStack.pushFunctionScope(e.functionType,{},e.returnType,e.externalMap);this._itemStateStack.pushBlockScope();let s=[];if(e.entryInput){let{dataSchema:n,positionalArgs:i}=e.entryInput,d=e.params[0],c=n?wi(this.makeUniqueIdentifier("_arg_0","block"),n):void 0;if(c&&s.push(c),d?.type===tc.destructuredObject)for(let{name:_,alias:u}of d.props){let m=i.find(p=>p.schemaKey===_);if(m){let p=wi(this.makeUniqueIdentifier(u,"block"),m.type);s.push(p),t.argAccess[u]=p.access}else c&&(t.argAccess[u]=sg(c.access,_))}else if(d?.type===tc.identifier){let _=[];for(let m of i){let p=wi(this.makeUniqueIdentifier(m.schemaKey,"block"),m.type);s.push(p),_.push({schemaKey:m.schemaKey,arg:p.access})}let u=new b5(c?.access,_);t.argAccess[d.name]=()=>ve("N/A",u,"argument")}else for(let _ of i){let u=this.makeUniqueIdentifier(`_arg_${_.schemaKey}`,"block"),m=wi(u,_.type);s.push(m),t.argAccess[u]=m.access}}else for(let[n,i]of e.argTypes.entries()){let d=e.params[n],c=pr(i)?i.addressSpace==="storage"?i.access==="read"?"readonly":"mutable":i.addressSpace:"argument";switch(d?.type){case tc.identifier:{let _=wi(this.makeUniqueIdentifier(d.name,"block"),i,c);s.push(_),t.argAccess[d.name]=_.access;break}case tc.destructuredObject:{let _=wi(this.makeUniqueIdentifier(`_arg_${n}`,"block"),i,c);s.push(_);for(let{name:u,alias:m}of d.props)t.argAccess[m]=sg(_.access,u);break}case void 0:i instanceof Wo||s.push({name:this.makeUniqueIdentifier(`_arg_${n}`,"block"),access:()=>{throw new Error("Unreachable: Accessing an argument that wasn't named in the function signature")},decoratedType:i,used:!1})}}let r,o=this.gen.functionDefinition({functionType:e.functionType,name:e.name,workgroupSize:e.workgroupSize,args:s,body:e.body,determineReturnType:()=>{if(r)return r;if(r=e.returnType,r instanceof Wo&&(Qt(t.reportedReturnTypes.values().next().value)?r=r.completeStruct:r=void 0),!r){let n=[...t.reportedReturnTypes];if(n.length===0)r=_s;else{let i=Vf(n);i&&!i.hasImplicitConversions&&(r=i.targetType)}if(!r)throw new Error(`Expected function to have a single return type, got [${n.join(", ")}]. Cast explicitly to the desired type.`);r=no(r),(e.functionType==="vertex"||e.functionType==="fragment")&&(r=Bc(r))}return r}});if(!r)throw new Error("Failed to determine return type");return{code:o,returnType:r}}finally{this._itemStateStack.pop("blockScope"),this._itemStateStack.pop("functionScope")}}addDeclaration(e,t){this._declarations.push({name:t,code:e})}get declarations(){return this._declarations}allocateLayoutEntry(e){let t=this.bindGroupLayoutsToPlaceholderMap,s=t.get(e);return s||(s=`#BIND_GROUP_LAYOUT_${this._nextFreeLayoutPlaceholderIdx++}#`,t.set(e,s)),s}allocateFixedEntry(e,t){let s=this.fixedBindings.length;return this.fixedBindings.push({layoutEntry:e,resource:t}),{group:Up,binding:s}}readSlot(e){let t=this._itemStateStack.readSlot(e);if(t===void 0)throw new KA(e);return t}withSlots(e,t){if(e.length===0)return t();this._itemStateStack.pushSlotBindings(e);try{return t()}finally{this._itemStateStack.pop("slotBinding")}}withVaryingLocations(e,t){this._varyingLocations=e;try{return t()}finally{this._varyingLocations=void 0}}withRenamed(e,t,s){if(!t)return s();let r=xe(e);try{return ot(e,t),s()}finally{r&&ot(e,r)}}unwrap(e){if(al(e))return this.withRenamed(e[Mr].inner,xe(e),()=>this.withSlots(e[Mr].pairs,()=>this.unwrap(e[Mr].inner)));let t=e;for(;;)if(cp(t))t=this.readSlot(t);else if(_p(t))t=this._getOrCompute(t);else break;return t}_getOrCompute(e){let t=this.#e.memoizedLazy.get(e)??[];this._itemStateStack.pushItem();try{for(let o of t)if([...o.slotToValueMap.entries()].every(([n,i])=>n.areEqual(this._itemStateStack.readSlot(n),i)))return o.result;this.pushMode(new _d);let s;try{s=e[B].compute()}finally{this.popMode("normal")}let r=new Map;for(let o of this._itemStateStack.topItem.usedSlots)r.set(o,this._itemStateStack.readSlot(o));return t.push({slotToValueMap:r,result:s}),this.#e.memoizedLazy.set(e,t),s}catch(s){throw s instanceof Pi?s.appendToTrace(e):new Pi(s,[e])}finally{this._itemStateStack.pop("item")}}_getOrInstantiate(e){let t=this.#e.memoizedResolves.get(e)??[];this._itemStateStack.pushItem();try{for(let o of t)if([...o.slotToValueMap.entries()].every(([n,i])=>n.areEqual(this._itemStateStack.readSlot(n),i)))return o.result;let s;if(Rc(e))s=ve(this.gen.emitTypeAnnotation(e),_s,"runtime");else if(_p(e)||cp(e))s=this.resolve(this.unwrap(e));else if(g2(e))s=e[kt](this);else if(Fi(e)){let o=this.#e.shelllessRepo.get(e,void 0);if(!o)throw new Error(`Couldn't resolve ${e.name}. Make sure it's a function that accepts no arguments, or call it from another TypeGPU function.`);return this.withResetIndentLevel(()=>this.resolve(o))}else throw new TypeError(`Unresolvable internal value: ${io(e)}`);let r=new Map;for(let o of this._itemStateStack.topItem.usedSlots)r.set(o,this._itemStateStack.readSlot(o));return t.push({slotToValueMap:r,result:s}),this.#e.memoizedResolves.set(e,t),s}catch(s){throw s instanceof Pi?s.appendToTrace(e):new Pi(s,[e])}finally{this._itemStateStack.pop("item")}}resolve(e,t){if(typeof e=="string"){if(!t||t===Ut)throw new Error(`Strings cannot be injected into WGSL directly (tried to inject '${e}'). Look for TypeGPU APIs that cover your use-case, or resort to using tgpu['~unstable'].rawCodeSnippet for raw code injection.`);return ve(e,t,"runtime")}if((vp(e)||I4(e))&&!al(e)){if(this.#s.has(e)&&!this.#e.memoizedResolves.has(e))throw new Error(`Recursive function ${e} detected. Recursion is not allowed on the GPU.`);this.#s.add(e)}if(al(e))return this.withRenamed(e[Mr].inner,xe(e),()=>this.withSlots(e[Mr].pairs,()=>this.resolve(e[Mr].inner,t)));if(mt(e)||Fi(e)){if(this._itemStateStack.itemDepth===0)try{this.pushMode(new iM);let s=w2(this,()=>this._getOrInstantiate(e));return ve(`${this._declarations.map(r=>r.code).join(` + +`)}${s.value}`,_s,"runtime")}finally{this.popMode("codegen")}return this._getOrInstantiate(e)}if(typeof e=="number"){let s=t??on(e).dataType;return ds(s!==Ut,"Schema has to be known for resolving numbers"),this.gen.numericLiteral(e,s)}if(typeof e=="boolean")return ve(e?"true":"false",ft,"constant",!1);if(t&&Us(t)){if(!Array.isArray(e))throw new Qe(`Cannot coerce ${e} into value of type '${t}'`);if(t.elementCount!==e.length)throw new Qe(`Cannot create value of type '${t}' from an array of length: ${e.length}`);return this.gen.typeInstantiation(t,e.map(s=>ve(s,t.elementType,"runtime")))}if(t&&Qt(t))return this.gen.typeInstantiation(t,Object.entries(t.propTypes).map(([s,r])=>ve(e[s],r,"runtime")));throw new Qe(`Value ${io(e)} is not resolvable${t&&t!==Ut?` to type ${io(t)}`:""}`)}resolveSnippet(e){return x2(this.resolve(e.value,e.dataType).value,e)}pushMode(e){this.#t.push(e)}popMode(e){let t=this.#t.pop();e!==void 0&&ds(t?.type===e,"Unexpected mode")}get mode(){return this.#t[this.#t.length-1]??T2}};function Ju(e,t){let s=new _6(t),r=(t.config?s.withSlots(t.config(new W5([])).bindings,()=>s.resolve(e)):s.resolve(e)).value,o=s.bindGroupLayoutsToPlaceholderMap,n=[],i=Q$(new Set([...o.keys()].map(p=>p.index).filter(p=>p!==void 0))),d=s.fixedBindings.map((p,y)=>[String(y),p.layoutEntry]),c=[],_=()=>{let p=i.next().value,y=(globalThis.__TYPEGPU_AUTONAME__??(h=>h))(K5(Object.fromEntries(d)),"catchallLayout");return n[p]=y,r=r.replaceAll(Up,String(p)),c.push([Up,String(p)]),[p,new Q5(t.root,y,Object.fromEntries(s.fixedBindings.map((h,g)=>[String(g),h.resource])))]},u=d.length>0?_():void 0;for(let[p,y]of o.entries()){let h=p.index??i.next().value;n[h]=p,r=r.replaceAll(y,String(h)),c.push([y,String(h)])}t.enableExtensions&&t.enableExtensions.length>0&&(r=`${t.enableExtensions.map(p=>`enable ${p};`).join(` +`)} + +${r}`);let m=s.declarations.map(({name:p,code:y})=>({name:p,code:c.reduce((h,[g,w])=>h.replaceAll(g,w),y)}));return t.minify&&(r=tg(r),m=m.map(p=>({...p,code:tg(p.code)}))),{code:r,declarations:m,usedBindGroupLayouts:n,catchall:u,logResources:s.logResources}}function l6(e,t,s){return e.flatMap((r,o)=>{let n=t&&o===t[0]?t[1]:s?.get(r);return n?[[r,n]]:[]})}function N4(e,t){return e.flatMap(s=>{let r=t?.get(s);return r?[[s,r]]:[]})}var q4={dispatchWorkgroupsIndirect:"3 x u32",drawIndirect:"4 x u32",drawIndexedIndirect:"3 x u32, i32, u32"};function rg(e,t,s,r){if(t+s>e)throw new Error(`Buffer too small for ${r}. Required: ${s} bytes at offset ${t}, but buffer is only ${e} bytes.`);if(t%4!==0)throw new Error(`Indirect buffer offset must be a multiple of 4. Got: ${t}`)}function Vi(e,t,s,r){if(Mn(e)){let i=typeof t=="number"?t:t?.offset??0;return rg(e.size,i,s,r),i}let{offset:o,contiguous:n}=t?typeof t=="number"?{offset:t,contiguous:s}:t:cl(e.dataType);return rg(_t(e.dataType),o,s,r),ntypeof e=="number"?Zo(e):qr.bitcastU32toF32[e.kind](e)),codegenImpl:(e,[t],s)=>e.gen.emitCall("bitcast",[Wr(s)],[t]),signature:(...e)=>{let t=Iu(e,Rl);if(!t)throw new Ts(e,Rl);return{argTypes:t,returnType:Rt(t[0])?t[0].type==="vec2u"?lt:t[0].type==="vec3u"?It:Oe:a}},sideEffects:!1});pe({name:"bitcastU32toI32",normalImpl:(e=>typeof e=="number"?Qo(e):qr.bitcastU32toI32[e.kind](e)),codegenImpl:(e,[t],s)=>e.gen.emitCall("bitcast",[Wr(s)],[t]),signature:(...e)=>{let t=Iu(e,Rl);if(!t)throw new Ts(e,Rl);return{argTypes:t,returnType:Rt(t[0])?t[0].type==="vec2u"?Xt:t[0].type==="vec3u"?cs:Wt:Z}},sideEffects:!1});var og=[a,lt,It,Oe];pe({name:"bitcastF32toU32",normalImpl:(e=>typeof e=="number"?Jo(e):qr.bitcastF32toU32[e.kind](e)),codegenImpl:(e,[t],s)=>e.gen.emitCall("bitcast",[Wr(s)],[t]),signature:(...e)=>{let t=Iu(e,og);if(!t)throw new Ts(e,og);return{argTypes:t,returnType:Rt(t[0])?t[0].type==="vec2f"?Ct:t[0].type==="vec3f"?gt:Et:R}},sideEffects:!1});var B_=new ArrayBuffer(16),W_={f32:new Float32Array(B_),u32:new Uint32Array(B_),i32:new Int32Array(B_),u16:new Uint16Array(B_)};function X4(e,t){if(typeof e=="number")t[0]=e;else for(let s=0;s{let s="primitive"in e?e.primitive:e,r="primitive"in t?t.primitive:t;return o=>(s.type==="f16"?H4(o,W_.u16):X4(o,W_[s.type]),r.type==="f16"?K4(W_.u16,t):j4(W_[r.type],t))};function et(e,t){return pe({name:"bitcast",normalImpl:Z4(e,t),codegenImpl:(s,[r])=>s.gen.emitCall("bitcast",[Wr(t)],[r]),signature:s=>{let r=Iu([s],[e]);if(!r)throw new Ts([s],[e]);return{argTypes:r,returnType:t}},sideEffects:!1})}var ng={f16:{f16:et(xs,xs)},f32:{f32:et(a,a),i32:et(a,Z),u32:et(a,R),vec2h:et(a,Vs)},i32:{f32:et(Z,a),i32:et(Z,Z),u32:et(Z,R),vec2h:et(Z,Vs)},u32:{f32:et(R,a),i32:et(R,Z),u32:et(R,R),vec2h:et(R,Vs)},vec2h:{f32:et(Vs,a),i32:et(Vs,Z),u32:et(Vs,R),vec2h:et(Vs,Vs)},vec3h:{vec3h:et(Pr,Pr)},vec2f:{vec2f:et(lt,lt),vec2i:et(lt,Xt),vec2u:et(lt,Ct),vec4h:et(lt,Ns)},vec2i:{vec2f:et(Xt,lt),vec2i:et(Xt,Xt),vec2u:et(Xt,Ct),vec4h:et(Xt,Ns)},vec2u:{vec2f:et(Ct,lt),vec2i:et(Ct,Xt),vec2u:et(Ct,Ct),vec4h:et(Ct,Ns)},vec4h:{vec2f:et(Ns,lt),vec2i:et(Ns,Xt),vec2u:et(Ns,Ct),vec4h:et(Ns,Ns)},vec3f:{vec3f:et(It,It),vec3i:et(It,cs),vec3u:et(It,gt)},vec3i:{vec3f:et(cs,It),vec3i:et(cs,cs),vec3u:et(cs,gt)},vec3u:{vec3f:et(gt,It),vec3i:et(gt,cs),vec3u:et(gt,gt)},vec4f:{vec4f:et(Oe,Oe),vec4i:et(Oe,Wt),vec4u:et(Oe,Et)},vec4i:{vec4f:et(Wt,Oe),vec4i:et(Wt,Wt),vec4u:et(Wt,Et)},vec4u:{vec4f:et(Et,Oe),vec4i:et(Et,Wt),vec4u:et(Et,Et)}};function Q4(e,t){if("type"in e&&e.type in ng){let s=ng[e.type];if("type"in t&&t.type in s)return s[t.type]}throw new Error(`Incorrect bitcast from ${xe(e)} to ${xe(t)}.`)}var u6=Ao(Q4),J4=pe({name:"unpack2x16float",normalImpl:e=>{let t=new ArrayBuffer(4);new si(t).writeUint32(e);let s=new ld(t);return lt(Bs(s),Bs(s))},signature:{argTypes:[R],returnType:lt},codegenImpl:(e,[t])=>ce`unpack2x16float(${t})`,sideEffects:!1});pe({name:"pack2x16float",normalImpl:e=>{let t=new ArrayBuffer(4),s=new si(t);return Fs(s,e.x),Fs(s,e.y),R(new ld(t).readUint32())},signature:{argTypes:[lt],returnType:R},codegenImpl:(e,[t])=>ce`pack2x16float(${t})`,sideEffects:!1});pe({name:"unpack4x8unorm",normalImpl:e=>{let t=new ArrayBuffer(4);new si(t).writeUint32(e);let s=new ld(t);return Oe(s.readUint8()/255,s.readUint8()/255,s.readUint8()/255,s.readUint8()/255)},signature:{argTypes:[R],returnType:Oe},codegenImpl:(e,[t])=>ce`unpack4x8unorm(${t})`,sideEffects:!1});pe({name:"pack4x8unorm",normalImpl:e=>{let t=new ArrayBuffer(4),s=new si(t);return s.writeUint8(e.x*255),s.writeUint8(e.y*255),s.writeUint8(e.z*255),s.writeUint8(e.w*255),R(new ld(t).readUint32())},signature:{argTypes:[Oe],returnType:R},codegenImpl:(e,[t])=>ce`pack4x8unorm(${t})`,sideEffects:!1});var wt=e=>u6(R,a)(e??0),Ko=e=>u6(R,Z)(e??0),Ti=e=>J4(e??0),eU={f32:e=>wt(e[0]),f16:e=>Ti(e[0]).x,i32:e=>Ko(e[0]),u32:e=>e[0]??0,bool:e=>!!e[0],vec2f:e=>lt(wt(e[0]),wt(e[1])),vec3f:e=>It(wt(e[0]),wt(e[1]),wt(e[2])),vec4f:e=>Oe(wt(e[0]),wt(e[1]),wt(e[2]),wt(e[3])),vec2h(e){let t=Ti(e[0]);return Vs(t.x,t.y)},vec3h(e){let t=Ti(e[0]),s=Ti(e[1]);return Pr(t.x,t.y,s.x)},vec4h(e){let t=Ti(e[0]),s=Ti(e[1]);return Ns(t.x,t.y,s.x,s.y)},vec2i:e=>Xt(Ko(e[0]),Ko(e[1])),vec3i:e=>cs(Ko(e[0]),Ko(e[1]),Ko(e[2])),vec4i:e=>Wt(Ko(e[0]),Ko(e[1]),Ko(e[2]),Ko(e[3])),vec2u:e=>Ct(e[0]??0,e[1]??0),vec3u:e=>gt(e[0]??0,e[1]??0,e[2]??0),vec4u:e=>Et(e[0]??0,e[1]??0,e[2]??0,e[3]??0),"vec2":e=>Or(!!e[0],!!e[1]),"vec3":e=>Vr(!!e[0],!!e[1],!!e[2]),"vec4":e=>Nr(!!e[0],!!e[1],!!e[2],!!e[3]),mat2x2f:e=>Gn(wt(e[0]),wt(e[1]),wt(e[2]),wt(e[3])),mat3x3f:e=>Yn(wt(e[0]),wt(e[1]),wt(e[2]),wt(e[4]),wt(e[5]),wt(e[6]),wt(e[8]),wt(e[9]),wt(e[10])),mat4x4f:e=>Hs(wt(e[0]),wt(e[1]),wt(e[2]),wt(e[3]),wt(e[4]),wt(e[5]),wt(e[6]),wt(e[7]),wt(e[8]),wt(e[9]),wt(e[10]),wt(e[11]),wt(e[12]),wt(e[13]),wt(e[14]),wt(e[15]))};function tU(e,t){let s=eU[t.type];if(s)return s(e);if(Qt(t)){let r=Object.keys(t.propTypes),o=Cp(e,Object.values(t.propTypes));return Object.fromEntries(r.map((n,i)=>[n,o[i]]))}if(Us(t)){let r=t.elementType,o=t.elementCount;return Cp(e,Array.from({length:o},()=>r))}throw new Error(`Cannot deserialize data of type ${t.type}`)}function Cp(e,t){let s=0;return t.map(r=>{if(!Qa(r))return r;let o=Math.ceil(_t(r)/4),n=tU(e.subarray(s,s+o),r);return s+=o,n})}function sU(e,t){return Cp(e,t).map(ap)}function rU(e){let{indexBuffer:t,dataBuffer:s,logIdToMeta:r,options:o}=e;s.read().then(n=>{n.filter(i=>i.id).forEach(({id:i,serializedData:d})=>{let{argTypes:c,op:_}=r.get(i),u=sU(new Uint32Array(d),c);u.length===0&&u.push(""),_.bind(console)(`%c${o.messagePrefix}%c ${u[0]}`,"background: #936ff5; color: white;","color: inherit; background: none",...u.slice(1))})}),t.read().then(n=>{n>o.logCountLimit&&Vt.warn("log-limit-exceeded",`Log count limit per dispatch (${o.logCountLimit}) exceeded by ${n-o.logCountLimit} calls. Consider increasing the limit by passing appropriate options to tgpu.init().`)}),s.buffer.clear(),t.buffer.clear()}function oU(e,t,s,r){return new nU(e,t,s,r)}function Uv(e){let t=e;return t?.resourceType==="query-set"&&!!t[B]}var nU=class{resourceType="query-set";#e;#t=!1;#s=!0;#r=void 0;#o=void 0;[me];[B];constructor(e,t,s,r){this.#e=!r,this[me]={type:"query-set",device:e.device,queryType:t,count:s,raw:r,label:void 0};let o=this;this[B]={get readBuffer(){return o.#r||(o.#r=o[me].device.createBuffer({size:o.count*BigUint64Array.BYTES_PER_ELEMENT,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ})),o.#r},get resolveBuffer(){return o.#o||(o.#o=o[me].device.createBuffer({size:o.count*BigUint64Array.BYTES_PER_ELEMENT,usage:GPUBufferUsage.QUERY_RESOLVE|GPUBufferUsage.COPY_SRC})),o.#o},materialize:()=>{if(this.#t)throw new Error("This QuerySet has been destroyed.");let n=this[me];return n.raw||(n.raw=n.device.createQuerySet({type:n.queryType,count:n.count})),n.raw}}}get type(){return this[me].queryType}get count(){return this[me].count}get querySet(){return this[B].materialize()}get destroyed(){return this.#t}get available(){return this.#s}$name(e){ot(this,e);let t=this[me].raw;return t&&(t.label=e),this}resolve(){if(this.#t)throw new Error("This QuerySet has been destroyed.");if(!this.#s)throw new Error("This QuerySet is busy resolving or reading.");let e=this[me].device.createCommandEncoder();e.resolveQuerySet(this.querySet,0,this.count,this[B].resolveBuffer,0),this[me].device.queue.submit([e.finish()])}async read(){if(!this.#o)throw new Error("QuerySet must be resolved before reading.");this.#s=!1;try{let e=this[me].device.createCommandEncoder();e.copyBufferToBuffer(this[B].resolveBuffer,0,this[B].readBuffer,0,this.count*BigUint64Array.BYTES_PER_ELEMENT),this[me].device.queue.submit([e.finish()]);let t=this[B].readBuffer;await t.mapAsync(GPUMapMode.READ);let s=new BigUint64Array(t.getMappedRange().slice());return t.unmap(),Array.from(s)}finally{this.#s=!0}}destroy(){this.#t||(this.#t=!0,this[me].raw&&this.#e&&this[me].raw.destroy(),this.#r?.destroy(),this.#o?.destroy(),this.#r=this.#o=void 0)}};function m6(e,t,s){return e.timestampWrites?{...e,performanceCallback:t}:{...e,performanceCallback:t,timestampWrites:{querySet:s,beginningOfPassWriteIndex:0,endOfPassWriteIndex:1}}}function p6(e,t,s){if(!s.enabledFeatures.has("timestamp-query"))throw new Error('Timestamp writes require the "timestamp-query" feature to be enabled on GPU device.');let r={querySet:t.querySet};return t.beginningOfPassWriteIndex!==void 0&&(r.beginningOfPassWriteIndex=t.beginningOfPassWriteIndex),t.endOfPassWriteIndex!==void 0&&(r.endOfPassWriteIndex=t.endOfPassWriteIndex),{...e,timestampWrites:r}}var ag=new WeakMap;async function aU(e,t){if(!e.available)return;let s=await e.read();for(let{priors:r,callback:o}of t){let n=s[r.timestampWrites?.beginningOfPassWriteIndex??0],i=s[r.timestampWrites?.endOfPassWriteIndex??1];if(n===void 0||i===void 0)throw new Error("QuerySet did not return valid timestamps.");await o(n,i)}}function iU(e,t){let s=t.timestampWrites?.querySet,r=t.performanceCallback;if(!s)throw new Error("Cannot dispatch workgroups with performance callback without a query set.");if(!Uv(s))throw new Error("Performance callback with raw GPUQuerySet is not supported. Use TgpuQuerySet instead.");let o=e[B];if(o.adopted)return!1;let{root:n}=o;o.beforeFinish.set(s,c=>{c.resolveQuerySet(n.unwrap(s),0,s.count,s[B].resolveBuffer,0)});let i=ag.get(e);i||(i=new Map,ag.set(e,i));let d=i.get(s);if(!d){let c=[];d=c,i.set(s,c),o.afterSubmit.set(s,()=>{i.delete(s),aU(s,c)})}return d.some(c=>c.priors===t)?Vt.warnOnce("suspicious",s,"repeated-timed-execution","Repeated executions of a timed pipeline within one command encoder write to the same query set indices, so the performance callback reports only the last execution."):d.push({priors:t,callback:r}),!0}var dU=class{bindGroups=new Map;vertexBuffers=new Map;currentPipeline;indexBuffer;stencilReference;appliedStencilReference=0;version=0;rawAccessed=!1},cU=class{bindGroups=new Map;currentPipeline;version=0;rawAccessed=!1};function f6(e,t,s){ca(t)?e.bindGroups.set(t.layout,t):e.bindGroups.set(t,s),e.version++}function v6(e,t){let{priors:s}=t[B];if(e.currentPipeline=t,s.bindGroupLayoutMap)for(let[r,o]of s.bindGroupLayoutMap)e.bindGroups.set(r,o);if(s.vertexLayoutMap)for(let[r,o]of s.vertexLayoutMap)e.vertexBuffers.set(r,{buffer:o,offset:void 0,size:void 0});s.indexBuffer&&(e.indexBuffer=s.indexBuffer),s.stencilReference!==void 0&&(e.stencilReference=s.stencilReference),e.version++}function y6(e,t){let{priors:s}=t[B];if(e.currentPipeline=t,s.bindGroupLayoutMap)for(let[r,o]of s.bindGroupLayoutMap)e.bindGroups.set(r,o);e.version++}function _U(e,t,s){let{buffer:r,indexFormat:o,offsetBytes:n,sizeBytes:i}=s;hc(r)?e.setIndexBuffer(t.unwrap(r),o,n,i):e.setIndexBuffer(r,o,n,i)}function h6(e,t,s,r,o){let n=new Set(s);if(s.forEach((i,d)=>{if(r&&d===r[0])e.setBindGroup(d,t.unwrap(r[1])),n.delete(i);else{let c=o(i);c!==void 0&&(n.delete(i),ca(c)?e.setBindGroup(d,t.unwrap(c)):e.setBindGroup(d,c))}}),n.size>0)throw new QA(n)}function lU(e,t,s,r){let o=new Set;if(s.forEach((n,i)=>{let d=r(n);!d||!d.buffer?o.add(n):hc(d.buffer)?e.setVertexBuffer(i,t.unwrap(d.buffer),d.offset,d.size):e.setVertexBuffer(i,d.buffer,d.offset,d.size)}),o.size>0)throw new JA(o)}function uU(e,t,s,r){let o=s[B].core.unwrap();e.setPipeline(o.pipeline),h6(e,t,o.usedBindGroupLayouts,o.catchall,n=>r.bindGroups.get(n)),lU(e,t,o.usedVertexLayouts,n=>r.vertexBuffers.get(n)),r.indexBuffer!==void 0&&_U(e,t,r.indexBuffer),typeof e.setStencilReference=="function"&&r.stencilReference!==void 0&&(r.rawAccessed||r.stencilReference!==r.appliedStencilReference)&&(e.setStencilReference(r.stencilReference),r.appliedStencilReference=r.stencilReference)}function mU(e,t,s,r){let o=s[B].core.unwrap();e.setPipeline(o.pipeline),h6(e,t,o.usedBindGroupLayouts,o.catchall,n=>r.bindGroups.get(n))}function x6(e){if(!e)throw new Error("No index buffer is set. Call pipeline.withIndexBuffer or pass.setIndexBuffer before drawing indexed geometry.")}function ig(e,t){Vt.warnOnce("suspicious",e,t,`${t} is ignored when recording into a raw GPUCommandEncoder, since there is no submission to report after. Use root['~unstable'].createCommandEncoder() instead.`)}function g6(e,t){return!e||e[B].adopted?!1:(e[B].afterSubmit.set(t,()=>rU(t)),!0)}function b6(e,t,s,r){s&&!g6(e,s)&&ig(t,"Shader console.log output"),r.performanceCallback&&!iU(e,r)&&ig(t,"The performance callback"),r.encoder===void 0&&e.submit()}var pU={render:{into:"drawing into a render pass",intoRaw:"drawing into a raw render pass",begin:"beginRenderPass"},compute:{into:"dispatching into a compute pass",intoRaw:"dispatching into a raw compute pass",begin:"beginComputePass"}};function w6(e,t,s,r,o,n=!1){let i=pU[o];n&&Vt.warnOnce("suspicious",e,"attachments",`Pipeline-level attachments are ignored when ${i.into}. Pass \`colorAttachments\` and \`depthStencilAttachment\` to encoder.${i.begin} instead.`),s&&Vt.warnOnce("suspicious",e,"timestampWrites",`Pipeline-level timestamp writes are ignored when ${i.into}. Pass \`timestampWrites\` to encoder.${i.begin} instead.`),r&&!g6(t,r)&&Vt.warnOnce("suspicious",e,"logs",`Shader console.log output is ignored when ${i.intoRaw} encoder, since there is no submission to read it back after.`)}function Rp(e,t,s,r,o,n=!1){let{state:i,rawPass:d}=t,{core:c,priors:_}=s[B];i.currentPipeline!==s&&v6(i,s),r&&x6(i.indexBuffer);let u=c.unwrap();n||w6(c,t.owner,!!_.timestampWrites,u.logResources,"render",!!_.colorAttachment||!!_.depthStencilAttachment),(i.rawAccessed||t.appliedVersion!==i.version)&&(uU(d,e,s,i),t.appliedVersion=i.version),o(d)}function zp(e,t,s,r,o=!1){let{state:n,rawPass:i}=t,{core:d,priors:c}=s[B];n.currentPipeline!==s&&y6(n,s);let _=d.unwrap();o||w6(d,t.owner,!!c.timestampWrites,_.logResources,"compute"),(n.rawAccessed||t.appliedVersion!==n.version)&&(mU(i,e,s,n),t.appliedVersion=n.version),r(i)}function fU(e){let t=e;return t?.resourceType==="compute-pipeline"&&mt(t)}function vU(e){let t=e;return t?.resourceType==="render-pipeline"&&mt(t)}function yU(e){return vU(e)||fU(e)}function Cv(e){let t=e;return t?.resourceType==="command-encoder"&&mt(t)}function T6(e){let t=e;return(t?.resourceType==="render-pass"||t?.resourceType==="render-bundle-encoder")&&mt(t)}function S6(e){let t=e;return t?.resourceType==="compute-pass"&&mt(t)}function hU(e){return typeof e?.getCurrentTexture=="function"}function A6(e){let t=e;return!mt(t)&&typeof t?.beginRenderPass=="function"&&typeof t?.beginComputePass=="function"}function xU(e){let t=e;return!mt(t)&&typeof t?.dispatchWorkgroups=="function"&&t?.beginRenderPass===void 0}function gU(e){let t=e;return!mt(t)&&typeof t?.executeBundles=="function"&&typeof t?.draw=="function"}function bU(e){let t=e;return!mt(t)&&typeof t?.draw=="function"&&typeof t?.finish=="function"&&t?.executeBundles===void 0&&t?.beginRenderPass===void 0&&t?.dispatchWorkgroups===void 0}function vm(e,t){return Tc(t)?e.unwrap(t).createView():Oi(t)?e.unwrap(t):hU(t)?t.getCurrentTexture().createView():t}function M6(e,t){let{querySet:s,beginningOfPassWriteIndex:r,endOfPassWriteIndex:o}=t,n={querySet:Uv(s)?e.unwrap(s):s};return r!==void 0&&(n.beginningOfPassWriteIndex=r),o!==void 0&&(n.endOfPassWriteIndex=o),n}function wU(e,t){let{rawEncoder:s,root:r}=e[B],o={};return t?.label!==void 0&&(o.label=t.label),t?.timestampWrites!==void 0&&(o.timestampWrites=M6(r,t.timestampWrites)),new P6(r,s.beginComputePass(o),e)}function TU(e,t){let s=new P6(e,t,void 0);return s[B].state.rawAccessed=!0,s}var P6=class{[B];resourceType="compute-pass";#e;constructor(e,t,s){this.#e=e,this[B]={rawPass:t,state:new cU,owner:s,appliedVersion:void 0}}#t(e){let t=this[B],s=t.state.currentPipeline;if(!s)throw new Error("Cannot dispatch without a call to pass.setPipeline");zp(this.#e,t,s,e)}setPipeline(e){y6(this[B].state,e)}setBindGroup(e,t){f6(this[B].state,e,t)}dispatchWorkgroups(e,t,s){this.#t(r=>r.dispatchWorkgroups(e,t,s))}dispatchWorkgroupsIndirect(e,t){let s=Mn(e)?e:e.buffer,r=Vi(e,t,12,"dispatchWorkgroupsIndirect");this.#t(o=>o.dispatchWorkgroupsIndirect(s,r))}end(){this[B].rawPass.end()}};function SU(e){let t,s="all";if(Tc(e)?t=e.props.format:Oi(e)&&(t=e[B].format,s=e[B].aspect??"all"),t!==void 0)return{hasDepth:t.includes("depth")&&s!=="stencil-only",hasStencil:t.includes("stencil")&&s!=="depth-only"}}function AU(e,t){let s={...e,view:t},r=SU(e.view);if(r===void 0&&(e.depthLoadOp!==void 0||e.depthStoreOp!==void 0||e.stencilLoadOp!==void 0||e.stencilStoreOp!==void 0))return s;let{hasDepth:o,hasStencil:n}=r??{hasDepth:!0,hasStencil:!1};return o&&!e.depthReadOnly&&(s.depthLoadOp??="clear",s.depthStoreOp??="store",s.depthClearValue??=1),n&&!e.stencilReadOnly&&(s.stencilLoadOp??="clear",s.stencilStoreOp??="store"),s}function MU(e,t){let{rawEncoder:s,root:r}=e[B],o={colorAttachments:(t.colorAttachments===void 0?[]:Array.isArray(t.colorAttachments)?t.colorAttachments:[t.colorAttachments]).map(n=>{if(n===null)return null;let i={...n,loadOp:n.loadOp??"clear",storeOp:n.storeOp??"store",view:vm(r,n.view)};return n.resolveTarget!==void 0&&(i.resolveTarget=vm(r,n.resolveTarget)),i})};return t.label!==void 0&&(o.label=t.label),t.depthStencilAttachment!==void 0&&(o.depthStencilAttachment=AU(t.depthStencilAttachment,vm(r,t.depthStencilAttachment.view))),t.occlusionQuerySet!==void 0&&(o.occlusionQuerySet=Uv(t.occlusionQuerySet)?r.unwrap(t.occlusionQuerySet):t.occlusionQuerySet),t.timestampWrites!==void 0&&(o.timestampWrites=M6(r,t.timestampWrites)),t.maxDrawCount!==void 0&&(o.maxDrawCount=t.maxDrawCount),new E6(r,s.beginRenderPass(o),e)}function PU(e,t){return new kU(e,e.device.createRenderBundleEncoder(t),void 0)}function EU(e,t){let s=typeof t.executeBundles=="function"?new E6(e,t,void 0):new Rv(e,t,void 0);return s[B].state.rawAccessed=!0,s}var Rv=class{[B];resourceType="render-bundle-encoder";#e;constructor(e,t,s){this.#e=e,this[B]={rawPass:t,state:new dU,owner:s,appliedVersion:void 0}}#t(e,t){let s=this[B],r=s.state.currentPipeline;if(!r)throw new Error("Cannot draw without a call to pass.setPipeline");Rp(this.#e,s,r,e,t)}setPipeline(e){v6(this[B].state,e)}setBindGroup(e,t){f6(this[B].state,e,t)}setVertexBuffer(e,t,s,r){let{state:o}=this[B];o.vertexBuffers.set(e,{buffer:t,offset:s,size:r}),o.version++}setIndexBuffer(e,t,s,r){let{state:o}=this[B];o.indexBuffer={buffer:e,indexFormat:t,offsetBytes:s,sizeBytes:r},o.version++}draw(e,t,s,r){this.#t(!1,o=>o.draw(e,t,s,r))}drawIndexed(e,t,s,r,o){this.#t(!0,n=>n.drawIndexed(e,t,s,r,o))}drawIndirect(e,t){let s=Mn(e)?e:e.buffer,r=Vi(e,t,16,"drawIndirect");this.#t(!1,o=>o.drawIndirect(s,r))}drawIndexedIndirect(e,t){let s=Mn(e)?e:e.buffer,r=Vi(e,t,20,"drawIndexedIndirect");this.#t(!0,o=>o.drawIndexedIndirect(s,r))}},kU=class extends Rv{resourceType="render-bundle-encoder";finish(e){return this[B].rawPass.finish(e)}},E6=class extends Rv{resourceType="render-pass";setViewport(e,t,s,r,o,n){this[B].rawPass.setViewport(e,t,s,r,o,n)}setScissorRect(e,t,s,r){this[B].rawPass.setScissorRect(e,t,s,r)}setBlendConstant(e){this[B].rawPass.setBlendConstant(e)}setStencilReference(e){let{state:t}=this[B];t.stencilReference=e,t.version++}beginOcclusionQuery(e){this[B].rawPass.beginOcclusionQuery(e)}endOcclusionQuery(){this[B].rawPass.endOcclusionQuery()}executeBundles(e){let t=this[B];t.rawPass.executeBundles(e),t.appliedVersion=void 0}end(){this[B].rawPass.end()}};function zv(e,t){return new $6(e,e.device.createCommandEncoder(t),!1)}function k6(e,t){return new $6(e,t,!0)}var $6=class{[B];resourceType="command-encoder";constructor(e,t,s){this[B]={rawEncoder:t,root:e,adopted:s,beforeFinish:new Map,afterSubmit:new Map}}beginRenderPass(e){return MU(this,e)}beginComputePass(e){return wU(this,e)}#e(){let{rawEncoder:e,beforeFinish:t}=this[B];for(let s of t.values())s(e);t.clear()}submit(){let{rawEncoder:e,root:t,afterSubmit:s}=this[B];this.#e(),t.device.queue.submit([e.finish()]);for(let r of s.values())r();s.clear()}finish(e){let{rawEncoder:t,root:s,afterSubmit:r}=this[B];return this.#e(),r.size>0&&Vt.warnOnce("suspicious",s,"finishWithPendingWork","Shader console.log output and performance callbacks do not fire for command buffers produced by encoder.finish(). Use encoder.submit() instead."),t.finish(e)}},U6=["f16","clip_distances","dual_source_blending","subgroups","primitive_index"],C6={f16:"shader-f16",clip_distances:"clip-distances",dual_source_blending:"dual-source-blending",subgroups:"subgroups",primitive_index:"primitive-index"};function Gp(e,t){return e.type!==t.type?!1:pr(e)&&pr(t)?e.access===t.access&&e.addressSpace===t.addressSpace&&e.implicit===t.implicit&&Gp(e.inner,t.inner):Us(e)&&Us(t)?e.elementCount===t.elementCount&&Gp(e.elementType,t.elementType):Qt(e)&&Qt(t)?e===t:!0}var $U=class{cache=new Map;get(e,t){let s=If(e);if(!s)return;if(!t&&s.ast.params.length>0)throw new Error(`Cannot resolve '${xe(e)}' directly, because it expects arguments. Either call it from another function, or wrap it in a shell`);let r=(t??[]).map((i,d)=>{if(i.value instanceof wn){if(i.dataType===Ut)throw new Qe("d.ref() created with primitive types must be stored in a variable before use");return i.dataType}if(i.dataType===Ut)throw new Error(`Passed illegal value ${i.value} as the #${d} argument to ${xe(e)??""}(...) +Shellless functions can only accept arguments representing WGSL resources: constructible WGSL types, d.refs, samplers or texture views. +Remember, that arguments such as samplers, texture views, accessors, slots etc. should be dereferenced via '.$' first.`);let c=no(i.dataType);return pr(c)&&c.implicit&&(c=c.inner),c}),o=this.cache.get(e);if(o){let i=o.find(d=>d.argTypes.length===r.length&&d.argTypes.every((c,_)=>Gp(c,r[_])));if(i)return i}else o=[],this.cache.set(e,o);let n=D4(r,e);return o.push(n),n}},UU=class{[B];constructor(e){this[B]={strategy:e,takenGlobalIdentifiers:new Set([...mv,...rP]),shelllessRepo:new $U,memoizedResolves:new WeakMap,memoizedLazy:new WeakMap}}};function fd(e){let{names:t="strict"}=e??{};return new UU(t)}var CU=new Set(["bindGroupLayoutMap","vertexLayoutMap","indexBuffer","stencilReference","timestampWrites","performanceCallback"]);function R6(e){return Object.keys(e).filter(t=>!CU.has(t)&&e[t]!==void 0)}var z6=class{#e;#t;measureResolve(e){let t=performance.mark("typegpu:resolution:start"),s=e();return this.#e=performance.measure("typegpu:resolution",{start:t.name}),this.#t=s.code.length,s}measureCompile(e){(async()=>{let t=performance.mark("typegpu:compile-start");await e.queue.onSubmittedWorkDone();let s=performance.measure("typegpu:compiled",{start:t.name});Df?.record("resolution",{resolveDuration:this.#e?.duration,compileDuration:s.duration,wgslSize:this.#t})})()}},G6=class{measureResolve(e){return e()}measureCompile(){}};function RU(e,t,s){return new zU(new GU(e,t,s),{})}var zU=class Y6{[B];[me];resourceType="compute-pipeline";[Xs];constructor(t,s){this[me]={type:"compute-pipeline",device:t.root.device,raw:void 0,label:void 0},this[B]={core:t,priors:s,root:t.root,materialize:()=>{let r=this[me];if(!r.raw){let o=t.unwrap();r.raw=o.pipeline,r.usedBindGroupLayouts=o.usedBindGroupLayouts,r.bindGroups=l6(o.usedBindGroupLayouts,o.catchall,s.bindGroupLayoutMap),r.timestampWrites=s.timestampWrites,r.performanceCallback=s.performanceCallback,r.nonTransferablePriors=R6(s)}return r.raw}},this[Xs]=t}[kt](t){return t.resolve(this[B].core)}toString(){return`computePipeline:${xe(this)??""}`}#e(t){let{core:s,priors:r}=this[B];return new Y6(s,{...r,...t})}with(t,s){let r=this[B];if(S6(t))return this.#e({pass:t,encoder:void 0});if(Cv(t))return this.#e({pass:void 0,encoder:t});if(xU(t))return this.#e({pass:TU(r.root,t),encoder:void 0});if(A6(t))return this.#e({pass:void 0,encoder:k6(r.root,t)});if(ca(t)||Zu(t)){let[o,n]=ca(t)?[t.layout,t]:[t,s];return this.#e({bindGroupLayoutMap:new Map([...r.priors.bindGroupLayoutMap??[],[o,n]])})}throw new Error("Unsupported value passed into .with()")}withPerformanceCallback(t){let s=this[B];if(s.priors.timestampWrites)return this.#e({performanceCallback:t});let r=s.core.performanceCallbackQuerySet;return r?this.#e(m6(s.priors,t,r)):(Vt.warn("webgpu-feature-missing","Performance callback cannot be used because the timestamp-query feature is not enabled on the root."),this)}withTimestampWrites(t){let s=this[B];return this.#e(p6(s.priors,t,s.root))}dispatchWorkgroups(t,s,r){this.#t(o=>o.dispatchWorkgroups(t,s,r))}dispatchWorkgroupsIndirect(t,s){let r=Mn(t)?t:t.buffer,o=Vi(t,s,12,"dispatchWorkgroupsIndirect");this.#t(n=>n.dispatchWorkgroupsIndirect(r,o))}initAsync(){return this[B].core.initAsync()}initSync(){this[B].core.initSync()}#t(t){let{core:s,priors:r,root:o}=this[B];if(r.pass){zp(o,r.pass[B],this,t);return}let n=r.encoder??zv(o),i=n.beginComputePass({label:xe(s)??"",timestampWrites:r.timestampWrites});zp(o,i[B],this,t,!0),i.end(),b6(n,s,s.unwrap().logResources,r)}$name(t){return ot(this,t),this}},GU=class L6{[B]=!0;root;#e;#t;#s;#r;#o;#n;constructor(t,s,r){this.root=t,this.#r=s,this.#o=r,this.#e=Df?.enabled?new z6:new G6}static precompiled(t,s){let r=new L6(t,[],void 0);return r.#s=s,r}[kt](t){let s=this.#o;return s?t.withSlots(this.#r,()=>(t.resolve(s.compute),ve("",_s,"runtime"))):ve("",_s,"runtime")}toString(){return"computePipelineCore"}get performanceCallbackQuerySet(){if(this.root.enabledFeatures.has("timestamp-query"))return this.#n??=(globalThis.__TYPEGPU_AUTONAME__??(t=>t))(this.root.createQuerySet("timestamp",2),"performanceCallbackQuerySet")}initAsync(){if(this.#s!==void 0)return Promise.resolve();if(this.#t===void 0){let t=this.root.device,{resolutionResult:s,module:r}=this.resolveAndCreateShaderModule(),{usedBindGroupLayouts:o,catchall:n,logResources:i}=s;this.#t=t.createComputePipelineAsync({label:xe(this)??"",layout:t.createPipelineLayout({label:`${xe(this)??""} - Pipeline Layout`,bindGroupLayouts:o.map(d=>this.root.unwrap(d))}),compute:{module:r}}).then(d=>{this.#s={pipeline:d,usedBindGroupLayouts:o,catchall:n,logResources:i},this.#e.measureCompile(t)}).finally(()=>{this.#t=void 0})}return this.#t}initSync(){if(this.#s!==void 0)return;if(this.#t!==void 0)throw new Error("'pipeline.initAsync()' was called and is not yet resolved.");let t=this.root.device,{resolutionResult:s,module:r}=this.resolveAndCreateShaderModule(),{usedBindGroupLayouts:o,catchall:n,logResources:i}=s;this.#s={pipeline:(globalThis.__TYPEGPU_AUTONAME__??(d=>d))(t.createComputePipeline({label:xe(this)??"",layout:t.createPipelineLayout({label:`${xe(this)??""} - Pipeline Layout`,bindGroupLayouts:o.map(d=>this.root.unwrap(d))}),compute:{module:r}}),"pipeline"),usedBindGroupLayouts:o,catchall:n,logResources:i},this.#e.measureCompile(t)}unwrap(){return this.initSync(),this.#s}resolveAndCreateShaderModule(){let t=this.root.device,s=U6.filter(c=>this.root.enabledFeatures.has(C6[c])),r=fd({names:this.root.nameRegistrySetting}),o=this.#e.measureResolve(()=>Ju(this,{namespace:r,minify:this.root.minify,enableExtensions:s,shaderGenerator:this.root.shaderGeneratorClass?new this.root.shaderGeneratorClass:void 0,root:this.root})),{code:n,usedBindGroupLayouts:i,catchall:d}=o;return d!==void 0&&i[d[0]]?.$name(`${xe(this)??""} - Automatic Bind Group & Layout`),B5(i,t.limits),{resolutionResult:o,module:t.createShaderModule({label:`${xe(this)??""} - Shader`,code:n})}}},YU={$vertexIndex:_r.vertexIndex,$instanceIndex:_r.instanceIndex},LU={$clipDistances:_r.clipDistances,$position:_r.position},IU={$position:_r.position,$frontFacing:_r.frontFacing,$primitiveIndex:_r.primitiveIndex,$sampleIndex:_r.sampleIndex,$sampleMask:_r.sampleMask,$subgroupInvocationId:_r.subgroupInvocationId,$subgroupSize:_r.subgroupSize},DU={$fragDepth:_r.fragDepth,$sampleMask:_r.sampleMask},Gv=class{#e;autoIn;autoOut;constructor(e,t,s){xe(e)||ot(e,"fragmentFn"),this.#e=ri(e,"fragment"),this.autoIn=new Wo({...IU,...t},void 0,s),ot(this.autoIn,"FragmentIn"),this.autoOut=new Wo(DU,Oe),ot(this.autoOut,"FragmentOut")}toString(){return"autoFragmentFn"}[kt](e){return e.withSlots([[pd,"fragment"]],()=>this.#e.resolve(e,[this.autoIn],this.autoOut))}};Gv.prototype[B]=!0;Gv.prototype.resourceType="auto-fragment-fn";var Yv=class{#e;autoIn;autoOut;constructor(e,t,s){xe(e)||ot(e,"vertexFn"),this.#e=ri(e,"vertex"),this.autoIn=new Wo({...YU,...t},void 0,s),ot(this.autoIn,"VertexIn"),this.autoOut=new Wo(LU,void 0),ot(this.autoOut,"VertexOut")}toString(){return"autoVertexFn"}[kt](e){return e.withSlots([[pd,"vertex"]],()=>this.#e.resolve(e,[this.autoIn],this.autoOut))}};Yv.prototype[B]=!0;Yv.prototype.resourceType="auto-vertex-fn";function I6(e,t="vertex"){return new FU(e,t)}function D6(e){return e?.resourceType==="vertex-layout"}var Yp=Symbol("defaultAttribEntry");function ul(e,t,s,r,o){if(zn(t)||ha(t)){let n=na(t);return n!==void 0&&(r[o??Yp]=n),ul(e,t.inner,qs(s,wo(t)),r)}if(Qt(t)){let n=s,i=t.propTypes;return Object.fromEntries(Object.entries(i).map(([d,c])=>{n=qs(n,rs(c));let _=[d,ul(e,c,n,r,d)];return n+=_t(c),_}))}if(un(t)){let n=s,i=t.propTypes;return Object.fromEntries(Object.entries(i).map(([d,c])=>{n=qs(n,wo(c));let _=[d,ul(e,c,n,r,d)];return n+=_t(c),_}))}if("type"in t&&typeof t.type=="string"){if(y2.includes(t.type))return{_layout:e,format:t.type,offset:s};let n=eM[t.type];if(n)return{_layout:e,format:n,offset:s}}throw new Error(`Unsupported data used in vertex layout: ${String(t)}`)}var FU=class{[B]=!0;[me];resourceType="vertex-layout";stride;attrib;schemaForCount;#e={};constructor(e,t){this.schemaForCount=e;let s=e(0);this[me]={type:"vertex-layout",schema:s,stepMode:t,label:void 0},this.stride=qs(_t(s.elementType),rs(s)),this.attrib=ul(this,s.elementType,0,this.#e)}get stepMode(){return this[me].stepMode}get vertexLayout(){if(this.#e[Yp]!==void 0){if(typeof this.attrib.format!="string"||typeof this.attrib.offset!="number")throw new Error("Single attribute vertex layouts must have a format and offset.");return{arrayStride:this.stride,stepMode:this.stepMode,attributes:[{format:this.attrib.format,offset:this.attrib.offset,shaderLocation:this.#e[Yp]}]}}if(!Object.keys(this.attrib).every(e=>this.#e[e]!==void 0))throw new Error("All attributes must have custom locations in order to unwrap a vertex layout.");return{arrayStride:this.stride,stepMode:this.stepMode,attributes:Object.entries(this.attrib).map(([e,t])=>({format:t.format,offset:t.offset,shaderLocation:this.#e[e]}))}}$name(e){return ot(this,e),this}};function BU(e){return!!e?.view}function WU(e,t){if(Cu(e)||nn(e))return[];if(Qt(e)){let s=[];for(let r of Object.keys(e.propTypes)){let o=e.propTypes[r];if(nn(o))continue;let n=t[r];if(!n)throw new Error(`A color attachment by the name of '${r}' was not provided to the shader.`);s.push(n)}return s}if(!BU(t))throw new Error("Expected a single color attachment, not a record.");return[t]}function OU(e,t){let s;if(Cu(e)||nn(e))return[null];if(Qt(e)){let o=[];for(let n of Object.keys(e.propTypes)){let i=e.propTypes[n];if(nn(i))continue;let d=t[n];o.push({...d,format:d?.format??(s??=navigator.gpu.getPreferredCanvasFormat())})}return o}let r=t;return[{...r,format:r?.format??(s??=navigator.gpu.getPreferredCanvasFormat())}]}function VU(e){return new NU(new qU(e),{})}var NU=class F6{[B];[me];resourceType="render-pipeline";[Xs];constructor(t,s){this[me]={type:"render-pipeline",device:t.options.root.device,raw:void 0,label:void 0},this[B]={core:t,priors:s,root:t.options.root,materialize:()=>{let r=this[me];if(!r.raw){let o=t.unwrap();r.raw=o.pipeline,r.usedBindGroupLayouts=o.usedBindGroupLayouts,r.usedVertexLayouts=o.usedVertexLayouts,r.fragmentOut=o.fragmentOut,r.bindGroups=l6(o.usedBindGroupLayouts,o.catchall,s.bindGroupLayoutMap),r.vertexBuffers=N4(o.usedVertexLayouts,s.vertexLayoutMap),r.indexBuffer=s.indexBuffer,r.stencilReference=s.stencilReference,r.timestampWrites=s.timestampWrites,r.performanceCallback=s.performanceCallback,r.nonTransferablePriors=R6(s)}return r.raw}},this[Xs]=t}[kt](t){return t.resolve(this[B].core)}toString(){return`renderPipeline:${xe(this)??""}`}$name(t){return ot(this,t),this}#e(t){let{core:s,priors:r}=this[B];return new F6(s,{...r,...t})}with(t,s){let r=this[B];if(T6(t))return this.#e({pass:t,encoder:void 0});if(Cv(t))return this.#e({pass:void 0,encoder:t});if(gU(t)||bU(t))return this.#e({pass:EU(r.root,t),encoder:void 0});if(A6(t))return this.#e({pass:void 0,encoder:k6(r.root,t)});if(ca(t)||Zu(t)){let[o,n]=ca(t)?[t.layout,t]:[t,s];return this.#e({bindGroupLayoutMap:new Map([...r.priors.bindGroupLayoutMap??[],[o,n]])})}if(D6(t))return this.#e({vertexLayoutMap:new Map([...r.priors.vertexLayoutMap??[],[t,s]])});throw new Error("Unsupported value passed into .with()")}withPerformanceCallback(t){let s=this[B];if(s.priors.timestampWrites)return this.#e({performanceCallback:t});let r=s.core.performanceCallbackQuerySet;return r?this.#e(m6(s.priors,t,r)):(Vt.warn("webgpu-feature-missing","Performance callback cannot be used because the timestamp-query feature is not enabled on the root."),this)}withTimestampWrites(t){let s=this[B];return this.#e(p6(s.priors,t,s.root))}withColorAttachment(t){return this.#e({colorAttachment:t})}withDepthStencilAttachment(t){return this.#e({depthStencilAttachment:t})}withStencilReference(t){return this.#e({stencilReference:t})}withIndexBuffer(t,s,r,o){if(Mn(t)){if(typeof s!="string")throw new Error("If a GPUBuffer is passed, indexFormat must be provided.");return this.#e({indexBuffer:{buffer:t,indexFormat:s,offsetBytes:r,sizeBytes:o}})}let n={u32:"uint32",u16:"uint16"},i=t.dataType.elementType;return this.#e({indexBuffer:{buffer:t,indexFormat:n[i.type],offsetBytes:s!==void 0?s*_t(i):void 0,sizeBytes:o!==void 0?o*_t(i):void 0}})}initAsync(){return this[B].core.initAsync()}initSync(){this[B].core.initSync()}get hasIndexBuffer(){return this[B].priors.indexBuffer!==void 0}#t(){let{core:t,priors:s}=this[B],{fragmentOut:r}=t.unwrap();return{label:xe(t)??"",colorAttachments:r?WU(r,s.colorAttachment??{}):[],depthStencilAttachment:s.depthStencilAttachment,timestampWrites:s.timestampWrites}}#s(t,s){let{core:r,priors:o,root:n}=this[B];if(o.pass){Rp(n,o.pass[B],this,t,s);return}t&&x6(o.indexBuffer);let i=o.encoder??zv(n),d=i.beginRenderPass(this.#t());Rp(n,d[B],this,t,s,!0),d.end(),b6(i,r,r.unwrap().logResources,o)}draw(t,s,r,o){this.#s(!1,n=>n.draw(t,s,r,o))}drawIndexed(t,s,r,o,n){this.#s(!0,i=>i.drawIndexed(t,s,r,o,n))}drawIndirect(t,s){let r=Mn(t)?t:t.buffer,o=Vi(t,s,16,"drawIndirect");this.#s(!1,n=>n.drawIndirect(r,o))}drawIndexedIndirect(t,s){let r=Mn(t)?t:t.buffer,o=Vi(t,s,20,"drawIndexedIndirect");this.#s(!0,n=>n.drawIndexedIndirect(r,o))}},qU=class B6{[B]=!0;options;#e;#t;#s;#r;#o;#n;constructor(t){this.options=t,this.#e=Df?.enabled?new z6:new G6}static precompiled(t,s){let r=new B6({root:t,slotBindings:[],descriptor:void 0});return r.#s=s,r}[kt](t){let{slotBindings:s}=this.options,{vertex:r,fragment:o,attribs:n={}}=this.options.descriptor??{};if(!r)return ve("",_s,"runtime");this.#r=void 0,this.#o=void 0;let i=XU(r?.shell?.out,o?.shell?.in,xe(r)??"",xe(o)??"");return t.withVaryingLocations(i,()=>t.withSlots(s,()=>{let d;if(typeof r=="function"){let c=new Yv(r,Object.fromEntries(Object.entries(n).map(([_,u])=>[_,$n[u.format]])),i);t.resolve(c),this.#r=c.autoIn.completeStruct.propTypes,d=c.autoOut.completeStruct}else d=t.resolve(r).dataType;if(o)if(typeof o=="function"){let c=Object.fromEntries(Object.entries(d.propTypes).filter(([,_])=>!nn(_)));this.#o=t.resolve(new Gv(o,c,i)).dataType}else t.resolve(o);return ve("",_s,"runtime")}))}toString(){return"renderPipelineCore"}get performanceCallbackQuerySet(){if(this.options.root.enabledFeatures.has("timestamp-query"))return this.#n??=(globalThis.__TYPEGPU_AUTONAME__??(t=>t))(this.options.root.createQuerySet("timestamp",2),"performanceCallbackQuerySet")}initAsync(){if(this.#s!==void 0)return Promise.resolve();if(this.#t===void 0){let t=this.options.root.device,{resolutionResult:s,descriptor:r,connectedAttribs:o,fragmentOut:n}=this.resolveAndCreateShaderModule(),{usedBindGroupLayouts:i,catchall:d,logResources:c}=s;this.#t=t.createRenderPipelineAsync(r).then(_=>{this.#s={pipeline:_,usedBindGroupLayouts:i,catchall:d,logResources:c,usedVertexLayouts:o.usedVertexLayouts,fragmentOut:n},this.#e.measureCompile(t)}).finally(()=>{this.#t=void 0})}return this.#t}initSync(){if(this.#s!==void 0)return;if(this.#t!==void 0)throw new Error("'pipeline.initAsync()' was called and is not yet resolved.");let t=this.options.root.device,{resolutionResult:s,descriptor:r,connectedAttribs:o,fragmentOut:n}=this.resolveAndCreateShaderModule(),{usedBindGroupLayouts:i,catchall:d,logResources:c}=s;this.#s={pipeline:(globalThis.__TYPEGPU_AUTONAME__??(_=>_))(t.createRenderPipeline(r),"pipeline"),usedBindGroupLayouts:i,catchall:d,logResources:c,usedVertexLayouts:o.usedVertexLayouts,fragmentOut:n},this.#e.measureCompile(t)}unwrap(){return this.initSync(),this.#s}resolveAndCreateShaderModule(){let{root:t,descriptor:s}=this.options;if(!s)throw new Error("Precompiled pipelines are never resolved again.");let r=t.device,o=U6.filter(P=>t.enabledFeatures.has(C6[P])),n=fd({names:t.nameRegistrySetting}),i=this.#e.measureResolve(()=>Ju(this,{namespace:n,minify:t.minify,enableExtensions:o,shaderGenerator:t.shaderGeneratorClass?new t.shaderGeneratorClass:void 0,root:t})),{code:d,usedBindGroupLayouts:c,catchall:_}=i;_!==void 0&&c[_[0]]?.$name(`${xe(this)??""} - Automatic Bind Group & Layout`),B5(c,r.limits);let u=r.createShaderModule({label:`${xe(this)??""} - Shader`,code:d}),{vertex:m,fragment:p,attribs:y={},targets:h}=s,g=m$(m?.shell?.in??this.#r??{},y),w=p?.shell?.returnType??this.#o,S=w?OU(w,h):[null],T={layout:r.createPipelineLayout({label:`${xe(this)??""} - Pipeline Layout`,bindGroupLayouts:c.map(P=>t.unwrap(P))}),vertex:{module:u,buffers:g.bufferDefinitions}},A=xe(this);return A!==void 0&&(T.label=A),s.fragment&&(T.fragment={module:u,targets:S}),s.primitive&&(Qa(s.primitive.stripIndexFormat)?T.primitive={...s.primitive,stripIndexFormat:{u32:"uint32",u16:"uint16"}[s.primitive.stripIndexFormat.type]}:T.primitive=s.primitive),s.depthStencil&&(T.depthStencil=s.depthStencil),s.multisample&&(T.multisample=s.multisample),{resolutionResult:i,descriptor:T,connectedAttribs:g,fragmentOut:w}}};function XU(e={},t={},s,r){let o={},n=new Set;function i(c,_){o[c]=_,n.add(_)}for(let[c,_]of Object.entries(e)){let u=na(_);u!==void 0&&i(c,u)}for(let[c,_]of Object.entries(t)){let u=na(_);u!==void 0&&(o[c]===void 0?i(c,u):o[c]!==u&&Vt.warn("locations-mismatched",`Mismatched location between vertexFn (${s}) output (${o[c]}) and fragmentFn (${r}) input (${u}) for the key "${c}", using the location set on vertex output.`))}let d=0;for(let c of Object.keys(e??{}))if(!(nn(e[c])||o[c]!==void 0)){for(;n.has(d);)d++;i(c,d)}return o}var dg=class{#e=new WeakMap;#t;constructor(e){this.#t=e}getOrMake(e,...t){if(this.#e.has(e))return this.#e.get(e);let s=this.#t(e,...t);return this.#e.set(e,s),s}};function Lv(e){let t={argTypes:Object.values(e.in??{}),returnType:_s,workgroupSize:e.workgroupSize,entryPoint:"compute"},s=g5(e.in??{});return Object.assign((o,...n)=>HU(t,e.workgroupSize,Hu(o,...n),s),t)}function HU(e,t,s,r){let o=ri(s,"compute",t);return{shell:e,$uses(n){return o.setExternals("userProvided",n),this},[B]:!0,[Xs]:o,$name(n){return ot(this,n),this},[kt](n){return n.withSlots([[pd,"compute"]],()=>o.resolve(n,[],e.returnType,r))},toString(){return`computeFn:${xe(o)??""}`}}}function jU(e){if(e.includes(0))throw new Error("Size and workgroupSize cannot contain zeroes.");return gt(e[0]??1,e[1]??1,e[2]??1)}var KU=[gt(1,1,1),gt(256,1,1),gt(16,16,1),gt(8,8,4)],ZU=class ml{resourceType="guarded-compute-pipeline";[me];#e;#t;constructor(t,s,r,o){this.#e=t,this.#t=gt(),this[me]={type:"guarded-compute-pipeline",device:t.device,pipeline:s,sizeUniform:r,workgroupSize:o,label:void 0}}with(t){if(!ca(t))throw new Error("Guarded pipelines only accept bind groups in .with(). To record into passes or encoders, use a regular compute pipeline.");return new ml(this.#e,this[me].pipeline.with(t),this[me].sizeUniform,this[me].workgroupSize)}withPerformanceCallback(t){return new ml(this.#e,this[me].pipeline.withPerformanceCallback(t),this[me].sizeUniform,this[me].workgroupSize)}withTimestampWrites(t){return new ml(this.#e,this[me].pipeline.withTimestampWrites(t),this[me].sizeUniform,this[me].workgroupSize)}dispatchThreads(...t){let s=jU(t),r=cc(It(s).div(It(this[me].workgroupSize)));n$(s,this.#t)||(this.#t=s,this[me].sizeUniform.write(s)),this[me].pipeline.dispatchWorkgroups(r.x,r.y,r.z)}initAsync(){return this[me].pipeline.initAsync()}initSync(){this[me].pipeline.initSync()}get pipeline(){return this[me].pipeline}get sizeUniform(){return this[me].sizeUniform}[B]=!0;get[Xs](){return this[me].pipeline}$name(t){return ot(this,t),this}},QU=class Lp{#e;#t;constructor(t,s){this.#e=t,this.#t=s}with(t,s){return new Lp(this.#e,[...this.#t,[dd(t)||cd(t)?t.slot:t,s]])}createComputePipeline(t){return RU(this.#e(),this.#t,t)}createRenderPipeline(t){return VU({root:this.#e(),slotBindings:this.#t,descriptor:t})}createGuardedComputePipeline(t){let s=this.#e();if(t.length>=4)throw new Error("Guarded compute callback only supports up to three dimensions.");let r=KU[t.length],o=qt([R,R,R])(t);xe(o)===void 0&&o.$name("wrappedCallback");let n=(globalThis.__TYPEGPU_AUTONAME__??(d=>d))(s.createUniform(gt),"sizeUniform"),i=(globalThis.__TYPEGPU_AUTONAME__??(d=>d))(Lv({workgroupSize:r,in:{id:_r.globalInvocationId}})`{ + if (any(in.id >= sizeUniform)) { + return; + } + wrappedCallback(in.id.x, in.id.y, in.id.z); +}`.$uses({sizeUniform:n,wrappedCallback:o}),"mainCompute");return new ZU(s,this.createComputePipeline({compute:i}),n,r)}pipe(t){let s=t(new W5([]));return new Lp(this.#e,[...this.#t,...s.bindings])}},W6=class extends QU{"~unstable";resourceType="root";[me];device;nameRegistrySetting;shaderGeneratorClass;#e=new dg(e=>e.unwrap(this));#t=new dg(e=>e.unwrap(this));#s;[B];constructor(e,t,s,r,o,n){super(()=>this,[]),this.device=e,this.nameRegistrySetting=t,this.#s=r,this.shaderGeneratorClass=n,this["~unstable"]=this,this[me]={type:"root",device:e,nameRegistrySetting:t,logOptions:o,minify:s,nonTransferablePriors:n?["shaderGeneratorClass"]:void 0,label:void 0},this[B]={logOptions:o}}configureContext(e){let t=e.canvas.getContext("webgpu");if(!t)throw new Error("Unable to initialize 'webgpu' context on the provided canvas.");return t.configure({...e,device:this.device,format:e.format??navigator.gpu.getPreferredCanvasFormat()}),t}get enabledFeatures(){return new Set(this.device.features)}get minify(){return this[me].minify}createBuffer(e,t){return F_(this,e,t)}createUniform(e,t){return new Va("uniform",F_(this,e,t).$usage("uniform"))}createMutable(e,t){return new Va("mutable",F_(this,e,t).$usage("storage"))}createReadonly(e,t){return new Va("readonly",F_(this,e,t).$usage("storage"))}createQuerySet(e,t,s){return oU(this,e,t,s)}createBindGroup(e,t){return new Q5(this,e,t)}destroy(){g4(this.device),this.#s&&this.device.destroy()}createTexture(e){return S4(e,this)}createSampler(e){return J$(e,this)}createComparisonSampler(e){return e4(e,this)}unwrap(e){if(Cv(e))return e[B].rawEncoder;if(T6(e)||S6(e))return e[B].state.rawAccessed=!0,e[B].rawPass;if(Zu(e))return this.#e.getOrMake(e);if(ca(e))return this.#t.getOrMake(e);if(Oc(e))return e.buffer.buffer;if(Oi(e)){if(!e[B].unwrap)throw new Error("Cannot unwrap laid-out texture view as it has no underlying resource.");return e[B].unwrap()}if(D6(e))return e.vertexLayout;let t=e[B];if(t?.materialize)return t.materialize();throw kv(e)||$v(e)?new Error("Cannot unwrap laid-out sampler."):new Error(`Unknown resource type: ${io(e)}`)}createCommandEncoder(e){return zv(this,e)}createRenderBundleEncoder(e){return PU(this,e)}};async function JU(e){let{adapter:t,device:s,unstable_names:r="strict",unstable_minify:o=!1,unstable_logOptions:n,unstable_shaderGeneratorClass:i}=e??{},{optionalFeatures:d,...c}=s??{};if(!navigator.gpu)throw new Error("WebGPU is not supported by this browser.");let _=await navigator.gpu.requestAdapter(t);if(!_)throw new Error("Could not find a compatible GPU");let u=[];for(let m of c.requiredFeatures??[]){if(!_.features.has(m))throw new Error(`Requested feature "${m}" is not supported by the adapter.`);u.push(m)}for(let m of d??[])_.features.has(m)?u.push(m):Vt.warn("webgpu-feature-missing",`Optional feature "${m}" is not supported by the adapter.`);return new W6(await _.requestDevice({...c,requiredFeatures:u}),r,o,!0,n??{},i)}function eC(e){let{device:t,unstable_names:s="strict",unstable_minify:r=!1,unstable_logOptions:o,unstable_shaderGeneratorClass:n}=e??{};return new W6(t,s,r,!1,o??{},n)}function O6(e,t){return new tC(e,t)}function V6(e,t){return new sC(e,t)}function Iv(e){let t=Na(),s=kl(t.unwrap(e.slot));for(;typeof s=="function"&&!vp(s)&&!Tl(s)&&!Fi(s);)s=s(),Gc(s)&&(s=s.value);let r=Gu(s);if(r)return r;if(Tl(s))return s[zs].call(t,[]);if(vp(s)||Fi(s)){let o=t.resolve(s);return t.withResetIndentLevel(()=>ve(`${o.value}()`,e.schema,"runtime",o.possibleSideEffects))}t.pushMode(new _d);try{return ve(aa(e.schema,s),e.schema,"constant",!1)}finally{t.popMode("normal")}}var N6=class Ip{[Xs];[me];slot;static#e=void(Ip.prototype[B]=!0,In(Ip.prototype,{asString(){return`${this.resourceType}:${xe(this)??""}`},resolve(t){return t.resolveSnippet(Iv(this))}}));constructor(t,s,r=void 0){this[me]={type:t,schema:Rc(s)?s:s(0),defaultValue:r,label:void 0},this.slot=Nc(r),this[Xs]=this.slot}get schema(){return this[me].schema}get defaultValue(){return this[me].defaultValue}$name(t){return ot(this,t),this.defaultValue&&typeof this.defaultValue=="function"&&!xe(this.defaultValue)&&ot(this.defaultValue,t),this}},tC=class Dp extends N6{static#e=void(Dp.prototype.resourceType="accessor",mn(Dp.prototype,{codegenMode:{get(){return Iv(this)}},normalMode:{get(){throw new Error("`tgpu.accessor` relies on GPU resources and cannot be accessed outside of a compute dispatch or draw call. Use `tgpu.slot` for non-WGSL values instead.")}}}));constructor(t,s=void 0){super("accessor",t,s)}},sC=class Fp extends N6{static#e=void(Fp.prototype.resourceType="mutable-accessor",mn(Fp.prototype,{codegenMode:{get(){return Iv(this)}},normalMode:{get(){throw new Error("`tgpu.mutableAccessor` relies on GPU resources and cannot be accessed outside of a compute dispatch or draw call. Use `tgpu.slot` for non-WGSL values instead.")}}}));constructor(t,s=void 0){super("mutable-accessor",t,s)}};function Bp(e,t){return Array.isArray(e)?nC(e,t):oC(e)}function rC(e,t){return Array.isArray(e)?Bp(e,t).code:Bp(e).code}function oC(e){let{template:t,externals:s,unstable_shaderGenerator:r,names:o="strict",unstable_minify:n,config:i,enableExtensions:d}=e;t||Vt.warn("deprecated","Calling resolve with an empty template is deprecated and will soon return an empty string. Consider using the 'tgpu.resolve(resolvableArray, options)' API instead.");let c={[B]:!0,[kt](u){return ve(Xu(u,s,t??""),_s,"runtime")},toString:()=>""},_=q6(Object.values(s));return Ju(c,{namespace:typeof o=="string"?fd({names:o}):o,minify:n??_?.minify??!1,enableExtensions:d,shaderGenerator:r,config:i,root:_})}function nC(e,t){let{unstable_shaderGenerator:s,names:r="strict",unstable_minify:o,config:n,enableExtensions:i}=t??{},d={[B]:!0,[kt](_){for(let u of e)if(Zu(u))for(let m of Object.values(u[B]))_.resolve(m);else _.resolve(u);return ve("",_s,"runtime")},toString:()=>""},c=q6(e);return Ju(d,{namespace:typeof r=="string"?fd({names:r}):r,minify:o??c?.minify??!1,enableExtensions:i,shaderGenerator:s,config:n,root:c})}function q6(e){let t=new Map;for(let s of e){let r=Wp(s);if(r){let o=t.get(r)??new Set;t.set(r,o),o.add(s)}}if(t.size>1){let s=[...t.values()].map((r,o)=>`root ${o+1}: ${[...r].map(n=>xe(n)??"").join(", ")}`).join("; ");throw new Error(`Found resources originating from different roots in a single resolve (${s}).`)}return[...t.keys()][0]}function Wp(e){if(yU(e)||hc(e)||Tc(e)||kv(e)||$v(e))return e[B].root;if(Oc(e))return Wp(e.buffer);if(Oi(e))return Wp(e?.[me]?.texture)}function X6(e){if(Na())throw new Error("Cannot create tgpu.lazy objects during shader resolution.");return new aC(e,void 0)}var aC=class pl{[B];[Mr];static#e=void(pl.prototype.resourceType="lazy",mn(In(pl.prototype,{asString:()=>"lazy",resolve(t){throw new Error("Unreachable, is never resolved directly")}}),{codegenMode:{get(){return this.#t()}},normalMode:{get(){return this.#t()}}}));constructor(t,s){this[B]={compute:t},this[Mr]=s}get[Hr](){let t=Na();if(!t)throw new Error("Cannot access tgpu.lazy's value outside of resolution.");return kl(t.unwrap(this))}get $(){return this[Hr]}#t(){let t=Na();if(!t)throw new Error("Cannot access tgpu.lazy's value outside of resolution.");return kl(t.unwrap(this))}with(t,s){return new pl(this[B].compute.bind(this),{inner:this[Mr]?.inner??this,pairs:[...this[Mr]?.pairs??[],[dd(t)||cd(t)?t.slot:t,s]]})}};function H6(e){let t={in:e.in,out:e.out,returnType:Bc(e.out),entryPoint:"fragment"};return Object.assign((r,...o)=>iC(t,Hu(r,...o)),t)}function iC(e,t){let s=ri(t,"fragment"),r=e.returnType;return typeof t=="string"&&T5(t,r,s),{shell:e,outputType:r,$uses(o){return s.setExternals("userProvided",o),this},[B]:!0,[Xs]:s,$name(o){return ot(this,o),Di(r)&&r.$name(`${o}_Output`),this},[kt](o){let n=g5(e.in??{},o.varyingLocations??{});return n.dataSchema&&Di(n.dataSchema)&&n.dataSchema.$name(`${xe(this)??""}_Input`),typeof t=="string"&&s.setExternals("out",{Out:r}),o.withSlots([[pd,"fragment"]],()=>s.resolve(o,[],e.returnType,n))},toString(){return`fragmentFn:${xe(s)??""}`}}}function e1(e){if(Object.keys(e.out).length===0)throw new Error("A vertexFn output cannot be empty since it must include the 'position' builtin.");let t={in:e.in,out:e.out,argTypes:e.in&&Object.keys(e.in).length!==0?[Bc(e.in)]:[],entryPoint:"vertex"};return Object.assign((r,...o)=>dC(t,Hu(r,...o)),t)}function dC(e,t){let s=ri(t,"vertex"),r=IE(e.in??{});return{shell:e,$uses(o){return s.setExternals("userProvided",o),this},[B]:!0,[Xs]:s,$name(o){return ot(this,o),this},[kt](o){let n=Bc(e.out,o.varyingLocations).$name(`${xe(this)??""}_Output`);return typeof t=="string"&&s.setExternals("out",{Out:n}),o.withSlots([[pd,"vertex"]],()=>s.resolve(o,[],n,r))},toString(){return`vertexFn:${xe(s)??""}`}}}function cC(e){return new _C(e)}var _C=class{[B]=!0;#e;#t;constructor(e){this.#t=e}$uses(e){if(this.#e!==void 0)throw new Error("Cannot call '$uses' multiple times. If you wish to override dependencies, use slots or accessors instead.");return this.#e=e,this}[kt](e){let t=Xu(e,this.#e??{},this.#t);return e.addDeclaration(t),ve("",_s,"constant")}toString(){return`declare: ${this.#t}`}};function lC(e,t,s="runtime",r=!0){return new uC(e,t,s,r)}var uC=class Op{dataType;origin;possibleSideEffects;#e;#t;static#s=void(Op.prototype[B]=!0,mn(In(Op.prototype,{asString(){return`raw(${String(this.dataType)}): "${this.#e}"`},resolve(t){return ve(Xu(t,this.#t??{},this.#e),this.dataType,this.origin,this.possibleSideEffects)}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.dataType,this.origin,this.possibleSideEffects)}},normalMode:{get(){throw new Error("Raw code snippets can only be used on the GPU.")}}}));constructor(t,s,r,o){this.dataType=s,this.origin=r,this.possibleSideEffects=o,this.#e=t}$uses(t){if(this.#t!==void 0)throw new Error("Cannot call '$uses' multiple times. If you wish to override dependencies, use slots or accessors instead.");return this.#t=t,this}};function mC(e){let t=Na()??new _6({minify:!1,namespace:fd()}),s=[1,1,1],r=[1,1,1],o=[s[0]*r[0],s[1]*r[1],s[2]*r[2]],n=new Map,i=Array.from({length:s[0]},()=>Array.from({length:s[1]},()=>Array.from({length:s[2]},()=>new Map))),d=Array.from({length:o[0]},()=>Array.from({length:o[1]},()=>Array.from({length:o[2]},()=>new Map))),c=Array.from({length:o[0]},(_,u)=>Array.from({length:o[1]},(m,p)=>Array.from({length:o[2]},(y,h)=>{let g=Math.floor(u/r[0]),w=Math.floor(p/r[1]),S=Math.floor(h/r[2]);return new dM(n,{private:d[u][p][h],workgroup:i[g][w][S]})})));t.pushMode(c[0][0][0]);try{return{value:w2(t,e),buffers:n,privateVars:d,workgroupVars:i}}finally{t.popMode("simulate")}}var pC=Za({accessor:()=>bC,comptime:()=>vC,computeFn:()=>yC,const:()=>fC,declare:()=>cC,derived:()=>TC,fn:()=>hC,fragmentFn:()=>xC,mutableAccessor:()=>wC,namespace:()=>fd,privateVar:()=>AC,rawCodeSnippet:()=>lC,simulate:()=>mC,slot:()=>SC,vertexFn:()=>gC,vertexLayout:()=>PC,workgroupVar:()=>MC}),fC=wv,vC=Ao,yC=Lv,hC=qt,xC=H6,gC=e1,bC=O6,wC=V6,TC=X6,SC=Nc,AC=Qu,MC=J5,PC=I6,EC=Za({accessor:()=>O6,bindGroupLayout:()=>K5,comptime:()=>Ao,computeFn:()=>Lv,const:()=>wv,fn:()=>qt,fragmentFn:()=>H6,init:()=>JU,initFromDevice:()=>eC,lazy:()=>X6,mutableAccessor:()=>V6,privateVar:()=>Qu,resolve:()=>rC,resolveWithContext:()=>Bp,slot:()=>Nc,unroll:()=>z5,vertexFn:()=>e1,vertexLayout:()=>I6,workgroupVar:()=>J5,"~unstable":()=>pC});pe({name:"workgroupBarrier",normalImpl:"workgroupBarrier is a no-op outside of CODEGEN mode.",signature:{argTypes:[],returnType:_s},codegenImpl:()=>"workgroupBarrier()",sideEffects:!0});pe({name:"storageBarrier",normalImpl:"storageBarrier is a no-op outside of CODEGEN mode.",signature:{argTypes:[],returnType:_s},codegenImpl:()=>"storageBarrier()",sideEffects:!0});pe({name:"textureBarrier",normalImpl:"textureBarrier is a no-op outside of CODEGEN mode.",signature:{argTypes:[],returnType:_s},codegenImpl:()=>"textureBarrier()",sideEffects:!0});var Dn="Atomic operations are not supported outside of CODEGEN mode.",d8=pe({name:"atomicLoad",normalImpl:Dn,signature:e=>{if(!Uu(e))throw new Error(`Invalid atomic type: ${io(e)}`);return{argTypes:[e],returnType:e.inner}},codegenImpl:(e,[t])=>ce`atomicLoad(&${t})`,sideEffects:!0}),kC=e=>{if(!Uu(e))throw new Error(`Invalid atomic type: ${io(e)}`);return{argTypes:[e,e.inner.type==="u32"?R:Z],returnType:_s}},oi=e=>{if(!Uu(e))throw new Error(`Invalid atomic type: ${io(e)}`);let t=e.inner.type==="u32"?R:Z;return{argTypes:[e,t],returnType:t}},c8=pe({name:"atomicStore",normalImpl:Dn,signature:kC,codegenImpl:(e,[t,s])=>ce`atomicStore(&${t}, ${s})`,sideEffects:!0}),_8=pe({name:"atomicAdd",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicAdd(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicSub",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicSub(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicMax",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicMax(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicMin",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicMin(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicAnd",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicAnd(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicOr",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicOr(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicXor",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicXor(&${t}, ${s})`,sideEffects:!0});var Fn="Derivative builtins are not allowed on the CPU",Ni=pe({name:"dpdx",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdx(${t})`,sideEffects:!1});pe({name:"dpdxCoarse",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdxCoarse(${t})`,sideEffects:!1});pe({name:"dpdxFine",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdxFine(${t})`,sideEffects:!1});var qi=pe({name:"dpdy",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdy(${t})`,sideEffects:!1});pe({name:"dpdyCoarse",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdyCoarse(${t})`,sideEffects:!1});pe({name:"dpdyFine",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdyFine(${t})`,sideEffects:!1});var Zt=pe({name:"fwidth",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`fwidth(${t})`,sideEffects:!1});pe({name:"fwidthCoarse",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`fwidthCoarse(${t})`,sideEffects:!1});pe({name:"fwidthFine",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`fwidthFine(${t})`,sideEffects:!1});function qc(e){return e.filter(t=>t!==void 0)}function $C(e,t,s,r,o){throw new Ys("Texture sampling relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSample",normalImpl:$C,codegenImpl:(e,t)=>e.gen.emitCall("textureSample",[],qc(t)),signature:(...e)=>({argTypes:e,returnType:e[0].type.startsWith("texture_depth")?a:Oe}),sideEffects:!1});function UC(e,t,s,r,o,n){throw new Ys("Texture sampling with bias relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSampleBias",normalImpl:UC,codegenImpl:(e,t)=>e.gen.emitCall("textureSampleBias",[],qc(t)),signature:(...e)=>({argTypes:e,returnType:Oe}),sideEffects:!1});function CC(e,t,s,r,o,n){throw new Ys("Texture sampling relies on GPU resources and cannot be executed outside of a draw call")}var zl=pe({name:"textureSampleLevel",normalImpl:CC,codegenImpl:(e,t)=>e.gen.emitCall("textureSampleLevel",[],qc(t)),signature:(...e)=>({argTypes:e,returnType:e[0].type.startsWith("texture_depth")?a:Oe}),sideEffects:!1});function RC(e,t,s){throw new Ys("`textureLoad` relies on GPU resources and cannot be executed outside of a draw call")}var Be=pe({name:"textureLoad",normalImpl:RC,codegenImpl:(e,t)=>e.gen.emitCall("textureLoad",[],qc(t)),signature:(...e)=>{let t=e[0];if(r5(t)){let r=t.type.startsWith("texture_depth"),o=t.sampleType;return{argTypes:e,returnType:r?a:o.type==="f32"?Oe:o.type==="u32"?Et:Wt}}if(MP(t))return{argTypes:e,returnType:Oe};let s=t.format;return{argTypes:e,returnType:Vc(s).vectorType}},sideEffects:!1});function zC(e,t,s,r){throw new Ys("`textureStore` relies on GPU resources and cannot be executed outside of a draw call")}var jr=pe({name:"textureStore",normalImpl:zC,codegenImpl:(e,t)=>ce`textureStore(${t})`,signature:(...e)=>({argTypes:e,returnType:_s}),sideEffects:!0});function GC(e,t){throw new Ys("`textureDimensions` relies on GPU resources and cannot be executed outside of a draw call")}var l8=pe({name:"textureDimensions",normalImpl:GC,codegenImpl:(e,t)=>e.gen.emitCall("textureDimensions",[],qc(t)),signature:(...e)=>{let t=e[0].dimension;return t==="1d"?{argTypes:e,returnType:R}:t==="3d"?{argTypes:e,returnType:gt}:{argTypes:e,returnType:Ct}},sideEffects:!1}),YC=(...e)=>{throw new Error("Texture gather relies on GPU resources and cannot be executed outside of a draw call")},LC={f32:Oe,i32:Wt,u32:Et};pe({name:"textureGather",normalImpl:YC,codegenImpl:(e,t)=>ce`textureGather(${t})`,signature:(...e)=>{if(e[0].type.startsWith("texture")){let[i,d,c,_,...u]=e;return{argTypes:i.type==="texture_depth_2d_array"||i.type==="texture_depth_cube_array"?[i,d,c,[R,Z],...u]:e,returnType:Oe}}let[t,s,r,o,...n]=e;return{argTypes:s.type==="texture_2d_array"||s.type==="texture_cube_array"?[[R,Z],s,r,o,[R,Z],...n]:[[R,Z],s,r,o,...n],returnType:LC[s.sampleType.type]}},sideEffects:!1});function IC(e,t,s,r,o,n){throw new Ys("Texture comparison sampling relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSampleCompare",normalImpl:IC,codegenImpl:(e,t)=>ce`textureSampleCompare(${t})`,signature:(...e)=>({argTypes:e,returnType:a}),sideEffects:!1});function DC(e,t,s,r,o,n){throw new Ys("Texture comparison sampling with level relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSampleCompareLevel",normalImpl:DC,codegenImpl:(e,t)=>ce`textureSampleCompareLevel(${t})`,signature:(...e)=>({argTypes:e,returnType:a}),sideEffects:!1});function FC(e,t,s){throw new Ys("Texture sampling with base clamp to edge is not supported outside of GPU mode.")}function BC(e,t,s,r,o,n,i){throw new Ys("Texture sampling with gradients relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSampleGrad",normalImpl:BC,codegenImpl:(e,t)=>ce`textureSampleGrad(${t})`,signature:(...e)=>({argTypes:e,returnType:Oe}),sideEffects:!1});pe({name:"textureSampleBaseClampToEdge",normalImpl:FC,codegenImpl:(e,t)=>ce`textureSampleBaseClampToEdge(${t})`,signature:(...e)=>({argTypes:e,returnType:Oe}),sideEffects:!1});var v=EC,O_="uniforms";function j6(e){return e.replace(/[^a-zA-Z0-9_]/g,"_")}var WC=new Set(["alias","break","case","const","const_assert","continue","continuing","default","diagnostic","discard","else","enable","false","fn","for","if","let","loop","override","requires","return","struct","switch","true","var","while","NULL","Self","abstract","active","alignas","alignof","as","asm","asm_fragment","async","attribute","auto","await","become","cast","catch","class","co_await","co_return","co_yield","coherent","column_major","common","compile","compile_fragment","concept","const_cast","consteval","constexpr","constinit","crate","debugger","decltype","delete","demote","demote_to_helper","do","dynamic_cast","enum","explicit","export","extends","extern","external","fallthrough","filter","final","finally","friend","from","fxgroup","get","goto","groupshared","highp","impl","implements","import","inline","instanceof","interface","layout","lowp","macro","macro_rules","match","mediump","meta","mod","module","move","mut","mutable","namespace","new","nil","noexcept","noinline","nointerpolation","non_coherent","noncoherent","noperspective","null","nullptr","of","operator","package","packoffset","partition","pass","patch","pixelfragment","precise","precision","premerge","priv","protected","pub","public","readonly","ref","regardless","register","reinterpret_cast","require","resource","restrict","self","set","shared","sizeof","smooth","snorm","static","static_assert","static_cast","std","subroutine","super","target","template","this","thread_local","throw","trait","try","type","typedef","typeid","typename","typeof","union","unless","unorm","unsafe","unsized","use","using","varying","virtual","volatile","wgsl","where","with","writeonly","yield","sampler","uniform","storage"]);function OC(e){let t=j6(e);return WC.has(t)?`${t}_`:t}function Lo(e){return`n_${j6(e)}`}function Vp(e){return e==="vec2"?2:e==="vec3"?3:4}function K6(e){let t=e.type;return t==="vec2f"||t==="vec2i"||t==="vec2u"?"vec2":t==="vec3f"||t==="vec3i"||t==="vec3u"?"vec3":t==="vec4f"||t==="vec4i"||t==="vec4u"?"vec4":"scalar"}function VC(e){return e.type==="array"}function Z6(e){if(typeof e=="number"||typeof e=="boolean")return a;if(e&&typeof e=="object"){let t=e.kind;if(typeof t=="string"){if(t.startsWith("vec2"))return l;if(t.startsWith("vec3"))return f;if(t.startsWith("vec4"))return x}if(Array.isArray(e))return pt(a,e.length||1);let s=e;if("w"in s)return x;if("z"in s)return f;if("x"in s&&"y"in s)return l}return Array.isArray(e)?pt(a,e.length||1):a}function Np(e,t){let s=e;if(s&&typeof s=="object"&&"data"in s&&!("x"in s)&&(s=s.data),typeof s=="number")return new Array(t).fill(s);if(s instanceof Q6)return s.toArray().slice(0,t);if(Array.isArray(s))return cg(s,t);if(s&&typeof s=="object"){let r=s;if("x"in r){let o=[r.x,r.y??0];return t>=3&&o.push(r.z??0),t>=4&&o.push(r.w??0),o.slice(0,t)}if(typeof r.length=="number")return cg(Array.from(r),t)}throw new Error(`[uniformStore] cannot coerce value to a ${t}-component vector: ${String(e)}`)}function cg(e,t){let s=e.slice(0,t);for(;s.lengthe))(ut({time:a,deltaTime:a,frame:a,viewportSize:l,logicalViewportSize:l,aspect:a,pointer:l,pointerActive:a}),"SystemUniforms"),XC={time:0,deltaTime:0,frame:0,viewportSize:[1,1],logicalViewportSize:[1,1],aspect:1,pointer:[.5,.5],pointerActive:0};function J6(e,t={}){let s=t.systemSchema??qC,r={...XC,...t.systemInitial??{}},o=new Map,n=new Map,i={},d=s,c=!1,_=new Set,u=new Map,m=new Map,p={markScalar(T){_.add(T)},markArray(T,A){if(A==="all"){u.set(T,"all");return}let P=u.get(T);P!=="all"&&(P?P.add(A):u.set(T,new Set([A])))}},y;function h(T,A){let P={},U={};for(let D of A){let O=OC(D.name),L=D.transform?D.transform(D.initial):D.initial,G=D.cpu??typeof L=="string";if(D.transform&&!G&&!NC(L)&&!lg.has(D.transform)&&(lg.add(D.transform),console.warn(`[gpu] prop transform for "${D.name}" returned a non-packable value \u2014 the uniform field will be NaN. A prop transform must return a number, boolean, vector, or array (or a string for cpu-only props).`,L)),G){P[D.name]=new Oo({sink:p,gpuPath:[T,O],initial:L,transform:D.transform,cpu:!0});continue}let W=L&&typeof L=="object"&&"data"in L?L.data:L,K=D.schema??Z6(W);if(U[O]=K,VC(K)){let Q=new Sc({sink:p,gpuPath:[T,O],schema:K,initial:D.initial,transform:D.transform});P[D.name]=Q}else{let Q=new Oo({sink:p,gpuPath:[T,O],schema:K,initial:L,transform:D.transform});P[D.name]=Q}}return{handles:P,struct:(globalThis.__TYPEGPU_AUTONAME__??(D=>D))(ut(U),"struct")}}function g(){if(y)throw new Error("[uniformStore] cannot register fields after finalize()")}function w(){let T={};for(let[A,P]of n)T[A]=S(P,A);return T._sys=S(i,"_sys"),T}function S(T,A){let P={};for(let U of Object.values(T))U instanceof Sc?P[U.gpuPath[1]]=U._wholeArray():U.cpu||(P[U.gpuPath[1]]=U._patchValue());if(A)for(let U of m.get(A)??[])P[U]=0;return P}return{get schema(){return y?.schema},get layout(){return y?.layout},get buffer(){return y?.buffer},get bindGroup(){return y?.bindGroup},get systemHandles(){return i},defineNode(T,A){g();let P=Lo(T),{handles:U,struct:D}=h(P,A);return o.set(P,D),n.set(P,U),U},defineSystem(T){if(g(),T&&T.length){let A=h("_sys",T);i=A.handles,d=A.struct}else{let A=h("_sys",Object.entries(s.propTypes).map(([P,U])=>({name:P,schema:U,initial:r[P]??0})));i=A.handles,d=A.struct}return c=!0,i},finalize(){if(y)return y;c||this.defineSystem();let T=(W,K)=>{if(Object.keys(K.propTypes).length===0){let ee=["_pad0","_pad1","_pad2","_pad3"];return m.set(W,ee),ut(Object.fromEntries(ee.map(he=>[he,a])))}let Q=K,te=[];for(;xx(Q)%16!==0;){let ee=`_pad${te.length}`;for(;ee in K.propTypes;)ee=`_${ee}`;te.push(ee);let he={...K.propTypes};for(let Ee of te)he[Ee]=a;Q=(globalThis.__TYPEGPU_AUTONAME__??(Ee=>Ee))(ut(he),"padded")}return te.length&&m.set(W,te),Q},A={};for(let[W,K]of o)A[W]=T(W,K);A._sys=T("_sys",d);let P=(globalThis.__TYPEGPU_AUTONAME__??(W=>W))(ut(A),"combined"),U=xx(P),D=e.device?.limits?.maxUniformBufferBindingSize,O=typeof D=="number"&&D>0?D:65536;if(U>O)throw new mi("limit-exceeded",`[gpu] this composition needs ${U} bytes of uniform data across ${o.size} nodes, but the device caps a uniform binding at ${O} bytes. Reduce the number of layers.`);let L=(globalThis.__TYPEGPU_AUTONAME__??(W=>W))(e.createBuffer(P).$usage("uniform"),"buffer"),G=(globalThis.__TYPEGPU_AUTONAME__??(W=>W))(v.bindGroupLayout({[O_]:{uniform:P}}),"layout");return y={schema:P,layout:G,buffer:L,bindGroup:e.createBindGroup(G,{[O_]:L}),uniformEntryKey:O_},this.writeAll(),y},flush(){if(!y||_.size===0&&u.size===0)return;let T={},A=P=>T[P]??={};for(let P of _)A(P.gpuPath[0])[P.gpuPath[1]]=P._patchValue();for(let[P,U]of u){let D=A(P.gpuPath[0]);if(U==="all")D[P.gpuPath[1]]=P._wholeArray();else if(P.componentsPerElement===1){let O={};for(let L of U)O[L]=P._elementAt(L);D[P.gpuPath[1]]=O}else{let O=P.componentsPerElement,L={};for(let G of U){let W=Math.floor(G/O);L[W]=P._elementTuple(W)}D[P.gpuPath[1]]=L}}y.buffer.patch(T),_.clear(),u.clear()},writeAll(){y&&(y.buffer.write(w()),_.clear(),u.clear())},gpuAccessor(T,A="layout"){return`${A}.$.${O_}.${T.accessorPath}`},destroy(){y?.buffer.destroy?.(),y=void 0,o.clear(),n.clear(),_.clear(),u.clear(),m.clear()}}}function e7(e,t){if(e instanceof Sc){Array.isArray(t)&&(e.array=t);return}e.setFromRaw(t)}var Le=Math.PI/180;180/Math.PI;var Xr=Math.PI,it=Math.PI*2,ao=it,Gl=Math.PI/2,_a=Math.sqrt(3),HC=2.3999632297286535,Ar=v.fn([R,Z],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t<>R(__tsover_sub(Z(32),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"k"}],body:[0,[[10,[1,[1,"x","<<",[6,"d.u32",["k"]]],"|",[1,"x",">>",[6,"d.u32",[[1,[6,"d.i32",[[5,"32"]]],"-","k"]]]]]]]]},externals:{"d.u32":()=>R,"d.i32":()=>Z}})&&e.f)({})),Xi=v.fn([R,R,R],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=t,n=s,i=r;return i=i^n,i=__tsover_sub(i,Ar(n,Z(14))),o=o^i,o=__tsover_sub(o,Ar(i,Z(11))),n=n^o,n=__tsover_sub(n,Ar(o,Z(25))),i=i^n,i=__tsover_sub(i,Ar(n,Z(16))),o=o^i,o=__tsover_sub(o,Ar(i,Z(4))),n=n^o,n=__tsover_sub(n,Ar(o,Z(14))),i=i^n,i=__tsover_sub(i,Ar(n,Z(24))),i}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a0"},{type:"i",name:"b0"},{type:"i",name:"c0"}],body:[0,[[12,"a","a0"],[12,"b","b0"],[12,"c","c0"],[2,"c","=",[1,"c","^","b"]],[2,"c","=",[1,"c","-",[6,"mxRotl32",["b",[6,"d.i32",[[5,"14"]]]]]]],[2,"a","=",[1,"a","^","c"]],[2,"a","=",[1,"a","-",[6,"mxRotl32",["c",[6,"d.i32",[[5,"11"]]]]]]],[2,"b","=",[1,"b","^","a"]],[2,"b","=",[1,"b","-",[6,"mxRotl32",["a",[6,"d.i32",[[5,"25"]]]]]]],[2,"c","=",[1,"c","^","b"]],[2,"c","=",[1,"c","-",[6,"mxRotl32",["b",[6,"d.i32",[[5,"16"]]]]]]],[2,"a","=",[1,"a","^","c"]],[2,"a","=",[1,"a","-",[6,"mxRotl32",["c",[6,"d.i32",[[5,"4"]]]]]]],[2,"b","=",[1,"b","^","a"]],[2,"b","=",[1,"b","-",[6,"mxRotl32",["a",[6,"d.i32",[[5,"14"]]]]]]],[2,"c","=",[1,"c","^","b"]],[2,"c","=",[1,"c","-",[6,"mxRotl32",["b",[6,"d.i32",[[5,"24"]]]]]]],[10,"c"]]]},externals:{mxRotl32:()=>Ar,"d.i32":()=>Z}})&&e.f)({})),Hi=3735928559,Ld=v.fn([Z,Z],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=R(2),o=__tsover_add(__tsover_add(R(Hi),r<R,DEADBEEF:()=>Hi,mxBjfinal:()=>Xi}})&&e.f)({})),oo=v.fn([Z,Z,Z],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=R(3),n=__tsover_add(__tsover_add(R(Hi),o<R,DEADBEEF:()=>Hi,mxBjfinal:()=>Xi}})&&e.f)({})),V_=v.fn([Z,Z,Z,Z],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=R(4),i=__tsover_add(__tsover_add(R(Hi),n<R,DEADBEEF:()=>Hi,mxRotl32:()=>Ar,"d.i32":()=>Z,mxBjfinal:()=>Xi}})&&e.f)({})),ea=v.fn([R],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_div(a(t),a(4294967295))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"bits"}],body:[0,[[10,[1,[6,"d.f32",["bits"]],"/",[6,"d.f32",[[5,"4294967295"]]]]]]]},externals:{"d.f32":()=>a}})&&e.f)({})),Ia=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(__tsover_mul(__tsover_mul(t,t),t),__tsover_add(__tsover_mul(t,__tsover_sub(__tsover_mul(t,6),15)),10))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[1,[1,[1,"t","*","t"],"*","t"],"*",[1,[1,"t","*",[1,[1,"t","*",[5,"6"]],"-",[5,"15"]]],"+",[5,"10"]]]]]]},externals:{}})&&e.f)({})),Id=v.fn([R,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=t&R(7),n=C(r,s,oR,"std.select":()=>C}})&&e.f)({})),yn=v.fn([R,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=t&R(15),i=C(r,s,nR,"std.select":()=>C}})&&e.f)({})),ug=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(.6616,t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[1,[5,"0.6616"],"*","v"]]]]},externals:{}})&&e.f)({})),mg=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(.982,t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[1,[5,"0.982"],"*","v"]]]]},externals:{}})&&e.f)({})),pg=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_sub(1,n);return __tsover_add(__tsover_mul(__tsover_sub(1,i),__tsover_add(__tsover_mul(t,d),__tsover_mul(s,n))),__tsover_mul(i,__tsover_add(__tsover_mul(r,d),__tsover_mul(o,n))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v0"},{type:"i",name:"v1"},{type:"i",name:"v2"},{type:"i",name:"v3"},{type:"i",name:"s"},{type:"i",name:"t"}],body:[0,[[13,"s1",[1,[5,"1"],"-","s"]],[10,[1,[1,[1,[5,"1"],"-","t"],"*",[1,[1,"v0","*","s1"],"+",[1,"v1","*","s"]]],"+",[1,"t","*",[1,[1,"v2","*","s1"],"+",[1,"v3","*","s"]]]]]]]},externals:{}})&&e.f)({})),fg=v.fn([a,a,a,a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=__tsover_sub(1,_),y=__tsover_sub(1,u),h=__tsover_sub(1,m);return __tsover_add(__tsover_mul(h,__tsover_add(__tsover_mul(y,__tsover_add(__tsover_mul(t,p),__tsover_mul(s,_))),__tsover_mul(u,__tsover_add(__tsover_mul(r,p),__tsover_mul(o,_))))),__tsover_mul(m,__tsover_add(__tsover_mul(y,__tsover_add(__tsover_mul(n,p),__tsover_mul(i,_))),__tsover_mul(u,__tsover_add(__tsover_mul(d,p),__tsover_mul(c,_))))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v0"},{type:"i",name:"v1"},{type:"i",name:"v2"},{type:"i",name:"v3"},{type:"i",name:"v4"},{type:"i",name:"v5"},{type:"i",name:"v6"},{type:"i",name:"v7"},{type:"i",name:"s"},{type:"i",name:"t"},{type:"i",name:"r"}],body:[0,[[13,"s1",[1,[5,"1"],"-","s"]],[13,"t1",[1,[5,"1"],"-","t"]],[13,"r1",[1,[5,"1"],"-","r"]],[10,[1,[1,"r1","*",[1,[1,"t1","*",[1,[1,"v0","*","s1"],"+",[1,"v1","*","s"]]],"+",[1,"t","*",[1,[1,"v2","*","s1"],"+",[1,"v3","*","s"]]]]],"+",[1,"r","*",[1,[1,"t1","*",[1,[1,"v4","*","s1"],"+",[1,"v5","*","s"]]],"+",[1,"t","*",[1,[1,"v6","*","s1"],"+",[1,"v7","*","s"]]]]]]]]]},externals:{}})&&e.f)({})),vg=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(q(t.x)),r=Z(q(t.y)),o=__tsover_sub(t.x,a(s)),n=__tsover_sub(t.y,a(r)),i=Ia(o),d=Ia(n);return ug(pg(Id(Ld(s,r),o,n),Id(Ld(__tsover_add(s,Z(1)),r),__tsover_sub(o,1),n),Id(Ld(s,__tsover_add(r,Z(1))),o,__tsover_sub(n,1)),Id(Ld(__tsover_add(s,Z(1)),__tsover_add(r,Z(1))),__tsover_sub(o,1),__tsover_sub(n,1)),i,d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"X",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"Y",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"fx",[1,[7,"p","x"],"-",[6,"d.f32",["X"]]]],[13,"fy",[1,[7,"p","y"],"-",[6,"d.f32",["Y"]]]],[13,"u",[6,"mxFade",["fx"]]],[13,"v",[6,"mxFade",["fy"]]],[13,"result",[6,"mxBilerp",[[6,"mxGradientFloat2",[[6,"mxHashInt1",["X","Y"]],"fx","fy"]],[6,"mxGradientFloat2",[[6,"mxHashInt1",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],"Y"]],[1,"fx","-",[5,"1"]],"fy"]],[6,"mxGradientFloat2",[[6,"mxHashInt1",["X",[1,"Y","+",[6,"d.i32",[[5,"1"]]]]]],"fx",[1,"fy","-",[5,"1"]]]],[6,"mxGradientFloat2",[[6,"mxHashInt1",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],[1,"Y","+",[6,"d.i32",[[5,"1"]]]]]],[1,"fx","-",[5,"1"]],[1,"fy","-",[5,"1"]]]],"u","v"]]],[10,[6,"mxGradientScale2d",["result"]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.f32":()=>a,mxFade:()=>Ia,mxBilerp:()=>pg,mxGradientFloat2:()=>Id,mxHashInt1:()=>Ld,mxGradientScale2d:()=>ug}})&&e.f)({})),yg=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(q(t.x)),r=Z(q(t.y)),o=Z(q(t.z)),n=__tsover_sub(t.x,a(s)),i=__tsover_sub(t.y,a(r)),d=__tsover_sub(t.z,a(o)),c=Ia(n),_=Ia(i),u=Ia(d);return mg(fg(yn(oo(s,r,o),n,i,d),yn(oo(__tsover_add(s,Z(1)),r,o),__tsover_sub(n,1),i,d),yn(oo(s,__tsover_add(r,Z(1)),o),n,__tsover_sub(i,1),d),yn(oo(__tsover_add(s,Z(1)),__tsover_add(r,Z(1)),o),__tsover_sub(n,1),__tsover_sub(i,1),d),yn(oo(s,r,__tsover_add(o,Z(1))),n,i,__tsover_sub(d,1)),yn(oo(__tsover_add(s,Z(1)),r,__tsover_add(o,Z(1))),__tsover_sub(n,1),i,__tsover_sub(d,1)),yn(oo(s,__tsover_add(r,Z(1)),__tsover_add(o,Z(1))),n,__tsover_sub(i,1),__tsover_sub(d,1)),yn(oo(__tsover_add(s,Z(1)),__tsover_add(r,Z(1)),__tsover_add(o,Z(1))),__tsover_sub(n,1),__tsover_sub(i,1),__tsover_sub(d,1)),c,_,u))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"X",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"Y",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"Z",[6,"d.i32",[[6,"std.floor",[[7,"p","z"]]]]]],[13,"fx",[1,[7,"p","x"],"-",[6,"d.f32",["X"]]]],[13,"fy",[1,[7,"p","y"],"-",[6,"d.f32",["Y"]]]],[13,"fz",[1,[7,"p","z"],"-",[6,"d.f32",["Z"]]]],[13,"u",[6,"mxFade",["fx"]]],[13,"v",[6,"mxFade",["fy"]]],[13,"w",[6,"mxFade",["fz"]]],[13,"result",[6,"mxTrilerp",[[6,"mxGradientFloat3",[[6,"mxHashInt2",["X","Y","Z"]],"fx","fy","fz"]],[6,"mxGradientFloat3",[[6,"mxHashInt2",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],"Y","Z"]],[1,"fx","-",[5,"1"]],"fy","fz"]],[6,"mxGradientFloat3",[[6,"mxHashInt2",["X",[1,"Y","+",[6,"d.i32",[[5,"1"]]]],"Z"]],"fx",[1,"fy","-",[5,"1"]],"fz"]],[6,"mxGradientFloat3",[[6,"mxHashInt2",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],[1,"Y","+",[6,"d.i32",[[5,"1"]]]],"Z"]],[1,"fx","-",[5,"1"]],[1,"fy","-",[5,"1"]],"fz"]],[6,"mxGradientFloat3",[[6,"mxHashInt2",["X","Y",[1,"Z","+",[6,"d.i32",[[5,"1"]]]]]],"fx","fy",[1,"fz","-",[5,"1"]]]],[6,"mxGradientFloat3",[[6,"mxHashInt2",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],"Y",[1,"Z","+",[6,"d.i32",[[5,"1"]]]]]],[1,"fx","-",[5,"1"]],"fy",[1,"fz","-",[5,"1"]]]],[6,"mxGradientFloat3",[[6,"mxHashInt2",["X",[1,"Y","+",[6,"d.i32",[[5,"1"]]]],[1,"Z","+",[6,"d.i32",[[5,"1"]]]]]],"fx",[1,"fy","-",[5,"1"]],[1,"fz","-",[5,"1"]]]],[6,"mxGradientFloat3",[[6,"mxHashInt2",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],[1,"Y","+",[6,"d.i32",[[5,"1"]]]],[1,"Z","+",[6,"d.i32",[[5,"1"]]]]]],[1,"fx","-",[5,"1"]],[1,"fy","-",[5,"1"]],[1,"fz","-",[5,"1"]]]],"u","v","w"]]],[10,[6,"mxGradientScale3d",["result"]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.f32":()=>a,mxFade:()=>Ia,mxTrilerp:()=>fg,mxGradientFloat3:()=>yn,mxHashInt2:()=>oo,mxGradientScale3d:()=>mg}})&&e.f)({})),hg=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(q(t.x)),r=Z(q(t.y));return f(ea(oo(s,r,Z(0))),ea(oo(s,r,Z(1))),ea(oo(s,r,Z(2))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"ix",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"iy",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[10,[6,"d.vec3f",[[6,"mxBitsTo01",[[6,"mxHashInt2",["ix","iy",[6,"d.i32",[[5,"0"]]]]]]],[6,"mxBitsTo01",[[6,"mxHashInt2",["ix","iy",[6,"d.i32",[[5,"1"]]]]]]],[6,"mxBitsTo01",[[6,"mxHashInt2",["ix","iy",[6,"d.i32",[[5,"2"]]]]]]]]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.vec3f":()=>f,mxBitsTo01:()=>ea,mxHashInt2:()=>oo}})&&e.f)({})),xg=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(q(t.x)),r=Z(q(t.y)),o=Z(q(t.z));return f(ea(V_(s,r,o,Z(0))),ea(V_(s,r,o,Z(1))),ea(V_(s,r,o,Z(2))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"ix",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"iy",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"iz",[6,"d.i32",[[6,"std.floor",[[7,"p","z"]]]]]],[10,[6,"d.vec3f",[[6,"mxBitsTo01",[[6,"mxHashInt3",["ix","iy","iz",[6,"d.i32",[[5,"0"]]]]]]],[6,"mxBitsTo01",[[6,"mxHashInt3",["ix","iy","iz",[6,"d.i32",[[5,"1"]]]]]]],[6,"mxBitsTo01",[[6,"mxHashInt3",["ix","iy","iz",[6,"d.i32",[[5,"2"]]]]]]]]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.vec3f":()=>f,mxBitsTo01:()=>ea,mxHashInt3:()=>V_}})&&e.f)({})),gg=v.fn([l,Z,Z,Z,Z,a,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=hg(l(a(__tsover_add(s,o)),a(__tsover_add(r,n)))),_=l(c.x,c.y);_=Pn(vr(ht(_,.5),i),.5);let u=ht(Pn(l(a(s),a(r)),_),t);return d===Z(2)?__tsover_add(z(u.x),z(u.y)):d===Z(3)?b(z(u.x),z(u.y)):se(u,u)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"x"},{type:"i",name:"y"},{type:"i",name:"xoff"},{type:"i",name:"yoff"},{type:"i",name:"jitter"},{type:"i",name:"metric"}],body:[0,[[13,"tmp",[6,"mxCellNoiseVec3_2d",[[6,"d.vec2f",[[6,"d.f32",[[1,"x","+","xoff"]]],[6,"d.f32",[[1,"y","+","yoff"]]]]]]]],[12,"off",[6,"d.vec2f",[[7,"tmp","x"],[7,"tmp","y"]]]],[2,"off","=",[6,"std.add",[[6,"std.mul",[[6,"std.sub",["off",[5,"0.5"]]],"jitter"]],[5,"0.5"]]]],[13,"cellpos",[6,"std.add",[[6,"d.vec2f",[[6,"d.f32",["x"]],[6,"d.f32",["y"]]]],"off"]]],[13,"diff",[6,"std.sub",["cellpos","p"]]],[11,[1,"metric","===",[6,"d.i32",[[5,"2"]]]],[0,[[10,[1,[6,"std.abs",[[7,"diff","x"]]],"+",[6,"std.abs",[[7,"diff","y"]]]]]]]],[11,[1,"metric","===",[6,"d.i32",[[5,"3"]]]],[0,[[10,[6,"std.max",[[6,"std.abs",[[7,"diff","x"]]],[6,"std.abs",[[7,"diff","y"]]]]]]]]],[10,[6,"std.dot",["diff","diff"]]]]]},externals:{mxCellNoiseVec3_2d:()=>hg,"d.vec2f":()=>l,"d.f32":()=>a,"std.add":()=>Pn,"std.mul":()=>vr,"std.sub":()=>ht,"d.i32":()=>Z,"std.abs":()=>z,"std.max":()=>b,"std.dot":()=>se}})&&e.f)({})),bg=v.fn([f,Z,Z,Z,Z,Z,Z,a,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=xg(f(a(__tsover_add(s,n)),a(__tsover_add(r,i)),a(__tsover_add(o,d))));u=Pn(vr(ht(u,.5),c),.5);let m=ht(Pn(f(a(s),a(r),a(o)),u),t);return _===Z(2)?__tsover_add(__tsover_add(z(m.x),z(m.y)),z(m.z)):_===Z(3)?b(b(z(m.x),z(m.y)),z(m.z)):se(m,m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"x"},{type:"i",name:"y"},{type:"i",name:"z"},{type:"i",name:"xoff"},{type:"i",name:"yoff"},{type:"i",name:"zoff"},{type:"i",name:"jitter"},{type:"i",name:"metric"}],body:[0,[[12,"off",[6,"mxCellNoiseVec3_3d",[[6,"d.vec3f",[[6,"d.f32",[[1,"x","+","xoff"]]],[6,"d.f32",[[1,"y","+","yoff"]]],[6,"d.f32",[[1,"z","+","zoff"]]]]]]]],[2,"off","=",[6,"std.add",[[6,"std.mul",[[6,"std.sub",["off",[5,"0.5"]]],"jitter"]],[5,"0.5"]]]],[13,"cellpos",[6,"std.add",[[6,"d.vec3f",[[6,"d.f32",["x"]],[6,"d.f32",["y"]],[6,"d.f32",["z"]]]],"off"]]],[13,"diff",[6,"std.sub",["cellpos","p"]]],[11,[1,"metric","===",[6,"d.i32",[[5,"2"]]]],[0,[[10,[1,[1,[6,"std.abs",[[7,"diff","x"]]],"+",[6,"std.abs",[[7,"diff","y"]]]],"+",[6,"std.abs",[[7,"diff","z"]]]]]]]],[11,[1,"metric","===",[6,"d.i32",[[5,"3"]]]],[0,[[10,[6,"std.max",[[6,"std.max",[[6,"std.abs",[[7,"diff","x"]]],[6,"std.abs",[[7,"diff","y"]]]]],[6,"std.abs",[[7,"diff","z"]]]]]]]]],[10,[6,"std.dot",["diff","diff"]]]]]},externals:{mxCellNoiseVec3_3d:()=>xg,"d.vec3f":()=>f,"d.f32":()=>a,"std.add":()=>Pn,"std.mul":()=>vr,"std.sub":()=>ht,"d.i32":()=>Z,"std.abs":()=>z,"std.max":()=>b,"std.dot":()=>se}})&&e.f)({})),wg=v.fn([l,a,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Z(q(t.x)),n=Z(q(t.y)),i=l(__tsover_sub(t.x,a(o)),__tsover_sub(t.y,a(n))),d=a(1e6);for(let c=-1;c<=1;c++)for(let _=-1;_<=1;_++){let u=gg(i,c,_,o,n,s,r);d=oe(d,u)}return r===Z(0)&&(d=be(d)),d}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"jitter"},{type:"i",name:"metric"}],body:[0,[[13,"X",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"Y",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"localpos",[6,"d.vec2f",[[1,[7,"p","x"],"-",[6,"d.f32",["X"]]],[1,[7,"p","y"],"-",[6,"d.f32",["Y"]]]]]],[12,"sqdist",[6,"d.f32",[[5,"1000000"]]]],[14,[12,"x",[4,"-",[5,"1"]]],[1,"x","<=",[5,"1"]],[102,"++","x"],[0,[[14,[12,"y",[4,"-",[5,"1"]]],[1,"y","<=",[5,"1"]],[102,"++","y"],[0,[[13,"dist",[6,"mxWorleyDistance2d",["localpos","x","y","X","Y","jitter","metric"]]],[2,"sqdist","=",[6,"std.min",["sqdist","dist"]]]]]]]]],[11,[1,"metric","===",[6,"d.i32",[[5,"0"]]]],[0,[[2,"sqdist","=",[6,"std.sqrt",["sqdist"]]]]]],[10,"sqdist"]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.vec2f":()=>l,"d.f32":()=>a,mxWorleyDistance2d:()=>gg,"std.min":()=>oe,"std.sqrt":()=>be}})&&e.f)({})),Tg=v.fn([f,a,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Z(q(t.x)),n=Z(q(t.y)),i=Z(q(t.z)),d=f(__tsover_sub(t.x,a(o)),__tsover_sub(t.y,a(n)),__tsover_sub(t.z,a(i))),c=a(1e6);for(let _=-1;_<=1;_++)for(let u=-1;u<=1;u++)for(let m=-1;m<=1;m++){let p=bg(d,_,u,m,o,n,i,s,r);c=oe(c,p)}return r===Z(0)&&(c=be(c)),c}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"jitter"},{type:"i",name:"metric"}],body:[0,[[13,"X",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"Y",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"Z",[6,"d.i32",[[6,"std.floor",[[7,"p","z"]]]]]],[13,"localpos",[6,"d.vec3f",[[1,[7,"p","x"],"-",[6,"d.f32",["X"]]],[1,[7,"p","y"],"-",[6,"d.f32",["Y"]]],[1,[7,"p","z"],"-",[6,"d.f32",["Z"]]]]]],[12,"sqdist",[6,"d.f32",[[5,"1000000"]]]],[14,[12,"x",[4,"-",[5,"1"]]],[1,"x","<=",[5,"1"]],[102,"++","x"],[0,[[14,[12,"y",[4,"-",[5,"1"]]],[1,"y","<=",[5,"1"]],[102,"++","y"],[0,[[14,[12,"z",[4,"-",[5,"1"]]],[1,"z","<=",[5,"1"]],[102,"++","z"],[0,[[13,"dist",[6,"mxWorleyDistance3d",["localpos","x","y","z","X","Y","Z","jitter","metric"]]],[2,"sqdist","=",[6,"std.min",["sqdist","dist"]]]]]]]]]]]],[11,[1,"metric","===",[6,"d.i32",[[5,"0"]]]],[0,[[2,"sqdist","=",[6,"std.sqrt",["sqdist"]]]]]],[10,"sqdist"]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.vec3f":()=>f,"d.f32":()=>a,mxWorleyDistance3d:()=>bg,"std.min":()=>oe,"std.sqrt":()=>be}})&&e.f)({})),Ei=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return vg(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"mxPerlinNoiseFloat2",["p"]]]]]},externals:{mxPerlinNoiseFloat2:()=>vg}})&&e.f)({})),go=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return yg(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"mxPerlinNoiseFloat3",["p"]]]]]},externals:{mxPerlinNoiseFloat3:()=>yg}})&&e.f)({})),jC=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return wg(t,s,Z(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"jitter"}],body:[0,[[10,[6,"mxWorleyNoiseFloat2",["p","jitter",[6,"d.i32",[[5,"1"]]]]]]]]},externals:{mxWorleyNoiseFloat2:()=>wg,"d.i32":()=>Z}})&&e.f)({}));v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return Tg(t,s,Z(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"jitter"}],body:[0,[[10,[6,"mxWorleyNoiseFloat3",["p","jitter",[6,"d.i32",[[5,"1"]]]]]]]]},externals:{mxWorleyNoiseFloat3:()=>Tg,"d.i32":()=>Z}})&&e.f)({}));var Sg=v.fn([a],R)("(x: f32) -> u32 { return bitcast(x); }"),ji=v.fn([l],Ge)("(v: vec2f) -> vec2u { return bitcast(v); }"),Yl=v.fn([f],Oa)("(v: vec3f) -> vec3u { return bitcast(v); }"),Po=a(4294967295),Gs=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Sg(__tsover_mul(t,3141592653));return __tsover_div(a(__tsover_mul(__tsover_mul(s,s),R(3141592653))),Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint1",[[1,"p","*",[5,"3141592653"]]]]],[10,[1,[6,"d.f32",[[1,[1,"u","*","u"],"*",[6,"d.u32",[[5,"3141592653"]]]]]],"/","U32"]]]]},externals:{floatBitsToUint1:()=>Sg,"d.f32":()=>a,"d.u32":()=>R,U32:()=>Po}})&&e.f)({})),Ot=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ji(t.mul(l(141421356,2718281828)));return __tsover_div(a(__tsover_mul(s.x^s.y,R(3141592653))),Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint2",[[6,[7,"p","mul"],[[6,"d.vec2f",[[5,"141421356"],[5,"2718281828"]]]]]]]],[10,[1,[6,"d.f32",[[1,[1,[7,"u","x"],"^",[7,"u","y"]],"*",[6,"d.u32",[[5,"3141592653"]]]]]],"/","U32"]]]]},externals:{floatBitsToUint2:()=>ji,"d.vec2f":()=>l,"d.f32":()=>a,"d.u32":()=>R,U32:()=>Po}})&&e.f)({})),er=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ji(t.mul(l(141421356,2718281828))),r=s.x^s.y,o=vr(Ge(r,r),Ge(3141592653,1618033988));return l(a(o.x),a(o.y)).div(Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint2",[[6,[7,"p","mul"],[[6,"d.vec2f",[[5,"141421356"],[5,"2718281828"]]]]]]]],[13,"h",[1,[7,"u","x"],"^",[7,"u","y"]]],[13,"prod",[6,"std.mul",[[6,"d.vec2u",["h","h"]],[6,"d.vec2u",[[5,"3141592653"],[5,"1618033988"]]]]]],[10,[6,[7,[6,"d.vec2f",[[6,"d.f32",[[7,"prod","x"]]],[6,"d.f32",[[7,"prod","y"]]]]],"div"],["U32"]]]]]},externals:{floatBitsToUint2:()=>ji,"d.vec2f":()=>l,"std.mul":()=>vr,"d.vec2u":()=>Ge,"d.f32":()=>a,U32:()=>Po}})&&e.f)({})),u8=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ji(t.mul(l(141421356,2718281828))),r=s.x^s.y,o=vr(Oa(r,r,r),Oa(1732050807,2645751311,3316624790));return f(a(o.x),a(o.y),a(o.z)).div(Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint2",[[6,[7,"p","mul"],[[6,"d.vec2f",[[5,"141421356"],[5,"2718281828"]]]]]]]],[13,"h",[1,[7,"u","x"],"^",[7,"u","y"]]],[13,"prod",[6,"std.mul",[[6,"d.vec3u",["h","h","h"]],[6,"d.vec3u",[[5,"1732050807"],[5,"2645751311"],[5,"3316624790"]]]]]],[10,[6,[7,[6,"d.vec3f",[[6,"d.f32",[[7,"prod","x"]]],[6,"d.f32",[[7,"prod","y"]]],[6,"d.f32",[[7,"prod","z"]]]]],"div"],["U32"]]]]]},externals:{floatBitsToUint2:()=>ji,"d.vec2f":()=>l,"std.mul":()=>vr,"d.vec3u":()=>Oa,"d.vec3f":()=>f,"d.f32":()=>a,U32:()=>Po}})&&e.f)({})),m8=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Yl(t.mul(f(141421356,2718281828,1618033988)));return __tsover_div(a(__tsover_mul(s.x^s.y^s.z,R(3141592653))),Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint3",[[6,[7,"p","mul"],[[6,"d.vec3f",[[5,"141421356"],[5,"2718281828"],[5,"1618033988"]]]]]]]],[10,[1,[6,"d.f32",[[1,[1,[1,[7,"u","x"],"^",[7,"u","y"]],"^",[7,"u","z"]],"*",[6,"d.u32",[[5,"3141592653"]]]]]],"/","U32"]]]]},externals:{floatBitsToUint3:()=>Yl,"d.vec3f":()=>f,"d.f32":()=>a,"d.u32":()=>R,U32:()=>Po}})&&e.f)({})),Ag=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Yl(t.mul(f(141421356,2718281828,1618033988))),r=s.x^s.y^s.z,o=vr(Oa(r,r,r),Oa(1732050807,2645751311,3316624790));return f(a(o.x),a(o.y),a(o.z)).div(Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint3",[[6,[7,"p","mul"],[[6,"d.vec3f",[[5,"141421356"],[5,"2718281828"],[5,"1618033988"]]]]]]]],[13,"h",[1,[1,[7,"u","x"],"^",[7,"u","y"]],"^",[7,"u","z"]]],[13,"prod",[6,"std.mul",[[6,"d.vec3u",["h","h","h"]],[6,"d.vec3u",[[5,"1732050807"],[5,"2645751311"],[5,"3316624790"]]]]]],[10,[6,[7,[6,"d.vec3f",[[6,"d.f32",[[7,"prod","x"]]],[6,"d.f32",[[7,"prod","y"]]],[6,"d.f32",[[7,"prod","z"]]]]],"div"],["U32"]]]]]},externals:{floatBitsToUint3:()=>Yl,"d.vec3f":()=>f,"std.mul":()=>vr,"d.vec3u":()=>Oa,"d.f32":()=>a,U32:()=>Po}})&&e.f)({})),Br=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=t.sub(s),o=r.mul(r).mul(ht(3,r.mul(2)));return X(X(Ot(s),Ot(s.add(l(1,0))),o.x),X(Ot(s.add(l(0,1))),Ot(s.add(l(1,1))),o.x),o.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f0",[6,[7,"p","sub"],["i"]]],[13,"f",[6,[7,[6,[7,"f0","mul"],["f0"]],"mul"],[[6,"std.sub",[[5,"3"],[6,[7,"f0","mul"],[[5,"2"]]]]]]]],[10,[6,"std.mix",[[6,"std.mix",[[6,"hash12",["i"]],[6,"hash12",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"0"]]]]]]],[7,"f","x"]]],[6,"std.mix",[[6,"hash12",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]]],[6,"hash12",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]],[7,"f","x"]]],[7,"f","y"]]]]]]},externals:{"std.floor":()=>q,"std.sub":()=>ht,"std.mix":()=>X,hash12:()=>Ot,"d.vec2f":()=>l}})&&e.f)({})),Dd=v.fn([l,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(r,o);return se(as(er(t.add(n)).sub(.5)),s.sub(n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"i"},{type:"i",name:"f"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[13,"o",[6,"d.vec2f",["ox","oy"]]],[10,[6,"std.dot",[[6,"std.normalize",[[6,[7,[6,"hash22",[[6,[7,"i","add"],["o"]]]],"sub"],[[5,"0.5"]]]]],[6,[7,"f","sub"],["o"]]]]]]]},externals:{"d.vec2f":()=>l,"std.dot":()=>se,"std.normalize":()=>as,hash22:()=>er}})&&e.f)({})),za=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=t.sub(s),o=r.mul(r).mul(r).mul(r.mul(r.mul(6).sub(15)).add(10)),n=Dd(s,r,0,0),i=Dd(s,r,1,0),d=Dd(s,r,0,1),c=Dd(s,r,1,1);return __tsover_add(__tsover_mul(X(X(n,i,o.x),X(d,c,o.x),o.y),.7),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,[7,"p","sub"],["i"]]],[13,"u",[6,[7,[6,[7,[6,[7,"f","mul"],["f"]],"mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[6,[7,[6,[7,"f","mul"],[[5,"6"]]],"sub"],[[5,"15"]]]]],"add"],[[5,"10"]]]]]],[13,"a",[6,"perlinGrad2",["i","f",[5,"0"],[5,"0"]]]],[13,"b",[6,"perlinGrad2",["i","f",[5,"1"],[5,"0"]]]],[13,"c",[6,"perlinGrad2",["i","f",[5,"0"],[5,"1"]]]],[13,"dd",[6,"perlinGrad2",["i","f",[5,"1"],[5,"1"]]]],[10,[1,[1,[6,"std.mix",[[6,"std.mix",["a","b",[7,"u","x"]]],[6,"std.mix",["c","dd",[7,"u","x"]]],[7,"u","y"]]],"*",[5,"0.7"]],"+",[5,"0.5"]]]]]},externals:{"std.floor":()=>q,perlinGrad2:()=>Dd,"std.mix":()=>X}})&&e.f)({})),la=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=ue(t),o=r.mul(r).mul(r).mul(r.mul(r.mul(6).sub(15)).add(10)),n=r.mul(r).mul(r.mul(r.sub(2)).add(1)).mul(30),i=er(s.add(l(0,0))).mul(2).sub(1),d=er(s.add(l(1,0))).mul(2).sub(1),c=er(s.add(l(0,1))).mul(2).sub(1),_=er(s.add(l(1,1))).mul(2).sub(1),u=se(i,r.sub(l(0,0))),m=se(d,r.sub(l(1,0))),p=se(c,r.sub(l(0,1))),y=se(_,r.sub(l(1,1))),h=__tsover_add(__tsover_sub(__tsover_sub(u,m),p),y),g=__tsover_add(__tsover_add(__tsover_add(u,__tsover_mul(o.x,__tsover_sub(m,u))),__tsover_mul(o.y,__tsover_sub(p,u))),__tsover_mul(__tsover_mul(o.x,o.y),h)),w=i.add(d.sub(i).mul(o.x)).add(c.sub(i).mul(o.y)).add(i.sub(d).sub(c).add(_).mul(__tsover_mul(o.x,o.y))).add(n.mul(l(o.y,o.x).mul(h).add(l(m,p)).sub(u)));return f(g,w.x,w.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,"std.fract",["p"]]],[13,"u",[6,[7,[6,[7,[6,[7,"f","mul"],["f"]],"mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[6,[7,[6,[7,"f","mul"],[[5,"6"]]],"sub"],[[5,"15"]]]]],"add"],[[5,"10"]]]]]],[13,"du",[6,[7,[6,[7,[6,[7,"f","mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[6,[7,"f","sub"],[[5,"2"]]]]],"add"],[[5,"1"]]]]],"mul"],[[5,"30"]]]],[13,"ga",[6,[7,[6,[7,[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"0"],[5,"0"]]]]]]],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[13,"gb",[6,[7,[6,[7,[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"0"]]]]]]],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[13,"gc",[6,[7,[6,[7,[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]]],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[13,"gd",[6,[7,[6,[7,[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[13,"va",[6,"std.dot",["ga",[6,[7,"f","sub"],[[6,"d.vec2f",[[5,"0"],[5,"0"]]]]]]]],[13,"vb",[6,"std.dot",["gb",[6,[7,"f","sub"],[[6,"d.vec2f",[[5,"1"],[5,"0"]]]]]]]],[13,"vc",[6,"std.dot",["gc",[6,[7,"f","sub"],[[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]]]],[13,"vd",[6,"std.dot",["gd",[6,[7,"f","sub"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]]],[13,"k",[1,[1,[1,"va","-","vb"],"-","vc"],"+","vd"]],[13,"value",[1,[1,[1,"va","+",[1,[7,"u","x"],"*",[1,"vb","-","va"]]],"+",[1,[7,"u","y"],"*",[1,"vc","-","va"]]],"+",[1,[1,[7,"u","x"],"*",[7,"u","y"]],"*","k"]]],[13,"deriv",[6,[7,[6,[7,[6,[7,[6,[7,"ga","add"],[[6,[7,[6,[7,"gb","sub"],["ga"]],"mul"],[[7,"u","x"]]]]],"add"],[[6,[7,[6,[7,"gc","sub"],["ga"]],"mul"],[[7,"u","y"]]]]],"add"],[[6,[7,[6,[7,[6,[7,[6,[7,"ga","sub"],["gb"]],"sub"],["gc"]],"add"],["gd"]],"mul"],[[1,[7,"u","x"],"*",[7,"u","y"]]]]]],"add"],[[6,[7,"du","mul"],[[6,[7,[6,[7,[6,[7,[6,"d.vec2f",[[7,"u","y"],[7,"u","x"]]],"mul"],["k"]],"add"],[[6,"d.vec2f",["vb","vc"]]]],"sub"],["va"]]]]]]],[10,[6,"d.vec3f",["value",[7,"deriv","x"],[7,"deriv","y"]]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,hash22:()=>er,"d.vec2f":()=>l,"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),Fd=v.fn([x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.mul(t.mul(34).add(1));return s.sub(q(s.div(289)).mul(289))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"}],body:[0,[[13,"xx",[6,[7,"x","mul"],[[6,[7,[6,[7,"x","mul"],[[5,"34"]]],"add"],[[5,"1"]]]]]],[10,[6,[7,"xx","sub"],[[6,[7,[6,"std.floor",[[6,[7,"xx","div"],[[5,"289"]]]]],"mul"],[[5,"289"]]]]]]]]},externals:{"std.floor":()=>q}})&&e.f)({})),p8=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=t.sub(s),o=r.mul(r).mul(ht(3,r.mul(2))),n=x(s.x,s.x,s.y,s.y).add(x(0,1,0,1)),i=Fd(x(n.x,n.y,n.x,n.y)),d=Fd(x(i.x,i.y,i.x,i.y).add(x(n.z,n.z,n.w,n.w))).add(x(s.z,s.z,s.z,s.z)),c=Fd(d),_=Fd(d.add(1)),u=X(ue(c.mul(.02439024)),ue(_.mul(.02439024)),x(o.z)),m=X(l(u.x,u.z),l(u.y,u.w),l(o.x));return X(m.x,m.y,o.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"a",[6,"std.floor",["p"]]],[13,"d0",[6,[7,"p","sub"],["a"]]],[13,"sd",[6,[7,[6,[7,"d0","mul"],["d0"]],"mul"],[[6,"std.sub",[[5,"3"],[6,[7,"d0","mul"],[[5,"2"]]]]]]]],[13,"b",[6,[7,[6,"d.vec4f",[[7,"a","x"],[7,"a","x"],[7,"a","y"],[7,"a","y"]]],"add"],[[6,"d.vec4f",[[5,"0"],[5,"1"],[5,"0"],[5,"1"]]]]]],[13,"k1",[6,"perm4",[[6,"d.vec4f",[[7,"b","x"],[7,"b","y"],[7,"b","x"],[7,"b","y"]]]]]],[13,"k2",[6,[7,[6,"perm4",[[6,[7,[6,"d.vec4f",[[7,"k1","x"],[7,"k1","y"],[7,"k1","x"],[7,"k1","y"]]],"add"],[[6,"d.vec4f",[[7,"b","z"],[7,"b","z"],[7,"b","w"],[7,"b","w"]]]]]]],"add"],[[6,"d.vec4f",[[7,"a","z"],[7,"a","z"],[7,"a","z"],[7,"a","z"]]]]]],[13,"k3",[6,"perm4",["k2"]]],[13,"k4",[6,"perm4",[[6,[7,"k2","add"],[[5,"1"]]]]]],[13,"o1",[6,"std.fract",[[6,[7,"k3","mul"],[[5,"0.02439024"]]]]]],[13,"o2",[6,"std.fract",[[6,[7,"k4","mul"],[[5,"0.02439024"]]]]]],[13,"o3",[6,"std.mix",["o1","o2",[6,"d.vec4f",[[7,"sd","z"]]]]]],[13,"o4",[6,"std.mix",[[6,"d.vec2f",[[7,"o3","x"],[7,"o3","z"]]],[6,"d.vec2f",[[7,"o3","y"],[7,"o3","w"]]],[6,"d.vec2f",[[7,"sd","x"]]]]]],[10,[6,"std.mix",[[7,"o4","x"],[7,"o4","y"],[7,"sd","y"]]]]]]},externals:{"std.floor":()=>q,"std.sub":()=>ht,"d.vec4f":()=>x,perm4:()=>Fd,"std.fract":()=>ue,"std.mix":()=>X,"d.vec2f":()=>l}})&&e.f)({})),hn=v.fn([f,f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=f(r,o,n);return se(s.sub(i),as(Ag(t.add(i)).sub(.5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"i"},{type:"i",name:"f"},{type:"i",name:"ox"},{type:"i",name:"oy"},{type:"i",name:"oz"}],body:[0,[[13,"o",[6,"d.vec3f",["ox","oy","oz"]]],[10,[6,"std.dot",[[6,[7,"f","sub"],["o"]],[6,"std.normalize",[[6,[7,[6,"hash33",[[6,[7,"i","add"],["o"]]]],"sub"],[[5,"0.5"]]]]]]]]]]},externals:{"d.vec3f":()=>f,"std.dot":()=>se,"std.normalize":()=>as,hash33:()=>Ag}})&&e.f)({})),Bd=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=t.sub(s),o=r.mul(r).mul(r).mul(r.mul(r.mul(6).sub(15)).add(10)),n=hn(s,r,0,0,0),i=hn(s,r,1,0,0),d=hn(s,r,0,1,0),c=hn(s,r,1,1,0),_=hn(s,r,0,0,1),u=hn(s,r,1,0,1),m=hn(s,r,0,1,1),p=hn(s,r,1,1,1),y=X(X(n,i,o.x),X(d,c,o.x),o.y),h=X(X(_,u,o.x),X(m,p,o.x),o.y);return __tsover_add(__tsover_mul(X(y,h,o.z),.7),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,[7,"p","sub"],["i"]]],[13,"u",[6,[7,[6,[7,[6,[7,"f","mul"],["f"]],"mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[6,[7,[6,[7,"f","mul"],[[5,"6"]]],"sub"],[[5,"15"]]]]],"add"],[[5,"10"]]]]]],[13,"a0",[6,"perlinGrad3",["i","f",[5,"0"],[5,"0"],[5,"0"]]]],[13,"b0",[6,"perlinGrad3",["i","f",[5,"1"],[5,"0"],[5,"0"]]]],[13,"c0",[6,"perlinGrad3",["i","f",[5,"0"],[5,"1"],[5,"0"]]]],[13,"d0",[6,"perlinGrad3",["i","f",[5,"1"],[5,"1"],[5,"0"]]]],[13,"a1",[6,"perlinGrad3",["i","f",[5,"0"],[5,"0"],[5,"1"]]]],[13,"b1",[6,"perlinGrad3",["i","f",[5,"1"],[5,"0"],[5,"1"]]]],[13,"c1",[6,"perlinGrad3",["i","f",[5,"0"],[5,"1"],[5,"1"]]]],[13,"d1",[6,"perlinGrad3",["i","f",[5,"1"],[5,"1"],[5,"1"]]]],[13,"z0",[6,"std.mix",[[6,"std.mix",["a0","b0",[7,"u","x"]]],[6,"std.mix",["c0","d0",[7,"u","x"]]],[7,"u","y"]]]],[13,"z1",[6,"std.mix",[[6,"std.mix",["a1","b1",[7,"u","x"]]],[6,"std.mix",["c1","d1",[7,"u","x"]]],[7,"u","y"]]]],[10,[1,[1,[6,"std.mix",["z0","z1",[7,"u","z"]]],"*",[5,"0.7"]],"+",[5,"0.5"]]]]]},externals:{"std.floor":()=>q,perlinGrad3:()=>hn,"std.mix":()=>X}})&&e.f)({})),Wd=v.fn([l,l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return Y(__tsover_add(__tsover_mul(r,se(t,er(s.add(l(n,i))))),o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"i"},{type:"i",name:"freq"},{type:"i",name:"phase"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[10,[6,"std.sin",[[1,[1,"freq","*",[6,"std.dot",["p",[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",["ox","oy"]]]]]]]]],"+","phase"]]]]]]},externals:{"std.sin":()=>Y,"std.dot":()=>se,hash22:()=>er,"d.vec2f":()=>l}})&&e.f)({})),f8=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=q(t),n=t.sub(o),i=n.mul(n).mul(ht(3,n.mul(2)));return X(X(Wd(t,o,s,r,0,0),Wd(t,o,s,r,1,0),i.x),X(Wd(t,o,s,r,0,1),Wd(t,o,s,r,1,1),i.x),i.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"freq"},{type:"i",name:"phase"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f0",[6,[7,"p","sub"],["i"]]],[13,"f",[6,[7,[6,[7,"f0","mul"],["f0"]],"mul"],[[6,"std.sub",[[5,"3"],[6,[7,"f0","mul"],[[5,"2"]]]]]]]],[10,[6,"std.mix",[[6,"std.mix",[[6,"gaborGrain",["p","i","freq","phase",[5,"0"],[5,"0"]]],[6,"gaborGrain",["p","i","freq","phase",[5,"1"],[5,"0"]]],[7,"f","x"]]],[6,"std.mix",[[6,"gaborGrain",["p","i","freq","phase",[5,"0"],[5,"1"]]],[6,"gaborGrain",["p","i","freq","phase",[5,"1"],[5,"1"]]],[7,"f","x"]]],[7,"f","y"]]]]]]},externals:{"std.floor":()=>q,"std.sub":()=>ht,"std.mix":()=>X,gaborGrain:()=>Wd}})&&e.f)({})),Ki=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=l(za(t.add(l(.1,0))),za(t.add(l(0,.1)))),r=l(za(t.sub(l(.1,0))),za(t.sub(l(0,.1))));return s.sub(r).div(.1).mul(.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"a",[6,"d.vec2f",[[6,"perlin12",[[6,[7,"p","add"],[[6,"d.vec2f",[[5,"0.1"],[5,"0"]]]]]]],[6,"perlin12",[[6,[7,"p","add"],[[6,"d.vec2f",[[5,"0"],[5,"0.1"]]]]]]]]]],[13,"b",[6,"d.vec2f",[[6,"perlin12",[[6,[7,"p","sub"],[[6,"d.vec2f",[[5,"0.1"],[5,"0"]]]]]]],[6,"perlin12",[[6,[7,"p","sub"],[[6,"d.vec2f",[[5,"0"],[5,"0.1"]]]]]]]]]],[10,[6,[7,[6,[7,[6,[7,"a","sub"],["b"]],"div"],[[5,"0.1"]]],"mul"],[[5,"0.5"]]]]]]},externals:{"d.vec2f":()=>l,perlin12:()=>za}})&&e.f)({})),Mg=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.add(l(.1,0)),o=t.add(l(0,.1)),n=t.sub(l(.1,0)),i=t.sub(l(0,.1)),d=l(Bd(f(r.x,r.y,s)),Bd(f(o.x,o.y,s))),c=l(Bd(f(n.x,n.y,s)),Bd(f(i.x,i.y,s)));return d.sub(c).div(.1).mul(.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"z"}],body:[0,[[13,"pax",[6,[7,"p","add"],[[6,"d.vec2f",[[5,"0.1"],[5,"0"]]]]]],[13,"pay",[6,[7,"p","add"],[[6,"d.vec2f",[[5,"0"],[5,"0.1"]]]]]],[13,"pbx",[6,[7,"p","sub"],[[6,"d.vec2f",[[5,"0.1"],[5,"0"]]]]]],[13,"pby",[6,[7,"p","sub"],[[6,"d.vec2f",[[5,"0"],[5,"0.1"]]]]]],[13,"a",[6,"d.vec2f",[[6,"perlin13",[[6,"d.vec3f",[[7,"pax","x"],[7,"pax","y"],"z"]]]],[6,"perlin13",[[6,"d.vec3f",[[7,"pay","x"],[7,"pay","y"],"z"]]]]]]],[13,"b",[6,"d.vec2f",[[6,"perlin13",[[6,"d.vec3f",[[7,"pbx","x"],[7,"pbx","y"],"z"]]]],[6,"perlin13",[[6,"d.vec3f",[[7,"pby","x"],[7,"pby","y"],"z"]]]]]]],[10,[6,[7,[6,[7,[6,[7,"a","sub"],["b"]],"div"],[[5,"0.1"]]],"mul"],[[5,"0.5"]]]]]]},externals:{"d.vec2f":()=>l,perlin13:()=>Bd,"d.vec3f":()=>f}})&&e.f)({})),v8=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=a(0),n=a(1),i=a(0),d=l(t.x,t.y);for(let c=0;c<4;c++){let _=d.mul(n),u=ue(q(_).mul(l(123.34,233.53)));u=u.add(se(u,u.add(23.234)));let m=__tsover_mul(ue(__tsover_mul(u.x,u.y)),1e3),p=ue(_).sub(.5),y=H(m),h=Y(m),g=l(__tsover_sub(__tsover_mul(p.x,y),__tsover_mul(p.y,h)),__tsover_add(__tsover_mul(p.x,h),__tsover_mul(p.y,y)));o=__tsover_add(o,__tsover_div(__tsover_mul(Y(__tsover_add(__tsover_mul(g.x,10),s)),re(.25,0,se(g,g))),n)),d=l(__tsover_sub(__tsover_mul(d.x,.54),__tsover_mul(d.y,.84)),__tsover_add(__tsover_mul(d.x,.84),__tsover_mul(d.y,.54))).add(a(c)),i=__tsover_add(i,__tsover_div(1,n)),n=__tsover_mul(n,r)}return __tsover_div(o,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"phase"},{type:"i",name:"scale"}],body:[0,[[12,"dsum",[6,"d.f32",[[5,"0"]]]],[12,"s",[6,"d.f32",[[5,"1"]]]],[12,"m",[6,"d.f32",[[5,"0"]]]],[12,"pp",[6,"d.vec2f",[[7,"p","x"],[7,"p","y"]]]],[14,[12,"idx",[5,"0"]],[1,"idx","<",[5,"4"]],[102,"++","idx"],[0,[[13,"q0",[6,[7,"pp","mul"],["s"]]],[12,"g",[6,"std.fract",[[6,[7,[6,"std.floor",["q0"]],"mul"],[[6,"d.vec2f",[[5,"123.34"],[5,"233.53"]]]]]]]],[2,"g","=",[6,[7,"g","add"],[[6,"std.dot",["g",[6,[7,"g","add"],[[5,"23.234"]]]]]]]],[13,"a",[1,[6,"std.fract",[[1,[7,"g","x"],"*",[7,"g","y"]]]],"*",[5,"1000"]]],[13,"qc",[6,[7,[6,"std.fract",["q0"]],"sub"],[[5,"0.5"]]]],[13,"ca",[6,"std.cos",["a"]]],[13,"sa",[6,"std.sin",["a"]]],[13,"q",[6,"d.vec2f",[[1,[1,[7,"qc","x"],"*","ca"],"-",[1,[7,"qc","y"],"*","sa"]],[1,[1,[7,"qc","x"],"*","sa"],"+",[1,[7,"qc","y"],"*","ca"]]]]],[2,"dsum","=",[1,"dsum","+",[1,[1,[6,"std.sin",[[1,[1,[7,"q","x"],"*",[5,"10"]],"+","phase"]]],"*",[6,"std.smoothstep",[[5,"0.25"],[5,"0"],[6,"std.dot",["q","q"]]]]],"/","s"]]],[2,"pp","=",[6,[7,[6,"d.vec2f",[[1,[1,[7,"pp","x"],"*",[5,"0.54"]],"-",[1,[7,"pp","y"],"*",[5,"0.84"]]],[1,[1,[7,"pp","x"],"*",[5,"0.84"]],"+",[1,[7,"pp","y"],"*",[5,"0.54"]]]]],"add"],[[6,"d.f32",["idx"]]]]],[2,"m","=",[1,"m","+",[1,[5,"1"],"/","s"]]],[2,"s","=",[1,"s","*","scale"]]]]],[10,[1,"dsum","/","m"]]]]},externals:{"d.f32":()=>a,"d.vec2f":()=>l,"std.fract":()=>ue,"std.floor":()=>q,"std.dot":()=>se,"std.cos":()=>H,"std.sin":()=>Y,"std.smoothstep":()=>re}})&&e.f)({})),y8=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=a(0);for(let r=0;r<9;r++){let o=a(r),n=q(__tsover_div(o,3)),i=__tsover_sub(o,__tsover_mul(n,3));s=__tsover_add(s,Ot(t.add(l(__tsover_sub(i,1),__tsover_sub(n,1)))))}return __tsover_add(__tsover_mul(.9,__tsover_sub(__tsover_mul(1.125,Ot(t)),__tsover_div(s,8))),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"v",[6,"d.f32",[[5,"0"]]]],[14,[12,"k",[5,"0"]],[1,"k","<",[5,"9"]],[102,"++","k"],[0,[[13,"fk",[6,"d.f32",["k"]]],[13,"row",[6,"std.floor",[[1,"fk","/",[5,"3"]]]]],[13,"col",[1,"fk","-",[1,"row","*",[5,"3"]]]],[2,"v","=",[1,"v","+",[6,"hash12",[[6,[7,"p","add"],[[6,"d.vec2f",[[1,"col","-",[5,"1"]],[1,"row","-",[5,"1"]]]]]]]]]]]]],[10,[1,[1,[5,"0.9"],"*",[1,[1,[5,"1.125"],"*",[6,"hash12",["p"]]],"-",[1,"v","/",[5,"8"]]]],"+",[5,"0.5"]]]]]},externals:{"d.f32":()=>a,"std.floor":()=>q,hash12:()=>Ot,"d.vec2f":()=>l}})&&e.f)({})),Pg=v.fn([El],Z)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(0),r=t.x,o=t.y;for(let n=256;n>0;n=n>>1){let i=Z(n),d=C(Z(0),Z(1),(r&i)>0),c=C(Z(0),Z(1),(o&i)>0),_=d<<1|d^c;s=__tsover_add(s,__tsover_mul(__tsover_mul(i,i),_));let u=__tsover_sub(Z(1),c),m=__tsover_mul(r^o,u)^__tsover_mul(Z(__tsover_sub(n,1)),d&u);r=r^m,o=o^m}return s}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"i",[6,"d.i32",[[5,"0"]]]],[12,"px",[7,"p","x"]],[12,"py",[7,"p","y"]],[14,[12,"s",[5,"256"]],[1,"s",">",[5,"0"]],[2,"s","=",[1,"s",">>",[5,"1"]]],[0,[[13,"S",[6,"d.i32",["s"]]],[13,"rx",[6,"std.select",[[6,"d.i32",[[5,"0"]]],[6,"d.i32",[[5,"1"]]],[1,[1,"px","&","S"],">",[5,"0"]]]]],[13,"ry",[6,"std.select",[[6,"d.i32",[[5,"0"]]],[6,"d.i32",[[5,"1"]]],[1,[1,"py","&","S"],">",[5,"0"]]]]],[13,"dq",[1,[1,"rx","<<",[5,"1"]],"|",[1,"rx","^","ry"]]],[2,"i","=",[1,"i","+",[1,[1,"S","*","S"],"*","dq"]]],[13,"oneMinusRy",[1,[6,"d.i32",[[5,"1"]]],"-","ry"]],[13,"rhs",[1,[1,[1,"px","^","py"],"*","oneMinusRy"],"^",[1,[6,"d.i32",[[1,"s","-",[5,"1"]]]],"*",[1,"rx","&","oneMinusRy"]]]],[2,"px","=",[1,"px","^","rhs"]],[2,"py","=",[1,"py","^","rhs"]]]]],[10,"i"]]]},externals:{"d.i32":()=>Z,"std.select":()=>C}})&&e.f)({}));v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Pg(El(Z(t.x),Z(t.y)))&Z(262143);return ue(__tsover_mul(.6180339887498949,a(s)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"idx",[1,[6,"hilbertEncode512",[[6,"d.vec2i",[[6,"d.i32",[[7,"p","x"]]],[6,"d.i32",[[7,"p","y"]]]]]]],"&",[6,"d.i32",[[5,"262143"]]]]],[10,[6,"std.fract",[[1,[5,"0.6180339887498949"],"*",[6,"d.f32",["idx"]]]]]]]]},externals:{hilbertEncode512:()=>Pg,"d.vec2i":()=>El,"d.i32":()=>Z,"std.fract":()=>ue,"d.f32":()=>a}})&&e.f)({}));var Eg=v.fn([l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=q(t),i=t.sub(n),d=q(__tsover_mul(Y(__tsover_mul(n.x,51024)),3104)),c=q(__tsover_mul(Y(__tsover_mul(n.y,1324)),554)),_=__tsover_add(d,c),u=i.mul(2).sub(1);u=u.mul(H(_)).add(l(-u.y,u.x).mul(Y(_))),u=u.add(Y(__tsover_sub(d,c))),u=u.mul(.5).add(.5);let m=__tsover_mul(__tsover_add(Y(__tsover_add(d,__tsover_mul(u.y,Math.PI))),Y(__tsover_add(c,__tsover_mul(u.y,Math.PI)))),.2),p=z(__tsover_add(__tsover_sub(u.x,.5),m));p=__tsover_sub(.5,__tsover_mul(p,__tsover_div(s,o))),p=__tsover_mul(re(-2,__tsover_add(__tsover_mul(Zt(p),1.5),16),p),12);let y=__tsover_add(__tsover_mul(Y(__tsover_add(r,__tsover_mul(Ot(n),6.2831853))),.5),.5);return __tsover_mul(__tsover_mul(p,u.y),y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"f"},{type:"i",name:"time"},{type:"i",name:"thickness"}],body:[0,[[13,"seed0",[6,"std.floor",["uv"]]],[13,"lo",[6,[7,"uv","sub"],["seed0"]]],[13,"sx",[6,"std.floor",[[1,[6,"std.sin",[[1,[7,"seed0","x"],"*",[5,"51024"]]]],"*",[5,"3104"]]]]],[13,"sy",[6,"std.floor",[[1,[6,"std.sin",[[1,[7,"seed0","y"],"*",[5,"1324"]]]],"*",[5,"554"]]]]],[13,"ss",[1,"sx","+","sy"]],[12,"u2",[6,[7,[6,[7,"lo","mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[2,"u2","=",[6,[7,[6,[7,"u2","mul"],[[6,"std.cos",["ss"]]]],"add"],[[6,[7,[6,"d.vec2f",[[4,"-",[7,"u2","y"]],[7,"u2","x"]]],"mul"],[[6,"std.sin",["ss"]]]]]]],[2,"u2","=",[6,[7,"u2","add"],[[6,"std.sin",[[1,"sx","-","sy"]]]]]],[2,"u2","=",[6,[7,[6,[7,"u2","mul"],[[5,"0.5"]]],"add"],[[5,"0.5"]]]],[13,"WAVYNESS",[5,"0.2"]],[13,"sVal",[1,[1,[6,"std.sin",[[1,"sx","+",[1,[7,"u2","y"],"*","Math.PI"]]]],"+",[6,"std.sin",[[1,"sy","+",[1,[7,"u2","y"],"*","Math.PI"]]]]],"*","WAVYNESS"]],[12,"x",[6,"std.abs",[[1,[1,[7,"u2","x"],"-",[5,"0.5"]],"+","sVal"]]]],[2,"x","=",[1,[5,"0.5"],"-",[1,"x","*",[1,"f","/","thickness"]]]],[2,"x","=",[1,[6,"std.smoothstep",[[4,"-",[5,"2"]],[1,[1,[6,"std.fwidth",["x"]],"*",[5,"1.5"]],"+",[5,"16"]],"x"]],"*",[5,"12"]]],[13,"pulse",[1,[1,[6,"std.sin",[[1,"time","+",[1,[6,"hash12",["seed0"]],"*",[5,"6.2831853"]]]]],"*",[5,"0.5"]],"+",[5,"0.5"]]],[10,[1,[1,"x","*",[7,"u2","y"]],"*","pulse"]]]]},externals:{"std.floor":()=>q,"std.sin":()=>Y,"std.cos":()=>H,"d.vec2f":()=>l,"Math.PI":()=>Math.PI,"std.abs":()=>z,"std.smoothstep":()=>re,"std.fwidth":()=>Zt,hash12:()=>Ot}})&&e.f)({})),h8=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=a(0),n=l(t.x,t.y),i=__tsover_div(1,j(Zt(t)));for(let d=0;d<8;d++)o=b(o,Eg(n,i,s,r)),n=l(__tsover_add(n.x,__tsover_mul(n.y,.7)),__tsover_add(__tsover_mul(n.x,-.7),n.y)).sub(12.31);return o}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"time"},{type:"i",name:"thickness"}],body:[0,[[12,"scratches",[6,"d.f32",[[5,"0"]]]],[12,"p",[6,"d.vec2f",[[7,"uv","x"],[7,"uv","y"]]]],[13,"f",[1,[5,"1"],"/",[6,"std.length",[[6,"std.fwidth",["uv"]]]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"8"]],[102,"++","i"],[0,[[2,"scratches","=",[6,"std.max",["scratches",[6,"scratchOne",["p","f","time","thickness"]]]]],[2,"p","=",[6,[7,[6,"d.vec2f",[[1,[7,"p","x"],"+",[1,[7,"p","y"],"*",[5,"0.7"]]],[1,[1,[7,"p","x"],"*",[4,"-",[5,"0.7"]]],"+",[7,"p","y"]]]],"sub"],[[5,"12.31"]]]]]]],[10,"scratches"]]]},externals:{"d.f32":()=>a,"d.vec2f":()=>l,"std.length":()=>j,"std.fwidth":()=>Zt,"std.max":()=>b,scratchOne:()=>Eg}})&&e.f)({})),kg=v.fn([l,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=a(0),o=a(0),n=a(1),i=l(t.x,t.y);for(let d=0;da,"d.vec2f":()=>l,perlin12:()=>za}})&&e.f)({})),$g=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=f(0,0,0),r=a(1),o=l(t.x,t.y);for(let n=0;n<6;n++)s=s.add(la(o).mul(r)),r=__tsover_mul(r,.5),o=o.mul(2);return s}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"s",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]]],[12,"a",[6,"d.f32",[[5,"1"]]]],[12,"pp",[6,"d.vec2f",[[7,"p","x"],[7,"p","y"]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"6"]],[102,"++","i"],[0,[[2,"s","=",[6,[7,"s","add"],[[6,[7,[6,"perlin12d",["pp"]],"mul"],["a"]]]]],[2,"a","=",[1,"a","*",[5,"0.5"]]],[2,"pp","=",[6,[7,"pp","mul"],[[5,"2"]]]]]]],[10,"s"]]]},externals:{"d.vec3f":()=>f,"d.f32":()=>a,"d.vec2f":()=>l,perlin12d:()=>la}})&&e.f)({})),x8=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=$g(t);return kg(t.add(l(s.y,s.z).mul(.4)),Z(6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"fs",[6,"fbmStone",["p"]]],[10,[6,"fbmPerlin",[[6,[7,"p","add"],[[6,[7,[6,"d.vec2f",[[7,"fs","y"],[7,"fs","z"]]],"mul"],[[5,"0.4"]]]]],[6,"d.i32",[[5,"6"]]]]]]]]},externals:{fbmStone:()=>$g,fbmPerlin:()=>kg,"d.vec2f":()=>l,"d.i32":()=>Z}})&&e.f)({})),Ug=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=l(0,0),r=a(0),o=a(1),n=l(t.x,t.y);for(let i=0;i<6;i++)s=s.add(Ki(n).mul(o)),r=__tsover_add(r,o),o=__tsover_mul(o,.5),n=n.mul(2);return s.div(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"s",[6,"d.vec2f",[[5,"0"],[5,"0"]]]],[12,"m",[6,"d.f32",[[5,"0"]]]],[12,"a",[6,"d.f32",[[5,"1"]]]],[12,"pp",[6,"d.vec2f",[[7,"p","x"],[7,"p","y"]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"6"]],[102,"++","i"],[0,[[2,"s","=",[6,[7,"s","add"],[[6,[7,[6,"curl22",["pp"]],"mul"],["a"]]]]],[2,"m","=",[1,"m","+","a"]],[2,"a","=",[1,"a","*",[5,"0.5"]]],[2,"pp","=",[6,[7,"pp","mul"],[[5,"2"]]]]]]],[10,[6,[7,"s","div"],["m"]]]]]},externals:{"d.vec2f":()=>l,"d.f32":()=>a,curl22:()=>Ki}})&&e.f)({})),g8=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Ug(t);return b(z(s.x),z(s.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"n",[6,"fbmWool",["p"]]],[10,[6,"std.max",[[6,"std.abs",[[7,"n","x"]]],[6,"std.abs",[[7,"n","y"]]]]]]]]},externals:{fbmWool:()=>Ug,"std.max":()=>b,"std.abs":()=>z}})&&e.f)({})),Cg=v.fn([l,l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=l(-s.y,s.x).mul(Math.PI),o=q(t),n=t.sub(o),i=l(0,0),d=a(0);for(let c=-1;c<=2;c++)for(let _=-1;_<=2;_++){let u=l(a(c),a(_)),m=n.sub(u).sub(er(o.add(u))).add(.5),p=se(m,m),y=b(a(0),__tsover_sub(ct(__tsover_mul(p,-2)),.01111));d=__tsover_add(d,y);let h=se(m,r);i=i.add(l(H(h),-Y(h)).mul(y))}return f(i.x,__tsover_mul(i.y,r.x),__tsover_mul(i.y,r.y)).div(d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"slope"}],body:[0,[[13,"sideDir",[6,[7,[6,"d.vec2f",[[4,"-",[7,"slope","y"]],[7,"slope","x"]]],"mul"],["Math.PI"]]],[13,"id",[6,"std.floor",["p"]]],[13,"pp",[6,[7,"p","sub"],["id"]]],[12,"heightSlope",[6,"d.vec2f",[[5,"0"],[5,"0"]]]],[12,"wSum",[6,"d.f32",[[5,"0"]]]],[14,[12,"x",[4,"-",[5,"1"]]],[1,"x","<=",[5,"2"]],[102,"++","x"],[0,[[14,[12,"y",[4,"-",[5,"1"]]],[1,"y","<=",[5,"2"]],[102,"++","y"],[0,[[13,"off",[6,"d.vec2f",[[6,"d.f32",["x"]],[6,"d.f32",["y"]]]]],[13,"c",[6,[7,[6,[7,[6,[7,"pp","sub"],["off"]],"sub"],[[6,"hash22",[[6,[7,"id","add"],["off"]]]]]],"add"],[[5,"0.5"]]]],[13,"dist2",[6,"std.dot",["c","c"]]],[13,"w",[6,"std.max",[[6,"d.f32",[[5,"0"]]],[1,[6,"std.exp",[[1,"dist2","*",[4,"-",[5,"2"]]]]],"-",[5,"0.01111"]]]]],[2,"wSum","=",[1,"wSum","+","w"]],[13,"t",[6,"std.dot",["c","sideDir"]]],[2,"heightSlope","=",[6,[7,"heightSlope","add"],[[6,[7,[6,"d.vec2f",[[6,"std.cos",["t"]],[4,"-",[6,"std.sin",["t"]]]]],"mul"],["w"]]]]]]]]]]],[10,[6,[7,[6,"d.vec3f",[[7,"heightSlope","x"],[1,[7,"heightSlope","y"],"*",[7,"sideDir","x"]],[1,[7,"heightSlope","y"],"*",[7,"sideDir","y"]]]],"div"],["wSum"]]]]]},externals:{"d.vec2f":()=>l,"Math.PI":()=>Math.PI,"std.floor":()=>q,"d.f32":()=>a,hash22:()=>er,"std.dot":()=>se,"std.max":()=>b,"std.exp":()=>ct,"std.cos":()=>H,"std.sin":()=>Y,"d.vec3f":()=>f}})&&e.f)({})),b8=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=la(t),r=a(.25),o=a(8),n=a(1);for(let i=0;i<4;i++){let d=l(s.y,s.z),c=b(se(d,d),a(1e-4)),_=d.mul(Ce(c,a(__tsover_mul(.5,__tsover_sub(.5,1)))));s=s.add(Cg(t.mul(o),_).mul(r).mul(f(1,o,o))),n=__tsover_add(n,r),r=__tsover_mul(r,.5),o=__tsover_mul(o,2)}return s.div(n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"nd",[6,"perlin12d",["p"]]],[12,"strength",[6,"d.f32",[[5,"0.25"]]]],[12,"freq",[6,"d.f32",[[5,"8"]]]],[12,"total",[6,"d.f32",[[5,"1"]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"4"]],[102,"++","i"],[0,[[13,"grad",[6,"d.vec2f",[[7,"nd","y"],[7,"nd","z"]]]],[13,"len2",[6,"std.max",[[6,"std.dot",["grad","grad"]],[6,"d.f32",[[5,"0.0001"]]]]]],[13,"slope",[6,[7,"grad","mul"],[[6,"std.pow",["len2",[6,"d.f32",[[1,[5,"0.5"],"*",[1,[5,"0.5"],"-",[5,"1"]]]]]]]]]],[2,"nd","=",[6,[7,"nd","add"],[[6,[7,[6,[7,[6,"gullies",[[6,[7,"p","mul"],["freq"]],"slope"]],"mul"],["strength"]],"mul"],[[6,"d.vec3f",[[5,"1"],"freq","freq"]]]]]]],[2,"total","=",[1,"total","+","strength"]],[2,"strength","=",[1,"strength","*",[5,"0.5"]]],[2,"freq","=",[1,"freq","*",[5,"2"]]]]]],[10,[6,[7,"nd","div"],["total"]]]]]},externals:{perlin12d:()=>la,"d.f32":()=>a,"d.vec2f":()=>l,"std.max":()=>b,"std.dot":()=>se,"std.pow":()=>Ce,gullies:()=>Cg,"d.vec3f":()=>f}})&&e.f)({})),Rg=v.fn([l,Z],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=l(0,0),o=a(0),n=a(1),i=l(t.x,t.y);for(let d=0;dl,"d.f32":()=>a,"std.clamp":()=>$,curl22:()=>Ki}})&&e.f)({})),zg=v.fn([l,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_add(__tsover_mul(__tsover_div(j(Rg(t,s)),1.414),.6),.4)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"octaves"}],body:[0,[[10,[1,[1,[1,[6,"std.length",[[6,"fbmPaper",["p","octaves"]]]],"/",[5,"1.414"]],"*",[5,"0.6"]],"+",[5,"0.4"]]]]]},externals:{"std.length":()=>j,fbmPaper:()=>Rg}})&&e.f)({}));v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_add(__tsover_mul(t.x,.2126),__tsover_mul(t.y,.7152)),__tsover_mul(t.z,.0722))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[1,[1,[1,[7,"rgb","x"],"*",[5,"0.2126"]],"+",[1,[7,"rgb","y"],"*",[5,"0.7152"]]],"+",[1,[7,"rgb","z"],"*",[5,"0.0722"]]]]]]},externals:{}})&&e.f)({}));v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_add(__tsover_mul(t.x,.299),__tsover_mul(t.y,.587)),__tsover_mul(t.z,.114))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[1,[1,[1,[7,"rgb","x"],"*",[5,"0.299"]],"+",[1,[7,"rgb","y"],"*",[5,"0.587"]]],"+",[1,[7,"rgb","z"],"*",[5,"0.114"]]]]]]},externals:{}})&&e.f)({}));var Gg=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return se(t,f(.2126,.7152,.0722))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),Ll=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return se(t,f(.299,.587,.114))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({}));v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return $(__tsover_add(__tsover_mul(__tsover_sub(t,r),s),r),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"contrast"},{type:"i",name:"pivot"}],body:[0,[[10,[6,"std.clamp",[[1,[1,[1,"x","-","pivot"],"*","contrast"],"+","pivot"],[5,"0"],[5,"1"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({}));var w8=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_mul(t,.5),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[1,[1,"v","*",[5,"0.5"]],"+",[5,"0.5"]]]]]},externals:{}})&&e.f)({}));v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_sub(1,z(t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.abs",["v"]]]]]]},externals:{"std.abs":()=>z}})&&e.f)({}));var KC=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=$(__tsover_add(__tsover_add(__tsover_mul(__tsover_sub(t,.5),__tsover_add(s,1)),.5),r),0,1);return __tsover_sub(1,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"noise01"},{type:"i",name:"contrast"},{type:"i",name:"balance"}],body:[0,[[13,"k",[6,"std.clamp",[[1,[1,[1,[1,"noise01","-",[5,"0.5"]],"*",[1,"contrast","+",[5,"1"]]],"+",[5,"0.5"]],"+","balance"],[5,"0"],[5,"1"]]]],[10,[1,[5,"1"],"-","k"]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),ZC=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(__tsover_mul(t,__tsover_add(s,1)),r),n=$(__tsover_add(__tsover_mul(o,.5),.5),0,1);return __tsover_sub(1,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"contrast"},{type:"i",name:"balance"}],body:[0,[[13,"adjusted",[1,[1,"v","*",[1,"contrast","+",[5,"1"]]],"+","balance"]],[13,"k",[6,"std.clamp",[[1,[1,"adjusted","*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[10,[1,[5,"1"],"-","k"]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),QC=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(__tsover_mul(t,2),1),n=__tsover_add(__tsover_mul(o,s),r);return $(__tsover_add(__tsover_mul(n,.5),.5),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"contrast"},{type:"i",name:"balance"}],body:[0,[[13,"signed",[1,[1,"v","*",[5,"2"]],"-",[5,"1"]]],[13,"adjusted",[1,[1,"signed","*","contrast"],"+","balance"]],[10,[6,"std.clamp",[[1,[1,"adjusted","*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),JC=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Ce(t,__tsover_div(5,s)),i=$(__tsover_add(__tsover_mul(__tsover_sub(n,.5),r),.5),0,1),d=__tsover_sub(__tsover_div(o,100),.5),c=$(__tsover_add(i,d),0,1);return __tsover_sub(1,c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"glow"},{type:"i",name:"contrast"},{type:"i",name:"balance"}],body:[0,[[13,"spread",[6,"std.pow",["v",[1,[5,"5"],"/","glow"]]]],[13,"contrasted",[6,"std.clamp",[[1,[1,[1,"spread","-",[5,"0.5"]],"*","contrast"],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[13,"balanceShift",[1,[1,"balance","/",[5,"100"]],"-",[5,"0.5"]]],[13,"balanced",[6,"std.clamp",[[1,"contrasted","+","balanceShift"],[5,"0"],[5,"1"]]]],[10,[1,[5,"1"],"-","balanced"]]]]},externals:{"std.pow":()=>Ce,"std.clamp":()=>$}})&&e.f)({}));function t7(e){let{domain:t,contrastMode:s,invert:r,glowGamma:o=!1,balance:n="plain"}=e;if(o){if(t==="unit"&&s==="multiplicative"&&r&&n==="percentCentred")return JC}else if(n==="plain"){if(t==="unit"&&s==="additive"&&r)return KC;if(t==="signed"&&s==="additive"&&r)return ZC;if(t==="unit"&&s==="multiplicative"&&!r)return QC}throw new Error(`toneRemap: no variant for {domain: '${t}', contrastMode: '${s}', invert: ${r}, glowGamma: ${o}, balance: '${n}'} \u2014 add its body to kit/tone.ts rather than approximating.`)}var eR=v.fn([x,l,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Ot(s.mul(r).add(l(o,__tsover_mul(o,1.618))));return x($(t.xyz.add(__tsover_mul(__tsover_sub(n,.5),.004)),f(0),f(1)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"animTime"}],body:[0,[[13,"n",[6,"hash12",[[6,[7,[6,[7,"uv","mul"],["viewport"]],"add"],[[6,"d.vec2f",["animTime",[1,"animTime","*",[5,"1.618"]]]]]]]]],[13,"rgb",[6,"std.clamp",[[6,[7,[7,"base","xyz"],"add"],[[1,[1,"n","-",[5,"0.5"]],"*",[5,"0.004"]]]],[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]],[10,[6,"d.vec4f",["rgb",[7,"base","w"]]]]]]},externals:{hash12:()=>Ot,"d.vec2f":()=>l,"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),bt=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_div(t.x,b(t.y,1e-6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"viewport"}],body:[0,[[10,[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]]]]},externals:{"std.max":()=>b}})&&e.f)({})),Zi=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(t,__tsover_mul(s,q(__tsover_div(t,s))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"m"}],body:[0,[[10,[1,"x","-",[1,"m","*",[6,"std.floor",[[1,"x","/","m"]]]]]]]]},externals:{"std.floor":()=>q}})&&e.f)({})),ym=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_sub(t.x,__tsover_mul(s.x,q(__tsover_div(t.x,s.x)))),__tsover_sub(t.y,__tsover_mul(s.y,q(__tsover_div(t.y,s.y)))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"m"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"p","x"],"-",[1,[7,"m","x"],"*",[6,"std.floor",[[1,[7,"p","x"],"/",[7,"m","x"]]]]]],[1,[7,"p","y"],"-",[1,[7,"m","y"],"*",[6,"std.floor",[[1,[7,"p","y"],"/",[7,"m","y"]]]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.floor":()=>q}})&&e.f)({}));v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=C(b(s,1e-5),oe(s,-1e-5),s<0);return __tsover_div(t,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"n"},{type:"i",name:"den"}],body:[0,[[13,"guarded",[6,"std.select",[[6,"std.max",["den",[5,"0.00001"]]],[6,"std.min",["den",[4,"-",[5,"0.00001"]]]],[1,"den","<",[5,"0"]]]]],[10,[1,"n","/","guarded"]]]]},externals:{"std.select":()=>C,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({}));var Eo=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_sub(__tsover_mul(t.x,s),__tsover_mul(t.y,r)),__tsover_add(__tsover_mul(t.x,r),__tsover_mul(t.y,s)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"cosA"},{type:"i",name:"sinA"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[7,"p","x"],"*","cosA"],"-",[1,[7,"p","y"],"*","sinA"]],[1,[1,[7,"p","x"],"*","sinA"],"+",[1,[7,"p","y"],"*","cosA"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Yg=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(s.x,b(s.y,1e-6));return l(__tsover_mul(t.x,r),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),Il=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(s.x,b(s.y,1e-6));return l(__tsover_mul(t.x,r),__tsover_sub(1,t.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[1,[5,"1"],"-",[7,"uv","y"]]]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),hm=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return l(t.x,__tsover_sub(1,t.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"d.vec2f",[[7,"p","x"],[1,[5,"1"],"-",[7,"p","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),bn=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_mul(t.x,s),__tsover_sub(1,t.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"aspect"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"pos","x"],"*","aspect"],[1,[5,"1"],"-",[7,"pos","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),ua=v.fn([l,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(r.x,b(r.y,1e-6));return l(__tsover_sub(__tsover_mul(t.x,o),__tsover_mul(s.x,o)),__tsover_sub(t.y,__tsover_sub(1,s.y)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"center"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[10,[6,"d.vec2f",[[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,[7,"center","x"],"*","aspect"]],[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),ma=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_sub(__tsover_mul(t.x,s),__tsover_mul(s,.5)),__tsover_sub(t.y,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,"aspect","*",[5,"0.5"]]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Qi=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,.5),i=.5,d=__tsover_sub(t.x,n),c=__tsover_sub(t.y,i);return l(__tsover_add(__tsover_sub(__tsover_mul(d,r),__tsover_mul(c,o)),n),__tsover_add(__tsover_add(__tsover_mul(d,o),__tsover_mul(c,r)),i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"aspect"},{type:"i",name:"cosA"},{type:"i",name:"sinA"}],body:[0,[[13,"centerX",[1,"aspect","*",[5,"0.5"]]],[13,"centerY",[5,"0.5"]],[13,"cx",[1,[7,"p","x"],"-","centerX"]],[13,"cy",[1,[7,"p","y"],"-","centerY"]],[10,[6,"d.vec2f",[[1,[1,[1,"cx","*","cosA"],"-",[1,"cy","*","sinA"]],"+","centerX"],[1,[1,[1,"cx","*","sinA"],"+",[1,"cy","*","cosA"]],"+","centerY"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Dl=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_add(__tsover_mul(t.x,s),__tsover_mul(t.y,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"cosA"},{type:"i",name:"sinA"}],body:[0,[[10,[1,[1,[7,"p","x"],"*","cosA"],"+",[1,[7,"p","y"],"*","sinA"]]]]]},externals:{}})&&e.f)({}));v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return l(j(t),tt(t.y,t.x))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"d.vec2f",[[6,"std.length",["p"]],[6,"std.atan2",[[7,"p","y"],[7,"p","x"]]]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.atan2":()=>tt}})&&e.f)({}));v.fn([a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_mul(t,H(s)),__tsover_mul(t,Y(s)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"r"},{type:"i",name:"theta"}],body:[0,[[10,[6,"d.vec2f",[[1,"r","*",[6,"std.cos",["theta"]]],[1,"r","*",[6,"std.sin",["theta"]]]]]]]]},externals:{"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({}));var Lg=2/Math.sqrt(3),xm=ut({cell:l,local:l}).$name("CellTile"),Ji=v.fn([l],xm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return xm({cell:q(t),local:ue(t)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"CellTile",[[104,{cell:[6,"std.floor",["p"]],local:[6,"std.fract",["p"]]}]]]]]]},externals:{CellTile:()=>xm,"std.floor":()=>q,"std.fract":()=>ue}})&&e.f)({})),gm=ut({gv:l,id:l}).$name("HexCell"),Fl=v.fn([l,l],gm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=s.mul(.5),o=ym(t,s).sub(r),n=ym(t.sub(r),s).sub(r),i=C(n,o,se(o,o)ym,"std.select":()=>C,"std.dot":()=>se,HexCell:()=>gm}})&&e.f)({})),Ig=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return l(__tsover_sub(t.x,__tsover_div(t.y,_a)),__tsover_mul(t.y,Lg))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"p","x"],"-",[1,[7,"p","y"],"/","SQRT3"]],[1,[7,"p","y"],"*","TWO_OVER_SQRT3"]]]]]]},externals:{"d.vec2f":()=>l,SQRT3:()=>_a,TWO_OVER_SQRT3:()=>Lg}})&&e.f)({})),T8=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(s.x,b(s.y,1e-6)),n=__tsover_mul(t.x,o),i=__tsover_sub(1,t.y),d=__tsover_div(__tsover_add(q(__tsover_mul(n,r)),.5),r),c=__tsover_div(__tsover_add(q(__tsover_mul(i,r)),.5),r);return l(__tsover_div(d,o),__tsover_sub(1,c))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[13,"correctedX",[1,[7,"uv","x"],"*","aspect"]],[13,"correctedY",[1,[5,"1"],"-",[7,"uv","y"]]],[13,"cellCenterCorrectedX",[1,[1,[6,"std.floor",[[1,"correctedX","*","cells"]]],"+",[5,"0.5"]],"/","cells"]],[13,"cellCenterCorrectedY",[1,[1,[6,"std.floor",[[1,"correctedY","*","cells"]]],"+",[5,"0.5"]],"/","cells"]],[10,[6,"d.vec2f",[[1,"cellCenterCorrectedX","/","aspect"],[1,[5,"1"],"-","cellCenterCorrectedY"]]]]]]},externals:{"std.max":()=>b,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),Dg=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_div(s.x,b(s.y,1e-6)),i=__tsover_mul(t.x,n),d=__tsover_sub(1,t.y),c=H(o),_=Y(o),u=__tsover_mul(n,.5),m=.5,p=__tsover_sub(i,u),y=__tsover_sub(d,m),h=__tsover_add(__tsover_sub(__tsover_mul(p,c),__tsover_mul(y,_)),u),g=__tsover_add(__tsover_add(__tsover_mul(p,_),__tsover_mul(y,c)),m),w=__tsover_div(__tsover_add(q(__tsover_mul(h,r)),.5),r),S=__tsover_div(__tsover_add(q(__tsover_mul(g,r)),.5),r),T=__tsover_sub(w,u),A=__tsover_sub(S,m),P=__tsover_add(__tsover_add(__tsover_mul(T,c),__tsover_mul(A,_)),u),U=__tsover_add(__tsover_add(__tsover_mul(T,-_),__tsover_mul(A,c)),m);return l(__tsover_div(P,n),__tsover_sub(1,U))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotationRad"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[13,"correctedX",[1,[7,"uv","x"],"*","aspect"]],[13,"correctedY",[1,[5,"1"],"-",[7,"uv","y"]]],[13,"cosR",[6,"std.cos",["rotationRad"]]],[13,"sinR",[6,"std.sin",["rotationRad"]]],[13,"centerX",[1,"aspect","*",[5,"0.5"]]],[13,"centerY",[5,"0.5"]],[13,"cx",[1,"correctedX","-","centerX"]],[13,"cy",[1,"correctedY","-","centerY"]],[13,"rotX",[1,[1,[1,"cx","*","cosR"],"-",[1,"cy","*","sinR"]],"+","centerX"]],[13,"rotY",[1,[1,[1,"cx","*","sinR"],"+",[1,"cy","*","cosR"]],"+","centerY"]],[13,"cellRX",[1,[1,[6,"std.floor",[[1,"rotX","*","cells"]]],"+",[5,"0.5"]],"/","cells"]],[13,"cellRY",[1,[1,[6,"std.floor",[[1,"rotY","*","cells"]]],"+",[5,"0.5"]],"/","cells"]],[13,"ccx",[1,"cellRX","-","centerX"]],[13,"ccy",[1,"cellRY","-","centerY"]],[13,"unrotX",[1,[1,[1,"ccx","*","cosR"],"+",[1,"ccy","*","sinR"]],"+","centerX"]],[13,"unrotY",[1,[1,[1,"ccx","*",[4,"-","sinR"]],"+",[1,"ccy","*","cosR"]],"+","centerY"]],[10,[6,"d.vec2f",[[1,"unrotX","/","aspect"],[1,[5,"1"],"-","unrotY"]]]]]]},externals:{"std.max":()=>b,"std.cos":()=>H,"std.sin":()=>Y,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),Bl=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ue(t.mul(l(123.34,345.45))),r=s.add(se(s,s.add(34.345)));return ue(__tsover_mul(r.x,r.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"id"}],body:[0,[[13,"q0",[6,"std.fract",[[6,[7,"id","mul"],[[6,"d.vec2f",[[5,"123.34"],[5,"345.45"]]]]]]]],[13,"q1",[6,[7,"q0","add"],[[6,"std.dot",["q0",[6,[7,"q0","add"],[[5,"34.345"]]]]]]]],[10,[6,"std.fract",[[1,[7,"q1","x"],"*",[7,"q1","y"]]]]]]]},externals:{"std.fract":()=>ue,"d.vec2f":()=>l,"std.dot":()=>se}})&&e.f)({})),Wl=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(__tsover_mul(Y(__tsover_mul(t,127.1)),43758.5453))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"row"}],body:[0,[[10,[6,"std.fract",[[1,[6,"std.sin",[[1,"row","*",[5,"127.1"]]]],"*",[5,"43758.5453"]]]]]]]},externals:{"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),Ol=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_add(1,__tsover_mul(__tsover_mul(__tsover_sub(t,.5),4),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rowHash"},{type:"i",name:"variance"}],body:[0,[[10,[1,[5,"1"],"+",[1,[1,[1,"rowHash","-",[5,"0.5"]],"*",[5,"4"]],"*","variance"]]]]]},externals:{}})&&e.f)({})),Fg=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return b(__tsover_add(1,__tsover_mul(__tsover_mul(__tsover_sub(t,.5),2),s)),0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rand"},{type:"i",name:"variation"}],body:[0,[[10,[6,"std.max",[[1,[5,"1"],"+",[1,[1,[1,"rand","-",[5,"0.5"]],"*",[5,"2"]],"*","variation"]],[5,"0"]]]]]]},externals:{"std.max":()=>b}})&&e.f)({})),Vl=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(z(Ni(t)),z(qi(t)));return b(__tsover_add(r,s),1e-5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"softness"}],body:[0,[[13,"baseW",[6,"std.max",[[6,"std.abs",[[6,"std.dpdx",["x"]]]],[6,"std.abs",[[6,"std.dpdy",["x"]]]]]]],[10,[6,"std.max",[[1,"baseW","+","softness"],[5,"0.00001"]]]]]]},externals:{"std.max":()=>b,"std.abs":()=>z,"std.dpdx":()=>Ni,"std.dpdy":()=>qi}})&&e.f)({})),Bg=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ni(t),o=qi(t),n=l(b(z(r.x),z(o.x)),b(z(r.y),z(o.y)));return l(b(__tsover_add(n.x,s),1e-5),b(__tsover_add(n.y,s),1e-5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"softness"}],body:[0,[[13,"dpx",[6,"std.dpdx",["p"]]],[13,"dpy",[6,"std.dpdy",["p"]]],[13,"baseW",[6,"d.vec2f",[[6,"std.max",[[6,"std.abs",[[7,"dpx","x"]]],[6,"std.abs",[[7,"dpy","x"]]]]],[6,"std.max",[[6,"std.abs",[[7,"dpx","y"]]],[6,"std.abs",[[7,"dpy","y"]]]]]]]],[10,[6,"d.vec2f",[[6,"std.max",[[1,[7,"baseW","x"],"+","softness"],[5,"0.00001"]]],[6,"std.max",[[1,[7,"baseW","y"],"+","softness"],[5,"0.00001"]]]]]]]]},externals:{"std.dpdx":()=>Ni,"std.dpdy":()=>qi,"d.vec2f":()=>l,"std.max":()=>b,"std.abs":()=>z}})&&e.f)({})),Wg=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(t,__tsover_mul(s,.5)),n=__tsover_sub(t,__tsover_mul(s,.5)),i=__tsover_sub(1,r),d=__tsover_add(__tsover_mul(q(o),i),b(__tsover_sub(ue(o),r),0)),c=__tsover_add(__tsover_mul(q(n),i),b(__tsover_sub(ue(n),r),0));return $(__tsover_div(__tsover_sub(d,c),s),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"w"},{type:"i",name:"threshold"}],body:[0,[[13,"a",[1,"p","+",[1,"w","*",[5,"0.5"]]]],[13,"b",[1,"p","-",[1,"w","*",[5,"0.5"]]]],[13,"oneMinusThreshold",[1,[5,"1"],"-","threshold"]],[13,"Fa",[1,[1,[6,"std.floor",["a"]],"*","oneMinusThreshold"],"+",[6,"std.max",[[1,[6,"std.fract",["a"]],"-","threshold"],[5,"0"]]]]],[13,"Fb",[1,[1,[6,"std.floor",["b"]],"*","oneMinusThreshold"],"+",[6,"std.max",[[1,[6,"std.fract",["b"]],"-","threshold"],[5,"0"]]]]],[10,[6,"std.clamp",[[1,[1,"Fa","-","Fb"],"/","w"],[5,"0"],[5,"1"]]]]]]},externals:{"std.floor":()=>q,"std.max":()=>b,"std.fract":()=>ue,"std.clamp":()=>$}})&&e.f)({})),bm=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(t,__tsover_mul(s,.5)),n=__tsover_sub(t,__tsover_mul(s,.5));return __tsover_div(__tsover_sub(__tsover_sub(__tsover_add(q(o),oe(__tsover_mul(ue(o),r),1)),q(n)),oe(__tsover_mul(ue(n),r),1)),__tsover_mul(r,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"w"},{type:"i",name:"N"}],body:[0,[[13,"a",[1,"p","+",[1,"w","*",[5,"0.5"]]]],[13,"b",[1,"p","-",[1,"w","*",[5,"0.5"]]]],[10,[1,[1,[1,[1,[6,"std.floor",["a"]],"+",[6,"std.min",[[1,[6,"std.fract",["a"]],"*","N"],[5,"1"]]]],"-",[6,"std.floor",["b"]]],"-",[6,"std.min",[[1,[6,"std.fract",["b"]],"*","N"],[5,"1"]]]],"/",[1,"N","*","w"]]]]]},externals:{"std.floor":()=>q,"std.min":()=>oe,"std.fract":()=>ue}})&&e.f)({})),Og=v.fn([l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=l(__tsover_mul(s.x,.5),__tsover_mul(s.y,.5)),o=z(__tsover_sub(ue(__tsover_mul(__tsover_sub(t.x,r.x),.5)),.5)),n=z(__tsover_sub(ue(__tsover_mul(__tsover_sub(t.y,r.y),.5)),.5)),i=z(__tsover_sub(ue(__tsover_mul(__tsover_add(t.x,r.x),.5)),.5)),d=z(__tsover_sub(ue(__tsover_mul(__tsover_add(t.y,r.y),.5)),.5)),c=__tsover_div(__tsover_mul(__tsover_sub(o,i),2),s.x),_=__tsover_div(__tsover_mul(__tsover_sub(n,d),2),s.y);return $(__tsover_sub(.5,__tsover_mul(__tsover_mul(c,_),.5)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"w"}],body:[0,[[13,"aHalf",[6,"d.vec2f",[[1,[7,"w","x"],"*",[5,"0.5"]],[1,[7,"w","y"],"*",[5,"0.5"]]]]],[13,"minusSideX",[6,"std.abs",[[1,[6,"std.fract",[[1,[1,[7,"p","x"],"-",[7,"aHalf","x"]],"*",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"minusSideY",[6,"std.abs",[[1,[6,"std.fract",[[1,[1,[7,"p","y"],"-",[7,"aHalf","y"]],"*",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"plusSideX",[6,"std.abs",[[1,[6,"std.fract",[[1,[1,[7,"p","x"],"+",[7,"aHalf","x"]],"*",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"plusSideY",[6,"std.abs",[[1,[6,"std.fract",[[1,[1,[7,"p","y"],"+",[7,"aHalf","y"]],"*",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"iX",[1,[1,[1,"minusSideX","-","plusSideX"],"*",[5,"2"]],"/",[7,"w","x"]]],[13,"iY",[1,[1,[1,"minusSideY","-","plusSideY"],"*",[5,"2"]],"/",[7,"w","y"]]],[10,[6,"std.clamp",[[1,[5,"0.5"],"-",[1,[1,"iX","*","iY"],"*",[5,"0.5"]]],[5,"0"],[5,"1"]]]]]]},externals:{"d.vec2f":()=>l,"std.abs":()=>z,"std.fract":()=>ue,"std.clamp":()=>$}})&&e.f)({})),Nl=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return __tsover_mul(__tsover_sub(1,re(r,o,t)),De(1e-4,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"field"},{type:"i",name:"lineWidth"},{type:"i",name:"lo"},{type:"i",name:"hi"}],body:[0,[[10,[1,[1,[5,"1"],"-",[6,"std.smoothstep",["lo","hi","field"]]],"*",[6,"std.step",[[5,"0.0001"],"lineWidth"]]]]]]},externals:{"std.smoothstep":()=>re,"std.step":()=>De}})&&e.f)({})),Ri=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_mul(re(s,r,t),re(s,r,__tsover_sub(1,t)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"lo"},{type:"i",name:"hi"}],body:[0,[[10,[1,[6,"std.smoothstep",["lo","hi","x"]],"*",[6,"std.smoothstep",["lo","hi",[1,[5,"1"],"-","x"]]]]]]]},externals:{"std.smoothstep":()=>re}})&&e.f)({})),Vg=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_sub(1,re(__tsover_sub(s,__tsover_mul(r,.5)),s,t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"radius"},{type:"i",name:"footprint"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"radius","-",[1,"footprint","*",[5,"0.5"]]],"radius","dist"]]]]]]},externals:{"std.smoothstep":()=>re}})&&e.f)({})),S8=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=bt(s);return l(__tsover_mul(t.x,n),t.y).mul(ct(r)).add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"scale"},{type:"i",name:"seed"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[10,[6,[7,[6,[7,"aspectUV","mul"],[[6,"std.exp",["scale"]]]],"add"],["seed"]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l,"std.exp":()=>ct}})&&e.f)({})),A8=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return q(t.mul(s).div(r)).add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"grain"},{type:"i",name:"seed"}],body:[0,[[10,[6,[7,[6,"std.floor",[[6,[7,[6,[7,"uv","mul"],["viewport"]],"div"],["grain"]]]],"add"],["seed"]]]]]},externals:{"std.floor":()=>q}})&&e.f)({})),M8=v.fn([l,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return f(t.x,t.y,__tsover_mul(s,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"t"},{type:"i",name:"rate"}],body:[0,[[10,[6,"d.vec3f",[[7,"pos","x"],[7,"pos","y"],[1,"t","*","rate"]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),Ng=new WeakMap,tR=0;function Dv(e){let t=e,s=Ng.get(t);if(s!==void 0)return s;let r=tR++;return Ng.set(t,r),r}function s7(e,t){let{maxOctaves:s,drift:r,stride:o=[17,31],name:n="fbmGated"}=t,i=`${Dv(e)}|${n}|${s}|${r}|${o[0]},${o[1]}`,d=qg.get(i);if(d)return d;let c=s,_=o[0],u=o[1],m=`${r==="goldenAngle"?"Golden":"TimeSeed"}${c}`,p;if(r==="goldenAngle"){let y=e;p=v.fn([l,a,a,a,a,l,a],l)((h=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(h.f=((g,w,S,T,A,P,U)=>{"use gpu";let D=Z(U),O=w,L=a(1),G=a(0),W=a(0);for(let K=0;KZ,"d.f32":()=>a,N:()=>c,"std.cos":()=>H,GOLDEN:()=>2.3999632297286535,"std.sin":()=>Y,"d.vec2f":()=>l,"std.select":()=>C,octaveField:()=>y}})&&h.f)({})).$name(`${n}${m}`)}else{let y=e;p=v.fn([l,a,a,a,a,a,f,a],l)((h=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(h.f=((g,w,S,T,A,P,U,D)=>{"use gpu";let O=w,L=a(1),G=a(0),W=a(0);for(let K=0;Ka,N:()=>c,"std.select":()=>C,"d.vec2f":()=>l,TIME_STRIDE:()=>_,SEED_STRIDE:()=>u,octaveField:()=>y}})&&h.f)({})).$name(`${n}${m}`)}return qg.set(i,p),p}var qg=new Map,r7={q:[[.3,-.2,0],[5.2,1.3,.25]],r:[[1.7,9.2,.15],[8.3,2.8,.13]]};function sR(e,t={}){let{offsets:s=r7,name:r="domainWarp2"}=t,o=`${Dv(e)}|${r}|${JSON.stringify(s)}`,n=ql.get(o);if(n)return n;let i=e,[d,c,_]=s.q[0],[u,m,p]=s.q[1],[y,h,g]=s.r[0],[w,S,T]=s.r[1],A=v.fn([f,a,a],f)((P=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(P.f=((U,D,O)=>{"use gpu";let L=i(U.add(f(__tsover_mul(D,d),__tsover_mul(D,c),_))),G=i(U.add(f(u,m,__tsover_mul(D,p)))),W=U.add(f(L,G,0).mul(O)),K=i(W.add(f(y,h,__tsover_mul(D,g)))),Q=i(W.add(f(w,S,__tsover_mul(D,T))));return U.add(f(K,Q,0).mul(O))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"t"},{type:"i",name:"warpAmount"}],body:[0,[[13,"qx",[6,"warpField",[[6,[7,"pos","add"],[[6,"d.vec3f",[[1,"t","*","QX"],[1,"t","*","QY"],"QZ"]]]]]]],[13,"qy",[6,"warpField",[[6,[7,"pos","add"],[[6,"d.vec3f",["Q2X","Q2Y",[1,"t","*","Q2Z"]]]]]]]],[13,"warped1",[6,[7,"pos","add"],[[6,[7,[6,"d.vec3f",["qx","qy",[5,"0"]]],"mul"],["warpAmount"]]]]],[13,"rx",[6,"warpField",[[6,[7,"warped1","add"],[[6,"d.vec3f",["RX","RY",[1,"t","*","RZ"]]]]]]]],[13,"ry",[6,"warpField",[[6,[7,"warped1","add"],[[6,"d.vec3f",["R2X","R2Y",[1,"t","*","R2Z"]]]]]]]],[10,[6,[7,"pos","add"],[[6,[7,[6,"d.vec3f",["rx","ry",[5,"0"]]],"mul"],["warpAmount"]]]]]]]},externals:{warpField:()=>i,"d.vec3f":()=>f,QX:()=>d,QY:()=>c,QZ:()=>_,Q2X:()=>u,Q2Y:()=>m,Q2Z:()=>p,RX:()=>y,RY:()=>h,RZ:()=>g,R2X:()=>w,R2Y:()=>S,R2Z:()=>T}})&&P.f)({})).$name(r);return ql.set(o,A),A}function rR(e,t={}){let{offsets:s=r7,name:r="domainWarp1"}=t,o=`1|${Dv(e)}|${r}|${JSON.stringify(s)}`,n=ql.get(o);if(n)return n;let i=e,[d,c,_]=s.q[0],[u,m,p]=s.q[1],y=v.fn([f,a,a],f)((h=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(h.f=((g,w,S)=>{"use gpu";let T=i(g.add(f(__tsover_mul(w,d),__tsover_mul(w,c),_))),A=i(g.add(f(u,m,__tsover_mul(w,p))));return g.add(f(T,A,0).mul(S))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"t"},{type:"i",name:"warpAmount"}],body:[0,[[13,"qx",[6,"warpField",[[6,[7,"pos","add"],[[6,"d.vec3f",[[1,"t","*","QX"],[1,"t","*","QY"],"QZ"]]]]]]],[13,"qy",[6,"warpField",[[6,[7,"pos","add"],[[6,"d.vec3f",["Q2X","Q2Y",[1,"t","*","Q2Z"]]]]]]]],[10,[6,[7,"pos","add"],[[6,[7,[6,"d.vec3f",["qx","qy",[5,"0"]]],"mul"],["warpAmount"]]]]]]]},externals:{warpField:()=>i,"d.vec3f":()=>f,QX:()=>d,QY:()=>c,QZ:()=>_,Q2X:()=>u,Q2Y:()=>m,Q2Z:()=>p}})&&h.f)({})).$name(r);return ql.set(o,y),y}var ql=new Map,oR=v.fn([l,a,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(t.x,s),t.y),d=l(__tsover_mul(r.x,s),__tsover_sub(1,r.y)),c=j(i.sub(d));return re(o,__tsover_add(o,n),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"},{type:"i",name:"radius"},{type:"i",name:"falloff"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dist",[6,"std.length",[[6,[7,"aspectUV","sub"],["centerPos"]]]]],[10,[6,"std.smoothstep",["radius",[1,"radius","+","falloff"],"dist"]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.smoothstep":()=>re}})&&e.f)({})),wm=.11,Xl=.6180339887,lc=8,Xg=v.fn([a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_add(__tsover_mul(t,2.3999632297286535),__tsover_mul(Gs(__tsover_add(__tsover_mul(r,.7311),1.618)),it)),c=be(__tsover_div(__tsover_add(t,.5),s)),_=er(l(__tsover_add(__tsover_mul(t,3.77),.917),__tsover_add(__tsover_mul(r,1.093),2.236))).sub(.5).mul(.26),u=er(l(__tsover_add(__tsover_mul(t,7.13),1.618),__tsover_add(__tsover_mul(r,.531),3.71))).mul(it),m=__tsover_add(.5,__tsover_mul(Gs(__tsover_add(__tsover_add(__tsover_mul(t,5.417),__tsover_mul(r,.291)),.917)),.7)),p=Y(__tsover_add(__tsover_mul(__tsover_mul(i,wm),m),u.x)),y=H(__tsover_add(__tsover_mul(__tsover_mul(__tsover_mul(i,wm),m),1.37),u.y)),h=__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(H(d),c),.62),_.x),__tsover_mul(__tsover_mul(p,o),.16)),g=__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(Y(d),c),.62),_.y),__tsover_mul(__tsover_mul(y,o),.16));return l(__tsover_mul(__tsover_add(.5,h),n),__tsover_add(.5,g))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fi"},{type:"i",name:"count"},{type:"i",name:"seed"},{type:"i",name:"drift"},{type:"i",name:"aspect"},{type:"i",name:"animTime"}],body:[0,[[13,"theta",[1,[1,"fi","*","GOLDEN"],"+",[1,[6,"hash11",[[1,[1,"seed","*",[5,"0.7311"]],"+",[5,"1.618"]]]],"*","TAU"]]],[13,"r",[6,"std.sqrt",[[1,[1,"fi","+",[5,"0.5"]],"/","count"]]]],[13,"j",[6,[7,[6,[7,[6,"hash22",[[6,"d.vec2f",[[1,[1,"fi","*",[5,"3.77"]],"+",[5,"0.917"]],[1,[1,"seed","*",[5,"1.093"]],"+",[5,"2.236"]]]]]],"sub"],[[5,"0.5"]]],"mul"],[[5,"0.26"]]]],[13,"ph",[6,[7,[6,"hash22",[[6,"d.vec2f",[[1,[1,"fi","*",[5,"7.13"]],"+",[5,"1.618"]],[1,[1,"seed","*",[5,"0.531"]],"+",[5,"3.71"]]]]]],"mul"],["TAU"]]],[13,"w1",[1,[5,"0.5"],"+",[1,[6,"hash11",[[1,[1,[1,"fi","*",[5,"5.417"]],"+",[1,"seed","*",[5,"0.291"]]],"+",[5,"0.917"]]]],"*",[5,"0.7"]]]],[13,"dx",[6,"std.sin",[[1,[1,[1,"animTime","*","SCATTER_DRIFT_RATE"],"*","w1"],"+",[7,"ph","x"]]]]],[13,"dy",[6,"std.cos",[[1,[1,[1,[1,"animTime","*","SCATTER_DRIFT_RATE"],"*","w1"],"*",[5,"1.37"]],"+",[7,"ph","y"]]]]],[13,"nx",[1,[1,[1,[1,[6,"std.cos",["theta"]],"*","r"],"*",[5,"0.62"]],"+",[7,"j","x"]],"+",[1,[1,"dx","*","drift"],"*",[5,"0.16"]]]],[13,"ny",[1,[1,[1,[1,[6,"std.sin",["theta"]],"*","r"],"*",[5,"0.62"]],"+",[7,"j","y"]],"+",[1,[1,"dy","*","drift"],"*",[5,"0.16"]]]],[10,[6,"d.vec2f",[[1,[1,[5,"0.5"],"+","nx"],"*","aspect"],[1,[5,"0.5"],"+","ny"]]]]]]},externals:{GOLDEN:()=>2.3999632297286535,hash11:()=>Gs,TAU:()=>it,"std.sqrt":()=>be,hash22:()=>er,"d.vec2f":()=>l,"std.sin":()=>Y,SCATTER_DRIFT_RATE:()=>wm,"std.cos":()=>H}})&&e.f)({})),nR=v.fn([l,a,a,pt(x,lc/2),a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=a(0),d=a(0),c=Gs(__tsover_add(__tsover_mul(r,.531),.77));for(let _=0;_a,hash11:()=>Gs,SCATTER_MAX:()=>lc,"std.select":()=>C,"std.max":()=>b,"std.length":()=>j,"std.pow":()=>Ce,"std.fract":()=>ue,GOLDEN_CONJ:()=>Xl}})&&e.f)({})),aR=v.fn([l,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=a(0),_=a(0);for(let u=0;ua,SCATTER_MAX:()=>lc,"std.select":()=>C,spiralScatter:()=>Xg,"std.max":()=>b,"std.length":()=>j,"std.pow":()=>Ce,"std.fract":()=>ue,GOLDEN_CONJ:()=>Xl,hash11:()=>Gs}})&&e.f)({})),iR=v.fn([l,a,a,l,l,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=f(__tsover_mul(t.x,s),__tsover_mul(t.y,s),r),_=go(c.add(f(o.x,o.y,0))),u=go(c.add(f(n.x,n.y,0)));return x(__tsover_add(t.x,__tsover_mul(__tsover_mul(_,i),d)),__tsover_add(t.y,__tsover_mul(__tsover_mul(u,i),d)),_,u)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"scale"},{type:"i",name:"z"},{type:"i",name:"offA"},{type:"i",name:"offB"},{type:"i",name:"k"},{type:"i",name:"strength"}],body:[0,[[13,"wp",[6,"d.vec3f",[[1,[7,"pos","x"],"*","scale"],[1,[7,"pos","y"],"*","scale"],"z"]]],[13,"nx",[6,"mxNoiseFloat3",[[6,[7,"wp","add"],[[6,"d.vec3f",[[7,"offA","x"],[7,"offA","y"],[5,"0"]]]]]]]],[13,"ny",[6,"mxNoiseFloat3",[[6,[7,"wp","add"],[[6,"d.vec3f",[[7,"offB","x"],[7,"offB","y"],[5,"0"]]]]]]]],[10,[6,"d.vec4f",[[1,[7,"pos","x"],"+",[1,[1,"nx","*","k"],"*","strength"]],[1,[7,"pos","y"],"+",[1,[1,"ny","*","k"],"*","strength"]],"nx","ny"]]]]]},externals:{"d.vec3f":()=>f,mxNoiseFloat3:()=>go,"d.vec4f":()=>x}})&&e.f)({})),N_=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(Y(l(se(t,l(127.1,311.7)),se(t,l(269.5,183.3)))).mul(43758.5453))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"h",[6,"d.vec2f",[[6,"std.dot",["p",[6,"d.vec2f",[[5,"127.1"],[5,"311.7"]]]]],[6,"std.dot",["p",[6,"d.vec2f",[[5,"269.5"],[5,"183.3"]]]]]]]],[10,[6,"std.fract",[[6,[7,[6,"std.sin",["h"]],"mul"],[[5,"43758.5453"]]]]]]]]},externals:{"d.vec2f":()=>l,"std.dot":()=>se,"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({}));function o7(e){let{distance:t,jitter:s,name:r="nearest2Cells"}=e,o=`${r}|${t}|${s}`,n=Hg.get(o);if(n)return n;let i=`${t==="length"?"Len":"Sel"}${s==="mix"?"Jit":""}`,d;return t==="length"&&s==="none"?d=v.fn([l,a,a],l)((c=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(c.f=((_,u,m)=>{"use gpu";let p=q(_),y=ue(_),h=a(10),g=a(10);for(let w=-1;w<=1;w++)for(let S=-1;S<=1;S++){let T=l(a(S),a(w)),A=N_(l(__tsover_add(__tsover_add(p.x,T.x),m),__tsover_add(__tsover_add(p.y,T.y),m))),P=$(__tsover_add(A.x,__tsover_mul(Y(__tsover_add(u,__tsover_mul(A.x,it))),.15)),.05,.95),U=$(__tsover_add(A.y,__tsover_mul(H(__tsover_add(__tsover_mul(u,.7),__tsover_mul(A.y,it))),.15)),.05,.95),D=j(l(__tsover_sub(y.x,__tsover_add(T.x,P)),__tsover_sub(y.y,__tsover_add(T.y,U))));g=oe(g,b(D,h)),h=oe(h,D)}return l(h,g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"animT"},{type:"i",name:"seed"}],body:[0,[[13,"cell",[6,"std.floor",["scaledUV"]]],[13,"localUV",[6,"std.fract",["scaledUV"]]],[12,"d1",[6,"d.f32",[[5,"10"]]]],[12,"d2",[6,"d.f32",[[5,"10"]]]],[14,[12,"ny",[4,"-",[5,"1"]]],[1,"ny","<=",[5,"1"]],[102,"++","ny"],[0,[[14,[12,"nx",[4,"-",[5,"1"]]],[1,"nx","<=",[5,"1"]],[102,"++","nx"],[0,[[13,"offset",[6,"d.vec2f",[[6,"d.f32",["nx"]],[6,"d.f32",["ny"]]]]],[13,"h",[6,"cellHash2",[[6,"d.vec2f",[[1,[1,[7,"cell","x"],"+",[7,"offset","x"]],"+","seed"],[1,[1,[7,"cell","y"],"+",[7,"offset","y"]],"+","seed"]]]]]],[13,"pointX",[6,"std.clamp",[[1,[7,"h","x"],"+",[1,[6,"std.sin",[[1,"animT","+",[1,[7,"h","x"],"*","TAU"]]]],"*",[5,"0.15"]]],[5,"0.05"],[5,"0.95"]]]],[13,"pointY",[6,"std.clamp",[[1,[7,"h","y"],"+",[1,[6,"std.cos",[[1,[1,"animT","*",[5,"0.7"]],"+",[1,[7,"h","y"],"*","TAU"]]]],"*",[5,"0.15"]]],[5,"0.05"],[5,"0.95"]]]],[13,"dd",[6,"std.length",[[6,"d.vec2f",[[1,[7,"localUV","x"],"-",[1,[7,"offset","x"],"+","pointX"]],[1,[7,"localUV","y"],"-",[1,[7,"offset","y"],"+","pointY"]]]]]]],[2,"d2","=",[6,"std.min",["d2",[6,"std.max",["dd","d1"]]]]],[2,"d1","=",[6,"std.min",["d1","dd"]]]]]]]]],[10,[6,"d.vec2f",["d1","d2"]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,"d.f32":()=>a,"d.vec2f":()=>l,cellHash2:()=>N_,"std.clamp":()=>$,"std.sin":()=>Y,TAU:()=>it,"std.cos":()=>H,"std.length":()=>j,"std.min":()=>oe,"std.max":()=>b}})&&c.f)({})).$name(`${r}${i}`):d=v.fn([l,a,a,a,a],l)((c=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(c.f=((_,u,m,p,y)=>{"use gpu";let h=__tsover_mul(u,.7),g=q(_),w=ue(_),S=a(10),T=a(10);for(let A=-1;A<=1;A++)for(let P=-1;P<=1;P++){let U=l(a(P),a(A)),D=N_(l(__tsover_add(__tsover_add(g.x,U.x),m),__tsover_add(__tsover_add(g.y,U.y),m))),O=__tsover_add(D.x,__tsover_mul(Y(__tsover_add(u,__tsover_mul(D.x,it))),.15)),L=__tsover_add(D.y,__tsover_mul(H(__tsover_add(h,__tsover_mul(D.y,it))),.15)),G=X(.5,$(O,.05,.95),p),W=X(.5,$(L,.05,.95),p),K=__tsover_sub(w.x,__tsover_add(U.x,G)),Q=__tsover_sub(w.y,__tsover_add(U.y,W)),te=__tsover_add(__tsover_mul(K,K),__tsover_mul(Q,Q)),ee=__tsover_add(z(K),z(Q)),he=b(z(K),z(Q)),Ee=te;Ee=C(Ee,ee,y===1),Ee=C(Ee,he,y===2),T=oe(T,b(Ee,S)),S=oe(S,Ee)}return l(S,T)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"animT"},{type:"i",name:"seed"},{type:"i",name:"jitterAmount"},{type:"i",name:"metric"}],body:[0,[[13,"animTSlow",[1,"animT","*",[5,"0.7"]]],[13,"cell",[6,"std.floor",["scaledUV"]]],[13,"localUV",[6,"std.fract",["scaledUV"]]],[12,"d1",[6,"d.f32",[[5,"10"]]]],[12,"d2",[6,"d.f32",[[5,"10"]]]],[14,[12,"ny",[4,"-",[5,"1"]]],[1,"ny","<=",[5,"1"]],[102,"++","ny"],[0,[[14,[12,"nx",[4,"-",[5,"1"]]],[1,"nx","<=",[5,"1"]],[102,"++","nx"],[0,[[13,"offset",[6,"d.vec2f",[[6,"d.f32",["nx"]],[6,"d.f32",["ny"]]]]],[13,"h",[6,"cellHash2",[[6,"d.vec2f",[[1,[1,[7,"cell","x"],"+",[7,"offset","x"]],"+","seed"],[1,[1,[7,"cell","y"],"+",[7,"offset","y"]],"+","seed"]]]]]],[13,"px",[1,[7,"h","x"],"+",[1,[6,"std.sin",[[1,"animT","+",[1,[7,"h","x"],"*","TAU"]]]],"*",[5,"0.15"]]]],[13,"py",[1,[7,"h","y"],"+",[1,[6,"std.cos",[[1,"animTSlow","+",[1,[7,"h","y"],"*","TAU"]]]],"*",[5,"0.15"]]]],[13,"jx",[6,"std.mix",[[5,"0.5"],[6,"std.clamp",["px",[5,"0.05"],[5,"0.95"]]],"jitterAmount"]]],[13,"jy",[6,"std.mix",[[5,"0.5"],[6,"std.clamp",["py",[5,"0.05"],[5,"0.95"]]],"jitterAmount"]]],[13,"deltaX",[1,[7,"localUV","x"],"-",[1,[7,"offset","x"],"+","jx"]]],[13,"deltaY",[1,[7,"localUV","y"],"-",[1,[7,"offset","y"],"+","jy"]]],[13,"dEuclid",[1,[1,"deltaX","*","deltaX"],"+",[1,"deltaY","*","deltaY"]]],[13,"dManhattan",[1,[6,"std.abs",["deltaX"]],"+",[6,"std.abs",["deltaY"]]]],[13,"dChebyshev",[6,"std.max",[[6,"std.abs",["deltaX"]],[6,"std.abs",["deltaY"]]]]],[12,"dd","dEuclid"],[2,"dd","=",[6,"std.select",["dd","dManhattan",[1,"metric","===",[5,"1"]]]]],[2,"dd","=",[6,"std.select",["dd","dChebyshev",[1,"metric","===",[5,"2"]]]]],[2,"d2","=",[6,"std.min",["d2",[6,"std.max",["dd","d1"]]]]],[2,"d1","=",[6,"std.min",["d1","dd"]]]]]]]]],[10,[6,"d.vec2f",["d1","d2"]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,"d.f32":()=>a,"d.vec2f":()=>l,cellHash2:()=>N_,"std.sin":()=>Y,TAU:()=>it,"std.cos":()=>H,"std.mix":()=>X,"std.clamp":()=>$,"std.abs":()=>z,"std.max":()=>b,"std.select":()=>C,"std.min":()=>oe}})&&c.f)({})).$name(`${r}${i}`),Hg.set(o,d),d}var Hg=new Map;var jg=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=r===0,i=C(t,be(t),n),d=C(s,be(s),n),c=i;return c=C(c,d,o===1),c=C(c,__tsover_sub(d,i),o===2),c=C(c,__tsover_add(i,d),o===3),c=C(c,__tsover_mul(i,d),o===4),c}),{v:2,name:void 0,ast:{params:[{type:"i",name:"d1"},{type:"i",name:"d2"},{type:"i",name:"metric"},{type:"i",name:"mode"}],body:[0,[[13,"isEuclid",[1,"metric","===",[5,"0"]]],[13,"sd1",[6,"std.select",["d1",[6,"std.sqrt",["d1"]],"isEuclid"]]],[13,"sd2",[6,"std.select",["d2",[6,"std.sqrt",["d2"]],"isEuclid"]]],[12,"raw","sd1"],[2,"raw","=",[6,"std.select",["raw","sd2",[1,"mode","===",[5,"1"]]]]],[2,"raw","=",[6,"std.select",["raw",[1,"sd2","-","sd1"],[1,"mode","===",[5,"2"]]]]],[2,"raw","=",[6,"std.select",["raw",[1,"sd1","+","sd2"],[1,"mode","===",[5,"3"]]]]],[2,"raw","=",[6,"std.select",["raw",[1,"sd1","*","sd2"],[1,"mode","===",[5,"4"]]]]],[10,"raw"]]]},externals:{"std.select":()=>C,"std.sqrt":()=>be}})&&e.f)({})),Kg=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=b(__tsover_add(t,s),1e-4);return $(Ce($(__tsover_div(__tsover_mul(t,2),o),0,1),r),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"d1"},{type:"i",name:"d2"},{type:"i",name:"power"}],body:[0,[[13,"safeSum",[6,"std.max",[[1,"d1","+","d2"],[5,"0.0001"]]]],[13,"normalizedDist",[6,"std.clamp",[[1,[1,"d1","*",[5,"2"]],"/","safeSum"],[5,"0"],[5,"1"]]]],[10,[6,"std.clamp",[[6,"std.pow",["normalizedDist","power"]],[5,"0"],[5,"1"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.pow":()=>Ce}})&&e.f)({})),Zg=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=b(__tsover_add(t,s),1e-4),n=__tsover_div(__tsover_sub(s,t),o);return re(0,__tsover_add(r,.001),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"d1"},{type:"i",name:"d2"},{type:"i",name:"softness"}],body:[0,[[13,"safeSum",[6,"std.max",[[1,"d1","+","d2"],[5,"0.0001"]]]],[13,"edgeMetric",[1,[1,"d2","-","d1"],"/","safeSum"]],[10,[6,"std.smoothstep",[[5,"0"],[1,"softness","+",[5,"0.001"]],"edgeMetric"]]]]]},externals:{"std.max":()=>b,"std.smoothstep":()=>re}})&&e.f)({})),Qg=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return ct(-__tsover_mul(__tsover_mul(t,t),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"sharpness"}],body:[0,[[10,[6,"std.exp",[[4,"-",[1,[1,"dist","*","dist"],"*","sharpness"]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),Tm=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return ct(__tsover_mul(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s)),-r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"du"},{type:"i",name:"dv"},{type:"i",name:"sharpness"}],body:[0,[[10,[6,"std.exp",[[1,[1,[1,"du","*","du"],"+",[1,"dv","*","dv"]],"*",[4,"-","sharpness"]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),P8=v.fn([l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(__tsover_sub(t.x,r),s),d=__tsover_sub(t.y,o),c=__tsover_add(__tsover_mul(i,i),__tsover_mul(d,d));return ct(__tsover_div(__tsover_mul(-.5,c),n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"lx"},{type:"i",name:"ly"},{type:"i",name:"sizeSq"}],body:[0,[[13,"dx",[1,[1,[7,"uv","x"],"-","lx"],"*","aspect"]],[13,"dy",[1,[7,"uv","y"],"-","ly"]],[13,"dd2",[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]],[10,[6,"std.exp",[[1,[1,[4,"-",[5,"0.5"]],"*","dd2"],"/","sizeSq"]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),Jg=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return Ce(__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(t,s),r)),.5),.5),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angle"},{type:"i",name:"count"},{type:"i",name:"phase"},{type:"i",name:"sharpness"}],body:[0,[[13,"t",[1,[1,[6,"std.sin",[[1,[1,"angle","*","count"],"+","phase"]]],"*",[5,"0.5"]],"+",[5,"0.5"]]],[10,[6,"std.pow",["t","sharpness"]]]]]},externals:{"std.sin":()=>Y,"std.pow":()=>Ce}})&&e.f)({})),Sm=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return Ce(z(H(__tsover_mul(t,s))),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angle"},{type:"i",name:"halfCount"},{type:"i",name:"power"}],body:[0,[[10,[6,"std.pow",[[6,"std.abs",[[6,"std.cos",[[1,"angle","*","halfCount"]]]]],"power"]]]]]},externals:{"std.pow":()=>Ce,"std.abs":()=>z,"std.cos":()=>H}})&&e.f)({})),e3=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=tt(t.y,t.x);return f(s,__tsover_sub(s,__tsover_mul(it,q(__tsover_div(s,it)))),re(-.15,.15,t.x))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"delta"}],body:[0,[[13,"angle",[6,"std.atan2",[[7,"delta","y"],[7,"delta","x"]]]],[13,"angleWrapped",[1,"angle","-",[1,"TAU","*",[6,"std.floor",[[1,"angle","/","TAU"]]]]]],[13,"blend",[6,"std.smoothstep",[[4,"-",[5,"0.15"]],[5,"0.15"],[7,"delta","x"]]]],[10,[6,"d.vec3f",["angle","angleWrapped","blend"]]]]]},externals:{"std.atan2":()=>tt,TAU:()=>it,"std.floor":()=>q,"std.smoothstep":()=>re,"d.vec3f":()=>f}})&&e.f)({})),Hl=v.fn([a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(o,1e-4);return f(__tsover_sub(1,re(0,n,z(__tsover_sub(t,__tsover_add(s,r))))),__tsover_sub(1,re(0,n,z(__tsover_sub(t,s)))),__tsover_sub(1,re(0,n,z(__tsover_sub(t,__tsover_sub(s,r))))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"center"},{type:"i",name:"spread"},{type:"i",name:"width"}],body:[0,[[13,"w",[6,"std.max",["width",[5,"0.0001"]]]],[13,"r",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"w",[6,"std.abs",[[1,"dist","-",[1,"center","+","spread"]]]]]]]],[13,"g",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"w",[6,"std.abs",[[1,"dist","-","center"]]]]]]],[13,"b",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"w",[6,"std.abs",[[1,"dist","-",[1,"center","-","spread"]]]]]]]],[10,[6,"d.vec3f",["r","g","b"]]]]]},externals:{"std.max":()=>b,"std.smoothstep":()=>re,"std.abs":()=>z,"d.vec3f":()=>f}})&&e.f)({})),t3=v.fn([l,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=l(__tsover_sub(r.x,s.x),__tsover_sub(r.y,s.y)),n=l(__tsover_sub(t.x,s.x),__tsover_sub(t.y,s.y)),i=__tsover_add(__tsover_mul(n.x,o.x),__tsover_mul(n.y,o.y)),d=__tsover_add(__tsover_mul(o.x,o.x),__tsover_mul(o.y,o.y)),c=$(__tsover_div(i,b(d,1e-4)),0,1),_=l(__tsover_add(s.x,__tsover_mul(o.x,c)),__tsover_add(s.y,__tsover_mul(o.y,c))),u=l(__tsover_sub(t.x,_.x),__tsover_sub(t.y,_.y));return l(c,be(__tsover_add(__tsover_mul(u.x,u.x),__tsover_mul(u.y,u.y))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"}],body:[0,[[13,"lineVec",[6,"d.vec2f",[[1,[7,"b","x"],"-",[7,"a","x"]],[1,[7,"b","y"],"-",[7,"a","y"]]]]],[13,"toPoint",[6,"d.vec2f",[[1,[7,"p","x"],"-",[7,"a","x"]],[1,[7,"p","y"],"-",[7,"a","y"]]]]],[13,"dotProduct",[1,[1,[7,"toPoint","x"],"*",[7,"lineVec","x"]],"+",[1,[7,"toPoint","y"],"*",[7,"lineVec","y"]]]],[13,"lineLengthSq",[1,[1,[7,"lineVec","x"],"*",[7,"lineVec","x"]],"+",[1,[7,"lineVec","y"],"*",[7,"lineVec","y"]]]],[13,"t",[6,"std.clamp",[[1,"dotProduct","/",[6,"std.max",["lineLengthSq",[5,"0.0001"]]]],[5,"0"],[5,"1"]]]],[13,"closestPoint",[6,"d.vec2f",[[1,[7,"a","x"],"+",[1,[7,"lineVec","x"],"*","t"]],[1,[7,"a","y"],"+",[1,[7,"lineVec","y"],"*","t"]]]]],[13,"distVec",[6,"d.vec2f",[[1,[7,"p","x"],"-",[7,"closestPoint","x"]],[1,[7,"p","y"],"-",[7,"closestPoint","y"]]]]],[10,[6,"d.vec2f",["t",[6,"std.sqrt",[[1,[1,[7,"distVec","x"],"*",[7,"distVec","x"]],"+",[1,[7,"distVec","y"],"*",[7,"distVec","y"]]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.clamp":()=>$,"std.max":()=>b,"std.sqrt":()=>be}})&&e.f)({})),s3=v.fn([a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=X(r,o,s),c=b(X(n,i,s),1e-4),_=__tsover_div(t,b(d,1e-4)),u=__tsover_add(1,c),m=Ce(__tsover_sub(1,re(1,u,_)),__tsover_add(1,__tsover_mul(c,1.5)));return l(re(__tsover_sub(1,c),__tsover_add(1,c),_),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"t"},{type:"i",name:"startThickness"},{type:"i",name:"endThickness"},{type:"i",name:"startSoftness"},{type:"i",name:"endSoftness"}],body:[0,[[13,"thickness",[6,"std.mix",["startThickness","endThickness","t"]]],[13,"softness",[6,"std.max",[[6,"std.mix",["startSoftness","endSoftness","t"]],[5,"0.0001"]]]],[13,"normalizedDist",[1,"dist","/",[6,"std.max",["thickness",[5,"0.0001"]]]]],[13,"edgeEnd",[1,[5,"1"],"+","softness"]],[13,"alphaBase",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"1"],"edgeEnd","normalizedDist"]]]],[13,"softnessFactor",[1,[5,"1"],"+",[1,"softness","*",[5,"1.5"]]]],[13,"alpha",[6,"std.pow",["alphaBase","softnessFactor"]]],[13,"colorGradientStart",[1,[5,"1"],"-","softness"]],[13,"colorGradientEnd",[1,[5,"1"],"+","softness"]],[13,"colorT",[6,"std.smoothstep",["colorGradientStart","colorGradientEnd","normalizedDist"]]],[10,[6,"d.vec2f",["colorT","alpha"]]]]]},externals:{"std.mix":()=>X,"std.max":()=>b,"std.smoothstep":()=>re,"std.pow":()=>Ce,"d.vec2f":()=>l}})&&e.f)({})),Am=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return ct(__tsover_div(__tsover_mul(__tsover_mul(__tsover_sub(t,s),__tsover_sub(t,s)),-1),__tsover_mul(r,r)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"u"},{type:"i",name:"center"},{type:"i",name:"width"}],body:[0,[[10,[6,"std.exp",[[1,[1,[1,[1,"u","-","center"],"*",[1,"u","-","center"]],"*",[4,"-",[5,"1"]]],"/",[1,"width","*","width"]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),q_=v.fn([a,f,f,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=re(0,.5,t),i=re(.55,1.15,t);return X(X(o,r,f(n)),s,f(i)).mul($(t,0,1.6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"heat"},{type:"i",name:"hot"},{type:"i",name:"mid"},{type:"i",name:"fringe"}],body:[0,[[13,"toMid",[6,"std.smoothstep",[[5,"0"],[5,"0.5"],"heat"]]],[13,"toHot",[6,"std.smoothstep",[[5,"0.55"],[5,"1.15"],"heat"]]],[13,"rgb",[6,"std.mix",[[6,"std.mix",["fringe","mid",[6,"d.vec3f",["toMid"]]]],"hot",[6,"d.vec3f",["toHot"]]]]],[10,[6,[7,"rgb","mul"],[[6,"std.clamp",["heat",[5,"0"],[5,"1.6"]]]]]]]]},externals:{"std.smoothstep":()=>re,"std.mix":()=>X,"d.vec3f":()=>f,"std.clamp":()=>$}})&&e.f)({})),E8=v.fn([a,f,f,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=q_(__tsover_mul(t,1.08),s,r,o),i=q_(t,s,r,o),d=q_(__tsover_mul(t,.88),s,r,o);return f(n.x,i.y,d.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"heat"},{type:"i",name:"hot"},{type:"i",name:"mid"},{type:"i",name:"fringe"}],body:[0,[[13,"rampR",[6,"heatRamp3",[[1,"heat","*",[5,"1.08"]],"hot","mid","fringe"]]],[13,"rampG",[6,"heatRamp3",["heat","hot","mid","fringe"]]],[13,"rampB",[6,"heatRamp3",[[1,"heat","*",[5,"0.88"]],"hot","mid","fringe"]]],[10,[6,"d.vec3f",[[7,"rampR","x"],[7,"rampG","y"],[7,"rampB","z"]]]]]]},externals:{heatRamp3:()=>q_,"d.vec3f":()=>f}})&&e.f)({})),k8=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s,__tsover_sub(1,r));return __tsover_sub(1,re(o,s,t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"radius"},{type:"i",name:"feather"}],body:[0,[[13,"falloffStart",[1,"radius","*",[1,[5,"1"],"-","feather"]]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",["falloffStart","radius","dist"]]]]]]},externals:{"std.smoothstep":()=>re}})&&e.f)({})),$8=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return Jg(t,s,r,__tsover_mul(__tsover_div(1,__tsover_add(o,.05)),.3))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angle"},{type:"i",name:"count"},{type:"i",name:"phase"},{type:"i",name:"softness"}],body:[0,[[13,"sharpness",[1,[1,[5,"1"],"/",[1,"softness","+",[5,"0.05"]]],"*",[5,"0.3"]]],[10,[6,"angularSineLobes",["angle","count","phase","sharpness"]]]]]},externals:{angularSineLobes:()=>Jg}})&&e.f)({})),U8=v.fn([l,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=r.x,i=__tsover_sub(1,r.y),d=__tsover_sub(__tsover_mul(t.x,o),__tsover_mul(n,o)),c=__tsover_sub(t.y,i);return l(be(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c))),tt(c,d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"center"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"cx",[7,"center","x"]],[13,"cy",[1,[5,"1"],"-",[7,"center","y"]]],[13,"dx",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,"cx","*","aspect"]]],[13,"dy",[1,[7,"uv","y"],"-","cy"]],[13,"dist",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[13,"angle",[6,"std.atan2",["dy","dx"]]],[10,[6,"d.vec2f",["dist","angle"]]]]]},externals:{"geom.aspectOf":()=>bt,"std.sqrt":()=>be,"std.atan2":()=>tt,"d.vec2f":()=>l}})&&e.f)({})),C8=v.fn([l,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=__tsover_mul(__tsover_sub(t.x,.5),o),i=__tsover_sub(t.y,.5),d=__tsover_add(__tsover_mul(n,n),__tsover_mul(i,i));return $(__tsover_sub(1,__tsover_mul(d,r)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"strength"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"vigX",[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"]],[13,"vigY",[1,[7,"uv","y"],"-",[5,"0.5"]]],[13,"vigD2",[1,[1,"vigX","*","vigX"],"+",[1,"vigY","*","vigY"]]],[10,[6,"std.clamp",[[1,[5,"1"],"-",[1,"vigD2","*","strength"]],[5,"0"],[5,"1"]]]]]]},externals:{"geom.aspectOf":()=>bt,"std.clamp":()=>$}})&&e.f)({})),R8=v.fn([x,f],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.xyz,o=$(f(1,1,1).sub(f(1,1,1).sub($(r,f(0),f(1))).mul(f(1,1,1).sub($(s,f(0),f(1))))).add(s.mul(.16)),f(0),f(1)),n=$(Ll(s),0,1);return x(o,$(__tsover_add(t.w,__tsover_mul(n,.85)),0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"leakRgb"}],body:[0,[[13,"base",[7,"color","xyz"]],[13,"screened",[6,[7,[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]],"sub"],[[6,[7,[6,[7,[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]],"sub"],[[6,"std.clamp",["base",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]],"mul"],[[6,[7,[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]],"sub"],[[6,"std.clamp",["leakRgb",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]]]]]]],[13,"lifted",[6,[7,"screened","add"],[[6,[7,"leakRgb","mul"],[[5,"0.16"]]]]]],[13,"outRgb",[6,"std.clamp",["lifted",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]],[13,"leakLuma",[6,"std.clamp",[[6,"tone.luma601Dot",["leakRgb"]],[5,"0"],[5,"1"]]]],[13,"outA",[6,"std.clamp",[[1,[7,"color","w"],"+",[1,"leakLuma","*",[5,"0.85"]]],[5,"0"],[5,"1"]]]],[10,[6,"d.vec4f",["outRgb","outA"]]]]]},externals:{"d.vec3f":()=>f,"std.clamp":()=>$,"tone.luma601Dot":()=>Ll,"d.vec4f":()=>x}})&&e.f)({})),z8=v.fn([l,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=l(__tsover_mul(t.x,s),t.y),n=l(__tsover_mul(r.x,s),__tsover_sub(1,r.y)),i=l(__tsover_mul(s,.5),.5).sub(n),d=j(i),c=C(__tsover_div(i.x,b(d,.001)),a(1),d<.02),_=C(__tsover_div(i.y,b(d,.001)),a(0),d<.02),u=__tsover_sub(o.x,n.x),m=__tsover_sub(o.y,n.y);return l(__tsover_add(__tsover_mul(u,c),__tsover_mul(m,_)),__tsover_sub(__tsover_mul(m,c),__tsover_mul(u,_)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"anchorRaw"}],body:[0,[[13,"pA",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"anchor",[6,"d.vec2f",[[1,[7,"anchorRaw","x"],"*","aspect"],[1,[5,"1"],"-",[7,"anchorRaw","y"]]]]],[13,"toCenter",[6,[7,[6,"d.vec2f",[[1,"aspect","*",[5,"0.5"]],[5,"0.5"]]],"sub"],["anchor"]]],[13,"cLen",[6,"std.length",["toCenter"]]],[13,"dirX",[6,"std.select",[[1,[7,"toCenter","x"],"/",[6,"std.max",["cLen",[5,"0.001"]]]],[6,"d.f32",[[5,"1"]]],[1,"cLen","<",[5,"0.02"]]]]],[13,"dirY",[6,"std.select",[[1,[7,"toCenter","y"],"/",[6,"std.max",["cLen",[5,"0.001"]]]],[6,"d.f32",[[5,"0"]]],[1,"cLen","<",[5,"0.02"]]]]],[13,"relX",[1,[7,"pA","x"],"-",[7,"anchor","x"]]],[13,"relY",[1,[7,"pA","y"],"-",[7,"anchor","y"]]],[10,[6,"d.vec2f",[[1,[1,"relX","*","dirX"],"+",[1,"relY","*","dirY"]],[1,[1,"relY","*","dirX"],"-",[1,"relX","*","dirY"]]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.select":()=>C,"std.max":()=>b,"d.f32":()=>a}})&&e.f)({}));var sn=1e-4,pa=1.0471975512,Fo=6/29,jl=500,Kl=200,X_=Fo*Fo*Fo,ta=4/29,H_=1/(3*Fo*Fo),j_=3*Fo*Fo,$s=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return f(__tsover_sub(__tsover_sub(__tsover_mul(t.x,1.2249401),__tsover_mul(t.y,.2249404)),__tsover_mul(t.z,0)),__tsover_add(__tsover_add(__tsover_mul(t.x,-.0420569),__tsover_mul(t.y,1.0420571)),__tsover_mul(t.z,0)),__tsover_add(__tsover_sub(__tsover_mul(t.x,-.0196376),__tsover_mul(t.y,.0786361)),__tsover_mul(t.z,1.0982735)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p3"}],body:[0,[[13,"r",[1,[1,[1,[7,"p3","x"],"*",[5,"1.2249401"]],"-",[1,[7,"p3","y"],"*",[5,"0.2249404"]]],"-",[1,[7,"p3","z"],"*",[5,"0"]]]],[13,"g",[1,[1,[1,[7,"p3","x"],"*",[4,"-",[5,"0.0420569"]]],"+",[1,[7,"p3","y"],"*",[5,"1.0420571"]]],"+",[1,[7,"p3","z"],"*",[5,"0"]]]],[13,"b",[1,[1,[1,[7,"p3","x"],"*",[4,"-",[5,"0.0196376"]]],"-",[1,[7,"p3","y"],"*",[5,"0.0786361"]]],"+",[1,[7,"p3","z"],"*",[5,"1.0982735"]]]],[10,[6,"d.vec3f",["r","g","b"]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),ss=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return f(__tsover_add(__tsover_add(__tsover_mul(t.x,.8224621),__tsover_mul(t.y,.177538)),__tsover_mul(t.z,0)),__tsover_add(__tsover_add(__tsover_mul(t.x,.0331941),__tsover_mul(t.y,.9668058)),__tsover_mul(t.z,0)),__tsover_add(__tsover_add(__tsover_mul(t.x,.0170826),__tsover_mul(t.y,.0723974)),__tsover_mul(t.z,.9105199)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"srgb"}],body:[0,[[13,"r",[1,[1,[1,[7,"srgb","x"],"*",[5,"0.8224621"]],"+",[1,[7,"srgb","y"],"*",[5,"0.177538"]]],"+",[1,[7,"srgb","z"],"*",[5,"0"]]]],[13,"g",[1,[1,[1,[7,"srgb","x"],"*",[5,"0.0331941"]],"+",[1,[7,"srgb","y"],"*",[5,"0.9668058"]]],"+",[1,[7,"srgb","z"],"*",[5,"0"]]]],[13,"b",[1,[1,[1,[7,"srgb","x"],"*",[5,"0.0170826"]],"+",[1,[7,"srgb","y"],"*",[5,"0.0723974"]]],"+",[1,[7,"srgb","z"],"*",[5,"0.9105199"]]]],[10,[6,"d.vec3f",["r","g","b"]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),To=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_add(__tsover_add(__tsover_mul(s,.4122214708),__tsover_mul(r,.5363325363)),__tsover_mul(o,.0514459929)),i=__tsover_add(__tsover_mul(s,.2119034982),__tsover_add(__tsover_mul(r,.6806995451),__tsover_mul(o,.1073969566))),d=__tsover_add(__tsover_add(__tsover_mul(s,.0883024619),__tsover_mul(r,.2817188376)),__tsover_mul(o,.6299787005)),c=__tsover_mul(ks(n),Ce(z(n),__tsover_div(1,3))),_=__tsover_mul(ks(i),Ce(z(i),__tsover_div(1,3))),u=__tsover_mul(ks(d),Ce(z(d),__tsover_div(1,3)));return f(__tsover_sub(__tsover_add(__tsover_mul(c,.2104542553),__tsover_mul(_,.793617785)),__tsover_mul(u,.0040720468)),__tsover_add(__tsover_sub(__tsover_mul(c,1.9779984951),__tsover_mul(_,2.428592205)),__tsover_mul(u,.4505937099)),__tsover_sub(__tsover_add(__tsover_mul(c,.0259040371),__tsover_mul(_,.7827717662)),__tsover_mul(u,.808675766)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[13,"r",[7,"rgb","x"]],[13,"g",[7,"rgb","y"]],[13,"b",[7,"rgb","z"]],[13,"l",[1,[1,[1,"r","*",[5,"0.4122214708"]],"+",[1,"g","*",[5,"0.5363325363"]]],"+",[1,"b","*",[5,"0.0514459929"]]]],[13,"m",[1,[1,"r","*",[5,"0.2119034982"]],"+",[1,[1,"g","*",[5,"0.6806995451"]],"+",[1,"b","*",[5,"0.1073969566"]]]]],[13,"s",[1,[1,[1,"r","*",[5,"0.0883024619"]],"+",[1,"g","*",[5,"0.2817188376"]]],"+",[1,"b","*",[5,"0.6299787005"]]]],[13,"l_",[1,[6,"std.sign",["l"]],"*",[6,"std.pow",[[6,"std.abs",["l"]],[1,[5,"1"],"/",[5,"3"]]]]]],[13,"m_",[1,[6,"std.sign",["m"]],"*",[6,"std.pow",[[6,"std.abs",["m"]],[1,[5,"1"],"/",[5,"3"]]]]]],[13,"s_",[1,[6,"std.sign",["s"]],"*",[6,"std.pow",[[6,"std.abs",["s"]],[1,[5,"1"],"/",[5,"3"]]]]]],[10,[6,"d.vec3f",[[1,[1,[1,"l_","*",[5,"0.2104542553"]],"+",[1,"m_","*",[5,"0.793617785"]]],"-",[1,"s_","*",[5,"0.0040720468"]]],[1,[1,[1,"l_","*",[5,"1.9779984951"]],"-",[1,"m_","*",[5,"2.428592205"]]],"+",[1,"s_","*",[5,"0.4505937099"]]],[1,[1,[1,"l_","*",[5,"0.0259040371"]],"+",[1,"m_","*",[5,"0.7827717662"]]],"-",[1,"s_","*",[5,"0.808675766"]]]]]]]]},externals:{"std.sign":()=>ks,"std.pow":()=>Ce,"std.abs":()=>z,"d.vec3f":()=>f}})&&e.f)({})),Kr=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_add(__tsover_add(s,__tsover_mul(r,.3963377774)),__tsover_mul(o,.2158037573)),i=__tsover_sub(__tsover_sub(s,__tsover_mul(r,.1055613458)),__tsover_mul(o,.0638541728)),d=__tsover_sub(__tsover_sub(s,__tsover_mul(r,.0894841775)),__tsover_mul(o,1.291485548)),c=Ce(n,3),_=Ce(i,3),u=Ce(d,3);return f(__tsover_add(__tsover_sub(__tsover_mul(c,4.0767416621),__tsover_mul(_,3.3077115913)),__tsover_mul(u,.2309699292)),__tsover_sub(__tsover_add(__tsover_mul(c,-1.2684380046),__tsover_mul(_,2.6097574011)),__tsover_mul(u,.3413193965)),__tsover_add(__tsover_sub(__tsover_mul(c,-.0041960863),__tsover_mul(_,.7034186147)),__tsover_mul(u,1.707614701)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lab"}],body:[0,[[13,"L",[7,"lab","x"]],[13,"a",[7,"lab","y"]],[13,"b",[7,"lab","z"]],[13,"l_",[1,[1,"L","+",[1,"a","*",[5,"0.3963377774"]]],"+",[1,"b","*",[5,"0.2158037573"]]]],[13,"m_",[1,[1,"L","-",[1,"a","*",[5,"0.1055613458"]]],"-",[1,"b","*",[5,"0.0638541728"]]]],[13,"s_",[1,[1,"L","-",[1,"a","*",[5,"0.0894841775"]]],"-",[1,"b","*",[5,"1.291485548"]]]],[13,"l",[6,"std.pow",["l_",[5,"3"]]]],[13,"m",[6,"std.pow",["m_",[5,"3"]]]],[13,"s",[6,"std.pow",["s_",[5,"3"]]]],[10,[6,"d.vec3f",[[1,[1,[1,"l","*",[5,"4.0767416621"]],"-",[1,"m","*",[5,"3.3077115913"]]],"+",[1,"s","*",[5,"0.2309699292"]]],[1,[1,[1,"l","*",[4,"-",[5,"1.2684380046"]]],"+",[1,"m","*",[5,"2.6097574011"]]],"-",[1,"s","*",[5,"0.3413193965"]]],[1,[1,[1,"l","*",[4,"-",[5,"0.0041960863"]]],"-",[1,"m","*",[5,"0.7034186147"]]],"+",[1,"s","*",[5,"1.707614701"]]]]]]]]},externals:{"std.pow":()=>Ce,"d.vec3f":()=>f}})&&e.f)({})),zi=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z;return f(s,be(__tsover_add(__tsover_mul(r,r),__tsover_mul(o,o))),tt(o,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lab"}],body:[0,[[13,"L",[7,"lab","x"]],[13,"a",[7,"lab","y"]],[13,"b",[7,"lab","z"]],[13,"C",[6,"std.sqrt",[[1,[1,"a","*","a"],"+",[1,"b","*","b"]]]]],[13,"h",[6,"std.atan2",["b","a"]]],[10,[6,"d.vec3f",["L","C","h"]]]]]},externals:{"std.sqrt":()=>be,"std.atan2":()=>tt,"d.vec3f":()=>f}})&&e.f)({})),Ha=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z;return f(s,__tsover_mul(r,H(o)),__tsover_mul(r,Y(o)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lch"}],body:[0,[[13,"L",[7,"lch","x"]],[13,"C",[7,"lch","y"]],[13,"h",[7,"lch","z"]],[10,[6,"d.vec3f",["L",[1,"C","*",[6,"std.cos",["h"]]],[1,"C","*",[6,"std.sin",["h"]]]]]]]]},externals:{"d.vec3f":()=>f,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),Zl=v.fn([a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=a(0),n=a(0),i=a(0);return r<1?(o=t,n=s):r<2?(o=s,n=t):r<3?(n=t,i=s):r<4?(n=s,i=t):r<5?(o=s,i=t):(o=t,i=s),f(o,n,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"c"},{type:"i",name:"x"},{type:"i",name:"sector"}],body:[0,[[12,"r",[6,"d.f32",[[5,"0"]]]],[12,"g",[6,"d.f32",[[5,"0"]]]],[12,"b",[6,"d.f32",[[5,"0"]]]],[11,[1,"sector","<",[5,"1"]],[0,[[2,"r","=","c"],[2,"g","=","x"]]],[11,[1,"sector","<",[5,"2"]],[0,[[2,"r","=","x"],[2,"g","=","c"]]],[11,[1,"sector","<",[5,"3"]],[0,[[2,"g","=","c"],[2,"b","=","x"]]],[11,[1,"sector","<",[5,"4"]],[0,[[2,"g","=","x"],[2,"b","=","c"]]],[11,[1,"sector","<",[5,"5"]],[0,[[2,"r","=","x"],[2,"b","=","c"]]],[0,[[2,"r","=","c"],[2,"b","=","x"]]]]]]]],[10,[6,"d.vec3f",["r","g","b"]]]]]},externals:{"d.f32":()=>a,"d.vec3f":()=>f}})&&e.f)({})),uc=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=b(b(s,r),o),i=oe(oe(s,r),o),d=__tsover_sub(n,i),c=__tsover_mul(__tsover_add(n,i),.5),_=b(__tsover_sub(1,z(__tsover_sub(__tsover_mul(c,2),1))),sn),u=__tsover_div(d,_),m=n===s,p=n===r,y=__tsover_div(__tsover_sub(r,o),b(d,sn)),h=__tsover_add(2,__tsover_div(__tsover_sub(o,s),b(d,sn))),g=C(C(__tsover_add(4,__tsover_div(__tsover_sub(s,r),b(d,sn))),h,p),y,m);return f(__tsover_mul(g,pa),u,c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[13,"r",[7,"rgb","x"]],[13,"g",[7,"rgb","y"]],[13,"b",[7,"rgb","z"]],[13,"maxVal",[6,"std.max",[[6,"std.max",["r","g"]],"b"]]],[13,"minVal",[6,"std.min",[[6,"std.min",["r","g"]],"b"]]],[13,"delta",[1,"maxVal","-","minVal"]],[13,"l",[1,[1,"maxVal","+","minVal"],"*",[5,"0.5"]]],[13,"satDenom",[6,"std.max",[[1,[5,"1"],"-",[6,"std.abs",[[1,[1,"l","*",[5,"2"]],"-",[5,"1"]]]]],"EPSILON"]]],[13,"s",[1,"delta","/","satDenom"]],[13,"isRMax",[1,"maxVal","===","r"]],[13,"isGMax",[1,"maxVal","===","g"]],[13,"hueR",[1,[1,"g","-","b"],"/",[6,"std.max",["delta","EPSILON"]]]],[13,"hueG",[1,[5,"2"],"+",[1,[1,"b","-","r"],"/",[6,"std.max",["delta","EPSILON"]]]]],[13,"hueB",[1,[5,"4"],"+",[1,[1,"r","-","g"],"/",[6,"std.max",["delta","EPSILON"]]]]],[13,"hue",[6,"std.select",[[6,"std.select",["hueB","hueG","isGMax"]],"hueR","isRMax"]]],[13,"h",[1,"hue","*","PI_OVER_3"]],[10,[6,"d.vec3f",["h","s","l"]]]]]},externals:{"std.max":()=>b,"std.min":()=>oe,"std.abs":()=>z,EPSILON:()=>sn,"std.select":()=>C,PI_OVER_3:()=>pa,"d.vec3f":()=>f}})&&e.f)({})),ja=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_mul(r,__tsover_sub(1,z(__tsover_sub(__tsover_mul(o,2),1)))),i=__tsover_div(s,pa),d=__tsover_mul(n,__tsover_sub(1,z(__tsover_sub(bo(i,2),1)))),c=__tsover_sub(o,__tsover_mul(n,.5));return Zl(n,d,q(i)).add(c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"hsl"}],body:[0,[[13,"h",[7,"hsl","x"]],[13,"s",[7,"hsl","y"]],[13,"l",[7,"hsl","z"]],[13,"c",[1,"s","*",[1,[5,"1"],"-",[6,"std.abs",[[1,[1,"l","*",[5,"2"]],"-",[5,"1"]]]]]]],[13,"hPrime",[1,"h","/","PI_OVER_3"]],[13,"x",[1,"c","*",[1,[5,"1"],"-",[6,"std.abs",[[1,[6,"std.mod",["hPrime",[5,"2"]]],"-",[5,"1"]]]]]]],[13,"m",[1,"l","-",[1,"c","*",[5,"0.5"]]]],[13,"sector",[6,"std.floor",["hPrime"]]],[10,[6,[7,[6,"selectRGBBySector",["c","x","sector"]],"add"],["m"]]]]]},externals:{"std.abs":()=>z,PI_OVER_3:()=>pa,"std.mod":()=>bo,"std.floor":()=>q,selectRGBBySector:()=>Zl}})&&e.f)({})),Mm=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=b(b(s,r),o),i=oe(oe(s,r),o),d=__tsover_sub(n,i),c=n,_=__tsover_div(d,b(n,sn)),u=n===s,m=n===r,p=__tsover_div(__tsover_sub(r,o),b(d,sn)),y=__tsover_add(2,__tsover_div(__tsover_sub(o,s),b(d,sn))),h=C(C(__tsover_add(4,__tsover_div(__tsover_sub(s,r),b(d,sn))),y,m),p,u);return f(__tsover_mul(h,pa),_,c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[13,"r",[7,"rgb","x"]],[13,"g",[7,"rgb","y"]],[13,"b",[7,"rgb","z"]],[13,"maxVal",[6,"std.max",[[6,"std.max",["r","g"]],"b"]]],[13,"minVal",[6,"std.min",[[6,"std.min",["r","g"]],"b"]]],[13,"delta",[1,"maxVal","-","minVal"]],[13,"v","maxVal"],[13,"s",[1,"delta","/",[6,"std.max",["maxVal","EPSILON"]]]],[13,"isRMax",[1,"maxVal","===","r"]],[13,"isGMax",[1,"maxVal","===","g"]],[13,"hueR",[1,[1,"g","-","b"],"/",[6,"std.max",["delta","EPSILON"]]]],[13,"hueG",[1,[5,"2"],"+",[1,[1,"b","-","r"],"/",[6,"std.max",["delta","EPSILON"]]]]],[13,"hueB",[1,[5,"4"],"+",[1,[1,"r","-","g"],"/",[6,"std.max",["delta","EPSILON"]]]]],[13,"hue",[6,"std.select",[[6,"std.select",["hueB","hueG","isGMax"]],"hueR","isRMax"]]],[13,"h",[1,"hue","*","PI_OVER_3"]],[10,[6,"d.vec3f",["h","s","v"]]]]]},externals:{"std.max":()=>b,"std.min":()=>oe,EPSILON:()=>sn,"std.select":()=>C,PI_OVER_3:()=>pa,"d.vec3f":()=>f}})&&e.f)({})),Ac=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_mul(o,r),i=__tsover_div(s,pa),d=__tsover_mul(n,__tsover_sub(1,z(__tsover_sub(bo(i,2),1)))),c=__tsover_sub(o,n);return Zl(n,d,q(i)).add(c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"hsv"}],body:[0,[[13,"h",[7,"hsv","x"]],[13,"s",[7,"hsv","y"]],[13,"v",[7,"hsv","z"]],[13,"c",[1,"v","*","s"]],[13,"hPrime",[1,"h","/","PI_OVER_3"]],[13,"x",[1,"c","*",[1,[5,"1"],"-",[6,"std.abs",[[1,[6,"std.mod",["hPrime",[5,"2"]]],"-",[5,"1"]]]]]]],[13,"m",[1,"v","-","c"]],[13,"sector",[6,"std.floor",["hPrime"]]],[10,[6,[7,[6,"selectRGBBySector",["c","x","sector"]],"add"],["m"]]]]]},externals:{PI_OVER_3:()=>pa,"std.abs":()=>z,"std.mod":()=>bo,"std.floor":()=>q,selectRGBBySector:()=>Zl}})&&e.f)({})),Pm=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_add(__tsover_add(__tsover_mul(s,.4124564),__tsover_mul(r,.3575761)),__tsover_mul(o,.1804375)),i=__tsover_add(__tsover_add(__tsover_mul(s,.2126729),__tsover_mul(r,.7151522)),__tsover_mul(o,.072175)),d=__tsover_add(__tsover_add(__tsover_mul(s,.0193339),__tsover_mul(r,.119192)),__tsover_mul(o,.9503041)),c=__tsover_div(n,.95047),_=__tsover_div(i,1),u=__tsover_div(d,1.08883),m=C(__tsover_add(__tsover_mul(c,H_),ta),Ce(c,__tsover_div(1,3)),c>X_),p=C(__tsover_add(__tsover_mul(_,H_),ta),Ce(_,__tsover_div(1,3)),_>X_),y=C(__tsover_add(__tsover_mul(u,H_),ta),Ce(u,__tsover_div(1,3)),u>X_);return f(__tsover_sub(__tsover_mul(p,116),16),__tsover_mul(__tsover_sub(m,p),jl),__tsover_mul(__tsover_sub(p,y),Kl))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[13,"r",[7,"rgb","x"]],[13,"g",[7,"rgb","y"]],[13,"b",[7,"rgb","z"]],[13,"x",[1,[1,[1,"r","*",[5,"0.4124564"]],"+",[1,"g","*",[5,"0.3575761"]]],"+",[1,"b","*",[5,"0.1804375"]]]],[13,"y",[1,[1,[1,"r","*",[5,"0.2126729"]],"+",[1,"g","*",[5,"0.7151522"]]],"+",[1,"b","*",[5,"0.072175"]]]],[13,"z",[1,[1,[1,"r","*",[5,"0.0193339"]],"+",[1,"g","*",[5,"0.119192"]]],"+",[1,"b","*",[5,"0.9503041"]]]],[13,"xn",[1,"x","/",[5,"0.95047"]]],[13,"yn",[1,"y","/",[5,"1"]]],[13,"zn",[1,"z","/",[5,"1.08883"]]],[13,"fx",[6,"std.select",[[1,[1,"xn","*","LAB_FWD_SLOPE"],"+","LAB_OFFSET"],[6,"std.pow",["xn",[1,[5,"1"],"/",[5,"3"]]]],[1,"xn",">","LAB_DELTA3"]]]],[13,"fy",[6,"std.select",[[1,[1,"yn","*","LAB_FWD_SLOPE"],"+","LAB_OFFSET"],[6,"std.pow",["yn",[1,[5,"1"],"/",[5,"3"]]]],[1,"yn",">","LAB_DELTA3"]]]],[13,"fz",[6,"std.select",[[1,[1,"zn","*","LAB_FWD_SLOPE"],"+","LAB_OFFSET"],[6,"std.pow",["zn",[1,[5,"1"],"/",[5,"3"]]]],[1,"zn",">","LAB_DELTA3"]]]],[13,"L",[1,[1,"fy","*",[5,"116"]],"-",[5,"16"]]],[13,"a",[1,[1,"fx","-","fy"],"*","LAB_KAPPA"]],[13,"bLab",[1,[1,"fy","-","fz"],"*","LAB_LAMBDA"]],[10,[6,"d.vec3f",["L","a","bLab"]]]]]},externals:{"std.select":()=>C,LAB_FWD_SLOPE:()=>H_,LAB_OFFSET:()=>ta,"std.pow":()=>Ce,LAB_DELTA3:()=>X_,LAB_KAPPA:()=>jl,LAB_LAMBDA:()=>Kl,"d.vec3f":()=>f}})&&e.f)({})),Mc=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_div(__tsover_add(s,16),116),i=__tsover_add(__tsover_div(r,jl),n),d=__tsover_sub(n,__tsover_div(o,Kl)),c=C(__tsover_mul(__tsover_sub(i,ta),j_),Ce(i,3),i>Fo),_=C(__tsover_mul(__tsover_sub(n,ta),j_),Ce(n,3),n>Fo),u=C(__tsover_mul(__tsover_sub(d,ta),j_),Ce(d,3),d>Fo),m=__tsover_mul(c,.95047),p=__tsover_mul(_,1),y=__tsover_mul(u,1.08883);return f(__tsover_sub(__tsover_sub(__tsover_mul(m,3.2404542),__tsover_mul(p,1.5371385)),__tsover_mul(y,.4985314)),__tsover_add(__tsover_add(__tsover_mul(m,-.969266),__tsover_mul(p,1.8760108)),__tsover_mul(y,.041556)),__tsover_add(__tsover_sub(__tsover_mul(m,.0556434),__tsover_mul(p,.2040259)),__tsover_mul(y,1.0572252)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lab"}],body:[0,[[13,"L",[7,"lab","x"]],[13,"a",[7,"lab","y"]],[13,"b",[7,"lab","z"]],[13,"fy",[1,[1,"L","+",[5,"16"]],"/",[5,"116"]]],[13,"fx",[1,[1,"a","/","LAB_KAPPA"],"+","fy"]],[13,"fz",[1,"fy","-",[1,"b","/","LAB_LAMBDA"]]],[13,"xn",[6,"std.select",[[1,[1,"fx","-","LAB_OFFSET"],"*","LAB_INV_SLOPE"],[6,"std.pow",["fx",[5,"3"]]],[1,"fx",">","LAB_DELTA"]]]],[13,"yn",[6,"std.select",[[1,[1,"fy","-","LAB_OFFSET"],"*","LAB_INV_SLOPE"],[6,"std.pow",["fy",[5,"3"]]],[1,"fy",">","LAB_DELTA"]]]],[13,"zn",[6,"std.select",[[1,[1,"fz","-","LAB_OFFSET"],"*","LAB_INV_SLOPE"],[6,"std.pow",["fz",[5,"3"]]],[1,"fz",">","LAB_DELTA"]]]],[13,"x",[1,"xn","*",[5,"0.95047"]]],[13,"y",[1,"yn","*",[5,"1"]]],[13,"z",[1,"zn","*",[5,"1.08883"]]],[13,"r",[1,[1,[1,"x","*",[5,"3.2404542"]],"-",[1,"y","*",[5,"1.5371385"]]],"-",[1,"z","*",[5,"0.4985314"]]]],[13,"g",[1,[1,[1,"x","*",[4,"-",[5,"0.969266"]]],"+",[1,"y","*",[5,"1.8760108"]]],"+",[1,"z","*",[5,"0.041556"]]]],[13,"bRgb",[1,[1,[1,"x","*",[5,"0.0556434"]],"-",[1,"y","*",[5,"0.2040259"]]],"+",[1,"z","*",[5,"1.0572252"]]]],[10,[6,"d.vec3f",["r","g","bRgb"]]]]]},externals:{LAB_KAPPA:()=>jl,LAB_LAMBDA:()=>Kl,"std.select":()=>C,LAB_OFFSET:()=>ta,LAB_INV_SLOPE:()=>j_,"std.pow":()=>Ce,LAB_DELTA:()=>Fo,"d.vec3f":()=>f}})&&e.f)({})),Em=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z;return f(s,be(__tsover_add(__tsover_mul(r,r),__tsover_mul(o,o))),tt(o,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lab"}],body:[0,[[13,"L",[7,"lab","x"]],[13,"a",[7,"lab","y"]],[13,"b",[7,"lab","z"]],[13,"C",[6,"std.sqrt",[[1,[1,"a","*","a"],"+",[1,"b","*","b"]]]]],[13,"h",[6,"std.atan2",["b","a"]]],[10,[6,"d.vec3f",["L","C","h"]]]]]},externals:{"std.sqrt":()=>be,"std.atan2":()=>tt,"d.vec3f":()=>f}})&&e.f)({})),Pc=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z;return f(s,__tsover_mul(r,H(o)),__tsover_mul(r,Y(o)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lch"}],body:[0,[[13,"L",[7,"lch","x"]],[13,"C",[7,"lch","y"]],[13,"h",[7,"lch","z"]],[10,[6,"d.vec3f",["L",[1,"C","*",[6,"std.cos",["h"]]],[1,"C","*",[6,"std.sin",["h"]]]]]]]]},externals:{"d.vec3f":()=>f,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),is=v.fn([f,f,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return t.mul(r).add(s.mul(o)).div(n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"wA"},{type:"i",name:"wB"},{type:"i",name:"sw"}],body:[0,[[10,[6,[7,[6,[7,[6,[7,"a","mul"],["wA"]],"add"],[[6,[7,"b","mul"],["wB"]]]],"div"],["sw"]]]]]},externals:{}})&&e.f)({})),Bo=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(is(t.xyz,s.xyz,o,n,d),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"rgb",[6,"awMix",[[7,"colorA","xyz"],[7,"colorB","xyz"],"weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x}})&&e.f)({})),dR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(Kr(Ha(is(zi(To($s(t.xyz))),zi(To($s(s.xyz))),o,n,d)))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"oklchA",[6,"oklabToOklch",[[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]]]],[13,"oklchB",[6,"oklabToOklch",[[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]]]],[13,"mixed",[6,"awMix",["oklchA","oklchB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"oklabToRgb",[[6,"oklchToOklab",["mixed"]]]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,oklabToOklch:()=>zi,rgbToOklab:()=>To,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,oklchToOklab:()=>Ha,"d.vec4f":()=>x}})&&e.f)({})),cR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(Kr(is(To($s(t.xyz)),To($s(s.xyz)),o,n,d))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"oklabA",[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]],[13,"oklabB",[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]],[13,"mixed",[6,"awMix",["oklabA","oklabB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"oklabToRgb",["mixed"]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,rgbToOklab:()=>To,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,"d.vec4f":()=>x}})&&e.f)({})),_R=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(ja(is(uc($s(t.xyz)),uc($s(s.xyz)),o,n,d))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"hslA",[6,"rgbToHsl",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]],[13,"hslB",[6,"rgbToHsl",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]],[13,"mixed",[6,"awMix",["hslA","hslB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"hslToRgb",["mixed"]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,rgbToHsl:()=>uc,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,hslToRgb:()=>ja,"d.vec4f":()=>x}})&&e.f)({})),lR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(Ac(is(Mm($s(t.xyz)),Mm($s(s.xyz)),o,n,d))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"hsvA",[6,"rgbToHsv",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]],[13,"hsvB",[6,"rgbToHsv",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]],[13,"mixed",[6,"awMix",["hsvA","hsvB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"hsvToRgb",["mixed"]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,rgbToHsv:()=>Mm,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,hsvToRgb:()=>Ac,"d.vec4f":()=>x}})&&e.f)({})),uR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(Mc(Pc(is(Em(Pm($s(t.xyz))),Em(Pm($s(s.xyz))),o,n,d)))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"lchA",[6,"labToLch",[[6,"rgbToLab",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]]]],[13,"lchB",[6,"labToLch",[[6,"rgbToLab",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]]]],[13,"mixed",[6,"awMix",["lchA","lchB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"labToRgb",[[6,"lchToLab",["mixed"]]]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,labToLch:()=>Em,rgbToLab:()=>Pm,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,labToRgb:()=>Mc,lchToLab:()=>Pc,"d.vec4f":()=>x}})&&e.f)({})),Fv={0:Bo,1:dR,2:cR,3:_R,4:lR,5:uR};var co=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({conv:f,alpha:a}),"MixStep"),fa=v.fn([f,a,f,a,a],co)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return co({conv:is(t,r,i,d,b(c,.001)),alpha:c})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"alphaA"},{type:"i",name:"convB"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[10,[6,"MixStep",[[104,{conv:[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]],alpha:"totalWeight"}]]]]]]},externals:{"std.max":()=>b,MixStep:()=>co,awMix:()=>is}})&&e.f)({})),t1=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(is(t,s,i,d,b(c,.001)),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",["mixed","totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x}})&&e.f)({})),mR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(Kr(Ha(is(t,s,i,d,b(c,.001))))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"oklabToRgb",[[6,"oklchToOklab",["mixed"]]]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,oklchToOklab:()=>Ha}})&&e.f)({})),pR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(Kr(is(t,s,i,d,b(c,.001)))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"oklabToRgb",["mixed"]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,oklabToRgb:()=>Kr}})&&e.f)({})),fR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(ja(is(t,s,i,d,b(c,.001)))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"hslToRgb",["mixed"]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,hslToRgb:()=>ja}})&&e.f)({})),vR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(Ac(is(t,s,i,d,b(c,.001)))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"hsvToRgb",["mixed"]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,hsvToRgb:()=>Ac}})&&e.f)({})),yR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(Mc(Pc(is(t,s,i,d,b(c,.001))))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"labToRgb",[[6,"lchToLab",["mixed"]]]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,labToRgb:()=>Mc,lchToLab:()=>Pc}})&&e.f)({})),Bv={0:t1,1:mR,2:pR,3:fR,4:vR,5:yR};var Wv=1e-4,km=6/29,hR=(e,t,s)=>[e*1.2249401-t*.2249404,e*-.0420569+t*1.0420571,e*-.0196376-t*.0786361+s*1.0982735],r3=(e,t,s)=>{let r=Math.cbrt(e*.4122214708+t*.5363325363+s*.0514459929),o=Math.cbrt(e*.2119034982+t*.6806995451+s*.1073969566),n=Math.cbrt(e*.0883024619+t*.2817188376+s*.6299787005);return[r*.2104542553+o*.793617785-n*.0040720468,r*1.9779984951-o*2.428592205+n*.4505937099,r*.0259040371+o*.7827717662-n*.808675766]},n7=(e,t,s,r,o)=>{let n=Math.max(o,Wv);return(r===e?(t-s)/n:r===t?2+(s-e)/n:4+(e-t)/n)*(Math.PI/3)},xR=(e,t,s)=>{let r=Math.max(e,t,s),o=Math.min(e,t,s),n=r-o,i=(r+o)*.5,d=n/Math.max(1-Math.abs(2*i-1),Wv);return[n7(e,t,s,r,n),d,i]},gR=(e,t,s)=>{let r=Math.max(e,t,s),o=r-Math.min(e,t,s),n=o/Math.max(r,Wv);return[n7(e,t,s,r,o),n,r]},bR=(e,t,s)=>{let r=(e*.4124564+t*.3575761+s*.1804375)/.95047,o=e*.2126729+t*.7151522+s*.072175,n=(e*.0193339+t*.119192+s*.9503041)/1.08883,i=km**3,d=m=>m>i?Math.cbrt(m):m/(3*km*km)+4/29,c=d(r),_=d(o),u=d(n);return[_*116-16,(c-_)*500,(_-u)*200]},s1=(e,t,s,r)=>{let[o,n,i]=hR(e,t,s);switch(r){case 1:{let[d,c,_]=r3(o,n,i);return[d,Math.sqrt(c*c+_*_),Math.atan2(_,c)]}case 2:return r3(o,n,i);case 3:return xR(o,n,i);case 4:return gR(o,n,i);case 5:{let[d,c,_]=bR(o,n,i);return[d,Math.sqrt(c*c+_*_),Math.atan2(_,c)]}default:return[e,t,s]}},wR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=X(f(t.x,t.y,t.z),f(s.x,s.y,s.z),f(r));return x(o.x,o.y,o.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"target"},{type:"i",name:"amount"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"targetRgb",[6,"d.vec3f",[[7,"target","x"],[7,"target","y"],[7,"target","z"]]]],[13,"mixed",[6,"std.mix",["rgb","targetRgb",[6,"d.vec3f",["amount"]]]]],[10,[6,"d.vec4f",[[7,"mixed","x"],[7,"mixed","y"],[7,"mixed","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({}));var So=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_add(__tsover_mul(t.x,.2126),__tsover_mul(t.y,.7152)),__tsover_mul(t.z,.0722))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[1,[1,[1,[7,"rgb","x"],"*",[5,"0.2126"]],"+",[1,[7,"rgb","y"],"*",[5,"0.7152"]]],"+",[1,[7,"rgb","z"],"*",[5,"0.0722"]]]]]]},externals:{}})&&e.f)({})),an=v.fn([f,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return C(f(0),f(1),wp(s,t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"edge"},{type:"i",name:"x"}],body:[0,[[10,[6,"std.select",[[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]],[6,"std.ge",["x","edge"]]]]]]]},externals:{"std.select":()=>C,"d.vec3f":()=>f,"std.ge":()=>wp}})&&e.f)({})),$t=v.fn([x,f,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_add(r,o);return x(s.mul(r).add(t.xyz.mul(o)),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"blended"},{type:"i",name:"overlayAlpha"}],body:[0,[[13,"baseWeight",[1,[7,"base","w"],"*",[1,[5,"1"],"-","overlayAlpha"]]],[13,"finalAlpha",[1,"overlayAlpha","+","baseWeight"]],[13,"rgb",[6,[7,[6,[7,"blended","mul"],["overlayAlpha"]],"add"],[[6,[7,[7,"base","xyz"],"mul"],["baseWeight"]]]]],[10,[6,"d.vec4f",["rgb","finalAlpha"]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),dn=v.fn([x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.w;return x(C(f(0,0,0),t.xyz.div(s),s>.001),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"alpha",[7,"color","w"]],[13,"straightRGB",[6,"std.select",[[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,[7,[7,"color","xyz"],"div"],["alpha"]],[1,"alpha",">",[5,"0.001"]]]]],[10,[6,"d.vec4f",["straightRGB","alpha"]]]]]},externals:{"std.select":()=>C,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),TR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,s.xyz,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[10,[6,"overComposite",["base",[7,"overlay","xyz"],"overlayAlpha"]]]]]},externals:{overComposite:()=>$t}})&&e.f)({})),SR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=__tsover_mul(t.w,__tsover_sub(1,o)),i=__tsover_add(o,n),d=zi(To($s(t.xyz)));return x(ss(Kr(Ha(zi(To($s(s.xyz))).mul(o).add(d.mul(n))))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseWeight",[1,[7,"base","w"],"*",[1,[5,"1"],"-","overlayAlpha"]]],[13,"finalAlpha",[1,"overlayAlpha","+","baseWeight"]],[13,"baseOklch",[6,"oklabToOklch",[[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"base","xyz"]]]]]]]],[13,"overlayOklch",[6,"oklabToOklch",[[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"overlay","xyz"]]]]]]]],[13,"blendedOklch",[6,[7,[6,[7,"overlayOklch","mul"],["overlayAlpha"]],"add"],[[6,[7,"baseOklch","mul"],["baseWeight"]]]]],[13,"rgb",[6,"sRGBToP3",[[6,"oklabToRgb",[[6,"oklchToOklab",["blendedOklch"]]]]]]],[10,[6,"d.vec4f",["rgb","finalAlpha"]]]]]},externals:{oklabToOklch:()=>zi,rgbToOklab:()=>To,p3ToSRGB:()=>$s,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,oklchToOklab:()=>Ha,"d.vec4f":()=>x}})&&e.f)({})),AR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=__tsover_mul(t.w,__tsover_sub(1,o)),i=__tsover_add(o,n),d=To($s(t.xyz));return x(ss(Kr(To($s(s.xyz)).mul(o).add(d.mul(n)))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseWeight",[1,[7,"base","w"],"*",[1,[5,"1"],"-","overlayAlpha"]]],[13,"finalAlpha",[1,"overlayAlpha","+","baseWeight"]],[13,"baseOklab",[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"base","xyz"]]]]]],[13,"overlayOklab",[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"overlay","xyz"]]]]]],[13,"blendedOklab",[6,[7,[6,[7,"overlayOklab","mul"],["overlayAlpha"]],"add"],[[6,[7,"baseOklab","mul"],["baseWeight"]]]]],[13,"rgb",[6,"sRGBToP3",[[6,"oklabToRgb",["blendedOklab"]]]]],[10,[6,"d.vec4f",["rgb","finalAlpha"]]]]]},externals:{rgbToOklab:()=>To,p3ToSRGB:()=>$s,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,"d.vec4f":()=>x}})&&e.f)({})),MR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,t.xyz.mul(s.xyz),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{overComposite:()=>$t}})&&e.f)({})),PR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,ht(1,ht(1,t.xyz).mul(ht(1,s.xyz))),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.sub",[[5,"1"],[6,[7,[6,"std.sub",[[5,"1"],[7,"base","xyz"]]],"mul"],[[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,overComposite:()=>$t}})&&e.f)({})),ER=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,t.xyz.add(s.xyz),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,[7,[7,"base","xyz"],"add"],[[7,"overlay","xyz"]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{overComposite:()=>$t}})&&e.f)({})),kR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,X(t.xyz.mul(s.xyz).mul(2),ht(1,ht(1,t.xyz).mul(ht(1,s.xyz)).mul(2)),an(f(.5),t.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"mult",[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]],"mul"],[[5,"2"]]]],[13,"scr",[6,"std.sub",[[5,"1"],[6,[7,[6,[7,[6,"std.sub",[[5,"1"],[7,"base","xyz"]]],"mul"],[[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]]],"mul"],[[5,"2"]]]]]],[13,"blended",[6,"std.mix",["mult","scr",[6,"step3",[[6,"d.vec3f",[[5,"0.5"]]],[7,"base","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,"std.mix":()=>X,step3:()=>an,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),$R=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,z(t.xyz.sub(s.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.abs",[[6,[7,[7,"base","xyz"],"sub"],[[7,"overlay","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.abs":()=>z,overComposite:()=>$t}})&&e.f)({})),UR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=ht(1,s.xyz);return $t(t,X(t.xyz,oe(t.xyz.div(n),f(1)),an(f(.001),n)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"oneMinusOverlay",[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]],[13,"dodged",[6,"std.mix",[[7,"base","xyz"],[6,"std.min",[[6,[7,[7,"base","xyz"],"div"],["oneMinusOverlay"]],[6,"d.vec3f",[[5,"1"]]]]],[6,"step3",[[6,"d.vec3f",[[5,"0.001"]]],"oneMinusOverlay"]]]]],[10,[6,"overComposite",["base","dodged","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,"std.mix":()=>X,"std.min":()=>oe,"d.vec3f":()=>f,step3:()=>an,overComposite:()=>$t}})&&e.f)({})),CR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,t.xyz.add(s.xyz).sub(t.xyz.mul(s.xyz).mul(2)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,[7,[6,[7,[7,"base","xyz"],"add"],[[7,"overlay","xyz"]]],"sub"],[[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]],"mul"],[[5,"2"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{overComposite:()=>$t}})&&e.f)({})),RR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=So(t.xyz),i=So(s.xyz),d=__tsover_sub(n,i);return $t(t,s.xyz.add(d),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseLum",[6,"luminance",[[7,"base","xyz"]]]],[13,"overlayLum",[6,"luminance",[[7,"overlay","xyz"]]]],[13,"lumDiff",[1,"baseLum","-","overlayLum"]],[13,"blended",[6,[7,[7,"overlay","xyz"],"add"],["lumDiff"]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{luminance:()=>So,overComposite:()=>$t}})&&e.f)({})),zR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=So(t.xyz),i=So(s.xyz),d=__tsover_div(i,__tsover_add(n,1e-4));return $t(t,t.xyz.mul(d),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseLum",[6,"luminance",[[7,"base","xyz"]]]],[13,"overlayLum",[6,"luminance",[[7,"overlay","xyz"]]]],[13,"lumRatio",[1,"overlayLum","/",[1,"baseLum","+",[5,"0.0001"]]]],[13,"blended",[6,[7,[7,"base","xyz"],"mul"],["lumRatio"]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{luminance:()=>So,overComposite:()=>$t}})&&e.f)({})),GR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,oe(t.xyz,s.xyz),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.min",[[7,"base","xyz"],[7,"overlay","xyz"]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.min":()=>oe,overComposite:()=>$t}})&&e.f)({})),YR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,b(t.xyz,s.xyz),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.max",[[7,"base","xyz"],[7,"overlay","xyz"]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.max":()=>b,overComposite:()=>$t}})&&e.f)({})),LR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=b(ht(1,ht(1,t.xyz).div(s.xyz.add(1e-4))),f(0));return $t(t,X(f(0),n,an(f(1e-4),s.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"burned",[6,"std.max",[[6,"std.sub",[[5,"1"],[6,[7,[6,"std.sub",[[5,"1"],[7,"base","xyz"]]],"div"],[[6,[7,[7,"overlay","xyz"],"add"],[[5,"0.0001"]]]]]]],[6,"d.vec3f",[[5,"0"]]]]]],[13,"blended",[6,"std.mix",[[6,"d.vec3f",[[5,"0"]]],"burned",[6,"step3",[[6,"d.vec3f",[[5,"0.0001"]]],[7,"overlay","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.max":()=>b,"std.sub":()=>ht,"d.vec3f":()=>f,"std.mix":()=>X,step3:()=>an,overComposite:()=>$t}})&&e.f)({})),IR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,b(t.xyz.add(s.xyz).add(-1),f(0)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.max",[[6,[7,[6,[7,[7,"base","xyz"],"add"],[[7,"overlay","xyz"]]],"add"],[[4,"-",[5,"1"]]]],[6,"d.vec3f",[[5,"0"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.max":()=>b,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),DR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=t.xyz.mul(s.xyz).mul(2),i=t.xyz.mul(t.xyz),d=n.add(i.mul(ht(1,s.xyz.mul(2)))),c=be(t.xyz);return $t(t,X(d,t.xyz.mul(ht(1,s.xyz)).mul(2).add(c.mul(s.xyz.mul(2).sub(1))),an(f(.5),s.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"mult",[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]],"mul"],[[5,"2"]]]],[13,"baseSquared",[6,[7,[7,"base","xyz"],"mul"],[[7,"base","xyz"]]]],[13,"softDark",[6,[7,"mult","add"],[[6,[7,"baseSquared","mul"],[[6,"std.sub",[[5,"1"],[6,[7,[7,"overlay","xyz"],"mul"],[[5,"2"]]]]]]]]]],[13,"baseSqrt",[6,"std.sqrt",[[7,"base","xyz"]]]],[13,"softLightVal",[6,[7,[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]]],"mul"],[[5,"2"]]],"add"],[[6,[7,"baseSqrt","mul"],[[6,[7,[6,[7,[7,"overlay","xyz"],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]]]]]],[13,"blended",[6,"std.mix",["softDark","softLightVal",[6,"step3",[[6,"d.vec3f",[[5,"0.5"]]],[7,"overlay","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,"std.sqrt":()=>be,"std.mix":()=>X,step3:()=>an,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),FR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,X(t.xyz.mul(s.xyz).mul(2),ht(1,ht(1,t.xyz).mul(ht(1,s.xyz)).mul(2)),an(f(.5),s.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"mult",[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]],"mul"],[[5,"2"]]]],[13,"scr",[6,"std.sub",[[5,"1"],[6,[7,[6,[7,[6,"std.sub",[[5,"1"],[7,"base","xyz"]]],"mul"],[[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]]],"mul"],[[5,"2"]]]]]],[13,"blended",[6,"std.mix",["mult","scr",[6,"step3",[[6,"d.vec3f",[[5,"0.5"]]],[7,"overlay","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,"std.mix":()=>X,step3:()=>an,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),BR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=So(t.xyz),i=So(s.xyz),d=t.xyz.sub(n),c=s.xyz.sub(i),_=j(d),u=j(c);return $t(t,C(f(0),c.div(u),u>1e-4).mul(_).add(n),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseLum",[6,"luminance",[[7,"base","xyz"]]]],[13,"overlayLum",[6,"luminance",[[7,"overlay","xyz"]]]],[13,"baseChromaticity",[6,[7,[7,"base","xyz"],"sub"],["baseLum"]]],[13,"overlayChromaticity",[6,[7,[7,"overlay","xyz"],"sub"],["overlayLum"]]],[13,"baseChromaLength",[6,"std.length",["baseChromaticity"]]],[13,"overlayChromaLength",[6,"std.length",["overlayChromaticity"]]],[13,"overlayChromaDir",[6,"std.select",[[6,"d.vec3f",[[5,"0"]]],[6,[7,"overlayChromaticity","div"],["overlayChromaLength"]],[1,"overlayChromaLength",">",[5,"0.0001"]]]]],[13,"blended",[6,[7,[6,[7,"overlayChromaDir","mul"],["baseChromaLength"]],"add"],["baseLum"]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{luminance:()=>So,"std.length":()=>j,"std.select":()=>C,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),WR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=So(t.xyz),i=So(s.xyz),d=t.xyz.sub(n),c=s.xyz.sub(i),_=j(d),u=C(f(0),d.div(_),_>1e-4),m=j(c);return $t(t,u.mul(m).add(n),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseLum",[6,"luminance",[[7,"base","xyz"]]]],[13,"overlayLum",[6,"luminance",[[7,"overlay","xyz"]]]],[13,"baseChromaticity",[6,[7,[7,"base","xyz"],"sub"],["baseLum"]]],[13,"overlayChromaticity",[6,[7,[7,"overlay","xyz"],"sub"],["overlayLum"]]],[13,"baseChromaLength",[6,"std.length",["baseChromaticity"]]],[13,"baseChromaDir",[6,"std.select",[[6,"d.vec3f",[[5,"0"]]],[6,[7,"baseChromaticity","div"],["baseChromaLength"]],[1,"baseChromaLength",">",[5,"0.0001"]]]]],[13,"overlayChromaLength",[6,"std.length",["overlayChromaticity"]]],[13,"blended",[6,[7,[6,[7,"baseChromaDir","mul"],["overlayChromaLength"]],"add"],["baseLum"]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{luminance:()=>So,"std.length":()=>j,"std.select":()=>C,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),o3={normal:TR,"normal-oklch":SR,"normal-oklab":AR,multiply:MR,screen:PR,linearDodge:ER,overlay:kR,difference:$R,colorDodge:UR,exclusion:CR,color:RR,luminosity:zR,darken:GR,lighten:YR,colorBurn:LR,linearBurn:IR,softLight:DR,hardLight:FR,hue:BR,saturation:WR};var K_=f(.2126,.7152,.0722),n3={alpha:v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.xyz,__tsover_mul(t.w,s.w))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"target"},{type:"i",name:"mask"}],body:[0,[[10,[6,"d.vec4f",[[7,"target","xyz"],[1,[7,"target","w"],"*",[7,"mask","w"]]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),alphaInverted:v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.xyz,__tsover_mul(t.w,__tsover_sub(1,s.w)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"target"},{type:"i",name:"mask"}],body:[0,[[10,[6,"d.vec4f",[[7,"target","xyz"],[1,[7,"target","w"],"*",[1,[5,"1"],"-",[7,"mask","w"]]]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),luminance:v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(s.xyz,K_);return x(t.xyz,__tsover_mul(t.w,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"target"},{type:"i",name:"mask"}],body:[0,[[13,"lum",[6,"std.dot",[[7,"mask","xyz"],"LUMINANCE_WEIGHTS"]]],[10,[6,"d.vec4f",[[7,"target","xyz"],[1,[7,"target","w"],"*","lum"]]]]]]},externals:{"std.dot":()=>se,LUMINANCE_WEIGHTS:()=>K_,"d.vec4f":()=>x}})&&e.f)({})),luminanceInverted:v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(s.xyz,K_);return x(t.xyz,__tsover_mul(t.w,__tsover_sub(1,r)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"target"},{type:"i",name:"mask"}],body:[0,[[13,"lum",[6,"std.dot",[[7,"mask","xyz"],"LUMINANCE_WEIGHTS"]]],[10,[6,"d.vec4f",[[7,"target","xyz"],[1,[7,"target","w"],"*",[1,[5,"1"],"-","lum"]]]]]]]},externals:{"std.dot":()=>se,LUMINANCE_WEIGHTS:()=>K_,"d.vec4f":()=>x}})&&e.f)({}))},OR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return f(t.x,t.y,t.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),VR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return $(t.div(t.add(1)),f(0),f(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,"std.clamp",[[6,[7,"color","div"],[[6,[7,"color","add"],[[5,"1"]]]]],[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]]]},externals:{"std.clamp":()=>$,"d.vec3f":()=>f}})&&e.f)({})),NR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=b(t.sub(.004),f(0)),r=s.mul(s.mul(6.2).add(.5)),o=s.mul(s.mul(6.2).add(1.7)).add(.06);return Ce(r.div(o),f(2.2))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"c",[6,"std.max",[[6,[7,"color","sub"],[[5,"0.004"]]],[6,"d.vec3f",[[5,"0"]]]]]],[13,"a",[6,[7,"c","mul"],[[6,[7,[6,[7,"c","mul"],[[5,"6.2"]]],"add"],[[5,"0.5"]]]]]],[13,"b",[6,[7,[6,[7,"c","mul"],[[6,[7,[6,[7,"c","mul"],[[5,"6.2"]]],"add"],[[5,"1.7"]]]]],"add"],[[5,"0.06"]]]],[10,[6,"std.pow",[[6,[7,"a","div"],["b"]],[6,"d.vec3f",[[5,"2.2"]]]]]]]]},externals:{"std.max":()=>b,"d.vec3f":()=>f,"std.pow":()=>Ce}})&&e.f)({})),a3=ud(.59719,.076,.0284,.35458,.90834,.13383,.04823,.01566,.83777),i3=ud(1.60475,-.10208,-.00327,-.53108,1.10813,-.07276,-.07367,-.00605,1.07602),d3=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.mul(t.add(.0245786)).sub(90537e-9),r=t.mul(t.add(.432951).mul(.983729)).add(.238081);return s.div(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[13,"a",[6,[7,[6,[7,"v","mul"],[[6,[7,"v","add"],[[5,"0.0245786"]]]]],"sub"],[[5,"0.000090537"]]]],[13,"b",[6,[7,[6,[7,"v","mul"],[[6,[7,[6,[7,"v","add"],[[5,"0.432951"]]],"mul"],[[5,"0.983729"]]]]],"add"],[[5,"0.238081"]]]],[10,[6,[7,"a","div"],["b"]]]]]},externals:{}})&&e.f)({})),qR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.div(.6);return s=a3.mul(s),s=d3(s),s=i3.mul(s),$(s,f(0),f(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[12,"c",[6,[7,"color","div"],[[5,"0.6"]]]],[2,"c","=",[6,"ACES_INPUT.mul",["c"]]],[2,"c","=",[6,"rrtAndODTFit",["c"]]],[2,"c","=",[6,"ACES_OUTPUT.mul",["c"]]],[10,[6,"std.clamp",["c",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]]]},externals:{"ACES_INPUT.mul":()=>a3.mul,rrtAndODTFit:()=>d3,"ACES_OUTPUT.mul":()=>i3.mul,"std.clamp":()=>$,"d.vec3f":()=>f}})&&e.f)({})),c3=ud(.6274,.0691,.0164,.3293,.9195,.088,.0433,.0113,.8956),_3=ud(1.6605,-.1246,-.0182,-.5876,1.1329,-.1006,-.0728,-.0083,1.1187),l3=ud(.856627153315983,.137318972929847,.11189821299995,.0951212405381588,.761241990602591,.0767994186031903,.0482516061458583,.101439036467562,.811302368396859),u3=ud(1.1271005818144368,-.1413297634984383,-.14132976349843826,-.11060664309660323,1.157823702216272,-.11060664309660294,-.016493938717834573,-.016493938717834257,1.2519364065950405),$m=-12.47393,m3=4.026069,p3=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.mul(t),r=s.mul(s);return r.mul(s).mul(15.5).sub(r.mul(t).mul(40.14)).add(r.mul(31.96).sub(s.mul(t).mul(6.868)).add(s.mul(.4298).add(t.mul(.1191).sub(.00232))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"}],body:[0,[[13,"x2",[6,[7,"x","mul"],["x"]]],[13,"x4",[6,[7,"x2","mul"],["x2"]]],[10,[6,[7,[6,[7,[6,[7,[6,[7,"x4","mul"],["x2"]],"mul"],[[5,"15.5"]]],"sub"],[[6,[7,[6,[7,"x4","mul"],["x"]],"mul"],[[5,"40.14"]]]]],"add"],[[6,[7,[6,[7,[6,[7,"x4","mul"],[[5,"31.96"]]],"sub"],[[6,[7,[6,[7,"x2","mul"],["x"]],"mul"],[[5,"6.868"]]]]],"add"],[[6,[7,[6,[7,"x2","mul"],[[5,"0.4298"]]],"add"],[[6,[7,[6,[7,"x","mul"],[[5,"0.1191"]]],"sub"],[[5,"0.00232"]]]]]]]]]]]]},externals:{}})&&e.f)({})),XR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=c3.mul(t);return s=l3.mul(s),s=b(s,f(1e-10)),s=gp(s),s=s.sub($m).div(__tsover_sub(m3,$m)),s=$(s,f(0),f(1)),s=p3(s),s=u3.mul(s),s=Ce(b(s,f(0)),f(2.2)),s=_3.mul(s),$(s,f(0),f(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[12,"c",[6,"LINEAR_SRGB_TO_LINEAR_REC2020.mul",["color"]]],[2,"c","=",[6,"AGX_INSET.mul",["c"]]],[2,"c","=",[6,"std.max",["c",[6,"d.vec3f",[[5,"1e-10"]]]]]],[2,"c","=",[6,"std.log2",["c"]]],[2,"c","=",[6,[7,[6,[7,"c","sub"],["AGX_MIN_EV"]],"div"],[[1,"AGX_MAX_EV","-","AGX_MIN_EV"]]]],[2,"c","=",[6,"std.clamp",["c",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]],[2,"c","=",[6,"agxContrastApprox",["c"]]],[2,"c","=",[6,"AGX_OUTSET.mul",["c"]]],[2,"c","=",[6,"std.pow",[[6,"std.max",["c",[6,"d.vec3f",[[5,"0"]]]]],[6,"d.vec3f",[[5,"2.2"]]]]]],[2,"c","=",[6,"LINEAR_REC2020_TO_LINEAR_SRGB.mul",["c"]]],[10,[6,"std.clamp",["c",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]]]},externals:{"LINEAR_SRGB_TO_LINEAR_REC2020.mul":()=>c3.mul,"AGX_INSET.mul":()=>l3.mul,"std.max":()=>b,"d.vec3f":()=>f,"std.log2":()=>gp,AGX_MIN_EV:()=>$m,AGX_MAX_EV:()=>m3,"std.clamp":()=>$,agxContrastApprox:()=>p3,"AGX_OUTSET.mul":()=>u3.mul,"std.pow":()=>Ce,"LINEAR_REC2020_TO_LINEAR_SRGB.mul":()=>_3.mul}})&&e.f)({})),Z_=.76,f3=.15,a7=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=oe(t.x,oe(t.y,t.z)),r=C(.04,__tsover_sub(s,__tsover_mul(__tsover_mul(6.25,s),s)),s<.08),o=t.sub(r),n=b(o.x,b(o.y,o.z));if(noe,"std.select":()=>C,"std.max":()=>b,NEUTRAL_START_COMPRESSION:()=>Z_,NEUTRAL_DESATURATION:()=>f3,"std.mix":()=>X,"d.vec3f":()=>f}})&&e.f)({})),v3={linear:OR,reinhard:VR,cineon:NR,aces:qR,agx:XR,neutral:a7,hable:v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.mul(16),r=s.mul(s.mul(.15).add(.05)).add(.004),o=s.mul(s.mul(.15).add(.5)).add(.06);return r.div(o).sub(__tsover_div(.02,.3))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"x",[6,[7,"color","mul"],[[5,"16"]]]],[13,"num",[6,[7,[6,[7,"x","mul"],[[6,[7,[6,[7,"x","mul"],[[5,"0.15"]]],"add"],[[5,"0.05"]]]]],"add"],[[5,"0.004"]]]],[13,"den",[6,[7,[6,[7,"x","mul"],[[6,[7,[6,[7,"x","mul"],[[5,"0.15"]]],"add"],[[5,"0.5"]]]]],"add"],[[5,"0.06"]]]],[10,[6,[7,[6,[7,"num","div"],["den"]],"sub"],[[1,[5,"0.02"],"/",[5,"0.3"]]]]]]]},externals:{}})&&e.f)({})),unreal:v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return t.div(t.add(.155)).mul(1.019)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,[7,[6,[7,"color","div"],[[6,[7,"color","add"],[[5,"0.155"]]]]],"mul"],[[5,"1.019"]]]]]]},externals:{}})&&e.f)({}))},HR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return C(Ce(t,f(.41666)).mul(1.055).sub(.055),t.mul(12.92),wc(t,f(.0031308)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"a",[6,[7,[6,[7,[6,"std.pow",["color",[6,"d.vec3f",[[5,"0.41666"]]]]],"mul"],[[5,"1.055"]]],"sub"],[[5,"0.055"]]]],[13,"b",[6,[7,"color","mul"],[[5,"12.92"]]]],[13,"factor",[6,"std.le",["color",[6,"d.vec3f",[[5,"0.0031308"]]]]]],[10,[6,"std.select",["a","b","factor"]]]]]},externals:{"std.pow":()=>Ce,"d.vec3f":()=>f,"std.le":()=>wc,"std.select":()=>C}})&&e.f)({})),y3=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return C(Ce(t.add(f(.055)).div(f(1.055)),f(2.4)),t.div(f(12.92)),wc(t,f(.04045)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"hi",[6,"std.pow",[[6,[7,[6,[7,"color","add"],[[6,"d.vec3f",[[5,"0.055"]]]]],"div"],[[6,"d.vec3f",[[5,"1.055"]]]]],[6,"d.vec3f",[[5,"2.4"]]]]]],[13,"lo",[6,[7,"color","div"],[[6,"d.vec3f",[[5,"12.92"]]]]]],[13,"isLow",[6,"std.le",["color",[6,"d.vec3f",[[5,"0.04045"]]]]]],[10,[6,"std.select",["hi","lo","isLow"]]]]]},externals:{"std.pow":()=>Ce,"d.vec3f":()=>f,"std.le":()=>wc,"std.select":()=>C}})&&e.f)({})),Tn=e=>e?e.offsetX!==0||e.offsetY!==0||e.rotation!==0||e.scale!==1||e.anchorX!==.5||e.anchorY!==.5:!1,jR=v.fn([l,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_div(__tsover_mul(o,Math.PI),180),u=H(_),m=Y(_),p=__tsover_div(__tsover_sub(t.x,i),n),y=__tsover_div(__tsover_sub(t.y,d),n),h=__tsover_mul(p,c),g=y,w=__tsover_sub(__tsover_mul(h,u),__tsover_mul(g,m)),S=__tsover_add(__tsover_mul(h,m),__tsover_mul(g,u));return l(__tsover_add(__tsover_sub(__tsover_div(w,c),s),i),__tsover_add(__tsover_sub(S,r),d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"offsetX"},{type:"i",name:"offsetY"},{type:"i",name:"rotation"},{type:"i",name:"scale"},{type:"i",name:"anchorX"},{type:"i",name:"anchorY"},{type:"i",name:"aspectRatio"}],body:[0,[[13,"rotationRad",[1,[1,"rotation","*","Math.PI"],"/",[5,"180"]]],[13,"cosAngle",[6,"std.cos",["rotationRad"]]],[13,"sinAngle",[6,"std.sin",["rotationRad"]]],[13,"centeredX",[1,[1,[7,"uv","x"],"-","anchorX"],"/","scale"]],[13,"centeredY",[1,[1,[7,"uv","y"],"-","anchorY"],"/","scale"]],[13,"squareX",[1,"centeredX","*","aspectRatio"]],[13,"squareY","centeredY"],[13,"rotatedSquareX",[1,[1,"squareX","*","cosAngle"],"-",[1,"squareY","*","sinAngle"]]],[13,"rotatedSquareY",[1,[1,"squareX","*","sinAngle"],"+",[1,"squareY","*","cosAngle"]]],[13,"finalX",[1,[1,[1,"rotatedSquareX","/","aspectRatio"],"-","offsetX"],"+","anchorX"]],[13,"finalY",[1,[1,"rotatedSquareY","-","offsetY"],"+","anchorY"]],[10,[6,"d.vec2f",["finalX","finalY"]]]]]},externals:{"Math.PI":()=>Math.PI,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({}));v.fn([l,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_add(__tsover_sub(t.x,i),s),u=__tsover_add(__tsover_sub(t.y,d),r),m=__tsover_mul(_,c),p=u,y=-__tsover_div(__tsover_mul(o,Math.PI),180),h=H(y),g=Y(y),w=__tsover_sub(__tsover_mul(m,h),__tsover_mul(p,g)),S=__tsover_add(__tsover_mul(m,g),__tsover_mul(p,h)),T=__tsover_mul(__tsover_div(w,c),n),A=__tsover_mul(S,n);return l(__tsover_add(T,i),__tsover_add(A,d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"offsetX"},{type:"i",name:"offsetY"},{type:"i",name:"rotation"},{type:"i",name:"scale"},{type:"i",name:"anchorX"},{type:"i",name:"anchorY"},{type:"i",name:"aspectRatio"}],body:[0,[[13,"centeredX",[1,[1,[7,"uv","x"],"-","anchorX"],"+","offsetX"]],[13,"centeredY",[1,[1,[7,"uv","y"],"-","anchorY"],"+","offsetY"]],[13,"squareX",[1,"centeredX","*","aspectRatio"]],[13,"squareY","centeredY"],[13,"rotationRad",[4,"-",[1,[1,"rotation","*","Math.PI"],"/",[5,"180"]]]],[13,"cosAngle",[6,"std.cos",["rotationRad"]]],[13,"sinAngle",[6,"std.sin",["rotationRad"]]],[13,"rotatedSquareX",[1,[1,"squareX","*","cosAngle"],"-",[1,"squareY","*","sinAngle"]]],[13,"rotatedSquareY",[1,[1,"squareX","*","sinAngle"],"+",[1,"squareY","*","cosAngle"]]],[13,"scaledX",[1,[1,"rotatedSquareX","/","aspectRatio"],"*","scale"]],[13,"scaledY",[1,"rotatedSquareY","*","scale"]],[10,[6,"d.vec2f",[[1,"scaledX","+","anchorX"],[1,"scaledY","+","anchorY"]]]]]]},externals:{"Math.PI":()=>Math.PI,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({}));var Ov=(e,t,s)=>{let r=T=>T.unit==="px"?T.value/t:T.value,o=T=>T.unit==="px"?T.value/s:T.value,n=r(e.x),i=o(e.y),d=r(e.width),c=o(e.height),_=(T,A,P)=>P==="end"?1-T-A:P==="center"?.5+T-A/2:T,u=e.origin??"top-left",m=u.includes("left")?"start":u.includes("right")?"end":"center",p=u.includes("top")?"start":u.includes("bottom")?"end":"center",y=_(n,d,m),h=_(i,c,p),g=y+d/2,w=h+c/2,S=e.cornerRadius?e.cornerRadius.unit==="px"?e.cornerRadius.value/s:e.cornerRadius.value:0;return{centerX:g,centerY:w,halfWidthUV:d/2,halfHeightUV:c/2,cornerRadiusUV:S,rotation:e.rotation}},KR=v.fn([l,a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=__tsover_sub(t.x,s),m=__tsover_sub(t.y,r),p=-__tsover_div(__tsover_mul(d,Math.PI),180),y=H(p),h=Y(p),g=__tsover_mul(u,c),w=m,S=__tsover_sub(__tsover_mul(g,y),__tsover_mul(w,h)),T=__tsover_add(__tsover_mul(g,h),__tsover_mul(w,y)),A=__tsover_mul(o,c),P=n,U=__tsover_sub(A,i),D=__tsover_sub(P,i),O=__tsover_sub(z(S),U),L=__tsover_sub(z(T),D),G=l(b(O,0),b(L,0)),W=__tsover_sub(__tsover_add(j(G),oe(b(O,L),0)),i),K=b(_,1e-7);return C(__tsover_sub(1,re(-K,K,W)),C(a(0),a(1),W<=0),_<=0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"centerX"},{type:"i",name:"centerY"},{type:"i",name:"halfWidth"},{type:"i",name:"halfHeight"},{type:"i",name:"cornerRadius"},{type:"i",name:"rotation"},{type:"i",name:"aspectRatio"},{type:"i",name:"aaFeather"}],body:[0,[[13,"centeredX",[1,[7,"uv","x"],"-","centerX"]],[13,"centeredY",[1,[7,"uv","y"],"-","centerY"]],[13,"rotRad",[4,"-",[1,[1,"rotation","*","Math.PI"],"/",[5,"180"]]]],[13,"cosA",[6,"std.cos",["rotRad"]]],[13,"sinA",[6,"std.sin",["rotRad"]]],[13,"sqX",[1,"centeredX","*","aspectRatio"]],[13,"sqY","centeredY"],[13,"rotatedX",[1,[1,"sqX","*","cosA"],"-",[1,"sqY","*","sinA"]]],[13,"rotatedY",[1,[1,"sqX","*","sinA"],"+",[1,"sqY","*","cosA"]]],[13,"halfWidthSq",[1,"halfWidth","*","aspectRatio"]],[13,"halfHeightSq","halfHeight"],[13,"innerHalfW",[1,"halfWidthSq","-","cornerRadius"]],[13,"innerHalfH",[1,"halfHeightSq","-","cornerRadius"]],[13,"qx",[1,[6,"std.abs",["rotatedX"]],"-","innerHalfW"]],[13,"qy",[1,[6,"std.abs",["rotatedY"]],"-","innerHalfH"]],[13,"qClamped",[6,"d.vec2f",[[6,"std.max",["qx",[5,"0"]]],[6,"std.max",["qy",[5,"0"]]]]]],[13,"sdf",[1,[1,[6,"std.length",["qClamped"]],"+",[6,"std.min",[[6,"std.max",["qx","qy"]],[5,"0"]]]],"-","cornerRadius"]],[13,"feather",[6,"std.max",["aaFeather",[5,"1e-7"]]]],[13,"ramp",[1,[5,"1"],"-",[6,"std.smoothstep",[[4,"-","feather"],"feather","sdf"]]]],[13,"binary",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"sdf","<=",[5,"0"]]]]],[10,[6,"std.select",["ramp","binary",[1,"aaFeather","<=",[5,"0"]]]]]]]},externals:{"Math.PI":()=>Math.PI,"std.cos":()=>H,"std.sin":()=>Y,"std.abs":()=>z,"d.vec2f":()=>l,"std.max":()=>b,"std.length":()=>j,"std.min":()=>oe,"std.smoothstep":()=>re,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})),h3=v.fn([l,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_sub(t.x,s),_=__tsover_sub(t.y,r),u=-__tsover_div(__tsover_mul(i,Math.PI),180),m=H(u),p=Y(u),y=__tsover_mul(c,d),h=_,g=__tsover_sub(__tsover_mul(y,m),__tsover_mul(h,p)),w=__tsover_add(__tsover_mul(y,p),__tsover_mul(h,m)),S=b(__tsover_mul(o,d),1e-6),T=b(n,1e-6);return l(__tsover_add(__tsover_div(g,__tsover_mul(S,2)),.5),__tsover_add(__tsover_div(w,__tsover_mul(T,2)),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"centerX"},{type:"i",name:"centerY"},{type:"i",name:"halfWidth"},{type:"i",name:"halfHeight"},{type:"i",name:"rotation"},{type:"i",name:"aspectRatio"}],body:[0,[[13,"centeredX",[1,[7,"uv","x"],"-","centerX"]],[13,"centeredY",[1,[7,"uv","y"],"-","centerY"]],[13,"rotRad",[4,"-",[1,[1,"rotation","*","Math.PI"],"/",[5,"180"]]]],[13,"cosA",[6,"std.cos",["rotRad"]]],[13,"sinA",[6,"std.sin",["rotRad"]]],[13,"sqX",[1,"centeredX","*","aspectRatio"]],[13,"sqY","centeredY"],[13,"rotatedX",[1,[1,"sqX","*","cosA"],"-",[1,"sqY","*","sinA"]]],[13,"rotatedY",[1,[1,"sqX","*","sinA"],"+",[1,"sqY","*","cosA"]]],[13,"halfWidthSq",[6,"std.max",[[1,"halfWidth","*","aspectRatio"],[5,"0.000001"]]]],[13,"halfHeightSq",[6,"std.max",["halfHeight",[5,"0.000001"]]]],[13,"localX",[1,[1,"rotatedX","/",[1,"halfWidthSq","*",[5,"2"]]],"+",[5,"0.5"]]],[13,"localY",[1,[1,"rotatedY","/",[1,"halfHeightSq","*",[5,"2"]]],"+",[5,"0.5"]]],[10,[6,"d.vec2f",["localX","localY"]]]]]},externals:{"Math.PI":()=>Math.PI,"std.cos":()=>H,"std.sin":()=>Y,"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),i7=(e,t,s)=>{let r=s.rotationDeg*Math.PI/180,o=Math.cos(r),n=Math.sin(r),i=(e-s.centerX)*s.aspectRatio,d=t-s.centerY,c=i*o+d*n,_=i*-n+d*o,u=Math.max(s.halfWidthUV*s.aspectRatio,1e-6),m=Math.max(s.halfHeightUV,1e-6);return{x:c/(2*u)+.5,y:_/(2*m)+.5}},sc={x:{value:0,unit:"uv"},y:{value:0,unit:"uv"},width:{value:1,unit:"uv"},height:{value:1,unit:"uv"},origin:"top-left",rotation:0};function Vv(e){if(!e||typeof e!="object")return;let t=(s,r)=>s&&typeof s=="object"?{value:s.value??r.value,unit:s.unit??r.unit}:{...r};return{x:t(e.x,sc.x),y:t(e.y,sc.y),width:t(e.width,sc.width),height:t(e.height,sc.height),origin:e.origin??"top-left",rotation:e.rotation??0,...e.cornerRadius?{cornerRadius:e.cornerRadius}:{},...e.lockAspect!==void 0?{lockAspect:e.lockAspect}:{}}}function r1(e){if(!e||typeof e!="object")return!1;let t=(s,r)=>!!s&&s.unit==="uv"&&s.value===r;return t(e.x,0)&&t(e.y,0)&&t(e.width,1)&&t(e.height,1)&&(e.rotation??0)===0&&(e.cornerRadius?.value??0)===0}var Kt=class fl{_emit;constructor(t){this._emit=t}member(t){return new fl(s=>`${ZR(this._emit(s))}.${t}`)}mul(t){return new fl(s=>`(${this._emit(s)} * ${x3(t,s)})`)}add(t){return new fl(s=>`(${this._emit(s)} + ${x3(t,s)})`)}};function ZR(e){return/^[\w.$]+$/.test(e)?e:`(${e})`}function x3(e,t){return typeof e=="number"?o1(e):e._emit(t)}function o1(e){return Number.isFinite(e)?Number.isInteger(e)?`${e}.0`:`${e}`:e>0?"3.4e38":e<0?"-3.4e38":"0.0"}var Nv=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({linearClamp:{sampler:"filtering"},nearestClamp:{sampler:"filtering"},linearRepeat:{sampler:"filtering"},nearestRepeat:{sampler:"filtering"}}).$idx(2),"SHARED_SAMPLER_LAYOUT"),rc={uniforms:0,textures:1,samplers:2,external:3};function vd(e){return new Kt(()=>e)}function vt(e){return new Kt(()=>o1(e))}function we(e,t,s){return new Kt(r=>`${r.external(e,t)}(${s.map(o=>o._emit(r)).join(", ")})`)}function Ws(...e){return new Kt(t=>`vec4f(${e.map(s=>d7(s,t)).join(", ")})`)}function oc(e,t,s){return new Kt(r=>`mix(${e._emit(r)}, ${t._emit(r)}, ${d7(s,r)})`)}var QR=0;function ur(e,t){let s=QR++;return new Kt(r=>r.memo(`local:${s}`,()=>{let o=r.freshLocal(t);return r.statement(`let ${o} = ${e._emit(r)};`),o}))}var xr=vd("vec4f(0.0, 0.0, 0.0, 0.0)"),Um=vd("vec4f(1.0, 1.0, 1.0, 0.0)");function d7(e,t){return typeof e=="number"?o1(e):e._emit(t)}function Hn(e,t,s,r){return we(o3[s]??o3.normal,`blend_${Ql(s)}`,[e,t,r])}function JR(e,t,s){return we(n3[s]??n3.alpha,`mask_${Ql(s)}`,[e,t])}function Ql(e){return e.replace(/[^a-zA-Z0-9_]/g,"_")}function g3(e,t,s,r){let o={},n=new Map,i=new Set,d=[],c=new Map,_=0,u={external(g,w){let S=n.get(g);if(S)return S;let T=Ql(w);if(i.has(T)){let A=1;for(;i.has(`${T}_${A}`);)A++;T=`${T}_${A}`}return i.add(T),n.set(g,T),o[T]=g,T},statement(g){d.push(g)},freshLocal(g){return`${Ql(g)}_${_++}`},memo(g,w){let S=c.get(g);if(S!==void 0)return S;let T=w();return c.set(g,T),T}},m=s?"vec2f(in.uv.x, 1.0 - in.uv.y)":"in.uv";d.push(`var uv = ${m};`);let p=e._emit(u),y=t(p,u),h=`${d.join(` +`)} +${p} +${y}`;return r&&/\b(?:tex|samp|ext)\.\$\./.test(h)&&!/\buni\.\$\./.test(h)&&(u.external(r,"uni"),d.unshift("_ = uni.$.uniforms._sys.time;")),{body:`{ + ${d.join(` + `)} + return ${y}; +}`,externals:o}}function c7(e,t={}){let s={sampler:Nv},r=[],o=[],n=[],i=[],d=new Set,c=[],_=[],u=[],m=[],p=0,y=0,h=0,g=0,w=new Set,S=e.store.layout;S&&S.$idx(rc.uniforms),s.uniform=S;let T=F=>new Kt(le=>(S&&le.external(S,"uni"),F)),A=F=>T(`uni.$.uniforms.${F}`),P=F=>T(e.store.gpuAccessor(F,"uni")),U={uv:new Kt(()=>"uv"),time:A("_sys.time"),viewportSize:A("_sys.viewportSize"),logicalViewportSize:A("_sys.logicalViewportSize"),aspect:A("_sys.aspect"),pointer:A("_sys.pointer")},D=F=>({key:F,sample:(le,ae="linearClamp")=>new Kt(ne=>`textureSample(tex.$.${F}, samp.$.${ae}, ${le._emit(ne)})`),sampleLevel:(le,ae="linearClamp")=>new Kt(ne=>`textureSampleLevel(tex.$.${F}, samp.$.${ae}, ${le._emit(ne)}, 0.0)`),accessor:()=>new Kt(()=>`tex.$.${F}`),dimensions:()=>new Kt(()=>`vec2f(textureDimensions(tex.$.${F}))`)}),O=F=>({key:F,sample:(le,ae="linearClamp")=>new Kt(ne=>`textureSampleBaseClampToEdge(ext.$.${F}, samp.$.${ae}, ${le._emit(ne)})`),sampleLevel:(le,ae="linearClamp")=>new Kt(ne=>`textureSampleBaseClampToEdge(ext.$.${F}, samp.$.${ae}, ${le._emit(ne)})`),accessor:()=>new Kt(()=>`ext.$.${F}`),dimensions:()=>new Kt(()=>`vec2f(textureDimensions(ext.$.${F}))`)}),L=F=>{let le=`rtt_${p++}`;return r.push({key:le,root:F}),o.push({key:le,kind:"rtt"}),D(le)},G=new Map,W=(F,le,ae)=>{let ne=`${F.id}:${le}`,ie=G.get(ne);if(ie!==void 0)return ie;let ge=ae?e.resolveCustomId(ae):null,Ye=ge?L(bs(ge,new Set([F.id]))):null;return G.set(ne,Ye),Ye},K=new Map,Q=F=>{let le=K.get(F.id);if(le)return le;let ae={},ne=F.metadata.maps;if(ne){let ie={},ge=F.definition.mapSampleUVs;if(ge){let Ye={};for(let[Je,rt]of Object.entries(F.handles))rt.cpu||(Ye[Je]=P(rt));ie=ge({uniforms:Ye,ctx:U})??{}}for(let[Ye,Je]of Object.entries(ne)){if(!(Ye in F.handles))continue;let rt=Ee(Je,F,Ye,ie[Ye]);rt&&(ae[Ye]=rt)}}return K.set(F.id,ae),ae},te=F=>{let le=Lo(F.id),ae=F.metadata.maps;if(!ae||Object.keys(ae).length===0)return A(le);let ne=Q(F);return Object.keys(ne).length===0?A(le):new Kt(ie=>ie.memo(`props:${F.id}`,()=>{S&&ie.external(S,"uni");let ge=ie.freshLocal(`p_${le}`);ie.statement(`var ${ge} = uni.$.uniforms.${le};`);for(let[Ye,Je]of Object.entries(ne))ie.statement(`${ge}.${Ye} = ${Je._emit(ie)};`);return ge}))},ee=F=>{let le={};for(let[ae,ne]of Object.entries(F.handles))le[ae]=ne.value;return le},he=F=>{let le={};Lo(F.id);let ae=te(F);for(let[ie,ge]of Object.entries(F.handles)){if(ge.cpu)continue;let Ye=F.metadata.maps;Ye&&ie in Ye?le[ie]=ae.member(ie):le[ie]=P(ge)}let ne=F.definition.extraFields;if(ne)for(let ie of Object.keys(ne))le[ie]=ae.member(ie);return le},Ee=(F,le,ae,ne)=>{let ie=F,ge=Lo(le.id);if(ie.type==="map"){let Ye=W(le,ae,ie.source);return Ye?sz(tz(Ye.sample(ne??U.uv),ie.channel??"luminance"),A(`${ge}._map_${ae}_inputMin`),A(`${ge}._map_${ae}_inputMax`),A(`${ge}._map_${ae}_outputMin`),A(`${ge}._map_${ae}_outputMax`),A(`${ge}._map_${ae}_curve`)):null}return ie.type==="mouse-position"||ie.type==="mouse"||ie.type==="auto-animate"?A(`${ge}._smoothed_${ae}`):null},Te=(F,le,ae,ne)=>{let ie=le.metadata.mask;if(!ie?.source)return F;let ge=e.resolveCustomId(ie.source);if(!ge)return F;if(ae.has(ge))return console.error("[gpu] circular dependency in shader masks."),F;let Ye=new Set(ae);Ye.add(le.id);let Je=bs(ge,Ye);return ne&&(Je=L(Je).sample(ne)),JR(F,Je,ie.type??"alpha")},Ue=F=>A(`${Lo(F.id)}._opacity`),Me=F=>!!F.metadata.boundingBox&&!!F.definition.boundingBoxDeclaration&&!r1(F.metadata.boundingBox),Pe=F=>F.handles.cutout?.value===1,Re=F=>!!F.definition.requiresChild,de=F=>!!F.definition.blendWithChildren,je=F=>Me(F)&&!F.definition.boundingBoxDeclaration?.boxResamplesContent&&Re(F)&&F.metadata.blendMode==="normal"&&!Pe(F)&&!de(F),fe=()=>new Kt(F=>`(0.5 / max(${U.viewportSize.member("y")._emit(F)}, 1.0))`),Ke=(F,le=U.uv)=>{let ae=Lo(F.id),ne=ie=>A(`${ae}._bbox_${ie}`);return we(KR,"bboxClipMask",[le,ne("centerX"),ne("centerY"),ne("halfWidth"),ne("halfHeight"),ne("cornerRadius"),ne("rotation"),ne("aspectRatio"),fe()])},Ze=(F,le)=>{if(!Me(le))return F;if(le.definition.boundingBoxDeclaration?.boxResamplesContent){let ne=Lo(le.id),ie=rt=>A(`${ne}._bbox_${rt}`),ge=L(F),Ye=we(h3,"bboxGenUVContext",[U.uv,ie("centerX"),ie("centerY"),ie("halfWidth"),ie("halfHeight"),ie("rotation"),ie("aspectRatio")]),Je=we(dn,"unpremultiplyAlpha",[ge.sample(Ye)]);return Ws(Je.member("rgb"),Je.member("a").mul(Ke(le)))}let ae=Ke(le);return Ws(F.member("rgb"),F.member("a").mul(ae))},at=(F,le)=>{let ae=le.metadata.transform;if(!ae||!Tn(ae))return F;let ne=Lo(le.id),ie=L(F),ge=Ye=>A(`${ne}._xform_${Ye}`);return Gi(we(jR,"applyUVTransform",[U.uv,ge("offsetX"),ge("offsetY"),ge("rotation"),ge("scale"),ge("anchorX"),ge("anchorY"),ge("aspectRatio")]),Ye=>ie.sample(Ye),rz[ae.edges]??0)},Fe=(F,le,ae)=>Me(ae)?le!==void 0&&je(ae)?oc(le,F,Ke(ae)):Ze(F,ae):at(F,ae),Ie=(F,le)=>je(le)?{transformedFragment:F,clipMaskNode:Ke(le)}:{transformedFragment:Me(le)?Ze(F,le):at(F,le),clipMaskNode:void 0},st=(F,le,ae,ne)=>{let ie=Ue(ae),ge=de(ae)?F!==void 0?Hn(F,le,"normal",ie):oc(xr,le,ie):oc(F??xr,le,ie);return ne===void 0?ge:oc(F??xr,ge,ne)},Xe=(F,le)=>{if(F.definition.compute)try{let ae=F.definition.compute(le);if(ae)return i.push({nodeId:F.id,getComputeNodes:ae.getComputeNodes,bindInputs:ae.bindInputs}),ae.outputs}catch(ae){Is(`[gpu] error initializing compute for node ${F.id}:`,ae)}},We=F=>{let le=Lo(F.id),ae=ne=>A(`${le}._bbox_${ne}`);return{centerX:ae("centerX"),centerY:ae("centerY"),halfWidth:ae("halfWidth"),halfHeight:ae("halfHeight"),rotation:ae("rotation")}},Ve=F=>{let le=F.definition.boundingBoxDeclaration;return!!le&&(!!le.computeBounds||!!le.propBindings)},Ft=F=>{if(!F.definition.wantsBoundsParams)return{};let le={};Me(F)&&(le.ownBoundsParams=We(F));let ae=[...e.getChildren(F.id)].sort((ne,ie)=>ne.metadata.renderOrder-ie.metadata.renderOrder);for(let ne of ae)if(ne.metadata.visible!==!1){if(Me(ne)){le.childBoundsParams=We(ne);break}if(Ve(ne)){let ie=Lo(F.id),ge=Ye=>A(`${ie}._childBounds_${Ye}`);le.childBoundsParams={centerX:ge("centerX"),centerY:ge("centerY"),halfWidth:ge("halfWidth"),halfHeight:ge("halfHeight"),rotation:vt(0)};break}}return le},Gt=!1,os=(F,le,ae={})=>({noteCustomWgsl:()=>{Gt=!0},props:te(F),uniforms:he(F),propValues:ee(F),childNode:le,ctx:U,logicalViewportSize:U.logicalViewportSize,convertToTexture:L,declareTexture:ne=>{o.some(ie=>ie.key===ne.key)||o.push({key:ne.key,kind:"media",resource:ne._resource})},registerExternalTexture:ne=>{let ie=`video_${h++}`;return n.push({key:ie,getSource:ne}),O(ie)},registerComputeTexture:ne=>{let ie=`compute_${y++}`;o.push({key:ie,kind:"compute",resource:{texture:ne}});let ge=ne?.props?.format;return(ge==="r32float"||ge==="rg32float"||ge==="rgba32float")&&w.add(ie),D(ie)},createMediaTexture:ne=>t.createMediaTexture?.(ne)??(()=>{throw new Error("[gpu] createMediaTexture unavailable (no TextureManager injected)")})(),createDataTexture:ne=>t.createDataTexture?.(ne)??(()=>{throw new Error("[gpu] createDataTexture unavailable (no TextureManager injected)")})(),registerMediaTexture:ne=>{let ie=`media_${g++}`;return o.push({key:ie,kind:"media",resource:{get texture(){return ne()}}}),D(ie)},getCpuValue:ne=>{if((F.metadata.maps?.[ne]||ne.startsWith("_animTime"))&&t.resolveDriverCpuValue){let ie=t.resolveDriverCpuValue(F.id,ne);if(ie!==void 0)return ie}return F.handles[ne]?.value},getMapInfo:ne=>{let ie=F.metadata.maps?.[ne];if(!ie||ie.type!=="map")return null;let ge=W(F,ne,ie.source);return ge?{sourceTexture:ge,channel:ie.channel??"luminance",window:()=>t.resolveMapWindow?.(F.id,ne)??{inputMin:typeof ie.inputMin=="number"?ie.inputMin:0,inputMax:typeof ie.inputMax=="number"?ie.inputMax:1,outputMin:typeof ie.outputMin=="number"?ie.outputMin:0,outputMax:typeof ie.outputMax=="number"?ie.outputMax:1,curve:typeof ie.curve=="number"?ie.curve:0}}:null},getLayerTexture:ne=>{let ie=F.handles[ne]?.value;return typeof ie!="string"||ie===""?null:W(F,ne,ie)},setExtraField:(ne,ie)=>t.writeExtraField?.(F.id,ne,ie),onCleanup:ne=>m.push(ne),onBeforeRender:ne=>c.push(ne),onAfterRender:ne=>_.push(ne),onResize:ne=>u.push(ne),canvas:t.canvas,dimensions:t.dimensions??{width:1,height:1},gpu:t.gpu,domCanvas:F.domCanvas,...Ft(F),...ae});function bs(F,le=new Set){let ae=e.getNode(F);if(!ae)return xr;let ne=e.getChildren(F);if(ne.length>0&&ae.definition.providesUVContextViaCompute){let rt=Qr(ae,ne,le);if(rt!==null)return rt}if(ne.length>0&&ae.definition.uvRemap){let rt=zr(ae,ne);if(rt!==null)return rt;let He=Vo(ae,ne,le);if(He!==null)return He}if(ne.length===0){d.add(F);let rt=os(ae,void 0,{bboxMask:vs(ae),...As(ae)});rt.computeOutputs=Xe(ae,rt);let He=ae.definition.fragment(rt);return Te(Me(ae)?Ze(He,ae):at(He,ae),ae,le)}let ie=[...ne].sort((rt,He)=>rt.metadata.renderOrder-He.metadata.renderOrder),ge=Ps(ie,le);if(ge!==null){let rt=os(ae,ge,{bboxMask:vs(ae)});rt.computeOutputs=Xe(ae,rt);let He=ae.definition.fragment(rt);return Te(Me(ae)?Ze(He,ae):at(He,ae),ae,le)}let Ye=ls(ae,ie,le);d.add(F);let Je=os(ae,Ye,{bboxMask:vs(ae)});return Je.computeOutputs=Xe(ae,Je),Te(Fe(ae.definition.fragment(Je),Ye,ae),ae,le)}function ls(F,le,ae){let ne;for(let ie=0;ie0,Je,rt;if(Ye)Je=bs(ge.id,ae);else{let He=ne;ge.definition.requiresRTT&&ne!==void 0&&(He=Hn(xr,ne,"normal",vt(1))),ge.definition.acceptsOptionalChild&&(He=void 0);let Bt=os(ge,He,{bboxMask:vs(ge),...As(ge)});Bt.computeOutputs=Xe(ge,Bt);let Yt=Ie(ge.definition.fragment(Bt),ge);rt=Yt.clipMaskNode,Je=Te(Yt.transformedFragment,ge,ae)}if(ge.definition.requiresChild&&ge.metadata.blendMode==="normal"&&!Ye)ne=st(ne,Je,ge,rt);else{let He=ge.metadata.blendMode??"normal",Bt=ge.metadata.opacity??1;ne===void 0?ne=F.definition.requiresRTT||Bt!==1?Hn(Um,Je,He,Ue(ge)):Je:ne=Hn(ne,Je,He,Ue(ge))}}return ne}function As(F,le=U.uv){if(!Me(F))return{};if(!F.definition.boundingBoxDeclaration?.supportsResizeFit)return{};let ae=Lo(F.id),ne=ie=>A(`${ae}._bbox_${ie}`);return{uvContext:we(h3,"bboxGenUVContext",[le,ne("centerX"),ne("centerY"),ne("halfWidth"),ne("halfHeight"),ne("rotation"),ne("aspectRatio")]),effectiveViewportSize:Ws(ne("halfWidth").mul(2).mul(U.viewportSize.member("x")),ne("halfHeight").mul(2).mul(U.viewportSize.member("y")),0,0).member("xy")}}function vs(F){if(!(!Me(F)||!F.definition.requiresRTT)&&!F.definition.boundingBoxDeclaration?.supportsResizeFit)return Ke(F)}let ys=F=>!!F.metadata.mask||F.metadata.opacity!==void 0&&F.metadata.opacity<1||(F.metadata.blendMode??"normal")!=="normal"||Tn(F.metadata.transform)||Me(F),Ks=F=>!!F.definition.uvRemap&&e.getChildren(F.id).length===0&&!ys(F);function yr(F,le,ae){d.add(F.id);let ne=Xe(F,os(F,void 0));return F.definition.uvRemap({uv:le,mask:ae,uniforms:he(F),propValues:ee(F),props:te(F),aspect:U.aspect,onBeforeRender:ie=>c.push(ie),computeOutputs:ne})}function Ur(F){let le=U.uv,ae=vt(1);for(let ne=F.length-1;ne>=0;ne--){let ie=yr(F[ne],le,ae);le=ie.uv,ae=ie.mask}return{uv:le,mask:ae}}let Ms=24,Cr=vt(1),hr=(F,le)=>{if(le.left--<=0||F.metadata.mask||Tn(F.metadata.transform))return!1;let ae=e.getChildren(F.id).filter(ne=>ne.metadata.visible!==!1);return ae.length===0?Me(F)&&F.definition.boundingBoxDeclaration?.boxResamplesContent?!1:!!F.definition.acceptsUVContext&&!F.definition.requiresChild:!F.definition.uvRemap||Me(F)?!1:ae.every(ne=>hr(ne,le))};function mo(F,le,ae){let ne=ae??Cr,ie=yr(F,le,ne);return{uv:ie.uv,mask:ie.mask===ne?ae:ie.mask}}let po=(F,le)=>F===void 0?le:le===void 0?F:F.mul(le);function Rr(F,le,ae){let ne=e.getChildren(F.id).filter(He=>He.metadata.visible!==!1);if(ne.length>0){if(!F.definition.uvRemap)return null;let He=mo(F,le,ae);return nr(ne,ur(He.uv,"foldUV"),He.mask)}if(!F.definition.acceptsUVContext)return null;d.add(F.id);let ie=As(F,le),ge=os(F,void 0,Object.keys(ie).length>0?ie:{uvContext:le});ge.computeOutputs=Xe(F,ge);let Ye=F.definition.fragment(ge),Je=po(ae,Me(F)?Ke(F,le):void 0);if(Je===void 0)return Ye;let rt=ur(Ye,"gen");return Ws(rt.member("rgb"),rt.member("a").mul(Je))}function nr(F,le,ae){let ne=[...F].sort((Ye,Je)=>Ye.metadata.renderOrder-Je.metadata.renderOrder),ie;for(let Ye of ne){let Je=Rr(Ye,le,void 0);if(Je===null)return null;let rt=Ye.metadata.blendMode??"normal",He=Ye.metadata.opacity??1;ie===void 0?ie=rt==="normal"&&He===1?Je:Hn(Um,Je,rt,Ue(Ye)):ie=Hn(ie,Je,rt,Ue(Ye))}if(ie===void 0)return null;if(ae===void 0)return ie;let ge=ur(ie,"sibs");return Ws(ge.member("rgb"),ge.member("a").mul(ae))}function zr(F,le){if(!F.definition.uvRemap||ys(F))return null;let ae=le.filter(Ye=>Ye.metadata.visible!==!1);if(ae.length===0)return null;let ne={left:Ms};if(!ae.every(Ye=>hr(Ye,ne)))return null;d.add(F.id);let{uv:ie,mask:ge}=mo(F,U.uv,void 0);return nr(ae,ur(ie,"foldUV"),ge)}function Ps(F,le){let ae=F.filter(Yt=>Yt.metadata.visible!==!1);if(!ae.some(Yt=>!!Yt.definition.uvRemap)||ae.length<2)return null;let ne=ae.length;for(let Yt=ae.length-1;Yt>=0&&Ks(ae[Yt]);Yt--)ne=Yt;let ie=ae.slice(ne),ge=ae.slice(0,ne);if(ie.length===0||ge.length!==1)return null;let Ye=ge[0];if(!Ye.definition.acceptsUVContext||e.getChildren(Ye.id).length>0||ys(Ye))return null;d.add(Ye.id);for(let Yt of ie)d.add(Yt.id);let{uv:Je,mask:rt}=Ur(ie),He=os(Ye,void 0,{uvContext:Je});He.computeOutputs=Xe(Ye,He);let Bt=Ye.definition.fragment(He);return Ws(Bt.member("rgb"),Bt.member("a").mul(rt))}function Gr(F,le,ae,ne){if(!Ks(F[le]))return null;let ie=[],ge=le;for(let He=le;HeNo.metadata.visible!==!1);if(fo.length!==1)return null;let br=fo[0],Nt=e.getChildren(br.id);if(br.definition.acceptsUVContext&&Nt.length===0&&!ys(br)){Je=br;break}if(br.definition.uvRemap&&!ys(br)&&Nt.length===1){ge=br,Ye=Nt;continue}rt=br;break}if(!Je&&!rt)return null;for(let Ls of ie)d.add(Ls.id);let{uv:He,mask:Bt}=Ur([...ie].reverse()),Yt;if(Je){d.add(Je.id);let Ls=os(Je,void 0,{uvContext:He});Ls.computeOutputs=Xe(Je,Ls);let fo=Je.definition.fragment(Ls);Yt=Ws(fo.member("rgb"),fo.member("a").mul(Bt))}else{let Ls=L(Hn(Um,bs(rt.id,ae),rt.metadata.blendMode??"normal",Ue(rt))).sample(He);Yt=Ws(Ls.member("rgb"),Ls.member("a").mul(Bt))}return Te(Me(F)?Ze(Yt,F):at(Yt,F),F,ae)}function Qr(F,le,ae){let ne=Nt=>!!Nt.metadata.mask||Nt.metadata.opacity!==void 0&&Nt.metadata.opacity<1||(Nt.metadata.blendMode??"normal")!=="normal"||Tn(Nt.metadata.transform)||Me(Nt);if(!F.definition.providesUVContextViaCompute||ne(F))return null;let ie=[],ge=F,Ye=null,Je=le,rt=8;for(let Nt=0;Ntwa.metadata.visible!==!1);if(No.length!==1)return null;let Yr=No[0];if(ne(Yr))return null;let Ro=e.getChildren(Yr.id).length>0;if(Yr.definition.acceptsUVContext&&!Ro){Ye=Yr;break}if(Yr.definition.providesUVContextViaCompute){ge=Yr,Je=e.getChildren(Yr.id);continue}return null}if(!Ye)return null;d.add(Ye.id);for(let Nt of ie)d.add(Nt.id);let He=[],Bt;for(let Nt=0;Nt=0;Nt--)He[Nt].childNode=br,He[Nt].uvPropagationActive=!0,br=ie[Nt].definition.fragment(He[Nt]);return Te(Me(F)?Ze(br,F):at(br,F),F,ae)}let ci=e.rootId?bs(e.rootId):xr,ba=r.map(F=>{let{body:le,externals:ae}=g3(F.root,ne=>ne,t.flipY??!0,s.uniform);return{textureKey:F.key,fragment:b3(le,ae,`rtt_${F.key}`,s.sampler,w)}}),_i=t.toneMapping??"linear",li=g3(ci,(F,le)=>ez(F,le,_i,t.premultiplyAlpha??!1),t.flipY??!0,s.uniform);return{computeSteps:i,rttPasses:ba,finalPass:b3(li.body,li.externals,"final",s.sampler,w),textures:o,externalTextures:n,layouts:{uniforms:s.uniform,samplers:s.sampler},onBeforeRender:c,onAfterRender:_,onResize:u,onCleanup:m,composedNodeIds:d,usesCustomWgsl:Gt}}function ez(e,t,s,r){let o=t.external(v3[s]??v3.linear,`tone_${s}`),n=t.external(HR,"linearToSrgb"),i=t.freshLocal("composed");t.statement(`var ${i} = ${e};`);let d=`${n}(${o}(${i}.rgb))`;return r?`vec4f(${d} * ${i}.a, ${i}.a)`:`vec4f(${d}, ${i}.a)`}function b3(e,t,s,r,o=new Set){let n=w3(e,/\btex\.\$\.(\w+)/g),i=w3(e,/\bext\.\$\.(\w+)/g),d=/\bsamp\.\$\./.test(e),c;if(n.length>0){let u={};for(let m of n)u[m]=o.has(m)?{texture:ps(a),sampleType:"unfilterable-float"}:{texture:ps(a)};c=(globalThis.__TYPEGPU_AUTONAME__??(m=>m))(v.bindGroupLayout(u).$idx(rc.textures),"textureLayout"),t.tex=c}let _;if(i.length>0){let u={};for(let y of i)u[y]={externalTexture:s5()};let m=new Set([rc.uniforms]);n.length>0&&m.add(rc.textures),d&&m.add(rc.samplers);let p=0;for(;m.has(p);)p++;_=(globalThis.__TYPEGPU_AUTONAME__??(y=>y))(v.bindGroupLayout(u).$idx(p),"externalLayout"),t.ext=_}return d&&(t.samp=r),{body:e,externals:t,entry:v.fragmentFn({in:{uv:l},out:x})(e).$uses(t).$name(s),reads:n,externalReads:i,usesSamplers:d,textureLayout:c,externalLayout:_}}function w3(e,t){let s=new Set;for(let r of e.matchAll(t))s.add(r[1]);return[...s]}function tz(e,t){switch(t){case"alpha":return e.member("a");case"alphaInverted":return new Kt(s=>`(1.0 - ${e._emit(s)}.a)`);case"luminanceInverted":return new Kt(s=>`(1.0 - dot(${e._emit(s)}.rgb, vec3f(0.2126, 0.7152, 0.0722)))`);default:return new Kt(s=>`dot(${e._emit(s)}.rgb, vec3f(0.2126, 0.7152, 0.0722))`)}}function sz(e,t,s,r,o,n){return new Kt(i=>{let d=e._emit(i),c=t._emit(i),_=s._emit(i),u=r._emit(i),m=o._emit(i),p=n._emit(i);return`mix(${u}, ${m}, ${`pow(${`clamp((${d} - ${c}) / max(${_} - ${c}, 0.0001), 0.0, 1.0)`}, pow(2.0, -${p} * 2.0))`})`})}var rz={stretch:0,transparent:1,mirror:2,wrap:3};function _7(e,t={}){let s=[];s.push(`tone:${t.toneMapping??"linear"}`),s.push(`flipY:${t.flipY??!0}`),s.push(`premul:${t.premultiplyAlpha??!1}`);let r=o=>{let n=e.getNode(o);if(!n)return;let i=n.metadata,d=n.definition,c=Tn(i.transform),_=!!i.boundingBox&&!!d.boundingBoxDeclaration&&!r1(i.boundingBox),u=(i.opacity??1)===0?"zero":"nonzero",m=i.mask?`${i.mask.source}:${i.mask.type}`:"none",p=[];for(let[y,h]of Object.entries(d.props??{}))if(h.compileTime){let g=n.handles[y];p.push(`${y}=${g?String(g.value):"?"}`)}s.push([`id:${n.id}`,`parent:${n.parentId??""}`,`name:${n.componentName}`,`rev:${d.revision??""}`,`blend:${i.blendMode??"normal"}`,`mask:${m}`,`order:${i.renderOrder??0}`,`visible:${i.visible!==!1}`,`opacity:${u}`,`xform:${c}${c?`:${i.transform?.edges??"transparent"}`:""}`,`bbox:${_}:${_?d.boundingBoxDeclaration?.boxResamplesContent?"resample":d.boundingBoxDeclaration?.supportsResizeFit?"resize":"clip":""}`,`rtt:${!!d.requiresRTT}`,`maps:${i.maps?Object.keys(i.maps).sort().join(","):""}`,`ct:${p.sort().join("|")}`].join("|"));for(let y of e.getChildren(o).sort((h,g)=>h.metadata.renderOrder-g.metadata.renderOrder))r(y.id)};return e.rootId&&r(e.rootId),s}var oz=v.fn([a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(t,s),o=__tsover_add(q(__tsover_sub(r,.5)),.5),n=__tsover_sub(r,o),i=__tsover_add(1,__tsover_mul(__tsover_mul(n,n),__tsover_add(-2.5,__tsover_mul(1.5,n)))),d=__tsover_mul(n,__tsover_add(.5,__tsover_mul(n,__tsover_sub(2,__tsover_mul(1.5,n))))),c=b(__tsover_add(i,d),1e-6),_=__tsover_div(d,c);return f(__tsover_div(__tsover_sub(o,1),s),__tsover_div(__tsover_add(o,_),s),__tsover_div(__tsover_add(o,2),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"texSize"}],body:[0,[[13,"samplePos",[1,"uv","*","texSize"]],[13,"texPos1",[1,[6,"std.floor",[[1,"samplePos","-",[5,"0.5"]]]],"+",[5,"0.5"]]],[13,"f",[1,"samplePos","-","texPos1"]],[13,"w1",[1,[5,"1"],"+",[1,[1,"f","*","f"],"*",[1,[4,"-",[5,"2.5"]],"+",[1,[5,"1.5"],"*","f"]]]]],[13,"w2",[1,"f","*",[1,[5,"0.5"],"+",[1,"f","*",[1,[5,"2"],"-",[1,[5,"1.5"],"*","f"]]]]]],[13,"w12",[6,"std.max",[[1,"w1","+","w2"],[5,"0.000001"]]]],[13,"offset12",[1,"w2","/","w12"]],[10,[6,"d.vec3f",[[1,[1,"texPos1","-",[5,"1"]],"/","texSize"],[1,[1,"texPos1","+","offset12"],"/","texSize"],[1,[1,"texPos1","+",[5,"2"]],"/","texSize"]]]]]]},externals:{"std.floor":()=>q,"std.max":()=>b,"d.vec3f":()=>f}})&&e.f)({})),nz=v.fn([a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(t,s),o=__tsover_add(q(__tsover_sub(r,.5)),.5),n=__tsover_sub(r,o),i=__tsover_mul(n,__tsover_add(-.5,__tsover_mul(n,__tsover_sub(1,__tsover_mul(.5,n))))),d=__tsover_add(1,__tsover_mul(__tsover_mul(n,n),__tsover_add(-2.5,__tsover_mul(1.5,n)))),c=__tsover_mul(n,__tsover_add(.5,__tsover_mul(n,__tsover_sub(2,__tsover_mul(1.5,n))))),_=__tsover_mul(__tsover_mul(n,n),__tsover_add(-.5,__tsover_mul(.5,n)));return f(i,__tsover_add(d,c),_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"texSize"}],body:[0,[[13,"samplePos",[1,"uv","*","texSize"]],[13,"texPos1",[1,[6,"std.floor",[[1,"samplePos","-",[5,"0.5"]]]],"+",[5,"0.5"]]],[13,"f",[1,"samplePos","-","texPos1"]],[13,"w0",[1,"f","*",[1,[4,"-",[5,"0.5"]],"+",[1,"f","*",[1,[5,"1"],"-",[1,[5,"0.5"],"*","f"]]]]]],[13,"w1",[1,[5,"1"],"+",[1,[1,"f","*","f"],"*",[1,[4,"-",[5,"2.5"]],"+",[1,[5,"1.5"],"*","f"]]]]],[13,"w2",[1,"f","*",[1,[5,"0.5"],"+",[1,"f","*",[1,[5,"2"],"-",[1,[5,"1.5"],"*","f"]]]]]],[13,"w3",[1,[1,"f","*","f"],"*",[1,[4,"-",[5,"0.5"]],"+",[1,[5,"0.5"],"*","f"]]]],[10,[6,"d.vec3f",["w0",[1,"w1","+","w2"],"w3"]]]]]},externals:{"std.floor":()=>q,"d.vec3f":()=>f}})&&e.f)({}));var az=0,iz=(e,t,s="linearClamp",r="positive")=>{let o=az++;return new Kt(n=>n.memo(`catmullRom:${o}`,()=>{let i=n.freshLocal("crUV"),d=n.freshLocal("crSize"),c=n.freshLocal("crPosX"),_=n.freshLocal("crPosY"),u=n.freshLocal("crWx"),m=n.freshLocal("crWy"),p=n.freshLocal("crOut");n.statement(`let ${i} = ${t._emit(n)};`),n.statement(`let ${d} = ${e.dimensions()._emit(n)};`);let y=n.external(oz,"catmullRomAxisPositions"),h=n.external(nz,"catmullRomAxisWeights");n.statement(`let ${c} = ${y}(${i}.x, ${d}.x);`),n.statement(`let ${_} = ${y}(${i}.y, ${d}.y);`),n.statement(`let ${u} = ${h}(${i}.x, ${d}.x);`),n.statement(`let ${m} = ${h}(${i}.y, ${d}.y);`),n.statement(`var ${p} = vec4f(0.0, 0.0, 0.0, 0.0);`);let g=["x","y","z"];for(let w of[0,1,2])for(let S of[0,1,2]){let T=new Kt(()=>`vec2f(${c}.${g[S]}, ${_}.${g[w]})`),A=`(${u}.${g[S]} * ${m}.${g[w]})`;n.statement(`${p} += ${e.sample(T,s)._emit(n)} * ${A};`)}return n.statement(r==="unit"?`${p} = clamp(${p}, vec4f(0.0, 0.0, 0.0, 0.0), vec4f(1.0, 1.0, 1.0, 1.0));`:`${p} = max(${p}, vec4f(0.0, 0.0, 0.0, 0.0));`),p}))},dz=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return $(t,l(0,0),l(1,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[10,[6,"std.clamp",["uv",[6,"d.vec2f",[[5,"0"],[5,"0"]]],[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l}})&&e.f)({})),l7=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=bo(z(t.x),2),r=bo(z(t.y),2);return l(C(s,__tsover_sub(2,s),s>=1),C(r,__tsover_sub(2,r),r>=1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"mirrorX",[6,"std.mod",[[6,"std.abs",[[7,"uv","x"]]],[5,"2"]]]],[13,"mirrorY",[6,"std.mod",[[6,"std.abs",[[7,"uv","y"]]],[5,"2"]]]],[10,[6,"d.vec2f",[[6,"std.select",["mirrorX",[1,[5,"2"],"-","mirrorX"],[1,"mirrorX",">=",[5,"1"]]]],[6,"std.select",["mirrorY",[1,[5,"2"],"-","mirrorY"],[1,"mirrorY",">=",[5,"1"]]]]]]]]]},externals:{"std.mod":()=>bo,"std.abs":()=>z,"d.vec2f":()=>l,"std.select":()=>C}})&&e.f)({})),u7=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[10,[6,"std.fract",["uv"]]]]]},externals:{"std.fract":()=>ue}})&&e.f)({})),m7=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_mul(De(0,t.x),De(t.x,1)),r=__tsover_mul(De(0,t.y),De(t.y,1));return __tsover_mul(s,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"inX",[1,[6,"std.step",[[5,"0"],[7,"uv","x"]]],"*",[6,"std.step",[[7,"uv","x"],[5,"1"]]]]],[13,"inY",[1,[6,"std.step",[[5,"0"],[7,"uv","y"]]],"*",[6,"std.step",[[7,"uv","y"],[5,"1"]]]]],[10,[1,"inX","*","inY"]]]]},externals:{"std.step":()=>De}})&&e.f)({})),qv=1,Xv=2,Hv=3;v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.x,t.y,t.z,__tsover_mul(t.w,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"m"}],body:[0,[[10,[6,"d.vec4f",[[7,"color","x"],[7,"color","y"],[7,"color","z"],[1,[7,"color","w"],"*","m"]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({}));var cz=(e,t)=>{switch(t){case qv:return e;case Xv:return we(l7,"edgeMirrorUV",[e]);case Hv:return we(u7,"edgeWrapUV",[e]);default:return we(dz,"edgeClampUV",[e])}},_z=(e,t,s)=>{if(s===qv){let r=we(m7,"edgeTransparentMask",[e]);return{uv:e,mask:t.mul(r)}}return{uv:cz(e,s),mask:t}},Gi=(e,t,s)=>{if(s===qv){let r=t(e),o=we(m7,"edgeTransparentMask",[e]);return Ws(r.member("rgb"),r.member("a").mul(o))}return t(s===Xv?we(l7,"edgeMirrorUV",[e]):s===Hv?we(u7,"edgeWrapUV",[e]):e)},lz=(e,t,s)=>Gi(t,s===Xv?r=>e.sample(r):r=>iz(e,r,s===Hv?"linearRepeat":"linearClamp"),s),Cm=ut({rUV:l,gUV:l,bUV:l}).$name("ChromaticSplitUVs"),uz=v.fn([l,l,a,a],Cm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=s.mul(__tsover_mul(r,.1)),i=.15,d=$(n,l(-i,-i),l(i,i)),c=__tsover_mul(o,.1);return Cm({rUV:t.sub(d.mul(__tsover_add(1,c))),gUV:t.sub(d),bUV:t.sub(d.mul(__tsover_sub(1,c)))})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"disp"},{type:"i",name:"strength"},{type:"i",name:"chromaticSplit"}],body:[0,[[13,"scaled",[6,[7,"disp","mul"],[[1,"strength","*",[5,"0.1"]]]]],[13,"maxDisp",[5,"0.15"]],[13,"clamped",[6,"std.clamp",["scaled",[6,"d.vec2f",[[4,"-","maxDisp"],[4,"-","maxDisp"]]],[6,"d.vec2f",["maxDisp","maxDisp"]]]]],[13,"chromaticScale",[1,"chromaticSplit","*",[5,"0.1"]]],[13,"rUV",[6,[7,"uv","sub"],[[6,[7,"clamped","mul"],[[1,[5,"1"],"+","chromaticScale"]]]]]],[13,"gUV",[6,[7,"uv","sub"],["clamped"]]],[13,"bUV",[6,[7,"uv","sub"],[[6,[7,"clamped","mul"],[[1,[5,"1"],"-","chromaticScale"]]]]]],[10,[6,"ChromaticSplitUVs",[[104,{rUV:"rUV",gUV:"gUV",bUV:"bUV"}]]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l,ChromaticSplitUVs:()=>Cm}})&&e.f)({})),T3=it,G8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(s,Le),o=H(r),n=Y(r),i=__tsover_div(1,3),d=__tsover_sub(1,o),c=__tsover_mul(d,i),_=__tsover_div(n,_a),u=__tsover_add(o,c),m=__tsover_sub(c,_),p=__tsover_add(c,_),y=__tsover_add(c,_),h=__tsover_add(o,c),g=__tsover_sub(c,_),w=__tsover_sub(c,_),S=__tsover_add(c,_),T=__tsover_add(o,c),A=t.x,P=t.y,U=t.z;return x(__tsover_add(__tsover_add(__tsover_mul(A,u),__tsover_mul(P,m)),__tsover_mul(U,p)),__tsover_add(__tsover_add(__tsover_mul(A,y),__tsover_mul(P,h)),__tsover_mul(U,g)),__tsover_add(__tsover_add(__tsover_mul(A,w),__tsover_mul(P,S)),__tsover_mul(U,T)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"shiftDeg"}],body:[0,[[13,"angle",[1,"shiftDeg","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angle"]]],[13,"sinA",[6,"std.sin",["angle"]]],[13,"k",[1,[5,"1"],"/",[5,"3"]]],[13,"oneMinusCos",[1,[5,"1"],"-","cosA"]],[13,"kOneMinusCos",[1,"oneMinusCos","*","k"]],[13,"sinOverSqrt3",[1,"sinA","/","SQRT3"]],[13,"m00",[1,"cosA","+","kOneMinusCos"]],[13,"m01",[1,"kOneMinusCos","-","sinOverSqrt3"]],[13,"m02",[1,"kOneMinusCos","+","sinOverSqrt3"]],[13,"m10",[1,"kOneMinusCos","+","sinOverSqrt3"]],[13,"m11",[1,"cosA","+","kOneMinusCos"]],[13,"m12",[1,"kOneMinusCos","-","sinOverSqrt3"]],[13,"m20",[1,"kOneMinusCos","-","sinOverSqrt3"]],[13,"m21",[1,"kOneMinusCos","+","sinOverSqrt3"]],[13,"m22",[1,"cosA","+","kOneMinusCos"]],[13,"r",[7,"color","x"]],[13,"g",[7,"color","y"]],[13,"b",[7,"color","z"]],[13,"newR",[1,[1,[1,"r","*","m00"],"+",[1,"g","*","m01"]],"+",[1,"b","*","m02"]]],[13,"newG",[1,[1,[1,"r","*","m10"],"+",[1,"g","*","m11"]],"+",[1,"b","*","m12"]]],[13,"newB",[1,[1,[1,"r","*","m20"],"+",[1,"g","*","m21"]],"+",[1,"b","*","m22"]]],[10,[6,"d.vec4f",["newR","newG","newB",[7,"color","w"]]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,SQRT3:()=>_a,"d.vec4f":()=>x}})&&e.f)({})),Y8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=f(t.x,t.y,t.z),o=se(r,f(.2126,.7152,.0722)),n=X(f(o,o,o),r,f(s));return x(n.x,n.y,n.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"intensity"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"luminance",[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"gray",[6,"d.vec3f",["luminance","luminance","luminance"]]],[13,"saturated",[6,"std.mix",["gray","rgb",[6,"d.vec3f",["intensity"]]]]],[10,[6,"d.vec4f",[[7,"saturated","x"],[7,"saturated","y"],[7,"saturated","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.dot":()=>se,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),L8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.x,o=t.y,n=t.z,i=__tsover_div(__tsover_add(__tsover_add(r,o),n),3),d=b(r,b(o,n)),c=__tsover_mul(__tsover_mul(__tsover_sub(d,i),s),-3),_=X(f(r,o,n),f(d,d,d),f(c));return x(_.x,_.y,_.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"adjustment"}],body:[0,[[13,"r",[7,"color","x"]],[13,"g",[7,"color","y"]],[13,"b",[7,"color","z"]],[13,"average",[1,[1,[1,"r","+","g"],"+","b"],"/",[5,"3"]]],[13,"mx",[6,"std.max",["r",[6,"std.max",["g","b"]]]]],[13,"amt",[1,[1,[1,"mx","-","average"],"*","adjustment"],"*",[4,"-",[5,"3"]]]],[13,"rgb",[6,"d.vec3f",["r","g","b"]]],[13,"vibrant",[6,"std.mix",["rgb",[6,"d.vec3f",["mx","mx","mx"]],[6,"d.vec3f",["amt"]]]]],[10,[6,"d.vec4f",[[7,"vibrant","x"],[7,"vibrant","y"],[7,"vibrant","z"],[7,"color","w"]]]]]]},externals:{"std.max":()=>b,"d.vec3f":()=>f,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),I8=v.fn([x,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(r,1),n=f(.5,.5,.5);return x(t.xyz.sub(n).mul(o).add(n).add(f(s,s,s)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"brightness"},{type:"i",name:"contrastRaw"}],body:[0,[[13,"contrast",[1,"contrastRaw","+",[5,"1"]]],[13,"half",[6,"d.vec3f",[[5,"0.5"],[5,"0.5"],[5,"0.5"]]]],[13,"contrasted",[6,[7,[6,[7,[6,[7,[7,"color","xyz"],"sub"],["half"]],"mul"],["contrast"]],"add"],["half"]]],[13,"result",[6,[7,"contrasted","add"],[[6,"d.vec3f",["brightness","brightness","brightness"]]]]],[10,[6,"d.vec4f",["result",[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),D8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.xyz.mul(s),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"gain"}],body:[0,[[13,"rgb",[6,[7,[7,"color","xyz"],"mul"],["gain"]]],[10,[6,"d.vec4f",["rgb",[7,"color","w"]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),F8=v.fn([x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=se(t.xyz,f(.2126,.7152,.0722));return x(s,s,s,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"luminance",[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[10,[6,"d.vec4f",["luminance","luminance","luminance",[7,"color","w"]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),B8=v.fn([x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return x(__tsover_sub(1,t.x),__tsover_sub(1,t.y),__tsover_sub(1,t.z),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,"d.vec4f",[[1,[5,"1"],"-",[7,"color","x"]],[1,[5,"1"],"-",[7,"color","y"]],[1,[5,"1"],"-",[7,"color","z"]],[7,"color","w"]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),W8=v.fn([x,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=f(t.x,t.y,t.z),n=se(o,f(.299,.587,.114)),i=X(o,C(o,f(__tsover_sub(1,t.x),__tsover_sub(1,t.y),__tsover_sub(1,t.z)),n>s),f(r));return x(i.x,i.y,i.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"threshold"},{type:"i",name:"strength"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"luminance",[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"inverted",[6,"d.vec3f",[[1,[5,"1"],"-",[7,"color","x"]],[1,[5,"1"],"-",[7,"color","y"]],[1,[5,"1"],"-",[7,"color","z"]]]]],[13,"solarized",[6,"std.select",["rgb","inverted",[1,"luminance",">","threshold"]]]],[13,"result",[6,"std.mix",["rgb","solarized",[6,"d.vec3f",["strength"]]]]],[10,[6,"d.vec4f",[[7,"result","x"],[7,"result","y"],[7,"result","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.dot":()=>se,"std.select":()=>C,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),O8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=$(s,a(2),a(20));return x(__tsover_div(q(__tsover_mul(t.x,r)),r),__tsover_div(q(__tsover_mul(t.y,r)),r),__tsover_div(q(__tsover_mul(t.z,r)),r),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"steps"}],body:[0,[[13,"s",[6,"std.clamp",["steps",[6,"d.f32",[[5,"2"]]],[6,"d.f32",[[5,"20"]]]]]],[13,"r",[1,[6,"std.floor",[[1,[7,"color","x"],"*","s"]]],"/","s"]],[13,"g",[1,[6,"std.floor",[[1,[7,"color","y"],"*","s"]]],"/","s"]],[13,"b",[1,[6,"std.floor",[[1,[7,"color","z"],"*","s"]]],"/","s"]],[10,[6,"d.vec4f",["r","g","b",[7,"color","w"]]]]]]},externals:{"std.clamp":()=>$,"d.f32":()=>a,"std.floor":()=>q,"d.vec4f":()=>x}})&&e.f)({})),V8=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=X(f(t.x,t.y,t.z),f(s.x,s.y,s.z),f(r));return x(o.x,o.y,o.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"tintColor"},{type:"i",name:"amount"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"tinted",[6,"std.mix",["rgb",[6,"d.vec3f",[[7,"tintColor","x"],[7,"tintColor","y"],[7,"tintColor","z"]]],[6,"d.vec3f",["amount"]]]]],[10,[6,"d.vec4f",[[7,"tinted","x"],[7,"tinted","y"],[7,"tinted","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),N8=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=f(t.x,t.y,t.z),n=X(o,f(s.x,s.y,s.z),f(r)),i=f(.299,.587,.114),d=se(o,i),c=se(n,i),_=n.mul(__tsover_div(d,b(c,1e-4)));return x(_.x,_.y,_.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"tintColor"},{type:"i",name:"amount"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"tinted",[6,"std.mix",["rgb",[6,"d.vec3f",[[7,"tintColor","x"],[7,"tintColor","y"],[7,"tintColor","z"]]],[6,"d.vec3f",["amount"]]]]],[13,"luminanceWeights",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]],[13,"originalLum",[6,"std.dot",["rgb","luminanceWeights"]]],[13,"tintedLum",[6,"std.dot",["tinted","luminanceWeights"]]],[13,"result",[6,[7,"tinted","mul"],[[1,"originalLum","/",[6,"std.max",["tintedLum",[5,"0.0001"]]]]]]],[10,[6,"d.vec4f",[[7,"result","x"],[7,"result","y"],[7,"result","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.mix":()=>X,"std.dot":()=>se,"std.max":()=>b,"d.vec4f":()=>x}})&&e.f)({})),q8=v.fn([x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(t.xyz,f(.299,.587,.114));return re(__tsover_sub(s,.5),__tsover_add(s,.5),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"blend"}],body:[0,[[13,"luminance",[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[10,[6,"std.smoothstep",[[1,"blend","-",[5,"0.5"]],[1,"blend","+",[5,"0.5"]],"luminance"]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.smoothstep":()=>re}})&&e.f)({})),X8=v.fn([x,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(t.xyz,f(.299,.587,.114));return f(re(__tsover_sub(s,.25),s,r),re(s,__tsover_add(s,.25),r),re(__tsover_sub(s,.1),__tsover_add(s,.1),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"blendMid"}],body:[0,[[13,"luminance",[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"shadowToMid",[6,"std.smoothstep",[[1,"blendMid","-",[5,"0.25"]],"blendMid","luminance"]]],[13,"midToHighlight",[6,"std.smoothstep",["blendMid",[1,"blendMid","+",[5,"0.25"]],"luminance"]]],[13,"finalT",[6,"std.smoothstep",[[1,"blendMid","-",[5,"0.1"]],[1,"blendMid","+",[5,"0.1"]],"luminance"]]],[10,[6,"d.vec3f",["shadowToMid","midToHighlight","finalT"]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.smoothstep":()=>re}})&&e.f)({})),H8=v.fn([x,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=se(t.xyz,f(.2126,.7152,.0722)),i=b(__tsover_sub(r,s),1e-4),d=$(__tsover_div(__tsover_sub(n,s),i),0,1);return d=$(__tsover_add(__tsover_mul(__tsover_sub(d,.5),o),.5),0,1),d}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"black"},{type:"i",name:"white"},{type:"i",name:"contrast"}],body:[0,[[13,"luma",[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"range",[6,"std.max",[[1,"white","-","black"],[5,"0.0001"]]]],[12,"t",[6,"std.clamp",[[1,[1,"luma","-","black"],"/","range"],[5,"0"],[5,"1"]]]],[2,"t","=",[6,"std.clamp",[[1,[1,[1,"t","-",[5,"0.5"]],"*","contrast"],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[10,"t"]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.max":()=>b,"std.clamp":()=>$}})&&e.f)({})),j8=v.fn([a,a,f,f,f,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=n.mul(t).add(i).add(f(s,s,s)).mul(T3);return $(r.add(o.mul(H(d))),f(0,0,0),f(1,1,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"phase"},{type:"i",name:"pa"},{type:"i",name:"pb"},{type:"i",name:"pc"},{type:"i",name:"pd"}],body:[0,[[13,"arg",[6,[7,[6,[7,[6,[7,[6,[7,"pc","mul"],["t"]],"add"],["pd"]],"add"],[[6,"d.vec3f",["phase","phase","phase"]]]],"mul"],["TWO_PI"]]],[13,"mapped",[6,[7,"pa","add"],[[6,[7,"pb","mul"],[[6,"std.cos",["arg"]]]]]]],[10,[6,"std.clamp",["mapped",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]]]]},externals:{"d.vec3f":()=>f,TWO_PI:()=>T3,"std.cos":()=>H,"std.clamp":()=>$}})&&e.f)({})),K8=v.fn([a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=ue(__tsover_add(t,s)),o=__tsover_mul(r,3);return l(ue(o),q(o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"phase"}],body:[0,[[13,"t01",[6,"std.fract",[[1,"t","+","phase"]]]],[13,"t3",[1,"t01","*",[5,"3"]]],[10,[6,"d.vec2f",[[6,"std.fract",["t3"]],[6,"std.floor",["t3"]]]]]]]},externals:{"std.fract":()=>ue,"d.vec2f":()=>l,"std.floor":()=>q}})&&e.f)({})),Z8=v.fn([x,x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return C(C(r,s,o<2),t,o<1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"seg0"},{type:"i",name:"seg1"},{type:"i",name:"seg2"},{type:"i",name:"i"}],body:[0,[[13,"upper",[6,"std.select",["seg2","seg1",[1,"i","<",[5,"2"]]]]],[10,[6,"std.select",["upper","seg0",[1,"i","<",[5,"1"]]]]]]]},externals:{"std.select":()=>C}})&&e.f)({})),Q8=v.fn([x,f,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return x(X(t.xyz,s,f(r,r,r)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"mapped"},{type:"i",name:"strength"}],body:[0,[[13,"outRgb",[6,"std.mix",[[7,"color","xyz"],"mapped",[6,"d.vec3f",["strength","strength","strength"]]]]],[10,[6,"d.vec4f",["outRgb",[7,"color","w"]]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),J8=v.fn([x,l,l,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ot(s.mul(r).add(l(i,__tsover_mul(i,1.6180339)))),c=__tsover_sub(__tsover_mul(d,2),1),_=$(se(t.xyz,f(.2126,.7152,.0722)),0,1),u=__tsover_sub(1,_),m=Ce(__tsover_add(u,1e-6),n),p=__tsover_mul(__tsover_mul(c,m),__tsover_mul(o,.1));return x(t.xyz.add(p),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"strength"},{type:"i",name:"bias"},{type:"i",name:"animTime"}],body:[0,[[13,"pixelCoord",[6,[7,"uv","mul"],["viewport"]]],[13,"noiseVal",[6,"hash12",[[6,[7,"pixelCoord","add"],[[6,"d.vec2f",["animTime",[1,"animTime","*",[5,"1.6180339"]]]]]]]]],[13,"grain",[1,[1,"noiseVal","*",[5,"2"]],"-",[5,"1"]]],[13,"brightness",[6,"std.clamp",[[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]],[5,"0"],[5,"1"]]]],[13,"darkness",[1,[5,"1"],"-","brightness"]],[13,"darkFactor",[6,"std.pow",[[1,"darkness","+",[5,"0.000001"]],"bias"]]],[13,"grainIntensity",[1,[1,"grain","*","darkFactor"],"*",[1,"strength","*",[5,"0.1"]]]],[13,"grainedColor",[6,[7,[7,"color","xyz"],"add"],["grainIntensity"]]],[10,[6,"d.vec4f",["grainedColor",[7,"color","w"]]]]]]},externals:{hash12:()=>Ot,"d.vec2f":()=>l,"std.clamp":()=>$,"std.dot":()=>se,"d.vec3f":()=>f,"std.pow":()=>Ce,"d.vec4f":()=>x}})&&e.f)({})),Jl=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ce(C(t,__tsover_sub(1,t),i>.5),n),c=__tsover_add(__tsover_mul(d,s),.5),_=b(Zt(c),1e-4),u=z(__tsover_sub(ue(__tsover_add(c,.5)),.5)),m=__tsover_div(u,_),p=__tsover_add(__tsover_mul(o,.99),.01),y=__tsover_mul(r,__tsover_sub(1,p));return __tsover_sub(1,re(y,r,m))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sourceValue"},{type:"i",name:"levels"},{type:"i",name:"lineWidth"},{type:"i",name:"softness"},{type:"i",name:"gamma"},{type:"i",name:"invert"}],body:[0,[[13,"invertedValue",[6,"std.select",["sourceValue",[1,[5,"1"],"-","sourceValue"],[1,"invert",">",[5,"0.5"]]]]],[13,"sv",[6,"std.pow",["invertedValue","gamma"]]],[13,"scaledValue",[1,[1,"sv","*","levels"],"+",[5,"0.5"]]],[13,"fw",[6,"std.max",[[6,"std.fwidth",["scaledValue"]],[5,"0.0001"]]]],[13,"distFromBoundary",[6,"std.abs",[[1,[6,"std.fract",[[1,"scaledValue","+",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"normalizedDist",[1,"distFromBoundary","/","fw"]],[13,"transitionFactor",[1,[1,"softness","*",[5,"0.99"]],"+",[5,"0.01"]]],[13,"innerEdge",[1,"lineWidth","*",[1,[5,"1"],"-","transitionFactor"]]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",["innerEdge","lineWidth","normalizedDist"]]]]]]},externals:{"std.select":()=>C,"std.pow":()=>Ce,"std.max":()=>b,"std.fwidth":()=>Zt,"std.abs":()=>z,"std.fract":()=>ue,"std.smoothstep":()=>re}})&&e.f)({})),eD=v.fn([x,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return Jl(Gg(t.xyz),s,r,o,n,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"levels"},{type:"i",name:"lineWidth"},{type:"i",name:"softness"},{type:"i",name:"gamma"},{type:"i",name:"invert"}],body:[0,[[10,[6,"contourLineMask",[[6,"luma709Dot",[[7,"color","xyz"]]],"levels","lineWidth","softness","gamma","invert"]]]]]},externals:{contourLineMask:()=>Jl,luma709Dot:()=>Gg}})&&e.f)({})),tD=v.fn([x,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return Jl(t.w,s,r,o,n,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"levels"},{type:"i",name:"lineWidth"},{type:"i",name:"softness"},{type:"i",name:"gamma"},{type:"i",name:"invert"}],body:[0,[[10,[6,"contourLineMask",[[7,"color","w"],"levels","lineWidth","softness","gamma","invert"]]]]]},externals:{contourLineMask:()=>Jl}})&&e.f)({})),sD=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=X(f(t.x,t.y,t.z),f(s.x,s.y,s.z),f(r)),n=X(t.w,s.w,r);return x(o.x,o.y,o.z,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"bg"},{type:"i",name:"line"},{type:"i",name:"mask"}],body:[0,[[13,"rgb",[6,"std.mix",[[6,"d.vec3f",[[7,"bg","x"],[7,"bg","y"],[7,"bg","z"]]],[6,"d.vec3f",[[7,"line","x"],[7,"line","y"],[7,"line","z"]]],[6,"d.vec3f",["mask"]]]]],[13,"alpha",[6,"std.mix",[[7,"bg","w"],[7,"line","w"],"mask"]]],[10,[6,"d.vec4f",[[7,"rgb","x"],[7,"rgb","y"],[7,"rgb","z"],"alpha"]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),Zn=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(__tsover_sub(ue(__tsover_mul(Y(__tsover_mul(t,12.9898)),43758.5453)),.5),2)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"}],body:[0,[[10,[1,[1,[6,"std.fract",[[1,[6,"std.sin",[[1,"x","*",[5,"12.9898"]]]],"*",[5,"43758.5453"]]]],"-",[5,"0.5"]],"*",[5,"2"]]]]]},externals:{"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),rD=v.fn([l,a,l,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(__tsover_mul(r.x,o),r.y),i=l(__tsover_mul(t.x,o),__tsover_sub(1,t.y)),d=n.sub(i),c=__tsover_mul(s,Le),_=l(H(c),Y(c)),u=l(__tsover_mul(_.y,-1),_.x),m=se(d,u),p=d.sub(u.mul(__tsover_mul(m,2))),y=i.add(p),h=l(__tsover_div(y.x,o),y.y),g=De(0,m);return f(h.x,h.y,g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"angle"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"lineDirection",[6,"d.vec2f",[[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]]],[13,"lineNormal",[6,"d.vec2f",[[1,[7,"lineDirection","y"],"*",[4,"-",[5,"1"]]],[7,"lineDirection","x"]]]],[13,"signedDistance",[6,"std.dot",["delta","lineNormal"]]],[13,"reflectedDelta",[6,[7,"delta","sub"],[[6,[7,"lineNormal","mul"],[[1,"signedDistance","*",[5,"2"]]]]]]],[13,"mirroredUV",[6,[7,"centerPos","add"],["reflectedDelta"]]],[13,"finalMirroredUV",[6,"d.vec2f",[[1,[7,"mirroredUV","x"],"/","aspect"],[7,"mirroredUV","y"]]]],[13,"shouldMirror",[6,"std.step",[[5,"0"],"signedDistance"]]],[10,[6,"d.vec3f",[[7,"finalMirroredUV","x"],[7,"finalMirroredUV","y"],"shouldMirror"]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.step":()=>De,"d.vec3f":()=>f}})&&e.f)({})),oD=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(C(t.x,__tsover_sub(1,t.x),s>0),C(t.y,__tsover_sub(1,t.y),r>0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"flipX"},{type:"i",name:"flipY"}],body:[0,[[13,"x",[6,"std.select",[[7,"uv","x"],[1,[5,"1"],"-",[7,"uv","x"]],[1,"flipX",">",[5,"0"]]]]],[13,"y",[6,"std.select",[[7,"uv","y"],[1,[5,"1"],"-",[7,"uv","y"]],[1,"flipY",">",[5,"0"]]]]],[10,[6,"d.vec2f",["x","y"]]]]]},externals:{"std.select":()=>C,"d.vec2f":()=>l}})&&e.f)({})),$a=2,S3=1.2,nD=v.fn([a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,Le),d=l(H(i),Y(i)),c=l(__tsover_mul(d.y,-1),d.x),_=l(__tsover_mul(__tsover_sub(o.x,.5),n),__tsover_sub(o.y,.5)),u=se(_,d),m=se(_,c),p=b(__tsover_mul(__tsover_add(__tsover_mul(z(d.x),n),z(d.y)),.5),.001),y=__tsover_div(u,p),h=__tsover_mul(t,S3),g=__tsover_mul($(s,0,1),.9),w=__tsover_sub(1,g),S=z(y),T=C(a(-1),a(1),y>=0),A=__tsover_mul(h,S),P=__tsover_add(__tsover_mul(__tsover_mul(__tsover_mul($a,$a),w),w),__tsover_mul(__tsover_mul(__tsover_mul(4,A),$a),__tsover_sub(S,g))),U=z(A)<1e-5,D=C(__tsover_mul(A,2),a(1),U),O=C(__tsover_div(__tsover_sub(be(b(P,0)),__tsover_mul($a,w)),D),__tsover_div(__tsover_sub(S,g),w),U),L=C(a(6),b(O,0),P>=0),G=__tsover_mul(T,__tsover_add(g,__tsover_mul(L,w))),W=S<=g,K=C(G,y,W),Q=C(__tsover_mul(__tsover_mul(h,L),L),a(0),W),te=__tsover_div(__tsover_mul(m,__tsover_sub($a,Q)),$a),ee=d.mul(__tsover_mul(K,p)).add(c.mul(te));return l(__tsover_add(__tsover_div(ee.x,n),.5),__tsover_add(ee.y,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"strength"},{type:"i",name:"falloff"},{type:"i",name:"angle"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"dir",[6,"d.vec2f",[[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]]],[13,"perp",[6,"d.vec2f",[[1,[7,"dir","y"],"*",[4,"-",[5,"1"]]],[7,"dir","x"]]]],[13,"p",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],[1,[7,"uv","y"],"-",[5,"0.5"]]]]],[13,"sScreen",[6,"std.dot",["p","dir"]]],[13,"tScreen",[6,"std.dot",["p","perp"]]],[13,"sHalf",[6,"std.max",[[1,[1,[1,[6,"std.abs",[[7,"dir","x"]]],"*","aspect"],"+",[6,"std.abs",[[7,"dir","y"]]]],"*",[5,"0.5"]],[5,"0.001"]]]],[13,"snScreen",[1,"sScreen","/","sHalf"]],[13,"b",[1,"strength","*","B_MAX"]],[13,"f",[1,[6,"std.clamp",["falloff",[5,"0"],[5,"1"]]],"*",[5,"0.9"]]],[13,"fSpan",[1,[5,"1"],"-","f"]],[13,"m",[6,"std.abs",["snScreen"]]],[13,"sig",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"d.f32",[[5,"1"]]],[1,"snScreen",">=",[5,"0"]]]]],[13,"a2",[1,"b","*","m"]],[13,"disc",[1,[1,[1,[1,"CAMERA_D","*","CAMERA_D"],"*","fSpan"],"*","fSpan"],"+",[1,[1,[1,[5,"4"],"*","a2"],"*","CAMERA_D"],"*",[1,"m","-","f"]]]],[13,"nearZero",[1,[6,"std.abs",["a2"]],"<",[5,"0.00001"]]],[13,"denom",[6,"std.select",[[1,"a2","*",[5,"2"]],[6,"d.f32",[[5,"1"]]],"nearZero"]]],[13,"uQuad",[1,[1,[6,"std.sqrt",[[6,"std.max",["disc",[5,"0"]]]]],"-",[1,"CAMERA_D","*","fSpan"]],"/","denom"]],[13,"uOn",[6,"std.select",["uQuad",[1,[1,"m","-","f"],"/","fSpan"],"nearZero"]]],[13,"u",[6,"std.select",[[6,"d.f32",[[5,"6"]]],[6,"std.max",["uOn",[5,"0"]]],[1,"disc",">=",[5,"0"]]]]],[13,"snBend",[1,"sig","*",[1,"f","+",[1,"u","*","fSpan"]]]],[13,"inFlat",[1,"m","<=","f"]],[13,"sn",[6,"std.select",["snBend","snScreen","inFlat"]]],[13,"z",[6,"std.select",[[1,[1,"b","*","u"],"*","u"],[6,"d.f32",[[5,"0"]]],"inFlat"]]],[13,"tSrc",[1,[1,"tScreen","*",[1,"CAMERA_D","-","z"]],"/","CAMERA_D"]],[13,"srcP",[6,[7,[6,[7,"dir","mul"],[[1,"sn","*","sHalf"]]],"add"],[[6,[7,"perp","mul"],["tSrc"]]]]],[10,[6,"d.vec2f",[[1,[1,[7,"srcP","x"],"/","aspect"],"+",[5,"0.5"]],[1,[7,"srcP","y"],"+",[5,"0.5"]]]]]]]},externals:{DEG_TO_RAD:()=>Le,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.max":()=>b,"std.abs":()=>z,B_MAX:()=>S3,"std.clamp":()=>$,"std.select":()=>C,"d.f32":()=>a,CAMERA_D:()=>$a,"std.sqrt":()=>be}})&&e.f)({})),aD=v.fn([l,a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(n.x,i),n.y),c=l(__tsover_mul(t.x,i),__tsover_sub(1,t.y)),_=d.sub(c),u=j(_),m=__tsover_mul(r,.5),p=__tsover_mul(m,b(__tsover_sub(__tsover_sub(1,o),.001),0)),y=__tsover_sub(1,re(p,m,u)),h=__tsover_div(u,m),g=__tsover_mul(h,h),w=b(0,__tsover_sub(1,g)),S=__tsover_mul(y,w),T=__tsover_mul(s,-1),A=__tsover_mul(T,S),P=__tsover_add(1,A),U=_.mul(P),D=c.add(U);return l(__tsover_div(D.x,i),D.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"strength"},{type:"i",name:"radius"},{type:"i",name:"falloff"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"distance",[6,"std.length",["delta"]]],[13,"effectRadius",[1,"radius","*",[5,"0.5"]]],[13,"innerRadius",[1,"effectRadius","*",[6,"std.max",[[1,[1,[5,"1"],"-","falloff"],"-",[5,"0.001"]],[5,"0"]]]]],[13,"smoothFalloff",[1,[5,"1"],"-",[6,"std.smoothstep",["innerRadius","effectRadius","distance"]]]],[13,"normalizedDist",[1,"distance","/","effectRadius"]],[13,"distSq",[1,"normalizedDist","*","normalizedDist"]],[13,"quadraticFalloff",[6,"std.max",[[5,"0"],[1,[5,"1"],"-","distSq"]]]],[13,"falloffTotal",[1,"smoothFalloff","*","quadraticFalloff"]],[13,"negStrength",[1,"strength","*",[4,"-",[5,"1"]]]],[13,"displacementAmount",[1,"negStrength","*","falloffTotal"]],[13,"scaleFactor",[1,[5,"1"],"+","displacementAmount"]],[13,"bulgedDelta",[6,[7,"delta","mul"],["scaleFactor"]]],[13,"bulgedUV",[6,[7,"centerPos","add"],["bulgedDelta"]]],[10,[6,"d.vec2f",[[1,[7,"bulgedUV","x"],"/","aspect"],[7,"bulgedUV","y"]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.max":()=>b,"std.smoothstep":()=>re}})&&e.f)({})),iD=v.fn([l,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(t.x,__tsover_sub(1,t.y)),i=r.sub(n),d=l(__tsover_mul(i.x,o),i.y),c=__tsover_mul(s,j(d)),_=H(c),u=Y(c),m=__tsover_sub(__tsover_mul(_,d.x),__tsover_mul(u,d.y)),p=__tsover_add(__tsover_mul(u,d.x),__tsover_mul(_,d.y));return l(__tsover_add(__tsover_div(m,o),n.x),__tsover_add(p,n.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"intensity"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"uv","sub"],["centerPos"]]],[13,"acd",[6,"d.vec2f",[[1,[7,"delta","x"],"*","aspect"],[7,"delta","y"]]]],[13,"angle",[1,"intensity","*",[6,"std.length",["acd"]]]],[13,"cosA",[6,"std.cos",["angle"]]],[13,"sinA",[6,"std.sin",["angle"]]],[13,"rotatedX",[1,[1,"cosA","*",[7,"acd","x"]],"-",[1,"sinA","*",[7,"acd","y"]]]],[13,"rotatedY",[1,[1,"sinA","*",[7,"acd","x"]],"+",[1,"cosA","*",[7,"acd","y"]]]],[10,[6,"d.vec2f",[[1,[1,"rotatedX","/","aspect"],"+",[7,"centerPos","x"]],[1,"rotatedY","+",[7,"centerPos","y"]]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),dD=v.fn([l,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(o.x,n),o.y),d=l(__tsover_mul(t.x,n),__tsover_sub(1,t.y)),c=i.sub(d),_=j(c),u=tt(c.y,c.x),m=__tsover_add(u,__tsover_mul(r,Le)),p=__tsover_div(it,s),y=__tsover_mul(p,2),h=__tsover_sub(m,__tsover_mul(y,q(__tsover_div(m,y)))),g=C(h,__tsover_sub(y,h),h>p),w=__tsover_mul(H(g),_),S=__tsover_mul(Y(g),_),T=d.add(l(w,S));return l(__tsover_div(T.x,n),T.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"segments"},{type:"i",name:"angle"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"radius",[6,"std.length",["delta"]]],[13,"currentAngle",[6,"std.atan2",[[7,"delta","y"],[7,"delta","x"]]]],[13,"rotatedAngle",[1,"currentAngle","+",[1,"angle","*","DEG_TO_RAD"]]],[13,"segmentAngle",[1,"TAU","/","segments"]],[13,"segTwo",[1,"segmentAngle","*",[5,"2"]]],[13,"wrappedAngle",[1,"rotatedAngle","-",[1,"segTwo","*",[6,"std.floor",[[1,"rotatedAngle","/","segTwo"]]]]]],[13,"finalAngle",[6,"std.select",["wrappedAngle",[1,"segTwo","-","wrappedAngle"],[1,"wrappedAngle",">","segmentAngle"]]]],[13,"kaleidoscopeX",[1,[6,"std.cos",["finalAngle"]],"*","radius"]],[13,"kaleidoscopeY",[1,[6,"std.sin",["finalAngle"]],"*","radius"]],[13,"kaleidoscopePos",[6,[7,"centerPos","add"],[[6,"d.vec2f",["kaleidoscopeX","kaleidoscopeY"]]]]],[10,[6,"d.vec2f",[[1,[7,"kaleidoscopePos","x"],"/","aspect"],[7,"kaleidoscopePos","y"]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.atan2":()=>tt,DEG_TO_RAD:()=>Le,TAU:()=>it,"std.floor":()=>q,"std.select":()=>C,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),cD=v.fn([l,a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(n.x,i),n.y),c=l(__tsover_mul(t.x,i),__tsover_sub(1,t.y)),_=d.sub(c),u=__tsover_mul(r,Le),m=l(H(u),Y(u)),p=se(_,m),y=m.mul(p),h=_.sub(y),g=X(.001,75,o),w=$(__tsover_div(p,g),0,1),S=__tsover_mul(s,100),T=__tsover_add(1,__tsover_mul(S,w)),A=__tsover_div(p,T),P=m.mul(A).add(h),U=c.add(P);return l(__tsover_div(U.x,i),U.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"strength"},{type:"i",name:"angle"},{type:"i",name:"falloff"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"directionVector",[6,"d.vec2f",[[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]]],[13,"projection",[6,"std.dot",["delta","directionVector"]]],[13,"parallel",[6,[7,"directionVector","mul"],["projection"]]],[13,"perpendicular",[6,[7,"delta","sub"],["parallel"]]],[13,"transitionWidth",[6,"std.mix",[[5,"0.001"],[5,"75"],"falloff"]]],[13,"effectMask",[6,"std.clamp",[[1,"projection","/","transitionWidth"],[5,"0"],[5,"1"]]]],[13,"scaledStrength",[1,"strength","*",[5,"100"]]],[13,"stretchFactor",[1,[5,"1"],"+",[1,"scaledStrength","*","effectMask"]]],[13,"finalProjection",[1,"projection","/","stretchFactor"]],[13,"finalParallel",[6,[7,"directionVector","mul"],["finalProjection"]]],[13,"stretchedDelta",[6,[7,"finalParallel","add"],["perpendicular"]]],[13,"stretchedUV",[6,[7,"centerPos","add"],["stretchedDelta"]]],[10,[6,"d.vec2f",[[1,[7,"stretchedUV","x"],"/","aspect"],[7,"stretchedUV","y"]]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.mix":()=>X,"std.clamp":()=>$}})&&e.f)({})),cn=v.fn([l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=t.sub(l(.5,.5)),d=l(__tsover_mul(i.x,s),i.y),c=__tsover_mul(r,Le),_=H(c),u=Y(c),m=__tsover_add(__tsover_mul(d.x,u),__tsover_mul(d.y,_));return __tsover_add(__tsover_mul(__tsover_mul(__tsover_add(m,.5),o),it),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"t"}],body:[0,[[13,"centeredUV",[6,[7,"uv","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"centeredUV","x"],"*","aspect"],[7,"centeredUV","y"]]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"rotatedY",[1,[1,[7,"aspectCorrectedUV","x"],"*","sinA"],"+",[1,[7,"aspectCorrectedUV","y"],"*","cosA"]]],[10,[1,[1,[1,[1,"rotatedY","+",[5,"0.5"]],"*","frequency"],"*","TAU"],"+","t"]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,TAU:()=>it}})&&e.f)({})),_n=v.fn([l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,Le),d=H(i),c=Y(i),_=__tsover_mul(__tsover_mul(n,o),.5),u=__tsover_div(__tsover_mul(_,d),s),m=__tsover_mul(_,c);return l(__tsover_add(t.x,u),__tsover_add(t.y,m))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"strength"},{type:"i",name:"wave"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"displacement",[1,[1,"wave","*","strength"],"*",[5,"0.5"]]],[13,"displacementX",[1,[1,"displacement","*","cosA"],"/","aspect"]],[13,"displacementY",[1,"displacement","*","sinA"]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+","displacementX"],[1,[7,"uv","y"],"+","displacementY"]]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),A3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Y(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[10,[6,"std.sin",["phase"]]]]]},externals:{"std.sin":()=>Y}})&&e.f)({})),M3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ue(__tsover_div(t,it));return __tsover_sub(__tsover_mul(z(__tsover_sub(__tsover_mul(s,2),1)),2),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[13,"normalizedPhase",[6,"std.fract",[[1,"phase","/","TAU"]]]],[10,[1,[1,[6,"std.abs",[[1,[1,"normalizedPhase","*",[5,"2"]],"-",[5,"1"]]]],"*",[5,"2"]],"-",[5,"1"]]]]]},externals:{"std.fract":()=>ue,TAU:()=>it,"std.abs":()=>z}})&&e.f)({})),P3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ue(__tsover_div(t,it));return __tsover_sub(__tsover_mul(De(.5,s),2),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[13,"normalizedPhase",[6,"std.fract",[[1,"phase","/","TAU"]]]],[10,[1,[1,[6,"std.step",[[5,"0.5"],"normalizedPhase"]],"*",[5,"2"]],"-",[5,"1"]]]]]},externals:{"std.fract":()=>ue,TAU:()=>it,"std.step":()=>De}})&&e.f)({})),E3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ue(__tsover_div(t,it));return __tsover_sub(__tsover_mul(s,2),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[13,"normalizedPhase",[6,"std.fract",[[1,"phase","/","TAU"]]]],[10,[1,[1,"normalizedPhase","*",[5,"2"]],"-",[5,"1"]]]]]},externals:{"std.fract":()=>ue,TAU:()=>it}})&&e.f)({})),k3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return z(Y(t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[10,[6,"std.abs",[[6,"std.sin",["phase"]]]]]]]},externals:{"std.abs":()=>z,"std.sin":()=>Y}})&&e.f)({})),_D=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,A3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformSine",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformSine:()=>A3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),lD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,M3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformTriangle",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformTriangle:()=>M3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),uD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,P3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformSquare",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformSquare:()=>P3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),mD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,E3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformSawtooth",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformSawtooth:()=>E3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),pD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,k3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformBounce",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformBounce:()=>k3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),fD=v.fn([l,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(o.x,n),o.y),d=l(__tsover_mul(t.x,n),__tsover_sub(1,t.y)),c=i.sub(d),_=tt(c.y,c.x),u=__tsover_div(__tsover_add(_,Xr),it),m=j(c);return l(__tsover_mul(u,s),__tsover_mul(m,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"wrap"},{type:"i",name:"radius"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"theta",[6,"std.atan2",[[7,"delta","y"],[7,"delta","x"]]]],[13,"normalizedAngle",[1,[1,"theta","+","PI"],"/","TAU"]],[13,"r",[6,"std.length",["delta"]]],[13,"u",[1,"normalizedAngle","*","wrap"]],[13,"v",[1,"r","*","radius"]],[10,[6,"d.vec2f",["u","v"]]]]]},externals:{"d.vec2f":()=>l,"std.atan2":()=>tt,PI:()=>Xr,TAU:()=>it,"std.length":()=>j}})&&e.f)({})),vD=v.fn([l,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(__tsover_mul(r.x,it),Xr),i=__tsover_mul(r.y,s),d=__tsover_mul(i,H(n)),c=__tsover_mul(i,Y(n)),_=l(t.x,__tsover_sub(1,t.y));return l(__tsover_add(__tsover_div(d,o),_.x),__tsover_add(c,_.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"scale"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"theta",[1,[1,[7,"uv","x"],"*","TAU"],"-","PI"]],[13,"r",[1,[7,"uv","y"],"*","scale"]],[13,"rectX",[1,"r","*",[6,"std.cos",["theta"]]]],[13,"rectY",[1,"r","*",[6,"std.sin",["theta"]]]],[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[10,[6,"d.vec2f",[[1,[1,"rectX","/","aspect"],"+",[7,"centerPos","x"]],[1,"rectY","+",[7,"centerPos","y"]]]]]]]},externals:{TAU:()=>it,PI:()=>Xr,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),Yi=1e-8,Od=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_div(t,C(s,Yi,z(s)C,EPS:()=>Yi,"std.abs":()=>z}})&&e.f)({})),ki=v.fn([l,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(r.x,s.x),n=__tsover_sub(r.y,s.y),i=__tsover_sub(t.x,s.x),d=__tsover_sub(t.y,s.y);return __tsover_sub(__tsover_mul(o,d),__tsover_mul(n,i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"}],body:[0,[[13,"bax",[1,[7,"b","x"],"-",[7,"a","x"]]],[13,"bay",[1,[7,"b","y"],"-",[7,"a","y"]]],[13,"pax",[1,[7,"p","x"],"-",[7,"a","x"]]],[13,"pay",[1,[7,"p","y"],"-",[7,"a","y"]]],[10,[1,[1,"bax","*","pay"],"-",[1,"bay","*","pax"]]]]]},externals:{}})&&e.f)({})),$3=v.fn([l,l,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=ki(t,s,r),i=ki(t,r,o),d=ki(t,o,s),c=__tsover_mul(__tsover_mul(De(a(0),n),De(a(0),i)),De(a(0),d)),_=__tsover_mul(__tsover_mul(De(n,a(0)),De(i,a(0))),De(d,a(0)));return __tsover_add(c,_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"c"}],body:[0,[[13,"d1",[6,"cornerSideOf",["p","a","b"]]],[13,"d2",[6,"cornerSideOf",["p","b","c"]]],[13,"d3",[6,"cornerSideOf",["p","c","a"]]],[13,"allPos",[1,[1,[6,"std.step",[[6,"d.f32",[[5,"0"]]],"d1"]],"*",[6,"std.step",[[6,"d.f32",[[5,"0"]]],"d2"]]],"*",[6,"std.step",[[6,"d.f32",[[5,"0"]]],"d3"]]]],[13,"allNeg",[1,[1,[6,"std.step",["d1",[6,"d.f32",[[5,"0"]]]]],"*",[6,"std.step",["d2",[6,"d.f32",[[5,"0"]]]]]],"*",[6,"std.step",["d3",[6,"d.f32",[[5,"0"]]]]]]],[10,[1,"allPos","+","allNeg"]]]]},externals:{cornerSideOf:()=>ki,"std.step":()=>De,"d.f32":()=>a}})&&e.f)({})),U3=v.fn([l,l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=r.sub(s),i=$(__tsover_div(se(t.sub(s),n),b(se(n,n),Yi)),0,1),d=s.add(n.mul(i)),c=l(__tsover_mul(n.y,-1),n.x).div(b(j(n),Yi)),_=__tsover_mul(__tsover_mul(ks(o),-1),.004);return d.add(c.mul(_))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"refSide"}],body:[0,[[13,"ab",[6,[7,"b","sub"],["a"]]],[13,"t",[6,"std.clamp",[[1,[6,"std.dot",[[6,[7,"p","sub"],["a"]],"ab"]],"/",[6,"std.max",[[6,"std.dot",["ab","ab"]],"EPS"]]],[5,"0"],[5,"1"]]]],[13,"foot",[6,[7,"a","add"],[[6,[7,"ab","mul"],["t"]]]]],[13,"perp",[6,[7,[6,"d.vec2f",[[1,[7,"ab","y"],"*",[4,"-",[5,"1"]]],[7,"ab","x"]]],"div"],[[6,"std.max",[[6,"std.length",["ab"]],"EPS"]]]]],[13,"nudge",[1,[1,[6,"std.sign",["refSide"]],"*",[4,"-",[5,"1"]]],"*",[5,"0.004"]]],[10,[6,[7,"foot","add"],[[6,[7,"perp","mul"],["nudge"]]]]]]]},externals:{"std.clamp":()=>$,"std.dot":()=>se,"std.max":()=>b,EPS:()=>Yi,"d.vec2f":()=>l,"std.length":()=>j,"std.sign":()=>ks}})&&e.f)({})),Vd=v.fn([l,l,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=$3(t,s,r,o)>.5;return C(t,U3(t,s,r,ki(o,s,r)),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"o"}],body:[0,[[13,"inside",[1,[6,"cornerInsideTri",["p","a","b","o"]],">",[5,"0.5"]]],[13,"proj",[6,"cornerProjectToDiagonal",["p","a","b",[6,"cornerSideOf",["o","a","b"]]]]],[10,[6,"std.select",["p","proj","inside"]]]]]},externals:{cornerInsideTri:()=>$3,cornerProjectToDiagonal:()=>U3,cornerSideOf:()=>ki,"std.select":()=>C}})&&e.f)({})),yD=v.fn([l,a,l,l,l,l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(s,s),c=X(l(0,0),l(r.x,__tsover_sub(1,r.y)),d),_=X(l(1,0),l(o.x,__tsover_sub(1,o.y)),d),u=X(l(1,1),l(n.x,__tsover_sub(1,n.y)),d),m=X(l(0,1),l(i.x,__tsover_sub(1,i.y)),d),p=Vd(c,_,m,u),y=Vd(_,c,u,m),h=Vd(u,_,m,c),g=Vd(m,c,u,_),w=__tsover_sub(y.x,h.x),S=__tsover_sub(g.x,h.x),T=__tsover_sub(__tsover_add(__tsover_sub(p.x,y.x),h.x),g.x),A=__tsover_sub(y.y,h.y),P=__tsover_sub(g.y,h.y),U=__tsover_sub(__tsover_add(__tsover_sub(p.y,y.y),h.y),g.y),D=__tsover_sub(__tsover_mul(w,P),__tsover_mul(S,A)),O=Od(__tsover_sub(__tsover_mul(T,P),__tsover_mul(S,U)),D),L=Od(__tsover_sub(__tsover_mul(w,U),__tsover_mul(T,A)),D),G=__tsover_add(__tsover_sub(y.x,p.x),__tsover_mul(O,y.x)),W=__tsover_add(__tsover_sub(g.x,p.x),__tsover_mul(L,g.x)),K=p.x,Q=__tsover_add(__tsover_sub(y.y,p.y),__tsover_mul(O,y.y)),te=__tsover_add(__tsover_sub(g.y,p.y),__tsover_mul(L,g.y)),ee=p.y,he=__tsover_sub(te,__tsover_mul(ee,L)),Ee=__tsover_mul(__tsover_sub(W,__tsover_mul(K,L)),-1),Te=__tsover_sub(__tsover_mul(W,ee),__tsover_mul(K,te)),Ue=__tsover_mul(__tsover_sub(Q,__tsover_mul(ee,O)),-1),Me=__tsover_sub(G,__tsover_mul(K,O)),Pe=__tsover_mul(__tsover_sub(__tsover_mul(G,ee),__tsover_mul(K,Q)),-1),Re=__tsover_sub(__tsover_mul(Q,L),__tsover_mul(te,O)),de=__tsover_mul(__tsover_sub(__tsover_mul(G,L),__tsover_mul(W,O)),-1),je=__tsover_sub(__tsover_mul(G,te),__tsover_mul(W,Q)),fe=t.x,Ke=t.y,Ze=__tsover_add(__tsover_add(__tsover_mul(Re,fe),__tsover_mul(de,Ke)),je),at=Od(__tsover_add(__tsover_add(__tsover_mul(he,fe),__tsover_mul(Ee,Ke)),Te),Ze),Fe=Od(__tsover_add(__tsover_add(__tsover_mul(Ue,fe),__tsover_mul(Me,Ke)),Pe),Ze),Ie=__tsover_add(__tsover_add(__tsover_mul(G,he),__tsover_mul(W,Ue)),__tsover_mul(K,Re));return f(at,Fe,De(a(0),__tsover_mul(Ze,Ie)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"},{type:"i",name:"amount"},{type:"i",name:"c0"},{type:"i",name:"c1"},{type:"i",name:"c2"},{type:"i",name:"c3"}],body:[0,[[13,"amt",[6,"d.vec2f",["amount","amount"]]],[13,"r0",[6,"std.mix",[[6,"d.vec2f",[[5,"0"],[5,"0"]]],[6,"d.vec2f",[[7,"c0","x"],[1,[5,"1"],"-",[7,"c0","y"]]]],"amt"]]],[13,"r1",[6,"std.mix",[[6,"d.vec2f",[[5,"1"],[5,"0"]]],[6,"d.vec2f",[[7,"c1","x"],[1,[5,"1"],"-",[7,"c1","y"]]]],"amt"]]],[13,"r2",[6,"std.mix",[[6,"d.vec2f",[[5,"1"],[5,"1"]]],[6,"d.vec2f",[[7,"c2","x"],[1,[5,"1"],"-",[7,"c2","y"]]]],"amt"]]],[13,"r3",[6,"std.mix",[[6,"d.vec2f",[[5,"0"],[5,"1"]]],[6,"d.vec2f",[[7,"c3","x"],[1,[5,"1"],"-",[7,"c3","y"]]]],"amt"]]],[13,"q0",[6,"cornerConvexify",["r0","r1","r3","r2"]]],[13,"q1",[6,"cornerConvexify",["r1","r0","r2","r3"]]],[13,"q2",[6,"cornerConvexify",["r2","r1","r3","r0"]]],[13,"q3",[6,"cornerConvexify",["r3","r0","r2","r1"]]],[13,"dx1",[1,[7,"q1","x"],"-",[7,"q2","x"]]],[13,"dx2",[1,[7,"q3","x"],"-",[7,"q2","x"]]],[13,"dx3",[1,[1,[1,[7,"q0","x"],"-",[7,"q1","x"]],"+",[7,"q2","x"]],"-",[7,"q3","x"]]],[13,"dy1",[1,[7,"q1","y"],"-",[7,"q2","y"]]],[13,"dy2",[1,[7,"q3","y"],"-",[7,"q2","y"]]],[13,"dy3",[1,[1,[1,[7,"q0","y"],"-",[7,"q1","y"]],"+",[7,"q2","y"]],"-",[7,"q3","y"]]],[13,"denA",[1,[1,"dx1","*","dy2"],"-",[1,"dx2","*","dy1"]]],[13,"a13",[6,"cornerPinSafeDiv",[[1,[1,"dx3","*","dy2"],"-",[1,"dx2","*","dy3"]],"denA"]]],[13,"a23",[6,"cornerPinSafeDiv",[[1,[1,"dx1","*","dy3"],"-",[1,"dx3","*","dy1"]],"denA"]]],[13,"a11",[1,[1,[7,"q1","x"],"-",[7,"q0","x"]],"+",[1,"a13","*",[7,"q1","x"]]]],[13,"a21",[1,[1,[7,"q3","x"],"-",[7,"q0","x"]],"+",[1,"a23","*",[7,"q3","x"]]]],[13,"a31",[7,"q0","x"]],[13,"a12",[1,[1,[7,"q1","y"],"-",[7,"q0","y"]],"+",[1,"a13","*",[7,"q1","y"]]]],[13,"a22",[1,[1,[7,"q3","y"],"-",[7,"q0","y"]],"+",[1,"a23","*",[7,"q3","y"]]]],[13,"a32",[7,"q0","y"]],[13,"c00",[1,"a22","-",[1,"a32","*","a23"]]],[13,"c10",[1,[1,"a21","-",[1,"a31","*","a23"]],"*",[4,"-",[5,"1"]]]],[13,"c20",[1,[1,"a21","*","a32"],"-",[1,"a31","*","a22"]]],[13,"c01",[1,[1,"a12","-",[1,"a32","*","a13"]],"*",[4,"-",[5,"1"]]]],[13,"c11",[1,"a11","-",[1,"a31","*","a13"]]],[13,"c21",[1,[1,[1,"a11","*","a32"],"-",[1,"a31","*","a12"]],"*",[4,"-",[5,"1"]]]],[13,"c02",[1,[1,"a12","*","a23"],"-",[1,"a22","*","a13"]]],[13,"c12",[1,[1,[1,"a11","*","a23"],"-",[1,"a21","*","a13"]],"*",[4,"-",[5,"1"]]]],[13,"c22",[1,[1,"a11","*","a22"],"-",[1,"a21","*","a12"]]],[13,"px",[7,"coord","x"]],[13,"py",[7,"coord","y"]],[13,"den",[1,[1,[1,"c02","*","px"],"+",[1,"c12","*","py"]],"+","c22"]],[13,"su",[6,"cornerPinSafeDiv",[[1,[1,[1,"c00","*","px"],"+",[1,"c10","*","py"]],"+","c20"],"den"]]],[13,"sv",[6,"cornerPinSafeDiv",[[1,[1,[1,"c01","*","px"],"+",[1,"c11","*","py"]],"+","c21"],"den"]]],[13,"det",[1,[1,[1,"a11","*","c00"],"+",[1,"a21","*","c01"]],"+",[1,"a31","*","c02"]]],[13,"front",[6,"std.step",[[6,"d.f32",[[5,"0"]]],[1,"den","*","det"]]]],[10,[6,"d.vec3f",["su","sv","front"]]]]]},externals:{"d.vec2f":()=>l,"std.mix":()=>X,cornerConvexify:()=>Vd,cornerPinSafeDiv:()=>Od,"std.step":()=>De,"d.f32":()=>a,"d.vec3f":()=>f}})&&e.f)({})),hD=v.fn([l,a,a,a,a,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=l(t.x,__tsover_sub(1,t.y)),_=__tsover_div(__tsover_sub(d.x,c.x),n),u=__tsover_div(__tsover_sub(d.y,c.y),n),m=__tsover_mul(s,Le),p=__tsover_mul(r,Le),y=__tsover_mul(o,Le),h=H(m),g=Y(m),w=H(p),S=Y(p),T=__tsover_mul(bp(__tsover_mul(y,.5)),2),A=b(__tsover_add(h,__tsover_mul(__tsover_mul(g,_),T)),.001),P=__tsover_div(_,A),U=__tsover_div(__tsover_mul(u,h),A),D=b(__tsover_add(w,__tsover_mul(__tsover_mul(S,U),T)),.001),O=__tsover_div(__tsover_mul(P,w),D),L=__tsover_div(U,D),G=l(i.x,__tsover_sub(1,i.y));return l(O,L).add(c).sub(G).add(l(.5,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"pan"},{type:"i",name:"tilt"},{type:"i",name:"fov"},{type:"i",name:"zoom"},{type:"i",name:"offset"},{type:"i",name:"uv"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"x",[1,[1,[7,"uv","x"],"-",[7,"centerPos","x"]],"/","zoom"]],[13,"y",[1,[1,[7,"uv","y"],"-",[7,"centerPos","y"]],"/","zoom"]],[13,"panRad",[1,"pan","*","DEG_TO_RAD"]],[13,"tiltRad",[1,"tilt","*","DEG_TO_RAD"]],[13,"fovRad",[1,"fov","*","DEG_TO_RAD"]],[13,"cosPan",[6,"std.cos",["panRad"]]],[13,"sinPan",[6,"std.sin",["panRad"]]],[13,"cosTilt",[6,"std.cos",["tiltRad"]]],[13,"sinTilt",[6,"std.sin",["tiltRad"]]],[13,"perspectiveFactor",[1,[6,"std.tan",[[1,"fovRad","*",[5,"0.5"]]]],"*",[5,"2"]]],[13,"panDivisor",[1,"cosPan","+",[1,[1,"sinPan","*","x"],"*","perspectiveFactor"]]],[13,"safePanDivisor",[6,"std.max",["panDivisor",[5,"0.001"]]]],[13,"afterPanX",[1,"x","/","safePanDivisor"]],[13,"afterPanY",[1,[1,"y","*","cosPan"],"/","safePanDivisor"]],[13,"tiltDivisor",[1,"cosTilt","+",[1,[1,"sinTilt","*","afterPanY"],"*","perspectiveFactor"]]],[13,"safeTiltDivisor",[6,"std.max",["tiltDivisor",[5,"0.001"]]]],[13,"finalX",[1,[1,"afterPanX","*","cosTilt"],"/","safeTiltDivisor"]],[13,"finalY",[1,"afterPanY","/","safeTiltDivisor"]],[13,"offsetPos",[6,"d.vec2f",[[7,"offset","x"],[1,[5,"1"],"-",[7,"offset","y"]]]]],[10,[6,[7,[6,[7,[6,[7,[6,"d.vec2f",["finalX","finalY"]],"add"],["centerPos"]],"sub"],["offsetPos"]],"add"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.tan":()=>bp,"std.max":()=>b}})&&e.f)({})),C3=v.fn([l,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(r.x,__tsover_sub(1,r.y)),i=__tsover_mul(__tsover_sub(t.x,n.x),s),d=__tsover_sub(t.y,n.y),c=H(o),_=Y(o),u=__tsover_sub(__tsover_mul(i,c),__tsover_mul(d,_)),m=__tsover_add(__tsover_mul(i,_),__tsover_mul(d,c));return l(__tsover_add(__tsover_div(u,s),n.x),__tsover_add(m,n.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"},{type:"i",name:"angle"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dx",[1,[1,[7,"uv","x"],"-",[7,"centerPos","x"]],"*","aspect"]],[13,"dy",[1,[7,"uv","y"],"-",[7,"centerPos","y"]]],[13,"cosA",[6,"std.cos",["angle"]]],[13,"sinA",[6,"std.sin",["angle"]]],[13,"rotX",[1,[1,"dx","*","cosA"],"-",[1,"dy","*","sinA"]]],[13,"rotY",[1,[1,"dx","*","sinA"],"+",[1,"dy","*","cosA"]]],[10,[6,"d.vec2f",[[1,[1,"rotX","/","aspect"],"+",[7,"centerPos","x"]],[1,"rotY","+",[7,"centerPos","y"]]]]]]]},externals:{"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),xD=v.fn([l,a,a,a,a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=l(t.x,__tsover_sub(1,t.y)),m=j(l(__tsover_mul(__tsover_sub(c.x,u.x),_),__tsover_sub(c.y,u.y))),p=__tsover_mul(m,r),y=q(p),h=ue(p),g=__tsover_mul(s,Le),w=__tsover_mul(n,.137),S=__tsover_mul(Zn(__tsover_add(y,w)),g),T=__tsover_mul(Zn(__tsover_add(__tsover_add(y,1),w)),g),A=X(1,Zn(__tsover_add(y,42.7)),i),P=X(1,Zn(__tsover_add(__tsover_add(y,1),42.7)),i),U=__tsover_mul(__tsover_mul(d,.25),A),D=__tsover_mul(__tsover_mul(d,.25),P),O=__tsover_add(S,U),L=__tsover_add(T,D),G=__tsover_add(__tsover_sub(L,O),Xr),W=__tsover_sub(__tsover_sub(G,__tsover_mul(it,q(__tsover_div(G,it)))),Xr),K=__tsover_add(__tsover_mul(o,.5),.001),Q=re(__tsover_sub(.5,K),__tsover_add(.5,K),h);return C3(c,_,t,__tsover_add(O,__tsover_mul(W,Q)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"intensity"},{type:"i",name:"rings"},{type:"i",name:"smoothness"},{type:"i",name:"seed"},{type:"i",name:"speedRandomness"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dx",[1,[1,[7,"uv","x"],"-",[7,"centerPos","x"]],"*","aspect"]],[13,"dy",[1,[7,"uv","y"],"-",[7,"centerPos","y"]]],[13,"dist",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[13,"ringCoord",[1,"dist","*","rings"]],[13,"ringIndex",[6,"std.floor",["ringCoord"]]],[13,"ringFrac",[6,"std.fract",["ringCoord"]]],[13,"maxAngle",[1,"intensity","*","DEG_TO_RAD"]],[13,"seedOffset",[1,"seed","*",[5,"0.137"]]],[13,"staticA",[1,[6,"legacySinHash11",[[1,"ringIndex","+","seedOffset"]]],"*","maxAngle"]],[13,"staticB",[1,[6,"legacySinHash11",[[1,[1,"ringIndex","+",[5,"1"]],"+","seedOffset"]]],"*","maxAngle"]],[13,"ringSpeedA",[6,"std.mix",[[5,"1"],[6,"legacySinHash11",[[1,"ringIndex","+",[5,"42.7"]]]],"speedRandomness"]]],[13,"ringSpeedB",[6,"std.mix",[[5,"1"],[6,"legacySinHash11",[[1,[1,"ringIndex","+",[5,"1"]],"+",[5,"42.7"]]]],"speedRandomness"]]],[13,"animA",[1,[1,"animTime","*",[5,"0.25"]],"*","ringSpeedA"]],[13,"animB",[1,[1,"animTime","*",[5,"0.25"]],"*","ringSpeedB"]],[13,"totalA",[1,"staticA","+","animA"]],[13,"totalB",[1,"staticB","+","animB"]],[13,"wrapArg",[1,[1,"totalB","-","totalA"],"+","PI"]],[13,"diff",[1,[1,"wrapArg","-",[1,"TAU","*",[6,"std.floor",[[1,"wrapArg","/","TAU"]]]]],"-","PI"]],[13,"halfEdge",[1,[1,"smoothness","*",[5,"0.5"]],"+",[5,"0.001"]]],[13,"blend",[6,"std.smoothstep",[[1,[5,"0.5"],"-","halfEdge"],[1,[5,"0.5"],"+","halfEdge"],"ringFrac"]]],[13,"angle",[1,"totalA","+",[1,"diff","*","blend"]]],[10,[6,"csRotateUV",["uv","aspect","center","angle"]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.floor":()=>q,"std.fract":()=>ue,DEG_TO_RAD:()=>Le,legacySinHash11:()=>Zn,"std.mix":()=>X,PI:()=>Xr,TAU:()=>it,"std.smoothstep":()=>re,csRotateUV:()=>C3}})&&e.f)({})),gD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(t.x,s),t.y),c=__tsover_mul(n,.7),_=__tsover_mul(i,.2),u=__tsover_mul(go(f(__tsover_add(__tsover_mul(d.x,r),__tsover_mul(c,.3)),__tsover_add(__tsover_mul(d.y,r),__tsover_mul(c,.5)),_)),ao),m=l(H(u),Y(u)),p=__tsover_mul(n,.5),y=__tsover_mul(i,.15),h=__tsover_mul(go(f(__tsover_add(__tsover_add(__tsover_mul(d.x,__tsover_mul(r,2.3)),__tsover_mul(p,-.4)),173.5),__tsover_add(__tsover_add(__tsover_mul(d.y,__tsover_mul(r,2.3)),__tsover_mul(p,.3)),291.7),__tsover_add(y,50))),ao),g=l(H(h),Y(h)),w=__tsover_mul(n,.3),S=__tsover_mul(i,.1),T=__tsover_mul(go(f(__tsover_add(__tsover_add(__tsover_mul(d.x,__tsover_mul(r,4.7)),__tsover_mul(w,.2)),527.3),__tsover_add(__tsover_add(__tsover_mul(d.y,__tsover_mul(r,4.7)),__tsover_mul(w,-.6)),839.1),__tsover_add(S,100))),ao),A=l(H(T),Y(T)),P=m.add(g.mul(.5)).add(A.mul(.25)),U=b(j(P),.001),D=P.div(U),O=l(__tsover_div(__tsover_mul(D.x,o),s),__tsover_mul(D.y,o));return l(__tsover_add(t.x,O.x),__tsover_add(t.y,O.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"scale"},{type:"i",name:"strength"},{type:"i",name:"time"},{type:"i",name:"evolutionTime"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"drift1",[1,"time","*",[5,"0.7"]]],[13,"evolve1",[1,"evolutionTime","*",[5,"0.2"]]],[13,"angle1",[1,[6,"mxNoiseFloat3",[[6,"d.vec3f",[[1,[1,[7,"aspectCorrectedUV","x"],"*","scale"],"+",[1,"drift1","*",[5,"0.3"]]],[1,[1,[7,"aspectCorrectedUV","y"],"*","scale"],"+",[1,"drift1","*",[5,"0.5"]]],"evolve1"]]]],"*","TWO_PI"]],[13,"flow1",[6,"d.vec2f",[[6,"std.cos",["angle1"]],[6,"std.sin",["angle1"]]]]],[13,"drift2",[1,"time","*",[5,"0.5"]]],[13,"evolve2",[1,"evolutionTime","*",[5,"0.15"]]],[13,"angle2",[1,[6,"mxNoiseFloat3",[[6,"d.vec3f",[[1,[1,[1,[7,"aspectCorrectedUV","x"],"*",[1,"scale","*",[5,"2.3"]]],"+",[1,"drift2","*",[4,"-",[5,"0.4"]]]],"+",[5,"173.5"]],[1,[1,[1,[7,"aspectCorrectedUV","y"],"*",[1,"scale","*",[5,"2.3"]]],"+",[1,"drift2","*",[5,"0.3"]]],"+",[5,"291.7"]],[1,"evolve2","+",[5,"50"]]]]]],"*","TWO_PI"]],[13,"flow2",[6,"d.vec2f",[[6,"std.cos",["angle2"]],[6,"std.sin",["angle2"]]]]],[13,"drift3",[1,"time","*",[5,"0.3"]]],[13,"evolve3",[1,"evolutionTime","*",[5,"0.1"]]],[13,"angle3",[1,[6,"mxNoiseFloat3",[[6,"d.vec3f",[[1,[1,[1,[7,"aspectCorrectedUV","x"],"*",[1,"scale","*",[5,"4.7"]]],"+",[1,"drift3","*",[5,"0.2"]]],"+",[5,"527.3"]],[1,[1,[1,[7,"aspectCorrectedUV","y"],"*",[1,"scale","*",[5,"4.7"]]],"+",[1,"drift3","*",[4,"-",[5,"0.6"]]]],"+",[5,"839.1"]],[1,"evolve3","+",[5,"100"]]]]]],"*","TWO_PI"]],[13,"flow3",[6,"d.vec2f",[[6,"std.cos",["angle3"]],[6,"std.sin",["angle3"]]]]],[13,"combinedFlow",[6,[7,[6,[7,"flow1","add"],[[6,[7,"flow2","mul"],[[5,"0.5"]]]]],"add"],[[6,[7,"flow3","mul"],[[5,"0.25"]]]]]],[13,"flowLength",[6,"std.max",[[6,"std.length",["combinedFlow"]],[5,"0.001"]]]],[13,"normalizedFlow",[6,[7,"combinedFlow","div"],["flowLength"]]],[13,"finalFlow",[6,"d.vec2f",[[1,[1,[7,"normalizedFlow","x"],"*","strength"],"/","aspect"],[1,[7,"normalizedFlow","y"],"*","strength"]]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[7,"finalFlow","x"]],[1,[7,"uv","y"],"+",[7,"finalFlow","y"]]]]]]]},externals:{"d.vec2f":()=>l,mxNoiseFloat3:()=>go,"d.vec3f":()=>f,TWO_PI:()=>ao,"std.cos":()=>H,"std.sin":()=>Y,"std.max":()=>b,"std.length":()=>j}})&&e.f)({})),bD=v.fn([l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,Le),d=l(H(i),Y(i)),c=l(__tsover_mul(__tsover_sub(t.x,.5),s),__tsover_sub(t.y,.5)),_=se(c,d),u=__tsover_mul(.5,__tsover_add(__tsover_mul(s,z(d.x)),z(d.y))),m=__tsover_add(__tsover_div(_,__tsover_mul(2,u)),.5),p=q(__tsover_mul(m,b(o,1))),y=__tsover_sub(__tsover_mul(ue(__tsover_mul(p,.5)),4),1),h=l(-d.y,d.x),g=__tsover_mul(.5,__tsover_add(__tsover_mul(s,z(d.y)),z(d.x))),w=__tsover_mul(__tsover_mul(n,__tsover_mul(2.02,g)),y),S=c.add(h.mul(w));return l(__tsover_add(__tsover_div(S.x,s),.5),__tsover_add(S.y,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angleDeg"},{type:"i",name:"sliceCount"},{type:"i",name:"progress"}],body:[0,[[13,"a",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"dir",[6,"d.vec2f",[[6,"std.cos",["a"]],[6,"std.sin",["a"]]]]],[13,"p",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],[1,[7,"uv","y"],"-",[5,"0.5"]]]]],[13,"grad",[6,"std.dot",["p","dir"]]],[13,"ext",[1,[5,"0.5"],"*",[1,[1,"aspect","*",[6,"std.abs",[[7,"dir","x"]]]],"+",[6,"std.abs",[[7,"dir","y"]]]]]],[13,"t",[1,[1,"grad","/",[1,[5,"2"],"*","ext"]],"+",[5,"0.5"]]],[13,"idx",[6,"std.floor",[[1,"t","*",[6,"std.max",["sliceCount",[5,"1"]]]]]]],[13,"sign",[1,[1,[6,"std.fract",[[1,"idx","*",[5,"0.5"]]]],"*",[5,"4"]],"-",[5,"1"]]],[13,"perp",[6,"d.vec2f",[[4,"-",[7,"dir","y"]],[7,"dir","x"]]]],[13,"extPerp",[1,[5,"0.5"],"*",[1,[1,"aspect","*",[6,"std.abs",[[7,"dir","y"]]]],"+",[6,"std.abs",[[7,"dir","x"]]]]]],[13,"slide",[1,[1,"progress","*",[1,[5,"2.02"],"*","extPerp"]],"*","sign"]],[13,"q",[6,[7,"p","add"],[[6,[7,"perp","mul"],["slide"]]]]],[10,[6,"d.vec2f",[[1,[1,[7,"q","x"],"/","aspect"],"+",[5,"0.5"]],[1,[7,"q","y"],"+",[5,"0.5"]]]]]]]},externals:{DEG_TO_RAD:()=>Le,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.abs":()=>z,"std.floor":()=>q,"std.max":()=>b,"std.fract":()=>ue}})&&e.f)({})),R3=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(r,Le),i=H(n),d=Y(n),c=__tsover_mul(t.x,s),_=t.y,u=__tsover_sub(c,__tsover_mul(s,.5)),m=__tsover_sub(_,.5),p=__tsover_add(__tsover_mul(u,i),__tsover_mul(m,d)),y=__tsover_add(__tsover_mul(__tsover_mul(u,d),-1),__tsover_mul(m,i)),h=__tsover_add(y,o),g=__tsover_sub(__tsover_mul(p,i),__tsover_mul(h,d)),w=__tsover_add(__tsover_mul(p,d),__tsover_mul(h,i));return l(__tsover_add(__tsover_div(g,s),.5),__tsover_add(w,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"offset"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"au",[1,[7,"uv","x"],"*","aspect"]],[13,"av",[7,"uv","y"]],[13,"cu",[1,"au","-",[1,"aspect","*",[5,"0.5"]]]],[13,"cv",[1,"av","-",[5,"0.5"]]],[13,"projectedU",[1,[1,"cu","*","cosA"],"+",[1,"cv","*","sinA"]]],[13,"projectedV",[1,[1,[1,"cu","*","sinA"],"*",[4,"-",[5,"1"]]],"+",[1,"cv","*","cosA"]]],[13,"distPV",[1,"projectedV","+","offset"]],[13,"dcu",[1,[1,"projectedU","*","cosA"],"-",[1,"distPV","*","sinA"]]],[13,"dcv",[1,[1,"projectedU","*","sinA"],"+",[1,"distPV","*","cosA"]]],[10,[6,"d.vec2f",[[1,[1,"dcu","/","aspect"],"+",[5,"0.5"]],[1,"dcv","+",[5,"0.5"]]]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),wD=v.fn([a,a,a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_mul(s,Le),_=H(c),u=Y(c),m=b(d,1),p=__tsover_mul(i.x,d),y=i.y,h=__tsover_sub(p,__tsover_mul(d,.5)),g=__tsover_sub(y,.5),w=__tsover_add(__tsover_mul(h,_),__tsover_mul(g,u)),S=q(__tsover_div(__tsover_mul(w,t),m)),T=__tsover_mul(o,.137),A=Zn(__tsover_add(S,T)),P=Zn(__tsover_add(__tsover_add(S,T),42.7)),U=__tsover_mul(__tsover_mul(n,P),.2);return R3(i,d,s,__tsover_mul(__tsover_add(A,U),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"count"},{type:"i",name:"angle"},{type:"i",name:"intensity"},{type:"i",name:"seed"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"longestAxis",[6,"std.max",["aspect",[5,"1"]]]],[13,"au",[1,[7,"uv","x"],"*","aspect"]],[13,"av",[7,"uv","y"]],[13,"cu",[1,"au","-",[1,"aspect","*",[5,"0.5"]]]],[13,"cv",[1,"av","-",[5,"0.5"]]],[13,"projectedU",[1,[1,"cu","*","cosA"],"+",[1,"cv","*","sinA"]]],[13,"barCoord",[1,[1,"projectedU","*","count"],"/","longestAxis"]],[13,"barIndex",[6,"std.floor",["barCoord"]]],[13,"seedOffset",[1,"seed","*",[5,"0.137"]]],[13,"staticOffset",[6,"legacySinHash11",[[1,"barIndex","+","seedOffset"]]]],[13,"barSpeed",[6,"legacySinHash11",[[1,[1,"barIndex","+","seedOffset"],"+",[5,"42.7"]]]]],[13,"animOffset",[1,[1,"animTime","*","barSpeed"],"*",[5,"0.2"]]],[13,"offset",[1,[1,"staticOffset","+","animOffset"],"*","intensity"]],[10,[6,"barSampleUV",["uv","aspect","angle","offset"]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.max":()=>b,"std.floor":()=>q,legacySinHash11:()=>Zn,barSampleUV:()=>R3}})&&e.f)({})),TD=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=r>1,n=b(C(__tsover_mul(s,r),s,o),1),i=b(C(s,__tsover_div(s,r),o),1),d=q(__tsover_mul(t.x,n)),c=q(__tsover_mul(t.y,i));return l(__tsover_div(__tsover_add(d,.5),n),__tsover_div(__tsover_add(c,.5),i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"gridSize"},{type:"i",name:"aspect"}],body:[0,[[13,"isWide",[1,"aspect",">",[5,"1"]]],[13,"cellsX",[6,"std.max",[[6,"std.select",[[1,"gridSize","*","aspect"],"gridSize","isWide"]],[5,"1"]]]],[13,"cellsY",[6,"std.max",[[6,"std.select",["gridSize",[1,"gridSize","/","aspect"],"isWide"]],[5,"1"]]]],[13,"cellIndexX",[6,"std.floor",[[1,[7,"uv","x"],"*","cellsX"]]]],[13,"cellIndexY",[6,"std.floor",[[1,[7,"uv","y"],"*","cellsY"]]]],[10,[6,"d.vec2f",[[1,[1,"cellIndexX","+",[5,"0.5"]],"/","cellsX"],[1,[1,"cellIndexY","+",[5,"0.5"]],"/","cellsY"]]]]]]},externals:{"std.max":()=>b,"std.select":()=>C,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),SD=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let o=$(s,l(-.1,-.1),l(.1,.1));return t.sub(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"disp"}],body:[0,[[13,"maxDisp",[5,"0.1"]],[13,"clamped",[6,"std.clamp",["disp",[6,"d.vec2f",[[4,"-","maxDisp"],[4,"-","maxDisp"]]],[6,"d.vec2f",["maxDisp","maxDisp"]]]]],[10,[6,[7,"uv","sub"],["clamped"]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l}})&&e.f)({})),AD=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=s.mul(__tsover_mul(r,.1)),n=.15,i=$(o,l(-n,-n),l(n,n));return t.sub(i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"disp"},{type:"i",name:"intensity"}],body:[0,[[13,"scaled",[6,[7,"disp","mul"],[[1,"intensity","*",[5,"0.1"]]]]],[13,"maxDisp",[5,"0.15"]],[13,"clamped",[6,"std.clamp",["scaled",[6,"d.vec2f",[[4,"-","maxDisp"],[4,"-","maxDisp"]]],[6,"d.vec2f",["maxDisp","maxDisp"]]]]],[10,[6,[7,"uv","sub"],["clamped"]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l}})&&e.f)({})),MD=v.fn([l,x,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(s.w,1e-4),i=__tsover_div(__tsover_mul(__tsover_mul(__tsover_mul(__tsover_sub(__tsover_div(s.x,n),.5),2),s.w),o),r),d=__tsover_mul(__tsover_mul(__tsover_mul(__tsover_sub(__tsover_div(s.y,n),.5),2),s.w),o);return l(__tsover_add(t.x,i),__tsover_add(t.y,d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"src"},{type:"i",name:"aspect"},{type:"i",name:"amount"}],body:[0,[[13,"a",[6,"std.max",[[7,"src","w"],[5,"0.0001"]]]],[13,"dx",[1,[1,[1,[1,[1,[1,[7,"src","x"],"/","a"],"-",[5,"0.5"]],"*",[5,"2"]],"*",[7,"src","w"]],"*","amount"],"/","aspect"]],[13,"dy",[1,[1,[1,[1,[1,[7,"src","y"],"/","a"],"-",[5,"0.5"]],"*",[5,"2"]],"*",[7,"src","w"]],"*","amount"]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+","dx"],[1,[7,"uv","y"],"+","dy"]]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),PD=v.fn([l,x,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=b(s.w,1e-4),d=se(f(__tsover_div(s.x,i),__tsover_div(s.y,i),__tsover_div(s.z,i)),f(.2126,.7152,.0722)),c=__tsover_mul(__tsover_mul(__tsover_mul(__tsover_sub(d,.5),2),s.w),o),_=__tsover_mul(n,Le),u=__tsover_div(__tsover_mul(c,H(_)),r),m=__tsover_mul(c,Y(_));return l(__tsover_add(t.x,u),__tsover_add(t.y,m))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"src"},{type:"i",name:"aspect"},{type:"i",name:"amount"},{type:"i",name:"angleDeg"}],body:[0,[[13,"a",[6,"std.max",[[7,"src","w"],[5,"0.0001"]]]],[13,"lum",[6,"std.dot",[[6,"d.vec3f",[[1,[7,"src","x"],"/","a"],[1,[7,"src","y"],"/","a"],[1,[7,"src","z"],"/","a"]]],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"scalar",[1,[1,[1,[1,"lum","-",[5,"0.5"]],"*",[5,"2"]],"*",[7,"src","w"]],"*","amount"]],[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"dx",[1,[1,"scalar","*",[6,"std.cos",["angleRad"]]],"/","aspect"]],[13,"dy",[1,"scalar","*",[6,"std.sin",["angleRad"]]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+","dx"],[1,[7,"uv","y"],"+","dy"]]]]]]},externals:{"std.max":()=>b,"std.dot":()=>se,"d.vec3f":()=>f,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),Rm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({refractedUV:l,chrOff:l,slope:a}),"FlutedGeom"),ED=v.fn([l,a,a,a,a,a,a,a,a,a,f],Rm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=m.x,y=m.y,h=m.z,g=__tsover_div(__tsover_mul(o,Xr),180),w=H(g),S=Y(g),T=l(__tsover_mul(__tsover_sub(t.x,.5),s),__tsover_sub(t.y,.5)),A=__tsover_add(__tsover_mul(T.x,w),__tsover_mul(T.y,S)),P=__tsover_add(__tsover_mul(-T.x,S),__tsover_mul(T.y,w)),U=__tsover_mul(Y(__tsover_add(__tsover_mul(__tsover_mul(P,c),__tsover_mul(Xr,2)),__tsover_mul(r,2))),d),D=__tsover_add(A,__tsover_mul(h,U)),O=__tsover_add(__tsover_mul(D,n),r),L=__tsover_mul(__tsover_sub(ue(O),.5),2),G=b(z(L),1e-4),W=X(p,y,i),K=__tsover_mul(ks(L),Ce(G,W)),Q=__tsover_div(.5,b(n,.001)),te=-__tsover_mul(__tsover_mul(K,_),Q),ee=l(__tsover_add(t.x,__tsover_div(__tsover_mul(te,w),s)),__tsover_add(t.y,__tsover_mul(te,S))),he=__tsover_mul(__tsover_mul(te,u),.5);return Rm({refractedUV:ee,chrOff:l(__tsover_div(__tsover_mul(he,w),s),__tsover_mul(he,S)),slope:K})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"t"},{type:"i",name:"angleDeg"},{type:"i",name:"frequency"},{type:"i",name:"softness"},{type:"i",name:"waveAmp"},{type:"i",name:"waveFreq"},{type:"i",name:"refraction"},{type:"i",name:"aberration"},{type:"i",name:"shapeParams"}],body:[0,[[13,"expHi",[7,"shapeParams","x"]],[13,"expLo",[7,"shapeParams","y"]],[13,"wavesFlag",[7,"shapeParams","z"]],[13,"r",[1,[1,"angleDeg","*","PI"],"/",[5,"180"]]],[13,"cosA",[6,"std.cos",["r"]]],[13,"sinA",[6,"std.sin",["r"]]],[13,"aspCorr",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],[1,[7,"uv","y"],"-",[5,"0.5"]]]]],[13,"u",[1,[1,[7,"aspCorr","x"],"*","cosA"],"+",[1,[7,"aspCorr","y"],"*","sinA"]]],[13,"v",[1,[1,[4,"-",[7,"aspCorr","x"]],"*","sinA"],"+",[1,[7,"aspCorr","y"],"*","cosA"]]],[13,"waveTerm",[1,[6,"std.sin",[[1,[1,[1,"v","*","waveFreq"],"*",[1,"PI","*",[5,"2"]]],"+",[1,"t","*",[5,"2"]]]]],"*","waveAmp"]],[13,"fluteU",[1,"u","+",[1,"wavesFlag","*","waveTerm"]]],[13,"flutePos",[1,[1,"fluteU","*","frequency"],"+","t"]],[13,"cellPos",[1,[1,[6,"std.fract",["flutePos"]],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"absCell",[6,"std.max",[[6,"std.abs",["cellPos"]],[5,"0.0001"]]]],[13,"exponent",[6,"std.mix",["expHi","expLo","softness"]]],[13,"slope",[1,[6,"std.sign",["cellPos"]],"*",[6,"std.pow",["absCell","exponent"]]]],[13,"halfCell",[1,[5,"0.5"],"/",[6,"std.max",["frequency",[5,"0.001"]]]]],[13,"refrU",[4,"-",[1,[1,"slope","*","refraction"],"*","halfCell"]]],[13,"refractedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[1,"refrU","*","cosA"],"/","aspect"]],[1,[7,"uv","y"],"+",[1,"refrU","*","sinA"]]]]],[13,"chrU",[1,[1,"refrU","*","aberration"],"*",[5,"0.5"]]],[13,"chrOff",[6,"d.vec2f",[[1,[1,"chrU","*","cosA"],"/","aspect"],[1,"chrU","*","sinA"]]]],[10,[6,"FlutedGeom",[[104,{refractedUV:"refractedUV",chrOff:"chrOff",slope:"slope"}]]]]]]},externals:{PI:()=>Xr,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l,"std.fract":()=>ue,"std.max":()=>b,"std.abs":()=>z,"std.mix":()=>X,"std.sign":()=>ks,"std.pow":()=>Ce,FlutedGeom:()=>Rm}})&&e.f)({})),kD=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=oe(__tsover_mul(t,t),1),i=be(__tsover_sub(1,n)),d=__tsover_div(__tsover_mul(s,Xr),360),c=Y(d),_=H(d),u=b(__tsover_add(__tsover_mul(t,c),__tsover_mul(i,_)),0),m=$l(__tsover_sub(8,__tsover_mul(o,7))),p=Ce(__tsover_sub(1,i),5),y=__tsover_add(.04,__tsover_mul(.96,p));return __tsover_mul(__tsover_mul(Ce(u,m),y),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"slope"},{type:"i",name:"lightAngleDeg"},{type:"i",name:"intensity"},{type:"i",name:"softness"}],body:[0,[[13,"slopeSq",[6,"std.min",[[1,"slope","*","slope"],[5,"1"]]]],[13,"nz",[6,"std.sqrt",[[1,[5,"1"],"-","slopeSq"]]]],[13,"half",[1,[1,"lightAngleDeg","*","PI"],"/",[5,"360"]]],[13,"hx",[6,"std.sin",["half"]]],[13,"hy",[6,"std.cos",["half"]]],[13,"nDotH",[6,"std.max",[[1,[1,"slope","*","hx"],"+",[1,"nz","*","hy"]],[5,"0"]]]],[13,"shininess",[6,"std.exp2",[[1,[5,"8"],"-",[1,"softness","*",[5,"7"]]]]]],[13,"fresnel",[6,"std.pow",[[1,[5,"1"],"-","nz"],[5,"5"]]]],[13,"fresnelMix",[1,[5,"0.04"],"+",[1,[5,"0.96"],"*","fresnel"]]],[10,[1,[1,[6,"std.pow",["nDotH","shininess"]],"*","fresnelMix"],"*","intensity"]]]]},externals:{"std.min":()=>oe,"std.sqrt":()=>be,PI:()=>Xr,"std.sin":()=>Y,"std.cos":()=>H,"std.max":()=>b,"std.exp2":()=>$l,"std.pow":()=>Ce}})&&e.f)({})),zm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({curlUV:l,theta:a,distPastCrease:a,distIntoPeel:a,flatReach:a,peelReach:a,foldBlend:a,showCurl:a}),"PagePeelGeom"),$D=v.fn([l,a,a,a,a,a,a,a],zm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=l(__tsover_mul(t.x,s),t.y),u=l(__tsover_mul(r,s),o),m=l(__tsover_mul(n,s),i).sub(u),p=j(m),y=m.mul(__tsover_div(1,p)),h=se(_.sub(u),y),g=__tsover_mul(d,p),w=g,S=b(__tsover_mul(c,p),1e-4),T=__tsover_div(g,S),A=__tsover_div(__tsover_sub(h,w),S),P=xp($(A,0,1)),U=__tsover_mul(De(0,A),De(A,1)),D=De(P,T),O=__tsover_sub(g,__tsover_mul(S,P)),L=_.add(y.mul(__tsover_sub(O,h))),G=l(__tsover_div(L.x,s),L.y),W=__tsover_mul(__tsover_mul(__tsover_mul(De(0,G.x),De(G.x,1)),De(0,G.y)),De(G.y,1)),K=__tsover_sub(1,H($(T,0,Gl))),Q=__tsover_mul(S,K),te=b(__tsover_add(S,__tsover_mul(Q,.5)),1e-4),ee=__tsover_sub(h,w),he=b(__tsover_mul(Q,2.5),1e-4);return zm({curlUV:G,theta:P,distPastCrease:ee,distIntoPeel:__tsover_sub(w,h),flatReach:te,peelReach:he,foldBlend:re(__tsover_sub(w,.0015),__tsover_add(w,.0015),h),showCurl:__tsover_mul(__tsover_mul(U,D),W)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"cornerX"},{type:"i",name:"cornerY"},{type:"i",name:"oppX"},{type:"i",name:"oppY"},{type:"i",name:"amount"},{type:"i",name:"radius"}],body:[0,[[13,"pA",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"cornerA",[6,"d.vec2f",[[1,"cornerX","*","aspect"],"cornerY"]]],[13,"oppA",[6,"d.vec2f",[[1,"oppX","*","aspect"],"oppY"]]],[13,"axisVec",[6,[7,"oppA","sub"],["cornerA"]]],[13,"L",[6,"std.length",["axisVec"]]],[13,"axis",[6,[7,"axisVec","mul"],[[1,[5,"1"],"/","L"]]]],[13,"t",[6,"std.dot",[[6,[7,"pA","sub"],["cornerA"]],"axis"]]],[13,"peel",[1,"amount","*","L"]],[13,"cFold","peel"],[13,"R",[6,"std.max",[[1,"radius","*","L"],[5,"0.0001"]]]],[13,"thetaMax",[1,"peel","/","R"]],[13,"X",[1,[1,"t","-","cFold"],"/","R"]],[13,"Xc",[6,"std.clamp",["X",[5,"0"],[5,"1"]]]],[13,"theta",[6,"std.asin",["Xc"]]],[13,"inBand",[1,[6,"std.step",[[5,"0"],"X"]],"*",[6,"std.step",["X",[5,"1"]]]]],[13,"paper",[6,"std.step",["theta","thetaMax"]]],[13,"cCurl",[1,"peel","-",[1,"R","*","theta"]]],[13,"sourceA",[6,[7,"pA","add"],[[6,[7,"axis","mul"],[[1,"cCurl","-","t"]]]]]],[13,"curlUV",[6,"d.vec2f",[[1,[7,"sourceA","x"],"/","aspect"],[7,"sourceA","y"]]]],[13,"curlInBounds",[1,[1,[1,[6,"std.step",[[5,"0"],[7,"curlUV","x"]]],"*",[6,"std.step",[[7,"curlUV","x"],[5,"1"]]]],"*",[6,"std.step",[[5,"0"],[7,"curlUV","y"]]]],"*",[6,"std.step",[[7,"curlUV","y"],[5,"1"]]]]],[13,"liftFrac",[1,[5,"1"],"-",[6,"std.cos",[[6,"std.clamp",["thetaMax",[5,"0"],"HALF_PI"]]]]]],[13,"lipHeight",[1,"R","*","liftFrac"]],[13,"flatReach",[6,"std.max",[[1,"R","+",[1,"lipHeight","*",[5,"0.5"]]],[5,"0.0001"]]]],[13,"distPastCrease",[1,"t","-","cFold"]],[13,"peelReach",[6,"std.max",[[1,"lipHeight","*",[5,"2.5"]],[5,"0.0001"]]]],[13,"distIntoPeel",[1,"cFold","-","t"]],[13,"foldBlend",[6,"std.smoothstep",[[1,"cFold","-",[5,"0.0015"]],[1,"cFold","+",[5,"0.0015"]],"t"]]],[13,"showCurl",[1,[1,"inBand","*","paper"],"*","curlInBounds"]],[10,[6,"PagePeelGeom",[[104,{curlUV:"curlUV",theta:"theta",distPastCrease:"distPastCrease",distIntoPeel:"distIntoPeel",flatReach:"flatReach",peelReach:"peelReach",foldBlend:"foldBlend",showCurl:"showCurl"}]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.dot":()=>se,"std.max":()=>b,"std.clamp":()=>$,"std.asin":()=>xp,"std.step":()=>De,"std.cos":()=>H,HALF_PI:()=>Gl,"std.smoothstep":()=>re,PagePeelGeom:()=>zm}})&&e.f)({})),UD=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=H(t);return __tsover_sub(1,__tsover_mul(s,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"theta"},{type:"i",name:"shading"}],body:[0,[[13,"facing",[6,"std.cos",["theta"]]],[10,[1,[5,"1"],"-",[1,"shading","*","facing"]]]]]},externals:{"std.cos":()=>H}})&&e.f)({})),CD=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(t,Gl),n=X(.05,.4,r),i=__tsover_div(__tsover_sub(o,.65),n);return __tsover_mul(ct(__tsover_mul(__tsover_mul(i,i),-.5)),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"theta"},{type:"i",name:"intensity"},{type:"i",name:"softness"}],body:[0,[[13,"thetaN",[1,"theta","/","HALF_PI"]],[13,"specSigma",[6,"std.mix",[[5,"0.05"],[5,"0.4"],"softness"]]],[13,"specDelta",[1,[1,"thetaN","-",[5,"0.65"]],"/","specSigma"]],[10,[1,[6,"std.exp",[[1,[1,"specDelta","*","specDelta"],"*",[4,"-",[5,"0.5"]]]]],"*","intensity"]]]]},externals:{HALF_PI:()=>Gl,"std.mix":()=>X,"std.exp":()=>ct}})&&e.f)({})),eu=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(re(0,.04,t),Ce(__tsover_sub(1,t),.7))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"amount"}],body:[0,[[10,[1,[6,"std.smoothstep",[[5,"0"],[5,"0.04"],"amount"]],"*",[6,"std.pow",[[1,[5,"1"],"-","amount"],[5,"0.7"]]]]]]]},externals:{"std.smoothstep":()=>re,"std.pow":()=>Ce}})&&e.f)({})),tu=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_mul(Ce(__tsover_sub(1,re(0,s,t)),r),De(0,t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"reach"},{type:"i",name:"exponent"}],body:[0,[[10,[1,[6,"std.pow",[[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"reach","dist"]]],"exponent"]],"*",[6,"std.step",[[5,"0"],"dist"]]]]]]},externals:{"std.pow":()=>Ce,"std.smoothstep":()=>re,"std.step":()=>De}})&&e.f)({})),RD=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(tu(t,s,2),eu(r));return __tsover_sub(1,__tsover_mul(__tsover_mul(o,n),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"reach"},{type:"i",name:"amount"},{type:"i",name:"shadow"}],body:[0,[[13,"fall",[1,[6,"shadowFalloff",["dist","reach",[5,"2"]]],"*",[6,"liftShadowStrength",["amount"]]]],[10,[1,[5,"1"],"-",[1,[1,"shadow","*","fall"],"*",[5,"0.5"]]]]]]},externals:{shadowFalloff:()=>tu,liftShadowStrength:()=>eu}})&&e.f)({})),zD=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(__tsover_mul(tu(t,s,1.5),eu(r)),o);return __tsover_mul(n,.6)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"reach"},{type:"i",name:"amount"},{type:"i",name:"shadow"}],body:[0,[[13,"fall",[1,[1,[6,"shadowFalloff",["dist","reach",[5,"1.5"]]],"*",[6,"liftShadowStrength",["amount"]]],"*","shadow"]],[10,[1,"fall","*",[5,"0.6"]]]]]},externals:{shadowFalloff:()=>tu,liftShadowStrength:()=>eu}})&&e.f)({})),GD=v.fn([x,x,a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=x(t.xyz.mul(r).add(__tsover_mul(o,t.w)),t.w),u=x(s.xyz.mul(n),s.w);return C(X(x(0,0,0,i),u,x(d)),_,c>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"curlSample"},{type:"i",name:"flatSample"},{type:"i",name:"curlBright"},{type:"i",name:"spec"},{type:"i",name:"flatShade"},{type:"i",name:"peelAlpha"},{type:"i",name:"foldBlend"},{type:"i",name:"showCurl"}],body:[0,[[13,"litRgb",[6,[7,[6,[7,[7,"curlSample","xyz"],"mul"],["curlBright"]],"add"],[[1,"spec","*",[7,"curlSample","w"]]]]],[13,"curlColor",[6,"d.vec4f",["litRgb",[7,"curlSample","w"]]]],[13,"flatColor",[6,"d.vec4f",[[6,[7,[7,"flatSample","xyz"],"mul"],["flatShade"]],[7,"flatSample","w"]]]],[13,"peeledColor",[6,"d.vec4f",[[5,"0"],[5,"0"],[5,"0"],"peelAlpha"]]],[13,"base",[6,"std.mix",["peeledColor","flatColor",[6,"d.vec4f",["foldBlend"]]]]],[10,[6,"std.select",["base","curlColor",[1,"showCurl",">",[5,"0.5"]]]]]]]},externals:{"d.vec4f":()=>x,"std.mix":()=>X,"std.select":()=>C}})&&e.f)({})),Gm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({uv:l,coverage:a,normal:f}),"SphereBulge"),YD=v.fn([l,l,l,a,a],Gm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_div(s.x,s.y),d=r.x,c=__tsover_sub(1,r.y),_=__tsover_mul(__tsover_sub(t.x,d),i),u=__tsover_sub(t.y,c),m=__tsover_div(__tsover_mul(_,2),o),p=__tsover_div(__tsover_mul(u,2),o),y=__tsover_add(__tsover_mul(m,m),__tsover_mul(p,p)),h=__tsover_sub(1,re(.98,1,y)),g=be(b(a(0),__tsover_sub(1,y))),w=__tsover_add(1,__tsover_mul(g,n)),S=__tsover_div(__tsover_mul(__tsover_div(m,w),o),2),T=__tsover_div(__tsover_mul(__tsover_div(p,w),o),2),A=__tsover_add(__tsover_div(S,i),d),P=__tsover_add(T,c),U=as(f(m,p,g));return Gm({uv:l(A,P),coverage:h,normal:U})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"center"},{type:"i",name:"radius"},{type:"i",name:"depth"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"centerX",[7,"center","x"]],[13,"centerY",[1,[5,"1"],"-",[7,"center","y"]]],[13,"cuX",[1,[1,[7,"uv","x"],"-","centerX"],"*","aspect"]],[13,"cuY",[1,[7,"uv","y"],"-","centerY"]],[13,"sphereX",[1,[1,"cuX","*",[5,"2"]],"/","radius"]],[13,"sphereY",[1,[1,"cuY","*",[5,"2"]],"/","radius"]],[13,"radiusSq",[1,[1,"sphereX","*","sphereX"],"+",[1,"sphereY","*","sphereY"]]],[13,"sphereAlpha",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0.98"],[5,"1"],"radiusSq"]]]],[13,"z",[6,"std.sqrt",[[6,"std.max",[[6,"d.f32",[[5,"0"]]],[1,[5,"1"],"-","radiusSq"]]]]]],[13,"depthFactor",[1,[5,"1"],"+",[1,"z","*","depth"]]],[13,"finalX",[1,[1,[1,"sphereX","/","depthFactor"],"*","radius"],"/",[5,"2"]]],[13,"finalY",[1,[1,[1,"sphereY","/","depthFactor"],"*","radius"],"/",[5,"2"]]],[13,"transformedX",[1,[1,"finalX","/","aspect"],"+","centerX"]],[13,"transformedY",[1,"finalY","+","centerY"]],[13,"normal",[6,"std.normalize",[[6,"d.vec3f",["sphereX","sphereY","z"]]]]],[10,[6,"SphereBulge",[[104,{uv:[6,"d.vec2f",["transformedX","transformedY"]],coverage:"sphereAlpha",normal:"normal"}]]]]]]},externals:{"std.smoothstep":()=>re,"std.sqrt":()=>be,"std.max":()=>b,"d.f32":()=>a,"std.normalize":()=>as,"d.vec3f":()=>f,SphereBulge:()=>Gm,"d.vec2f":()=>l}})&&e.f)({})),LD=v.fn([f,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=f(0,0,1),i=__tsover_add(1,__tsover_mul(4,__tsover_sub(1,o))),d=Ce(__tsover_sub(1,b(se(t,n),a(0))),i),c=__tsover_mul(__tsover_sub(s.x,.5),2),_=__tsover_mul(__tsover_sub(__tsover_sub(1,s.y),.5),2),u=as(l(__tsover_add(t.x,1e-4),__tsover_add(t.y,1e-4))),m=as(l(__tsover_add(c,1e-4),__tsover_add(_,1e-4))),p=Ce(b(a(0),se(u,m)),a(2));return __tsover_mul(__tsover_mul(__tsover_mul(d,p),r),2)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"normal"},{type:"i",name:"lightPos"},{type:"i",name:"intensity"},{type:"i",name:"softness"}],body:[0,[[13,"viewDir",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"1"]]]],[13,"fresnelPower",[1,[5,"1"],"+",[1,[5,"4"],"*",[1,[5,"1"],"-","softness"]]]],[13,"fresnel",[6,"std.pow",[[1,[5,"1"],"-",[6,"std.max",[[6,"std.dot",["normal","viewDir"]],[6,"d.f32",[[5,"0"]]]]]],"fresnelPower"]]],[13,"lightDir2Dx",[1,[1,[7,"lightPos","x"],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"lightDir2Dy",[1,[1,[1,[5,"1"],"-",[7,"lightPos","y"]],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"normalDir",[6,"std.normalize",[[6,"d.vec2f",[[1,[7,"normal","x"],"+",[5,"0.0001"]],[1,[7,"normal","y"],"+",[5,"0.0001"]]]]]]],[13,"lightDirNorm",[6,"std.normalize",[[6,"d.vec2f",[[1,"lightDir2Dx","+",[5,"0.0001"]],[1,"lightDir2Dy","+",[5,"0.0001"]]]]]]],[13,"directionality",[6,"std.max",[[6,"d.f32",[[5,"0"]]],[6,"std.dot",["normalDir","lightDirNorm"]]]]],[13,"directionalBias",[6,"std.pow",["directionality",[6,"d.f32",[[5,"2"]]]]]],[10,[1,[1,[1,"fresnel","*","directionalBias"],"*","intensity"],"*",[5,"2"]]]]]},externals:{"d.vec3f":()=>f,"std.pow":()=>Ce,"std.max":()=>b,"std.dot":()=>se,"d.f32":()=>a,"std.normalize":()=>as,"d.vec2f":()=>l}})&&e.f)({})),ID=v.fn([x,f,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return x(__tsover_add(t.x,__tsover_mul(s.x,r)),__tsover_add(t.y,__tsover_mul(s.y,r)),__tsover_add(t.z,__tsover_mul(s.z,r)),__tsover_mul(t.w,o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"straight"},{type:"i",name:"lightColor"},{type:"i",name:"rim"},{type:"i",name:"coverage"}],body:[0,[[13,"r",[1,[7,"straight","x"],"+",[1,[7,"lightColor","x"],"*","rim"]]],[13,"g",[1,[7,"straight","y"],"+",[1,[7,"lightColor","y"],"*","rim"]]],[13,"b",[1,[7,"straight","z"],"+",[1,[7,"lightColor","z"],"*","rim"]]],[13,"a",[1,[7,"straight","w"],"*","coverage"]],[10,[6,"d.vec4f",["r","g","b","a"]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({}));var z3=1/360,DD=v.fn([l,l,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=hm(t),d=hm(s),c=d.sub(i),_=j(c),u=as(c),m=b(n.y,1e-6),p=__tsover_div(n.x,m),y=__tsover_mul(__tsover_mul(r,Le),-1),h=H(y),g=Y(y),w=i.add(d).mul(.5),S=o.sub(w),T=Eo(l(__tsover_mul(S.x,p),S.y),h,g),A=se(l(__tsover_div(T.x,p),T.y).add(w).sub(i),u);return __tsover_div(A,b(_,1e-6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"start"},{type:"i",name:"end"},{type:"i",name:"angle"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"startPos",[6,"unflipPosition",["start"]]],[13,"endPos",[6,"unflipPosition",["end"]]],[13,"gradientVector",[6,[7,"endPos","sub"],["startPos"]]],[13,"gradientLength",[6,"std.length",["gradientVector"]]],[13,"gradientDir",[6,"std.normalize",["gradientVector"]]],[13,"safeViewportY",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]],[13,"aspect",[1,[7,"viewport","x"],"/","safeViewportY"]],[13,"angleRad",[1,[1,"angle","*","DEG_TO_RAD"],"*",[4,"-",[5,"1"]]]],[13,"cosAngle",[6,"std.cos",["angleRad"]]],[13,"sinAngle",[6,"std.sin",["angleRad"]]],[13,"midpoint",[6,[7,[6,[7,"startPos","add"],["endPos"]],"mul"],[[5,"0.5"]]]],[13,"centeredUV",[6,[7,"uv","sub"],["midpoint"]]],[13,"rotated",[6,"geom.rotate2",[[6,"d.vec2f",[[1,[7,"centeredUV","x"],"*","aspect"],[7,"centeredUV","y"]]],"cosAngle","sinAngle"]]],[13,"rotatedUV",[6,[7,[6,"d.vec2f",[[1,[7,"rotated","x"],"/","aspect"],[7,"rotated","y"]]],"add"],["midpoint"]]],[13,"relativePos",[6,[7,"rotatedUV","sub"],["startPos"]]],[13,"projection",[6,"std.dot",["relativePos","gradientDir"]]],[10,[1,"projection","/",[6,"std.max",["gradientLength",[5,"0.000001"]]]]]]]},externals:{unflipPosition:()=>hm,"std.length":()=>j,"std.normalize":()=>as,"std.max":()=>b,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"geom.rotate2":()=>Eo,"d.vec2f":()=>l,"std.dot":()=>se}})&&e.f)({})),FD=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=bo(z(t),2);return C(s,__tsover_sub(2,s),s>1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[13,"m",[6,"std.mod",[[6,"std.abs",["t"]],[5,"2"]]]],[10,[6,"std.select",["m",[1,[5,"2"],"-","m"],[1,"m",">",[5,"1"]]]]]]]},externals:{"std.mod":()=>bo,"std.abs":()=>z,"std.select":()=>C}})&&e.f)({})),BD=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[6,"std.fract",["t"]]]]]},externals:{"std.fract":()=>ue}})&&e.f)({})),WD=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return $(t,0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[6,"std.clamp",["t",[5,"0"],[5,"1"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),OD=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=C(a(0),a(1),t>=0),r=C(a(0),a(1),t<=1);return __tsover_mul(s,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[13,"inLow",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"t",">=",[5,"0"]]]]],[13,"inHigh",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"t","<=",[5,"1"]]]]],[10,[1,"inLow","*","inHigh"]]]]},externals:{"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})),VD=v.fn([l,a,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ua(n,t,i),c=__tsover_mul(s,Le),_=Eo(d,H(c),-Y(c)),u=j(l(__tsover_mul(_.x,r),_.y)),m=b(o,1e-6);return __tsover_div(u,m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"skewAngle"},{type:"i",name:"ellipseAspect"},{type:"i",name:"radius"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"delta",[6,"aspectCenteredDelta",["uv","center","viewport"]]],[13,"skewRad",[1,"skewAngle","*","DEG_TO_RAD"]],[13,"cosS",[6,"std.cos",["skewRad"]]],[13,"sinS",[6,"std.sin",["skewRad"]]],[13,"rotated",[6,"geom.rotate2",["delta","cosS",[4,"-","sinS"]]]],[13,"stretched",[6,"d.vec2f",[[1,[7,"rotated","x"],"*","ellipseAspect"],[7,"rotated","y"]]]],[13,"dist",[6,"std.length",["stretched"]]],[13,"safeRadius",[6,"std.max",["radius",[5,"0.000001"]]]],[10,[1,"dist","/","safeRadius"]]]]},externals:{aspectCenteredDelta:()=>ua,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"geom.rotate2":()=>Eo,"d.vec2f":()=>l,"std.length":()=>j,"std.max":()=>b}})&&e.f)({})),ND=v.fn([l,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=ua(r,t,o),i=tt(n.y,n.x),d=__tsover_sub(.5,__tsover_div(i,it)),c=__tsover_mul(s,z3);return __tsover_add(d,c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"rotation"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"delta",[6,"aspectCenteredDelta",["uv","center","viewport"]]],[13,"angle",[6,"std.atan2",[[7,"delta","y"],[7,"delta","x"]]]],[13,"normalized",[1,[5,"0.5"],"-",[1,"angle","/","TAU"]]],[13,"rotationFraction",[1,"rotation","*","INV_360"]],[10,[1,"normalized","+","rotationFraction"]]]]},externals:{aspectCenteredDelta:()=>ua,"std.atan2":()=>tt,TAU:()=>it,INV_360:()=>z3}})&&e.f)({})),qD=v.fn([l,a,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ua(n,t,i),c=__tsover_mul(r,Le),_=Eo(d,H(c),-Y(c)),u=z(_.x),m=z(_.y),p=X(__tsover_add(u,m),b(u,m),o);return __tsover_div(p,s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"size"},{type:"i",name:"rotation"},{type:"i",name:"roundness"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"delta",[6,"aspectCenteredDelta",["uv","center","viewport"]]],[13,"rotRad",[1,"rotation","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rotated",[6,"geom.rotate2",["delta","cosR",[4,"-","sinR"]]]],[13,"absDx",[6,"std.abs",[[7,"rotated","x"]]]],[13,"absDy",[6,"std.abs",[[7,"rotated","y"]]]],[13,"l1",[1,"absDx","+","absDy"]],[13,"linf",[6,"std.max",["absDx","absDy"]]],[13,"dist",[6,"std.mix",["l1","linf","roundness"]]],[10,[1,"dist","/","size"]]]]},externals:{aspectCenteredDelta:()=>ua,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"geom.rotate2":()=>Eo,"std.abs":()=>z,"std.max":()=>b,"std.mix":()=>X}})&&e.f)({})),XD=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(t,s);return C($(r,0,1),ue(r),s>1.0001)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"repeat"}],body:[0,[[13,"s",[1,"t","*","repeat"]],[10,[6,"std.select",[[6,"std.clamp",["s",[5,"0"],[5,"1"]]],[6,"std.fract",["s"]],[1,"repeat",">",[5,"1.0001"]]]]]]]},externals:{"std.select":()=>C,"std.clamp":()=>$,"std.fract":()=>ue}})&&e.f)({})),HD=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return ue(__tsover_mul(t,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"repeat"}],body:[0,[[10,[6,"std.fract",[[1,"t","*","repeat"]]]]]]},externals:{"std.fract":()=>ue}})&&e.f)({})),jD=v.fn([l,l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,Le),d=bt(s),c=__tsover_add(Dl(ma(t,d),H(i),Y(i)),__tsover_mul(d,.5));return ue(__tsover_add(__tsover_mul(__tsover_mul(c,o),.2),n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"scale"},{type:"i",name:"animTime"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"projectedCoord",[1,[6,"directionalProjection",[[6,"canvasCentredDelta",["uv","aspect"]],[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]],"+",[1,"aspect","*",[5,"0.5"]]]],[10,[6,"std.fract",[[1,[1,[1,"projectedCoord","*","scale"],"*",[5,"0.2"]],"+","animTime"]]]]]]},externals:{DEG_TO_RAD:()=>Le,"geom.aspectOf":()=>bt,directionalProjection:()=>Dl,canvasCentredDelta:()=>ma,"std.cos":()=>H,"std.sin":()=>Y,"std.fract":()=>ue}})&&e.f)({})),KD=v.fn([a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_mul(t,6);return x($(__tsover_sub(z(__tsover_sub(s,3)),1),0,1),$(__tsover_sub(2,z(__tsover_sub(s,2))),0,1),$(__tsover_sub(2,z(__tsover_sub(s,4))),0,1),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[13,"h6",[1,"t","*",[5,"6"]]],[13,"r",[6,"std.clamp",[[1,[6,"std.abs",[[1,"h6","-",[5,"3"]]]],"-",[5,"1"]],[5,"0"],[5,"1"]]]],[13,"g",[6,"std.clamp",[[1,[5,"2"],"-",[6,"std.abs",[[1,"h6","-",[5,"2"]]]]],[5,"0"],[5,"1"]]]],[13,"b",[6,"std.clamp",[[1,[5,"2"],"-",[6,"std.abs",[[1,"h6","-",[5,"4"]]]]],[5,"0"],[5,"1"]]]],[10,[6,"d.vec4f",["r","g","b",[5,"1"]]]]]]},externals:{"std.clamp":()=>$,"std.abs":()=>z,"d.vec4f":()=>x}})&&e.f)({})),ZD=v.fn([a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_mul(t,3);return l(ue(s),q(s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[13,"t3",[1,"t","*",[5,"3"]]],[10,[6,"d.vec2f",[[6,"std.fract",["t3"]],[6,"std.floor",["t3"]]]]]]]},externals:{"d.vec2f":()=>l,"std.fract":()=>ue,"std.floor":()=>q}})&&e.f)({})),QD=v.fn([x,x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return X(X(r,s,De(o,1.5)),t,De(o,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"c01"},{type:"i",name:"c12"},{type:"i",name:"c20"},{type:"i",name:"floorT3"}],body:[0,[[13,"seg1",[6,"std.mix",["c20","c12",[6,"std.step",["floorT3",[5,"1.5"]]]]]],[10,[6,"std.mix",["seg1","c01",[6,"std.step",["floorT3",[5,"0.5"]]]]]]]]},externals:{"std.mix":()=>X,"std.step":()=>De}})&&e.f)({})),G3=v.fn([l,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_div(n.x,n.y),d=__tsover_sub(__tsover_mul(o.x,i),__tsover_mul(t.x,i)),c=__tsover_sub(o.y,__tsover_sub(1,t.y)),_=j(l(d,c)),u=__tsover_sub(tt(c,d),r);return __tsover_add(__tsover_mul(_,s),__tsover_div(u,ao))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"scale"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"dx",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,[7,"center","x"],"*","aspect"]]],[13,"dy",[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]],[13,"l",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[13,"angle",[1,[6,"std.atan2",["dy","dx"]],"-","animTime"]],[10,[1,[1,"l","*","scale"],"+",[1,"angle","/","TWO_PI"]]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.atan2":()=>tt,TWO_PI:()=>ao}})&&e.f)({})),JD=v.fn([l,a,a,a,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_div(c.x,c.y),u=j(l(__tsover_sub(__tsover_mul(d.x,_),__tsover_mul(t.x,_)),__tsover_sub(d.y,__tsover_sub(1,t.y)))),m=G3(t,s,i,d,c),p=ue(m),y=__tsover_mul(z(__tsover_sub(p,.5)),2),h=$(r,__tsover_mul(o,.005),1),g=__tsover_sub(1,__tsover_mul($(o,0,1),u)),w=__tsover_mul(h,g),S=Zt(m),T=__tsover_sub(4,__tsover_mul(__tsover_mul(re(.05,.4,__tsover_mul(r,2)),re(.05,.4,__tsover_mul(__tsover_sub(1,r),2))),3)),A=X(__tsover_mul(T,S),Zt(y),$(S,0,1));return re(__tsover_sub(__tsover_sub(w,A),n),__tsover_add(__tsover_add(w,A),n),y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"scale"},{type:"i",name:"strokeWidth"},{type:"i",name:"strokeFalloff"},{type:"i",name:"softness"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"dx",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,[7,"center","x"],"*","aspect"]]],[13,"dy",[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]],[13,"l",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[13,"offset",[6,"spiralOffset",["center","scale","animTime","uv","viewport"]]],[13,"stripe",[6,"std.fract",["offset"]]],[13,"shape",[1,[6,"std.abs",[[1,"stripe","-",[5,"0.5"]]]],"*",[5,"2"]]],[13,"baseWidth",[6,"std.clamp",["strokeWidth",[1,"strokeFalloff","*",[5,"0.005"]],[5,"1"]]]],[13,"falloffAmount",[1,[5,"1"],"-",[1,[6,"std.clamp",["strokeFalloff",[5,"0"],[5,"1"]]],"*","l"]]],[13,"width",[1,"baseWidth","*","falloffAmount"]],[13,"fw",[6,"std.fwidth",["offset"]]],[13,"fwMult",[1,[5,"4"],"-",[1,[1,[6,"std.smoothstep",[[5,"0.05"],[5,"0.4"],[1,"strokeWidth","*",[5,"2"]]]],"*",[6,"std.smoothstep",[[5,"0.05"],[5,"0.4"],[1,[1,[5,"1"],"-","strokeWidth"],"*",[5,"2"]]]]],"*",[5,"3"]]]],[13,"pixelSize",[6,"std.mix",[[1,"fwMult","*","fw"],[6,"std.fwidth",["shape"]],[6,"std.clamp",["fw",[5,"0"],[5,"1"]]]]]],[10,[6,"std.smoothstep",[[1,[1,"width","-","pixelSize"],"-","softness"],[1,[1,"width","+","pixelSize"],"+","softness"],"shape"]]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,spiralOffset:()=>G3,"std.fract":()=>ue,"std.abs":()=>z,"std.clamp":()=>$,"std.fwidth":()=>Zt,"std.smoothstep":()=>re,"std.mix":()=>X}})&&e.f)({})),Si=v.fn([l,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(t.x,s.x),n=__tsover_sub(t.y,s.y),i=__tsover_add(be(__tsover_add(__tsover_mul(o,o),__tsover_mul(n,n))),.001);return __tsover_div(1,Ce(i,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvAspect"},{type:"i",name:"pos"},{type:"i",name:"effPower"}],body:[0,[[13,"dx",[1,[7,"uvAspect","x"],"-",[7,"pos","x"]]],[13,"dy",[1,[7,"uvAspect","y"],"-",[7,"pos","y"]]],[13,"dist",[1,[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]],"+",[5,"0.001"]]],[10,[1,[5,"1"],"/",[6,"std.pow",["dist","effPower"]]]]]]},externals:{"std.sqrt":()=>be,"std.pow":()=>Ce}})&&e.f)({})),eF=v.fn([l,l,l,l,l,l,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=bt(s),u=l(__tsover_mul(t.x,_),t.y),m=bn(r,_),p=bn(o,_),y=bn(n,_),h=bn(i,_),g=bn(d,_),w=oe(__tsover_div(8,__tsover_add(c,.5)),8),S=Si(u,m,w),T=Si(u,p,w),A=Si(u,y,w),P=Si(u,h,w),U=Si(u,g,w),D=S,O=__tsover_div(T,__tsover_add(D,T)),L=__tsover_add(D,T),G=__tsover_div(A,__tsover_add(L,A)),W=__tsover_add(L,A),K=__tsover_div(P,__tsover_add(W,P)),Q=__tsover_add(W,P);return x(O,G,K,__tsover_div(U,__tsover_add(Q,U)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"vp"},{type:"i",name:"posA"},{type:"i",name:"posB"},{type:"i",name:"posC"},{type:"i",name:"posD"},{type:"i",name:"posE"},{type:"i",name:"smoothness"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["vp"]]],[13,"uvAspect",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"pA",[6,"aspectCentrePosition",["posA","aspect"]]],[13,"pB",[6,"aspectCentrePosition",["posB","aspect"]]],[13,"pC",[6,"aspectCentrePosition",["posC","aspect"]]],[13,"pD",[6,"aspectCentrePosition",["posD","aspect"]]],[13,"pE",[6,"aspectCentrePosition",["posE","aspect"]]],[13,"effPower",[6,"std.min",[[1,[5,"8"],"/",[1,"smoothness","+",[5,"0.5"]]],[5,"8"]]]],[13,"wA",[6,"mpgWeight",["uvAspect","pA","effPower"]]],[13,"wB",[6,"mpgWeight",["uvAspect","pB","effPower"]]],[13,"wC",[6,"mpgWeight",["uvAspect","pC","effPower"]]],[13,"wD",[6,"mpgWeight",["uvAspect","pD","effPower"]]],[13,"wE",[6,"mpgWeight",["uvAspect","pE","effPower"]]],[13,"accW1","wA"],[13,"t1",[1,"wB","/",[1,"accW1","+","wB"]]],[13,"accW2",[1,"accW1","+","wB"]],[13,"t2",[1,"wC","/",[1,"accW2","+","wC"]]],[13,"accW3",[1,"accW2","+","wC"]],[13,"t3",[1,"wD","/",[1,"accW3","+","wD"]]],[13,"accW4",[1,"accW3","+","wD"]],[13,"t4",[1,"wE","/",[1,"accW4","+","wE"]]],[10,[6,"d.vec4f",["t1","t2","t3","t4"]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,aspectCentrePosition:()=>bn,"std.min":()=>oe,mpgWeight:()=>Si,"d.vec4f":()=>x}})&&e.f)({})),tF=v.fn([l,l,l,l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=bt(s),u=l(r.x,__tsover_sub(1,r.y)),m=l(o.x,__tsover_sub(1,o.y)),p=l(__tsover_mul(u.x,_),u.y),y=l(__tsover_mul(m.x,_),m.y),h=t3(l(__tsover_mul(t.x,_),t.y),p,y),g=s3(h.y,h.x,__tsover_mul(n,.25),__tsover_mul(i,.25),d,c),w=g.x,S=g.y;return l(w,S)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"vp"},{type:"i",name:"start"},{type:"i",name:"end"},{type:"i",name:"startThickness"},{type:"i",name:"endThickness"},{type:"i",name:"startSoftness"},{type:"i",name:"endSoftness"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["vp"]]],[13,"startPos",[6,"d.vec2f",[[7,"start","x"],[1,[5,"1"],"-",[7,"start","y"]]]]],[13,"endPos",[6,"d.vec2f",[[7,"end","x"],[1,[5,"1"],"-",[7,"end","y"]]]]],[13,"acStart",[6,"d.vec2f",[[1,[7,"startPos","x"],"*","aspect"],[7,"startPos","y"]]]],[13,"acEnd",[6,"d.vec2f",[[1,[7,"endPos","x"],"*","aspect"],[7,"endPos","y"]]]],[13,"acUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"proj",[6,"lightfields.pointToSegment",["acUV","acStart","acEnd"]]],[13,"field",[6,"lightfields.taperedSegmentGlow",[[7,"proj","y"],[7,"proj","x"],[1,"startThickness","*",[5,"0.25"]],[1,"endThickness","*",[5,"0.25"]],"startSoftness","endSoftness"]]],[13,"colorT",[7,"field","x"]],[13,"alpha",[7,"field","y"]],[10,[6,"d.vec2f",["colorT","alpha"]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,"lightfields.pointToSegment":()=>t3,"lightfields.taperedSegmentGlow":()=>s3}})&&e.f)({})),sF=t7({domain:"unit",contrastMode:"multiplicative",invert:!0,glowGamma:!0,balance:"percentCentred"}),rF=v.fn([l,l,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s);return f(__tsover_mul(t.x,o),t.y,0).mul(ct(__tsover_sub(r,1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"scale"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"base",[6,"d.vec3f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"],[5,"0"]]]],[10,[6,[7,"base","mul"],[[6,"std.exp",[[1,"scale","-",[5,"1"]]]]]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec3f":()=>f,"std.exp":()=>ct}})&&e.f)({})),oF=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_mul(go(t),.5),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"}],body:[0,[[10,[1,[1,[6,"noise.mxNoiseFloat3",["pos"]],"*",[5,"0.5"]],"+",[5,"0.5"]]]]]},externals:{"noise.mxNoiseFloat3":()=>go}})&&e.f)({})),nF=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=r,n=s,i=l(__tsover_add(t.x,__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(t.y,__tsover_mul(n,1.7)),__tsover_mul(o,.8))),.12),__tsover_mul(H(__tsover_sub(__tsover_mul(t.x,__tsover_mul(n,.9)),__tsover_mul(o,.5))),.05))),__tsover_add(t.y,__tsover_add(__tsover_mul(H(__tsover_sub(__tsover_mul(t.x,__tsover_mul(n,1.3)),__tsover_mul(o,.6))),.12),__tsover_mul(Y(__tsover_add(__tsover_mul(t.y,__tsover_mul(n,1.1)),__tsover_mul(o,.7))),.05)))),d=Y(__tsover_add(__tsover_add(__tsover_mul(i.x,__tsover_mul(n,2.1)),__tsover_mul(i.y,__tsover_mul(n,1.8))),__tsover_mul(o,.4))),c=__tsover_mul(s,2.1),_=l(__tsover_add(i.x,__tsover_add(__tsover_mul(H(__tsover_sub(__tsover_mul(i.y,__tsover_mul(c,2.7)),__tsover_mul(o,.45))),.07),__tsover_mul(Y(__tsover_add(__tsover_mul(i.x,__tsover_mul(c,1.9)),__tsover_mul(o,.6))),.04))),__tsover_add(i.y,__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(i.x,__tsover_mul(c,2.3)),__tsover_mul(o,.65))),.07),__tsover_mul(H(__tsover_sub(__tsover_mul(i.y,__tsover_mul(c,1.6)),__tsover_mul(o,.4))),.04)))),u=H(__tsover_add(__tsover_sub(__tsover_mul(_.x,__tsover_mul(c,1.4)),__tsover_mul(_.y,__tsover_mul(c,1.9))),__tsover_mul(o,.35))),m=__tsover_mul(s,3.7),p=l(__tsover_add(_.x,__tsover_add(__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(_.y,__tsover_mul(m,1.8)),__tsover_mul(o,.85))),.04),__tsover_mul(H(__tsover_sub(__tsover_mul(_.x,__tsover_mul(m,1.3)),__tsover_mul(o,.55))),.025)),__tsover_mul(Y(__tsover_add(__tsover_mul(__tsover_add(_.x,_.y),__tsover_mul(m,.7)),__tsover_mul(o,.9))),.02))),__tsover_add(_.y,__tsover_add(__tsover_add(__tsover_mul(H(__tsover_sub(__tsover_mul(_.x,__tsover_mul(m,1.6)),__tsover_mul(o,.75))),.04),__tsover_mul(Y(__tsover_add(__tsover_mul(_.y,__tsover_mul(m,1.1)),__tsover_mul(o,.5))),.025)),__tsover_mul(H(__tsover_sub(__tsover_mul(__tsover_add(_.x,_.y),__tsover_mul(m,.8)),__tsover_mul(o,.95))),.02)))),y=Y(__tsover_sub(__tsover_add(__tsover_mul(p.x,__tsover_mul(m,1.1)),__tsover_mul(p.y,__tsover_mul(m,1.5))),__tsover_mul(o,.55)));return __tsover_add(__tsover_add(__tsover_mul(d,.45),__tsover_mul(u,.35)),__tsover_mul(y,.2))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"detail"},{type:"i",name:"animTime"}],body:[0,[[13,"t","animTime"],[13,"freq1","detail"],[13,"d1",[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[1,[6,"std.sin",[[1,[1,[7,"uv","y"],"*",[1,"freq1","*",[5,"1.7"]]],"+",[1,"t","*",[5,"0.8"]]]]],"*",[5,"0.12"]],"+",[1,[6,"std.cos",[[1,[1,[7,"uv","x"],"*",[1,"freq1","*",[5,"0.9"]]],"-",[1,"t","*",[5,"0.5"]]]]],"*",[5,"0.05"]]]],[1,[7,"uv","y"],"+",[1,[1,[6,"std.cos",[[1,[1,[7,"uv","x"],"*",[1,"freq1","*",[5,"1.3"]]],"-",[1,"t","*",[5,"0.6"]]]]],"*",[5,"0.12"]],"+",[1,[6,"std.sin",[[1,[1,[7,"uv","y"],"*",[1,"freq1","*",[5,"1.1"]]],"+",[1,"t","*",[5,"0.7"]]]]],"*",[5,"0.05"]]]]]]],[13,"pattern1",[6,"std.sin",[[1,[1,[1,[7,"d1","x"],"*",[1,"freq1","*",[5,"2.1"]]],"+",[1,[7,"d1","y"],"*",[1,"freq1","*",[5,"1.8"]]]],"+",[1,"t","*",[5,"0.4"]]]]]],[13,"freq2",[1,"detail","*",[5,"2.1"]]],[13,"d2",[6,"d.vec2f",[[1,[7,"d1","x"],"+",[1,[1,[6,"std.cos",[[1,[1,[7,"d1","y"],"*",[1,"freq2","*",[5,"2.7"]]],"-",[1,"t","*",[5,"0.45"]]]]],"*",[5,"0.07"]],"+",[1,[6,"std.sin",[[1,[1,[7,"d1","x"],"*",[1,"freq2","*",[5,"1.9"]]],"+",[1,"t","*",[5,"0.6"]]]]],"*",[5,"0.04"]]]],[1,[7,"d1","y"],"+",[1,[1,[6,"std.sin",[[1,[1,[7,"d1","x"],"*",[1,"freq2","*",[5,"2.3"]]],"+",[1,"t","*",[5,"0.65"]]]]],"*",[5,"0.07"]],"+",[1,[6,"std.cos",[[1,[1,[7,"d1","y"],"*",[1,"freq2","*",[5,"1.6"]]],"-",[1,"t","*",[5,"0.4"]]]]],"*",[5,"0.04"]]]]]]],[13,"pattern2",[6,"std.cos",[[1,[1,[1,[7,"d2","x"],"*",[1,"freq2","*",[5,"1.4"]]],"-",[1,[7,"d2","y"],"*",[1,"freq2","*",[5,"1.9"]]]],"+",[1,"t","*",[5,"0.35"]]]]]],[13,"freq3",[1,"detail","*",[5,"3.7"]]],[13,"d3",[6,"d.vec2f",[[1,[7,"d2","x"],"+",[1,[1,[1,[6,"std.sin",[[1,[1,[7,"d2","y"],"*",[1,"freq3","*",[5,"1.8"]]],"+",[1,"t","*",[5,"0.85"]]]]],"*",[5,"0.04"]],"+",[1,[6,"std.cos",[[1,[1,[7,"d2","x"],"*",[1,"freq3","*",[5,"1.3"]]],"-",[1,"t","*",[5,"0.55"]]]]],"*",[5,"0.025"]]],"+",[1,[6,"std.sin",[[1,[1,[1,[7,"d2","x"],"+",[7,"d2","y"]],"*",[1,"freq3","*",[5,"0.7"]]],"+",[1,"t","*",[5,"0.9"]]]]],"*",[5,"0.02"]]]],[1,[7,"d2","y"],"+",[1,[1,[1,[6,"std.cos",[[1,[1,[7,"d2","x"],"*",[1,"freq3","*",[5,"1.6"]]],"-",[1,"t","*",[5,"0.75"]]]]],"*",[5,"0.04"]],"+",[1,[6,"std.sin",[[1,[1,[7,"d2","y"],"*",[1,"freq3","*",[5,"1.1"]]],"+",[1,"t","*",[5,"0.5"]]]]],"*",[5,"0.025"]]],"+",[1,[6,"std.cos",[[1,[1,[1,[7,"d2","x"],"+",[7,"d2","y"]],"*",[1,"freq3","*",[5,"0.8"]]],"-",[1,"t","*",[5,"0.95"]]]]],"*",[5,"0.02"]]]]]]],[13,"pattern3",[6,"std.sin",[[1,[1,[1,[7,"d3","x"],"*",[1,"freq3","*",[5,"1.1"]]],"+",[1,[7,"d3","y"],"*",[1,"freq3","*",[5,"1.5"]]]],"-",[1,"t","*",[5,"0.55"]]]]]],[10,[1,[1,[1,"pattern1","*",[5,"0.45"]],"+",[1,"pattern2","*",[5,"0.35"]]],"+",[1,"pattern3","*",[5,"0.2"]]]]]]},externals:{"d.vec2f":()=>l,"std.sin":()=>Y,"std.cos":()=>H}})&&e.f)({})),aF=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return re(r,o,__tsover_add(__tsover_add(__tsover_mul(t,.5),.5),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pattern"},{type:"i",name:"bias"},{type:"i",name:"low"},{type:"i",name:"high"}],body:[0,[[13,"normalized",[1,[1,[1,"pattern","*",[5,"0.5"]],"+",[5,"0.5"]],"+","bias"]],[10,[6,"std.smoothstep",["low","high","normalized"]]]]]},externals:{"std.smoothstep":()=>re}})&&e.f)({})),iF=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return __tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(s,r),__tsover_mul(t,o))),n),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pattern"},{type:"i",name:"animTime"},{type:"i",name:"speed"},{type:"i",name:"span"},{type:"i",name:"depth"}],body:[0,[[10,[1,[1,[6,"std.sin",[[1,[1,"animTime","*","speed"],"+",[1,"pattern","*","span"]]]],"*","depth"],"+",[5,"1"]]]]]},externals:{"std.sin":()=>Y}})&&e.f)({})),Nd=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ot(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"noise.hash12",["p"]]]]]},externals:{"noise.hash12":()=>Ot}})&&e.f)({})),Ym=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=ue(t),o=Nd(s),n=Nd(l(__tsover_add(s.x,1),s.y)),i=Nd(l(s.x,__tsover_add(s.y,1))),d=Nd(l(__tsover_add(s.x,1),__tsover_add(s.y,1))),c=r.mul(r).mul(r.mul(-2).add(3));return X(X(o,n,c.x),X(i,d,c.x),c.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"st"}],body:[0,[[13,"i",[6,"std.floor",["st"]]],[13,"f",[6,"std.fract",["st"]]],[13,"a",[6,"godraysHash",["i"]]],[13,"b",[6,"godraysHash",[[6,"d.vec2f",[[1,[7,"i","x"],"+",[5,"1"]],[7,"i","y"]]]]]],[13,"c",[6,"godraysHash",[[6,"d.vec2f",[[7,"i","x"],[1,[7,"i","y"],"+",[5,"1"]]]]]]],[13,"e",[6,"godraysHash",[[6,"d.vec2f",[[1,[7,"i","x"],"+",[5,"1"]],[1,[7,"i","y"],"+",[5,"1"]]]]]]],[13,"u",[6,[7,[6,[7,"f","mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[4,"-",[5,"2"]]]],"add"],[[5,"3"]]]]]],[13,"x1",[6,"std.mix",["a","b",[7,"u","x"]]]],[13,"x2",[6,"std.mix",["c","e",[7,"u","x"]]]],[10,[6,"std.mix",["x1","x2",[7,"u","y"]]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,godraysHash:()=>Nd,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),Lm=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ce(Ym(l(__tsover_mul(t,n),o)),i);return X(Ce(Ym(l(__tsover_mul(s,n),o)),i),d,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a"},{type:"i",name:"aWrapped"},{type:"i",name:"blend"},{type:"i",name:"r"},{type:"i",name:"freq"},{type:"i",name:"intensity"}],body:[0,[[13,"nLeft",[6,"std.pow",[[6,"godraysValueNoise",[[6,"d.vec2f",[[1,"a","*","freq"],"r"]]]],"intensity"]]],[13,"nRight",[6,"std.pow",[[6,"godraysValueNoise",[[6,"d.vec2f",[[1,"aWrapped","*","freq"],"r"]]]],"intensity"]]],[10,[6,"std.mix",["nRight","nLeft","blend"]]]]]},externals:{"std.pow":()=>Ce,godraysValueNoise:()=>Ym,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),mz=v.fn([l,l,l],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=l(r.x,__tsover_sub(1,r.y)),i=t.sub(n),d=l(__tsover_mul(i.x,o),i.y),c=e3(d);return x(c.x,c.y,c.z,j(d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"center"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"uv","sub"],["centerPos"]]],[13,"shapeUV",[6,"d.vec2f",[[1,[7,"delta","x"],"*","aspect"],[7,"delta","y"]]]],[13,"ang",[6,"lightfields.seamlessAngularField",["shapeUV"]]],[10,[6,"d.vec4f",[[7,"ang","x"],[7,"ang","y"],[7,"ang","z"],[6,"std.length",["shapeUV"]]]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,"lightfields.seamlessAngularField":()=>e3,"d.vec4f":()=>x,"std.length":()=>j}})&&e.f)({})),Im=v.fn([x,a,a,a,a,x,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_sub(__tsover_mul(t.w,i.x),__tsover_mul(s,i.y)),_=__tsover_sub(__tsover_mul(__tsover_mul(t.w,i.z),__tsover_add(1,r)),__tsover_mul(s,i.w)),u=__tsover_mul(n,d.x),m=Lm(t.x,t.y,t.z,c,u,o),p=Lm(t.x,t.y,t.z,_,__tsover_mul(u,d.y),o);return __tsover_mul(m,p)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"frame"},{type:"i",name:"animTime"},{type:"i",name:"spots"},{type:"i",name:"intensityCalc"},{type:"i",name:"dens"},{type:"i",name:"sched"},{type:"i",name:"freqs"}],body:[0,[[13,"rA",[1,[1,[7,"frame","w"],"*",[7,"sched","x"]],"-",[1,"animTime","*",[7,"sched","y"]]]],[13,"rB",[1,[1,[1,[7,"frame","w"],"*",[7,"sched","z"]],"*",[1,[5,"1"],"+","spots"]],"-",[1,"animTime","*",[7,"sched","w"]]]],[13,"f",[1,"dens","*",[7,"freqs","x"]]],[13,"shapeA",[6,"godraysRaysShape",[[7,"frame","x"],[7,"frame","y"],[7,"frame","z"],"rA","f","intensityCalc"]]],[13,"shapeB",[6,"godraysRaysShape",[[7,"frame","x"],[7,"frame","y"],[7,"frame","z"],"rB",[1,"f","*",[7,"freqs","y"]],"intensityCalc"]]],[10,[1,"shapeA","*","shapeB"]]]]},externals:{godraysRaysShape:()=>Lm}})&&e.f)({})),pz=v.fn([x,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,.2),d=__tsover_mul(6.5,z(n)),c=__tsover_sub(4,__tsover_mul(3,$(o,0,1))),_=__tsover_mul(6,r),u=Im(t,i,d,c,_,x(1,3,.5,2),l(5,4)),m=Im(t,i,d,c,_,x(1.4,2.5,.7,1.8),l(4.5,3.5));return $(__tsover_add(u,__tsover_mul(m,.7)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"frame"},{type:"i",name:"animTimeRaw"},{type:"i",name:"density"},{type:"i",name:"intensity"},{type:"i",name:"spotty"}],body:[0,[[13,"animTime",[1,"animTimeRaw","*",[5,"0.2"]]],[13,"spots",[1,[5,"6.5"],"*",[6,"std.abs",["spotty"]]]],[13,"intensityCalc",[1,[5,"4"],"-",[1,[5,"3"],"*",[6,"std.clamp",["intensity",[5,"0"],[5,"1"]]]]]],[13,"dens",[1,[5,"6"],"*","density"]],[13,"layer1",[6,"godraysRayLayer",["frame","animTime","spots","intensityCalc","dens",[6,"d.vec4f",[[5,"1"],[5,"3"],[5,"0.5"],[5,"2"]]],[6,"d.vec2f",[[5,"5"],[5,"4"]]]]]],[13,"layer2",[6,"godraysRayLayer",["frame","animTime","spots","intensityCalc","dens",[6,"d.vec4f",[[5,"1.4"],[5,"2.5"],[5,"0.7"],[5,"1.8"]]],[6,"d.vec2f",[[5,"4.5"],[5,"3.5"]]]]]],[10,[6,"std.clamp",[[1,"layer1","+",[1,"layer2","*",[5,"0.7"]]],[5,"0"],[5,"1"]]]]]]},externals:{"std.abs":()=>z,"std.clamp":()=>$,godraysRayLayer:()=>Im,"d.vec4f":()=>x,"d.vec2f":()=>l}})&&e.f)({})),fz=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r,t.w),n=__tsover_add(o,__tsover_mul(s.w,__tsover_sub(1,o))),i=$(n,.001,1),d=t.xyz.mul(o),c=s.xyz.mul(s.w).mul(__tsover_sub(1,o));return x(d.add(c).div(i),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rayColor"},{type:"i",name:"bgColor"},{type:"i",name:"coverage"}],body:[0,[[13,"rayA",[1,"coverage","*",[7,"rayColor","w"]]],[13,"finalAlpha",[1,"rayA","+",[1,[7,"bgColor","w"],"*",[1,[5,"1"],"-","rayA"]]]],[13,"safeAlpha",[6,"std.clamp",["finalAlpha",[5,"0.001"],[5,"1"]]]],[13,"rayContribution",[6,[7,[7,"rayColor","xyz"],"mul"],["rayA"]]],[13,"bgContribution",[6,[7,[6,[7,[7,"bgColor","xyz"],"mul"],[[7,"bgColor","w"]]],"mul"],[[1,[5,"1"],"-","rayA"]]]],[13,"finalColor",[6,[7,[6,[7,"rayContribution","add"],["bgContribution"]],"div"],["safeAlpha"]]],[10,[6,"d.vec4f",["finalColor","finalAlpha"]]]]]},externals:{"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})),dF=v.fn([a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Br(l(__tsover_mul(t,.9),__tsover_add(__tsover_mul(s,.53),11.7))),n=Br(l(__tsover_add(__tsover_mul(t,2.7),41.3),__tsover_add(__tsover_mul(s,.29),5.1))),i=__tsover_add(__tsover_mul(o,.65),__tsover_mul(n,.35));return x(X(1,__tsover_add(.25,__tsover_mul(1.5,i)),r),Br(l(__tsover_add(__tsover_mul(t,.13),3.1),__tsover_add(__tsover_mul(s,.41),27))),Br(l(__tsover_add(__tsover_mul(t,.09),17.7),__tsover_add(__tsover_mul(s,.61),8.4))),Br(l(__tsover_add(__tsover_mul(t,.17),51.2),__tsover_add(__tsover_mul(s,.23),2.9))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"seed"},{type:"i",name:"flicker"}],body:[0,[[13,"nA",[6,"noise.value12",[[6,"d.vec2f",[[1,"t","*",[5,"0.9"]],[1,[1,"seed","*",[5,"0.53"]],"+",[5,"11.7"]]]]]]],[13,"nB",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,"t","*",[5,"2.7"]],"+",[5,"41.3"]],[1,[1,"seed","*",[5,"0.29"]],"+",[5,"5.1"]]]]]]],[13,"breathe",[1,[1,"nA","*",[5,"0.65"]],"+",[1,"nB","*",[5,"0.35"]]]],[13,"flickerMod",[6,"std.mix",[[5,"1"],[1,[5,"0.25"],"+",[1,[5,"1.5"],"*","breathe"]],"flicker"]]],[13,"evo1",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,"t","*",[5,"0.13"]],"+",[5,"3.1"]],[1,[1,"seed","*",[5,"0.41"]],"+",[5,"27"]]]]]]],[13,"evo2",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,"t","*",[5,"0.09"]],"+",[5,"17.7"]],[1,[1,"seed","*",[5,"0.61"]],"+",[5,"8.4"]]]]]]],[13,"evo3",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,"t","*",[5,"0.17"]],"+",[5,"51.2"]],[1,[1,"seed","*",[5,"0.23"]],"+",[5,"2.9"]]]]]]],[10,[6,"d.vec4f",["flickerMod","evo1","evo2","evo3"]]]]]},externals:{"noise.value12":()=>Br,"d.vec2f":()=>l,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),cF=v.fn([a,a,a,x],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=o.z,i=b(r,.05),d=__tsover_mul(i,__tsover_add(1.5,__tsover_mul(.7,n))),c=__tsover_div(t,i),_=__tsover_div(s,d);return l(Tm(c,_,1.9),__tsover_mul(Tm(c,_,.45),.22))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"u"},{type:"i",name:"v"},{type:"i",name:"spread"},{type:"i",name:"drift"}],body:[0,[[13,"evo2",[7,"drift","z"]],[13,"sp",[6,"std.max",["spread",[5,"0.05"]]]],[13,"elong",[1,"sp","*",[1,[5,"1.5"],"+",[1,[5,"0.7"],"*","evo2"]]]],[13,"du",[1,"u","/","sp"]],[13,"dv",[1,"v","/","elong"]],[13,"main",[6,"lightfields.anisotropicGaussianSpot",["du","dv",[5,"1.9"]]]],[13,"shoulder",[1,[6,"lightfields.anisotropicGaussianSpot",["du","dv",[5,"0.45"]]],"*",[5,"0.22"]]],[10,[6,"d.vec2f",["main","shoulder"]]]]]},externals:{"std.max":()=>b,"lightfields.anisotropicGaussianSpot":()=>Tm,"d.vec2f":()=>l}})&&e.f)({})),_F=v.fn([a,a,a,a,x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=n.y,d=n.z,c=n.w,_=b(r,.05),u=__tsover_mul(_,__tsover_add(1.5,__tsover_mul(.7,d))),m=__tsover_div(s,u),p=ct(__tsover_mul(__tsover_mul(m,m),-.55)),y=__tsover_mul(_,__tsover_add(.42,__tsover_mul(.22,i))),h=b(__tsover_mul(_,__tsover_add(.07,__tsover_mul(.07,c))),.008),g=__tsover_mul(Am(t,y,h),p),w=__tsover_mul(_,__tsover_add(.8,__tsover_mul(.3,i))),S=b(__tsover_mul(_,__tsover_add(.16,__tsover_mul(.12,c))),.015),T=__tsover_mul(__tsover_mul(Am(t,w,S),p),.45);return __tsover_mul(__tsover_add(g,T),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"u"},{type:"i",name:"v"},{type:"i",name:"spread"},{type:"i",name:"streaks"},{type:"i",name:"drift"}],body:[0,[[13,"evo1",[7,"drift","y"]],[13,"evo2",[7,"drift","z"]],[13,"evo3",[7,"drift","w"]],[13,"sp",[6,"std.max",["spread",[5,"0.05"]]]],[13,"elong",[1,"sp","*",[1,[5,"1.5"],"+",[1,[5,"0.7"],"*","evo2"]]]],[13,"dv",[1,"v","/","elong"]],[13,"alongFade",[6,"std.exp",[[1,[1,"dv","*","dv"],"*",[4,"-",[5,"0.55"]]]]]],[13,"s1c",[1,"sp","*",[1,[5,"0.42"],"+",[1,[5,"0.22"],"*","evo1"]]]],[13,"s1w",[6,"std.max",[[1,"sp","*",[1,[5,"0.07"],"+",[1,[5,"0.07"],"*","evo3"]]],[5,"0.008"]]]],[13,"streak1",[1,[6,"lightfields.streakBand",["u","s1c","s1w"]],"*","alongFade"]],[13,"s2c",[1,"sp","*",[1,[5,"0.8"],"+",[1,[5,"0.3"],"*","evo1"]]]],[13,"s2w",[6,"std.max",[[1,"sp","*",[1,[5,"0.16"],"+",[1,[5,"0.12"],"*","evo3"]]],[5,"0.015"]]]],[13,"streak2",[1,[1,[6,"lightfields.streakBand",["u","s2c","s2w"]],"*","alongFade"],"*",[5,"0.45"]]],[10,[1,[1,"streak1","+","streak2"],"*","streaks"]]]]},externals:{"std.max":()=>b,"std.exp":()=>ct,"lightfields.streakBand":()=>Am}})&&e.f)({})),lF=v.fn([a,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return b(__tsover_add(t,__tsover_mul(__tsover_sub(Ot(s.mul(1024).add(l(r,__tsover_mul(r,1.7)))),.5),.012)),0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"heat"},{type:"i",name:"uv"},{type:"i",name:"t"}],body:[0,[[13,"dithered",[1,"heat","+",[1,[1,[6,"noise.hash12",[[6,[7,[6,[7,"uv","mul"],[[5,"1024"]]],"add"],[[6,"d.vec2f",["t",[1,"t","*",[5,"1.7"]]]]]]]],"-",[5,"0.5"]],"*",[5,"0.012"]]]],[10,[6,"std.max",["dithered",[5,"0"]]]]]]},externals:{"noise.hash12":()=>Ot,"d.vec2f":()=>l,"std.max":()=>b}})&&e.f)({})),vz=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(t,s),o=__tsover_mul(ue(__tsover_mul(r,.5)),2);return X(__tsover_sub(1,z(__tsover_sub(o,1))),.5,re(.5,1.5,__tsover_mul(Vl(t,0),s)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"cycles"}],body:[0,[[13,"s",[1,"t","*","cycles"]],[13,"m",[1,[6,"std.fract",[[1,"s","*",[5,"0.5"]]]],"*",[5,"2"]]],[13,"band",[1,[5,"1"],"-",[6,"std.abs",[[1,"m","-",[5,"1"]]]]]],[13,"fp",[1,[6,"footprint1",["t",[5,"0"]]],"*","cycles"]],[10,[6,"std.mix",["band",[5,"0.5"],[6,"std.smoothstep",[[5,"0.5"],[5,"1.5"],"fp"]]]]]]]},externals:{"std.fract":()=>ue,"std.abs":()=>z,footprint1:()=>Vl,"std.mix":()=>X,"std.smoothstep":()=>re}})&&e.f)({}));function p7(e,t){return{guarded:e,with(s){return p7(e.with(s),t)},dispatch(){if(!t)throw new Error("[gpu] KitComputePipeline.dispatch(): no pre-bound size \u2014 pass opts.size to createGuardedCompute or call dispatchThreads(...) directly");e.dispatchThreads(...t)},dispatchThreads(...s){e.dispatchThreads(...s)}}}function qp(e,t,s={}){let r=(globalThis.__TYPEGPU_AUTONAME__??(o=>o))(e.createGuardedComputePipeline(t),"guarded");return s.bindGroup&&(r=r.with(s.bindGroup)),p7(r,s.size)}function f7(e){return{dispatch(t){for(let s of t)typeof s=="function"?s():s.dispatch()}}}function yz(e,t){let s=!1;return{a:e,b:t,orientation:()=>s?1:0,readSource:()=>s?t:e,writeTarget:()=>s?e:t,swap(){s=!s},reset(){s=!1},groups(n){let i=n(e,t),d=n(t,e);return()=>s?d:i},perSide(n){let i=n(e),d=n(t);return{read:()=>s?d:i,written:()=>s?i:d}}}}function Y3(e,t,s){return(globalThis.__TYPEGPU_AUTONAME__??(r=>r))(e.createBuffer(pt(t,s)),"buffer").$usage("storage")}var su=Le;function hz(e,t){let s=Number((t*t).toPrecision(15)),r=e-1,o=Array.from({length:e},(i,d)=>{let c=(d/r-.5)*2;return Math.exp(-.5*c*c/s)}),n=o.reduce((i,d)=>i+d);return o.map(i=>i/n)}var uF=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=b(__tsover_sub(r,s),1e-4);return X(o,n,Ce($(__tsover_div(__tsover_sub(t,s),d),0,1),Ce(2,__tsover_mul(-i,2))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"raw"},{type:"i",name:"inputMin"},{type:"i",name:"inputMax"},{type:"i",name:"outputMin"},{type:"i",name:"outputMax"},{type:"i",name:"curve"}],body:[0,[[13,"inputRange",[6,"std.max",[[1,"inputMax","-","inputMin"],[5,"0.0001"]]]],[13,"normalised",[6,"std.clamp",[[1,[1,"raw","-","inputMin"],"/","inputRange"],[5,"0"],[5,"1"]]]],[13,"exponent",[6,"std.pow",[[5,"2"],[1,[4,"-","curve"],"*",[5,"2"]]]]],[13,"eased",[6,"std.pow",["normalised","exponent"]]],[10,[6,"std.mix",["outputMin","outputMax","eased"]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.pow":()=>Ce,"std.mix":()=>X}})&&e.f)({})).$name("applyRemapWindow");var mF=v.fn([ps(a),R,R,l,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=o.x,c=o.y,_=Z(__tsover_sub(d,1)),u=Z(__tsover_sub(c,1)),m=x(0,0,0,0);for(let S=0;S<4;S++)for(let T=0;T<4;T++){let A=__tsover_div(__tsover_add(a(s),__tsover_div(__tsover_add(a(T),.5),4)),n.x),P=__tsover_div(__tsover_add(a(r),__tsover_div(__tsover_add(a(S),.5),4)),n.y),U=$(Z(__tsover_mul(A,d)),0,_),D=$(Z(__tsover_mul(P,c)),0,u);m=m.add(Be(t,Ge(R(U),R(D)),0))}m=m.mul(.0625);let p=__tsover_add(__tsover_mul(i,.5),1e-4),y=se(m.xyz,f(.2126,.7152,.0722)),h=$(__tsover_add(__tsover_sub(y,i),p),0,__tsover_mul(p,2)),g=__tsover_div(__tsover_mul(h,h),__tsover_mul(p,4)),w=__tsover_div(b(g,__tsover_sub(y,i)),b(y,1e-4));return x(m.xyz.mul(w),__tsover_mul(m.w,w))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"childTexture"},{type:"i",name:"cx"},{type:"i",name:"cy"},{type:"i",name:"inputSize"},{type:"i",name:"computeSize"},{type:"i",name:"threshold"}],body:[0,[[13,"iw",[7,"inputSize","x"]],[13,"ih",[7,"inputSize","y"]],[13,"inputWm1",[6,"d.i32",[[1,"iw","-",[5,"1"]]]]],[13,"inputHm1",[6,"d.i32",[[1,"ih","-",[5,"1"]]]]],[12,"sample",[6,"d.vec4f",[[5,"0"],[5,"0"],[5,"0"],[5,"0"]]]],[14,[12,"ty",[5,"0"]],[1,"ty","<",[5,"4"]],[102,"++","ty"],[0,[[14,[12,"tx",[5,"0"]],[1,"tx","<",[5,"4"]],[102,"++","tx"],[0,[[13,"su",[1,[1,[6,"d.f32",["cx"]],"+",[1,[1,[6,"d.f32",["tx"]],"+",[5,"0.5"]],"/",[5,"4"]]],"/",[7,"computeSize","x"]]],[13,"sv",[1,[1,[6,"d.f32",["cy"]],"+",[1,[1,[6,"d.f32",["ty"]],"+",[5,"0.5"]],"/",[5,"4"]]],"/",[7,"computeSize","y"]]],[13,"sx",[6,"std.clamp",[[6,"d.i32",[[1,"su","*","iw"]]],[5,"0"],"inputWm1"]]],[13,"sy",[6,"std.clamp",[[6,"d.i32",[[1,"sv","*","ih"]]],[5,"0"],"inputHm1"]]],[2,"sample","=",[6,[7,"sample","add"],[[6,"std.textureLoad",["childTexture",[6,"d.vec2u",[[6,"d.u32",["sx"]],[6,"d.u32",["sy"]]]],[5,"0"]]]]]]]]]]]],[2,"sample","=",[6,[7,"sample","mul"],[[5,"0.0625"]]]],[13,"knee",[1,[1,"threshold","*",[5,"0.5"]],"+",[5,"0.0001"]]],[13,"lum",[6,"std.dot",[[7,"sample","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"soft",[6,"std.clamp",[[1,[1,"lum","-","threshold"],"+","knee"],[5,"0"],[1,"knee","*",[5,"2"]]]]],[13,"softCurve",[1,[1,"soft","*","soft"],"/",[1,"knee","*",[5,"4"]]]],[13,"mask",[1,[6,"std.max",["softCurve",[1,"lum","-","threshold"]]],"/",[6,"std.max",["lum",[5,"0.0001"]]]]],[10,[6,"d.vec4f",[[6,[7,[7,"sample","xyz"],"mul"],["mask"]],[1,[7,"sample","w"],"*","mask"]]]]]]},externals:{"d.i32":()=>Z,"d.vec4f":()=>x,"d.f32":()=>a,"std.clamp":()=>$,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"d.u32":()=>R,"std.dot":()=>se,"d.vec3f":()=>f,"std.max":()=>b}})&&e.f)({})).$name("bloomExtractSoftKnee");var pF=v.fn([x,x,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,.1),d=__tsover_mul(o,.1),c=__tsover_mul(n,.1),_=b(b(b(i,d),c),.01),u=__tsover_div(i,_),m=__tsover_div(d,_),p=__tsover_div(c,_);return x(X(t.x,s.x,u),X(t.y,s.y,m),X(t.z,s.z,p),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sharp"},{type:"i",name:"blurred"},{type:"i",name:"redIntensity"},{type:"i",name:"greenIntensity"},{type:"i",name:"blueIntensity"}],body:[0,[[13,"redRadius",[1,"redIntensity","*",[5,"0.1"]]],[13,"greenRadius",[1,"greenIntensity","*",[5,"0.1"]]],[13,"blueRadius",[1,"blueIntensity","*",[5,"0.1"]]],[13,"maxRadius",[6,"std.max",[[6,"std.max",[[6,"std.max",["redRadius","greenRadius"]],"blueRadius"]],[5,"0.01"]]]],[13,"rMix",[1,"redRadius","/","maxRadius"]],[13,"gMix",[1,"greenRadius","/","maxRadius"]],[13,"bMix",[1,"blueRadius","/","maxRadius"]],[13,"finalR",[6,"std.mix",[[7,"sharp","x"],[7,"blurred","x"],"rMix"]]],[13,"finalG",[6,"std.mix",[[7,"sharp","y"],[7,"blurred","y"],"gMix"]]],[13,"finalB",[6,"std.mix",[[7,"sharp","z"],[7,"blurred","z"],"bMix"]]],[10,[6,"d.vec4f",["finalR","finalG","finalB",[7,"sharp","w"]]]]]]},externals:{"std.max":()=>b,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})).$name("channelBlurCompose"),fF=v.fn([a,a,a,a,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(t,su),c=l(__tsover_div(H(d),i),Y(d)),_=l(s,__tsover_sub(1,r));return re(0,o,b(0,se(n.sub(_),c)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angleDeg"},{type:"i",name:"centerX"},{type:"i",name:"centerY"},{type:"i",name:"falloff"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"direction",[6,"d.vec2f",[[1,[6,"std.cos",["angleRad"]],"/","aspect"],[6,"std.sin",["angleRad"]]]]],[13,"centerPos",[6,"d.vec2f",["centerX",[1,[5,"1"],"-","centerY"]]]],[13,"centeredUV",[6,[7,"uv","sub"],["centerPos"]]],[13,"directionalDist",[6,"std.max",[[5,"0"],[6,"std.dot",["centeredUV","direction"]]]]],[10,[6,"std.smoothstep",[[5,"0"],"falloff","directionalDist"]]]]]},externals:{DEG_TO_RAD:()=>su,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y,"std.max":()=>b,"std.dot":()=>se,"std.smoothstep":()=>re}})&&e.f)({})).$name("progressiveBlurAmount");var vF=v.fn([a,l,a,a,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(t,su),c=l(__tsover_mul(Y(d),-1),H(d)),_=l(s.x,__tsover_sub(1,s.y)),u=n.sub(_),m=z(se(l(__tsover_mul(u.x,i),u.y),c)),p=__tsover_mul(r,.5);return re(p,__tsover_add(p,o),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angleDeg"},{type:"i",name:"center"},{type:"i",name:"width"},{type:"i",name:"falloff"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"perpVector",[6,"d.vec2f",[[1,[6,"std.sin",["angleRad"]],"*",[4,"-",[5,"1"]]],[6,"std.cos",["angleRad"]]]]],[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"centeredUV",[6,[7,"uv","sub"],["centerPos"]]],[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"centeredUV","x"],"*","aspect"],[7,"centeredUV","y"]]]],[13,"distFromLine",[6,"std.abs",[[6,"std.dot",["aspectCorrectedUV","perpVector"]]]]],[13,"focusWidth",[1,"width","*",[5,"0.5"]]],[10,[6,"std.smoothstep",["focusWidth",[1,"focusWidth","+","falloff"],"distFromLine"]]]]]},externals:{DEG_TO_RAD:()=>su,"d.vec2f":()=>l,"std.sin":()=>Y,"std.cos":()=>H,"std.abs":()=>z,"std.dot":()=>se,"std.smoothstep":()=>re}})&&e.f)({})).$name("tiltShiftBlurAmount");var yF=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=t.xyz.add(s.xyz.mul(r)),n=$(__tsover_mul(s.w,r),0,1);return x(o,__tsover_add(t.w,__tsover_mul(n,__tsover_sub(1,t.w))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"original"},{type:"i",name:"bloom"},{type:"i",name:"intensity"}],body:[0,[[13,"finalColor",[6,[7,[7,"original","xyz"],"add"],[[6,[7,[7,"bloom","xyz"],"mul"],["intensity"]]]]],[13,"glowAlpha",[6,"std.clamp",[[1,[7,"bloom","w"],"*","intensity"],[5,"0"],[5,"1"]]]],[13,"finalAlpha",[1,[7,"original","w"],"+",[1,"glowAlpha","*",[1,[5,"1"],"-",[7,"original","w"]]]]],[10,[6,"d.vec4f",["finalColor","finalAlpha"]]]]]},externals:{"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})).$name("glowCompose");var hF=Math.PI*(3-Math.sqrt(5)),xF=Math.PI*2;var L3=.35;var gF=Math.SQRT2/4;var bF=v.fn([x,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=se(t.xyz,f(.2126,.7152,.0722)),i=re(s,__tsover_add(s,L3),n);return __tsover_mul(__tsover_add(1,__tsover_mul(__tsover_mul(r,i),i)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"threshold"},{type:"i",name:"gain"},{type:"i",name:"rim"}],body:[0,[[13,"lum",[6,"std.dot",[[7,"base","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"hi",[6,"std.smoothstep",["threshold",[1,"threshold","+","HIGHLIGHT_KNEE"],"lum"]]],[10,[1,[1,[5,"1"],"+",[1,[1,"gain","*","hi"],"*","hi"]],"*","rim"]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.smoothstep":()=>re,HIGHLIGHT_KNEE:()=>L3}})&&e.f)({})).$name("bokehHighlightWeight");var ed=Le,wF=hz(32,.8),TF=v.fn([l,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,ed),d=__tsover_div(o.x,o.y),c=__tsover_div(H(i),d),_=Y(i),u=__tsover_mul(__tsover_div(__tsover_mul(c,r),o.x),2),m=__tsover_mul(__tsover_div(__tsover_mul(_,r),o.y),2);return l(__tsover_add(t.x,__tsover_mul(u,n)),__tsover_add(t.y,__tsover_mul(m,n)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"angleDeg"},{type:"i",name:"intensity"},{type:"i",name:"viewport"},{type:"i",name:"tapT"}],body:[0,[[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"dirX",[1,[6,"std.cos",["angleRad"]],"/","aspect"]],[13,"dirY",[6,"std.sin",["angleRad"]]],[13,"bvX",[1,[1,[1,"dirX","*","intensity"],"/",[7,"viewport","x"]],"*",[5,"2"]]],[13,"bvY",[1,[1,[1,"dirY","*","intensity"],"/",[7,"viewport","y"]],"*",[5,"2"]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,"bvX","*","tapT"]],[1,[7,"uv","y"],"+",[1,"bvY","*","tapT"]]]]]]]},externals:{DEG_TO_RAD:()=>ed,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),SF=v.fn([l,a,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(t.x,__tsover_sub(1,t.y)),d=__tsover_div(__tsover_mul(s,.005),31),c=__tsover_mul(__tsover_sub(n,15.5),d),_=H(c),u=Y(c),m=__tsover_sub(r.x,i.x),p=__tsover_sub(r.y,i.y),y=__tsover_mul(m,o),h=p,g=__tsover_sub(__tsover_mul(y,_),__tsover_mul(h,u)),w=__tsover_add(__tsover_mul(y,u),__tsover_mul(h,_));return l(__tsover_add(__tsover_div(g,o),i.x),__tsover_add(w,i.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"intensity"},{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"tapIndex"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"angleStep",[1,[1,"intensity","*",[5,"0.005"]],"/",[5,"31"]]],[13,"angle",[1,[1,"tapIndex","-",[5,"15.5"]],"*","angleStep"]],[13,"cosA",[6,"std.cos",["angle"]]],[13,"sinA",[6,"std.sin",["angle"]]],[13,"initX",[1,[7,"uv","x"],"-",[7,"centerPos","x"]]],[13,"initY",[1,[7,"uv","y"],"-",[7,"centerPos","y"]]],[13,"acX",[1,"initX","*","aspect"]],[13,"acY","initY"],[13,"rotX",[1,[1,"acX","*","cosA"],"-",[1,"acY","*","sinA"]]],[13,"rotY",[1,[1,"acX","*","sinA"],"+",[1,"acY","*","cosA"]]],[10,[6,"d.vec2f",[[1,[1,"rotX","/","aspect"],"+",[7,"centerPos","x"]],[1,"rotY","+",[7,"centerPos","y"]]]]]]]},externals:{"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),AF=v.fn([l,a,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(t.x,__tsover_sub(1,t.y)),d=__tsover_mul(s,.01),c=__tsover_add(1,__tsover_mul(d,__tsover_div(n,31))),_=__tsover_sub(r.x,i.x),u=__tsover_sub(r.y,i.y),m=__tsover_mul(_,o),p=u,y=__tsover_div(m,c),h=__tsover_div(p,c);return l(__tsover_add(__tsover_div(y,o),i.x),__tsover_add(h,i.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"intensity"},{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"tapIndex"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"radius",[1,"intensity","*",[5,"0.01"]]],[13,"scale",[1,[5,"1"],"+",[1,"radius","*",[1,"tapIndex","/",[5,"31"]]]]],[13,"deltaX",[1,[7,"uv","x"],"-",[7,"centerPos","x"]]],[13,"deltaY",[1,[7,"uv","y"],"-",[7,"centerPos","y"]]],[13,"acdX",[1,"deltaX","*","aspect"]],[13,"acdY","deltaY"],[13,"scaledDeltaX",[1,"acdX","/","scale"]],[13,"scaledDeltaY",[1,"acdY","/","scale"]],[10,[6,"d.vec2f",[[1,[1,"scaledDeltaX","/","aspect"],"+",[7,"centerPos","x"]],[1,"scaledDeltaY","+",[7,"centerPos","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({}));var MF=v.fn([l,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=er(t.mul(1e3)).mul(2).sub(l(1,1)).mul(s).div(r);return t.add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"intensity"},{type:"i",name:"viewport"}],body:[0,[[13,"seed",[6,[7,"uv","mul"],[[5,"1000"]]]],[13,"randVec",[6,"noise.hash22",["seed"]]],[13,"offset",[6,[7,[6,[7,[6,[7,[6,[7,"randVec","mul"],[[5,"2"]]],"sub"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]],"mul"],["intensity"]],"div"],["viewport"]]],[10,[6,[7,"uv","add"],["offset"]]]]]},externals:{"noise.hash22":()=>er,"d.vec2f":()=>l}})&&e.f)({}));var xz=[.056,.135,.278,.487,.726,.923,1,.923,.726,.487,.278,.135,.056],gz=6.214,PF=xz.map(e=>e/gz);var EF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(r,ed),i=__tsover_mul(o,.2),d=__tsover_div(s.x,s.y),c=__tsover_div(__tsover_mul(Y(n),i),d),_=__tsover_mul(__tsover_mul(H(n),-1),i);return l(__tsover_sub(t.x,c),__tsover_sub(t.y,_))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"distance"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"dist",[1,"distance","*",[5,"0.2"]]],[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"ox",[1,[1,[6,"std.sin",["angleRad"]],"*","dist"],"/","aspect"]],[13,"oy",[1,[1,[6,"std.cos",["angleRad"]],"*",[4,"-",[5,"1"]]],"*","dist"]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"-","ox"],[1,[7,"uv","y"],"-","oy"]]]]]]},externals:{DEG_TO_RAD:()=>ed,"std.sin":()=>Y,"std.cos":()=>H,"d.vec2f":()=>l}})&&e.f)({})),kF=v.fn([l,l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return l(__tsover_add(t.x,__tsover_div(__tsover_mul(o,r),s.x)),__tsover_add(t.y,__tsover_div(__tsover_mul(n,r),s.y)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"blurRadius"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[1,"ox","*","blurRadius"],"/",[7,"viewport","x"]]],[1,[7,"uv","y"],"+",[1,[1,"oy","*","blurRadius"],"/",[7,"viewport","y"]]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),$F=v.fn([x,x,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=f(s.x,s.y,s.z),i=__tsover_mul(s.w,r),d=$(__tsover_sub(i,t.w),0,1),c=n.mul(s.w).mul(d),_=n.mul(s.w).mul(r),u=__tsover_sub(1,t.w),m=f(t.x,t.y,t.z).add(_.mul(u)),p=b(__tsover_add(t.w,__tsover_mul(i,u)),t.w),y=o>.5,h=C(m,c,y),g=C(p,d,y);return x(h.x,h.y,h.z,g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"originalColor"},{type:"i",name:"shadowColor"},{type:"i",name:"shadowAlpha"},{type:"i",name:"cutout"}],body:[0,[[13,"shadowRgb",[6,"d.vec3f",[[7,"shadowColor","x"],[7,"shadowColor","y"],[7,"shadowColor","z"]]]],[13,"shadowA",[1,[7,"shadowColor","w"],"*","shadowAlpha"]],[13,"cutoutA",[6,"std.clamp",[[1,"shadowA","-",[7,"originalColor","w"]],[5,"0"],[5,"1"]]]],[13,"cutoutRgb",[6,[7,[6,[7,"shadowRgb","mul"],[[7,"shadowColor","w"]]],"mul"],["cutoutA"]]],[13,"shadowPremulRgb",[6,[7,[6,[7,"shadowRgb","mul"],[[7,"shadowColor","w"]]],"mul"],["shadowAlpha"]]],[13,"oneMinusOrigA",[1,[5,"1"],"-",[7,"originalColor","w"]]],[13,"normalRgb",[6,[7,[6,"d.vec3f",[[7,"originalColor","x"],[7,"originalColor","y"],[7,"originalColor","z"]]],"add"],[[6,[7,"shadowPremulRgb","mul"],["oneMinusOrigA"]]]]],[13,"normalA",[6,"std.max",[[1,[7,"originalColor","w"],"+",[1,"shadowA","*","oneMinusOrigA"]],[7,"originalColor","w"]]]],[13,"useCut",[1,"cutout",">",[5,"0.5"]]],[13,"rgb",[6,"std.select",["normalRgb","cutoutRgb","useCut"]]],[13,"a",[6,"std.select",["normalA","cutoutA","useCut"]]],[10,[6,"d.vec4f",[[7,"rgb","x"],[7,"rgb","y"],[7,"rgb","z"],"a"]]]]]},externals:{"d.vec3f":()=>f,"std.clamp":()=>$,"std.max":()=>b,"std.select":()=>C,"d.vec4f":()=>x}})&&e.f)({}));var UF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return l(__tsover_add(t.x,__tsover_div(r,s.x)),__tsover_add(t.y,__tsover_div(o,s.y)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"dirX"},{type:"i",name:"dirY"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,"dirX","/",[7,"viewport","x"]]],[1,[7,"uv","y"],"+",[1,"dirY","/",[7,"viewport","y"]]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),CF=v.fn([x,x,x,x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_add(1,__tsover_mul(i,4)),c=__tsover_mul(i,-1),_=$(t.xyz.mul(d).add(s.xyz.mul(c)).add(r.xyz.mul(c)).add(o.xyz.mul(c)).add(n.xyz.mul(c)),f(0,0,0),f(1,1,1));return x(_.x,_.y,_.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"top"},{type:"i",name:"bottom"},{type:"i",name:"left"},{type:"i",name:"right"},{type:"i",name:"amount"}],body:[0,[[13,"centerWeight",[1,[5,"1"],"+",[1,"amount","*",[5,"4"]]]],[13,"neighborWeight",[1,"amount","*",[4,"-",[5,"1"]]]],[13,"rgb",[6,[7,[6,[7,[6,[7,[6,[7,[6,[7,[7,"center","xyz"],"mul"],["centerWeight"]],"add"],[[6,[7,[7,"top","xyz"],"mul"],["neighborWeight"]]]],"add"],[[6,[7,[7,"bottom","xyz"],"mul"],["neighborWeight"]]]],"add"],[[6,[7,[7,"left","xyz"],"mul"],["neighborWeight"]]]],"add"],[[6,[7,[7,"right","xyz"],"mul"],["neighborWeight"]]]]],[13,"clamped",[6,"std.clamp",["rgb",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]],[10,[6,"d.vec4f",[[7,"clamped","x"],[7,"clamped","y"],[7,"clamped","z"],[7,"center","w"]]]]]]},externals:{"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({}));var RF=v.fn([l,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=s>1,d=b(C(__tsover_mul(r,s),r,i),1),c=b(C(r,__tsover_div(r,s),i),1),_=l(__tsover_div(q(__tsover_mul(t.x,d)),d),__tsover_div(q(__tsover_mul(t.y,c)),c)),u=l(__tsover_sub(ue(__tsover_mul(t.x,d)),.5),__tsover_sub(ue(__tsover_mul(t.y,c)),.5)),m=__tsover_sub(.5,__tsover_mul(o,.5)),p=__tsover_mul(n,m),y=b(__tsover_add(__tsover_sub(z(u.x),m),p),0),h=b(__tsover_add(__tsover_sub(z(u.y),m),p),0),g=__tsover_sub(j(l(y,h)),p),w=C(a(0),a(1),g<=0);return f(_.x,_.y,w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"scale"},{type:"i",name:"gap"},{type:"i",name:"roundness"}],body:[0,[[13,"isWide",[1,"aspect",">",[5,"1"]]],[13,"pixelCountX",[6,"std.max",[[6,"std.select",[[1,"scale","*","aspect"],"scale","isWide"]],[5,"1"]]]],[13,"pixelCountY",[6,"std.max",[[6,"std.select",["scale",[1,"scale","/","aspect"],"isWide"]],[5,"1"]]]],[13,"sampleUV",[6,"d.vec2f",[[1,[6,"std.floor",[[1,[7,"uv","x"],"*","pixelCountX"]]],"/","pixelCountX"],[1,[6,"std.floor",[[1,[7,"uv","y"],"*","pixelCountY"]]],"/","pixelCountY"]]]],[13,"localUV",[6,"d.vec2f",[[1,[6,"std.fract",[[1,[7,"uv","x"],"*","pixelCountX"]]],"-",[5,"0.5"]],[1,[6,"std.fract",[[1,[7,"uv","y"],"*","pixelCountY"]]],"-",[5,"0.5"]]]]],[13,"halfSize",[1,[5,"0.5"],"-",[1,"gap","*",[5,"0.5"]]]],[13,"cornerRadius",[1,"roundness","*","halfSize"]],[13,"qx",[6,"std.max",[[1,[1,[6,"std.abs",[[7,"localUV","x"]]],"-","halfSize"],"+","cornerRadius"],[5,"0"]]]],[13,"qy",[6,"std.max",[[1,[1,[6,"std.abs",[[7,"localUV","y"]]],"-","halfSize"],"+","cornerRadius"],[5,"0"]]]],[13,"sdf",[1,[6,"std.length",[[6,"d.vec2f",["qx","qy"]]]],"-","cornerRadius"]],[13,"mask",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"sdf","<=",[5,"0"]]]]],[10,[6,"d.vec3f",[[7,"sampleUV","x"],[7,"sampleUV","y"],"mask"]]]]]},externals:{"std.max":()=>b,"std.select":()=>C,"d.vec2f":()=>l,"std.floor":()=>q,"std.fract":()=>ue,"std.abs":()=>z,"std.length":()=>j,"d.f32":()=>a,"d.vec3f":()=>f}})&&e.f)({}));var zF=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=s>1,c=l(C(__tsover_mul(o,s),o,d),C(o,__tsover_div(o,s),d)),_=l(__tsover_mul(t.x,s),t.y),u=__tsover_mul(n,ed),m=H(u),p=Y(u),y=_.sub(l(__tsover_mul(.5,s),.5)),h=l(__tsover_sub(__tsover_mul(y.x,m),__tsover_mul(y.y,p)),__tsover_add(__tsover_mul(y.x,p),__tsover_mul(y.y,m))).add(l(__tsover_mul(.5,s),.5)),g=l(__tsover_div(h.x,s),h.y),w=q(g.mul(c)).div(c),S=g.sub(w),T=l(1,1).div(c),A=S.div(T).sub(l(.5,.5)),P=__tsover_add(__tsover_mul(A.x,A.x),__tsover_mul(A.y,A.y)),U=b(__tsover_sub(1,__tsover_mul(P,__tsover_mul(i,4))),0),D=__tsover_mul(r,.025),O=__tsover_mul(D,U),L=l(__tsover_div(__tsover_mul(A.x,O),s),__tsover_mul(A.y,O));return t.add(L)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"intensity"},{type:"i",name:"baseTileCount"},{type:"i",name:"rotationDegrees"},{type:"i",name:"roundnessAmount"}],body:[0,[[13,"isWide",[1,"aspect",">",[5,"1"]]],[13,"tileCount",[6,"d.vec2f",[[6,"std.select",[[1,"baseTileCount","*","aspect"],"baseTileCount","isWide"]],[6,"std.select",["baseTileCount",[1,"baseTileCount","/","aspect"],"isWide"]]]]],[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"rotationRadians",[1,"rotationDegrees","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["rotationRadians"]]],[13,"sinA",[6,"std.sin",["rotationRadians"]]],[13,"centered",[6,[7,"aspectCorrectedUV","sub"],[[6,"d.vec2f",[[1,[5,"0.5"],"*","aspect"],[5,"0.5"]]]]]],[13,"rotatedX",[1,[1,[7,"centered","x"],"*","cosA"],"-",[1,[7,"centered","y"],"*","sinA"]]],[13,"rotatedY",[1,[1,[7,"centered","x"],"*","sinA"],"+",[1,[7,"centered","y"],"*","cosA"]]],[13,"rotatedUV",[6,[7,[6,"d.vec2f",["rotatedX","rotatedY"]],"add"],[[6,"d.vec2f",[[1,[5,"0.5"],"*","aspect"],[5,"0.5"]]]]]],[13,"gridUV",[6,"d.vec2f",[[1,[7,"rotatedUV","x"],"/","aspect"],[7,"rotatedUV","y"]]]],[13,"cellCoord",[6,[7,[6,"std.floor",[[6,[7,"gridUV","mul"],["tileCount"]]]],"div"],["tileCount"]]],[13,"localUV",[6,[7,"gridUV","sub"],["cellCoord"]]],[13,"oneOverTile",[6,[7,[6,"d.vec2f",[[5,"1"],[5,"1"]]],"div"],["tileCount"]]],[13,"normalizedLocalUV",[6,[7,"localUV","div"],["oneOverTile"]]],[13,"fromCenter",[6,[7,"normalizedLocalUV","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"distFromCenter",[1,[1,[7,"fromCenter","x"],"*",[7,"fromCenter","x"]],"+",[1,[7,"fromCenter","y"],"*",[7,"fromCenter","y"]]]],[13,"roundnessFactor",[1,[5,"1"],"-",[1,"distFromCenter","*",[1,"roundnessAmount","*",[5,"4"]]]]],[13,"clampedRoundness",[6,"std.max",["roundnessFactor",[5,"0"]]]],[13,"distortionFactor",[1,"intensity","*",[5,"0.025"]]],[13,"scaleFactor",[1,"distortionFactor","*","clampedRoundness"]],[13,"distortion",[6,"d.vec2f",[[1,[1,[7,"fromCenter","x"],"*","scaleFactor"],"/","aspect"],[1,[7,"fromCenter","y"],"*","scaleFactor"]]]],[10,[6,[7,"uv","add"],["distortion"]]]]]},externals:{"d.vec2f":()=>l,"std.select":()=>C,DEG_TO_RAD:()=>ed,"std.cos":()=>H,"std.sin":()=>Y,"std.floor":()=>q,"std.max":()=>b}})&&e.f)({}));var GF=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s,.002);return l(__tsover_add(t.x,__tsover_mul(o,r)),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"colorShift"},{type:"i",name:"dir"}],body:[0,[[13,"scaledColorShift",[1,"colorShift","*",[5,"0.002"]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,"scaledColorShift","*","dir"]],[7,"uv","y"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),YF=v.fn([x,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return f(t.x,s.y,r.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"redSample"},{type:"i",name:"greenSample"},{type:"i",name:"blueSample"}],body:[0,[[10,[6,"d.vec3f",[[7,"redSample","x"],[7,"greenSample","y"],[7,"blueSample","z"]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),LF=v.fn([f,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return t.sub(f(.5)).mul(s).add(f(.5)).mul(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"contrast"},{type:"i",name:"brightness"}],body:[0,[[10,[6,[7,[6,[7,[6,[7,[6,[7,"color","sub"],[[6,"d.vec3f",[[5,"0.5"]]]]],"mul"],["contrast"]],"add"],[[6,"d.vec3f",[[5,"0.5"]]]]],"mul"],["brightness"]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),IF=v.fn([f,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,r),i=Y(__tsover_mul(n,__tsover_mul(3.14159,2))),d=__tsover_sub(1,__tsover_mul(o,__tsover_add(__tsover_mul(i,.5),.5)));return t.mul(d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uvY"},{type:"i",name:"scanlineFrequency"},{type:"i",name:"scanlineIntensity"}],body:[0,[[13,"scanlinePosition",[1,"uvY","*","scanlineFrequency"]],[13,"scanlineWave",[6,"std.sin",[[1,"scanlinePosition","*",[1,[5,"3.14159"],"*",[5,"2"]]]]]],[13,"scanlineEffect",[1,[5,"1"],"-",[1,"scanlineIntensity","*",[1,[1,"scanlineWave","*",[5,"0.5"]],"+",[5,"0.5"]]]]],[10,[6,[7,"color","mul"],["scanlineEffect"]]]]]},externals:{"std.sin":()=>Y}})&&e.f)({})),DF=v.fn([f,l,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r,.5),n=ue(s.mul(o)),i=__tsover_add(__tsover_mul(Y(__tsover_mul(n.x,6.28318)),.1),.95),d=__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(n.x,6.28318),2.09)),.1),.95),c=__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(n.x,6.28318),4.18)),.1),.95);return f(__tsover_mul(t.x,i),__tsover_mul(t.y,d),__tsover_mul(t.z,c))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"},{type:"i",name:"pixelSize"}],body:[0,[[13,"phosphorScale",[1,"pixelSize","*",[5,"0.5"]]],[13,"pixelPhase",[6,"std.fract",[[6,[7,"uv","mul"],["phosphorScale"]]]]],[13,"redMask",[1,[1,[6,"std.sin",[[1,[7,"pixelPhase","x"],"*",[5,"6.28318"]]]],"*",[5,"0.1"]],"+",[5,"0.95"]]],[13,"greenMask",[1,[1,[6,"std.sin",[[1,[1,[7,"pixelPhase","x"],"*",[5,"6.28318"]],"+",[5,"2.09"]]]],"*",[5,"0.1"]],"+",[5,"0.95"]]],[13,"blueMask",[1,[1,[6,"std.sin",[[1,[1,[7,"pixelPhase","x"],"*",[5,"6.28318"]],"+",[5,"4.18"]]]],"*",[5,"0.1"]],"+",[5,"0.95"]]],[10,[6,"d.vec3f",[[1,[7,"color","x"],"*","redMask"],[1,[7,"color","y"],"*","greenMask"],[1,[7,"color","z"],"*","blueMask"]]]]]]},externals:{"std.fract":()=>ue,"std.sin":()=>Y,"d.vec3f":()=>f}})&&e.f)({})),FF=v.fn([f,l,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=s.sub(l(.5,.5)),d=j(l(__tsover_mul(i.x,r),i.y)),c=__tsover_sub(1,__tsover_mul(o,.9)),_=__tsover_add(c,.5),u=X(1,__tsover_sub(1,re(c,_,d)),n);return t.mul(u)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"vignetteRadius"},{type:"i",name:"vignetteIntensity"}],body:[0,[[13,"centeredUV",[6,[7,"uv","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"centeredUV","x"],"*","aspect"],[7,"centeredUV","y"]]]],[13,"vignetteDistance",[6,"std.length",["aspectCorrectedUV"]]],[13,"innerEdge",[1,[5,"1"],"-",[1,"vignetteRadius","*",[5,"0.9"]]]],[13,"outerEdge",[1,"innerEdge","+",[5,"0.5"]]],[13,"vignetteValue",[1,[5,"1"],"-",[6,"std.smoothstep",["innerEdge","outerEdge","vignetteDistance"]]]],[13,"vignette",[6,"std.mix",[[5,"1"],"vignetteValue","vignetteIntensity"]]],[10,[6,[7,"color","mul"],["vignette"]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.smoothstep":()=>re,"std.mix":()=>X}})&&e.f)({})),I3=487,qd=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ot(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"noise.hash12",["p"]]]]]},externals:{"noise.hash12":()=>Ot}})&&e.f)({})),En=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=ue(t),o=r.mul(r).mul(l(3,3).sub(r.mul(2))),n=qd(s),i=qd(s.add(l(1,0))),d=qd(s.add(l(0,1))),c=qd(s.add(l(1,1)));return X(X(n,i,o.x),X(d,c,o.x),o.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,"std.fract",["p"]]],[13,"u",[6,[7,[6,[7,"f","mul"],["f"]],"mul"],[[6,[7,[6,"d.vec2f",[[5,"3"],[5,"3"]]],"sub"],[[6,[7,"f","mul"],[[5,"2"]]]]]]]],[13,"a",[6,"hash2D",["i"]]],[13,"b",[6,"hash2D",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"0"]]]]]]]],[13,"c",[6,"hash2D",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]]]],[13,"dd",[6,"hash2D",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]]],[10,[6,"std.mix",[[6,"std.mix",["a","b",[7,"u","x"]]],[6,"std.mix",["c","dd",[7,"u","x"]]],[7,"u","y"]]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,"d.vec2f":()=>l,hash2D:()=>qd,"std.mix":()=>X}})&&e.f)({})),D3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return re(.45,.8,En(l(__tsover_mul(t,.4),0)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[6,"std.smoothstep",[[5,"0.45"],[5,"0.8"],[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"t","*",[5,"0.4"]],[5,"0"]]]]]]]]]]},externals:{"std.smoothstep":()=>re,smoothNoise2D:()=>En,"d.vec2f":()=>l}})&&e.f)({})),F3=v.fn([a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=q(__tsover_mul(t,I3)),i=__tsover_mul(__tsover_sub(Ot(l(n,s)),.5),2),d=__tsover_mul(__tsover_sub(Ot(l(n,__tsover_add(s,69.42))),.5),2),c=__tsover_add(.25,__tsover_mul(o,.75)),_=__tsover_mul(__tsover_mul(__tsover_mul(i,r),.008),c);return l(__tsover_mul(__tsover_mul(__tsover_mul(d,r),.004),c),_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvY"},{type:"i",name:"t"},{type:"i",name:"scanlineNoise"},{type:"i",name:"burst"}],body:[0,[[13,"rowInt",[6,"std.floor",[[1,"uvY","*","FIELD_LINES"]]]],[13,"h0",[1,[1,[6,"noise.hash12",[[6,"d.vec2f",["rowInt","t"]]]],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"h1",[1,[1,[6,"noise.hash12",[[6,"d.vec2f",["rowInt",[1,"t","+",[5,"69.42"]]]]]],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"fineGate",[1,[5,"0.25"],"+",[1,"burst","*",[5,"0.75"]]]],[13,"chromaRowOffset",[1,[1,[1,"h0","*","scanlineNoise"],"*",[5,"0.008"]],"*","fineGate"]],[13,"lumaRowOffset",[1,[1,[1,"h1","*","scanlineNoise"],"*",[5,"0.004"]],"*","fineGate"]],[10,[6,"d.vec2f",["lumaRowOffset","chromaRowOffset"]]]]]},externals:{"std.floor":()=>q,FIELD_LINES:()=>I3,"noise.hash12":()=>Ot,"d.vec2f":()=>l}})&&e.f)({})),B3=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(En(l(__tsover_mul(t,3),__tsover_mul(s,.8))),.5),n=__tsover_sub(En(l(__tsover_mul(t,30),__tsover_mul(s,6))),.5);return __tsover_mul(__tsover_add(__tsover_mul(o,.008),__tsover_mul(n,.002)),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvY"},{type:"i",name:"t"},{type:"i",name:"wobble"}],body:[0,[[13,"wave1",[1,[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"uvY","*",[5,"3"]],[1,"t","*",[5,"0.8"]]]]]],"-",[5,"0.5"]]],[13,"wave2",[1,[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"uvY","*",[5,"30"]],[1,"t","*",[5,"6"]]]]]],"-",[5,"0.5"]]],[10,[1,[1,[1,"wave1","*",[5,"0.008"]],"+",[1,"wave2","*",[5,"0.002"]]],"*","wobble"]]]]},externals:{smoothNoise2D:()=>En,"d.vec2f":()=>l}})&&e.f)({})),W3=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=re(.92,.99,Y(__tsover_sub(__tsover_mul(t,8),__tsover_mul(s,3.77)))),n=re(.3,1,En(l(__tsover_mul(t,4.77),s)));return __tsover_mul(__tsover_mul(__tsover_mul(o,n),r),-.018)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvY"},{type:"i",name:"t"},{type:"i",name:"wobble"}],body:[0,[[13,"creasePhase",[6,"std.smoothstep",[[5,"0.92"],[5,"0.99"],[6,"std.sin",[[1,[1,"uvY","*",[5,"8"]],"-",[1,"t","*",[5,"3.77"]]]]]]]],[13,"creaseNoise",[6,"std.smoothstep",[[5,"0.3"],[5,"1"],[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"uvY","*",[5,"4.77"]],"t"]]]]]]],[10,[1,[1,[1,"creasePhase","*","creaseNoise"],"*","wobble"],"*",[4,"-",[5,"0.018"]]]]]]},externals:{"std.smoothstep":()=>re,"std.sin":()=>Y,smoothNoise2D:()=>En,"d.vec2f":()=>l}})&&e.f)({})),O3=v.fn([a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(1,re(0,.06,t)),i=__tsover_sub(En(l(__tsover_mul(t,60),__tsover_mul(s,14))),.5);return l(__tsover_mul(__tsover_mul(__tsover_mul(n,i),r),.09),__tsover_mul(__tsover_mul(__tsover_mul(n,r),o),.02))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvY"},{type:"i",name:"t"},{type:"i",name:"wobble"},{type:"i",name:"burst"}],body:[0,[[13,"switchPhase",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],[5,"0.06"],"uvY"]]]],[13,"switchNoise",[1,[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"uvY","*",[5,"60"]],[1,"t","*",[5,"14"]]]]]],"-",[5,"0.5"]]],[13,"switchX",[1,[1,[1,"switchPhase","*","switchNoise"],"*","wobble"],"*",[5,"0.09"]]],[13,"switchY",[1,[1,[1,"switchPhase","*","wobble"],"*","burst"],"*",[5,"0.02"]]],[10,[6,"d.vec2f",["switchX","switchY"]]]]]},externals:{"std.smoothstep":()=>re,smoothNoise2D:()=>En,"d.vec2f":()=>l}})&&e.f)({})),BF=v.fn([l,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,r),d=D3(i),c=F3(t.y,i,n,d),_=O3(t.y,i,o,d),u=__tsover_add(__tsover_add(B3(t.y,i,o),W3(t.y,i,o)),_.x),m=__tsover_add(t.y,_.y);return x(__tsover_add(__tsover_add(t.x,u),c.x),m,__tsover_add(__tsover_add(t.x,u),c.y),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"time"},{type:"i",name:"speed"},{type:"i",name:"wobble"},{type:"i",name:"scanlineNoise"}],body:[0,[[13,"t",[1,"time","*","speed"]],[13,"burst",[6,"burstGate",["t"]]],[13,"jitter",[6,"rowJitter",[[7,"uv","y"],"t","scanlineNoise","burst"]]],[13,"sw",[6,"headSwitch",[[7,"uv","y"],"t","wobble","burst"]]],[13,"globalX",[1,[1,[6,"tapeWave",[[7,"uv","y"],"t","wobble"]],"+",[6,"creaseShift",[[7,"uv","y"],"t","wobble"]]],"+",[7,"sw","x"]]],[13,"sy",[1,[7,"uv","y"],"+",[7,"sw","y"]]],[10,[6,"d.vec4f",[[1,[1,[7,"uv","x"],"+","globalX"],"+",[7,"jitter","x"]],"sy",[1,[1,[7,"uv","x"],"+","globalX"],"+",[7,"jitter","y"]],"sy"]]]]]},externals:{burstGate:()=>D3,rowJitter:()=>F3,headSwitch:()=>O3,tapeWave:()=>B3,creaseShift:()=>W3,"d.vec4f":()=>x}})&&e.f)({})),WF=v.fn([l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,r);return __tsover_add(1,__tsover_mul(__tsover_mul(H(__tsover_add(__tsover_mul(bo(n,6.2831853),2),__tsover_mul(t.y,.5))),.015),o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"time"},{type:"i",name:"speed"},{type:"i",name:"wobble"}],body:[0,[[13,"t",[1,"time","*","speed"]],[10,[1,[5,"1"],"+",[1,[1,[6,"std.cos",[[1,[1,[6,"std.mod",["t",[5,"6.2831853"]]],"*",[5,"2"]],"+",[1,[7,"uv","y"],"*",[5,"0.5"]]]]],"*",[5,"0.015"]],"*","wobble"]]]]]},externals:{"std.cos":()=>H,"std.mod":()=>bo}})&&e.f)({})),OF=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_add(t.x,__tsover_mul(__tsover_mul(r,-1),s)),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"chromaUV"},{type:"i",name:"smearScale"},{type:"i",name:"i"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"chromaUV","x"],"+",[1,[1,"i","*",[4,"-",[5,"1"]]],"*","smearScale"]],[7,"chromaUV","y"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),VF=v.fn([x,x,x,x,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=se(t.xyz,f(.299,.587,.114)),c=f(.596,-.274,-.322),_=f(.211,-.523,.312),u=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(se(s.xyz,c),.06666666666666667),__tsover_mul(se(r.xyz,c),.13333333333333333)),__tsover_mul(se(o.xyz,c),.2)),__tsover_mul(se(n.xyz,c),.26666666666666666)),__tsover_mul(se(i.xyz,c),.3333333333333333)),m=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(se(s.xyz,_),.06666666666666667),__tsover_mul(se(r.xyz,_),.13333333333333333)),__tsover_mul(se(o.xyz,_),.2)),__tsover_mul(se(n.xyz,_),.26666666666666666)),__tsover_mul(se(i.xyz,_),.3333333333333333));return f(__tsover_add(__tsover_add(d,__tsover_mul(u,.956)),__tsover_mul(m,.621)),__tsover_sub(__tsover_sub(d,__tsover_mul(u,.272)),__tsover_mul(m,.647)),__tsover_add(__tsover_sub(d,__tsover_mul(u,1.106)),__tsover_mul(m,1.703)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"luma"},{type:"i",name:"c1"},{type:"i",name:"c2"},{type:"i",name:"c3"},{type:"i",name:"c4"},{type:"i",name:"c5"}],body:[0,[[13,"sharpY",[6,"std.dot",[[7,"luma","xyz"],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"iAxis",[6,"d.vec3f",[[5,"0.596"],[4,"-",[5,"0.274"]],[4,"-",[5,"0.322"]]]]],[13,"qAxis",[6,"d.vec3f",[[5,"0.211"],[4,"-",[5,"0.523"]],[5,"0.312"]]]],[13,"accI",[1,[1,[1,[1,[1,[6,"std.dot",[[7,"c1","xyz"],"iAxis"]],"*",[5,"0.06666666666666667"]],"+",[1,[6,"std.dot",[[7,"c2","xyz"],"iAxis"]],"*",[5,"0.13333333333333333"]]],"+",[1,[6,"std.dot",[[7,"c3","xyz"],"iAxis"]],"*",[5,"0.2"]]],"+",[1,[6,"std.dot",[[7,"c4","xyz"],"iAxis"]],"*",[5,"0.26666666666666666"]]],"+",[1,[6,"std.dot",[[7,"c5","xyz"],"iAxis"]],"*",[5,"0.3333333333333333"]]]],[13,"accQ",[1,[1,[1,[1,[1,[6,"std.dot",[[7,"c1","xyz"],"qAxis"]],"*",[5,"0.06666666666666667"]],"+",[1,[6,"std.dot",[[7,"c2","xyz"],"qAxis"]],"*",[5,"0.13333333333333333"]]],"+",[1,[6,"std.dot",[[7,"c3","xyz"],"qAxis"]],"*",[5,"0.2"]]],"+",[1,[6,"std.dot",[[7,"c4","xyz"],"qAxis"]],"*",[5,"0.26666666666666666"]]],"+",[1,[6,"std.dot",[[7,"c5","xyz"],"qAxis"]],"*",[5,"0.3333333333333333"]]]],[10,[6,"d.vec3f",[[1,[1,"sharpY","+",[1,"accI","*",[5,"0.956"]]],"+",[1,"accQ","*",[5,"0.621"]]],[1,[1,"sharpY","-",[1,"accI","*",[5,"0.272"]]],"-",[1,"accQ","*",[5,"0.647"]]],[1,[1,"sharpY","-",[1,"accI","*",[5,"1.106"]]],"+",[1,"accQ","*",[5,"1.703"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),NF=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=$(t.xyz.mul(s),f(0,0,0),f(1,1,1));return x(r.x,r.y,r.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"acBeat"}],body:[0,[[13,"clamped",[6,"std.clamp",[[6,[7,[7,"color","xyz"],"mul"],["acBeat"]],[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]],[10,[6,"d.vec4f",[[7,"clamped","x"],[7,"clamped","y"],[7,"clamped","z"],[7,"color","w"]]]]]]},externals:{"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),sr=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Gs(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"noise.hash11",["p"]]]]]},externals:{"noise.hash11":()=>Gs}})&&e.f)({})),V3=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=sr(t),n=__tsover_mul(__tsover_mul(o,o),o),i=sr(__tsover_add(s,73)),d=__tsover_mul(i,i),c=__tsover_sub(1,r),_=De(c,n),u=De(__tsover_add(c,.15),d);return __tsover_mul($(__tsover_add(__tsover_mul(_,.8),__tsover_mul(u,.4)),0,1),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"slowFrame"},{type:"i",name:"fastFrame"},{type:"i",name:"intensity"}],body:[0,[[13,"slowHash",[6,"hash11",["slowFrame"]]],[13,"slowPulse",[1,[1,"slowHash","*","slowHash"],"*","slowHash"]],[13,"fastHash",[6,"hash11",[[1,"fastFrame","+",[5,"73"]]]]],[13,"fastPulse",[1,"fastHash","*","fastHash"]],[13,"threshold",[1,[5,"1"],"-","intensity"]],[13,"majorBurst",[6,"std.step",["threshold","slowPulse"]]],[13,"minorFlicker",[6,"std.step",[[1,"threshold","+",[5,"0.15"]],"fastPulse"]]],[10,[1,[6,"std.clamp",[[1,[1,"majorBurst","*",[5,"0.8"]],"+",[1,"minorFlicker","*",[5,"0.4"]]],[5,"0"],[5,"1"]]],"*","intensity"]]]]},externals:{hash11:()=>sr,"std.step":()=>De,"std.clamp":()=>$}})&&e.f)({})),Q_=v.fn([a,a,a,a,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_add(__tsover_mul(t,r),__tsover_mul(s,o)),u=sr(_),m=De(__tsover_sub(1,__tsover_mul(c,n)),u);return f(__tsover_mul(__tsover_mul(__tsover_sub(sr(__tsover_add(_,i)),.5),d),m),m,_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"bandY"},{type:"i",name:"frame"},{type:"i",name:"seedScale"},{type:"i",name:"frameScale"},{type:"i",name:"gateFactor"},{type:"i",name:"hashOffset"},{type:"i",name:"amplitude"},{type:"i",name:"glitchStrength"}],body:[0,[[13,"seed",[1,[1,"bandY","*","seedScale"],"+",[1,"frame","*","frameScale"]]],[13,"bandHash",[6,"hash11",["seed"]]],[13,"active",[6,"std.step",[[1,[5,"1"],"-",[1,"glitchStrength","*","gateFactor"]],"bandHash"]]],[13,"displace",[1,[1,[1,[6,"hash11",[[1,"seed","+","hashOffset"]]],"-",[5,"0.5"]],"*","amplitude"],"*","active"]],[10,[6,"d.vec3f",["displace","active","seed"]]]]]},externals:{hash11:()=>sr,"std.step":()=>De,"d.vec3f":()=>f}})&&e.f)({})),N3=v.fn([a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_add(__tsover_add(__tsover_mul(t,.41),__tsover_mul(s,.67)),__tsover_mul(r,2.31)),i=sr(n),d=De(__tsover_sub(1,__tsover_mul(o,.35)),i);return l(__tsover_mul(__tsover_mul(__tsover_sub(sr(__tsover_add(n,77)),.5),.18),d),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colX"},{type:"i",name:"bandY1"},{type:"i",name:"slowFrame"},{type:"i",name:"glitchStrength"}],body:[0,[[13,"blockSeed",[1,[1,[1,"colX","*",[5,"0.41"]],"+",[1,"bandY1","*",[5,"0.67"]]],"+",[1,"slowFrame","*",[5,"2.31"]]]],[13,"blockHash",[6,"hash11",["blockSeed"]]],[13,"blockActive",[6,"std.step",[[1,[5,"1"],"-",[1,"glitchStrength","*",[5,"0.35"]]],"blockHash"]]],[13,"displace",[1,[1,[1,[6,"hash11",[[1,"blockSeed","+",[5,"77"]]]],"-",[5,"0.5"]],"*",[5,"0.18"]],"*","blockActive"]],[10,[6,"d.vec2f",["displace","blockActive"]]]]]},externals:{hash11:()=>sr,"std.step":()=>De,"d.vec2f":()=>l}})&&e.f)({})),q3=v.fn([l,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_add(__tsover_add(__tsover_mul(s,.83),__tsover_mul(r,1.17)),__tsover_mul(o,4.57)),_=sr(c),u=sr(__tsover_add(c,500)),m=__tsover_mul(De(__tsover_sub(1,__tsover_mul(i,d)),_),n),p=__tsover_mul(De(__tsover_sub(1,__tsover_mul(__tsover_mul(i,d),.4)),u),n);return l(X(t.x,__tsover_sub(1,t.x),m),X(t.y,__tsover_sub(1,t.y),p))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"displacedUV"},{type:"i",name:"colX"},{type:"i",name:"bandY1"},{type:"i",name:"slowFrame"},{type:"i",name:"bandActive1"},{type:"i",name:"mirrorChance"},{type:"i",name:"glitchStrength"}],body:[0,[[13,"mirrorSeed",[1,[1,[1,"colX","*",[5,"0.83"]],"+",[1,"bandY1","*",[5,"1.17"]]],"+",[1,"slowFrame","*",[5,"4.57"]]]],[13,"hMirrorHash",[6,"hash11",["mirrorSeed"]]],[13,"vMirrorHash",[6,"hash11",[[1,"mirrorSeed","+",[5,"500"]]]]],[13,"hMirrorActive",[1,[6,"std.step",[[1,[5,"1"],"-",[1,"mirrorChance","*","glitchStrength"]],"hMirrorHash"]],"*","bandActive1"]],[13,"vMirrorActive",[1,[6,"std.step",[[1,[5,"1"],"-",[1,[1,"mirrorChance","*","glitchStrength"],"*",[5,"0.4"]]],"vMirrorHash"]],"*","bandActive1"]],[10,[6,"d.vec2f",[[6,"std.mix",[[7,"displacedUV","x"],[1,[5,"1"],"-",[7,"displacedUV","x"]],"hMirrorActive"]],[6,"std.mix",[[7,"displacedUV","y"],[1,[5,"1"],"-",[7,"displacedUV","y"]],"vMirrorActive"]]]]]]]},externals:{hash11:()=>sr,"std.step":()=>De,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),Dm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({mirroredUV:l,spread:a,strength:a,bandY1:a,slowFrame:a,bandGate:a,blockGate:a,distortion:a}),"GlitchGeom"),qF=v.fn([l,a,a,a,a,a],Dm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(s,o),c=q(__tsover_mul(d,2.5)),_=q(__tsover_mul(d,10)),u=V3(c,_,r),m=q(__tsover_mul(t.y,n)),p=Q_(m,c,.37,7.13,.5,42,.25,u),y=Q_(q(__tsover_mul(t.y,__tsover_mul(n,2))),_,.53,3.37,.7,99,.12,u),h=Q_(q(__tsover_mul(t.y,__tsover_mul(n,4))),_,.71,11.71,.9,173,.05,u),g=q(__tsover_mul(t.x,4)),w=N3(g,m,c,u),S=__tsover_add(__tsover_add(__tsover_add(p.x,y.x),h.x),w.x),T=__tsover_mul(__tsover_mul(p.y,__tsover_sub(sr(__tsover_add(p.z,200)),.5)),.012),A=q3(l($(__tsover_add(t.x,__tsover_mul(S,u)),0,1),$(__tsover_add(t.y,__tsover_mul(T,u)),0,1)),g,m,c,p.y,i,u),P=__tsover_add(u,__tsover_mul(z(S),2)),U=$(__tsover_add(__tsover_add(p.y,y.y),h.y),0,1);return Dm({mirroredUV:A,spread:P,strength:u,bandY1:m,slowFrame:c,bandGate:p.y,blockGate:w.y,distortion:U})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"time"},{type:"i",name:"intensity"},{type:"i",name:"speed"},{type:"i",name:"blockDensity"},{type:"i",name:"mirrorChance"}],body:[0,[[13,"t",[1,"time","*","speed"]],[13,"slowFrame",[6,"std.floor",[[1,"t","*",[5,"2.5"]]]]],[13,"fastFrame",[6,"std.floor",[[1,"t","*",[5,"10"]]]]],[13,"glitchStrength",[6,"burstPulse",["slowFrame","fastFrame","intensity"]]],[13,"bandY1",[6,"std.floor",[[1,[7,"uv","y"],"*","blockDensity"]]]],[13,"band1",[6,"bandJitter",["bandY1","slowFrame",[5,"0.37"],[5,"7.13"],[5,"0.5"],[5,"42"],[5,"0.25"],"glitchStrength"]]],[13,"bandY2",[6,"std.floor",[[1,[7,"uv","y"],"*",[1,"blockDensity","*",[5,"2"]]]]]],[13,"band2",[6,"bandJitter",["bandY2","fastFrame",[5,"0.53"],[5,"3.37"],[5,"0.7"],[5,"99"],[5,"0.12"],"glitchStrength"]]],[13,"bandY3",[6,"std.floor",[[1,[7,"uv","y"],"*",[1,"blockDensity","*",[5,"4"]]]]]],[13,"band3",[6,"bandJitter",["bandY3","fastFrame",[5,"0.71"],[5,"11.71"],[5,"0.9"],[5,"173"],[5,"0.05"],"glitchStrength"]]],[13,"colX",[6,"std.floor",[[1,[7,"uv","x"],"*",[5,"4"]]]]],[13,"block",[6,"blockShift",["colX","bandY1","slowFrame","glitchStrength"]]],[13,"totalDisplaceX",[1,[1,[1,[7,"band1","x"],"+",[7,"band2","x"]],"+",[7,"band3","x"]],"+",[7,"block","x"]]],[13,"vertJitter",[1,[1,[7,"band1","y"],"*",[1,[6,"hash11",[[1,[7,"band1","z"],"+",[5,"200"]]]],"-",[5,"0.5"]]],"*",[5,"0.012"]]],[13,"displacedUV",[6,"d.vec2f",[[6,"std.clamp",[[1,[7,"uv","x"],"+",[1,"totalDisplaceX","*","glitchStrength"]],[5,"0"],[5,"1"]]],[6,"std.clamp",[[1,[7,"uv","y"],"+",[1,"vertJitter","*","glitchStrength"]],[5,"0"],[5,"1"]]]]]],[13,"mirroredUV",[6,"mirrorFlips",["displacedUV","colX","bandY1","slowFrame",[7,"band1","y"],"mirrorChance","glitchStrength"]]],[13,"spread",[1,"glitchStrength","+",[1,[6,"std.abs",["totalDisplaceX"]],"*",[5,"2"]]]],[13,"anyDistortion",[6,"std.clamp",[[1,[1,[7,"band1","y"],"+",[7,"band2","y"]],"+",[7,"band3","y"]],[5,"0"],[5,"1"]]]],[10,[6,"GlitchGeom",[[104,{mirroredUV:"mirroredUV",spread:"spread",strength:"glitchStrength",bandY1:"bandY1",slowFrame:"slowFrame",bandGate:[7,"band1","y"],blockGate:[7,"block","y"],distortion:"anyDistortion"}]]]]]]},externals:{"std.floor":()=>q,burstPulse:()=>V3,bandJitter:()=>Q_,blockShift:()=>N3,hash11:()=>sr,"d.vec2f":()=>l,"std.clamp":()=>$,mirrorFlips:()=>q3,"std.abs":()=>z,GlitchGeom:()=>Dm}})&&e.f)({})),XF=v.fn([l,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(__tsover_mul(s,.003),r),n=$(__tsover_add(t.x,o),0,1),i=$(__tsover_sub(t.x,o),0,1);return x(n,t.y,i,t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"mirroredUV"},{type:"i",name:"rgbShift"},{type:"i",name:"spread"}],body:[0,[[13,"rgbOffset",[1,[1,"rgbShift","*",[5,"0.003"]],"*","spread"]],[13,"redX",[6,"std.clamp",[[1,[7,"mirroredUV","x"],"+","rgbOffset"],[5,"0"],[5,"1"]]]],[13,"blueX",[6,"std.clamp",[[1,[7,"mirroredUV","x"],"-","rgbOffset"],[5,"0"],[5,"1"]]]],[10,[6,"d.vec4f",["redX",[7,"mirroredUV","y"],"blueX",[7,"mirroredUV","y"]]]]]]},externals:{"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})),HF=v.fn([x,l,a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=q(__tsover_mul(s.x,4)),u=__tsover_add(__tsover_add(__tsover_mul(_,.41),__tsover_mul(r,.67)),__tsover_mul(o,2.31)),m=sr(__tsover_add(u,555)),p=sr(__tsover_add(__tsover_add(r,__tsover_mul(o,3.33)),333)),y=ue(__tsover_add(__tsover_mul(s.x,3),__tsover_mul(p,7))),h=q(__tsover_mul(y,7)),g=f(__tsover_add(__tsover_sub(1,De(2,h)),__tsover_mul(De(4,h),__tsover_sub(1,De(6,h)))),__tsover_sub(1,De(4,h)),__tsover_sub(1,De(.5,ue(__tsover_mul(h,.5))))),w=ue(__tsover_add(__tsover_mul(sr(__tsover_add(r,13)),.8),__tsover_mul(o,.07))),S=__tsover_mul(w,6),T=X(f($(__tsover_sub(z(__tsover_sub(S,3)),1),0,1),$(__tsover_sub(2,z(__tsover_sub(S,2))),0,1),$(__tsover_sub(2,z(__tsover_sub(S,4))),0,1)).mul(1.3),g,f(De(.5,m))),A=__tsover_mul(__tsover_mul(__tsover_mul(d,c),n),i),P=X(t.xyz,T.mul(t.w),f(A));return x(P.x,P.y,P.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"},{type:"i",name:"bandY1"},{type:"i",name:"slowFrame"},{type:"i",name:"colorBarMix"},{type:"i",name:"strength"},{type:"i",name:"bandGate"},{type:"i",name:"blockGate"}],body:[0,[[13,"colX",[6,"std.floor",[[1,[7,"uv","x"],"*",[5,"4"]]]]],[13,"blockSeed",[1,[1,[1,"colX","*",[5,"0.41"]],"+",[1,"bandY1","*",[5,"0.67"]]],"+",[1,"slowFrame","*",[5,"2.31"]]]],[13,"fillStyleHash",[6,"hash11",[[1,"blockSeed","+",[5,"555"]]]]],[13,"barOffset",[6,"hash11",[[1,[1,"bandY1","+",[1,"slowFrame","*",[5,"3.33"]]],"+",[5,"333"]]]]],[13,"barX",[6,"std.fract",[[1,[1,[7,"uv","x"],"*",[5,"3"]],"+",[1,"barOffset","*",[5,"7"]]]]]],[13,"barIndex",[6,"std.floor",[[1,"barX","*",[5,"7"]]]]],[13,"barR",[1,[1,[5,"1"],"-",[6,"std.step",[[5,"2"],"barIndex"]]],"+",[1,[6,"std.step",[[5,"4"],"barIndex"]],"*",[1,[5,"1"],"-",[6,"std.step",[[5,"6"],"barIndex"]]]]]],[13,"barG",[1,[5,"1"],"-",[6,"std.step",[[5,"4"],"barIndex"]]]],[13,"barB",[1,[5,"1"],"-",[6,"std.step",[[5,"0.5"],[6,"std.fract",[[1,"barIndex","*",[5,"0.5"]]]]]]]],[13,"smpteColor",[6,"d.vec3f",["barR","barG","barB"]]],[13,"solidHue",[6,"std.fract",[[1,[1,[6,"hash11",[[1,"bandY1","+",[5,"13"]]]],"*",[5,"0.8"]],"+",[1,"slowFrame","*",[5,"0.07"]]]]]],[13,"sh6",[1,"solidHue","*",[5,"6"]]],[13,"solidColor",[6,[7,[6,"d.vec3f",[[6,"std.clamp",[[1,[6,"std.abs",[[1,"sh6","-",[5,"3"]]]],"-",[5,"1"]],[5,"0"],[5,"1"]]],[6,"std.clamp",[[1,[5,"2"],"-",[6,"std.abs",[[1,"sh6","-",[5,"2"]]]]],[5,"0"],[5,"1"]]],[6,"std.clamp",[[1,[5,"2"],"-",[6,"std.abs",[[1,"sh6","-",[5,"4"]]]]],[5,"0"],[5,"1"]]]]],"mul"],[[5,"1.3"]]]],[13,"fillColor",[6,"std.mix",["solidColor","smpteColor",[6,"d.vec3f",[[6,"std.step",[[5,"0.5"],"fillStyleHash"]]]]]]],[13,"colorBarStrength",[1,[1,[1,"bandGate","*","blockGate"],"*","colorBarMix"],"*","strength"]],[13,"withBars",[6,"std.mix",[[7,"color","xyz"],[6,[7,"fillColor","mul"],[[7,"color","w"]]],[6,"d.vec3f",["colorBarStrength"]]]]],[10,[6,"d.vec4f",[[7,"withBars","x"],[7,"withBars","y"],[7,"withBars","z"],[7,"color","w"]]]]]]},externals:{"std.floor":()=>q,hash11:()=>sr,"std.fract":()=>ue,"std.step":()=>De,"d.vec3f":()=>f,"std.clamp":()=>$,"std.abs":()=>z,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),jF=v.fn([x,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,r),d=__tsover_add(__tsover_mul(Y(__tsover_mul(i,3.14159265)),.5),.5),c=__tsover_sub(1,__tsover_mul(__tsover_mul(__tsover_mul(o,d),.3),n)),_=t.xyz.mul(c);return x(_.x,_.y,_.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uvY"},{type:"i",name:"viewportY"},{type:"i",name:"scanlines"},{type:"i",name:"distortion"}],body:[0,[[13,"pixelY",[1,"uvY","*","viewportY"]],[13,"scanlineWave",[1,[1,[6,"std.sin",[[1,"pixelY","*",[5,"3.14159265"]]]],"*",[5,"0.5"]],"+",[5,"0.5"]]],[13,"scanlineEffect",[1,[5,"1"],"-",[1,[1,[1,"scanlines","*","scanlineWave"],"*",[5,"0.3"]],"*","distortion"]]],[13,"shaded",[6,[7,[7,"color","xyz"],"mul"],["scanlineEffect"]]],[10,[6,"d.vec4f",[[7,"shaded","x"],[7,"shaded","y"],[7,"shaded","z"],[7,"color","w"]]]]]]},externals:{"std.sin":()=>Y,"d.vec4f":()=>x}})&&e.f)({})),X3=2/Math.sqrt(3),$i=Math.sqrt(3)/2,KF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=bt(s),i=l(__tsover_mul(t.x,n),__tsover_sub(1,t.y)),d=__tsover_mul(o,Le);return Qi(i,n,H(d),Y(d)).mul(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotationDeg"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"correctedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[1,[5,"1"],"-",[7,"uv","y"]]]]],[13,"rotRad",[1,"rotationDeg","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[10,[6,[7,[6,"rotateAboutCanvasCentre",["correctedUV","aspect","cosR","sinR"]],"mul"],["cells"]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotateAboutCanvasCentre:()=>Qi}})&&e.f)({})),ZF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=bt(s),i=l(__tsover_mul(t.x,n),t.y),d=-__tsover_mul(o,Le);return Qi(i,n,H(d),Y(d)).mul(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotationDeg"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"correctedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"ang",[4,"-",[1,"rotationDeg","*","DEG_TO_RAD"]]],[13,"cosR",[6,"std.cos",["ang"]]],[13,"sinR",[6,"std.sin",["ang"]]],[10,[6,[7,[6,"rotateAboutCanvasCentre",["correctedUV","aspect","cosR","sinR"]],"mul"],["cells"]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotateAboutCanvasCentre:()=>Qi}})&&e.f)({})),QF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=bt(s),i=l(__tsover_mul(t.x,n),t.y),d=__tsover_mul(o,Le);return Qi(i,n,H(d),Y(d)).mul(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotationDeg"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"correctedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"rotRad",[1,"rotationDeg","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[10,[6,[7,[6,"rotateAboutCanvasCentre",["correctedUV","aspect","cosR","sinR"]],"mul"],["cells"]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotateAboutCanvasCentre:()=>Qi}})&&e.f)({})),va=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return Fg(Bl(t),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellId"},{type:"i",name:"variation"}],body:[0,[[10,[6,"variationFactor",[[6,"cellHash",["cellId"]],"variation"]]]]]},externals:{variationFactor:()=>Fg,cellHash:()=>Bl}})&&e.f)({})),ru=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(o,.5);return Nl(t,s,b(__tsover_sub(s,n),0),__tsover_add(__tsover_add(s,r),n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"field"},{type:"i",name:"lineWidth"},{type:"i",name:"pixel"},{type:"i",name:"softness"}],body:[0,[[13,"soft",[1,"softness","*",[5,"0.5"]]],[13,"lo",[6,"std.max",[[1,"lineWidth","-","soft"],[5,"0"]]]],[13,"hi",[1,[1,"lineWidth","+","pixel"],"+","soft"]],[10,[6,"lineMaskFromField",["field","lineWidth","lo","hi"]]]]]},externals:{"std.max":()=>b,lineMaskFromField:()=>Nl}})&&e.f)({})),ou=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return Nl(t,s,__tsover_sub(s,r),__tsover_add(s,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"field"},{type:"i",name:"lineWidth"},{type:"i",name:"aaWidth"}],body:[0,[[10,[6,"lineMaskFromField",["field","lineWidth",[1,"lineWidth","-","aaWidth"],[1,"lineWidth","+","aaWidth"]]]]]]},externals:{lineMaskFromField:()=>Nl}})&&e.f)({})),JF=v.fn([l,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Il(t,s).mul(r);return Og(n,Bg(n,o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"softness"}],body:[0,[[13,"p",[6,[7,[6,"aspectCorrectedUVFlipY",["uv","viewport"]],"mul"],["cells"]]],[10,[6,"quilezCheckerFilter",["p",[6,"footprint2",["p","softness"]]]]]]]},externals:{aspectCorrectedUVFlipY:()=>Il,quilezCheckerFilter:()=>Og,footprint2:()=>Bg}})&&e.f)({})),H3=v.fn([l,l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(r,Le),c=bt(s),_=__tsover_add(Dl(ma(t,c),H(d),Y(d)),__tsover_mul(c,.5));return __tsover_add(__tsover_add(__tsover_mul(_,o),n),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"density"},{type:"i",name:"animTime"},{type:"i",name:"offset"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"rotatedCoord",[1,[6,"directionalProjection",[[6,"canvasCentredDelta",["uv","aspect"]],[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]],"+",[1,"aspect","*",[5,"0.5"]]]],[10,[1,[1,[1,"rotatedCoord","*","density"],"+","animTime"],"+","offset"]]]]},externals:{DEG_TO_RAD:()=>Le,aspectOf:()=>bt,directionalProjection:()=>Dl,canvasCentredDelta:()=>ma,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),eB=v.fn([l,l,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=H3(t,s,r,o,n,i);return Wg(_,Vl(_,c),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"density"},{type:"i",name:"animTime"},{type:"i",name:"offset"},{type:"i",name:"balance"},{type:"i",name:"softness"}],body:[0,[[13,"p",[6,"stripeCoordP",["uv","viewport","angle","density","animTime","offset"]]],[10,[6,"quilezStepFilter",["p",[6,"footprint1",["p","softness"]],"balance"]]]]]},externals:{stripeCoordP:()=>H3,quilezStepFilter:()=>Wg,footprint1:()=>Vl}})&&e.f)({})),tB=v.fn([l,l,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_mul(o,Le),u=H(_),m=Y(_),p=Eo(ma(t,bt(s)),u,-m),y=__tsover_mul(z(__tsover_sub(ue(__tsover_mul(p.y,r)),.5)),2),h=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(p.x,r),__tsover_mul(y,.5)),c),d),g=ue(h),w=Zt(h);return re(__tsover_sub(__tsover_sub(n,i),w),__tsover_add(__tsover_add(n,i),w),g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"count"},{type:"i",name:"angle"},{type:"i",name:"balance"},{type:"i",name:"softness"},{type:"i",name:"offset"},{type:"i",name:"animTime"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"rot",[6,"rotate2",[[6,"canvasCentredDelta",["uv",[6,"aspectOf",["viewport"]]]],"cosA",[4,"-","sinA"]]]],[13,"zigzag",[1,[6,"std.abs",[[1,[6,"std.fract",[[1,[7,"rot","y"],"*","count"]]],"-",[5,"0.5"]]]],"*",[5,"2"]]],[13,"stripeCoord",[1,[1,[1,[1,[7,"rot","x"],"*","count"],"+",[1,"zigzag","*",[5,"0.5"]]],"+","animTime"],"+","offset"]],[13,"pattern",[6,"std.fract",["stripeCoord"]]],[13,"fw",[6,"std.fwidth",["stripeCoord"]]],[10,[6,"std.smoothstep",[[1,[1,"balance","-","softness"],"-","fw"],[1,[1,"balance","+","softness"],"+","fw"],"pattern"]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotate2:()=>Eo,canvasCentredDelta:()=>ma,aspectOf:()=>bt,"std.abs":()=>z,"std.fract":()=>ue,"std.fwidth":()=>Zt,"std.smoothstep":()=>re}})&&e.f)({})),sB=v.fn([l,a,a,a,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_div(c.x,c.y),u=j(l(__tsover_sub(__tsover_mul(d.x,_),__tsover_mul(t.x,_)),__tsover_sub(d.y,__tsover_sub(1,t.y)))),m=Y(__tsover_add(__tsover_sub(__tsover_mul(u,s),i),n)),p=__tsover_sub(__tsover_mul(o,2),1),y=re(__tsover_sub(p,r),__tsover_add(p,r),m);return __tsover_sub(1,y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"frequency"},{type:"i",name:"softness"},{type:"i",name:"thickness"},{type:"i",name:"phase"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"dx",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,[7,"center","x"],"*","aspect"]]],[13,"dy",[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]],[13,"dist",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[13,"waveInput",[1,[1,[1,"dist","*","frequency"],"-","animTime"],"+","phase"]],[13,"baseWave",[6,"std.sin",["waveInput"]]],[13,"thicknessThreshold",[1,[1,"thickness","*",[5,"2"]],"-",[5,"1"]]],[13,"banded",[6,"std.smoothstep",[[1,"thicknessThreshold","-","softness"],[1,"thicknessThreshold","+","softness"],"baseWave"]]],[10,[1,[5,"1"],"-","banded"]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.sin":()=>Y,"std.smoothstep":()=>re}})&&e.f)({})),j3=v.fn([a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return l(ue(__tsover_mul(Y(__tsover_mul(t,127.1)),43758.5453123)),ue(__tsover_mul(Y(__tsover_mul(t,311.7)),38291.3421)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"idx"}],body:[0,[[10,[6,"d.vec2f",[[6,"std.fract",[[1,[6,"std.sin",[[1,"idx","*",[5,"127.1"]]]],"*",[5,"43758.5453123"]]]],[6,"std.fract",[[1,[6,"std.sin",[[1,"idx","*",[5,"311.7"]]]],"*",[5,"38291.3421"]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),K3=v.fn([a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_mul(o,n),_=__tsover_mul(b(__tsover_sub(t,s),0),r),u=$(__tsover_div(_,b(c,1e-4)),0,1),m=__tsover_mul(o,be(b(__tsover_sub(1,__tsover_mul(u,u)),0)));return __tsover_mul(__tsover_sub(1,re(b(__tsover_sub(m,i),0),b(__tsover_add(m,i),.001),d)),re(0,i,m))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"vPeriodic"},{type:"i",name:"trailLen"},{type:"i",name:"density"},{type:"i",name:"hw"},{type:"i",name:"rounding"},{type:"i",name:"fwU"},{type:"i",name:"distFromCenter"}],body:[0,[[13,"maxDepth",[1,"hw","*","rounding"]],[13,"gapDist",[1,[6,"std.max",[[1,"vPeriodic","-","trailLen"],[5,"0"]]],"*","density"]],[13,"tcap",[6,"std.clamp",[[1,"gapDist","/",[6,"std.max",["maxDepth",[5,"0.0001"]]]],[5,"0"],[5,"1"]]]],[13,"capHW",[1,"hw","*",[6,"std.sqrt",[[6,"std.max",[[1,[5,"1"],"-",[1,"tcap","*","tcap"]],[5,"0"]]]]]]],[10,[1,[1,[5,"1"],"-",[6,"std.smoothstep",[[6,"std.max",[[1,"capHW","-","fwU"],[5,"0"]]],[6,"std.max",[[1,"capHW","+","fwU"],[5,"0.001"]]],"distFromCenter"]]],"*",[6,"std.smoothstep",[[5,"0"],"fwU","capHW"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.sqrt":()=>be,"std.smoothstep":()=>re}})&&e.f)({})),Z3=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_sub(__tsover_mul(2,s),1),o=b(__tsover_mul(2,__tsover_sub(1,s)),.001);return $(__tsover_div(__tsover_add(t,r),o),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"withinStreak"},{type:"i",name:"balance"}],body:[0,[[13,"balanceNum",[1,[1,[5,"2"],"*","balance"],"-",[5,"1"]]],[13,"balanceDen",[6,"std.max",[[1,[5,"2"],"*",[1,[5,"1"],"-","balance"]],[5,"0.001"]]]],[10,[6,"std.clamp",[[1,[1,"withinStreak","+","balanceNum"],"/","balanceDen"],[5,"0"],[5,"1"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$}})&&e.f)({})),rB=v.fn([l,l,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=bt(s),p=l(__tsover_mul(t.x,m),t.y).sub(l(__tsover_mul(m,.5),.5)),y=__tsover_mul(r,Le),h=H(y),g=Y(y),w=__tsover_sub(__tsover_mul(p.y,h),__tsover_mul(p.x,g)),S=__tsover_add(__tsover_mul(p.x,h),__tsover_mul(p.y,g)),T=__tsover_mul(w,o),A=q(T),P=ue(T),U=j3(A),D=__tsover_add(1,__tsover_mul(__tsover_mul(__tsover_sub(U.x,.5),n),2)),O=U.y,L=ue(__tsover_mul(u,D)),G=ue(__tsover_sub(__tsover_sub(S,L),O)),W=i,K=$(__tsover_div(G,W),0,1),Q=$(Zt(S),.001,.1),te=$(__tsover_mul(Zt(w),o),.001,.1),ee=__tsover_sub(1,re(__tsover_sub(W,Q),__tsover_add(W,Q),G)),he=__tsover_mul(d,.5),Ee=z(__tsover_sub(P,.5)),Te=__tsover_sub(1,re(__tsover_sub(he,te),__tsover_add(he,te),Ee));return l(b(__tsover_mul(ee,Te),K3(G,W,o,he,c,te,Ee)),Z3(K,_))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"vp"},{type:"i",name:"angle"},{type:"i",name:"density"},{type:"i",name:"speedVariance"},{type:"i",name:"trailLength"},{type:"i",name:"strokeWidth"},{type:"i",name:"rounding"},{type:"i",name:"balance"},{type:"i",name:"animTime"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["vp"]]],[13,"corrUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centeredUV",[6,[7,"corrUV","sub"],[[6,"d.vec2f",[[1,"aspect","*",[5,"0.5"]],[5,"0.5"]]]]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"u",[1,[1,[7,"centeredUV","y"],"*","cosA"],"-",[1,[7,"centeredUV","x"],"*","sinA"]]],[13,"v",[1,[1,[7,"centeredUV","x"],"*","cosA"],"+",[1,[7,"centeredUV","y"],"*","sinA"]]],[13,"colF",[1,"u","*","density"]],[13,"colIdx",[6,"std.floor",["colF"]]],[13,"colLocalU",[6,"std.fract",["colF"]]],[13,"h",[6,"colHash",["colIdx"]]],[13,"speedMod",[1,[5,"1"],"+",[1,[1,[1,[7,"h","x"],"-",[5,"0.5"]],"*","speedVariance"],"*",[5,"2"]]]],[13,"phase",[7,"h","y"]],[13,"animOffset",[6,"std.fract",[[1,"animTime","*","speedMod"]]]],[13,"vPeriodic",[6,"std.fract",[[1,[1,"v","-","animOffset"],"-","phase"]]]],[13,"trailLen","trailLength"],[13,"withinStreak",[6,"std.clamp",[[1,"vPeriodic","/","trailLen"],[5,"0"],[5,"1"]]]],[13,"fwV",[6,"std.clamp",[[6,"std.fwidth",["v"]],[5,"0.001"],[5,"0.1"]]]],[13,"fwU",[6,"std.clamp",[[1,[6,"std.fwidth",["u"]],"*","density"],[5,"0.001"],[5,"0.1"]]]],[13,"streakMask",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"trailLen","-","fwV"],[1,"trailLen","+","fwV"],"vPeriodic"]]]],[13,"hw",[1,"strokeWidth","*",[5,"0.5"]]],[13,"distFromCenter",[6,"std.abs",[[1,"colLocalU","-",[5,"0.5"]]]]],[13,"widthMask",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"hw","-","fwU"],[1,"hw","+","fwU"],"distFromCenter"]]]],[13,"rectMask",[1,"streakMask","*","widthMask"]],[13,"capAlpha",[6,"fallingCapAlpha",["vPeriodic","trailLen","density","hw","rounding","fwU","distFromCenter"]]],[13,"finalMask",[6,"std.max",["rectMask","capAlpha"]]],[10,[6,"d.vec2f",["finalMask",[6,"fallingBalanceRemap",["withinStreak","balance"]]]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.floor":()=>q,"std.fract":()=>ue,colHash:()=>j3,"std.clamp":()=>$,"std.fwidth":()=>Zt,"std.smoothstep":()=>re,"std.abs":()=>z,fallingCapAlpha:()=>K3,"std.max":()=>b,fallingBalanceRemap:()=>Z3}})&&e.f)({})),oB=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return Dg(t,s,r,__tsover_mul(o,Le))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotation"}],body:[0,[[10,[6,"cellCentreUVRotated",["uv","viewport","cells",[1,"rotation","*","DEG_TO_RAD"]]]]]]},externals:{cellCentreUVRotated:()=>Dg,DEG_TO_RAD:()=>Le}})&&e.f)({})),nB=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,.01),i=b(n,1e-4),d=__tsover_mul(i,2),c=__tsover_div(1,d),_=t.add(i),u=Ni(_),m=qi(_),p=__tsover_add(b(b(z(u.x),z(m.x)),1e-5),r),y=__tsover_add(b(b(z(u.y),z(m.y)),1e-5),r),h=bm(_.x,p,c),g=bm(_.y,y,c),w=__tsover_mul(__tsover_sub(1,h),__tsover_sub(1,g));return l(__tsover_mul(__tsover_sub(1,w),De(1e-4,n)),va(q(t),o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"gridUV"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"variation"}],body:[0,[[13,"lineWidth",[1,"thickness","*",[5,"0.01"]]],[13,"safeLine",[6,"std.max",["lineWidth",[5,"0.0001"]]]],[13,"lineFraction",[1,"safeLine","*",[5,"2"]]],[13,"N",[1,[5,"1"],"/","lineFraction"]],[13,"p",[6,[7,"gridUV","add"],["safeLine"]]],[13,"dpx",[6,"std.dpdx",["p"]]],[13,"dpy",[6,"std.dpdy",["p"]]],[13,"wx",[1,[6,"std.max",[[6,"std.max",[[6,"std.abs",[[7,"dpx","x"]]],[6,"std.abs",[[7,"dpy","x"]]]]],[5,"0.00001"]]],"+","softness"]],[13,"wy",[1,[6,"std.max",[[6,"std.max",[[6,"std.abs",[[7,"dpx","y"]]],[6,"std.abs",[[7,"dpy","y"]]]]],[5,"0.00001"]]],"+","softness"]],[13,"iX",[6,"quilezLineFilterAxis",[[7,"p","x"],"wx","N"]]],[13,"iY",[6,"quilezLineFilterAxis",[[7,"p","y"],"wy","N"]]],[13,"gapBoth",[1,[1,[5,"1"],"-","iX"],"*",[1,[5,"1"],"-","iY"]]],[13,"gridMask",[1,[1,[5,"1"],"-","gapBoth"],"*",[6,"std.step",[[5,"0.0001"],"lineWidth"]]]],[13,"variedFactor",[6,"cellVariation",[[6,"std.floor",["gridUV"]],"variation"]]],[10,[6,"d.vec2f",["gridMask","variedFactor"]]]]]},externals:{"std.max":()=>b,"std.dpdx":()=>Ni,"std.dpdy":()=>qi,"std.abs":()=>z,quilezLineFilterAxis:()=>bm,"std.step":()=>De,cellVariation:()=>va,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),aB=v.fn([l,l,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=Il(t,s),m=u.mul(r),p=q(m.y),y=Ol(Wl(p),i),h=__tsover_mul(c,y),g=__tsover_mul(n,Zi(p,2)),w=Ji(l(__tsover_sub(__tsover_sub(m.x,g),h),m.y)),S=j(w.local.sub(.5)),T=j(Zt(u.mul(r))),A=Vg(S,__tsover_mul(o,.5),T),P=ue(__tsover_mul(Y(__tsover_add(__tsover_mul(w.cell.x,12.9898),__tsover_mul(w.cell.y,78.233))),43758.5453)),U=__tsover_add(__tsover_mul(_,2),__tsover_mul(P,it)),D=X(1,__tsover_add(__tsover_mul(Y(U),.5),.5),d);return __tsover_mul(A,D)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"density"},{type:"i",name:"dotSize"},{type:"i",name:"offset"},{type:"i",name:"speedVariance"},{type:"i",name:"twinkle"},{type:"i",name:"animTime"},{type:"i",name:"time"}],body:[0,[[13,"correctedUV",[6,"aspectCorrectedUVFlipY",["uv","viewport"]]],[13,"gridUV",[6,[7,"correctedUV","mul"],["density"]]],[13,"rowIndex",[6,"std.floor",[[7,"gridUV","y"]]]],[13,"speedMod",[6,"rowSpeedMultiplier",[[6,"rowSpeedHash",["rowIndex"]],"speedVariance"]]],[13,"drift",[1,"animTime","*","speedMod"]],[13,"staticStagger",[1,"offset","*",[6,"flooredMod1",["rowIndex",[5,"2"]]]]],[13,"shiftedGrid",[6,"d.vec2f",[[1,[1,[7,"gridUV","x"],"-","staticStagger"],"-","drift"],[7,"gridUV","y"]]]],[13,"tile",[6,"squareTiling",["shiftedGrid"]]],[13,"centerDistance",[6,"std.length",[[6,[7,[7,"tile","local"],"sub"],[[5,"0.5"]]]]]],[13,"pixelSize",[6,"std.length",[[6,"std.fwidth",[[6,[7,"correctedUV","mul"],["density"]]]]]]],[13,"coverage",[6,"discCoverage",["centerDistance",[1,"dotSize","*",[5,"0.5"]],"pixelSize"]]],[13,"dotPhase",[6,"std.fract",[[1,[6,"std.sin",[[1,[1,[7,[7,"tile","cell"],"x"],"*",[5,"12.9898"]],"+",[1,[7,[7,"tile","cell"],"y"],"*",[5,"78.233"]]]]],"*",[5,"43758.5453"]]]]],[13,"twinkleTime",[1,[1,"time","*",[5,"2"]],"+",[1,"dotPhase","*","TAU"]]],[13,"twinkleValue",[1,[1,[6,"std.sin",["twinkleTime"]],"*",[5,"0.5"]],"+",[5,"0.5"]]],[13,"twinkleModifier",[6,"std.mix",[[5,"1"],"twinkleValue","twinkle"]]],[10,[1,"coverage","*","twinkleModifier"]]]]},externals:{aspectCorrectedUVFlipY:()=>Il,"std.floor":()=>q,rowSpeedMultiplier:()=>Ol,rowSpeedHash:()=>Wl,flooredMod1:()=>Zi,"d.vec2f":()=>l,squareTiling:()=>Ji,"std.length":()=>j,"std.fwidth":()=>Zt,discCoverage:()=>Vg,"std.fract":()=>ue,"std.sin":()=>Y,TAU:()=>it,"std.mix":()=>X}})&&e.f)({})),iB=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Fl(t,l(_a,1)),i=va(l(sa(__tsover_mul(n.id.x,X3)),sa(__tsover_mul(n.id.y,2))),o),d=l(z(n.gv.x),z(n.gv.y)),c=b(se(d,l($i,.5)),d.y);return l(ru(__tsover_sub(.5,c),__tsover_mul(s,.01),__tsover_mul(Zt(t.x),.5),r),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"variation"}],body:[0,[[13,"hex",[6,"hexTiling",["scaledUV",[6,"d.vec2f",["SQRT3",[5,"1"]]]]]],[13,"ix",[6,"std.round",[[1,[7,[7,"hex","id"],"x"],"*","INV_SQRT3_2"]]]],[13,"iy",[6,"std.round",[[1,[7,[7,"hex","id"],"y"],"*",[5,"2"]]]]],[13,"variedFactor",[6,"cellVariation",[[6,"d.vec2f",["ix","iy"]],"variation"]]],[13,"pAbs",[6,"d.vec2f",[[6,"std.abs",[[7,[7,"hex","gv"],"x"]]],[6,"std.abs",[[7,[7,"hex","gv"],"y"]]]]]],[13,"hexDist",[6,"std.max",[[6,"std.dot",["pAbs",[6,"d.vec2f",["SQRT3_2",[5,"0.5"]]]]],[7,"pAbs","y"]]]],[13,"edgeDist",[1,[5,"0.5"],"-","hexDist"]],[13,"lineWidth",[1,"thickness","*",[5,"0.01"]]],[13,"pixel",[1,[6,"std.fwidth",[[7,"scaledUV","x"]]],"*",[5,"0.5"]]],[13,"lineMask",[6,"strokeBandFloored",["edgeDist","lineWidth","pixel","softness"]]],[10,[6,"d.vec2f",["lineMask","variedFactor"]]]]]},externals:{hexTiling:()=>Fl,"d.vec2f":()=>l,SQRT3:()=>_a,"std.round":()=>sa,INV_SQRT3_2:()=>X3,cellVariation:()=>va,"std.abs":()=>z,"std.max":()=>b,"std.dot":()=>se,SQRT3_2:()=>$i,"std.fwidth":()=>Zt,strokeBandFloored:()=>ru}})&&e.f)({})),dB=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ig(t),c=Ol(Wl(q(d.y)),n),_=__tsover_mul(i,c),u=l(__tsover_sub(d.x,_),d.y),m=q(u),p=ue(u),y=De(1,__tsover_add(p.x,p.y)),h=va(l(__tsover_add(__tsover_mul(m.x,2),y),m.y),o);return l(ou(oe(oe(oe(p.x,__tsover_sub(1,p.x)),oe(p.y,__tsover_sub(1,p.y))),z(__tsover_sub(__tsover_add(p.x,p.y),1))),__tsover_mul(s,.02),__tsover_add(b(Zt(d.x),Zt(d.y)),__tsover_mul(r,.5))),h)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"variation"},{type:"i",name:"speedVariance"},{type:"i",name:"animTime"}],body:[0,[[13,"ps",[6,"triLattice",["p"]]],[13,"rowIndex",[6,"std.floor",[[7,"ps","y"]]]],[13,"speedMod",[6,"rowSpeedMultiplier",[[6,"rowSpeedHash",["rowIndex"]],"speedVariance"]]],[13,"drift",[1,"animTime","*","speedMod"]],[13,"psShifted",[6,"d.vec2f",[[1,[7,"ps","x"],"-","drift"],[7,"ps","y"]]]],[13,"cell",[6,"std.floor",["psShifted"]]],[13,"f",[6,"std.fract",["psShifted"]]],[13,"upper",[6,"std.step",[[5,"1"],[1,[7,"f","x"],"+",[7,"f","y"]]]]],[13,"triId",[6,"d.vec2f",[[1,[1,[7,"cell","x"],"*",[5,"2"]],"+","upper"],[7,"cell","y"]]]],[13,"variedFactor",[6,"cellVariation",["triId","variation"]]],[13,"dEdge",[6,"std.min",[[6,"std.min",[[6,"std.min",[[7,"f","x"],[1,[5,"1"],"-",[7,"f","x"]]]],[6,"std.min",[[7,"f","y"],[1,[5,"1"],"-",[7,"f","y"]]]]]],[6,"std.abs",[[1,[1,[7,"f","x"],"+",[7,"f","y"]],"-",[5,"1"]]]]]]],[13,"lineWidth",[1,"thickness","*",[5,"0.02"]]],[13,"aaWidth",[1,[6,"std.max",[[6,"std.fwidth",[[7,"ps","x"]]],[6,"std.fwidth",[[7,"ps","y"]]]]],"+",[1,"softness","*",[5,"0.5"]]]],[13,"lineMask",[6,"strokeBandSymmetric",["dEdge","lineWidth","aaWidth"]]],[10,[6,"d.vec2f",["lineMask","variedFactor"]]]]]},externals:{triLattice:()=>Ig,"std.floor":()=>q,rowSpeedMultiplier:()=>Ol,rowSpeedHash:()=>Wl,"d.vec2f":()=>l,"std.fract":()=>ue,"std.step":()=>De,cellVariation:()=>va,"std.min":()=>oe,"std.abs":()=>z,"std.max":()=>b,"std.fwidth":()=>Zt,strokeBandSymmetric:()=>ou}})&&e.f)({})),Q3=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=ma(t,o),i=__tsover_mul(r,Le),d=Eo(n,H(i),-Y(i));return l(__tsover_add(__tsover_div(d.x,o),.5),__tsover_add(d.y,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"rotation"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"centred",[6,"canvasCentredDelta",["uv","aspect"]]],[13,"rotRad",[1,"rotation","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rot",[6,"rotate2",["centred","cosR",[4,"-","sinR"]]]],[10,[6,"d.vec2f",[[1,[1,[7,"rot","x"],"/","aspect"],"+",[5,"0.5"]],[1,[7,"rot","y"],"+",[5,"0.5"]]]]]]]},externals:{aspectOf:()=>bt,canvasCentredDelta:()=>ma,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotate2:()=>Eo,"d.vec2f":()=>l}})&&e.f)({})),J3=v.fn([a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Zi(t,2);return l(__tsover_mul(o,.5),X(__tsover_sub(__tsover_mul(o,2),1),__tsover_mul(__tsover_sub(ue(__tsover_mul(Y(__tsover_add(t,__tsover_mul(s,.137))),43758.5453)),.5),2),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"row"},{type:"i",name:"seed"},{type:"i",name:"speedVariance"}],body:[0,[[13,"rowMod2",[6,"flooredMod1",["row",[5,"2"]]]],[13,"rowOffset",[1,"rowMod2","*",[5,"0.5"]]],[13,"rowDir",[1,[1,"rowMod2","*",[5,"2"]],"-",[5,"1"]]],[13,"rowHash",[1,[1,[6,"std.fract",[[1,[6,"std.sin",[[1,"row","+",[1,"seed","*",[5,"0.137"]]]]],"*",[5,"43758.5453"]]]],"-",[5,"0.5"]],"*",[5,"2"]]],[10,[6,"d.vec2f",["rowOffset",[6,"std.mix",["rowDir","rowHash","speedVariance"]]]]]]]},externals:{flooredMod1:()=>Zi,"std.fract":()=>ue,"std.sin":()=>Y,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),eb=v.fn([l,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Ri(t.x,__tsover_sub(s.x,r.x),__tsover_add(s.x,r.x)),n=Ri(t.y,__tsover_sub(s.y,r.y),__tsover_add(s.y,r.y));return __tsover_mul(o,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellUV"},{type:"i",name:"mortarUV"},{type:"i",name:"aaUV"}],body:[0,[[13,"brickU",[6,"bandMask",[[7,"cellUV","x"],[1,[7,"mortarUV","x"],"-",[7,"aaUV","x"]],[1,[7,"mortarUV","x"],"+",[7,"aaUV","x"]]]]],[13,"brickV",[6,"bandMask",[[7,"cellUV","y"],[1,[7,"mortarUV","y"],"-",[7,"aaUV","y"]],[1,[7,"mortarUV","y"],"+",[7,"aaUV","y"]]]]],[10,[1,"brickU","*","brickV"]]]]},externals:{bandMask:()=>Ri}})&&e.f)({})),cB=v.fn([l,l,a,a,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p)=>{"use gpu";let y=bt(s),h=Q3(t,s,c),g=h.x,w=h.y,S=__tsover_mul(n,.3),T=__tsover_div(__tsover_mul(__tsover_mul(S,y),o),r),A=q(__tsover_mul(w,o)),P=J3(A,m,u),U=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(g,r),P.x),__tsover_mul(p,P.y)),_),D=__tsover_mul(w,o),O=ue(U),L=ue(D),G=__tsover_mul(i,.5),W=__tsover_add(Zt(U),G),K=__tsover_add(Zt(D),G);return l(eb(l(O,L),l(S,T),l(W,K)),va(l(q(U),A),d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cellsX"},{type:"i",name:"cellsY"},{type:"i",name:"mortar"},{type:"i",name:"softness"},{type:"i",name:"variation"},{type:"i",name:"rotation"},{type:"i",name:"offset"},{type:"i",name:"speedVariance"},{type:"i",name:"seed"},{type:"i",name:"animTime"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"frame",[6,"brickFrame",["uv","viewport","rotation"]]],[13,"u",[7,"frame","x"]],[13,"v",[7,"frame","y"]],[13,"mortarU",[1,"mortar","*",[5,"0.3"]]],[13,"mortarV",[1,[1,[1,"mortarU","*","aspect"],"*","cellsY"],"/","cellsX"]],[13,"row",[6,"std.floor",[[1,"v","*","cellsY"]]]],[13,"stagger",[6,"brickRowStagger",["row","seed","speedVariance"]]],[13,"brickArg",[1,[1,[1,[1,"u","*","cellsX"],"+",[7,"stagger","x"]],"+",[1,"animTime","*",[7,"stagger","y"]]],"+","offset"]],[13,"vScaled",[1,"v","*","cellsY"]],[13,"cellU",[6,"std.fract",["brickArg"]]],[13,"cellV",[6,"std.fract",["vScaled"]]],[13,"soft",[1,"softness","*",[5,"0.5"]]],[13,"aaU",[1,[6,"std.fwidth",["brickArg"]],"+","soft"]],[13,"aaV",[1,[6,"std.fwidth",["vScaled"]],"+","soft"]],[13,"brickMask",[6,"brickMortarMask",[[6,"d.vec2f",["cellU","cellV"]],[6,"d.vec2f",["mortarU","mortarV"]],[6,"d.vec2f",["aaU","aaV"]]]]],[13,"brickId",[6,"d.vec2f",[[6,"std.floor",["brickArg"]],"row"]]],[13,"variedFactor",[6,"cellVariation",["brickId","variation"]]],[10,[6,"d.vec2f",["brickMask","variedFactor"]]]]]},externals:{aspectOf:()=>bt,brickFrame:()=>Q3,"std.floor":()=>q,brickRowStagger:()=>J3,"std.fract":()=>ue,"std.fwidth":()=>Zt,brickMortarMask:()=>eb,"d.vec2f":()=>l,cellVariation:()=>va}})&&e.f)({})),tb=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=se(t,l(127.1,311.7));return ue(__tsover_mul(Y(s),43758.5453))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"h",[6,"std.dot",["p",[6,"d.vec2f",[[5,"127.1"],[5,"311.7"]]]]]],[10,[6,"std.fract",[[1,[6,"std.sin",["h"]],"*",[5,"43758.5453"]]]]]]]},externals:{"std.dot":()=>se,"d.vec2f":()=>l,"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),_B=v.fn([l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Ji(t),i=tb(l(__tsover_add(n.cell.x,o),__tsover_add(n.cell.y,o)))>.5,d=C(a(0),a(1),i),c=C(a(1),a(0),i);return ru(oe(z(__tsover_sub(j(l(__tsover_sub(n.local.x,d),n.local.y)),.5)),z(__tsover_sub(j(l(__tsover_sub(n.local.x,c),__tsover_sub(n.local.y,1))),.5))),__tsover_mul(s,.005),__tsover_mul(Zt(t.x),.5),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"seed"}],body:[0,[[13,"tile",[6,"squareTiling",["scaledUV"]]],[13,"h",[6,"truchetHash",[[6,"d.vec2f",[[1,[7,[7,"tile","cell"],"x"],"+","seed"],[1,[7,[7,"tile","cell"],"y"],"+","seed"]]]]]],[13,"flip",[1,"h",">",[5,"0.5"]]],[13,"c1x",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],"flip"]]],[13,"c2x",[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"d.f32",[[5,"0"]]],"flip"]]],[13,"d1",[6,"std.abs",[[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,[7,"tile","local"],"x"],"-","c1x"],[7,[7,"tile","local"],"y"]]]]],"-",[5,"0.5"]]]]],[13,"d2",[6,"std.abs",[[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,[7,"tile","local"],"x"],"-","c2x"],[1,[7,[7,"tile","local"],"y"],"-",[5,"1"]]]]]],"-",[5,"0.5"]]]]],[13,"arcDist",[6,"std.min",["d1","d2"]]],[13,"lineWidth",[1,"thickness","*",[5,"0.005"]]],[13,"pixel",[1,[6,"std.fwidth",[[7,"scaledUV","x"]]],"*",[5,"0.5"]]],[10,[6,"strokeBandFloored",["arcDist","lineWidth","pixel","softness"]]]]]},externals:{squareTiling:()=>Ji,truchetHash:()=>tb,"d.vec2f":()=>l,"std.select":()=>C,"d.f32":()=>a,"std.abs":()=>z,"std.length":()=>j,"std.min":()=>oe,"std.fwidth":()=>Zt,strokeBandFloored:()=>ru}})&&e.f)({})),lB=v.fn([l,a,x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Ji(t),i=__tsover_mul(Zt(t.x),.5),d=Ri(n.local.y,s,__tsover_add(s,i)),c=Ri(n.local.x,s,__tsover_add(s,i)),_=Zi(__tsover_add(n.cell.x,n.cell.y),2),u=__tsover_mul(d,c),m=$(__tsover_sub(d,__tsover_mul(u,_)),0,1),p=$(__tsover_sub(c,__tsover_mul(u,__tsover_sub(1,_))),0,1),y=__tsover_mul(r.w,m),h=__tsover_mul(o.w,p),g=$(__tsover_add(y,h),0,1),w=b(__tsover_add(y,h),.001);return x(__tsover_div(__tsover_add(__tsover_mul(r.x,y),__tsover_mul(o.x,h)),w),__tsover_div(__tsover_add(__tsover_mul(r.y,y),__tsover_mul(o.y,h)),w),__tsover_div(__tsover_add(__tsover_mul(r.z,y),__tsover_mul(o.z,h)),w),g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"gap"},{type:"i",name:"colorA"},{type:"i",name:"colorB"}],body:[0,[[13,"tile",[6,"squareTiling",["scaledUV"]]],[13,"pixel",[1,[6,"std.fwidth",[[7,"scaledUV","x"]]],"*",[5,"0.5"]]],[13,"hBand",[6,"bandMask",[[7,[7,"tile","local"],"y"],"gap",[1,"gap","+","pixel"]]]],[13,"vBand",[6,"bandMask",[[7,[7,"tile","local"],"x"],"gap",[1,"gap","+","pixel"]]]],[13,"isHTopFloat",[6,"flooredMod1",[[1,[7,[7,"tile","cell"],"x"],"+",[7,[7,"tile","cell"],"y"]],[5,"2"]]]],[13,"intersection",[1,"hBand","*","vBand"]],[13,"hVis",[6,"std.clamp",[[1,"hBand","-",[1,"intersection","*","isHTopFloat"]],[5,"0"],[5,"1"]]]],[13,"vVis",[6,"std.clamp",[[1,"vBand","-",[1,"intersection","*",[1,[5,"1"],"-","isHTopFloat"]]],[5,"0"],[5,"1"]]]],[13,"weightA",[1,[7,"colorA","w"],"*","hVis"]],[13,"weightB",[1,[7,"colorB","w"],"*","vVis"]],[13,"totalAlpha",[6,"std.clamp",[[1,"weightA","+","weightB"],[5,"0"],[5,"1"]]]],[13,"safeWeight",[6,"std.max",[[1,"weightA","+","weightB"],[5,"0.001"]]]],[13,"r",[1,[1,[1,[7,"colorA","x"],"*","weightA"],"+",[1,[7,"colorB","x"],"*","weightB"]],"/","safeWeight"]],[13,"g",[1,[1,[1,[7,"colorA","y"],"*","weightA"],"+",[1,[7,"colorB","y"],"*","weightB"]],"/","safeWeight"]],[13,"b",[1,[1,[1,[7,"colorA","z"],"*","weightA"],"+",[1,[7,"colorB","z"],"*","weightB"]],"/","safeWeight"]],[10,[6,"d.vec4f",["r","g","b","totalAlpha"]]]]]},externals:{squareTiling:()=>Ji,"std.fwidth":()=>Zt,bandMask:()=>Ri,flooredMod1:()=>Zi,"std.clamp":()=>$,"std.max":()=>b,"d.vec4f":()=>x}})&&e.f)({})),sb=2/Math.sqrt(3),uB=v.fn([l,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Fl(t,l(1,_a)),n=se(o.gv,l(0,1)),i=se(o.gv,l(-$i,-.5)),d=se(o.gv,l($i,-.5)),c=n>=b(i,d),_=C(C(.74,.5,i>=d),1,c),u=Bl(l(sa(__tsover_mul(o.id.x,2)),sa(__tsover_mul(o.id.y,sb)))),m=b(n,b(i,d)),p=oe(n,oe(i,d)),y=__tsover_sub(__tsover_sub(__tsover_add(__tsover_add(n,i),d),m),p),h=__tsover_sub(m,y),g=l(z(o.gv.x),z(o.gv.y)),w=b(se(g,l(.5,$i)),g.x);return f(u,_,ou(oe(h,__tsover_sub(.5,w)),__tsover_mul(s,.02),__tsover_add(__tsover_mul(Zt(t.x),.5),__tsover_mul(r,.5))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"thickness"},{type:"i",name:"softness"}],body:[0,[[13,"hex",[6,"hexTiling",["scaledUV",[6,"d.vec2f",[[5,"1"],"SQRT3"]]]]],[13,"s0",[6,"std.dot",[[7,"hex","gv"],[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]],[13,"s1",[6,"std.dot",[[7,"hex","gv"],[6,"d.vec2f",[[4,"-","SQRT3_2"],[4,"-",[5,"0.5"]]]]]]],[13,"s2",[6,"std.dot",[[7,"hex","gv"],[6,"d.vec2f",["SQRT3_2",[4,"-",[5,"0.5"]]]]]]],[13,"isTop",[1,"s0",">=",[6,"std.max",["s1","s2"]]]],[13,"isLeft",[1,"s1",">=","s2"]],[13,"tone",[6,"std.select",[[6,"std.select",[[5,"0.74"],[5,"0.5"],"isLeft"]],[5,"1"],"isTop"]]],[13,"ix",[6,"std.round",[[1,[7,[7,"hex","id"],"x"],"*",[5,"2"]]]]],[13,"iy",[6,"std.round",[[1,[7,[7,"hex","id"],"y"],"*","INV_2_SQRT3"]]]],[13,"rand",[6,"cellHash",[[6,"d.vec2f",["ix","iy"]]]]],[13,"mx",[6,"std.max",["s0",[6,"std.max",["s1","s2"]]]]],[13,"mn",[6,"std.min",["s0",[6,"std.min",["s1","s2"]]]]],[13,"midScore",[1,[1,[1,[1,"s0","+","s1"],"+","s2"],"-","mx"],"-","mn"]],[13,"internal",[1,"mx","-","midScore"]],[13,"pAbs",[6,"d.vec2f",[[6,"std.abs",[[7,[7,"hex","gv"],"x"]]],[6,"std.abs",[[7,[7,"hex","gv"],"y"]]]]]],[13,"hexDist",[6,"std.max",[[6,"std.dot",["pAbs",[6,"d.vec2f",[[5,"0.5"],"SQRT3_2"]]]],[7,"pAbs","x"]]]],[13,"rimDist",[1,[5,"0.5"],"-","hexDist"]],[13,"edgeField",[6,"std.min",["internal","rimDist"]]],[13,"lineWidth",[1,"thickness","*",[5,"0.02"]]],[13,"aaWidth",[1,[1,[6,"std.fwidth",[[7,"scaledUV","x"]]],"*",[5,"0.5"]],"+",[1,"softness","*",[5,"0.5"]]]],[13,"wire",[6,"strokeBandSymmetric",["edgeField","lineWidth","aaWidth"]]],[10,[6,"d.vec3f",["rand","tone","wire"]]]]]},externals:{hexTiling:()=>Fl,"d.vec2f":()=>l,SQRT3:()=>_a,"std.dot":()=>se,SQRT3_2:()=>$i,"std.max":()=>b,"std.select":()=>C,"std.round":()=>sa,INV_2_SQRT3:()=>sb,cellHash:()=>Bl,"std.min":()=>oe,"std.abs":()=>z,"std.fwidth":()=>Zt,strokeBandSymmetric:()=>ou,"d.vec3f":()=>f}})&&e.f)({})),Da=.1,mB=v.fn([x,l,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(s.x,r),s.y),d=__tsover_mul(o,Le),c=H(d),_=Y(d),u=ue(l(se(i,l(c,__tsover_mul(_,-1))),se(i,l(_,c))).mul(n)).sub(l(.5,.5)),m=se(f(t.x,t.y,t.z),f(.299,.587,.114)),p=__tsover_add(__tsover_mul(m,.7),.15),y=j(u),h=__tsover_sub(1,re(__tsover_sub(p,Da),__tsover_add(p,Da),y));return x(__tsover_mul(t.x,h),__tsover_mul(t.y,h),__tsover_mul(t.z,h),__tsover_mul(t.w,h))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"childColor"},{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angleDeg"},{type:"i",name:"frequency"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"c",[6,"std.cos",["angleRad"]]],[13,"s",[6,"std.sin",["angleRad"]]],[13,"rotatedUV",[6,"d.vec2f",[[6,"std.dot",["aspectUV",[6,"d.vec2f",["c",[1,"s","*",[4,"-",[5,"1"]]]]]]],[6,"std.dot",["aspectUV",[6,"d.vec2f",["s","c"]]]]]]],[13,"gridUV",[6,[7,[6,"std.fract",[[6,[7,"rotatedUV","mul"],["frequency"]]]],"sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"brightness",[6,"std.dot",[[6,"d.vec3f",[[7,"childColor","x"],[7,"childColor","y"],[7,"childColor","z"]]],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"dotSize",[1,[1,"brightness","*",[5,"0.7"]],"+",[5,"0.15"]]],[13,"dist",[6,"std.length",["gridUV"]]],[13,"dotPattern",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"dotSize","-","SMOOTHNESS"],[1,"dotSize","+","SMOOTHNESS"],"dist"]]]],[10,[6,"d.vec4f",[[1,[7,"childColor","x"],"*","dotPattern"],[1,[7,"childColor","y"],"*","dotPattern"],[1,[7,"childColor","z"],"*","dotPattern"],[1,[7,"childColor","w"],"*","dotPattern"]]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.fract":()=>ue,"d.vec3f":()=>f,"std.length":()=>j,"std.smoothstep":()=>re,SMOOTHNESS:()=>Da,"d.vec4f":()=>x}})&&e.f)({})),pB=v.fn([l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(__tsover_add(s,r),Le);return l(__tsover_add(t.x,__tsover_mul(H(i),o)),__tsover_add(t.y,__tsover_div(__tsover_mul(Y(i),o),n)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"misprintAngleDeg"},{type:"i",name:"plateIndexDeg"},{type:"i",name:"misprint"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,[1,"misprintAngleDeg","+","plateIndexDeg"],"*","DEG_TO_RAD"]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[6,"std.cos",["angleRad"]],"*","misprint"]],[1,[7,"uv","y"],"+",[1,[1,[6,"std.sin",["angleRad"]],"*","misprint"],"/","aspect"]]]]]]]},externals:{DEG_TO_RAD:()=>Le,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),td=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_sub(1,b(b(t.x,t.y),t.z))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.max",[[6,"std.max",[[7,"s","x"],[7,"s","y"]]],[7,"s","z"]]]]]]]},externals:{"std.max":()=>b}})&&e.f)({})),fB=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=td(t),r=b(__tsover_sub(1,s),1e-4);return __tsover_div(__tsover_sub(__tsover_sub(1,t.x),s),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[13,"k",[6,"halftoneChannelK",["s"]]],[13,"invK",[6,"std.max",[[1,[5,"1"],"-","k"],[5,"0.0001"]]]],[10,[1,[1,[1,[5,"1"],"-",[7,"s","x"]],"-","k"],"/","invK"]]]]},externals:{halftoneChannelK:()=>td,"std.max":()=>b}})&&e.f)({})),vB=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=td(t),r=b(__tsover_sub(1,s),1e-4);return __tsover_div(__tsover_sub(__tsover_sub(1,t.y),s),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[13,"k",[6,"halftoneChannelK",["s"]]],[13,"invK",[6,"std.max",[[1,[5,"1"],"-","k"],[5,"0.0001"]]]],[10,[1,[1,[1,[5,"1"],"-",[7,"s","y"]],"-","k"],"/","invK"]]]]},externals:{halftoneChannelK:()=>td,"std.max":()=>b}})&&e.f)({})),yB=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=td(t),r=b(__tsover_sub(1,s),1e-4);return __tsover_div(__tsover_sub(__tsover_sub(1,t.z),s),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[13,"k",[6,"halftoneChannelK",["s"]]],[13,"invK",[6,"std.max",[[1,[5,"1"],"-","k"],[5,"0.0001"]]]],[10,[1,[1,[1,[5,"1"],"-",[7,"s","z"]],"-","k"],"/","invK"]]]]},externals:{halftoneChannelK:()=>td,"std.max":()=>b}})&&e.f)({})),hB=v.fn([l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(t.x,s),t.y),d=__tsover_mul(r,Le),c=H(d),_=Y(d),u=j(ue(l(se(i,l(c,__tsover_mul(_,-1))),se(i,l(_,c))).mul(n)).sub(l(.5,.5))),m=__tsover_sub(__tsover_mul(o,.75),Da);return __tsover_sub(1,re(__tsover_sub(m,Da),__tsover_add(m,Da),u))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angleDeg"},{type:"i",name:"intensity"},{type:"i",name:"frequency"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"c",[6,"std.cos",["angleRad"]]],[13,"s",[6,"std.sin",["angleRad"]]],[13,"rotatedUV",[6,"d.vec2f",[[6,"std.dot",["aspectUV",[6,"d.vec2f",["c",[1,"s","*",[4,"-",[5,"1"]]]]]]],[6,"std.dot",["aspectUV",[6,"d.vec2f",["s","c"]]]]]]],[13,"grid",[6,[7,[6,"std.fract",[[6,[7,"rotatedUV","mul"],["frequency"]]]],"sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"dist",[6,"std.length",["grid"]]],[13,"size",[1,[1,"intensity","*",[5,"0.75"]],"-","SMOOTHNESS"]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"size","-","SMOOTHNESS"],[1,"size","+","SMOOTHNESS"],"dist"]]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.fract":()=>ue,"std.length":()=>j,SMOOTHNESS:()=>Da,"std.smoothstep":()=>re}})&&e.f)({})),xB=v.fn([x,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return X(f(1,1,1),f(t.x,t.y,t.z),f(__tsover_mul(s,t.w)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"inkColor"},{type:"i",name:"inkMask"}],body:[0,[[10,[6,"std.mix",[[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]],[6,"d.vec3f",[[7,"inkColor","x"],[7,"inkColor","y"],[7,"inkColor","z"]]],[6,"d.vec3f",[[1,"inkMask","*",[7,"inkColor","w"]]]]]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f}})&&e.f)({})),gB=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return q(l(__tsover_div(__tsover_mul(t.x,s.x),r),__tsover_div(__tsover_mul(t.y,s.y),r)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"gridRes"},{type:"i",name:"pixelSize"}],body:[0,[[10,[6,"std.floor",[[6,"d.vec2f",[[1,[1,[7,"uv","x"],"*",[7,"gridRes","x"]],"/","pixelSize"],[1,[1,[7,"uv","y"],"*",[7,"gridRes","y"]],"/","pixelSize"]]]]]]]]},externals:{"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),bB=v.fn([l,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_div(__tsover_mul(__tsover_add(t.x,.5),s),r.x),__tsover_div(__tsover_mul(__tsover_add(t.y,.5),s),r.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"},{type:"i",name:"pixelSize"},{type:"i",name:"gridRes"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[1,[7,"coord","x"],"+",[5,"0.5"]],"*","pixelSize"],"/",[7,"gridRes","x"]],[1,[1,[1,[7,"coord","y"],"+",[5,"0.5"]],"*","pixelSize"],"/",[7,"gridRes","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),wB=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(se(f(t.x,t.y,t.z),f(.299,.587,.114)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"c"}],body:[0,[[10,[1,[6,"std.dot",[[6,"d.vec3f",[[7,"c","x"],[7,"c","y"],[7,"c","z"]]],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]],"*",[7,"c","w"]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),J_=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(__tsover_add(__tsover_mul(s,3),__tsover_mul(t,2)),__tsover_mul(__tsover_mul(t,s),4))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a"},{type:"i",name:"b"}],body:[0,[[10,[1,[1,[1,"b","*",[5,"3"]],"+",[1,"a","*",[5,"2"]]],"-",[1,[1,"a","*","b"],"*",[5,"4"]]]]]]},externals:{}})&&e.f)({})),TB=v.fn([l],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_sub(t.x,__tsover_mul(8,q(__tsover_div(t.x,8)))),r=__tsover_sub(t.y,__tsover_mul(8,q(__tsover_div(t.y,8)))),o=__tsover_sub(s,__tsover_mul(2,q(__tsover_div(s,2)))),n=__tsover_sub(r,__tsover_mul(2,q(__tsover_div(r,2)))),i=__tsover_sub(s,__tsover_mul(4,q(__tsover_div(s,4)))),d=__tsover_sub(r,__tsover_mul(4,q(__tsover_div(r,4)))),c=q(__tsover_div(i,2)),_=q(__tsover_div(d,2)),u=q(__tsover_div(s,4)),m=q(__tsover_div(r,4)),p=J_(o,n),y=J_(c,_),h=J_(u,m),g=__tsover_div(p,4),w=__tsover_div(__tsover_add(__tsover_mul(p,4),y),16),S=__tsover_div(__tsover_add(__tsover_add(__tsover_mul(p,16),__tsover_mul(y,4)),h),64),T=__tsover_add(__tsover_mul(Z(d),4),Z(i)),A=.75;return A=C(A,.3125,T===1),A=C(A,.375,T===2),A=C(A,.8125,T===3),A=C(A,.25,T===4),A=C(A,a(0),T===5),A=C(A,.0625,T===6),A=C(A,.4375,T===7),A=C(A,.6875,T===8),A=C(A,.1875,T===9),A=C(A,.125,T===10),A=C(A,.5,T===11),A=C(A,.9375,T===12),A=C(A,.625,T===13),A=C(A,.5625,T===14),A=C(A,.875,T===15),x(g,w,S,A)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"}],body:[0,[[13,"tx",[1,[7,"coord","x"],"-",[1,[5,"8"],"*",[6,"std.floor",[[1,[7,"coord","x"],"/",[5,"8"]]]]]]],[13,"ty",[1,[7,"coord","y"],"-",[1,[5,"8"],"*",[6,"std.floor",[[1,[7,"coord","y"],"/",[5,"8"]]]]]]],[13,"x2",[1,"tx","-",[1,[5,"2"],"*",[6,"std.floor",[[1,"tx","/",[5,"2"]]]]]]],[13,"y2",[1,"ty","-",[1,[5,"2"],"*",[6,"std.floor",[[1,"ty","/",[5,"2"]]]]]]],[13,"x4",[1,"tx","-",[1,[5,"4"],"*",[6,"std.floor",[[1,"tx","/",[5,"4"]]]]]]],[13,"y4",[1,"ty","-",[1,[5,"4"],"*",[6,"std.floor",[[1,"ty","/",[5,"4"]]]]]]],[13,"x4h",[6,"std.floor",[[1,"x4","/",[5,"2"]]]]],[13,"y4h",[6,"std.floor",[[1,"y4","/",[5,"2"]]]]],[13,"x8h",[6,"std.floor",[[1,"tx","/",[5,"4"]]]]],[13,"y8h",[6,"std.floor",[[1,"ty","/",[5,"4"]]]]],[13,"b00",[6,"ditherBayerQuad",["x2","y2"]]],[13,"b11",[6,"ditherBayerQuad",["x4h","y4h"]]],[13,"b22",[6,"ditherBayerQuad",["x8h","y8h"]]],[13,"bayer2",[1,"b00","/",[5,"4"]]],[13,"bayer4",[1,[1,[1,"b00","*",[5,"4"]],"+","b11"],"/",[5,"16"]]],[13,"bayer8",[1,[1,[1,[1,"b00","*",[5,"16"]],"+",[1,"b11","*",[5,"4"]]],"+","b22"],"/",[5,"64"]]],[13,"idx",[1,[1,[6,"d.i32",["y4"]],"*",[5,"4"]],"+",[6,"d.i32",["x4"]]]],[12,"cd",[5,"0.75"]],[2,"cd","=",[6,"std.select",["cd",[5,"0.3125"],[1,"idx","===",[5,"1"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.375"],[1,"idx","===",[5,"2"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.8125"],[1,"idx","===",[5,"3"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.25"],[1,"idx","===",[5,"4"]]]]],[2,"cd","=",[6,"std.select",["cd",[6,"d.f32",[[5,"0"]]],[1,"idx","===",[5,"5"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.0625"],[1,"idx","===",[5,"6"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.4375"],[1,"idx","===",[5,"7"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.6875"],[1,"idx","===",[5,"8"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.1875"],[1,"idx","===",[5,"9"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.125"],[1,"idx","===",[5,"10"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.5"],[1,"idx","===",[5,"11"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.9375"],[1,"idx","===",[5,"12"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.625"],[1,"idx","===",[5,"13"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.5625"],[1,"idx","===",[5,"14"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.875"],[1,"idx","===",[5,"15"]]]]],[10,[6,"d.vec4f",["bayer2","bayer4","bayer8","cd"]]]]]},externals:{"std.floor":()=>q,ditherBayerQuad:()=>J_,"d.i32":()=>Z,"std.select":()=>C,"d.f32":()=>a,"d.vec4f":()=>x}})&&e.f)({})),SB=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.add(l(.5,.5));return ue(__tsover_mul(52.9829189,ue(__tsover_add(__tsover_mul(s.x,.06711056),__tsover_mul(s.y,.00583715)))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"}],body:[0,[[13,"c",[6,[7,"coord","add"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[10,[6,"std.fract",[[1,[5,"52.9829189"],"*",[6,"std.fract",[[1,[1,[7,"c","x"],"*",[5,"0.06711056"]],"+",[1,[7,"c","y"],"*",[5,"0.00583715"]]]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.fract":()=>ue}})&&e.f)({})),AB=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ot(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"}],body:[0,[[10,[6,"noise.hash12",["coord"]]]]]},externals:{"noise.hash12":()=>Ot}})&&e.f)({})),MB=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return De(__tsover_add(.5,__tsover_mul(__tsover_sub(t,.5),o)),__tsover_add(s,__tsover_sub(r,.5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ditherValue"},{type:"i",name:"luminance"},{type:"i",name:"threshold"},{type:"i",name:"spread"}],body:[0,[[13,"adjustedDither",[1,[5,"0.5"],"+",[1,[1,"ditherValue","-",[5,"0.5"]],"*","spread"]]],[10,[6,"std.step",["adjustedDither",[1,"luminance","+",[1,"threshold","-",[5,"0.5"]]]]]]]]},externals:{"std.step":()=>De}})&&e.f)({})),PB=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return q(t.div(l(8,8))).mul(l(8,8))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"}],body:[0,[[10,[6,[7,[6,"std.floor",[[6,[7,"coord","div"],[[6,"d.vec2f",[[5,"8"],[5,"8"]]]]]]],"mul"],[[6,"d.vec2f",[[5,"8"],[5,"8"]]]]]]]]},externals:{"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),EB=v.fn([l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_add(__tsover_mul(__tsover_sub(t.y,s.y),8),__tsover_sub(t.x,s.x))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"},{type:"i",name:"blockOrigin"}],body:[0,[[10,[1,[1,[1,[7,"coord","y"],"-",[7,"blockOrigin","y"]],"*",[5,"8"]],"+",[1,[7,"coord","x"],"-",[7,"blockOrigin","x"]]]]]]},externals:{}})&&e.f)({})),kB=v.fn([l,a,a,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return l(__tsover_div(__tsover_mul(__tsover_add(__tsover_add(t.x,s),.5),o),n.x),__tsover_div(__tsover_mul(__tsover_add(__tsover_add(t.y,r),.5),o),n.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"blockOrigin"},{type:"i",name:"lx"},{type:"i",name:"ly"},{type:"i",name:"pixelSize"},{type:"i",name:"gridRes"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[1,[1,[7,"blockOrigin","x"],"+","lx"],"+",[5,"0.5"]],"*","pixelSize"],"/",[7,"gridRes","x"]],[1,[1,[1,[1,[7,"blockOrigin","y"],"+","ly"],"+",[5,"0.5"]],"*","pixelSize"],"/",[7,"gridRes","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),$B=v.fn([pt(a,64),a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(.5,__tsover_sub(r,.5)),i=pt(a,8)(),d=pt(a,8)(),c=Z(s),_=a(0);for(let u=0;u<8;u++){let m=(u&1)===0;for(let p=0;p<8;p++){let y=C(__tsover_sub(7,p),p,m),h=__tsover_add(__tsover_mul(u,8),y),g=__tsover_add(t[h],i[y]),w=De(n,g);_=C(_,w,h===c);let S=__tsover_mul(__tsover_sub(g,w),o),T=C(-1,1,m),A=__tsover_add(y,T);if(A>=0&&A<8&&(i[A]=__tsover_add(i[A],__tsover_mul(S,.4375))),u<7){let P=__tsover_sub(y,T),U=__tsover_add(y,T);P>=0&&P<8&&(d[P]=__tsover_add(d[P],__tsover_mul(S,.1875))),d[y]=__tsover_add(d[y],__tsover_mul(S,.3125)),U>=0&&U<8&&(d[U]=__tsover_add(d[U],__tsover_mul(S,.0625)))}}for(let p=0;p<8;p++)i[p]=d[p],d[p]=a(0)}return _}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lum"},{type:"i",name:"lic"},{type:"i",name:"threshold"},{type:"i",name:"spread"}],body:[0,[[13,"thr",[1,[5,"0.5"],"-",[1,"threshold","-",[5,"0.5"]]]],[13,"ecur",[6,[6,"d.arrayOf",["d.f32",[5,"8"]]],[]]],[13,"enext",[6,[6,"d.arrayOf",["d.f32",[5,"8"]]],[]]],[13,"licInt",[6,"d.i32",["lic"]]],[12,"result",[6,"d.f32",[[5,"0"]]]],[14,[12,"y",[5,"0"]],[1,"y","<",[5,"8"]],[102,"++","y"],[0,[[13,"ltr",[1,[1,"y","&",[5,"1"]],"===",[5,"0"]]],[14,[12,"xi",[5,"0"]],[1,"xi","<",[5,"8"]],[102,"++","xi"],[0,[[13,"x",[6,"std.select",[[1,[5,"7"],"-","xi"],"xi","ltr"]]],[13,"idx",[1,[1,"y","*",[5,"8"]],"+","x"]],[13,"val",[1,[8,"lum","idx"],"+",[8,"ecur","x"]]],[13,"qv",[6,"std.step",["thr","val"]]],[2,"result","=",[6,"std.select",["result","qv",[1,"idx","===","licInt"]]]],[13,"e",[1,[1,"val","-","qv"],"*","spread"]],[13,"dir",[6,"std.select",[[4,"-",[5,"1"]],[5,"1"],"ltr"]]],[13,"xr",[1,"x","+","dir"]],[11,[1,"xr",">=",[5,"0"]],[0,[[11,[1,"xr","<",[5,"8"]],[0,[[2,[8,"ecur","xr"],"=",[1,[8,"ecur","xr"],"+",[1,"e","*",[5,"0.4375"]]]]]]]]]],[11,[1,"y","<",[5,"7"]],[0,[[13,"xbl",[1,"x","-","dir"]],[13,"xbr",[1,"x","+","dir"]],[11,[1,"xbl",">=",[5,"0"]],[0,[[11,[1,"xbl","<",[5,"8"]],[0,[[2,[8,"enext","xbl"],"=",[1,[8,"enext","xbl"],"+",[1,"e","*",[5,"0.1875"]]]]]]]]]],[2,[8,"enext","x"],"=",[1,[8,"enext","x"],"+",[1,"e","*",[5,"0.3125"]]]],[11,[1,"xbr",">=",[5,"0"]],[0,[[11,[1,"xbr","<",[5,"8"]],[0,[[2,[8,"enext","xbr"],"=",[1,[8,"enext","xbr"],"+",[1,"e","*",[5,"0.0625"]]]]]]]]]]]]]]]],[14,[12,"k",[5,"0"]],[1,"k","<",[5,"8"]],[102,"++","k"],[0,[[2,[8,"ecur","k"],"=",[8,"enext","k"]],[2,[8,"enext","k"],"=",[6,"d.f32",[[5,"0"]]]]]]]]]],[10,"result"]]]},externals:{"d.arrayOf":()=>pt,"d.f32":()=>a,"d.i32":()=>Z,"std.select":()=>C,"std.step":()=>De}})&&e.f)({})),UB=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=X(f(t.x,t.y,t.z),f(s.x,s.y,s.z),f(r)),n=X(t.w,s.w,r);return x(o.x,o.y,o.z,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"ditherResult"}],body:[0,[[13,"rgb",[6,"std.mix",[[6,"d.vec3f",[[7,"colorA","x"],[7,"colorA","y"],[7,"colorA","z"]]],[6,"d.vec3f",[[7,"colorB","x"],[7,"colorB","y"],[7,"colorB","z"]]],[6,"d.vec3f",["ditherResult"]]]]],[13,"a",[6,"std.mix",[[7,"colorA","w"],[7,"colorB","w"],"ditherResult"]]],[10,[6,"d.vec4f",[[7,"rgb","x"],[7,"rgb","y"],[7,"rgb","z"],"a"]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),CB=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=f(t.x,t.y,t.z),o=X(r.mul(.3),oe(r.mul(1.3),f(1,1,1)),f(s));return x(o.x,o.y,o.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sourceColor"},{type:"i",name:"ditherResult"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"sourceColor","x"],[7,"sourceColor","y"],[7,"sourceColor","z"]]]],[13,"dark",[6,[7,"rgb","mul"],[[5,"0.3"]]]],[13,"bright",[6,"std.min",[[6,[7,"rgb","mul"],[[5,"1.3"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]],[13,"out",[6,"std.mix",["dark","bright",[6,"d.vec3f",["ditherResult"]]]]],[10,[6,"d.vec4f",[[7,"out","x"],[7,"out","y"],[7,"out","z"],[7,"sourceColor","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.min":()=>oe,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({}));function bz(e){return e.map((t,s)=>({stop:t,index:s})).sort((t,s)=>t.stop.position-s.stop.position||t.index-s.index).map(({stop:t})=>t)}function jv(e,t){let s=new Array(32).fill(0),r=new Array(8).fill(0),o=Array.isArray(e)&&e.length>0?bz(e):[],n=Math.min(o.length,8);for(let i=0;i(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return co({conv:t,alpha:s})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"conv"},{type:"i",name:"alpha"}],body:[0,[[10,[6,"MixStep",[[104,{conv:"conv",alpha:"alpha"}]]]]]]},externals:{MixStep:()=>co}})&&e.f)({}));v.fn([co,f,a,a,a,a],co)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=$(__tsover_div(__tsover_sub(o,n),b(__tsover_sub(i,n),1e-6)),0,1);return fa(t.conv,t.alpha,s,r,d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"running"},{type:"i",name:"convI"},{type:"i",name:"alphaI"},{type:"i",name:"tClamped"},{type:"i",name:"posA"},{type:"i",name:"posB"}],body:[0,[[13,"seg",[6,"std.clamp",[[1,[1,"tClamped","-","posA"],"/",[6,"std.max",[[1,"posB","-","posA"],[5,"0.000001"]]]],[5,"0"],[5,"1"]]]],[10,[6,"mixPreconvertedInSpace",[[7,"running","conv"],[7,"running","alpha"],"convI","alphaI","seg"]]]]]},externals:{"std.clamp":()=>$,"std.max":()=>b,mixPreconvertedInSpace:()=>fa}})&&e.f)({}));v.fn([co],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return t.conv}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[10,[7,"s","conv"]]]]},externals:{}})&&e.f)({}));v.fn([co],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return t.alpha}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[10,[7,"s","alpha"]]]]},externals:{}})&&e.f)({}));v.fn([f,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t,s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"a"}],body:[0,[[10,[6,"d.vec4f",["rgb","a"]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({}));var Xp=v.fn([a,pt(x,8),pt(x,8/4),pt(f,8),a],co)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=$(t,0,1),d=Z(n),c=o[0],_=f(c.x,c.y,c.z),u=s[0].w;for(let m=1;m>2],y=r[m>>2],h=p[__tsover_sub(m,1)&3],g=y[m&3],w=$(__tsover_div(__tsover_sub(i,h),b(__tsover_sub(g,h),1e-6)),0,1),S=fa(_,u,o[m],s[m].w,w);_=f(S.conv.x,S.conv.y,S.conv.z),u=S.alpha}return co({conv:_,alpha:u})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"colors"},{type:"i",name:"positions"},{type:"i",name:"converted"},{type:"i",name:"stopCount"}],body:[0,[[13,"clampedT",[6,"std.clamp",["t",[5,"0"],[5,"1"]]]],[13,"n",[6,"d.i32",["stopCount"]]],[13,"c0",[8,"converted",[5,"0"]]],[12,"conv",[6,"d.vec3f",[[7,"c0","x"],[7,"c0","y"],[7,"c0","z"]]]],[12,"alpha",[7,[8,"colors",[5,"0"]],"w"]],[14,[12,"i",[5,"1"]],[1,"i","<","n"],[102,"++","i"],[0,[[13,"va",[8,"positions",[1,[1,"i","-",[5,"1"]],">>",[5,"2"]]]],[13,"vb",[8,"positions",[1,"i",">>",[5,"2"]]]],[13,"posA",[8,"va",[1,[1,"i","-",[5,"1"]],"&",[5,"3"]]]],[13,"posB",[8,"vb",[1,"i","&",[5,"3"]]]],[13,"seg",[6,"std.clamp",[[1,[1,"clampedT","-","posA"],"/",[6,"std.max",[[1,"posB","-","posA"],[5,"0.000001"]]]],[5,"0"],[5,"1"]]]],[13,"step",[6,"mixPreconvertedInSpace",["conv","alpha",[8,"converted","i"],[7,[8,"colors","i"],"w"],"seg"]]],[2,"conv","=",[6,"d.vec3f",[[7,[7,"step","conv"],"x"],[7,[7,"step","conv"],"y"],[7,[7,"step","conv"],"z"]]]],[2,"alpha","=",[7,"step","alpha"]]]]],[10,[6,"MixStep",[[104,{conv:"conv",alpha:"alpha"}]]]]]]},externals:{"std.clamp":()=>$,"d.i32":()=>Z,"d.vec3f":()=>f,"std.max":()=>b,mixPreconvertedInSpace:()=>fa,MixStep:()=>co}})&&e.f)({}));function wz(e,t){switch(t){case 1:return we(ss,"sRGBToP3",[we(Kr,"oklabToRgb",[we(Ha,"oklchToOklab",[e])])]);case 2:return we(ss,"sRGBToP3",[we(Kr,"oklabToRgb",[e])]);case 3:return we(ss,"sRGBToP3",[we(ja,"hslToRgb",[e])]);case 4:return we(ss,"sRGBToP3",[we(Ac,"hsvToRgb",[e])]);case 5:return we(ss,"sRGBToP3",[we(Mc,"labToRgb",[we(Pc,"lchToLab",[e])])]);default:return e}}function Tz(e,t,s){let r=ur(we(Xp,"gradientStopsInSpace",[e,t.colorsArray,t.positionsArray,t.convertedColorsArray,t.stopCount]),"stopMix");return Ws(wz(r.member("conv"),s),r.member("alpha"))}var RB=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=bt(s);return l(__tsover_mul(t.x,r),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l}})&&e.f)({})),zB=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_div(s.x,s.y);return l(__tsover_mul(t.x,n),t.y).mul(ct(r)).add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"scale"},{type:"i",name:"seed"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[10,[6,[7,[6,[7,"aspectUV","mul"],[[6,"std.exp",["scale"]]]],"add"],["seed"]]]]]},externals:{"d.vec2f":()=>l,"std.exp":()=>ct}})&&e.f)({})),GB=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=__tsover_mul(r,Le),i=H(n),d=Y(n),c=__tsover_sub(__tsover_mul(t.x,o),__tsover_mul(o,.5)),_=__tsover_sub(t.y,.5);return l(__tsover_add(__tsover_mul(c,i),__tsover_mul(_,d)),__tsover_add(__tsover_mul(c,-d),__tsover_mul(_,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"au",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,"aspect","*",[5,"0.5"]]]],[13,"av",[1,[7,"uv","y"],"-",[5,"0.5"]]],[13,"ru",[1,[1,"au","*","cosA"],"+",[1,"av","*","sinA"]]],[13,"rv",[1,[1,"au","*",[4,"-","sinA"]],"+",[1,"av","*","cosA"]]],[10,[6,"d.vec2f",["ru","rv"]]]]]},externals:{aspectOf:()=>bt,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),YB=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_div(j(Mg(t,s)),1.414)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"z"}],body:[0,[[10,[1,[6,"std.length",[[6,"curl22z",["pos","z"]]]],"/",[5,"1.414"]]]]]},externals:{"std.length":()=>j,curl22z:()=>Mg}})&&e.f)({})),rb=s7(Ei,{maxOctaves:8,drift:"goldenAngle",name:"fractalOctaveSum"}),LB=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return rb(t,2,s,r,o,l(n,__tsover_mul(n,.7)),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"detail"},{type:"i",name:"contrast"},{type:"i",name:"animTime"},{type:"i",name:"seed"},{type:"i",name:"octaveCount"}],body:[0,[[10,[6,"fractalOctaveSum",["pos",[5,"2"],"detail","contrast","animTime",[6,"d.vec2f",["seed",[1,"seed","*",[5,"0.7"]]]],"octaveCount"]]]]]},externals:{fractalOctaveSum:()=>rb,"d.vec2f":()=>l}})&&e.f)({})),IB=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return $(__tsover_add(__tsover_mul(__tsover_div(t.x,t.y),.5),.5),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sum"}],body:[0,[[10,[6,"std.clamp",[[1,[1,[1,[7,"sum","x"],"/",[7,"sum","y"]],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({}));var ob=o7({distance:"selectableSquared",jitter:"mix",name:"worleyNearest2"}),nb=s7(v.fn([l,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ob(t,s,r,o,n);return jg(d.x,d.y,n,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"oUV"},{type:"i",name:"animT"},{type:"i",name:"seedOff"},{type:"i",name:"jitter"},{type:"i",name:"distNum"},{type:"i",name:"modeNum"}],body:[0,[[13,"dd",[6,"worleyNearest2",["oUV","animT","seedOff","jitter","distNum"]]],[10,[6,"cellReduceSelectable",[[7,"dd","x"],[7,"dd","y"],"distNum","modeNum"]]]]]},externals:{worleyNearest2:()=>ob,cellReduceSelectable:()=>jg}})&&e.f)({})),{maxOctaves:4,drift:"timeSeed",name:"worleyOctaveSum"}),DB=v.fn([l,a,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";return nb(t,s,n,i,d,r,f(o,_,u),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"scale"},{type:"i",name:"seed"},{type:"i",name:"jitter"},{type:"i",name:"lacunarity"},{type:"i",name:"persistence"},{type:"i",name:"animTime"},{type:"i",name:"octaves"},{type:"i",name:"distNum"},{type:"i",name:"modeNum"}],body:[0,[[10,[6,"worleyOctaveSum",["pos","scale","lacunarity","persistence","animTime","seed",[6,"d.vec3f",["jitter","distNum","modeNum"]],"octaves"]]]]]},externals:{worleyOctaveSum:()=>nb,"d.vec3f":()=>f}})&&e.f)({})),FB=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_mul(__tsover_div(t.x,b(t.y,1e-4)),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sum"},{type:"i",name:"modeScale"}],body:[0,[[10,[1,[1,[7,"sum","x"],"/",[6,"std.max",[[7,"sum","y"],[5,"0.0001"]]]],"*","modeScale"]]]]},externals:{"std.max":()=>b}})&&e.f)({})),BB=t7({domain:"unit",contrastMode:"multiplicative",invert:!1});var WB=o7({distance:"length",jitter:"none",name:"voronoiNearest2"}),OB=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_sub(4,__tsover_mul(s,3));return Kg(t.x,t.y,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dd"},{type:"i",name:"edgeIntensity"}],body:[0,[[13,"gradientPower",[1,[5,"4"],"-",[1,"edgeIntensity","*",[5,"3"]]]],[10,[6,"cellRatio",[[7,"dd","x"],[7,"dd","y"],"gradientPower"]]]]]},externals:{cellRatio:()=>Kg}})&&e.f)({})),VB=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(__tsover_mul(s,r),6);return Zg(t.x,t.y,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dd"},{type:"i",name:"softness"},{type:"i",name:"scale"}],body:[0,[[13,"scaledEdgeSoftness",[1,[1,"softness","*","scale"],"/",[5,"6"]]],[10,[6,"cellEdgeMask",[[7,"dd","x"],[7,"dd","y"],"scaledEdgeSoftness"]]]]]},externals:{cellEdgeMask:()=>Zg}})&&e.f)({})),NB=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ce(t,f(.85,.85,.85))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[6,"std.pow",["rgb",[6,"d.vec3f",[[5,"0.85"],[5,"0.85"],[5,"0.85"]]]]]]]]},externals:{"std.pow":()=>Ce,"d.vec3f":()=>f}})&&e.f)({})),mc=8;if(mc!==8)throw new Error(`noisePaints: MAX (${mc}) out of sync with MAX_COLOR_STOPS (8)`);var ab=v.fn([l,l,l,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_div(s.x,b(s.y,1e-6)),d=l(__tsover_mul(r.x,i),__tsover_sub(1,r.y)),c=l(__tsover_mul(o.x,i),__tsover_sub(1,o.y)),_=l(__tsover_mul(t.x,i),t.y),u=l(__tsover_sub(c.x,d.x),__tsover_sub(c.y,d.y)),m=b(j(u),1e-6),p=l(__tsover_div(u.x,m),__tsover_div(u.y,m)),y=l(-p.y,p.x),h=l(__tsover_sub(_.x,d.x),__tsover_sub(_.y,d.y)),g=__tsover_div(se(h,p),m),w=se(h,y),S=n>0,T=$(g,0,1),A=C(a(1),Y(__tsover_mul(T,Xr)),S),P=__tsover_mul(re(0,.06,g),__tsover_sub(1,re(.94,1,g)));return x(g,w,A,C(a(1),P,S))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"start"},{type:"i",name:"end"},{type:"i",name:"pinFlag"}],body:[0,[[13,"aspectRatio",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[13,"startPos",[6,"d.vec2f",[[1,[7,"start","x"],"*","aspectRatio"],[1,[5,"1"],"-",[7,"start","y"]]]]],[13,"endPos",[6,"d.vec2f",[[1,[7,"end","x"],"*","aspectRatio"],[1,[5,"1"],"-",[7,"end","y"]]]]],[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspectRatio"],[7,"uv","y"]]]],[13,"direction",[6,"d.vec2f",[[1,[7,"endPos","x"],"-",[7,"startPos","x"]],[1,[7,"endPos","y"],"-",[7,"startPos","y"]]]]],[13,"len",[6,"std.max",[[6,"std.length",["direction"]],[5,"0.000001"]]]],[13,"normalizedDir",[6,"d.vec2f",[[1,[7,"direction","x"],"/","len"],[1,[7,"direction","y"],"/","len"]]]],[13,"perpDir",[6,"d.vec2f",[[4,"-",[7,"normalizedDir","y"]],[7,"normalizedDir","x"]]]],[13,"relativePos",[6,"d.vec2f",[[1,[7,"aspectUV","x"],"-",[7,"startPos","x"]],[1,[7,"aspectUV","y"],"-",[7,"startPos","y"]]]]],[13,"progress",[1,[6,"std.dot",["relativePos","normalizedDir"]],"/","len"]],[13,"perpDist",[6,"std.dot",["relativePos","perpDir"]]],[13,"pinOn",[1,"pinFlag",">",[5,"0"]]],[13,"clampedProg",[6,"std.clamp",["progress",[5,"0"],[5,"1"]]]],[13,"pinch",[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"std.sin",[[1,"clampedProg","*","PI"]]],"pinOn"]]],[13,"fade",[1,[6,"std.smoothstep",[[5,"0"],[5,"0.06"],"progress"]],"*",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0.94"],[5,"1"],"progress"]]]]],[13,"edgeFade",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"fade","pinOn"]]],[10,[6,"d.vec4f",["progress","perpDist","pinch","edgeFade"]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l,"std.length":()=>j,"std.dot":()=>se,"std.clamp":()=>$,"std.select":()=>C,"d.f32":()=>a,"std.sin":()=>Y,PI:()=>Xr,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({})),qB=v.fn([l,l,l,l,x,x,x,pt(x,mc),pt(x,mc/4),pt(f,mc)],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=n.x,p=n.y,y=n.z,h=n.w,g=i.x,w=i.y,S=i.z,T=i.w,A=d.y,P=d.z,U=d.w,D=ab(t,s,r,o,d.x),O=D.x,L=D.y,G=D.z,W=D.w,K=__tsover_mul(h,.07),Q=__tsover_add(__tsover_mul(g,.08),8e-4),te=b(__tsover_sub(y,1),1),ee=f(0,0,0),he=a(0),Ee=__tsover_mul(__tsover_mul(O,it),p),Te=__tsover_add(__tsover_mul(O,8),__tsover_mul(A,2)),Ue=__tsover_add(__tsover_mul(O,S),P),Me=Z(sa(y));for(let Pe=0;Peab,"std.max":()=>b,"d.vec3f":()=>f,"d.f32":()=>a,TAU:()=>it,"d.i32":()=>Z,"std.round":()=>sa,"std.sin":()=>Y,"std.abs":()=>z,"std.smoothstep":()=>re,"std.fract":()=>ue,gradientStopsInSpace:()=>Xp,"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})),XB=v.fn([l,a,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(t.x,s),t.y),c=__tsover_mul(r,6),_=d.mul(c).add(o),u=Ki(_).mul(n).mul(.0025),m=t.add(u),p=zg(_,Z(6)),y=$(__tsover_add(1,__tsover_mul(__tsover_sub(p,.7),__tsover_mul(i,1.2))),0,1.5);return f(m.x,m.y,y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"grainScale"},{type:"i",name:"seed"},{type:"i",name:"displacement"},{type:"i",name:"roughness"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"grainFreq",[1,"grainScale","*",[5,"6"]]],[13,"grainUV",[6,[7,[6,[7,"aspectUV","mul"],["grainFreq"]],"add"],["seed"]]],[13,"disp",[6,[7,[6,[7,[6,"curl22",["grainUV"]],"mul"],["displacement"]],"mul"],[[5,"0.0025"]]]],[13,"displacedUV",[6,[7,"uv","add"],["disp"]]],[13,"grain",[6,"paper12",["grainUV",[6,"d.i32",[[5,"6"]]]]]],[13,"brightness",[6,"std.clamp",[[1,[5,"1"],"+",[1,[1,"grain","-",[5,"0.7"]],"*",[1,"roughness","*",[5,"1.2"]]]],[5,"0"],[5,"1.5"]]]],[10,[6,"d.vec3f",[[7,"displacedUV","x"],[7,"displacedUV","y"],"brightness"]]]]]},externals:{"d.vec2f":()=>l,curl22:()=>Ki,paper12:()=>zg,"d.i32":()=>Z,"std.clamp":()=>$,"d.vec3f":()=>f}})&&e.f)({})),Ui=1e-5,ib=v.fn([l,l,l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(t.x,s.x),n=__tsover_sub(t.y,s.y),i=__tsover_sub(r.x,s.x),d=__tsover_sub(r.y,s.y),c=b(j(l(i,d)),a(Ui)),_=__tsover_div(__tsover_add(__tsover_mul(o,i),__tsover_mul(n,d)),c),u=b(b(-_,__tsover_sub(_,c)),a(0)),m=$(__tsover_div(_,c),a(0),a(1)),p=j(l(__tsover_sub(o,__tsover_mul(i,m)),__tsover_sub(n,__tsover_mul(d,m))));return f(_,be(b(__tsover_sub(__tsover_mul(p,p),__tsover_mul(u,u)),a(0))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"}],body:[0,[[13,"pax",[1,[7,"p","x"],"-",[7,"a","x"]]],[13,"pay",[1,[7,"p","y"],"-",[7,"a","y"]]],[13,"bax",[1,[7,"b","x"],"-",[7,"a","x"]]],[13,"bay",[1,[7,"b","y"],"-",[7,"a","y"]]],[13,"len",[6,"std.max",[[6,"std.length",[[6,"d.vec2f",["bax","bay"]]]],[6,"d.f32",["EPS"]]]]],[13,"t",[1,[1,[1,"pax","*","bax"],"+",[1,"pay","*","bay"]],"/","len"]],[13,"overshoot",[6,"std.max",[[6,"std.max",[[4,"-","t"],[1,"t","-","len"]]],[6,"d.f32",[[5,"0"]]]]]],[13,"h",[6,"std.clamp",[[1,"t","/","len"],[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]]]]],[13,"dSeg",[6,"std.length",[[6,"d.vec2f",[[1,"pax","-",[1,"bax","*","h"]],[1,"pay","-",[1,"bay","*","h"]]]]]]],[13,"perp",[6,"std.sqrt",[[6,"std.max",[[1,[1,"dSeg","*","dSeg"],"-",[1,"overshoot","*","overshoot"]],[6,"d.f32",[[5,"0"]]]]]]]],[10,[6,"d.vec3f",["t","perp","len"]]]]]},externals:{"std.max":()=>b,"std.length":()=>j,"d.vec2f":()=>l,"d.f32":()=>a,EPS:()=>Ui,"std.clamp":()=>$,"std.sqrt":()=>be,"d.vec3f":()=>f}})&&e.f)({})),HB=v.fn([l,l,l,l,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=bt(s),p=ib(Yg(t,s),bn(r,m),bn(o,m)),y=p.x,h=p.y,g=p.z,w=__tsover_mul(n,.5),S=__tsover_sub(y,__tsover_mul(g,.5)),T=__tsover_mul(g,.5),A=b(d,a(Ui)),P=__tsover_add(A,c),U=b(q(__tsover_add(__tsover_div(__tsover_add(g,c),P),.5)),a(1)),D=__tsover_div(g,b(__tsover_add(__tsover_mul(U,A),__tsover_mul(__tsover_sub(U,1),c)),a(Ui))),O=__tsover_mul(A,D),L=__tsover_mul(P,D),G=$(q(__tsover_div(y,L)),a(0),__tsover_sub(U,1)),W=__tsover_sub(y,__tsover_add(__tsover_mul(G,L),__tsover_mul(O,.5))),K=b(__tsover_sub(__tsover_mul(O,.5),w),a(0)),Q=__tsover_mul(O,.5),te=b(__tsover_add(n,c),a(Ui)),ee=b(q(__tsover_add(__tsover_div(g,te),.5)),a(1)),he=__tsover_div(g,ee),Ee=$(q(__tsover_add(__tsover_div(y,he),.5)),a(0),ee),Te=__tsover_sub(y,__tsover_mul(Ee,he)),Ue=i>=.5,Me=i>=1.5,Pe=C(S,C(W,Te,Me),Ue),Re=C(T,C(K,a(0),Me),Ue),de=C(T,C(Q,w,Me),Ue),je=C(_,u,Pe>0),fe=__tsover_sub(j(l(b(__tsover_sub(z(Pe),Re),a(0)),h)),w),Ke=__tsover_sub(z(Pe),de),Ze=__tsover_sub(h,w),at=C(__tsover_add(j(l(b(Ke,a(0)),b(Ze,a(0)))),oe(b(Ke,Ze),a(0))),fe,je>=.5),Fe=__tsover_div(1,s.y);return __tsover_sub(1,re(-Fe,Fe,at))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"pointA"},{type:"i",name:"pointB"},{type:"i",name:"thickness"},{type:"i",name:"style"},{type:"i",name:"dashLength"},{type:"i",name:"gapLength"},{type:"i",name:"capStart"},{type:"i",name:"capEnd"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"p",[6,"geom.aspectCorrectedUV",["uv","viewport"]]],[13,"a",[6,"geom.aspectCentrePosition",["pointA","aspect"]]],[13,"b",[6,"geom.aspectCentrePosition",["pointB","aspect"]]],[13,"seg",[6,"segmentArcPerp",["p","a","b"]]],[13,"t",[7,"seg","x"]],[13,"perp",[7,"seg","y"]],[13,"len",[7,"seg","z"]],[13,"halfT",[1,"thickness","*",[5,"0.5"]]],[13,"cSolid",[1,"t","-",[1,"len","*",[5,"0.5"]]]],[13,"axSolid",[1,"len","*",[5,"0.5"]]],[13,"rawDash",[6,"std.max",["dashLength",[6,"d.f32",["EPS"]]]]],[13,"rawPeriod",[1,"rawDash","+","gapLength"]],[13,"nDash",[6,"std.max",[[6,"std.floor",[[1,[1,[1,"len","+","gapLength"],"/","rawPeriod"],"+",[5,"0.5"]]]],[6,"d.f32",[[5,"1"]]]]]],[13,"scale",[1,"len","/",[6,"std.max",[[1,[1,"nDash","*","rawDash"],"+",[1,[1,"nDash","-",[5,"1"]],"*","gapLength"]],[6,"d.f32",["EPS"]]]]]],[13,"dashL",[1,"rawDash","*","scale"]],[13,"period",[1,"rawPeriod","*","scale"]],[13,"kDash",[6,"std.clamp",[[6,"std.floor",[[1,"t","/","period"]]],[6,"d.f32",[[5,"0"]]],[1,"nDash","-",[5,"1"]]]]],[13,"cDash",[1,"t","-",[1,[1,"kDash","*","period"],"+",[1,"dashL","*",[5,"0.5"]]]]],[13,"axDashRound",[6,"std.max",[[1,[1,"dashL","*",[5,"0.5"]],"-","halfT"],[6,"d.f32",[[5,"0"]]]]]],[13,"axDashSquare",[1,"dashL","*",[5,"0.5"]]],[13,"rawDotPeriod",[6,"std.max",[[1,"thickness","+","gapLength"],[6,"d.f32",["EPS"]]]]],[13,"nDot",[6,"std.max",[[6,"std.floor",[[1,[1,"len","/","rawDotPeriod"],"+",[5,"0.5"]]]],[6,"d.f32",[[5,"1"]]]]]],[13,"dotPeriod",[1,"len","/","nDot"]],[13,"kDot",[6,"std.clamp",[[6,"std.floor",[[1,[1,"t","/","dotPeriod"],"+",[5,"0.5"]]]],[6,"d.f32",[[5,"0"]]],"nDot"]]],[13,"cDot",[1,"t","-",[1,"kDot","*","dotPeriod"]]],[13,"isPattern",[1,"style",">=",[5,"0.5"]]],[13,"isDotted",[1,"style",">=",[5,"1.5"]]],[13,"c",[6,"std.select",["cSolid",[6,"std.select",["cDash","cDot","isDotted"]],"isPattern"]]],[13,"axRound",[6,"std.select",["axSolid",[6,"std.select",["axDashRound",[6,"d.f32",[[5,"0"]]],"isDotted"]],"isPattern"]]],[13,"axSquare",[6,"std.select",["axSolid",[6,"std.select",["axDashSquare","halfT","isDotted"]],"isPattern"]]],[13,"capHere",[6,"std.select",["capStart","capEnd",[1,"c",">",[5,"0"]]]]],[13,"sdRound",[1,[6,"std.length",[[6,"d.vec2f",[[6,"std.max",[[1,[6,"std.abs",["c"]],"-","axRound"],[6,"d.f32",[[5,"0"]]]]],"perp"]]]],"-","halfT"]],[13,"qx",[1,[6,"std.abs",["c"]],"-","axSquare"]],[13,"qy",[1,"perp","-","halfT"]],[13,"sdSquare",[1,[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["qx",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["qy",[6,"d.f32",[[5,"0"]]]]]]]]],"+",[6,"std.min",[[6,"std.max",["qx","qy"]],[6,"d.f32",[[5,"0"]]]]]]],[13,"sd",[6,"std.select",["sdSquare","sdRound",[1,"capHere",">=",[5,"0.5"]]]]],[13,"feather",[1,[5,"1"],"/",[7,"viewport","y"]]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",[[4,"-","feather"],"feather","sd"]]]]]]},externals:{"geom.aspectOf":()=>bt,"geom.aspectCorrectedUV":()=>Yg,"geom.aspectCentrePosition":()=>bn,segmentArcPerp:()=>ib,"std.max":()=>b,"d.f32":()=>a,EPS:()=>Ui,"std.floor":()=>q,"std.clamp":()=>$,"std.select":()=>C,"std.length":()=>j,"d.vec2f":()=>l,"std.abs":()=>z,"std.min":()=>oe,"std.smoothstep":()=>re}})&&e.f)({})),jB=v.fn([l,l,a,l,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=ua(t,o,s),m=__tsover_mul(r,Le),p=Eo(u,H(m),Y(m)),y=__tsover_add(__tsover_mul(__tsover_mul(p.x,n),it),_),h=__tsover_mul(Y(y),i),g=z(__tsover_sub(p.y,h)),w=__tsover_mul(d,.5),S=__tsover_mul(c,.5);return __tsover_sub(1,re(__tsover_sub(w,S),__tsover_add(w,S),g))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"position"},{type:"i",name:"frequency"},{type:"i",name:"amplitude"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"animTime"}],body:[0,[[13,"centered",[6,"geom.aspectCenteredDelta",["uv","position","viewport"]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosAngle",[6,"std.cos",["angleRad"]]],[13,"sinAngle",[6,"std.sin",["angleRad"]]],[13,"rotated",[6,"geom.rotate2",["centered","cosAngle","sinAngle"]]],[13,"waveInput",[1,[1,[1,[7,"rotated","x"],"*","frequency"],"*","TAU"],"+","animTime"]],[13,"sineWave",[1,[6,"std.sin",["waveInput"]],"*","amplitude"]],[13,"distanceFromWave",[6,"std.abs",[[1,[7,"rotated","y"],"-","sineWave"]]]],[13,"halfThickness",[1,"thickness","*",[5,"0.5"]]],[13,"halfSoftness",[1,"softness","*",[5,"0.5"]]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"halfThickness","-","halfSoftness"],[1,"halfThickness","+","halfSoftness"],"distanceFromWave"]]]]]]},externals:{"geom.aspectCenteredDelta":()=>ua,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"geom.rotate2":()=>Eo,TAU:()=>it,"std.abs":()=>z,"std.smoothstep":()=>re}})&&e.f)({})),db=v.fn([a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return f(__tsover_add(__tsover_mul(H(__tsover_mul(it,t)),.5),.5),__tsover_add(__tsover_mul(H(__tsover_mul(it,__tsover_sub(t,.333))),.5),.5),__tsover_add(__tsover_mul(H(__tsover_mul(it,__tsover_sub(t,.666))),.5),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[6,"d.vec3f",[[1,[1,[6,"std.cos",[[1,"TAU_FULL","*","t"]]],"*",[5,"0.5"]],"+",[5,"0.5"]],[1,[1,[6,"std.cos",[[1,"TAU_FULL","*",[1,"t","-",[5,"0.333"]]]]],"*",[5,"0.5"]],"+",[5,"0.5"]],[1,[1,[6,"std.cos",[[1,"TAU_FULL","*",[1,"t","-",[5,"0.666"]]]]],"*",[5,"0.5"]],"+",[5,"0.5"]]]]]]]},externals:{"d.vec3f":()=>f,"std.cos":()=>H,TAU_FULL:()=>it}})&&e.f)({})),Fm=ut({aspect:a,lightPos:l,flareAxis:l,masterFade:a,lightDist:a,lightAngle:a}).$name("FlareFrame"),KB=v.fn([l,l,a,l,a,a],Fm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=bt(s),c=l(o.x,__tsover_sub(1,o.y)),_=l(__tsover_sub(.5,c.x),__tsover_sub(.5,c.y)),u=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(Y(__tsover_mul(r,3.7)),.04),__tsover_mul(Y(__tsover_mul(r,7.3)),.03)),__tsover_mul(Y(__tsover_mul(r,13.1)),.02)),.97),m=b(__tsover_mul(z(__tsover_sub(c.x,.5)),2),__tsover_mul(z(__tsover_sub(c.y,.5)),2)),p=__tsover_sub(1,__tsover_mul(i,.5)),y=X(1,__tsover_sub(1,re(p,1,m)),i),h=__tsover_mul(__tsover_mul(n,y),u),g=l(__tsover_mul(__tsover_sub(t.x,c.x),d),__tsover_sub(t.y,c.y));return Fm({aspect:d,lightPos:c,flareAxis:_,masterFade:h,lightDist:j(g),lightAngle:tt(g.y,g.x)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"t"},{type:"i",name:"lightPosRaw"},{type:"i",name:"intensity"},{type:"i",name:"edgeFade"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"lightPos",[6,"d.vec2f",[[7,"lightPosRaw","x"],[1,[5,"1"],"-",[7,"lightPosRaw","y"]]]]],[13,"flareAxis",[6,"d.vec2f",[[1,[5,"0.5"],"-",[7,"lightPos","x"]],[1,[5,"0.5"],"-",[7,"lightPos","y"]]]]],[13,"shimmer",[1,[1,[1,[1,[6,"std.sin",[[1,"t","*",[5,"3.7"]]]],"*",[5,"0.04"]],"+",[1,[6,"std.sin",[[1,"t","*",[5,"7.3"]]]],"*",[5,"0.03"]]],"+",[1,[6,"std.sin",[[1,"t","*",[5,"13.1"]]]],"*",[5,"0.02"]]],"+",[5,"0.97"]]],[13,"edgeDist",[6,"std.max",[[1,[6,"std.abs",[[1,[7,"lightPos","x"],"-",[5,"0.5"]]]],"*",[5,"2"]],[1,[6,"std.abs",[[1,[7,"lightPos","y"],"-",[5,"0.5"]]]],"*",[5,"2"]]]]],[13,"fadeStart",[1,[5,"1"],"-",[1,"edgeFade","*",[5,"0.5"]]]],[13,"edgeFadeV",[6,"std.mix",[[5,"1"],[1,[5,"1"],"-",[6,"std.smoothstep",["fadeStart",[5,"1"],"edgeDist"]]],"edgeFade"]]],[13,"masterFade",[1,[1,"intensity","*","edgeFadeV"],"*","shimmer"]],[13,"toLightAR",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[7,"lightPos","x"]],"*","aspect"],[1,[7,"uv","y"],"-",[7,"lightPos","y"]]]]],[13,"lightDist",[6,"std.length",["toLightAR"]]],[13,"lightAngle",[6,"std.atan2",[[7,"toLightAR","y"],[7,"toLightAR","x"]]]],[10,[6,"FlareFrame",[[104,{aspect:"aspect",lightPos:"lightPos",flareAxis:"flareAxis",masterFade:"masterFade",lightDist:"lightDist",lightAngle:"lightAngle"}]]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,"std.sin":()=>Y,"std.max":()=>b,"std.abs":()=>z,"std.mix":()=>X,"std.smoothstep":()=>re,"std.length":()=>j,"std.atan2":()=>tt,FlareFrame:()=>Fm}})&&e.f)({})),ZB=v.fn([l,a,l,l,a,a,a,a,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=_.x,p=_.y,y=_.z,h=_.w,g=u.x,w=u.y,S=u.z,T=u.w,A=r.add(o.mul(__tsover_mul(__tsover_mul(m,i),2))),P=j(l(__tsover_mul(__tsover_sub(t.x,A.x),s),__tsover_sub(t.y,A.y))),U=p,D=__tsover_sub(1,re(__tsover_mul(U,.12),U,P)),O=__tsover_sub(1,re(__tsover_mul(U,.05),__tsover_mul(U,.45),P)),L=__tsover_mul(D,__tsover_sub(1,__tsover_mul(O,h))),G=__tsover_add(__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(n,4.3),T)),.08),__tsover_mul(Y(__tsover_add(__tsover_mul(n,9.1),__tsover_mul(T,1.7))),.05)),.95),W=Hl(P,__tsover_mul(U,.78),__tsover_mul(__tsover_mul(U,d),.14),__tsover_mul(U,.1)),K=W.x,Q=W.y,te=W.z,ee=__tsover_mul(__tsover_mul(y,c),G);return f(__tsover_mul(__tsover_add(__tsover_mul(L,g),__tsover_mul(K,d)),ee),__tsover_mul(__tsover_add(__tsover_mul(L,w),__tsover_mul(Q,d)),ee),__tsover_mul(__tsover_add(__tsover_mul(L,S),__tsover_mul(te,d)),ee))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"lightPos"},{type:"i",name:"flareAxis"},{type:"i",name:"t"},{type:"i",name:"ghostSpread"},{type:"i",name:"ghostChroma"},{type:"i",name:"ghostInt"},{type:"i",name:"disc"},{type:"i",name:"tint"}],body:[0,[[13,"offset",[7,"disc","x"]],[13,"size",[7,"disc","y"]],[13,"bright",[7,"disc","z"]],[13,"hollow",[7,"disc","w"]],[13,"r",[7,"tint","x"]],[13,"g",[7,"tint","y"]],[13,"b",[7,"tint","z"]],[13,"gPhase",[7,"tint","w"]],[13,"ghostPos",[6,[7,"lightPos","add"],[[6,[7,"flareAxis","mul"],[[1,[1,"offset","*","ghostSpread"],"*",[5,"2"]]]]]]],[13,"toGhost",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[7,"ghostPos","x"]],"*","aspect"],[1,[7,"uv","y"],"-",[7,"ghostPos","y"]]]]],[13,"dist",[6,"std.length",["toGhost"]]],[13,"sz","size"],[13,"discShape",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"sz","*",[5,"0.12"]],"sz","dist"]]]],[13,"innerFade",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"sz","*",[5,"0.05"]],[1,"sz","*",[5,"0.45"]],"dist"]]]],[13,"shape",[1,"discShape","*",[1,[5,"1"],"-",[1,"innerFade","*","hollow"]]]],[13,"gShimmer",[1,[1,[1,[6,"std.sin",[[1,[1,"t","*",[5,"4.3"]],"+","gPhase"]]],"*",[5,"0.08"]],"+",[1,[6,"std.sin",[[1,[1,"t","*",[5,"9.1"]],"+",[1,"gPhase","*",[5,"1.7"]]]]],"*",[5,"0.05"]]],"+",[5,"0.95"]]],[13,"ringCenter",[1,"sz","*",[5,"0.78"]]],[13,"chromaSpread",[1,[1,"sz","*","ghostChroma"],"*",[5,"0.14"]]],[13,"ringWidth",[1,"sz","*",[5,"0.1"]]],[13,"ring",[6,"lightfields.chromaticRingBand",["dist","ringCenter","chromaSpread","ringWidth"]]],[13,"rRing",[7,"ring","x"]],[13,"gRing",[7,"ring","y"]],[13,"bRing",[7,"ring","z"]],[13,"brightness",[1,[1,"bright","*","ghostInt"],"*","gShimmer"]],[10,[6,"d.vec3f",[[1,[1,[1,"shape","*","r"],"+",[1,"rRing","*","ghostChroma"]],"*","brightness"],[1,[1,[1,"shape","*","g"],"+",[1,"gRing","*","ghostChroma"]],"*","brightness"],[1,[1,[1,"shape","*","b"],"+",[1,"bRing","*","ghostChroma"]],"*","brightness"]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.smoothstep":()=>re,"std.sin":()=>Y,"lightfields.chromaticRingBand":()=>Hl,"d.vec3f":()=>f}})&&e.f)({})),QB=v.fn([l,a,l,a,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=l(__tsover_sub(1,r.x),__tsover_sub(1,r.y)),u=l(__tsover_mul(__tsover_sub(t.x,_.x),s),__tsover_sub(t.y,_.y)),m=Hl(j(u),i,__tsover_mul(__tsover_mul(i,d),.06),__tsover_add(__tsover_mul(c,.12),.005)),p=tt(u.y,u.x),y=__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(p,3),__tsover_mul(o,.5))),.12),.88);return m.mul(n).mul(y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"lightPos"},{type:"i",name:"t"},{type:"i",name:"haloInt"},{type:"i",name:"haloRad"},{type:"i",name:"haloChroma"},{type:"i",name:"haloSoft"}],body:[0,[[13,"antiLight",[6,"d.vec2f",[[1,[5,"1"],"-",[7,"lightPos","x"]],[1,[5,"1"],"-",[7,"lightPos","y"]]]]],[13,"toAntiLight",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[7,"antiLight","x"]],"*","aspect"],[1,[7,"uv","y"],"-",[7,"antiLight","y"]]]]],[13,"antiLightDist",[6,"std.length",["toAntiLight"]]],[13,"haloChromaSpread",[1,[1,"haloRad","*","haloChroma"],"*",[5,"0.06"]]],[13,"haloWidth",[1,[1,"haloSoft","*",[5,"0.12"]],"+",[5,"0.005"]]],[13,"halo",[6,"lightfields.chromaticRingBand",["antiLightDist","haloRad","haloChromaSpread","haloWidth"]]],[13,"haloAngle",[6,"std.atan2",[[7,"toAntiLight","y"],[7,"toAntiLight","x"]]]],[13,"haloAngVar",[1,[1,[6,"std.sin",[[1,[1,"haloAngle","*",[5,"3"]],"+",[1,"t","*",[5,"0.5"]]]]],"*",[5,"0.12"]],"+",[5,"0.88"]]],[10,[6,[7,[6,[7,"halo","mul"],["haloInt"]],"mul"],["haloAngVar"]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"lightfields.chromaticRingBand":()=>Hl,"std.atan2":()=>tt,"std.sin":()=>Y}})&&e.f)({})),JB=v.fn([a,l,a,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=tt(s.y,__tsover_mul(s.x,r)),_=__tsover_add(__tsover_mul(c,.5),__tsover_mul(o,.06)),u=__tsover_add(t,_),m=Sm(u,__tsover_div(i,2),3.5),p=__tsover_mul(Sm(__tsover_add(u,.25),__tsover_div(i,2),7),.4),y=__tsover_div(1,__tsover_add(1,__tsover_mul(__tsover_mul(n,n),60))),h=db(__tsover_add(__tsover_div(u,it),.5));return X(f(1,.97,.92),h,.12).mul(__tsover_mul(__tsover_mul(__tsover_add(m,p),y),d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lightAngle"},{type:"i",name:"flareAxis"},{type:"i",name:"aspect"},{type:"i",name:"t"},{type:"i",name:"lightDist"},{type:"i",name:"starburstPts"},{type:"i",name:"starburstInt"}],body:[0,[[13,"axisAng",[6,"std.atan2",[[7,"flareAxis","y"],[1,[7,"flareAxis","x"],"*","aspect"]]]],[13,"rotation",[1,[1,"axisAng","*",[5,"0.5"]],"+",[1,"t","*",[5,"0.06"]]]],[13,"spikeAngle",[1,"lightAngle","+","rotation"]],[13,"primarySpikes",[6,"lightfields.angularCosineSpikes",["spikeAngle",[1,"starburstPts","/",[5,"2"]],[5,"3.5"]]]],[13,"secondarySpikes",[1,[6,"lightfields.angularCosineSpikes",[[1,"spikeAngle","+",[5,"0.25"]],[1,"starburstPts","/",[5,"2"]],[5,"7"]]],"*",[5,"0.4"]]],[13,"radialFall",[1,[5,"1"],"/",[1,[5,"1"],"+",[1,[1,"lightDist","*","lightDist"],"*",[5,"60"]]]]],[13,"starSpectral",[6,"lensFlareSpectral",[[1,[1,"spikeAngle","/","TAU_FULL"],"+",[5,"0.5"]]]]],[13,"starTint",[6,"std.mix",[[6,"d.vec3f",[[5,"1"],[5,"0.97"],[5,"0.92"]]],"starSpectral",[5,"0.12"]]]],[10,[6,[7,"starTint","mul"],[[1,[1,[1,"primarySpikes","+","secondarySpikes"],"*","radialFall"],"*","starburstInt"]]]]]]},externals:{"std.atan2":()=>tt,"lightfields.angularCosineSpikes":()=>Sm,lensFlareSpectral:()=>db,TAU_FULL:()=>it,"std.mix":()=>X,"d.vec3f":()=>f}})&&e.f)({})),eW=v.fn([l,l,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=z(__tsover_sub(t.y,s.y)),i=z(__tsover_sub(t.x,s.x)),d=ct(__tsover_mul(__tsover_mul(-800,n),n)),c=__tsover_add(__tsover_mul(__tsover_mul(r,r),.25),.001),_=ct(__tsover_div(__tsover_mul(__tsover_mul(-1,i),i),__tsover_mul(c,.7))),u=ct(__tsover_div(__tsover_mul(__tsover_mul(-1,i),i),c)),m=ct(__tsover_div(__tsover_mul(__tsover_mul(-1,i),i),__tsover_mul(c,1.4)));return f(__tsover_mul(__tsover_mul(d,_),.5),__tsover_mul(__tsover_mul(d,u),.65),__tsover_mul(__tsover_mul(d,m),.9)).mul(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"lightPos"},{type:"i",name:"streakLen"},{type:"i",name:"streakInt"}],body:[0,[[13,"dy",[6,"std.abs",[[1,[7,"uv","y"],"-",[7,"lightPos","y"]]]]],[13,"dx",[6,"std.abs",[[1,[7,"uv","x"],"-",[7,"lightPos","x"]]]]],[13,"vertFall",[6,"std.exp",[[1,[1,[4,"-",[5,"800"]],"*","dy"],"*","dy"]]]],[13,"lenSq",[1,[1,[1,"streakLen","*","streakLen"],"*",[5,"0.25"]],"+",[5,"0.001"]]],[13,"rStreak",[6,"std.exp",[[1,[1,[1,[4,"-",[5,"1"]],"*","dx"],"*","dx"],"/",[1,"lenSq","*",[5,"0.7"]]]]]],[13,"gStreak",[6,"std.exp",[[1,[1,[1,[4,"-",[5,"1"]],"*","dx"],"*","dx"],"/","lenSq"]]]],[13,"bStreak",[6,"std.exp",[[1,[1,[1,[4,"-",[5,"1"]],"*","dx"],"*","dx"],"/",[1,"lenSq","*",[5,"1.4"]]]]]],[10,[6,[7,[6,"d.vec3f",[[1,[1,"vertFall","*","rStreak"],"*",[5,"0.5"]],[1,[1,"vertFall","*","gStreak"],"*",[5,"0.65"]],[1,[1,"vertFall","*","bStreak"],"*",[5,"0.9"]]]],"mul"],["streakInt"]]]]]},externals:{"std.abs":()=>z,"std.exp":()=>ct,"d.vec3f":()=>f}})&&e.f)({})),tW=v.fn([a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Qg(t,__tsover_div(1,__tsover_add(__tsover_mul(s,s),.01)));return f(1,.98,.95).mul(__tsover_mul(o,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lightDist"},{type:"i",name:"glareSz"},{type:"i",name:"glareInt"}],body:[0,[[13,"glareSharpness",[1,[5,"1"],"/",[1,[1,"glareSz","*","glareSz"],"+",[5,"0.01"]]]],[13,"glareFalloff",[6,"lightfields.radialGaussianFalloff",["lightDist","glareSharpness"]]],[10,[6,[7,[6,"d.vec3f",[[5,"1"],[5,"0.98"],[5,"0.95"]]],"mul"],[[1,"glareFalloff","*","glareInt"]]]]]]},externals:{"lightfields.radialGaussianFalloff":()=>Qg,"d.vec3f":()=>f}})&&e.f)({})),sW=v.fn([a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=ct(__tsover_mul(__tsover_mul(-500,t),t)),o=__tsover_sub(1,re(0,.025,t));return f(1,.98,.96).mul(__tsover_mul(__tsover_add(r,__tsover_mul(o,1.5)),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lightDist"},{type:"i",name:"intensity"}],body:[0,[[13,"coreSoft",[6,"std.exp",[[1,[1,[4,"-",[5,"500"]],"*","lightDist"],"*","lightDist"]]]],[13,"coreSharp",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],[5,"0.025"],"lightDist"]]]],[10,[6,[7,[6,"d.vec3f",[[5,"1"],[5,"0.98"],[5,"0.96"]]],"mul"],[[1,[1,"coreSoft","+",[1,"coreSharp","*",[5,"1.5"]]],"*","intensity"]]]]]]},externals:{"std.exp":()=>ct,"std.smoothstep":()=>re,"d.vec3f":()=>f}})&&e.f)({})),rW=v.fn([f,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.mul(s);return x(r,$(__tsover_mul(Ll(r),2),0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"flareTotal"},{type:"i",name:"masterFade"}],body:[0,[[13,"finalColor",[6,[7,"flareTotal","mul"],["masterFade"]]],[13,"flareAlpha",[6,"std.clamp",[[1,[6,"tone.luma601Dot",["finalColor"]],"*",[5,"2"]],[5,"0"],[5,"1"]]]],[10,[6,"d.vec4f",["finalColor","flareAlpha"]]]]]},externals:{"std.clamp":()=>$,"tone.luma601Dot":()=>Ll,"d.vec4f":()=>x}})&&e.f)({})),oW=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(o,.03),i=l(Br(t.mul(5).add(l(n,n))),Br(t.mul(5).add(l(31.4,31.4)).add(l(n,n)))).sub(l(.5,.5)),d=l(__tsover_div(1,s.x),__tsover_div(1,s.y));return t.add(i.mul(r).mul(d).mul(8))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"bleed"},{type:"i",name:"time"}],body:[0,[[13,"t",[1,"time","*",[5,"0.03"]]],[13,"wob",[6,[7,[6,"d.vec2f",[[6,"noise.value12",[[6,[7,[6,[7,"uv","mul"],[[5,"5"]]],"add"],[[6,"d.vec2f",["t","t"]]]]]],[6,"noise.value12",[[6,[7,[6,[7,[6,[7,"uv","mul"],[[5,"5"]]],"add"],[[6,"d.vec2f",[[5,"31.4"],[5,"31.4"]]]]],"add"],[[6,"d.vec2f",["t","t"]]]]]]]],"sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"texel",[6,"d.vec2f",[[1,[5,"1"],"/",[7,"viewport","x"]],[1,[5,"1"],"/",[7,"viewport","y"]]]]],[10,[6,[7,"uv","add"],[[6,[7,[6,[7,[6,[7,"wob","mul"],["bleed"]],"mul"],["texel"]],"mul"],[[5,"8"]]]]]]]]},externals:{"d.vec2f":()=>l,"noise.value12":()=>Br}})&&e.f)({})),nW=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return l(__tsover_add(t.x,__tsover_div(r,s.x)),__tsover_add(t.y,__tsover_div(o,s.y)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvBase"},{type:"i",name:"viewport"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"uvBase","x"],"+",[1,"ox","/",[7,"viewport","x"]]],[1,[7,"uvBase","y"],"+",[1,"oy","/",[7,"viewport","y"]]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),aW=v.fn([l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return Br(t.mul(s).mul(.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[10,[6,"noise.value12",[[6,[7,[6,[7,"uv","mul"],["viewport"]],"mul"],[[5,"0.5"]]]]]]]]},externals:{"noise.value12":()=>Br}})&&e.f)({})),iW=v.fn([x,x,x,x,f,f,f,f,a,x,x,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p,y,h)=>{"use gpu";let g=t.mul(_),w=s.mul(_),S=r.mul(_),T=o.mul(_),A=f(g.x,g.y,g.z),P=f(w.x,w.y,w.z),U=f(S.x,S.y,S.z),D=f(T.x,T.y,T.z),O=n.mul(_).sub(A.mul(A)),L=i.mul(_).sub(P.mul(P)),G=d.mul(_).sub(U.mul(U)),W=c.mul(_).sub(D.mul(D)),K=__tsover_add(__tsover_add(O.x,O.y),O.z),Q=__tsover_add(__tsover_add(L.x,L.y),L.z),te=__tsover_add(__tsover_add(G.x,G.y),G.z),ee=__tsover_add(__tsover_add(W.x,W.y),W.z),he=x(g.x,g.y,g.z,g.w),Ee=K;he=C(he,w,Qf,"d.vec4f":()=>x,"std.select":()=>C,"std.min":()=>oe,"blend.unpremultiplyAlpha":()=>dn,"std.mix":()=>X}})&&e.f)({})),cb=Math.sin(.785),_b=Math.cos(.785),lb=Math.sin(-.785),ub=Math.cos(-.785),Xd=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ot(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"noise.hash12",["p"]]]]]},externals:{"noise.hash12":()=>Ot}})&&e.f)({})),Bm=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=ue(t),o=r.mul(r).mul(r.mul(-2).add(3)),n=Xd(s),i=Xd(l(__tsover_add(s.x,1),s.y)),d=Xd(l(s.x,__tsover_add(s.y,1))),c=Xd(l(__tsover_add(s.x,1),__tsover_add(s.y,1)));return X(X(n,i,o.x),X(d,c,o.x),o.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,"std.fract",["p"]]],[13,"u",[6,[7,[6,[7,"f","mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[4,"-",[5,"2"]]]],"add"],[[5,"3"]]]]]],[13,"a",[6,"chalkHash21",["i"]]],[13,"b",[6,"chalkHash21",[[6,"d.vec2f",[[1,[7,"i","x"],"+",[5,"1"]],[7,"i","y"]]]]]],[13,"c",[6,"chalkHash21",[[6,"d.vec2f",[[7,"i","x"],[1,[7,"i","y"],"+",[5,"1"]]]]]]],[13,"dd",[6,"chalkHash21",[[6,"d.vec2f",[[1,[7,"i","x"],"+",[5,"1"]],[1,[7,"i","y"],"+",[5,"1"]]]]]]],[10,[6,"std.mix",[[6,"std.mix",["a","b",[7,"u","x"]]],[6,"std.mix",["c","dd",[7,"u","x"]]],[7,"u","y"]]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,chalkHash21:()=>Xd,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),dW=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return se(f(t.x,t.y,t.z),f(.299,.587,.114))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,"std.dot",[[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),cW=v.fn([l,l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_div(1,s.x),d=__tsover_div(1,s.y);return l(__tsover_add(t.x,__tsover_mul(__tsover_mul(i,r),o)),__tsover_add(t.y,__tsover_mul(__tsover_mul(d,r),n)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"edgeThickness"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[13,"texelX",[1,[5,"1"],"/",[7,"viewport","x"]]],[13,"texelY",[1,[5,"1"],"/",[7,"viewport","y"]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[1,"texelX","*","edgeThickness"],"*","ox"]],[1,[7,"uv","y"],"+",[1,[1,"texelY","*","edgeThickness"],"*","oy"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),el=v.fn([l,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_add(__tsover_mul(t.x,o),__tsover_mul(t.y,n)),c=__tsover_mul(z(__tsover_sub(ue(__tsover_div(d,s)),.5)),2),_=__tsover_sub(1,re(0,.35,c));return __tsover_mul(_,De(i,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"P"},{type:"i",name:"hatchScale"},{type:"i",name:"shade"},{type:"i",name:"sa"},{type:"i",name:"ca"},{type:"i",name:"thr"}],body:[0,[[13,"ry",[1,[1,[7,"P","x"],"*","sa"],"+",[1,[7,"P","y"],"*","ca"]]],[13,"hl",[1,[6,"std.abs",[[1,[6,"std.fract",[[1,"ry","/","hatchScale"]]],"-",[5,"0.5"]]]],"*",[5,"2"]]],[13,"line",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],[5,"0.35"],"hl"]]]],[10,[1,"line","*",[6,"std.step",["thr","shade"]]]]]]},externals:{"std.abs":()=>z,"std.fract":()=>ue,"std.smoothstep":()=>re,"std.step":()=>De}})&&e.f)({})),_W=v.fn([x,x,l,l,x,x,x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=t.x,u=t.y,m=t.z,p=t.w,y=s.x,h=s.y,g=s.z,w=s.w,S=n.x,T=n.y,A=i.x,P=i.y,U=i.z,D=i.w,O=__tsover_add(__tsover_add(__tsover_add(__tsover_sub(__tsover_sub(-_,__tsover_mul(p,2)),h),m),__tsover_mul(y,2)),w),L=__tsover_add(__tsover_add(__tsover_add(__tsover_sub(__tsover_sub(-_,__tsover_mul(u,2)),m),h),__tsover_mul(g,2)),w),G=be(__tsover_add(__tsover_mul(O,O),__tsover_mul(L,L))),W=X(a(1),.08,A),K=re(__tsover_mul(W,.4),W,G),Q=__tsover_sub(1,S),te=r.mul(o),ee=__tsover_mul(b(b(el(te,P,Q,cb,_b,.22),el(te,P,Q,lb,ub,.5)),el(te,P,Q,0,1,.78)),U),he=X(__tsover_sub(1,D),a(1),Bm(te.mul(.5))),Ee=$(__tsover_mul(b(K,ee),he),0,1),Te=__tsover_mul(__tsover_sub(Bm(te.mul(.9)),.5),.04);return x(X(d.xyz.add(Te),c.xyz,f(Ee)),T)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sobelA"},{type:"i",name:"sobelB"},{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"misc"},{type:"i",name:"params"},{type:"i",name:"boardColor"},{type:"i",name:"chalkColor"}],body:[0,[[13,"tl",[7,"sobelA","x"]],[13,"t",[7,"sobelA","y"]],[13,"tr",[7,"sobelA","z"]],[13,"l",[7,"sobelA","w"]],[13,"r",[7,"sobelB","x"]],[13,"bl",[7,"sobelB","y"]],[13,"bo",[7,"sobelB","z"]],[13,"br",[7,"sobelB","w"]],[13,"centerLum",[7,"misc","x"]],[13,"centerAlpha",[7,"misc","y"]],[13,"edgeSensitivity",[7,"params","x"]],[13,"hatchScale",[7,"params","y"]],[13,"shading",[7,"params","z"]],[13,"grain",[7,"params","w"]],[13,"gx",[1,[1,[1,[1,[1,[4,"-","tl"],"-",[1,"l","*",[5,"2"]]],"-","bl"],"+","tr"],"+",[1,"r","*",[5,"2"]]],"+","br"]],[13,"gy",[1,[1,[1,[1,[1,[4,"-","tl"],"-",[1,"t","*",[5,"2"]]],"-","tr"],"+","bl"],"+",[1,"bo","*",[5,"2"]]],"+","br"]],[13,"edgeMag",[6,"std.sqrt",[[1,[1,"gx","*","gx"],"+",[1,"gy","*","gy"]]]]],[13,"edgeHigh",[6,"std.mix",[[6,"d.f32",[[5,"1"]]],[5,"0.08"],"edgeSensitivity"]]],[13,"edge",[6,"std.smoothstep",[[1,"edgeHigh","*",[5,"0.4"]],"edgeHigh","edgeMag"]]],[13,"shade",[1,[5,"1"],"-","centerLum"]],[13,"P",[6,[7,"uv","mul"],["viewport"]]],[13,"hatch",[1,[6,"std.max",[[6,"std.max",[[6,"chalkHatchLine",["P","hatchScale","shade","SIN_045","COS_045",[5,"0.22"]]],[6,"chalkHatchLine",["P","hatchScale","shade","SIN_N45","COS_N45",[5,"0.5"]]]]],[6,"chalkHatchLine",["P","hatchScale","shade",[5,"0"],[5,"1"],[5,"0.78"]]]]],"*","shading"]],[13,"dust",[6,"std.mix",[[1,[5,"1"],"-","grain"],[6,"d.f32",[[5,"1"]]],[6,"chalkVnoise",[[6,[7,"P","mul"],[[5,"0.5"]]]]]]]],[13,"chalkMask",[6,"std.clamp",[[1,[6,"std.max",["edge","hatch"]],"*","dust"],[5,"0"],[5,"1"]]]],[13,"boardGrain",[1,[1,[6,"chalkVnoise",[[6,[7,"P","mul"],[[5,"0.9"]]]]],"-",[5,"0.5"]],"*",[5,"0.04"]]],[13,"boardRGB",[6,[7,[7,"boardColor","xyz"],"add"],["boardGrain"]]],[13,"col",[6,"std.mix",["boardRGB",[7,"chalkColor","xyz"],[6,"d.vec3f",["chalkMask"]]]]],[10,[6,"d.vec4f",["col","centerAlpha"]]]]]},externals:{"std.sqrt":()=>be,"std.mix":()=>X,"d.f32":()=>a,"std.smoothstep":()=>re,"std.max":()=>b,chalkHatchLine:()=>el,SIN_045:()=>cb,COS_045:()=>_b,SIN_N45:()=>lb,COS_N45:()=>ub,chalkVnoise:()=>Bm,"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),mb=1080,Wm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cellCenter:l,cellUV:l,isOutside:a}),"AsciiGrid"),lW=v.fn([l,l,a,a],Wm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_div(s.y,mb),i=__tsover_mul(r,n),d=l(__tsover_div(s.x,i),__tsover_div(s.y,i)),c=l(__tsover_mul(t.x,d.x),__tsover_mul(t.y,d.y)),_=q(c),u=ue(c),m=__tsover_sub(u.x,.5),p=__tsover_sub(u.y,.5),y=l(__tsover_add(__tsover_div(m,o),.5),__tsover_add(__tsover_div(p,o),.5)),h=__tsover_mul(o,.5),g=C(a(0),a(1),z(m)>h||z(p)>h);return Wm({cellCenter:l(__tsover_div(__tsover_add(_.x,.5),d.x),__tsover_div(__tsover_add(_.y,.5),d.y)),cellUV:y,isOutside:g})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cellSize"},{type:"i",name:"spacing"}],body:[0,[[13,"scaleFactor",[1,[7,"viewport","y"],"/","REFERENCE_HEIGHT"]],[13,"effectiveCellSize",[1,"cellSize","*","scaleFactor"]],[13,"mainGridSize",[6,"d.vec2f",[[1,[7,"viewport","x"],"/","effectiveCellSize"],[1,[7,"viewport","y"],"/","effectiveCellSize"]]]],[13,"gridCoords",[6,"d.vec2f",[[1,[7,"uv","x"],"*",[7,"mainGridSize","x"]],[1,[7,"uv","y"],"*",[7,"mainGridSize","y"]]]]],[13,"cellCoords",[6,"std.floor",["gridCoords"]]],[13,"rawCellUV",[6,"std.fract",["gridCoords"]]],[13,"centeredU",[1,[7,"rawCellUV","x"],"-",[5,"0.5"]]],[13,"centeredV",[1,[7,"rawCellUV","y"],"-",[5,"0.5"]]],[13,"cellUV",[6,"d.vec2f",[[1,[1,"centeredU","/","spacing"],"+",[5,"0.5"]],[1,[1,"centeredV","/","spacing"],"+",[5,"0.5"]]]]],[13,"half",[1,"spacing","*",[5,"0.5"]]],[13,"isOutside",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[3,[1,[6,"std.abs",["centeredU"]],">","half"],"||",[1,[6,"std.abs",["centeredV"]],">","half"]]]]],[13,"cellCenter",[6,"d.vec2f",[[1,[1,[7,"cellCoords","x"],"+",[5,"0.5"]],"/",[7,"mainGridSize","x"]],[1,[1,[7,"cellCoords","y"],"+",[5,"0.5"]],"/",[7,"mainGridSize","y"]]]]],[10,[6,"AsciiGrid",[[104,{cellCenter:"cellCenter",cellUV:"cellUV",isOutside:"isOutside"}]]]]]]},externals:{REFERENCE_HEIGHT:()=>mb,"d.vec2f":()=>l,"std.floor":()=>q,"std.fract":()=>ue,"std.select":()=>C,"d.f32":()=>a,"std.abs":()=>z,AsciiGrid:()=>Wm}})&&e.f)({})).$name("asciiGrid"),uW=v.fn([f,a,a,a,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ce(se(t,f(.299,.587,.114)),s),c=__tsover_sub(1,d),_=$(q(__tsover_mul(c,r)),0,__tsover_sub(r,1)),u=__tsover_sub(_,__tsover_mul(o,q(__tsover_div(_,o)))),m=q(__tsover_div(_,o)),p=__tsover_mul(__tsover_div(1,o),n),y=__tsover_mul(u,p),h=__tsover_mul(m,p);return l(__tsover_add(y,__tsover_mul(i.x,p)),__tsover_add(h,__tsover_mul(i.y,p)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellRgb"},{type:"i",name:"gamma"},{type:"i",name:"charCount"},{type:"i",name:"atlasSize"},{type:"i",name:"atlasScale"},{type:"i",name:"cellUV"}],body:[0,[[13,"rawBrightness",[6,"std.dot",["cellRgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"adjustedBrightness",[6,"std.pow",["rawBrightness","gamma"]]],[13,"invertedBrightness",[1,[5,"1"],"-","adjustedBrightness"]],[13,"scaledBrightness",[1,"invertedBrightness","*","charCount"]],[13,"charIndex",[6,"std.clamp",[[6,"std.floor",["scaledBrightness"]],[5,"0"],[1,"charCount","-",[5,"1"]]]]],[13,"atlasCol",[1,"charIndex","-",[1,"atlasSize","*",[6,"std.floor",[[1,"charIndex","/","atlasSize"]]]]]],[13,"atlasRow",[6,"std.floor",[[1,"charIndex","/","atlasSize"]]]],[13,"atlasCellSize",[1,[1,[5,"1"],"/","atlasSize"],"*","atlasScale"]],[13,"baseU",[1,"atlasCol","*","atlasCellSize"]],[13,"baseV",[1,"atlasRow","*","atlasCellSize"]],[10,[6,"d.vec2f",[[1,"baseU","+",[1,[7,"cellUV","x"],"*","atlasCellSize"]],[1,"baseV","+",[1,[7,"cellUV","y"],"*","atlasCellSize"]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.pow":()=>Ce,"std.clamp":()=>$,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})).$name("asciiAtlasUV"),mW=v.fn([f,x,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=se(t,f(.299,.587,.114))<.1,d=s.w,c=d.5),u=i||r>.5||c,m=C(_,a(0),u);return x(__tsover_mul(t.x,s.x),__tsover_mul(t.y,s.y),__tsover_mul(t.z,s.z),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"asciiRgb"},{type:"i",name:"cellColor"},{type:"i",name:"isOutside"},{type:"i",name:"alphaThreshold"},{type:"i",name:"preserveAlpha"}],body:[0,[[13,"charBrightness",[6,"std.dot",["asciiRgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"isBackground",[1,"charBrightness","<",[5,"0.1"]]],[13,"sourceAlpha",[7,"cellColor","w"]],[13,"isBelowThreshold",[1,"sourceAlpha","<","alphaThreshold"]],[13,"outputAlpha",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"sourceAlpha",[1,"preserveAlpha",">",[5,"0.5"]]]]],[13,"hide",[3,[3,"isBackground","||",[1,"isOutside",">",[5,"0.5"]]],"||","isBelowThreshold"]],[13,"finalAlpha",[6,"std.select",["outputAlpha",[6,"d.f32",[[5,"0"]]],"hide"]]],[10,[6,"d.vec4f",[[1,[7,"asciiRgb","x"],"*",[7,"cellColor","x"]],[1,[7,"asciiRgb","y"],"*",[7,"cellColor","y"]],[1,[7,"asciiRgb","z"],"*",[7,"cellColor","z"]],"finalAlpha"]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.select":()=>C,"d.f32":()=>a,"d.vec4f":()=>x}})&&e.f)({})).$name("asciiCompose");var Sz=v.fn([x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return l(__tsover_div(__tsover_sub(s.x,t.x),o),__tsover_div(__tsover_sub(r.x,t.x),o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"surf0"},{type:"i",name:"surfX"},{type:"i",name:"surfY"},{type:"i",name:"eps"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[7,"surfX","x"],"-",[7,"surf0","x"]],"/","eps"],[1,[1,[7,"surfY","x"],"-",[7,"surf0","x"]],"/","eps"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Az=v.fn([x,x,x,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return as(f($(__tsover_div(__tsover_sub(s.w,t.w),o),__tsover_mul(n,-1),n),$(__tsover_div(__tsover_sub(r.w,t.w),o),__tsover_mul(n,-1),n),-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"surf0"},{type:"i",name:"surfX"},{type:"i",name:"surfY"},{type:"i",name:"eps"},{type:"i",name:"gradClamp"}],body:[0,[[13,"ddx",[6,"std.clamp",[[1,[1,[7,"surfX","w"],"-",[7,"surf0","w"]],"/","eps"],[1,"gradClamp","*",[4,"-",[5,"1"]]],"gradClamp"]]],[13,"ddy",[6,"std.clamp",[[1,[1,[7,"surfY","w"],"-",[7,"surf0","w"]],"/","eps"],[1,"gradClamp","*",[4,"-",[5,"1"]]],"gradClamp"]]],[10,[6,"std.normalize",[[6,"d.vec3f",["ddx","ddy",[4,"-",[5,"1"]]]]]]]]]},externals:{"std.clamp":()=>$,"std.normalize":()=>as,"d.vec3f":()=>f}})&&e.f)({})),Mz=v.fn([l,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(j(t),1e-4),o=oe(s,.9995);return f(__tsover_mul(__tsover_div(t.x,r),o),__tsover_mul(__tsover_div(t.y,r),o),__tsover_mul(be(__tsover_sub(1,__tsover_mul(o,o))),-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"grad"},{type:"i",name:"sinTilt"}],body:[0,[[13,"glen",[6,"std.max",[[6,"std.length",["grad"]],[5,"0.0001"]]]],[13,"sB",[6,"std.min",["sinTilt",[5,"0.9995"]]]],[10,[6,"d.vec3f",[[1,[1,[7,"grad","x"],"/","glen"],"*","sB"],[1,[1,[7,"grad","y"],"/","glen"],"*","sB"],[1,[6,"std.sqrt",[[1,[5,"1"],"-",[1,"sB","*","sB"]]]],"*",[4,"-",[5,"1"]]]]]]]]},externals:{"std.max":()=>b,"std.length":()=>j,"std.min":()=>oe,"d.vec3f":()=>f,"std.sqrt":()=>be}})&&e.f)({})),Pz=v.fn([l,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(C(__tsover_sub(t.x,.5),s.y,r>.5),C(__tsover_sub(t.y,.5),s.z,r>.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdfUV"},{type:"i",name:"surf0"},{type:"i",name:"volumetric"}],body:[0,[[10,[6,"d.vec2f",[[6,"std.select",[[1,[7,"sdfUV","x"],"-",[5,"0.5"]],[7,"surf0","y"],[1,"volumetric",">",[5,"0.5"]]]],[6,"std.select",[[1,[7,"sdfUV","y"],"-",[5,"0.5"]],[7,"surf0","z"],[1,"volumetric",">",[5,"0.5"]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.select":()=>C}})&&e.f)({})),Ez=v.fn([a,a],ft)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t>__tsover_mul(s,2)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"pxH"}],body:[0,[[10,[1,"sdf",">",[1,"pxH","*",[5,"2"]]]]]]},externals:{}})&&e.f)({})),pb=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(__tsover_mul(s,.03125),__tsover_mul(r,o));return $(__tsover_div(__tsover_mul(t,-1),n),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"sharpEdge"},{type:"i",name:"pxH"},{type:"i",name:"minPixels"}],body:[0,[[13,"w",[6,"std.max",[[1,"sharpEdge","*",[5,"0.03125"]],[1,"pxH","*","minPixels"]]]],[10,[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","w"],[5,"0"],[5,"1"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$}})&&e.f)({})),kz=v.fn([l,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return as(f(__tsover_mul(__tsover_mul(__tsover_sub(t.x,.5),s),r),__tsover_mul(__tsover_sub(t.y,.5),r),1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"fov"}],body:[0,[[10,[6,"std.normalize",[[6,"d.vec3f",[[1,[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],"*","fov"],[1,[1,[7,"uv","y"],"-",[5,"0.5"]],"*","fov"],[5,"1"]]]]]]]]},externals:{"std.normalize":()=>as,"d.vec3f":()=>f}})&&e.f)({})),Om=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({tangent:f,bitangent:f}),"TangentFrame"),fb=v.fn([f,f],Om)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=as(s.sub(t.mul(se(t,s))));return Om({tangent:r,bitangent:f(__tsover_sub(__tsover_mul(t.y,r.z),__tsover_mul(t.z,r.y)),__tsover_sub(__tsover_mul(t.z,r.x),__tsover_mul(t.x,r.z)),__tsover_sub(__tsover_mul(t.x,r.y),__tsover_mul(t.y,r.x)))})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"normal"},{type:"i",name:"dir"}],body:[0,[[13,"T3",[6,"std.normalize",[[6,[7,"dir","sub"],[[6,[7,"normal","mul"],[[6,"std.dot",["normal","dir"]]]]]]]]],[13,"B3",[6,"d.vec3f",[[1,[1,[7,"normal","y"],"*",[7,"T3","z"]],"-",[1,[7,"normal","z"],"*",[7,"T3","y"]]],[1,[1,[7,"normal","z"],"*",[7,"T3","x"]],"-",[1,[7,"normal","x"],"*",[7,"T3","z"]]],[1,[1,[7,"normal","x"],"*",[7,"T3","y"]],"-",[1,[7,"normal","y"],"*",[7,"T3","x"]]]]]],[10,[6,"TangentFrame",[[104,{tangent:"T3",bitangent:"B3"}]]]]]]},externals:{"std.normalize":()=>as,"std.dot":()=>se,"d.vec3f":()=>f,TangentFrame:()=>Om}})&&e.f)({})),$z=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({normal:f,tangent:f,light:f,view:f,alphaAlong:a,alphaAcross:a}),"WardSpecularInput"),pW=v.fn([$z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=fb(t.normal,t.tangent),r=as(t.light.sub(t.view)),o=se(r,s.tangent),n=se(r,s.bitangent),i=$(z(se(r,t.normal)),1e-4,1),d=b(t.alphaAlong,1e-4),c=b(t.alphaAcross,1e-4),_=__tsover_div(__tsover_add(__tsover_mul(__tsover_div(o,d),__tsover_div(o,d)),__tsover_mul(__tsover_div(n,c),__tsover_div(n,c))),__tsover_mul(__tsover_add(i,1),.5));return ct(__tsover_mul(_,-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"frame",[6,"orthonormalTangentFrame",[[7,"p","normal"],[7,"p","tangent"]]]],[13,"H",[6,"std.normalize",[[6,[7,[7,"p","light"],"sub"],[[7,"p","view"]]]]]],[13,"hT",[6,"std.dot",["H",[7,"frame","tangent"]]]],[13,"hB",[6,"std.dot",["H",[7,"frame","bitangent"]]]],[13,"hN",[6,"std.clamp",[[6,"std.abs",[[6,"std.dot",["H",[7,"p","normal"]]]]],[5,"0.0001"],[5,"1"]]]],[13,"aT",[6,"std.max",[[7,"p","alphaAlong"],[5,"0.0001"]]]],[13,"aB",[6,"std.max",[[7,"p","alphaAcross"],[5,"0.0001"]]]],[13,"expo",[1,[1,[1,[1,"hT","/","aT"],"*",[1,"hT","/","aT"]],"+",[1,[1,"hB","/","aB"],"*",[1,"hB","/","aB"]]],"/",[1,[1,"hN","+",[5,"1"]],"*",[5,"0.5"]]]],[10,[6,"std.exp",[[1,"expo","*",[4,"-",[5,"1"]]]]]]]]},externals:{orthonormalTangentFrame:()=>fb,"std.normalize":()=>as,"std.dot":()=>se,"std.clamp":()=>$,"std.abs":()=>z,"std.max":()=>b,"std.exp":()=>ct}})&&e.f)({})),fW=v.fn([a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return f(__tsover_add(__tsover_mul(H(__tsover_mul(__tsover_add(t,s),ao)),.5),.5),__tsover_add(__tsover_mul(H(__tsover_mul(__tsover_add(t,r),ao)),.5),.5),__tsover_add(__tsover_mul(H(__tsover_mul(__tsover_add(t,o),ao)),.5),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"phaseR"},{type:"i",name:"phaseG"},{type:"i",name:"phaseB"}],body:[0,[[10,[6,"d.vec3f",[[1,[1,[6,"std.cos",[[1,[1,"t","+","phaseR"],"*","TWO_PI"]]],"*",[5,"0.5"]],"+",[5,"0.5"]],[1,[1,[6,"std.cos",[[1,[1,"t","+","phaseG"],"*","TWO_PI"]]],"*",[5,"0.5"]],"+",[5,"0.5"]],[1,[1,[6,"std.cos",[[1,[1,"t","+","phaseB"],"*","TWO_PI"]]],"*",[5,"0.5"]],"+",[5,"0.5"]]]]]]]},externals:{"d.vec3f":()=>f,"std.cos":()=>H,TWO_PI:()=>ao}})&&e.f)({})),Uz=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return re(0,1,pb(t,b(__tsover_mul(s,.5),.001),r,1.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"edgeSoftness"},{type:"i",name:"pxH"}],body:[0,[[13,"sharpEdge",[6,"std.max",[[1,"edgeSoftness","*",[5,"0.5"]],[5,"0.001"]]]],[10,[6,"std.smoothstep",[[5,"0"],[5,"1"],[6,"insideMask",["sdf","sharpEdge","pxH",[5,"1.5"]]]]]]]]},externals:{"std.max":()=>b,"std.smoothstep":()=>re,insideMask:()=>pb}})&&e.f)({})),Vm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({L:f,H:f}),"KeyLight"),Cz=v.fn([a,a,a],Vm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=as(f(t,s,r));return Vm({L:o,H:as(o.add(f(0,0,-1)))})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lx"},{type:"i",name:"ly"},{type:"i",name:"lz"}],body:[0,[[13,"L",[6,"std.normalize",[[6,"d.vec3f",["lx","ly","lz"]]]]],[13,"H",[6,"std.normalize",[[6,[7,"L","add"],[[6,"d.vec3f",[[5,"0"],[5,"0"],[4,"-",[5,"1"]]]]]]]]],[10,[6,"KeyLight",[[104,{L:"L",H:"H"}]]]]]]},externals:{"std.normalize":()=>as,"d.vec3f":()=>f,KeyLight:()=>Vm}})&&e.f)({})),vW=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_sub(1,$(__tsover_mul(t.z,-1),0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"n"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.clamp",[[1,[7,"n","z"],"*",[4,"-",[5,"1"]]],[5,"0"],[5,"1"]]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),Rz=v.fn([a,a,x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_mul(Ce(t,X(r.x,r.y,s)),X(r.z,r.w,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ndh"},{type:"i",name:"sharp"},{type:"i",name:"cfg"}],body:[0,[[10,[1,[6,"std.pow",["ndh",[6,"std.mix",[[7,"cfg","x"],[7,"cfg","y"],"sharp"]]]],"*",[6,"std.mix",[[7,"cfg","z"],[7,"cfg","w"],"sharp"]]]]]]},externals:{"std.pow":()=>Ce,"std.mix":()=>X}})&&e.f)({})),zz=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=a(4),o=la(t);return l($(__tsover_mul(o.y,s),__tsover_mul(r,-1),r),$(__tsover_mul(o.z,s),__tsover_mul(r,-1),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"q"},{type:"i",name:"gain"}],body:[0,[[13,"gMax",[6,"d.f32",[[5,"4"]]]],[13,"nd",[6,"perlin12d",["q"]]],[10,[6,"d.vec2f",[[6,"std.clamp",[[1,[7,"nd","y"],"*","gain"],[1,"gMax","*",[4,"-",[5,"1"]]],"gMax"]],[6,"std.clamp",[[1,[7,"nd","z"],"*","gain"],[1,"gMax","*",[4,"-",[5,"1"]]],"gMax"]]]]]]]},externals:{"d.f32":()=>a,perlin12d:()=>la,"d.vec2f":()=>l,"std.clamp":()=>$}})&&e.f)({})),Gz=v.fn([f,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return as(f(__tsover_add(t.x,s),__tsover_add(t.y,r),t.z))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"n"},{type:"i",name:"dx"},{type:"i",name:"dy"}],body:[0,[[10,[6,"std.normalize",[[6,"d.vec3f",[[1,[7,"n","x"],"+","dx"],[1,[7,"n","y"],"+","dy"],[7,"n","z"]]]]]]]]},externals:{"std.normalize":()=>as,"d.vec3f":()=>f}})&&e.f)({})),Yz=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=$(__tsover_mul(__tsover_mul(t,-1),2),0,1.2);return C(__tsover_mul($(__tsover_mul(t,-1),0,.5),2),r,s>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"volumetric"}],body:[0,[[13,"thickVol",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"*",[5,"2"]],[5,"0"],[5,"1.2"]]]],[13,"thickFlat",[1,[6,"std.clamp",[[1,"sdf","*",[4,"-",[5,"1"]]],[5,"0"],[5,"0.5"]]],"*",[5,"2"]]],[10,[6,"std.select",["thickFlat","thickVol",[1,"volumetric",">",[5,"0.5"]]]]]]]},externals:{"std.clamp":()=>$,"std.select":()=>C}})&&e.f)({})),yW=v.fn([a,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return f(ct(__tsover_mul(__tsover_mul(t,s.x),-1)),ct(__tsover_mul(__tsover_mul(t,s.y),-1)),ct(__tsover_mul(__tsover_mul(t,s.z),-1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"thickness"},{type:"i",name:"absorb"}],body:[0,[[10,[6,"d.vec3f",[[6,"std.exp",[[1,[1,"thickness","*",[7,"absorb","x"]],"*",[4,"-",[5,"1"]]]]],[6,"std.exp",[[1,[1,"thickness","*",[7,"absorb","y"]],"*",[4,"-",[5,"1"]]]]],[6,"std.exp",[[1,[1,"thickness","*",[7,"absorb","z"]],"*",[4,"-",[5,"1"]]]]]]]]]]},externals:{"d.vec3f":()=>f,"std.exp":()=>ct}})&&e.f)({})),Lz=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_mul(Y(__tsover_add(__tsover_add(__tsover_mul(t.x,1.7),__tsover_mul(s,.7)),1.7)),H(__tsover_add(__tsover_add(__tsover_mul(t.y,1.3),__tsover_mul(s,.5)),2.3))),__tsover_mul(H(__tsover_add(__tsover_add(__tsover_mul(t.x,1.4),__tsover_mul(s,.9)),8.7)),Y(__tsover_add(__tsover_add(__tsover_mul(t.y,1.6),__tsover_mul(s,.6)),5.1))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"warpInput"},{type:"i",name:"flowT"}],body:[0,[[13,"wx",[1,[6,"std.sin",[[1,[1,[1,[7,"warpInput","x"],"*",[5,"1.7"]],"+",[1,"flowT","*",[5,"0.7"]]],"+",[5,"1.7"]]]],"*",[6,"std.cos",[[1,[1,[1,[7,"warpInput","y"],"*",[5,"1.3"]],"+",[1,"flowT","*",[5,"0.5"]]],"+",[5,"2.3"]]]]]],[13,"wy",[1,[6,"std.cos",[[1,[1,[1,[7,"warpInput","x"],"*",[5,"1.4"]],"+",[1,"flowT","*",[5,"0.9"]]],"+",[5,"8.7"]]]],"*",[6,"std.sin",[[1,[1,[1,[7,"warpInput","y"],"*",[5,"1.6"]],"+",[1,"flowT","*",[5,"0.6"]]],"+",[5,"5.1"]]]]]],[10,[6,"d.vec2f",["wx","wy"]]]]]},externals:{"std.sin":()=>Y,"std.cos":()=>H,"d.vec2f":()=>l}})&&e.f)({})),Iz=v.fn([a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_sub(__tsover_mul(t,r),__tsover_mul(s,o)),u=__tsover_add(__tsover_mul(t,o),__tsover_mul(s,r)),m=l(_,u),p=re(-.7,.85,u),y=__tsover_mul(__tsover_mul(p,p),c),h=__tsover_mul(n,1);y=__tsover_add(y,__tsover_mul(__tsover_mul(re(h,__tsover_mul(h,.2),j(m.sub(l(__tsover_add(0,i),.55)))),1.7),d));let g=__tsover_mul(n,1.15);y=__tsover_add(y,__tsover_mul(__tsover_mul(re(g,__tsover_mul(g,.2),j(m.sub(l(__tsover_add(-.55,i),.18)))),1.05),d));let w=__tsover_mul(n,1);y=__tsover_add(y,__tsover_mul(__tsover_mul(re(w,__tsover_mul(w,.2),j(m.sub(l(__tsover_add(.55,i),.1)))),1),d));let S=__tsover_mul(n,1.3);y=__tsover_add(y,__tsover_mul(__tsover_mul(re(S,__tsover_mul(S,.2),j(m.sub(l(__tsover_add(.2,i),-.5)))),.7),d));let T=__tsover_mul(n,1.1);return y=__tsover_add(y,__tsover_mul(__tsover_mul(re(T,__tsover_mul(T,.2),j(m.sub(l(__tsover_add(-.35,i),-.25)))),.85),d)),y}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rx"},{type:"i",name:"ry"},{type:"i",name:"envC"},{type:"i",name:"envS"},{type:"i",name:"keyRad"},{type:"i",name:"drift"},{type:"i",name:"envStr"},{type:"i",name:"skyGain"}],body:[0,[[13,"ex",[1,[1,"rx","*","envC"],"-",[1,"ry","*","envS"]]],[13,"ey",[1,[1,"rx","*","envS"],"+",[1,"ry","*","envC"]]],[13,"p",[6,"d.vec2f",["ex","ey"]]],[13,"sky",[6,"std.smoothstep",[[4,"-",[5,"0.7"]],[5,"0.85"],"ey"]]],[12,"lum",[1,[1,"sky","*","sky"],"*","skyGain"]],[13,"r0",[1,"keyRad","*",[5,"1"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r0",[1,"r0","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[5,"0"],"+","drift"],[5,"0.55"]]]]]]]]],"*",[5,"1.7"]],"*","envStr"]]],[13,"r1",[1,"keyRad","*",[5,"1.15"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r1",[1,"r1","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[4,"-",[5,"0.55"]],"+","drift"],[5,"0.18"]]]]]]]]],"*",[5,"1.05"]],"*","envStr"]]],[13,"r2",[1,"keyRad","*",[5,"1"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r2",[1,"r2","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[5,"0.55"],"+","drift"],[5,"0.1"]]]]]]]]],"*",[5,"1"]],"*","envStr"]]],[13,"r3",[1,"keyRad","*",[5,"1.3"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r3",[1,"r3","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[5,"0.2"],"+","drift"],[4,"-",[5,"0.5"]]]]]]]]]],"*",[5,"0.7"]],"*","envStr"]]],[13,"r4",[1,"keyRad","*",[5,"1.1"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r4",[1,"r4","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[4,"-",[5,"0.35"]],"+","drift"],[4,"-",[5,"0.25"]]]]]]]]]],"*",[5,"0.85"]],"*","envStr"]]],[10,"lum"]]]},externals:{"d.vec2f":()=>l,"std.smoothstep":()=>re,"std.length":()=>j}})&&e.f)({})),Dz=new Map,vb=new Set;function v7(e){return Dz.get(e)??null}function y7(e){return vb.add(e),()=>{vb.delete(e)}}var Fz=16,Bz=64;var hW=Fz*Bz;var Wz=Za({accumulateInstances:()=>Kz,formatFloat:()=>o1,gridPlacement:()=>Nz,instanceHueShift:()=>jz,instanceVariation:()=>Hz,linePlacement:()=>Xz,placementField:()=>Vz,radialPlacement:()=>qz,sourceRect:()=>Oz}),pc=Math.PI;function Oz(e,t,s){let{p:r,L:o}=e;return[`let ${r}_cropL = ${s.left};`,`let ${r}_cropR = ${s.right};`,`let ${r}_cropT = ${s.top};`,`let ${r}_cropB = ${s.bottom};`,`let ${r}_srcCx = (${t.cx}) + (${r}_cropL - ${r}_cropR) * (${t.hw});`,`let ${r}_srcCy = (${t.cy}) + (${r}_cropT - ${r}_cropB) * (${t.hh});`,`let ${r}_srcHw = max((${t.hw}) * (1.0 - ${r}_cropL - ${r}_cropR), ${o(1e-6)});`,`let ${r}_srcHh = max((${t.hh}) * (1.0 - ${r}_cropT - ${r}_cropB), ${o(1e-6)});`,`let ${r}_srcHwSq = ${r}_srcHw * ${r}_aspect;`,`let ${r}_srcHhSq = ${r}_srcHh;`]}function Vz(e,t){let{p:s,L:r}=e;return[`let ${s}_fieldCenterSq = vec2f((${t.cx}) * ${s}_aspect, ${t.cy});`,`let ${s}_fieldHwSq = max((${t.hw}) * ${s}_aspect, ${r(1e-6)});`,`let ${s}_fieldHh = max(${t.hh}, ${r(1e-6)});`]}function Nz(e,t){return{requested:()=>`(${e.columns} * ${e.rows})`,body:s=>{let{p:r,L:o}=s,n=[`let ${r}_cols = ${e.columns};`,`let ${r}_rows = ${e.rows};`,`let ${r}_col = ${r}_j - ${r}_cols * floor(${r}_j / ${r}_cols);`,`let ${r}_row = floor(${r}_j / ${r}_cols);`,`let ${r}_gapXSq = ${e.gapX} * ${r}_aspect;`,`let ${r}_gapY = ${e.gapY};`,`let ${r}_fieldW = ${r}_fieldHwSq * 2.0;`,`let ${r}_fieldH = ${r}_fieldHh * 2.0;`,`let ${r}_pitchX = (${r}_fieldW - ${r}_gapXSq * (${r}_cols - 1.0)) / ${r}_cols;`,`let ${r}_pitchY = (${r}_fieldH - ${r}_gapY * (${r}_rows - 1.0)) / ${r}_rows;`,`let ${r}_periodX = ${r}_pitchX + ${r}_gapXSq;`,`let ${r}_periodY = ${r}_pitchY + ${r}_gapY;`,`${r}_cellFitInv = max(${r}_srcHwSq * 2.0 / max(${r}_pitchX, ${o(1e-5)}), ${r}_srcHhSq * 2.0 / max(${r}_pitchY, ${o(1e-5)}));`,`let ${r}_rowMod2 = ${r}_row - 2.0 * floor(${r}_row / 2.0);`,`let ${r}_staggerOff = ${r}_rowMod2 * ${e.stagger} * ${r}_periodX;`,`let ${r}_cxArg = ${r}_col * ${r}_periodX + ${r}_staggerOff + ${r}_phase * ${r}_periodX;`,`let ${r}_cxMod = ${r}_periodX * ${r}_cols;`,`let ${r}_cellX = ${r}_cxArg - ${r}_cxMod * floor(${r}_cxArg / ${r}_cxMod);`,`let ${r}_cyArg = ${r}_row * ${r}_periodY + ${r}_phase * ${r}_periodY;`,`let ${r}_cyMod = ${r}_periodY * ${r}_rows;`,`let ${r}_cellY = ${r}_cyArg - ${r}_cyMod * floor(${r}_cyArg / ${r}_cyMod);`,`${r}_pos = vec2f(${r}_fieldCenterSq.x - ${r}_fieldW * 0.5 + ${r}_pitchX * 0.5 + ${r}_cellX, ${r}_fieldCenterSq.y - ${r}_fieldH * 0.5 + ${r}_pitchY * 0.5 + ${r}_cellY);`];return(t===1||t===3)&&n.push(`${r}_flipX = 1.0 - (${r}_col - 2.0 * floor(${r}_col / 2.0)) * 2.0;`),(t===2||t===3)&&n.push(`${r}_flipY = 1.0 - (${r}_row - 2.0 * floor(${r}_row / 2.0)) * 2.0;`),n}}}function qz(e,t){return{requested:()=>t.count,body:s=>{let{p:r,L:o}=s;return[`let ${r}_cSq = ${e};`,`let ${r}_sweep = ${t.sweep} * ${o(pc/180)};`,`let ${r}_start = ${t.startAngle} * ${o(pc/180)};`,`let ${r}_ang = ${r}_start + ${r}_sweep * (${r}_j / ${r}_totalN) + ${r}_phase * ${r}_sweep;`,`${r}_pos = ${r}_cSq + vec2f(cos(${r}_ang), sin(${r}_ang)) * ${t.radius};`,`${r}_layoutRot = select(0.0, ${r}_ang + ${o(pc/2)}, ${t.faceCenter} > 0.0);`]}}}function Xz(e,t){return{requested:()=>t.count,body:s=>{let{p:r,L:o}=s;return[`let ${r}_cSq = ${e};`,`let ${r}_dirRad = ${t.direction} * ${o(pc/180)};`,`let ${r}_dir = vec2f(cos(${r}_dirRad), sin(${r}_dirRad));`,`let ${r}_tArg = ${r}_j + ${r}_phase;`,`let ${r}_t = ${r}_tArg - ${r}_totalN * floor(${r}_tArg / ${r}_totalN);`,`${r}_pos = ${r}_cSq + ${r}_dir * ${t.spacing} * ${r}_t;`]}}}function Hz(e,t){let{p:s,L:r}=e,o=n=>`fract(sin((${s}_hashBase + ${r(n)}) * 78.233) * 43758.5453)`;return[`let ${s}_hashBase = ${s}_j + ${s}_seed * 7.0;`,`let ${s}_h1 = ${o(.123)};`,`let ${s}_h2 = ${o(5.456)};`,`let ${s}_h3 = ${o(9.789)};`,`let ${s}_h4 = ${o(13.21)};`,`let ${s}_h5 = ${o(17.65)};`,`let ${s}_scale = max(pow(${t.scale}, ${s}_j) * (1.0 + ${t.jitterScale} * (${s}_h3 - 0.5)), ${r(1e-4)});`,`let ${s}_rot = ${s}_layoutRot + ${t.rotation} * ${s}_j + ${t.jitterRotation} * (${s}_h4 - 0.5) * ${r(pc*2)};`,`let ${s}_instOpacity = pow(${t.opacity}, ${s}_j) * (1.0 - ${t.jitterOpacity} * ${s}_h5);`,`${s}_pos = ${s}_pos + vec2f((${s}_h1 - 0.5) * ${s}_fieldHwSq, (${s}_h2 - 0.5) * ${s}_fieldHh) * ${t.jitterPosition};`]}function jz(e,t){let{p:s,L:r}=e;return[`let ${s}_hueAngle = ${t} * ${s}_j;`,`let ${s}_cosH = cos(${s}_hueAngle);`,`let ${s}_sinH = sin(${s}_hueAngle);`,`let ${s}_kOMC = (1.0 - ${s}_cosH) * ${r(1/3)};`,`let ${s}_sOS3 = ${s}_sinH / 1.7320508075688772;`,`let ${s}_mA = ${s}_cosH + ${s}_kOMC;`,`let ${s}_mB = ${s}_kOMC - ${s}_sOS3;`,`let ${s}_mC = ${s}_kOMC + ${s}_sOS3;`,`${s}_rgb = vec3f(${s}_src.r * ${s}_mA + ${s}_src.g * ${s}_mB + ${s}_src.b * ${s}_mC, ${s}_src.r * ${s}_mC + ${s}_src.g * ${s}_mA + ${s}_src.b * ${s}_mB, ${s}_src.r * ${s}_mB + ${s}_src.g * ${s}_mC + ${s}_src.b * ${s}_mA);`]}function Kz(e,t){let{p:s}=e,r=[];r.push(`let ${s}_totalN = min(max(${t.placement.requested()}, 1.0), 64.0);`),r.push(`var ${s}_accum = vec4f(0.0, 0.0, 0.0, 0.0);`),r.push(`var ${s}_cellFitInv = 1.0;`);let o=[];o.push(`let ${s}_fi = f32(${s}_i);`),o.push(t.zBack?`let ${s}_j = ${s}_totalN - 1.0 - ${s}_fi;`:`let ${s}_j = ${s}_fi;`),o.push(`var ${s}_pos = vec2f(0.0, 0.0);`),o.push(`var ${s}_layoutRot = 0.0;`),o.push(`var ${s}_flipX = 1.0;`),o.push(`var ${s}_flipY = 1.0;`),o.push(...t.placement.body(e)),o.push(...t.variation),o.push(`let ${s}_negRot = -${s}_rot;`),o.push(`let ${s}_cosA = cos(${s}_negRot);`),o.push(`let ${s}_sinA = sin(${s}_negRot);`),o.push(`let ${s}_d0 = ${s}_pix - ${s}_pos;`),o.push(`let ${s}_dr = vec2f(${s}_d0.x * ${s}_cosA - ${s}_d0.y * ${s}_sinA, ${s}_d0.x * ${s}_sinA + ${s}_d0.y * ${s}_cosA);`),o.push(`let ${s}_dl = ${s}_dr / ${s}_scale;`),o.push(`let ${s}_localU = ${s}_dl.x * ${s}_flipX * ${s}_cellFitInv / (${s}_srcHwSq * 2.0) + 0.5;`),o.push(`let ${s}_localV = ${s}_dl.y * ${s}_flipY * ${s}_cellFitInv / (${s}_srcHhSq * 2.0) + 0.5;`);let n=[];n.push(`let ${s}_sampleUV = vec2f(${s}_srcCx - ${s}_srcHw + ${s}_localU * ${s}_srcHw * 2.0, ${s}_srcCy - ${s}_srcHh + ${s}_localV * ${s}_srcHh * 2.0);`),n.push(`let ${s}_src = textureSampleLevel(tex.$.${t.texKey}, samp.$.linearClamp, ${s}_sampleUV, 0.0);`),n.push(`var ${s}_rgb = ${s}_src.rgb;`),n.push(...t.hue),n.push(`let ${s}_a = ${s}_src.a * ${s}_instOpacity;`),n.push(`let ${s}_premul = ${s}_rgb * ${s}_a;`),n.push(`${s}_accum = vec4f(${s}_premul + ${s}_accum.rgb * (1.0 - ${s}_a), ${s}_a + ${s}_accum.a * (1.0 - ${s}_a));`),o.push(`if (${s}_localU >= 0.0 && ${s}_localU <= 1.0 && ${s}_localV >= 0.0 && ${s}_localV <= 1.0) {`);for(let i of n)o.push(` ${i}`);o.push("}"),r.push(`for (var ${s}_i = 0u; ${s}_i < u32(${s}_totalN); ${s}_i++) {`);for(let i of o)r.push(` ${i}`);return r.push("}"),r}function _o(){if(typeof window>"u")return!1;let e=!!(window.matchMedia&&window.matchMedia("(pointer: coarse)").matches),t=Math.max(window.innerWidth||0,window.innerHeight||0);return e&&t>0&&t<=1366}function h7(){return _o()?1.5:2}var xW=_o()?24:50;var Zz=14,gW=Zz+1,Hp="rgba32float";var x7=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({dt:a,trackersF:a,agility:a,threshold:a,variance:a,lifespan:a}),"TrackParams"),bW=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({src:{texture:ps(a)},grid:{storageTexture:Mo(Hp,"write-only")},params:{uniform:x7}}),"featureLayout"),wW=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({src:{texture:ps(a)},featGrid:{texture:ps(a),sampleType:"unfilterable-float"},prev:{texture:ps(a),sampleType:"unfilterable-float"},next:{storageTexture:Mo(Hp,"write-only")},present:{storageTexture:Mo(Hp,"write-only")},params:{uniform:x7}}),"trackLayout"),TW=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(__tsover_mul(Y(t),43758.5453123))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"}],body:[0,[[10,[6,"std.fract",[[1,[6,"std.sin",["x"]],"*",[5,"43758.5453123"]]]]]]]},externals:{"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),"trackHash");function Qz(e={}){let t=e.smoothing??.2,s=e.teleportGuard??.25,r=e.minDrag??6e-4,o=e.initialX??.5,n=e.initialY??.5,i=0,d=0,c=!1,_=!1;return{update(u,m){let p=u?.seen===!1;p?c=!0:u?.x!==void 0&&c&&!_&&(_=!0,o=u.x,n=u.y??n);let y=o,h=n,g=p?o:u?.x??o,w=p?n:u?.y??n,S=g-y,T=w-h,A=Math.sqrt(S*S+T*T),P=A>=s;o=g,n=w;let U=P?0:S,D=P?0:T,O=1/Math.max(m,.001),L=U*O,G=D*O;return i=i*(1-t)+L*t,d=d*(1-t)+G*t,{x:g,y:w,prevX:y,prevY:h,dx:U,dy:D,dragDist:A,velX:L,velY:G,smoothVelX:i,smoothVelY:d,smoothSpeed:Math.sqrt(i*i+d*d),teleport:P,moving:!P&&A>r}}}}var yb=3,jp=Math.exp(-(yb*yb)),hb=1/(1-jp),Kp=.004,g7="rgba16float";function Jz(e){return v.bindGroupLayout({readBuf:{storage:pt(a,e),access:"readonly"},writeBuf:{storage:pt(a,e),access:"mutable"},params:{uniform:(globalThis.__TYPEGPU_AUTONAME__??(t=>t))(ut({cursorX:a,cursorY:a,cursorSpeed:a,dt:a,damping:a,radius:a,aspect:a}),"uniform")}})}function eG(e){return v.bindGroupLayout({srcBuf:{storage:pt(a,e),access:"readonly"},dispTex:{storageTexture:Mo(g7,"write-only")}})}var xb=new Map;function tG(e){let t=xb.get(e);if(t)return t;let s=e*e,r=e-1,o=Jz(s),n=eG(s),i={resolution:e,propagateLayout:o,gradientLayout:n,propagateKernel:v.fn([R,R])((d=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(d.f=((c,_)=>{"use gpu";if(c>R(0)&&cR(0)&&_=1),L=C(__tsover_div(__tsover_sub(D,u.cursorY),u.aspect),__tsover_sub(D,u.cursorY),u.aspect>=1),G=__tsover_add(__tsover_mul(O,O),__tsover_mul(L,L)),W=__tsover_mul(u.radius,3);if(G<__tsover_mul(W,W)&&u.cursorSpeed>.01){let K=__tsover_mul(__tsover_sub(ct(__tsover_mul(__tsover_div(G,__tsover_mul(u.radius,u.radius)),-1)),jp),hb);P=__tsover_sub(P,__tsover_mul(__tsover_mul(__tsover_mul(K,u.cursorSpeed),u.dt),3))}o.$.writeBuf[p]=P}}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[11,[3,[3,[3,[1,"cx",">",[6,"d.u32",[[5,"0"]]]],"&&",[1,"cx","<",[6,"d.u32",["gridMax"]]]],"&&",[1,"cy",">",[6,"d.u32",[[5,"0"]]]]],"&&",[1,"cy","<",[6,"d.u32",["gridMax"]]]],[0,[[13,"p",[7,[7,"propagateLayout","$"],"params"]],[13,"gs",[6,"d.u32",["resolution"]]],[13,"idx",[1,[1,"cy","*","gs"],"+","cx"]],[13,"left",[8,[7,[7,"propagateLayout","$"],"readBuf"],[1,"idx","-",[6,"d.u32",[[5,"1"]]]]]],[13,"right",[8,[7,[7,"propagateLayout","$"],"readBuf"],[1,"idx","+",[6,"d.u32",[[5,"1"]]]]]],[13,"up",[8,[7,[7,"propagateLayout","$"],"readBuf"],[1,"idx","-","gs"]]],[13,"down",[8,[7,[7,"propagateLayout","$"],"readBuf"],[1,"idx","+","gs"]]],[13,"avg",[1,[1,[1,[1,"left","+","right"],"+","up"],"+","down"],"*",[5,"0.5"]]],[13,"prev",[8,[7,[7,"propagateLayout","$"],"writeBuf"],"idx"]],[13,"dampFactor",[1,[5,"1"],"-",[1,[7,"p","damping"],"*","DAMPING_SCALE"]]],[12,"next",[1,[1,"avg","-","prev"],"*","dampFactor"]],[13,"cellX",[1,[1,[6,"d.f32",["cx"]],"+",[5,"0.5"]],"/",[6,"d.f32",["resolution"]]]],[13,"cellY",[1,[1,[6,"d.f32",["cy"]],"+",[5,"0.5"]],"/",[6,"d.f32",["resolution"]]]],[13,"ddx",[6,"std.select",[[1,"cellX","-",[7,"p","cursorX"]],[1,[1,"cellX","-",[7,"p","cursorX"]],"*",[7,"p","aspect"]],[1,[7,"p","aspect"],">=",[5,"1"]]]]],[13,"ddy",[6,"std.select",[[1,[1,"cellY","-",[7,"p","cursorY"]],"/",[7,"p","aspect"]],[1,"cellY","-",[7,"p","cursorY"]],[1,[7,"p","aspect"],">=",[5,"1"]]]]],[13,"distSq",[1,[1,"ddx","*","ddx"],"+",[1,"ddy","*","ddy"]]],[13,"influenceRadius",[1,[7,"p","radius"],"*",[5,"3"]]],[11,[3,[1,"distSq","<",[1,"influenceRadius","*","influenceRadius"]],"&&",[1,[7,"p","cursorSpeed"],">",[5,"0.01"]]],[0,[[13,"influence",[1,[1,[6,"std.exp",[[1,[1,"distSq","/",[1,[7,"p","radius"],"*",[7,"p","radius"]]],"*",[4,"-",[5,"1"]]]]],"-","BRUSH_EDGE"],"*","BRUSH_EDGE_GAIN"]],[2,"next","=",[1,"next","-",[1,[1,[1,"influence","*",[7,"p","cursorSpeed"]],"*",[7,"p","dt"]],"*",[5,"3"]]]]]]],[2,[8,[7,[7,"propagateLayout","$"],"writeBuf"],"idx"],"=","next"]]]]]]},externals:{"d.u32":()=>R,gridMax:()=>r,propagateLayout:()=>o,resolution:()=>e,DAMPING_SCALE:()=>Kp,"d.f32":()=>a,"std.select":()=>C,"std.exp":()=>ct,BRUSH_EDGE:()=>jp,BRUSH_EDGE_GAIN:()=>hb}})&&d.f)({})).$name(`waveFieldPropagate_${e}`),gradientKernel:v.fn([R,R])((d=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(d.f=((c,_)=>{"use gpu";if(c>R(0)&&cR(0)&&_",[6,"d.u32",[[5,"0"]]]],"&&",[1,"cx","<",[6,"d.u32",["gridMax"]]]],"&&",[1,"cy",">",[6,"d.u32",[[5,"0"]]]]],"&&",[1,"cy","<",[6,"d.u32",["gridMax"]]]],[0,[[13,"gs",[6,"d.u32",["resolution"]]],[13,"idx",[1,[1,"cy","*","gs"],"+","cx"]],[13,"right",[8,[7,[7,"gradientLayout","$"],"srcBuf"],[1,"idx","+",[6,"d.u32",[[5,"1"]]]]]],[13,"left",[8,[7,[7,"gradientLayout","$"],"srcBuf"],[1,"idx","-",[6,"d.u32",[[5,"1"]]]]]],[13,"down",[8,[7,[7,"gradientLayout","$"],"srcBuf"],[1,"idx","+","gs"]]],[13,"up",[8,[7,[7,"gradientLayout","$"],"srcBuf"],[1,"idx","-","gs"]]],[13,"dx",[1,[1,"right","-","left"],"*",[5,"0.5"]]],[13,"dy",[1,[1,"down","-","up"],"*",[5,"0.5"]]],[6,"std.textureStore",[[7,[7,"gradientLayout","$"],"dispTex"],[6,"d.vec2u",["cx","cy"]],[6,"d.vec4f",["dx","dy",[5,"0"],[5,"1"]]]]]]]]]]},externals:{"d.u32":()=>R,gridMax:()=>r,resolution:()=>e,gradientLayout:()=>n,"std.textureStore":()=>jr,"d.vec2u":()=>Ge,"d.vec4f":()=>x}})&&d.f)({})).$name(`waveFieldGradient_${e}`)};return xb.set(e,i),i}function sG(e,t){let{gpu:s,registerComputeTexture:r,getCpuValue:o,onCleanup:n,onResize:i,dimensions:d}=e,c=s?.root;if(!c)return null;let{resolution:_,dampingProp:u,radiusProp:m,radiusScale:p,speedMax:y,teleportGuard:h="on"}=t,{propagateLayout:g,gradientLayout:w,propagateKernel:S,gradientKernel:T}=tG(_),A=_*_,P=Y3(c,a,A),U=Y3(c,a,A),D=(globalThis.__TYPEGPU_AUTONAME__??(Me=>Me))(c.createTexture({size:[_,_],format:g7}).$usage("storage","sampled"),"dispTex");n(()=>D.destroy());let O=r(D),L=(globalThis.__TYPEGPU_AUTONAME__??(Me=>Me))(c.createUniform(ut({cursorX:a,cursorY:a,cursorSpeed:a,dt:a,damping:a,radius:a,aspect:a})),"propParams"),G=Math.max(1,Math.round(d.width)),W=Math.max(1,Math.round(d.height));i(({width:Me,height:Pe})=>{G=Math.max(1,Math.round(Me)),W=Math.max(1,Math.round(Pe))});let K=[_,_],Q=yz(P,U),te=Q.groups((Me,Pe)=>c.createBindGroup(g,{readBuf:Me,writeBuf:Pe,params:L.buffer})),ee=Q.perSide(Me=>c.createBindGroup(w,{srcBuf:Me,dispTex:D})),he=qp(c,(Me=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(Me.f=((Pe,Re)=>{"use gpu";S(Pe,Re)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[6,"propagateKernel",["cx","cy"]]]]},externals:{propagateKernel:()=>S}})&&Me.f)({}),{size:K}),Ee=qp(c,(Me=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(Me.f=((Pe,Re)=>{"use gpu";T(Pe,Re)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[6,"gradientKernel",["cx","cy"]]]]},externals:{gradientKernel:()=>T}})&&Me.f)({}),{size:K}),Te=Qz(h==="off"?{teleportGuard:Number.POSITIVE_INFINITY}:{}),Ue=Date.now();return{displacement:O,getComputeNodes:Me=>{let Pe=Me,Re=Date.now(),de=Math.min(Pe.deltaTime??0,.016),je=Math.max(1,Pe.dimensions?.width??G)/Math.max(1,Pe.dimensions?.height??W),fe=o(u)??10,Ke=(o(m)??.5)*p,Ze=Te.update(Pe.pointer,de),at=Math.min(Math.sqrt(Ze.velX*Ze.velX+Ze.velY*Ze.velY),y);at>.01&&(Ue=Re);let Fe=1-fe*Kp,Ie=Fe>=1?1/0:Math.min(3e4,Math.log(1e-6)/Math.log(Math.max(Fe,.001))*16.67);if(Re-Ue>Ie)return null;L.write({cursorX:Ze.x,cursorY:Ze.y,cursorSpeed:at,dt:de,damping:fe,radius:Ke,aspect:je});let st=[he.with(te()),Ee.with(ee.written())];return Q.swap(),st}}}function rG(e,t,s={}){let{uniforms:r,propValues:o}=e,n=o.colorSpace??0;return(o.stopCount??0)>1?Tz(t,{colorsArray:r.colorsArray,positionsArray:r.positionsArray,convertedColorsArray:r.convertedColorsArray,stopCount:r.stopCount},n):we(Fv[n]??Bo,"mixColors",[r[s.colorA??"colorA"],r[s.colorB??"colorB"],t])}var SW=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(__tsover_mul(t.x,s),t.y),i=__tsover_mul(r,4);return n.mul(i).add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"scale"},{type:"i",name:"seed"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"freq",[1,"scale","*",[5,"4"]]],[10,[6,[7,[6,[7,"aspectUV","mul"],["freq"]],"add"],["seed"]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),AW=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=la(s),n=l(o.y,o.z).mul(r).mul(.012);return t.add(n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"pos"},{type:"i",name:"distortion"}],body:[0,[[13,"grad",[6,"perlin12d",["pos"]]],[13,"disp",[6,[7,[6,[7,[6,"d.vec2f",[[7,"grad","y"],[7,"grad","z"]]],"mul"],["distortion"]],"mul"],[[5,"0.012"]]]],[10,[6,[7,"uv","add"],["disp"]]]]]},externals:{perlin12d:()=>la,"d.vec2f":()=>l}})&&e.f)({})),MW=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(__tsover_mul(__tsover_sub(t,.5),__tsover_add(s,1)),.5);return $(__tsover_add(1,__tsover_mul(__tsover_sub(o,.5),__tsover_mul(r,1.1))),0,1.6)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"contrast"},{type:"i",name:"intensity"}],body:[0,[[13,"hAdj",[1,[1,[1,"h","-",[5,"0.5"]],"*",[1,"contrast","+",[5,"1"]]],"+",[5,"0.5"]]],[10,[6,"std.clamp",[[1,[5,"1"],"+",[1,[1,"hAdj","-",[5,"0.5"]],"*",[1,"intensity","*",[5,"1.1"]]]],[5,"0"],[5,"1.6"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({}));var PW=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=C(t,__tsover_sub(1,t),o>0),i=b(r,1e-4),d=__tsover_sub(__tsover_mul(s,__tsover_add(1,__tsover_mul(2,i))),i);return re(__tsover_sub(d,i),__tsover_add(d,i),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"},{type:"i",name:"progress"},{type:"i",name:"feather"},{type:"i",name:"invert"}],body:[0,[[13,"c",[6,"std.select",["coord",[1,[5,"1"],"-","coord"],[1,"invert",">",[5,"0"]]]]],[13,"f",[6,"std.max",["feather",[5,"0.0001"]]]],[13,"front",[1,[1,"progress","*",[1,[5,"1"],"+",[1,[5,"2"],"*","f"]]],"-","f"]],[10,[6,"std.smoothstep",[[1,"front","-","f"],[1,"front","+","f"],"c"]]]]]},externals:{"std.select":()=>C,"std.max":()=>b,"std.smoothstep":()=>re}})&&e.f)({})),EW=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.x,t.y,t.z,__tsover_mul(t.w,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"reveal"}],body:[0,[[10,[6,"d.vec4f",[[7,"color","x"],[7,"color","y"],[7,"color","z"],[1,[7,"color","w"],"*","reveal"]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),kW=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r,Le),n=l(H(o),Y(o)),i=se(l(__tsover_mul(__tsover_sub(t.x,.5),s),__tsover_sub(t.y,.5)),n),d=__tsover_mul(.5,__tsover_add(__tsover_mul(s,z(n.x)),z(n.y)));return __tsover_add(__tsover_div(i,__tsover_mul(2,d)),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angleDeg"}],body:[0,[[13,"a",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"dir",[6,"d.vec2f",[[6,"std.cos",["a"]],[6,"std.sin",["a"]]]]],[13,"p",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],[1,[7,"uv","y"],"-",[5,"0.5"]]]]],[13,"grad",[6,"std.dot",["p","dir"]]],[13,"ext",[1,[5,"0.5"],"*",[1,[1,"aspect","*",[6,"std.abs",[[7,"dir","x"]]]],"+",[6,"std.abs",[[7,"dir","y"]]]]]],[10,[1,[1,"grad","/",[1,[5,"2"],"*","ext"]],"+",[5,"0.5"]]]]]},externals:{DEG_TO_RAD:()=>Le,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.abs":()=>z}})&&e.f)({})),$W=v.fn([l,a,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r.x,s),n=__tsover_sub(1,r.y),i=j(l(__tsover_sub(__tsover_mul(t.x,s),o),__tsover_sub(t.y,n))),d=j(l(b(o,__tsover_sub(s,o)),b(n,__tsover_sub(1,n))));return __tsover_div(i,b(d,1e-4))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"}],body:[0,[[13,"cx",[1,[7,"center","x"],"*","aspect"]],[13,"cy",[1,[5,"1"],"-",[7,"center","y"]]],[13,"rel",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"*","aspect"],"-","cx"],[1,[7,"uv","y"],"-","cy"]]]],[13,"dist",[6,"std.length",["rel"]]],[13,"dx",[6,"std.max",["cx",[1,"aspect","-","cx"]]]],[13,"dy",[6,"std.max",["cy",[1,[5,"1"],"-","cy"]]]],[13,"maxDist",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[10,[1,"dist","/",[6,"std.max",["maxDist",[5,"0.0001"]]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.max":()=>b}})&&e.f)({})),UW=v.fn([l,a,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(__tsover_sub(t.x,r.x),s),__tsover_sub(t.y,__tsover_sub(1,r.y))),d=tt(i.y,i.x),c=__tsover_mul(o,Le),_=__tsover_div(__tsover_sub(d,c),ao);_=__tsover_sub(_,q(_));let u=__tsover_sub(1,_),m=__tsover_mul(oe(_,__tsover_sub(1,_)),2),p=C(_,u,n>.5);return p=C(p,m,n>1.5),p}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"},{type:"i",name:"startDeg"},{type:"i",name:"mode"}],body:[0,[[13,"rel",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[7,"center","x"]],"*","aspect"],[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]]]],[13,"ang",[6,"std.atan2",[[7,"rel","y"],[7,"rel","x"]]]],[13,"start",[1,"startDeg","*","DEG_TO_RAD"]],[12,"frac",[1,[1,"ang","-","start"],"/","TWO_PI"]],[2,"frac","=",[1,"frac","-",[6,"std.floor",["frac"]]]],[13,"ccwCoord",[1,[5,"1"],"-","frac"]],[13,"bothCoord",[1,[6,"std.min",["frac",[1,[5,"1"],"-","frac"]]],"*",[5,"2"]]],[12,"coord",[6,"std.select",["frac","ccwCoord",[1,"mode",">",[5,"0.5"]]]]],[2,"coord","=",[6,"std.select",["coord","bothCoord",[1,"mode",">",[5,"1.5"]]]]],[10,"coord"]]]},externals:{"d.vec2f":()=>l,"std.atan2":()=>tt,DEG_TO_RAD:()=>Le,TWO_PI:()=>ao,"std.floor":()=>q,"std.min":()=>oe,"std.select":()=>C}})&&e.f)({})),Nm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cell:l,local:l,grid:l}),"CellGrid"),sd=v.fn([l,a,a],Nm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(1,b(r,.001)),n=b(__tsover_div(o,s),1),i=__tsover_mul(t.x,o),d=__tsover_mul(t.y,n);return Nm({cell:l(q(i),q(d)),local:l(ue(i),ue(d)),grid:l(o,n)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"size"}],body:[0,[[13,"gridX",[1,[5,"1"],"/",[6,"std.max",["size",[5,"0.001"]]]]],[13,"gridY",[6,"std.max",[[1,"gridX","/","aspect"],[5,"1"]]]],[13,"sx",[1,[7,"uv","x"],"*","gridX"]],[13,"sy",[1,[7,"uv","y"],"*","gridY"]],[10,[6,"CellGrid",[[104,{cell:[6,"d.vec2f",[[6,"std.floor",["sx"]],[6,"std.floor",["sy"]]]],local:[6,"d.vec2f",[[6,"std.fract",["sx"]],[6,"std.fract",["sy"]]]],grid:[6,"d.vec2f",["gridX","gridY"]]}]]]]]]},externals:{"std.max":()=>b,CellGrid:()=>Nm,"d.vec2f":()=>l,"std.floor":()=>q,"std.fract":()=>ue}})&&e.f)({})),CW=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(z(__tsover_sub(t,.5)),2)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[1,[6,"std.abs",[[1,"t","-",[5,"0.5"]]]],"*",[5,"2"]]]]]},externals:{"std.abs":()=>z}})&&e.f)({})),RW=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return ue(__tsover_mul(t,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"count"}],body:[0,[[10,[6,"std.fract",[[1,"t","*","count"]]]]]]},externals:{"std.fract":()=>ue}})&&e.f)({})),zW=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(s,1);return $(__tsover_div(__tsover_add(q(__tsover_mul(t,r)),.5),r),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"count"}],body:[0,[[13,"n",[6,"std.max",["count",[5,"1"]]]],[10,[6,"std.clamp",[[1,[1,[6,"std.floor",[[1,"t","*","n"]]],"+",[5,"0.5"]],"/","n"],[5,"0"],[5,"1"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.floor":()=>q}})&&e.f)({})),GW=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=q(__tsover_mul(t,b(s,1)));return Gs(__tsover_add(r,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"count"}],body:[0,[[13,"idx",[6,"std.floor",[[1,"t","*",[6,"std.max",["count",[5,"1"]]]]]]],[10,[6,"hash11",[[1,"idx","+",[5,"0.5"]]]]]]]},externals:{"std.floor":()=>q,"std.max":()=>b,hash11:()=>Gs}})&&e.f)({})),YW=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=sd(t,s,r);return __tsover_add(z(__tsover_sub(o.local.x,.5)),z(__tsover_sub(o.local.y,.5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"size"}],body:[0,[[13,"g",[6,"cellGrid",["uv","aspect","size"]]],[10,[1,[6,"std.abs",[[1,[7,[7,"g","local"],"x"],"-",[5,"0.5"]]]],"+",[6,"std.abs",[[1,[7,[7,"g","local"],"y"],"-",[5,"0.5"]]]]]]]]},externals:{cellGrid:()=>sd,"std.abs":()=>z}})&&e.f)({})),LW=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=sd(t,s,r),n=__tsover_mul(ue(__tsover_mul(__tsover_add(o.cell.x,o.cell.y),.5)),2),i=__tsover_mul(__tsover_add(__tsover_div(o.cell.x,o.grid.x),__tsover_div(o.cell.y,o.grid.y)),.5);return $(__tsover_add(__tsover_mul(.5,n),__tsover_mul(.5,i)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"size"}],body:[0,[[13,"g",[6,"cellGrid",["uv","aspect","size"]]],[13,"parity",[1,[6,"std.fract",[[1,[1,[7,[7,"g","cell"],"x"],"+",[7,[7,"g","cell"],"y"]],"*",[5,"0.5"]]]],"*",[5,"2"]]],[13,"diag",[1,[1,[1,[7,[7,"g","cell"],"x"],"/",[7,[7,"g","grid"],"x"]],"+",[1,[7,[7,"g","cell"],"y"],"/",[7,[7,"g","grid"],"y"]]],"*",[5,"0.5"]]],[10,[6,"std.clamp",[[1,[1,[5,"0.5"],"*","parity"],"+",[1,[5,"0.5"],"*","diag"]],[5,"0"],[5,"1"]]]]]]},externals:{cellGrid:()=>sd,"std.fract":()=>ue,"std.clamp":()=>$}})&&e.f)({})),IW=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return Ot(sd(t,s,r).cell)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"size"}],body:[0,[[10,[6,"hash12",[[7,[6,"cellGrid",["uv","aspect","size"]],"cell"]]]]]]},externals:{hash12:()=>Ot,cellGrid:()=>sd}})&&e.f)({})),DW=v.fn([l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(__tsover_add(__tsover_mul(__tsover_mul(t.x,s),r),__tsover_mul(o,13.7)),__tsover_add(__tsover_mul(t.y,r),__tsover_mul(o,7.9))),i=Ei(n),d=__tsover_mul(Ei(l(__tsover_add(__tsover_add(__tsover_mul(n.x,2),17.3),__tsover_mul(o,3.1)),__tsover_add(__tsover_mul(n.y,2),9.1))),.5),c=__tsover_mul(Ei(l(__tsover_add(__tsover_mul(n.x,4),41.7),__tsover_add(__tsover_add(__tsover_mul(n.y,4),27.9),__tsover_mul(o,5.3)))),.25),_=__tsover_div(__tsover_add(__tsover_add(i,d),c),1.75);return $(__tsover_add(.5,__tsover_mul(_,.9)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"scale"},{type:"i",name:"seed"}],body:[0,[[13,"p",[6,"d.vec2f",[[1,[1,[1,[7,"uv","x"],"*","aspect"],"*","scale"],"+",[1,"seed","*",[5,"13.7"]]],[1,[1,[7,"uv","y"],"*","scale"],"+",[1,"seed","*",[5,"7.9"]]]]]],[13,"n1",[6,"mxNoiseFloat2",["p"]]],[13,"n2",[1,[6,"mxNoiseFloat2",[[6,"d.vec2f",[[1,[1,[1,[7,"p","x"],"*",[5,"2"]],"+",[5,"17.3"]],"+",[1,"seed","*",[5,"3.1"]]],[1,[1,[7,"p","y"],"*",[5,"2"]],"+",[5,"9.1"]]]]]],"*",[5,"0.5"]]],[13,"n3",[1,[6,"mxNoiseFloat2",[[6,"d.vec2f",[[1,[1,[7,"p","x"],"*",[5,"4"]],"+",[5,"41.7"]],[1,[1,[1,[7,"p","y"],"*",[5,"4"]],"+",[5,"27.9"]],"+",[1,"seed","*",[5,"5.3"]]]]]]],"*",[5,"0.25"]]],[13,"n",[1,[1,[1,"n1","+","n2"],"+","n3"],"/",[5,"1.75"]]],[10,[6,"std.clamp",[[1,[5,"0.5"],"+",[1,"n","*",[5,"0.9"]]],[5,"0"],[5,"1"]]]]]]},externals:{"d.vec2f":()=>l,mxNoiseFloat2:()=>Ei,"std.clamp":()=>$}})&&e.f)({})),b7=new Float32Array(1),oG=new Int32Array(b7.buffer);function Ga(e){b7[0]=Math.max(-65504,Math.min(65504,e));let t=oG[0],s=t>>16&32768,r=t>>12&2047,o=t>>23&255;return o<103?s:o>142?(s|=31744,s|=(o===255?0:1)&&t&8388607,s):o<113?(r|=2048,s|=(r>>114-o)+(r>>113-o&1),s):(s|=o-112<<10|r>>1,s+=r&1,s)}var n1=Za({ANALYTIC_SDF_EXTRA_FIELDS:()=>aG,APERTURE_TO_HALFANGLE:()=>nG,SVG_SDF_SIZE:()=>512,ShapeMask:()=>vl,analyticSubPropValues:()=>gu,arcSdf:()=>yu,buildAnalyticSdfFn:()=>Jv,circleSdf:()=>fc,createAnalyticSdfSampler:()=>P7,createSdfDataTexture:()=>Qv,createSvgSdfSampler:()=>A7,createSvgSdfSamplerWithGradients:()=>M7,crescentSdf:()=>pu,crossSdf:()=>_u,driveAnalyticSubProps:()=>k7,ellipseSdf:()=>uu,fillStrokeColor:()=>S7,flowerSdf:()=>iu,heartSdf:()=>vu,loadSdfFromUrl:()=>Zv,parallelogramSdf:()=>xu,parseShapeConfigValue:()=>E7,polygonSdf:()=>au,ringSdf:()=>cu,roundedRectSdf:()=>lu,shapeLocalCoords:()=>w7,starSdf:()=>du,strokeMaskFromSdf:()=>T7,teardropSdf:()=>hu,trapezoidSdf:()=>fu,vesicaSdf:()=>mu}),gb=3.141592653589793,rd=6.283185307179586,bb=.35355339059327373,nu=.017453292519943295,fc=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_sub(be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s))),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"}],body:[0,[[10,[1,[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]],"-","radius"]]]]},externals:{"std.sqrt":()=>be}})&&e.f)({})),au=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s))),i=tt(s,t),d=__tsover_div(rd,o),c=q(__tsover_add(__tsover_div(i,d),.5)),_=__tsover_sub(i,__tsover_mul(c,d));return __tsover_sub(__tsover_mul(n,H(_)),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"sides"}],body:[0,[[13,"len",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[13,"angle",[6,"std.atan2",["dy","dx"]]],[13,"sectorAngle",[1,"TWO_PI","/","sides"]],[13,"sectorIdx",[6,"std.floor",[[1,[1,"angle","/","sectorAngle"],"+",[5,"0.5"]]]]],[13,"canonicalAngle",[1,"angle","-",[1,"sectorIdx","*","sectorAngle"]]],[10,[1,[1,"len","*",[6,"std.cos",["canonicalAngle"]]],"-","radius"]]]]},externals:{"std.sqrt":()=>be,"std.atan2":()=>tt,TWO_PI:()=>rd,"std.floor":()=>q,"std.cos":()=>H}})&&e.f)({})),iu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=tt(s,t),d=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s))),c=__tsover_mul(r,n),_=__tsover_div(__tsover_mul(i,o),rd),u=__tsover_sub(_,q(_)),m=z(__tsover_sub(__tsover_mul(u,2),1)),p=__tsover_add(c,__tsover_mul(__tsover_sub(r,c),m));return __tsover_sub(d,p)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"outerRadius"},{type:"i",name:"sides"},{type:"i",name:"innerRatio"}],body:[0,[[13,"angle",[6,"std.atan2",["dy","dx"]]],[13,"len",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[13,"innerRadius",[1,"outerRadius","*","innerRatio"]],[13,"tAngle",[1,[1,"angle","*","sides"],"/","TWO_PI"]],[13,"tFrac",[1,"tAngle","-",[6,"std.floor",["tAngle"]]]],[13,"t",[6,"std.abs",[[1,[1,"tFrac","*",[5,"2"]],"-",[5,"1"]]]]],[13,"boundaryR",[1,"innerRadius","+",[1,[1,"outerRadius","-","innerRadius"],"*","t"]]],[10,[1,"len","-","boundaryR"]]]]},externals:{"std.atan2":()=>tt,"std.sqrt":()=>be,TWO_PI:()=>rd,"std.floor":()=>q,"std.abs":()=>z}})&&e.f)({})),du=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,n),d=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s))),c=tt(s,t),_=__tsover_div(rd,o),u=q(__tsover_add(__tsover_div(c,_),.5)),m=__tsover_sub(c,__tsover_mul(u,_)),p=z(__tsover_mul(d,Y(m))),y=__tsover_mul(d,H(m)),h=__tsover_div(gb,o),g=Y(h),w=H(h),S=__tsover_mul(i,g),T=__tsover_sub(__tsover_mul(i,w),r),A=p,P=__tsover_sub(y,r),U=__tsover_add(__tsover_mul(A,S),__tsover_mul(P,T)),D=__tsover_add(__tsover_mul(S,S),__tsover_mul(T,T)),O=$(__tsover_div(U,D),0,1),L=__tsover_sub(p,__tsover_mul(S,O)),G=__tsover_sub(y,__tsover_add(r,__tsover_mul(T,O))),W=be(__tsover_add(__tsover_mul(L,L),__tsover_mul(G,G))),K=__tsover_sub(__tsover_mul(S,P),__tsover_mul(T,A));return __tsover_mul(W,ks(K))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"outerRadius"},{type:"i",name:"sides"},{type:"i",name:"innerRatio"}],body:[0,[[13,"innerRadius",[1,"outerRadius","*","innerRatio"]],[13,"len",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[13,"angle",[6,"std.atan2",["dy","dx"]]],[13,"sectorAngle",[1,"TWO_PI","/","sides"]],[13,"sectorIdx",[6,"std.floor",[[1,[1,"angle","/","sectorAngle"],"+",[5,"0.5"]]]]],[13,"bn",[1,"angle","-",[1,"sectorIdx","*","sectorAngle"]]],[13,"fpx",[6,"std.abs",[[1,"len","*",[6,"std.sin",["bn"]]]]]],[13,"fpy",[1,"len","*",[6,"std.cos",["bn"]]]],[13,"an",[1,"PI","/","sides"]],[13,"sinAn",[6,"std.sin",["an"]]],[13,"cosAn",[6,"std.cos",["an"]]],[13,"ex",[1,"innerRadius","*","sinAn"]],[13,"ey",[1,[1,"innerRadius","*","cosAn"],"-","outerRadius"]],[13,"qx","fpx"],[13,"qy",[1,"fpy","-","outerRadius"]],[13,"dotQE",[1,[1,"qx","*","ex"],"+",[1,"qy","*","ey"]]],[13,"dotEE",[1,[1,"ex","*","ex"],"+",[1,"ey","*","ey"]]],[13,"t",[6,"std.clamp",[[1,"dotQE","/","dotEE"],[5,"0"],[5,"1"]]]],[13,"nx",[1,"fpx","-",[1,"ex","*","t"]]],[13,"ny",[1,"fpy","-",[1,"outerRadius","+",[1,"ey","*","t"]]]],[13,"dist",[6,"std.sqrt",[[1,[1,"nx","*","nx"],"+",[1,"ny","*","ny"]]]]],[13,"cross",[1,[1,"ex","*","qy"],"-",[1,"ey","*","qx"]]],[10,[1,"dist","*",[6,"std.sign",["cross"]]]]]]},externals:{"std.sqrt":()=>be,"std.atan2":()=>tt,TWO_PI:()=>rd,"std.floor":()=>q,"std.abs":()=>z,"std.sin":()=>Y,"std.cos":()=>H,PI:()=>gb,"std.clamp":()=>$,"std.sign":()=>ks}})&&e.f)({})),cu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s)));return __tsover_sub(z(__tsover_sub(n,r)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"thickness"}],body:[0,[[13,"len",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[10,[1,[6,"std.abs",[[1,"len","-","radius"]]],"-","thickness"]]]]},externals:{"std.sqrt":()=>be,"std.abs":()=>z}})&&e.f)({})),_u=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=z(t),d=z(s),c=b(__tsover_sub(i,r),__tsover_sub(d,o)),_=b(__tsover_sub(d,r),__tsover_sub(i,o));return __tsover_sub(oe(c,_),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"size"},{type:"i",name:"thickness"},{type:"i",name:"rounding"}],body:[0,[[13,"px",[6,"std.abs",["dx"]]],[13,"py",[6,"std.abs",["dy"]]],[13,"dHoriz",[6,"std.max",[[1,"px","-","size"],[1,"py","-","thickness"]]]],[13,"dVert",[6,"std.max",[[1,"py","-","size"],[1,"px","-","thickness"]]]],[10,[1,[6,"std.min",["dHoriz","dVert"]],"-","rounding"]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),lu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_add(__tsover_sub(z(t),r),n),d=__tsover_add(__tsover_sub(z(s),o),n),c=b(i,0),_=b(d,0),u=be(__tsover_add(__tsover_mul(c,c),__tsover_mul(_,_))),m=oe(b(i,d),0);return __tsover_sub(__tsover_add(u,m),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"width"},{type:"i",name:"height"},{type:"i",name:"rounding"}],body:[0,[[13,"qx",[1,[1,[6,"std.abs",["dx"]],"-","width"],"+","rounding"]],[13,"qy",[1,[1,[6,"std.abs",["dy"]],"-","height"],"+","rounding"]],[13,"mqx",[6,"std.max",["qx",[5,"0"]]]],[13,"mqy",[6,"std.max",["qy",[5,"0"]]]],[13,"outerDist",[6,"std.sqrt",[[1,[1,"mqx","*","mqx"],"+",[1,"mqy","*","mqy"]]]]],[13,"innerDist",[6,"std.min",[[6,"std.max",["qx","qy"]],[5,"0"]]]],[10,[1,[1,"outerDist","+","innerDist"],"-","rounding"]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.sqrt":()=>be,"std.min":()=>oe}})&&e.f)({})),uu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_div(t,r),i=__tsover_div(s,o),d=be(__tsover_add(__tsover_mul(n,n),__tsover_mul(i,i)));return __tsover_mul(__tsover_sub(d,1),oe(r,o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radiusX"},{type:"i",name:"radiusY"}],body:[0,[[13,"nx",[1,"dx","/","radiusX"]],[13,"ny",[1,"dy","/","radiusY"]],[13,"k",[6,"std.sqrt",[[1,[1,"nx","*","nx"],"+",[1,"ny","*","ny"]]]]],[10,[1,[1,"k","-",[5,"1"]],"*",[6,"std.min",["radiusX","radiusY"]]]]]]},externals:{"std.sqrt":()=>be,"std.min":()=>oe}})&&e.f)({})),mu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=z(t),i=z(s),d=__tsover_mul(r,o),c=be(b(__tsover_sub(__tsover_mul(r,r),__tsover_mul(d,d)),0)),_=__tsover_mul(__tsover_sub(i,c),d)>__tsover_mul(n,c),u=be(__tsover_add(__tsover_mul(n,n),__tsover_mul(__tsover_sub(i,c),__tsover_sub(i,c))));return C(__tsover_sub(be(__tsover_add(__tsover_mul(__tsover_add(n,d),__tsover_add(n,d)),__tsover_mul(i,i))),r),u,_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"spread"}],body:[0,[[13,"px",[6,"std.abs",["dx"]]],[13,"py",[6,"std.abs",["dy"]]],[13,"dd",[1,"radius","*","spread"]],[13,"b",[6,"std.sqrt",[[6,"std.max",[[1,[1,"radius","*","radius"],"-",[1,"dd","*","dd"]],[5,"0"]]]]]],[13,"cond",[1,[1,[1,"py","-","b"],"*","dd"],">",[1,"px","*","b"]]],[13,"dist1",[6,"std.sqrt",[[1,[1,"px","*","px"],"+",[1,[1,"py","-","b"],"*",[1,"py","-","b"]]]]]],[13,"dist2",[1,[6,"std.sqrt",[[1,[1,[1,"px","+","dd"],"*",[1,"px","+","dd"]],"+",[1,"py","*","py"]]]],"-","radius"]],[10,[6,"std.select",["dist2","dist1","cond"]]]]]},externals:{"std.abs":()=>z,"std.sqrt":()=>be,"std.max":()=>b,"std.select":()=>C}})&&e.f)({})),pu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=z(s),d=r,c=__tsover_mul(r,o),_=n,u=__tsover_div(__tsover_add(__tsover_sub(__tsover_mul(d,d),__tsover_mul(c,c)),__tsover_mul(_,_)),b(__tsover_mul(_,2),.001)),m=be(b(__tsover_sub(__tsover_mul(d,d),__tsover_mul(u,u)),0)),p=__tsover_mul(_,__tsover_sub(__tsover_mul(t,m),__tsover_mul(i,u))),y=__tsover_mul(__tsover_mul(_,_),b(__tsover_sub(m,i),0)),h=__tsover_sub(t,u),g=__tsover_sub(i,m),w=be(__tsover_add(__tsover_mul(h,h),__tsover_mul(g,g))),S=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(i,i))),T=__tsover_sub(t,_),A=be(__tsover_add(__tsover_mul(T,T),__tsover_mul(i,i)));return C(b(__tsover_sub(S,d),__tsover_mul(__tsover_sub(A,c),-1)),w,p>y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"outerRadius"},{type:"i",name:"innerRatio"},{type:"i",name:"offset"}],body:[0,[[13,"py",[6,"std.abs",["dy"]]],[13,"ra","outerRadius"],[13,"rb",[1,"outerRadius","*","innerRatio"]],[13,"off","offset"],[13,"a",[1,[1,[1,[1,"ra","*","ra"],"-",[1,"rb","*","rb"]],"+",[1,"off","*","off"]],"/",[6,"std.max",[[1,"off","*",[5,"2"]],[5,"0.001"]]]]],[13,"bSq",[6,"std.max",[[1,[1,"ra","*","ra"],"-",[1,"a","*","a"]],[5,"0"]]]],[13,"b",[6,"std.sqrt",["bSq"]]],[13,"lhs",[1,"off","*",[1,[1,"dx","*","b"],"-",[1,"py","*","a"]]]],[13,"rhs",[1,[1,"off","*","off"],"*",[6,"std.max",[[1,"b","-","py"],[5,"0"]]]]],[13,"d1x",[1,"dx","-","a"]],[13,"d1y",[1,"py","-","b"]],[13,"dist1",[6,"std.sqrt",[[1,[1,"d1x","*","d1x"],"+",[1,"d1y","*","d1y"]]]]],[13,"lenP",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"py","*","py"]]]]],[13,"innerX",[1,"dx","-","off"]],[13,"lenInner",[6,"std.sqrt",[[1,[1,"innerX","*","innerX"],"+",[1,"py","*","py"]]]]],[13,"dist2",[6,"std.max",[[1,"lenP","-","ra"],[1,[1,"lenInner","-","rb"],"*",[4,"-",[5,"1"]]]]]],[10,[6,"std.select",["dist2","dist1",[1,"lhs",">","rhs"]]]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.sqrt":()=>be,"std.select":()=>C}})&&e.f)({})),fu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=z(t),d=o,c=n,_=__tsover_sub(o,r),u=__tsover_mul(n,2),m=C(o,r,s<0),p=__tsover_sub(i,oe(i,m)),y=__tsover_sub(z(s),n),h=__tsover_sub(d,i),g=__tsover_sub(c,s),w=__tsover_add(__tsover_mul(h,_),__tsover_mul(g,u)),S=b(__tsover_add(__tsover_mul(_,_),__tsover_mul(u,u)),1e-4),T=$(__tsover_div(w,S),0,1),A=__tsover_add(__tsover_sub(i,d),__tsover_mul(_,T)),P=__tsover_add(__tsover_sub(s,c),__tsover_mul(u,T)),U=C(a(1),a(-1),y<0),D=C(a(1),U,A<0),O=__tsover_add(__tsover_mul(p,p),__tsover_mul(y,y)),L=__tsover_add(__tsover_mul(A,A),__tsover_mul(P,P));return __tsover_mul(D,be(oe(O,L)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"r1"},{type:"i",name:"r2"},{type:"i",name:"he"}],body:[0,[[13,"px",[6,"std.abs",["dx"]]],[13,"k1x","r2"],[13,"k1y","he"],[13,"k2x",[1,"r2","-","r1"]],[13,"k2y",[1,"he","*",[5,"2"]]],[13,"clampWidth",[6,"std.select",["r2","r1",[1,"dy","<",[5,"0"]]]]],[13,"cax",[1,"px","-",[6,"std.min",["px","clampWidth"]]]],[13,"cay",[1,[6,"std.abs",["dy"]],"-","he"]],[13,"diffX",[1,"k1x","-","px"]],[13,"diffY",[1,"k1y","-","dy"]],[13,"dotNum",[1,[1,"diffX","*","k2x"],"+",[1,"diffY","*","k2y"]]],[13,"dotDen",[6,"std.max",[[1,[1,"k2x","*","k2x"],"+",[1,"k2y","*","k2y"]],[5,"0.0001"]]]],[13,"t",[6,"std.clamp",[[1,"dotNum","/","dotDen"],[5,"0"],[5,"1"]]]],[13,"cbx",[1,[1,"px","-","k1x"],"+",[1,"k2x","*","t"]]],[13,"cby",[1,[1,"dy","-","k1y"],"+",[1,"k2y","*","t"]]],[13,"sInner",[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"d.f32",[[4,"-",[5,"1"]]]],[1,"cay","<",[5,"0"]]]]],[13,"s",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"sInner",[1,"cbx","<",[5,"0"]]]]],[13,"dca",[1,[1,"cax","*","cax"],"+",[1,"cay","*","cay"]]],[13,"dcb",[1,[1,"cbx","*","cbx"],"+",[1,"cby","*","cby"]]],[10,[1,"s","*",[6,"std.sqrt",[[6,"std.min",["dca","dcb"]]]]]]]]},externals:{"std.abs":()=>z,"std.select":()=>C,"std.min":()=>oe,"std.max":()=>b,"std.clamp":()=>$,"d.f32":()=>a,"std.sqrt":()=>be}})&&e.f)({})),vu=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(r,.75),n=__tsover_div(z(t),o),i=__tsover_add(__tsover_div(__tsover_mul(s,-1),o),.6),d=__tsover_sub(n,.25),c=__tsover_sub(i,.75),_=__tsover_sub(be(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c))),bb),u=__tsover_sub(i,1),m=__tsover_add(__tsover_mul(n,n),__tsover_mul(u,u)),p=__tsover_mul(b(__tsover_add(n,i),0),.5),y=__tsover_sub(n,p),h=__tsover_sub(i,p),g=__tsover_add(__tsover_mul(y,y),__tsover_mul(h,h)),w=__tsover_mul(be(oe(m,g)),ks(__tsover_sub(n,i)));return __tsover_mul(C(w,_,__tsover_add(n,i)>1),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"}],body:[0,[[13,"S",[1,"radius","/",[5,"0.75"]]],[13,"px",[1,[6,"std.abs",["dx"]],"/","S"]],[13,"py",[1,[1,[1,"dy","*",[4,"-",[5,"1"]]],"/","S"],"+",[5,"0.6"]]],[13,"ax",[1,"px","-",[5,"0.25"]]],[13,"ay",[1,"py","-",[5,"0.75"]]],[13,"distA",[1,[6,"std.sqrt",[[1,[1,"ax","*","ax"],"+",[1,"ay","*","ay"]]]],"-","SQRT2_OVER_4"]],[13,"b1y",[1,"py","-",[5,"1"]]],[13,"dot1",[1,[1,"px","*","px"],"+",[1,"b1y","*","b1y"]]],[13,"m",[1,[6,"std.max",[[1,"px","+","py"],[5,"0"]]],"*",[5,"0.5"]]],[13,"b2x",[1,"px","-","m"]],[13,"b2y",[1,"py","-","m"]],[13,"dot2v",[1,[1,"b2x","*","b2x"],"+",[1,"b2y","*","b2y"]]],[13,"distB",[1,[6,"std.sqrt",[[6,"std.min",["dot1","dot2v"]]]],"*",[6,"std.sign",[[1,"px","-","py"]]]]],[10,[1,[6,"std.select",["distB","distA",[1,[1,"px","+","py"],">",[5,"1"]]]],"*","S"]]]]},externals:{"std.abs":()=>z,"std.sqrt":()=>be,SQRT2_OVER_4:()=>bb,"std.max":()=>b,"std.min":()=>oe,"std.sign":()=>ks,"std.select":()=>C}})&&e.f)({})),yu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=z(t),i=Y(o),d=H(o),c=__tsover_sub(be(__tsover_add(__tsover_mul(n,n),__tsover_mul(s,s))),r),_=$(__tsover_add(__tsover_mul(n,i),__tsover_mul(s,d)),0,r),u=__tsover_sub(n,__tsover_mul(i,_)),m=__tsover_sub(s,__tsover_mul(d,_)),p=be(__tsover_add(__tsover_mul(u,u),__tsover_mul(m,m)));return b(c,__tsover_mul(p,ks(__tsover_sub(__tsover_mul(d,n),__tsover_mul(i,s)))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"halfAngle"}],body:[0,[[13,"px",[6,"std.abs",["dx"]]],[13,"cx",[6,"std.sin",["halfAngle"]]],[13,"cy",[6,"std.cos",["halfAngle"]]],[13,"l",[1,[6,"std.sqrt",[[1,[1,"px","*","px"],"+",[1,"dy","*","dy"]]]],"-","radius"]],[13,"clamped",[6,"std.clamp",[[1,[1,"px","*","cx"],"+",[1,"dy","*","cy"]],[5,"0"],"radius"]]],[13,"mx",[1,"px","-",[1,"cx","*","clamped"]]],[13,"my",[1,"dy","-",[1,"cy","*","clamped"]]],[13,"m",[6,"std.sqrt",[[1,[1,"mx","*","mx"],"+",[1,"my","*","my"]]]]],[10,[6,"std.max",["l",[1,"m","*",[6,"std.sign",[[1,[1,"cy","*","px"],"-",[1,"cx","*","dy"]]]]]]]]]]},externals:{"std.abs":()=>z,"std.sin":()=>Y,"std.cos":()=>H,"std.sqrt":()=>be,"std.clamp":()=>$,"std.max":()=>b,"std.sign":()=>ks}})&&e.f)({})),hu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(__tsover_sub(o,r),.5),i=z(t),d=__tsover_add(__tsover_mul(s,-1),n),c=b(o,1e-4),_=__tsover_div(r,c),u=be(b(__tsover_sub(1,__tsover_mul(_,_)),0)),m=__tsover_add(__tsover_mul(i,__tsover_mul(_,-1)),__tsover_mul(d,u)),p=__tsover_sub(be(__tsover_add(__tsover_mul(i,i),__tsover_mul(d,d))),r),y=__tsover_sub(d,o),h=be(__tsover_add(__tsover_mul(i,i),__tsover_mul(y,y)));return C(C(__tsover_sub(__tsover_add(__tsover_mul(i,u),__tsover_mul(d,_)),r),h,m>__tsover_mul(u,o)),p,m<0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"h"}],body:[0,[[13,"mid",[1,[1,"h","-","radius"],"*",[5,"0.5"]]],[13,"qx",[6,"std.abs",["dx"]]],[13,"qy",[1,[1,"dy","*",[4,"-",[5,"1"]]],"+","mid"]],[13,"hSafe",[6,"std.max",["h",[5,"0.0001"]]]],[13,"b",[1,"radius","/","hSafe"]],[13,"a",[6,"std.sqrt",[[6,"std.max",[[1,[5,"1"],"-",[1,"b","*","b"]],[5,"0"]]]]]],[13,"k",[1,[1,"qx","*",[1,"b","*",[4,"-",[5,"1"]]]],"+",[1,"qy","*","a"]]],[13,"cap0",[1,[6,"std.sqrt",[[1,[1,"qx","*","qx"],"+",[1,"qy","*","qy"]]]],"-","radius"]],[13,"qyTip",[1,"qy","-","h"]],[13,"cap1",[6,"std.sqrt",[[1,[1,"qx","*","qx"],"+",[1,"qyTip","*","qyTip"]]]]],[13,"body",[1,[1,[1,"qx","*","a"],"+",[1,"qy","*","b"]],"-","radius"]],[10,[6,"std.select",[[6,"std.select",["body","cap1",[1,"k",">",[1,"a","*","h"]]]],"cap0",[1,"k","<",[5,"0"]]]]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.sqrt":()=>be,"std.select":()=>C}})&&e.f)({})),xu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=n,d=o,c=s<0,_=C(t,__tsover_mul(t,-1),c),u=C(s,__tsover_mul(s,-1),c),m=__tsover_sub(_,i),p=__tsover_sub(u,d),y=__tsover_sub(m,$(m,__tsover_mul(r,-1),r)),h=__tsover_add(__tsover_mul(y,y),__tsover_mul(p,p)),g=__tsover_mul(p,-1),w=__tsover_sub(__tsover_mul(_,d),__tsover_mul(u,i)),S=w<0,T=C(_,__tsover_mul(_,-1),S),A=C(u,__tsover_mul(u,-1),S),P=__tsover_sub(T,r),U=__tsover_add(__tsover_mul(P,i),__tsover_mul(A,d)),D=b(__tsover_add(__tsover_mul(i,i),__tsover_mul(d,d)),1e-4),O=$(__tsover_div(U,D),-1,1),L=__tsover_sub(P,__tsover_mul(i,O)),G=__tsover_sub(A,__tsover_mul(d,O)),W=oe(h,__tsover_add(__tsover_mul(L,L),__tsover_mul(G,G))),K=oe(g,__tsover_sub(__tsover_mul(r,o),z(w)));return __tsover_mul(be(W),ks(__tsover_mul(K,-1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"wi"},{type:"i",name:"he"},{type:"i",name:"sk"}],body:[0,[[13,"ex","sk"],[13,"ey","he"],[13,"flip1",[1,"dy","<",[5,"0"]]],[13,"px0",[6,"std.select",["dx",[1,"dx","*",[4,"-",[5,"1"]]],"flip1"]]],[13,"py0",[6,"std.select",["dy",[1,"dy","*",[4,"-",[5,"1"]]],"flip1"]]],[13,"wx0",[1,"px0","-","ex"]],[13,"wy",[1,"py0","-","ey"]],[13,"wx",[1,"wx0","-",[6,"std.clamp",["wx0",[1,"wi","*",[4,"-",[5,"1"]]],"wi"]]]],[13,"dX",[1,[1,"wx","*","wx"],"+",[1,"wy","*","wy"]]],[13,"dY",[1,"wy","*",[4,"-",[5,"1"]]]],[13,"s",[1,[1,"px0","*","ey"],"-",[1,"py0","*","ex"]]],[13,"flip2",[1,"s","<",[5,"0"]]],[13,"px",[6,"std.select",["px0",[1,"px0","*",[4,"-",[5,"1"]]],"flip2"]]],[13,"py",[6,"std.select",["py0",[1,"py0","*",[4,"-",[5,"1"]]],"flip2"]]],[13,"vx0",[1,"px","-","wi"]],[13,"dotve",[1,[1,"vx0","*","ex"],"+",[1,"py","*","ey"]]],[13,"dotee",[6,"std.max",[[1,[1,"ex","*","ex"],"+",[1,"ey","*","ey"]],[5,"0.0001"]]]],[13,"tt",[6,"std.clamp",[[1,"dotve","/","dotee"],[4,"-",[5,"1"]],[5,"1"]]]],[13,"vx",[1,"vx0","-",[1,"ex","*","tt"]]],[13,"vy",[1,"py","-",[1,"ey","*","tt"]]],[13,"finalX",[6,"std.min",["dX",[1,[1,"vx","*","vx"],"+",[1,"vy","*","vy"]]]]],[13,"finalY",[6,"std.min",["dY",[1,[1,"wi","*","he"],"-",[6,"std.abs",["s"]]]]]],[10,[1,[6,"std.sqrt",["finalX"]],"*",[6,"std.sign",[[1,"finalY","*",[4,"-",[5,"1"]]]]]]]]]},externals:{"std.select":()=>C,"std.clamp":()=>$,"std.max":()=>b,"std.min":()=>oe,"std.abs":()=>z,"std.sqrt":()=>be,"std.sign":()=>ks}})&&e.f)({})),w7=v.fn([l,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(__tsover_mul(r.x,o),r.y),i=l(__tsover_mul(t.x,o),__tsover_sub(1,t.y)),d=__tsover_sub(n.x,i.x),c=__tsover_sub(n.y,i.y),_=__tsover_mul(s,nu),u=H(_),m=Y(_);return l(__tsover_add(__tsover_mul(d,u),__tsover_mul(c,m)),__tsover_sub(__tsover_mul(c,u),__tsover_mul(d,m)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"rotation"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dx",[1,[7,"aspectUV","x"],"-",[7,"centerPos","x"]]],[13,"dy",[1,[7,"aspectUV","y"],"-",[7,"centerPos","y"]]],[13,"rotRad",[1,"rotation","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rdx",[1,[1,"dx","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dx","*","sinR"]]],[10,[6,"d.vec2f",["rdx","rdy"]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>nu,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),vl=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({overallMask:a,strokeBlend:a}),"ShapeMask"),T7=v.fn([a,a,a,a],vl)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=r>0,i=o>=1.5,d=o>=.5,c=__tsover_mul(r,.5),_=__tsover_mul(r,-1),u=__tsover_mul(c,-1),m=C(C(a(0),u,d),_,i),p=C(C(r,c,d),a(0),i),y=__tsover_sub(1,re(__tsover_sub(p,s),p,t)),h=re(__tsover_sub(m,s),m,t);return vl({overallMask:y,strokeBlend:C(a(0),h,n)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"softness"},{type:"i",name:"strokeThickness"},{type:"i",name:"strokePosition"}],body:[0,[[13,"hasStroke",[1,"strokeThickness",">",[5,"0"]]],[13,"isInside",[1,"strokePosition",">=",[5,"1.5"]]],[13,"isCenterOrAbove",[1,"strokePosition",">=",[5,"0.5"]]],[13,"halfThickness",[1,"strokeThickness","*",[5,"0.5"]]],[13,"negThickness",[1,"strokeThickness","*",[4,"-",[5,"1"]]]],[13,"negHalf",[1,"halfThickness","*",[4,"-",[5,"1"]]]],[13,"strokeInner",[6,"std.select",[[6,"std.select",[[6,"d.f32",[[5,"0"]]],"negHalf","isCenterOrAbove"]],"negThickness","isInside"]]],[13,"strokeOuter",[6,"std.select",[[6,"std.select",["strokeThickness","halfThickness","isCenterOrAbove"]],[6,"d.f32",[[5,"0"]]],"isInside"]]],[13,"overallMask",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"strokeOuter","-","softness"],"strokeOuter","dist"]]]],[13,"blend",[6,"std.smoothstep",[[1,"strokeInner","-","softness"],"strokeInner","dist"]]],[13,"strokeBlend",[6,"std.select",[[6,"d.f32",[[5,"0"]]],"blend","hasStroke"]]],[10,[6,"ShapeMask",[[104,{overallMask:"overallMask",strokeBlend:"strokeBlend"}]]]]]]},externals:{"std.select":()=>C,"d.f32":()=>a,"std.smoothstep":()=>re,ShapeMask:()=>vl}})&&e.f)({}));function S7(e,t,s,r){let o=we(Fv[r]??Bo,"mixColors",[t,s,e.member("strokeBlend")]);return Ws(o.member("rgb"),o.member("a").mul(e.member("overallMask")))}async function Zv(e,t){let s=await fetch(e,{mode:"cors"});if(!s.ok)throw new Error(`SDF fetch failed: HTTP ${s.status}`);let r=await s.arrayBuffer(),o=512*512;if(r.byteLength===o*2){let n=new Uint16Array(r),i=Math.min(n.length,t.length);for(let d=0;di.destroy());let d=!1,c=0;return t&&Zv(t,r).then(()=>{for(let _=0;_<262144;_++)o[_]=Ga(r[_]);d=!0}).catch(_=>Ma("[SDF] Failed to load SDF texture:",_)),e.onBeforeRender(()=>{d&&(d=!1,i.write(o),c++)}),{kitTexture:e.registerMediaTexture(()=>i.texture),texture:i,getVersion:()=>c}}function A7(e,t){let{kitTexture:s}=Qv(e,t);return r=>s.sampleLevel(r)}function M7(e,t){let o=new Float32Array(262144).fill(.5),n=new Uint16Array(262144*4),i=Ga(.5),d=Ga(1);for(let g=0;g<262144;g++)n[g*4]=i,n[g*4+3]=d;let c=e.createMediaTexture({width:512,height:512,format:"rgba16float",label:"svg-sdf-grad"});e.onCleanup(()=>c.destroy());let _=(g,w)=>{let S=Math.floor(g),T=Math.floor(w),A=g-S,P=w-T,U=W=>Math.min(Math.max(W,0),511),D=U(S),O=U(S+1),L=U(T),G=U(T+1);return o[L*512+D]*(1-A)*(1-P)+o[L*512+O]*A*(1-P)+o[G*512+D]*(1-A)*P+o[G*512+O]*A*P},u=.01,m=u*512,p=()=>{for(let g=0;g<512;g++)for(let w=0;w<512;w++){let S=g*512+w,T=o[S],A=(_(w+m,g)-T)/u,P=(_(w,g+m)-T)/u;n[S*4]=Ga(T),n[S*4+1]=Ga(A),n[S*4+2]=Ga(P)}},y=!1;t&&Zv(t,o).then(()=>{p(),y=!0}).catch(g=>Ma("[SDF] Failed to load SDF texture:",g)),e.onBeforeRender(()=>{y&&(y=!1,c.write(n))});let h=e.registerMediaTexture(()=>c.texture);return g=>h.sampleLevel(g)}var nG=.008726646259971648;function Jv(e){return v.fn([l,a,a,a,a,a,a,a,a],x)((t=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(t.f=((s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=__tsover_sub(s.x,.5),p=__tsover_sub(s.y,.5),y=__tsover_mul(d,nu),h=H(y),g=Y(y),w=__tsover_add(__tsover_mul(m,h),__tsover_mul(p,g)),S=__tsover_sub(__tsover_mul(p,h),__tsover_mul(m,g)),T=a(0);return e==="polygonSDF"?T=X(au(w,S,r,o),fc(w,S,r),n):e==="flowerSDF"?T=iu(w,S,r,o,i):e==="ringSDF"?T=cu(w,S,r,i):e==="crossSDF"?T=_u(w,S,r,i,n):e==="starSDF"?T=du(w,S,r,o,i):e==="roundedRectSDF"?T=lu(w,S,r,c,n):e==="ellipseSDF"?T=uu(w,S,r,c):e==="vesicaSDF"?T=mu(w,S,r,i):e==="crescentSDF"?T=pu(w,S,r,i,_):e==="trapezoidSDF"?T=fu(w,S,i,r,c):e==="heartSDF"?T=vu(w,S,r):e==="arcSDF"?T=yu(w,S,r,__tsover_mul(u,.008726646259971648)):e==="teardropSDF"?T=hu(w,S,r,c):e==="parallelogramSDF"?T=xu(w,S,r,c,_):T=fc(w,S,r),x(T,0,0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"r"},{type:"i",name:"n"},{type:"i",name:"round"},{type:"i",name:"inner"},{type:"i",name:"rot"},{type:"i",name:"h"},{type:"i",name:"off"},{type:"i",name:"ap"}],body:[0,[[13,"dx",[1,[7,"uv","x"],"-",[5,"0.5"]]],[13,"dy",[1,[7,"uv","y"],"-",[5,"0.5"]]],[13,"rotRad",[1,"rot","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rdx",[1,[1,"dx","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dx","*","sinR"]]],[12,"dist",[6,"d.f32",[[5,"0"]]]],[11,[1,"shapeType","===",[103,"polygonSDF"]],[2,"dist","=",[6,"std.mix",[[6,"polygonSdf",["rdx","rdy","r","n"]],[6,"circleSdf",["rdx","rdy","r"]],"round"]]],[11,[1,"shapeType","===",[103,"flowerSDF"]],[2,"dist","=",[6,"flowerSdf",["rdx","rdy","r","n","inner"]]],[11,[1,"shapeType","===",[103,"ringSDF"]],[2,"dist","=",[6,"ringSdf",["rdx","rdy","r","inner"]]],[11,[1,"shapeType","===",[103,"crossSDF"]],[2,"dist","=",[6,"crossSdf",["rdx","rdy","r","inner","round"]]],[11,[1,"shapeType","===",[103,"starSDF"]],[2,"dist","=",[6,"starSdf",["rdx","rdy","r","n","inner"]]],[11,[1,"shapeType","===",[103,"roundedRectSDF"]],[2,"dist","=",[6,"roundedRectSdf",["rdx","rdy","r","h","round"]]],[11,[1,"shapeType","===",[103,"ellipseSDF"]],[2,"dist","=",[6,"ellipseSdf",["rdx","rdy","r","h"]]],[11,[1,"shapeType","===",[103,"vesicaSDF"]],[2,"dist","=",[6,"vesicaSdf",["rdx","rdy","r","inner"]]],[11,[1,"shapeType","===",[103,"crescentSDF"]],[2,"dist","=",[6,"crescentSdf",["rdx","rdy","r","inner","off"]]],[11,[1,"shapeType","===",[103,"trapezoidSDF"]],[2,"dist","=",[6,"trapezoidSdf",["rdx","rdy","inner","r","h"]]],[11,[1,"shapeType","===",[103,"heartSDF"]],[2,"dist","=",[6,"heartSdf",["rdx","rdy","r"]]],[11,[1,"shapeType","===",[103,"arcSDF"]],[2,"dist","=",[6,"arcSdf",["rdx","rdy","r",[1,"ap","*","APERTURE_TO_HALFANGLE"]]]],[11,[1,"shapeType","===",[103,"teardropSDF"]],[2,"dist","=",[6,"teardropSdf",["rdx","rdy","r","h"]]],[11,[1,"shapeType","===",[103,"parallelogramSDF"]],[2,"dist","=",[6,"parallelogramSdf",["rdx","rdy","r","h","off"]]],[2,"dist","=",[6,"circleSdf",["rdx","rdy","r"]]]]]]]]]]]]]]]]],[10,[6,"d.vec4f",["dist",[5,"0"],[5,"0"],[5,"1"]]]]]]},externals:{DEG_TO_RAD:()=>nu,"std.cos":()=>H,"std.sin":()=>Y,"d.f32":()=>a,shapeType:()=>e,"std.mix":()=>X,polygonSdf:()=>au,circleSdf:()=>fc,flowerSdf:()=>iu,ringSdf:()=>cu,crossSdf:()=>_u,starSdf:()=>du,roundedRectSdf:()=>lu,ellipseSdf:()=>uu,vesicaSdf:()=>mu,crescentSdf:()=>pu,trapezoidSdf:()=>fu,heartSdf:()=>vu,arcSdf:()=>yu,APERTURE_TO_HALFANGLE:()=>.008726646259971648,teardropSdf:()=>hu,parallelogramSdf:()=>xu,"d.vec4f":()=>x}})&&t.f)({})).$name(`analyticSdf_${e}`)}function P7(e,t,s="none"){let r=t.radius??vt(0),o=t.sides??vt(0),n=t.rounding??vt(0),i=t.innerRatio??vt(0),d=t.rotation??vt(0),c=t.height??vt(0),_=t.offset??vt(0),u=t.aperture??vt(0),m=Jv(e);return p=>we(m,`analyticSdf_${e}`,[p,r,o,n,i,d,c,_,u])}var aG={_saRadius:{schema:a,initial:.35},_saSides:{schema:a,initial:6},_saRounding:{schema:a,initial:0},_saInnerRatio:{schema:a,initial:.4},_saRotation:{schema:a,initial:0},_saHeight:{schema:a,initial:.25},_saOffset:{schema:a,initial:.2},_saAperture:{schema:a,initial:270}};function gu(e){let t=(s,r)=>typeof s=="number"?s:r;return{radius:t(e.radius,t(e.width,t(e.bottomWidth,.35))),sides:t(e.sides,6),rounding:t(e.rounding,0),innerRatio:t(e.innerRatio,t(e.thickness,t(e.spread,t(e.topWidth,t(e.topRatio,.4))))),rotation:t(e.rotation,0),height:t(e.height,.25),offset:t(e.offset,t(e.skew,.2)),aperture:t(e.aperture,270)}}function E7(e){if(e&&typeof e=="object")return e;if(typeof e=="string")try{return JSON.parse(e)}catch{return{}}return{}}function k7(e,t){let s="",r=E7(t()),o=()=>{let i=gu(r);e.setExtraField("_saRadius",i.radius),e.setExtraField("_saSides",i.sides),e.setExtraField("_saRounding",i.rounding),e.setExtraField("_saInnerRatio",i.innerRatio),e.setExtraField("_saRotation",i.rotation),e.setExtraField("_saHeight",i.height),e.setExtraField("_saOffset",i.offset),e.setExtraField("_saAperture",i.aperture)};e.onBeforeRender(()=>{let i=t();if(i&&typeof i=="object")r=i;else if(typeof i=="string"&&i!==s){s=i;try{r=JSON.parse(i)}catch{return}}o()});let n=e.uniforms;return{radius:n._saRadius,sides:n._saSides,rounding:n._saRounding,innerRatio:n._saInnerRatio,rotation:n._saRotation,height:n._saHeight,offset:n._saOffset,aperture:n._saAperture}}var xn=512,Fa={},Zp=new Set,Qp={};function a1(e,t){return e?e in Fa?Fa[e]:(t&&(Qp[e]??=[]).push(t),Zp.has(e)||(Zp.add(e),iG(e)),null):null}async function iG(e){try{let t=await fetch(e,{mode:"cors"});if(!t.ok){Fa[e]=null;return}let s=await t.arrayBuffer(),r=xn*xn;if(s.byteLength!==r*2&&s.byteLength!==r*4){Fa[e]=null;return}let o=s.byteLength===r*2?(()=>{let _=new Uint16Array(s);return u=>_[u]/32767.5-1})():(()=>{let _=new Float32Array(s);return u=>_[u]})(),n=xn,i=xn,d=-1,c=-1;for(let _=0;_d&&(d=m),_c&&(c=_))}Fa[e]=d<0?null:{hwf:(d-n+1)/xn/2,hhf:(c-i+1)/xn/2}}catch{Fa[e]=null}finally{Zp.delete(e);let t=Qp[e];if(t){delete Qp[e];for(let s of t)s()}}}function $7(e){return!!e&&e in Fa}var wb=1/60;function Xc(e,t,s,r,o,n){if(r===0&&o===0)return[s,0];let i=200*Math.pow(.01,r),d=2*Math.sqrt(i)*(1-o*.85),c=n>wb?Math.ceil(n/wb):1,_=n/c,u=e,m=t;for(let p=0;p0?(e-s)/1e3:.016;if(s>0){let d=e-s;if(!r&&!o&&d<1e3)return{render:!1,deltaTime:i};if((r||o)&&dsetTimeout(t,16))}function z7(e){e.updateDrivers(),e.ensureComposition()&&(e.beforeRender(),e.flush(),e.render()!==!1&&e.markReady(),e.afterRender())}function G7(e){let t=null,s=n=>typeof requestAnimationFrame=="function"?requestAnimationFrame(n):setTimeout(()=>n(performance.now()),16),r=n=>{typeof cancelAnimationFrame=="function"?cancelAnimationFrame(n):clearTimeout(n)},o=()=>{e(),t!==null&&(t=s(o))};return{start(){t===null&&(t=s(o))},stop(){t!==null&&(r(t),t=null)},get running(){return t!==null}}}var Y7=["sphere3D","cube3D","torus3D","octahedron3D","cylinder3D","capsule3D","cone3D","pyramid3D","prism3D","ellipsoid3D","diamond3D","link3D","gem3D","helix3D","metaballs3D","dodecahedron3D","hemisphere3D","ribbon3D","blob3D","gyroscope3D"];function L7(e){return Y7.includes(e)}function I7(e){return e==="svgExtrude3D"}var D7={depth:.12,bevel:.02,rotX:15,rotY:30,rotZ:0};function F7(e,t){if(typeof e=="number")return e;if(e&&typeof e=="object"&&(e.type==="auto-animate"||e.type==="mouse")){let s=typeof e.outputMin=="number"?e.outputMin:t,r=typeof e.outputMax=="number"?e.outputMax:t;return Math.max(s,r)}return t}var B7={sphere3D:{radius:.35,rotX:0,rotY:0,rotZ:0},cube3D:{sizeX:.27,sizeY:.27,sizeZ:.27,rounding:.02,rotX:25,rotY:35,rotZ:0},torus3D:{radius:.3,tube:.12,rotX:55,rotY:0,rotZ:0},octahedron3D:{radius:.42,rotX:10,rotY:25,rotZ:0},cylinder3D:{radius:.22,height:.26,rounding:.02,rotX:60,rotY:0,rotZ:30},capsule3D:{radius:.16,height:.2,rotX:0,rotY:0,rotZ:35},cone3D:{radius:.3,topRadius:.02,height:.3,rotX:25,rotY:0,rotZ:15},pyramid3D:{size:.3,height:.45,rotX:-10,rotY:30,rotZ:0},prism3D:{radius:.28,height:.14,rotX:25,rotY:30,rotZ:0},ellipsoid3D:{radiusX:.38,radiusY:.22,radiusZ:.3,rotX:0,rotY:0,rotZ:20},diamond3D:{radius:.3,height:.42,rotX:15,rotY:0,rotZ:0},link3D:{radius:.18,length:.15,tube:.08,rotX:20,rotY:30,rotZ:0},gem3D:{radius:.3,height:.32,facets:8,rotX:15,rotY:0,rotZ:0},helix3D:{radius:.22,tube:.06,pitch:.16,rotX:20,rotY:0,rotZ:0},metaballs3D:{balls:4,ballRadius:.16,spread:.2,blend:.12,speed:1,rotX:0,rotY:0,rotZ:0},dodecahedron3D:{radius:.34,rotX:20,rotY:10,rotZ:0},hemisphere3D:{radius:.4,cut:0,rotX:30,rotY:0,rotZ:0},ribbon3D:{width:.15,thickness:.03,length:.38,wave:.1,waveFrequency:7,twist:140,speed:1,rotX:12,rotY:18,rotZ:0},blob3D:{radius:.3,wobble:.07,wobbliness:5,speed:1,rotX:0,rotY:0,rotZ:0},gyroscope3D:{radius:.34,width:.1,thickness:.028,rounding:.006,core:.14,speed:1,rotX:15,rotY:0,rotZ:0}};function W7(e){let t=B7[e.type]??{},s=(r,o=.3)=>F7(e[r],t[r]??o);switch(e.type){case"cube3D":return Math.hypot(s("sizeX"),s("sizeY"),s("sizeZ"))+s("rounding",0);case"torus3D":return s("radius")+s("tube");case"cylinder3D":return Math.hypot(s("radius"),s("height"))+s("rounding",0);case"capsule3D":return s("height")+s("radius");case"cone3D":return Math.hypot(Math.max(s("radius"),s("topRadius")),s("height"));case"pyramid3D":return Math.hypot(s("size")*Math.SQRT2,s("height")*.5);case"prism3D":return Math.hypot(s("radius")*1.1548,s("height"));case"ellipsoid3D":return Math.max(s("radiusX"),s("radiusY"),s("radiusZ"));case"diamond3D":return Math.max(s("radius"),s("height"));case"link3D":return s("length")+s("radius")+s("tube");case"gem3D":return Math.max(s("radius"),s("height"));case"helix3D":return Math.hypot(s("radius")+s("tube"),s("pitch")*3*.5+s("tube"));case"metaballs3D":return s("spread")+s("ballRadius",.16)+s("blend",.12);case"dodecahedron3D":return s("radius")*1.32;case"hemisphere3D":return s("radius");case"ribbon3D":return Math.hypot(s("length",.38),s("wave",.1)*1.2+Math.hypot(s("width",.15),s("thickness",.03)))+.01;case"blob3D":return s("radius",.3)+s("wobble",.07)+.02;case"gyroscope3D":return s("radius",.34)+s("thickness",.028)*.5+s("width",.1)*.5+s("rounding",.006);default:return s("radius",.35)}}var i1={propBindings:{x:{prop:"center",as:"position-x"},y:{prop:"center",as:"position-y"},rotation:{prop:"rotation",as:"degrees"}},computeBounds(e,t,s){let r=e.scale??1,o=typeof e.center?.x=="number"?e.center.x:.5,n=typeof e.center?.y=="number"?e.center.y:.5,{hwf:i,hhf:d}=Jp(e),c=r*s;return{centerXPx:o*t,centerYPx:n*s,widthPx:2*i*c,heightPx:2*d*c,rotationDeg:e.rotation??0}},writeBounds(e,t,s,r){let o={...t.center??{x:.5,y:.5},x:e.centerXPx/s,y:e.centerYPx/r},n=t.scale??1,i=cG(t)?bu(t.shape):null;if(i&&n>0)return{center:o,rotation:e.rotationDeg,shape:JSON.stringify({...i,radius:Math.max(.001,e.widthPx/(2*n*r)),height:Math.max(.001,e.heightPx/(2*n*r))})};let{hwf:d}=Jp(t);return{center:o,scale:d>0?Math.max(.01,e.widthPx/(2*d*r)):.01,rotation:e.rotationDeg}}},Hd=new Map;function bu(e){if(typeof e!="string")return e??null;if(Hd.has(e))return Hd.get(e);let t=null;try{t=JSON.parse(e)}catch{t=null}return Hd.size>=64&&Hd.clear(),Hd.set(e,t),t}function cG(e){if(e.shapeSdfUrl)return!1;let t=bu(e.shape)?.type;return t==="roundedRectSDF"||t==="ellipseSDF"}function Jp(e){if(e.shapeSdfUrl){let r=e._shapeBounds??a1(e.shapeSdfUrl),o=r&&typeof r.hwf=="number"&&typeof r.hhf=="number"?{hwf:r.hwf,hhf:r.hhf}:{hwf:.5,hhf:.5},n=e.shapeType;if(typeof n=="string"&&I7(n)){let i=bu(e.shape)??{},d=_=>F7(i[_],D7[_]??0),c=Math.hypot(o.hwf,o.hhf,d("depth")*.5)+d("bevel")+.02;return{hwf:c,hhf:c}}return o}let t=bu(e.shape);if(!t||typeof t!="object")return{hwf:.5,hhf:.5};if(typeof t.type=="string"&&L7(t.type)){let r=W7(t);return{hwf:r,hhf:r}}let s=typeof t.radius=="number"?t.radius:.35;switch(t.type){case"roundedRectSDF":case"ellipseSDF":return{hwf:s,hhf:typeof t.height=="number"?t.height:s};case"ringSDF":{let r=typeof t.thickness=="number"?t.thickness:0;return{hwf:s+r,hhf:s+r}}case"trapezoidSDF":{let r=typeof t.bottomWidth=="number"?t.bottomWidth:.3,o=typeof t.topWidth=="number"?t.topWidth:.2,n=typeof t.height=="number"?t.height:.25;return{hwf:Math.max(r,o),hhf:n}}case"vesicaSDF":{let r=typeof t.spread=="number"?Math.min(1,Math.max(0,t.spread)):.4;return{hwf:s*(1-r),hhf:s*Math.sqrt(Math.max(0,1-r*r))}}case"teardropSDF":return{hwf:s,hhf:((typeof t.height=="number"?t.height:.4)+s)/2};case"parallelogramSDF":{let r=typeof t.width=="number"?t.width:.32,o=typeof t.height=="number"?t.height:.22,n=typeof t.skew=="number"?t.skew:0;return{hwf:r+Math.abs(n),hhf:o}}default:return{hwf:s,hhf:s}}}function _G(e,t){if(e)return e;let s=t;if(typeof t=="string")try{s=JSON.parse(t)}catch{return"circleSDF"}if(s&&typeof s=="object"){let r=s.type;if(typeof r=="string"&&r)return r}return"circleSDF"}var yd=Za({HELIX_TURNS:()=>3,MAX_METABALLS:()=>8,MarchParams:()=>Cn,RotStruct:()=>Hc,SHAPE3D_DEFAULTS:()=>wu,SHAPE3D_TYPES:()=>O7,SVG3D_DEFAULTS:()=>N7,SVG3D_TYPES:()=>lG,SampleParams:()=>bf,VOLUMETRIC_FIELD_EXTRA_FIELDS:()=>yG,VOLUMETRIC_FIELD_FORMAT:()=>c1,VOLUMETRIC_FIELD_RES:()=>H7,VOLUMETRIC_FIELD_RES_MOBILE:()=>768,boxFaceUV:()=>MG,buildFieldSampleGraph:()=>vG,buildFieldSampleGraphArgs:()=>ay,buildRaymarchedField:()=>pG,buildRaymarchedFieldFn:()=>oy,buildVolumetricFieldKernel:()=>K7,buildVolumetricFieldSampler:()=>J7,capsuleSurfaceUV:()=>EG,createAnalytic2dExtrudeSetup:()=>xG,createAnalytic3dSdfSetup:()=>ew,createSvg3dSdfSetup:()=>tw,createVolumetricFieldCompute:()=>Z7,createVolumetricFieldComputeNode:()=>gG,eulerRotatePacked:()=>ws,is3dShapeType:()=>d1,isMobileGpuViewport:()=>_o,isSvg3dShapeType:()=>sy,isVolumetricShapeType:()=>V7,makeVolumetricFieldLayout:()=>ny,makeVolumetricSvgFieldLayout:()=>Q7,mobiusSurfaceUV:()=>$G,packedParamExtraFields:()=>RG,paramBoxSdf:()=>AG,paramCapsuleSdf:()=>PG,paramMobiusSdf:()=>kG,paramSphereSdf:()=>bG,paramTorusSdf:()=>TG,paramTwistedRibbonSdf:()=>UG,resolveActiveFieldRes:()=>j7,resolveShapeFieldSampler:()=>hG,resolveShapeSubProp:()=>ry,resolveVolumetricFieldRes:()=>jc,rotateVec3:()=>yl,rotateVecCpu:()=>ef,sdBicone:()=>kc,sdCappedCone:()=>af,sdCapsule:()=>nf,sdCutSphere:()=>yf,sdDodecahedron:()=>vf,sdEllipsoid:()=>_f,sdFlatBand:()=>nc,sdGem:()=>mf,sdGyroscope:()=>gf,sdHelix:()=>pf,sdHexPrism:()=>cf,sdLink:()=>lf,sdMetaballs:()=>ff,sdOctahedron:()=>rf,sdPyramid:()=>df,sdRibbon:()=>hf,sdRoundBox:()=>Ec,sdRoundCylinder:()=>of,sdSphere:()=>tf,sdTorus:()=>sf,sdWobbleBlob:()=>xf,shape3dBoundingRadius:()=>X7,shapeSubPropMax:()=>q7,smin:()=>uf,sphereSurfaceUV:()=>wG,torusSurfaceUV:()=>SG,twistedRibbonSurfaceUV:()=>CG}),Tb=3.141592653589793,Ba=6.283185307179586,O7=["sphere3D","cube3D","torus3D","octahedron3D","cylinder3D","capsule3D","cone3D","pyramid3D","prism3D","ellipsoid3D","diamond3D","link3D","gem3D","helix3D","metaballs3D","dodecahedron3D","hemisphere3D","ribbon3D","blob3D","gyroscope3D"];function d1(e){return O7.includes(e)}var lG=["svgExtrude3D"];function sy(e){return e==="svgExtrude3D"}function V7(e){return d1(e)||sy(e)}var N7={depth:.12,bevel:.02,rotX:15,rotY:30,rotZ:0},uG=e=>e<1/2.75?7.5625*e*e:e<2/2.75?(e-=1.5/2.75,7.5625*e*e+.75):e<2.5/2.75?(e-=2.25/2.75,7.5625*e*e+.9375):(e-=2.625/2.75,7.5625*e*e+.984375),mG=(e,t)=>{switch(t){case"linear":return e;case"quad":return e<.5?2*e*e:1-Math.pow(-2*e+2,2)/2;case"expo":return e===0?0:e===1?1:e<.5?Math.pow(2,20*e-10)/2:(2-Math.pow(2,-20*e+10))/2;case"bounce":return uG(e);default:return(1-Math.cos(Math.PI*e))/2}};function ry(e,t,s,r){if(typeof e=="number")return e;if(e&&typeof e=="object"){if(e.type==="auto-animate"){let o=(s.elapsed*(e.speed??1)*.2%1+1)%1,n=mG(e.mode==="loop"?o:o<.5?o*2:(1-o)*2,e.easing??e.waveform??"sine"),i=typeof e.outputMin=="number"?e.outputMin:t;return i+n*((typeof e.outputMax=="number"?e.outputMax:t)-i)}if(e.type==="mouse"){let o=e.axis==="y"?s.pointerY:s.pointerX,n=s.springs.get(r);n||(n={current:o,velocity:0},s.springs.set(r,n));let[i,d]=Xc(n.current,n.velocity,o,e.smoothing??0,e.momentum??0,s.deltaTime);n.current=i,n.velocity=d;let c=Math.max(.001,i),_=typeof e.outputMin=="number"?e.outputMin:t,u=typeof e.outputMax=="number"?e.outputMax:t,m=Math.pow(2,-(e.curve??0)*2);return _+Math.pow(c,m)*(u-_)}}return t}function q7(e,t){if(typeof e=="number")return e;if(e&&typeof e=="object"&&(e.type==="auto-animate"||e.type==="mouse")){let s=typeof e.outputMin=="number"?e.outputMin:t,r=typeof e.outputMax=="number"?e.outputMax:t;return Math.max(s,r)}return t}var wu={sphere3D:{radius:.35,rotX:0,rotY:0,rotZ:0},cube3D:{sizeX:.27,sizeY:.27,sizeZ:.27,rounding:.02,rotX:25,rotY:35,rotZ:0},torus3D:{radius:.3,tube:.12,rotX:55,rotY:0,rotZ:0},octahedron3D:{radius:.42,rotX:10,rotY:25,rotZ:0},cylinder3D:{radius:.22,height:.26,rounding:.02,rotX:60,rotY:0,rotZ:30},capsule3D:{radius:.16,height:.2,rotX:0,rotY:0,rotZ:35},cone3D:{radius:.3,topRadius:.02,height:.3,rotX:25,rotY:0,rotZ:15},pyramid3D:{size:.3,height:.45,rotX:-10,rotY:30,rotZ:0},prism3D:{radius:.28,height:.14,rotX:25,rotY:30,rotZ:0},ellipsoid3D:{radiusX:.38,radiusY:.22,radiusZ:.3,rotX:0,rotY:0,rotZ:20},diamond3D:{radius:.3,height:.42,rotX:15,rotY:0,rotZ:0},link3D:{radius:.18,length:.15,tube:.08,rotX:20,rotY:30,rotZ:0},gem3D:{radius:.3,height:.32,facets:8,rotX:15,rotY:0,rotZ:0},helix3D:{radius:.22,tube:.06,pitch:.16,rotX:20,rotY:0,rotZ:0},metaballs3D:{balls:4,ballRadius:.16,spread:.2,blend:.12,speed:1,rotX:0,rotY:0,rotZ:0},dodecahedron3D:{radius:.34,rotX:20,rotY:10,rotZ:0},hemisphere3D:{radius:.4,cut:0,rotX:30,rotY:0,rotZ:0},ribbon3D:{width:.15,thickness:.03,length:.38,wave:.1,waveFrequency:7,twist:140,speed:1,rotX:12,rotY:18,rotZ:0},blob3D:{radius:.3,wobble:.07,wobbliness:5,speed:1,rotX:0,rotY:0,rotZ:0},gyroscope3D:{radius:.34,width:.1,thickness:.028,rounding:.006,core:.14,speed:1,rotX:15,rotY:0,rotZ:0}};function X7(e){let t=wu[e.type]??{},s=(r,o=.3)=>q7(e[r],t[r]??o);switch(e.type){case"cube3D":return Math.hypot(s("sizeX"),s("sizeY"),s("sizeZ"))+s("rounding",0);case"torus3D":return s("radius")+s("tube");case"cylinder3D":return Math.hypot(s("radius"),s("height"))+s("rounding",0);case"capsule3D":return s("height")+s("radius");case"cone3D":return Math.hypot(Math.max(s("radius"),s("topRadius")),s("height"));case"pyramid3D":return Math.hypot(s("size")*Math.SQRT2,s("height")*.5);case"prism3D":return Math.hypot(s("radius")*1.1548,s("height"));case"ellipsoid3D":return Math.max(s("radiusX"),s("radiusY"),s("radiusZ"));case"diamond3D":return Math.max(s("radius"),s("height"));case"link3D":return s("length")+s("radius")+s("tube");case"gem3D":return Math.max(s("radius"),s("height"));case"helix3D":return Math.hypot(s("radius")+s("tube"),s("pitch")*3*.5+s("tube"));case"metaballs3D":return s("spread")+s("ballRadius",.16)+s("blend",.12);case"dodecahedron3D":return s("radius")*1.32;case"hemisphere3D":return s("radius");case"ribbon3D":return Math.hypot(s("length",.38),s("wave",.1)*1.2+Math.hypot(s("width",.15),s("thickness",.03)))+.01;case"blob3D":return s("radius",.3)+s("wobble",.07)+.02;case"gyroscope3D":return s("radius",.34)+s("thickness",.028)*.5+s("width",.1)*.5+s("rounding",.006);default:return s("radius",.35)}}function ef(e,t,s,r){let o=e*r.cy+s*r.sy,n=-e*r.sy+s*r.cy,i=t*r.cx-n*r.sx,d=t*r.sx+n*r.cx;return{x:o*r.cz-i*r.sz,y:o*r.sz+i*r.cz,z:d}}var tf=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(j(t),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"}],body:[0,[[10,[1,[6,"std.length",["p"]],"-","r"]]]]},externals:{"std.length":()=>j}})&&e.f)({})),Ec=v.fn([f,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_add(__tsover_sub(z(t.x),s),n),d=__tsover_add(__tsover_sub(z(t.y),r),n),c=__tsover_add(__tsover_sub(z(t.z),o),n),_=j(f(b(i,0),b(d,0),b(c,0))),u=oe(b(i,b(d,c)),0);return __tsover_sub(__tsover_add(_,u),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"hx"},{type:"i",name:"hy"},{type:"i",name:"hz"},{type:"i",name:"rounding"}],body:[0,[[13,"qx",[1,[1,[6,"std.abs",[[7,"p","x"]]],"-","hx"],"+","rounding"]],[13,"qy",[1,[1,[6,"std.abs",[[7,"p","y"]]],"-","hy"],"+","rounding"]],[13,"qz",[1,[1,[6,"std.abs",[[7,"p","z"]]],"-","hz"],"+","rounding"]],[13,"outer",[6,"std.length",[[6,"d.vec3f",[[6,"std.max",["qx",[5,"0"]]],[6,"std.max",["qy",[5,"0"]]],[6,"std.max",["qz",[5,"0"]]]]]]]],[13,"inner",[6,"std.min",[[6,"std.max",["qx",[6,"std.max",["qy","qz"]]]],[5,"0"]]]],[10,[1,[1,"outer","+","inner"],"-","rounding"]]]]},externals:{"std.abs":()=>z,"std.length":()=>j,"d.vec3f":()=>f,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),sf=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(j(l(t.x,t.z)),s);return __tsover_sub(j(l(o,t.y)),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"ringR"},{type:"i",name:"tubeR"}],body:[0,[[13,"qx",[1,[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]],"-","ringR"]],[10,[1,[6,"std.length",[[6,"d.vec2f",["qx",[7,"p","y"]]]]],"-","tubeR"]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})),rf=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_mul(__tsover_sub(__tsover_add(__tsover_add(z(t.x),z(t.y)),z(t.z)),s),.57735027)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"s"}],body:[0,[[10,[1,[1,[1,[1,[6,"std.abs",[[7,"p","x"]]],"+",[6,"std.abs",[[7,"p","y"]]]],"+",[6,"std.abs",[[7,"p","z"]]]],"-","s"],"*",[5,"0.57735027"]]]]]},externals:{"std.abs":()=>z}})&&e.f)({})),of=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_add(__tsover_sub(j(l(t.x,t.z)),s),o),i=__tsover_add(__tsover_sub(z(t.y),r),o),d=oe(b(n,i),0),c=j(l(b(n,0),b(i,0)));return __tsover_sub(__tsover_add(d,c),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"h"},{type:"i",name:"rounding"}],body:[0,[[13,"dx",[1,[1,[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]],"-","r"],"+","rounding"]],[13,"dy",[1,[1,[6,"std.abs",[[7,"p","y"]]],"-","h"],"+","rounding"]],[13,"inner",[6,"std.min",[[6,"std.max",["dx","dy"]],[5,"0"]]]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["dx",[5,"0"]]],[6,"std.max",["dy",[5,"0"]]]]]]]],[10,[1,[1,"inner","+","outer"],"-","rounding"]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.abs":()=>z,"std.min":()=>oe,"std.max":()=>b}})&&e.f)({})),nf=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=$(t.y,__tsover_mul(r,-1),r);return __tsover_sub(j(f(t.x,__tsover_sub(t.y,o),t.z)),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"h"}],body:[0,[[13,"cyc",[6,"std.clamp",[[7,"p","y"],[1,"h","*",[4,"-",[5,"1"]]],"h"]]],[10,[1,[6,"std.length",[[6,"d.vec3f",[[7,"p","x"],[1,[7,"p","y"],"-","cyc"],[7,"p","z"]]]]],"-","r"]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec3f":()=>f}})&&e.f)({})),af=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=j(l(t.x,t.z)),i=t.y,d=__tsover_sub(r,s),c=__tsover_mul(o,2),_=__tsover_sub(n,oe(n,C(r,s,i<0))),u=__tsover_sub(z(i),o),m=__tsover_add(__tsover_mul(__tsover_sub(r,n),d),__tsover_mul(__tsover_sub(o,i),c)),p=b(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c)),1e-6),y=$(__tsover_div(m,p),0,1),h=__tsover_add(__tsover_sub(n,r),__tsover_mul(d,y)),g=__tsover_add(__tsover_sub(i,o),__tsover_mul(c,y)),w=C(a(1),a(-1),u<0),S=C(a(1),w,h<0),T=__tsover_add(__tsover_mul(_,_),__tsover_mul(u,u)),A=__tsover_add(__tsover_mul(h,h),__tsover_mul(g,g));return __tsover_mul(S,be(oe(T,A)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r1"},{type:"i",name:"r2"},{type:"i",name:"h"}],body:[0,[[13,"qx",[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]]],[13,"qy",[7,"p","y"]],[13,"k2x",[1,"r2","-","r1"]],[13,"k2y",[1,"h","*",[5,"2"]]],[13,"cax",[1,"qx","-",[6,"std.min",["qx",[6,"std.select",["r2","r1",[1,"qy","<",[5,"0"]]]]]]]],[13,"cay",[1,[6,"std.abs",["qy"]],"-","h"]],[13,"dotNum",[1,[1,[1,"r2","-","qx"],"*","k2x"],"+",[1,[1,"h","-","qy"],"*","k2y"]]],[13,"dotDen",[6,"std.max",[[1,[1,"k2x","*","k2x"],"+",[1,"k2y","*","k2y"]],[5,"0.000001"]]]],[13,"t",[6,"std.clamp",[[1,"dotNum","/","dotDen"],[5,"0"],[5,"1"]]]],[13,"cbx",[1,[1,"qx","-","r2"],"+",[1,"k2x","*","t"]]],[13,"cby",[1,[1,"qy","-","h"],"+",[1,"k2y","*","t"]]],[13,"sInner",[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"d.f32",[[4,"-",[5,"1"]]]],[1,"cay","<",[5,"0"]]]]],[13,"s",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"sInner",[1,"cbx","<",[5,"0"]]]]],[13,"dca",[1,[1,"cax","*","cax"],"+",[1,"cay","*","cay"]]],[13,"dcb",[1,[1,"cbx","*","cbx"],"+",[1,"cby","*","cby"]]],[10,[1,"s","*",[6,"std.sqrt",[[6,"std.min",["dca","dcb"]]]]]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.min":()=>oe,"std.select":()=>C,"std.abs":()=>z,"std.max":()=>b,"std.clamp":()=>$,"d.f32":()=>a,"std.sqrt":()=>be}})&&e.f)({})),df=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r,.5),n=be(__tsover_add(__tsover_mul(r,r),__tsover_mul(s,s))),i=__tsover_div(__tsover_add(__tsover_mul(r,z(t.x)),__tsover_mul(s,__tsover_sub(t.y,o))),n),d=__tsover_div(__tsover_add(__tsover_mul(r,z(t.z)),__tsover_mul(s,__tsover_sub(t.y,o))),n),c=__tsover_sub(__tsover_mul(t.y,-1),o);return b(b(i,d),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"b"},{type:"i",name:"ht"}],body:[0,[[13,"h2",[1,"ht","*",[5,"0.5"]]],[13,"denom",[6,"std.sqrt",[[1,[1,"ht","*","ht"],"+",[1,"b","*","b"]]]]],[13,"dx",[1,[1,[1,"ht","*",[6,"std.abs",[[7,"p","x"]]]],"+",[1,"b","*",[1,[7,"p","y"],"-","h2"]]],"/","denom"]],[13,"dz",[1,[1,[1,"ht","*",[6,"std.abs",[[7,"p","z"]]]],"+",[1,"b","*",[1,[7,"p","y"],"-","h2"]]],"/","denom"]],[13,"dBase",[1,[1,[7,"p","y"],"*",[4,"-",[5,"1"]]],"-","h2"]],[10,[6,"std.max",[[6,"std.max",["dx","dz"]],"dBase"]]]]]},externals:{"std.sqrt":()=>be,"std.abs":()=>z,"std.max":()=>b}})&&e.f)({})),cf=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=-.8660254,n=.5,i=.57735,d=z(t.x),c=z(t.y),_=z(t.z),u=__tsover_mul(oe(__tsover_add(__tsover_mul(o,d),__tsover_mul(n,c)),0),2),m=__tsover_sub(d,__tsover_mul(u,o)),p=__tsover_sub(c,__tsover_mul(u,n)),y=$(m,__tsover_mul(__tsover_mul(i,s),-1),__tsover_mul(i,s)),h=__tsover_sub(m,y),g=__tsover_sub(p,s),w=__tsover_mul(be(__tsover_add(__tsover_mul(h,h),__tsover_mul(g,g))),ks(__tsover_sub(p,s))),S=__tsover_sub(_,r),T=oe(b(w,S),0),A=j(l(b(w,0),b(S,0)));return __tsover_add(T,A)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"he"}],body:[0,[[13,"kx",[4,"-",[5,"0.8660254"]]],[13,"ky",[5,"0.5"]],[13,"kz",[5,"0.57735"]],[13,"ax",[6,"std.abs",[[7,"p","x"]]]],[13,"ay",[6,"std.abs",[[7,"p","y"]]]],[13,"az",[6,"std.abs",[[7,"p","z"]]]],[13,"dk",[1,[6,"std.min",[[1,[1,"kx","*","ax"],"+",[1,"ky","*","ay"]],[5,"0"]]],"*",[5,"2"]]],[13,"px",[1,"ax","-",[1,"dk","*","kx"]]],[13,"py",[1,"ay","-",[1,"dk","*","ky"]]],[13,"cx",[6,"std.clamp",["px",[1,[1,"kz","*","r"],"*",[4,"-",[5,"1"]]],[1,"kz","*","r"]]]],[13,"ex",[1,"px","-","cx"]],[13,"ey",[1,"py","-","r"]],[13,"dHex",[1,[6,"std.sqrt",[[1,[1,"ex","*","ex"],"+",[1,"ey","*","ey"]]]],"*",[6,"std.sign",[[1,"py","-","r"]]]]],[13,"dZ",[1,"az","-","he"]],[13,"inner",[6,"std.min",[[6,"std.max",["dHex","dZ"]],[5,"0"]]]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["dHex",[5,"0"]]],[6,"std.max",["dZ",[5,"0"]]]]]]]],[10,[1,"inner","+","outer"]]]]},externals:{"std.abs":()=>z,"std.min":()=>oe,"std.clamp":()=>$,"std.sqrt":()=>be,"std.sign":()=>ks,"std.max":()=>b,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})),_f=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=j(f(__tsover_div(t.x,s),__tsover_div(t.y,r),__tsover_div(t.z,o))),i=j(f(__tsover_div(t.x,__tsover_mul(s,s)),__tsover_div(t.y,__tsover_mul(r,r)),__tsover_div(t.z,__tsover_mul(o,o))));return __tsover_div(__tsover_mul(n,__tsover_sub(n,1)),b(i,1e-6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rx"},{type:"i",name:"ry"},{type:"i",name:"rz"}],body:[0,[[13,"k0",[6,"std.length",[[6,"d.vec3f",[[1,[7,"p","x"],"/","rx"],[1,[7,"p","y"],"/","ry"],[1,[7,"p","z"],"/","rz"]]]]]],[13,"k1",[6,"std.length",[[6,"d.vec3f",[[1,[7,"p","x"],"/",[1,"rx","*","rx"]],[1,[7,"p","y"],"/",[1,"ry","*","ry"]],[1,[7,"p","z"],"/",[1,"rz","*","rz"]]]]]]],[10,[1,[1,"k0","*",[1,"k0","-",[5,"1"]]],"/",[6,"std.max",["k1",[5,"0.000001"]]]]]]]},externals:{"std.length":()=>j,"d.vec3f":()=>f,"std.max":()=>b}})&&e.f)({})),kc=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=j(l(t.x,t.z)),n=z(t.y),i=__tsover_mul(s,-1),d=r,c=__tsover_sub(o,s),_=n,u=b(__tsover_add(__tsover_mul(i,i),__tsover_mul(d,d)),1e-6),m=$(__tsover_div(__tsover_add(__tsover_mul(c,i),__tsover_mul(_,d)),u),0,1),p=__tsover_sub(c,__tsover_mul(i,m)),y=__tsover_sub(_,__tsover_mul(d,m)),h=be(__tsover_add(__tsover_mul(p,p),__tsover_mul(y,y)));return __tsover_mul(h,ks(__tsover_sub(__tsover_add(__tsover_mul(r,o),__tsover_mul(s,n)),__tsover_mul(s,r))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"h"}],body:[0,[[13,"qx",[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]]],[13,"qy",[6,"std.abs",[[7,"p","y"]]]],[13,"abx",[1,"r","*",[4,"-",[5,"1"]]]],[13,"aby","h"],[13,"apx",[1,"qx","-","r"]],[13,"apy","qy"],[13,"den",[6,"std.max",[[1,[1,"abx","*","abx"],"+",[1,"aby","*","aby"]],[5,"0.000001"]]]],[13,"t",[6,"std.clamp",[[1,[1,[1,"apx","*","abx"],"+",[1,"apy","*","aby"]],"/","den"],[5,"0"],[5,"1"]]]],[13,"dxx",[1,"apx","-",[1,"abx","*","t"]]],[13,"dyy",[1,"apy","-",[1,"aby","*","t"]]],[13,"dist",[6,"std.sqrt",[[1,[1,"dxx","*","dxx"],"+",[1,"dyy","*","dyy"]]]]],[10,[1,"dist","*",[6,"std.sign",[[1,[1,[1,"h","*","qx"],"+",[1,"r","*","qy"]],"-",[1,"r","*","h"]]]]]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.abs":()=>z,"std.max":()=>b,"std.clamp":()=>$,"std.sqrt":()=>be,"std.sign":()=>ks}})&&e.f)({})),lf=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(__tsover_sub(z(t.y),s),0),i=__tsover_sub(j(l(t.x,n)),r);return __tsover_sub(j(l(i,t.z)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"le"},{type:"i",name:"r1"},{type:"i",name:"r2"}],body:[0,[[13,"qy",[6,"std.max",[[1,[6,"std.abs",[[7,"p","y"]]],"-","le"],[5,"0"]]]],[13,"ring",[1,[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],"qy"]]]],"-","r1"]],[10,[1,[6,"std.length",[[6,"d.vec2f",["ring",[7,"p","z"]]]]],"-","r2"]]]]},externals:{"std.max":()=>b,"std.abs":()=>z,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})),uf=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=$(__tsover_add(__tsover_mul(__tsover_div(__tsover_sub(s,t),r),.5),.5),0,1);return __tsover_sub(X(s,t,o),__tsover_mul(__tsover_mul(r,o),__tsover_sub(1,o)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"k"}],body:[0,[[13,"h",[6,"std.clamp",[[1,[1,[1,[1,"b","-","a"],"/","k"],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[10,[1,[6,"std.mix",["b","a","h"]],"-",[1,[1,"k","*","h"],"*",[1,[5,"1"],"-","h"]]]]]]},externals:{"std.clamp":()=>$,"std.mix":()=>X}})&&e.f)({})),mf=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=kc(t,s,r),i=j(l(t.x,t.z)),d=tt(t.z,t.x),c=__tsover_div(Ba,o),_=q(__tsover_add(__tsover_div(d,c),.5)),u=__tsover_sub(d,__tsover_mul(_,c)),m=__tsover_mul(s,H(__tsover_div(Tb,o)));return b(b(n,__tsover_sub(__tsover_mul(i,H(u)),m)),__tsover_sub(t.y,__tsover_mul(r,.45)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"h"},{type:"i",name:"sides"}],body:[0,[[13,"base",[6,"sdBicone",["p","r","h"]]],[13,"lenXZ",[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]]],[13,"ang",[6,"std.atan2",[[7,"p","z"],[7,"p","x"]]]],[13,"sector",[1,"TWO_PI","/","sides"]],[13,"idx",[6,"std.floor",[[1,[1,"ang","/","sector"],"+",[5,"0.5"]]]]],[13,"ca",[1,"ang","-",[1,"idx","*","sector"]]],[13,"ri",[1,"r","*",[6,"std.cos",[[1,"PI","/","sides"]]]]],[13,"facet",[1,[1,"lenXZ","*",[6,"std.cos",["ca"]]],"-","ri"]],[13,"dd",[6,"std.max",["base","facet"]]],[13,"table",[1,[7,"p","y"],"-",[1,"h","*",[5,"0.45"]]]],[10,[6,"std.max",["dd","table"]]]]]},externals:{sdBicone:()=>kc,"std.length":()=>j,"d.vec2f":()=>l,"std.atan2":()=>tt,TWO_PI:()=>Ba,"std.floor":()=>q,"std.cos":()=>H,PI:()=>Tb,"std.max":()=>b}})&&e.f)({})),pf=v.fn([f,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=tt(t.z,t.x),d=q(__tsover_add(__tsover_sub(__tsover_div(t.y,o),__tsover_div(i,Ba)),.5)),c=__tsover_add(i,__tsover_mul(Ba,d)),_=__tsover_mul(s,H(c)),u=__tsover_div(__tsover_mul(o,c),Ba),m=__tsover_mul(s,Y(c));return b(__tsover_sub(j(f(__tsover_sub(t.x,_),__tsover_sub(t.y,u),__tsover_sub(t.z,m))),r),__tsover_sub(z(t.y),__tsover_mul(__tsover_mul(o,n),.5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"R"},{type:"i",name:"tube"},{type:"i",name:"pitch"},{type:"i",name:"turns"}],body:[0,[[13,"psi",[6,"std.atan2",[[7,"p","z"],[7,"p","x"]]]],[13,"k",[6,"std.floor",[[1,[1,[1,[7,"p","y"],"/","pitch"],"-",[1,"psi","/","TWO_PI"]],"+",[5,"0.5"]]]]],[13,"theta",[1,"psi","+",[1,"TWO_PI","*","k"]]],[13,"ccx",[1,"R","*",[6,"std.cos",["theta"]]]],[13,"ccy",[1,[1,"pitch","*","theta"],"/","TWO_PI"]],[13,"ccz",[1,"R","*",[6,"std.sin",["theta"]]]],[13,"dStrand",[1,[6,"std.length",[[6,"d.vec3f",[[1,[7,"p","x"],"-","ccx"],[1,[7,"p","y"],"-","ccy"],[1,[7,"p","z"],"-","ccz"]]]]],"-","tube"]],[13,"slab",[1,[6,"std.abs",[[7,"p","y"]]],"-",[1,[1,"pitch","*","turns"],"*",[5,"0.5"]]]],[10,[6,"std.max",["dStrand","slab"]]]]]},externals:{"std.atan2":()=>tt,"std.floor":()=>q,TWO_PI:()=>Ba,"std.cos":()=>H,"std.sin":()=>Y,"std.length":()=>j,"d.vec3f":()=>f,"std.abs":()=>z,"std.max":()=>b}})&&e.f)({})),Sb=pt(f,8),Ab=8,ff=v.fn([f,f,f,f,f,f,f,f,f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=Sb();p[0]=f(s),p[1]=f(r),p[2]=f(o),p[3]=f(n),p[4]=f(i),p[5]=f(d),p[6]=f(c),p[7]=f(_);let y=__tsover_sub(j(t.sub(p[0])),u);for(let h=1;hSb,"d.vec3f":()=>f,"std.length":()=>j,METABALL_COUNT:()=>Ab,smin:()=>uf}})&&e.f)({})),vf=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=f(z(t.x),z(t.y),z(t.z)),o=se(r,f(0,.5257311,.8506508)),n=se(r,f(.8506508,0,.5257311)),i=se(r,f(.5257311,.8506508,0));return __tsover_sub(b(b(o,n),i),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"}],body:[0,[[13,"q",[6,"d.vec3f",[[6,"std.abs",[[7,"p","x"]]],[6,"std.abs",[[7,"p","y"]]],[6,"std.abs",[[7,"p","z"]]]]]],[13,"a",[6,"std.dot",["q",[6,"d.vec3f",[[5,"0"],[5,"0.5257311"],[5,"0.8506508"]]]]]],[13,"b",[6,"std.dot",["q",[6,"d.vec3f",[[5,"0.8506508"],[5,"0"],[5,"0.5257311"]]]]]],[13,"c",[6,"std.dot",["q",[6,"d.vec3f",[[5,"0.5257311"],[5,"0.8506508"],[5,"0"]]]]]],[10,[1,[6,"std.max",[[6,"std.max",["a","b"]],"c"]],"-","r"]]]]},externals:{"d.vec3f":()=>f,"std.abs":()=>z,"std.dot":()=>se,"std.max":()=>b}})&&e.f)({})),yf=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=be(b(__tsover_sub(__tsover_mul(s,s),__tsover_mul(r,r)),0)),n=j(l(t.x,t.z)),i=t.y,d=b(__tsover_add(__tsover_mul(__tsover_mul(__tsover_sub(r,s),n),n),__tsover_mul(__tsover_mul(o,o),__tsover_sub(__tsover_add(r,s),__tsover_mul(i,2)))),__tsover_sub(__tsover_mul(r,n),__tsover_mul(o,i))),c=__tsover_sub(j(l(n,i)),s),_=__tsover_sub(r,i);return C(C(j(l(__tsover_sub(n,o),__tsover_sub(i,r))),_,nbe,"std.max":()=>b,"std.length":()=>j,"d.vec2f":()=>l,"std.select":()=>C}})&&e.f)({})),hf=v.fn([f,a,a,a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=__tsover_mul(n,Y(__tsover_add(__tsover_mul(i,t.x),d))),y=__tsover_mul(__tsover_mul(n,.6),Y(__tsover_add(__tsover_mul(__tsover_mul(i,.8),t.x),c))),h=__tsover_sub(t.y,p),g=__tsover_sub(t.z,y),w=__tsover_add(__tsover_mul(_,t.x),u),S=H(w),T=Y(w),A=__tsover_add(__tsover_mul(h,S),__tsover_mul(g,T)),P=__tsover_sub(__tsover_mul(g,S),__tsover_mul(h,T)),U=__tsover_mul(r,.4),D=__tsover_add(__tsover_sub(z(A),s),U),O=__tsover_add(__tsover_sub(z(P),r),U),L=__tsover_sub(__tsover_add(j(l(b(D,0),b(O,0))),oe(b(D,O),0)),U),G=__tsover_sub(z(t.x),o),W=__tsover_add(j(l(b(L,0),b(G,0))),oe(b(L,G),0));return __tsover_mul(W,m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"w"},{type:"i",name:"th"},{type:"i",name:"len"},{type:"i",name:"amp"},{type:"i",name:"freq"},{type:"i",name:"ph1"},{type:"i",name:"ph2"},{type:"i",name:"twRate"},{type:"i",name:"twPh"},{type:"i",name:"lip"}],body:[0,[[13,"yc",[1,"amp","*",[6,"std.sin",[[1,[1,"freq","*",[7,"p","x"]],"+","ph1"]]]]],[13,"zc",[1,[1,"amp","*",[5,"0.6"]],"*",[6,"std.sin",[[1,[1,[1,"freq","*",[5,"0.8"]],"*",[7,"p","x"]],"+","ph2"]]]]],[13,"qy",[1,[7,"p","y"],"-","yc"]],[13,"qz",[1,[7,"p","z"],"-","zc"]],[13,"ang",[1,[1,"twRate","*",[7,"p","x"]],"+","twPh"]],[13,"c",[6,"std.cos",["ang"]]],[13,"s",[6,"std.sin",["ang"]]],[13,"ry",[1,[1,"qy","*","c"],"+",[1,"qz","*","s"]]],[13,"rz",[1,[1,"qz","*","c"],"-",[1,"qy","*","s"]]],[13,"round",[1,"th","*",[5,"0.4"]]],[13,"bx",[1,[1,[6,"std.abs",["ry"]],"-","w"],"+","round"]],[13,"by",[1,[1,[6,"std.abs",["rz"]],"-","th"],"+","round"]],[13,"d2",[1,[1,[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["bx",[5,"0"]]],[6,"std.max",["by",[5,"0"]]]]]]],"+",[6,"std.min",[[6,"std.max",["bx","by"]],[5,"0"]]]],"-","round"]],[13,"dx",[1,[6,"std.abs",[[7,"p","x"]]],"-","len"]],[13,"dd",[1,[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["d2",[5,"0"]]],[6,"std.max",["dx",[5,"0"]]]]]]],"+",[6,"std.min",[[6,"std.max",["d2","dx"]],[5,"0"]]]]],[10,[1,"dd","*","lip"]]]]},externals:{"std.sin":()=>Y,"std.cos":()=>H,"std.abs":()=>z,"std.length":()=>j,"d.vec2f":()=>l,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),xf=v.fn([f,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(t.x,o),n)),Y(__tsover_add(__tsover_mul(__tsover_mul(t.y,o),1.3),i))),__tsover_mul(Y(__tsover_add(__tsover_mul(__tsover_mul(t.y,o),.8),__tsover_mul(i,1.1))),Y(__tsover_add(__tsover_mul(__tsover_mul(t.z,o),1.1),__tsover_mul(n,.9))))),_=__tsover_sub(__tsover_sub(j(t),s),__tsover_mul(__tsover_mul(r,c),.5));return __tsover_mul(_,d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"amp"},{type:"i",name:"freq"},{type:"i",name:"ph1"},{type:"i",name:"ph2"},{type:"i",name:"lip"}],body:[0,[[13,"w",[1,[1,[6,"std.sin",[[1,[1,[7,"p","x"],"*","freq"],"+","ph1"]]],"*",[6,"std.sin",[[1,[1,[1,[7,"p","y"],"*","freq"],"*",[5,"1.3"]],"+","ph2"]]]],"+",[1,[6,"std.sin",[[1,[1,[1,[7,"p","y"],"*","freq"],"*",[5,"0.8"]],"+",[1,"ph2","*",[5,"1.1"]]]]],"*",[6,"std.sin",[[1,[1,[1,[7,"p","z"],"*","freq"],"*",[5,"1.1"]],"+",[1,"ph1","*",[5,"0.9"]]]]]]]],[13,"dd",[1,[1,[6,"std.length",["p"]],"-","r"],"-",[1,[1,"amp","*","w"],"*",[5,"0.5"]]]],[10,[1,"dd","*","lip"]]]]},externals:{"std.sin":()=>Y,"std.length":()=>j}})&&e.f)({})),nc=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_add(__tsover_sub(z(__tsover_sub(t,r)),o),i),c=__tsover_add(__tsover_sub(z(s),n),i),_=j(l(b(d,0),b(c,0))),u=oe(b(d,c),0);return __tsover_sub(__tsover_add(_,u),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"radialDist"},{type:"i",name:"axialDist"},{type:"i",name:"R"},{type:"i",name:"ht"},{type:"i",name:"hw"},{type:"i",name:"rnd"}],body:[0,[[13,"bx",[1,[1,[6,"std.abs",[[1,"radialDist","-","R"]]],"-","ht"],"+","rnd"]],[13,"by",[1,[1,[6,"std.abs",["axialDist"]],"-","hw"],"+","rnd"]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["bx",[5,"0"]]],[6,"std.max",["by",[5,"0"]]]]]]]],[13,"inner",[6,"std.min",[[6,"std.max",["bx","by"]],[5,"0"]]]],[10,[1,[1,"outer","+","inner"],"-","rnd"]]]]},externals:{"std.abs":()=>z,"std.length":()=>j,"d.vec2f":()=>l,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),gf=v.fn([f,a,a,a,a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p)=>{"use gpu";let y=__tsover_mul(r,.5),h=__tsover_mul(o,.5),g=__tsover_sub(j(t),i),w=__tsover_add(__tsover_mul(t.y,d),__tsover_mul(t.z,c)),S=__tsover_sub(__tsover_mul(t.z,d),__tsover_mul(t.y,c)),T=nc(j(l(t.x,S)),w,s,h,y,n),A=__tsover_sub(__tsover_mul(t.x,_),__tsover_mul(t.z,u)),P=__tsover_add(__tsover_mul(t.z,_),__tsover_mul(t.x,u)),U=nc(j(l(A,t.y)),P,__tsover_mul(s,.78),h,y,n),D=__tsover_add(__tsover_mul(t.x,m),__tsover_mul(t.y,p)),O=nc(j(l(__tsover_sub(__tsover_mul(t.y,m),__tsover_mul(t.x,p)),t.z)),D,__tsover_mul(s,.56),h,y,n);return oe(oe(g,T),oe(U,O))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"radius"},{type:"i",name:"width"},{type:"i",name:"thick"},{type:"i",name:"rnd"},{type:"i",name:"core"},{type:"i",name:"c1"},{type:"i",name:"s1"},{type:"i",name:"c2"},{type:"i",name:"s2"},{type:"i",name:"c3"},{type:"i",name:"s3"}],body:[0,[[13,"hw",[1,"width","*",[5,"0.5"]]],[13,"ht",[1,"thick","*",[5,"0.5"]]],[13,"dCore",[1,[6,"std.length",["p"]],"-","core"]],[13,"p1y",[1,[1,[7,"p","y"],"*","c1"],"+",[1,[7,"p","z"],"*","s1"]]],[13,"p1z",[1,[1,[7,"p","z"],"*","c1"],"-",[1,[7,"p","y"],"*","s1"]]],[13,"d1",[6,"sdFlatBand",[[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],"p1z"]]]],"p1y","radius","ht","hw","rnd"]]],[13,"p2x",[1,[1,[7,"p","x"],"*","c2"],"-",[1,[7,"p","z"],"*","s2"]]],[13,"p2z",[1,[1,[7,"p","z"],"*","c2"],"+",[1,[7,"p","x"],"*","s2"]]],[13,"d2",[6,"sdFlatBand",[[6,"std.length",[[6,"d.vec2f",["p2x",[7,"p","y"]]]]],"p2z",[1,"radius","*",[5,"0.78"]],"ht","hw","rnd"]]],[13,"p3x",[1,[1,[7,"p","x"],"*","c3"],"+",[1,[7,"p","y"],"*","s3"]]],[13,"p3y",[1,[1,[7,"p","y"],"*","c3"],"-",[1,[7,"p","x"],"*","s3"]]],[13,"d3",[6,"sdFlatBand",[[6,"std.length",[[6,"d.vec2f",["p3y",[7,"p","z"]]]]],"p3x",[1,"radius","*",[5,"0.56"]],"ht","hw","rnd"]]],[10,[6,"std.min",[[6,"std.min",["dCore","d1"]],[6,"std.min",["d2","d3"]]]]]]]},externals:{"std.length":()=>j,sdFlatBand:()=>nc,"d.vec2f":()=>l,"std.min":()=>oe}})&&e.f)({})),Hc=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cx:a,sx:a,cy:a,sy:a,cz:a,sz:a}),"RotStruct"),yl=v.fn([f,Hc],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_add(__tsover_mul(t.x,s.cy),__tsover_mul(t.z,s.sy)),o=__tsover_sub(__tsover_mul(t.z,s.cy),__tsover_mul(t.x,s.sy)),n=__tsover_sub(__tsover_mul(t.y,s.cx),__tsover_mul(o,s.sx)),i=__tsover_add(__tsover_mul(t.y,s.sx),__tsover_mul(o,s.cx));return f(__tsover_sub(__tsover_mul(r,s.cz),__tsover_mul(n,s.sz)),__tsover_add(__tsover_mul(r,s.sz),__tsover_mul(n,s.cz)),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"rot"}],body:[0,[[13,"x1",[1,[1,[7,"v","x"],"*",[7,"rot","cy"]],"+",[1,[7,"v","z"],"*",[7,"rot","sy"]]]],[13,"z1",[1,[1,[7,"v","z"],"*",[7,"rot","cy"]],"-",[1,[7,"v","x"],"*",[7,"rot","sy"]]]],[13,"y2",[1,[1,[7,"v","y"],"*",[7,"rot","cx"]],"-",[1,"z1","*",[7,"rot","sx"]]]],[13,"z2",[1,[1,[7,"v","y"],"*",[7,"rot","sx"]],"+",[1,"z1","*",[7,"rot","cx"]]]],[13,"x3",[1,[1,"x1","*",[7,"rot","cz"]],"-",[1,"y2","*",[7,"rot","sz"]]]],[13,"y3",[1,[1,"x1","*",[7,"rot","sz"]],"+",[1,"y2","*",[7,"rot","cz"]]]],[10,[6,"d.vec3f",["x3","y3","z2"]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({}));function oy(e,t="none",s="span"){let r=_o()?64:96,o=_o()?224:384,n=_o()?140:220;return v.fn([l,Hc,a],x)((i=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(i.f=((d,c,_)=>{"use gpu";let u=f(__tsover_sub(d.x,.5),__tsover_sub(.5,d.y),-1.2),m=f(0,0,1),p=yl(u,c),y=yl(m,c),h=Z($(__tsover_mul(_,a(n)),a(r),a(o))),g=se(p,y),w=be(b(__tsover_sub(se(p,p),__tsover_mul(g,g)),0)),S=be(b(__tsover_sub(__tsover_mul(_,_),__tsover_mul(w,w)),0)),T=b(__tsover_sub(__tsover_mul(g,-1),S),0),A=__tsover_add(__tsover_add(__tsover_mul(g,-1),S),.01),P=T,U=T,D=a(10),O=a(0);for(let Q=0;QA)break;U=P,P=__tsover_add(P,b(te,.002))}let L=D,G=a(0),W=a(0),K=__tsover_add(A,.4);if(O>.5){let Q=U,te=P;for(let Te=0;Te<10;Te++){let Ue=__tsover_mul(__tsover_add(Q,te),.5);e(p.add(y.mul(Ue)))>0?Q=Ue:te=Ue}let ee=__tsover_mul(__tsover_add(Q,te),.5),he=ee;if(s==="firstLobe"){let Te=te,Ue=__tsover_add(te,.002);for(let Re=0;Re=0||(Te=Ue,Ue=__tsover_add(Ue,b(__tsover_mul(de,-1),.002)),Ue>A))break}let Me=Te,Pe=Ue;for(let Re=0;Re<10;Re++){let de=__tsover_mul(__tsover_add(Me,Pe),.5);e(p.add(y.mul(de)))<0?Me=de:Pe=de}he=__tsover_mul(__tsover_add(Me,Pe),.5)}if(s==="span"){let Te=p.add(y.mul(A)),Ue=__tsover_add(__tsover_sub(A,T),.01),Me=a(0),Pe=a(0);for(let je=0;jeUe)break;Pe=Me,Me=__tsover_add(Me,b(fe,.002))}let Re=Pe,de=Me;for(let je=0;je<10;je++){let fe=__tsover_mul(__tsover_add(Re,de),.5);e(Te.sub(y.mul(fe)))>0?Re=fe:de=fe}he=__tsover_sub(A,__tsover_mul(__tsover_add(Re,de),.5))}let Ee=__tsover_mul(b(__tsover_sub(he,ee),0),.5);if(L=__tsover_mul(Ee,-1),K=ee,t==="raw"){let Te=p.add(y.mul(ee));G=__tsover_add(Te.x,__tsover_mul(Te.z,.7)),W=__tsover_add(Te.y,__tsover_mul(Te.z,.5))}if(t==="triplanar"){let Te=p.add(y.mul(ee)),Ue=.004,Me=__tsover_sub(e(f(__tsover_add(Te.x,Ue),Te.y,Te.z)),e(f(__tsover_sub(Te.x,Ue),Te.y,Te.z))),Pe=__tsover_sub(e(f(Te.x,__tsover_add(Te.y,Ue),Te.z)),e(f(Te.x,__tsover_sub(Te.y,Ue),Te.z))),Re=__tsover_sub(e(f(Te.x,Te.y,__tsover_add(Te.z,Ue))),e(f(Te.x,Te.y,__tsover_sub(Te.z,Ue)))),de=z(Me),je=z(Pe),fe=z(Re),Ke=l(__tsover_add(Te.y,2.17),__tsover_add(Te.z,5.31)),Ze=l(__tsover_add(Te.z,7.73),__tsover_add(Te.x,1.13)),at=C(l(Te.x,Te.y),Ze,je>=fe),Fe=C(at,C(at,Ke,de>=fe),de>=je);G=Fe.x,W=Fe.y}}return x(L,G,W,K)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fuv"},{type:"i",name:"rot"},{type:"i",name:"rBound"}],body:[0,[[13,"ro0",[6,"d.vec3f",[[1,[7,"fuv","x"],"-",[5,"0.5"]],[1,[5,"0.5"],"-",[7,"fuv","y"]],[4,"-",[5,"1.2"]]]]],[13,"rd0",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"1"]]]],[13,"ro",[6,"rotateVec3",["ro0","rot"]]],[13,"rd",[6,"rotateVec3",["rd0","rot"]]],[13,"steps",[6,"d.i32",[[6,"std.clamp",[[1,"rBound","*",[6,"d.f32",["STEP_SCALE"]]],[6,"d.f32",["STEP_MIN"]],[6,"d.f32",["STEP_MAX"]]]]]]],[13,"b",[6,"std.dot",["ro","rd"]]],[13,"perp",[6,"std.sqrt",[[6,"std.max",[[1,[6,"std.dot",["ro","ro"]],"-",[1,"b","*","b"]],[5,"0"]]]]]],[13,"halfSpan",[6,"std.sqrt",[[6,"std.max",[[1,[1,"rBound","*","rBound"],"-",[1,"perp","*","perp"]],[5,"0"]]]]]],[13,"tStart",[6,"std.max",[[1,[1,"b","*",[4,"-",[5,"1"]]],"-","halfSpan"],[5,"0"]]]],[13,"tEnd",[1,[1,[1,"b","*",[4,"-",[5,"1"]]],"+","halfSpan"],"+",[5,"0.01"]]],[12,"t","tStart"],[12,"tPrev","tStart"],[12,"minD",[6,"d.f32",[[5,"10"]]]],[12,"hit",[6,"d.f32",[[5,"0"]]]],[14,[12,"i",[5,"0"]],[1,"i","<","steps"],[102,"++","i"],[0,[[13,"p",[6,[7,"ro","add"],[[6,[7,"rd","mul"],["t"]]]]],[13,"dd",[6,"sdfFn",["p"]]],[2,"minD","=",[6,"std.min",["minD","dd"]]],[11,[1,"dd","<",[5,"0"]],[0,[[2,"hit","=",[6,"d.f32",[[5,"1"]]]],[17]]]],[11,[1,"t",">","tEnd"],[0,[[17]]]],[2,"tPrev","=","t"],[2,"t","=",[1,"t","+",[6,"std.max",["dd",[5,"0.002"]]]]]]]],[12,"fieldVal","minD"],[12,"patternU",[6,"d.f32",[[5,"0"]]]],[12,"patternV",[6,"d.f32",[[5,"0"]]]],[12,"viewDepth",[1,"tEnd","+",[5,"0.4"]]],[11,[1,"hit",">",[5,"0.5"]],[0,[[12,"eLo","tPrev"],[12,"eHi","t"],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"10"]],[102,"++","i"],[0,[[13,"mid",[1,[1,"eLo","+","eHi"],"*",[5,"0.5"]]],[13,"dm",[6,"sdfFn",[[6,[7,"ro","add"],[[6,[7,"rd","mul"],["mid"]]]]]]],[11,[1,"dm",">",[5,"0"]],[0,[[2,"eLo","=","mid"]]],[0,[[2,"eHi","=","mid"]]]]]]],[13,"tEnter",[1,[1,"eLo","+","eHi"],"*",[5,"0.5"]]],[12,"tExit","tEnter"],[11,[1,"chordMode","===",[103,"firstLobe"]],[0,[[12,"sInPrev","eHi"],[12,"sIn",[1,"eHi","+",[5,"0.002"]]],[14,[12,"i",[5,"0"]],[1,"i","<","steps"],[102,"++","i"],[0,[[13,"dd",[6,"sdfFn",[[6,[7,"ro","add"],[[6,[7,"rd","mul"],["sIn"]]]]]]],[11,[1,"dd",">=",[5,"0"]],[0,[[17]]]],[2,"sInPrev","=","sIn"],[2,"sIn","=",[1,"sIn","+",[6,"std.max",[[1,"dd","*",[4,"-",[5,"1"]]],[5,"0.002"]]]]],[11,[1,"sIn",">","tEnd"],[0,[[17]]]]]]],[12,"fLo","sInPrev"],[12,"fHi","sIn"],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"10"]],[102,"++","i"],[0,[[13,"mid",[1,[1,"fLo","+","fHi"],"*",[5,"0.5"]]],[13,"dm",[6,"sdfFn",[[6,[7,"ro","add"],[[6,[7,"rd","mul"],["mid"]]]]]]],[11,[1,"dm","<",[5,"0"]],[0,[[2,"fLo","=","mid"]]],[0,[[2,"fHi","=","mid"]]]]]]],[2,"tExit","=",[1,[1,"fLo","+","fHi"],"*",[5,"0.5"]]]]]],[11,[1,"chordMode","===",[103,"span"]],[0,[[13,"roB",[6,[7,"ro","add"],[[6,[7,"rd","mul"],["tEnd"]]]]],[13,"span",[1,[1,"tEnd","-","tStart"],"+",[5,"0.01"]]],[12,"s",[6,"d.f32",[[5,"0"]]]],[12,"sPrev",[6,"d.f32",[[5,"0"]]]],[14,[12,"i",[5,"0"]],[1,"i","<","steps"],[102,"++","i"],[0,[[13,"p",[6,[7,"roB","sub"],[[6,[7,"rd","mul"],["s"]]]]],[13,"dd",[6,"sdfFn",["p"]]],[11,[1,"dd","<",[5,"0"]],[0,[[17]]]],[11,[1,"s",">","span"],[0,[[17]]]],[2,"sPrev","=","s"],[2,"s","=",[1,"s","+",[6,"std.max",["dd",[5,"0.002"]]]]]]]],[12,"xLo","sPrev"],[12,"xHi","s"],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"10"]],[102,"++","i"],[0,[[13,"mid",[1,[1,"xLo","+","xHi"],"*",[5,"0.5"]]],[13,"dm",[6,"sdfFn",[[6,[7,"roB","sub"],[[6,[7,"rd","mul"],["mid"]]]]]]],[11,[1,"dm",">",[5,"0"]],[0,[[2,"xLo","=","mid"]]],[0,[[2,"xHi","=","mid"]]]]]]],[2,"tExit","=",[1,"tEnd","-",[1,[1,"xLo","+","xHi"],"*",[5,"0.5"]]]]]]],[13,"halfChord",[1,[6,"std.max",[[1,"tExit","-","tEnter"],[5,"0"]]],"*",[5,"0.5"]]],[2,"fieldVal","=",[1,"halfChord","*",[4,"-",[5,"1"]]]],[2,"viewDepth","=","tEnter"],[11,[1,"patternMode","===",[103,"raw"]],[0,[[13,"hp",[6,[7,"ro","add"],[[6,[7,"rd","mul"],["tEnter"]]]]],[2,"patternU","=",[1,[7,"hp","x"],"+",[1,[7,"hp","z"],"*",[5,"0.7"]]]],[2,"patternV","=",[1,[7,"hp","y"],"+",[1,[7,"hp","z"],"*",[5,"0.5"]]]]]]],[11,[1,"patternMode","===",[103,"triplanar"]],[0,[[13,"hp",[6,[7,"ro","add"],[[6,[7,"rd","mul"],["tEnter"]]]]],[13,"e2",[5,"0.004"]],[13,"nlx",[1,[6,"sdfFn",[[6,"d.vec3f",[[1,[7,"hp","x"],"+","e2"],[7,"hp","y"],[7,"hp","z"]]]]],"-",[6,"sdfFn",[[6,"d.vec3f",[[1,[7,"hp","x"],"-","e2"],[7,"hp","y"],[7,"hp","z"]]]]]]],[13,"nly",[1,[6,"sdfFn",[[6,"d.vec3f",[[7,"hp","x"],[1,[7,"hp","y"],"+","e2"],[7,"hp","z"]]]]],"-",[6,"sdfFn",[[6,"d.vec3f",[[7,"hp","x"],[1,[7,"hp","y"],"-","e2"],[7,"hp","z"]]]]]]],[13,"nlz",[1,[6,"sdfFn",[[6,"d.vec3f",[[7,"hp","x"],[7,"hp","y"],[1,[7,"hp","z"],"+","e2"]]]]],"-",[6,"sdfFn",[[6,"d.vec3f",[[7,"hp","x"],[7,"hp","y"],[1,[7,"hp","z"],"-","e2"]]]]]]],[13,"anx",[6,"std.abs",["nlx"]]],[13,"anyv",[6,"std.abs",["nly"]]],[13,"anz",[6,"std.abs",["nlz"]]],[13,"branch1",[6,"d.vec2f",[[1,[7,"hp","y"],"+",[5,"2.17"]],[1,[7,"hp","z"],"+",[5,"5.31"]]]]],[13,"branch2",[6,"d.vec2f",[[1,[7,"hp","z"],"+",[5,"7.73"]],[1,[7,"hp","x"],"+",[5,"1.13"]]]]],[13,"branch3",[6,"d.vec2f",[[7,"hp","x"],[7,"hp","y"]]]],[13,"branch23",[6,"std.select",["branch3","branch2",[1,"anyv",">=","anz"]]]],[13,"innerPick",[6,"std.select",["branch23","branch1",[1,"anx",">=","anz"]]]],[13,"pattern",[6,"std.select",["branch23","innerPick",[1,"anx",">=","anyv"]]]],[2,"patternU","=",[7,"pattern","x"]],[2,"patternV","=",[7,"pattern","y"]]]]]]]],[10,[6,"d.vec4f",["fieldVal","patternU","patternV","viewDepth"]]]]]},externals:{"d.vec3f":()=>f,rotateVec3:()=>yl,"d.i32":()=>Z,"std.clamp":()=>$,"d.f32":()=>a,STEP_SCALE:()=>n,STEP_MIN:()=>r,STEP_MAX:()=>o,"std.dot":()=>se,"std.sqrt":()=>be,"std.max":()=>b,sdfFn:()=>e,"std.min":()=>oe,chordMode:()=>s,patternMode:()=>t,"std.abs":()=>z,"d.vec2f":()=>l,"std.select":()=>C,"d.vec4f":()=>x}})&&i.f)({})).$name("raymarchedField")}function pG(e,t="none",s="span"){return oy(e,t,s)}var c1="rgba32float",H7=1536;function jc(){return _o()?768:H7}var fG=[256,320,384,512,640,768,896,1024,1280,1536];function j7(e,t,s,r,o,n){if(!(r>0)||!(s>0))return o;let i=_o()?.5:1,d=Math.max(e,t)*s*r*i,c=o;for(let _ of fG){if(_>o)break;if(_>=d){c=_;break}}return n>0&&cn*.78&&(c=Math.min(n,o)),c}var Cn=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({rot:n5(16,a5(32,Hc)),rBound:a,spanX:a,spanY:a,originX:a,originY:a,activeRes:R,pA:a,pB:a,pC:a,pD:a,mb0:f,mb1:f,mb2:f,mb3:f,mb4:f,mb5:f,mb6:f,mb7:f}),"MarchParams");function ny(){return{layout:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({field:{storageTexture:Mo(c1,"write-only")},params:{uniform:Cn}}),"layout"),MarchParams:Cn}}function K7(e,t){return v.fn([R,R])((s=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(s.f=((r,o)=>{"use gpu";let n=e.$.params,i=a(n.activeRes),d=t(l(__tsover_add(n.originX,__tsover_mul(__tsover_div(__tsover_add(a(r),.5),i),n.spanX)),__tsover_add(n.originY,__tsover_mul(__tsover_div(__tsover_add(a(o),.5),i),n.spanY))),n.rot,n.rBound);jr(e.$.field,Ge(r,o),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"p",[7,[7,"layout","$"],"params"]],[13,"activeResF",[6,"d.f32",[[7,"p","activeRes"]]]],[13,"uv",[6,"d.vec2f",[[1,[7,"p","originX"],"+",[1,[1,[1,[6,"d.f32",["cx"]],"+",[5,"0.5"]],"/","activeResF"],"*",[7,"p","spanX"]]],[1,[7,"p","originY"],"+",[1,[1,[1,[6,"d.f32",["cy"]],"+",[5,"0.5"]],"/","activeResF"],"*",[7,"p","spanY"]]]]]],[13,"field",[6,"marchFn",["uv",[7,"p","rot"],[7,"p","rBound"]]]],[6,"std.textureStore",[[7,[7,"layout","$"],"field"],[6,"d.vec2u",["cx","cy"]],"field"]]]]},externals:{layout:()=>e,"d.f32":()=>a,"d.vec2f":()=>l,marchFn:()=>t,"std.textureStore":()=>jr,"d.vec2u":()=>Ge}})&&s.f)({})).$name("volumetricFieldMarch")}var bf=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({originX:a,originY:a,spanX:a,spanY:a,activeResF:a,rBound:a}),"SampleParams");function vG(){let e=(globalThis.__TYPEGPU_AUTONAME__??(s=>s))(v.bindGroupLayout({field:{texture:ps(a),sampleType:"unfilterable-float"},params:{uniform:bf}}),"sampleLayout"),t=v.fn([a,a],x)((s=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(s.f=((r,o)=>{"use gpu";let n=__tsover_sub(e.$.params.activeResF,1),i=R($(r,a(0),n)),d=R($(o,a(0),n));return Be(e.$.field,Ge(i,d),0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"xi"},{type:"i",name:"yi"}],body:[0,[[13,"maxT",[1,[7,[7,[7,"sampleLayout","$"],"params"],"activeResF"],"-",[5,"1"]]],[13,"tx",[6,"d.u32",[[6,"std.clamp",["xi",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"ty",[6,"d.u32",[[6,"std.clamp",["yi",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[10,[6,"std.textureLoad",[[7,[7,"sampleLayout","$"],"field"],[6,"d.vec2u",["tx","ty"]],[5,"0"]]]]]]},externals:{sampleLayout:()=>e,"d.u32":()=>R,"std.clamp":()=>$,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge}})&&s.f)({})).$name("fieldFetchTexel");return{sampleLayout:e,fieldSample:v.fn([l],x)((s=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(s.f=(r=>{"use gpu";let o=e.$.params,n=$(r.x,o.originX,__tsover_add(o.originX,o.spanX)),i=$(r.y,o.originY,__tsover_add(o.originY,o.spanY)),d=j(l(__tsover_sub(r.x,n),__tsover_sub(r.y,i))),c=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(n,o.originX),o.spanX),o.activeResF),.5),_=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(i,o.originY),o.spanY),o.activeResF),.5),u=q(c),m=q(_),p=__tsover_sub(c,u),y=__tsover_sub(_,m),h=__tsover_mul(p,p),g=__tsover_mul(h,p),w=__tsover_sub(__tsover_add(__tsover_mul(g,-.5),h),__tsover_mul(p,.5)),S=__tsover_add(__tsover_sub(__tsover_mul(g,1.5),__tsover_mul(h,2.5)),1),T=__tsover_add(__tsover_add(__tsover_mul(g,-1.5),__tsover_mul(h,2)),__tsover_mul(p,.5)),A=__tsover_sub(__tsover_mul(g,.5),__tsover_mul(h,.5)),P=__tsover_mul(y,y),U=__tsover_mul(P,y),D=__tsover_sub(__tsover_add(__tsover_mul(U,-.5),P),__tsover_mul(y,.5)),O=__tsover_add(__tsover_sub(__tsover_mul(U,1.5),__tsover_mul(P,2.5)),1),L=__tsover_add(__tsover_add(__tsover_mul(U,-1.5),__tsover_mul(P,2)),__tsover_mul(y,.5)),G=__tsover_sub(__tsover_mul(U,.5),__tsover_mul(P,.5)),W=t(__tsover_sub(u,1),__tsover_sub(m,1)),K=t(u,__tsover_sub(m,1)),Q=t(__tsover_add(u,1),__tsover_sub(m,1)),te=t(__tsover_add(u,2),__tsover_sub(m,1)),ee=t(__tsover_sub(u,1),m),he=t(u,m),Ee=t(__tsover_add(u,1),m),Te=t(__tsover_add(u,2),m),Ue=t(__tsover_sub(u,1),__tsover_add(m,1)),Me=t(u,__tsover_add(m,1)),Pe=t(__tsover_add(u,1),__tsover_add(m,1)),Re=t(__tsover_add(u,2),__tsover_add(m,1)),de=t(__tsover_sub(u,1),__tsover_add(m,2)),je=t(u,__tsover_add(m,2)),fe=t(__tsover_add(u,1),__tsover_add(m,2)),Ke=t(__tsover_add(u,2),__tsover_add(m,2)),Ze=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(W.r,w),D),__tsover_mul(__tsover_mul(K.r,S),D)),__tsover_mul(__tsover_mul(Q.r,T),D)),__tsover_mul(__tsover_mul(te.r,A),D)),__tsover_mul(__tsover_mul(ee.r,w),O)),__tsover_mul(__tsover_mul(he.r,S),O)),__tsover_mul(__tsover_mul(Ee.r,T),O)),__tsover_mul(__tsover_mul(Te.r,A),O)),__tsover_mul(__tsover_mul(Ue.r,w),L)),__tsover_mul(__tsover_mul(Me.r,S),L)),__tsover_mul(__tsover_mul(Pe.r,T),L)),__tsover_mul(__tsover_mul(Re.r,A),L)),__tsover_mul(__tsover_mul(de.r,w),G)),__tsover_mul(__tsover_mul(je.r,S),G)),__tsover_mul(__tsover_mul(fe.r,T),G)),__tsover_mul(__tsover_mul(Ke.r,A),G)),at=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(W.a,w),D),__tsover_mul(__tsover_mul(K.a,S),D)),__tsover_mul(__tsover_mul(Q.a,T),D)),__tsover_mul(__tsover_mul(te.a,A),D)),__tsover_mul(__tsover_mul(ee.a,w),O)),__tsover_mul(__tsover_mul(he.a,S),O)),__tsover_mul(__tsover_mul(Ee.a,T),O)),__tsover_mul(__tsover_mul(Te.a,A),O)),__tsover_mul(__tsover_mul(Ue.a,w),L)),__tsover_mul(__tsover_mul(Me.a,S),L)),__tsover_mul(__tsover_mul(Pe.a,T),L)),__tsover_mul(__tsover_mul(Re.a,A),L)),__tsover_mul(__tsover_mul(de.a,w),G)),__tsover_mul(__tsover_mul(je.a,S),G)),__tsover_mul(__tsover_mul(fe.a,T),G)),__tsover_mul(__tsover_mul(Ke.a,A),G)),Fe=X(X(he,Ee,p),X(Me,Pe,p),y),Ie=oe(oe(he.r,Ee.r),oe(Me.r,Pe.r)),st=b(b(he.r,Ee.r),b(Me.r,Pe.r)),Xe=$(at,oe(oe(he.a,Ee.a),oe(Me.a,Pe.a)),b(b(he.a,Ee.a),b(Me.a,Pe.a))),We=__tsover_add($(Ze,Ie,st),d);return x(X(We,b(__tsover_sub(j(l(__tsover_sub(r.x,.5),__tsover_sub(r.y,.5))),o.rBound),We),re(a(0),.25,d)),Fe.g,Fe.b,Xe)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"p",[7,[7,"sampleLayout","$"],"params"]],[13,"uxc",[6,"std.clamp",[[7,"uv","x"],[7,"p","originX"],[1,[7,"p","originX"],"+",[7,"p","spanX"]]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],[7,"p","originY"],[1,[7,"p","originY"],"+",[7,"p","spanY"]]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-",[7,"p","originX"]],"/",[7,"p","spanX"]],"*",[7,"p","activeResF"]],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-",[7,"p","originY"]],"/",[7,"p","spanY"]],"*",[7,"p","activeResF"]],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"tx2",[1,"fx","*","fx"]],[13,"tx3",[1,"tx2","*","fx"]],[13,"wx0",[1,[1,[1,"tx3","*",[4,"-",[5,"0.5"]]],"+","tx2"],"-",[1,"fx","*",[5,"0.5"]]]],[13,"wx1",[1,[1,[1,"tx3","*",[5,"1.5"]],"-",[1,"tx2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wx2",[1,[1,[1,"tx3","*",[4,"-",[5,"1.5"]]],"+",[1,"tx2","*",[5,"2"]]],"+",[1,"fx","*",[5,"0.5"]]]],[13,"wx3",[1,[1,"tx3","*",[5,"0.5"]],"-",[1,"tx2","*",[5,"0.5"]]]],[13,"ty2",[1,"fy","*","fy"]],[13,"ty3",[1,"ty2","*","fy"]],[13,"wy0",[1,[1,[1,"ty3","*",[4,"-",[5,"0.5"]]],"+","ty2"],"-",[1,"fy","*",[5,"0.5"]]]],[13,"wy1",[1,[1,[1,"ty3","*",[5,"1.5"]],"-",[1,"ty2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wy2",[1,[1,[1,"ty3","*",[4,"-",[5,"1.5"]]],"+",[1,"ty2","*",[5,"2"]]],"+",[1,"fy","*",[5,"0.5"]]]],[13,"wy3",[1,[1,"ty3","*",[5,"0.5"]],"-",[1,"ty2","*",[5,"0.5"]]]],[13,"k00",[6,"fetchTexel",[[1,"x0","-",[5,"1"]],[1,"y0","-",[5,"1"]]]]],[13,"k01",[6,"fetchTexel",["x0",[1,"y0","-",[5,"1"]]]]],[13,"k02",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],[1,"y0","-",[5,"1"]]]]],[13,"k03",[6,"fetchTexel",[[1,"x0","+",[5,"2"]],[1,"y0","-",[5,"1"]]]]],[13,"k10",[6,"fetchTexel",[[1,"x0","-",[5,"1"]],"y0"]]],[13,"k11",[6,"fetchTexel",["x0","y0"]]],[13,"k12",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],"y0"]]],[13,"k13",[6,"fetchTexel",[[1,"x0","+",[5,"2"]],"y0"]]],[13,"k20",[6,"fetchTexel",[[1,"x0","-",[5,"1"]],[1,"y0","+",[5,"1"]]]]],[13,"k21",[6,"fetchTexel",["x0",[1,"y0","+",[5,"1"]]]]],[13,"k22",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],[1,"y0","+",[5,"1"]]]]],[13,"k23",[6,"fetchTexel",[[1,"x0","+",[5,"2"]],[1,"y0","+",[5,"1"]]]]],[13,"k30",[6,"fetchTexel",[[1,"x0","-",[5,"1"]],[1,"y0","+",[5,"2"]]]]],[13,"k31",[6,"fetchTexel",["x0",[1,"y0","+",[5,"2"]]]]],[13,"k32",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],[1,"y0","+",[5,"2"]]]]],[13,"k33",[6,"fetchTexel",[[1,"x0","+",[5,"2"]],[1,"y0","+",[5,"2"]]]]],[13,"rAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","r"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","r"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","r"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","r"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","r"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","r"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","r"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","r"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","r"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","r"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","r"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","r"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","r"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","r"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","r"],"*","wx3"],"*","wy3"]]],[13,"aAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","a"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","a"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","a"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","a"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","a"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","a"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","a"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","a"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","a"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","a"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","a"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","a"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","a"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","a"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","a"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","a"],"*","wx3"],"*","wy3"]]],[13,"bl",[6,"std.mix",[[6,"std.mix",["k11","k12","fx"]],[6,"std.mix",["k21","k22","fx"]],"fy"]]],[13,"rMin",[6,"std.min",[[6,"std.min",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.min",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"rMax",[6,"std.max",[[6,"std.max",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.max",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"aMin",[6,"std.min",[[6,"std.min",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.min",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aMax",[6,"std.max",[[6,"std.max",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.max",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aOut",[6,"std.clamp",["aAcc","aMin","aMax"]]],[13,"rNear",[1,[6,"std.clamp",["rAcc","rMin","rMax"]],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-",[7,"p","rBound"]]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"bl","g"],[7,"bl","b"],"aOut"]]]]]},externals:{sampleLayout:()=>e,"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,fetchTexel:()=>t,"std.mix":()=>X,"std.min":()=>oe,"std.max":()=>b,"std.smoothstep":()=>re,"d.f32":()=>a,"d.vec4f":()=>x}})&&s.f)({})).$name("fieldSample"),fieldSampleFast:v.fn([l],x)((s=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(s.f=(r=>{"use gpu";let o=e.$.params,n=$(r.x,o.originX,__tsover_add(o.originX,o.spanX)),i=$(r.y,o.originY,__tsover_add(o.originY,o.spanY)),d=j(l(__tsover_sub(r.x,n),__tsover_sub(r.y,i))),c=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(n,o.originX),o.spanX),o.activeResF),.5),_=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(i,o.originY),o.spanY),o.activeResF),.5),u=q(c),m=q(_),p=__tsover_sub(c,u),y=__tsover_sub(_,m),h=t(u,m),g=t(__tsover_add(u,1),m),w=t(u,__tsover_add(m,1)),S=t(__tsover_add(u,1),__tsover_add(m,1)),T=X(X(h,g,p),X(w,S,p),y),A=__tsover_add(T.r,d);return x(X(A,b(__tsover_sub(j(l(__tsover_sub(r.x,.5),__tsover_sub(r.y,.5))),o.rBound),A),re(a(0),.25,d)),T.g,T.b,T.a)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"p",[7,[7,"sampleLayout","$"],"params"]],[13,"uxc",[6,"std.clamp",[[7,"uv","x"],[7,"p","originX"],[1,[7,"p","originX"],"+",[7,"p","spanX"]]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],[7,"p","originY"],[1,[7,"p","originY"],"+",[7,"p","spanY"]]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-",[7,"p","originX"]],"/",[7,"p","spanX"]],"*",[7,"p","activeResF"]],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-",[7,"p","originY"]],"/",[7,"p","spanY"]],"*",[7,"p","activeResF"]],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"t00",[6,"fetchTexel",["x0","y0"]]],[13,"t10",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],"y0"]]],[13,"t01",[6,"fetchTexel",["x0",[1,"y0","+",[5,"1"]]]]],[13,"t11",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],[1,"y0","+",[5,"1"]]]]],[13,"bl",[6,"std.mix",[[6,"std.mix",["t00","t10","fx"]],[6,"std.mix",["t01","t11","fx"]],"fy"]]],[13,"rNear",[1,[7,"bl","r"],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-",[7,"p","rBound"]]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"bl","g"],[7,"bl","b"],[7,"bl","a"]]]]]]},externals:{sampleLayout:()=>e,"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,fetchTexel:()=>t,"std.mix":()=>X,"std.max":()=>b,"std.smoothstep":()=>re,"d.f32":()=>a,"d.vec4f":()=>x}})&&s.f)({})).$name("fieldSampleFast"),SampleParams:bf}}function Z7(e,t,s,r,o={}){let n=jc(),i=(globalThis.__TYPEGPU_AUTONAME__??(m=>m))(e.createTexture({size:[n,n],format:c1}).$usage("storage","sampled"),"fieldTexture"),d=o.paramsUniform??e.createUniform(Cn);r(()=>i.destroy());let c=e.createBindGroup(t,{field:i,params:d.buffer,...o.sdfSourceTexture?{sdfSource:o.sdfSourceTexture}:{}}),_=qp(e,(m=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(m.f=((p,y)=>{"use gpu";s(p,y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[6,"kernel",["cx","cy"]]]]},externals:{kernel:()=>s}})&&m.f)({}),{bindGroup:c});for(let m of o.extraBindGroups??[])_=_.with(m);let u=n;return{computeStep:_,fieldTexture:i,maxRes:n,get activeRes(){return u},writeParams(m){d.write(m)},dispatch(m){u=m,_.dispatchThreads(m,m)}}}function Q7(){return{layout:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({field:{storageTexture:Mo(c1,"write-only")},params:{uniform:Cn},sdfSource:{texture:ps(a)}}),"layout"),MarchParams:Cn}}function ay(){return{fieldSampleArg:v.fn([l,ps(a),a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=$(t.x,r,__tsover_add(r,n)),u=$(t.y,o,__tsover_add(o,i)),m=j(l(__tsover_sub(t.x,_),__tsover_sub(t.y,u))),p=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(_,r),n),d),.5),y=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(u,o),i),d),.5),h=q(p),g=q(y),w=__tsover_sub(p,h),S=__tsover_sub(y,g),T=__tsover_mul(w,w),A=__tsover_mul(T,w),P=__tsover_sub(__tsover_add(__tsover_mul(A,-.5),T),__tsover_mul(w,.5)),U=__tsover_add(__tsover_sub(__tsover_mul(A,1.5),__tsover_mul(T,2.5)),1),D=__tsover_add(__tsover_add(__tsover_mul(A,-1.5),__tsover_mul(T,2)),__tsover_mul(w,.5)),O=__tsover_sub(__tsover_mul(A,.5),__tsover_mul(T,.5)),L=__tsover_mul(S,S),G=__tsover_mul(L,S),W=__tsover_sub(__tsover_add(__tsover_mul(G,-.5),L),__tsover_mul(S,.5)),K=__tsover_add(__tsover_sub(__tsover_mul(G,1.5),__tsover_mul(L,2.5)),1),Q=__tsover_add(__tsover_add(__tsover_mul(G,-1.5),__tsover_mul(L,2)),__tsover_mul(S,.5)),te=__tsover_sub(__tsover_mul(G,.5),__tsover_mul(L,.5)),ee=__tsover_sub(d,1),he=R($(__tsover_sub(h,1),a(0),ee)),Ee=R($(h,a(0),ee)),Te=R($(__tsover_add(h,1),a(0),ee)),Ue=R($(__tsover_add(h,2),a(0),ee)),Me=R($(__tsover_sub(g,1),a(0),ee)),Pe=R($(g,a(0),ee)),Re=R($(__tsover_add(g,1),a(0),ee)),de=R($(__tsover_add(g,2),a(0),ee)),je=Be(s,Ge(he,Me),0),fe=Be(s,Ge(Ee,Me),0),Ke=Be(s,Ge(Te,Me),0),Ze=Be(s,Ge(Ue,Me),0),at=Be(s,Ge(he,Pe),0),Fe=Be(s,Ge(Ee,Pe),0),Ie=Be(s,Ge(Te,Pe),0),st=Be(s,Ge(Ue,Pe),0),Xe=Be(s,Ge(he,Re),0),We=Be(s,Ge(Ee,Re),0),Ve=Be(s,Ge(Te,Re),0),Ft=Be(s,Ge(Ue,Re),0),Gt=Be(s,Ge(he,de),0),os=Be(s,Ge(Ee,de),0),bs=Be(s,Ge(Te,de),0),ls=Be(s,Ge(Ue,de),0),As=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(je.r,P),W),__tsover_mul(__tsover_mul(fe.r,U),W)),__tsover_mul(__tsover_mul(Ke.r,D),W)),__tsover_mul(__tsover_mul(Ze.r,O),W)),__tsover_mul(__tsover_mul(at.r,P),K)),__tsover_mul(__tsover_mul(Fe.r,U),K)),__tsover_mul(__tsover_mul(Ie.r,D),K)),__tsover_mul(__tsover_mul(st.r,O),K)),__tsover_mul(__tsover_mul(Xe.r,P),Q)),__tsover_mul(__tsover_mul(We.r,U),Q)),__tsover_mul(__tsover_mul(Ve.r,D),Q)),__tsover_mul(__tsover_mul(Ft.r,O),Q)),__tsover_mul(__tsover_mul(Gt.r,P),te)),__tsover_mul(__tsover_mul(os.r,U),te)),__tsover_mul(__tsover_mul(bs.r,D),te)),__tsover_mul(__tsover_mul(ls.r,O),te)),vs=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(je.a,P),W),__tsover_mul(__tsover_mul(fe.a,U),W)),__tsover_mul(__tsover_mul(Ke.a,D),W)),__tsover_mul(__tsover_mul(Ze.a,O),W)),__tsover_mul(__tsover_mul(at.a,P),K)),__tsover_mul(__tsover_mul(Fe.a,U),K)),__tsover_mul(__tsover_mul(Ie.a,D),K)),__tsover_mul(__tsover_mul(st.a,O),K)),__tsover_mul(__tsover_mul(Xe.a,P),Q)),__tsover_mul(__tsover_mul(We.a,U),Q)),__tsover_mul(__tsover_mul(Ve.a,D),Q)),__tsover_mul(__tsover_mul(Ft.a,O),Q)),__tsover_mul(__tsover_mul(Gt.a,P),te)),__tsover_mul(__tsover_mul(os.a,U),te)),__tsover_mul(__tsover_mul(bs.a,D),te)),__tsover_mul(__tsover_mul(ls.a,O),te)),ys=X(X(Fe,Ie,w),X(We,Ve,w),S),Ks=oe(oe(Fe.r,Ie.r),oe(We.r,Ve.r)),yr=b(b(Fe.r,Ie.r),b(We.r,Ve.r)),Ur=$(vs,oe(oe(Fe.a,Ie.a),oe(We.a,Ve.a)),b(b(Fe.a,Ie.a),b(We.a,Ve.a))),Ms=__tsover_add($(As,Ks,yr),m);return x(X(Ms,b(__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),c),Ms),re(a(0),.25,m)),ys.g,ys.b,Ur)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"field"},{type:"i",name:"originX"},{type:"i",name:"originY"},{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"},{type:"i",name:"rBound"}],body:[0,[[13,"uxc",[6,"std.clamp",[[7,"uv","x"],"originX",[1,"originX","+","spanX"]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],"originY",[1,"originY","+","spanY"]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-","originX"],"/","spanX"],"*","activeResF"],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-","originY"],"/","spanY"],"*","activeResF"],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"tx2",[1,"fx","*","fx"]],[13,"tx3",[1,"tx2","*","fx"]],[13,"wx0",[1,[1,[1,"tx3","*",[4,"-",[5,"0.5"]]],"+","tx2"],"-",[1,"fx","*",[5,"0.5"]]]],[13,"wx1",[1,[1,[1,"tx3","*",[5,"1.5"]],"-",[1,"tx2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wx2",[1,[1,[1,"tx3","*",[4,"-",[5,"1.5"]]],"+",[1,"tx2","*",[5,"2"]]],"+",[1,"fx","*",[5,"0.5"]]]],[13,"wx3",[1,[1,"tx3","*",[5,"0.5"]],"-",[1,"tx2","*",[5,"0.5"]]]],[13,"ty2",[1,"fy","*","fy"]],[13,"ty3",[1,"ty2","*","fy"]],[13,"wy0",[1,[1,[1,"ty3","*",[4,"-",[5,"0.5"]]],"+","ty2"],"-",[1,"fy","*",[5,"0.5"]]]],[13,"wy1",[1,[1,[1,"ty3","*",[5,"1.5"]],"-",[1,"ty2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wy2",[1,[1,[1,"ty3","*",[4,"-",[5,"1.5"]]],"+",[1,"ty2","*",[5,"2"]]],"+",[1,"fy","*",[5,"0.5"]]]],[13,"wy3",[1,[1,"ty3","*",[5,"0.5"]],"-",[1,"ty2","*",[5,"0.5"]]]],[13,"maxT",[1,"activeResF","-",[5,"1"]]],[13,"cxm",[6,"d.u32",[[6,"std.clamp",[[1,"x0","-",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx0",[6,"d.u32",[[6,"std.clamp",["x0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx1",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx2",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"2"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cym",[6,"d.u32",[[6,"std.clamp",[[1,"y0","-",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy0",[6,"d.u32",[[6,"std.clamp",["y0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy1",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy2",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"2"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"k00",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cym"]],[5,"0"]]]],[13,"k01",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cym"]],[5,"0"]]]],[13,"k02",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cym"]],[5,"0"]]]],[13,"k03",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cym"]],[5,"0"]]]],[13,"k10",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy0"]],[5,"0"]]]],[13,"k11",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy0"]],[5,"0"]]]],[13,"k12",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy0"]],[5,"0"]]]],[13,"k13",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy0"]],[5,"0"]]]],[13,"k20",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy1"]],[5,"0"]]]],[13,"k21",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy1"]],[5,"0"]]]],[13,"k22",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy1"]],[5,"0"]]]],[13,"k23",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy1"]],[5,"0"]]]],[13,"k30",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy2"]],[5,"0"]]]],[13,"k31",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy2"]],[5,"0"]]]],[13,"k32",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy2"]],[5,"0"]]]],[13,"k33",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy2"]],[5,"0"]]]],[13,"rAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","r"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","r"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","r"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","r"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","r"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","r"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","r"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","r"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","r"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","r"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","r"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","r"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","r"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","r"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","r"],"*","wx3"],"*","wy3"]]],[13,"aAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","a"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","a"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","a"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","a"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","a"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","a"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","a"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","a"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","a"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","a"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","a"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","a"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","a"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","a"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","a"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","a"],"*","wx3"],"*","wy3"]]],[13,"bl",[6,"std.mix",[[6,"std.mix",["k11","k12","fx"]],[6,"std.mix",["k21","k22","fx"]],"fy"]]],[13,"rMin",[6,"std.min",[[6,"std.min",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.min",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"rMax",[6,"std.max",[[6,"std.max",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.max",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"aMin",[6,"std.min",[[6,"std.min",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.min",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aMax",[6,"std.max",[[6,"std.max",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.max",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aOut",[6,"std.clamp",["aAcc","aMin","aMax"]]],[13,"rNear",[1,[6,"std.clamp",["rAcc","rMin","rMax"]],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-","rBound"]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"bl","g"],[7,"bl","b"],"aOut"]]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,"d.u32":()=>R,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.mix":()=>X,"std.min":()=>oe,"std.max":()=>b,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({})).$name("fieldSampleArg"),fieldSampleGradArg:v.fn([l,ps(a),a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=$(t.x,r,__tsover_add(r,n)),u=$(t.y,o,__tsover_add(o,i)),m=j(l(__tsover_sub(t.x,_),__tsover_sub(t.y,u))),p=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(_,r),n),d),.5),y=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(u,o),i),d),.5),h=q(p),g=q(y),w=__tsover_sub(p,h),S=__tsover_sub(y,g),T=__tsover_mul(w,w),A=__tsover_mul(T,w),P=__tsover_sub(__tsover_add(__tsover_mul(A,-.5),T),__tsover_mul(w,.5)),U=__tsover_add(__tsover_sub(__tsover_mul(A,1.5),__tsover_mul(T,2.5)),1),D=__tsover_add(__tsover_add(__tsover_mul(A,-1.5),__tsover_mul(T,2)),__tsover_mul(w,.5)),O=__tsover_sub(__tsover_mul(A,.5),__tsover_mul(T,.5)),L=__tsover_mul(S,S),G=__tsover_mul(L,S),W=__tsover_sub(__tsover_add(__tsover_mul(G,-.5),L),__tsover_mul(S,.5)),K=__tsover_add(__tsover_sub(__tsover_mul(G,1.5),__tsover_mul(L,2.5)),1),Q=__tsover_add(__tsover_add(__tsover_mul(G,-1.5),__tsover_mul(L,2)),__tsover_mul(S,.5)),te=__tsover_sub(__tsover_mul(G,.5),__tsover_mul(L,.5)),ee=__tsover_sub(1,w),he=__tsover_mul(__tsover_mul(__tsover_mul(ee,ee),ee),.16666667),Ee=__tsover_add(__tsover_sub(__tsover_mul(A,.5),T),.66666667),Te=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(A,-.5),__tsover_mul(T,.5)),__tsover_mul(w,.5)),.16666667),Ue=__tsover_mul(A,.16666667),Me=__tsover_mul(__tsover_mul(ee,ee),-.5),Pe=__tsover_sub(__tsover_mul(T,1.5),__tsover_mul(w,2)),Re=__tsover_add(__tsover_add(__tsover_mul(T,-1.5),w),.5),de=__tsover_mul(T,.5),je=__tsover_sub(1,S),fe=__tsover_mul(__tsover_mul(__tsover_mul(je,je),je),.16666667),Ke=__tsover_add(__tsover_sub(__tsover_mul(G,.5),L),.66666667),Ze=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(G,-.5),__tsover_mul(L,.5)),__tsover_mul(S,.5)),.16666667),at=__tsover_mul(G,.16666667),Fe=__tsover_mul(__tsover_mul(je,je),-.5),Ie=__tsover_sub(__tsover_mul(L,1.5),__tsover_mul(S,2)),st=__tsover_add(__tsover_add(__tsover_mul(L,-1.5),S),.5),Xe=__tsover_mul(L,.5),We=__tsover_sub(d,1),Ve=R($(__tsover_sub(h,1),a(0),We)),Ft=R($(h,a(0),We)),Gt=R($(__tsover_add(h,1),a(0),We)),os=R($(__tsover_add(h,2),a(0),We)),bs=R($(__tsover_sub(g,1),a(0),We)),ls=R($(g,a(0),We)),As=R($(__tsover_add(g,1),a(0),We)),vs=R($(__tsover_add(g,2),a(0),We)),ys=Be(s,Ge(Ve,bs),0),Ks=Be(s,Ge(Ft,bs),0),yr=Be(s,Ge(Gt,bs),0),Ur=Be(s,Ge(os,bs),0),Ms=Be(s,Ge(Ve,ls),0),Cr=Be(s,Ge(Ft,ls),0),hr=Be(s,Ge(Gt,ls),0),mo=Be(s,Ge(os,ls),0),po=Be(s,Ge(Ve,As),0),Rr=Be(s,Ge(Ft,As),0),nr=Be(s,Ge(Gt,As),0),zr=Be(s,Ge(os,As),0),Ps=Be(s,Ge(Ve,vs),0),Gr=Be(s,Ge(Ft,vs),0),Vo=Be(s,Ge(Gt,vs),0),Qr=Be(s,Ge(os,vs),0),ci=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(ys.r,P),W),__tsover_mul(__tsover_mul(Ks.r,U),W)),__tsover_mul(__tsover_mul(yr.r,D),W)),__tsover_mul(__tsover_mul(Ur.r,O),W)),__tsover_mul(__tsover_mul(Ms.r,P),K)),__tsover_mul(__tsover_mul(Cr.r,U),K)),__tsover_mul(__tsover_mul(hr.r,D),K)),__tsover_mul(__tsover_mul(mo.r,O),K)),__tsover_mul(__tsover_mul(po.r,P),Q)),__tsover_mul(__tsover_mul(Rr.r,U),Q)),__tsover_mul(__tsover_mul(nr.r,D),Q)),__tsover_mul(__tsover_mul(zr.r,O),Q)),__tsover_mul(__tsover_mul(Ps.r,P),te)),__tsover_mul(__tsover_mul(Gr.r,U),te)),__tsover_mul(__tsover_mul(Vo.r,D),te)),__tsover_mul(__tsover_mul(Qr.r,O),te)),ba=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(ys.a,P),W),__tsover_mul(__tsover_mul(Ks.a,U),W)),__tsover_mul(__tsover_mul(yr.a,D),W)),__tsover_mul(__tsover_mul(Ur.a,O),W)),__tsover_mul(__tsover_mul(Ms.a,P),K)),__tsover_mul(__tsover_mul(Cr.a,U),K)),__tsover_mul(__tsover_mul(hr.a,D),K)),__tsover_mul(__tsover_mul(mo.a,O),K)),__tsover_mul(__tsover_mul(po.a,P),Q)),__tsover_mul(__tsover_mul(Rr.a,U),Q)),__tsover_mul(__tsover_mul(nr.a,D),Q)),__tsover_mul(__tsover_mul(zr.a,O),Q)),__tsover_mul(__tsover_mul(Ps.a,P),te)),__tsover_mul(__tsover_mul(Gr.a,U),te)),__tsover_mul(__tsover_mul(Vo.a,D),te)),__tsover_mul(__tsover_mul(Qr.a,O),te)),_i=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(ys.r,Me),fe),__tsover_mul(__tsover_mul(Ks.r,Pe),fe)),__tsover_mul(__tsover_mul(yr.r,Re),fe)),__tsover_mul(__tsover_mul(Ur.r,de),fe)),__tsover_mul(__tsover_mul(Ms.r,Me),Ke)),__tsover_mul(__tsover_mul(Cr.r,Pe),Ke)),__tsover_mul(__tsover_mul(hr.r,Re),Ke)),__tsover_mul(__tsover_mul(mo.r,de),Ke)),__tsover_mul(__tsover_mul(po.r,Me),Ze)),__tsover_mul(__tsover_mul(Rr.r,Pe),Ze)),__tsover_mul(__tsover_mul(nr.r,Re),Ze)),__tsover_mul(__tsover_mul(zr.r,de),Ze)),__tsover_mul(__tsover_mul(Ps.r,Me),at)),__tsover_mul(__tsover_mul(Gr.r,Pe),at)),__tsover_mul(__tsover_mul(Vo.r,Re),at)),__tsover_mul(__tsover_mul(Qr.r,de),at)),li=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(ys.r,he),Fe),__tsover_mul(__tsover_mul(Ks.r,Ee),Fe)),__tsover_mul(__tsover_mul(yr.r,Te),Fe)),__tsover_mul(__tsover_mul(Ur.r,Ue),Fe)),__tsover_mul(__tsover_mul(Ms.r,he),Ie)),__tsover_mul(__tsover_mul(Cr.r,Ee),Ie)),__tsover_mul(__tsover_mul(hr.r,Te),Ie)),__tsover_mul(__tsover_mul(mo.r,Ue),Ie)),__tsover_mul(__tsover_mul(po.r,he),st)),__tsover_mul(__tsover_mul(Rr.r,Ee),st)),__tsover_mul(__tsover_mul(nr.r,Te),st)),__tsover_mul(__tsover_mul(zr.r,Ue),st)),__tsover_mul(__tsover_mul(Ps.r,he),Xe)),__tsover_mul(__tsover_mul(Gr.r,Ee),Xe)),__tsover_mul(__tsover_mul(Vo.r,Te),Xe)),__tsover_mul(__tsover_mul(Qr.r,Ue),Xe)),F=oe(oe(Cr.r,hr.r),oe(Rr.r,nr.r)),le=b(b(Cr.r,hr.r),b(Rr.r,nr.r)),ae=$(ba,oe(oe(Cr.a,hr.a),oe(Rr.a,nr.a)),b(b(Cr.a,hr.a),b(Rr.a,nr.a))),ne=__tsover_add(__tsover_mul(__tsover_sub(le,F),.3),1e-6),ie=$(__tsover_add(__tsover_mul(__tsover_div(__tsover_sub(le,ci),ne),.5),.5),0,1),ge=__tsover_sub(X(le,ci,ie),__tsover_mul(__tsover_mul(ne,ie),__tsover_sub(1,ie))),Ye=$(__tsover_add(__tsover_mul(__tsover_div(__tsover_sub(ge,F),ne),.5),.5),0,1),Je=__tsover_add(X(F,ge,Ye),__tsover_mul(__tsover_mul(ne,Ye),__tsover_sub(1,Ye))),rt=__tsover_add(Je,m),He=X(rt,b(__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),c),rt),re(a(0),.25,m)),Bt=C(a(0),a(1),z(__tsover_sub(t.x,_))<1e-7),Yt=C(a(0),a(1),z(__tsover_sub(t.y,u))<1e-7),Ls=__tsover_div(1,b(m,1e-5));return x(He,__tsover_add(__tsover_mul(__tsover_mul(_i,__tsover_div(d,n)),Bt),__tsover_mul(__tsover_sub(t.x,_),Ls)),__tsover_add(__tsover_mul(__tsover_mul(li,__tsover_div(d,i)),Yt),__tsover_mul(__tsover_sub(t.y,u),Ls)),ae)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"field"},{type:"i",name:"originX"},{type:"i",name:"originY"},{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"},{type:"i",name:"rBound"}],body:[0,[[13,"uxc",[6,"std.clamp",[[7,"uv","x"],"originX",[1,"originX","+","spanX"]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],"originY",[1,"originY","+","spanY"]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-","originX"],"/","spanX"],"*","activeResF"],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-","originY"],"/","spanY"],"*","activeResF"],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"tx2",[1,"fx","*","fx"]],[13,"tx3",[1,"tx2","*","fx"]],[13,"wx0",[1,[1,[1,"tx3","*",[4,"-",[5,"0.5"]]],"+","tx2"],"-",[1,"fx","*",[5,"0.5"]]]],[13,"wx1",[1,[1,[1,"tx3","*",[5,"1.5"]],"-",[1,"tx2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wx2",[1,[1,[1,"tx3","*",[4,"-",[5,"1.5"]]],"+",[1,"tx2","*",[5,"2"]]],"+",[1,"fx","*",[5,"0.5"]]]],[13,"wx3",[1,[1,"tx3","*",[5,"0.5"]],"-",[1,"tx2","*",[5,"0.5"]]]],[13,"ty2",[1,"fy","*","fy"]],[13,"ty3",[1,"ty2","*","fy"]],[13,"wy0",[1,[1,[1,"ty3","*",[4,"-",[5,"0.5"]]],"+","ty2"],"-",[1,"fy","*",[5,"0.5"]]]],[13,"wy1",[1,[1,[1,"ty3","*",[5,"1.5"]],"-",[1,"ty2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wy2",[1,[1,[1,"ty3","*",[4,"-",[5,"1.5"]]],"+",[1,"ty2","*",[5,"2"]]],"+",[1,"fy","*",[5,"0.5"]]]],[13,"wy3",[1,[1,"ty3","*",[5,"0.5"]],"-",[1,"ty2","*",[5,"0.5"]]]],[13,"oxf",[1,[5,"1"],"-","fx"]],[13,"bx0",[1,[1,[1,"oxf","*","oxf"],"*","oxf"],"*",[5,"0.16666667"]]],[13,"bx1",[1,[1,[1,"tx3","*",[5,"0.5"]],"-","tx2"],"+",[5,"0.66666667"]]],[13,"bx2",[1,[1,[1,[1,"tx3","*",[4,"-",[5,"0.5"]]],"+",[1,"tx2","*",[5,"0.5"]]],"+",[1,"fx","*",[5,"0.5"]]],"+",[5,"0.16666667"]]],[13,"bx3",[1,"tx3","*",[5,"0.16666667"]]],[13,"dbx0",[1,[1,"oxf","*","oxf"],"*",[4,"-",[5,"0.5"]]]],[13,"dbx1",[1,[1,"tx2","*",[5,"1.5"]],"-",[1,"fx","*",[5,"2"]]]],[13,"dbx2",[1,[1,[1,"tx2","*",[4,"-",[5,"1.5"]]],"+","fx"],"+",[5,"0.5"]]],[13,"dbx3",[1,"tx2","*",[5,"0.5"]]],[13,"oyf",[1,[5,"1"],"-","fy"]],[13,"by0",[1,[1,[1,"oyf","*","oyf"],"*","oyf"],"*",[5,"0.16666667"]]],[13,"by1",[1,[1,[1,"ty3","*",[5,"0.5"]],"-","ty2"],"+",[5,"0.66666667"]]],[13,"by2",[1,[1,[1,[1,"ty3","*",[4,"-",[5,"0.5"]]],"+",[1,"ty2","*",[5,"0.5"]]],"+",[1,"fy","*",[5,"0.5"]]],"+",[5,"0.16666667"]]],[13,"by3",[1,"ty3","*",[5,"0.16666667"]]],[13,"dby0",[1,[1,"oyf","*","oyf"],"*",[4,"-",[5,"0.5"]]]],[13,"dby1",[1,[1,"ty2","*",[5,"1.5"]],"-",[1,"fy","*",[5,"2"]]]],[13,"dby2",[1,[1,[1,"ty2","*",[4,"-",[5,"1.5"]]],"+","fy"],"+",[5,"0.5"]]],[13,"dby3",[1,"ty2","*",[5,"0.5"]]],[13,"maxT",[1,"activeResF","-",[5,"1"]]],[13,"cxm",[6,"d.u32",[[6,"std.clamp",[[1,"x0","-",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx0",[6,"d.u32",[[6,"std.clamp",["x0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx1",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx2",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"2"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cym",[6,"d.u32",[[6,"std.clamp",[[1,"y0","-",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy0",[6,"d.u32",[[6,"std.clamp",["y0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy1",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy2",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"2"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"k00",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cym"]],[5,"0"]]]],[13,"k01",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cym"]],[5,"0"]]]],[13,"k02",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cym"]],[5,"0"]]]],[13,"k03",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cym"]],[5,"0"]]]],[13,"k10",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy0"]],[5,"0"]]]],[13,"k11",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy0"]],[5,"0"]]]],[13,"k12",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy0"]],[5,"0"]]]],[13,"k13",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy0"]],[5,"0"]]]],[13,"k20",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy1"]],[5,"0"]]]],[13,"k21",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy1"]],[5,"0"]]]],[13,"k22",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy1"]],[5,"0"]]]],[13,"k23",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy1"]],[5,"0"]]]],[13,"k30",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy2"]],[5,"0"]]]],[13,"k31",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy2"]],[5,"0"]]]],[13,"k32",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy2"]],[5,"0"]]]],[13,"k33",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy2"]],[5,"0"]]]],[13,"rAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","r"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","r"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","r"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","r"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","r"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","r"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","r"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","r"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","r"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","r"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","r"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","r"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","r"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","r"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","r"],"*","wx3"],"*","wy3"]]],[13,"aAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","a"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","a"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","a"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","a"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","a"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","a"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","a"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","a"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","a"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","a"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","a"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","a"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","a"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","a"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","a"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","a"],"*","wx3"],"*","wy3"]]],[13,"drdpx",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","dbx0"],"*","by0"],"+",[1,[1,[7,"k01","r"],"*","dbx1"],"*","by0"]],"+",[1,[1,[7,"k02","r"],"*","dbx2"],"*","by0"]],"+",[1,[1,[7,"k03","r"],"*","dbx3"],"*","by0"]],"+",[1,[1,[7,"k10","r"],"*","dbx0"],"*","by1"]],"+",[1,[1,[7,"k11","r"],"*","dbx1"],"*","by1"]],"+",[1,[1,[7,"k12","r"],"*","dbx2"],"*","by1"]],"+",[1,[1,[7,"k13","r"],"*","dbx3"],"*","by1"]],"+",[1,[1,[7,"k20","r"],"*","dbx0"],"*","by2"]],"+",[1,[1,[7,"k21","r"],"*","dbx1"],"*","by2"]],"+",[1,[1,[7,"k22","r"],"*","dbx2"],"*","by2"]],"+",[1,[1,[7,"k23","r"],"*","dbx3"],"*","by2"]],"+",[1,[1,[7,"k30","r"],"*","dbx0"],"*","by3"]],"+",[1,[1,[7,"k31","r"],"*","dbx1"],"*","by3"]],"+",[1,[1,[7,"k32","r"],"*","dbx2"],"*","by3"]],"+",[1,[1,[7,"k33","r"],"*","dbx3"],"*","by3"]]],[13,"drdpy",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","bx0"],"*","dby0"],"+",[1,[1,[7,"k01","r"],"*","bx1"],"*","dby0"]],"+",[1,[1,[7,"k02","r"],"*","bx2"],"*","dby0"]],"+",[1,[1,[7,"k03","r"],"*","bx3"],"*","dby0"]],"+",[1,[1,[7,"k10","r"],"*","bx0"],"*","dby1"]],"+",[1,[1,[7,"k11","r"],"*","bx1"],"*","dby1"]],"+",[1,[1,[7,"k12","r"],"*","bx2"],"*","dby1"]],"+",[1,[1,[7,"k13","r"],"*","bx3"],"*","dby1"]],"+",[1,[1,[7,"k20","r"],"*","bx0"],"*","dby2"]],"+",[1,[1,[7,"k21","r"],"*","bx1"],"*","dby2"]],"+",[1,[1,[7,"k22","r"],"*","bx2"],"*","dby2"]],"+",[1,[1,[7,"k23","r"],"*","bx3"],"*","dby2"]],"+",[1,[1,[7,"k30","r"],"*","bx0"],"*","dby3"]],"+",[1,[1,[7,"k31","r"],"*","bx1"],"*","dby3"]],"+",[1,[1,[7,"k32","r"],"*","bx2"],"*","dby3"]],"+",[1,[1,[7,"k33","r"],"*","bx3"],"*","dby3"]]],[13,"rMin",[6,"std.min",[[6,"std.min",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.min",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"rMax",[6,"std.max",[[6,"std.max",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.max",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"aMin",[6,"std.min",[[6,"std.min",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.min",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aMax",[6,"std.max",[[6,"std.max",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.max",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aOut",[6,"std.clamp",["aAcc","aMin","aMax"]]],[13,"kSoft",[1,[1,[1,"rMax","-","rMin"],"*",[5,"0.3"]],"+",[5,"0.000001"]]],[13,"hCap",[6,"std.clamp",[[1,[1,[1,[1,"rMax","-","rAcc"],"/","kSoft"],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[13,"rCap",[1,[6,"std.mix",["rMax","rAcc","hCap"]],"-",[1,[1,"kSoft","*","hCap"],"*",[1,[5,"1"],"-","hCap"]]]],[13,"hFlr",[6,"std.clamp",[[1,[1,[1,[1,"rCap","-","rMin"],"/","kSoft"],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[13,"rSoft",[1,[6,"std.mix",["rMin","rCap","hFlr"]],"+",[1,[1,"kSoft","*","hFlr"],"*",[1,[5,"1"],"-","hFlr"]]]],[13,"rNear",[1,"rSoft","+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-","rBound"]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[13,"insideX",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,[6,"std.abs",[[1,[7,"uv","x"],"-","uxc"]]],"<",[5,"1e-7"]]]]],[13,"insideY",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,[6,"std.abs",[[1,[7,"uv","y"],"-","uyc"]]],"<",[5,"1e-7"]]]]],[13,"invOut",[1,[5,"1"],"/",[6,"std.max",["outsideDist",[5,"0.00001"]]]]],[13,"gU",[1,[1,[1,"drdpx","*",[1,"activeResF","/","spanX"]],"*","insideX"],"+",[1,[1,[7,"uv","x"],"-","uxc"],"*","invOut"]]],[13,"gV",[1,[1,[1,"drdpy","*",[1,"activeResF","/","spanY"]],"*","insideY"],"+",[1,[1,[7,"uv","y"],"-","uyc"],"*","invOut"]]],[10,[6,"d.vec4f",["rOut","gU","gV","aOut"]]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,"d.u32":()=>R,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.min":()=>oe,"std.max":()=>b,"std.mix":()=>X,"std.smoothstep":()=>re,"std.select":()=>C,"std.abs":()=>z,"d.vec4f":()=>x}})&&e.f)({})).$name("fieldSampleGradArg"),fieldSampleFastArg:v.fn([l,ps(a),a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=$(t.x,r,__tsover_add(r,n)),u=$(t.y,o,__tsover_add(o,i)),m=j(l(__tsover_sub(t.x,_),__tsover_sub(t.y,u))),p=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(_,r),n),d),.5),y=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(u,o),i),d),.5),h=q(p),g=q(y),w=__tsover_sub(p,h),S=__tsover_sub(y,g),T=__tsover_sub(d,1),A=R($(h,a(0),T)),P=R($(__tsover_add(h,1),a(0),T)),U=R($(g,a(0),T)),D=R($(__tsover_add(g,1),a(0),T)),O=Be(s,Ge(A,U),0),L=Be(s,Ge(P,U),0),G=Be(s,Ge(A,D),0),W=Be(s,Ge(P,D),0),K=X(X(O,L,w),X(G,W,w),S),Q=__tsover_add(K.r,m);return x(X(Q,b(__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),c),Q),re(a(0),.25,m)),K.g,K.b,K.a)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"field"},{type:"i",name:"originX"},{type:"i",name:"originY"},{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"},{type:"i",name:"rBound"}],body:[0,[[13,"uxc",[6,"std.clamp",[[7,"uv","x"],"originX",[1,"originX","+","spanX"]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],"originY",[1,"originY","+","spanY"]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-","originX"],"/","spanX"],"*","activeResF"],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-","originY"],"/","spanY"],"*","activeResF"],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"maxT",[1,"activeResF","-",[5,"1"]]],[13,"cx0",[6,"d.u32",[[6,"std.clamp",["x0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx1",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy0",[6,"d.u32",[[6,"std.clamp",["y0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy1",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"t00",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy0"]],[5,"0"]]]],[13,"t10",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy0"]],[5,"0"]]]],[13,"t01",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy1"]],[5,"0"]]]],[13,"t11",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy1"]],[5,"0"]]]],[13,"bl",[6,"std.mix",[[6,"std.mix",["t00","t10","fx"]],[6,"std.mix",["t01","t11","fx"]],"fy"]]],[13,"rNear",[1,[7,"bl","r"],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-","rBound"]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"bl","g"],[7,"bl","b"],[7,"bl","a"]]]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,"d.u32":()=>R,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.mix":()=>X,"std.max":()=>b,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({})).$name("fieldSampleFastArg"),fieldSampleTexelArg:v.fn([l,ps(a),a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=$(t.x,r,__tsover_add(r,n)),u=$(t.y,o,__tsover_add(o,i)),m=j(l(__tsover_sub(t.x,_),__tsover_sub(t.y,u))),p=__tsover_sub(d,1),y=$(q(__tsover_mul(__tsover_div(__tsover_sub(_,r),n),d)),a(0),p),h=$(q(__tsover_mul(__tsover_div(__tsover_sub(u,o),i),d)),a(0),p),g=Be(s,Ge(R(y),R(h)),0),w=__tsover_add(g.r,m);return x(X(w,b(__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),c),w),re(a(0),.25,m)),g.g,g.b,g.a)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"field"},{type:"i",name:"originX"},{type:"i",name:"originY"},{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"},{type:"i",name:"rBound"}],body:[0,[[13,"uxc",[6,"std.clamp",[[7,"uv","x"],"originX",[1,"originX","+","spanX"]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],"originY",[1,"originY","+","spanY"]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"maxT",[1,"activeResF","-",[5,"1"]]],[13,"px",[6,"std.clamp",[[6,"std.floor",[[1,[1,[1,"uxc","-","originX"],"/","spanX"],"*","activeResF"]]],[6,"d.f32",[[5,"0"]]],"maxT"]]],[13,"py",[6,"std.clamp",[[6,"std.floor",[[1,[1,[1,"uyc","-","originY"],"/","spanY"],"*","activeResF"]]],[6,"d.f32",[[5,"0"]]],"maxT"]]],[13,"t",[6,"std.textureLoad",["field",[6,"d.vec2u",[[6,"d.u32",["px"]],[6,"d.u32",["py"]]]],[5,"0"]]]],[13,"rNear",[1,[7,"t","r"],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-","rBound"]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"t","g"],[7,"t","b"],[7,"t","a"]]]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"d.u32":()=>R,"std.mix":()=>X,"std.max":()=>b,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({})).$name("fieldSampleTexelArg"),texelSpanFn:v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_div(b(t,s),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"}],body:[0,[[10,[1,[6,"std.max",["spanX","spanY"]],"/","activeResF"]]]]},externals:{"std.max":()=>b}})&&e.f)({})).$name("fieldTexelSpan")}}var yG={_vfOriginX:{schema:a,initial:0},_vfOriginY:{schema:a,initial:0},_vfSpanX:{schema:a,initial:1},_vfSpanY:{schema:a,initial:1},_vfActiveRes:{schema:a,initial:1},_vfRBound:{schema:a,initial:.6}};function J7(e,t){let{fieldSampleArg:s,fieldSampleGradArg:r,fieldSampleFastArg:o,fieldSampleTexelArg:n,texelSpanFn:i}=ay(),d=(globalThis.__TYPEGPU_AUTONAME__??(_=>_))(e.accessor(),"acc"),c=_=>[_,d,t.originX,t.originY,t.spanX,t.spanY,t.activeResF,t.rBound];return{volumetricFieldSampler:_=>we(s,"vfSample",c(_)),volumetricFieldSamplerGrad:_=>we(r,"vfSampleGrad",c(_)),volumetricFieldSamplerFast:_=>we(o,"vfSampleFast",c(_)),volumetricFieldSamplerTexel:_=>we(n,"vfSampleTexel",c(_)),volumetricFieldTexelSpan:we(i,"vfTexelSpan",[t.spanX,t.spanY,t.activeResF])}}function hG(e,t={}){let{patternMode:s="none",gradSampler:r="fast",bakedGradients:o="none"}=t,{computeOutputs:n,uniforms:i,propValues:d,getCpuValue:c}=e,_=n?.volumetricFieldTexture;if(_){let h=J7(_,{originX:i._vfOriginX,originY:i._vfOriginY,spanX:i._vfSpanX,spanY:i._vfSpanY,activeResF:i._vfActiveRes,rBound:i._vfRBound}),g=o!=="none",w=g?h.volumetricFieldSamplerGrad:h.volumetricFieldSampler;return{sampler:w,gradSampler:r==="same"?w:h.volumetricFieldSamplerFast,texelSampler:h.volumetricFieldSamplerTexel,volumetric:!0,bakedGradients:g}}let u=d.shapeSdfUrl||"",m=d.shapeType||"";if(u){let h=o==="all",g=h?M7(e,u):A7(e,u);return{sampler:g,gradSampler:g,texelSampler:g,volumetric:V7(m),bakedGradients:h}}let p=_G(m,c("shape")),y=P7(p,k7(e,()=>c("shape")),s);return{sampler:y,gradSampler:y,texelSampler:y,volumetric:d1(p),bakedGradients:!1}}var Wa=Math.PI/180;function iy(e){if(e&&typeof e=="object")return e;if(typeof e=="string")try{return JSON.parse(e)}catch{return{}}return{}}function ew(e,t,s,r,o={}){let n=wu[t]??wu.sphere3D,i=o.extraPad??(()=>0),{layout:d}=ny(),c=(globalThis.__TYPEGPU_AUTONAME__??(Pe=>Pe))(e.createUniform(Cn),"marchParamsBuffer"),_=v.fn([f],a)((Pe=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(Pe.f=(Re=>{"use gpu";let de=d.$.params;return t==="cube3D"?Ec(Re,de.pA,de.pB,de.pC,de.pD):t==="torus3D"?sf(Re,de.pA,de.pB):t==="octahedron3D"?rf(Re,de.pA):t==="cylinder3D"?of(Re,de.pA,de.pB,de.pD):t==="capsule3D"?nf(Re,de.pA,de.pB):t==="cone3D"?af(Re,de.pA,de.pC,de.pB):t==="pyramid3D"?df(Re,de.pA,de.pB):t==="prism3D"?cf(Re,de.pA,de.pB):t==="ellipsoid3D"?_f(Re,de.pA,de.pB,de.pC):t==="diamond3D"?kc(Re,de.pA,de.pB):t==="link3D"?lf(Re,de.pB,de.pA,de.pC):t==="gem3D"?mf(Re,de.pA,de.pB,de.pC):t==="helix3D"?pf(Re,de.pA,de.pB,de.pC,a(3)):t==="metaballs3D"?ff(Re,de.mb0,de.mb1,de.mb2,de.mb3,de.mb4,de.mb5,de.mb6,de.mb7,de.pA,de.pD):t==="dodecahedron3D"?vf(Re,de.pA):t==="hemisphere3D"?yf(Re,de.pA,de.pB):t==="ribbon3D"?hf(Re,de.pA,de.pB,de.pC,de.mb0.x,de.mb0.y,de.mb0.z,de.mb1.x,de.mb1.y,de.mb1.z,de.mb2.x):t==="blob3D"?xf(Re,de.pA,de.mb0.x,de.mb0.y,de.mb0.z,de.mb1.x,de.mb2.x):t==="gyroscope3D"?gf(Re,de.pA,de.pB,de.pD,de.mb3.x,de.pC,de.mb0.x,de.mb0.y,de.mb1.x,de.mb1.y,de.mb2.x,de.mb2.y):tf(Re,de.pA)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"pp",[7,[7,"layout","$"],"params"]],[11,[1,"shapeType","===",[103,"cube3D"]],[10,[6,"sdRoundBox",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"],[7,"pp","pD"]]]],[11,[1,"shapeType","===",[103,"torus3D"]],[10,[6,"sdTorus",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"octahedron3D"]],[10,[6,"sdOctahedron",["p",[7,"pp","pA"]]]],[11,[1,"shapeType","===",[103,"cylinder3D"]],[10,[6,"sdRoundCylinder",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pD"]]]],[11,[1,"shapeType","===",[103,"capsule3D"]],[10,[6,"sdCapsule",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"cone3D"]],[10,[6,"sdCappedCone",["p",[7,"pp","pA"],[7,"pp","pC"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"pyramid3D"]],[10,[6,"sdPyramid",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"prism3D"]],[10,[6,"sdHexPrism",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"ellipsoid3D"]],[10,[6,"sdEllipsoid",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"]]]],[11,[1,"shapeType","===",[103,"diamond3D"]],[10,[6,"sdBicone",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"link3D"]],[10,[6,"sdLink",["p",[7,"pp","pB"],[7,"pp","pA"],[7,"pp","pC"]]]],[11,[1,"shapeType","===",[103,"gem3D"]],[10,[6,"sdGem",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"]]]],[11,[1,"shapeType","===",[103,"helix3D"]],[10,[6,"sdHelix",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"],[6,"d.f32",["HELIX_TURNS"]]]]],[11,[1,"shapeType","===",[103,"metaballs3D"]],[10,[6,"sdMetaballs",["p",[7,"pp","mb0"],[7,"pp","mb1"],[7,"pp","mb2"],[7,"pp","mb3"],[7,"pp","mb4"],[7,"pp","mb5"],[7,"pp","mb6"],[7,"pp","mb7"],[7,"pp","pA"],[7,"pp","pD"]]]],[11,[1,"shapeType","===",[103,"dodecahedron3D"]],[10,[6,"sdDodecahedron",["p",[7,"pp","pA"]]]],[11,[1,"shapeType","===",[103,"hemisphere3D"]],[10,[6,"sdCutSphere",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"ribbon3D"]],[10,[6,"sdRibbon",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"],[7,[7,"pp","mb0"],"x"],[7,[7,"pp","mb0"],"y"],[7,[7,"pp","mb0"],"z"],[7,[7,"pp","mb1"],"x"],[7,[7,"pp","mb1"],"y"],[7,[7,"pp","mb1"],"z"],[7,[7,"pp","mb2"],"x"]]]],[11,[1,"shapeType","===",[103,"blob3D"]],[10,[6,"sdWobbleBlob",["p",[7,"pp","pA"],[7,[7,"pp","mb0"],"x"],[7,[7,"pp","mb0"],"y"],[7,[7,"pp","mb0"],"z"],[7,[7,"pp","mb1"],"x"],[7,[7,"pp","mb2"],"x"]]]],[11,[1,"shapeType","===",[103,"gyroscope3D"]],[10,[6,"sdGyroscope",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pD"],[7,[7,"pp","mb3"],"x"],[7,"pp","pC"],[7,[7,"pp","mb0"],"x"],[7,[7,"pp","mb0"],"y"],[7,[7,"pp","mb1"],"x"],[7,[7,"pp","mb1"],"y"],[7,[7,"pp","mb2"],"x"],[7,[7,"pp","mb2"],"y"]]]],[10,[6,"sdSphere",["p",[7,"pp","pA"]]]]]]]]]]]]]]]]]]]]]]]]]},externals:{layout:()=>d,shapeType:()=>t,sdRoundBox:()=>Ec,sdTorus:()=>sf,sdOctahedron:()=>rf,sdRoundCylinder:()=>of,sdCapsule:()=>nf,sdCappedCone:()=>af,sdPyramid:()=>df,sdHexPrism:()=>cf,sdEllipsoid:()=>_f,sdBicone:()=>kc,sdLink:()=>lf,sdGem:()=>mf,sdHelix:()=>pf,"d.f32":()=>a,HELIX_TURNS:()=>3,sdMetaballs:()=>ff,sdDodecahedron:()=>vf,sdCutSphere:()=>yf,sdRibbon:()=>hf,sdWobbleBlob:()=>xf,sdGyroscope:()=>gf,sdSphere:()=>tf}})&&Pe.f)({})),u=0,m="",p=s,y=new Map,h=.35,g=.3,w=.3,S=0,T=.6,A=1,P=0,U=1,D=0,O=1,L=0,G=1,W=1,K=0,Q=0,te=jc(),ee=Array.from({length:8},()=>[0,0,0]),he=()=>{c.write({rot:{cx:A,sx:P,cy:U,sy:D,cz:O,sz:L},rBound:T,spanX:G,spanY:W,originX:K,originY:Q,activeRes:te,pA:h,pB:g,pC:w,pD:S,mb0:f(ee[0][0],ee[0][1],ee[0][2]),mb1:f(ee[1][0],ee[1][1],ee[1][2]),mb2:f(ee[2][0],ee[2][1],ee[2][2]),mb3:f(ee[3][0],ee[3][1],ee[3][2]),mb4:f(ee[4][0],ee[4][1],ee[4][2]),mb5:f(ee[5][0],ee[5][1],ee[5][2]),mb6:f(ee[6][0],ee[6][1],ee[6][2]),mb7:f(ee[7][0],ee[7][1],ee[7][2])})},Ee=Pe=>{let Re=Pe?.deltaTime??0;u+=Re;let de=r();if(de&&typeof de=="object")p=de;else if(typeof de=="string"&&de!==m){m=de;try{p=JSON.parse(de)}catch{}}let je={elapsed:u,deltaTime:Re,pointerX:Pe?.pointer?.x??.5,pointerY:Pe?.pointer?.y??.5,springs:y},fe=Ie=>ry(p[Ie],n[Ie]??0,je,Ie);g=.3,w=.3,S=0;for(let Ie=0;Ie=Ie){ee[We]=[0,99,0];continue}let Ve=We*(Ba/Ie),Ft=Ve+Xe,Gt=.75+.25*Math.sin(Xe*1.3+We*1.7);ee[We]=[st*Math.cos(Ft)*Gt,st*.6*Math.sin(Xe*.9+Ve*1.5),st*Math.sin(Ft)*Gt]}break}case"hemisphere3D":h=fe("radius"),g=fe("cut");break;case"ribbon3D":{h=fe("width"),g=fe("thickness"),w=fe("length");let Ie=u*fe("speed"),st=fe("wave")*(.8+.2*Math.sin(Ie*.9)),Xe=fe("waveFrequency"),We=fe("twist")*Wa/Math.max(w*2,.01);ee[0]=[st,Xe,Ie*1.1],ee[1]=[Ie*.7+2.1,We,Ie*.45];let Ve=Math.abs(st)*Xe+Math.abs(We)*Math.hypot(h,g);ee[2]=[1/Math.sqrt(1+Ve*Ve),0,0];break}case"blob3D":{h=fe("radius");let Ie=u*fe("speed"),st=fe("wobble")*(.75+.25*Math.sin(Ie*.83)),Xe=fe("wobbliness");ee[0]=[st,Xe,Ie*1.2],ee[1]=[Ie*.77+1.3,0,0],ee[2]=[1/(1+Math.abs(st)*Xe*1.3),0,0];break}case"gyroscope3D":{h=fe("radius"),g=fe("width"),w=fe("core"),S=fe("thickness");let Ie=Math.max(0,Math.min(fe("rounding"),Math.min(g,S)*.5)),st=u*fe("speed"),Xe=st*.9,We=st*.63+1.1,Ve=st*1.21+2.3;ee[0]=[Math.cos(Xe),Math.sin(Xe),0],ee[1]=[Math.cos(We),Math.sin(We),0],ee[2]=[Math.cos(Ve),Math.sin(Ve),0],ee[3]=[Ie,0,0];break}default:h=fe("radius");break}T=X7({...p,type:t})+.02+i();let Ke=fe("rotX")*Wa,Ze=fe("rotY")*Wa,at=fe("rotZ")*Wa;A=Math.cos(Ke),P=Math.sin(Ke),U=Math.cos(Ze),D=Math.sin(Ze),O=Math.cos(at),L=Math.sin(at);let Fe=T+.05;G=Fe*2,W=Fe*2,K=.5-Fe,Q=.5-Fe,he()};Ee();let Te=Pe=>{Pe!==te&&(te=Pe,he())},Ue=()=>`${h},${g},${w},${S},${T},`+ee.map(Pe=>`${Pe[0]},${Pe[1]},${Pe[2]}`).join(",");return{layout:d,marchParamsBuffer:c,sdfFn:_,update:Ee,setActiveRes:Te,getStateKey:()=>`${Ue()},${A},${P},${U},${D},${O},${L}`,getFootprint:()=>({spanX:G,spanY:W,originX:K,originY:Q,rBound:T}),getRotation:()=>({cx:A,sx:P,cy:U,sy:D,cz:O,sz:L}),getGeometryKey:Ue}}function tw(e,t,s,r={}){let o=e.gpu.root,n=r.extraPad??(()=>0),{texture:i,getVersion:d}=Qv(e,t),{layout:c}=Q7(),_=(globalThis.__TYPEGPU_AUTONAME__??(Pe=>Pe))(o.createUniform(Cn),"marchParamsBuffer"),u=a(512),m=a(511),p=v.fn([f],a)((Pe=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(Pe.f=(Re=>{"use gpu";let de=c.$.params,je=de.pA,fe=de.pB,Ke=__tsover_sub(__tsover_mul(__tsover_add(Re.x,.5),u),.5),Ze=__tsover_sub(__tsover_mul(__tsover_sub(.5,Re.y),u),.5),at=q(Ke),Fe=q(Ze),Ie=__tsover_sub(Ke,at),st=__tsover_sub(Ze,Fe),Xe=R($(at,a(0),m)),We=R($(__tsover_add(at,1),a(0),m)),Ve=R($(Fe,a(0),m)),Ft=R($(__tsover_add(Fe,1),a(0),m)),Gt=Be(c.$.sdfSource,Ge(Xe,Ve),0).r,os=Be(c.$.sdfSource,Ge(We,Ve),0).r,bs=Be(c.$.sdfSource,Ge(Xe,Ft),0).r,ls=Be(c.$.sdfSource,Ge(We,Ft),0).r,As=X(X(Gt,os,Ie),X(bs,ls,Ie),st),vs=__tsover_add(As,fe),ys=__tsover_add(__tsover_sub(z(Re.z),je),fe),Ks=oe(b(vs,ys),a(0)),yr=j(l(b(vs,a(0)),b(ys,a(0))));return __tsover_sub(__tsover_add(Ks,yr),fe)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"pp",[7,[7,"layout","$"],"params"]],[13,"halfDepth",[7,"pp","pA"]],[13,"bevel",[7,"pp","pB"]],[13,"u",[1,[1,[1,[7,"p","x"],"+",[5,"0.5"]],"*","SIZE_F"],"-",[5,"0.5"]]],[13,"v",[1,[1,[1,[5,"0.5"],"-",[7,"p","y"]],"*","SIZE_F"],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["u"]]],[13,"y0",[6,"std.floor",["v"]]],[13,"fx",[1,"u","-","x0"]],[13,"fy",[1,"v","-","y0"]],[13,"cx0",[6,"d.u32",[[6,"std.clamp",["x0",[6,"d.f32",[[5,"0"]]],"MAX_TEXEL"]]]]],[13,"cx1",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"MAX_TEXEL"]]]]],[13,"cy0",[6,"d.u32",[[6,"std.clamp",["y0",[6,"d.f32",[[5,"0"]]],"MAX_TEXEL"]]]]],[13,"cy1",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"MAX_TEXEL"]]]]],[13,"s00",[7,[6,"std.textureLoad",[[7,[7,"layout","$"],"sdfSource"],[6,"d.vec2u",["cx0","cy0"]],[5,"0"]]],"r"]],[13,"s10",[7,[6,"std.textureLoad",[[7,[7,"layout","$"],"sdfSource"],[6,"d.vec2u",["cx1","cy0"]],[5,"0"]]],"r"]],[13,"s01",[7,[6,"std.textureLoad",[[7,[7,"layout","$"],"sdfSource"],[6,"d.vec2u",["cx0","cy1"]],[5,"0"]]],"r"]],[13,"s11",[7,[6,"std.textureLoad",[[7,[7,"layout","$"],"sdfSource"],[6,"d.vec2u",["cx1","cy1"]],[5,"0"]]],"r"]],[13,"field2d",[6,"std.mix",[[6,"std.mix",["s00","s10","fx"]],[6,"std.mix",["s01","s11","fx"]],"fy"]]],[13,"d2",[1,"field2d","+","bevel"]],[13,"wz",[1,[1,[6,"std.abs",[[7,"p","z"]]],"-","halfDepth"],"+","bevel"]],[13,"inner",[6,"std.min",[[6,"std.max",["d2","wz"]],[6,"d.f32",[[5,"0"]]]]]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["d2",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["wz",[6,"d.f32",[[5,"0"]]]]]]]]]],[10,[1,[1,"inner","+","outer"],"-","bevel"]]]]},externals:{layout:()=>c,SIZE_F:()=>u,"std.floor":()=>q,"d.u32":()=>R,"std.clamp":()=>$,"d.f32":()=>a,MAX_TEXEL:()=>m,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.mix":()=>X,"std.abs":()=>z,"std.min":()=>oe,"std.max":()=>b,"std.length":()=>j,"d.vec2f":()=>l}})&&Pe.f)({})),y=0,h="",g=iy(s()),w=new Map,S=.06,T=.02,A=.75,P=1,U=0,D=1,O=0,L=1,G=0,W=1,K=1,Q=0,te=0,ee=jc(),he=()=>{_.write({rot:{cx:P,sx:U,cy:D,sy:O,cz:L,sz:G},rBound:A,spanX:W,spanY:K,originX:Q,originY:te,activeRes:ee,pA:S,pB:T,pC:0,pD:0,mb0:f(0,0,0),mb1:f(0,0,0),mb2:f(0,0,0),mb3:f(0,0,0),mb4:f(0,0,0),mb5:f(0,0,0),mb6:f(0,0,0),mb7:f(0,0,0)})},Ee=Pe=>{let Re=Pe?.deltaTime??0;y+=Re;let de=s();if(de&&typeof de=="object")g=de;else if(typeof de=="string"&&de!==h){h=de;try{g=JSON.parse(de)}catch{}}let je={elapsed:y,deltaTime:Re,pointerX:Pe?.pointer?.x??.5,pointerY:Pe?.pointer?.y??.5,springs:w},fe=vs=>ry(g[vs],N7[vs]??0,je,vs);S=Math.max(.001,fe("depth")*.5),T=Math.min(Math.max(0,fe("bevel")),S);let Ke=a1(t),Ze=Ke?Math.min(.5,Ke.hwf+.02):.5,at=Ke?Math.min(.5,Ke.hhf+.02):.5,Fe=n();A=Math.hypot(Ze,at,S)+T+.03+Fe;let Ie=fe("rotX")*Wa,st=fe("rotY")*Wa,Xe=fe("rotZ")*Wa;P=Math.cos(Ie),U=Math.sin(Ie),D=Math.cos(st),O=Math.sin(st),L=Math.cos(Xe),G=Math.sin(Xe);let We={cx:P,sx:U,cy:D,sy:O,cz:L,sz:G},Ve=ef(1,0,0,We),Ft=ef(0,1,0,We),Gt=T+.03+Fe,os=Math.abs(Ve.x)*Ze+Math.abs(Ve.y)*at+Math.abs(Ve.z)*S+Gt,bs=Math.abs(Ft.x)*Ze+Math.abs(Ft.y)*at+Math.abs(Ft.z)*S+Gt,ls=os+.05,As=bs+.05;W=ls*2,K=As*2,Q=.5-ls,te=.5-As,he()};Ee();let Te=Pe=>{Pe!==ee&&(ee=Pe,he())},Ue=()=>`${S},${T},${A},${d()}`,Me=()=>`${Ue()},${W},${K},${P},${U},${D},${O},${L},${G}`;return{layout:c,marchParamsBuffer:_,sdfFn:p,sdfSourceTexture:i.texture,update:Ee,setActiveRes:Te,getStateKey:Me,getFootprint:()=>({spanX:W,spanY:K,originX:Q,originY:te,rBound:A}),getRotation:()=>({cx:P,sx:U,cy:D,sy:O,cz:L,sz:G}),getGeometryKey:Ue}}function xG(e,t,s,r,o={}){let n=o.extraPad??(()=>0),{layout:i}=ny(),d=(globalThis.__TYPEGPU_AUTONAME__??(L=>L))(e.createUniform(Cn),"marchParamsBuffer"),c=Jv(t),_=v.fn([f],a)((L=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(L.f=(G=>{"use gpu";let W=i.$.params,K=c(l(__tsover_add(G.x,.5),__tsover_sub(.5,G.y)),W.pA,W.pB,W.pC,W.pD,W.mb0.x,W.mb0.y,W.mb0.z,W.mb1.x).x,Q=__tsover_sub(z(G.z),W.mb1.y),te=oe(b(K,Q),a(0)),ee=j(l(b(K,a(0)),b(Q,a(0))));return __tsover_add(te,ee)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"pp",[7,[7,"layout","$"],"params"]],[13,"uv",[6,"d.vec2f",[[1,[7,"p","x"],"+",[5,"0.5"]],[1,[5,"0.5"],"-",[7,"p","y"]]]]],[13,"d2",[7,[6,"analytic",["uv",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"],[7,"pp","pD"],[7,[7,"pp","mb0"],"x"],[7,[7,"pp","mb0"],"y"],[7,[7,"pp","mb0"],"z"],[7,[7,"pp","mb1"],"x"]]],"x"]],[13,"wz",[1,[6,"std.abs",[[7,"p","z"]]],"-",[7,[7,"pp","mb1"],"y"]]],[13,"inner",[6,"std.min",[[6,"std.max",["d2","wz"]],[6,"d.f32",[[5,"0"]]]]]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["d2",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["wz",[6,"d.f32",[[5,"0"]]]]]]]]]],[10,[1,"inner","+","outer"]]]]},externals:{layout:()=>i,"d.vec2f":()=>l,analytic:()=>c,"std.abs":()=>z,"std.min":()=>oe,"std.max":()=>b,"d.f32":()=>a,"std.length":()=>j}})&&L.f)({})),u="",m=iy(s()),p=gu(m),y=.06,h=.6,g=1,w=1,S=0,T=0,A=jc(),P=()=>{d.write({rot:{cx:1,sx:0,cy:1,sy:0,cz:1,sz:0},rBound:h,spanX:g,spanY:w,originX:S,originY:T,activeRes:A,pA:p.radius,pB:p.sides,pC:p.rounding,pD:p.innerRatio,mb0:f(p.rotation,p.height,p.offset),mb1:f(p.aperture,y,0),mb2:f(0,0,0),mb3:f(0,0,0),mb4:f(0,0,0),mb5:f(0,0,0),mb6:f(0,0,0),mb7:f(0,0,0)})},U=()=>{let L=s();if(L&&typeof L=="object")m=L;else if(typeof L=="string"&&L!==u){u=L;try{m=JSON.parse(L)}catch{}}p=gu(m),y=Math.max(.001,r());let{hwf:G,hhf:W}=Jp({shape:{...m,radius:p.radius,height:p.height}});h=Math.hypot(G,W,y)+.02+n();let K=h+.05;g=K*2,w=K*2,S=.5-K,T=.5-K,P()};U();let D=L=>{L!==A&&(A=L,P())},O=()=>`${p.radius},${p.sides},${p.rounding},${p.innerRatio},${p.rotation},${p.height},${p.offset},${p.aperture},${y},${h}`;return{layout:i,marchParamsBuffer:d,sdfFn:_,update:U,setActiveRes:D,getStateKey:O,getFootprint:()=>({spanX:g,spanY:w,originX:S,originY:T,rBound:h}),getRotation:()=>({cx:1,sx:0,cy:1,sy:0,cz:1,sz:0}),getGeometryKey:O}}function gG(e,t,s="none",r="span"){let o=e.gpu?.root;if(!o)return null;let n=iy(t()),i=e.getCpuValue("shapeSdfUrl")||"",d=e.getCpuValue("shapeType")||n.type||"",c=null;if(i&&sy(d)?c=tw(e,i,t):!i&&d1(d)&&(c=ew(o,d,n,t)),!c)return null;let _=oy(c.sdfFn,s,r),u=K7(c.layout,_),m=Z7(o,c.layout,u,e.onCleanup,{paramsUniform:c.marchParamsBuffer,sdfSourceTexture:c.sdfSourceTexture}),p=e.registerComputeTexture(m.fieldTexture),y=m.maxRes,h="",g=_o()?2:1,w=0,S={originX:0,originY:0,spanX:1,spanY:1,activeRes:1,rBound:.6};return{outputs:{volumetricFieldTexture:p},getComputeNodes:A=>{c.update(A);let P=c.getFootprint(),U=e.getCpuValue("scale")??1,D=e.dimensions.height;y=j7(P.spanX,P.spanY,U,D,m.maxRes,y);let O=`${c.getStateKey()},${y}`;return O===h||(w++,g>1&&w%g!==0)?null:(h=O,c.setActiveRes(y),e.setExtraField("_vfOriginX",P.originX),e.setExtraField("_vfOriginY",P.originY),e.setExtraField("_vfSpanX",P.spanX),e.setExtraField("_vfSpanY",P.spanY),e.setExtraField("_vfActiveRes",y),e.setExtraField("_vfRBound",P.rBound),S.originX=P.originX,S.originY=P.originY,S.spanX=P.spanX,S.spanY=P.spanY,S.activeRes=y,S.rBound=P.rBound,[()=>m.dispatch(y)])},fieldTexture:m.fieldTexture,getFieldDomain:()=>({...S})}}var Tu=.08,ws=v.fn([f,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=s.x,n=s.y,i=s.z,d=s.w,c=r.x,_=r.y,u=f(__tsover_add(__tsover_mul(t.x,i),__tsover_mul(t.z,d)),t.y,__tsover_add(__tsover_mul(__tsover_mul(t.x,d),-1),__tsover_mul(t.z,i))),m=f(u.x,__tsover_sub(__tsover_mul(u.y,o),__tsover_mul(u.z,n)),__tsover_add(__tsover_mul(u.y,n),__tsover_mul(u.z,o)));return f(__tsover_sub(__tsover_mul(m.x,c),__tsover_mul(m.y,_)),__tsover_add(__tsover_mul(m.x,_),__tsover_mul(m.y,c)),m.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"}],body:[0,[[13,"cx",[7,"rp0","x"]],[13,"sx",[7,"rp0","y"]],[13,"cy",[7,"rp0","z"]],[13,"sy",[7,"rp0","w"]],[13,"cz",[7,"rp1","x"]],[13,"sz",[7,"rp1","y"]],[13,"py",[6,"d.vec3f",[[1,[1,[7,"p","x"],"*","cy"],"+",[1,[7,"p","z"],"*","sy"]],[7,"p","y"],[1,[1,[1,[7,"p","x"],"*","sy"],"*",[4,"-",[5,"1"]]],"+",[1,[7,"p","z"],"*","cy"]]]]],[13,"px",[6,"d.vec3f",[[7,"py","x"],[1,[1,[7,"py","y"],"*","cx"],"-",[1,[7,"py","z"],"*","sx"]],[1,[1,[7,"py","y"],"*","sx"],"+",[1,[7,"py","z"],"*","cx"]]]]],[10,[6,"d.vec3f",[[1,[1,[7,"px","x"],"*","cz"],"-",[1,[7,"px","y"],"*","sz"]],[1,[1,[7,"px","x"],"*","sz"],"+",[1,[7,"px","y"],"*","cz"]],[7,"px","z"]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})).$name("eulerRotatePacked"),bG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return __tsover_sub(j(ws(t,s,r)),r.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[10,[1,[6,"std.length",[[6,"eulerRotatePacked",["p","rp0","rp1"]]]],"-",[7,"rp1","z"]]]]]},externals:{"std.length":()=>j,eulerRotatePacked:()=>ws}})&&e.f)({})).$name("paramSphereSdf"),wG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=as(ws(t,r,o));return l(__tsover_add(__tsover_div(tt(d.z,d.x),6.283185307179586),.5),__tsover_mul(__tsover_add(d.y,1),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"n",[6,"std.normalize",[[6,"eulerRotatePacked",["h","rp0","rp1"]]]]],[10,[6,"d.vec2f",[[1,[1,[6,"std.atan2",[[7,"n","z"],[7,"n","x"]]],"/",[5,"6.283185307179586"]],"+",[5,"0.5"]],[1,[1,[7,"n","y"],"+",[5,"1"]],"*",[5,"0.5"]]]]]]]},externals:{"std.normalize":()=>as,eulerRotatePacked:()=>ws,"d.vec2f":()=>l,"std.atan2":()=>tt}})&&e.f)({})).$name("sphereSurfaceUV"),TG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=ws(t,s,r),d=l(__tsover_sub(j(l(i.x,i.z)),r.z),i.y);return __tsover_sub(j(d),r.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["p","rp0","rp1"]]],[13,"q",[6,"d.vec2f",[[1,[6,"std.length",[[6,"d.vec2f",[[7,"rp","x"],[7,"rp","z"]]]]],"-",[7,"rp1","z"]],[7,"rp","y"]]]],[10,[1,[6,"std.length",["q"]],"-",[7,"rp1","w"]]]]]},externals:{eulerRotatePacked:()=>ws,"d.vec2f":()=>l,"std.length":()=>j}})&&e.f)({})).$name("paramTorusSdf"),SG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ws(t,r,o),c=__tsover_add(__tsover_div(tt(d.z,d.x),6.283185307179586),.5),_=__tsover_sub(j(l(d.x,d.z)),o.z);return l(c,__tsover_add(__tsover_div(tt(d.y,_),6.283185307179586),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["h","rp0","rp1"]]],[13,"u",[1,[1,[6,"std.atan2",[[7,"rp","z"],[7,"rp","x"]]],"/",[5,"6.283185307179586"]],"+",[5,"0.5"]]],[13,"ringDist",[1,[6,"std.length",[[6,"d.vec2f",[[7,"rp","x"],[7,"rp","z"]]]]],"-",[7,"rp1","z"]]],[10,[6,"d.vec2f",["u",[1,[1,[6,"std.atan2",[[7,"rp","y"],"ringDist"]],"/",[5,"6.283185307179586"]],"+",[5,"0.5"]]]]]]]},externals:{eulerRotatePacked:()=>ws,"std.atan2":()=>tt,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})).$name("torusSurfaceUV"),AG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=ws(t,s,r),d=o.y,c=__tsover_add(__tsover_sub(z(i.x),r.z),d),_=__tsover_add(__tsover_sub(z(i.y),r.w),d),u=__tsover_add(__tsover_sub(z(i.z),o.x),d),m=j(f(b(c,a(0)),b(_,a(0)),b(u,a(0)))),p=oe(b(c,b(_,u)),a(0));return __tsover_sub(__tsover_add(m,p),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["p","rp0","rp1"]]],[13,"rounding",[7,"rp2","y"]],[13,"qx",[1,[1,[6,"std.abs",[[7,"rp","x"]]],"-",[7,"rp1","z"]],"+","rounding"]],[13,"qy",[1,[1,[6,"std.abs",[[7,"rp","y"]]],"-",[7,"rp1","w"]],"+","rounding"]],[13,"qz",[1,[1,[6,"std.abs",[[7,"rp","z"]]],"-",[7,"rp2","x"]],"+","rounding"]],[13,"outer",[6,"std.length",[[6,"d.vec3f",[[6,"std.max",["qx",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["qy",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["qz",[6,"d.f32",[[5,"0"]]]]]]]]]],[13,"inner",[6,"std.min",[[6,"std.max",["qx",[6,"std.max",["qy","qz"]]]],[6,"d.f32",[[5,"0"]]]]]],[10,[1,[1,"outer","+","inner"],"-","rounding"]]]]},externals:{eulerRotatePacked:()=>ws,"std.abs":()=>z,"std.length":()=>j,"d.vec3f":()=>f,"std.max":()=>b,"d.f32":()=>a,"std.min":()=>oe}})&&e.f)({})).$name("paramBoxSdf"),MG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ws(t,r,o),c=ws(s,r,o),_=f(z(c.x),z(c.y),z(c.z)),u=o.z,m=o.w,p=n.x,y=__tsover_div(.5,b(m,p)),h=__tsover_div(.5,b(u,p)),g=__tsover_div(.5,b(u,m)),w=l(__tsover_add(__tsover_mul(d.z,y),.5),__tsover_add(__tsover_mul(d.y,y),.5)),S=l(__tsover_add(__tsover_mul(d.x,h),.5),__tsover_add(__tsover_mul(d.z,h),.5)),T=l(__tsover_add(__tsover_mul(d.x,g),.5),__tsover_add(__tsover_mul(d.y,g),.5)),A=C(T,w,_.x>_.z);return C(C(T,S,_.y>_.z),A,_.x>_.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["h","rp0","rp1"]]],[13,"rn",[6,"eulerRotatePacked",["n","rp0","rp1"]]],[13,"an",[6,"d.vec3f",[[6,"std.abs",[[7,"rn","x"]]],[6,"std.abs",[[7,"rn","y"]]],[6,"std.abs",[[7,"rn","z"]]]]]],[13,"hx",[7,"rp1","z"]],[13,"hy",[7,"rp1","w"]],[13,"hz",[7,"rp2","x"]],[13,"scaleX",[1,[5,"0.5"],"/",[6,"std.max",["hy","hz"]]]],[13,"scaleY",[1,[5,"0.5"],"/",[6,"std.max",["hx","hz"]]]],[13,"scaleZ",[1,[5,"0.5"],"/",[6,"std.max",["hx","hy"]]]],[13,"uvX",[6,"d.vec2f",[[1,[1,[7,"rp","z"],"*","scaleX"],"+",[5,"0.5"]],[1,[1,[7,"rp","y"],"*","scaleX"],"+",[5,"0.5"]]]]],[13,"uvY",[6,"d.vec2f",[[1,[1,[7,"rp","x"],"*","scaleY"],"+",[5,"0.5"]],[1,[1,[7,"rp","z"],"*","scaleY"],"+",[5,"0.5"]]]]],[13,"uvZ",[6,"d.vec2f",[[1,[1,[7,"rp","x"],"*","scaleZ"],"+",[5,"0.5"]],[1,[1,[7,"rp","y"],"*","scaleZ"],"+",[5,"0.5"]]]]],[13,"pickXZ",[6,"std.select",["uvZ","uvX",[1,[7,"an","x"],">",[7,"an","z"]]]]],[13,"pickYZ",[6,"std.select",["uvZ","uvY",[1,[7,"an","y"],">",[7,"an","z"]]]]],[10,[6,"std.select",["pickYZ","pickXZ",[1,[7,"an","x"],">",[7,"an","y"]]]]]]]},externals:{eulerRotatePacked:()=>ws,"d.vec3f":()=>f,"std.abs":()=>z,"std.max":()=>b,"d.vec2f":()=>l,"std.select":()=>C}})&&e.f)({})).$name("boxFaceUV"),PG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=ws(t,s,r),d=r.z,c=r.w,_=$(i.y,__tsover_mul(c,-1),c);return __tsover_sub(j(f(i.x,__tsover_sub(i.y,_),i.z)),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["p","rp0","rp1"]]],[13,"radius",[7,"rp1","z"]],[13,"halfHeight",[7,"rp1","w"]],[13,"clampedY",[6,"std.clamp",[[7,"rp","y"],[1,"halfHeight","*",[4,"-",[5,"1"]]],"halfHeight"]]],[10,[1,[6,"std.length",[[6,"d.vec3f",[[7,"rp","x"],[1,[7,"rp","y"],"-","clampedY"],[7,"rp","z"]]]]],"-","radius"]]]]},externals:{eulerRotatePacked:()=>ws,"std.clamp":()=>$,"std.length":()=>j,"d.vec3f":()=>f}})&&e.f)({})).$name("paramCapsuleSdf"),EG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ws(t,r,o),c=__tsover_add(__tsover_div(tt(d.z,d.x),6.283185307179586),.5),_=__tsover_add(o.w,o.z);return l(c,$(__tsover_add(__tsover_mul(__tsover_div(d.y,_),.5),.5),0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["h","rp0","rp1"]]],[13,"u",[1,[1,[6,"std.atan2",[[7,"rp","z"],[7,"rp","x"]]],"/",[5,"6.283185307179586"]],"+",[5,"0.5"]]],[13,"span",[1,[7,"rp1","w"],"+",[7,"rp1","z"]]],[10,[6,"d.vec2f",["u",[6,"std.clamp",[[1,[1,[1,[7,"rp","y"],"/","span"],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]]]]]]},externals:{eulerRotatePacked:()=>ws,"std.atan2":()=>tt,"d.vec2f":()=>l,"std.clamp":()=>$}})&&e.f)({})).$name("capsuleSurfaceUV"),kG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=ws(t,s,r),d=r.z,c=r.w,_=o.x,u=tt(i.z,i.x),m=f(__tsover_mul(H(u),d),0,__tsover_mul(Y(u),d)),p=f(__tsover_sub(i.x,m.x),__tsover_sub(i.y,m.y),__tsover_sub(i.z,m.z)),y=__tsover_mul(u,.5),h=f(__tsover_mul(H(u),H(y)),Y(y),__tsover_mul(Y(u),H(y))),g=se(p,h),w=b(__tsover_sub(z(g),c),a(0)),S=f(__tsover_sub(p.x,__tsover_mul(h.x,g)),__tsover_sub(p.y,__tsover_mul(h.y,g)),__tsover_sub(p.z,__tsover_mul(h.z,g)));return __tsover_sub(j(l(w,j(S))),_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["p","rp0","rp1"]]],[13,"ringRadius",[7,"rp1","z"]],[13,"halfWidth",[7,"rp1","w"]],[13,"thickness",[7,"rp2","x"]],[13,"phi",[6,"std.atan2",[[7,"rp","z"],[7,"rp","x"]]]],[13,"spine",[6,"d.vec3f",[[1,[6,"std.cos",["phi"]],"*","ringRadius"],[5,"0"],[1,[6,"std.sin",["phi"]],"*","ringRadius"]]]],[13,"dvec",[6,"d.vec3f",[[1,[7,"rp","x"],"-",[7,"spine","x"]],[1,[7,"rp","y"],"-",[7,"spine","y"]],[1,[7,"rp","z"],"-",[7,"spine","z"]]]]],[13,"halfPhi",[1,"phi","*",[5,"0.5"]]],[13,"ev",[6,"d.vec3f",[[1,[6,"std.cos",["phi"]],"*",[6,"std.cos",["halfPhi"]]],[6,"std.sin",["halfPhi"]],[1,[6,"std.sin",["phi"]],"*",[6,"std.cos",["halfPhi"]]]]]],[13,"vProj",[6,"std.dot",["dvec","ev"]]],[13,"du",[6,"std.max",[[1,[6,"std.abs",["vProj"]],"-","halfWidth"],[6,"d.f32",[[5,"0"]]]]]],[13,"perp",[6,"d.vec3f",[[1,[7,"dvec","x"],"-",[1,[7,"ev","x"],"*","vProj"]],[1,[7,"dvec","y"],"-",[1,[7,"ev","y"],"*","vProj"]],[1,[7,"dvec","z"],"-",[1,[7,"ev","z"],"*","vProj"]]]]],[10,[1,[6,"std.length",[[6,"d.vec2f",["du",[6,"std.length",["perp"]]]]]],"-","thickness"]]]]},externals:{eulerRotatePacked:()=>ws,"std.atan2":()=>tt,"d.vec3f":()=>f,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.max":()=>b,"std.abs":()=>z,"d.f32":()=>a,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})).$name("paramMobiusSdf"),$G=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ws(t,r,o),c=o.z,_=o.w,u=tt(d.z,d.x),m=f(__tsover_mul(H(u),c),0,__tsover_mul(Y(u),c)),p=f(__tsover_sub(d.x,m.x),__tsover_sub(d.y,m.y),__tsover_sub(d.z,m.z)),y=__tsover_mul(u,.5),h=se(p,f(__tsover_mul(H(u),H(y)),Y(y),__tsover_mul(Y(u),H(y))));return l(__tsover_add(__tsover_div(u,6.283185307179586),.5),__tsover_add(__tsover_mul(__tsover_div(h,_),.5),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["h","rp0","rp1"]]],[13,"ringRadius",[7,"rp1","z"]],[13,"halfWidth",[7,"rp1","w"]],[13,"phi",[6,"std.atan2",[[7,"rp","z"],[7,"rp","x"]]]],[13,"spine",[6,"d.vec3f",[[1,[6,"std.cos",["phi"]],"*","ringRadius"],[5,"0"],[1,[6,"std.sin",["phi"]],"*","ringRadius"]]]],[13,"dvec",[6,"d.vec3f",[[1,[7,"rp","x"],"-",[7,"spine","x"]],[1,[7,"rp","y"],"-",[7,"spine","y"]],[1,[7,"rp","z"],"-",[7,"spine","z"]]]]],[13,"halfPhi",[1,"phi","*",[5,"0.5"]]],[13,"ev",[6,"d.vec3f",[[1,[6,"std.cos",["phi"]],"*",[6,"std.cos",["halfPhi"]]],[6,"std.sin",["halfPhi"]],[1,[6,"std.sin",["phi"]],"*",[6,"std.cos",["halfPhi"]]]]]],[13,"vProj",[6,"std.dot",["dvec","ev"]]],[10,[6,"d.vec2f",[[1,[1,"phi","/",[5,"6.283185307179586"]],"+",[5,"0.5"]],[1,[1,[1,"vProj","/","halfWidth"],"*",[5,"0.5"]],"+",[5,"0.5"]]]]]]]},externals:{eulerRotatePacked:()=>ws,"std.atan2":()=>tt,"d.vec3f":()=>f,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"d.vec2f":()=>l}})&&e.f)({})).$name("mobiusSurfaceUV"),UG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=s.x,d=s.y,c=s.z,_=r.x,u=r.y,m=r.z,p=H(i),y=Y(i),h=__tsover_add(__tsover_mul(t.x,p),__tsover_mul(t.y,y)),g=__tsover_add(__tsover_mul(__tsover_mul(t.x,y),-1),__tsover_mul(t.y,p)),w=__tsover_add(__tsover_add(__tsover_mul(h,d),u),__tsover_mul(n,Tu)),S=H(w),T=Y(w),A=__tsover_add(__tsover_mul(g,S),__tsover_mul(t.z,T)),P=__tsover_add(__tsover_mul(__tsover_mul(g,T),-1),__tsover_mul(t.z,S)),U=b(__tsover_sub(z(A),c),a(0));return __tsover_div(__tsover_sub(j(l(U,P)),_),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"t"}],body:[0,[[13,"angleRad",[7,"rp0","x"]],[13,"twist",[7,"rp0","y"]],[13,"halfW",[7,"rp0","z"]],[13,"thickness",[7,"rp1","x"]],[13,"phase",[7,"rp1","y"]],[13,"lipschitz",[7,"rp1","z"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"rpx",[1,[1,[7,"p","x"],"*","cosA"],"+",[1,[7,"p","y"],"*","sinA"]]],[13,"rpy",[1,[1,[1,[7,"p","x"],"*","sinA"],"*",[4,"-",[5,"1"]]],"+",[1,[7,"p","y"],"*","cosA"]]],[13,"twistAngle",[1,[1,[1,"rpx","*","twist"],"+","phase"],"+",[1,"t","*","TWISTED_RIBBON_TWIST_RATE"]]],[13,"ca",[6,"std.cos",["twistAngle"]]],[13,"sa",[6,"std.sin",["twistAngle"]]],[13,"localU",[1,[1,"rpy","*","ca"],"+",[1,[7,"p","z"],"*","sa"]]],[13,"localV",[1,[1,[1,"rpy","*","sa"],"*",[4,"-",[5,"1"]]],"+",[1,[7,"p","z"],"*","ca"]]],[13,"du",[6,"std.max",[[1,[6,"std.abs",["localU"]],"-","halfW"],[6,"d.f32",[[5,"0"]]]]]],[10,[1,[1,[6,"std.length",[[6,"d.vec2f",["du","localV"]]]],"-","thickness"],"/","lipschitz"]]]]},externals:{"std.cos":()=>H,"std.sin":()=>Y,TWISTED_RIBBON_TWIST_RATE:()=>Tu,"std.max":()=>b,"std.abs":()=>z,"d.f32":()=>a,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})).$name("paramTwistedRibbonSdf"),CG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=r.x,c=r.y,_=r.z,u=r.w,m=o.y,p=H(d),y=Y(d),h=__tsover_add(__tsover_mul(t.x,p),__tsover_mul(t.y,y)),g=__tsover_add(__tsover_mul(__tsover_mul(t.x,y),-1),__tsover_mul(t.y,p)),w=__tsover_add(__tsover_add(__tsover_mul(h,c),m),__tsover_mul(i,Tu)),S=H(w),T=Y(w),A=b(oe(__tsover_add(__tsover_mul(g,S),__tsover_mul(t.z,T)),_),__tsover_mul(_,-1));return l(__tsover_add(__tsover_mul(h,.15),.5),__tsover_add(__tsover_div(A,u),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"t"}],body:[0,[[13,"angleRad",[7,"rp0","x"]],[13,"twist",[7,"rp0","y"]],[13,"halfW",[7,"rp0","z"]],[13,"width",[7,"rp0","w"]],[13,"phase",[7,"rp1","y"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"rpx",[1,[1,[7,"h","x"],"*","cosA"],"+",[1,[7,"h","y"],"*","sinA"]]],[13,"rpy",[1,[1,[1,[7,"h","x"],"*","sinA"],"*",[4,"-",[5,"1"]]],"+",[1,[7,"h","y"],"*","cosA"]]],[13,"twistAngle",[1,[1,[1,"rpx","*","twist"],"+","phase"],"+",[1,"t","*","TWISTED_RIBBON_TWIST_RATE"]]],[13,"ca",[6,"std.cos",["twistAngle"]]],[13,"sa",[6,"std.sin",["twistAngle"]]],[13,"localU",[1,[1,"rpy","*","ca"],"+",[1,[7,"h","z"],"*","sa"]]],[13,"localUClamped",[6,"std.max",[[6,"std.min",["localU","halfW"]],[1,"halfW","*",[4,"-",[5,"1"]]]]]],[10,[6,"d.vec2f",[[1,[1,"rpx","*",[5,"0.15"]],"+",[5,"0.5"]],[1,[1,"localUClamped","/","width"],"+",[5,"0.5"]]]]]]]},externals:{"std.cos":()=>H,"std.sin":()=>Y,TWISTED_RIBBON_TWIST_RATE:()=>Tu,"std.max":()=>b,"std.min":()=>oe,"d.vec2f":()=>l}})&&e.f)({})).$name("twistedRibbonSurfaceUV");function RG(e,t){let s={};return t.forEach((r,o)=>{s[`${e}${o}`]={schema:x,initial:r}}),s}var qm=_o()?128:192,FW=Math.ceil(qm/4)*qm*qm,Su=_o()?512:1024;var BW=Math.PI/180;var Xm=2.39996323,Mb=.27;var WW=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cam:n5(16,a5(32,Hc)),lightDir:f,voxelSize:a,lightT1:f,fill:a,lightT2:f,voxelScale:a,bevel:a,gridOrigin:a,gridN:a,gridW:a}),"VoxelMarchParams");var Hm=v.fn([ps(a),a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=a(__tsover_sub(Su,1)),i=q(s),d=q(r),c=__tsover_sub(s,i),_=__tsover_sub(r,d),u=R($(i,a(0),n)),m=R($(__tsover_add(i,1),a(0),n)),p=R($(d,a(0),n)),y=R($(__tsover_add(d,1),a(0),n)),h=C(a(0),a(1),Be(t,Ge(u,p),0).ra,VOXEL_SHADOW_RES:()=>Su,"std.floor":()=>q,"d.u32":()=>R,"std.clamp":()=>$,"std.select":()=>C,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.mix":()=>X}})&&e.f)({})).$name("voxelShadowCompare"),OW=v.fn([ps(a),f,f,f,f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=a(Su),u=__tsover_div(__tsover_mul(i,2),_),m=se(s,o),p=se(s,n),y=__tsover_sub(i,se(s,r)),h=__tsover_sub(__tsover_mul(__tsover_add(__tsover_mul(__tsover_div(m,i),.5),.5),_),.5),g=__tsover_sub(__tsover_mul(__tsover_add(__tsover_mul(__tsover_div(p,i),.5),.5),_),.5),w=__tsover_sub(y,__tsover_add(__tsover_mul(c,.05),__tsover_mul(u,2))),S=a(0);if(d<.001)S=Hm(t,h,g,w);else{let T=__tsover_mul(d,Mb),A=b(__tsover_div(oe(__tsover_mul(i,T),__tsover_mul(i,.25)),u),1),P=a(0),U=a(0);for(let D=0;D<8;D++){let O=__tsover_mul(be(__tsover_div(__tsover_add(a(D),.5),8)),A),L=__tsover_mul(a(D),Xm),G=$(__tsover_add(h,__tsover_mul(H(L),O)),a(0),__tsover_sub(_,1)),W=$(__tsover_add(g,__tsover_mul(Y(L),O)),a(0),__tsover_sub(_,1)),K=Be(t,Ge(R(G),R(W)),0).r;K.5){let D=__tsover_div(P,U),O=$(__tsover_div(__tsover_mul(__tsover_sub(y,D),T),u),1,A),L=a(0);for(let G=0;G<12;G++){let W=__tsover_mul(be(__tsover_div(__tsover_add(a(G),.5),12)),O),K=__tsover_add(__tsover_mul(a(G),Xm),.7);L=__tsover_add(L,Hm(t,__tsover_add(h,__tsover_mul(H(K),W)),__tsover_add(g,__tsover_mul(Y(K),W)),w))}S=__tsover_div(L,12)}}return S}),{v:2,name:void 0,ast:{params:[{type:"i",name:"tex"},{type:"i",name:"p"},{type:"i",name:"L"},{type:"i",name:"T1"},{type:"i",name:"T2"},{type:"i",name:"rBound"},{type:"i",name:"softness"},{type:"i",name:"voxel"}],body:[0,[[13,"RES",[6,"d.f32",["VOXEL_SHADOW_RES"]]],[13,"texelWorld",[1,[1,"rBound","*",[5,"2"]],"/","RES"]],[13,"u",[6,"std.dot",["p","T1"]]],[13,"w",[6,"std.dot",["p","T2"]]],[13,"dL",[1,"rBound","-",[6,"std.dot",["p","L"]]]],[13,"mx",[1,[1,[1,[1,[1,"u","/","rBound"],"*",[5,"0.5"]],"+",[5,"0.5"]],"*","RES"],"-",[5,"0.5"]]],[13,"my",[1,[1,[1,[1,[1,"w","/","rBound"],"*",[5,"0.5"]],"+",[5,"0.5"]],"*","RES"],"-",[5,"0.5"]]],[13,"ref",[1,"dL","-",[1,[1,"voxel","*",[5,"0.05"]],"+",[1,"texelWorld","*",[5,"2"]]]]],[12,"shadow",[6,"d.f32",[[5,"0"]]]],[11,[1,"softness","<",[5,"0.001"]],[0,[[2,"shadow","=",[6,"shadowCompare",["tex","mx","my","ref"]]]]],[0,[[13,"k",[1,"softness","*","SOFT_TAN"]],[13,"rSearch",[6,"std.max",[[1,[6,"std.min",[[1,"rBound","*","k"],[1,"rBound","*",[5,"0.25"]]]],"/","texelWorld"],[5,"1"]]]],[12,"sum",[6,"d.f32",[[5,"0"]]]],[12,"count",[6,"d.f32",[[5,"0"]]]],[14,[12,"s",[5,"0"]],[1,"s","<",[5,"8"]],[102,"++","s"],[0,[[13,"r",[1,[6,"std.sqrt",[[1,[1,[6,"d.f32",["s"]],"+",[5,"0.5"]],"/",[5,"8"]]]],"*","rSearch"]],[13,"th",[1,[6,"d.f32",["s"]],"*","GOLDEN_ANGLE"]],[13,"sx",[6,"std.clamp",[[1,"mx","+",[1,[6,"std.cos",["th"]],"*","r"]],[6,"d.f32",[[5,"0"]]],[1,"RES","-",[5,"1"]]]]],[13,"sy",[6,"std.clamp",[[1,"my","+",[1,[6,"std.sin",["th"]],"*","r"]],[6,"d.f32",[[5,"0"]]],[1,"RES","-",[5,"1"]]]]],[13,"dep",[7,[6,"std.textureLoad",["tex",[6,"d.vec2u",[[6,"d.u32",["sx"]],[6,"d.u32",["sy"]]]],[5,"0"]]],"r"]],[11,[1,"dep","<","ref"],[0,[[2,"sum","=",[1,"sum","+","dep"]],[2,"count","=",[1,"count","+",[5,"1"]]]]]]]]],[11,[1,"count",">",[5,"0.5"]],[0,[[13,"avgBlocker",[1,"sum","/","count"]],[13,"penumbra",[6,"std.clamp",[[1,[1,[1,"dL","-","avgBlocker"],"*","k"],"/","texelWorld"],[5,"1"],"rSearch"]]],[12,"acc",[6,"d.f32",[[5,"0"]]]],[14,[12,"s",[5,"0"]],[1,"s","<",[5,"12"]],[102,"++","s"],[0,[[13,"r",[1,[6,"std.sqrt",[[1,[1,[6,"d.f32",["s"]],"+",[5,"0.5"]],"/",[5,"12"]]]],"*","penumbra"]],[13,"th",[1,[1,[6,"d.f32",["s"]],"*","GOLDEN_ANGLE"],"+",[5,"0.7"]]],[2,"acc","=",[1,"acc","+",[6,"shadowCompare",["tex",[1,"mx","+",[1,[6,"std.cos",["th"]],"*","r"]],[1,"my","+",[1,[6,"std.sin",["th"]],"*","r"]],"ref"]]]]]]],[2,"shadow","=",[1,"acc","/",[5,"12"]]]]]]]]],[10,"shadow"]]]},externals:{"d.f32":()=>a,VOXEL_SHADOW_RES:()=>Su,"std.dot":()=>se,shadowCompare:()=>Hm,SOFT_TAN:()=>Mb,"std.max":()=>b,"std.min":()=>oe,"std.sqrt":()=>be,GOLDEN_ANGLE:()=>Xm,"std.clamp":()=>$,"std.cos":()=>H,"std.sin":()=>Y,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"d.u32":()=>R}})&&e.f)({})).$name("voxelShadowLookup"),Pb=v.fn([f,f,f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=C(a(-1),a(1),s.x>=0),i=C(a(-1),a(1),s.y>=0),d=C(a(-1),a(1),s.z>=0),c=__tsover_div(n,b(z(s.x),1e-6)),_=__tsover_div(i,b(z(s.y),1e-6)),u=__tsover_div(d,b(z(s.z),1e-6)),m=__tsover_mul(__tsover_sub(__tsover_sub(r.x,o),t.x),c),p=__tsover_mul(__tsover_sub(__tsover_add(r.x,o),t.x),c),y=__tsover_mul(__tsover_sub(__tsover_sub(r.y,o),t.y),_),h=__tsover_mul(__tsover_sub(__tsover_add(r.y,o),t.y),_),g=__tsover_mul(__tsover_sub(__tsover_sub(r.z,o),t.z),u),w=__tsover_mul(__tsover_sub(__tsover_add(r.z,o),t.z),u),S=b(oe(m,p),b(oe(y,h),oe(g,w))),T=oe(b(m,p),oe(b(y,h),b(g,w))),A=__tsover_mul(C(a(0),a(1),S<=T),C(a(0),a(1),T>=0));return C(a(-1),b(S,a(0)),A>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ro"},{type:"i",name:"rd"},{type:"i",name:"c"},{type:"i",name:"h"}],body:[0,[[13,"sx",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"d.f32",[[5,"1"]]],[1,[7,"rd","x"],">=",[5,"0"]]]]],[13,"sy",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"d.f32",[[5,"1"]]],[1,[7,"rd","y"],">=",[5,"0"]]]]],[13,"sz",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"d.f32",[[5,"1"]]],[1,[7,"rd","z"],">=",[5,"0"]]]]],[13,"ix",[1,"sx","/",[6,"std.max",[[6,"std.abs",[[7,"rd","x"]]],[5,"0.000001"]]]]],[13,"iy",[1,"sy","/",[6,"std.max",[[6,"std.abs",[[7,"rd","y"]]],[5,"0.000001"]]]]],[13,"iz",[1,"sz","/",[6,"std.max",[[6,"std.abs",[[7,"rd","z"]]],[5,"0.000001"]]]]],[13,"t1x",[1,[1,[1,[7,"c","x"],"-","h"],"-",[7,"ro","x"]],"*","ix"]],[13,"t2x",[1,[1,[1,[7,"c","x"],"+","h"],"-",[7,"ro","x"]],"*","ix"]],[13,"t1y",[1,[1,[1,[7,"c","y"],"-","h"],"-",[7,"ro","y"]],"*","iy"]],[13,"t2y",[1,[1,[1,[7,"c","y"],"+","h"],"-",[7,"ro","y"]],"*","iy"]],[13,"t1z",[1,[1,[1,[7,"c","z"],"-","h"],"-",[7,"ro","z"]],"*","iz"]],[13,"t2z",[1,[1,[1,[7,"c","z"],"+","h"],"-",[7,"ro","z"]],"*","iz"]],[13,"tIn",[6,"std.max",[[6,"std.min",["t1x","t2x"]],[6,"std.max",[[6,"std.min",["t1y","t2y"]],[6,"std.min",["t1z","t2z"]]]]]]],[13,"tOut",[6,"std.min",[[6,"std.max",["t1x","t2x"]],[6,"std.min",[[6,"std.max",["t1y","t2y"]],[6,"std.max",["t1z","t2z"]]]]]]],[13,"ok",[1,[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"tIn","<=","tOut"]]],"*",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"tOut",">=",[5,"0"]]]]]],[10,[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"std.max",["tIn",[6,"d.f32",[[5,"0"]]]]],[1,"ok",">",[5,"0.5"]]]]]]]},externals:{"std.select":()=>C,"d.f32":()=>a,"std.max":()=>b,"std.abs":()=>z,"std.min":()=>oe}})&&e.f)({})).$name("voxelRayBox"),VW=v.fn([f,f,f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=t.sub(r),i=se(n,s),d=__tsover_sub(se(n,n),__tsover_mul(o,o)),c=__tsover_sub(__tsover_mul(i,i),d),_=__tsover_sub(__tsover_mul(i,-1),be(b(c,0))),u=__tsover_mul(C(a(0),a(1),c>=0),C(a(0),a(1),_>=0));return C(a(-1),_,u>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ro"},{type:"i",name:"rd"},{type:"i",name:"c"},{type:"i",name:"h"}],body:[0,[[13,"oc",[6,[7,"ro","sub"],["c"]]],[13,"b",[6,"std.dot",["oc","rd"]]],[13,"cc",[1,[6,"std.dot",["oc","oc"]],"-",[1,"h","*","h"]]],[13,"disc",[1,[1,"b","*","b"],"-","cc"]],[13,"t",[1,[1,"b","*",[4,"-",[5,"1"]]],"-",[6,"std.sqrt",[[6,"std.max",["disc",[5,"0"]]]]]]],[13,"ok",[1,[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"disc",">=",[5,"0"]]]],"*",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"t",">=",[5,"0"]]]]]],[10,[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],"t",[1,"ok",">",[5,"0.5"]]]]]]]},externals:{"std.dot":()=>se,"std.sqrt":()=>be,"std.max":()=>b,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})).$name("voxelRaySphere"),NW=v.fn([f,f,f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=Pb(t,s,r,o),d=a(-1);if(i>=0){let c=i,_=a(0);for(let u=0;u<8;u++){let m=Ec(t.add(s.mul(c)).sub(r),o,o,o,n);if(m<__tsover_mul(o,.004)){_=a(1);break}if(c=__tsover_add(c,m),c>__tsover_add(i,__tsover_mul(o,3.5)))break}d=C(a(-1),c,_>.5)}return d}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ro"},{type:"i",name:"rd"},{type:"i",name:"c"},{type:"i",name:"h"},{type:"i",name:"r"}],body:[0,[[13,"tBox",[6,"voxelRayBox",["ro","rd","c","h"]]],[12,"t",[6,"d.f32",[[4,"-",[5,"1"]]]]],[11,[1,"tBox",">=",[5,"0"]],[0,[[12,"s","tBox"],[12,"hit",[6,"d.f32",[[5,"0"]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"8"]],[102,"++","i"],[0,[[13,"p",[6,[7,[6,[7,"ro","add"],[[6,[7,"rd","mul"],["s"]]]],"sub"],["c"]]],[13,"dd",[6,"sdRoundBox",["p","h","h","h","r"]]],[11,[1,"dd","<",[1,"h","*",[5,"0.004"]]],[0,[[2,"hit","=",[6,"d.f32",[[5,"1"]]]],[17]]]],[2,"s","=",[1,"s","+","dd"]],[11,[1,"s",">",[1,"tBox","+",[1,"h","*",[5,"3.5"]]]],[0,[[17]]]]]]],[2,"t","=",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],"s",[1,"hit",">",[5,"0.5"]]]]]]]],[10,"t"]]]},externals:{voxelRayBox:()=>Pb,"d.f32":()=>a,sdRoundBox:()=>Ec,"std.select":()=>C}})&&e.f)({})).$name("voxelRayRoundedBox");var zG=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_sub(1,t),o=re(0,.14,t),n=re(.68,.92,t);return X(r,X(a(1),__tsover_mul(.72,__tsover_sub(1,n)),o),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"shape"}],body:[0,[[13,"sRound",[1,[5,"1"],"-","t"]],[13,"k1",[6,"std.smoothstep",[[5,"0"],[5,"0.14"],"t"]]],[13,"k2",[6,"std.smoothstep",[[5,"0.68"],[5,"0.92"],"t"]]],[13,"sMach",[6,"std.mix",[[6,"d.f32",[[5,"1"]]],[1,[5,"0.72"],"*",[1,[5,"1"],"-","k2"]],"k1"]]],[10,[6,"std.mix",["sRound","sMach","shape"]]]]]},externals:{"std.smoothstep":()=>re,"std.mix":()=>X,"d.f32":()=>a}})&&e.f)({})),sw=Za({BLUR_DISK:()=>Ya,GlassLensUVs:()=>hl,applyGlassEffect:()=>YG,glassBlurOffset:()=>aw,glassBorderHighlight:()=>Af,glassComposite:()=>iw,glassFresnelRim:()=>Pf,glassGradient:()=>ow,glassLensUVs:()=>nw,glassRefrStrength:()=>$c,glassSpecular:()=>Mf,glassTint:()=>Sf,offsetUV:()=>Tf,sdfSpaceUV:()=>rw}),ra=.017453292519943295,tl=.4472135954999579,GG=2.3999632297286535,wf=9,Ya=[];for(let e=0;e(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=t.x,d=__tsover_sub(1,t.y),c=__tsover_mul(__tsover_sub(o.x,i),n),_=__tsover_sub(o.y,d),u=__tsover_mul(r,ra),m=H(u),p=Y(u),y=__tsover_add(__tsover_mul(c,m),__tsover_mul(_,p)),h=__tsover_sub(__tsover_mul(_,m),__tsover_mul(c,p));return l(__tsover_add(__tsover_div(y,s),.5),__tsover_add(__tsover_div(h,s),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"scale"},{type:"i",name:"rotation"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"centerX",[7,"center","x"]],[13,"centerY",[1,[5,"1"],"-",[7,"center","y"]]],[13,"dxAc",[1,[1,[7,"uv","x"],"-","centerX"],"*","aspect"]],[13,"dy",[1,[7,"uv","y"],"-","centerY"]],[13,"rotRad",[1,"rotation","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rdx",[1,[1,"dxAc","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dxAc","*","sinR"]]],[10,[6,"d.vec2f",[[1,[1,"rdx","/","scale"],"+",[5,"0.5"]],[1,[1,"rdy","/","scale"],"+",[5,"0.5"]]]]]]]},externals:{DEG_TO_RAD:()=>ra,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),Tf=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_add(t.x,s),__tsover_add(t.y,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+","ox"],[1,[7,"uv","y"],"+","oy"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),ow=v.fn([a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_div(__tsover_sub(s,t),.01),__tsover_div(__tsover_sub(r,t),.01))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdfRaw"},{type:"i",name:"sdfX"},{type:"i",name:"sdfY"}],body:[0,[[13,"eps",[5,"0.01"]],[10,[6,"d.vec2f",[[1,[1,"sdfX","-","sdfRaw"],"/","eps"],[1,[1,"sdfY","-","sdfRaw"],"/","eps"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),$c=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=b(__tsover_mul(s,.3),.005),n=$(__tsover_div(__tsover_mul(t,-1),o),0,1),i=re(0,1,n);return C(__tsover_mul(__tsover_sub(1,n),__tsover_sub(1,n)),i,r>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"thickness"},{type:"i",name:"volumetric"}],body:[0,[[13,"thicknessRange",[6,"std.max",[[1,"thickness","*",[5,"0.3"]],[5,"0.005"]]]],[13,"depthNorm",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","thicknessRange"],[5,"0"],[5,"1"]]]],[13,"vol",[6,"std.smoothstep",[[5,"0"],[5,"1"],"depthNorm"]]],[13,"flat",[1,[1,[5,"1"],"-","depthNorm"],"*",[1,[5,"1"],"-","depthNorm"]]],[10,[6,"std.select",["flat","vol",[1,"volumetric",">",[5,"0.5"]]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.smoothstep":()=>re,"std.select":()=>C}})&&e.f)({})),hl=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({lensUV:l,rUV:l,bUV:l}),"GlassLensUVs"),nw=v.fn([l,l,a,a,a,a,a,a,a,a,a,a],hl)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p)=>{"use gpu";let y=$c(__tsover_div(r,o),_,p),h=__tsover_mul(d,.15),g=b(be(__tsover_add(__tsover_mul(n,n),__tsover_mul(i,i))),1e-4),w=oe(a(1),__tsover_div(12,g)),S=__tsover_div(__tsover_mul(__tsover_mul(__tsover_mul(__tsover_mul(n,w),-1),h),y),m),T=__tsover_mul(__tsover_mul(__tsover_mul(__tsover_mul(i,w),-1),h),y),A=s.x,P=__tsover_sub(1,s.y),U=__tsover_add(A,__tsover_div(__tsover_sub(t.x,A),c)),D=__tsover_add(P,__tsover_div(__tsover_sub(t.y,P),c)),O=__tsover_add(U,S),L=__tsover_add(D,T),G=__tsover_mul(u,.06),W=__tsover_mul(S,G),K=__tsover_mul(T,G);return hl({lensUV:l(O,L),rUV:l(__tsover_add(O,W),__tsover_add(L,K)),bUV:l(__tsover_sub(O,W),__tsover_sub(L,K))})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"center"},{type:"i",name:"sdfRaw"},{type:"i",name:"scale"},{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"refraction"},{type:"i",name:"innerZoom"},{type:"i",name:"thickness"},{type:"i",name:"aberration"},{type:"i",name:"aspect"},{type:"i",name:"volumetric"}],body:[0,[[13,"sdf",[1,"sdfRaw","/","scale"]],[13,"refrStrength",[6,"glassRefrStrength",["sdf","thickness","volumetric"]]],[13,"refrScale",[1,"refraction","*",[5,"0.15"]]],[13,"slopeLen",[6,"std.max",[[6,"std.sqrt",[[1,[1,"gradX","*","gradX"],"+",[1,"gradY","*","gradY"]]]],[5,"0.0001"]]]],[13,"slopeScale",[6,"std.min",[[6,"d.f32",[[5,"1"]]],[1,[5,"12"],"/","slopeLen"]]]],[13,"offsetX",[1,[1,[1,[1,[1,"gradX","*","slopeScale"],"*",[4,"-",[5,"1"]]],"*","refrScale"],"*","refrStrength"],"/","aspect"]],[13,"offsetY",[1,[1,[1,[1,"gradY","*","slopeScale"],"*",[4,"-",[5,"1"]]],"*","refrScale"],"*","refrStrength"]],[13,"centerX",[7,"center","x"]],[13,"centerY",[1,[5,"1"],"-",[7,"center","y"]]],[13,"zoomedX",[1,"centerX","+",[1,[1,[7,"uv","x"],"-","centerX"],"/","innerZoom"]]],[13,"zoomedY",[1,"centerY","+",[1,[1,[7,"uv","y"],"-","centerY"],"/","innerZoom"]]],[13,"lensX",[1,"zoomedX","+","offsetX"]],[13,"lensY",[1,"zoomedY","+","offsetY"]],[13,"chrScale",[1,"aberration","*",[5,"0.06"]]],[13,"chrOffX",[1,"offsetX","*","chrScale"]],[13,"chrOffY",[1,"offsetY","*","chrScale"]],[10,[6,"GlassLensUVs",[[104,{lensUV:[6,"d.vec2f",["lensX","lensY"]],rUV:[6,"d.vec2f",[[1,"lensX","+","chrOffX"],[1,"lensY","+","chrOffY"]]],bUV:[6,"d.vec2f",[[1,"lensX","-","chrOffX"],[1,"lensY","-","chrOffY"]]]}]]]]]]},externals:{glassRefrStrength:()=>$c,"std.max":()=>b,"std.sqrt":()=>be,"std.min":()=>oe,"d.f32":()=>a,GlassLensUVs:()=>hl,"d.vec2f":()=>l}})&&e.f)({})),aw=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,2);return l(__tsover_mul(__tsover_div(r,t.x),n),__tsover_mul(__tsover_div(o,t.y),n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"viewportSize"},{type:"i",name:"blur"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[13,"m",[1,"blur","*",[5,"2"]]],[10,[6,"d.vec2f",[[1,[1,"ox","/",[7,"viewportSize","x"]],"*","m"],[1,[1,"oy","/",[7,"viewportSize","y"]],"*","m"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Sf=v.fn([f,f,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=f(.299,.587,.114),i=se(t,n),d=X(t,s,r),c=se(d,n);return X(d,d.mul(__tsover_div(i,b(c,1e-4))),C(a(0),a(1),o>.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"tintColor"},{type:"i",name:"tintIntensity"},{type:"i",name:"preserveLum"}],body:[0,[[13,"lumWeights",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]],[13,"origLum",[6,"std.dot",["rgb","lumWeights"]]],[13,"tinted",[6,"std.mix",["rgb","tintColor","tintIntensity"]]],[13,"tintedLum",[6,"std.dot",["tinted","lumWeights"]]],[13,"lumPreserved",[6,[7,"tinted","mul"],[[1,"origLum","/",[6,"std.max",["tintedLum",[5,"0.0001"]]]]]]],[13,"preserveFactor",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"preserveLum",">",[5,"0.5"]]]]],[10,[6,"std.mix",["tinted","lumPreserved","preserveFactor"]]]]]},externals:{"d.vec3f":()=>f,"std.dot":()=>se,"std.mix":()=>X,"std.max":()=>b,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})),Af=v.fn([a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=b(__tsover_mul(s,.5),.001),_=b(__tsover_mul(c,.0625),__tsover_mul(r,1.5)),u=__tsover_sub(t,r),m=__tsover_sub($(__tsover_div(__tsover_mul(u,-1),_),0,1),$(__tsover_div(__tsover_mul(t,-1),_),0,1)),p=H(__tsover_mul(i,ra)),y=Y(__tsover_mul(i,ra)),h=__tsover_add(__tsover_mul(o,p),__tsover_mul(n,y)),g=$(__tsover_add(__tsover_mul(h,.5),.5),0,1);return __tsover_mul(__tsover_mul(m,g),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"edgeSoftness"},{type:"i",name:"pxH"},{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"lightAngle"},{type:"i",name:"highlight"}],body:[0,[[13,"sharp",[6,"std.max",[[1,"edgeSoftness","*",[5,"0.5"]],[5,"0.001"]]]],[13,"w2",[6,"std.max",[[1,"sharp","*",[5,"0.0625"]],[1,"pxH","*",[5,"1.5"]]]]],[13,"sdfOuter",[1,"sdf","-","pxH"]],[13,"rb2base",[1,[6,"std.clamp",[[1,[1,"sdfOuter","*",[4,"-",[5,"1"]]],"/","w2"],[5,"0"],[5,"1"]]],"-",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","w2"],[5,"0"],[5,"1"]]]]],[13,"lx",[6,"std.cos",[[1,"lightAngle","*","DEG_TO_RAD"]]]],[13,"ly",[6,"std.sin",[[1,"lightAngle","*","DEG_TO_RAD"]]]],[13,"normalDotLight",[1,[1,"gradX","*","lx"],"+",[1,"gradY","*","ly"]]],[13,"lightFacing",[6,"std.clamp",[[1,[1,"normalDotLight","*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[10,[1,[1,"rb2base","*","lightFacing"],"*","highlight"]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.cos":()=>H,DEG_TO_RAD:()=>ra,"std.sin":()=>Y}})&&e.f)({})),Mf=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=H(__tsover_mul(r,ra)),c=Y(__tsover_mul(r,ra)),_=a(2),u=be(__tsover_add(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s)),__tsover_mul(_,_))),m=__tsover_div(t,u),p=__tsover_div(s,u),y=__tsover_div(_,u),h=__tsover_add(__tsover_add(__tsover_mul(m,__tsover_mul(d,tl)),__tsover_mul(p,__tsover_mul(c,tl))),__tsover_mul(y,__tsover_mul(2,tl))),g=$l(__tsover_sub(8,__tsover_mul(n,7)));return __tsover_mul(__tsover_mul(Ce($(h,0,1),g),o),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"lightAngle"},{type:"i",name:"highlight"},{type:"i",name:"highlightSoftness"},{type:"i",name:"refrStrength"}],body:[0,[[13,"lx",[6,"std.cos",[[1,"lightAngle","*","DEG_TO_RAD"]]]],[13,"ly",[6,"std.sin",[[1,"lightAngle","*","DEG_TO_RAD"]]]],[13,"nz",[6,"d.f32",[[5,"2"]]]],[13,"nLen",[6,"std.sqrt",[[1,[1,[1,"gradX","*","gradX"],"+",[1,"gradY","*","gradY"]],"+",[1,"nz","*","nz"]]]]],[13,"nx",[1,"gradX","/","nLen"]],[13,"ny",[1,"gradY","/","nLen"]],[13,"nnz",[1,"nz","/","nLen"]],[13,"nDotH",[1,[1,[1,"nx","*",[1,"lx","*","INV_HLEN_GLASS"]],"+",[1,"ny","*",[1,"ly","*","INV_HLEN_GLASS"]]],"+",[1,"nnz","*",[1,[5,"2"],"*","INV_HLEN_GLASS"]]]],[13,"shininess",[6,"std.exp2",[[1,[5,"8"],"-",[1,"highlightSoftness","*",[5,"7"]]]]]],[10,[1,[1,[6,"std.pow",[[6,"std.clamp",["nDotH",[5,"0"],[5,"1"]]],"shininess"]],"*","highlight"],"*","refrStrength"]]]]},externals:{"std.cos":()=>H,DEG_TO_RAD:()=>ra,"std.sin":()=>Y,"d.f32":()=>a,"std.sqrt":()=>be,INV_HLEN_GLASS:()=>tl,"std.exp2":()=>$l,"std.pow":()=>Ce,"std.clamp":()=>$}})&&e.f)({})),Pf=v.fn([a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_add(__tsover_mul(s,s),__tsover_mul(r,r)),_=__tsover_div(1,be(__tsover_add(c,1))),u=X(6,1.5,$(n,0,1)),m=__tsover_mul(__tsover_mul(__tsover_mul(Ce(__tsover_sub(1,_),u),o),2),i),p=b(__tsover_mul(n,.06),.001),y=$(__tsover_div(__tsover_mul(t,-1),p),0,1);return C(__tsover_mul(__tsover_mul(__tsover_mul(__tsover_sub(1,y),__tsover_sub(1,y)),o),i),m,d>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"fresnel"},{type:"i",name:"fresnelSoftness"},{type:"i",name:"rb1"},{type:"i",name:"volumetric"}],body:[0,[[13,"slopeSq",[1,[1,"gradX","*","gradX"],"+",[1,"gradY","*","gradY"]]],[13,"cosView",[1,[5,"1"],"/",[6,"std.sqrt",[[1,"slopeSq","+",[5,"1"]]]]]],[13,"exponent",[6,"std.mix",[[5,"6"],[5,"1.5"],[6,"std.clamp",["fresnelSoftness",[5,"0"],[5,"1"]]]]]],[13,"volRim",[1,[1,[1,[6,"std.pow",[[1,[5,"1"],"-","cosView"],"exponent"]],"*","fresnel"],"*",[5,"2"]],"*","rb1"]],[13,"fresnelWidth",[6,"std.max",[[1,"fresnelSoftness","*",[5,"0.06"]],[5,"0.001"]]]],[13,"fresnelDepth",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","fresnelWidth"],[5,"0"],[5,"1"]]]],[13,"flatRim",[1,[1,[1,[1,[5,"1"],"-","fresnelDepth"],"*",[1,[5,"1"],"-","fresnelDepth"]],"*","fresnel"],"*","rb1"]],[10,[6,"std.select",["flatRim","volRim",[1,"volumetric",">",[5,"0.5"]]]]]]]},externals:{"std.sqrt":()=>be,"std.mix":()=>X,"std.clamp":()=>$,"std.pow":()=>Ce,"std.max":()=>b,"std.select":()=>C}})&&e.f)({})),iw=v.fn([x,x,a,a,a,a,l,a,a,a,f,a,a,f,a,a,f,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p,y,h,g,w,S,T,A,P,U)=>{"use gpu";let D=b(__tsover_mul(c,.5),.001),O=__tsover_div(1,d.y),L=__tsover_div(r,o),G=b(__tsover_mul(D,.03125),__tsover_mul(O,1.5)),W=$(__tsover_div(__tsover_mul(L,-1),G),0,1),K=$c(L,w,U),Q=Af(L,c,O,n,i,_,u),te=Sf(f(s.x,s.y,s.z),S,T,A),ee=Mf(n,i,_,u,p,K),he=Pf(L,n,i,y,g,W,U),Ee=x(__tsover_add(__tsover_add(__tsover_add(te.x,__tsover_mul(m.x,Q)),__tsover_mul(m.x,ee)),__tsover_mul(h.x,he)),__tsover_add(__tsover_add(__tsover_add(te.y,__tsover_mul(m.y,Q)),__tsover_mul(m.y,ee)),__tsover_mul(h.y,he)),__tsover_add(__tsover_add(__tsover_add(te.z,__tsover_mul(m.z,Q)),__tsover_mul(m.z,ee)),__tsover_mul(h.z,he)),__tsover_add(s.w,Q)),Te=re(0,1,W),Ue=X(t,Ee,Te),Me=C(a(1),Te,P>.5);return x(Ue.x,Ue.y,Ue.z,__tsover_mul(Ue.w,Me))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"baseColor"},{type:"i",name:"blurred"},{type:"i",name:"sdfRaw"},{type:"i",name:"scale"},{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"viewportSize"},{type:"i",name:"edgeSoftness"},{type:"i",name:"lightAngle"},{type:"i",name:"highlight"},{type:"i",name:"highlightColor"},{type:"i",name:"highlightSoftness"},{type:"i",name:"fresnel"},{type:"i",name:"fresnelColor"},{type:"i",name:"fresnelSoftness"},{type:"i",name:"thickness"},{type:"i",name:"tintColor"},{type:"i",name:"tintIntensity"},{type:"i",name:"tintPreserveLuminosity"},{type:"i",name:"cutout"},{type:"i",name:"volumetric"}],body:[0,[[13,"sharp",[6,"std.max",[[1,"edgeSoftness","*",[5,"0.5"]],[5,"0.001"]]]],[13,"pxH",[1,[5,"1"],"/",[7,"viewportSize","y"]]],[13,"sdf",[1,"sdfRaw","/","scale"]],[13,"w1",[6,"std.max",[[1,"sharp","*",[5,"0.03125"]],[1,"pxH","*",[5,"1.5"]]]]],[13,"rb1",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","w1"],[5,"0"],[5,"1"]]]],[13,"refrStrength",[6,"glassRefrStrength",["sdf","thickness","volumetric"]]],[13,"rb2",[6,"glassBorderHighlight",["sdf","edgeSoftness","pxH","gradX","gradY","lightAngle","highlight"]]],[13,"blurredRgb",[6,"d.vec3f",[[7,"blurred","x"],[7,"blurred","y"],[7,"blurred","z"]]]],[13,"tintedRgb",[6,"glassTint",["blurredRgb","tintColor","tintIntensity","tintPreserveLuminosity"]]],[13,"specGlint",[6,"glassSpecular",["gradX","gradY","lightAngle","highlight","highlightSoftness","refrStrength"]]],[13,"fresnelRim",[6,"glassFresnelRim",["sdf","gradX","gradY","fresnel","fresnelSoftness","rb1","volumetric"]]],[13,"litR",[1,[1,[1,[7,"tintedRgb","x"],"+",[1,[7,"highlightColor","x"],"*","rb2"]],"+",[1,[7,"highlightColor","x"],"*","specGlint"]],"+",[1,[7,"fresnelColor","x"],"*","fresnelRim"]]],[13,"litG",[1,[1,[1,[7,"tintedRgb","y"],"+",[1,[7,"highlightColor","y"],"*","rb2"]],"+",[1,[7,"highlightColor","y"],"*","specGlint"]],"+",[1,[7,"fresnelColor","y"],"*","fresnelRim"]]],[13,"litB",[1,[1,[1,[7,"tintedRgb","z"],"+",[1,[7,"highlightColor","z"],"*","rb2"]],"+",[1,[7,"highlightColor","z"],"*","specGlint"]],"+",[1,[7,"fresnelColor","z"],"*","fresnelRim"]]],[13,"litA",[1,[7,"blurred","w"],"+","rb2"]],[13,"lighting",[6,"d.vec4f",["litR","litG","litB","litA"]]],[13,"transition",[6,"std.smoothstep",[[5,"0"],[5,"1"],"rb1"]]],[13,"composited",[6,"std.mix",["baseColor","lighting","transition"]]],[13,"cutoutAlpha",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"transition",[1,"cutout",">",[5,"0.5"]]]]],[10,[6,"d.vec4f",[[7,"composited","x"],[7,"composited","y"],[7,"composited","z"],[1,[7,"composited","w"],"*","cutoutAlpha"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,glassRefrStrength:()=>$c,glassBorderHighlight:()=>Af,"d.vec3f":()=>f,glassTint:()=>Sf,glassSpecular:()=>Mf,glassFresnelRim:()=>Pf,"d.vec4f":()=>x,"std.smoothstep":()=>re,"std.mix":()=>X,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({}));function YG(e,t,s,r,o){let{uniforms:n,propValues:i,ctx:d}=e,c=o?.volumetric??!1,_=o?.bakedGradients??!1,u=vt(c?1:0),m=ur(we(rw,"sdfSpaceUV",[n.center,n.scale,n.rotation,d.uv,d.aspect]),"glassSdfUV"),p=ur(t(m),"glassSurf"),y=p.member("r"),h,g;if(_)h=p.member("g"),g=p.member("b");else{let Q=t(we(Tf,"offsetUV",[m,vt(.01),vt(0)])),te=t(we(Tf,"offsetUV",[m,vt(0),vt(.01)])),ee=ur(we(ow,"glassGradient",[y,Q.member("r"),te.member("r")]),"glassGrad");h=ee.member("x"),g=ee.member("y")}let w=ur(we(nw,"glassLensUVs",[d.uv,n.center,y,n.scale,h,g,n.refraction,n.innerZoom,n.thickness,n.aberration,d.aspect,u]),"glassLens"),S=w.member("lensUV"),T=w.member("rUV"),A=w.member("bUV"),P=i.blur,U=typeof P=="number"?P>0:!0,D=i.aberration,O=typeof D=="number"?D>0:!0,L=(Q,te,ee,he)=>Q.sample(te.add(we(aw,"glassBlurOffset",[d.viewportSize,n.blur,vt(ee),vt(he)]))),G=(Q,te)=>{let ee=L(Q,te,Ya[0][0],Ya[0][1]);for(let he=1;he(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(t.x,t.y),o=__tsover_div(s.x,s.y),n=b(__tsover_div(o,r),1);return l(__tsover_mul(__tsover_div(r,o),n),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dims"},{type:"i",name:"vp"}],body:[0,[[13,"aspect",[1,[7,"dims","x"],"/",[7,"dims","y"]]],[13,"viewportAspect",[1,[7,"vp","x"],"/",[7,"vp","y"]]],[13,"coverScale",[6,"std.max",[[1,"viewportAspect","/","aspect"],[5,"1"]]]],[10,[6,"d.vec2f",[[1,[1,"aspect","/","viewportAspect"],"*","coverScale"],"coverScale"]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),XW=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(t.x,t.y),o=__tsover_div(s.x,s.y),n=oe(__tsover_div(o,r),1);return l(__tsover_mul(__tsover_div(r,o),n),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dims"},{type:"i",name:"vp"}],body:[0,[[13,"aspect",[1,[7,"dims","x"],"/",[7,"dims","y"]]],[13,"viewportAspect",[1,[7,"vp","x"],"/",[7,"vp","y"]]],[13,"containScale",[6,"std.min",[[1,"viewportAspect","/","aspect"],[5,"1"]]]],[10,[6,"d.vec2f",[[1,[1,"aspect","/","viewportAspect"],"*","containScale"],"containScale"]]]]]},externals:{"std.min":()=>oe,"d.vec2f":()=>l}})&&e.f)({})),HW=v.fn([],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(()=>{"use gpu";return l(1,1)}),{v:2,name:void 0,ast:{params:[],body:[0,[[10,[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),jW=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(t.x,t.y),o=__tsover_div(s.x,s.y),n=oe(oe(__tsover_div(o,r),1),oe(__tsover_div(s.x,t.x),__tsover_div(s.y,t.y)));return l(__tsover_mul(__tsover_div(r,o),n),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dims"},{type:"i",name:"vp"}],body:[0,[[13,"aspect",[1,[7,"dims","x"],"/",[7,"dims","y"]]],[13,"viewportAspect",[1,[7,"vp","x"],"/",[7,"vp","y"]]],[13,"containScale",[6,"std.min",[[1,"viewportAspect","/","aspect"],[5,"1"]]]],[13,"naturalScale",[6,"std.min",[[1,[7,"vp","x"],"/",[7,"dims","x"]],[1,[7,"vp","y"],"/",[7,"dims","y"]]]]],[13,"scaleDownScale",[6,"std.min",["containScale","naturalScale"]]],[10,[6,"d.vec2f",[[1,[1,"aspect","/","viewportAspect"],"*","scaleDownScale"],"scaleDownScale"]]]]]},externals:{"std.min":()=>oe,"d.vec2f":()=>l}})&&e.f)({})),KW=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(t.x,t.y),o=__tsover_div(s.x,s.y),n=oe(__tsover_div(s.x,t.x),__tsover_div(s.y,t.y));return l(__tsover_mul(__tsover_div(r,o),n),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dims"},{type:"i",name:"vp"}],body:[0,[[13,"aspect",[1,[7,"dims","x"],"/",[7,"dims","y"]]],[13,"viewportAspect",[1,[7,"vp","x"],"/",[7,"vp","y"]]],[13,"noneScale",[6,"std.min",[[1,[7,"vp","x"],"/",[7,"dims","x"]],[1,[7,"vp","y"],"/",[7,"dims","y"]]]]],[10,[6,"d.vec2f",[[1,[1,"aspect","/","viewportAspect"],"*","noneScale"],"noneScale"]]]]]},externals:{"std.min":()=>oe,"d.vec2f":()=>l}})&&e.f)({})),ZW=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.sub(l(.5,.5));return l(__tsover_div(r.x,s.x),__tsover_div(r.y,s.y)).add(l(.5,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"uvScale"}],body:[0,[[13,"centeredUV",[6,[7,"uv","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"scaledUV",[6,"d.vec2f",[[1,[7,"centeredUV","x"],"/",[7,"uvScale","x"]],[1,[7,"centeredUV","y"],"/",[7,"uvScale","y"]]]]],[10,[6,[7,"scaledUV","add"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),QW=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(C(t.x,__tsover_sub(1,t.x),s>0),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"mirror"}],body:[0,[[13,"mirroredX",[6,"std.select",[[7,"uv","x"],[1,[5,"1"],"-",[7,"uv","x"]],[1,"mirror",">",[5,"0"]]]]],[10,[6,"d.vec2f",["mirroredX",[7,"uv","y"]]]]]]},externals:{"std.select":()=>C,"d.vec2f":()=>l}})&&e.f)({})),JW=v.fn([x,l],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=y3(f(t.x,t.y,t.z)),o=s.x<0||s.x>1||s.y<0||s.y>1,n=C(t.w,0,o);return x(r.x,r.y,r.z,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"}],body:[0,[[13,"linear",[6,"srgbToLinear",[[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]]]],[13,"outOfBounds",[3,[3,[3,[1,[7,"uv","x"],"<",[5,"0"]],"||",[1,[7,"uv","x"],">",[5,"1"]]],"||",[1,[7,"uv","y"],"<",[5,"0"]]],"||",[1,[7,"uv","y"],">",[5,"1"]]]],[13,"alpha",[6,"std.select",[[7,"color","w"],[5,"0"],"outOfBounds"]]],[10,[6,"d.vec4f",[[7,"linear","x"],[7,"linear","y"],[7,"linear","z"],"alpha"]]]]]},externals:{srgbToLinear:()=>y3,"d.vec3f":()=>f,"std.select":()=>C,"d.vec4f":()=>x}})&&e.f)({}));var eO=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=z(s),i=__tsover_sub(r,t),d=o,c=__tsover_mul(r,2),_=$(__tsover_div(__tsover_add(__tsover_mul(n,d),__tsover_mul(i,c)),b(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c)),1e-9)),0,1),u=__tsover_sub(n,__tsover_mul(d,_)),m=__tsover_sub(i,__tsover_mul(c,_)),p=__tsover_sub(n,__tsover_mul(d,$(__tsover_div(n,b(d,1e-9)),0,1))),y=__tsover_sub(i,c),h=oe(__tsover_add(__tsover_mul(u,u),__tsover_mul(m,m)),__tsover_add(__tsover_mul(p,p),__tsover_mul(y,y))),g=oe(__tsover_sub(__tsover_mul(i,d),__tsover_mul(n,c)),__tsover_sub(c,i))>0;return C(be(h),-be(h),g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"n"},{type:"i",name:"hl"},{type:"i",name:"hw"}],body:[0,[[13,"px",[6,"std.abs",["n"]]],[13,"py",[1,"hl","-","t"]],[13,"qx","hw"],[13,"qy",[1,"hl","*",[5,"2"]]],[13,"k",[6,"std.clamp",[[1,[1,[1,"px","*","qx"],"+",[1,"py","*","qy"]],"/",[6,"std.max",[[1,[1,"qx","*","qx"],"+",[1,"qy","*","qy"]],[5,"1e-9"]]]],[5,"0"],[5,"1"]]]],[13,"ax",[1,"px","-",[1,"qx","*","k"]]],[13,"ay",[1,"py","-",[1,"qy","*","k"]]],[13,"bx",[1,"px","-",[1,"qx","*",[6,"std.clamp",[[1,"px","/",[6,"std.max",["qx",[5,"1e-9"]]]],[5,"0"],[5,"1"]]]]]],[13,"by",[1,"py","-","qy"]],[13,"dSq",[6,"std.min",[[1,[1,"ax","*","ax"],"+",[1,"ay","*","ay"]],[1,[1,"bx","*","bx"],"+",[1,"by","*","by"]]]]],[13,"sA",[1,[1,"py","*","qx"],"-",[1,"px","*","qy"]]],[13,"sB",[1,"qy","-","py"]],[13,"inside",[1,[6,"std.min",["sA","sB"]],">",[5,"0"]]],[10,[6,"std.select",[[6,"std.sqrt",["dSq"]],[4,"-",[6,"std.sqrt",["dSq"]]],"inside"]]]]]},externals:{"std.abs":()=>z,"std.clamp":()=>$,"std.max":()=>b,"std.min":()=>oe,"std.select":()=>C,"std.sqrt":()=>be}})&&e.f)({})).$name("agentArrowSdf"),tO=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(t,$(t,-r,r));return __tsover_sub(be(__tsover_add(__tsover_mul(n,n),__tsover_mul(s,s))),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"n"},{type:"i",name:"hl"},{type:"i",name:"r"}],body:[0,[[13,"tc",[1,"t","-",[6,"std.clamp",["t",[4,"-","hl"],"hl"]]]],[10,[1,[6,"std.sqrt",[[1,[1,"tc","*","tc"],"+",[1,"n","*","n"]]]],"-","r"]]]]},externals:{"std.clamp":()=>$,"std.sqrt":()=>be}})&&e.f)({})).$name("agentCapsuleSdf"),sO=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(z(t),r),i=__tsover_sub(z(s),o),d=b(n,0),c=b(i,0);return __tsover_add(be(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c))),oe(b(n,i),0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"n"},{type:"i",name:"hl"},{type:"i",name:"hw"}],body:[0,[[13,"qx",[1,[6,"std.abs",["t"]],"-","hl"]],[13,"qy",[1,[6,"std.abs",["n"]],"-","hw"]],[13,"ox",[6,"std.max",["qx",[5,"0"]]]],[13,"oy",[6,"std.max",["qy",[5,"0"]]]],[10,[1,[6,"std.sqrt",[[1,[1,"ox","*","ox"],"+",[1,"oy","*","oy"]]]],"+",[6,"std.min",[[6,"std.max",["qx","qy"]],[5,"0"]]]]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.sqrt":()=>be,"std.min":()=>oe}})&&e.f)({})).$name("agentBoxSdf");var rO=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=j(t),i=C(l(0,0),t.div(b(n,1e-5)).mul(r),n>1e-5).sub(s),d=j(i);return C(i,i.div(b(d,1e-5)).mul(o),d>o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dir"},{type:"i",name:"vel"},{type:"i",name:"maxSpeed"},{type:"i",name:"maxForce"}],body:[0,[[13,"len",[6,"std.length",["dir"]]],[13,"desired",[6,"std.select",[[6,"d.vec2f",[[5,"0"],[5,"0"]]],[6,[7,[6,[7,"dir","div"],[[6,"std.max",["len",[5,"0.00001"]]]]],"mul"],["maxSpeed"]],[1,"len",">",[5,"0.00001"]]]]],[13,"steer",[6,[7,"desired","sub"],["vel"]]],[13,"sl",[6,"std.length",["steer"]]],[10,[6,"std.select",["steer",[6,[7,[6,[7,"steer","div"],[[6,"std.max",["sl",[5,"0.00001"]]]]],"mul"],["maxForce"]],[1,"sl",">","maxForce"]]]]]]},externals:{"std.length":()=>j,"std.select":()=>C,"d.vec2f":()=>l,"std.max":()=>b}})&&e.f)({})).$name("agentReynoldsSteer"),oO=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(.82,__tsover_mul(Gs(__tsover_add(__tsover_mul(t,.61803),.13)),.4))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fi"}],body:[0,[[10,[1,[5,"0.82"],"+",[1,[6,"noise.hash11",[[1,[1,"fi","*",[5,"0.61803"]],"+",[5,"0.13"]]]],"*",[5,"0.4"]]]]]]},externals:{"noise.hash11":()=>Gs}})&&e.f)({})).$name("agentCruiseVariation"),nO=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(.55,__tsover_mul(Gs(__tsover_add(__tsover_mul(t,1.91),2.53)),.7))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fi"}],body:[0,[[10,[1,[5,"0.55"],"+",[1,[6,"noise.hash11",[[1,[1,"fi","*",[5,"1.91"]],"+",[5,"2.53"]]]],"*",[5,"0.7"]]]]]]},externals:{"noise.hash11":()=>Gs}})&&e.f)({})).$name("agentPresenceVariation"),aO=v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=$(t.w,0,1),o=__tsover_add(r,__tsover_mul(s.w,__tsover_sub(1,r))),n=t.xyz.mul(r).add(s.xyz.mul(__tsover_mul(s.w,__tsover_sub(1,r)))).div(b(o,1e-4));return x(n.x,n.y,n.z,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"c"}],body:[0,[[13,"pa",[6,"std.clamp",[[7,"p","w"],[5,"0"],[5,"1"]]]],[13,"outA",[1,"pa","+",[1,[7,"c","w"],"*",[1,[5,"1"],"-","pa"]]]],[13,"rgb",[6,[7,[6,[7,[6,[7,[7,"p","xyz"],"mul"],["pa"]],"add"],[[6,[7,[7,"c","xyz"],"mul"],[[1,[7,"c","w"],"*",[1,[5,"1"],"-","pa"]]]]]],"div"],[[6,"std.max",["outA",[5,"0.0001"]]]]]],[10,[6,"d.vec4f",[[7,"rgb","x"],[7,"rgb","y"],[7,"rgb","z"],"outA"]]]]]},externals:{"std.clamp":()=>$,"std.max":()=>b,"d.vec4f":()=>x}})&&e.f)({})).$name("agentStraightAlphaOver"),iO=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=se(s,t);return C(t.mul(__tsover_mul(2,o)).sub(s),t,r>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rhat"},{type:"i",name:"axis"},{type:"i",name:"fieldType"}],body:[0,[[13,"mdotr",[6,"std.dot",["axis","rhat"]]],[13,"dipoleB",[6,[7,[6,[7,"rhat","mul"],[[1,[5,"2"],"*","mdotr"]]],"sub"],["axis"]]],[10,[6,"std.select",["dipoleB","rhat",[1,"fieldType",">",[5,"0.5"]]]]]]]},externals:{"std.dot":()=>se,"std.select":()=>C}})&&e.f)({})).$name("agentDipoleOrRadialField"),dO=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_mul(t,Y(__tsover_mul(2,__tsover_sub(s,r))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"k"},{type:"i",name:"target"},{type:"i",name:"theta"}],body:[0,[[10,[1,"k","*",[6,"std.sin",[[1,[5,"2"],"*",[1,"target","-","theta"]]]]]]]]},externals:{"std.sin":()=>Y}})&&e.f)({})).$name("agentNematicTorque"),cO=v.fn([x,a,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(r.w,o),i=s>=n,d=b(s,n),c=C(f(r.x,r.y,r.z),f(t.x,t.y,t.z),i);return x(c.x,c.y,c.z,d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"col"},{type:"i",name:"curA"},{type:"i",name:"prev"},{type:"i",name:"trails"}],body:[0,[[13,"prevA",[1,[7,"prev","w"],"*","trails"]],[13,"win",[1,"curA",">=","prevA"]],[13,"outA",[6,"std.max",["curA","prevA"]]],[13,"outRGB",[6,"std.select",[[6,"d.vec3f",[[7,"prev","x"],[7,"prev","y"],[7,"prev","z"]]],[6,"d.vec3f",[[7,"col","x"],[7,"col","y"],[7,"col","z"]]],"win"]]],[10,[6,"d.vec4f",[[7,"outRGB","x"],[7,"outRGB","y"],[7,"outRGB","z"],"outA"]]]]]},externals:{"std.max":()=>b,"std.select":()=>C,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})).$name("agentTrailMaxDecay"),_O=v.fn([f,x,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return f(__tsover_add(__tsover_add(__tsover_mul(s.x,t.x),__tsover_mul(s.y,t.y)),__tsover_mul(s.z,t.z)),__tsover_add(__tsover_add(__tsover_mul(r.x,t.x),__tsover_mul(r.y,t.y)),__tsover_mul(r.z,t.z)),__tsover_add(__tsover_add(__tsover_mul(o.x,t.x),__tsover_mul(o.y,t.y)),__tsover_mul(o.z,t.z)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pw"},{type:"i",name:"rowX"},{type:"i",name:"rowY"},{type:"i",name:"rowZ"}],body:[0,[[10,[6,"d.vec3f",[[1,[1,[1,[7,"rowX","x"],"*",[7,"pw","x"]],"+",[1,[7,"rowX","y"],"*",[7,"pw","y"]]],"+",[1,[7,"rowX","z"],"*",[7,"pw","z"]]],[1,[1,[1,[7,"rowY","x"],"*",[7,"pw","x"]],"+",[1,[7,"rowY","y"],"*",[7,"pw","y"]]],"+",[1,[7,"rowY","z"],"*",[7,"pw","z"]]],[1,[1,[1,[7,"rowZ","x"],"*",[7,"pw","x"]],"+",[1,[7,"rowZ","y"],"*",[7,"pw","y"]]],"+",[1,[7,"rowZ","z"],"*",[7,"pw","z"]]]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})).$name("agentApplyCameraRows"),lO=v.fn([f,x,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return f(__tsover_add(__tsover_add(__tsover_mul(s.x,t.x),__tsover_mul(r.x,t.y)),__tsover_mul(o.x,t.z)),__tsover_add(__tsover_add(__tsover_mul(s.y,t.x),__tsover_mul(r.y,t.y)),__tsover_mul(o.y,t.z)),__tsover_add(__tsover_add(__tsover_mul(s.z,t.x),__tsover_mul(r.z,t.y)),__tsover_mul(o.z,t.z)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"rowX"},{type:"i",name:"rowY"},{type:"i",name:"rowZ"}],body:[0,[[10,[6,"d.vec3f",[[1,[1,[1,[7,"rowX","x"],"*",[7,"v","x"]],"+",[1,[7,"rowY","x"],"*",[7,"v","y"]]],"+",[1,[7,"rowZ","x"],"*",[7,"v","z"]]],[1,[1,[1,[7,"rowX","y"],"*",[7,"v","x"]],"+",[1,[7,"rowY","y"],"*",[7,"v","y"]]],"+",[1,[7,"rowZ","y"],"*",[7,"v","z"]]],[1,[1,[1,[7,"rowX","z"],"*",[7,"v","x"]],"+",[1,[7,"rowY","z"],"*",[7,"v","y"]]],"+",[1,[7,"rowZ","z"],"*",[7,"v","z"]]]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})).$name("agentApplyCameraRowsT"),jm=ut({x0:R,x1:R,y0:R,y1:R,fx:a,fy:a}).$name("AgentBilinearFrame"),uO=v.fn([l,l],jm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_sub(__tsover_mul(t.x,s.x),.5),o=__tsover_sub(__tsover_mul(t.y,s.y),.5),n=q(r),i=q(o);return jm({x0:R($(n,a(0),__tsover_sub(s.x,1))),x1:R($(__tsover_add(n,1),a(0),__tsover_sub(s.x,1))),y0:R($(i,a(0),__tsover_sub(s.y,1))),y1:R($(__tsover_add(i,1),a(0),__tsover_sub(s.y,1))),fx:__tsover_sub(r,n),fy:__tsover_sub(o,i)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv01"},{type:"i",name:"dims"}],body:[0,[[13,"cu",[1,[1,[7,"uv01","x"],"*",[7,"dims","x"]],"-",[5,"0.5"]]],[13,"cv",[1,[1,[7,"uv01","y"],"*",[7,"dims","y"]],"-",[5,"0.5"]]],[13,"cx0",[6,"std.floor",["cu"]]],[13,"cy0",[6,"std.floor",["cv"]]],[10,[6,"BilinearFrame",[[104,{x0:[6,"d.u32",[[6,"std.clamp",["cx0",[6,"d.f32",[[5,"0"]]],[1,[7,"dims","x"],"-",[5,"1"]]]]]],x1:[6,"d.u32",[[6,"std.clamp",[[1,"cx0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],[1,[7,"dims","x"],"-",[5,"1"]]]]]],y0:[6,"d.u32",[[6,"std.clamp",["cy0",[6,"d.f32",[[5,"0"]]],[1,[7,"dims","y"],"-",[5,"1"]]]]]],y1:[6,"d.u32",[[6,"std.clamp",[[1,"cy0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],[1,[7,"dims","y"],"-",[5,"1"]]]]]],fx:[1,"cu","-","cx0"],fy:[1,"cv","-","cy0"]}]]]]]]},externals:{"std.floor":()=>q,BilinearFrame:()=>jm,"d.u32":()=>R,"std.clamp":()=>$,"d.f32":()=>a}})&&e.f)({})).$name("agentBilinearTexelFrame"),Eb=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(t,t);return ct(__tsover_mul(__tsover_div(r,b(s,1e-5)),-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"delta"},{type:"i",name:"radSq"}],body:[0,[[13,"dl",[6,"std.dot",["delta","delta"]]],[10,[6,"std.exp",[[1,[1,"dl","/",[6,"std.max",["radSq",[5,"0.00001"]]]],"*",[4,"-",[5,"1"]]]]]]]]},externals:{"std.dot":()=>se,"std.exp":()=>ct,"std.max":()=>b}})&&e.f)({})).$name("agentCursorFalloff"),mO=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=b(j(t),1e-4);return t.div(o).mul(__tsover_mul(Eb(t,s),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"delta"},{type:"i",name:"radSq"},{type:"i",name:"force"}],body:[0,[[13,"dl",[6,"std.max",[[6,"std.length",["delta"]],[5,"0.0001"]]]],[10,[6,[7,[6,[7,"delta","div"],["dl"]],"mul"],[[1,[6,"cursorFalloff",["delta","radSq"]],"*","force"]]]]]]},externals:{"std.max":()=>b,"std.length":()=>j,cursorFalloff:()=>Eb}})&&e.f)({})).$name("agentCursorMagnet");var Rn=e=>e;function dw(){return{default:null,transform:Rn,compileTimeWhen:(e,t)=>{let s=r=>{let o=Array.isArray(r)?r.length:0;return o>1?o:0};return s(e)!==s(t)},description:"Multi-stop gradient colors (overrides Color A / Color B when set)",ui:{type:"gradient-stops",label:"Colors",group:"Colors"}}}var Ka=e=>e;function LG(e){let t=e?.ui;return!t||t.type!=="list"||!t.item||typeof t.maxItems!="number"?null:{item:t.item,maxItems:t.maxItems,minItems:t.minItems,itemLabel:t.itemLabel}}var dy=(e,t)=>`${e}_${t}`,cy=e=>`${e}Count`;function _1(e){return!!e&&typeof e=="object"&&e.type==="mouse-position"}var cw=(e,t,s)=>`${e}.${t}.${s}`;function _y(e){let t=/^([^.]+)\.(\d+)\.([^.]+)$/.exec(e);return t?{prop:t[1],index:Number(t[2]),field:t[3]}:null}function ly(e,t,s){return(Array.isArray(e)?e.slice(0,t.maxItems):[]).map((r,o)=>{let n=r&&typeof r=="object"?r:{},i={};for(let[d,c]of Object.entries(t.item)){let _=n[d]===void 0||n[d]===null?c.default:n[d];i[d]=IG(c.kind,_,o,d,s)}return i})}function IG(e,t,s,r,o){switch(e){case"position":{if(_1(t)){let i=o.drivenPosition?.(s,r,t);return i||{x:typeof t.x=="number"?t.x:t.originX??.5,y:1-(typeof t.y=="number"?t.y:t.originY??.5)}}let n=ho(t);return{x:n.x,y:n.y}}case"color":return o.color(typeof t=="string"?t:"#ffffff");case"boolean":return t?1:-1;default:return typeof t=="number"?t:0}}function DG(e){return typeof e=="number"?[e,0,0,0]:Array.isArray(e)?e:[e.x,e.y,0,0]}function uy(e,t){let s={};for(let r of Object.keys(t.item)){let o=new Array(t.maxItems*4).fill(0);for(let n=0;ns&&typeof s=="object"&&Object.entries(t.item).some(([r,o])=>o.kind==="position"&&_1(s[r]))):!1}var _w="p3-linear";function lw(e){_w=e;try{N0(e)}catch{}}function FG(e){try{let t=new Sr(e),s=_w==="srgb"?"srgb-linear":"p3-linear",r=t.to(s).coords,o=Number(t.alpha);return{r:Number.isFinite(r?.[0])?r[0]:0,g:Number.isFinite(r?.[1])?r[1]:0,b:Number.isFinite(r?.[2])?r[2]:0,a:Number.isFinite(o)?o:1}}catch{return{r:0,g:0,b:0,a:0}}}function uw(e){let{r:t,g:s,b:r,a:o}=FG(e);return x(t,s,r,o)}function Kc(e){let t=uw(e);return[t.x,t.y,t.z,t.w]}function kb(e,t){if(typeof e=="number")return e;if(typeof e=="object"&&e!==null)return e.value;let s=e.toLowerCase().trim();if(t){if(s==="top")return 0;if(s==="bottom")return 1;if(s==="center")return .5}else{if(s==="left")return 0;if(s==="right")return 1;if(s==="center")return .5}return console.warn(`Invalid position value: ${e}. Defaulting to center.`),.5}function BG(e){let t=.5,s=.5;if(typeof e=="string"){let r=e.toLowerCase().trim().split(/\s+/);r.includes("left")?t=0:r.includes("right")?t=1:(r.includes("center")||r.length===1&&(r[0]==="top"||r[0]==="bottom"))&&(t=.5),r.includes("top")?s=0:r.includes("bottom")?s=1:(r.includes("center")||r.length===1&&(r[0]==="left"||r[0]==="right"))&&(s=.5),r.length===1&&r[0]==="center"&&(t=.5,s=.5)}else typeof e=="object"&&e!==null?(t=kb(e.x,!1),s=kb(e.y,!0)):console.warn(`Invalid position value provided: ${e}. Defaulting to center.`);return l(t,1-s)}function mw(e){if(e)return e===ts?uw:e===ho?BG:e===Rn?Rn:e===Ka?Ka:e}function py(e,t){e>0,t>0}function Zc(e){return e!=null&&typeof e=="object"&&typeof e.value=="number"&&(e.unit==="px"||e.unit==="uv")}function fy(e){if(!e)return;let t;for(let[s,r]of Object.entries(e)){let o=r?.ui?.dimensional;(o==="canvas-height"||o==="half-canvas-height"||o==="canvas-width"||o==="count-canvas-height")&&(t??=new Map).set(s,o)}return t}function hd(e,t){let s=e?.propBindings,r=new Set,o=new Map;if(s)for(let n of["x","y","width","height"]){let i=s[n];i&&(i.as==="position-x"||i.as==="position-y"?r.add(i.prop):(i.as==="canvas-height"||i.as==="half-canvas-height")&&o.set(i.prop,i.as))}if(t)for(let[n,i]of t)o.set(n,i);return r.size>0||o.size>0?{positionProps:r,sizeProps:o}:null}var WG=e=>({ox:e.includes("left")?"start":e.includes("right")?"end":"center",oy:e.includes("top")?"start":e.includes("bottom")?"end":"center"}),OG=(e,t,s)=>t==="start"?e+s:t==="end"?e-s:e;function Uc(e,t,s,r){let o=(n,i)=>Zc(n)?n.unit==="px"?n.value:n.value*i:typeof n=="number"?n*i:0;return e.as==="canvas-height"?o(t,r):e.as==="half-canvas-height"?o(t,2*r):e.as==="canvas-width"?o(t,s):0}function vy(e,t,s,r){if(e?.computeBounds){let d=e.computeBounds(t,s,r);return{hwx:s>0?d.widthPx/s/2:0,hhy:r>0?d.heightPx/r/2:0}}let o=e?.propBindings,n=0,i=0;return o?.width&&s>0&&(n=Uc(o.width,t[o.width.prop],s,r)/(2*s)),o?.height&&r>0&&(i=Uc(o.height,t[o.height.prop],s,r)/(2*r)),{hwx:n,hhy:i}}function $b(e,t,s,r){let o;if(Zc(e))if(e.unit==="px"){let n=t>0?e.value/t:0;o=s==="end"?1-n:s==="center"?.5+n:n}else o=e.value;else if(typeof e=="number")o=e;else return e;return OG(o,s,r)}function VG(e,t,s,r){return e.unit!=="px"?e.value:t==="canvas-width"?s>0?e.value/s:e.value:r<=0?e.value:t==="count-canvas-height"?e.value>0?r/e.value:e.value:t==="canvas-height"?e.value/r:e.value/(2*r)}function Qc(e,t,s,r,o,n,i,d){let c=hd(e,i);if(!c)return s;let{ox:_,oy:u}=WG(r);if(c.positionProps.has(t))return!s||typeof s!="object"?s:{...s,x:$b(s.x,o,_,d?.hwx??0),y:$b(s.y,n,u,d?.hhy??0)};let m=c.sizeProps.get(t);return m&&Zc(s)?VG(s,m,o,n):s}function yy(e,t,s){let r=hd(e,s);return r?r.positionProps.has(t)||r.sizeProps.has(t):!1}function Km(e){let{body:t,build:s,args:r,compose:o,identity:n,missingChildMessage:i,setup:d,...c}=e;if(!t&&!s)throw new Error(`definePointwiseFilter(${e.name}): needs a body or a build`);return{...c,requiresChild:!0,fragment:u=>{if(!u.childNode)return i&&console.error(i),xr;let m=u;if(hy(n,m))return m.childNode;d?.(m);let p;if(s)p=s(m);else{let{fn:y,hint:h}=typeof t=="function"?t(m.propValues):t;p=we(y,h,[m.childNode,...r?.(m)??[]])}return o?o(p,m):p}}}function hy(e,t){if(!e)return!1;for(let s of e.props)if(t.getMapInfo?.(s))return!1;return e.when(t.propValues)}function Ub(e){let{build:t,resultAlpha:s,identity:r,missingChildMessage:o,setup:n,...i}=e;return{...i,requiresRTT:!0,requiresChild:!0,fragment:c=>{if(!c.childNode)return o&&console.error(o),xr;let _=c.convertToTexture(c.childNode),u=y=>we(dn,"unpremultiplyAlpha",[_.sample(y)]),m={...c,childNode:c.childNode,texture:_,sampleStraight:u};if(hy(r,c))return u(c.ctx.uv);n?.(m);let p=t(m);return s==="straight"?p:we(dn,"unpremultiplyAlpha",[p])}}}function Cb(e){return"uv"in e?e:{uv:e}}function NG(e,t={}){let s=typeof e=="function"?e:()=>e,r=t.edges??"prop",o=n=>r==="none"?null:typeof r=="number"?r:n.edges??0;return{fragment:n=>{let{childNode:i,ctx:d,convertToTexture:c,propValues:_}=n;if(!i)return t.requireChildMessage&&console.error(t.requireChildMessage),xr;let u=c(i),m=o(_),p=Cb(s(n).map(d.uv,d.aspect)),y=m===null?u.sample(p.uv):t.resample==="bilinear"?Gi(p.uv,h=>u.sample(h),m):lz(u,p.uv,m);return we(dn,"unpremultiplyAlpha",[p.coverage?Ws(y.member("rgb"),y.member("a").mul(p.coverage)):y])},uvRemap:n=>{if(t.uvRemapIdentityWhen?.(n))return{uv:n.uv,mask:n.mask};let i=o(n.propValues),d=Cb(s(n).map(n.uv,n.aspect)),c=i===null?{uv:d.uv,mask:n.mask}:_z(d.uv,n.mask,i);return d.coverage?{uv:c.uv,mask:c.mask.mul(d.coverage)}:c}}}function qG(e,t){let s={type:"position",label:t?.label??"Center",group:t?.group??"Position"};return t?.units&&(s.units=[...t.units]),{default:t?.default??{x:.5,y:.5},transform:ho,description:e,ui:s}}function XG(){return{default:"center",description:"Reference edge the center position is measured from (center default). Lets you pin the shape relative to a corner or the canvas centre.",ui:{type:"origin",label:"Origin",group:"Position"}}}function HG(e){return{softness:{default:0,description:e?.softnessDescription??"Edge softness for antialiasing",ui:{type:"range",min:0,max:.1,step:.001,label:"Softness",group:"Effect"}},strokeThickness:{default:0,description:"Stroke thickness. Zero means no stroke.",ui:{type:"range",min:0,max:e?.strokeThicknessMax??.2,step:.005,label:"Stroke Thickness",group:"Stroke"}},strokeColor:{default:"#000000",transform:ts,description:e?.strokeColorDescription??"Color of the stroke outline",ui:{type:"color",label:"Stroke Color",group:"Colors"}},strokePosition:{default:"center",transform:q0,description:e?.strokePositionDescription??"Position of the stroke relative to the shape edge",ui:{type:"select",options:[{label:"Outside",value:"outside"},{label:"Center",value:"center"},{label:"Inside",value:"inside"}],label:"Stroke Position",group:"Stroke"}}}}function jG(e){return{default:"linear",transform:ir,compileTime:!0,description:e?.description??"Color space for blending fill and stroke colors",ui:{type:"select",options:Ho,label:"Color Blending",group:"Colors"}}}var KG={refraction:{default:.5,description:"How strongly the shell bends what's seen through or inside it",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Refraction",group:"Glass"}},dispersion:{default:.25,description:"Spectral splitting at the shell \u2014 rainbow fringes where light bends hardest",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Dispersion",group:"Glass"}},thickness:{default:.2,description:"Shell depth \u2014 how far inward from the edge the shell's optics extend",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Thickness",group:"Glass"}},environment:{default:1,description:"Strength of the studio lighting reflected in the shell",ui:{type:["range","map"],min:0,max:2,step:.01,label:"Environment",group:"Glass"}},envRotation:{default:0,description:"Rotates the reflected studio \u2014 spins where the bright reflections fall",ui:{type:"range",min:0,max:360,step:1,label:"Env Rotation",group:"Glass"}},lightAngle:{default:315,description:"Direction of the key light, in degrees",ui:{type:"range",min:0,max:360,step:1,label:"Light Angle",group:"Glass"}},highlight:{default:1,description:"Sharp key-light glint on the shell",ui:{type:["range","map"],min:0,max:2,step:.01,label:"Highlight",group:"Highlight"}},highlightColor:{default:"#ffffff",transform:ts,description:"Color of the key-light highlight",ui:{type:"color",label:"Highlight Color",group:"Highlight"}},highlightSoftness:{default:.5,description:"Specular highlight softness \u2014 lower is a tighter, sharper glint",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Highlight Softness",group:"Highlight"}},fresnel:{default:.1,description:"Fresnel rim glow \u2014 the luminous edge where the shell turns away from view",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Fresnel",group:"Fresnel"}},fresnelSoftness:{default:.1,description:"Fresnel rim width \u2014 higher values spread the glow further inward",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Fresnel Softness",group:"Fresnel"}},fresnelColor:{default:"#ffffff",transform:ts,description:"Color of the fresnel rim glow",ui:{type:"color",label:"Fresnel Color",group:"Fresnel"}},edgeSoftness:{default:.05,description:"Softness of the shape boundary edge",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Edge Softness",group:"Glass"}}};function xd(e){let t={};for(let s of Object.keys(e)){let r=e[s];if(!r)continue;let o=KG[s];t[s]=r===!0?o:{...o,...r,ui:{...o.ui,...r.ui??{}}}}return t}function ZG(e){return{default:0,description:e,ui:{type:"range",min:0,max:360,step:1,label:"Rotation",group:"Shape"}}}function QG(e){return{default:"#ffffff",transform:ts,description:e,ui:{type:"color",label:"Color",group:"Colors"}}}function JG(e,t){if(e.custom)return e.custom;let s=e.size.as??"half-canvas-height",r={x:{prop:"center",as:"position-x"},y:{prop:"center",as:"position-y"},width:{prop:e.size.width,as:s},height:{prop:e.size.height,as:s}};return t&&(r.rotation={prop:"rotation",as:"degrees"}),{propBindings:r}}function eY(e,t,s){if(!t)return e;let r=Object.keys(e).filter(i=>!t.includes(i)),o=t.filter(i=>!(i in e));if(r.length||o.length)throw new Error(`defineSdfShapeShader(${s}): propOrder must list every prop exactly once (missing: ${r.join(", ")||"none"}; unknown: ${o.join(", ")||"none"})`);let n={};for(let i of t)n[i]=e[i];return n}function tY(e){let t=e.rotatable!==!1,s=HG(e.stroke),r={origin:XG(),color:QG(e.colorDescription),center:qG(e.centerDescription,{units:["%","px"],...e.centerLabel?{label:e.centerLabel}:{}}),...e.shapeProps,...t?{rotation:ZG(e.rotationDescription??"Rotation in degrees")}:{},softness:s.softness,strokeThickness:s.strokeThickness,strokeColor:s.strokeColor,strokePosition:s.strokePosition,colorSpace:jG(e.colorSpaceDescription?{description:e.colorSpaceDescription}:void 0),...e.propOverrides};return{name:e.name,category:e.category??"Shapes",description:e.description,acceptsUVContext:!0,boundingBoxDeclaration:JG(e.bounds,t),props:eY(r,e.propOrder,e.name),fragment:o=>{let{uniforms:n,ctx:i,propValues:d}=o,c=o.uvContext??i.uv,_=d.colorSpace??0;return S7(ur(sY(e,n,c,i.aspect),"shapeMask"),n.color,n.strokeColor,_)}}}function sY(e,t,s,r){let o=t.rotation??vd("0f"),n=ur(we(w7,"shapeLocalCoords",[t.center,o,s,r]),"shapeLocal"),i=d=>{let c=t[d];if(!c)throw new Error(`defineSdfShapeShader(${e.name}): distance reads unknown prop '${d}'`);return c};return we(T7,"strokeMaskFromSdf",[e.distance({x:n.member("x"),y:n.member("y")},i),t.softness,t.strokeThickness,t.strokePosition])}function zt(e){return{kind:"prop",name:e}}var Jc=class Ef{constructor(t){this.node=t}times(t){return new Ef({kind:"mul",a:this.node,b:t instanceof Ef?t.node:t})}};function rY(e){return{uv:e.uvContext??e.ctx.uv,viewport:e.effectiveViewportSize??e.ctx.viewportSize}}function Dt(e,t){let s=t.uniforms[e.name];if(!s)throw new Error(`std: effect binds unknown prop '${e.name}'`);return s}function od(e,t){let s=e instanceof Jc?e.node:e;switch(s.kind){case"prop":return Dt(s,t);case"mul":return od(s.a,t).mul(od(s.b,t));case"radialMask":if(!t.ctx)throw new Error("std: radialMask needs a fragment host (warp slots have no ctx)");return we(oR,"radialFalloffMask",[t.ctx.uv,t.ctx.aspect,Dt(s.center,t),Dt(s.radius,t),Dt(s.falloff,t)]);case"signal":return s.build(t)}}function oY(e,t){if(typeof e=="number")return vt(e);if(e instanceof Jc)return od(e,t);switch(e.kind){case"prop":return Dt(e,t);case"ctx":if(!t.ctx)throw new Error(`std: ctx.${e.name} needs a fragment host (warp slots have no ctx)`);return t.ctx[e.name];default:return od(e,t)}}function xy(e,t,s){let r={},o=e.boundingBoxDeclaration,n=fy(e.props),i=nY(e.props,t);for(let[d,c]of Object.entries(e.props)){let _=c.transform;if(_===Rn){aY(r,d,c,t[d],i);continue}if(_===Ka){iY(r,d,c,t[d]);continue}let u=t[d],m=u;m==null&&(m=c.default),m==null&&(console.error(`[Shaders] Uniform "${d}" is null/undefined after fallback. PropConfig:`,{propName:d,initialValue:u,default:c.default,hasTransform:!!_}),m=0);let p=mw(_),y=yy(o,d,n),h=!p&&!y&&(typeof m=="string"||typeof m=="object"&&m!==null&&!Array.isArray(m));r[d]={value:m,transform:p,compileTime:c.compileTime||!1,...c.compileTimeWhen?{compileTimeWhen:c.compileTimeWhen,_lastCompiledValue:u??c.default}:{},...y?{_rawDimensional:u}:{},...h?{cpu:!0}:{}}}return r}function nY(e,t){for(let[s,r]of Object.entries(e))if(r.transform===ir){let o=t[s]??r.default;return typeof o=="string"?ir(o):0}return 0}function aY(e,t,s,r,o){let n=r??null,i=jv(n,Kc),d=Kv(i.colors,i.stopCount,o);e[t]={value:n,transform:Rn,cpu:!0,compileTime:s.compileTime||!1,...s.compileTimeWhen?{compileTimeWhen:s.compileTimeWhen,_lastCompiledValue:n??s.default}:{}},e.colorsArray={value:i.colors,schema:pt(x,8)},e.positionsArray={value:i.positions,schema:pt(x,8/4)},e.convertedColorsArray={value:d,schema:pt(f,8)},e.stopCount={value:i.stopCount,schema:a}}function iY(e,t,s,r){let o=LG(s);if(!o){console.error(`[Shaders] List prop "${t}" has no item spec in its ui config`);return}let n=ly(r??s.default,o,{color:Kc}),i=uy(n,o);e[t]={value:n,transform:Ka,cpu:!0,compileTime:s.compileTime||!1,_rawList:r??s.default,_listSpec:o};for(let[d,c]of Object.entries(i.fields))e[dy(t,d)]={value:c,schema:pt(x,o.maxItems)};e[cy(t)]={value:i.count,schema:a}}var Li=ut({x0:Z,x1:Z,y0:Z,y1:Z}).$name("SplatWindow"),pO=v.fn([l,a,a,a],Li)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(r,1e-5),i=Z(q(__tsover_mul(__tsover_div(t.x,n),o))),d=Z(q(__tsover_mul(t.y,o))),c=Z(cc(__tsover_div(__tsover_mul(s,o),n))),_=Z(cc(__tsover_mul(s,o))),u=__tsover_sub(Z(o),1);return Li({x0:b(__tsover_sub(i,c),0),x1:oe(__tsover_add(i,c),u),y0:b(__tsover_sub(d,_),0),y1:oe(__tsover_add(d,_),u)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"reach"},{type:"i",name:"aspect"},{type:"i",name:"res"}],body:[0,[[13,"asp",[6,"std.max",["aspect",[5,"0.00001"]]]],[13,"cxi",[6,"d.i32",[[6,"std.floor",[[1,[1,[7,"pos","x"],"/","asp"],"*","res"]]]]]],[13,"cyi",[6,"d.i32",[[6,"std.floor",[[1,[7,"pos","y"],"*","res"]]]]]],[13,"radX",[6,"d.i32",[[6,"std.ceil",[[1,[1,"reach","*","res"],"/","asp"]]]]]],[13,"radY",[6,"d.i32",[[6,"std.ceil",[[1,"reach","*","res"]]]]]],[13,"last",[1,[6,"d.i32",["res"]],"-",[5,"1"]]],[10,[6,"SplatWindow",[[104,{x0:[6,"std.max",[[1,"cxi","-","radX"],[5,"0"]]],x1:[6,"std.min",[[1,"cxi","+","radX"],"last"]],y0:[6,"std.max",[[1,"cyi","-","radY"],[5,"0"]]],y1:[6,"std.min",[[1,"cyi","+","radY"],"last"]]}]]]]]]},externals:{"std.max":()=>b,"d.i32":()=>Z,"std.floor":()=>q,"std.ceil":()=>cc,SplatWindow:()=>Li,"std.min":()=>oe}})&&e.f)({})).$name("worldSplatWindow"),fO=v.fn([l,Z,El],Li)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Z(q(t.x)),n=Z(q(t.y));return Li({x0:b(__tsover_sub(o,s),0),x1:oe(__tsover_add(o,s),r.x),y0:b(__tsover_sub(n,s),0),y1:oe(__tsover_add(n,s),r.y)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"rad"},{type:"i",name:"last"}],body:[0,[[13,"cxi",[6,"d.i32",[[6,"std.floor",[[7,"center","x"]]]]]],[13,"cyi",[6,"d.i32",[[6,"std.floor",[[7,"center","y"]]]]]],[10,[6,"SplatWindow",[[104,{x0:[6,"std.max",[[1,"cxi","-","rad"],[5,"0"]]],x1:[6,"std.min",[[1,"cxi","+","rad"],[7,"last","x"]]],y0:[6,"std.max",[[1,"cyi","-","rad"],[5,"0"]]],y1:[6,"std.min",[[1,"cyi","+","rad"],[7,"last","y"]]]}]]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,SplatWindow:()=>Li,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})).$name("texelSplatWindow"),vO=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(1,ct(__tsover_mul(__tsover_mul(t,s),-1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"energy"},{type:"i",name:"k"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.exp",[[1,[1,"energy","*","k"],"*",[4,"-",[5,"1"]]]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})).$name("energyCoverageAlpha"),yO=v.fn([f,f,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=t.add(s.mul(r)).mul(o),d=j(i);return i.mul(__tsover_div(oe(d,n),b(d,1e-5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"vel"},{type:"i",name:"force"},{type:"i",name:"dt"},{type:"i",name:"dragMul"},{type:"i",name:"maxSpeed"}],body:[0,[[13,"v",[6,[7,[6,[7,"vel","add"],[[6,[7,"force","mul"],["dt"]]]],"mul"],["dragMul"]]],[13,"spd",[6,"std.length",["v"]]],[10,[6,[7,"v","mul"],[[1,[6,"std.min",["spd","maxSpeed"]],"/",[6,"std.max",["spd",[5,"0.00001"]]]]]]]]]},externals:{"std.length":()=>j,"std.min":()=>oe,"std.max":()=>b}})&&e.f)({})).$name("integrateSemiImplicitEuler");var kf=Math.exp(-1),Rb=1/(1-kf),zb=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return ct(__tsover_mul(__tsover_div(t,s),-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"distSq"},{type:"i",name:"radiusSq"}],body:[0,[[10,[6,"std.exp",[[1,[1,"distSq","/","radiusSq"],"*",[4,"-",[5,"1"]]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),Gb=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return $(__tsover_mul(__tsover_sub(ct(__tsover_mul(__tsover_div(t,s),-1)),kf),Rb),a(0),a(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"distSq"},{type:"i",name:"radiusSq"}],body:[0,[[10,[6,"std.clamp",[[1,[1,[6,"std.exp",[[1,[1,"distSq","/","radiusSq"],"*",[4,"-",[5,"1"]]]]],"-","EDGE"],"*","INV_EDGE"],[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]]]]]]]},externals:{"std.clamp":()=>$,"std.exp":()=>ct,EDGE:()=>kf,INV_EDGE:()=>Rb,"d.f32":()=>a}})&&e.f)({}));v.fn([l,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=ht(t,s);return zb(se(o,o),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellPos"},{type:"i",name:"center"},{type:"i",name:"radiusSq"}],body:[0,[[13,"off",[6,"std.sub",["cellPos","center"]]],[10,[6,"gaussianBrushSq",[[6,"std.dot",["off","off"]],"radiusSq"]]]]]},externals:{"std.sub":()=>ht,gaussianBrushSq:()=>zb,"std.dot":()=>se}})&&e.f)({}));v.fn([l,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=ht(t,s);return Gb(se(o,o),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellPos"},{type:"i",name:"center"},{type:"i",name:"radiusSq"}],body:[0,[[13,"off",[6,"std.sub",["cellPos","center"]]],[10,[6,"gaussianBrushShiftedSq",[[6,"std.dot",["off","off"]],"radiusSq"]]]]]},externals:{"std.sub":()=>ht,gaussianBrushShiftedSq:()=>Gb,"std.dot":()=>se}})&&e.f)({}));var jd=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return Ot(l(t,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"px"},{type:"i",name:"py"}],body:[0,[[10,[6,"noise.hash12",[[6,"d.vec2f",["px","py"]]]]]]]},externals:{"noise.hash12":()=>Ot,"d.vec2f":()=>l}})&&e.f)({})),sl=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=q(t),o=q(s),n=ue(t),i=ue(s),d=__tsover_mul(__tsover_mul(n,n),__tsover_sub(3,__tsover_mul(n,2))),c=__tsover_mul(__tsover_mul(i,i),__tsover_sub(3,__tsover_mul(i,2)));return X(X(jd(r,o),jd(__tsover_add(r,1),o),d),X(jd(r,__tsover_add(o,1)),jd(__tsover_add(r,1),__tsover_add(o,1)),d),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"nx"},{type:"i",name:"ny"}],body:[0,[[13,"ix",[6,"std.floor",["nx"]]],[13,"iy",[6,"std.floor",["ny"]]],[13,"sx",[6,"std.fract",["nx"]]],[13,"sy",[6,"std.fract",["ny"]]],[13,"ux",[1,[1,"sx","*","sx"],"*",[1,[5,"3"],"-",[1,"sx","*",[5,"2"]]]]],[13,"uy",[1,[1,"sy","*","sy"],"*",[1,[5,"3"],"-",[1,"sy","*",[5,"2"]]]]],[10,[6,"std.mix",[[6,"std.mix",[[6,"valueHash",["ix","iy"]],[6,"valueHash",[[1,"ix","+",[5,"1"]],"iy"]],"ux"]],[6,"std.mix",[[6,"valueHash",["ix",[1,"iy","+",[5,"1"]]]],[6,"valueHash",[[1,"ix","+",[5,"1"]],[1,"iy","+",[5,"1"]]]],"ux"]],"uy"]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,"std.mix":()=>X,valueHash:()=>jd}})&&e.f)({})),hO=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_add(__tsover_add(__tsover_mul(sl(t,s),.5),__tsover_mul(sl(__tsover_add(__tsover_mul(t,2),5.37),__tsover_add(__tsover_mul(s,2),9.13)),.3)),__tsover_mul(sl(__tsover_add(__tsover_mul(t,4),1.79),__tsover_add(__tsover_mul(s,4),3.51)),.2))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"nx"},{type:"i",name:"ny"}],body:[0,[[10,[1,[1,[1,[6,"valueNoise2D",["nx","ny"]],"*",[5,"0.5"]],"+",[1,[6,"valueNoise2D",[[1,[1,"nx","*",[5,"2"]],"+",[5,"5.37"]],[1,[1,"ny","*",[5,"2"]],"+",[5,"9.13"]]]],"*",[5,"0.3"]]],"+",[1,[6,"valueNoise2D",[[1,[1,"nx","*",[5,"4"]],"+",[5,"1.79"]],[1,[1,"ny","*",[5,"4"]],"+",[5,"3.51"]]]],"*",[5,"0.2"]]]]]]},externals:{valueNoise2D:()=>sl}})&&e.f)({})),xO=v.fn([a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(Gs(__tsover_mul(r,37.31)),97),i=__tsover_mul(Gs(__tsover_mul(r,83.17)),97);return l(__tsover_add(__tsover_mul(t,o),n),__tsover_add(__tsover_mul(s,o),i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"y"},{type:"i",name:"seed"},{type:"i",name:"cellsPerTexel"}],body:[0,[[13,"sdx",[1,[6,"noise.hash11",[[1,"seed","*",[5,"37.31"]]]],"*",[5,"97"]]],[13,"sdy",[1,[6,"noise.hash11",[[1,"seed","*",[5,"83.17"]]]],"*",[5,"97"]]],[10,[6,"d.vec2f",[[1,[1,"x","*","cellsPerTexel"],"+","sdx"],[1,[1,"y","*","cellsPerTexel"],"+","sdy"]]]]]]},externals:{"noise.hash11":()=>Gs,"d.vec2f":()=>l}})&&e.f)({}));var gO=v.fn([a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_mul(__tsover_sub(t,r),d),_=__tsover_sub(s,o),u=H(i),m=Y(i),p=__tsover_add(__tsover_mul(c,u),__tsover_mul(_,m)),y=__tsover_sub(__tsover_mul(_,u),__tsover_mul(c,m));return l(__tsover_add(__tsover_div(p,n),.5),__tsover_add(__tsover_div(y,n),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"u"},{type:"i",name:"v"},{type:"i",name:"centerX"},{type:"i",name:"centerY"},{type:"i",name:"scale"},{type:"i",name:"rotation"},{type:"i",name:"aspect"}],body:[0,[[13,"dxAc",[1,[1,"u","-","centerX"],"*","aspect"]],[13,"dy",[1,"v","-","centerY"]],[13,"cosR",[6,"std.cos",["rotation"]]],[13,"sinR",[6,"std.sin",["rotation"]]],[13,"rdx",[1,[1,"dxAc","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dxAc","*","sinR"]]],[10,[6,"d.vec2f",[[1,[1,"rdx","/","scale"],"+",[5,"0.5"]],[1,[1,"rdy","/","scale"],"+",[5,"0.5"]]]]]]]},externals:{"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({}));ut({centerX:a,centerY:a,scale:a,rotation:a,aspect:a,saRadius:a,saSides:a,saRounding:a,saInnerRatio:a,saRotation:a,saHeight:a,saOffset:a,saAperture:a,vfOriginX:a,vfOriginY:a,vfSpanX:a,vfSpanY:a,vfActiveRes:a});var xl=256*256;var Yb=1-10*.004,bO=Yb>=1?1/0:Math.min(3e4,Math.log(1e-6)/Math.log(Math.max(Yb,.001))*16.67);var Lb="rgba16float",pw=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({amp:a,freq:a,seed:a,edgePin:a,cursorIntensity:a,t:a,aspect:a,focal:a,camPos:f,camForward:f,camRight:f,camUp:f,lighting:a,glossiness:a,highlights:a,lightX:a,lightY:a,lightZ:a,lightColor:f,nearCutoff:a,farCutoff:a,cursorWaveX:a,cursorWaveY:a,mouseSpeed:a,dt:a,decay:a,radius:a,waveSpeed:a,heightEnvelope:a,cursorActive:a}),"HeightFieldParams");var wO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({readSrc:{storage:pt(a,xl),access:"readonly"},writeBuf:{storage:pt(a,xl),access:"mutable"},readBuf:{storage:pt(a,xl),access:"mutable"},params:{uniform:pw}}),"waveEquationLayout"),TO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({readBuf:{storage:pt(a,xl),access:"readonly"},params:{uniform:pw},uvMaskTex:{storageTexture:Mo(Lb,"write-only")},litTex:{storageTexture:Mo(Lb,"write-only")}}),"heightFieldMarchLayout");var SO=v.fn([x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=z(t.xyz.sub(s.xyz)),n=z(__tsover_sub(t.w,s.w)),i=__tsover_add(se(o,f(.299,.587,.114)),n);return re(r,__tsover_add(__tsover_mul(r,2),.001),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"live"},{type:"i",name:"prev"},{type:"i",name:"threshold"}],body:[0,[[13,"dRgb",[6,"std.abs",[[6,[7,[7,"live","xyz"],"sub"],[[7,"prev","xyz"]]]]]],[13,"dA",[6,"std.abs",[[1,[7,"live","w"],"-",[7,"prev","w"]]]]],[13,"diff",[1,[6,"std.dot",["dRgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]],"+","dA"]],[10,[6,"std.smoothstep",["threshold",[1,[1,"threshold","*",[5,"2"]],"+",[5,"0.001"]],"diff"]]]]]},externals:{"std.abs":()=>z,"std.dot":()=>se,"d.vec3f":()=>f,"std.smoothstep":()=>re}})&&e.f)({})).$name("frameDiffMask"),AO=v.fn([f,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=uc(t);return ja(f(ue(__tsover_add(r.x,s)),r.y,r.z))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"amount"}],body:[0,[[13,"hsl",[6,"colorMixing.rgbToHsl",["rgb"]]],[13,"rotated",[6,"d.vec3f",[[6,"std.fract",[[1,[7,"hsl","x"],"+","amount"]]],[7,"hsl","y"],[7,"hsl","z"]]]],[10,[6,"colorMixing.hslToRgb",["rotated"]]]]]},externals:{"colorMixing.rgbToHsl":()=>uc,"d.vec3f":()=>f,"std.fract":()=>ue,"colorMixing.hslToRgb":()=>ja}})&&e.f)({})).$name("hueRotateTurns");var dY=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],cY=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],fw=[];for(let e=0;e<8;e++)for(let t=0;t<8;t++)fw[e*8+t]=Math.cos((2*e+1)*t*Math.PI/16);var MO=Math.PI/16,PO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.const(pt(a,64),fw),"COS_LUT"),EO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.const(pt(a,64),dY),"LUMA_QUANT_C"),kO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.const(pt(a,64),cY),"CHROMA_QUANT_C");var $O=v.fn([x,x,x,x,x,x,x,x,x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=re(0,.1,__tsover_mul(__tsover_add(__tsover_add(__tsover_add(__tsover_add(t.z,s.z),r.z),o.z),n.z),.2)),p=t.xy.add(s.xy).add(r.xy).add(o.xy).add(n.xy).mul(.2),y=j(p),h=re(.01,.1,y),g=__tsover_div(p.x,__tsover_add(y,.001)),w=__tsover_div(p.y,__tsover_add(y,.001)),S=re(0,.7,b(g,0)),T=re(0,.7,b(__tsover_mul(g,-1),0)),A=re(0,.7,b(w,0)),P=re(0,.7,b(__tsover_mul(w,-1),0)),U=_.mul(T).add(u.mul(S)),D=c.mul(P).add(d.mul(A)),O=__tsover_add(T,S),L=__tsover_add(A,P),G=__tsover_add(__tsover_add(O,L),.001);return X(i,U.mul(__tsover_div(O,G)).add(D.mul(__tsover_div(L,G))),x(h)).mul(m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s0"},{type:"i",name:"s1"},{type:"i",name:"s2"},{type:"i",name:"s3"},{type:"i",name:"s4"},{type:"i",name:"base"},{type:"i",name:"up"},{type:"i",name:"down"},{type:"i",name:"left"},{type:"i",name:"right"}],body:[0,[[13,"smoothedLiquid",[1,[1,[1,[1,[1,[7,"s0","z"],"+",[7,"s1","z"]],"+",[7,"s2","z"]],"+",[7,"s3","z"]],"+",[7,"s4","z"]],"*",[5,"0.2"]]],[13,"liquidIntensity",[6,"std.smoothstep",[[5,"0"],[5,"0.1"],"smoothedLiquid"]]],[13,"flow",[6,[7,[6,[7,[6,[7,[6,[7,[6,[7,[7,"s0","xy"],"add"],[[7,"s1","xy"]]],"add"],[[7,"s2","xy"]]],"add"],[[7,"s3","xy"]]],"add"],[[7,"s4","xy"]]],"mul"],[[5,"0.2"]]]],[13,"flowMagnitude",[6,"std.length",["flow"]]],[13,"hasFlow",[6,"std.smoothstep",[[5,"0.01"],[5,"0.1"],"flowMagnitude"]]],[13,"normalizedX",[1,[7,"flow","x"],"/",[1,"flowMagnitude","+",[5,"0.001"]]]],[13,"normalizedY",[1,[7,"flow","y"],"/",[1,"flowMagnitude","+",[5,"0.001"]]]],[13,"rightAmount",[6,"std.smoothstep",[[5,"0"],[5,"0.7"],[6,"std.max",["normalizedX",[5,"0"]]]]]],[13,"leftAmount",[6,"std.smoothstep",[[5,"0"],[5,"0.7"],[6,"std.max",[[1,"normalizedX","*",[4,"-",[5,"1"]]],[5,"0"]]]]]],[13,"upAmount",[6,"std.smoothstep",[[5,"0"],[5,"0.7"],[6,"std.max",["normalizedY",[5,"0"]]]]]],[13,"downAmount",[6,"std.smoothstep",[[5,"0"],[5,"0.7"],[6,"std.max",[[1,"normalizedY","*",[4,"-",[5,"1"]]],[5,"0"]]]]]],[13,"horizontalColor",[6,[7,[6,[7,"left","mul"],["leftAmount"]],"add"],[[6,[7,"right","mul"],["rightAmount"]]]]],[13,"verticalColor",[6,[7,[6,[7,"down","mul"],["downAmount"]],"add"],[[6,[7,"up","mul"],["upAmount"]]]]],[13,"horizontalWeight",[1,"leftAmount","+","rightAmount"]],[13,"verticalWeight",[1,"upAmount","+","downAmount"]],[13,"totalWeight",[1,[1,"horizontalWeight","+","verticalWeight"],"+",[5,"0.001"]]],[13,"directionalColor",[6,[7,[6,[7,"horizontalColor","mul"],[[1,"horizontalWeight","/","totalWeight"]]],"add"],[[6,[7,"verticalColor","mul"],[[1,"verticalWeight","/","totalWeight"]]]]]],[13,"finalColor",[6,"std.mix",["base","directionalColor",[6,"d.vec4f",["hasFlow"]]]]],[10,[6,[7,"finalColor","mul"],["liquidIntensity"]]]]]},externals:{"std.smoothstep":()=>re,"std.length":()=>j,"std.max":()=>b,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})).$name("flowDirectionColor"),l1={name:"Root",props:{},fragment:({childNode:e})=>e??vd("vec4f(0.0, 0.0, 0.0, 0.0)")};function uo(e,t,s="_animTime"){let r=e.props.member(s);if(t){let o=e.uniforms[t];if(o)return r.add(o)}return r}var _Y=class{kind="wgsl";spec;identifiers;fns=new Map;constructor(e){if(typeof e.body!="string"||e.body.trim()==="")throw new Error("wgsl: the body must be a non-empty WGSL string");if(!/\breturn\b/.test(vw(e.body)))throw new Error("wgsl: the body must `return` a vec4f color");this.spec=e,this.identifiers=lY(e.body)}get samplesChild(){return this.identifiers.has("childTexture")}fnFor(e,t){let s=this.fns.get(e);return s||(s=t(),this.fns.set(e,s)),s}};function e_(e){return e instanceof _Y}function vw(e){return e.replace(/\/\*[\s\S]*?\*\//g," ").replace(/\/\/[^\n]*/g," ")}function lY(e){let t=new Set,s=new RegExp("(?":ps(a),sampler:fv()},mY=new Set(["viewport","child","childTexture","childSampler"]),hw={uv:"vec2f",aspect:"f32",time:"f32",viewportSize:"vec2f",logicalViewportSize:"vec2f",pointer:"vec2f"};function Ib(e){return/^[A-Za-z_][A-Za-z0-9_]*$/.test(e)?e:e.replace(/[^A-Za-z0-9_]/g,"_")}function gy(e,t,s){let r=Ib(e.spec.name??pY(s.name)+fY(t)),o=vY(t,s),n=yY(e.spec.inputs??{},s.props),i=new Map;for(let u of o)e.identifiers.has(u.name)&&i.set(u.name,u);for(let u of n)i.set(u.name,u);let d=[...i.values()],c=`(${d.map(u=>`${Ib(u.name)}: ${u.type}`).join(", ")}) -> vec4f`,_=d.map(u=>`${u.name}:${u.type}`).join(",");return u=>(nh(),u.noteCustomWgsl?.(),we(e.fnFor(_,()=>(globalThis.__TYPEGPU_AUTONAME__??(m=>m))(v.fn(d.map(m=>uY[m.type]),x),"shell")(`${c} { +${e.spec.body} +}`)),r,d.map(m=>m.value(u))))}function pY(e){return e?e[0].toLowerCase()+e.slice(1):"custom"}function fY(e){return e==="generator"?"Paint":"Filter"}function vY(e,t){let s=[],r=e==="generator";s.push({name:"uv",type:"vec2f",value:o=>r?o.uvContext??o.ctx.uv:o.ctx.uv}),s.push({name:"time",type:"f32",value:o=>t.animatedTime?uo(o):o.ctx.time}),s.push({name:"aspect",type:"f32",value:o=>o.ctx.aspect}),s.push({name:"viewport",type:"vec2f",value:o=>r?o.effectiveViewportSize??o.ctx.viewportSize:o.ctx.viewportSize}),s.push({name:"pointer",type:"vec2f",value:o=>o.ctx.pointer}),e==="pointwise"&&s.push({name:"child",type:"vec4f",value:o=>o.childNode}),e==="gather"&&(s.push({name:"childTexture",type:"texture_2d",value:o=>o.texture.accessor()}),s.push({name:"childSampler",type:"sampler",value:()=>vd("samp.$.linearClamp")}));for(let[o,n]of Object.entries(t.props)){if(hw[o]||mY.has(o))continue;let i=yw(n);if(!i)continue;let d=n.transform===ho;s.push({name:o,type:i,value:c=>{let _=c.uniforms[o];if(!_)throw new Error(`wgsl: prop '${o}' has no GPU uniform (is it CPU-only?)`);return d?new Kt(u=>`vec2f(${_.member("x")._emit(u)}, 1.0 - ${_.member("y")._emit(u)})`):_}})}return s}function yY(e,t){let s=[];for(let[r,o]of Object.entries(e)){let n=o!==null&&typeof o=="object"&&"value"in o&&"type"in o,i=n?o.value:o,d=hY(i,t),c=n?o.type:d;if(n&&c!==d)throw new Error(`wgsl: input '${r}' is declared ${c} but its source is ${d}`);s.push({name:r,type:c,value:_=>typeof i=="number"?vt(i):oY(i,_)})}return s}function hY(e,t){if(typeof e=="number"||e instanceof Jc)return"f32";if(e.kind==="ctx")return hw[e.name]??"f32";if(e.kind==="prop"){let s=t[e.name];if(!s)throw new Error(`wgsl: input binds unknown prop '${e.name}'`);let r=yw(s);if(!r)throw new Error(`wgsl: prop '${e.name}' is CPU-only and cannot be bound as a WGSL parameter`);return r}return"f32"}function ya(e){let t={};for(let s of Object.keys(e)){let{recompile:r,...o}=e[s],n={...o};if(r?.kind==="crosses"){let i=r.value;n.compileTimeWhen=(d,c)=>d===i!=(c===i)}else r?.kind==="custom"&&(n.compileTimeWhen=r.predicate);t[s]=n}return t}function xw(e,t){switch(e.kind){case"isZero":case"isValue":{let s=e.kind==="isZero"?0:e.value,r=t[e.prop];return{props:[e.prop],when:o=>(o[e.prop]??r)===s}}case"allOf":{let s=e.rules.map(r=>xw(r,t));return{props:[...new Set(s.flatMap(r=>r.props))],when:r=>s.every(o=>o.when(r))}}case"custom":return{props:e.props,when:e.when}}}function Au(e,t){if(!e)return;let s={};for(let[r,o]of Object.entries(t))s[r]=o.default;return xw(e,s)}function xY(e){let{role:t,species:s,effect:r,identityWhen:o,missingChildMessage:n,props:i,...d}=e,c={...d,props:ya(i),identity:Au(o,i),missingChildMessage:n};if(r.kind==="tintToward"){let{color:m,amount:p}=r;return Km({...c,body:{fn:wR,hint:"mixToward"},args:y=>[Dt(m,y),od(p,y)]})}if(e_(r))return Km({...c,build:gy(r,"pointwise",by(e))});let{kind:_,...u}=r;return Km({...c,...u})}function by(e){return{name:e.name,props:e.props,animatedTime:e.animatedTime}}function gY(e){let{role:t,species:s,effect:r,identityWhen:o,missingChildMessage:n,props:i,...d}=e;if(r.kind==="displaceBy")return bY(e);if(e_(r))return Ub({...d,props:ya(i),identity:Au(o,i),missingChildMessage:n,build:gy(r,"gather",by(e)),resultAlpha:r.spec.alpha??"premultiplied"});let{kind:c,..._}=r;return Ub({...d,props:ya(i),identity:Au(o,i),missingChildMessage:n,..._})}function bY(e){let{role:t,species:s,effect:r,identityWhen:o,missingChildMessage:n,props:i,...d}=e,c=r,_=Au(o,i),u=c.field.sim.config,m=c.field.output,p=u.step.find(h=>h.kind==="op.wave"),y=u.step.find(h=>h.kind==="op.splat");if(!p||!y||u.step.length!==2)throw new Error(`std: simulate.grid currently implements exactly [op.wave, op.splat] (got: ${u.step.map(h=>h.kind).join(", ")})`);if(u.history!==2)throw new Error(`std: op.wave reads t\u22121 and t\u22122 \u2014 declare history: 2 (got ${u.history})`);if(u.derive[m]?.kind!=="op.gradient")throw new Error(`std: displaceBy consumes a vector field \u2014 derive '${m}' must be op.gradient()`);if(u.rest&&u.rest.settlesWhen!=="derived-from-damping")throw new Error("std: simulate.grid rest supports settlesWhen: 'derived-from-damping' only");return{...d,props:ya(i),requiresRTT:!0,requiresChild:!0,usesPointer:y.at.kind==="pointer",compute:h=>{if(!h.childNode)return null;let g=sG(h,{resolution:u.resolution,dampingProp:p.damping.name,radiusProp:y.radius.name,radiusScale:.05,speedMax:y.amount.max,teleportGuard:y.at.teleportGuard});return g?{outputs:{[m]:g.displacement},getComputeNodes:g.getComputeNodes}:null},fragment:h=>{let{childNode:g,ctx:w,computeOutputs:S,propValues:T,convertToTexture:A}=h;if(!g)return xr;let P=A(g);if(hy(_,h))return we(dn,"unpremultiplyAlpha",[P.sample(w.uv)]);let U=T[c.edges.name]??0,D=S?.[m],O=D?D.sample(w.uv,"linearClamp").member("xy"):vd("vec2f(0.0, 0.0)"),L=we(uz,"chromaticDisplaceUVs",[w.uv,O,Dt(c.strength,h),Dt(c.chromatic,h)]),G=te=>P.sample(te),W=Gi(L.member("rUV"),G,U),K=Gi(L.member("gUV"),G,U),Q=Gi(L.member("bUV"),G,U);return we(dn,"unpremultiplyAlpha",[Ws(W.member("r"),K.member("g"),Q.member("b"),K.member("a"))])}}}function wY(e){let{role:t,map:s,edges:r,resample:o,uvRemapIdentityWhen:n,missingChildMessage:i,props:d,...c}=e;return{...c,props:ya(d),requiresRTT:!0,requiresChild:!0,...NG(s,{edges:r,resample:o,uvRemapIdentityWhen:n,requireChildMessage:i})}}function TY(e){let{role:t,name:s,description:r,category:o,shape:n}=e;return tY({name:s,description:r,category:o,...n})}function SY(e){let{role:t,paint:s,props:r,...o}=e;return e_(s)?{acceptsUVContext:!0,...o,props:ya(r),fragment:gy(s,"generator",by(e))}:{...o,props:ya(r),fragment:s}}function AY(e){let{role:t,species:s,gpu:r,props:o,...n}=e;return{...n,props:ya(o),fragment:r.fragment,...r.uvRemap?{uvRemap:r.uvRemap}:{}}}function MY(e){let t=[],s=e.paint,r=e.effect;for(let n of[s,r])e_(n)&&t.push(n.spec.body,PY(n.spec.inputs??{}),n.spec.alpha??"");if(t.length===0)return;let o=2166136261;for(let n of t.join("\0"))o^=n.charCodeAt(0),o=Math.imul(o,16777619)>>>0;return o.toString(16)}function PY(e){let t=r=>{if(typeof r!="object"||r===null)return String(r);let o=r;switch(o.kind){case"prop":return`p:${o.name}`;case"ctx":return`c:${o.name}`;case"mul":return`mul(${t(o.a)},${t(o.b)})`;case"radialMask":return`radialMask(${o.center?.name},${o.radius?.name},${o.falloff?.name})`;default:return o.kind}},s=r=>typeof r=="number"?`n:${r}`:r instanceof Jc?`s:${t(r.node)}`:t(r);return Object.keys(e).sort().map(r=>{let o=e[r];return o!==null&&typeof o=="object"&&"value"in o&&"type"in o?`${r}=${s(o.value)}:${o.type}`:`${r}=${s(o)}`}).join(",")}var EY=new Set(["blendMode","opacity","visible","id","maskSource","maskType","renderOrder","transform","boundingBox","flow","absolute","children","ref","key","src"]),kY=new Set(["_animTime","_opacity"]),$Y=["_pad","_bbox_","_map_","_childBounds_","_animTime_"],UY=/^[A-Za-z_][A-Za-z0-9_]*$/;function CY(e,t){for(let s of Object.keys(t)){if(!UY.test(s))throw new Error(`defineShader("${e}"): prop '${s}' is not a valid identifier (letters, digits and _ only, not starting with a digit)`);if(EY.has(s))throw new Error(`defineShader("${e}"): '${s}' is a layer prop every component already has (blend mode, opacity, layout, \u2026) \u2014 rename the shader prop`);if(kY.has(s)||$Y.some(r=>s.startsWith(r)))throw new Error(`defineShader("${e}"): '${s}' collides with a field the renderer manages itself \u2014 rename the shader prop`)}}function $o(e){"props"in e&&e.props&&CY(e.name,e.props);let t=YY(e),s=MY(e);return s?{...t,revision:s}:t}function RY(e){let t="shape"in e?"shape":"map"in e?"warp":"gpu"in e?"custom":"paint"in e?"generator":"effect"in e?"filter":null,s=String(e.name??"?");if(!t)throw new Error(`defineShader("${s}"): give it a GPU half \u2014 paint: (generator), effect: (filter), map: (warp), shape: (shape) or gpu: (custom)`);let r=e.role;if(r&&t!=="custom"&&r!==t)throw new Error(`defineShader("${s}"): role '${r}' contradicts its ${zY[t]} field (a ${t})`);return t}var zY={shape:"shape:",warp:"map:",custom:"gpu:",generator:"paint:",filter:"effect:"};function GY(e){let{effect:t,species:s}=e;if(e_(t))return s??(t.samplesChild?"gather":"pointwise");let r=t.kind==="gather"||t.kind==="displaceBy"?"gather":"pointwise";if(s&&s!==r)throw new Error(`defineShader("${e.name}"): species '${s}' contradicts its '${t.kind}' effect (${r})`);return r}function YY(e){switch(RY(e)){case"shape":return TY(e);case"warp":return wY(e);case"custom":return AY(e);case"generator":return SY(e);case"filter":{let t=e;return GY(t)==="gather"?gY({...t,species:"gather"}):xY({...t,species:"pointwise"})}}}var $f=e=>typeof e=="number"?vt(e):e,Mu=(e,t)=>typeof e=="number"?vt(e)._emit(t):e._emit(t);function kr(e,...t){return new Kt(s=>`${e}(${t.map(r=>Mu(r,s)).join(", ")})`)}function u1(e,t,s){return new Kt(r=>`(${Mu(t,r)} ${e} ${Mu(s,r)})`)}var $e=(e,t)=>u1("+",e,t),fs=(e,t)=>u1("-",e,t),N=(e,t)=>u1("*",e,t),mr=(e,t)=>u1("/",e,t),Pu=e=>new Kt(t=>`(-(${Mu(e,t)}))`),m1=e=>kr("abs",e);var nd=(e,t)=>kr("pow",e,t),wy=e=>kr("exp",e);var Uo=e=>kr("sin",e),t_=e=>kr("cos",e);var xa=(e,t)=>kr("max",e,t),gr=(e,t,s)=>kr("clamp",e,t,s),Co=(e,t,s)=>oc($f(e),$f(t),s);var Ss=(e,t,s)=>kr("smoothstep",e,t,s);var gd=e=>kr("length",e);var gw=(e,t)=>kr("dot",e,t);var p1=(e,t,s)=>Jt(fs(N(rl(e,"x"),t),N(rl(e,"y"),s)),$e(N(rl(e,"x"),s),N(rl(e,"y"),t))),rl=(e,t)=>typeof e=="number"?e:e.member(t),f1=(e,t)=>kr("reflect",e,t);var LY=e=>kr("exp2",e);var Zr=e=>vt(e),Jt=(e,t)=>kr("vec2f",e,t),tr=(e,t,s)=>kr("vec3f",e,t,s),ni=(...e)=>Ws(...e.map($f)),ln=e=>kr("vec3f",e),ye=(e,t)=>ur(e,t);function bw(e){return{kind:"crosses",value:e}}var IY=e=>typeof e=="number"?vt(e):e,$r=(e,t)=>(...s)=>we(e,t,s.map(IY)),UO=$r(fc,"circleSdf"),CO=$r(uu,"ellipseSdf"),RO=$r(lu,"roundedRectSdf"),zO=$r(au,"polygonSdf"),GO=$r(du,"starSdf"),YO=$r(iu,"flowerSdf"),LO=$r(vu,"heartSdf"),IO=$r(_u,"crossSdf"),DO=$r(cu,"ringSdf"),FO=$r(mu,"vesicaSdf"),BO=$r(pu,"crescentSdf"),WO=$r(fu,"trapezoidSdf"),OO=$r(hu,"teardropSdf"),VO=$r(xu,"parallelogramSdf"),NO=$r(yu,"arcSdf");var Ae=Math.fround,DY=Ae(HC),Zm=Ae(it),FY=.11,Uf=Ae(4294967295),Db=new DataView(new ArrayBuffer(4));function Cf(e){return Db.setFloat32(0,Ae(e),!0),Db.getUint32(0,!0)}function Eu(e,t){return Math.imul(e>>>0,t>>>0)>>>0}function Fb(e){let t=Cf(Ae(Ae(e)*Ae(3141592653)));return Ae(Ae(Eu(Eu(t,t),3141592653))/Uf)}function Bb(e,t){let s=(Cf(Ae(Ae(e)*Ae(141421356)))^Cf(Ae(Ae(t)*Ae(2718281828))))>>>0;return[Ae(Ae(Eu(s,3141592653))/Uf),Ae(Ae(Eu(s,1618033988))/Uf)]}function BY(e,t,s,r,o,n){let i=Ae(Ae(e*DY)+Ae(Fb(Ae(Ae(s*Ae(.7311))+Ae(1.618)))*Zm)),d=Ae(Math.sqrt(Ae(Ae(e+.5)/Ae(t)))),c=Bb(Ae(Ae(e*Ae(3.77))+Ae(.917)),Ae(Ae(s*Ae(1.093))+Ae(2.236))),_=Ae(Ae(c[0]-.5)*Ae(.26)),u=Ae(Ae(c[1]-.5)*Ae(.26)),m=Bb(Ae(Ae(e*Ae(7.13))+Ae(1.618)),Ae(Ae(s*Ae(.531))+Ae(3.71))),p=Ae(m[0]*Zm),y=Ae(m[1]*Zm),h=Ae(.5+Ae(Fb(Ae(Ae(Ae(e*Ae(5.417))+Ae(s*Ae(.291)))+Ae(.917)))*Ae(.7))),g=Ae(Ae(n*Ae(FY))*h),w=Ae(Math.sin(Ae(g+p))),S=Ae(Math.cos(Ae(Ae(g*Ae(1.37))+y))),T=Ae(Ae(Ae(Ae(Math.cos(i))*d)*Ae(.62))+_)+Ae(Ae(w*Ae(r))*Ae(.16)),A=Ae(Ae(Ae(Ae(Math.sin(i))*d)*Ae(.62))+u)+Ae(Ae(S*Ae(r))*Ae(.16));return[Ae(Ae(.5+Ae(T))*Ae(o)),Ae(.5+Ae(A))]}function WY(e,t,s,r,o){let n=new Array(16);for(let i=0;i<8;i++){let[d,c]=BY(i,e,t,s,r,o);n[i*2]=d,n[i*2+1]=c}return n}function ww(e){return typeof e=="number"?e:typeof e=="string"?ir(e):0}function OY(e,t){return Fv[e?ww(t.propValues[e.name]):0]??Bo}function Tw(e){return(t,s,r)=>{let o=OY(e.space,r);return we(o,"mixColors",[we(o,"mixColors",[Dt(e.a,r),Dt(e.b,r),t]),Dt(e.c,r),s])}}function Sw(e){let t=s=>typeof s=="number"?vt(s):s;return e.anchors?we(nR,"scatterField",[e.at,t(e.count),t(e.seed),e.anchors,t(e.softness)]):we(aR,"scatterField",[e.at,t(e.count),t(e.seed),t(e.drift),t(e.aspect),t(e.time),t(e.softness)])}function Aw(e,t){let s=e.dimensions.width/Math.max(e.dimensions.height,1e-6);e.onResize(({width:o,height:n})=>{s=o/Math.max(n,1e-6)});let r="";return e.onBeforeRender(()=>{let o=e.getCpuValue("_animTime"),n=e.getCpuValue(t.count.name),i=e.getCpuValue(t.seed.name),d=e.getCpuValue(t.drift.name);if(typeof o!="number"||typeof n!="number"||typeof i!="number"||typeof d!="number")return;let c=`${n}|${i}|${d}|${s}|${o}`;c!==r&&(r=c,e.setExtraField(t.field,WY(n,i,d,s,o)))}),e.uniforms[t.field]}function Mw(e){return we(vz,"rampWrap",[e.t,typeof e.cycles=="number"?vt(e.cycles):e.cycles])}function Pw(e){let t=s=>typeof s=="number"?vt(s):s;return e.levels===1?we(rR(go,{name:"warpDomain1"}),"warpDomain1",[e.at,t(e.time),t(e.amount)]):we(sR(go,{name:"warpDomain"}),"warpDomain",[e.at,t(e.time),t(e.amount)])}function Ty(e){let t=s=>typeof s=="number"?vt(s):s;return we(iR,"chainedWarpStep",[e.at,vt(e.scale),t(e.z),Jt(e.offsets[0][0],e.offsets[0][1]),Jt(e.offsets[1][0],e.offsets[1][1]),vt(e.reach),t(e.strength)])}function Ew(e,t){return rG(t,e)}function kw(e){return(t,s,r)=>{let{uniforms:o}=r,n=ww(r.propValues[e.space.name]),i=Dt(e.a,r),d=Dt(e.b,r),c=Dt(e.c,r),_=Dt(e.d,r);if(n!==0){let u="";r.onBeforeRender(()=>{let y=[e.a.name,e.b.name,e.c.name,e.d.name].map(w=>r.getCpuValue(w));if(y.some(w=>!w))return;let h=y.map(w=>`${w.x},${w.y},${w.z}`).join("|");if(h===u)return;u=h;let g=["convA","convB","convC","convD"];y.forEach((w,S)=>{let T=s1(w.x,w.y,w.z,n);r.setExtraField(g[S],[T[0],T[1],T[2]])})});let m=ur(we(fa,"mixInSpace",[o.convA,i.member("a"),o.convB,d.member("a"),t]),"flowRow1"),p=ur(we(fa,"mixInSpace",[o.convC,c.member("a"),o.convD,_.member("a"),t]),"flowRow2");return we(Bv[n]??t1,"mixPreconvertedColors",[m.member("conv"),p.member("conv"),m.member("alpha"),p.member("alpha"),s])}return we(Bo,"mixColors",[ur(we(Bo,"mixColors",[i,d,t]),"flowRow1"),ur(we(Bo,"mixColors",[c,_,t]),"flowRow2"),s])}}function Qm(e,t){return typeof e=="number"?vt(e):e instanceof Jc||e.kind!=="ctx"?od(e,t):t.ctx[e.name]}function VY(e){return{uv:e.uvContext??e.ctx.uv,viewport:e.effectiveViewportSize??e.ctx.viewportSize}}function $w(e){return t=>{let{uv:s,viewport:r}=VY(t);return we(mz,"godraysFrame",[s,r,Dt(e,t)])}}function Uw(e,t,s){return r=>t(s?ur(e(r),s):e(r),r)}function Cw(e){return(t,s)=>we(pz,"godraysRayStack",[t,uo(s),Qm(e.density,s),Qm(e.intensity,s),Qm(e.spotty,s)])}function Rw(e){return t=>we(fz,"coverageOver",[Dt(e.color,t),Dt(e.background,t),e.coverage(t)])}var{sdfSpaceUV:NY,offsetUV:ol}=sw,{ANALYTIC_SDF_EXTRA_FIELDS:qY}=n1,{createVolumetricFieldComputeNode:XY,resolveShapeFieldSampler:HY,VOLUMETRIC_FIELD_EXTRA_FIELDS:jY}=yd,KY=0;function v1(e,t,s,r="guarded",o=[]){let n=KY++;return new Kt(i=>i.memo(`guard:${n}`,()=>{let d=i.freshLocal(r),c=e._emit(i),_=s._emit(i);for(let p of o)p._emit(i);let u=[],m=t._emit({external:(p,y)=>i.external(p,y),statement:p=>u.push(p),freshLocal:p=>i.freshLocal(p),memo:(p,y)=>i.memo(p,y)});return i.statement(`var ${d} = ${_};`),i.statement(`if (${c}) { + ${u.join(` + `)} + ${d} = ${m}; +}`),d}))}function y1(e,t){let s=we(Ez,"outsideShape",[e,t]);return new Kt(r=>`(!(${s._emit(r)}))`)}function h1(e){let t=e.pattern??"none",s=e.chord??"span",r=e.stencil??{kind:"forward",eps:.01},o=i=>XY(i,()=>i.getCpuValue("shape"),t,s),n=i=>{let{childNode:d,computeOutputs:c,convertToTexture:_,uniforms:u,ctx:m}=i,p;if(e.child==="required"){if(!d)return xr;p=c?.childTexture??_(d)}let{sampler:y,gradSampler:h,texelSampler:g,volumetric:w,bakedGradients:S}=HY(i,{patternMode:t,gradSampler:e.gradSampler??"fast",bakedGradients:e.bakedGradients??"none"}),T={sampler:y,gradSampler:h,texelSampler:g,volumetric:w,bakedGradients:S,volFlag:vt(w?1:0),childTexture:p};if(r!=="none"){let A=e.placeUV?e.placeUV(i):m.uv;if(T.sdfUV=ye(we(NY,"sdfSpaceUV",[u.center,u.scale,u.rotation,A,m.aspect]),"sdfUV"),T.surf0=(e.centreTap==="fast"?h:y)(T.sdfUV),r!=="centre"){let{kind:P,eps:U}=r;T.surfX=h(we(ol,"offsetUV",[T.sdfUV,vt(U),vt(0)])),P==="central"&&(T.surfL=h(we(ol,"offsetUV",[T.sdfUV,vt(-U),vt(0)]))),T.surfY=h(we(ol,"offsetUV",[T.sdfUV,vt(0),vt(U)])),P==="central"&&(T.surfD=h(we(ol,"offsetUV",[T.sdfUV,vt(0),vt(-U)])))}}return e.surface(T,i)};return{extraFields:{...jY,...qY},compute:o,gpu:{fragment:n}}}function x1(e,t,s={}){let{ctx:r}=t,o=ye(e.surf0,"s0"),n=ye(mr(1,r.viewportSize.member("y")),"pxH"),i=ye(s.scale?mr(o.member("x"),s.scale):o.member("x"),"sdf"),d=mr(r.viewportSize.member("x"),r.viewportSize.member("y"));return{s0:o,sX:e.surfX?ye(e.surfX,"sX"):void 0,sY:e.surfY?ye(e.surfY,"sY"):void 0,sdf:i,pxH:n,aspect:d}}function g1(e,t,s){let r=Zr(s.eps??.01),o=s.hint??"nGeo";if(e.volumetric)return ye(we(Az,"volumetricNormal",[t.s0,t.sX,t.sY,r,Zr(s.sharpness??5)]),o);let n=gr(mr(Pu(t.sdf),xa(s.bevelWidth,.003)),0,1);return ye(we(Mz,"bevelledFlatNormal",[we(Sz,"fieldGradient",[t.s0,t.sX,t.sY,r]),we(zG,"bevelSin",[n,s.bevelShape])]),o)}function zw(e,t,s={}){return ye(we(Pz,"patternCoords",[s.uv??e.sdfUV,t.s0,e.volFlag]),"pat")}function b1(e,t,s=.6){return ye(we(kz,"perspectiveViewRay",[e.ctx.uv,t.aspect,Zr(s)]),"viewI")}function Gw(e,t,s){let r=o=>typeof o=="number"?Zr(o):o;return we(Iz,"studio5Softbox",[e,t,s.rotation.member("x"),s.rotation.member("y"),r(s.keyRadius),r(s.drift),r(s.strength),Zr(s.skyGain)])}function w1(e,t){return we(Uz,"silhouetteAlpha",[e.sdf,t,e.pxH])}function Yw(e){return we(a7,"tonemapNeutral",[e])}function Lw(e,t,s,r="n"){return ye(we(Gz,"nudgeNormal",[e,t,s]),r)}function T1(e,t,s="kl"){return ZY(e.member("x"),e.member("y"),t,s)}function ZY(e,t,s,r="kl"){return ye(we(Cz,"keyLight",[e,t,Zr(s)]),r)}function Iw(e,t,s){return we(Rz,"sharpGlint",[e,t,s])}function Dw(e,t){return we(zz,"clampedPerlinGrad",[e,typeof t=="number"?Zr(t):t])}function Wb(e,t){return we(Yz,"opticalThickness",[e.sdf,t.volFlag])}function Fw(e,t){return we(Lz,"flowWarpOffset",[e,t])}function ga(e){return we(Ei,"mxNoiseFloat2",[e])}function Sn(e){return we(go,"mxNoiseFloat3",[e])}function QY(e){return we(jC,"mxWorleyNoiseFloat2Pub",[e,Zr(1)])}function Bw(e,t){return we(Ot,"hash12",[Jt(e,t)])}function Ww(e){let t=ye(e.gradSampler(Jt(.5,.5)),"s0C");return{x:ye(N(Pu(t.member("y")),e.volFlag),"rotSenseX"),y:ye(N(Pu(t.member("z")),e.volFlag),"rotSenseY")}}function Ow(e,t,s){let r=ye(fs(e.sdfUV.member("x"),.5),"cx"),o=ye(fs(e.sdfUV.member("y"),.5),"cy");return{x:ye($e(r,N(t.member("x"),s)),"bentX"),y:ye($e(o,N(t.member("y"),s)),"bentY"),centered:{x:r,y:o}}}function Sy(e,t,s){return $e(fs(1,s.amount),N(Uo($e(N(e,s.rate),N(t,s.spread))),s.amount))}function Ay(e,t){let s=t.hint??"stars",r=ye($e(N(ga(N(e,t.variationFreq)),.5),.5),`${s}V`),o=t.shimmer?t.shimmer(r):Zr(1),n=ye(N(N(N(Ss($e(t.radius[0],N(r,t.radius[1])),5e-4,QY(e)),Ss(t.keep[0],t.keep[1],r)),N($e(t.brightness[0],N(N(r,r),t.brightness[1])),o)),t.gain),s);return{glint:n,variation:r,rgb:t.tint?N(Co(tr(...t.tint.from),tr(...t.tint.to),ln(r)),ln(N(n,t.tint.gain))):void 0}}function Vw(e,t){let s=t.softness?ye(LY(Co(2,-2,t.softness)),"lobeWiden"):void 0,r=o=>s?N(o,s):Zr(o);return N($e(N(nd(e,r(t.core[0])),t.core[1]),N(nd(e,r(t.halo[0])),t.halo[1])),t.gain)}function Nw(e,t,s){let r=ye(N(e.s0.member("w"),t.volFlag),"rayEntry"),o=ye(s.lengthScale===void 0?Wb(e,t):N(Wb(e,t),s.lengthScale),"rayLen"),n=s.view?ye(N(s.view.member("x"),s.shear??1),"rayShearX"):void 0,i=s.view?ye(N(s.view.member("y"),s.shear??1),"rayShearY"):void 0;return{entry:r,length:o,at(d){return{x:n?$e(s.origin.x,N(n,d)):s.origin.x,y:i?$e(s.origin.y,N(i,d)):s.origin.y}}}}function My(e,t){let s=t.hint??"plane",r=ye($e(e.entry,N(e.length,t.depth)),`${s}Z`),o=e.at(r);if(!t.pan)return{x:o.x,y:o.y,z:r};let n=t.panRate??1;return{x:$e(o.x,N(t.pan.x,n)),y:$e(o.y,N(t.pan.y,n)),z:r}}function qw(e,t){let s=t.hint??"",r=t.drift,o=t.seed,n=(m,p,y,h)=>{let g=p===void 0?N(m,t.frequency):N(m,N(t.frequency,p));return r&&(g=$e(g,y===1?r:N(r,y))),o&&(g=$e(g,h===1?o:N(o,h))),g},i=ye(tr(n(e.x,void 0,1,1),n(e.y,void 0,-.7,.53),n(e.z,1.25,1.3,.79)),`q${s}`),d=ye(Sn(r?$e(N(i,.5),tr(N(r,1.4),0,N(r,-.9))):N(i,.5)),`warp${s}`),c=t.billow?ye($e(i,N(tr(d,N(d,-.73),N(d,.41)),t.billow)),`qw${s}`):i,_=ye(Sn($e(N(c,2.13),tr(5.2,1.3,8.4))),`mid${s}`),u=ye(Sn($e(N(c,4.31),tr(9.1,3.7,1.2))),`fine${s}`);return{density:ye(N($e($e(Sn(c),N(_,.5)),N(u,.27)),.57),`fbm${s}`),mid:_,fine:u}}function Xw(e,t){let s=ln(1),r=tr(0,0,0);for(let o=0;oe))(ut({center:l,lightPos:pt(x,8),lightColor:pt(x,8),lightCount:a,scale:a,rotation:a,aspect:a,reach:a,wrap:a,lightRange:a,shadowSoftness:a,eps:a,res:a,frame:a,rays:a,saRadius:a,saSides:a,saRounding:a,saInnerRatio:a,saRotation:a,saHeight:a,saOffset:a,saAperture:a,vfOriginX:a,vfOriginY:a,vfSpanX:a,vfSpanY:a,vfActiveRes:a,vfRBound:a}),"IrradianceParams"),ai={storageTexture:Mo(JY,"write-only")},XO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Py},outTex:ai}),"irradianceAnalyticLayout"),Jm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Py},outTex:ai,sdfSource:{texture:ps(a)},samp:{sampler:"filtering"}}),"irradianceSvgLayout"),nl=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Py},outTex:ai,silhouetteTex:{texture:ps(a)},samp:{sampler:"filtering"}}),"irradianceFieldLayout"),ep=1e3,ku=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return b(oe(t,ep),__tsover_mul(ep,-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[6,"std.max",[[6,"std.min",["v","FAR"]],[1,"FAR","*",[4,"-",[5,"1"]]]]]]]]},externals:{"std.max":()=>b,"std.min":()=>oe,FAR:()=>ep}})&&e.f)({})).$name("irradianceSane"),Ob=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=$(t,l(0,0),l(1,1));return j(t.sub(s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"c",[6,"std.clamp",["uv",[6,"d.vec2f",[[5,"0"],[5,"0"]]],[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]],[10,[6,"std.length",[[6,[7,"uv","sub"],["c"]]]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l,"std.length":()=>j}})&&e.f)({})).$name("irradianceBeyondSquare");var HO=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=zl(Jm.$.sdfSource,Jm.$.samp,t,a(0)).x,r=Ob(t);return ku(C(s,b(r,__tsover_sub(s,r)),r>0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"border",[7,[6,"std.textureSampleLevel",[[7,[7,"irradianceSvgLayout","$"],"sdfSource"],[7,[7,"irradianceSvgLayout","$"],"samp"],"uv",[6,"d.f32",[[5,"0"]]]]],"x"]],[13,"beyond",[6,"beyondSquare",["uv"]]],[10,[6,"sane",[[6,"std.select",["border",[6,"std.max",["beyond",[1,"border","-","beyond"]]],[1,"beyond",">",[5,"0"]]]]]]]]]},externals:{"std.textureSampleLevel":()=>zl,irradianceSvgLayout:()=>Jm,"d.f32":()=>a,beyondSquare:()=>Ob,sane:()=>ku,"std.select":()=>C,"std.max":()=>b}})&&e.f)({})).$name("irradianceSvgField"),jO=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=nl.$.params,r=$(t.x,s.vfOriginX,__tsover_add(s.vfOriginX,s.vfSpanX)),o=$(t.y,s.vfOriginY,__tsover_add(s.vfOriginY,s.vfSpanY)),n=j(l(__tsover_sub(t.x,r),__tsover_sub(t.y,o))),i=__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),s.vfRBound),d=l(__tsover_div(__tsover_sub(r,s.vfOriginX),s.vfSpanX),__tsover_div(__tsover_sub(o,s.vfOriginY),s.vfSpanY)),c=zl(nl.$.silhouetteTex,nl.$.samp,d,a(0)),_=__tsover_mul(c.z,c.w);return ku(C(_,b(b(n,i),__tsover_sub(_,n)),n>0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"p",[7,[7,"irradianceFieldLayout","$"],"params"]],[13,"cx",[6,"std.clamp",[[7,"uv","x"],[7,"p","vfOriginX"],[1,[7,"p","vfOriginX"],"+",[7,"p","vfSpanX"]]]]],[13,"cy",[6,"std.clamp",[[7,"uv","y"],[7,"p","vfOriginY"],[1,[7,"p","vfOriginY"],"+",[7,"p","vfSpanY"]]]]],[13,"outside",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","cx"],[1,[7,"uv","y"],"-","cy"]]]]]],[13,"circle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-",[7,"p","vfRBound"]]],[13,"tuv",[6,"d.vec2f",[[1,[1,"cx","-",[7,"p","vfOriginX"]],"/",[7,"p","vfSpanX"]],[1,[1,"cy","-",[7,"p","vfOriginY"]],"/",[7,"p","vfSpanY"]]]]],[13,"sil",[6,"std.textureSampleLevel",[[7,[7,"irradianceFieldLayout","$"],"silhouetteTex"],[7,[7,"irradianceFieldLayout","$"],"samp"],"tuv",[6,"d.f32",[[5,"0"]]]]]],[13,"inDomain",[1,[7,"sil","z"],"*",[7,"sil","w"]]],[13,"beyond",[6,"std.max",[[6,"std.max",["outside","circle"]],[1,"inDomain","-","outside"]]]],[10,[6,"sane",[[6,"std.select",["inDomain","beyond",[1,"outside",">",[5,"0"]]]]]]]]]},externals:{irradianceFieldLayout:()=>nl,"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.textureSampleLevel":()=>zl,"d.f32":()=>a,"std.max":()=>b,sane:()=>ku,"std.select":()=>C}})&&e.f)({})).$name("irradianceVolumetricField"),Kw=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({vfOriginX:a,vfOriginY:a,vfSpanX:a,vfSpanY:a,vfActiveRes:a,vfRBound:a,res:a,step:a}),"SilhouetteParams"),Ii=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Kw},fieldTex:{texture:ps(a),sampleType:"unfilterable-float"},out:ai}),"silhouetteSeedLayout"),Kd=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Kw},src:{texture:ps(a)},out:ai}),"silhouetteStepLayout"),{fieldSampleFastArg:Vb}=ay(),Ai=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ii.$.params,o=Vb(l(__tsover_add(r.vfOriginX,__tsover_mul(__tsover_div(__tsover_add(t,.5),r.res),r.vfSpanX)),__tsover_add(r.vfOriginY,__tsover_mul(__tsover_div(__tsover_add(s,.5),r.res),r.vfSpanY))),Ii.$.fieldTex,r.vfOriginX,r.vfOriginY,r.vfSpanX,r.vfSpanY,r.vfActiveRes,r.vfRBound).x;return C(a(1),a(-1),o<0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"tx"},{type:"i",name:"ty"}],body:[0,[[13,"p",[7,[7,"silhouetteSeedLayout","$"],"params"]],[13,"uv",[6,"d.vec2f",[[1,[7,"p","vfOriginX"],"+",[1,[1,[1,"tx","+",[5,"0.5"]],"/",[7,"p","res"]],"*",[7,"p","vfSpanX"]]],[1,[7,"p","vfOriginY"],"+",[1,[1,[1,"ty","+",[5,"0.5"]],"/",[7,"p","res"]],"*",[7,"p","vfSpanY"]]]]]],[13,"v",[7,[6,"fieldSampleFastArg",["uv",[7,[7,"silhouetteSeedLayout","$"],"fieldTex"],[7,"p","vfOriginX"],[7,"p","vfOriginY"],[7,"p","vfSpanX"],[7,"p","vfSpanY"],[7,"p","vfActiveRes"],[7,"p","vfRBound"]]],"x"]],[10,[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"d.f32",[[4,"-",[5,"1"]]]],[1,"v","<",[5,"0"]]]]]]]},externals:{silhouetteSeedLayout:()=>Ii,"d.vec2f":()=>l,fieldSampleFastArg:()=>Vb,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})).$name("silhouetteInside"),KO=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ii.$.params,o=a(t),n=a(s),i=Ai(o,n),d=__tsover_sub(r.res,1),c=Ai(b(__tsover_sub(o,1),0),n),_=Ai(oe(__tsover_add(o,1),d),n),u=Ai(o,b(__tsover_sub(n,1),0)),m=Ai(o,oe(__tsover_add(n,1),d)),p=c!==i||_!==i||u!==i||m!==i,y=__tsover_add(r.vfOriginX,__tsover_mul(__tsover_div(__tsover_add(o,.5),r.res),r.vfSpanX)),h=__tsover_add(r.vfOriginY,__tsover_mul(__tsover_div(__tsover_add(n,.5),r.res),r.vfSpanY)),g=C(x(-1,-1,6e4,i),x(y,h,0,i),p);jr(Ii.$.out,Ge(t,s),g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"p",[7,[7,"silhouetteSeedLayout","$"],"params"]],[13,"fx",[6,"d.f32",["cx"]]],[13,"fy",[6,"d.f32",["cy"]]],[13,"s0",[6,"silhouetteInside",["fx","fy"]]],[13,"maxT",[1,[7,"p","res"],"-",[5,"1"]]],[13,"sL",[6,"silhouetteInside",[[6,"std.max",[[1,"fx","-",[5,"1"]],[5,"0"]]],"fy"]]],[13,"sR",[6,"silhouetteInside",[[6,"std.min",[[1,"fx","+",[5,"1"]],"maxT"]],"fy"]]],[13,"sD",[6,"silhouetteInside",["fx",[6,"std.max",[[1,"fy","-",[5,"1"]],[5,"0"]]]]]],[13,"sU",[6,"silhouetteInside",["fx",[6,"std.min",[[1,"fy","+",[5,"1"]],"maxT"]]]]],[13,"boundary",[3,[3,[3,[1,"sL","!==","s0"],"||",[1,"sR","!==","s0"]],"||",[1,"sD","!==","s0"]],"||",[1,"sU","!==","s0"]]],[13,"sx",[1,[7,"p","vfOriginX"],"+",[1,[1,[1,"fx","+",[5,"0.5"]],"/",[7,"p","res"]],"*",[7,"p","vfSpanX"]]]],[13,"sy",[1,[7,"p","vfOriginY"],"+",[1,[1,[1,"fy","+",[5,"0.5"]],"/",[7,"p","res"]],"*",[7,"p","vfSpanY"]]]],[13,"seed",[6,"std.select",[[6,"d.vec4f",[[4,"-",[5,"1"]],[4,"-",[5,"1"]],[5,"60000"],"s0"]],[6,"d.vec4f",["sx","sy",[5,"0"],"s0"]],"boundary"]]],[6,"std.textureStore",[[7,[7,"silhouetteSeedLayout","$"],"out"],[6,"d.vec2u",["cx","cy"]],"seed"]]]]},externals:{silhouetteSeedLayout:()=>Ii,"d.f32":()=>a,silhouetteInside:()=>Ai,"std.max":()=>b,"std.min":()=>oe,"std.select":()=>C,"d.vec4f":()=>x,"std.textureStore":()=>jr,"d.vec2u":()=>Ge}})&&e.f)({})).$name("silhouetteSeed"),ZO=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Kd.$.params,o=a(t),n=a(s),i=l(__tsover_add(r.vfOriginX,__tsover_mul(__tsover_div(__tsover_add(o,.5),r.res),r.vfSpanX)),__tsover_add(r.vfOriginY,__tsover_mul(__tsover_div(__tsover_add(n,.5),r.res),r.vfSpanY))),d=Be(Kd.$.src,Ge(t,s),0),c=x(d),_=__tsover_sub(r.res,1);for(let u=-1;u<=1;u++)for(let m=-1;m<=1;m++){let p=$(__tsover_add(o,__tsover_mul(a(m),r.step)),0,_),y=$(__tsover_add(n,__tsover_mul(a(u),r.step)),0,_),h=Be(Kd.$.src,Ge(R(p),R(y)),0);if(h.x>=0){let g=j(h.xy.sub(i));g=",[5,"0"]],[0,[[13,"dist",[6,"std.length",[[6,[7,[7,"n","xy"],"sub"],["here"]]]]],[11,[1,"dist","<",[7,"best","z"]],[0,[[2,"best","=",[6,"d.vec4f",[[7,"n","x"],[7,"n","y"],"dist",[7,"best","w"]]]]]]]]]]]]]]]],[6,"std.textureStore",[[7,[7,"silhouetteStepLayout","$"],"out"],[6,"d.vec2u",["cx","cy"]],[6,"d.vec4f",[[7,"best","x"],[7,"best","y"],[7,"best","z"],[7,"self","w"]]]]]]]},externals:{silhouetteStepLayout:()=>Kd,"d.f32":()=>a,"d.vec2f":()=>l,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"d.vec4f":()=>x,"std.clamp":()=>$,"d.u32":()=>R,"std.length":()=>j,"std.textureStore":()=>jr}})&&e.f)({})).$name("silhouetteStep");var eL=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({weight:a}),"AccumulateParams"),Zd=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({sample:{texture:ps(a)},prev:{texture:ps(a)},out:ai,params:{uniform:eL}}),"accumulateLayout"),QO=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ge(t,s),o=Be(Zd.$.sample,r,0),n=Be(Zd.$.prev,r,0),i=Zd.$.params.weight;jr(Zd.$.out,r,C(n.add(o.sub(n).mul(i)),o,i>=1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"at",[6,"d.vec2u",["cx","cy"]]],[13,"s",[6,"std.textureLoad",[[7,[7,"accumulateLayout","$"],"sample"],"at",[5,"0"]]]],[13,"prev",[6,"std.textureLoad",[[7,[7,"accumulateLayout","$"],"prev"],"at",[5,"0"]]]],[13,"w",[7,[7,[7,"accumulateLayout","$"],"params"],"weight"]],[6,"std.textureStore",[[7,[7,"accumulateLayout","$"],"out"],"at",[6,"std.select",[[6,[7,"prev","add"],[[6,[7,[6,[7,"s","sub"],["prev"]],"mul"],["w"]]]],"s",[1,"w",">=",[5,"1"]]]]]]]]},externals:{"d.vec2u":()=>Ge,"std.textureLoad":()=>Be,accumulateLayout:()=>Zd,"std.textureStore":()=>jr,"std.select":()=>C}})&&e.f)({})).$name("irradianceAccumulate"),tp=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({src:{texture:ps(a)},out:ai}),"copyLayout"),JO=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ge(t,s);jr(tp.$.out,r,Be(tp.$.src,r,0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"at",[6,"d.vec2u",["cx","cy"]]],[6,"std.textureStore",[[7,[7,"copyLayout","$"],"out"],"at",[6,"std.textureLoad",[[7,[7,"copyLayout","$"],"src"],"at",[5,"0"]]]]]]]},externals:{"d.vec2u":()=>Ge,"std.textureStore":()=>jr,copyLayout:()=>tp,"std.textureLoad":()=>Be}})&&e.f)({})).$name("irradianceCopy");var{createSdfDataTexture:eV,analyticSubPropValues:tV,parseShapeConfigValue:sV}=n1,{createVolumetricFieldComputeNode:rV}=yd;var oV=[[1/16,-3/16],[-1/16,3/16],[5/16,1/16],[-3/16,-5/16],[-5/16,5/16],[-7/16,-1/16],[3/16,7/16],[7/16,-7/16]];var tL=Le;function bd(e){let t=e.uvContext??e.ctx.uv,s=e.effectiveViewportSize??e.ctx.viewportSize;return{uv:t,viewport:s,aspect:ye(mr(s.member("x"),s.member("y")),"aspect")}}function s_(e,t="dir"){let s=N(e,tL);return ye(Jt(t_(s),Uo(s)),t)}var nV=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(t.x,__tsover_sub(__tsover_mul(s,2),t.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"lineY"}],body:[0,[[10,[6,"d.vec2f",[[7,"uv","x"],[1,[1,"lineY","*",[5,"2"]],"-",[7,"uv","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),aV=v.fn([x,x,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=b(__tsover_sub(r,o),0),c=b(n,.001),_=b(__tsover_mul(c,i),1e-4),u=__tsover_sub(c,_),m=__tsover_sub(1,re(u,c,d)),p=__tsover_mul(s.w,m),y=__tsover_sub(1,p);return X(t,x(s.xyz.mul(m).add(t.xyz.mul(y)),__tsover_add(p,__tsover_mul(t.w,y))),x(De(o,r)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"original"},{type:"i",name:"refl"},{type:"i",name:"uvY"},{type:"i",name:"lineY"},{type:"i",name:"distance"},{type:"i",name:"falloff"}],body:[0,[[13,"distBelow",[6,"std.max",[[1,"uvY","-","lineY"],[5,"0"]]]],[13,"distanceMax",[6,"std.max",["distance",[5,"0.001"]]]],[13,"fadeWidth",[6,"std.max",[[1,"distanceMax","*","falloff"],[5,"0.0001"]]]],[13,"fadeStart",[1,"distanceMax","-","fadeWidth"]],[13,"visibility",[1,[5,"1"],"-",[6,"std.smoothstep",["fadeStart","distanceMax","distBelow"]]]],[13,"effReflA",[1,[7,"refl","w"],"*","visibility"]],[13,"oneMinusReflA",[1,[5,"1"],"-","effReflA"]],[13,"belowRgb",[6,[7,[6,[7,[7,"refl","xyz"],"mul"],["visibility"]],"add"],[[6,[7,[7,"original","xyz"],"mul"],["oneMinusReflA"]]]]],[13,"belowA",[1,"effReflA","+",[1,[7,"original","w"],"*","oneMinusReflA"]]],[13,"belowLine",[6,"d.vec4f",["belowRgb","belowA"]]],[13,"isBelowLine",[6,"std.step",["lineY","uvY"]]],[10,[6,"std.mix",["original","belowLine",[6,"d.vec4f",["isBelowLine"]]]]]]]},externals:{"std.max":()=>b,"std.smoothstep":()=>re,"d.vec4f":()=>x,"std.step":()=>De,"std.mix":()=>X}})&&e.f)({}));var iV=v.fn([x,x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=r.w,n=$(s.xyz.mul(r.xyz).mul(o),f(0,0,0),f(1,1,1)),i=f(1,1,1),d=i.sub(i.sub(t.xyz).mul(i.sub(n))),c=__tsover_add(t.w,__tsover_mul(__tsover_mul(s.w,o),__tsover_sub(1,t.w)));return x(d.x,d.y,d.z,$(c,0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"glow"},{type:"i",name:"tintStrength"}],body:[0,[[13,"strength",[7,"tintStrength","w"]],[13,"bloomC",[6,"std.clamp",[[6,[7,[6,[7,[7,"glow","xyz"],"mul"],[[7,"tintStrength","xyz"]]],"mul"],["strength"]],[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]],[13,"one",[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]],[13,"screened",[6,[7,"one","sub"],[[6,[7,[6,[7,"one","sub"],[[7,"base","xyz"]]],"mul"],[[6,[7,"one","sub"],["bloomC"]]]]]]],[13,"a",[1,[7,"base","w"],"+",[1,[1,[7,"glow","w"],"*","strength"],"*",[1,[5,"1"],"-",[7,"base","w"]]]]],[10,[6,"d.vec4f",[[7,"screened","x"],[7,"screened","y"],[7,"screened","z"],[6,"std.clamp",["a",[5,"0"],[5,"1"]]]]]]]]},externals:{"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})).$name("tintedScreenGlow");var dV=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s,.006),n=__tsover_mul(__tsover_add(__tsover_mul(Y(__tsover_mul(r,1.7)),.5),__tsover_mul(Y(__tsover_add(__tsover_mul(r,.9),1.3)),.5)),o),i=__tsover_mul(__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(r,1.3),.7)),.5),__tsover_mul(Y(__tsover_mul(r,2.3)),.5)),o),d=__tsover_mul(__tsover_mul(Y(__tsover_mul(r,.6)),s),.004),c=H(d),_=Y(d),u=t.sub(l(.5,.5)),m=__tsover_sub(__tsover_mul(u.x,c),__tsover_mul(u.y,_)),p=__tsover_add(__tsover_mul(u.x,_),__tsover_mul(u.y,c));return l(__tsover_add(__tsover_add(m,.5),n),__tsover_add(__tsover_add(p,.5),i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"amount"},{type:"i",name:"t"}],body:[0,[[13,"amp",[1,"amount","*",[5,"0.006"]]],[13,"ox",[1,[1,[1,[6,"std.sin",[[1,"t","*",[5,"1.7"]]]],"*",[5,"0.5"]],"+",[1,[6,"std.sin",[[1,[1,"t","*",[5,"0.9"]],"+",[5,"1.3"]]]],"*",[5,"0.5"]]],"*","amp"]],[13,"oy",[1,[1,[1,[6,"std.sin",[[1,[1,"t","*",[5,"1.3"]],"+",[5,"0.7"]]]],"*",[5,"0.5"]],"+",[1,[6,"std.sin",[[1,"t","*",[5,"2.3"]]]],"*",[5,"0.5"]]],"*","amp"]],[13,"ang",[1,[1,[6,"std.sin",[[1,"t","*",[5,"0.6"]]]],"*","amount"],"*",[5,"0.004"]]],[13,"c",[6,"std.cos",["ang"]]],[13,"s",[6,"std.sin",["ang"]]],[13,"p",[6,[7,"uv","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"rx",[1,[1,[7,"p","x"],"*","c"],"-",[1,[7,"p","y"],"*","s"]]],[13,"ry",[1,[1,[7,"p","x"],"*","s"],"+",[1,[7,"p","y"],"*","c"]]],[10,[6,"d.vec2f",[[1,[1,"rx","+",[5,"0.5"]],"+","ox"],[1,[1,"ry","+",[5,"0.5"]],"+","oy"]]]]]]},externals:{"std.sin":()=>Y,"std.cos":()=>H,"d.vec2f":()=>l}})&&e.f)({})).$name("swayUV");var vc=ao,Nb=.35,cV=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_mul(.18,t),r=Ce(z(Y(__tsover_mul(s,vc))),10),o=Ce(z(Y(__tsover_mul(__tsover_sub(s,.15),vc))),10);return $(__tsover_add(r,__tsover_mul(.6,o)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"animTime"}],body:[0,[[13,"time",[1,[5,"0.18"],"*","animTime"]],[13,"first",[6,"std.pow",[[6,"std.abs",[[6,"std.sin",[[1,"time","*","TWO_PI"]]]]],[5,"10"]]]],[13,"second",[6,"std.pow",[[6,"std.abs",[[6,"std.sin",[[1,[1,"time","-",[5,"0.15"]],"*","TWO_PI"]]]]],[5,"10"]]]],[10,[6,"std.clamp",[[1,"first","+",[1,[5,"0.6"],"*","second"]],[5,"0"],[5,"1"]]]]]]},externals:{"std.pow":()=>Ce,"std.abs":()=>z,"std.sin":()=>Y,TWO_PI:()=>vc,"std.clamp":()=>$}})&&e.f)({})),_V=v.fn([a,l,l,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=__tsover_add(__tsover_mul(_,1.2),131),y=b(__tsover_mul(__tsover_mul(.5,n),Nb),.002),h=z(__tsover_add(__tsover_div(t,b(o,.001)),X(y,a(0),i))),g=X(y,__tsover_mul(3,y),i),w=__tsover_div(2,__tsover_mul(r.y,b(o,.001))),S=oe(X(g,__tsover_mul(g,-1),i),__tsover_add(g,w)),T=b(X(g,__tsover_mul(g,-1),i),__tsover_add(g,w)),A=__tsover_sub(1,re(S,T,h));A=Ce($(A,0,1),__tsover_add(1,i));let P=l(__tsover_sub(s.x,.5),__tsover_sub(s.y,.5)).mul(__tsover_add(.5,__tsover_mul(2.5,d))),U=__tsover_mul(.5,p),D=Br(l(__tsover_add(__tsover_mul(P.x,2.7),U),__tsover_add(__tsover_mul(P.y,2.7),U))),O=Br(l(__tsover_sub(__tsover_mul(P.x,3.4),U),__tsover_sub(__tsover_mul(P.y,3.4),U))),L=__tsover_sub($(__tsover_mul(3,D),0,1),O),G=$(__tsover_add(y,.2),.1,.4),W=Ce($(__tsover_sub(1,re(__tsover_mul(G,-1),__tsover_add(G,w),h)),0,1),2);L=__tsover_mul(L,W),L=__tsover_mul(__tsover_mul(__tsover_mul(30,L),L),__tsover_mul(__tsover_mul(.5,c),c)),L=__tsover_mul(L,X(a(1),m,u)),A=$(__tsover_add(A,$(L,0,1)),0,1);let K=__tsover_div(tt(__tsover_sub(s.y,.5),__tsover_sub(s.x,.5)),vc);return l(A,K)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fieldRaw"},{type:"i",name:"sdfUV"},{type:"i",name:"viewport"},{type:"i",name:"scale"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"smokeSize"},{type:"i",name:"smokeAmt"},{type:"i",name:"animTime"},{type:"i",name:"pulse"},{type:"i",name:"beat"}],body:[0,[[13,"t",[1,[1,"animTime","*",[5,"1.2"]],"+",[5,"131"]]],[13,"th",[6,"std.max",[[1,[1,[5,"0.5"],"*","thickness"],"*","BAND_THICKNESS_REF"],[5,"0.002"]]]],[13,"f",[1,[1,"fieldRaw","/",[6,"std.max",["scale",[5,"0.001"]]]],"+",[6,"std.mix",["th",[6,"d.f32",[[5,"0"]]],"softness"]]]],[13,"bd",[6,"std.abs",["f"]]],[13,"borderTh",[6,"std.mix",["th",[1,[5,"3"],"*","th"],"softness"]]],[13,"aa",[1,[5,"2"],"/",[1,[7,"viewport","y"],"*",[6,"std.max",["scale",[5,"0.001"]]]]]],[13,"e0",[6,"std.min",[[6,"std.mix",["borderTh",[1,"borderTh","*",[4,"-",[5,"1"]]],"softness"]],[1,"borderTh","+","aa"]]]],[13,"e1",[6,"std.max",[[6,"std.mix",["borderTh",[1,"borderTh","*",[4,"-",[5,"1"]]],"softness"]],[1,"borderTh","+","aa"]]]],[12,"border",[1,[5,"1"],"-",[6,"std.smoothstep",["e0","e1","bd"]]]],[2,"border","=",[6,"std.pow",[[6,"std.clamp",["border",[5,"0"],[5,"1"]]],[1,[5,"1"],"+","softness"]]]],[13,"suv",[6,[7,[6,"d.vec2f",[[1,[7,"sdfUV","x"],"-",[5,"0.5"]],[1,[7,"sdfUV","y"],"-",[5,"0.5"]]]],"mul"],[[1,[5,"0.5"],"+",[1,[5,"2.5"],"*","smokeSize"]]]]],[13,"drift",[1,[5,"0.5"],"*","t"]],[13,"n1",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,[7,"suv","x"],"*",[5,"2.7"]],"+","drift"],[1,[1,[7,"suv","y"],"*",[5,"2.7"]],"+","drift"]]]]]],[13,"n2",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,[7,"suv","x"],"*",[5,"3.4"]],"-","drift"],[1,[1,[7,"suv","y"],"*",[5,"3.4"]],"-","drift"]]]]]],[12,"smoke",[1,[6,"std.clamp",[[1,[5,"3"],"*","n1"],[5,"0"],[5,"1"]]],"-","n2"]],[13,"smokeTh",[6,"std.clamp",[[1,"th","+",[5,"0.2"]],[5,"0.1"],[5,"0.4"]]]],[13,"smokeBand",[6,"std.pow",[[6,"std.clamp",[[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"smokeTh","*",[4,"-",[5,"1"]]],[1,"smokeTh","+","aa"],"bd"]]],[5,"0"],[5,"1"]]],[5,"2"]]]],[2,"smoke","=",[1,"smoke","*","smokeBand"]],[2,"smoke","=",[1,[1,[1,[5,"30"],"*","smoke"],"*","smoke"],"*",[1,[1,[5,"0.5"],"*","smokeAmt"],"*","smokeAmt"]]],[2,"smoke","=",[1,"smoke","*",[6,"std.mix",[[6,"d.f32",[[5,"1"]]],"beat","pulse"]]]],[2,"border","=",[6,"std.clamp",[[1,"border","+",[6,"std.clamp",["smoke",[5,"0"],[5,"1"]]]],[5,"0"],[5,"1"]]]],[13,"angle01",[1,[6,"std.atan2",[[1,[7,"sdfUV","y"],"-",[5,"0.5"]],[1,[7,"sdfUV","x"],"-",[5,"0.5"]]]],"/","TWO_PI"]],[10,[6,"d.vec2f",["border","angle01"]]]]]},externals:{"std.max":()=>b,BAND_THICKNESS_REF:()=>Nb,"std.mix":()=>X,"d.f32":()=>a,"std.abs":()=>z,"std.min":()=>oe,"std.smoothstep":()=>re,"std.pow":()=>Ce,"std.clamp":()=>$,"d.vec2f":()=>l,"noise.value12":()=>Br,"std.atan2":()=>tt,TWO_PI:()=>vc}})&&e.f)({})),lV=v.fn([a,a,a,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=__tsover_add(__tsover_mul(r,1.2),131),y=__tsover_add(1,__tsover_mul(__tsover_add(1,__tsover_mul(4,_)),c)),h=a(0),g=a(0);for(let w=0;w<5;w++){let S=a(w),T=C(a(0),a(1),Sa,"std.select":()=>C,"noise.hash22":()=>er,"d.vec2f":()=>l,"std.abs":()=>z,"std.sin":()=>Y,"std.cos":()=>H,"std.floor":()=>q,"std.clamp":()=>$,"std.mix":()=>X,"std.fract":()=>ue,"std.smoothstep":()=>re}})&&e.f)({})),gl=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({rgb:f,w:a,ba:a,ac:f,aa:a}),"EdgeGlowAccum"),uV=v.fn([],gl)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(()=>{"use gpu";return gl({rgb:f(0,0,0),w:a(0),ba:a(0),ac:f(0,0,0),aa:a(0)})}),{v:2,name:void 0,ast:{params:[],body:[0,[[10,[6,"EdgeGlowAccum",[[104,{rgb:[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],w:[6,"d.f32",[[5,"0"]]],ba:[6,"d.f32",[[5,"0"]]],ac:[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],aa:[6,"d.f32",[[5,"0"]]]}]]]]]]},externals:{EdgeGlowAccum:()=>gl,"d.vec3f":()=>f,"d.f32":()=>a}})&&e.f)({}));var mV=v.fn([pt(x,8),a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t[Z(s)];return x(r.x,r.y,r.z,r.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colors"},{type:"i",name:"idx"}],body:[0,[[13,"c",[8,"colors",[6,"d.i32",["idx"]]]],[10,[6,"d.vec4f",[[7,"c","x"],[7,"c","y"],[7,"c","z"],[7,"c","w"]]]]]]},externals:{"d.i32":()=>Z,"d.vec4f":()=>x}})&&e.f)({})),pV=v.fn([gl,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(s,4),o=X(t.rgb.mul(t.ba),t.ac,f(r)),n=$(X(t.ba,t.aa,r),0,1);return x($(o.div(b(n,1e-4)),f(0),f(1)),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"st"},{type:"i",name:"bloom"}],body:[0,[[13,"k",[1,"bloom","*",[5,"4"]]],[13,"blendPremult",[6,[7,[7,"st","rgb"],"mul"],[[7,"st","ba"]]]],[13,"accumC",[6,"std.mix",["blendPremult",[7,"st","ac"],[6,"d.vec3f",["k"]]]]],[13,"accumA",[6,"std.clamp",[[6,"std.mix",[[7,"st","ba"],[7,"st","aa"],"k"]],[5,"0"],[5,"1"]]]],[13,"straight",[6,"std.clamp",[[6,[7,"accumC","div"],[[6,"std.max",["accumA",[5,"0.0001"]]]]],[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]],[10,[6,"d.vec4f",["straight","accumA"]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f,"std.clamp":()=>$,"std.max":()=>b,"d.vec4f":()=>x}})&&e.f)({}));var sp=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({crackIntensity:a,edgeNormal:l,displacedUV:l,disp:l}),"CrackGeom"),fV=v.fn([l,a,a,a,a,a,a,a],sp)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=l(s,r),u=l(o,n),m=l(i,d),p=t.sub(_),y=j(p),h=j(t.sub(u)),g=j(m),w=__tsover_sub(h,y),S=__tsover_mul(c,.005),T=__tsover_sub(1,re(0,S,w)),A=re(0,.01,g),P=__tsover_mul(T,A),U=p.div(b(y,1e-5));return sp({crackIntensity:P,edgeNormal:l(__tsover_mul(U.y,-1),U.x),displacedUV:t.sub(m),disp:m})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"nPosX"},{type:"i",name:"nPosY"},{type:"i",name:"sPosX"},{type:"i",name:"sPosY"},{type:"i",name:"dispX"},{type:"i",name:"dispY"},{type:"i",name:"crackWidth"}],body:[0,[[13,"nearestPos",[6,"d.vec2f",["nPosX","nPosY"]]],[13,"secondPos",[6,"d.vec2f",["sPosX","sPosY"]]],[13,"disp",[6,"d.vec2f",["dispX","dispY"]]],[13,"fromNearest",[6,[7,"uv","sub"],["nearestPos"]]],[13,"minDist1",[6,"std.length",["fromNearest"]]],[13,"minDist2",[6,"std.length",[[6,[7,"uv","sub"],["secondPos"]]]]],[13,"displacementMag",[6,"std.length",["disp"]]],[13,"edgeDiff",[1,"minDist2","-","minDist1"]],[13,"crackThreshold",[1,"crackWidth","*",[5,"0.005"]]],[13,"baseCrackIntensity",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"crackThreshold","edgeDiff"]]]],[13,"displacementFactor",[6,"std.smoothstep",[[5,"0"],[5,"0.01"],"displacementMag"]]],[13,"crackIntensity",[1,"baseCrackIntensity","*","displacementFactor"]],[13,"toNearest",[6,[7,"fromNearest","div"],[[6,"std.max",["minDist1",[5,"0.00001"]]]]]],[13,"edgeNormal",[6,"d.vec2f",[[1,[7,"toNearest","y"],"*",[4,"-",[5,"1"]]],[7,"toNearest","x"]]]],[13,"displacedUV",[6,[7,"uv","sub"],["disp"]]],[10,[6,"CrackGeom",[[104,{crackIntensity:"crackIntensity",edgeNormal:"edgeNormal",displacedUV:"displacedUV",disp:"disp"}]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.smoothstep":()=>re,"std.max":()=>b,CrackGeom:()=>sp}})&&e.f)({})),vV=v.fn([l,l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=s.mul(__tsover_mul(o,.01)),c=__tsover_mul(n,.005),_=s.mul(__tsover_mul(i,c)),u=d.add(_);return t.add(u.mul(r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"displacedUV"},{type:"i",name:"edgeNormal"},{type:"i",name:"crackIntensity"},{type:"i",name:"refractionStrength"},{type:"i",name:"chromaticSplit"},{type:"i",name:"channel"}],body:[0,[[13,"refractionOffset",[6,[7,"edgeNormal","mul"],[[1,"refractionStrength","*",[5,"0.01"]]]]],[13,"chromaticOffset",[1,"chromaticSplit","*",[5,"0.005"]]],[13,"chromaShift",[6,[7,"edgeNormal","mul"],[[1,"channel","*","chromaticOffset"]]]],[13,"offset",[6,[7,"refractionOffset","add"],["chromaShift"]]],[10,[6,[7,"displacedUV","add"],[[6,[7,"offset","mul"],["crackIntensity"]]]]]]]},externals:{}})&&e.f)({})),qb=.3/Math.hypot(.3,.6),Xb=.6/Math.hypot(.3,.6),yV=v.fn([x,x,x,x,a,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=f(s.x,r.y,o.z),_=t.xyz.mul(__tsover_sub(1,n)).add(c.mul(n)),u=j(i),m=__tsover_div(i.x,__tsover_add(u,.001)),p=__tsover_div(i.y,__tsover_add(u,.001)),y=__tsover_add(__tsover_mul(m,qb),__tsover_mul(p,Xb)),h=__tsover_add(1,__tsover_mul(y,d)),g=re(0,.02,u),w=__tsover_add(1,__tsover_mul(__tsover_sub(h,1),g));return x(_.mul(w),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"normalColor"},{type:"i",name:"rFinal"},{type:"i",name:"gFinal"},{type:"i",name:"bFinal"},{type:"i",name:"crackIntensity"},{type:"i",name:"disp"},{type:"i",name:"shardLighting"}],body:[0,[[13,"refractedRGB",[6,"d.vec3f",[[7,"rFinal","x"],[7,"gFinal","y"],[7,"bFinal","z"]]]],[13,"shadedRGB",[6,[7,[6,[7,[7,"normalColor","xyz"],"mul"],[[1,[5,"1"],"-","crackIntensity"]]],"add"],[[6,[7,"refractedRGB","mul"],["crackIntensity"]]]]],[13,"displacementLength",[6,"std.length",["disp"]]],[13,"tiltX",[1,[7,"disp","x"],"/",[1,"displacementLength","+",[5,"0.001"]]]],[13,"tiltY",[1,[7,"disp","y"],"/",[1,"displacementLength","+",[5,"0.001"]]]],[13,"normalDot",[1,[1,"tiltX","*","SHARD_LIGHT_DIR_X"],"+",[1,"tiltY","*","SHARD_LIGHT_DIR_Y"]]],[13,"lightingFactor",[1,[5,"1"],"+",[1,"normalDot","*","shardLighting"]]],[13,"lightingIntensity",[6,"std.smoothstep",[[5,"0"],[5,"0.02"],"displacementLength"]]],[13,"finalLighting",[1,[5,"1"],"+",[1,[1,"lightingFactor","-",[5,"1"]],"*","lightingIntensity"]]],[13,"finalRGB",[6,[7,"shadedRGB","mul"],["finalLighting"]]],[10,[6,"d.vec4f",["finalRGB",[7,"normalColor","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.length":()=>j,SHARD_LIGHT_DIR_X:()=>qb,SHARD_LIGHT_DIR_Y:()=>Xb,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({}));var{formatFloat:hV}=Wz;var xV=v.fn([l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=zx(s),d=l(__tsover_div(H(i),o),Y(i)),c=__tsover_mul(r,.1),_=d.mul(c);return t.add(_.mul(n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"angle"},{type:"i",name:"strength"},{type:"i",name:"aspect"},{type:"i",name:"channelOffset"}],body:[0,[[13,"angleRad",[6,"std.radians",["angle"]]],[13,"direction",[6,"d.vec2f",[[1,[6,"std.cos",["angleRad"]],"/","aspect"],[6,"std.sin",["angleRad"]]]]],[13,"scaledStrength",[1,"strength","*",[5,"0.1"]]],[13,"offsetBase",[6,[7,"direction","mul"],["scaledStrength"]]],[10,[6,[7,"uv","add"],[[6,[7,"offsetBase","mul"],["channelOffset"]]]]]]]},externals:{"std.radians":()=>zx,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({}));var Zw="rgba16float",Qw=16384;var gV=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({buffer:{storage:pt(x,Qw),access:"mutable"},params:{uniform:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cursorX:a,cursorY:a,mouseVelX:a,mouseVelY:a,dt:a,decay:a,intensity:a,radius:a,aspect:a}),"uniform")}}),"splatUpdateLayout"),bV=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({buffer:{storage:pt(x,Qw),access:"readonly"},dispTex:{storageTexture:Mo(Zw,"write-only")}}),"splatOutputLayout");var An=64,Rf=An*An,rp=An-1,xo=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({readBuf:{storage:pt(x,Rf),access:"readonly"},writeBuf:{storage:pt(x,Rf),access:"mutable"},params:{uniform:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cursorX:a,cursorY:a,dirX:a,dirY:a,clampedSpeed:a,dt:a,subDt:a,stiffness:a,dampFactor:a,radius:a,aspect:a}),"uniform")}}),"latticeLayout"),op=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({srcBuf:{storage:pt(x,Rf),access:"readonly"},dispTex:{storageTexture:Mo(Zw,"write-only")}}),"latticeOutputLayout"),wV=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";if(t>R(0)&&tR(0)&&s.01){let W=__tsover_div(__tsover_add(a(t),.5),a(An)),K=__tsover_div(__tsover_add(a(s),.5),a(An)),Q=C(__tsover_sub(W,r.cursorX),__tsover_mul(__tsover_sub(W,r.cursorX),r.aspect),r.aspect>=1),te=C(__tsover_div(__tsover_sub(K,r.cursorY),r.aspect),__tsover_sub(K,r.cursorY),r.aspect>=1),ee=__tsover_add(__tsover_mul(Q,Q),__tsover_mul(te,te)),he=__tsover_mul(r.radius,3);if(ee<__tsover_mul(he,he)){let Ee=ct(__tsover_mul(__tsover_div(ee,__tsover_mul(r.radius,r.radius)),-1)),Te=__tsover_mul(__tsover_mul(__tsover_mul(Ee,r.clampedSpeed),r.dt),2);D=__tsover_add(D,__tsover_mul(r.dirX,Te)),O=__tsover_add(O,__tsover_mul(r.dirY,Te))}}let L=$(__tsover_add(d,__tsover_mul(D,r.subDt)),-.5,.5),G=$(__tsover_add(c,__tsover_mul(O,r.subDt)),-.5,.5);xo.$.writeBuf[n]=x(L,G,D,O)}}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[11,[3,[3,[3,[1,"cx",">",[6,"d.u32",[[5,"0"]]]],"&&",[1,"cx","<",[6,"d.u32",["LATTICE_MAX"]]]],"&&",[1,"cy",">",[6,"d.u32",[[5,"0"]]]]],"&&",[1,"cy","<",[6,"d.u32",["LATTICE_MAX"]]]],[0,[[13,"p",[7,[7,"latticeLayout","$"],"params"]],[13,"gs",[6,"d.u32",["LATTICE_GRID"]]],[13,"idx",[1,[1,"cy","*","gs"],"+","cx"]],[13,"current",[8,[7,[7,"latticeLayout","$"],"readBuf"],"idx"]],[13,"dispX",[7,"current","x"]],[13,"dispY",[7,"current","y"]],[13,"velX",[7,"current","z"]],[13,"velY",[7,"current","w"]],[13,"nL",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,"idx","-",[6,"d.u32",[[5,"1"]]]]]],[13,"nR",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,"idx","+",[6,"d.u32",[[5,"1"]]]]]],[13,"nU",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,"idx","-","gs"]]],[13,"nD",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,"idx","+","gs"]]],[13,"nUL",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,[1,"idx","-","gs"],"-",[6,"d.u32",[[5,"1"]]]]]],[13,"nUR",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,[1,"idx","-","gs"],"+",[6,"d.u32",[[5,"1"]]]]]],[13,"nDL",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,[1,"idx","+","gs"],"-",[6,"d.u32",[[5,"1"]]]]]],[13,"nDR",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,[1,"idx","+","gs"],"+",[6,"d.u32",[[5,"1"]]]]]],[12,"fx",[1,[7,"p","stiffness"],"*",[1,[1,[1,[1,[7,"nL","x"],"-","dispX"],"+",[1,[7,"nR","x"],"-","dispX"]],"+",[1,[7,"nU","x"],"-","dispX"]],"+",[1,[7,"nD","x"],"-","dispX"]]]],[12,"fy",[1,[7,"p","stiffness"],"*",[1,[1,[1,[1,[7,"nL","y"],"-","dispY"],"+",[1,[7,"nR","y"],"-","dispY"]],"+",[1,[7,"nU","y"],"-","dispY"]],"+",[1,[7,"nD","y"],"-","dispY"]]]],[13,"shearK",[1,[7,"p","stiffness"],"*",[5,"0.35"]]],[2,"fx","=",[1,"fx","+",[1,"shearK","*",[1,[1,[1,[1,[7,"nUL","x"],"-","dispX"],"+",[1,[7,"nUR","x"],"-","dispX"]],"+",[1,[7,"nDL","x"],"-","dispX"]],"+",[1,[7,"nDR","x"],"-","dispX"]]]]],[2,"fy","=",[1,"fy","+",[1,"shearK","*",[1,[1,[1,[1,[7,"nUL","y"],"-","dispY"],"+",[1,[7,"nUR","y"],"-","dispY"]],"+",[1,[7,"nDL","y"],"-","dispY"]],"+",[1,[7,"nDR","y"],"-","dispY"]]]]],[2,"fx","=",[1,"fx","-",[1,[1,[7,"p","stiffness"],"*",[5,"0.1"]],"*","dispX"]]],[2,"fy","=",[1,"fy","-",[1,[1,[7,"p","stiffness"],"*",[5,"0.1"]],"*","dispY"]]],[12,"newVelX",[1,[1,"velX","*",[7,"p","dampFactor"]],"+",[1,"fx","*",[7,"p","subDt"]]]],[12,"newVelY",[1,[1,"velY","*",[7,"p","dampFactor"]],"+",[1,"fy","*",[7,"p","subDt"]]]],[11,[1,[7,"p","clampedSpeed"],">",[5,"0.01"]],[0,[[13,"cellX",[1,[1,[6,"d.f32",["cx"]],"+",[5,"0.5"]],"/",[6,"d.f32",["LATTICE_GRID"]]]],[13,"cellY",[1,[1,[6,"d.f32",["cy"]],"+",[5,"0.5"]],"/",[6,"d.f32",["LATTICE_GRID"]]]],[13,"ddx",[6,"std.select",[[1,"cellX","-",[7,"p","cursorX"]],[1,[1,"cellX","-",[7,"p","cursorX"]],"*",[7,"p","aspect"]],[1,[7,"p","aspect"],">=",[5,"1"]]]]],[13,"ddy",[6,"std.select",[[1,[1,"cellY","-",[7,"p","cursorY"]],"/",[7,"p","aspect"]],[1,"cellY","-",[7,"p","cursorY"]],[1,[7,"p","aspect"],">=",[5,"1"]]]]],[13,"distSq",[1,[1,"ddx","*","ddx"],"+",[1,"ddy","*","ddy"]]],[13,"influenceRadius",[1,[7,"p","radius"],"*",[5,"3"]]],[11,[1,"distSq","<",[1,"influenceRadius","*","influenceRadius"]],[0,[[13,"influence",[6,"std.exp",[[1,[1,"distSq","/",[1,[7,"p","radius"],"*",[7,"p","radius"]]],"*",[4,"-",[5,"1"]]]]]],[13,"forceMag",[1,[1,[1,"influence","*",[7,"p","clampedSpeed"]],"*",[7,"p","dt"]],"*",[5,"2"]]],[2,"newVelX","=",[1,"newVelX","+",[1,[7,"p","dirX"],"*","forceMag"]]],[2,"newVelY","=",[1,"newVelY","+",[1,[7,"p","dirY"],"*","forceMag"]]]]]]]]],[13,"newDispX",[6,"std.clamp",[[1,"dispX","+",[1,"newVelX","*",[7,"p","subDt"]]],[4,"-",[5,"0.5"]],[5,"0.5"]]]],[13,"newDispY",[6,"std.clamp",[[1,"dispY","+",[1,"newVelY","*",[7,"p","subDt"]]],[4,"-",[5,"0.5"]],[5,"0.5"]]]],[2,[8,[7,[7,"latticeLayout","$"],"writeBuf"],"idx"],"=",[6,"d.vec4f",["newDispX","newDispY","newVelX","newVelY"]]]]]]]]},externals:{"d.u32":()=>R,LATTICE_MAX:()=>rp,latticeLayout:()=>xo,LATTICE_GRID:()=>An,"d.f32":()=>a,"std.select":()=>C,"std.exp":()=>ct,"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})).$name("springLatticeStep"),TV=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_add(__tsover_mul(s,R(An)),t),o=op.$.srcBuf[r];jr(op.$.dispTex,Ge(t,s),x(o.x,o.y,0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"idx",[1,[1,"cy","*",[6,"d.u32",["LATTICE_GRID"]]],"+","cx"]],[13,"cell",[8,[7,[7,"latticeOutputLayout","$"],"srcBuf"],"idx"]],[6,"std.textureStore",[[7,[7,"latticeOutputLayout","$"],"dispTex"],[6,"d.vec2u",["cx","cy"]],[6,"d.vec4f",[[7,"cell","x"],[7,"cell","y"],[5,"0"],[5,"1"]]]]]]]},externals:{"d.u32":()=>R,LATTICE_GRID:()=>An,latticeOutputLayout:()=>op,"std.textureStore":()=>jr,"d.vec2u":()=>Ge,"d.vec4f":()=>x}})&&e.f)({})).$name("springLatticeOutput");var Hb=Le,SV=v.fn([l,a,l,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(t.x,s),t.y),c=l(__tsover_mul(r.x,s),__tsover_sub(1,r.y)),_=__tsover_sub(d.x,c.x),u=__tsover_sub(d.y,c.y),m=__tsover_mul(o,Hb),p=H(m),y=Y(m),h=__tsover_add(__tsover_mul(_,p),__tsover_mul(u,y)),g=__tsover_sub(__tsover_mul(u,p),__tsover_mul(_,y)),w=__tsover_add(__tsover_div(h,__tsover_mul(n,2)),.5),S=__tsover_add(__tsover_div(g,__tsover_mul(i,2)),.5);return f(w,S,__tsover_mul(__tsover_mul(__tsover_mul(De(0,w),De(w,1)),De(0,S)),De(S,1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"},{type:"i",name:"rotationDeg"},{type:"i",name:"halfW"},{type:"i",name:"halfH"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dx",[1,[7,"aspectUV","x"],"-",[7,"centerPos","x"]]],[13,"dy",[1,[7,"aspectUV","y"],"-",[7,"centerPos","y"]]],[13,"rotRad",[1,"rotationDeg","*","OBF_DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rdx",[1,[1,"dx","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dx","*","sinR"]]],[13,"localU",[1,[1,"rdx","/",[1,"halfW","*",[5,"2"]]],"+",[5,"0.5"]]],[13,"localV",[1,[1,"rdy","/",[1,"halfH","*",[5,"2"]]],"+",[5,"0.5"]]],[13,"insideMask",[1,[1,[1,[6,"std.step",[[5,"0"],"localU"]],"*",[6,"std.step",["localU",[5,"1"]]]],"*",[6,"std.step",[[5,"0"],"localV"]]],"*",[6,"std.step",["localV",[5,"1"]]]]],[10,[6,"d.vec3f",["localU","localV","insideMask"]]]]]},externals:{"d.vec2f":()=>l,OBF_DEG_TO_RAD:()=>Hb,"std.cos":()=>H,"std.sin":()=>Y,"std.step":()=>De,"d.vec3f":()=>f}})&&e.f)({})),yc=it,jb=Le,AV=v.fn([l,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(s,jb),c=H(d),_=Y(d),u=__tsover_add(__tsover_mul(t.x,__tsover_mul(_,-1)),__tsover_mul(t.y,c)),m=H(__tsover_add(__tsover_mul(__tsover_mul(u,r),yc),o)),p=X(-1.15,1.15,$(n,0,1));return re(__tsover_sub(p,i),__tsover_add(p,i),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"angleDeg"},{type:"i",name:"frequency"},{type:"i",name:"reliefPhase"},{type:"i",name:"level"},{type:"i",name:"aa"}],body:[0,[[13,"angleRad",[1,"angleDeg","*","HP_DEG_TO_RAD"]],[13,"c",[6,"std.cos",["angleRad"]]],[13,"s",[6,"std.sin",["angleRad"]]],[13,"w",[1,[1,[7,"p","x"],"*",[1,"s","*",[4,"-",[5,"1"]]]],"+",[1,[7,"p","y"],"*","c"]]],[13,"phase",[1,[1,[1,"w","*","frequency"],"*","HP_TAU"],"+","reliefPhase"]],[13,"v",[6,"std.cos",["phase"]]],[13,"thr",[6,"std.mix",[[4,"-",[5,"1.15"]],[5,"1.15"],[6,"std.clamp",["level",[5,"0"],[5,"1"]]]]]],[10,[6,"std.smoothstep",[[1,"thr","-","aa"],[1,"thr","+","aa"],"v"]]]]]},externals:{HP_DEG_TO_RAD:()=>jb,"std.cos":()=>H,"std.sin":()=>Y,HP_TAU:()=>yc,"std.mix":()=>X,"std.clamp":()=>$,"std.smoothstep":()=>re}})&&e.f)({})),MV=v.fn([l,l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=t.sub(s),c=j(d),_=tt(d.y,d.x),u=H(__tsover_add(__tsover_mul(__tsover_sub(__tsover_mul(c,r),__tsover_mul(_,__tsover_div(1,yc))),yc),o)),m=X(-1.15,1.15,$(n,0,1));return re(__tsover_sub(m,i),__tsover_add(m,i),u)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"c"},{type:"i",name:"frequency"},{type:"i",name:"reliefPhase"},{type:"i",name:"level"},{type:"i",name:"aa"}],body:[0,[[13,"dv",[6,[7,"p","sub"],["c"]]],[13,"r",[6,"std.length",["dv"]]],[13,"theta",[6,"std.atan2",[[7,"dv","y"],[7,"dv","x"]]]],[13,"phase",[1,[1,[1,[1,"r","*","frequency"],"-",[1,"theta","*",[1,[5,"1"],"/","HP_TAU"]]],"*","HP_TAU"],"+","reliefPhase"]],[13,"v",[6,"std.cos",["phase"]]],[13,"thr",[6,"std.mix",[[4,"-",[5,"1.15"]],[5,"1.15"],[6,"std.clamp",["level",[5,"0"],[5,"1"]]]]]],[10,[6,"std.smoothstep",[[1,"thr","-","aa"],[1,"thr","+","aa"],"v"]]]]]},externals:{"std.length":()=>j,"std.atan2":()=>tt,HP_TAU:()=>yc,"std.cos":()=>H,"std.mix":()=>X,"std.clamp":()=>$,"std.smoothstep":()=>re}})&&e.f)({}));var PV=ut({pos:l,dir:l,spd:a}).$name("AgentPose");var EV=ut({rhat:l,strength:a,phi:a}).$name("AgentFieldSample");var kV=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return C(C(__tsover_mul(Gs(__tsover_add(__tsover_mul(t,2.3987),.517)),3.141592653589793),a(0),s>.5),a(1.5707963267948966),s>1.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fi"},{type:"i",name:"restMode"}],body:[0,[[13,"randAng",[1,[6,"noise.hash11",[[1,[1,"fi","*",[5,"2.3987"]],"+",[5,"0.517"]]]],"*",[5,"3.141592653589793"]]],[13,"a",[6,"std.select",["randAng",[6,"d.f32",[[5,"0"]]],[1,"restMode",">",[5,"0.5"]]]]],[10,[6,"std.select",["a",[6,"d.f32",[[5,"1.5707963267948966"]]],[1,"restMode",">",[5,"1.5"]]]]]]]},externals:{"noise.hash11":()=>Gs,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})).$name("agentRestAngle");var $V=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return se(t,f(.299,.587,.114))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),UV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(1,se(t,f(.299,.587,.114)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),CV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t.x}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[7,"rgb","x"]]]]},externals:{}})&&e.f)({})),RV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t.y}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[7,"rgb","y"]]]]},externals:{}})&&e.f)({})),zV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t.z}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[7,"rgb","z"]]]]},externals:{}})&&e.f)({})),GV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(b(t.x,t.y),t.z),o=oe(oe(t.x,t.y),t.z);return __tsover_sub(r,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[13,"mx",[6,"std.max",[[6,"std.max",[[7,"rgb","x"],[7,"rgb","y"]]],[7,"rgb","z"]]]],[13,"mn",[6,"std.min",[[6,"std.min",[[7,"rgb","x"],[7,"rgb","y"]]],[7,"rgb","z"]]]],[10,[1,"mx","-","mn"]]]]},externals:{"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),YV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return s}),{v:2,name:void 0,ast:{params:[{type:"i",name:"_rgb"},{type:"i",name:"a"}],body:[0,[[10,"a"]]]},externals:{}})&&e.f)({}));var LV=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(t,0),o=b(s,0);return __tsover_add(oe(b(t,s),0),be(__tsover_add(__tsover_mul(r,r),__tsover_mul(o,o))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"d2"},{type:"i",name:"wz"}],body:[0,[[13,"ox",[6,"std.max",["d2",[5,"0"]]]],[13,"oz",[6,"std.max",["wz",[5,"0"]]]],[10,[1,[6,"std.min",[[6,"std.max",["d2","wz"]],[5,"0"]]],"+",[6,"std.sqrt",[[1,[1,"ox","*","ox"],"+",[1,"oz","*","oz"]]]]]]]]},externals:{"std.max":()=>b,"std.min":()=>oe,"std.sqrt":()=>be}})&&e.f)({})).$name("shapeFieldExtrudeZ");var sL=4*Math.PI,wd=[{scale:2,offsets:[[5.2,1.3],[1.7,9.2]],reach:.25},{scale:1.5,offsets:[[8.3,2.8],[3.1,7.4]],reach:.2}],r_=$o({name:"FlowingGradient",role:"generator",boundingBoxDeclaration:{aspectRatio:null,supportsResizeFit:!0},category:"Textures",description:"Liquid silk gradient with organic flowing color bands",acceptsUVContext:!0,animatedTime:{speed:"speed"},extraFields:{convA:{schema:f,initial:[0,0,0]},convB:{schema:f,initial:[0,0,0]},convC:{schema:f,initial:[0,0,0]},convD:{schema:f,initial:[0,0,0]}},props:{colorA:{default:"#0a0015",transform:ts,description:"Deep background color",ui:{type:"color",label:"Color A",group:"Colors"}},colorB:{default:"#6b17e6",transform:ts,description:"Primary accent color",ui:{type:"color",label:"Color B",group:"Colors"}},colorC:{default:"#ff4d6a",transform:ts,description:"Secondary accent color",ui:{type:"color",label:"Color C",group:"Colors"}},colorD:{default:"#ff6b35",transform:ts,description:"Tertiary accent color",ui:{type:"color",label:"Color D",group:"Colors"}},colorSpace:{default:"oklch",transform:ir,compileTime:!0,description:"Color space for color interpolation",ui:{type:"select",options:Ho,label:"Color Space",group:"Colors"}},speed:{default:1,description:"Animation speed",ui:{type:"range",min:0,max:10,step:.1,label:"Speed",group:"Effect"}},distortion:{default:.5,description:"Organic distortion intensity",ui:{type:["range","map"],min:0,max:2,step:.1,label:"Distortion",group:"Effect"}},seed:{default:0,description:"Random seed for variation",ui:{type:["range","map"],min:0,max:100,step:1,label:"Seed",group:"Effect"}}},paint:e=>{let{uv:t,viewport:s}=bd(e),r=ye(mr(s.member("x"),xa(s.member("y"),1e-6)),"aspect"),o=ye(N(uo(e),.075),"flowTime"),n=ye(N(Dt(zt("seed"),e),.17),"flowSeed"),i=ye(Dt(zt("distortion"),e),"flowStrength"),d=ye(fs(t,.5),"flowCentred"),c=ye(N(N(Sn(tr($e(N(d.member("x"),.8),N(o,.4)),fs(N(d.member("y"),.8),N(o,.25)),n)),sL),i),"flowAngle"),_=ye(p1(Jt(d.member("x"),mr(d.member("y"),r)),t_(c),Uo(c)),"flowSpun"),u=ye(Jt(_.member("x"),N(_.member("y"),r)),"flowRot"),m=N(o,2),p=ye($e(u.member("x"),N(mr(Uo($e(N(u.member("y"),5),m)),50),i)),"flowShearX"),y=ye(Ty({at:Jt(p,$e(u.member("y"),N(mr(Uo($e(N(p,7.5),m)),25),i))),scale:wd[0].scale,z:$e(N(o,.5),n),offsets:wd[0].offsets,reach:wd[0].reach,strength:i}),"flowWarp1"),h=ye($e(N(o,.3),n),"flowTz"),g=ye(Ty({at:y.member("xy"),scale:wd[1].scale,z:h,offsets:wd[1].offsets,reach:wd[1].reach,strength:i}),"flowWarp2"),w=Sn(tr(N(g.member("x"),1.8),N(g.member("y"),1.8),h)),S=ye(nd($e(N(y.member("z"),.5),.5),1.5),"flowHardness"),T=ye(Co(.5,.008,S),"flowEdge"),A=ye(Ss(N(T,-1),T,w),"flowT1"),P=ye(Ss(N(T,-1),T,y.member("w")),"flowT2"),U=ye(kw({a:zt("colorA"),b:zt("colorB"),c:zt("colorC"),d:zt("colorD"),space:zt("colorSpace")})(A,P,e),"flowBase"),D=G=>fs(1,m1(fs(N(G,2),1))),O=N(xa(D(A),D(P)),S),L=N($e(N($e(N(g.member("z"),.5),.5),.12),.94),$e(1,N(O,.35)));return ni(gr(N(U.member("rgb"),L),ln(0),ln(1)),U.member("a"))}});var o_=$o({name:"Godrays",role:"generator",boundingBoxDeclaration:{aspectRatio:null,supportsResizeFit:!0},category:"Textures",description:"Volumetric light rays emanating from a point",acceptsUVContext:!0,animatedTime:{speed:"speed"},props:{center:{default:{x:0,y:0},transform:ho,description:"The center point of the god rays",ui:{type:"position",label:"Center",group:"Position"}},density:{default:.3,description:"Frequency of ray sectors",ui:{type:["range","map"],min:0,max:1,step:.1,label:"Density",group:"Effect"}},intensity:{default:.8,description:"Ray visibility within sectors",ui:{type:["range","map"],min:0,max:1,step:.1,label:"Intensity",group:"Effect"}},spotty:{default:1,description:"Density of spots on rays (higher = more spots)",ui:{type:["range","map"],min:0,max:1,step:.1,label:"Spotty",group:"Effect"}},speed:{default:.5,description:"Animation speed of the rays",ui:{type:"range",min:0,max:2,step:.1,label:"Speed",group:"Animation"}},rayColor:{default:"#4283fb",transform:ts,description:"Color of the light rays",ui:{type:"color",label:"Ray Color",group:"Colors"}},backgroundColor:{default:"transparent",transform:ts,description:"Background color",ui:{type:"color",label:"Background Color",group:"Colors"}}},paint:Rw({color:zt("rayColor"),background:zt("backgroundColor"),coverage:Uw($w(zt("center")),Cw({density:zt("density"),intensity:zt("intensity"),spotty:zt("spotty")}))})});var{isMobileGpuViewport:rL}=yd,oL=JSON.stringify({type:"sphere3D",radius:.35});function Jw(e,t,s,r,o,n,i){let d=ye(fs(N(e,s),N(t,r)),"ex"),c=ye($e(N(e,r),N(t,s)),"ey"),_=ye(Jt(d,c),"p"),u=ye(Ss(-.7,.85,c),"sky"),m=N(N(u,u),.4),p=ye(N(o,1.05),"r0"),y=Ss(p,N(p,.2),gd(fs(_,Jt($e(0,n),.55))));m=$e(m,N(N(y,1.75),i));let h=ye(N(o,1.25),"r1"),g=Ss(h,N(h,.2),gd(fs(_,Jt($e(-.45,n),-.4))));m=$e(m,N(N(g,1.15),i));let w=ye(N(o,1.15),"r2"),S=Ss(w,N(w,.2),gd(fs(_,Jt($e(.55,n),.1))));return $e(m,N(N(S,1.1),i))}var n_=$o({name:"LiquidMetal",role:"shapeEffect",species:"custom",boundingBoxDeclaration:i1,category:"Shape Effects",description:"Flowing liquid chrome \u2014 a molten reflective surface that wraps the shape, sweeping a procedural studio reflection across animated folds with crisp speculars and prismatic edges",animatedTime:{speed:"speed"},...h1({pattern:"raw",surface:(e,t)=>{let{uniforms:s}=t,r=uo(t),o=rL(),n=x1(e,t,{scale:s.scale}),{sdf:i,pxH:d}=n,c=g1(e,n,{bevelWidth:s.bevelWidth,bevelShape:s.bevelShape}),_=zw(e,n),u=ye(N(s.ripple,2.6),"freq"),m=ye(N(r,.12),"flowT"),p=ye(Jt(N(_.member("x"),u),N(_.member("y"),u)),"q"),y=N(s.warp,.9),h=ye(Dw($e(p,N(Fw(N(p,.6),m),y)),.62),"hg"),g=ye(N(s.turbulence,.5),"relief"),w=Lw(c,N(N(h.member("x"),g),-1),N(N(h.member("y"),g),-1)),S=ye(f1(b1(t,n),w),"R"),T=ye(s.environment,"envStr"),A=ye(gr(s.sharpness,0,1),"sharp"),P=ye(Co(.5,.18,A),"keyRad"),U=ye(N(Uo(N(r,.07)),.05),"drift"),D=s_(s.envRotation,"env"),O=D.member("x"),L=D.member("y"),G=ye(T1(s_(s.lightAngle,"light"),-.7).member("H"),"Hh"),W=ye(Iw(gr($e($e(N(w.member("x"),G.member("x")),N(w.member("y"),G.member("y"))),N(w.member("z"),G.member("z"))),0,1),A,ni(60,900,.4,1.4)),"spec"),K=ye($e(Jw(S.member("x"),S.member("y"),O,L,P,U,T),W),"lumG"),Q,te;if(o)Q=K,te=K;else{let Te=fs(1,gr(N(w.member("z"),-1),0,1)),Ue=ye(N(N(s.dispersion,.09),$e(.4,N(Te,1.3))),"dth"),Me=ye($e(Jw($e(S.member("x"),N(S.member("y"),Ue)),fs(S.member("y"),N(S.member("x"),Ue)),O,L,P,U,T),W),"lumBoffset");te=Me,Q=fs(N(K,2),Me)}let ee=ye(s.darkColor.member("rgb"),"dark"),he=ye(s.lightColor.member("rgb"),"light"),Ee=ni(Co(ee.member("x"),he.member("x"),gr(Q,0,1.8)),Co(ee.member("y"),he.member("y"),gr(K,0,1.8)),Co(ee.member("z"),he.member("z"),gr(te,0,1.8)),w1(n,s.edgeSoftness));return v1(y1(i,d),Ee,xr,"liquidMetal")}}),props:{origin:{default:"center",description:"Reference edge the center position is measured from (center default). Lets you pin the shape relative to a corner or the canvas centre.",ui:{type:"origin",label:"Origin",group:"Position"}},center:{default:{x:.5,y:.5},transform:ho,description:"Center position of the metal shape",ui:{type:"position",label:"Center",group:"Position",units:["%","px"]}},scale:{default:1,description:"Scale of the metal shape (1 = default size)",ui:{type:"range",min:.1,max:3,step:.01,label:"Scale",group:"Position"}},rotation:{default:0,description:"Rotation of the metal shape in degrees",ui:{type:"range",min:0,max:360,step:1,label:"Rotation",group:"Position"}},lightColor:{default:"#eef0f6",transform:ts,description:"The bright tone of the chrome highlights",ui:{type:"color",label:"Light Color",group:"Metal"}},darkColor:{default:"#141414",transform:ts,description:"The dark tone the reflection falls to in shadow \u2014 recolor for tinted metal (gold, steel, copper\u2026)",ui:{type:"color",label:"Dark Color",group:"Metal"}},turbulence:{default:1,description:"How molten the surface is \u2014 the depth of the flowing folds that bend the reflection",ui:{type:"range",min:0,max:1.5,step:.01,label:"Turbulence",group:"Liquid"}},ripple:{default:4,description:"Scale of the molten folds \u2014 higher = smaller, busier ripples",ui:{type:"range",min:.5,max:8,step:.01,label:"Ripple Scale",group:"Liquid"}},warp:{default:1.5,description:"Swirl of the flow \u2014 domain-warps the folds into liquid curls",ui:{type:"range",min:0,max:1.5,step:.01,label:"Swirl",group:"Liquid"}},speed:{default:.5,description:"Speed of the molten flow and the slowly drifting reflection. 0 pauses.",ui:{type:"range",min:0,max:4,step:.01,label:"Speed",group:"Liquid"}},...xd({environment:{default:1.5,description:"Strength of the reflected studio lighting \u2014 the softboxes seen across the metal",ui:{group:"Surface"}},envRotation:{ui:{group:"Surface"}}}),sharpness:{default:.6,description:"Tightness of the specular highlights \u2014 1 = razor chrome glints, 0 = soft satin",ui:{type:"range",min:0,max:1,step:.01,label:"Sharpness",group:"Surface"}},...xd({dispersion:{description:"Prismatic color fringing along the reflection edges",ui:{group:"Surface"}},lightAngle:{default:265,description:"Direction of the key light for the specular glints, in degrees",ui:{group:"Surface"}}}),bevelWidth:{default:.05,description:"Width of the edge bevel, relative to the shape \u2014 thin for machined jewellery edges, wide for soft pillowed metal",ui:{type:["range","map"],min:.005,max:.2,step:.001,label:"Bevel Width",group:"Surface"}},bevelShape:{default:0,description:"Bevel profile \u2014 0 = one smooth round fillet, 1 = machined: a steep outer fillet, a chamfer plateau and an inner knee, each catching its own line of light",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Bevel Profile",group:"Surface"}},...xd({edgeSoftness:{ui:{group:"Surface"}}}),shape:{default:oL,description:"Serialized shape configuration (JSON)",ui:{type:"shape",label:"Shape",group:"Shape"}},shapeSdfUrl:{default:"",compileTime:!0,description:"URL to a pre-generated SDF .bin file"},shapeType:{default:"",compileTime:!0,description:"Active SDF shape type"}}});var nL=3.141592653589793,a_=$o({name:"Marble",role:"generator",boundingBoxDeclaration:{aspectRatio:null,supportsResizeFit:!0},category:"Textures",description:"Classic marble swirl and vein texture using noise-warped sine waves",acceptsUVContext:!0,animatedTime:{speed:"speed"},props:{colorA:{default:"#ffffff",transform:ts,description:"Base background color of the marble",ui:{type:"color",label:"Base",group:"Colors"}},colorB:{default:"#3a2d54",transform:ts,description:"Secondary marble tone",ui:{type:"color",label:"Tone",group:"Colors"}},colorC:{default:"#0f0f0f",transform:ts,description:"Deepest marble color",ui:{type:"color",label:"Depth",group:"Colors"}},scale:{default:2,description:"Scale and density of the marble vein pattern",ui:{type:["range","map"],min:.1,max:10,step:.1,label:"Scale",group:"Effect"}},turbulence:{default:10,description:"Amount of noise-driven distortion applied to the veins",ui:{type:["range","map"],min:0,max:50,step:.5,label:"Turbulence",group:"Effect"}},speed:{default:.05,description:"Animation speed",ui:{type:"range",min:0,max:.25,step:.005,label:"Speed",group:"Animation"}},seed:{default:0,description:"Random seed for pattern variation",ui:{type:["range","map"],min:0,max:100,step:1,label:"Seed",group:"Effect"}},colorSpace:{default:"linear",transform:ir,compileTime:!0,description:"Color space for color interpolation",ui:{type:"select",options:Ho,label:"Color Space",group:"Colors"}}},paint:e=>{let{uv:t,viewport:s}=bd(e),r=ye(mr(s.member("x"),xa(s.member("y"),1e-6)),"aspect"),o=ye(uo(e),"marbleTime"),n=Dt(zt("seed"),e),i=ye(N(Jt(N(t.member("x"),r),t.member("y")),Dt(zt("scale"),e)),"plane"),d=i.member("x"),c=i.member("y"),_=ye($e($e(ga(Jt($e(d,n),$e(c,o))),N(ga(Jt($e(N(d,2),N(n,1.7)),$e(N(c,2),N(o,.7)))),.5)),N(ga(Jt($e(N(d,4),N(n,3.1)),$e(N(c,4),N(o,1.3)))),.25)),"marbleTurb"),u=ye($e(N(Uo($e(N(d,nL),N(_,Dt(zt("turbulence"),e)))),.5),.5),"veinT"),m=$e(N(ga(Jt($e(N(c,1.5),N(n,2)),N(d,1.2))),.3),.5);return Tw({a:zt("colorA"),b:zt("colorB"),c:zt("colorC"),space:zt("colorSpace")})(Ss(.3,.6,u),N(Ss(.6,.9,u),m),e)}});var S1=1.6,aL=.48,iL=.125,dL=3,eT=1.9,cL=1.4,_L=.045,lL=9,uL=[{color:"#1a0533",position:0},{color:"#6d2fd1",position:.26},{color:"#e04b9e",position:.52},{color:"#ff8c42",position:.76},{color:"#ffdf8e",position:1}],i_=$o({name:"MeshGradient",role:"generator",boundingBoxDeclaration:{aspectRatio:null,supportsResizeFit:!0},category:"Textures",description:"Flowing mesh gradient of soft drifting color swaths whose seams wrap through the palette",acceptsUVContext:!0,animatedTime:{speed:"speed"},extraFields:{meshAnchors:{schema:pt(x,4),initial:new Array(16).fill(0)}},props:{colorA:{default:"#1a0533",transform:ts,description:"First gradient color (two-color fallback when stops are cleared)",ui:{type:"color",label:"Color A",group:"Colors"}},colorB:{default:"#ffdf8e",transform:ts,description:"Second gradient color (two-color fallback when stops are cleared)",ui:{type:"color",label:"Color B",group:"Colors"}},stops:{...dw(),default:uL},colorSpace:{default:"oklab",transform:ir,compileTime:!0,description:"Color space for color interpolation",ui:{type:"select",options:Ho,label:"Color Space",group:"Colors"}},count:{default:5,description:"Number of color points scattered across the canvas",ui:{type:"range",min:2,max:8,step:1,label:"Points",group:"Effect"}},smoothness:{default:2,description:"How smoothly the color points blend into each other",ui:{type:["range","map"],min:0,max:5,step:.01,label:"Smoothness",group:"Effect"}},variation:{default:.35,recompile:bw(0),description:"Varies edge softness across the canvas \u2014 some color boundaries crisp, others diffuse",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Variation",group:"Effect"}},swirl:{default:.3,description:"Vortex rotation that spirals the field around the frame centre \u2014 negative values spin the other way",ui:{type:["range","map"],min:-1,max:1,step:.01,label:"Swirl",group:"Effect"}},drift:{default:.5,description:"How far the color points wander from their home positions",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Drift",group:"Effect"}},wrapping:{default:0,description:"Wraps the palette back through itself where colors meet \u2014 banded seams where the field pinches, smooth elsewhere",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Wrapping",group:"Effect"}},speed:{default:1,description:"Animation speed",ui:{type:"range",min:0,max:10,step:.1,label:"Speed",group:"Animation"}},seed:{default:0,description:"Random seed for the point layout and palette assignment",ui:{type:["range","map"],min:0,max:100,step:1,label:"Seed",group:"Effect"}}},paint:e=>{let{uv:t,viewport:s}=bd(e),r=ye(mr(s.member("x"),xa(s.member("y"),1e-6)),"aspect"),o=ye(uo(e),"meshTime"),n=Dt(zt("seed"),e),i=ye(Jt(fs(N(t.member("x"),r),N(r,.5)),fs(t.member("y"),.5)),"meshCentred"),d=ye(N(N(-dL,Dt(zt("swirl"),e)),Ss(0,1,gd(i))),"swirlAngle"),c=ye(p1(i,t_(d),Uo(d)),"meshRot"),_=ye(Jt($e(c.member("x"),N(r,.5)),$e(c.member("y"),.5)),"meshSwirled"),u=ye(Pw({at:tr(N(_.member("x"),S1),N(_.member("y"),S1),N(n,7.31)),time:N(o,iL),amount:aL,levels:_o()?1:2}),"meshWarp"),m=ye(Jt(mr(u.member("x"),S1),mr(u.member("y"),S1)),"meshQ"),p=mr(8,$e(Dt(zt("smoothness"),e),.5)),y=e.propValues.variation,h=y!==void 0&&y!==0?gr(N(p,wy(N(N(Sn(tr(N(m.member("x"),eT),N(m.member("y"),eT),$e(N(n,3.17),N(o,_L)))),Dt(zt("variation"),e)),cL))),.6,16):gr(p,.6,16),g=Aw(e,{count:zt("count"),seed:zt("seed"),drift:zt("drift"),field:"meshAnchors"});return jw(Ew(Mw({t:Sw({at:m,count:Dt(zt("count"),e),seed:n,drift:Dt(zt("drift"),e),aspect:r,time:o,softness:h,anchors:g}),cycles:$e(1,N(Dt(zt("wrapping"),e),lL))}),e),e)}});var{isMobileGpuViewport:mL,VOLUMETRIC_FIELD_EXTRA_FIELDS:pL}=yd,{ANALYTIC_SDF_EXTRA_FIELDS:fL}=n1,vL=JSON.stringify({type:"sphere3D",radius:.35}),yL=6,hL=4,d_=$o({name:"Nebula",role:"shapeEffect",species:"custom",boundingBoxDeclaration:i1,category:"Shape Effects",description:"A volumetric gas nebula sealed inside polished glass; billowing emission clouds with hollow dark cavities and hot glowing cores, star fields drifting at real depth behind the gas, all refracted through the curved walls of the shape and dressed with studio reflections",animatedTime:{speed:"speed"},...h1({pattern:"raw",surface:(e,t)=>{let{uniforms:s}=t,r=uo(t),o=mL()?hL:yL,n=t.propValues.colorSpace??0,i,d;if(n!==0){let Fe="";t.onBeforeRender(()=>{let st=["veilColor","gasColor","coreColor"].map(Ve=>t.getCpuValue(Ve));if(st.some(Ve=>!Ve))return;let Xe=st.map(Ve=>`${Ve.x},${Ve.y},${Ve.z}`).join("|");if(Xe===Fe)return;Fe=Xe;let We=["convVeil","convGas","convCore"];st.forEach((Ve,Ft)=>{let Gt=s1(Ve.x,Ve.y,Ve.z,n);t.setExtraField(We[Ft],[Gt[0],Gt[1],Gt[2]])})});let Ie=Bv[n]??t1;i=st=>we(Ie,"mixPreconvertedColors",[s.convVeil,s.convGas,s.veilColor.member("a"),s.gasColor.member("a"),st]),d=(st,Xe,We)=>{let Ve=ye(we(fa,"mixInSpace",[s.convVeil,s.veilColor.member("a"),s.convGas,s.gasColor.member("a"),st]),`${We}AB`);return we(Ie,"mixPreconvertedColors",[Ve.member("conv"),s.convCore,Ve.member("alpha"),s.coreColor.member("a"),Xe])}}else i=Fe=>we(Bo,"mixColors",[s.veilColor,s.gasColor,Fe]),d=(Fe,Ie)=>we(Bo,"mixColors",[we(Bo,"mixColors",[s.veilColor,s.gasColor,Fe]),s.coreColor,Ie]);let c=x1(e,t,{scale:s.scale}),{sdf:_,pxH:u}=c,m=g1(e,c,{bevelWidth:Zr(.09),bevelShape:Zr(0)}),p=b1(t,c),y=Ow(e,m,ye(N(s.refraction,.16),"bend")),{x:h,y:g}=y.centered,w=Ww(e),S=Nw(c,e,{origin:y,view:p,shear:.55,lengthScale:.9}),T=S.length,A=ye(N(s.gasScale,3.1),"freq"),P=ye(N(r,.14),"drift"),U=ye(N(s.seed,7.31),"seedOff"),D=ye(N(Bw(N(y.x,311.7),N(y.y,173.3)),.15/o),"jit"),O=ye(N(ga(Jt($e($e(N(h,1.3),N(P,.6)),N(U,.37)),$e(N(g,1.3),N(U,.61)))),.5),"macro"),L=ye(Co(-.35,.5,s.cavity),"cav"),G=ye(N(s.billow,.55),"billowAmt"),W=ye(s.coreColor.member("rgb"),"coreRgb"),K=ye(s.veilColor.member("rgb"),"veilRgb"),Q=ye(N($e(.3,N(T,.9)),6/o),"eGain"),te=ye(N(N($e(.5,N(T,2.2)),s.density),3/o),"aGain"),ee=Xw({steps:o,entry:S.entry,length:S.length,jitter:D,emissionGain:Q,hint:"gasAcc"},({i:Fe,t:Ie,z:st})=>{let Xe=S.at(st),We=qw({x:Xe.x,y:Xe.y,z:st},{frequency:A,drift:P,seed:U,billow:G,hint:`${Fe}`}),Ve=Ss(0,.11,N(T,Math.min(Ie,1-Ie))),Ft=fs(1,gr(N(m1(We.fine),1.6),0,1)),Gt=ye(N(N(Ss(0,.5,fs($e(We.density,O),L)),Ve),$e(.65,N(Ft,.7))),`dens${Fe}`),os=ye(N(N(Ss(.45,.75,We.mid),Ve),s.dust),`dust${Fe}`),bs=ye(d(Ss(.05,.75,Gt),Ss(.68,1,Gt),`cB${Fe}`),`cB${Fe}`).member("rgb"),ls=1-Ie*.45,As=N(Ss(-.7,.3,We.density),N(.05,Ve));return{emit:$e($e(N(bs,N(Gt,ls)),N(W,N(nd(Gt,3),N(s.glow,1.2*ls)))),N(K,N(As,ls))),absorb:$e(ln(N(Gt,te)),N(tr(1.5,1,.55),N(os,N(te,2.2))))}}),he=ye(N(s.starScale,34),"starFreq"),Ee=ye(N(s.twinkle,.5),"twinkleAmt"),Te=My(S,{depth:1.1,pan:w,panRate:1.3,hint:"far"}),Ue=Ay(ye(Jt(N(Te.x,he),N(Te.y,he)),"farP"),{variationFreq:.13,radius:[.004,.013],keep:[.35,.75],brightness:[.3,1.2],shimmer:Fe=>Sy(r,Fe,{amount:Ee,rate:1.7,spread:40}),gain:s.stars,tint:{from:[.72,.82,1],to:[1,.92,.82],gain:1.6},hint:"starFar"}),Me=My(S,{depth:.25,pan:w,panRate:.55,hint:"near"}),Pe=N(he,.56),Re=Ay(ye(Jt($e(N(Me.x,Pe),7.3),$e(N(Me.y,Pe),2.9)),"nearP"),{variationFreq:.11,radius:[.003,.01],keep:[.45,.8],brightness:[.35,1.3],shimmer:Fe=>Sy(r,Fe,{amount:Ee,rate:2.3,spread:34}),gain:s.stars,tint:{from:[.75,.85,1],to:[1,.95,.88],gain:1.8},hint:"starNear"}),de=s_(s.lightAngle,"light"),je=ye(gr(gw(m,T1(de,-.7).member("H")),0,1),"ndh"),fe=ye(f1(p,m),"R"),Ke=ye(Gw(fe.member("x"),fe.member("y"),{rotation:de,keyRadius:.2,drift:0,strength:s.environment,skyGain:.32}),"envLum"),Ze=Vw(je,{core:[140,1.3],halo:[22,.14],softness:s.highlightSoftness,gain:s.highlight}),at=Yw(Hw([{paint:i(Zr(.25)).member("rgb"),opacity:.06,behind:ee.transmittance},ee.color,{paint:Ue.rgb,behind:ee.transmittance},{paint:Re.rgb,behind:Co(ee.transmittance,ln(1),.35)},{paint:N(tr(.85,.92,1.08),Ke),opacity:.38},N(tr(1,.98,.95),Ze)]));return v1(y1(_,u),ni(at,w1(c,s.edgeSoftness)),xr,"nebula")}}),extraFields:{...pL,...fL,convVeil:{schema:f,initial:[0,0,0]},convGas:{schema:f,initial:[0,0,0]},convCore:{schema:f,initial:[0,0,0]}},props:{origin:{default:"center",description:"Reference edge the center position is measured from (center default). Lets you pin the shape relative to a corner or the canvas centre.",ui:{type:"origin",label:"Origin",group:"Position"}},center:{default:{x:.5,y:.5},transform:ho,description:"Center position of the nebula shape",ui:{type:"position",label:"Center",group:"Position",units:["%","px"]}},scale:{default:1,description:"Scale of the nebula shape (1 = default size)",ui:{type:["range","map"],min:.1,max:3,step:.01,label:"Scale",group:"Position"}},rotation:{default:0,description:"Rotation of the nebula shape in degrees",ui:{type:"range",min:0,max:360,step:1,label:"Rotation",group:"Position"}},coreColor:{default:"#ffd9b0",transform:ts,description:"The hot color the densest gas cores glow with \u2014 the embedded newborn stars",ui:{type:"color",label:"Core Color",group:"Nebula"}},gasColor:{default:"#ff5e7a",transform:ts,description:"The main emission color of the gas body \u2014 H-alpha rose by default",ui:{type:"color",label:"Gas Color",group:"Nebula"}},veilColor:{default:"#3a5bdb",transform:ts,description:"The color of the thin outer veils and the deep-space background behind the gas",ui:{type:"color",label:"Veil Color",group:"Nebula"}},colorSpace:{default:"oklab",transform:ir,compileTime:!0,description:"Color space the veil \u2192 gas \u2192 core ramps blend in",ui:{type:"select",options:Ho,label:"Color Space",group:"Nebula"}},density:{default:1,description:"Optical density of the gas \u2014 how strongly clouds occlude the stars and gas behind them",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Density",group:"Nebula"}},cavity:{default:0,description:"How hollowed-out the nebula is \u2014 0 fills the volume with cloud banks, high carves large dark voids between them",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Cavity",group:"Nebula"}},dust:{default:.55,description:"Cold dark dust lanes threading the gas \u2014 absorb-only tendrils that redden the clouds and stars behind them",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Dust",group:"Nebula"}},gasScale:{default:.4,description:"Feature size of the gas \u2014 higher = finer, busier cloud detail",ui:{type:["range","map"],min:.1,max:1,step:.01,label:"Gas Scale",group:"Nebula"}},billow:{default:.6,description:"Turbulent folding of the clouds \u2014 0 = smooth drifting banks, 1 = heavily churned billows",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Billow",group:"Nebula"}},glow:{default:0,description:"Hot emission bloom of the dense cores",ui:{type:["range","map"],min:0,max:2,step:.01,label:"Glow",group:"Nebula"}},seed:{default:0,description:"Random seed \u2014 pans the gas field to a different region of noise space for a new cloud composition",ui:{type:["range","map"],min:0,max:100,step:1,label:"Seed",group:"Nebula"}},stars:{default:.07,description:"Brightness of the star fields drifting at depth behind and inside the gas",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Stars",group:"Stars"}},starScale:{default:1,description:"Density of the star fields \u2014 higher = smaller, busier stars",ui:{type:["range","map"],min:.25,max:3,step:.01,label:"Star Scale",group:"Stars"}},twinkle:{default:.35,description:"Intensity of the star twinkle (0 = steady stars, 1 = full shimmer)",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Twinkle",group:"Stars"}},...xd({refraction:{description:"How strongly the curved glass walls bend the interior seen near the edges"},environment:{default:.7,description:"Strength of the studio softboxes reflected in the polished glass surface"},highlight:{default:1.15,description:"Sharp key-light glint on the glass",ui:{group:"Glass"}},highlightSoftness:{ui:{group:"Glass"}},lightAngle:{description:"Direction of the key light and reflected studio, in degrees"},edgeSoftness:!0}),speed:{default:.3,description:"Speed of the slowly churning gas and twinkling stars. 0 freezes the nebula.",ui:{type:"range",min:0,max:4,step:.01,label:"Speed",group:"Animation"}},shape:{default:vL,description:"Serialized shape configuration (JSON)",ui:{type:"shape",label:"Shape",group:"Shape"}},shapeSdfUrl:{default:"",compileTime:!0,description:"URL to a pre-generated SDF .bin file"},shapeType:{default:"",compileTime:!0,description:"Active SDF shape type"}}});var xL=[r_,o_,n_,a_,i_,d_].map(e=>({definition:e})),gL=e=>xL.find(t=>t.definition.name===e);var bL=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(e1({in:{vertexIndex:_r.vertexIndex},out:{pos:_r.position,uv:lt}})`{ + const pos = array(vec2f(-1, -1), vec2f(3, -1), vec2f(-1, 3)); + const uv = array(vec2f(0, 1), vec2f(2, 1), vec2f(0, -1)); + + return Out(vec4f(pos[in.vertexIndex], 0, 1), uv[in.vertexIndex]); +}`,"fullScreenTriangle");o2.disable("external-omitted");var wL=["float32-filterable","timestamp-query"],ky=new WeakMap,Ey=new WeakMap,$y=new WeakSet,Td=null,TL=new WeakSet;async function SL(e={}){if(e.device&&!$y.has(e.device)){let r=e.device,o=ky.get(r);o||(o=v.initFromDevice({device:r}),ky.set(r,o));let n=tT(o,e.onDeviceLost);return{root:o,device:r,adapter:e.adapter,createdDevice:!1,release:n}}e.device&&Ma("[gpu] injected GPU device was lost \u2014 falling back to the shared default device");let t=await AL(),s=tT(t.root,e.onDeviceLost);return{root:t.root,device:t.device,adapter:t.adapter,createdDevice:!1,release:s}}async function AL(){for(;;){let t=Td;if(!t)break;let s=await t.catch(()=>null);if(s&&!TL.has(t)&&!$y.has(s.device))return s;Td===t&&(Td=null)}let e=ML();Td=e;try{return await e}catch(t){throw Td===e&&(Td=null),t}}async function ML(){if(typeof navigator>"u"||!navigator.gpu)throw new mi("unsupported","[gpu] WebGPU is not available in this environment (navigator.gpu is undefined).");let e;try{e=await v.init({adapter:{powerPreference:"high-performance"},device:{optionalFeatures:wL}})}catch(t){let s=await ih();throw new mi(s.supported?"no-device":s.reason??"init-failed",void 0,{cause:t})}if(!e.device)throw new mi("no-device","[gpu] adapter returned no device.");return ky.set(e.device,e),{root:e,device:e.device,createdDevice:!0}}function PL(e,t,s={}){return e.configureContext({canvas:t,alphaMode:"premultiplied",...s})}function tT(e,t){let s=e.device,r=Ey.get(s);if(r||(r=new Set,Ey.set(s,r),e.device.lost.then(n=>{if($y.add(s),n.reason!=="destroyed")for(let i of[...Ey.get(s)??[]])i(n)})),!t)return()=>{};let o=r;return o.add(t),()=>o.delete(t)}function EL(){let e={value:0,advance(t,s){e.value+=t*s}};return e}var sT=new WeakMap;function ii(e){let t=sT.get(e);return t||(t=EL(),sT.set(e,t)),t}var kL=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({time:a,viewportSize:l,logicalViewportSize:l,aspect:a,pointer:l,pointerActive:a}),"SystemUniforms");v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return vr(t,s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewportSize"}],body:[0,[[10,[6,"std.mul",["uv","viewportSize"]]]]]},externals:{"std.mul":()=>vr}})&&e.f)({}));v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_div(t.x,t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"viewportSize"}],body:[0,[[10,[1,[7,"viewportSize","x"],"/",[7,"viewportSize","y"]]]]]},externals:{}})&&e.f)({}));function $L(e){let t=2166136261,s=e.join("");for(let r=0;r>>0).toString(16).padStart(8,"0")}:${s.length}`}function UL(e={}){let t=e.maxSize??4,s=e.dispose,r=new Map,o=0,n=null,i=null;function d(_){_.lastUsed=++o}function c(){for(;r.size>t;){let _=null;for(let u of r.values())u.hash===n||u.hash===i||(!_||u.lastUsed<_.lastUsed)&&(_=u);if(!_)break;r.delete(_.hash),s?.(_.value,_.hash)}}return{getOrBuild(_,u){let m=r.get(_);if(m)return d(m),_===n?i=null:i=_,m.value;let p=u(),y={hash:_,value:p,lastUsed:++o};return r.set(_,y),n===null?(n=_,i=null):i=_,c(),p},markReady(_){if(_!==i)return;let u=r.get(_);u&&(n=_,i=null,d(u),c())},get renderValue(){let _=n??i;return _?r.get(_)?.value??null:null},get activeHash(){return n},get pendingHash(){return i},release(_){let u=r.get(_);u&&(r.delete(_),s?.(u.value,_),n===_&&(n=null),i===_&&(i=null))},has(_){return r.has(_)},get size(){return r.size},clear(){for(let _ of r.values())s?.(_.value,_.hash);r.clear(),n=null,i=null}}}var Sd="passManager";function CL(e,t){let{textureManager:s,dispatcher:r}=t,o=t.canvasFormat??RL(),n=t.rttFormat??"rgba16float",i=e.device?.limits?.maxSampledTexturesPerShaderStage,d=t.maxSampledTextures??(typeof i=="number"&&i>0?i:16),c=t.fullScreenTriangle??bL,_=new Map,u=new Set,m=null;function p(){let G=s.samplers;try{return e.createBindGroup(Nv,{linearClamp:G.linearClamp,nearestClamp:G.nearestClamp,linearRepeat:G.linearRepeat,nearestRepeat:G.nearestRepeat})}catch(W){Is(`[${Sd}] failed to build sampler bind group:`,W);return}}function y(G,W){let K=new Set;for(let Q of G.textures)if(Q.kind==="rtt")if(K.add(Q.key),_.has(Q.key))_.get(Q.key).resize(W.width,W.height);else{let te=s.createRenderTexture({width:W.width,height:W.height,format:n,label:`rtt:${Q.key}`});_.set(Q.key,te),u.add(te)}for(let[Q,te]of[..._])K.has(Q)||(te.destroy(),u.delete(te),_.delete(Q))}function h(G,W){if(!G.textureLayout||G.reads.length===0)return;let K={};for(let Q of G.reads){let te=_.get(Q),ee=W?.[Q],he=te??ee;if(!he){Is(`[${Sd}] pass "${G.entry}" reads unknown texture "${Q}"`);return}K[Q]=he.texture}G.reads.length>d&&Ma(`[${Sd}] pass samples ${G.reads.length} textures (> device limit ~${d}); composition may fail on this device.`);try{return e.createBindGroup(G.textureLayout,K)}catch(Q){Is(`[${Sd}] failed to build texture bind group:`,Q);return}}function g(G,W){return e.createRenderPipeline({vertex:c,fragment:G.entry,targets:{format:W}})}function w(G,W){if(!G.externalLayout||G.externalReads.length===0)return;let K=G.externalReads;if(K.length===1){let te=W.get(K[0]);if(!te){Is(`[${Sd}] external read "${K[0]}" has no registered source`);return}return s.createExternalTextureBinding({layout:G.externalLayout,entryKey:K[0],getSource:te})}let Q=null;return{update(){let te={};for(let ee of K){let he=W.get(ee)?.();if(!he)return Q=null,null;try{te[ee]=e.device.importExternalTexture({source:he})}catch{return Q=null,null}}return Q=e.createBindGroup(G.externalLayout,te),Q},get current(){return Q},destroy(){Q=null}}}function S(G,W,K,Q){let te=W.kind==="canvas"?o:n,ee=G.reads.filter(Ee=>K?.[Ee]),he=new Map(ee.map(Ee=>[Ee,K[Ee].texture]));return{fragment:G,pipeline:g(G,te),textureBindGroup:h(G,K),externalBinding:w(G,Q),target:W,mediaReads:ee,mediaSnapshot:he}}function T(G,W,K,Q){y(G,K);for(let Te of G.computeSteps)Te.bindInputs?.(Ue=>_.get(Ue)??Q?.[Ue]);let te=p(),ee=new Map;for(let Te of G.externalTextures)ee.set(Te.key,Te.getSource);let he=G.rttPasses.map(Te=>S(Te.fragment,{kind:"rtt",key:Te.textureKey},Q,ee)),Ee=S(G.finalPass,{kind:"canvas"},Q,ee);m={ir:G,uniformBindGroup:W,samplerBindGroup:te,computeSteps:G.computeSteps,rttPasses:he,finalPass:Ee,size:K,mediaResources:Q}}function A(G,W){let K=G.pipeline;if(m?.uniformBindGroup&&(K=K.with(m.uniformBindGroup)),G.mediaReads&&G.mediaReads.length>0&&m?.mediaResources){let Q=!1;for(let te of G.mediaReads)m.mediaResources[te].texture!==G.mediaSnapshot.get(te)&&(Q=!0);if(Q){G.textureBindGroup=h(G.fragment,m.mediaResources);for(let te of G.mediaReads)G.mediaSnapshot.set(te,m.mediaResources[te].texture)}}if(G.textureBindGroup&&(K=K.with(G.textureBindGroup)),G.fragment.usesSamplers&&m?.samplerBindGroup&&(K=K.with(m.samplerBindGroup)),G.fragment.externalReads.length>0){let Q=G.externalBinding?.update()??null;if(!Q){G.externalSkipLogged||(Ma(`[${Sd}] external texture not ready \u2014 skipping pass (${G.fragment.externalReads.join(", ")})`),G.externalSkipLogged=!0);return}K=K.with(Q)}K.withColorAttachment({view:W}).draw(3)}function P(G,W,K){if(m){for(let Q of m.computeSteps){let te=Q.getComputeNodes(W);te&&te.length&&r.dispatch(te)}K?.(),U(),A(m.finalPass,G)}}function U(){if(m)for(let G of m.rttPasses){let W=_.get(G.target.key);W&&A(G,D(W))}}function D(G){return e.unwrap(G.texture).createView()}function O(G){if(!(!G.fragment.textureLayout||G.fragment.reads.length===0)&&(G.textureBindGroup=h(G.fragment,m?.mediaResources),G.mediaReads&&G.mediaSnapshot&&m?.mediaResources))for(let W of G.mediaReads)G.mediaSnapshot.set(W,m.mediaResources[W].texture)}function L(G,W){let K=!1;for(let Q of _.values())Q.resize(G,W)&&(K=!0);if(!m)return K;if(m.size={width:G,height:W},!K)return!1;for(let Q of m.computeSteps)Q.bindInputs?.(te=>_.get(te)??m.mediaResources?.[te]);for(let Q of m.rttPasses)O(Q);return O(m.finalPass),!0}return{setComposition:T,render:P,repaintRtt:U,resize:L,get textureCount(){return u.size},get passCount(){return m?m.rttPasses.length+1:0},dispose(){for(let G of[...u])G.destroy();u.clear(),_.clear(),m=null}}}function RL(){return typeof navigator<"u"&&navigator.gpu?navigator.gpu.getPreferredCanvasFormat():"bgra8unorm"}function rT(e){return`${e}-srgb`}function zL(e){let t=new Set;function s(y,...h){return e.createTexture.call(e,y).$usage(...h)}let r,o,n,i,d={get linearClamp(){return r??=e.createSampler({magFilter:"linear",minFilter:"linear",mipmapFilter:"linear",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"})},get nearestClamp(){return o??=e.createSampler({magFilter:"nearest",minFilter:"nearest",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"})},get linearRepeat(){return n??=e.createSampler({magFilter:"linear",minFilter:"linear",mipmapFilter:"linear",addressModeU:"repeat",addressModeV:"repeat"})},get nearestRepeat(){return i??=e.createSampler({magFilter:"nearest",minFilter:"nearest",addressModeU:"repeat",addressModeV:"repeat"})}};function c(y,h,g,w,S){let T={texture:y,width:h,height:g,format:w,write(A){y.write(A)},unwrap(){return e.unwrap(y)},createSrgbView(){if(S)return e.unwrap(y).createView({format:rT(w)})},generateMipmaps(){y.generateMipmaps?.()},destroy(){t.has(T)&&(y.destroy(),t.delete(T))}};return t.add(T),T}function _(y){let{width:h,height:g,srgb:w=!1,mipLevelCount:S}=y,T=y.format??"rgba8unorm";return c(s({size:[h,g],format:T,...w?{viewFormats:[rT(T)]}:{},...S?{mipLevelCount:S}:{}},"sampled","render"),h,g,T,w)}function u(y){let{width:h,height:g,format:w,data:S}=y,T=c(s({size:[h,g],format:w},"sampled"),h,g,w,!1);return S&&T.write(S),T}function m(y){let h=y.format??"rgba16float",{mipLevelCount:g}=y,w=y.width,S=y.height;function T(P,U){return c(s({size:[P,U],format:h,...g?{mipLevelCount:g}:{}},"sampled","render"),P,U,h,!1)}let A=T(w,S);return{get texture(){return A.texture},get width(){return w},get height(){return S},format:h,write(P){A.write(P)},unwrap(){return A.unwrap()},createSrgbView(){return A.createSrgbView()},generateMipmaps(){A.generateMipmaps()},resize(P,U){return P===w&&U===S?!1:(A.destroy(),w=P,S=U,A=T(P,U),!0)},destroy(){A.destroy()}}}function p(y){let{layout:h,entryKey:g,getSource:w,staticEntries:S={}}=y,T=null;return{update(){let A=w();if(!A)return T=null,null;let P;try{P=e.device.importExternalTexture({source:A})}catch{return T=null,null}return T=e.createBindGroup(h,{...S,[g]:P}),T},get current(){return T},destroy(){T=null}}}return{samplers:d,createMediaTexture:_,createDataTexture:u,createRenderTexture:m,createExternalTextureBinding:p,get textureCount(){return t.size},destroy(){for(let y of[...t])y.destroy();t.clear()}}}function GL(e,t){let s=gL(e)?.definition?.naturalSizeKey;if(!s)return null;if("fixed"in s)return s.fixed||null;let r=t[s.fromProp];return typeof r=="string"&&r?r:null}function YL(e,t,s){if(!e||typeof e!="object")return null;let r=(i,d)=>!i||typeof i!="object"||typeof i.value!="number"?null:i.unit==="px"?i.value:i.value*d,o=r(e.width,t),n=r(e.height,s);return o!=null&&n!=null&&o>0&&n>0?{widthPx:o,heightPx:n}:null}function LL(e,t,s){let{type:r,decl:o,props:n,boundingBox:i}=e;if(!(t>0)||!(s>0)||e.requiresChild)return null;if(o?.computeBounds){let u=o.computeBounds(n,t,s);return u.widthPx>0&&u.heightPx>0?{widthPx:u.widthPx,heightPx:u.heightPx}:null}let d=o?.propBindings;if(d?.width&&d?.height){let u=Uc(d.width,n[d.width.prop],t,s),m=Uc(d.height,n[d.height.prop],t,s);return u>0&&m>0?{widthPx:u,heightPx:m}:null}let c=YL(i,t,s);if(c)return c;let _=GL(r,n);if(_){let u=v7(_);if(u)return{widthPx:u.width,heightPx:u.height}}return null}function IL(e,t){return e==null?0:typeof e=="number"?e:e.unit==="px"?e.value:e.value*t}function Uy(e,t,s){return!e||e.mode!=="column"&&e.mode!=="row"?null:{mode:e.mode,gapPx:Math.max(0,IL(e.gap,e.mode==="column"?s:t)),align:e.align??"center",anchor:e.anchor??"center",anchorOffsetX:e.anchorOffset?.x??0,anchorOffsetY:e.anchorOffset?.y??0}}var oT=e=>({ox:e.includes("left")?"start":e.includes("right")?"end":"center",oy:e.includes("top")?"start":e.includes("bottom")?"end":"center"}),A1=(e,t,s,r)=>e==="start"?r:e==="end"?s-t-r:(s-t)/2+r;function M1(e,t){let s=0,r=0;for(let o of t){let n=e.mode==="column"?o.size.heightPx:o.size.widthPx,i=e.mode==="column"?o.size.widthPx:o.size.heightPx;s+=n,r=Math.max(r,i)}return t.length>1&&(s+=e.gapPx*(t.length-1)),e.mode==="column"?{widthPx:r,heightPx:s}:{widthPx:s,heightPx:r}}function DL(e,t,s,r){let o=new Map;if(t.length===0)return o;let n=M1(e,t),{ox:i,oy:d}=oT(e.anchor),c=A1(i,n.widthPx,s,e.anchorOffsetX),_=A1(d,n.heightPx,r,e.anchorOffsetY),u=(p,y)=>e.align==="start"?0:e.align==="end"?y-p:(y-p)/2,m=0;for(let p of t)if(e.mode==="column"){let y=c+u(p.size.widthPx,n.widthPx)+p.size.widthPx/2,h=_+m+p.size.heightPx/2;o.set(p.id,{centerXPx:y,centerYPx:h}),m+=p.size.heightPx+e.gapPx}else{let y=c+m+p.size.widthPx/2,h=_+u(p.size.heightPx,n.heightPx)+p.size.heightPx/2;o.set(p.id,{centerXPx:y,centerYPx:h}),m+=p.size.widthPx+e.gapPx}return o}function FL(e,t,s){let r=Uy(e.layout,t,s);if(r){let o=Cy(e,t,s);return o.length===0?null:M1(r,o)}return LL({type:e.componentName,decl:e.decl,props:e.props,boundingBox:e.boundingBox,requiresChild:e.requiresChild,availableWidthPx:t},t,s)}function Cy(e,t,s){let r=[];for(let o of e.children){if(o.visible===!1||o.absolute)continue;let n=FL(o,t,s);n&&r.push({id:o.id,size:n,view:o})}return r}function BL(e,t,s){if(!e.decl?.computeBounds)return{x:0,y:0};let r=e.decl.computeBounds(e.props,t,s),o=typeof e.props.center?.x=="number"?e.props.center.x:.5,n=typeof e.props.center?.y=="number"?e.props.center.y:.5;return{x:r.centerXPx-o*t,y:r.centerYPx-n*s}}function WL(e,t,s,r,o,n,i,d){let c=Uy(e.layout,o,n);if(c){nT(e,c,o,n,i,{centerXPx:s,centerYPx:r},d);return}let _=e.decl?.propBindings?.x?.prop??e.decl?.propBindings?.y?.prop;if(_){if(!e.positionDriven){let u=BL(e,o,n);i.push({kind:"position",id:e.id,prop:_,value:{x:(s-u.x)/o,y:(r-u.y)/n}})}return}i.push({kind:"box",id:e.id,xPx:s-t.widthPx/2,yPx:r-t.heightPx/2,widthPx:t.widthPx,heightPx:t.heightPx})}function nT(e,t,s,r,o,n,i,d){let c=d??Cy(e,s,r);if(c.length===0)return;let _=t;if(n){let m=M1(t,c);_={...t,anchor:"top-left",anchorOffsetX:n.centerXPx-m.widthPx/2,anchorOffsetY:n.centerYPx-m.heightPx/2}}if(i){let m=M1(_,c),{ox:p,oy:y}=oT(_.anchor);i.set(e.id,{leftPx:A1(p,m.widthPx,s,_.anchorOffsetX),topPx:A1(y,m.heightPx,r,_.anchorOffsetY),widthPx:m.widthPx,heightPx:m.heightPx})}let u=DL(_,c,s,r);for(let m of c){let p=u.get(m.id);p&&WL(m.view,m.size,p.centerXPx,p.centerYPx,s,r,o,i)}}function OL(e,t,s,r){let o=[],n=i=>{let d=Uy(i.layout,t,s);if(d){let c=Cy(i,t,s);nT(i,d,t,s,o,void 0,r,c);let _=new Set(c.map(u=>u.id));for(let u of i.children)u.visible!==!1&&(_.has(u.id)||n(u));return}for(let c of i.children)c.visible!==!1&&n(c)};for(let i of e)i.visible!==!1&&n(i);return o}var VL=class{frameTimesMs=[];frameTimesIndex=0;frameTimesCount=0;maxSamples=60;targetFrameTime=16.67;jankFrameCount=0;totalFrameCount=0;memorySnapshots=[];memorySnapshotIndex=0;maxMemorySnapshots=300;nodeCount=0;rttNodeCount=0;lastCpuTime=null;lastGpuTime=null;isRendering=!1;lastFrameTimestamp=0;frameIntervals=[];frameIntervalsIndex=0;frameIntervalsCount=0;pushToCircularBuffer(e,t,s,r,o){return e.lengththis.targetFrameTime&&this.jankFrameCount++;let s=performance.now();if(this.lastFrameTimestamp>0){let r=s-this.lastFrameTimestamp,o=this.pushToCircularBuffer(this.frameIntervals,r,this.frameIntervalsIndex,this.frameIntervalsCount,this.maxSamples);this.frameIntervalsIndex=o.index,this.frameIntervalsCount=o.count}this.lastFrameTimestamp=s,this.recordMemorySnapshot()}recordCpuTime(e){this.lastCpuTime=e}recordGpuTime(e){this.lastGpuTime=e}updateNodeCounts(e,t){this.nodeCount=e,this.rttNodeCount=t}setRendering(e){this.isRendering=e}recordMemorySnapshot(){if(!performance.memory)return;let e=performance.now(),t=performance.memory.usedJSHeapSize;if(this.memorySnapshots.lengthr+o,0)/e.length,s=0;for(let r=0;r=0&&this.sortBuffer[n]>o;)this.sortBuffer[n+1]=this.sortBuffer[n],n--;this.sortBuffer[n+1]=o}let s=Math.floor(t*.99);return this.sortBuffer[Math.min(s,t-1)]}calculateComplexityScore(){return this.nodeCount+this.rttNodeCount*10}calculateIntensityScore(){let e=this.getBufferValues(this.frameTimesMs,this.frameTimesCount),t=e.length;if(t===0)return{score:0,label:"N/A"};let s=e.reduce((u,m)=>u+m,0)/t,r=Math.min(s/16.67*100,100),o=this.calculateComplexityScore(),n=Math.min(o/100*100,100),i=0;this.lastGpuTime!==null&&(i=Math.min(this.lastGpuTime/16.67*100,100));let d=this.lastGpuTime!==null?{frame:.4,gpu:.4,complexity:.2}:{frame:.7,gpu:0,complexity:.3},c=Math.round(r*d.frame+i*d.gpu+n*d.complexity),_;return c<=20?_="Very Light":c<=40?_="Light":c<=60?_="Medium":c<=80?_="Heavy":_="Very Heavy",{score:Math.min(c,100),label:_}}getStats(e){let t=this.getBufferValues(this.frameTimesMs,this.frameTimesCount),s=this.getBufferValues(this.frameIntervals,this.frameIntervalsCount),r=t.length,o=s.length>0?1e3/(s.reduce((A,P)=>A+P,0)/s.length):0,n=r>0?t.reduce((A,P)=>A+P,0)/r:0,i=r>0?Math.min(...t):0,d=r>0?Math.max(...t):0,c=this.calculateP99(t),_=this.calculateStdDev(t),u=this.totalFrameCount>0?this.jankFrameCount/this.totalFrameCount*100:0,m=performance.memory,p=m?m.usedJSHeapSize/(1024*1024):null,y=this.calculateMemoryGrowthRate(),h=n>0?n/this.targetFrameTime*100:0,g=e?.render?.calls??null,w=e?.programs?.length??null,S=e?.memory?.textures??null,T=this.calculateIntensityScore();return{fps:Math.round(o),avgFrameTime:Math.round(n*100)/100,minFrameTime:Math.round(i*100)/100,maxFrameTime:Math.round(d*100)/100,p99FrameTime:Math.round(c*100)/100,stdDevFrameTime:Math.round(_*100)/100,jankCount:this.jankFrameCount,jankPercent:Math.round(u*10)/10,nodeCount:this.nodeCount,rttNodeCount:this.rttNodeCount,complexityScore:this.calculateComplexityScore(),memoryUsedMB:p!==null?Math.round(p*100)/100:null,memoryGrowthRate:y!==null?Math.round(y*1e3)/1e3:null,cpuTime:this.lastCpuTime!==null?Math.round(this.lastCpuTime*100)/100:null,gpuTime:this.lastGpuTime!==null?Math.round(this.lastGpuTime*100)/100:null,budgetUsed:Math.round(h*10)/10,drawCalls:g,shaderPrograms:w,textureCount:S,intensityScore:T.score,intensityLabel:T.label,isRendering:this.isRendering}}reset(){this.frameTimesMs.length=0,this.frameTimesIndex=0,this.frameTimesCount=0,this.frameIntervals.length=0,this.frameIntervalsIndex=0,this.frameIntervalsCount=0,this.lastFrameTimestamp=0,this.jankFrameCount=0,this.totalFrameCount=0,this.memorySnapshots.length=0,this.memorySnapshotIndex=0,this.sortBuffer.length=0,this.lastCpuTime=null,this.lastGpuTime=null}},NL=32,qL=5,XL=(()=>{let e=0,t=new Set,s=(_,u)=>{t.forEach(m=>{try{m[_](u)}catch(p){Is("[Shaders] Error in pointer handler:",p)}})},r=_=>s("onMouseMove",_),o=_=>s("onTouchMove",_),n=_=>s("onMouseDown",_),i=_=>s("onTouchStart",_),d=()=>s("onMouseUp"),c=()=>s("onTouchEnd");return{register(_){return t.add(_),e++,e===1&&typeof window<"u"&&(window.addEventListener("mousemove",r),window.addEventListener("touchmove",o),window.addEventListener("mousedown",n,!0),window.addEventListener("touchstart",i,!0),window.addEventListener("mouseup",d,!0),window.addEventListener("touchend",c,!0)),()=>{t.delete(_),e--,e===0&&typeof window<"u"&&(window.removeEventListener("mousemove",r),window.removeEventListener("touchmove",o),window.removeEventListener("mousedown",n,!0),window.removeEventListener("touchstart",i,!0),window.removeEventListener("mouseup",d,!0),window.removeEventListener("touchend",c,!0))}}}})();function HL(e){if(!e)return!1;let t=e;if(typeof e=="string")try{t=JSON.parse(e)}catch{return!1}if(!t||typeof t!="object")return!1;for(let s in t){let r=t[s];if(r&&typeof r=="object"&&r.type==="mouse")return!0}return!1}function aT(){let e=null,t=null,s=null,r=null,o=null,n=null,i=!1,d=!1,c=!1,_=null,u=new Map,m=null,p=new Map,y=[],h=[],g=UL({maxSize:4,dispose:M=>Wy(M)}),w=new Set,S=null,T=null,A=!0,P=0,U=0,D=0,O=0,L=1,G=8192,W=0,K=0,Q=!1,te=()=>D||P||1,ee=()=>O||U||1,he=!0,Ee=!1,Te=!1,Ue=0,Me=0,Pe=0,Re=null,de=null,je=-10,fe=-10,Ke=!1,Ze=!1,at=null,Fe=!1,Ie=null,st=null,Xe=null,We=null,Ve=null,Ft=null,Gt=!1,os="p3-linear",bs="linear",ls=!1,As=null,vs=null,ys=!1,Ks=!1,yr=null,Ur=!1,Ms=null,Cr=null,hr=!1,mo=null,po=null,Rr=0,nr=0,zr=new VL,Ps={deltaTime:0,pointer:{x:-10,y:-10,seen:!1},pointerActive:!1,dimensions:{width:0,height:0}},Gr=G7(()=>Ad()),Vo=M=>M.replace(/[^a-zA-Z0-9_]/g,"_"),Qr=M=>{let E=p.get(M);if(!E)return[];let k=[];for(let V of E){let I=u.get(V);I&&k.push(I)}return k},ci=M=>{let E=Vo(M);for(let[k,V]of u)if(V.metadata.id===E)return k;return null},ba=(M,E)=>{if(E==="center")return;let k=M.boundingBoxDeclaration;if(!k)return;let V={};for(let[I,J]of Object.entries(M.uniforms))V[I]=J._rawDimensional!==void 0?J._rawDimensional:J.value;return li(M,V.shapeSdfUrl),vy(k,V,te(),ee())},_i=new WeakMap,li=(M,E)=>{if(typeof E!="string"||!E||$7(E))return;let k=_i.get(M)??new Set;_i.set(M,k),!k.has(E)&&(k.add(E),a1(E,()=>{k.delete(E),u.get(M.id)===M&&(F(M),Yt()&&Bt(),vo())}))},F=M=>{let E=M.boundingBoxDeclaration,k=M.extraDimProps,V=hd(E,k);if(!V)return;let I=M.uniforms.origin?.value??"center",J=ba(M,I),_e=[...V.positionProps,...V.sizeProps.keys()];for(let Se of _e){let ke=M.uniforms[Se];if(!ke||ke._rawDimensional===void 0)continue;let Ne=Qc(E,Se,ke._rawDimensional,I,te(),ee(),k,J);ke.value=Ne,Ta(M,Se,Ne)}},le=(M,E,k)=>{if(typeof k=="number")return k;let V=M.uniforms.origin?.value??"center",I=Qc(M.boundingBoxDeclaration,E,k,V,te(),ee(),M.extraDimProps);return typeof I=="number"?I:k?.value??0},ae=()=>{let{width:M,height:E}=Sa();return M/Math.max(1,E)},ne=M=>{let E=M.metadata.transform;return{offsetX:E?.offsetX??0,offsetY:E?.offsetY??0,rotation:E?.rotation??0,scale:E?.scale??1,anchorX:E?.anchorX??.5,anchorY:E?.anchorY??.5,aspectRatio:ae()}},ie=M=>{let E=M.metadata.boundingBox;if(!E)return null;let k=Ov(E,te(),ee());return{centerX:k.centerX,centerY:k.centerY,halfWidth:k.halfWidthUV,halfHeight:k.halfHeightUV,cornerRadius:k.cornerRadiusUV,rotation:k.rotation,aspectRatio:ae()}},ge=M=>!!M.metadata.boundingBox&&!!M.boundingBoxDeclaration&&!r1(M.metadata.boundingBox),Ye=M=>{let E=M.boundingBoxDeclaration;if(!E||!M.uniforms||!E.computeBounds&&!E.propBindings)return null;let k={};for(let[ke,Ne]of Object.entries(M.uniforms))k[ke]=Ne._rawDimensional!==void 0?Ne._rawDimensional:Ne.value;let V=vy(E,k,te(),ee());if(V.hwx<=0&&V.hhy<=0)return null;let I=.5,J=.5,_e=E.propBindings?.x?.prop??E.propBindings?.y?.prop,Se=_e?M.uniforms[_e]?.value:void 0;if(Se&&typeof Se.x=="number"&&typeof Se.y=="number"&&(I=Se.x,J=Se.y),_e){let ke=M.metadata.maps?.[_e];if(ke?.type==="mouse-position"){let Ne=M.mouseDriverState[_e];Ne&&(I=Ne.liveX??(typeof ke.x=="number"?ke.x:Ne.currentX),J=Ne.liveY??(typeof ke.y=="number"?ke.y:Ne.currentY))}}return{centerX:I,centerY:J,halfWidth:V.hwx,halfHeight:V.hhy}},Je=M=>{if(!M.definition.wantsBoundsParams)return null;let E=Qr(M.id).sort((k,V)=>k.metadata.renderOrder-V.metadata.renderOrder);for(let k of E){if(k.metadata.visible===!1)continue;if(ge(k))return null;let V=Ye(k);if(V)return V}return null},rt=()=>{for(let M of u.values()){if(!M.definition.wantsBoundsParams)continue;let E=Je(M);E&&(es(M,"_childBounds_centerX",E.centerX),es(M,"_childBounds_centerY",E.centerY),es(M,"_childBounds_halfWidth",E.halfWidth),es(M,"_childBounds_halfHeight",E.halfHeight))}},He=!1,Bt=()=>{He=!0,vo()},Yt=()=>{for(let M of u.values()){let E=M.metadata.flow?.mode;if(E==="column"||E==="row")return!0}return!1},Ls=M=>{let E={};for(let[J,_e]of Object.entries(M.uniforms))E[J]=_e._rawDimensional!==void 0?_e._rawDimensional:_e.value;let k=M.boundingBoxDeclaration?.propBindings?.x?.prop??M.boundingBoxDeclaration?.propBindings?.y?.prop,V=k?M.uniforms[k]?.value:void 0,I=!!(k&&(V?.type==="mouse-position"||M.metadata.maps?.[k]));return{id:M.id,componentName:M.componentName,visible:M.metadata.visible!==!1,absolute:M.metadata.absolute===!0,requiresChild:M.requiresChild,layout:M.metadata.flow,decl:M.boundingBoxDeclaration,props:E,boundingBox:M.metadata.boundingBox,positionDriven:I,children:Qr(M.id).sort((J,_e)=>J.metadata.renderOrder-_e.metadata.renderOrder).map(Ls)}},fo=()=>{if(!Yt()){He=!1;return}let M=te(),E=ee();if(M<=1||E<=1)return;He=!1;let k=[];for(let I of u.values())I.parentId===null&&k.push(Ls(I));let V=OL(k,M,E);for(let I of V){let J=u.get(I.id);if(J)if(I.kind==="position"){let _e=J.uniforms[I.prop];if(!_e)continue;let Se=_e.value,ke=Se&&typeof Se=="object"?{...Se,x:I.value.x,y:I.value.y}:I.value;_e.value=ke,Ta(J,I.prop,ke)}else{let _e=ge(J);if(J.metadata.boundingBox={x:{value:I.xPx,unit:"px"},y:{value:I.yPx,unit:"px"},width:{value:I.widthPx,unit:"px"},height:{value:I.heightPx,unit:"px"},origin:"top-left",rotation:J.metadata.boundingBox?.rotation??0,...J.metadata.boundingBox?.cornerRadius?{cornerRadius:J.metadata.boundingBox.cornerRadius}:{},...J.metadata.boundingBox?.lockAspect!==void 0?{lockAspect:J.metadata.boundingBox.lockAspect}:{}},!_e&&ge(J))Bn();else{let Se=ie(J);if(Se)for(let[ke,Ne]of Object.entries(Se))es(J,`_bbox_${ke}`,Ne)}}}},br=()=>{He&&fo()},Nt=null,No=()=>{Yt()&&Bt()},Yr=()=>{Nt||(Nt=y7(()=>{Yt()&&Bt()})),typeof document<"u"&&document.fonts?.addEventListener&&document.fonts.addEventListener("loadingdone",No)};Yr();let Ro=M=>Tn(M.metadata.transform),wa=(M,E,k)=>{let V=M.mapValues[E]??{inputMin:0,inputMax:1,outputMin:0,outputMax:1,curve:0};if(k.type==="map"){let I=k;V.inputMin=I.inputMin,V.inputMax=I.inputMax,V.outputMin=le(M,E,I.outputMin),V.outputMax=le(M,E,I.outputMax),V.curve=I.curve??0}else if(k.type==="mouse"){let I=k;V.outputMin=le(M,E,I.outputMin),V.outputMax=le(M,E,I.outputMax),V.curve=I.curve??0}else if(k.type==="auto-animate"){let I=k;V.outputMin=le(M,E,I.outputMin),V.outputMax=le(M,E,I.outputMax)}return M.mapValues[E]=V,V},E1=(M,E,k)=>{let V=M.mouseDriverState[E];if(V)return V;if(k.type==="mouse-position"){let I=k.x===void 0||k.x==="mouse",J=k.y===void 0||k.y==="mouse";V={currentX:I?je:k.x,currentY:J?fe:k.y,velocityX:0,velocityY:0,pointerSnapped:Ze}}else V={currentX:Math.max(.001,k.axis==="x"?je:fe),currentY:0,velocityX:0,velocityY:0,pointerSnapped:Ze};return M.mouseDriverState[E]=V,V},k1=M=>{let E=M.metadata.maps;if(E)for(let[k,V]of Object.entries(E))k in M.uniforms&&(V.type==="map"?wa(M,k,V):V.type==="mouse-position"?E1(M,k,V):V.type==="mouse"?(E1(M,k,V),wa(M,k,V)):V.type==="auto-animate"&&(M.autoAnimateState[k]||(M.autoAnimateState[k]={}),wa(M,k,V)))},__=M=>{let E=M.definition.animatedTime;return(E?M.uniforms[E.speed]:void 0)??M},$1=(M,E)=>M.uniforms[E]??M,Gy=M=>{let E=[];for(let[I,J]of Object.entries(M.uniforms))E.push({name:I,initial:J.value,transform:J.transform,cpu:J.cpu,schema:J.schema});if(E.push({name:"_opacity",schema:a,initial:M.metadata.opacity??1}),M.definition.animatedTime&&E.push({name:"_animTime",schema:a,initial:ii(__(M)).value}),M.definition.extraAnimatedTimes)for(let[I,J]of Object.entries(M.definition.extraAnimatedTimes))E.push({name:`_animTime_${I}`,schema:a,initial:ii($1(M,J)).value});let k=M.definition.extraFields;if(k)for(let[I,J]of Object.entries(k))E.push({name:I,schema:J.schema,initial:J.initial});if(Ro(M)){let I=ne(M);for(let[J,_e]of Object.entries(I))E.push({name:`_xform_${J}`,schema:a,initial:_e})}if(ge(M)){let I=ie(M);if(I)for(let[J,_e]of Object.entries(I))E.push({name:`_bbox_${J}`,schema:a,initial:_e})}if(M.definition.wantsBoundsParams){let I=Je(M)??{centerX:.5,centerY:.5,halfWidth:.5,halfHeight:.5};for(let[J,_e]of Object.entries(I))E.push({name:`_childBounds_${J}`,schema:a,initial:_e})}let V=M.metadata.maps;if(V){k1(M);for(let[I,J]of Object.entries(V))if(I in M.uniforms){if(J.type==="map"){let _e=M.mapValues[I];E.push({name:`_map_${I}_inputMin`,schema:a,initial:_e.inputMin}),E.push({name:`_map_${I}_inputMax`,schema:a,initial:_e.inputMax}),E.push({name:`_map_${I}_outputMin`,schema:a,initial:_e.outputMin}),E.push({name:`_map_${I}_outputMax`,schema:a,initial:_e.outputMax}),E.push({name:`_map_${I}_curve`,schema:a,initial:_e.curve})}else if(J.type==="mouse-position"){let _e=M.mouseDriverState[I];E.push({name:`_smoothed_${I}`,schema:l,initial:[_e.currentX,1-_e.currentY]})}else if(J.type==="mouse"){let _e=M.mapValues[I];E.push({name:`_smoothed_${I}`,schema:a,initial:_e.outputMin})}else if(J.type==="auto-animate"){let _e=M.mapValues[I];E.push({name:`_smoothed_${I}`,schema:a,initial:_e.outputMin})}}}return E},Ta=(M,E,k)=>{let V=M._liveHandles?.[E];V&&(As?.(os),e7(V,k))},es=(M,E,k)=>{let V=M._liveHandles?.[E];V instanceof Oo&&(V.value=k)},Yy=(M,E,k)=>{let V=M._liveHandles?.[E];V instanceof Oo?V.value=k:V instanceof Sc&&Array.isArray(k)&&(V.array=k)},dT=M=>{for(let E of Object.values(M.uniforms))if(E.transform===ir){let k=E.value;if(typeof k=="string")return ir(k);if(typeof k=="number")return k}return 0},cT=M=>{if(!M.uniforms.convertedColorsArray)return;let E=null;for(let J of Object.values(M.uniforms))if(J.transform===Rn){E=J.value??null;break}let k=jv(E,Kc),V=Kv(k.colors,k.stopCount,dT(M)),I=(J,_e)=>{let Se=M.uniforms[J];Se&&(Se.value=_e),Ta(M,J,_e)};I("colorsArray",k.colors),I("positionsArray",k.positions),I("convertedColorsArray",V),I("stopCount",k.stopCount)},Ly=(M,E)=>{let k=M.uniforms[E],V=k?._listSpec;if(!k||!V)return;let I=k._rawList,J=new Set,_e=ly(I,V,{color:Kc,drivenPosition:(Ne,Lt,ns)=>{let Ht=cw(E,Ne,Lt);J.add(Ht);let nt=E1(M,Ht,ns);return nt.liveX!==void 0&&nt.liveY!==void 0?{x:nt.liveX,y:1-nt.liveY}:void 0}});for(let Ne of Object.keys(M.mouseDriverState)){let Lt=_y(Ne);Lt&&Lt.prop===E&&!J.has(Ne)&&delete M.mouseDriverState[Ne]}k.value=_e,Ta(M,E,_e);let Se=uy(_e,V),ke=(Ne,Lt)=>{let ns=M.uniforms[Ne];ns&&(ns.value=Lt),Ta(M,Ne,Lt)};for(let[Ne,Lt]of Object.entries(Se.fields))ke(dy(E,Ne),Lt);ke(cy(E),Se.count)},_T=(M,E)=>{let k=M.metadata.maps?.[E];if(k)return k;let V=_y(E);if(!V)return;let I=M.uniforms[V.prop]?._rawList,J=(Array.isArray(I)?I[V.index]:void 0)?.[V.field];return _1(J)?J:void 0},lT=M=>Object.values(M.uniforms).some(E=>E._listSpec&&my(E._rawList,E._listSpec)),uT=M=>{if(es(M,"_opacity",M.metadata.opacity??1),M.definition.animatedTime&&es(M,"_animTime",ii(__(M)).value),M.definition.extraAnimatedTimes)for(let[k,V]of Object.entries(M.definition.extraAnimatedTimes))es(M,`_animTime_${k}`,ii($1(M,V)).value);if(Ro(M))for(let[k,V]of Object.entries(ne(M)))es(M,`_xform_${k}`,V);if(ge(M)){let k=ie(M);if(k)for(let[V,I]of Object.entries(k))es(M,`_bbox_${V}`,I)}let E=M.metadata.maps;if(E){for(let[k,V]of Object.entries(E))if(V.type==="map"&&M.mapValues[k]){let I=M.mapValues[k];es(M,`_map_${k}_inputMin`,I.inputMin),es(M,`_map_${k}_inputMax`,I.inputMax),es(M,`_map_${k}_outputMin`,I.outputMin),es(M,`_map_${k}_outputMax`,I.outputMax),es(M,`_map_${k}_curve`,I.curve)}}},mT=(M,E)=>{let k={};for(let V of Object.keys(M.uniforms)){let I=E[V];I&&(k[V]=I)}return k},pT=M=>{let E={};for(let[k,V]of Object.entries(M.uniforms))E[k]={accessorPath:"",cpu:!!V.cpu,value:V.value};return E},fT=(M,E)=>({id:M.id,customId:M.metadata.id,componentName:M.componentName,parentId:M.parentId,definition:M.definition,metadata:M.metadata,handles:E,domCanvas:M.domCanvas}),Iy=(M,E)=>{let k=new Map,V=J=>fT(J,M&&E?mT(J,E.get(J.id)??{}):pT(J)),I=J=>{let _e=k.get(J);if(_e)return _e;let Se=u.get(J);if(!Se)return;let ke=V(Se);return k.set(J,ke),ke};return{rootId:m,getNode:I,getChildren:J=>Qr(J).map(_e=>I(_e.id)),resolveCustomId:J=>ci(J),store:{gpuAccessor:(J,_e)=>M?M.gpuAccessor(J,_e):"",layout:M?.layout}}},Dy=()=>({toneMapping:bs,flipY:!1,premultiplyAlpha:!0,canvas:n??void 0,dimensions:Sa(),gpu:t?{device:t.device,root:t}:void 0,writeExtraField:(M,E,k)=>{let V=u.get(M);V&&Yy(V,E,k)},createMediaTexture:M=>{if(!r)throw new Error("[gpu] createMediaTexture before init");return r.createMediaTexture(M)},createDataTexture:M=>{if(!r)throw new Error("[gpu] createDataTexture before init");return r.createDataTexture(M)},resolveMapWindow:(M,E)=>{let k=u.get(M),V=k?.metadata.maps?.[E];if(!k||!V||V.type!=="map")return;let I=wa(k,E,V);return{inputMin:I.inputMin,inputMax:I.inputMax,outputMin:I.outputMin,outputMax:I.outputMax,curve:I.curve}},resolveDriverCpuValue:(M,E)=>{let k=u.get(M);if(!k)return;if(E==="_animTime"||E.startsWith("_animTime_")){let I=k._liveHandles?.[E];return I instanceof Oo?I.value:void 0}let V=k.metadata.maps?.[E];if(V){if(V.type==="mouse-position"){let I=k.mouseDriverState[E];return!I||I.liveX===void 0||I.liveY===void 0?void 0:{x:I.liveX,y:1-I.liveY}}if(V.type==="mouse"||V.type==="auto-animate"){let I=k._liveHandles?.[`_smoothed_${E}`];return I instanceof Oo?I.value:void 0}}}}),vT=()=>{let M=[];for(let[E,k]of u){let V=k.metadata;M.push(`aopac:${E}:${(V.opacity??1)<1}`);let I=k.uniforms.stopCount?.value;typeof I=="number"&&M.push(`stops:${E}:${I>1?I:0}`);for(let[J,_e]of Object.entries(k.uniforms)){if(!_e.compileTimeWhen)continue;let Se=_e._lastCompiledValue;typeof Se!="number"&&typeof Se!="boolean"||M.push(`ctw:${E}:${J}:${String(Se)}`)}if(V.maps){let J=Object.entries(V.maps).sort(([_e],[Se])=>_eSe?1:0).map(([_e,Se])=>{let ke=Se;return`${_e}=${ke.type}:${ke.source??""}:${ke.channel??""}:${ke.axis??""}`}).join(",");M.push(`mapfp:${E}:${J}`)}}return M},Fy=()=>m?$L([..._7(Iy(null,null),Dy()),...vT()]):null,Sa=()=>({width:Math.max(1,Math.round(P*L)),height:Math.max(1,Math.round(U*L))}),yT=M=>{let E={};for(let k of M.textures)k.kind!=="rtt"&&k.resource&&(E[k.key]=k.resource);return E},hT=M=>{if(!t||!r||!o)throw new Error("[gpu] buildComposition before init");let E=J6(t,{systemSchema:kL}),k=new Map;for(let[Se,ke]of u)k.set(Se,E.defineNode(Se,Gy(ke)));E.defineSystem(),E.finalize();let V=c7(Iy(E,k),Dy()),I=CL(t,{textureManager:r,dispatcher:o}),J={hash:M,store:E,ir:V,passManager:I,handlesById:k,fresh:!0,validationFrames:3},_e=V.usesCustomWgsl?t.device:void 0;_e&&_e.pushErrorScope("validation");try{I.setComposition(V,E.bindGroup,Sa(),yT(V))}finally{_e&&_e.popErrorScope().then(Se=>{Se&&!J.broken&&By(J,Se.message)}).catch(()=>{})}return w.add(J),J},By=(M,E)=>{M.broken=E,y_("[gpu] a shader in this composition failed GPU validation \u2014 it will not draw until it changes. If you are writing a wgsl`\u2026` body, the message below points at the line:\n"+E)},Wy=M=>{try{for(let E of M.ir.onCleanup)E()}catch(E){Is("[gpu] composition onCleanup error:",E)}try{M.passManager.dispose()}catch(E){Is("[gpu] passManager dispose error:",E)}try{M.store.destroy()}catch(E){Is("[gpu] store destroy error:",E)}w.delete(M),S===M&&(S=null)},xT=M=>{let E=!1;for(let[k,V]of M.handlesById){let I=u.get(k);I&&I._liveHandles!==V&&(I._liveHandles=V,E=!0)}if(!(M===S&&!E)){if(!M.fresh){for(let k of u.values()){for(let[V,I]of Object.entries(k.uniforms))Ta(k,V,I.value);k1(k),uT(k)}M.store.writeAll()}M.fresh=!1,S=M,!ys&&M.ir.composedNodeIds.size>0&&(Ks=!0)}},Bn=()=>{A=!0,Yt()&&(He=!0),vo()},vo=()=>{Ms||Gr.running||de===null&&typeof requestAnimationFrame=="function"&&(de=requestAnimationFrame(()=>{de=null,Ad()}))},Oy=(M,E,k,V,I={},J,_e)=>{if(Ms)return;if(E===null){let nt=y.findIndex(Zs=>Zs.id===M);if(nt!==-1){y.splice(nt,1),h=h.filter(Zs=>Zs.id!==M);return}U1(M);return}if(!J){console.error(`[gpu] registerNode("${M}") requires a componentDefinition`);return}if(!c){let nt=y.findIndex(zo=>zo.id===M),Zs={id:M,definition:J,parentId:k,metadata:V,uniforms:I,domCanvas:_e};nt!==-1?(y[nt]=Zs,h=h.filter(zo=>zo.id!==M)):y.push(Zs);return}let Se=0;if(k!==null){let nt=p.get(k);if(nt&&nt.size>0){let Zs=0;for(let zo of nt){let Lr=u.get(zo);Lr&&Lr.metadata.renderOrder>Zs&&(Zs=Lr.metadata.renderOrder)}Se=Zs+1}}let ke={blendMode:V?.blendMode||"normal",opacity:V?.opacity,visible:V?.visible!==!1,id:V?.id?Vo(V.id):V?.id,mask:V?.mask,maps:V?.maps,renderOrder:V?.renderOrder!==void 0?V.renderOrder:Se,transform:V?.transform,boundingBox:V?.boundingBox,flow:V?.flow,absolute:V?.absolute},Ne=J.boundingBoxDeclaration,Lt=J.props?fy(J.props):void 0,ns={id:M,componentName:J.name||"Unknown",parentId:k,definition:J,metadata:ke,uniforms:I,domCanvas:_e,requiresRTT:!!J.requiresRTT,requiresChild:!!J.requiresChild,blendWithChildren:!!J.blendWithChildren,acceptsUVContext:!!J.acceptsUVContext,providesUVContextViaCompute:!!J.providesUVContextViaCompute,usesPointer:!!J.usesPointer,hasUvRemap:!!J.uvRemap,boundingBoxDeclaration:Ne,wantsBoundsParams:!!J.wantsBoundsParams,extraDimProps:Lt,mouseDriverState:{},autoAnimateState:{},mapValues:{},_liveHandles:null};if(Ne||Lt){let nt=hd(Ne,Lt);if(nt){let Zs=I.origin?.value??"center",zo=ba(ns,Zs);for(let Lr of[...nt.positionProps,...nt.sizeProps.keys()]){let wr=I[Lr];wr&&(wr._rawDimensional===void 0&&(wr._rawDimensional=wr.value),wr.value=Qc(Ne,Lr,wr._rawDimensional,Zs,te(),ee(),Lt,zo))}}}for(let nt of Object.values(I))nt.compileTimeWhen&&nt._lastCompiledValue===void 0&&(nt._lastCompiledValue=nt.value);u.set(M,ns),k===null&&(m=M);let Ht=p.get(k)||new Set;Ht.add(M),p.set(k,Ht),Md(),Bn(),Yt()&&Bt()},Vy=M=>{y.some(E=>E.id===M.id)&&h.push(M)},Ny=(M,E,k)=>{let V=u.get(M);if(!V){Vy({id:M,kind:"uniform",name:E,value:k});return}let I=V.uniforms[E];if(!I)return;let J=V.boundingBoxDeclaration,_e=V.extraDimProps;if((J||_e)&&yy(J,E,_e)){I._rawDimensional=k;let Se=V.uniforms.origin?.value??"center",ke=ba(V,Se);k=Qc(J,E,k,Se,te(),ee(),_e,ke)}if(I.transform===Ka){I._rawList=k,Ly(V,E),Md(),vo();return}if(I.value=k,Ta(V,E,k),(I.transform===Rn||I.transform===ir)&&cT(V),E==="origin"&&J)F(V);else if(J&&(V.uniforms.origin?.value??"center")!=="center"){let Se=hd(J,_e),ke=!!J.computeBounds||(Se?.sizeProps.has(E)??!1),Ne=Se?.positionProps.has(E)??!1;ke&&!Ne&&F(V)}if(E==="shape"&&Md(),Yt()&&Bt(),I.compileTime){Bn();return}if(I.compileTimeWhen){let Se=I._lastCompiledValue;if(I.compileTimeWhen(Se,k)){I._lastCompiledValue=k,Bn();return}}vo()},qy=(M,E)=>{let k=u.get(M);if(!k){Vy({id:M,kind:"metadata",metadata:E});return}let V=!1;if(E.blendMode!==void 0&&k.metadata.blendMode!==E.blendMode&&(k.metadata.blendMode=E.blendMode,V=!0),E.opacity!==void 0&&k.metadata.opacity!==E.opacity){let I=k.metadata.opacity??1,J=E.opacity;k.metadata.opacity=J,es(k,"_opacity",J),I>=1!=J>=1&&(V=!0)}if(E.renderOrder!==void 0&&k.metadata.renderOrder!==E.renderOrder&&(k.metadata.renderOrder=E.renderOrder,V=!0),"visible"in E){let I=E.visible!==!1;k.metadata.visible!==I&&(k.metadata.visible=I,V=!0)}if(E.id!==void 0){let I=Vo(E.id);k.metadata.id!==I&&(k.metadata.id=I,V=!0)}if("mask"in E&&(k.metadata.mask?.source!==E.mask?.source||k.metadata.mask?.type!==E.mask?.type)&&(k.metadata.mask=E.mask,V=!0),"maps"in E&&JSON.stringify(k.metadata.maps)!==JSON.stringify(E.maps)){let I=k.metadata.maps,J=E.maps;if(k.metadata.maps=J,Md(),(()=>{if(!I||!J)return!0;let _e=Object.keys(I),Se=Object.keys(J);if(_e.length!==Se.length||!_e.every(ke=>ke in J))return!0;for(let ke of Se){let Ne=I[ke],Lt=J[ke];if(Ne.type!==Lt.type)return!0;if(Lt.type==="map"){let ns=Ne,Ht=Lt;if(ns.source!==Ht.source||ns.channel!==Ht.channel)return!0}else if(Lt.type==="mouse"&&Ne.axis!==Lt.axis)return!0}return!1})()){if(I&&J)for(let _e of Object.keys(I))_e in J&&I[_e].type!==J[_e].type&&(delete k.mouseDriverState[_e],delete k.autoAnimateState[_e],delete k.mapValues[_e]);V=!0}else if(J)for(let[_e,Se]of Object.entries(J)){let ke=wa(k,_e,Se);Se.type==="map"&&(es(k,`_map_${_e}_inputMin`,ke.inputMin),es(k,`_map_${_e}_inputMax`,ke.inputMax),es(k,`_map_${_e}_outputMin`,ke.outputMin),es(k,`_map_${_e}_outputMax`,ke.outputMax),es(k,`_map_${_e}_curve`,ke.curve))}}if(E.transform!==void 0){let I=k.metadata.transform,J={offsetX:E.transform.offsetX??I?.offsetX??0,offsetY:E.transform.offsetY??I?.offsetY??0,rotation:E.transform.rotation??I?.rotation??0,scale:E.transform.scale??I?.scale??1,anchorX:E.transform.anchorX??I?.anchorX??.5,anchorY:E.transform.anchorY??I?.anchorY??.5,edges:E.transform.edges??I?.edges??"transparent"},_e=Ro(k);k.metadata.transform=J;let Se=Tn(J);if(_e!==Se||I&&I.edges!==J.edges)V=!0;else if(Se)for(let[ke,Ne]of Object.entries(ne(k)))es(k,`_xform_${ke}`,Ne)}if(E.boundingBox!==void 0&&E.boundingBox!==null&&k.boundingBoxDeclaration!==void 0){let I=ge(k);k.metadata.boundingBox=E.boundingBox;let J=ge(k);if(I!==J)V=!0;else if(J){let _e=ie(k);if(_e)for(let[Se,ke]of Object.entries(_e))es(k,`_bbox_${Se}`,ke)}}else E.boundingBox===null&&k.metadata.boundingBox!==void 0&&(k.metadata.boundingBox=void 0,V=!0);if("flow"in E&&JSON.stringify(k.metadata.flow)!==JSON.stringify(E.flow)){let I=k.metadata.flow?.mode==="column"||k.metadata.flow?.mode==="row";k.metadata.flow=E.flow??void 0;let J=k.metadata.flow?.mode==="column"||k.metadata.flow?.mode==="row";if(I&&!J){let _e=Se=>{for(let ke of Qr(Se))F(ke),_e(ke.id)};_e(M)}Bt()}"absolute"in E&&k.metadata.absolute!==E.absolute&&(k.metadata.absolute=E.absolute,E.absolute&&F(k),Bt()),Yt()&&Bt(),V?Bn():vo()},U1=M=>{let E=u.get(M);if(!E)return;for(let V of Qr(M))U1(V.id);m===M&&(m=null);let k=p.get(E.parentId);k&&(k.delete(M),k.size===0&&p.delete(E.parentId)),u.delete(M),Md(),Bn(),Yt()&&Bt()},Xy=()=>{let M=Ps.deltaTime;Pe=C7(Re,Pe,M,performance.now());for(let E of u.values()){let k=E.metadata.maps??{};for(let V in E.mouseDriverState){let I=E.mouseDriverState[V],J=_T(E,V);if(J){if(J.type==="mouse-position"){let _e=J.smoothing??0,Se=J.momentum??0,ke=J.x===void 0||J.x==="mouse",Ne=J.y===void 0||J.y==="mouse";!I.pointerSnapped&&Ze&&(I.pointerSnapped=!0,ke&&(I.currentX=je,I.velocityX=0),Ne&&(I.currentY=fe,I.velocityY=0));let Lt,ns;if(ke){let[Go,ui]=Xc(I.currentX,I.velocityX,je,_e,Se,M);I.currentX=Go,I.velocityX=ui,Lt=Go}else Lt=J.x,I.velocityX=0;if(Ne){let[Go,ui]=Xc(I.currentY,I.velocityY,fe,_e,Se,M);I.currentY=Go,I.velocityY=ui,ns=Go}else ns=J.y,I.velocityY=0;let Ht=J.reach??1,nt=J.originX??.5,Zs=J.originY??.5,zo=J.invertX?-1:1,Lr=J.invertY?-1:1,wr=nt+zo*(Lt-nt)*Ht,yo=Zs+Lr*(ns-Zs)*Ht,Aa=wr,Pd=yo,p_=E.metadata.boundingBox;if(p_&&E.boundingBoxDeclaration?.supportsResizeFit&&ge(E)){let Go=Ov(p_,te(),ee()),ui=i7(wr,yo,{centerX:Go.centerX,centerY:Go.centerY,halfWidthUV:Go.halfWidthUV,halfHeightUV:Go.halfHeightUV,rotationDeg:Go.rotation,aspectRatio:ae()});Aa=ui.x,Pd=ui.y}I.liveX=Aa,I.liveY=Pd;let sh=E._liveHandles?.[`_smoothed_${V}`];sh instanceof Oo&&sh.setComponents(Aa,1-Pd)}else if(J.type==="mouse"){let _e=J.smoothing??0,Se=J.momentum??0,ke=J.axis==="x"?je:fe;!I.pointerSnapped&&Ze&&(I.pointerSnapped=!0,I.currentX=Math.max(.001,ke),I.velocityX=0);let[Ne,Lt]=Xc(I.currentX,I.velocityX,ke,_e,Se,M);I.currentX=Ne,I.velocityX=Lt;let ns=Math.max(.001,Ne),Ht=E.mapValues[V],nt=Ht?Ht.outputMin+(Ht.outputMax-Ht.outputMin)*Math.pow(ns,Math.pow(2,-Ht.curve*2)):ns;I.liveScalar=nt,es(E,`_smoothed_${V}`,nt)}}}for(let[V,I]of Object.entries(E.uniforms))I._listSpec&&my(I._rawList,I._listSpec)&&Ly(E,V);for(let V in E.autoAnimateState){let I=k[V];if(!I||I.type!=="auto-animate")continue;let J=Pe*(I.speed??1)*.2,_e,Se=I.easing??I.waveform??"sine";if(I.mode==="loop")_e=ey((J%1+1)%1,Se);else{let nt=(J%1+1)%1;_e=ey(nt<.5?nt*2:(1-nt)*2,Se)}let ke=E.mapValues[V],Ne=ke?ke.outputMin:le(E,V,I.outputMin),Lt=ke?ke.outputMax:le(E,V,I.outputMax),ns=Ne+_e*(Lt-Ne),Ht=E.uniforms[V];if(Ht?.compileTimeWhen){let nt=Ht._lastCompiledValue;Ht.compileTimeWhen(nt,ns)&&(Ht._lastCompiledValue=ns,Bn())}es(E,`_smoothed_${V}`,ns)}}},Hy=()=>{let M=Ps.deltaTime;for(let E of u.values()){let k=E.definition.animatedTime;if(k){let I=E.uniforms[k.speed],J=I&&Number(I.value)||0,_e=ii(__(E));_e.advance(M,J),es(E,"_animTime",_e.value)}let V=E.definition.extraAnimatedTimes;if(V)for(let[I,J]of Object.entries(V)){let _e=E.uniforms[J],Se=_e&&Number(_e.value)||0,ke=ii($1(E,J));ke.advance(M,Se),es(E,`_animTime_${I}`,ke.value)}}},C1=(M,E)=>U7(M,E,{maxTextureDim:G,pixelRatio:L,viewportWidth:typeof window<"u"?window.innerWidth:M,viewportHeight:typeof window<"u"?window.innerHeight:E}),R1=()=>{let M=(typeof window<"u"?window.devicePixelRatio:1)||1;return Math.min(M,h7())},l_=(M,E,k,V)=>{if(Q&&M===P&&E===U&&k===D&&V===O){let{width:Se,height:ke}=Sa();if(!n||n.width===Se&&n.height===ke)return}P=M,U=E,D=k,O=V,py(k,V),Q||(Q=!0,u.size>0&&Bn());let{width:I,height:J}=Sa();n&&(n.width=I,n.height=J);let _e=!1;for(let Se of w)Se.passManager.resize(I,J)&&(_e=!0);for(let Se of w)for(let ke of Se.ir.onResize)try{ke({width:I,height:J})}catch(Ne){Is("[gpu] composition onResize error:",Ne)}for(let Se of u.values()){if(Ro(Se)&&es(Se,"_xform_aspectRatio",ae()),ge(Se)){let ke=ie(Se);if(ke)for(let[Ne,Lt]of Object.entries(ke))es(Se,`_bbox_${Ne}`,Lt)}F(Se)}if(fo(),_e)for(let Se of w)Ky(Se.store),Se.store.flush(),Se.passManager.repaintRtt();Ue=0,Ad()},z1=(M,E)=>{M<=0||E<=0||M===W&&E===K||(W=M,K=E,Ft={width:M,height:E},!Gt&&typeof requestAnimationFrame=="function"&&(Gt=!0,requestAnimationFrame(()=>{if(Gt=!1,!Ft)return;let k=Ft;Ft=null;let{width:V,height:I}=C1(k.width,k.height);l_(V,I,k.width,k.height)})))},gT=M=>{let E=M[0];if(!E)return;let k,V;if(E.contentBoxSize){let I=Array.isArray(E.contentBoxSize)?E.contentBoxSize[0]:E.contentBoxSize;I?(k=Math.round(I.inlineSize),V=Math.round(I.blockSize)):(k=Math.round(E.contentRect.width),V=Math.round(E.contentRect.height))}else k=Math.round(E.contentRect.width),V=Math.round(E.contentRect.height);k===0||V===0||z1(k,V)},bT=M=>{let E=M[0];E&&(Ee=E.isIntersecting)},jy=()=>i&&!!t&&!!s&&P>0&&U>0,Ky=M=>{let E=M.systemHandles,{width:k,height:V}=Sa(),I=R1(),J=(_e,Se)=>{let ke=E[_e];ke instanceof Oo&&(ke.value=Se)};J("time",Pe),J("viewportSize",[k,V]),J("logicalViewportSize",[te()*I,ee()*I]),J("aspect",k/Math.max(1,V)),J("pointer",[je,fe]),J("pointerActive",Ke?1:0)},Zy=M=>{for(let E of M)try{E(Ps)}catch(k){Is("[gpu] render callback error:",k)}},Qy=M=>{if(Ms||!jy())return;let E=performance.now(),k;if(M!==void 0)k=M;else{let _e=R7(E,{lastRenderTime:Ue,isVisible:Ee,forceFullFrameRate:Te,minInterval:Me});if(!_e.render)return;k=_e.deltaTime}Ue=E,ls&&performance.mark("shader-cpu-start");let V=je>-5;Ps.deltaTime=k,Ps.pointer.x=V?je:.5,Ps.pointer.y=V?fe:.5,Ps.pointer.seen=Ze,Ps.pointerActive=Ke,Ps.dimensions.width=P,Ps.dimensions.height=U;let I=null,J=null;try{z7({updateDrivers:()=>{Xy(),Hy(),rt(),br()},ensureComposition:()=>((A||T===null)&&(T=Fy(),A=!1),T===null?!1:(I=g.getOrBuild(T,()=>hT(T)),xT(I),!!S)),beforeRender:()=>Zy(S.ir.onBeforeRender),flush:()=>{Ky(S.store),S.store.flush()},render:()=>{if(ls&&performance.mark("shader-gpu-start"),J=g.renderValue??I,J?.broken)return!1;let _e=J,Se=_e&&_e.validationFrames>0&&_e.ir.usesCustomWgsl?t?.device:void 0;Se&&Se.pushErrorScope("validation");try{_e?.passManager.render(s,Ps,()=>S?.store.flush())}finally{Se&&_e&&(_e.validationFrames--,Se.popErrorScope().then(ke=>{ke&&!_e.broken&&By(_e,ke.message)}).catch(()=>{}))}if(ls){performance.mark("shader-gpu-end");try{performance.measure("shader-gpu-time","shader-gpu-start","shader-gpu-end");let ke=performance.getEntriesByName("shader-gpu-time")[0];ke&&zr.recordGpuTime(ke.duration),performance.clearMeasures("shader-gpu-time"),performance.clearMarks("shader-gpu-start"),performance.clearMarks("shader-gpu-end")}catch{}}},markReady:()=>{g.markReady(T),Ks&&!ys&&(ys=!0,Ks=!1,vs&&queueMicrotask(vs))},afterRender:()=>Zy((J??S).ir.onAfterRender)}),nr=0}catch(_e){$T(_e);return}if(ls){performance.mark("shader-cpu-end");try{performance.measure("shader-cpu-time","shader-cpu-start","shader-cpu-end");let _e=performance.getEntriesByName("shader-cpu-time")[0];_e&&zr.recordCpuTime(_e.duration),performance.clearMarks("shader-cpu-start"),performance.clearMarks("shader-cpu-end"),performance.clearMeasures("shader-cpu-time")}catch{}}zr.recordFrame(performance.now()-E)},Ad=()=>Qy(void 0),wT=async M=>{if(Ms)return;if(!jy())throw new Error("Renderer is not ready");let E=Gr.running;E&&u_(),Ue=0,Ad(),t&&M?.waitForGpu!==!1&&await ty(t),E&&G1()},TT=async(M,E)=>{Qy(M),t&&E?.waitForGpu!==!1&&await ty(t)},G1=()=>{Ms||Gr.running||!he||(zr.setRendering(!0),Gr.start())},u_=()=>{Gr.running&&(Gr.stop(),zr.setRendering(!1))},m_=M=>{if(!n)return;at=n.getBoundingClientRect();let E,k;if("touches"in M){if(M.touches.length===0)return;E=M.touches[0].clientX,k=M.touches[0].clientY}else E=M.clientX,k=M.clientY;je=(E-at.left)/at.width,fe=(k-at.top)/at.height,Ze=!0},ST=M=>{!i||!n||(m_(M),Ke=!0,vo())},AT=M=>{!i||!n||(m_(M),Ke=!0,vo())},MT=()=>{i&&(Ke=!1,vo())},PT=()=>{i&&(Ke=!1,vo())},Jy=(M,E)=>{if(!i||!n)return!1;let k=n.getBoundingClientRect();return k.width===0||k.height===0?!1:M>=k.left&&M<=k.right&&E>=k.top&&E<=k.bottom},ET=M=>{M.button===0&&Jy(M.clientX,M.clientY)&&(Ke=!0,m_(M),vo())},kT=M=>{M.touches.length!==0&&Jy(M.touches[0].clientX,M.touches[0].clientY)&&(Ke=!0,m_(M),vo())},Md=()=>{let M=!1;for(let E of u.values()){if(E.usesPointer){M=!0;break}if(HL(E.uniforms?.shape?.value)||lT(E)){M=!0;break}if(E.metadata.maps){for(let k of Object.values(E.metadata.maps))if(k&&typeof k=="object"&&"type"in k){let V=k.type;if(V==="mouse"||V==="mouse-position"){M=!0;break}}if(M)break}}M&&!Fe?(Fe=!0,!Ie&&n&&(Ie=XL.register({onMouseMove:ST,onTouchMove:AT,onMouseDown:ET,onTouchStart:kT,onMouseUp:MT,onTouchEnd:PT}))):!M&&Fe&&(Fe=!1,Ie&&(Ie(),Ie=null))},eh=()=>{if(y.length===0)return;let M=[...y];y=[];for(let k of M)Oy(k.id,k.definition.fragment,k.parentId,k.metadata,k.uniforms,k.definition,k.domCanvas);let E=h;h=[];for(let k of E)k.kind==="uniform"?Ny(k.id,k.name,k.value):qy(k.id,k.metadata)},Wn=(M,E)=>{if(!Ms){Ms=M,dh(M),Is(`[gpu] renderer stopped (${M}):`,E);try{Y1()}catch(k){Is("[gpu] cleanup during failure threw:",k)}if(!hr&&Cr){hr=!0;let k=Cr;queueMicrotask(()=>{try{k(M,E)}catch(V){Is("[gpu] onUnavailable callback threw:",V)}})}}},$T=M=>{if(I1(M)){Wn(M.reason,M);return}nr++,nr===1&&y_("[gpu] render error:",M),nr>=qL&&Wn("render-failed",M)},UT=M=>{!M||typeof M.addEventListener!="function"||(th(),mo=M,po=E=>{try{E.preventDefault()}catch{}let k=E.error;if(y_("[gpu] uncaptured device error (a custom WGSL body that fails to compile reports here \u2014 read the message for the line):",k),typeof GPUOutOfMemoryError<"u"&&k instanceof GPUOutOfMemoryError){Wn("out-of-memory",k);return}if(typeof GPUInternalError<"u"&&k instanceof GPUInternalError){Wn("gpu-error",k);return}Rr++,Rr>=NL&&Wn("gpu-error",k)},M.addEventListener("uncapturederror",po))},th=()=>{if(mo&&po)try{mo.removeEventListener("uncapturederror",po)}catch{}mo=null,po=null},CT=M=>{if(!Ur){Ur=!0;try{u_()}catch{}if(yr){let E=yr;queueMicrotask(()=>{try{E(M)}catch(k){Is("[gpu] onDeviceLost callback threw:",k)}});return}Wn("device-lost",M)}},RT=async M=>{if(M.context!==void 0)throw new Error("[gpu] initialize({ context }) is not supported \u2014 this renderer is WebGPU-only. Remove the WebGL `context` option.");if(Ms)return;let E=ch();if(E){Wn(E);return}if(i||d)return;let{canvas:k,resizeTarget:V,enablePerformanceTracking:I=!1,colorSpace:J="p3-linear",toneMapping:_e="linear",gpu:Se,forceFullFrameRate:ke=!1,observeElement:Ne=!0,timeOrigin:Lt}=M;Lt!=null&&(Re=Lt),ls=I,Te=ke,os=J,bs=_e,Yr(),d=!0,_=new AbortController;let ns=_;try{if(As=lw,As(J),ns.signal.aborted||(n=k,e=await SL({device:Se?.device,adapter:Se?.adapter,onDeviceLost:yo=>CT(yo.message||yo.reason||"unknown")}),ns.signal.aborted))return;t=e.root,UT(t.device),L=R1();let Ht=t.device.limits?.maxTextureDimension2D;typeof Ht=="number"&&Ht>0&&(G=Ht),r=zL(t),o=f7(t),typeof window<"u"&&(We=()=>Y1(),window.addEventListener("beforeunload",We),Ve=()=>{if(W>0&&K>0){let yo=W,Aa=K;W=0,K=0,z1(yo,Aa)}},window.addEventListener("resize",Ve,{passive:!0}));let nt=k.getBoundingClientRect();at=nt,Ee=!Ne||nt.width>0&&nt.height>0&&nt.top0&&nt.left0,he=!0;let Zs=nt.width>0?nt.width:k.width,zo=nt.height>0?nt.height:k.height,Lr=Math.round(Zs),wr=Math.round(zo);if(Lr>0&&wr>0){W=Lr,K=wr;let{width:yo,height:Aa}=C1(Lr,wr);P=yo,U=Aa,D=Lr,O=wr,Q=!0,py(Lr,wr);let{width:Pd,height:p_}=Sa();k.width=Pd,k.height=p_}else Q=!1;if(s=PL(t,k),Ne&&typeof ResizeObserver<"u"){let yo=V??k.parentElement;yo?(st=new ResizeObserver(gT),st.observe(yo)):console.warn("[gpu] no element available for resize observation \u2014 use resize() manually"),typeof IntersectionObserver<"u"&&(Xe=new IntersectionObserver(bT,{threshold:0,rootMargin:"128px"}),Xe.observe(k))}if(ns.signal.aborted)return;i=!0,c=!0,eh(),P>0&&U>0&&Ad(),he&&G1()}catch(Ht){let nt=I1(Ht)?Ht.reason:"init-failed";d=!1,_===ns&&(_=null),Wn(nt,Ht);return}finally{d=!1,_===ns&&(_=null)}},Y1=()=>{_&&_.abort(),st&&(st.disconnect(),st=null),Xe&&(Xe.disconnect(),Xe=null),Ie&&(Ie(),Ie=null),We&&typeof window<"u"&&(window.removeEventListener("beforeunload",We),We=null),Ve&&typeof window<"u"&&(window.removeEventListener("resize",Ve),Ve=null),de!==null&&typeof cancelAnimationFrame=="function"&&(cancelAnimationFrame(de),de=null),u_(),th(),Nt?.(),Nt=null,typeof document<"u"&&document.fonts?.removeEventListener&&document.fonts.removeEventListener("loadingdone",No);try{e?.release?.()}catch{}g.clear();for(let M of[...w])Wy(M);S=null;try{r?.destroy()}catch{}try{e?.createdDevice&&t?.destroy()}catch{}u.clear(),m=null,p.clear(),y=[],h=[],c=!1,Ft=null,Gt=!1,n=null,s=null,r=null,o=null,t=null,e=null,i=!1,d=!1,Q=!1,_=null,P=0,U=0,D=0,O=0,T=null,A=!0,Ee=!1,he=!0,je=-10,fe=-10,Ke=!1,Ze=!1,Fe=!1,vs=null,ys=!1,Ks=!1,yr=null,Ur=!1,Rr=0,nr=0};return{initialize:RT,cleanup:Y1,registerNode:Oy,removeNode:U1,updateUniformValue:Ny,updateNodeMetadata:qy,isInitialized:()=>i,resize:(M,E)=>{t&&z1(M,E)},startAnimation:G1,stopAnimation:u_,renderAndWait:wT,renderSyntheticFrame:TT,getPerformanceStats:()=>{let M=Math.max(0,u.size-1),E=S?S.ir.rttPasses.length:0;zr.updateNodeCounts(M,E);let k={render:{calls:S?S.passManager.passCount:0},programs:{length:g.size},memory:{textures:r?r.textureCount:0}};return zr.getStats(k)},getLiveDriverValue:(M,E)=>{let k=u.get(M)?.mouseDriverState?.[E];return!k||k.liveX===void 0||k.liveY===void 0?null:{x:k.liveX,y:k.liveY}},getLiveScalarValue:(M,E)=>{let k=u.get(M);if(!k)return null;let V=k.metadata.maps?.[E];if(V?.type==="auto-animate"){let I=k._liveHandles?.[`_smoothed_${E}`],J=I instanceof Oo?I.value:void 0;return typeof J=="number"?J:null}return V?.type==="mouse"?k.mouseDriverState[E]?.liveScalar??null:null},getNodeRegistry:()=>({nodes:new Map(u)}),getRendererType:()=>"webgpu",getInternalRenderer:()=>t?{device:t.device,adapter:e?.adapter,root:t}:null,setForceFullFrameRate:M=>{let E=Te;return Te=M,E},beginRecordingResolution:(M,E,k)=>{if(!t||M<=0||E<=0)return()=>{};let V=L,I=P,J=U,_e=D,Se=O,ke=W,Ne=K;return L=k,l_(M,E,M,E),()=>{t&&(L=V,l_(I,J,_e,Se),W=ke,K=Ne)}},setResolutionScale:M=>{if(!t)return;let E=Math.max(.05,Math.min(M,1)),k=Math.max(.01,R1()*E);if(Math.abs(L-k)<.001)return;L=k;let V=D||P,I=O||U;if(V<=0||I<=0)return;let{width:J,height:_e}=C1(V,I);l_(J,_e,V,I)},setFrameRateCap:M=>{Me=M&&M>0?1e3/Math.max(M,10)-1:0},setTimeOrigin:M=>{Re=M},setOnReady:M=>{vs=M,M&&ys&&queueMicrotask(M)},setOnDeviceLost:M=>{yr=M},setOnUnavailable:M=>{if(Cr=M,M&&Ms&&!hr){hr=!0;let E=Ms;queueMicrotask(()=>{try{M(E)}catch(k){Is("[gpu] onUnavailable callback threw:",k)}})}},getFailureReason:()=>Ms,__testing:{needsTransformation:Tn,findChildNodes:Qr,buildFieldInits:M=>{let E=u.get(M);return E?Gy(E):null},ensureDriverState:M=>{let E=u.get(M);E&&k1(E)},stepMouseDrivers:M=>{Ps.deltaTime=M,Xy()},stepAnimatedTime:M=>{Ps.deltaTime=M,Hy()},getAnimatedTimeValue:M=>{let E=u.get(M);return E?.definition.animatedTime?ii(__(E)).value:null},writeExtraField:(M,E,k)=>{let V=u.get(M);V&&Yy(V,E,k)},readExtraField:(M,E)=>{let k=u.get(M)?._liveHandles?.[E];return k instanceof Oo?k.value:void 0},getNodeRegistry:()=>({nodes:u,rootId:m,parentToChildren:p}),getParentToChildren:()=>p,getPendingRegistrations:()=>[...y],getFrameDiagnostics:()=>({deltaTime:Ps.deltaTime,pointerX:je,pointerY:fe,pointerActive:Ke,globalElapsedTime:Pe,lastRenderTime:Ue,isVisible:Ee,forceFullFrameRate:Te,sharedTimeOrigin:Re,animating:Gr.running,mouseListenersNeeded:Fe}),computeStructuralHash:Fy,isStructuralDirty:()=>A,clearStructuralDirty:()=>{A=!1},setTestReady:M=>{i=!0,c=!0,M&&(P=M.width,U=M.height,D=M.width,O=M.height,Q=!0),eh()}}}}var jL={FlowingGradient:r_,Godrays:o_,LiquidMetal:n_,Marble:a_,MeshGradient:i_,Nebula:d_},P1=document.querySelector("canvas[data-shader]"),c_=jL[P1.dataset.shader],di=aT(),Ry=Promise.resolve();function iT(e){return Ry=Ry.then(()=>di.renderSyntheticFrame(e-di.__testing.getFrameDiagnostics().globalElapsedTime)),Ry}var zy=(async()=>{if(!c_)throw new Error(`shaders: no shader named "${P1.dataset.shader}" in this bundle`);await di.initialize({canvas:P1,observeElement:!1,colorSpace:"srgb"});let e=di.getFailureReason();if(e)throw new Error(`shaders: WebGPU unavailable (${e})`);di.registerNode("root",l1.fragment,null,null,{},l1);let t=JSON.parse(P1.dataset.shaderProps||"{}"),s=Object.fromEntries(Object.entries(c_.props).map(([o,n])=>[o,o in t?t[o]:n.default])),r={blendMode:"normal",renderOrder:1,id:"fx",boundingBox:Vv(void 0)};di.registerNode("fx",c_.fragment,"root",r,xy(c_,s,"fx"),c_),di.stopAnimation(),await iT(window.__hfTypegpuTime??0)})();window.__hf=window.__hf||{};window.__hf.buildReady=window.__hf.buildReady||{};window.__hf.buildReady.shaders=zy;zy.catch(e=>console.error(String(e)));window.addEventListener("hf-seek",e=>{let t=zy.then(()=>iT(e.detail.time));typeof e.detail.waitUntil=="function"&&e.detail.waitUntil(t)});})(); diff --git a/registry/blocks/liquid-metal/liquid-metal.html b/registry/blocks/liquid-metal/liquid-metal.html new file mode 100644 index 00000000000..a7f1d9c5f9c --- /dev/null +++ b/registry/blocks/liquid-metal/liquid-metal.html @@ -0,0 +1,31 @@ + + + + + + + +
+ +
+ + + diff --git a/registry/blocks/liquid-metal/registry-item.json b/registry/blocks/liquid-metal/registry-item.json new file mode 100644 index 00000000000..b6e955aacb5 --- /dev/null +++ b/registry/blocks/liquid-metal/registry-item.json @@ -0,0 +1,34 @@ +{ + "$schema": "https://hyperframes.heygen.com/schema/registry-item.json", + "name": "liquid-metal", + "type": "hyperframes:block", + "title": "Liquid Metal", + "description": "A chrome sphere ripples and flows like molten metal on black. A WebGPU shader from the Shaders library (shaders.com, MIT).", + "tags": ["webgpu", "webgpu-shader", "object", "metal", "chrome", "liquid", "sphere"], + "license": "Apache-2.0 AND MIT", + "dimensions": { + "width": 1920, + "height": 1080 + }, + "duration": 2, + "files": [ + { + "path": "liquid-metal.html", + "target": "compositions/liquid-metal.html", + "type": "hyperframes:composition" + }, + { + "path": "lib/shaders.iife.js", + "target": "compositions/lib/shaders.iife.js", + "type": "hyperframes:asset" + }, + { + "path": "lib/shaders.THIRD-PARTY-LICENSES.txt", + "target": "compositions/lib/shaders.THIRD-PARTY-LICENSES.txt", + "type": "hyperframes:asset" + } + ], + "preview": { + "video": "https://static.heygen.ai/hyperframes-oss/docs/images/catalog/blocks/liquid-metal.mp4" + } +} diff --git a/registry/blocks/marble/lib/shaders.THIRD-PARTY-LICENSES.txt b/registry/blocks/marble/lib/shaders.THIRD-PARTY-LICENSES.txt new file mode 100644 index 00000000000..1791b74a912 --- /dev/null +++ b/registry/blocks/marble/lib/shaders.THIRD-PARTY-LICENSES.txt @@ -0,0 +1,314 @@ +================================================================ +shaders 4.0.0 +================================================================ + +MIT License + +Copyright (c) 2026 Shader Effects Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +================================================================ +typegpu 0.12.3 +================================================================ + +MIT License + +Copyright (c) 2025 Software Mansion + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +================================================================ +tinyest 0.3.4 +================================================================ + +MIT License + +Copyright (c) 2025 Software Mansion + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +================================================================ +typed-binary 4.3.3 +================================================================ + +MIT License + +Copyright (c) 2022 Iwo Plaza + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +================================================================ +tsover-runtime 0.0.7 +================================================================ + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + diff --git a/registry/blocks/marble/lib/shaders.iife.js b/registry/blocks/marble/lib/shaders.iife.js new file mode 100644 index 00000000000..8924644b2c1 --- /dev/null +++ b/registry/blocks/marble/lib/shaders.iife.js @@ -0,0 +1,266 @@ +(()=>{var mi=class extends Error{reason;constructor(e,t,s){super(t??`[gpu] WebGPU unavailable (${e})`),this.name="GpuUnavailableError",this.reason=e,s?.cause!==void 0&&(this.cause=s.cause)}};function I1(e){return!!e&&typeof e=="object"&&e.name==="GpuUnavailableError"&&typeof e.reason=="string"}var rh=null;function v_(){if(rh!==null)return rh;let e=globalThis.__SHADERS_DEBUG__;if(e!=null)return!!e;try{if(typeof localStorage<"u"&&localStorage.getItem("shaders:debug")==="1")return!0}catch{}return!1}var oh=!1;function nh(){oh=!0}function y_(...e){(v_()||oh)&&console.error(...e)}function Ma(...e){v_()&&console.warn(...e)}function Is(...e){v_()&&console.error(...e)}function ah(){return typeof navigator<"u"&&!!navigator.gpu}var f_=null;function ih(){return f_||(f_=(async()=>{if(!ah())return{supported:!1,reason:"unsupported"};try{return await navigator.gpu.requestAdapter({powerPreference:"high-performance"})?{supported:!0}:{supported:!1,reason:"no-adapter"}}catch(e){return Is("[gpu] adapter probe threw:",e),{supported:!1,reason:"no-adapter"}}})(),f_)}var zT=new Set(["unsupported","no-adapter","no-device","out-of-memory","gpu-error"]),L1=null;function dh(e){L1||!zT.has(e)||(L1=e)}function ch(){return L1}function ms(e,t){let s=e.length;Array.isArray(e[0])||(e=[e]),Array.isArray(t[0])||(t=t.map(i=>[i]));let r=t[0].length,o=t[0].map((i,d)=>t.map(c=>c[d])),n=e.map(i=>o.map(d=>{let c=0;if(!Array.isArray(i)){for(let _ of d)c+=i*_;return c}for(let _=0;_i[0]):n}function Rd(e){return On(e)==="string"}function On(e){return(Object.prototype.toString.call(e).match(/^\[object\s+(.*?)\]$/)[1]||"").toLowerCase()}function P_(e,{precision:t,unit:s}){return Vn(e)?"none":i0(e,t)+(s??"")}function Vn(e){return Number.isNaN(e)||e instanceof Number&&e?.none}function Cs(e){return Vn(e)?0:e}function i0(e,t){if(e===0)return 0;let s=~~e,r=0;s&&t&&(r=~~Math.log10(Math.abs(s))+1);let o=10**(t-r);return Math.floor(e*o+.5)/o}var GT={deg:1,grad:.9,rad:180/Math.PI,turn:360};function d0(e){if(!e)return;e=e.trim();let t=/^([a-z]+)\((.+?)\)$/i,s=/^-?[\d.]+$/,r=/%|deg|g?rad|turn$/,o=/\/?\s*(none|[-\w.]+(?:%|deg|g?rad|turn)?)/g,n=e.match(t);if(n){let i=[];return n[2].replace(o,(d,c)=>{let _=c.match(r),u=c;if(_){let m=_[0],p=u.slice(0,-m.length);m==="%"?(u=new Number(p/100),u.type=""):(u=new Number(p*GT[m]),u.type="",u.unit=m)}else s.test(u)?(u=new Number(u),u.type=""):u==="none"&&(u=new Number(NaN),u.none=!0);d.startsWith("/")&&(u=u instanceof Number?u:new Number(u),u.alpha=!0),typeof u=="object"&&u instanceof Number&&(u.raw=c),i.push(u)}),{name:n[1].toLowerCase(),rawName:n[1],rawArgs:n[2],args:i}}}function c0(e){return e[e.length-1]}function $d(e,t,s){return isNaN(e)?t:isNaN(t)?e:e+(t-e)*s}function _0(e,t,s){return(s-e)/(t-e)}function rm(e,t,s){return $d(t[0],t[1],_0(e[0],e[1],s))}function l0(e){return e.map(t=>t.split("|").map(s=>{s=s.trim();let r=s.match(/^(<[a-z]+>)\[(-?[.\d]+),\s*(-?[.\d]+)\]?$/);if(r){let o=new String(r[1]);return o.range=[+r[2],+r[3]],o}return s}))}function u0(e,t,s){return Math.max(Math.min(s,t),e)}function U_(e,t){return Math.sign(e)===Math.sign(t)?e:-e}function qo(e,t){return U_(Math.abs(e)**t,e)}function om(e,t){return t===0?0:e/t}function m0(e,t,s=0,r=e.length){for(;s>1;e[o]","",""]);function _h(e,t,s,r){return Object.entries(e.coords).map(([o,n],i)=>{let d=t.coordGrammar[i],c=r[i],_=c?.type,u;if(c.none?u=d.find(y=>IT.has(y)):u=d.find(y=>y==_),!u){let y=n.name||o;throw new TypeError(`${_??c.raw} not allowed for ${y} in ${s}()`)}let m=u.range;_===""&&(m||=[0,1]);let p=n.range||n.refRange;return m&&p&&(r[i]=rm(m,p,r[i])),u})}function p0(e,{meta:t}={}){let s={str:String(e)?.trim()};if(Nn.run("parse-start",s),s.color)return s.color;if(s.parsed=d0(s.str),s.parsed){let r=s.parsed.name;if(r==="color"){let o=s.parsed.args.shift(),n=o.startsWith("--")?o.substring(2):`--${o}`,i=[o,n],d=s.parsed.rawArgs.indexOf("/")>0?s.parsed.args.pop():1;for(let u of qe.all){let m=u.getFormat("color");if(m&&(i.includes(m.id)||m.ids?.filter(p=>i.includes(p)).length)){let p=Object.keys(u.coords).map((h,g)=>s.parsed.args[g]||0),y;return m.coordGrammar&&(y=_h(u,m,"color",p)),t&&Object.assign(t,{formatId:"color",types:y}),m.id.startsWith("--")&&!o.startsWith("--")&&to.warn(`${u.name} is a non-standard space and not currently supported in the CSS spec. Use prefixed color(${m.id}) instead of color(${o}).`),o.startsWith("--")&&!m.id.startsWith("--")&&to.warn(`${u.name} is a standard space and supported in the CSS spec. Use color(${m.id}) instead of prefixed color(${o}).`),{spaceId:u.id,coords:p,alpha:d}}}let c="",_=o in qe.registry?o:n;if(_ in qe.registry){let u=qe.registry[_].formats?.color?.id;u&&(c=`Did you mean color(${u})?`)}throw new TypeError(`Cannot parse color(${o}). `+(c||"Missing a plugin?"))}else for(let o of qe.all){let n=o.getFormat(r);if(n&&n.type==="function"){let i=1;(n.lastAlpha||c0(s.parsed.args).alpha)&&(i=s.parsed.args.pop());let d=s.parsed.args,c;return n.coordGrammar&&(c=_h(o,n,r,d)),t&&Object.assign(t,{formatId:n.name,types:c}),{spaceId:o.id,coords:d,alpha:i}}}}else for(let r of qe.all)for(let o in r.formats){let n=r.formats[o];if(n.type!=="custom"||n.test&&!n.test(s.str))continue;let i=n.parse(s.str);if(i)return i.alpha??=1,t&&(t.formatId=o),i}throw new TypeError(`Could not parse ${e} as a color. Missing a plugin?`)}function yt(e){if(Array.isArray(e))return e.map(yt);if(!e)throw new TypeError("Empty color reference");Rd(e)&&(e=p0(e));let t=e.space||e.spaceId;return t instanceof qe||(e.space=qe.get(t)),e.alpha===void 0&&(e.alpha=1),e}var DT=75e-6,qe=class Yo{constructor(t){this.id=t.id,this.name=t.name,this.base=t.base?Yo.get(t.base):null,this.aliases=t.aliases,this.base&&(this.fromBase=t.fromBase,this.toBase=t.toBase);let s=t.coords??this.base.coords;for(let r in s)"name"in s[r]||(s[r].name=r);this.coords=s,this.white=j1(t.white??this.base.white??"D65"),this.formats=t.formats??{};for(let r in this.formats){let o=this.formats[r];o.type||="function",o.name||=r}this.formats.color?.id||(this.formats.color={...this.formats.color??{},id:t.cssId||this.id}),t.gamutSpace?this.gamutSpace=t.gamutSpace==="self"?this:Yo.get(t.gamutSpace):this.isPolar?this.gamutSpace=this.base:this.gamutSpace=this,this.gamutSpace.isUnbounded&&(this.inGamut=(r,o)=>!0),this.referred=t.referred,Object.defineProperty(this,"path",{value:FT(this).reverse(),writable:!1,enumerable:!0,configurable:!0}),Nn.run("colorspace-init-end",this)}inGamut(t,{epsilon:s=DT}={}){if(!this.equals(this.gamutSpace))return t=this.to(this.gamutSpace,t),this.gamutSpace.inGamut(t,{epsilon:s});let r=Object.values(this.coords);return t.every((o,n)=>{let i=r[n];if(i.type!=="angle"&&i.range){if(Number.isNaN(o))return!0;let[d,c]=i.range;return(d===void 0||o>=d-s)&&(c===void 0||o<=c+s)}return!0})}get isUnbounded(){return Object.values(this.coords).every(t=>!("range"in t))}get cssId(){return this.formats?.color?.id||this.id}get isPolar(){for(let t in this.coords)if(this.coords[t].type==="angle")return!0;return!1}getFormat(t){if(typeof t=="object")return t=lh(t,this),t;let s;return t==="default"?s=Object.values(this.formats)[0]:s=this.formats[t],s?(s=lh(s,this),s):null}equals(t){return t?this===t||this.id===t||this.id===t.id:!1}to(t,s){if(arguments.length===1){let d=yt(t);[t,s]=[d.space,d.coords]}if(t=Yo.get(t),this.equals(t))return s;s=s.map(d=>Number.isNaN(d)?0:d);let r=this.path,o=t.path,n,i;for(let d=0;di;d--)s=r[d].toBase(s);for(let d=i+1;d=0){let c=Object.entries(o.coords)[n];if(c)return{space:o,id:c[0],index:n,...c[1]}}o=Yo.get(o);let i=n.toLowerCase(),d=0;for(let c in o.coords){let _=o.coords[c];if(c.toLowerCase()===i||_.name?.toLowerCase()===i)return{space:o,id:c,index:d,..._};d++}throw new TypeError(`No "${n}" coordinate found in ${o.name}. Its coordinates are: ${Object.keys(o.coords).join(", ")}`)}static DEFAULT_FORMAT={type:"functions",name:"color"}};function FT(e){let t=[e];for(let s=e;s=s.base;)t.push(s);return t}function lh(e,{coords:t}={}){if(e.coords&&!e.coordGrammar){e.type||="function",e.name||="color",e.coordGrammar=l0(e.coords);let s=Object.entries(t).map(([r,o],n)=>{let i=e.coordGrammar[n][0],d=o.range||o.refRange,c=i.range,_="";return i==""?(c=[0,100],_="%"):i==""&&(_="deg"),{fromRange:d,toRange:c,suffix:_}});e.serializeCoords=(r,o)=>r.map((n,i)=>{let{fromRange:d,toRange:c,suffix:_}=s[i];return d&&c&&(n=rm(d,c,n)),n=P_(n,{precision:o,unit:_}),n})}return e}var ar=new qe({id:"xyz-d65",name:"XYZ D65",coords:{x:{name:"X"},y:{name:"Y"},z:{name:"Z"}},white:"D65",formats:{color:{ids:["xyz-d65","xyz"]}},aliases:["xyz"]}),Dr=class extends qe{constructor(e){e.coords||(e.coords={r:{range:[0,1],name:"Red"},g:{range:[0,1],name:"Green"},b:{range:[0,1],name:"Blue"}}),e.base||(e.base=ar),e.toXYZ_M&&e.fromXYZ_M&&(e.toBase??=t=>{let s=ms(e.toXYZ_M,t);return this.white!==this.base.white&&(s=E_(this.white,this.base.white,s)),s},e.fromBase??=t=>(t=E_(this.base.white,this.white,t),ms(e.fromXYZ_M,t))),e.referred??="display",super(e)}};function zd(e,t){return e=yt(e),!t||e.space.equals(t)?e.coords.slice():(t=qe.get(t),t.from(e))}function Jr(e,t){e=yt(e);let{space:s,index:r}=qe.resolveCoord(t,e.space);return zd(e,s)[r]}function nm(e,t,s){return e=yt(e),t=qe.get(t),e.coords=t.to(e.space,s),e}nm.returns="color";function pn(e,t,s){if(e=yt(e),arguments.length===2&&On(arguments[1])==="object"){let r=arguments[1];for(let o in r)pn(e,o,r[o])}else{typeof s=="function"&&(s=s(Jr(e,t)));let{space:r,index:o}=qe.resolveCoord(t,e.space),n=zd(e,r);n[o]=s,nm(e,r,n)}return e}pn.returns="color";var am=new qe({id:"xyz-d50",name:"XYZ D50",white:"D50",base:ar,fromBase:e=>E_(ar.white,"D50",e),toBase:e=>E_("D50",ar.white,e)}),BT=216/24389,uh=24/116,h_=24389/27,D1=Tr.D50,eo=new qe({id:"lab",name:"Lab",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:D1,base:am,fromBase(e){let t=e.map((s,r)=>s/D1[r]).map(s=>s>BT?Math.cbrt(s):(h_*s+16)/116);return[116*t[1]-16,500*(t[0]-t[1]),200*(t[1]-t[2])]},toBase(e){let t=[];return t[1]=(e[0]+16)/116,t[0]=e[1]/500+t[1],t[2]=t[1]-e[2]/200,[t[0]>uh?Math.pow(t[0],3):(116*t[0]-16)/h_,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/h_,t[2]>uh?Math.pow(t[2],3):(116*t[2]-16)/h_].map((s,r)=>s*D1[r])},formats:{lab:{coords:[" | "," | [-1,1]"," | [-1,1]"]}}});function Xo(e){return(e%360+360)%360}function WT(e,t){if(e==="raw")return t;let[s,r]=t.map(Xo),o=r-s;return e==="increasing"?o<0&&(r+=360):e==="decreasing"?o>0&&(s+=360):e==="longer"?-1800?s+=360:r+=360):e==="shorter"&&(o>180?s+=360:o<-180&&(r+=360)),[s,r]}var Ud=new qe({id:"lch",name:"LCH",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,150],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:eo,fromBase(e){let[t,s,r]=e,o,n=.02;return Math.abs(s) | "," | "," | "]}}}),mh=25**7,k_=Math.PI,ph=180/k_,pi=k_/180;function fh(e){let t=e*e;return t*t*t*e}function f0(e,t,{kL:s=1,kC:r=1,kH:o=1}={}){[e,t]=yt([e,t]);let[n,i,d]=eo.from(e),c=Ud.from(eo,[n,i,d])[1],[_,u,m]=eo.from(t),p=Ud.from(eo,[_,u,m])[1];c<0&&(c=0),p<0&&(p=0);let y=fh((c+p)/2),h=.5*(1-Math.sqrt(y/(y+mh))),g=(1+h)*i,w=(1+h)*u,S=Math.sqrt(g**2+d**2),T=Math.sqrt(w**2+m**2),A=g===0&&d===0?0:Math.atan2(d,g),P=w===0&&m===0?0:Math.atan2(m,w);A<0&&(A+=2*k_),P<0&&(P+=2*k_),A*=ph,P*=ph;let U=_-n,D=T-S,O=P-A,L=A+P,G=Math.abs(O),W;S*T===0?W=0:G<=180?W=O:O>180?W=O-360:O<-180?W=O+360:to.warn("the unthinkable has happened");let K=2*Math.sqrt(T*S)*Math.sin(W*pi/2),Q=(n+_)/2,te=(S+T)/2,ee=fh(te),he;S*T===0?he=L:G<=180?he=L/2:L<360?he=(L+360)/2:he=(L-360)/2;let Ee=(Q-50)**2,Te=1+.015*Ee/Math.sqrt(20+Ee),Ue=1+.045*te,Me=1;Me-=.17*Math.cos((he-30)*pi),Me+=.24*Math.cos(2*he*pi),Me+=.32*Math.cos((3*he+6)*pi),Me-=.2*Math.cos((4*he-63)*pi);let Pe=1+.015*te*Me,Re=30*Math.exp(-1*((he-275)/25)**2),de=2*Math.sqrt(ee/(ee+mh)),je=-1*Math.sin(2*Re*pi)*de,fe=(U/(s*Te))**2;return fe+=(D/(r*Ue))**2,fe+=(K/(o*Pe))**2,fe+=je*(D/(r*Ue))*(K/(o*Pe)),Math.sqrt(fe)}var OT=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],VT=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],NT=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],qT=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],hi=new qe({id:"oklab",name:"Oklab",coords:{l:{refRange:[0,1],name:"Lightness"},a:{refRange:[-.4,.4]},b:{refRange:[-.4,.4]}},white:"D65",base:ar,fromBase(e){return ms(NT,ms(OT,e).map(t=>Math.cbrt(t)))},toBase(e){return ms(VT,ms(qT,e).map(t=>t**3))},formats:{oklab:{coords:[" | "," | [-1,1]"," | [-1,1]"]}}});function K1(e,t){[e,t]=yt([e,t]);let[s,r,o]=hi.from(e),[n,i,d]=hi.from(t),c=s-n,_=r-i,u=o-d;return Math.sqrt(c**2+_**2+u**2)}var XT=75e-6;function Ea(e,t,{epsilon:s=XT}={}){e=yt(e),t||(t=e.space),t=qe.get(t);let r=e.coords;return t!==e.space&&(r=t.from(e)),t.inGamut(r,{epsilon:s})}function xi(e){return{space:e.space,coords:e.coords.slice(),alpha:e.alpha}}function v0(e,t,s="lab"){s=qe.get(s);let r=s.from(e),o=s.from(t);return Math.sqrt(r.reduce((n,i,d)=>{let c=o[d];return isNaN(i)||isNaN(c)?n:n+(c-i)**2},0))}function HT(e,t){return v0(e,t,"lab")}var vh=Math.PI/180;function jT(e,t,{l:s=2,c:r=1}={}){[e,t]=yt([e,t]);let[o,n,i]=eo.from(e),[,d,c]=Ud.from(eo,[o,n,i]),[_,u,m]=eo.from(t),p=Ud.from(eo,[_,u,m])[1];d<0&&(d=0),p<0&&(p=0);let y=o-_,h=d-p,g=n-u,w=i-m,S=g**2+w**2-h**2,T=.511;o>=16&&(T=.040975*o/(1+.01765*o));let A=.0638*d/(1+.0131*d)+.638,P;Number.isNaN(c)&&(c=0),c>=164&&c<=345?P=.56+Math.abs(.2*Math.cos((c+168)*vh)):P=.36+Math.abs(.4*Math.cos((c+35)*vh));let U=Math.pow(d,4),D=Math.sqrt(U/(U+1900)),O=A*(D*P+1-D),L=(y/(s*T))**2;return L+=(h/(r*A))**2,L+=S/O**2,Math.sqrt(L)}var yh=203,im=new qe({id:"xyz-abs-d65",cssId:"--xyz-abs-d65",name:"Absolute XYZ D65",coords:{x:{refRange:[0,9504.7],name:"Xa"},y:{refRange:[0,1e4],name:"Ya"},z:{refRange:[0,10888.3],name:"Za"}},base:ar,fromBase(e){return e.map(t=>Math.max(t*yh,0))},toBase(e){return e.map(t=>Math.max(t/yh,0))}}),x_=1.15,g_=.66,hh=2610/2**14,KT=2**14/2610,xh=3424/2**12,gh=2413/2**7,bh=2392/2**7,ZT=1.7*2523/2**5,wh=2**5/(1.7*2523),b_=-.56,F1=16295499532821565e-27,QT=[[.41478972,.579999,.014648],[-.20151,1.120649,.0531008],[-.0166008,.2648,.6684799]],JT=[[1.9242264357876067,-1.0047923125953657,.037651404030618],[.35031676209499907,.7264811939316552,-.06538442294808501],[-.09098281098284752,-.3127282905230739,1.5227665613052603]],eS=[[.5,.5,0],[3.524,-4.066708,.542708],[.199076,1.096799,-1.295875]],tS=[[1,.1386050432715393,.05804731615611886],[.9999999999999999,-.1386050432715393,-.05804731615611886],[.9999999999999998,-.09601924202631895,-.8118918960560388]],y0=new qe({id:"jzazbz",name:"Jzazbz",coords:{jz:{refRange:[0,1],name:"Jz"},az:{refRange:[-.5,.5]},bz:{refRange:[-.5,.5]}},base:im,fromBase(e){let[t,s,r]=e,[o,n,i]=ms(eS,ms(QT,[x_*t-(x_-1)*r,g_*s-(g_-1)*t,r]).map(function(d){return((xh+gh*(d/1e4)**hh)/(1+bh*(d/1e4)**hh))**ZT}));return[(1+b_)*o/(1+b_*o)-F1,n,i]},toBase(e){let[t,s,r]=e,[o,n,i]=ms(JT,ms(tS,[(t+F1)/(1+b_-b_*(t+F1)),s,r]).map(function(c){return 1e4*((xh-c**wh)/(bh*c**wh-gh))**KT})),d=(o+(x_-1)*i)/x_;return[d,(n+(g_-1)*d)/g_,i]},formats:{color:{coords:[" | "," | [-1,1]"," | [-1,1]"]}}}),Z1=new qe({id:"jzczhz",name:"JzCzHz",coords:{jz:{refRange:[0,1],name:"Jz"},cz:{refRange:[0,1],name:"Chroma"},hz:{refRange:[0,360],type:"angle",name:"Hue"}},base:y0,fromBase(e){let[t,s,r]=e,o,n=2e-4;return Math.abs(s){let r=qo(t*Math.abs(s)*.01,b0);return 400*U_(r,s)/(r+27.13)})}function yS(e,t){let s=100/t*27.13**Ah;return e.map(r=>{let o=Math.abs(r);return U_(s*qo(o/(400-o),Ah),r)})}function hS(e){let t=Xo(e);t<=Pa.h[0]&&(t+=360);let s=m0(Pa.h,t)-1,[r,o]=Pa.h.slice(s,s+2),[n,i]=Pa.e.slice(s,s+2),d=Pa.H[s],c=(t-r)/n;return d+100*c/(c+(o-t)/i)}function xS(e){let t=(e%400+400)%400,s=Math.floor(.01*t);t=t%100;let[r,o]=Pa.h.slice(s,s+2),[n,i]=Pa.e.slice(s,s+2);return Xo((t*(i*r-n*o)-100*r*i)/(t*(i-n)-100*i))}function S0(e,t,s,r,o){let n={};n.discounting=o,n.refWhite=e,n.surround=r;let i=e.map(y=>y*100);n.la=t,n.yb=s;let d=i[1],c=ms(w0,i);r=fS[n.surround];let _=r[0];n.c=r[1],n.nc=r[2];let u=(1/(5*n.la+1))**4;n.fl=u*n.la+.1*(1-u)*(1-u)*Math.cbrt(5*n.la),n.flRoot=n.fl**.25,n.n=n.yb/d,n.z=1.48+Math.sqrt(n.n),n.nbb=.725*n.n**-.2,n.ncb=n.nbb;let m=o?1:Math.max(Math.min(_*(1-1/3.6*Math.exp((-n.la-42)/92)),1),0);n.dRgb=c.map(y=>$d(1,d/y,m)),n.dRgbInv=n.dRgb.map(y=>1/y);let p=T0(c.map((y,h)=>y*n.dRgb[h]),n.fl);return n.aW=n.nbb*(2*p[0]+p[1]+.05*p[2]),n}var Ph=S0(uS,64/Math.PI*.2,20,"average",!1);function J1(e,t){if(!(e.J!==void 0^e.Q!==void 0))throw new Error("Conversion requires one and only one: 'J' or 'Q'");if(!(e.C!==void 0^e.M!==void 0^e.s!==void 0))throw new Error("Conversion requires one and only one: 'C', 'M' or 's'");if(!(e.h!==void 0^e.H!==void 0))throw new Error("Conversion requires one and only one: 'h' or 'H'");if(e.J===0||e.Q===0)return[0,0,0];let s=0;e.h!==void 0?s=Xo(e.h)*Mh:s=xS(e.H)*Mh;let r=Math.cos(s),o=Math.sin(s),n=0;e.J!==void 0?n=qo(e.J,1/2)*.1:e.Q!==void 0&&(n=.25*t.c*e.Q/((t.aW+4)*t.flRoot));let i=0;e.C!==void 0?i=e.C/n:e.M!==void 0?i=e.M/t.flRoot/n:e.s!==void 0&&(i=4e-4*e.s**2*(t.aW+4)/t.c);let d=qo(i*Math.pow(1.64-Math.pow(.29,t.n),-.73),10/9),c=.25*(Math.cos(s+2)+3.8),_=t.aW*qo(n,2/t.c/t.z),u=5e4/13*t.nc*t.ncb*c,m=_/t.nbb,p=23*(m+.305)*om(d,23*u+d*(11*r+108*o));return ms(mS,yS(ms(pS,[m,p*r,p*o]).map(y=>y*1/1403),t.fl).map((y,h)=>y*t.dRgbInv[h])).map(y=>y/100)}function A0(e,t){let s=T0(ms(w0,e.map(g=>g*100)).map((g,w)=>g*t.dRgb[w]),t.fl),r=s[0]+(-12*s[1]+s[2])/11,o=(s[0]+s[1]-2*s[2])/9,n=(Math.atan2(o,r)%B1+B1)%B1,i=.25*(Math.cos(n+2)+3.8),d=qo(5e4/13*t.nc*t.ncb*om(i*Math.sqrt(r**2+o**2),s[0]+s[1]+1.05*s[2]+.305),.9)*Math.pow(1.64-Math.pow(.29,t.n),.73),c=qo(t.nbb*(2*s[0]+s[1]+.05*s[2])/t.aW,.5*t.c*t.z),_=100*qo(c,2),u=4/t.c*c*(t.aW+4)*t.flRoot,m=d*c,p=m*t.flRoot,y=Xo(n*vS),h=hS(y);return{J:_,C:m,h:y,s:50*qo(t.c*d/(t.aW+4),1/2),Q:u,M:p,H:h}}var gS=new qe({id:"cam16-jmh",cssId:"--cam16-jmh",name:"CAM16-JMh",coords:{j:{refRange:[0,100],name:"J"},m:{refRange:[0,105],name:"Colorfulness"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:ar,fromBase(e){let t=A0(e,Ph);return[t.J,t.M,t.h]},toBase(e){return J1({J:e[0],M:e[1],h:e[2]},Ph)}}),bS=Tr.D65,wS=216/24389,M0=24389/27;function TS(e){return 116*(e>wS?Math.cbrt(e):(M0*e+16)/116)-16}function em(e){return e>8?Math.pow((e+16)/116,3):e/M0}function SS(e,t){let[s,r,o]=e,n=[],i=0;if(o===0)return[0,0,0];let d=em(o);o>0?i=.00379058511492914*o**2+.608983189401032*o+.9155088574762233:i=9514440756550361e-21*o**2+.08693057439788597*o-21.928975842194614;let c=2e-12,_=15,u=0,m=1/0;for(;u<=_;){n=J1({J:i,C:r,h:s},t);let p=Math.abs(n[1]-d);if(p | "," | "," | "]}}}),MS=Math.PI/180,Eh=[1,.007,.0228];function kh(e){e[1]<0&&(e=Cd.fromBase(Cd.toBase(e)));let t=Math.log(Math.max(1+Eh[2]*e[1]*dm.flRoot,1))/Eh[2],s=e[0]*MS,r=t*Math.cos(s),o=t*Math.sin(s);return[e[2],r,o]}function PS(e,t){[e,t]=yt([e,t]);let[s,r,o]=kh(Cd.from(e)),[n,i,d]=kh(Cd.from(t));return Math.sqrt((s-n)**2+(r-i)**2+(o-d)**2)}var gi={deltaE76:HT,deltaECMC:jT,deltaE2000:f0,deltaEJz:sS,deltaEITP:lS,deltaEOK:K1,deltaEHCT:PS};function ES(e){let t=e?Math.floor(Math.log10(Math.abs(e))):0;return Math.max(parseFloat(`1e${t-2}`),1e-6)}var $h={hct:{method:"hct.c",jnd:2,deltaEMethod:"hct",blackWhiteClamp:{}},"hct-tonal":{method:"hct.c",jnd:0,deltaEMethod:"hct",blackWhiteClamp:{channel:"hct.t",min:0,max:100}}};function qn(e,{method:t=to.gamut_mapping,space:s=void 0,deltaEMethod:r="",jnd:o=2,blackWhiteClamp:n={}}={}){if(e=yt(e),Rd(arguments[1])?s=arguments[1]:s||(s=e.space),s=qe.get(s),Ea(e,s,{epsilon:0}))return e;let i;if(t==="css")i=kS(e,{space:s});else{if(t!=="clip"&&!Ea(e,s)){Object.prototype.hasOwnProperty.call($h,t)&&({method:t,jnd:o,deltaEMethod:r,blackWhiteClamp:n}=$h[t]);let d=f0;if(r!==""){for(let _ in gi)if("deltae"+r.toLowerCase()===_.toLowerCase()){d=gi[_];break}}let c=qn(us(e,s),{method:"clip",space:s});if(d(e,c)>o){if(Object.keys(n).length===3){let S=qe.resolveCoord(n.channel),T=Jr(us(e,S.space),S.id);if(Vn(T)&&(T=0),T>=n.max)return us({space:"xyz-d65",coords:Tr.D65},e.space);if(T<=n.min)return us({space:"xyz-d65",coords:[0,0,0]},e.space)}let _=qe.resolveCoord(t),u=_.space,m=_.id,p=us(e,u);p.coords.forEach((S,T)=>{Vn(S)&&(p.coords[T]=0)});let y=(_.range||_.refRange)[0],h=ES(o),g=y,w=Jr(p,m);for(;w-g>h;){let S=xi(p);S=qn(S,{space:s,method:"clip"}),d(p,S)-oc.range||[]);i.coords=i.coords.map((c,_)=>{let[u,m]=d[_];return u!==void 0&&(c=Math.max(u,c)),m!==void 0&&(c=Math.min(c,m)),c})}}return s!==e.space&&(i=us(i,e.space)),e.coords=i.coords,e}qn.returns="color";var Uh={WHITE:{space:hi,coords:[1,0,0]},BLACK:{space:hi,coords:[0,0,0]}};function kS(e,{space:t}={}){e=yt(e),t||(t=e.space),t=qe.get(t);let o=qe.get("oklch");if(t.isUnbounded)return us(e,t);let n=us(e,o),i=n.coords[0];if(i>=1){let h=us(Uh.WHITE,t);return h.alpha=e.alpha,us(h,t)}if(i<=0){let h=us(Uh.BLACK,t);return h.alpha=e.alpha,us(h,t)}if(Ea(n,t,{epsilon:0}))return us(n,t);function d(h){let g=us(h,t),w=Object.values(t.coords);return g.coords=g.coords.map((S,T)=>{if("range"in w[T]){let[A,P]=w[T].range;return u0(A,S,P)}return S}),g}let c=0,_=n.coords[1],u=!0,m=xi(n),p=d(m),y=K1(p,m);if(y<.02)return p;for(;_-c>1e-4;){let h=(c+_)/2;if(m.coords[1]=h,u&&Ea(m,t,{epsilon:0}))c=h;else if(p=d(m),y=K1(p,m),y<.02){if(.02-y<1e-4)break;u=!1,c=h}else _=h}return p}function us(e,t,{inGamut:s}={}){e=yt(e),t=qe.get(t);let r=t.from(e),o={space:t,coords:r,alpha:e.alpha};return s&&(o=qn(o,s===!0?void 0:s)),o}us.returns="color";function kd(e,{precision:t=to.precision,format:s="default",inGamut:r=!0,...o}={}){let n;e=yt(e);let i=s;s=e.space.getFormat(s)??e.space.getFormat("default")??qe.DEFAULT_FORMAT;let d=e.coords.slice();if(r||=s.toGamut,r&&!Ea(e)&&(d=qn(xi(e),r===!0?void 0:r).coords),s.type==="custom")if(o.precision=t,s.serialize)n=s.serialize(d,e.alpha,o);else throw new TypeError(`format ${i} can only be used to parse colors, not for serialization`);else{let c=s.name||"color";s.serializeCoords?d=s.serializeCoords(d,t):t!==null&&(d=d.map(p=>P_(p,{precision:t})));let _=[...d];if(c==="color"){let p=s.id||s.ids?.[0]||e.space.id;_.unshift(p)}let u=e.alpha;t!==null&&(u=P_(u,{precision:t}));let m=e.alpha>=1||s.noAlpha?"":`${s.commas?",":" /"} ${u}`;n=`${c}(${_.join(s.commas?", ":" ")}${m})`}return n}var C_=new Dr({id:"rec2020-linear",cssId:"--rec2020-linear",name:"Linear REC.2020",white:"D65",toXYZ_M:[[.6369580483012914,.14461690358620832,.1688809751641721],[.2627002120112671,.6779980715188708,.05930171646986196],[0,.028072693049087428,1.060985057710791]],fromXYZ_M:[[1.716651187971268,-.355670783776392,-.25336628137366],[-.666684351832489,1.616481236634939,.0157685458139111],[.017639857445311,-.042770613257809,.942103121235474]]}),w_=1.09929682680944,Ch=.018053968510807,P0=new Dr({id:"rec2020",name:"REC.2020",base:C_,toBase(e){return e.map(function(t){return t=Ch?w_*Math.pow(t,.45)-(w_-1):4.5*t})}}),E0=new Dr({id:"p3-linear",cssId:"--display-p3-linear",name:"Linear P3",white:"D65",toXYZ_M:[[.4865709486482162,.26566769316909306,.1982172852343625],[.2289745640697488,.6917385218365064,.079286914093745],[0,.04511338185890264,1.043944368900976]],fromXYZ_M:[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]]}),$S=[[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Ds=[[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],k0=new Dr({id:"srgb-linear",name:"Linear sRGB",white:"D65",toXYZ_M:$S,fromXYZ_M:Ds}),Rh={aliceblue:[240/255,248/255,1],antiquewhite:[250/255,235/255,215/255],aqua:[0,1,1],aquamarine:[127/255,1,212/255],azure:[240/255,1,1],beige:[245/255,245/255,220/255],bisque:[1,228/255,196/255],black:[0,0,0],blanchedalmond:[1,235/255,205/255],blue:[0,0,1],blueviolet:[138/255,43/255,226/255],brown:[165/255,42/255,42/255],burlywood:[222/255,184/255,135/255],cadetblue:[95/255,158/255,160/255],chartreuse:[127/255,1,0],chocolate:[210/255,105/255,30/255],coral:[1,127/255,80/255],cornflowerblue:[100/255,149/255,237/255],cornsilk:[1,248/255,220/255],crimson:[220/255,20/255,60/255],cyan:[0,1,1],darkblue:[0,0,139/255],darkcyan:[0,139/255,139/255],darkgoldenrod:[184/255,134/255,11/255],darkgray:[169/255,169/255,169/255],darkgreen:[0,100/255,0],darkgrey:[169/255,169/255,169/255],darkkhaki:[189/255,183/255,107/255],darkmagenta:[139/255,0,139/255],darkolivegreen:[85/255,107/255,47/255],darkorange:[1,140/255,0],darkorchid:[153/255,50/255,204/255],darkred:[139/255,0,0],darksalmon:[233/255,150/255,122/255],darkseagreen:[143/255,188/255,143/255],darkslateblue:[72/255,61/255,139/255],darkslategray:[47/255,79/255,79/255],darkslategrey:[47/255,79/255,79/255],darkturquoise:[0,206/255,209/255],darkviolet:[148/255,0,211/255],deeppink:[1,20/255,147/255],deepskyblue:[0,191/255,1],dimgray:[105/255,105/255,105/255],dimgrey:[105/255,105/255,105/255],dodgerblue:[30/255,144/255,1],firebrick:[178/255,34/255,34/255],floralwhite:[1,250/255,240/255],forestgreen:[34/255,139/255,34/255],fuchsia:[1,0,1],gainsboro:[220/255,220/255,220/255],ghostwhite:[248/255,248/255,1],gold:[1,215/255,0],goldenrod:[218/255,165/255,32/255],gray:[128/255,128/255,128/255],green:[0,128/255,0],greenyellow:[173/255,1,47/255],grey:[128/255,128/255,128/255],honeydew:[240/255,1,240/255],hotpink:[1,105/255,180/255],indianred:[205/255,92/255,92/255],indigo:[75/255,0,130/255],ivory:[1,1,240/255],khaki:[240/255,230/255,140/255],lavender:[230/255,230/255,250/255],lavenderblush:[1,240/255,245/255],lawngreen:[124/255,252/255,0],lemonchiffon:[1,250/255,205/255],lightblue:[173/255,216/255,230/255],lightcoral:[240/255,128/255,128/255],lightcyan:[224/255,1,1],lightgoldenrodyellow:[250/255,250/255,210/255],lightgray:[211/255,211/255,211/255],lightgreen:[144/255,238/255,144/255],lightgrey:[211/255,211/255,211/255],lightpink:[1,182/255,193/255],lightsalmon:[1,160/255,122/255],lightseagreen:[32/255,178/255,170/255],lightskyblue:[135/255,206/255,250/255],lightslategray:[119/255,136/255,153/255],lightslategrey:[119/255,136/255,153/255],lightsteelblue:[176/255,196/255,222/255],lightyellow:[1,1,224/255],lime:[0,1,0],limegreen:[50/255,205/255,50/255],linen:[250/255,240/255,230/255],magenta:[1,0,1],maroon:[128/255,0,0],mediumaquamarine:[102/255,205/255,170/255],mediumblue:[0,0,205/255],mediumorchid:[186/255,85/255,211/255],mediumpurple:[147/255,112/255,219/255],mediumseagreen:[60/255,179/255,113/255],mediumslateblue:[123/255,104/255,238/255],mediumspringgreen:[0,250/255,154/255],mediumturquoise:[72/255,209/255,204/255],mediumvioletred:[199/255,21/255,133/255],midnightblue:[25/255,25/255,112/255],mintcream:[245/255,1,250/255],mistyrose:[1,228/255,225/255],moccasin:[1,228/255,181/255],navajowhite:[1,222/255,173/255],navy:[0,0,128/255],oldlace:[253/255,245/255,230/255],olive:[128/255,128/255,0],olivedrab:[107/255,142/255,35/255],orange:[1,165/255,0],orangered:[1,69/255,0],orchid:[218/255,112/255,214/255],palegoldenrod:[238/255,232/255,170/255],palegreen:[152/255,251/255,152/255],paleturquoise:[175/255,238/255,238/255],palevioletred:[219/255,112/255,147/255],papayawhip:[1,239/255,213/255],peachpuff:[1,218/255,185/255],peru:[205/255,133/255,63/255],pink:[1,192/255,203/255],plum:[221/255,160/255,221/255],powderblue:[176/255,224/255,230/255],purple:[128/255,0,128/255],rebeccapurple:[102/255,51/255,153/255],red:[1,0,0],rosybrown:[188/255,143/255,143/255],royalblue:[65/255,105/255,225/255],saddlebrown:[139/255,69/255,19/255],salmon:[250/255,128/255,114/255],sandybrown:[244/255,164/255,96/255],seagreen:[46/255,139/255,87/255],seashell:[1,245/255,238/255],sienna:[160/255,82/255,45/255],silver:[192/255,192/255,192/255],skyblue:[135/255,206/255,235/255],slateblue:[106/255,90/255,205/255],slategray:[112/255,128/255,144/255],slategrey:[112/255,128/255,144/255],snow:[1,250/255,250/255],springgreen:[0,1,127/255],steelblue:[70/255,130/255,180/255],tan:[210/255,180/255,140/255],teal:[0,128/255,128/255],thistle:[216/255,191/255,216/255],tomato:[1,99/255,71/255],turquoise:[64/255,224/255,208/255],violet:[238/255,130/255,238/255],wheat:[245/255,222/255,179/255],white:[1,1,1],whitesmoke:[245/255,245/255,245/255],yellow:[1,1,0],yellowgreen:[154/255,205/255,50/255]},zh=Array(3).fill(" | [0, 255]"),Gh=Array(3).fill("[0, 255]"),bi=new Dr({id:"srgb",name:"sRGB",base:k0,fromBase:e=>e.map(t=>{let s=t<0?-1:1,r=t*s;return r>.0031308?s*(1.055*r**(1/2.4)-.055):12.92*t}),toBase:e=>e.map(t=>{let s=t<0?-1:1,r=t*s;return r<=.04045?t/12.92:s*((r+.055)/1.055)**2.4}),formats:{rgb:{coords:zh},rgb_number:{name:"rgb",commas:!0,coords:Gh,noAlpha:!0},color:{},rgba:{coords:zh,commas:!0,lastAlpha:!0},rgba_number:{name:"rgba",commas:!0,coords:Gh},hex:{type:"custom",toGamut:!0,test:e=>/^#([a-f0-9]{3,4}){1,2}$/i.test(e),parse(e){e.length<=5&&(e=e.replace(/[a-f0-9]/gi,"$&$&"));let t=[];return e.replace(/[a-f0-9]{2}/gi,s=>{t.push(parseInt(s,16)/255)}),{spaceId:"srgb",coords:t.slice(0,3),alpha:t.slice(3)[0]}},serialize:(e,t,{collapse:s=!0}={})=>{t<1&&e.push(t),e=e.map(o=>Math.round(o*255));let r=s&&e.every(o=>o%17===0);return"#"+e.map(o=>r?(o/17).toString(16):o.toString(16).padStart(2,"0")).join("")}},keyword:{type:"custom",test:e=>/^[a-z]+$/i.test(e),parse(e){e=e.toLowerCase();let t={spaceId:"srgb",coords:null,alpha:1};if(e==="transparent"?(t.coords=Rh.black,t.alpha=0):t.coords=Rh[e],t.coords)return t}}}}),$0=new Dr({id:"p3",cssId:"display-p3",name:"P3",base:E0,fromBase:bi.fromBase,toBase:bi.toBase});to.display_space=bi;var US;if(typeof CSS<"u"&&CSS.supports)for(let e of[eo,P0,$0]){let t=kd({space:e,coords:e.getMinCoords(),alpha:1});if(CSS.supports("color",t)){to.display_space=e;break}}function CS(e,{space:t=to.display_space,...s}={}){let r=kd(e,s);if(typeof CSS>"u"||CSS.supports("color",r)||!to.display_space)r=new String(r),r.color=e;else{let o=e;if((e.coords.some(Vn)||Vn(e.alpha))&&!(US??=CSS.supports("color","hsl(none 50% 50%)"))&&(o=xi(e),o.coords=o.coords.map(Cs),o.alpha=Cs(o.alpha),r=kd(o,s),CSS.supports("color",r)))return r=new String(r),r.color=o,r;o=us(o,t),r=new String(kd(o,s)),r.color=o}return r}function RS(e,t){return e=yt(e),t=yt(t),e.space===t.space&&e.alpha===t.alpha&&e.coords.every((s,r)=>s===t.coords[r])}function Xn(e){return Jr(e,[ar,"y"])}function U0(e,t){pn(e,[ar,"y"],t)}function zS(e){Object.defineProperty(e.prototype,"luminance",{get(){return Xn(this)},set(t){U0(this,t)}})}var GS=Object.freeze({__proto__:null,getLuminance:Xn,register:zS,setLuminance:U0});function YS(e,t){e=yt(e),t=yt(t);let s=Math.max(Xn(e),0),r=Math.max(Xn(t),0);return r>s&&([s,r]=[r,s]),(s+.05)/(r+.05)}var LS=.56,IS=.57,DS=.62,FS=.65,Yh=.022,BS=1.414,WS=.1,OS=5e-4,VS=1.14,Lh=.027,NS=1.14;function Ih(e){return e>=Yh?e:e+(Yh-e)**BS}function fi(e){let t=e<0?-1:1,s=Math.abs(e);return t*Math.pow(s,2.4)}function qS(e,t){t=yt(t),e=yt(e);let s,r,o,n,i,d;t=us(t,"srgb"),[n,i,d]=t.coords;let c=fi(n)*.2126729+fi(i)*.7151522+fi(d)*.072175;e=us(e,"srgb"),[n,i,d]=e.coords;let _=fi(n)*.2126729+fi(i)*.7151522+fi(d)*.072175,u=Ih(c),m=Ih(_),p=m>u;return Math.abs(m-u)0?o=r-Lh:o=r+Lh,o*100}function XS(e,t){e=yt(e),t=yt(t);let s=Math.max(Xn(e),0),r=Math.max(Xn(t),0);r>s&&([s,r]=[r,s]);let o=s+r;return o===0?0:(s-r)/o}var HS=5e4;function jS(e,t){e=yt(e),t=yt(t);let s=Math.max(Xn(e),0),r=Math.max(Xn(t),0);return r>s&&([s,r]=[r,s]),r===0?HS:(s-r)/r}function KS(e,t){e=yt(e),t=yt(t);let s=Jr(e,[eo,"l"]),r=Jr(t,[eo,"l"]);return Math.abs(s-r)}var ZS=216/24389,Dh=24/116,T_=24389/27,W1=Tr.D65,tm=new qe({id:"lab-d65",name:"Lab D65",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:W1,base:ar,fromBase(e){let t=e.map((s,r)=>s/W1[r]).map(s=>s>ZS?Math.cbrt(s):(T_*s+16)/116);return[116*t[1]-16,500*(t[0]-t[1]),200*(t[1]-t[2])]},toBase(e){let t=[];return t[1]=(e[0]+16)/116,t[0]=e[1]/500+t[1],t[2]=t[1]-e[2]/200,[t[0]>Dh?Math.pow(t[0],3):(116*t[0]-16)/T_,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/T_,t[2]>Dh?Math.pow(t[2],3):(116*t[2]-16)/T_].map((s,r)=>s*W1[r])},formats:{"lab-d65":{coords:[" | "," | [-1,1]"," | [-1,1]"]}}}),O1=Math.pow(5,.5)*.5+.5;function QS(e,t){e=yt(e),t=yt(t);let s=Jr(e,[tm,"l"]),r=Jr(t,[tm,"l"]),o=Math.abs(Math.pow(s,O1)-Math.pow(r,O1)),n=Math.pow(o,1/O1)*Math.SQRT2-40;return n<7.5?0:n}var M_=Object.freeze({__proto__:null,contrastAPCA:qS,contrastDeltaPhi:QS,contrastLstar:KS,contrastMichelson:XS,contrastWCAG21:YS,contrastWeber:jS});function JS(e,t,s={}){Rd(s)&&(s={algorithm:s});let{algorithm:r,...o}=s;if(!r){let n=Object.keys(M_).map(i=>i.replace(/^contrast/,"")).join(", ");throw new TypeError(`contrast() function needs a contrast algorithm. Please specify one of: ${n}`)}e=yt(e),t=yt(t);for(let n in M_)if("contrast"+r.toLowerCase()===n.toLowerCase())return M_[n](e,t,o);throw new TypeError(`Unknown contrast algorithm: ${r}`)}function R_(e){let[t,s,r]=zd(e,ar),o=t+15*s+3*r;return[4*t/o,9*s/o]}function C0(e){let[t,s,r]=zd(e,ar),o=t+s+r;return[t/o,s/o]}function eA(e){Object.defineProperty(e.prototype,"uv",{get(){return R_(this)}}),Object.defineProperty(e.prototype,"xy",{get(){return C0(this)}})}var tA=Object.freeze({__proto__:null,register:eA,uv:R_,xy:C0});function Ed(e,t,s={}){Rd(s)&&(s={method:s});let{method:r=to.deltaE,...o}=s;for(let n in gi)if("deltae"+r.toLowerCase()===n.toLowerCase())return gi[n](e,t,o);throw new TypeError(`Unknown deltaE method: ${r}`)}function sA(e,t=.25){return pn(e,[qe.get("oklch","lch"),"l"],s=>s*(1+t))}function rA(e,t=.25){return pn(e,[qe.get("oklch","lch"),"l"],s=>s*(1-t))}var oA=Object.freeze({__proto__:null,darken:rA,lighten:sA});function R0(e,t,s=.5,r={}){return[e,t]=[yt(e),yt(t)],On(s)==="object"&&([s,r]=[.5,s]),Gd(e,t,r)(s)}function z0(e,t,s={}){let r;cm(e)&&([r,s]=[e,t],[e,t]=r.rangeArgs.colors);let{maxDeltaE:o,deltaEMethod:n,steps:i=2,maxSteps:d=1e3,...c}=s;r||([e,t]=[yt(e),yt(t)],r=Gd(e,t,c));let _=Ed(e,t),u=o>0?Math.max(i,Math.ceil(_/o)+1):i,m=[];if(d!==void 0&&(u=Math.min(u,d)),u===1)m=[{p:.5,color:r(.5)}];else{let p=1/(u-1);m=Array.from({length:u},(y,h)=>{let g=h*p;return{p:g,color:r(g)}})}if(o>0){let p=m.reduce((y,h,g)=>{if(g===0)return 0;let w=Ed(h.color,m[g-1].color,n);return Math.max(y,w)},0);for(;p>o;){p=0;for(let y=1;yp.color),m}function Gd(e,t,s={}){if(cm(e)){let[c,_]=[e,t];return Gd(...c.rangeArgs.colors,{...c.rangeArgs.options,..._})}let{space:r,outputSpace:o,progression:n,premultiplied:i}=s;e=yt(e),t=yt(t),e=xi(e),t=xi(t);let d={colors:[e,t],options:s};if(r?r=qe.get(r):r=qe.registry[to.interpolationSpace]||e.space,o=o?qe.get(o):r,e=us(e,r),t=us(t,r),e=qn(e),t=qn(t),r.coords.h&&r.coords.h.type==="angle"){let c=s.hue=s.hue||"shorter",_=[r,"h"],[u,m]=[Jr(e,_),Jr(t,_)];isNaN(u)&&!isNaN(m)?u=m:isNaN(m)&&!isNaN(u)&&(m=u),[u,m]=WT(c,[u,m]),pn(e,_,u),pn(t,_,m)}return i&&(e.coords=e.coords.map(c=>c*e.alpha),t.coords=t.coords.map(c=>c*t.alpha)),Object.assign(c=>{c=n?n(c):c;let _=e.coords.map((p,y)=>{let h=t.coords[y];return $d(p,h,c)}),u=$d(e.alpha,t.alpha,c),m={space:r,coords:_,alpha:u};return i&&(m.coords=m.coords.map(p=>p/u)),o!==r&&(m=us(m,o)),m},{rangeArgs:d})}function cm(e){return On(e)==="function"&&!!e.rangeArgs}to.interpolationSpace="lab";function nA(e){e.defineFunction("mix",R0,{returns:"color"}),e.defineFunction("range",Gd,{returns:"function"}),e.defineFunction("steps",z0,{returns:"array"})}var aA=Object.freeze({__proto__:null,isRange:cm,mix:R0,range:Gd,register:nA,steps:z0}),G0=new qe({id:"hsl",name:"HSL",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:bi,fromBase:e=>{let t=Math.max(...e),s=Math.min(...e),[r,o,n]=e,[i,d,c]=[NaN,0,(s+t)/2],_=t-s;if(_!==0){switch(d=c===0||c===1?0:(t-c)/Math.min(c,1-c),t){case r:i=(o-n)/_+(o=360&&(i-=360),[i,d*100,c*100]},toBase:e=>{let[t,s,r]=e;t=t%360,t<0&&(t+=360),s/=100,r/=100;function o(n){let i=(n+t/30)%12,d=s*Math.min(r,1-r);return r-d*Math.max(-1,Math.min(i-3,9-i,1))}return[o(0),o(8),o(4)]},formats:{hsl:{coords:[" | ","",""]},hsla:{coords:[" | ","",""],commas:!0,lastAlpha:!0}}}),Y0=new qe({id:"hsv",name:"HSV",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},v:{range:[0,100],name:"Value"}},base:G0,fromBase(e){let[t,s,r]=e;s/=100,r/=100;let o=r+s*Math.min(r,1-r);return[t,o===0?0:200*(1-r/o),100*o]},toBase(e){let[t,s,r]=e;s/=100,r/=100;let o=r*(1-s/2);return[t,o===0||o===1?0:(r-o)/Math.min(o,1-o)*100,o*100]},formats:{color:{id:"--hsv",coords:[" | "," | "," | "]}}}),iA=new qe({id:"hwb",name:"HWB",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},w:{range:[0,100],name:"Whiteness"},b:{range:[0,100],name:"Blackness"}},base:Y0,fromBase(e){let[t,s,r]=e;return[t,r*(100-s)/100,100-r]},toBase(e){let[t,s,r]=e;s/=100,r/=100;let o=s+r;if(o>=1)return[t,0,s/o*100];let n=1-r;return[t,(n===0?0:1-s/n)*100,n*100]},formats:{hwb:{coords:[" | "," | "," | "]}}}),L0=new Dr({id:"a98rgb-linear",cssId:"--a98-rgb-linear",name:"Linear Adobe\xAE 98 RGB compatible",white:"D65",toXYZ_M:[[.5766690429101305,.1855582379065463,.1882286462349947],[.29734497525053605,.6273635662554661,.07529145849399788],[.02703136138641234,.07068885253582723,.9913375368376388]],fromXYZ_M:[[2.0415879038107465,-.5650069742788596,-.34473135077832956],[-.9692436362808795,1.8759675015077202,.04155505740717557],[.013444280632031142,-.11836239223101838,1.0151749943912054]]}),dA=new Dr({id:"a98rgb",cssId:"a98-rgb",name:"Adobe\xAE 98 RGB compatible",base:L0,toBase:e=>e.map(t=>Math.pow(Math.abs(t),563/256)*Math.sign(t)),fromBase:e=>e.map(t=>Math.pow(Math.abs(t),256/563)*Math.sign(t))}),I0=new Dr({id:"prophoto-linear",cssId:"--prophoto-rgb-linear",name:"Linear ProPhoto",white:"D50",base:am,toXYZ_M:[[.7977666449006423,.13518129740053308,.0313477341283922],[.2880748288194013,.711835234241873,8993693872564e-17],[0,0,.8251046025104602]],fromXYZ_M:[[1.3457868816471583,-.25557208737979464,-.05110186497554526],[-.5446307051249019,1.5082477428451468,.02052744743642139],[0,0,1.2119675456389452]]}),cA=1/512,_A=16/512,lA=new Dr({id:"prophoto",cssId:"prophoto-rgb",name:"ProPhoto",base:I0,toBase(e){return e.map(t=>t<_A?t/16:t**1.8)},fromBase(e){return e.map(t=>t>=cA?t**(1/1.8):16*t)}}),uA=new qe({id:"oklch",name:"Oklch",coords:{l:{refRange:[0,1],name:"Lightness"},c:{refRange:[0,.4],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},white:"D65",base:hi,fromBase(e){let[t,s,r]=e,o,n=2e-4;return Math.abs(s) | "," | [0,1]"," | "]}}}),D0=Tr.D65,mA=216/24389,Fh=24389/27,[Bh,Wh]=R_({space:ar,coords:D0}),F0=new qe({id:"luv",name:"Luv",coords:{l:{refRange:[0,100],name:"Lightness"},u:{refRange:[-215,215]},v:{refRange:[-215,215]}},white:D0,base:ar,fromBase(e){let t=[Cs(e[0]),Cs(e[1]),Cs(e[2])],s=t[1],[r,o]=R_({space:ar,coords:t});if(!Number.isFinite(r)||!Number.isFinite(o))return[0,0,0];let n=s<=mA?Fh*s:116*Math.cbrt(s)-16;return[n,13*n*(r-Bh),13*n*(o-Wh)]},toBase(e){let[t,s,r]=e;if(t===0||Vn(t))return[0,0,0];s=Cs(s),r=Cs(r);let o=s/(13*t)+Bh,n=r/(13*t)+Wh,i=t<=8?t/Fh:Math.pow((t+16)/116,3);return[i*(9*o/(4*n)),i,i*((12-3*o-20*n)/(4*n))]},formats:{color:{id:"--luv",coords:[" | "," | [-1,1]"," | [-1,1]"]}}}),_m=new qe({id:"lchuv",name:"LChuv",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,220],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:F0,fromBase(e){let[t,s,r]=e,o,n=.02;return Math.abs(s) | "," | "," | "]}}}),pA=216/24389,fA=24389/27,Oh=Ds[0][0],Vh=Ds[0][1],V1=Ds[0][2],Nh=Ds[1][0],qh=Ds[1][1],N1=Ds[1][2],Xh=Ds[2][0],Hh=Ds[2][1],q1=Ds[2][2];function vi(e,t,s){let r=t/(Math.sin(s)-e*Math.cos(s));return r<0?1/0:r}function $_(e){let t=Math.pow(e+16,3)/1560896,s=t>pA?t:e/fA,r=s*(284517*Oh-94839*V1),o=s*(838422*V1+769860*Vh+731718*Oh),n=s*(632260*V1-126452*Vh),i=s*(284517*Nh-94839*N1),d=s*(838422*N1+769860*qh+731718*Nh),c=s*(632260*N1-126452*qh),_=s*(284517*Xh-94839*q1),u=s*(838422*q1+769860*Hh+731718*Xh),m=s*(632260*q1-126452*Hh);return{r0s:r/n,r0i:o*e/n,r1s:r/(n+126452),r1i:(o-769860)*e/(n+126452),g0s:i/c,g0i:d*e/c,g1s:i/(c+126452),g1i:(d-769860)*e/(c+126452),b0s:_/m,b0i:u*e/m,b1s:_/(m+126452),b1i:(u-769860)*e/(m+126452)}}function jh(e,t){let s=t/360*Math.PI*2,r=vi(e.r0s,e.r0i,s),o=vi(e.r1s,e.r1i,s),n=vi(e.g0s,e.g0i,s),i=vi(e.g1s,e.g1i,s),d=vi(e.b0s,e.b0i,s),c=vi(e.b1s,e.b1i,s);return Math.min(r,o,n,i,d,c)}var vA=new qe({id:"hsluv",name:"HSLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:_m,gamutSpace:bi,fromBase(e){let[t,s,r]=[Cs(e[0]),Cs(e[1]),Cs(e[2])],o;return t>99.9999999?(o=0,t=100):t<1e-8?(o=0,t=0):o=s/jh($_(t),r)*100,[r,o,t]},toBase(e){let[t,s,r]=[Cs(e[0]),Cs(e[1]),Cs(e[2])],o;return r>99.9999999?(r=100,o=0):r<1e-8?(r=0,o=0):o=jh($_(r),t)/100*s,[r,o,t]},formats:{color:{id:"--hsluv",coords:[" | "," | "," | "]}}});Ds[0][0];Ds[0][1];Ds[0][2];Ds[1][0];Ds[1][1];Ds[1][2];Ds[2][0];Ds[2][1];Ds[2][2];function yi(e,t){return Math.abs(t)/Math.sqrt(Math.pow(e,2)+1)}function Kh(e){let t=yi(e.r0s,e.r0i),s=yi(e.r1s,e.r1i),r=yi(e.g0s,e.g0i),o=yi(e.g1s,e.g1i),n=yi(e.b0s,e.b0i),i=yi(e.b1s,e.b1i);return Math.min(t,s,r,o,n,i)}var yA=new qe({id:"hpluv",name:"HPLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:_m,gamutSpace:"self",fromBase(e){let[t,s,r]=[Cs(e[0]),Cs(e[1]),Cs(e[2])],o;return t>99.9999999?(o=0,t=100):t<1e-8?(o=0,t=0):o=s/Kh($_(t))*100,[r,o,t]},toBase(e){let[t,s,r]=[Cs(e[0]),Cs(e[1]),Cs(e[2])],o;return r>99.9999999?(r=100,o=0):r<1e-8?(r=0,o=0):o=Kh($_(r))/100*s,[r,o,t]},formats:{color:{id:"--hpluv",coords:[" | "," | "," | "]}}}),Zh=203,Qh=2610/2**14,hA=2**14/2610,xA=2523/2**5,Jh=2**5/2523,e0=3424/2**12,t0=2413/2**7,s0=2392/2**7,gA=new Dr({id:"rec2100pq",cssId:"rec2100-pq",name:"REC.2100-PQ",base:C_,toBase(e){return e.map(function(t){return(Math.max(t**Jh-e0,0)/(t0-s0*t**Jh))**hA*1e4/Zh})},fromBase(e){return e.map(function(t){let s=Math.max(t*Zh/1e4,0);return((e0+t0*s**Qh)/(1+s0*s**Qh))**xA})}}),r0=.17883277,o0=.28466892,n0=.55991073,X1=3.7743,bA=new Dr({id:"rec2100hlg",cssId:"rec2100-hlg",name:"REC.2100-HLG",referred:"scene",base:C_,toBase(e){return e.map(function(t){return t<=.5?t**2/3*X1:(Math.exp((t-n0)/r0)+o0)/12*X1})},fromBase(e){return e.map(function(t){return t/=X1,t<=1/12?Math.sqrt(3*t):r0*Math.log(12*t-o0)+n0})}}),B0={};Nn.add("chromatic-adaptation-start",e=>{e.options.method&&(e.M=W0(e.W1,e.W2,e.options.method))});Nn.add("chromatic-adaptation-end",e=>{e.M||(e.M=W0(e.W1,e.W2,e.options.method))});function z_({id:e,toCone_M:t,fromCone_M:s}){B0[e]=arguments[0]}function W0(e,t,s="Bradford"){let r=B0[s],[o,n,i]=ms(r.toCone_M,e),[d,c,_]=ms(r.toCone_M,t),u=ms([[d/o,0,0],[0,c/n,0],[0,0,_/i]],r.toCone_M);return ms(r.fromCone_M,u)}z_({id:"von Kries",toCone_M:[[.40024,.7076,-.08081],[-.2263,1.16532,.0457],[0,0,.91822]],fromCone_M:[[1.8599363874558397,-1.1293816185800916,.21989740959619328],[.3611914362417676,.6388124632850422,-6370596838649899e-21],[0,0,1.0890636230968613]]});z_({id:"Bradford",toCone_M:[[.8951,.2664,-.1614],[-.7502,1.7135,.0367],[.0389,-.0685,1.0296]],fromCone_M:[[.9869929054667121,-.14705425642099013,.15996265166373122],[.4323052697233945,.5183602715367774,.049291228212855594],[-.00852866457517732,.04004282165408486,.96848669578755]]});z_({id:"CAT02",toCone_M:[[.7328,.4296,-.1624],[-.7036,1.6975,.0061],[.003,.0136,.9834]],fromCone_M:[[1.0961238208355142,-.27886900021828726,.18274517938277307],[.4543690419753592,.4735331543074117,.07209780371722911],[-.009627608738429355,-.00569803121611342,1.0153256399545427]]});z_({id:"CAT16",toCone_M:[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],fromCone_M:[[1.862067855087233,-1.0112546305316845,.14918677544445172],[.3875265432361372,.6214474419314753,-.008973985167612521],[-.01584149884933386,-.03412293802851557,1.0499644368778496]]});Object.assign(Tr,{A:[1.0985,1,.35585],C:[.98074,1,1.18232],D55:[.95682,1,.92149],D75:[.94972,1,1.22638],E:[1,1,1],F2:[.99186,1,.67393],F7:[.95041,1,1.08747],F11:[1.00962,1,.6435]});Tr.ACES=[.32168/.33767,1,.34065/.33767];var O0=new Dr({id:"acescg",cssId:"--acescg",name:"ACEScg",coords:{r:{range:[0,65504],name:"Red"},g:{range:[0,65504],name:"Green"},b:{range:[0,65504],name:"Blue"}},referred:"scene",white:Tr.ACES,toXYZ_M:[[.6624541811085053,.13400420645643313,.1561876870049078],[.27222871678091454,.6740817658111484,.05368951740793705],[-.005574649490394108,.004060733528982826,1.0103391003129971]],fromXYZ_M:[[1.6410233796943257,-.32480329418479,-.23642469523761225],[-.6636628587229829,1.6153315916573379,.016756347685530137],[.011721894328375376,-.008284441996237409,.9883948585390215]]}),S_=2**-16,H1=-.35828683,A_=(Math.log2(65504)+9.72)/17.52,wA=new Dr({id:"acescc",cssId:"--acescc",name:"ACEScc",coords:{r:{range:[H1,A_],name:"Red"},g:{range:[H1,A_],name:"Green"},b:{range:[H1,A_],name:"Blue"}},referred:"scene",base:O0,toBase(e){let t=-.3013698630136986;return e.map(function(s){return s<=t?(2**(s*17.52-9.72)-S_)*2:s1||n===void 0?1:n<0?0:n;for(let i=0;ithis.get(i),set:d=>this.set(i,d)})}get spaceId(){return this.space.id}clone(){return new Ir(this.space,this.coords,this.alpha)}toJSON(){return{spaceId:this.spaceId,coords:this.coords,alpha:this.alpha}}display(...t){let s=CS(this,...t);return s.color=new Ir(s.color),s}static get(t,...s){return t instanceof Ir?t:new Ir(t,...s)}static defineFunction(t,s,r=s){let{instance:o=!0,returns:n}=r,i=function(...d){let c=s(...d);if(n==="color")c=Ir.get(c);else if(n==="function"){let _=c;c=function(...u){let m=_(...u);return Ir.get(m)},Object.assign(c,_)}else n==="array"&&(c=c.map(_=>Ir.get(_)));return c};t in Ir||(Ir[t]=i),o&&(Ir.prototype[t]=function(...d){return i(this,...d)})}static defineFunctions(t){for(let s in t)Ir.defineFunction(s,t[s],t[s])}static extend(t){if(t.register)t.register(Ir);else for(let s in t)Ir.defineFunction(s,t[s])}};Sr.defineFunctions({get:Jr,getAll:zd,set:pn,setAll:nm,to:us,equals:RS,inGamut:Ea,toGamut:qn,distance:v0,toString:kd});Object.assign(Sr,{util:YT,hooks:Nn,WHITES:Tr,Space:qe,spaces:qe.registry,parse:p0,defaults:to});for(let e of Object.keys(a0))qe.register(a0[e]);for(let e in qe.registry)sm(e,qe.registry[e]);Nn.add("colorspace-init-end",e=>{sm(e.id,e),e.aliases?.forEach(t=>{sm(t,e)})});function sm(e,t){let s=e.replace(/-/g,"_");Object.defineProperty(Sr.prototype,s,{get(){let r=this.getAll(e);return typeof Proxy>"u"?r:new Proxy(r,{has:(o,n)=>{try{return qe.resolveCoord([t,n]),!0}catch{}return Reflect.has(o,n)},get:(o,n,i)=>{if(n&&typeof n!="symbol"&&!(n in o)){let{index:d}=qe.resolveCoord([t,n]);if(d>=0)return o[d]}return Reflect.get(o,n,i)},set:(o,n,i,d)=>{if(n&&typeof n!="symbol"&&!(n in o)||n>=0){let{index:c}=qe.resolveCoord([t,n]);if(c>=0)return o[c]=i,this.setAll(e,o),!0}return Reflect.set(o,n,i,d)}})},set(r){this.setAll(e,r)},configurable:!0,enumerable:!0})}Sr.extend(gi);Sr.extend({deltaE:Ed});Object.assign(Sr,{deltaEMethods:gi});Sr.extend(oA);Sr.extend({contrast:JS});Sr.extend(tA);Sr.extend(GS);Sr.extend(aA);Sr.extend(M_);var V0="p3-linear",N0=e=>{V0=e};function TA(e){try{let t=new Sr(e),s=V0==="srgb"?"srgb-linear":"p3-linear",r=t.to(s).coords,o=Number(t.alpha);return{r:Number.isFinite(r?.[0])?r[0]:0,g:Number.isFinite(r?.[1])?r[1]:0,b:Number.isFinite(r?.[2])?r[2]:0,a:Number.isFinite(o)?o:1}}catch{return{r:0,g:0,b:0,a:0}}}var ts=e=>TA(e),ho=e=>{let t=.5,s=.5,r=(n,i=!1)=>{if(typeof n=="number")return n;if(typeof n=="object"&&n!==null)return n.value;let d=n.toLowerCase().trim();if(i){if(d==="top")return 0;if(d==="bottom")return 1;if(d==="center")return .5}else{if(d==="left")return 0;if(d==="right")return 1;if(d==="center")return .5}return console.warn(`Invalid position value: ${n}. Defaulting to center.`),.5};if(typeof e=="string"){let n=e.toLowerCase().trim().split(/\s+/);n.includes("left")?t=0:n.includes("right")?t=1:(n.includes("center")||n.length===1&&(n[0]==="top"||n[0]==="bottom"))&&(t=.5),n.includes("top")?s=0:n.includes("bottom")?s=1:(n.includes("center")||n.length===1&&(n[0]==="left"||n[0]==="right"))&&(s=.5),n.length===1&&n[0]==="center"&&(t=.5,s=.5)}else typeof e=="object"&&e!==null?(t=r(e.x,!1),s=r(e.y,!0)):console.warn(`Invalid position value provided: ${e}. Defaulting to center.`);let o=1-s;return{x:t,y:o}};var q0=e=>({outside:0,center:1,inside:2})[e?.toLowerCase()]??1,Ho=[{label:"Linear RGB",value:"linear"},{label:"OKLCh",value:"oklch"},{label:"OKLAB",value:"oklab"},{label:"HSL",value:"hsl"},{label:"HSV",value:"hsv"},{label:"LCH",value:"lch"}],ir=e=>{let t={linear:0,oklch:1,oklab:2,hsl:3,hsv:4,lch:5}[e.toLowerCase()];return t===void 0?(console.warn(`Invalid color space mode: ${e}. Defaulting to 'linear'.`),0):t};var SA=Object.defineProperty,Za=e=>{let t={};for(var s in e)SA(t,s,{get:e[s],enumerable:!0});return t};function so(e){typeof Symbol[e]>"u"&&Object.defineProperty(Symbol,e,{value:Symbol.for(`Symbol.${e}`),writable:!1,enumerable:!1,configurable:!1})}function X0(e,t){return typeof e?.[t]=="function"}function ad(e,t,s,r){let o=dr.deferOperation;return X0(e,s)&&(o=e[s](e,t)),o===dr.deferOperation&&X0(t,s)&&(o=t[s](e,t)),o===dr.deferOperation?r(e,t):o}var AA=(e,t)=>e+t;function MA(e,t){return(typeof e=="number"||typeof e=="string")&&(typeof t=="number"||typeof t=="string")?e+t:ad(e,t,dr.plus,AA)}var PA=(e,t)=>e-t;function EA(e,t){return typeof e=="number"&&typeof t=="number"?e-t:ad(e,t,dr.minus,PA)}var kA=(e,t)=>e*t;function $A(e,t){return typeof e=="number"&&typeof t=="number"?e*t:ad(e,t,dr.star,kA)}var UA=(e,t)=>e/t;function CA(e,t){return typeof e=="number"&&typeof t=="number"?e/t:ad(e,t,dr.slash,UA)}var RA=(e,t)=>e**t;function zA(e,t){return typeof e=="number"&&typeof t=="number"?e**t:ad(e,t,dr.starStar,RA)}var GA=(e,t)=>e%t;function YA(e,t){return typeof e=="number"&&typeof t=="number"?e%t:ad(e,t,dr.percent,GA)}var dr=(so("deferOperation"),so("operatorPlus"),so("operatorMinus"),so("operatorStar"),so("operatorSlash"),so("operatorStarStar"),so("operatorPercent"),so("operatorEqEq"),so("operatorPrePlusPlus"),so("operatorPreMinusMinus"),so("operatorPostPlusPlus"),so("operatorPostMinusMinus"),so("operatorPreMinus"),globalThis.__tsover_add=MA,globalThis.__tsover_sub=EA,globalThis.__tsover_mul=$A,globalThis.__tsover_div=CA,globalThis.__tsover_pow=zA,globalThis.__tsover_mod=YA,{deferOperation:Symbol.deferOperation,plus:Symbol.operatorPlus,minus:Symbol.operatorMinus,star:Symbol.operatorStar,slash:Symbol.operatorSlash,starStar:Symbol.operatorStarStar,percent:Symbol.operatorPercent,eqEq:Symbol.operatorEqEq,prePlusPlus:Symbol.operatorPrePlusPlus,preMinusMinus:Symbol.operatorPreMinusMinus,postPlusPlus:Symbol.operatorPostPlusPlus,postMinusMinus:Symbol.operatorPostMinusMinus,preMinus:Symbol.operatorPreMinus}),$u=!1,zf=!1,js="0.12.3",B=Symbol(`typegpu:${js}:$internal`),me=Symbol(`typegpu:${js}:$soul`),Hr=Symbol(`typegpu:${js}:$gpuValueOf`),Xs=Symbol(`typegpu:${js}:$getNameForward`),Mr=Symbol(`typegpu:${js}:$providing`),oa=Symbol(`typegpu:${js}:$ownSnippet`),kt=Symbol(`typegpu:${js}:$resolve`),Gf=Symbol(`typegpu:${js}:$cast`),zs=Symbol(`typegpu:${js}:$gpuCallable`),id=Symbol(`typegpu:${js}:$repr`);`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;function mt(e){return!!e?.[B]}var _s={[B]:{},type:"void",toString(){return"void"}},LA=["bool","f32","f16","i32","u32","u16","vec2f","vec2h","vec2i","vec2u","vec2","vec3f","vec3h","vec3i","vec3u","vec3","vec4f","vec4h","vec4i","vec4u","vec4","mat2x2f","mat3x3f","mat4x4f","struct","array","ptr","atomic","decorated","abstractInt","abstractFloat","void","texture_1d","texture_storage_1d","texture_2d","texture_storage_2d","texture_multisampled_2d","texture_depth_2d","texture_depth_multisampled_2d","texture_2d_array","texture_storage_2d_array","texture_depth_2d_array","texture_cube","texture_depth_cube","texture_cube_array","texture_depth_cube_array","texture_3d","texture_storage_3d","texture_external","sampler","sampler_comparison"];function lr(e){let t=e;return mt(t)&&typeof t.kind=="string"&&t.kind.startsWith("vec")}function IA(e){return lr(e)&&e.kind.includes("b")}function DA(e){let t=e;return mt(t)&&typeof t.type=="string"&&t.type.startsWith("vec2")}function FA(e){let t=e;return mt(t)&&typeof t.type=="string"&&t.type.startsWith("vec3")}function BA(e){let t=e;return mt(t)&&typeof t.type=="string"&&t.type.startsWith("vec4")}function Rt(e){return DA(e)||FA(e)||BA(e)}function Yf(e){return Rt(e)&&e.type.includes("b")}function Do(e){let t=e;return mt(t)&&typeof t.kind?.startsWith=="function"&&t.kind.startsWith("mat")}function Kb(e){return mt(e)&&e?.type==="mat2x2f"}function Zb(e){return mt(e)&&e?.type==="mat3x3f"}function WA(e){return mt(e)&&e?.type==="mat4x4f"}function rn(e){return Kb(e)||Zb(e)||WA(e)}function Qb(e){return mt(e)&&["abstractInt","i32","u32"].includes(e?.type)}function OA(e){return Rt(e)&&Qb(e.primitive)}function H0(e){return lr(e)&&["vec2f","vec3f","vec4f"].includes(e.kind)}function bl(e){return lr(e)&&/[iu]$/.test(e.kind)}function Jb(e){return lr(e)&&/[u]$/.test(e.kind)}function Qa(e){return mt(e)&&LA.includes(e?.type)}function Us(e){return mt(e)&&e?.type==="array"}function Qt(e){return mt(e)&&e?.type==="struct"}function pr(e){return mt(e)&&e?.type==="ptr"}function Uu(e){return mt(e)&&e?.type==="atomic"}function e2(e){return mt(e)&&e?.type==="@align"}function t2(e){return mt(e)&&e?.type==="@size"}function s2(e){return mt(e)&&e?.type==="@location"}function VA(e){return mt(e)&&e?.type==="@builtin"}function zn(e){return mt(e)&&e?.type==="decorated"}function Cu(e){return mt(e)&&e.type==="void"}function Kn(e){return mt(e)&&e.type==="bool"}function np(e){let t=e?.type;return mt(e)&&(t==="abstractInt"||t==="abstractFloat"||t==="f32"||t==="f16"||t==="i32"||t==="u32")}function Lf(e){let t=e?.type;return mt(e)&&(t==="f16"||t==="vec2h"||t==="vec3h"||t==="vec4h")}var NA=["abstractInt","abstractFloat","f32","f16","i32","u32","bool"];function Io(e){return!mt(e)||NA.includes(e?.type)}function Ru(e){return e.schema}var qA=["deprecated","suspicious","fallback","precision-loss","implicit-conversion","webgpu-feature-missing","webgpu-limits-exceeded","locations-mismatched","log-limit-exceeded","external-omitted","uniform-schema-misaligned"],XA=class{#e;#t;#s=new WeakMap;constructor(e){e?this.#e=["webgpu-feature-missing","webgpu-limits-exceeded","locations-mismatched","log-limit-exceeded","external-omitted"]:this.#e=qA,this.#t=new Set(this.#e)}disable(e){this.#t.delete(e)}reset(){this.#t=new Set(this.#e)}warn(e,...t){this.#t.has(e)&&console.warn(`\u26A0\uFE0F [${e}] `,...t)}warnOnce(e,t,s,...r){if(!this.#t.has(e))return;let o=this.#s.get(t);o||(o=new Set,this.#s.set(t,o));let n=`${e}:${s}`;o.has(n)||(o.add(n),this.warn(e,...r))}},r2=new XA(!($u||zf)),Vt=r2,o2=r2;function io(e){if(Array.isArray(e))return`[${e.map(io).join(", ")}]`;let t=String(e);if(t!=="[object Object]")return t;try{return JSON.stringify(e)}catch(s){return Vt.warn("suspicious","Error parsing JSON:",s),""}}function ap(e){return lr(e)||Do(e)?e.toString():Array.isArray(e)?`[${e.map(ap).join(", ")}]`:e&&typeof e=="object"?`{ ${Object.entries(e).map(([t,s])=>`${t}: ${ap(s)}`).join(", ")} }`:String(e)}function HA(e){let t={};for(let[s,r]of Object.entries(e))Object.defineProperty(t,s,{get:r,enumerable:!0});return t}function jA(e){if(e.v===1){let t=e.externals;return{...e,externals:typeof t=="function"?t:()=>t}}if(e.v===2){let t=HA(e?.externals);return{...e,externals:()=>t}}throw new Error(`Unrecognized TypeGPU metadata format: ${io(e)}`)}var n2="0.12.3",kn=globalThis;kn.__TYPEGPU_VERSION__!==void 0&&console.warn(`Found duplicate TypeGPU version. First was ${kn.__TYPEGPU_VERSION__}, this one is ${n2}. This may cause unexpected behavior.`);kn.__TYPEGPU_VERSION__=n2;kn.__TYPEGPU_AUTONAME__=(e,t)=>Di(e)&&mt(e)&&!xe(e)?e.$name(t):e;var wl=new WeakMap;function Di(e){return!!e?.$name}function a2(e){return!!e?.[Xs]}function i2(e){return e?.[me]}function xe(e){return a2(e)?xe(e[Xs]):wl.get(e)??i2(e)?.label??kn.__TYPEGPU_META__?.get(e)?.name}function ot(e,t){if(a2(e)){ot(e[Xs],t);return}wl.set(e,t);let s=i2(e);s&&(s.label=t)}var j0=new WeakMap;function If(e){let t=kn.__TYPEGPU_META__?.get(e);if(t){kn.__TYPEGPU_META__?.delete(e);let s=jA(t);j0.set(e,s),t.name&&wl.get(e)===void 0&&wl.set(e,t.name)}return j0.get(e)}function Fi(e){return typeof e=="function"&&!!If(e)}var Df=($u||zf)&&{get enabled(){return!!kn.__TYPEGPU_MEASURE_PERF__},record(e,t){let s=kn.__TYPEGPU_PERF_RECORDS__??=new Map,r=s.get(e);r||(r=[],s.set(e,r)),r.push(t)}}||void 0,lm="Invariant failed";function ds(e,t){if(e)return;if(!$u&&!zf)throw new Error(lm);let s=typeof t=="function"?t():t,r=s?`${lm}: ${s}`:lm;throw new Error(r)}var Pi=class ip extends Error{cause;trace;constructor(t,s){let r=s.map(o=>`- ${Fi(o)?`fn*:${xe(o)}`:o}`);r.length>20&&(r=[...r.slice(0,11),"...",...r.slice(-10)]),super(`Resolution of the following tree failed: +${r.join(` +`)}: ${t&&typeof t=="object"&&"message"in t?t.message:t}`),this.cause=t,this.trace=s,Object.setPrototypeOf(this,ip.prototype)}appendToTrace(t){let s=[t,...this.trace];return new ip(this.cause,s)}},K0=class dp extends Error{cause;trace;constructor(t,s){let r=s.map(o=>`- ${o}`);r.length>20&&(r=[...r.slice(0,11),"...",...r.slice(-10)]),super(`Execution of the following tree failed: +${r.join(` +`)}: ${t&&typeof t=="object"&&"message"in t?t.message:t}`),this.cause=t,this.trace=s,Object.setPrototypeOf(this,dp.prototype)}appendToTrace(t){let s=[t,...this.trace];return new dp(this.cause,s)}},KA=class d2 extends Error{slot;constructor(t){super(`Missing value for '${t}'`),this.slot=t,Object.setPrototypeOf(this,d2.prototype)}},ZA=class c2 extends Error{constructor(t){super(`Buffer '${xe(t)??""}' is not bindable as a uniform. Use .$usage('uniform') to allow it.`),Object.setPrototypeOf(this,c2.prototype)}},QA=class _2 extends Error{constructor(t){super(`Missing bind groups for layouts: '${[...t].map(s=>xe(s)??"").join(", ")}'. Please provide it using pipeline.with(bindGroup).(...)`),Object.setPrototypeOf(this,_2.prototype)}},JA=class l2 extends Error{constructor(t){super(`Missing vertex buffers for layouts: '${[...t].map(s=>xe(s)??"").join(", ")}'. Please provide it using pipeline.with(layout, buffer).(...)`),Object.setPrototypeOf(this,l2.prototype)}},Z0=class u2 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,u2.prototype)}},Q0=class m2 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,m2.prototype)}},Qe=class p2 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,p2.prototype)}},Ts=class f2 extends Error{constructor(t,s){super(`Unsupported data types: ${t.map(r=>r.type).join(", ")}. Supported types are: ${s.map(r=>r.type).join(", ")}.`),Object.setPrototypeOf(this,f2.prototype)}},Cc=class v2 extends Error{constructor(t,s){super(`Cannot convert value '${t}' to type ${s.type} because of the Finite Math Assumption (see: https://www.w3.org/TR/WGSL/#finite-math-assumption)`),Object.setPrototypeOf(this,v2.prototype)}},y2=["uint8","uint8x2","uint8x4","sint8","sint8x2","sint8x4","unorm8","unorm8x2","unorm8x4","snorm8","snorm8x2","snorm8x4","uint16","uint16x2","uint16x4","sint16","sint16x2","sint16x4","unorm16","unorm16x2","unorm16x4","snorm16","snorm16x2","snorm16x4","float16","float16x2","float16x4","float32","float32x2","float32x3","float32x4","uint32","uint32x2","uint32x3","uint32x4","sint32","sint32x2","sint32x3","sint32x4","unorm10-10-10-2","unorm8x4-bgra"],eM={f32:"float32",vec2f:"float32x2",vec3f:"float32x3",vec4f:"float32x4",f16:"float16",vec2h:"float16x2",vec4h:"float16x4",u32:"uint32",vec2u:"uint32x2",vec3u:"uint32x3",vec4u:"uint32x4",i32:"sint32",vec2i:"sint32x2",vec3i:"sint32x3",vec4i:"sint32x4"};function lo(e){return zn(e)||ha(e)?e.inner:e}function Ca(e){return pr(e)?e.inner:e}var tM=["unstruct","disarray","loose-decorated",...y2];function zu(e){return mt(e)&&tM.includes(e?.type)}function Ja(e){return mt(e)&&e?.type==="disarray"}function un(e){return mt(e)&&e?.type==="unstruct"}function ha(e){return mt(e)&&e?.type==="loose-decorated"}function ac(e){return e.attribs?.find(e2)?.params[0]}function sM(e){return e.attribs?.find(t2)?.params[0]}function na(e){return e.attribs?.find(s2)?.params[0]}function Rc(e){return Qa(e)||zu(e)}var Ut=Symbol("UNKNOWN"),h2=class{matrix;constructor(e){this.matrix=e}};function rM(e){return e==="runtime"||e==="constant"?e:"runtime"}function en(e){return!(e.origin==="runtime"||e.origin==="constant")}var oM={uniform:{space:"uniform",access:"read"},readonly:{space:"storage",access:"read"},mutable:{space:"storage",access:"read-write"},workgroup:{space:"workgroup",access:"read-write"},private:{space:"private",access:"read-write"},function:{space:"function",access:"read-write"},"local-def":{space:"function",access:"read-write"}},zc=class{value;dataType;origin;possibleSideEffects;constructor(e,t,s,r){this.value=e,this.dataType=t,this.origin=s,this.possibleSideEffects=r}};function Gc(e){return e instanceof zc}function Qd(e){return np(e.dataType)}function ve(e,t,s,r=!0){if($u&&Gc(e))throw new Error("Cannot nest snippets");return new zc(e,lo(t),s,r)}function Ff(e,t){return new zc(t.value,e,t.origin,t.possibleSideEffects)}function x2(e,t){return new zc(e,t.dataType,t.origin,t.possibleSideEffects)}function nM(e,t){return new zc(t.value,t.dataType,t.origin,e)}function aM(e){return nM(!1,e)}function cp(e){return e?.resourceType==="slot"}function _p(e){return e?.resourceType==="lazy"}function al(e){return e?.[Mr]!==void 0}function dd(e){return e?.resourceType==="accessor"}function cd(e){return e?.resourceType==="mutable-accessor"}var _d=class{type="normal"},iM=class{type="codegen"},dM=class{type="simulate";buffers;vars;constructor(e,t){this.buffers=e,this.vars=t}};function g2(e){return!!e?.[kt]}function Gu(e){return e?.[oa]}function Tl(e){return!!e?.[zs]}function cM(e){return!!e?.[Gf]}function hs(e){return(typeof e.value!="string"||e.dataType===Ut)&&Gu(e.value)===void 0}function _M(e){return typeof e=="number"||typeof e=="boolean"||g2(e)||Qa(e)||cp(e)||_p(e)||al(e)}function Mn(e){return!!e&&typeof e=="object"&&"getMappedRange"in e&&"mapAsync"in e}function hc(e){return e.resourceType==="buffer"}function b2(e){return!!e.usableAsUniform}function Sl(e){return!!e?.usableAsStorage}var il=!1;function lM(e){if(il)return e();try{return il=!0,e()}finally{il=!1}}function Al(){return il}var La;function w2(e,t){if(La===e)return t();let s=La;La=e;try{return t()}finally{La=s}}function Na(){return La}var T2=new _d;function J0(){return La?.mode??T2}function Yu(){return La?.mode.type==="codegen"}function ce(e,...t){let s=Na();function r(n){return Gc(n)?s.resolveSnippet(n).value:n}let o="";for(let n=0;nd!==void 0).map(r).join(", "):i&&(o+=r(i))}return o}function S2(e){return Lu("function",e,"read-write")}function Lu(e,t,s,r=!1){return{[B]:{},type:"ptr",addressSpace:e,inner:t,access:s,implicit:r,toString:()=>`ptr<${e}, ${t}, ${s}>`}}function Bf(e,t){let s=oM[e];if(s)return Lu(s.space,t,s.access)}function A2(e){return Lu(e.addressSpace,e.inner,e.access,!0)}function uM(e){return Lu(e.addressSpace,e.inner,e.access,!1)}var mM=(()=>{let e=(t=>pM(t));return ot(e,"ref"),e.toString=()=>"ref",e[B]=!0,e[zs]={call(t,[s]){if(s.origin==="argument")throw new Qe(ce`d.ref(${s}) is illegal, cannot take a reference of an argument. Copy the value first, and take a reference of the copy.`);if(s.origin==="constant-immutable-def"||s.origin==="runtime-immutable-def"){let o=t.resolve(s.dataType).value;throw new Qe(ce`d.ref(${s}) is illegal, cannot take a reference to a constant. +----- +- Try 'd.ref(${o}(${s}));' instead to create a new referencable value. +-----`)}if(en(s)&&Io(s.dataType)){let o=t.resolve(s.dataType).value;throw new Qe(ce`d.ref(${s}) is illegal, cannot take a reference to a scalar value. +----- +- Try 'd.ref(${o}(${s}));' instead to create a new referencable scalar. +-----`)}if(pr(s.dataType))return Ff(uM(s.dataType),s);let r=Bf(s.origin,s.dataType);return ve(new wn(s,r),r??Ut,"runtime",s.possibleSideEffects)}},e})();function M2(e){return e?.[B]?.type==="ref"}function pM(e){let t={[B]:{type:"ref"},get $(){return e},set $(s){if(s&&typeof s=="object")for(let r of Object.keys(s))e[r]=s[r];else e=s}};if(e==null)throw new Error("Cannot create a ref from undefined or null");return typeof e=="object"?new Proxy(t,{get(s,r){return r in s?s[r]:e[r]},set(s,r,o){return r===B?!1:Reflect.set(r==="$"?t:e,r,o)}}):t}var wn=class{[B];snippet;#e;constructor(e,t){this[B]=!0,this.snippet=e,this.#e=t}get[oa](){if(!this.#e)throw new Error(ce`Cannot take a reference of ${this.snippet}`);return ve(this,this.#e,this.snippet.origin,this.snippet.possibleSideEffects)}[kt](){if(!this.#e)throw new Error(ce`Cannot take a reference of ${this.snippet}`);return ve(ce`(&${this.snippet})`,this.#e,this.snippet.origin,this.snippet.possibleSideEffects)}};function Wf(e){if(!pr(e.dataType))return e;let t=e.dataType.inner;return e.value instanceof wn?ve(ce`${e.value.snippet}`,t,e.origin,e.possibleSideEffects):ve(ce`(*${e})`,t,e.origin,e.possibleSideEffects)}function aa(e,t){let s=e;return cM(s)?s[Gf](t):typeof s!="function"?t:t===void 0?s():s(t)}function P2(e,t,s){if(!Tl(t))return s;let r=t;return s===void 0||s.value===void 0?r[zs].call(e,[]):r[zs].call(e,[s])}function xc(e,t){throw new Error(`Failed to handle ${e} at ${t}`)}function E2(e,t){ds(Qt(e.dataType)||un(e.dataType),"Expected snippet type to be struct/unstruct.");let s=e.dataType.propTypes[t];if(s)return s=lo(s),ve(ce`${e}.${t}`,s,e.origin,e.possibleSideEffects)}var Of={rank:Number.POSITIVE_INFINITY,action:"none"};function Ml(e,t){let s=lo(e),r=lo(t);if(s.type===r.type)return s.type==="struct"&&s!==r?{rank:1,action:"cast",targetType:t}:{rank:0,action:"none"};if(s.type==="abstractFloat"){if(r.type==="f32")return{rank:1,action:"none"};if(r.type==="f16")return{rank:2,action:"none"}}if(s.type==="abstractInt"){if(r.type==="i32")return{rank:3,action:"none"};if(r.type==="u32")return{rank:4,action:"none"};if(r.type==="abstractFloat")return{rank:5,action:"none"};if(r.type==="f32")return{rank:6,action:"none"};if(r.type==="f16")return{rank:7,action:"none"}}return Rt(s)&&Rt(r)&&s.type[3]===r.type[3]?Ml(s.primitive,r.primitive):rn(s)&&rn(r)&&s.type[3]===r.type[3]?{rank:0,action:"none"}:Of}function fM(e,t){let s=lo(e),r=lo(t);if(pr(s)&&s.implicit&&Ml(s.inner,r).rank({sourceIndex:i,action:n.action,...n.action==="cast"&&{targetType:n.targetType}}));return{targetType:r.type,actions:o,hasImplicitConversions:o.some(n=>n.action==="cast")}}function Vf(e,t){if(e.length===0)return;let s=[...new Set((t||e).map(lo))],r=lp(e,s,!1);if(r)return r;let o=lp(e,s,!0);if(o)return o}function yM(e,t,s,r){if(s.action==="none")return r===t.dataType?t:Ff(r,t);switch(s.action){case"ref":return ve(new wn(t,r),r,t.origin,t.possibleSideEffects);case"deref":return Wf(t);case"cast":if(Qt(t.dataType)&&Qt(r)){let o=xe(t.dataType)??"",n=xe(r)??"";if(t.possibleSideEffects)throw new Error(`Cannot resolve struct cast from '${o}' to '${n}'. Store the value to a variable first, then cast it.`);let i=Object.entries(r.propTypes).map(([c,_])=>{let u=E2(t,c);if(!u)throw new Error(`Cannot auto-convert struct '${o}' to '${n}' because the property '${c}' is missing.`);let m=Qn(e,[u],[_]);if(!m||!m[0])throw new Error(`Cannot auto-convert struct '${o}' to '${n}' because type '${xe(u.dataType)??""}' is not convertible to '${xe(lo(_))??""}'.`);return m[0]}),d=e.resolve(r).value;return ve(`${d}(${i.map(c=>c.value).join(", ")})`,r,"runtime",!1)}return P2(e,r,t);default:xc(s.action,"applyActionToSnippet")}}function fr(e,t){if(e.some(r=>r===Ut))return;let s=Vf(e,t);if(s)return e.map(r=>Rt(r)||rn(r)?r:s.targetType)}function Iu(e,t){if(e.some(r=>r===Ut))return;let s=lp(e,[...new Set((t||e).map(lo))],!1);if(s)return e.map(r=>Rt(r)||rn(r)?r:s.targetType)}function Qn(e,t,s,r=!0){let o=t.map(i=>i.dataType);if(o.some(i=>i===Ut))return;ds(!(Array.isArray(s)&&s.length===0),"Internal error, expected 'restrictTo' to not be an empty array.");let n=Vf(o,s);if(n)return r&&n.hasImplicitConversions&&Vt.warn("implicit-conversion",`Implicit conversions from [ +${t.map(i=>` ${e.resolveSnippet(i).value}: ${io(i.dataType)}`).join(`, +`)} +] to ${n.targetType.type} are supported, but not recommended. +Consider using explicit conversions instead.`),t.map((i,d)=>{let c=n.actions[d];return ds(c,"Action should not be undefined"),yM(e,i,c,n.targetType)})}function Fr(e,t,s,r=!0){let o=Array.isArray(s)?s:[s],{value:n,dataType:i,origin:d,possibleSideEffects:c}=t;if(o.length===1){let u=o[0];if(u===i)return ve(n,u,d,c);if(i===Ut)return e.resolveSnippet(ve(n,u,d,c))}let _=Qn(e,[t],o,r);if(_)return _[0];throw new Qe(`Cannot convert value of type '${String(i)}' to any of the target types: [${o.map(u=>u.type).join(", ")}]`)}function ex(e,t,s){return Object.entries(t.propTypes).map(([r,o])=>{let n=s[r];if(!n)throw new Error(`Missing property ${r}`);return Qn(e,[n],[o])?.[0]??n})}function ei(e){let t=((...s)=>e.normalImpl(...s));return ot(t,e.name),t.toString=()=>e.name,t[zs]={get strictSignature(){},call(s,r){let o=e.argTypes(...r.map(d=>pr(d.dataType)&&d.dataType.implicit?d.dataType.inner:d.dataType)),n=r.map((d,c)=>{let _=o[c];if(!_)throw new Error("Function called with invalid arguments");return Fr(s,d,_,!1)}),i;if(n.every(d=>hs(d))){s.pushMode(new _d);try{i=ve(e.normalImpl(...n.map(d=>d.value)),e.schema(),"constant")}finally{s.popMode("normal")}}else i=e.codegenImpl(s,n);return r.some(d=>d.possibleSideEffects)?i:aM(i)}},t}var hM=ei({name:"bool",schema:()=>ft,argTypes:e=>e?[e]:[],normalImpl(e=!1){if(typeof e=="boolean")return e;if(typeof e=="number"){if(!Number.isFinite(e))throw new Cc(e,ft);return!!e}throw new Error(`Invalid argument type for 'd.bool'. Got '${typeof e}', expected number or boolean`)},codegenImpl:(e,[t])=>{if(t===void 0)return e.gen.typeInstantiation(ft,[]);if(Kn(t.dataType)||Qd(t))return e.gen.typeInstantiation(ft,[t]);throw t.dataType===Ut?new Qe("Unknown argument type for 'd.bool'."):new Ts([t.dataType],[ft,R,Z,a,xs])}}),ft=Object.assign(hM,{[B]:{},type:"bool"}),xM=ei({name:"u32",schema:()=>R,argTypes:e=>e?[e]:[],normalImpl(e){if(e===void 0)return 0;if(typeof e=="boolean")return e?1:0;if(!Number.isFinite(e))throw new Cc(e,R);if(!Number.isInteger(e)){let t=Math.trunc(e);return t<0?0:t>4294967295?4294967295:t}return(e&4294967295)>>>0},codegenImpl:(e,[t])=>e.gen.typeInstantiation(R,t?[t]:[])}),R=Object.assign(xM,{[B]:{},type:"u32"}),gM=ei({name:"i32",schema:()=>Z,argTypes:e=>e?[e]:[],normalImpl(e){if(e===void 0)return 0;if(typeof e=="boolean")return e?1:0;if(!Number.isFinite(e))throw new Cc(e,Z);return e|0},codegenImpl:(e,[t])=>e.gen.typeInstantiation(Z,t?[t]:[])}),nI={[B]:{},type:"u16"},Z=Object.assign(gM,{[B]:{},type:"i32"}),bM=ei({name:"f32",schema:()=>a,argTypes:e=>e?[e]:[],normalImpl(e){if(e===void 0)return 0;if(typeof e=="boolean")return e?1:0;if(!Number.isFinite(e))throw new Cc(e,a);return Math.fround(e)},codegenImpl:(e,[t])=>e.gen.typeInstantiation(a,t?[t]:[])}),a=Object.assign(bM,{[B]:{},type:"f32"}),k2=new ArrayBuffer(4),wM=new Float32Array(k2),TM=new Uint32Array(k2);function Pl(e){wM[0]=e;let t=TM[0],s=t>>>31&1,r=t>>>23&255,o=t&8388607;if(r===255)return s<<15|31744|(o?512:0);if(r=r-127+15,r<=0){if(r<-10)return s<<15;let c=o|8388608,_=14-r,u=c>>>_-1&1,m=c&(1<<_-1)-1?1:0,p=c>>>_;return u&(m|p&1)&&(p+=1),s<<15|p}if(r>=31)return s<<15|31744;let n=o>>>12&1,i=o&4095?1:0,d=o>>>13;return n&(i|d&1)&&(d+=1),d===1024&&(d=0,++r,r>=31)?s<<15|31744:s<<15|r<<10|d}function Nf(e){let t=e&32768?-1:1,s=e>>10&31,r=e&1023;return s===0?r?t*r*2**-24:t*0:s===31?r?NaN:t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t*(1+r/1024)*2**(s-15)}function SM(e){return Nf(Pl(e))}var AM=ei({name:"f16",schema:()=>xs,argTypes:e=>e?[e]:[],normalImpl(e){if(e===void 0)return 0;if(typeof e=="boolean")return e?1:0;if(!Number.isFinite(e))throw new Cc(e,xs);return SM(e)},codegenImpl:(e,[t])=>e.gen.typeInstantiation(xs,t?[t]:[])}),xs=Object.assign(AM,{[B]:{},type:"f16"}),Yc={[B]:{},type:"abstractInt",toString(){return"abstractInt"},concretized:Z},qa={[B]:{},type:"abstractFloat",toString(){return"abstractFloat"},concretized:a};function on(e){return e>=2**63||e<-(2**63)?ve(e,qa,"constant",!1):Number.isInteger(e)?(Number.isSafeInteger(e)||Vt.warn("precision-loss",`The integer ${e} exceeds the safe integer range and may have lost precision.`),ve(e,Yc,"constant",!1)):ve(e,qa,"constant",!1)}function no(e){return e.type==="abstractFloat"?a:e.type==="abstractInt"?Z:e}function MM(e){return Ff(no(e.dataType),e)}function Wr(e){if(Gc(e))return e;if(M2(e))throw new Error("Cannot use refs (d.ref(...)) from the outer scope.");let t=Gu(e);return t||(lr(e)||Do(e)?ve(e,Ru(e),"constant",!1):typeof e=="number"?on(e):typeof e=="boolean"?ve(e,ft,"constant",!1):ve(e,Ut,"constant",!1))}var ic=class{[B]=!0;type;elements;constructor(e,t){this.type=e,this.elements=t}toString(){return"ArrayExpression"}[kt](e){for(let t of this.elements)if(en(t)&&!Io(t.dataType)){let s=e.resolveSnippet(t).value,r=e.resolve(no(t.dataType)).value;throw new Qe(`'${s}' reference cannot be used in an array constructor. +----- +Try '${r}(${s})' or 'arrayOf(${r}, count)([...])' to copy the value instead. +-----`)}return e.gen.typeInstantiation(this.type,this.elements)}};function Ao(e){let t=((...s)=>e(...s));return t.toString=()=>"comptime",t[Xs]=e,t[zs]={call(s,r){if(!r.every(o=>hs(o)))throw new Qe(`Called comptime function with runtime-known values: ${r.filter(o=>!hs(o)).map(o=>`'${o.value}'`).join(", ")}`);s.pushMode(new _d);try{return Wr(e(...r.map(o=>o.value)))}finally{s.popMode()}}},t.$name=s=>(ot(e,s),t),Object.defineProperty(t,B,{value:{isComptime:!0}}),t}var Ys=class extends Error{constructor(e){super(e),this.name=this.constructor.name}};function pe(e){let t=((...s)=>{if(typeof e.normalImpl=="string")throw new Ys(e.normalImpl);return e.normalImpl(...s)});return e.name&&ot(t,e.name),t.toString=()=>e.name??"",t[zs]={get strictSignature(){return typeof e.signature!="function"?e.signature:void 0},call(s,r){let{argTypes:o,returnType:n}=typeof e.signature=="function"?e.signature(...r.map(_=>pr(_.dataType)&&_.dataType.implicit?_.dataType.inner:_.dataType)):e.signature,i=r.map((_,u)=>{let m=o[u];if(!m)throw new Error("Function called with invalid arguments");return Fr(s,_,m,!e.ignoreImplicitCastWarning)});if(!e.noComptime&&i.every(_=>hs(_))&&typeof e.normalImpl=="function"){s.pushMode(new _d);try{return ve(e.normalImpl(...i.map(_=>_.value)),n,"constant",e.sideEffects)}catch(_){if(!(_ instanceof Ys))throw _}finally{s.popMode("normal")}}let d=e.sideEffects||r.some(_=>_.possibleSideEffects),c=no(n);return ve(e.codegenImpl(s,i,c),c,"runtime",d)}},t}var fn=["x","y","z","w"],vn=["r","g","b","a"],tn=class Ua extends Array{static#e=(()=>{for(let t=0;t<4;t++)for(let s=0;s<4;s++)for(let r=0;r<4;r++)for(let o=0;o<4;o++){let n=`${fn[t]}${fn[s]}${fn[r]}${fn[o]}`,i=`${vn[t]}${vn[s]}${vn[r]}${vn[o]}`;Object.defineProperty(Ua.prototype,n,{get(){return new this._Vec4(this[t],this[s],this[r],this[o])}}),Object.defineProperty(Ua.prototype,i,{get(){return new this._Vec4(this[t],this[s],this[r],this[o])}})}for(let t=0;t<4;t++)for(let s=0;s<4;s++)for(let r=0;r<4;r++){let o=`${fn[t]}${fn[s]}${fn[r]}`,n=`${vn[t]}${vn[s]}${vn[r]}`;Object.defineProperty(Ua.prototype,o,{get(){return new this._Vec3(this[t],this[s],this[r])}}),Object.defineProperty(Ua.prototype,n,{get(){return new this._Vec3(this[t],this[s],this[r])}})}for(let t=0;t<4;t++)for(let s=0;s<4;s++){let r=`${fn[t]}${fn[s]}`,o=`${vn[t]}${vn[s]}`;Object.defineProperty(Ua.prototype,r,{get(){return new this._Vec2(this[t],this[s])}}),Object.defineProperty(Ua.prototype,o,{get(){return new this._Vec2(this[t],this[s])}})}})();castElement(){return this[B].elementSchema}[kt](t){let s=Ru(this);return this.every(r=>!r)?t.gen.typeInstantiation(s,[]):this.every(r=>this[0]===r)?t.gen.typeInstantiation(s,[on(this[0])]):t.gen.typeInstantiation(s,this.map(r=>on(r)))}toString(){return`${this.kind}(${this.join(", ")})`}},Lc=class extends tn{e0;e1;constructor(e,t){super(2),this.e0=this.castElement()(e),this.e1=this.castElement()(t??e)}get 0(){return this.e0}get 1(){return this.e1}set 0(e){this.e0=this.castElement()(e)}set 1(e){this.e1=this.castElement()(e)}get x(){return this[0]}get y(){return this[1]}set x(e){this[0]=this.castElement()(e)}set y(e){this[1]=this.castElement()(e)}get r(){return this[0]}get g(){return this[1]}set r(e){this[0]=this.castElement()(e)}set g(e){this[1]=this.castElement()(e)}},Ic=class extends tn{e0;e1;e2;constructor(e,t,s){super(3),this.e0=this.castElement()(e),this.e1=this.castElement()(t??e),this.e2=this.castElement()(s??e)}get 0(){return this.e0}get 1(){return this.e1}get 2(){return this.e2}set 0(e){this.e0=this.castElement()(e)}set 1(e){this.e1=this.castElement()(e)}set 2(e){this.e2=this.castElement()(e)}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}set x(e){this[0]=this.castElement()(e)}set y(e){this[1]=this.castElement()(e)}set z(e){this[2]=this.castElement()(e)}get r(){return this[0]}get g(){return this[1]}get b(){return this[2]}set r(e){this[0]=this.castElement()(e)}set g(e){this[1]=this.castElement()(e)}set b(e){this[2]=this.castElement()(e)}},Dc=class extends tn{e0;e1;e2;e3;constructor(e,t,s,r){super(4),this.e0=this.castElement()(e),this.e1=this.castElement()(t??e),this.e2=this.castElement()(s??e),this.e3=this.castElement()(r??e)}get 0(){return this.e0}get 1(){return this.e1}get 2(){return this.e2}get 3(){return this.e3}set 0(e){this.e0=this.castElement()(e)}set 1(e){this.e1=this.castElement()(e)}set 2(e){this.e2=this.castElement()(e)}set 3(e){this.e3=this.castElement()(e)}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}get w(){return this[3]}set x(e){this[0]=e}set y(e){this[1]=e}set z(e){this[2]=e}set w(e){this[3]=e}get r(){return this[0]}get g(){return this[1]}get b(){return this[2]}get a(){return this[3]}set r(e){this[0]=e}set g(e){this[1]=e}set b(e){this[2]=e}set a(e){this[3]=e}},qf=class $2 extends Lc{get[B](){return{elementSchema:a}}get kind(){return"vec2f"}get _Vec2(){return $2}get _Vec3(){return Zf}get _Vec4(){return sv}},Xf=class U2 extends Lc{get[B](){return{elementSchema:xs}}get kind(){return"vec2h"}get _Vec2(){return U2}get _Vec3(){return Qf}get _Vec4(){return rv}},Hf=class C2 extends Lc{get[B](){return{elementSchema:Z}}get kind(){return"vec2i"}get _Vec2(){return C2}get _Vec3(){return Jf}get _Vec4(){return ov}},jf=class R2 extends Lc{get[B](){return{elementSchema:R}}get kind(){return"vec2u"}get _Vec2(){return R2}get _Vec3(){return ev}get _Vec4(){return nv}},Kf=class z2 extends Lc{get[B](){return{elementSchema:ft}}get kind(){return"vec2"}get _Vec2(){return z2}get _Vec3(){return tv}get _Vec4(){return av}},Zf=class G2 extends Ic{get[B](){return{elementSchema:a}}get kind(){return"vec3f"}get _Vec2(){return qf}get _Vec3(){return G2}get _Vec4(){return sv}},Qf=class Y2 extends Ic{get[B](){return{elementSchema:xs}}get kind(){return"vec3h"}get _Vec2(){return Xf}get _Vec3(){return Y2}get _Vec4(){return rv}},Jf=class L2 extends Ic{get[B](){return{elementSchema:Z}}get kind(){return"vec3i"}get _Vec2(){return Hf}get _Vec3(){return L2}get _Vec4(){return ov}},ev=class I2 extends Ic{get[B](){return{elementSchema:R}}get kind(){return"vec3u"}get _Vec2(){return jf}get _Vec3(){return I2}get _Vec4(){return nv}},tv=class D2 extends Ic{get[B](){return{elementSchema:ft}}get kind(){return"vec3"}get _Vec2(){return Kf}get _Vec3(){return D2}get _Vec4(){return av}},sv=class F2 extends Dc{get[B](){return{elementSchema:a}}get kind(){return"vec4f"}get _Vec2(){return qf}get _Vec3(){return Zf}get _Vec4(){return F2}},rv=class B2 extends Dc{get[B](){return{elementSchema:xs}}get kind(){return"vec4h"}get _Vec2(){return Xf}get _Vec3(){return Qf}get _Vec4(){return B2}},ov=class W2 extends Dc{get[B](){return{elementSchema:Z}}get kind(){return"vec4i"}get _Vec2(){return Hf}get _Vec3(){return Jf}get _Vec4(){return W2}},nv=class O2 extends Dc{get[B](){return{elementSchema:R}}get kind(){return"vec4u"}get _Vec2(){return jf}get _Vec3(){return ev}get _Vec4(){return O2}},av=class V2 extends Dc{get[B](){return{elementSchema:ft}}get kind(){return"vec4"}get _Vec2(){return Kf}get _Vec3(){return tv}get _Vec4(){return V2}},lt=Er(qf,a),Vs=Er(Xf,xs),Xt=Er(Hf,Z),Ct=Er(jf,R),Or=Er(Kf,ft),It=Er(Zf,a),Pr=Er(Qf,xs),cs=Er(Jf,Z),gt=Er(ev,R),Vr=Er(tv,ft),Oe=Er(sv,a),Ns=Er(rv,xs),Wt=Er(ov,Z),Et=Er(nv,R),Nr=Er(av,ft),PM={vec2f:lt,vec2h:Vs,vec2i:Xt,vec2u:Ct,"vec2":Or,vec3f:It,vec3h:Pr,vec3i:cs,vec3u:gt,"vec3":Vr,vec4f:Oe,vec4h:Ns,vec4i:Wt,vec4u:Et,"vec4":Nr};function Er(e,t){let{kind:s,length:r}=new e,o=r,i=ei({name:s,schema:()=>d,argTypes:(...c)=>c.map(_=>Rt(_)?_:t),normalImpl:(...c)=>{let _=Array.from({length:c.length}),u=0;for(let m of c)if(typeof m=="number"||typeof m=="boolean")_[u++]=m;else for(let p=0;pc.gen.typeInstantiation(d,_)}),d=Object.assign(i,{[B]:{},type:s,primitive:t,componentCount:o,[id]:void 0});return e.prototype.schema=d,d}var Ci=class{};function iv(e){let t=ei({name:e.type,schema:()=>s,normalImpl:(...r)=>{let o=[];for(let n of r)if(typeof n=="number")o.push(n);else for(let i=0;ir.map(o=>Rt(o)?o:a),codegenImpl:(r,o)=>r.gen.typeInstantiation(s,o)}),s=Object.assign(t,{[B]:{},type:e.type,primitive:a,identity:LM[e.columns],translation:e.columns===4?IM:void 0,scaling:e.columns===4?DM:void 0,rotationX:e.columns===4?FM:void 0,rotationY:e.columns===4?BM:void 0,rotationZ:e.columns===4?WM:void 0});return e.MatImpl.prototype.schema=s,s}var tx=[0,1,2,3],EM=class extends Ci{[B]=!0;columns;length=4;constructor(...e){super(),this.columns=[this.makeColumn(e[0],e[1]),this.makeColumn(e[2],e[3])]}get 0(){return this.columns[0].x}get 1(){return this.columns[0].y}get 2(){return this.columns[1].x}get 3(){return this.columns[1].y}set 0(e){this.columns[0].x=e}set 1(e){this.columns[0].y=e}set 2(e){this.columns[1].x=e}set 3(e){this.columns[1].y=e}*[Symbol.iterator](){yield this[0],yield this[1],yield this[2],yield this[3]}[kt](e){return e.gen.typeInstantiation(Gn,tx.map(t=>on(this[t])))}toString(){return`${this.kind}(${tx.map(e=>this[e]).join(", ")})`}},kM=class extends EM{kind="mat2x2f";makeColumn(e,t){return lt(e,t)}},sx=[0,1,2,4,5,6,8,9,10],$M=class extends Ci{[B]=!0;columns;length=12;constructor(...e){super(),this.columns=[this.makeColumn(e[0],e[1],e[2]),this.makeColumn(e[3],e[4],e[5]),this.makeColumn(e[6],e[7],e[8])]}get 0(){return this.columns[0].x}get 1(){return this.columns[0].y}get 2(){return this.columns[0].z}get 3(){return 0}get 4(){return this.columns[1].x}get 5(){return this.columns[1].y}get 6(){return this.columns[1].z}get 7(){return 0}get 8(){return this.columns[2].x}get 9(){return this.columns[2].y}get 10(){return this.columns[2].z}get 11(){return 0}set 0(e){this.columns[0].x=e}set 1(e){this.columns[0].y=e}set 2(e){this.columns[0].z=e}set 3(e){}set 4(e){this.columns[1].x=e}set 5(e){this.columns[1].y=e}set 6(e){this.columns[1].z=e}set 7(e){}set 8(e){this.columns[2].x=e}set 9(e){this.columns[2].y=e}set 10(e){this.columns[2].z=e}set 11(e){}*[Symbol.iterator](){for(let e=0;e<12;e++)yield this[e]}[kt](e){return e.gen.typeInstantiation(Yn,sx.map(t=>on(this[t])))}toString(){return`${this.kind}(${sx.map(e=>this[e]).join(", ")})`}},UM=class extends $M{kind="mat3x3f";makeColumn(e,t,s){return It(e,t,s)}},rx=Array.from({length:16},(e,t)=>t),CM=class extends Ci{[B]=!0;columns;constructor(...e){super(),this.columns=[this.makeColumn(e[0],e[1],e[2],e[3]),this.makeColumn(e[4],e[5],e[6],e[7]),this.makeColumn(e[8],e[9],e[10],e[11]),this.makeColumn(e[12],e[13],e[14],e[15])]}length=16;get 0(){return this.columns[0].x}get 1(){return this.columns[0].y}get 2(){return this.columns[0].z}get 3(){return this.columns[0].w}get 4(){return this.columns[1].x}get 5(){return this.columns[1].y}get 6(){return this.columns[1].z}get 7(){return this.columns[1].w}get 8(){return this.columns[2].x}get 9(){return this.columns[2].y}get 10(){return this.columns[2].z}get 11(){return this.columns[2].w}get 12(){return this.columns[3].x}get 13(){return this.columns[3].y}get 14(){return this.columns[3].z}get 15(){return this.columns[3].w}set 0(e){this.columns[0].x=e}set 1(e){this.columns[0].y=e}set 2(e){this.columns[0].z=e}set 3(e){this.columns[0].w=e}set 4(e){this.columns[1].x=e}set 5(e){this.columns[1].y=e}set 6(e){this.columns[1].z=e}set 7(e){this.columns[1].w=e}set 8(e){this.columns[2].x=e}set 9(e){this.columns[2].y=e}set 10(e){this.columns[2].z=e}set 11(e){this.columns[2].w=e}set 12(e){this.columns[3].x=e}set 13(e){this.columns[3].y=e}set 14(e){this.columns[3].z=e}set 15(e){this.columns[3].w=e}*[Symbol.iterator](){for(let e=0;e<16;e++)yield this[e]}[kt](e){return e.gen.typeInstantiation(Hs,rx.map(t=>on(this[t])))}toString(){return`${this.kind}(${rx.map(e=>this[e]).join(", ")})`}},RM=class extends CM{kind="mat4x4f";makeColumn(e,t,s,r){return Oe(e,t,s,r)}},zM=Ao(()=>Gn(1,0,0,1)).$name("identity2"),GM=Ao(()=>Yn(1,0,0,0,1,0,0,0,1)).$name("identity3"),YM=Ao(()=>Hs(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)).$name("identity4"),LM={2:zM,3:GM,4:YM},IM=pe({name:"translation4",normalImpl:e=>Hs(1,0,0,0,0,1,0,0,0,0,1,0,e.x,e.y,e.z,1),get signature(){return{argTypes:[It],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, ${t}.x, ${t}.y, ${t}.z, 1)`,sideEffects:!1}),DM=pe({name:"scaling4",normalImpl:e=>Hs(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1),get signature(){return{argTypes:[It],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(${t}.x, 0, 0, 0, 0, ${t}.y, 0, 0, 0, 0, ${t}.z, 0, 0, 0, 0, 1)`,sideEffects:!1}),FM=pe({name:"rotationX4",normalImpl:e=>Hs(1,0,0,0,0,Math.cos(e),Math.sin(e),0,0,-Math.sin(e),Math.cos(e),0,0,0,0,1),get signature(){return{argTypes:[a],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(1, 0, 0, 0, 0, cos(${t}), sin(${t}), 0, 0, -sin(${t}), cos(${t}), 0, 0, 0, 0, 1)`,sideEffects:!1}),BM=pe({name:"rotationY4",normalImpl:e=>Hs(Math.cos(e),0,-Math.sin(e),0,0,1,0,0,Math.sin(e),0,Math.cos(e),0,0,0,0,1),get signature(){return{argTypes:[a],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(cos(${t}), 0, -sin(${t}), 0, 0, 1, 0, 0, sin(${t}), 0, cos(${t}), 0, 0, 0, 0, 1)`,sideEffects:!1}),WM=pe({name:"rotationZ4",normalImpl:e=>Hs(Math.cos(e),Math.sin(e),0,0,-Math.sin(e),Math.cos(e),0,0,0,0,1,0,0,0,0,1),get signature(){return{argTypes:[a],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(cos(${t}), sin(${t}), 0, 0, -sin(${t}), cos(${t}), 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)`,sideEffects:!1}),Gn=iv({type:"mat2x2f",rows:2,columns:2,MatImpl:kM}),Yn=iv({type:"mat3x3f",rows:3,columns:3,MatImpl:UM}),Hs=iv({type:"mat4x4f",rows:4,columns:4,MatImpl:RM});var OM=(e,t,s)=>{if(e===t)return 0;let r=N2((s-e)/(t-e),0,1);return r*r*(3-2*r)},N2=(e,t,s)=>Math.min(Math.max(t,e),s),dv=new ArrayBuffer(4),q2=new Float32Array(dv),cv=new Uint32Array(dv),VM=new Int32Array(dv);function Zo(e){return cv[0]=e,q2[0]}function Qo(e){return cv[0]=e,VM[0]}function Jo(e){return q2[0]=e,cv[0]}var ox=e=>Math.sqrt(e.x**2+e.y**2),nx=e=>Math.sqrt(e.x**2+e.y**2+e.z**2),ax=e=>Math.sqrt(e.x**2+e.y**2+e.z**2+e.w**2),G_=(e,t)=>e.x*t.x+e.y*t.y,Y_=(e,t)=>e.x*t.x+e.y*t.y+e.z*t.z,L_=(e,t)=>e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w,ix=e=>(t,s)=>Ct(e(t.x,s.x),e(t.y,s.y)),dx=e=>(t,s)=>gt(e(t.x,s.x),e(t.y,s.y),e(t.z,s.z)),cx=e=>(t,s)=>Et(e(t.x,s.x),e(t.y,s.y),e(t.z,s.z),e(t.w,s.w)),_x=e=>(t,s)=>Xt(e(t.x,s.x),e(t.y,s.y)),lx=e=>(t,s)=>cs(e(t.x,s.x),e(t.y,s.y),e(t.z,s.z)),ux=e=>(t,s)=>Wt(e(t.x,s.x),e(t.y,s.y),e(t.z,s.z),e(t.w,s.w)),qr={all:{"vec2":e=>e.x&&e.y,"vec3":e=>e.x&&e.y&&e.z,"vec4":e=>e.x&&e.y&&e.z&&e.w},length:{vec2f:ox,vec2h:ox,vec3f:nx,vec3h:nx,vec4f:ax,vec4h:ax},mulMxM:{mat2x2f:(e,t)=>{let s=e.columns,r=t.columns;return Gn(s[0].x*r[0].x+s[1].x*r[0].y,s[0].y*r[0].x+s[1].y*r[0].y,s[0].x*r[1].x+s[1].x*r[1].y,s[0].y*r[1].x+s[1].y*r[1].y)},mat3x3f:(e,t)=>{let s=e.columns,r=t.columns;return Yn(s[0].x*r[0].x+s[1].x*r[0].y+s[2].x*r[0].z,s[0].y*r[0].x+s[1].y*r[0].y+s[2].y*r[0].z,s[0].z*r[0].x+s[1].z*r[0].y+s[2].z*r[0].z,s[0].x*r[1].x+s[1].x*r[1].y+s[2].x*r[1].z,s[0].y*r[1].x+s[1].y*r[1].y+s[2].y*r[1].z,s[0].z*r[1].x+s[1].z*r[1].y+s[2].z*r[1].z,s[0].x*r[2].x+s[1].x*r[2].y+s[2].x*r[2].z,s[0].y*r[2].x+s[1].y*r[2].y+s[2].y*r[2].z,s[0].z*r[2].x+s[1].z*r[2].y+s[2].z*r[2].z)},mat4x4f:(e,t)=>{let s=e.columns,r=t.columns;return Hs(s[0].x*r[0].x+s[1].x*r[0].y+s[2].x*r[0].z+s[3].x*r[0].w,s[0].y*r[0].x+s[1].y*r[0].y+s[2].y*r[0].z+s[3].y*r[0].w,s[0].z*r[0].x+s[1].z*r[0].y+s[2].z*r[0].z+s[3].z*r[0].w,s[0].w*r[0].x+s[1].w*r[0].y+s[2].w*r[0].z+s[3].w*r[0].w,s[0].x*r[1].x+s[1].x*r[1].y+s[2].x*r[1].z+s[3].x*r[1].w,s[0].y*r[1].x+s[1].y*r[1].y+s[2].y*r[1].z+s[3].y*r[1].w,s[0].z*r[1].x+s[1].z*r[1].y+s[2].z*r[1].z+s[3].z*r[1].w,s[0].w*r[1].x+s[1].w*r[1].y+s[2].w*r[1].z+s[3].w*r[1].w,s[0].x*r[2].x+s[1].x*r[2].y+s[2].x*r[2].z+s[3].x*r[2].w,s[0].y*r[2].x+s[1].y*r[2].y+s[2].y*r[2].z+s[3].y*r[2].w,s[0].z*r[2].x+s[1].z*r[2].y+s[2].z*r[2].z+s[3].z*r[2].w,s[0].w*r[2].x+s[1].w*r[2].y+s[2].w*r[2].z+s[3].w*r[2].w,s[0].x*r[3].x+s[1].x*r[3].y+s[2].x*r[3].z+s[3].x*r[3].w,s[0].y*r[3].x+s[1].y*r[3].y+s[2].y*r[3].z+s[3].y*r[3].w,s[0].z*r[3].x+s[1].z*r[3].y+s[2].z*r[3].z+s[3].z*r[3].w,s[0].w*r[3].x+s[1].w*r[3].y+s[2].w*r[3].z+s[3].w*r[3].w)}},mulMxV:{mat2x2f:(e,t)=>{let s=e.columns;return lt(s[0].x*t.x+s[1].x*t.y,s[0].y*t.x+s[1].y*t.y)},mat3x3f:(e,t)=>{let s=e.columns;return It(s[0].x*t.x+s[1].x*t.y+s[2].x*t.z,s[0].y*t.x+s[1].y*t.y+s[2].y*t.z,s[0].z*t.x+s[1].z*t.y+s[2].z*t.z)},mat4x4f:(e,t)=>{let s=e.columns;return Oe(s[0].x*t.x+s[1].x*t.y+s[2].x*t.z+s[3].x*t.w,s[0].y*t.x+s[1].y*t.y+s[2].y*t.z+s[3].y*t.w,s[0].z*t.x+s[1].z*t.y+s[2].z*t.z+s[3].z*t.w,s[0].w*t.x+s[1].w*t.y+s[2].w*t.z+s[3].w*t.w)}},mulVxM:{mat2x2f:(e,t)=>{let s=t.columns;return lt(e.x*s[0].x+e.y*s[0].y,e.x*s[1].x+e.y*s[1].y)},mat3x3f:(e,t)=>{let s=t.columns;return It(e.x*s[0].x+e.y*s[0].y+e.z*s[0].z,e.x*s[1].x+e.y*s[1].y+e.z*s[1].z,e.x*s[2].x+e.y*s[2].y+e.z*s[2].z)},mat4x4f:(e,t)=>{let s=t.columns;return Oe(e.x*s[0].x+e.y*s[0].y+e.z*s[0].z+e.w*s[0].w,e.x*s[1].x+e.y*s[1].y+e.z*s[1].z+e.w*s[1].w,e.x*s[2].x+e.y*s[2].y+e.z*s[2].z+e.w*s[2].w,e.x*s[3].x+e.y*s[3].y+e.z*s[3].z+e.w*s[3].w)}},dot:{vec2f:G_,vec2h:G_,vec2i:G_,vec2u:G_,vec3f:Y_,vec3h:Y_,vec3i:Y_,vec3u:Y_,vec4f:L_,vec4h:L_,vec4i:L_,vec4u:L_},cross:{vec3f:(e,t)=>It(e.y*t.z-e.z*t.y,e.z*t.x-e.x*t.z,e.x*t.y-e.y*t.x),vec3h:(e,t)=>Pr(e.y*t.z-e.z*t.y,e.z*t.x-e.x*t.z,e.x*t.y-e.y*t.x)},bitShiftLeft:{vec2i:_x((e,t)=>e<e<e<e<e<e<e>>t),vec2u:ix((e,t)=>e>>>t),vec3i:lx((e,t)=>e>>t),vec3u:dx((e,t)=>e>>>t),vec4i:ux((e,t)=>e>>t),vec4u:cx((e,t)=>e>>>t)},bitcastU32toF32:{vec2u:e=>lt(Zo(e.x),Zo(e.y)),vec3u:e=>It(Zo(e.x),Zo(e.y),Zo(e.z)),vec4u:e=>Oe(Zo(e.x),Zo(e.y),Zo(e.z),Zo(e.w))},bitcastU32toI32:{vec2u:e=>Xt(Qo(e.x),Qo(e.y)),vec3u:e=>cs(Qo(e.x),Qo(e.y),Qo(e.z)),vec4u:e=>Wt(Qo(e.x),Qo(e.y),Qo(e.z),Qo(e.w))},bitcastF32toU32:{vec2f:e=>Ct(Jo(e.x),Jo(e.y)),vec3f:e=>gt(Jo(e.x),Jo(e.y),Jo(e.z)),vec4f:e=>Et(Jo(e.x),Jo(e.y),Jo(e.z),Jo(e.w))}},NM={vec2f:Or,vec2h:Or,vec2i:Or,vec2u:Or,"vec2":Or,vec3f:Vr,vec3h:Vr,vec3i:Vr,vec3u:Vr,"vec3":Vr,vec4f:Nr,vec4h:Nr,vec4i:Nr,vec4u:Nr,"vec4":Nr},up={...PM,mat2x2f:Gn,mat3x3f:Yn,mat4x4f:Hs};function qM(e,t){let s=e==="boolean"?NM:up;if(t in s)return s[t];throw new Error(`No corresponding vector/matrix type for '${t}' kind in '${e}' mode.`)}function XM(e){return e.kind.startsWith("vec")?e:e.columns.flat()}function X2(e,t,s){let r=t.map(HM);if(r.every(c=>c==="boolean"||c==="number"))return e(...t);let o=r[0];ds(o,"Expected kind of the first argument to be present.");let n=qM(s,o),i=t.map(XM),d=i[0]?.length;return ds(d!==void 0,"Expected constructor to have at least one argument."),n(...Array.from({length:d},(c,_)=>e(...i.map(u=>u[_]))))}function Tt(e,t){return X2(e,t,"first")}function Du(e,t){return X2(e,t,"boolean")}function HM(e){return typeof e=="number"?"number":typeof e=="boolean"?"boolean":e.kind}function _v(e){let[t,s]=e;if(typeof t=="number"&&lr(s)){let r=up[s.kind];return[r(t),s]}else if(lr(t)&&typeof s=="number"){let r=up[t.kind];return[t,r(s)]}return[t,s]}var mx=e=>"primitive"in e?e.primitive:e,lv=e=>(t,s)=>{let{restrict:r}=e??{},o=u=>{throw r?new Ts([t,s],r):new Error(`Cannot apply operator to ${t.type} and ${s.type}: ${u}`)};if(e?.noMat&&(rn(t)||rn(s)))return o("matrices not supported");let n=Rt(t)||rn(t),i=Rt(s)||rn(s);if(!n&&!i){let u=fr([t,s],r);return u?{argTypes:u,returnType:u[0]}:o("incompatible scalar types")}if(n&&i)return e?.matVecProduct&&Rt(t)!==Rt(s)?{argTypes:[t,s],returnType:Rt(t)?t:s}:t.type!==s.type?o("operands must have the same type"):{argTypes:[t,s],returnType:t};let[d,c]=n?[s,t]:[t,s],_=fr([d],[mx(c)]);return _?{argTypes:n?[t,_[0]]:[_[0],s],returnType:c}:o(`scalar not convertible to ${mx(c).type}`)},H2=lv(),jM=lv({matVecProduct:!0}),j2=lv({noMat:!0,restrict:[a,xs,qa]});function K2(e,t){if(typeof e=="number"&&typeof t=="number")return e+t;if(typeof e=="number"&&lr(t))return Tt(s=>e+s,[t]);if(lr(e)&&typeof t=="number")return Tt(s=>s+t,[e]);if(lr(e)&&lr(t)||Do(e)&&Do(t))return Tt((s,r)=>s+r,[e,t]);throw new Error("Add/Sub called with invalid arguments.")}var Pn=pe({name:"add",signature:H2,normalImpl:K2,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"+",s),sideEffects:!1});function KM(e,t){return K2(e,Z2(-1,t))}var ht=pe({name:"sub",signature:H2,normalImpl:KM,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"-",s),sideEffects:!1});function Z2(e,t){if(typeof e=="number"&&typeof t=="number")return e*t;if(typeof e=="number"&&(lr(t)||Do(t)))return Tt(s=>e*s,[t]);if((lr(e)||Do(e))&&typeof t=="number")return Tt(s=>s*t,[e]);if(lr(e)&&lr(t))return Tt((s,r)=>s*r,[e,t]);if(H0(e)&&Do(t))return qr.mulVxM[t.kind](e,t);if(Do(e)&&H0(t))return qr.mulMxV[e.kind](e,t);if(Do(e)&&Do(t))return qr.mulMxM[e.kind](e,t);throw new Error("Mul called with invalid arguments.")}var vr=pe({name:"mul",signature:jM,normalImpl:Z2,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"*",s),sideEffects:!1});function ZM(e,t){return Tt((s,r)=>s/r,_v([e,t]))}var mp=pe({name:"div",signature:j2,normalImpl:ZM,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"/",s),ignoreImplicitCastWarning:!0,sideEffects:!1}),bo=pe({name:"mod",signature:j2,normalImpl:((e,t)=>Tt((s,r)=>s%r,_v([e,t]))),codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"%",s),sideEffects:!1});function QM(e){return Tt(t=>-t,[e])}var px=pe({name:"neg",signature:e=>({argTypes:[e],returnType:e}),normalImpl:QM,codegenImpl:(e,[t])=>ce`-(${t})`,sideEffects:!1}),Q2={vec2i:Ct,vec2u:Ct,vec3i:gt,vec3u:gt,vec4i:Et,vec4u:Et},J2=(e,t)=>{let s=fr([e],[Xt,cs,Wt,Ct,gt,Et])?.[0];if(!s||!Rt(s))throw new Ts([e],[Xt,cs,Wt,Ct,gt,Et]);let r=s.componentCount,o=r===2?Ct:r===3?gt:Et,n=fr([t],[R,o])?.[0];if(!n)throw new Ts([t],[R,o]);return{argTypes:[s,n],returnType:s}};function JM(e,t){if(bl(e)&&Jb(t)&&e.length==t.length)return qr.bitShiftLeft[e.kind](e,t);if(bl(e)&&typeof t=="number"){let s=Q2[e.kind](t);return qr.bitShiftLeft[e.kind](e,s)}throw new Error("'bitShiftLeft' called with invalid arguments, expected: left-hand side to be an integer vector, right-hand side to be a number or unsigned integer vector of the same arity as the left-hand side.")}var eP=pe({name:"bitShiftLeft",signature:J2,normalImpl:JM,codegenImpl:(e,[t,s])=>{if(Rt(t.dataType)&&!Rt(s.dataType)){let r=t.dataType.componentCount,o=r===2?Ct:r===3?gt:Et;return e.gen.emitBinaryOp(t,"<<",e.gen.typeInstantiation(o,[s]))}return e.gen.emitBinaryOp(t,"<<",s)},sideEffects:!1});function tP(e,t){if(bl(e)&&Jb(t)&&e.length==t.length)return qr.bitShiftRight[e.kind](e,t);if(bl(e)&&typeof t=="number"){let s=Q2[e.kind](t);return qr.bitShiftRight[e.kind](e,s)}throw new Error("'bitShiftRight' called with invalid arguments, expected: left-hand side to be an integer vector, right-hand side to be a number or unsigned integer vector of the same arity as the left-hand side.")}var pp={add:Pn,sub:ht,mul:vr,div:mp,mod:bo,bitShiftLeft:eP,bitShiftRight:pe({name:"bitShiftRight",signature:J2,normalImpl:tP,codegenImpl:(e,[t,s])=>{if(Rt(t.dataType)&&!Rt(s.dataType)){let r=t.dataType.componentCount,o=r===2?Ct:r===3?gt:Et;return e.gen.emitBinaryOp(t,">>",e.gen.typeInstantiation(o,[s]))}return e.gen.emitBinaryOp(t,">>",s)},sideEffects:!1})},uv=class{lhs;operator;constructor(e,t){this.lhs=e,this.operator=t}};function sP(e){return e instanceof uv}function jo(e,t,s){let r=pp[t];Object.defineProperty(e.prototype,s,{value:r});function o(n){return r(this,n)}Object.defineProperty(e.prototype,t,{get(){return Yu()?new uv(this,r):o}})}var fx=!1;function rr(){fx||(fx=!0,jo(tn,"add",dr.plus),jo(Ci,"add",dr.plus),jo(tn,"sub",dr.minus),jo(Ci,"sub",dr.minus),jo(tn,"mul",dr.star),jo(Ci,"mul",dr.star),jo(tn,"div",dr.slash),jo(tn,"mod",dr.percent),jo(tn,"bitShiftLeft",Symbol()),jo(tn,"bitShiftRight",Symbol()))}var mv=new Set(["alias","break","case","const","const_assert","continue","continuing","default","diagnostic","discard","else","enable","false","fn","for","if","let","loop","override","requires","return","struct","switch","true","var","while","NULL","Self","abstract","active","alignas","alignof","as","asm","asm_fragment","async","attribute","auto","await","become","cast","catch","class","co_await","co_return","co_yield","coherent","column_major","common","compile","compile_fragment","concept","const_cast","consteval","constexpr","constinit","crate","debugger","decltype","delete","demote","demote_to_helper","do","dynamic_cast","enum","explicit","export","extends","extern","external","fallthrough","filter","final","finally","friend","from","fxgroup","get","goto","groupshared","highp","impl","implements","import","inline","instanceof","interface","layout","lowp","macro","macro_rules","match","mediump","meta","mod","module","move","mut","mutable","namespace","new","nil","noexcept","noinline","nointerpolation","non_coherent","noncoherent","noperspective","null","nullptr","of","operator","package","packoffset","partition","pass","patch","pixelfragment","precise","precision","premerge","priv","protected","pub","public","readonly","ref","regardless","register","reinterpret_cast","require","resource","restrict","self","set","shared","sizeof","smooth","snorm","static","static_assert","static_cast","std","subroutine","super","target","template","this","thread_local","throw","trait","try","type","typedef","typeid","typename","typeof","union","unless","unorm","unsafe","unsized","use","using","varying","virtual","volatile","wgsl","where","with","writeonly","yield","sampler","uniform","storage"]),rP=new Set(["array","bool","f16","f32","i32","u32","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","vec2","vec3","vec4","bitcast","all","any","select","arrayLength","abs","acos","acosh","asin","asinh","atan","atanh","atan2","ceil","clamp","cos","cosh","countLeadingZeros","countOneBits","countTrailingZeros","cross","degrees","determinant","distance","dot","dot4U8Packed","dot4I8Packed","exp","exp2","extractBits","faceForward","firstLeadingBit","firstTrailingBit","floor","fma","fract","frexp","insertBits","inverseSqrt","ldexp","length","log","log2","max","min","mix","modf","normalize","pow","quantizeToF16","radians","reflect","refract","reverseBits","round","saturate","sign","sin","sinh","smoothstep","sqrt","step","tan","tanh","transpose","trunc","dpdx","dpdxCoarse","dpdxFine","dpdy","dpdyCoarse","dpdyFine","fwidth","fwidthCoarse","fwidthFine","textureDimensions","textureGather","textureGatherCompare","textureLoad","textureNumLayers","textureNumLevels","textureNumSamples","textureSample","textureSampleBias","textureSampleCompare","textureSampleCompareLevel","textureSampleGrad","textureSampleLevel","textureSampleBaseClampToEdge","textureStore","atomicLoad","atomicStore","atomicAdd","atomicSub","atomicMax","atomicMin","atomicAnd","atomicOr","atomicXor","atomicExchange","atomicCompareExchangeWeak","pack4x8snorm","pack4x8unorm","pack4xI8","pack4xU8","pack4xI8Clamp","pack4xU8Clamp","pack2x16snorm","pack2x16unorm","pack2x16float","unpack4x8snorm","unpack4x8unorm","unpack4xI8","unpack4xU8","unpack2x16snorm","unpack2x16unorm","unpack2x16float","storageBarrier","textureBarrier","workgroupBarrier","workgroupUniformLoad","subgroupAdd","subgroupExclusiveAdd","subgroupInclusiveAdd","subgroupAll","subgroupAnd","subgroupAny","subgroupBallot","subgroupBroadcast","subgroupBroadcastFirst","subgroupElect","subgroupMax","subgroupMin","subgroupMul","subgroupExclusiveMul","subgroupInclusiveMul","subgroupOr","subgroupShuffle","subgroupShuffleDown","subgroupShuffleUp","subgroupShuffleXor","subgroupXor","quadBroadcast","quadSwapDiagonal","quadSwapX","quadSwapY"]);function oP(e){if(e){let t=e.replaceAll(/\s/g,"_").replaceAll(/[^\w]/g,"");return Fu(t).success?t:"item"}return"item"}function Fu(e){return e==="_"||e===""?{success:!1,error:"Identifiers cannot be equal to '' or '_'"}:/\s/.test(e)?{success:!1,error:"Identifiers cannot contain whitespace."}:e.startsWith("__")?{success:!1,error:"Identifiers cannot start with double underscores."}:/^(([_\p{XID_Start}][\p{XID_Continue}]+)|([\p{XID_Start}]))$/u.test(e)?{success:!0}:{success:!1,error:"Not compliant with WGSL guidelines."}}function e5(e){let t=Fu(e);return t.success?mv.has(e)?{success:!1,error:"Identifiers cannot start with reserved keywords."}:{success:!0}:t}function ut(e){return Bu(e,!1)}function Qs(e){return Bu(e,!0)}function Bu(e,t){Object.keys(e).forEach(r=>{let o=e5(r);if(!o.success)throw new Error(`Invalid property key '${r}'${o.error?`: ${o.error}`:""}`)});let s=r=>Object.fromEntries(Object.entries(e).map(([o,n])=>[o,aa(n,r?.[o])]));return Object.setPrototypeOf(s,nP),s.propTypes=e,Object.defineProperty(s,B,{value:{isAbstruct:t}}),s}var nP={type:"struct",$name(e){return ot(this,e),this},toString(){return`struct:${xe(this)??""}`}},qs=(e,t)=>{let s=t-1,r=~s;return(e&s)===0?e:(e&r)+t},xt=class{[B]={};type;[zs];constructor(e){this.type=e,this[zs]={call:(t,[s])=>P2(t,$n[this.type],s)}}[Gf](e){return aa($n[this.type],e)}},$n={uint8:R,uint8x2:Ct,uint8x4:Et,sint8:Z,sint8x2:Xt,sint8x4:Wt,unorm8:a,unorm8x2:lt,unorm8x4:Oe,snorm8:a,snorm8x2:lt,snorm8x4:Oe,uint16:R,uint16x2:Ct,uint16x4:Et,sint16:Z,sint16x2:Xt,sint16x4:Wt,unorm16:a,unorm16x2:lt,unorm16x4:Oe,snorm16:a,snorm16x2:lt,snorm16x4:Oe,float16:a,float16x2:lt,float16x4:Oe,float32:a,float32x2:lt,float32x3:It,float32x4:Oe,uint32:R,uint32x2:Ct,uint32x3:gt,uint32x4:Et,sint32:Z,sint32x2:Xt,sint32x3:cs,sint32x4:Wt,"unorm10-10-10-2":Oe,"unorm8x4-bgra":Oe},t5=new Set(Object.keys($n)),aI=new xt("uint8"),iI=new xt("uint8x2"),dI=new xt("uint8x4"),cI=new xt("sint8"),_I=new xt("sint8x2"),lI=new xt("sint8x4"),uI=new xt("unorm8"),mI=new xt("unorm8x2"),pI=new xt("unorm8x4"),fI=new xt("snorm8"),vI=new xt("snorm8x2"),yI=new xt("snorm8x4"),hI=new xt("uint16"),xI=new xt("uint16x2"),gI=new xt("uint16x4"),bI=new xt("sint16"),wI=new xt("sint16x2"),TI=new xt("sint16x4"),SI=new xt("unorm16"),AI=new xt("unorm16x2"),MI=new xt("unorm16x4"),PI=new xt("snorm16"),EI=new xt("snorm16x2"),kI=new xt("snorm16x4"),$I=new xt("float16"),UI=new xt("float16x2"),CI=new xt("float16x4"),RI=new xt("float32"),zI=new xt("float32x2"),GI=new xt("float32x3"),YI=new xt("float32x4"),LI=new xt("uint32"),II=new xt("uint32x2"),DI=new xt("uint32x3"),FI=new xt("uint32x4"),BI=new xt("sint32"),WI=new xt("sint32x2"),OI=new xt("sint32x3"),VI=new xt("sint32x4"),NI=new xt("unorm10-10-10-2"),qI=new xt("unorm8x4-bgra");function aP(e){return mt(e)&&t5.has(e?.type)}var iP={f32:4,f16:2,i32:4,u32:4,bool:4,u16:2,vec2f:8,vec2h:4,vec2i:8,vec2u:8,"vec2":8,vec3f:16,vec3h:8,vec3i:16,vec3u:16,"vec3":16,vec4f:16,vec4h:8,vec4i:16,vec4u:16,"vec4":16,mat2x2f:8,mat3x3f:16,mat4x4f:16,atomic:4};function dP(e){let t=e?.type,s=iP[t];if(s!==void 0)return s;if(Qt(e))return Object.values(e.propTypes).map(rs).reduce((r,o)=>r>o?r:o);if(Us(e))return rs(e.elementType);if(un(e)){let r=Object.values(e.propTypes)[0];return r?ac(r)??1:1}if(Ja(e))return ac(e.elementType)??1;if(zn(e)||ha(e))return ac(e)??rs(e.inner);if(t5.has(t))return 1;throw new Error(`Cannot determine alignment of data: ${io(e)}`)}function cP(e){if(un(e)){let t=Object.values(e.propTypes)[0];return t?wo(t):1}return Ja(e)?wo(e.elementType):ha(e)?ac(e)??wo(e.inner):ac(e)??1}var vx=new WeakMap,yx=new WeakMap;function rs(e){let t=vx.get(e);return t===void 0&&(t=dP(e),vx.set(e,t)),t}function wo(e){let t=yx.get(e);return t===void 0&&(t=cP(e),yx.set(e,t)),t}var _P={bool:4,f32:4,f16:2,i32:4,u32:4,u16:2,vec2f:8,vec2h:4,vec2i:8,vec2u:8,"vec2":8,vec3f:12,vec3h:6,vec3i:12,vec3u:12,"vec3":12,vec4f:16,vec4h:8,vec4i:16,vec4u:16,"vec4":16,mat2x2f:16,mat3x3f:48,mat4x4f:64,uint8:1,uint8x2:2,uint8x4:4,sint8:1,sint8x2:2,sint8x4:4,unorm8:1,unorm8x2:2,unorm8x4:4,snorm8:1,snorm8x2:2,snorm8x4:4,uint16:2,uint16x2:4,uint16x4:8,sint16:2,sint16x2:4,sint16x4:8,unorm16:2,unorm16x2:4,unorm16x4:8,snorm16:2,snorm16x2:4,snorm16x4:8,float16:2,float16x2:4,float16x4:8,float32:4,float32x2:8,float32x3:12,float32x4:16,uint32:4,uint32x2:8,uint32x3:12,uint32x4:16,sint32:4,sint32x2:8,sint32x3:12,sint32x4:16,"unorm10-10-10-2":4,"unorm8x4-bgra":4,atomic:4};function lP(e){let t=0,s=0,r=!0,o=!1;for(let i of Object.values(e.propTypes)){if(Number.isNaN(t))throw new Error("Only the last property of a struct can be unbounded");let d=t;t=qs(t,rs(i));let c=d!==t,_=Xa(i);if(t+=_.size,Number.isNaN(t)&&i.type!=="array")throw new Error("Cannot nest unbounded struct within another struct");o||(!c&&_.isContiguous?s+=_.size:(o=!0,r=!1,c||(s+=_.longestContiguousPrefix)))}let n=qs(t,rs(e));return{isContiguous:t===n&&r,size:n,longestContiguousPrefix:s}}function uP(e){let t=0,s=0,r=!0,o=!1;for(let n of Object.values(e.propTypes)){let i=wo(n),d=t;t=qs(t,i);let c=d!==t;c&&(r=!1);let _=Xa(n);t+=_.size,!o&&(!c&&_.isContiguous?s+=_.size:(o=!0,r=!1,c||(s+=_.longestContiguousPrefix)))}return{isContiguous:r,size:t,longestContiguousPrefix:s}}function mP(e){let t=e.elementType,s=Xa(t),r=s.size,o=qs(r,rs(t)),n=!(o>r)&&s.isContiguous,i=e.elementCount===0?NaN:e.elementCount*o,d;return n?d=i:d=s.longestContiguousPrefix,{size:i,isContiguous:n,longestContiguousPrefix:d}}function pP(e){let t=e.elementType,s=Xa(t),r=s.size,o=qs(r,wo(t)),n=!(o>r)&&s.isContiguous,i=e.elementCount*o,d;return n?d=i:d=s.longestContiguousPrefix,{size:i,isContiguous:n,longestContiguousPrefix:d}}function Xa(e){let t=_P[e.type];if(t!==void 0)return{isContiguous:e.type!=="mat3x3f",size:t,longestContiguousPrefix:e.type==="mat3x3f"?12:t};if(Qt(e))return lP(e);if(un(e))return uP(e);if(Us(e))return mP(e);if(Ja(e))return pP(e);if(zn(e)||ha(e)){let s=sM(e),r=Xa(lo(e));return s?{isContiguous:s===r.size&&r.isContiguous,size:s,longestContiguousPrefix:r.longestContiguousPrefix}:Xa(e.inner)}throw new Error(`Cannot determine memory layout of data: ${e}`)}var hx=new WeakMap;function pv(e,t){let s=hx.get(e);return s===void 0&&(s=Xa(e),hx.set(e,s)),s[t]}function _t(e){return pv(e,"size")}function xx(e){return _t(e)}var pt=Ao(((e,t)=>{if(zn(e)&&!e.attribs.every(s2))throw new Error("Arrays cannot hold decorated types other than @location. Wrap it in a struct instead, e.g. d.arrayOf(d.struct({ value: d.align(16, d.u32) }), n).");return t===void 0?Ao(s=>gx(e,s)):gx(e,t)})).$name("arrayOf");function gx(e,t){let s=r=>{if(r&&r.length!==t)throw new Error(`Array schema of ${t} elements of type ${e.type} called with ${r.length} argument(s).`);return Array.from({length:t},(o,n)=>aa(e,r?.[n]))};if(Object.setPrototypeOf(s,fP),Number.isNaN(_t(e)))throw new Error("Cannot nest runtime sized arrays.");if(s.elementType=e,!Number.isInteger(t)||t<0)throw new Error(`Cannot create array schema with invalid element count: ${t}.`);return s.elementCount=t,s}var fP={[B]:!0,type:"array",toString(){return`arrayOf(${String(this.elementType)}, ${this.elementCount})`}};function vP(e){if("multisampled"in e){if(e.multisampled){if(e.dimension==="2d")return hP(e.sampleType);throw new Error(`Multisampled textures only support '2d' dimension, got '${e.dimension}'`)}switch(e.dimension){case"1d":return yP(e.sampleType);case"2d":return ps(e.sampleType);case"2d-array":return xP(e.sampleType);case"3d":return wP(e.sampleType);case"cube":return gP(e.sampleType);case"cube-array":return bP(e.sampleType);default:throw new Error(`Unsupported texture dimension: '${e.dimension}'`)}}if(!("access"in e))throw new Error("Descriptor is neither a sampled nor a storage texture");switch(e.dimension){case"1d":return TP(e.format,e.access);case"2d":return Mo(e.format,e.access);case"2d-array":return SP(e.format,e.access);case"3d":return AP(e.format,e.access);default:throw new Error(`Unsupported storage texture dimension: '${e.dimension}'`)}}function ti(e,t){let s=e.startsWith("texture_depth")?["depth","float","unfilterable-float"]:t.sampleType.type==="i32"?["sint"]:t.sampleType.type==="u32"?["uint"]:["float","unfilterable-float"];return{[B]:{},[id]:void 0,type:e,bindingSampleType:s,...t}}function Wu(e,t){return{[B]:{},[id]:void 0,type:e,...t}}var bx=new Map,Fc={"write-only":"write","read-only":"read","read-write":"read_write"};function ko(e,t){let s=bx.get(e);return s||(s=t(),bx.set(e,s)),s}function yP(e){let t=e||a;return ko(`texture_1d<${t.type}>`,()=>ti("texture_1d",{dimension:"1d",sampleType:t,multisampled:!1}))}function ps(e){let t=e||a;return ko(`texture_2d<${t.type}>`,()=>ti("texture_2d",{dimension:"2d",sampleType:t,multisampled:!1}))}function hP(e){let t=e||a;return ko(`texture_multisampled_2d<${t.type}>`,()=>ti("texture_multisampled_2d",{dimension:"2d",sampleType:t,multisampled:!0}))}function xP(e){let t=e||a;return ko(`texture_2d_array<${t.type}>`,()=>ti("texture_2d_array",{dimension:"2d-array",sampleType:t,multisampled:!1}))}function gP(e){let t=e||a;return ko(`texture_cube<${t.type}>`,()=>ti("texture_cube",{dimension:"cube",sampleType:t,multisampled:!1}))}function bP(e){let t=e||a;return ko(`texture_cube_array<${t.type}>`,()=>ti("texture_cube_array",{dimension:"cube-array",sampleType:t,multisampled:!1}))}function wP(e){let t=e||a;return ko(`texture_3d<${t.type}>`,()=>ti("texture_3d",{dimension:"3d",sampleType:t,multisampled:!1}))}function TP(e,t){let s=t||"write-only";return ko(`texture_storage_1d<${e}, ${Fc[s]}>`,()=>Wu("texture_storage_1d",{dimension:"1d",format:e,access:s}))}function Mo(e,t){let s=t||"write-only";return ko(`texture_storage_2d<${e}, ${Fc[s]}>`,()=>Wu("texture_storage_2d",{dimension:"2d",format:e,access:s}))}function SP(e,t){let s=t||"write-only";return ko(`texture_storage_2d_array<${e}, ${Fc[s]}>`,()=>Wu("texture_storage_2d_array",{dimension:"2d-array",format:e,access:s}))}function AP(e,t){let s=t||"write-only";return ko(`texture_storage_3d<${e}, ${Fc[s]}>`,()=>Wu("texture_storage_3d",{dimension:"3d",format:e,access:s}))}function s5(){return ko("texture_external",()=>({[B]:{},[id]:void 0,type:"texture_external",dimension:"2d"}))}function r5(e){return!!e[B]&&typeof e.multisampled=="boolean"}function dl(e){return!!e[B]&&typeof e.format=="string"&&typeof e.access=="string"}function MP(e){return!!e[B]&&e.type==="texture_external"}function fv(){return{[B]:{},type:"sampler",[id]:void 0}}function o5(){return{[B]:{},type:"sampler_comparison",[id]:void 0}}function PP(e){return!!e[B]&&e.type==="sampler"}function EP(e){return!!e[B]&&e.type==="sampler_comparison"}var XI=Ao(((e,t)=>t===void 0?s=>wx(e,s):wx(e,t))).$name("disarrayOf");function wx(e,t){let s=r=>{if(r&&r.length!==t)throw new Error(`Disarray schema of ${t} elements of type ${e.type} called with ${r.length} argument(s).`);return Array.from({length:t},(o,n)=>aa(e,r?.[n]))};if(Object.setPrototypeOf(s,kP),s.elementType=e,!Number.isInteger(t)||t<0)throw new Error(`Cannot create disarray schema with invalid element count: ${t}.`);return s.elementCount=t,s}var kP={[B]:!0,type:"disarray",toString(){return`disarrayOf(${this.elementType}, ${this.elementCount})`}};var HI={[B]:!0,type:"unstruct",$name(e){return ot(this,e),this},toString(){return`unstruct:${xe(this)??""}`}};function $P(e){return new UP(e)}var UP=class{[B]={};type="atomic";inner;constructor(e){this.inner=e}};function Ou(e,t){return zn(e)?new Tx(e.inner,[t,...e.attribs]):ha(e)?new Sx(e.inner,[t,...e.attribs]):zu(e)?new Sx(e,[t]):new Tx(e,[t])}function n5(e,t){return Ou(t,{[B]:!0,type:"@align",params:[e]})}function a5(e,t){return Ou(t,{[B]:!0,type:"@size",params:[e]})}function fp(e,t){return Ou(t,{[B]:!0,type:"@location",params:[e]})}function nn(e){return(zn(e)||ha(e))&&e.attribs.find(VA)!==void 0}function gc(e){return!zn(e)&&!ha(e)?"":e.attribs.map(t=>t.params.length===0?`${t.type} `:`${t.type}(${t.params.join(", ")}) `).join("")}var i5=class{[B]={};inner;attribs;constructor(e,t){this.inner=e,this.attribs=t;let s=t.find(e2)?.params[0],r=t.find(t2)?.params[0];if(s!==void 0){if(s<=0)throw new Error(`Custom data alignment must be a positive number, got: ${s}.`);if(Math.log2(s)%1!==0)throw new Error(`Alignment has to be a power of 2, got: ${s}.`);if(Qa(this.inner)&&s%rs(this.inner)!==0)throw new Error(`Custom alignment has to be a multiple of the standard data alignment. Got: ${s}, expected multiple of: ${rs(this.inner)}.`)}if(r!==void 0){if(r<_t(this.inner))throw new Error(`Custom data size cannot be smaller then the standard data size. Got: ${r}, expected at least: ${_t(this.inner)}.`);if(r<=0)throw new Error(`Custom data size must be a positive number. Got: ${r}.`)}}},Tx=class extends i5{[B]={};type="decorated"},Sx=class extends i5{[B]={};type="loose-decorated"};function d5(e){return pv(e,"isContiguous")}function c5(e){return pv(e,"longestContiguousPrefix")}var _5=Object.defineProperty,CP=(e,t,s)=>t in e?_5(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,RP=(e,t)=>{for(var s in t)_5(e,s,{get:t[s],enumerable:!0})},Mt=(e,t,s)=>CP(e,typeof t!="symbol"?t+"":t,s);RP({},{BufferReader:()=>ld,BufferWriter:()=>si,MaxValue:()=>Es,Measurer:()=>gs,UnresolvedReferenceError:()=>Ra,ValidationError:()=>Vu,arrayOf:()=>IP,bool:()=>FP,byte:()=>NP,chars:()=>nE,concat:()=>cE,dynamicArrayOf:()=>lE,f16:()=>tE,f32:()=>rE,f32Array:()=>PE,f64Array:()=>EE,generic:()=>iE,genericEnum:()=>dE,i16:()=>XP,i16Array:()=>AE,i32:()=>ZP,i32Array:()=>ME,i8:()=>OP,i8Array:()=>SE,keyed:()=>pE,object:()=>aE,optional:()=>vE,string:()=>BP,tupleOf:()=>xE,u16:()=>jP,u16Array:()=>wE,u32:()=>JP,u32Array:()=>TE,u8:()=>f5,u8Array:()=>gE,u8ClampedArray:()=>bE});var Ra=class l5 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,l5.prototype)}},Vu=class u5 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,u5.prototype)}},zP=class{constructor(){Mt(this,"size",NaN),Mt(this,"unbounded",this),Mt(this,"isUnbounded",!0)}add(){return this}fork(){return this}},GP=new zP,gs=class m5{constructor(){Mt(this,"size",0),Mt(this,"unbounded",GP),Mt(this,"isUnbounded",!1)}add(t){return this.size+=t,this}fork(){let t=new m5;return t.size=this.size,t}},Es=Symbol("The biggest (in amount of bytes needed) value a schema can represent"),or=class{constructor(){Mt(this,"__unwrapped")}resolveReferences(e){}seekProperty(e,t){return null}},YP=class{constructor(e){this.key=e}},dc={STRING:"string",ENUM:"enum"},LP=class extends or{constructor(e,t){super(),this._unstableElementSchema=e,this.length=t,Mt(this,"elementSchema"),this.elementSchema=e}resolveReferences(e){this.elementSchema=e.resolve(this._unstableElementSchema)}write(e,t){if(t.length!==this.length)throw new Vu(`Expected array of length ${this.length}, got ${t.length}`);for(let s of t)this.elementSchema.write(e,s)}read(e){let t=[];for(let s=0;s{let o=t.fork();for(let n of Object.values(r.properties))n.measure(Es,o);return[r,o.size]}).reduce((r,o)=>r[1]>o[1]?r:o)[0];for(let r of Object.values(s.properties))r.measure(Es,t)}else{let s=e.type,r=this.subTypeMap[s]||null;if(r===null)throw new Error(`Unknown sub-type '${s.toString()}', expected one of '${JSON.stringify(Object.keys(this.subTypeMap))}'`);for(let[o,n]of Jn(r.properties))n.measure(e[o],t)}return t}};function iE(e,t){return new y5(dc.STRING,e,t)}function dE(e,t){return new y5(dc.ENUM,e,t)}function cE(e){return new vv(Object.fromEntries(e.flatMap(({properties:t})=>Object.entries(t))))}var _E=class extends or{constructor(e){super(),this._unstableElementType=e,Mt(this,"elementType"),this.elementType=e}resolveReferences(e){this.elementType=e.resolve(this._unstableElementType)}write(e,t){e.writeUint32(t.length);for(let s of t)this.elementType.write(e,s)}read(e){let t=[],s=e.readUint32();for(let r=0;r=e.length)return null;let r=new gs;for(let o=0;oe.resolve(s))}var hE=class extends or{constructor(e){super(),this._unstableSchemas=e,Mt(this,"schemas"),this.schemas=e}resolveReferences(e){this.schemas=yE(e,this._unstableSchemas)}write(e,t){if(t.length!==this.schemas.length)throw new Vu(`Expected tuple of length ${this.schemas.length}, got ${t.length}`);for(let s=0;snew Ln(e,Uint8Array),bE=e=>new Ln(e,Uint8ClampedArray),wE=e=>new Ln(e,Uint16Array),TE=e=>new Ln(e,Uint32Array),SE=e=>new Ln(e,Int8Array),AE=e=>new Ln(e,Int16Array),ME=e=>new Ln(e,Int32Array),PE=e=>new Ln(e,Float32Array),EE=e=>new Ln(e,Float64Array);function kE(){let e=new Uint8Array(4),t=new Uint32Array(e.buffer);return t[0]=1,e[0]===0}function yv(){return kE()?"big":"little"}function hv(e){let t=0,s=e;return s&&"buffer"in s&&"byteOffset"in s&&(t+=s.byteOffset,s=s.buffer),{buffer:s,byteOffset:t,byteLength:e.byteLength}}var x5=class{constructor(e,t){Mt(this,"dataView"),Mt(this,"littleEndian"),Mt(this,"needsByteSwap"),Mt(this,"byteOffset",0),Mt(this,"endianness");let{byteOffset:s=0,endianness:r="system"}=t??{};this.byteOffset=s;let o=yv();this.endianness=r==="system"?o:r,this.littleEndian=this.endianness==="little",this.needsByteSwap=this.endianness!==o;let n=hv(e);this.byteOffset+=n.byteOffset,this.dataView=new DataView(n.buffer)}get currentByteOffset(){return this.byteOffset}seekTo(e){this.byteOffset=e}skipBytes(e){this.byteOffset+=e}},ld=class extends x5{constructor(){super(...arguments),Mt(this,"_cachedTextDecoder")}get _textDecoder(){return this._cachedTextDecoder||(this._cachedTextDecoder=new TextDecoder(void 0,{fatal:!0})),this._cachedTextDecoder}readBool(){return this.dataView.getUint8(this.byteOffset++)!==0}readByte(){return this.dataView.getUint8(this.byteOffset++)}readInt8(){return this.dataView.getInt8(this.byteOffset++)}readUint8(){return this.dataView.getUint8(this.byteOffset++)}readInt16(){let e=this.dataView.getInt16(this.byteOffset,this.littleEndian);return this.byteOffset+=2,e}readUint16(){let e=this.dataView.getUint16(this.byteOffset,this.littleEndian);return this.byteOffset+=2,e}readInt32(){let e=this.dataView.getInt32(this.byteOffset,this.littleEndian);return this.byteOffset+=4,e}readUint32(){let e=this.dataView.getUint32(this.byteOffset,this.littleEndian);return this.byteOffset+=4,e}readFloat16(){let e=this.dataView.getFloat16(this.byteOffset,this.littleEndian);return this.byteOffset+=2,e}readFloat32(){let e=this.dataView.getFloat32(this.byteOffset,this.littleEndian);return this.byteOffset+=4,e}readString(){let e=0;for(;this.byteOffset+e1)for(let i=0;i=0;d--)o[i+d]=this.dataView.getUint8(this.byteOffset++);else o.set(new Uint8Array(this.dataView.buffer,this.byteOffset,s)),this.byteOffset+=s}},si=class extends x5{constructor(){super(...arguments),Mt(this,"_cachedTextEncoder")}get _textEncoder(){return this._cachedTextEncoder||(this._cachedTextEncoder=new TextEncoder),this._cachedTextEncoder}writeBool(e){this.dataView.setUint8(this.byteOffset++,e?1:0)}writeByte(e){this.dataView.setUint8(this.byteOffset++,e)}writeInt8(e){this.dataView.setInt8(this.byteOffset++,e)}writeUint8(e){this.dataView.setUint8(this.byteOffset++,e)}writeInt16(e){this.dataView.setInt16(this.byteOffset,e,this.littleEndian),this.byteOffset+=2}writeUint16(e){this.dataView.setUint16(this.byteOffset,e,this.littleEndian),this.byteOffset+=2}writeInt32(e){this.dataView.setInt32(this.byteOffset,e,this.littleEndian),this.byteOffset+=4}writeUint32(e){this.dataView.setUint32(this.byteOffset,e,this.littleEndian),this.byteOffset+=4}writeFloat16(e){this.dataView.setFloat16(this.byteOffset,e,this.littleEndian),this.byteOffset+=2}writeFloat32(e){this.dataView.setFloat32(this.byteOffset,e,this.littleEndian),this.byteOffset+=4}writeString(e){let t=this._textEncoder.encodeInto(e,new Uint8Array(this.dataView.buffer,this.byteOffset));this.byteOffset+=t.written,this.dataView.setUint8(this.byteOffset++,0)}writeSlice(e){let t=hv(e),s=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),r=e.BYTES_PER_ELEMENT;if(this.needsByteSwap&&r>1)for(let o=0;o=0;n--)this.dataView.setUint8(this.byteOffset++,s[o+n]);else new Uint8Array(this.dataView.buffer,this.byteOffset).set(s),this.byteOffset+=s.length}};function $E(e,t){let s="size"in e?e.size:e.currentByteOffset,r=t-1,o=s&r;"skipBytes"in e?e.skipBytes(t-o&r):e.add(t-o&r)}var Os=$E,Ax=new WeakMap;function Nu(e){let t=Ax.get(e);if(t)return t;let s=new gs,r={},o;for(let n in e.propTypes){let i=e.propTypes[n];if(i===void 0)throw new Error(`Property ${n} is undefined in struct`);let d=s.size;Os(s,un(e)?wo(i):rs(i)),o&&(o.padding=s.size-d);let c=_t(i);r[n]={offset:s.size,size:c},o=r[n],s.add(c)}return o&&(o.padding=qs(_t(e),rs(e))-s.size),Ax.set(e,r),r}var ia=Symbol("indirectOffset"),da=Symbol("indirectContiguous");function UE(e){return typeof e=="object"&&e!==null&&ia in e&&da in e}function ec(e,t){return{[ia]:e,[da]:t}}function xv(e,t){if(t===ia)return e[ia];if(t===da)return e[da]}function gv(e,t,s=_t(e)){let r=lo(e),o=Rt(r)?r.componentCount:void 0;if(o!==void 0){let n=_t(r.primitive);return RE(ec(t,s),n,o)}return Qt(r)?GE(r,ec(t,s)):Us(r)?zE(r,ec(t,s)):ec(t,s)}function CE(e,t=0){return gv(e,t,_t(e))}function RE(e,t,s){let r=e[ia];return new Proxy(e,{get(o,n){let i=xv(o,n);if(i!==void 0)return i;let d=n==="x"||n==="0"?0:n==="y"||n==="1"?1:n==="z"||n==="2"?2:n==="w"||n==="3"?3:-1;if(d<0||d>=s)return;let c=d*t,_=Math.max(0,o[da]-c);return ec(r+c,_)}})}function zE(e,t){let s=e.elementType,r=_t(s),o=qs(r,rs(s)),n=o>r;return new Proxy(t,{get(i,d){let c=xv(i,d);if(c!==void 0)return c;if(d==="length")return e.elementCount;if(typeof d!="string")return;let _=Number(d);if(!Number.isInteger(_)||_<0||_>=e.elementCount)return;let u=_*o,m=d5(s)?Math.max(0,i[da]-u):r+c5(s),p=n?Math.min(m,r):m;return gv(s,i[ia]+u,p)}})}function GE(e,t){let s=Nu(e),r=e.propTypes,o=Object.keys(r),n=new Map,i=0;for(let d=0;d0||!p))continue;let y=u.offset+(p?u.size:c5(_));for(let h=i;h<=d;h++){let g=o[h];if(!g)continue;let w=s[g];n.set(g,{offset:w.offset,runEnd:y})}i=d+1}return new Proxy(t,{get(d,c){let _=xv(d,c);if(_!==void 0)return _;if(typeof c!="string")return;let u=n.get(c);if(!u)return;let m=Math.max(0,d[da]-u.offset),p=Math.max(0,u.runEnd-u.offset),y=r[c];if(y)return gv(y,d[ia]+u.offset,_t(e)===u.runEnd?m:p)}})}function YE(e){let t=lo(e);if(Qt(t)){let s=Nu(t),r=t.propTypes,o=Object.keys(r);for(let n=0;n0)return _}return 0}if(Us(t)){let s=t.elementType,r=_t(s),o=qs(r,rs(s)),n=_t(e);return Number.isFinite(n)?o>r?r:n:r}return _t(e)}function cl(e,t){if(!t)return{offset:0,contiguous:YE(e)};let s=t(CE(e));if(UE(s))return{offset:s[ia],contiguous:s[da]};throw new Error("memoryLayoutOf: accessor did not return a schema element. Make sure the accessor navigates to a field or element of the schema (e.g. `(s) => s.position.x`).")}function Rs(e,t){return Ou(e,{[B]:!0,type:"@builtin",params:[t]})}var _r={vertexIndex:Rs(R,"vertex_index"),instanceIndex:Rs(R,"instance_index"),clipDistances:Rs(pt(R,8),"clip_distances"),position:Rs(Oe,"position"),frontFacing:Rs(ft,"front_facing"),fragDepth:Rs(a,"frag_depth"),primitiveIndex:Rs(R,"primitive_index"),sampleIndex:Rs(R,"sample_index"),sampleMask:Rs(R,"sample_mask"),localInvocationId:Rs(gt,"local_invocation_id"),localInvocationIndex:Rs(R,"local_invocation_index"),globalInvocationId:Rs(gt,"global_invocation_id"),globalInvocationIndex:Rs(R,"global_invocation_index"),workgroupId:Rs(gt,"workgroup_id"),workgroupIndex:Rs(R,"workgroup_index"),numWorkgroups:Rs(gt,"num_workgroups"),subgroupInvocationId:Rs(R,"subgroup_invocation_id"),subgroupSize:Rs(R,"subgroup_size"),subgroupId:Rs(R,"subgroup_id"),numSubgroups:Rs(R,"num_subgroups")};var jI=(rr(),Or),l=(rr(),lt),KI=(rr(),Vs),El=(rr(),Xt),Ge=(rr(),Ct),ZI=(rr(),Vr),f=(rr(),It),QI=(rr(),Pr),JI=(rr(),cs),Oa=(rr(),gt),e8=(rr(),Nr),x=(rr(),Oe),t8=(rr(),Ns),s8=(rr(),Wt),r8=(rr(),Et),o8=(rr(),Gn),ud=(rr(),Yn),n8=(rr(),Hs);function LE(e){return e?.[Hr]}function bv(e,t={}){let s=0,r=new Set;return Object.fromEntries(Object.entries(e??{}).map(([o,n])=>{let i=na(n);if(i!==void 0){if(r.has(i))throw new Error("Duplicate custom location attributes found");r.add(i)}return[o,n]}).map(([o,n])=>{if(nn(n))return[o,n];if(na(n)!==void 0)return[o,n];if(t[o])return[o,fp(t[o],n)];for(;r.has(s);)s++;return[o,fp(s++,n)]}))}function g5(e,t={}){let s=[],r={};for(let[o,n]of Object.entries(e))nn(n)?s.push({schemaKey:o,type:n}):r[o]=n;return{dataSchema:Object.keys(r).length>0?Bu(bv(r,t),!1):void 0,positionalArgs:s}}function IE(e){let t=bv(e);return{dataSchema:void 0,positionalArgs:Object.entries(t).map(([s,r])=>({schemaKey:s,type:r}))}}function Bc(e,t={}){return Rc(e)?Cu(e)||nn(e)||na(e)!==void 0?e:fp(0,e):Bu(bv(e,t),!1)}var Wo=class{#e;#t;#s;#r;#o;#n;constructor(e,t,s){this.#e=e,this.#n=t,this.#t={},this.#r=s,this.#s=new Set}accessProp(e){let t=this.#e[e]??this.#n;if(t)return this.provideProp(e,t)}provideProp(e,t){let s=this.#t[e];if(!s){let r=e.replaceAll("$","");if(this.#s.has(r))throw new Error(`Property name '${r}' causes naming clashes. Choose a different name.`);let o=e5(r);if(!o.success)throw new Error(`Invalid property key '${e}'${o.error?`: ${o.error}`:""}`);this.#s.add(r),s={prop:r,type:t},this.#t[e]=s}return s}get completeStruct(){if(!this.#o){this.#o=Bc(Object.fromEntries(Object.values(this.#t).map(t=>[t.prop,t.type])),this.#r);let e=xe(this);e&&ot(this.#o,e)}return this.#o}[kt](e){return e.resolve(this.completeStruct)}toString(){return`auto-struct:${xe(this)??""}`}};Wo.prototype[B]={};Wo.prototype.type="auto-struct";var b5=class{[B]={};type="entry-input-router";structArg;positionalArgsMap;constructor(e,t){this.structArg=e,this.positionalArgsMap=new Map(t.map(s=>[s.schemaKey,s.arg]))}toString(){return"entry-input-router"}accessProp(e){let t=this.positionalArgsMap.get(e);if(t)return t();let s=this.structArg?.();if(s&&Qt(s.dataType))return{target:s,prop:e}}},DE=["vec2f","vec3f","vec4f","vec2h","vec3h","vec4h","vec2i","vec3i","vec4i","vec2u","vec3u","vec4u","mat2x2f","mat3x3f","mat4x4f"],FE={f:{1:a,2:lt,3:It,4:Oe},h:{1:xs,2:Vs,3:Pr,4:Ns},i:{1:Z,2:Xt,3:cs,4:Wt},u:{1:R,2:Ct,3:gt,4:Et},b:{1:ft,2:Or,3:Vr,4:Nr}};function Bi(e,t){if(DE.includes(e.dataType.type)&&t in pp){let r=pp[t];return ve(new uv(e,r),Ut,e.origin,e.possibleSideEffects)}if(Us(e.dataType)&&t==="length")return e.dataType.elementCount===0?ve(ce`arrayLength(&${e})`,R,"runtime",e.possibleSideEffects):on(e.dataType.elementCount);if(rn(e.dataType)&&t==="columns")return ve(new h2(e),Ut,e.origin,e.possibleSideEffects);if(Qt(e.dataType)||un(e.dataType))return E2(e,t);if(e.dataType instanceof Wo){let r=e.dataType.accessProp(t);return r?ve(ce`${e}.${r.prop}`,r.type,"argument",e.possibleSideEffects):void 0}if(e.dataType instanceof b5){let r=e.dataType.accessProp(t);return Gc(r)?r:r?Bi(r.target,r.prop):void 0}if(pr(e.dataType)){let r=Wf(e);return t==="$"?r:Bi(r,t)}if(Rt(e.dataType)&&t==="kind")return ve(e.dataType.type,Ut,"constant",!1);let s=t.length;if(Rt(e.dataType)&&s>=1&&s<=4&&/^[xyzw]+$|^[rgba]+$/.test(t)){let r=FE[e.dataType.type.includes("bool")?"b":e.dataType.type[4]][s];return r?ve(hs(e)?e.value[t]:ce`${e}.${t}`,r,s===1?e.origin:e.origin==="constant"||e.origin==="constant-immutable-def"?"constant":"runtime",e.possibleSideEffects):void 0}if(hs(e)||e.dataType===Ut){let r=e.value[t];return Di(r)&&xe(r)===void 0&&ot(r,t),Wr(r)}}var Mx={mat2x2f:lt,mat3x3f:It,mat4x4f:Oe};function qu(e,t){let s=typeof t=="number"?Wr(t):t;if(Us(e.dataType)||Ja(e.dataType)){let r=e.dataType.elementType,o;return e.origin==="constant-immutable-def"?o=s.origin==="constant"||s.origin==="constant-immutable-def"?"constant-immutable-def":"runtime-immutable-def":e.origin==="constant"?o=s.origin==="constant"||s.origin==="constant-immutable-def"?"constant":"runtime":o=e.origin,e.value instanceof ic&&hs(s)?e.value.elements[s.value]:ve(hs(e)&&hs(s)?e.value[s.value]:ce`${e}[${s}]`,r,o,e.possibleSideEffects||s.possibleSideEffects)}if(Rt(e.dataType))return ve(hs(e)&&hs(s)?e.value[s.value]:ce`${e}[${s}]`,e.dataType.primitive,e.origin,e.possibleSideEffects||s.possibleSideEffects);if(pr(e.dataType))return qu(Wf(e),s);if(e.value instanceof h2){let r=Mx[e.value.matrix.dataType.type];return ve(ce`${e.value.matrix}[${s}]`,r,e.origin,e.possibleSideEffects||s.possibleSideEffects)}if(e.dataType.type in Mx)throw new Error("The only way of accessing matrix elements in TypeGPU functions is through the 'columns' property.");if(hs(e)&&hs(s))return Wr(e.value[s.value]);if(Qt(e.dataType)&&hs(s)&&typeof s.value=="string")return Bi(e,s.value)}var Wi={get(e,t){if(t in e)return Reflect.get(e,t);if(t==="toString"||t===Symbol.toStringTag||t===Symbol.toPrimitive)return()=>e.toString();if(typeof t=="symbol")return;let s=Gu(e),r=Number(t);if(!Number.isNaN(r)){let n=qu(s,r);return n?new Proxy({[B]:!0,[kt]:i=>i.resolveSnippet(n),[oa]:n,toString:()=>`${String(e)}[${t}]`},Wi):void 0}let o=Bi(s,String(t));if(o)return new Proxy({[B]:!0,[kt]:n=>n.resolveSnippet(o),[oa]:o,toString:()=>`${String(e)}.${t}`},Wi)}};function kl(e){let t=e;for(;;){let s=LE(t);if(!s)break;t=s}return t}function mn(e,t){return Object.defineProperty(e,Hr,{get(){if("get"in t.codegenMode)return t.codegenMode.get.apply(this);let s=this;return new Proxy({[B]:!0,get[oa](){if(!("getBaseSnippet"in t.codegenMode))throw new Error("Expected 'getBaseSnippet' to be defined.");return t.codegenMode.getBaseSnippet.apply(s,[this])},[kt]:r=>r.resolve(s),toString:()=>`${s.toString()}.$`},Wi)}}),Object.defineProperty(e,"$",{get(){let s=J0();return s.type==="codegen"?this[Hr]:s.type==="simulate"?t.simulateMode?.get?t.simulateMode.get.apply(this,[s]):t.normalMode.get.apply(this):s.type==="normal"?t.normalMode.get.apply(this):xc(s,"makeDereferenceable.ts#$ (get)")},set(s){let r=J0();if(r.type==="normal"){if(!t.normalMode.set)throw new Error(`'${this.toString()}' cannot be set in normal mode`);t.normalMode.set.apply(this,[s]);return}if(r.type==="simulate"){if(t.simulateMode?.set)t.simulateMode.set.apply(this,[r,s]);else if(t.normalMode.set)t.normalMode.set.apply(this,[s]);else throw new Error(`'${this.toString()}' cannot be set in simulate mode`);return}if(r.type==="codegen")throw new Error("Unreachable makeDerefenceable.ts#$ (set)");return xc(r,"makeDereferenceable.ts#$ (set)")}}),e}function In(e,t){return mt(e)||Object.defineProperty(e,B,{value:!0,writable:!0}),Object.defineProperty(e,"toString",{value(){return t.asString.apply(this)}}),Object.defineProperty(e,kt,{value(s){return t.resolve.apply(this,[s])}}),e}function wv(e,t){if(!Rc(e)){if(!Array.isArray(t))throw new Error(`Expected an array value for a partially-applied array schema, but received: ${typeof t}.`);return new Px(e(t.length),t)}return new Px(e,t)}function w5(e){let t=Reflect.ownKeys(e);for(let s of t){let r=e[s];(r&&typeof r=="object"||typeof r=="function")&&w5(r)}return Object.freeze(e)}var Px=class _l{[me];static#e=void(_l.prototype[B]={},_l.prototype.resourceType="const",mn(In(_l.prototype,{asString(){return`const:${xe(this)??""}`},resolve(t){let s=t.makeUniqueIdentifier(xe(this),"global");return t.gen.declareGlobalConst({id:s,dataType:this.dataType,init:ve(this[me].value,this.dataType,"constant")})}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.dataType,"constant-immutable-def",!1)}},normalMode:{get(){return this[me].value}}}));constructor(t,s){this[me]={type:"const",dataType:t,value:s&&typeof s=="object"?w5(s):s,label:void 0}}get dataType(){return this[me].dataType}$name(t){return ot(this,t),this}};function BE(e){return _M(e)||zu(e)||Fi(e)}function Ex(e){let t=e.pluginProvided??e.userProvided??{},s=Object.defineProperties({},Object.getOwnPropertyDescriptors(t));for(let r of[e.args,e.out].filter(o=>o!==void 0))for(let[o,n]of Object.entries(r)){if(o in s&&s[o]!==n)throw new Error(`Key '${o}' appears in externals despite already being used for argument/return type. Please rename this external.`);s[o]=n}return s}function WE(e,t,s){let r=[...e.matchAll(/:\s*(?.*?)\s*[,)]/g)].map(n=>n?.[1]),o=Object.fromEntries(t.flatMap((n,i)=>{let d=r?.[i];return Qt(n)&&d!==void 0?[[d,n]]:[]}));s.setExternals("args",o)}function T5(e,t,s){let r=e.match(/->\s(?[\w\d_]+)\s{/),o=r?r[1]?.trim():void 0;Qt(t)&&o&&!/\s/g.test(o)&&s.setExternals("out",{[o]:t})}var kx=/([$_\p{XID_Start}][$\p{XID_Continue}]*)/u,OE=new RegExp(`(${kx.source})(\\.${kx.source})*`,"ug"),VE=new RegExp(`(?n.includes("."));if(o)throw new Error(`External key '${o}' contains invalid character '.'`);return s.replaceAll(VE,n=>{let i=n.split(".");if(!Object.hasOwn(t,i.at(0)))return n;let d=t,c="";for(let[_,u]of i.entries()){if(d=d[u],BE(d)||typeof d=="string"){c=i.slice(_+1).map(m=>`.${m}`).join(""),Di(d)&&xe(d)===void 0&&ot(d,i.slice(0,_+1).join("_"));break}if(typeof d!="object"||d===null||_===i.length-1)return Vt.warn("external-omitted",`During resolution, the external '${i.slice(0,_+1).join(".")}' has been omitted. Only TGPU resources, 'use gpu' functions, primitives, and plain JS objects can be used as externals.`),n}return e.resolve(d).value+c})}var NE=class{[B]=!0;#e;constructor(e){this.#e=e}[kt](){return ve(this.#e,Ut,"runtime",!0)}},Tv=new Set([` +`,"\v","\f","\r","\x85","\u2028","\u2029"]),S5=new Set([...Tv," "," ","\u200E","\u200F"]);function qE(e){let{strippedCode:t,argRange:s}=XE(e),r=new A5(t);r.consume("(");let o=[];for(;!r.isAt(")");){let i=[];for(;r.isAt("@");)r.parseUntil($x,Ux),r.consume(")"),i.push(r.lastParsed);r.parseUntil(HE);let d=r.lastParsed,c;r.isAt(":")&&(r.consume(":"),r.parseUntil(jE,ZE),c=r.lastParsed),o.push({identifier:d,attributes:i,type:c}),r.isAt(",")&&r.consume(",")}r.consume(")");let n;if(r.isAt("->")){r.consume("->");let i=[];for(;r.isAt("@");)r.parseUntil($x,Ux),r.consume(")"),i.push(r.lastParsed);n={type:r.str.slice(r.pos),attributes:i}}return{args:o,ret:n,range:{begin:s[0],end:s[1]}}}function XE(e){let t=new A5(e),s="",r;for(;!t.isFinished();){if(t.isAt(S5)){t.advanceBy(1);continue}if(t.isAt("//")){t.consume("//"),t.parseUntil(Tv),t.advanceBy(1);continue}if(t.isAt("/*")){t.parseUntil(KE,QE),t.consume("*/");continue}if(t.isAt("{"))return{strippedCode:s,argRange:[r,t.pos]};t.isAt("(")&&r===void 0&&(r=t.pos),r!==void 0&&(s+=t.str[t.pos]),t.advanceBy(1)}throw new Error("Invalid wgsl code!")}var A5=class{str;#e;#t;constructor(e){this.str=e,this.#t=0}get pos(){return this.#t}get lastParsed(){if(this.#e===void 0)throw new Error("Parse was not called yet!");return this.str.slice(this.#e,this.pos)}isFinished(){return this.#t>=this.str.length}isAt(e){if(typeof e=="string"){for(let t=0;t"],QE=["/*","*/"];function ri(e,t,s){let r={};return{[Xs]:typeof e=="function"?e:void 0,setExternals(o,n){if(o==="userProvided"&&"userProvided"in r)throw new Error("Cannot call '$uses' multiple times. If you wish to override dependencies, use slots or accessors instead.");if(r[o]=n,r.userProvided&&r.pluginProvided)throw new Error("Cannot call '$uses' on functions whose metadata was provided by unplugin-typegpu.")},resolve(o,n,i,d){let c="";t==="compute"?c=`@compute @workgroup_size(${s?.join(", ")}) `:t==="vertex"?c="@vertex ":t==="fragment"&&(c="@fragment ");let _=o.makeUniqueIdentifier(xe(this),"global");if(typeof e=="string"){if(!i)throw new Error("Explicit return type is required for string implementation");if(d){for(let A of d.positionalArgs){let P=Fu(A.schemaKey);if(!P.success)throw new Error(`Invalid argument name "${A.schemaKey}"${P.error?`: ${P.error}`:""}`);if(o.isIdentifierBanned(A.schemaKey))throw new Error(`Invalid argument name "${A.schemaKey}", the identifier is a reserved keyword.`)}this.setExternals("args",{in:Object.fromEntries(d.positionalArgs.map(A=>[A.schemaKey,new NE(A.schemaKey)]))})}let w=Xu(o,Ex(r),e),S="",T="";if(t!=="normal"&&d){let{dataSchema:A,positionalArgs:P}=d,U=[];A&&Cx("in",w)&&U.push(`in: ${o.resolve(A).value}`);for(let L of P){let G=L.schemaKey;Cx(G,w)&&U.push(`${gc(L.type)}${G}: ${o.resolve(L.type).value}`)}let D=`(${U.join(", ")})`,O=Qa(i)?gc(i):"";S=`${D}${i!==_s?Qt(i)?` -> ${o.resolve(i).value} `:` -> ${O!==""?O:"@location(0)"} ${o.resolve(i).value} `:" "}`,T=w}else{let A=qE(w);if(A.args.length!==n.length)throw new Error(`WGSL implementation has ${A.args.length} arguments, while the shell has ${n.length} arguments.`);S=`(${A.args.map((P,U)=>`${P.identifier}: ${Rx(o,`parameter ${P.identifier}`,P.type,n[U])}`).join(", ")})${i===_s?" ":` -> ${Rx(o,"return type",A.ret?.type,i)} `}`,T=w.slice(A.range.end)}return o.addDeclaration(`${c}fn ${_}${S}${T}`,_),ve(_,i,"runtime")}let u=If(e),m=u?.externals();m&&this.setExternals("pluginProvided",m);let p=u?.ast;if(!p)throw new Error("Missing metadata for tgpu.fn function body (either missing 'use gpu' directive, or misconfigured `unplugin-typegpu`)");let y=p.params[1];y&&y.type==="i"&&t!=="normal"&&this.setExternals("out",{[y.name]:lo(i)});let{code:h,returnType:g}=o.resolveFunction({functionType:t,name:_,workgroupSize:s,argTypes:n,entryInput:d,params:p.params,returnType:i,body:p.body,externalMap:Ex(r)});return o.addDeclaration(h,_),ve(_,g,"runtime")}}}function Cx(e,t){return new RegExp(`\\b${e}\\b`).test(t)}function Rx(e,t,s,r){let o=e.resolve(r).value.replace(/\s/g,"");if(!s)return o;let n=s.replace(/\s/g,"");if(n!==o)throw new Error(`Type mismatch between TGPU shell and WGSL code string: ${t}, JS type "${o}", WGSL type "${n}".`);return s}function Hu(e,...t){return JE(e)?ek(e,...t):e}function JE(e){return Array.isArray(e)&&"raw"in e&&Array.isArray(e.raw)&&e.raw.every(t=>typeof t=="string")}function ek(e,...t){return e.slice(1).reduce((s,r,o)=>`${s}${t[o]}${r}`,e[0])}function qt(e,t){if(typeof e=="function")return P5(e,[]);let s=e,r={[B]:!0,argTypes:s,returnType:t??_s};return Object.assign((n,...i)=>tk(r,Hu(n,...i)),r)}function vp(e){return mt(e)&&e?.resourceType==="function"}function yp(e){return mt(e)&&e?.resourceType==="generic-function"}function M5([e,t]){return`${xe(e)??""}=${t}`}function tk(e,t){let s=[],r;yp(t)?(s=t[Mr]?.pairs??[],r=t[B].inner):r=t;let o=ri(r,"normal"),n={shell:e,resourceType:"function",[B]:{implementation:r},$uses(c){return o.setExternals("userProvided",c),this},[Xs]:o,$name(c){return ot(this,c),this},with:Ao((c,_)=>hp(d,[[dd(c)||cd(c)?c.slot:c,_]])),[kt](c){return typeof r=="string"&&(WE(r,e.argTypes,o),T5(r,e.returnType,o)),o.resolve(c,e.argTypes,e.returnType)}},i=pe({name:void 0,noComptime:!0,signature:{argTypes:e.argTypes,returnType:e.returnType},normalImpl:(...c)=>lM(()=>{try{if(typeof r=="string")throw new Error("Cannot execute on the CPU functions constructed with raw WGSL");let _=c.map((m,p)=>aa(e.argTypes[p],m)),u=r(..._);return aa(e.returnType,u)}catch(_){throw _ instanceof K0?_.appendToTrace(d):new K0(_,[d])}}),codegenImpl:(c,_)=>c.withResetIndentLevel(()=>ce`${c.resolve(d).value}(${_})`),sideEffects:!0}),d=Object.assign(i,n);return Object.defineProperty(d,"toString",{value(){return`fn:${xe(o)??""}`}}),s.length>0?hp(d,s):d}function hp(e,t){let s={resourceType:"function",shell:e.shell,[B]:{implementation:e[B].implementation},[Mr]:{inner:e,pairs:t},$uses(i){return e.$uses(i),this},$name(i){return ot(this,i),this},with:Ao((i,d)=>{let c=dd(i)||cd(i)?i.slot:i;return hp(e,[...t,[c,d]])})},r=pe({name:void 0,noComptime:!0,signature:{argTypes:e.shell.argTypes,returnType:e.shell.returnType},normalImpl:e,codegenImpl:(i,d)=>i.withResetIndentLevel(()=>ce`${i.resolve(o).value}(${d})`),sideEffects:!0}),o=Object.assign(r,s);Object.defineProperty(o,"toString",{value(){return`fn:${xe(this)??""}[${t.map(M5).join(", ")}]`}});let n=xe(e);return n&&ot(o,n),o}function P5(e,t){let s={[B]:{inner:e},resourceType:"generic-function",[Mr]:t.length>0?{inner:e,pairs:t}:void 0,$name(i){return ot(this,i),xe(e)||ot(e,i),this},[kt](i){return i.resolve(e)},with(i,d){let c=dd(i)||cd(i)?i.slot:i;return P5(e,[...t,[c,d]])}},o=Object.assign((...i)=>e(...i),s),n=xe(e);return n&&ot(o,n),Object.defineProperty(o,"toString",{value(){let i=xe(o)??"";return t.length>0?`fn*:${i}[${t.map(M5).join(", ")}]`:`fn*:${i}`}}),o}var sk={block:0,binaryExpr:1,assignmentExpr:2,logicalExpr:3,unaryExpr:4,numericLiteral:5,call:6,memberAccess:7,indexAccess:8,return:10,if:11,let:12,const:13,for:14,while:15,continue:16,break:17,forOf:18,arrayExpr:100,preUpdate:101,postUpdate:102,stringLiteral:103,objectExpr:104,conditionalExpr:105},tc={identifier:"i",destructuredObject:"d"},E5=Za({FuncParameterType:()=>tc,NodeTypeCatalog:()=>sk}),Sv=e=>({argTypes:[e],returnType:e}),Av=(...e)=>{let t=fr(e)??e;return{argTypes:t,returnType:t[0]}},At=e=>(...t)=>{let s=fr(t,e);if(!s)throw new Ts(t,e);return{argTypes:s,returnType:s[0]}};function k5(e){return(t,...s)=>{let r=t;for(let o of s)r=e(r,o);return r}}function $5(e){return(t,[s,...r])=>{let o=ce`${s}`;for(let n of r)o=ce`${e}(${o}, ${n})`;return o}}var rk=[a,xs,qa],bc=[lt,It,Oe,Vs,Pr,Ns],St=[...rk,...bc],ok=[Z,R],nk=[Xt,cs,Wt,Ct,gt,Et],Un=[...ok,...nk];function ak(e){return Tt(Math.abs,[e])}var z=pe({name:"abs",signature:Sv,normalImpl:ak,codegenImpl:(e,[t])=>ce`abs(${t})`,sideEffects:!1});function ik(e){return Tt(Math.acos,[e])}var dk=pe({name:"acos",signature:At(St),normalImpl:ik,codegenImpl:(e,[t])=>ce`acos(${t})`,sideEffects:!1});function ck(e){return Tt(Math.acosh,[e])}var _k=pe({name:"acosh",signature:At(St),normalImpl:ck,codegenImpl:(e,[t])=>ce`acosh(${t})`,sideEffects:!1});function lk(e){return Tt(Math.asin,[e])}var xp=pe({name:"asin",signature:At(St),normalImpl:lk,codegenImpl:(e,[t])=>ce`asin(${t})`,sideEffects:!1});function uk(e){return Tt(Math.asinh,[e])}var mk=pe({name:"asinh",signature:At(St),normalImpl:uk,codegenImpl:(e,[t])=>ce`asinh(${t})`,sideEffects:!1});function pk(e){return Tt(Math.atan,[e])}var fk=pe({name:"atan",signature:At(St),normalImpl:pk,codegenImpl:(e,[t])=>ce`atan(${t})`,sideEffects:!1});function vk(e){return Tt(Math.atanh,[e])}var yk=pe({name:"atanh",signature:At(St),normalImpl:vk,codegenImpl:(e,[t])=>ce`atanh(${t})`,sideEffects:!1});function hk(e,t){return Tt(Math.atan2,[e,t])}var tt=pe({name:"atan2",signature:At(St),normalImpl:hk,codegenImpl:(e,[t,s])=>ce`atan2(${t}, ${s})`,sideEffects:!1});function xk(e){return Tt(Math.ceil,[e])}var cc=pe({name:"ceil",signature:At(St),normalImpl:xk,codegenImpl:(e,[t])=>ce`ceil(${t})`,sideEffects:!1});function gk(e,t,s){return Tt(N2,[e,t,s])}var $=pe({name:"clamp",signature:Av,normalImpl:gk,codegenImpl:(e,[t,s,r])=>ce`clamp(${t}, ${s}, ${r})`,sideEffects:!1});function bk(e){return Tt(Math.cos,[e])}var H=pe({name:"cos",signature:At(St),normalImpl:bk,codegenImpl:(e,[t])=>ce`cos(${t})`,sideEffects:!1});function wk(e){return Tt(Math.cosh,[e])}var Tk=pe({name:"cosh",signature:At(St),normalImpl:wk,codegenImpl:(e,[t])=>ce`cosh(${t})`,sideEffects:!1}),Sk=pe({name:"countLeadingZeros",signature:At(Un),normalImpl:"CPU implementation for countLeadingZeros not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`countLeadingZeros(${t})`,sideEffects:!1});pe({name:"countOneBits",signature:At(Un),normalImpl:"CPU implementation for countOneBits not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`countOneBits(${t})`,sideEffects:!1});pe({name:"countTrailingZeros",signature:At(Un),normalImpl:"CPU implementation for countTrailingZeros not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`countTrailingZeros(${t})`,sideEffects:!1});var a8=pe({name:"cross",signature:At([It,Pr]),normalImpl:(e,t)=>qr.cross[e.kind](e,t),codegenImpl:(e,[t,s])=>ce`cross(${t}, ${s})`,sideEffects:!1});function Ak(e){if(typeof e=="number")return e*180/Math.PI;throw new Ys("CPU implementation for degrees on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}pe({name:"degrees",signature:At(St),normalImpl:Ak,codegenImpl:(e,[t])=>ce`degrees(${t})`,sideEffects:!1});pe({name:"determinant",signature:e=>{if(!(e.type==="mat2x2f"||e.type==="mat3x3f"||e.type==="mat4x4f"))throw new Ts([e],[Gn,Yn,Hs]);return{argTypes:[e],returnType:a}},normalImpl:"CPU implementation for determinant not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`determinant(${t})`,sideEffects:!1});function Mk(e,t){return typeof e=="number"&&typeof t=="number"?Math.abs(e-t):j(ht(e,t))}pe({name:"distance",signature:(...e)=>{let t=fr(e,St);if(!t)throw new Ts(e,St);return{argTypes:t,returnType:Lf(t[0])?xs:a}},normalImpl:Mk,codegenImpl:(e,[t,s])=>ce`distance(${t}, ${s})`,sideEffects:!1});var se=pe({name:"dot",signature:(...e)=>({argTypes:e,returnType:e[0].primitive}),normalImpl:(e,t)=>qr.dot[e.kind](e,t),codegenImpl:(e,[t,s])=>ce`dot(${t}, ${s})`,sideEffects:!1});pe({name:"dot4U8Packed",signature:{argTypes:[R,R],returnType:R},normalImpl:"CPU implementation for dot4U8Packed not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s])=>ce`dot4U8Packed(${t}, ${s})`,sideEffects:!1});pe({name:"dot4I8Packed",signature:{argTypes:[R,R],returnType:Z},normalImpl:"CPU implementation for dot4I8Packed not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s])=>ce`dot4I8Packed(${t}, ${s})`,sideEffects:!1});function Pk(e){return Tt(Math.exp,[e])}var ct=pe({name:"exp",signature:At(St),normalImpl:Pk,codegenImpl:(e,[t])=>ce`exp(${t})`,sideEffects:!1});function Ek(e){return Tt(t=>2**t,[e])}var $l=pe({name:"exp2",signature:At(St),normalImpl:Ek,codegenImpl:(e,[t])=>ce`exp2(${t})`,sideEffects:!1}),i8=pe({name:"extractBits",signature:(e,t,s)=>{let r=fr([e],Un)?.[0];if(!r)throw new Ts([e],Un);return{argTypes:[r,R,R],returnType:r}},normalImpl:"CPU implementation for extractBits not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s,r])=>ce`extractBits(${t}, ${s}, ${r})`,sideEffects:!1});pe({name:"faceForward",signature:At(bc),normalImpl:"CPU implementation for faceForward not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s,r])=>ce`faceForward(${t}, ${s}, ${r})`,sideEffects:!1});pe({name:"firstLeadingBit",signature:Sv,normalImpl:"CPU implementation for firstLeadingBit not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`firstLeadingBit(${t})`,sideEffects:!1});pe({name:"firstTrailingBit",signature:At(Un),normalImpl:"CPU implementation for firstTrailingBit not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`firstTrailingBit(${t})`,sideEffects:!1});function kk(e){return Tt(Math.floor,[e])}var q=pe({name:"floor",signature:At(St),normalImpl:kk,codegenImpl:(e,[t])=>ce`floor(${t})`,sideEffects:!1});function $k(e,t,s){if(typeof e=="number")return e*t+s;throw new Ys("CPU implementation for fma on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}pe({name:"fma",signature:At(St),normalImpl:$k,codegenImpl:(e,[t,s,r])=>ce`fma(${t}, ${s}, ${r})`,sideEffects:!1});function Uk(e){return Tt(t=>t-Math.floor(t),[e])}var ue=pe({name:"fract",signature:At(St),normalImpl:Uk,codegenImpl:(e,[t])=>ce`fract(${t})`,sideEffects:!1}),Ck={f32:Qs({fract:a,exp:Z}),f16:Qs({fract:xs,exp:Z}),abstractFloat:Qs({fract:qa,exp:Yc}),vec2f:Qs({fract:lt,exp:Xt}),vec3f:Qs({fract:It,exp:cs}),vec4f:Qs({fract:Oe,exp:Wt}),vec2h:Qs({fract:Vs,exp:Xt}),vec3h:Qs({fract:Pr,exp:cs}),vec4h:Qs({fract:Ns,exp:Wt})};pe({name:"frexp",normalImpl:"CPU implementation for frexp not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",signature:e=>{let t=Ck[e.type];if(!t)throw new Ts([e],St);return{argTypes:[e],returnType:t}},codegenImpl:(e,[t])=>ce`frexp(${t})`,sideEffects:!1});pe({name:"insertBits",signature:(e,t,s,r)=>{let o=fr([e,t],Un);if(!o)throw new Ts([e,t],Un);return{argTypes:[...o,R,R],returnType:o[0]}},normalImpl:"CPU implementation for insertBits not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s,r,o])=>ce`insertBits(${t}, ${s}, ${r}, ${o})`,sideEffects:!1});function Rk(e){if(typeof e=="number")return 1/Math.sqrt(e);throw new Ys("CPU implementation for inverseSqrt on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}pe({name:"inverseSqrt",signature:At(St),normalImpl:Rk,codegenImpl:(e,[t])=>ce`inverseSqrt(${t})`,sideEffects:!1});pe({name:"ldexp",signature:(e,t)=>{switch(e.type){case"abstractFloat":return{argTypes:[e,Yc],returnType:e};case"f32":case"f16":return{argTypes:[e,Z],returnType:e};case"vec2f":case"vec2h":return{argTypes:[e,Xt],returnType:e};case"vec3f":case"vec3h":return{argTypes:[e,cs],returnType:e};case"vec4f":case"vec4h":return{argTypes:[e,Wt],returnType:e};default:throw new Error(`Unsupported data type for ldexp: ${e.type}. Supported types are abstractFloat, f32, f16, vec2f, vec2h, vec3f, vec3h, vec4f, vec4h.`)}},normalImpl:"CPU implementation for ldexp not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s])=>ce`ldexp(${t}, ${s})`,sideEffects:!1});function zk(e){return typeof e=="number"?Math.abs(e):qr.length[e.kind](e)}var j=pe({name:"length",signature:e=>{let t=fr([e],St);if(!t)throw new Ts([e],St);return{argTypes:t,returnType:Lf(t[0])?xs:a}},normalImpl:zk,codegenImpl:(e,[t])=>ce`length(${t})`,sideEffects:!1});function Gk(e){return Tt(Math.log,[e])}var Yk=pe({name:"log",signature:At(St),normalImpl:Gk,codegenImpl:(e,[t])=>ce`log(${t})`,sideEffects:!1});function Lk(e){return Tt(Math.log2,[e])}var gp=pe({name:"log2",signature:At(St),normalImpl:Lk,codegenImpl:(e,[t])=>ce`log2(${t})`,sideEffects:!1});function Ik(e,t){return Tt(Math.max,[e,t])}var b=pe({name:"max",signature:Av,normalImpl:k5(Ik),codegenImpl:$5("max"),sideEffects:!1});function Dk(e,t){return Tt(Math.min,[e,t])}var oe=pe({name:"min",signature:Av,normalImpl:k5(Dk),codegenImpl:$5("min"),sideEffects:!1});function Fk(e,t,s){return Tt((r,o,n)=>r*(1-n)+o*n,[e,..._v([t,s])])}var X=pe({name:"mix",signature:(e,t,s)=>{if(e.type.startsWith("vec")&&!s.type.startsWith("vec")){let o=fr([s],[e.primitive]);if(!o)throw new Ts([s],[e.primitive]);return{argTypes:[e,t,o[0]],returnType:e}}let r=fr([e,t,s],St);if(!r)throw new Ts([e,t,s],St);return{argTypes:r,returnType:r[0]}},normalImpl:Fk,codegenImpl:(e,[t,s,r])=>ce`mix(${t}, ${s}, ${r})`,sideEffects:!1}),Bk={f32:Qs({fract:a,whole:a}),f16:Qs({fract:xs,whole:xs}),abstractFloat:Qs({fract:qa,whole:qa}),vec2f:Qs({fract:lt,whole:lt}),vec3f:Qs({fract:It,whole:It}),vec4f:Qs({fract:Oe,whole:Oe}),vec2h:Qs({fract:Vs,whole:Vs}),vec3h:Qs({fract:Pr,whole:Pr}),vec4h:Qs({fract:Ns,whole:Ns})};pe({name:"modf",signature:e=>{let t=Bk[e.type];if(!t)throw new Error(`Unsupported data type for modf: ${e.type}. Supported types are f32, f16, abstractFloat, vec2f, vec3f, vec4f, vec2h, vec3h, vec4h.`);return{argTypes:[e],returnType:t}},normalImpl:"CPU implementation for modf not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`modf(${t})`,sideEffects:!1});var as=pe({name:"normalize",signature:At(bc),normalImpl:e=>{let t=j(e);return Tt(s=>s/t,[e])},codegenImpl:(e,[t])=>ce`normalize(${t})`,sideEffects:!1});function Wk(e,t){return Tt((s,r)=>s**r,[e,t])}var Ce=pe({name:"pow",signature:At(St),normalImpl:Wk,codegenImpl:(e,[t,s])=>ce`pow(${t}, ${s})`,sideEffects:!1});pe({name:"quantizeToF16",signature:e=>{let t=[lt,It,Oe,a],s=fr([e],t)?.[0];if(!s)throw new Ts([e],t);return{argTypes:[s],returnType:s}},normalImpl:"CPU implementation for quantizeToF16 not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`quantizeToF16(${t})`,sideEffects:!1});function Ok(e){if(typeof e=="number")return e*Math.PI/180;throw new Ys("CPU implementation for radians on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}var zx=pe({name:"radians",signature:At(St),normalImpl:Ok,codegenImpl:(e,[t])=>ce`radians(${t})`,sideEffects:!1});pe({name:"reflect",signature:(...e)=>{let t=fr(e,bc);if(!t)throw new Ts(e,bc);return{argTypes:t,returnType:t[0]}},normalImpl:(e,t)=>ht(e,vr(2*se(t,e),t)),codegenImpl:(e,[t,s])=>ce`reflect(${t}, ${s})`,sideEffects:!1});pe({name:"refract",normalImpl:"CPU implementation for refract not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s,r])=>ce`refract(${t}, ${s}, ${r})`,signature:(e,t,s)=>({argTypes:[e,t,Lf(e)?xs:a],returnType:e}),sideEffects:!1});pe({name:"reverseBits",signature:At(Un),normalImpl:"CPU implementation for reverseBits not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`reverseBits(${t})`,sideEffects:!1});function Vk(e){if(typeof e=="number"){let t=Math.floor(e);return e===t+.5?t%2===0?t:t+1:Math.round(e)}throw new Ys("CPU implementation for round on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}var sa=pe({name:"round",signature:At(St),normalImpl:Vk,codegenImpl:(e,[t])=>ce`round(${t})`,sideEffects:!1});function Nk(e){if(typeof e=="number")return Math.max(0,Math.min(1,e));throw new Ys("CPU implementation for saturate on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}pe({name:"saturate",signature:At(St),normalImpl:Nk,codegenImpl:(e,[t])=>e.gen.emitCall("saturate",[],[t]),sideEffects:!1});function qk(e){return Tt(Math.sign,[e])}var ks=pe({name:"sign",signature:e=>{let t=[...St,Z,Xt,cs,Wt],s=fr([e],t)?.[0];if(!s)throw new Ts([e],t);return{argTypes:[s],returnType:s}},normalImpl:qk,codegenImpl:(e,[t])=>ce`sign(${t})`,sideEffects:!1});function Xk(e){return Tt(Math.sin,[e])}var Y=pe({name:"sin",signature:At(St),normalImpl:Xk,codegenImpl:(e,[t])=>ce`sin(${t})`,sideEffects:!1});function Hk(e){return Tt(Math.sinh,[e])}var jk=pe({name:"sinh",signature:At(St),normalImpl:Hk,codegenImpl:(e,[t])=>ce`sinh(${t})`,sideEffects:!1});function Kk(e,t,s){return Tt(OM,[e,t,s])}var re=pe({name:"smoothstep",signature:At(St),normalImpl:Kk,codegenImpl:(e,[t,s,r])=>ce`smoothstep(${t}, ${s}, ${r})`,sideEffects:!1});function Zk(e){return Tt(Math.sqrt,[e])}var be=pe({name:"sqrt",signature:At(St),normalImpl:Zk,codegenImpl:(e,[t])=>ce`sqrt(${t})`,sideEffects:!1});function Qk(e,t){if(typeof e=="number")return e<=t?1:0;throw new Ys("CPU implementation for step on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}var De=pe({name:"step",signature:At(St),normalImpl:Qk,codegenImpl:(e,[t,s])=>ce`step(${t}, ${s})`,sideEffects:!1});function Jk(e){if(typeof e=="number")return Math.tan(e);throw new Ys("CPU implementation for tan on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}var bp=pe({name:"tan",signature:At(St),normalImpl:Jk,codegenImpl:(e,[t])=>ce`tan(${t})`,sideEffects:!1});function e$(e){return Tt(Math.tanh,[e])}var t$=pe({name:"tanh",signature:At(St),normalImpl:e$,codegenImpl:(e,[t])=>ce`tanh(${t})`,sideEffects:!1});function s$(e){let t=Ru(e)(),s=e.columns,r=t.columns;if(s.length===2)r[0][0]=s[0][0],r[0][1]=s[1][0],r[1][0]=s[0][1],r[1][1]=s[1][1];else if(s.length===3){r[0][0]=s[0][0],r[0][1]=s[1][0],r[0][2]=s[2][0],r[1][0]=s[0][1],r[1][1]=s[1][1],r[1][2]=s[2][1];let o=r[2];o[0]=s[0][2],o[1]=s[1][2],o[2]=s[2][2]}else if(s.length===4){r[0][0]=s[0][0],r[0][1]=s[1][0],r[0][2]=s[2][0],r[0][3]=s[3][0],r[1][0]=s[0][1],r[1][1]=s[1][1],r[1][2]=s[2][1],r[1][3]=s[3][1];let o=r[2];o[0]=s[0][2],o[1]=s[1][2],o[2]=s[2][2],o[3]=s[3][2];let n=r[3];n[0]=s[0][3],n[1]=s[1][3],n[2]=s[2][3],n[3]=s[3][3]}else xc(s,"std/numeric.ts#cpuTranspose");return t}pe({name:"transpose",signature:Sv,normalImpl:s$,codegenImpl:(e,[t])=>ce`transpose(${t})`,sideEffects:!1});var r$=pe({name:"trunc",signature:At(St),normalImpl:"CPU implementation for trunc not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`trunc(${t})`,sideEffects:!1});function o$(e,t){if(typeof e!="number"||typeof t!="number")throw new Error("std.intdiv called with invalid arguments.");return Math.trunc(Math.trunc(e)/Math.trunc(t))}pe({name:"intdiv",signature:(e,t)=>{let s=fr([e,t],[R,Z]);if(!s)throw new Ts([e,t],[R,Z,Yc]);return{argTypes:s,returnType:s[0]}},normalImpl:o$,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"/",s),sideEffects:!1});function Ul(e){return lr(e)||Do(e)?Ru(e)(e):Array.isArray(e)?e.map(Ul):typeof e=="object"&&e!==null?Object.fromEntries(Object.entries(e).map(([t,s])=>[t,Ul(s)])):e}pe({name:"copy",signature:e=>({argTypes:[e],returnType:e}),normalImpl:Ul,codegenImpl(e,[t]){return ce`${t}`},sideEffects:!1});function md(e){return e.type.includes("2")?Or:e.type.includes("3")?Vr:Nr}var n$=pe({name:"allEq",signature:(...e)=>({argTypes:e,returnType:ft}),normalImpl:(e,t)=>Pv(Wc(e,t)),codegenImpl:(e,[t,s])=>ce`all(${t} == ${s})`,sideEffects:!1}),Wc=(e,t)=>Du((s,r)=>s===r,[e,t]),a$=pe({name:"eq",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:Wc,codegenImpl:(e,[t,s])=>ce`(${t} == ${s})`,sideEffects:!1}),i$=pe({name:"ne",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:(e,t)=>Js(Wc(e,t)),codegenImpl:(e,[t,s])=>ce`(${t} != ${s})`,sideEffects:!1}),ju=(e,t)=>Du((s,r)=>s({argTypes:e,returnType:md(e[0])}),normalImpl:ju,codegenImpl:(e,[t,s])=>ce`(${t} < ${s})`,sideEffects:!1}),wc=pe({name:"le",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:(e,t)=>Mv(ju(e,t),Wc(e,t)),codegenImpl:(e,[t,s])=>ce`(${t} <= ${s})`,sideEffects:!1}),c$=pe({name:"gt",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:(e,t)=>U5(Js(ju(e,t)),Js(Wc(e,t))),codegenImpl:(e,[t,s])=>ce`(${t} > ${s})`,sideEffects:!1}),wp=pe({name:"ge",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:(e,t)=>Js(ju(e,t)),codegenImpl:(e,[t,s])=>ce`(${t} >= ${s})`,sideEffects:!1});function Js(e){if(typeof e=="boolean")return!e;if(!IA(e))throw new Error("'std.not' requires a boolean or boolean vector.");switch(e.length){case 2:return Or(Js(e.x),Js(e.y));case 3:return Vr(Js(e.x),Js(e.y),Js(e.z));case 4:return Nr(Js(e.x),Js(e.y),Js(e.z),Js(e.w))}}var _$=pe({name:"not",signature:e=>{if(!Kn(e)&&!Yf(e))throw new Ts([e],[ft,Or,Vr,Nr]);return{argTypes:[e],returnType:e}},normalImpl:Js,codegenImpl:(e,[t])=>ce`!(${t})`,sideEffects:!1}),Mv=(e,t)=>Du((s,r)=>s||r,[e,t]);pe({name:"or",signature:(...e)=>({argTypes:e,returnType:e[0]}),normalImpl:Mv,codegenImpl:(e,[t,s])=>ce`(${t} | ${s})`,sideEffects:!1});var U5=(e,t)=>Js(Mv(Js(e),Js(t)));pe({name:"and",signature:(...e)=>({argTypes:e,returnType:e[0]}),normalImpl:U5,codegenImpl:(e,[t,s])=>ce`(${t} & ${s})`,sideEffects:!1});var Pv=e=>qr.all[e.kind](e),l$=pe({name:"all",signature:(...e)=>({argTypes:e,returnType:ft}),normalImpl:Pv,codegenImpl:(e,[t])=>ce`all(${t})`,sideEffects:!1});pe({name:"any",signature:(...e)=>({argTypes:e,returnType:ft}),normalImpl:e=>!Pv(Js(e)),codegenImpl:(e,[t])=>ce`any(${t})`,sideEffects:!1});pe({name:"isCloseTo",signature:(...e)=>({argTypes:e,returnType:ft}),normalImpl:(e,t,s=.01)=>{let r=Du((o,n)=>Math.abs(o-n)Qd(t)&&Qd(s)?ce`(abs(f32(${t}) - f32(${s})) <= ${r})`:!Qd(t)&&!Qd(s)?ce`all(abs(${t} - ${s}) <= (${t} - ${t}) + ${r})`:"false",sideEffects:!1});function u$(e,t,s){return typeof s=="boolean"?Ul(s?t:e):Tt((r,o,n)=>n?o:r,[e,t,s])}var ll=[a,xs,Z,R,ft,lt,It,Oe,Vs,Pr,Ns,Xt,cs,Wt,Ct,gt,Et,Or,Vr,Nr],C=pe({name:"select",signature:(e,t,s)=>{let[r,o]=fr([e,t],ll)??[e,t];return{argTypes:[r,o,s],returnType:r}},normalImpl:u$,codegenImpl:(e,[t,s,r])=>{let o=e.gen.emitCall("select",[],[t,s,r]);if(!ll.includes(t.dataType)||!ll.includes(s.dataType))throw new Error(`'${o}' is invalid, std.select requires both branches to be either scalars or vectors.`);if(t.dataType!==s.dataType){let n=e.resolve(t.dataType),i=e.resolve(s.dataType);throw new Error(`'${o}' is invalid, std.select requires both branches to be the same type, got [${n.value}, ${i.value}].`)}return o},sideEffects:!1});function Ku(e){return typeof e?.format=="string"}function m$(e,t){let s=[];if(Rc(e)){if(!Ku(t))throw new Error("Shader expected a single attribute, not a record of attributes to be passed in.");return s.push(t._layout),{usedVertexLayouts:s,bufferDefinitions:[{arrayStride:t._layout.stride,stepMode:t._layout.stepMode,attributes:[{format:t.format,offset:t.offset,shaderLocation:na(e)??0}]}]}}let r=[],o=new WeakMap,n=0;for(let[i,d]of Object.entries(e)){if(nn(d))continue;let c=t[i];if(!c)throw new Error(`An attribute by the name of '${i}' was not provided to the shader.`);let _=c._layout,u=o.get(_);u||(s.push(_),u=[],r.push({arrayStride:_.stride,stepMode:_.stepMode,attributes:u}),o.set(_,u)),n=na(d)??n,u.push({format:c.format,offset:c.offset,shaderLocation:n++})}return{usedVertexLayouts:s,bufferDefinitions:r}}var p$=["bool","f32","f16","i32","u32","vec2f","vec3f","vec4f","vec2h","vec3h","vec4h","vec2i","vec3i","vec4i","vec2u","vec3u","vec4u","vec2","vec3","vec4","mat2x2f","mat3x3f","mat4x4f","texture_external"];function f$(e){return p$.includes(e.type)}function Tp(e,[t,s]){return` ${gc(s)}${t}: ${e.resolve(s).value}, +`}function v$(e,t){if(t[B].isAbstruct)throw new Error("Cannot resolve abstract struct types to WGSL.");let s=e.makeUniqueIdentifier(xe(t),"global");return e.addDeclaration(`struct ${s} { +${Object.entries(t.propTypes).map(r=>Tp(e,r)).join("")}}`,s),s}function y$(e,t){let s=e.makeUniqueIdentifier(xe(t),"global");return e.addDeclaration(`struct ${s} { +${Object.entries(t.propTypes).map(r=>Ku(r[1])?Tp(e,[r[0],$n[r[1].format]]):Tp(e,r)).join("")} +}`,s),s}function h$(e,t){let s=e.resolve(t.elementType).value;return t.elementCount===0?`array<${s}>`:`array<${s}, ${t.elementCount}>`}function x$(e,t){let s=e.resolve(Ku(t.elementType)?$n[t.elementType.format]:t.elementType).value;return t.elementCount===0?`array<${s}>`:`array<${s}, ${t.elementCount}>`}function C5(e,t){if(zu(t))return t.type==="unstruct"?y$(e,t):t.type==="disarray"?x$(e,t):t.type==="loose-decorated"?e.resolve(Ku(t.inner)?$n[t.inner.format]:t.inner).value:e.resolve($n[t.type]).value;if(f$(t))return t.type;if(t.type==="struct")return v$(e,t);if(t.type==="array")return h$(e,t);if(t.type==="atomic")return`atomic<${C5(e,t.inner)}>`;if(t.type==="decorated")return e.resolve(t.inner).value;if(t.type==="ptr")return t.addressSpace==="storage"?`ptr`:`ptr<${t.addressSpace}, ${e.resolve(t.inner).value}>`;if(t.type==="abstractInt"||t.type==="abstractFloat"||t.type==="void"||t.type==="u16")throw new Error(`${t.type} has no representation in WGSL`);if(dl(t))return`${t.type}<${t.format}, ${Fc[t.access]}>`;if(r5(t))return t.type.startsWith("texture_depth")?t.type:`${t.type}<${t.sampleType.type}>`;if(EP(t)||PP(t))return t.type;xc(t,"resolveData")}var R5=class{[B]=!0;snippet;constructor(e){this.snippet=e}[kt](e){return e.resolveSnippet(this.snippet)}},z5=(()=>{function e(s){return s}let t=e;return ot(t,"unroll"),t.toString=()=>"unroll",t[B]=!0,t[zs]={call(s,[r]){return x2(new R5(r),r)}},t})(),Gx=new Map([[Math.abs,z],[Math.acos,dk],[Math.acosh,_k],[Math.asin,xp],[Math.asinh,mk],[Math.atan,fk],[Math.atan2,tt],[Math.atanh,yk],[Math.ceil,cc],[Math.cos,H],[Math.cosh,Tk],[Math.exp,ct],[Math.floor,q],[Math.fround,a],[Math.clz32,Sk],[Math.trunc,r$],[Math.log,Yk],[Math.log2,gp],[Math.pow,Ce],[Math.sign,ks],[Math.sin,Y],[Math.sinh,jk],[Math.sqrt,be],[Math.tan,bp],[Math.tanh,t$],[Math.max,b],[Math.min,oe]]),g$=()=>[console.log,console.debug,console.info,console.warn,console.error,console.clear],Yx=e=>pr(e)&&Us(e.inner)?e.inner.elementCount:0,b$=pe({name:"arrayLength",signature:e=>{let t=pr(e)?e:S2(e);return{argTypes:[t],returnType:Yx(t)>0?Yc:R}},normalImpl:e=>M2(e)?e.$.length:e.length,codegenImpl(e,[t]){let s=Yx(t.dataType);return s>0?`${s}`:e.gen.emitCall("arrayLength",[],[t])},sideEffects:!1});Ao((e,t,s=1)=>{if(t===void 0&&(t=e,e=0),!Number.isInteger(e))throw new Error(`'start' must be an integer, got ${e}`);if(!Number.isInteger(t))throw new Error(`'end' must be an integer, got ${t}`);if(!Number.isInteger(s)||s===0)throw new Error(`'step' must be a non-zero integer, got ${s}`);let r=[];if(r.start=e,r.end=t,r.step=s,Math.sign(s)!==Math.sign(t-e))return r;if(s>0)for(let o=e;ot;o+=s)r.push(o);return r});function Sp(e){return Array.isArray(e)&&"start"in e&&"end"in e&&"step"in e}function w$(e){return e.origin==="constant-immutable-def"?"const":"let"}function Lx(e,t){let s=qu(e,t);if(!s)throw new Qe("`for ... of ...` loops only support array or vector iterables");return s}function T$(e,t){let s=e.dataType;if(s===Ut)throw new Qe(ce`The elements in iterable ${t} are of unknown type`);if(Io(e.dataType)||e.origin==="runtime"||e.origin==="constant"||e.origin==="constant-immutable-def"||e.origin==="runtime-immutable-def")return s;if(!pr(s)){let r=Bf(e.origin,no(s));ds(r!==void 0,`Creating pointer type from origin ${e.origin}`),s=r}return A2(s)}function S$(e,t,s=!1){let{value:r,dataType:o}=t;if(Sp(r)){let{start:i,end:d,step:c}=r,_=[i,d,c].every(u=>u>=0)?R:Z;return{start:ve(i,_,"constant",!1),end:ve(d,_,"constant",!1),step:ve(c,_,"constant",!1),comparison:c<0?">":"<"}}if(!s&&!en(t))throw new Error("`for ... of ...` loops only support std.range or iterables stored in variables.\n-----\nYou can wrap iterable with `tgpu.unroll(...)`. If iterable is known at comptime, the loop will be unrolled.\n-----");let n={start:ve(0,R,"constant",!1),step:ve(1,R,"constant",!1),comparison:"<"};if(Us(o))return{...n,end:o.elementCount>0?ve(o.elementCount,R,"constant",!1):b$[zs].call(e,[t])};if(Rt(o))return{...n,end:ve(o.componentCount,R,"constant",!1)};if(s){if(Array.isArray(r))return{...n,end:ve(r.length,R,"constant",!1)};if(r instanceof ic)return{...n,end:ve(r.elements.length,R,"constant",!1)}}throw new Qe("`for ... of ...` loops only support array or vector iterables")}var{NodeTypeCatalog:dt}=E5;function jt(e){return Y5(e)?cr(e,""):gn(e,"")}function gn(e,t){if(Y5(e))return`${t}${cr(e,t)};`;if(e[0]===dt.block)return`{ +${e[1].map(s=>gn(s,t+" ")).join(` +`)} +${t}}`;if(e[0]===dt.return)return`${t}return${e[1]===void 0?"":` ${cr(e[1],"")}`};`;if(e[0]===dt.if){let s=`${t}if (${cr(e[1],t)}) ${gn(e[2],t)}`;return e[3]!==void 0?`${s} else ${gn(e[3],t)}`:s}if(e[0]===dt.let)return e[2]!==void 0?`${t}let ${e[1]} = ${cr(e[2],t)};`:`${t}let ${e[1]};`;if(e[0]===dt.const)return e[2]!==void 0?`${t}const ${e[1]} = ${cr(e[2],t)};`:`${t}const ${e[1]};`;if(e[0]===dt.for){let s=e[1]?gn(e[1],""):";",r=e[2]?cr(e[2],t):"",o=e[3]?gn(e[3],""):"",n=gn(e[4],t);return`${t}for (${s} ${r}; ${o.slice(0,-1)}) ${n}`}if(e[0]===dt.while)return`${t}while (${cr(e[1],t)}) ${gn(e[2],t)}`;if(e[0]===dt.continue)return`${t}continue;`;if(e[0]===dt.break)return`${t}break;`;if(e[0]===dt.forOf)return`${t}for (${e[1][0]===dt.const?"const":"let"} ${e[1][1]} of ${cr(e[2],t)}) ${gn(e[3],t)}`;G5(e)}function cr(e,t){if(typeof e=="string")return e;if(typeof e=="boolean")return`${e}`;if(e[0]===dt.numericLiteral)return e[1];if(e[0]===dt.stringLiteral)return JSON.stringify(e[1]);if(e[0]===dt.arrayExpr)return`[${e[1].map(s=>cr(s,t)).join(", ")}]`;if(e[0]===dt.binaryExpr)return`${ro(e[1],t)} ${e[2]} ${ro(e[3],t)}`;if(e[0]===dt.assignmentExpr)return`${cr(e[1],t)} ${e[2]} ${cr(e[3],t)}`;if(e[0]===dt.logicalExpr)return`${ro(e[1],t)} ${e[2]} ${ro(e[3],t)}`;if(e[0]===dt.unaryExpr){let s=e[1].length>1?" ":"";return`${e[1]}${s}${ro(e[2],t)}`}if(e[0]===dt.call)return`${ro(e[1],t)}(${e[2].map(s=>cr(s,t)).join(", ")})`;if(e[0]===dt.memberAccess)return Array.isArray(e[1])&&e[1][0]===dt.numericLiteral?`(${cr(e[1],t)}).${e[2]}`:`${ro(e[1],t)}.${e[2]}`;if(e[0]===dt.indexAccess)return`${ro(e[1],t)}[${cr(e[2],t)}]`;if(e[0]===dt.preUpdate)return`${e[1]}${ro(e[2],t)}`;if(e[0]===dt.postUpdate)return`${ro(e[2],t)}${e[1]}`;if(e[0]===dt.objectExpr)return`{ ${Object.entries(e[1]).map(([s,r])=>`${s}: ${cr(r,t)}`).join(", ")} }`;if(e[0]===dt.conditionalExpr)return`${ro(e[1],t)} ? ${ro(e[2],t)} : ${ro(e[3],t)}`;G5(e)}function G5(e){throw new Error(`'${JSON.stringify(e)}' was not handled by the stringify function.`)}function Y5(e){return typeof e=="string"||typeof e=="boolean"||e[0]===dt.numericLiteral||e[0]===dt.stringLiteral||e[0]===dt.arrayExpr||e[0]===dt.binaryExpr||e[0]===dt.assignmentExpr||e[0]===dt.logicalExpr||e[0]===dt.unaryExpr||e[0]===dt.call||e[0]===dt.memberAccess||e[0]===dt.indexAccess||e[0]===dt.preUpdate||e[0]===dt.postUpdate||e[0]===dt.objectExpr||e[0]===dt.conditionalExpr}var A$=[dt.memberAccess,dt.indexAccess,dt.call,dt.arrayExpr,dt.stringLiteral,dt.numericLiteral];function ro(e,t){let s=cr(e,t);return typeof e=="string"||typeof e=="boolean"||A$.includes(e[0])?s:`(${s})`}var{NodeTypeCatalog:Pt}=E5,M$=["==","!=","===","!==","<","<=",">",">=","<<",">>",">>>","+","-","*","/","%","|","^","&"],P$=["&&","||","==","!=","===","!==","<","<=",">",">="],E$={"===":a$.toString(),"!==":i$.toString(),"<":d$.toString(),"<=":wc.toString(),">":c$.toString(),">=":wp.toString()},k$=["<<",">>","<<=",">>=",">>>",">>>="],$$={"===":"==","!==":"!=",">>>":">>",get in(){throw new Error("The `in` operator is unsupported in TypeGPU functions.")},get instanceof(){throw new Error("The `instanceof` operator is unsupported in TypeGPU functions.")},get"|>"(){throw new Error("The `|>` operator is unsupported in TypeGPU functions.")},get"??"(){throw new Error("The `??` operator is unsupported in TypeGPU functions.")},">>>=":">>=",get"**="(){throw new Error("The `**=` operator is unsupported in TypeGPU functions.")},get"??="(){throw new Error("The `??=` operator is unsupported in TypeGPU functions.")},get"&&="(){throw new Error("The `&&=` operator is unsupported in TypeGPU functions.")},get"||="(){throw new Error("The `||=` operator is unsupported in TypeGPU functions.")}};function Ix(e,t,s){return s?P$.includes(t)?ft:t==="="?s:e:t==="!"?ft:e}var U$={"-":px[zs].call.bind(px),void:()=>ve(void 0,_s,"constant",!1),"!":(e,[t])=>{if(t===void 0)throw new Error("The unary operator `!` expects 1 argument, but 0 were provided.");if(hs(t))return ve(!t.value,ft,"constant",!1);let s=e.resolveSnippet(t).value;if(!Kn(t.dataType))throw new Qe(`Unary operator ! requires boolean operand. Got ${String(t.dataType)}.${Yf(t.dataType)?` For component-wise negation, use 'std.${_$.toString()}'.`:""}`);return ve(`!(${s})`,ft,"runtime",t.possibleSideEffects)}},C$={"+":Pn[zs].call.bind(Pn),"-":ht[zs].call.bind(ht),"*":vr[zs].call.bind(vr),"/":mp[zs].call.bind(mp),"**":Ce[zs].call.bind(Ce)},Dx={private:"private",workgroup:"workgroup",uniform:"uniform",mutable:"storage, read_write",readonly:"storage, read"},um=2,R$=class L5{#e=void 0;#t=[];static#s=L5.prototype.languageKey="wgsl";initGenerator(t){if(this.#e!==void 0)throw new Error("Cannot initialize shader generators twice. Create one generator per resolution.");this.#e=t}get ctx(){if(!this.#e)throw new Error("WGSL Generator has not yet been initialized. Please call initialize(ctx) before using the generator.");return this.#e}_block([t,s],r,o){this.ctx.pushBlockScope();try{if(o){let _=Object.fromEntries(Object.entries(o).map(([u,m])=>[u,Wr(m)]));this.ctx.setBlockExternals(_)}let n="",i=!1,d;this.ctx.indent();for(let _ of s){let u=this._statement(_);if(u.code.length>0&&(n+=`${u.code} +`),i||=u.definesInNearestScope??!1,u.endsWithControlFlow!==void 0){d=u.endsWithControlFlow;break}}this.ctx.dedent();let c=r&&!i;return this.ctx.blockDepth===um&&(n=n.replace(/[ ]*return\s*;\s*$/u,"")),n===""?{code:"",endsWithControlFlow:d,definesInNearestScope:!1}:c?{code:this.ctx.getDedented(n.trim()),endsWithControlFlow:d,definesInNearestScope:i}:{code:`{ +${n}${this.ctx.pre}}`,endsWithControlFlow:d,definesInNearestScope:!1}}finally{this.ctx.popBlockScope()}}_blockStatement(t,s){let{code:r,...o}=this._block(t,!0,s);return r===""?{...o,code:""}:{...o,code:`${this.ctx.pre}${r}`}}refVariable(t,s){let r=this.ctx.makeUniqueIdentifier(t,"block"),o=S2(s),n=ve(new wn(ve(r,s,"function",!1),o),o,"function",!1);return this.ctx.defineVariable(t,n),r}_emitVarDecl(t,s,r,o){return`${this.ctx.pre}${t} ${s} = ${o};`}_identifier(t){if(!t)throw new Error("Cannot resolve an empty identifier");if(t==="undefined")return ve(void 0,_s,"constant",!1);let s=this.ctx.getById(t);if(!s)throw new Error(`Identifier ${t} not found`);return s}_callShellless(t,s){let r=yp(t),o=r?t[Mr]?.pairs??[]:[],n=r?t[B].inner:t;return this.ctx.withRenamed(n,xe(t),()=>this.ctx.withSlots(o,()=>{let i=this.ctx.shelllessRepo.get(n,s);if(!i)return;let d=s.map((c,_)=>{let u=i.argTypes[_];return Fr(this.ctx,c,u,!1)});return this.ctx.withResetIndentLevel(()=>{let c=this.ctx.resolve(i);return ve(ce`${c.value}(${d})`,c.dataType,"runtime")})}))}_typedExpression(t,s){let r=this.ctx.expectedType;this.ctx.expectedType=s;try{let o=this._expression(t);return s instanceof Wo?o:Fr(this.ctx,o,s)}finally{this.ctx.expectedType=r}}_expression(t){if(typeof t=="string")return this._identifier(t);if(typeof t=="boolean")return ve(t,ft,"constant",!1);if(t[0]===Pt.logicalExpr){let[s,r,o,n]=t,i=this._expression(r);if(hs(i)){let u=Kn(this.ctx.expectedType);if(!(o==="&&"?i.value:!i.value))return u?ve(o==="||",ft,"constant",!1):Wr(i.value);let m=this._expression(n);if(hs(m)){let p=Wr(m.value);return u?Fr(this.ctx,p,ft,!1):p}if(m.dataType===Ut)throw new Qe(`Right-hand side of '${o}' is of unknown type`);return u?Fr(this.ctx,m,ft,!1):m}let d=this._expression(n);if(i.dataType===Ut)throw new Qe(`Left-hand side of '${o}' is of unknown type`);if(!hs(d)&&d.dataType===Ut)throw new Qe(`Right-hand side of '${o}' is of unknown type`);if(!Kn(i.dataType)||!Kn(d.dataType))throw new Qe(`Logical expression '${o}' requires boolean operands. Got '${String(i.dataType)}' and '${String(d.dataType)}'.`);let c=this.ctx.resolveSnippet(i).value,_=this.ctx.resolveSnippet(d).value;return ve(`(${c} ${o} ${_})`,ft,"runtime",i.possibleSideEffects||d.possibleSideEffects)}if(t[0]===Pt.binaryExpr||t[0]===Pt.assignmentExpr){let[s,r,o,n]=t,i=this._expression(r),d=this._expression(n);if(d.value instanceof wn)throw new Qe(ce`Cannot assign a ref to an existing variable '${jt(r)}', define a new variable instead.`);if(o==="==")throw new Error("Please use the === operator instead of ==");if(o==="!=")throw new Error("Please use the !== operator instead of !=");let c=E$[o];if(c&&hs(i)&&hs(d)){let y=i.value,h=d.value;switch(o){case"===":return ve(y===h,ft,"constant",!1);case"!==":return ve(y!==h,ft,"constant",!1)}if(typeof y!="number"||typeof h!="number")throw new Qe(`Comparison '${o}' requires numeric operands.${Rt(i.dataType)&&Rt(d.dataType)?` For component-wise comparison, use 'std.${c}'.`:""}`);switch(o){case"<":return ve(y":return ve(y>h,ft,"constant",!1);case">=":return ve(y>=h,ft,"constant",!1)}}if(i.dataType===Ut)throw new Qe(`Left-hand side of '${o}' is of unknown type`);if(d.dataType===Ut)throw new Qe(`Right-hand side of '${o}' is of unknown type`);let _=C$[o];if(_)return _(this.ctx,[i,d]);let u,m;if(k$.includes(o)){let y=i.dataType;if(!Qb(y)&&!OA(y))throw new Qe(`Expression: ${jt(t)} +Left-hand side of '${o}' must be an integer or vector of integers. +Got ${this.ctx.resolve(y).value}.`);let h=Rt(y)?y.primitive:y;if([">>>",">>>="].includes(o)&&h.type!=="u32")throw new Qe(`Expression: ${jt(t)} +Left-hand side of '${o}' must be an unsigned integer or vector of unsigned integers. +Got ${this.ctx.resolve(y).value}. +Use ${o.slice(1)} instead.`);[">>",">>="].includes(o)&&h.type==="u32"&&Vt.warn("deprecated",` +Expression: ${jt(t)} +Using u32 or vecN as left-hand side of ${o} is deprecated. +Use >${o} instead.`);let g;if(Rt(y)){let w=y.componentCount;g=w===2?Ct:w===3?gt:Et}else g=R;m=Fr(this.ctx,d,g,!1),u=i}else{let y=s===Pt.assignmentExpr?[i.dataType]:void 0;[u,m]=Qn(this.ctx,[i,d],y)??[i,d]}let p=Ix(u.dataType,o,m.dataType);if(s===Pt.assignmentExpr&&(Fx(u,t),this.tryMarkModified(r),o==="="&&en(d)&&!Io(d.dataType)))throw new Qe(`'${jt(t)}' is invalid, because references cannot be assigned. +----- +Try '${jt(r)} = ${this.ctx.resolve(Ca(d.dataType)).value}(${jt(n)})' to copy the value instead. +-----`);if(c){let y=["===","!=="].includes(o);if(!(np(u.dataType)&&np(m.dataType)||y&&Kn(u.dataType)&&Kn(m.dataType))){let h=Rt(u.dataType)&&Rt(m.dataType);throw new Qe(`Comparison '${o}' requires numeric${y?" or boolean":""} operands. Got '${String(u.dataType)}' and '${String(m.dataType)}'.${h?` For component-wise comparison, use 'std.${c}'.`:""}`)}}return ve(this.emitBinaryOp(u,$$[o]??o,m),p,"runtime",s===Pt.assignmentExpr||i.possibleSideEffects||d.possibleSideEffects)}if(t[0]===Pt.postUpdate)throw new Error(`'${jt(t)}' is invalid because update is only allowed as a statement.`);if(t[0]===Pt.unaryExpr){let[s,r,o]=t,n=this._expression(o),i=U$[r];if(i)return i(this.ctx,[n]);let d=this.ctx.resolveSnippet(n).value,c=Ix(n.dataType,r);return ve(`${r}${d}`,c,"runtime",n.possibleSideEffects)}if(t[0]===Pt.memberAccess){let[s,r,o]=t,n=Bi(this._expression(r),o);if(!n)throw new Error(`Property '${o}' not found on '${jt(r)}'`);return n}if(t[0]===Pt.indexAccess){let[s,r,o]=t,n=this._expression(r),i=this._expression(o),d=qu(n,Qn(this.ctx,[i],[R,Z],!1)?.[0]??i);if(!d)throw new Error(`Index access '${jt(t)}' is invalid. If the value is an array, to address this, consider one of the following approaches: (1) declare the array using 'tgpu.const', (2) store the array in a buffer, or (3) define the array within the GPU function scope.`);return d}if(t[0]===Pt.numericLiteral){let s=typeof t[1]=="string"?on(G$(t[1])):on(t[1]);return ds(s,`Expected ${jt(t)} to be valid numeric literal`),s}if(t[0]===Pt.call){let[s,r,o]=t,n=this._expression(r),i=Gx.has(n.value)?ve(Gx.get(n.value),Ut,"runtime",n.possibleSideEffects):n;if(g$().includes(i.value))return this.ctx.generateLog(i.value,o.map(_=>this._expression(_)));if(Qt(i.value)){if(o.length>1)throw new Qe("Struct schemas should always be called with at most 1 argument");if(!o[0])return ve(`${this.ctx.resolve(i.value).value}()`,i.value,"runtime",!1);let _=this._typedExpression(o[0],i.value);return ve(this.ctx.resolveSnippet(_).value,i.value,"runtime",_.possibleSideEffects)}if(Us(i.value)){if(o.length>1)throw new Qe("Array schemas should always be called with at most 1 argument");if(!o[0])return this.typeInstantiation(i.value,[]);let _=this._typedExpression(o[0],i.value);return _.value instanceof ic?this.typeInstantiation(i.value,_.value.elements):ve(this.ctx.resolveSnippet(_).value,i.value,"runtime",_.possibleSideEffects)}if(i.value===wv)throw new Error("Constants cannot be defined within TypeGPU function scope. To address this, move the constant definition outside the function scope.");if(sP(i.value)){if(!o[0])throw new Qe(`An infix operator '${xe(i.value.operator)}' was called without any arguments`);let _=Wr(i.value.lhs),u=this._expression(o[0]);return i.value.operator[zs].call(this.ctx,[_,u])}if((i.value===mM||i.value===z5)&&o[0]&&this.tryMarkModified(o[0]),Tl(i.value)){let _=i.value[zs],u=_.strictSignature,m;u?m=o.map((p,y)=>{let h=u.argTypes[y];if(!h)throw new Qe(`Call '${jt(t)}' is invalid since the function expected fewer arguments`);return this._typedExpression(p,h)}):m=o.map(p=>this._expression(p));try{return _.call(this.ctx,m)}catch(p){throw p instanceof Pi?p:new Pi(p,[{toString:()=>`fn:${xe(i.value)}`}])}}if(!mt(i.value)||yp(i.value)){let _=o.map(m=>this._expression(m)),u=this._callShellless(i.value,_);if(u)return u}let d=Object.getOwnPropertyNames(Math).find(_=>Math[_]===i.value);if(d)throw new Error(`Unsupported Math functionality 'Math.${d}()'. Use an std alternative, or implement the function manually.`);let c=Object.getOwnPropertyNames(console).find(_=>console[_]===i.value);throw c?new Error(`Unsupported console functionality 'console.${c}()'.`):new Error(`Function '${xe(i.value)??String(i.value)}' is not marked with the 'use gpu' directive and cannot be used in a shader`)}if(t[0]===Pt.objectExpr){let s=t[1],r=this.ctx.expectedType;if(r instanceof Wo){let o=Object.fromEntries(Object.entries(s).map(([d,c])=>{let _=r.accessProp(d),u;if(_)u=this._typedExpression(c,_.type);else{if(u=this._expression(c),u.dataType===Ut)throw new Qe(ce`Property ${d} in object literal has a value of unknown type: '${u}'`);_=r.provideProp(d,Ca(no(u.dataType)))}return[_.prop,u]})),n=r.completeStruct,i=ex(this.ctx,n,o);return ve(ce`${this.ctx.resolve(r).value}(${i})`,n,"runtime")}if(Qt(r)){let o=Object.fromEntries(Object.entries(r.propTypes).map(([i,d])=>{let c=s[i];if(c===void 0)throw new Qe(`Missing property ${i} in object literal for struct ${r}`);return[i,this._typedExpression(c,d)]})),n=ex(this.ctx,r,o);return ve(ce`${this.ctx.resolve(r).value}(${n})`,r,"runtime",n.some(i=>i.possibleSideEffects))}throw new Qe(`No target type could be inferred for object '${jt(t)}', please wrap the object in the corresponding schema.`)}if(t[0]===Pt.arrayExpr){let[s,r]=t,o=this.ctx.expectedType,n,i;if(Us(o)){if(n=o.elementType,i=r.map(_=>this._typedExpression(_,n)),i.length!==o.elementCount)throw new Qe(`Cannot create value of type '${o}' from an array of length: ${i.length}`)}else{let _=r.map(m=>this._expression(m));if(_.length===0)throw new Qe("Cannot infer the type of an empty array literal.");let u=Qn(this.ctx,_);if(!u)throw new Qe(`Values '${jt(t)}' cannot be automatically converted to a common type. Consider wrapping the array in an appropriate schema`);i=u,n=no(i[0]?.dataType)}let d=pt(n,i.length),c=i.every(_=>_.origin==="constant");return ve(new ic(d,i),d,c?"constant":"runtime",i.some(_=>_.possibleSideEffects))}if(t[0]===Pt.conditionalExpr){let[s,r,o,n]=t,i=this._expression(r);if(hs(i))return i.value?this._expression(o):this._expression(n);{let d=Fr(this.ctx,i,ft,!1),c=this._expression(o),_=this._expression(n),[u,m]=Qn(this.ctx,[c,_],ll)??[];if(!u||!m||c.possibleSideEffects||_.possibleSideEffects||en(c)&&!Io(c.dataType)||en(_)&&!Io(_.dataType))throw new Error(`Ternary operator '${jt(t)}' is invalid. For more complex branching, please use 'std.select' or if/else statements.`);return ve(ce`select(${m}, ${u}, ${d})`,u.dataType,"runtime",i.possibleSideEffects)}}if(t[0]===Pt.stringLiteral)return ve(t[1],Ut,"constant",!1);if(t[0]===Pt.preUpdate)throw new Error("Cannot use pre-updates in TypeGPU functions.");z$(t)}declareGlobalConst(t){let s=this.ctx.resolve(t.dataType).value,r=this.ctx.resolveSnippet(t.init).value;return this.ctx.addDeclaration(`const ${t.id}: ${s} = ${r};`,t.id),ve(t.id,t.dataType,"constant-immutable-def")}declareGlobalVar(t){let s="";return t.group!==void 0&&(s+=`@group(${t.group}) `),t.binding!==void 0&&(s+=`@binding(${t.binding}) `),t.scope in Dx?s+=`var<${Dx[t.scope]}> `:s+="var ",s+=`${t.id}: ${this.ctx.resolve(t.dataType).value}`,this.ctx.addDeclaration(t.init?`${s} = ${this.ctx.resolveSnippet(t.init).value};`:`${s};`,t.id),ve(t.id,t.dataType,t.scope)}functionDefinition(t){ds(this.ctx.blockDepth===um-1,`Expecting exactly ${um-1} block(s) before going into the first function block scope`);let s=this._block(t.body,!1),r=this.ctx.topFunctionScope;ds(r,"Expected function scope to be present");let o=Object.fromEntries([...r.placeholderForVariable.entries()].map(([_,u])=>[u,r.modifiedVariables.has(_)?"var":"let"]));if(Object.keys(o).length>0){let _=new RegExp(Object.keys(o).join("|"),"gi");s.code=s.code.replace(_,u=>o[u]??"#ERR")}let n=t.determineReturnType(),i=t.args.filter(_=>_.used||t.functionType==="normal").map(_=>`${gc(_.decoratedType)}${_.name}: ${this.ctx.resolve(_.decoratedType).value}`).join(", "),d=n.type!=="void"?`(${i}) -> ${gc(n)}${this.ctx.resolve(n).value} `:`(${i}) `,c="";if(t.functionType==="compute"){if(!t.workgroupSize)throw new Error("Compute shaders must have a workgroup size");c=`@compute @workgroup_size(${t.workgroupSize.join(", ")}) `}else t.functionType==="vertex"?c="@vertex ":t.functionType==="fragment"&&(c="@fragment ");return`${c}fn ${t.name}${d}${s.code||"{}"}`}emitTypeAnnotation(t){return C5(this.ctx,t)}typeInstantiation(t,s){return s.length===1&&s[0]?.dataType===t?ve(ce`${s[0]}`,t,rM(s[0].origin),s[0].possibleSideEffects):ve(ce`${this.ctx.resolve(t).value}(${s})`,t,"runtime",s.some(r=>r.possibleSideEffects))}numericLiteral(t,s){if(!Number.isFinite(t))throw new Error(`Value '${t}' (${s.type}) cannot be resolved due to WGSL's Finite Math Assumption (see: https://www.w3.org/TR/WGSL/#finite-math-assumption). This value might be a result of a comptime-evaluated operation.`);if(s.type==="abstractInt")return ve(`${t}`,s,"constant",!1);if(s.type==="u32")return ve(`${t}u`,s,"constant",!1);if(s.type==="i32")return ve(`${t}i`,s,"constant",!1);let r=t.toExponential(),o=s.type==="abstractFloat"&&Number.isInteger(t)?`${t}.`:`${t}`,n=r.lengththis.ctx.resolveSnippet(i).value).join(", "),n=r.map(i=>this.ctx.resolveSnippet(i).value).join(", ");return o.length>0?`${t}<${o}>(${n})`:`${t}(${n})`}emitBinaryOp(t,s,r){let o=this.ctx.resolveSnippet(t).value,n=this.ctx.resolveSnippet(r).value;return M$.includes(s)?`(${o} ${s} ${n})`:`${o} ${s} ${n}`}_return(t){let s=t[1];if(s!==void 0){let r=this.ctx.topFunctionReturnType,o=r?this._typedExpression(s,r):this._expression(s);if(o.value===void 0&&Cu(o.dataType))return this.ctx.reportReturnType(_s),`${this.ctx.pre}return;`;if(o.value instanceof wn)throw new Qe(`Cannot return '${jt(s)}' because it is a d.ref`);if(o.origin==="argument"&&!Io(o.dataType)&&this.ctx.topFunctionScope?.functionType==="normal")throw new Qe(`'${jt(t)}' is invalid, cannot return references to arguments. Copy the argument before returning it.`);if(!r&&en(o)&&!Io(o.dataType)&&o.origin!=="local-def"){let n=jt(s),i=this.ctx.resolve(Ca(o.dataType)).value;throw new Qe(`'return ${n};' is invalid, cannot return references. +----- +Try 'return ${i}(${n});' instead. +-----`)}return o=Fr(this.ctx,o,Ca(o.dataType),!1),ds(o.dataType!==Ut,"Return type should be known"),this.ctx.reportReturnType(o.dataType),ce`${this.ctx.pre}return ${o};`}return this.ctx.reportReturnType(_s),`${this.ctx.pre}return;`}_letStatement(t){let[s,r,o]=t;if(o===void 0)throw new Error(`'${jt(t)}' is invalid because all variables need initializers.`);let n=this._expression(o);if(n.value instanceof wn){let y=jt(o);throw new Qe(`'let ${r} = ${y}' is invalid, cannot initialize 'let' variables with d.ref() +----- +- Try 'const ${r} = ${y}'. +-----`)}let i=n.dataType;if(i===Ut){let y=jt(o);throw new Qe(`'let ${r} = ${y}' is invalid, cannot determine WGSL type of '${y}' +----- +- Try using or defining a schema that matches your desired value the most, and wrap the value with it: 'let ${r} = Schema(${y})' +-----`)}if(en(n)&&!Io(n.dataType)){let y=jt(o),h=this.ctx.resolve(Ca(n.dataType)).value;throw new Qe(`'let ${r} = ${y}' is invalid, because references cannot be assigned to 'let' variable declarations. +----- +- Try 'let ${r} = ${h}(${y})' if you need to reassign '${r}' later +- Try 'const ${r} = ${y}' if you won't reassign '${r}' later. +-----`)}let d=no(i),c=ve(this.ctx.makeUniqueIdentifier(r,"block"),d,"local-def",!1);this.ctx.defineVariable(r,c);let _=Fr(this.ctx,n,i,!1),u=this.ctx.resolveSnippet(_).value,m=this.ctx.topFunctionScope;ds(m,`Expected function scope to be present for ${r}`);let p=`#VAR_${m.placeholderForVariable.size}#`;return m.placeholderForVariable.set(c,p),{code:this._emitVarDecl(p,c.value,d,u),definesInNearestScope:!0}}_constStatement(t){let[s,r,o]=t;if(o===void 0)throw new Error(`'${jt(t)}' is invalid because all variables need initializers.`);let n=this._expression(o);if(n.value instanceof wn){if(n.dataType!==Ut)throw new Qe("Cannot store d.ref() in a variable if it references another value. Copy the value passed into d.ref() instead.");let g=n.value.snippet,w=this.refVariable(r,no(g.dataType));return{code:ce`${this.ctx.pre}var ${w} = ${Fr(this.ctx,g,g.dataType,!1)};`,definesInNearestScope:!0}}let i=Io(n.dataType),d="local-def",c="",_=n.dataType;if(_===Ut){let g=jt(o);throw new Qe(`'const ${r} = ${g}' is invalid, cannot determine WGSL type of '${g}' +----- +- Try using or defining a schema that matches your desired value the most, and wrap the value with it: 'const ${r} = Schema(${g})' +-----`)}if(n.origin==="argument")c="let",d=i?"local-def":"argument";else if(n.origin==="constant-immutable-def")c="const",d="constant-immutable-def";else if(n.origin==="runtime-immutable-def")c="let",d="runtime-immutable-def";else if(i)c=n.origin==="constant"?"const":"let",d="local-def";else if(!en(n))c="",d="local-def";else return this._aliasConstStatement(r,o,n);let u=no(_),m=ve(this.ctx.makeUniqueIdentifier(r,"block"),u,d,!1);this.ctx.defineVariable(r,m);let p=Fr(this.ctx,n,_,!1),y=this.ctx.resolveSnippet(p).value,h;if(c===""){let g=this.ctx.topFunctionScope;ds(g,`Expected function scope to be present for ${r}`),h=`#VAR_${g.placeholderForVariable.size}#`,g.placeholderForVariable.set(m,h)}else h=c;return{code:this._emitVarDecl(h,m.value,u,y),definesInNearestScope:!0}}_aliasConstStatement(t,s,r){let o=r.dataType;if(!pr(o)){let _=Bf(r.origin,no(o));ds(_!==void 0,`Creating pointer type from origin ${r.origin}`),o=_}o=A2(o),this.tryMarkModified(s);let n=no(o),i=ve(this.ctx.makeUniqueIdentifier(t,"block"),n,r.origin,!1);this.ctx.defineVariable(t,i);let d=Fr(this.ctx,r,o,!1),c=this.ctx.resolveSnippet(d).value;return{code:this._emitVarDecl("let",i.value,n,c),definesInNearestScope:!0}}_statement(t){if(typeof t=="string"){let o=this._identifier(t),n=o.value!==void 0&&o.value!==null?this.ctx.resolveSnippet(o).value:"";return{code:n?`${this.ctx.pre}${n};`:"",definesInNearestScope:!1}}if(typeof t=="boolean")return{code:`${this.ctx.pre}${t?"true":"false"};`,definesInNearestScope:!1};if(t[0]===Pt.return)return{code:this._return(t),endsWithControlFlow:"return",definesInNearestScope:!1};if(t[0]===Pt.if){let[o,n,i,d]=t,c=this._typedExpression(n,ft);if(typeof c.value=="boolean"){let m=c.value?i:d;return m===void 0?{code:"",definesInNearestScope:!1}:(Array.isArray(m)||(m=ka(m)),m[0]===Pt.block&&m[1].length===1&&m[1][0][0]===Pt.if?this._statement(m[1][0]):m[0]===Pt.if?this._statement(m):this._blockStatement(ka(m)))}let _=this._block(ka(i),!1),u=d?this._block(ka(d),!1).code:void 0;return u?{code:ce`\ +${this.ctx.pre}if (${c}) ${_.code||"{}"} +${this.ctx.pre}else ${u}`,definesInNearestScope:!1}:{code:ce`${this.ctx.pre}if (${c}) ${_.code||"{}"}`,definesInNearestScope:!1}}if(t[0]===Pt.let)return this._letStatement(t);if(t[0]===Pt.const)return this._constStatement(t);if(t[0]===Pt.block)return this._blockStatement(t);if(t[0]===Pt.for){let[o,n,i,d,c]=t,_=this.#t;this.#t=[];try{this.ctx.pushBlockScope();let[u,m,p]=this.ctx.withResetIndentLevel(()=>[n?this._statement(n).code:void 0,i?this._typedExpression(i,ft):void 0,d?this._statement(d).code:void 0]),y=u?u.slice(0,-1):"",h=p?p.slice(0,-1):"",g=this._block(ka(c),!1).code;return{code:ce`${this.ctx.pre}for (${y}; ${m}; ${h}) ${g||"{}"}`,definesInNearestScope:!1}}finally{this.#t=_,this.ctx.popBlockScope()}}if(t[0]===Pt.while){let o=this.#t;this.#t=[];try{let[n,i,d]=t,c=this._typedExpression(i,ft),_=this.ctx.resolveSnippet(c).value,u=this._block(ka(d),!1).code;return{code:`${this.ctx.pre}while (${_}) ${u||"{}"}`,definesInNearestScope:!1}}finally{this.#t=o}}if(t[0]===Pt.forOf){let[o,n,i,d]=t;if(n[0]!==Pt.const)throw new Qe("Only `for (const ... of ... )` loops are supported");this.tryMarkModified(i);let c=!1,_=this.#t;try{this.ctx.pushBlockScope();let u=this._expression(i),m=u.value instanceof R5,p=m?u.value.snippet:u,y=S$(this.ctx,p,m),h=n[1],g=ka(d);if(m){if(!hs(y.end))throw new Error("Cannot unroll loop. Length of iterable is unknown at comptime.");let A=y.end.value;if(A===0)return{code:"",definesInNearestScope:!1};let{value:P}=p,U=Sp(P)?P.map(W=>Wr(W)):P instanceof ic?P.elements:Array.from({length:A},(W,K)=>Lx(p,ve(K,R,"constant"))),D=U[0];if(!en(D)&&!Io(D.dataType))throw new Qe(`Cannot unroll '${jt(i)}'. The elements of iterable are constructed in place but are not value types.`);let O="",L,G=!1;for(let W=0;W`#${te}`).join(" / ")} +${Q.code} +`,Q.endsWithControlFlow!==void 0){L=Q.endsWithControlFlow;break}}return{code:`${O}${this.ctx.pre}// ---`,endsWithControlFlow:L,definesInNearestScope:G}}this.#t=[];let w=this.ctx.makeUniqueIdentifier("i","block"),S=ce`${this.ctx.pre}for (var ${w} = ${y.start}; ${w} ${y.comparison} ${y.end}; ${w} += ${y.step})`,T="";if(Sp(p.value))T=this._block(g,!1,{[h]:ve(w,y.start.dataType,"runtime",!1)}).code;else{this.ctx.indent(),c=!0;let A=this.ctx.makeUniqueIdentifier(h,"block"),P=Lx(p,ve(w,R,"runtime")),U=w$(P),D=T$(P,p);T=`{ +${ce`${this.ctx.pre}${U} ${A} = ${Fr(this.ctx,P,D,!1)};`} +${this._blockStatement(g,{[h]:ve(A,D,P.origin,!1)}).code} +`,this.ctx.dedent(),T+=`${this.ctx.pre}}`,c=!1}return{code:ce`${S} ${T.trim()||"{}"}`,definesInNearestScope:!1}}finally{c&&this.ctx.dedent(),this.#t=_,this.ctx.popBlockScope()}}if(t[0]===Pt.postUpdate){let[o,n,i]=t,d=this._expression(i),c=this.ctx.resolveSnippet(d).value;return Fx(d,t),this.tryMarkModified(i),{code:`${this.ctx.pre}${c}${n};`,definesInNearestScope:!1}}if(t[0]===Pt.continue){if(this.#t.length>0)throw new Qe("Cannot unroll loop containing `continue`");return{code:`${this.ctx.pre}continue;`,endsWithControlFlow:"continue",definesInNearestScope:!1}}if(t[0]===Pt.break){if(this.#t.length>0)throw new Qe("Cannot unroll loop containing `break`");return{code:`${this.ctx.pre}break;`,endsWithControlFlow:"break",definesInNearestScope:!1}}let s=this._expression(t),r=s.value!==void 0&&s.value!==null?this.ctx.resolveSnippet(s).value:"";return{code:r?`${this.ctx.pre}${r};`:"",definesInNearestScope:!1}}tryMarkModified(t){if(!t)return;let s=Y$(t);if(s!==void 0){let r=this.ctx.getById(s),o=this.ctx.topFunctionScope;r&&o&&o.placeholderForVariable.has(r)&&o.modifiedVariables.add(r)}}};function Fx(e,t){if(e.origin==="constant"||e.origin==="constant-immutable-def"||e.origin==="runtime-immutable-def")throw hs(e)?new Qe(`'${jt(t)}' is invalid, because the left side is defined outside of the shader, and therefore is immutable during its execution. Try using tgpu.privateVar or buffers.`):new Qe(`'${jt(t)}' is invalid, because the left side is a constant.`);if(e.origin==="uniform")throw new Qe(`'${jt(t)}' is invalid, because uniform buffers cannot be mutated.`);if(e.origin==="readonly")throw new Qe(`'${jt(t)}' is invalid, because readonly buffers cannot be mutated.`);if(e.origin==="argument")throw new Qe(`'${jt(t)}' is invalid, because non-pointer arguments cannot be mutated.`)}function z$(e){throw new Error(`'${io(e)}' was not handled by the WGSL generator.`)}function G$(e){return/^0x[0-9a-f]+$/i.test(e)?Number.parseInt(e):/^0b[01]+$/i.test(e)?Number.parseInt(e.slice(2),2):Number.parseFloat(e)}function ka(e){return typeof e!="object"||e[0]!==Pt.block?[Pt.block,[e]]:e}function Y$(e){let t=e;for(;Array.isArray(t)&&(t[0]===Pt.memberAccess||t[0]===Pt.indexAccess);)t=t[1];if(typeof t=="string")return t}var L$=(()=>{try{return new Function("return true"),!0}catch{return!1}})(),Bx=new WeakMap,Wx=!1,I_={u32:"u32",vec2u:"u32",vec3u:"u32",vec4u:"u32",u16:"u16",i32:"i32",vec2i:"i32",vec3i:"i32",vec4i:"i32",f32:"f32",vec2f:"f32",vec3f:"f32",vec4f:"f32",f16:"f16",vec2h:"f16",vec3h:"f16",vec4h:"f16",mat2x2f:"f32",mat3x3f:"f32",mat4x4f:"f32"},I$={uint8:"u8",uint8x2:"u8",uint8x4:"u8",sint8:"i8",sint8x2:"i8",sint8x4:"i8",unorm8:"u8",unorm8x2:"u8",unorm8x4:"u8",snorm8:"i8",snorm8x2:"i8",snorm8x4:"i8",uint16:"u16",uint16x2:"u16",uint16x4:"u16",sint16:"i16",sint16x2:"i16",sint16x4:"i16",unorm16:"u16",unorm16x2:"u16",unorm16x4:"u16",snorm16:"i16",snorm16x2:"i16",snorm16x4:"i16",float16:"f16",float16x2:"f16",float16x4:"f16",float32:"f32",float32x2:"f32",float32x3:"f32",float32x4:"f32",uint32:"u32",uint32x2:"u32",uint32x3:"u32",uint32x4:"u32",sint32:"i32",sint32x2:"i32",sint32x3:"i32",sint32x4:"i32"},D_={u32:"setUint32",i32:"setInt32",f32:"setFloat32",u16:"setUint16",i16:"setInt16",f16:"setFloat16",u8:"setUint8",i8:"setInt8"},D$={unorm8:e=>`Math.round(${e} * 255)`,unorm8x2:e=>`Math.round(${e} * 255)`,unorm8x4:e=>`Math.round(${e} * 255)`,snorm8:e=>`Math.round(${e} * 127)`,snorm8x2:e=>`Math.round(${e} * 127)`,snorm8x4:e=>`Math.round(${e} * 127)`,unorm16:e=>`Math.round(${e} * 65535)`,unorm16x2:e=>`Math.round(${e} * 65535)`,unorm16x4:e=>`Math.round(${e} * 65535)`,snorm16:e=>`Math.round(${e} * 32767)`,snorm16x2:e=>`Math.round(${e} * 32767)`,snorm16x4:e=>`Math.round(${e} * 32767)`},Ox={"unorm10-10-10-2":{writeFunction:"setUint32",generator:(e,t)=>`output.setUint32(${e}, ((${t}.x*1023&0x3FF)<<22)|((${t}.y*1023&0x3FF)<<12)|((${t}.z*1023&0x3FF)<<2)|(${t}.w*3&3), littleEndian); +`},"unorm8x4-bgra":{writeFunction:"setUint8",generator:(e,t)=>["z","y","x","w"].map((s,r)=>`output.setUint8((${e} + ${r}), Math.round(${t}.${s} * 255), littleEndian); +`).join("")}};function Vx(e,t,s,r=0,o=!1){let n=(c,_,u)=>o?`if (${_} < endOffset) { output.${c}(${_}, ${u}, littleEndian); } +`:`output.${c}(${_}, ${u}, littleEndian); +`,i=(c,_)=>o?`if (${c} < endOffset) { +${_}} +`:_;function d(c,_,u,m){let p=["i","j","k"][m]||`i${m}`;if(Uu(c)||zn(c))return d(c.inner,_,u,m);if(Qt(c)||un(c))return Object.entries(Nu(c)).map(([h,g])=>{let w=c.propTypes[h];return w?d(w,`(${_} + ${g.offset})`,`${u}.${h}`,m):""}).join("");if(Us(c)||Ja(c)){if(c.elementCount===0)throw new Error("Cannot write using a runtime-sized schema.");let h=qs(_t(c.elementType),rs(c)),g=c.elementCount*h,w=o?`Math.min(${u}.byteLength, Math.max(0, endOffset - (${_})))`:`Math.min(${u}.byteLength, ${g})`,S=`if (ArrayBuffer.isView(${u})) { +`;return S+=` new Uint8Array(output.buffer).set(new Uint8Array(${u}.buffer, ${u}.byteOffset, ${w}), output.byteOffset + (${_})); +`,S+=`} else { +`,S+=`for (let ${p} = 0; ${p} < ${c.elementCount}; ${p}++) { +`,o&&(S+=`if ((${_} + ${p} * ${h}) >= endOffset) return; +`),S+=d(c.elementType,`(${_} + ${p} * ${h})`,`${u}[${p}]`,m+1),S+=`} +`,S+=`} +`,S}if(Rt(c)){if(Yf(c))throw new Error("Compiled writers do not support boolean vectors");let h=I_[c.type],g=_t(c.primitive),w=D_[h];return Array.from({length:c.componentCount},(S,T)=>n(w,`(${_} + ${T*g})`,`${u}[${T}]`)).join("")}if(rn(c)){let h=D_[I_[c.type]],g=Kb(c)?2:Zb(c)?3:4,w=qs(g*4,8),S=["x","y","z","w"],T=w/4;return Array.from({length:g*g},(A,P)=>{let U=Math.floor(P/g),D=P%g,O=U*g+D,L=U*T+D;return n(h,`(${_} + ${U*w+D*4})`,`ArrayBuffer.isView(${u}) ? ${u}[${L}] : Array.isArray(${u}) ? ${u}[${O}] : ${u}.columns[${U}].${S[D]}`)}).join("")}if(aP(c)){let h=c.type;if(h in Ox){let D=Ox[h];return i(`(${_})`,D.generator(_,u))}let g=I$[h],w=D_[g],S=$n[h],T=Rt(S)?S.componentCount:1,A=g==="u8"||g==="i8"?1:g==="u16"||g==="i16"||g==="f16"?2:4,P=["x","y","z","w"],U=D$[h];return Array.from({length:T},(D,O)=>{let L=T===1?u:`${u}.${P[O]}`,G=U?U(L):L;return n(w,`(${_} + ${O*A})`,G)}).join("")}if(!Object.hasOwn(I_,c.type))throw new Error(`Primitive ${c.type} is unsupported by compiled writer`);let y=I_[c.type];return n(D_[y],_,u)}return d(e,t,s,r)}function Ev(e){if(!L$){Wx||(Vt.warn("fallback","This environment does not allow eval - using default writer as fallback"),Wx=!0);return}let t=Bx.get(e);if(t)return t;try{let s=Vx(e,"offset","value",0,!1),r=`if (offset > 0 || endOffset < output.byteLength) { +${Vx(e,"offset","value",0,!0)}} else { +${s}} +`,o=new Function("output","offset","value","littleEndian=true","endOffset=output.byteLength",r);return Bx.set(e,o),o}catch(s){Vt.warn("fallback",`Failed to compile writer for schema: ${e} +Reason: ${s instanceof Error?s.message:String(s)} +Falling back to default writer`)}}function Fs(e,t){e.writeUint16(Pl(t))}function Bs(e){return Nf(e.readUint16())}var Mi={bool(){throw new Error("Booleans are not host-shareable")},f32(e,t,s){e.writeFloat32(s)},f16(e,t,s){Fs(e,s)},i32(e,t,s){e.writeInt32(s)},u32(e,t,s){e.writeUint32(s)},u16(e,t,s){e.writeUint16(s)},vec2f(e,t,s){e.writeFloat32(s[0]),e.writeFloat32(s[1])},vec2h(e,t,s){Fs(e,s[0]),Fs(e,s[1])},vec2i(e,t,s){e.writeInt32(s[0]),e.writeInt32(s[1])},vec2u(e,t,s){e.writeUint32(s[0]),e.writeUint32(s[1])},"vec2"(){throw new Error("Booleans are not host-shareable")},vec3f(e,t,s){e.writeFloat32(s[0]),e.writeFloat32(s[1]),e.writeFloat32(s[2])},vec3h(e,t,s){Fs(e,s[0]),Fs(e,s[1]),Fs(e,s[2])},vec3i(e,t,s){e.writeInt32(s[0]),e.writeInt32(s[1]),e.writeInt32(s[2])},vec3u(e,t,s){e.writeUint32(s[0]),e.writeUint32(s[1]),e.writeUint32(s[2])},"vec3"(){throw new Error("Booleans are not host-shareable")},vec4f(e,t,s){e.writeFloat32(s[0]),e.writeFloat32(s[1]),e.writeFloat32(s[2]),e.writeFloat32(s[3])},vec4h(e,t,s){Fs(e,s[0]),Fs(e,s[1]),Fs(e,s[2]),Fs(e,s[3])},vec4i(e,t,s){e.writeInt32(s[0]),e.writeInt32(s[1]),e.writeInt32(s[2]),e.writeInt32(s[3])},vec4u(e,t,s){e.writeUint32(s[0]),e.writeUint32(s[1]),e.writeUint32(s[2]),e.writeUint32(s[3])},"vec4"(){throw new Error("Booleans are not host-shareable")},mat2x2f(e,t,s){for(let r=0;r"(){throw new Error("Booleans are not host-shareable")},"vec3"(){throw new Error("Booleans are not host-shareable")},"vec4"(){throw new Error("Booleans are not host-shareable")},mat2x2f(e){return Gn(e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32())},mat3x3f(e){let t=()=>{let s=e.readFloat32();return e.readFloat32(),s};return Yn(e.readFloat32(),e.readFloat32(),t(),e.readFloat32(),e.readFloat32(),t(),e.readFloat32(),e.readFloat32(),t())},mat4x4f(e){return Hs(e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32())},struct(e,t){let s=rs(t);Os(e,s);let r={},o=t.propTypes;for(let[n,i]of Object.entries(o))Os(e,rs(i)),r[n]=jn(e,i);return Os(e,s),r},array(e,t){if(t.elementCount===0)throw new Error("Cannot read using a runtime-sized schema.");let s=rs(t),r=[];for(let o=0;oe.readUint8(),uint8x2:e=>Ct(e.readUint8(),e.readUint8()),uint8x4:e=>Et(e.readUint8(),e.readUint8(),e.readUint8(),e.readUint8()),sint8:e=>e.readInt8(),sint8x2:e=>Xt(e.readInt8(),e.readInt8()),sint8x4:e=>Wt(e.readInt8(),e.readInt8(),e.readInt8(),e.readInt8()),unorm8:e=>e.readUint8()/255,unorm8x2:e=>lt(e.readUint8()/255,e.readUint8()/255),unorm8x4:e=>Oe(e.readUint8()/255,e.readUint8()/255,e.readUint8()/255,e.readUint8()/255),snorm8:e=>e.readInt8()/127,snorm8x2:e=>lt(e.readInt8()/127,e.readInt8()/127),snorm8x4:e=>Oe(e.readInt8()/127,e.readInt8()/127,e.readInt8()/127,e.readInt8()/127),uint16:e=>e.readUint16(),uint16x2:e=>Ct(e.readUint16(),e.readUint16()),uint16x4:e=>Et(e.readUint16(),e.readUint16(),e.readUint16(),e.readUint16()),sint16:e=>e.readInt16(),sint16x2:e=>Xt(e.readInt16(),e.readInt16()),sint16x4:e=>Wt(e.readInt16(),e.readInt16(),e.readInt16(),e.readInt16()),unorm16:e=>e.readUint16()/65535,unorm16x2:e=>lt(e.readUint16()/65535,e.readUint16()/65535),unorm16x4:e=>Oe(e.readUint16()/65535,e.readUint16()/65535,e.readUint16()/65535,e.readUint16()/65535),snorm16:e=>e.readInt16()/32767,snorm16x2:e=>lt(e.readInt16()/32767,e.readInt16()/32767),snorm16x4:e=>Oe(e.readInt16()/32767,e.readInt16()/32767,e.readInt16()/32767,e.readInt16()/32767),float16(e){return Bs(e)},float16x2:e=>lt(Bs(e),Bs(e)),float16x4:e=>Oe(Bs(e),Bs(e),Bs(e),Bs(e)),float32:e=>e.readFloat32(),float32x2:e=>lt(e.readFloat32(),e.readFloat32()),float32x3:e=>It(e.readFloat32(),e.readFloat32(),e.readFloat32()),float32x4:e=>Oe(e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32()),uint32:e=>e.readUint32(),uint32x2:e=>Ct(e.readUint32(),e.readUint32()),uint32x3:e=>gt(e.readUint32(),e.readUint32(),e.readUint32()),uint32x4:e=>Et(e.readUint32(),e.readUint32(),e.readUint32(),e.readUint32()),sint32:e=>e.readInt32(),sint32x2:e=>Xt(e.readInt32(),e.readInt32()),sint32x3:e=>cs(e.readInt32(),e.readInt32(),e.readInt32()),sint32x4:e=>Wt(e.readInt32(),e.readInt32(),e.readInt32(),e.readInt32()),"unorm10-10-10-2"(e){let t=e.readUint32();return Oe((t>>22)/1023,(t>>12&1023)/1023,(t>>2&1023)/1023,(t&3)/3)},"unorm8x4-bgra"(e){let t=e.readByte()/255,s=e.readByte()/255;return Oe(e.readByte()/255,s,t,e.readByte()/255)},unstruct(e,t){let s={},r=t.propTypes;for(let[o,n]of Object.entries(r))s[o]=jn(e,n);return s},disarray(e,t){let s=rs(t),r=[];for(let o=0;o"}' cannot be bound as 'storage'. Use .$usage('storage') to allow it.`),Object.setPrototypeOf(this,F5.prototype)}};function Oc(e){return e instanceof Va}function V$(e){return Oc(e)&&e.resourceType==="uniform"}function N$(e){return Oc(e)&&e.resourceType==="mutable"}function q$(e){return Oc(e)&&e.resourceType==="readonly"}var Va=class Mp{[me];[Xs];resourceType;static#e=void(Mp.prototype[B]=!0,mn(In(Mp.prototype,{asString(){return`${this.resourceType}BufferBinding:${xe(this)??""}`},resolve(t){let s=this.buffer.dataType,r=t.makeUniqueIdentifier(xe(this),"global"),{group:o,binding:n}=t.allocateFixedEntry(this.resourceType==="uniform"?{uniform:s}:{storage:s,access:this.resourceType},this.buffer);return t.gen.declareGlobalVar({group:o,binding:n,scope:this.resourceType,id:r,dataType:s,init:void 0})}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.buffer.dataType,this.resourceType,!1)}},simulateMode:{get(t){return t.buffers.has(this.buffer)||t.buffers.set(this.buffer,aa(this.buffer.dataType,this.buffer.initial)),t.buffers.get(this.buffer)},set(t,s){t.buffers.set(this.buffer,s)}},normalMode:{get(){throw new Q0(Al()?`Cannot access ${String(this.buffer)}. TypeGPU functions that depends on GPU resources need to be part of a compute dispatch, draw call or simulation`:".$ is inaccessible during normal JS execution. Try `.read()`")},set(){throw new Q0(Al()?`Cannot access ${String(this.buffer)}. TypeGPU functions that depends on GPU resources need to be part of a compute dispatch, draw call or simulation`:".$ is inaccessible during normal JS execution. Try `.write()`")}}}));constructor(t,s){this.resourceType=t,this[Xs]=s,this[me]={type:t,buffer:s,label:void 0}}get buffer(){return this[me].buffer}$name(t){return ot(this,t),this}write(t,s){this.buffer.write(t,s)}writePartial(t){this.buffer.writePartial(t)}patch(t){this.buffer.patch(t)}read(){return this.buffer.read()}},qx=new WeakMap;function X$(e){if(!Sl(e))throw new Error(`Cannot call as('mutable') on ${e}, as it is not allowed to be used as storage. To allow it, call .$usage('storage') when creating the buffer.`);let t=qx.get(e);return t||(t=new Va("mutable",e),qx.set(e,t)),t}var Xx=new WeakMap;function H$(e){if(!Sl(e))throw new Error(`Cannot call as('readonly') on ${e}, as it is not allowed to be used as storage. To allow it, call .$usage('storage') when creating the buffer.`);let t=Xx.get(e);return t||(t=new Va("readonly",e),Xx.set(e,t)),t}var Hx=new WeakMap;function j$(e){if(!b2(e))throw new Error(`Cannot call as('uniform') on ${e}, as it is not allowed to be used as a uniform. To allow it, call .$usage('uniform') when creating the buffer.`);let t=Hx.get(e);return t||(t=new Va("uniform",e),Hx.set(e,t)),t}function B5(e,t){let s=Object.values(e).flatMap(n=>Object.values(n.entries)).filter(n=>n!==null),r=s.filter(n=>"uniform"in n).length,o=s.filter(n=>"storage"in n).length;r>t.maxUniformBuffersPerShaderStage&&Vt.warn("webgpu-limits-exceeded",`Total number of uniform buffers (${r}) exceeds maxUniformBuffersPerShaderStage (${t.maxUniformBuffersPerShaderStage}). Consider: +1. Grouping some of the uniforms into one using 'd.struct', +2. Increasing the limit when requesting a device or creating a root.`),o>t.maxStorageBuffersPerShaderStage&&Vt.warn("webgpu-limits-exceeded",`Total number of storage buffers (${o}) exceeds maxStorageBuffersPerShaderStage (${t.maxStorageBuffersPerShaderStage}).`)}function K$(e){return Qt(e)||Us(e)?qs(rs(e),16):rs(e)}function Pp(e){if(Us(e)){Pp(e.elementType);let t=qs(_t(e.elementType),rs(e.elementType));t%16!==0&&Vt.warn("uniform-schema-misaligned",`Schema '${xe(e.elementType)??""}' is used in an array in a uniform buffer, and its stride (${t}) is not a multiple of 16. +This is not portable (see https://www.w3.org/TR/WGSL/#address-space-layout-constraints), and will break on some devices. +To address this, put the element schema in a struct and wrap the prop in 'd.align(16, ...)', or use a different schema like 'vec4f'.`)}if(Qt(e)){Object.values(e.propTypes).forEach(Pp),Object.entries(e.propTypes).forEach(([s,r])=>{let o=cl(e,i=>i[s]).offset,n=K$(r);o%n&&Vt.warn("uniform-schema-misaligned",`Schema '${xe(e)??""}' is used in a uniform buffer, and its property '${s}' does not meet required alignment (offset is ${o}, required alignment is ${n}). +This is not portable (see https://www.w3.org/TR/WGSL/#address-space-layout-constraints), and will break on some devices. +To address this, wrap the property '${s}' in 'd.align(${n}, ...)'.`)});let t=Object.keys(e.propTypes);for(let s=0;s_[r]).offset,c=cl(e,_=>_[o]).offset-d;i>c&&Vt.warn("uniform-schema-misaligned",`Schema '${xe(e)??""}' is used in a uniform buffer, and the difference between memory offsets of '${r}' and '${o}' props (${c}) is less than recommended (${i}). +This is not portable (see https://www.w3.org/TR/WGSL/#address-space-layout-constraints), and will break on some devices. +To address this, wrap the '${r}' prop in 'd.size(${i}, ...)'.`)}}}var Z$={uniform:j$,mutable:X$,readonly:H$};function F_(e,t,s){return Qa(t)?new jx(e,t,s):new jx(e,t,s,["storage","uniform"])}var jx=class{[B];[me];resourceType="buffer";#e;#t=!1;#s;get#r(){return this.#s??=new ArrayBuffer(_t(this.dataType))}#o;#n;#i;initial;usableAsUniform=!1;usableAsStorage=!1;usableAsVertex=!1;usableAsIndex=!1;usableAsIndirect=!1;constructor(e,t,s,r){this[me]={type:"buffer",device:e.device,dataType:t,flags:GPUBufferUsage.COPY_DST|GPUBufferUsage.COPY_SRC,usages:[],raw:void 0,label:void 0},this.#i=r,Mn(s)?(this.#e=!1,this[me].raw=s):(this.#e=!0,typeof s=="function"?this.#n=s:this.initial=s),this[B]={root:e,materialize:()=>{if(this.#t)throw new Error("This buffer has been destroyed");let o=this[me];return o.raw||(o.raw=o.device.createBuffer({size:_t(o.dataType),usage:o.flags,mappedAtCreation:!!this.initial||!!this.#n,label:xe(this)??""}),(this.initial||this.#n)&&(this.#n?this.#n(this):this.initial&&mm(this.#a(),this.dataType,this.initial),this.#d())),o.raw}}}get dataType(){return this[me].dataType}get flags(){return this[me].flags}set flags(e){this[me].flags=e}get buffer(){return this[B].materialize()}get destroyed(){return this.#t}get arrayBuffer(){return this.buffer.mapState==="mapped"?this.#a():this.#r}#a(){let e=this[me].raw;if(!e||e.mapState!=="mapped")throw new Error("Buffer is not mapped.");return this.#o??=e.getMappedRange(),this.#o}#d(){let e=this[me].raw;!e||e.mapState!=="mapped"||(this.#o=void 0,e.unmap())}$name(e){ot(this,e);let t=this[me].raw;return t&&(t.label=e),this}$usage(...e){for(let t of e){if(this.#i?.includes(t))throw new Error(`Buffer of type ${this.dataType.type} cannot be used as ${t}`);t==="uniform"&&Pp(this.dataType),this.flags|=t==="uniform"?GPUBufferUsage.UNIFORM:0,this.flags|=t==="storage"?GPUBufferUsage.STORAGE:0,this.flags|=t==="vertex"?GPUBufferUsage.VERTEX:0,this.flags|=t==="index"?GPUBufferUsage.INDEX:0,this.flags|=t==="indirect"?GPUBufferUsage.INDIRECT:0,this.usableAsUniform=this.usableAsUniform||t==="uniform",this.usableAsStorage=this.usableAsStorage||t==="storage",this.usableAsVertex=this.usableAsVertex||t==="vertex",this.usableAsIndex=this.usableAsIndex||t==="index",this.usableAsIndirect=this.usableAsIndirect||t==="indirect",this[me].usages.includes(t)||this[me].usages.push(t)}return this}$addFlags(e){if(!this.#e)throw new Error("Cannot add flags to a buffer that is not managed by TypeGPU.");return e&GPUBufferUsage.MAP_READ?(this.flags=GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ,this):e&GPUBufferUsage.MAP_WRITE?(this.flags=GPUBufferUsage.COPY_SRC|GPUBufferUsage.MAP_WRITE,this):(this.flags|=e,this)}compileWriter(){Ev(this.dataType)}write(e,t){let s=this.buffer;if(s.mapState==="mapped"){let i=this.#a();if(e instanceof ArrayBuffer&&e===i)return;mm(i,this.dataType,e,t);return}e instanceof ArrayBuffer&&e===this.#r||mm(this.#r,this.dataType,e,t);let{startOffset:r,endOffset:o}=I5(t,this.dataType,e),n=o-r;this[me].device.queue.writeBuffer(s,r,this.#r,r,n)}writePartial(e){this.patch(Ap(this.dataType,e))}patch(e){let t=this.buffer;if(t.mapState==="mapped")O$(this.#a(),this.dataType,e);else{let s=D5(this.dataType,e,this.#r);for(let{data:r,gpuOffset:o}of s)this[me].device.queue.writeBuffer(t,o,r)}}clear(e){let t=this.buffer;if(e){e[B].rawEncoder.clearBuffer(t);return}if(t.mapState==="mapped"){new Uint8Array(this.#a()).fill(0);return}let s=this[me].device.createCommandEncoder();s.clearBuffer(t),this[me].device.queue.submit([s.finish()])}copyFrom(e,t){if(this.buffer.mapState==="mapped")throw new Error("Cannot copy to a mapped buffer.");let s=_t(this.dataType);if(t){t[B].rawEncoder.copyBufferToBuffer(e.buffer,0,this.buffer,0,s);return}let r=this[me].device.createCommandEncoder();r.copyBufferToBuffer(e.buffer,0,this.buffer,0,s),this[me].device.queue.submit([r.finish()])}async read(){let e=this.buffer;if(e.mapState==="mapped")return pm(this.#a(),this.dataType);if(e.usage&GPUBufferUsage.MAP_READ){await e.mapAsync(GPUMapMode.READ);let o=pm(this.#a(),this.dataType);return this.#d(),o}let t=this[me].device.createBuffer({size:_t(this.dataType),usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ}),s=this[me].device.createCommandEncoder();s.copyBufferToBuffer(e,0,t,0,_t(this.dataType)),this[me].device.queue.submit([s.finish()]),await t.mapAsync(GPUMapMode.READ,0,_t(this.dataType));let r=pm(t.getMappedRange(),this.dataType);return t.unmap(),t.destroy(),r}as(e){return Z$[e](this)}destroy(){this.#t||(this.#t=!0,this.#o=void 0,this.#e&&this[me].raw?.destroy())}toString(){return`buffer:${xe(this)??""}`}},W5=class Ep{bindings;constructor(t){this.bindings=t}with(t,s){return new Ep([...this.bindings,[dd(t)||cd(t)?t.slot:t,s]])}pipe(t){let s=t(this);return new Ep([...this.bindings,...s.bindings])}};function*Q$(e){let t=0;for(;;)e.has(t)||(yield t),t++}function J$(e,t){return new V5(fv(),e,t)}function e4(e,t){return new V5(o5(),e,t)}function kv(e){let t=e;return t?.resourceType==="sampler"&&!!t[B]}function $v(e){let t=e;return t?.resourceType==="sampler-comparison"&&!!t[B]}var t4=class O5{[B]={materialize:void 0};resourceType;schema;#e;static#t=mn(In(O5.prototype,{asString(){return`${this.resourceType}:${xe(this)??""}`},resolve(t){let s=t.makeUniqueIdentifier(xe(this),"global"),r=t.allocateLayoutEntry(this.#e.layout);return t.addDeclaration(`@group(${r}) @binding(${this.#e.idx}) var ${s}: ${t.resolve(this.schema).value};`,s),ve(s,this.schema,"handle")}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.schema,"handle",!1)}},normalMode:{get(){throw new Error("Direct access to sampler values is possible only as part of a compute dispatch or draw call.")}}});constructor(t,s){this.schema=t,this.#e=s,this.resourceType=t.type==="sampler_comparison"?"sampler-comparison":"sampler",ot(this,s.key)}},V5=class N5{[B];[me];resourceType;schema;#e;static#t=mn(In(N5.prototype,{asString(){return`${this.resourceType}:${xe(this)??""}`},resolve(t){let s=t.makeUniqueIdentifier(xe(this),"global"),{group:r,binding:o}=t.allocateFixedEntry(this.schema.type==="sampler_comparison"?{sampler:"comparison"}:{sampler:this.#e?"filtering":"non-filtering"},this);return t.addDeclaration(`@group(${r}) @binding(${o}) var ${s}: ${t.resolve(this.schema).value};`,s),ve(s,this.schema,"handle")}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.schema,"handle",!1)}},normalMode:{get(){throw new Error("Direct access to sampler values is possible only as part of a compute dispatch or draw call.")}}});constructor(t,s,r){this.schema=t,this.resourceType=t.type==="sampler_comparison"?"sampler-comparison":"sampler",this[me]={type:this.resourceType,device:r.device,props:s,raw:void 0,label:void 0},this[B]={root:r,materialize:()=>{let o=this[me];return o.raw||(o.raw=o.device.createSampler({...o.props,label:xe(this)??""})),o.raw}},this.#e=s.minFilter==="linear"||s.magFilter==="linear"||s.mipmapFilter==="linear"}$name(t){return ot(this,t),this}},s4=class{resourceType="external-texture";[B]=!0;schema;#e;constructor(e,t){this.schema=e,this.#e=t,ot(this,t.key)}[kt](e){let t=e.makeUniqueIdentifier(xe(this),"global"),s=e.allocateLayoutEntry(this.#e.layout);return e.addDeclaration(`@group(${s}) @binding(${this.#e.idx}) var ${t}: ${e.resolve(this.schema).value};`,t),ve(t,s5(),"handle")}get[Hr](){let e=this.schema;return new Proxy({[B]:!0,get[oa](){return ve(this,e,"handle",!1)},[kt]:t=>t.resolve(this),toString:()=>`textureExternal:${xe(this)??""}.$`},Wi)}get $(){if(Yu())return this[Hr];throw new Error("Direct access to texture views values is possible only as part of a compute dispatch or draw call. Try .read() or .write() instead")}toString(){return`textureExternal:${xe(this)??""}`}},r4={channelType:a,vectorType:Oe,sampleTypes:["depth","unfilterable-float"],texelSize:"non-copyable"},o4={channelType:a,vectorType:Oe,sampleTypes:["depth","unfilterable-float"],texelSize:2},n4={channelType:a,vectorType:Oe,sampleTypes:["depth","unfilterable-float"],texelSize:4},a4={channelType:R,vectorType:Et,sampleTypes:["uint"],texelSize:1},Kx=new Map;function Vc(e){let t=Kx.get(e);return t===void 0&&(t=i4(e),Kx.set(e,t)),t}function i4(e){let t=_4(e),s=d4(e),r=e.includes("stencil");return{channelType:t,vectorType:t===R?Et:t===Z?Wt:Oe,texelSize:l4(e),sampleTypes:u4(e),canRenderAttachment:c4(e),...s&&{depthAspect:s},...r&&{stencilAspect:a4}}}function d4(e){if(e==="depth16unorm")return o4;if(e==="depth32float"||e==="depth32float-stencil8")return n4;if(e==="depth24plus"||e==="depth24plus-stencil8")return r4}function c4(e){return!(e.startsWith("bc")||e.startsWith("etc2")||e.startsWith("eac")||e.startsWith("astc")||e==="rgb9e5ufloat")}function _4(e){return e==="stencil8"||e.includes("uint")?R:e.includes("sint")?Z:a}function l4(e){let[,t,s]=e.match(/^(rgba|bgra|rg|r)(8|16|32)/)??[];return t&&s?t.length*Number(s)/8:e==="stencil8"?1:e==="depth16unorm"?2:e==="depth32float"?4:e==="depth32float-stencil8"?5:e==="depth24plus"||e==="depth24plus-stencil8"?"non-copyable":/^(bc[14]-|etc2-rgb8|eac-r11)/.test(e)?8:/^(bc|astc-|etc2-rgba|eac-rg)/.test(e)?16:4}function u4(e){return e==="stencil8"?["uint"]:e.includes("uint")?["uint"]:e.includes("sint")?["sint"]:e.includes("depth")?["depth","unfilterable-float"]:/^(r|rg|rgba)16(u|s)norm$/.test(e)?["unfilterable-float"]:["float","unfilterable-float"]}var m4=new Set(["r32float","rg32float","rgba32float"]);function p4(e,t){return m4.has(t)&&!e.features.has("float32-filterable")?["unfilterable-float"]:Vc(t).sampleTypes}function q5(e){let{videoWidth:t,videoHeight:s}=e;if(t&&s)return{width:t,height:s};let{naturalWidth:r,naturalHeight:o}=e;if(r&&o)return{width:r,height:o};let{codedWidth:n,codedHeight:i}=e;if(n&&i)return{width:n,height:i};let{width:d,height:c}=e;if(d&&c)return{width:d,height:c};throw new Error("Cannot determine dimensions of the provided image source.")}var f4=` +struct VertexOutput { + @builtin(position) pos: vec4f, + @location(0) uv: vec2f, +} + +@vertex +fn vs_main(@builtin(vertex_index) i: u32) -> VertexOutput { + const pos = array(vec2f(-1, -1), vec2f(3, -1), vec2f(-1, 3)); + const uv = array(vec2f(0, 1), vec2f(2, 1), vec2f(0, -1)); + return VertexOutput(vec4f(pos[i], 0, 1), uv[i]); +}`,v4=` +@group(0) @binding(0) var src: texture_2d; +@group(0) @binding(1) var samp: sampler; + +@fragment +fn fs_main(@location(0) uv: vec2f) -> @location(0) vec4f { + return textureSample(src, samp, uv); +}`,y4=` +@group(0) @binding(0) var src: texture_2d; +@group(0) @binding(1) var samp: sampler; + +@fragment +fn fs_main(@location(0) uv: vec2f) -> @location(0) vec4f { + let r = textureGather(0, src, samp, uv); + let g = textureGather(1, src, samp, uv); + let b = textureGather(2, src, samp, uv); + let a = textureGather(3, src, samp, uv); + return vec4f(dot(r, vec4f(0.25)), dot(g, vec4f(0.25)), dot(b, vec4f(0.25)), dot(a, vec4f(0.25))); +}`,kp=new WeakMap;function h4(e){let t=kp.get(e);return t||(t={vertexModule:e.createShaderModule({code:f4}),filterableResources:new Map,layoutResources:new Map},kp.set(e,t)),t}function x4(e,t,s){let r=h4(e),o=r.filterableResources.get(t);o||(o={fragmentModule:e.createShaderModule({code:t?v4:y4}),sampler:e.createSampler(t?{magFilter:"linear",minFilter:"linear"}:{})},r.filterableResources.set(t,o));let n=`${t}:${s}`,i=r.layoutResources.get(n);if(!i){let d=e.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:s}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{type:t?"filtering":"non-filtering"}}]});i={bindGroupLayout:d,pipelineLayout:e.createPipelineLayout({bindGroupLayouts:[d]})},r.layoutResources.set(n,i)}return{vertexModule:r.vertexModule,...o,...i}}function X5(e){let{device:t,source:s,destination:r,format:o,filterable:n,sampleType:i}=e,d=x4(t,n,i),c=t.createRenderPipeline({layout:d.pipelineLayout,vertex:{module:d.vertexModule},fragment:{module:d.fragmentModule,targets:[{format:o}]},primitive:{topology:"triangle-list"}}),_=t.createBindGroup({layout:d.bindGroupLayout,entries:[{binding:0,resource:s},{binding:1,resource:d.sampler}]}),u=!e.encoder,m=e.encoder??t.createCommandEncoder(),p=m.beginRenderPass({colorAttachments:[{view:r,loadOp:"clear",storeOp:"store"}]});p.setPipeline(c),p.setBindGroup(0,_),p.draw(3),p.end(),u&&t.queue.submit([m.finish()])}function g4(e){kp.delete(e)}function H5(e,t,s){let r=Vc(t),o=p4(e,t),n=o.includes("float"),i=o.includes("unfilterable-float");if(!n&&!i)throw new Error(`Cannot ${s} for format '${t}': only float formats are supported.`);if(!r.canRenderAttachment)throw new Error(`Cannot ${s} for format '${t}': format does not support render attachments.`);return{filterable:n,sampleType:n?"float":"unfilterable-float"}}function b4(e,t,s=0,r){if(t.dimension!=="2d")throw new Error("Mipmap generation only supports 2D textures.");let{filterable:o,sampleType:n}=H5(e,t.format,"generate mipmaps"),i=r??t.mipLevelCount-s;for(let d=0;d({dimension:"2d",baseMipLevel:u,mipLevelCount:1,baseArrayLayer:d,arrayLayerCount:1});X5({device:e,source:t.createView(_(c)),destination:t.createView(_(c+1)),format:t.format,filterable:o,sampleType:n})}}function w4(e,t,s,r=0){if(t.dimension!=="2d")throw new Error("Resampling only supports 2D textures.");let{filterable:o}=H5(e,t.format,"resample"),{width:n,height:i}=q5(s),d=e.createTexture({size:[n,i],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT});e.queue.copyExternalImageToTexture({source:s},{texture:d},[n,i]);let c=e.createTexture({size:[t.width,t.height],format:t.format,usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.COPY_SRC}),_=e.createCommandEncoder();X5({device:e,source:d.createView(),destination:c.createView(),format:t.format,filterable:o,sampleType:"float",encoder:_}),_.copyTextureToTexture({texture:c},{texture:t,origin:{x:0,y:0,z:r}},{width:t.width,height:t.height,depthOrArrayLayers:1}),e.queue.submit([_.finish()]),d.destroy(),c.destroy()}function T4(e){return{dimension:e.dimension??"2d",sampleType:Vc(e.format).channelType,multisampled:(e.sampleCount??1)!==1}}function S4(e,t,s){return new A4(e,t,s)}function Tc(e){return e?.resourceType==="texture"&&!!e[B]}function Oi(e){return e?.resourceType==="texture-view"&&!!e[B]}var A4=class{[B];[me];resourceType="texture";usableAsSampled=!1;usableAsStorage=!1;usableAsRender=!1;#e;#t=!1;#s;constructor(e,t,s){this.#s=s===void 0,this[me]={type:"texture",device:t.device,props:e,flags:GPUTextureUsage.COPY_DST|GPUTextureUsage.COPY_SRC,flagsOverridden:!1,usages:[],raw:s,label:void 0},this.#e=Vc(e.format),this[B]={root:t,materialize:()=>{if(this.#t)throw new Error("This texture has been destroyed");let r=this[me];if(!r.raw){let o=r.props;r.raw=(globalThis.__TYPEGPU_AUTONAME__??(n=>n))(r.device.createTexture({label:xe(this)??"",format:o.format,size:o.size,usage:r.flags,dimension:o.dimension??"2d",viewFormats:o.viewFormats??[],mipLevelCount:o.mipLevelCount??1,sampleCount:o.sampleCount??1}),"raw")}return r.raw}}}get props(){return this[me].props}$name(e){return ot(this,e),this}$usage(...e){let t=this[me];if(t.flagsOverridden)throw new Error("Cannot call $usage() after $overrideFlags().");let s=e.includes("storage"),r=e.includes("sampled"),o=e.includes("render"),n=e.includes("transient"),i=(r?GPUTextureUsage.TEXTURE_BINDING:0)|(s?GPUTextureUsage.STORAGE_BINDING:0),d=GPUTextureUsage.TRANSIENT_ATTACHMENT|GPUTextureUsage.RENDER_ATTACHMENT,c=t.flags|i|(o?GPUTextureUsage.RENDER_ATTACHMENT:0),_=n||!!(t.flags&GPUTextureUsage.TRANSIENT_ATTACHMENT),u=!!(c&(GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.STORAGE_BINDING));if(_&&u)throw new Error("Transient texture usage cannot be combined with 'sampled' or 'storage'.");t.flags=n?d:c,this.usableAsStorage||=s,this.usableAsSampled||=r,this.usableAsRender||=o||n;for(let m of e)t.usages.includes(m)||t.usages.push(m);return this}$overrideFlags(e){let t=this[me];return t.flags=e,t.flagsOverridden=!0,this.usableAsSampled=!0,this.usableAsStorage=!0,this.usableAsRender=!0,this}createView(e,t){return e==="render"?new P4(this,t):new M4(e??vP(T4(this.props)),this,t)}#r(e=0){let t=2**e,[s,r,o]=[Math.max(1,Math.floor((this.props.size[0]??1)/t)),Math.max(1,Math.floor((this.props.size[1]??1)/t)),Math.max(1,Math.floor((this.props.size[2]??1)/t))],n=this.#e.texelSize;if(n==="non-copyable")throw new Error(`Cannot clear texture with format '${this.props.format}': this format does not support copy operations.`);this[me].device.queue.writeTexture({texture:this[B].materialize(),mipLevel:e},new Uint8Array(s*r*o*n),{bytesPerRow:n*s,rowsPerImage:r},[s,r,o])}clear(e="all"){if(e==="all"){let t=this.props.mipLevelCount??1;for(let s=0;s=(this.props.mipLevelCount??1))throw new Error(`Base mip level ${e} is out of range. Texture has ${this.props.mipLevelCount??1} mip levels.`);b4(this[me].device,this[B].materialize(),e,s)}write(e,t=0){if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)){this.#o(e,typeof t=="number"?t:0);return}if(!this.usableAsRender)throw new Error("texture.write(...) with image sources requires 'render' usage. Add it via the $usage('render') method.");let s=typeof t=="number"?void 0:t,r=this.props.dimension??"2d";if(!Array.isArray(e)){this.#n(e,r==="3d"?0:void 0,s);return}let o=this.props.size[2]??1;e.length>o&&Vt.warn("suspicious",`Too many image sources provided. Expected ${o} layers, got ${e.length}. Extra sources will be ignored.`);for(let n=0;n>t),r=Math.max(1,(this.props.size[1]??1)>>t),o=Math.max(1,(this.props.size[2]??1)>>t),n=this.#e.texelSize;if(n==="non-copyable")throw new Error(`Cannot write to texture with format '${this.props.format}': this format does not support copy operations.`);let i=s*r*o*n,d=e.byteLength??e.byteLength;if(d!==i)throw new Error(`Buffer size mismatch. Expected ${i} bytes for mip level ${t}, got ${d} bytes.`);this[me].device.queue.writeTexture({texture:this[B].materialize(),mipLevel:t},"buffer"in e?e.buffer:e,{bytesPerRow:n*s,rowsPerImage:r},[s,r,o])}#n(e,t,s){let r=this.props.size[0],o=this.props.size[1]??1,{width:n,height:i}=q5(e);if(n!==r||i!==o){if(s?.fit!=="stretch")throw new Error(`Texture write source size ${n}x${i} does not match target size ${r}x${o}. Pass fit: 'stretch' to resize explicitly.`);w4(this[me].device,this[B].materialize(),e,t);return}this[me].device.queue.copyExternalImageToTexture({source:e},{texture:this[B].materialize(),...t!==void 0&&{origin:{x:0,y:0,z:t}}},t!==void 0?[r,o,1]:this.props.size)}copyFrom(e){if(e.props.format!==this.props.format)throw new Error(`Texture format mismatch. Source texture has format ${e.props.format}, target texture has format ${this.props.format}`);if(e.props.size[0]!==this.props.size[0]||(e.props.size[1]??1)!==(this.props.size[1]??1)||(e.props.size[2]??1)!==(this.props.size[2]??1))throw new Error(`Texture size mismatch. Source texture has size ${e.props.size.join("x")}, target texture has size ${this.props.size.join("x")}`);let t=this[me].device.createCommandEncoder();t.copyTextureToTexture({texture:e[B].materialize()},{texture:this[B].materialize()},e.props.size),this[me].device.queue.submit([t.finish()])}toString(){return`${this.resourceType}:${xe(this)??""}`}get destroyed(){return this.#t}destroy(){this.#t||(this.#t=!0,this.#s&&this[me].raw?.destroy())}},M4=class{[B];[me];resourceType="texture-view";constructor(e,t,s){this[me]={type:"texture-view",texture:t,schema:e,descriptor:s,raw:void 0,label:void 0},this[B]={unwrap:()=>{let r=this[me];if(!r.raw){let o=r.schema,n=dl(o)?o.format:r.texture.props.format;r.raw=(globalThis.__TYPEGPU_AUTONAME__??(i=>i))(r.texture[B].materialize().createView({...r.descriptor,label:xe(this)??"",format:r.descriptor?.format??n,dimension:o.dimension}),"raw")}return r.raw},format:s?.format??(dl(e)?e.format:t.props.format),aspect:s?.aspect}}get schema(){return this[me].schema}$name(e){return ot(this,e),this[me].raw&&(this[me].raw.label=e),this}get[Hr](){let e=this.schema;return new Proxy({[B]:!0,get[oa](){return ve(this,e,"handle",!1)},[kt]:t=>t.resolve(this),toString:()=>`${this.toString()}.$`},Wi)}get $(){if(Yu())return this[Hr];throw new Error("Direct access to texture view values is possible only as part of a compute dispatch or draw call. Try .read() or .write() instead")}get size(){return this[me].texture.props.size}toString(){return`textureView:${xe(this)??""}`}[kt](e){let t=e.makeUniqueIdentifier(xe(this),"global"),{group:s,binding:r}=e.allocateFixedEntry(dl(this.schema)?{storageTexture:this.schema}:{texture:this.schema,sampleType:this[me].descriptor?.sampleType??this.schema.bindingSampleType[0]},this);return e.gen.declareGlobalVar({group:s,binding:r,id:t,dataType:this.schema,scope:"handle",init:void 0})}},Zx=class{[B]={unwrap:void 0};resourceType="texture-view";#e;schema;constructor(e,t){this.schema=e,this.#e=t,ot(this,t.key)}toString(){return`textureView:${xe(this)??""}`}[kt](e){let t=e.makeUniqueIdentifier(xe(this),"global"),s=e.allocateLayoutEntry(this.#e.layout);return e.addDeclaration(`@group(${s}) @binding(${this.#e.idx}) var ${t}: ${e.resolve(this.schema).value};`,t),ve(t,this.schema,"handle")}get[Hr](){let e=this.schema;return new Proxy({[B]:!0,get[oa](){return ve(this,e,"handle",!1)},[kt]:t=>t.resolve(this),toString:()=>`${this.toString()}.$`},Wi)}get $(){if(Yu())return this[Hr];throw new Error(`Accessed view '${xe(this)??""}' outside of codegen mode. Direct access to texture views values is possible only as part of a compute dispatch or draw call. Try .read() or .write() instead`)}$name(e){return ot(this,e),this}},P4=class{[B];[me];resourceType="texture-view";constructor(e,t={}){this[me]={type:"texture-view",texture:e,schema:"render",descriptor:t,raw:void 0,label:void 0},this[B]={unwrap:()=>e[B].materialize().createView({label:xe(this)??"",...this.descriptor}),format:t.format??e.props.format,aspect:t.aspect}}get descriptor(){return this[me].descriptor??{}}};function E4(e){return!!e?.usableAsSampled}var k4=class j5 extends Error{constructor(t){super(`Resource '${xe(t)??""}' cannot be bound as 'sampled'. Use .$usage('sampled') to allow it.`),Object.setPrototypeOf(this,j5.prototype)}},Qx=class $p{[B];usage;dataType;#e;static#t=void($p.prototype.resourceType="laid-out-buffer",mn(In($p.prototype,{asString(){return`${this.usage}:${xe(this)??""}`},resolve(t){let s=t.makeUniqueIdentifier(xe(this),"global"),r=t.allocateLayoutEntry(this.#e.layout);return t.gen.declareGlobalVar({group:r,binding:this.#e.idx,scope:this.usage,id:s,dataType:this.dataType,init:void 0})}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.dataType,this.usage,!1)}},normalMode:{get(){throw new Error("Direct access to buffer values is possible only as part of a compute dispatch or draw call. Try .read() or .write() instead")}}}));constructor(t,s,r){this[B]={dataType:s},this.usage=t,this.dataType=s,this.#e=r,ot(this,r.key)}};function K5(e){return new U4({...e})}function Zu(e){return!!e&&e.resourceType==="bind-group-layout"}function ca(e){return!!e&&e.resourceType==="bind-group"}var $4=class Z5 extends Error{constructor(t,s){super(`Bind group '${t??""}' is missing a required binding '${s}'`),Object.setPrototypeOf(this,Z5.prototype)}},Jx=["compute","fragment"],Yd=["compute","vertex","fragment"],U4=class{[B];[me];resourceType="bind-group-layout";$={};entries;get[Hr](){return this.$}constructor(e){this.entries=e,this[B]=[];let t={};this[me]={type:"bind-group-layout",entries:t,index:void 0,label:void 0};let s=0;for(let[r,o]of Object.entries(e)){if(o===null){t[r]=null,s++;continue}let n={layout:this,key:r,idx:s},i;if(t[r]=o,"uniform"in o&&(i=new Qx("uniform",o.uniform,n)),"storage"in o){let d="type"in o.storage?o.storage:o.storage(0);i=new Qx(o.access??"readonly",d,n),t[r]={...o,storage:d}}"texture"in o&&(i=new Zx(o.texture,n)),"storageTexture"in o&&(i=new Zx(o.storageTexture,n)),"externalTexture"in o&&(i=new s4(o.externalTexture,n)),"sampler"in o&&(i=new t4(o.sampler==="comparison"?o5():fv(),n)),ds(i!==void 0,"Internal error, expected item to be defined"),Object.defineProperty(this.$,r,{get:()=>i.$}),this[B].push(i),s++}}toString(){return`bindGroupLayout:${xe(this)??""}`}get index(){return this[me].index}$name(e){return ot(this,e),this}$idx(e){return this[me].index=e,this}unwrap(e){return e.device.createBindGroupLayout({label:xe(this)??"",entries:Object.values(this.entries).map((t,s)=>{if(t===null)return null;let r=t.visibility,o={binding:s,visibility:0};if("uniform"in t)r=r??Yd,o.buffer={type:"uniform"};else if("storage"in t)r=r??(t.access==="mutable"?Jx:Yd),o.buffer={type:t.access==="mutable"?"storage":"read-only-storage"};else if("sampler"in t)r=r??Yd,o.sampler={type:t.sampler};else if("texture"in t){r=r??Yd;let{multisampled:n,dimension:i,bindingSampleType:d}=t.texture;o.texture={sampleType:t.sampleType??d[0],viewDimension:i,multisampled:n}}else if("storageTexture"in t){r=r??Jx;let{dimension:n,access:i,format:d}=t.storageTexture;o.storageTexture={access:i,format:d,viewDimension:n}}else"externalTexture"in t&&(r=r??Yd,o.externalTexture={});return r?.includes("compute")&&(o.visibility|=GPUShaderStage.COMPUTE),r?.includes("vertex")&&(o.visibility|=GPUShaderStage.VERTEX),r?.includes("fragment")&&(o.visibility|=GPUShaderStage.FRAGMENT),o}).filter(t=>t!==null)})}},Q5=class{[B];[me];resourceType="bind-group";#e;constructor(e,t,s,r){if(this.#e=s,this[me]={type:"bind-group",device:e?.device,layout:t,raw:r,label:void 0},this[B]={materialize:()=>{let o=this[me];return o.raw||(ds(e,"Cannot unwrap a bind group created outside of a root."),o.raw=e.unwrap(this)),o.raw}},!r){for(let o of Object.keys(t.entries))if(t.entries[o]!==null&&!(o in s))throw new $4(xe(t),o)}}get layout(){return this[me].layout}get entries(){return this.#e}unwrap(e){let t=this[me].raw;return t||e.device.createBindGroup({label:xe(this.layout)??"",layout:e.unwrap(this.layout),entries:Object.entries(this.layout.entries).map(([s,r],o)=>{if(r===null)return null;let n=this.entries[s];if(n===void 0)throw new Error(`'${s}' is a resource required to populate bind group layout '${xe(this.layout)??""}'.`);if("uniform"in r){let i;if(hc(n)){if(!b2(n))throw new ZA(n);i={buffer:e.unwrap(n)}}else V$(n)?i={buffer:e.unwrap(n)}:i={buffer:n};return{binding:o,resource:i}}if("storage"in r){let i;if(hc(n)){if(!Sl(n))throw new Nx(n);i={buffer:e.unwrap(n)}}else N$(n)||q$(n)?(ds(r.access==="mutable"==(n.resourceType==="mutable"),"Invalid buffer access mode."),i={buffer:e.unwrap(n)}):i={buffer:n};return{binding:o,resource:i}}if("texture"in r){let i;if(Tc(n)){if(!E4(n))throw new k4(n);i=e.unwrap(n.createView(r.texture))}else Oi(n)?i=e.unwrap(n):i=n;return{binding:o,resource:i}}if("storageTexture"in r){let i;if(Tc(n)){if(!Sl(n))throw new Nx(n);i=e.unwrap(n.createView(r.storageTexture))}else Oi(n)?i=e.unwrap(n):i=n;return{binding:o,resource:i}}if("sampler"in r)return $v(n)||kv(n)?{binding:o,resource:e.unwrap(n)}:{binding:o,resource:n};if("externalTexture"in r)return{binding:o,resource:n};throw new Error(`Malformed bind group entry: ${io(n)}`)}).filter(s=>s!==null)})}};function Nc(e){return new C4(e)}var C4=class{[B]=!0;[me];resourceType="slot";constructor(e=void 0){this[me]={type:"slot",defaultValue:e,label:void 0}}get defaultValue(){return this[me].defaultValue}$name(e){return ot(this,e),this}areEqual(e,t){return Object.is(e,t)}toString(){return`slot:${xe(this)??""}`}get[Hr](){let e=Na();if(!e)throw new Error("Cannot access tgpu.slot's value outside of resolution.");return kl(e.unwrap(this))}get $(){return this[Hr]}},pd=Nc(null);function Qu(e,t){return new e6("private",e,t)}function J5(e){return new e6("workgroup",e)}var e6=class t6{[me];static#e=(()=>{let t=t6.prototype;t.resourceType="var",t[B]={},mn(In(t,{asString(){return`var:${xe(this)??""}`},resolve(s){let r=s.makeUniqueIdentifier(xe(this),"global"),o=this[me].initialValue?ve(this[me].initialValue,this[me].dataType,"constant"):void 0;return s.gen.declareGlobalVar({scope:this[me].scope,id:r,dataType:this[me].dataType,init:o})}}),{codegenMode:{getBaseSnippet(s){return ve(s,this[me].dataType,this[me].scope,!1)}},simulateMode:{get(s){return s.vars[this[me].scope].has(this)||s.vars[this[me].scope].set(this,this[me].initialValue),s.vars[this[me].scope].get(this)},set(s,r){s.vars[this[me].scope].set(this,r)}},normalMode:{get(){throw new Z0(Al()?`Cannot access variable '${xe(this)??""}'. TypeGPU functions that depends on GPU resources need to be part of a compute dispatch, draw call or simulation`:"TypeGPU variables are inaccessible during normal JS execution. If you wanted to simulate GPU behavior, try `tgpu.simulate()`")},set(s){throw new Z0(Al()?`Cannot access variable ${xe(this)??""}. TypeGPU functions that depends on GPU resources need to be part of a compute dispatch, draw call or simulation`:"TypeGPU variables are inaccessible during normal JS execution. If you wanted to simulate GPU behavior, try `tgpu.simulate()`")}}})})();constructor(t,s,r){this[me]={type:"var",scope:t,dataType:s,initialValue:r,label:void 0}}$name(t){return ot(this,t),this}},s6=Qu(R,0).$name("dataBlockIndex"),r6=Qu(R,0).$name("dataByteIndex"),o6=Nc().$name("dataBuffer"),R4=qt([],R)`() { + let i = dataByteIndex; + dataByteIndex = dataByteIndex + 1u; + return i; +}`.$uses({dataByteIndex:r6}).$name("nextByteIndex"),ze="dataBuffer[dataBlockIndex].serializedData[nextByteIndex()]",n6={f32:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([a])`(n) { + ${ze} = bitcast(n); +}`,"f32"),f16:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([xs])`(n) { + ${ze} = pack2x16float(vec2f(f32(n), 0.0)); +}`,"f16"),i32:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Z])`(n) { + ${ze} = bitcast(n); +}`,"i32"),u32:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([R])`(n) { + ${ze} = n; +}`,"u32"),bool:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([ft])`(b) { + ${ze} = u32(b); +}`,"bool"),vec2f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([lt])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); +}`,"vec2f"),vec3f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([It])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); + ${ze} = bitcast(v.z); +}`,"vec3f"),vec4f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Oe])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); + ${ze} = bitcast(v.z); + ${ze} = bitcast(v.w); +}`,"vec4f"),vec2h:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Vs])`(v) { + ${ze} = pack2x16float(vec2f(f32(v.x), f32(v.y))); +}`,"vec2h"),vec3h:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Pr])`(v) { + ${ze} = pack2x16float(vec2f(f32(v.x), f32(v.y))); + ${ze} = pack2x16float(vec2f(f32(v.z), 0.0)); +}`,"vec3h"),vec4h:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Ns])`(v) { + ${ze} = pack2x16float(vec2f(f32(v.x), f32(v.y))); + ${ze} = pack2x16float(vec2f(f32(v.z), f32(v.w))); +}`,"vec4h"),vec2i:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Xt])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); +}`,"vec2i"),vec3i:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([cs])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); + ${ze} = bitcast(v.z); +}`,"vec3i"),vec4i:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Wt])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); + ${ze} = bitcast(v.z); + ${ze} = bitcast(v.w); +}`,"vec4i"),vec2u:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Ct])`(v) { + ${ze} = v.x; + ${ze} = v.y; +}`,"vec2u"),vec3u:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([gt])`(v) { + ${ze} = v.x; + ${ze} = v.y; + ${ze} = v.z; +}`,"vec3u"),vec4u:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Et])`(v) { + ${ze} = v.x; + ${ze} = v.y; + ${ze} = v.z; + ${ze} = v.w; +}`,"vec4u"),"vec2":qt([Or])`(v) { + ${ze} = u32(v.x); + ${ze} = u32(v.y); +}`,"vec3":qt([Vr])`(v) { + ${ze} = u32(v.x); + ${ze} = u32(v.y); + ${ze} = u32(v.z); +}`,"vec4":qt([Nr])`(v) { + ${ze} = u32(v.x); + ${ze} = u32(v.y); + ${ze} = u32(v.z); + ${ze} = u32(v.w); +}`,mat2x2f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Gn])`(m) { + ${ze} = bitcast(m[0][0]); + ${ze} = bitcast(m[0][1]); + ${ze} = bitcast(m[1][0]); + ${ze} = bitcast(m[1][1]); +}`,"mat2x2f"),mat3x3f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Yn])`(m) { + ${ze} = bitcast(m[0][0]); + ${ze} = bitcast(m[0][1]); + ${ze} = bitcast(m[0][2]); + ${ze} = 0u; + ${ze} = bitcast(m[1][0]); + ${ze} = bitcast(m[1][1]); + ${ze} = bitcast(m[1][2]); + ${ze} = 0u; + ${ze} = bitcast(m[2][0]); + ${ze} = bitcast(m[2][1]); + ${ze} = bitcast(m[2][2]); + ${ze} = 0u; +}`,"mat3x3f"),mat4x4f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Hs])`(m) { + ${ze} = bitcast(m[0][0]); + ${ze} = bitcast(m[0][1]); + ${ze} = bitcast(m[0][2]); + ${ze} = bitcast(m[0][3]); + ${ze} = bitcast(m[1][0]); + ${ze} = bitcast(m[1][1]); + ${ze} = bitcast(m[1][2]); + ${ze} = bitcast(m[1][3]); + ${ze} = bitcast(m[2][0]); + ${ze} = bitcast(m[2][1]); + ${ze} = bitcast(m[2][2]); + ${ze} = bitcast(m[2][3]); + ${ze} = bitcast(m[3][0]); + ${ze} = bitcast(m[3][1]); + ${ze} = bitcast(m[3][2]); + ${ze} = bitcast(m[3][3]); +}`,"mat4x4f")};for(let[e,t]of Object.entries(n6))t.$name(`serialize${e[0].toLocaleUpperCase()}${e.slice(1)}`).$uses({dataBlockIndex:s6,nextByteIndex:R4,dataBuffer:o6});function a6(e){return`(${e.map((t,s)=>`_arg_${s}`).join(", ")})`}function i6(e,t){let s=n6[e.type];if(s)return s.with(o6,t);if(Qt(e)){let r=Object.keys(e.propTypes),o=d6(Object.values(e.propTypes),t);return qt([e])`(arg) {\n propsSerializer(${r.map(n=>`arg.${n}`).join(", ")});\n}`.$uses({propsSerializer:o}).$name(`${xe(e)??"struct"}Serializer`)}if(Us(e)){let r=e.elementType,o=e.elementCount,n=i6(r,t);return qt([e])`(arg) {\n${Array.from({length:o},(i,d)=>` elementSerializer(arg[${d}]);`).join(` +`)}\n}`.$uses({elementSerializer:n}).$name("arraySerializer")}throw new Error(`Cannot serialize data of type ${e.type}`)}function d6(e,t){let s={};return(globalThis.__TYPEGPU_AUTONAME__??(r=>r))(qt(e),"shell")`${a6(e)} {\n${e.map((r,o)=>(s[`serializer${o}`]=i6(r,t),` serializer${o}(_arg_${o});`)).join(` +`)}\n}`.$uses(s).$name("compoundSerializer")}function z4(e,t,s,r,o){let n=t.map(_t).reduce((c,_)=>c+_,0);if(n>o.logSizeLimit)throw new Error(`Logged data needs to fit in ${o.logSizeLimit} bytes (one of the logs requires ${n} bytes). Consider increasing the limit by passing appropriate options to tgpu.init().`);let i=d6(t,s).$name(`log${e}serializer`),d=a6(t);return qt(t)`${d} { + dataBlockIndex = atomicAdd(&indexBuffer, 1); + if (dataBlockIndex >= ${o.logCountLimit}) { + return; + } + dataBuffer[dataBlockIndex].id = ${e}; + dataByteIndex = 0; + + compoundSerializer${d}; +}`.$uses({indexBuffer:r,dataBuffer:s,dataBlockIndex:s6,dataByteIndex:r6,compoundSerializer:i}).$name(`log${e}`)}var G4={logCountLimit:64,logSizeLimit:252,messagePrefix:" GPU "},c6=ve("/* console.log() */",_s,"runtime"),Y4=class{get logResources(){}generateLog(){return Vt.warn("fallback","'console.log' is only supported when resolving pipelines."),c6}},L4=class{#e;#t;#s=1;#r;#o;constructor(e){this.#e={...G4,...e[B].logOptions},this.#t=new Map;let t=ut({id:R,serializedData:pt(R,Math.ceil(this.#e.logSizeLimit/4))}).$name("SerializedLogData");this.#o=e.createMutable(pt(t,this.#e.logCountLimit)).$name("dataBuffer"),this.#r=e.createMutable($P(R)).$name("indexBuffer")}generateLog(e,t,s){if(pd.$==="vertex")return Vt.warn("suspicious","'console' operations are not supported in vertex shaders."),c6;let r=this.#s++,o=s.map(c=>{if(c.dataType===Ut)return c;let _=Qn(e,[c],[Ca(c.dataType)])?.[0];return ds(_,`Internal error. Expected type ${c.dataType} to be convertible to ${Ca(c.dataType)}`),_}).map(MM),n=o.filter(c=>c.dataType!==Ut),i=z4(r,n.map(c=>c.dataType),this.#o,this.#r,this.#e),d=ve(ce`${e.resolve(i).value}(${n})`,_s,"runtime");return this.#t.set(r,{op:t,argTypes:o.map(c=>c?.dataType===Ut?c?.value:c?.dataType)}),d}get logResources(){return this.#s===1?void 0:{dataBuffer:this.#o,indexBuffer:this.#r,options:this.#e,logIdToMeta:this.#t}}};function I4(e){return e?.resourceType==="shellless-impl"}function D4(e,t){let s=ri(t,"normal");return{[B]:!0,[Xs]:s,resourceType:"shellless-impl",argTypes:e,[kt](r){return s.resolve(r,e,void 0)},toString(){return`fn*:${xe(s)??""}(${e.map(r=>r.toString()).join(", ")})`}}}var F4=new RegExp(`[${[...S5].join("")}]+`,"ug"),eg=/[.\p{XID_Continue}]/u;function tg(e){let t=W4(e).split(F4).filter(r=>r!==""),s="";for(let r=0;r0;)e.startsWith("/*",r)?(o+=1,r+=2):e.startsWith("*/",r)?(o-=1,r+=2):r+=1;if(o>0)throw new SyntaxError("Block comment opening without corresponding closing found during minification.");s=r;continue}if(e.startsWith("*/",r))throw new SyntaxError("Block comment closing without corresponding opening found during minification.");r+=1}return t+e.slice(s)}var Up="#CATCHALL#",O4=class{_stack=[];_itemDepth=0;get itemDepth(){return this._itemDepth}get topItem(){let e=this._stack[this._stack.length-1];if(!e||e.type!=="item")throw new Error("Internal error, expected item layer to be on top.");return e}get topFunctionScope(){return this._stack.findLast(e=>e.type==="functionScope")}get topBlockScope(){return this._stack.findLast(e=>e.type==="blockScope")}get blockDepth(){let e=0;for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="functionScope")break;s?.type==="blockScope"&&e++}return e}pushItem(){this._itemDepth++,this._stack.push({type:"item",usedSlots:new Set})}pushSlotBindings(e){this._stack.push({type:"slotBinding",bindingMap:new WeakMap(e)})}pushFunctionScope(e,t,s,r){let o={type:"functionScope",functionType:e,argAccess:t,returnType:s,externalMap:r,reportedReturnTypes:new Set,placeholderForVariable:new Map,modifiedVariables:new Set};return this._stack.push(o),o}pushBlockScope(){this._stack.push({type:"blockScope",takenLocalIdentifiers:new Set,declarations:new Map,externals:new Map})}pop(e){let t=this._stack[this._stack.length-1];if(!t||e&&t.type!==e)throw new Error(`Internal error, expected a ${e} layer to be on top.`);let s=this._stack.pop();return e==="item"&&this._itemDepth--,s}readSlot(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="item")s.usedSlots.add(e);else if(s?.type==="slotBinding"){let r=s.bindingMap.get(e);if(r!==void 0)return r}else if(!(s?.type==="functionScope"||s?.type==="blockScope"))throw new Error("Unknown layer type.")}return e.defaultValue}getSnippetById(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="functionScope"){let r=s.argAccess[e];if(r)return r();if(Object.hasOwn(s.externalMap,e)){let o=s.externalMap[e];return Di(o)&&xe(o)===void 0&&ot(o,e.replaceAll(".","_")),Wr(o)}return}if(s?.type==="blockScope"){let r=s.declarations.get(e)??s.externals.get(e);if(r!==void 0)return r}}}isIdentifierTakenLocally(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="functionScope")return!1;if(s?.type==="blockScope"&&s.takenLocalIdentifiers.has(e))return!0}return!1}isIdentifierTakenInCallStack(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="blockScope"&&s.takenLocalIdentifiers.has(e))return!0}return!1}defineBlockVariable(e,t){if(t.dataType===Ut)throw Error(`Tried to define variable '${e}' of unknown type`);for(let s=this._stack.length-1;s>=0;--s){let r=this._stack[s];if(r?.type==="blockScope"){r.declarations.set(e,t);return}}throw new Error("No block scope found to define a variable in.")}setBlockExternals(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="blockScope"){Object.entries(e).forEach(([r,o])=>{s.externals.set(r,o)});return}}throw new Error("No block scope found to set externals in.")}clearBlockExternals(){for(let e=this._stack.length-1;e>=0;--e){let t=this._stack[e];if(t?.type==="blockScope"){t.externals.clear();return}}throw new Error("No block scope found to clear externals in.")}},_c=[""," "," "," "," "," "," "," "," "],fm=_c.length-1,V4=class{identLevel=0;get pre(){return _c[this.identLevel]??_c[fm].repeat(this.identLevel/fm)+_c[this.identLevel%fm]}indent(){let e=this.pre;return this.identLevel++,e}dedent(){return this.identLevel--,this.pre}withResetLevel(e){let t=this.identLevel;this.identLevel=0;try{return e()}finally{this.identLevel=t}}};function wi(e,t,s="argument"){let r=!1;return{name:e,access:()=>(r=!0,ve(e,t,s,!1)),decoratedType:t,get used(){return r}}}function sg(e,t){return()=>{let s=e();if(s)return Bi(s,t)}}var _6=class{#e;_indentController=new V4;_itemStateStack=new O4;#t=[];_declarations=[];_varyingLocations;#s=new WeakSet;#r;gen;get varyingLocations(){return this._varyingLocations}[B]={itemStateStack:this._itemStateStack};bindGroupLayoutsToPlaceholderMap=new Map;_nextFreeLayoutPlaceholderIdx=0;fixedBindings=[];enableExtensions;expectedType;#o=0;constructor(e){this.enableExtensions=e.enableExtensions,this.#r=e.root?new L4(e.root):new Y4,this.#e=e.namespace[B],this.gen=e.shaderGenerator??new R$,this.gen.initGenerator(this)}isIdentifierBanned(e){return mv.has(e)}isIdentifierTaken(e,t){return this.#e.takenGlobalIdentifiers.has(e)||(t==="block"?this._itemStateStack.isIdentifierTakenLocally(e):this._itemStateStack.isIdentifierTakenInCallStack(e))}makeUniqueIdentifier(e="item",t){if(t==="block"&&Fu(e).success&&!this.isIdentifierTaken(e,t))return this.reserveIdentifier(e,"block"),e;let s=oP(e),r=0,o=this.#e.strategy==="random",n=o?`${s}_${this.#o++}`:s;for(;this.isIdentifierTaken(n,t);)n=o?`${s}_${this.#o++}`:`${s}_${++r}`;return this.reserveIdentifier(n,t),n}reserveIdentifier(e,t){if(t==="block"){let s=this._itemStateStack.topBlockScope;if(s){s.takenLocalIdentifiers.add(e);return}}this.#e.takenGlobalIdentifiers.add(e)}get pre(){return this._indentController.pre}get topFunctionScope(){return this._itemStateStack.topFunctionScope}get topFunctionReturnType(){let e=this._itemStateStack.topFunctionScope;return ds(e,"Internal error, expected function scope to be present."),e.returnType}get shelllessRepo(){return this.#e.shelllessRepo}get blockDepth(){return this._itemStateStack.blockDepth}indent(){return this._indentController.indent()}dedent(){return this._indentController.dedent()}getDedented(e){return e.replaceAll(` +${_c[1]}`,` +`)}withResetIndentLevel(e){return this._indentController.withResetLevel(e)}getById(e){let t=this._itemStateStack.getSnippetById(e);return t===void 0?null:t}defineVariable(e,t){this._itemStateStack.defineBlockVariable(e,t)}reportReturnType(e){let t=this._itemStateStack.topFunctionScope;ds(t,"Internal error, expected function scope to be present."),t.reportedReturnTypes.add(e)}pushBlockScope(){this._itemStateStack.pushBlockScope()}popBlockScope(){this._itemStateStack.pop("blockScope")}setBlockExternals(e){this._itemStateStack.setBlockExternals(e)}clearBlockExternals(){this._itemStateStack.clearBlockExternals()}generateLog(e,t){return this.#r.generateLog(this,e,t)}get logResources(){return this.#r.logResources}resolveFunction(e){try{let t=this._itemStateStack.pushFunctionScope(e.functionType,{},e.returnType,e.externalMap);this._itemStateStack.pushBlockScope();let s=[];if(e.entryInput){let{dataSchema:n,positionalArgs:i}=e.entryInput,d=e.params[0],c=n?wi(this.makeUniqueIdentifier("_arg_0","block"),n):void 0;if(c&&s.push(c),d?.type===tc.destructuredObject)for(let{name:_,alias:u}of d.props){let m=i.find(p=>p.schemaKey===_);if(m){let p=wi(this.makeUniqueIdentifier(u,"block"),m.type);s.push(p),t.argAccess[u]=p.access}else c&&(t.argAccess[u]=sg(c.access,_))}else if(d?.type===tc.identifier){let _=[];for(let m of i){let p=wi(this.makeUniqueIdentifier(m.schemaKey,"block"),m.type);s.push(p),_.push({schemaKey:m.schemaKey,arg:p.access})}let u=new b5(c?.access,_);t.argAccess[d.name]=()=>ve("N/A",u,"argument")}else for(let _ of i){let u=this.makeUniqueIdentifier(`_arg_${_.schemaKey}`,"block"),m=wi(u,_.type);s.push(m),t.argAccess[u]=m.access}}else for(let[n,i]of e.argTypes.entries()){let d=e.params[n],c=pr(i)?i.addressSpace==="storage"?i.access==="read"?"readonly":"mutable":i.addressSpace:"argument";switch(d?.type){case tc.identifier:{let _=wi(this.makeUniqueIdentifier(d.name,"block"),i,c);s.push(_),t.argAccess[d.name]=_.access;break}case tc.destructuredObject:{let _=wi(this.makeUniqueIdentifier(`_arg_${n}`,"block"),i,c);s.push(_);for(let{name:u,alias:m}of d.props)t.argAccess[m]=sg(_.access,u);break}case void 0:i instanceof Wo||s.push({name:this.makeUniqueIdentifier(`_arg_${n}`,"block"),access:()=>{throw new Error("Unreachable: Accessing an argument that wasn't named in the function signature")},decoratedType:i,used:!1})}}let r,o=this.gen.functionDefinition({functionType:e.functionType,name:e.name,workgroupSize:e.workgroupSize,args:s,body:e.body,determineReturnType:()=>{if(r)return r;if(r=e.returnType,r instanceof Wo&&(Qt(t.reportedReturnTypes.values().next().value)?r=r.completeStruct:r=void 0),!r){let n=[...t.reportedReturnTypes];if(n.length===0)r=_s;else{let i=Vf(n);i&&!i.hasImplicitConversions&&(r=i.targetType)}if(!r)throw new Error(`Expected function to have a single return type, got [${n.join(", ")}]. Cast explicitly to the desired type.`);r=no(r),(e.functionType==="vertex"||e.functionType==="fragment")&&(r=Bc(r))}return r}});if(!r)throw new Error("Failed to determine return type");return{code:o,returnType:r}}finally{this._itemStateStack.pop("blockScope"),this._itemStateStack.pop("functionScope")}}addDeclaration(e,t){this._declarations.push({name:t,code:e})}get declarations(){return this._declarations}allocateLayoutEntry(e){let t=this.bindGroupLayoutsToPlaceholderMap,s=t.get(e);return s||(s=`#BIND_GROUP_LAYOUT_${this._nextFreeLayoutPlaceholderIdx++}#`,t.set(e,s)),s}allocateFixedEntry(e,t){let s=this.fixedBindings.length;return this.fixedBindings.push({layoutEntry:e,resource:t}),{group:Up,binding:s}}readSlot(e){let t=this._itemStateStack.readSlot(e);if(t===void 0)throw new KA(e);return t}withSlots(e,t){if(e.length===0)return t();this._itemStateStack.pushSlotBindings(e);try{return t()}finally{this._itemStateStack.pop("slotBinding")}}withVaryingLocations(e,t){this._varyingLocations=e;try{return t()}finally{this._varyingLocations=void 0}}withRenamed(e,t,s){if(!t)return s();let r=xe(e);try{return ot(e,t),s()}finally{r&&ot(e,r)}}unwrap(e){if(al(e))return this.withRenamed(e[Mr].inner,xe(e),()=>this.withSlots(e[Mr].pairs,()=>this.unwrap(e[Mr].inner)));let t=e;for(;;)if(cp(t))t=this.readSlot(t);else if(_p(t))t=this._getOrCompute(t);else break;return t}_getOrCompute(e){let t=this.#e.memoizedLazy.get(e)??[];this._itemStateStack.pushItem();try{for(let o of t)if([...o.slotToValueMap.entries()].every(([n,i])=>n.areEqual(this._itemStateStack.readSlot(n),i)))return o.result;this.pushMode(new _d);let s;try{s=e[B].compute()}finally{this.popMode("normal")}let r=new Map;for(let o of this._itemStateStack.topItem.usedSlots)r.set(o,this._itemStateStack.readSlot(o));return t.push({slotToValueMap:r,result:s}),this.#e.memoizedLazy.set(e,t),s}catch(s){throw s instanceof Pi?s.appendToTrace(e):new Pi(s,[e])}finally{this._itemStateStack.pop("item")}}_getOrInstantiate(e){let t=this.#e.memoizedResolves.get(e)??[];this._itemStateStack.pushItem();try{for(let o of t)if([...o.slotToValueMap.entries()].every(([n,i])=>n.areEqual(this._itemStateStack.readSlot(n),i)))return o.result;let s;if(Rc(e))s=ve(this.gen.emitTypeAnnotation(e),_s,"runtime");else if(_p(e)||cp(e))s=this.resolve(this.unwrap(e));else if(g2(e))s=e[kt](this);else if(Fi(e)){let o=this.#e.shelllessRepo.get(e,void 0);if(!o)throw new Error(`Couldn't resolve ${e.name}. Make sure it's a function that accepts no arguments, or call it from another TypeGPU function.`);return this.withResetIndentLevel(()=>this.resolve(o))}else throw new TypeError(`Unresolvable internal value: ${io(e)}`);let r=new Map;for(let o of this._itemStateStack.topItem.usedSlots)r.set(o,this._itemStateStack.readSlot(o));return t.push({slotToValueMap:r,result:s}),this.#e.memoizedResolves.set(e,t),s}catch(s){throw s instanceof Pi?s.appendToTrace(e):new Pi(s,[e])}finally{this._itemStateStack.pop("item")}}resolve(e,t){if(typeof e=="string"){if(!t||t===Ut)throw new Error(`Strings cannot be injected into WGSL directly (tried to inject '${e}'). Look for TypeGPU APIs that cover your use-case, or resort to using tgpu['~unstable'].rawCodeSnippet for raw code injection.`);return ve(e,t,"runtime")}if((vp(e)||I4(e))&&!al(e)){if(this.#s.has(e)&&!this.#e.memoizedResolves.has(e))throw new Error(`Recursive function ${e} detected. Recursion is not allowed on the GPU.`);this.#s.add(e)}if(al(e))return this.withRenamed(e[Mr].inner,xe(e),()=>this.withSlots(e[Mr].pairs,()=>this.resolve(e[Mr].inner,t)));if(mt(e)||Fi(e)){if(this._itemStateStack.itemDepth===0)try{this.pushMode(new iM);let s=w2(this,()=>this._getOrInstantiate(e));return ve(`${this._declarations.map(r=>r.code).join(` + +`)}${s.value}`,_s,"runtime")}finally{this.popMode("codegen")}return this._getOrInstantiate(e)}if(typeof e=="number"){let s=t??on(e).dataType;return ds(s!==Ut,"Schema has to be known for resolving numbers"),this.gen.numericLiteral(e,s)}if(typeof e=="boolean")return ve(e?"true":"false",ft,"constant",!1);if(t&&Us(t)){if(!Array.isArray(e))throw new Qe(`Cannot coerce ${e} into value of type '${t}'`);if(t.elementCount!==e.length)throw new Qe(`Cannot create value of type '${t}' from an array of length: ${e.length}`);return this.gen.typeInstantiation(t,e.map(s=>ve(s,t.elementType,"runtime")))}if(t&&Qt(t))return this.gen.typeInstantiation(t,Object.entries(t.propTypes).map(([s,r])=>ve(e[s],r,"runtime")));throw new Qe(`Value ${io(e)} is not resolvable${t&&t!==Ut?` to type ${io(t)}`:""}`)}resolveSnippet(e){return x2(this.resolve(e.value,e.dataType).value,e)}pushMode(e){this.#t.push(e)}popMode(e){let t=this.#t.pop();e!==void 0&&ds(t?.type===e,"Unexpected mode")}get mode(){return this.#t[this.#t.length-1]??T2}};function Ju(e,t){let s=new _6(t),r=(t.config?s.withSlots(t.config(new W5([])).bindings,()=>s.resolve(e)):s.resolve(e)).value,o=s.bindGroupLayoutsToPlaceholderMap,n=[],i=Q$(new Set([...o.keys()].map(p=>p.index).filter(p=>p!==void 0))),d=s.fixedBindings.map((p,y)=>[String(y),p.layoutEntry]),c=[],_=()=>{let p=i.next().value,y=(globalThis.__TYPEGPU_AUTONAME__??(h=>h))(K5(Object.fromEntries(d)),"catchallLayout");return n[p]=y,r=r.replaceAll(Up,String(p)),c.push([Up,String(p)]),[p,new Q5(t.root,y,Object.fromEntries(s.fixedBindings.map((h,g)=>[String(g),h.resource])))]},u=d.length>0?_():void 0;for(let[p,y]of o.entries()){let h=p.index??i.next().value;n[h]=p,r=r.replaceAll(y,String(h)),c.push([y,String(h)])}t.enableExtensions&&t.enableExtensions.length>0&&(r=`${t.enableExtensions.map(p=>`enable ${p};`).join(` +`)} + +${r}`);let m=s.declarations.map(({name:p,code:y})=>({name:p,code:c.reduce((h,[g,w])=>h.replaceAll(g,w),y)}));return t.minify&&(r=tg(r),m=m.map(p=>({...p,code:tg(p.code)}))),{code:r,declarations:m,usedBindGroupLayouts:n,catchall:u,logResources:s.logResources}}function l6(e,t,s){return e.flatMap((r,o)=>{let n=t&&o===t[0]?t[1]:s?.get(r);return n?[[r,n]]:[]})}function N4(e,t){return e.flatMap(s=>{let r=t?.get(s);return r?[[s,r]]:[]})}var q4={dispatchWorkgroupsIndirect:"3 x u32",drawIndirect:"4 x u32",drawIndexedIndirect:"3 x u32, i32, u32"};function rg(e,t,s,r){if(t+s>e)throw new Error(`Buffer too small for ${r}. Required: ${s} bytes at offset ${t}, but buffer is only ${e} bytes.`);if(t%4!==0)throw new Error(`Indirect buffer offset must be a multiple of 4. Got: ${t}`)}function Vi(e,t,s,r){if(Mn(e)){let i=typeof t=="number"?t:t?.offset??0;return rg(e.size,i,s,r),i}let{offset:o,contiguous:n}=t?typeof t=="number"?{offset:t,contiguous:s}:t:cl(e.dataType);return rg(_t(e.dataType),o,s,r),ntypeof e=="number"?Zo(e):qr.bitcastU32toF32[e.kind](e)),codegenImpl:(e,[t],s)=>e.gen.emitCall("bitcast",[Wr(s)],[t]),signature:(...e)=>{let t=Iu(e,Rl);if(!t)throw new Ts(e,Rl);return{argTypes:t,returnType:Rt(t[0])?t[0].type==="vec2u"?lt:t[0].type==="vec3u"?It:Oe:a}},sideEffects:!1});pe({name:"bitcastU32toI32",normalImpl:(e=>typeof e=="number"?Qo(e):qr.bitcastU32toI32[e.kind](e)),codegenImpl:(e,[t],s)=>e.gen.emitCall("bitcast",[Wr(s)],[t]),signature:(...e)=>{let t=Iu(e,Rl);if(!t)throw new Ts(e,Rl);return{argTypes:t,returnType:Rt(t[0])?t[0].type==="vec2u"?Xt:t[0].type==="vec3u"?cs:Wt:Z}},sideEffects:!1});var og=[a,lt,It,Oe];pe({name:"bitcastF32toU32",normalImpl:(e=>typeof e=="number"?Jo(e):qr.bitcastF32toU32[e.kind](e)),codegenImpl:(e,[t],s)=>e.gen.emitCall("bitcast",[Wr(s)],[t]),signature:(...e)=>{let t=Iu(e,og);if(!t)throw new Ts(e,og);return{argTypes:t,returnType:Rt(t[0])?t[0].type==="vec2f"?Ct:t[0].type==="vec3f"?gt:Et:R}},sideEffects:!1});var B_=new ArrayBuffer(16),W_={f32:new Float32Array(B_),u32:new Uint32Array(B_),i32:new Int32Array(B_),u16:new Uint16Array(B_)};function X4(e,t){if(typeof e=="number")t[0]=e;else for(let s=0;s{let s="primitive"in e?e.primitive:e,r="primitive"in t?t.primitive:t;return o=>(s.type==="f16"?H4(o,W_.u16):X4(o,W_[s.type]),r.type==="f16"?K4(W_.u16,t):j4(W_[r.type],t))};function et(e,t){return pe({name:"bitcast",normalImpl:Z4(e,t),codegenImpl:(s,[r])=>s.gen.emitCall("bitcast",[Wr(t)],[r]),signature:s=>{let r=Iu([s],[e]);if(!r)throw new Ts([s],[e]);return{argTypes:r,returnType:t}},sideEffects:!1})}var ng={f16:{f16:et(xs,xs)},f32:{f32:et(a,a),i32:et(a,Z),u32:et(a,R),vec2h:et(a,Vs)},i32:{f32:et(Z,a),i32:et(Z,Z),u32:et(Z,R),vec2h:et(Z,Vs)},u32:{f32:et(R,a),i32:et(R,Z),u32:et(R,R),vec2h:et(R,Vs)},vec2h:{f32:et(Vs,a),i32:et(Vs,Z),u32:et(Vs,R),vec2h:et(Vs,Vs)},vec3h:{vec3h:et(Pr,Pr)},vec2f:{vec2f:et(lt,lt),vec2i:et(lt,Xt),vec2u:et(lt,Ct),vec4h:et(lt,Ns)},vec2i:{vec2f:et(Xt,lt),vec2i:et(Xt,Xt),vec2u:et(Xt,Ct),vec4h:et(Xt,Ns)},vec2u:{vec2f:et(Ct,lt),vec2i:et(Ct,Xt),vec2u:et(Ct,Ct),vec4h:et(Ct,Ns)},vec4h:{vec2f:et(Ns,lt),vec2i:et(Ns,Xt),vec2u:et(Ns,Ct),vec4h:et(Ns,Ns)},vec3f:{vec3f:et(It,It),vec3i:et(It,cs),vec3u:et(It,gt)},vec3i:{vec3f:et(cs,It),vec3i:et(cs,cs),vec3u:et(cs,gt)},vec3u:{vec3f:et(gt,It),vec3i:et(gt,cs),vec3u:et(gt,gt)},vec4f:{vec4f:et(Oe,Oe),vec4i:et(Oe,Wt),vec4u:et(Oe,Et)},vec4i:{vec4f:et(Wt,Oe),vec4i:et(Wt,Wt),vec4u:et(Wt,Et)},vec4u:{vec4f:et(Et,Oe),vec4i:et(Et,Wt),vec4u:et(Et,Et)}};function Q4(e,t){if("type"in e&&e.type in ng){let s=ng[e.type];if("type"in t&&t.type in s)return s[t.type]}throw new Error(`Incorrect bitcast from ${xe(e)} to ${xe(t)}.`)}var u6=Ao(Q4),J4=pe({name:"unpack2x16float",normalImpl:e=>{let t=new ArrayBuffer(4);new si(t).writeUint32(e);let s=new ld(t);return lt(Bs(s),Bs(s))},signature:{argTypes:[R],returnType:lt},codegenImpl:(e,[t])=>ce`unpack2x16float(${t})`,sideEffects:!1});pe({name:"pack2x16float",normalImpl:e=>{let t=new ArrayBuffer(4),s=new si(t);return Fs(s,e.x),Fs(s,e.y),R(new ld(t).readUint32())},signature:{argTypes:[lt],returnType:R},codegenImpl:(e,[t])=>ce`pack2x16float(${t})`,sideEffects:!1});pe({name:"unpack4x8unorm",normalImpl:e=>{let t=new ArrayBuffer(4);new si(t).writeUint32(e);let s=new ld(t);return Oe(s.readUint8()/255,s.readUint8()/255,s.readUint8()/255,s.readUint8()/255)},signature:{argTypes:[R],returnType:Oe},codegenImpl:(e,[t])=>ce`unpack4x8unorm(${t})`,sideEffects:!1});pe({name:"pack4x8unorm",normalImpl:e=>{let t=new ArrayBuffer(4),s=new si(t);return s.writeUint8(e.x*255),s.writeUint8(e.y*255),s.writeUint8(e.z*255),s.writeUint8(e.w*255),R(new ld(t).readUint32())},signature:{argTypes:[Oe],returnType:R},codegenImpl:(e,[t])=>ce`pack4x8unorm(${t})`,sideEffects:!1});var wt=e=>u6(R,a)(e??0),Ko=e=>u6(R,Z)(e??0),Ti=e=>J4(e??0),eU={f32:e=>wt(e[0]),f16:e=>Ti(e[0]).x,i32:e=>Ko(e[0]),u32:e=>e[0]??0,bool:e=>!!e[0],vec2f:e=>lt(wt(e[0]),wt(e[1])),vec3f:e=>It(wt(e[0]),wt(e[1]),wt(e[2])),vec4f:e=>Oe(wt(e[0]),wt(e[1]),wt(e[2]),wt(e[3])),vec2h(e){let t=Ti(e[0]);return Vs(t.x,t.y)},vec3h(e){let t=Ti(e[0]),s=Ti(e[1]);return Pr(t.x,t.y,s.x)},vec4h(e){let t=Ti(e[0]),s=Ti(e[1]);return Ns(t.x,t.y,s.x,s.y)},vec2i:e=>Xt(Ko(e[0]),Ko(e[1])),vec3i:e=>cs(Ko(e[0]),Ko(e[1]),Ko(e[2])),vec4i:e=>Wt(Ko(e[0]),Ko(e[1]),Ko(e[2]),Ko(e[3])),vec2u:e=>Ct(e[0]??0,e[1]??0),vec3u:e=>gt(e[0]??0,e[1]??0,e[2]??0),vec4u:e=>Et(e[0]??0,e[1]??0,e[2]??0,e[3]??0),"vec2":e=>Or(!!e[0],!!e[1]),"vec3":e=>Vr(!!e[0],!!e[1],!!e[2]),"vec4":e=>Nr(!!e[0],!!e[1],!!e[2],!!e[3]),mat2x2f:e=>Gn(wt(e[0]),wt(e[1]),wt(e[2]),wt(e[3])),mat3x3f:e=>Yn(wt(e[0]),wt(e[1]),wt(e[2]),wt(e[4]),wt(e[5]),wt(e[6]),wt(e[8]),wt(e[9]),wt(e[10])),mat4x4f:e=>Hs(wt(e[0]),wt(e[1]),wt(e[2]),wt(e[3]),wt(e[4]),wt(e[5]),wt(e[6]),wt(e[7]),wt(e[8]),wt(e[9]),wt(e[10]),wt(e[11]),wt(e[12]),wt(e[13]),wt(e[14]),wt(e[15]))};function tU(e,t){let s=eU[t.type];if(s)return s(e);if(Qt(t)){let r=Object.keys(t.propTypes),o=Cp(e,Object.values(t.propTypes));return Object.fromEntries(r.map((n,i)=>[n,o[i]]))}if(Us(t)){let r=t.elementType,o=t.elementCount;return Cp(e,Array.from({length:o},()=>r))}throw new Error(`Cannot deserialize data of type ${t.type}`)}function Cp(e,t){let s=0;return t.map(r=>{if(!Qa(r))return r;let o=Math.ceil(_t(r)/4),n=tU(e.subarray(s,s+o),r);return s+=o,n})}function sU(e,t){return Cp(e,t).map(ap)}function rU(e){let{indexBuffer:t,dataBuffer:s,logIdToMeta:r,options:o}=e;s.read().then(n=>{n.filter(i=>i.id).forEach(({id:i,serializedData:d})=>{let{argTypes:c,op:_}=r.get(i),u=sU(new Uint32Array(d),c);u.length===0&&u.push(""),_.bind(console)(`%c${o.messagePrefix}%c ${u[0]}`,"background: #936ff5; color: white;","color: inherit; background: none",...u.slice(1))})}),t.read().then(n=>{n>o.logCountLimit&&Vt.warn("log-limit-exceeded",`Log count limit per dispatch (${o.logCountLimit}) exceeded by ${n-o.logCountLimit} calls. Consider increasing the limit by passing appropriate options to tgpu.init().`)}),s.buffer.clear(),t.buffer.clear()}function oU(e,t,s,r){return new nU(e,t,s,r)}function Uv(e){let t=e;return t?.resourceType==="query-set"&&!!t[B]}var nU=class{resourceType="query-set";#e;#t=!1;#s=!0;#r=void 0;#o=void 0;[me];[B];constructor(e,t,s,r){this.#e=!r,this[me]={type:"query-set",device:e.device,queryType:t,count:s,raw:r,label:void 0};let o=this;this[B]={get readBuffer(){return o.#r||(o.#r=o[me].device.createBuffer({size:o.count*BigUint64Array.BYTES_PER_ELEMENT,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ})),o.#r},get resolveBuffer(){return o.#o||(o.#o=o[me].device.createBuffer({size:o.count*BigUint64Array.BYTES_PER_ELEMENT,usage:GPUBufferUsage.QUERY_RESOLVE|GPUBufferUsage.COPY_SRC})),o.#o},materialize:()=>{if(this.#t)throw new Error("This QuerySet has been destroyed.");let n=this[me];return n.raw||(n.raw=n.device.createQuerySet({type:n.queryType,count:n.count})),n.raw}}}get type(){return this[me].queryType}get count(){return this[me].count}get querySet(){return this[B].materialize()}get destroyed(){return this.#t}get available(){return this.#s}$name(e){ot(this,e);let t=this[me].raw;return t&&(t.label=e),this}resolve(){if(this.#t)throw new Error("This QuerySet has been destroyed.");if(!this.#s)throw new Error("This QuerySet is busy resolving or reading.");let e=this[me].device.createCommandEncoder();e.resolveQuerySet(this.querySet,0,this.count,this[B].resolveBuffer,0),this[me].device.queue.submit([e.finish()])}async read(){if(!this.#o)throw new Error("QuerySet must be resolved before reading.");this.#s=!1;try{let e=this[me].device.createCommandEncoder();e.copyBufferToBuffer(this[B].resolveBuffer,0,this[B].readBuffer,0,this.count*BigUint64Array.BYTES_PER_ELEMENT),this[me].device.queue.submit([e.finish()]);let t=this[B].readBuffer;await t.mapAsync(GPUMapMode.READ);let s=new BigUint64Array(t.getMappedRange().slice());return t.unmap(),Array.from(s)}finally{this.#s=!0}}destroy(){this.#t||(this.#t=!0,this[me].raw&&this.#e&&this[me].raw.destroy(),this.#r?.destroy(),this.#o?.destroy(),this.#r=this.#o=void 0)}};function m6(e,t,s){return e.timestampWrites?{...e,performanceCallback:t}:{...e,performanceCallback:t,timestampWrites:{querySet:s,beginningOfPassWriteIndex:0,endOfPassWriteIndex:1}}}function p6(e,t,s){if(!s.enabledFeatures.has("timestamp-query"))throw new Error('Timestamp writes require the "timestamp-query" feature to be enabled on GPU device.');let r={querySet:t.querySet};return t.beginningOfPassWriteIndex!==void 0&&(r.beginningOfPassWriteIndex=t.beginningOfPassWriteIndex),t.endOfPassWriteIndex!==void 0&&(r.endOfPassWriteIndex=t.endOfPassWriteIndex),{...e,timestampWrites:r}}var ag=new WeakMap;async function aU(e,t){if(!e.available)return;let s=await e.read();for(let{priors:r,callback:o}of t){let n=s[r.timestampWrites?.beginningOfPassWriteIndex??0],i=s[r.timestampWrites?.endOfPassWriteIndex??1];if(n===void 0||i===void 0)throw new Error("QuerySet did not return valid timestamps.");await o(n,i)}}function iU(e,t){let s=t.timestampWrites?.querySet,r=t.performanceCallback;if(!s)throw new Error("Cannot dispatch workgroups with performance callback without a query set.");if(!Uv(s))throw new Error("Performance callback with raw GPUQuerySet is not supported. Use TgpuQuerySet instead.");let o=e[B];if(o.adopted)return!1;let{root:n}=o;o.beforeFinish.set(s,c=>{c.resolveQuerySet(n.unwrap(s),0,s.count,s[B].resolveBuffer,0)});let i=ag.get(e);i||(i=new Map,ag.set(e,i));let d=i.get(s);if(!d){let c=[];d=c,i.set(s,c),o.afterSubmit.set(s,()=>{i.delete(s),aU(s,c)})}return d.some(c=>c.priors===t)?Vt.warnOnce("suspicious",s,"repeated-timed-execution","Repeated executions of a timed pipeline within one command encoder write to the same query set indices, so the performance callback reports only the last execution."):d.push({priors:t,callback:r}),!0}var dU=class{bindGroups=new Map;vertexBuffers=new Map;currentPipeline;indexBuffer;stencilReference;appliedStencilReference=0;version=0;rawAccessed=!1},cU=class{bindGroups=new Map;currentPipeline;version=0;rawAccessed=!1};function f6(e,t,s){ca(t)?e.bindGroups.set(t.layout,t):e.bindGroups.set(t,s),e.version++}function v6(e,t){let{priors:s}=t[B];if(e.currentPipeline=t,s.bindGroupLayoutMap)for(let[r,o]of s.bindGroupLayoutMap)e.bindGroups.set(r,o);if(s.vertexLayoutMap)for(let[r,o]of s.vertexLayoutMap)e.vertexBuffers.set(r,{buffer:o,offset:void 0,size:void 0});s.indexBuffer&&(e.indexBuffer=s.indexBuffer),s.stencilReference!==void 0&&(e.stencilReference=s.stencilReference),e.version++}function y6(e,t){let{priors:s}=t[B];if(e.currentPipeline=t,s.bindGroupLayoutMap)for(let[r,o]of s.bindGroupLayoutMap)e.bindGroups.set(r,o);e.version++}function _U(e,t,s){let{buffer:r,indexFormat:o,offsetBytes:n,sizeBytes:i}=s;hc(r)?e.setIndexBuffer(t.unwrap(r),o,n,i):e.setIndexBuffer(r,o,n,i)}function h6(e,t,s,r,o){let n=new Set(s);if(s.forEach((i,d)=>{if(r&&d===r[0])e.setBindGroup(d,t.unwrap(r[1])),n.delete(i);else{let c=o(i);c!==void 0&&(n.delete(i),ca(c)?e.setBindGroup(d,t.unwrap(c)):e.setBindGroup(d,c))}}),n.size>0)throw new QA(n)}function lU(e,t,s,r){let o=new Set;if(s.forEach((n,i)=>{let d=r(n);!d||!d.buffer?o.add(n):hc(d.buffer)?e.setVertexBuffer(i,t.unwrap(d.buffer),d.offset,d.size):e.setVertexBuffer(i,d.buffer,d.offset,d.size)}),o.size>0)throw new JA(o)}function uU(e,t,s,r){let o=s[B].core.unwrap();e.setPipeline(o.pipeline),h6(e,t,o.usedBindGroupLayouts,o.catchall,n=>r.bindGroups.get(n)),lU(e,t,o.usedVertexLayouts,n=>r.vertexBuffers.get(n)),r.indexBuffer!==void 0&&_U(e,t,r.indexBuffer),typeof e.setStencilReference=="function"&&r.stencilReference!==void 0&&(r.rawAccessed||r.stencilReference!==r.appliedStencilReference)&&(e.setStencilReference(r.stencilReference),r.appliedStencilReference=r.stencilReference)}function mU(e,t,s,r){let o=s[B].core.unwrap();e.setPipeline(o.pipeline),h6(e,t,o.usedBindGroupLayouts,o.catchall,n=>r.bindGroups.get(n))}function x6(e){if(!e)throw new Error("No index buffer is set. Call pipeline.withIndexBuffer or pass.setIndexBuffer before drawing indexed geometry.")}function ig(e,t){Vt.warnOnce("suspicious",e,t,`${t} is ignored when recording into a raw GPUCommandEncoder, since there is no submission to report after. Use root['~unstable'].createCommandEncoder() instead.`)}function g6(e,t){return!e||e[B].adopted?!1:(e[B].afterSubmit.set(t,()=>rU(t)),!0)}function b6(e,t,s,r){s&&!g6(e,s)&&ig(t,"Shader console.log output"),r.performanceCallback&&!iU(e,r)&&ig(t,"The performance callback"),r.encoder===void 0&&e.submit()}var pU={render:{into:"drawing into a render pass",intoRaw:"drawing into a raw render pass",begin:"beginRenderPass"},compute:{into:"dispatching into a compute pass",intoRaw:"dispatching into a raw compute pass",begin:"beginComputePass"}};function w6(e,t,s,r,o,n=!1){let i=pU[o];n&&Vt.warnOnce("suspicious",e,"attachments",`Pipeline-level attachments are ignored when ${i.into}. Pass \`colorAttachments\` and \`depthStencilAttachment\` to encoder.${i.begin} instead.`),s&&Vt.warnOnce("suspicious",e,"timestampWrites",`Pipeline-level timestamp writes are ignored when ${i.into}. Pass \`timestampWrites\` to encoder.${i.begin} instead.`),r&&!g6(t,r)&&Vt.warnOnce("suspicious",e,"logs",`Shader console.log output is ignored when ${i.intoRaw} encoder, since there is no submission to read it back after.`)}function Rp(e,t,s,r,o,n=!1){let{state:i,rawPass:d}=t,{core:c,priors:_}=s[B];i.currentPipeline!==s&&v6(i,s),r&&x6(i.indexBuffer);let u=c.unwrap();n||w6(c,t.owner,!!_.timestampWrites,u.logResources,"render",!!_.colorAttachment||!!_.depthStencilAttachment),(i.rawAccessed||t.appliedVersion!==i.version)&&(uU(d,e,s,i),t.appliedVersion=i.version),o(d)}function zp(e,t,s,r,o=!1){let{state:n,rawPass:i}=t,{core:d,priors:c}=s[B];n.currentPipeline!==s&&y6(n,s);let _=d.unwrap();o||w6(d,t.owner,!!c.timestampWrites,_.logResources,"compute"),(n.rawAccessed||t.appliedVersion!==n.version)&&(mU(i,e,s,n),t.appliedVersion=n.version),r(i)}function fU(e){let t=e;return t?.resourceType==="compute-pipeline"&&mt(t)}function vU(e){let t=e;return t?.resourceType==="render-pipeline"&&mt(t)}function yU(e){return vU(e)||fU(e)}function Cv(e){let t=e;return t?.resourceType==="command-encoder"&&mt(t)}function T6(e){let t=e;return(t?.resourceType==="render-pass"||t?.resourceType==="render-bundle-encoder")&&mt(t)}function S6(e){let t=e;return t?.resourceType==="compute-pass"&&mt(t)}function hU(e){return typeof e?.getCurrentTexture=="function"}function A6(e){let t=e;return!mt(t)&&typeof t?.beginRenderPass=="function"&&typeof t?.beginComputePass=="function"}function xU(e){let t=e;return!mt(t)&&typeof t?.dispatchWorkgroups=="function"&&t?.beginRenderPass===void 0}function gU(e){let t=e;return!mt(t)&&typeof t?.executeBundles=="function"&&typeof t?.draw=="function"}function bU(e){let t=e;return!mt(t)&&typeof t?.draw=="function"&&typeof t?.finish=="function"&&t?.executeBundles===void 0&&t?.beginRenderPass===void 0&&t?.dispatchWorkgroups===void 0}function vm(e,t){return Tc(t)?e.unwrap(t).createView():Oi(t)?e.unwrap(t):hU(t)?t.getCurrentTexture().createView():t}function M6(e,t){let{querySet:s,beginningOfPassWriteIndex:r,endOfPassWriteIndex:o}=t,n={querySet:Uv(s)?e.unwrap(s):s};return r!==void 0&&(n.beginningOfPassWriteIndex=r),o!==void 0&&(n.endOfPassWriteIndex=o),n}function wU(e,t){let{rawEncoder:s,root:r}=e[B],o={};return t?.label!==void 0&&(o.label=t.label),t?.timestampWrites!==void 0&&(o.timestampWrites=M6(r,t.timestampWrites)),new P6(r,s.beginComputePass(o),e)}function TU(e,t){let s=new P6(e,t,void 0);return s[B].state.rawAccessed=!0,s}var P6=class{[B];resourceType="compute-pass";#e;constructor(e,t,s){this.#e=e,this[B]={rawPass:t,state:new cU,owner:s,appliedVersion:void 0}}#t(e){let t=this[B],s=t.state.currentPipeline;if(!s)throw new Error("Cannot dispatch without a call to pass.setPipeline");zp(this.#e,t,s,e)}setPipeline(e){y6(this[B].state,e)}setBindGroup(e,t){f6(this[B].state,e,t)}dispatchWorkgroups(e,t,s){this.#t(r=>r.dispatchWorkgroups(e,t,s))}dispatchWorkgroupsIndirect(e,t){let s=Mn(e)?e:e.buffer,r=Vi(e,t,12,"dispatchWorkgroupsIndirect");this.#t(o=>o.dispatchWorkgroupsIndirect(s,r))}end(){this[B].rawPass.end()}};function SU(e){let t,s="all";if(Tc(e)?t=e.props.format:Oi(e)&&(t=e[B].format,s=e[B].aspect??"all"),t!==void 0)return{hasDepth:t.includes("depth")&&s!=="stencil-only",hasStencil:t.includes("stencil")&&s!=="depth-only"}}function AU(e,t){let s={...e,view:t},r=SU(e.view);if(r===void 0&&(e.depthLoadOp!==void 0||e.depthStoreOp!==void 0||e.stencilLoadOp!==void 0||e.stencilStoreOp!==void 0))return s;let{hasDepth:o,hasStencil:n}=r??{hasDepth:!0,hasStencil:!1};return o&&!e.depthReadOnly&&(s.depthLoadOp??="clear",s.depthStoreOp??="store",s.depthClearValue??=1),n&&!e.stencilReadOnly&&(s.stencilLoadOp??="clear",s.stencilStoreOp??="store"),s}function MU(e,t){let{rawEncoder:s,root:r}=e[B],o={colorAttachments:(t.colorAttachments===void 0?[]:Array.isArray(t.colorAttachments)?t.colorAttachments:[t.colorAttachments]).map(n=>{if(n===null)return null;let i={...n,loadOp:n.loadOp??"clear",storeOp:n.storeOp??"store",view:vm(r,n.view)};return n.resolveTarget!==void 0&&(i.resolveTarget=vm(r,n.resolveTarget)),i})};return t.label!==void 0&&(o.label=t.label),t.depthStencilAttachment!==void 0&&(o.depthStencilAttachment=AU(t.depthStencilAttachment,vm(r,t.depthStencilAttachment.view))),t.occlusionQuerySet!==void 0&&(o.occlusionQuerySet=Uv(t.occlusionQuerySet)?r.unwrap(t.occlusionQuerySet):t.occlusionQuerySet),t.timestampWrites!==void 0&&(o.timestampWrites=M6(r,t.timestampWrites)),t.maxDrawCount!==void 0&&(o.maxDrawCount=t.maxDrawCount),new E6(r,s.beginRenderPass(o),e)}function PU(e,t){return new kU(e,e.device.createRenderBundleEncoder(t),void 0)}function EU(e,t){let s=typeof t.executeBundles=="function"?new E6(e,t,void 0):new Rv(e,t,void 0);return s[B].state.rawAccessed=!0,s}var Rv=class{[B];resourceType="render-bundle-encoder";#e;constructor(e,t,s){this.#e=e,this[B]={rawPass:t,state:new dU,owner:s,appliedVersion:void 0}}#t(e,t){let s=this[B],r=s.state.currentPipeline;if(!r)throw new Error("Cannot draw without a call to pass.setPipeline");Rp(this.#e,s,r,e,t)}setPipeline(e){v6(this[B].state,e)}setBindGroup(e,t){f6(this[B].state,e,t)}setVertexBuffer(e,t,s,r){let{state:o}=this[B];o.vertexBuffers.set(e,{buffer:t,offset:s,size:r}),o.version++}setIndexBuffer(e,t,s,r){let{state:o}=this[B];o.indexBuffer={buffer:e,indexFormat:t,offsetBytes:s,sizeBytes:r},o.version++}draw(e,t,s,r){this.#t(!1,o=>o.draw(e,t,s,r))}drawIndexed(e,t,s,r,o){this.#t(!0,n=>n.drawIndexed(e,t,s,r,o))}drawIndirect(e,t){let s=Mn(e)?e:e.buffer,r=Vi(e,t,16,"drawIndirect");this.#t(!1,o=>o.drawIndirect(s,r))}drawIndexedIndirect(e,t){let s=Mn(e)?e:e.buffer,r=Vi(e,t,20,"drawIndexedIndirect");this.#t(!0,o=>o.drawIndexedIndirect(s,r))}},kU=class extends Rv{resourceType="render-bundle-encoder";finish(e){return this[B].rawPass.finish(e)}},E6=class extends Rv{resourceType="render-pass";setViewport(e,t,s,r,o,n){this[B].rawPass.setViewport(e,t,s,r,o,n)}setScissorRect(e,t,s,r){this[B].rawPass.setScissorRect(e,t,s,r)}setBlendConstant(e){this[B].rawPass.setBlendConstant(e)}setStencilReference(e){let{state:t}=this[B];t.stencilReference=e,t.version++}beginOcclusionQuery(e){this[B].rawPass.beginOcclusionQuery(e)}endOcclusionQuery(){this[B].rawPass.endOcclusionQuery()}executeBundles(e){let t=this[B];t.rawPass.executeBundles(e),t.appliedVersion=void 0}end(){this[B].rawPass.end()}};function zv(e,t){return new $6(e,e.device.createCommandEncoder(t),!1)}function k6(e,t){return new $6(e,t,!0)}var $6=class{[B];resourceType="command-encoder";constructor(e,t,s){this[B]={rawEncoder:t,root:e,adopted:s,beforeFinish:new Map,afterSubmit:new Map}}beginRenderPass(e){return MU(this,e)}beginComputePass(e){return wU(this,e)}#e(){let{rawEncoder:e,beforeFinish:t}=this[B];for(let s of t.values())s(e);t.clear()}submit(){let{rawEncoder:e,root:t,afterSubmit:s}=this[B];this.#e(),t.device.queue.submit([e.finish()]);for(let r of s.values())r();s.clear()}finish(e){let{rawEncoder:t,root:s,afterSubmit:r}=this[B];return this.#e(),r.size>0&&Vt.warnOnce("suspicious",s,"finishWithPendingWork","Shader console.log output and performance callbacks do not fire for command buffers produced by encoder.finish(). Use encoder.submit() instead."),t.finish(e)}},U6=["f16","clip_distances","dual_source_blending","subgroups","primitive_index"],C6={f16:"shader-f16",clip_distances:"clip-distances",dual_source_blending:"dual-source-blending",subgroups:"subgroups",primitive_index:"primitive-index"};function Gp(e,t){return e.type!==t.type?!1:pr(e)&&pr(t)?e.access===t.access&&e.addressSpace===t.addressSpace&&e.implicit===t.implicit&&Gp(e.inner,t.inner):Us(e)&&Us(t)?e.elementCount===t.elementCount&&Gp(e.elementType,t.elementType):Qt(e)&&Qt(t)?e===t:!0}var $U=class{cache=new Map;get(e,t){let s=If(e);if(!s)return;if(!t&&s.ast.params.length>0)throw new Error(`Cannot resolve '${xe(e)}' directly, because it expects arguments. Either call it from another function, or wrap it in a shell`);let r=(t??[]).map((i,d)=>{if(i.value instanceof wn){if(i.dataType===Ut)throw new Qe("d.ref() created with primitive types must be stored in a variable before use");return i.dataType}if(i.dataType===Ut)throw new Error(`Passed illegal value ${i.value} as the #${d} argument to ${xe(e)??""}(...) +Shellless functions can only accept arguments representing WGSL resources: constructible WGSL types, d.refs, samplers or texture views. +Remember, that arguments such as samplers, texture views, accessors, slots etc. should be dereferenced via '.$' first.`);let c=no(i.dataType);return pr(c)&&c.implicit&&(c=c.inner),c}),o=this.cache.get(e);if(o){let i=o.find(d=>d.argTypes.length===r.length&&d.argTypes.every((c,_)=>Gp(c,r[_])));if(i)return i}else o=[],this.cache.set(e,o);let n=D4(r,e);return o.push(n),n}},UU=class{[B];constructor(e){this[B]={strategy:e,takenGlobalIdentifiers:new Set([...mv,...rP]),shelllessRepo:new $U,memoizedResolves:new WeakMap,memoizedLazy:new WeakMap}}};function fd(e){let{names:t="strict"}=e??{};return new UU(t)}var CU=new Set(["bindGroupLayoutMap","vertexLayoutMap","indexBuffer","stencilReference","timestampWrites","performanceCallback"]);function R6(e){return Object.keys(e).filter(t=>!CU.has(t)&&e[t]!==void 0)}var z6=class{#e;#t;measureResolve(e){let t=performance.mark("typegpu:resolution:start"),s=e();return this.#e=performance.measure("typegpu:resolution",{start:t.name}),this.#t=s.code.length,s}measureCompile(e){(async()=>{let t=performance.mark("typegpu:compile-start");await e.queue.onSubmittedWorkDone();let s=performance.measure("typegpu:compiled",{start:t.name});Df?.record("resolution",{resolveDuration:this.#e?.duration,compileDuration:s.duration,wgslSize:this.#t})})()}},G6=class{measureResolve(e){return e()}measureCompile(){}};function RU(e,t,s){return new zU(new GU(e,t,s),{})}var zU=class Y6{[B];[me];resourceType="compute-pipeline";[Xs];constructor(t,s){this[me]={type:"compute-pipeline",device:t.root.device,raw:void 0,label:void 0},this[B]={core:t,priors:s,root:t.root,materialize:()=>{let r=this[me];if(!r.raw){let o=t.unwrap();r.raw=o.pipeline,r.usedBindGroupLayouts=o.usedBindGroupLayouts,r.bindGroups=l6(o.usedBindGroupLayouts,o.catchall,s.bindGroupLayoutMap),r.timestampWrites=s.timestampWrites,r.performanceCallback=s.performanceCallback,r.nonTransferablePriors=R6(s)}return r.raw}},this[Xs]=t}[kt](t){return t.resolve(this[B].core)}toString(){return`computePipeline:${xe(this)??""}`}#e(t){let{core:s,priors:r}=this[B];return new Y6(s,{...r,...t})}with(t,s){let r=this[B];if(S6(t))return this.#e({pass:t,encoder:void 0});if(Cv(t))return this.#e({pass:void 0,encoder:t});if(xU(t))return this.#e({pass:TU(r.root,t),encoder:void 0});if(A6(t))return this.#e({pass:void 0,encoder:k6(r.root,t)});if(ca(t)||Zu(t)){let[o,n]=ca(t)?[t.layout,t]:[t,s];return this.#e({bindGroupLayoutMap:new Map([...r.priors.bindGroupLayoutMap??[],[o,n]])})}throw new Error("Unsupported value passed into .with()")}withPerformanceCallback(t){let s=this[B];if(s.priors.timestampWrites)return this.#e({performanceCallback:t});let r=s.core.performanceCallbackQuerySet;return r?this.#e(m6(s.priors,t,r)):(Vt.warn("webgpu-feature-missing","Performance callback cannot be used because the timestamp-query feature is not enabled on the root."),this)}withTimestampWrites(t){let s=this[B];return this.#e(p6(s.priors,t,s.root))}dispatchWorkgroups(t,s,r){this.#t(o=>o.dispatchWorkgroups(t,s,r))}dispatchWorkgroupsIndirect(t,s){let r=Mn(t)?t:t.buffer,o=Vi(t,s,12,"dispatchWorkgroupsIndirect");this.#t(n=>n.dispatchWorkgroupsIndirect(r,o))}initAsync(){return this[B].core.initAsync()}initSync(){this[B].core.initSync()}#t(t){let{core:s,priors:r,root:o}=this[B];if(r.pass){zp(o,r.pass[B],this,t);return}let n=r.encoder??zv(o),i=n.beginComputePass({label:xe(s)??"",timestampWrites:r.timestampWrites});zp(o,i[B],this,t,!0),i.end(),b6(n,s,s.unwrap().logResources,r)}$name(t){return ot(this,t),this}},GU=class L6{[B]=!0;root;#e;#t;#s;#r;#o;#n;constructor(t,s,r){this.root=t,this.#r=s,this.#o=r,this.#e=Df?.enabled?new z6:new G6}static precompiled(t,s){let r=new L6(t,[],void 0);return r.#s=s,r}[kt](t){let s=this.#o;return s?t.withSlots(this.#r,()=>(t.resolve(s.compute),ve("",_s,"runtime"))):ve("",_s,"runtime")}toString(){return"computePipelineCore"}get performanceCallbackQuerySet(){if(this.root.enabledFeatures.has("timestamp-query"))return this.#n??=(globalThis.__TYPEGPU_AUTONAME__??(t=>t))(this.root.createQuerySet("timestamp",2),"performanceCallbackQuerySet")}initAsync(){if(this.#s!==void 0)return Promise.resolve();if(this.#t===void 0){let t=this.root.device,{resolutionResult:s,module:r}=this.resolveAndCreateShaderModule(),{usedBindGroupLayouts:o,catchall:n,logResources:i}=s;this.#t=t.createComputePipelineAsync({label:xe(this)??"",layout:t.createPipelineLayout({label:`${xe(this)??""} - Pipeline Layout`,bindGroupLayouts:o.map(d=>this.root.unwrap(d))}),compute:{module:r}}).then(d=>{this.#s={pipeline:d,usedBindGroupLayouts:o,catchall:n,logResources:i},this.#e.measureCompile(t)}).finally(()=>{this.#t=void 0})}return this.#t}initSync(){if(this.#s!==void 0)return;if(this.#t!==void 0)throw new Error("'pipeline.initAsync()' was called and is not yet resolved.");let t=this.root.device,{resolutionResult:s,module:r}=this.resolveAndCreateShaderModule(),{usedBindGroupLayouts:o,catchall:n,logResources:i}=s;this.#s={pipeline:(globalThis.__TYPEGPU_AUTONAME__??(d=>d))(t.createComputePipeline({label:xe(this)??"",layout:t.createPipelineLayout({label:`${xe(this)??""} - Pipeline Layout`,bindGroupLayouts:o.map(d=>this.root.unwrap(d))}),compute:{module:r}}),"pipeline"),usedBindGroupLayouts:o,catchall:n,logResources:i},this.#e.measureCompile(t)}unwrap(){return this.initSync(),this.#s}resolveAndCreateShaderModule(){let t=this.root.device,s=U6.filter(c=>this.root.enabledFeatures.has(C6[c])),r=fd({names:this.root.nameRegistrySetting}),o=this.#e.measureResolve(()=>Ju(this,{namespace:r,minify:this.root.minify,enableExtensions:s,shaderGenerator:this.root.shaderGeneratorClass?new this.root.shaderGeneratorClass:void 0,root:this.root})),{code:n,usedBindGroupLayouts:i,catchall:d}=o;return d!==void 0&&i[d[0]]?.$name(`${xe(this)??""} - Automatic Bind Group & Layout`),B5(i,t.limits),{resolutionResult:o,module:t.createShaderModule({label:`${xe(this)??""} - Shader`,code:n})}}},YU={$vertexIndex:_r.vertexIndex,$instanceIndex:_r.instanceIndex},LU={$clipDistances:_r.clipDistances,$position:_r.position},IU={$position:_r.position,$frontFacing:_r.frontFacing,$primitiveIndex:_r.primitiveIndex,$sampleIndex:_r.sampleIndex,$sampleMask:_r.sampleMask,$subgroupInvocationId:_r.subgroupInvocationId,$subgroupSize:_r.subgroupSize},DU={$fragDepth:_r.fragDepth,$sampleMask:_r.sampleMask},Gv=class{#e;autoIn;autoOut;constructor(e,t,s){xe(e)||ot(e,"fragmentFn"),this.#e=ri(e,"fragment"),this.autoIn=new Wo({...IU,...t},void 0,s),ot(this.autoIn,"FragmentIn"),this.autoOut=new Wo(DU,Oe),ot(this.autoOut,"FragmentOut")}toString(){return"autoFragmentFn"}[kt](e){return e.withSlots([[pd,"fragment"]],()=>this.#e.resolve(e,[this.autoIn],this.autoOut))}};Gv.prototype[B]=!0;Gv.prototype.resourceType="auto-fragment-fn";var Yv=class{#e;autoIn;autoOut;constructor(e,t,s){xe(e)||ot(e,"vertexFn"),this.#e=ri(e,"vertex"),this.autoIn=new Wo({...YU,...t},void 0,s),ot(this.autoIn,"VertexIn"),this.autoOut=new Wo(LU,void 0),ot(this.autoOut,"VertexOut")}toString(){return"autoVertexFn"}[kt](e){return e.withSlots([[pd,"vertex"]],()=>this.#e.resolve(e,[this.autoIn],this.autoOut))}};Yv.prototype[B]=!0;Yv.prototype.resourceType="auto-vertex-fn";function I6(e,t="vertex"){return new FU(e,t)}function D6(e){return e?.resourceType==="vertex-layout"}var Yp=Symbol("defaultAttribEntry");function ul(e,t,s,r,o){if(zn(t)||ha(t)){let n=na(t);return n!==void 0&&(r[o??Yp]=n),ul(e,t.inner,qs(s,wo(t)),r)}if(Qt(t)){let n=s,i=t.propTypes;return Object.fromEntries(Object.entries(i).map(([d,c])=>{n=qs(n,rs(c));let _=[d,ul(e,c,n,r,d)];return n+=_t(c),_}))}if(un(t)){let n=s,i=t.propTypes;return Object.fromEntries(Object.entries(i).map(([d,c])=>{n=qs(n,wo(c));let _=[d,ul(e,c,n,r,d)];return n+=_t(c),_}))}if("type"in t&&typeof t.type=="string"){if(y2.includes(t.type))return{_layout:e,format:t.type,offset:s};let n=eM[t.type];if(n)return{_layout:e,format:n,offset:s}}throw new Error(`Unsupported data used in vertex layout: ${String(t)}`)}var FU=class{[B]=!0;[me];resourceType="vertex-layout";stride;attrib;schemaForCount;#e={};constructor(e,t){this.schemaForCount=e;let s=e(0);this[me]={type:"vertex-layout",schema:s,stepMode:t,label:void 0},this.stride=qs(_t(s.elementType),rs(s)),this.attrib=ul(this,s.elementType,0,this.#e)}get stepMode(){return this[me].stepMode}get vertexLayout(){if(this.#e[Yp]!==void 0){if(typeof this.attrib.format!="string"||typeof this.attrib.offset!="number")throw new Error("Single attribute vertex layouts must have a format and offset.");return{arrayStride:this.stride,stepMode:this.stepMode,attributes:[{format:this.attrib.format,offset:this.attrib.offset,shaderLocation:this.#e[Yp]}]}}if(!Object.keys(this.attrib).every(e=>this.#e[e]!==void 0))throw new Error("All attributes must have custom locations in order to unwrap a vertex layout.");return{arrayStride:this.stride,stepMode:this.stepMode,attributes:Object.entries(this.attrib).map(([e,t])=>({format:t.format,offset:t.offset,shaderLocation:this.#e[e]}))}}$name(e){return ot(this,e),this}};function BU(e){return!!e?.view}function WU(e,t){if(Cu(e)||nn(e))return[];if(Qt(e)){let s=[];for(let r of Object.keys(e.propTypes)){let o=e.propTypes[r];if(nn(o))continue;let n=t[r];if(!n)throw new Error(`A color attachment by the name of '${r}' was not provided to the shader.`);s.push(n)}return s}if(!BU(t))throw new Error("Expected a single color attachment, not a record.");return[t]}function OU(e,t){let s;if(Cu(e)||nn(e))return[null];if(Qt(e)){let o=[];for(let n of Object.keys(e.propTypes)){let i=e.propTypes[n];if(nn(i))continue;let d=t[n];o.push({...d,format:d?.format??(s??=navigator.gpu.getPreferredCanvasFormat())})}return o}let r=t;return[{...r,format:r?.format??(s??=navigator.gpu.getPreferredCanvasFormat())}]}function VU(e){return new NU(new qU(e),{})}var NU=class F6{[B];[me];resourceType="render-pipeline";[Xs];constructor(t,s){this[me]={type:"render-pipeline",device:t.options.root.device,raw:void 0,label:void 0},this[B]={core:t,priors:s,root:t.options.root,materialize:()=>{let r=this[me];if(!r.raw){let o=t.unwrap();r.raw=o.pipeline,r.usedBindGroupLayouts=o.usedBindGroupLayouts,r.usedVertexLayouts=o.usedVertexLayouts,r.fragmentOut=o.fragmentOut,r.bindGroups=l6(o.usedBindGroupLayouts,o.catchall,s.bindGroupLayoutMap),r.vertexBuffers=N4(o.usedVertexLayouts,s.vertexLayoutMap),r.indexBuffer=s.indexBuffer,r.stencilReference=s.stencilReference,r.timestampWrites=s.timestampWrites,r.performanceCallback=s.performanceCallback,r.nonTransferablePriors=R6(s)}return r.raw}},this[Xs]=t}[kt](t){return t.resolve(this[B].core)}toString(){return`renderPipeline:${xe(this)??""}`}$name(t){return ot(this,t),this}#e(t){let{core:s,priors:r}=this[B];return new F6(s,{...r,...t})}with(t,s){let r=this[B];if(T6(t))return this.#e({pass:t,encoder:void 0});if(Cv(t))return this.#e({pass:void 0,encoder:t});if(gU(t)||bU(t))return this.#e({pass:EU(r.root,t),encoder:void 0});if(A6(t))return this.#e({pass:void 0,encoder:k6(r.root,t)});if(ca(t)||Zu(t)){let[o,n]=ca(t)?[t.layout,t]:[t,s];return this.#e({bindGroupLayoutMap:new Map([...r.priors.bindGroupLayoutMap??[],[o,n]])})}if(D6(t))return this.#e({vertexLayoutMap:new Map([...r.priors.vertexLayoutMap??[],[t,s]])});throw new Error("Unsupported value passed into .with()")}withPerformanceCallback(t){let s=this[B];if(s.priors.timestampWrites)return this.#e({performanceCallback:t});let r=s.core.performanceCallbackQuerySet;return r?this.#e(m6(s.priors,t,r)):(Vt.warn("webgpu-feature-missing","Performance callback cannot be used because the timestamp-query feature is not enabled on the root."),this)}withTimestampWrites(t){let s=this[B];return this.#e(p6(s.priors,t,s.root))}withColorAttachment(t){return this.#e({colorAttachment:t})}withDepthStencilAttachment(t){return this.#e({depthStencilAttachment:t})}withStencilReference(t){return this.#e({stencilReference:t})}withIndexBuffer(t,s,r,o){if(Mn(t)){if(typeof s!="string")throw new Error("If a GPUBuffer is passed, indexFormat must be provided.");return this.#e({indexBuffer:{buffer:t,indexFormat:s,offsetBytes:r,sizeBytes:o}})}let n={u32:"uint32",u16:"uint16"},i=t.dataType.elementType;return this.#e({indexBuffer:{buffer:t,indexFormat:n[i.type],offsetBytes:s!==void 0?s*_t(i):void 0,sizeBytes:o!==void 0?o*_t(i):void 0}})}initAsync(){return this[B].core.initAsync()}initSync(){this[B].core.initSync()}get hasIndexBuffer(){return this[B].priors.indexBuffer!==void 0}#t(){let{core:t,priors:s}=this[B],{fragmentOut:r}=t.unwrap();return{label:xe(t)??"",colorAttachments:r?WU(r,s.colorAttachment??{}):[],depthStencilAttachment:s.depthStencilAttachment,timestampWrites:s.timestampWrites}}#s(t,s){let{core:r,priors:o,root:n}=this[B];if(o.pass){Rp(n,o.pass[B],this,t,s);return}t&&x6(o.indexBuffer);let i=o.encoder??zv(n),d=i.beginRenderPass(this.#t());Rp(n,d[B],this,t,s,!0),d.end(),b6(i,r,r.unwrap().logResources,o)}draw(t,s,r,o){this.#s(!1,n=>n.draw(t,s,r,o))}drawIndexed(t,s,r,o,n){this.#s(!0,i=>i.drawIndexed(t,s,r,o,n))}drawIndirect(t,s){let r=Mn(t)?t:t.buffer,o=Vi(t,s,16,"drawIndirect");this.#s(!1,n=>n.drawIndirect(r,o))}drawIndexedIndirect(t,s){let r=Mn(t)?t:t.buffer,o=Vi(t,s,20,"drawIndexedIndirect");this.#s(!0,n=>n.drawIndexedIndirect(r,o))}},qU=class B6{[B]=!0;options;#e;#t;#s;#r;#o;#n;constructor(t){this.options=t,this.#e=Df?.enabled?new z6:new G6}static precompiled(t,s){let r=new B6({root:t,slotBindings:[],descriptor:void 0});return r.#s=s,r}[kt](t){let{slotBindings:s}=this.options,{vertex:r,fragment:o,attribs:n={}}=this.options.descriptor??{};if(!r)return ve("",_s,"runtime");this.#r=void 0,this.#o=void 0;let i=XU(r?.shell?.out,o?.shell?.in,xe(r)??"",xe(o)??"");return t.withVaryingLocations(i,()=>t.withSlots(s,()=>{let d;if(typeof r=="function"){let c=new Yv(r,Object.fromEntries(Object.entries(n).map(([_,u])=>[_,$n[u.format]])),i);t.resolve(c),this.#r=c.autoIn.completeStruct.propTypes,d=c.autoOut.completeStruct}else d=t.resolve(r).dataType;if(o)if(typeof o=="function"){let c=Object.fromEntries(Object.entries(d.propTypes).filter(([,_])=>!nn(_)));this.#o=t.resolve(new Gv(o,c,i)).dataType}else t.resolve(o);return ve("",_s,"runtime")}))}toString(){return"renderPipelineCore"}get performanceCallbackQuerySet(){if(this.options.root.enabledFeatures.has("timestamp-query"))return this.#n??=(globalThis.__TYPEGPU_AUTONAME__??(t=>t))(this.options.root.createQuerySet("timestamp",2),"performanceCallbackQuerySet")}initAsync(){if(this.#s!==void 0)return Promise.resolve();if(this.#t===void 0){let t=this.options.root.device,{resolutionResult:s,descriptor:r,connectedAttribs:o,fragmentOut:n}=this.resolveAndCreateShaderModule(),{usedBindGroupLayouts:i,catchall:d,logResources:c}=s;this.#t=t.createRenderPipelineAsync(r).then(_=>{this.#s={pipeline:_,usedBindGroupLayouts:i,catchall:d,logResources:c,usedVertexLayouts:o.usedVertexLayouts,fragmentOut:n},this.#e.measureCompile(t)}).finally(()=>{this.#t=void 0})}return this.#t}initSync(){if(this.#s!==void 0)return;if(this.#t!==void 0)throw new Error("'pipeline.initAsync()' was called and is not yet resolved.");let t=this.options.root.device,{resolutionResult:s,descriptor:r,connectedAttribs:o,fragmentOut:n}=this.resolveAndCreateShaderModule(),{usedBindGroupLayouts:i,catchall:d,logResources:c}=s;this.#s={pipeline:(globalThis.__TYPEGPU_AUTONAME__??(_=>_))(t.createRenderPipeline(r),"pipeline"),usedBindGroupLayouts:i,catchall:d,logResources:c,usedVertexLayouts:o.usedVertexLayouts,fragmentOut:n},this.#e.measureCompile(t)}unwrap(){return this.initSync(),this.#s}resolveAndCreateShaderModule(){let{root:t,descriptor:s}=this.options;if(!s)throw new Error("Precompiled pipelines are never resolved again.");let r=t.device,o=U6.filter(P=>t.enabledFeatures.has(C6[P])),n=fd({names:t.nameRegistrySetting}),i=this.#e.measureResolve(()=>Ju(this,{namespace:n,minify:t.minify,enableExtensions:o,shaderGenerator:t.shaderGeneratorClass?new t.shaderGeneratorClass:void 0,root:t})),{code:d,usedBindGroupLayouts:c,catchall:_}=i;_!==void 0&&c[_[0]]?.$name(`${xe(this)??""} - Automatic Bind Group & Layout`),B5(c,r.limits);let u=r.createShaderModule({label:`${xe(this)??""} - Shader`,code:d}),{vertex:m,fragment:p,attribs:y={},targets:h}=s,g=m$(m?.shell?.in??this.#r??{},y),w=p?.shell?.returnType??this.#o,S=w?OU(w,h):[null],T={layout:r.createPipelineLayout({label:`${xe(this)??""} - Pipeline Layout`,bindGroupLayouts:c.map(P=>t.unwrap(P))}),vertex:{module:u,buffers:g.bufferDefinitions}},A=xe(this);return A!==void 0&&(T.label=A),s.fragment&&(T.fragment={module:u,targets:S}),s.primitive&&(Qa(s.primitive.stripIndexFormat)?T.primitive={...s.primitive,stripIndexFormat:{u32:"uint32",u16:"uint16"}[s.primitive.stripIndexFormat.type]}:T.primitive=s.primitive),s.depthStencil&&(T.depthStencil=s.depthStencil),s.multisample&&(T.multisample=s.multisample),{resolutionResult:i,descriptor:T,connectedAttribs:g,fragmentOut:w}}};function XU(e={},t={},s,r){let o={},n=new Set;function i(c,_){o[c]=_,n.add(_)}for(let[c,_]of Object.entries(e)){let u=na(_);u!==void 0&&i(c,u)}for(let[c,_]of Object.entries(t)){let u=na(_);u!==void 0&&(o[c]===void 0?i(c,u):o[c]!==u&&Vt.warn("locations-mismatched",`Mismatched location between vertexFn (${s}) output (${o[c]}) and fragmentFn (${r}) input (${u}) for the key "${c}", using the location set on vertex output.`))}let d=0;for(let c of Object.keys(e??{}))if(!(nn(e[c])||o[c]!==void 0)){for(;n.has(d);)d++;i(c,d)}return o}var dg=class{#e=new WeakMap;#t;constructor(e){this.#t=e}getOrMake(e,...t){if(this.#e.has(e))return this.#e.get(e);let s=this.#t(e,...t);return this.#e.set(e,s),s}};function Lv(e){let t={argTypes:Object.values(e.in??{}),returnType:_s,workgroupSize:e.workgroupSize,entryPoint:"compute"},s=g5(e.in??{});return Object.assign((o,...n)=>HU(t,e.workgroupSize,Hu(o,...n),s),t)}function HU(e,t,s,r){let o=ri(s,"compute",t);return{shell:e,$uses(n){return o.setExternals("userProvided",n),this},[B]:!0,[Xs]:o,$name(n){return ot(this,n),this},[kt](n){return n.withSlots([[pd,"compute"]],()=>o.resolve(n,[],e.returnType,r))},toString(){return`computeFn:${xe(o)??""}`}}}function jU(e){if(e.includes(0))throw new Error("Size and workgroupSize cannot contain zeroes.");return gt(e[0]??1,e[1]??1,e[2]??1)}var KU=[gt(1,1,1),gt(256,1,1),gt(16,16,1),gt(8,8,4)],ZU=class ml{resourceType="guarded-compute-pipeline";[me];#e;#t;constructor(t,s,r,o){this.#e=t,this.#t=gt(),this[me]={type:"guarded-compute-pipeline",device:t.device,pipeline:s,sizeUniform:r,workgroupSize:o,label:void 0}}with(t){if(!ca(t))throw new Error("Guarded pipelines only accept bind groups in .with(). To record into passes or encoders, use a regular compute pipeline.");return new ml(this.#e,this[me].pipeline.with(t),this[me].sizeUniform,this[me].workgroupSize)}withPerformanceCallback(t){return new ml(this.#e,this[me].pipeline.withPerformanceCallback(t),this[me].sizeUniform,this[me].workgroupSize)}withTimestampWrites(t){return new ml(this.#e,this[me].pipeline.withTimestampWrites(t),this[me].sizeUniform,this[me].workgroupSize)}dispatchThreads(...t){let s=jU(t),r=cc(It(s).div(It(this[me].workgroupSize)));n$(s,this.#t)||(this.#t=s,this[me].sizeUniform.write(s)),this[me].pipeline.dispatchWorkgroups(r.x,r.y,r.z)}initAsync(){return this[me].pipeline.initAsync()}initSync(){this[me].pipeline.initSync()}get pipeline(){return this[me].pipeline}get sizeUniform(){return this[me].sizeUniform}[B]=!0;get[Xs](){return this[me].pipeline}$name(t){return ot(this,t),this}},QU=class Lp{#e;#t;constructor(t,s){this.#e=t,this.#t=s}with(t,s){return new Lp(this.#e,[...this.#t,[dd(t)||cd(t)?t.slot:t,s]])}createComputePipeline(t){return RU(this.#e(),this.#t,t)}createRenderPipeline(t){return VU({root:this.#e(),slotBindings:this.#t,descriptor:t})}createGuardedComputePipeline(t){let s=this.#e();if(t.length>=4)throw new Error("Guarded compute callback only supports up to three dimensions.");let r=KU[t.length],o=qt([R,R,R])(t);xe(o)===void 0&&o.$name("wrappedCallback");let n=(globalThis.__TYPEGPU_AUTONAME__??(d=>d))(s.createUniform(gt),"sizeUniform"),i=(globalThis.__TYPEGPU_AUTONAME__??(d=>d))(Lv({workgroupSize:r,in:{id:_r.globalInvocationId}})`{ + if (any(in.id >= sizeUniform)) { + return; + } + wrappedCallback(in.id.x, in.id.y, in.id.z); +}`.$uses({sizeUniform:n,wrappedCallback:o}),"mainCompute");return new ZU(s,this.createComputePipeline({compute:i}),n,r)}pipe(t){let s=t(new W5([]));return new Lp(this.#e,[...this.#t,...s.bindings])}},W6=class extends QU{"~unstable";resourceType="root";[me];device;nameRegistrySetting;shaderGeneratorClass;#e=new dg(e=>e.unwrap(this));#t=new dg(e=>e.unwrap(this));#s;[B];constructor(e,t,s,r,o,n){super(()=>this,[]),this.device=e,this.nameRegistrySetting=t,this.#s=r,this.shaderGeneratorClass=n,this["~unstable"]=this,this[me]={type:"root",device:e,nameRegistrySetting:t,logOptions:o,minify:s,nonTransferablePriors:n?["shaderGeneratorClass"]:void 0,label:void 0},this[B]={logOptions:o}}configureContext(e){let t=e.canvas.getContext("webgpu");if(!t)throw new Error("Unable to initialize 'webgpu' context on the provided canvas.");return t.configure({...e,device:this.device,format:e.format??navigator.gpu.getPreferredCanvasFormat()}),t}get enabledFeatures(){return new Set(this.device.features)}get minify(){return this[me].minify}createBuffer(e,t){return F_(this,e,t)}createUniform(e,t){return new Va("uniform",F_(this,e,t).$usage("uniform"))}createMutable(e,t){return new Va("mutable",F_(this,e,t).$usage("storage"))}createReadonly(e,t){return new Va("readonly",F_(this,e,t).$usage("storage"))}createQuerySet(e,t,s){return oU(this,e,t,s)}createBindGroup(e,t){return new Q5(this,e,t)}destroy(){g4(this.device),this.#s&&this.device.destroy()}createTexture(e){return S4(e,this)}createSampler(e){return J$(e,this)}createComparisonSampler(e){return e4(e,this)}unwrap(e){if(Cv(e))return e[B].rawEncoder;if(T6(e)||S6(e))return e[B].state.rawAccessed=!0,e[B].rawPass;if(Zu(e))return this.#e.getOrMake(e);if(ca(e))return this.#t.getOrMake(e);if(Oc(e))return e.buffer.buffer;if(Oi(e)){if(!e[B].unwrap)throw new Error("Cannot unwrap laid-out texture view as it has no underlying resource.");return e[B].unwrap()}if(D6(e))return e.vertexLayout;let t=e[B];if(t?.materialize)return t.materialize();throw kv(e)||$v(e)?new Error("Cannot unwrap laid-out sampler."):new Error(`Unknown resource type: ${io(e)}`)}createCommandEncoder(e){return zv(this,e)}createRenderBundleEncoder(e){return PU(this,e)}};async function JU(e){let{adapter:t,device:s,unstable_names:r="strict",unstable_minify:o=!1,unstable_logOptions:n,unstable_shaderGeneratorClass:i}=e??{},{optionalFeatures:d,...c}=s??{};if(!navigator.gpu)throw new Error("WebGPU is not supported by this browser.");let _=await navigator.gpu.requestAdapter(t);if(!_)throw new Error("Could not find a compatible GPU");let u=[];for(let m of c.requiredFeatures??[]){if(!_.features.has(m))throw new Error(`Requested feature "${m}" is not supported by the adapter.`);u.push(m)}for(let m of d??[])_.features.has(m)?u.push(m):Vt.warn("webgpu-feature-missing",`Optional feature "${m}" is not supported by the adapter.`);return new W6(await _.requestDevice({...c,requiredFeatures:u}),r,o,!0,n??{},i)}function eC(e){let{device:t,unstable_names:s="strict",unstable_minify:r=!1,unstable_logOptions:o,unstable_shaderGeneratorClass:n}=e??{};return new W6(t,s,r,!1,o??{},n)}function O6(e,t){return new tC(e,t)}function V6(e,t){return new sC(e,t)}function Iv(e){let t=Na(),s=kl(t.unwrap(e.slot));for(;typeof s=="function"&&!vp(s)&&!Tl(s)&&!Fi(s);)s=s(),Gc(s)&&(s=s.value);let r=Gu(s);if(r)return r;if(Tl(s))return s[zs].call(t,[]);if(vp(s)||Fi(s)){let o=t.resolve(s);return t.withResetIndentLevel(()=>ve(`${o.value}()`,e.schema,"runtime",o.possibleSideEffects))}t.pushMode(new _d);try{return ve(aa(e.schema,s),e.schema,"constant",!1)}finally{t.popMode("normal")}}var N6=class Ip{[Xs];[me];slot;static#e=void(Ip.prototype[B]=!0,In(Ip.prototype,{asString(){return`${this.resourceType}:${xe(this)??""}`},resolve(t){return t.resolveSnippet(Iv(this))}}));constructor(t,s,r=void 0){this[me]={type:t,schema:Rc(s)?s:s(0),defaultValue:r,label:void 0},this.slot=Nc(r),this[Xs]=this.slot}get schema(){return this[me].schema}get defaultValue(){return this[me].defaultValue}$name(t){return ot(this,t),this.defaultValue&&typeof this.defaultValue=="function"&&!xe(this.defaultValue)&&ot(this.defaultValue,t),this}},tC=class Dp extends N6{static#e=void(Dp.prototype.resourceType="accessor",mn(Dp.prototype,{codegenMode:{get(){return Iv(this)}},normalMode:{get(){throw new Error("`tgpu.accessor` relies on GPU resources and cannot be accessed outside of a compute dispatch or draw call. Use `tgpu.slot` for non-WGSL values instead.")}}}));constructor(t,s=void 0){super("accessor",t,s)}},sC=class Fp extends N6{static#e=void(Fp.prototype.resourceType="mutable-accessor",mn(Fp.prototype,{codegenMode:{get(){return Iv(this)}},normalMode:{get(){throw new Error("`tgpu.mutableAccessor` relies on GPU resources and cannot be accessed outside of a compute dispatch or draw call. Use `tgpu.slot` for non-WGSL values instead.")}}}));constructor(t,s=void 0){super("mutable-accessor",t,s)}};function Bp(e,t){return Array.isArray(e)?nC(e,t):oC(e)}function rC(e,t){return Array.isArray(e)?Bp(e,t).code:Bp(e).code}function oC(e){let{template:t,externals:s,unstable_shaderGenerator:r,names:o="strict",unstable_minify:n,config:i,enableExtensions:d}=e;t||Vt.warn("deprecated","Calling resolve with an empty template is deprecated and will soon return an empty string. Consider using the 'tgpu.resolve(resolvableArray, options)' API instead.");let c={[B]:!0,[kt](u){return ve(Xu(u,s,t??""),_s,"runtime")},toString:()=>""},_=q6(Object.values(s));return Ju(c,{namespace:typeof o=="string"?fd({names:o}):o,minify:n??_?.minify??!1,enableExtensions:d,shaderGenerator:r,config:i,root:_})}function nC(e,t){let{unstable_shaderGenerator:s,names:r="strict",unstable_minify:o,config:n,enableExtensions:i}=t??{},d={[B]:!0,[kt](_){for(let u of e)if(Zu(u))for(let m of Object.values(u[B]))_.resolve(m);else _.resolve(u);return ve("",_s,"runtime")},toString:()=>""},c=q6(e);return Ju(d,{namespace:typeof r=="string"?fd({names:r}):r,minify:o??c?.minify??!1,enableExtensions:i,shaderGenerator:s,config:n,root:c})}function q6(e){let t=new Map;for(let s of e){let r=Wp(s);if(r){let o=t.get(r)??new Set;t.set(r,o),o.add(s)}}if(t.size>1){let s=[...t.values()].map((r,o)=>`root ${o+1}: ${[...r].map(n=>xe(n)??"").join(", ")}`).join("; ");throw new Error(`Found resources originating from different roots in a single resolve (${s}).`)}return[...t.keys()][0]}function Wp(e){if(yU(e)||hc(e)||Tc(e)||kv(e)||$v(e))return e[B].root;if(Oc(e))return Wp(e.buffer);if(Oi(e))return Wp(e?.[me]?.texture)}function X6(e){if(Na())throw new Error("Cannot create tgpu.lazy objects during shader resolution.");return new aC(e,void 0)}var aC=class pl{[B];[Mr];static#e=void(pl.prototype.resourceType="lazy",mn(In(pl.prototype,{asString:()=>"lazy",resolve(t){throw new Error("Unreachable, is never resolved directly")}}),{codegenMode:{get(){return this.#t()}},normalMode:{get(){return this.#t()}}}));constructor(t,s){this[B]={compute:t},this[Mr]=s}get[Hr](){let t=Na();if(!t)throw new Error("Cannot access tgpu.lazy's value outside of resolution.");return kl(t.unwrap(this))}get $(){return this[Hr]}#t(){let t=Na();if(!t)throw new Error("Cannot access tgpu.lazy's value outside of resolution.");return kl(t.unwrap(this))}with(t,s){return new pl(this[B].compute.bind(this),{inner:this[Mr]?.inner??this,pairs:[...this[Mr]?.pairs??[],[dd(t)||cd(t)?t.slot:t,s]]})}};function H6(e){let t={in:e.in,out:e.out,returnType:Bc(e.out),entryPoint:"fragment"};return Object.assign((r,...o)=>iC(t,Hu(r,...o)),t)}function iC(e,t){let s=ri(t,"fragment"),r=e.returnType;return typeof t=="string"&&T5(t,r,s),{shell:e,outputType:r,$uses(o){return s.setExternals("userProvided",o),this},[B]:!0,[Xs]:s,$name(o){return ot(this,o),Di(r)&&r.$name(`${o}_Output`),this},[kt](o){let n=g5(e.in??{},o.varyingLocations??{});return n.dataSchema&&Di(n.dataSchema)&&n.dataSchema.$name(`${xe(this)??""}_Input`),typeof t=="string"&&s.setExternals("out",{Out:r}),o.withSlots([[pd,"fragment"]],()=>s.resolve(o,[],e.returnType,n))},toString(){return`fragmentFn:${xe(s)??""}`}}}function e1(e){if(Object.keys(e.out).length===0)throw new Error("A vertexFn output cannot be empty since it must include the 'position' builtin.");let t={in:e.in,out:e.out,argTypes:e.in&&Object.keys(e.in).length!==0?[Bc(e.in)]:[],entryPoint:"vertex"};return Object.assign((r,...o)=>dC(t,Hu(r,...o)),t)}function dC(e,t){let s=ri(t,"vertex"),r=IE(e.in??{});return{shell:e,$uses(o){return s.setExternals("userProvided",o),this},[B]:!0,[Xs]:s,$name(o){return ot(this,o),this},[kt](o){let n=Bc(e.out,o.varyingLocations).$name(`${xe(this)??""}_Output`);return typeof t=="string"&&s.setExternals("out",{Out:n}),o.withSlots([[pd,"vertex"]],()=>s.resolve(o,[],n,r))},toString(){return`vertexFn:${xe(s)??""}`}}}function cC(e){return new _C(e)}var _C=class{[B]=!0;#e;#t;constructor(e){this.#t=e}$uses(e){if(this.#e!==void 0)throw new Error("Cannot call '$uses' multiple times. If you wish to override dependencies, use slots or accessors instead.");return this.#e=e,this}[kt](e){let t=Xu(e,this.#e??{},this.#t);return e.addDeclaration(t),ve("",_s,"constant")}toString(){return`declare: ${this.#t}`}};function lC(e,t,s="runtime",r=!0){return new uC(e,t,s,r)}var uC=class Op{dataType;origin;possibleSideEffects;#e;#t;static#s=void(Op.prototype[B]=!0,mn(In(Op.prototype,{asString(){return`raw(${String(this.dataType)}): "${this.#e}"`},resolve(t){return ve(Xu(t,this.#t??{},this.#e),this.dataType,this.origin,this.possibleSideEffects)}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.dataType,this.origin,this.possibleSideEffects)}},normalMode:{get(){throw new Error("Raw code snippets can only be used on the GPU.")}}}));constructor(t,s,r,o){this.dataType=s,this.origin=r,this.possibleSideEffects=o,this.#e=t}$uses(t){if(this.#t!==void 0)throw new Error("Cannot call '$uses' multiple times. If you wish to override dependencies, use slots or accessors instead.");return this.#t=t,this}};function mC(e){let t=Na()??new _6({minify:!1,namespace:fd()}),s=[1,1,1],r=[1,1,1],o=[s[0]*r[0],s[1]*r[1],s[2]*r[2]],n=new Map,i=Array.from({length:s[0]},()=>Array.from({length:s[1]},()=>Array.from({length:s[2]},()=>new Map))),d=Array.from({length:o[0]},()=>Array.from({length:o[1]},()=>Array.from({length:o[2]},()=>new Map))),c=Array.from({length:o[0]},(_,u)=>Array.from({length:o[1]},(m,p)=>Array.from({length:o[2]},(y,h)=>{let g=Math.floor(u/r[0]),w=Math.floor(p/r[1]),S=Math.floor(h/r[2]);return new dM(n,{private:d[u][p][h],workgroup:i[g][w][S]})})));t.pushMode(c[0][0][0]);try{return{value:w2(t,e),buffers:n,privateVars:d,workgroupVars:i}}finally{t.popMode("simulate")}}var pC=Za({accessor:()=>bC,comptime:()=>vC,computeFn:()=>yC,const:()=>fC,declare:()=>cC,derived:()=>TC,fn:()=>hC,fragmentFn:()=>xC,mutableAccessor:()=>wC,namespace:()=>fd,privateVar:()=>AC,rawCodeSnippet:()=>lC,simulate:()=>mC,slot:()=>SC,vertexFn:()=>gC,vertexLayout:()=>PC,workgroupVar:()=>MC}),fC=wv,vC=Ao,yC=Lv,hC=qt,xC=H6,gC=e1,bC=O6,wC=V6,TC=X6,SC=Nc,AC=Qu,MC=J5,PC=I6,EC=Za({accessor:()=>O6,bindGroupLayout:()=>K5,comptime:()=>Ao,computeFn:()=>Lv,const:()=>wv,fn:()=>qt,fragmentFn:()=>H6,init:()=>JU,initFromDevice:()=>eC,lazy:()=>X6,mutableAccessor:()=>V6,privateVar:()=>Qu,resolve:()=>rC,resolveWithContext:()=>Bp,slot:()=>Nc,unroll:()=>z5,vertexFn:()=>e1,vertexLayout:()=>I6,workgroupVar:()=>J5,"~unstable":()=>pC});pe({name:"workgroupBarrier",normalImpl:"workgroupBarrier is a no-op outside of CODEGEN mode.",signature:{argTypes:[],returnType:_s},codegenImpl:()=>"workgroupBarrier()",sideEffects:!0});pe({name:"storageBarrier",normalImpl:"storageBarrier is a no-op outside of CODEGEN mode.",signature:{argTypes:[],returnType:_s},codegenImpl:()=>"storageBarrier()",sideEffects:!0});pe({name:"textureBarrier",normalImpl:"textureBarrier is a no-op outside of CODEGEN mode.",signature:{argTypes:[],returnType:_s},codegenImpl:()=>"textureBarrier()",sideEffects:!0});var Dn="Atomic operations are not supported outside of CODEGEN mode.",d8=pe({name:"atomicLoad",normalImpl:Dn,signature:e=>{if(!Uu(e))throw new Error(`Invalid atomic type: ${io(e)}`);return{argTypes:[e],returnType:e.inner}},codegenImpl:(e,[t])=>ce`atomicLoad(&${t})`,sideEffects:!0}),kC=e=>{if(!Uu(e))throw new Error(`Invalid atomic type: ${io(e)}`);return{argTypes:[e,e.inner.type==="u32"?R:Z],returnType:_s}},oi=e=>{if(!Uu(e))throw new Error(`Invalid atomic type: ${io(e)}`);let t=e.inner.type==="u32"?R:Z;return{argTypes:[e,t],returnType:t}},c8=pe({name:"atomicStore",normalImpl:Dn,signature:kC,codegenImpl:(e,[t,s])=>ce`atomicStore(&${t}, ${s})`,sideEffects:!0}),_8=pe({name:"atomicAdd",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicAdd(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicSub",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicSub(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicMax",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicMax(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicMin",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicMin(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicAnd",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicAnd(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicOr",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicOr(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicXor",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicXor(&${t}, ${s})`,sideEffects:!0});var Fn="Derivative builtins are not allowed on the CPU",Ni=pe({name:"dpdx",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdx(${t})`,sideEffects:!1});pe({name:"dpdxCoarse",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdxCoarse(${t})`,sideEffects:!1});pe({name:"dpdxFine",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdxFine(${t})`,sideEffects:!1});var qi=pe({name:"dpdy",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdy(${t})`,sideEffects:!1});pe({name:"dpdyCoarse",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdyCoarse(${t})`,sideEffects:!1});pe({name:"dpdyFine",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdyFine(${t})`,sideEffects:!1});var Zt=pe({name:"fwidth",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`fwidth(${t})`,sideEffects:!1});pe({name:"fwidthCoarse",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`fwidthCoarse(${t})`,sideEffects:!1});pe({name:"fwidthFine",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`fwidthFine(${t})`,sideEffects:!1});function qc(e){return e.filter(t=>t!==void 0)}function $C(e,t,s,r,o){throw new Ys("Texture sampling relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSample",normalImpl:$C,codegenImpl:(e,t)=>e.gen.emitCall("textureSample",[],qc(t)),signature:(...e)=>({argTypes:e,returnType:e[0].type.startsWith("texture_depth")?a:Oe}),sideEffects:!1});function UC(e,t,s,r,o,n){throw new Ys("Texture sampling with bias relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSampleBias",normalImpl:UC,codegenImpl:(e,t)=>e.gen.emitCall("textureSampleBias",[],qc(t)),signature:(...e)=>({argTypes:e,returnType:Oe}),sideEffects:!1});function CC(e,t,s,r,o,n){throw new Ys("Texture sampling relies on GPU resources and cannot be executed outside of a draw call")}var zl=pe({name:"textureSampleLevel",normalImpl:CC,codegenImpl:(e,t)=>e.gen.emitCall("textureSampleLevel",[],qc(t)),signature:(...e)=>({argTypes:e,returnType:e[0].type.startsWith("texture_depth")?a:Oe}),sideEffects:!1});function RC(e,t,s){throw new Ys("`textureLoad` relies on GPU resources and cannot be executed outside of a draw call")}var Be=pe({name:"textureLoad",normalImpl:RC,codegenImpl:(e,t)=>e.gen.emitCall("textureLoad",[],qc(t)),signature:(...e)=>{let t=e[0];if(r5(t)){let r=t.type.startsWith("texture_depth"),o=t.sampleType;return{argTypes:e,returnType:r?a:o.type==="f32"?Oe:o.type==="u32"?Et:Wt}}if(MP(t))return{argTypes:e,returnType:Oe};let s=t.format;return{argTypes:e,returnType:Vc(s).vectorType}},sideEffects:!1});function zC(e,t,s,r){throw new Ys("`textureStore` relies on GPU resources and cannot be executed outside of a draw call")}var jr=pe({name:"textureStore",normalImpl:zC,codegenImpl:(e,t)=>ce`textureStore(${t})`,signature:(...e)=>({argTypes:e,returnType:_s}),sideEffects:!0});function GC(e,t){throw new Ys("`textureDimensions` relies on GPU resources and cannot be executed outside of a draw call")}var l8=pe({name:"textureDimensions",normalImpl:GC,codegenImpl:(e,t)=>e.gen.emitCall("textureDimensions",[],qc(t)),signature:(...e)=>{let t=e[0].dimension;return t==="1d"?{argTypes:e,returnType:R}:t==="3d"?{argTypes:e,returnType:gt}:{argTypes:e,returnType:Ct}},sideEffects:!1}),YC=(...e)=>{throw new Error("Texture gather relies on GPU resources and cannot be executed outside of a draw call")},LC={f32:Oe,i32:Wt,u32:Et};pe({name:"textureGather",normalImpl:YC,codegenImpl:(e,t)=>ce`textureGather(${t})`,signature:(...e)=>{if(e[0].type.startsWith("texture")){let[i,d,c,_,...u]=e;return{argTypes:i.type==="texture_depth_2d_array"||i.type==="texture_depth_cube_array"?[i,d,c,[R,Z],...u]:e,returnType:Oe}}let[t,s,r,o,...n]=e;return{argTypes:s.type==="texture_2d_array"||s.type==="texture_cube_array"?[[R,Z],s,r,o,[R,Z],...n]:[[R,Z],s,r,o,...n],returnType:LC[s.sampleType.type]}},sideEffects:!1});function IC(e,t,s,r,o,n){throw new Ys("Texture comparison sampling relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSampleCompare",normalImpl:IC,codegenImpl:(e,t)=>ce`textureSampleCompare(${t})`,signature:(...e)=>({argTypes:e,returnType:a}),sideEffects:!1});function DC(e,t,s,r,o,n){throw new Ys("Texture comparison sampling with level relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSampleCompareLevel",normalImpl:DC,codegenImpl:(e,t)=>ce`textureSampleCompareLevel(${t})`,signature:(...e)=>({argTypes:e,returnType:a}),sideEffects:!1});function FC(e,t,s){throw new Ys("Texture sampling with base clamp to edge is not supported outside of GPU mode.")}function BC(e,t,s,r,o,n,i){throw new Ys("Texture sampling with gradients relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSampleGrad",normalImpl:BC,codegenImpl:(e,t)=>ce`textureSampleGrad(${t})`,signature:(...e)=>({argTypes:e,returnType:Oe}),sideEffects:!1});pe({name:"textureSampleBaseClampToEdge",normalImpl:FC,codegenImpl:(e,t)=>ce`textureSampleBaseClampToEdge(${t})`,signature:(...e)=>({argTypes:e,returnType:Oe}),sideEffects:!1});var v=EC,O_="uniforms";function j6(e){return e.replace(/[^a-zA-Z0-9_]/g,"_")}var WC=new Set(["alias","break","case","const","const_assert","continue","continuing","default","diagnostic","discard","else","enable","false","fn","for","if","let","loop","override","requires","return","struct","switch","true","var","while","NULL","Self","abstract","active","alignas","alignof","as","asm","asm_fragment","async","attribute","auto","await","become","cast","catch","class","co_await","co_return","co_yield","coherent","column_major","common","compile","compile_fragment","concept","const_cast","consteval","constexpr","constinit","crate","debugger","decltype","delete","demote","demote_to_helper","do","dynamic_cast","enum","explicit","export","extends","extern","external","fallthrough","filter","final","finally","friend","from","fxgroup","get","goto","groupshared","highp","impl","implements","import","inline","instanceof","interface","layout","lowp","macro","macro_rules","match","mediump","meta","mod","module","move","mut","mutable","namespace","new","nil","noexcept","noinline","nointerpolation","non_coherent","noncoherent","noperspective","null","nullptr","of","operator","package","packoffset","partition","pass","patch","pixelfragment","precise","precision","premerge","priv","protected","pub","public","readonly","ref","regardless","register","reinterpret_cast","require","resource","restrict","self","set","shared","sizeof","smooth","snorm","static","static_assert","static_cast","std","subroutine","super","target","template","this","thread_local","throw","trait","try","type","typedef","typeid","typename","typeof","union","unless","unorm","unsafe","unsized","use","using","varying","virtual","volatile","wgsl","where","with","writeonly","yield","sampler","uniform","storage"]);function OC(e){let t=j6(e);return WC.has(t)?`${t}_`:t}function Lo(e){return`n_${j6(e)}`}function Vp(e){return e==="vec2"?2:e==="vec3"?3:4}function K6(e){let t=e.type;return t==="vec2f"||t==="vec2i"||t==="vec2u"?"vec2":t==="vec3f"||t==="vec3i"||t==="vec3u"?"vec3":t==="vec4f"||t==="vec4i"||t==="vec4u"?"vec4":"scalar"}function VC(e){return e.type==="array"}function Z6(e){if(typeof e=="number"||typeof e=="boolean")return a;if(e&&typeof e=="object"){let t=e.kind;if(typeof t=="string"){if(t.startsWith("vec2"))return l;if(t.startsWith("vec3"))return f;if(t.startsWith("vec4"))return x}if(Array.isArray(e))return pt(a,e.length||1);let s=e;if("w"in s)return x;if("z"in s)return f;if("x"in s&&"y"in s)return l}return Array.isArray(e)?pt(a,e.length||1):a}function Np(e,t){let s=e;if(s&&typeof s=="object"&&"data"in s&&!("x"in s)&&(s=s.data),typeof s=="number")return new Array(t).fill(s);if(s instanceof Q6)return s.toArray().slice(0,t);if(Array.isArray(s))return cg(s,t);if(s&&typeof s=="object"){let r=s;if("x"in r){let o=[r.x,r.y??0];return t>=3&&o.push(r.z??0),t>=4&&o.push(r.w??0),o.slice(0,t)}if(typeof r.length=="number")return cg(Array.from(r),t)}throw new Error(`[uniformStore] cannot coerce value to a ${t}-component vector: ${String(e)}`)}function cg(e,t){let s=e.slice(0,t);for(;s.lengthe))(ut({time:a,deltaTime:a,frame:a,viewportSize:l,logicalViewportSize:l,aspect:a,pointer:l,pointerActive:a}),"SystemUniforms"),XC={time:0,deltaTime:0,frame:0,viewportSize:[1,1],logicalViewportSize:[1,1],aspect:1,pointer:[.5,.5],pointerActive:0};function J6(e,t={}){let s=t.systemSchema??qC,r={...XC,...t.systemInitial??{}},o=new Map,n=new Map,i={},d=s,c=!1,_=new Set,u=new Map,m=new Map,p={markScalar(T){_.add(T)},markArray(T,A){if(A==="all"){u.set(T,"all");return}let P=u.get(T);P!=="all"&&(P?P.add(A):u.set(T,new Set([A])))}},y;function h(T,A){let P={},U={};for(let D of A){let O=OC(D.name),L=D.transform?D.transform(D.initial):D.initial,G=D.cpu??typeof L=="string";if(D.transform&&!G&&!NC(L)&&!lg.has(D.transform)&&(lg.add(D.transform),console.warn(`[gpu] prop transform for "${D.name}" returned a non-packable value \u2014 the uniform field will be NaN. A prop transform must return a number, boolean, vector, or array (or a string for cpu-only props).`,L)),G){P[D.name]=new Oo({sink:p,gpuPath:[T,O],initial:L,transform:D.transform,cpu:!0});continue}let W=L&&typeof L=="object"&&"data"in L?L.data:L,K=D.schema??Z6(W);if(U[O]=K,VC(K)){let Q=new Sc({sink:p,gpuPath:[T,O],schema:K,initial:D.initial,transform:D.transform});P[D.name]=Q}else{let Q=new Oo({sink:p,gpuPath:[T,O],schema:K,initial:L,transform:D.transform});P[D.name]=Q}}return{handles:P,struct:(globalThis.__TYPEGPU_AUTONAME__??(D=>D))(ut(U),"struct")}}function g(){if(y)throw new Error("[uniformStore] cannot register fields after finalize()")}function w(){let T={};for(let[A,P]of n)T[A]=S(P,A);return T._sys=S(i,"_sys"),T}function S(T,A){let P={};for(let U of Object.values(T))U instanceof Sc?P[U.gpuPath[1]]=U._wholeArray():U.cpu||(P[U.gpuPath[1]]=U._patchValue());if(A)for(let U of m.get(A)??[])P[U]=0;return P}return{get schema(){return y?.schema},get layout(){return y?.layout},get buffer(){return y?.buffer},get bindGroup(){return y?.bindGroup},get systemHandles(){return i},defineNode(T,A){g();let P=Lo(T),{handles:U,struct:D}=h(P,A);return o.set(P,D),n.set(P,U),U},defineSystem(T){if(g(),T&&T.length){let A=h("_sys",T);i=A.handles,d=A.struct}else{let A=h("_sys",Object.entries(s.propTypes).map(([P,U])=>({name:P,schema:U,initial:r[P]??0})));i=A.handles,d=A.struct}return c=!0,i},finalize(){if(y)return y;c||this.defineSystem();let T=(W,K)=>{if(Object.keys(K.propTypes).length===0){let ee=["_pad0","_pad1","_pad2","_pad3"];return m.set(W,ee),ut(Object.fromEntries(ee.map(he=>[he,a])))}let Q=K,te=[];for(;xx(Q)%16!==0;){let ee=`_pad${te.length}`;for(;ee in K.propTypes;)ee=`_${ee}`;te.push(ee);let he={...K.propTypes};for(let Ee of te)he[Ee]=a;Q=(globalThis.__TYPEGPU_AUTONAME__??(Ee=>Ee))(ut(he),"padded")}return te.length&&m.set(W,te),Q},A={};for(let[W,K]of o)A[W]=T(W,K);A._sys=T("_sys",d);let P=(globalThis.__TYPEGPU_AUTONAME__??(W=>W))(ut(A),"combined"),U=xx(P),D=e.device?.limits?.maxUniformBufferBindingSize,O=typeof D=="number"&&D>0?D:65536;if(U>O)throw new mi("limit-exceeded",`[gpu] this composition needs ${U} bytes of uniform data across ${o.size} nodes, but the device caps a uniform binding at ${O} bytes. Reduce the number of layers.`);let L=(globalThis.__TYPEGPU_AUTONAME__??(W=>W))(e.createBuffer(P).$usage("uniform"),"buffer"),G=(globalThis.__TYPEGPU_AUTONAME__??(W=>W))(v.bindGroupLayout({[O_]:{uniform:P}}),"layout");return y={schema:P,layout:G,buffer:L,bindGroup:e.createBindGroup(G,{[O_]:L}),uniformEntryKey:O_},this.writeAll(),y},flush(){if(!y||_.size===0&&u.size===0)return;let T={},A=P=>T[P]??={};for(let P of _)A(P.gpuPath[0])[P.gpuPath[1]]=P._patchValue();for(let[P,U]of u){let D=A(P.gpuPath[0]);if(U==="all")D[P.gpuPath[1]]=P._wholeArray();else if(P.componentsPerElement===1){let O={};for(let L of U)O[L]=P._elementAt(L);D[P.gpuPath[1]]=O}else{let O=P.componentsPerElement,L={};for(let G of U){let W=Math.floor(G/O);L[W]=P._elementTuple(W)}D[P.gpuPath[1]]=L}}y.buffer.patch(T),_.clear(),u.clear()},writeAll(){y&&(y.buffer.write(w()),_.clear(),u.clear())},gpuAccessor(T,A="layout"){return`${A}.$.${O_}.${T.accessorPath}`},destroy(){y?.buffer.destroy?.(),y=void 0,o.clear(),n.clear(),_.clear(),u.clear(),m.clear()}}}function e7(e,t){if(e instanceof Sc){Array.isArray(t)&&(e.array=t);return}e.setFromRaw(t)}var Le=Math.PI/180;180/Math.PI;var Xr=Math.PI,it=Math.PI*2,ao=it,Gl=Math.PI/2,_a=Math.sqrt(3),HC=2.3999632297286535,Ar=v.fn([R,Z],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t<>R(__tsover_sub(Z(32),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"k"}],body:[0,[[10,[1,[1,"x","<<",[6,"d.u32",["k"]]],"|",[1,"x",">>",[6,"d.u32",[[1,[6,"d.i32",[[5,"32"]]],"-","k"]]]]]]]]},externals:{"d.u32":()=>R,"d.i32":()=>Z}})&&e.f)({})),Xi=v.fn([R,R,R],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=t,n=s,i=r;return i=i^n,i=__tsover_sub(i,Ar(n,Z(14))),o=o^i,o=__tsover_sub(o,Ar(i,Z(11))),n=n^o,n=__tsover_sub(n,Ar(o,Z(25))),i=i^n,i=__tsover_sub(i,Ar(n,Z(16))),o=o^i,o=__tsover_sub(o,Ar(i,Z(4))),n=n^o,n=__tsover_sub(n,Ar(o,Z(14))),i=i^n,i=__tsover_sub(i,Ar(n,Z(24))),i}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a0"},{type:"i",name:"b0"},{type:"i",name:"c0"}],body:[0,[[12,"a","a0"],[12,"b","b0"],[12,"c","c0"],[2,"c","=",[1,"c","^","b"]],[2,"c","=",[1,"c","-",[6,"mxRotl32",["b",[6,"d.i32",[[5,"14"]]]]]]],[2,"a","=",[1,"a","^","c"]],[2,"a","=",[1,"a","-",[6,"mxRotl32",["c",[6,"d.i32",[[5,"11"]]]]]]],[2,"b","=",[1,"b","^","a"]],[2,"b","=",[1,"b","-",[6,"mxRotl32",["a",[6,"d.i32",[[5,"25"]]]]]]],[2,"c","=",[1,"c","^","b"]],[2,"c","=",[1,"c","-",[6,"mxRotl32",["b",[6,"d.i32",[[5,"16"]]]]]]],[2,"a","=",[1,"a","^","c"]],[2,"a","=",[1,"a","-",[6,"mxRotl32",["c",[6,"d.i32",[[5,"4"]]]]]]],[2,"b","=",[1,"b","^","a"]],[2,"b","=",[1,"b","-",[6,"mxRotl32",["a",[6,"d.i32",[[5,"14"]]]]]]],[2,"c","=",[1,"c","^","b"]],[2,"c","=",[1,"c","-",[6,"mxRotl32",["b",[6,"d.i32",[[5,"24"]]]]]]],[10,"c"]]]},externals:{mxRotl32:()=>Ar,"d.i32":()=>Z}})&&e.f)({})),Hi=3735928559,Ld=v.fn([Z,Z],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=R(2),o=__tsover_add(__tsover_add(R(Hi),r<R,DEADBEEF:()=>Hi,mxBjfinal:()=>Xi}})&&e.f)({})),oo=v.fn([Z,Z,Z],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=R(3),n=__tsover_add(__tsover_add(R(Hi),o<R,DEADBEEF:()=>Hi,mxBjfinal:()=>Xi}})&&e.f)({})),V_=v.fn([Z,Z,Z,Z],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=R(4),i=__tsover_add(__tsover_add(R(Hi),n<R,DEADBEEF:()=>Hi,mxRotl32:()=>Ar,"d.i32":()=>Z,mxBjfinal:()=>Xi}})&&e.f)({})),ea=v.fn([R],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_div(a(t),a(4294967295))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"bits"}],body:[0,[[10,[1,[6,"d.f32",["bits"]],"/",[6,"d.f32",[[5,"4294967295"]]]]]]]},externals:{"d.f32":()=>a}})&&e.f)({})),Ia=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(__tsover_mul(__tsover_mul(t,t),t),__tsover_add(__tsover_mul(t,__tsover_sub(__tsover_mul(t,6),15)),10))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[1,[1,[1,"t","*","t"],"*","t"],"*",[1,[1,"t","*",[1,[1,"t","*",[5,"6"]],"-",[5,"15"]]],"+",[5,"10"]]]]]]},externals:{}})&&e.f)({})),Id=v.fn([R,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=t&R(7),n=C(r,s,oR,"std.select":()=>C}})&&e.f)({})),yn=v.fn([R,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=t&R(15),i=C(r,s,nR,"std.select":()=>C}})&&e.f)({})),ug=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(.6616,t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[1,[5,"0.6616"],"*","v"]]]]},externals:{}})&&e.f)({})),mg=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(.982,t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[1,[5,"0.982"],"*","v"]]]]},externals:{}})&&e.f)({})),pg=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_sub(1,n);return __tsover_add(__tsover_mul(__tsover_sub(1,i),__tsover_add(__tsover_mul(t,d),__tsover_mul(s,n))),__tsover_mul(i,__tsover_add(__tsover_mul(r,d),__tsover_mul(o,n))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v0"},{type:"i",name:"v1"},{type:"i",name:"v2"},{type:"i",name:"v3"},{type:"i",name:"s"},{type:"i",name:"t"}],body:[0,[[13,"s1",[1,[5,"1"],"-","s"]],[10,[1,[1,[1,[5,"1"],"-","t"],"*",[1,[1,"v0","*","s1"],"+",[1,"v1","*","s"]]],"+",[1,"t","*",[1,[1,"v2","*","s1"],"+",[1,"v3","*","s"]]]]]]]},externals:{}})&&e.f)({})),fg=v.fn([a,a,a,a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=__tsover_sub(1,_),y=__tsover_sub(1,u),h=__tsover_sub(1,m);return __tsover_add(__tsover_mul(h,__tsover_add(__tsover_mul(y,__tsover_add(__tsover_mul(t,p),__tsover_mul(s,_))),__tsover_mul(u,__tsover_add(__tsover_mul(r,p),__tsover_mul(o,_))))),__tsover_mul(m,__tsover_add(__tsover_mul(y,__tsover_add(__tsover_mul(n,p),__tsover_mul(i,_))),__tsover_mul(u,__tsover_add(__tsover_mul(d,p),__tsover_mul(c,_))))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v0"},{type:"i",name:"v1"},{type:"i",name:"v2"},{type:"i",name:"v3"},{type:"i",name:"v4"},{type:"i",name:"v5"},{type:"i",name:"v6"},{type:"i",name:"v7"},{type:"i",name:"s"},{type:"i",name:"t"},{type:"i",name:"r"}],body:[0,[[13,"s1",[1,[5,"1"],"-","s"]],[13,"t1",[1,[5,"1"],"-","t"]],[13,"r1",[1,[5,"1"],"-","r"]],[10,[1,[1,"r1","*",[1,[1,"t1","*",[1,[1,"v0","*","s1"],"+",[1,"v1","*","s"]]],"+",[1,"t","*",[1,[1,"v2","*","s1"],"+",[1,"v3","*","s"]]]]],"+",[1,"r","*",[1,[1,"t1","*",[1,[1,"v4","*","s1"],"+",[1,"v5","*","s"]]],"+",[1,"t","*",[1,[1,"v6","*","s1"],"+",[1,"v7","*","s"]]]]]]]]]},externals:{}})&&e.f)({})),vg=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(q(t.x)),r=Z(q(t.y)),o=__tsover_sub(t.x,a(s)),n=__tsover_sub(t.y,a(r)),i=Ia(o),d=Ia(n);return ug(pg(Id(Ld(s,r),o,n),Id(Ld(__tsover_add(s,Z(1)),r),__tsover_sub(o,1),n),Id(Ld(s,__tsover_add(r,Z(1))),o,__tsover_sub(n,1)),Id(Ld(__tsover_add(s,Z(1)),__tsover_add(r,Z(1))),__tsover_sub(o,1),__tsover_sub(n,1)),i,d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"X",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"Y",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"fx",[1,[7,"p","x"],"-",[6,"d.f32",["X"]]]],[13,"fy",[1,[7,"p","y"],"-",[6,"d.f32",["Y"]]]],[13,"u",[6,"mxFade",["fx"]]],[13,"v",[6,"mxFade",["fy"]]],[13,"result",[6,"mxBilerp",[[6,"mxGradientFloat2",[[6,"mxHashInt1",["X","Y"]],"fx","fy"]],[6,"mxGradientFloat2",[[6,"mxHashInt1",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],"Y"]],[1,"fx","-",[5,"1"]],"fy"]],[6,"mxGradientFloat2",[[6,"mxHashInt1",["X",[1,"Y","+",[6,"d.i32",[[5,"1"]]]]]],"fx",[1,"fy","-",[5,"1"]]]],[6,"mxGradientFloat2",[[6,"mxHashInt1",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],[1,"Y","+",[6,"d.i32",[[5,"1"]]]]]],[1,"fx","-",[5,"1"]],[1,"fy","-",[5,"1"]]]],"u","v"]]],[10,[6,"mxGradientScale2d",["result"]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.f32":()=>a,mxFade:()=>Ia,mxBilerp:()=>pg,mxGradientFloat2:()=>Id,mxHashInt1:()=>Ld,mxGradientScale2d:()=>ug}})&&e.f)({})),yg=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(q(t.x)),r=Z(q(t.y)),o=Z(q(t.z)),n=__tsover_sub(t.x,a(s)),i=__tsover_sub(t.y,a(r)),d=__tsover_sub(t.z,a(o)),c=Ia(n),_=Ia(i),u=Ia(d);return mg(fg(yn(oo(s,r,o),n,i,d),yn(oo(__tsover_add(s,Z(1)),r,o),__tsover_sub(n,1),i,d),yn(oo(s,__tsover_add(r,Z(1)),o),n,__tsover_sub(i,1),d),yn(oo(__tsover_add(s,Z(1)),__tsover_add(r,Z(1)),o),__tsover_sub(n,1),__tsover_sub(i,1),d),yn(oo(s,r,__tsover_add(o,Z(1))),n,i,__tsover_sub(d,1)),yn(oo(__tsover_add(s,Z(1)),r,__tsover_add(o,Z(1))),__tsover_sub(n,1),i,__tsover_sub(d,1)),yn(oo(s,__tsover_add(r,Z(1)),__tsover_add(o,Z(1))),n,__tsover_sub(i,1),__tsover_sub(d,1)),yn(oo(__tsover_add(s,Z(1)),__tsover_add(r,Z(1)),__tsover_add(o,Z(1))),__tsover_sub(n,1),__tsover_sub(i,1),__tsover_sub(d,1)),c,_,u))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"X",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"Y",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"Z",[6,"d.i32",[[6,"std.floor",[[7,"p","z"]]]]]],[13,"fx",[1,[7,"p","x"],"-",[6,"d.f32",["X"]]]],[13,"fy",[1,[7,"p","y"],"-",[6,"d.f32",["Y"]]]],[13,"fz",[1,[7,"p","z"],"-",[6,"d.f32",["Z"]]]],[13,"u",[6,"mxFade",["fx"]]],[13,"v",[6,"mxFade",["fy"]]],[13,"w",[6,"mxFade",["fz"]]],[13,"result",[6,"mxTrilerp",[[6,"mxGradientFloat3",[[6,"mxHashInt2",["X","Y","Z"]],"fx","fy","fz"]],[6,"mxGradientFloat3",[[6,"mxHashInt2",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],"Y","Z"]],[1,"fx","-",[5,"1"]],"fy","fz"]],[6,"mxGradientFloat3",[[6,"mxHashInt2",["X",[1,"Y","+",[6,"d.i32",[[5,"1"]]]],"Z"]],"fx",[1,"fy","-",[5,"1"]],"fz"]],[6,"mxGradientFloat3",[[6,"mxHashInt2",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],[1,"Y","+",[6,"d.i32",[[5,"1"]]]],"Z"]],[1,"fx","-",[5,"1"]],[1,"fy","-",[5,"1"]],"fz"]],[6,"mxGradientFloat3",[[6,"mxHashInt2",["X","Y",[1,"Z","+",[6,"d.i32",[[5,"1"]]]]]],"fx","fy",[1,"fz","-",[5,"1"]]]],[6,"mxGradientFloat3",[[6,"mxHashInt2",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],"Y",[1,"Z","+",[6,"d.i32",[[5,"1"]]]]]],[1,"fx","-",[5,"1"]],"fy",[1,"fz","-",[5,"1"]]]],[6,"mxGradientFloat3",[[6,"mxHashInt2",["X",[1,"Y","+",[6,"d.i32",[[5,"1"]]]],[1,"Z","+",[6,"d.i32",[[5,"1"]]]]]],"fx",[1,"fy","-",[5,"1"]],[1,"fz","-",[5,"1"]]]],[6,"mxGradientFloat3",[[6,"mxHashInt2",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],[1,"Y","+",[6,"d.i32",[[5,"1"]]]],[1,"Z","+",[6,"d.i32",[[5,"1"]]]]]],[1,"fx","-",[5,"1"]],[1,"fy","-",[5,"1"]],[1,"fz","-",[5,"1"]]]],"u","v","w"]]],[10,[6,"mxGradientScale3d",["result"]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.f32":()=>a,mxFade:()=>Ia,mxTrilerp:()=>fg,mxGradientFloat3:()=>yn,mxHashInt2:()=>oo,mxGradientScale3d:()=>mg}})&&e.f)({})),hg=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(q(t.x)),r=Z(q(t.y));return f(ea(oo(s,r,Z(0))),ea(oo(s,r,Z(1))),ea(oo(s,r,Z(2))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"ix",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"iy",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[10,[6,"d.vec3f",[[6,"mxBitsTo01",[[6,"mxHashInt2",["ix","iy",[6,"d.i32",[[5,"0"]]]]]]],[6,"mxBitsTo01",[[6,"mxHashInt2",["ix","iy",[6,"d.i32",[[5,"1"]]]]]]],[6,"mxBitsTo01",[[6,"mxHashInt2",["ix","iy",[6,"d.i32",[[5,"2"]]]]]]]]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.vec3f":()=>f,mxBitsTo01:()=>ea,mxHashInt2:()=>oo}})&&e.f)({})),xg=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(q(t.x)),r=Z(q(t.y)),o=Z(q(t.z));return f(ea(V_(s,r,o,Z(0))),ea(V_(s,r,o,Z(1))),ea(V_(s,r,o,Z(2))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"ix",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"iy",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"iz",[6,"d.i32",[[6,"std.floor",[[7,"p","z"]]]]]],[10,[6,"d.vec3f",[[6,"mxBitsTo01",[[6,"mxHashInt3",["ix","iy","iz",[6,"d.i32",[[5,"0"]]]]]]],[6,"mxBitsTo01",[[6,"mxHashInt3",["ix","iy","iz",[6,"d.i32",[[5,"1"]]]]]]],[6,"mxBitsTo01",[[6,"mxHashInt3",["ix","iy","iz",[6,"d.i32",[[5,"2"]]]]]]]]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.vec3f":()=>f,mxBitsTo01:()=>ea,mxHashInt3:()=>V_}})&&e.f)({})),gg=v.fn([l,Z,Z,Z,Z,a,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=hg(l(a(__tsover_add(s,o)),a(__tsover_add(r,n)))),_=l(c.x,c.y);_=Pn(vr(ht(_,.5),i),.5);let u=ht(Pn(l(a(s),a(r)),_),t);return d===Z(2)?__tsover_add(z(u.x),z(u.y)):d===Z(3)?b(z(u.x),z(u.y)):se(u,u)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"x"},{type:"i",name:"y"},{type:"i",name:"xoff"},{type:"i",name:"yoff"},{type:"i",name:"jitter"},{type:"i",name:"metric"}],body:[0,[[13,"tmp",[6,"mxCellNoiseVec3_2d",[[6,"d.vec2f",[[6,"d.f32",[[1,"x","+","xoff"]]],[6,"d.f32",[[1,"y","+","yoff"]]]]]]]],[12,"off",[6,"d.vec2f",[[7,"tmp","x"],[7,"tmp","y"]]]],[2,"off","=",[6,"std.add",[[6,"std.mul",[[6,"std.sub",["off",[5,"0.5"]]],"jitter"]],[5,"0.5"]]]],[13,"cellpos",[6,"std.add",[[6,"d.vec2f",[[6,"d.f32",["x"]],[6,"d.f32",["y"]]]],"off"]]],[13,"diff",[6,"std.sub",["cellpos","p"]]],[11,[1,"metric","===",[6,"d.i32",[[5,"2"]]]],[0,[[10,[1,[6,"std.abs",[[7,"diff","x"]]],"+",[6,"std.abs",[[7,"diff","y"]]]]]]]],[11,[1,"metric","===",[6,"d.i32",[[5,"3"]]]],[0,[[10,[6,"std.max",[[6,"std.abs",[[7,"diff","x"]]],[6,"std.abs",[[7,"diff","y"]]]]]]]]],[10,[6,"std.dot",["diff","diff"]]]]]},externals:{mxCellNoiseVec3_2d:()=>hg,"d.vec2f":()=>l,"d.f32":()=>a,"std.add":()=>Pn,"std.mul":()=>vr,"std.sub":()=>ht,"d.i32":()=>Z,"std.abs":()=>z,"std.max":()=>b,"std.dot":()=>se}})&&e.f)({})),bg=v.fn([f,Z,Z,Z,Z,Z,Z,a,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=xg(f(a(__tsover_add(s,n)),a(__tsover_add(r,i)),a(__tsover_add(o,d))));u=Pn(vr(ht(u,.5),c),.5);let m=ht(Pn(f(a(s),a(r),a(o)),u),t);return _===Z(2)?__tsover_add(__tsover_add(z(m.x),z(m.y)),z(m.z)):_===Z(3)?b(b(z(m.x),z(m.y)),z(m.z)):se(m,m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"x"},{type:"i",name:"y"},{type:"i",name:"z"},{type:"i",name:"xoff"},{type:"i",name:"yoff"},{type:"i",name:"zoff"},{type:"i",name:"jitter"},{type:"i",name:"metric"}],body:[0,[[12,"off",[6,"mxCellNoiseVec3_3d",[[6,"d.vec3f",[[6,"d.f32",[[1,"x","+","xoff"]]],[6,"d.f32",[[1,"y","+","yoff"]]],[6,"d.f32",[[1,"z","+","zoff"]]]]]]]],[2,"off","=",[6,"std.add",[[6,"std.mul",[[6,"std.sub",["off",[5,"0.5"]]],"jitter"]],[5,"0.5"]]]],[13,"cellpos",[6,"std.add",[[6,"d.vec3f",[[6,"d.f32",["x"]],[6,"d.f32",["y"]],[6,"d.f32",["z"]]]],"off"]]],[13,"diff",[6,"std.sub",["cellpos","p"]]],[11,[1,"metric","===",[6,"d.i32",[[5,"2"]]]],[0,[[10,[1,[1,[6,"std.abs",[[7,"diff","x"]]],"+",[6,"std.abs",[[7,"diff","y"]]]],"+",[6,"std.abs",[[7,"diff","z"]]]]]]]],[11,[1,"metric","===",[6,"d.i32",[[5,"3"]]]],[0,[[10,[6,"std.max",[[6,"std.max",[[6,"std.abs",[[7,"diff","x"]]],[6,"std.abs",[[7,"diff","y"]]]]],[6,"std.abs",[[7,"diff","z"]]]]]]]]],[10,[6,"std.dot",["diff","diff"]]]]]},externals:{mxCellNoiseVec3_3d:()=>xg,"d.vec3f":()=>f,"d.f32":()=>a,"std.add":()=>Pn,"std.mul":()=>vr,"std.sub":()=>ht,"d.i32":()=>Z,"std.abs":()=>z,"std.max":()=>b,"std.dot":()=>se}})&&e.f)({})),wg=v.fn([l,a,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Z(q(t.x)),n=Z(q(t.y)),i=l(__tsover_sub(t.x,a(o)),__tsover_sub(t.y,a(n))),d=a(1e6);for(let c=-1;c<=1;c++)for(let _=-1;_<=1;_++){let u=gg(i,c,_,o,n,s,r);d=oe(d,u)}return r===Z(0)&&(d=be(d)),d}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"jitter"},{type:"i",name:"metric"}],body:[0,[[13,"X",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"Y",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"localpos",[6,"d.vec2f",[[1,[7,"p","x"],"-",[6,"d.f32",["X"]]],[1,[7,"p","y"],"-",[6,"d.f32",["Y"]]]]]],[12,"sqdist",[6,"d.f32",[[5,"1000000"]]]],[14,[12,"x",[4,"-",[5,"1"]]],[1,"x","<=",[5,"1"]],[102,"++","x"],[0,[[14,[12,"y",[4,"-",[5,"1"]]],[1,"y","<=",[5,"1"]],[102,"++","y"],[0,[[13,"dist",[6,"mxWorleyDistance2d",["localpos","x","y","X","Y","jitter","metric"]]],[2,"sqdist","=",[6,"std.min",["sqdist","dist"]]]]]]]]],[11,[1,"metric","===",[6,"d.i32",[[5,"0"]]]],[0,[[2,"sqdist","=",[6,"std.sqrt",["sqdist"]]]]]],[10,"sqdist"]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.vec2f":()=>l,"d.f32":()=>a,mxWorleyDistance2d:()=>gg,"std.min":()=>oe,"std.sqrt":()=>be}})&&e.f)({})),Tg=v.fn([f,a,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Z(q(t.x)),n=Z(q(t.y)),i=Z(q(t.z)),d=f(__tsover_sub(t.x,a(o)),__tsover_sub(t.y,a(n)),__tsover_sub(t.z,a(i))),c=a(1e6);for(let _=-1;_<=1;_++)for(let u=-1;u<=1;u++)for(let m=-1;m<=1;m++){let p=bg(d,_,u,m,o,n,i,s,r);c=oe(c,p)}return r===Z(0)&&(c=be(c)),c}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"jitter"},{type:"i",name:"metric"}],body:[0,[[13,"X",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"Y",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"Z",[6,"d.i32",[[6,"std.floor",[[7,"p","z"]]]]]],[13,"localpos",[6,"d.vec3f",[[1,[7,"p","x"],"-",[6,"d.f32",["X"]]],[1,[7,"p","y"],"-",[6,"d.f32",["Y"]]],[1,[7,"p","z"],"-",[6,"d.f32",["Z"]]]]]],[12,"sqdist",[6,"d.f32",[[5,"1000000"]]]],[14,[12,"x",[4,"-",[5,"1"]]],[1,"x","<=",[5,"1"]],[102,"++","x"],[0,[[14,[12,"y",[4,"-",[5,"1"]]],[1,"y","<=",[5,"1"]],[102,"++","y"],[0,[[14,[12,"z",[4,"-",[5,"1"]]],[1,"z","<=",[5,"1"]],[102,"++","z"],[0,[[13,"dist",[6,"mxWorleyDistance3d",["localpos","x","y","z","X","Y","Z","jitter","metric"]]],[2,"sqdist","=",[6,"std.min",["sqdist","dist"]]]]]]]]]]]],[11,[1,"metric","===",[6,"d.i32",[[5,"0"]]]],[0,[[2,"sqdist","=",[6,"std.sqrt",["sqdist"]]]]]],[10,"sqdist"]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.vec3f":()=>f,"d.f32":()=>a,mxWorleyDistance3d:()=>bg,"std.min":()=>oe,"std.sqrt":()=>be}})&&e.f)({})),Ei=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return vg(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"mxPerlinNoiseFloat2",["p"]]]]]},externals:{mxPerlinNoiseFloat2:()=>vg}})&&e.f)({})),go=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return yg(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"mxPerlinNoiseFloat3",["p"]]]]]},externals:{mxPerlinNoiseFloat3:()=>yg}})&&e.f)({})),jC=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return wg(t,s,Z(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"jitter"}],body:[0,[[10,[6,"mxWorleyNoiseFloat2",["p","jitter",[6,"d.i32",[[5,"1"]]]]]]]]},externals:{mxWorleyNoiseFloat2:()=>wg,"d.i32":()=>Z}})&&e.f)({}));v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return Tg(t,s,Z(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"jitter"}],body:[0,[[10,[6,"mxWorleyNoiseFloat3",["p","jitter",[6,"d.i32",[[5,"1"]]]]]]]]},externals:{mxWorleyNoiseFloat3:()=>Tg,"d.i32":()=>Z}})&&e.f)({}));var Sg=v.fn([a],R)("(x: f32) -> u32 { return bitcast(x); }"),ji=v.fn([l],Ge)("(v: vec2f) -> vec2u { return bitcast(v); }"),Yl=v.fn([f],Oa)("(v: vec3f) -> vec3u { return bitcast(v); }"),Po=a(4294967295),Gs=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Sg(__tsover_mul(t,3141592653));return __tsover_div(a(__tsover_mul(__tsover_mul(s,s),R(3141592653))),Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint1",[[1,"p","*",[5,"3141592653"]]]]],[10,[1,[6,"d.f32",[[1,[1,"u","*","u"],"*",[6,"d.u32",[[5,"3141592653"]]]]]],"/","U32"]]]]},externals:{floatBitsToUint1:()=>Sg,"d.f32":()=>a,"d.u32":()=>R,U32:()=>Po}})&&e.f)({})),Ot=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ji(t.mul(l(141421356,2718281828)));return __tsover_div(a(__tsover_mul(s.x^s.y,R(3141592653))),Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint2",[[6,[7,"p","mul"],[[6,"d.vec2f",[[5,"141421356"],[5,"2718281828"]]]]]]]],[10,[1,[6,"d.f32",[[1,[1,[7,"u","x"],"^",[7,"u","y"]],"*",[6,"d.u32",[[5,"3141592653"]]]]]],"/","U32"]]]]},externals:{floatBitsToUint2:()=>ji,"d.vec2f":()=>l,"d.f32":()=>a,"d.u32":()=>R,U32:()=>Po}})&&e.f)({})),er=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ji(t.mul(l(141421356,2718281828))),r=s.x^s.y,o=vr(Ge(r,r),Ge(3141592653,1618033988));return l(a(o.x),a(o.y)).div(Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint2",[[6,[7,"p","mul"],[[6,"d.vec2f",[[5,"141421356"],[5,"2718281828"]]]]]]]],[13,"h",[1,[7,"u","x"],"^",[7,"u","y"]]],[13,"prod",[6,"std.mul",[[6,"d.vec2u",["h","h"]],[6,"d.vec2u",[[5,"3141592653"],[5,"1618033988"]]]]]],[10,[6,[7,[6,"d.vec2f",[[6,"d.f32",[[7,"prod","x"]]],[6,"d.f32",[[7,"prod","y"]]]]],"div"],["U32"]]]]]},externals:{floatBitsToUint2:()=>ji,"d.vec2f":()=>l,"std.mul":()=>vr,"d.vec2u":()=>Ge,"d.f32":()=>a,U32:()=>Po}})&&e.f)({})),u8=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ji(t.mul(l(141421356,2718281828))),r=s.x^s.y,o=vr(Oa(r,r,r),Oa(1732050807,2645751311,3316624790));return f(a(o.x),a(o.y),a(o.z)).div(Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint2",[[6,[7,"p","mul"],[[6,"d.vec2f",[[5,"141421356"],[5,"2718281828"]]]]]]]],[13,"h",[1,[7,"u","x"],"^",[7,"u","y"]]],[13,"prod",[6,"std.mul",[[6,"d.vec3u",["h","h","h"]],[6,"d.vec3u",[[5,"1732050807"],[5,"2645751311"],[5,"3316624790"]]]]]],[10,[6,[7,[6,"d.vec3f",[[6,"d.f32",[[7,"prod","x"]]],[6,"d.f32",[[7,"prod","y"]]],[6,"d.f32",[[7,"prod","z"]]]]],"div"],["U32"]]]]]},externals:{floatBitsToUint2:()=>ji,"d.vec2f":()=>l,"std.mul":()=>vr,"d.vec3u":()=>Oa,"d.vec3f":()=>f,"d.f32":()=>a,U32:()=>Po}})&&e.f)({})),m8=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Yl(t.mul(f(141421356,2718281828,1618033988)));return __tsover_div(a(__tsover_mul(s.x^s.y^s.z,R(3141592653))),Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint3",[[6,[7,"p","mul"],[[6,"d.vec3f",[[5,"141421356"],[5,"2718281828"],[5,"1618033988"]]]]]]]],[10,[1,[6,"d.f32",[[1,[1,[1,[7,"u","x"],"^",[7,"u","y"]],"^",[7,"u","z"]],"*",[6,"d.u32",[[5,"3141592653"]]]]]],"/","U32"]]]]},externals:{floatBitsToUint3:()=>Yl,"d.vec3f":()=>f,"d.f32":()=>a,"d.u32":()=>R,U32:()=>Po}})&&e.f)({})),Ag=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Yl(t.mul(f(141421356,2718281828,1618033988))),r=s.x^s.y^s.z,o=vr(Oa(r,r,r),Oa(1732050807,2645751311,3316624790));return f(a(o.x),a(o.y),a(o.z)).div(Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint3",[[6,[7,"p","mul"],[[6,"d.vec3f",[[5,"141421356"],[5,"2718281828"],[5,"1618033988"]]]]]]]],[13,"h",[1,[1,[7,"u","x"],"^",[7,"u","y"]],"^",[7,"u","z"]]],[13,"prod",[6,"std.mul",[[6,"d.vec3u",["h","h","h"]],[6,"d.vec3u",[[5,"1732050807"],[5,"2645751311"],[5,"3316624790"]]]]]],[10,[6,[7,[6,"d.vec3f",[[6,"d.f32",[[7,"prod","x"]]],[6,"d.f32",[[7,"prod","y"]]],[6,"d.f32",[[7,"prod","z"]]]]],"div"],["U32"]]]]]},externals:{floatBitsToUint3:()=>Yl,"d.vec3f":()=>f,"std.mul":()=>vr,"d.vec3u":()=>Oa,"d.f32":()=>a,U32:()=>Po}})&&e.f)({})),Br=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=t.sub(s),o=r.mul(r).mul(ht(3,r.mul(2)));return X(X(Ot(s),Ot(s.add(l(1,0))),o.x),X(Ot(s.add(l(0,1))),Ot(s.add(l(1,1))),o.x),o.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f0",[6,[7,"p","sub"],["i"]]],[13,"f",[6,[7,[6,[7,"f0","mul"],["f0"]],"mul"],[[6,"std.sub",[[5,"3"],[6,[7,"f0","mul"],[[5,"2"]]]]]]]],[10,[6,"std.mix",[[6,"std.mix",[[6,"hash12",["i"]],[6,"hash12",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"0"]]]]]]],[7,"f","x"]]],[6,"std.mix",[[6,"hash12",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]]],[6,"hash12",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]],[7,"f","x"]]],[7,"f","y"]]]]]]},externals:{"std.floor":()=>q,"std.sub":()=>ht,"std.mix":()=>X,hash12:()=>Ot,"d.vec2f":()=>l}})&&e.f)({})),Dd=v.fn([l,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(r,o);return se(as(er(t.add(n)).sub(.5)),s.sub(n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"i"},{type:"i",name:"f"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[13,"o",[6,"d.vec2f",["ox","oy"]]],[10,[6,"std.dot",[[6,"std.normalize",[[6,[7,[6,"hash22",[[6,[7,"i","add"],["o"]]]],"sub"],[[5,"0.5"]]]]],[6,[7,"f","sub"],["o"]]]]]]]},externals:{"d.vec2f":()=>l,"std.dot":()=>se,"std.normalize":()=>as,hash22:()=>er}})&&e.f)({})),za=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=t.sub(s),o=r.mul(r).mul(r).mul(r.mul(r.mul(6).sub(15)).add(10)),n=Dd(s,r,0,0),i=Dd(s,r,1,0),d=Dd(s,r,0,1),c=Dd(s,r,1,1);return __tsover_add(__tsover_mul(X(X(n,i,o.x),X(d,c,o.x),o.y),.7),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,[7,"p","sub"],["i"]]],[13,"u",[6,[7,[6,[7,[6,[7,"f","mul"],["f"]],"mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[6,[7,[6,[7,"f","mul"],[[5,"6"]]],"sub"],[[5,"15"]]]]],"add"],[[5,"10"]]]]]],[13,"a",[6,"perlinGrad2",["i","f",[5,"0"],[5,"0"]]]],[13,"b",[6,"perlinGrad2",["i","f",[5,"1"],[5,"0"]]]],[13,"c",[6,"perlinGrad2",["i","f",[5,"0"],[5,"1"]]]],[13,"dd",[6,"perlinGrad2",["i","f",[5,"1"],[5,"1"]]]],[10,[1,[1,[6,"std.mix",[[6,"std.mix",["a","b",[7,"u","x"]]],[6,"std.mix",["c","dd",[7,"u","x"]]],[7,"u","y"]]],"*",[5,"0.7"]],"+",[5,"0.5"]]]]]},externals:{"std.floor":()=>q,perlinGrad2:()=>Dd,"std.mix":()=>X}})&&e.f)({})),la=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=ue(t),o=r.mul(r).mul(r).mul(r.mul(r.mul(6).sub(15)).add(10)),n=r.mul(r).mul(r.mul(r.sub(2)).add(1)).mul(30),i=er(s.add(l(0,0))).mul(2).sub(1),d=er(s.add(l(1,0))).mul(2).sub(1),c=er(s.add(l(0,1))).mul(2).sub(1),_=er(s.add(l(1,1))).mul(2).sub(1),u=se(i,r.sub(l(0,0))),m=se(d,r.sub(l(1,0))),p=se(c,r.sub(l(0,1))),y=se(_,r.sub(l(1,1))),h=__tsover_add(__tsover_sub(__tsover_sub(u,m),p),y),g=__tsover_add(__tsover_add(__tsover_add(u,__tsover_mul(o.x,__tsover_sub(m,u))),__tsover_mul(o.y,__tsover_sub(p,u))),__tsover_mul(__tsover_mul(o.x,o.y),h)),w=i.add(d.sub(i).mul(o.x)).add(c.sub(i).mul(o.y)).add(i.sub(d).sub(c).add(_).mul(__tsover_mul(o.x,o.y))).add(n.mul(l(o.y,o.x).mul(h).add(l(m,p)).sub(u)));return f(g,w.x,w.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,"std.fract",["p"]]],[13,"u",[6,[7,[6,[7,[6,[7,"f","mul"],["f"]],"mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[6,[7,[6,[7,"f","mul"],[[5,"6"]]],"sub"],[[5,"15"]]]]],"add"],[[5,"10"]]]]]],[13,"du",[6,[7,[6,[7,[6,[7,"f","mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[6,[7,"f","sub"],[[5,"2"]]]]],"add"],[[5,"1"]]]]],"mul"],[[5,"30"]]]],[13,"ga",[6,[7,[6,[7,[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"0"],[5,"0"]]]]]]],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[13,"gb",[6,[7,[6,[7,[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"0"]]]]]]],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[13,"gc",[6,[7,[6,[7,[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]]],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[13,"gd",[6,[7,[6,[7,[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[13,"va",[6,"std.dot",["ga",[6,[7,"f","sub"],[[6,"d.vec2f",[[5,"0"],[5,"0"]]]]]]]],[13,"vb",[6,"std.dot",["gb",[6,[7,"f","sub"],[[6,"d.vec2f",[[5,"1"],[5,"0"]]]]]]]],[13,"vc",[6,"std.dot",["gc",[6,[7,"f","sub"],[[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]]]],[13,"vd",[6,"std.dot",["gd",[6,[7,"f","sub"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]]],[13,"k",[1,[1,[1,"va","-","vb"],"-","vc"],"+","vd"]],[13,"value",[1,[1,[1,"va","+",[1,[7,"u","x"],"*",[1,"vb","-","va"]]],"+",[1,[7,"u","y"],"*",[1,"vc","-","va"]]],"+",[1,[1,[7,"u","x"],"*",[7,"u","y"]],"*","k"]]],[13,"deriv",[6,[7,[6,[7,[6,[7,[6,[7,"ga","add"],[[6,[7,[6,[7,"gb","sub"],["ga"]],"mul"],[[7,"u","x"]]]]],"add"],[[6,[7,[6,[7,"gc","sub"],["ga"]],"mul"],[[7,"u","y"]]]]],"add"],[[6,[7,[6,[7,[6,[7,[6,[7,"ga","sub"],["gb"]],"sub"],["gc"]],"add"],["gd"]],"mul"],[[1,[7,"u","x"],"*",[7,"u","y"]]]]]],"add"],[[6,[7,"du","mul"],[[6,[7,[6,[7,[6,[7,[6,"d.vec2f",[[7,"u","y"],[7,"u","x"]]],"mul"],["k"]],"add"],[[6,"d.vec2f",["vb","vc"]]]],"sub"],["va"]]]]]]],[10,[6,"d.vec3f",["value",[7,"deriv","x"],[7,"deriv","y"]]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,hash22:()=>er,"d.vec2f":()=>l,"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),Fd=v.fn([x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.mul(t.mul(34).add(1));return s.sub(q(s.div(289)).mul(289))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"}],body:[0,[[13,"xx",[6,[7,"x","mul"],[[6,[7,[6,[7,"x","mul"],[[5,"34"]]],"add"],[[5,"1"]]]]]],[10,[6,[7,"xx","sub"],[[6,[7,[6,"std.floor",[[6,[7,"xx","div"],[[5,"289"]]]]],"mul"],[[5,"289"]]]]]]]]},externals:{"std.floor":()=>q}})&&e.f)({})),p8=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=t.sub(s),o=r.mul(r).mul(ht(3,r.mul(2))),n=x(s.x,s.x,s.y,s.y).add(x(0,1,0,1)),i=Fd(x(n.x,n.y,n.x,n.y)),d=Fd(x(i.x,i.y,i.x,i.y).add(x(n.z,n.z,n.w,n.w))).add(x(s.z,s.z,s.z,s.z)),c=Fd(d),_=Fd(d.add(1)),u=X(ue(c.mul(.02439024)),ue(_.mul(.02439024)),x(o.z)),m=X(l(u.x,u.z),l(u.y,u.w),l(o.x));return X(m.x,m.y,o.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"a",[6,"std.floor",["p"]]],[13,"d0",[6,[7,"p","sub"],["a"]]],[13,"sd",[6,[7,[6,[7,"d0","mul"],["d0"]],"mul"],[[6,"std.sub",[[5,"3"],[6,[7,"d0","mul"],[[5,"2"]]]]]]]],[13,"b",[6,[7,[6,"d.vec4f",[[7,"a","x"],[7,"a","x"],[7,"a","y"],[7,"a","y"]]],"add"],[[6,"d.vec4f",[[5,"0"],[5,"1"],[5,"0"],[5,"1"]]]]]],[13,"k1",[6,"perm4",[[6,"d.vec4f",[[7,"b","x"],[7,"b","y"],[7,"b","x"],[7,"b","y"]]]]]],[13,"k2",[6,[7,[6,"perm4",[[6,[7,[6,"d.vec4f",[[7,"k1","x"],[7,"k1","y"],[7,"k1","x"],[7,"k1","y"]]],"add"],[[6,"d.vec4f",[[7,"b","z"],[7,"b","z"],[7,"b","w"],[7,"b","w"]]]]]]],"add"],[[6,"d.vec4f",[[7,"a","z"],[7,"a","z"],[7,"a","z"],[7,"a","z"]]]]]],[13,"k3",[6,"perm4",["k2"]]],[13,"k4",[6,"perm4",[[6,[7,"k2","add"],[[5,"1"]]]]]],[13,"o1",[6,"std.fract",[[6,[7,"k3","mul"],[[5,"0.02439024"]]]]]],[13,"o2",[6,"std.fract",[[6,[7,"k4","mul"],[[5,"0.02439024"]]]]]],[13,"o3",[6,"std.mix",["o1","o2",[6,"d.vec4f",[[7,"sd","z"]]]]]],[13,"o4",[6,"std.mix",[[6,"d.vec2f",[[7,"o3","x"],[7,"o3","z"]]],[6,"d.vec2f",[[7,"o3","y"],[7,"o3","w"]]],[6,"d.vec2f",[[7,"sd","x"]]]]]],[10,[6,"std.mix",[[7,"o4","x"],[7,"o4","y"],[7,"sd","y"]]]]]]},externals:{"std.floor":()=>q,"std.sub":()=>ht,"d.vec4f":()=>x,perm4:()=>Fd,"std.fract":()=>ue,"std.mix":()=>X,"d.vec2f":()=>l}})&&e.f)({})),hn=v.fn([f,f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=f(r,o,n);return se(s.sub(i),as(Ag(t.add(i)).sub(.5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"i"},{type:"i",name:"f"},{type:"i",name:"ox"},{type:"i",name:"oy"},{type:"i",name:"oz"}],body:[0,[[13,"o",[6,"d.vec3f",["ox","oy","oz"]]],[10,[6,"std.dot",[[6,[7,"f","sub"],["o"]],[6,"std.normalize",[[6,[7,[6,"hash33",[[6,[7,"i","add"],["o"]]]],"sub"],[[5,"0.5"]]]]]]]]]]},externals:{"d.vec3f":()=>f,"std.dot":()=>se,"std.normalize":()=>as,hash33:()=>Ag}})&&e.f)({})),Bd=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=t.sub(s),o=r.mul(r).mul(r).mul(r.mul(r.mul(6).sub(15)).add(10)),n=hn(s,r,0,0,0),i=hn(s,r,1,0,0),d=hn(s,r,0,1,0),c=hn(s,r,1,1,0),_=hn(s,r,0,0,1),u=hn(s,r,1,0,1),m=hn(s,r,0,1,1),p=hn(s,r,1,1,1),y=X(X(n,i,o.x),X(d,c,o.x),o.y),h=X(X(_,u,o.x),X(m,p,o.x),o.y);return __tsover_add(__tsover_mul(X(y,h,o.z),.7),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,[7,"p","sub"],["i"]]],[13,"u",[6,[7,[6,[7,[6,[7,"f","mul"],["f"]],"mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[6,[7,[6,[7,"f","mul"],[[5,"6"]]],"sub"],[[5,"15"]]]]],"add"],[[5,"10"]]]]]],[13,"a0",[6,"perlinGrad3",["i","f",[5,"0"],[5,"0"],[5,"0"]]]],[13,"b0",[6,"perlinGrad3",["i","f",[5,"1"],[5,"0"],[5,"0"]]]],[13,"c0",[6,"perlinGrad3",["i","f",[5,"0"],[5,"1"],[5,"0"]]]],[13,"d0",[6,"perlinGrad3",["i","f",[5,"1"],[5,"1"],[5,"0"]]]],[13,"a1",[6,"perlinGrad3",["i","f",[5,"0"],[5,"0"],[5,"1"]]]],[13,"b1",[6,"perlinGrad3",["i","f",[5,"1"],[5,"0"],[5,"1"]]]],[13,"c1",[6,"perlinGrad3",["i","f",[5,"0"],[5,"1"],[5,"1"]]]],[13,"d1",[6,"perlinGrad3",["i","f",[5,"1"],[5,"1"],[5,"1"]]]],[13,"z0",[6,"std.mix",[[6,"std.mix",["a0","b0",[7,"u","x"]]],[6,"std.mix",["c0","d0",[7,"u","x"]]],[7,"u","y"]]]],[13,"z1",[6,"std.mix",[[6,"std.mix",["a1","b1",[7,"u","x"]]],[6,"std.mix",["c1","d1",[7,"u","x"]]],[7,"u","y"]]]],[10,[1,[1,[6,"std.mix",["z0","z1",[7,"u","z"]]],"*",[5,"0.7"]],"+",[5,"0.5"]]]]]},externals:{"std.floor":()=>q,perlinGrad3:()=>hn,"std.mix":()=>X}})&&e.f)({})),Wd=v.fn([l,l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return Y(__tsover_add(__tsover_mul(r,se(t,er(s.add(l(n,i))))),o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"i"},{type:"i",name:"freq"},{type:"i",name:"phase"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[10,[6,"std.sin",[[1,[1,"freq","*",[6,"std.dot",["p",[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",["ox","oy"]]]]]]]]],"+","phase"]]]]]]},externals:{"std.sin":()=>Y,"std.dot":()=>se,hash22:()=>er,"d.vec2f":()=>l}})&&e.f)({})),f8=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=q(t),n=t.sub(o),i=n.mul(n).mul(ht(3,n.mul(2)));return X(X(Wd(t,o,s,r,0,0),Wd(t,o,s,r,1,0),i.x),X(Wd(t,o,s,r,0,1),Wd(t,o,s,r,1,1),i.x),i.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"freq"},{type:"i",name:"phase"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f0",[6,[7,"p","sub"],["i"]]],[13,"f",[6,[7,[6,[7,"f0","mul"],["f0"]],"mul"],[[6,"std.sub",[[5,"3"],[6,[7,"f0","mul"],[[5,"2"]]]]]]]],[10,[6,"std.mix",[[6,"std.mix",[[6,"gaborGrain",["p","i","freq","phase",[5,"0"],[5,"0"]]],[6,"gaborGrain",["p","i","freq","phase",[5,"1"],[5,"0"]]],[7,"f","x"]]],[6,"std.mix",[[6,"gaborGrain",["p","i","freq","phase",[5,"0"],[5,"1"]]],[6,"gaborGrain",["p","i","freq","phase",[5,"1"],[5,"1"]]],[7,"f","x"]]],[7,"f","y"]]]]]]},externals:{"std.floor":()=>q,"std.sub":()=>ht,"std.mix":()=>X,gaborGrain:()=>Wd}})&&e.f)({})),Ki=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=l(za(t.add(l(.1,0))),za(t.add(l(0,.1)))),r=l(za(t.sub(l(.1,0))),za(t.sub(l(0,.1))));return s.sub(r).div(.1).mul(.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"a",[6,"d.vec2f",[[6,"perlin12",[[6,[7,"p","add"],[[6,"d.vec2f",[[5,"0.1"],[5,"0"]]]]]]],[6,"perlin12",[[6,[7,"p","add"],[[6,"d.vec2f",[[5,"0"],[5,"0.1"]]]]]]]]]],[13,"b",[6,"d.vec2f",[[6,"perlin12",[[6,[7,"p","sub"],[[6,"d.vec2f",[[5,"0.1"],[5,"0"]]]]]]],[6,"perlin12",[[6,[7,"p","sub"],[[6,"d.vec2f",[[5,"0"],[5,"0.1"]]]]]]]]]],[10,[6,[7,[6,[7,[6,[7,"a","sub"],["b"]],"div"],[[5,"0.1"]]],"mul"],[[5,"0.5"]]]]]]},externals:{"d.vec2f":()=>l,perlin12:()=>za}})&&e.f)({})),Mg=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.add(l(.1,0)),o=t.add(l(0,.1)),n=t.sub(l(.1,0)),i=t.sub(l(0,.1)),d=l(Bd(f(r.x,r.y,s)),Bd(f(o.x,o.y,s))),c=l(Bd(f(n.x,n.y,s)),Bd(f(i.x,i.y,s)));return d.sub(c).div(.1).mul(.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"z"}],body:[0,[[13,"pax",[6,[7,"p","add"],[[6,"d.vec2f",[[5,"0.1"],[5,"0"]]]]]],[13,"pay",[6,[7,"p","add"],[[6,"d.vec2f",[[5,"0"],[5,"0.1"]]]]]],[13,"pbx",[6,[7,"p","sub"],[[6,"d.vec2f",[[5,"0.1"],[5,"0"]]]]]],[13,"pby",[6,[7,"p","sub"],[[6,"d.vec2f",[[5,"0"],[5,"0.1"]]]]]],[13,"a",[6,"d.vec2f",[[6,"perlin13",[[6,"d.vec3f",[[7,"pax","x"],[7,"pax","y"],"z"]]]],[6,"perlin13",[[6,"d.vec3f",[[7,"pay","x"],[7,"pay","y"],"z"]]]]]]],[13,"b",[6,"d.vec2f",[[6,"perlin13",[[6,"d.vec3f",[[7,"pbx","x"],[7,"pbx","y"],"z"]]]],[6,"perlin13",[[6,"d.vec3f",[[7,"pby","x"],[7,"pby","y"],"z"]]]]]]],[10,[6,[7,[6,[7,[6,[7,"a","sub"],["b"]],"div"],[[5,"0.1"]]],"mul"],[[5,"0.5"]]]]]]},externals:{"d.vec2f":()=>l,perlin13:()=>Bd,"d.vec3f":()=>f}})&&e.f)({})),v8=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=a(0),n=a(1),i=a(0),d=l(t.x,t.y);for(let c=0;c<4;c++){let _=d.mul(n),u=ue(q(_).mul(l(123.34,233.53)));u=u.add(se(u,u.add(23.234)));let m=__tsover_mul(ue(__tsover_mul(u.x,u.y)),1e3),p=ue(_).sub(.5),y=H(m),h=Y(m),g=l(__tsover_sub(__tsover_mul(p.x,y),__tsover_mul(p.y,h)),__tsover_add(__tsover_mul(p.x,h),__tsover_mul(p.y,y)));o=__tsover_add(o,__tsover_div(__tsover_mul(Y(__tsover_add(__tsover_mul(g.x,10),s)),re(.25,0,se(g,g))),n)),d=l(__tsover_sub(__tsover_mul(d.x,.54),__tsover_mul(d.y,.84)),__tsover_add(__tsover_mul(d.x,.84),__tsover_mul(d.y,.54))).add(a(c)),i=__tsover_add(i,__tsover_div(1,n)),n=__tsover_mul(n,r)}return __tsover_div(o,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"phase"},{type:"i",name:"scale"}],body:[0,[[12,"dsum",[6,"d.f32",[[5,"0"]]]],[12,"s",[6,"d.f32",[[5,"1"]]]],[12,"m",[6,"d.f32",[[5,"0"]]]],[12,"pp",[6,"d.vec2f",[[7,"p","x"],[7,"p","y"]]]],[14,[12,"idx",[5,"0"]],[1,"idx","<",[5,"4"]],[102,"++","idx"],[0,[[13,"q0",[6,[7,"pp","mul"],["s"]]],[12,"g",[6,"std.fract",[[6,[7,[6,"std.floor",["q0"]],"mul"],[[6,"d.vec2f",[[5,"123.34"],[5,"233.53"]]]]]]]],[2,"g","=",[6,[7,"g","add"],[[6,"std.dot",["g",[6,[7,"g","add"],[[5,"23.234"]]]]]]]],[13,"a",[1,[6,"std.fract",[[1,[7,"g","x"],"*",[7,"g","y"]]]],"*",[5,"1000"]]],[13,"qc",[6,[7,[6,"std.fract",["q0"]],"sub"],[[5,"0.5"]]]],[13,"ca",[6,"std.cos",["a"]]],[13,"sa",[6,"std.sin",["a"]]],[13,"q",[6,"d.vec2f",[[1,[1,[7,"qc","x"],"*","ca"],"-",[1,[7,"qc","y"],"*","sa"]],[1,[1,[7,"qc","x"],"*","sa"],"+",[1,[7,"qc","y"],"*","ca"]]]]],[2,"dsum","=",[1,"dsum","+",[1,[1,[6,"std.sin",[[1,[1,[7,"q","x"],"*",[5,"10"]],"+","phase"]]],"*",[6,"std.smoothstep",[[5,"0.25"],[5,"0"],[6,"std.dot",["q","q"]]]]],"/","s"]]],[2,"pp","=",[6,[7,[6,"d.vec2f",[[1,[1,[7,"pp","x"],"*",[5,"0.54"]],"-",[1,[7,"pp","y"],"*",[5,"0.84"]]],[1,[1,[7,"pp","x"],"*",[5,"0.84"]],"+",[1,[7,"pp","y"],"*",[5,"0.54"]]]]],"add"],[[6,"d.f32",["idx"]]]]],[2,"m","=",[1,"m","+",[1,[5,"1"],"/","s"]]],[2,"s","=",[1,"s","*","scale"]]]]],[10,[1,"dsum","/","m"]]]]},externals:{"d.f32":()=>a,"d.vec2f":()=>l,"std.fract":()=>ue,"std.floor":()=>q,"std.dot":()=>se,"std.cos":()=>H,"std.sin":()=>Y,"std.smoothstep":()=>re}})&&e.f)({})),y8=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=a(0);for(let r=0;r<9;r++){let o=a(r),n=q(__tsover_div(o,3)),i=__tsover_sub(o,__tsover_mul(n,3));s=__tsover_add(s,Ot(t.add(l(__tsover_sub(i,1),__tsover_sub(n,1)))))}return __tsover_add(__tsover_mul(.9,__tsover_sub(__tsover_mul(1.125,Ot(t)),__tsover_div(s,8))),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"v",[6,"d.f32",[[5,"0"]]]],[14,[12,"k",[5,"0"]],[1,"k","<",[5,"9"]],[102,"++","k"],[0,[[13,"fk",[6,"d.f32",["k"]]],[13,"row",[6,"std.floor",[[1,"fk","/",[5,"3"]]]]],[13,"col",[1,"fk","-",[1,"row","*",[5,"3"]]]],[2,"v","=",[1,"v","+",[6,"hash12",[[6,[7,"p","add"],[[6,"d.vec2f",[[1,"col","-",[5,"1"]],[1,"row","-",[5,"1"]]]]]]]]]]]]],[10,[1,[1,[5,"0.9"],"*",[1,[1,[5,"1.125"],"*",[6,"hash12",["p"]]],"-",[1,"v","/",[5,"8"]]]],"+",[5,"0.5"]]]]]},externals:{"d.f32":()=>a,"std.floor":()=>q,hash12:()=>Ot,"d.vec2f":()=>l}})&&e.f)({})),Pg=v.fn([El],Z)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(0),r=t.x,o=t.y;for(let n=256;n>0;n=n>>1){let i=Z(n),d=C(Z(0),Z(1),(r&i)>0),c=C(Z(0),Z(1),(o&i)>0),_=d<<1|d^c;s=__tsover_add(s,__tsover_mul(__tsover_mul(i,i),_));let u=__tsover_sub(Z(1),c),m=__tsover_mul(r^o,u)^__tsover_mul(Z(__tsover_sub(n,1)),d&u);r=r^m,o=o^m}return s}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"i",[6,"d.i32",[[5,"0"]]]],[12,"px",[7,"p","x"]],[12,"py",[7,"p","y"]],[14,[12,"s",[5,"256"]],[1,"s",">",[5,"0"]],[2,"s","=",[1,"s",">>",[5,"1"]]],[0,[[13,"S",[6,"d.i32",["s"]]],[13,"rx",[6,"std.select",[[6,"d.i32",[[5,"0"]]],[6,"d.i32",[[5,"1"]]],[1,[1,"px","&","S"],">",[5,"0"]]]]],[13,"ry",[6,"std.select",[[6,"d.i32",[[5,"0"]]],[6,"d.i32",[[5,"1"]]],[1,[1,"py","&","S"],">",[5,"0"]]]]],[13,"dq",[1,[1,"rx","<<",[5,"1"]],"|",[1,"rx","^","ry"]]],[2,"i","=",[1,"i","+",[1,[1,"S","*","S"],"*","dq"]]],[13,"oneMinusRy",[1,[6,"d.i32",[[5,"1"]]],"-","ry"]],[13,"rhs",[1,[1,[1,"px","^","py"],"*","oneMinusRy"],"^",[1,[6,"d.i32",[[1,"s","-",[5,"1"]]]],"*",[1,"rx","&","oneMinusRy"]]]],[2,"px","=",[1,"px","^","rhs"]],[2,"py","=",[1,"py","^","rhs"]]]]],[10,"i"]]]},externals:{"d.i32":()=>Z,"std.select":()=>C}})&&e.f)({}));v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Pg(El(Z(t.x),Z(t.y)))&Z(262143);return ue(__tsover_mul(.6180339887498949,a(s)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"idx",[1,[6,"hilbertEncode512",[[6,"d.vec2i",[[6,"d.i32",[[7,"p","x"]]],[6,"d.i32",[[7,"p","y"]]]]]]],"&",[6,"d.i32",[[5,"262143"]]]]],[10,[6,"std.fract",[[1,[5,"0.6180339887498949"],"*",[6,"d.f32",["idx"]]]]]]]]},externals:{hilbertEncode512:()=>Pg,"d.vec2i":()=>El,"d.i32":()=>Z,"std.fract":()=>ue,"d.f32":()=>a}})&&e.f)({}));var Eg=v.fn([l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=q(t),i=t.sub(n),d=q(__tsover_mul(Y(__tsover_mul(n.x,51024)),3104)),c=q(__tsover_mul(Y(__tsover_mul(n.y,1324)),554)),_=__tsover_add(d,c),u=i.mul(2).sub(1);u=u.mul(H(_)).add(l(-u.y,u.x).mul(Y(_))),u=u.add(Y(__tsover_sub(d,c))),u=u.mul(.5).add(.5);let m=__tsover_mul(__tsover_add(Y(__tsover_add(d,__tsover_mul(u.y,Math.PI))),Y(__tsover_add(c,__tsover_mul(u.y,Math.PI)))),.2),p=z(__tsover_add(__tsover_sub(u.x,.5),m));p=__tsover_sub(.5,__tsover_mul(p,__tsover_div(s,o))),p=__tsover_mul(re(-2,__tsover_add(__tsover_mul(Zt(p),1.5),16),p),12);let y=__tsover_add(__tsover_mul(Y(__tsover_add(r,__tsover_mul(Ot(n),6.2831853))),.5),.5);return __tsover_mul(__tsover_mul(p,u.y),y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"f"},{type:"i",name:"time"},{type:"i",name:"thickness"}],body:[0,[[13,"seed0",[6,"std.floor",["uv"]]],[13,"lo",[6,[7,"uv","sub"],["seed0"]]],[13,"sx",[6,"std.floor",[[1,[6,"std.sin",[[1,[7,"seed0","x"],"*",[5,"51024"]]]],"*",[5,"3104"]]]]],[13,"sy",[6,"std.floor",[[1,[6,"std.sin",[[1,[7,"seed0","y"],"*",[5,"1324"]]]],"*",[5,"554"]]]]],[13,"ss",[1,"sx","+","sy"]],[12,"u2",[6,[7,[6,[7,"lo","mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[2,"u2","=",[6,[7,[6,[7,"u2","mul"],[[6,"std.cos",["ss"]]]],"add"],[[6,[7,[6,"d.vec2f",[[4,"-",[7,"u2","y"]],[7,"u2","x"]]],"mul"],[[6,"std.sin",["ss"]]]]]]],[2,"u2","=",[6,[7,"u2","add"],[[6,"std.sin",[[1,"sx","-","sy"]]]]]],[2,"u2","=",[6,[7,[6,[7,"u2","mul"],[[5,"0.5"]]],"add"],[[5,"0.5"]]]],[13,"WAVYNESS",[5,"0.2"]],[13,"sVal",[1,[1,[6,"std.sin",[[1,"sx","+",[1,[7,"u2","y"],"*","Math.PI"]]]],"+",[6,"std.sin",[[1,"sy","+",[1,[7,"u2","y"],"*","Math.PI"]]]]],"*","WAVYNESS"]],[12,"x",[6,"std.abs",[[1,[1,[7,"u2","x"],"-",[5,"0.5"]],"+","sVal"]]]],[2,"x","=",[1,[5,"0.5"],"-",[1,"x","*",[1,"f","/","thickness"]]]],[2,"x","=",[1,[6,"std.smoothstep",[[4,"-",[5,"2"]],[1,[1,[6,"std.fwidth",["x"]],"*",[5,"1.5"]],"+",[5,"16"]],"x"]],"*",[5,"12"]]],[13,"pulse",[1,[1,[6,"std.sin",[[1,"time","+",[1,[6,"hash12",["seed0"]],"*",[5,"6.2831853"]]]]],"*",[5,"0.5"]],"+",[5,"0.5"]]],[10,[1,[1,"x","*",[7,"u2","y"]],"*","pulse"]]]]},externals:{"std.floor":()=>q,"std.sin":()=>Y,"std.cos":()=>H,"d.vec2f":()=>l,"Math.PI":()=>Math.PI,"std.abs":()=>z,"std.smoothstep":()=>re,"std.fwidth":()=>Zt,hash12:()=>Ot}})&&e.f)({})),h8=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=a(0),n=l(t.x,t.y),i=__tsover_div(1,j(Zt(t)));for(let d=0;d<8;d++)o=b(o,Eg(n,i,s,r)),n=l(__tsover_add(n.x,__tsover_mul(n.y,.7)),__tsover_add(__tsover_mul(n.x,-.7),n.y)).sub(12.31);return o}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"time"},{type:"i",name:"thickness"}],body:[0,[[12,"scratches",[6,"d.f32",[[5,"0"]]]],[12,"p",[6,"d.vec2f",[[7,"uv","x"],[7,"uv","y"]]]],[13,"f",[1,[5,"1"],"/",[6,"std.length",[[6,"std.fwidth",["uv"]]]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"8"]],[102,"++","i"],[0,[[2,"scratches","=",[6,"std.max",["scratches",[6,"scratchOne",["p","f","time","thickness"]]]]],[2,"p","=",[6,[7,[6,"d.vec2f",[[1,[7,"p","x"],"+",[1,[7,"p","y"],"*",[5,"0.7"]]],[1,[1,[7,"p","x"],"*",[4,"-",[5,"0.7"]]],"+",[7,"p","y"]]]],"sub"],[[5,"12.31"]]]]]]],[10,"scratches"]]]},externals:{"d.f32":()=>a,"d.vec2f":()=>l,"std.length":()=>j,"std.fwidth":()=>Zt,"std.max":()=>b,scratchOne:()=>Eg}})&&e.f)({})),kg=v.fn([l,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=a(0),o=a(0),n=a(1),i=l(t.x,t.y);for(let d=0;da,"d.vec2f":()=>l,perlin12:()=>za}})&&e.f)({})),$g=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=f(0,0,0),r=a(1),o=l(t.x,t.y);for(let n=0;n<6;n++)s=s.add(la(o).mul(r)),r=__tsover_mul(r,.5),o=o.mul(2);return s}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"s",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]]],[12,"a",[6,"d.f32",[[5,"1"]]]],[12,"pp",[6,"d.vec2f",[[7,"p","x"],[7,"p","y"]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"6"]],[102,"++","i"],[0,[[2,"s","=",[6,[7,"s","add"],[[6,[7,[6,"perlin12d",["pp"]],"mul"],["a"]]]]],[2,"a","=",[1,"a","*",[5,"0.5"]]],[2,"pp","=",[6,[7,"pp","mul"],[[5,"2"]]]]]]],[10,"s"]]]},externals:{"d.vec3f":()=>f,"d.f32":()=>a,"d.vec2f":()=>l,perlin12d:()=>la}})&&e.f)({})),x8=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=$g(t);return kg(t.add(l(s.y,s.z).mul(.4)),Z(6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"fs",[6,"fbmStone",["p"]]],[10,[6,"fbmPerlin",[[6,[7,"p","add"],[[6,[7,[6,"d.vec2f",[[7,"fs","y"],[7,"fs","z"]]],"mul"],[[5,"0.4"]]]]],[6,"d.i32",[[5,"6"]]]]]]]]},externals:{fbmStone:()=>$g,fbmPerlin:()=>kg,"d.vec2f":()=>l,"d.i32":()=>Z}})&&e.f)({})),Ug=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=l(0,0),r=a(0),o=a(1),n=l(t.x,t.y);for(let i=0;i<6;i++)s=s.add(Ki(n).mul(o)),r=__tsover_add(r,o),o=__tsover_mul(o,.5),n=n.mul(2);return s.div(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"s",[6,"d.vec2f",[[5,"0"],[5,"0"]]]],[12,"m",[6,"d.f32",[[5,"0"]]]],[12,"a",[6,"d.f32",[[5,"1"]]]],[12,"pp",[6,"d.vec2f",[[7,"p","x"],[7,"p","y"]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"6"]],[102,"++","i"],[0,[[2,"s","=",[6,[7,"s","add"],[[6,[7,[6,"curl22",["pp"]],"mul"],["a"]]]]],[2,"m","=",[1,"m","+","a"]],[2,"a","=",[1,"a","*",[5,"0.5"]]],[2,"pp","=",[6,[7,"pp","mul"],[[5,"2"]]]]]]],[10,[6,[7,"s","div"],["m"]]]]]},externals:{"d.vec2f":()=>l,"d.f32":()=>a,curl22:()=>Ki}})&&e.f)({})),g8=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Ug(t);return b(z(s.x),z(s.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"n",[6,"fbmWool",["p"]]],[10,[6,"std.max",[[6,"std.abs",[[7,"n","x"]]],[6,"std.abs",[[7,"n","y"]]]]]]]]},externals:{fbmWool:()=>Ug,"std.max":()=>b,"std.abs":()=>z}})&&e.f)({})),Cg=v.fn([l,l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=l(-s.y,s.x).mul(Math.PI),o=q(t),n=t.sub(o),i=l(0,0),d=a(0);for(let c=-1;c<=2;c++)for(let _=-1;_<=2;_++){let u=l(a(c),a(_)),m=n.sub(u).sub(er(o.add(u))).add(.5),p=se(m,m),y=b(a(0),__tsover_sub(ct(__tsover_mul(p,-2)),.01111));d=__tsover_add(d,y);let h=se(m,r);i=i.add(l(H(h),-Y(h)).mul(y))}return f(i.x,__tsover_mul(i.y,r.x),__tsover_mul(i.y,r.y)).div(d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"slope"}],body:[0,[[13,"sideDir",[6,[7,[6,"d.vec2f",[[4,"-",[7,"slope","y"]],[7,"slope","x"]]],"mul"],["Math.PI"]]],[13,"id",[6,"std.floor",["p"]]],[13,"pp",[6,[7,"p","sub"],["id"]]],[12,"heightSlope",[6,"d.vec2f",[[5,"0"],[5,"0"]]]],[12,"wSum",[6,"d.f32",[[5,"0"]]]],[14,[12,"x",[4,"-",[5,"1"]]],[1,"x","<=",[5,"2"]],[102,"++","x"],[0,[[14,[12,"y",[4,"-",[5,"1"]]],[1,"y","<=",[5,"2"]],[102,"++","y"],[0,[[13,"off",[6,"d.vec2f",[[6,"d.f32",["x"]],[6,"d.f32",["y"]]]]],[13,"c",[6,[7,[6,[7,[6,[7,"pp","sub"],["off"]],"sub"],[[6,"hash22",[[6,[7,"id","add"],["off"]]]]]],"add"],[[5,"0.5"]]]],[13,"dist2",[6,"std.dot",["c","c"]]],[13,"w",[6,"std.max",[[6,"d.f32",[[5,"0"]]],[1,[6,"std.exp",[[1,"dist2","*",[4,"-",[5,"2"]]]]],"-",[5,"0.01111"]]]]],[2,"wSum","=",[1,"wSum","+","w"]],[13,"t",[6,"std.dot",["c","sideDir"]]],[2,"heightSlope","=",[6,[7,"heightSlope","add"],[[6,[7,[6,"d.vec2f",[[6,"std.cos",["t"]],[4,"-",[6,"std.sin",["t"]]]]],"mul"],["w"]]]]]]]]]]],[10,[6,[7,[6,"d.vec3f",[[7,"heightSlope","x"],[1,[7,"heightSlope","y"],"*",[7,"sideDir","x"]],[1,[7,"heightSlope","y"],"*",[7,"sideDir","y"]]]],"div"],["wSum"]]]]]},externals:{"d.vec2f":()=>l,"Math.PI":()=>Math.PI,"std.floor":()=>q,"d.f32":()=>a,hash22:()=>er,"std.dot":()=>se,"std.max":()=>b,"std.exp":()=>ct,"std.cos":()=>H,"std.sin":()=>Y,"d.vec3f":()=>f}})&&e.f)({})),b8=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=la(t),r=a(.25),o=a(8),n=a(1);for(let i=0;i<4;i++){let d=l(s.y,s.z),c=b(se(d,d),a(1e-4)),_=d.mul(Ce(c,a(__tsover_mul(.5,__tsover_sub(.5,1)))));s=s.add(Cg(t.mul(o),_).mul(r).mul(f(1,o,o))),n=__tsover_add(n,r),r=__tsover_mul(r,.5),o=__tsover_mul(o,2)}return s.div(n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"nd",[6,"perlin12d",["p"]]],[12,"strength",[6,"d.f32",[[5,"0.25"]]]],[12,"freq",[6,"d.f32",[[5,"8"]]]],[12,"total",[6,"d.f32",[[5,"1"]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"4"]],[102,"++","i"],[0,[[13,"grad",[6,"d.vec2f",[[7,"nd","y"],[7,"nd","z"]]]],[13,"len2",[6,"std.max",[[6,"std.dot",["grad","grad"]],[6,"d.f32",[[5,"0.0001"]]]]]],[13,"slope",[6,[7,"grad","mul"],[[6,"std.pow",["len2",[6,"d.f32",[[1,[5,"0.5"],"*",[1,[5,"0.5"],"-",[5,"1"]]]]]]]]]],[2,"nd","=",[6,[7,"nd","add"],[[6,[7,[6,[7,[6,"gullies",[[6,[7,"p","mul"],["freq"]],"slope"]],"mul"],["strength"]],"mul"],[[6,"d.vec3f",[[5,"1"],"freq","freq"]]]]]]],[2,"total","=",[1,"total","+","strength"]],[2,"strength","=",[1,"strength","*",[5,"0.5"]]],[2,"freq","=",[1,"freq","*",[5,"2"]]]]]],[10,[6,[7,"nd","div"],["total"]]]]]},externals:{perlin12d:()=>la,"d.f32":()=>a,"d.vec2f":()=>l,"std.max":()=>b,"std.dot":()=>se,"std.pow":()=>Ce,gullies:()=>Cg,"d.vec3f":()=>f}})&&e.f)({})),Rg=v.fn([l,Z],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=l(0,0),o=a(0),n=a(1),i=l(t.x,t.y);for(let d=0;dl,"d.f32":()=>a,"std.clamp":()=>$,curl22:()=>Ki}})&&e.f)({})),zg=v.fn([l,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_add(__tsover_mul(__tsover_div(j(Rg(t,s)),1.414),.6),.4)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"octaves"}],body:[0,[[10,[1,[1,[1,[6,"std.length",[[6,"fbmPaper",["p","octaves"]]]],"/",[5,"1.414"]],"*",[5,"0.6"]],"+",[5,"0.4"]]]]]},externals:{"std.length":()=>j,fbmPaper:()=>Rg}})&&e.f)({}));v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_add(__tsover_mul(t.x,.2126),__tsover_mul(t.y,.7152)),__tsover_mul(t.z,.0722))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[1,[1,[1,[7,"rgb","x"],"*",[5,"0.2126"]],"+",[1,[7,"rgb","y"],"*",[5,"0.7152"]]],"+",[1,[7,"rgb","z"],"*",[5,"0.0722"]]]]]]},externals:{}})&&e.f)({}));v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_add(__tsover_mul(t.x,.299),__tsover_mul(t.y,.587)),__tsover_mul(t.z,.114))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[1,[1,[1,[7,"rgb","x"],"*",[5,"0.299"]],"+",[1,[7,"rgb","y"],"*",[5,"0.587"]]],"+",[1,[7,"rgb","z"],"*",[5,"0.114"]]]]]]},externals:{}})&&e.f)({}));var Gg=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return se(t,f(.2126,.7152,.0722))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),Ll=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return se(t,f(.299,.587,.114))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({}));v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return $(__tsover_add(__tsover_mul(__tsover_sub(t,r),s),r),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"contrast"},{type:"i",name:"pivot"}],body:[0,[[10,[6,"std.clamp",[[1,[1,[1,"x","-","pivot"],"*","contrast"],"+","pivot"],[5,"0"],[5,"1"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({}));var w8=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_mul(t,.5),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[1,[1,"v","*",[5,"0.5"]],"+",[5,"0.5"]]]]]},externals:{}})&&e.f)({}));v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_sub(1,z(t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.abs",["v"]]]]]]},externals:{"std.abs":()=>z}})&&e.f)({}));var KC=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=$(__tsover_add(__tsover_add(__tsover_mul(__tsover_sub(t,.5),__tsover_add(s,1)),.5),r),0,1);return __tsover_sub(1,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"noise01"},{type:"i",name:"contrast"},{type:"i",name:"balance"}],body:[0,[[13,"k",[6,"std.clamp",[[1,[1,[1,[1,"noise01","-",[5,"0.5"]],"*",[1,"contrast","+",[5,"1"]]],"+",[5,"0.5"]],"+","balance"],[5,"0"],[5,"1"]]]],[10,[1,[5,"1"],"-","k"]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),ZC=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(__tsover_mul(t,__tsover_add(s,1)),r),n=$(__tsover_add(__tsover_mul(o,.5),.5),0,1);return __tsover_sub(1,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"contrast"},{type:"i",name:"balance"}],body:[0,[[13,"adjusted",[1,[1,"v","*",[1,"contrast","+",[5,"1"]]],"+","balance"]],[13,"k",[6,"std.clamp",[[1,[1,"adjusted","*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[10,[1,[5,"1"],"-","k"]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),QC=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(__tsover_mul(t,2),1),n=__tsover_add(__tsover_mul(o,s),r);return $(__tsover_add(__tsover_mul(n,.5),.5),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"contrast"},{type:"i",name:"balance"}],body:[0,[[13,"signed",[1,[1,"v","*",[5,"2"]],"-",[5,"1"]]],[13,"adjusted",[1,[1,"signed","*","contrast"],"+","balance"]],[10,[6,"std.clamp",[[1,[1,"adjusted","*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),JC=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Ce(t,__tsover_div(5,s)),i=$(__tsover_add(__tsover_mul(__tsover_sub(n,.5),r),.5),0,1),d=__tsover_sub(__tsover_div(o,100),.5),c=$(__tsover_add(i,d),0,1);return __tsover_sub(1,c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"glow"},{type:"i",name:"contrast"},{type:"i",name:"balance"}],body:[0,[[13,"spread",[6,"std.pow",["v",[1,[5,"5"],"/","glow"]]]],[13,"contrasted",[6,"std.clamp",[[1,[1,[1,"spread","-",[5,"0.5"]],"*","contrast"],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[13,"balanceShift",[1,[1,"balance","/",[5,"100"]],"-",[5,"0.5"]]],[13,"balanced",[6,"std.clamp",[[1,"contrasted","+","balanceShift"],[5,"0"],[5,"1"]]]],[10,[1,[5,"1"],"-","balanced"]]]]},externals:{"std.pow":()=>Ce,"std.clamp":()=>$}})&&e.f)({}));function t7(e){let{domain:t,contrastMode:s,invert:r,glowGamma:o=!1,balance:n="plain"}=e;if(o){if(t==="unit"&&s==="multiplicative"&&r&&n==="percentCentred")return JC}else if(n==="plain"){if(t==="unit"&&s==="additive"&&r)return KC;if(t==="signed"&&s==="additive"&&r)return ZC;if(t==="unit"&&s==="multiplicative"&&!r)return QC}throw new Error(`toneRemap: no variant for {domain: '${t}', contrastMode: '${s}', invert: ${r}, glowGamma: ${o}, balance: '${n}'} \u2014 add its body to kit/tone.ts rather than approximating.`)}var eR=v.fn([x,l,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Ot(s.mul(r).add(l(o,__tsover_mul(o,1.618))));return x($(t.xyz.add(__tsover_mul(__tsover_sub(n,.5),.004)),f(0),f(1)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"animTime"}],body:[0,[[13,"n",[6,"hash12",[[6,[7,[6,[7,"uv","mul"],["viewport"]],"add"],[[6,"d.vec2f",["animTime",[1,"animTime","*",[5,"1.618"]]]]]]]]],[13,"rgb",[6,"std.clamp",[[6,[7,[7,"base","xyz"],"add"],[[1,[1,"n","-",[5,"0.5"]],"*",[5,"0.004"]]]],[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]],[10,[6,"d.vec4f",["rgb",[7,"base","w"]]]]]]},externals:{hash12:()=>Ot,"d.vec2f":()=>l,"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),bt=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_div(t.x,b(t.y,1e-6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"viewport"}],body:[0,[[10,[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]]]]},externals:{"std.max":()=>b}})&&e.f)({})),Zi=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(t,__tsover_mul(s,q(__tsover_div(t,s))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"m"}],body:[0,[[10,[1,"x","-",[1,"m","*",[6,"std.floor",[[1,"x","/","m"]]]]]]]]},externals:{"std.floor":()=>q}})&&e.f)({})),ym=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_sub(t.x,__tsover_mul(s.x,q(__tsover_div(t.x,s.x)))),__tsover_sub(t.y,__tsover_mul(s.y,q(__tsover_div(t.y,s.y)))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"m"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"p","x"],"-",[1,[7,"m","x"],"*",[6,"std.floor",[[1,[7,"p","x"],"/",[7,"m","x"]]]]]],[1,[7,"p","y"],"-",[1,[7,"m","y"],"*",[6,"std.floor",[[1,[7,"p","y"],"/",[7,"m","y"]]]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.floor":()=>q}})&&e.f)({}));v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=C(b(s,1e-5),oe(s,-1e-5),s<0);return __tsover_div(t,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"n"},{type:"i",name:"den"}],body:[0,[[13,"guarded",[6,"std.select",[[6,"std.max",["den",[5,"0.00001"]]],[6,"std.min",["den",[4,"-",[5,"0.00001"]]]],[1,"den","<",[5,"0"]]]]],[10,[1,"n","/","guarded"]]]]},externals:{"std.select":()=>C,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({}));var Eo=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_sub(__tsover_mul(t.x,s),__tsover_mul(t.y,r)),__tsover_add(__tsover_mul(t.x,r),__tsover_mul(t.y,s)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"cosA"},{type:"i",name:"sinA"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[7,"p","x"],"*","cosA"],"-",[1,[7,"p","y"],"*","sinA"]],[1,[1,[7,"p","x"],"*","sinA"],"+",[1,[7,"p","y"],"*","cosA"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Yg=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(s.x,b(s.y,1e-6));return l(__tsover_mul(t.x,r),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),Il=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(s.x,b(s.y,1e-6));return l(__tsover_mul(t.x,r),__tsover_sub(1,t.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[1,[5,"1"],"-",[7,"uv","y"]]]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),hm=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return l(t.x,__tsover_sub(1,t.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"d.vec2f",[[7,"p","x"],[1,[5,"1"],"-",[7,"p","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),bn=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_mul(t.x,s),__tsover_sub(1,t.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"aspect"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"pos","x"],"*","aspect"],[1,[5,"1"],"-",[7,"pos","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),ua=v.fn([l,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(r.x,b(r.y,1e-6));return l(__tsover_sub(__tsover_mul(t.x,o),__tsover_mul(s.x,o)),__tsover_sub(t.y,__tsover_sub(1,s.y)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"center"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[10,[6,"d.vec2f",[[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,[7,"center","x"],"*","aspect"]],[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),ma=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_sub(__tsover_mul(t.x,s),__tsover_mul(s,.5)),__tsover_sub(t.y,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,"aspect","*",[5,"0.5"]]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Qi=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,.5),i=.5,d=__tsover_sub(t.x,n),c=__tsover_sub(t.y,i);return l(__tsover_add(__tsover_sub(__tsover_mul(d,r),__tsover_mul(c,o)),n),__tsover_add(__tsover_add(__tsover_mul(d,o),__tsover_mul(c,r)),i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"aspect"},{type:"i",name:"cosA"},{type:"i",name:"sinA"}],body:[0,[[13,"centerX",[1,"aspect","*",[5,"0.5"]]],[13,"centerY",[5,"0.5"]],[13,"cx",[1,[7,"p","x"],"-","centerX"]],[13,"cy",[1,[7,"p","y"],"-","centerY"]],[10,[6,"d.vec2f",[[1,[1,[1,"cx","*","cosA"],"-",[1,"cy","*","sinA"]],"+","centerX"],[1,[1,[1,"cx","*","sinA"],"+",[1,"cy","*","cosA"]],"+","centerY"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Dl=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_add(__tsover_mul(t.x,s),__tsover_mul(t.y,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"cosA"},{type:"i",name:"sinA"}],body:[0,[[10,[1,[1,[7,"p","x"],"*","cosA"],"+",[1,[7,"p","y"],"*","sinA"]]]]]},externals:{}})&&e.f)({}));v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return l(j(t),tt(t.y,t.x))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"d.vec2f",[[6,"std.length",["p"]],[6,"std.atan2",[[7,"p","y"],[7,"p","x"]]]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.atan2":()=>tt}})&&e.f)({}));v.fn([a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_mul(t,H(s)),__tsover_mul(t,Y(s)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"r"},{type:"i",name:"theta"}],body:[0,[[10,[6,"d.vec2f",[[1,"r","*",[6,"std.cos",["theta"]]],[1,"r","*",[6,"std.sin",["theta"]]]]]]]]},externals:{"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({}));var Lg=2/Math.sqrt(3),xm=ut({cell:l,local:l}).$name("CellTile"),Ji=v.fn([l],xm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return xm({cell:q(t),local:ue(t)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"CellTile",[[104,{cell:[6,"std.floor",["p"]],local:[6,"std.fract",["p"]]}]]]]]]},externals:{CellTile:()=>xm,"std.floor":()=>q,"std.fract":()=>ue}})&&e.f)({})),gm=ut({gv:l,id:l}).$name("HexCell"),Fl=v.fn([l,l],gm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=s.mul(.5),o=ym(t,s).sub(r),n=ym(t.sub(r),s).sub(r),i=C(n,o,se(o,o)ym,"std.select":()=>C,"std.dot":()=>se,HexCell:()=>gm}})&&e.f)({})),Ig=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return l(__tsover_sub(t.x,__tsover_div(t.y,_a)),__tsover_mul(t.y,Lg))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"p","x"],"-",[1,[7,"p","y"],"/","SQRT3"]],[1,[7,"p","y"],"*","TWO_OVER_SQRT3"]]]]]]},externals:{"d.vec2f":()=>l,SQRT3:()=>_a,TWO_OVER_SQRT3:()=>Lg}})&&e.f)({})),T8=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(s.x,b(s.y,1e-6)),n=__tsover_mul(t.x,o),i=__tsover_sub(1,t.y),d=__tsover_div(__tsover_add(q(__tsover_mul(n,r)),.5),r),c=__tsover_div(__tsover_add(q(__tsover_mul(i,r)),.5),r);return l(__tsover_div(d,o),__tsover_sub(1,c))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[13,"correctedX",[1,[7,"uv","x"],"*","aspect"]],[13,"correctedY",[1,[5,"1"],"-",[7,"uv","y"]]],[13,"cellCenterCorrectedX",[1,[1,[6,"std.floor",[[1,"correctedX","*","cells"]]],"+",[5,"0.5"]],"/","cells"]],[13,"cellCenterCorrectedY",[1,[1,[6,"std.floor",[[1,"correctedY","*","cells"]]],"+",[5,"0.5"]],"/","cells"]],[10,[6,"d.vec2f",[[1,"cellCenterCorrectedX","/","aspect"],[1,[5,"1"],"-","cellCenterCorrectedY"]]]]]]},externals:{"std.max":()=>b,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),Dg=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_div(s.x,b(s.y,1e-6)),i=__tsover_mul(t.x,n),d=__tsover_sub(1,t.y),c=H(o),_=Y(o),u=__tsover_mul(n,.5),m=.5,p=__tsover_sub(i,u),y=__tsover_sub(d,m),h=__tsover_add(__tsover_sub(__tsover_mul(p,c),__tsover_mul(y,_)),u),g=__tsover_add(__tsover_add(__tsover_mul(p,_),__tsover_mul(y,c)),m),w=__tsover_div(__tsover_add(q(__tsover_mul(h,r)),.5),r),S=__tsover_div(__tsover_add(q(__tsover_mul(g,r)),.5),r),T=__tsover_sub(w,u),A=__tsover_sub(S,m),P=__tsover_add(__tsover_add(__tsover_mul(T,c),__tsover_mul(A,_)),u),U=__tsover_add(__tsover_add(__tsover_mul(T,-_),__tsover_mul(A,c)),m);return l(__tsover_div(P,n),__tsover_sub(1,U))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotationRad"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[13,"correctedX",[1,[7,"uv","x"],"*","aspect"]],[13,"correctedY",[1,[5,"1"],"-",[7,"uv","y"]]],[13,"cosR",[6,"std.cos",["rotationRad"]]],[13,"sinR",[6,"std.sin",["rotationRad"]]],[13,"centerX",[1,"aspect","*",[5,"0.5"]]],[13,"centerY",[5,"0.5"]],[13,"cx",[1,"correctedX","-","centerX"]],[13,"cy",[1,"correctedY","-","centerY"]],[13,"rotX",[1,[1,[1,"cx","*","cosR"],"-",[1,"cy","*","sinR"]],"+","centerX"]],[13,"rotY",[1,[1,[1,"cx","*","sinR"],"+",[1,"cy","*","cosR"]],"+","centerY"]],[13,"cellRX",[1,[1,[6,"std.floor",[[1,"rotX","*","cells"]]],"+",[5,"0.5"]],"/","cells"]],[13,"cellRY",[1,[1,[6,"std.floor",[[1,"rotY","*","cells"]]],"+",[5,"0.5"]],"/","cells"]],[13,"ccx",[1,"cellRX","-","centerX"]],[13,"ccy",[1,"cellRY","-","centerY"]],[13,"unrotX",[1,[1,[1,"ccx","*","cosR"],"+",[1,"ccy","*","sinR"]],"+","centerX"]],[13,"unrotY",[1,[1,[1,"ccx","*",[4,"-","sinR"]],"+",[1,"ccy","*","cosR"]],"+","centerY"]],[10,[6,"d.vec2f",[[1,"unrotX","/","aspect"],[1,[5,"1"],"-","unrotY"]]]]]]},externals:{"std.max":()=>b,"std.cos":()=>H,"std.sin":()=>Y,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),Bl=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ue(t.mul(l(123.34,345.45))),r=s.add(se(s,s.add(34.345)));return ue(__tsover_mul(r.x,r.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"id"}],body:[0,[[13,"q0",[6,"std.fract",[[6,[7,"id","mul"],[[6,"d.vec2f",[[5,"123.34"],[5,"345.45"]]]]]]]],[13,"q1",[6,[7,"q0","add"],[[6,"std.dot",["q0",[6,[7,"q0","add"],[[5,"34.345"]]]]]]]],[10,[6,"std.fract",[[1,[7,"q1","x"],"*",[7,"q1","y"]]]]]]]},externals:{"std.fract":()=>ue,"d.vec2f":()=>l,"std.dot":()=>se}})&&e.f)({})),Wl=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(__tsover_mul(Y(__tsover_mul(t,127.1)),43758.5453))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"row"}],body:[0,[[10,[6,"std.fract",[[1,[6,"std.sin",[[1,"row","*",[5,"127.1"]]]],"*",[5,"43758.5453"]]]]]]]},externals:{"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),Ol=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_add(1,__tsover_mul(__tsover_mul(__tsover_sub(t,.5),4),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rowHash"},{type:"i",name:"variance"}],body:[0,[[10,[1,[5,"1"],"+",[1,[1,[1,"rowHash","-",[5,"0.5"]],"*",[5,"4"]],"*","variance"]]]]]},externals:{}})&&e.f)({})),Fg=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return b(__tsover_add(1,__tsover_mul(__tsover_mul(__tsover_sub(t,.5),2),s)),0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rand"},{type:"i",name:"variation"}],body:[0,[[10,[6,"std.max",[[1,[5,"1"],"+",[1,[1,[1,"rand","-",[5,"0.5"]],"*",[5,"2"]],"*","variation"]],[5,"0"]]]]]]},externals:{"std.max":()=>b}})&&e.f)({})),Vl=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(z(Ni(t)),z(qi(t)));return b(__tsover_add(r,s),1e-5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"softness"}],body:[0,[[13,"baseW",[6,"std.max",[[6,"std.abs",[[6,"std.dpdx",["x"]]]],[6,"std.abs",[[6,"std.dpdy",["x"]]]]]]],[10,[6,"std.max",[[1,"baseW","+","softness"],[5,"0.00001"]]]]]]},externals:{"std.max":()=>b,"std.abs":()=>z,"std.dpdx":()=>Ni,"std.dpdy":()=>qi}})&&e.f)({})),Bg=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ni(t),o=qi(t),n=l(b(z(r.x),z(o.x)),b(z(r.y),z(o.y)));return l(b(__tsover_add(n.x,s),1e-5),b(__tsover_add(n.y,s),1e-5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"softness"}],body:[0,[[13,"dpx",[6,"std.dpdx",["p"]]],[13,"dpy",[6,"std.dpdy",["p"]]],[13,"baseW",[6,"d.vec2f",[[6,"std.max",[[6,"std.abs",[[7,"dpx","x"]]],[6,"std.abs",[[7,"dpy","x"]]]]],[6,"std.max",[[6,"std.abs",[[7,"dpx","y"]]],[6,"std.abs",[[7,"dpy","y"]]]]]]]],[10,[6,"d.vec2f",[[6,"std.max",[[1,[7,"baseW","x"],"+","softness"],[5,"0.00001"]]],[6,"std.max",[[1,[7,"baseW","y"],"+","softness"],[5,"0.00001"]]]]]]]]},externals:{"std.dpdx":()=>Ni,"std.dpdy":()=>qi,"d.vec2f":()=>l,"std.max":()=>b,"std.abs":()=>z}})&&e.f)({})),Wg=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(t,__tsover_mul(s,.5)),n=__tsover_sub(t,__tsover_mul(s,.5)),i=__tsover_sub(1,r),d=__tsover_add(__tsover_mul(q(o),i),b(__tsover_sub(ue(o),r),0)),c=__tsover_add(__tsover_mul(q(n),i),b(__tsover_sub(ue(n),r),0));return $(__tsover_div(__tsover_sub(d,c),s),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"w"},{type:"i",name:"threshold"}],body:[0,[[13,"a",[1,"p","+",[1,"w","*",[5,"0.5"]]]],[13,"b",[1,"p","-",[1,"w","*",[5,"0.5"]]]],[13,"oneMinusThreshold",[1,[5,"1"],"-","threshold"]],[13,"Fa",[1,[1,[6,"std.floor",["a"]],"*","oneMinusThreshold"],"+",[6,"std.max",[[1,[6,"std.fract",["a"]],"-","threshold"],[5,"0"]]]]],[13,"Fb",[1,[1,[6,"std.floor",["b"]],"*","oneMinusThreshold"],"+",[6,"std.max",[[1,[6,"std.fract",["b"]],"-","threshold"],[5,"0"]]]]],[10,[6,"std.clamp",[[1,[1,"Fa","-","Fb"],"/","w"],[5,"0"],[5,"1"]]]]]]},externals:{"std.floor":()=>q,"std.max":()=>b,"std.fract":()=>ue,"std.clamp":()=>$}})&&e.f)({})),bm=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(t,__tsover_mul(s,.5)),n=__tsover_sub(t,__tsover_mul(s,.5));return __tsover_div(__tsover_sub(__tsover_sub(__tsover_add(q(o),oe(__tsover_mul(ue(o),r),1)),q(n)),oe(__tsover_mul(ue(n),r),1)),__tsover_mul(r,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"w"},{type:"i",name:"N"}],body:[0,[[13,"a",[1,"p","+",[1,"w","*",[5,"0.5"]]]],[13,"b",[1,"p","-",[1,"w","*",[5,"0.5"]]]],[10,[1,[1,[1,[1,[6,"std.floor",["a"]],"+",[6,"std.min",[[1,[6,"std.fract",["a"]],"*","N"],[5,"1"]]]],"-",[6,"std.floor",["b"]]],"-",[6,"std.min",[[1,[6,"std.fract",["b"]],"*","N"],[5,"1"]]]],"/",[1,"N","*","w"]]]]]},externals:{"std.floor":()=>q,"std.min":()=>oe,"std.fract":()=>ue}})&&e.f)({})),Og=v.fn([l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=l(__tsover_mul(s.x,.5),__tsover_mul(s.y,.5)),o=z(__tsover_sub(ue(__tsover_mul(__tsover_sub(t.x,r.x),.5)),.5)),n=z(__tsover_sub(ue(__tsover_mul(__tsover_sub(t.y,r.y),.5)),.5)),i=z(__tsover_sub(ue(__tsover_mul(__tsover_add(t.x,r.x),.5)),.5)),d=z(__tsover_sub(ue(__tsover_mul(__tsover_add(t.y,r.y),.5)),.5)),c=__tsover_div(__tsover_mul(__tsover_sub(o,i),2),s.x),_=__tsover_div(__tsover_mul(__tsover_sub(n,d),2),s.y);return $(__tsover_sub(.5,__tsover_mul(__tsover_mul(c,_),.5)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"w"}],body:[0,[[13,"aHalf",[6,"d.vec2f",[[1,[7,"w","x"],"*",[5,"0.5"]],[1,[7,"w","y"],"*",[5,"0.5"]]]]],[13,"minusSideX",[6,"std.abs",[[1,[6,"std.fract",[[1,[1,[7,"p","x"],"-",[7,"aHalf","x"]],"*",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"minusSideY",[6,"std.abs",[[1,[6,"std.fract",[[1,[1,[7,"p","y"],"-",[7,"aHalf","y"]],"*",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"plusSideX",[6,"std.abs",[[1,[6,"std.fract",[[1,[1,[7,"p","x"],"+",[7,"aHalf","x"]],"*",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"plusSideY",[6,"std.abs",[[1,[6,"std.fract",[[1,[1,[7,"p","y"],"+",[7,"aHalf","y"]],"*",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"iX",[1,[1,[1,"minusSideX","-","plusSideX"],"*",[5,"2"]],"/",[7,"w","x"]]],[13,"iY",[1,[1,[1,"minusSideY","-","plusSideY"],"*",[5,"2"]],"/",[7,"w","y"]]],[10,[6,"std.clamp",[[1,[5,"0.5"],"-",[1,[1,"iX","*","iY"],"*",[5,"0.5"]]],[5,"0"],[5,"1"]]]]]]},externals:{"d.vec2f":()=>l,"std.abs":()=>z,"std.fract":()=>ue,"std.clamp":()=>$}})&&e.f)({})),Nl=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return __tsover_mul(__tsover_sub(1,re(r,o,t)),De(1e-4,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"field"},{type:"i",name:"lineWidth"},{type:"i",name:"lo"},{type:"i",name:"hi"}],body:[0,[[10,[1,[1,[5,"1"],"-",[6,"std.smoothstep",["lo","hi","field"]]],"*",[6,"std.step",[[5,"0.0001"],"lineWidth"]]]]]]},externals:{"std.smoothstep":()=>re,"std.step":()=>De}})&&e.f)({})),Ri=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_mul(re(s,r,t),re(s,r,__tsover_sub(1,t)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"lo"},{type:"i",name:"hi"}],body:[0,[[10,[1,[6,"std.smoothstep",["lo","hi","x"]],"*",[6,"std.smoothstep",["lo","hi",[1,[5,"1"],"-","x"]]]]]]]},externals:{"std.smoothstep":()=>re}})&&e.f)({})),Vg=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_sub(1,re(__tsover_sub(s,__tsover_mul(r,.5)),s,t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"radius"},{type:"i",name:"footprint"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"radius","-",[1,"footprint","*",[5,"0.5"]]],"radius","dist"]]]]]]},externals:{"std.smoothstep":()=>re}})&&e.f)({})),S8=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=bt(s);return l(__tsover_mul(t.x,n),t.y).mul(ct(r)).add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"scale"},{type:"i",name:"seed"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[10,[6,[7,[6,[7,"aspectUV","mul"],[[6,"std.exp",["scale"]]]],"add"],["seed"]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l,"std.exp":()=>ct}})&&e.f)({})),A8=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return q(t.mul(s).div(r)).add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"grain"},{type:"i",name:"seed"}],body:[0,[[10,[6,[7,[6,"std.floor",[[6,[7,[6,[7,"uv","mul"],["viewport"]],"div"],["grain"]]]],"add"],["seed"]]]]]},externals:{"std.floor":()=>q}})&&e.f)({})),M8=v.fn([l,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return f(t.x,t.y,__tsover_mul(s,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"t"},{type:"i",name:"rate"}],body:[0,[[10,[6,"d.vec3f",[[7,"pos","x"],[7,"pos","y"],[1,"t","*","rate"]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),Ng=new WeakMap,tR=0;function Dv(e){let t=e,s=Ng.get(t);if(s!==void 0)return s;let r=tR++;return Ng.set(t,r),r}function s7(e,t){let{maxOctaves:s,drift:r,stride:o=[17,31],name:n="fbmGated"}=t,i=`${Dv(e)}|${n}|${s}|${r}|${o[0]},${o[1]}`,d=qg.get(i);if(d)return d;let c=s,_=o[0],u=o[1],m=`${r==="goldenAngle"?"Golden":"TimeSeed"}${c}`,p;if(r==="goldenAngle"){let y=e;p=v.fn([l,a,a,a,a,l,a],l)((h=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(h.f=((g,w,S,T,A,P,U)=>{"use gpu";let D=Z(U),O=w,L=a(1),G=a(0),W=a(0);for(let K=0;KZ,"d.f32":()=>a,N:()=>c,"std.cos":()=>H,GOLDEN:()=>2.3999632297286535,"std.sin":()=>Y,"d.vec2f":()=>l,"std.select":()=>C,octaveField:()=>y}})&&h.f)({})).$name(`${n}${m}`)}else{let y=e;p=v.fn([l,a,a,a,a,a,f,a],l)((h=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(h.f=((g,w,S,T,A,P,U,D)=>{"use gpu";let O=w,L=a(1),G=a(0),W=a(0);for(let K=0;Ka,N:()=>c,"std.select":()=>C,"d.vec2f":()=>l,TIME_STRIDE:()=>_,SEED_STRIDE:()=>u,octaveField:()=>y}})&&h.f)({})).$name(`${n}${m}`)}return qg.set(i,p),p}var qg=new Map,r7={q:[[.3,-.2,0],[5.2,1.3,.25]],r:[[1.7,9.2,.15],[8.3,2.8,.13]]};function sR(e,t={}){let{offsets:s=r7,name:r="domainWarp2"}=t,o=`${Dv(e)}|${r}|${JSON.stringify(s)}`,n=ql.get(o);if(n)return n;let i=e,[d,c,_]=s.q[0],[u,m,p]=s.q[1],[y,h,g]=s.r[0],[w,S,T]=s.r[1],A=v.fn([f,a,a],f)((P=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(P.f=((U,D,O)=>{"use gpu";let L=i(U.add(f(__tsover_mul(D,d),__tsover_mul(D,c),_))),G=i(U.add(f(u,m,__tsover_mul(D,p)))),W=U.add(f(L,G,0).mul(O)),K=i(W.add(f(y,h,__tsover_mul(D,g)))),Q=i(W.add(f(w,S,__tsover_mul(D,T))));return U.add(f(K,Q,0).mul(O))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"t"},{type:"i",name:"warpAmount"}],body:[0,[[13,"qx",[6,"warpField",[[6,[7,"pos","add"],[[6,"d.vec3f",[[1,"t","*","QX"],[1,"t","*","QY"],"QZ"]]]]]]],[13,"qy",[6,"warpField",[[6,[7,"pos","add"],[[6,"d.vec3f",["Q2X","Q2Y",[1,"t","*","Q2Z"]]]]]]]],[13,"warped1",[6,[7,"pos","add"],[[6,[7,[6,"d.vec3f",["qx","qy",[5,"0"]]],"mul"],["warpAmount"]]]]],[13,"rx",[6,"warpField",[[6,[7,"warped1","add"],[[6,"d.vec3f",["RX","RY",[1,"t","*","RZ"]]]]]]]],[13,"ry",[6,"warpField",[[6,[7,"warped1","add"],[[6,"d.vec3f",["R2X","R2Y",[1,"t","*","R2Z"]]]]]]]],[10,[6,[7,"pos","add"],[[6,[7,[6,"d.vec3f",["rx","ry",[5,"0"]]],"mul"],["warpAmount"]]]]]]]},externals:{warpField:()=>i,"d.vec3f":()=>f,QX:()=>d,QY:()=>c,QZ:()=>_,Q2X:()=>u,Q2Y:()=>m,Q2Z:()=>p,RX:()=>y,RY:()=>h,RZ:()=>g,R2X:()=>w,R2Y:()=>S,R2Z:()=>T}})&&P.f)({})).$name(r);return ql.set(o,A),A}function rR(e,t={}){let{offsets:s=r7,name:r="domainWarp1"}=t,o=`1|${Dv(e)}|${r}|${JSON.stringify(s)}`,n=ql.get(o);if(n)return n;let i=e,[d,c,_]=s.q[0],[u,m,p]=s.q[1],y=v.fn([f,a,a],f)((h=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(h.f=((g,w,S)=>{"use gpu";let T=i(g.add(f(__tsover_mul(w,d),__tsover_mul(w,c),_))),A=i(g.add(f(u,m,__tsover_mul(w,p))));return g.add(f(T,A,0).mul(S))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"t"},{type:"i",name:"warpAmount"}],body:[0,[[13,"qx",[6,"warpField",[[6,[7,"pos","add"],[[6,"d.vec3f",[[1,"t","*","QX"],[1,"t","*","QY"],"QZ"]]]]]]],[13,"qy",[6,"warpField",[[6,[7,"pos","add"],[[6,"d.vec3f",["Q2X","Q2Y",[1,"t","*","Q2Z"]]]]]]]],[10,[6,[7,"pos","add"],[[6,[7,[6,"d.vec3f",["qx","qy",[5,"0"]]],"mul"],["warpAmount"]]]]]]]},externals:{warpField:()=>i,"d.vec3f":()=>f,QX:()=>d,QY:()=>c,QZ:()=>_,Q2X:()=>u,Q2Y:()=>m,Q2Z:()=>p}})&&h.f)({})).$name(r);return ql.set(o,y),y}var ql=new Map,oR=v.fn([l,a,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(t.x,s),t.y),d=l(__tsover_mul(r.x,s),__tsover_sub(1,r.y)),c=j(i.sub(d));return re(o,__tsover_add(o,n),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"},{type:"i",name:"radius"},{type:"i",name:"falloff"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dist",[6,"std.length",[[6,[7,"aspectUV","sub"],["centerPos"]]]]],[10,[6,"std.smoothstep",["radius",[1,"radius","+","falloff"],"dist"]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.smoothstep":()=>re}})&&e.f)({})),wm=.11,Xl=.6180339887,lc=8,Xg=v.fn([a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_add(__tsover_mul(t,2.3999632297286535),__tsover_mul(Gs(__tsover_add(__tsover_mul(r,.7311),1.618)),it)),c=be(__tsover_div(__tsover_add(t,.5),s)),_=er(l(__tsover_add(__tsover_mul(t,3.77),.917),__tsover_add(__tsover_mul(r,1.093),2.236))).sub(.5).mul(.26),u=er(l(__tsover_add(__tsover_mul(t,7.13),1.618),__tsover_add(__tsover_mul(r,.531),3.71))).mul(it),m=__tsover_add(.5,__tsover_mul(Gs(__tsover_add(__tsover_add(__tsover_mul(t,5.417),__tsover_mul(r,.291)),.917)),.7)),p=Y(__tsover_add(__tsover_mul(__tsover_mul(i,wm),m),u.x)),y=H(__tsover_add(__tsover_mul(__tsover_mul(__tsover_mul(i,wm),m),1.37),u.y)),h=__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(H(d),c),.62),_.x),__tsover_mul(__tsover_mul(p,o),.16)),g=__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(Y(d),c),.62),_.y),__tsover_mul(__tsover_mul(y,o),.16));return l(__tsover_mul(__tsover_add(.5,h),n),__tsover_add(.5,g))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fi"},{type:"i",name:"count"},{type:"i",name:"seed"},{type:"i",name:"drift"},{type:"i",name:"aspect"},{type:"i",name:"animTime"}],body:[0,[[13,"theta",[1,[1,"fi","*","GOLDEN"],"+",[1,[6,"hash11",[[1,[1,"seed","*",[5,"0.7311"]],"+",[5,"1.618"]]]],"*","TAU"]]],[13,"r",[6,"std.sqrt",[[1,[1,"fi","+",[5,"0.5"]],"/","count"]]]],[13,"j",[6,[7,[6,[7,[6,"hash22",[[6,"d.vec2f",[[1,[1,"fi","*",[5,"3.77"]],"+",[5,"0.917"]],[1,[1,"seed","*",[5,"1.093"]],"+",[5,"2.236"]]]]]],"sub"],[[5,"0.5"]]],"mul"],[[5,"0.26"]]]],[13,"ph",[6,[7,[6,"hash22",[[6,"d.vec2f",[[1,[1,"fi","*",[5,"7.13"]],"+",[5,"1.618"]],[1,[1,"seed","*",[5,"0.531"]],"+",[5,"3.71"]]]]]],"mul"],["TAU"]]],[13,"w1",[1,[5,"0.5"],"+",[1,[6,"hash11",[[1,[1,[1,"fi","*",[5,"5.417"]],"+",[1,"seed","*",[5,"0.291"]]],"+",[5,"0.917"]]]],"*",[5,"0.7"]]]],[13,"dx",[6,"std.sin",[[1,[1,[1,"animTime","*","SCATTER_DRIFT_RATE"],"*","w1"],"+",[7,"ph","x"]]]]],[13,"dy",[6,"std.cos",[[1,[1,[1,[1,"animTime","*","SCATTER_DRIFT_RATE"],"*","w1"],"*",[5,"1.37"]],"+",[7,"ph","y"]]]]],[13,"nx",[1,[1,[1,[1,[6,"std.cos",["theta"]],"*","r"],"*",[5,"0.62"]],"+",[7,"j","x"]],"+",[1,[1,"dx","*","drift"],"*",[5,"0.16"]]]],[13,"ny",[1,[1,[1,[1,[6,"std.sin",["theta"]],"*","r"],"*",[5,"0.62"]],"+",[7,"j","y"]],"+",[1,[1,"dy","*","drift"],"*",[5,"0.16"]]]],[10,[6,"d.vec2f",[[1,[1,[5,"0.5"],"+","nx"],"*","aspect"],[1,[5,"0.5"],"+","ny"]]]]]]},externals:{GOLDEN:()=>2.3999632297286535,hash11:()=>Gs,TAU:()=>it,"std.sqrt":()=>be,hash22:()=>er,"d.vec2f":()=>l,"std.sin":()=>Y,SCATTER_DRIFT_RATE:()=>wm,"std.cos":()=>H}})&&e.f)({})),nR=v.fn([l,a,a,pt(x,lc/2),a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=a(0),d=a(0),c=Gs(__tsover_add(__tsover_mul(r,.531),.77));for(let _=0;_a,hash11:()=>Gs,SCATTER_MAX:()=>lc,"std.select":()=>C,"std.max":()=>b,"std.length":()=>j,"std.pow":()=>Ce,"std.fract":()=>ue,GOLDEN_CONJ:()=>Xl}})&&e.f)({})),aR=v.fn([l,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=a(0),_=a(0);for(let u=0;ua,SCATTER_MAX:()=>lc,"std.select":()=>C,spiralScatter:()=>Xg,"std.max":()=>b,"std.length":()=>j,"std.pow":()=>Ce,"std.fract":()=>ue,GOLDEN_CONJ:()=>Xl,hash11:()=>Gs}})&&e.f)({})),iR=v.fn([l,a,a,l,l,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=f(__tsover_mul(t.x,s),__tsover_mul(t.y,s),r),_=go(c.add(f(o.x,o.y,0))),u=go(c.add(f(n.x,n.y,0)));return x(__tsover_add(t.x,__tsover_mul(__tsover_mul(_,i),d)),__tsover_add(t.y,__tsover_mul(__tsover_mul(u,i),d)),_,u)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"scale"},{type:"i",name:"z"},{type:"i",name:"offA"},{type:"i",name:"offB"},{type:"i",name:"k"},{type:"i",name:"strength"}],body:[0,[[13,"wp",[6,"d.vec3f",[[1,[7,"pos","x"],"*","scale"],[1,[7,"pos","y"],"*","scale"],"z"]]],[13,"nx",[6,"mxNoiseFloat3",[[6,[7,"wp","add"],[[6,"d.vec3f",[[7,"offA","x"],[7,"offA","y"],[5,"0"]]]]]]]],[13,"ny",[6,"mxNoiseFloat3",[[6,[7,"wp","add"],[[6,"d.vec3f",[[7,"offB","x"],[7,"offB","y"],[5,"0"]]]]]]]],[10,[6,"d.vec4f",[[1,[7,"pos","x"],"+",[1,[1,"nx","*","k"],"*","strength"]],[1,[7,"pos","y"],"+",[1,[1,"ny","*","k"],"*","strength"]],"nx","ny"]]]]]},externals:{"d.vec3f":()=>f,mxNoiseFloat3:()=>go,"d.vec4f":()=>x}})&&e.f)({})),N_=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(Y(l(se(t,l(127.1,311.7)),se(t,l(269.5,183.3)))).mul(43758.5453))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"h",[6,"d.vec2f",[[6,"std.dot",["p",[6,"d.vec2f",[[5,"127.1"],[5,"311.7"]]]]],[6,"std.dot",["p",[6,"d.vec2f",[[5,"269.5"],[5,"183.3"]]]]]]]],[10,[6,"std.fract",[[6,[7,[6,"std.sin",["h"]],"mul"],[[5,"43758.5453"]]]]]]]]},externals:{"d.vec2f":()=>l,"std.dot":()=>se,"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({}));function o7(e){let{distance:t,jitter:s,name:r="nearest2Cells"}=e,o=`${r}|${t}|${s}`,n=Hg.get(o);if(n)return n;let i=`${t==="length"?"Len":"Sel"}${s==="mix"?"Jit":""}`,d;return t==="length"&&s==="none"?d=v.fn([l,a,a],l)((c=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(c.f=((_,u,m)=>{"use gpu";let p=q(_),y=ue(_),h=a(10),g=a(10);for(let w=-1;w<=1;w++)for(let S=-1;S<=1;S++){let T=l(a(S),a(w)),A=N_(l(__tsover_add(__tsover_add(p.x,T.x),m),__tsover_add(__tsover_add(p.y,T.y),m))),P=$(__tsover_add(A.x,__tsover_mul(Y(__tsover_add(u,__tsover_mul(A.x,it))),.15)),.05,.95),U=$(__tsover_add(A.y,__tsover_mul(H(__tsover_add(__tsover_mul(u,.7),__tsover_mul(A.y,it))),.15)),.05,.95),D=j(l(__tsover_sub(y.x,__tsover_add(T.x,P)),__tsover_sub(y.y,__tsover_add(T.y,U))));g=oe(g,b(D,h)),h=oe(h,D)}return l(h,g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"animT"},{type:"i",name:"seed"}],body:[0,[[13,"cell",[6,"std.floor",["scaledUV"]]],[13,"localUV",[6,"std.fract",["scaledUV"]]],[12,"d1",[6,"d.f32",[[5,"10"]]]],[12,"d2",[6,"d.f32",[[5,"10"]]]],[14,[12,"ny",[4,"-",[5,"1"]]],[1,"ny","<=",[5,"1"]],[102,"++","ny"],[0,[[14,[12,"nx",[4,"-",[5,"1"]]],[1,"nx","<=",[5,"1"]],[102,"++","nx"],[0,[[13,"offset",[6,"d.vec2f",[[6,"d.f32",["nx"]],[6,"d.f32",["ny"]]]]],[13,"h",[6,"cellHash2",[[6,"d.vec2f",[[1,[1,[7,"cell","x"],"+",[7,"offset","x"]],"+","seed"],[1,[1,[7,"cell","y"],"+",[7,"offset","y"]],"+","seed"]]]]]],[13,"pointX",[6,"std.clamp",[[1,[7,"h","x"],"+",[1,[6,"std.sin",[[1,"animT","+",[1,[7,"h","x"],"*","TAU"]]]],"*",[5,"0.15"]]],[5,"0.05"],[5,"0.95"]]]],[13,"pointY",[6,"std.clamp",[[1,[7,"h","y"],"+",[1,[6,"std.cos",[[1,[1,"animT","*",[5,"0.7"]],"+",[1,[7,"h","y"],"*","TAU"]]]],"*",[5,"0.15"]]],[5,"0.05"],[5,"0.95"]]]],[13,"dd",[6,"std.length",[[6,"d.vec2f",[[1,[7,"localUV","x"],"-",[1,[7,"offset","x"],"+","pointX"]],[1,[7,"localUV","y"],"-",[1,[7,"offset","y"],"+","pointY"]]]]]]],[2,"d2","=",[6,"std.min",["d2",[6,"std.max",["dd","d1"]]]]],[2,"d1","=",[6,"std.min",["d1","dd"]]]]]]]]],[10,[6,"d.vec2f",["d1","d2"]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,"d.f32":()=>a,"d.vec2f":()=>l,cellHash2:()=>N_,"std.clamp":()=>$,"std.sin":()=>Y,TAU:()=>it,"std.cos":()=>H,"std.length":()=>j,"std.min":()=>oe,"std.max":()=>b}})&&c.f)({})).$name(`${r}${i}`):d=v.fn([l,a,a,a,a],l)((c=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(c.f=((_,u,m,p,y)=>{"use gpu";let h=__tsover_mul(u,.7),g=q(_),w=ue(_),S=a(10),T=a(10);for(let A=-1;A<=1;A++)for(let P=-1;P<=1;P++){let U=l(a(P),a(A)),D=N_(l(__tsover_add(__tsover_add(g.x,U.x),m),__tsover_add(__tsover_add(g.y,U.y),m))),O=__tsover_add(D.x,__tsover_mul(Y(__tsover_add(u,__tsover_mul(D.x,it))),.15)),L=__tsover_add(D.y,__tsover_mul(H(__tsover_add(h,__tsover_mul(D.y,it))),.15)),G=X(.5,$(O,.05,.95),p),W=X(.5,$(L,.05,.95),p),K=__tsover_sub(w.x,__tsover_add(U.x,G)),Q=__tsover_sub(w.y,__tsover_add(U.y,W)),te=__tsover_add(__tsover_mul(K,K),__tsover_mul(Q,Q)),ee=__tsover_add(z(K),z(Q)),he=b(z(K),z(Q)),Ee=te;Ee=C(Ee,ee,y===1),Ee=C(Ee,he,y===2),T=oe(T,b(Ee,S)),S=oe(S,Ee)}return l(S,T)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"animT"},{type:"i",name:"seed"},{type:"i",name:"jitterAmount"},{type:"i",name:"metric"}],body:[0,[[13,"animTSlow",[1,"animT","*",[5,"0.7"]]],[13,"cell",[6,"std.floor",["scaledUV"]]],[13,"localUV",[6,"std.fract",["scaledUV"]]],[12,"d1",[6,"d.f32",[[5,"10"]]]],[12,"d2",[6,"d.f32",[[5,"10"]]]],[14,[12,"ny",[4,"-",[5,"1"]]],[1,"ny","<=",[5,"1"]],[102,"++","ny"],[0,[[14,[12,"nx",[4,"-",[5,"1"]]],[1,"nx","<=",[5,"1"]],[102,"++","nx"],[0,[[13,"offset",[6,"d.vec2f",[[6,"d.f32",["nx"]],[6,"d.f32",["ny"]]]]],[13,"h",[6,"cellHash2",[[6,"d.vec2f",[[1,[1,[7,"cell","x"],"+",[7,"offset","x"]],"+","seed"],[1,[1,[7,"cell","y"],"+",[7,"offset","y"]],"+","seed"]]]]]],[13,"px",[1,[7,"h","x"],"+",[1,[6,"std.sin",[[1,"animT","+",[1,[7,"h","x"],"*","TAU"]]]],"*",[5,"0.15"]]]],[13,"py",[1,[7,"h","y"],"+",[1,[6,"std.cos",[[1,"animTSlow","+",[1,[7,"h","y"],"*","TAU"]]]],"*",[5,"0.15"]]]],[13,"jx",[6,"std.mix",[[5,"0.5"],[6,"std.clamp",["px",[5,"0.05"],[5,"0.95"]]],"jitterAmount"]]],[13,"jy",[6,"std.mix",[[5,"0.5"],[6,"std.clamp",["py",[5,"0.05"],[5,"0.95"]]],"jitterAmount"]]],[13,"deltaX",[1,[7,"localUV","x"],"-",[1,[7,"offset","x"],"+","jx"]]],[13,"deltaY",[1,[7,"localUV","y"],"-",[1,[7,"offset","y"],"+","jy"]]],[13,"dEuclid",[1,[1,"deltaX","*","deltaX"],"+",[1,"deltaY","*","deltaY"]]],[13,"dManhattan",[1,[6,"std.abs",["deltaX"]],"+",[6,"std.abs",["deltaY"]]]],[13,"dChebyshev",[6,"std.max",[[6,"std.abs",["deltaX"]],[6,"std.abs",["deltaY"]]]]],[12,"dd","dEuclid"],[2,"dd","=",[6,"std.select",["dd","dManhattan",[1,"metric","===",[5,"1"]]]]],[2,"dd","=",[6,"std.select",["dd","dChebyshev",[1,"metric","===",[5,"2"]]]]],[2,"d2","=",[6,"std.min",["d2",[6,"std.max",["dd","d1"]]]]],[2,"d1","=",[6,"std.min",["d1","dd"]]]]]]]]],[10,[6,"d.vec2f",["d1","d2"]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,"d.f32":()=>a,"d.vec2f":()=>l,cellHash2:()=>N_,"std.sin":()=>Y,TAU:()=>it,"std.cos":()=>H,"std.mix":()=>X,"std.clamp":()=>$,"std.abs":()=>z,"std.max":()=>b,"std.select":()=>C,"std.min":()=>oe}})&&c.f)({})).$name(`${r}${i}`),Hg.set(o,d),d}var Hg=new Map;var jg=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=r===0,i=C(t,be(t),n),d=C(s,be(s),n),c=i;return c=C(c,d,o===1),c=C(c,__tsover_sub(d,i),o===2),c=C(c,__tsover_add(i,d),o===3),c=C(c,__tsover_mul(i,d),o===4),c}),{v:2,name:void 0,ast:{params:[{type:"i",name:"d1"},{type:"i",name:"d2"},{type:"i",name:"metric"},{type:"i",name:"mode"}],body:[0,[[13,"isEuclid",[1,"metric","===",[5,"0"]]],[13,"sd1",[6,"std.select",["d1",[6,"std.sqrt",["d1"]],"isEuclid"]]],[13,"sd2",[6,"std.select",["d2",[6,"std.sqrt",["d2"]],"isEuclid"]]],[12,"raw","sd1"],[2,"raw","=",[6,"std.select",["raw","sd2",[1,"mode","===",[5,"1"]]]]],[2,"raw","=",[6,"std.select",["raw",[1,"sd2","-","sd1"],[1,"mode","===",[5,"2"]]]]],[2,"raw","=",[6,"std.select",["raw",[1,"sd1","+","sd2"],[1,"mode","===",[5,"3"]]]]],[2,"raw","=",[6,"std.select",["raw",[1,"sd1","*","sd2"],[1,"mode","===",[5,"4"]]]]],[10,"raw"]]]},externals:{"std.select":()=>C,"std.sqrt":()=>be}})&&e.f)({})),Kg=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=b(__tsover_add(t,s),1e-4);return $(Ce($(__tsover_div(__tsover_mul(t,2),o),0,1),r),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"d1"},{type:"i",name:"d2"},{type:"i",name:"power"}],body:[0,[[13,"safeSum",[6,"std.max",[[1,"d1","+","d2"],[5,"0.0001"]]]],[13,"normalizedDist",[6,"std.clamp",[[1,[1,"d1","*",[5,"2"]],"/","safeSum"],[5,"0"],[5,"1"]]]],[10,[6,"std.clamp",[[6,"std.pow",["normalizedDist","power"]],[5,"0"],[5,"1"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.pow":()=>Ce}})&&e.f)({})),Zg=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=b(__tsover_add(t,s),1e-4),n=__tsover_div(__tsover_sub(s,t),o);return re(0,__tsover_add(r,.001),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"d1"},{type:"i",name:"d2"},{type:"i",name:"softness"}],body:[0,[[13,"safeSum",[6,"std.max",[[1,"d1","+","d2"],[5,"0.0001"]]]],[13,"edgeMetric",[1,[1,"d2","-","d1"],"/","safeSum"]],[10,[6,"std.smoothstep",[[5,"0"],[1,"softness","+",[5,"0.001"]],"edgeMetric"]]]]]},externals:{"std.max":()=>b,"std.smoothstep":()=>re}})&&e.f)({})),Qg=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return ct(-__tsover_mul(__tsover_mul(t,t),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"sharpness"}],body:[0,[[10,[6,"std.exp",[[4,"-",[1,[1,"dist","*","dist"],"*","sharpness"]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),Tm=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return ct(__tsover_mul(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s)),-r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"du"},{type:"i",name:"dv"},{type:"i",name:"sharpness"}],body:[0,[[10,[6,"std.exp",[[1,[1,[1,"du","*","du"],"+",[1,"dv","*","dv"]],"*",[4,"-","sharpness"]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),P8=v.fn([l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(__tsover_sub(t.x,r),s),d=__tsover_sub(t.y,o),c=__tsover_add(__tsover_mul(i,i),__tsover_mul(d,d));return ct(__tsover_div(__tsover_mul(-.5,c),n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"lx"},{type:"i",name:"ly"},{type:"i",name:"sizeSq"}],body:[0,[[13,"dx",[1,[1,[7,"uv","x"],"-","lx"],"*","aspect"]],[13,"dy",[1,[7,"uv","y"],"-","ly"]],[13,"dd2",[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]],[10,[6,"std.exp",[[1,[1,[4,"-",[5,"0.5"]],"*","dd2"],"/","sizeSq"]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),Jg=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return Ce(__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(t,s),r)),.5),.5),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angle"},{type:"i",name:"count"},{type:"i",name:"phase"},{type:"i",name:"sharpness"}],body:[0,[[13,"t",[1,[1,[6,"std.sin",[[1,[1,"angle","*","count"],"+","phase"]]],"*",[5,"0.5"]],"+",[5,"0.5"]]],[10,[6,"std.pow",["t","sharpness"]]]]]},externals:{"std.sin":()=>Y,"std.pow":()=>Ce}})&&e.f)({})),Sm=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return Ce(z(H(__tsover_mul(t,s))),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angle"},{type:"i",name:"halfCount"},{type:"i",name:"power"}],body:[0,[[10,[6,"std.pow",[[6,"std.abs",[[6,"std.cos",[[1,"angle","*","halfCount"]]]]],"power"]]]]]},externals:{"std.pow":()=>Ce,"std.abs":()=>z,"std.cos":()=>H}})&&e.f)({})),e3=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=tt(t.y,t.x);return f(s,__tsover_sub(s,__tsover_mul(it,q(__tsover_div(s,it)))),re(-.15,.15,t.x))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"delta"}],body:[0,[[13,"angle",[6,"std.atan2",[[7,"delta","y"],[7,"delta","x"]]]],[13,"angleWrapped",[1,"angle","-",[1,"TAU","*",[6,"std.floor",[[1,"angle","/","TAU"]]]]]],[13,"blend",[6,"std.smoothstep",[[4,"-",[5,"0.15"]],[5,"0.15"],[7,"delta","x"]]]],[10,[6,"d.vec3f",["angle","angleWrapped","blend"]]]]]},externals:{"std.atan2":()=>tt,TAU:()=>it,"std.floor":()=>q,"std.smoothstep":()=>re,"d.vec3f":()=>f}})&&e.f)({})),Hl=v.fn([a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(o,1e-4);return f(__tsover_sub(1,re(0,n,z(__tsover_sub(t,__tsover_add(s,r))))),__tsover_sub(1,re(0,n,z(__tsover_sub(t,s)))),__tsover_sub(1,re(0,n,z(__tsover_sub(t,__tsover_sub(s,r))))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"center"},{type:"i",name:"spread"},{type:"i",name:"width"}],body:[0,[[13,"w",[6,"std.max",["width",[5,"0.0001"]]]],[13,"r",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"w",[6,"std.abs",[[1,"dist","-",[1,"center","+","spread"]]]]]]]],[13,"g",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"w",[6,"std.abs",[[1,"dist","-","center"]]]]]]],[13,"b",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"w",[6,"std.abs",[[1,"dist","-",[1,"center","-","spread"]]]]]]]],[10,[6,"d.vec3f",["r","g","b"]]]]]},externals:{"std.max":()=>b,"std.smoothstep":()=>re,"std.abs":()=>z,"d.vec3f":()=>f}})&&e.f)({})),t3=v.fn([l,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=l(__tsover_sub(r.x,s.x),__tsover_sub(r.y,s.y)),n=l(__tsover_sub(t.x,s.x),__tsover_sub(t.y,s.y)),i=__tsover_add(__tsover_mul(n.x,o.x),__tsover_mul(n.y,o.y)),d=__tsover_add(__tsover_mul(o.x,o.x),__tsover_mul(o.y,o.y)),c=$(__tsover_div(i,b(d,1e-4)),0,1),_=l(__tsover_add(s.x,__tsover_mul(o.x,c)),__tsover_add(s.y,__tsover_mul(o.y,c))),u=l(__tsover_sub(t.x,_.x),__tsover_sub(t.y,_.y));return l(c,be(__tsover_add(__tsover_mul(u.x,u.x),__tsover_mul(u.y,u.y))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"}],body:[0,[[13,"lineVec",[6,"d.vec2f",[[1,[7,"b","x"],"-",[7,"a","x"]],[1,[7,"b","y"],"-",[7,"a","y"]]]]],[13,"toPoint",[6,"d.vec2f",[[1,[7,"p","x"],"-",[7,"a","x"]],[1,[7,"p","y"],"-",[7,"a","y"]]]]],[13,"dotProduct",[1,[1,[7,"toPoint","x"],"*",[7,"lineVec","x"]],"+",[1,[7,"toPoint","y"],"*",[7,"lineVec","y"]]]],[13,"lineLengthSq",[1,[1,[7,"lineVec","x"],"*",[7,"lineVec","x"]],"+",[1,[7,"lineVec","y"],"*",[7,"lineVec","y"]]]],[13,"t",[6,"std.clamp",[[1,"dotProduct","/",[6,"std.max",["lineLengthSq",[5,"0.0001"]]]],[5,"0"],[5,"1"]]]],[13,"closestPoint",[6,"d.vec2f",[[1,[7,"a","x"],"+",[1,[7,"lineVec","x"],"*","t"]],[1,[7,"a","y"],"+",[1,[7,"lineVec","y"],"*","t"]]]]],[13,"distVec",[6,"d.vec2f",[[1,[7,"p","x"],"-",[7,"closestPoint","x"]],[1,[7,"p","y"],"-",[7,"closestPoint","y"]]]]],[10,[6,"d.vec2f",["t",[6,"std.sqrt",[[1,[1,[7,"distVec","x"],"*",[7,"distVec","x"]],"+",[1,[7,"distVec","y"],"*",[7,"distVec","y"]]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.clamp":()=>$,"std.max":()=>b,"std.sqrt":()=>be}})&&e.f)({})),s3=v.fn([a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=X(r,o,s),c=b(X(n,i,s),1e-4),_=__tsover_div(t,b(d,1e-4)),u=__tsover_add(1,c),m=Ce(__tsover_sub(1,re(1,u,_)),__tsover_add(1,__tsover_mul(c,1.5)));return l(re(__tsover_sub(1,c),__tsover_add(1,c),_),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"t"},{type:"i",name:"startThickness"},{type:"i",name:"endThickness"},{type:"i",name:"startSoftness"},{type:"i",name:"endSoftness"}],body:[0,[[13,"thickness",[6,"std.mix",["startThickness","endThickness","t"]]],[13,"softness",[6,"std.max",[[6,"std.mix",["startSoftness","endSoftness","t"]],[5,"0.0001"]]]],[13,"normalizedDist",[1,"dist","/",[6,"std.max",["thickness",[5,"0.0001"]]]]],[13,"edgeEnd",[1,[5,"1"],"+","softness"]],[13,"alphaBase",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"1"],"edgeEnd","normalizedDist"]]]],[13,"softnessFactor",[1,[5,"1"],"+",[1,"softness","*",[5,"1.5"]]]],[13,"alpha",[6,"std.pow",["alphaBase","softnessFactor"]]],[13,"colorGradientStart",[1,[5,"1"],"-","softness"]],[13,"colorGradientEnd",[1,[5,"1"],"+","softness"]],[13,"colorT",[6,"std.smoothstep",["colorGradientStart","colorGradientEnd","normalizedDist"]]],[10,[6,"d.vec2f",["colorT","alpha"]]]]]},externals:{"std.mix":()=>X,"std.max":()=>b,"std.smoothstep":()=>re,"std.pow":()=>Ce,"d.vec2f":()=>l}})&&e.f)({})),Am=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return ct(__tsover_div(__tsover_mul(__tsover_mul(__tsover_sub(t,s),__tsover_sub(t,s)),-1),__tsover_mul(r,r)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"u"},{type:"i",name:"center"},{type:"i",name:"width"}],body:[0,[[10,[6,"std.exp",[[1,[1,[1,[1,"u","-","center"],"*",[1,"u","-","center"]],"*",[4,"-",[5,"1"]]],"/",[1,"width","*","width"]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),q_=v.fn([a,f,f,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=re(0,.5,t),i=re(.55,1.15,t);return X(X(o,r,f(n)),s,f(i)).mul($(t,0,1.6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"heat"},{type:"i",name:"hot"},{type:"i",name:"mid"},{type:"i",name:"fringe"}],body:[0,[[13,"toMid",[6,"std.smoothstep",[[5,"0"],[5,"0.5"],"heat"]]],[13,"toHot",[6,"std.smoothstep",[[5,"0.55"],[5,"1.15"],"heat"]]],[13,"rgb",[6,"std.mix",[[6,"std.mix",["fringe","mid",[6,"d.vec3f",["toMid"]]]],"hot",[6,"d.vec3f",["toHot"]]]]],[10,[6,[7,"rgb","mul"],[[6,"std.clamp",["heat",[5,"0"],[5,"1.6"]]]]]]]]},externals:{"std.smoothstep":()=>re,"std.mix":()=>X,"d.vec3f":()=>f,"std.clamp":()=>$}})&&e.f)({})),E8=v.fn([a,f,f,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=q_(__tsover_mul(t,1.08),s,r,o),i=q_(t,s,r,o),d=q_(__tsover_mul(t,.88),s,r,o);return f(n.x,i.y,d.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"heat"},{type:"i",name:"hot"},{type:"i",name:"mid"},{type:"i",name:"fringe"}],body:[0,[[13,"rampR",[6,"heatRamp3",[[1,"heat","*",[5,"1.08"]],"hot","mid","fringe"]]],[13,"rampG",[6,"heatRamp3",["heat","hot","mid","fringe"]]],[13,"rampB",[6,"heatRamp3",[[1,"heat","*",[5,"0.88"]],"hot","mid","fringe"]]],[10,[6,"d.vec3f",[[7,"rampR","x"],[7,"rampG","y"],[7,"rampB","z"]]]]]]},externals:{heatRamp3:()=>q_,"d.vec3f":()=>f}})&&e.f)({})),k8=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s,__tsover_sub(1,r));return __tsover_sub(1,re(o,s,t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"radius"},{type:"i",name:"feather"}],body:[0,[[13,"falloffStart",[1,"radius","*",[1,[5,"1"],"-","feather"]]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",["falloffStart","radius","dist"]]]]]]},externals:{"std.smoothstep":()=>re}})&&e.f)({})),$8=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return Jg(t,s,r,__tsover_mul(__tsover_div(1,__tsover_add(o,.05)),.3))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angle"},{type:"i",name:"count"},{type:"i",name:"phase"},{type:"i",name:"softness"}],body:[0,[[13,"sharpness",[1,[1,[5,"1"],"/",[1,"softness","+",[5,"0.05"]]],"*",[5,"0.3"]]],[10,[6,"angularSineLobes",["angle","count","phase","sharpness"]]]]]},externals:{angularSineLobes:()=>Jg}})&&e.f)({})),U8=v.fn([l,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=r.x,i=__tsover_sub(1,r.y),d=__tsover_sub(__tsover_mul(t.x,o),__tsover_mul(n,o)),c=__tsover_sub(t.y,i);return l(be(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c))),tt(c,d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"center"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"cx",[7,"center","x"]],[13,"cy",[1,[5,"1"],"-",[7,"center","y"]]],[13,"dx",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,"cx","*","aspect"]]],[13,"dy",[1,[7,"uv","y"],"-","cy"]],[13,"dist",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[13,"angle",[6,"std.atan2",["dy","dx"]]],[10,[6,"d.vec2f",["dist","angle"]]]]]},externals:{"geom.aspectOf":()=>bt,"std.sqrt":()=>be,"std.atan2":()=>tt,"d.vec2f":()=>l}})&&e.f)({})),C8=v.fn([l,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=__tsover_mul(__tsover_sub(t.x,.5),o),i=__tsover_sub(t.y,.5),d=__tsover_add(__tsover_mul(n,n),__tsover_mul(i,i));return $(__tsover_sub(1,__tsover_mul(d,r)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"strength"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"vigX",[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"]],[13,"vigY",[1,[7,"uv","y"],"-",[5,"0.5"]]],[13,"vigD2",[1,[1,"vigX","*","vigX"],"+",[1,"vigY","*","vigY"]]],[10,[6,"std.clamp",[[1,[5,"1"],"-",[1,"vigD2","*","strength"]],[5,"0"],[5,"1"]]]]]]},externals:{"geom.aspectOf":()=>bt,"std.clamp":()=>$}})&&e.f)({})),R8=v.fn([x,f],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.xyz,o=$(f(1,1,1).sub(f(1,1,1).sub($(r,f(0),f(1))).mul(f(1,1,1).sub($(s,f(0),f(1))))).add(s.mul(.16)),f(0),f(1)),n=$(Ll(s),0,1);return x(o,$(__tsover_add(t.w,__tsover_mul(n,.85)),0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"leakRgb"}],body:[0,[[13,"base",[7,"color","xyz"]],[13,"screened",[6,[7,[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]],"sub"],[[6,[7,[6,[7,[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]],"sub"],[[6,"std.clamp",["base",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]],"mul"],[[6,[7,[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]],"sub"],[[6,"std.clamp",["leakRgb",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]]]]]]],[13,"lifted",[6,[7,"screened","add"],[[6,[7,"leakRgb","mul"],[[5,"0.16"]]]]]],[13,"outRgb",[6,"std.clamp",["lifted",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]],[13,"leakLuma",[6,"std.clamp",[[6,"tone.luma601Dot",["leakRgb"]],[5,"0"],[5,"1"]]]],[13,"outA",[6,"std.clamp",[[1,[7,"color","w"],"+",[1,"leakLuma","*",[5,"0.85"]]],[5,"0"],[5,"1"]]]],[10,[6,"d.vec4f",["outRgb","outA"]]]]]},externals:{"d.vec3f":()=>f,"std.clamp":()=>$,"tone.luma601Dot":()=>Ll,"d.vec4f":()=>x}})&&e.f)({})),z8=v.fn([l,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=l(__tsover_mul(t.x,s),t.y),n=l(__tsover_mul(r.x,s),__tsover_sub(1,r.y)),i=l(__tsover_mul(s,.5),.5).sub(n),d=j(i),c=C(__tsover_div(i.x,b(d,.001)),a(1),d<.02),_=C(__tsover_div(i.y,b(d,.001)),a(0),d<.02),u=__tsover_sub(o.x,n.x),m=__tsover_sub(o.y,n.y);return l(__tsover_add(__tsover_mul(u,c),__tsover_mul(m,_)),__tsover_sub(__tsover_mul(m,c),__tsover_mul(u,_)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"anchorRaw"}],body:[0,[[13,"pA",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"anchor",[6,"d.vec2f",[[1,[7,"anchorRaw","x"],"*","aspect"],[1,[5,"1"],"-",[7,"anchorRaw","y"]]]]],[13,"toCenter",[6,[7,[6,"d.vec2f",[[1,"aspect","*",[5,"0.5"]],[5,"0.5"]]],"sub"],["anchor"]]],[13,"cLen",[6,"std.length",["toCenter"]]],[13,"dirX",[6,"std.select",[[1,[7,"toCenter","x"],"/",[6,"std.max",["cLen",[5,"0.001"]]]],[6,"d.f32",[[5,"1"]]],[1,"cLen","<",[5,"0.02"]]]]],[13,"dirY",[6,"std.select",[[1,[7,"toCenter","y"],"/",[6,"std.max",["cLen",[5,"0.001"]]]],[6,"d.f32",[[5,"0"]]],[1,"cLen","<",[5,"0.02"]]]]],[13,"relX",[1,[7,"pA","x"],"-",[7,"anchor","x"]]],[13,"relY",[1,[7,"pA","y"],"-",[7,"anchor","y"]]],[10,[6,"d.vec2f",[[1,[1,"relX","*","dirX"],"+",[1,"relY","*","dirY"]],[1,[1,"relY","*","dirX"],"-",[1,"relX","*","dirY"]]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.select":()=>C,"std.max":()=>b,"d.f32":()=>a}})&&e.f)({}));var sn=1e-4,pa=1.0471975512,Fo=6/29,jl=500,Kl=200,X_=Fo*Fo*Fo,ta=4/29,H_=1/(3*Fo*Fo),j_=3*Fo*Fo,$s=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return f(__tsover_sub(__tsover_sub(__tsover_mul(t.x,1.2249401),__tsover_mul(t.y,.2249404)),__tsover_mul(t.z,0)),__tsover_add(__tsover_add(__tsover_mul(t.x,-.0420569),__tsover_mul(t.y,1.0420571)),__tsover_mul(t.z,0)),__tsover_add(__tsover_sub(__tsover_mul(t.x,-.0196376),__tsover_mul(t.y,.0786361)),__tsover_mul(t.z,1.0982735)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p3"}],body:[0,[[13,"r",[1,[1,[1,[7,"p3","x"],"*",[5,"1.2249401"]],"-",[1,[7,"p3","y"],"*",[5,"0.2249404"]]],"-",[1,[7,"p3","z"],"*",[5,"0"]]]],[13,"g",[1,[1,[1,[7,"p3","x"],"*",[4,"-",[5,"0.0420569"]]],"+",[1,[7,"p3","y"],"*",[5,"1.0420571"]]],"+",[1,[7,"p3","z"],"*",[5,"0"]]]],[13,"b",[1,[1,[1,[7,"p3","x"],"*",[4,"-",[5,"0.0196376"]]],"-",[1,[7,"p3","y"],"*",[5,"0.0786361"]]],"+",[1,[7,"p3","z"],"*",[5,"1.0982735"]]]],[10,[6,"d.vec3f",["r","g","b"]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),ss=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return f(__tsover_add(__tsover_add(__tsover_mul(t.x,.8224621),__tsover_mul(t.y,.177538)),__tsover_mul(t.z,0)),__tsover_add(__tsover_add(__tsover_mul(t.x,.0331941),__tsover_mul(t.y,.9668058)),__tsover_mul(t.z,0)),__tsover_add(__tsover_add(__tsover_mul(t.x,.0170826),__tsover_mul(t.y,.0723974)),__tsover_mul(t.z,.9105199)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"srgb"}],body:[0,[[13,"r",[1,[1,[1,[7,"srgb","x"],"*",[5,"0.8224621"]],"+",[1,[7,"srgb","y"],"*",[5,"0.177538"]]],"+",[1,[7,"srgb","z"],"*",[5,"0"]]]],[13,"g",[1,[1,[1,[7,"srgb","x"],"*",[5,"0.0331941"]],"+",[1,[7,"srgb","y"],"*",[5,"0.9668058"]]],"+",[1,[7,"srgb","z"],"*",[5,"0"]]]],[13,"b",[1,[1,[1,[7,"srgb","x"],"*",[5,"0.0170826"]],"+",[1,[7,"srgb","y"],"*",[5,"0.0723974"]]],"+",[1,[7,"srgb","z"],"*",[5,"0.9105199"]]]],[10,[6,"d.vec3f",["r","g","b"]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),To=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_add(__tsover_add(__tsover_mul(s,.4122214708),__tsover_mul(r,.5363325363)),__tsover_mul(o,.0514459929)),i=__tsover_add(__tsover_mul(s,.2119034982),__tsover_add(__tsover_mul(r,.6806995451),__tsover_mul(o,.1073969566))),d=__tsover_add(__tsover_add(__tsover_mul(s,.0883024619),__tsover_mul(r,.2817188376)),__tsover_mul(o,.6299787005)),c=__tsover_mul(ks(n),Ce(z(n),__tsover_div(1,3))),_=__tsover_mul(ks(i),Ce(z(i),__tsover_div(1,3))),u=__tsover_mul(ks(d),Ce(z(d),__tsover_div(1,3)));return f(__tsover_sub(__tsover_add(__tsover_mul(c,.2104542553),__tsover_mul(_,.793617785)),__tsover_mul(u,.0040720468)),__tsover_add(__tsover_sub(__tsover_mul(c,1.9779984951),__tsover_mul(_,2.428592205)),__tsover_mul(u,.4505937099)),__tsover_sub(__tsover_add(__tsover_mul(c,.0259040371),__tsover_mul(_,.7827717662)),__tsover_mul(u,.808675766)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[13,"r",[7,"rgb","x"]],[13,"g",[7,"rgb","y"]],[13,"b",[7,"rgb","z"]],[13,"l",[1,[1,[1,"r","*",[5,"0.4122214708"]],"+",[1,"g","*",[5,"0.5363325363"]]],"+",[1,"b","*",[5,"0.0514459929"]]]],[13,"m",[1,[1,"r","*",[5,"0.2119034982"]],"+",[1,[1,"g","*",[5,"0.6806995451"]],"+",[1,"b","*",[5,"0.1073969566"]]]]],[13,"s",[1,[1,[1,"r","*",[5,"0.0883024619"]],"+",[1,"g","*",[5,"0.2817188376"]]],"+",[1,"b","*",[5,"0.6299787005"]]]],[13,"l_",[1,[6,"std.sign",["l"]],"*",[6,"std.pow",[[6,"std.abs",["l"]],[1,[5,"1"],"/",[5,"3"]]]]]],[13,"m_",[1,[6,"std.sign",["m"]],"*",[6,"std.pow",[[6,"std.abs",["m"]],[1,[5,"1"],"/",[5,"3"]]]]]],[13,"s_",[1,[6,"std.sign",["s"]],"*",[6,"std.pow",[[6,"std.abs",["s"]],[1,[5,"1"],"/",[5,"3"]]]]]],[10,[6,"d.vec3f",[[1,[1,[1,"l_","*",[5,"0.2104542553"]],"+",[1,"m_","*",[5,"0.793617785"]]],"-",[1,"s_","*",[5,"0.0040720468"]]],[1,[1,[1,"l_","*",[5,"1.9779984951"]],"-",[1,"m_","*",[5,"2.428592205"]]],"+",[1,"s_","*",[5,"0.4505937099"]]],[1,[1,[1,"l_","*",[5,"0.0259040371"]],"+",[1,"m_","*",[5,"0.7827717662"]]],"-",[1,"s_","*",[5,"0.808675766"]]]]]]]]},externals:{"std.sign":()=>ks,"std.pow":()=>Ce,"std.abs":()=>z,"d.vec3f":()=>f}})&&e.f)({})),Kr=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_add(__tsover_add(s,__tsover_mul(r,.3963377774)),__tsover_mul(o,.2158037573)),i=__tsover_sub(__tsover_sub(s,__tsover_mul(r,.1055613458)),__tsover_mul(o,.0638541728)),d=__tsover_sub(__tsover_sub(s,__tsover_mul(r,.0894841775)),__tsover_mul(o,1.291485548)),c=Ce(n,3),_=Ce(i,3),u=Ce(d,3);return f(__tsover_add(__tsover_sub(__tsover_mul(c,4.0767416621),__tsover_mul(_,3.3077115913)),__tsover_mul(u,.2309699292)),__tsover_sub(__tsover_add(__tsover_mul(c,-1.2684380046),__tsover_mul(_,2.6097574011)),__tsover_mul(u,.3413193965)),__tsover_add(__tsover_sub(__tsover_mul(c,-.0041960863),__tsover_mul(_,.7034186147)),__tsover_mul(u,1.707614701)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lab"}],body:[0,[[13,"L",[7,"lab","x"]],[13,"a",[7,"lab","y"]],[13,"b",[7,"lab","z"]],[13,"l_",[1,[1,"L","+",[1,"a","*",[5,"0.3963377774"]]],"+",[1,"b","*",[5,"0.2158037573"]]]],[13,"m_",[1,[1,"L","-",[1,"a","*",[5,"0.1055613458"]]],"-",[1,"b","*",[5,"0.0638541728"]]]],[13,"s_",[1,[1,"L","-",[1,"a","*",[5,"0.0894841775"]]],"-",[1,"b","*",[5,"1.291485548"]]]],[13,"l",[6,"std.pow",["l_",[5,"3"]]]],[13,"m",[6,"std.pow",["m_",[5,"3"]]]],[13,"s",[6,"std.pow",["s_",[5,"3"]]]],[10,[6,"d.vec3f",[[1,[1,[1,"l","*",[5,"4.0767416621"]],"-",[1,"m","*",[5,"3.3077115913"]]],"+",[1,"s","*",[5,"0.2309699292"]]],[1,[1,[1,"l","*",[4,"-",[5,"1.2684380046"]]],"+",[1,"m","*",[5,"2.6097574011"]]],"-",[1,"s","*",[5,"0.3413193965"]]],[1,[1,[1,"l","*",[4,"-",[5,"0.0041960863"]]],"-",[1,"m","*",[5,"0.7034186147"]]],"+",[1,"s","*",[5,"1.707614701"]]]]]]]]},externals:{"std.pow":()=>Ce,"d.vec3f":()=>f}})&&e.f)({})),zi=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z;return f(s,be(__tsover_add(__tsover_mul(r,r),__tsover_mul(o,o))),tt(o,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lab"}],body:[0,[[13,"L",[7,"lab","x"]],[13,"a",[7,"lab","y"]],[13,"b",[7,"lab","z"]],[13,"C",[6,"std.sqrt",[[1,[1,"a","*","a"],"+",[1,"b","*","b"]]]]],[13,"h",[6,"std.atan2",["b","a"]]],[10,[6,"d.vec3f",["L","C","h"]]]]]},externals:{"std.sqrt":()=>be,"std.atan2":()=>tt,"d.vec3f":()=>f}})&&e.f)({})),Ha=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z;return f(s,__tsover_mul(r,H(o)),__tsover_mul(r,Y(o)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lch"}],body:[0,[[13,"L",[7,"lch","x"]],[13,"C",[7,"lch","y"]],[13,"h",[7,"lch","z"]],[10,[6,"d.vec3f",["L",[1,"C","*",[6,"std.cos",["h"]]],[1,"C","*",[6,"std.sin",["h"]]]]]]]]},externals:{"d.vec3f":()=>f,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),Zl=v.fn([a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=a(0),n=a(0),i=a(0);return r<1?(o=t,n=s):r<2?(o=s,n=t):r<3?(n=t,i=s):r<4?(n=s,i=t):r<5?(o=s,i=t):(o=t,i=s),f(o,n,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"c"},{type:"i",name:"x"},{type:"i",name:"sector"}],body:[0,[[12,"r",[6,"d.f32",[[5,"0"]]]],[12,"g",[6,"d.f32",[[5,"0"]]]],[12,"b",[6,"d.f32",[[5,"0"]]]],[11,[1,"sector","<",[5,"1"]],[0,[[2,"r","=","c"],[2,"g","=","x"]]],[11,[1,"sector","<",[5,"2"]],[0,[[2,"r","=","x"],[2,"g","=","c"]]],[11,[1,"sector","<",[5,"3"]],[0,[[2,"g","=","c"],[2,"b","=","x"]]],[11,[1,"sector","<",[5,"4"]],[0,[[2,"g","=","x"],[2,"b","=","c"]]],[11,[1,"sector","<",[5,"5"]],[0,[[2,"r","=","x"],[2,"b","=","c"]]],[0,[[2,"r","=","c"],[2,"b","=","x"]]]]]]]],[10,[6,"d.vec3f",["r","g","b"]]]]]},externals:{"d.f32":()=>a,"d.vec3f":()=>f}})&&e.f)({})),uc=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=b(b(s,r),o),i=oe(oe(s,r),o),d=__tsover_sub(n,i),c=__tsover_mul(__tsover_add(n,i),.5),_=b(__tsover_sub(1,z(__tsover_sub(__tsover_mul(c,2),1))),sn),u=__tsover_div(d,_),m=n===s,p=n===r,y=__tsover_div(__tsover_sub(r,o),b(d,sn)),h=__tsover_add(2,__tsover_div(__tsover_sub(o,s),b(d,sn))),g=C(C(__tsover_add(4,__tsover_div(__tsover_sub(s,r),b(d,sn))),h,p),y,m);return f(__tsover_mul(g,pa),u,c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[13,"r",[7,"rgb","x"]],[13,"g",[7,"rgb","y"]],[13,"b",[7,"rgb","z"]],[13,"maxVal",[6,"std.max",[[6,"std.max",["r","g"]],"b"]]],[13,"minVal",[6,"std.min",[[6,"std.min",["r","g"]],"b"]]],[13,"delta",[1,"maxVal","-","minVal"]],[13,"l",[1,[1,"maxVal","+","minVal"],"*",[5,"0.5"]]],[13,"satDenom",[6,"std.max",[[1,[5,"1"],"-",[6,"std.abs",[[1,[1,"l","*",[5,"2"]],"-",[5,"1"]]]]],"EPSILON"]]],[13,"s",[1,"delta","/","satDenom"]],[13,"isRMax",[1,"maxVal","===","r"]],[13,"isGMax",[1,"maxVal","===","g"]],[13,"hueR",[1,[1,"g","-","b"],"/",[6,"std.max",["delta","EPSILON"]]]],[13,"hueG",[1,[5,"2"],"+",[1,[1,"b","-","r"],"/",[6,"std.max",["delta","EPSILON"]]]]],[13,"hueB",[1,[5,"4"],"+",[1,[1,"r","-","g"],"/",[6,"std.max",["delta","EPSILON"]]]]],[13,"hue",[6,"std.select",[[6,"std.select",["hueB","hueG","isGMax"]],"hueR","isRMax"]]],[13,"h",[1,"hue","*","PI_OVER_3"]],[10,[6,"d.vec3f",["h","s","l"]]]]]},externals:{"std.max":()=>b,"std.min":()=>oe,"std.abs":()=>z,EPSILON:()=>sn,"std.select":()=>C,PI_OVER_3:()=>pa,"d.vec3f":()=>f}})&&e.f)({})),ja=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_mul(r,__tsover_sub(1,z(__tsover_sub(__tsover_mul(o,2),1)))),i=__tsover_div(s,pa),d=__tsover_mul(n,__tsover_sub(1,z(__tsover_sub(bo(i,2),1)))),c=__tsover_sub(o,__tsover_mul(n,.5));return Zl(n,d,q(i)).add(c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"hsl"}],body:[0,[[13,"h",[7,"hsl","x"]],[13,"s",[7,"hsl","y"]],[13,"l",[7,"hsl","z"]],[13,"c",[1,"s","*",[1,[5,"1"],"-",[6,"std.abs",[[1,[1,"l","*",[5,"2"]],"-",[5,"1"]]]]]]],[13,"hPrime",[1,"h","/","PI_OVER_3"]],[13,"x",[1,"c","*",[1,[5,"1"],"-",[6,"std.abs",[[1,[6,"std.mod",["hPrime",[5,"2"]]],"-",[5,"1"]]]]]]],[13,"m",[1,"l","-",[1,"c","*",[5,"0.5"]]]],[13,"sector",[6,"std.floor",["hPrime"]]],[10,[6,[7,[6,"selectRGBBySector",["c","x","sector"]],"add"],["m"]]]]]},externals:{"std.abs":()=>z,PI_OVER_3:()=>pa,"std.mod":()=>bo,"std.floor":()=>q,selectRGBBySector:()=>Zl}})&&e.f)({})),Mm=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=b(b(s,r),o),i=oe(oe(s,r),o),d=__tsover_sub(n,i),c=n,_=__tsover_div(d,b(n,sn)),u=n===s,m=n===r,p=__tsover_div(__tsover_sub(r,o),b(d,sn)),y=__tsover_add(2,__tsover_div(__tsover_sub(o,s),b(d,sn))),h=C(C(__tsover_add(4,__tsover_div(__tsover_sub(s,r),b(d,sn))),y,m),p,u);return f(__tsover_mul(h,pa),_,c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[13,"r",[7,"rgb","x"]],[13,"g",[7,"rgb","y"]],[13,"b",[7,"rgb","z"]],[13,"maxVal",[6,"std.max",[[6,"std.max",["r","g"]],"b"]]],[13,"minVal",[6,"std.min",[[6,"std.min",["r","g"]],"b"]]],[13,"delta",[1,"maxVal","-","minVal"]],[13,"v","maxVal"],[13,"s",[1,"delta","/",[6,"std.max",["maxVal","EPSILON"]]]],[13,"isRMax",[1,"maxVal","===","r"]],[13,"isGMax",[1,"maxVal","===","g"]],[13,"hueR",[1,[1,"g","-","b"],"/",[6,"std.max",["delta","EPSILON"]]]],[13,"hueG",[1,[5,"2"],"+",[1,[1,"b","-","r"],"/",[6,"std.max",["delta","EPSILON"]]]]],[13,"hueB",[1,[5,"4"],"+",[1,[1,"r","-","g"],"/",[6,"std.max",["delta","EPSILON"]]]]],[13,"hue",[6,"std.select",[[6,"std.select",["hueB","hueG","isGMax"]],"hueR","isRMax"]]],[13,"h",[1,"hue","*","PI_OVER_3"]],[10,[6,"d.vec3f",["h","s","v"]]]]]},externals:{"std.max":()=>b,"std.min":()=>oe,EPSILON:()=>sn,"std.select":()=>C,PI_OVER_3:()=>pa,"d.vec3f":()=>f}})&&e.f)({})),Ac=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_mul(o,r),i=__tsover_div(s,pa),d=__tsover_mul(n,__tsover_sub(1,z(__tsover_sub(bo(i,2),1)))),c=__tsover_sub(o,n);return Zl(n,d,q(i)).add(c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"hsv"}],body:[0,[[13,"h",[7,"hsv","x"]],[13,"s",[7,"hsv","y"]],[13,"v",[7,"hsv","z"]],[13,"c",[1,"v","*","s"]],[13,"hPrime",[1,"h","/","PI_OVER_3"]],[13,"x",[1,"c","*",[1,[5,"1"],"-",[6,"std.abs",[[1,[6,"std.mod",["hPrime",[5,"2"]]],"-",[5,"1"]]]]]]],[13,"m",[1,"v","-","c"]],[13,"sector",[6,"std.floor",["hPrime"]]],[10,[6,[7,[6,"selectRGBBySector",["c","x","sector"]],"add"],["m"]]]]]},externals:{PI_OVER_3:()=>pa,"std.abs":()=>z,"std.mod":()=>bo,"std.floor":()=>q,selectRGBBySector:()=>Zl}})&&e.f)({})),Pm=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_add(__tsover_add(__tsover_mul(s,.4124564),__tsover_mul(r,.3575761)),__tsover_mul(o,.1804375)),i=__tsover_add(__tsover_add(__tsover_mul(s,.2126729),__tsover_mul(r,.7151522)),__tsover_mul(o,.072175)),d=__tsover_add(__tsover_add(__tsover_mul(s,.0193339),__tsover_mul(r,.119192)),__tsover_mul(o,.9503041)),c=__tsover_div(n,.95047),_=__tsover_div(i,1),u=__tsover_div(d,1.08883),m=C(__tsover_add(__tsover_mul(c,H_),ta),Ce(c,__tsover_div(1,3)),c>X_),p=C(__tsover_add(__tsover_mul(_,H_),ta),Ce(_,__tsover_div(1,3)),_>X_),y=C(__tsover_add(__tsover_mul(u,H_),ta),Ce(u,__tsover_div(1,3)),u>X_);return f(__tsover_sub(__tsover_mul(p,116),16),__tsover_mul(__tsover_sub(m,p),jl),__tsover_mul(__tsover_sub(p,y),Kl))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[13,"r",[7,"rgb","x"]],[13,"g",[7,"rgb","y"]],[13,"b",[7,"rgb","z"]],[13,"x",[1,[1,[1,"r","*",[5,"0.4124564"]],"+",[1,"g","*",[5,"0.3575761"]]],"+",[1,"b","*",[5,"0.1804375"]]]],[13,"y",[1,[1,[1,"r","*",[5,"0.2126729"]],"+",[1,"g","*",[5,"0.7151522"]]],"+",[1,"b","*",[5,"0.072175"]]]],[13,"z",[1,[1,[1,"r","*",[5,"0.0193339"]],"+",[1,"g","*",[5,"0.119192"]]],"+",[1,"b","*",[5,"0.9503041"]]]],[13,"xn",[1,"x","/",[5,"0.95047"]]],[13,"yn",[1,"y","/",[5,"1"]]],[13,"zn",[1,"z","/",[5,"1.08883"]]],[13,"fx",[6,"std.select",[[1,[1,"xn","*","LAB_FWD_SLOPE"],"+","LAB_OFFSET"],[6,"std.pow",["xn",[1,[5,"1"],"/",[5,"3"]]]],[1,"xn",">","LAB_DELTA3"]]]],[13,"fy",[6,"std.select",[[1,[1,"yn","*","LAB_FWD_SLOPE"],"+","LAB_OFFSET"],[6,"std.pow",["yn",[1,[5,"1"],"/",[5,"3"]]]],[1,"yn",">","LAB_DELTA3"]]]],[13,"fz",[6,"std.select",[[1,[1,"zn","*","LAB_FWD_SLOPE"],"+","LAB_OFFSET"],[6,"std.pow",["zn",[1,[5,"1"],"/",[5,"3"]]]],[1,"zn",">","LAB_DELTA3"]]]],[13,"L",[1,[1,"fy","*",[5,"116"]],"-",[5,"16"]]],[13,"a",[1,[1,"fx","-","fy"],"*","LAB_KAPPA"]],[13,"bLab",[1,[1,"fy","-","fz"],"*","LAB_LAMBDA"]],[10,[6,"d.vec3f",["L","a","bLab"]]]]]},externals:{"std.select":()=>C,LAB_FWD_SLOPE:()=>H_,LAB_OFFSET:()=>ta,"std.pow":()=>Ce,LAB_DELTA3:()=>X_,LAB_KAPPA:()=>jl,LAB_LAMBDA:()=>Kl,"d.vec3f":()=>f}})&&e.f)({})),Mc=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_div(__tsover_add(s,16),116),i=__tsover_add(__tsover_div(r,jl),n),d=__tsover_sub(n,__tsover_div(o,Kl)),c=C(__tsover_mul(__tsover_sub(i,ta),j_),Ce(i,3),i>Fo),_=C(__tsover_mul(__tsover_sub(n,ta),j_),Ce(n,3),n>Fo),u=C(__tsover_mul(__tsover_sub(d,ta),j_),Ce(d,3),d>Fo),m=__tsover_mul(c,.95047),p=__tsover_mul(_,1),y=__tsover_mul(u,1.08883);return f(__tsover_sub(__tsover_sub(__tsover_mul(m,3.2404542),__tsover_mul(p,1.5371385)),__tsover_mul(y,.4985314)),__tsover_add(__tsover_add(__tsover_mul(m,-.969266),__tsover_mul(p,1.8760108)),__tsover_mul(y,.041556)),__tsover_add(__tsover_sub(__tsover_mul(m,.0556434),__tsover_mul(p,.2040259)),__tsover_mul(y,1.0572252)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lab"}],body:[0,[[13,"L",[7,"lab","x"]],[13,"a",[7,"lab","y"]],[13,"b",[7,"lab","z"]],[13,"fy",[1,[1,"L","+",[5,"16"]],"/",[5,"116"]]],[13,"fx",[1,[1,"a","/","LAB_KAPPA"],"+","fy"]],[13,"fz",[1,"fy","-",[1,"b","/","LAB_LAMBDA"]]],[13,"xn",[6,"std.select",[[1,[1,"fx","-","LAB_OFFSET"],"*","LAB_INV_SLOPE"],[6,"std.pow",["fx",[5,"3"]]],[1,"fx",">","LAB_DELTA"]]]],[13,"yn",[6,"std.select",[[1,[1,"fy","-","LAB_OFFSET"],"*","LAB_INV_SLOPE"],[6,"std.pow",["fy",[5,"3"]]],[1,"fy",">","LAB_DELTA"]]]],[13,"zn",[6,"std.select",[[1,[1,"fz","-","LAB_OFFSET"],"*","LAB_INV_SLOPE"],[6,"std.pow",["fz",[5,"3"]]],[1,"fz",">","LAB_DELTA"]]]],[13,"x",[1,"xn","*",[5,"0.95047"]]],[13,"y",[1,"yn","*",[5,"1"]]],[13,"z",[1,"zn","*",[5,"1.08883"]]],[13,"r",[1,[1,[1,"x","*",[5,"3.2404542"]],"-",[1,"y","*",[5,"1.5371385"]]],"-",[1,"z","*",[5,"0.4985314"]]]],[13,"g",[1,[1,[1,"x","*",[4,"-",[5,"0.969266"]]],"+",[1,"y","*",[5,"1.8760108"]]],"+",[1,"z","*",[5,"0.041556"]]]],[13,"bRgb",[1,[1,[1,"x","*",[5,"0.0556434"]],"-",[1,"y","*",[5,"0.2040259"]]],"+",[1,"z","*",[5,"1.0572252"]]]],[10,[6,"d.vec3f",["r","g","bRgb"]]]]]},externals:{LAB_KAPPA:()=>jl,LAB_LAMBDA:()=>Kl,"std.select":()=>C,LAB_OFFSET:()=>ta,LAB_INV_SLOPE:()=>j_,"std.pow":()=>Ce,LAB_DELTA:()=>Fo,"d.vec3f":()=>f}})&&e.f)({})),Em=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z;return f(s,be(__tsover_add(__tsover_mul(r,r),__tsover_mul(o,o))),tt(o,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lab"}],body:[0,[[13,"L",[7,"lab","x"]],[13,"a",[7,"lab","y"]],[13,"b",[7,"lab","z"]],[13,"C",[6,"std.sqrt",[[1,[1,"a","*","a"],"+",[1,"b","*","b"]]]]],[13,"h",[6,"std.atan2",["b","a"]]],[10,[6,"d.vec3f",["L","C","h"]]]]]},externals:{"std.sqrt":()=>be,"std.atan2":()=>tt,"d.vec3f":()=>f}})&&e.f)({})),Pc=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z;return f(s,__tsover_mul(r,H(o)),__tsover_mul(r,Y(o)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lch"}],body:[0,[[13,"L",[7,"lch","x"]],[13,"C",[7,"lch","y"]],[13,"h",[7,"lch","z"]],[10,[6,"d.vec3f",["L",[1,"C","*",[6,"std.cos",["h"]]],[1,"C","*",[6,"std.sin",["h"]]]]]]]]},externals:{"d.vec3f":()=>f,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),is=v.fn([f,f,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return t.mul(r).add(s.mul(o)).div(n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"wA"},{type:"i",name:"wB"},{type:"i",name:"sw"}],body:[0,[[10,[6,[7,[6,[7,[6,[7,"a","mul"],["wA"]],"add"],[[6,[7,"b","mul"],["wB"]]]],"div"],["sw"]]]]]},externals:{}})&&e.f)({})),Bo=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(is(t.xyz,s.xyz,o,n,d),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"rgb",[6,"awMix",[[7,"colorA","xyz"],[7,"colorB","xyz"],"weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x}})&&e.f)({})),dR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(Kr(Ha(is(zi(To($s(t.xyz))),zi(To($s(s.xyz))),o,n,d)))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"oklchA",[6,"oklabToOklch",[[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]]]],[13,"oklchB",[6,"oklabToOklch",[[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]]]],[13,"mixed",[6,"awMix",["oklchA","oklchB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"oklabToRgb",[[6,"oklchToOklab",["mixed"]]]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,oklabToOklch:()=>zi,rgbToOklab:()=>To,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,oklchToOklab:()=>Ha,"d.vec4f":()=>x}})&&e.f)({})),cR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(Kr(is(To($s(t.xyz)),To($s(s.xyz)),o,n,d))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"oklabA",[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]],[13,"oklabB",[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]],[13,"mixed",[6,"awMix",["oklabA","oklabB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"oklabToRgb",["mixed"]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,rgbToOklab:()=>To,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,"d.vec4f":()=>x}})&&e.f)({})),_R=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(ja(is(uc($s(t.xyz)),uc($s(s.xyz)),o,n,d))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"hslA",[6,"rgbToHsl",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]],[13,"hslB",[6,"rgbToHsl",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]],[13,"mixed",[6,"awMix",["hslA","hslB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"hslToRgb",["mixed"]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,rgbToHsl:()=>uc,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,hslToRgb:()=>ja,"d.vec4f":()=>x}})&&e.f)({})),lR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(Ac(is(Mm($s(t.xyz)),Mm($s(s.xyz)),o,n,d))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"hsvA",[6,"rgbToHsv",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]],[13,"hsvB",[6,"rgbToHsv",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]],[13,"mixed",[6,"awMix",["hsvA","hsvB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"hsvToRgb",["mixed"]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,rgbToHsv:()=>Mm,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,hsvToRgb:()=>Ac,"d.vec4f":()=>x}})&&e.f)({})),uR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(Mc(Pc(is(Em(Pm($s(t.xyz))),Em(Pm($s(s.xyz))),o,n,d)))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"lchA",[6,"labToLch",[[6,"rgbToLab",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]]]],[13,"lchB",[6,"labToLch",[[6,"rgbToLab",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]]]],[13,"mixed",[6,"awMix",["lchA","lchB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"labToRgb",[[6,"lchToLab",["mixed"]]]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,labToLch:()=>Em,rgbToLab:()=>Pm,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,labToRgb:()=>Mc,lchToLab:()=>Pc,"d.vec4f":()=>x}})&&e.f)({})),Fv={0:Bo,1:dR,2:cR,3:_R,4:lR,5:uR};var co=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({conv:f,alpha:a}),"MixStep"),fa=v.fn([f,a,f,a,a],co)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return co({conv:is(t,r,i,d,b(c,.001)),alpha:c})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"alphaA"},{type:"i",name:"convB"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[10,[6,"MixStep",[[104,{conv:[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]],alpha:"totalWeight"}]]]]]]},externals:{"std.max":()=>b,MixStep:()=>co,awMix:()=>is}})&&e.f)({})),t1=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(is(t,s,i,d,b(c,.001)),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",["mixed","totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x}})&&e.f)({})),mR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(Kr(Ha(is(t,s,i,d,b(c,.001))))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"oklabToRgb",[[6,"oklchToOklab",["mixed"]]]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,oklchToOklab:()=>Ha}})&&e.f)({})),pR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(Kr(is(t,s,i,d,b(c,.001)))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"oklabToRgb",["mixed"]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,oklabToRgb:()=>Kr}})&&e.f)({})),fR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(ja(is(t,s,i,d,b(c,.001)))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"hslToRgb",["mixed"]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,hslToRgb:()=>ja}})&&e.f)({})),vR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(Ac(is(t,s,i,d,b(c,.001)))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"hsvToRgb",["mixed"]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,hsvToRgb:()=>Ac}})&&e.f)({})),yR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(Mc(Pc(is(t,s,i,d,b(c,.001))))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"labToRgb",[[6,"lchToLab",["mixed"]]]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,labToRgb:()=>Mc,lchToLab:()=>Pc}})&&e.f)({})),Bv={0:t1,1:mR,2:pR,3:fR,4:vR,5:yR};var Wv=1e-4,km=6/29,hR=(e,t,s)=>[e*1.2249401-t*.2249404,e*-.0420569+t*1.0420571,e*-.0196376-t*.0786361+s*1.0982735],r3=(e,t,s)=>{let r=Math.cbrt(e*.4122214708+t*.5363325363+s*.0514459929),o=Math.cbrt(e*.2119034982+t*.6806995451+s*.1073969566),n=Math.cbrt(e*.0883024619+t*.2817188376+s*.6299787005);return[r*.2104542553+o*.793617785-n*.0040720468,r*1.9779984951-o*2.428592205+n*.4505937099,r*.0259040371+o*.7827717662-n*.808675766]},n7=(e,t,s,r,o)=>{let n=Math.max(o,Wv);return(r===e?(t-s)/n:r===t?2+(s-e)/n:4+(e-t)/n)*(Math.PI/3)},xR=(e,t,s)=>{let r=Math.max(e,t,s),o=Math.min(e,t,s),n=r-o,i=(r+o)*.5,d=n/Math.max(1-Math.abs(2*i-1),Wv);return[n7(e,t,s,r,n),d,i]},gR=(e,t,s)=>{let r=Math.max(e,t,s),o=r-Math.min(e,t,s),n=o/Math.max(r,Wv);return[n7(e,t,s,r,o),n,r]},bR=(e,t,s)=>{let r=(e*.4124564+t*.3575761+s*.1804375)/.95047,o=e*.2126729+t*.7151522+s*.072175,n=(e*.0193339+t*.119192+s*.9503041)/1.08883,i=km**3,d=m=>m>i?Math.cbrt(m):m/(3*km*km)+4/29,c=d(r),_=d(o),u=d(n);return[_*116-16,(c-_)*500,(_-u)*200]},s1=(e,t,s,r)=>{let[o,n,i]=hR(e,t,s);switch(r){case 1:{let[d,c,_]=r3(o,n,i);return[d,Math.sqrt(c*c+_*_),Math.atan2(_,c)]}case 2:return r3(o,n,i);case 3:return xR(o,n,i);case 4:return gR(o,n,i);case 5:{let[d,c,_]=bR(o,n,i);return[d,Math.sqrt(c*c+_*_),Math.atan2(_,c)]}default:return[e,t,s]}},wR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=X(f(t.x,t.y,t.z),f(s.x,s.y,s.z),f(r));return x(o.x,o.y,o.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"target"},{type:"i",name:"amount"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"targetRgb",[6,"d.vec3f",[[7,"target","x"],[7,"target","y"],[7,"target","z"]]]],[13,"mixed",[6,"std.mix",["rgb","targetRgb",[6,"d.vec3f",["amount"]]]]],[10,[6,"d.vec4f",[[7,"mixed","x"],[7,"mixed","y"],[7,"mixed","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({}));var So=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_add(__tsover_mul(t.x,.2126),__tsover_mul(t.y,.7152)),__tsover_mul(t.z,.0722))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[1,[1,[1,[7,"rgb","x"],"*",[5,"0.2126"]],"+",[1,[7,"rgb","y"],"*",[5,"0.7152"]]],"+",[1,[7,"rgb","z"],"*",[5,"0.0722"]]]]]]},externals:{}})&&e.f)({})),an=v.fn([f,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return C(f(0),f(1),wp(s,t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"edge"},{type:"i",name:"x"}],body:[0,[[10,[6,"std.select",[[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]],[6,"std.ge",["x","edge"]]]]]]]},externals:{"std.select":()=>C,"d.vec3f":()=>f,"std.ge":()=>wp}})&&e.f)({})),$t=v.fn([x,f,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_add(r,o);return x(s.mul(r).add(t.xyz.mul(o)),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"blended"},{type:"i",name:"overlayAlpha"}],body:[0,[[13,"baseWeight",[1,[7,"base","w"],"*",[1,[5,"1"],"-","overlayAlpha"]]],[13,"finalAlpha",[1,"overlayAlpha","+","baseWeight"]],[13,"rgb",[6,[7,[6,[7,"blended","mul"],["overlayAlpha"]],"add"],[[6,[7,[7,"base","xyz"],"mul"],["baseWeight"]]]]],[10,[6,"d.vec4f",["rgb","finalAlpha"]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),dn=v.fn([x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.w;return x(C(f(0,0,0),t.xyz.div(s),s>.001),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"alpha",[7,"color","w"]],[13,"straightRGB",[6,"std.select",[[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,[7,[7,"color","xyz"],"div"],["alpha"]],[1,"alpha",">",[5,"0.001"]]]]],[10,[6,"d.vec4f",["straightRGB","alpha"]]]]]},externals:{"std.select":()=>C,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),TR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,s.xyz,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[10,[6,"overComposite",["base",[7,"overlay","xyz"],"overlayAlpha"]]]]]},externals:{overComposite:()=>$t}})&&e.f)({})),SR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=__tsover_mul(t.w,__tsover_sub(1,o)),i=__tsover_add(o,n),d=zi(To($s(t.xyz)));return x(ss(Kr(Ha(zi(To($s(s.xyz))).mul(o).add(d.mul(n))))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseWeight",[1,[7,"base","w"],"*",[1,[5,"1"],"-","overlayAlpha"]]],[13,"finalAlpha",[1,"overlayAlpha","+","baseWeight"]],[13,"baseOklch",[6,"oklabToOklch",[[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"base","xyz"]]]]]]]],[13,"overlayOklch",[6,"oklabToOklch",[[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"overlay","xyz"]]]]]]]],[13,"blendedOklch",[6,[7,[6,[7,"overlayOklch","mul"],["overlayAlpha"]],"add"],[[6,[7,"baseOklch","mul"],["baseWeight"]]]]],[13,"rgb",[6,"sRGBToP3",[[6,"oklabToRgb",[[6,"oklchToOklab",["blendedOklch"]]]]]]],[10,[6,"d.vec4f",["rgb","finalAlpha"]]]]]},externals:{oklabToOklch:()=>zi,rgbToOklab:()=>To,p3ToSRGB:()=>$s,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,oklchToOklab:()=>Ha,"d.vec4f":()=>x}})&&e.f)({})),AR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=__tsover_mul(t.w,__tsover_sub(1,o)),i=__tsover_add(o,n),d=To($s(t.xyz));return x(ss(Kr(To($s(s.xyz)).mul(o).add(d.mul(n)))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseWeight",[1,[7,"base","w"],"*",[1,[5,"1"],"-","overlayAlpha"]]],[13,"finalAlpha",[1,"overlayAlpha","+","baseWeight"]],[13,"baseOklab",[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"base","xyz"]]]]]],[13,"overlayOklab",[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"overlay","xyz"]]]]]],[13,"blendedOklab",[6,[7,[6,[7,"overlayOklab","mul"],["overlayAlpha"]],"add"],[[6,[7,"baseOklab","mul"],["baseWeight"]]]]],[13,"rgb",[6,"sRGBToP3",[[6,"oklabToRgb",["blendedOklab"]]]]],[10,[6,"d.vec4f",["rgb","finalAlpha"]]]]]},externals:{rgbToOklab:()=>To,p3ToSRGB:()=>$s,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,"d.vec4f":()=>x}})&&e.f)({})),MR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,t.xyz.mul(s.xyz),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{overComposite:()=>$t}})&&e.f)({})),PR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,ht(1,ht(1,t.xyz).mul(ht(1,s.xyz))),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.sub",[[5,"1"],[6,[7,[6,"std.sub",[[5,"1"],[7,"base","xyz"]]],"mul"],[[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,overComposite:()=>$t}})&&e.f)({})),ER=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,t.xyz.add(s.xyz),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,[7,[7,"base","xyz"],"add"],[[7,"overlay","xyz"]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{overComposite:()=>$t}})&&e.f)({})),kR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,X(t.xyz.mul(s.xyz).mul(2),ht(1,ht(1,t.xyz).mul(ht(1,s.xyz)).mul(2)),an(f(.5),t.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"mult",[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]],"mul"],[[5,"2"]]]],[13,"scr",[6,"std.sub",[[5,"1"],[6,[7,[6,[7,[6,"std.sub",[[5,"1"],[7,"base","xyz"]]],"mul"],[[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]]],"mul"],[[5,"2"]]]]]],[13,"blended",[6,"std.mix",["mult","scr",[6,"step3",[[6,"d.vec3f",[[5,"0.5"]]],[7,"base","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,"std.mix":()=>X,step3:()=>an,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),$R=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,z(t.xyz.sub(s.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.abs",[[6,[7,[7,"base","xyz"],"sub"],[[7,"overlay","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.abs":()=>z,overComposite:()=>$t}})&&e.f)({})),UR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=ht(1,s.xyz);return $t(t,X(t.xyz,oe(t.xyz.div(n),f(1)),an(f(.001),n)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"oneMinusOverlay",[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]],[13,"dodged",[6,"std.mix",[[7,"base","xyz"],[6,"std.min",[[6,[7,[7,"base","xyz"],"div"],["oneMinusOverlay"]],[6,"d.vec3f",[[5,"1"]]]]],[6,"step3",[[6,"d.vec3f",[[5,"0.001"]]],"oneMinusOverlay"]]]]],[10,[6,"overComposite",["base","dodged","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,"std.mix":()=>X,"std.min":()=>oe,"d.vec3f":()=>f,step3:()=>an,overComposite:()=>$t}})&&e.f)({})),CR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,t.xyz.add(s.xyz).sub(t.xyz.mul(s.xyz).mul(2)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,[7,[6,[7,[7,"base","xyz"],"add"],[[7,"overlay","xyz"]]],"sub"],[[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]],"mul"],[[5,"2"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{overComposite:()=>$t}})&&e.f)({})),RR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=So(t.xyz),i=So(s.xyz),d=__tsover_sub(n,i);return $t(t,s.xyz.add(d),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseLum",[6,"luminance",[[7,"base","xyz"]]]],[13,"overlayLum",[6,"luminance",[[7,"overlay","xyz"]]]],[13,"lumDiff",[1,"baseLum","-","overlayLum"]],[13,"blended",[6,[7,[7,"overlay","xyz"],"add"],["lumDiff"]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{luminance:()=>So,overComposite:()=>$t}})&&e.f)({})),zR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=So(t.xyz),i=So(s.xyz),d=__tsover_div(i,__tsover_add(n,1e-4));return $t(t,t.xyz.mul(d),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseLum",[6,"luminance",[[7,"base","xyz"]]]],[13,"overlayLum",[6,"luminance",[[7,"overlay","xyz"]]]],[13,"lumRatio",[1,"overlayLum","/",[1,"baseLum","+",[5,"0.0001"]]]],[13,"blended",[6,[7,[7,"base","xyz"],"mul"],["lumRatio"]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{luminance:()=>So,overComposite:()=>$t}})&&e.f)({})),GR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,oe(t.xyz,s.xyz),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.min",[[7,"base","xyz"],[7,"overlay","xyz"]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.min":()=>oe,overComposite:()=>$t}})&&e.f)({})),YR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,b(t.xyz,s.xyz),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.max",[[7,"base","xyz"],[7,"overlay","xyz"]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.max":()=>b,overComposite:()=>$t}})&&e.f)({})),LR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=b(ht(1,ht(1,t.xyz).div(s.xyz.add(1e-4))),f(0));return $t(t,X(f(0),n,an(f(1e-4),s.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"burned",[6,"std.max",[[6,"std.sub",[[5,"1"],[6,[7,[6,"std.sub",[[5,"1"],[7,"base","xyz"]]],"div"],[[6,[7,[7,"overlay","xyz"],"add"],[[5,"0.0001"]]]]]]],[6,"d.vec3f",[[5,"0"]]]]]],[13,"blended",[6,"std.mix",[[6,"d.vec3f",[[5,"0"]]],"burned",[6,"step3",[[6,"d.vec3f",[[5,"0.0001"]]],[7,"overlay","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.max":()=>b,"std.sub":()=>ht,"d.vec3f":()=>f,"std.mix":()=>X,step3:()=>an,overComposite:()=>$t}})&&e.f)({})),IR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,b(t.xyz.add(s.xyz).add(-1),f(0)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.max",[[6,[7,[6,[7,[7,"base","xyz"],"add"],[[7,"overlay","xyz"]]],"add"],[[4,"-",[5,"1"]]]],[6,"d.vec3f",[[5,"0"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.max":()=>b,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),DR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=t.xyz.mul(s.xyz).mul(2),i=t.xyz.mul(t.xyz),d=n.add(i.mul(ht(1,s.xyz.mul(2)))),c=be(t.xyz);return $t(t,X(d,t.xyz.mul(ht(1,s.xyz)).mul(2).add(c.mul(s.xyz.mul(2).sub(1))),an(f(.5),s.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"mult",[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]],"mul"],[[5,"2"]]]],[13,"baseSquared",[6,[7,[7,"base","xyz"],"mul"],[[7,"base","xyz"]]]],[13,"softDark",[6,[7,"mult","add"],[[6,[7,"baseSquared","mul"],[[6,"std.sub",[[5,"1"],[6,[7,[7,"overlay","xyz"],"mul"],[[5,"2"]]]]]]]]]],[13,"baseSqrt",[6,"std.sqrt",[[7,"base","xyz"]]]],[13,"softLightVal",[6,[7,[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]]],"mul"],[[5,"2"]]],"add"],[[6,[7,"baseSqrt","mul"],[[6,[7,[6,[7,[7,"overlay","xyz"],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]]]]]],[13,"blended",[6,"std.mix",["softDark","softLightVal",[6,"step3",[[6,"d.vec3f",[[5,"0.5"]]],[7,"overlay","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,"std.sqrt":()=>be,"std.mix":()=>X,step3:()=>an,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),FR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,X(t.xyz.mul(s.xyz).mul(2),ht(1,ht(1,t.xyz).mul(ht(1,s.xyz)).mul(2)),an(f(.5),s.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"mult",[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]],"mul"],[[5,"2"]]]],[13,"scr",[6,"std.sub",[[5,"1"],[6,[7,[6,[7,[6,"std.sub",[[5,"1"],[7,"base","xyz"]]],"mul"],[[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]]],"mul"],[[5,"2"]]]]]],[13,"blended",[6,"std.mix",["mult","scr",[6,"step3",[[6,"d.vec3f",[[5,"0.5"]]],[7,"overlay","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,"std.mix":()=>X,step3:()=>an,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),BR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=So(t.xyz),i=So(s.xyz),d=t.xyz.sub(n),c=s.xyz.sub(i),_=j(d),u=j(c);return $t(t,C(f(0),c.div(u),u>1e-4).mul(_).add(n),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseLum",[6,"luminance",[[7,"base","xyz"]]]],[13,"overlayLum",[6,"luminance",[[7,"overlay","xyz"]]]],[13,"baseChromaticity",[6,[7,[7,"base","xyz"],"sub"],["baseLum"]]],[13,"overlayChromaticity",[6,[7,[7,"overlay","xyz"],"sub"],["overlayLum"]]],[13,"baseChromaLength",[6,"std.length",["baseChromaticity"]]],[13,"overlayChromaLength",[6,"std.length",["overlayChromaticity"]]],[13,"overlayChromaDir",[6,"std.select",[[6,"d.vec3f",[[5,"0"]]],[6,[7,"overlayChromaticity","div"],["overlayChromaLength"]],[1,"overlayChromaLength",">",[5,"0.0001"]]]]],[13,"blended",[6,[7,[6,[7,"overlayChromaDir","mul"],["baseChromaLength"]],"add"],["baseLum"]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{luminance:()=>So,"std.length":()=>j,"std.select":()=>C,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),WR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=So(t.xyz),i=So(s.xyz),d=t.xyz.sub(n),c=s.xyz.sub(i),_=j(d),u=C(f(0),d.div(_),_>1e-4),m=j(c);return $t(t,u.mul(m).add(n),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseLum",[6,"luminance",[[7,"base","xyz"]]]],[13,"overlayLum",[6,"luminance",[[7,"overlay","xyz"]]]],[13,"baseChromaticity",[6,[7,[7,"base","xyz"],"sub"],["baseLum"]]],[13,"overlayChromaticity",[6,[7,[7,"overlay","xyz"],"sub"],["overlayLum"]]],[13,"baseChromaLength",[6,"std.length",["baseChromaticity"]]],[13,"baseChromaDir",[6,"std.select",[[6,"d.vec3f",[[5,"0"]]],[6,[7,"baseChromaticity","div"],["baseChromaLength"]],[1,"baseChromaLength",">",[5,"0.0001"]]]]],[13,"overlayChromaLength",[6,"std.length",["overlayChromaticity"]]],[13,"blended",[6,[7,[6,[7,"baseChromaDir","mul"],["overlayChromaLength"]],"add"],["baseLum"]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{luminance:()=>So,"std.length":()=>j,"std.select":()=>C,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),o3={normal:TR,"normal-oklch":SR,"normal-oklab":AR,multiply:MR,screen:PR,linearDodge:ER,overlay:kR,difference:$R,colorDodge:UR,exclusion:CR,color:RR,luminosity:zR,darken:GR,lighten:YR,colorBurn:LR,linearBurn:IR,softLight:DR,hardLight:FR,hue:BR,saturation:WR};var K_=f(.2126,.7152,.0722),n3={alpha:v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.xyz,__tsover_mul(t.w,s.w))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"target"},{type:"i",name:"mask"}],body:[0,[[10,[6,"d.vec4f",[[7,"target","xyz"],[1,[7,"target","w"],"*",[7,"mask","w"]]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),alphaInverted:v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.xyz,__tsover_mul(t.w,__tsover_sub(1,s.w)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"target"},{type:"i",name:"mask"}],body:[0,[[10,[6,"d.vec4f",[[7,"target","xyz"],[1,[7,"target","w"],"*",[1,[5,"1"],"-",[7,"mask","w"]]]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),luminance:v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(s.xyz,K_);return x(t.xyz,__tsover_mul(t.w,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"target"},{type:"i",name:"mask"}],body:[0,[[13,"lum",[6,"std.dot",[[7,"mask","xyz"],"LUMINANCE_WEIGHTS"]]],[10,[6,"d.vec4f",[[7,"target","xyz"],[1,[7,"target","w"],"*","lum"]]]]]]},externals:{"std.dot":()=>se,LUMINANCE_WEIGHTS:()=>K_,"d.vec4f":()=>x}})&&e.f)({})),luminanceInverted:v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(s.xyz,K_);return x(t.xyz,__tsover_mul(t.w,__tsover_sub(1,r)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"target"},{type:"i",name:"mask"}],body:[0,[[13,"lum",[6,"std.dot",[[7,"mask","xyz"],"LUMINANCE_WEIGHTS"]]],[10,[6,"d.vec4f",[[7,"target","xyz"],[1,[7,"target","w"],"*",[1,[5,"1"],"-","lum"]]]]]]]},externals:{"std.dot":()=>se,LUMINANCE_WEIGHTS:()=>K_,"d.vec4f":()=>x}})&&e.f)({}))},OR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return f(t.x,t.y,t.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),VR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return $(t.div(t.add(1)),f(0),f(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,"std.clamp",[[6,[7,"color","div"],[[6,[7,"color","add"],[[5,"1"]]]]],[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]]]},externals:{"std.clamp":()=>$,"d.vec3f":()=>f}})&&e.f)({})),NR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=b(t.sub(.004),f(0)),r=s.mul(s.mul(6.2).add(.5)),o=s.mul(s.mul(6.2).add(1.7)).add(.06);return Ce(r.div(o),f(2.2))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"c",[6,"std.max",[[6,[7,"color","sub"],[[5,"0.004"]]],[6,"d.vec3f",[[5,"0"]]]]]],[13,"a",[6,[7,"c","mul"],[[6,[7,[6,[7,"c","mul"],[[5,"6.2"]]],"add"],[[5,"0.5"]]]]]],[13,"b",[6,[7,[6,[7,"c","mul"],[[6,[7,[6,[7,"c","mul"],[[5,"6.2"]]],"add"],[[5,"1.7"]]]]],"add"],[[5,"0.06"]]]],[10,[6,"std.pow",[[6,[7,"a","div"],["b"]],[6,"d.vec3f",[[5,"2.2"]]]]]]]]},externals:{"std.max":()=>b,"d.vec3f":()=>f,"std.pow":()=>Ce}})&&e.f)({})),a3=ud(.59719,.076,.0284,.35458,.90834,.13383,.04823,.01566,.83777),i3=ud(1.60475,-.10208,-.00327,-.53108,1.10813,-.07276,-.07367,-.00605,1.07602),d3=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.mul(t.add(.0245786)).sub(90537e-9),r=t.mul(t.add(.432951).mul(.983729)).add(.238081);return s.div(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[13,"a",[6,[7,[6,[7,"v","mul"],[[6,[7,"v","add"],[[5,"0.0245786"]]]]],"sub"],[[5,"0.000090537"]]]],[13,"b",[6,[7,[6,[7,"v","mul"],[[6,[7,[6,[7,"v","add"],[[5,"0.432951"]]],"mul"],[[5,"0.983729"]]]]],"add"],[[5,"0.238081"]]]],[10,[6,[7,"a","div"],["b"]]]]]},externals:{}})&&e.f)({})),qR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.div(.6);return s=a3.mul(s),s=d3(s),s=i3.mul(s),$(s,f(0),f(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[12,"c",[6,[7,"color","div"],[[5,"0.6"]]]],[2,"c","=",[6,"ACES_INPUT.mul",["c"]]],[2,"c","=",[6,"rrtAndODTFit",["c"]]],[2,"c","=",[6,"ACES_OUTPUT.mul",["c"]]],[10,[6,"std.clamp",["c",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]]]},externals:{"ACES_INPUT.mul":()=>a3.mul,rrtAndODTFit:()=>d3,"ACES_OUTPUT.mul":()=>i3.mul,"std.clamp":()=>$,"d.vec3f":()=>f}})&&e.f)({})),c3=ud(.6274,.0691,.0164,.3293,.9195,.088,.0433,.0113,.8956),_3=ud(1.6605,-.1246,-.0182,-.5876,1.1329,-.1006,-.0728,-.0083,1.1187),l3=ud(.856627153315983,.137318972929847,.11189821299995,.0951212405381588,.761241990602591,.0767994186031903,.0482516061458583,.101439036467562,.811302368396859),u3=ud(1.1271005818144368,-.1413297634984383,-.14132976349843826,-.11060664309660323,1.157823702216272,-.11060664309660294,-.016493938717834573,-.016493938717834257,1.2519364065950405),$m=-12.47393,m3=4.026069,p3=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.mul(t),r=s.mul(s);return r.mul(s).mul(15.5).sub(r.mul(t).mul(40.14)).add(r.mul(31.96).sub(s.mul(t).mul(6.868)).add(s.mul(.4298).add(t.mul(.1191).sub(.00232))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"}],body:[0,[[13,"x2",[6,[7,"x","mul"],["x"]]],[13,"x4",[6,[7,"x2","mul"],["x2"]]],[10,[6,[7,[6,[7,[6,[7,[6,[7,"x4","mul"],["x2"]],"mul"],[[5,"15.5"]]],"sub"],[[6,[7,[6,[7,"x4","mul"],["x"]],"mul"],[[5,"40.14"]]]]],"add"],[[6,[7,[6,[7,[6,[7,"x4","mul"],[[5,"31.96"]]],"sub"],[[6,[7,[6,[7,"x2","mul"],["x"]],"mul"],[[5,"6.868"]]]]],"add"],[[6,[7,[6,[7,"x2","mul"],[[5,"0.4298"]]],"add"],[[6,[7,[6,[7,"x","mul"],[[5,"0.1191"]]],"sub"],[[5,"0.00232"]]]]]]]]]]]]},externals:{}})&&e.f)({})),XR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=c3.mul(t);return s=l3.mul(s),s=b(s,f(1e-10)),s=gp(s),s=s.sub($m).div(__tsover_sub(m3,$m)),s=$(s,f(0),f(1)),s=p3(s),s=u3.mul(s),s=Ce(b(s,f(0)),f(2.2)),s=_3.mul(s),$(s,f(0),f(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[12,"c",[6,"LINEAR_SRGB_TO_LINEAR_REC2020.mul",["color"]]],[2,"c","=",[6,"AGX_INSET.mul",["c"]]],[2,"c","=",[6,"std.max",["c",[6,"d.vec3f",[[5,"1e-10"]]]]]],[2,"c","=",[6,"std.log2",["c"]]],[2,"c","=",[6,[7,[6,[7,"c","sub"],["AGX_MIN_EV"]],"div"],[[1,"AGX_MAX_EV","-","AGX_MIN_EV"]]]],[2,"c","=",[6,"std.clamp",["c",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]],[2,"c","=",[6,"agxContrastApprox",["c"]]],[2,"c","=",[6,"AGX_OUTSET.mul",["c"]]],[2,"c","=",[6,"std.pow",[[6,"std.max",["c",[6,"d.vec3f",[[5,"0"]]]]],[6,"d.vec3f",[[5,"2.2"]]]]]],[2,"c","=",[6,"LINEAR_REC2020_TO_LINEAR_SRGB.mul",["c"]]],[10,[6,"std.clamp",["c",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]]]},externals:{"LINEAR_SRGB_TO_LINEAR_REC2020.mul":()=>c3.mul,"AGX_INSET.mul":()=>l3.mul,"std.max":()=>b,"d.vec3f":()=>f,"std.log2":()=>gp,AGX_MIN_EV:()=>$m,AGX_MAX_EV:()=>m3,"std.clamp":()=>$,agxContrastApprox:()=>p3,"AGX_OUTSET.mul":()=>u3.mul,"std.pow":()=>Ce,"LINEAR_REC2020_TO_LINEAR_SRGB.mul":()=>_3.mul}})&&e.f)({})),Z_=.76,f3=.15,a7=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=oe(t.x,oe(t.y,t.z)),r=C(.04,__tsover_sub(s,__tsover_mul(__tsover_mul(6.25,s),s)),s<.08),o=t.sub(r),n=b(o.x,b(o.y,o.z));if(noe,"std.select":()=>C,"std.max":()=>b,NEUTRAL_START_COMPRESSION:()=>Z_,NEUTRAL_DESATURATION:()=>f3,"std.mix":()=>X,"d.vec3f":()=>f}})&&e.f)({})),v3={linear:OR,reinhard:VR,cineon:NR,aces:qR,agx:XR,neutral:a7,hable:v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.mul(16),r=s.mul(s.mul(.15).add(.05)).add(.004),o=s.mul(s.mul(.15).add(.5)).add(.06);return r.div(o).sub(__tsover_div(.02,.3))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"x",[6,[7,"color","mul"],[[5,"16"]]]],[13,"num",[6,[7,[6,[7,"x","mul"],[[6,[7,[6,[7,"x","mul"],[[5,"0.15"]]],"add"],[[5,"0.05"]]]]],"add"],[[5,"0.004"]]]],[13,"den",[6,[7,[6,[7,"x","mul"],[[6,[7,[6,[7,"x","mul"],[[5,"0.15"]]],"add"],[[5,"0.5"]]]]],"add"],[[5,"0.06"]]]],[10,[6,[7,[6,[7,"num","div"],["den"]],"sub"],[[1,[5,"0.02"],"/",[5,"0.3"]]]]]]]},externals:{}})&&e.f)({})),unreal:v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return t.div(t.add(.155)).mul(1.019)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,[7,[6,[7,"color","div"],[[6,[7,"color","add"],[[5,"0.155"]]]]],"mul"],[[5,"1.019"]]]]]]},externals:{}})&&e.f)({}))},HR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return C(Ce(t,f(.41666)).mul(1.055).sub(.055),t.mul(12.92),wc(t,f(.0031308)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"a",[6,[7,[6,[7,[6,"std.pow",["color",[6,"d.vec3f",[[5,"0.41666"]]]]],"mul"],[[5,"1.055"]]],"sub"],[[5,"0.055"]]]],[13,"b",[6,[7,"color","mul"],[[5,"12.92"]]]],[13,"factor",[6,"std.le",["color",[6,"d.vec3f",[[5,"0.0031308"]]]]]],[10,[6,"std.select",["a","b","factor"]]]]]},externals:{"std.pow":()=>Ce,"d.vec3f":()=>f,"std.le":()=>wc,"std.select":()=>C}})&&e.f)({})),y3=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return C(Ce(t.add(f(.055)).div(f(1.055)),f(2.4)),t.div(f(12.92)),wc(t,f(.04045)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"hi",[6,"std.pow",[[6,[7,[6,[7,"color","add"],[[6,"d.vec3f",[[5,"0.055"]]]]],"div"],[[6,"d.vec3f",[[5,"1.055"]]]]],[6,"d.vec3f",[[5,"2.4"]]]]]],[13,"lo",[6,[7,"color","div"],[[6,"d.vec3f",[[5,"12.92"]]]]]],[13,"isLow",[6,"std.le",["color",[6,"d.vec3f",[[5,"0.04045"]]]]]],[10,[6,"std.select",["hi","lo","isLow"]]]]]},externals:{"std.pow":()=>Ce,"d.vec3f":()=>f,"std.le":()=>wc,"std.select":()=>C}})&&e.f)({})),Tn=e=>e?e.offsetX!==0||e.offsetY!==0||e.rotation!==0||e.scale!==1||e.anchorX!==.5||e.anchorY!==.5:!1,jR=v.fn([l,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_div(__tsover_mul(o,Math.PI),180),u=H(_),m=Y(_),p=__tsover_div(__tsover_sub(t.x,i),n),y=__tsover_div(__tsover_sub(t.y,d),n),h=__tsover_mul(p,c),g=y,w=__tsover_sub(__tsover_mul(h,u),__tsover_mul(g,m)),S=__tsover_add(__tsover_mul(h,m),__tsover_mul(g,u));return l(__tsover_add(__tsover_sub(__tsover_div(w,c),s),i),__tsover_add(__tsover_sub(S,r),d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"offsetX"},{type:"i",name:"offsetY"},{type:"i",name:"rotation"},{type:"i",name:"scale"},{type:"i",name:"anchorX"},{type:"i",name:"anchorY"},{type:"i",name:"aspectRatio"}],body:[0,[[13,"rotationRad",[1,[1,"rotation","*","Math.PI"],"/",[5,"180"]]],[13,"cosAngle",[6,"std.cos",["rotationRad"]]],[13,"sinAngle",[6,"std.sin",["rotationRad"]]],[13,"centeredX",[1,[1,[7,"uv","x"],"-","anchorX"],"/","scale"]],[13,"centeredY",[1,[1,[7,"uv","y"],"-","anchorY"],"/","scale"]],[13,"squareX",[1,"centeredX","*","aspectRatio"]],[13,"squareY","centeredY"],[13,"rotatedSquareX",[1,[1,"squareX","*","cosAngle"],"-",[1,"squareY","*","sinAngle"]]],[13,"rotatedSquareY",[1,[1,"squareX","*","sinAngle"],"+",[1,"squareY","*","cosAngle"]]],[13,"finalX",[1,[1,[1,"rotatedSquareX","/","aspectRatio"],"-","offsetX"],"+","anchorX"]],[13,"finalY",[1,[1,"rotatedSquareY","-","offsetY"],"+","anchorY"]],[10,[6,"d.vec2f",["finalX","finalY"]]]]]},externals:{"Math.PI":()=>Math.PI,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({}));v.fn([l,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_add(__tsover_sub(t.x,i),s),u=__tsover_add(__tsover_sub(t.y,d),r),m=__tsover_mul(_,c),p=u,y=-__tsover_div(__tsover_mul(o,Math.PI),180),h=H(y),g=Y(y),w=__tsover_sub(__tsover_mul(m,h),__tsover_mul(p,g)),S=__tsover_add(__tsover_mul(m,g),__tsover_mul(p,h)),T=__tsover_mul(__tsover_div(w,c),n),A=__tsover_mul(S,n);return l(__tsover_add(T,i),__tsover_add(A,d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"offsetX"},{type:"i",name:"offsetY"},{type:"i",name:"rotation"},{type:"i",name:"scale"},{type:"i",name:"anchorX"},{type:"i",name:"anchorY"},{type:"i",name:"aspectRatio"}],body:[0,[[13,"centeredX",[1,[1,[7,"uv","x"],"-","anchorX"],"+","offsetX"]],[13,"centeredY",[1,[1,[7,"uv","y"],"-","anchorY"],"+","offsetY"]],[13,"squareX",[1,"centeredX","*","aspectRatio"]],[13,"squareY","centeredY"],[13,"rotationRad",[4,"-",[1,[1,"rotation","*","Math.PI"],"/",[5,"180"]]]],[13,"cosAngle",[6,"std.cos",["rotationRad"]]],[13,"sinAngle",[6,"std.sin",["rotationRad"]]],[13,"rotatedSquareX",[1,[1,"squareX","*","cosAngle"],"-",[1,"squareY","*","sinAngle"]]],[13,"rotatedSquareY",[1,[1,"squareX","*","sinAngle"],"+",[1,"squareY","*","cosAngle"]]],[13,"scaledX",[1,[1,"rotatedSquareX","/","aspectRatio"],"*","scale"]],[13,"scaledY",[1,"rotatedSquareY","*","scale"]],[10,[6,"d.vec2f",[[1,"scaledX","+","anchorX"],[1,"scaledY","+","anchorY"]]]]]]},externals:{"Math.PI":()=>Math.PI,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({}));var Ov=(e,t,s)=>{let r=T=>T.unit==="px"?T.value/t:T.value,o=T=>T.unit==="px"?T.value/s:T.value,n=r(e.x),i=o(e.y),d=r(e.width),c=o(e.height),_=(T,A,P)=>P==="end"?1-T-A:P==="center"?.5+T-A/2:T,u=e.origin??"top-left",m=u.includes("left")?"start":u.includes("right")?"end":"center",p=u.includes("top")?"start":u.includes("bottom")?"end":"center",y=_(n,d,m),h=_(i,c,p),g=y+d/2,w=h+c/2,S=e.cornerRadius?e.cornerRadius.unit==="px"?e.cornerRadius.value/s:e.cornerRadius.value:0;return{centerX:g,centerY:w,halfWidthUV:d/2,halfHeightUV:c/2,cornerRadiusUV:S,rotation:e.rotation}},KR=v.fn([l,a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=__tsover_sub(t.x,s),m=__tsover_sub(t.y,r),p=-__tsover_div(__tsover_mul(d,Math.PI),180),y=H(p),h=Y(p),g=__tsover_mul(u,c),w=m,S=__tsover_sub(__tsover_mul(g,y),__tsover_mul(w,h)),T=__tsover_add(__tsover_mul(g,h),__tsover_mul(w,y)),A=__tsover_mul(o,c),P=n,U=__tsover_sub(A,i),D=__tsover_sub(P,i),O=__tsover_sub(z(S),U),L=__tsover_sub(z(T),D),G=l(b(O,0),b(L,0)),W=__tsover_sub(__tsover_add(j(G),oe(b(O,L),0)),i),K=b(_,1e-7);return C(__tsover_sub(1,re(-K,K,W)),C(a(0),a(1),W<=0),_<=0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"centerX"},{type:"i",name:"centerY"},{type:"i",name:"halfWidth"},{type:"i",name:"halfHeight"},{type:"i",name:"cornerRadius"},{type:"i",name:"rotation"},{type:"i",name:"aspectRatio"},{type:"i",name:"aaFeather"}],body:[0,[[13,"centeredX",[1,[7,"uv","x"],"-","centerX"]],[13,"centeredY",[1,[7,"uv","y"],"-","centerY"]],[13,"rotRad",[4,"-",[1,[1,"rotation","*","Math.PI"],"/",[5,"180"]]]],[13,"cosA",[6,"std.cos",["rotRad"]]],[13,"sinA",[6,"std.sin",["rotRad"]]],[13,"sqX",[1,"centeredX","*","aspectRatio"]],[13,"sqY","centeredY"],[13,"rotatedX",[1,[1,"sqX","*","cosA"],"-",[1,"sqY","*","sinA"]]],[13,"rotatedY",[1,[1,"sqX","*","sinA"],"+",[1,"sqY","*","cosA"]]],[13,"halfWidthSq",[1,"halfWidth","*","aspectRatio"]],[13,"halfHeightSq","halfHeight"],[13,"innerHalfW",[1,"halfWidthSq","-","cornerRadius"]],[13,"innerHalfH",[1,"halfHeightSq","-","cornerRadius"]],[13,"qx",[1,[6,"std.abs",["rotatedX"]],"-","innerHalfW"]],[13,"qy",[1,[6,"std.abs",["rotatedY"]],"-","innerHalfH"]],[13,"qClamped",[6,"d.vec2f",[[6,"std.max",["qx",[5,"0"]]],[6,"std.max",["qy",[5,"0"]]]]]],[13,"sdf",[1,[1,[6,"std.length",["qClamped"]],"+",[6,"std.min",[[6,"std.max",["qx","qy"]],[5,"0"]]]],"-","cornerRadius"]],[13,"feather",[6,"std.max",["aaFeather",[5,"1e-7"]]]],[13,"ramp",[1,[5,"1"],"-",[6,"std.smoothstep",[[4,"-","feather"],"feather","sdf"]]]],[13,"binary",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"sdf","<=",[5,"0"]]]]],[10,[6,"std.select",["ramp","binary",[1,"aaFeather","<=",[5,"0"]]]]]]]},externals:{"Math.PI":()=>Math.PI,"std.cos":()=>H,"std.sin":()=>Y,"std.abs":()=>z,"d.vec2f":()=>l,"std.max":()=>b,"std.length":()=>j,"std.min":()=>oe,"std.smoothstep":()=>re,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})),h3=v.fn([l,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_sub(t.x,s),_=__tsover_sub(t.y,r),u=-__tsover_div(__tsover_mul(i,Math.PI),180),m=H(u),p=Y(u),y=__tsover_mul(c,d),h=_,g=__tsover_sub(__tsover_mul(y,m),__tsover_mul(h,p)),w=__tsover_add(__tsover_mul(y,p),__tsover_mul(h,m)),S=b(__tsover_mul(o,d),1e-6),T=b(n,1e-6);return l(__tsover_add(__tsover_div(g,__tsover_mul(S,2)),.5),__tsover_add(__tsover_div(w,__tsover_mul(T,2)),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"centerX"},{type:"i",name:"centerY"},{type:"i",name:"halfWidth"},{type:"i",name:"halfHeight"},{type:"i",name:"rotation"},{type:"i",name:"aspectRatio"}],body:[0,[[13,"centeredX",[1,[7,"uv","x"],"-","centerX"]],[13,"centeredY",[1,[7,"uv","y"],"-","centerY"]],[13,"rotRad",[4,"-",[1,[1,"rotation","*","Math.PI"],"/",[5,"180"]]]],[13,"cosA",[6,"std.cos",["rotRad"]]],[13,"sinA",[6,"std.sin",["rotRad"]]],[13,"sqX",[1,"centeredX","*","aspectRatio"]],[13,"sqY","centeredY"],[13,"rotatedX",[1,[1,"sqX","*","cosA"],"-",[1,"sqY","*","sinA"]]],[13,"rotatedY",[1,[1,"sqX","*","sinA"],"+",[1,"sqY","*","cosA"]]],[13,"halfWidthSq",[6,"std.max",[[1,"halfWidth","*","aspectRatio"],[5,"0.000001"]]]],[13,"halfHeightSq",[6,"std.max",["halfHeight",[5,"0.000001"]]]],[13,"localX",[1,[1,"rotatedX","/",[1,"halfWidthSq","*",[5,"2"]]],"+",[5,"0.5"]]],[13,"localY",[1,[1,"rotatedY","/",[1,"halfHeightSq","*",[5,"2"]]],"+",[5,"0.5"]]],[10,[6,"d.vec2f",["localX","localY"]]]]]},externals:{"Math.PI":()=>Math.PI,"std.cos":()=>H,"std.sin":()=>Y,"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),i7=(e,t,s)=>{let r=s.rotationDeg*Math.PI/180,o=Math.cos(r),n=Math.sin(r),i=(e-s.centerX)*s.aspectRatio,d=t-s.centerY,c=i*o+d*n,_=i*-n+d*o,u=Math.max(s.halfWidthUV*s.aspectRatio,1e-6),m=Math.max(s.halfHeightUV,1e-6);return{x:c/(2*u)+.5,y:_/(2*m)+.5}},sc={x:{value:0,unit:"uv"},y:{value:0,unit:"uv"},width:{value:1,unit:"uv"},height:{value:1,unit:"uv"},origin:"top-left",rotation:0};function Vv(e){if(!e||typeof e!="object")return;let t=(s,r)=>s&&typeof s=="object"?{value:s.value??r.value,unit:s.unit??r.unit}:{...r};return{x:t(e.x,sc.x),y:t(e.y,sc.y),width:t(e.width,sc.width),height:t(e.height,sc.height),origin:e.origin??"top-left",rotation:e.rotation??0,...e.cornerRadius?{cornerRadius:e.cornerRadius}:{},...e.lockAspect!==void 0?{lockAspect:e.lockAspect}:{}}}function r1(e){if(!e||typeof e!="object")return!1;let t=(s,r)=>!!s&&s.unit==="uv"&&s.value===r;return t(e.x,0)&&t(e.y,0)&&t(e.width,1)&&t(e.height,1)&&(e.rotation??0)===0&&(e.cornerRadius?.value??0)===0}var Kt=class fl{_emit;constructor(t){this._emit=t}member(t){return new fl(s=>`${ZR(this._emit(s))}.${t}`)}mul(t){return new fl(s=>`(${this._emit(s)} * ${x3(t,s)})`)}add(t){return new fl(s=>`(${this._emit(s)} + ${x3(t,s)})`)}};function ZR(e){return/^[\w.$]+$/.test(e)?e:`(${e})`}function x3(e,t){return typeof e=="number"?o1(e):e._emit(t)}function o1(e){return Number.isFinite(e)?Number.isInteger(e)?`${e}.0`:`${e}`:e>0?"3.4e38":e<0?"-3.4e38":"0.0"}var Nv=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({linearClamp:{sampler:"filtering"},nearestClamp:{sampler:"filtering"},linearRepeat:{sampler:"filtering"},nearestRepeat:{sampler:"filtering"}}).$idx(2),"SHARED_SAMPLER_LAYOUT"),rc={uniforms:0,textures:1,samplers:2,external:3};function vd(e){return new Kt(()=>e)}function vt(e){return new Kt(()=>o1(e))}function we(e,t,s){return new Kt(r=>`${r.external(e,t)}(${s.map(o=>o._emit(r)).join(", ")})`)}function Ws(...e){return new Kt(t=>`vec4f(${e.map(s=>d7(s,t)).join(", ")})`)}function oc(e,t,s){return new Kt(r=>`mix(${e._emit(r)}, ${t._emit(r)}, ${d7(s,r)})`)}var QR=0;function ur(e,t){let s=QR++;return new Kt(r=>r.memo(`local:${s}`,()=>{let o=r.freshLocal(t);return r.statement(`let ${o} = ${e._emit(r)};`),o}))}var xr=vd("vec4f(0.0, 0.0, 0.0, 0.0)"),Um=vd("vec4f(1.0, 1.0, 1.0, 0.0)");function d7(e,t){return typeof e=="number"?o1(e):e._emit(t)}function Hn(e,t,s,r){return we(o3[s]??o3.normal,`blend_${Ql(s)}`,[e,t,r])}function JR(e,t,s){return we(n3[s]??n3.alpha,`mask_${Ql(s)}`,[e,t])}function Ql(e){return e.replace(/[^a-zA-Z0-9_]/g,"_")}function g3(e,t,s,r){let o={},n=new Map,i=new Set,d=[],c=new Map,_=0,u={external(g,w){let S=n.get(g);if(S)return S;let T=Ql(w);if(i.has(T)){let A=1;for(;i.has(`${T}_${A}`);)A++;T=`${T}_${A}`}return i.add(T),n.set(g,T),o[T]=g,T},statement(g){d.push(g)},freshLocal(g){return`${Ql(g)}_${_++}`},memo(g,w){let S=c.get(g);if(S!==void 0)return S;let T=w();return c.set(g,T),T}},m=s?"vec2f(in.uv.x, 1.0 - in.uv.y)":"in.uv";d.push(`var uv = ${m};`);let p=e._emit(u),y=t(p,u),h=`${d.join(` +`)} +${p} +${y}`;return r&&/\b(?:tex|samp|ext)\.\$\./.test(h)&&!/\buni\.\$\./.test(h)&&(u.external(r,"uni"),d.unshift("_ = uni.$.uniforms._sys.time;")),{body:`{ + ${d.join(` + `)} + return ${y}; +}`,externals:o}}function c7(e,t={}){let s={sampler:Nv},r=[],o=[],n=[],i=[],d=new Set,c=[],_=[],u=[],m=[],p=0,y=0,h=0,g=0,w=new Set,S=e.store.layout;S&&S.$idx(rc.uniforms),s.uniform=S;let T=F=>new Kt(le=>(S&&le.external(S,"uni"),F)),A=F=>T(`uni.$.uniforms.${F}`),P=F=>T(e.store.gpuAccessor(F,"uni")),U={uv:new Kt(()=>"uv"),time:A("_sys.time"),viewportSize:A("_sys.viewportSize"),logicalViewportSize:A("_sys.logicalViewportSize"),aspect:A("_sys.aspect"),pointer:A("_sys.pointer")},D=F=>({key:F,sample:(le,ae="linearClamp")=>new Kt(ne=>`textureSample(tex.$.${F}, samp.$.${ae}, ${le._emit(ne)})`),sampleLevel:(le,ae="linearClamp")=>new Kt(ne=>`textureSampleLevel(tex.$.${F}, samp.$.${ae}, ${le._emit(ne)}, 0.0)`),accessor:()=>new Kt(()=>`tex.$.${F}`),dimensions:()=>new Kt(()=>`vec2f(textureDimensions(tex.$.${F}))`)}),O=F=>({key:F,sample:(le,ae="linearClamp")=>new Kt(ne=>`textureSampleBaseClampToEdge(ext.$.${F}, samp.$.${ae}, ${le._emit(ne)})`),sampleLevel:(le,ae="linearClamp")=>new Kt(ne=>`textureSampleBaseClampToEdge(ext.$.${F}, samp.$.${ae}, ${le._emit(ne)})`),accessor:()=>new Kt(()=>`ext.$.${F}`),dimensions:()=>new Kt(()=>`vec2f(textureDimensions(ext.$.${F}))`)}),L=F=>{let le=`rtt_${p++}`;return r.push({key:le,root:F}),o.push({key:le,kind:"rtt"}),D(le)},G=new Map,W=(F,le,ae)=>{let ne=`${F.id}:${le}`,ie=G.get(ne);if(ie!==void 0)return ie;let ge=ae?e.resolveCustomId(ae):null,Ye=ge?L(bs(ge,new Set([F.id]))):null;return G.set(ne,Ye),Ye},K=new Map,Q=F=>{let le=K.get(F.id);if(le)return le;let ae={},ne=F.metadata.maps;if(ne){let ie={},ge=F.definition.mapSampleUVs;if(ge){let Ye={};for(let[Je,rt]of Object.entries(F.handles))rt.cpu||(Ye[Je]=P(rt));ie=ge({uniforms:Ye,ctx:U})??{}}for(let[Ye,Je]of Object.entries(ne)){if(!(Ye in F.handles))continue;let rt=Ee(Je,F,Ye,ie[Ye]);rt&&(ae[Ye]=rt)}}return K.set(F.id,ae),ae},te=F=>{let le=Lo(F.id),ae=F.metadata.maps;if(!ae||Object.keys(ae).length===0)return A(le);let ne=Q(F);return Object.keys(ne).length===0?A(le):new Kt(ie=>ie.memo(`props:${F.id}`,()=>{S&&ie.external(S,"uni");let ge=ie.freshLocal(`p_${le}`);ie.statement(`var ${ge} = uni.$.uniforms.${le};`);for(let[Ye,Je]of Object.entries(ne))ie.statement(`${ge}.${Ye} = ${Je._emit(ie)};`);return ge}))},ee=F=>{let le={};for(let[ae,ne]of Object.entries(F.handles))le[ae]=ne.value;return le},he=F=>{let le={};Lo(F.id);let ae=te(F);for(let[ie,ge]of Object.entries(F.handles)){if(ge.cpu)continue;let Ye=F.metadata.maps;Ye&&ie in Ye?le[ie]=ae.member(ie):le[ie]=P(ge)}let ne=F.definition.extraFields;if(ne)for(let ie of Object.keys(ne))le[ie]=ae.member(ie);return le},Ee=(F,le,ae,ne)=>{let ie=F,ge=Lo(le.id);if(ie.type==="map"){let Ye=W(le,ae,ie.source);return Ye?sz(tz(Ye.sample(ne??U.uv),ie.channel??"luminance"),A(`${ge}._map_${ae}_inputMin`),A(`${ge}._map_${ae}_inputMax`),A(`${ge}._map_${ae}_outputMin`),A(`${ge}._map_${ae}_outputMax`),A(`${ge}._map_${ae}_curve`)):null}return ie.type==="mouse-position"||ie.type==="mouse"||ie.type==="auto-animate"?A(`${ge}._smoothed_${ae}`):null},Te=(F,le,ae,ne)=>{let ie=le.metadata.mask;if(!ie?.source)return F;let ge=e.resolveCustomId(ie.source);if(!ge)return F;if(ae.has(ge))return console.error("[gpu] circular dependency in shader masks."),F;let Ye=new Set(ae);Ye.add(le.id);let Je=bs(ge,Ye);return ne&&(Je=L(Je).sample(ne)),JR(F,Je,ie.type??"alpha")},Ue=F=>A(`${Lo(F.id)}._opacity`),Me=F=>!!F.metadata.boundingBox&&!!F.definition.boundingBoxDeclaration&&!r1(F.metadata.boundingBox),Pe=F=>F.handles.cutout?.value===1,Re=F=>!!F.definition.requiresChild,de=F=>!!F.definition.blendWithChildren,je=F=>Me(F)&&!F.definition.boundingBoxDeclaration?.boxResamplesContent&&Re(F)&&F.metadata.blendMode==="normal"&&!Pe(F)&&!de(F),fe=()=>new Kt(F=>`(0.5 / max(${U.viewportSize.member("y")._emit(F)}, 1.0))`),Ke=(F,le=U.uv)=>{let ae=Lo(F.id),ne=ie=>A(`${ae}._bbox_${ie}`);return we(KR,"bboxClipMask",[le,ne("centerX"),ne("centerY"),ne("halfWidth"),ne("halfHeight"),ne("cornerRadius"),ne("rotation"),ne("aspectRatio"),fe()])},Ze=(F,le)=>{if(!Me(le))return F;if(le.definition.boundingBoxDeclaration?.boxResamplesContent){let ne=Lo(le.id),ie=rt=>A(`${ne}._bbox_${rt}`),ge=L(F),Ye=we(h3,"bboxGenUVContext",[U.uv,ie("centerX"),ie("centerY"),ie("halfWidth"),ie("halfHeight"),ie("rotation"),ie("aspectRatio")]),Je=we(dn,"unpremultiplyAlpha",[ge.sample(Ye)]);return Ws(Je.member("rgb"),Je.member("a").mul(Ke(le)))}let ae=Ke(le);return Ws(F.member("rgb"),F.member("a").mul(ae))},at=(F,le)=>{let ae=le.metadata.transform;if(!ae||!Tn(ae))return F;let ne=Lo(le.id),ie=L(F),ge=Ye=>A(`${ne}._xform_${Ye}`);return Gi(we(jR,"applyUVTransform",[U.uv,ge("offsetX"),ge("offsetY"),ge("rotation"),ge("scale"),ge("anchorX"),ge("anchorY"),ge("aspectRatio")]),Ye=>ie.sample(Ye),rz[ae.edges]??0)},Fe=(F,le,ae)=>Me(ae)?le!==void 0&&je(ae)?oc(le,F,Ke(ae)):Ze(F,ae):at(F,ae),Ie=(F,le)=>je(le)?{transformedFragment:F,clipMaskNode:Ke(le)}:{transformedFragment:Me(le)?Ze(F,le):at(F,le),clipMaskNode:void 0},st=(F,le,ae,ne)=>{let ie=Ue(ae),ge=de(ae)?F!==void 0?Hn(F,le,"normal",ie):oc(xr,le,ie):oc(F??xr,le,ie);return ne===void 0?ge:oc(F??xr,ge,ne)},Xe=(F,le)=>{if(F.definition.compute)try{let ae=F.definition.compute(le);if(ae)return i.push({nodeId:F.id,getComputeNodes:ae.getComputeNodes,bindInputs:ae.bindInputs}),ae.outputs}catch(ae){Is(`[gpu] error initializing compute for node ${F.id}:`,ae)}},We=F=>{let le=Lo(F.id),ae=ne=>A(`${le}._bbox_${ne}`);return{centerX:ae("centerX"),centerY:ae("centerY"),halfWidth:ae("halfWidth"),halfHeight:ae("halfHeight"),rotation:ae("rotation")}},Ve=F=>{let le=F.definition.boundingBoxDeclaration;return!!le&&(!!le.computeBounds||!!le.propBindings)},Ft=F=>{if(!F.definition.wantsBoundsParams)return{};let le={};Me(F)&&(le.ownBoundsParams=We(F));let ae=[...e.getChildren(F.id)].sort((ne,ie)=>ne.metadata.renderOrder-ie.metadata.renderOrder);for(let ne of ae)if(ne.metadata.visible!==!1){if(Me(ne)){le.childBoundsParams=We(ne);break}if(Ve(ne)){let ie=Lo(F.id),ge=Ye=>A(`${ie}._childBounds_${Ye}`);le.childBoundsParams={centerX:ge("centerX"),centerY:ge("centerY"),halfWidth:ge("halfWidth"),halfHeight:ge("halfHeight"),rotation:vt(0)};break}}return le},Gt=!1,os=(F,le,ae={})=>({noteCustomWgsl:()=>{Gt=!0},props:te(F),uniforms:he(F),propValues:ee(F),childNode:le,ctx:U,logicalViewportSize:U.logicalViewportSize,convertToTexture:L,declareTexture:ne=>{o.some(ie=>ie.key===ne.key)||o.push({key:ne.key,kind:"media",resource:ne._resource})},registerExternalTexture:ne=>{let ie=`video_${h++}`;return n.push({key:ie,getSource:ne}),O(ie)},registerComputeTexture:ne=>{let ie=`compute_${y++}`;o.push({key:ie,kind:"compute",resource:{texture:ne}});let ge=ne?.props?.format;return(ge==="r32float"||ge==="rg32float"||ge==="rgba32float")&&w.add(ie),D(ie)},createMediaTexture:ne=>t.createMediaTexture?.(ne)??(()=>{throw new Error("[gpu] createMediaTexture unavailable (no TextureManager injected)")})(),createDataTexture:ne=>t.createDataTexture?.(ne)??(()=>{throw new Error("[gpu] createDataTexture unavailable (no TextureManager injected)")})(),registerMediaTexture:ne=>{let ie=`media_${g++}`;return o.push({key:ie,kind:"media",resource:{get texture(){return ne()}}}),D(ie)},getCpuValue:ne=>{if((F.metadata.maps?.[ne]||ne.startsWith("_animTime"))&&t.resolveDriverCpuValue){let ie=t.resolveDriverCpuValue(F.id,ne);if(ie!==void 0)return ie}return F.handles[ne]?.value},getMapInfo:ne=>{let ie=F.metadata.maps?.[ne];if(!ie||ie.type!=="map")return null;let ge=W(F,ne,ie.source);return ge?{sourceTexture:ge,channel:ie.channel??"luminance",window:()=>t.resolveMapWindow?.(F.id,ne)??{inputMin:typeof ie.inputMin=="number"?ie.inputMin:0,inputMax:typeof ie.inputMax=="number"?ie.inputMax:1,outputMin:typeof ie.outputMin=="number"?ie.outputMin:0,outputMax:typeof ie.outputMax=="number"?ie.outputMax:1,curve:typeof ie.curve=="number"?ie.curve:0}}:null},getLayerTexture:ne=>{let ie=F.handles[ne]?.value;return typeof ie!="string"||ie===""?null:W(F,ne,ie)},setExtraField:(ne,ie)=>t.writeExtraField?.(F.id,ne,ie),onCleanup:ne=>m.push(ne),onBeforeRender:ne=>c.push(ne),onAfterRender:ne=>_.push(ne),onResize:ne=>u.push(ne),canvas:t.canvas,dimensions:t.dimensions??{width:1,height:1},gpu:t.gpu,domCanvas:F.domCanvas,...Ft(F),...ae});function bs(F,le=new Set){let ae=e.getNode(F);if(!ae)return xr;let ne=e.getChildren(F);if(ne.length>0&&ae.definition.providesUVContextViaCompute){let rt=Qr(ae,ne,le);if(rt!==null)return rt}if(ne.length>0&&ae.definition.uvRemap){let rt=zr(ae,ne);if(rt!==null)return rt;let He=Vo(ae,ne,le);if(He!==null)return He}if(ne.length===0){d.add(F);let rt=os(ae,void 0,{bboxMask:vs(ae),...As(ae)});rt.computeOutputs=Xe(ae,rt);let He=ae.definition.fragment(rt);return Te(Me(ae)?Ze(He,ae):at(He,ae),ae,le)}let ie=[...ne].sort((rt,He)=>rt.metadata.renderOrder-He.metadata.renderOrder),ge=Ps(ie,le);if(ge!==null){let rt=os(ae,ge,{bboxMask:vs(ae)});rt.computeOutputs=Xe(ae,rt);let He=ae.definition.fragment(rt);return Te(Me(ae)?Ze(He,ae):at(He,ae),ae,le)}let Ye=ls(ae,ie,le);d.add(F);let Je=os(ae,Ye,{bboxMask:vs(ae)});return Je.computeOutputs=Xe(ae,Je),Te(Fe(ae.definition.fragment(Je),Ye,ae),ae,le)}function ls(F,le,ae){let ne;for(let ie=0;ie0,Je,rt;if(Ye)Je=bs(ge.id,ae);else{let He=ne;ge.definition.requiresRTT&&ne!==void 0&&(He=Hn(xr,ne,"normal",vt(1))),ge.definition.acceptsOptionalChild&&(He=void 0);let Bt=os(ge,He,{bboxMask:vs(ge),...As(ge)});Bt.computeOutputs=Xe(ge,Bt);let Yt=Ie(ge.definition.fragment(Bt),ge);rt=Yt.clipMaskNode,Je=Te(Yt.transformedFragment,ge,ae)}if(ge.definition.requiresChild&&ge.metadata.blendMode==="normal"&&!Ye)ne=st(ne,Je,ge,rt);else{let He=ge.metadata.blendMode??"normal",Bt=ge.metadata.opacity??1;ne===void 0?ne=F.definition.requiresRTT||Bt!==1?Hn(Um,Je,He,Ue(ge)):Je:ne=Hn(ne,Je,He,Ue(ge))}}return ne}function As(F,le=U.uv){if(!Me(F))return{};if(!F.definition.boundingBoxDeclaration?.supportsResizeFit)return{};let ae=Lo(F.id),ne=ie=>A(`${ae}._bbox_${ie}`);return{uvContext:we(h3,"bboxGenUVContext",[le,ne("centerX"),ne("centerY"),ne("halfWidth"),ne("halfHeight"),ne("rotation"),ne("aspectRatio")]),effectiveViewportSize:Ws(ne("halfWidth").mul(2).mul(U.viewportSize.member("x")),ne("halfHeight").mul(2).mul(U.viewportSize.member("y")),0,0).member("xy")}}function vs(F){if(!(!Me(F)||!F.definition.requiresRTT)&&!F.definition.boundingBoxDeclaration?.supportsResizeFit)return Ke(F)}let ys=F=>!!F.metadata.mask||F.metadata.opacity!==void 0&&F.metadata.opacity<1||(F.metadata.blendMode??"normal")!=="normal"||Tn(F.metadata.transform)||Me(F),Ks=F=>!!F.definition.uvRemap&&e.getChildren(F.id).length===0&&!ys(F);function yr(F,le,ae){d.add(F.id);let ne=Xe(F,os(F,void 0));return F.definition.uvRemap({uv:le,mask:ae,uniforms:he(F),propValues:ee(F),props:te(F),aspect:U.aspect,onBeforeRender:ie=>c.push(ie),computeOutputs:ne})}function Ur(F){let le=U.uv,ae=vt(1);for(let ne=F.length-1;ne>=0;ne--){let ie=yr(F[ne],le,ae);le=ie.uv,ae=ie.mask}return{uv:le,mask:ae}}let Ms=24,Cr=vt(1),hr=(F,le)=>{if(le.left--<=0||F.metadata.mask||Tn(F.metadata.transform))return!1;let ae=e.getChildren(F.id).filter(ne=>ne.metadata.visible!==!1);return ae.length===0?Me(F)&&F.definition.boundingBoxDeclaration?.boxResamplesContent?!1:!!F.definition.acceptsUVContext&&!F.definition.requiresChild:!F.definition.uvRemap||Me(F)?!1:ae.every(ne=>hr(ne,le))};function mo(F,le,ae){let ne=ae??Cr,ie=yr(F,le,ne);return{uv:ie.uv,mask:ie.mask===ne?ae:ie.mask}}let po=(F,le)=>F===void 0?le:le===void 0?F:F.mul(le);function Rr(F,le,ae){let ne=e.getChildren(F.id).filter(He=>He.metadata.visible!==!1);if(ne.length>0){if(!F.definition.uvRemap)return null;let He=mo(F,le,ae);return nr(ne,ur(He.uv,"foldUV"),He.mask)}if(!F.definition.acceptsUVContext)return null;d.add(F.id);let ie=As(F,le),ge=os(F,void 0,Object.keys(ie).length>0?ie:{uvContext:le});ge.computeOutputs=Xe(F,ge);let Ye=F.definition.fragment(ge),Je=po(ae,Me(F)?Ke(F,le):void 0);if(Je===void 0)return Ye;let rt=ur(Ye,"gen");return Ws(rt.member("rgb"),rt.member("a").mul(Je))}function nr(F,le,ae){let ne=[...F].sort((Ye,Je)=>Ye.metadata.renderOrder-Je.metadata.renderOrder),ie;for(let Ye of ne){let Je=Rr(Ye,le,void 0);if(Je===null)return null;let rt=Ye.metadata.blendMode??"normal",He=Ye.metadata.opacity??1;ie===void 0?ie=rt==="normal"&&He===1?Je:Hn(Um,Je,rt,Ue(Ye)):ie=Hn(ie,Je,rt,Ue(Ye))}if(ie===void 0)return null;if(ae===void 0)return ie;let ge=ur(ie,"sibs");return Ws(ge.member("rgb"),ge.member("a").mul(ae))}function zr(F,le){if(!F.definition.uvRemap||ys(F))return null;let ae=le.filter(Ye=>Ye.metadata.visible!==!1);if(ae.length===0)return null;let ne={left:Ms};if(!ae.every(Ye=>hr(Ye,ne)))return null;d.add(F.id);let{uv:ie,mask:ge}=mo(F,U.uv,void 0);return nr(ae,ur(ie,"foldUV"),ge)}function Ps(F,le){let ae=F.filter(Yt=>Yt.metadata.visible!==!1);if(!ae.some(Yt=>!!Yt.definition.uvRemap)||ae.length<2)return null;let ne=ae.length;for(let Yt=ae.length-1;Yt>=0&&Ks(ae[Yt]);Yt--)ne=Yt;let ie=ae.slice(ne),ge=ae.slice(0,ne);if(ie.length===0||ge.length!==1)return null;let Ye=ge[0];if(!Ye.definition.acceptsUVContext||e.getChildren(Ye.id).length>0||ys(Ye))return null;d.add(Ye.id);for(let Yt of ie)d.add(Yt.id);let{uv:Je,mask:rt}=Ur(ie),He=os(Ye,void 0,{uvContext:Je});He.computeOutputs=Xe(Ye,He);let Bt=Ye.definition.fragment(He);return Ws(Bt.member("rgb"),Bt.member("a").mul(rt))}function Gr(F,le,ae,ne){if(!Ks(F[le]))return null;let ie=[],ge=le;for(let He=le;HeNo.metadata.visible!==!1);if(fo.length!==1)return null;let br=fo[0],Nt=e.getChildren(br.id);if(br.definition.acceptsUVContext&&Nt.length===0&&!ys(br)){Je=br;break}if(br.definition.uvRemap&&!ys(br)&&Nt.length===1){ge=br,Ye=Nt;continue}rt=br;break}if(!Je&&!rt)return null;for(let Ls of ie)d.add(Ls.id);let{uv:He,mask:Bt}=Ur([...ie].reverse()),Yt;if(Je){d.add(Je.id);let Ls=os(Je,void 0,{uvContext:He});Ls.computeOutputs=Xe(Je,Ls);let fo=Je.definition.fragment(Ls);Yt=Ws(fo.member("rgb"),fo.member("a").mul(Bt))}else{let Ls=L(Hn(Um,bs(rt.id,ae),rt.metadata.blendMode??"normal",Ue(rt))).sample(He);Yt=Ws(Ls.member("rgb"),Ls.member("a").mul(Bt))}return Te(Me(F)?Ze(Yt,F):at(Yt,F),F,ae)}function Qr(F,le,ae){let ne=Nt=>!!Nt.metadata.mask||Nt.metadata.opacity!==void 0&&Nt.metadata.opacity<1||(Nt.metadata.blendMode??"normal")!=="normal"||Tn(Nt.metadata.transform)||Me(Nt);if(!F.definition.providesUVContextViaCompute||ne(F))return null;let ie=[],ge=F,Ye=null,Je=le,rt=8;for(let Nt=0;Ntwa.metadata.visible!==!1);if(No.length!==1)return null;let Yr=No[0];if(ne(Yr))return null;let Ro=e.getChildren(Yr.id).length>0;if(Yr.definition.acceptsUVContext&&!Ro){Ye=Yr;break}if(Yr.definition.providesUVContextViaCompute){ge=Yr,Je=e.getChildren(Yr.id);continue}return null}if(!Ye)return null;d.add(Ye.id);for(let Nt of ie)d.add(Nt.id);let He=[],Bt;for(let Nt=0;Nt=0;Nt--)He[Nt].childNode=br,He[Nt].uvPropagationActive=!0,br=ie[Nt].definition.fragment(He[Nt]);return Te(Me(F)?Ze(br,F):at(br,F),F,ae)}let ci=e.rootId?bs(e.rootId):xr,ba=r.map(F=>{let{body:le,externals:ae}=g3(F.root,ne=>ne,t.flipY??!0,s.uniform);return{textureKey:F.key,fragment:b3(le,ae,`rtt_${F.key}`,s.sampler,w)}}),_i=t.toneMapping??"linear",li=g3(ci,(F,le)=>ez(F,le,_i,t.premultiplyAlpha??!1),t.flipY??!0,s.uniform);return{computeSteps:i,rttPasses:ba,finalPass:b3(li.body,li.externals,"final",s.sampler,w),textures:o,externalTextures:n,layouts:{uniforms:s.uniform,samplers:s.sampler},onBeforeRender:c,onAfterRender:_,onResize:u,onCleanup:m,composedNodeIds:d,usesCustomWgsl:Gt}}function ez(e,t,s,r){let o=t.external(v3[s]??v3.linear,`tone_${s}`),n=t.external(HR,"linearToSrgb"),i=t.freshLocal("composed");t.statement(`var ${i} = ${e};`);let d=`${n}(${o}(${i}.rgb))`;return r?`vec4f(${d} * ${i}.a, ${i}.a)`:`vec4f(${d}, ${i}.a)`}function b3(e,t,s,r,o=new Set){let n=w3(e,/\btex\.\$\.(\w+)/g),i=w3(e,/\bext\.\$\.(\w+)/g),d=/\bsamp\.\$\./.test(e),c;if(n.length>0){let u={};for(let m of n)u[m]=o.has(m)?{texture:ps(a),sampleType:"unfilterable-float"}:{texture:ps(a)};c=(globalThis.__TYPEGPU_AUTONAME__??(m=>m))(v.bindGroupLayout(u).$idx(rc.textures),"textureLayout"),t.tex=c}let _;if(i.length>0){let u={};for(let y of i)u[y]={externalTexture:s5()};let m=new Set([rc.uniforms]);n.length>0&&m.add(rc.textures),d&&m.add(rc.samplers);let p=0;for(;m.has(p);)p++;_=(globalThis.__TYPEGPU_AUTONAME__??(y=>y))(v.bindGroupLayout(u).$idx(p),"externalLayout"),t.ext=_}return d&&(t.samp=r),{body:e,externals:t,entry:v.fragmentFn({in:{uv:l},out:x})(e).$uses(t).$name(s),reads:n,externalReads:i,usesSamplers:d,textureLayout:c,externalLayout:_}}function w3(e,t){let s=new Set;for(let r of e.matchAll(t))s.add(r[1]);return[...s]}function tz(e,t){switch(t){case"alpha":return e.member("a");case"alphaInverted":return new Kt(s=>`(1.0 - ${e._emit(s)}.a)`);case"luminanceInverted":return new Kt(s=>`(1.0 - dot(${e._emit(s)}.rgb, vec3f(0.2126, 0.7152, 0.0722)))`);default:return new Kt(s=>`dot(${e._emit(s)}.rgb, vec3f(0.2126, 0.7152, 0.0722))`)}}function sz(e,t,s,r,o,n){return new Kt(i=>{let d=e._emit(i),c=t._emit(i),_=s._emit(i),u=r._emit(i),m=o._emit(i),p=n._emit(i);return`mix(${u}, ${m}, ${`pow(${`clamp((${d} - ${c}) / max(${_} - ${c}, 0.0001), 0.0, 1.0)`}, pow(2.0, -${p} * 2.0))`})`})}var rz={stretch:0,transparent:1,mirror:2,wrap:3};function _7(e,t={}){let s=[];s.push(`tone:${t.toneMapping??"linear"}`),s.push(`flipY:${t.flipY??!0}`),s.push(`premul:${t.premultiplyAlpha??!1}`);let r=o=>{let n=e.getNode(o);if(!n)return;let i=n.metadata,d=n.definition,c=Tn(i.transform),_=!!i.boundingBox&&!!d.boundingBoxDeclaration&&!r1(i.boundingBox),u=(i.opacity??1)===0?"zero":"nonzero",m=i.mask?`${i.mask.source}:${i.mask.type}`:"none",p=[];for(let[y,h]of Object.entries(d.props??{}))if(h.compileTime){let g=n.handles[y];p.push(`${y}=${g?String(g.value):"?"}`)}s.push([`id:${n.id}`,`parent:${n.parentId??""}`,`name:${n.componentName}`,`rev:${d.revision??""}`,`blend:${i.blendMode??"normal"}`,`mask:${m}`,`order:${i.renderOrder??0}`,`visible:${i.visible!==!1}`,`opacity:${u}`,`xform:${c}${c?`:${i.transform?.edges??"transparent"}`:""}`,`bbox:${_}:${_?d.boundingBoxDeclaration?.boxResamplesContent?"resample":d.boundingBoxDeclaration?.supportsResizeFit?"resize":"clip":""}`,`rtt:${!!d.requiresRTT}`,`maps:${i.maps?Object.keys(i.maps).sort().join(","):""}`,`ct:${p.sort().join("|")}`].join("|"));for(let y of e.getChildren(o).sort((h,g)=>h.metadata.renderOrder-g.metadata.renderOrder))r(y.id)};return e.rootId&&r(e.rootId),s}var oz=v.fn([a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(t,s),o=__tsover_add(q(__tsover_sub(r,.5)),.5),n=__tsover_sub(r,o),i=__tsover_add(1,__tsover_mul(__tsover_mul(n,n),__tsover_add(-2.5,__tsover_mul(1.5,n)))),d=__tsover_mul(n,__tsover_add(.5,__tsover_mul(n,__tsover_sub(2,__tsover_mul(1.5,n))))),c=b(__tsover_add(i,d),1e-6),_=__tsover_div(d,c);return f(__tsover_div(__tsover_sub(o,1),s),__tsover_div(__tsover_add(o,_),s),__tsover_div(__tsover_add(o,2),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"texSize"}],body:[0,[[13,"samplePos",[1,"uv","*","texSize"]],[13,"texPos1",[1,[6,"std.floor",[[1,"samplePos","-",[5,"0.5"]]]],"+",[5,"0.5"]]],[13,"f",[1,"samplePos","-","texPos1"]],[13,"w1",[1,[5,"1"],"+",[1,[1,"f","*","f"],"*",[1,[4,"-",[5,"2.5"]],"+",[1,[5,"1.5"],"*","f"]]]]],[13,"w2",[1,"f","*",[1,[5,"0.5"],"+",[1,"f","*",[1,[5,"2"],"-",[1,[5,"1.5"],"*","f"]]]]]],[13,"w12",[6,"std.max",[[1,"w1","+","w2"],[5,"0.000001"]]]],[13,"offset12",[1,"w2","/","w12"]],[10,[6,"d.vec3f",[[1,[1,"texPos1","-",[5,"1"]],"/","texSize"],[1,[1,"texPos1","+","offset12"],"/","texSize"],[1,[1,"texPos1","+",[5,"2"]],"/","texSize"]]]]]]},externals:{"std.floor":()=>q,"std.max":()=>b,"d.vec3f":()=>f}})&&e.f)({})),nz=v.fn([a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(t,s),o=__tsover_add(q(__tsover_sub(r,.5)),.5),n=__tsover_sub(r,o),i=__tsover_mul(n,__tsover_add(-.5,__tsover_mul(n,__tsover_sub(1,__tsover_mul(.5,n))))),d=__tsover_add(1,__tsover_mul(__tsover_mul(n,n),__tsover_add(-2.5,__tsover_mul(1.5,n)))),c=__tsover_mul(n,__tsover_add(.5,__tsover_mul(n,__tsover_sub(2,__tsover_mul(1.5,n))))),_=__tsover_mul(__tsover_mul(n,n),__tsover_add(-.5,__tsover_mul(.5,n)));return f(i,__tsover_add(d,c),_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"texSize"}],body:[0,[[13,"samplePos",[1,"uv","*","texSize"]],[13,"texPos1",[1,[6,"std.floor",[[1,"samplePos","-",[5,"0.5"]]]],"+",[5,"0.5"]]],[13,"f",[1,"samplePos","-","texPos1"]],[13,"w0",[1,"f","*",[1,[4,"-",[5,"0.5"]],"+",[1,"f","*",[1,[5,"1"],"-",[1,[5,"0.5"],"*","f"]]]]]],[13,"w1",[1,[5,"1"],"+",[1,[1,"f","*","f"],"*",[1,[4,"-",[5,"2.5"]],"+",[1,[5,"1.5"],"*","f"]]]]],[13,"w2",[1,"f","*",[1,[5,"0.5"],"+",[1,"f","*",[1,[5,"2"],"-",[1,[5,"1.5"],"*","f"]]]]]],[13,"w3",[1,[1,"f","*","f"],"*",[1,[4,"-",[5,"0.5"]],"+",[1,[5,"0.5"],"*","f"]]]],[10,[6,"d.vec3f",["w0",[1,"w1","+","w2"],"w3"]]]]]},externals:{"std.floor":()=>q,"d.vec3f":()=>f}})&&e.f)({}));var az=0,iz=(e,t,s="linearClamp",r="positive")=>{let o=az++;return new Kt(n=>n.memo(`catmullRom:${o}`,()=>{let i=n.freshLocal("crUV"),d=n.freshLocal("crSize"),c=n.freshLocal("crPosX"),_=n.freshLocal("crPosY"),u=n.freshLocal("crWx"),m=n.freshLocal("crWy"),p=n.freshLocal("crOut");n.statement(`let ${i} = ${t._emit(n)};`),n.statement(`let ${d} = ${e.dimensions()._emit(n)};`);let y=n.external(oz,"catmullRomAxisPositions"),h=n.external(nz,"catmullRomAxisWeights");n.statement(`let ${c} = ${y}(${i}.x, ${d}.x);`),n.statement(`let ${_} = ${y}(${i}.y, ${d}.y);`),n.statement(`let ${u} = ${h}(${i}.x, ${d}.x);`),n.statement(`let ${m} = ${h}(${i}.y, ${d}.y);`),n.statement(`var ${p} = vec4f(0.0, 0.0, 0.0, 0.0);`);let g=["x","y","z"];for(let w of[0,1,2])for(let S of[0,1,2]){let T=new Kt(()=>`vec2f(${c}.${g[S]}, ${_}.${g[w]})`),A=`(${u}.${g[S]} * ${m}.${g[w]})`;n.statement(`${p} += ${e.sample(T,s)._emit(n)} * ${A};`)}return n.statement(r==="unit"?`${p} = clamp(${p}, vec4f(0.0, 0.0, 0.0, 0.0), vec4f(1.0, 1.0, 1.0, 1.0));`:`${p} = max(${p}, vec4f(0.0, 0.0, 0.0, 0.0));`),p}))},dz=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return $(t,l(0,0),l(1,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[10,[6,"std.clamp",["uv",[6,"d.vec2f",[[5,"0"],[5,"0"]]],[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l}})&&e.f)({})),l7=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=bo(z(t.x),2),r=bo(z(t.y),2);return l(C(s,__tsover_sub(2,s),s>=1),C(r,__tsover_sub(2,r),r>=1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"mirrorX",[6,"std.mod",[[6,"std.abs",[[7,"uv","x"]]],[5,"2"]]]],[13,"mirrorY",[6,"std.mod",[[6,"std.abs",[[7,"uv","y"]]],[5,"2"]]]],[10,[6,"d.vec2f",[[6,"std.select",["mirrorX",[1,[5,"2"],"-","mirrorX"],[1,"mirrorX",">=",[5,"1"]]]],[6,"std.select",["mirrorY",[1,[5,"2"],"-","mirrorY"],[1,"mirrorY",">=",[5,"1"]]]]]]]]]},externals:{"std.mod":()=>bo,"std.abs":()=>z,"d.vec2f":()=>l,"std.select":()=>C}})&&e.f)({})),u7=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[10,[6,"std.fract",["uv"]]]]]},externals:{"std.fract":()=>ue}})&&e.f)({})),m7=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_mul(De(0,t.x),De(t.x,1)),r=__tsover_mul(De(0,t.y),De(t.y,1));return __tsover_mul(s,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"inX",[1,[6,"std.step",[[5,"0"],[7,"uv","x"]]],"*",[6,"std.step",[[7,"uv","x"],[5,"1"]]]]],[13,"inY",[1,[6,"std.step",[[5,"0"],[7,"uv","y"]]],"*",[6,"std.step",[[7,"uv","y"],[5,"1"]]]]],[10,[1,"inX","*","inY"]]]]},externals:{"std.step":()=>De}})&&e.f)({})),qv=1,Xv=2,Hv=3;v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.x,t.y,t.z,__tsover_mul(t.w,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"m"}],body:[0,[[10,[6,"d.vec4f",[[7,"color","x"],[7,"color","y"],[7,"color","z"],[1,[7,"color","w"],"*","m"]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({}));var cz=(e,t)=>{switch(t){case qv:return e;case Xv:return we(l7,"edgeMirrorUV",[e]);case Hv:return we(u7,"edgeWrapUV",[e]);default:return we(dz,"edgeClampUV",[e])}},_z=(e,t,s)=>{if(s===qv){let r=we(m7,"edgeTransparentMask",[e]);return{uv:e,mask:t.mul(r)}}return{uv:cz(e,s),mask:t}},Gi=(e,t,s)=>{if(s===qv){let r=t(e),o=we(m7,"edgeTransparentMask",[e]);return Ws(r.member("rgb"),r.member("a").mul(o))}return t(s===Xv?we(l7,"edgeMirrorUV",[e]):s===Hv?we(u7,"edgeWrapUV",[e]):e)},lz=(e,t,s)=>Gi(t,s===Xv?r=>e.sample(r):r=>iz(e,r,s===Hv?"linearRepeat":"linearClamp"),s),Cm=ut({rUV:l,gUV:l,bUV:l}).$name("ChromaticSplitUVs"),uz=v.fn([l,l,a,a],Cm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=s.mul(__tsover_mul(r,.1)),i=.15,d=$(n,l(-i,-i),l(i,i)),c=__tsover_mul(o,.1);return Cm({rUV:t.sub(d.mul(__tsover_add(1,c))),gUV:t.sub(d),bUV:t.sub(d.mul(__tsover_sub(1,c)))})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"disp"},{type:"i",name:"strength"},{type:"i",name:"chromaticSplit"}],body:[0,[[13,"scaled",[6,[7,"disp","mul"],[[1,"strength","*",[5,"0.1"]]]]],[13,"maxDisp",[5,"0.15"]],[13,"clamped",[6,"std.clamp",["scaled",[6,"d.vec2f",[[4,"-","maxDisp"],[4,"-","maxDisp"]]],[6,"d.vec2f",["maxDisp","maxDisp"]]]]],[13,"chromaticScale",[1,"chromaticSplit","*",[5,"0.1"]]],[13,"rUV",[6,[7,"uv","sub"],[[6,[7,"clamped","mul"],[[1,[5,"1"],"+","chromaticScale"]]]]]],[13,"gUV",[6,[7,"uv","sub"],["clamped"]]],[13,"bUV",[6,[7,"uv","sub"],[[6,[7,"clamped","mul"],[[1,[5,"1"],"-","chromaticScale"]]]]]],[10,[6,"ChromaticSplitUVs",[[104,{rUV:"rUV",gUV:"gUV",bUV:"bUV"}]]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l,ChromaticSplitUVs:()=>Cm}})&&e.f)({})),T3=it,G8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(s,Le),o=H(r),n=Y(r),i=__tsover_div(1,3),d=__tsover_sub(1,o),c=__tsover_mul(d,i),_=__tsover_div(n,_a),u=__tsover_add(o,c),m=__tsover_sub(c,_),p=__tsover_add(c,_),y=__tsover_add(c,_),h=__tsover_add(o,c),g=__tsover_sub(c,_),w=__tsover_sub(c,_),S=__tsover_add(c,_),T=__tsover_add(o,c),A=t.x,P=t.y,U=t.z;return x(__tsover_add(__tsover_add(__tsover_mul(A,u),__tsover_mul(P,m)),__tsover_mul(U,p)),__tsover_add(__tsover_add(__tsover_mul(A,y),__tsover_mul(P,h)),__tsover_mul(U,g)),__tsover_add(__tsover_add(__tsover_mul(A,w),__tsover_mul(P,S)),__tsover_mul(U,T)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"shiftDeg"}],body:[0,[[13,"angle",[1,"shiftDeg","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angle"]]],[13,"sinA",[6,"std.sin",["angle"]]],[13,"k",[1,[5,"1"],"/",[5,"3"]]],[13,"oneMinusCos",[1,[5,"1"],"-","cosA"]],[13,"kOneMinusCos",[1,"oneMinusCos","*","k"]],[13,"sinOverSqrt3",[1,"sinA","/","SQRT3"]],[13,"m00",[1,"cosA","+","kOneMinusCos"]],[13,"m01",[1,"kOneMinusCos","-","sinOverSqrt3"]],[13,"m02",[1,"kOneMinusCos","+","sinOverSqrt3"]],[13,"m10",[1,"kOneMinusCos","+","sinOverSqrt3"]],[13,"m11",[1,"cosA","+","kOneMinusCos"]],[13,"m12",[1,"kOneMinusCos","-","sinOverSqrt3"]],[13,"m20",[1,"kOneMinusCos","-","sinOverSqrt3"]],[13,"m21",[1,"kOneMinusCos","+","sinOverSqrt3"]],[13,"m22",[1,"cosA","+","kOneMinusCos"]],[13,"r",[7,"color","x"]],[13,"g",[7,"color","y"]],[13,"b",[7,"color","z"]],[13,"newR",[1,[1,[1,"r","*","m00"],"+",[1,"g","*","m01"]],"+",[1,"b","*","m02"]]],[13,"newG",[1,[1,[1,"r","*","m10"],"+",[1,"g","*","m11"]],"+",[1,"b","*","m12"]]],[13,"newB",[1,[1,[1,"r","*","m20"],"+",[1,"g","*","m21"]],"+",[1,"b","*","m22"]]],[10,[6,"d.vec4f",["newR","newG","newB",[7,"color","w"]]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,SQRT3:()=>_a,"d.vec4f":()=>x}})&&e.f)({})),Y8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=f(t.x,t.y,t.z),o=se(r,f(.2126,.7152,.0722)),n=X(f(o,o,o),r,f(s));return x(n.x,n.y,n.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"intensity"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"luminance",[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"gray",[6,"d.vec3f",["luminance","luminance","luminance"]]],[13,"saturated",[6,"std.mix",["gray","rgb",[6,"d.vec3f",["intensity"]]]]],[10,[6,"d.vec4f",[[7,"saturated","x"],[7,"saturated","y"],[7,"saturated","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.dot":()=>se,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),L8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.x,o=t.y,n=t.z,i=__tsover_div(__tsover_add(__tsover_add(r,o),n),3),d=b(r,b(o,n)),c=__tsover_mul(__tsover_mul(__tsover_sub(d,i),s),-3),_=X(f(r,o,n),f(d,d,d),f(c));return x(_.x,_.y,_.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"adjustment"}],body:[0,[[13,"r",[7,"color","x"]],[13,"g",[7,"color","y"]],[13,"b",[7,"color","z"]],[13,"average",[1,[1,[1,"r","+","g"],"+","b"],"/",[5,"3"]]],[13,"mx",[6,"std.max",["r",[6,"std.max",["g","b"]]]]],[13,"amt",[1,[1,[1,"mx","-","average"],"*","adjustment"],"*",[4,"-",[5,"3"]]]],[13,"rgb",[6,"d.vec3f",["r","g","b"]]],[13,"vibrant",[6,"std.mix",["rgb",[6,"d.vec3f",["mx","mx","mx"]],[6,"d.vec3f",["amt"]]]]],[10,[6,"d.vec4f",[[7,"vibrant","x"],[7,"vibrant","y"],[7,"vibrant","z"],[7,"color","w"]]]]]]},externals:{"std.max":()=>b,"d.vec3f":()=>f,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),I8=v.fn([x,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(r,1),n=f(.5,.5,.5);return x(t.xyz.sub(n).mul(o).add(n).add(f(s,s,s)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"brightness"},{type:"i",name:"contrastRaw"}],body:[0,[[13,"contrast",[1,"contrastRaw","+",[5,"1"]]],[13,"half",[6,"d.vec3f",[[5,"0.5"],[5,"0.5"],[5,"0.5"]]]],[13,"contrasted",[6,[7,[6,[7,[6,[7,[7,"color","xyz"],"sub"],["half"]],"mul"],["contrast"]],"add"],["half"]]],[13,"result",[6,[7,"contrasted","add"],[[6,"d.vec3f",["brightness","brightness","brightness"]]]]],[10,[6,"d.vec4f",["result",[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),D8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.xyz.mul(s),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"gain"}],body:[0,[[13,"rgb",[6,[7,[7,"color","xyz"],"mul"],["gain"]]],[10,[6,"d.vec4f",["rgb",[7,"color","w"]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),F8=v.fn([x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=se(t.xyz,f(.2126,.7152,.0722));return x(s,s,s,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"luminance",[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[10,[6,"d.vec4f",["luminance","luminance","luminance",[7,"color","w"]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),B8=v.fn([x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return x(__tsover_sub(1,t.x),__tsover_sub(1,t.y),__tsover_sub(1,t.z),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,"d.vec4f",[[1,[5,"1"],"-",[7,"color","x"]],[1,[5,"1"],"-",[7,"color","y"]],[1,[5,"1"],"-",[7,"color","z"]],[7,"color","w"]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),W8=v.fn([x,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=f(t.x,t.y,t.z),n=se(o,f(.299,.587,.114)),i=X(o,C(o,f(__tsover_sub(1,t.x),__tsover_sub(1,t.y),__tsover_sub(1,t.z)),n>s),f(r));return x(i.x,i.y,i.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"threshold"},{type:"i",name:"strength"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"luminance",[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"inverted",[6,"d.vec3f",[[1,[5,"1"],"-",[7,"color","x"]],[1,[5,"1"],"-",[7,"color","y"]],[1,[5,"1"],"-",[7,"color","z"]]]]],[13,"solarized",[6,"std.select",["rgb","inverted",[1,"luminance",">","threshold"]]]],[13,"result",[6,"std.mix",["rgb","solarized",[6,"d.vec3f",["strength"]]]]],[10,[6,"d.vec4f",[[7,"result","x"],[7,"result","y"],[7,"result","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.dot":()=>se,"std.select":()=>C,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),O8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=$(s,a(2),a(20));return x(__tsover_div(q(__tsover_mul(t.x,r)),r),__tsover_div(q(__tsover_mul(t.y,r)),r),__tsover_div(q(__tsover_mul(t.z,r)),r),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"steps"}],body:[0,[[13,"s",[6,"std.clamp",["steps",[6,"d.f32",[[5,"2"]]],[6,"d.f32",[[5,"20"]]]]]],[13,"r",[1,[6,"std.floor",[[1,[7,"color","x"],"*","s"]]],"/","s"]],[13,"g",[1,[6,"std.floor",[[1,[7,"color","y"],"*","s"]]],"/","s"]],[13,"b",[1,[6,"std.floor",[[1,[7,"color","z"],"*","s"]]],"/","s"]],[10,[6,"d.vec4f",["r","g","b",[7,"color","w"]]]]]]},externals:{"std.clamp":()=>$,"d.f32":()=>a,"std.floor":()=>q,"d.vec4f":()=>x}})&&e.f)({})),V8=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=X(f(t.x,t.y,t.z),f(s.x,s.y,s.z),f(r));return x(o.x,o.y,o.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"tintColor"},{type:"i",name:"amount"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"tinted",[6,"std.mix",["rgb",[6,"d.vec3f",[[7,"tintColor","x"],[7,"tintColor","y"],[7,"tintColor","z"]]],[6,"d.vec3f",["amount"]]]]],[10,[6,"d.vec4f",[[7,"tinted","x"],[7,"tinted","y"],[7,"tinted","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),N8=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=f(t.x,t.y,t.z),n=X(o,f(s.x,s.y,s.z),f(r)),i=f(.299,.587,.114),d=se(o,i),c=se(n,i),_=n.mul(__tsover_div(d,b(c,1e-4)));return x(_.x,_.y,_.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"tintColor"},{type:"i",name:"amount"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"tinted",[6,"std.mix",["rgb",[6,"d.vec3f",[[7,"tintColor","x"],[7,"tintColor","y"],[7,"tintColor","z"]]],[6,"d.vec3f",["amount"]]]]],[13,"luminanceWeights",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]],[13,"originalLum",[6,"std.dot",["rgb","luminanceWeights"]]],[13,"tintedLum",[6,"std.dot",["tinted","luminanceWeights"]]],[13,"result",[6,[7,"tinted","mul"],[[1,"originalLum","/",[6,"std.max",["tintedLum",[5,"0.0001"]]]]]]],[10,[6,"d.vec4f",[[7,"result","x"],[7,"result","y"],[7,"result","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.mix":()=>X,"std.dot":()=>se,"std.max":()=>b,"d.vec4f":()=>x}})&&e.f)({})),q8=v.fn([x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(t.xyz,f(.299,.587,.114));return re(__tsover_sub(s,.5),__tsover_add(s,.5),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"blend"}],body:[0,[[13,"luminance",[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[10,[6,"std.smoothstep",[[1,"blend","-",[5,"0.5"]],[1,"blend","+",[5,"0.5"]],"luminance"]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.smoothstep":()=>re}})&&e.f)({})),X8=v.fn([x,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(t.xyz,f(.299,.587,.114));return f(re(__tsover_sub(s,.25),s,r),re(s,__tsover_add(s,.25),r),re(__tsover_sub(s,.1),__tsover_add(s,.1),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"blendMid"}],body:[0,[[13,"luminance",[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"shadowToMid",[6,"std.smoothstep",[[1,"blendMid","-",[5,"0.25"]],"blendMid","luminance"]]],[13,"midToHighlight",[6,"std.smoothstep",["blendMid",[1,"blendMid","+",[5,"0.25"]],"luminance"]]],[13,"finalT",[6,"std.smoothstep",[[1,"blendMid","-",[5,"0.1"]],[1,"blendMid","+",[5,"0.1"]],"luminance"]]],[10,[6,"d.vec3f",["shadowToMid","midToHighlight","finalT"]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.smoothstep":()=>re}})&&e.f)({})),H8=v.fn([x,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=se(t.xyz,f(.2126,.7152,.0722)),i=b(__tsover_sub(r,s),1e-4),d=$(__tsover_div(__tsover_sub(n,s),i),0,1);return d=$(__tsover_add(__tsover_mul(__tsover_sub(d,.5),o),.5),0,1),d}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"black"},{type:"i",name:"white"},{type:"i",name:"contrast"}],body:[0,[[13,"luma",[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"range",[6,"std.max",[[1,"white","-","black"],[5,"0.0001"]]]],[12,"t",[6,"std.clamp",[[1,[1,"luma","-","black"],"/","range"],[5,"0"],[5,"1"]]]],[2,"t","=",[6,"std.clamp",[[1,[1,[1,"t","-",[5,"0.5"]],"*","contrast"],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[10,"t"]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.max":()=>b,"std.clamp":()=>$}})&&e.f)({})),j8=v.fn([a,a,f,f,f,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=n.mul(t).add(i).add(f(s,s,s)).mul(T3);return $(r.add(o.mul(H(d))),f(0,0,0),f(1,1,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"phase"},{type:"i",name:"pa"},{type:"i",name:"pb"},{type:"i",name:"pc"},{type:"i",name:"pd"}],body:[0,[[13,"arg",[6,[7,[6,[7,[6,[7,[6,[7,"pc","mul"],["t"]],"add"],["pd"]],"add"],[[6,"d.vec3f",["phase","phase","phase"]]]],"mul"],["TWO_PI"]]],[13,"mapped",[6,[7,"pa","add"],[[6,[7,"pb","mul"],[[6,"std.cos",["arg"]]]]]]],[10,[6,"std.clamp",["mapped",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]]]]},externals:{"d.vec3f":()=>f,TWO_PI:()=>T3,"std.cos":()=>H,"std.clamp":()=>$}})&&e.f)({})),K8=v.fn([a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=ue(__tsover_add(t,s)),o=__tsover_mul(r,3);return l(ue(o),q(o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"phase"}],body:[0,[[13,"t01",[6,"std.fract",[[1,"t","+","phase"]]]],[13,"t3",[1,"t01","*",[5,"3"]]],[10,[6,"d.vec2f",[[6,"std.fract",["t3"]],[6,"std.floor",["t3"]]]]]]]},externals:{"std.fract":()=>ue,"d.vec2f":()=>l,"std.floor":()=>q}})&&e.f)({})),Z8=v.fn([x,x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return C(C(r,s,o<2),t,o<1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"seg0"},{type:"i",name:"seg1"},{type:"i",name:"seg2"},{type:"i",name:"i"}],body:[0,[[13,"upper",[6,"std.select",["seg2","seg1",[1,"i","<",[5,"2"]]]]],[10,[6,"std.select",["upper","seg0",[1,"i","<",[5,"1"]]]]]]]},externals:{"std.select":()=>C}})&&e.f)({})),Q8=v.fn([x,f,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return x(X(t.xyz,s,f(r,r,r)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"mapped"},{type:"i",name:"strength"}],body:[0,[[13,"outRgb",[6,"std.mix",[[7,"color","xyz"],"mapped",[6,"d.vec3f",["strength","strength","strength"]]]]],[10,[6,"d.vec4f",["outRgb",[7,"color","w"]]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),J8=v.fn([x,l,l,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ot(s.mul(r).add(l(i,__tsover_mul(i,1.6180339)))),c=__tsover_sub(__tsover_mul(d,2),1),_=$(se(t.xyz,f(.2126,.7152,.0722)),0,1),u=__tsover_sub(1,_),m=Ce(__tsover_add(u,1e-6),n),p=__tsover_mul(__tsover_mul(c,m),__tsover_mul(o,.1));return x(t.xyz.add(p),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"strength"},{type:"i",name:"bias"},{type:"i",name:"animTime"}],body:[0,[[13,"pixelCoord",[6,[7,"uv","mul"],["viewport"]]],[13,"noiseVal",[6,"hash12",[[6,[7,"pixelCoord","add"],[[6,"d.vec2f",["animTime",[1,"animTime","*",[5,"1.6180339"]]]]]]]]],[13,"grain",[1,[1,"noiseVal","*",[5,"2"]],"-",[5,"1"]]],[13,"brightness",[6,"std.clamp",[[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]],[5,"0"],[5,"1"]]]],[13,"darkness",[1,[5,"1"],"-","brightness"]],[13,"darkFactor",[6,"std.pow",[[1,"darkness","+",[5,"0.000001"]],"bias"]]],[13,"grainIntensity",[1,[1,"grain","*","darkFactor"],"*",[1,"strength","*",[5,"0.1"]]]],[13,"grainedColor",[6,[7,[7,"color","xyz"],"add"],["grainIntensity"]]],[10,[6,"d.vec4f",["grainedColor",[7,"color","w"]]]]]]},externals:{hash12:()=>Ot,"d.vec2f":()=>l,"std.clamp":()=>$,"std.dot":()=>se,"d.vec3f":()=>f,"std.pow":()=>Ce,"d.vec4f":()=>x}})&&e.f)({})),Jl=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ce(C(t,__tsover_sub(1,t),i>.5),n),c=__tsover_add(__tsover_mul(d,s),.5),_=b(Zt(c),1e-4),u=z(__tsover_sub(ue(__tsover_add(c,.5)),.5)),m=__tsover_div(u,_),p=__tsover_add(__tsover_mul(o,.99),.01),y=__tsover_mul(r,__tsover_sub(1,p));return __tsover_sub(1,re(y,r,m))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sourceValue"},{type:"i",name:"levels"},{type:"i",name:"lineWidth"},{type:"i",name:"softness"},{type:"i",name:"gamma"},{type:"i",name:"invert"}],body:[0,[[13,"invertedValue",[6,"std.select",["sourceValue",[1,[5,"1"],"-","sourceValue"],[1,"invert",">",[5,"0.5"]]]]],[13,"sv",[6,"std.pow",["invertedValue","gamma"]]],[13,"scaledValue",[1,[1,"sv","*","levels"],"+",[5,"0.5"]]],[13,"fw",[6,"std.max",[[6,"std.fwidth",["scaledValue"]],[5,"0.0001"]]]],[13,"distFromBoundary",[6,"std.abs",[[1,[6,"std.fract",[[1,"scaledValue","+",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"normalizedDist",[1,"distFromBoundary","/","fw"]],[13,"transitionFactor",[1,[1,"softness","*",[5,"0.99"]],"+",[5,"0.01"]]],[13,"innerEdge",[1,"lineWidth","*",[1,[5,"1"],"-","transitionFactor"]]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",["innerEdge","lineWidth","normalizedDist"]]]]]]},externals:{"std.select":()=>C,"std.pow":()=>Ce,"std.max":()=>b,"std.fwidth":()=>Zt,"std.abs":()=>z,"std.fract":()=>ue,"std.smoothstep":()=>re}})&&e.f)({})),eD=v.fn([x,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return Jl(Gg(t.xyz),s,r,o,n,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"levels"},{type:"i",name:"lineWidth"},{type:"i",name:"softness"},{type:"i",name:"gamma"},{type:"i",name:"invert"}],body:[0,[[10,[6,"contourLineMask",[[6,"luma709Dot",[[7,"color","xyz"]]],"levels","lineWidth","softness","gamma","invert"]]]]]},externals:{contourLineMask:()=>Jl,luma709Dot:()=>Gg}})&&e.f)({})),tD=v.fn([x,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return Jl(t.w,s,r,o,n,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"levels"},{type:"i",name:"lineWidth"},{type:"i",name:"softness"},{type:"i",name:"gamma"},{type:"i",name:"invert"}],body:[0,[[10,[6,"contourLineMask",[[7,"color","w"],"levels","lineWidth","softness","gamma","invert"]]]]]},externals:{contourLineMask:()=>Jl}})&&e.f)({})),sD=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=X(f(t.x,t.y,t.z),f(s.x,s.y,s.z),f(r)),n=X(t.w,s.w,r);return x(o.x,o.y,o.z,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"bg"},{type:"i",name:"line"},{type:"i",name:"mask"}],body:[0,[[13,"rgb",[6,"std.mix",[[6,"d.vec3f",[[7,"bg","x"],[7,"bg","y"],[7,"bg","z"]]],[6,"d.vec3f",[[7,"line","x"],[7,"line","y"],[7,"line","z"]]],[6,"d.vec3f",["mask"]]]]],[13,"alpha",[6,"std.mix",[[7,"bg","w"],[7,"line","w"],"mask"]]],[10,[6,"d.vec4f",[[7,"rgb","x"],[7,"rgb","y"],[7,"rgb","z"],"alpha"]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),Zn=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(__tsover_sub(ue(__tsover_mul(Y(__tsover_mul(t,12.9898)),43758.5453)),.5),2)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"}],body:[0,[[10,[1,[1,[6,"std.fract",[[1,[6,"std.sin",[[1,"x","*",[5,"12.9898"]]]],"*",[5,"43758.5453"]]]],"-",[5,"0.5"]],"*",[5,"2"]]]]]},externals:{"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),rD=v.fn([l,a,l,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(__tsover_mul(r.x,o),r.y),i=l(__tsover_mul(t.x,o),__tsover_sub(1,t.y)),d=n.sub(i),c=__tsover_mul(s,Le),_=l(H(c),Y(c)),u=l(__tsover_mul(_.y,-1),_.x),m=se(d,u),p=d.sub(u.mul(__tsover_mul(m,2))),y=i.add(p),h=l(__tsover_div(y.x,o),y.y),g=De(0,m);return f(h.x,h.y,g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"angle"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"lineDirection",[6,"d.vec2f",[[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]]],[13,"lineNormal",[6,"d.vec2f",[[1,[7,"lineDirection","y"],"*",[4,"-",[5,"1"]]],[7,"lineDirection","x"]]]],[13,"signedDistance",[6,"std.dot",["delta","lineNormal"]]],[13,"reflectedDelta",[6,[7,"delta","sub"],[[6,[7,"lineNormal","mul"],[[1,"signedDistance","*",[5,"2"]]]]]]],[13,"mirroredUV",[6,[7,"centerPos","add"],["reflectedDelta"]]],[13,"finalMirroredUV",[6,"d.vec2f",[[1,[7,"mirroredUV","x"],"/","aspect"],[7,"mirroredUV","y"]]]],[13,"shouldMirror",[6,"std.step",[[5,"0"],"signedDistance"]]],[10,[6,"d.vec3f",[[7,"finalMirroredUV","x"],[7,"finalMirroredUV","y"],"shouldMirror"]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.step":()=>De,"d.vec3f":()=>f}})&&e.f)({})),oD=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(C(t.x,__tsover_sub(1,t.x),s>0),C(t.y,__tsover_sub(1,t.y),r>0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"flipX"},{type:"i",name:"flipY"}],body:[0,[[13,"x",[6,"std.select",[[7,"uv","x"],[1,[5,"1"],"-",[7,"uv","x"]],[1,"flipX",">",[5,"0"]]]]],[13,"y",[6,"std.select",[[7,"uv","y"],[1,[5,"1"],"-",[7,"uv","y"]],[1,"flipY",">",[5,"0"]]]]],[10,[6,"d.vec2f",["x","y"]]]]]},externals:{"std.select":()=>C,"d.vec2f":()=>l}})&&e.f)({})),$a=2,S3=1.2,nD=v.fn([a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,Le),d=l(H(i),Y(i)),c=l(__tsover_mul(d.y,-1),d.x),_=l(__tsover_mul(__tsover_sub(o.x,.5),n),__tsover_sub(o.y,.5)),u=se(_,d),m=se(_,c),p=b(__tsover_mul(__tsover_add(__tsover_mul(z(d.x),n),z(d.y)),.5),.001),y=__tsover_div(u,p),h=__tsover_mul(t,S3),g=__tsover_mul($(s,0,1),.9),w=__tsover_sub(1,g),S=z(y),T=C(a(-1),a(1),y>=0),A=__tsover_mul(h,S),P=__tsover_add(__tsover_mul(__tsover_mul(__tsover_mul($a,$a),w),w),__tsover_mul(__tsover_mul(__tsover_mul(4,A),$a),__tsover_sub(S,g))),U=z(A)<1e-5,D=C(__tsover_mul(A,2),a(1),U),O=C(__tsover_div(__tsover_sub(be(b(P,0)),__tsover_mul($a,w)),D),__tsover_div(__tsover_sub(S,g),w),U),L=C(a(6),b(O,0),P>=0),G=__tsover_mul(T,__tsover_add(g,__tsover_mul(L,w))),W=S<=g,K=C(G,y,W),Q=C(__tsover_mul(__tsover_mul(h,L),L),a(0),W),te=__tsover_div(__tsover_mul(m,__tsover_sub($a,Q)),$a),ee=d.mul(__tsover_mul(K,p)).add(c.mul(te));return l(__tsover_add(__tsover_div(ee.x,n),.5),__tsover_add(ee.y,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"strength"},{type:"i",name:"falloff"},{type:"i",name:"angle"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"dir",[6,"d.vec2f",[[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]]],[13,"perp",[6,"d.vec2f",[[1,[7,"dir","y"],"*",[4,"-",[5,"1"]]],[7,"dir","x"]]]],[13,"p",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],[1,[7,"uv","y"],"-",[5,"0.5"]]]]],[13,"sScreen",[6,"std.dot",["p","dir"]]],[13,"tScreen",[6,"std.dot",["p","perp"]]],[13,"sHalf",[6,"std.max",[[1,[1,[1,[6,"std.abs",[[7,"dir","x"]]],"*","aspect"],"+",[6,"std.abs",[[7,"dir","y"]]]],"*",[5,"0.5"]],[5,"0.001"]]]],[13,"snScreen",[1,"sScreen","/","sHalf"]],[13,"b",[1,"strength","*","B_MAX"]],[13,"f",[1,[6,"std.clamp",["falloff",[5,"0"],[5,"1"]]],"*",[5,"0.9"]]],[13,"fSpan",[1,[5,"1"],"-","f"]],[13,"m",[6,"std.abs",["snScreen"]]],[13,"sig",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"d.f32",[[5,"1"]]],[1,"snScreen",">=",[5,"0"]]]]],[13,"a2",[1,"b","*","m"]],[13,"disc",[1,[1,[1,[1,"CAMERA_D","*","CAMERA_D"],"*","fSpan"],"*","fSpan"],"+",[1,[1,[1,[5,"4"],"*","a2"],"*","CAMERA_D"],"*",[1,"m","-","f"]]]],[13,"nearZero",[1,[6,"std.abs",["a2"]],"<",[5,"0.00001"]]],[13,"denom",[6,"std.select",[[1,"a2","*",[5,"2"]],[6,"d.f32",[[5,"1"]]],"nearZero"]]],[13,"uQuad",[1,[1,[6,"std.sqrt",[[6,"std.max",["disc",[5,"0"]]]]],"-",[1,"CAMERA_D","*","fSpan"]],"/","denom"]],[13,"uOn",[6,"std.select",["uQuad",[1,[1,"m","-","f"],"/","fSpan"],"nearZero"]]],[13,"u",[6,"std.select",[[6,"d.f32",[[5,"6"]]],[6,"std.max",["uOn",[5,"0"]]],[1,"disc",">=",[5,"0"]]]]],[13,"snBend",[1,"sig","*",[1,"f","+",[1,"u","*","fSpan"]]]],[13,"inFlat",[1,"m","<=","f"]],[13,"sn",[6,"std.select",["snBend","snScreen","inFlat"]]],[13,"z",[6,"std.select",[[1,[1,"b","*","u"],"*","u"],[6,"d.f32",[[5,"0"]]],"inFlat"]]],[13,"tSrc",[1,[1,"tScreen","*",[1,"CAMERA_D","-","z"]],"/","CAMERA_D"]],[13,"srcP",[6,[7,[6,[7,"dir","mul"],[[1,"sn","*","sHalf"]]],"add"],[[6,[7,"perp","mul"],["tSrc"]]]]],[10,[6,"d.vec2f",[[1,[1,[7,"srcP","x"],"/","aspect"],"+",[5,"0.5"]],[1,[7,"srcP","y"],"+",[5,"0.5"]]]]]]]},externals:{DEG_TO_RAD:()=>Le,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.max":()=>b,"std.abs":()=>z,B_MAX:()=>S3,"std.clamp":()=>$,"std.select":()=>C,"d.f32":()=>a,CAMERA_D:()=>$a,"std.sqrt":()=>be}})&&e.f)({})),aD=v.fn([l,a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(n.x,i),n.y),c=l(__tsover_mul(t.x,i),__tsover_sub(1,t.y)),_=d.sub(c),u=j(_),m=__tsover_mul(r,.5),p=__tsover_mul(m,b(__tsover_sub(__tsover_sub(1,o),.001),0)),y=__tsover_sub(1,re(p,m,u)),h=__tsover_div(u,m),g=__tsover_mul(h,h),w=b(0,__tsover_sub(1,g)),S=__tsover_mul(y,w),T=__tsover_mul(s,-1),A=__tsover_mul(T,S),P=__tsover_add(1,A),U=_.mul(P),D=c.add(U);return l(__tsover_div(D.x,i),D.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"strength"},{type:"i",name:"radius"},{type:"i",name:"falloff"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"distance",[6,"std.length",["delta"]]],[13,"effectRadius",[1,"radius","*",[5,"0.5"]]],[13,"innerRadius",[1,"effectRadius","*",[6,"std.max",[[1,[1,[5,"1"],"-","falloff"],"-",[5,"0.001"]],[5,"0"]]]]],[13,"smoothFalloff",[1,[5,"1"],"-",[6,"std.smoothstep",["innerRadius","effectRadius","distance"]]]],[13,"normalizedDist",[1,"distance","/","effectRadius"]],[13,"distSq",[1,"normalizedDist","*","normalizedDist"]],[13,"quadraticFalloff",[6,"std.max",[[5,"0"],[1,[5,"1"],"-","distSq"]]]],[13,"falloffTotal",[1,"smoothFalloff","*","quadraticFalloff"]],[13,"negStrength",[1,"strength","*",[4,"-",[5,"1"]]]],[13,"displacementAmount",[1,"negStrength","*","falloffTotal"]],[13,"scaleFactor",[1,[5,"1"],"+","displacementAmount"]],[13,"bulgedDelta",[6,[7,"delta","mul"],["scaleFactor"]]],[13,"bulgedUV",[6,[7,"centerPos","add"],["bulgedDelta"]]],[10,[6,"d.vec2f",[[1,[7,"bulgedUV","x"],"/","aspect"],[7,"bulgedUV","y"]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.max":()=>b,"std.smoothstep":()=>re}})&&e.f)({})),iD=v.fn([l,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(t.x,__tsover_sub(1,t.y)),i=r.sub(n),d=l(__tsover_mul(i.x,o),i.y),c=__tsover_mul(s,j(d)),_=H(c),u=Y(c),m=__tsover_sub(__tsover_mul(_,d.x),__tsover_mul(u,d.y)),p=__tsover_add(__tsover_mul(u,d.x),__tsover_mul(_,d.y));return l(__tsover_add(__tsover_div(m,o),n.x),__tsover_add(p,n.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"intensity"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"uv","sub"],["centerPos"]]],[13,"acd",[6,"d.vec2f",[[1,[7,"delta","x"],"*","aspect"],[7,"delta","y"]]]],[13,"angle",[1,"intensity","*",[6,"std.length",["acd"]]]],[13,"cosA",[6,"std.cos",["angle"]]],[13,"sinA",[6,"std.sin",["angle"]]],[13,"rotatedX",[1,[1,"cosA","*",[7,"acd","x"]],"-",[1,"sinA","*",[7,"acd","y"]]]],[13,"rotatedY",[1,[1,"sinA","*",[7,"acd","x"]],"+",[1,"cosA","*",[7,"acd","y"]]]],[10,[6,"d.vec2f",[[1,[1,"rotatedX","/","aspect"],"+",[7,"centerPos","x"]],[1,"rotatedY","+",[7,"centerPos","y"]]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),dD=v.fn([l,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(o.x,n),o.y),d=l(__tsover_mul(t.x,n),__tsover_sub(1,t.y)),c=i.sub(d),_=j(c),u=tt(c.y,c.x),m=__tsover_add(u,__tsover_mul(r,Le)),p=__tsover_div(it,s),y=__tsover_mul(p,2),h=__tsover_sub(m,__tsover_mul(y,q(__tsover_div(m,y)))),g=C(h,__tsover_sub(y,h),h>p),w=__tsover_mul(H(g),_),S=__tsover_mul(Y(g),_),T=d.add(l(w,S));return l(__tsover_div(T.x,n),T.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"segments"},{type:"i",name:"angle"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"radius",[6,"std.length",["delta"]]],[13,"currentAngle",[6,"std.atan2",[[7,"delta","y"],[7,"delta","x"]]]],[13,"rotatedAngle",[1,"currentAngle","+",[1,"angle","*","DEG_TO_RAD"]]],[13,"segmentAngle",[1,"TAU","/","segments"]],[13,"segTwo",[1,"segmentAngle","*",[5,"2"]]],[13,"wrappedAngle",[1,"rotatedAngle","-",[1,"segTwo","*",[6,"std.floor",[[1,"rotatedAngle","/","segTwo"]]]]]],[13,"finalAngle",[6,"std.select",["wrappedAngle",[1,"segTwo","-","wrappedAngle"],[1,"wrappedAngle",">","segmentAngle"]]]],[13,"kaleidoscopeX",[1,[6,"std.cos",["finalAngle"]],"*","radius"]],[13,"kaleidoscopeY",[1,[6,"std.sin",["finalAngle"]],"*","radius"]],[13,"kaleidoscopePos",[6,[7,"centerPos","add"],[[6,"d.vec2f",["kaleidoscopeX","kaleidoscopeY"]]]]],[10,[6,"d.vec2f",[[1,[7,"kaleidoscopePos","x"],"/","aspect"],[7,"kaleidoscopePos","y"]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.atan2":()=>tt,DEG_TO_RAD:()=>Le,TAU:()=>it,"std.floor":()=>q,"std.select":()=>C,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),cD=v.fn([l,a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(n.x,i),n.y),c=l(__tsover_mul(t.x,i),__tsover_sub(1,t.y)),_=d.sub(c),u=__tsover_mul(r,Le),m=l(H(u),Y(u)),p=se(_,m),y=m.mul(p),h=_.sub(y),g=X(.001,75,o),w=$(__tsover_div(p,g),0,1),S=__tsover_mul(s,100),T=__tsover_add(1,__tsover_mul(S,w)),A=__tsover_div(p,T),P=m.mul(A).add(h),U=c.add(P);return l(__tsover_div(U.x,i),U.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"strength"},{type:"i",name:"angle"},{type:"i",name:"falloff"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"directionVector",[6,"d.vec2f",[[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]]],[13,"projection",[6,"std.dot",["delta","directionVector"]]],[13,"parallel",[6,[7,"directionVector","mul"],["projection"]]],[13,"perpendicular",[6,[7,"delta","sub"],["parallel"]]],[13,"transitionWidth",[6,"std.mix",[[5,"0.001"],[5,"75"],"falloff"]]],[13,"effectMask",[6,"std.clamp",[[1,"projection","/","transitionWidth"],[5,"0"],[5,"1"]]]],[13,"scaledStrength",[1,"strength","*",[5,"100"]]],[13,"stretchFactor",[1,[5,"1"],"+",[1,"scaledStrength","*","effectMask"]]],[13,"finalProjection",[1,"projection","/","stretchFactor"]],[13,"finalParallel",[6,[7,"directionVector","mul"],["finalProjection"]]],[13,"stretchedDelta",[6,[7,"finalParallel","add"],["perpendicular"]]],[13,"stretchedUV",[6,[7,"centerPos","add"],["stretchedDelta"]]],[10,[6,"d.vec2f",[[1,[7,"stretchedUV","x"],"/","aspect"],[7,"stretchedUV","y"]]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.mix":()=>X,"std.clamp":()=>$}})&&e.f)({})),cn=v.fn([l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=t.sub(l(.5,.5)),d=l(__tsover_mul(i.x,s),i.y),c=__tsover_mul(r,Le),_=H(c),u=Y(c),m=__tsover_add(__tsover_mul(d.x,u),__tsover_mul(d.y,_));return __tsover_add(__tsover_mul(__tsover_mul(__tsover_add(m,.5),o),it),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"t"}],body:[0,[[13,"centeredUV",[6,[7,"uv","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"centeredUV","x"],"*","aspect"],[7,"centeredUV","y"]]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"rotatedY",[1,[1,[7,"aspectCorrectedUV","x"],"*","sinA"],"+",[1,[7,"aspectCorrectedUV","y"],"*","cosA"]]],[10,[1,[1,[1,[1,"rotatedY","+",[5,"0.5"]],"*","frequency"],"*","TAU"],"+","t"]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,TAU:()=>it}})&&e.f)({})),_n=v.fn([l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,Le),d=H(i),c=Y(i),_=__tsover_mul(__tsover_mul(n,o),.5),u=__tsover_div(__tsover_mul(_,d),s),m=__tsover_mul(_,c);return l(__tsover_add(t.x,u),__tsover_add(t.y,m))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"strength"},{type:"i",name:"wave"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"displacement",[1,[1,"wave","*","strength"],"*",[5,"0.5"]]],[13,"displacementX",[1,[1,"displacement","*","cosA"],"/","aspect"]],[13,"displacementY",[1,"displacement","*","sinA"]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+","displacementX"],[1,[7,"uv","y"],"+","displacementY"]]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),A3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Y(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[10,[6,"std.sin",["phase"]]]]]},externals:{"std.sin":()=>Y}})&&e.f)({})),M3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ue(__tsover_div(t,it));return __tsover_sub(__tsover_mul(z(__tsover_sub(__tsover_mul(s,2),1)),2),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[13,"normalizedPhase",[6,"std.fract",[[1,"phase","/","TAU"]]]],[10,[1,[1,[6,"std.abs",[[1,[1,"normalizedPhase","*",[5,"2"]],"-",[5,"1"]]]],"*",[5,"2"]],"-",[5,"1"]]]]]},externals:{"std.fract":()=>ue,TAU:()=>it,"std.abs":()=>z}})&&e.f)({})),P3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ue(__tsover_div(t,it));return __tsover_sub(__tsover_mul(De(.5,s),2),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[13,"normalizedPhase",[6,"std.fract",[[1,"phase","/","TAU"]]]],[10,[1,[1,[6,"std.step",[[5,"0.5"],"normalizedPhase"]],"*",[5,"2"]],"-",[5,"1"]]]]]},externals:{"std.fract":()=>ue,TAU:()=>it,"std.step":()=>De}})&&e.f)({})),E3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ue(__tsover_div(t,it));return __tsover_sub(__tsover_mul(s,2),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[13,"normalizedPhase",[6,"std.fract",[[1,"phase","/","TAU"]]]],[10,[1,[1,"normalizedPhase","*",[5,"2"]],"-",[5,"1"]]]]]},externals:{"std.fract":()=>ue,TAU:()=>it}})&&e.f)({})),k3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return z(Y(t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[10,[6,"std.abs",[[6,"std.sin",["phase"]]]]]]]},externals:{"std.abs":()=>z,"std.sin":()=>Y}})&&e.f)({})),_D=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,A3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformSine",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformSine:()=>A3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),lD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,M3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformTriangle",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformTriangle:()=>M3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),uD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,P3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformSquare",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformSquare:()=>P3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),mD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,E3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformSawtooth",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformSawtooth:()=>E3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),pD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,k3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformBounce",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformBounce:()=>k3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),fD=v.fn([l,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(o.x,n),o.y),d=l(__tsover_mul(t.x,n),__tsover_sub(1,t.y)),c=i.sub(d),_=tt(c.y,c.x),u=__tsover_div(__tsover_add(_,Xr),it),m=j(c);return l(__tsover_mul(u,s),__tsover_mul(m,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"wrap"},{type:"i",name:"radius"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"theta",[6,"std.atan2",[[7,"delta","y"],[7,"delta","x"]]]],[13,"normalizedAngle",[1,[1,"theta","+","PI"],"/","TAU"]],[13,"r",[6,"std.length",["delta"]]],[13,"u",[1,"normalizedAngle","*","wrap"]],[13,"v",[1,"r","*","radius"]],[10,[6,"d.vec2f",["u","v"]]]]]},externals:{"d.vec2f":()=>l,"std.atan2":()=>tt,PI:()=>Xr,TAU:()=>it,"std.length":()=>j}})&&e.f)({})),vD=v.fn([l,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(__tsover_mul(r.x,it),Xr),i=__tsover_mul(r.y,s),d=__tsover_mul(i,H(n)),c=__tsover_mul(i,Y(n)),_=l(t.x,__tsover_sub(1,t.y));return l(__tsover_add(__tsover_div(d,o),_.x),__tsover_add(c,_.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"scale"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"theta",[1,[1,[7,"uv","x"],"*","TAU"],"-","PI"]],[13,"r",[1,[7,"uv","y"],"*","scale"]],[13,"rectX",[1,"r","*",[6,"std.cos",["theta"]]]],[13,"rectY",[1,"r","*",[6,"std.sin",["theta"]]]],[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[10,[6,"d.vec2f",[[1,[1,"rectX","/","aspect"],"+",[7,"centerPos","x"]],[1,"rectY","+",[7,"centerPos","y"]]]]]]]},externals:{TAU:()=>it,PI:()=>Xr,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),Yi=1e-8,Od=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_div(t,C(s,Yi,z(s)C,EPS:()=>Yi,"std.abs":()=>z}})&&e.f)({})),ki=v.fn([l,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(r.x,s.x),n=__tsover_sub(r.y,s.y),i=__tsover_sub(t.x,s.x),d=__tsover_sub(t.y,s.y);return __tsover_sub(__tsover_mul(o,d),__tsover_mul(n,i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"}],body:[0,[[13,"bax",[1,[7,"b","x"],"-",[7,"a","x"]]],[13,"bay",[1,[7,"b","y"],"-",[7,"a","y"]]],[13,"pax",[1,[7,"p","x"],"-",[7,"a","x"]]],[13,"pay",[1,[7,"p","y"],"-",[7,"a","y"]]],[10,[1,[1,"bax","*","pay"],"-",[1,"bay","*","pax"]]]]]},externals:{}})&&e.f)({})),$3=v.fn([l,l,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=ki(t,s,r),i=ki(t,r,o),d=ki(t,o,s),c=__tsover_mul(__tsover_mul(De(a(0),n),De(a(0),i)),De(a(0),d)),_=__tsover_mul(__tsover_mul(De(n,a(0)),De(i,a(0))),De(d,a(0)));return __tsover_add(c,_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"c"}],body:[0,[[13,"d1",[6,"cornerSideOf",["p","a","b"]]],[13,"d2",[6,"cornerSideOf",["p","b","c"]]],[13,"d3",[6,"cornerSideOf",["p","c","a"]]],[13,"allPos",[1,[1,[6,"std.step",[[6,"d.f32",[[5,"0"]]],"d1"]],"*",[6,"std.step",[[6,"d.f32",[[5,"0"]]],"d2"]]],"*",[6,"std.step",[[6,"d.f32",[[5,"0"]]],"d3"]]]],[13,"allNeg",[1,[1,[6,"std.step",["d1",[6,"d.f32",[[5,"0"]]]]],"*",[6,"std.step",["d2",[6,"d.f32",[[5,"0"]]]]]],"*",[6,"std.step",["d3",[6,"d.f32",[[5,"0"]]]]]]],[10,[1,"allPos","+","allNeg"]]]]},externals:{cornerSideOf:()=>ki,"std.step":()=>De,"d.f32":()=>a}})&&e.f)({})),U3=v.fn([l,l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=r.sub(s),i=$(__tsover_div(se(t.sub(s),n),b(se(n,n),Yi)),0,1),d=s.add(n.mul(i)),c=l(__tsover_mul(n.y,-1),n.x).div(b(j(n),Yi)),_=__tsover_mul(__tsover_mul(ks(o),-1),.004);return d.add(c.mul(_))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"refSide"}],body:[0,[[13,"ab",[6,[7,"b","sub"],["a"]]],[13,"t",[6,"std.clamp",[[1,[6,"std.dot",[[6,[7,"p","sub"],["a"]],"ab"]],"/",[6,"std.max",[[6,"std.dot",["ab","ab"]],"EPS"]]],[5,"0"],[5,"1"]]]],[13,"foot",[6,[7,"a","add"],[[6,[7,"ab","mul"],["t"]]]]],[13,"perp",[6,[7,[6,"d.vec2f",[[1,[7,"ab","y"],"*",[4,"-",[5,"1"]]],[7,"ab","x"]]],"div"],[[6,"std.max",[[6,"std.length",["ab"]],"EPS"]]]]],[13,"nudge",[1,[1,[6,"std.sign",["refSide"]],"*",[4,"-",[5,"1"]]],"*",[5,"0.004"]]],[10,[6,[7,"foot","add"],[[6,[7,"perp","mul"],["nudge"]]]]]]]},externals:{"std.clamp":()=>$,"std.dot":()=>se,"std.max":()=>b,EPS:()=>Yi,"d.vec2f":()=>l,"std.length":()=>j,"std.sign":()=>ks}})&&e.f)({})),Vd=v.fn([l,l,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=$3(t,s,r,o)>.5;return C(t,U3(t,s,r,ki(o,s,r)),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"o"}],body:[0,[[13,"inside",[1,[6,"cornerInsideTri",["p","a","b","o"]],">",[5,"0.5"]]],[13,"proj",[6,"cornerProjectToDiagonal",["p","a","b",[6,"cornerSideOf",["o","a","b"]]]]],[10,[6,"std.select",["p","proj","inside"]]]]]},externals:{cornerInsideTri:()=>$3,cornerProjectToDiagonal:()=>U3,cornerSideOf:()=>ki,"std.select":()=>C}})&&e.f)({})),yD=v.fn([l,a,l,l,l,l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(s,s),c=X(l(0,0),l(r.x,__tsover_sub(1,r.y)),d),_=X(l(1,0),l(o.x,__tsover_sub(1,o.y)),d),u=X(l(1,1),l(n.x,__tsover_sub(1,n.y)),d),m=X(l(0,1),l(i.x,__tsover_sub(1,i.y)),d),p=Vd(c,_,m,u),y=Vd(_,c,u,m),h=Vd(u,_,m,c),g=Vd(m,c,u,_),w=__tsover_sub(y.x,h.x),S=__tsover_sub(g.x,h.x),T=__tsover_sub(__tsover_add(__tsover_sub(p.x,y.x),h.x),g.x),A=__tsover_sub(y.y,h.y),P=__tsover_sub(g.y,h.y),U=__tsover_sub(__tsover_add(__tsover_sub(p.y,y.y),h.y),g.y),D=__tsover_sub(__tsover_mul(w,P),__tsover_mul(S,A)),O=Od(__tsover_sub(__tsover_mul(T,P),__tsover_mul(S,U)),D),L=Od(__tsover_sub(__tsover_mul(w,U),__tsover_mul(T,A)),D),G=__tsover_add(__tsover_sub(y.x,p.x),__tsover_mul(O,y.x)),W=__tsover_add(__tsover_sub(g.x,p.x),__tsover_mul(L,g.x)),K=p.x,Q=__tsover_add(__tsover_sub(y.y,p.y),__tsover_mul(O,y.y)),te=__tsover_add(__tsover_sub(g.y,p.y),__tsover_mul(L,g.y)),ee=p.y,he=__tsover_sub(te,__tsover_mul(ee,L)),Ee=__tsover_mul(__tsover_sub(W,__tsover_mul(K,L)),-1),Te=__tsover_sub(__tsover_mul(W,ee),__tsover_mul(K,te)),Ue=__tsover_mul(__tsover_sub(Q,__tsover_mul(ee,O)),-1),Me=__tsover_sub(G,__tsover_mul(K,O)),Pe=__tsover_mul(__tsover_sub(__tsover_mul(G,ee),__tsover_mul(K,Q)),-1),Re=__tsover_sub(__tsover_mul(Q,L),__tsover_mul(te,O)),de=__tsover_mul(__tsover_sub(__tsover_mul(G,L),__tsover_mul(W,O)),-1),je=__tsover_sub(__tsover_mul(G,te),__tsover_mul(W,Q)),fe=t.x,Ke=t.y,Ze=__tsover_add(__tsover_add(__tsover_mul(Re,fe),__tsover_mul(de,Ke)),je),at=Od(__tsover_add(__tsover_add(__tsover_mul(he,fe),__tsover_mul(Ee,Ke)),Te),Ze),Fe=Od(__tsover_add(__tsover_add(__tsover_mul(Ue,fe),__tsover_mul(Me,Ke)),Pe),Ze),Ie=__tsover_add(__tsover_add(__tsover_mul(G,he),__tsover_mul(W,Ue)),__tsover_mul(K,Re));return f(at,Fe,De(a(0),__tsover_mul(Ze,Ie)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"},{type:"i",name:"amount"},{type:"i",name:"c0"},{type:"i",name:"c1"},{type:"i",name:"c2"},{type:"i",name:"c3"}],body:[0,[[13,"amt",[6,"d.vec2f",["amount","amount"]]],[13,"r0",[6,"std.mix",[[6,"d.vec2f",[[5,"0"],[5,"0"]]],[6,"d.vec2f",[[7,"c0","x"],[1,[5,"1"],"-",[7,"c0","y"]]]],"amt"]]],[13,"r1",[6,"std.mix",[[6,"d.vec2f",[[5,"1"],[5,"0"]]],[6,"d.vec2f",[[7,"c1","x"],[1,[5,"1"],"-",[7,"c1","y"]]]],"amt"]]],[13,"r2",[6,"std.mix",[[6,"d.vec2f",[[5,"1"],[5,"1"]]],[6,"d.vec2f",[[7,"c2","x"],[1,[5,"1"],"-",[7,"c2","y"]]]],"amt"]]],[13,"r3",[6,"std.mix",[[6,"d.vec2f",[[5,"0"],[5,"1"]]],[6,"d.vec2f",[[7,"c3","x"],[1,[5,"1"],"-",[7,"c3","y"]]]],"amt"]]],[13,"q0",[6,"cornerConvexify",["r0","r1","r3","r2"]]],[13,"q1",[6,"cornerConvexify",["r1","r0","r2","r3"]]],[13,"q2",[6,"cornerConvexify",["r2","r1","r3","r0"]]],[13,"q3",[6,"cornerConvexify",["r3","r0","r2","r1"]]],[13,"dx1",[1,[7,"q1","x"],"-",[7,"q2","x"]]],[13,"dx2",[1,[7,"q3","x"],"-",[7,"q2","x"]]],[13,"dx3",[1,[1,[1,[7,"q0","x"],"-",[7,"q1","x"]],"+",[7,"q2","x"]],"-",[7,"q3","x"]]],[13,"dy1",[1,[7,"q1","y"],"-",[7,"q2","y"]]],[13,"dy2",[1,[7,"q3","y"],"-",[7,"q2","y"]]],[13,"dy3",[1,[1,[1,[7,"q0","y"],"-",[7,"q1","y"]],"+",[7,"q2","y"]],"-",[7,"q3","y"]]],[13,"denA",[1,[1,"dx1","*","dy2"],"-",[1,"dx2","*","dy1"]]],[13,"a13",[6,"cornerPinSafeDiv",[[1,[1,"dx3","*","dy2"],"-",[1,"dx2","*","dy3"]],"denA"]]],[13,"a23",[6,"cornerPinSafeDiv",[[1,[1,"dx1","*","dy3"],"-",[1,"dx3","*","dy1"]],"denA"]]],[13,"a11",[1,[1,[7,"q1","x"],"-",[7,"q0","x"]],"+",[1,"a13","*",[7,"q1","x"]]]],[13,"a21",[1,[1,[7,"q3","x"],"-",[7,"q0","x"]],"+",[1,"a23","*",[7,"q3","x"]]]],[13,"a31",[7,"q0","x"]],[13,"a12",[1,[1,[7,"q1","y"],"-",[7,"q0","y"]],"+",[1,"a13","*",[7,"q1","y"]]]],[13,"a22",[1,[1,[7,"q3","y"],"-",[7,"q0","y"]],"+",[1,"a23","*",[7,"q3","y"]]]],[13,"a32",[7,"q0","y"]],[13,"c00",[1,"a22","-",[1,"a32","*","a23"]]],[13,"c10",[1,[1,"a21","-",[1,"a31","*","a23"]],"*",[4,"-",[5,"1"]]]],[13,"c20",[1,[1,"a21","*","a32"],"-",[1,"a31","*","a22"]]],[13,"c01",[1,[1,"a12","-",[1,"a32","*","a13"]],"*",[4,"-",[5,"1"]]]],[13,"c11",[1,"a11","-",[1,"a31","*","a13"]]],[13,"c21",[1,[1,[1,"a11","*","a32"],"-",[1,"a31","*","a12"]],"*",[4,"-",[5,"1"]]]],[13,"c02",[1,[1,"a12","*","a23"],"-",[1,"a22","*","a13"]]],[13,"c12",[1,[1,[1,"a11","*","a23"],"-",[1,"a21","*","a13"]],"*",[4,"-",[5,"1"]]]],[13,"c22",[1,[1,"a11","*","a22"],"-",[1,"a21","*","a12"]]],[13,"px",[7,"coord","x"]],[13,"py",[7,"coord","y"]],[13,"den",[1,[1,[1,"c02","*","px"],"+",[1,"c12","*","py"]],"+","c22"]],[13,"su",[6,"cornerPinSafeDiv",[[1,[1,[1,"c00","*","px"],"+",[1,"c10","*","py"]],"+","c20"],"den"]]],[13,"sv",[6,"cornerPinSafeDiv",[[1,[1,[1,"c01","*","px"],"+",[1,"c11","*","py"]],"+","c21"],"den"]]],[13,"det",[1,[1,[1,"a11","*","c00"],"+",[1,"a21","*","c01"]],"+",[1,"a31","*","c02"]]],[13,"front",[6,"std.step",[[6,"d.f32",[[5,"0"]]],[1,"den","*","det"]]]],[10,[6,"d.vec3f",["su","sv","front"]]]]]},externals:{"d.vec2f":()=>l,"std.mix":()=>X,cornerConvexify:()=>Vd,cornerPinSafeDiv:()=>Od,"std.step":()=>De,"d.f32":()=>a,"d.vec3f":()=>f}})&&e.f)({})),hD=v.fn([l,a,a,a,a,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=l(t.x,__tsover_sub(1,t.y)),_=__tsover_div(__tsover_sub(d.x,c.x),n),u=__tsover_div(__tsover_sub(d.y,c.y),n),m=__tsover_mul(s,Le),p=__tsover_mul(r,Le),y=__tsover_mul(o,Le),h=H(m),g=Y(m),w=H(p),S=Y(p),T=__tsover_mul(bp(__tsover_mul(y,.5)),2),A=b(__tsover_add(h,__tsover_mul(__tsover_mul(g,_),T)),.001),P=__tsover_div(_,A),U=__tsover_div(__tsover_mul(u,h),A),D=b(__tsover_add(w,__tsover_mul(__tsover_mul(S,U),T)),.001),O=__tsover_div(__tsover_mul(P,w),D),L=__tsover_div(U,D),G=l(i.x,__tsover_sub(1,i.y));return l(O,L).add(c).sub(G).add(l(.5,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"pan"},{type:"i",name:"tilt"},{type:"i",name:"fov"},{type:"i",name:"zoom"},{type:"i",name:"offset"},{type:"i",name:"uv"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"x",[1,[1,[7,"uv","x"],"-",[7,"centerPos","x"]],"/","zoom"]],[13,"y",[1,[1,[7,"uv","y"],"-",[7,"centerPos","y"]],"/","zoom"]],[13,"panRad",[1,"pan","*","DEG_TO_RAD"]],[13,"tiltRad",[1,"tilt","*","DEG_TO_RAD"]],[13,"fovRad",[1,"fov","*","DEG_TO_RAD"]],[13,"cosPan",[6,"std.cos",["panRad"]]],[13,"sinPan",[6,"std.sin",["panRad"]]],[13,"cosTilt",[6,"std.cos",["tiltRad"]]],[13,"sinTilt",[6,"std.sin",["tiltRad"]]],[13,"perspectiveFactor",[1,[6,"std.tan",[[1,"fovRad","*",[5,"0.5"]]]],"*",[5,"2"]]],[13,"panDivisor",[1,"cosPan","+",[1,[1,"sinPan","*","x"],"*","perspectiveFactor"]]],[13,"safePanDivisor",[6,"std.max",["panDivisor",[5,"0.001"]]]],[13,"afterPanX",[1,"x","/","safePanDivisor"]],[13,"afterPanY",[1,[1,"y","*","cosPan"],"/","safePanDivisor"]],[13,"tiltDivisor",[1,"cosTilt","+",[1,[1,"sinTilt","*","afterPanY"],"*","perspectiveFactor"]]],[13,"safeTiltDivisor",[6,"std.max",["tiltDivisor",[5,"0.001"]]]],[13,"finalX",[1,[1,"afterPanX","*","cosTilt"],"/","safeTiltDivisor"]],[13,"finalY",[1,"afterPanY","/","safeTiltDivisor"]],[13,"offsetPos",[6,"d.vec2f",[[7,"offset","x"],[1,[5,"1"],"-",[7,"offset","y"]]]]],[10,[6,[7,[6,[7,[6,[7,[6,"d.vec2f",["finalX","finalY"]],"add"],["centerPos"]],"sub"],["offsetPos"]],"add"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.tan":()=>bp,"std.max":()=>b}})&&e.f)({})),C3=v.fn([l,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(r.x,__tsover_sub(1,r.y)),i=__tsover_mul(__tsover_sub(t.x,n.x),s),d=__tsover_sub(t.y,n.y),c=H(o),_=Y(o),u=__tsover_sub(__tsover_mul(i,c),__tsover_mul(d,_)),m=__tsover_add(__tsover_mul(i,_),__tsover_mul(d,c));return l(__tsover_add(__tsover_div(u,s),n.x),__tsover_add(m,n.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"},{type:"i",name:"angle"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dx",[1,[1,[7,"uv","x"],"-",[7,"centerPos","x"]],"*","aspect"]],[13,"dy",[1,[7,"uv","y"],"-",[7,"centerPos","y"]]],[13,"cosA",[6,"std.cos",["angle"]]],[13,"sinA",[6,"std.sin",["angle"]]],[13,"rotX",[1,[1,"dx","*","cosA"],"-",[1,"dy","*","sinA"]]],[13,"rotY",[1,[1,"dx","*","sinA"],"+",[1,"dy","*","cosA"]]],[10,[6,"d.vec2f",[[1,[1,"rotX","/","aspect"],"+",[7,"centerPos","x"]],[1,"rotY","+",[7,"centerPos","y"]]]]]]]},externals:{"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),xD=v.fn([l,a,a,a,a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=l(t.x,__tsover_sub(1,t.y)),m=j(l(__tsover_mul(__tsover_sub(c.x,u.x),_),__tsover_sub(c.y,u.y))),p=__tsover_mul(m,r),y=q(p),h=ue(p),g=__tsover_mul(s,Le),w=__tsover_mul(n,.137),S=__tsover_mul(Zn(__tsover_add(y,w)),g),T=__tsover_mul(Zn(__tsover_add(__tsover_add(y,1),w)),g),A=X(1,Zn(__tsover_add(y,42.7)),i),P=X(1,Zn(__tsover_add(__tsover_add(y,1),42.7)),i),U=__tsover_mul(__tsover_mul(d,.25),A),D=__tsover_mul(__tsover_mul(d,.25),P),O=__tsover_add(S,U),L=__tsover_add(T,D),G=__tsover_add(__tsover_sub(L,O),Xr),W=__tsover_sub(__tsover_sub(G,__tsover_mul(it,q(__tsover_div(G,it)))),Xr),K=__tsover_add(__tsover_mul(o,.5),.001),Q=re(__tsover_sub(.5,K),__tsover_add(.5,K),h);return C3(c,_,t,__tsover_add(O,__tsover_mul(W,Q)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"intensity"},{type:"i",name:"rings"},{type:"i",name:"smoothness"},{type:"i",name:"seed"},{type:"i",name:"speedRandomness"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dx",[1,[1,[7,"uv","x"],"-",[7,"centerPos","x"]],"*","aspect"]],[13,"dy",[1,[7,"uv","y"],"-",[7,"centerPos","y"]]],[13,"dist",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[13,"ringCoord",[1,"dist","*","rings"]],[13,"ringIndex",[6,"std.floor",["ringCoord"]]],[13,"ringFrac",[6,"std.fract",["ringCoord"]]],[13,"maxAngle",[1,"intensity","*","DEG_TO_RAD"]],[13,"seedOffset",[1,"seed","*",[5,"0.137"]]],[13,"staticA",[1,[6,"legacySinHash11",[[1,"ringIndex","+","seedOffset"]]],"*","maxAngle"]],[13,"staticB",[1,[6,"legacySinHash11",[[1,[1,"ringIndex","+",[5,"1"]],"+","seedOffset"]]],"*","maxAngle"]],[13,"ringSpeedA",[6,"std.mix",[[5,"1"],[6,"legacySinHash11",[[1,"ringIndex","+",[5,"42.7"]]]],"speedRandomness"]]],[13,"ringSpeedB",[6,"std.mix",[[5,"1"],[6,"legacySinHash11",[[1,[1,"ringIndex","+",[5,"1"]],"+",[5,"42.7"]]]],"speedRandomness"]]],[13,"animA",[1,[1,"animTime","*",[5,"0.25"]],"*","ringSpeedA"]],[13,"animB",[1,[1,"animTime","*",[5,"0.25"]],"*","ringSpeedB"]],[13,"totalA",[1,"staticA","+","animA"]],[13,"totalB",[1,"staticB","+","animB"]],[13,"wrapArg",[1,[1,"totalB","-","totalA"],"+","PI"]],[13,"diff",[1,[1,"wrapArg","-",[1,"TAU","*",[6,"std.floor",[[1,"wrapArg","/","TAU"]]]]],"-","PI"]],[13,"halfEdge",[1,[1,"smoothness","*",[5,"0.5"]],"+",[5,"0.001"]]],[13,"blend",[6,"std.smoothstep",[[1,[5,"0.5"],"-","halfEdge"],[1,[5,"0.5"],"+","halfEdge"],"ringFrac"]]],[13,"angle",[1,"totalA","+",[1,"diff","*","blend"]]],[10,[6,"csRotateUV",["uv","aspect","center","angle"]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.floor":()=>q,"std.fract":()=>ue,DEG_TO_RAD:()=>Le,legacySinHash11:()=>Zn,"std.mix":()=>X,PI:()=>Xr,TAU:()=>it,"std.smoothstep":()=>re,csRotateUV:()=>C3}})&&e.f)({})),gD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(t.x,s),t.y),c=__tsover_mul(n,.7),_=__tsover_mul(i,.2),u=__tsover_mul(go(f(__tsover_add(__tsover_mul(d.x,r),__tsover_mul(c,.3)),__tsover_add(__tsover_mul(d.y,r),__tsover_mul(c,.5)),_)),ao),m=l(H(u),Y(u)),p=__tsover_mul(n,.5),y=__tsover_mul(i,.15),h=__tsover_mul(go(f(__tsover_add(__tsover_add(__tsover_mul(d.x,__tsover_mul(r,2.3)),__tsover_mul(p,-.4)),173.5),__tsover_add(__tsover_add(__tsover_mul(d.y,__tsover_mul(r,2.3)),__tsover_mul(p,.3)),291.7),__tsover_add(y,50))),ao),g=l(H(h),Y(h)),w=__tsover_mul(n,.3),S=__tsover_mul(i,.1),T=__tsover_mul(go(f(__tsover_add(__tsover_add(__tsover_mul(d.x,__tsover_mul(r,4.7)),__tsover_mul(w,.2)),527.3),__tsover_add(__tsover_add(__tsover_mul(d.y,__tsover_mul(r,4.7)),__tsover_mul(w,-.6)),839.1),__tsover_add(S,100))),ao),A=l(H(T),Y(T)),P=m.add(g.mul(.5)).add(A.mul(.25)),U=b(j(P),.001),D=P.div(U),O=l(__tsover_div(__tsover_mul(D.x,o),s),__tsover_mul(D.y,o));return l(__tsover_add(t.x,O.x),__tsover_add(t.y,O.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"scale"},{type:"i",name:"strength"},{type:"i",name:"time"},{type:"i",name:"evolutionTime"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"drift1",[1,"time","*",[5,"0.7"]]],[13,"evolve1",[1,"evolutionTime","*",[5,"0.2"]]],[13,"angle1",[1,[6,"mxNoiseFloat3",[[6,"d.vec3f",[[1,[1,[7,"aspectCorrectedUV","x"],"*","scale"],"+",[1,"drift1","*",[5,"0.3"]]],[1,[1,[7,"aspectCorrectedUV","y"],"*","scale"],"+",[1,"drift1","*",[5,"0.5"]]],"evolve1"]]]],"*","TWO_PI"]],[13,"flow1",[6,"d.vec2f",[[6,"std.cos",["angle1"]],[6,"std.sin",["angle1"]]]]],[13,"drift2",[1,"time","*",[5,"0.5"]]],[13,"evolve2",[1,"evolutionTime","*",[5,"0.15"]]],[13,"angle2",[1,[6,"mxNoiseFloat3",[[6,"d.vec3f",[[1,[1,[1,[7,"aspectCorrectedUV","x"],"*",[1,"scale","*",[5,"2.3"]]],"+",[1,"drift2","*",[4,"-",[5,"0.4"]]]],"+",[5,"173.5"]],[1,[1,[1,[7,"aspectCorrectedUV","y"],"*",[1,"scale","*",[5,"2.3"]]],"+",[1,"drift2","*",[5,"0.3"]]],"+",[5,"291.7"]],[1,"evolve2","+",[5,"50"]]]]]],"*","TWO_PI"]],[13,"flow2",[6,"d.vec2f",[[6,"std.cos",["angle2"]],[6,"std.sin",["angle2"]]]]],[13,"drift3",[1,"time","*",[5,"0.3"]]],[13,"evolve3",[1,"evolutionTime","*",[5,"0.1"]]],[13,"angle3",[1,[6,"mxNoiseFloat3",[[6,"d.vec3f",[[1,[1,[1,[7,"aspectCorrectedUV","x"],"*",[1,"scale","*",[5,"4.7"]]],"+",[1,"drift3","*",[5,"0.2"]]],"+",[5,"527.3"]],[1,[1,[1,[7,"aspectCorrectedUV","y"],"*",[1,"scale","*",[5,"4.7"]]],"+",[1,"drift3","*",[4,"-",[5,"0.6"]]]],"+",[5,"839.1"]],[1,"evolve3","+",[5,"100"]]]]]],"*","TWO_PI"]],[13,"flow3",[6,"d.vec2f",[[6,"std.cos",["angle3"]],[6,"std.sin",["angle3"]]]]],[13,"combinedFlow",[6,[7,[6,[7,"flow1","add"],[[6,[7,"flow2","mul"],[[5,"0.5"]]]]],"add"],[[6,[7,"flow3","mul"],[[5,"0.25"]]]]]],[13,"flowLength",[6,"std.max",[[6,"std.length",["combinedFlow"]],[5,"0.001"]]]],[13,"normalizedFlow",[6,[7,"combinedFlow","div"],["flowLength"]]],[13,"finalFlow",[6,"d.vec2f",[[1,[1,[7,"normalizedFlow","x"],"*","strength"],"/","aspect"],[1,[7,"normalizedFlow","y"],"*","strength"]]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[7,"finalFlow","x"]],[1,[7,"uv","y"],"+",[7,"finalFlow","y"]]]]]]]},externals:{"d.vec2f":()=>l,mxNoiseFloat3:()=>go,"d.vec3f":()=>f,TWO_PI:()=>ao,"std.cos":()=>H,"std.sin":()=>Y,"std.max":()=>b,"std.length":()=>j}})&&e.f)({})),bD=v.fn([l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,Le),d=l(H(i),Y(i)),c=l(__tsover_mul(__tsover_sub(t.x,.5),s),__tsover_sub(t.y,.5)),_=se(c,d),u=__tsover_mul(.5,__tsover_add(__tsover_mul(s,z(d.x)),z(d.y))),m=__tsover_add(__tsover_div(_,__tsover_mul(2,u)),.5),p=q(__tsover_mul(m,b(o,1))),y=__tsover_sub(__tsover_mul(ue(__tsover_mul(p,.5)),4),1),h=l(-d.y,d.x),g=__tsover_mul(.5,__tsover_add(__tsover_mul(s,z(d.y)),z(d.x))),w=__tsover_mul(__tsover_mul(n,__tsover_mul(2.02,g)),y),S=c.add(h.mul(w));return l(__tsover_add(__tsover_div(S.x,s),.5),__tsover_add(S.y,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angleDeg"},{type:"i",name:"sliceCount"},{type:"i",name:"progress"}],body:[0,[[13,"a",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"dir",[6,"d.vec2f",[[6,"std.cos",["a"]],[6,"std.sin",["a"]]]]],[13,"p",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],[1,[7,"uv","y"],"-",[5,"0.5"]]]]],[13,"grad",[6,"std.dot",["p","dir"]]],[13,"ext",[1,[5,"0.5"],"*",[1,[1,"aspect","*",[6,"std.abs",[[7,"dir","x"]]]],"+",[6,"std.abs",[[7,"dir","y"]]]]]],[13,"t",[1,[1,"grad","/",[1,[5,"2"],"*","ext"]],"+",[5,"0.5"]]],[13,"idx",[6,"std.floor",[[1,"t","*",[6,"std.max",["sliceCount",[5,"1"]]]]]]],[13,"sign",[1,[1,[6,"std.fract",[[1,"idx","*",[5,"0.5"]]]],"*",[5,"4"]],"-",[5,"1"]]],[13,"perp",[6,"d.vec2f",[[4,"-",[7,"dir","y"]],[7,"dir","x"]]]],[13,"extPerp",[1,[5,"0.5"],"*",[1,[1,"aspect","*",[6,"std.abs",[[7,"dir","y"]]]],"+",[6,"std.abs",[[7,"dir","x"]]]]]],[13,"slide",[1,[1,"progress","*",[1,[5,"2.02"],"*","extPerp"]],"*","sign"]],[13,"q",[6,[7,"p","add"],[[6,[7,"perp","mul"],["slide"]]]]],[10,[6,"d.vec2f",[[1,[1,[7,"q","x"],"/","aspect"],"+",[5,"0.5"]],[1,[7,"q","y"],"+",[5,"0.5"]]]]]]]},externals:{DEG_TO_RAD:()=>Le,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.abs":()=>z,"std.floor":()=>q,"std.max":()=>b,"std.fract":()=>ue}})&&e.f)({})),R3=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(r,Le),i=H(n),d=Y(n),c=__tsover_mul(t.x,s),_=t.y,u=__tsover_sub(c,__tsover_mul(s,.5)),m=__tsover_sub(_,.5),p=__tsover_add(__tsover_mul(u,i),__tsover_mul(m,d)),y=__tsover_add(__tsover_mul(__tsover_mul(u,d),-1),__tsover_mul(m,i)),h=__tsover_add(y,o),g=__tsover_sub(__tsover_mul(p,i),__tsover_mul(h,d)),w=__tsover_add(__tsover_mul(p,d),__tsover_mul(h,i));return l(__tsover_add(__tsover_div(g,s),.5),__tsover_add(w,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"offset"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"au",[1,[7,"uv","x"],"*","aspect"]],[13,"av",[7,"uv","y"]],[13,"cu",[1,"au","-",[1,"aspect","*",[5,"0.5"]]]],[13,"cv",[1,"av","-",[5,"0.5"]]],[13,"projectedU",[1,[1,"cu","*","cosA"],"+",[1,"cv","*","sinA"]]],[13,"projectedV",[1,[1,[1,"cu","*","sinA"],"*",[4,"-",[5,"1"]]],"+",[1,"cv","*","cosA"]]],[13,"distPV",[1,"projectedV","+","offset"]],[13,"dcu",[1,[1,"projectedU","*","cosA"],"-",[1,"distPV","*","sinA"]]],[13,"dcv",[1,[1,"projectedU","*","sinA"],"+",[1,"distPV","*","cosA"]]],[10,[6,"d.vec2f",[[1,[1,"dcu","/","aspect"],"+",[5,"0.5"]],[1,"dcv","+",[5,"0.5"]]]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),wD=v.fn([a,a,a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_mul(s,Le),_=H(c),u=Y(c),m=b(d,1),p=__tsover_mul(i.x,d),y=i.y,h=__tsover_sub(p,__tsover_mul(d,.5)),g=__tsover_sub(y,.5),w=__tsover_add(__tsover_mul(h,_),__tsover_mul(g,u)),S=q(__tsover_div(__tsover_mul(w,t),m)),T=__tsover_mul(o,.137),A=Zn(__tsover_add(S,T)),P=Zn(__tsover_add(__tsover_add(S,T),42.7)),U=__tsover_mul(__tsover_mul(n,P),.2);return R3(i,d,s,__tsover_mul(__tsover_add(A,U),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"count"},{type:"i",name:"angle"},{type:"i",name:"intensity"},{type:"i",name:"seed"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"longestAxis",[6,"std.max",["aspect",[5,"1"]]]],[13,"au",[1,[7,"uv","x"],"*","aspect"]],[13,"av",[7,"uv","y"]],[13,"cu",[1,"au","-",[1,"aspect","*",[5,"0.5"]]]],[13,"cv",[1,"av","-",[5,"0.5"]]],[13,"projectedU",[1,[1,"cu","*","cosA"],"+",[1,"cv","*","sinA"]]],[13,"barCoord",[1,[1,"projectedU","*","count"],"/","longestAxis"]],[13,"barIndex",[6,"std.floor",["barCoord"]]],[13,"seedOffset",[1,"seed","*",[5,"0.137"]]],[13,"staticOffset",[6,"legacySinHash11",[[1,"barIndex","+","seedOffset"]]]],[13,"barSpeed",[6,"legacySinHash11",[[1,[1,"barIndex","+","seedOffset"],"+",[5,"42.7"]]]]],[13,"animOffset",[1,[1,"animTime","*","barSpeed"],"*",[5,"0.2"]]],[13,"offset",[1,[1,"staticOffset","+","animOffset"],"*","intensity"]],[10,[6,"barSampleUV",["uv","aspect","angle","offset"]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.max":()=>b,"std.floor":()=>q,legacySinHash11:()=>Zn,barSampleUV:()=>R3}})&&e.f)({})),TD=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=r>1,n=b(C(__tsover_mul(s,r),s,o),1),i=b(C(s,__tsover_div(s,r),o),1),d=q(__tsover_mul(t.x,n)),c=q(__tsover_mul(t.y,i));return l(__tsover_div(__tsover_add(d,.5),n),__tsover_div(__tsover_add(c,.5),i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"gridSize"},{type:"i",name:"aspect"}],body:[0,[[13,"isWide",[1,"aspect",">",[5,"1"]]],[13,"cellsX",[6,"std.max",[[6,"std.select",[[1,"gridSize","*","aspect"],"gridSize","isWide"]],[5,"1"]]]],[13,"cellsY",[6,"std.max",[[6,"std.select",["gridSize",[1,"gridSize","/","aspect"],"isWide"]],[5,"1"]]]],[13,"cellIndexX",[6,"std.floor",[[1,[7,"uv","x"],"*","cellsX"]]]],[13,"cellIndexY",[6,"std.floor",[[1,[7,"uv","y"],"*","cellsY"]]]],[10,[6,"d.vec2f",[[1,[1,"cellIndexX","+",[5,"0.5"]],"/","cellsX"],[1,[1,"cellIndexY","+",[5,"0.5"]],"/","cellsY"]]]]]]},externals:{"std.max":()=>b,"std.select":()=>C,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),SD=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let o=$(s,l(-.1,-.1),l(.1,.1));return t.sub(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"disp"}],body:[0,[[13,"maxDisp",[5,"0.1"]],[13,"clamped",[6,"std.clamp",["disp",[6,"d.vec2f",[[4,"-","maxDisp"],[4,"-","maxDisp"]]],[6,"d.vec2f",["maxDisp","maxDisp"]]]]],[10,[6,[7,"uv","sub"],["clamped"]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l}})&&e.f)({})),AD=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=s.mul(__tsover_mul(r,.1)),n=.15,i=$(o,l(-n,-n),l(n,n));return t.sub(i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"disp"},{type:"i",name:"intensity"}],body:[0,[[13,"scaled",[6,[7,"disp","mul"],[[1,"intensity","*",[5,"0.1"]]]]],[13,"maxDisp",[5,"0.15"]],[13,"clamped",[6,"std.clamp",["scaled",[6,"d.vec2f",[[4,"-","maxDisp"],[4,"-","maxDisp"]]],[6,"d.vec2f",["maxDisp","maxDisp"]]]]],[10,[6,[7,"uv","sub"],["clamped"]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l}})&&e.f)({})),MD=v.fn([l,x,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(s.w,1e-4),i=__tsover_div(__tsover_mul(__tsover_mul(__tsover_mul(__tsover_sub(__tsover_div(s.x,n),.5),2),s.w),o),r),d=__tsover_mul(__tsover_mul(__tsover_mul(__tsover_sub(__tsover_div(s.y,n),.5),2),s.w),o);return l(__tsover_add(t.x,i),__tsover_add(t.y,d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"src"},{type:"i",name:"aspect"},{type:"i",name:"amount"}],body:[0,[[13,"a",[6,"std.max",[[7,"src","w"],[5,"0.0001"]]]],[13,"dx",[1,[1,[1,[1,[1,[1,[7,"src","x"],"/","a"],"-",[5,"0.5"]],"*",[5,"2"]],"*",[7,"src","w"]],"*","amount"],"/","aspect"]],[13,"dy",[1,[1,[1,[1,[1,[7,"src","y"],"/","a"],"-",[5,"0.5"]],"*",[5,"2"]],"*",[7,"src","w"]],"*","amount"]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+","dx"],[1,[7,"uv","y"],"+","dy"]]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),PD=v.fn([l,x,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=b(s.w,1e-4),d=se(f(__tsover_div(s.x,i),__tsover_div(s.y,i),__tsover_div(s.z,i)),f(.2126,.7152,.0722)),c=__tsover_mul(__tsover_mul(__tsover_mul(__tsover_sub(d,.5),2),s.w),o),_=__tsover_mul(n,Le),u=__tsover_div(__tsover_mul(c,H(_)),r),m=__tsover_mul(c,Y(_));return l(__tsover_add(t.x,u),__tsover_add(t.y,m))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"src"},{type:"i",name:"aspect"},{type:"i",name:"amount"},{type:"i",name:"angleDeg"}],body:[0,[[13,"a",[6,"std.max",[[7,"src","w"],[5,"0.0001"]]]],[13,"lum",[6,"std.dot",[[6,"d.vec3f",[[1,[7,"src","x"],"/","a"],[1,[7,"src","y"],"/","a"],[1,[7,"src","z"],"/","a"]]],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"scalar",[1,[1,[1,[1,"lum","-",[5,"0.5"]],"*",[5,"2"]],"*",[7,"src","w"]],"*","amount"]],[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"dx",[1,[1,"scalar","*",[6,"std.cos",["angleRad"]]],"/","aspect"]],[13,"dy",[1,"scalar","*",[6,"std.sin",["angleRad"]]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+","dx"],[1,[7,"uv","y"],"+","dy"]]]]]]},externals:{"std.max":()=>b,"std.dot":()=>se,"d.vec3f":()=>f,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),Rm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({refractedUV:l,chrOff:l,slope:a}),"FlutedGeom"),ED=v.fn([l,a,a,a,a,a,a,a,a,a,f],Rm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=m.x,y=m.y,h=m.z,g=__tsover_div(__tsover_mul(o,Xr),180),w=H(g),S=Y(g),T=l(__tsover_mul(__tsover_sub(t.x,.5),s),__tsover_sub(t.y,.5)),A=__tsover_add(__tsover_mul(T.x,w),__tsover_mul(T.y,S)),P=__tsover_add(__tsover_mul(-T.x,S),__tsover_mul(T.y,w)),U=__tsover_mul(Y(__tsover_add(__tsover_mul(__tsover_mul(P,c),__tsover_mul(Xr,2)),__tsover_mul(r,2))),d),D=__tsover_add(A,__tsover_mul(h,U)),O=__tsover_add(__tsover_mul(D,n),r),L=__tsover_mul(__tsover_sub(ue(O),.5),2),G=b(z(L),1e-4),W=X(p,y,i),K=__tsover_mul(ks(L),Ce(G,W)),Q=__tsover_div(.5,b(n,.001)),te=-__tsover_mul(__tsover_mul(K,_),Q),ee=l(__tsover_add(t.x,__tsover_div(__tsover_mul(te,w),s)),__tsover_add(t.y,__tsover_mul(te,S))),he=__tsover_mul(__tsover_mul(te,u),.5);return Rm({refractedUV:ee,chrOff:l(__tsover_div(__tsover_mul(he,w),s),__tsover_mul(he,S)),slope:K})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"t"},{type:"i",name:"angleDeg"},{type:"i",name:"frequency"},{type:"i",name:"softness"},{type:"i",name:"waveAmp"},{type:"i",name:"waveFreq"},{type:"i",name:"refraction"},{type:"i",name:"aberration"},{type:"i",name:"shapeParams"}],body:[0,[[13,"expHi",[7,"shapeParams","x"]],[13,"expLo",[7,"shapeParams","y"]],[13,"wavesFlag",[7,"shapeParams","z"]],[13,"r",[1,[1,"angleDeg","*","PI"],"/",[5,"180"]]],[13,"cosA",[6,"std.cos",["r"]]],[13,"sinA",[6,"std.sin",["r"]]],[13,"aspCorr",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],[1,[7,"uv","y"],"-",[5,"0.5"]]]]],[13,"u",[1,[1,[7,"aspCorr","x"],"*","cosA"],"+",[1,[7,"aspCorr","y"],"*","sinA"]]],[13,"v",[1,[1,[4,"-",[7,"aspCorr","x"]],"*","sinA"],"+",[1,[7,"aspCorr","y"],"*","cosA"]]],[13,"waveTerm",[1,[6,"std.sin",[[1,[1,[1,"v","*","waveFreq"],"*",[1,"PI","*",[5,"2"]]],"+",[1,"t","*",[5,"2"]]]]],"*","waveAmp"]],[13,"fluteU",[1,"u","+",[1,"wavesFlag","*","waveTerm"]]],[13,"flutePos",[1,[1,"fluteU","*","frequency"],"+","t"]],[13,"cellPos",[1,[1,[6,"std.fract",["flutePos"]],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"absCell",[6,"std.max",[[6,"std.abs",["cellPos"]],[5,"0.0001"]]]],[13,"exponent",[6,"std.mix",["expHi","expLo","softness"]]],[13,"slope",[1,[6,"std.sign",["cellPos"]],"*",[6,"std.pow",["absCell","exponent"]]]],[13,"halfCell",[1,[5,"0.5"],"/",[6,"std.max",["frequency",[5,"0.001"]]]]],[13,"refrU",[4,"-",[1,[1,"slope","*","refraction"],"*","halfCell"]]],[13,"refractedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[1,"refrU","*","cosA"],"/","aspect"]],[1,[7,"uv","y"],"+",[1,"refrU","*","sinA"]]]]],[13,"chrU",[1,[1,"refrU","*","aberration"],"*",[5,"0.5"]]],[13,"chrOff",[6,"d.vec2f",[[1,[1,"chrU","*","cosA"],"/","aspect"],[1,"chrU","*","sinA"]]]],[10,[6,"FlutedGeom",[[104,{refractedUV:"refractedUV",chrOff:"chrOff",slope:"slope"}]]]]]]},externals:{PI:()=>Xr,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l,"std.fract":()=>ue,"std.max":()=>b,"std.abs":()=>z,"std.mix":()=>X,"std.sign":()=>ks,"std.pow":()=>Ce,FlutedGeom:()=>Rm}})&&e.f)({})),kD=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=oe(__tsover_mul(t,t),1),i=be(__tsover_sub(1,n)),d=__tsover_div(__tsover_mul(s,Xr),360),c=Y(d),_=H(d),u=b(__tsover_add(__tsover_mul(t,c),__tsover_mul(i,_)),0),m=$l(__tsover_sub(8,__tsover_mul(o,7))),p=Ce(__tsover_sub(1,i),5),y=__tsover_add(.04,__tsover_mul(.96,p));return __tsover_mul(__tsover_mul(Ce(u,m),y),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"slope"},{type:"i",name:"lightAngleDeg"},{type:"i",name:"intensity"},{type:"i",name:"softness"}],body:[0,[[13,"slopeSq",[6,"std.min",[[1,"slope","*","slope"],[5,"1"]]]],[13,"nz",[6,"std.sqrt",[[1,[5,"1"],"-","slopeSq"]]]],[13,"half",[1,[1,"lightAngleDeg","*","PI"],"/",[5,"360"]]],[13,"hx",[6,"std.sin",["half"]]],[13,"hy",[6,"std.cos",["half"]]],[13,"nDotH",[6,"std.max",[[1,[1,"slope","*","hx"],"+",[1,"nz","*","hy"]],[5,"0"]]]],[13,"shininess",[6,"std.exp2",[[1,[5,"8"],"-",[1,"softness","*",[5,"7"]]]]]],[13,"fresnel",[6,"std.pow",[[1,[5,"1"],"-","nz"],[5,"5"]]]],[13,"fresnelMix",[1,[5,"0.04"],"+",[1,[5,"0.96"],"*","fresnel"]]],[10,[1,[1,[6,"std.pow",["nDotH","shininess"]],"*","fresnelMix"],"*","intensity"]]]]},externals:{"std.min":()=>oe,"std.sqrt":()=>be,PI:()=>Xr,"std.sin":()=>Y,"std.cos":()=>H,"std.max":()=>b,"std.exp2":()=>$l,"std.pow":()=>Ce}})&&e.f)({})),zm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({curlUV:l,theta:a,distPastCrease:a,distIntoPeel:a,flatReach:a,peelReach:a,foldBlend:a,showCurl:a}),"PagePeelGeom"),$D=v.fn([l,a,a,a,a,a,a,a],zm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=l(__tsover_mul(t.x,s),t.y),u=l(__tsover_mul(r,s),o),m=l(__tsover_mul(n,s),i).sub(u),p=j(m),y=m.mul(__tsover_div(1,p)),h=se(_.sub(u),y),g=__tsover_mul(d,p),w=g,S=b(__tsover_mul(c,p),1e-4),T=__tsover_div(g,S),A=__tsover_div(__tsover_sub(h,w),S),P=xp($(A,0,1)),U=__tsover_mul(De(0,A),De(A,1)),D=De(P,T),O=__tsover_sub(g,__tsover_mul(S,P)),L=_.add(y.mul(__tsover_sub(O,h))),G=l(__tsover_div(L.x,s),L.y),W=__tsover_mul(__tsover_mul(__tsover_mul(De(0,G.x),De(G.x,1)),De(0,G.y)),De(G.y,1)),K=__tsover_sub(1,H($(T,0,Gl))),Q=__tsover_mul(S,K),te=b(__tsover_add(S,__tsover_mul(Q,.5)),1e-4),ee=__tsover_sub(h,w),he=b(__tsover_mul(Q,2.5),1e-4);return zm({curlUV:G,theta:P,distPastCrease:ee,distIntoPeel:__tsover_sub(w,h),flatReach:te,peelReach:he,foldBlend:re(__tsover_sub(w,.0015),__tsover_add(w,.0015),h),showCurl:__tsover_mul(__tsover_mul(U,D),W)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"cornerX"},{type:"i",name:"cornerY"},{type:"i",name:"oppX"},{type:"i",name:"oppY"},{type:"i",name:"amount"},{type:"i",name:"radius"}],body:[0,[[13,"pA",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"cornerA",[6,"d.vec2f",[[1,"cornerX","*","aspect"],"cornerY"]]],[13,"oppA",[6,"d.vec2f",[[1,"oppX","*","aspect"],"oppY"]]],[13,"axisVec",[6,[7,"oppA","sub"],["cornerA"]]],[13,"L",[6,"std.length",["axisVec"]]],[13,"axis",[6,[7,"axisVec","mul"],[[1,[5,"1"],"/","L"]]]],[13,"t",[6,"std.dot",[[6,[7,"pA","sub"],["cornerA"]],"axis"]]],[13,"peel",[1,"amount","*","L"]],[13,"cFold","peel"],[13,"R",[6,"std.max",[[1,"radius","*","L"],[5,"0.0001"]]]],[13,"thetaMax",[1,"peel","/","R"]],[13,"X",[1,[1,"t","-","cFold"],"/","R"]],[13,"Xc",[6,"std.clamp",["X",[5,"0"],[5,"1"]]]],[13,"theta",[6,"std.asin",["Xc"]]],[13,"inBand",[1,[6,"std.step",[[5,"0"],"X"]],"*",[6,"std.step",["X",[5,"1"]]]]],[13,"paper",[6,"std.step",["theta","thetaMax"]]],[13,"cCurl",[1,"peel","-",[1,"R","*","theta"]]],[13,"sourceA",[6,[7,"pA","add"],[[6,[7,"axis","mul"],[[1,"cCurl","-","t"]]]]]],[13,"curlUV",[6,"d.vec2f",[[1,[7,"sourceA","x"],"/","aspect"],[7,"sourceA","y"]]]],[13,"curlInBounds",[1,[1,[1,[6,"std.step",[[5,"0"],[7,"curlUV","x"]]],"*",[6,"std.step",[[7,"curlUV","x"],[5,"1"]]]],"*",[6,"std.step",[[5,"0"],[7,"curlUV","y"]]]],"*",[6,"std.step",[[7,"curlUV","y"],[5,"1"]]]]],[13,"liftFrac",[1,[5,"1"],"-",[6,"std.cos",[[6,"std.clamp",["thetaMax",[5,"0"],"HALF_PI"]]]]]],[13,"lipHeight",[1,"R","*","liftFrac"]],[13,"flatReach",[6,"std.max",[[1,"R","+",[1,"lipHeight","*",[5,"0.5"]]],[5,"0.0001"]]]],[13,"distPastCrease",[1,"t","-","cFold"]],[13,"peelReach",[6,"std.max",[[1,"lipHeight","*",[5,"2.5"]],[5,"0.0001"]]]],[13,"distIntoPeel",[1,"cFold","-","t"]],[13,"foldBlend",[6,"std.smoothstep",[[1,"cFold","-",[5,"0.0015"]],[1,"cFold","+",[5,"0.0015"]],"t"]]],[13,"showCurl",[1,[1,"inBand","*","paper"],"*","curlInBounds"]],[10,[6,"PagePeelGeom",[[104,{curlUV:"curlUV",theta:"theta",distPastCrease:"distPastCrease",distIntoPeel:"distIntoPeel",flatReach:"flatReach",peelReach:"peelReach",foldBlend:"foldBlend",showCurl:"showCurl"}]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.dot":()=>se,"std.max":()=>b,"std.clamp":()=>$,"std.asin":()=>xp,"std.step":()=>De,"std.cos":()=>H,HALF_PI:()=>Gl,"std.smoothstep":()=>re,PagePeelGeom:()=>zm}})&&e.f)({})),UD=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=H(t);return __tsover_sub(1,__tsover_mul(s,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"theta"},{type:"i",name:"shading"}],body:[0,[[13,"facing",[6,"std.cos",["theta"]]],[10,[1,[5,"1"],"-",[1,"shading","*","facing"]]]]]},externals:{"std.cos":()=>H}})&&e.f)({})),CD=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(t,Gl),n=X(.05,.4,r),i=__tsover_div(__tsover_sub(o,.65),n);return __tsover_mul(ct(__tsover_mul(__tsover_mul(i,i),-.5)),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"theta"},{type:"i",name:"intensity"},{type:"i",name:"softness"}],body:[0,[[13,"thetaN",[1,"theta","/","HALF_PI"]],[13,"specSigma",[6,"std.mix",[[5,"0.05"],[5,"0.4"],"softness"]]],[13,"specDelta",[1,[1,"thetaN","-",[5,"0.65"]],"/","specSigma"]],[10,[1,[6,"std.exp",[[1,[1,"specDelta","*","specDelta"],"*",[4,"-",[5,"0.5"]]]]],"*","intensity"]]]]},externals:{HALF_PI:()=>Gl,"std.mix":()=>X,"std.exp":()=>ct}})&&e.f)({})),eu=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(re(0,.04,t),Ce(__tsover_sub(1,t),.7))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"amount"}],body:[0,[[10,[1,[6,"std.smoothstep",[[5,"0"],[5,"0.04"],"amount"]],"*",[6,"std.pow",[[1,[5,"1"],"-","amount"],[5,"0.7"]]]]]]]},externals:{"std.smoothstep":()=>re,"std.pow":()=>Ce}})&&e.f)({})),tu=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_mul(Ce(__tsover_sub(1,re(0,s,t)),r),De(0,t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"reach"},{type:"i",name:"exponent"}],body:[0,[[10,[1,[6,"std.pow",[[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"reach","dist"]]],"exponent"]],"*",[6,"std.step",[[5,"0"],"dist"]]]]]]},externals:{"std.pow":()=>Ce,"std.smoothstep":()=>re,"std.step":()=>De}})&&e.f)({})),RD=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(tu(t,s,2),eu(r));return __tsover_sub(1,__tsover_mul(__tsover_mul(o,n),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"reach"},{type:"i",name:"amount"},{type:"i",name:"shadow"}],body:[0,[[13,"fall",[1,[6,"shadowFalloff",["dist","reach",[5,"2"]]],"*",[6,"liftShadowStrength",["amount"]]]],[10,[1,[5,"1"],"-",[1,[1,"shadow","*","fall"],"*",[5,"0.5"]]]]]]},externals:{shadowFalloff:()=>tu,liftShadowStrength:()=>eu}})&&e.f)({})),zD=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(__tsover_mul(tu(t,s,1.5),eu(r)),o);return __tsover_mul(n,.6)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"reach"},{type:"i",name:"amount"},{type:"i",name:"shadow"}],body:[0,[[13,"fall",[1,[1,[6,"shadowFalloff",["dist","reach",[5,"1.5"]]],"*",[6,"liftShadowStrength",["amount"]]],"*","shadow"]],[10,[1,"fall","*",[5,"0.6"]]]]]},externals:{shadowFalloff:()=>tu,liftShadowStrength:()=>eu}})&&e.f)({})),GD=v.fn([x,x,a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=x(t.xyz.mul(r).add(__tsover_mul(o,t.w)),t.w),u=x(s.xyz.mul(n),s.w);return C(X(x(0,0,0,i),u,x(d)),_,c>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"curlSample"},{type:"i",name:"flatSample"},{type:"i",name:"curlBright"},{type:"i",name:"spec"},{type:"i",name:"flatShade"},{type:"i",name:"peelAlpha"},{type:"i",name:"foldBlend"},{type:"i",name:"showCurl"}],body:[0,[[13,"litRgb",[6,[7,[6,[7,[7,"curlSample","xyz"],"mul"],["curlBright"]],"add"],[[1,"spec","*",[7,"curlSample","w"]]]]],[13,"curlColor",[6,"d.vec4f",["litRgb",[7,"curlSample","w"]]]],[13,"flatColor",[6,"d.vec4f",[[6,[7,[7,"flatSample","xyz"],"mul"],["flatShade"]],[7,"flatSample","w"]]]],[13,"peeledColor",[6,"d.vec4f",[[5,"0"],[5,"0"],[5,"0"],"peelAlpha"]]],[13,"base",[6,"std.mix",["peeledColor","flatColor",[6,"d.vec4f",["foldBlend"]]]]],[10,[6,"std.select",["base","curlColor",[1,"showCurl",">",[5,"0.5"]]]]]]]},externals:{"d.vec4f":()=>x,"std.mix":()=>X,"std.select":()=>C}})&&e.f)({})),Gm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({uv:l,coverage:a,normal:f}),"SphereBulge"),YD=v.fn([l,l,l,a,a],Gm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_div(s.x,s.y),d=r.x,c=__tsover_sub(1,r.y),_=__tsover_mul(__tsover_sub(t.x,d),i),u=__tsover_sub(t.y,c),m=__tsover_div(__tsover_mul(_,2),o),p=__tsover_div(__tsover_mul(u,2),o),y=__tsover_add(__tsover_mul(m,m),__tsover_mul(p,p)),h=__tsover_sub(1,re(.98,1,y)),g=be(b(a(0),__tsover_sub(1,y))),w=__tsover_add(1,__tsover_mul(g,n)),S=__tsover_div(__tsover_mul(__tsover_div(m,w),o),2),T=__tsover_div(__tsover_mul(__tsover_div(p,w),o),2),A=__tsover_add(__tsover_div(S,i),d),P=__tsover_add(T,c),U=as(f(m,p,g));return Gm({uv:l(A,P),coverage:h,normal:U})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"center"},{type:"i",name:"radius"},{type:"i",name:"depth"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"centerX",[7,"center","x"]],[13,"centerY",[1,[5,"1"],"-",[7,"center","y"]]],[13,"cuX",[1,[1,[7,"uv","x"],"-","centerX"],"*","aspect"]],[13,"cuY",[1,[7,"uv","y"],"-","centerY"]],[13,"sphereX",[1,[1,"cuX","*",[5,"2"]],"/","radius"]],[13,"sphereY",[1,[1,"cuY","*",[5,"2"]],"/","radius"]],[13,"radiusSq",[1,[1,"sphereX","*","sphereX"],"+",[1,"sphereY","*","sphereY"]]],[13,"sphereAlpha",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0.98"],[5,"1"],"radiusSq"]]]],[13,"z",[6,"std.sqrt",[[6,"std.max",[[6,"d.f32",[[5,"0"]]],[1,[5,"1"],"-","radiusSq"]]]]]],[13,"depthFactor",[1,[5,"1"],"+",[1,"z","*","depth"]]],[13,"finalX",[1,[1,[1,"sphereX","/","depthFactor"],"*","radius"],"/",[5,"2"]]],[13,"finalY",[1,[1,[1,"sphereY","/","depthFactor"],"*","radius"],"/",[5,"2"]]],[13,"transformedX",[1,[1,"finalX","/","aspect"],"+","centerX"]],[13,"transformedY",[1,"finalY","+","centerY"]],[13,"normal",[6,"std.normalize",[[6,"d.vec3f",["sphereX","sphereY","z"]]]]],[10,[6,"SphereBulge",[[104,{uv:[6,"d.vec2f",["transformedX","transformedY"]],coverage:"sphereAlpha",normal:"normal"}]]]]]]},externals:{"std.smoothstep":()=>re,"std.sqrt":()=>be,"std.max":()=>b,"d.f32":()=>a,"std.normalize":()=>as,"d.vec3f":()=>f,SphereBulge:()=>Gm,"d.vec2f":()=>l}})&&e.f)({})),LD=v.fn([f,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=f(0,0,1),i=__tsover_add(1,__tsover_mul(4,__tsover_sub(1,o))),d=Ce(__tsover_sub(1,b(se(t,n),a(0))),i),c=__tsover_mul(__tsover_sub(s.x,.5),2),_=__tsover_mul(__tsover_sub(__tsover_sub(1,s.y),.5),2),u=as(l(__tsover_add(t.x,1e-4),__tsover_add(t.y,1e-4))),m=as(l(__tsover_add(c,1e-4),__tsover_add(_,1e-4))),p=Ce(b(a(0),se(u,m)),a(2));return __tsover_mul(__tsover_mul(__tsover_mul(d,p),r),2)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"normal"},{type:"i",name:"lightPos"},{type:"i",name:"intensity"},{type:"i",name:"softness"}],body:[0,[[13,"viewDir",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"1"]]]],[13,"fresnelPower",[1,[5,"1"],"+",[1,[5,"4"],"*",[1,[5,"1"],"-","softness"]]]],[13,"fresnel",[6,"std.pow",[[1,[5,"1"],"-",[6,"std.max",[[6,"std.dot",["normal","viewDir"]],[6,"d.f32",[[5,"0"]]]]]],"fresnelPower"]]],[13,"lightDir2Dx",[1,[1,[7,"lightPos","x"],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"lightDir2Dy",[1,[1,[1,[5,"1"],"-",[7,"lightPos","y"]],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"normalDir",[6,"std.normalize",[[6,"d.vec2f",[[1,[7,"normal","x"],"+",[5,"0.0001"]],[1,[7,"normal","y"],"+",[5,"0.0001"]]]]]]],[13,"lightDirNorm",[6,"std.normalize",[[6,"d.vec2f",[[1,"lightDir2Dx","+",[5,"0.0001"]],[1,"lightDir2Dy","+",[5,"0.0001"]]]]]]],[13,"directionality",[6,"std.max",[[6,"d.f32",[[5,"0"]]],[6,"std.dot",["normalDir","lightDirNorm"]]]]],[13,"directionalBias",[6,"std.pow",["directionality",[6,"d.f32",[[5,"2"]]]]]],[10,[1,[1,[1,"fresnel","*","directionalBias"],"*","intensity"],"*",[5,"2"]]]]]},externals:{"d.vec3f":()=>f,"std.pow":()=>Ce,"std.max":()=>b,"std.dot":()=>se,"d.f32":()=>a,"std.normalize":()=>as,"d.vec2f":()=>l}})&&e.f)({})),ID=v.fn([x,f,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return x(__tsover_add(t.x,__tsover_mul(s.x,r)),__tsover_add(t.y,__tsover_mul(s.y,r)),__tsover_add(t.z,__tsover_mul(s.z,r)),__tsover_mul(t.w,o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"straight"},{type:"i",name:"lightColor"},{type:"i",name:"rim"},{type:"i",name:"coverage"}],body:[0,[[13,"r",[1,[7,"straight","x"],"+",[1,[7,"lightColor","x"],"*","rim"]]],[13,"g",[1,[7,"straight","y"],"+",[1,[7,"lightColor","y"],"*","rim"]]],[13,"b",[1,[7,"straight","z"],"+",[1,[7,"lightColor","z"],"*","rim"]]],[13,"a",[1,[7,"straight","w"],"*","coverage"]],[10,[6,"d.vec4f",["r","g","b","a"]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({}));var z3=1/360,DD=v.fn([l,l,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=hm(t),d=hm(s),c=d.sub(i),_=j(c),u=as(c),m=b(n.y,1e-6),p=__tsover_div(n.x,m),y=__tsover_mul(__tsover_mul(r,Le),-1),h=H(y),g=Y(y),w=i.add(d).mul(.5),S=o.sub(w),T=Eo(l(__tsover_mul(S.x,p),S.y),h,g),A=se(l(__tsover_div(T.x,p),T.y).add(w).sub(i),u);return __tsover_div(A,b(_,1e-6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"start"},{type:"i",name:"end"},{type:"i",name:"angle"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"startPos",[6,"unflipPosition",["start"]]],[13,"endPos",[6,"unflipPosition",["end"]]],[13,"gradientVector",[6,[7,"endPos","sub"],["startPos"]]],[13,"gradientLength",[6,"std.length",["gradientVector"]]],[13,"gradientDir",[6,"std.normalize",["gradientVector"]]],[13,"safeViewportY",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]],[13,"aspect",[1,[7,"viewport","x"],"/","safeViewportY"]],[13,"angleRad",[1,[1,"angle","*","DEG_TO_RAD"],"*",[4,"-",[5,"1"]]]],[13,"cosAngle",[6,"std.cos",["angleRad"]]],[13,"sinAngle",[6,"std.sin",["angleRad"]]],[13,"midpoint",[6,[7,[6,[7,"startPos","add"],["endPos"]],"mul"],[[5,"0.5"]]]],[13,"centeredUV",[6,[7,"uv","sub"],["midpoint"]]],[13,"rotated",[6,"geom.rotate2",[[6,"d.vec2f",[[1,[7,"centeredUV","x"],"*","aspect"],[7,"centeredUV","y"]]],"cosAngle","sinAngle"]]],[13,"rotatedUV",[6,[7,[6,"d.vec2f",[[1,[7,"rotated","x"],"/","aspect"],[7,"rotated","y"]]],"add"],["midpoint"]]],[13,"relativePos",[6,[7,"rotatedUV","sub"],["startPos"]]],[13,"projection",[6,"std.dot",["relativePos","gradientDir"]]],[10,[1,"projection","/",[6,"std.max",["gradientLength",[5,"0.000001"]]]]]]]},externals:{unflipPosition:()=>hm,"std.length":()=>j,"std.normalize":()=>as,"std.max":()=>b,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"geom.rotate2":()=>Eo,"d.vec2f":()=>l,"std.dot":()=>se}})&&e.f)({})),FD=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=bo(z(t),2);return C(s,__tsover_sub(2,s),s>1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[13,"m",[6,"std.mod",[[6,"std.abs",["t"]],[5,"2"]]]],[10,[6,"std.select",["m",[1,[5,"2"],"-","m"],[1,"m",">",[5,"1"]]]]]]]},externals:{"std.mod":()=>bo,"std.abs":()=>z,"std.select":()=>C}})&&e.f)({})),BD=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[6,"std.fract",["t"]]]]]},externals:{"std.fract":()=>ue}})&&e.f)({})),WD=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return $(t,0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[6,"std.clamp",["t",[5,"0"],[5,"1"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),OD=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=C(a(0),a(1),t>=0),r=C(a(0),a(1),t<=1);return __tsover_mul(s,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[13,"inLow",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"t",">=",[5,"0"]]]]],[13,"inHigh",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"t","<=",[5,"1"]]]]],[10,[1,"inLow","*","inHigh"]]]]},externals:{"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})),VD=v.fn([l,a,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ua(n,t,i),c=__tsover_mul(s,Le),_=Eo(d,H(c),-Y(c)),u=j(l(__tsover_mul(_.x,r),_.y)),m=b(o,1e-6);return __tsover_div(u,m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"skewAngle"},{type:"i",name:"ellipseAspect"},{type:"i",name:"radius"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"delta",[6,"aspectCenteredDelta",["uv","center","viewport"]]],[13,"skewRad",[1,"skewAngle","*","DEG_TO_RAD"]],[13,"cosS",[6,"std.cos",["skewRad"]]],[13,"sinS",[6,"std.sin",["skewRad"]]],[13,"rotated",[6,"geom.rotate2",["delta","cosS",[4,"-","sinS"]]]],[13,"stretched",[6,"d.vec2f",[[1,[7,"rotated","x"],"*","ellipseAspect"],[7,"rotated","y"]]]],[13,"dist",[6,"std.length",["stretched"]]],[13,"safeRadius",[6,"std.max",["radius",[5,"0.000001"]]]],[10,[1,"dist","/","safeRadius"]]]]},externals:{aspectCenteredDelta:()=>ua,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"geom.rotate2":()=>Eo,"d.vec2f":()=>l,"std.length":()=>j,"std.max":()=>b}})&&e.f)({})),ND=v.fn([l,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=ua(r,t,o),i=tt(n.y,n.x),d=__tsover_sub(.5,__tsover_div(i,it)),c=__tsover_mul(s,z3);return __tsover_add(d,c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"rotation"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"delta",[6,"aspectCenteredDelta",["uv","center","viewport"]]],[13,"angle",[6,"std.atan2",[[7,"delta","y"],[7,"delta","x"]]]],[13,"normalized",[1,[5,"0.5"],"-",[1,"angle","/","TAU"]]],[13,"rotationFraction",[1,"rotation","*","INV_360"]],[10,[1,"normalized","+","rotationFraction"]]]]},externals:{aspectCenteredDelta:()=>ua,"std.atan2":()=>tt,TAU:()=>it,INV_360:()=>z3}})&&e.f)({})),qD=v.fn([l,a,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ua(n,t,i),c=__tsover_mul(r,Le),_=Eo(d,H(c),-Y(c)),u=z(_.x),m=z(_.y),p=X(__tsover_add(u,m),b(u,m),o);return __tsover_div(p,s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"size"},{type:"i",name:"rotation"},{type:"i",name:"roundness"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"delta",[6,"aspectCenteredDelta",["uv","center","viewport"]]],[13,"rotRad",[1,"rotation","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rotated",[6,"geom.rotate2",["delta","cosR",[4,"-","sinR"]]]],[13,"absDx",[6,"std.abs",[[7,"rotated","x"]]]],[13,"absDy",[6,"std.abs",[[7,"rotated","y"]]]],[13,"l1",[1,"absDx","+","absDy"]],[13,"linf",[6,"std.max",["absDx","absDy"]]],[13,"dist",[6,"std.mix",["l1","linf","roundness"]]],[10,[1,"dist","/","size"]]]]},externals:{aspectCenteredDelta:()=>ua,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"geom.rotate2":()=>Eo,"std.abs":()=>z,"std.max":()=>b,"std.mix":()=>X}})&&e.f)({})),XD=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(t,s);return C($(r,0,1),ue(r),s>1.0001)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"repeat"}],body:[0,[[13,"s",[1,"t","*","repeat"]],[10,[6,"std.select",[[6,"std.clamp",["s",[5,"0"],[5,"1"]]],[6,"std.fract",["s"]],[1,"repeat",">",[5,"1.0001"]]]]]]]},externals:{"std.select":()=>C,"std.clamp":()=>$,"std.fract":()=>ue}})&&e.f)({})),HD=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return ue(__tsover_mul(t,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"repeat"}],body:[0,[[10,[6,"std.fract",[[1,"t","*","repeat"]]]]]]},externals:{"std.fract":()=>ue}})&&e.f)({})),jD=v.fn([l,l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,Le),d=bt(s),c=__tsover_add(Dl(ma(t,d),H(i),Y(i)),__tsover_mul(d,.5));return ue(__tsover_add(__tsover_mul(__tsover_mul(c,o),.2),n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"scale"},{type:"i",name:"animTime"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"projectedCoord",[1,[6,"directionalProjection",[[6,"canvasCentredDelta",["uv","aspect"]],[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]],"+",[1,"aspect","*",[5,"0.5"]]]],[10,[6,"std.fract",[[1,[1,[1,"projectedCoord","*","scale"],"*",[5,"0.2"]],"+","animTime"]]]]]]},externals:{DEG_TO_RAD:()=>Le,"geom.aspectOf":()=>bt,directionalProjection:()=>Dl,canvasCentredDelta:()=>ma,"std.cos":()=>H,"std.sin":()=>Y,"std.fract":()=>ue}})&&e.f)({})),KD=v.fn([a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_mul(t,6);return x($(__tsover_sub(z(__tsover_sub(s,3)),1),0,1),$(__tsover_sub(2,z(__tsover_sub(s,2))),0,1),$(__tsover_sub(2,z(__tsover_sub(s,4))),0,1),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[13,"h6",[1,"t","*",[5,"6"]]],[13,"r",[6,"std.clamp",[[1,[6,"std.abs",[[1,"h6","-",[5,"3"]]]],"-",[5,"1"]],[5,"0"],[5,"1"]]]],[13,"g",[6,"std.clamp",[[1,[5,"2"],"-",[6,"std.abs",[[1,"h6","-",[5,"2"]]]]],[5,"0"],[5,"1"]]]],[13,"b",[6,"std.clamp",[[1,[5,"2"],"-",[6,"std.abs",[[1,"h6","-",[5,"4"]]]]],[5,"0"],[5,"1"]]]],[10,[6,"d.vec4f",["r","g","b",[5,"1"]]]]]]},externals:{"std.clamp":()=>$,"std.abs":()=>z,"d.vec4f":()=>x}})&&e.f)({})),ZD=v.fn([a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_mul(t,3);return l(ue(s),q(s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[13,"t3",[1,"t","*",[5,"3"]]],[10,[6,"d.vec2f",[[6,"std.fract",["t3"]],[6,"std.floor",["t3"]]]]]]]},externals:{"d.vec2f":()=>l,"std.fract":()=>ue,"std.floor":()=>q}})&&e.f)({})),QD=v.fn([x,x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return X(X(r,s,De(o,1.5)),t,De(o,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"c01"},{type:"i",name:"c12"},{type:"i",name:"c20"},{type:"i",name:"floorT3"}],body:[0,[[13,"seg1",[6,"std.mix",["c20","c12",[6,"std.step",["floorT3",[5,"1.5"]]]]]],[10,[6,"std.mix",["seg1","c01",[6,"std.step",["floorT3",[5,"0.5"]]]]]]]]},externals:{"std.mix":()=>X,"std.step":()=>De}})&&e.f)({})),G3=v.fn([l,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_div(n.x,n.y),d=__tsover_sub(__tsover_mul(o.x,i),__tsover_mul(t.x,i)),c=__tsover_sub(o.y,__tsover_sub(1,t.y)),_=j(l(d,c)),u=__tsover_sub(tt(c,d),r);return __tsover_add(__tsover_mul(_,s),__tsover_div(u,ao))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"scale"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"dx",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,[7,"center","x"],"*","aspect"]]],[13,"dy",[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]],[13,"l",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[13,"angle",[1,[6,"std.atan2",["dy","dx"]],"-","animTime"]],[10,[1,[1,"l","*","scale"],"+",[1,"angle","/","TWO_PI"]]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.atan2":()=>tt,TWO_PI:()=>ao}})&&e.f)({})),JD=v.fn([l,a,a,a,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_div(c.x,c.y),u=j(l(__tsover_sub(__tsover_mul(d.x,_),__tsover_mul(t.x,_)),__tsover_sub(d.y,__tsover_sub(1,t.y)))),m=G3(t,s,i,d,c),p=ue(m),y=__tsover_mul(z(__tsover_sub(p,.5)),2),h=$(r,__tsover_mul(o,.005),1),g=__tsover_sub(1,__tsover_mul($(o,0,1),u)),w=__tsover_mul(h,g),S=Zt(m),T=__tsover_sub(4,__tsover_mul(__tsover_mul(re(.05,.4,__tsover_mul(r,2)),re(.05,.4,__tsover_mul(__tsover_sub(1,r),2))),3)),A=X(__tsover_mul(T,S),Zt(y),$(S,0,1));return re(__tsover_sub(__tsover_sub(w,A),n),__tsover_add(__tsover_add(w,A),n),y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"scale"},{type:"i",name:"strokeWidth"},{type:"i",name:"strokeFalloff"},{type:"i",name:"softness"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"dx",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,[7,"center","x"],"*","aspect"]]],[13,"dy",[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]],[13,"l",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[13,"offset",[6,"spiralOffset",["center","scale","animTime","uv","viewport"]]],[13,"stripe",[6,"std.fract",["offset"]]],[13,"shape",[1,[6,"std.abs",[[1,"stripe","-",[5,"0.5"]]]],"*",[5,"2"]]],[13,"baseWidth",[6,"std.clamp",["strokeWidth",[1,"strokeFalloff","*",[5,"0.005"]],[5,"1"]]]],[13,"falloffAmount",[1,[5,"1"],"-",[1,[6,"std.clamp",["strokeFalloff",[5,"0"],[5,"1"]]],"*","l"]]],[13,"width",[1,"baseWidth","*","falloffAmount"]],[13,"fw",[6,"std.fwidth",["offset"]]],[13,"fwMult",[1,[5,"4"],"-",[1,[1,[6,"std.smoothstep",[[5,"0.05"],[5,"0.4"],[1,"strokeWidth","*",[5,"2"]]]],"*",[6,"std.smoothstep",[[5,"0.05"],[5,"0.4"],[1,[1,[5,"1"],"-","strokeWidth"],"*",[5,"2"]]]]],"*",[5,"3"]]]],[13,"pixelSize",[6,"std.mix",[[1,"fwMult","*","fw"],[6,"std.fwidth",["shape"]],[6,"std.clamp",["fw",[5,"0"],[5,"1"]]]]]],[10,[6,"std.smoothstep",[[1,[1,"width","-","pixelSize"],"-","softness"],[1,[1,"width","+","pixelSize"],"+","softness"],"shape"]]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,spiralOffset:()=>G3,"std.fract":()=>ue,"std.abs":()=>z,"std.clamp":()=>$,"std.fwidth":()=>Zt,"std.smoothstep":()=>re,"std.mix":()=>X}})&&e.f)({})),Si=v.fn([l,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(t.x,s.x),n=__tsover_sub(t.y,s.y),i=__tsover_add(be(__tsover_add(__tsover_mul(o,o),__tsover_mul(n,n))),.001);return __tsover_div(1,Ce(i,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvAspect"},{type:"i",name:"pos"},{type:"i",name:"effPower"}],body:[0,[[13,"dx",[1,[7,"uvAspect","x"],"-",[7,"pos","x"]]],[13,"dy",[1,[7,"uvAspect","y"],"-",[7,"pos","y"]]],[13,"dist",[1,[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]],"+",[5,"0.001"]]],[10,[1,[5,"1"],"/",[6,"std.pow",["dist","effPower"]]]]]]},externals:{"std.sqrt":()=>be,"std.pow":()=>Ce}})&&e.f)({})),eF=v.fn([l,l,l,l,l,l,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=bt(s),u=l(__tsover_mul(t.x,_),t.y),m=bn(r,_),p=bn(o,_),y=bn(n,_),h=bn(i,_),g=bn(d,_),w=oe(__tsover_div(8,__tsover_add(c,.5)),8),S=Si(u,m,w),T=Si(u,p,w),A=Si(u,y,w),P=Si(u,h,w),U=Si(u,g,w),D=S,O=__tsover_div(T,__tsover_add(D,T)),L=__tsover_add(D,T),G=__tsover_div(A,__tsover_add(L,A)),W=__tsover_add(L,A),K=__tsover_div(P,__tsover_add(W,P)),Q=__tsover_add(W,P);return x(O,G,K,__tsover_div(U,__tsover_add(Q,U)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"vp"},{type:"i",name:"posA"},{type:"i",name:"posB"},{type:"i",name:"posC"},{type:"i",name:"posD"},{type:"i",name:"posE"},{type:"i",name:"smoothness"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["vp"]]],[13,"uvAspect",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"pA",[6,"aspectCentrePosition",["posA","aspect"]]],[13,"pB",[6,"aspectCentrePosition",["posB","aspect"]]],[13,"pC",[6,"aspectCentrePosition",["posC","aspect"]]],[13,"pD",[6,"aspectCentrePosition",["posD","aspect"]]],[13,"pE",[6,"aspectCentrePosition",["posE","aspect"]]],[13,"effPower",[6,"std.min",[[1,[5,"8"],"/",[1,"smoothness","+",[5,"0.5"]]],[5,"8"]]]],[13,"wA",[6,"mpgWeight",["uvAspect","pA","effPower"]]],[13,"wB",[6,"mpgWeight",["uvAspect","pB","effPower"]]],[13,"wC",[6,"mpgWeight",["uvAspect","pC","effPower"]]],[13,"wD",[6,"mpgWeight",["uvAspect","pD","effPower"]]],[13,"wE",[6,"mpgWeight",["uvAspect","pE","effPower"]]],[13,"accW1","wA"],[13,"t1",[1,"wB","/",[1,"accW1","+","wB"]]],[13,"accW2",[1,"accW1","+","wB"]],[13,"t2",[1,"wC","/",[1,"accW2","+","wC"]]],[13,"accW3",[1,"accW2","+","wC"]],[13,"t3",[1,"wD","/",[1,"accW3","+","wD"]]],[13,"accW4",[1,"accW3","+","wD"]],[13,"t4",[1,"wE","/",[1,"accW4","+","wE"]]],[10,[6,"d.vec4f",["t1","t2","t3","t4"]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,aspectCentrePosition:()=>bn,"std.min":()=>oe,mpgWeight:()=>Si,"d.vec4f":()=>x}})&&e.f)({})),tF=v.fn([l,l,l,l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=bt(s),u=l(r.x,__tsover_sub(1,r.y)),m=l(o.x,__tsover_sub(1,o.y)),p=l(__tsover_mul(u.x,_),u.y),y=l(__tsover_mul(m.x,_),m.y),h=t3(l(__tsover_mul(t.x,_),t.y),p,y),g=s3(h.y,h.x,__tsover_mul(n,.25),__tsover_mul(i,.25),d,c),w=g.x,S=g.y;return l(w,S)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"vp"},{type:"i",name:"start"},{type:"i",name:"end"},{type:"i",name:"startThickness"},{type:"i",name:"endThickness"},{type:"i",name:"startSoftness"},{type:"i",name:"endSoftness"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["vp"]]],[13,"startPos",[6,"d.vec2f",[[7,"start","x"],[1,[5,"1"],"-",[7,"start","y"]]]]],[13,"endPos",[6,"d.vec2f",[[7,"end","x"],[1,[5,"1"],"-",[7,"end","y"]]]]],[13,"acStart",[6,"d.vec2f",[[1,[7,"startPos","x"],"*","aspect"],[7,"startPos","y"]]]],[13,"acEnd",[6,"d.vec2f",[[1,[7,"endPos","x"],"*","aspect"],[7,"endPos","y"]]]],[13,"acUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"proj",[6,"lightfields.pointToSegment",["acUV","acStart","acEnd"]]],[13,"field",[6,"lightfields.taperedSegmentGlow",[[7,"proj","y"],[7,"proj","x"],[1,"startThickness","*",[5,"0.25"]],[1,"endThickness","*",[5,"0.25"]],"startSoftness","endSoftness"]]],[13,"colorT",[7,"field","x"]],[13,"alpha",[7,"field","y"]],[10,[6,"d.vec2f",["colorT","alpha"]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,"lightfields.pointToSegment":()=>t3,"lightfields.taperedSegmentGlow":()=>s3}})&&e.f)({})),sF=t7({domain:"unit",contrastMode:"multiplicative",invert:!0,glowGamma:!0,balance:"percentCentred"}),rF=v.fn([l,l,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s);return f(__tsover_mul(t.x,o),t.y,0).mul(ct(__tsover_sub(r,1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"scale"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"base",[6,"d.vec3f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"],[5,"0"]]]],[10,[6,[7,"base","mul"],[[6,"std.exp",[[1,"scale","-",[5,"1"]]]]]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec3f":()=>f,"std.exp":()=>ct}})&&e.f)({})),oF=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_mul(go(t),.5),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"}],body:[0,[[10,[1,[1,[6,"noise.mxNoiseFloat3",["pos"]],"*",[5,"0.5"]],"+",[5,"0.5"]]]]]},externals:{"noise.mxNoiseFloat3":()=>go}})&&e.f)({})),nF=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=r,n=s,i=l(__tsover_add(t.x,__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(t.y,__tsover_mul(n,1.7)),__tsover_mul(o,.8))),.12),__tsover_mul(H(__tsover_sub(__tsover_mul(t.x,__tsover_mul(n,.9)),__tsover_mul(o,.5))),.05))),__tsover_add(t.y,__tsover_add(__tsover_mul(H(__tsover_sub(__tsover_mul(t.x,__tsover_mul(n,1.3)),__tsover_mul(o,.6))),.12),__tsover_mul(Y(__tsover_add(__tsover_mul(t.y,__tsover_mul(n,1.1)),__tsover_mul(o,.7))),.05)))),d=Y(__tsover_add(__tsover_add(__tsover_mul(i.x,__tsover_mul(n,2.1)),__tsover_mul(i.y,__tsover_mul(n,1.8))),__tsover_mul(o,.4))),c=__tsover_mul(s,2.1),_=l(__tsover_add(i.x,__tsover_add(__tsover_mul(H(__tsover_sub(__tsover_mul(i.y,__tsover_mul(c,2.7)),__tsover_mul(o,.45))),.07),__tsover_mul(Y(__tsover_add(__tsover_mul(i.x,__tsover_mul(c,1.9)),__tsover_mul(o,.6))),.04))),__tsover_add(i.y,__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(i.x,__tsover_mul(c,2.3)),__tsover_mul(o,.65))),.07),__tsover_mul(H(__tsover_sub(__tsover_mul(i.y,__tsover_mul(c,1.6)),__tsover_mul(o,.4))),.04)))),u=H(__tsover_add(__tsover_sub(__tsover_mul(_.x,__tsover_mul(c,1.4)),__tsover_mul(_.y,__tsover_mul(c,1.9))),__tsover_mul(o,.35))),m=__tsover_mul(s,3.7),p=l(__tsover_add(_.x,__tsover_add(__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(_.y,__tsover_mul(m,1.8)),__tsover_mul(o,.85))),.04),__tsover_mul(H(__tsover_sub(__tsover_mul(_.x,__tsover_mul(m,1.3)),__tsover_mul(o,.55))),.025)),__tsover_mul(Y(__tsover_add(__tsover_mul(__tsover_add(_.x,_.y),__tsover_mul(m,.7)),__tsover_mul(o,.9))),.02))),__tsover_add(_.y,__tsover_add(__tsover_add(__tsover_mul(H(__tsover_sub(__tsover_mul(_.x,__tsover_mul(m,1.6)),__tsover_mul(o,.75))),.04),__tsover_mul(Y(__tsover_add(__tsover_mul(_.y,__tsover_mul(m,1.1)),__tsover_mul(o,.5))),.025)),__tsover_mul(H(__tsover_sub(__tsover_mul(__tsover_add(_.x,_.y),__tsover_mul(m,.8)),__tsover_mul(o,.95))),.02)))),y=Y(__tsover_sub(__tsover_add(__tsover_mul(p.x,__tsover_mul(m,1.1)),__tsover_mul(p.y,__tsover_mul(m,1.5))),__tsover_mul(o,.55)));return __tsover_add(__tsover_add(__tsover_mul(d,.45),__tsover_mul(u,.35)),__tsover_mul(y,.2))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"detail"},{type:"i",name:"animTime"}],body:[0,[[13,"t","animTime"],[13,"freq1","detail"],[13,"d1",[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[1,[6,"std.sin",[[1,[1,[7,"uv","y"],"*",[1,"freq1","*",[5,"1.7"]]],"+",[1,"t","*",[5,"0.8"]]]]],"*",[5,"0.12"]],"+",[1,[6,"std.cos",[[1,[1,[7,"uv","x"],"*",[1,"freq1","*",[5,"0.9"]]],"-",[1,"t","*",[5,"0.5"]]]]],"*",[5,"0.05"]]]],[1,[7,"uv","y"],"+",[1,[1,[6,"std.cos",[[1,[1,[7,"uv","x"],"*",[1,"freq1","*",[5,"1.3"]]],"-",[1,"t","*",[5,"0.6"]]]]],"*",[5,"0.12"]],"+",[1,[6,"std.sin",[[1,[1,[7,"uv","y"],"*",[1,"freq1","*",[5,"1.1"]]],"+",[1,"t","*",[5,"0.7"]]]]],"*",[5,"0.05"]]]]]]],[13,"pattern1",[6,"std.sin",[[1,[1,[1,[7,"d1","x"],"*",[1,"freq1","*",[5,"2.1"]]],"+",[1,[7,"d1","y"],"*",[1,"freq1","*",[5,"1.8"]]]],"+",[1,"t","*",[5,"0.4"]]]]]],[13,"freq2",[1,"detail","*",[5,"2.1"]]],[13,"d2",[6,"d.vec2f",[[1,[7,"d1","x"],"+",[1,[1,[6,"std.cos",[[1,[1,[7,"d1","y"],"*",[1,"freq2","*",[5,"2.7"]]],"-",[1,"t","*",[5,"0.45"]]]]],"*",[5,"0.07"]],"+",[1,[6,"std.sin",[[1,[1,[7,"d1","x"],"*",[1,"freq2","*",[5,"1.9"]]],"+",[1,"t","*",[5,"0.6"]]]]],"*",[5,"0.04"]]]],[1,[7,"d1","y"],"+",[1,[1,[6,"std.sin",[[1,[1,[7,"d1","x"],"*",[1,"freq2","*",[5,"2.3"]]],"+",[1,"t","*",[5,"0.65"]]]]],"*",[5,"0.07"]],"+",[1,[6,"std.cos",[[1,[1,[7,"d1","y"],"*",[1,"freq2","*",[5,"1.6"]]],"-",[1,"t","*",[5,"0.4"]]]]],"*",[5,"0.04"]]]]]]],[13,"pattern2",[6,"std.cos",[[1,[1,[1,[7,"d2","x"],"*",[1,"freq2","*",[5,"1.4"]]],"-",[1,[7,"d2","y"],"*",[1,"freq2","*",[5,"1.9"]]]],"+",[1,"t","*",[5,"0.35"]]]]]],[13,"freq3",[1,"detail","*",[5,"3.7"]]],[13,"d3",[6,"d.vec2f",[[1,[7,"d2","x"],"+",[1,[1,[1,[6,"std.sin",[[1,[1,[7,"d2","y"],"*",[1,"freq3","*",[5,"1.8"]]],"+",[1,"t","*",[5,"0.85"]]]]],"*",[5,"0.04"]],"+",[1,[6,"std.cos",[[1,[1,[7,"d2","x"],"*",[1,"freq3","*",[5,"1.3"]]],"-",[1,"t","*",[5,"0.55"]]]]],"*",[5,"0.025"]]],"+",[1,[6,"std.sin",[[1,[1,[1,[7,"d2","x"],"+",[7,"d2","y"]],"*",[1,"freq3","*",[5,"0.7"]]],"+",[1,"t","*",[5,"0.9"]]]]],"*",[5,"0.02"]]]],[1,[7,"d2","y"],"+",[1,[1,[1,[6,"std.cos",[[1,[1,[7,"d2","x"],"*",[1,"freq3","*",[5,"1.6"]]],"-",[1,"t","*",[5,"0.75"]]]]],"*",[5,"0.04"]],"+",[1,[6,"std.sin",[[1,[1,[7,"d2","y"],"*",[1,"freq3","*",[5,"1.1"]]],"+",[1,"t","*",[5,"0.5"]]]]],"*",[5,"0.025"]]],"+",[1,[6,"std.cos",[[1,[1,[1,[7,"d2","x"],"+",[7,"d2","y"]],"*",[1,"freq3","*",[5,"0.8"]]],"-",[1,"t","*",[5,"0.95"]]]]],"*",[5,"0.02"]]]]]]],[13,"pattern3",[6,"std.sin",[[1,[1,[1,[7,"d3","x"],"*",[1,"freq3","*",[5,"1.1"]]],"+",[1,[7,"d3","y"],"*",[1,"freq3","*",[5,"1.5"]]]],"-",[1,"t","*",[5,"0.55"]]]]]],[10,[1,[1,[1,"pattern1","*",[5,"0.45"]],"+",[1,"pattern2","*",[5,"0.35"]]],"+",[1,"pattern3","*",[5,"0.2"]]]]]]},externals:{"d.vec2f":()=>l,"std.sin":()=>Y,"std.cos":()=>H}})&&e.f)({})),aF=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return re(r,o,__tsover_add(__tsover_add(__tsover_mul(t,.5),.5),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pattern"},{type:"i",name:"bias"},{type:"i",name:"low"},{type:"i",name:"high"}],body:[0,[[13,"normalized",[1,[1,[1,"pattern","*",[5,"0.5"]],"+",[5,"0.5"]],"+","bias"]],[10,[6,"std.smoothstep",["low","high","normalized"]]]]]},externals:{"std.smoothstep":()=>re}})&&e.f)({})),iF=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return __tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(s,r),__tsover_mul(t,o))),n),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pattern"},{type:"i",name:"animTime"},{type:"i",name:"speed"},{type:"i",name:"span"},{type:"i",name:"depth"}],body:[0,[[10,[1,[1,[6,"std.sin",[[1,[1,"animTime","*","speed"],"+",[1,"pattern","*","span"]]]],"*","depth"],"+",[5,"1"]]]]]},externals:{"std.sin":()=>Y}})&&e.f)({})),Nd=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ot(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"noise.hash12",["p"]]]]]},externals:{"noise.hash12":()=>Ot}})&&e.f)({})),Ym=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=ue(t),o=Nd(s),n=Nd(l(__tsover_add(s.x,1),s.y)),i=Nd(l(s.x,__tsover_add(s.y,1))),d=Nd(l(__tsover_add(s.x,1),__tsover_add(s.y,1))),c=r.mul(r).mul(r.mul(-2).add(3));return X(X(o,n,c.x),X(i,d,c.x),c.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"st"}],body:[0,[[13,"i",[6,"std.floor",["st"]]],[13,"f",[6,"std.fract",["st"]]],[13,"a",[6,"godraysHash",["i"]]],[13,"b",[6,"godraysHash",[[6,"d.vec2f",[[1,[7,"i","x"],"+",[5,"1"]],[7,"i","y"]]]]]],[13,"c",[6,"godraysHash",[[6,"d.vec2f",[[7,"i","x"],[1,[7,"i","y"],"+",[5,"1"]]]]]]],[13,"e",[6,"godraysHash",[[6,"d.vec2f",[[1,[7,"i","x"],"+",[5,"1"]],[1,[7,"i","y"],"+",[5,"1"]]]]]]],[13,"u",[6,[7,[6,[7,"f","mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[4,"-",[5,"2"]]]],"add"],[[5,"3"]]]]]],[13,"x1",[6,"std.mix",["a","b",[7,"u","x"]]]],[13,"x2",[6,"std.mix",["c","e",[7,"u","x"]]]],[10,[6,"std.mix",["x1","x2",[7,"u","y"]]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,godraysHash:()=>Nd,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),Lm=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ce(Ym(l(__tsover_mul(t,n),o)),i);return X(Ce(Ym(l(__tsover_mul(s,n),o)),i),d,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a"},{type:"i",name:"aWrapped"},{type:"i",name:"blend"},{type:"i",name:"r"},{type:"i",name:"freq"},{type:"i",name:"intensity"}],body:[0,[[13,"nLeft",[6,"std.pow",[[6,"godraysValueNoise",[[6,"d.vec2f",[[1,"a","*","freq"],"r"]]]],"intensity"]]],[13,"nRight",[6,"std.pow",[[6,"godraysValueNoise",[[6,"d.vec2f",[[1,"aWrapped","*","freq"],"r"]]]],"intensity"]]],[10,[6,"std.mix",["nRight","nLeft","blend"]]]]]},externals:{"std.pow":()=>Ce,godraysValueNoise:()=>Ym,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),mz=v.fn([l,l,l],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=l(r.x,__tsover_sub(1,r.y)),i=t.sub(n),d=l(__tsover_mul(i.x,o),i.y),c=e3(d);return x(c.x,c.y,c.z,j(d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"center"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"uv","sub"],["centerPos"]]],[13,"shapeUV",[6,"d.vec2f",[[1,[7,"delta","x"],"*","aspect"],[7,"delta","y"]]]],[13,"ang",[6,"lightfields.seamlessAngularField",["shapeUV"]]],[10,[6,"d.vec4f",[[7,"ang","x"],[7,"ang","y"],[7,"ang","z"],[6,"std.length",["shapeUV"]]]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,"lightfields.seamlessAngularField":()=>e3,"d.vec4f":()=>x,"std.length":()=>j}})&&e.f)({})),Im=v.fn([x,a,a,a,a,x,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_sub(__tsover_mul(t.w,i.x),__tsover_mul(s,i.y)),_=__tsover_sub(__tsover_mul(__tsover_mul(t.w,i.z),__tsover_add(1,r)),__tsover_mul(s,i.w)),u=__tsover_mul(n,d.x),m=Lm(t.x,t.y,t.z,c,u,o),p=Lm(t.x,t.y,t.z,_,__tsover_mul(u,d.y),o);return __tsover_mul(m,p)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"frame"},{type:"i",name:"animTime"},{type:"i",name:"spots"},{type:"i",name:"intensityCalc"},{type:"i",name:"dens"},{type:"i",name:"sched"},{type:"i",name:"freqs"}],body:[0,[[13,"rA",[1,[1,[7,"frame","w"],"*",[7,"sched","x"]],"-",[1,"animTime","*",[7,"sched","y"]]]],[13,"rB",[1,[1,[1,[7,"frame","w"],"*",[7,"sched","z"]],"*",[1,[5,"1"],"+","spots"]],"-",[1,"animTime","*",[7,"sched","w"]]]],[13,"f",[1,"dens","*",[7,"freqs","x"]]],[13,"shapeA",[6,"godraysRaysShape",[[7,"frame","x"],[7,"frame","y"],[7,"frame","z"],"rA","f","intensityCalc"]]],[13,"shapeB",[6,"godraysRaysShape",[[7,"frame","x"],[7,"frame","y"],[7,"frame","z"],"rB",[1,"f","*",[7,"freqs","y"]],"intensityCalc"]]],[10,[1,"shapeA","*","shapeB"]]]]},externals:{godraysRaysShape:()=>Lm}})&&e.f)({})),pz=v.fn([x,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,.2),d=__tsover_mul(6.5,z(n)),c=__tsover_sub(4,__tsover_mul(3,$(o,0,1))),_=__tsover_mul(6,r),u=Im(t,i,d,c,_,x(1,3,.5,2),l(5,4)),m=Im(t,i,d,c,_,x(1.4,2.5,.7,1.8),l(4.5,3.5));return $(__tsover_add(u,__tsover_mul(m,.7)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"frame"},{type:"i",name:"animTimeRaw"},{type:"i",name:"density"},{type:"i",name:"intensity"},{type:"i",name:"spotty"}],body:[0,[[13,"animTime",[1,"animTimeRaw","*",[5,"0.2"]]],[13,"spots",[1,[5,"6.5"],"*",[6,"std.abs",["spotty"]]]],[13,"intensityCalc",[1,[5,"4"],"-",[1,[5,"3"],"*",[6,"std.clamp",["intensity",[5,"0"],[5,"1"]]]]]],[13,"dens",[1,[5,"6"],"*","density"]],[13,"layer1",[6,"godraysRayLayer",["frame","animTime","spots","intensityCalc","dens",[6,"d.vec4f",[[5,"1"],[5,"3"],[5,"0.5"],[5,"2"]]],[6,"d.vec2f",[[5,"5"],[5,"4"]]]]]],[13,"layer2",[6,"godraysRayLayer",["frame","animTime","spots","intensityCalc","dens",[6,"d.vec4f",[[5,"1.4"],[5,"2.5"],[5,"0.7"],[5,"1.8"]]],[6,"d.vec2f",[[5,"4.5"],[5,"3.5"]]]]]],[10,[6,"std.clamp",[[1,"layer1","+",[1,"layer2","*",[5,"0.7"]]],[5,"0"],[5,"1"]]]]]]},externals:{"std.abs":()=>z,"std.clamp":()=>$,godraysRayLayer:()=>Im,"d.vec4f":()=>x,"d.vec2f":()=>l}})&&e.f)({})),fz=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r,t.w),n=__tsover_add(o,__tsover_mul(s.w,__tsover_sub(1,o))),i=$(n,.001,1),d=t.xyz.mul(o),c=s.xyz.mul(s.w).mul(__tsover_sub(1,o));return x(d.add(c).div(i),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rayColor"},{type:"i",name:"bgColor"},{type:"i",name:"coverage"}],body:[0,[[13,"rayA",[1,"coverage","*",[7,"rayColor","w"]]],[13,"finalAlpha",[1,"rayA","+",[1,[7,"bgColor","w"],"*",[1,[5,"1"],"-","rayA"]]]],[13,"safeAlpha",[6,"std.clamp",["finalAlpha",[5,"0.001"],[5,"1"]]]],[13,"rayContribution",[6,[7,[7,"rayColor","xyz"],"mul"],["rayA"]]],[13,"bgContribution",[6,[7,[6,[7,[7,"bgColor","xyz"],"mul"],[[7,"bgColor","w"]]],"mul"],[[1,[5,"1"],"-","rayA"]]]],[13,"finalColor",[6,[7,[6,[7,"rayContribution","add"],["bgContribution"]],"div"],["safeAlpha"]]],[10,[6,"d.vec4f",["finalColor","finalAlpha"]]]]]},externals:{"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})),dF=v.fn([a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Br(l(__tsover_mul(t,.9),__tsover_add(__tsover_mul(s,.53),11.7))),n=Br(l(__tsover_add(__tsover_mul(t,2.7),41.3),__tsover_add(__tsover_mul(s,.29),5.1))),i=__tsover_add(__tsover_mul(o,.65),__tsover_mul(n,.35));return x(X(1,__tsover_add(.25,__tsover_mul(1.5,i)),r),Br(l(__tsover_add(__tsover_mul(t,.13),3.1),__tsover_add(__tsover_mul(s,.41),27))),Br(l(__tsover_add(__tsover_mul(t,.09),17.7),__tsover_add(__tsover_mul(s,.61),8.4))),Br(l(__tsover_add(__tsover_mul(t,.17),51.2),__tsover_add(__tsover_mul(s,.23),2.9))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"seed"},{type:"i",name:"flicker"}],body:[0,[[13,"nA",[6,"noise.value12",[[6,"d.vec2f",[[1,"t","*",[5,"0.9"]],[1,[1,"seed","*",[5,"0.53"]],"+",[5,"11.7"]]]]]]],[13,"nB",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,"t","*",[5,"2.7"]],"+",[5,"41.3"]],[1,[1,"seed","*",[5,"0.29"]],"+",[5,"5.1"]]]]]]],[13,"breathe",[1,[1,"nA","*",[5,"0.65"]],"+",[1,"nB","*",[5,"0.35"]]]],[13,"flickerMod",[6,"std.mix",[[5,"1"],[1,[5,"0.25"],"+",[1,[5,"1.5"],"*","breathe"]],"flicker"]]],[13,"evo1",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,"t","*",[5,"0.13"]],"+",[5,"3.1"]],[1,[1,"seed","*",[5,"0.41"]],"+",[5,"27"]]]]]]],[13,"evo2",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,"t","*",[5,"0.09"]],"+",[5,"17.7"]],[1,[1,"seed","*",[5,"0.61"]],"+",[5,"8.4"]]]]]]],[13,"evo3",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,"t","*",[5,"0.17"]],"+",[5,"51.2"]],[1,[1,"seed","*",[5,"0.23"]],"+",[5,"2.9"]]]]]]],[10,[6,"d.vec4f",["flickerMod","evo1","evo2","evo3"]]]]]},externals:{"noise.value12":()=>Br,"d.vec2f":()=>l,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),cF=v.fn([a,a,a,x],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=o.z,i=b(r,.05),d=__tsover_mul(i,__tsover_add(1.5,__tsover_mul(.7,n))),c=__tsover_div(t,i),_=__tsover_div(s,d);return l(Tm(c,_,1.9),__tsover_mul(Tm(c,_,.45),.22))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"u"},{type:"i",name:"v"},{type:"i",name:"spread"},{type:"i",name:"drift"}],body:[0,[[13,"evo2",[7,"drift","z"]],[13,"sp",[6,"std.max",["spread",[5,"0.05"]]]],[13,"elong",[1,"sp","*",[1,[5,"1.5"],"+",[1,[5,"0.7"],"*","evo2"]]]],[13,"du",[1,"u","/","sp"]],[13,"dv",[1,"v","/","elong"]],[13,"main",[6,"lightfields.anisotropicGaussianSpot",["du","dv",[5,"1.9"]]]],[13,"shoulder",[1,[6,"lightfields.anisotropicGaussianSpot",["du","dv",[5,"0.45"]]],"*",[5,"0.22"]]],[10,[6,"d.vec2f",["main","shoulder"]]]]]},externals:{"std.max":()=>b,"lightfields.anisotropicGaussianSpot":()=>Tm,"d.vec2f":()=>l}})&&e.f)({})),_F=v.fn([a,a,a,a,x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=n.y,d=n.z,c=n.w,_=b(r,.05),u=__tsover_mul(_,__tsover_add(1.5,__tsover_mul(.7,d))),m=__tsover_div(s,u),p=ct(__tsover_mul(__tsover_mul(m,m),-.55)),y=__tsover_mul(_,__tsover_add(.42,__tsover_mul(.22,i))),h=b(__tsover_mul(_,__tsover_add(.07,__tsover_mul(.07,c))),.008),g=__tsover_mul(Am(t,y,h),p),w=__tsover_mul(_,__tsover_add(.8,__tsover_mul(.3,i))),S=b(__tsover_mul(_,__tsover_add(.16,__tsover_mul(.12,c))),.015),T=__tsover_mul(__tsover_mul(Am(t,w,S),p),.45);return __tsover_mul(__tsover_add(g,T),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"u"},{type:"i",name:"v"},{type:"i",name:"spread"},{type:"i",name:"streaks"},{type:"i",name:"drift"}],body:[0,[[13,"evo1",[7,"drift","y"]],[13,"evo2",[7,"drift","z"]],[13,"evo3",[7,"drift","w"]],[13,"sp",[6,"std.max",["spread",[5,"0.05"]]]],[13,"elong",[1,"sp","*",[1,[5,"1.5"],"+",[1,[5,"0.7"],"*","evo2"]]]],[13,"dv",[1,"v","/","elong"]],[13,"alongFade",[6,"std.exp",[[1,[1,"dv","*","dv"],"*",[4,"-",[5,"0.55"]]]]]],[13,"s1c",[1,"sp","*",[1,[5,"0.42"],"+",[1,[5,"0.22"],"*","evo1"]]]],[13,"s1w",[6,"std.max",[[1,"sp","*",[1,[5,"0.07"],"+",[1,[5,"0.07"],"*","evo3"]]],[5,"0.008"]]]],[13,"streak1",[1,[6,"lightfields.streakBand",["u","s1c","s1w"]],"*","alongFade"]],[13,"s2c",[1,"sp","*",[1,[5,"0.8"],"+",[1,[5,"0.3"],"*","evo1"]]]],[13,"s2w",[6,"std.max",[[1,"sp","*",[1,[5,"0.16"],"+",[1,[5,"0.12"],"*","evo3"]]],[5,"0.015"]]]],[13,"streak2",[1,[1,[6,"lightfields.streakBand",["u","s2c","s2w"]],"*","alongFade"],"*",[5,"0.45"]]],[10,[1,[1,"streak1","+","streak2"],"*","streaks"]]]]},externals:{"std.max":()=>b,"std.exp":()=>ct,"lightfields.streakBand":()=>Am}})&&e.f)({})),lF=v.fn([a,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return b(__tsover_add(t,__tsover_mul(__tsover_sub(Ot(s.mul(1024).add(l(r,__tsover_mul(r,1.7)))),.5),.012)),0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"heat"},{type:"i",name:"uv"},{type:"i",name:"t"}],body:[0,[[13,"dithered",[1,"heat","+",[1,[1,[6,"noise.hash12",[[6,[7,[6,[7,"uv","mul"],[[5,"1024"]]],"add"],[[6,"d.vec2f",["t",[1,"t","*",[5,"1.7"]]]]]]]],"-",[5,"0.5"]],"*",[5,"0.012"]]]],[10,[6,"std.max",["dithered",[5,"0"]]]]]]},externals:{"noise.hash12":()=>Ot,"d.vec2f":()=>l,"std.max":()=>b}})&&e.f)({})),vz=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(t,s),o=__tsover_mul(ue(__tsover_mul(r,.5)),2);return X(__tsover_sub(1,z(__tsover_sub(o,1))),.5,re(.5,1.5,__tsover_mul(Vl(t,0),s)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"cycles"}],body:[0,[[13,"s",[1,"t","*","cycles"]],[13,"m",[1,[6,"std.fract",[[1,"s","*",[5,"0.5"]]]],"*",[5,"2"]]],[13,"band",[1,[5,"1"],"-",[6,"std.abs",[[1,"m","-",[5,"1"]]]]]],[13,"fp",[1,[6,"footprint1",["t",[5,"0"]]],"*","cycles"]],[10,[6,"std.mix",["band",[5,"0.5"],[6,"std.smoothstep",[[5,"0.5"],[5,"1.5"],"fp"]]]]]]]},externals:{"std.fract":()=>ue,"std.abs":()=>z,footprint1:()=>Vl,"std.mix":()=>X,"std.smoothstep":()=>re}})&&e.f)({}));function p7(e,t){return{guarded:e,with(s){return p7(e.with(s),t)},dispatch(){if(!t)throw new Error("[gpu] KitComputePipeline.dispatch(): no pre-bound size \u2014 pass opts.size to createGuardedCompute or call dispatchThreads(...) directly");e.dispatchThreads(...t)},dispatchThreads(...s){e.dispatchThreads(...s)}}}function qp(e,t,s={}){let r=(globalThis.__TYPEGPU_AUTONAME__??(o=>o))(e.createGuardedComputePipeline(t),"guarded");return s.bindGroup&&(r=r.with(s.bindGroup)),p7(r,s.size)}function f7(e){return{dispatch(t){for(let s of t)typeof s=="function"?s():s.dispatch()}}}function yz(e,t){let s=!1;return{a:e,b:t,orientation:()=>s?1:0,readSource:()=>s?t:e,writeTarget:()=>s?e:t,swap(){s=!s},reset(){s=!1},groups(n){let i=n(e,t),d=n(t,e);return()=>s?d:i},perSide(n){let i=n(e),d=n(t);return{read:()=>s?d:i,written:()=>s?i:d}}}}function Y3(e,t,s){return(globalThis.__TYPEGPU_AUTONAME__??(r=>r))(e.createBuffer(pt(t,s)),"buffer").$usage("storage")}var su=Le;function hz(e,t){let s=Number((t*t).toPrecision(15)),r=e-1,o=Array.from({length:e},(i,d)=>{let c=(d/r-.5)*2;return Math.exp(-.5*c*c/s)}),n=o.reduce((i,d)=>i+d);return o.map(i=>i/n)}var uF=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=b(__tsover_sub(r,s),1e-4);return X(o,n,Ce($(__tsover_div(__tsover_sub(t,s),d),0,1),Ce(2,__tsover_mul(-i,2))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"raw"},{type:"i",name:"inputMin"},{type:"i",name:"inputMax"},{type:"i",name:"outputMin"},{type:"i",name:"outputMax"},{type:"i",name:"curve"}],body:[0,[[13,"inputRange",[6,"std.max",[[1,"inputMax","-","inputMin"],[5,"0.0001"]]]],[13,"normalised",[6,"std.clamp",[[1,[1,"raw","-","inputMin"],"/","inputRange"],[5,"0"],[5,"1"]]]],[13,"exponent",[6,"std.pow",[[5,"2"],[1,[4,"-","curve"],"*",[5,"2"]]]]],[13,"eased",[6,"std.pow",["normalised","exponent"]]],[10,[6,"std.mix",["outputMin","outputMax","eased"]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.pow":()=>Ce,"std.mix":()=>X}})&&e.f)({})).$name("applyRemapWindow");var mF=v.fn([ps(a),R,R,l,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=o.x,c=o.y,_=Z(__tsover_sub(d,1)),u=Z(__tsover_sub(c,1)),m=x(0,0,0,0);for(let S=0;S<4;S++)for(let T=0;T<4;T++){let A=__tsover_div(__tsover_add(a(s),__tsover_div(__tsover_add(a(T),.5),4)),n.x),P=__tsover_div(__tsover_add(a(r),__tsover_div(__tsover_add(a(S),.5),4)),n.y),U=$(Z(__tsover_mul(A,d)),0,_),D=$(Z(__tsover_mul(P,c)),0,u);m=m.add(Be(t,Ge(R(U),R(D)),0))}m=m.mul(.0625);let p=__tsover_add(__tsover_mul(i,.5),1e-4),y=se(m.xyz,f(.2126,.7152,.0722)),h=$(__tsover_add(__tsover_sub(y,i),p),0,__tsover_mul(p,2)),g=__tsover_div(__tsover_mul(h,h),__tsover_mul(p,4)),w=__tsover_div(b(g,__tsover_sub(y,i)),b(y,1e-4));return x(m.xyz.mul(w),__tsover_mul(m.w,w))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"childTexture"},{type:"i",name:"cx"},{type:"i",name:"cy"},{type:"i",name:"inputSize"},{type:"i",name:"computeSize"},{type:"i",name:"threshold"}],body:[0,[[13,"iw",[7,"inputSize","x"]],[13,"ih",[7,"inputSize","y"]],[13,"inputWm1",[6,"d.i32",[[1,"iw","-",[5,"1"]]]]],[13,"inputHm1",[6,"d.i32",[[1,"ih","-",[5,"1"]]]]],[12,"sample",[6,"d.vec4f",[[5,"0"],[5,"0"],[5,"0"],[5,"0"]]]],[14,[12,"ty",[5,"0"]],[1,"ty","<",[5,"4"]],[102,"++","ty"],[0,[[14,[12,"tx",[5,"0"]],[1,"tx","<",[5,"4"]],[102,"++","tx"],[0,[[13,"su",[1,[1,[6,"d.f32",["cx"]],"+",[1,[1,[6,"d.f32",["tx"]],"+",[5,"0.5"]],"/",[5,"4"]]],"/",[7,"computeSize","x"]]],[13,"sv",[1,[1,[6,"d.f32",["cy"]],"+",[1,[1,[6,"d.f32",["ty"]],"+",[5,"0.5"]],"/",[5,"4"]]],"/",[7,"computeSize","y"]]],[13,"sx",[6,"std.clamp",[[6,"d.i32",[[1,"su","*","iw"]]],[5,"0"],"inputWm1"]]],[13,"sy",[6,"std.clamp",[[6,"d.i32",[[1,"sv","*","ih"]]],[5,"0"],"inputHm1"]]],[2,"sample","=",[6,[7,"sample","add"],[[6,"std.textureLoad",["childTexture",[6,"d.vec2u",[[6,"d.u32",["sx"]],[6,"d.u32",["sy"]]]],[5,"0"]]]]]]]]]]]],[2,"sample","=",[6,[7,"sample","mul"],[[5,"0.0625"]]]],[13,"knee",[1,[1,"threshold","*",[5,"0.5"]],"+",[5,"0.0001"]]],[13,"lum",[6,"std.dot",[[7,"sample","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"soft",[6,"std.clamp",[[1,[1,"lum","-","threshold"],"+","knee"],[5,"0"],[1,"knee","*",[5,"2"]]]]],[13,"softCurve",[1,[1,"soft","*","soft"],"/",[1,"knee","*",[5,"4"]]]],[13,"mask",[1,[6,"std.max",["softCurve",[1,"lum","-","threshold"]]],"/",[6,"std.max",["lum",[5,"0.0001"]]]]],[10,[6,"d.vec4f",[[6,[7,[7,"sample","xyz"],"mul"],["mask"]],[1,[7,"sample","w"],"*","mask"]]]]]]},externals:{"d.i32":()=>Z,"d.vec4f":()=>x,"d.f32":()=>a,"std.clamp":()=>$,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"d.u32":()=>R,"std.dot":()=>se,"d.vec3f":()=>f,"std.max":()=>b}})&&e.f)({})).$name("bloomExtractSoftKnee");var pF=v.fn([x,x,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,.1),d=__tsover_mul(o,.1),c=__tsover_mul(n,.1),_=b(b(b(i,d),c),.01),u=__tsover_div(i,_),m=__tsover_div(d,_),p=__tsover_div(c,_);return x(X(t.x,s.x,u),X(t.y,s.y,m),X(t.z,s.z,p),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sharp"},{type:"i",name:"blurred"},{type:"i",name:"redIntensity"},{type:"i",name:"greenIntensity"},{type:"i",name:"blueIntensity"}],body:[0,[[13,"redRadius",[1,"redIntensity","*",[5,"0.1"]]],[13,"greenRadius",[1,"greenIntensity","*",[5,"0.1"]]],[13,"blueRadius",[1,"blueIntensity","*",[5,"0.1"]]],[13,"maxRadius",[6,"std.max",[[6,"std.max",[[6,"std.max",["redRadius","greenRadius"]],"blueRadius"]],[5,"0.01"]]]],[13,"rMix",[1,"redRadius","/","maxRadius"]],[13,"gMix",[1,"greenRadius","/","maxRadius"]],[13,"bMix",[1,"blueRadius","/","maxRadius"]],[13,"finalR",[6,"std.mix",[[7,"sharp","x"],[7,"blurred","x"],"rMix"]]],[13,"finalG",[6,"std.mix",[[7,"sharp","y"],[7,"blurred","y"],"gMix"]]],[13,"finalB",[6,"std.mix",[[7,"sharp","z"],[7,"blurred","z"],"bMix"]]],[10,[6,"d.vec4f",["finalR","finalG","finalB",[7,"sharp","w"]]]]]]},externals:{"std.max":()=>b,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})).$name("channelBlurCompose"),fF=v.fn([a,a,a,a,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(t,su),c=l(__tsover_div(H(d),i),Y(d)),_=l(s,__tsover_sub(1,r));return re(0,o,b(0,se(n.sub(_),c)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angleDeg"},{type:"i",name:"centerX"},{type:"i",name:"centerY"},{type:"i",name:"falloff"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"direction",[6,"d.vec2f",[[1,[6,"std.cos",["angleRad"]],"/","aspect"],[6,"std.sin",["angleRad"]]]]],[13,"centerPos",[6,"d.vec2f",["centerX",[1,[5,"1"],"-","centerY"]]]],[13,"centeredUV",[6,[7,"uv","sub"],["centerPos"]]],[13,"directionalDist",[6,"std.max",[[5,"0"],[6,"std.dot",["centeredUV","direction"]]]]],[10,[6,"std.smoothstep",[[5,"0"],"falloff","directionalDist"]]]]]},externals:{DEG_TO_RAD:()=>su,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y,"std.max":()=>b,"std.dot":()=>se,"std.smoothstep":()=>re}})&&e.f)({})).$name("progressiveBlurAmount");var vF=v.fn([a,l,a,a,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(t,su),c=l(__tsover_mul(Y(d),-1),H(d)),_=l(s.x,__tsover_sub(1,s.y)),u=n.sub(_),m=z(se(l(__tsover_mul(u.x,i),u.y),c)),p=__tsover_mul(r,.5);return re(p,__tsover_add(p,o),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angleDeg"},{type:"i",name:"center"},{type:"i",name:"width"},{type:"i",name:"falloff"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"perpVector",[6,"d.vec2f",[[1,[6,"std.sin",["angleRad"]],"*",[4,"-",[5,"1"]]],[6,"std.cos",["angleRad"]]]]],[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"centeredUV",[6,[7,"uv","sub"],["centerPos"]]],[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"centeredUV","x"],"*","aspect"],[7,"centeredUV","y"]]]],[13,"distFromLine",[6,"std.abs",[[6,"std.dot",["aspectCorrectedUV","perpVector"]]]]],[13,"focusWidth",[1,"width","*",[5,"0.5"]]],[10,[6,"std.smoothstep",["focusWidth",[1,"focusWidth","+","falloff"],"distFromLine"]]]]]},externals:{DEG_TO_RAD:()=>su,"d.vec2f":()=>l,"std.sin":()=>Y,"std.cos":()=>H,"std.abs":()=>z,"std.dot":()=>se,"std.smoothstep":()=>re}})&&e.f)({})).$name("tiltShiftBlurAmount");var yF=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=t.xyz.add(s.xyz.mul(r)),n=$(__tsover_mul(s.w,r),0,1);return x(o,__tsover_add(t.w,__tsover_mul(n,__tsover_sub(1,t.w))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"original"},{type:"i",name:"bloom"},{type:"i",name:"intensity"}],body:[0,[[13,"finalColor",[6,[7,[7,"original","xyz"],"add"],[[6,[7,[7,"bloom","xyz"],"mul"],["intensity"]]]]],[13,"glowAlpha",[6,"std.clamp",[[1,[7,"bloom","w"],"*","intensity"],[5,"0"],[5,"1"]]]],[13,"finalAlpha",[1,[7,"original","w"],"+",[1,"glowAlpha","*",[1,[5,"1"],"-",[7,"original","w"]]]]],[10,[6,"d.vec4f",["finalColor","finalAlpha"]]]]]},externals:{"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})).$name("glowCompose");var hF=Math.PI*(3-Math.sqrt(5)),xF=Math.PI*2;var L3=.35;var gF=Math.SQRT2/4;var bF=v.fn([x,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=se(t.xyz,f(.2126,.7152,.0722)),i=re(s,__tsover_add(s,L3),n);return __tsover_mul(__tsover_add(1,__tsover_mul(__tsover_mul(r,i),i)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"threshold"},{type:"i",name:"gain"},{type:"i",name:"rim"}],body:[0,[[13,"lum",[6,"std.dot",[[7,"base","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"hi",[6,"std.smoothstep",["threshold",[1,"threshold","+","HIGHLIGHT_KNEE"],"lum"]]],[10,[1,[1,[5,"1"],"+",[1,[1,"gain","*","hi"],"*","hi"]],"*","rim"]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.smoothstep":()=>re,HIGHLIGHT_KNEE:()=>L3}})&&e.f)({})).$name("bokehHighlightWeight");var ed=Le,wF=hz(32,.8),TF=v.fn([l,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,ed),d=__tsover_div(o.x,o.y),c=__tsover_div(H(i),d),_=Y(i),u=__tsover_mul(__tsover_div(__tsover_mul(c,r),o.x),2),m=__tsover_mul(__tsover_div(__tsover_mul(_,r),o.y),2);return l(__tsover_add(t.x,__tsover_mul(u,n)),__tsover_add(t.y,__tsover_mul(m,n)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"angleDeg"},{type:"i",name:"intensity"},{type:"i",name:"viewport"},{type:"i",name:"tapT"}],body:[0,[[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"dirX",[1,[6,"std.cos",["angleRad"]],"/","aspect"]],[13,"dirY",[6,"std.sin",["angleRad"]]],[13,"bvX",[1,[1,[1,"dirX","*","intensity"],"/",[7,"viewport","x"]],"*",[5,"2"]]],[13,"bvY",[1,[1,[1,"dirY","*","intensity"],"/",[7,"viewport","y"]],"*",[5,"2"]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,"bvX","*","tapT"]],[1,[7,"uv","y"],"+",[1,"bvY","*","tapT"]]]]]]]},externals:{DEG_TO_RAD:()=>ed,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),SF=v.fn([l,a,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(t.x,__tsover_sub(1,t.y)),d=__tsover_div(__tsover_mul(s,.005),31),c=__tsover_mul(__tsover_sub(n,15.5),d),_=H(c),u=Y(c),m=__tsover_sub(r.x,i.x),p=__tsover_sub(r.y,i.y),y=__tsover_mul(m,o),h=p,g=__tsover_sub(__tsover_mul(y,_),__tsover_mul(h,u)),w=__tsover_add(__tsover_mul(y,u),__tsover_mul(h,_));return l(__tsover_add(__tsover_div(g,o),i.x),__tsover_add(w,i.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"intensity"},{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"tapIndex"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"angleStep",[1,[1,"intensity","*",[5,"0.005"]],"/",[5,"31"]]],[13,"angle",[1,[1,"tapIndex","-",[5,"15.5"]],"*","angleStep"]],[13,"cosA",[6,"std.cos",["angle"]]],[13,"sinA",[6,"std.sin",["angle"]]],[13,"initX",[1,[7,"uv","x"],"-",[7,"centerPos","x"]]],[13,"initY",[1,[7,"uv","y"],"-",[7,"centerPos","y"]]],[13,"acX",[1,"initX","*","aspect"]],[13,"acY","initY"],[13,"rotX",[1,[1,"acX","*","cosA"],"-",[1,"acY","*","sinA"]]],[13,"rotY",[1,[1,"acX","*","sinA"],"+",[1,"acY","*","cosA"]]],[10,[6,"d.vec2f",[[1,[1,"rotX","/","aspect"],"+",[7,"centerPos","x"]],[1,"rotY","+",[7,"centerPos","y"]]]]]]]},externals:{"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),AF=v.fn([l,a,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(t.x,__tsover_sub(1,t.y)),d=__tsover_mul(s,.01),c=__tsover_add(1,__tsover_mul(d,__tsover_div(n,31))),_=__tsover_sub(r.x,i.x),u=__tsover_sub(r.y,i.y),m=__tsover_mul(_,o),p=u,y=__tsover_div(m,c),h=__tsover_div(p,c);return l(__tsover_add(__tsover_div(y,o),i.x),__tsover_add(h,i.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"intensity"},{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"tapIndex"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"radius",[1,"intensity","*",[5,"0.01"]]],[13,"scale",[1,[5,"1"],"+",[1,"radius","*",[1,"tapIndex","/",[5,"31"]]]]],[13,"deltaX",[1,[7,"uv","x"],"-",[7,"centerPos","x"]]],[13,"deltaY",[1,[7,"uv","y"],"-",[7,"centerPos","y"]]],[13,"acdX",[1,"deltaX","*","aspect"]],[13,"acdY","deltaY"],[13,"scaledDeltaX",[1,"acdX","/","scale"]],[13,"scaledDeltaY",[1,"acdY","/","scale"]],[10,[6,"d.vec2f",[[1,[1,"scaledDeltaX","/","aspect"],"+",[7,"centerPos","x"]],[1,"scaledDeltaY","+",[7,"centerPos","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({}));var MF=v.fn([l,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=er(t.mul(1e3)).mul(2).sub(l(1,1)).mul(s).div(r);return t.add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"intensity"},{type:"i",name:"viewport"}],body:[0,[[13,"seed",[6,[7,"uv","mul"],[[5,"1000"]]]],[13,"randVec",[6,"noise.hash22",["seed"]]],[13,"offset",[6,[7,[6,[7,[6,[7,[6,[7,"randVec","mul"],[[5,"2"]]],"sub"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]],"mul"],["intensity"]],"div"],["viewport"]]],[10,[6,[7,"uv","add"],["offset"]]]]]},externals:{"noise.hash22":()=>er,"d.vec2f":()=>l}})&&e.f)({}));var xz=[.056,.135,.278,.487,.726,.923,1,.923,.726,.487,.278,.135,.056],gz=6.214,PF=xz.map(e=>e/gz);var EF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(r,ed),i=__tsover_mul(o,.2),d=__tsover_div(s.x,s.y),c=__tsover_div(__tsover_mul(Y(n),i),d),_=__tsover_mul(__tsover_mul(H(n),-1),i);return l(__tsover_sub(t.x,c),__tsover_sub(t.y,_))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"distance"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"dist",[1,"distance","*",[5,"0.2"]]],[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"ox",[1,[1,[6,"std.sin",["angleRad"]],"*","dist"],"/","aspect"]],[13,"oy",[1,[1,[6,"std.cos",["angleRad"]],"*",[4,"-",[5,"1"]]],"*","dist"]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"-","ox"],[1,[7,"uv","y"],"-","oy"]]]]]]},externals:{DEG_TO_RAD:()=>ed,"std.sin":()=>Y,"std.cos":()=>H,"d.vec2f":()=>l}})&&e.f)({})),kF=v.fn([l,l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return l(__tsover_add(t.x,__tsover_div(__tsover_mul(o,r),s.x)),__tsover_add(t.y,__tsover_div(__tsover_mul(n,r),s.y)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"blurRadius"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[1,"ox","*","blurRadius"],"/",[7,"viewport","x"]]],[1,[7,"uv","y"],"+",[1,[1,"oy","*","blurRadius"],"/",[7,"viewport","y"]]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),$F=v.fn([x,x,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=f(s.x,s.y,s.z),i=__tsover_mul(s.w,r),d=$(__tsover_sub(i,t.w),0,1),c=n.mul(s.w).mul(d),_=n.mul(s.w).mul(r),u=__tsover_sub(1,t.w),m=f(t.x,t.y,t.z).add(_.mul(u)),p=b(__tsover_add(t.w,__tsover_mul(i,u)),t.w),y=o>.5,h=C(m,c,y),g=C(p,d,y);return x(h.x,h.y,h.z,g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"originalColor"},{type:"i",name:"shadowColor"},{type:"i",name:"shadowAlpha"},{type:"i",name:"cutout"}],body:[0,[[13,"shadowRgb",[6,"d.vec3f",[[7,"shadowColor","x"],[7,"shadowColor","y"],[7,"shadowColor","z"]]]],[13,"shadowA",[1,[7,"shadowColor","w"],"*","shadowAlpha"]],[13,"cutoutA",[6,"std.clamp",[[1,"shadowA","-",[7,"originalColor","w"]],[5,"0"],[5,"1"]]]],[13,"cutoutRgb",[6,[7,[6,[7,"shadowRgb","mul"],[[7,"shadowColor","w"]]],"mul"],["cutoutA"]]],[13,"shadowPremulRgb",[6,[7,[6,[7,"shadowRgb","mul"],[[7,"shadowColor","w"]]],"mul"],["shadowAlpha"]]],[13,"oneMinusOrigA",[1,[5,"1"],"-",[7,"originalColor","w"]]],[13,"normalRgb",[6,[7,[6,"d.vec3f",[[7,"originalColor","x"],[7,"originalColor","y"],[7,"originalColor","z"]]],"add"],[[6,[7,"shadowPremulRgb","mul"],["oneMinusOrigA"]]]]],[13,"normalA",[6,"std.max",[[1,[7,"originalColor","w"],"+",[1,"shadowA","*","oneMinusOrigA"]],[7,"originalColor","w"]]]],[13,"useCut",[1,"cutout",">",[5,"0.5"]]],[13,"rgb",[6,"std.select",["normalRgb","cutoutRgb","useCut"]]],[13,"a",[6,"std.select",["normalA","cutoutA","useCut"]]],[10,[6,"d.vec4f",[[7,"rgb","x"],[7,"rgb","y"],[7,"rgb","z"],"a"]]]]]},externals:{"d.vec3f":()=>f,"std.clamp":()=>$,"std.max":()=>b,"std.select":()=>C,"d.vec4f":()=>x}})&&e.f)({}));var UF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return l(__tsover_add(t.x,__tsover_div(r,s.x)),__tsover_add(t.y,__tsover_div(o,s.y)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"dirX"},{type:"i",name:"dirY"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,"dirX","/",[7,"viewport","x"]]],[1,[7,"uv","y"],"+",[1,"dirY","/",[7,"viewport","y"]]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),CF=v.fn([x,x,x,x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_add(1,__tsover_mul(i,4)),c=__tsover_mul(i,-1),_=$(t.xyz.mul(d).add(s.xyz.mul(c)).add(r.xyz.mul(c)).add(o.xyz.mul(c)).add(n.xyz.mul(c)),f(0,0,0),f(1,1,1));return x(_.x,_.y,_.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"top"},{type:"i",name:"bottom"},{type:"i",name:"left"},{type:"i",name:"right"},{type:"i",name:"amount"}],body:[0,[[13,"centerWeight",[1,[5,"1"],"+",[1,"amount","*",[5,"4"]]]],[13,"neighborWeight",[1,"amount","*",[4,"-",[5,"1"]]]],[13,"rgb",[6,[7,[6,[7,[6,[7,[6,[7,[6,[7,[7,"center","xyz"],"mul"],["centerWeight"]],"add"],[[6,[7,[7,"top","xyz"],"mul"],["neighborWeight"]]]],"add"],[[6,[7,[7,"bottom","xyz"],"mul"],["neighborWeight"]]]],"add"],[[6,[7,[7,"left","xyz"],"mul"],["neighborWeight"]]]],"add"],[[6,[7,[7,"right","xyz"],"mul"],["neighborWeight"]]]]],[13,"clamped",[6,"std.clamp",["rgb",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]],[10,[6,"d.vec4f",[[7,"clamped","x"],[7,"clamped","y"],[7,"clamped","z"],[7,"center","w"]]]]]]},externals:{"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({}));var RF=v.fn([l,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=s>1,d=b(C(__tsover_mul(r,s),r,i),1),c=b(C(r,__tsover_div(r,s),i),1),_=l(__tsover_div(q(__tsover_mul(t.x,d)),d),__tsover_div(q(__tsover_mul(t.y,c)),c)),u=l(__tsover_sub(ue(__tsover_mul(t.x,d)),.5),__tsover_sub(ue(__tsover_mul(t.y,c)),.5)),m=__tsover_sub(.5,__tsover_mul(o,.5)),p=__tsover_mul(n,m),y=b(__tsover_add(__tsover_sub(z(u.x),m),p),0),h=b(__tsover_add(__tsover_sub(z(u.y),m),p),0),g=__tsover_sub(j(l(y,h)),p),w=C(a(0),a(1),g<=0);return f(_.x,_.y,w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"scale"},{type:"i",name:"gap"},{type:"i",name:"roundness"}],body:[0,[[13,"isWide",[1,"aspect",">",[5,"1"]]],[13,"pixelCountX",[6,"std.max",[[6,"std.select",[[1,"scale","*","aspect"],"scale","isWide"]],[5,"1"]]]],[13,"pixelCountY",[6,"std.max",[[6,"std.select",["scale",[1,"scale","/","aspect"],"isWide"]],[5,"1"]]]],[13,"sampleUV",[6,"d.vec2f",[[1,[6,"std.floor",[[1,[7,"uv","x"],"*","pixelCountX"]]],"/","pixelCountX"],[1,[6,"std.floor",[[1,[7,"uv","y"],"*","pixelCountY"]]],"/","pixelCountY"]]]],[13,"localUV",[6,"d.vec2f",[[1,[6,"std.fract",[[1,[7,"uv","x"],"*","pixelCountX"]]],"-",[5,"0.5"]],[1,[6,"std.fract",[[1,[7,"uv","y"],"*","pixelCountY"]]],"-",[5,"0.5"]]]]],[13,"halfSize",[1,[5,"0.5"],"-",[1,"gap","*",[5,"0.5"]]]],[13,"cornerRadius",[1,"roundness","*","halfSize"]],[13,"qx",[6,"std.max",[[1,[1,[6,"std.abs",[[7,"localUV","x"]]],"-","halfSize"],"+","cornerRadius"],[5,"0"]]]],[13,"qy",[6,"std.max",[[1,[1,[6,"std.abs",[[7,"localUV","y"]]],"-","halfSize"],"+","cornerRadius"],[5,"0"]]]],[13,"sdf",[1,[6,"std.length",[[6,"d.vec2f",["qx","qy"]]]],"-","cornerRadius"]],[13,"mask",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"sdf","<=",[5,"0"]]]]],[10,[6,"d.vec3f",[[7,"sampleUV","x"],[7,"sampleUV","y"],"mask"]]]]]},externals:{"std.max":()=>b,"std.select":()=>C,"d.vec2f":()=>l,"std.floor":()=>q,"std.fract":()=>ue,"std.abs":()=>z,"std.length":()=>j,"d.f32":()=>a,"d.vec3f":()=>f}})&&e.f)({}));var zF=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=s>1,c=l(C(__tsover_mul(o,s),o,d),C(o,__tsover_div(o,s),d)),_=l(__tsover_mul(t.x,s),t.y),u=__tsover_mul(n,ed),m=H(u),p=Y(u),y=_.sub(l(__tsover_mul(.5,s),.5)),h=l(__tsover_sub(__tsover_mul(y.x,m),__tsover_mul(y.y,p)),__tsover_add(__tsover_mul(y.x,p),__tsover_mul(y.y,m))).add(l(__tsover_mul(.5,s),.5)),g=l(__tsover_div(h.x,s),h.y),w=q(g.mul(c)).div(c),S=g.sub(w),T=l(1,1).div(c),A=S.div(T).sub(l(.5,.5)),P=__tsover_add(__tsover_mul(A.x,A.x),__tsover_mul(A.y,A.y)),U=b(__tsover_sub(1,__tsover_mul(P,__tsover_mul(i,4))),0),D=__tsover_mul(r,.025),O=__tsover_mul(D,U),L=l(__tsover_div(__tsover_mul(A.x,O),s),__tsover_mul(A.y,O));return t.add(L)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"intensity"},{type:"i",name:"baseTileCount"},{type:"i",name:"rotationDegrees"},{type:"i",name:"roundnessAmount"}],body:[0,[[13,"isWide",[1,"aspect",">",[5,"1"]]],[13,"tileCount",[6,"d.vec2f",[[6,"std.select",[[1,"baseTileCount","*","aspect"],"baseTileCount","isWide"]],[6,"std.select",["baseTileCount",[1,"baseTileCount","/","aspect"],"isWide"]]]]],[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"rotationRadians",[1,"rotationDegrees","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["rotationRadians"]]],[13,"sinA",[6,"std.sin",["rotationRadians"]]],[13,"centered",[6,[7,"aspectCorrectedUV","sub"],[[6,"d.vec2f",[[1,[5,"0.5"],"*","aspect"],[5,"0.5"]]]]]],[13,"rotatedX",[1,[1,[7,"centered","x"],"*","cosA"],"-",[1,[7,"centered","y"],"*","sinA"]]],[13,"rotatedY",[1,[1,[7,"centered","x"],"*","sinA"],"+",[1,[7,"centered","y"],"*","cosA"]]],[13,"rotatedUV",[6,[7,[6,"d.vec2f",["rotatedX","rotatedY"]],"add"],[[6,"d.vec2f",[[1,[5,"0.5"],"*","aspect"],[5,"0.5"]]]]]],[13,"gridUV",[6,"d.vec2f",[[1,[7,"rotatedUV","x"],"/","aspect"],[7,"rotatedUV","y"]]]],[13,"cellCoord",[6,[7,[6,"std.floor",[[6,[7,"gridUV","mul"],["tileCount"]]]],"div"],["tileCount"]]],[13,"localUV",[6,[7,"gridUV","sub"],["cellCoord"]]],[13,"oneOverTile",[6,[7,[6,"d.vec2f",[[5,"1"],[5,"1"]]],"div"],["tileCount"]]],[13,"normalizedLocalUV",[6,[7,"localUV","div"],["oneOverTile"]]],[13,"fromCenter",[6,[7,"normalizedLocalUV","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"distFromCenter",[1,[1,[7,"fromCenter","x"],"*",[7,"fromCenter","x"]],"+",[1,[7,"fromCenter","y"],"*",[7,"fromCenter","y"]]]],[13,"roundnessFactor",[1,[5,"1"],"-",[1,"distFromCenter","*",[1,"roundnessAmount","*",[5,"4"]]]]],[13,"clampedRoundness",[6,"std.max",["roundnessFactor",[5,"0"]]]],[13,"distortionFactor",[1,"intensity","*",[5,"0.025"]]],[13,"scaleFactor",[1,"distortionFactor","*","clampedRoundness"]],[13,"distortion",[6,"d.vec2f",[[1,[1,[7,"fromCenter","x"],"*","scaleFactor"],"/","aspect"],[1,[7,"fromCenter","y"],"*","scaleFactor"]]]],[10,[6,[7,"uv","add"],["distortion"]]]]]},externals:{"d.vec2f":()=>l,"std.select":()=>C,DEG_TO_RAD:()=>ed,"std.cos":()=>H,"std.sin":()=>Y,"std.floor":()=>q,"std.max":()=>b}})&&e.f)({}));var GF=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s,.002);return l(__tsover_add(t.x,__tsover_mul(o,r)),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"colorShift"},{type:"i",name:"dir"}],body:[0,[[13,"scaledColorShift",[1,"colorShift","*",[5,"0.002"]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,"scaledColorShift","*","dir"]],[7,"uv","y"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),YF=v.fn([x,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return f(t.x,s.y,r.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"redSample"},{type:"i",name:"greenSample"},{type:"i",name:"blueSample"}],body:[0,[[10,[6,"d.vec3f",[[7,"redSample","x"],[7,"greenSample","y"],[7,"blueSample","z"]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),LF=v.fn([f,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return t.sub(f(.5)).mul(s).add(f(.5)).mul(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"contrast"},{type:"i",name:"brightness"}],body:[0,[[10,[6,[7,[6,[7,[6,[7,[6,[7,"color","sub"],[[6,"d.vec3f",[[5,"0.5"]]]]],"mul"],["contrast"]],"add"],[[6,"d.vec3f",[[5,"0.5"]]]]],"mul"],["brightness"]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),IF=v.fn([f,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,r),i=Y(__tsover_mul(n,__tsover_mul(3.14159,2))),d=__tsover_sub(1,__tsover_mul(o,__tsover_add(__tsover_mul(i,.5),.5)));return t.mul(d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uvY"},{type:"i",name:"scanlineFrequency"},{type:"i",name:"scanlineIntensity"}],body:[0,[[13,"scanlinePosition",[1,"uvY","*","scanlineFrequency"]],[13,"scanlineWave",[6,"std.sin",[[1,"scanlinePosition","*",[1,[5,"3.14159"],"*",[5,"2"]]]]]],[13,"scanlineEffect",[1,[5,"1"],"-",[1,"scanlineIntensity","*",[1,[1,"scanlineWave","*",[5,"0.5"]],"+",[5,"0.5"]]]]],[10,[6,[7,"color","mul"],["scanlineEffect"]]]]]},externals:{"std.sin":()=>Y}})&&e.f)({})),DF=v.fn([f,l,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r,.5),n=ue(s.mul(o)),i=__tsover_add(__tsover_mul(Y(__tsover_mul(n.x,6.28318)),.1),.95),d=__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(n.x,6.28318),2.09)),.1),.95),c=__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(n.x,6.28318),4.18)),.1),.95);return f(__tsover_mul(t.x,i),__tsover_mul(t.y,d),__tsover_mul(t.z,c))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"},{type:"i",name:"pixelSize"}],body:[0,[[13,"phosphorScale",[1,"pixelSize","*",[5,"0.5"]]],[13,"pixelPhase",[6,"std.fract",[[6,[7,"uv","mul"],["phosphorScale"]]]]],[13,"redMask",[1,[1,[6,"std.sin",[[1,[7,"pixelPhase","x"],"*",[5,"6.28318"]]]],"*",[5,"0.1"]],"+",[5,"0.95"]]],[13,"greenMask",[1,[1,[6,"std.sin",[[1,[1,[7,"pixelPhase","x"],"*",[5,"6.28318"]],"+",[5,"2.09"]]]],"*",[5,"0.1"]],"+",[5,"0.95"]]],[13,"blueMask",[1,[1,[6,"std.sin",[[1,[1,[7,"pixelPhase","x"],"*",[5,"6.28318"]],"+",[5,"4.18"]]]],"*",[5,"0.1"]],"+",[5,"0.95"]]],[10,[6,"d.vec3f",[[1,[7,"color","x"],"*","redMask"],[1,[7,"color","y"],"*","greenMask"],[1,[7,"color","z"],"*","blueMask"]]]]]]},externals:{"std.fract":()=>ue,"std.sin":()=>Y,"d.vec3f":()=>f}})&&e.f)({})),FF=v.fn([f,l,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=s.sub(l(.5,.5)),d=j(l(__tsover_mul(i.x,r),i.y)),c=__tsover_sub(1,__tsover_mul(o,.9)),_=__tsover_add(c,.5),u=X(1,__tsover_sub(1,re(c,_,d)),n);return t.mul(u)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"vignetteRadius"},{type:"i",name:"vignetteIntensity"}],body:[0,[[13,"centeredUV",[6,[7,"uv","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"centeredUV","x"],"*","aspect"],[7,"centeredUV","y"]]]],[13,"vignetteDistance",[6,"std.length",["aspectCorrectedUV"]]],[13,"innerEdge",[1,[5,"1"],"-",[1,"vignetteRadius","*",[5,"0.9"]]]],[13,"outerEdge",[1,"innerEdge","+",[5,"0.5"]]],[13,"vignetteValue",[1,[5,"1"],"-",[6,"std.smoothstep",["innerEdge","outerEdge","vignetteDistance"]]]],[13,"vignette",[6,"std.mix",[[5,"1"],"vignetteValue","vignetteIntensity"]]],[10,[6,[7,"color","mul"],["vignette"]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.smoothstep":()=>re,"std.mix":()=>X}})&&e.f)({})),I3=487,qd=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ot(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"noise.hash12",["p"]]]]]},externals:{"noise.hash12":()=>Ot}})&&e.f)({})),En=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=ue(t),o=r.mul(r).mul(l(3,3).sub(r.mul(2))),n=qd(s),i=qd(s.add(l(1,0))),d=qd(s.add(l(0,1))),c=qd(s.add(l(1,1)));return X(X(n,i,o.x),X(d,c,o.x),o.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,"std.fract",["p"]]],[13,"u",[6,[7,[6,[7,"f","mul"],["f"]],"mul"],[[6,[7,[6,"d.vec2f",[[5,"3"],[5,"3"]]],"sub"],[[6,[7,"f","mul"],[[5,"2"]]]]]]]],[13,"a",[6,"hash2D",["i"]]],[13,"b",[6,"hash2D",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"0"]]]]]]]],[13,"c",[6,"hash2D",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]]]],[13,"dd",[6,"hash2D",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]]],[10,[6,"std.mix",[[6,"std.mix",["a","b",[7,"u","x"]]],[6,"std.mix",["c","dd",[7,"u","x"]]],[7,"u","y"]]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,"d.vec2f":()=>l,hash2D:()=>qd,"std.mix":()=>X}})&&e.f)({})),D3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return re(.45,.8,En(l(__tsover_mul(t,.4),0)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[6,"std.smoothstep",[[5,"0.45"],[5,"0.8"],[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"t","*",[5,"0.4"]],[5,"0"]]]]]]]]]]},externals:{"std.smoothstep":()=>re,smoothNoise2D:()=>En,"d.vec2f":()=>l}})&&e.f)({})),F3=v.fn([a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=q(__tsover_mul(t,I3)),i=__tsover_mul(__tsover_sub(Ot(l(n,s)),.5),2),d=__tsover_mul(__tsover_sub(Ot(l(n,__tsover_add(s,69.42))),.5),2),c=__tsover_add(.25,__tsover_mul(o,.75)),_=__tsover_mul(__tsover_mul(__tsover_mul(i,r),.008),c);return l(__tsover_mul(__tsover_mul(__tsover_mul(d,r),.004),c),_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvY"},{type:"i",name:"t"},{type:"i",name:"scanlineNoise"},{type:"i",name:"burst"}],body:[0,[[13,"rowInt",[6,"std.floor",[[1,"uvY","*","FIELD_LINES"]]]],[13,"h0",[1,[1,[6,"noise.hash12",[[6,"d.vec2f",["rowInt","t"]]]],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"h1",[1,[1,[6,"noise.hash12",[[6,"d.vec2f",["rowInt",[1,"t","+",[5,"69.42"]]]]]],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"fineGate",[1,[5,"0.25"],"+",[1,"burst","*",[5,"0.75"]]]],[13,"chromaRowOffset",[1,[1,[1,"h0","*","scanlineNoise"],"*",[5,"0.008"]],"*","fineGate"]],[13,"lumaRowOffset",[1,[1,[1,"h1","*","scanlineNoise"],"*",[5,"0.004"]],"*","fineGate"]],[10,[6,"d.vec2f",["lumaRowOffset","chromaRowOffset"]]]]]},externals:{"std.floor":()=>q,FIELD_LINES:()=>I3,"noise.hash12":()=>Ot,"d.vec2f":()=>l}})&&e.f)({})),B3=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(En(l(__tsover_mul(t,3),__tsover_mul(s,.8))),.5),n=__tsover_sub(En(l(__tsover_mul(t,30),__tsover_mul(s,6))),.5);return __tsover_mul(__tsover_add(__tsover_mul(o,.008),__tsover_mul(n,.002)),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvY"},{type:"i",name:"t"},{type:"i",name:"wobble"}],body:[0,[[13,"wave1",[1,[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"uvY","*",[5,"3"]],[1,"t","*",[5,"0.8"]]]]]],"-",[5,"0.5"]]],[13,"wave2",[1,[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"uvY","*",[5,"30"]],[1,"t","*",[5,"6"]]]]]],"-",[5,"0.5"]]],[10,[1,[1,[1,"wave1","*",[5,"0.008"]],"+",[1,"wave2","*",[5,"0.002"]]],"*","wobble"]]]]},externals:{smoothNoise2D:()=>En,"d.vec2f":()=>l}})&&e.f)({})),W3=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=re(.92,.99,Y(__tsover_sub(__tsover_mul(t,8),__tsover_mul(s,3.77)))),n=re(.3,1,En(l(__tsover_mul(t,4.77),s)));return __tsover_mul(__tsover_mul(__tsover_mul(o,n),r),-.018)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvY"},{type:"i",name:"t"},{type:"i",name:"wobble"}],body:[0,[[13,"creasePhase",[6,"std.smoothstep",[[5,"0.92"],[5,"0.99"],[6,"std.sin",[[1,[1,"uvY","*",[5,"8"]],"-",[1,"t","*",[5,"3.77"]]]]]]]],[13,"creaseNoise",[6,"std.smoothstep",[[5,"0.3"],[5,"1"],[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"uvY","*",[5,"4.77"]],"t"]]]]]]],[10,[1,[1,[1,"creasePhase","*","creaseNoise"],"*","wobble"],"*",[4,"-",[5,"0.018"]]]]]]},externals:{"std.smoothstep":()=>re,"std.sin":()=>Y,smoothNoise2D:()=>En,"d.vec2f":()=>l}})&&e.f)({})),O3=v.fn([a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(1,re(0,.06,t)),i=__tsover_sub(En(l(__tsover_mul(t,60),__tsover_mul(s,14))),.5);return l(__tsover_mul(__tsover_mul(__tsover_mul(n,i),r),.09),__tsover_mul(__tsover_mul(__tsover_mul(n,r),o),.02))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvY"},{type:"i",name:"t"},{type:"i",name:"wobble"},{type:"i",name:"burst"}],body:[0,[[13,"switchPhase",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],[5,"0.06"],"uvY"]]]],[13,"switchNoise",[1,[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"uvY","*",[5,"60"]],[1,"t","*",[5,"14"]]]]]],"-",[5,"0.5"]]],[13,"switchX",[1,[1,[1,"switchPhase","*","switchNoise"],"*","wobble"],"*",[5,"0.09"]]],[13,"switchY",[1,[1,[1,"switchPhase","*","wobble"],"*","burst"],"*",[5,"0.02"]]],[10,[6,"d.vec2f",["switchX","switchY"]]]]]},externals:{"std.smoothstep":()=>re,smoothNoise2D:()=>En,"d.vec2f":()=>l}})&&e.f)({})),BF=v.fn([l,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,r),d=D3(i),c=F3(t.y,i,n,d),_=O3(t.y,i,o,d),u=__tsover_add(__tsover_add(B3(t.y,i,o),W3(t.y,i,o)),_.x),m=__tsover_add(t.y,_.y);return x(__tsover_add(__tsover_add(t.x,u),c.x),m,__tsover_add(__tsover_add(t.x,u),c.y),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"time"},{type:"i",name:"speed"},{type:"i",name:"wobble"},{type:"i",name:"scanlineNoise"}],body:[0,[[13,"t",[1,"time","*","speed"]],[13,"burst",[6,"burstGate",["t"]]],[13,"jitter",[6,"rowJitter",[[7,"uv","y"],"t","scanlineNoise","burst"]]],[13,"sw",[6,"headSwitch",[[7,"uv","y"],"t","wobble","burst"]]],[13,"globalX",[1,[1,[6,"tapeWave",[[7,"uv","y"],"t","wobble"]],"+",[6,"creaseShift",[[7,"uv","y"],"t","wobble"]]],"+",[7,"sw","x"]]],[13,"sy",[1,[7,"uv","y"],"+",[7,"sw","y"]]],[10,[6,"d.vec4f",[[1,[1,[7,"uv","x"],"+","globalX"],"+",[7,"jitter","x"]],"sy",[1,[1,[7,"uv","x"],"+","globalX"],"+",[7,"jitter","y"]],"sy"]]]]]},externals:{burstGate:()=>D3,rowJitter:()=>F3,headSwitch:()=>O3,tapeWave:()=>B3,creaseShift:()=>W3,"d.vec4f":()=>x}})&&e.f)({})),WF=v.fn([l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,r);return __tsover_add(1,__tsover_mul(__tsover_mul(H(__tsover_add(__tsover_mul(bo(n,6.2831853),2),__tsover_mul(t.y,.5))),.015),o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"time"},{type:"i",name:"speed"},{type:"i",name:"wobble"}],body:[0,[[13,"t",[1,"time","*","speed"]],[10,[1,[5,"1"],"+",[1,[1,[6,"std.cos",[[1,[1,[6,"std.mod",["t",[5,"6.2831853"]]],"*",[5,"2"]],"+",[1,[7,"uv","y"],"*",[5,"0.5"]]]]],"*",[5,"0.015"]],"*","wobble"]]]]]},externals:{"std.cos":()=>H,"std.mod":()=>bo}})&&e.f)({})),OF=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_add(t.x,__tsover_mul(__tsover_mul(r,-1),s)),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"chromaUV"},{type:"i",name:"smearScale"},{type:"i",name:"i"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"chromaUV","x"],"+",[1,[1,"i","*",[4,"-",[5,"1"]]],"*","smearScale"]],[7,"chromaUV","y"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),VF=v.fn([x,x,x,x,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=se(t.xyz,f(.299,.587,.114)),c=f(.596,-.274,-.322),_=f(.211,-.523,.312),u=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(se(s.xyz,c),.06666666666666667),__tsover_mul(se(r.xyz,c),.13333333333333333)),__tsover_mul(se(o.xyz,c),.2)),__tsover_mul(se(n.xyz,c),.26666666666666666)),__tsover_mul(se(i.xyz,c),.3333333333333333)),m=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(se(s.xyz,_),.06666666666666667),__tsover_mul(se(r.xyz,_),.13333333333333333)),__tsover_mul(se(o.xyz,_),.2)),__tsover_mul(se(n.xyz,_),.26666666666666666)),__tsover_mul(se(i.xyz,_),.3333333333333333));return f(__tsover_add(__tsover_add(d,__tsover_mul(u,.956)),__tsover_mul(m,.621)),__tsover_sub(__tsover_sub(d,__tsover_mul(u,.272)),__tsover_mul(m,.647)),__tsover_add(__tsover_sub(d,__tsover_mul(u,1.106)),__tsover_mul(m,1.703)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"luma"},{type:"i",name:"c1"},{type:"i",name:"c2"},{type:"i",name:"c3"},{type:"i",name:"c4"},{type:"i",name:"c5"}],body:[0,[[13,"sharpY",[6,"std.dot",[[7,"luma","xyz"],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"iAxis",[6,"d.vec3f",[[5,"0.596"],[4,"-",[5,"0.274"]],[4,"-",[5,"0.322"]]]]],[13,"qAxis",[6,"d.vec3f",[[5,"0.211"],[4,"-",[5,"0.523"]],[5,"0.312"]]]],[13,"accI",[1,[1,[1,[1,[1,[6,"std.dot",[[7,"c1","xyz"],"iAxis"]],"*",[5,"0.06666666666666667"]],"+",[1,[6,"std.dot",[[7,"c2","xyz"],"iAxis"]],"*",[5,"0.13333333333333333"]]],"+",[1,[6,"std.dot",[[7,"c3","xyz"],"iAxis"]],"*",[5,"0.2"]]],"+",[1,[6,"std.dot",[[7,"c4","xyz"],"iAxis"]],"*",[5,"0.26666666666666666"]]],"+",[1,[6,"std.dot",[[7,"c5","xyz"],"iAxis"]],"*",[5,"0.3333333333333333"]]]],[13,"accQ",[1,[1,[1,[1,[1,[6,"std.dot",[[7,"c1","xyz"],"qAxis"]],"*",[5,"0.06666666666666667"]],"+",[1,[6,"std.dot",[[7,"c2","xyz"],"qAxis"]],"*",[5,"0.13333333333333333"]]],"+",[1,[6,"std.dot",[[7,"c3","xyz"],"qAxis"]],"*",[5,"0.2"]]],"+",[1,[6,"std.dot",[[7,"c4","xyz"],"qAxis"]],"*",[5,"0.26666666666666666"]]],"+",[1,[6,"std.dot",[[7,"c5","xyz"],"qAxis"]],"*",[5,"0.3333333333333333"]]]],[10,[6,"d.vec3f",[[1,[1,"sharpY","+",[1,"accI","*",[5,"0.956"]]],"+",[1,"accQ","*",[5,"0.621"]]],[1,[1,"sharpY","-",[1,"accI","*",[5,"0.272"]]],"-",[1,"accQ","*",[5,"0.647"]]],[1,[1,"sharpY","-",[1,"accI","*",[5,"1.106"]]],"+",[1,"accQ","*",[5,"1.703"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),NF=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=$(t.xyz.mul(s),f(0,0,0),f(1,1,1));return x(r.x,r.y,r.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"acBeat"}],body:[0,[[13,"clamped",[6,"std.clamp",[[6,[7,[7,"color","xyz"],"mul"],["acBeat"]],[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]],[10,[6,"d.vec4f",[[7,"clamped","x"],[7,"clamped","y"],[7,"clamped","z"],[7,"color","w"]]]]]]},externals:{"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),sr=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Gs(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"noise.hash11",["p"]]]]]},externals:{"noise.hash11":()=>Gs}})&&e.f)({})),V3=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=sr(t),n=__tsover_mul(__tsover_mul(o,o),o),i=sr(__tsover_add(s,73)),d=__tsover_mul(i,i),c=__tsover_sub(1,r),_=De(c,n),u=De(__tsover_add(c,.15),d);return __tsover_mul($(__tsover_add(__tsover_mul(_,.8),__tsover_mul(u,.4)),0,1),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"slowFrame"},{type:"i",name:"fastFrame"},{type:"i",name:"intensity"}],body:[0,[[13,"slowHash",[6,"hash11",["slowFrame"]]],[13,"slowPulse",[1,[1,"slowHash","*","slowHash"],"*","slowHash"]],[13,"fastHash",[6,"hash11",[[1,"fastFrame","+",[5,"73"]]]]],[13,"fastPulse",[1,"fastHash","*","fastHash"]],[13,"threshold",[1,[5,"1"],"-","intensity"]],[13,"majorBurst",[6,"std.step",["threshold","slowPulse"]]],[13,"minorFlicker",[6,"std.step",[[1,"threshold","+",[5,"0.15"]],"fastPulse"]]],[10,[1,[6,"std.clamp",[[1,[1,"majorBurst","*",[5,"0.8"]],"+",[1,"minorFlicker","*",[5,"0.4"]]],[5,"0"],[5,"1"]]],"*","intensity"]]]]},externals:{hash11:()=>sr,"std.step":()=>De,"std.clamp":()=>$}})&&e.f)({})),Q_=v.fn([a,a,a,a,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_add(__tsover_mul(t,r),__tsover_mul(s,o)),u=sr(_),m=De(__tsover_sub(1,__tsover_mul(c,n)),u);return f(__tsover_mul(__tsover_mul(__tsover_sub(sr(__tsover_add(_,i)),.5),d),m),m,_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"bandY"},{type:"i",name:"frame"},{type:"i",name:"seedScale"},{type:"i",name:"frameScale"},{type:"i",name:"gateFactor"},{type:"i",name:"hashOffset"},{type:"i",name:"amplitude"},{type:"i",name:"glitchStrength"}],body:[0,[[13,"seed",[1,[1,"bandY","*","seedScale"],"+",[1,"frame","*","frameScale"]]],[13,"bandHash",[6,"hash11",["seed"]]],[13,"active",[6,"std.step",[[1,[5,"1"],"-",[1,"glitchStrength","*","gateFactor"]],"bandHash"]]],[13,"displace",[1,[1,[1,[6,"hash11",[[1,"seed","+","hashOffset"]]],"-",[5,"0.5"]],"*","amplitude"],"*","active"]],[10,[6,"d.vec3f",["displace","active","seed"]]]]]},externals:{hash11:()=>sr,"std.step":()=>De,"d.vec3f":()=>f}})&&e.f)({})),N3=v.fn([a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_add(__tsover_add(__tsover_mul(t,.41),__tsover_mul(s,.67)),__tsover_mul(r,2.31)),i=sr(n),d=De(__tsover_sub(1,__tsover_mul(o,.35)),i);return l(__tsover_mul(__tsover_mul(__tsover_sub(sr(__tsover_add(n,77)),.5),.18),d),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colX"},{type:"i",name:"bandY1"},{type:"i",name:"slowFrame"},{type:"i",name:"glitchStrength"}],body:[0,[[13,"blockSeed",[1,[1,[1,"colX","*",[5,"0.41"]],"+",[1,"bandY1","*",[5,"0.67"]]],"+",[1,"slowFrame","*",[5,"2.31"]]]],[13,"blockHash",[6,"hash11",["blockSeed"]]],[13,"blockActive",[6,"std.step",[[1,[5,"1"],"-",[1,"glitchStrength","*",[5,"0.35"]]],"blockHash"]]],[13,"displace",[1,[1,[1,[6,"hash11",[[1,"blockSeed","+",[5,"77"]]]],"-",[5,"0.5"]],"*",[5,"0.18"]],"*","blockActive"]],[10,[6,"d.vec2f",["displace","blockActive"]]]]]},externals:{hash11:()=>sr,"std.step":()=>De,"d.vec2f":()=>l}})&&e.f)({})),q3=v.fn([l,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_add(__tsover_add(__tsover_mul(s,.83),__tsover_mul(r,1.17)),__tsover_mul(o,4.57)),_=sr(c),u=sr(__tsover_add(c,500)),m=__tsover_mul(De(__tsover_sub(1,__tsover_mul(i,d)),_),n),p=__tsover_mul(De(__tsover_sub(1,__tsover_mul(__tsover_mul(i,d),.4)),u),n);return l(X(t.x,__tsover_sub(1,t.x),m),X(t.y,__tsover_sub(1,t.y),p))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"displacedUV"},{type:"i",name:"colX"},{type:"i",name:"bandY1"},{type:"i",name:"slowFrame"},{type:"i",name:"bandActive1"},{type:"i",name:"mirrorChance"},{type:"i",name:"glitchStrength"}],body:[0,[[13,"mirrorSeed",[1,[1,[1,"colX","*",[5,"0.83"]],"+",[1,"bandY1","*",[5,"1.17"]]],"+",[1,"slowFrame","*",[5,"4.57"]]]],[13,"hMirrorHash",[6,"hash11",["mirrorSeed"]]],[13,"vMirrorHash",[6,"hash11",[[1,"mirrorSeed","+",[5,"500"]]]]],[13,"hMirrorActive",[1,[6,"std.step",[[1,[5,"1"],"-",[1,"mirrorChance","*","glitchStrength"]],"hMirrorHash"]],"*","bandActive1"]],[13,"vMirrorActive",[1,[6,"std.step",[[1,[5,"1"],"-",[1,[1,"mirrorChance","*","glitchStrength"],"*",[5,"0.4"]]],"vMirrorHash"]],"*","bandActive1"]],[10,[6,"d.vec2f",[[6,"std.mix",[[7,"displacedUV","x"],[1,[5,"1"],"-",[7,"displacedUV","x"]],"hMirrorActive"]],[6,"std.mix",[[7,"displacedUV","y"],[1,[5,"1"],"-",[7,"displacedUV","y"]],"vMirrorActive"]]]]]]]},externals:{hash11:()=>sr,"std.step":()=>De,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),Dm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({mirroredUV:l,spread:a,strength:a,bandY1:a,slowFrame:a,bandGate:a,blockGate:a,distortion:a}),"GlitchGeom"),qF=v.fn([l,a,a,a,a,a],Dm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(s,o),c=q(__tsover_mul(d,2.5)),_=q(__tsover_mul(d,10)),u=V3(c,_,r),m=q(__tsover_mul(t.y,n)),p=Q_(m,c,.37,7.13,.5,42,.25,u),y=Q_(q(__tsover_mul(t.y,__tsover_mul(n,2))),_,.53,3.37,.7,99,.12,u),h=Q_(q(__tsover_mul(t.y,__tsover_mul(n,4))),_,.71,11.71,.9,173,.05,u),g=q(__tsover_mul(t.x,4)),w=N3(g,m,c,u),S=__tsover_add(__tsover_add(__tsover_add(p.x,y.x),h.x),w.x),T=__tsover_mul(__tsover_mul(p.y,__tsover_sub(sr(__tsover_add(p.z,200)),.5)),.012),A=q3(l($(__tsover_add(t.x,__tsover_mul(S,u)),0,1),$(__tsover_add(t.y,__tsover_mul(T,u)),0,1)),g,m,c,p.y,i,u),P=__tsover_add(u,__tsover_mul(z(S),2)),U=$(__tsover_add(__tsover_add(p.y,y.y),h.y),0,1);return Dm({mirroredUV:A,spread:P,strength:u,bandY1:m,slowFrame:c,bandGate:p.y,blockGate:w.y,distortion:U})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"time"},{type:"i",name:"intensity"},{type:"i",name:"speed"},{type:"i",name:"blockDensity"},{type:"i",name:"mirrorChance"}],body:[0,[[13,"t",[1,"time","*","speed"]],[13,"slowFrame",[6,"std.floor",[[1,"t","*",[5,"2.5"]]]]],[13,"fastFrame",[6,"std.floor",[[1,"t","*",[5,"10"]]]]],[13,"glitchStrength",[6,"burstPulse",["slowFrame","fastFrame","intensity"]]],[13,"bandY1",[6,"std.floor",[[1,[7,"uv","y"],"*","blockDensity"]]]],[13,"band1",[6,"bandJitter",["bandY1","slowFrame",[5,"0.37"],[5,"7.13"],[5,"0.5"],[5,"42"],[5,"0.25"],"glitchStrength"]]],[13,"bandY2",[6,"std.floor",[[1,[7,"uv","y"],"*",[1,"blockDensity","*",[5,"2"]]]]]],[13,"band2",[6,"bandJitter",["bandY2","fastFrame",[5,"0.53"],[5,"3.37"],[5,"0.7"],[5,"99"],[5,"0.12"],"glitchStrength"]]],[13,"bandY3",[6,"std.floor",[[1,[7,"uv","y"],"*",[1,"blockDensity","*",[5,"4"]]]]]],[13,"band3",[6,"bandJitter",["bandY3","fastFrame",[5,"0.71"],[5,"11.71"],[5,"0.9"],[5,"173"],[5,"0.05"],"glitchStrength"]]],[13,"colX",[6,"std.floor",[[1,[7,"uv","x"],"*",[5,"4"]]]]],[13,"block",[6,"blockShift",["colX","bandY1","slowFrame","glitchStrength"]]],[13,"totalDisplaceX",[1,[1,[1,[7,"band1","x"],"+",[7,"band2","x"]],"+",[7,"band3","x"]],"+",[7,"block","x"]]],[13,"vertJitter",[1,[1,[7,"band1","y"],"*",[1,[6,"hash11",[[1,[7,"band1","z"],"+",[5,"200"]]]],"-",[5,"0.5"]]],"*",[5,"0.012"]]],[13,"displacedUV",[6,"d.vec2f",[[6,"std.clamp",[[1,[7,"uv","x"],"+",[1,"totalDisplaceX","*","glitchStrength"]],[5,"0"],[5,"1"]]],[6,"std.clamp",[[1,[7,"uv","y"],"+",[1,"vertJitter","*","glitchStrength"]],[5,"0"],[5,"1"]]]]]],[13,"mirroredUV",[6,"mirrorFlips",["displacedUV","colX","bandY1","slowFrame",[7,"band1","y"],"mirrorChance","glitchStrength"]]],[13,"spread",[1,"glitchStrength","+",[1,[6,"std.abs",["totalDisplaceX"]],"*",[5,"2"]]]],[13,"anyDistortion",[6,"std.clamp",[[1,[1,[7,"band1","y"],"+",[7,"band2","y"]],"+",[7,"band3","y"]],[5,"0"],[5,"1"]]]],[10,[6,"GlitchGeom",[[104,{mirroredUV:"mirroredUV",spread:"spread",strength:"glitchStrength",bandY1:"bandY1",slowFrame:"slowFrame",bandGate:[7,"band1","y"],blockGate:[7,"block","y"],distortion:"anyDistortion"}]]]]]]},externals:{"std.floor":()=>q,burstPulse:()=>V3,bandJitter:()=>Q_,blockShift:()=>N3,hash11:()=>sr,"d.vec2f":()=>l,"std.clamp":()=>$,mirrorFlips:()=>q3,"std.abs":()=>z,GlitchGeom:()=>Dm}})&&e.f)({})),XF=v.fn([l,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(__tsover_mul(s,.003),r),n=$(__tsover_add(t.x,o),0,1),i=$(__tsover_sub(t.x,o),0,1);return x(n,t.y,i,t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"mirroredUV"},{type:"i",name:"rgbShift"},{type:"i",name:"spread"}],body:[0,[[13,"rgbOffset",[1,[1,"rgbShift","*",[5,"0.003"]],"*","spread"]],[13,"redX",[6,"std.clamp",[[1,[7,"mirroredUV","x"],"+","rgbOffset"],[5,"0"],[5,"1"]]]],[13,"blueX",[6,"std.clamp",[[1,[7,"mirroredUV","x"],"-","rgbOffset"],[5,"0"],[5,"1"]]]],[10,[6,"d.vec4f",["redX",[7,"mirroredUV","y"],"blueX",[7,"mirroredUV","y"]]]]]]},externals:{"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})),HF=v.fn([x,l,a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=q(__tsover_mul(s.x,4)),u=__tsover_add(__tsover_add(__tsover_mul(_,.41),__tsover_mul(r,.67)),__tsover_mul(o,2.31)),m=sr(__tsover_add(u,555)),p=sr(__tsover_add(__tsover_add(r,__tsover_mul(o,3.33)),333)),y=ue(__tsover_add(__tsover_mul(s.x,3),__tsover_mul(p,7))),h=q(__tsover_mul(y,7)),g=f(__tsover_add(__tsover_sub(1,De(2,h)),__tsover_mul(De(4,h),__tsover_sub(1,De(6,h)))),__tsover_sub(1,De(4,h)),__tsover_sub(1,De(.5,ue(__tsover_mul(h,.5))))),w=ue(__tsover_add(__tsover_mul(sr(__tsover_add(r,13)),.8),__tsover_mul(o,.07))),S=__tsover_mul(w,6),T=X(f($(__tsover_sub(z(__tsover_sub(S,3)),1),0,1),$(__tsover_sub(2,z(__tsover_sub(S,2))),0,1),$(__tsover_sub(2,z(__tsover_sub(S,4))),0,1)).mul(1.3),g,f(De(.5,m))),A=__tsover_mul(__tsover_mul(__tsover_mul(d,c),n),i),P=X(t.xyz,T.mul(t.w),f(A));return x(P.x,P.y,P.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"},{type:"i",name:"bandY1"},{type:"i",name:"slowFrame"},{type:"i",name:"colorBarMix"},{type:"i",name:"strength"},{type:"i",name:"bandGate"},{type:"i",name:"blockGate"}],body:[0,[[13,"colX",[6,"std.floor",[[1,[7,"uv","x"],"*",[5,"4"]]]]],[13,"blockSeed",[1,[1,[1,"colX","*",[5,"0.41"]],"+",[1,"bandY1","*",[5,"0.67"]]],"+",[1,"slowFrame","*",[5,"2.31"]]]],[13,"fillStyleHash",[6,"hash11",[[1,"blockSeed","+",[5,"555"]]]]],[13,"barOffset",[6,"hash11",[[1,[1,"bandY1","+",[1,"slowFrame","*",[5,"3.33"]]],"+",[5,"333"]]]]],[13,"barX",[6,"std.fract",[[1,[1,[7,"uv","x"],"*",[5,"3"]],"+",[1,"barOffset","*",[5,"7"]]]]]],[13,"barIndex",[6,"std.floor",[[1,"barX","*",[5,"7"]]]]],[13,"barR",[1,[1,[5,"1"],"-",[6,"std.step",[[5,"2"],"barIndex"]]],"+",[1,[6,"std.step",[[5,"4"],"barIndex"]],"*",[1,[5,"1"],"-",[6,"std.step",[[5,"6"],"barIndex"]]]]]],[13,"barG",[1,[5,"1"],"-",[6,"std.step",[[5,"4"],"barIndex"]]]],[13,"barB",[1,[5,"1"],"-",[6,"std.step",[[5,"0.5"],[6,"std.fract",[[1,"barIndex","*",[5,"0.5"]]]]]]]],[13,"smpteColor",[6,"d.vec3f",["barR","barG","barB"]]],[13,"solidHue",[6,"std.fract",[[1,[1,[6,"hash11",[[1,"bandY1","+",[5,"13"]]]],"*",[5,"0.8"]],"+",[1,"slowFrame","*",[5,"0.07"]]]]]],[13,"sh6",[1,"solidHue","*",[5,"6"]]],[13,"solidColor",[6,[7,[6,"d.vec3f",[[6,"std.clamp",[[1,[6,"std.abs",[[1,"sh6","-",[5,"3"]]]],"-",[5,"1"]],[5,"0"],[5,"1"]]],[6,"std.clamp",[[1,[5,"2"],"-",[6,"std.abs",[[1,"sh6","-",[5,"2"]]]]],[5,"0"],[5,"1"]]],[6,"std.clamp",[[1,[5,"2"],"-",[6,"std.abs",[[1,"sh6","-",[5,"4"]]]]],[5,"0"],[5,"1"]]]]],"mul"],[[5,"1.3"]]]],[13,"fillColor",[6,"std.mix",["solidColor","smpteColor",[6,"d.vec3f",[[6,"std.step",[[5,"0.5"],"fillStyleHash"]]]]]]],[13,"colorBarStrength",[1,[1,[1,"bandGate","*","blockGate"],"*","colorBarMix"],"*","strength"]],[13,"withBars",[6,"std.mix",[[7,"color","xyz"],[6,[7,"fillColor","mul"],[[7,"color","w"]]],[6,"d.vec3f",["colorBarStrength"]]]]],[10,[6,"d.vec4f",[[7,"withBars","x"],[7,"withBars","y"],[7,"withBars","z"],[7,"color","w"]]]]]]},externals:{"std.floor":()=>q,hash11:()=>sr,"std.fract":()=>ue,"std.step":()=>De,"d.vec3f":()=>f,"std.clamp":()=>$,"std.abs":()=>z,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),jF=v.fn([x,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,r),d=__tsover_add(__tsover_mul(Y(__tsover_mul(i,3.14159265)),.5),.5),c=__tsover_sub(1,__tsover_mul(__tsover_mul(__tsover_mul(o,d),.3),n)),_=t.xyz.mul(c);return x(_.x,_.y,_.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uvY"},{type:"i",name:"viewportY"},{type:"i",name:"scanlines"},{type:"i",name:"distortion"}],body:[0,[[13,"pixelY",[1,"uvY","*","viewportY"]],[13,"scanlineWave",[1,[1,[6,"std.sin",[[1,"pixelY","*",[5,"3.14159265"]]]],"*",[5,"0.5"]],"+",[5,"0.5"]]],[13,"scanlineEffect",[1,[5,"1"],"-",[1,[1,[1,"scanlines","*","scanlineWave"],"*",[5,"0.3"]],"*","distortion"]]],[13,"shaded",[6,[7,[7,"color","xyz"],"mul"],["scanlineEffect"]]],[10,[6,"d.vec4f",[[7,"shaded","x"],[7,"shaded","y"],[7,"shaded","z"],[7,"color","w"]]]]]]},externals:{"std.sin":()=>Y,"d.vec4f":()=>x}})&&e.f)({})),X3=2/Math.sqrt(3),$i=Math.sqrt(3)/2,KF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=bt(s),i=l(__tsover_mul(t.x,n),__tsover_sub(1,t.y)),d=__tsover_mul(o,Le);return Qi(i,n,H(d),Y(d)).mul(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotationDeg"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"correctedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[1,[5,"1"],"-",[7,"uv","y"]]]]],[13,"rotRad",[1,"rotationDeg","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[10,[6,[7,[6,"rotateAboutCanvasCentre",["correctedUV","aspect","cosR","sinR"]],"mul"],["cells"]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotateAboutCanvasCentre:()=>Qi}})&&e.f)({})),ZF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=bt(s),i=l(__tsover_mul(t.x,n),t.y),d=-__tsover_mul(o,Le);return Qi(i,n,H(d),Y(d)).mul(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotationDeg"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"correctedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"ang",[4,"-",[1,"rotationDeg","*","DEG_TO_RAD"]]],[13,"cosR",[6,"std.cos",["ang"]]],[13,"sinR",[6,"std.sin",["ang"]]],[10,[6,[7,[6,"rotateAboutCanvasCentre",["correctedUV","aspect","cosR","sinR"]],"mul"],["cells"]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotateAboutCanvasCentre:()=>Qi}})&&e.f)({})),QF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=bt(s),i=l(__tsover_mul(t.x,n),t.y),d=__tsover_mul(o,Le);return Qi(i,n,H(d),Y(d)).mul(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotationDeg"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"correctedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"rotRad",[1,"rotationDeg","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[10,[6,[7,[6,"rotateAboutCanvasCentre",["correctedUV","aspect","cosR","sinR"]],"mul"],["cells"]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotateAboutCanvasCentre:()=>Qi}})&&e.f)({})),va=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return Fg(Bl(t),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellId"},{type:"i",name:"variation"}],body:[0,[[10,[6,"variationFactor",[[6,"cellHash",["cellId"]],"variation"]]]]]},externals:{variationFactor:()=>Fg,cellHash:()=>Bl}})&&e.f)({})),ru=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(o,.5);return Nl(t,s,b(__tsover_sub(s,n),0),__tsover_add(__tsover_add(s,r),n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"field"},{type:"i",name:"lineWidth"},{type:"i",name:"pixel"},{type:"i",name:"softness"}],body:[0,[[13,"soft",[1,"softness","*",[5,"0.5"]]],[13,"lo",[6,"std.max",[[1,"lineWidth","-","soft"],[5,"0"]]]],[13,"hi",[1,[1,"lineWidth","+","pixel"],"+","soft"]],[10,[6,"lineMaskFromField",["field","lineWidth","lo","hi"]]]]]},externals:{"std.max":()=>b,lineMaskFromField:()=>Nl}})&&e.f)({})),ou=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return Nl(t,s,__tsover_sub(s,r),__tsover_add(s,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"field"},{type:"i",name:"lineWidth"},{type:"i",name:"aaWidth"}],body:[0,[[10,[6,"lineMaskFromField",["field","lineWidth",[1,"lineWidth","-","aaWidth"],[1,"lineWidth","+","aaWidth"]]]]]]},externals:{lineMaskFromField:()=>Nl}})&&e.f)({})),JF=v.fn([l,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Il(t,s).mul(r);return Og(n,Bg(n,o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"softness"}],body:[0,[[13,"p",[6,[7,[6,"aspectCorrectedUVFlipY",["uv","viewport"]],"mul"],["cells"]]],[10,[6,"quilezCheckerFilter",["p",[6,"footprint2",["p","softness"]]]]]]]},externals:{aspectCorrectedUVFlipY:()=>Il,quilezCheckerFilter:()=>Og,footprint2:()=>Bg}})&&e.f)({})),H3=v.fn([l,l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(r,Le),c=bt(s),_=__tsover_add(Dl(ma(t,c),H(d),Y(d)),__tsover_mul(c,.5));return __tsover_add(__tsover_add(__tsover_mul(_,o),n),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"density"},{type:"i",name:"animTime"},{type:"i",name:"offset"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"rotatedCoord",[1,[6,"directionalProjection",[[6,"canvasCentredDelta",["uv","aspect"]],[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]],"+",[1,"aspect","*",[5,"0.5"]]]],[10,[1,[1,[1,"rotatedCoord","*","density"],"+","animTime"],"+","offset"]]]]},externals:{DEG_TO_RAD:()=>Le,aspectOf:()=>bt,directionalProjection:()=>Dl,canvasCentredDelta:()=>ma,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),eB=v.fn([l,l,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=H3(t,s,r,o,n,i);return Wg(_,Vl(_,c),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"density"},{type:"i",name:"animTime"},{type:"i",name:"offset"},{type:"i",name:"balance"},{type:"i",name:"softness"}],body:[0,[[13,"p",[6,"stripeCoordP",["uv","viewport","angle","density","animTime","offset"]]],[10,[6,"quilezStepFilter",["p",[6,"footprint1",["p","softness"]],"balance"]]]]]},externals:{stripeCoordP:()=>H3,quilezStepFilter:()=>Wg,footprint1:()=>Vl}})&&e.f)({})),tB=v.fn([l,l,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_mul(o,Le),u=H(_),m=Y(_),p=Eo(ma(t,bt(s)),u,-m),y=__tsover_mul(z(__tsover_sub(ue(__tsover_mul(p.y,r)),.5)),2),h=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(p.x,r),__tsover_mul(y,.5)),c),d),g=ue(h),w=Zt(h);return re(__tsover_sub(__tsover_sub(n,i),w),__tsover_add(__tsover_add(n,i),w),g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"count"},{type:"i",name:"angle"},{type:"i",name:"balance"},{type:"i",name:"softness"},{type:"i",name:"offset"},{type:"i",name:"animTime"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"rot",[6,"rotate2",[[6,"canvasCentredDelta",["uv",[6,"aspectOf",["viewport"]]]],"cosA",[4,"-","sinA"]]]],[13,"zigzag",[1,[6,"std.abs",[[1,[6,"std.fract",[[1,[7,"rot","y"],"*","count"]]],"-",[5,"0.5"]]]],"*",[5,"2"]]],[13,"stripeCoord",[1,[1,[1,[1,[7,"rot","x"],"*","count"],"+",[1,"zigzag","*",[5,"0.5"]]],"+","animTime"],"+","offset"]],[13,"pattern",[6,"std.fract",["stripeCoord"]]],[13,"fw",[6,"std.fwidth",["stripeCoord"]]],[10,[6,"std.smoothstep",[[1,[1,"balance","-","softness"],"-","fw"],[1,[1,"balance","+","softness"],"+","fw"],"pattern"]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotate2:()=>Eo,canvasCentredDelta:()=>ma,aspectOf:()=>bt,"std.abs":()=>z,"std.fract":()=>ue,"std.fwidth":()=>Zt,"std.smoothstep":()=>re}})&&e.f)({})),sB=v.fn([l,a,a,a,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_div(c.x,c.y),u=j(l(__tsover_sub(__tsover_mul(d.x,_),__tsover_mul(t.x,_)),__tsover_sub(d.y,__tsover_sub(1,t.y)))),m=Y(__tsover_add(__tsover_sub(__tsover_mul(u,s),i),n)),p=__tsover_sub(__tsover_mul(o,2),1),y=re(__tsover_sub(p,r),__tsover_add(p,r),m);return __tsover_sub(1,y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"frequency"},{type:"i",name:"softness"},{type:"i",name:"thickness"},{type:"i",name:"phase"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"dx",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,[7,"center","x"],"*","aspect"]]],[13,"dy",[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]],[13,"dist",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[13,"waveInput",[1,[1,[1,"dist","*","frequency"],"-","animTime"],"+","phase"]],[13,"baseWave",[6,"std.sin",["waveInput"]]],[13,"thicknessThreshold",[1,[1,"thickness","*",[5,"2"]],"-",[5,"1"]]],[13,"banded",[6,"std.smoothstep",[[1,"thicknessThreshold","-","softness"],[1,"thicknessThreshold","+","softness"],"baseWave"]]],[10,[1,[5,"1"],"-","banded"]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.sin":()=>Y,"std.smoothstep":()=>re}})&&e.f)({})),j3=v.fn([a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return l(ue(__tsover_mul(Y(__tsover_mul(t,127.1)),43758.5453123)),ue(__tsover_mul(Y(__tsover_mul(t,311.7)),38291.3421)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"idx"}],body:[0,[[10,[6,"d.vec2f",[[6,"std.fract",[[1,[6,"std.sin",[[1,"idx","*",[5,"127.1"]]]],"*",[5,"43758.5453123"]]]],[6,"std.fract",[[1,[6,"std.sin",[[1,"idx","*",[5,"311.7"]]]],"*",[5,"38291.3421"]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),K3=v.fn([a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_mul(o,n),_=__tsover_mul(b(__tsover_sub(t,s),0),r),u=$(__tsover_div(_,b(c,1e-4)),0,1),m=__tsover_mul(o,be(b(__tsover_sub(1,__tsover_mul(u,u)),0)));return __tsover_mul(__tsover_sub(1,re(b(__tsover_sub(m,i),0),b(__tsover_add(m,i),.001),d)),re(0,i,m))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"vPeriodic"},{type:"i",name:"trailLen"},{type:"i",name:"density"},{type:"i",name:"hw"},{type:"i",name:"rounding"},{type:"i",name:"fwU"},{type:"i",name:"distFromCenter"}],body:[0,[[13,"maxDepth",[1,"hw","*","rounding"]],[13,"gapDist",[1,[6,"std.max",[[1,"vPeriodic","-","trailLen"],[5,"0"]]],"*","density"]],[13,"tcap",[6,"std.clamp",[[1,"gapDist","/",[6,"std.max",["maxDepth",[5,"0.0001"]]]],[5,"0"],[5,"1"]]]],[13,"capHW",[1,"hw","*",[6,"std.sqrt",[[6,"std.max",[[1,[5,"1"],"-",[1,"tcap","*","tcap"]],[5,"0"]]]]]]],[10,[1,[1,[5,"1"],"-",[6,"std.smoothstep",[[6,"std.max",[[1,"capHW","-","fwU"],[5,"0"]]],[6,"std.max",[[1,"capHW","+","fwU"],[5,"0.001"]]],"distFromCenter"]]],"*",[6,"std.smoothstep",[[5,"0"],"fwU","capHW"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.sqrt":()=>be,"std.smoothstep":()=>re}})&&e.f)({})),Z3=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_sub(__tsover_mul(2,s),1),o=b(__tsover_mul(2,__tsover_sub(1,s)),.001);return $(__tsover_div(__tsover_add(t,r),o),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"withinStreak"},{type:"i",name:"balance"}],body:[0,[[13,"balanceNum",[1,[1,[5,"2"],"*","balance"],"-",[5,"1"]]],[13,"balanceDen",[6,"std.max",[[1,[5,"2"],"*",[1,[5,"1"],"-","balance"]],[5,"0.001"]]]],[10,[6,"std.clamp",[[1,[1,"withinStreak","+","balanceNum"],"/","balanceDen"],[5,"0"],[5,"1"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$}})&&e.f)({})),rB=v.fn([l,l,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=bt(s),p=l(__tsover_mul(t.x,m),t.y).sub(l(__tsover_mul(m,.5),.5)),y=__tsover_mul(r,Le),h=H(y),g=Y(y),w=__tsover_sub(__tsover_mul(p.y,h),__tsover_mul(p.x,g)),S=__tsover_add(__tsover_mul(p.x,h),__tsover_mul(p.y,g)),T=__tsover_mul(w,o),A=q(T),P=ue(T),U=j3(A),D=__tsover_add(1,__tsover_mul(__tsover_mul(__tsover_sub(U.x,.5),n),2)),O=U.y,L=ue(__tsover_mul(u,D)),G=ue(__tsover_sub(__tsover_sub(S,L),O)),W=i,K=$(__tsover_div(G,W),0,1),Q=$(Zt(S),.001,.1),te=$(__tsover_mul(Zt(w),o),.001,.1),ee=__tsover_sub(1,re(__tsover_sub(W,Q),__tsover_add(W,Q),G)),he=__tsover_mul(d,.5),Ee=z(__tsover_sub(P,.5)),Te=__tsover_sub(1,re(__tsover_sub(he,te),__tsover_add(he,te),Ee));return l(b(__tsover_mul(ee,Te),K3(G,W,o,he,c,te,Ee)),Z3(K,_))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"vp"},{type:"i",name:"angle"},{type:"i",name:"density"},{type:"i",name:"speedVariance"},{type:"i",name:"trailLength"},{type:"i",name:"strokeWidth"},{type:"i",name:"rounding"},{type:"i",name:"balance"},{type:"i",name:"animTime"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["vp"]]],[13,"corrUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centeredUV",[6,[7,"corrUV","sub"],[[6,"d.vec2f",[[1,"aspect","*",[5,"0.5"]],[5,"0.5"]]]]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"u",[1,[1,[7,"centeredUV","y"],"*","cosA"],"-",[1,[7,"centeredUV","x"],"*","sinA"]]],[13,"v",[1,[1,[7,"centeredUV","x"],"*","cosA"],"+",[1,[7,"centeredUV","y"],"*","sinA"]]],[13,"colF",[1,"u","*","density"]],[13,"colIdx",[6,"std.floor",["colF"]]],[13,"colLocalU",[6,"std.fract",["colF"]]],[13,"h",[6,"colHash",["colIdx"]]],[13,"speedMod",[1,[5,"1"],"+",[1,[1,[1,[7,"h","x"],"-",[5,"0.5"]],"*","speedVariance"],"*",[5,"2"]]]],[13,"phase",[7,"h","y"]],[13,"animOffset",[6,"std.fract",[[1,"animTime","*","speedMod"]]]],[13,"vPeriodic",[6,"std.fract",[[1,[1,"v","-","animOffset"],"-","phase"]]]],[13,"trailLen","trailLength"],[13,"withinStreak",[6,"std.clamp",[[1,"vPeriodic","/","trailLen"],[5,"0"],[5,"1"]]]],[13,"fwV",[6,"std.clamp",[[6,"std.fwidth",["v"]],[5,"0.001"],[5,"0.1"]]]],[13,"fwU",[6,"std.clamp",[[1,[6,"std.fwidth",["u"]],"*","density"],[5,"0.001"],[5,"0.1"]]]],[13,"streakMask",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"trailLen","-","fwV"],[1,"trailLen","+","fwV"],"vPeriodic"]]]],[13,"hw",[1,"strokeWidth","*",[5,"0.5"]]],[13,"distFromCenter",[6,"std.abs",[[1,"colLocalU","-",[5,"0.5"]]]]],[13,"widthMask",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"hw","-","fwU"],[1,"hw","+","fwU"],"distFromCenter"]]]],[13,"rectMask",[1,"streakMask","*","widthMask"]],[13,"capAlpha",[6,"fallingCapAlpha",["vPeriodic","trailLen","density","hw","rounding","fwU","distFromCenter"]]],[13,"finalMask",[6,"std.max",["rectMask","capAlpha"]]],[10,[6,"d.vec2f",["finalMask",[6,"fallingBalanceRemap",["withinStreak","balance"]]]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.floor":()=>q,"std.fract":()=>ue,colHash:()=>j3,"std.clamp":()=>$,"std.fwidth":()=>Zt,"std.smoothstep":()=>re,"std.abs":()=>z,fallingCapAlpha:()=>K3,"std.max":()=>b,fallingBalanceRemap:()=>Z3}})&&e.f)({})),oB=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return Dg(t,s,r,__tsover_mul(o,Le))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotation"}],body:[0,[[10,[6,"cellCentreUVRotated",["uv","viewport","cells",[1,"rotation","*","DEG_TO_RAD"]]]]]]},externals:{cellCentreUVRotated:()=>Dg,DEG_TO_RAD:()=>Le}})&&e.f)({})),nB=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,.01),i=b(n,1e-4),d=__tsover_mul(i,2),c=__tsover_div(1,d),_=t.add(i),u=Ni(_),m=qi(_),p=__tsover_add(b(b(z(u.x),z(m.x)),1e-5),r),y=__tsover_add(b(b(z(u.y),z(m.y)),1e-5),r),h=bm(_.x,p,c),g=bm(_.y,y,c),w=__tsover_mul(__tsover_sub(1,h),__tsover_sub(1,g));return l(__tsover_mul(__tsover_sub(1,w),De(1e-4,n)),va(q(t),o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"gridUV"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"variation"}],body:[0,[[13,"lineWidth",[1,"thickness","*",[5,"0.01"]]],[13,"safeLine",[6,"std.max",["lineWidth",[5,"0.0001"]]]],[13,"lineFraction",[1,"safeLine","*",[5,"2"]]],[13,"N",[1,[5,"1"],"/","lineFraction"]],[13,"p",[6,[7,"gridUV","add"],["safeLine"]]],[13,"dpx",[6,"std.dpdx",["p"]]],[13,"dpy",[6,"std.dpdy",["p"]]],[13,"wx",[1,[6,"std.max",[[6,"std.max",[[6,"std.abs",[[7,"dpx","x"]]],[6,"std.abs",[[7,"dpy","x"]]]]],[5,"0.00001"]]],"+","softness"]],[13,"wy",[1,[6,"std.max",[[6,"std.max",[[6,"std.abs",[[7,"dpx","y"]]],[6,"std.abs",[[7,"dpy","y"]]]]],[5,"0.00001"]]],"+","softness"]],[13,"iX",[6,"quilezLineFilterAxis",[[7,"p","x"],"wx","N"]]],[13,"iY",[6,"quilezLineFilterAxis",[[7,"p","y"],"wy","N"]]],[13,"gapBoth",[1,[1,[5,"1"],"-","iX"],"*",[1,[5,"1"],"-","iY"]]],[13,"gridMask",[1,[1,[5,"1"],"-","gapBoth"],"*",[6,"std.step",[[5,"0.0001"],"lineWidth"]]]],[13,"variedFactor",[6,"cellVariation",[[6,"std.floor",["gridUV"]],"variation"]]],[10,[6,"d.vec2f",["gridMask","variedFactor"]]]]]},externals:{"std.max":()=>b,"std.dpdx":()=>Ni,"std.dpdy":()=>qi,"std.abs":()=>z,quilezLineFilterAxis:()=>bm,"std.step":()=>De,cellVariation:()=>va,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),aB=v.fn([l,l,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=Il(t,s),m=u.mul(r),p=q(m.y),y=Ol(Wl(p),i),h=__tsover_mul(c,y),g=__tsover_mul(n,Zi(p,2)),w=Ji(l(__tsover_sub(__tsover_sub(m.x,g),h),m.y)),S=j(w.local.sub(.5)),T=j(Zt(u.mul(r))),A=Vg(S,__tsover_mul(o,.5),T),P=ue(__tsover_mul(Y(__tsover_add(__tsover_mul(w.cell.x,12.9898),__tsover_mul(w.cell.y,78.233))),43758.5453)),U=__tsover_add(__tsover_mul(_,2),__tsover_mul(P,it)),D=X(1,__tsover_add(__tsover_mul(Y(U),.5),.5),d);return __tsover_mul(A,D)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"density"},{type:"i",name:"dotSize"},{type:"i",name:"offset"},{type:"i",name:"speedVariance"},{type:"i",name:"twinkle"},{type:"i",name:"animTime"},{type:"i",name:"time"}],body:[0,[[13,"correctedUV",[6,"aspectCorrectedUVFlipY",["uv","viewport"]]],[13,"gridUV",[6,[7,"correctedUV","mul"],["density"]]],[13,"rowIndex",[6,"std.floor",[[7,"gridUV","y"]]]],[13,"speedMod",[6,"rowSpeedMultiplier",[[6,"rowSpeedHash",["rowIndex"]],"speedVariance"]]],[13,"drift",[1,"animTime","*","speedMod"]],[13,"staticStagger",[1,"offset","*",[6,"flooredMod1",["rowIndex",[5,"2"]]]]],[13,"shiftedGrid",[6,"d.vec2f",[[1,[1,[7,"gridUV","x"],"-","staticStagger"],"-","drift"],[7,"gridUV","y"]]]],[13,"tile",[6,"squareTiling",["shiftedGrid"]]],[13,"centerDistance",[6,"std.length",[[6,[7,[7,"tile","local"],"sub"],[[5,"0.5"]]]]]],[13,"pixelSize",[6,"std.length",[[6,"std.fwidth",[[6,[7,"correctedUV","mul"],["density"]]]]]]],[13,"coverage",[6,"discCoverage",["centerDistance",[1,"dotSize","*",[5,"0.5"]],"pixelSize"]]],[13,"dotPhase",[6,"std.fract",[[1,[6,"std.sin",[[1,[1,[7,[7,"tile","cell"],"x"],"*",[5,"12.9898"]],"+",[1,[7,[7,"tile","cell"],"y"],"*",[5,"78.233"]]]]],"*",[5,"43758.5453"]]]]],[13,"twinkleTime",[1,[1,"time","*",[5,"2"]],"+",[1,"dotPhase","*","TAU"]]],[13,"twinkleValue",[1,[1,[6,"std.sin",["twinkleTime"]],"*",[5,"0.5"]],"+",[5,"0.5"]]],[13,"twinkleModifier",[6,"std.mix",[[5,"1"],"twinkleValue","twinkle"]]],[10,[1,"coverage","*","twinkleModifier"]]]]},externals:{aspectCorrectedUVFlipY:()=>Il,"std.floor":()=>q,rowSpeedMultiplier:()=>Ol,rowSpeedHash:()=>Wl,flooredMod1:()=>Zi,"d.vec2f":()=>l,squareTiling:()=>Ji,"std.length":()=>j,"std.fwidth":()=>Zt,discCoverage:()=>Vg,"std.fract":()=>ue,"std.sin":()=>Y,TAU:()=>it,"std.mix":()=>X}})&&e.f)({})),iB=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Fl(t,l(_a,1)),i=va(l(sa(__tsover_mul(n.id.x,X3)),sa(__tsover_mul(n.id.y,2))),o),d=l(z(n.gv.x),z(n.gv.y)),c=b(se(d,l($i,.5)),d.y);return l(ru(__tsover_sub(.5,c),__tsover_mul(s,.01),__tsover_mul(Zt(t.x),.5),r),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"variation"}],body:[0,[[13,"hex",[6,"hexTiling",["scaledUV",[6,"d.vec2f",["SQRT3",[5,"1"]]]]]],[13,"ix",[6,"std.round",[[1,[7,[7,"hex","id"],"x"],"*","INV_SQRT3_2"]]]],[13,"iy",[6,"std.round",[[1,[7,[7,"hex","id"],"y"],"*",[5,"2"]]]]],[13,"variedFactor",[6,"cellVariation",[[6,"d.vec2f",["ix","iy"]],"variation"]]],[13,"pAbs",[6,"d.vec2f",[[6,"std.abs",[[7,[7,"hex","gv"],"x"]]],[6,"std.abs",[[7,[7,"hex","gv"],"y"]]]]]],[13,"hexDist",[6,"std.max",[[6,"std.dot",["pAbs",[6,"d.vec2f",["SQRT3_2",[5,"0.5"]]]]],[7,"pAbs","y"]]]],[13,"edgeDist",[1,[5,"0.5"],"-","hexDist"]],[13,"lineWidth",[1,"thickness","*",[5,"0.01"]]],[13,"pixel",[1,[6,"std.fwidth",[[7,"scaledUV","x"]]],"*",[5,"0.5"]]],[13,"lineMask",[6,"strokeBandFloored",["edgeDist","lineWidth","pixel","softness"]]],[10,[6,"d.vec2f",["lineMask","variedFactor"]]]]]},externals:{hexTiling:()=>Fl,"d.vec2f":()=>l,SQRT3:()=>_a,"std.round":()=>sa,INV_SQRT3_2:()=>X3,cellVariation:()=>va,"std.abs":()=>z,"std.max":()=>b,"std.dot":()=>se,SQRT3_2:()=>$i,"std.fwidth":()=>Zt,strokeBandFloored:()=>ru}})&&e.f)({})),dB=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ig(t),c=Ol(Wl(q(d.y)),n),_=__tsover_mul(i,c),u=l(__tsover_sub(d.x,_),d.y),m=q(u),p=ue(u),y=De(1,__tsover_add(p.x,p.y)),h=va(l(__tsover_add(__tsover_mul(m.x,2),y),m.y),o);return l(ou(oe(oe(oe(p.x,__tsover_sub(1,p.x)),oe(p.y,__tsover_sub(1,p.y))),z(__tsover_sub(__tsover_add(p.x,p.y),1))),__tsover_mul(s,.02),__tsover_add(b(Zt(d.x),Zt(d.y)),__tsover_mul(r,.5))),h)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"variation"},{type:"i",name:"speedVariance"},{type:"i",name:"animTime"}],body:[0,[[13,"ps",[6,"triLattice",["p"]]],[13,"rowIndex",[6,"std.floor",[[7,"ps","y"]]]],[13,"speedMod",[6,"rowSpeedMultiplier",[[6,"rowSpeedHash",["rowIndex"]],"speedVariance"]]],[13,"drift",[1,"animTime","*","speedMod"]],[13,"psShifted",[6,"d.vec2f",[[1,[7,"ps","x"],"-","drift"],[7,"ps","y"]]]],[13,"cell",[6,"std.floor",["psShifted"]]],[13,"f",[6,"std.fract",["psShifted"]]],[13,"upper",[6,"std.step",[[5,"1"],[1,[7,"f","x"],"+",[7,"f","y"]]]]],[13,"triId",[6,"d.vec2f",[[1,[1,[7,"cell","x"],"*",[5,"2"]],"+","upper"],[7,"cell","y"]]]],[13,"variedFactor",[6,"cellVariation",["triId","variation"]]],[13,"dEdge",[6,"std.min",[[6,"std.min",[[6,"std.min",[[7,"f","x"],[1,[5,"1"],"-",[7,"f","x"]]]],[6,"std.min",[[7,"f","y"],[1,[5,"1"],"-",[7,"f","y"]]]]]],[6,"std.abs",[[1,[1,[7,"f","x"],"+",[7,"f","y"]],"-",[5,"1"]]]]]]],[13,"lineWidth",[1,"thickness","*",[5,"0.02"]]],[13,"aaWidth",[1,[6,"std.max",[[6,"std.fwidth",[[7,"ps","x"]]],[6,"std.fwidth",[[7,"ps","y"]]]]],"+",[1,"softness","*",[5,"0.5"]]]],[13,"lineMask",[6,"strokeBandSymmetric",["dEdge","lineWidth","aaWidth"]]],[10,[6,"d.vec2f",["lineMask","variedFactor"]]]]]},externals:{triLattice:()=>Ig,"std.floor":()=>q,rowSpeedMultiplier:()=>Ol,rowSpeedHash:()=>Wl,"d.vec2f":()=>l,"std.fract":()=>ue,"std.step":()=>De,cellVariation:()=>va,"std.min":()=>oe,"std.abs":()=>z,"std.max":()=>b,"std.fwidth":()=>Zt,strokeBandSymmetric:()=>ou}})&&e.f)({})),Q3=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=ma(t,o),i=__tsover_mul(r,Le),d=Eo(n,H(i),-Y(i));return l(__tsover_add(__tsover_div(d.x,o),.5),__tsover_add(d.y,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"rotation"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"centred",[6,"canvasCentredDelta",["uv","aspect"]]],[13,"rotRad",[1,"rotation","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rot",[6,"rotate2",["centred","cosR",[4,"-","sinR"]]]],[10,[6,"d.vec2f",[[1,[1,[7,"rot","x"],"/","aspect"],"+",[5,"0.5"]],[1,[7,"rot","y"],"+",[5,"0.5"]]]]]]]},externals:{aspectOf:()=>bt,canvasCentredDelta:()=>ma,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotate2:()=>Eo,"d.vec2f":()=>l}})&&e.f)({})),J3=v.fn([a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Zi(t,2);return l(__tsover_mul(o,.5),X(__tsover_sub(__tsover_mul(o,2),1),__tsover_mul(__tsover_sub(ue(__tsover_mul(Y(__tsover_add(t,__tsover_mul(s,.137))),43758.5453)),.5),2),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"row"},{type:"i",name:"seed"},{type:"i",name:"speedVariance"}],body:[0,[[13,"rowMod2",[6,"flooredMod1",["row",[5,"2"]]]],[13,"rowOffset",[1,"rowMod2","*",[5,"0.5"]]],[13,"rowDir",[1,[1,"rowMod2","*",[5,"2"]],"-",[5,"1"]]],[13,"rowHash",[1,[1,[6,"std.fract",[[1,[6,"std.sin",[[1,"row","+",[1,"seed","*",[5,"0.137"]]]]],"*",[5,"43758.5453"]]]],"-",[5,"0.5"]],"*",[5,"2"]]],[10,[6,"d.vec2f",["rowOffset",[6,"std.mix",["rowDir","rowHash","speedVariance"]]]]]]]},externals:{flooredMod1:()=>Zi,"std.fract":()=>ue,"std.sin":()=>Y,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),eb=v.fn([l,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Ri(t.x,__tsover_sub(s.x,r.x),__tsover_add(s.x,r.x)),n=Ri(t.y,__tsover_sub(s.y,r.y),__tsover_add(s.y,r.y));return __tsover_mul(o,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellUV"},{type:"i",name:"mortarUV"},{type:"i",name:"aaUV"}],body:[0,[[13,"brickU",[6,"bandMask",[[7,"cellUV","x"],[1,[7,"mortarUV","x"],"-",[7,"aaUV","x"]],[1,[7,"mortarUV","x"],"+",[7,"aaUV","x"]]]]],[13,"brickV",[6,"bandMask",[[7,"cellUV","y"],[1,[7,"mortarUV","y"],"-",[7,"aaUV","y"]],[1,[7,"mortarUV","y"],"+",[7,"aaUV","y"]]]]],[10,[1,"brickU","*","brickV"]]]]},externals:{bandMask:()=>Ri}})&&e.f)({})),cB=v.fn([l,l,a,a,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p)=>{"use gpu";let y=bt(s),h=Q3(t,s,c),g=h.x,w=h.y,S=__tsover_mul(n,.3),T=__tsover_div(__tsover_mul(__tsover_mul(S,y),o),r),A=q(__tsover_mul(w,o)),P=J3(A,m,u),U=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(g,r),P.x),__tsover_mul(p,P.y)),_),D=__tsover_mul(w,o),O=ue(U),L=ue(D),G=__tsover_mul(i,.5),W=__tsover_add(Zt(U),G),K=__tsover_add(Zt(D),G);return l(eb(l(O,L),l(S,T),l(W,K)),va(l(q(U),A),d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cellsX"},{type:"i",name:"cellsY"},{type:"i",name:"mortar"},{type:"i",name:"softness"},{type:"i",name:"variation"},{type:"i",name:"rotation"},{type:"i",name:"offset"},{type:"i",name:"speedVariance"},{type:"i",name:"seed"},{type:"i",name:"animTime"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"frame",[6,"brickFrame",["uv","viewport","rotation"]]],[13,"u",[7,"frame","x"]],[13,"v",[7,"frame","y"]],[13,"mortarU",[1,"mortar","*",[5,"0.3"]]],[13,"mortarV",[1,[1,[1,"mortarU","*","aspect"],"*","cellsY"],"/","cellsX"]],[13,"row",[6,"std.floor",[[1,"v","*","cellsY"]]]],[13,"stagger",[6,"brickRowStagger",["row","seed","speedVariance"]]],[13,"brickArg",[1,[1,[1,[1,"u","*","cellsX"],"+",[7,"stagger","x"]],"+",[1,"animTime","*",[7,"stagger","y"]]],"+","offset"]],[13,"vScaled",[1,"v","*","cellsY"]],[13,"cellU",[6,"std.fract",["brickArg"]]],[13,"cellV",[6,"std.fract",["vScaled"]]],[13,"soft",[1,"softness","*",[5,"0.5"]]],[13,"aaU",[1,[6,"std.fwidth",["brickArg"]],"+","soft"]],[13,"aaV",[1,[6,"std.fwidth",["vScaled"]],"+","soft"]],[13,"brickMask",[6,"brickMortarMask",[[6,"d.vec2f",["cellU","cellV"]],[6,"d.vec2f",["mortarU","mortarV"]],[6,"d.vec2f",["aaU","aaV"]]]]],[13,"brickId",[6,"d.vec2f",[[6,"std.floor",["brickArg"]],"row"]]],[13,"variedFactor",[6,"cellVariation",["brickId","variation"]]],[10,[6,"d.vec2f",["brickMask","variedFactor"]]]]]},externals:{aspectOf:()=>bt,brickFrame:()=>Q3,"std.floor":()=>q,brickRowStagger:()=>J3,"std.fract":()=>ue,"std.fwidth":()=>Zt,brickMortarMask:()=>eb,"d.vec2f":()=>l,cellVariation:()=>va}})&&e.f)({})),tb=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=se(t,l(127.1,311.7));return ue(__tsover_mul(Y(s),43758.5453))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"h",[6,"std.dot",["p",[6,"d.vec2f",[[5,"127.1"],[5,"311.7"]]]]]],[10,[6,"std.fract",[[1,[6,"std.sin",["h"]],"*",[5,"43758.5453"]]]]]]]},externals:{"std.dot":()=>se,"d.vec2f":()=>l,"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),_B=v.fn([l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Ji(t),i=tb(l(__tsover_add(n.cell.x,o),__tsover_add(n.cell.y,o)))>.5,d=C(a(0),a(1),i),c=C(a(1),a(0),i);return ru(oe(z(__tsover_sub(j(l(__tsover_sub(n.local.x,d),n.local.y)),.5)),z(__tsover_sub(j(l(__tsover_sub(n.local.x,c),__tsover_sub(n.local.y,1))),.5))),__tsover_mul(s,.005),__tsover_mul(Zt(t.x),.5),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"seed"}],body:[0,[[13,"tile",[6,"squareTiling",["scaledUV"]]],[13,"h",[6,"truchetHash",[[6,"d.vec2f",[[1,[7,[7,"tile","cell"],"x"],"+","seed"],[1,[7,[7,"tile","cell"],"y"],"+","seed"]]]]]],[13,"flip",[1,"h",">",[5,"0.5"]]],[13,"c1x",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],"flip"]]],[13,"c2x",[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"d.f32",[[5,"0"]]],"flip"]]],[13,"d1",[6,"std.abs",[[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,[7,"tile","local"],"x"],"-","c1x"],[7,[7,"tile","local"],"y"]]]]],"-",[5,"0.5"]]]]],[13,"d2",[6,"std.abs",[[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,[7,"tile","local"],"x"],"-","c2x"],[1,[7,[7,"tile","local"],"y"],"-",[5,"1"]]]]]],"-",[5,"0.5"]]]]],[13,"arcDist",[6,"std.min",["d1","d2"]]],[13,"lineWidth",[1,"thickness","*",[5,"0.005"]]],[13,"pixel",[1,[6,"std.fwidth",[[7,"scaledUV","x"]]],"*",[5,"0.5"]]],[10,[6,"strokeBandFloored",["arcDist","lineWidth","pixel","softness"]]]]]},externals:{squareTiling:()=>Ji,truchetHash:()=>tb,"d.vec2f":()=>l,"std.select":()=>C,"d.f32":()=>a,"std.abs":()=>z,"std.length":()=>j,"std.min":()=>oe,"std.fwidth":()=>Zt,strokeBandFloored:()=>ru}})&&e.f)({})),lB=v.fn([l,a,x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Ji(t),i=__tsover_mul(Zt(t.x),.5),d=Ri(n.local.y,s,__tsover_add(s,i)),c=Ri(n.local.x,s,__tsover_add(s,i)),_=Zi(__tsover_add(n.cell.x,n.cell.y),2),u=__tsover_mul(d,c),m=$(__tsover_sub(d,__tsover_mul(u,_)),0,1),p=$(__tsover_sub(c,__tsover_mul(u,__tsover_sub(1,_))),0,1),y=__tsover_mul(r.w,m),h=__tsover_mul(o.w,p),g=$(__tsover_add(y,h),0,1),w=b(__tsover_add(y,h),.001);return x(__tsover_div(__tsover_add(__tsover_mul(r.x,y),__tsover_mul(o.x,h)),w),__tsover_div(__tsover_add(__tsover_mul(r.y,y),__tsover_mul(o.y,h)),w),__tsover_div(__tsover_add(__tsover_mul(r.z,y),__tsover_mul(o.z,h)),w),g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"gap"},{type:"i",name:"colorA"},{type:"i",name:"colorB"}],body:[0,[[13,"tile",[6,"squareTiling",["scaledUV"]]],[13,"pixel",[1,[6,"std.fwidth",[[7,"scaledUV","x"]]],"*",[5,"0.5"]]],[13,"hBand",[6,"bandMask",[[7,[7,"tile","local"],"y"],"gap",[1,"gap","+","pixel"]]]],[13,"vBand",[6,"bandMask",[[7,[7,"tile","local"],"x"],"gap",[1,"gap","+","pixel"]]]],[13,"isHTopFloat",[6,"flooredMod1",[[1,[7,[7,"tile","cell"],"x"],"+",[7,[7,"tile","cell"],"y"]],[5,"2"]]]],[13,"intersection",[1,"hBand","*","vBand"]],[13,"hVis",[6,"std.clamp",[[1,"hBand","-",[1,"intersection","*","isHTopFloat"]],[5,"0"],[5,"1"]]]],[13,"vVis",[6,"std.clamp",[[1,"vBand","-",[1,"intersection","*",[1,[5,"1"],"-","isHTopFloat"]]],[5,"0"],[5,"1"]]]],[13,"weightA",[1,[7,"colorA","w"],"*","hVis"]],[13,"weightB",[1,[7,"colorB","w"],"*","vVis"]],[13,"totalAlpha",[6,"std.clamp",[[1,"weightA","+","weightB"],[5,"0"],[5,"1"]]]],[13,"safeWeight",[6,"std.max",[[1,"weightA","+","weightB"],[5,"0.001"]]]],[13,"r",[1,[1,[1,[7,"colorA","x"],"*","weightA"],"+",[1,[7,"colorB","x"],"*","weightB"]],"/","safeWeight"]],[13,"g",[1,[1,[1,[7,"colorA","y"],"*","weightA"],"+",[1,[7,"colorB","y"],"*","weightB"]],"/","safeWeight"]],[13,"b",[1,[1,[1,[7,"colorA","z"],"*","weightA"],"+",[1,[7,"colorB","z"],"*","weightB"]],"/","safeWeight"]],[10,[6,"d.vec4f",["r","g","b","totalAlpha"]]]]]},externals:{squareTiling:()=>Ji,"std.fwidth":()=>Zt,bandMask:()=>Ri,flooredMod1:()=>Zi,"std.clamp":()=>$,"std.max":()=>b,"d.vec4f":()=>x}})&&e.f)({})),sb=2/Math.sqrt(3),uB=v.fn([l,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Fl(t,l(1,_a)),n=se(o.gv,l(0,1)),i=se(o.gv,l(-$i,-.5)),d=se(o.gv,l($i,-.5)),c=n>=b(i,d),_=C(C(.74,.5,i>=d),1,c),u=Bl(l(sa(__tsover_mul(o.id.x,2)),sa(__tsover_mul(o.id.y,sb)))),m=b(n,b(i,d)),p=oe(n,oe(i,d)),y=__tsover_sub(__tsover_sub(__tsover_add(__tsover_add(n,i),d),m),p),h=__tsover_sub(m,y),g=l(z(o.gv.x),z(o.gv.y)),w=b(se(g,l(.5,$i)),g.x);return f(u,_,ou(oe(h,__tsover_sub(.5,w)),__tsover_mul(s,.02),__tsover_add(__tsover_mul(Zt(t.x),.5),__tsover_mul(r,.5))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"thickness"},{type:"i",name:"softness"}],body:[0,[[13,"hex",[6,"hexTiling",["scaledUV",[6,"d.vec2f",[[5,"1"],"SQRT3"]]]]],[13,"s0",[6,"std.dot",[[7,"hex","gv"],[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]],[13,"s1",[6,"std.dot",[[7,"hex","gv"],[6,"d.vec2f",[[4,"-","SQRT3_2"],[4,"-",[5,"0.5"]]]]]]],[13,"s2",[6,"std.dot",[[7,"hex","gv"],[6,"d.vec2f",["SQRT3_2",[4,"-",[5,"0.5"]]]]]]],[13,"isTop",[1,"s0",">=",[6,"std.max",["s1","s2"]]]],[13,"isLeft",[1,"s1",">=","s2"]],[13,"tone",[6,"std.select",[[6,"std.select",[[5,"0.74"],[5,"0.5"],"isLeft"]],[5,"1"],"isTop"]]],[13,"ix",[6,"std.round",[[1,[7,[7,"hex","id"],"x"],"*",[5,"2"]]]]],[13,"iy",[6,"std.round",[[1,[7,[7,"hex","id"],"y"],"*","INV_2_SQRT3"]]]],[13,"rand",[6,"cellHash",[[6,"d.vec2f",["ix","iy"]]]]],[13,"mx",[6,"std.max",["s0",[6,"std.max",["s1","s2"]]]]],[13,"mn",[6,"std.min",["s0",[6,"std.min",["s1","s2"]]]]],[13,"midScore",[1,[1,[1,[1,"s0","+","s1"],"+","s2"],"-","mx"],"-","mn"]],[13,"internal",[1,"mx","-","midScore"]],[13,"pAbs",[6,"d.vec2f",[[6,"std.abs",[[7,[7,"hex","gv"],"x"]]],[6,"std.abs",[[7,[7,"hex","gv"],"y"]]]]]],[13,"hexDist",[6,"std.max",[[6,"std.dot",["pAbs",[6,"d.vec2f",[[5,"0.5"],"SQRT3_2"]]]],[7,"pAbs","x"]]]],[13,"rimDist",[1,[5,"0.5"],"-","hexDist"]],[13,"edgeField",[6,"std.min",["internal","rimDist"]]],[13,"lineWidth",[1,"thickness","*",[5,"0.02"]]],[13,"aaWidth",[1,[1,[6,"std.fwidth",[[7,"scaledUV","x"]]],"*",[5,"0.5"]],"+",[1,"softness","*",[5,"0.5"]]]],[13,"wire",[6,"strokeBandSymmetric",["edgeField","lineWidth","aaWidth"]]],[10,[6,"d.vec3f",["rand","tone","wire"]]]]]},externals:{hexTiling:()=>Fl,"d.vec2f":()=>l,SQRT3:()=>_a,"std.dot":()=>se,SQRT3_2:()=>$i,"std.max":()=>b,"std.select":()=>C,"std.round":()=>sa,INV_2_SQRT3:()=>sb,cellHash:()=>Bl,"std.min":()=>oe,"std.abs":()=>z,"std.fwidth":()=>Zt,strokeBandSymmetric:()=>ou,"d.vec3f":()=>f}})&&e.f)({})),Da=.1,mB=v.fn([x,l,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(s.x,r),s.y),d=__tsover_mul(o,Le),c=H(d),_=Y(d),u=ue(l(se(i,l(c,__tsover_mul(_,-1))),se(i,l(_,c))).mul(n)).sub(l(.5,.5)),m=se(f(t.x,t.y,t.z),f(.299,.587,.114)),p=__tsover_add(__tsover_mul(m,.7),.15),y=j(u),h=__tsover_sub(1,re(__tsover_sub(p,Da),__tsover_add(p,Da),y));return x(__tsover_mul(t.x,h),__tsover_mul(t.y,h),__tsover_mul(t.z,h),__tsover_mul(t.w,h))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"childColor"},{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angleDeg"},{type:"i",name:"frequency"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"c",[6,"std.cos",["angleRad"]]],[13,"s",[6,"std.sin",["angleRad"]]],[13,"rotatedUV",[6,"d.vec2f",[[6,"std.dot",["aspectUV",[6,"d.vec2f",["c",[1,"s","*",[4,"-",[5,"1"]]]]]]],[6,"std.dot",["aspectUV",[6,"d.vec2f",["s","c"]]]]]]],[13,"gridUV",[6,[7,[6,"std.fract",[[6,[7,"rotatedUV","mul"],["frequency"]]]],"sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"brightness",[6,"std.dot",[[6,"d.vec3f",[[7,"childColor","x"],[7,"childColor","y"],[7,"childColor","z"]]],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"dotSize",[1,[1,"brightness","*",[5,"0.7"]],"+",[5,"0.15"]]],[13,"dist",[6,"std.length",["gridUV"]]],[13,"dotPattern",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"dotSize","-","SMOOTHNESS"],[1,"dotSize","+","SMOOTHNESS"],"dist"]]]],[10,[6,"d.vec4f",[[1,[7,"childColor","x"],"*","dotPattern"],[1,[7,"childColor","y"],"*","dotPattern"],[1,[7,"childColor","z"],"*","dotPattern"],[1,[7,"childColor","w"],"*","dotPattern"]]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.fract":()=>ue,"d.vec3f":()=>f,"std.length":()=>j,"std.smoothstep":()=>re,SMOOTHNESS:()=>Da,"d.vec4f":()=>x}})&&e.f)({})),pB=v.fn([l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(__tsover_add(s,r),Le);return l(__tsover_add(t.x,__tsover_mul(H(i),o)),__tsover_add(t.y,__tsover_div(__tsover_mul(Y(i),o),n)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"misprintAngleDeg"},{type:"i",name:"plateIndexDeg"},{type:"i",name:"misprint"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,[1,"misprintAngleDeg","+","plateIndexDeg"],"*","DEG_TO_RAD"]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[6,"std.cos",["angleRad"]],"*","misprint"]],[1,[7,"uv","y"],"+",[1,[1,[6,"std.sin",["angleRad"]],"*","misprint"],"/","aspect"]]]]]]]},externals:{DEG_TO_RAD:()=>Le,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),td=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_sub(1,b(b(t.x,t.y),t.z))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.max",[[6,"std.max",[[7,"s","x"],[7,"s","y"]]],[7,"s","z"]]]]]]]},externals:{"std.max":()=>b}})&&e.f)({})),fB=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=td(t),r=b(__tsover_sub(1,s),1e-4);return __tsover_div(__tsover_sub(__tsover_sub(1,t.x),s),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[13,"k",[6,"halftoneChannelK",["s"]]],[13,"invK",[6,"std.max",[[1,[5,"1"],"-","k"],[5,"0.0001"]]]],[10,[1,[1,[1,[5,"1"],"-",[7,"s","x"]],"-","k"],"/","invK"]]]]},externals:{halftoneChannelK:()=>td,"std.max":()=>b}})&&e.f)({})),vB=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=td(t),r=b(__tsover_sub(1,s),1e-4);return __tsover_div(__tsover_sub(__tsover_sub(1,t.y),s),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[13,"k",[6,"halftoneChannelK",["s"]]],[13,"invK",[6,"std.max",[[1,[5,"1"],"-","k"],[5,"0.0001"]]]],[10,[1,[1,[1,[5,"1"],"-",[7,"s","y"]],"-","k"],"/","invK"]]]]},externals:{halftoneChannelK:()=>td,"std.max":()=>b}})&&e.f)({})),yB=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=td(t),r=b(__tsover_sub(1,s),1e-4);return __tsover_div(__tsover_sub(__tsover_sub(1,t.z),s),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[13,"k",[6,"halftoneChannelK",["s"]]],[13,"invK",[6,"std.max",[[1,[5,"1"],"-","k"],[5,"0.0001"]]]],[10,[1,[1,[1,[5,"1"],"-",[7,"s","z"]],"-","k"],"/","invK"]]]]},externals:{halftoneChannelK:()=>td,"std.max":()=>b}})&&e.f)({})),hB=v.fn([l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(t.x,s),t.y),d=__tsover_mul(r,Le),c=H(d),_=Y(d),u=j(ue(l(se(i,l(c,__tsover_mul(_,-1))),se(i,l(_,c))).mul(n)).sub(l(.5,.5))),m=__tsover_sub(__tsover_mul(o,.75),Da);return __tsover_sub(1,re(__tsover_sub(m,Da),__tsover_add(m,Da),u))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angleDeg"},{type:"i",name:"intensity"},{type:"i",name:"frequency"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"c",[6,"std.cos",["angleRad"]]],[13,"s",[6,"std.sin",["angleRad"]]],[13,"rotatedUV",[6,"d.vec2f",[[6,"std.dot",["aspectUV",[6,"d.vec2f",["c",[1,"s","*",[4,"-",[5,"1"]]]]]]],[6,"std.dot",["aspectUV",[6,"d.vec2f",["s","c"]]]]]]],[13,"grid",[6,[7,[6,"std.fract",[[6,[7,"rotatedUV","mul"],["frequency"]]]],"sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"dist",[6,"std.length",["grid"]]],[13,"size",[1,[1,"intensity","*",[5,"0.75"]],"-","SMOOTHNESS"]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"size","-","SMOOTHNESS"],[1,"size","+","SMOOTHNESS"],"dist"]]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.fract":()=>ue,"std.length":()=>j,SMOOTHNESS:()=>Da,"std.smoothstep":()=>re}})&&e.f)({})),xB=v.fn([x,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return X(f(1,1,1),f(t.x,t.y,t.z),f(__tsover_mul(s,t.w)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"inkColor"},{type:"i",name:"inkMask"}],body:[0,[[10,[6,"std.mix",[[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]],[6,"d.vec3f",[[7,"inkColor","x"],[7,"inkColor","y"],[7,"inkColor","z"]]],[6,"d.vec3f",[[1,"inkMask","*",[7,"inkColor","w"]]]]]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f}})&&e.f)({})),gB=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return q(l(__tsover_div(__tsover_mul(t.x,s.x),r),__tsover_div(__tsover_mul(t.y,s.y),r)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"gridRes"},{type:"i",name:"pixelSize"}],body:[0,[[10,[6,"std.floor",[[6,"d.vec2f",[[1,[1,[7,"uv","x"],"*",[7,"gridRes","x"]],"/","pixelSize"],[1,[1,[7,"uv","y"],"*",[7,"gridRes","y"]],"/","pixelSize"]]]]]]]]},externals:{"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),bB=v.fn([l,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_div(__tsover_mul(__tsover_add(t.x,.5),s),r.x),__tsover_div(__tsover_mul(__tsover_add(t.y,.5),s),r.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"},{type:"i",name:"pixelSize"},{type:"i",name:"gridRes"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[1,[7,"coord","x"],"+",[5,"0.5"]],"*","pixelSize"],"/",[7,"gridRes","x"]],[1,[1,[1,[7,"coord","y"],"+",[5,"0.5"]],"*","pixelSize"],"/",[7,"gridRes","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),wB=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(se(f(t.x,t.y,t.z),f(.299,.587,.114)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"c"}],body:[0,[[10,[1,[6,"std.dot",[[6,"d.vec3f",[[7,"c","x"],[7,"c","y"],[7,"c","z"]]],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]],"*",[7,"c","w"]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),J_=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(__tsover_add(__tsover_mul(s,3),__tsover_mul(t,2)),__tsover_mul(__tsover_mul(t,s),4))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a"},{type:"i",name:"b"}],body:[0,[[10,[1,[1,[1,"b","*",[5,"3"]],"+",[1,"a","*",[5,"2"]]],"-",[1,[1,"a","*","b"],"*",[5,"4"]]]]]]},externals:{}})&&e.f)({})),TB=v.fn([l],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_sub(t.x,__tsover_mul(8,q(__tsover_div(t.x,8)))),r=__tsover_sub(t.y,__tsover_mul(8,q(__tsover_div(t.y,8)))),o=__tsover_sub(s,__tsover_mul(2,q(__tsover_div(s,2)))),n=__tsover_sub(r,__tsover_mul(2,q(__tsover_div(r,2)))),i=__tsover_sub(s,__tsover_mul(4,q(__tsover_div(s,4)))),d=__tsover_sub(r,__tsover_mul(4,q(__tsover_div(r,4)))),c=q(__tsover_div(i,2)),_=q(__tsover_div(d,2)),u=q(__tsover_div(s,4)),m=q(__tsover_div(r,4)),p=J_(o,n),y=J_(c,_),h=J_(u,m),g=__tsover_div(p,4),w=__tsover_div(__tsover_add(__tsover_mul(p,4),y),16),S=__tsover_div(__tsover_add(__tsover_add(__tsover_mul(p,16),__tsover_mul(y,4)),h),64),T=__tsover_add(__tsover_mul(Z(d),4),Z(i)),A=.75;return A=C(A,.3125,T===1),A=C(A,.375,T===2),A=C(A,.8125,T===3),A=C(A,.25,T===4),A=C(A,a(0),T===5),A=C(A,.0625,T===6),A=C(A,.4375,T===7),A=C(A,.6875,T===8),A=C(A,.1875,T===9),A=C(A,.125,T===10),A=C(A,.5,T===11),A=C(A,.9375,T===12),A=C(A,.625,T===13),A=C(A,.5625,T===14),A=C(A,.875,T===15),x(g,w,S,A)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"}],body:[0,[[13,"tx",[1,[7,"coord","x"],"-",[1,[5,"8"],"*",[6,"std.floor",[[1,[7,"coord","x"],"/",[5,"8"]]]]]]],[13,"ty",[1,[7,"coord","y"],"-",[1,[5,"8"],"*",[6,"std.floor",[[1,[7,"coord","y"],"/",[5,"8"]]]]]]],[13,"x2",[1,"tx","-",[1,[5,"2"],"*",[6,"std.floor",[[1,"tx","/",[5,"2"]]]]]]],[13,"y2",[1,"ty","-",[1,[5,"2"],"*",[6,"std.floor",[[1,"ty","/",[5,"2"]]]]]]],[13,"x4",[1,"tx","-",[1,[5,"4"],"*",[6,"std.floor",[[1,"tx","/",[5,"4"]]]]]]],[13,"y4",[1,"ty","-",[1,[5,"4"],"*",[6,"std.floor",[[1,"ty","/",[5,"4"]]]]]]],[13,"x4h",[6,"std.floor",[[1,"x4","/",[5,"2"]]]]],[13,"y4h",[6,"std.floor",[[1,"y4","/",[5,"2"]]]]],[13,"x8h",[6,"std.floor",[[1,"tx","/",[5,"4"]]]]],[13,"y8h",[6,"std.floor",[[1,"ty","/",[5,"4"]]]]],[13,"b00",[6,"ditherBayerQuad",["x2","y2"]]],[13,"b11",[6,"ditherBayerQuad",["x4h","y4h"]]],[13,"b22",[6,"ditherBayerQuad",["x8h","y8h"]]],[13,"bayer2",[1,"b00","/",[5,"4"]]],[13,"bayer4",[1,[1,[1,"b00","*",[5,"4"]],"+","b11"],"/",[5,"16"]]],[13,"bayer8",[1,[1,[1,[1,"b00","*",[5,"16"]],"+",[1,"b11","*",[5,"4"]]],"+","b22"],"/",[5,"64"]]],[13,"idx",[1,[1,[6,"d.i32",["y4"]],"*",[5,"4"]],"+",[6,"d.i32",["x4"]]]],[12,"cd",[5,"0.75"]],[2,"cd","=",[6,"std.select",["cd",[5,"0.3125"],[1,"idx","===",[5,"1"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.375"],[1,"idx","===",[5,"2"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.8125"],[1,"idx","===",[5,"3"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.25"],[1,"idx","===",[5,"4"]]]]],[2,"cd","=",[6,"std.select",["cd",[6,"d.f32",[[5,"0"]]],[1,"idx","===",[5,"5"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.0625"],[1,"idx","===",[5,"6"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.4375"],[1,"idx","===",[5,"7"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.6875"],[1,"idx","===",[5,"8"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.1875"],[1,"idx","===",[5,"9"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.125"],[1,"idx","===",[5,"10"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.5"],[1,"idx","===",[5,"11"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.9375"],[1,"idx","===",[5,"12"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.625"],[1,"idx","===",[5,"13"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.5625"],[1,"idx","===",[5,"14"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.875"],[1,"idx","===",[5,"15"]]]]],[10,[6,"d.vec4f",["bayer2","bayer4","bayer8","cd"]]]]]},externals:{"std.floor":()=>q,ditherBayerQuad:()=>J_,"d.i32":()=>Z,"std.select":()=>C,"d.f32":()=>a,"d.vec4f":()=>x}})&&e.f)({})),SB=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.add(l(.5,.5));return ue(__tsover_mul(52.9829189,ue(__tsover_add(__tsover_mul(s.x,.06711056),__tsover_mul(s.y,.00583715)))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"}],body:[0,[[13,"c",[6,[7,"coord","add"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[10,[6,"std.fract",[[1,[5,"52.9829189"],"*",[6,"std.fract",[[1,[1,[7,"c","x"],"*",[5,"0.06711056"]],"+",[1,[7,"c","y"],"*",[5,"0.00583715"]]]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.fract":()=>ue}})&&e.f)({})),AB=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ot(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"}],body:[0,[[10,[6,"noise.hash12",["coord"]]]]]},externals:{"noise.hash12":()=>Ot}})&&e.f)({})),MB=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return De(__tsover_add(.5,__tsover_mul(__tsover_sub(t,.5),o)),__tsover_add(s,__tsover_sub(r,.5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ditherValue"},{type:"i",name:"luminance"},{type:"i",name:"threshold"},{type:"i",name:"spread"}],body:[0,[[13,"adjustedDither",[1,[5,"0.5"],"+",[1,[1,"ditherValue","-",[5,"0.5"]],"*","spread"]]],[10,[6,"std.step",["adjustedDither",[1,"luminance","+",[1,"threshold","-",[5,"0.5"]]]]]]]]},externals:{"std.step":()=>De}})&&e.f)({})),PB=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return q(t.div(l(8,8))).mul(l(8,8))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"}],body:[0,[[10,[6,[7,[6,"std.floor",[[6,[7,"coord","div"],[[6,"d.vec2f",[[5,"8"],[5,"8"]]]]]]],"mul"],[[6,"d.vec2f",[[5,"8"],[5,"8"]]]]]]]]},externals:{"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),EB=v.fn([l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_add(__tsover_mul(__tsover_sub(t.y,s.y),8),__tsover_sub(t.x,s.x))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"},{type:"i",name:"blockOrigin"}],body:[0,[[10,[1,[1,[1,[7,"coord","y"],"-",[7,"blockOrigin","y"]],"*",[5,"8"]],"+",[1,[7,"coord","x"],"-",[7,"blockOrigin","x"]]]]]]},externals:{}})&&e.f)({})),kB=v.fn([l,a,a,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return l(__tsover_div(__tsover_mul(__tsover_add(__tsover_add(t.x,s),.5),o),n.x),__tsover_div(__tsover_mul(__tsover_add(__tsover_add(t.y,r),.5),o),n.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"blockOrigin"},{type:"i",name:"lx"},{type:"i",name:"ly"},{type:"i",name:"pixelSize"},{type:"i",name:"gridRes"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[1,[1,[7,"blockOrigin","x"],"+","lx"],"+",[5,"0.5"]],"*","pixelSize"],"/",[7,"gridRes","x"]],[1,[1,[1,[1,[7,"blockOrigin","y"],"+","ly"],"+",[5,"0.5"]],"*","pixelSize"],"/",[7,"gridRes","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),$B=v.fn([pt(a,64),a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(.5,__tsover_sub(r,.5)),i=pt(a,8)(),d=pt(a,8)(),c=Z(s),_=a(0);for(let u=0;u<8;u++){let m=(u&1)===0;for(let p=0;p<8;p++){let y=C(__tsover_sub(7,p),p,m),h=__tsover_add(__tsover_mul(u,8),y),g=__tsover_add(t[h],i[y]),w=De(n,g);_=C(_,w,h===c);let S=__tsover_mul(__tsover_sub(g,w),o),T=C(-1,1,m),A=__tsover_add(y,T);if(A>=0&&A<8&&(i[A]=__tsover_add(i[A],__tsover_mul(S,.4375))),u<7){let P=__tsover_sub(y,T),U=__tsover_add(y,T);P>=0&&P<8&&(d[P]=__tsover_add(d[P],__tsover_mul(S,.1875))),d[y]=__tsover_add(d[y],__tsover_mul(S,.3125)),U>=0&&U<8&&(d[U]=__tsover_add(d[U],__tsover_mul(S,.0625)))}}for(let p=0;p<8;p++)i[p]=d[p],d[p]=a(0)}return _}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lum"},{type:"i",name:"lic"},{type:"i",name:"threshold"},{type:"i",name:"spread"}],body:[0,[[13,"thr",[1,[5,"0.5"],"-",[1,"threshold","-",[5,"0.5"]]]],[13,"ecur",[6,[6,"d.arrayOf",["d.f32",[5,"8"]]],[]]],[13,"enext",[6,[6,"d.arrayOf",["d.f32",[5,"8"]]],[]]],[13,"licInt",[6,"d.i32",["lic"]]],[12,"result",[6,"d.f32",[[5,"0"]]]],[14,[12,"y",[5,"0"]],[1,"y","<",[5,"8"]],[102,"++","y"],[0,[[13,"ltr",[1,[1,"y","&",[5,"1"]],"===",[5,"0"]]],[14,[12,"xi",[5,"0"]],[1,"xi","<",[5,"8"]],[102,"++","xi"],[0,[[13,"x",[6,"std.select",[[1,[5,"7"],"-","xi"],"xi","ltr"]]],[13,"idx",[1,[1,"y","*",[5,"8"]],"+","x"]],[13,"val",[1,[8,"lum","idx"],"+",[8,"ecur","x"]]],[13,"qv",[6,"std.step",["thr","val"]]],[2,"result","=",[6,"std.select",["result","qv",[1,"idx","===","licInt"]]]],[13,"e",[1,[1,"val","-","qv"],"*","spread"]],[13,"dir",[6,"std.select",[[4,"-",[5,"1"]],[5,"1"],"ltr"]]],[13,"xr",[1,"x","+","dir"]],[11,[1,"xr",">=",[5,"0"]],[0,[[11,[1,"xr","<",[5,"8"]],[0,[[2,[8,"ecur","xr"],"=",[1,[8,"ecur","xr"],"+",[1,"e","*",[5,"0.4375"]]]]]]]]]],[11,[1,"y","<",[5,"7"]],[0,[[13,"xbl",[1,"x","-","dir"]],[13,"xbr",[1,"x","+","dir"]],[11,[1,"xbl",">=",[5,"0"]],[0,[[11,[1,"xbl","<",[5,"8"]],[0,[[2,[8,"enext","xbl"],"=",[1,[8,"enext","xbl"],"+",[1,"e","*",[5,"0.1875"]]]]]]]]]],[2,[8,"enext","x"],"=",[1,[8,"enext","x"],"+",[1,"e","*",[5,"0.3125"]]]],[11,[1,"xbr",">=",[5,"0"]],[0,[[11,[1,"xbr","<",[5,"8"]],[0,[[2,[8,"enext","xbr"],"=",[1,[8,"enext","xbr"],"+",[1,"e","*",[5,"0.0625"]]]]]]]]]]]]]]]],[14,[12,"k",[5,"0"]],[1,"k","<",[5,"8"]],[102,"++","k"],[0,[[2,[8,"ecur","k"],"=",[8,"enext","k"]],[2,[8,"enext","k"],"=",[6,"d.f32",[[5,"0"]]]]]]]]]],[10,"result"]]]},externals:{"d.arrayOf":()=>pt,"d.f32":()=>a,"d.i32":()=>Z,"std.select":()=>C,"std.step":()=>De}})&&e.f)({})),UB=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=X(f(t.x,t.y,t.z),f(s.x,s.y,s.z),f(r)),n=X(t.w,s.w,r);return x(o.x,o.y,o.z,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"ditherResult"}],body:[0,[[13,"rgb",[6,"std.mix",[[6,"d.vec3f",[[7,"colorA","x"],[7,"colorA","y"],[7,"colorA","z"]]],[6,"d.vec3f",[[7,"colorB","x"],[7,"colorB","y"],[7,"colorB","z"]]],[6,"d.vec3f",["ditherResult"]]]]],[13,"a",[6,"std.mix",[[7,"colorA","w"],[7,"colorB","w"],"ditherResult"]]],[10,[6,"d.vec4f",[[7,"rgb","x"],[7,"rgb","y"],[7,"rgb","z"],"a"]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),CB=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=f(t.x,t.y,t.z),o=X(r.mul(.3),oe(r.mul(1.3),f(1,1,1)),f(s));return x(o.x,o.y,o.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sourceColor"},{type:"i",name:"ditherResult"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"sourceColor","x"],[7,"sourceColor","y"],[7,"sourceColor","z"]]]],[13,"dark",[6,[7,"rgb","mul"],[[5,"0.3"]]]],[13,"bright",[6,"std.min",[[6,[7,"rgb","mul"],[[5,"1.3"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]],[13,"out",[6,"std.mix",["dark","bright",[6,"d.vec3f",["ditherResult"]]]]],[10,[6,"d.vec4f",[[7,"out","x"],[7,"out","y"],[7,"out","z"],[7,"sourceColor","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.min":()=>oe,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({}));function bz(e){return e.map((t,s)=>({stop:t,index:s})).sort((t,s)=>t.stop.position-s.stop.position||t.index-s.index).map(({stop:t})=>t)}function jv(e,t){let s=new Array(32).fill(0),r=new Array(8).fill(0),o=Array.isArray(e)&&e.length>0?bz(e):[],n=Math.min(o.length,8);for(let i=0;i(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return co({conv:t,alpha:s})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"conv"},{type:"i",name:"alpha"}],body:[0,[[10,[6,"MixStep",[[104,{conv:"conv",alpha:"alpha"}]]]]]]},externals:{MixStep:()=>co}})&&e.f)({}));v.fn([co,f,a,a,a,a],co)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=$(__tsover_div(__tsover_sub(o,n),b(__tsover_sub(i,n),1e-6)),0,1);return fa(t.conv,t.alpha,s,r,d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"running"},{type:"i",name:"convI"},{type:"i",name:"alphaI"},{type:"i",name:"tClamped"},{type:"i",name:"posA"},{type:"i",name:"posB"}],body:[0,[[13,"seg",[6,"std.clamp",[[1,[1,"tClamped","-","posA"],"/",[6,"std.max",[[1,"posB","-","posA"],[5,"0.000001"]]]],[5,"0"],[5,"1"]]]],[10,[6,"mixPreconvertedInSpace",[[7,"running","conv"],[7,"running","alpha"],"convI","alphaI","seg"]]]]]},externals:{"std.clamp":()=>$,"std.max":()=>b,mixPreconvertedInSpace:()=>fa}})&&e.f)({}));v.fn([co],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return t.conv}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[10,[7,"s","conv"]]]]},externals:{}})&&e.f)({}));v.fn([co],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return t.alpha}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[10,[7,"s","alpha"]]]]},externals:{}})&&e.f)({}));v.fn([f,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t,s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"a"}],body:[0,[[10,[6,"d.vec4f",["rgb","a"]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({}));var Xp=v.fn([a,pt(x,8),pt(x,8/4),pt(f,8),a],co)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=$(t,0,1),d=Z(n),c=o[0],_=f(c.x,c.y,c.z),u=s[0].w;for(let m=1;m>2],y=r[m>>2],h=p[__tsover_sub(m,1)&3],g=y[m&3],w=$(__tsover_div(__tsover_sub(i,h),b(__tsover_sub(g,h),1e-6)),0,1),S=fa(_,u,o[m],s[m].w,w);_=f(S.conv.x,S.conv.y,S.conv.z),u=S.alpha}return co({conv:_,alpha:u})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"colors"},{type:"i",name:"positions"},{type:"i",name:"converted"},{type:"i",name:"stopCount"}],body:[0,[[13,"clampedT",[6,"std.clamp",["t",[5,"0"],[5,"1"]]]],[13,"n",[6,"d.i32",["stopCount"]]],[13,"c0",[8,"converted",[5,"0"]]],[12,"conv",[6,"d.vec3f",[[7,"c0","x"],[7,"c0","y"],[7,"c0","z"]]]],[12,"alpha",[7,[8,"colors",[5,"0"]],"w"]],[14,[12,"i",[5,"1"]],[1,"i","<","n"],[102,"++","i"],[0,[[13,"va",[8,"positions",[1,[1,"i","-",[5,"1"]],">>",[5,"2"]]]],[13,"vb",[8,"positions",[1,"i",">>",[5,"2"]]]],[13,"posA",[8,"va",[1,[1,"i","-",[5,"1"]],"&",[5,"3"]]]],[13,"posB",[8,"vb",[1,"i","&",[5,"3"]]]],[13,"seg",[6,"std.clamp",[[1,[1,"clampedT","-","posA"],"/",[6,"std.max",[[1,"posB","-","posA"],[5,"0.000001"]]]],[5,"0"],[5,"1"]]]],[13,"step",[6,"mixPreconvertedInSpace",["conv","alpha",[8,"converted","i"],[7,[8,"colors","i"],"w"],"seg"]]],[2,"conv","=",[6,"d.vec3f",[[7,[7,"step","conv"],"x"],[7,[7,"step","conv"],"y"],[7,[7,"step","conv"],"z"]]]],[2,"alpha","=",[7,"step","alpha"]]]]],[10,[6,"MixStep",[[104,{conv:"conv",alpha:"alpha"}]]]]]]},externals:{"std.clamp":()=>$,"d.i32":()=>Z,"d.vec3f":()=>f,"std.max":()=>b,mixPreconvertedInSpace:()=>fa,MixStep:()=>co}})&&e.f)({}));function wz(e,t){switch(t){case 1:return we(ss,"sRGBToP3",[we(Kr,"oklabToRgb",[we(Ha,"oklchToOklab",[e])])]);case 2:return we(ss,"sRGBToP3",[we(Kr,"oklabToRgb",[e])]);case 3:return we(ss,"sRGBToP3",[we(ja,"hslToRgb",[e])]);case 4:return we(ss,"sRGBToP3",[we(Ac,"hsvToRgb",[e])]);case 5:return we(ss,"sRGBToP3",[we(Mc,"labToRgb",[we(Pc,"lchToLab",[e])])]);default:return e}}function Tz(e,t,s){let r=ur(we(Xp,"gradientStopsInSpace",[e,t.colorsArray,t.positionsArray,t.convertedColorsArray,t.stopCount]),"stopMix");return Ws(wz(r.member("conv"),s),r.member("alpha"))}var RB=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=bt(s);return l(__tsover_mul(t.x,r),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l}})&&e.f)({})),zB=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_div(s.x,s.y);return l(__tsover_mul(t.x,n),t.y).mul(ct(r)).add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"scale"},{type:"i",name:"seed"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[10,[6,[7,[6,[7,"aspectUV","mul"],[[6,"std.exp",["scale"]]]],"add"],["seed"]]]]]},externals:{"d.vec2f":()=>l,"std.exp":()=>ct}})&&e.f)({})),GB=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=__tsover_mul(r,Le),i=H(n),d=Y(n),c=__tsover_sub(__tsover_mul(t.x,o),__tsover_mul(o,.5)),_=__tsover_sub(t.y,.5);return l(__tsover_add(__tsover_mul(c,i),__tsover_mul(_,d)),__tsover_add(__tsover_mul(c,-d),__tsover_mul(_,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"au",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,"aspect","*",[5,"0.5"]]]],[13,"av",[1,[7,"uv","y"],"-",[5,"0.5"]]],[13,"ru",[1,[1,"au","*","cosA"],"+",[1,"av","*","sinA"]]],[13,"rv",[1,[1,"au","*",[4,"-","sinA"]],"+",[1,"av","*","cosA"]]],[10,[6,"d.vec2f",["ru","rv"]]]]]},externals:{aspectOf:()=>bt,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),YB=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_div(j(Mg(t,s)),1.414)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"z"}],body:[0,[[10,[1,[6,"std.length",[[6,"curl22z",["pos","z"]]]],"/",[5,"1.414"]]]]]},externals:{"std.length":()=>j,curl22z:()=>Mg}})&&e.f)({})),rb=s7(Ei,{maxOctaves:8,drift:"goldenAngle",name:"fractalOctaveSum"}),LB=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return rb(t,2,s,r,o,l(n,__tsover_mul(n,.7)),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"detail"},{type:"i",name:"contrast"},{type:"i",name:"animTime"},{type:"i",name:"seed"},{type:"i",name:"octaveCount"}],body:[0,[[10,[6,"fractalOctaveSum",["pos",[5,"2"],"detail","contrast","animTime",[6,"d.vec2f",["seed",[1,"seed","*",[5,"0.7"]]]],"octaveCount"]]]]]},externals:{fractalOctaveSum:()=>rb,"d.vec2f":()=>l}})&&e.f)({})),IB=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return $(__tsover_add(__tsover_mul(__tsover_div(t.x,t.y),.5),.5),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sum"}],body:[0,[[10,[6,"std.clamp",[[1,[1,[1,[7,"sum","x"],"/",[7,"sum","y"]],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({}));var ob=o7({distance:"selectableSquared",jitter:"mix",name:"worleyNearest2"}),nb=s7(v.fn([l,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ob(t,s,r,o,n);return jg(d.x,d.y,n,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"oUV"},{type:"i",name:"animT"},{type:"i",name:"seedOff"},{type:"i",name:"jitter"},{type:"i",name:"distNum"},{type:"i",name:"modeNum"}],body:[0,[[13,"dd",[6,"worleyNearest2",["oUV","animT","seedOff","jitter","distNum"]]],[10,[6,"cellReduceSelectable",[[7,"dd","x"],[7,"dd","y"],"distNum","modeNum"]]]]]},externals:{worleyNearest2:()=>ob,cellReduceSelectable:()=>jg}})&&e.f)({})),{maxOctaves:4,drift:"timeSeed",name:"worleyOctaveSum"}),DB=v.fn([l,a,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";return nb(t,s,n,i,d,r,f(o,_,u),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"scale"},{type:"i",name:"seed"},{type:"i",name:"jitter"},{type:"i",name:"lacunarity"},{type:"i",name:"persistence"},{type:"i",name:"animTime"},{type:"i",name:"octaves"},{type:"i",name:"distNum"},{type:"i",name:"modeNum"}],body:[0,[[10,[6,"worleyOctaveSum",["pos","scale","lacunarity","persistence","animTime","seed",[6,"d.vec3f",["jitter","distNum","modeNum"]],"octaves"]]]]]},externals:{worleyOctaveSum:()=>nb,"d.vec3f":()=>f}})&&e.f)({})),FB=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_mul(__tsover_div(t.x,b(t.y,1e-4)),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sum"},{type:"i",name:"modeScale"}],body:[0,[[10,[1,[1,[7,"sum","x"],"/",[6,"std.max",[[7,"sum","y"],[5,"0.0001"]]]],"*","modeScale"]]]]},externals:{"std.max":()=>b}})&&e.f)({})),BB=t7({domain:"unit",contrastMode:"multiplicative",invert:!1});var WB=o7({distance:"length",jitter:"none",name:"voronoiNearest2"}),OB=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_sub(4,__tsover_mul(s,3));return Kg(t.x,t.y,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dd"},{type:"i",name:"edgeIntensity"}],body:[0,[[13,"gradientPower",[1,[5,"4"],"-",[1,"edgeIntensity","*",[5,"3"]]]],[10,[6,"cellRatio",[[7,"dd","x"],[7,"dd","y"],"gradientPower"]]]]]},externals:{cellRatio:()=>Kg}})&&e.f)({})),VB=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(__tsover_mul(s,r),6);return Zg(t.x,t.y,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dd"},{type:"i",name:"softness"},{type:"i",name:"scale"}],body:[0,[[13,"scaledEdgeSoftness",[1,[1,"softness","*","scale"],"/",[5,"6"]]],[10,[6,"cellEdgeMask",[[7,"dd","x"],[7,"dd","y"],"scaledEdgeSoftness"]]]]]},externals:{cellEdgeMask:()=>Zg}})&&e.f)({})),NB=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ce(t,f(.85,.85,.85))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[6,"std.pow",["rgb",[6,"d.vec3f",[[5,"0.85"],[5,"0.85"],[5,"0.85"]]]]]]]]},externals:{"std.pow":()=>Ce,"d.vec3f":()=>f}})&&e.f)({})),mc=8;if(mc!==8)throw new Error(`noisePaints: MAX (${mc}) out of sync with MAX_COLOR_STOPS (8)`);var ab=v.fn([l,l,l,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_div(s.x,b(s.y,1e-6)),d=l(__tsover_mul(r.x,i),__tsover_sub(1,r.y)),c=l(__tsover_mul(o.x,i),__tsover_sub(1,o.y)),_=l(__tsover_mul(t.x,i),t.y),u=l(__tsover_sub(c.x,d.x),__tsover_sub(c.y,d.y)),m=b(j(u),1e-6),p=l(__tsover_div(u.x,m),__tsover_div(u.y,m)),y=l(-p.y,p.x),h=l(__tsover_sub(_.x,d.x),__tsover_sub(_.y,d.y)),g=__tsover_div(se(h,p),m),w=se(h,y),S=n>0,T=$(g,0,1),A=C(a(1),Y(__tsover_mul(T,Xr)),S),P=__tsover_mul(re(0,.06,g),__tsover_sub(1,re(.94,1,g)));return x(g,w,A,C(a(1),P,S))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"start"},{type:"i",name:"end"},{type:"i",name:"pinFlag"}],body:[0,[[13,"aspectRatio",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[13,"startPos",[6,"d.vec2f",[[1,[7,"start","x"],"*","aspectRatio"],[1,[5,"1"],"-",[7,"start","y"]]]]],[13,"endPos",[6,"d.vec2f",[[1,[7,"end","x"],"*","aspectRatio"],[1,[5,"1"],"-",[7,"end","y"]]]]],[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspectRatio"],[7,"uv","y"]]]],[13,"direction",[6,"d.vec2f",[[1,[7,"endPos","x"],"-",[7,"startPos","x"]],[1,[7,"endPos","y"],"-",[7,"startPos","y"]]]]],[13,"len",[6,"std.max",[[6,"std.length",["direction"]],[5,"0.000001"]]]],[13,"normalizedDir",[6,"d.vec2f",[[1,[7,"direction","x"],"/","len"],[1,[7,"direction","y"],"/","len"]]]],[13,"perpDir",[6,"d.vec2f",[[4,"-",[7,"normalizedDir","y"]],[7,"normalizedDir","x"]]]],[13,"relativePos",[6,"d.vec2f",[[1,[7,"aspectUV","x"],"-",[7,"startPos","x"]],[1,[7,"aspectUV","y"],"-",[7,"startPos","y"]]]]],[13,"progress",[1,[6,"std.dot",["relativePos","normalizedDir"]],"/","len"]],[13,"perpDist",[6,"std.dot",["relativePos","perpDir"]]],[13,"pinOn",[1,"pinFlag",">",[5,"0"]]],[13,"clampedProg",[6,"std.clamp",["progress",[5,"0"],[5,"1"]]]],[13,"pinch",[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"std.sin",[[1,"clampedProg","*","PI"]]],"pinOn"]]],[13,"fade",[1,[6,"std.smoothstep",[[5,"0"],[5,"0.06"],"progress"]],"*",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0.94"],[5,"1"],"progress"]]]]],[13,"edgeFade",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"fade","pinOn"]]],[10,[6,"d.vec4f",["progress","perpDist","pinch","edgeFade"]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l,"std.length":()=>j,"std.dot":()=>se,"std.clamp":()=>$,"std.select":()=>C,"d.f32":()=>a,"std.sin":()=>Y,PI:()=>Xr,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({})),qB=v.fn([l,l,l,l,x,x,x,pt(x,mc),pt(x,mc/4),pt(f,mc)],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=n.x,p=n.y,y=n.z,h=n.w,g=i.x,w=i.y,S=i.z,T=i.w,A=d.y,P=d.z,U=d.w,D=ab(t,s,r,o,d.x),O=D.x,L=D.y,G=D.z,W=D.w,K=__tsover_mul(h,.07),Q=__tsover_add(__tsover_mul(g,.08),8e-4),te=b(__tsover_sub(y,1),1),ee=f(0,0,0),he=a(0),Ee=__tsover_mul(__tsover_mul(O,it),p),Te=__tsover_add(__tsover_mul(O,8),__tsover_mul(A,2)),Ue=__tsover_add(__tsover_mul(O,S),P),Me=Z(sa(y));for(let Pe=0;Peab,"std.max":()=>b,"d.vec3f":()=>f,"d.f32":()=>a,TAU:()=>it,"d.i32":()=>Z,"std.round":()=>sa,"std.sin":()=>Y,"std.abs":()=>z,"std.smoothstep":()=>re,"std.fract":()=>ue,gradientStopsInSpace:()=>Xp,"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})),XB=v.fn([l,a,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(t.x,s),t.y),c=__tsover_mul(r,6),_=d.mul(c).add(o),u=Ki(_).mul(n).mul(.0025),m=t.add(u),p=zg(_,Z(6)),y=$(__tsover_add(1,__tsover_mul(__tsover_sub(p,.7),__tsover_mul(i,1.2))),0,1.5);return f(m.x,m.y,y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"grainScale"},{type:"i",name:"seed"},{type:"i",name:"displacement"},{type:"i",name:"roughness"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"grainFreq",[1,"grainScale","*",[5,"6"]]],[13,"grainUV",[6,[7,[6,[7,"aspectUV","mul"],["grainFreq"]],"add"],["seed"]]],[13,"disp",[6,[7,[6,[7,[6,"curl22",["grainUV"]],"mul"],["displacement"]],"mul"],[[5,"0.0025"]]]],[13,"displacedUV",[6,[7,"uv","add"],["disp"]]],[13,"grain",[6,"paper12",["grainUV",[6,"d.i32",[[5,"6"]]]]]],[13,"brightness",[6,"std.clamp",[[1,[5,"1"],"+",[1,[1,"grain","-",[5,"0.7"]],"*",[1,"roughness","*",[5,"1.2"]]]],[5,"0"],[5,"1.5"]]]],[10,[6,"d.vec3f",[[7,"displacedUV","x"],[7,"displacedUV","y"],"brightness"]]]]]},externals:{"d.vec2f":()=>l,curl22:()=>Ki,paper12:()=>zg,"d.i32":()=>Z,"std.clamp":()=>$,"d.vec3f":()=>f}})&&e.f)({})),Ui=1e-5,ib=v.fn([l,l,l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(t.x,s.x),n=__tsover_sub(t.y,s.y),i=__tsover_sub(r.x,s.x),d=__tsover_sub(r.y,s.y),c=b(j(l(i,d)),a(Ui)),_=__tsover_div(__tsover_add(__tsover_mul(o,i),__tsover_mul(n,d)),c),u=b(b(-_,__tsover_sub(_,c)),a(0)),m=$(__tsover_div(_,c),a(0),a(1)),p=j(l(__tsover_sub(o,__tsover_mul(i,m)),__tsover_sub(n,__tsover_mul(d,m))));return f(_,be(b(__tsover_sub(__tsover_mul(p,p),__tsover_mul(u,u)),a(0))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"}],body:[0,[[13,"pax",[1,[7,"p","x"],"-",[7,"a","x"]]],[13,"pay",[1,[7,"p","y"],"-",[7,"a","y"]]],[13,"bax",[1,[7,"b","x"],"-",[7,"a","x"]]],[13,"bay",[1,[7,"b","y"],"-",[7,"a","y"]]],[13,"len",[6,"std.max",[[6,"std.length",[[6,"d.vec2f",["bax","bay"]]]],[6,"d.f32",["EPS"]]]]],[13,"t",[1,[1,[1,"pax","*","bax"],"+",[1,"pay","*","bay"]],"/","len"]],[13,"overshoot",[6,"std.max",[[6,"std.max",[[4,"-","t"],[1,"t","-","len"]]],[6,"d.f32",[[5,"0"]]]]]],[13,"h",[6,"std.clamp",[[1,"t","/","len"],[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]]]]],[13,"dSeg",[6,"std.length",[[6,"d.vec2f",[[1,"pax","-",[1,"bax","*","h"]],[1,"pay","-",[1,"bay","*","h"]]]]]]],[13,"perp",[6,"std.sqrt",[[6,"std.max",[[1,[1,"dSeg","*","dSeg"],"-",[1,"overshoot","*","overshoot"]],[6,"d.f32",[[5,"0"]]]]]]]],[10,[6,"d.vec3f",["t","perp","len"]]]]]},externals:{"std.max":()=>b,"std.length":()=>j,"d.vec2f":()=>l,"d.f32":()=>a,EPS:()=>Ui,"std.clamp":()=>$,"std.sqrt":()=>be,"d.vec3f":()=>f}})&&e.f)({})),HB=v.fn([l,l,l,l,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=bt(s),p=ib(Yg(t,s),bn(r,m),bn(o,m)),y=p.x,h=p.y,g=p.z,w=__tsover_mul(n,.5),S=__tsover_sub(y,__tsover_mul(g,.5)),T=__tsover_mul(g,.5),A=b(d,a(Ui)),P=__tsover_add(A,c),U=b(q(__tsover_add(__tsover_div(__tsover_add(g,c),P),.5)),a(1)),D=__tsover_div(g,b(__tsover_add(__tsover_mul(U,A),__tsover_mul(__tsover_sub(U,1),c)),a(Ui))),O=__tsover_mul(A,D),L=__tsover_mul(P,D),G=$(q(__tsover_div(y,L)),a(0),__tsover_sub(U,1)),W=__tsover_sub(y,__tsover_add(__tsover_mul(G,L),__tsover_mul(O,.5))),K=b(__tsover_sub(__tsover_mul(O,.5),w),a(0)),Q=__tsover_mul(O,.5),te=b(__tsover_add(n,c),a(Ui)),ee=b(q(__tsover_add(__tsover_div(g,te),.5)),a(1)),he=__tsover_div(g,ee),Ee=$(q(__tsover_add(__tsover_div(y,he),.5)),a(0),ee),Te=__tsover_sub(y,__tsover_mul(Ee,he)),Ue=i>=.5,Me=i>=1.5,Pe=C(S,C(W,Te,Me),Ue),Re=C(T,C(K,a(0),Me),Ue),de=C(T,C(Q,w,Me),Ue),je=C(_,u,Pe>0),fe=__tsover_sub(j(l(b(__tsover_sub(z(Pe),Re),a(0)),h)),w),Ke=__tsover_sub(z(Pe),de),Ze=__tsover_sub(h,w),at=C(__tsover_add(j(l(b(Ke,a(0)),b(Ze,a(0)))),oe(b(Ke,Ze),a(0))),fe,je>=.5),Fe=__tsover_div(1,s.y);return __tsover_sub(1,re(-Fe,Fe,at))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"pointA"},{type:"i",name:"pointB"},{type:"i",name:"thickness"},{type:"i",name:"style"},{type:"i",name:"dashLength"},{type:"i",name:"gapLength"},{type:"i",name:"capStart"},{type:"i",name:"capEnd"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"p",[6,"geom.aspectCorrectedUV",["uv","viewport"]]],[13,"a",[6,"geom.aspectCentrePosition",["pointA","aspect"]]],[13,"b",[6,"geom.aspectCentrePosition",["pointB","aspect"]]],[13,"seg",[6,"segmentArcPerp",["p","a","b"]]],[13,"t",[7,"seg","x"]],[13,"perp",[7,"seg","y"]],[13,"len",[7,"seg","z"]],[13,"halfT",[1,"thickness","*",[5,"0.5"]]],[13,"cSolid",[1,"t","-",[1,"len","*",[5,"0.5"]]]],[13,"axSolid",[1,"len","*",[5,"0.5"]]],[13,"rawDash",[6,"std.max",["dashLength",[6,"d.f32",["EPS"]]]]],[13,"rawPeriod",[1,"rawDash","+","gapLength"]],[13,"nDash",[6,"std.max",[[6,"std.floor",[[1,[1,[1,"len","+","gapLength"],"/","rawPeriod"],"+",[5,"0.5"]]]],[6,"d.f32",[[5,"1"]]]]]],[13,"scale",[1,"len","/",[6,"std.max",[[1,[1,"nDash","*","rawDash"],"+",[1,[1,"nDash","-",[5,"1"]],"*","gapLength"]],[6,"d.f32",["EPS"]]]]]],[13,"dashL",[1,"rawDash","*","scale"]],[13,"period",[1,"rawPeriod","*","scale"]],[13,"kDash",[6,"std.clamp",[[6,"std.floor",[[1,"t","/","period"]]],[6,"d.f32",[[5,"0"]]],[1,"nDash","-",[5,"1"]]]]],[13,"cDash",[1,"t","-",[1,[1,"kDash","*","period"],"+",[1,"dashL","*",[5,"0.5"]]]]],[13,"axDashRound",[6,"std.max",[[1,[1,"dashL","*",[5,"0.5"]],"-","halfT"],[6,"d.f32",[[5,"0"]]]]]],[13,"axDashSquare",[1,"dashL","*",[5,"0.5"]]],[13,"rawDotPeriod",[6,"std.max",[[1,"thickness","+","gapLength"],[6,"d.f32",["EPS"]]]]],[13,"nDot",[6,"std.max",[[6,"std.floor",[[1,[1,"len","/","rawDotPeriod"],"+",[5,"0.5"]]]],[6,"d.f32",[[5,"1"]]]]]],[13,"dotPeriod",[1,"len","/","nDot"]],[13,"kDot",[6,"std.clamp",[[6,"std.floor",[[1,[1,"t","/","dotPeriod"],"+",[5,"0.5"]]]],[6,"d.f32",[[5,"0"]]],"nDot"]]],[13,"cDot",[1,"t","-",[1,"kDot","*","dotPeriod"]]],[13,"isPattern",[1,"style",">=",[5,"0.5"]]],[13,"isDotted",[1,"style",">=",[5,"1.5"]]],[13,"c",[6,"std.select",["cSolid",[6,"std.select",["cDash","cDot","isDotted"]],"isPattern"]]],[13,"axRound",[6,"std.select",["axSolid",[6,"std.select",["axDashRound",[6,"d.f32",[[5,"0"]]],"isDotted"]],"isPattern"]]],[13,"axSquare",[6,"std.select",["axSolid",[6,"std.select",["axDashSquare","halfT","isDotted"]],"isPattern"]]],[13,"capHere",[6,"std.select",["capStart","capEnd",[1,"c",">",[5,"0"]]]]],[13,"sdRound",[1,[6,"std.length",[[6,"d.vec2f",[[6,"std.max",[[1,[6,"std.abs",["c"]],"-","axRound"],[6,"d.f32",[[5,"0"]]]]],"perp"]]]],"-","halfT"]],[13,"qx",[1,[6,"std.abs",["c"]],"-","axSquare"]],[13,"qy",[1,"perp","-","halfT"]],[13,"sdSquare",[1,[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["qx",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["qy",[6,"d.f32",[[5,"0"]]]]]]]]],"+",[6,"std.min",[[6,"std.max",["qx","qy"]],[6,"d.f32",[[5,"0"]]]]]]],[13,"sd",[6,"std.select",["sdSquare","sdRound",[1,"capHere",">=",[5,"0.5"]]]]],[13,"feather",[1,[5,"1"],"/",[7,"viewport","y"]]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",[[4,"-","feather"],"feather","sd"]]]]]]},externals:{"geom.aspectOf":()=>bt,"geom.aspectCorrectedUV":()=>Yg,"geom.aspectCentrePosition":()=>bn,segmentArcPerp:()=>ib,"std.max":()=>b,"d.f32":()=>a,EPS:()=>Ui,"std.floor":()=>q,"std.clamp":()=>$,"std.select":()=>C,"std.length":()=>j,"d.vec2f":()=>l,"std.abs":()=>z,"std.min":()=>oe,"std.smoothstep":()=>re}})&&e.f)({})),jB=v.fn([l,l,a,l,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=ua(t,o,s),m=__tsover_mul(r,Le),p=Eo(u,H(m),Y(m)),y=__tsover_add(__tsover_mul(__tsover_mul(p.x,n),it),_),h=__tsover_mul(Y(y),i),g=z(__tsover_sub(p.y,h)),w=__tsover_mul(d,.5),S=__tsover_mul(c,.5);return __tsover_sub(1,re(__tsover_sub(w,S),__tsover_add(w,S),g))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"position"},{type:"i",name:"frequency"},{type:"i",name:"amplitude"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"animTime"}],body:[0,[[13,"centered",[6,"geom.aspectCenteredDelta",["uv","position","viewport"]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosAngle",[6,"std.cos",["angleRad"]]],[13,"sinAngle",[6,"std.sin",["angleRad"]]],[13,"rotated",[6,"geom.rotate2",["centered","cosAngle","sinAngle"]]],[13,"waveInput",[1,[1,[1,[7,"rotated","x"],"*","frequency"],"*","TAU"],"+","animTime"]],[13,"sineWave",[1,[6,"std.sin",["waveInput"]],"*","amplitude"]],[13,"distanceFromWave",[6,"std.abs",[[1,[7,"rotated","y"],"-","sineWave"]]]],[13,"halfThickness",[1,"thickness","*",[5,"0.5"]]],[13,"halfSoftness",[1,"softness","*",[5,"0.5"]]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"halfThickness","-","halfSoftness"],[1,"halfThickness","+","halfSoftness"],"distanceFromWave"]]]]]]},externals:{"geom.aspectCenteredDelta":()=>ua,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"geom.rotate2":()=>Eo,TAU:()=>it,"std.abs":()=>z,"std.smoothstep":()=>re}})&&e.f)({})),db=v.fn([a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return f(__tsover_add(__tsover_mul(H(__tsover_mul(it,t)),.5),.5),__tsover_add(__tsover_mul(H(__tsover_mul(it,__tsover_sub(t,.333))),.5),.5),__tsover_add(__tsover_mul(H(__tsover_mul(it,__tsover_sub(t,.666))),.5),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[6,"d.vec3f",[[1,[1,[6,"std.cos",[[1,"TAU_FULL","*","t"]]],"*",[5,"0.5"]],"+",[5,"0.5"]],[1,[1,[6,"std.cos",[[1,"TAU_FULL","*",[1,"t","-",[5,"0.333"]]]]],"*",[5,"0.5"]],"+",[5,"0.5"]],[1,[1,[6,"std.cos",[[1,"TAU_FULL","*",[1,"t","-",[5,"0.666"]]]]],"*",[5,"0.5"]],"+",[5,"0.5"]]]]]]]},externals:{"d.vec3f":()=>f,"std.cos":()=>H,TAU_FULL:()=>it}})&&e.f)({})),Fm=ut({aspect:a,lightPos:l,flareAxis:l,masterFade:a,lightDist:a,lightAngle:a}).$name("FlareFrame"),KB=v.fn([l,l,a,l,a,a],Fm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=bt(s),c=l(o.x,__tsover_sub(1,o.y)),_=l(__tsover_sub(.5,c.x),__tsover_sub(.5,c.y)),u=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(Y(__tsover_mul(r,3.7)),.04),__tsover_mul(Y(__tsover_mul(r,7.3)),.03)),__tsover_mul(Y(__tsover_mul(r,13.1)),.02)),.97),m=b(__tsover_mul(z(__tsover_sub(c.x,.5)),2),__tsover_mul(z(__tsover_sub(c.y,.5)),2)),p=__tsover_sub(1,__tsover_mul(i,.5)),y=X(1,__tsover_sub(1,re(p,1,m)),i),h=__tsover_mul(__tsover_mul(n,y),u),g=l(__tsover_mul(__tsover_sub(t.x,c.x),d),__tsover_sub(t.y,c.y));return Fm({aspect:d,lightPos:c,flareAxis:_,masterFade:h,lightDist:j(g),lightAngle:tt(g.y,g.x)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"t"},{type:"i",name:"lightPosRaw"},{type:"i",name:"intensity"},{type:"i",name:"edgeFade"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"lightPos",[6,"d.vec2f",[[7,"lightPosRaw","x"],[1,[5,"1"],"-",[7,"lightPosRaw","y"]]]]],[13,"flareAxis",[6,"d.vec2f",[[1,[5,"0.5"],"-",[7,"lightPos","x"]],[1,[5,"0.5"],"-",[7,"lightPos","y"]]]]],[13,"shimmer",[1,[1,[1,[1,[6,"std.sin",[[1,"t","*",[5,"3.7"]]]],"*",[5,"0.04"]],"+",[1,[6,"std.sin",[[1,"t","*",[5,"7.3"]]]],"*",[5,"0.03"]]],"+",[1,[6,"std.sin",[[1,"t","*",[5,"13.1"]]]],"*",[5,"0.02"]]],"+",[5,"0.97"]]],[13,"edgeDist",[6,"std.max",[[1,[6,"std.abs",[[1,[7,"lightPos","x"],"-",[5,"0.5"]]]],"*",[5,"2"]],[1,[6,"std.abs",[[1,[7,"lightPos","y"],"-",[5,"0.5"]]]],"*",[5,"2"]]]]],[13,"fadeStart",[1,[5,"1"],"-",[1,"edgeFade","*",[5,"0.5"]]]],[13,"edgeFadeV",[6,"std.mix",[[5,"1"],[1,[5,"1"],"-",[6,"std.smoothstep",["fadeStart",[5,"1"],"edgeDist"]]],"edgeFade"]]],[13,"masterFade",[1,[1,"intensity","*","edgeFadeV"],"*","shimmer"]],[13,"toLightAR",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[7,"lightPos","x"]],"*","aspect"],[1,[7,"uv","y"],"-",[7,"lightPos","y"]]]]],[13,"lightDist",[6,"std.length",["toLightAR"]]],[13,"lightAngle",[6,"std.atan2",[[7,"toLightAR","y"],[7,"toLightAR","x"]]]],[10,[6,"FlareFrame",[[104,{aspect:"aspect",lightPos:"lightPos",flareAxis:"flareAxis",masterFade:"masterFade",lightDist:"lightDist",lightAngle:"lightAngle"}]]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,"std.sin":()=>Y,"std.max":()=>b,"std.abs":()=>z,"std.mix":()=>X,"std.smoothstep":()=>re,"std.length":()=>j,"std.atan2":()=>tt,FlareFrame:()=>Fm}})&&e.f)({})),ZB=v.fn([l,a,l,l,a,a,a,a,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=_.x,p=_.y,y=_.z,h=_.w,g=u.x,w=u.y,S=u.z,T=u.w,A=r.add(o.mul(__tsover_mul(__tsover_mul(m,i),2))),P=j(l(__tsover_mul(__tsover_sub(t.x,A.x),s),__tsover_sub(t.y,A.y))),U=p,D=__tsover_sub(1,re(__tsover_mul(U,.12),U,P)),O=__tsover_sub(1,re(__tsover_mul(U,.05),__tsover_mul(U,.45),P)),L=__tsover_mul(D,__tsover_sub(1,__tsover_mul(O,h))),G=__tsover_add(__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(n,4.3),T)),.08),__tsover_mul(Y(__tsover_add(__tsover_mul(n,9.1),__tsover_mul(T,1.7))),.05)),.95),W=Hl(P,__tsover_mul(U,.78),__tsover_mul(__tsover_mul(U,d),.14),__tsover_mul(U,.1)),K=W.x,Q=W.y,te=W.z,ee=__tsover_mul(__tsover_mul(y,c),G);return f(__tsover_mul(__tsover_add(__tsover_mul(L,g),__tsover_mul(K,d)),ee),__tsover_mul(__tsover_add(__tsover_mul(L,w),__tsover_mul(Q,d)),ee),__tsover_mul(__tsover_add(__tsover_mul(L,S),__tsover_mul(te,d)),ee))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"lightPos"},{type:"i",name:"flareAxis"},{type:"i",name:"t"},{type:"i",name:"ghostSpread"},{type:"i",name:"ghostChroma"},{type:"i",name:"ghostInt"},{type:"i",name:"disc"},{type:"i",name:"tint"}],body:[0,[[13,"offset",[7,"disc","x"]],[13,"size",[7,"disc","y"]],[13,"bright",[7,"disc","z"]],[13,"hollow",[7,"disc","w"]],[13,"r",[7,"tint","x"]],[13,"g",[7,"tint","y"]],[13,"b",[7,"tint","z"]],[13,"gPhase",[7,"tint","w"]],[13,"ghostPos",[6,[7,"lightPos","add"],[[6,[7,"flareAxis","mul"],[[1,[1,"offset","*","ghostSpread"],"*",[5,"2"]]]]]]],[13,"toGhost",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[7,"ghostPos","x"]],"*","aspect"],[1,[7,"uv","y"],"-",[7,"ghostPos","y"]]]]],[13,"dist",[6,"std.length",["toGhost"]]],[13,"sz","size"],[13,"discShape",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"sz","*",[5,"0.12"]],"sz","dist"]]]],[13,"innerFade",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"sz","*",[5,"0.05"]],[1,"sz","*",[5,"0.45"]],"dist"]]]],[13,"shape",[1,"discShape","*",[1,[5,"1"],"-",[1,"innerFade","*","hollow"]]]],[13,"gShimmer",[1,[1,[1,[6,"std.sin",[[1,[1,"t","*",[5,"4.3"]],"+","gPhase"]]],"*",[5,"0.08"]],"+",[1,[6,"std.sin",[[1,[1,"t","*",[5,"9.1"]],"+",[1,"gPhase","*",[5,"1.7"]]]]],"*",[5,"0.05"]]],"+",[5,"0.95"]]],[13,"ringCenter",[1,"sz","*",[5,"0.78"]]],[13,"chromaSpread",[1,[1,"sz","*","ghostChroma"],"*",[5,"0.14"]]],[13,"ringWidth",[1,"sz","*",[5,"0.1"]]],[13,"ring",[6,"lightfields.chromaticRingBand",["dist","ringCenter","chromaSpread","ringWidth"]]],[13,"rRing",[7,"ring","x"]],[13,"gRing",[7,"ring","y"]],[13,"bRing",[7,"ring","z"]],[13,"brightness",[1,[1,"bright","*","ghostInt"],"*","gShimmer"]],[10,[6,"d.vec3f",[[1,[1,[1,"shape","*","r"],"+",[1,"rRing","*","ghostChroma"]],"*","brightness"],[1,[1,[1,"shape","*","g"],"+",[1,"gRing","*","ghostChroma"]],"*","brightness"],[1,[1,[1,"shape","*","b"],"+",[1,"bRing","*","ghostChroma"]],"*","brightness"]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.smoothstep":()=>re,"std.sin":()=>Y,"lightfields.chromaticRingBand":()=>Hl,"d.vec3f":()=>f}})&&e.f)({})),QB=v.fn([l,a,l,a,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=l(__tsover_sub(1,r.x),__tsover_sub(1,r.y)),u=l(__tsover_mul(__tsover_sub(t.x,_.x),s),__tsover_sub(t.y,_.y)),m=Hl(j(u),i,__tsover_mul(__tsover_mul(i,d),.06),__tsover_add(__tsover_mul(c,.12),.005)),p=tt(u.y,u.x),y=__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(p,3),__tsover_mul(o,.5))),.12),.88);return m.mul(n).mul(y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"lightPos"},{type:"i",name:"t"},{type:"i",name:"haloInt"},{type:"i",name:"haloRad"},{type:"i",name:"haloChroma"},{type:"i",name:"haloSoft"}],body:[0,[[13,"antiLight",[6,"d.vec2f",[[1,[5,"1"],"-",[7,"lightPos","x"]],[1,[5,"1"],"-",[7,"lightPos","y"]]]]],[13,"toAntiLight",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[7,"antiLight","x"]],"*","aspect"],[1,[7,"uv","y"],"-",[7,"antiLight","y"]]]]],[13,"antiLightDist",[6,"std.length",["toAntiLight"]]],[13,"haloChromaSpread",[1,[1,"haloRad","*","haloChroma"],"*",[5,"0.06"]]],[13,"haloWidth",[1,[1,"haloSoft","*",[5,"0.12"]],"+",[5,"0.005"]]],[13,"halo",[6,"lightfields.chromaticRingBand",["antiLightDist","haloRad","haloChromaSpread","haloWidth"]]],[13,"haloAngle",[6,"std.atan2",[[7,"toAntiLight","y"],[7,"toAntiLight","x"]]]],[13,"haloAngVar",[1,[1,[6,"std.sin",[[1,[1,"haloAngle","*",[5,"3"]],"+",[1,"t","*",[5,"0.5"]]]]],"*",[5,"0.12"]],"+",[5,"0.88"]]],[10,[6,[7,[6,[7,"halo","mul"],["haloInt"]],"mul"],["haloAngVar"]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"lightfields.chromaticRingBand":()=>Hl,"std.atan2":()=>tt,"std.sin":()=>Y}})&&e.f)({})),JB=v.fn([a,l,a,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=tt(s.y,__tsover_mul(s.x,r)),_=__tsover_add(__tsover_mul(c,.5),__tsover_mul(o,.06)),u=__tsover_add(t,_),m=Sm(u,__tsover_div(i,2),3.5),p=__tsover_mul(Sm(__tsover_add(u,.25),__tsover_div(i,2),7),.4),y=__tsover_div(1,__tsover_add(1,__tsover_mul(__tsover_mul(n,n),60))),h=db(__tsover_add(__tsover_div(u,it),.5));return X(f(1,.97,.92),h,.12).mul(__tsover_mul(__tsover_mul(__tsover_add(m,p),y),d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lightAngle"},{type:"i",name:"flareAxis"},{type:"i",name:"aspect"},{type:"i",name:"t"},{type:"i",name:"lightDist"},{type:"i",name:"starburstPts"},{type:"i",name:"starburstInt"}],body:[0,[[13,"axisAng",[6,"std.atan2",[[7,"flareAxis","y"],[1,[7,"flareAxis","x"],"*","aspect"]]]],[13,"rotation",[1,[1,"axisAng","*",[5,"0.5"]],"+",[1,"t","*",[5,"0.06"]]]],[13,"spikeAngle",[1,"lightAngle","+","rotation"]],[13,"primarySpikes",[6,"lightfields.angularCosineSpikes",["spikeAngle",[1,"starburstPts","/",[5,"2"]],[5,"3.5"]]]],[13,"secondarySpikes",[1,[6,"lightfields.angularCosineSpikes",[[1,"spikeAngle","+",[5,"0.25"]],[1,"starburstPts","/",[5,"2"]],[5,"7"]]],"*",[5,"0.4"]]],[13,"radialFall",[1,[5,"1"],"/",[1,[5,"1"],"+",[1,[1,"lightDist","*","lightDist"],"*",[5,"60"]]]]],[13,"starSpectral",[6,"lensFlareSpectral",[[1,[1,"spikeAngle","/","TAU_FULL"],"+",[5,"0.5"]]]]],[13,"starTint",[6,"std.mix",[[6,"d.vec3f",[[5,"1"],[5,"0.97"],[5,"0.92"]]],"starSpectral",[5,"0.12"]]]],[10,[6,[7,"starTint","mul"],[[1,[1,[1,"primarySpikes","+","secondarySpikes"],"*","radialFall"],"*","starburstInt"]]]]]]},externals:{"std.atan2":()=>tt,"lightfields.angularCosineSpikes":()=>Sm,lensFlareSpectral:()=>db,TAU_FULL:()=>it,"std.mix":()=>X,"d.vec3f":()=>f}})&&e.f)({})),eW=v.fn([l,l,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=z(__tsover_sub(t.y,s.y)),i=z(__tsover_sub(t.x,s.x)),d=ct(__tsover_mul(__tsover_mul(-800,n),n)),c=__tsover_add(__tsover_mul(__tsover_mul(r,r),.25),.001),_=ct(__tsover_div(__tsover_mul(__tsover_mul(-1,i),i),__tsover_mul(c,.7))),u=ct(__tsover_div(__tsover_mul(__tsover_mul(-1,i),i),c)),m=ct(__tsover_div(__tsover_mul(__tsover_mul(-1,i),i),__tsover_mul(c,1.4)));return f(__tsover_mul(__tsover_mul(d,_),.5),__tsover_mul(__tsover_mul(d,u),.65),__tsover_mul(__tsover_mul(d,m),.9)).mul(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"lightPos"},{type:"i",name:"streakLen"},{type:"i",name:"streakInt"}],body:[0,[[13,"dy",[6,"std.abs",[[1,[7,"uv","y"],"-",[7,"lightPos","y"]]]]],[13,"dx",[6,"std.abs",[[1,[7,"uv","x"],"-",[7,"lightPos","x"]]]]],[13,"vertFall",[6,"std.exp",[[1,[1,[4,"-",[5,"800"]],"*","dy"],"*","dy"]]]],[13,"lenSq",[1,[1,[1,"streakLen","*","streakLen"],"*",[5,"0.25"]],"+",[5,"0.001"]]],[13,"rStreak",[6,"std.exp",[[1,[1,[1,[4,"-",[5,"1"]],"*","dx"],"*","dx"],"/",[1,"lenSq","*",[5,"0.7"]]]]]],[13,"gStreak",[6,"std.exp",[[1,[1,[1,[4,"-",[5,"1"]],"*","dx"],"*","dx"],"/","lenSq"]]]],[13,"bStreak",[6,"std.exp",[[1,[1,[1,[4,"-",[5,"1"]],"*","dx"],"*","dx"],"/",[1,"lenSq","*",[5,"1.4"]]]]]],[10,[6,[7,[6,"d.vec3f",[[1,[1,"vertFall","*","rStreak"],"*",[5,"0.5"]],[1,[1,"vertFall","*","gStreak"],"*",[5,"0.65"]],[1,[1,"vertFall","*","bStreak"],"*",[5,"0.9"]]]],"mul"],["streakInt"]]]]]},externals:{"std.abs":()=>z,"std.exp":()=>ct,"d.vec3f":()=>f}})&&e.f)({})),tW=v.fn([a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Qg(t,__tsover_div(1,__tsover_add(__tsover_mul(s,s),.01)));return f(1,.98,.95).mul(__tsover_mul(o,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lightDist"},{type:"i",name:"glareSz"},{type:"i",name:"glareInt"}],body:[0,[[13,"glareSharpness",[1,[5,"1"],"/",[1,[1,"glareSz","*","glareSz"],"+",[5,"0.01"]]]],[13,"glareFalloff",[6,"lightfields.radialGaussianFalloff",["lightDist","glareSharpness"]]],[10,[6,[7,[6,"d.vec3f",[[5,"1"],[5,"0.98"],[5,"0.95"]]],"mul"],[[1,"glareFalloff","*","glareInt"]]]]]]},externals:{"lightfields.radialGaussianFalloff":()=>Qg,"d.vec3f":()=>f}})&&e.f)({})),sW=v.fn([a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=ct(__tsover_mul(__tsover_mul(-500,t),t)),o=__tsover_sub(1,re(0,.025,t));return f(1,.98,.96).mul(__tsover_mul(__tsover_add(r,__tsover_mul(o,1.5)),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lightDist"},{type:"i",name:"intensity"}],body:[0,[[13,"coreSoft",[6,"std.exp",[[1,[1,[4,"-",[5,"500"]],"*","lightDist"],"*","lightDist"]]]],[13,"coreSharp",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],[5,"0.025"],"lightDist"]]]],[10,[6,[7,[6,"d.vec3f",[[5,"1"],[5,"0.98"],[5,"0.96"]]],"mul"],[[1,[1,"coreSoft","+",[1,"coreSharp","*",[5,"1.5"]]],"*","intensity"]]]]]]},externals:{"std.exp":()=>ct,"std.smoothstep":()=>re,"d.vec3f":()=>f}})&&e.f)({})),rW=v.fn([f,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.mul(s);return x(r,$(__tsover_mul(Ll(r),2),0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"flareTotal"},{type:"i",name:"masterFade"}],body:[0,[[13,"finalColor",[6,[7,"flareTotal","mul"],["masterFade"]]],[13,"flareAlpha",[6,"std.clamp",[[1,[6,"tone.luma601Dot",["finalColor"]],"*",[5,"2"]],[5,"0"],[5,"1"]]]],[10,[6,"d.vec4f",["finalColor","flareAlpha"]]]]]},externals:{"std.clamp":()=>$,"tone.luma601Dot":()=>Ll,"d.vec4f":()=>x}})&&e.f)({})),oW=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(o,.03),i=l(Br(t.mul(5).add(l(n,n))),Br(t.mul(5).add(l(31.4,31.4)).add(l(n,n)))).sub(l(.5,.5)),d=l(__tsover_div(1,s.x),__tsover_div(1,s.y));return t.add(i.mul(r).mul(d).mul(8))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"bleed"},{type:"i",name:"time"}],body:[0,[[13,"t",[1,"time","*",[5,"0.03"]]],[13,"wob",[6,[7,[6,"d.vec2f",[[6,"noise.value12",[[6,[7,[6,[7,"uv","mul"],[[5,"5"]]],"add"],[[6,"d.vec2f",["t","t"]]]]]],[6,"noise.value12",[[6,[7,[6,[7,[6,[7,"uv","mul"],[[5,"5"]]],"add"],[[6,"d.vec2f",[[5,"31.4"],[5,"31.4"]]]]],"add"],[[6,"d.vec2f",["t","t"]]]]]]]],"sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"texel",[6,"d.vec2f",[[1,[5,"1"],"/",[7,"viewport","x"]],[1,[5,"1"],"/",[7,"viewport","y"]]]]],[10,[6,[7,"uv","add"],[[6,[7,[6,[7,[6,[7,"wob","mul"],["bleed"]],"mul"],["texel"]],"mul"],[[5,"8"]]]]]]]]},externals:{"d.vec2f":()=>l,"noise.value12":()=>Br}})&&e.f)({})),nW=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return l(__tsover_add(t.x,__tsover_div(r,s.x)),__tsover_add(t.y,__tsover_div(o,s.y)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvBase"},{type:"i",name:"viewport"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"uvBase","x"],"+",[1,"ox","/",[7,"viewport","x"]]],[1,[7,"uvBase","y"],"+",[1,"oy","/",[7,"viewport","y"]]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),aW=v.fn([l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return Br(t.mul(s).mul(.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[10,[6,"noise.value12",[[6,[7,[6,[7,"uv","mul"],["viewport"]],"mul"],[[5,"0.5"]]]]]]]]},externals:{"noise.value12":()=>Br}})&&e.f)({})),iW=v.fn([x,x,x,x,f,f,f,f,a,x,x,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p,y,h)=>{"use gpu";let g=t.mul(_),w=s.mul(_),S=r.mul(_),T=o.mul(_),A=f(g.x,g.y,g.z),P=f(w.x,w.y,w.z),U=f(S.x,S.y,S.z),D=f(T.x,T.y,T.z),O=n.mul(_).sub(A.mul(A)),L=i.mul(_).sub(P.mul(P)),G=d.mul(_).sub(U.mul(U)),W=c.mul(_).sub(D.mul(D)),K=__tsover_add(__tsover_add(O.x,O.y),O.z),Q=__tsover_add(__tsover_add(L.x,L.y),L.z),te=__tsover_add(__tsover_add(G.x,G.y),G.z),ee=__tsover_add(__tsover_add(W.x,W.y),W.z),he=x(g.x,g.y,g.z,g.w),Ee=K;he=C(he,w,Qf,"d.vec4f":()=>x,"std.select":()=>C,"std.min":()=>oe,"blend.unpremultiplyAlpha":()=>dn,"std.mix":()=>X}})&&e.f)({})),cb=Math.sin(.785),_b=Math.cos(.785),lb=Math.sin(-.785),ub=Math.cos(-.785),Xd=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ot(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"noise.hash12",["p"]]]]]},externals:{"noise.hash12":()=>Ot}})&&e.f)({})),Bm=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=ue(t),o=r.mul(r).mul(r.mul(-2).add(3)),n=Xd(s),i=Xd(l(__tsover_add(s.x,1),s.y)),d=Xd(l(s.x,__tsover_add(s.y,1))),c=Xd(l(__tsover_add(s.x,1),__tsover_add(s.y,1)));return X(X(n,i,o.x),X(d,c,o.x),o.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,"std.fract",["p"]]],[13,"u",[6,[7,[6,[7,"f","mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[4,"-",[5,"2"]]]],"add"],[[5,"3"]]]]]],[13,"a",[6,"chalkHash21",["i"]]],[13,"b",[6,"chalkHash21",[[6,"d.vec2f",[[1,[7,"i","x"],"+",[5,"1"]],[7,"i","y"]]]]]],[13,"c",[6,"chalkHash21",[[6,"d.vec2f",[[7,"i","x"],[1,[7,"i","y"],"+",[5,"1"]]]]]]],[13,"dd",[6,"chalkHash21",[[6,"d.vec2f",[[1,[7,"i","x"],"+",[5,"1"]],[1,[7,"i","y"],"+",[5,"1"]]]]]]],[10,[6,"std.mix",[[6,"std.mix",["a","b",[7,"u","x"]]],[6,"std.mix",["c","dd",[7,"u","x"]]],[7,"u","y"]]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,chalkHash21:()=>Xd,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),dW=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return se(f(t.x,t.y,t.z),f(.299,.587,.114))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,"std.dot",[[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),cW=v.fn([l,l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_div(1,s.x),d=__tsover_div(1,s.y);return l(__tsover_add(t.x,__tsover_mul(__tsover_mul(i,r),o)),__tsover_add(t.y,__tsover_mul(__tsover_mul(d,r),n)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"edgeThickness"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[13,"texelX",[1,[5,"1"],"/",[7,"viewport","x"]]],[13,"texelY",[1,[5,"1"],"/",[7,"viewport","y"]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[1,"texelX","*","edgeThickness"],"*","ox"]],[1,[7,"uv","y"],"+",[1,[1,"texelY","*","edgeThickness"],"*","oy"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),el=v.fn([l,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_add(__tsover_mul(t.x,o),__tsover_mul(t.y,n)),c=__tsover_mul(z(__tsover_sub(ue(__tsover_div(d,s)),.5)),2),_=__tsover_sub(1,re(0,.35,c));return __tsover_mul(_,De(i,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"P"},{type:"i",name:"hatchScale"},{type:"i",name:"shade"},{type:"i",name:"sa"},{type:"i",name:"ca"},{type:"i",name:"thr"}],body:[0,[[13,"ry",[1,[1,[7,"P","x"],"*","sa"],"+",[1,[7,"P","y"],"*","ca"]]],[13,"hl",[1,[6,"std.abs",[[1,[6,"std.fract",[[1,"ry","/","hatchScale"]]],"-",[5,"0.5"]]]],"*",[5,"2"]]],[13,"line",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],[5,"0.35"],"hl"]]]],[10,[1,"line","*",[6,"std.step",["thr","shade"]]]]]]},externals:{"std.abs":()=>z,"std.fract":()=>ue,"std.smoothstep":()=>re,"std.step":()=>De}})&&e.f)({})),_W=v.fn([x,x,l,l,x,x,x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=t.x,u=t.y,m=t.z,p=t.w,y=s.x,h=s.y,g=s.z,w=s.w,S=n.x,T=n.y,A=i.x,P=i.y,U=i.z,D=i.w,O=__tsover_add(__tsover_add(__tsover_add(__tsover_sub(__tsover_sub(-_,__tsover_mul(p,2)),h),m),__tsover_mul(y,2)),w),L=__tsover_add(__tsover_add(__tsover_add(__tsover_sub(__tsover_sub(-_,__tsover_mul(u,2)),m),h),__tsover_mul(g,2)),w),G=be(__tsover_add(__tsover_mul(O,O),__tsover_mul(L,L))),W=X(a(1),.08,A),K=re(__tsover_mul(W,.4),W,G),Q=__tsover_sub(1,S),te=r.mul(o),ee=__tsover_mul(b(b(el(te,P,Q,cb,_b,.22),el(te,P,Q,lb,ub,.5)),el(te,P,Q,0,1,.78)),U),he=X(__tsover_sub(1,D),a(1),Bm(te.mul(.5))),Ee=$(__tsover_mul(b(K,ee),he),0,1),Te=__tsover_mul(__tsover_sub(Bm(te.mul(.9)),.5),.04);return x(X(d.xyz.add(Te),c.xyz,f(Ee)),T)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sobelA"},{type:"i",name:"sobelB"},{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"misc"},{type:"i",name:"params"},{type:"i",name:"boardColor"},{type:"i",name:"chalkColor"}],body:[0,[[13,"tl",[7,"sobelA","x"]],[13,"t",[7,"sobelA","y"]],[13,"tr",[7,"sobelA","z"]],[13,"l",[7,"sobelA","w"]],[13,"r",[7,"sobelB","x"]],[13,"bl",[7,"sobelB","y"]],[13,"bo",[7,"sobelB","z"]],[13,"br",[7,"sobelB","w"]],[13,"centerLum",[7,"misc","x"]],[13,"centerAlpha",[7,"misc","y"]],[13,"edgeSensitivity",[7,"params","x"]],[13,"hatchScale",[7,"params","y"]],[13,"shading",[7,"params","z"]],[13,"grain",[7,"params","w"]],[13,"gx",[1,[1,[1,[1,[1,[4,"-","tl"],"-",[1,"l","*",[5,"2"]]],"-","bl"],"+","tr"],"+",[1,"r","*",[5,"2"]]],"+","br"]],[13,"gy",[1,[1,[1,[1,[1,[4,"-","tl"],"-",[1,"t","*",[5,"2"]]],"-","tr"],"+","bl"],"+",[1,"bo","*",[5,"2"]]],"+","br"]],[13,"edgeMag",[6,"std.sqrt",[[1,[1,"gx","*","gx"],"+",[1,"gy","*","gy"]]]]],[13,"edgeHigh",[6,"std.mix",[[6,"d.f32",[[5,"1"]]],[5,"0.08"],"edgeSensitivity"]]],[13,"edge",[6,"std.smoothstep",[[1,"edgeHigh","*",[5,"0.4"]],"edgeHigh","edgeMag"]]],[13,"shade",[1,[5,"1"],"-","centerLum"]],[13,"P",[6,[7,"uv","mul"],["viewport"]]],[13,"hatch",[1,[6,"std.max",[[6,"std.max",[[6,"chalkHatchLine",["P","hatchScale","shade","SIN_045","COS_045",[5,"0.22"]]],[6,"chalkHatchLine",["P","hatchScale","shade","SIN_N45","COS_N45",[5,"0.5"]]]]],[6,"chalkHatchLine",["P","hatchScale","shade",[5,"0"],[5,"1"],[5,"0.78"]]]]],"*","shading"]],[13,"dust",[6,"std.mix",[[1,[5,"1"],"-","grain"],[6,"d.f32",[[5,"1"]]],[6,"chalkVnoise",[[6,[7,"P","mul"],[[5,"0.5"]]]]]]]],[13,"chalkMask",[6,"std.clamp",[[1,[6,"std.max",["edge","hatch"]],"*","dust"],[5,"0"],[5,"1"]]]],[13,"boardGrain",[1,[1,[6,"chalkVnoise",[[6,[7,"P","mul"],[[5,"0.9"]]]]],"-",[5,"0.5"]],"*",[5,"0.04"]]],[13,"boardRGB",[6,[7,[7,"boardColor","xyz"],"add"],["boardGrain"]]],[13,"col",[6,"std.mix",["boardRGB",[7,"chalkColor","xyz"],[6,"d.vec3f",["chalkMask"]]]]],[10,[6,"d.vec4f",["col","centerAlpha"]]]]]},externals:{"std.sqrt":()=>be,"std.mix":()=>X,"d.f32":()=>a,"std.smoothstep":()=>re,"std.max":()=>b,chalkHatchLine:()=>el,SIN_045:()=>cb,COS_045:()=>_b,SIN_N45:()=>lb,COS_N45:()=>ub,chalkVnoise:()=>Bm,"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),mb=1080,Wm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cellCenter:l,cellUV:l,isOutside:a}),"AsciiGrid"),lW=v.fn([l,l,a,a],Wm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_div(s.y,mb),i=__tsover_mul(r,n),d=l(__tsover_div(s.x,i),__tsover_div(s.y,i)),c=l(__tsover_mul(t.x,d.x),__tsover_mul(t.y,d.y)),_=q(c),u=ue(c),m=__tsover_sub(u.x,.5),p=__tsover_sub(u.y,.5),y=l(__tsover_add(__tsover_div(m,o),.5),__tsover_add(__tsover_div(p,o),.5)),h=__tsover_mul(o,.5),g=C(a(0),a(1),z(m)>h||z(p)>h);return Wm({cellCenter:l(__tsover_div(__tsover_add(_.x,.5),d.x),__tsover_div(__tsover_add(_.y,.5),d.y)),cellUV:y,isOutside:g})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cellSize"},{type:"i",name:"spacing"}],body:[0,[[13,"scaleFactor",[1,[7,"viewport","y"],"/","REFERENCE_HEIGHT"]],[13,"effectiveCellSize",[1,"cellSize","*","scaleFactor"]],[13,"mainGridSize",[6,"d.vec2f",[[1,[7,"viewport","x"],"/","effectiveCellSize"],[1,[7,"viewport","y"],"/","effectiveCellSize"]]]],[13,"gridCoords",[6,"d.vec2f",[[1,[7,"uv","x"],"*",[7,"mainGridSize","x"]],[1,[7,"uv","y"],"*",[7,"mainGridSize","y"]]]]],[13,"cellCoords",[6,"std.floor",["gridCoords"]]],[13,"rawCellUV",[6,"std.fract",["gridCoords"]]],[13,"centeredU",[1,[7,"rawCellUV","x"],"-",[5,"0.5"]]],[13,"centeredV",[1,[7,"rawCellUV","y"],"-",[5,"0.5"]]],[13,"cellUV",[6,"d.vec2f",[[1,[1,"centeredU","/","spacing"],"+",[5,"0.5"]],[1,[1,"centeredV","/","spacing"],"+",[5,"0.5"]]]]],[13,"half",[1,"spacing","*",[5,"0.5"]]],[13,"isOutside",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[3,[1,[6,"std.abs",["centeredU"]],">","half"],"||",[1,[6,"std.abs",["centeredV"]],">","half"]]]]],[13,"cellCenter",[6,"d.vec2f",[[1,[1,[7,"cellCoords","x"],"+",[5,"0.5"]],"/",[7,"mainGridSize","x"]],[1,[1,[7,"cellCoords","y"],"+",[5,"0.5"]],"/",[7,"mainGridSize","y"]]]]],[10,[6,"AsciiGrid",[[104,{cellCenter:"cellCenter",cellUV:"cellUV",isOutside:"isOutside"}]]]]]]},externals:{REFERENCE_HEIGHT:()=>mb,"d.vec2f":()=>l,"std.floor":()=>q,"std.fract":()=>ue,"std.select":()=>C,"d.f32":()=>a,"std.abs":()=>z,AsciiGrid:()=>Wm}})&&e.f)({})).$name("asciiGrid"),uW=v.fn([f,a,a,a,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ce(se(t,f(.299,.587,.114)),s),c=__tsover_sub(1,d),_=$(q(__tsover_mul(c,r)),0,__tsover_sub(r,1)),u=__tsover_sub(_,__tsover_mul(o,q(__tsover_div(_,o)))),m=q(__tsover_div(_,o)),p=__tsover_mul(__tsover_div(1,o),n),y=__tsover_mul(u,p),h=__tsover_mul(m,p);return l(__tsover_add(y,__tsover_mul(i.x,p)),__tsover_add(h,__tsover_mul(i.y,p)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellRgb"},{type:"i",name:"gamma"},{type:"i",name:"charCount"},{type:"i",name:"atlasSize"},{type:"i",name:"atlasScale"},{type:"i",name:"cellUV"}],body:[0,[[13,"rawBrightness",[6,"std.dot",["cellRgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"adjustedBrightness",[6,"std.pow",["rawBrightness","gamma"]]],[13,"invertedBrightness",[1,[5,"1"],"-","adjustedBrightness"]],[13,"scaledBrightness",[1,"invertedBrightness","*","charCount"]],[13,"charIndex",[6,"std.clamp",[[6,"std.floor",["scaledBrightness"]],[5,"0"],[1,"charCount","-",[5,"1"]]]]],[13,"atlasCol",[1,"charIndex","-",[1,"atlasSize","*",[6,"std.floor",[[1,"charIndex","/","atlasSize"]]]]]],[13,"atlasRow",[6,"std.floor",[[1,"charIndex","/","atlasSize"]]]],[13,"atlasCellSize",[1,[1,[5,"1"],"/","atlasSize"],"*","atlasScale"]],[13,"baseU",[1,"atlasCol","*","atlasCellSize"]],[13,"baseV",[1,"atlasRow","*","atlasCellSize"]],[10,[6,"d.vec2f",[[1,"baseU","+",[1,[7,"cellUV","x"],"*","atlasCellSize"]],[1,"baseV","+",[1,[7,"cellUV","y"],"*","atlasCellSize"]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.pow":()=>Ce,"std.clamp":()=>$,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})).$name("asciiAtlasUV"),mW=v.fn([f,x,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=se(t,f(.299,.587,.114))<.1,d=s.w,c=d.5),u=i||r>.5||c,m=C(_,a(0),u);return x(__tsover_mul(t.x,s.x),__tsover_mul(t.y,s.y),__tsover_mul(t.z,s.z),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"asciiRgb"},{type:"i",name:"cellColor"},{type:"i",name:"isOutside"},{type:"i",name:"alphaThreshold"},{type:"i",name:"preserveAlpha"}],body:[0,[[13,"charBrightness",[6,"std.dot",["asciiRgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"isBackground",[1,"charBrightness","<",[5,"0.1"]]],[13,"sourceAlpha",[7,"cellColor","w"]],[13,"isBelowThreshold",[1,"sourceAlpha","<","alphaThreshold"]],[13,"outputAlpha",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"sourceAlpha",[1,"preserveAlpha",">",[5,"0.5"]]]]],[13,"hide",[3,[3,"isBackground","||",[1,"isOutside",">",[5,"0.5"]]],"||","isBelowThreshold"]],[13,"finalAlpha",[6,"std.select",["outputAlpha",[6,"d.f32",[[5,"0"]]],"hide"]]],[10,[6,"d.vec4f",[[1,[7,"asciiRgb","x"],"*",[7,"cellColor","x"]],[1,[7,"asciiRgb","y"],"*",[7,"cellColor","y"]],[1,[7,"asciiRgb","z"],"*",[7,"cellColor","z"]],"finalAlpha"]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.select":()=>C,"d.f32":()=>a,"d.vec4f":()=>x}})&&e.f)({})).$name("asciiCompose");var Sz=v.fn([x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return l(__tsover_div(__tsover_sub(s.x,t.x),o),__tsover_div(__tsover_sub(r.x,t.x),o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"surf0"},{type:"i",name:"surfX"},{type:"i",name:"surfY"},{type:"i",name:"eps"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[7,"surfX","x"],"-",[7,"surf0","x"]],"/","eps"],[1,[1,[7,"surfY","x"],"-",[7,"surf0","x"]],"/","eps"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Az=v.fn([x,x,x,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return as(f($(__tsover_div(__tsover_sub(s.w,t.w),o),__tsover_mul(n,-1),n),$(__tsover_div(__tsover_sub(r.w,t.w),o),__tsover_mul(n,-1),n),-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"surf0"},{type:"i",name:"surfX"},{type:"i",name:"surfY"},{type:"i",name:"eps"},{type:"i",name:"gradClamp"}],body:[0,[[13,"ddx",[6,"std.clamp",[[1,[1,[7,"surfX","w"],"-",[7,"surf0","w"]],"/","eps"],[1,"gradClamp","*",[4,"-",[5,"1"]]],"gradClamp"]]],[13,"ddy",[6,"std.clamp",[[1,[1,[7,"surfY","w"],"-",[7,"surf0","w"]],"/","eps"],[1,"gradClamp","*",[4,"-",[5,"1"]]],"gradClamp"]]],[10,[6,"std.normalize",[[6,"d.vec3f",["ddx","ddy",[4,"-",[5,"1"]]]]]]]]]},externals:{"std.clamp":()=>$,"std.normalize":()=>as,"d.vec3f":()=>f}})&&e.f)({})),Mz=v.fn([l,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(j(t),1e-4),o=oe(s,.9995);return f(__tsover_mul(__tsover_div(t.x,r),o),__tsover_mul(__tsover_div(t.y,r),o),__tsover_mul(be(__tsover_sub(1,__tsover_mul(o,o))),-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"grad"},{type:"i",name:"sinTilt"}],body:[0,[[13,"glen",[6,"std.max",[[6,"std.length",["grad"]],[5,"0.0001"]]]],[13,"sB",[6,"std.min",["sinTilt",[5,"0.9995"]]]],[10,[6,"d.vec3f",[[1,[1,[7,"grad","x"],"/","glen"],"*","sB"],[1,[1,[7,"grad","y"],"/","glen"],"*","sB"],[1,[6,"std.sqrt",[[1,[5,"1"],"-",[1,"sB","*","sB"]]]],"*",[4,"-",[5,"1"]]]]]]]]},externals:{"std.max":()=>b,"std.length":()=>j,"std.min":()=>oe,"d.vec3f":()=>f,"std.sqrt":()=>be}})&&e.f)({})),Pz=v.fn([l,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(C(__tsover_sub(t.x,.5),s.y,r>.5),C(__tsover_sub(t.y,.5),s.z,r>.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdfUV"},{type:"i",name:"surf0"},{type:"i",name:"volumetric"}],body:[0,[[10,[6,"d.vec2f",[[6,"std.select",[[1,[7,"sdfUV","x"],"-",[5,"0.5"]],[7,"surf0","y"],[1,"volumetric",">",[5,"0.5"]]]],[6,"std.select",[[1,[7,"sdfUV","y"],"-",[5,"0.5"]],[7,"surf0","z"],[1,"volumetric",">",[5,"0.5"]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.select":()=>C}})&&e.f)({})),Ez=v.fn([a,a],ft)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t>__tsover_mul(s,2)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"pxH"}],body:[0,[[10,[1,"sdf",">",[1,"pxH","*",[5,"2"]]]]]]},externals:{}})&&e.f)({})),pb=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(__tsover_mul(s,.03125),__tsover_mul(r,o));return $(__tsover_div(__tsover_mul(t,-1),n),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"sharpEdge"},{type:"i",name:"pxH"},{type:"i",name:"minPixels"}],body:[0,[[13,"w",[6,"std.max",[[1,"sharpEdge","*",[5,"0.03125"]],[1,"pxH","*","minPixels"]]]],[10,[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","w"],[5,"0"],[5,"1"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$}})&&e.f)({})),kz=v.fn([l,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return as(f(__tsover_mul(__tsover_mul(__tsover_sub(t.x,.5),s),r),__tsover_mul(__tsover_sub(t.y,.5),r),1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"fov"}],body:[0,[[10,[6,"std.normalize",[[6,"d.vec3f",[[1,[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],"*","fov"],[1,[1,[7,"uv","y"],"-",[5,"0.5"]],"*","fov"],[5,"1"]]]]]]]]},externals:{"std.normalize":()=>as,"d.vec3f":()=>f}})&&e.f)({})),Om=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({tangent:f,bitangent:f}),"TangentFrame"),fb=v.fn([f,f],Om)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=as(s.sub(t.mul(se(t,s))));return Om({tangent:r,bitangent:f(__tsover_sub(__tsover_mul(t.y,r.z),__tsover_mul(t.z,r.y)),__tsover_sub(__tsover_mul(t.z,r.x),__tsover_mul(t.x,r.z)),__tsover_sub(__tsover_mul(t.x,r.y),__tsover_mul(t.y,r.x)))})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"normal"},{type:"i",name:"dir"}],body:[0,[[13,"T3",[6,"std.normalize",[[6,[7,"dir","sub"],[[6,[7,"normal","mul"],[[6,"std.dot",["normal","dir"]]]]]]]]],[13,"B3",[6,"d.vec3f",[[1,[1,[7,"normal","y"],"*",[7,"T3","z"]],"-",[1,[7,"normal","z"],"*",[7,"T3","y"]]],[1,[1,[7,"normal","z"],"*",[7,"T3","x"]],"-",[1,[7,"normal","x"],"*",[7,"T3","z"]]],[1,[1,[7,"normal","x"],"*",[7,"T3","y"]],"-",[1,[7,"normal","y"],"*",[7,"T3","x"]]]]]],[10,[6,"TangentFrame",[[104,{tangent:"T3",bitangent:"B3"}]]]]]]},externals:{"std.normalize":()=>as,"std.dot":()=>se,"d.vec3f":()=>f,TangentFrame:()=>Om}})&&e.f)({})),$z=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({normal:f,tangent:f,light:f,view:f,alphaAlong:a,alphaAcross:a}),"WardSpecularInput"),pW=v.fn([$z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=fb(t.normal,t.tangent),r=as(t.light.sub(t.view)),o=se(r,s.tangent),n=se(r,s.bitangent),i=$(z(se(r,t.normal)),1e-4,1),d=b(t.alphaAlong,1e-4),c=b(t.alphaAcross,1e-4),_=__tsover_div(__tsover_add(__tsover_mul(__tsover_div(o,d),__tsover_div(o,d)),__tsover_mul(__tsover_div(n,c),__tsover_div(n,c))),__tsover_mul(__tsover_add(i,1),.5));return ct(__tsover_mul(_,-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"frame",[6,"orthonormalTangentFrame",[[7,"p","normal"],[7,"p","tangent"]]]],[13,"H",[6,"std.normalize",[[6,[7,[7,"p","light"],"sub"],[[7,"p","view"]]]]]],[13,"hT",[6,"std.dot",["H",[7,"frame","tangent"]]]],[13,"hB",[6,"std.dot",["H",[7,"frame","bitangent"]]]],[13,"hN",[6,"std.clamp",[[6,"std.abs",[[6,"std.dot",["H",[7,"p","normal"]]]]],[5,"0.0001"],[5,"1"]]]],[13,"aT",[6,"std.max",[[7,"p","alphaAlong"],[5,"0.0001"]]]],[13,"aB",[6,"std.max",[[7,"p","alphaAcross"],[5,"0.0001"]]]],[13,"expo",[1,[1,[1,[1,"hT","/","aT"],"*",[1,"hT","/","aT"]],"+",[1,[1,"hB","/","aB"],"*",[1,"hB","/","aB"]]],"/",[1,[1,"hN","+",[5,"1"]],"*",[5,"0.5"]]]],[10,[6,"std.exp",[[1,"expo","*",[4,"-",[5,"1"]]]]]]]]},externals:{orthonormalTangentFrame:()=>fb,"std.normalize":()=>as,"std.dot":()=>se,"std.clamp":()=>$,"std.abs":()=>z,"std.max":()=>b,"std.exp":()=>ct}})&&e.f)({})),fW=v.fn([a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return f(__tsover_add(__tsover_mul(H(__tsover_mul(__tsover_add(t,s),ao)),.5),.5),__tsover_add(__tsover_mul(H(__tsover_mul(__tsover_add(t,r),ao)),.5),.5),__tsover_add(__tsover_mul(H(__tsover_mul(__tsover_add(t,o),ao)),.5),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"phaseR"},{type:"i",name:"phaseG"},{type:"i",name:"phaseB"}],body:[0,[[10,[6,"d.vec3f",[[1,[1,[6,"std.cos",[[1,[1,"t","+","phaseR"],"*","TWO_PI"]]],"*",[5,"0.5"]],"+",[5,"0.5"]],[1,[1,[6,"std.cos",[[1,[1,"t","+","phaseG"],"*","TWO_PI"]]],"*",[5,"0.5"]],"+",[5,"0.5"]],[1,[1,[6,"std.cos",[[1,[1,"t","+","phaseB"],"*","TWO_PI"]]],"*",[5,"0.5"]],"+",[5,"0.5"]]]]]]]},externals:{"d.vec3f":()=>f,"std.cos":()=>H,TWO_PI:()=>ao}})&&e.f)({})),Uz=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return re(0,1,pb(t,b(__tsover_mul(s,.5),.001),r,1.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"edgeSoftness"},{type:"i",name:"pxH"}],body:[0,[[13,"sharpEdge",[6,"std.max",[[1,"edgeSoftness","*",[5,"0.5"]],[5,"0.001"]]]],[10,[6,"std.smoothstep",[[5,"0"],[5,"1"],[6,"insideMask",["sdf","sharpEdge","pxH",[5,"1.5"]]]]]]]]},externals:{"std.max":()=>b,"std.smoothstep":()=>re,insideMask:()=>pb}})&&e.f)({})),Vm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({L:f,H:f}),"KeyLight"),Cz=v.fn([a,a,a],Vm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=as(f(t,s,r));return Vm({L:o,H:as(o.add(f(0,0,-1)))})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lx"},{type:"i",name:"ly"},{type:"i",name:"lz"}],body:[0,[[13,"L",[6,"std.normalize",[[6,"d.vec3f",["lx","ly","lz"]]]]],[13,"H",[6,"std.normalize",[[6,[7,"L","add"],[[6,"d.vec3f",[[5,"0"],[5,"0"],[4,"-",[5,"1"]]]]]]]]],[10,[6,"KeyLight",[[104,{L:"L",H:"H"}]]]]]]},externals:{"std.normalize":()=>as,"d.vec3f":()=>f,KeyLight:()=>Vm}})&&e.f)({})),vW=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_sub(1,$(__tsover_mul(t.z,-1),0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"n"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.clamp",[[1,[7,"n","z"],"*",[4,"-",[5,"1"]]],[5,"0"],[5,"1"]]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),Rz=v.fn([a,a,x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_mul(Ce(t,X(r.x,r.y,s)),X(r.z,r.w,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ndh"},{type:"i",name:"sharp"},{type:"i",name:"cfg"}],body:[0,[[10,[1,[6,"std.pow",["ndh",[6,"std.mix",[[7,"cfg","x"],[7,"cfg","y"],"sharp"]]]],"*",[6,"std.mix",[[7,"cfg","z"],[7,"cfg","w"],"sharp"]]]]]]},externals:{"std.pow":()=>Ce,"std.mix":()=>X}})&&e.f)({})),zz=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=a(4),o=la(t);return l($(__tsover_mul(o.y,s),__tsover_mul(r,-1),r),$(__tsover_mul(o.z,s),__tsover_mul(r,-1),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"q"},{type:"i",name:"gain"}],body:[0,[[13,"gMax",[6,"d.f32",[[5,"4"]]]],[13,"nd",[6,"perlin12d",["q"]]],[10,[6,"d.vec2f",[[6,"std.clamp",[[1,[7,"nd","y"],"*","gain"],[1,"gMax","*",[4,"-",[5,"1"]]],"gMax"]],[6,"std.clamp",[[1,[7,"nd","z"],"*","gain"],[1,"gMax","*",[4,"-",[5,"1"]]],"gMax"]]]]]]]},externals:{"d.f32":()=>a,perlin12d:()=>la,"d.vec2f":()=>l,"std.clamp":()=>$}})&&e.f)({})),Gz=v.fn([f,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return as(f(__tsover_add(t.x,s),__tsover_add(t.y,r),t.z))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"n"},{type:"i",name:"dx"},{type:"i",name:"dy"}],body:[0,[[10,[6,"std.normalize",[[6,"d.vec3f",[[1,[7,"n","x"],"+","dx"],[1,[7,"n","y"],"+","dy"],[7,"n","z"]]]]]]]]},externals:{"std.normalize":()=>as,"d.vec3f":()=>f}})&&e.f)({})),Yz=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=$(__tsover_mul(__tsover_mul(t,-1),2),0,1.2);return C(__tsover_mul($(__tsover_mul(t,-1),0,.5),2),r,s>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"volumetric"}],body:[0,[[13,"thickVol",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"*",[5,"2"]],[5,"0"],[5,"1.2"]]]],[13,"thickFlat",[1,[6,"std.clamp",[[1,"sdf","*",[4,"-",[5,"1"]]],[5,"0"],[5,"0.5"]]],"*",[5,"2"]]],[10,[6,"std.select",["thickFlat","thickVol",[1,"volumetric",">",[5,"0.5"]]]]]]]},externals:{"std.clamp":()=>$,"std.select":()=>C}})&&e.f)({})),yW=v.fn([a,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return f(ct(__tsover_mul(__tsover_mul(t,s.x),-1)),ct(__tsover_mul(__tsover_mul(t,s.y),-1)),ct(__tsover_mul(__tsover_mul(t,s.z),-1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"thickness"},{type:"i",name:"absorb"}],body:[0,[[10,[6,"d.vec3f",[[6,"std.exp",[[1,[1,"thickness","*",[7,"absorb","x"]],"*",[4,"-",[5,"1"]]]]],[6,"std.exp",[[1,[1,"thickness","*",[7,"absorb","y"]],"*",[4,"-",[5,"1"]]]]],[6,"std.exp",[[1,[1,"thickness","*",[7,"absorb","z"]],"*",[4,"-",[5,"1"]]]]]]]]]]},externals:{"d.vec3f":()=>f,"std.exp":()=>ct}})&&e.f)({})),Lz=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_mul(Y(__tsover_add(__tsover_add(__tsover_mul(t.x,1.7),__tsover_mul(s,.7)),1.7)),H(__tsover_add(__tsover_add(__tsover_mul(t.y,1.3),__tsover_mul(s,.5)),2.3))),__tsover_mul(H(__tsover_add(__tsover_add(__tsover_mul(t.x,1.4),__tsover_mul(s,.9)),8.7)),Y(__tsover_add(__tsover_add(__tsover_mul(t.y,1.6),__tsover_mul(s,.6)),5.1))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"warpInput"},{type:"i",name:"flowT"}],body:[0,[[13,"wx",[1,[6,"std.sin",[[1,[1,[1,[7,"warpInput","x"],"*",[5,"1.7"]],"+",[1,"flowT","*",[5,"0.7"]]],"+",[5,"1.7"]]]],"*",[6,"std.cos",[[1,[1,[1,[7,"warpInput","y"],"*",[5,"1.3"]],"+",[1,"flowT","*",[5,"0.5"]]],"+",[5,"2.3"]]]]]],[13,"wy",[1,[6,"std.cos",[[1,[1,[1,[7,"warpInput","x"],"*",[5,"1.4"]],"+",[1,"flowT","*",[5,"0.9"]]],"+",[5,"8.7"]]]],"*",[6,"std.sin",[[1,[1,[1,[7,"warpInput","y"],"*",[5,"1.6"]],"+",[1,"flowT","*",[5,"0.6"]]],"+",[5,"5.1"]]]]]],[10,[6,"d.vec2f",["wx","wy"]]]]]},externals:{"std.sin":()=>Y,"std.cos":()=>H,"d.vec2f":()=>l}})&&e.f)({})),Iz=v.fn([a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_sub(__tsover_mul(t,r),__tsover_mul(s,o)),u=__tsover_add(__tsover_mul(t,o),__tsover_mul(s,r)),m=l(_,u),p=re(-.7,.85,u),y=__tsover_mul(__tsover_mul(p,p),c),h=__tsover_mul(n,1);y=__tsover_add(y,__tsover_mul(__tsover_mul(re(h,__tsover_mul(h,.2),j(m.sub(l(__tsover_add(0,i),.55)))),1.7),d));let g=__tsover_mul(n,1.15);y=__tsover_add(y,__tsover_mul(__tsover_mul(re(g,__tsover_mul(g,.2),j(m.sub(l(__tsover_add(-.55,i),.18)))),1.05),d));let w=__tsover_mul(n,1);y=__tsover_add(y,__tsover_mul(__tsover_mul(re(w,__tsover_mul(w,.2),j(m.sub(l(__tsover_add(.55,i),.1)))),1),d));let S=__tsover_mul(n,1.3);y=__tsover_add(y,__tsover_mul(__tsover_mul(re(S,__tsover_mul(S,.2),j(m.sub(l(__tsover_add(.2,i),-.5)))),.7),d));let T=__tsover_mul(n,1.1);return y=__tsover_add(y,__tsover_mul(__tsover_mul(re(T,__tsover_mul(T,.2),j(m.sub(l(__tsover_add(-.35,i),-.25)))),.85),d)),y}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rx"},{type:"i",name:"ry"},{type:"i",name:"envC"},{type:"i",name:"envS"},{type:"i",name:"keyRad"},{type:"i",name:"drift"},{type:"i",name:"envStr"},{type:"i",name:"skyGain"}],body:[0,[[13,"ex",[1,[1,"rx","*","envC"],"-",[1,"ry","*","envS"]]],[13,"ey",[1,[1,"rx","*","envS"],"+",[1,"ry","*","envC"]]],[13,"p",[6,"d.vec2f",["ex","ey"]]],[13,"sky",[6,"std.smoothstep",[[4,"-",[5,"0.7"]],[5,"0.85"],"ey"]]],[12,"lum",[1,[1,"sky","*","sky"],"*","skyGain"]],[13,"r0",[1,"keyRad","*",[5,"1"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r0",[1,"r0","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[5,"0"],"+","drift"],[5,"0.55"]]]]]]]]],"*",[5,"1.7"]],"*","envStr"]]],[13,"r1",[1,"keyRad","*",[5,"1.15"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r1",[1,"r1","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[4,"-",[5,"0.55"]],"+","drift"],[5,"0.18"]]]]]]]]],"*",[5,"1.05"]],"*","envStr"]]],[13,"r2",[1,"keyRad","*",[5,"1"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r2",[1,"r2","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[5,"0.55"],"+","drift"],[5,"0.1"]]]]]]]]],"*",[5,"1"]],"*","envStr"]]],[13,"r3",[1,"keyRad","*",[5,"1.3"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r3",[1,"r3","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[5,"0.2"],"+","drift"],[4,"-",[5,"0.5"]]]]]]]]]],"*",[5,"0.7"]],"*","envStr"]]],[13,"r4",[1,"keyRad","*",[5,"1.1"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r4",[1,"r4","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[4,"-",[5,"0.35"]],"+","drift"],[4,"-",[5,"0.25"]]]]]]]]]],"*",[5,"0.85"]],"*","envStr"]]],[10,"lum"]]]},externals:{"d.vec2f":()=>l,"std.smoothstep":()=>re,"std.length":()=>j}})&&e.f)({})),Dz=new Map,vb=new Set;function v7(e){return Dz.get(e)??null}function y7(e){return vb.add(e),()=>{vb.delete(e)}}var Fz=16,Bz=64;var hW=Fz*Bz;var Wz=Za({accumulateInstances:()=>Kz,formatFloat:()=>o1,gridPlacement:()=>Nz,instanceHueShift:()=>jz,instanceVariation:()=>Hz,linePlacement:()=>Xz,placementField:()=>Vz,radialPlacement:()=>qz,sourceRect:()=>Oz}),pc=Math.PI;function Oz(e,t,s){let{p:r,L:o}=e;return[`let ${r}_cropL = ${s.left};`,`let ${r}_cropR = ${s.right};`,`let ${r}_cropT = ${s.top};`,`let ${r}_cropB = ${s.bottom};`,`let ${r}_srcCx = (${t.cx}) + (${r}_cropL - ${r}_cropR) * (${t.hw});`,`let ${r}_srcCy = (${t.cy}) + (${r}_cropT - ${r}_cropB) * (${t.hh});`,`let ${r}_srcHw = max((${t.hw}) * (1.0 - ${r}_cropL - ${r}_cropR), ${o(1e-6)});`,`let ${r}_srcHh = max((${t.hh}) * (1.0 - ${r}_cropT - ${r}_cropB), ${o(1e-6)});`,`let ${r}_srcHwSq = ${r}_srcHw * ${r}_aspect;`,`let ${r}_srcHhSq = ${r}_srcHh;`]}function Vz(e,t){let{p:s,L:r}=e;return[`let ${s}_fieldCenterSq = vec2f((${t.cx}) * ${s}_aspect, ${t.cy});`,`let ${s}_fieldHwSq = max((${t.hw}) * ${s}_aspect, ${r(1e-6)});`,`let ${s}_fieldHh = max(${t.hh}, ${r(1e-6)});`]}function Nz(e,t){return{requested:()=>`(${e.columns} * ${e.rows})`,body:s=>{let{p:r,L:o}=s,n=[`let ${r}_cols = ${e.columns};`,`let ${r}_rows = ${e.rows};`,`let ${r}_col = ${r}_j - ${r}_cols * floor(${r}_j / ${r}_cols);`,`let ${r}_row = floor(${r}_j / ${r}_cols);`,`let ${r}_gapXSq = ${e.gapX} * ${r}_aspect;`,`let ${r}_gapY = ${e.gapY};`,`let ${r}_fieldW = ${r}_fieldHwSq * 2.0;`,`let ${r}_fieldH = ${r}_fieldHh * 2.0;`,`let ${r}_pitchX = (${r}_fieldW - ${r}_gapXSq * (${r}_cols - 1.0)) / ${r}_cols;`,`let ${r}_pitchY = (${r}_fieldH - ${r}_gapY * (${r}_rows - 1.0)) / ${r}_rows;`,`let ${r}_periodX = ${r}_pitchX + ${r}_gapXSq;`,`let ${r}_periodY = ${r}_pitchY + ${r}_gapY;`,`${r}_cellFitInv = max(${r}_srcHwSq * 2.0 / max(${r}_pitchX, ${o(1e-5)}), ${r}_srcHhSq * 2.0 / max(${r}_pitchY, ${o(1e-5)}));`,`let ${r}_rowMod2 = ${r}_row - 2.0 * floor(${r}_row / 2.0);`,`let ${r}_staggerOff = ${r}_rowMod2 * ${e.stagger} * ${r}_periodX;`,`let ${r}_cxArg = ${r}_col * ${r}_periodX + ${r}_staggerOff + ${r}_phase * ${r}_periodX;`,`let ${r}_cxMod = ${r}_periodX * ${r}_cols;`,`let ${r}_cellX = ${r}_cxArg - ${r}_cxMod * floor(${r}_cxArg / ${r}_cxMod);`,`let ${r}_cyArg = ${r}_row * ${r}_periodY + ${r}_phase * ${r}_periodY;`,`let ${r}_cyMod = ${r}_periodY * ${r}_rows;`,`let ${r}_cellY = ${r}_cyArg - ${r}_cyMod * floor(${r}_cyArg / ${r}_cyMod);`,`${r}_pos = vec2f(${r}_fieldCenterSq.x - ${r}_fieldW * 0.5 + ${r}_pitchX * 0.5 + ${r}_cellX, ${r}_fieldCenterSq.y - ${r}_fieldH * 0.5 + ${r}_pitchY * 0.5 + ${r}_cellY);`];return(t===1||t===3)&&n.push(`${r}_flipX = 1.0 - (${r}_col - 2.0 * floor(${r}_col / 2.0)) * 2.0;`),(t===2||t===3)&&n.push(`${r}_flipY = 1.0 - (${r}_row - 2.0 * floor(${r}_row / 2.0)) * 2.0;`),n}}}function qz(e,t){return{requested:()=>t.count,body:s=>{let{p:r,L:o}=s;return[`let ${r}_cSq = ${e};`,`let ${r}_sweep = ${t.sweep} * ${o(pc/180)};`,`let ${r}_start = ${t.startAngle} * ${o(pc/180)};`,`let ${r}_ang = ${r}_start + ${r}_sweep * (${r}_j / ${r}_totalN) + ${r}_phase * ${r}_sweep;`,`${r}_pos = ${r}_cSq + vec2f(cos(${r}_ang), sin(${r}_ang)) * ${t.radius};`,`${r}_layoutRot = select(0.0, ${r}_ang + ${o(pc/2)}, ${t.faceCenter} > 0.0);`]}}}function Xz(e,t){return{requested:()=>t.count,body:s=>{let{p:r,L:o}=s;return[`let ${r}_cSq = ${e};`,`let ${r}_dirRad = ${t.direction} * ${o(pc/180)};`,`let ${r}_dir = vec2f(cos(${r}_dirRad), sin(${r}_dirRad));`,`let ${r}_tArg = ${r}_j + ${r}_phase;`,`let ${r}_t = ${r}_tArg - ${r}_totalN * floor(${r}_tArg / ${r}_totalN);`,`${r}_pos = ${r}_cSq + ${r}_dir * ${t.spacing} * ${r}_t;`]}}}function Hz(e,t){let{p:s,L:r}=e,o=n=>`fract(sin((${s}_hashBase + ${r(n)}) * 78.233) * 43758.5453)`;return[`let ${s}_hashBase = ${s}_j + ${s}_seed * 7.0;`,`let ${s}_h1 = ${o(.123)};`,`let ${s}_h2 = ${o(5.456)};`,`let ${s}_h3 = ${o(9.789)};`,`let ${s}_h4 = ${o(13.21)};`,`let ${s}_h5 = ${o(17.65)};`,`let ${s}_scale = max(pow(${t.scale}, ${s}_j) * (1.0 + ${t.jitterScale} * (${s}_h3 - 0.5)), ${r(1e-4)});`,`let ${s}_rot = ${s}_layoutRot + ${t.rotation} * ${s}_j + ${t.jitterRotation} * (${s}_h4 - 0.5) * ${r(pc*2)};`,`let ${s}_instOpacity = pow(${t.opacity}, ${s}_j) * (1.0 - ${t.jitterOpacity} * ${s}_h5);`,`${s}_pos = ${s}_pos + vec2f((${s}_h1 - 0.5) * ${s}_fieldHwSq, (${s}_h2 - 0.5) * ${s}_fieldHh) * ${t.jitterPosition};`]}function jz(e,t){let{p:s,L:r}=e;return[`let ${s}_hueAngle = ${t} * ${s}_j;`,`let ${s}_cosH = cos(${s}_hueAngle);`,`let ${s}_sinH = sin(${s}_hueAngle);`,`let ${s}_kOMC = (1.0 - ${s}_cosH) * ${r(1/3)};`,`let ${s}_sOS3 = ${s}_sinH / 1.7320508075688772;`,`let ${s}_mA = ${s}_cosH + ${s}_kOMC;`,`let ${s}_mB = ${s}_kOMC - ${s}_sOS3;`,`let ${s}_mC = ${s}_kOMC + ${s}_sOS3;`,`${s}_rgb = vec3f(${s}_src.r * ${s}_mA + ${s}_src.g * ${s}_mB + ${s}_src.b * ${s}_mC, ${s}_src.r * ${s}_mC + ${s}_src.g * ${s}_mA + ${s}_src.b * ${s}_mB, ${s}_src.r * ${s}_mB + ${s}_src.g * ${s}_mC + ${s}_src.b * ${s}_mA);`]}function Kz(e,t){let{p:s}=e,r=[];r.push(`let ${s}_totalN = min(max(${t.placement.requested()}, 1.0), 64.0);`),r.push(`var ${s}_accum = vec4f(0.0, 0.0, 0.0, 0.0);`),r.push(`var ${s}_cellFitInv = 1.0;`);let o=[];o.push(`let ${s}_fi = f32(${s}_i);`),o.push(t.zBack?`let ${s}_j = ${s}_totalN - 1.0 - ${s}_fi;`:`let ${s}_j = ${s}_fi;`),o.push(`var ${s}_pos = vec2f(0.0, 0.0);`),o.push(`var ${s}_layoutRot = 0.0;`),o.push(`var ${s}_flipX = 1.0;`),o.push(`var ${s}_flipY = 1.0;`),o.push(...t.placement.body(e)),o.push(...t.variation),o.push(`let ${s}_negRot = -${s}_rot;`),o.push(`let ${s}_cosA = cos(${s}_negRot);`),o.push(`let ${s}_sinA = sin(${s}_negRot);`),o.push(`let ${s}_d0 = ${s}_pix - ${s}_pos;`),o.push(`let ${s}_dr = vec2f(${s}_d0.x * ${s}_cosA - ${s}_d0.y * ${s}_sinA, ${s}_d0.x * ${s}_sinA + ${s}_d0.y * ${s}_cosA);`),o.push(`let ${s}_dl = ${s}_dr / ${s}_scale;`),o.push(`let ${s}_localU = ${s}_dl.x * ${s}_flipX * ${s}_cellFitInv / (${s}_srcHwSq * 2.0) + 0.5;`),o.push(`let ${s}_localV = ${s}_dl.y * ${s}_flipY * ${s}_cellFitInv / (${s}_srcHhSq * 2.0) + 0.5;`);let n=[];n.push(`let ${s}_sampleUV = vec2f(${s}_srcCx - ${s}_srcHw + ${s}_localU * ${s}_srcHw * 2.0, ${s}_srcCy - ${s}_srcHh + ${s}_localV * ${s}_srcHh * 2.0);`),n.push(`let ${s}_src = textureSampleLevel(tex.$.${t.texKey}, samp.$.linearClamp, ${s}_sampleUV, 0.0);`),n.push(`var ${s}_rgb = ${s}_src.rgb;`),n.push(...t.hue),n.push(`let ${s}_a = ${s}_src.a * ${s}_instOpacity;`),n.push(`let ${s}_premul = ${s}_rgb * ${s}_a;`),n.push(`${s}_accum = vec4f(${s}_premul + ${s}_accum.rgb * (1.0 - ${s}_a), ${s}_a + ${s}_accum.a * (1.0 - ${s}_a));`),o.push(`if (${s}_localU >= 0.0 && ${s}_localU <= 1.0 && ${s}_localV >= 0.0 && ${s}_localV <= 1.0) {`);for(let i of n)o.push(` ${i}`);o.push("}"),r.push(`for (var ${s}_i = 0u; ${s}_i < u32(${s}_totalN); ${s}_i++) {`);for(let i of o)r.push(` ${i}`);return r.push("}"),r}function _o(){if(typeof window>"u")return!1;let e=!!(window.matchMedia&&window.matchMedia("(pointer: coarse)").matches),t=Math.max(window.innerWidth||0,window.innerHeight||0);return e&&t>0&&t<=1366}function h7(){return _o()?1.5:2}var xW=_o()?24:50;var Zz=14,gW=Zz+1,Hp="rgba32float";var x7=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({dt:a,trackersF:a,agility:a,threshold:a,variance:a,lifespan:a}),"TrackParams"),bW=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({src:{texture:ps(a)},grid:{storageTexture:Mo(Hp,"write-only")},params:{uniform:x7}}),"featureLayout"),wW=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({src:{texture:ps(a)},featGrid:{texture:ps(a),sampleType:"unfilterable-float"},prev:{texture:ps(a),sampleType:"unfilterable-float"},next:{storageTexture:Mo(Hp,"write-only")},present:{storageTexture:Mo(Hp,"write-only")},params:{uniform:x7}}),"trackLayout"),TW=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(__tsover_mul(Y(t),43758.5453123))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"}],body:[0,[[10,[6,"std.fract",[[1,[6,"std.sin",["x"]],"*",[5,"43758.5453123"]]]]]]]},externals:{"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),"trackHash");function Qz(e={}){let t=e.smoothing??.2,s=e.teleportGuard??.25,r=e.minDrag??6e-4,o=e.initialX??.5,n=e.initialY??.5,i=0,d=0,c=!1,_=!1;return{update(u,m){let p=u?.seen===!1;p?c=!0:u?.x!==void 0&&c&&!_&&(_=!0,o=u.x,n=u.y??n);let y=o,h=n,g=p?o:u?.x??o,w=p?n:u?.y??n,S=g-y,T=w-h,A=Math.sqrt(S*S+T*T),P=A>=s;o=g,n=w;let U=P?0:S,D=P?0:T,O=1/Math.max(m,.001),L=U*O,G=D*O;return i=i*(1-t)+L*t,d=d*(1-t)+G*t,{x:g,y:w,prevX:y,prevY:h,dx:U,dy:D,dragDist:A,velX:L,velY:G,smoothVelX:i,smoothVelY:d,smoothSpeed:Math.sqrt(i*i+d*d),teleport:P,moving:!P&&A>r}}}}var yb=3,jp=Math.exp(-(yb*yb)),hb=1/(1-jp),Kp=.004,g7="rgba16float";function Jz(e){return v.bindGroupLayout({readBuf:{storage:pt(a,e),access:"readonly"},writeBuf:{storage:pt(a,e),access:"mutable"},params:{uniform:(globalThis.__TYPEGPU_AUTONAME__??(t=>t))(ut({cursorX:a,cursorY:a,cursorSpeed:a,dt:a,damping:a,radius:a,aspect:a}),"uniform")}})}function eG(e){return v.bindGroupLayout({srcBuf:{storage:pt(a,e),access:"readonly"},dispTex:{storageTexture:Mo(g7,"write-only")}})}var xb=new Map;function tG(e){let t=xb.get(e);if(t)return t;let s=e*e,r=e-1,o=Jz(s),n=eG(s),i={resolution:e,propagateLayout:o,gradientLayout:n,propagateKernel:v.fn([R,R])((d=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(d.f=((c,_)=>{"use gpu";if(c>R(0)&&cR(0)&&_=1),L=C(__tsover_div(__tsover_sub(D,u.cursorY),u.aspect),__tsover_sub(D,u.cursorY),u.aspect>=1),G=__tsover_add(__tsover_mul(O,O),__tsover_mul(L,L)),W=__tsover_mul(u.radius,3);if(G<__tsover_mul(W,W)&&u.cursorSpeed>.01){let K=__tsover_mul(__tsover_sub(ct(__tsover_mul(__tsover_div(G,__tsover_mul(u.radius,u.radius)),-1)),jp),hb);P=__tsover_sub(P,__tsover_mul(__tsover_mul(__tsover_mul(K,u.cursorSpeed),u.dt),3))}o.$.writeBuf[p]=P}}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[11,[3,[3,[3,[1,"cx",">",[6,"d.u32",[[5,"0"]]]],"&&",[1,"cx","<",[6,"d.u32",["gridMax"]]]],"&&",[1,"cy",">",[6,"d.u32",[[5,"0"]]]]],"&&",[1,"cy","<",[6,"d.u32",["gridMax"]]]],[0,[[13,"p",[7,[7,"propagateLayout","$"],"params"]],[13,"gs",[6,"d.u32",["resolution"]]],[13,"idx",[1,[1,"cy","*","gs"],"+","cx"]],[13,"left",[8,[7,[7,"propagateLayout","$"],"readBuf"],[1,"idx","-",[6,"d.u32",[[5,"1"]]]]]],[13,"right",[8,[7,[7,"propagateLayout","$"],"readBuf"],[1,"idx","+",[6,"d.u32",[[5,"1"]]]]]],[13,"up",[8,[7,[7,"propagateLayout","$"],"readBuf"],[1,"idx","-","gs"]]],[13,"down",[8,[7,[7,"propagateLayout","$"],"readBuf"],[1,"idx","+","gs"]]],[13,"avg",[1,[1,[1,[1,"left","+","right"],"+","up"],"+","down"],"*",[5,"0.5"]]],[13,"prev",[8,[7,[7,"propagateLayout","$"],"writeBuf"],"idx"]],[13,"dampFactor",[1,[5,"1"],"-",[1,[7,"p","damping"],"*","DAMPING_SCALE"]]],[12,"next",[1,[1,"avg","-","prev"],"*","dampFactor"]],[13,"cellX",[1,[1,[6,"d.f32",["cx"]],"+",[5,"0.5"]],"/",[6,"d.f32",["resolution"]]]],[13,"cellY",[1,[1,[6,"d.f32",["cy"]],"+",[5,"0.5"]],"/",[6,"d.f32",["resolution"]]]],[13,"ddx",[6,"std.select",[[1,"cellX","-",[7,"p","cursorX"]],[1,[1,"cellX","-",[7,"p","cursorX"]],"*",[7,"p","aspect"]],[1,[7,"p","aspect"],">=",[5,"1"]]]]],[13,"ddy",[6,"std.select",[[1,[1,"cellY","-",[7,"p","cursorY"]],"/",[7,"p","aspect"]],[1,"cellY","-",[7,"p","cursorY"]],[1,[7,"p","aspect"],">=",[5,"1"]]]]],[13,"distSq",[1,[1,"ddx","*","ddx"],"+",[1,"ddy","*","ddy"]]],[13,"influenceRadius",[1,[7,"p","radius"],"*",[5,"3"]]],[11,[3,[1,"distSq","<",[1,"influenceRadius","*","influenceRadius"]],"&&",[1,[7,"p","cursorSpeed"],">",[5,"0.01"]]],[0,[[13,"influence",[1,[1,[6,"std.exp",[[1,[1,"distSq","/",[1,[7,"p","radius"],"*",[7,"p","radius"]]],"*",[4,"-",[5,"1"]]]]],"-","BRUSH_EDGE"],"*","BRUSH_EDGE_GAIN"]],[2,"next","=",[1,"next","-",[1,[1,[1,"influence","*",[7,"p","cursorSpeed"]],"*",[7,"p","dt"]],"*",[5,"3"]]]]]]],[2,[8,[7,[7,"propagateLayout","$"],"writeBuf"],"idx"],"=","next"]]]]]]},externals:{"d.u32":()=>R,gridMax:()=>r,propagateLayout:()=>o,resolution:()=>e,DAMPING_SCALE:()=>Kp,"d.f32":()=>a,"std.select":()=>C,"std.exp":()=>ct,BRUSH_EDGE:()=>jp,BRUSH_EDGE_GAIN:()=>hb}})&&d.f)({})).$name(`waveFieldPropagate_${e}`),gradientKernel:v.fn([R,R])((d=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(d.f=((c,_)=>{"use gpu";if(c>R(0)&&cR(0)&&_",[6,"d.u32",[[5,"0"]]]],"&&",[1,"cx","<",[6,"d.u32",["gridMax"]]]],"&&",[1,"cy",">",[6,"d.u32",[[5,"0"]]]]],"&&",[1,"cy","<",[6,"d.u32",["gridMax"]]]],[0,[[13,"gs",[6,"d.u32",["resolution"]]],[13,"idx",[1,[1,"cy","*","gs"],"+","cx"]],[13,"right",[8,[7,[7,"gradientLayout","$"],"srcBuf"],[1,"idx","+",[6,"d.u32",[[5,"1"]]]]]],[13,"left",[8,[7,[7,"gradientLayout","$"],"srcBuf"],[1,"idx","-",[6,"d.u32",[[5,"1"]]]]]],[13,"down",[8,[7,[7,"gradientLayout","$"],"srcBuf"],[1,"idx","+","gs"]]],[13,"up",[8,[7,[7,"gradientLayout","$"],"srcBuf"],[1,"idx","-","gs"]]],[13,"dx",[1,[1,"right","-","left"],"*",[5,"0.5"]]],[13,"dy",[1,[1,"down","-","up"],"*",[5,"0.5"]]],[6,"std.textureStore",[[7,[7,"gradientLayout","$"],"dispTex"],[6,"d.vec2u",["cx","cy"]],[6,"d.vec4f",["dx","dy",[5,"0"],[5,"1"]]]]]]]]]]},externals:{"d.u32":()=>R,gridMax:()=>r,resolution:()=>e,gradientLayout:()=>n,"std.textureStore":()=>jr,"d.vec2u":()=>Ge,"d.vec4f":()=>x}})&&d.f)({})).$name(`waveFieldGradient_${e}`)};return xb.set(e,i),i}function sG(e,t){let{gpu:s,registerComputeTexture:r,getCpuValue:o,onCleanup:n,onResize:i,dimensions:d}=e,c=s?.root;if(!c)return null;let{resolution:_,dampingProp:u,radiusProp:m,radiusScale:p,speedMax:y,teleportGuard:h="on"}=t,{propagateLayout:g,gradientLayout:w,propagateKernel:S,gradientKernel:T}=tG(_),A=_*_,P=Y3(c,a,A),U=Y3(c,a,A),D=(globalThis.__TYPEGPU_AUTONAME__??(Me=>Me))(c.createTexture({size:[_,_],format:g7}).$usage("storage","sampled"),"dispTex");n(()=>D.destroy());let O=r(D),L=(globalThis.__TYPEGPU_AUTONAME__??(Me=>Me))(c.createUniform(ut({cursorX:a,cursorY:a,cursorSpeed:a,dt:a,damping:a,radius:a,aspect:a})),"propParams"),G=Math.max(1,Math.round(d.width)),W=Math.max(1,Math.round(d.height));i(({width:Me,height:Pe})=>{G=Math.max(1,Math.round(Me)),W=Math.max(1,Math.round(Pe))});let K=[_,_],Q=yz(P,U),te=Q.groups((Me,Pe)=>c.createBindGroup(g,{readBuf:Me,writeBuf:Pe,params:L.buffer})),ee=Q.perSide(Me=>c.createBindGroup(w,{srcBuf:Me,dispTex:D})),he=qp(c,(Me=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(Me.f=((Pe,Re)=>{"use gpu";S(Pe,Re)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[6,"propagateKernel",["cx","cy"]]]]},externals:{propagateKernel:()=>S}})&&Me.f)({}),{size:K}),Ee=qp(c,(Me=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(Me.f=((Pe,Re)=>{"use gpu";T(Pe,Re)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[6,"gradientKernel",["cx","cy"]]]]},externals:{gradientKernel:()=>T}})&&Me.f)({}),{size:K}),Te=Qz(h==="off"?{teleportGuard:Number.POSITIVE_INFINITY}:{}),Ue=Date.now();return{displacement:O,getComputeNodes:Me=>{let Pe=Me,Re=Date.now(),de=Math.min(Pe.deltaTime??0,.016),je=Math.max(1,Pe.dimensions?.width??G)/Math.max(1,Pe.dimensions?.height??W),fe=o(u)??10,Ke=(o(m)??.5)*p,Ze=Te.update(Pe.pointer,de),at=Math.min(Math.sqrt(Ze.velX*Ze.velX+Ze.velY*Ze.velY),y);at>.01&&(Ue=Re);let Fe=1-fe*Kp,Ie=Fe>=1?1/0:Math.min(3e4,Math.log(1e-6)/Math.log(Math.max(Fe,.001))*16.67);if(Re-Ue>Ie)return null;L.write({cursorX:Ze.x,cursorY:Ze.y,cursorSpeed:at,dt:de,damping:fe,radius:Ke,aspect:je});let st=[he.with(te()),Ee.with(ee.written())];return Q.swap(),st}}}function rG(e,t,s={}){let{uniforms:r,propValues:o}=e,n=o.colorSpace??0;return(o.stopCount??0)>1?Tz(t,{colorsArray:r.colorsArray,positionsArray:r.positionsArray,convertedColorsArray:r.convertedColorsArray,stopCount:r.stopCount},n):we(Fv[n]??Bo,"mixColors",[r[s.colorA??"colorA"],r[s.colorB??"colorB"],t])}var SW=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(__tsover_mul(t.x,s),t.y),i=__tsover_mul(r,4);return n.mul(i).add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"scale"},{type:"i",name:"seed"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"freq",[1,"scale","*",[5,"4"]]],[10,[6,[7,[6,[7,"aspectUV","mul"],["freq"]],"add"],["seed"]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),AW=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=la(s),n=l(o.y,o.z).mul(r).mul(.012);return t.add(n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"pos"},{type:"i",name:"distortion"}],body:[0,[[13,"grad",[6,"perlin12d",["pos"]]],[13,"disp",[6,[7,[6,[7,[6,"d.vec2f",[[7,"grad","y"],[7,"grad","z"]]],"mul"],["distortion"]],"mul"],[[5,"0.012"]]]],[10,[6,[7,"uv","add"],["disp"]]]]]},externals:{perlin12d:()=>la,"d.vec2f":()=>l}})&&e.f)({})),MW=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(__tsover_mul(__tsover_sub(t,.5),__tsover_add(s,1)),.5);return $(__tsover_add(1,__tsover_mul(__tsover_sub(o,.5),__tsover_mul(r,1.1))),0,1.6)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"contrast"},{type:"i",name:"intensity"}],body:[0,[[13,"hAdj",[1,[1,[1,"h","-",[5,"0.5"]],"*",[1,"contrast","+",[5,"1"]]],"+",[5,"0.5"]]],[10,[6,"std.clamp",[[1,[5,"1"],"+",[1,[1,"hAdj","-",[5,"0.5"]],"*",[1,"intensity","*",[5,"1.1"]]]],[5,"0"],[5,"1.6"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({}));var PW=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=C(t,__tsover_sub(1,t),o>0),i=b(r,1e-4),d=__tsover_sub(__tsover_mul(s,__tsover_add(1,__tsover_mul(2,i))),i);return re(__tsover_sub(d,i),__tsover_add(d,i),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"},{type:"i",name:"progress"},{type:"i",name:"feather"},{type:"i",name:"invert"}],body:[0,[[13,"c",[6,"std.select",["coord",[1,[5,"1"],"-","coord"],[1,"invert",">",[5,"0"]]]]],[13,"f",[6,"std.max",["feather",[5,"0.0001"]]]],[13,"front",[1,[1,"progress","*",[1,[5,"1"],"+",[1,[5,"2"],"*","f"]]],"-","f"]],[10,[6,"std.smoothstep",[[1,"front","-","f"],[1,"front","+","f"],"c"]]]]]},externals:{"std.select":()=>C,"std.max":()=>b,"std.smoothstep":()=>re}})&&e.f)({})),EW=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.x,t.y,t.z,__tsover_mul(t.w,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"reveal"}],body:[0,[[10,[6,"d.vec4f",[[7,"color","x"],[7,"color","y"],[7,"color","z"],[1,[7,"color","w"],"*","reveal"]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),kW=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r,Le),n=l(H(o),Y(o)),i=se(l(__tsover_mul(__tsover_sub(t.x,.5),s),__tsover_sub(t.y,.5)),n),d=__tsover_mul(.5,__tsover_add(__tsover_mul(s,z(n.x)),z(n.y)));return __tsover_add(__tsover_div(i,__tsover_mul(2,d)),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angleDeg"}],body:[0,[[13,"a",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"dir",[6,"d.vec2f",[[6,"std.cos",["a"]],[6,"std.sin",["a"]]]]],[13,"p",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],[1,[7,"uv","y"],"-",[5,"0.5"]]]]],[13,"grad",[6,"std.dot",["p","dir"]]],[13,"ext",[1,[5,"0.5"],"*",[1,[1,"aspect","*",[6,"std.abs",[[7,"dir","x"]]]],"+",[6,"std.abs",[[7,"dir","y"]]]]]],[10,[1,[1,"grad","/",[1,[5,"2"],"*","ext"]],"+",[5,"0.5"]]]]]},externals:{DEG_TO_RAD:()=>Le,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.abs":()=>z}})&&e.f)({})),$W=v.fn([l,a,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r.x,s),n=__tsover_sub(1,r.y),i=j(l(__tsover_sub(__tsover_mul(t.x,s),o),__tsover_sub(t.y,n))),d=j(l(b(o,__tsover_sub(s,o)),b(n,__tsover_sub(1,n))));return __tsover_div(i,b(d,1e-4))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"}],body:[0,[[13,"cx",[1,[7,"center","x"],"*","aspect"]],[13,"cy",[1,[5,"1"],"-",[7,"center","y"]]],[13,"rel",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"*","aspect"],"-","cx"],[1,[7,"uv","y"],"-","cy"]]]],[13,"dist",[6,"std.length",["rel"]]],[13,"dx",[6,"std.max",["cx",[1,"aspect","-","cx"]]]],[13,"dy",[6,"std.max",["cy",[1,[5,"1"],"-","cy"]]]],[13,"maxDist",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[10,[1,"dist","/",[6,"std.max",["maxDist",[5,"0.0001"]]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.max":()=>b}})&&e.f)({})),UW=v.fn([l,a,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(__tsover_sub(t.x,r.x),s),__tsover_sub(t.y,__tsover_sub(1,r.y))),d=tt(i.y,i.x),c=__tsover_mul(o,Le),_=__tsover_div(__tsover_sub(d,c),ao);_=__tsover_sub(_,q(_));let u=__tsover_sub(1,_),m=__tsover_mul(oe(_,__tsover_sub(1,_)),2),p=C(_,u,n>.5);return p=C(p,m,n>1.5),p}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"},{type:"i",name:"startDeg"},{type:"i",name:"mode"}],body:[0,[[13,"rel",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[7,"center","x"]],"*","aspect"],[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]]]],[13,"ang",[6,"std.atan2",[[7,"rel","y"],[7,"rel","x"]]]],[13,"start",[1,"startDeg","*","DEG_TO_RAD"]],[12,"frac",[1,[1,"ang","-","start"],"/","TWO_PI"]],[2,"frac","=",[1,"frac","-",[6,"std.floor",["frac"]]]],[13,"ccwCoord",[1,[5,"1"],"-","frac"]],[13,"bothCoord",[1,[6,"std.min",["frac",[1,[5,"1"],"-","frac"]]],"*",[5,"2"]]],[12,"coord",[6,"std.select",["frac","ccwCoord",[1,"mode",">",[5,"0.5"]]]]],[2,"coord","=",[6,"std.select",["coord","bothCoord",[1,"mode",">",[5,"1.5"]]]]],[10,"coord"]]]},externals:{"d.vec2f":()=>l,"std.atan2":()=>tt,DEG_TO_RAD:()=>Le,TWO_PI:()=>ao,"std.floor":()=>q,"std.min":()=>oe,"std.select":()=>C}})&&e.f)({})),Nm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cell:l,local:l,grid:l}),"CellGrid"),sd=v.fn([l,a,a],Nm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(1,b(r,.001)),n=b(__tsover_div(o,s),1),i=__tsover_mul(t.x,o),d=__tsover_mul(t.y,n);return Nm({cell:l(q(i),q(d)),local:l(ue(i),ue(d)),grid:l(o,n)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"size"}],body:[0,[[13,"gridX",[1,[5,"1"],"/",[6,"std.max",["size",[5,"0.001"]]]]],[13,"gridY",[6,"std.max",[[1,"gridX","/","aspect"],[5,"1"]]]],[13,"sx",[1,[7,"uv","x"],"*","gridX"]],[13,"sy",[1,[7,"uv","y"],"*","gridY"]],[10,[6,"CellGrid",[[104,{cell:[6,"d.vec2f",[[6,"std.floor",["sx"]],[6,"std.floor",["sy"]]]],local:[6,"d.vec2f",[[6,"std.fract",["sx"]],[6,"std.fract",["sy"]]]],grid:[6,"d.vec2f",["gridX","gridY"]]}]]]]]]},externals:{"std.max":()=>b,CellGrid:()=>Nm,"d.vec2f":()=>l,"std.floor":()=>q,"std.fract":()=>ue}})&&e.f)({})),CW=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(z(__tsover_sub(t,.5)),2)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[1,[6,"std.abs",[[1,"t","-",[5,"0.5"]]]],"*",[5,"2"]]]]]},externals:{"std.abs":()=>z}})&&e.f)({})),RW=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return ue(__tsover_mul(t,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"count"}],body:[0,[[10,[6,"std.fract",[[1,"t","*","count"]]]]]]},externals:{"std.fract":()=>ue}})&&e.f)({})),zW=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(s,1);return $(__tsover_div(__tsover_add(q(__tsover_mul(t,r)),.5),r),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"count"}],body:[0,[[13,"n",[6,"std.max",["count",[5,"1"]]]],[10,[6,"std.clamp",[[1,[1,[6,"std.floor",[[1,"t","*","n"]]],"+",[5,"0.5"]],"/","n"],[5,"0"],[5,"1"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.floor":()=>q}})&&e.f)({})),GW=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=q(__tsover_mul(t,b(s,1)));return Gs(__tsover_add(r,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"count"}],body:[0,[[13,"idx",[6,"std.floor",[[1,"t","*",[6,"std.max",["count",[5,"1"]]]]]]],[10,[6,"hash11",[[1,"idx","+",[5,"0.5"]]]]]]]},externals:{"std.floor":()=>q,"std.max":()=>b,hash11:()=>Gs}})&&e.f)({})),YW=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=sd(t,s,r);return __tsover_add(z(__tsover_sub(o.local.x,.5)),z(__tsover_sub(o.local.y,.5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"size"}],body:[0,[[13,"g",[6,"cellGrid",["uv","aspect","size"]]],[10,[1,[6,"std.abs",[[1,[7,[7,"g","local"],"x"],"-",[5,"0.5"]]]],"+",[6,"std.abs",[[1,[7,[7,"g","local"],"y"],"-",[5,"0.5"]]]]]]]]},externals:{cellGrid:()=>sd,"std.abs":()=>z}})&&e.f)({})),LW=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=sd(t,s,r),n=__tsover_mul(ue(__tsover_mul(__tsover_add(o.cell.x,o.cell.y),.5)),2),i=__tsover_mul(__tsover_add(__tsover_div(o.cell.x,o.grid.x),__tsover_div(o.cell.y,o.grid.y)),.5);return $(__tsover_add(__tsover_mul(.5,n),__tsover_mul(.5,i)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"size"}],body:[0,[[13,"g",[6,"cellGrid",["uv","aspect","size"]]],[13,"parity",[1,[6,"std.fract",[[1,[1,[7,[7,"g","cell"],"x"],"+",[7,[7,"g","cell"],"y"]],"*",[5,"0.5"]]]],"*",[5,"2"]]],[13,"diag",[1,[1,[1,[7,[7,"g","cell"],"x"],"/",[7,[7,"g","grid"],"x"]],"+",[1,[7,[7,"g","cell"],"y"],"/",[7,[7,"g","grid"],"y"]]],"*",[5,"0.5"]]],[10,[6,"std.clamp",[[1,[1,[5,"0.5"],"*","parity"],"+",[1,[5,"0.5"],"*","diag"]],[5,"0"],[5,"1"]]]]]]},externals:{cellGrid:()=>sd,"std.fract":()=>ue,"std.clamp":()=>$}})&&e.f)({})),IW=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return Ot(sd(t,s,r).cell)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"size"}],body:[0,[[10,[6,"hash12",[[7,[6,"cellGrid",["uv","aspect","size"]],"cell"]]]]]]},externals:{hash12:()=>Ot,cellGrid:()=>sd}})&&e.f)({})),DW=v.fn([l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(__tsover_add(__tsover_mul(__tsover_mul(t.x,s),r),__tsover_mul(o,13.7)),__tsover_add(__tsover_mul(t.y,r),__tsover_mul(o,7.9))),i=Ei(n),d=__tsover_mul(Ei(l(__tsover_add(__tsover_add(__tsover_mul(n.x,2),17.3),__tsover_mul(o,3.1)),__tsover_add(__tsover_mul(n.y,2),9.1))),.5),c=__tsover_mul(Ei(l(__tsover_add(__tsover_mul(n.x,4),41.7),__tsover_add(__tsover_add(__tsover_mul(n.y,4),27.9),__tsover_mul(o,5.3)))),.25),_=__tsover_div(__tsover_add(__tsover_add(i,d),c),1.75);return $(__tsover_add(.5,__tsover_mul(_,.9)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"scale"},{type:"i",name:"seed"}],body:[0,[[13,"p",[6,"d.vec2f",[[1,[1,[1,[7,"uv","x"],"*","aspect"],"*","scale"],"+",[1,"seed","*",[5,"13.7"]]],[1,[1,[7,"uv","y"],"*","scale"],"+",[1,"seed","*",[5,"7.9"]]]]]],[13,"n1",[6,"mxNoiseFloat2",["p"]]],[13,"n2",[1,[6,"mxNoiseFloat2",[[6,"d.vec2f",[[1,[1,[1,[7,"p","x"],"*",[5,"2"]],"+",[5,"17.3"]],"+",[1,"seed","*",[5,"3.1"]]],[1,[1,[7,"p","y"],"*",[5,"2"]],"+",[5,"9.1"]]]]]],"*",[5,"0.5"]]],[13,"n3",[1,[6,"mxNoiseFloat2",[[6,"d.vec2f",[[1,[1,[7,"p","x"],"*",[5,"4"]],"+",[5,"41.7"]],[1,[1,[1,[7,"p","y"],"*",[5,"4"]],"+",[5,"27.9"]],"+",[1,"seed","*",[5,"5.3"]]]]]]],"*",[5,"0.25"]]],[13,"n",[1,[1,[1,"n1","+","n2"],"+","n3"],"/",[5,"1.75"]]],[10,[6,"std.clamp",[[1,[5,"0.5"],"+",[1,"n","*",[5,"0.9"]]],[5,"0"],[5,"1"]]]]]]},externals:{"d.vec2f":()=>l,mxNoiseFloat2:()=>Ei,"std.clamp":()=>$}})&&e.f)({})),b7=new Float32Array(1),oG=new Int32Array(b7.buffer);function Ga(e){b7[0]=Math.max(-65504,Math.min(65504,e));let t=oG[0],s=t>>16&32768,r=t>>12&2047,o=t>>23&255;return o<103?s:o>142?(s|=31744,s|=(o===255?0:1)&&t&8388607,s):o<113?(r|=2048,s|=(r>>114-o)+(r>>113-o&1),s):(s|=o-112<<10|r>>1,s+=r&1,s)}var n1=Za({ANALYTIC_SDF_EXTRA_FIELDS:()=>aG,APERTURE_TO_HALFANGLE:()=>nG,SVG_SDF_SIZE:()=>512,ShapeMask:()=>vl,analyticSubPropValues:()=>gu,arcSdf:()=>yu,buildAnalyticSdfFn:()=>Jv,circleSdf:()=>fc,createAnalyticSdfSampler:()=>P7,createSdfDataTexture:()=>Qv,createSvgSdfSampler:()=>A7,createSvgSdfSamplerWithGradients:()=>M7,crescentSdf:()=>pu,crossSdf:()=>_u,driveAnalyticSubProps:()=>k7,ellipseSdf:()=>uu,fillStrokeColor:()=>S7,flowerSdf:()=>iu,heartSdf:()=>vu,loadSdfFromUrl:()=>Zv,parallelogramSdf:()=>xu,parseShapeConfigValue:()=>E7,polygonSdf:()=>au,ringSdf:()=>cu,roundedRectSdf:()=>lu,shapeLocalCoords:()=>w7,starSdf:()=>du,strokeMaskFromSdf:()=>T7,teardropSdf:()=>hu,trapezoidSdf:()=>fu,vesicaSdf:()=>mu}),gb=3.141592653589793,rd=6.283185307179586,bb=.35355339059327373,nu=.017453292519943295,fc=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_sub(be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s))),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"}],body:[0,[[10,[1,[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]],"-","radius"]]]]},externals:{"std.sqrt":()=>be}})&&e.f)({})),au=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s))),i=tt(s,t),d=__tsover_div(rd,o),c=q(__tsover_add(__tsover_div(i,d),.5)),_=__tsover_sub(i,__tsover_mul(c,d));return __tsover_sub(__tsover_mul(n,H(_)),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"sides"}],body:[0,[[13,"len",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[13,"angle",[6,"std.atan2",["dy","dx"]]],[13,"sectorAngle",[1,"TWO_PI","/","sides"]],[13,"sectorIdx",[6,"std.floor",[[1,[1,"angle","/","sectorAngle"],"+",[5,"0.5"]]]]],[13,"canonicalAngle",[1,"angle","-",[1,"sectorIdx","*","sectorAngle"]]],[10,[1,[1,"len","*",[6,"std.cos",["canonicalAngle"]]],"-","radius"]]]]},externals:{"std.sqrt":()=>be,"std.atan2":()=>tt,TWO_PI:()=>rd,"std.floor":()=>q,"std.cos":()=>H}})&&e.f)({})),iu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=tt(s,t),d=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s))),c=__tsover_mul(r,n),_=__tsover_div(__tsover_mul(i,o),rd),u=__tsover_sub(_,q(_)),m=z(__tsover_sub(__tsover_mul(u,2),1)),p=__tsover_add(c,__tsover_mul(__tsover_sub(r,c),m));return __tsover_sub(d,p)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"outerRadius"},{type:"i",name:"sides"},{type:"i",name:"innerRatio"}],body:[0,[[13,"angle",[6,"std.atan2",["dy","dx"]]],[13,"len",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[13,"innerRadius",[1,"outerRadius","*","innerRatio"]],[13,"tAngle",[1,[1,"angle","*","sides"],"/","TWO_PI"]],[13,"tFrac",[1,"tAngle","-",[6,"std.floor",["tAngle"]]]],[13,"t",[6,"std.abs",[[1,[1,"tFrac","*",[5,"2"]],"-",[5,"1"]]]]],[13,"boundaryR",[1,"innerRadius","+",[1,[1,"outerRadius","-","innerRadius"],"*","t"]]],[10,[1,"len","-","boundaryR"]]]]},externals:{"std.atan2":()=>tt,"std.sqrt":()=>be,TWO_PI:()=>rd,"std.floor":()=>q,"std.abs":()=>z}})&&e.f)({})),du=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,n),d=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s))),c=tt(s,t),_=__tsover_div(rd,o),u=q(__tsover_add(__tsover_div(c,_),.5)),m=__tsover_sub(c,__tsover_mul(u,_)),p=z(__tsover_mul(d,Y(m))),y=__tsover_mul(d,H(m)),h=__tsover_div(gb,o),g=Y(h),w=H(h),S=__tsover_mul(i,g),T=__tsover_sub(__tsover_mul(i,w),r),A=p,P=__tsover_sub(y,r),U=__tsover_add(__tsover_mul(A,S),__tsover_mul(P,T)),D=__tsover_add(__tsover_mul(S,S),__tsover_mul(T,T)),O=$(__tsover_div(U,D),0,1),L=__tsover_sub(p,__tsover_mul(S,O)),G=__tsover_sub(y,__tsover_add(r,__tsover_mul(T,O))),W=be(__tsover_add(__tsover_mul(L,L),__tsover_mul(G,G))),K=__tsover_sub(__tsover_mul(S,P),__tsover_mul(T,A));return __tsover_mul(W,ks(K))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"outerRadius"},{type:"i",name:"sides"},{type:"i",name:"innerRatio"}],body:[0,[[13,"innerRadius",[1,"outerRadius","*","innerRatio"]],[13,"len",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[13,"angle",[6,"std.atan2",["dy","dx"]]],[13,"sectorAngle",[1,"TWO_PI","/","sides"]],[13,"sectorIdx",[6,"std.floor",[[1,[1,"angle","/","sectorAngle"],"+",[5,"0.5"]]]]],[13,"bn",[1,"angle","-",[1,"sectorIdx","*","sectorAngle"]]],[13,"fpx",[6,"std.abs",[[1,"len","*",[6,"std.sin",["bn"]]]]]],[13,"fpy",[1,"len","*",[6,"std.cos",["bn"]]]],[13,"an",[1,"PI","/","sides"]],[13,"sinAn",[6,"std.sin",["an"]]],[13,"cosAn",[6,"std.cos",["an"]]],[13,"ex",[1,"innerRadius","*","sinAn"]],[13,"ey",[1,[1,"innerRadius","*","cosAn"],"-","outerRadius"]],[13,"qx","fpx"],[13,"qy",[1,"fpy","-","outerRadius"]],[13,"dotQE",[1,[1,"qx","*","ex"],"+",[1,"qy","*","ey"]]],[13,"dotEE",[1,[1,"ex","*","ex"],"+",[1,"ey","*","ey"]]],[13,"t",[6,"std.clamp",[[1,"dotQE","/","dotEE"],[5,"0"],[5,"1"]]]],[13,"nx",[1,"fpx","-",[1,"ex","*","t"]]],[13,"ny",[1,"fpy","-",[1,"outerRadius","+",[1,"ey","*","t"]]]],[13,"dist",[6,"std.sqrt",[[1,[1,"nx","*","nx"],"+",[1,"ny","*","ny"]]]]],[13,"cross",[1,[1,"ex","*","qy"],"-",[1,"ey","*","qx"]]],[10,[1,"dist","*",[6,"std.sign",["cross"]]]]]]},externals:{"std.sqrt":()=>be,"std.atan2":()=>tt,TWO_PI:()=>rd,"std.floor":()=>q,"std.abs":()=>z,"std.sin":()=>Y,"std.cos":()=>H,PI:()=>gb,"std.clamp":()=>$,"std.sign":()=>ks}})&&e.f)({})),cu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s)));return __tsover_sub(z(__tsover_sub(n,r)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"thickness"}],body:[0,[[13,"len",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[10,[1,[6,"std.abs",[[1,"len","-","radius"]]],"-","thickness"]]]]},externals:{"std.sqrt":()=>be,"std.abs":()=>z}})&&e.f)({})),_u=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=z(t),d=z(s),c=b(__tsover_sub(i,r),__tsover_sub(d,o)),_=b(__tsover_sub(d,r),__tsover_sub(i,o));return __tsover_sub(oe(c,_),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"size"},{type:"i",name:"thickness"},{type:"i",name:"rounding"}],body:[0,[[13,"px",[6,"std.abs",["dx"]]],[13,"py",[6,"std.abs",["dy"]]],[13,"dHoriz",[6,"std.max",[[1,"px","-","size"],[1,"py","-","thickness"]]]],[13,"dVert",[6,"std.max",[[1,"py","-","size"],[1,"px","-","thickness"]]]],[10,[1,[6,"std.min",["dHoriz","dVert"]],"-","rounding"]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),lu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_add(__tsover_sub(z(t),r),n),d=__tsover_add(__tsover_sub(z(s),o),n),c=b(i,0),_=b(d,0),u=be(__tsover_add(__tsover_mul(c,c),__tsover_mul(_,_))),m=oe(b(i,d),0);return __tsover_sub(__tsover_add(u,m),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"width"},{type:"i",name:"height"},{type:"i",name:"rounding"}],body:[0,[[13,"qx",[1,[1,[6,"std.abs",["dx"]],"-","width"],"+","rounding"]],[13,"qy",[1,[1,[6,"std.abs",["dy"]],"-","height"],"+","rounding"]],[13,"mqx",[6,"std.max",["qx",[5,"0"]]]],[13,"mqy",[6,"std.max",["qy",[5,"0"]]]],[13,"outerDist",[6,"std.sqrt",[[1,[1,"mqx","*","mqx"],"+",[1,"mqy","*","mqy"]]]]],[13,"innerDist",[6,"std.min",[[6,"std.max",["qx","qy"]],[5,"0"]]]],[10,[1,[1,"outerDist","+","innerDist"],"-","rounding"]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.sqrt":()=>be,"std.min":()=>oe}})&&e.f)({})),uu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_div(t,r),i=__tsover_div(s,o),d=be(__tsover_add(__tsover_mul(n,n),__tsover_mul(i,i)));return __tsover_mul(__tsover_sub(d,1),oe(r,o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radiusX"},{type:"i",name:"radiusY"}],body:[0,[[13,"nx",[1,"dx","/","radiusX"]],[13,"ny",[1,"dy","/","radiusY"]],[13,"k",[6,"std.sqrt",[[1,[1,"nx","*","nx"],"+",[1,"ny","*","ny"]]]]],[10,[1,[1,"k","-",[5,"1"]],"*",[6,"std.min",["radiusX","radiusY"]]]]]]},externals:{"std.sqrt":()=>be,"std.min":()=>oe}})&&e.f)({})),mu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=z(t),i=z(s),d=__tsover_mul(r,o),c=be(b(__tsover_sub(__tsover_mul(r,r),__tsover_mul(d,d)),0)),_=__tsover_mul(__tsover_sub(i,c),d)>__tsover_mul(n,c),u=be(__tsover_add(__tsover_mul(n,n),__tsover_mul(__tsover_sub(i,c),__tsover_sub(i,c))));return C(__tsover_sub(be(__tsover_add(__tsover_mul(__tsover_add(n,d),__tsover_add(n,d)),__tsover_mul(i,i))),r),u,_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"spread"}],body:[0,[[13,"px",[6,"std.abs",["dx"]]],[13,"py",[6,"std.abs",["dy"]]],[13,"dd",[1,"radius","*","spread"]],[13,"b",[6,"std.sqrt",[[6,"std.max",[[1,[1,"radius","*","radius"],"-",[1,"dd","*","dd"]],[5,"0"]]]]]],[13,"cond",[1,[1,[1,"py","-","b"],"*","dd"],">",[1,"px","*","b"]]],[13,"dist1",[6,"std.sqrt",[[1,[1,"px","*","px"],"+",[1,[1,"py","-","b"],"*",[1,"py","-","b"]]]]]],[13,"dist2",[1,[6,"std.sqrt",[[1,[1,[1,"px","+","dd"],"*",[1,"px","+","dd"]],"+",[1,"py","*","py"]]]],"-","radius"]],[10,[6,"std.select",["dist2","dist1","cond"]]]]]},externals:{"std.abs":()=>z,"std.sqrt":()=>be,"std.max":()=>b,"std.select":()=>C}})&&e.f)({})),pu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=z(s),d=r,c=__tsover_mul(r,o),_=n,u=__tsover_div(__tsover_add(__tsover_sub(__tsover_mul(d,d),__tsover_mul(c,c)),__tsover_mul(_,_)),b(__tsover_mul(_,2),.001)),m=be(b(__tsover_sub(__tsover_mul(d,d),__tsover_mul(u,u)),0)),p=__tsover_mul(_,__tsover_sub(__tsover_mul(t,m),__tsover_mul(i,u))),y=__tsover_mul(__tsover_mul(_,_),b(__tsover_sub(m,i),0)),h=__tsover_sub(t,u),g=__tsover_sub(i,m),w=be(__tsover_add(__tsover_mul(h,h),__tsover_mul(g,g))),S=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(i,i))),T=__tsover_sub(t,_),A=be(__tsover_add(__tsover_mul(T,T),__tsover_mul(i,i)));return C(b(__tsover_sub(S,d),__tsover_mul(__tsover_sub(A,c),-1)),w,p>y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"outerRadius"},{type:"i",name:"innerRatio"},{type:"i",name:"offset"}],body:[0,[[13,"py",[6,"std.abs",["dy"]]],[13,"ra","outerRadius"],[13,"rb",[1,"outerRadius","*","innerRatio"]],[13,"off","offset"],[13,"a",[1,[1,[1,[1,"ra","*","ra"],"-",[1,"rb","*","rb"]],"+",[1,"off","*","off"]],"/",[6,"std.max",[[1,"off","*",[5,"2"]],[5,"0.001"]]]]],[13,"bSq",[6,"std.max",[[1,[1,"ra","*","ra"],"-",[1,"a","*","a"]],[5,"0"]]]],[13,"b",[6,"std.sqrt",["bSq"]]],[13,"lhs",[1,"off","*",[1,[1,"dx","*","b"],"-",[1,"py","*","a"]]]],[13,"rhs",[1,[1,"off","*","off"],"*",[6,"std.max",[[1,"b","-","py"],[5,"0"]]]]],[13,"d1x",[1,"dx","-","a"]],[13,"d1y",[1,"py","-","b"]],[13,"dist1",[6,"std.sqrt",[[1,[1,"d1x","*","d1x"],"+",[1,"d1y","*","d1y"]]]]],[13,"lenP",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"py","*","py"]]]]],[13,"innerX",[1,"dx","-","off"]],[13,"lenInner",[6,"std.sqrt",[[1,[1,"innerX","*","innerX"],"+",[1,"py","*","py"]]]]],[13,"dist2",[6,"std.max",[[1,"lenP","-","ra"],[1,[1,"lenInner","-","rb"],"*",[4,"-",[5,"1"]]]]]],[10,[6,"std.select",["dist2","dist1",[1,"lhs",">","rhs"]]]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.sqrt":()=>be,"std.select":()=>C}})&&e.f)({})),fu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=z(t),d=o,c=n,_=__tsover_sub(o,r),u=__tsover_mul(n,2),m=C(o,r,s<0),p=__tsover_sub(i,oe(i,m)),y=__tsover_sub(z(s),n),h=__tsover_sub(d,i),g=__tsover_sub(c,s),w=__tsover_add(__tsover_mul(h,_),__tsover_mul(g,u)),S=b(__tsover_add(__tsover_mul(_,_),__tsover_mul(u,u)),1e-4),T=$(__tsover_div(w,S),0,1),A=__tsover_add(__tsover_sub(i,d),__tsover_mul(_,T)),P=__tsover_add(__tsover_sub(s,c),__tsover_mul(u,T)),U=C(a(1),a(-1),y<0),D=C(a(1),U,A<0),O=__tsover_add(__tsover_mul(p,p),__tsover_mul(y,y)),L=__tsover_add(__tsover_mul(A,A),__tsover_mul(P,P));return __tsover_mul(D,be(oe(O,L)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"r1"},{type:"i",name:"r2"},{type:"i",name:"he"}],body:[0,[[13,"px",[6,"std.abs",["dx"]]],[13,"k1x","r2"],[13,"k1y","he"],[13,"k2x",[1,"r2","-","r1"]],[13,"k2y",[1,"he","*",[5,"2"]]],[13,"clampWidth",[6,"std.select",["r2","r1",[1,"dy","<",[5,"0"]]]]],[13,"cax",[1,"px","-",[6,"std.min",["px","clampWidth"]]]],[13,"cay",[1,[6,"std.abs",["dy"]],"-","he"]],[13,"diffX",[1,"k1x","-","px"]],[13,"diffY",[1,"k1y","-","dy"]],[13,"dotNum",[1,[1,"diffX","*","k2x"],"+",[1,"diffY","*","k2y"]]],[13,"dotDen",[6,"std.max",[[1,[1,"k2x","*","k2x"],"+",[1,"k2y","*","k2y"]],[5,"0.0001"]]]],[13,"t",[6,"std.clamp",[[1,"dotNum","/","dotDen"],[5,"0"],[5,"1"]]]],[13,"cbx",[1,[1,"px","-","k1x"],"+",[1,"k2x","*","t"]]],[13,"cby",[1,[1,"dy","-","k1y"],"+",[1,"k2y","*","t"]]],[13,"sInner",[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"d.f32",[[4,"-",[5,"1"]]]],[1,"cay","<",[5,"0"]]]]],[13,"s",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"sInner",[1,"cbx","<",[5,"0"]]]]],[13,"dca",[1,[1,"cax","*","cax"],"+",[1,"cay","*","cay"]]],[13,"dcb",[1,[1,"cbx","*","cbx"],"+",[1,"cby","*","cby"]]],[10,[1,"s","*",[6,"std.sqrt",[[6,"std.min",["dca","dcb"]]]]]]]]},externals:{"std.abs":()=>z,"std.select":()=>C,"std.min":()=>oe,"std.max":()=>b,"std.clamp":()=>$,"d.f32":()=>a,"std.sqrt":()=>be}})&&e.f)({})),vu=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(r,.75),n=__tsover_div(z(t),o),i=__tsover_add(__tsover_div(__tsover_mul(s,-1),o),.6),d=__tsover_sub(n,.25),c=__tsover_sub(i,.75),_=__tsover_sub(be(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c))),bb),u=__tsover_sub(i,1),m=__tsover_add(__tsover_mul(n,n),__tsover_mul(u,u)),p=__tsover_mul(b(__tsover_add(n,i),0),.5),y=__tsover_sub(n,p),h=__tsover_sub(i,p),g=__tsover_add(__tsover_mul(y,y),__tsover_mul(h,h)),w=__tsover_mul(be(oe(m,g)),ks(__tsover_sub(n,i)));return __tsover_mul(C(w,_,__tsover_add(n,i)>1),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"}],body:[0,[[13,"S",[1,"radius","/",[5,"0.75"]]],[13,"px",[1,[6,"std.abs",["dx"]],"/","S"]],[13,"py",[1,[1,[1,"dy","*",[4,"-",[5,"1"]]],"/","S"],"+",[5,"0.6"]]],[13,"ax",[1,"px","-",[5,"0.25"]]],[13,"ay",[1,"py","-",[5,"0.75"]]],[13,"distA",[1,[6,"std.sqrt",[[1,[1,"ax","*","ax"],"+",[1,"ay","*","ay"]]]],"-","SQRT2_OVER_4"]],[13,"b1y",[1,"py","-",[5,"1"]]],[13,"dot1",[1,[1,"px","*","px"],"+",[1,"b1y","*","b1y"]]],[13,"m",[1,[6,"std.max",[[1,"px","+","py"],[5,"0"]]],"*",[5,"0.5"]]],[13,"b2x",[1,"px","-","m"]],[13,"b2y",[1,"py","-","m"]],[13,"dot2v",[1,[1,"b2x","*","b2x"],"+",[1,"b2y","*","b2y"]]],[13,"distB",[1,[6,"std.sqrt",[[6,"std.min",["dot1","dot2v"]]]],"*",[6,"std.sign",[[1,"px","-","py"]]]]],[10,[1,[6,"std.select",["distB","distA",[1,[1,"px","+","py"],">",[5,"1"]]]],"*","S"]]]]},externals:{"std.abs":()=>z,"std.sqrt":()=>be,SQRT2_OVER_4:()=>bb,"std.max":()=>b,"std.min":()=>oe,"std.sign":()=>ks,"std.select":()=>C}})&&e.f)({})),yu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=z(t),i=Y(o),d=H(o),c=__tsover_sub(be(__tsover_add(__tsover_mul(n,n),__tsover_mul(s,s))),r),_=$(__tsover_add(__tsover_mul(n,i),__tsover_mul(s,d)),0,r),u=__tsover_sub(n,__tsover_mul(i,_)),m=__tsover_sub(s,__tsover_mul(d,_)),p=be(__tsover_add(__tsover_mul(u,u),__tsover_mul(m,m)));return b(c,__tsover_mul(p,ks(__tsover_sub(__tsover_mul(d,n),__tsover_mul(i,s)))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"halfAngle"}],body:[0,[[13,"px",[6,"std.abs",["dx"]]],[13,"cx",[6,"std.sin",["halfAngle"]]],[13,"cy",[6,"std.cos",["halfAngle"]]],[13,"l",[1,[6,"std.sqrt",[[1,[1,"px","*","px"],"+",[1,"dy","*","dy"]]]],"-","radius"]],[13,"clamped",[6,"std.clamp",[[1,[1,"px","*","cx"],"+",[1,"dy","*","cy"]],[5,"0"],"radius"]]],[13,"mx",[1,"px","-",[1,"cx","*","clamped"]]],[13,"my",[1,"dy","-",[1,"cy","*","clamped"]]],[13,"m",[6,"std.sqrt",[[1,[1,"mx","*","mx"],"+",[1,"my","*","my"]]]]],[10,[6,"std.max",["l",[1,"m","*",[6,"std.sign",[[1,[1,"cy","*","px"],"-",[1,"cx","*","dy"]]]]]]]]]]},externals:{"std.abs":()=>z,"std.sin":()=>Y,"std.cos":()=>H,"std.sqrt":()=>be,"std.clamp":()=>$,"std.max":()=>b,"std.sign":()=>ks}})&&e.f)({})),hu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(__tsover_sub(o,r),.5),i=z(t),d=__tsover_add(__tsover_mul(s,-1),n),c=b(o,1e-4),_=__tsover_div(r,c),u=be(b(__tsover_sub(1,__tsover_mul(_,_)),0)),m=__tsover_add(__tsover_mul(i,__tsover_mul(_,-1)),__tsover_mul(d,u)),p=__tsover_sub(be(__tsover_add(__tsover_mul(i,i),__tsover_mul(d,d))),r),y=__tsover_sub(d,o),h=be(__tsover_add(__tsover_mul(i,i),__tsover_mul(y,y)));return C(C(__tsover_sub(__tsover_add(__tsover_mul(i,u),__tsover_mul(d,_)),r),h,m>__tsover_mul(u,o)),p,m<0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"h"}],body:[0,[[13,"mid",[1,[1,"h","-","radius"],"*",[5,"0.5"]]],[13,"qx",[6,"std.abs",["dx"]]],[13,"qy",[1,[1,"dy","*",[4,"-",[5,"1"]]],"+","mid"]],[13,"hSafe",[6,"std.max",["h",[5,"0.0001"]]]],[13,"b",[1,"radius","/","hSafe"]],[13,"a",[6,"std.sqrt",[[6,"std.max",[[1,[5,"1"],"-",[1,"b","*","b"]],[5,"0"]]]]]],[13,"k",[1,[1,"qx","*",[1,"b","*",[4,"-",[5,"1"]]]],"+",[1,"qy","*","a"]]],[13,"cap0",[1,[6,"std.sqrt",[[1,[1,"qx","*","qx"],"+",[1,"qy","*","qy"]]]],"-","radius"]],[13,"qyTip",[1,"qy","-","h"]],[13,"cap1",[6,"std.sqrt",[[1,[1,"qx","*","qx"],"+",[1,"qyTip","*","qyTip"]]]]],[13,"body",[1,[1,[1,"qx","*","a"],"+",[1,"qy","*","b"]],"-","radius"]],[10,[6,"std.select",[[6,"std.select",["body","cap1",[1,"k",">",[1,"a","*","h"]]]],"cap0",[1,"k","<",[5,"0"]]]]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.sqrt":()=>be,"std.select":()=>C}})&&e.f)({})),xu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=n,d=o,c=s<0,_=C(t,__tsover_mul(t,-1),c),u=C(s,__tsover_mul(s,-1),c),m=__tsover_sub(_,i),p=__tsover_sub(u,d),y=__tsover_sub(m,$(m,__tsover_mul(r,-1),r)),h=__tsover_add(__tsover_mul(y,y),__tsover_mul(p,p)),g=__tsover_mul(p,-1),w=__tsover_sub(__tsover_mul(_,d),__tsover_mul(u,i)),S=w<0,T=C(_,__tsover_mul(_,-1),S),A=C(u,__tsover_mul(u,-1),S),P=__tsover_sub(T,r),U=__tsover_add(__tsover_mul(P,i),__tsover_mul(A,d)),D=b(__tsover_add(__tsover_mul(i,i),__tsover_mul(d,d)),1e-4),O=$(__tsover_div(U,D),-1,1),L=__tsover_sub(P,__tsover_mul(i,O)),G=__tsover_sub(A,__tsover_mul(d,O)),W=oe(h,__tsover_add(__tsover_mul(L,L),__tsover_mul(G,G))),K=oe(g,__tsover_sub(__tsover_mul(r,o),z(w)));return __tsover_mul(be(W),ks(__tsover_mul(K,-1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"wi"},{type:"i",name:"he"},{type:"i",name:"sk"}],body:[0,[[13,"ex","sk"],[13,"ey","he"],[13,"flip1",[1,"dy","<",[5,"0"]]],[13,"px0",[6,"std.select",["dx",[1,"dx","*",[4,"-",[5,"1"]]],"flip1"]]],[13,"py0",[6,"std.select",["dy",[1,"dy","*",[4,"-",[5,"1"]]],"flip1"]]],[13,"wx0",[1,"px0","-","ex"]],[13,"wy",[1,"py0","-","ey"]],[13,"wx",[1,"wx0","-",[6,"std.clamp",["wx0",[1,"wi","*",[4,"-",[5,"1"]]],"wi"]]]],[13,"dX",[1,[1,"wx","*","wx"],"+",[1,"wy","*","wy"]]],[13,"dY",[1,"wy","*",[4,"-",[5,"1"]]]],[13,"s",[1,[1,"px0","*","ey"],"-",[1,"py0","*","ex"]]],[13,"flip2",[1,"s","<",[5,"0"]]],[13,"px",[6,"std.select",["px0",[1,"px0","*",[4,"-",[5,"1"]]],"flip2"]]],[13,"py",[6,"std.select",["py0",[1,"py0","*",[4,"-",[5,"1"]]],"flip2"]]],[13,"vx0",[1,"px","-","wi"]],[13,"dotve",[1,[1,"vx0","*","ex"],"+",[1,"py","*","ey"]]],[13,"dotee",[6,"std.max",[[1,[1,"ex","*","ex"],"+",[1,"ey","*","ey"]],[5,"0.0001"]]]],[13,"tt",[6,"std.clamp",[[1,"dotve","/","dotee"],[4,"-",[5,"1"]],[5,"1"]]]],[13,"vx",[1,"vx0","-",[1,"ex","*","tt"]]],[13,"vy",[1,"py","-",[1,"ey","*","tt"]]],[13,"finalX",[6,"std.min",["dX",[1,[1,"vx","*","vx"],"+",[1,"vy","*","vy"]]]]],[13,"finalY",[6,"std.min",["dY",[1,[1,"wi","*","he"],"-",[6,"std.abs",["s"]]]]]],[10,[1,[6,"std.sqrt",["finalX"]],"*",[6,"std.sign",[[1,"finalY","*",[4,"-",[5,"1"]]]]]]]]]},externals:{"std.select":()=>C,"std.clamp":()=>$,"std.max":()=>b,"std.min":()=>oe,"std.abs":()=>z,"std.sqrt":()=>be,"std.sign":()=>ks}})&&e.f)({})),w7=v.fn([l,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(__tsover_mul(r.x,o),r.y),i=l(__tsover_mul(t.x,o),__tsover_sub(1,t.y)),d=__tsover_sub(n.x,i.x),c=__tsover_sub(n.y,i.y),_=__tsover_mul(s,nu),u=H(_),m=Y(_);return l(__tsover_add(__tsover_mul(d,u),__tsover_mul(c,m)),__tsover_sub(__tsover_mul(c,u),__tsover_mul(d,m)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"rotation"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dx",[1,[7,"aspectUV","x"],"-",[7,"centerPos","x"]]],[13,"dy",[1,[7,"aspectUV","y"],"-",[7,"centerPos","y"]]],[13,"rotRad",[1,"rotation","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rdx",[1,[1,"dx","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dx","*","sinR"]]],[10,[6,"d.vec2f",["rdx","rdy"]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>nu,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),vl=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({overallMask:a,strokeBlend:a}),"ShapeMask"),T7=v.fn([a,a,a,a],vl)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=r>0,i=o>=1.5,d=o>=.5,c=__tsover_mul(r,.5),_=__tsover_mul(r,-1),u=__tsover_mul(c,-1),m=C(C(a(0),u,d),_,i),p=C(C(r,c,d),a(0),i),y=__tsover_sub(1,re(__tsover_sub(p,s),p,t)),h=re(__tsover_sub(m,s),m,t);return vl({overallMask:y,strokeBlend:C(a(0),h,n)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"softness"},{type:"i",name:"strokeThickness"},{type:"i",name:"strokePosition"}],body:[0,[[13,"hasStroke",[1,"strokeThickness",">",[5,"0"]]],[13,"isInside",[1,"strokePosition",">=",[5,"1.5"]]],[13,"isCenterOrAbove",[1,"strokePosition",">=",[5,"0.5"]]],[13,"halfThickness",[1,"strokeThickness","*",[5,"0.5"]]],[13,"negThickness",[1,"strokeThickness","*",[4,"-",[5,"1"]]]],[13,"negHalf",[1,"halfThickness","*",[4,"-",[5,"1"]]]],[13,"strokeInner",[6,"std.select",[[6,"std.select",[[6,"d.f32",[[5,"0"]]],"negHalf","isCenterOrAbove"]],"negThickness","isInside"]]],[13,"strokeOuter",[6,"std.select",[[6,"std.select",["strokeThickness","halfThickness","isCenterOrAbove"]],[6,"d.f32",[[5,"0"]]],"isInside"]]],[13,"overallMask",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"strokeOuter","-","softness"],"strokeOuter","dist"]]]],[13,"blend",[6,"std.smoothstep",[[1,"strokeInner","-","softness"],"strokeInner","dist"]]],[13,"strokeBlend",[6,"std.select",[[6,"d.f32",[[5,"0"]]],"blend","hasStroke"]]],[10,[6,"ShapeMask",[[104,{overallMask:"overallMask",strokeBlend:"strokeBlend"}]]]]]]},externals:{"std.select":()=>C,"d.f32":()=>a,"std.smoothstep":()=>re,ShapeMask:()=>vl}})&&e.f)({}));function S7(e,t,s,r){let o=we(Fv[r]??Bo,"mixColors",[t,s,e.member("strokeBlend")]);return Ws(o.member("rgb"),o.member("a").mul(e.member("overallMask")))}async function Zv(e,t){let s=await fetch(e,{mode:"cors"});if(!s.ok)throw new Error(`SDF fetch failed: HTTP ${s.status}`);let r=await s.arrayBuffer(),o=512*512;if(r.byteLength===o*2){let n=new Uint16Array(r),i=Math.min(n.length,t.length);for(let d=0;di.destroy());let d=!1,c=0;return t&&Zv(t,r).then(()=>{for(let _=0;_<262144;_++)o[_]=Ga(r[_]);d=!0}).catch(_=>Ma("[SDF] Failed to load SDF texture:",_)),e.onBeforeRender(()=>{d&&(d=!1,i.write(o),c++)}),{kitTexture:e.registerMediaTexture(()=>i.texture),texture:i,getVersion:()=>c}}function A7(e,t){let{kitTexture:s}=Qv(e,t);return r=>s.sampleLevel(r)}function M7(e,t){let o=new Float32Array(262144).fill(.5),n=new Uint16Array(262144*4),i=Ga(.5),d=Ga(1);for(let g=0;g<262144;g++)n[g*4]=i,n[g*4+3]=d;let c=e.createMediaTexture({width:512,height:512,format:"rgba16float",label:"svg-sdf-grad"});e.onCleanup(()=>c.destroy());let _=(g,w)=>{let S=Math.floor(g),T=Math.floor(w),A=g-S,P=w-T,U=W=>Math.min(Math.max(W,0),511),D=U(S),O=U(S+1),L=U(T),G=U(T+1);return o[L*512+D]*(1-A)*(1-P)+o[L*512+O]*A*(1-P)+o[G*512+D]*(1-A)*P+o[G*512+O]*A*P},u=.01,m=u*512,p=()=>{for(let g=0;g<512;g++)for(let w=0;w<512;w++){let S=g*512+w,T=o[S],A=(_(w+m,g)-T)/u,P=(_(w,g+m)-T)/u;n[S*4]=Ga(T),n[S*4+1]=Ga(A),n[S*4+2]=Ga(P)}},y=!1;t&&Zv(t,o).then(()=>{p(),y=!0}).catch(g=>Ma("[SDF] Failed to load SDF texture:",g)),e.onBeforeRender(()=>{y&&(y=!1,c.write(n))});let h=e.registerMediaTexture(()=>c.texture);return g=>h.sampleLevel(g)}var nG=.008726646259971648;function Jv(e){return v.fn([l,a,a,a,a,a,a,a,a],x)((t=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(t.f=((s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=__tsover_sub(s.x,.5),p=__tsover_sub(s.y,.5),y=__tsover_mul(d,nu),h=H(y),g=Y(y),w=__tsover_add(__tsover_mul(m,h),__tsover_mul(p,g)),S=__tsover_sub(__tsover_mul(p,h),__tsover_mul(m,g)),T=a(0);return e==="polygonSDF"?T=X(au(w,S,r,o),fc(w,S,r),n):e==="flowerSDF"?T=iu(w,S,r,o,i):e==="ringSDF"?T=cu(w,S,r,i):e==="crossSDF"?T=_u(w,S,r,i,n):e==="starSDF"?T=du(w,S,r,o,i):e==="roundedRectSDF"?T=lu(w,S,r,c,n):e==="ellipseSDF"?T=uu(w,S,r,c):e==="vesicaSDF"?T=mu(w,S,r,i):e==="crescentSDF"?T=pu(w,S,r,i,_):e==="trapezoidSDF"?T=fu(w,S,i,r,c):e==="heartSDF"?T=vu(w,S,r):e==="arcSDF"?T=yu(w,S,r,__tsover_mul(u,.008726646259971648)):e==="teardropSDF"?T=hu(w,S,r,c):e==="parallelogramSDF"?T=xu(w,S,r,c,_):T=fc(w,S,r),x(T,0,0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"r"},{type:"i",name:"n"},{type:"i",name:"round"},{type:"i",name:"inner"},{type:"i",name:"rot"},{type:"i",name:"h"},{type:"i",name:"off"},{type:"i",name:"ap"}],body:[0,[[13,"dx",[1,[7,"uv","x"],"-",[5,"0.5"]]],[13,"dy",[1,[7,"uv","y"],"-",[5,"0.5"]]],[13,"rotRad",[1,"rot","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rdx",[1,[1,"dx","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dx","*","sinR"]]],[12,"dist",[6,"d.f32",[[5,"0"]]]],[11,[1,"shapeType","===",[103,"polygonSDF"]],[2,"dist","=",[6,"std.mix",[[6,"polygonSdf",["rdx","rdy","r","n"]],[6,"circleSdf",["rdx","rdy","r"]],"round"]]],[11,[1,"shapeType","===",[103,"flowerSDF"]],[2,"dist","=",[6,"flowerSdf",["rdx","rdy","r","n","inner"]]],[11,[1,"shapeType","===",[103,"ringSDF"]],[2,"dist","=",[6,"ringSdf",["rdx","rdy","r","inner"]]],[11,[1,"shapeType","===",[103,"crossSDF"]],[2,"dist","=",[6,"crossSdf",["rdx","rdy","r","inner","round"]]],[11,[1,"shapeType","===",[103,"starSDF"]],[2,"dist","=",[6,"starSdf",["rdx","rdy","r","n","inner"]]],[11,[1,"shapeType","===",[103,"roundedRectSDF"]],[2,"dist","=",[6,"roundedRectSdf",["rdx","rdy","r","h","round"]]],[11,[1,"shapeType","===",[103,"ellipseSDF"]],[2,"dist","=",[6,"ellipseSdf",["rdx","rdy","r","h"]]],[11,[1,"shapeType","===",[103,"vesicaSDF"]],[2,"dist","=",[6,"vesicaSdf",["rdx","rdy","r","inner"]]],[11,[1,"shapeType","===",[103,"crescentSDF"]],[2,"dist","=",[6,"crescentSdf",["rdx","rdy","r","inner","off"]]],[11,[1,"shapeType","===",[103,"trapezoidSDF"]],[2,"dist","=",[6,"trapezoidSdf",["rdx","rdy","inner","r","h"]]],[11,[1,"shapeType","===",[103,"heartSDF"]],[2,"dist","=",[6,"heartSdf",["rdx","rdy","r"]]],[11,[1,"shapeType","===",[103,"arcSDF"]],[2,"dist","=",[6,"arcSdf",["rdx","rdy","r",[1,"ap","*","APERTURE_TO_HALFANGLE"]]]],[11,[1,"shapeType","===",[103,"teardropSDF"]],[2,"dist","=",[6,"teardropSdf",["rdx","rdy","r","h"]]],[11,[1,"shapeType","===",[103,"parallelogramSDF"]],[2,"dist","=",[6,"parallelogramSdf",["rdx","rdy","r","h","off"]]],[2,"dist","=",[6,"circleSdf",["rdx","rdy","r"]]]]]]]]]]]]]]]]],[10,[6,"d.vec4f",["dist",[5,"0"],[5,"0"],[5,"1"]]]]]]},externals:{DEG_TO_RAD:()=>nu,"std.cos":()=>H,"std.sin":()=>Y,"d.f32":()=>a,shapeType:()=>e,"std.mix":()=>X,polygonSdf:()=>au,circleSdf:()=>fc,flowerSdf:()=>iu,ringSdf:()=>cu,crossSdf:()=>_u,starSdf:()=>du,roundedRectSdf:()=>lu,ellipseSdf:()=>uu,vesicaSdf:()=>mu,crescentSdf:()=>pu,trapezoidSdf:()=>fu,heartSdf:()=>vu,arcSdf:()=>yu,APERTURE_TO_HALFANGLE:()=>.008726646259971648,teardropSdf:()=>hu,parallelogramSdf:()=>xu,"d.vec4f":()=>x}})&&t.f)({})).$name(`analyticSdf_${e}`)}function P7(e,t,s="none"){let r=t.radius??vt(0),o=t.sides??vt(0),n=t.rounding??vt(0),i=t.innerRatio??vt(0),d=t.rotation??vt(0),c=t.height??vt(0),_=t.offset??vt(0),u=t.aperture??vt(0),m=Jv(e);return p=>we(m,`analyticSdf_${e}`,[p,r,o,n,i,d,c,_,u])}var aG={_saRadius:{schema:a,initial:.35},_saSides:{schema:a,initial:6},_saRounding:{schema:a,initial:0},_saInnerRatio:{schema:a,initial:.4},_saRotation:{schema:a,initial:0},_saHeight:{schema:a,initial:.25},_saOffset:{schema:a,initial:.2},_saAperture:{schema:a,initial:270}};function gu(e){let t=(s,r)=>typeof s=="number"?s:r;return{radius:t(e.radius,t(e.width,t(e.bottomWidth,.35))),sides:t(e.sides,6),rounding:t(e.rounding,0),innerRatio:t(e.innerRatio,t(e.thickness,t(e.spread,t(e.topWidth,t(e.topRatio,.4))))),rotation:t(e.rotation,0),height:t(e.height,.25),offset:t(e.offset,t(e.skew,.2)),aperture:t(e.aperture,270)}}function E7(e){if(e&&typeof e=="object")return e;if(typeof e=="string")try{return JSON.parse(e)}catch{return{}}return{}}function k7(e,t){let s="",r=E7(t()),o=()=>{let i=gu(r);e.setExtraField("_saRadius",i.radius),e.setExtraField("_saSides",i.sides),e.setExtraField("_saRounding",i.rounding),e.setExtraField("_saInnerRatio",i.innerRatio),e.setExtraField("_saRotation",i.rotation),e.setExtraField("_saHeight",i.height),e.setExtraField("_saOffset",i.offset),e.setExtraField("_saAperture",i.aperture)};e.onBeforeRender(()=>{let i=t();if(i&&typeof i=="object")r=i;else if(typeof i=="string"&&i!==s){s=i;try{r=JSON.parse(i)}catch{return}}o()});let n=e.uniforms;return{radius:n._saRadius,sides:n._saSides,rounding:n._saRounding,innerRatio:n._saInnerRatio,rotation:n._saRotation,height:n._saHeight,offset:n._saOffset,aperture:n._saAperture}}var xn=512,Fa={},Zp=new Set,Qp={};function a1(e,t){return e?e in Fa?Fa[e]:(t&&(Qp[e]??=[]).push(t),Zp.has(e)||(Zp.add(e),iG(e)),null):null}async function iG(e){try{let t=await fetch(e,{mode:"cors"});if(!t.ok){Fa[e]=null;return}let s=await t.arrayBuffer(),r=xn*xn;if(s.byteLength!==r*2&&s.byteLength!==r*4){Fa[e]=null;return}let o=s.byteLength===r*2?(()=>{let _=new Uint16Array(s);return u=>_[u]/32767.5-1})():(()=>{let _=new Float32Array(s);return u=>_[u]})(),n=xn,i=xn,d=-1,c=-1;for(let _=0;_d&&(d=m),_c&&(c=_))}Fa[e]=d<0?null:{hwf:(d-n+1)/xn/2,hhf:(c-i+1)/xn/2}}catch{Fa[e]=null}finally{Zp.delete(e);let t=Qp[e];if(t){delete Qp[e];for(let s of t)s()}}}function $7(e){return!!e&&e in Fa}var wb=1/60;function Xc(e,t,s,r,o,n){if(r===0&&o===0)return[s,0];let i=200*Math.pow(.01,r),d=2*Math.sqrt(i)*(1-o*.85),c=n>wb?Math.ceil(n/wb):1,_=n/c,u=e,m=t;for(let p=0;p0?(e-s)/1e3:.016;if(s>0){let d=e-s;if(!r&&!o&&d<1e3)return{render:!1,deltaTime:i};if((r||o)&&dsetTimeout(t,16))}function z7(e){e.updateDrivers(),e.ensureComposition()&&(e.beforeRender(),e.flush(),e.render()!==!1&&e.markReady(),e.afterRender())}function G7(e){let t=null,s=n=>typeof requestAnimationFrame=="function"?requestAnimationFrame(n):setTimeout(()=>n(performance.now()),16),r=n=>{typeof cancelAnimationFrame=="function"?cancelAnimationFrame(n):clearTimeout(n)},o=()=>{e(),t!==null&&(t=s(o))};return{start(){t===null&&(t=s(o))},stop(){t!==null&&(r(t),t=null)},get running(){return t!==null}}}var Y7=["sphere3D","cube3D","torus3D","octahedron3D","cylinder3D","capsule3D","cone3D","pyramid3D","prism3D","ellipsoid3D","diamond3D","link3D","gem3D","helix3D","metaballs3D","dodecahedron3D","hemisphere3D","ribbon3D","blob3D","gyroscope3D"];function L7(e){return Y7.includes(e)}function I7(e){return e==="svgExtrude3D"}var D7={depth:.12,bevel:.02,rotX:15,rotY:30,rotZ:0};function F7(e,t){if(typeof e=="number")return e;if(e&&typeof e=="object"&&(e.type==="auto-animate"||e.type==="mouse")){let s=typeof e.outputMin=="number"?e.outputMin:t,r=typeof e.outputMax=="number"?e.outputMax:t;return Math.max(s,r)}return t}var B7={sphere3D:{radius:.35,rotX:0,rotY:0,rotZ:0},cube3D:{sizeX:.27,sizeY:.27,sizeZ:.27,rounding:.02,rotX:25,rotY:35,rotZ:0},torus3D:{radius:.3,tube:.12,rotX:55,rotY:0,rotZ:0},octahedron3D:{radius:.42,rotX:10,rotY:25,rotZ:0},cylinder3D:{radius:.22,height:.26,rounding:.02,rotX:60,rotY:0,rotZ:30},capsule3D:{radius:.16,height:.2,rotX:0,rotY:0,rotZ:35},cone3D:{radius:.3,topRadius:.02,height:.3,rotX:25,rotY:0,rotZ:15},pyramid3D:{size:.3,height:.45,rotX:-10,rotY:30,rotZ:0},prism3D:{radius:.28,height:.14,rotX:25,rotY:30,rotZ:0},ellipsoid3D:{radiusX:.38,radiusY:.22,radiusZ:.3,rotX:0,rotY:0,rotZ:20},diamond3D:{radius:.3,height:.42,rotX:15,rotY:0,rotZ:0},link3D:{radius:.18,length:.15,tube:.08,rotX:20,rotY:30,rotZ:0},gem3D:{radius:.3,height:.32,facets:8,rotX:15,rotY:0,rotZ:0},helix3D:{radius:.22,tube:.06,pitch:.16,rotX:20,rotY:0,rotZ:0},metaballs3D:{balls:4,ballRadius:.16,spread:.2,blend:.12,speed:1,rotX:0,rotY:0,rotZ:0},dodecahedron3D:{radius:.34,rotX:20,rotY:10,rotZ:0},hemisphere3D:{radius:.4,cut:0,rotX:30,rotY:0,rotZ:0},ribbon3D:{width:.15,thickness:.03,length:.38,wave:.1,waveFrequency:7,twist:140,speed:1,rotX:12,rotY:18,rotZ:0},blob3D:{radius:.3,wobble:.07,wobbliness:5,speed:1,rotX:0,rotY:0,rotZ:0},gyroscope3D:{radius:.34,width:.1,thickness:.028,rounding:.006,core:.14,speed:1,rotX:15,rotY:0,rotZ:0}};function W7(e){let t=B7[e.type]??{},s=(r,o=.3)=>F7(e[r],t[r]??o);switch(e.type){case"cube3D":return Math.hypot(s("sizeX"),s("sizeY"),s("sizeZ"))+s("rounding",0);case"torus3D":return s("radius")+s("tube");case"cylinder3D":return Math.hypot(s("radius"),s("height"))+s("rounding",0);case"capsule3D":return s("height")+s("radius");case"cone3D":return Math.hypot(Math.max(s("radius"),s("topRadius")),s("height"));case"pyramid3D":return Math.hypot(s("size")*Math.SQRT2,s("height")*.5);case"prism3D":return Math.hypot(s("radius")*1.1548,s("height"));case"ellipsoid3D":return Math.max(s("radiusX"),s("radiusY"),s("radiusZ"));case"diamond3D":return Math.max(s("radius"),s("height"));case"link3D":return s("length")+s("radius")+s("tube");case"gem3D":return Math.max(s("radius"),s("height"));case"helix3D":return Math.hypot(s("radius")+s("tube"),s("pitch")*3*.5+s("tube"));case"metaballs3D":return s("spread")+s("ballRadius",.16)+s("blend",.12);case"dodecahedron3D":return s("radius")*1.32;case"hemisphere3D":return s("radius");case"ribbon3D":return Math.hypot(s("length",.38),s("wave",.1)*1.2+Math.hypot(s("width",.15),s("thickness",.03)))+.01;case"blob3D":return s("radius",.3)+s("wobble",.07)+.02;case"gyroscope3D":return s("radius",.34)+s("thickness",.028)*.5+s("width",.1)*.5+s("rounding",.006);default:return s("radius",.35)}}var i1={propBindings:{x:{prop:"center",as:"position-x"},y:{prop:"center",as:"position-y"},rotation:{prop:"rotation",as:"degrees"}},computeBounds(e,t,s){let r=e.scale??1,o=typeof e.center?.x=="number"?e.center.x:.5,n=typeof e.center?.y=="number"?e.center.y:.5,{hwf:i,hhf:d}=Jp(e),c=r*s;return{centerXPx:o*t,centerYPx:n*s,widthPx:2*i*c,heightPx:2*d*c,rotationDeg:e.rotation??0}},writeBounds(e,t,s,r){let o={...t.center??{x:.5,y:.5},x:e.centerXPx/s,y:e.centerYPx/r},n=t.scale??1,i=cG(t)?bu(t.shape):null;if(i&&n>0)return{center:o,rotation:e.rotationDeg,shape:JSON.stringify({...i,radius:Math.max(.001,e.widthPx/(2*n*r)),height:Math.max(.001,e.heightPx/(2*n*r))})};let{hwf:d}=Jp(t);return{center:o,scale:d>0?Math.max(.01,e.widthPx/(2*d*r)):.01,rotation:e.rotationDeg}}},Hd=new Map;function bu(e){if(typeof e!="string")return e??null;if(Hd.has(e))return Hd.get(e);let t=null;try{t=JSON.parse(e)}catch{t=null}return Hd.size>=64&&Hd.clear(),Hd.set(e,t),t}function cG(e){if(e.shapeSdfUrl)return!1;let t=bu(e.shape)?.type;return t==="roundedRectSDF"||t==="ellipseSDF"}function Jp(e){if(e.shapeSdfUrl){let r=e._shapeBounds??a1(e.shapeSdfUrl),o=r&&typeof r.hwf=="number"&&typeof r.hhf=="number"?{hwf:r.hwf,hhf:r.hhf}:{hwf:.5,hhf:.5},n=e.shapeType;if(typeof n=="string"&&I7(n)){let i=bu(e.shape)??{},d=_=>F7(i[_],D7[_]??0),c=Math.hypot(o.hwf,o.hhf,d("depth")*.5)+d("bevel")+.02;return{hwf:c,hhf:c}}return o}let t=bu(e.shape);if(!t||typeof t!="object")return{hwf:.5,hhf:.5};if(typeof t.type=="string"&&L7(t.type)){let r=W7(t);return{hwf:r,hhf:r}}let s=typeof t.radius=="number"?t.radius:.35;switch(t.type){case"roundedRectSDF":case"ellipseSDF":return{hwf:s,hhf:typeof t.height=="number"?t.height:s};case"ringSDF":{let r=typeof t.thickness=="number"?t.thickness:0;return{hwf:s+r,hhf:s+r}}case"trapezoidSDF":{let r=typeof t.bottomWidth=="number"?t.bottomWidth:.3,o=typeof t.topWidth=="number"?t.topWidth:.2,n=typeof t.height=="number"?t.height:.25;return{hwf:Math.max(r,o),hhf:n}}case"vesicaSDF":{let r=typeof t.spread=="number"?Math.min(1,Math.max(0,t.spread)):.4;return{hwf:s*(1-r),hhf:s*Math.sqrt(Math.max(0,1-r*r))}}case"teardropSDF":return{hwf:s,hhf:((typeof t.height=="number"?t.height:.4)+s)/2};case"parallelogramSDF":{let r=typeof t.width=="number"?t.width:.32,o=typeof t.height=="number"?t.height:.22,n=typeof t.skew=="number"?t.skew:0;return{hwf:r+Math.abs(n),hhf:o}}default:return{hwf:s,hhf:s}}}function _G(e,t){if(e)return e;let s=t;if(typeof t=="string")try{s=JSON.parse(t)}catch{return"circleSDF"}if(s&&typeof s=="object"){let r=s.type;if(typeof r=="string"&&r)return r}return"circleSDF"}var yd=Za({HELIX_TURNS:()=>3,MAX_METABALLS:()=>8,MarchParams:()=>Cn,RotStruct:()=>Hc,SHAPE3D_DEFAULTS:()=>wu,SHAPE3D_TYPES:()=>O7,SVG3D_DEFAULTS:()=>N7,SVG3D_TYPES:()=>lG,SampleParams:()=>bf,VOLUMETRIC_FIELD_EXTRA_FIELDS:()=>yG,VOLUMETRIC_FIELD_FORMAT:()=>c1,VOLUMETRIC_FIELD_RES:()=>H7,VOLUMETRIC_FIELD_RES_MOBILE:()=>768,boxFaceUV:()=>MG,buildFieldSampleGraph:()=>vG,buildFieldSampleGraphArgs:()=>ay,buildRaymarchedField:()=>pG,buildRaymarchedFieldFn:()=>oy,buildVolumetricFieldKernel:()=>K7,buildVolumetricFieldSampler:()=>J7,capsuleSurfaceUV:()=>EG,createAnalytic2dExtrudeSetup:()=>xG,createAnalytic3dSdfSetup:()=>ew,createSvg3dSdfSetup:()=>tw,createVolumetricFieldCompute:()=>Z7,createVolumetricFieldComputeNode:()=>gG,eulerRotatePacked:()=>ws,is3dShapeType:()=>d1,isMobileGpuViewport:()=>_o,isSvg3dShapeType:()=>sy,isVolumetricShapeType:()=>V7,makeVolumetricFieldLayout:()=>ny,makeVolumetricSvgFieldLayout:()=>Q7,mobiusSurfaceUV:()=>$G,packedParamExtraFields:()=>RG,paramBoxSdf:()=>AG,paramCapsuleSdf:()=>PG,paramMobiusSdf:()=>kG,paramSphereSdf:()=>bG,paramTorusSdf:()=>TG,paramTwistedRibbonSdf:()=>UG,resolveActiveFieldRes:()=>j7,resolveShapeFieldSampler:()=>hG,resolveShapeSubProp:()=>ry,resolveVolumetricFieldRes:()=>jc,rotateVec3:()=>yl,rotateVecCpu:()=>ef,sdBicone:()=>kc,sdCappedCone:()=>af,sdCapsule:()=>nf,sdCutSphere:()=>yf,sdDodecahedron:()=>vf,sdEllipsoid:()=>_f,sdFlatBand:()=>nc,sdGem:()=>mf,sdGyroscope:()=>gf,sdHelix:()=>pf,sdHexPrism:()=>cf,sdLink:()=>lf,sdMetaballs:()=>ff,sdOctahedron:()=>rf,sdPyramid:()=>df,sdRibbon:()=>hf,sdRoundBox:()=>Ec,sdRoundCylinder:()=>of,sdSphere:()=>tf,sdTorus:()=>sf,sdWobbleBlob:()=>xf,shape3dBoundingRadius:()=>X7,shapeSubPropMax:()=>q7,smin:()=>uf,sphereSurfaceUV:()=>wG,torusSurfaceUV:()=>SG,twistedRibbonSurfaceUV:()=>CG}),Tb=3.141592653589793,Ba=6.283185307179586,O7=["sphere3D","cube3D","torus3D","octahedron3D","cylinder3D","capsule3D","cone3D","pyramid3D","prism3D","ellipsoid3D","diamond3D","link3D","gem3D","helix3D","metaballs3D","dodecahedron3D","hemisphere3D","ribbon3D","blob3D","gyroscope3D"];function d1(e){return O7.includes(e)}var lG=["svgExtrude3D"];function sy(e){return e==="svgExtrude3D"}function V7(e){return d1(e)||sy(e)}var N7={depth:.12,bevel:.02,rotX:15,rotY:30,rotZ:0},uG=e=>e<1/2.75?7.5625*e*e:e<2/2.75?(e-=1.5/2.75,7.5625*e*e+.75):e<2.5/2.75?(e-=2.25/2.75,7.5625*e*e+.9375):(e-=2.625/2.75,7.5625*e*e+.984375),mG=(e,t)=>{switch(t){case"linear":return e;case"quad":return e<.5?2*e*e:1-Math.pow(-2*e+2,2)/2;case"expo":return e===0?0:e===1?1:e<.5?Math.pow(2,20*e-10)/2:(2-Math.pow(2,-20*e+10))/2;case"bounce":return uG(e);default:return(1-Math.cos(Math.PI*e))/2}};function ry(e,t,s,r){if(typeof e=="number")return e;if(e&&typeof e=="object"){if(e.type==="auto-animate"){let o=(s.elapsed*(e.speed??1)*.2%1+1)%1,n=mG(e.mode==="loop"?o:o<.5?o*2:(1-o)*2,e.easing??e.waveform??"sine"),i=typeof e.outputMin=="number"?e.outputMin:t;return i+n*((typeof e.outputMax=="number"?e.outputMax:t)-i)}if(e.type==="mouse"){let o=e.axis==="y"?s.pointerY:s.pointerX,n=s.springs.get(r);n||(n={current:o,velocity:0},s.springs.set(r,n));let[i,d]=Xc(n.current,n.velocity,o,e.smoothing??0,e.momentum??0,s.deltaTime);n.current=i,n.velocity=d;let c=Math.max(.001,i),_=typeof e.outputMin=="number"?e.outputMin:t,u=typeof e.outputMax=="number"?e.outputMax:t,m=Math.pow(2,-(e.curve??0)*2);return _+Math.pow(c,m)*(u-_)}}return t}function q7(e,t){if(typeof e=="number")return e;if(e&&typeof e=="object"&&(e.type==="auto-animate"||e.type==="mouse")){let s=typeof e.outputMin=="number"?e.outputMin:t,r=typeof e.outputMax=="number"?e.outputMax:t;return Math.max(s,r)}return t}var wu={sphere3D:{radius:.35,rotX:0,rotY:0,rotZ:0},cube3D:{sizeX:.27,sizeY:.27,sizeZ:.27,rounding:.02,rotX:25,rotY:35,rotZ:0},torus3D:{radius:.3,tube:.12,rotX:55,rotY:0,rotZ:0},octahedron3D:{radius:.42,rotX:10,rotY:25,rotZ:0},cylinder3D:{radius:.22,height:.26,rounding:.02,rotX:60,rotY:0,rotZ:30},capsule3D:{radius:.16,height:.2,rotX:0,rotY:0,rotZ:35},cone3D:{radius:.3,topRadius:.02,height:.3,rotX:25,rotY:0,rotZ:15},pyramid3D:{size:.3,height:.45,rotX:-10,rotY:30,rotZ:0},prism3D:{radius:.28,height:.14,rotX:25,rotY:30,rotZ:0},ellipsoid3D:{radiusX:.38,radiusY:.22,radiusZ:.3,rotX:0,rotY:0,rotZ:20},diamond3D:{radius:.3,height:.42,rotX:15,rotY:0,rotZ:0},link3D:{radius:.18,length:.15,tube:.08,rotX:20,rotY:30,rotZ:0},gem3D:{radius:.3,height:.32,facets:8,rotX:15,rotY:0,rotZ:0},helix3D:{radius:.22,tube:.06,pitch:.16,rotX:20,rotY:0,rotZ:0},metaballs3D:{balls:4,ballRadius:.16,spread:.2,blend:.12,speed:1,rotX:0,rotY:0,rotZ:0},dodecahedron3D:{radius:.34,rotX:20,rotY:10,rotZ:0},hemisphere3D:{radius:.4,cut:0,rotX:30,rotY:0,rotZ:0},ribbon3D:{width:.15,thickness:.03,length:.38,wave:.1,waveFrequency:7,twist:140,speed:1,rotX:12,rotY:18,rotZ:0},blob3D:{radius:.3,wobble:.07,wobbliness:5,speed:1,rotX:0,rotY:0,rotZ:0},gyroscope3D:{radius:.34,width:.1,thickness:.028,rounding:.006,core:.14,speed:1,rotX:15,rotY:0,rotZ:0}};function X7(e){let t=wu[e.type]??{},s=(r,o=.3)=>q7(e[r],t[r]??o);switch(e.type){case"cube3D":return Math.hypot(s("sizeX"),s("sizeY"),s("sizeZ"))+s("rounding",0);case"torus3D":return s("radius")+s("tube");case"cylinder3D":return Math.hypot(s("radius"),s("height"))+s("rounding",0);case"capsule3D":return s("height")+s("radius");case"cone3D":return Math.hypot(Math.max(s("radius"),s("topRadius")),s("height"));case"pyramid3D":return Math.hypot(s("size")*Math.SQRT2,s("height")*.5);case"prism3D":return Math.hypot(s("radius")*1.1548,s("height"));case"ellipsoid3D":return Math.max(s("radiusX"),s("radiusY"),s("radiusZ"));case"diamond3D":return Math.max(s("radius"),s("height"));case"link3D":return s("length")+s("radius")+s("tube");case"gem3D":return Math.max(s("radius"),s("height"));case"helix3D":return Math.hypot(s("radius")+s("tube"),s("pitch")*3*.5+s("tube"));case"metaballs3D":return s("spread")+s("ballRadius",.16)+s("blend",.12);case"dodecahedron3D":return s("radius")*1.32;case"hemisphere3D":return s("radius");case"ribbon3D":return Math.hypot(s("length",.38),s("wave",.1)*1.2+Math.hypot(s("width",.15),s("thickness",.03)))+.01;case"blob3D":return s("radius",.3)+s("wobble",.07)+.02;case"gyroscope3D":return s("radius",.34)+s("thickness",.028)*.5+s("width",.1)*.5+s("rounding",.006);default:return s("radius",.35)}}function ef(e,t,s,r){let o=e*r.cy+s*r.sy,n=-e*r.sy+s*r.cy,i=t*r.cx-n*r.sx,d=t*r.sx+n*r.cx;return{x:o*r.cz-i*r.sz,y:o*r.sz+i*r.cz,z:d}}var tf=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(j(t),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"}],body:[0,[[10,[1,[6,"std.length",["p"]],"-","r"]]]]},externals:{"std.length":()=>j}})&&e.f)({})),Ec=v.fn([f,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_add(__tsover_sub(z(t.x),s),n),d=__tsover_add(__tsover_sub(z(t.y),r),n),c=__tsover_add(__tsover_sub(z(t.z),o),n),_=j(f(b(i,0),b(d,0),b(c,0))),u=oe(b(i,b(d,c)),0);return __tsover_sub(__tsover_add(_,u),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"hx"},{type:"i",name:"hy"},{type:"i",name:"hz"},{type:"i",name:"rounding"}],body:[0,[[13,"qx",[1,[1,[6,"std.abs",[[7,"p","x"]]],"-","hx"],"+","rounding"]],[13,"qy",[1,[1,[6,"std.abs",[[7,"p","y"]]],"-","hy"],"+","rounding"]],[13,"qz",[1,[1,[6,"std.abs",[[7,"p","z"]]],"-","hz"],"+","rounding"]],[13,"outer",[6,"std.length",[[6,"d.vec3f",[[6,"std.max",["qx",[5,"0"]]],[6,"std.max",["qy",[5,"0"]]],[6,"std.max",["qz",[5,"0"]]]]]]]],[13,"inner",[6,"std.min",[[6,"std.max",["qx",[6,"std.max",["qy","qz"]]]],[5,"0"]]]],[10,[1,[1,"outer","+","inner"],"-","rounding"]]]]},externals:{"std.abs":()=>z,"std.length":()=>j,"d.vec3f":()=>f,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),sf=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(j(l(t.x,t.z)),s);return __tsover_sub(j(l(o,t.y)),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"ringR"},{type:"i",name:"tubeR"}],body:[0,[[13,"qx",[1,[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]],"-","ringR"]],[10,[1,[6,"std.length",[[6,"d.vec2f",["qx",[7,"p","y"]]]]],"-","tubeR"]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})),rf=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_mul(__tsover_sub(__tsover_add(__tsover_add(z(t.x),z(t.y)),z(t.z)),s),.57735027)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"s"}],body:[0,[[10,[1,[1,[1,[1,[6,"std.abs",[[7,"p","x"]]],"+",[6,"std.abs",[[7,"p","y"]]]],"+",[6,"std.abs",[[7,"p","z"]]]],"-","s"],"*",[5,"0.57735027"]]]]]},externals:{"std.abs":()=>z}})&&e.f)({})),of=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_add(__tsover_sub(j(l(t.x,t.z)),s),o),i=__tsover_add(__tsover_sub(z(t.y),r),o),d=oe(b(n,i),0),c=j(l(b(n,0),b(i,0)));return __tsover_sub(__tsover_add(d,c),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"h"},{type:"i",name:"rounding"}],body:[0,[[13,"dx",[1,[1,[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]],"-","r"],"+","rounding"]],[13,"dy",[1,[1,[6,"std.abs",[[7,"p","y"]]],"-","h"],"+","rounding"]],[13,"inner",[6,"std.min",[[6,"std.max",["dx","dy"]],[5,"0"]]]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["dx",[5,"0"]]],[6,"std.max",["dy",[5,"0"]]]]]]]],[10,[1,[1,"inner","+","outer"],"-","rounding"]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.abs":()=>z,"std.min":()=>oe,"std.max":()=>b}})&&e.f)({})),nf=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=$(t.y,__tsover_mul(r,-1),r);return __tsover_sub(j(f(t.x,__tsover_sub(t.y,o),t.z)),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"h"}],body:[0,[[13,"cyc",[6,"std.clamp",[[7,"p","y"],[1,"h","*",[4,"-",[5,"1"]]],"h"]]],[10,[1,[6,"std.length",[[6,"d.vec3f",[[7,"p","x"],[1,[7,"p","y"],"-","cyc"],[7,"p","z"]]]]],"-","r"]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec3f":()=>f}})&&e.f)({})),af=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=j(l(t.x,t.z)),i=t.y,d=__tsover_sub(r,s),c=__tsover_mul(o,2),_=__tsover_sub(n,oe(n,C(r,s,i<0))),u=__tsover_sub(z(i),o),m=__tsover_add(__tsover_mul(__tsover_sub(r,n),d),__tsover_mul(__tsover_sub(o,i),c)),p=b(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c)),1e-6),y=$(__tsover_div(m,p),0,1),h=__tsover_add(__tsover_sub(n,r),__tsover_mul(d,y)),g=__tsover_add(__tsover_sub(i,o),__tsover_mul(c,y)),w=C(a(1),a(-1),u<0),S=C(a(1),w,h<0),T=__tsover_add(__tsover_mul(_,_),__tsover_mul(u,u)),A=__tsover_add(__tsover_mul(h,h),__tsover_mul(g,g));return __tsover_mul(S,be(oe(T,A)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r1"},{type:"i",name:"r2"},{type:"i",name:"h"}],body:[0,[[13,"qx",[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]]],[13,"qy",[7,"p","y"]],[13,"k2x",[1,"r2","-","r1"]],[13,"k2y",[1,"h","*",[5,"2"]]],[13,"cax",[1,"qx","-",[6,"std.min",["qx",[6,"std.select",["r2","r1",[1,"qy","<",[5,"0"]]]]]]]],[13,"cay",[1,[6,"std.abs",["qy"]],"-","h"]],[13,"dotNum",[1,[1,[1,"r2","-","qx"],"*","k2x"],"+",[1,[1,"h","-","qy"],"*","k2y"]]],[13,"dotDen",[6,"std.max",[[1,[1,"k2x","*","k2x"],"+",[1,"k2y","*","k2y"]],[5,"0.000001"]]]],[13,"t",[6,"std.clamp",[[1,"dotNum","/","dotDen"],[5,"0"],[5,"1"]]]],[13,"cbx",[1,[1,"qx","-","r2"],"+",[1,"k2x","*","t"]]],[13,"cby",[1,[1,"qy","-","h"],"+",[1,"k2y","*","t"]]],[13,"sInner",[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"d.f32",[[4,"-",[5,"1"]]]],[1,"cay","<",[5,"0"]]]]],[13,"s",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"sInner",[1,"cbx","<",[5,"0"]]]]],[13,"dca",[1,[1,"cax","*","cax"],"+",[1,"cay","*","cay"]]],[13,"dcb",[1,[1,"cbx","*","cbx"],"+",[1,"cby","*","cby"]]],[10,[1,"s","*",[6,"std.sqrt",[[6,"std.min",["dca","dcb"]]]]]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.min":()=>oe,"std.select":()=>C,"std.abs":()=>z,"std.max":()=>b,"std.clamp":()=>$,"d.f32":()=>a,"std.sqrt":()=>be}})&&e.f)({})),df=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r,.5),n=be(__tsover_add(__tsover_mul(r,r),__tsover_mul(s,s))),i=__tsover_div(__tsover_add(__tsover_mul(r,z(t.x)),__tsover_mul(s,__tsover_sub(t.y,o))),n),d=__tsover_div(__tsover_add(__tsover_mul(r,z(t.z)),__tsover_mul(s,__tsover_sub(t.y,o))),n),c=__tsover_sub(__tsover_mul(t.y,-1),o);return b(b(i,d),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"b"},{type:"i",name:"ht"}],body:[0,[[13,"h2",[1,"ht","*",[5,"0.5"]]],[13,"denom",[6,"std.sqrt",[[1,[1,"ht","*","ht"],"+",[1,"b","*","b"]]]]],[13,"dx",[1,[1,[1,"ht","*",[6,"std.abs",[[7,"p","x"]]]],"+",[1,"b","*",[1,[7,"p","y"],"-","h2"]]],"/","denom"]],[13,"dz",[1,[1,[1,"ht","*",[6,"std.abs",[[7,"p","z"]]]],"+",[1,"b","*",[1,[7,"p","y"],"-","h2"]]],"/","denom"]],[13,"dBase",[1,[1,[7,"p","y"],"*",[4,"-",[5,"1"]]],"-","h2"]],[10,[6,"std.max",[[6,"std.max",["dx","dz"]],"dBase"]]]]]},externals:{"std.sqrt":()=>be,"std.abs":()=>z,"std.max":()=>b}})&&e.f)({})),cf=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=-.8660254,n=.5,i=.57735,d=z(t.x),c=z(t.y),_=z(t.z),u=__tsover_mul(oe(__tsover_add(__tsover_mul(o,d),__tsover_mul(n,c)),0),2),m=__tsover_sub(d,__tsover_mul(u,o)),p=__tsover_sub(c,__tsover_mul(u,n)),y=$(m,__tsover_mul(__tsover_mul(i,s),-1),__tsover_mul(i,s)),h=__tsover_sub(m,y),g=__tsover_sub(p,s),w=__tsover_mul(be(__tsover_add(__tsover_mul(h,h),__tsover_mul(g,g))),ks(__tsover_sub(p,s))),S=__tsover_sub(_,r),T=oe(b(w,S),0),A=j(l(b(w,0),b(S,0)));return __tsover_add(T,A)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"he"}],body:[0,[[13,"kx",[4,"-",[5,"0.8660254"]]],[13,"ky",[5,"0.5"]],[13,"kz",[5,"0.57735"]],[13,"ax",[6,"std.abs",[[7,"p","x"]]]],[13,"ay",[6,"std.abs",[[7,"p","y"]]]],[13,"az",[6,"std.abs",[[7,"p","z"]]]],[13,"dk",[1,[6,"std.min",[[1,[1,"kx","*","ax"],"+",[1,"ky","*","ay"]],[5,"0"]]],"*",[5,"2"]]],[13,"px",[1,"ax","-",[1,"dk","*","kx"]]],[13,"py",[1,"ay","-",[1,"dk","*","ky"]]],[13,"cx",[6,"std.clamp",["px",[1,[1,"kz","*","r"],"*",[4,"-",[5,"1"]]],[1,"kz","*","r"]]]],[13,"ex",[1,"px","-","cx"]],[13,"ey",[1,"py","-","r"]],[13,"dHex",[1,[6,"std.sqrt",[[1,[1,"ex","*","ex"],"+",[1,"ey","*","ey"]]]],"*",[6,"std.sign",[[1,"py","-","r"]]]]],[13,"dZ",[1,"az","-","he"]],[13,"inner",[6,"std.min",[[6,"std.max",["dHex","dZ"]],[5,"0"]]]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["dHex",[5,"0"]]],[6,"std.max",["dZ",[5,"0"]]]]]]]],[10,[1,"inner","+","outer"]]]]},externals:{"std.abs":()=>z,"std.min":()=>oe,"std.clamp":()=>$,"std.sqrt":()=>be,"std.sign":()=>ks,"std.max":()=>b,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})),_f=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=j(f(__tsover_div(t.x,s),__tsover_div(t.y,r),__tsover_div(t.z,o))),i=j(f(__tsover_div(t.x,__tsover_mul(s,s)),__tsover_div(t.y,__tsover_mul(r,r)),__tsover_div(t.z,__tsover_mul(o,o))));return __tsover_div(__tsover_mul(n,__tsover_sub(n,1)),b(i,1e-6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rx"},{type:"i",name:"ry"},{type:"i",name:"rz"}],body:[0,[[13,"k0",[6,"std.length",[[6,"d.vec3f",[[1,[7,"p","x"],"/","rx"],[1,[7,"p","y"],"/","ry"],[1,[7,"p","z"],"/","rz"]]]]]],[13,"k1",[6,"std.length",[[6,"d.vec3f",[[1,[7,"p","x"],"/",[1,"rx","*","rx"]],[1,[7,"p","y"],"/",[1,"ry","*","ry"]],[1,[7,"p","z"],"/",[1,"rz","*","rz"]]]]]]],[10,[1,[1,"k0","*",[1,"k0","-",[5,"1"]]],"/",[6,"std.max",["k1",[5,"0.000001"]]]]]]]},externals:{"std.length":()=>j,"d.vec3f":()=>f,"std.max":()=>b}})&&e.f)({})),kc=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=j(l(t.x,t.z)),n=z(t.y),i=__tsover_mul(s,-1),d=r,c=__tsover_sub(o,s),_=n,u=b(__tsover_add(__tsover_mul(i,i),__tsover_mul(d,d)),1e-6),m=$(__tsover_div(__tsover_add(__tsover_mul(c,i),__tsover_mul(_,d)),u),0,1),p=__tsover_sub(c,__tsover_mul(i,m)),y=__tsover_sub(_,__tsover_mul(d,m)),h=be(__tsover_add(__tsover_mul(p,p),__tsover_mul(y,y)));return __tsover_mul(h,ks(__tsover_sub(__tsover_add(__tsover_mul(r,o),__tsover_mul(s,n)),__tsover_mul(s,r))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"h"}],body:[0,[[13,"qx",[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]]],[13,"qy",[6,"std.abs",[[7,"p","y"]]]],[13,"abx",[1,"r","*",[4,"-",[5,"1"]]]],[13,"aby","h"],[13,"apx",[1,"qx","-","r"]],[13,"apy","qy"],[13,"den",[6,"std.max",[[1,[1,"abx","*","abx"],"+",[1,"aby","*","aby"]],[5,"0.000001"]]]],[13,"t",[6,"std.clamp",[[1,[1,[1,"apx","*","abx"],"+",[1,"apy","*","aby"]],"/","den"],[5,"0"],[5,"1"]]]],[13,"dxx",[1,"apx","-",[1,"abx","*","t"]]],[13,"dyy",[1,"apy","-",[1,"aby","*","t"]]],[13,"dist",[6,"std.sqrt",[[1,[1,"dxx","*","dxx"],"+",[1,"dyy","*","dyy"]]]]],[10,[1,"dist","*",[6,"std.sign",[[1,[1,[1,"h","*","qx"],"+",[1,"r","*","qy"]],"-",[1,"r","*","h"]]]]]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.abs":()=>z,"std.max":()=>b,"std.clamp":()=>$,"std.sqrt":()=>be,"std.sign":()=>ks}})&&e.f)({})),lf=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(__tsover_sub(z(t.y),s),0),i=__tsover_sub(j(l(t.x,n)),r);return __tsover_sub(j(l(i,t.z)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"le"},{type:"i",name:"r1"},{type:"i",name:"r2"}],body:[0,[[13,"qy",[6,"std.max",[[1,[6,"std.abs",[[7,"p","y"]]],"-","le"],[5,"0"]]]],[13,"ring",[1,[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],"qy"]]]],"-","r1"]],[10,[1,[6,"std.length",[[6,"d.vec2f",["ring",[7,"p","z"]]]]],"-","r2"]]]]},externals:{"std.max":()=>b,"std.abs":()=>z,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})),uf=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=$(__tsover_add(__tsover_mul(__tsover_div(__tsover_sub(s,t),r),.5),.5),0,1);return __tsover_sub(X(s,t,o),__tsover_mul(__tsover_mul(r,o),__tsover_sub(1,o)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"k"}],body:[0,[[13,"h",[6,"std.clamp",[[1,[1,[1,[1,"b","-","a"],"/","k"],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[10,[1,[6,"std.mix",["b","a","h"]],"-",[1,[1,"k","*","h"],"*",[1,[5,"1"],"-","h"]]]]]]},externals:{"std.clamp":()=>$,"std.mix":()=>X}})&&e.f)({})),mf=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=kc(t,s,r),i=j(l(t.x,t.z)),d=tt(t.z,t.x),c=__tsover_div(Ba,o),_=q(__tsover_add(__tsover_div(d,c),.5)),u=__tsover_sub(d,__tsover_mul(_,c)),m=__tsover_mul(s,H(__tsover_div(Tb,o)));return b(b(n,__tsover_sub(__tsover_mul(i,H(u)),m)),__tsover_sub(t.y,__tsover_mul(r,.45)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"h"},{type:"i",name:"sides"}],body:[0,[[13,"base",[6,"sdBicone",["p","r","h"]]],[13,"lenXZ",[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]]],[13,"ang",[6,"std.atan2",[[7,"p","z"],[7,"p","x"]]]],[13,"sector",[1,"TWO_PI","/","sides"]],[13,"idx",[6,"std.floor",[[1,[1,"ang","/","sector"],"+",[5,"0.5"]]]]],[13,"ca",[1,"ang","-",[1,"idx","*","sector"]]],[13,"ri",[1,"r","*",[6,"std.cos",[[1,"PI","/","sides"]]]]],[13,"facet",[1,[1,"lenXZ","*",[6,"std.cos",["ca"]]],"-","ri"]],[13,"dd",[6,"std.max",["base","facet"]]],[13,"table",[1,[7,"p","y"],"-",[1,"h","*",[5,"0.45"]]]],[10,[6,"std.max",["dd","table"]]]]]},externals:{sdBicone:()=>kc,"std.length":()=>j,"d.vec2f":()=>l,"std.atan2":()=>tt,TWO_PI:()=>Ba,"std.floor":()=>q,"std.cos":()=>H,PI:()=>Tb,"std.max":()=>b}})&&e.f)({})),pf=v.fn([f,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=tt(t.z,t.x),d=q(__tsover_add(__tsover_sub(__tsover_div(t.y,o),__tsover_div(i,Ba)),.5)),c=__tsover_add(i,__tsover_mul(Ba,d)),_=__tsover_mul(s,H(c)),u=__tsover_div(__tsover_mul(o,c),Ba),m=__tsover_mul(s,Y(c));return b(__tsover_sub(j(f(__tsover_sub(t.x,_),__tsover_sub(t.y,u),__tsover_sub(t.z,m))),r),__tsover_sub(z(t.y),__tsover_mul(__tsover_mul(o,n),.5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"R"},{type:"i",name:"tube"},{type:"i",name:"pitch"},{type:"i",name:"turns"}],body:[0,[[13,"psi",[6,"std.atan2",[[7,"p","z"],[7,"p","x"]]]],[13,"k",[6,"std.floor",[[1,[1,[1,[7,"p","y"],"/","pitch"],"-",[1,"psi","/","TWO_PI"]],"+",[5,"0.5"]]]]],[13,"theta",[1,"psi","+",[1,"TWO_PI","*","k"]]],[13,"ccx",[1,"R","*",[6,"std.cos",["theta"]]]],[13,"ccy",[1,[1,"pitch","*","theta"],"/","TWO_PI"]],[13,"ccz",[1,"R","*",[6,"std.sin",["theta"]]]],[13,"dStrand",[1,[6,"std.length",[[6,"d.vec3f",[[1,[7,"p","x"],"-","ccx"],[1,[7,"p","y"],"-","ccy"],[1,[7,"p","z"],"-","ccz"]]]]],"-","tube"]],[13,"slab",[1,[6,"std.abs",[[7,"p","y"]]],"-",[1,[1,"pitch","*","turns"],"*",[5,"0.5"]]]],[10,[6,"std.max",["dStrand","slab"]]]]]},externals:{"std.atan2":()=>tt,"std.floor":()=>q,TWO_PI:()=>Ba,"std.cos":()=>H,"std.sin":()=>Y,"std.length":()=>j,"d.vec3f":()=>f,"std.abs":()=>z,"std.max":()=>b}})&&e.f)({})),Sb=pt(f,8),Ab=8,ff=v.fn([f,f,f,f,f,f,f,f,f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=Sb();p[0]=f(s),p[1]=f(r),p[2]=f(o),p[3]=f(n),p[4]=f(i),p[5]=f(d),p[6]=f(c),p[7]=f(_);let y=__tsover_sub(j(t.sub(p[0])),u);for(let h=1;hSb,"d.vec3f":()=>f,"std.length":()=>j,METABALL_COUNT:()=>Ab,smin:()=>uf}})&&e.f)({})),vf=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=f(z(t.x),z(t.y),z(t.z)),o=se(r,f(0,.5257311,.8506508)),n=se(r,f(.8506508,0,.5257311)),i=se(r,f(.5257311,.8506508,0));return __tsover_sub(b(b(o,n),i),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"}],body:[0,[[13,"q",[6,"d.vec3f",[[6,"std.abs",[[7,"p","x"]]],[6,"std.abs",[[7,"p","y"]]],[6,"std.abs",[[7,"p","z"]]]]]],[13,"a",[6,"std.dot",["q",[6,"d.vec3f",[[5,"0"],[5,"0.5257311"],[5,"0.8506508"]]]]]],[13,"b",[6,"std.dot",["q",[6,"d.vec3f",[[5,"0.8506508"],[5,"0"],[5,"0.5257311"]]]]]],[13,"c",[6,"std.dot",["q",[6,"d.vec3f",[[5,"0.5257311"],[5,"0.8506508"],[5,"0"]]]]]],[10,[1,[6,"std.max",[[6,"std.max",["a","b"]],"c"]],"-","r"]]]]},externals:{"d.vec3f":()=>f,"std.abs":()=>z,"std.dot":()=>se,"std.max":()=>b}})&&e.f)({})),yf=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=be(b(__tsover_sub(__tsover_mul(s,s),__tsover_mul(r,r)),0)),n=j(l(t.x,t.z)),i=t.y,d=b(__tsover_add(__tsover_mul(__tsover_mul(__tsover_sub(r,s),n),n),__tsover_mul(__tsover_mul(o,o),__tsover_sub(__tsover_add(r,s),__tsover_mul(i,2)))),__tsover_sub(__tsover_mul(r,n),__tsover_mul(o,i))),c=__tsover_sub(j(l(n,i)),s),_=__tsover_sub(r,i);return C(C(j(l(__tsover_sub(n,o),__tsover_sub(i,r))),_,nbe,"std.max":()=>b,"std.length":()=>j,"d.vec2f":()=>l,"std.select":()=>C}})&&e.f)({})),hf=v.fn([f,a,a,a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=__tsover_mul(n,Y(__tsover_add(__tsover_mul(i,t.x),d))),y=__tsover_mul(__tsover_mul(n,.6),Y(__tsover_add(__tsover_mul(__tsover_mul(i,.8),t.x),c))),h=__tsover_sub(t.y,p),g=__tsover_sub(t.z,y),w=__tsover_add(__tsover_mul(_,t.x),u),S=H(w),T=Y(w),A=__tsover_add(__tsover_mul(h,S),__tsover_mul(g,T)),P=__tsover_sub(__tsover_mul(g,S),__tsover_mul(h,T)),U=__tsover_mul(r,.4),D=__tsover_add(__tsover_sub(z(A),s),U),O=__tsover_add(__tsover_sub(z(P),r),U),L=__tsover_sub(__tsover_add(j(l(b(D,0),b(O,0))),oe(b(D,O),0)),U),G=__tsover_sub(z(t.x),o),W=__tsover_add(j(l(b(L,0),b(G,0))),oe(b(L,G),0));return __tsover_mul(W,m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"w"},{type:"i",name:"th"},{type:"i",name:"len"},{type:"i",name:"amp"},{type:"i",name:"freq"},{type:"i",name:"ph1"},{type:"i",name:"ph2"},{type:"i",name:"twRate"},{type:"i",name:"twPh"},{type:"i",name:"lip"}],body:[0,[[13,"yc",[1,"amp","*",[6,"std.sin",[[1,[1,"freq","*",[7,"p","x"]],"+","ph1"]]]]],[13,"zc",[1,[1,"amp","*",[5,"0.6"]],"*",[6,"std.sin",[[1,[1,[1,"freq","*",[5,"0.8"]],"*",[7,"p","x"]],"+","ph2"]]]]],[13,"qy",[1,[7,"p","y"],"-","yc"]],[13,"qz",[1,[7,"p","z"],"-","zc"]],[13,"ang",[1,[1,"twRate","*",[7,"p","x"]],"+","twPh"]],[13,"c",[6,"std.cos",["ang"]]],[13,"s",[6,"std.sin",["ang"]]],[13,"ry",[1,[1,"qy","*","c"],"+",[1,"qz","*","s"]]],[13,"rz",[1,[1,"qz","*","c"],"-",[1,"qy","*","s"]]],[13,"round",[1,"th","*",[5,"0.4"]]],[13,"bx",[1,[1,[6,"std.abs",["ry"]],"-","w"],"+","round"]],[13,"by",[1,[1,[6,"std.abs",["rz"]],"-","th"],"+","round"]],[13,"d2",[1,[1,[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["bx",[5,"0"]]],[6,"std.max",["by",[5,"0"]]]]]]],"+",[6,"std.min",[[6,"std.max",["bx","by"]],[5,"0"]]]],"-","round"]],[13,"dx",[1,[6,"std.abs",[[7,"p","x"]]],"-","len"]],[13,"dd",[1,[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["d2",[5,"0"]]],[6,"std.max",["dx",[5,"0"]]]]]]],"+",[6,"std.min",[[6,"std.max",["d2","dx"]],[5,"0"]]]]],[10,[1,"dd","*","lip"]]]]},externals:{"std.sin":()=>Y,"std.cos":()=>H,"std.abs":()=>z,"std.length":()=>j,"d.vec2f":()=>l,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),xf=v.fn([f,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(t.x,o),n)),Y(__tsover_add(__tsover_mul(__tsover_mul(t.y,o),1.3),i))),__tsover_mul(Y(__tsover_add(__tsover_mul(__tsover_mul(t.y,o),.8),__tsover_mul(i,1.1))),Y(__tsover_add(__tsover_mul(__tsover_mul(t.z,o),1.1),__tsover_mul(n,.9))))),_=__tsover_sub(__tsover_sub(j(t),s),__tsover_mul(__tsover_mul(r,c),.5));return __tsover_mul(_,d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"amp"},{type:"i",name:"freq"},{type:"i",name:"ph1"},{type:"i",name:"ph2"},{type:"i",name:"lip"}],body:[0,[[13,"w",[1,[1,[6,"std.sin",[[1,[1,[7,"p","x"],"*","freq"],"+","ph1"]]],"*",[6,"std.sin",[[1,[1,[1,[7,"p","y"],"*","freq"],"*",[5,"1.3"]],"+","ph2"]]]],"+",[1,[6,"std.sin",[[1,[1,[1,[7,"p","y"],"*","freq"],"*",[5,"0.8"]],"+",[1,"ph2","*",[5,"1.1"]]]]],"*",[6,"std.sin",[[1,[1,[1,[7,"p","z"],"*","freq"],"*",[5,"1.1"]],"+",[1,"ph1","*",[5,"0.9"]]]]]]]],[13,"dd",[1,[1,[6,"std.length",["p"]],"-","r"],"-",[1,[1,"amp","*","w"],"*",[5,"0.5"]]]],[10,[1,"dd","*","lip"]]]]},externals:{"std.sin":()=>Y,"std.length":()=>j}})&&e.f)({})),nc=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_add(__tsover_sub(z(__tsover_sub(t,r)),o),i),c=__tsover_add(__tsover_sub(z(s),n),i),_=j(l(b(d,0),b(c,0))),u=oe(b(d,c),0);return __tsover_sub(__tsover_add(_,u),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"radialDist"},{type:"i",name:"axialDist"},{type:"i",name:"R"},{type:"i",name:"ht"},{type:"i",name:"hw"},{type:"i",name:"rnd"}],body:[0,[[13,"bx",[1,[1,[6,"std.abs",[[1,"radialDist","-","R"]]],"-","ht"],"+","rnd"]],[13,"by",[1,[1,[6,"std.abs",["axialDist"]],"-","hw"],"+","rnd"]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["bx",[5,"0"]]],[6,"std.max",["by",[5,"0"]]]]]]]],[13,"inner",[6,"std.min",[[6,"std.max",["bx","by"]],[5,"0"]]]],[10,[1,[1,"outer","+","inner"],"-","rnd"]]]]},externals:{"std.abs":()=>z,"std.length":()=>j,"d.vec2f":()=>l,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),gf=v.fn([f,a,a,a,a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p)=>{"use gpu";let y=__tsover_mul(r,.5),h=__tsover_mul(o,.5),g=__tsover_sub(j(t),i),w=__tsover_add(__tsover_mul(t.y,d),__tsover_mul(t.z,c)),S=__tsover_sub(__tsover_mul(t.z,d),__tsover_mul(t.y,c)),T=nc(j(l(t.x,S)),w,s,h,y,n),A=__tsover_sub(__tsover_mul(t.x,_),__tsover_mul(t.z,u)),P=__tsover_add(__tsover_mul(t.z,_),__tsover_mul(t.x,u)),U=nc(j(l(A,t.y)),P,__tsover_mul(s,.78),h,y,n),D=__tsover_add(__tsover_mul(t.x,m),__tsover_mul(t.y,p)),O=nc(j(l(__tsover_sub(__tsover_mul(t.y,m),__tsover_mul(t.x,p)),t.z)),D,__tsover_mul(s,.56),h,y,n);return oe(oe(g,T),oe(U,O))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"radius"},{type:"i",name:"width"},{type:"i",name:"thick"},{type:"i",name:"rnd"},{type:"i",name:"core"},{type:"i",name:"c1"},{type:"i",name:"s1"},{type:"i",name:"c2"},{type:"i",name:"s2"},{type:"i",name:"c3"},{type:"i",name:"s3"}],body:[0,[[13,"hw",[1,"width","*",[5,"0.5"]]],[13,"ht",[1,"thick","*",[5,"0.5"]]],[13,"dCore",[1,[6,"std.length",["p"]],"-","core"]],[13,"p1y",[1,[1,[7,"p","y"],"*","c1"],"+",[1,[7,"p","z"],"*","s1"]]],[13,"p1z",[1,[1,[7,"p","z"],"*","c1"],"-",[1,[7,"p","y"],"*","s1"]]],[13,"d1",[6,"sdFlatBand",[[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],"p1z"]]]],"p1y","radius","ht","hw","rnd"]]],[13,"p2x",[1,[1,[7,"p","x"],"*","c2"],"-",[1,[7,"p","z"],"*","s2"]]],[13,"p2z",[1,[1,[7,"p","z"],"*","c2"],"+",[1,[7,"p","x"],"*","s2"]]],[13,"d2",[6,"sdFlatBand",[[6,"std.length",[[6,"d.vec2f",["p2x",[7,"p","y"]]]]],"p2z",[1,"radius","*",[5,"0.78"]],"ht","hw","rnd"]]],[13,"p3x",[1,[1,[7,"p","x"],"*","c3"],"+",[1,[7,"p","y"],"*","s3"]]],[13,"p3y",[1,[1,[7,"p","y"],"*","c3"],"-",[1,[7,"p","x"],"*","s3"]]],[13,"d3",[6,"sdFlatBand",[[6,"std.length",[[6,"d.vec2f",["p3y",[7,"p","z"]]]]],"p3x",[1,"radius","*",[5,"0.56"]],"ht","hw","rnd"]]],[10,[6,"std.min",[[6,"std.min",["dCore","d1"]],[6,"std.min",["d2","d3"]]]]]]]},externals:{"std.length":()=>j,sdFlatBand:()=>nc,"d.vec2f":()=>l,"std.min":()=>oe}})&&e.f)({})),Hc=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cx:a,sx:a,cy:a,sy:a,cz:a,sz:a}),"RotStruct"),yl=v.fn([f,Hc],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_add(__tsover_mul(t.x,s.cy),__tsover_mul(t.z,s.sy)),o=__tsover_sub(__tsover_mul(t.z,s.cy),__tsover_mul(t.x,s.sy)),n=__tsover_sub(__tsover_mul(t.y,s.cx),__tsover_mul(o,s.sx)),i=__tsover_add(__tsover_mul(t.y,s.sx),__tsover_mul(o,s.cx));return f(__tsover_sub(__tsover_mul(r,s.cz),__tsover_mul(n,s.sz)),__tsover_add(__tsover_mul(r,s.sz),__tsover_mul(n,s.cz)),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"rot"}],body:[0,[[13,"x1",[1,[1,[7,"v","x"],"*",[7,"rot","cy"]],"+",[1,[7,"v","z"],"*",[7,"rot","sy"]]]],[13,"z1",[1,[1,[7,"v","z"],"*",[7,"rot","cy"]],"-",[1,[7,"v","x"],"*",[7,"rot","sy"]]]],[13,"y2",[1,[1,[7,"v","y"],"*",[7,"rot","cx"]],"-",[1,"z1","*",[7,"rot","sx"]]]],[13,"z2",[1,[1,[7,"v","y"],"*",[7,"rot","sx"]],"+",[1,"z1","*",[7,"rot","cx"]]]],[13,"x3",[1,[1,"x1","*",[7,"rot","cz"]],"-",[1,"y2","*",[7,"rot","sz"]]]],[13,"y3",[1,[1,"x1","*",[7,"rot","sz"]],"+",[1,"y2","*",[7,"rot","cz"]]]],[10,[6,"d.vec3f",["x3","y3","z2"]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({}));function oy(e,t="none",s="span"){let r=_o()?64:96,o=_o()?224:384,n=_o()?140:220;return v.fn([l,Hc,a],x)((i=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(i.f=((d,c,_)=>{"use gpu";let u=f(__tsover_sub(d.x,.5),__tsover_sub(.5,d.y),-1.2),m=f(0,0,1),p=yl(u,c),y=yl(m,c),h=Z($(__tsover_mul(_,a(n)),a(r),a(o))),g=se(p,y),w=be(b(__tsover_sub(se(p,p),__tsover_mul(g,g)),0)),S=be(b(__tsover_sub(__tsover_mul(_,_),__tsover_mul(w,w)),0)),T=b(__tsover_sub(__tsover_mul(g,-1),S),0),A=__tsover_add(__tsover_add(__tsover_mul(g,-1),S),.01),P=T,U=T,D=a(10),O=a(0);for(let Q=0;QA)break;U=P,P=__tsover_add(P,b(te,.002))}let L=D,G=a(0),W=a(0),K=__tsover_add(A,.4);if(O>.5){let Q=U,te=P;for(let Te=0;Te<10;Te++){let Ue=__tsover_mul(__tsover_add(Q,te),.5);e(p.add(y.mul(Ue)))>0?Q=Ue:te=Ue}let ee=__tsover_mul(__tsover_add(Q,te),.5),he=ee;if(s==="firstLobe"){let Te=te,Ue=__tsover_add(te,.002);for(let Re=0;Re=0||(Te=Ue,Ue=__tsover_add(Ue,b(__tsover_mul(de,-1),.002)),Ue>A))break}let Me=Te,Pe=Ue;for(let Re=0;Re<10;Re++){let de=__tsover_mul(__tsover_add(Me,Pe),.5);e(p.add(y.mul(de)))<0?Me=de:Pe=de}he=__tsover_mul(__tsover_add(Me,Pe),.5)}if(s==="span"){let Te=p.add(y.mul(A)),Ue=__tsover_add(__tsover_sub(A,T),.01),Me=a(0),Pe=a(0);for(let je=0;jeUe)break;Pe=Me,Me=__tsover_add(Me,b(fe,.002))}let Re=Pe,de=Me;for(let je=0;je<10;je++){let fe=__tsover_mul(__tsover_add(Re,de),.5);e(Te.sub(y.mul(fe)))>0?Re=fe:de=fe}he=__tsover_sub(A,__tsover_mul(__tsover_add(Re,de),.5))}let Ee=__tsover_mul(b(__tsover_sub(he,ee),0),.5);if(L=__tsover_mul(Ee,-1),K=ee,t==="raw"){let Te=p.add(y.mul(ee));G=__tsover_add(Te.x,__tsover_mul(Te.z,.7)),W=__tsover_add(Te.y,__tsover_mul(Te.z,.5))}if(t==="triplanar"){let Te=p.add(y.mul(ee)),Ue=.004,Me=__tsover_sub(e(f(__tsover_add(Te.x,Ue),Te.y,Te.z)),e(f(__tsover_sub(Te.x,Ue),Te.y,Te.z))),Pe=__tsover_sub(e(f(Te.x,__tsover_add(Te.y,Ue),Te.z)),e(f(Te.x,__tsover_sub(Te.y,Ue),Te.z))),Re=__tsover_sub(e(f(Te.x,Te.y,__tsover_add(Te.z,Ue))),e(f(Te.x,Te.y,__tsover_sub(Te.z,Ue)))),de=z(Me),je=z(Pe),fe=z(Re),Ke=l(__tsover_add(Te.y,2.17),__tsover_add(Te.z,5.31)),Ze=l(__tsover_add(Te.z,7.73),__tsover_add(Te.x,1.13)),at=C(l(Te.x,Te.y),Ze,je>=fe),Fe=C(at,C(at,Ke,de>=fe),de>=je);G=Fe.x,W=Fe.y}}return x(L,G,W,K)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fuv"},{type:"i",name:"rot"},{type:"i",name:"rBound"}],body:[0,[[13,"ro0",[6,"d.vec3f",[[1,[7,"fuv","x"],"-",[5,"0.5"]],[1,[5,"0.5"],"-",[7,"fuv","y"]],[4,"-",[5,"1.2"]]]]],[13,"rd0",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"1"]]]],[13,"ro",[6,"rotateVec3",["ro0","rot"]]],[13,"rd",[6,"rotateVec3",["rd0","rot"]]],[13,"steps",[6,"d.i32",[[6,"std.clamp",[[1,"rBound","*",[6,"d.f32",["STEP_SCALE"]]],[6,"d.f32",["STEP_MIN"]],[6,"d.f32",["STEP_MAX"]]]]]]],[13,"b",[6,"std.dot",["ro","rd"]]],[13,"perp",[6,"std.sqrt",[[6,"std.max",[[1,[6,"std.dot",["ro","ro"]],"-",[1,"b","*","b"]],[5,"0"]]]]]],[13,"halfSpan",[6,"std.sqrt",[[6,"std.max",[[1,[1,"rBound","*","rBound"],"-",[1,"perp","*","perp"]],[5,"0"]]]]]],[13,"tStart",[6,"std.max",[[1,[1,"b","*",[4,"-",[5,"1"]]],"-","halfSpan"],[5,"0"]]]],[13,"tEnd",[1,[1,[1,"b","*",[4,"-",[5,"1"]]],"+","halfSpan"],"+",[5,"0.01"]]],[12,"t","tStart"],[12,"tPrev","tStart"],[12,"minD",[6,"d.f32",[[5,"10"]]]],[12,"hit",[6,"d.f32",[[5,"0"]]]],[14,[12,"i",[5,"0"]],[1,"i","<","steps"],[102,"++","i"],[0,[[13,"p",[6,[7,"ro","add"],[[6,[7,"rd","mul"],["t"]]]]],[13,"dd",[6,"sdfFn",["p"]]],[2,"minD","=",[6,"std.min",["minD","dd"]]],[11,[1,"dd","<",[5,"0"]],[0,[[2,"hit","=",[6,"d.f32",[[5,"1"]]]],[17]]]],[11,[1,"t",">","tEnd"],[0,[[17]]]],[2,"tPrev","=","t"],[2,"t","=",[1,"t","+",[6,"std.max",["dd",[5,"0.002"]]]]]]]],[12,"fieldVal","minD"],[12,"patternU",[6,"d.f32",[[5,"0"]]]],[12,"patternV",[6,"d.f32",[[5,"0"]]]],[12,"viewDepth",[1,"tEnd","+",[5,"0.4"]]],[11,[1,"hit",">",[5,"0.5"]],[0,[[12,"eLo","tPrev"],[12,"eHi","t"],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"10"]],[102,"++","i"],[0,[[13,"mid",[1,[1,"eLo","+","eHi"],"*",[5,"0.5"]]],[13,"dm",[6,"sdfFn",[[6,[7,"ro","add"],[[6,[7,"rd","mul"],["mid"]]]]]]],[11,[1,"dm",">",[5,"0"]],[0,[[2,"eLo","=","mid"]]],[0,[[2,"eHi","=","mid"]]]]]]],[13,"tEnter",[1,[1,"eLo","+","eHi"],"*",[5,"0.5"]]],[12,"tExit","tEnter"],[11,[1,"chordMode","===",[103,"firstLobe"]],[0,[[12,"sInPrev","eHi"],[12,"sIn",[1,"eHi","+",[5,"0.002"]]],[14,[12,"i",[5,"0"]],[1,"i","<","steps"],[102,"++","i"],[0,[[13,"dd",[6,"sdfFn",[[6,[7,"ro","add"],[[6,[7,"rd","mul"],["sIn"]]]]]]],[11,[1,"dd",">=",[5,"0"]],[0,[[17]]]],[2,"sInPrev","=","sIn"],[2,"sIn","=",[1,"sIn","+",[6,"std.max",[[1,"dd","*",[4,"-",[5,"1"]]],[5,"0.002"]]]]],[11,[1,"sIn",">","tEnd"],[0,[[17]]]]]]],[12,"fLo","sInPrev"],[12,"fHi","sIn"],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"10"]],[102,"++","i"],[0,[[13,"mid",[1,[1,"fLo","+","fHi"],"*",[5,"0.5"]]],[13,"dm",[6,"sdfFn",[[6,[7,"ro","add"],[[6,[7,"rd","mul"],["mid"]]]]]]],[11,[1,"dm","<",[5,"0"]],[0,[[2,"fLo","=","mid"]]],[0,[[2,"fHi","=","mid"]]]]]]],[2,"tExit","=",[1,[1,"fLo","+","fHi"],"*",[5,"0.5"]]]]]],[11,[1,"chordMode","===",[103,"span"]],[0,[[13,"roB",[6,[7,"ro","add"],[[6,[7,"rd","mul"],["tEnd"]]]]],[13,"span",[1,[1,"tEnd","-","tStart"],"+",[5,"0.01"]]],[12,"s",[6,"d.f32",[[5,"0"]]]],[12,"sPrev",[6,"d.f32",[[5,"0"]]]],[14,[12,"i",[5,"0"]],[1,"i","<","steps"],[102,"++","i"],[0,[[13,"p",[6,[7,"roB","sub"],[[6,[7,"rd","mul"],["s"]]]]],[13,"dd",[6,"sdfFn",["p"]]],[11,[1,"dd","<",[5,"0"]],[0,[[17]]]],[11,[1,"s",">","span"],[0,[[17]]]],[2,"sPrev","=","s"],[2,"s","=",[1,"s","+",[6,"std.max",["dd",[5,"0.002"]]]]]]]],[12,"xLo","sPrev"],[12,"xHi","s"],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"10"]],[102,"++","i"],[0,[[13,"mid",[1,[1,"xLo","+","xHi"],"*",[5,"0.5"]]],[13,"dm",[6,"sdfFn",[[6,[7,"roB","sub"],[[6,[7,"rd","mul"],["mid"]]]]]]],[11,[1,"dm",">",[5,"0"]],[0,[[2,"xLo","=","mid"]]],[0,[[2,"xHi","=","mid"]]]]]]],[2,"tExit","=",[1,"tEnd","-",[1,[1,"xLo","+","xHi"],"*",[5,"0.5"]]]]]]],[13,"halfChord",[1,[6,"std.max",[[1,"tExit","-","tEnter"],[5,"0"]]],"*",[5,"0.5"]]],[2,"fieldVal","=",[1,"halfChord","*",[4,"-",[5,"1"]]]],[2,"viewDepth","=","tEnter"],[11,[1,"patternMode","===",[103,"raw"]],[0,[[13,"hp",[6,[7,"ro","add"],[[6,[7,"rd","mul"],["tEnter"]]]]],[2,"patternU","=",[1,[7,"hp","x"],"+",[1,[7,"hp","z"],"*",[5,"0.7"]]]],[2,"patternV","=",[1,[7,"hp","y"],"+",[1,[7,"hp","z"],"*",[5,"0.5"]]]]]]],[11,[1,"patternMode","===",[103,"triplanar"]],[0,[[13,"hp",[6,[7,"ro","add"],[[6,[7,"rd","mul"],["tEnter"]]]]],[13,"e2",[5,"0.004"]],[13,"nlx",[1,[6,"sdfFn",[[6,"d.vec3f",[[1,[7,"hp","x"],"+","e2"],[7,"hp","y"],[7,"hp","z"]]]]],"-",[6,"sdfFn",[[6,"d.vec3f",[[1,[7,"hp","x"],"-","e2"],[7,"hp","y"],[7,"hp","z"]]]]]]],[13,"nly",[1,[6,"sdfFn",[[6,"d.vec3f",[[7,"hp","x"],[1,[7,"hp","y"],"+","e2"],[7,"hp","z"]]]]],"-",[6,"sdfFn",[[6,"d.vec3f",[[7,"hp","x"],[1,[7,"hp","y"],"-","e2"],[7,"hp","z"]]]]]]],[13,"nlz",[1,[6,"sdfFn",[[6,"d.vec3f",[[7,"hp","x"],[7,"hp","y"],[1,[7,"hp","z"],"+","e2"]]]]],"-",[6,"sdfFn",[[6,"d.vec3f",[[7,"hp","x"],[7,"hp","y"],[1,[7,"hp","z"],"-","e2"]]]]]]],[13,"anx",[6,"std.abs",["nlx"]]],[13,"anyv",[6,"std.abs",["nly"]]],[13,"anz",[6,"std.abs",["nlz"]]],[13,"branch1",[6,"d.vec2f",[[1,[7,"hp","y"],"+",[5,"2.17"]],[1,[7,"hp","z"],"+",[5,"5.31"]]]]],[13,"branch2",[6,"d.vec2f",[[1,[7,"hp","z"],"+",[5,"7.73"]],[1,[7,"hp","x"],"+",[5,"1.13"]]]]],[13,"branch3",[6,"d.vec2f",[[7,"hp","x"],[7,"hp","y"]]]],[13,"branch23",[6,"std.select",["branch3","branch2",[1,"anyv",">=","anz"]]]],[13,"innerPick",[6,"std.select",["branch23","branch1",[1,"anx",">=","anz"]]]],[13,"pattern",[6,"std.select",["branch23","innerPick",[1,"anx",">=","anyv"]]]],[2,"patternU","=",[7,"pattern","x"]],[2,"patternV","=",[7,"pattern","y"]]]]]]]],[10,[6,"d.vec4f",["fieldVal","patternU","patternV","viewDepth"]]]]]},externals:{"d.vec3f":()=>f,rotateVec3:()=>yl,"d.i32":()=>Z,"std.clamp":()=>$,"d.f32":()=>a,STEP_SCALE:()=>n,STEP_MIN:()=>r,STEP_MAX:()=>o,"std.dot":()=>se,"std.sqrt":()=>be,"std.max":()=>b,sdfFn:()=>e,"std.min":()=>oe,chordMode:()=>s,patternMode:()=>t,"std.abs":()=>z,"d.vec2f":()=>l,"std.select":()=>C,"d.vec4f":()=>x}})&&i.f)({})).$name("raymarchedField")}function pG(e,t="none",s="span"){return oy(e,t,s)}var c1="rgba32float",H7=1536;function jc(){return _o()?768:H7}var fG=[256,320,384,512,640,768,896,1024,1280,1536];function j7(e,t,s,r,o,n){if(!(r>0)||!(s>0))return o;let i=_o()?.5:1,d=Math.max(e,t)*s*r*i,c=o;for(let _ of fG){if(_>o)break;if(_>=d){c=_;break}}return n>0&&cn*.78&&(c=Math.min(n,o)),c}var Cn=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({rot:n5(16,a5(32,Hc)),rBound:a,spanX:a,spanY:a,originX:a,originY:a,activeRes:R,pA:a,pB:a,pC:a,pD:a,mb0:f,mb1:f,mb2:f,mb3:f,mb4:f,mb5:f,mb6:f,mb7:f}),"MarchParams");function ny(){return{layout:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({field:{storageTexture:Mo(c1,"write-only")},params:{uniform:Cn}}),"layout"),MarchParams:Cn}}function K7(e,t){return v.fn([R,R])((s=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(s.f=((r,o)=>{"use gpu";let n=e.$.params,i=a(n.activeRes),d=t(l(__tsover_add(n.originX,__tsover_mul(__tsover_div(__tsover_add(a(r),.5),i),n.spanX)),__tsover_add(n.originY,__tsover_mul(__tsover_div(__tsover_add(a(o),.5),i),n.spanY))),n.rot,n.rBound);jr(e.$.field,Ge(r,o),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"p",[7,[7,"layout","$"],"params"]],[13,"activeResF",[6,"d.f32",[[7,"p","activeRes"]]]],[13,"uv",[6,"d.vec2f",[[1,[7,"p","originX"],"+",[1,[1,[1,[6,"d.f32",["cx"]],"+",[5,"0.5"]],"/","activeResF"],"*",[7,"p","spanX"]]],[1,[7,"p","originY"],"+",[1,[1,[1,[6,"d.f32",["cy"]],"+",[5,"0.5"]],"/","activeResF"],"*",[7,"p","spanY"]]]]]],[13,"field",[6,"marchFn",["uv",[7,"p","rot"],[7,"p","rBound"]]]],[6,"std.textureStore",[[7,[7,"layout","$"],"field"],[6,"d.vec2u",["cx","cy"]],"field"]]]]},externals:{layout:()=>e,"d.f32":()=>a,"d.vec2f":()=>l,marchFn:()=>t,"std.textureStore":()=>jr,"d.vec2u":()=>Ge}})&&s.f)({})).$name("volumetricFieldMarch")}var bf=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({originX:a,originY:a,spanX:a,spanY:a,activeResF:a,rBound:a}),"SampleParams");function vG(){let e=(globalThis.__TYPEGPU_AUTONAME__??(s=>s))(v.bindGroupLayout({field:{texture:ps(a),sampleType:"unfilterable-float"},params:{uniform:bf}}),"sampleLayout"),t=v.fn([a,a],x)((s=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(s.f=((r,o)=>{"use gpu";let n=__tsover_sub(e.$.params.activeResF,1),i=R($(r,a(0),n)),d=R($(o,a(0),n));return Be(e.$.field,Ge(i,d),0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"xi"},{type:"i",name:"yi"}],body:[0,[[13,"maxT",[1,[7,[7,[7,"sampleLayout","$"],"params"],"activeResF"],"-",[5,"1"]]],[13,"tx",[6,"d.u32",[[6,"std.clamp",["xi",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"ty",[6,"d.u32",[[6,"std.clamp",["yi",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[10,[6,"std.textureLoad",[[7,[7,"sampleLayout","$"],"field"],[6,"d.vec2u",["tx","ty"]],[5,"0"]]]]]]},externals:{sampleLayout:()=>e,"d.u32":()=>R,"std.clamp":()=>$,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge}})&&s.f)({})).$name("fieldFetchTexel");return{sampleLayout:e,fieldSample:v.fn([l],x)((s=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(s.f=(r=>{"use gpu";let o=e.$.params,n=$(r.x,o.originX,__tsover_add(o.originX,o.spanX)),i=$(r.y,o.originY,__tsover_add(o.originY,o.spanY)),d=j(l(__tsover_sub(r.x,n),__tsover_sub(r.y,i))),c=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(n,o.originX),o.spanX),o.activeResF),.5),_=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(i,o.originY),o.spanY),o.activeResF),.5),u=q(c),m=q(_),p=__tsover_sub(c,u),y=__tsover_sub(_,m),h=__tsover_mul(p,p),g=__tsover_mul(h,p),w=__tsover_sub(__tsover_add(__tsover_mul(g,-.5),h),__tsover_mul(p,.5)),S=__tsover_add(__tsover_sub(__tsover_mul(g,1.5),__tsover_mul(h,2.5)),1),T=__tsover_add(__tsover_add(__tsover_mul(g,-1.5),__tsover_mul(h,2)),__tsover_mul(p,.5)),A=__tsover_sub(__tsover_mul(g,.5),__tsover_mul(h,.5)),P=__tsover_mul(y,y),U=__tsover_mul(P,y),D=__tsover_sub(__tsover_add(__tsover_mul(U,-.5),P),__tsover_mul(y,.5)),O=__tsover_add(__tsover_sub(__tsover_mul(U,1.5),__tsover_mul(P,2.5)),1),L=__tsover_add(__tsover_add(__tsover_mul(U,-1.5),__tsover_mul(P,2)),__tsover_mul(y,.5)),G=__tsover_sub(__tsover_mul(U,.5),__tsover_mul(P,.5)),W=t(__tsover_sub(u,1),__tsover_sub(m,1)),K=t(u,__tsover_sub(m,1)),Q=t(__tsover_add(u,1),__tsover_sub(m,1)),te=t(__tsover_add(u,2),__tsover_sub(m,1)),ee=t(__tsover_sub(u,1),m),he=t(u,m),Ee=t(__tsover_add(u,1),m),Te=t(__tsover_add(u,2),m),Ue=t(__tsover_sub(u,1),__tsover_add(m,1)),Me=t(u,__tsover_add(m,1)),Pe=t(__tsover_add(u,1),__tsover_add(m,1)),Re=t(__tsover_add(u,2),__tsover_add(m,1)),de=t(__tsover_sub(u,1),__tsover_add(m,2)),je=t(u,__tsover_add(m,2)),fe=t(__tsover_add(u,1),__tsover_add(m,2)),Ke=t(__tsover_add(u,2),__tsover_add(m,2)),Ze=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(W.r,w),D),__tsover_mul(__tsover_mul(K.r,S),D)),__tsover_mul(__tsover_mul(Q.r,T),D)),__tsover_mul(__tsover_mul(te.r,A),D)),__tsover_mul(__tsover_mul(ee.r,w),O)),__tsover_mul(__tsover_mul(he.r,S),O)),__tsover_mul(__tsover_mul(Ee.r,T),O)),__tsover_mul(__tsover_mul(Te.r,A),O)),__tsover_mul(__tsover_mul(Ue.r,w),L)),__tsover_mul(__tsover_mul(Me.r,S),L)),__tsover_mul(__tsover_mul(Pe.r,T),L)),__tsover_mul(__tsover_mul(Re.r,A),L)),__tsover_mul(__tsover_mul(de.r,w),G)),__tsover_mul(__tsover_mul(je.r,S),G)),__tsover_mul(__tsover_mul(fe.r,T),G)),__tsover_mul(__tsover_mul(Ke.r,A),G)),at=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(W.a,w),D),__tsover_mul(__tsover_mul(K.a,S),D)),__tsover_mul(__tsover_mul(Q.a,T),D)),__tsover_mul(__tsover_mul(te.a,A),D)),__tsover_mul(__tsover_mul(ee.a,w),O)),__tsover_mul(__tsover_mul(he.a,S),O)),__tsover_mul(__tsover_mul(Ee.a,T),O)),__tsover_mul(__tsover_mul(Te.a,A),O)),__tsover_mul(__tsover_mul(Ue.a,w),L)),__tsover_mul(__tsover_mul(Me.a,S),L)),__tsover_mul(__tsover_mul(Pe.a,T),L)),__tsover_mul(__tsover_mul(Re.a,A),L)),__tsover_mul(__tsover_mul(de.a,w),G)),__tsover_mul(__tsover_mul(je.a,S),G)),__tsover_mul(__tsover_mul(fe.a,T),G)),__tsover_mul(__tsover_mul(Ke.a,A),G)),Fe=X(X(he,Ee,p),X(Me,Pe,p),y),Ie=oe(oe(he.r,Ee.r),oe(Me.r,Pe.r)),st=b(b(he.r,Ee.r),b(Me.r,Pe.r)),Xe=$(at,oe(oe(he.a,Ee.a),oe(Me.a,Pe.a)),b(b(he.a,Ee.a),b(Me.a,Pe.a))),We=__tsover_add($(Ze,Ie,st),d);return x(X(We,b(__tsover_sub(j(l(__tsover_sub(r.x,.5),__tsover_sub(r.y,.5))),o.rBound),We),re(a(0),.25,d)),Fe.g,Fe.b,Xe)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"p",[7,[7,"sampleLayout","$"],"params"]],[13,"uxc",[6,"std.clamp",[[7,"uv","x"],[7,"p","originX"],[1,[7,"p","originX"],"+",[7,"p","spanX"]]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],[7,"p","originY"],[1,[7,"p","originY"],"+",[7,"p","spanY"]]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-",[7,"p","originX"]],"/",[7,"p","spanX"]],"*",[7,"p","activeResF"]],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-",[7,"p","originY"]],"/",[7,"p","spanY"]],"*",[7,"p","activeResF"]],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"tx2",[1,"fx","*","fx"]],[13,"tx3",[1,"tx2","*","fx"]],[13,"wx0",[1,[1,[1,"tx3","*",[4,"-",[5,"0.5"]]],"+","tx2"],"-",[1,"fx","*",[5,"0.5"]]]],[13,"wx1",[1,[1,[1,"tx3","*",[5,"1.5"]],"-",[1,"tx2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wx2",[1,[1,[1,"tx3","*",[4,"-",[5,"1.5"]]],"+",[1,"tx2","*",[5,"2"]]],"+",[1,"fx","*",[5,"0.5"]]]],[13,"wx3",[1,[1,"tx3","*",[5,"0.5"]],"-",[1,"tx2","*",[5,"0.5"]]]],[13,"ty2",[1,"fy","*","fy"]],[13,"ty3",[1,"ty2","*","fy"]],[13,"wy0",[1,[1,[1,"ty3","*",[4,"-",[5,"0.5"]]],"+","ty2"],"-",[1,"fy","*",[5,"0.5"]]]],[13,"wy1",[1,[1,[1,"ty3","*",[5,"1.5"]],"-",[1,"ty2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wy2",[1,[1,[1,"ty3","*",[4,"-",[5,"1.5"]]],"+",[1,"ty2","*",[5,"2"]]],"+",[1,"fy","*",[5,"0.5"]]]],[13,"wy3",[1,[1,"ty3","*",[5,"0.5"]],"-",[1,"ty2","*",[5,"0.5"]]]],[13,"k00",[6,"fetchTexel",[[1,"x0","-",[5,"1"]],[1,"y0","-",[5,"1"]]]]],[13,"k01",[6,"fetchTexel",["x0",[1,"y0","-",[5,"1"]]]]],[13,"k02",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],[1,"y0","-",[5,"1"]]]]],[13,"k03",[6,"fetchTexel",[[1,"x0","+",[5,"2"]],[1,"y0","-",[5,"1"]]]]],[13,"k10",[6,"fetchTexel",[[1,"x0","-",[5,"1"]],"y0"]]],[13,"k11",[6,"fetchTexel",["x0","y0"]]],[13,"k12",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],"y0"]]],[13,"k13",[6,"fetchTexel",[[1,"x0","+",[5,"2"]],"y0"]]],[13,"k20",[6,"fetchTexel",[[1,"x0","-",[5,"1"]],[1,"y0","+",[5,"1"]]]]],[13,"k21",[6,"fetchTexel",["x0",[1,"y0","+",[5,"1"]]]]],[13,"k22",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],[1,"y0","+",[5,"1"]]]]],[13,"k23",[6,"fetchTexel",[[1,"x0","+",[5,"2"]],[1,"y0","+",[5,"1"]]]]],[13,"k30",[6,"fetchTexel",[[1,"x0","-",[5,"1"]],[1,"y0","+",[5,"2"]]]]],[13,"k31",[6,"fetchTexel",["x0",[1,"y0","+",[5,"2"]]]]],[13,"k32",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],[1,"y0","+",[5,"2"]]]]],[13,"k33",[6,"fetchTexel",[[1,"x0","+",[5,"2"]],[1,"y0","+",[5,"2"]]]]],[13,"rAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","r"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","r"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","r"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","r"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","r"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","r"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","r"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","r"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","r"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","r"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","r"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","r"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","r"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","r"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","r"],"*","wx3"],"*","wy3"]]],[13,"aAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","a"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","a"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","a"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","a"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","a"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","a"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","a"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","a"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","a"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","a"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","a"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","a"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","a"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","a"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","a"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","a"],"*","wx3"],"*","wy3"]]],[13,"bl",[6,"std.mix",[[6,"std.mix",["k11","k12","fx"]],[6,"std.mix",["k21","k22","fx"]],"fy"]]],[13,"rMin",[6,"std.min",[[6,"std.min",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.min",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"rMax",[6,"std.max",[[6,"std.max",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.max",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"aMin",[6,"std.min",[[6,"std.min",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.min",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aMax",[6,"std.max",[[6,"std.max",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.max",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aOut",[6,"std.clamp",["aAcc","aMin","aMax"]]],[13,"rNear",[1,[6,"std.clamp",["rAcc","rMin","rMax"]],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-",[7,"p","rBound"]]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"bl","g"],[7,"bl","b"],"aOut"]]]]]},externals:{sampleLayout:()=>e,"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,fetchTexel:()=>t,"std.mix":()=>X,"std.min":()=>oe,"std.max":()=>b,"std.smoothstep":()=>re,"d.f32":()=>a,"d.vec4f":()=>x}})&&s.f)({})).$name("fieldSample"),fieldSampleFast:v.fn([l],x)((s=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(s.f=(r=>{"use gpu";let o=e.$.params,n=$(r.x,o.originX,__tsover_add(o.originX,o.spanX)),i=$(r.y,o.originY,__tsover_add(o.originY,o.spanY)),d=j(l(__tsover_sub(r.x,n),__tsover_sub(r.y,i))),c=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(n,o.originX),o.spanX),o.activeResF),.5),_=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(i,o.originY),o.spanY),o.activeResF),.5),u=q(c),m=q(_),p=__tsover_sub(c,u),y=__tsover_sub(_,m),h=t(u,m),g=t(__tsover_add(u,1),m),w=t(u,__tsover_add(m,1)),S=t(__tsover_add(u,1),__tsover_add(m,1)),T=X(X(h,g,p),X(w,S,p),y),A=__tsover_add(T.r,d);return x(X(A,b(__tsover_sub(j(l(__tsover_sub(r.x,.5),__tsover_sub(r.y,.5))),o.rBound),A),re(a(0),.25,d)),T.g,T.b,T.a)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"p",[7,[7,"sampleLayout","$"],"params"]],[13,"uxc",[6,"std.clamp",[[7,"uv","x"],[7,"p","originX"],[1,[7,"p","originX"],"+",[7,"p","spanX"]]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],[7,"p","originY"],[1,[7,"p","originY"],"+",[7,"p","spanY"]]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-",[7,"p","originX"]],"/",[7,"p","spanX"]],"*",[7,"p","activeResF"]],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-",[7,"p","originY"]],"/",[7,"p","spanY"]],"*",[7,"p","activeResF"]],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"t00",[6,"fetchTexel",["x0","y0"]]],[13,"t10",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],"y0"]]],[13,"t01",[6,"fetchTexel",["x0",[1,"y0","+",[5,"1"]]]]],[13,"t11",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],[1,"y0","+",[5,"1"]]]]],[13,"bl",[6,"std.mix",[[6,"std.mix",["t00","t10","fx"]],[6,"std.mix",["t01","t11","fx"]],"fy"]]],[13,"rNear",[1,[7,"bl","r"],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-",[7,"p","rBound"]]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"bl","g"],[7,"bl","b"],[7,"bl","a"]]]]]]},externals:{sampleLayout:()=>e,"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,fetchTexel:()=>t,"std.mix":()=>X,"std.max":()=>b,"std.smoothstep":()=>re,"d.f32":()=>a,"d.vec4f":()=>x}})&&s.f)({})).$name("fieldSampleFast"),SampleParams:bf}}function Z7(e,t,s,r,o={}){let n=jc(),i=(globalThis.__TYPEGPU_AUTONAME__??(m=>m))(e.createTexture({size:[n,n],format:c1}).$usage("storage","sampled"),"fieldTexture"),d=o.paramsUniform??e.createUniform(Cn);r(()=>i.destroy());let c=e.createBindGroup(t,{field:i,params:d.buffer,...o.sdfSourceTexture?{sdfSource:o.sdfSourceTexture}:{}}),_=qp(e,(m=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(m.f=((p,y)=>{"use gpu";s(p,y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[6,"kernel",["cx","cy"]]]]},externals:{kernel:()=>s}})&&m.f)({}),{bindGroup:c});for(let m of o.extraBindGroups??[])_=_.with(m);let u=n;return{computeStep:_,fieldTexture:i,maxRes:n,get activeRes(){return u},writeParams(m){d.write(m)},dispatch(m){u=m,_.dispatchThreads(m,m)}}}function Q7(){return{layout:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({field:{storageTexture:Mo(c1,"write-only")},params:{uniform:Cn},sdfSource:{texture:ps(a)}}),"layout"),MarchParams:Cn}}function ay(){return{fieldSampleArg:v.fn([l,ps(a),a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=$(t.x,r,__tsover_add(r,n)),u=$(t.y,o,__tsover_add(o,i)),m=j(l(__tsover_sub(t.x,_),__tsover_sub(t.y,u))),p=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(_,r),n),d),.5),y=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(u,o),i),d),.5),h=q(p),g=q(y),w=__tsover_sub(p,h),S=__tsover_sub(y,g),T=__tsover_mul(w,w),A=__tsover_mul(T,w),P=__tsover_sub(__tsover_add(__tsover_mul(A,-.5),T),__tsover_mul(w,.5)),U=__tsover_add(__tsover_sub(__tsover_mul(A,1.5),__tsover_mul(T,2.5)),1),D=__tsover_add(__tsover_add(__tsover_mul(A,-1.5),__tsover_mul(T,2)),__tsover_mul(w,.5)),O=__tsover_sub(__tsover_mul(A,.5),__tsover_mul(T,.5)),L=__tsover_mul(S,S),G=__tsover_mul(L,S),W=__tsover_sub(__tsover_add(__tsover_mul(G,-.5),L),__tsover_mul(S,.5)),K=__tsover_add(__tsover_sub(__tsover_mul(G,1.5),__tsover_mul(L,2.5)),1),Q=__tsover_add(__tsover_add(__tsover_mul(G,-1.5),__tsover_mul(L,2)),__tsover_mul(S,.5)),te=__tsover_sub(__tsover_mul(G,.5),__tsover_mul(L,.5)),ee=__tsover_sub(d,1),he=R($(__tsover_sub(h,1),a(0),ee)),Ee=R($(h,a(0),ee)),Te=R($(__tsover_add(h,1),a(0),ee)),Ue=R($(__tsover_add(h,2),a(0),ee)),Me=R($(__tsover_sub(g,1),a(0),ee)),Pe=R($(g,a(0),ee)),Re=R($(__tsover_add(g,1),a(0),ee)),de=R($(__tsover_add(g,2),a(0),ee)),je=Be(s,Ge(he,Me),0),fe=Be(s,Ge(Ee,Me),0),Ke=Be(s,Ge(Te,Me),0),Ze=Be(s,Ge(Ue,Me),0),at=Be(s,Ge(he,Pe),0),Fe=Be(s,Ge(Ee,Pe),0),Ie=Be(s,Ge(Te,Pe),0),st=Be(s,Ge(Ue,Pe),0),Xe=Be(s,Ge(he,Re),0),We=Be(s,Ge(Ee,Re),0),Ve=Be(s,Ge(Te,Re),0),Ft=Be(s,Ge(Ue,Re),0),Gt=Be(s,Ge(he,de),0),os=Be(s,Ge(Ee,de),0),bs=Be(s,Ge(Te,de),0),ls=Be(s,Ge(Ue,de),0),As=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(je.r,P),W),__tsover_mul(__tsover_mul(fe.r,U),W)),__tsover_mul(__tsover_mul(Ke.r,D),W)),__tsover_mul(__tsover_mul(Ze.r,O),W)),__tsover_mul(__tsover_mul(at.r,P),K)),__tsover_mul(__tsover_mul(Fe.r,U),K)),__tsover_mul(__tsover_mul(Ie.r,D),K)),__tsover_mul(__tsover_mul(st.r,O),K)),__tsover_mul(__tsover_mul(Xe.r,P),Q)),__tsover_mul(__tsover_mul(We.r,U),Q)),__tsover_mul(__tsover_mul(Ve.r,D),Q)),__tsover_mul(__tsover_mul(Ft.r,O),Q)),__tsover_mul(__tsover_mul(Gt.r,P),te)),__tsover_mul(__tsover_mul(os.r,U),te)),__tsover_mul(__tsover_mul(bs.r,D),te)),__tsover_mul(__tsover_mul(ls.r,O),te)),vs=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(je.a,P),W),__tsover_mul(__tsover_mul(fe.a,U),W)),__tsover_mul(__tsover_mul(Ke.a,D),W)),__tsover_mul(__tsover_mul(Ze.a,O),W)),__tsover_mul(__tsover_mul(at.a,P),K)),__tsover_mul(__tsover_mul(Fe.a,U),K)),__tsover_mul(__tsover_mul(Ie.a,D),K)),__tsover_mul(__tsover_mul(st.a,O),K)),__tsover_mul(__tsover_mul(Xe.a,P),Q)),__tsover_mul(__tsover_mul(We.a,U),Q)),__tsover_mul(__tsover_mul(Ve.a,D),Q)),__tsover_mul(__tsover_mul(Ft.a,O),Q)),__tsover_mul(__tsover_mul(Gt.a,P),te)),__tsover_mul(__tsover_mul(os.a,U),te)),__tsover_mul(__tsover_mul(bs.a,D),te)),__tsover_mul(__tsover_mul(ls.a,O),te)),ys=X(X(Fe,Ie,w),X(We,Ve,w),S),Ks=oe(oe(Fe.r,Ie.r),oe(We.r,Ve.r)),yr=b(b(Fe.r,Ie.r),b(We.r,Ve.r)),Ur=$(vs,oe(oe(Fe.a,Ie.a),oe(We.a,Ve.a)),b(b(Fe.a,Ie.a),b(We.a,Ve.a))),Ms=__tsover_add($(As,Ks,yr),m);return x(X(Ms,b(__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),c),Ms),re(a(0),.25,m)),ys.g,ys.b,Ur)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"field"},{type:"i",name:"originX"},{type:"i",name:"originY"},{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"},{type:"i",name:"rBound"}],body:[0,[[13,"uxc",[6,"std.clamp",[[7,"uv","x"],"originX",[1,"originX","+","spanX"]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],"originY",[1,"originY","+","spanY"]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-","originX"],"/","spanX"],"*","activeResF"],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-","originY"],"/","spanY"],"*","activeResF"],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"tx2",[1,"fx","*","fx"]],[13,"tx3",[1,"tx2","*","fx"]],[13,"wx0",[1,[1,[1,"tx3","*",[4,"-",[5,"0.5"]]],"+","tx2"],"-",[1,"fx","*",[5,"0.5"]]]],[13,"wx1",[1,[1,[1,"tx3","*",[5,"1.5"]],"-",[1,"tx2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wx2",[1,[1,[1,"tx3","*",[4,"-",[5,"1.5"]]],"+",[1,"tx2","*",[5,"2"]]],"+",[1,"fx","*",[5,"0.5"]]]],[13,"wx3",[1,[1,"tx3","*",[5,"0.5"]],"-",[1,"tx2","*",[5,"0.5"]]]],[13,"ty2",[1,"fy","*","fy"]],[13,"ty3",[1,"ty2","*","fy"]],[13,"wy0",[1,[1,[1,"ty3","*",[4,"-",[5,"0.5"]]],"+","ty2"],"-",[1,"fy","*",[5,"0.5"]]]],[13,"wy1",[1,[1,[1,"ty3","*",[5,"1.5"]],"-",[1,"ty2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wy2",[1,[1,[1,"ty3","*",[4,"-",[5,"1.5"]]],"+",[1,"ty2","*",[5,"2"]]],"+",[1,"fy","*",[5,"0.5"]]]],[13,"wy3",[1,[1,"ty3","*",[5,"0.5"]],"-",[1,"ty2","*",[5,"0.5"]]]],[13,"maxT",[1,"activeResF","-",[5,"1"]]],[13,"cxm",[6,"d.u32",[[6,"std.clamp",[[1,"x0","-",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx0",[6,"d.u32",[[6,"std.clamp",["x0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx1",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx2",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"2"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cym",[6,"d.u32",[[6,"std.clamp",[[1,"y0","-",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy0",[6,"d.u32",[[6,"std.clamp",["y0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy1",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy2",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"2"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"k00",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cym"]],[5,"0"]]]],[13,"k01",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cym"]],[5,"0"]]]],[13,"k02",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cym"]],[5,"0"]]]],[13,"k03",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cym"]],[5,"0"]]]],[13,"k10",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy0"]],[5,"0"]]]],[13,"k11",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy0"]],[5,"0"]]]],[13,"k12",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy0"]],[5,"0"]]]],[13,"k13",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy0"]],[5,"0"]]]],[13,"k20",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy1"]],[5,"0"]]]],[13,"k21",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy1"]],[5,"0"]]]],[13,"k22",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy1"]],[5,"0"]]]],[13,"k23",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy1"]],[5,"0"]]]],[13,"k30",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy2"]],[5,"0"]]]],[13,"k31",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy2"]],[5,"0"]]]],[13,"k32",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy2"]],[5,"0"]]]],[13,"k33",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy2"]],[5,"0"]]]],[13,"rAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","r"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","r"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","r"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","r"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","r"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","r"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","r"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","r"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","r"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","r"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","r"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","r"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","r"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","r"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","r"],"*","wx3"],"*","wy3"]]],[13,"aAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","a"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","a"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","a"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","a"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","a"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","a"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","a"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","a"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","a"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","a"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","a"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","a"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","a"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","a"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","a"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","a"],"*","wx3"],"*","wy3"]]],[13,"bl",[6,"std.mix",[[6,"std.mix",["k11","k12","fx"]],[6,"std.mix",["k21","k22","fx"]],"fy"]]],[13,"rMin",[6,"std.min",[[6,"std.min",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.min",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"rMax",[6,"std.max",[[6,"std.max",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.max",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"aMin",[6,"std.min",[[6,"std.min",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.min",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aMax",[6,"std.max",[[6,"std.max",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.max",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aOut",[6,"std.clamp",["aAcc","aMin","aMax"]]],[13,"rNear",[1,[6,"std.clamp",["rAcc","rMin","rMax"]],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-","rBound"]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"bl","g"],[7,"bl","b"],"aOut"]]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,"d.u32":()=>R,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.mix":()=>X,"std.min":()=>oe,"std.max":()=>b,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({})).$name("fieldSampleArg"),fieldSampleGradArg:v.fn([l,ps(a),a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=$(t.x,r,__tsover_add(r,n)),u=$(t.y,o,__tsover_add(o,i)),m=j(l(__tsover_sub(t.x,_),__tsover_sub(t.y,u))),p=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(_,r),n),d),.5),y=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(u,o),i),d),.5),h=q(p),g=q(y),w=__tsover_sub(p,h),S=__tsover_sub(y,g),T=__tsover_mul(w,w),A=__tsover_mul(T,w),P=__tsover_sub(__tsover_add(__tsover_mul(A,-.5),T),__tsover_mul(w,.5)),U=__tsover_add(__tsover_sub(__tsover_mul(A,1.5),__tsover_mul(T,2.5)),1),D=__tsover_add(__tsover_add(__tsover_mul(A,-1.5),__tsover_mul(T,2)),__tsover_mul(w,.5)),O=__tsover_sub(__tsover_mul(A,.5),__tsover_mul(T,.5)),L=__tsover_mul(S,S),G=__tsover_mul(L,S),W=__tsover_sub(__tsover_add(__tsover_mul(G,-.5),L),__tsover_mul(S,.5)),K=__tsover_add(__tsover_sub(__tsover_mul(G,1.5),__tsover_mul(L,2.5)),1),Q=__tsover_add(__tsover_add(__tsover_mul(G,-1.5),__tsover_mul(L,2)),__tsover_mul(S,.5)),te=__tsover_sub(__tsover_mul(G,.5),__tsover_mul(L,.5)),ee=__tsover_sub(1,w),he=__tsover_mul(__tsover_mul(__tsover_mul(ee,ee),ee),.16666667),Ee=__tsover_add(__tsover_sub(__tsover_mul(A,.5),T),.66666667),Te=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(A,-.5),__tsover_mul(T,.5)),__tsover_mul(w,.5)),.16666667),Ue=__tsover_mul(A,.16666667),Me=__tsover_mul(__tsover_mul(ee,ee),-.5),Pe=__tsover_sub(__tsover_mul(T,1.5),__tsover_mul(w,2)),Re=__tsover_add(__tsover_add(__tsover_mul(T,-1.5),w),.5),de=__tsover_mul(T,.5),je=__tsover_sub(1,S),fe=__tsover_mul(__tsover_mul(__tsover_mul(je,je),je),.16666667),Ke=__tsover_add(__tsover_sub(__tsover_mul(G,.5),L),.66666667),Ze=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(G,-.5),__tsover_mul(L,.5)),__tsover_mul(S,.5)),.16666667),at=__tsover_mul(G,.16666667),Fe=__tsover_mul(__tsover_mul(je,je),-.5),Ie=__tsover_sub(__tsover_mul(L,1.5),__tsover_mul(S,2)),st=__tsover_add(__tsover_add(__tsover_mul(L,-1.5),S),.5),Xe=__tsover_mul(L,.5),We=__tsover_sub(d,1),Ve=R($(__tsover_sub(h,1),a(0),We)),Ft=R($(h,a(0),We)),Gt=R($(__tsover_add(h,1),a(0),We)),os=R($(__tsover_add(h,2),a(0),We)),bs=R($(__tsover_sub(g,1),a(0),We)),ls=R($(g,a(0),We)),As=R($(__tsover_add(g,1),a(0),We)),vs=R($(__tsover_add(g,2),a(0),We)),ys=Be(s,Ge(Ve,bs),0),Ks=Be(s,Ge(Ft,bs),0),yr=Be(s,Ge(Gt,bs),0),Ur=Be(s,Ge(os,bs),0),Ms=Be(s,Ge(Ve,ls),0),Cr=Be(s,Ge(Ft,ls),0),hr=Be(s,Ge(Gt,ls),0),mo=Be(s,Ge(os,ls),0),po=Be(s,Ge(Ve,As),0),Rr=Be(s,Ge(Ft,As),0),nr=Be(s,Ge(Gt,As),0),zr=Be(s,Ge(os,As),0),Ps=Be(s,Ge(Ve,vs),0),Gr=Be(s,Ge(Ft,vs),0),Vo=Be(s,Ge(Gt,vs),0),Qr=Be(s,Ge(os,vs),0),ci=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(ys.r,P),W),__tsover_mul(__tsover_mul(Ks.r,U),W)),__tsover_mul(__tsover_mul(yr.r,D),W)),__tsover_mul(__tsover_mul(Ur.r,O),W)),__tsover_mul(__tsover_mul(Ms.r,P),K)),__tsover_mul(__tsover_mul(Cr.r,U),K)),__tsover_mul(__tsover_mul(hr.r,D),K)),__tsover_mul(__tsover_mul(mo.r,O),K)),__tsover_mul(__tsover_mul(po.r,P),Q)),__tsover_mul(__tsover_mul(Rr.r,U),Q)),__tsover_mul(__tsover_mul(nr.r,D),Q)),__tsover_mul(__tsover_mul(zr.r,O),Q)),__tsover_mul(__tsover_mul(Ps.r,P),te)),__tsover_mul(__tsover_mul(Gr.r,U),te)),__tsover_mul(__tsover_mul(Vo.r,D),te)),__tsover_mul(__tsover_mul(Qr.r,O),te)),ba=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(ys.a,P),W),__tsover_mul(__tsover_mul(Ks.a,U),W)),__tsover_mul(__tsover_mul(yr.a,D),W)),__tsover_mul(__tsover_mul(Ur.a,O),W)),__tsover_mul(__tsover_mul(Ms.a,P),K)),__tsover_mul(__tsover_mul(Cr.a,U),K)),__tsover_mul(__tsover_mul(hr.a,D),K)),__tsover_mul(__tsover_mul(mo.a,O),K)),__tsover_mul(__tsover_mul(po.a,P),Q)),__tsover_mul(__tsover_mul(Rr.a,U),Q)),__tsover_mul(__tsover_mul(nr.a,D),Q)),__tsover_mul(__tsover_mul(zr.a,O),Q)),__tsover_mul(__tsover_mul(Ps.a,P),te)),__tsover_mul(__tsover_mul(Gr.a,U),te)),__tsover_mul(__tsover_mul(Vo.a,D),te)),__tsover_mul(__tsover_mul(Qr.a,O),te)),_i=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(ys.r,Me),fe),__tsover_mul(__tsover_mul(Ks.r,Pe),fe)),__tsover_mul(__tsover_mul(yr.r,Re),fe)),__tsover_mul(__tsover_mul(Ur.r,de),fe)),__tsover_mul(__tsover_mul(Ms.r,Me),Ke)),__tsover_mul(__tsover_mul(Cr.r,Pe),Ke)),__tsover_mul(__tsover_mul(hr.r,Re),Ke)),__tsover_mul(__tsover_mul(mo.r,de),Ke)),__tsover_mul(__tsover_mul(po.r,Me),Ze)),__tsover_mul(__tsover_mul(Rr.r,Pe),Ze)),__tsover_mul(__tsover_mul(nr.r,Re),Ze)),__tsover_mul(__tsover_mul(zr.r,de),Ze)),__tsover_mul(__tsover_mul(Ps.r,Me),at)),__tsover_mul(__tsover_mul(Gr.r,Pe),at)),__tsover_mul(__tsover_mul(Vo.r,Re),at)),__tsover_mul(__tsover_mul(Qr.r,de),at)),li=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(ys.r,he),Fe),__tsover_mul(__tsover_mul(Ks.r,Ee),Fe)),__tsover_mul(__tsover_mul(yr.r,Te),Fe)),__tsover_mul(__tsover_mul(Ur.r,Ue),Fe)),__tsover_mul(__tsover_mul(Ms.r,he),Ie)),__tsover_mul(__tsover_mul(Cr.r,Ee),Ie)),__tsover_mul(__tsover_mul(hr.r,Te),Ie)),__tsover_mul(__tsover_mul(mo.r,Ue),Ie)),__tsover_mul(__tsover_mul(po.r,he),st)),__tsover_mul(__tsover_mul(Rr.r,Ee),st)),__tsover_mul(__tsover_mul(nr.r,Te),st)),__tsover_mul(__tsover_mul(zr.r,Ue),st)),__tsover_mul(__tsover_mul(Ps.r,he),Xe)),__tsover_mul(__tsover_mul(Gr.r,Ee),Xe)),__tsover_mul(__tsover_mul(Vo.r,Te),Xe)),__tsover_mul(__tsover_mul(Qr.r,Ue),Xe)),F=oe(oe(Cr.r,hr.r),oe(Rr.r,nr.r)),le=b(b(Cr.r,hr.r),b(Rr.r,nr.r)),ae=$(ba,oe(oe(Cr.a,hr.a),oe(Rr.a,nr.a)),b(b(Cr.a,hr.a),b(Rr.a,nr.a))),ne=__tsover_add(__tsover_mul(__tsover_sub(le,F),.3),1e-6),ie=$(__tsover_add(__tsover_mul(__tsover_div(__tsover_sub(le,ci),ne),.5),.5),0,1),ge=__tsover_sub(X(le,ci,ie),__tsover_mul(__tsover_mul(ne,ie),__tsover_sub(1,ie))),Ye=$(__tsover_add(__tsover_mul(__tsover_div(__tsover_sub(ge,F),ne),.5),.5),0,1),Je=__tsover_add(X(F,ge,Ye),__tsover_mul(__tsover_mul(ne,Ye),__tsover_sub(1,Ye))),rt=__tsover_add(Je,m),He=X(rt,b(__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),c),rt),re(a(0),.25,m)),Bt=C(a(0),a(1),z(__tsover_sub(t.x,_))<1e-7),Yt=C(a(0),a(1),z(__tsover_sub(t.y,u))<1e-7),Ls=__tsover_div(1,b(m,1e-5));return x(He,__tsover_add(__tsover_mul(__tsover_mul(_i,__tsover_div(d,n)),Bt),__tsover_mul(__tsover_sub(t.x,_),Ls)),__tsover_add(__tsover_mul(__tsover_mul(li,__tsover_div(d,i)),Yt),__tsover_mul(__tsover_sub(t.y,u),Ls)),ae)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"field"},{type:"i",name:"originX"},{type:"i",name:"originY"},{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"},{type:"i",name:"rBound"}],body:[0,[[13,"uxc",[6,"std.clamp",[[7,"uv","x"],"originX",[1,"originX","+","spanX"]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],"originY",[1,"originY","+","spanY"]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-","originX"],"/","spanX"],"*","activeResF"],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-","originY"],"/","spanY"],"*","activeResF"],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"tx2",[1,"fx","*","fx"]],[13,"tx3",[1,"tx2","*","fx"]],[13,"wx0",[1,[1,[1,"tx3","*",[4,"-",[5,"0.5"]]],"+","tx2"],"-",[1,"fx","*",[5,"0.5"]]]],[13,"wx1",[1,[1,[1,"tx3","*",[5,"1.5"]],"-",[1,"tx2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wx2",[1,[1,[1,"tx3","*",[4,"-",[5,"1.5"]]],"+",[1,"tx2","*",[5,"2"]]],"+",[1,"fx","*",[5,"0.5"]]]],[13,"wx3",[1,[1,"tx3","*",[5,"0.5"]],"-",[1,"tx2","*",[5,"0.5"]]]],[13,"ty2",[1,"fy","*","fy"]],[13,"ty3",[1,"ty2","*","fy"]],[13,"wy0",[1,[1,[1,"ty3","*",[4,"-",[5,"0.5"]]],"+","ty2"],"-",[1,"fy","*",[5,"0.5"]]]],[13,"wy1",[1,[1,[1,"ty3","*",[5,"1.5"]],"-",[1,"ty2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wy2",[1,[1,[1,"ty3","*",[4,"-",[5,"1.5"]]],"+",[1,"ty2","*",[5,"2"]]],"+",[1,"fy","*",[5,"0.5"]]]],[13,"wy3",[1,[1,"ty3","*",[5,"0.5"]],"-",[1,"ty2","*",[5,"0.5"]]]],[13,"oxf",[1,[5,"1"],"-","fx"]],[13,"bx0",[1,[1,[1,"oxf","*","oxf"],"*","oxf"],"*",[5,"0.16666667"]]],[13,"bx1",[1,[1,[1,"tx3","*",[5,"0.5"]],"-","tx2"],"+",[5,"0.66666667"]]],[13,"bx2",[1,[1,[1,[1,"tx3","*",[4,"-",[5,"0.5"]]],"+",[1,"tx2","*",[5,"0.5"]]],"+",[1,"fx","*",[5,"0.5"]]],"+",[5,"0.16666667"]]],[13,"bx3",[1,"tx3","*",[5,"0.16666667"]]],[13,"dbx0",[1,[1,"oxf","*","oxf"],"*",[4,"-",[5,"0.5"]]]],[13,"dbx1",[1,[1,"tx2","*",[5,"1.5"]],"-",[1,"fx","*",[5,"2"]]]],[13,"dbx2",[1,[1,[1,"tx2","*",[4,"-",[5,"1.5"]]],"+","fx"],"+",[5,"0.5"]]],[13,"dbx3",[1,"tx2","*",[5,"0.5"]]],[13,"oyf",[1,[5,"1"],"-","fy"]],[13,"by0",[1,[1,[1,"oyf","*","oyf"],"*","oyf"],"*",[5,"0.16666667"]]],[13,"by1",[1,[1,[1,"ty3","*",[5,"0.5"]],"-","ty2"],"+",[5,"0.66666667"]]],[13,"by2",[1,[1,[1,[1,"ty3","*",[4,"-",[5,"0.5"]]],"+",[1,"ty2","*",[5,"0.5"]]],"+",[1,"fy","*",[5,"0.5"]]],"+",[5,"0.16666667"]]],[13,"by3",[1,"ty3","*",[5,"0.16666667"]]],[13,"dby0",[1,[1,"oyf","*","oyf"],"*",[4,"-",[5,"0.5"]]]],[13,"dby1",[1,[1,"ty2","*",[5,"1.5"]],"-",[1,"fy","*",[5,"2"]]]],[13,"dby2",[1,[1,[1,"ty2","*",[4,"-",[5,"1.5"]]],"+","fy"],"+",[5,"0.5"]]],[13,"dby3",[1,"ty2","*",[5,"0.5"]]],[13,"maxT",[1,"activeResF","-",[5,"1"]]],[13,"cxm",[6,"d.u32",[[6,"std.clamp",[[1,"x0","-",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx0",[6,"d.u32",[[6,"std.clamp",["x0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx1",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx2",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"2"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cym",[6,"d.u32",[[6,"std.clamp",[[1,"y0","-",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy0",[6,"d.u32",[[6,"std.clamp",["y0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy1",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy2",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"2"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"k00",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cym"]],[5,"0"]]]],[13,"k01",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cym"]],[5,"0"]]]],[13,"k02",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cym"]],[5,"0"]]]],[13,"k03",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cym"]],[5,"0"]]]],[13,"k10",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy0"]],[5,"0"]]]],[13,"k11",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy0"]],[5,"0"]]]],[13,"k12",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy0"]],[5,"0"]]]],[13,"k13",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy0"]],[5,"0"]]]],[13,"k20",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy1"]],[5,"0"]]]],[13,"k21",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy1"]],[5,"0"]]]],[13,"k22",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy1"]],[5,"0"]]]],[13,"k23",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy1"]],[5,"0"]]]],[13,"k30",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy2"]],[5,"0"]]]],[13,"k31",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy2"]],[5,"0"]]]],[13,"k32",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy2"]],[5,"0"]]]],[13,"k33",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy2"]],[5,"0"]]]],[13,"rAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","r"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","r"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","r"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","r"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","r"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","r"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","r"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","r"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","r"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","r"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","r"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","r"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","r"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","r"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","r"],"*","wx3"],"*","wy3"]]],[13,"aAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","a"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","a"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","a"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","a"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","a"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","a"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","a"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","a"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","a"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","a"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","a"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","a"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","a"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","a"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","a"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","a"],"*","wx3"],"*","wy3"]]],[13,"drdpx",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","dbx0"],"*","by0"],"+",[1,[1,[7,"k01","r"],"*","dbx1"],"*","by0"]],"+",[1,[1,[7,"k02","r"],"*","dbx2"],"*","by0"]],"+",[1,[1,[7,"k03","r"],"*","dbx3"],"*","by0"]],"+",[1,[1,[7,"k10","r"],"*","dbx0"],"*","by1"]],"+",[1,[1,[7,"k11","r"],"*","dbx1"],"*","by1"]],"+",[1,[1,[7,"k12","r"],"*","dbx2"],"*","by1"]],"+",[1,[1,[7,"k13","r"],"*","dbx3"],"*","by1"]],"+",[1,[1,[7,"k20","r"],"*","dbx0"],"*","by2"]],"+",[1,[1,[7,"k21","r"],"*","dbx1"],"*","by2"]],"+",[1,[1,[7,"k22","r"],"*","dbx2"],"*","by2"]],"+",[1,[1,[7,"k23","r"],"*","dbx3"],"*","by2"]],"+",[1,[1,[7,"k30","r"],"*","dbx0"],"*","by3"]],"+",[1,[1,[7,"k31","r"],"*","dbx1"],"*","by3"]],"+",[1,[1,[7,"k32","r"],"*","dbx2"],"*","by3"]],"+",[1,[1,[7,"k33","r"],"*","dbx3"],"*","by3"]]],[13,"drdpy",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","bx0"],"*","dby0"],"+",[1,[1,[7,"k01","r"],"*","bx1"],"*","dby0"]],"+",[1,[1,[7,"k02","r"],"*","bx2"],"*","dby0"]],"+",[1,[1,[7,"k03","r"],"*","bx3"],"*","dby0"]],"+",[1,[1,[7,"k10","r"],"*","bx0"],"*","dby1"]],"+",[1,[1,[7,"k11","r"],"*","bx1"],"*","dby1"]],"+",[1,[1,[7,"k12","r"],"*","bx2"],"*","dby1"]],"+",[1,[1,[7,"k13","r"],"*","bx3"],"*","dby1"]],"+",[1,[1,[7,"k20","r"],"*","bx0"],"*","dby2"]],"+",[1,[1,[7,"k21","r"],"*","bx1"],"*","dby2"]],"+",[1,[1,[7,"k22","r"],"*","bx2"],"*","dby2"]],"+",[1,[1,[7,"k23","r"],"*","bx3"],"*","dby2"]],"+",[1,[1,[7,"k30","r"],"*","bx0"],"*","dby3"]],"+",[1,[1,[7,"k31","r"],"*","bx1"],"*","dby3"]],"+",[1,[1,[7,"k32","r"],"*","bx2"],"*","dby3"]],"+",[1,[1,[7,"k33","r"],"*","bx3"],"*","dby3"]]],[13,"rMin",[6,"std.min",[[6,"std.min",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.min",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"rMax",[6,"std.max",[[6,"std.max",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.max",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"aMin",[6,"std.min",[[6,"std.min",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.min",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aMax",[6,"std.max",[[6,"std.max",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.max",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aOut",[6,"std.clamp",["aAcc","aMin","aMax"]]],[13,"kSoft",[1,[1,[1,"rMax","-","rMin"],"*",[5,"0.3"]],"+",[5,"0.000001"]]],[13,"hCap",[6,"std.clamp",[[1,[1,[1,[1,"rMax","-","rAcc"],"/","kSoft"],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[13,"rCap",[1,[6,"std.mix",["rMax","rAcc","hCap"]],"-",[1,[1,"kSoft","*","hCap"],"*",[1,[5,"1"],"-","hCap"]]]],[13,"hFlr",[6,"std.clamp",[[1,[1,[1,[1,"rCap","-","rMin"],"/","kSoft"],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[13,"rSoft",[1,[6,"std.mix",["rMin","rCap","hFlr"]],"+",[1,[1,"kSoft","*","hFlr"],"*",[1,[5,"1"],"-","hFlr"]]]],[13,"rNear",[1,"rSoft","+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-","rBound"]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[13,"insideX",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,[6,"std.abs",[[1,[7,"uv","x"],"-","uxc"]]],"<",[5,"1e-7"]]]]],[13,"insideY",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,[6,"std.abs",[[1,[7,"uv","y"],"-","uyc"]]],"<",[5,"1e-7"]]]]],[13,"invOut",[1,[5,"1"],"/",[6,"std.max",["outsideDist",[5,"0.00001"]]]]],[13,"gU",[1,[1,[1,"drdpx","*",[1,"activeResF","/","spanX"]],"*","insideX"],"+",[1,[1,[7,"uv","x"],"-","uxc"],"*","invOut"]]],[13,"gV",[1,[1,[1,"drdpy","*",[1,"activeResF","/","spanY"]],"*","insideY"],"+",[1,[1,[7,"uv","y"],"-","uyc"],"*","invOut"]]],[10,[6,"d.vec4f",["rOut","gU","gV","aOut"]]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,"d.u32":()=>R,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.min":()=>oe,"std.max":()=>b,"std.mix":()=>X,"std.smoothstep":()=>re,"std.select":()=>C,"std.abs":()=>z,"d.vec4f":()=>x}})&&e.f)({})).$name("fieldSampleGradArg"),fieldSampleFastArg:v.fn([l,ps(a),a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=$(t.x,r,__tsover_add(r,n)),u=$(t.y,o,__tsover_add(o,i)),m=j(l(__tsover_sub(t.x,_),__tsover_sub(t.y,u))),p=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(_,r),n),d),.5),y=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(u,o),i),d),.5),h=q(p),g=q(y),w=__tsover_sub(p,h),S=__tsover_sub(y,g),T=__tsover_sub(d,1),A=R($(h,a(0),T)),P=R($(__tsover_add(h,1),a(0),T)),U=R($(g,a(0),T)),D=R($(__tsover_add(g,1),a(0),T)),O=Be(s,Ge(A,U),0),L=Be(s,Ge(P,U),0),G=Be(s,Ge(A,D),0),W=Be(s,Ge(P,D),0),K=X(X(O,L,w),X(G,W,w),S),Q=__tsover_add(K.r,m);return x(X(Q,b(__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),c),Q),re(a(0),.25,m)),K.g,K.b,K.a)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"field"},{type:"i",name:"originX"},{type:"i",name:"originY"},{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"},{type:"i",name:"rBound"}],body:[0,[[13,"uxc",[6,"std.clamp",[[7,"uv","x"],"originX",[1,"originX","+","spanX"]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],"originY",[1,"originY","+","spanY"]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-","originX"],"/","spanX"],"*","activeResF"],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-","originY"],"/","spanY"],"*","activeResF"],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"maxT",[1,"activeResF","-",[5,"1"]]],[13,"cx0",[6,"d.u32",[[6,"std.clamp",["x0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx1",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy0",[6,"d.u32",[[6,"std.clamp",["y0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy1",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"t00",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy0"]],[5,"0"]]]],[13,"t10",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy0"]],[5,"0"]]]],[13,"t01",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy1"]],[5,"0"]]]],[13,"t11",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy1"]],[5,"0"]]]],[13,"bl",[6,"std.mix",[[6,"std.mix",["t00","t10","fx"]],[6,"std.mix",["t01","t11","fx"]],"fy"]]],[13,"rNear",[1,[7,"bl","r"],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-","rBound"]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"bl","g"],[7,"bl","b"],[7,"bl","a"]]]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,"d.u32":()=>R,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.mix":()=>X,"std.max":()=>b,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({})).$name("fieldSampleFastArg"),fieldSampleTexelArg:v.fn([l,ps(a),a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=$(t.x,r,__tsover_add(r,n)),u=$(t.y,o,__tsover_add(o,i)),m=j(l(__tsover_sub(t.x,_),__tsover_sub(t.y,u))),p=__tsover_sub(d,1),y=$(q(__tsover_mul(__tsover_div(__tsover_sub(_,r),n),d)),a(0),p),h=$(q(__tsover_mul(__tsover_div(__tsover_sub(u,o),i),d)),a(0),p),g=Be(s,Ge(R(y),R(h)),0),w=__tsover_add(g.r,m);return x(X(w,b(__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),c),w),re(a(0),.25,m)),g.g,g.b,g.a)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"field"},{type:"i",name:"originX"},{type:"i",name:"originY"},{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"},{type:"i",name:"rBound"}],body:[0,[[13,"uxc",[6,"std.clamp",[[7,"uv","x"],"originX",[1,"originX","+","spanX"]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],"originY",[1,"originY","+","spanY"]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"maxT",[1,"activeResF","-",[5,"1"]]],[13,"px",[6,"std.clamp",[[6,"std.floor",[[1,[1,[1,"uxc","-","originX"],"/","spanX"],"*","activeResF"]]],[6,"d.f32",[[5,"0"]]],"maxT"]]],[13,"py",[6,"std.clamp",[[6,"std.floor",[[1,[1,[1,"uyc","-","originY"],"/","spanY"],"*","activeResF"]]],[6,"d.f32",[[5,"0"]]],"maxT"]]],[13,"t",[6,"std.textureLoad",["field",[6,"d.vec2u",[[6,"d.u32",["px"]],[6,"d.u32",["py"]]]],[5,"0"]]]],[13,"rNear",[1,[7,"t","r"],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-","rBound"]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"t","g"],[7,"t","b"],[7,"t","a"]]]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"d.u32":()=>R,"std.mix":()=>X,"std.max":()=>b,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({})).$name("fieldSampleTexelArg"),texelSpanFn:v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_div(b(t,s),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"}],body:[0,[[10,[1,[6,"std.max",["spanX","spanY"]],"/","activeResF"]]]]},externals:{"std.max":()=>b}})&&e.f)({})).$name("fieldTexelSpan")}}var yG={_vfOriginX:{schema:a,initial:0},_vfOriginY:{schema:a,initial:0},_vfSpanX:{schema:a,initial:1},_vfSpanY:{schema:a,initial:1},_vfActiveRes:{schema:a,initial:1},_vfRBound:{schema:a,initial:.6}};function J7(e,t){let{fieldSampleArg:s,fieldSampleGradArg:r,fieldSampleFastArg:o,fieldSampleTexelArg:n,texelSpanFn:i}=ay(),d=(globalThis.__TYPEGPU_AUTONAME__??(_=>_))(e.accessor(),"acc"),c=_=>[_,d,t.originX,t.originY,t.spanX,t.spanY,t.activeResF,t.rBound];return{volumetricFieldSampler:_=>we(s,"vfSample",c(_)),volumetricFieldSamplerGrad:_=>we(r,"vfSampleGrad",c(_)),volumetricFieldSamplerFast:_=>we(o,"vfSampleFast",c(_)),volumetricFieldSamplerTexel:_=>we(n,"vfSampleTexel",c(_)),volumetricFieldTexelSpan:we(i,"vfTexelSpan",[t.spanX,t.spanY,t.activeResF])}}function hG(e,t={}){let{patternMode:s="none",gradSampler:r="fast",bakedGradients:o="none"}=t,{computeOutputs:n,uniforms:i,propValues:d,getCpuValue:c}=e,_=n?.volumetricFieldTexture;if(_){let h=J7(_,{originX:i._vfOriginX,originY:i._vfOriginY,spanX:i._vfSpanX,spanY:i._vfSpanY,activeResF:i._vfActiveRes,rBound:i._vfRBound}),g=o!=="none",w=g?h.volumetricFieldSamplerGrad:h.volumetricFieldSampler;return{sampler:w,gradSampler:r==="same"?w:h.volumetricFieldSamplerFast,texelSampler:h.volumetricFieldSamplerTexel,volumetric:!0,bakedGradients:g}}let u=d.shapeSdfUrl||"",m=d.shapeType||"";if(u){let h=o==="all",g=h?M7(e,u):A7(e,u);return{sampler:g,gradSampler:g,texelSampler:g,volumetric:V7(m),bakedGradients:h}}let p=_G(m,c("shape")),y=P7(p,k7(e,()=>c("shape")),s);return{sampler:y,gradSampler:y,texelSampler:y,volumetric:d1(p),bakedGradients:!1}}var Wa=Math.PI/180;function iy(e){if(e&&typeof e=="object")return e;if(typeof e=="string")try{return JSON.parse(e)}catch{return{}}return{}}function ew(e,t,s,r,o={}){let n=wu[t]??wu.sphere3D,i=o.extraPad??(()=>0),{layout:d}=ny(),c=(globalThis.__TYPEGPU_AUTONAME__??(Pe=>Pe))(e.createUniform(Cn),"marchParamsBuffer"),_=v.fn([f],a)((Pe=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(Pe.f=(Re=>{"use gpu";let de=d.$.params;return t==="cube3D"?Ec(Re,de.pA,de.pB,de.pC,de.pD):t==="torus3D"?sf(Re,de.pA,de.pB):t==="octahedron3D"?rf(Re,de.pA):t==="cylinder3D"?of(Re,de.pA,de.pB,de.pD):t==="capsule3D"?nf(Re,de.pA,de.pB):t==="cone3D"?af(Re,de.pA,de.pC,de.pB):t==="pyramid3D"?df(Re,de.pA,de.pB):t==="prism3D"?cf(Re,de.pA,de.pB):t==="ellipsoid3D"?_f(Re,de.pA,de.pB,de.pC):t==="diamond3D"?kc(Re,de.pA,de.pB):t==="link3D"?lf(Re,de.pB,de.pA,de.pC):t==="gem3D"?mf(Re,de.pA,de.pB,de.pC):t==="helix3D"?pf(Re,de.pA,de.pB,de.pC,a(3)):t==="metaballs3D"?ff(Re,de.mb0,de.mb1,de.mb2,de.mb3,de.mb4,de.mb5,de.mb6,de.mb7,de.pA,de.pD):t==="dodecahedron3D"?vf(Re,de.pA):t==="hemisphere3D"?yf(Re,de.pA,de.pB):t==="ribbon3D"?hf(Re,de.pA,de.pB,de.pC,de.mb0.x,de.mb0.y,de.mb0.z,de.mb1.x,de.mb1.y,de.mb1.z,de.mb2.x):t==="blob3D"?xf(Re,de.pA,de.mb0.x,de.mb0.y,de.mb0.z,de.mb1.x,de.mb2.x):t==="gyroscope3D"?gf(Re,de.pA,de.pB,de.pD,de.mb3.x,de.pC,de.mb0.x,de.mb0.y,de.mb1.x,de.mb1.y,de.mb2.x,de.mb2.y):tf(Re,de.pA)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"pp",[7,[7,"layout","$"],"params"]],[11,[1,"shapeType","===",[103,"cube3D"]],[10,[6,"sdRoundBox",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"],[7,"pp","pD"]]]],[11,[1,"shapeType","===",[103,"torus3D"]],[10,[6,"sdTorus",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"octahedron3D"]],[10,[6,"sdOctahedron",["p",[7,"pp","pA"]]]],[11,[1,"shapeType","===",[103,"cylinder3D"]],[10,[6,"sdRoundCylinder",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pD"]]]],[11,[1,"shapeType","===",[103,"capsule3D"]],[10,[6,"sdCapsule",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"cone3D"]],[10,[6,"sdCappedCone",["p",[7,"pp","pA"],[7,"pp","pC"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"pyramid3D"]],[10,[6,"sdPyramid",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"prism3D"]],[10,[6,"sdHexPrism",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"ellipsoid3D"]],[10,[6,"sdEllipsoid",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"]]]],[11,[1,"shapeType","===",[103,"diamond3D"]],[10,[6,"sdBicone",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"link3D"]],[10,[6,"sdLink",["p",[7,"pp","pB"],[7,"pp","pA"],[7,"pp","pC"]]]],[11,[1,"shapeType","===",[103,"gem3D"]],[10,[6,"sdGem",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"]]]],[11,[1,"shapeType","===",[103,"helix3D"]],[10,[6,"sdHelix",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"],[6,"d.f32",["HELIX_TURNS"]]]]],[11,[1,"shapeType","===",[103,"metaballs3D"]],[10,[6,"sdMetaballs",["p",[7,"pp","mb0"],[7,"pp","mb1"],[7,"pp","mb2"],[7,"pp","mb3"],[7,"pp","mb4"],[7,"pp","mb5"],[7,"pp","mb6"],[7,"pp","mb7"],[7,"pp","pA"],[7,"pp","pD"]]]],[11,[1,"shapeType","===",[103,"dodecahedron3D"]],[10,[6,"sdDodecahedron",["p",[7,"pp","pA"]]]],[11,[1,"shapeType","===",[103,"hemisphere3D"]],[10,[6,"sdCutSphere",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"ribbon3D"]],[10,[6,"sdRibbon",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"],[7,[7,"pp","mb0"],"x"],[7,[7,"pp","mb0"],"y"],[7,[7,"pp","mb0"],"z"],[7,[7,"pp","mb1"],"x"],[7,[7,"pp","mb1"],"y"],[7,[7,"pp","mb1"],"z"],[7,[7,"pp","mb2"],"x"]]]],[11,[1,"shapeType","===",[103,"blob3D"]],[10,[6,"sdWobbleBlob",["p",[7,"pp","pA"],[7,[7,"pp","mb0"],"x"],[7,[7,"pp","mb0"],"y"],[7,[7,"pp","mb0"],"z"],[7,[7,"pp","mb1"],"x"],[7,[7,"pp","mb2"],"x"]]]],[11,[1,"shapeType","===",[103,"gyroscope3D"]],[10,[6,"sdGyroscope",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pD"],[7,[7,"pp","mb3"],"x"],[7,"pp","pC"],[7,[7,"pp","mb0"],"x"],[7,[7,"pp","mb0"],"y"],[7,[7,"pp","mb1"],"x"],[7,[7,"pp","mb1"],"y"],[7,[7,"pp","mb2"],"x"],[7,[7,"pp","mb2"],"y"]]]],[10,[6,"sdSphere",["p",[7,"pp","pA"]]]]]]]]]]]]]]]]]]]]]]]]]},externals:{layout:()=>d,shapeType:()=>t,sdRoundBox:()=>Ec,sdTorus:()=>sf,sdOctahedron:()=>rf,sdRoundCylinder:()=>of,sdCapsule:()=>nf,sdCappedCone:()=>af,sdPyramid:()=>df,sdHexPrism:()=>cf,sdEllipsoid:()=>_f,sdBicone:()=>kc,sdLink:()=>lf,sdGem:()=>mf,sdHelix:()=>pf,"d.f32":()=>a,HELIX_TURNS:()=>3,sdMetaballs:()=>ff,sdDodecahedron:()=>vf,sdCutSphere:()=>yf,sdRibbon:()=>hf,sdWobbleBlob:()=>xf,sdGyroscope:()=>gf,sdSphere:()=>tf}})&&Pe.f)({})),u=0,m="",p=s,y=new Map,h=.35,g=.3,w=.3,S=0,T=.6,A=1,P=0,U=1,D=0,O=1,L=0,G=1,W=1,K=0,Q=0,te=jc(),ee=Array.from({length:8},()=>[0,0,0]),he=()=>{c.write({rot:{cx:A,sx:P,cy:U,sy:D,cz:O,sz:L},rBound:T,spanX:G,spanY:W,originX:K,originY:Q,activeRes:te,pA:h,pB:g,pC:w,pD:S,mb0:f(ee[0][0],ee[0][1],ee[0][2]),mb1:f(ee[1][0],ee[1][1],ee[1][2]),mb2:f(ee[2][0],ee[2][1],ee[2][2]),mb3:f(ee[3][0],ee[3][1],ee[3][2]),mb4:f(ee[4][0],ee[4][1],ee[4][2]),mb5:f(ee[5][0],ee[5][1],ee[5][2]),mb6:f(ee[6][0],ee[6][1],ee[6][2]),mb7:f(ee[7][0],ee[7][1],ee[7][2])})},Ee=Pe=>{let Re=Pe?.deltaTime??0;u+=Re;let de=r();if(de&&typeof de=="object")p=de;else if(typeof de=="string"&&de!==m){m=de;try{p=JSON.parse(de)}catch{}}let je={elapsed:u,deltaTime:Re,pointerX:Pe?.pointer?.x??.5,pointerY:Pe?.pointer?.y??.5,springs:y},fe=Ie=>ry(p[Ie],n[Ie]??0,je,Ie);g=.3,w=.3,S=0;for(let Ie=0;Ie=Ie){ee[We]=[0,99,0];continue}let Ve=We*(Ba/Ie),Ft=Ve+Xe,Gt=.75+.25*Math.sin(Xe*1.3+We*1.7);ee[We]=[st*Math.cos(Ft)*Gt,st*.6*Math.sin(Xe*.9+Ve*1.5),st*Math.sin(Ft)*Gt]}break}case"hemisphere3D":h=fe("radius"),g=fe("cut");break;case"ribbon3D":{h=fe("width"),g=fe("thickness"),w=fe("length");let Ie=u*fe("speed"),st=fe("wave")*(.8+.2*Math.sin(Ie*.9)),Xe=fe("waveFrequency"),We=fe("twist")*Wa/Math.max(w*2,.01);ee[0]=[st,Xe,Ie*1.1],ee[1]=[Ie*.7+2.1,We,Ie*.45];let Ve=Math.abs(st)*Xe+Math.abs(We)*Math.hypot(h,g);ee[2]=[1/Math.sqrt(1+Ve*Ve),0,0];break}case"blob3D":{h=fe("radius");let Ie=u*fe("speed"),st=fe("wobble")*(.75+.25*Math.sin(Ie*.83)),Xe=fe("wobbliness");ee[0]=[st,Xe,Ie*1.2],ee[1]=[Ie*.77+1.3,0,0],ee[2]=[1/(1+Math.abs(st)*Xe*1.3),0,0];break}case"gyroscope3D":{h=fe("radius"),g=fe("width"),w=fe("core"),S=fe("thickness");let Ie=Math.max(0,Math.min(fe("rounding"),Math.min(g,S)*.5)),st=u*fe("speed"),Xe=st*.9,We=st*.63+1.1,Ve=st*1.21+2.3;ee[0]=[Math.cos(Xe),Math.sin(Xe),0],ee[1]=[Math.cos(We),Math.sin(We),0],ee[2]=[Math.cos(Ve),Math.sin(Ve),0],ee[3]=[Ie,0,0];break}default:h=fe("radius");break}T=X7({...p,type:t})+.02+i();let Ke=fe("rotX")*Wa,Ze=fe("rotY")*Wa,at=fe("rotZ")*Wa;A=Math.cos(Ke),P=Math.sin(Ke),U=Math.cos(Ze),D=Math.sin(Ze),O=Math.cos(at),L=Math.sin(at);let Fe=T+.05;G=Fe*2,W=Fe*2,K=.5-Fe,Q=.5-Fe,he()};Ee();let Te=Pe=>{Pe!==te&&(te=Pe,he())},Ue=()=>`${h},${g},${w},${S},${T},`+ee.map(Pe=>`${Pe[0]},${Pe[1]},${Pe[2]}`).join(",");return{layout:d,marchParamsBuffer:c,sdfFn:_,update:Ee,setActiveRes:Te,getStateKey:()=>`${Ue()},${A},${P},${U},${D},${O},${L}`,getFootprint:()=>({spanX:G,spanY:W,originX:K,originY:Q,rBound:T}),getRotation:()=>({cx:A,sx:P,cy:U,sy:D,cz:O,sz:L}),getGeometryKey:Ue}}function tw(e,t,s,r={}){let o=e.gpu.root,n=r.extraPad??(()=>0),{texture:i,getVersion:d}=Qv(e,t),{layout:c}=Q7(),_=(globalThis.__TYPEGPU_AUTONAME__??(Pe=>Pe))(o.createUniform(Cn),"marchParamsBuffer"),u=a(512),m=a(511),p=v.fn([f],a)((Pe=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(Pe.f=(Re=>{"use gpu";let de=c.$.params,je=de.pA,fe=de.pB,Ke=__tsover_sub(__tsover_mul(__tsover_add(Re.x,.5),u),.5),Ze=__tsover_sub(__tsover_mul(__tsover_sub(.5,Re.y),u),.5),at=q(Ke),Fe=q(Ze),Ie=__tsover_sub(Ke,at),st=__tsover_sub(Ze,Fe),Xe=R($(at,a(0),m)),We=R($(__tsover_add(at,1),a(0),m)),Ve=R($(Fe,a(0),m)),Ft=R($(__tsover_add(Fe,1),a(0),m)),Gt=Be(c.$.sdfSource,Ge(Xe,Ve),0).r,os=Be(c.$.sdfSource,Ge(We,Ve),0).r,bs=Be(c.$.sdfSource,Ge(Xe,Ft),0).r,ls=Be(c.$.sdfSource,Ge(We,Ft),0).r,As=X(X(Gt,os,Ie),X(bs,ls,Ie),st),vs=__tsover_add(As,fe),ys=__tsover_add(__tsover_sub(z(Re.z),je),fe),Ks=oe(b(vs,ys),a(0)),yr=j(l(b(vs,a(0)),b(ys,a(0))));return __tsover_sub(__tsover_add(Ks,yr),fe)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"pp",[7,[7,"layout","$"],"params"]],[13,"halfDepth",[7,"pp","pA"]],[13,"bevel",[7,"pp","pB"]],[13,"u",[1,[1,[1,[7,"p","x"],"+",[5,"0.5"]],"*","SIZE_F"],"-",[5,"0.5"]]],[13,"v",[1,[1,[1,[5,"0.5"],"-",[7,"p","y"]],"*","SIZE_F"],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["u"]]],[13,"y0",[6,"std.floor",["v"]]],[13,"fx",[1,"u","-","x0"]],[13,"fy",[1,"v","-","y0"]],[13,"cx0",[6,"d.u32",[[6,"std.clamp",["x0",[6,"d.f32",[[5,"0"]]],"MAX_TEXEL"]]]]],[13,"cx1",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"MAX_TEXEL"]]]]],[13,"cy0",[6,"d.u32",[[6,"std.clamp",["y0",[6,"d.f32",[[5,"0"]]],"MAX_TEXEL"]]]]],[13,"cy1",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"MAX_TEXEL"]]]]],[13,"s00",[7,[6,"std.textureLoad",[[7,[7,"layout","$"],"sdfSource"],[6,"d.vec2u",["cx0","cy0"]],[5,"0"]]],"r"]],[13,"s10",[7,[6,"std.textureLoad",[[7,[7,"layout","$"],"sdfSource"],[6,"d.vec2u",["cx1","cy0"]],[5,"0"]]],"r"]],[13,"s01",[7,[6,"std.textureLoad",[[7,[7,"layout","$"],"sdfSource"],[6,"d.vec2u",["cx0","cy1"]],[5,"0"]]],"r"]],[13,"s11",[7,[6,"std.textureLoad",[[7,[7,"layout","$"],"sdfSource"],[6,"d.vec2u",["cx1","cy1"]],[5,"0"]]],"r"]],[13,"field2d",[6,"std.mix",[[6,"std.mix",["s00","s10","fx"]],[6,"std.mix",["s01","s11","fx"]],"fy"]]],[13,"d2",[1,"field2d","+","bevel"]],[13,"wz",[1,[1,[6,"std.abs",[[7,"p","z"]]],"-","halfDepth"],"+","bevel"]],[13,"inner",[6,"std.min",[[6,"std.max",["d2","wz"]],[6,"d.f32",[[5,"0"]]]]]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["d2",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["wz",[6,"d.f32",[[5,"0"]]]]]]]]]],[10,[1,[1,"inner","+","outer"],"-","bevel"]]]]},externals:{layout:()=>c,SIZE_F:()=>u,"std.floor":()=>q,"d.u32":()=>R,"std.clamp":()=>$,"d.f32":()=>a,MAX_TEXEL:()=>m,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.mix":()=>X,"std.abs":()=>z,"std.min":()=>oe,"std.max":()=>b,"std.length":()=>j,"d.vec2f":()=>l}})&&Pe.f)({})),y=0,h="",g=iy(s()),w=new Map,S=.06,T=.02,A=.75,P=1,U=0,D=1,O=0,L=1,G=0,W=1,K=1,Q=0,te=0,ee=jc(),he=()=>{_.write({rot:{cx:P,sx:U,cy:D,sy:O,cz:L,sz:G},rBound:A,spanX:W,spanY:K,originX:Q,originY:te,activeRes:ee,pA:S,pB:T,pC:0,pD:0,mb0:f(0,0,0),mb1:f(0,0,0),mb2:f(0,0,0),mb3:f(0,0,0),mb4:f(0,0,0),mb5:f(0,0,0),mb6:f(0,0,0),mb7:f(0,0,0)})},Ee=Pe=>{let Re=Pe?.deltaTime??0;y+=Re;let de=s();if(de&&typeof de=="object")g=de;else if(typeof de=="string"&&de!==h){h=de;try{g=JSON.parse(de)}catch{}}let je={elapsed:y,deltaTime:Re,pointerX:Pe?.pointer?.x??.5,pointerY:Pe?.pointer?.y??.5,springs:w},fe=vs=>ry(g[vs],N7[vs]??0,je,vs);S=Math.max(.001,fe("depth")*.5),T=Math.min(Math.max(0,fe("bevel")),S);let Ke=a1(t),Ze=Ke?Math.min(.5,Ke.hwf+.02):.5,at=Ke?Math.min(.5,Ke.hhf+.02):.5,Fe=n();A=Math.hypot(Ze,at,S)+T+.03+Fe;let Ie=fe("rotX")*Wa,st=fe("rotY")*Wa,Xe=fe("rotZ")*Wa;P=Math.cos(Ie),U=Math.sin(Ie),D=Math.cos(st),O=Math.sin(st),L=Math.cos(Xe),G=Math.sin(Xe);let We={cx:P,sx:U,cy:D,sy:O,cz:L,sz:G},Ve=ef(1,0,0,We),Ft=ef(0,1,0,We),Gt=T+.03+Fe,os=Math.abs(Ve.x)*Ze+Math.abs(Ve.y)*at+Math.abs(Ve.z)*S+Gt,bs=Math.abs(Ft.x)*Ze+Math.abs(Ft.y)*at+Math.abs(Ft.z)*S+Gt,ls=os+.05,As=bs+.05;W=ls*2,K=As*2,Q=.5-ls,te=.5-As,he()};Ee();let Te=Pe=>{Pe!==ee&&(ee=Pe,he())},Ue=()=>`${S},${T},${A},${d()}`,Me=()=>`${Ue()},${W},${K},${P},${U},${D},${O},${L},${G}`;return{layout:c,marchParamsBuffer:_,sdfFn:p,sdfSourceTexture:i.texture,update:Ee,setActiveRes:Te,getStateKey:Me,getFootprint:()=>({spanX:W,spanY:K,originX:Q,originY:te,rBound:A}),getRotation:()=>({cx:P,sx:U,cy:D,sy:O,cz:L,sz:G}),getGeometryKey:Ue}}function xG(e,t,s,r,o={}){let n=o.extraPad??(()=>0),{layout:i}=ny(),d=(globalThis.__TYPEGPU_AUTONAME__??(L=>L))(e.createUniform(Cn),"marchParamsBuffer"),c=Jv(t),_=v.fn([f],a)((L=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(L.f=(G=>{"use gpu";let W=i.$.params,K=c(l(__tsover_add(G.x,.5),__tsover_sub(.5,G.y)),W.pA,W.pB,W.pC,W.pD,W.mb0.x,W.mb0.y,W.mb0.z,W.mb1.x).x,Q=__tsover_sub(z(G.z),W.mb1.y),te=oe(b(K,Q),a(0)),ee=j(l(b(K,a(0)),b(Q,a(0))));return __tsover_add(te,ee)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"pp",[7,[7,"layout","$"],"params"]],[13,"uv",[6,"d.vec2f",[[1,[7,"p","x"],"+",[5,"0.5"]],[1,[5,"0.5"],"-",[7,"p","y"]]]]],[13,"d2",[7,[6,"analytic",["uv",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"],[7,"pp","pD"],[7,[7,"pp","mb0"],"x"],[7,[7,"pp","mb0"],"y"],[7,[7,"pp","mb0"],"z"],[7,[7,"pp","mb1"],"x"]]],"x"]],[13,"wz",[1,[6,"std.abs",[[7,"p","z"]]],"-",[7,[7,"pp","mb1"],"y"]]],[13,"inner",[6,"std.min",[[6,"std.max",["d2","wz"]],[6,"d.f32",[[5,"0"]]]]]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["d2",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["wz",[6,"d.f32",[[5,"0"]]]]]]]]]],[10,[1,"inner","+","outer"]]]]},externals:{layout:()=>i,"d.vec2f":()=>l,analytic:()=>c,"std.abs":()=>z,"std.min":()=>oe,"std.max":()=>b,"d.f32":()=>a,"std.length":()=>j}})&&L.f)({})),u="",m=iy(s()),p=gu(m),y=.06,h=.6,g=1,w=1,S=0,T=0,A=jc(),P=()=>{d.write({rot:{cx:1,sx:0,cy:1,sy:0,cz:1,sz:0},rBound:h,spanX:g,spanY:w,originX:S,originY:T,activeRes:A,pA:p.radius,pB:p.sides,pC:p.rounding,pD:p.innerRatio,mb0:f(p.rotation,p.height,p.offset),mb1:f(p.aperture,y,0),mb2:f(0,0,0),mb3:f(0,0,0),mb4:f(0,0,0),mb5:f(0,0,0),mb6:f(0,0,0),mb7:f(0,0,0)})},U=()=>{let L=s();if(L&&typeof L=="object")m=L;else if(typeof L=="string"&&L!==u){u=L;try{m=JSON.parse(L)}catch{}}p=gu(m),y=Math.max(.001,r());let{hwf:G,hhf:W}=Jp({shape:{...m,radius:p.radius,height:p.height}});h=Math.hypot(G,W,y)+.02+n();let K=h+.05;g=K*2,w=K*2,S=.5-K,T=.5-K,P()};U();let D=L=>{L!==A&&(A=L,P())},O=()=>`${p.radius},${p.sides},${p.rounding},${p.innerRatio},${p.rotation},${p.height},${p.offset},${p.aperture},${y},${h}`;return{layout:i,marchParamsBuffer:d,sdfFn:_,update:U,setActiveRes:D,getStateKey:O,getFootprint:()=>({spanX:g,spanY:w,originX:S,originY:T,rBound:h}),getRotation:()=>({cx:1,sx:0,cy:1,sy:0,cz:1,sz:0}),getGeometryKey:O}}function gG(e,t,s="none",r="span"){let o=e.gpu?.root;if(!o)return null;let n=iy(t()),i=e.getCpuValue("shapeSdfUrl")||"",d=e.getCpuValue("shapeType")||n.type||"",c=null;if(i&&sy(d)?c=tw(e,i,t):!i&&d1(d)&&(c=ew(o,d,n,t)),!c)return null;let _=oy(c.sdfFn,s,r),u=K7(c.layout,_),m=Z7(o,c.layout,u,e.onCleanup,{paramsUniform:c.marchParamsBuffer,sdfSourceTexture:c.sdfSourceTexture}),p=e.registerComputeTexture(m.fieldTexture),y=m.maxRes,h="",g=_o()?2:1,w=0,S={originX:0,originY:0,spanX:1,spanY:1,activeRes:1,rBound:.6};return{outputs:{volumetricFieldTexture:p},getComputeNodes:A=>{c.update(A);let P=c.getFootprint(),U=e.getCpuValue("scale")??1,D=e.dimensions.height;y=j7(P.spanX,P.spanY,U,D,m.maxRes,y);let O=`${c.getStateKey()},${y}`;return O===h||(w++,g>1&&w%g!==0)?null:(h=O,c.setActiveRes(y),e.setExtraField("_vfOriginX",P.originX),e.setExtraField("_vfOriginY",P.originY),e.setExtraField("_vfSpanX",P.spanX),e.setExtraField("_vfSpanY",P.spanY),e.setExtraField("_vfActiveRes",y),e.setExtraField("_vfRBound",P.rBound),S.originX=P.originX,S.originY=P.originY,S.spanX=P.spanX,S.spanY=P.spanY,S.activeRes=y,S.rBound=P.rBound,[()=>m.dispatch(y)])},fieldTexture:m.fieldTexture,getFieldDomain:()=>({...S})}}var Tu=.08,ws=v.fn([f,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=s.x,n=s.y,i=s.z,d=s.w,c=r.x,_=r.y,u=f(__tsover_add(__tsover_mul(t.x,i),__tsover_mul(t.z,d)),t.y,__tsover_add(__tsover_mul(__tsover_mul(t.x,d),-1),__tsover_mul(t.z,i))),m=f(u.x,__tsover_sub(__tsover_mul(u.y,o),__tsover_mul(u.z,n)),__tsover_add(__tsover_mul(u.y,n),__tsover_mul(u.z,o)));return f(__tsover_sub(__tsover_mul(m.x,c),__tsover_mul(m.y,_)),__tsover_add(__tsover_mul(m.x,_),__tsover_mul(m.y,c)),m.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"}],body:[0,[[13,"cx",[7,"rp0","x"]],[13,"sx",[7,"rp0","y"]],[13,"cy",[7,"rp0","z"]],[13,"sy",[7,"rp0","w"]],[13,"cz",[7,"rp1","x"]],[13,"sz",[7,"rp1","y"]],[13,"py",[6,"d.vec3f",[[1,[1,[7,"p","x"],"*","cy"],"+",[1,[7,"p","z"],"*","sy"]],[7,"p","y"],[1,[1,[1,[7,"p","x"],"*","sy"],"*",[4,"-",[5,"1"]]],"+",[1,[7,"p","z"],"*","cy"]]]]],[13,"px",[6,"d.vec3f",[[7,"py","x"],[1,[1,[7,"py","y"],"*","cx"],"-",[1,[7,"py","z"],"*","sx"]],[1,[1,[7,"py","y"],"*","sx"],"+",[1,[7,"py","z"],"*","cx"]]]]],[10,[6,"d.vec3f",[[1,[1,[7,"px","x"],"*","cz"],"-",[1,[7,"px","y"],"*","sz"]],[1,[1,[7,"px","x"],"*","sz"],"+",[1,[7,"px","y"],"*","cz"]],[7,"px","z"]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})).$name("eulerRotatePacked"),bG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return __tsover_sub(j(ws(t,s,r)),r.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[10,[1,[6,"std.length",[[6,"eulerRotatePacked",["p","rp0","rp1"]]]],"-",[7,"rp1","z"]]]]]},externals:{"std.length":()=>j,eulerRotatePacked:()=>ws}})&&e.f)({})).$name("paramSphereSdf"),wG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=as(ws(t,r,o));return l(__tsover_add(__tsover_div(tt(d.z,d.x),6.283185307179586),.5),__tsover_mul(__tsover_add(d.y,1),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"n",[6,"std.normalize",[[6,"eulerRotatePacked",["h","rp0","rp1"]]]]],[10,[6,"d.vec2f",[[1,[1,[6,"std.atan2",[[7,"n","z"],[7,"n","x"]]],"/",[5,"6.283185307179586"]],"+",[5,"0.5"]],[1,[1,[7,"n","y"],"+",[5,"1"]],"*",[5,"0.5"]]]]]]]},externals:{"std.normalize":()=>as,eulerRotatePacked:()=>ws,"d.vec2f":()=>l,"std.atan2":()=>tt}})&&e.f)({})).$name("sphereSurfaceUV"),TG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=ws(t,s,r),d=l(__tsover_sub(j(l(i.x,i.z)),r.z),i.y);return __tsover_sub(j(d),r.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["p","rp0","rp1"]]],[13,"q",[6,"d.vec2f",[[1,[6,"std.length",[[6,"d.vec2f",[[7,"rp","x"],[7,"rp","z"]]]]],"-",[7,"rp1","z"]],[7,"rp","y"]]]],[10,[1,[6,"std.length",["q"]],"-",[7,"rp1","w"]]]]]},externals:{eulerRotatePacked:()=>ws,"d.vec2f":()=>l,"std.length":()=>j}})&&e.f)({})).$name("paramTorusSdf"),SG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ws(t,r,o),c=__tsover_add(__tsover_div(tt(d.z,d.x),6.283185307179586),.5),_=__tsover_sub(j(l(d.x,d.z)),o.z);return l(c,__tsover_add(__tsover_div(tt(d.y,_),6.283185307179586),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["h","rp0","rp1"]]],[13,"u",[1,[1,[6,"std.atan2",[[7,"rp","z"],[7,"rp","x"]]],"/",[5,"6.283185307179586"]],"+",[5,"0.5"]]],[13,"ringDist",[1,[6,"std.length",[[6,"d.vec2f",[[7,"rp","x"],[7,"rp","z"]]]]],"-",[7,"rp1","z"]]],[10,[6,"d.vec2f",["u",[1,[1,[6,"std.atan2",[[7,"rp","y"],"ringDist"]],"/",[5,"6.283185307179586"]],"+",[5,"0.5"]]]]]]]},externals:{eulerRotatePacked:()=>ws,"std.atan2":()=>tt,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})).$name("torusSurfaceUV"),AG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=ws(t,s,r),d=o.y,c=__tsover_add(__tsover_sub(z(i.x),r.z),d),_=__tsover_add(__tsover_sub(z(i.y),r.w),d),u=__tsover_add(__tsover_sub(z(i.z),o.x),d),m=j(f(b(c,a(0)),b(_,a(0)),b(u,a(0)))),p=oe(b(c,b(_,u)),a(0));return __tsover_sub(__tsover_add(m,p),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["p","rp0","rp1"]]],[13,"rounding",[7,"rp2","y"]],[13,"qx",[1,[1,[6,"std.abs",[[7,"rp","x"]]],"-",[7,"rp1","z"]],"+","rounding"]],[13,"qy",[1,[1,[6,"std.abs",[[7,"rp","y"]]],"-",[7,"rp1","w"]],"+","rounding"]],[13,"qz",[1,[1,[6,"std.abs",[[7,"rp","z"]]],"-",[7,"rp2","x"]],"+","rounding"]],[13,"outer",[6,"std.length",[[6,"d.vec3f",[[6,"std.max",["qx",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["qy",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["qz",[6,"d.f32",[[5,"0"]]]]]]]]]],[13,"inner",[6,"std.min",[[6,"std.max",["qx",[6,"std.max",["qy","qz"]]]],[6,"d.f32",[[5,"0"]]]]]],[10,[1,[1,"outer","+","inner"],"-","rounding"]]]]},externals:{eulerRotatePacked:()=>ws,"std.abs":()=>z,"std.length":()=>j,"d.vec3f":()=>f,"std.max":()=>b,"d.f32":()=>a,"std.min":()=>oe}})&&e.f)({})).$name("paramBoxSdf"),MG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ws(t,r,o),c=ws(s,r,o),_=f(z(c.x),z(c.y),z(c.z)),u=o.z,m=o.w,p=n.x,y=__tsover_div(.5,b(m,p)),h=__tsover_div(.5,b(u,p)),g=__tsover_div(.5,b(u,m)),w=l(__tsover_add(__tsover_mul(d.z,y),.5),__tsover_add(__tsover_mul(d.y,y),.5)),S=l(__tsover_add(__tsover_mul(d.x,h),.5),__tsover_add(__tsover_mul(d.z,h),.5)),T=l(__tsover_add(__tsover_mul(d.x,g),.5),__tsover_add(__tsover_mul(d.y,g),.5)),A=C(T,w,_.x>_.z);return C(C(T,S,_.y>_.z),A,_.x>_.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["h","rp0","rp1"]]],[13,"rn",[6,"eulerRotatePacked",["n","rp0","rp1"]]],[13,"an",[6,"d.vec3f",[[6,"std.abs",[[7,"rn","x"]]],[6,"std.abs",[[7,"rn","y"]]],[6,"std.abs",[[7,"rn","z"]]]]]],[13,"hx",[7,"rp1","z"]],[13,"hy",[7,"rp1","w"]],[13,"hz",[7,"rp2","x"]],[13,"scaleX",[1,[5,"0.5"],"/",[6,"std.max",["hy","hz"]]]],[13,"scaleY",[1,[5,"0.5"],"/",[6,"std.max",["hx","hz"]]]],[13,"scaleZ",[1,[5,"0.5"],"/",[6,"std.max",["hx","hy"]]]],[13,"uvX",[6,"d.vec2f",[[1,[1,[7,"rp","z"],"*","scaleX"],"+",[5,"0.5"]],[1,[1,[7,"rp","y"],"*","scaleX"],"+",[5,"0.5"]]]]],[13,"uvY",[6,"d.vec2f",[[1,[1,[7,"rp","x"],"*","scaleY"],"+",[5,"0.5"]],[1,[1,[7,"rp","z"],"*","scaleY"],"+",[5,"0.5"]]]]],[13,"uvZ",[6,"d.vec2f",[[1,[1,[7,"rp","x"],"*","scaleZ"],"+",[5,"0.5"]],[1,[1,[7,"rp","y"],"*","scaleZ"],"+",[5,"0.5"]]]]],[13,"pickXZ",[6,"std.select",["uvZ","uvX",[1,[7,"an","x"],">",[7,"an","z"]]]]],[13,"pickYZ",[6,"std.select",["uvZ","uvY",[1,[7,"an","y"],">",[7,"an","z"]]]]],[10,[6,"std.select",["pickYZ","pickXZ",[1,[7,"an","x"],">",[7,"an","y"]]]]]]]},externals:{eulerRotatePacked:()=>ws,"d.vec3f":()=>f,"std.abs":()=>z,"std.max":()=>b,"d.vec2f":()=>l,"std.select":()=>C}})&&e.f)({})).$name("boxFaceUV"),PG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=ws(t,s,r),d=r.z,c=r.w,_=$(i.y,__tsover_mul(c,-1),c);return __tsover_sub(j(f(i.x,__tsover_sub(i.y,_),i.z)),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["p","rp0","rp1"]]],[13,"radius",[7,"rp1","z"]],[13,"halfHeight",[7,"rp1","w"]],[13,"clampedY",[6,"std.clamp",[[7,"rp","y"],[1,"halfHeight","*",[4,"-",[5,"1"]]],"halfHeight"]]],[10,[1,[6,"std.length",[[6,"d.vec3f",[[7,"rp","x"],[1,[7,"rp","y"],"-","clampedY"],[7,"rp","z"]]]]],"-","radius"]]]]},externals:{eulerRotatePacked:()=>ws,"std.clamp":()=>$,"std.length":()=>j,"d.vec3f":()=>f}})&&e.f)({})).$name("paramCapsuleSdf"),EG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ws(t,r,o),c=__tsover_add(__tsover_div(tt(d.z,d.x),6.283185307179586),.5),_=__tsover_add(o.w,o.z);return l(c,$(__tsover_add(__tsover_mul(__tsover_div(d.y,_),.5),.5),0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["h","rp0","rp1"]]],[13,"u",[1,[1,[6,"std.atan2",[[7,"rp","z"],[7,"rp","x"]]],"/",[5,"6.283185307179586"]],"+",[5,"0.5"]]],[13,"span",[1,[7,"rp1","w"],"+",[7,"rp1","z"]]],[10,[6,"d.vec2f",["u",[6,"std.clamp",[[1,[1,[1,[7,"rp","y"],"/","span"],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]]]]]]},externals:{eulerRotatePacked:()=>ws,"std.atan2":()=>tt,"d.vec2f":()=>l,"std.clamp":()=>$}})&&e.f)({})).$name("capsuleSurfaceUV"),kG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=ws(t,s,r),d=r.z,c=r.w,_=o.x,u=tt(i.z,i.x),m=f(__tsover_mul(H(u),d),0,__tsover_mul(Y(u),d)),p=f(__tsover_sub(i.x,m.x),__tsover_sub(i.y,m.y),__tsover_sub(i.z,m.z)),y=__tsover_mul(u,.5),h=f(__tsover_mul(H(u),H(y)),Y(y),__tsover_mul(Y(u),H(y))),g=se(p,h),w=b(__tsover_sub(z(g),c),a(0)),S=f(__tsover_sub(p.x,__tsover_mul(h.x,g)),__tsover_sub(p.y,__tsover_mul(h.y,g)),__tsover_sub(p.z,__tsover_mul(h.z,g)));return __tsover_sub(j(l(w,j(S))),_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["p","rp0","rp1"]]],[13,"ringRadius",[7,"rp1","z"]],[13,"halfWidth",[7,"rp1","w"]],[13,"thickness",[7,"rp2","x"]],[13,"phi",[6,"std.atan2",[[7,"rp","z"],[7,"rp","x"]]]],[13,"spine",[6,"d.vec3f",[[1,[6,"std.cos",["phi"]],"*","ringRadius"],[5,"0"],[1,[6,"std.sin",["phi"]],"*","ringRadius"]]]],[13,"dvec",[6,"d.vec3f",[[1,[7,"rp","x"],"-",[7,"spine","x"]],[1,[7,"rp","y"],"-",[7,"spine","y"]],[1,[7,"rp","z"],"-",[7,"spine","z"]]]]],[13,"halfPhi",[1,"phi","*",[5,"0.5"]]],[13,"ev",[6,"d.vec3f",[[1,[6,"std.cos",["phi"]],"*",[6,"std.cos",["halfPhi"]]],[6,"std.sin",["halfPhi"]],[1,[6,"std.sin",["phi"]],"*",[6,"std.cos",["halfPhi"]]]]]],[13,"vProj",[6,"std.dot",["dvec","ev"]]],[13,"du",[6,"std.max",[[1,[6,"std.abs",["vProj"]],"-","halfWidth"],[6,"d.f32",[[5,"0"]]]]]],[13,"perp",[6,"d.vec3f",[[1,[7,"dvec","x"],"-",[1,[7,"ev","x"],"*","vProj"]],[1,[7,"dvec","y"],"-",[1,[7,"ev","y"],"*","vProj"]],[1,[7,"dvec","z"],"-",[1,[7,"ev","z"],"*","vProj"]]]]],[10,[1,[6,"std.length",[[6,"d.vec2f",["du",[6,"std.length",["perp"]]]]]],"-","thickness"]]]]},externals:{eulerRotatePacked:()=>ws,"std.atan2":()=>tt,"d.vec3f":()=>f,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.max":()=>b,"std.abs":()=>z,"d.f32":()=>a,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})).$name("paramMobiusSdf"),$G=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ws(t,r,o),c=o.z,_=o.w,u=tt(d.z,d.x),m=f(__tsover_mul(H(u),c),0,__tsover_mul(Y(u),c)),p=f(__tsover_sub(d.x,m.x),__tsover_sub(d.y,m.y),__tsover_sub(d.z,m.z)),y=__tsover_mul(u,.5),h=se(p,f(__tsover_mul(H(u),H(y)),Y(y),__tsover_mul(Y(u),H(y))));return l(__tsover_add(__tsover_div(u,6.283185307179586),.5),__tsover_add(__tsover_mul(__tsover_div(h,_),.5),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["h","rp0","rp1"]]],[13,"ringRadius",[7,"rp1","z"]],[13,"halfWidth",[7,"rp1","w"]],[13,"phi",[6,"std.atan2",[[7,"rp","z"],[7,"rp","x"]]]],[13,"spine",[6,"d.vec3f",[[1,[6,"std.cos",["phi"]],"*","ringRadius"],[5,"0"],[1,[6,"std.sin",["phi"]],"*","ringRadius"]]]],[13,"dvec",[6,"d.vec3f",[[1,[7,"rp","x"],"-",[7,"spine","x"]],[1,[7,"rp","y"],"-",[7,"spine","y"]],[1,[7,"rp","z"],"-",[7,"spine","z"]]]]],[13,"halfPhi",[1,"phi","*",[5,"0.5"]]],[13,"ev",[6,"d.vec3f",[[1,[6,"std.cos",["phi"]],"*",[6,"std.cos",["halfPhi"]]],[6,"std.sin",["halfPhi"]],[1,[6,"std.sin",["phi"]],"*",[6,"std.cos",["halfPhi"]]]]]],[13,"vProj",[6,"std.dot",["dvec","ev"]]],[10,[6,"d.vec2f",[[1,[1,"phi","/",[5,"6.283185307179586"]],"+",[5,"0.5"]],[1,[1,[1,"vProj","/","halfWidth"],"*",[5,"0.5"]],"+",[5,"0.5"]]]]]]]},externals:{eulerRotatePacked:()=>ws,"std.atan2":()=>tt,"d.vec3f":()=>f,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"d.vec2f":()=>l}})&&e.f)({})).$name("mobiusSurfaceUV"),UG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=s.x,d=s.y,c=s.z,_=r.x,u=r.y,m=r.z,p=H(i),y=Y(i),h=__tsover_add(__tsover_mul(t.x,p),__tsover_mul(t.y,y)),g=__tsover_add(__tsover_mul(__tsover_mul(t.x,y),-1),__tsover_mul(t.y,p)),w=__tsover_add(__tsover_add(__tsover_mul(h,d),u),__tsover_mul(n,Tu)),S=H(w),T=Y(w),A=__tsover_add(__tsover_mul(g,S),__tsover_mul(t.z,T)),P=__tsover_add(__tsover_mul(__tsover_mul(g,T),-1),__tsover_mul(t.z,S)),U=b(__tsover_sub(z(A),c),a(0));return __tsover_div(__tsover_sub(j(l(U,P)),_),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"t"}],body:[0,[[13,"angleRad",[7,"rp0","x"]],[13,"twist",[7,"rp0","y"]],[13,"halfW",[7,"rp0","z"]],[13,"thickness",[7,"rp1","x"]],[13,"phase",[7,"rp1","y"]],[13,"lipschitz",[7,"rp1","z"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"rpx",[1,[1,[7,"p","x"],"*","cosA"],"+",[1,[7,"p","y"],"*","sinA"]]],[13,"rpy",[1,[1,[1,[7,"p","x"],"*","sinA"],"*",[4,"-",[5,"1"]]],"+",[1,[7,"p","y"],"*","cosA"]]],[13,"twistAngle",[1,[1,[1,"rpx","*","twist"],"+","phase"],"+",[1,"t","*","TWISTED_RIBBON_TWIST_RATE"]]],[13,"ca",[6,"std.cos",["twistAngle"]]],[13,"sa",[6,"std.sin",["twistAngle"]]],[13,"localU",[1,[1,"rpy","*","ca"],"+",[1,[7,"p","z"],"*","sa"]]],[13,"localV",[1,[1,[1,"rpy","*","sa"],"*",[4,"-",[5,"1"]]],"+",[1,[7,"p","z"],"*","ca"]]],[13,"du",[6,"std.max",[[1,[6,"std.abs",["localU"]],"-","halfW"],[6,"d.f32",[[5,"0"]]]]]],[10,[1,[1,[6,"std.length",[[6,"d.vec2f",["du","localV"]]]],"-","thickness"],"/","lipschitz"]]]]},externals:{"std.cos":()=>H,"std.sin":()=>Y,TWISTED_RIBBON_TWIST_RATE:()=>Tu,"std.max":()=>b,"std.abs":()=>z,"d.f32":()=>a,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})).$name("paramTwistedRibbonSdf"),CG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=r.x,c=r.y,_=r.z,u=r.w,m=o.y,p=H(d),y=Y(d),h=__tsover_add(__tsover_mul(t.x,p),__tsover_mul(t.y,y)),g=__tsover_add(__tsover_mul(__tsover_mul(t.x,y),-1),__tsover_mul(t.y,p)),w=__tsover_add(__tsover_add(__tsover_mul(h,c),m),__tsover_mul(i,Tu)),S=H(w),T=Y(w),A=b(oe(__tsover_add(__tsover_mul(g,S),__tsover_mul(t.z,T)),_),__tsover_mul(_,-1));return l(__tsover_add(__tsover_mul(h,.15),.5),__tsover_add(__tsover_div(A,u),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"t"}],body:[0,[[13,"angleRad",[7,"rp0","x"]],[13,"twist",[7,"rp0","y"]],[13,"halfW",[7,"rp0","z"]],[13,"width",[7,"rp0","w"]],[13,"phase",[7,"rp1","y"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"rpx",[1,[1,[7,"h","x"],"*","cosA"],"+",[1,[7,"h","y"],"*","sinA"]]],[13,"rpy",[1,[1,[1,[7,"h","x"],"*","sinA"],"*",[4,"-",[5,"1"]]],"+",[1,[7,"h","y"],"*","cosA"]]],[13,"twistAngle",[1,[1,[1,"rpx","*","twist"],"+","phase"],"+",[1,"t","*","TWISTED_RIBBON_TWIST_RATE"]]],[13,"ca",[6,"std.cos",["twistAngle"]]],[13,"sa",[6,"std.sin",["twistAngle"]]],[13,"localU",[1,[1,"rpy","*","ca"],"+",[1,[7,"h","z"],"*","sa"]]],[13,"localUClamped",[6,"std.max",[[6,"std.min",["localU","halfW"]],[1,"halfW","*",[4,"-",[5,"1"]]]]]],[10,[6,"d.vec2f",[[1,[1,"rpx","*",[5,"0.15"]],"+",[5,"0.5"]],[1,[1,"localUClamped","/","width"],"+",[5,"0.5"]]]]]]]},externals:{"std.cos":()=>H,"std.sin":()=>Y,TWISTED_RIBBON_TWIST_RATE:()=>Tu,"std.max":()=>b,"std.min":()=>oe,"d.vec2f":()=>l}})&&e.f)({})).$name("twistedRibbonSurfaceUV");function RG(e,t){let s={};return t.forEach((r,o)=>{s[`${e}${o}`]={schema:x,initial:r}}),s}var qm=_o()?128:192,FW=Math.ceil(qm/4)*qm*qm,Su=_o()?512:1024;var BW=Math.PI/180;var Xm=2.39996323,Mb=.27;var WW=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cam:n5(16,a5(32,Hc)),lightDir:f,voxelSize:a,lightT1:f,fill:a,lightT2:f,voxelScale:a,bevel:a,gridOrigin:a,gridN:a,gridW:a}),"VoxelMarchParams");var Hm=v.fn([ps(a),a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=a(__tsover_sub(Su,1)),i=q(s),d=q(r),c=__tsover_sub(s,i),_=__tsover_sub(r,d),u=R($(i,a(0),n)),m=R($(__tsover_add(i,1),a(0),n)),p=R($(d,a(0),n)),y=R($(__tsover_add(d,1),a(0),n)),h=C(a(0),a(1),Be(t,Ge(u,p),0).ra,VOXEL_SHADOW_RES:()=>Su,"std.floor":()=>q,"d.u32":()=>R,"std.clamp":()=>$,"std.select":()=>C,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.mix":()=>X}})&&e.f)({})).$name("voxelShadowCompare"),OW=v.fn([ps(a),f,f,f,f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=a(Su),u=__tsover_div(__tsover_mul(i,2),_),m=se(s,o),p=se(s,n),y=__tsover_sub(i,se(s,r)),h=__tsover_sub(__tsover_mul(__tsover_add(__tsover_mul(__tsover_div(m,i),.5),.5),_),.5),g=__tsover_sub(__tsover_mul(__tsover_add(__tsover_mul(__tsover_div(p,i),.5),.5),_),.5),w=__tsover_sub(y,__tsover_add(__tsover_mul(c,.05),__tsover_mul(u,2))),S=a(0);if(d<.001)S=Hm(t,h,g,w);else{let T=__tsover_mul(d,Mb),A=b(__tsover_div(oe(__tsover_mul(i,T),__tsover_mul(i,.25)),u),1),P=a(0),U=a(0);for(let D=0;D<8;D++){let O=__tsover_mul(be(__tsover_div(__tsover_add(a(D),.5),8)),A),L=__tsover_mul(a(D),Xm),G=$(__tsover_add(h,__tsover_mul(H(L),O)),a(0),__tsover_sub(_,1)),W=$(__tsover_add(g,__tsover_mul(Y(L),O)),a(0),__tsover_sub(_,1)),K=Be(t,Ge(R(G),R(W)),0).r;K.5){let D=__tsover_div(P,U),O=$(__tsover_div(__tsover_mul(__tsover_sub(y,D),T),u),1,A),L=a(0);for(let G=0;G<12;G++){let W=__tsover_mul(be(__tsover_div(__tsover_add(a(G),.5),12)),O),K=__tsover_add(__tsover_mul(a(G),Xm),.7);L=__tsover_add(L,Hm(t,__tsover_add(h,__tsover_mul(H(K),W)),__tsover_add(g,__tsover_mul(Y(K),W)),w))}S=__tsover_div(L,12)}}return S}),{v:2,name:void 0,ast:{params:[{type:"i",name:"tex"},{type:"i",name:"p"},{type:"i",name:"L"},{type:"i",name:"T1"},{type:"i",name:"T2"},{type:"i",name:"rBound"},{type:"i",name:"softness"},{type:"i",name:"voxel"}],body:[0,[[13,"RES",[6,"d.f32",["VOXEL_SHADOW_RES"]]],[13,"texelWorld",[1,[1,"rBound","*",[5,"2"]],"/","RES"]],[13,"u",[6,"std.dot",["p","T1"]]],[13,"w",[6,"std.dot",["p","T2"]]],[13,"dL",[1,"rBound","-",[6,"std.dot",["p","L"]]]],[13,"mx",[1,[1,[1,[1,[1,"u","/","rBound"],"*",[5,"0.5"]],"+",[5,"0.5"]],"*","RES"],"-",[5,"0.5"]]],[13,"my",[1,[1,[1,[1,[1,"w","/","rBound"],"*",[5,"0.5"]],"+",[5,"0.5"]],"*","RES"],"-",[5,"0.5"]]],[13,"ref",[1,"dL","-",[1,[1,"voxel","*",[5,"0.05"]],"+",[1,"texelWorld","*",[5,"2"]]]]],[12,"shadow",[6,"d.f32",[[5,"0"]]]],[11,[1,"softness","<",[5,"0.001"]],[0,[[2,"shadow","=",[6,"shadowCompare",["tex","mx","my","ref"]]]]],[0,[[13,"k",[1,"softness","*","SOFT_TAN"]],[13,"rSearch",[6,"std.max",[[1,[6,"std.min",[[1,"rBound","*","k"],[1,"rBound","*",[5,"0.25"]]]],"/","texelWorld"],[5,"1"]]]],[12,"sum",[6,"d.f32",[[5,"0"]]]],[12,"count",[6,"d.f32",[[5,"0"]]]],[14,[12,"s",[5,"0"]],[1,"s","<",[5,"8"]],[102,"++","s"],[0,[[13,"r",[1,[6,"std.sqrt",[[1,[1,[6,"d.f32",["s"]],"+",[5,"0.5"]],"/",[5,"8"]]]],"*","rSearch"]],[13,"th",[1,[6,"d.f32",["s"]],"*","GOLDEN_ANGLE"]],[13,"sx",[6,"std.clamp",[[1,"mx","+",[1,[6,"std.cos",["th"]],"*","r"]],[6,"d.f32",[[5,"0"]]],[1,"RES","-",[5,"1"]]]]],[13,"sy",[6,"std.clamp",[[1,"my","+",[1,[6,"std.sin",["th"]],"*","r"]],[6,"d.f32",[[5,"0"]]],[1,"RES","-",[5,"1"]]]]],[13,"dep",[7,[6,"std.textureLoad",["tex",[6,"d.vec2u",[[6,"d.u32",["sx"]],[6,"d.u32",["sy"]]]],[5,"0"]]],"r"]],[11,[1,"dep","<","ref"],[0,[[2,"sum","=",[1,"sum","+","dep"]],[2,"count","=",[1,"count","+",[5,"1"]]]]]]]]],[11,[1,"count",">",[5,"0.5"]],[0,[[13,"avgBlocker",[1,"sum","/","count"]],[13,"penumbra",[6,"std.clamp",[[1,[1,[1,"dL","-","avgBlocker"],"*","k"],"/","texelWorld"],[5,"1"],"rSearch"]]],[12,"acc",[6,"d.f32",[[5,"0"]]]],[14,[12,"s",[5,"0"]],[1,"s","<",[5,"12"]],[102,"++","s"],[0,[[13,"r",[1,[6,"std.sqrt",[[1,[1,[6,"d.f32",["s"]],"+",[5,"0.5"]],"/",[5,"12"]]]],"*","penumbra"]],[13,"th",[1,[1,[6,"d.f32",["s"]],"*","GOLDEN_ANGLE"],"+",[5,"0.7"]]],[2,"acc","=",[1,"acc","+",[6,"shadowCompare",["tex",[1,"mx","+",[1,[6,"std.cos",["th"]],"*","r"]],[1,"my","+",[1,[6,"std.sin",["th"]],"*","r"]],"ref"]]]]]]],[2,"shadow","=",[1,"acc","/",[5,"12"]]]]]]]]],[10,"shadow"]]]},externals:{"d.f32":()=>a,VOXEL_SHADOW_RES:()=>Su,"std.dot":()=>se,shadowCompare:()=>Hm,SOFT_TAN:()=>Mb,"std.max":()=>b,"std.min":()=>oe,"std.sqrt":()=>be,GOLDEN_ANGLE:()=>Xm,"std.clamp":()=>$,"std.cos":()=>H,"std.sin":()=>Y,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"d.u32":()=>R}})&&e.f)({})).$name("voxelShadowLookup"),Pb=v.fn([f,f,f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=C(a(-1),a(1),s.x>=0),i=C(a(-1),a(1),s.y>=0),d=C(a(-1),a(1),s.z>=0),c=__tsover_div(n,b(z(s.x),1e-6)),_=__tsover_div(i,b(z(s.y),1e-6)),u=__tsover_div(d,b(z(s.z),1e-6)),m=__tsover_mul(__tsover_sub(__tsover_sub(r.x,o),t.x),c),p=__tsover_mul(__tsover_sub(__tsover_add(r.x,o),t.x),c),y=__tsover_mul(__tsover_sub(__tsover_sub(r.y,o),t.y),_),h=__tsover_mul(__tsover_sub(__tsover_add(r.y,o),t.y),_),g=__tsover_mul(__tsover_sub(__tsover_sub(r.z,o),t.z),u),w=__tsover_mul(__tsover_sub(__tsover_add(r.z,o),t.z),u),S=b(oe(m,p),b(oe(y,h),oe(g,w))),T=oe(b(m,p),oe(b(y,h),b(g,w))),A=__tsover_mul(C(a(0),a(1),S<=T),C(a(0),a(1),T>=0));return C(a(-1),b(S,a(0)),A>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ro"},{type:"i",name:"rd"},{type:"i",name:"c"},{type:"i",name:"h"}],body:[0,[[13,"sx",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"d.f32",[[5,"1"]]],[1,[7,"rd","x"],">=",[5,"0"]]]]],[13,"sy",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"d.f32",[[5,"1"]]],[1,[7,"rd","y"],">=",[5,"0"]]]]],[13,"sz",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"d.f32",[[5,"1"]]],[1,[7,"rd","z"],">=",[5,"0"]]]]],[13,"ix",[1,"sx","/",[6,"std.max",[[6,"std.abs",[[7,"rd","x"]]],[5,"0.000001"]]]]],[13,"iy",[1,"sy","/",[6,"std.max",[[6,"std.abs",[[7,"rd","y"]]],[5,"0.000001"]]]]],[13,"iz",[1,"sz","/",[6,"std.max",[[6,"std.abs",[[7,"rd","z"]]],[5,"0.000001"]]]]],[13,"t1x",[1,[1,[1,[7,"c","x"],"-","h"],"-",[7,"ro","x"]],"*","ix"]],[13,"t2x",[1,[1,[1,[7,"c","x"],"+","h"],"-",[7,"ro","x"]],"*","ix"]],[13,"t1y",[1,[1,[1,[7,"c","y"],"-","h"],"-",[7,"ro","y"]],"*","iy"]],[13,"t2y",[1,[1,[1,[7,"c","y"],"+","h"],"-",[7,"ro","y"]],"*","iy"]],[13,"t1z",[1,[1,[1,[7,"c","z"],"-","h"],"-",[7,"ro","z"]],"*","iz"]],[13,"t2z",[1,[1,[1,[7,"c","z"],"+","h"],"-",[7,"ro","z"]],"*","iz"]],[13,"tIn",[6,"std.max",[[6,"std.min",["t1x","t2x"]],[6,"std.max",[[6,"std.min",["t1y","t2y"]],[6,"std.min",["t1z","t2z"]]]]]]],[13,"tOut",[6,"std.min",[[6,"std.max",["t1x","t2x"]],[6,"std.min",[[6,"std.max",["t1y","t2y"]],[6,"std.max",["t1z","t2z"]]]]]]],[13,"ok",[1,[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"tIn","<=","tOut"]]],"*",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"tOut",">=",[5,"0"]]]]]],[10,[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"std.max",["tIn",[6,"d.f32",[[5,"0"]]]]],[1,"ok",">",[5,"0.5"]]]]]]]},externals:{"std.select":()=>C,"d.f32":()=>a,"std.max":()=>b,"std.abs":()=>z,"std.min":()=>oe}})&&e.f)({})).$name("voxelRayBox"),VW=v.fn([f,f,f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=t.sub(r),i=se(n,s),d=__tsover_sub(se(n,n),__tsover_mul(o,o)),c=__tsover_sub(__tsover_mul(i,i),d),_=__tsover_sub(__tsover_mul(i,-1),be(b(c,0))),u=__tsover_mul(C(a(0),a(1),c>=0),C(a(0),a(1),_>=0));return C(a(-1),_,u>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ro"},{type:"i",name:"rd"},{type:"i",name:"c"},{type:"i",name:"h"}],body:[0,[[13,"oc",[6,[7,"ro","sub"],["c"]]],[13,"b",[6,"std.dot",["oc","rd"]]],[13,"cc",[1,[6,"std.dot",["oc","oc"]],"-",[1,"h","*","h"]]],[13,"disc",[1,[1,"b","*","b"],"-","cc"]],[13,"t",[1,[1,"b","*",[4,"-",[5,"1"]]],"-",[6,"std.sqrt",[[6,"std.max",["disc",[5,"0"]]]]]]],[13,"ok",[1,[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"disc",">=",[5,"0"]]]],"*",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"t",">=",[5,"0"]]]]]],[10,[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],"t",[1,"ok",">",[5,"0.5"]]]]]]]},externals:{"std.dot":()=>se,"std.sqrt":()=>be,"std.max":()=>b,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})).$name("voxelRaySphere"),NW=v.fn([f,f,f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=Pb(t,s,r,o),d=a(-1);if(i>=0){let c=i,_=a(0);for(let u=0;u<8;u++){let m=Ec(t.add(s.mul(c)).sub(r),o,o,o,n);if(m<__tsover_mul(o,.004)){_=a(1);break}if(c=__tsover_add(c,m),c>__tsover_add(i,__tsover_mul(o,3.5)))break}d=C(a(-1),c,_>.5)}return d}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ro"},{type:"i",name:"rd"},{type:"i",name:"c"},{type:"i",name:"h"},{type:"i",name:"r"}],body:[0,[[13,"tBox",[6,"voxelRayBox",["ro","rd","c","h"]]],[12,"t",[6,"d.f32",[[4,"-",[5,"1"]]]]],[11,[1,"tBox",">=",[5,"0"]],[0,[[12,"s","tBox"],[12,"hit",[6,"d.f32",[[5,"0"]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"8"]],[102,"++","i"],[0,[[13,"p",[6,[7,[6,[7,"ro","add"],[[6,[7,"rd","mul"],["s"]]]],"sub"],["c"]]],[13,"dd",[6,"sdRoundBox",["p","h","h","h","r"]]],[11,[1,"dd","<",[1,"h","*",[5,"0.004"]]],[0,[[2,"hit","=",[6,"d.f32",[[5,"1"]]]],[17]]]],[2,"s","=",[1,"s","+","dd"]],[11,[1,"s",">",[1,"tBox","+",[1,"h","*",[5,"3.5"]]]],[0,[[17]]]]]]],[2,"t","=",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],"s",[1,"hit",">",[5,"0.5"]]]]]]]],[10,"t"]]]},externals:{voxelRayBox:()=>Pb,"d.f32":()=>a,sdRoundBox:()=>Ec,"std.select":()=>C}})&&e.f)({})).$name("voxelRayRoundedBox");var zG=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_sub(1,t),o=re(0,.14,t),n=re(.68,.92,t);return X(r,X(a(1),__tsover_mul(.72,__tsover_sub(1,n)),o),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"shape"}],body:[0,[[13,"sRound",[1,[5,"1"],"-","t"]],[13,"k1",[6,"std.smoothstep",[[5,"0"],[5,"0.14"],"t"]]],[13,"k2",[6,"std.smoothstep",[[5,"0.68"],[5,"0.92"],"t"]]],[13,"sMach",[6,"std.mix",[[6,"d.f32",[[5,"1"]]],[1,[5,"0.72"],"*",[1,[5,"1"],"-","k2"]],"k1"]]],[10,[6,"std.mix",["sRound","sMach","shape"]]]]]},externals:{"std.smoothstep":()=>re,"std.mix":()=>X,"d.f32":()=>a}})&&e.f)({})),sw=Za({BLUR_DISK:()=>Ya,GlassLensUVs:()=>hl,applyGlassEffect:()=>YG,glassBlurOffset:()=>aw,glassBorderHighlight:()=>Af,glassComposite:()=>iw,glassFresnelRim:()=>Pf,glassGradient:()=>ow,glassLensUVs:()=>nw,glassRefrStrength:()=>$c,glassSpecular:()=>Mf,glassTint:()=>Sf,offsetUV:()=>Tf,sdfSpaceUV:()=>rw}),ra=.017453292519943295,tl=.4472135954999579,GG=2.3999632297286535,wf=9,Ya=[];for(let e=0;e(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=t.x,d=__tsover_sub(1,t.y),c=__tsover_mul(__tsover_sub(o.x,i),n),_=__tsover_sub(o.y,d),u=__tsover_mul(r,ra),m=H(u),p=Y(u),y=__tsover_add(__tsover_mul(c,m),__tsover_mul(_,p)),h=__tsover_sub(__tsover_mul(_,m),__tsover_mul(c,p));return l(__tsover_add(__tsover_div(y,s),.5),__tsover_add(__tsover_div(h,s),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"scale"},{type:"i",name:"rotation"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"centerX",[7,"center","x"]],[13,"centerY",[1,[5,"1"],"-",[7,"center","y"]]],[13,"dxAc",[1,[1,[7,"uv","x"],"-","centerX"],"*","aspect"]],[13,"dy",[1,[7,"uv","y"],"-","centerY"]],[13,"rotRad",[1,"rotation","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rdx",[1,[1,"dxAc","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dxAc","*","sinR"]]],[10,[6,"d.vec2f",[[1,[1,"rdx","/","scale"],"+",[5,"0.5"]],[1,[1,"rdy","/","scale"],"+",[5,"0.5"]]]]]]]},externals:{DEG_TO_RAD:()=>ra,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),Tf=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_add(t.x,s),__tsover_add(t.y,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+","ox"],[1,[7,"uv","y"],"+","oy"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),ow=v.fn([a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_div(__tsover_sub(s,t),.01),__tsover_div(__tsover_sub(r,t),.01))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdfRaw"},{type:"i",name:"sdfX"},{type:"i",name:"sdfY"}],body:[0,[[13,"eps",[5,"0.01"]],[10,[6,"d.vec2f",[[1,[1,"sdfX","-","sdfRaw"],"/","eps"],[1,[1,"sdfY","-","sdfRaw"],"/","eps"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),$c=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=b(__tsover_mul(s,.3),.005),n=$(__tsover_div(__tsover_mul(t,-1),o),0,1),i=re(0,1,n);return C(__tsover_mul(__tsover_sub(1,n),__tsover_sub(1,n)),i,r>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"thickness"},{type:"i",name:"volumetric"}],body:[0,[[13,"thicknessRange",[6,"std.max",[[1,"thickness","*",[5,"0.3"]],[5,"0.005"]]]],[13,"depthNorm",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","thicknessRange"],[5,"0"],[5,"1"]]]],[13,"vol",[6,"std.smoothstep",[[5,"0"],[5,"1"],"depthNorm"]]],[13,"flat",[1,[1,[5,"1"],"-","depthNorm"],"*",[1,[5,"1"],"-","depthNorm"]]],[10,[6,"std.select",["flat","vol",[1,"volumetric",">",[5,"0.5"]]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.smoothstep":()=>re,"std.select":()=>C}})&&e.f)({})),hl=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({lensUV:l,rUV:l,bUV:l}),"GlassLensUVs"),nw=v.fn([l,l,a,a,a,a,a,a,a,a,a,a],hl)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p)=>{"use gpu";let y=$c(__tsover_div(r,o),_,p),h=__tsover_mul(d,.15),g=b(be(__tsover_add(__tsover_mul(n,n),__tsover_mul(i,i))),1e-4),w=oe(a(1),__tsover_div(12,g)),S=__tsover_div(__tsover_mul(__tsover_mul(__tsover_mul(__tsover_mul(n,w),-1),h),y),m),T=__tsover_mul(__tsover_mul(__tsover_mul(__tsover_mul(i,w),-1),h),y),A=s.x,P=__tsover_sub(1,s.y),U=__tsover_add(A,__tsover_div(__tsover_sub(t.x,A),c)),D=__tsover_add(P,__tsover_div(__tsover_sub(t.y,P),c)),O=__tsover_add(U,S),L=__tsover_add(D,T),G=__tsover_mul(u,.06),W=__tsover_mul(S,G),K=__tsover_mul(T,G);return hl({lensUV:l(O,L),rUV:l(__tsover_add(O,W),__tsover_add(L,K)),bUV:l(__tsover_sub(O,W),__tsover_sub(L,K))})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"center"},{type:"i",name:"sdfRaw"},{type:"i",name:"scale"},{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"refraction"},{type:"i",name:"innerZoom"},{type:"i",name:"thickness"},{type:"i",name:"aberration"},{type:"i",name:"aspect"},{type:"i",name:"volumetric"}],body:[0,[[13,"sdf",[1,"sdfRaw","/","scale"]],[13,"refrStrength",[6,"glassRefrStrength",["sdf","thickness","volumetric"]]],[13,"refrScale",[1,"refraction","*",[5,"0.15"]]],[13,"slopeLen",[6,"std.max",[[6,"std.sqrt",[[1,[1,"gradX","*","gradX"],"+",[1,"gradY","*","gradY"]]]],[5,"0.0001"]]]],[13,"slopeScale",[6,"std.min",[[6,"d.f32",[[5,"1"]]],[1,[5,"12"],"/","slopeLen"]]]],[13,"offsetX",[1,[1,[1,[1,[1,"gradX","*","slopeScale"],"*",[4,"-",[5,"1"]]],"*","refrScale"],"*","refrStrength"],"/","aspect"]],[13,"offsetY",[1,[1,[1,[1,"gradY","*","slopeScale"],"*",[4,"-",[5,"1"]]],"*","refrScale"],"*","refrStrength"]],[13,"centerX",[7,"center","x"]],[13,"centerY",[1,[5,"1"],"-",[7,"center","y"]]],[13,"zoomedX",[1,"centerX","+",[1,[1,[7,"uv","x"],"-","centerX"],"/","innerZoom"]]],[13,"zoomedY",[1,"centerY","+",[1,[1,[7,"uv","y"],"-","centerY"],"/","innerZoom"]]],[13,"lensX",[1,"zoomedX","+","offsetX"]],[13,"lensY",[1,"zoomedY","+","offsetY"]],[13,"chrScale",[1,"aberration","*",[5,"0.06"]]],[13,"chrOffX",[1,"offsetX","*","chrScale"]],[13,"chrOffY",[1,"offsetY","*","chrScale"]],[10,[6,"GlassLensUVs",[[104,{lensUV:[6,"d.vec2f",["lensX","lensY"]],rUV:[6,"d.vec2f",[[1,"lensX","+","chrOffX"],[1,"lensY","+","chrOffY"]]],bUV:[6,"d.vec2f",[[1,"lensX","-","chrOffX"],[1,"lensY","-","chrOffY"]]]}]]]]]]},externals:{glassRefrStrength:()=>$c,"std.max":()=>b,"std.sqrt":()=>be,"std.min":()=>oe,"d.f32":()=>a,GlassLensUVs:()=>hl,"d.vec2f":()=>l}})&&e.f)({})),aw=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,2);return l(__tsover_mul(__tsover_div(r,t.x),n),__tsover_mul(__tsover_div(o,t.y),n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"viewportSize"},{type:"i",name:"blur"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[13,"m",[1,"blur","*",[5,"2"]]],[10,[6,"d.vec2f",[[1,[1,"ox","/",[7,"viewportSize","x"]],"*","m"],[1,[1,"oy","/",[7,"viewportSize","y"]],"*","m"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Sf=v.fn([f,f,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=f(.299,.587,.114),i=se(t,n),d=X(t,s,r),c=se(d,n);return X(d,d.mul(__tsover_div(i,b(c,1e-4))),C(a(0),a(1),o>.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"tintColor"},{type:"i",name:"tintIntensity"},{type:"i",name:"preserveLum"}],body:[0,[[13,"lumWeights",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]],[13,"origLum",[6,"std.dot",["rgb","lumWeights"]]],[13,"tinted",[6,"std.mix",["rgb","tintColor","tintIntensity"]]],[13,"tintedLum",[6,"std.dot",["tinted","lumWeights"]]],[13,"lumPreserved",[6,[7,"tinted","mul"],[[1,"origLum","/",[6,"std.max",["tintedLum",[5,"0.0001"]]]]]]],[13,"preserveFactor",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"preserveLum",">",[5,"0.5"]]]]],[10,[6,"std.mix",["tinted","lumPreserved","preserveFactor"]]]]]},externals:{"d.vec3f":()=>f,"std.dot":()=>se,"std.mix":()=>X,"std.max":()=>b,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})),Af=v.fn([a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=b(__tsover_mul(s,.5),.001),_=b(__tsover_mul(c,.0625),__tsover_mul(r,1.5)),u=__tsover_sub(t,r),m=__tsover_sub($(__tsover_div(__tsover_mul(u,-1),_),0,1),$(__tsover_div(__tsover_mul(t,-1),_),0,1)),p=H(__tsover_mul(i,ra)),y=Y(__tsover_mul(i,ra)),h=__tsover_add(__tsover_mul(o,p),__tsover_mul(n,y)),g=$(__tsover_add(__tsover_mul(h,.5),.5),0,1);return __tsover_mul(__tsover_mul(m,g),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"edgeSoftness"},{type:"i",name:"pxH"},{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"lightAngle"},{type:"i",name:"highlight"}],body:[0,[[13,"sharp",[6,"std.max",[[1,"edgeSoftness","*",[5,"0.5"]],[5,"0.001"]]]],[13,"w2",[6,"std.max",[[1,"sharp","*",[5,"0.0625"]],[1,"pxH","*",[5,"1.5"]]]]],[13,"sdfOuter",[1,"sdf","-","pxH"]],[13,"rb2base",[1,[6,"std.clamp",[[1,[1,"sdfOuter","*",[4,"-",[5,"1"]]],"/","w2"],[5,"0"],[5,"1"]]],"-",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","w2"],[5,"0"],[5,"1"]]]]],[13,"lx",[6,"std.cos",[[1,"lightAngle","*","DEG_TO_RAD"]]]],[13,"ly",[6,"std.sin",[[1,"lightAngle","*","DEG_TO_RAD"]]]],[13,"normalDotLight",[1,[1,"gradX","*","lx"],"+",[1,"gradY","*","ly"]]],[13,"lightFacing",[6,"std.clamp",[[1,[1,"normalDotLight","*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[10,[1,[1,"rb2base","*","lightFacing"],"*","highlight"]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.cos":()=>H,DEG_TO_RAD:()=>ra,"std.sin":()=>Y}})&&e.f)({})),Mf=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=H(__tsover_mul(r,ra)),c=Y(__tsover_mul(r,ra)),_=a(2),u=be(__tsover_add(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s)),__tsover_mul(_,_))),m=__tsover_div(t,u),p=__tsover_div(s,u),y=__tsover_div(_,u),h=__tsover_add(__tsover_add(__tsover_mul(m,__tsover_mul(d,tl)),__tsover_mul(p,__tsover_mul(c,tl))),__tsover_mul(y,__tsover_mul(2,tl))),g=$l(__tsover_sub(8,__tsover_mul(n,7)));return __tsover_mul(__tsover_mul(Ce($(h,0,1),g),o),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"lightAngle"},{type:"i",name:"highlight"},{type:"i",name:"highlightSoftness"},{type:"i",name:"refrStrength"}],body:[0,[[13,"lx",[6,"std.cos",[[1,"lightAngle","*","DEG_TO_RAD"]]]],[13,"ly",[6,"std.sin",[[1,"lightAngle","*","DEG_TO_RAD"]]]],[13,"nz",[6,"d.f32",[[5,"2"]]]],[13,"nLen",[6,"std.sqrt",[[1,[1,[1,"gradX","*","gradX"],"+",[1,"gradY","*","gradY"]],"+",[1,"nz","*","nz"]]]]],[13,"nx",[1,"gradX","/","nLen"]],[13,"ny",[1,"gradY","/","nLen"]],[13,"nnz",[1,"nz","/","nLen"]],[13,"nDotH",[1,[1,[1,"nx","*",[1,"lx","*","INV_HLEN_GLASS"]],"+",[1,"ny","*",[1,"ly","*","INV_HLEN_GLASS"]]],"+",[1,"nnz","*",[1,[5,"2"],"*","INV_HLEN_GLASS"]]]],[13,"shininess",[6,"std.exp2",[[1,[5,"8"],"-",[1,"highlightSoftness","*",[5,"7"]]]]]],[10,[1,[1,[6,"std.pow",[[6,"std.clamp",["nDotH",[5,"0"],[5,"1"]]],"shininess"]],"*","highlight"],"*","refrStrength"]]]]},externals:{"std.cos":()=>H,DEG_TO_RAD:()=>ra,"std.sin":()=>Y,"d.f32":()=>a,"std.sqrt":()=>be,INV_HLEN_GLASS:()=>tl,"std.exp2":()=>$l,"std.pow":()=>Ce,"std.clamp":()=>$}})&&e.f)({})),Pf=v.fn([a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_add(__tsover_mul(s,s),__tsover_mul(r,r)),_=__tsover_div(1,be(__tsover_add(c,1))),u=X(6,1.5,$(n,0,1)),m=__tsover_mul(__tsover_mul(__tsover_mul(Ce(__tsover_sub(1,_),u),o),2),i),p=b(__tsover_mul(n,.06),.001),y=$(__tsover_div(__tsover_mul(t,-1),p),0,1);return C(__tsover_mul(__tsover_mul(__tsover_mul(__tsover_sub(1,y),__tsover_sub(1,y)),o),i),m,d>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"fresnel"},{type:"i",name:"fresnelSoftness"},{type:"i",name:"rb1"},{type:"i",name:"volumetric"}],body:[0,[[13,"slopeSq",[1,[1,"gradX","*","gradX"],"+",[1,"gradY","*","gradY"]]],[13,"cosView",[1,[5,"1"],"/",[6,"std.sqrt",[[1,"slopeSq","+",[5,"1"]]]]]],[13,"exponent",[6,"std.mix",[[5,"6"],[5,"1.5"],[6,"std.clamp",["fresnelSoftness",[5,"0"],[5,"1"]]]]]],[13,"volRim",[1,[1,[1,[6,"std.pow",[[1,[5,"1"],"-","cosView"],"exponent"]],"*","fresnel"],"*",[5,"2"]],"*","rb1"]],[13,"fresnelWidth",[6,"std.max",[[1,"fresnelSoftness","*",[5,"0.06"]],[5,"0.001"]]]],[13,"fresnelDepth",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","fresnelWidth"],[5,"0"],[5,"1"]]]],[13,"flatRim",[1,[1,[1,[1,[5,"1"],"-","fresnelDepth"],"*",[1,[5,"1"],"-","fresnelDepth"]],"*","fresnel"],"*","rb1"]],[10,[6,"std.select",["flatRim","volRim",[1,"volumetric",">",[5,"0.5"]]]]]]]},externals:{"std.sqrt":()=>be,"std.mix":()=>X,"std.clamp":()=>$,"std.pow":()=>Ce,"std.max":()=>b,"std.select":()=>C}})&&e.f)({})),iw=v.fn([x,x,a,a,a,a,l,a,a,a,f,a,a,f,a,a,f,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p,y,h,g,w,S,T,A,P,U)=>{"use gpu";let D=b(__tsover_mul(c,.5),.001),O=__tsover_div(1,d.y),L=__tsover_div(r,o),G=b(__tsover_mul(D,.03125),__tsover_mul(O,1.5)),W=$(__tsover_div(__tsover_mul(L,-1),G),0,1),K=$c(L,w,U),Q=Af(L,c,O,n,i,_,u),te=Sf(f(s.x,s.y,s.z),S,T,A),ee=Mf(n,i,_,u,p,K),he=Pf(L,n,i,y,g,W,U),Ee=x(__tsover_add(__tsover_add(__tsover_add(te.x,__tsover_mul(m.x,Q)),__tsover_mul(m.x,ee)),__tsover_mul(h.x,he)),__tsover_add(__tsover_add(__tsover_add(te.y,__tsover_mul(m.y,Q)),__tsover_mul(m.y,ee)),__tsover_mul(h.y,he)),__tsover_add(__tsover_add(__tsover_add(te.z,__tsover_mul(m.z,Q)),__tsover_mul(m.z,ee)),__tsover_mul(h.z,he)),__tsover_add(s.w,Q)),Te=re(0,1,W),Ue=X(t,Ee,Te),Me=C(a(1),Te,P>.5);return x(Ue.x,Ue.y,Ue.z,__tsover_mul(Ue.w,Me))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"baseColor"},{type:"i",name:"blurred"},{type:"i",name:"sdfRaw"},{type:"i",name:"scale"},{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"viewportSize"},{type:"i",name:"edgeSoftness"},{type:"i",name:"lightAngle"},{type:"i",name:"highlight"},{type:"i",name:"highlightColor"},{type:"i",name:"highlightSoftness"},{type:"i",name:"fresnel"},{type:"i",name:"fresnelColor"},{type:"i",name:"fresnelSoftness"},{type:"i",name:"thickness"},{type:"i",name:"tintColor"},{type:"i",name:"tintIntensity"},{type:"i",name:"tintPreserveLuminosity"},{type:"i",name:"cutout"},{type:"i",name:"volumetric"}],body:[0,[[13,"sharp",[6,"std.max",[[1,"edgeSoftness","*",[5,"0.5"]],[5,"0.001"]]]],[13,"pxH",[1,[5,"1"],"/",[7,"viewportSize","y"]]],[13,"sdf",[1,"sdfRaw","/","scale"]],[13,"w1",[6,"std.max",[[1,"sharp","*",[5,"0.03125"]],[1,"pxH","*",[5,"1.5"]]]]],[13,"rb1",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","w1"],[5,"0"],[5,"1"]]]],[13,"refrStrength",[6,"glassRefrStrength",["sdf","thickness","volumetric"]]],[13,"rb2",[6,"glassBorderHighlight",["sdf","edgeSoftness","pxH","gradX","gradY","lightAngle","highlight"]]],[13,"blurredRgb",[6,"d.vec3f",[[7,"blurred","x"],[7,"blurred","y"],[7,"blurred","z"]]]],[13,"tintedRgb",[6,"glassTint",["blurredRgb","tintColor","tintIntensity","tintPreserveLuminosity"]]],[13,"specGlint",[6,"glassSpecular",["gradX","gradY","lightAngle","highlight","highlightSoftness","refrStrength"]]],[13,"fresnelRim",[6,"glassFresnelRim",["sdf","gradX","gradY","fresnel","fresnelSoftness","rb1","volumetric"]]],[13,"litR",[1,[1,[1,[7,"tintedRgb","x"],"+",[1,[7,"highlightColor","x"],"*","rb2"]],"+",[1,[7,"highlightColor","x"],"*","specGlint"]],"+",[1,[7,"fresnelColor","x"],"*","fresnelRim"]]],[13,"litG",[1,[1,[1,[7,"tintedRgb","y"],"+",[1,[7,"highlightColor","y"],"*","rb2"]],"+",[1,[7,"highlightColor","y"],"*","specGlint"]],"+",[1,[7,"fresnelColor","y"],"*","fresnelRim"]]],[13,"litB",[1,[1,[1,[7,"tintedRgb","z"],"+",[1,[7,"highlightColor","z"],"*","rb2"]],"+",[1,[7,"highlightColor","z"],"*","specGlint"]],"+",[1,[7,"fresnelColor","z"],"*","fresnelRim"]]],[13,"litA",[1,[7,"blurred","w"],"+","rb2"]],[13,"lighting",[6,"d.vec4f",["litR","litG","litB","litA"]]],[13,"transition",[6,"std.smoothstep",[[5,"0"],[5,"1"],"rb1"]]],[13,"composited",[6,"std.mix",["baseColor","lighting","transition"]]],[13,"cutoutAlpha",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"transition",[1,"cutout",">",[5,"0.5"]]]]],[10,[6,"d.vec4f",[[7,"composited","x"],[7,"composited","y"],[7,"composited","z"],[1,[7,"composited","w"],"*","cutoutAlpha"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,glassRefrStrength:()=>$c,glassBorderHighlight:()=>Af,"d.vec3f":()=>f,glassTint:()=>Sf,glassSpecular:()=>Mf,glassFresnelRim:()=>Pf,"d.vec4f":()=>x,"std.smoothstep":()=>re,"std.mix":()=>X,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({}));function YG(e,t,s,r,o){let{uniforms:n,propValues:i,ctx:d}=e,c=o?.volumetric??!1,_=o?.bakedGradients??!1,u=vt(c?1:0),m=ur(we(rw,"sdfSpaceUV",[n.center,n.scale,n.rotation,d.uv,d.aspect]),"glassSdfUV"),p=ur(t(m),"glassSurf"),y=p.member("r"),h,g;if(_)h=p.member("g"),g=p.member("b");else{let Q=t(we(Tf,"offsetUV",[m,vt(.01),vt(0)])),te=t(we(Tf,"offsetUV",[m,vt(0),vt(.01)])),ee=ur(we(ow,"glassGradient",[y,Q.member("r"),te.member("r")]),"glassGrad");h=ee.member("x"),g=ee.member("y")}let w=ur(we(nw,"glassLensUVs",[d.uv,n.center,y,n.scale,h,g,n.refraction,n.innerZoom,n.thickness,n.aberration,d.aspect,u]),"glassLens"),S=w.member("lensUV"),T=w.member("rUV"),A=w.member("bUV"),P=i.blur,U=typeof P=="number"?P>0:!0,D=i.aberration,O=typeof D=="number"?D>0:!0,L=(Q,te,ee,he)=>Q.sample(te.add(we(aw,"glassBlurOffset",[d.viewportSize,n.blur,vt(ee),vt(he)]))),G=(Q,te)=>{let ee=L(Q,te,Ya[0][0],Ya[0][1]);for(let he=1;he(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(t.x,t.y),o=__tsover_div(s.x,s.y),n=b(__tsover_div(o,r),1);return l(__tsover_mul(__tsover_div(r,o),n),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dims"},{type:"i",name:"vp"}],body:[0,[[13,"aspect",[1,[7,"dims","x"],"/",[7,"dims","y"]]],[13,"viewportAspect",[1,[7,"vp","x"],"/",[7,"vp","y"]]],[13,"coverScale",[6,"std.max",[[1,"viewportAspect","/","aspect"],[5,"1"]]]],[10,[6,"d.vec2f",[[1,[1,"aspect","/","viewportAspect"],"*","coverScale"],"coverScale"]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),XW=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(t.x,t.y),o=__tsover_div(s.x,s.y),n=oe(__tsover_div(o,r),1);return l(__tsover_mul(__tsover_div(r,o),n),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dims"},{type:"i",name:"vp"}],body:[0,[[13,"aspect",[1,[7,"dims","x"],"/",[7,"dims","y"]]],[13,"viewportAspect",[1,[7,"vp","x"],"/",[7,"vp","y"]]],[13,"containScale",[6,"std.min",[[1,"viewportAspect","/","aspect"],[5,"1"]]]],[10,[6,"d.vec2f",[[1,[1,"aspect","/","viewportAspect"],"*","containScale"],"containScale"]]]]]},externals:{"std.min":()=>oe,"d.vec2f":()=>l}})&&e.f)({})),HW=v.fn([],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(()=>{"use gpu";return l(1,1)}),{v:2,name:void 0,ast:{params:[],body:[0,[[10,[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),jW=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(t.x,t.y),o=__tsover_div(s.x,s.y),n=oe(oe(__tsover_div(o,r),1),oe(__tsover_div(s.x,t.x),__tsover_div(s.y,t.y)));return l(__tsover_mul(__tsover_div(r,o),n),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dims"},{type:"i",name:"vp"}],body:[0,[[13,"aspect",[1,[7,"dims","x"],"/",[7,"dims","y"]]],[13,"viewportAspect",[1,[7,"vp","x"],"/",[7,"vp","y"]]],[13,"containScale",[6,"std.min",[[1,"viewportAspect","/","aspect"],[5,"1"]]]],[13,"naturalScale",[6,"std.min",[[1,[7,"vp","x"],"/",[7,"dims","x"]],[1,[7,"vp","y"],"/",[7,"dims","y"]]]]],[13,"scaleDownScale",[6,"std.min",["containScale","naturalScale"]]],[10,[6,"d.vec2f",[[1,[1,"aspect","/","viewportAspect"],"*","scaleDownScale"],"scaleDownScale"]]]]]},externals:{"std.min":()=>oe,"d.vec2f":()=>l}})&&e.f)({})),KW=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(t.x,t.y),o=__tsover_div(s.x,s.y),n=oe(__tsover_div(s.x,t.x),__tsover_div(s.y,t.y));return l(__tsover_mul(__tsover_div(r,o),n),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dims"},{type:"i",name:"vp"}],body:[0,[[13,"aspect",[1,[7,"dims","x"],"/",[7,"dims","y"]]],[13,"viewportAspect",[1,[7,"vp","x"],"/",[7,"vp","y"]]],[13,"noneScale",[6,"std.min",[[1,[7,"vp","x"],"/",[7,"dims","x"]],[1,[7,"vp","y"],"/",[7,"dims","y"]]]]],[10,[6,"d.vec2f",[[1,[1,"aspect","/","viewportAspect"],"*","noneScale"],"noneScale"]]]]]},externals:{"std.min":()=>oe,"d.vec2f":()=>l}})&&e.f)({})),ZW=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.sub(l(.5,.5));return l(__tsover_div(r.x,s.x),__tsover_div(r.y,s.y)).add(l(.5,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"uvScale"}],body:[0,[[13,"centeredUV",[6,[7,"uv","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"scaledUV",[6,"d.vec2f",[[1,[7,"centeredUV","x"],"/",[7,"uvScale","x"]],[1,[7,"centeredUV","y"],"/",[7,"uvScale","y"]]]]],[10,[6,[7,"scaledUV","add"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),QW=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(C(t.x,__tsover_sub(1,t.x),s>0),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"mirror"}],body:[0,[[13,"mirroredX",[6,"std.select",[[7,"uv","x"],[1,[5,"1"],"-",[7,"uv","x"]],[1,"mirror",">",[5,"0"]]]]],[10,[6,"d.vec2f",["mirroredX",[7,"uv","y"]]]]]]},externals:{"std.select":()=>C,"d.vec2f":()=>l}})&&e.f)({})),JW=v.fn([x,l],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=y3(f(t.x,t.y,t.z)),o=s.x<0||s.x>1||s.y<0||s.y>1,n=C(t.w,0,o);return x(r.x,r.y,r.z,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"}],body:[0,[[13,"linear",[6,"srgbToLinear",[[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]]]],[13,"outOfBounds",[3,[3,[3,[1,[7,"uv","x"],"<",[5,"0"]],"||",[1,[7,"uv","x"],">",[5,"1"]]],"||",[1,[7,"uv","y"],"<",[5,"0"]]],"||",[1,[7,"uv","y"],">",[5,"1"]]]],[13,"alpha",[6,"std.select",[[7,"color","w"],[5,"0"],"outOfBounds"]]],[10,[6,"d.vec4f",[[7,"linear","x"],[7,"linear","y"],[7,"linear","z"],"alpha"]]]]]},externals:{srgbToLinear:()=>y3,"d.vec3f":()=>f,"std.select":()=>C,"d.vec4f":()=>x}})&&e.f)({}));var eO=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=z(s),i=__tsover_sub(r,t),d=o,c=__tsover_mul(r,2),_=$(__tsover_div(__tsover_add(__tsover_mul(n,d),__tsover_mul(i,c)),b(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c)),1e-9)),0,1),u=__tsover_sub(n,__tsover_mul(d,_)),m=__tsover_sub(i,__tsover_mul(c,_)),p=__tsover_sub(n,__tsover_mul(d,$(__tsover_div(n,b(d,1e-9)),0,1))),y=__tsover_sub(i,c),h=oe(__tsover_add(__tsover_mul(u,u),__tsover_mul(m,m)),__tsover_add(__tsover_mul(p,p),__tsover_mul(y,y))),g=oe(__tsover_sub(__tsover_mul(i,d),__tsover_mul(n,c)),__tsover_sub(c,i))>0;return C(be(h),-be(h),g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"n"},{type:"i",name:"hl"},{type:"i",name:"hw"}],body:[0,[[13,"px",[6,"std.abs",["n"]]],[13,"py",[1,"hl","-","t"]],[13,"qx","hw"],[13,"qy",[1,"hl","*",[5,"2"]]],[13,"k",[6,"std.clamp",[[1,[1,[1,"px","*","qx"],"+",[1,"py","*","qy"]],"/",[6,"std.max",[[1,[1,"qx","*","qx"],"+",[1,"qy","*","qy"]],[5,"1e-9"]]]],[5,"0"],[5,"1"]]]],[13,"ax",[1,"px","-",[1,"qx","*","k"]]],[13,"ay",[1,"py","-",[1,"qy","*","k"]]],[13,"bx",[1,"px","-",[1,"qx","*",[6,"std.clamp",[[1,"px","/",[6,"std.max",["qx",[5,"1e-9"]]]],[5,"0"],[5,"1"]]]]]],[13,"by",[1,"py","-","qy"]],[13,"dSq",[6,"std.min",[[1,[1,"ax","*","ax"],"+",[1,"ay","*","ay"]],[1,[1,"bx","*","bx"],"+",[1,"by","*","by"]]]]],[13,"sA",[1,[1,"py","*","qx"],"-",[1,"px","*","qy"]]],[13,"sB",[1,"qy","-","py"]],[13,"inside",[1,[6,"std.min",["sA","sB"]],">",[5,"0"]]],[10,[6,"std.select",[[6,"std.sqrt",["dSq"]],[4,"-",[6,"std.sqrt",["dSq"]]],"inside"]]]]]},externals:{"std.abs":()=>z,"std.clamp":()=>$,"std.max":()=>b,"std.min":()=>oe,"std.select":()=>C,"std.sqrt":()=>be}})&&e.f)({})).$name("agentArrowSdf"),tO=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(t,$(t,-r,r));return __tsover_sub(be(__tsover_add(__tsover_mul(n,n),__tsover_mul(s,s))),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"n"},{type:"i",name:"hl"},{type:"i",name:"r"}],body:[0,[[13,"tc",[1,"t","-",[6,"std.clamp",["t",[4,"-","hl"],"hl"]]]],[10,[1,[6,"std.sqrt",[[1,[1,"tc","*","tc"],"+",[1,"n","*","n"]]]],"-","r"]]]]},externals:{"std.clamp":()=>$,"std.sqrt":()=>be}})&&e.f)({})).$name("agentCapsuleSdf"),sO=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(z(t),r),i=__tsover_sub(z(s),o),d=b(n,0),c=b(i,0);return __tsover_add(be(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c))),oe(b(n,i),0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"n"},{type:"i",name:"hl"},{type:"i",name:"hw"}],body:[0,[[13,"qx",[1,[6,"std.abs",["t"]],"-","hl"]],[13,"qy",[1,[6,"std.abs",["n"]],"-","hw"]],[13,"ox",[6,"std.max",["qx",[5,"0"]]]],[13,"oy",[6,"std.max",["qy",[5,"0"]]]],[10,[1,[6,"std.sqrt",[[1,[1,"ox","*","ox"],"+",[1,"oy","*","oy"]]]],"+",[6,"std.min",[[6,"std.max",["qx","qy"]],[5,"0"]]]]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.sqrt":()=>be,"std.min":()=>oe}})&&e.f)({})).$name("agentBoxSdf");var rO=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=j(t),i=C(l(0,0),t.div(b(n,1e-5)).mul(r),n>1e-5).sub(s),d=j(i);return C(i,i.div(b(d,1e-5)).mul(o),d>o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dir"},{type:"i",name:"vel"},{type:"i",name:"maxSpeed"},{type:"i",name:"maxForce"}],body:[0,[[13,"len",[6,"std.length",["dir"]]],[13,"desired",[6,"std.select",[[6,"d.vec2f",[[5,"0"],[5,"0"]]],[6,[7,[6,[7,"dir","div"],[[6,"std.max",["len",[5,"0.00001"]]]]],"mul"],["maxSpeed"]],[1,"len",">",[5,"0.00001"]]]]],[13,"steer",[6,[7,"desired","sub"],["vel"]]],[13,"sl",[6,"std.length",["steer"]]],[10,[6,"std.select",["steer",[6,[7,[6,[7,"steer","div"],[[6,"std.max",["sl",[5,"0.00001"]]]]],"mul"],["maxForce"]],[1,"sl",">","maxForce"]]]]]]},externals:{"std.length":()=>j,"std.select":()=>C,"d.vec2f":()=>l,"std.max":()=>b}})&&e.f)({})).$name("agentReynoldsSteer"),oO=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(.82,__tsover_mul(Gs(__tsover_add(__tsover_mul(t,.61803),.13)),.4))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fi"}],body:[0,[[10,[1,[5,"0.82"],"+",[1,[6,"noise.hash11",[[1,[1,"fi","*",[5,"0.61803"]],"+",[5,"0.13"]]]],"*",[5,"0.4"]]]]]]},externals:{"noise.hash11":()=>Gs}})&&e.f)({})).$name("agentCruiseVariation"),nO=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(.55,__tsover_mul(Gs(__tsover_add(__tsover_mul(t,1.91),2.53)),.7))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fi"}],body:[0,[[10,[1,[5,"0.55"],"+",[1,[6,"noise.hash11",[[1,[1,"fi","*",[5,"1.91"]],"+",[5,"2.53"]]]],"*",[5,"0.7"]]]]]]},externals:{"noise.hash11":()=>Gs}})&&e.f)({})).$name("agentPresenceVariation"),aO=v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=$(t.w,0,1),o=__tsover_add(r,__tsover_mul(s.w,__tsover_sub(1,r))),n=t.xyz.mul(r).add(s.xyz.mul(__tsover_mul(s.w,__tsover_sub(1,r)))).div(b(o,1e-4));return x(n.x,n.y,n.z,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"c"}],body:[0,[[13,"pa",[6,"std.clamp",[[7,"p","w"],[5,"0"],[5,"1"]]]],[13,"outA",[1,"pa","+",[1,[7,"c","w"],"*",[1,[5,"1"],"-","pa"]]]],[13,"rgb",[6,[7,[6,[7,[6,[7,[7,"p","xyz"],"mul"],["pa"]],"add"],[[6,[7,[7,"c","xyz"],"mul"],[[1,[7,"c","w"],"*",[1,[5,"1"],"-","pa"]]]]]],"div"],[[6,"std.max",["outA",[5,"0.0001"]]]]]],[10,[6,"d.vec4f",[[7,"rgb","x"],[7,"rgb","y"],[7,"rgb","z"],"outA"]]]]]},externals:{"std.clamp":()=>$,"std.max":()=>b,"d.vec4f":()=>x}})&&e.f)({})).$name("agentStraightAlphaOver"),iO=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=se(s,t);return C(t.mul(__tsover_mul(2,o)).sub(s),t,r>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rhat"},{type:"i",name:"axis"},{type:"i",name:"fieldType"}],body:[0,[[13,"mdotr",[6,"std.dot",["axis","rhat"]]],[13,"dipoleB",[6,[7,[6,[7,"rhat","mul"],[[1,[5,"2"],"*","mdotr"]]],"sub"],["axis"]]],[10,[6,"std.select",["dipoleB","rhat",[1,"fieldType",">",[5,"0.5"]]]]]]]},externals:{"std.dot":()=>se,"std.select":()=>C}})&&e.f)({})).$name("agentDipoleOrRadialField"),dO=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_mul(t,Y(__tsover_mul(2,__tsover_sub(s,r))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"k"},{type:"i",name:"target"},{type:"i",name:"theta"}],body:[0,[[10,[1,"k","*",[6,"std.sin",[[1,[5,"2"],"*",[1,"target","-","theta"]]]]]]]]},externals:{"std.sin":()=>Y}})&&e.f)({})).$name("agentNematicTorque"),cO=v.fn([x,a,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(r.w,o),i=s>=n,d=b(s,n),c=C(f(r.x,r.y,r.z),f(t.x,t.y,t.z),i);return x(c.x,c.y,c.z,d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"col"},{type:"i",name:"curA"},{type:"i",name:"prev"},{type:"i",name:"trails"}],body:[0,[[13,"prevA",[1,[7,"prev","w"],"*","trails"]],[13,"win",[1,"curA",">=","prevA"]],[13,"outA",[6,"std.max",["curA","prevA"]]],[13,"outRGB",[6,"std.select",[[6,"d.vec3f",[[7,"prev","x"],[7,"prev","y"],[7,"prev","z"]]],[6,"d.vec3f",[[7,"col","x"],[7,"col","y"],[7,"col","z"]]],"win"]]],[10,[6,"d.vec4f",[[7,"outRGB","x"],[7,"outRGB","y"],[7,"outRGB","z"],"outA"]]]]]},externals:{"std.max":()=>b,"std.select":()=>C,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})).$name("agentTrailMaxDecay"),_O=v.fn([f,x,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return f(__tsover_add(__tsover_add(__tsover_mul(s.x,t.x),__tsover_mul(s.y,t.y)),__tsover_mul(s.z,t.z)),__tsover_add(__tsover_add(__tsover_mul(r.x,t.x),__tsover_mul(r.y,t.y)),__tsover_mul(r.z,t.z)),__tsover_add(__tsover_add(__tsover_mul(o.x,t.x),__tsover_mul(o.y,t.y)),__tsover_mul(o.z,t.z)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pw"},{type:"i",name:"rowX"},{type:"i",name:"rowY"},{type:"i",name:"rowZ"}],body:[0,[[10,[6,"d.vec3f",[[1,[1,[1,[7,"rowX","x"],"*",[7,"pw","x"]],"+",[1,[7,"rowX","y"],"*",[7,"pw","y"]]],"+",[1,[7,"rowX","z"],"*",[7,"pw","z"]]],[1,[1,[1,[7,"rowY","x"],"*",[7,"pw","x"]],"+",[1,[7,"rowY","y"],"*",[7,"pw","y"]]],"+",[1,[7,"rowY","z"],"*",[7,"pw","z"]]],[1,[1,[1,[7,"rowZ","x"],"*",[7,"pw","x"]],"+",[1,[7,"rowZ","y"],"*",[7,"pw","y"]]],"+",[1,[7,"rowZ","z"],"*",[7,"pw","z"]]]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})).$name("agentApplyCameraRows"),lO=v.fn([f,x,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return f(__tsover_add(__tsover_add(__tsover_mul(s.x,t.x),__tsover_mul(r.x,t.y)),__tsover_mul(o.x,t.z)),__tsover_add(__tsover_add(__tsover_mul(s.y,t.x),__tsover_mul(r.y,t.y)),__tsover_mul(o.y,t.z)),__tsover_add(__tsover_add(__tsover_mul(s.z,t.x),__tsover_mul(r.z,t.y)),__tsover_mul(o.z,t.z)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"rowX"},{type:"i",name:"rowY"},{type:"i",name:"rowZ"}],body:[0,[[10,[6,"d.vec3f",[[1,[1,[1,[7,"rowX","x"],"*",[7,"v","x"]],"+",[1,[7,"rowY","x"],"*",[7,"v","y"]]],"+",[1,[7,"rowZ","x"],"*",[7,"v","z"]]],[1,[1,[1,[7,"rowX","y"],"*",[7,"v","x"]],"+",[1,[7,"rowY","y"],"*",[7,"v","y"]]],"+",[1,[7,"rowZ","y"],"*",[7,"v","z"]]],[1,[1,[1,[7,"rowX","z"],"*",[7,"v","x"]],"+",[1,[7,"rowY","z"],"*",[7,"v","y"]]],"+",[1,[7,"rowZ","z"],"*",[7,"v","z"]]]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})).$name("agentApplyCameraRowsT"),jm=ut({x0:R,x1:R,y0:R,y1:R,fx:a,fy:a}).$name("AgentBilinearFrame"),uO=v.fn([l,l],jm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_sub(__tsover_mul(t.x,s.x),.5),o=__tsover_sub(__tsover_mul(t.y,s.y),.5),n=q(r),i=q(o);return jm({x0:R($(n,a(0),__tsover_sub(s.x,1))),x1:R($(__tsover_add(n,1),a(0),__tsover_sub(s.x,1))),y0:R($(i,a(0),__tsover_sub(s.y,1))),y1:R($(__tsover_add(i,1),a(0),__tsover_sub(s.y,1))),fx:__tsover_sub(r,n),fy:__tsover_sub(o,i)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv01"},{type:"i",name:"dims"}],body:[0,[[13,"cu",[1,[1,[7,"uv01","x"],"*",[7,"dims","x"]],"-",[5,"0.5"]]],[13,"cv",[1,[1,[7,"uv01","y"],"*",[7,"dims","y"]],"-",[5,"0.5"]]],[13,"cx0",[6,"std.floor",["cu"]]],[13,"cy0",[6,"std.floor",["cv"]]],[10,[6,"BilinearFrame",[[104,{x0:[6,"d.u32",[[6,"std.clamp",["cx0",[6,"d.f32",[[5,"0"]]],[1,[7,"dims","x"],"-",[5,"1"]]]]]],x1:[6,"d.u32",[[6,"std.clamp",[[1,"cx0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],[1,[7,"dims","x"],"-",[5,"1"]]]]]],y0:[6,"d.u32",[[6,"std.clamp",["cy0",[6,"d.f32",[[5,"0"]]],[1,[7,"dims","y"],"-",[5,"1"]]]]]],y1:[6,"d.u32",[[6,"std.clamp",[[1,"cy0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],[1,[7,"dims","y"],"-",[5,"1"]]]]]],fx:[1,"cu","-","cx0"],fy:[1,"cv","-","cy0"]}]]]]]]},externals:{"std.floor":()=>q,BilinearFrame:()=>jm,"d.u32":()=>R,"std.clamp":()=>$,"d.f32":()=>a}})&&e.f)({})).$name("agentBilinearTexelFrame"),Eb=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(t,t);return ct(__tsover_mul(__tsover_div(r,b(s,1e-5)),-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"delta"},{type:"i",name:"radSq"}],body:[0,[[13,"dl",[6,"std.dot",["delta","delta"]]],[10,[6,"std.exp",[[1,[1,"dl","/",[6,"std.max",["radSq",[5,"0.00001"]]]],"*",[4,"-",[5,"1"]]]]]]]]},externals:{"std.dot":()=>se,"std.exp":()=>ct,"std.max":()=>b}})&&e.f)({})).$name("agentCursorFalloff"),mO=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=b(j(t),1e-4);return t.div(o).mul(__tsover_mul(Eb(t,s),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"delta"},{type:"i",name:"radSq"},{type:"i",name:"force"}],body:[0,[[13,"dl",[6,"std.max",[[6,"std.length",["delta"]],[5,"0.0001"]]]],[10,[6,[7,[6,[7,"delta","div"],["dl"]],"mul"],[[1,[6,"cursorFalloff",["delta","radSq"]],"*","force"]]]]]]},externals:{"std.max":()=>b,"std.length":()=>j,cursorFalloff:()=>Eb}})&&e.f)({})).$name("agentCursorMagnet");var Rn=e=>e;function dw(){return{default:null,transform:Rn,compileTimeWhen:(e,t)=>{let s=r=>{let o=Array.isArray(r)?r.length:0;return o>1?o:0};return s(e)!==s(t)},description:"Multi-stop gradient colors (overrides Color A / Color B when set)",ui:{type:"gradient-stops",label:"Colors",group:"Colors"}}}var Ka=e=>e;function LG(e){let t=e?.ui;return!t||t.type!=="list"||!t.item||typeof t.maxItems!="number"?null:{item:t.item,maxItems:t.maxItems,minItems:t.minItems,itemLabel:t.itemLabel}}var dy=(e,t)=>`${e}_${t}`,cy=e=>`${e}Count`;function _1(e){return!!e&&typeof e=="object"&&e.type==="mouse-position"}var cw=(e,t,s)=>`${e}.${t}.${s}`;function _y(e){let t=/^([^.]+)\.(\d+)\.([^.]+)$/.exec(e);return t?{prop:t[1],index:Number(t[2]),field:t[3]}:null}function ly(e,t,s){return(Array.isArray(e)?e.slice(0,t.maxItems):[]).map((r,o)=>{let n=r&&typeof r=="object"?r:{},i={};for(let[d,c]of Object.entries(t.item)){let _=n[d]===void 0||n[d]===null?c.default:n[d];i[d]=IG(c.kind,_,o,d,s)}return i})}function IG(e,t,s,r,o){switch(e){case"position":{if(_1(t)){let i=o.drivenPosition?.(s,r,t);return i||{x:typeof t.x=="number"?t.x:t.originX??.5,y:1-(typeof t.y=="number"?t.y:t.originY??.5)}}let n=ho(t);return{x:n.x,y:n.y}}case"color":return o.color(typeof t=="string"?t:"#ffffff");case"boolean":return t?1:-1;default:return typeof t=="number"?t:0}}function DG(e){return typeof e=="number"?[e,0,0,0]:Array.isArray(e)?e:[e.x,e.y,0,0]}function uy(e,t){let s={};for(let r of Object.keys(t.item)){let o=new Array(t.maxItems*4).fill(0);for(let n=0;ns&&typeof s=="object"&&Object.entries(t.item).some(([r,o])=>o.kind==="position"&&_1(s[r]))):!1}var _w="p3-linear";function lw(e){_w=e;try{N0(e)}catch{}}function FG(e){try{let t=new Sr(e),s=_w==="srgb"?"srgb-linear":"p3-linear",r=t.to(s).coords,o=Number(t.alpha);return{r:Number.isFinite(r?.[0])?r[0]:0,g:Number.isFinite(r?.[1])?r[1]:0,b:Number.isFinite(r?.[2])?r[2]:0,a:Number.isFinite(o)?o:1}}catch{return{r:0,g:0,b:0,a:0}}}function uw(e){let{r:t,g:s,b:r,a:o}=FG(e);return x(t,s,r,o)}function Kc(e){let t=uw(e);return[t.x,t.y,t.z,t.w]}function kb(e,t){if(typeof e=="number")return e;if(typeof e=="object"&&e!==null)return e.value;let s=e.toLowerCase().trim();if(t){if(s==="top")return 0;if(s==="bottom")return 1;if(s==="center")return .5}else{if(s==="left")return 0;if(s==="right")return 1;if(s==="center")return .5}return console.warn(`Invalid position value: ${e}. Defaulting to center.`),.5}function BG(e){let t=.5,s=.5;if(typeof e=="string"){let r=e.toLowerCase().trim().split(/\s+/);r.includes("left")?t=0:r.includes("right")?t=1:(r.includes("center")||r.length===1&&(r[0]==="top"||r[0]==="bottom"))&&(t=.5),r.includes("top")?s=0:r.includes("bottom")?s=1:(r.includes("center")||r.length===1&&(r[0]==="left"||r[0]==="right"))&&(s=.5),r.length===1&&r[0]==="center"&&(t=.5,s=.5)}else typeof e=="object"&&e!==null?(t=kb(e.x,!1),s=kb(e.y,!0)):console.warn(`Invalid position value provided: ${e}. Defaulting to center.`);return l(t,1-s)}function mw(e){if(e)return e===ts?uw:e===ho?BG:e===Rn?Rn:e===Ka?Ka:e}function py(e,t){e>0,t>0}function Zc(e){return e!=null&&typeof e=="object"&&typeof e.value=="number"&&(e.unit==="px"||e.unit==="uv")}function fy(e){if(!e)return;let t;for(let[s,r]of Object.entries(e)){let o=r?.ui?.dimensional;(o==="canvas-height"||o==="half-canvas-height"||o==="canvas-width"||o==="count-canvas-height")&&(t??=new Map).set(s,o)}return t}function hd(e,t){let s=e?.propBindings,r=new Set,o=new Map;if(s)for(let n of["x","y","width","height"]){let i=s[n];i&&(i.as==="position-x"||i.as==="position-y"?r.add(i.prop):(i.as==="canvas-height"||i.as==="half-canvas-height")&&o.set(i.prop,i.as))}if(t)for(let[n,i]of t)o.set(n,i);return r.size>0||o.size>0?{positionProps:r,sizeProps:o}:null}var WG=e=>({ox:e.includes("left")?"start":e.includes("right")?"end":"center",oy:e.includes("top")?"start":e.includes("bottom")?"end":"center"}),OG=(e,t,s)=>t==="start"?e+s:t==="end"?e-s:e;function Uc(e,t,s,r){let o=(n,i)=>Zc(n)?n.unit==="px"?n.value:n.value*i:typeof n=="number"?n*i:0;return e.as==="canvas-height"?o(t,r):e.as==="half-canvas-height"?o(t,2*r):e.as==="canvas-width"?o(t,s):0}function vy(e,t,s,r){if(e?.computeBounds){let d=e.computeBounds(t,s,r);return{hwx:s>0?d.widthPx/s/2:0,hhy:r>0?d.heightPx/r/2:0}}let o=e?.propBindings,n=0,i=0;return o?.width&&s>0&&(n=Uc(o.width,t[o.width.prop],s,r)/(2*s)),o?.height&&r>0&&(i=Uc(o.height,t[o.height.prop],s,r)/(2*r)),{hwx:n,hhy:i}}function $b(e,t,s,r){let o;if(Zc(e))if(e.unit==="px"){let n=t>0?e.value/t:0;o=s==="end"?1-n:s==="center"?.5+n:n}else o=e.value;else if(typeof e=="number")o=e;else return e;return OG(o,s,r)}function VG(e,t,s,r){return e.unit!=="px"?e.value:t==="canvas-width"?s>0?e.value/s:e.value:r<=0?e.value:t==="count-canvas-height"?e.value>0?r/e.value:e.value:t==="canvas-height"?e.value/r:e.value/(2*r)}function Qc(e,t,s,r,o,n,i,d){let c=hd(e,i);if(!c)return s;let{ox:_,oy:u}=WG(r);if(c.positionProps.has(t))return!s||typeof s!="object"?s:{...s,x:$b(s.x,o,_,d?.hwx??0),y:$b(s.y,n,u,d?.hhy??0)};let m=c.sizeProps.get(t);return m&&Zc(s)?VG(s,m,o,n):s}function yy(e,t,s){let r=hd(e,s);return r?r.positionProps.has(t)||r.sizeProps.has(t):!1}function Km(e){let{body:t,build:s,args:r,compose:o,identity:n,missingChildMessage:i,setup:d,...c}=e;if(!t&&!s)throw new Error(`definePointwiseFilter(${e.name}): needs a body or a build`);return{...c,requiresChild:!0,fragment:u=>{if(!u.childNode)return i&&console.error(i),xr;let m=u;if(hy(n,m))return m.childNode;d?.(m);let p;if(s)p=s(m);else{let{fn:y,hint:h}=typeof t=="function"?t(m.propValues):t;p=we(y,h,[m.childNode,...r?.(m)??[]])}return o?o(p,m):p}}}function hy(e,t){if(!e)return!1;for(let s of e.props)if(t.getMapInfo?.(s))return!1;return e.when(t.propValues)}function Ub(e){let{build:t,resultAlpha:s,identity:r,missingChildMessage:o,setup:n,...i}=e;return{...i,requiresRTT:!0,requiresChild:!0,fragment:c=>{if(!c.childNode)return o&&console.error(o),xr;let _=c.convertToTexture(c.childNode),u=y=>we(dn,"unpremultiplyAlpha",[_.sample(y)]),m={...c,childNode:c.childNode,texture:_,sampleStraight:u};if(hy(r,c))return u(c.ctx.uv);n?.(m);let p=t(m);return s==="straight"?p:we(dn,"unpremultiplyAlpha",[p])}}}function Cb(e){return"uv"in e?e:{uv:e}}function NG(e,t={}){let s=typeof e=="function"?e:()=>e,r=t.edges??"prop",o=n=>r==="none"?null:typeof r=="number"?r:n.edges??0;return{fragment:n=>{let{childNode:i,ctx:d,convertToTexture:c,propValues:_}=n;if(!i)return t.requireChildMessage&&console.error(t.requireChildMessage),xr;let u=c(i),m=o(_),p=Cb(s(n).map(d.uv,d.aspect)),y=m===null?u.sample(p.uv):t.resample==="bilinear"?Gi(p.uv,h=>u.sample(h),m):lz(u,p.uv,m);return we(dn,"unpremultiplyAlpha",[p.coverage?Ws(y.member("rgb"),y.member("a").mul(p.coverage)):y])},uvRemap:n=>{if(t.uvRemapIdentityWhen?.(n))return{uv:n.uv,mask:n.mask};let i=o(n.propValues),d=Cb(s(n).map(n.uv,n.aspect)),c=i===null?{uv:d.uv,mask:n.mask}:_z(d.uv,n.mask,i);return d.coverage?{uv:c.uv,mask:c.mask.mul(d.coverage)}:c}}}function qG(e,t){let s={type:"position",label:t?.label??"Center",group:t?.group??"Position"};return t?.units&&(s.units=[...t.units]),{default:t?.default??{x:.5,y:.5},transform:ho,description:e,ui:s}}function XG(){return{default:"center",description:"Reference edge the center position is measured from (center default). Lets you pin the shape relative to a corner or the canvas centre.",ui:{type:"origin",label:"Origin",group:"Position"}}}function HG(e){return{softness:{default:0,description:e?.softnessDescription??"Edge softness for antialiasing",ui:{type:"range",min:0,max:.1,step:.001,label:"Softness",group:"Effect"}},strokeThickness:{default:0,description:"Stroke thickness. Zero means no stroke.",ui:{type:"range",min:0,max:e?.strokeThicknessMax??.2,step:.005,label:"Stroke Thickness",group:"Stroke"}},strokeColor:{default:"#000000",transform:ts,description:e?.strokeColorDescription??"Color of the stroke outline",ui:{type:"color",label:"Stroke Color",group:"Colors"}},strokePosition:{default:"center",transform:q0,description:e?.strokePositionDescription??"Position of the stroke relative to the shape edge",ui:{type:"select",options:[{label:"Outside",value:"outside"},{label:"Center",value:"center"},{label:"Inside",value:"inside"}],label:"Stroke Position",group:"Stroke"}}}}function jG(e){return{default:"linear",transform:ir,compileTime:!0,description:e?.description??"Color space for blending fill and stroke colors",ui:{type:"select",options:Ho,label:"Color Blending",group:"Colors"}}}var KG={refraction:{default:.5,description:"How strongly the shell bends what's seen through or inside it",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Refraction",group:"Glass"}},dispersion:{default:.25,description:"Spectral splitting at the shell \u2014 rainbow fringes where light bends hardest",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Dispersion",group:"Glass"}},thickness:{default:.2,description:"Shell depth \u2014 how far inward from the edge the shell's optics extend",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Thickness",group:"Glass"}},environment:{default:1,description:"Strength of the studio lighting reflected in the shell",ui:{type:["range","map"],min:0,max:2,step:.01,label:"Environment",group:"Glass"}},envRotation:{default:0,description:"Rotates the reflected studio \u2014 spins where the bright reflections fall",ui:{type:"range",min:0,max:360,step:1,label:"Env Rotation",group:"Glass"}},lightAngle:{default:315,description:"Direction of the key light, in degrees",ui:{type:"range",min:0,max:360,step:1,label:"Light Angle",group:"Glass"}},highlight:{default:1,description:"Sharp key-light glint on the shell",ui:{type:["range","map"],min:0,max:2,step:.01,label:"Highlight",group:"Highlight"}},highlightColor:{default:"#ffffff",transform:ts,description:"Color of the key-light highlight",ui:{type:"color",label:"Highlight Color",group:"Highlight"}},highlightSoftness:{default:.5,description:"Specular highlight softness \u2014 lower is a tighter, sharper glint",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Highlight Softness",group:"Highlight"}},fresnel:{default:.1,description:"Fresnel rim glow \u2014 the luminous edge where the shell turns away from view",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Fresnel",group:"Fresnel"}},fresnelSoftness:{default:.1,description:"Fresnel rim width \u2014 higher values spread the glow further inward",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Fresnel Softness",group:"Fresnel"}},fresnelColor:{default:"#ffffff",transform:ts,description:"Color of the fresnel rim glow",ui:{type:"color",label:"Fresnel Color",group:"Fresnel"}},edgeSoftness:{default:.05,description:"Softness of the shape boundary edge",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Edge Softness",group:"Glass"}}};function xd(e){let t={};for(let s of Object.keys(e)){let r=e[s];if(!r)continue;let o=KG[s];t[s]=r===!0?o:{...o,...r,ui:{...o.ui,...r.ui??{}}}}return t}function ZG(e){return{default:0,description:e,ui:{type:"range",min:0,max:360,step:1,label:"Rotation",group:"Shape"}}}function QG(e){return{default:"#ffffff",transform:ts,description:e,ui:{type:"color",label:"Color",group:"Colors"}}}function JG(e,t){if(e.custom)return e.custom;let s=e.size.as??"half-canvas-height",r={x:{prop:"center",as:"position-x"},y:{prop:"center",as:"position-y"},width:{prop:e.size.width,as:s},height:{prop:e.size.height,as:s}};return t&&(r.rotation={prop:"rotation",as:"degrees"}),{propBindings:r}}function eY(e,t,s){if(!t)return e;let r=Object.keys(e).filter(i=>!t.includes(i)),o=t.filter(i=>!(i in e));if(r.length||o.length)throw new Error(`defineSdfShapeShader(${s}): propOrder must list every prop exactly once (missing: ${r.join(", ")||"none"}; unknown: ${o.join(", ")||"none"})`);let n={};for(let i of t)n[i]=e[i];return n}function tY(e){let t=e.rotatable!==!1,s=HG(e.stroke),r={origin:XG(),color:QG(e.colorDescription),center:qG(e.centerDescription,{units:["%","px"],...e.centerLabel?{label:e.centerLabel}:{}}),...e.shapeProps,...t?{rotation:ZG(e.rotationDescription??"Rotation in degrees")}:{},softness:s.softness,strokeThickness:s.strokeThickness,strokeColor:s.strokeColor,strokePosition:s.strokePosition,colorSpace:jG(e.colorSpaceDescription?{description:e.colorSpaceDescription}:void 0),...e.propOverrides};return{name:e.name,category:e.category??"Shapes",description:e.description,acceptsUVContext:!0,boundingBoxDeclaration:JG(e.bounds,t),props:eY(r,e.propOrder,e.name),fragment:o=>{let{uniforms:n,ctx:i,propValues:d}=o,c=o.uvContext??i.uv,_=d.colorSpace??0;return S7(ur(sY(e,n,c,i.aspect),"shapeMask"),n.color,n.strokeColor,_)}}}function sY(e,t,s,r){let o=t.rotation??vd("0f"),n=ur(we(w7,"shapeLocalCoords",[t.center,o,s,r]),"shapeLocal"),i=d=>{let c=t[d];if(!c)throw new Error(`defineSdfShapeShader(${e.name}): distance reads unknown prop '${d}'`);return c};return we(T7,"strokeMaskFromSdf",[e.distance({x:n.member("x"),y:n.member("y")},i),t.softness,t.strokeThickness,t.strokePosition])}function zt(e){return{kind:"prop",name:e}}var Jc=class Ef{constructor(t){this.node=t}times(t){return new Ef({kind:"mul",a:this.node,b:t instanceof Ef?t.node:t})}};function rY(e){return{uv:e.uvContext??e.ctx.uv,viewport:e.effectiveViewportSize??e.ctx.viewportSize}}function Dt(e,t){let s=t.uniforms[e.name];if(!s)throw new Error(`std: effect binds unknown prop '${e.name}'`);return s}function od(e,t){let s=e instanceof Jc?e.node:e;switch(s.kind){case"prop":return Dt(s,t);case"mul":return od(s.a,t).mul(od(s.b,t));case"radialMask":if(!t.ctx)throw new Error("std: radialMask needs a fragment host (warp slots have no ctx)");return we(oR,"radialFalloffMask",[t.ctx.uv,t.ctx.aspect,Dt(s.center,t),Dt(s.radius,t),Dt(s.falloff,t)]);case"signal":return s.build(t)}}function oY(e,t){if(typeof e=="number")return vt(e);if(e instanceof Jc)return od(e,t);switch(e.kind){case"prop":return Dt(e,t);case"ctx":if(!t.ctx)throw new Error(`std: ctx.${e.name} needs a fragment host (warp slots have no ctx)`);return t.ctx[e.name];default:return od(e,t)}}function xy(e,t,s){let r={},o=e.boundingBoxDeclaration,n=fy(e.props),i=nY(e.props,t);for(let[d,c]of Object.entries(e.props)){let _=c.transform;if(_===Rn){aY(r,d,c,t[d],i);continue}if(_===Ka){iY(r,d,c,t[d]);continue}let u=t[d],m=u;m==null&&(m=c.default),m==null&&(console.error(`[Shaders] Uniform "${d}" is null/undefined after fallback. PropConfig:`,{propName:d,initialValue:u,default:c.default,hasTransform:!!_}),m=0);let p=mw(_),y=yy(o,d,n),h=!p&&!y&&(typeof m=="string"||typeof m=="object"&&m!==null&&!Array.isArray(m));r[d]={value:m,transform:p,compileTime:c.compileTime||!1,...c.compileTimeWhen?{compileTimeWhen:c.compileTimeWhen,_lastCompiledValue:u??c.default}:{},...y?{_rawDimensional:u}:{},...h?{cpu:!0}:{}}}return r}function nY(e,t){for(let[s,r]of Object.entries(e))if(r.transform===ir){let o=t[s]??r.default;return typeof o=="string"?ir(o):0}return 0}function aY(e,t,s,r,o){let n=r??null,i=jv(n,Kc),d=Kv(i.colors,i.stopCount,o);e[t]={value:n,transform:Rn,cpu:!0,compileTime:s.compileTime||!1,...s.compileTimeWhen?{compileTimeWhen:s.compileTimeWhen,_lastCompiledValue:n??s.default}:{}},e.colorsArray={value:i.colors,schema:pt(x,8)},e.positionsArray={value:i.positions,schema:pt(x,8/4)},e.convertedColorsArray={value:d,schema:pt(f,8)},e.stopCount={value:i.stopCount,schema:a}}function iY(e,t,s,r){let o=LG(s);if(!o){console.error(`[Shaders] List prop "${t}" has no item spec in its ui config`);return}let n=ly(r??s.default,o,{color:Kc}),i=uy(n,o);e[t]={value:n,transform:Ka,cpu:!0,compileTime:s.compileTime||!1,_rawList:r??s.default,_listSpec:o};for(let[d,c]of Object.entries(i.fields))e[dy(t,d)]={value:c,schema:pt(x,o.maxItems)};e[cy(t)]={value:i.count,schema:a}}var Li=ut({x0:Z,x1:Z,y0:Z,y1:Z}).$name("SplatWindow"),pO=v.fn([l,a,a,a],Li)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(r,1e-5),i=Z(q(__tsover_mul(__tsover_div(t.x,n),o))),d=Z(q(__tsover_mul(t.y,o))),c=Z(cc(__tsover_div(__tsover_mul(s,o),n))),_=Z(cc(__tsover_mul(s,o))),u=__tsover_sub(Z(o),1);return Li({x0:b(__tsover_sub(i,c),0),x1:oe(__tsover_add(i,c),u),y0:b(__tsover_sub(d,_),0),y1:oe(__tsover_add(d,_),u)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"reach"},{type:"i",name:"aspect"},{type:"i",name:"res"}],body:[0,[[13,"asp",[6,"std.max",["aspect",[5,"0.00001"]]]],[13,"cxi",[6,"d.i32",[[6,"std.floor",[[1,[1,[7,"pos","x"],"/","asp"],"*","res"]]]]]],[13,"cyi",[6,"d.i32",[[6,"std.floor",[[1,[7,"pos","y"],"*","res"]]]]]],[13,"radX",[6,"d.i32",[[6,"std.ceil",[[1,[1,"reach","*","res"],"/","asp"]]]]]],[13,"radY",[6,"d.i32",[[6,"std.ceil",[[1,"reach","*","res"]]]]]],[13,"last",[1,[6,"d.i32",["res"]],"-",[5,"1"]]],[10,[6,"SplatWindow",[[104,{x0:[6,"std.max",[[1,"cxi","-","radX"],[5,"0"]]],x1:[6,"std.min",[[1,"cxi","+","radX"],"last"]],y0:[6,"std.max",[[1,"cyi","-","radY"],[5,"0"]]],y1:[6,"std.min",[[1,"cyi","+","radY"],"last"]]}]]]]]]},externals:{"std.max":()=>b,"d.i32":()=>Z,"std.floor":()=>q,"std.ceil":()=>cc,SplatWindow:()=>Li,"std.min":()=>oe}})&&e.f)({})).$name("worldSplatWindow"),fO=v.fn([l,Z,El],Li)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Z(q(t.x)),n=Z(q(t.y));return Li({x0:b(__tsover_sub(o,s),0),x1:oe(__tsover_add(o,s),r.x),y0:b(__tsover_sub(n,s),0),y1:oe(__tsover_add(n,s),r.y)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"rad"},{type:"i",name:"last"}],body:[0,[[13,"cxi",[6,"d.i32",[[6,"std.floor",[[7,"center","x"]]]]]],[13,"cyi",[6,"d.i32",[[6,"std.floor",[[7,"center","y"]]]]]],[10,[6,"SplatWindow",[[104,{x0:[6,"std.max",[[1,"cxi","-","rad"],[5,"0"]]],x1:[6,"std.min",[[1,"cxi","+","rad"],[7,"last","x"]]],y0:[6,"std.max",[[1,"cyi","-","rad"],[5,"0"]]],y1:[6,"std.min",[[1,"cyi","+","rad"],[7,"last","y"]]]}]]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,SplatWindow:()=>Li,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})).$name("texelSplatWindow"),vO=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(1,ct(__tsover_mul(__tsover_mul(t,s),-1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"energy"},{type:"i",name:"k"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.exp",[[1,[1,"energy","*","k"],"*",[4,"-",[5,"1"]]]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})).$name("energyCoverageAlpha"),yO=v.fn([f,f,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=t.add(s.mul(r)).mul(o),d=j(i);return i.mul(__tsover_div(oe(d,n),b(d,1e-5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"vel"},{type:"i",name:"force"},{type:"i",name:"dt"},{type:"i",name:"dragMul"},{type:"i",name:"maxSpeed"}],body:[0,[[13,"v",[6,[7,[6,[7,"vel","add"],[[6,[7,"force","mul"],["dt"]]]],"mul"],["dragMul"]]],[13,"spd",[6,"std.length",["v"]]],[10,[6,[7,"v","mul"],[[1,[6,"std.min",["spd","maxSpeed"]],"/",[6,"std.max",["spd",[5,"0.00001"]]]]]]]]]},externals:{"std.length":()=>j,"std.min":()=>oe,"std.max":()=>b}})&&e.f)({})).$name("integrateSemiImplicitEuler");var kf=Math.exp(-1),Rb=1/(1-kf),zb=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return ct(__tsover_mul(__tsover_div(t,s),-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"distSq"},{type:"i",name:"radiusSq"}],body:[0,[[10,[6,"std.exp",[[1,[1,"distSq","/","radiusSq"],"*",[4,"-",[5,"1"]]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),Gb=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return $(__tsover_mul(__tsover_sub(ct(__tsover_mul(__tsover_div(t,s),-1)),kf),Rb),a(0),a(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"distSq"},{type:"i",name:"radiusSq"}],body:[0,[[10,[6,"std.clamp",[[1,[1,[6,"std.exp",[[1,[1,"distSq","/","radiusSq"],"*",[4,"-",[5,"1"]]]]],"-","EDGE"],"*","INV_EDGE"],[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]]]]]]]},externals:{"std.clamp":()=>$,"std.exp":()=>ct,EDGE:()=>kf,INV_EDGE:()=>Rb,"d.f32":()=>a}})&&e.f)({}));v.fn([l,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=ht(t,s);return zb(se(o,o),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellPos"},{type:"i",name:"center"},{type:"i",name:"radiusSq"}],body:[0,[[13,"off",[6,"std.sub",["cellPos","center"]]],[10,[6,"gaussianBrushSq",[[6,"std.dot",["off","off"]],"radiusSq"]]]]]},externals:{"std.sub":()=>ht,gaussianBrushSq:()=>zb,"std.dot":()=>se}})&&e.f)({}));v.fn([l,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=ht(t,s);return Gb(se(o,o),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellPos"},{type:"i",name:"center"},{type:"i",name:"radiusSq"}],body:[0,[[13,"off",[6,"std.sub",["cellPos","center"]]],[10,[6,"gaussianBrushShiftedSq",[[6,"std.dot",["off","off"]],"radiusSq"]]]]]},externals:{"std.sub":()=>ht,gaussianBrushShiftedSq:()=>Gb,"std.dot":()=>se}})&&e.f)({}));var jd=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return Ot(l(t,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"px"},{type:"i",name:"py"}],body:[0,[[10,[6,"noise.hash12",[[6,"d.vec2f",["px","py"]]]]]]]},externals:{"noise.hash12":()=>Ot,"d.vec2f":()=>l}})&&e.f)({})),sl=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=q(t),o=q(s),n=ue(t),i=ue(s),d=__tsover_mul(__tsover_mul(n,n),__tsover_sub(3,__tsover_mul(n,2))),c=__tsover_mul(__tsover_mul(i,i),__tsover_sub(3,__tsover_mul(i,2)));return X(X(jd(r,o),jd(__tsover_add(r,1),o),d),X(jd(r,__tsover_add(o,1)),jd(__tsover_add(r,1),__tsover_add(o,1)),d),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"nx"},{type:"i",name:"ny"}],body:[0,[[13,"ix",[6,"std.floor",["nx"]]],[13,"iy",[6,"std.floor",["ny"]]],[13,"sx",[6,"std.fract",["nx"]]],[13,"sy",[6,"std.fract",["ny"]]],[13,"ux",[1,[1,"sx","*","sx"],"*",[1,[5,"3"],"-",[1,"sx","*",[5,"2"]]]]],[13,"uy",[1,[1,"sy","*","sy"],"*",[1,[5,"3"],"-",[1,"sy","*",[5,"2"]]]]],[10,[6,"std.mix",[[6,"std.mix",[[6,"valueHash",["ix","iy"]],[6,"valueHash",[[1,"ix","+",[5,"1"]],"iy"]],"ux"]],[6,"std.mix",[[6,"valueHash",["ix",[1,"iy","+",[5,"1"]]]],[6,"valueHash",[[1,"ix","+",[5,"1"]],[1,"iy","+",[5,"1"]]]],"ux"]],"uy"]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,"std.mix":()=>X,valueHash:()=>jd}})&&e.f)({})),hO=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_add(__tsover_add(__tsover_mul(sl(t,s),.5),__tsover_mul(sl(__tsover_add(__tsover_mul(t,2),5.37),__tsover_add(__tsover_mul(s,2),9.13)),.3)),__tsover_mul(sl(__tsover_add(__tsover_mul(t,4),1.79),__tsover_add(__tsover_mul(s,4),3.51)),.2))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"nx"},{type:"i",name:"ny"}],body:[0,[[10,[1,[1,[1,[6,"valueNoise2D",["nx","ny"]],"*",[5,"0.5"]],"+",[1,[6,"valueNoise2D",[[1,[1,"nx","*",[5,"2"]],"+",[5,"5.37"]],[1,[1,"ny","*",[5,"2"]],"+",[5,"9.13"]]]],"*",[5,"0.3"]]],"+",[1,[6,"valueNoise2D",[[1,[1,"nx","*",[5,"4"]],"+",[5,"1.79"]],[1,[1,"ny","*",[5,"4"]],"+",[5,"3.51"]]]],"*",[5,"0.2"]]]]]]},externals:{valueNoise2D:()=>sl}})&&e.f)({})),xO=v.fn([a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(Gs(__tsover_mul(r,37.31)),97),i=__tsover_mul(Gs(__tsover_mul(r,83.17)),97);return l(__tsover_add(__tsover_mul(t,o),n),__tsover_add(__tsover_mul(s,o),i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"y"},{type:"i",name:"seed"},{type:"i",name:"cellsPerTexel"}],body:[0,[[13,"sdx",[1,[6,"noise.hash11",[[1,"seed","*",[5,"37.31"]]]],"*",[5,"97"]]],[13,"sdy",[1,[6,"noise.hash11",[[1,"seed","*",[5,"83.17"]]]],"*",[5,"97"]]],[10,[6,"d.vec2f",[[1,[1,"x","*","cellsPerTexel"],"+","sdx"],[1,[1,"y","*","cellsPerTexel"],"+","sdy"]]]]]]},externals:{"noise.hash11":()=>Gs,"d.vec2f":()=>l}})&&e.f)({}));var gO=v.fn([a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_mul(__tsover_sub(t,r),d),_=__tsover_sub(s,o),u=H(i),m=Y(i),p=__tsover_add(__tsover_mul(c,u),__tsover_mul(_,m)),y=__tsover_sub(__tsover_mul(_,u),__tsover_mul(c,m));return l(__tsover_add(__tsover_div(p,n),.5),__tsover_add(__tsover_div(y,n),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"u"},{type:"i",name:"v"},{type:"i",name:"centerX"},{type:"i",name:"centerY"},{type:"i",name:"scale"},{type:"i",name:"rotation"},{type:"i",name:"aspect"}],body:[0,[[13,"dxAc",[1,[1,"u","-","centerX"],"*","aspect"]],[13,"dy",[1,"v","-","centerY"]],[13,"cosR",[6,"std.cos",["rotation"]]],[13,"sinR",[6,"std.sin",["rotation"]]],[13,"rdx",[1,[1,"dxAc","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dxAc","*","sinR"]]],[10,[6,"d.vec2f",[[1,[1,"rdx","/","scale"],"+",[5,"0.5"]],[1,[1,"rdy","/","scale"],"+",[5,"0.5"]]]]]]]},externals:{"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({}));ut({centerX:a,centerY:a,scale:a,rotation:a,aspect:a,saRadius:a,saSides:a,saRounding:a,saInnerRatio:a,saRotation:a,saHeight:a,saOffset:a,saAperture:a,vfOriginX:a,vfOriginY:a,vfSpanX:a,vfSpanY:a,vfActiveRes:a});var xl=256*256;var Yb=1-10*.004,bO=Yb>=1?1/0:Math.min(3e4,Math.log(1e-6)/Math.log(Math.max(Yb,.001))*16.67);var Lb="rgba16float",pw=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({amp:a,freq:a,seed:a,edgePin:a,cursorIntensity:a,t:a,aspect:a,focal:a,camPos:f,camForward:f,camRight:f,camUp:f,lighting:a,glossiness:a,highlights:a,lightX:a,lightY:a,lightZ:a,lightColor:f,nearCutoff:a,farCutoff:a,cursorWaveX:a,cursorWaveY:a,mouseSpeed:a,dt:a,decay:a,radius:a,waveSpeed:a,heightEnvelope:a,cursorActive:a}),"HeightFieldParams");var wO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({readSrc:{storage:pt(a,xl),access:"readonly"},writeBuf:{storage:pt(a,xl),access:"mutable"},readBuf:{storage:pt(a,xl),access:"mutable"},params:{uniform:pw}}),"waveEquationLayout"),TO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({readBuf:{storage:pt(a,xl),access:"readonly"},params:{uniform:pw},uvMaskTex:{storageTexture:Mo(Lb,"write-only")},litTex:{storageTexture:Mo(Lb,"write-only")}}),"heightFieldMarchLayout");var SO=v.fn([x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=z(t.xyz.sub(s.xyz)),n=z(__tsover_sub(t.w,s.w)),i=__tsover_add(se(o,f(.299,.587,.114)),n);return re(r,__tsover_add(__tsover_mul(r,2),.001),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"live"},{type:"i",name:"prev"},{type:"i",name:"threshold"}],body:[0,[[13,"dRgb",[6,"std.abs",[[6,[7,[7,"live","xyz"],"sub"],[[7,"prev","xyz"]]]]]],[13,"dA",[6,"std.abs",[[1,[7,"live","w"],"-",[7,"prev","w"]]]]],[13,"diff",[1,[6,"std.dot",["dRgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]],"+","dA"]],[10,[6,"std.smoothstep",["threshold",[1,[1,"threshold","*",[5,"2"]],"+",[5,"0.001"]],"diff"]]]]]},externals:{"std.abs":()=>z,"std.dot":()=>se,"d.vec3f":()=>f,"std.smoothstep":()=>re}})&&e.f)({})).$name("frameDiffMask"),AO=v.fn([f,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=uc(t);return ja(f(ue(__tsover_add(r.x,s)),r.y,r.z))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"amount"}],body:[0,[[13,"hsl",[6,"colorMixing.rgbToHsl",["rgb"]]],[13,"rotated",[6,"d.vec3f",[[6,"std.fract",[[1,[7,"hsl","x"],"+","amount"]]],[7,"hsl","y"],[7,"hsl","z"]]]],[10,[6,"colorMixing.hslToRgb",["rotated"]]]]]},externals:{"colorMixing.rgbToHsl":()=>uc,"d.vec3f":()=>f,"std.fract":()=>ue,"colorMixing.hslToRgb":()=>ja}})&&e.f)({})).$name("hueRotateTurns");var dY=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],cY=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],fw=[];for(let e=0;e<8;e++)for(let t=0;t<8;t++)fw[e*8+t]=Math.cos((2*e+1)*t*Math.PI/16);var MO=Math.PI/16,PO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.const(pt(a,64),fw),"COS_LUT"),EO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.const(pt(a,64),dY),"LUMA_QUANT_C"),kO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.const(pt(a,64),cY),"CHROMA_QUANT_C");var $O=v.fn([x,x,x,x,x,x,x,x,x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=re(0,.1,__tsover_mul(__tsover_add(__tsover_add(__tsover_add(__tsover_add(t.z,s.z),r.z),o.z),n.z),.2)),p=t.xy.add(s.xy).add(r.xy).add(o.xy).add(n.xy).mul(.2),y=j(p),h=re(.01,.1,y),g=__tsover_div(p.x,__tsover_add(y,.001)),w=__tsover_div(p.y,__tsover_add(y,.001)),S=re(0,.7,b(g,0)),T=re(0,.7,b(__tsover_mul(g,-1),0)),A=re(0,.7,b(w,0)),P=re(0,.7,b(__tsover_mul(w,-1),0)),U=_.mul(T).add(u.mul(S)),D=c.mul(P).add(d.mul(A)),O=__tsover_add(T,S),L=__tsover_add(A,P),G=__tsover_add(__tsover_add(O,L),.001);return X(i,U.mul(__tsover_div(O,G)).add(D.mul(__tsover_div(L,G))),x(h)).mul(m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s0"},{type:"i",name:"s1"},{type:"i",name:"s2"},{type:"i",name:"s3"},{type:"i",name:"s4"},{type:"i",name:"base"},{type:"i",name:"up"},{type:"i",name:"down"},{type:"i",name:"left"},{type:"i",name:"right"}],body:[0,[[13,"smoothedLiquid",[1,[1,[1,[1,[1,[7,"s0","z"],"+",[7,"s1","z"]],"+",[7,"s2","z"]],"+",[7,"s3","z"]],"+",[7,"s4","z"]],"*",[5,"0.2"]]],[13,"liquidIntensity",[6,"std.smoothstep",[[5,"0"],[5,"0.1"],"smoothedLiquid"]]],[13,"flow",[6,[7,[6,[7,[6,[7,[6,[7,[6,[7,[7,"s0","xy"],"add"],[[7,"s1","xy"]]],"add"],[[7,"s2","xy"]]],"add"],[[7,"s3","xy"]]],"add"],[[7,"s4","xy"]]],"mul"],[[5,"0.2"]]]],[13,"flowMagnitude",[6,"std.length",["flow"]]],[13,"hasFlow",[6,"std.smoothstep",[[5,"0.01"],[5,"0.1"],"flowMagnitude"]]],[13,"normalizedX",[1,[7,"flow","x"],"/",[1,"flowMagnitude","+",[5,"0.001"]]]],[13,"normalizedY",[1,[7,"flow","y"],"/",[1,"flowMagnitude","+",[5,"0.001"]]]],[13,"rightAmount",[6,"std.smoothstep",[[5,"0"],[5,"0.7"],[6,"std.max",["normalizedX",[5,"0"]]]]]],[13,"leftAmount",[6,"std.smoothstep",[[5,"0"],[5,"0.7"],[6,"std.max",[[1,"normalizedX","*",[4,"-",[5,"1"]]],[5,"0"]]]]]],[13,"upAmount",[6,"std.smoothstep",[[5,"0"],[5,"0.7"],[6,"std.max",["normalizedY",[5,"0"]]]]]],[13,"downAmount",[6,"std.smoothstep",[[5,"0"],[5,"0.7"],[6,"std.max",[[1,"normalizedY","*",[4,"-",[5,"1"]]],[5,"0"]]]]]],[13,"horizontalColor",[6,[7,[6,[7,"left","mul"],["leftAmount"]],"add"],[[6,[7,"right","mul"],["rightAmount"]]]]],[13,"verticalColor",[6,[7,[6,[7,"down","mul"],["downAmount"]],"add"],[[6,[7,"up","mul"],["upAmount"]]]]],[13,"horizontalWeight",[1,"leftAmount","+","rightAmount"]],[13,"verticalWeight",[1,"upAmount","+","downAmount"]],[13,"totalWeight",[1,[1,"horizontalWeight","+","verticalWeight"],"+",[5,"0.001"]]],[13,"directionalColor",[6,[7,[6,[7,"horizontalColor","mul"],[[1,"horizontalWeight","/","totalWeight"]]],"add"],[[6,[7,"verticalColor","mul"],[[1,"verticalWeight","/","totalWeight"]]]]]],[13,"finalColor",[6,"std.mix",["base","directionalColor",[6,"d.vec4f",["hasFlow"]]]]],[10,[6,[7,"finalColor","mul"],["liquidIntensity"]]]]]},externals:{"std.smoothstep":()=>re,"std.length":()=>j,"std.max":()=>b,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})).$name("flowDirectionColor"),l1={name:"Root",props:{},fragment:({childNode:e})=>e??vd("vec4f(0.0, 0.0, 0.0, 0.0)")};function uo(e,t,s="_animTime"){let r=e.props.member(s);if(t){let o=e.uniforms[t];if(o)return r.add(o)}return r}var _Y=class{kind="wgsl";spec;identifiers;fns=new Map;constructor(e){if(typeof e.body!="string"||e.body.trim()==="")throw new Error("wgsl: the body must be a non-empty WGSL string");if(!/\breturn\b/.test(vw(e.body)))throw new Error("wgsl: the body must `return` a vec4f color");this.spec=e,this.identifiers=lY(e.body)}get samplesChild(){return this.identifiers.has("childTexture")}fnFor(e,t){let s=this.fns.get(e);return s||(s=t(),this.fns.set(e,s)),s}};function e_(e){return e instanceof _Y}function vw(e){return e.replace(/\/\*[\s\S]*?\*\//g," ").replace(/\/\/[^\n]*/g," ")}function lY(e){let t=new Set,s=new RegExp("(?":ps(a),sampler:fv()},mY=new Set(["viewport","child","childTexture","childSampler"]),hw={uv:"vec2f",aspect:"f32",time:"f32",viewportSize:"vec2f",logicalViewportSize:"vec2f",pointer:"vec2f"};function Ib(e){return/^[A-Za-z_][A-Za-z0-9_]*$/.test(e)?e:e.replace(/[^A-Za-z0-9_]/g,"_")}function gy(e,t,s){let r=Ib(e.spec.name??pY(s.name)+fY(t)),o=vY(t,s),n=yY(e.spec.inputs??{},s.props),i=new Map;for(let u of o)e.identifiers.has(u.name)&&i.set(u.name,u);for(let u of n)i.set(u.name,u);let d=[...i.values()],c=`(${d.map(u=>`${Ib(u.name)}: ${u.type}`).join(", ")}) -> vec4f`,_=d.map(u=>`${u.name}:${u.type}`).join(",");return u=>(nh(),u.noteCustomWgsl?.(),we(e.fnFor(_,()=>(globalThis.__TYPEGPU_AUTONAME__??(m=>m))(v.fn(d.map(m=>uY[m.type]),x),"shell")(`${c} { +${e.spec.body} +}`)),r,d.map(m=>m.value(u))))}function pY(e){return e?e[0].toLowerCase()+e.slice(1):"custom"}function fY(e){return e==="generator"?"Paint":"Filter"}function vY(e,t){let s=[],r=e==="generator";s.push({name:"uv",type:"vec2f",value:o=>r?o.uvContext??o.ctx.uv:o.ctx.uv}),s.push({name:"time",type:"f32",value:o=>t.animatedTime?uo(o):o.ctx.time}),s.push({name:"aspect",type:"f32",value:o=>o.ctx.aspect}),s.push({name:"viewport",type:"vec2f",value:o=>r?o.effectiveViewportSize??o.ctx.viewportSize:o.ctx.viewportSize}),s.push({name:"pointer",type:"vec2f",value:o=>o.ctx.pointer}),e==="pointwise"&&s.push({name:"child",type:"vec4f",value:o=>o.childNode}),e==="gather"&&(s.push({name:"childTexture",type:"texture_2d",value:o=>o.texture.accessor()}),s.push({name:"childSampler",type:"sampler",value:()=>vd("samp.$.linearClamp")}));for(let[o,n]of Object.entries(t.props)){if(hw[o]||mY.has(o))continue;let i=yw(n);if(!i)continue;let d=n.transform===ho;s.push({name:o,type:i,value:c=>{let _=c.uniforms[o];if(!_)throw new Error(`wgsl: prop '${o}' has no GPU uniform (is it CPU-only?)`);return d?new Kt(u=>`vec2f(${_.member("x")._emit(u)}, 1.0 - ${_.member("y")._emit(u)})`):_}})}return s}function yY(e,t){let s=[];for(let[r,o]of Object.entries(e)){let n=o!==null&&typeof o=="object"&&"value"in o&&"type"in o,i=n?o.value:o,d=hY(i,t),c=n?o.type:d;if(n&&c!==d)throw new Error(`wgsl: input '${r}' is declared ${c} but its source is ${d}`);s.push({name:r,type:c,value:_=>typeof i=="number"?vt(i):oY(i,_)})}return s}function hY(e,t){if(typeof e=="number"||e instanceof Jc)return"f32";if(e.kind==="ctx")return hw[e.name]??"f32";if(e.kind==="prop"){let s=t[e.name];if(!s)throw new Error(`wgsl: input binds unknown prop '${e.name}'`);let r=yw(s);if(!r)throw new Error(`wgsl: prop '${e.name}' is CPU-only and cannot be bound as a WGSL parameter`);return r}return"f32"}function ya(e){let t={};for(let s of Object.keys(e)){let{recompile:r,...o}=e[s],n={...o};if(r?.kind==="crosses"){let i=r.value;n.compileTimeWhen=(d,c)=>d===i!=(c===i)}else r?.kind==="custom"&&(n.compileTimeWhen=r.predicate);t[s]=n}return t}function xw(e,t){switch(e.kind){case"isZero":case"isValue":{let s=e.kind==="isZero"?0:e.value,r=t[e.prop];return{props:[e.prop],when:o=>(o[e.prop]??r)===s}}case"allOf":{let s=e.rules.map(r=>xw(r,t));return{props:[...new Set(s.flatMap(r=>r.props))],when:r=>s.every(o=>o.when(r))}}case"custom":return{props:e.props,when:e.when}}}function Au(e,t){if(!e)return;let s={};for(let[r,o]of Object.entries(t))s[r]=o.default;return xw(e,s)}function xY(e){let{role:t,species:s,effect:r,identityWhen:o,missingChildMessage:n,props:i,...d}=e,c={...d,props:ya(i),identity:Au(o,i),missingChildMessage:n};if(r.kind==="tintToward"){let{color:m,amount:p}=r;return Km({...c,body:{fn:wR,hint:"mixToward"},args:y=>[Dt(m,y),od(p,y)]})}if(e_(r))return Km({...c,build:gy(r,"pointwise",by(e))});let{kind:_,...u}=r;return Km({...c,...u})}function by(e){return{name:e.name,props:e.props,animatedTime:e.animatedTime}}function gY(e){let{role:t,species:s,effect:r,identityWhen:o,missingChildMessage:n,props:i,...d}=e;if(r.kind==="displaceBy")return bY(e);if(e_(r))return Ub({...d,props:ya(i),identity:Au(o,i),missingChildMessage:n,build:gy(r,"gather",by(e)),resultAlpha:r.spec.alpha??"premultiplied"});let{kind:c,..._}=r;return Ub({...d,props:ya(i),identity:Au(o,i),missingChildMessage:n,..._})}function bY(e){let{role:t,species:s,effect:r,identityWhen:o,missingChildMessage:n,props:i,...d}=e,c=r,_=Au(o,i),u=c.field.sim.config,m=c.field.output,p=u.step.find(h=>h.kind==="op.wave"),y=u.step.find(h=>h.kind==="op.splat");if(!p||!y||u.step.length!==2)throw new Error(`std: simulate.grid currently implements exactly [op.wave, op.splat] (got: ${u.step.map(h=>h.kind).join(", ")})`);if(u.history!==2)throw new Error(`std: op.wave reads t\u22121 and t\u22122 \u2014 declare history: 2 (got ${u.history})`);if(u.derive[m]?.kind!=="op.gradient")throw new Error(`std: displaceBy consumes a vector field \u2014 derive '${m}' must be op.gradient()`);if(u.rest&&u.rest.settlesWhen!=="derived-from-damping")throw new Error("std: simulate.grid rest supports settlesWhen: 'derived-from-damping' only");return{...d,props:ya(i),requiresRTT:!0,requiresChild:!0,usesPointer:y.at.kind==="pointer",compute:h=>{if(!h.childNode)return null;let g=sG(h,{resolution:u.resolution,dampingProp:p.damping.name,radiusProp:y.radius.name,radiusScale:.05,speedMax:y.amount.max,teleportGuard:y.at.teleportGuard});return g?{outputs:{[m]:g.displacement},getComputeNodes:g.getComputeNodes}:null},fragment:h=>{let{childNode:g,ctx:w,computeOutputs:S,propValues:T,convertToTexture:A}=h;if(!g)return xr;let P=A(g);if(hy(_,h))return we(dn,"unpremultiplyAlpha",[P.sample(w.uv)]);let U=T[c.edges.name]??0,D=S?.[m],O=D?D.sample(w.uv,"linearClamp").member("xy"):vd("vec2f(0.0, 0.0)"),L=we(uz,"chromaticDisplaceUVs",[w.uv,O,Dt(c.strength,h),Dt(c.chromatic,h)]),G=te=>P.sample(te),W=Gi(L.member("rUV"),G,U),K=Gi(L.member("gUV"),G,U),Q=Gi(L.member("bUV"),G,U);return we(dn,"unpremultiplyAlpha",[Ws(W.member("r"),K.member("g"),Q.member("b"),K.member("a"))])}}}function wY(e){let{role:t,map:s,edges:r,resample:o,uvRemapIdentityWhen:n,missingChildMessage:i,props:d,...c}=e;return{...c,props:ya(d),requiresRTT:!0,requiresChild:!0,...NG(s,{edges:r,resample:o,uvRemapIdentityWhen:n,requireChildMessage:i})}}function TY(e){let{role:t,name:s,description:r,category:o,shape:n}=e;return tY({name:s,description:r,category:o,...n})}function SY(e){let{role:t,paint:s,props:r,...o}=e;return e_(s)?{acceptsUVContext:!0,...o,props:ya(r),fragment:gy(s,"generator",by(e))}:{...o,props:ya(r),fragment:s}}function AY(e){let{role:t,species:s,gpu:r,props:o,...n}=e;return{...n,props:ya(o),fragment:r.fragment,...r.uvRemap?{uvRemap:r.uvRemap}:{}}}function MY(e){let t=[],s=e.paint,r=e.effect;for(let n of[s,r])e_(n)&&t.push(n.spec.body,PY(n.spec.inputs??{}),n.spec.alpha??"");if(t.length===0)return;let o=2166136261;for(let n of t.join("\0"))o^=n.charCodeAt(0),o=Math.imul(o,16777619)>>>0;return o.toString(16)}function PY(e){let t=r=>{if(typeof r!="object"||r===null)return String(r);let o=r;switch(o.kind){case"prop":return`p:${o.name}`;case"ctx":return`c:${o.name}`;case"mul":return`mul(${t(o.a)},${t(o.b)})`;case"radialMask":return`radialMask(${o.center?.name},${o.radius?.name},${o.falloff?.name})`;default:return o.kind}},s=r=>typeof r=="number"?`n:${r}`:r instanceof Jc?`s:${t(r.node)}`:t(r);return Object.keys(e).sort().map(r=>{let o=e[r];return o!==null&&typeof o=="object"&&"value"in o&&"type"in o?`${r}=${s(o.value)}:${o.type}`:`${r}=${s(o)}`}).join(",")}var EY=new Set(["blendMode","opacity","visible","id","maskSource","maskType","renderOrder","transform","boundingBox","flow","absolute","children","ref","key","src"]),kY=new Set(["_animTime","_opacity"]),$Y=["_pad","_bbox_","_map_","_childBounds_","_animTime_"],UY=/^[A-Za-z_][A-Za-z0-9_]*$/;function CY(e,t){for(let s of Object.keys(t)){if(!UY.test(s))throw new Error(`defineShader("${e}"): prop '${s}' is not a valid identifier (letters, digits and _ only, not starting with a digit)`);if(EY.has(s))throw new Error(`defineShader("${e}"): '${s}' is a layer prop every component already has (blend mode, opacity, layout, \u2026) \u2014 rename the shader prop`);if(kY.has(s)||$Y.some(r=>s.startsWith(r)))throw new Error(`defineShader("${e}"): '${s}' collides with a field the renderer manages itself \u2014 rename the shader prop`)}}function $o(e){"props"in e&&e.props&&CY(e.name,e.props);let t=YY(e),s=MY(e);return s?{...t,revision:s}:t}function RY(e){let t="shape"in e?"shape":"map"in e?"warp":"gpu"in e?"custom":"paint"in e?"generator":"effect"in e?"filter":null,s=String(e.name??"?");if(!t)throw new Error(`defineShader("${s}"): give it a GPU half \u2014 paint: (generator), effect: (filter), map: (warp), shape: (shape) or gpu: (custom)`);let r=e.role;if(r&&t!=="custom"&&r!==t)throw new Error(`defineShader("${s}"): role '${r}' contradicts its ${zY[t]} field (a ${t})`);return t}var zY={shape:"shape:",warp:"map:",custom:"gpu:",generator:"paint:",filter:"effect:"};function GY(e){let{effect:t,species:s}=e;if(e_(t))return s??(t.samplesChild?"gather":"pointwise");let r=t.kind==="gather"||t.kind==="displaceBy"?"gather":"pointwise";if(s&&s!==r)throw new Error(`defineShader("${e.name}"): species '${s}' contradicts its '${t.kind}' effect (${r})`);return r}function YY(e){switch(RY(e)){case"shape":return TY(e);case"warp":return wY(e);case"custom":return AY(e);case"generator":return SY(e);case"filter":{let t=e;return GY(t)==="gather"?gY({...t,species:"gather"}):xY({...t,species:"pointwise"})}}}var $f=e=>typeof e=="number"?vt(e):e,Mu=(e,t)=>typeof e=="number"?vt(e)._emit(t):e._emit(t);function kr(e,...t){return new Kt(s=>`${e}(${t.map(r=>Mu(r,s)).join(", ")})`)}function u1(e,t,s){return new Kt(r=>`(${Mu(t,r)} ${e} ${Mu(s,r)})`)}var $e=(e,t)=>u1("+",e,t),fs=(e,t)=>u1("-",e,t),N=(e,t)=>u1("*",e,t),mr=(e,t)=>u1("/",e,t),Pu=e=>new Kt(t=>`(-(${Mu(e,t)}))`),m1=e=>kr("abs",e);var nd=(e,t)=>kr("pow",e,t),wy=e=>kr("exp",e);var Uo=e=>kr("sin",e),t_=e=>kr("cos",e);var xa=(e,t)=>kr("max",e,t),gr=(e,t,s)=>kr("clamp",e,t,s),Co=(e,t,s)=>oc($f(e),$f(t),s);var Ss=(e,t,s)=>kr("smoothstep",e,t,s);var gd=e=>kr("length",e);var gw=(e,t)=>kr("dot",e,t);var p1=(e,t,s)=>Jt(fs(N(rl(e,"x"),t),N(rl(e,"y"),s)),$e(N(rl(e,"x"),s),N(rl(e,"y"),t))),rl=(e,t)=>typeof e=="number"?e:e.member(t),f1=(e,t)=>kr("reflect",e,t);var LY=e=>kr("exp2",e);var Zr=e=>vt(e),Jt=(e,t)=>kr("vec2f",e,t),tr=(e,t,s)=>kr("vec3f",e,t,s),ni=(...e)=>Ws(...e.map($f)),ln=e=>kr("vec3f",e),ye=(e,t)=>ur(e,t);function bw(e){return{kind:"crosses",value:e}}var IY=e=>typeof e=="number"?vt(e):e,$r=(e,t)=>(...s)=>we(e,t,s.map(IY)),UO=$r(fc,"circleSdf"),CO=$r(uu,"ellipseSdf"),RO=$r(lu,"roundedRectSdf"),zO=$r(au,"polygonSdf"),GO=$r(du,"starSdf"),YO=$r(iu,"flowerSdf"),LO=$r(vu,"heartSdf"),IO=$r(_u,"crossSdf"),DO=$r(cu,"ringSdf"),FO=$r(mu,"vesicaSdf"),BO=$r(pu,"crescentSdf"),WO=$r(fu,"trapezoidSdf"),OO=$r(hu,"teardropSdf"),VO=$r(xu,"parallelogramSdf"),NO=$r(yu,"arcSdf");var Ae=Math.fround,DY=Ae(HC),Zm=Ae(it),FY=.11,Uf=Ae(4294967295),Db=new DataView(new ArrayBuffer(4));function Cf(e){return Db.setFloat32(0,Ae(e),!0),Db.getUint32(0,!0)}function Eu(e,t){return Math.imul(e>>>0,t>>>0)>>>0}function Fb(e){let t=Cf(Ae(Ae(e)*Ae(3141592653)));return Ae(Ae(Eu(Eu(t,t),3141592653))/Uf)}function Bb(e,t){let s=(Cf(Ae(Ae(e)*Ae(141421356)))^Cf(Ae(Ae(t)*Ae(2718281828))))>>>0;return[Ae(Ae(Eu(s,3141592653))/Uf),Ae(Ae(Eu(s,1618033988))/Uf)]}function BY(e,t,s,r,o,n){let i=Ae(Ae(e*DY)+Ae(Fb(Ae(Ae(s*Ae(.7311))+Ae(1.618)))*Zm)),d=Ae(Math.sqrt(Ae(Ae(e+.5)/Ae(t)))),c=Bb(Ae(Ae(e*Ae(3.77))+Ae(.917)),Ae(Ae(s*Ae(1.093))+Ae(2.236))),_=Ae(Ae(c[0]-.5)*Ae(.26)),u=Ae(Ae(c[1]-.5)*Ae(.26)),m=Bb(Ae(Ae(e*Ae(7.13))+Ae(1.618)),Ae(Ae(s*Ae(.531))+Ae(3.71))),p=Ae(m[0]*Zm),y=Ae(m[1]*Zm),h=Ae(.5+Ae(Fb(Ae(Ae(Ae(e*Ae(5.417))+Ae(s*Ae(.291)))+Ae(.917)))*Ae(.7))),g=Ae(Ae(n*Ae(FY))*h),w=Ae(Math.sin(Ae(g+p))),S=Ae(Math.cos(Ae(Ae(g*Ae(1.37))+y))),T=Ae(Ae(Ae(Ae(Math.cos(i))*d)*Ae(.62))+_)+Ae(Ae(w*Ae(r))*Ae(.16)),A=Ae(Ae(Ae(Ae(Math.sin(i))*d)*Ae(.62))+u)+Ae(Ae(S*Ae(r))*Ae(.16));return[Ae(Ae(.5+Ae(T))*Ae(o)),Ae(.5+Ae(A))]}function WY(e,t,s,r,o){let n=new Array(16);for(let i=0;i<8;i++){let[d,c]=BY(i,e,t,s,r,o);n[i*2]=d,n[i*2+1]=c}return n}function ww(e){return typeof e=="number"?e:typeof e=="string"?ir(e):0}function OY(e,t){return Fv[e?ww(t.propValues[e.name]):0]??Bo}function Tw(e){return(t,s,r)=>{let o=OY(e.space,r);return we(o,"mixColors",[we(o,"mixColors",[Dt(e.a,r),Dt(e.b,r),t]),Dt(e.c,r),s])}}function Sw(e){let t=s=>typeof s=="number"?vt(s):s;return e.anchors?we(nR,"scatterField",[e.at,t(e.count),t(e.seed),e.anchors,t(e.softness)]):we(aR,"scatterField",[e.at,t(e.count),t(e.seed),t(e.drift),t(e.aspect),t(e.time),t(e.softness)])}function Aw(e,t){let s=e.dimensions.width/Math.max(e.dimensions.height,1e-6);e.onResize(({width:o,height:n})=>{s=o/Math.max(n,1e-6)});let r="";return e.onBeforeRender(()=>{let o=e.getCpuValue("_animTime"),n=e.getCpuValue(t.count.name),i=e.getCpuValue(t.seed.name),d=e.getCpuValue(t.drift.name);if(typeof o!="number"||typeof n!="number"||typeof i!="number"||typeof d!="number")return;let c=`${n}|${i}|${d}|${s}|${o}`;c!==r&&(r=c,e.setExtraField(t.field,WY(n,i,d,s,o)))}),e.uniforms[t.field]}function Mw(e){return we(vz,"rampWrap",[e.t,typeof e.cycles=="number"?vt(e.cycles):e.cycles])}function Pw(e){let t=s=>typeof s=="number"?vt(s):s;return e.levels===1?we(rR(go,{name:"warpDomain1"}),"warpDomain1",[e.at,t(e.time),t(e.amount)]):we(sR(go,{name:"warpDomain"}),"warpDomain",[e.at,t(e.time),t(e.amount)])}function Ty(e){let t=s=>typeof s=="number"?vt(s):s;return we(iR,"chainedWarpStep",[e.at,vt(e.scale),t(e.z),Jt(e.offsets[0][0],e.offsets[0][1]),Jt(e.offsets[1][0],e.offsets[1][1]),vt(e.reach),t(e.strength)])}function Ew(e,t){return rG(t,e)}function kw(e){return(t,s,r)=>{let{uniforms:o}=r,n=ww(r.propValues[e.space.name]),i=Dt(e.a,r),d=Dt(e.b,r),c=Dt(e.c,r),_=Dt(e.d,r);if(n!==0){let u="";r.onBeforeRender(()=>{let y=[e.a.name,e.b.name,e.c.name,e.d.name].map(w=>r.getCpuValue(w));if(y.some(w=>!w))return;let h=y.map(w=>`${w.x},${w.y},${w.z}`).join("|");if(h===u)return;u=h;let g=["convA","convB","convC","convD"];y.forEach((w,S)=>{let T=s1(w.x,w.y,w.z,n);r.setExtraField(g[S],[T[0],T[1],T[2]])})});let m=ur(we(fa,"mixInSpace",[o.convA,i.member("a"),o.convB,d.member("a"),t]),"flowRow1"),p=ur(we(fa,"mixInSpace",[o.convC,c.member("a"),o.convD,_.member("a"),t]),"flowRow2");return we(Bv[n]??t1,"mixPreconvertedColors",[m.member("conv"),p.member("conv"),m.member("alpha"),p.member("alpha"),s])}return we(Bo,"mixColors",[ur(we(Bo,"mixColors",[i,d,t]),"flowRow1"),ur(we(Bo,"mixColors",[c,_,t]),"flowRow2"),s])}}function Qm(e,t){return typeof e=="number"?vt(e):e instanceof Jc||e.kind!=="ctx"?od(e,t):t.ctx[e.name]}function VY(e){return{uv:e.uvContext??e.ctx.uv,viewport:e.effectiveViewportSize??e.ctx.viewportSize}}function $w(e){return t=>{let{uv:s,viewport:r}=VY(t);return we(mz,"godraysFrame",[s,r,Dt(e,t)])}}function Uw(e,t,s){return r=>t(s?ur(e(r),s):e(r),r)}function Cw(e){return(t,s)=>we(pz,"godraysRayStack",[t,uo(s),Qm(e.density,s),Qm(e.intensity,s),Qm(e.spotty,s)])}function Rw(e){return t=>we(fz,"coverageOver",[Dt(e.color,t),Dt(e.background,t),e.coverage(t)])}var{sdfSpaceUV:NY,offsetUV:ol}=sw,{ANALYTIC_SDF_EXTRA_FIELDS:qY}=n1,{createVolumetricFieldComputeNode:XY,resolveShapeFieldSampler:HY,VOLUMETRIC_FIELD_EXTRA_FIELDS:jY}=yd,KY=0;function v1(e,t,s,r="guarded",o=[]){let n=KY++;return new Kt(i=>i.memo(`guard:${n}`,()=>{let d=i.freshLocal(r),c=e._emit(i),_=s._emit(i);for(let p of o)p._emit(i);let u=[],m=t._emit({external:(p,y)=>i.external(p,y),statement:p=>u.push(p),freshLocal:p=>i.freshLocal(p),memo:(p,y)=>i.memo(p,y)});return i.statement(`var ${d} = ${_};`),i.statement(`if (${c}) { + ${u.join(` + `)} + ${d} = ${m}; +}`),d}))}function y1(e,t){let s=we(Ez,"outsideShape",[e,t]);return new Kt(r=>`(!(${s._emit(r)}))`)}function h1(e){let t=e.pattern??"none",s=e.chord??"span",r=e.stencil??{kind:"forward",eps:.01},o=i=>XY(i,()=>i.getCpuValue("shape"),t,s),n=i=>{let{childNode:d,computeOutputs:c,convertToTexture:_,uniforms:u,ctx:m}=i,p;if(e.child==="required"){if(!d)return xr;p=c?.childTexture??_(d)}let{sampler:y,gradSampler:h,texelSampler:g,volumetric:w,bakedGradients:S}=HY(i,{patternMode:t,gradSampler:e.gradSampler??"fast",bakedGradients:e.bakedGradients??"none"}),T={sampler:y,gradSampler:h,texelSampler:g,volumetric:w,bakedGradients:S,volFlag:vt(w?1:0),childTexture:p};if(r!=="none"){let A=e.placeUV?e.placeUV(i):m.uv;if(T.sdfUV=ye(we(NY,"sdfSpaceUV",[u.center,u.scale,u.rotation,A,m.aspect]),"sdfUV"),T.surf0=(e.centreTap==="fast"?h:y)(T.sdfUV),r!=="centre"){let{kind:P,eps:U}=r;T.surfX=h(we(ol,"offsetUV",[T.sdfUV,vt(U),vt(0)])),P==="central"&&(T.surfL=h(we(ol,"offsetUV",[T.sdfUV,vt(-U),vt(0)]))),T.surfY=h(we(ol,"offsetUV",[T.sdfUV,vt(0),vt(U)])),P==="central"&&(T.surfD=h(we(ol,"offsetUV",[T.sdfUV,vt(0),vt(-U)])))}}return e.surface(T,i)};return{extraFields:{...jY,...qY},compute:o,gpu:{fragment:n}}}function x1(e,t,s={}){let{ctx:r}=t,o=ye(e.surf0,"s0"),n=ye(mr(1,r.viewportSize.member("y")),"pxH"),i=ye(s.scale?mr(o.member("x"),s.scale):o.member("x"),"sdf"),d=mr(r.viewportSize.member("x"),r.viewportSize.member("y"));return{s0:o,sX:e.surfX?ye(e.surfX,"sX"):void 0,sY:e.surfY?ye(e.surfY,"sY"):void 0,sdf:i,pxH:n,aspect:d}}function g1(e,t,s){let r=Zr(s.eps??.01),o=s.hint??"nGeo";if(e.volumetric)return ye(we(Az,"volumetricNormal",[t.s0,t.sX,t.sY,r,Zr(s.sharpness??5)]),o);let n=gr(mr(Pu(t.sdf),xa(s.bevelWidth,.003)),0,1);return ye(we(Mz,"bevelledFlatNormal",[we(Sz,"fieldGradient",[t.s0,t.sX,t.sY,r]),we(zG,"bevelSin",[n,s.bevelShape])]),o)}function zw(e,t,s={}){return ye(we(Pz,"patternCoords",[s.uv??e.sdfUV,t.s0,e.volFlag]),"pat")}function b1(e,t,s=.6){return ye(we(kz,"perspectiveViewRay",[e.ctx.uv,t.aspect,Zr(s)]),"viewI")}function Gw(e,t,s){let r=o=>typeof o=="number"?Zr(o):o;return we(Iz,"studio5Softbox",[e,t,s.rotation.member("x"),s.rotation.member("y"),r(s.keyRadius),r(s.drift),r(s.strength),Zr(s.skyGain)])}function w1(e,t){return we(Uz,"silhouetteAlpha",[e.sdf,t,e.pxH])}function Yw(e){return we(a7,"tonemapNeutral",[e])}function Lw(e,t,s,r="n"){return ye(we(Gz,"nudgeNormal",[e,t,s]),r)}function T1(e,t,s="kl"){return ZY(e.member("x"),e.member("y"),t,s)}function ZY(e,t,s,r="kl"){return ye(we(Cz,"keyLight",[e,t,Zr(s)]),r)}function Iw(e,t,s){return we(Rz,"sharpGlint",[e,t,s])}function Dw(e,t){return we(zz,"clampedPerlinGrad",[e,typeof t=="number"?Zr(t):t])}function Wb(e,t){return we(Yz,"opticalThickness",[e.sdf,t.volFlag])}function Fw(e,t){return we(Lz,"flowWarpOffset",[e,t])}function ga(e){return we(Ei,"mxNoiseFloat2",[e])}function Sn(e){return we(go,"mxNoiseFloat3",[e])}function QY(e){return we(jC,"mxWorleyNoiseFloat2Pub",[e,Zr(1)])}function Bw(e,t){return we(Ot,"hash12",[Jt(e,t)])}function Ww(e){let t=ye(e.gradSampler(Jt(.5,.5)),"s0C");return{x:ye(N(Pu(t.member("y")),e.volFlag),"rotSenseX"),y:ye(N(Pu(t.member("z")),e.volFlag),"rotSenseY")}}function Ow(e,t,s){let r=ye(fs(e.sdfUV.member("x"),.5),"cx"),o=ye(fs(e.sdfUV.member("y"),.5),"cy");return{x:ye($e(r,N(t.member("x"),s)),"bentX"),y:ye($e(o,N(t.member("y"),s)),"bentY"),centered:{x:r,y:o}}}function Sy(e,t,s){return $e(fs(1,s.amount),N(Uo($e(N(e,s.rate),N(t,s.spread))),s.amount))}function Ay(e,t){let s=t.hint??"stars",r=ye($e(N(ga(N(e,t.variationFreq)),.5),.5),`${s}V`),o=t.shimmer?t.shimmer(r):Zr(1),n=ye(N(N(N(Ss($e(t.radius[0],N(r,t.radius[1])),5e-4,QY(e)),Ss(t.keep[0],t.keep[1],r)),N($e(t.brightness[0],N(N(r,r),t.brightness[1])),o)),t.gain),s);return{glint:n,variation:r,rgb:t.tint?N(Co(tr(...t.tint.from),tr(...t.tint.to),ln(r)),ln(N(n,t.tint.gain))):void 0}}function Vw(e,t){let s=t.softness?ye(LY(Co(2,-2,t.softness)),"lobeWiden"):void 0,r=o=>s?N(o,s):Zr(o);return N($e(N(nd(e,r(t.core[0])),t.core[1]),N(nd(e,r(t.halo[0])),t.halo[1])),t.gain)}function Nw(e,t,s){let r=ye(N(e.s0.member("w"),t.volFlag),"rayEntry"),o=ye(s.lengthScale===void 0?Wb(e,t):N(Wb(e,t),s.lengthScale),"rayLen"),n=s.view?ye(N(s.view.member("x"),s.shear??1),"rayShearX"):void 0,i=s.view?ye(N(s.view.member("y"),s.shear??1),"rayShearY"):void 0;return{entry:r,length:o,at(d){return{x:n?$e(s.origin.x,N(n,d)):s.origin.x,y:i?$e(s.origin.y,N(i,d)):s.origin.y}}}}function My(e,t){let s=t.hint??"plane",r=ye($e(e.entry,N(e.length,t.depth)),`${s}Z`),o=e.at(r);if(!t.pan)return{x:o.x,y:o.y,z:r};let n=t.panRate??1;return{x:$e(o.x,N(t.pan.x,n)),y:$e(o.y,N(t.pan.y,n)),z:r}}function qw(e,t){let s=t.hint??"",r=t.drift,o=t.seed,n=(m,p,y,h)=>{let g=p===void 0?N(m,t.frequency):N(m,N(t.frequency,p));return r&&(g=$e(g,y===1?r:N(r,y))),o&&(g=$e(g,h===1?o:N(o,h))),g},i=ye(tr(n(e.x,void 0,1,1),n(e.y,void 0,-.7,.53),n(e.z,1.25,1.3,.79)),`q${s}`),d=ye(Sn(r?$e(N(i,.5),tr(N(r,1.4),0,N(r,-.9))):N(i,.5)),`warp${s}`),c=t.billow?ye($e(i,N(tr(d,N(d,-.73),N(d,.41)),t.billow)),`qw${s}`):i,_=ye(Sn($e(N(c,2.13),tr(5.2,1.3,8.4))),`mid${s}`),u=ye(Sn($e(N(c,4.31),tr(9.1,3.7,1.2))),`fine${s}`);return{density:ye(N($e($e(Sn(c),N(_,.5)),N(u,.27)),.57),`fbm${s}`),mid:_,fine:u}}function Xw(e,t){let s=ln(1),r=tr(0,0,0);for(let o=0;oe))(ut({center:l,lightPos:pt(x,8),lightColor:pt(x,8),lightCount:a,scale:a,rotation:a,aspect:a,reach:a,wrap:a,lightRange:a,shadowSoftness:a,eps:a,res:a,frame:a,rays:a,saRadius:a,saSides:a,saRounding:a,saInnerRatio:a,saRotation:a,saHeight:a,saOffset:a,saAperture:a,vfOriginX:a,vfOriginY:a,vfSpanX:a,vfSpanY:a,vfActiveRes:a,vfRBound:a}),"IrradianceParams"),ai={storageTexture:Mo(JY,"write-only")},XO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Py},outTex:ai}),"irradianceAnalyticLayout"),Jm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Py},outTex:ai,sdfSource:{texture:ps(a)},samp:{sampler:"filtering"}}),"irradianceSvgLayout"),nl=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Py},outTex:ai,silhouetteTex:{texture:ps(a)},samp:{sampler:"filtering"}}),"irradianceFieldLayout"),ep=1e3,ku=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return b(oe(t,ep),__tsover_mul(ep,-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[6,"std.max",[[6,"std.min",["v","FAR"]],[1,"FAR","*",[4,"-",[5,"1"]]]]]]]]},externals:{"std.max":()=>b,"std.min":()=>oe,FAR:()=>ep}})&&e.f)({})).$name("irradianceSane"),Ob=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=$(t,l(0,0),l(1,1));return j(t.sub(s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"c",[6,"std.clamp",["uv",[6,"d.vec2f",[[5,"0"],[5,"0"]]],[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]],[10,[6,"std.length",[[6,[7,"uv","sub"],["c"]]]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l,"std.length":()=>j}})&&e.f)({})).$name("irradianceBeyondSquare");var HO=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=zl(Jm.$.sdfSource,Jm.$.samp,t,a(0)).x,r=Ob(t);return ku(C(s,b(r,__tsover_sub(s,r)),r>0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"border",[7,[6,"std.textureSampleLevel",[[7,[7,"irradianceSvgLayout","$"],"sdfSource"],[7,[7,"irradianceSvgLayout","$"],"samp"],"uv",[6,"d.f32",[[5,"0"]]]]],"x"]],[13,"beyond",[6,"beyondSquare",["uv"]]],[10,[6,"sane",[[6,"std.select",["border",[6,"std.max",["beyond",[1,"border","-","beyond"]]],[1,"beyond",">",[5,"0"]]]]]]]]]},externals:{"std.textureSampleLevel":()=>zl,irradianceSvgLayout:()=>Jm,"d.f32":()=>a,beyondSquare:()=>Ob,sane:()=>ku,"std.select":()=>C,"std.max":()=>b}})&&e.f)({})).$name("irradianceSvgField"),jO=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=nl.$.params,r=$(t.x,s.vfOriginX,__tsover_add(s.vfOriginX,s.vfSpanX)),o=$(t.y,s.vfOriginY,__tsover_add(s.vfOriginY,s.vfSpanY)),n=j(l(__tsover_sub(t.x,r),__tsover_sub(t.y,o))),i=__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),s.vfRBound),d=l(__tsover_div(__tsover_sub(r,s.vfOriginX),s.vfSpanX),__tsover_div(__tsover_sub(o,s.vfOriginY),s.vfSpanY)),c=zl(nl.$.silhouetteTex,nl.$.samp,d,a(0)),_=__tsover_mul(c.z,c.w);return ku(C(_,b(b(n,i),__tsover_sub(_,n)),n>0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"p",[7,[7,"irradianceFieldLayout","$"],"params"]],[13,"cx",[6,"std.clamp",[[7,"uv","x"],[7,"p","vfOriginX"],[1,[7,"p","vfOriginX"],"+",[7,"p","vfSpanX"]]]]],[13,"cy",[6,"std.clamp",[[7,"uv","y"],[7,"p","vfOriginY"],[1,[7,"p","vfOriginY"],"+",[7,"p","vfSpanY"]]]]],[13,"outside",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","cx"],[1,[7,"uv","y"],"-","cy"]]]]]],[13,"circle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-",[7,"p","vfRBound"]]],[13,"tuv",[6,"d.vec2f",[[1,[1,"cx","-",[7,"p","vfOriginX"]],"/",[7,"p","vfSpanX"]],[1,[1,"cy","-",[7,"p","vfOriginY"]],"/",[7,"p","vfSpanY"]]]]],[13,"sil",[6,"std.textureSampleLevel",[[7,[7,"irradianceFieldLayout","$"],"silhouetteTex"],[7,[7,"irradianceFieldLayout","$"],"samp"],"tuv",[6,"d.f32",[[5,"0"]]]]]],[13,"inDomain",[1,[7,"sil","z"],"*",[7,"sil","w"]]],[13,"beyond",[6,"std.max",[[6,"std.max",["outside","circle"]],[1,"inDomain","-","outside"]]]],[10,[6,"sane",[[6,"std.select",["inDomain","beyond",[1,"outside",">",[5,"0"]]]]]]]]]},externals:{irradianceFieldLayout:()=>nl,"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.textureSampleLevel":()=>zl,"d.f32":()=>a,"std.max":()=>b,sane:()=>ku,"std.select":()=>C}})&&e.f)({})).$name("irradianceVolumetricField"),Kw=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({vfOriginX:a,vfOriginY:a,vfSpanX:a,vfSpanY:a,vfActiveRes:a,vfRBound:a,res:a,step:a}),"SilhouetteParams"),Ii=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Kw},fieldTex:{texture:ps(a),sampleType:"unfilterable-float"},out:ai}),"silhouetteSeedLayout"),Kd=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Kw},src:{texture:ps(a)},out:ai}),"silhouetteStepLayout"),{fieldSampleFastArg:Vb}=ay(),Ai=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ii.$.params,o=Vb(l(__tsover_add(r.vfOriginX,__tsover_mul(__tsover_div(__tsover_add(t,.5),r.res),r.vfSpanX)),__tsover_add(r.vfOriginY,__tsover_mul(__tsover_div(__tsover_add(s,.5),r.res),r.vfSpanY))),Ii.$.fieldTex,r.vfOriginX,r.vfOriginY,r.vfSpanX,r.vfSpanY,r.vfActiveRes,r.vfRBound).x;return C(a(1),a(-1),o<0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"tx"},{type:"i",name:"ty"}],body:[0,[[13,"p",[7,[7,"silhouetteSeedLayout","$"],"params"]],[13,"uv",[6,"d.vec2f",[[1,[7,"p","vfOriginX"],"+",[1,[1,[1,"tx","+",[5,"0.5"]],"/",[7,"p","res"]],"*",[7,"p","vfSpanX"]]],[1,[7,"p","vfOriginY"],"+",[1,[1,[1,"ty","+",[5,"0.5"]],"/",[7,"p","res"]],"*",[7,"p","vfSpanY"]]]]]],[13,"v",[7,[6,"fieldSampleFastArg",["uv",[7,[7,"silhouetteSeedLayout","$"],"fieldTex"],[7,"p","vfOriginX"],[7,"p","vfOriginY"],[7,"p","vfSpanX"],[7,"p","vfSpanY"],[7,"p","vfActiveRes"],[7,"p","vfRBound"]]],"x"]],[10,[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"d.f32",[[4,"-",[5,"1"]]]],[1,"v","<",[5,"0"]]]]]]]},externals:{silhouetteSeedLayout:()=>Ii,"d.vec2f":()=>l,fieldSampleFastArg:()=>Vb,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})).$name("silhouetteInside"),KO=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ii.$.params,o=a(t),n=a(s),i=Ai(o,n),d=__tsover_sub(r.res,1),c=Ai(b(__tsover_sub(o,1),0),n),_=Ai(oe(__tsover_add(o,1),d),n),u=Ai(o,b(__tsover_sub(n,1),0)),m=Ai(o,oe(__tsover_add(n,1),d)),p=c!==i||_!==i||u!==i||m!==i,y=__tsover_add(r.vfOriginX,__tsover_mul(__tsover_div(__tsover_add(o,.5),r.res),r.vfSpanX)),h=__tsover_add(r.vfOriginY,__tsover_mul(__tsover_div(__tsover_add(n,.5),r.res),r.vfSpanY)),g=C(x(-1,-1,6e4,i),x(y,h,0,i),p);jr(Ii.$.out,Ge(t,s),g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"p",[7,[7,"silhouetteSeedLayout","$"],"params"]],[13,"fx",[6,"d.f32",["cx"]]],[13,"fy",[6,"d.f32",["cy"]]],[13,"s0",[6,"silhouetteInside",["fx","fy"]]],[13,"maxT",[1,[7,"p","res"],"-",[5,"1"]]],[13,"sL",[6,"silhouetteInside",[[6,"std.max",[[1,"fx","-",[5,"1"]],[5,"0"]]],"fy"]]],[13,"sR",[6,"silhouetteInside",[[6,"std.min",[[1,"fx","+",[5,"1"]],"maxT"]],"fy"]]],[13,"sD",[6,"silhouetteInside",["fx",[6,"std.max",[[1,"fy","-",[5,"1"]],[5,"0"]]]]]],[13,"sU",[6,"silhouetteInside",["fx",[6,"std.min",[[1,"fy","+",[5,"1"]],"maxT"]]]]],[13,"boundary",[3,[3,[3,[1,"sL","!==","s0"],"||",[1,"sR","!==","s0"]],"||",[1,"sD","!==","s0"]],"||",[1,"sU","!==","s0"]]],[13,"sx",[1,[7,"p","vfOriginX"],"+",[1,[1,[1,"fx","+",[5,"0.5"]],"/",[7,"p","res"]],"*",[7,"p","vfSpanX"]]]],[13,"sy",[1,[7,"p","vfOriginY"],"+",[1,[1,[1,"fy","+",[5,"0.5"]],"/",[7,"p","res"]],"*",[7,"p","vfSpanY"]]]],[13,"seed",[6,"std.select",[[6,"d.vec4f",[[4,"-",[5,"1"]],[4,"-",[5,"1"]],[5,"60000"],"s0"]],[6,"d.vec4f",["sx","sy",[5,"0"],"s0"]],"boundary"]]],[6,"std.textureStore",[[7,[7,"silhouetteSeedLayout","$"],"out"],[6,"d.vec2u",["cx","cy"]],"seed"]]]]},externals:{silhouetteSeedLayout:()=>Ii,"d.f32":()=>a,silhouetteInside:()=>Ai,"std.max":()=>b,"std.min":()=>oe,"std.select":()=>C,"d.vec4f":()=>x,"std.textureStore":()=>jr,"d.vec2u":()=>Ge}})&&e.f)({})).$name("silhouetteSeed"),ZO=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Kd.$.params,o=a(t),n=a(s),i=l(__tsover_add(r.vfOriginX,__tsover_mul(__tsover_div(__tsover_add(o,.5),r.res),r.vfSpanX)),__tsover_add(r.vfOriginY,__tsover_mul(__tsover_div(__tsover_add(n,.5),r.res),r.vfSpanY))),d=Be(Kd.$.src,Ge(t,s),0),c=x(d),_=__tsover_sub(r.res,1);for(let u=-1;u<=1;u++)for(let m=-1;m<=1;m++){let p=$(__tsover_add(o,__tsover_mul(a(m),r.step)),0,_),y=$(__tsover_add(n,__tsover_mul(a(u),r.step)),0,_),h=Be(Kd.$.src,Ge(R(p),R(y)),0);if(h.x>=0){let g=j(h.xy.sub(i));g=",[5,"0"]],[0,[[13,"dist",[6,"std.length",[[6,[7,[7,"n","xy"],"sub"],["here"]]]]],[11,[1,"dist","<",[7,"best","z"]],[0,[[2,"best","=",[6,"d.vec4f",[[7,"n","x"],[7,"n","y"],"dist",[7,"best","w"]]]]]]]]]]]]]]]],[6,"std.textureStore",[[7,[7,"silhouetteStepLayout","$"],"out"],[6,"d.vec2u",["cx","cy"]],[6,"d.vec4f",[[7,"best","x"],[7,"best","y"],[7,"best","z"],[7,"self","w"]]]]]]]},externals:{silhouetteStepLayout:()=>Kd,"d.f32":()=>a,"d.vec2f":()=>l,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"d.vec4f":()=>x,"std.clamp":()=>$,"d.u32":()=>R,"std.length":()=>j,"std.textureStore":()=>jr}})&&e.f)({})).$name("silhouetteStep");var eL=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({weight:a}),"AccumulateParams"),Zd=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({sample:{texture:ps(a)},prev:{texture:ps(a)},out:ai,params:{uniform:eL}}),"accumulateLayout"),QO=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ge(t,s),o=Be(Zd.$.sample,r,0),n=Be(Zd.$.prev,r,0),i=Zd.$.params.weight;jr(Zd.$.out,r,C(n.add(o.sub(n).mul(i)),o,i>=1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"at",[6,"d.vec2u",["cx","cy"]]],[13,"s",[6,"std.textureLoad",[[7,[7,"accumulateLayout","$"],"sample"],"at",[5,"0"]]]],[13,"prev",[6,"std.textureLoad",[[7,[7,"accumulateLayout","$"],"prev"],"at",[5,"0"]]]],[13,"w",[7,[7,[7,"accumulateLayout","$"],"params"],"weight"]],[6,"std.textureStore",[[7,[7,"accumulateLayout","$"],"out"],"at",[6,"std.select",[[6,[7,"prev","add"],[[6,[7,[6,[7,"s","sub"],["prev"]],"mul"],["w"]]]],"s",[1,"w",">=",[5,"1"]]]]]]]]},externals:{"d.vec2u":()=>Ge,"std.textureLoad":()=>Be,accumulateLayout:()=>Zd,"std.textureStore":()=>jr,"std.select":()=>C}})&&e.f)({})).$name("irradianceAccumulate"),tp=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({src:{texture:ps(a)},out:ai}),"copyLayout"),JO=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ge(t,s);jr(tp.$.out,r,Be(tp.$.src,r,0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"at",[6,"d.vec2u",["cx","cy"]]],[6,"std.textureStore",[[7,[7,"copyLayout","$"],"out"],"at",[6,"std.textureLoad",[[7,[7,"copyLayout","$"],"src"],"at",[5,"0"]]]]]]]},externals:{"d.vec2u":()=>Ge,"std.textureStore":()=>jr,copyLayout:()=>tp,"std.textureLoad":()=>Be}})&&e.f)({})).$name("irradianceCopy");var{createSdfDataTexture:eV,analyticSubPropValues:tV,parseShapeConfigValue:sV}=n1,{createVolumetricFieldComputeNode:rV}=yd;var oV=[[1/16,-3/16],[-1/16,3/16],[5/16,1/16],[-3/16,-5/16],[-5/16,5/16],[-7/16,-1/16],[3/16,7/16],[7/16,-7/16]];var tL=Le;function bd(e){let t=e.uvContext??e.ctx.uv,s=e.effectiveViewportSize??e.ctx.viewportSize;return{uv:t,viewport:s,aspect:ye(mr(s.member("x"),s.member("y")),"aspect")}}function s_(e,t="dir"){let s=N(e,tL);return ye(Jt(t_(s),Uo(s)),t)}var nV=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(t.x,__tsover_sub(__tsover_mul(s,2),t.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"lineY"}],body:[0,[[10,[6,"d.vec2f",[[7,"uv","x"],[1,[1,"lineY","*",[5,"2"]],"-",[7,"uv","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),aV=v.fn([x,x,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=b(__tsover_sub(r,o),0),c=b(n,.001),_=b(__tsover_mul(c,i),1e-4),u=__tsover_sub(c,_),m=__tsover_sub(1,re(u,c,d)),p=__tsover_mul(s.w,m),y=__tsover_sub(1,p);return X(t,x(s.xyz.mul(m).add(t.xyz.mul(y)),__tsover_add(p,__tsover_mul(t.w,y))),x(De(o,r)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"original"},{type:"i",name:"refl"},{type:"i",name:"uvY"},{type:"i",name:"lineY"},{type:"i",name:"distance"},{type:"i",name:"falloff"}],body:[0,[[13,"distBelow",[6,"std.max",[[1,"uvY","-","lineY"],[5,"0"]]]],[13,"distanceMax",[6,"std.max",["distance",[5,"0.001"]]]],[13,"fadeWidth",[6,"std.max",[[1,"distanceMax","*","falloff"],[5,"0.0001"]]]],[13,"fadeStart",[1,"distanceMax","-","fadeWidth"]],[13,"visibility",[1,[5,"1"],"-",[6,"std.smoothstep",["fadeStart","distanceMax","distBelow"]]]],[13,"effReflA",[1,[7,"refl","w"],"*","visibility"]],[13,"oneMinusReflA",[1,[5,"1"],"-","effReflA"]],[13,"belowRgb",[6,[7,[6,[7,[7,"refl","xyz"],"mul"],["visibility"]],"add"],[[6,[7,[7,"original","xyz"],"mul"],["oneMinusReflA"]]]]],[13,"belowA",[1,"effReflA","+",[1,[7,"original","w"],"*","oneMinusReflA"]]],[13,"belowLine",[6,"d.vec4f",["belowRgb","belowA"]]],[13,"isBelowLine",[6,"std.step",["lineY","uvY"]]],[10,[6,"std.mix",["original","belowLine",[6,"d.vec4f",["isBelowLine"]]]]]]]},externals:{"std.max":()=>b,"std.smoothstep":()=>re,"d.vec4f":()=>x,"std.step":()=>De,"std.mix":()=>X}})&&e.f)({}));var iV=v.fn([x,x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=r.w,n=$(s.xyz.mul(r.xyz).mul(o),f(0,0,0),f(1,1,1)),i=f(1,1,1),d=i.sub(i.sub(t.xyz).mul(i.sub(n))),c=__tsover_add(t.w,__tsover_mul(__tsover_mul(s.w,o),__tsover_sub(1,t.w)));return x(d.x,d.y,d.z,$(c,0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"glow"},{type:"i",name:"tintStrength"}],body:[0,[[13,"strength",[7,"tintStrength","w"]],[13,"bloomC",[6,"std.clamp",[[6,[7,[6,[7,[7,"glow","xyz"],"mul"],[[7,"tintStrength","xyz"]]],"mul"],["strength"]],[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]],[13,"one",[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]],[13,"screened",[6,[7,"one","sub"],[[6,[7,[6,[7,"one","sub"],[[7,"base","xyz"]]],"mul"],[[6,[7,"one","sub"],["bloomC"]]]]]]],[13,"a",[1,[7,"base","w"],"+",[1,[1,[7,"glow","w"],"*","strength"],"*",[1,[5,"1"],"-",[7,"base","w"]]]]],[10,[6,"d.vec4f",[[7,"screened","x"],[7,"screened","y"],[7,"screened","z"],[6,"std.clamp",["a",[5,"0"],[5,"1"]]]]]]]]},externals:{"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})).$name("tintedScreenGlow");var dV=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s,.006),n=__tsover_mul(__tsover_add(__tsover_mul(Y(__tsover_mul(r,1.7)),.5),__tsover_mul(Y(__tsover_add(__tsover_mul(r,.9),1.3)),.5)),o),i=__tsover_mul(__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(r,1.3),.7)),.5),__tsover_mul(Y(__tsover_mul(r,2.3)),.5)),o),d=__tsover_mul(__tsover_mul(Y(__tsover_mul(r,.6)),s),.004),c=H(d),_=Y(d),u=t.sub(l(.5,.5)),m=__tsover_sub(__tsover_mul(u.x,c),__tsover_mul(u.y,_)),p=__tsover_add(__tsover_mul(u.x,_),__tsover_mul(u.y,c));return l(__tsover_add(__tsover_add(m,.5),n),__tsover_add(__tsover_add(p,.5),i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"amount"},{type:"i",name:"t"}],body:[0,[[13,"amp",[1,"amount","*",[5,"0.006"]]],[13,"ox",[1,[1,[1,[6,"std.sin",[[1,"t","*",[5,"1.7"]]]],"*",[5,"0.5"]],"+",[1,[6,"std.sin",[[1,[1,"t","*",[5,"0.9"]],"+",[5,"1.3"]]]],"*",[5,"0.5"]]],"*","amp"]],[13,"oy",[1,[1,[1,[6,"std.sin",[[1,[1,"t","*",[5,"1.3"]],"+",[5,"0.7"]]]],"*",[5,"0.5"]],"+",[1,[6,"std.sin",[[1,"t","*",[5,"2.3"]]]],"*",[5,"0.5"]]],"*","amp"]],[13,"ang",[1,[1,[6,"std.sin",[[1,"t","*",[5,"0.6"]]]],"*","amount"],"*",[5,"0.004"]]],[13,"c",[6,"std.cos",["ang"]]],[13,"s",[6,"std.sin",["ang"]]],[13,"p",[6,[7,"uv","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"rx",[1,[1,[7,"p","x"],"*","c"],"-",[1,[7,"p","y"],"*","s"]]],[13,"ry",[1,[1,[7,"p","x"],"*","s"],"+",[1,[7,"p","y"],"*","c"]]],[10,[6,"d.vec2f",[[1,[1,"rx","+",[5,"0.5"]],"+","ox"],[1,[1,"ry","+",[5,"0.5"]],"+","oy"]]]]]]},externals:{"std.sin":()=>Y,"std.cos":()=>H,"d.vec2f":()=>l}})&&e.f)({})).$name("swayUV");var vc=ao,Nb=.35,cV=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_mul(.18,t),r=Ce(z(Y(__tsover_mul(s,vc))),10),o=Ce(z(Y(__tsover_mul(__tsover_sub(s,.15),vc))),10);return $(__tsover_add(r,__tsover_mul(.6,o)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"animTime"}],body:[0,[[13,"time",[1,[5,"0.18"],"*","animTime"]],[13,"first",[6,"std.pow",[[6,"std.abs",[[6,"std.sin",[[1,"time","*","TWO_PI"]]]]],[5,"10"]]]],[13,"second",[6,"std.pow",[[6,"std.abs",[[6,"std.sin",[[1,[1,"time","-",[5,"0.15"]],"*","TWO_PI"]]]]],[5,"10"]]]],[10,[6,"std.clamp",[[1,"first","+",[1,[5,"0.6"],"*","second"]],[5,"0"],[5,"1"]]]]]]},externals:{"std.pow":()=>Ce,"std.abs":()=>z,"std.sin":()=>Y,TWO_PI:()=>vc,"std.clamp":()=>$}})&&e.f)({})),_V=v.fn([a,l,l,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=__tsover_add(__tsover_mul(_,1.2),131),y=b(__tsover_mul(__tsover_mul(.5,n),Nb),.002),h=z(__tsover_add(__tsover_div(t,b(o,.001)),X(y,a(0),i))),g=X(y,__tsover_mul(3,y),i),w=__tsover_div(2,__tsover_mul(r.y,b(o,.001))),S=oe(X(g,__tsover_mul(g,-1),i),__tsover_add(g,w)),T=b(X(g,__tsover_mul(g,-1),i),__tsover_add(g,w)),A=__tsover_sub(1,re(S,T,h));A=Ce($(A,0,1),__tsover_add(1,i));let P=l(__tsover_sub(s.x,.5),__tsover_sub(s.y,.5)).mul(__tsover_add(.5,__tsover_mul(2.5,d))),U=__tsover_mul(.5,p),D=Br(l(__tsover_add(__tsover_mul(P.x,2.7),U),__tsover_add(__tsover_mul(P.y,2.7),U))),O=Br(l(__tsover_sub(__tsover_mul(P.x,3.4),U),__tsover_sub(__tsover_mul(P.y,3.4),U))),L=__tsover_sub($(__tsover_mul(3,D),0,1),O),G=$(__tsover_add(y,.2),.1,.4),W=Ce($(__tsover_sub(1,re(__tsover_mul(G,-1),__tsover_add(G,w),h)),0,1),2);L=__tsover_mul(L,W),L=__tsover_mul(__tsover_mul(__tsover_mul(30,L),L),__tsover_mul(__tsover_mul(.5,c),c)),L=__tsover_mul(L,X(a(1),m,u)),A=$(__tsover_add(A,$(L,0,1)),0,1);let K=__tsover_div(tt(__tsover_sub(s.y,.5),__tsover_sub(s.x,.5)),vc);return l(A,K)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fieldRaw"},{type:"i",name:"sdfUV"},{type:"i",name:"viewport"},{type:"i",name:"scale"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"smokeSize"},{type:"i",name:"smokeAmt"},{type:"i",name:"animTime"},{type:"i",name:"pulse"},{type:"i",name:"beat"}],body:[0,[[13,"t",[1,[1,"animTime","*",[5,"1.2"]],"+",[5,"131"]]],[13,"th",[6,"std.max",[[1,[1,[5,"0.5"],"*","thickness"],"*","BAND_THICKNESS_REF"],[5,"0.002"]]]],[13,"f",[1,[1,"fieldRaw","/",[6,"std.max",["scale",[5,"0.001"]]]],"+",[6,"std.mix",["th",[6,"d.f32",[[5,"0"]]],"softness"]]]],[13,"bd",[6,"std.abs",["f"]]],[13,"borderTh",[6,"std.mix",["th",[1,[5,"3"],"*","th"],"softness"]]],[13,"aa",[1,[5,"2"],"/",[1,[7,"viewport","y"],"*",[6,"std.max",["scale",[5,"0.001"]]]]]],[13,"e0",[6,"std.min",[[6,"std.mix",["borderTh",[1,"borderTh","*",[4,"-",[5,"1"]]],"softness"]],[1,"borderTh","+","aa"]]]],[13,"e1",[6,"std.max",[[6,"std.mix",["borderTh",[1,"borderTh","*",[4,"-",[5,"1"]]],"softness"]],[1,"borderTh","+","aa"]]]],[12,"border",[1,[5,"1"],"-",[6,"std.smoothstep",["e0","e1","bd"]]]],[2,"border","=",[6,"std.pow",[[6,"std.clamp",["border",[5,"0"],[5,"1"]]],[1,[5,"1"],"+","softness"]]]],[13,"suv",[6,[7,[6,"d.vec2f",[[1,[7,"sdfUV","x"],"-",[5,"0.5"]],[1,[7,"sdfUV","y"],"-",[5,"0.5"]]]],"mul"],[[1,[5,"0.5"],"+",[1,[5,"2.5"],"*","smokeSize"]]]]],[13,"drift",[1,[5,"0.5"],"*","t"]],[13,"n1",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,[7,"suv","x"],"*",[5,"2.7"]],"+","drift"],[1,[1,[7,"suv","y"],"*",[5,"2.7"]],"+","drift"]]]]]],[13,"n2",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,[7,"suv","x"],"*",[5,"3.4"]],"-","drift"],[1,[1,[7,"suv","y"],"*",[5,"3.4"]],"-","drift"]]]]]],[12,"smoke",[1,[6,"std.clamp",[[1,[5,"3"],"*","n1"],[5,"0"],[5,"1"]]],"-","n2"]],[13,"smokeTh",[6,"std.clamp",[[1,"th","+",[5,"0.2"]],[5,"0.1"],[5,"0.4"]]]],[13,"smokeBand",[6,"std.pow",[[6,"std.clamp",[[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"smokeTh","*",[4,"-",[5,"1"]]],[1,"smokeTh","+","aa"],"bd"]]],[5,"0"],[5,"1"]]],[5,"2"]]]],[2,"smoke","=",[1,"smoke","*","smokeBand"]],[2,"smoke","=",[1,[1,[1,[5,"30"],"*","smoke"],"*","smoke"],"*",[1,[1,[5,"0.5"],"*","smokeAmt"],"*","smokeAmt"]]],[2,"smoke","=",[1,"smoke","*",[6,"std.mix",[[6,"d.f32",[[5,"1"]]],"beat","pulse"]]]],[2,"border","=",[6,"std.clamp",[[1,"border","+",[6,"std.clamp",["smoke",[5,"0"],[5,"1"]]]],[5,"0"],[5,"1"]]]],[13,"angle01",[1,[6,"std.atan2",[[1,[7,"sdfUV","y"],"-",[5,"0.5"]],[1,[7,"sdfUV","x"],"-",[5,"0.5"]]]],"/","TWO_PI"]],[10,[6,"d.vec2f",["border","angle01"]]]]]},externals:{"std.max":()=>b,BAND_THICKNESS_REF:()=>Nb,"std.mix":()=>X,"d.f32":()=>a,"std.abs":()=>z,"std.min":()=>oe,"std.smoothstep":()=>re,"std.pow":()=>Ce,"std.clamp":()=>$,"d.vec2f":()=>l,"noise.value12":()=>Br,"std.atan2":()=>tt,TWO_PI:()=>vc}})&&e.f)({})),lV=v.fn([a,a,a,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=__tsover_add(__tsover_mul(r,1.2),131),y=__tsover_add(1,__tsover_mul(__tsover_add(1,__tsover_mul(4,_)),c)),h=a(0),g=a(0);for(let w=0;w<5;w++){let S=a(w),T=C(a(0),a(1),Sa,"std.select":()=>C,"noise.hash22":()=>er,"d.vec2f":()=>l,"std.abs":()=>z,"std.sin":()=>Y,"std.cos":()=>H,"std.floor":()=>q,"std.clamp":()=>$,"std.mix":()=>X,"std.fract":()=>ue,"std.smoothstep":()=>re}})&&e.f)({})),gl=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({rgb:f,w:a,ba:a,ac:f,aa:a}),"EdgeGlowAccum"),uV=v.fn([],gl)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(()=>{"use gpu";return gl({rgb:f(0,0,0),w:a(0),ba:a(0),ac:f(0,0,0),aa:a(0)})}),{v:2,name:void 0,ast:{params:[],body:[0,[[10,[6,"EdgeGlowAccum",[[104,{rgb:[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],w:[6,"d.f32",[[5,"0"]]],ba:[6,"d.f32",[[5,"0"]]],ac:[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],aa:[6,"d.f32",[[5,"0"]]]}]]]]]]},externals:{EdgeGlowAccum:()=>gl,"d.vec3f":()=>f,"d.f32":()=>a}})&&e.f)({}));var mV=v.fn([pt(x,8),a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t[Z(s)];return x(r.x,r.y,r.z,r.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colors"},{type:"i",name:"idx"}],body:[0,[[13,"c",[8,"colors",[6,"d.i32",["idx"]]]],[10,[6,"d.vec4f",[[7,"c","x"],[7,"c","y"],[7,"c","z"],[7,"c","w"]]]]]]},externals:{"d.i32":()=>Z,"d.vec4f":()=>x}})&&e.f)({})),pV=v.fn([gl,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(s,4),o=X(t.rgb.mul(t.ba),t.ac,f(r)),n=$(X(t.ba,t.aa,r),0,1);return x($(o.div(b(n,1e-4)),f(0),f(1)),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"st"},{type:"i",name:"bloom"}],body:[0,[[13,"k",[1,"bloom","*",[5,"4"]]],[13,"blendPremult",[6,[7,[7,"st","rgb"],"mul"],[[7,"st","ba"]]]],[13,"accumC",[6,"std.mix",["blendPremult",[7,"st","ac"],[6,"d.vec3f",["k"]]]]],[13,"accumA",[6,"std.clamp",[[6,"std.mix",[[7,"st","ba"],[7,"st","aa"],"k"]],[5,"0"],[5,"1"]]]],[13,"straight",[6,"std.clamp",[[6,[7,"accumC","div"],[[6,"std.max",["accumA",[5,"0.0001"]]]]],[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]],[10,[6,"d.vec4f",["straight","accumA"]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f,"std.clamp":()=>$,"std.max":()=>b,"d.vec4f":()=>x}})&&e.f)({}));var sp=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({crackIntensity:a,edgeNormal:l,displacedUV:l,disp:l}),"CrackGeom"),fV=v.fn([l,a,a,a,a,a,a,a],sp)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=l(s,r),u=l(o,n),m=l(i,d),p=t.sub(_),y=j(p),h=j(t.sub(u)),g=j(m),w=__tsover_sub(h,y),S=__tsover_mul(c,.005),T=__tsover_sub(1,re(0,S,w)),A=re(0,.01,g),P=__tsover_mul(T,A),U=p.div(b(y,1e-5));return sp({crackIntensity:P,edgeNormal:l(__tsover_mul(U.y,-1),U.x),displacedUV:t.sub(m),disp:m})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"nPosX"},{type:"i",name:"nPosY"},{type:"i",name:"sPosX"},{type:"i",name:"sPosY"},{type:"i",name:"dispX"},{type:"i",name:"dispY"},{type:"i",name:"crackWidth"}],body:[0,[[13,"nearestPos",[6,"d.vec2f",["nPosX","nPosY"]]],[13,"secondPos",[6,"d.vec2f",["sPosX","sPosY"]]],[13,"disp",[6,"d.vec2f",["dispX","dispY"]]],[13,"fromNearest",[6,[7,"uv","sub"],["nearestPos"]]],[13,"minDist1",[6,"std.length",["fromNearest"]]],[13,"minDist2",[6,"std.length",[[6,[7,"uv","sub"],["secondPos"]]]]],[13,"displacementMag",[6,"std.length",["disp"]]],[13,"edgeDiff",[1,"minDist2","-","minDist1"]],[13,"crackThreshold",[1,"crackWidth","*",[5,"0.005"]]],[13,"baseCrackIntensity",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"crackThreshold","edgeDiff"]]]],[13,"displacementFactor",[6,"std.smoothstep",[[5,"0"],[5,"0.01"],"displacementMag"]]],[13,"crackIntensity",[1,"baseCrackIntensity","*","displacementFactor"]],[13,"toNearest",[6,[7,"fromNearest","div"],[[6,"std.max",["minDist1",[5,"0.00001"]]]]]],[13,"edgeNormal",[6,"d.vec2f",[[1,[7,"toNearest","y"],"*",[4,"-",[5,"1"]]],[7,"toNearest","x"]]]],[13,"displacedUV",[6,[7,"uv","sub"],["disp"]]],[10,[6,"CrackGeom",[[104,{crackIntensity:"crackIntensity",edgeNormal:"edgeNormal",displacedUV:"displacedUV",disp:"disp"}]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.smoothstep":()=>re,"std.max":()=>b,CrackGeom:()=>sp}})&&e.f)({})),vV=v.fn([l,l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=s.mul(__tsover_mul(o,.01)),c=__tsover_mul(n,.005),_=s.mul(__tsover_mul(i,c)),u=d.add(_);return t.add(u.mul(r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"displacedUV"},{type:"i",name:"edgeNormal"},{type:"i",name:"crackIntensity"},{type:"i",name:"refractionStrength"},{type:"i",name:"chromaticSplit"},{type:"i",name:"channel"}],body:[0,[[13,"refractionOffset",[6,[7,"edgeNormal","mul"],[[1,"refractionStrength","*",[5,"0.01"]]]]],[13,"chromaticOffset",[1,"chromaticSplit","*",[5,"0.005"]]],[13,"chromaShift",[6,[7,"edgeNormal","mul"],[[1,"channel","*","chromaticOffset"]]]],[13,"offset",[6,[7,"refractionOffset","add"],["chromaShift"]]],[10,[6,[7,"displacedUV","add"],[[6,[7,"offset","mul"],["crackIntensity"]]]]]]]},externals:{}})&&e.f)({})),qb=.3/Math.hypot(.3,.6),Xb=.6/Math.hypot(.3,.6),yV=v.fn([x,x,x,x,a,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=f(s.x,r.y,o.z),_=t.xyz.mul(__tsover_sub(1,n)).add(c.mul(n)),u=j(i),m=__tsover_div(i.x,__tsover_add(u,.001)),p=__tsover_div(i.y,__tsover_add(u,.001)),y=__tsover_add(__tsover_mul(m,qb),__tsover_mul(p,Xb)),h=__tsover_add(1,__tsover_mul(y,d)),g=re(0,.02,u),w=__tsover_add(1,__tsover_mul(__tsover_sub(h,1),g));return x(_.mul(w),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"normalColor"},{type:"i",name:"rFinal"},{type:"i",name:"gFinal"},{type:"i",name:"bFinal"},{type:"i",name:"crackIntensity"},{type:"i",name:"disp"},{type:"i",name:"shardLighting"}],body:[0,[[13,"refractedRGB",[6,"d.vec3f",[[7,"rFinal","x"],[7,"gFinal","y"],[7,"bFinal","z"]]]],[13,"shadedRGB",[6,[7,[6,[7,[7,"normalColor","xyz"],"mul"],[[1,[5,"1"],"-","crackIntensity"]]],"add"],[[6,[7,"refractedRGB","mul"],["crackIntensity"]]]]],[13,"displacementLength",[6,"std.length",["disp"]]],[13,"tiltX",[1,[7,"disp","x"],"/",[1,"displacementLength","+",[5,"0.001"]]]],[13,"tiltY",[1,[7,"disp","y"],"/",[1,"displacementLength","+",[5,"0.001"]]]],[13,"normalDot",[1,[1,"tiltX","*","SHARD_LIGHT_DIR_X"],"+",[1,"tiltY","*","SHARD_LIGHT_DIR_Y"]]],[13,"lightingFactor",[1,[5,"1"],"+",[1,"normalDot","*","shardLighting"]]],[13,"lightingIntensity",[6,"std.smoothstep",[[5,"0"],[5,"0.02"],"displacementLength"]]],[13,"finalLighting",[1,[5,"1"],"+",[1,[1,"lightingFactor","-",[5,"1"]],"*","lightingIntensity"]]],[13,"finalRGB",[6,[7,"shadedRGB","mul"],["finalLighting"]]],[10,[6,"d.vec4f",["finalRGB",[7,"normalColor","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.length":()=>j,SHARD_LIGHT_DIR_X:()=>qb,SHARD_LIGHT_DIR_Y:()=>Xb,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({}));var{formatFloat:hV}=Wz;var xV=v.fn([l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=zx(s),d=l(__tsover_div(H(i),o),Y(i)),c=__tsover_mul(r,.1),_=d.mul(c);return t.add(_.mul(n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"angle"},{type:"i",name:"strength"},{type:"i",name:"aspect"},{type:"i",name:"channelOffset"}],body:[0,[[13,"angleRad",[6,"std.radians",["angle"]]],[13,"direction",[6,"d.vec2f",[[1,[6,"std.cos",["angleRad"]],"/","aspect"],[6,"std.sin",["angleRad"]]]]],[13,"scaledStrength",[1,"strength","*",[5,"0.1"]]],[13,"offsetBase",[6,[7,"direction","mul"],["scaledStrength"]]],[10,[6,[7,"uv","add"],[[6,[7,"offsetBase","mul"],["channelOffset"]]]]]]]},externals:{"std.radians":()=>zx,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({}));var Zw="rgba16float",Qw=16384;var gV=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({buffer:{storage:pt(x,Qw),access:"mutable"},params:{uniform:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cursorX:a,cursorY:a,mouseVelX:a,mouseVelY:a,dt:a,decay:a,intensity:a,radius:a,aspect:a}),"uniform")}}),"splatUpdateLayout"),bV=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({buffer:{storage:pt(x,Qw),access:"readonly"},dispTex:{storageTexture:Mo(Zw,"write-only")}}),"splatOutputLayout");var An=64,Rf=An*An,rp=An-1,xo=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({readBuf:{storage:pt(x,Rf),access:"readonly"},writeBuf:{storage:pt(x,Rf),access:"mutable"},params:{uniform:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cursorX:a,cursorY:a,dirX:a,dirY:a,clampedSpeed:a,dt:a,subDt:a,stiffness:a,dampFactor:a,radius:a,aspect:a}),"uniform")}}),"latticeLayout"),op=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({srcBuf:{storage:pt(x,Rf),access:"readonly"},dispTex:{storageTexture:Mo(Zw,"write-only")}}),"latticeOutputLayout"),wV=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";if(t>R(0)&&tR(0)&&s.01){let W=__tsover_div(__tsover_add(a(t),.5),a(An)),K=__tsover_div(__tsover_add(a(s),.5),a(An)),Q=C(__tsover_sub(W,r.cursorX),__tsover_mul(__tsover_sub(W,r.cursorX),r.aspect),r.aspect>=1),te=C(__tsover_div(__tsover_sub(K,r.cursorY),r.aspect),__tsover_sub(K,r.cursorY),r.aspect>=1),ee=__tsover_add(__tsover_mul(Q,Q),__tsover_mul(te,te)),he=__tsover_mul(r.radius,3);if(ee<__tsover_mul(he,he)){let Ee=ct(__tsover_mul(__tsover_div(ee,__tsover_mul(r.radius,r.radius)),-1)),Te=__tsover_mul(__tsover_mul(__tsover_mul(Ee,r.clampedSpeed),r.dt),2);D=__tsover_add(D,__tsover_mul(r.dirX,Te)),O=__tsover_add(O,__tsover_mul(r.dirY,Te))}}let L=$(__tsover_add(d,__tsover_mul(D,r.subDt)),-.5,.5),G=$(__tsover_add(c,__tsover_mul(O,r.subDt)),-.5,.5);xo.$.writeBuf[n]=x(L,G,D,O)}}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[11,[3,[3,[3,[1,"cx",">",[6,"d.u32",[[5,"0"]]]],"&&",[1,"cx","<",[6,"d.u32",["LATTICE_MAX"]]]],"&&",[1,"cy",">",[6,"d.u32",[[5,"0"]]]]],"&&",[1,"cy","<",[6,"d.u32",["LATTICE_MAX"]]]],[0,[[13,"p",[7,[7,"latticeLayout","$"],"params"]],[13,"gs",[6,"d.u32",["LATTICE_GRID"]]],[13,"idx",[1,[1,"cy","*","gs"],"+","cx"]],[13,"current",[8,[7,[7,"latticeLayout","$"],"readBuf"],"idx"]],[13,"dispX",[7,"current","x"]],[13,"dispY",[7,"current","y"]],[13,"velX",[7,"current","z"]],[13,"velY",[7,"current","w"]],[13,"nL",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,"idx","-",[6,"d.u32",[[5,"1"]]]]]],[13,"nR",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,"idx","+",[6,"d.u32",[[5,"1"]]]]]],[13,"nU",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,"idx","-","gs"]]],[13,"nD",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,"idx","+","gs"]]],[13,"nUL",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,[1,"idx","-","gs"],"-",[6,"d.u32",[[5,"1"]]]]]],[13,"nUR",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,[1,"idx","-","gs"],"+",[6,"d.u32",[[5,"1"]]]]]],[13,"nDL",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,[1,"idx","+","gs"],"-",[6,"d.u32",[[5,"1"]]]]]],[13,"nDR",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,[1,"idx","+","gs"],"+",[6,"d.u32",[[5,"1"]]]]]],[12,"fx",[1,[7,"p","stiffness"],"*",[1,[1,[1,[1,[7,"nL","x"],"-","dispX"],"+",[1,[7,"nR","x"],"-","dispX"]],"+",[1,[7,"nU","x"],"-","dispX"]],"+",[1,[7,"nD","x"],"-","dispX"]]]],[12,"fy",[1,[7,"p","stiffness"],"*",[1,[1,[1,[1,[7,"nL","y"],"-","dispY"],"+",[1,[7,"nR","y"],"-","dispY"]],"+",[1,[7,"nU","y"],"-","dispY"]],"+",[1,[7,"nD","y"],"-","dispY"]]]],[13,"shearK",[1,[7,"p","stiffness"],"*",[5,"0.35"]]],[2,"fx","=",[1,"fx","+",[1,"shearK","*",[1,[1,[1,[1,[7,"nUL","x"],"-","dispX"],"+",[1,[7,"nUR","x"],"-","dispX"]],"+",[1,[7,"nDL","x"],"-","dispX"]],"+",[1,[7,"nDR","x"],"-","dispX"]]]]],[2,"fy","=",[1,"fy","+",[1,"shearK","*",[1,[1,[1,[1,[7,"nUL","y"],"-","dispY"],"+",[1,[7,"nUR","y"],"-","dispY"]],"+",[1,[7,"nDL","y"],"-","dispY"]],"+",[1,[7,"nDR","y"],"-","dispY"]]]]],[2,"fx","=",[1,"fx","-",[1,[1,[7,"p","stiffness"],"*",[5,"0.1"]],"*","dispX"]]],[2,"fy","=",[1,"fy","-",[1,[1,[7,"p","stiffness"],"*",[5,"0.1"]],"*","dispY"]]],[12,"newVelX",[1,[1,"velX","*",[7,"p","dampFactor"]],"+",[1,"fx","*",[7,"p","subDt"]]]],[12,"newVelY",[1,[1,"velY","*",[7,"p","dampFactor"]],"+",[1,"fy","*",[7,"p","subDt"]]]],[11,[1,[7,"p","clampedSpeed"],">",[5,"0.01"]],[0,[[13,"cellX",[1,[1,[6,"d.f32",["cx"]],"+",[5,"0.5"]],"/",[6,"d.f32",["LATTICE_GRID"]]]],[13,"cellY",[1,[1,[6,"d.f32",["cy"]],"+",[5,"0.5"]],"/",[6,"d.f32",["LATTICE_GRID"]]]],[13,"ddx",[6,"std.select",[[1,"cellX","-",[7,"p","cursorX"]],[1,[1,"cellX","-",[7,"p","cursorX"]],"*",[7,"p","aspect"]],[1,[7,"p","aspect"],">=",[5,"1"]]]]],[13,"ddy",[6,"std.select",[[1,[1,"cellY","-",[7,"p","cursorY"]],"/",[7,"p","aspect"]],[1,"cellY","-",[7,"p","cursorY"]],[1,[7,"p","aspect"],">=",[5,"1"]]]]],[13,"distSq",[1,[1,"ddx","*","ddx"],"+",[1,"ddy","*","ddy"]]],[13,"influenceRadius",[1,[7,"p","radius"],"*",[5,"3"]]],[11,[1,"distSq","<",[1,"influenceRadius","*","influenceRadius"]],[0,[[13,"influence",[6,"std.exp",[[1,[1,"distSq","/",[1,[7,"p","radius"],"*",[7,"p","radius"]]],"*",[4,"-",[5,"1"]]]]]],[13,"forceMag",[1,[1,[1,"influence","*",[7,"p","clampedSpeed"]],"*",[7,"p","dt"]],"*",[5,"2"]]],[2,"newVelX","=",[1,"newVelX","+",[1,[7,"p","dirX"],"*","forceMag"]]],[2,"newVelY","=",[1,"newVelY","+",[1,[7,"p","dirY"],"*","forceMag"]]]]]]]]],[13,"newDispX",[6,"std.clamp",[[1,"dispX","+",[1,"newVelX","*",[7,"p","subDt"]]],[4,"-",[5,"0.5"]],[5,"0.5"]]]],[13,"newDispY",[6,"std.clamp",[[1,"dispY","+",[1,"newVelY","*",[7,"p","subDt"]]],[4,"-",[5,"0.5"]],[5,"0.5"]]]],[2,[8,[7,[7,"latticeLayout","$"],"writeBuf"],"idx"],"=",[6,"d.vec4f",["newDispX","newDispY","newVelX","newVelY"]]]]]]]]},externals:{"d.u32":()=>R,LATTICE_MAX:()=>rp,latticeLayout:()=>xo,LATTICE_GRID:()=>An,"d.f32":()=>a,"std.select":()=>C,"std.exp":()=>ct,"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})).$name("springLatticeStep"),TV=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_add(__tsover_mul(s,R(An)),t),o=op.$.srcBuf[r];jr(op.$.dispTex,Ge(t,s),x(o.x,o.y,0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"idx",[1,[1,"cy","*",[6,"d.u32",["LATTICE_GRID"]]],"+","cx"]],[13,"cell",[8,[7,[7,"latticeOutputLayout","$"],"srcBuf"],"idx"]],[6,"std.textureStore",[[7,[7,"latticeOutputLayout","$"],"dispTex"],[6,"d.vec2u",["cx","cy"]],[6,"d.vec4f",[[7,"cell","x"],[7,"cell","y"],[5,"0"],[5,"1"]]]]]]]},externals:{"d.u32":()=>R,LATTICE_GRID:()=>An,latticeOutputLayout:()=>op,"std.textureStore":()=>jr,"d.vec2u":()=>Ge,"d.vec4f":()=>x}})&&e.f)({})).$name("springLatticeOutput");var Hb=Le,SV=v.fn([l,a,l,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(t.x,s),t.y),c=l(__tsover_mul(r.x,s),__tsover_sub(1,r.y)),_=__tsover_sub(d.x,c.x),u=__tsover_sub(d.y,c.y),m=__tsover_mul(o,Hb),p=H(m),y=Y(m),h=__tsover_add(__tsover_mul(_,p),__tsover_mul(u,y)),g=__tsover_sub(__tsover_mul(u,p),__tsover_mul(_,y)),w=__tsover_add(__tsover_div(h,__tsover_mul(n,2)),.5),S=__tsover_add(__tsover_div(g,__tsover_mul(i,2)),.5);return f(w,S,__tsover_mul(__tsover_mul(__tsover_mul(De(0,w),De(w,1)),De(0,S)),De(S,1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"},{type:"i",name:"rotationDeg"},{type:"i",name:"halfW"},{type:"i",name:"halfH"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dx",[1,[7,"aspectUV","x"],"-",[7,"centerPos","x"]]],[13,"dy",[1,[7,"aspectUV","y"],"-",[7,"centerPos","y"]]],[13,"rotRad",[1,"rotationDeg","*","OBF_DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rdx",[1,[1,"dx","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dx","*","sinR"]]],[13,"localU",[1,[1,"rdx","/",[1,"halfW","*",[5,"2"]]],"+",[5,"0.5"]]],[13,"localV",[1,[1,"rdy","/",[1,"halfH","*",[5,"2"]]],"+",[5,"0.5"]]],[13,"insideMask",[1,[1,[1,[6,"std.step",[[5,"0"],"localU"]],"*",[6,"std.step",["localU",[5,"1"]]]],"*",[6,"std.step",[[5,"0"],"localV"]]],"*",[6,"std.step",["localV",[5,"1"]]]]],[10,[6,"d.vec3f",["localU","localV","insideMask"]]]]]},externals:{"d.vec2f":()=>l,OBF_DEG_TO_RAD:()=>Hb,"std.cos":()=>H,"std.sin":()=>Y,"std.step":()=>De,"d.vec3f":()=>f}})&&e.f)({})),yc=it,jb=Le,AV=v.fn([l,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(s,jb),c=H(d),_=Y(d),u=__tsover_add(__tsover_mul(t.x,__tsover_mul(_,-1)),__tsover_mul(t.y,c)),m=H(__tsover_add(__tsover_mul(__tsover_mul(u,r),yc),o)),p=X(-1.15,1.15,$(n,0,1));return re(__tsover_sub(p,i),__tsover_add(p,i),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"angleDeg"},{type:"i",name:"frequency"},{type:"i",name:"reliefPhase"},{type:"i",name:"level"},{type:"i",name:"aa"}],body:[0,[[13,"angleRad",[1,"angleDeg","*","HP_DEG_TO_RAD"]],[13,"c",[6,"std.cos",["angleRad"]]],[13,"s",[6,"std.sin",["angleRad"]]],[13,"w",[1,[1,[7,"p","x"],"*",[1,"s","*",[4,"-",[5,"1"]]]],"+",[1,[7,"p","y"],"*","c"]]],[13,"phase",[1,[1,[1,"w","*","frequency"],"*","HP_TAU"],"+","reliefPhase"]],[13,"v",[6,"std.cos",["phase"]]],[13,"thr",[6,"std.mix",[[4,"-",[5,"1.15"]],[5,"1.15"],[6,"std.clamp",["level",[5,"0"],[5,"1"]]]]]],[10,[6,"std.smoothstep",[[1,"thr","-","aa"],[1,"thr","+","aa"],"v"]]]]]},externals:{HP_DEG_TO_RAD:()=>jb,"std.cos":()=>H,"std.sin":()=>Y,HP_TAU:()=>yc,"std.mix":()=>X,"std.clamp":()=>$,"std.smoothstep":()=>re}})&&e.f)({})),MV=v.fn([l,l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=t.sub(s),c=j(d),_=tt(d.y,d.x),u=H(__tsover_add(__tsover_mul(__tsover_sub(__tsover_mul(c,r),__tsover_mul(_,__tsover_div(1,yc))),yc),o)),m=X(-1.15,1.15,$(n,0,1));return re(__tsover_sub(m,i),__tsover_add(m,i),u)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"c"},{type:"i",name:"frequency"},{type:"i",name:"reliefPhase"},{type:"i",name:"level"},{type:"i",name:"aa"}],body:[0,[[13,"dv",[6,[7,"p","sub"],["c"]]],[13,"r",[6,"std.length",["dv"]]],[13,"theta",[6,"std.atan2",[[7,"dv","y"],[7,"dv","x"]]]],[13,"phase",[1,[1,[1,[1,"r","*","frequency"],"-",[1,"theta","*",[1,[5,"1"],"/","HP_TAU"]]],"*","HP_TAU"],"+","reliefPhase"]],[13,"v",[6,"std.cos",["phase"]]],[13,"thr",[6,"std.mix",[[4,"-",[5,"1.15"]],[5,"1.15"],[6,"std.clamp",["level",[5,"0"],[5,"1"]]]]]],[10,[6,"std.smoothstep",[[1,"thr","-","aa"],[1,"thr","+","aa"],"v"]]]]]},externals:{"std.length":()=>j,"std.atan2":()=>tt,HP_TAU:()=>yc,"std.cos":()=>H,"std.mix":()=>X,"std.clamp":()=>$,"std.smoothstep":()=>re}})&&e.f)({}));var PV=ut({pos:l,dir:l,spd:a}).$name("AgentPose");var EV=ut({rhat:l,strength:a,phi:a}).$name("AgentFieldSample");var kV=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return C(C(__tsover_mul(Gs(__tsover_add(__tsover_mul(t,2.3987),.517)),3.141592653589793),a(0),s>.5),a(1.5707963267948966),s>1.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fi"},{type:"i",name:"restMode"}],body:[0,[[13,"randAng",[1,[6,"noise.hash11",[[1,[1,"fi","*",[5,"2.3987"]],"+",[5,"0.517"]]]],"*",[5,"3.141592653589793"]]],[13,"a",[6,"std.select",["randAng",[6,"d.f32",[[5,"0"]]],[1,"restMode",">",[5,"0.5"]]]]],[10,[6,"std.select",["a",[6,"d.f32",[[5,"1.5707963267948966"]]],[1,"restMode",">",[5,"1.5"]]]]]]]},externals:{"noise.hash11":()=>Gs,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})).$name("agentRestAngle");var $V=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return se(t,f(.299,.587,.114))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),UV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(1,se(t,f(.299,.587,.114)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),CV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t.x}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[7,"rgb","x"]]]]},externals:{}})&&e.f)({})),RV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t.y}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[7,"rgb","y"]]]]},externals:{}})&&e.f)({})),zV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t.z}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[7,"rgb","z"]]]]},externals:{}})&&e.f)({})),GV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(b(t.x,t.y),t.z),o=oe(oe(t.x,t.y),t.z);return __tsover_sub(r,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[13,"mx",[6,"std.max",[[6,"std.max",[[7,"rgb","x"],[7,"rgb","y"]]],[7,"rgb","z"]]]],[13,"mn",[6,"std.min",[[6,"std.min",[[7,"rgb","x"],[7,"rgb","y"]]],[7,"rgb","z"]]]],[10,[1,"mx","-","mn"]]]]},externals:{"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),YV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return s}),{v:2,name:void 0,ast:{params:[{type:"i",name:"_rgb"},{type:"i",name:"a"}],body:[0,[[10,"a"]]]},externals:{}})&&e.f)({}));var LV=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(t,0),o=b(s,0);return __tsover_add(oe(b(t,s),0),be(__tsover_add(__tsover_mul(r,r),__tsover_mul(o,o))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"d2"},{type:"i",name:"wz"}],body:[0,[[13,"ox",[6,"std.max",["d2",[5,"0"]]]],[13,"oz",[6,"std.max",["wz",[5,"0"]]]],[10,[1,[6,"std.min",[[6,"std.max",["d2","wz"]],[5,"0"]]],"+",[6,"std.sqrt",[[1,[1,"ox","*","ox"],"+",[1,"oz","*","oz"]]]]]]]]},externals:{"std.max":()=>b,"std.min":()=>oe,"std.sqrt":()=>be}})&&e.f)({})).$name("shapeFieldExtrudeZ");var sL=4*Math.PI,wd=[{scale:2,offsets:[[5.2,1.3],[1.7,9.2]],reach:.25},{scale:1.5,offsets:[[8.3,2.8],[3.1,7.4]],reach:.2}],r_=$o({name:"FlowingGradient",role:"generator",boundingBoxDeclaration:{aspectRatio:null,supportsResizeFit:!0},category:"Textures",description:"Liquid silk gradient with organic flowing color bands",acceptsUVContext:!0,animatedTime:{speed:"speed"},extraFields:{convA:{schema:f,initial:[0,0,0]},convB:{schema:f,initial:[0,0,0]},convC:{schema:f,initial:[0,0,0]},convD:{schema:f,initial:[0,0,0]}},props:{colorA:{default:"#0a0015",transform:ts,description:"Deep background color",ui:{type:"color",label:"Color A",group:"Colors"}},colorB:{default:"#6b17e6",transform:ts,description:"Primary accent color",ui:{type:"color",label:"Color B",group:"Colors"}},colorC:{default:"#ff4d6a",transform:ts,description:"Secondary accent color",ui:{type:"color",label:"Color C",group:"Colors"}},colorD:{default:"#ff6b35",transform:ts,description:"Tertiary accent color",ui:{type:"color",label:"Color D",group:"Colors"}},colorSpace:{default:"oklch",transform:ir,compileTime:!0,description:"Color space for color interpolation",ui:{type:"select",options:Ho,label:"Color Space",group:"Colors"}},speed:{default:1,description:"Animation speed",ui:{type:"range",min:0,max:10,step:.1,label:"Speed",group:"Effect"}},distortion:{default:.5,description:"Organic distortion intensity",ui:{type:["range","map"],min:0,max:2,step:.1,label:"Distortion",group:"Effect"}},seed:{default:0,description:"Random seed for variation",ui:{type:["range","map"],min:0,max:100,step:1,label:"Seed",group:"Effect"}}},paint:e=>{let{uv:t,viewport:s}=bd(e),r=ye(mr(s.member("x"),xa(s.member("y"),1e-6)),"aspect"),o=ye(N(uo(e),.075),"flowTime"),n=ye(N(Dt(zt("seed"),e),.17),"flowSeed"),i=ye(Dt(zt("distortion"),e),"flowStrength"),d=ye(fs(t,.5),"flowCentred"),c=ye(N(N(Sn(tr($e(N(d.member("x"),.8),N(o,.4)),fs(N(d.member("y"),.8),N(o,.25)),n)),sL),i),"flowAngle"),_=ye(p1(Jt(d.member("x"),mr(d.member("y"),r)),t_(c),Uo(c)),"flowSpun"),u=ye(Jt(_.member("x"),N(_.member("y"),r)),"flowRot"),m=N(o,2),p=ye($e(u.member("x"),N(mr(Uo($e(N(u.member("y"),5),m)),50),i)),"flowShearX"),y=ye(Ty({at:Jt(p,$e(u.member("y"),N(mr(Uo($e(N(p,7.5),m)),25),i))),scale:wd[0].scale,z:$e(N(o,.5),n),offsets:wd[0].offsets,reach:wd[0].reach,strength:i}),"flowWarp1"),h=ye($e(N(o,.3),n),"flowTz"),g=ye(Ty({at:y.member("xy"),scale:wd[1].scale,z:h,offsets:wd[1].offsets,reach:wd[1].reach,strength:i}),"flowWarp2"),w=Sn(tr(N(g.member("x"),1.8),N(g.member("y"),1.8),h)),S=ye(nd($e(N(y.member("z"),.5),.5),1.5),"flowHardness"),T=ye(Co(.5,.008,S),"flowEdge"),A=ye(Ss(N(T,-1),T,w),"flowT1"),P=ye(Ss(N(T,-1),T,y.member("w")),"flowT2"),U=ye(kw({a:zt("colorA"),b:zt("colorB"),c:zt("colorC"),d:zt("colorD"),space:zt("colorSpace")})(A,P,e),"flowBase"),D=G=>fs(1,m1(fs(N(G,2),1))),O=N(xa(D(A),D(P)),S),L=N($e(N($e(N(g.member("z"),.5),.5),.12),.94),$e(1,N(O,.35)));return ni(gr(N(U.member("rgb"),L),ln(0),ln(1)),U.member("a"))}});var o_=$o({name:"Godrays",role:"generator",boundingBoxDeclaration:{aspectRatio:null,supportsResizeFit:!0},category:"Textures",description:"Volumetric light rays emanating from a point",acceptsUVContext:!0,animatedTime:{speed:"speed"},props:{center:{default:{x:0,y:0},transform:ho,description:"The center point of the god rays",ui:{type:"position",label:"Center",group:"Position"}},density:{default:.3,description:"Frequency of ray sectors",ui:{type:["range","map"],min:0,max:1,step:.1,label:"Density",group:"Effect"}},intensity:{default:.8,description:"Ray visibility within sectors",ui:{type:["range","map"],min:0,max:1,step:.1,label:"Intensity",group:"Effect"}},spotty:{default:1,description:"Density of spots on rays (higher = more spots)",ui:{type:["range","map"],min:0,max:1,step:.1,label:"Spotty",group:"Effect"}},speed:{default:.5,description:"Animation speed of the rays",ui:{type:"range",min:0,max:2,step:.1,label:"Speed",group:"Animation"}},rayColor:{default:"#4283fb",transform:ts,description:"Color of the light rays",ui:{type:"color",label:"Ray Color",group:"Colors"}},backgroundColor:{default:"transparent",transform:ts,description:"Background color",ui:{type:"color",label:"Background Color",group:"Colors"}}},paint:Rw({color:zt("rayColor"),background:zt("backgroundColor"),coverage:Uw($w(zt("center")),Cw({density:zt("density"),intensity:zt("intensity"),spotty:zt("spotty")}))})});var{isMobileGpuViewport:rL}=yd,oL=JSON.stringify({type:"sphere3D",radius:.35});function Jw(e,t,s,r,o,n,i){let d=ye(fs(N(e,s),N(t,r)),"ex"),c=ye($e(N(e,r),N(t,s)),"ey"),_=ye(Jt(d,c),"p"),u=ye(Ss(-.7,.85,c),"sky"),m=N(N(u,u),.4),p=ye(N(o,1.05),"r0"),y=Ss(p,N(p,.2),gd(fs(_,Jt($e(0,n),.55))));m=$e(m,N(N(y,1.75),i));let h=ye(N(o,1.25),"r1"),g=Ss(h,N(h,.2),gd(fs(_,Jt($e(-.45,n),-.4))));m=$e(m,N(N(g,1.15),i));let w=ye(N(o,1.15),"r2"),S=Ss(w,N(w,.2),gd(fs(_,Jt($e(.55,n),.1))));return $e(m,N(N(S,1.1),i))}var n_=$o({name:"LiquidMetal",role:"shapeEffect",species:"custom",boundingBoxDeclaration:i1,category:"Shape Effects",description:"Flowing liquid chrome \u2014 a molten reflective surface that wraps the shape, sweeping a procedural studio reflection across animated folds with crisp speculars and prismatic edges",animatedTime:{speed:"speed"},...h1({pattern:"raw",surface:(e,t)=>{let{uniforms:s}=t,r=uo(t),o=rL(),n=x1(e,t,{scale:s.scale}),{sdf:i,pxH:d}=n,c=g1(e,n,{bevelWidth:s.bevelWidth,bevelShape:s.bevelShape}),_=zw(e,n),u=ye(N(s.ripple,2.6),"freq"),m=ye(N(r,.12),"flowT"),p=ye(Jt(N(_.member("x"),u),N(_.member("y"),u)),"q"),y=N(s.warp,.9),h=ye(Dw($e(p,N(Fw(N(p,.6),m),y)),.62),"hg"),g=ye(N(s.turbulence,.5),"relief"),w=Lw(c,N(N(h.member("x"),g),-1),N(N(h.member("y"),g),-1)),S=ye(f1(b1(t,n),w),"R"),T=ye(s.environment,"envStr"),A=ye(gr(s.sharpness,0,1),"sharp"),P=ye(Co(.5,.18,A),"keyRad"),U=ye(N(Uo(N(r,.07)),.05),"drift"),D=s_(s.envRotation,"env"),O=D.member("x"),L=D.member("y"),G=ye(T1(s_(s.lightAngle,"light"),-.7).member("H"),"Hh"),W=ye(Iw(gr($e($e(N(w.member("x"),G.member("x")),N(w.member("y"),G.member("y"))),N(w.member("z"),G.member("z"))),0,1),A,ni(60,900,.4,1.4)),"spec"),K=ye($e(Jw(S.member("x"),S.member("y"),O,L,P,U,T),W),"lumG"),Q,te;if(o)Q=K,te=K;else{let Te=fs(1,gr(N(w.member("z"),-1),0,1)),Ue=ye(N(N(s.dispersion,.09),$e(.4,N(Te,1.3))),"dth"),Me=ye($e(Jw($e(S.member("x"),N(S.member("y"),Ue)),fs(S.member("y"),N(S.member("x"),Ue)),O,L,P,U,T),W),"lumBoffset");te=Me,Q=fs(N(K,2),Me)}let ee=ye(s.darkColor.member("rgb"),"dark"),he=ye(s.lightColor.member("rgb"),"light"),Ee=ni(Co(ee.member("x"),he.member("x"),gr(Q,0,1.8)),Co(ee.member("y"),he.member("y"),gr(K,0,1.8)),Co(ee.member("z"),he.member("z"),gr(te,0,1.8)),w1(n,s.edgeSoftness));return v1(y1(i,d),Ee,xr,"liquidMetal")}}),props:{origin:{default:"center",description:"Reference edge the center position is measured from (center default). Lets you pin the shape relative to a corner or the canvas centre.",ui:{type:"origin",label:"Origin",group:"Position"}},center:{default:{x:.5,y:.5},transform:ho,description:"Center position of the metal shape",ui:{type:"position",label:"Center",group:"Position",units:["%","px"]}},scale:{default:1,description:"Scale of the metal shape (1 = default size)",ui:{type:"range",min:.1,max:3,step:.01,label:"Scale",group:"Position"}},rotation:{default:0,description:"Rotation of the metal shape in degrees",ui:{type:"range",min:0,max:360,step:1,label:"Rotation",group:"Position"}},lightColor:{default:"#eef0f6",transform:ts,description:"The bright tone of the chrome highlights",ui:{type:"color",label:"Light Color",group:"Metal"}},darkColor:{default:"#141414",transform:ts,description:"The dark tone the reflection falls to in shadow \u2014 recolor for tinted metal (gold, steel, copper\u2026)",ui:{type:"color",label:"Dark Color",group:"Metal"}},turbulence:{default:1,description:"How molten the surface is \u2014 the depth of the flowing folds that bend the reflection",ui:{type:"range",min:0,max:1.5,step:.01,label:"Turbulence",group:"Liquid"}},ripple:{default:4,description:"Scale of the molten folds \u2014 higher = smaller, busier ripples",ui:{type:"range",min:.5,max:8,step:.01,label:"Ripple Scale",group:"Liquid"}},warp:{default:1.5,description:"Swirl of the flow \u2014 domain-warps the folds into liquid curls",ui:{type:"range",min:0,max:1.5,step:.01,label:"Swirl",group:"Liquid"}},speed:{default:.5,description:"Speed of the molten flow and the slowly drifting reflection. 0 pauses.",ui:{type:"range",min:0,max:4,step:.01,label:"Speed",group:"Liquid"}},...xd({environment:{default:1.5,description:"Strength of the reflected studio lighting \u2014 the softboxes seen across the metal",ui:{group:"Surface"}},envRotation:{ui:{group:"Surface"}}}),sharpness:{default:.6,description:"Tightness of the specular highlights \u2014 1 = razor chrome glints, 0 = soft satin",ui:{type:"range",min:0,max:1,step:.01,label:"Sharpness",group:"Surface"}},...xd({dispersion:{description:"Prismatic color fringing along the reflection edges",ui:{group:"Surface"}},lightAngle:{default:265,description:"Direction of the key light for the specular glints, in degrees",ui:{group:"Surface"}}}),bevelWidth:{default:.05,description:"Width of the edge bevel, relative to the shape \u2014 thin for machined jewellery edges, wide for soft pillowed metal",ui:{type:["range","map"],min:.005,max:.2,step:.001,label:"Bevel Width",group:"Surface"}},bevelShape:{default:0,description:"Bevel profile \u2014 0 = one smooth round fillet, 1 = machined: a steep outer fillet, a chamfer plateau and an inner knee, each catching its own line of light",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Bevel Profile",group:"Surface"}},...xd({edgeSoftness:{ui:{group:"Surface"}}}),shape:{default:oL,description:"Serialized shape configuration (JSON)",ui:{type:"shape",label:"Shape",group:"Shape"}},shapeSdfUrl:{default:"",compileTime:!0,description:"URL to a pre-generated SDF .bin file"},shapeType:{default:"",compileTime:!0,description:"Active SDF shape type"}}});var nL=3.141592653589793,a_=$o({name:"Marble",role:"generator",boundingBoxDeclaration:{aspectRatio:null,supportsResizeFit:!0},category:"Textures",description:"Classic marble swirl and vein texture using noise-warped sine waves",acceptsUVContext:!0,animatedTime:{speed:"speed"},props:{colorA:{default:"#ffffff",transform:ts,description:"Base background color of the marble",ui:{type:"color",label:"Base",group:"Colors"}},colorB:{default:"#3a2d54",transform:ts,description:"Secondary marble tone",ui:{type:"color",label:"Tone",group:"Colors"}},colorC:{default:"#0f0f0f",transform:ts,description:"Deepest marble color",ui:{type:"color",label:"Depth",group:"Colors"}},scale:{default:2,description:"Scale and density of the marble vein pattern",ui:{type:["range","map"],min:.1,max:10,step:.1,label:"Scale",group:"Effect"}},turbulence:{default:10,description:"Amount of noise-driven distortion applied to the veins",ui:{type:["range","map"],min:0,max:50,step:.5,label:"Turbulence",group:"Effect"}},speed:{default:.05,description:"Animation speed",ui:{type:"range",min:0,max:.25,step:.005,label:"Speed",group:"Animation"}},seed:{default:0,description:"Random seed for pattern variation",ui:{type:["range","map"],min:0,max:100,step:1,label:"Seed",group:"Effect"}},colorSpace:{default:"linear",transform:ir,compileTime:!0,description:"Color space for color interpolation",ui:{type:"select",options:Ho,label:"Color Space",group:"Colors"}}},paint:e=>{let{uv:t,viewport:s}=bd(e),r=ye(mr(s.member("x"),xa(s.member("y"),1e-6)),"aspect"),o=ye(uo(e),"marbleTime"),n=Dt(zt("seed"),e),i=ye(N(Jt(N(t.member("x"),r),t.member("y")),Dt(zt("scale"),e)),"plane"),d=i.member("x"),c=i.member("y"),_=ye($e($e(ga(Jt($e(d,n),$e(c,o))),N(ga(Jt($e(N(d,2),N(n,1.7)),$e(N(c,2),N(o,.7)))),.5)),N(ga(Jt($e(N(d,4),N(n,3.1)),$e(N(c,4),N(o,1.3)))),.25)),"marbleTurb"),u=ye($e(N(Uo($e(N(d,nL),N(_,Dt(zt("turbulence"),e)))),.5),.5),"veinT"),m=$e(N(ga(Jt($e(N(c,1.5),N(n,2)),N(d,1.2))),.3),.5);return Tw({a:zt("colorA"),b:zt("colorB"),c:zt("colorC"),space:zt("colorSpace")})(Ss(.3,.6,u),N(Ss(.6,.9,u),m),e)}});var S1=1.6,aL=.48,iL=.125,dL=3,eT=1.9,cL=1.4,_L=.045,lL=9,uL=[{color:"#1a0533",position:0},{color:"#6d2fd1",position:.26},{color:"#e04b9e",position:.52},{color:"#ff8c42",position:.76},{color:"#ffdf8e",position:1}],i_=$o({name:"MeshGradient",role:"generator",boundingBoxDeclaration:{aspectRatio:null,supportsResizeFit:!0},category:"Textures",description:"Flowing mesh gradient of soft drifting color swaths whose seams wrap through the palette",acceptsUVContext:!0,animatedTime:{speed:"speed"},extraFields:{meshAnchors:{schema:pt(x,4),initial:new Array(16).fill(0)}},props:{colorA:{default:"#1a0533",transform:ts,description:"First gradient color (two-color fallback when stops are cleared)",ui:{type:"color",label:"Color A",group:"Colors"}},colorB:{default:"#ffdf8e",transform:ts,description:"Second gradient color (two-color fallback when stops are cleared)",ui:{type:"color",label:"Color B",group:"Colors"}},stops:{...dw(),default:uL},colorSpace:{default:"oklab",transform:ir,compileTime:!0,description:"Color space for color interpolation",ui:{type:"select",options:Ho,label:"Color Space",group:"Colors"}},count:{default:5,description:"Number of color points scattered across the canvas",ui:{type:"range",min:2,max:8,step:1,label:"Points",group:"Effect"}},smoothness:{default:2,description:"How smoothly the color points blend into each other",ui:{type:["range","map"],min:0,max:5,step:.01,label:"Smoothness",group:"Effect"}},variation:{default:.35,recompile:bw(0),description:"Varies edge softness across the canvas \u2014 some color boundaries crisp, others diffuse",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Variation",group:"Effect"}},swirl:{default:.3,description:"Vortex rotation that spirals the field around the frame centre \u2014 negative values spin the other way",ui:{type:["range","map"],min:-1,max:1,step:.01,label:"Swirl",group:"Effect"}},drift:{default:.5,description:"How far the color points wander from their home positions",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Drift",group:"Effect"}},wrapping:{default:0,description:"Wraps the palette back through itself where colors meet \u2014 banded seams where the field pinches, smooth elsewhere",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Wrapping",group:"Effect"}},speed:{default:1,description:"Animation speed",ui:{type:"range",min:0,max:10,step:.1,label:"Speed",group:"Animation"}},seed:{default:0,description:"Random seed for the point layout and palette assignment",ui:{type:["range","map"],min:0,max:100,step:1,label:"Seed",group:"Effect"}}},paint:e=>{let{uv:t,viewport:s}=bd(e),r=ye(mr(s.member("x"),xa(s.member("y"),1e-6)),"aspect"),o=ye(uo(e),"meshTime"),n=Dt(zt("seed"),e),i=ye(Jt(fs(N(t.member("x"),r),N(r,.5)),fs(t.member("y"),.5)),"meshCentred"),d=ye(N(N(-dL,Dt(zt("swirl"),e)),Ss(0,1,gd(i))),"swirlAngle"),c=ye(p1(i,t_(d),Uo(d)),"meshRot"),_=ye(Jt($e(c.member("x"),N(r,.5)),$e(c.member("y"),.5)),"meshSwirled"),u=ye(Pw({at:tr(N(_.member("x"),S1),N(_.member("y"),S1),N(n,7.31)),time:N(o,iL),amount:aL,levels:_o()?1:2}),"meshWarp"),m=ye(Jt(mr(u.member("x"),S1),mr(u.member("y"),S1)),"meshQ"),p=mr(8,$e(Dt(zt("smoothness"),e),.5)),y=e.propValues.variation,h=y!==void 0&&y!==0?gr(N(p,wy(N(N(Sn(tr(N(m.member("x"),eT),N(m.member("y"),eT),$e(N(n,3.17),N(o,_L)))),Dt(zt("variation"),e)),cL))),.6,16):gr(p,.6,16),g=Aw(e,{count:zt("count"),seed:zt("seed"),drift:zt("drift"),field:"meshAnchors"});return jw(Ew(Mw({t:Sw({at:m,count:Dt(zt("count"),e),seed:n,drift:Dt(zt("drift"),e),aspect:r,time:o,softness:h,anchors:g}),cycles:$e(1,N(Dt(zt("wrapping"),e),lL))}),e),e)}});var{isMobileGpuViewport:mL,VOLUMETRIC_FIELD_EXTRA_FIELDS:pL}=yd,{ANALYTIC_SDF_EXTRA_FIELDS:fL}=n1,vL=JSON.stringify({type:"sphere3D",radius:.35}),yL=6,hL=4,d_=$o({name:"Nebula",role:"shapeEffect",species:"custom",boundingBoxDeclaration:i1,category:"Shape Effects",description:"A volumetric gas nebula sealed inside polished glass; billowing emission clouds with hollow dark cavities and hot glowing cores, star fields drifting at real depth behind the gas, all refracted through the curved walls of the shape and dressed with studio reflections",animatedTime:{speed:"speed"},...h1({pattern:"raw",surface:(e,t)=>{let{uniforms:s}=t,r=uo(t),o=mL()?hL:yL,n=t.propValues.colorSpace??0,i,d;if(n!==0){let Fe="";t.onBeforeRender(()=>{let st=["veilColor","gasColor","coreColor"].map(Ve=>t.getCpuValue(Ve));if(st.some(Ve=>!Ve))return;let Xe=st.map(Ve=>`${Ve.x},${Ve.y},${Ve.z}`).join("|");if(Xe===Fe)return;Fe=Xe;let We=["convVeil","convGas","convCore"];st.forEach((Ve,Ft)=>{let Gt=s1(Ve.x,Ve.y,Ve.z,n);t.setExtraField(We[Ft],[Gt[0],Gt[1],Gt[2]])})});let Ie=Bv[n]??t1;i=st=>we(Ie,"mixPreconvertedColors",[s.convVeil,s.convGas,s.veilColor.member("a"),s.gasColor.member("a"),st]),d=(st,Xe,We)=>{let Ve=ye(we(fa,"mixInSpace",[s.convVeil,s.veilColor.member("a"),s.convGas,s.gasColor.member("a"),st]),`${We}AB`);return we(Ie,"mixPreconvertedColors",[Ve.member("conv"),s.convCore,Ve.member("alpha"),s.coreColor.member("a"),Xe])}}else i=Fe=>we(Bo,"mixColors",[s.veilColor,s.gasColor,Fe]),d=(Fe,Ie)=>we(Bo,"mixColors",[we(Bo,"mixColors",[s.veilColor,s.gasColor,Fe]),s.coreColor,Ie]);let c=x1(e,t,{scale:s.scale}),{sdf:_,pxH:u}=c,m=g1(e,c,{bevelWidth:Zr(.09),bevelShape:Zr(0)}),p=b1(t,c),y=Ow(e,m,ye(N(s.refraction,.16),"bend")),{x:h,y:g}=y.centered,w=Ww(e),S=Nw(c,e,{origin:y,view:p,shear:.55,lengthScale:.9}),T=S.length,A=ye(N(s.gasScale,3.1),"freq"),P=ye(N(r,.14),"drift"),U=ye(N(s.seed,7.31),"seedOff"),D=ye(N(Bw(N(y.x,311.7),N(y.y,173.3)),.15/o),"jit"),O=ye(N(ga(Jt($e($e(N(h,1.3),N(P,.6)),N(U,.37)),$e(N(g,1.3),N(U,.61)))),.5),"macro"),L=ye(Co(-.35,.5,s.cavity),"cav"),G=ye(N(s.billow,.55),"billowAmt"),W=ye(s.coreColor.member("rgb"),"coreRgb"),K=ye(s.veilColor.member("rgb"),"veilRgb"),Q=ye(N($e(.3,N(T,.9)),6/o),"eGain"),te=ye(N(N($e(.5,N(T,2.2)),s.density),3/o),"aGain"),ee=Xw({steps:o,entry:S.entry,length:S.length,jitter:D,emissionGain:Q,hint:"gasAcc"},({i:Fe,t:Ie,z:st})=>{let Xe=S.at(st),We=qw({x:Xe.x,y:Xe.y,z:st},{frequency:A,drift:P,seed:U,billow:G,hint:`${Fe}`}),Ve=Ss(0,.11,N(T,Math.min(Ie,1-Ie))),Ft=fs(1,gr(N(m1(We.fine),1.6),0,1)),Gt=ye(N(N(Ss(0,.5,fs($e(We.density,O),L)),Ve),$e(.65,N(Ft,.7))),`dens${Fe}`),os=ye(N(N(Ss(.45,.75,We.mid),Ve),s.dust),`dust${Fe}`),bs=ye(d(Ss(.05,.75,Gt),Ss(.68,1,Gt),`cB${Fe}`),`cB${Fe}`).member("rgb"),ls=1-Ie*.45,As=N(Ss(-.7,.3,We.density),N(.05,Ve));return{emit:$e($e(N(bs,N(Gt,ls)),N(W,N(nd(Gt,3),N(s.glow,1.2*ls)))),N(K,N(As,ls))),absorb:$e(ln(N(Gt,te)),N(tr(1.5,1,.55),N(os,N(te,2.2))))}}),he=ye(N(s.starScale,34),"starFreq"),Ee=ye(N(s.twinkle,.5),"twinkleAmt"),Te=My(S,{depth:1.1,pan:w,panRate:1.3,hint:"far"}),Ue=Ay(ye(Jt(N(Te.x,he),N(Te.y,he)),"farP"),{variationFreq:.13,radius:[.004,.013],keep:[.35,.75],brightness:[.3,1.2],shimmer:Fe=>Sy(r,Fe,{amount:Ee,rate:1.7,spread:40}),gain:s.stars,tint:{from:[.72,.82,1],to:[1,.92,.82],gain:1.6},hint:"starFar"}),Me=My(S,{depth:.25,pan:w,panRate:.55,hint:"near"}),Pe=N(he,.56),Re=Ay(ye(Jt($e(N(Me.x,Pe),7.3),$e(N(Me.y,Pe),2.9)),"nearP"),{variationFreq:.11,radius:[.003,.01],keep:[.45,.8],brightness:[.35,1.3],shimmer:Fe=>Sy(r,Fe,{amount:Ee,rate:2.3,spread:34}),gain:s.stars,tint:{from:[.75,.85,1],to:[1,.95,.88],gain:1.8},hint:"starNear"}),de=s_(s.lightAngle,"light"),je=ye(gr(gw(m,T1(de,-.7).member("H")),0,1),"ndh"),fe=ye(f1(p,m),"R"),Ke=ye(Gw(fe.member("x"),fe.member("y"),{rotation:de,keyRadius:.2,drift:0,strength:s.environment,skyGain:.32}),"envLum"),Ze=Vw(je,{core:[140,1.3],halo:[22,.14],softness:s.highlightSoftness,gain:s.highlight}),at=Yw(Hw([{paint:i(Zr(.25)).member("rgb"),opacity:.06,behind:ee.transmittance},ee.color,{paint:Ue.rgb,behind:ee.transmittance},{paint:Re.rgb,behind:Co(ee.transmittance,ln(1),.35)},{paint:N(tr(.85,.92,1.08),Ke),opacity:.38},N(tr(1,.98,.95),Ze)]));return v1(y1(_,u),ni(at,w1(c,s.edgeSoftness)),xr,"nebula")}}),extraFields:{...pL,...fL,convVeil:{schema:f,initial:[0,0,0]},convGas:{schema:f,initial:[0,0,0]},convCore:{schema:f,initial:[0,0,0]}},props:{origin:{default:"center",description:"Reference edge the center position is measured from (center default). Lets you pin the shape relative to a corner or the canvas centre.",ui:{type:"origin",label:"Origin",group:"Position"}},center:{default:{x:.5,y:.5},transform:ho,description:"Center position of the nebula shape",ui:{type:"position",label:"Center",group:"Position",units:["%","px"]}},scale:{default:1,description:"Scale of the nebula shape (1 = default size)",ui:{type:["range","map"],min:.1,max:3,step:.01,label:"Scale",group:"Position"}},rotation:{default:0,description:"Rotation of the nebula shape in degrees",ui:{type:"range",min:0,max:360,step:1,label:"Rotation",group:"Position"}},coreColor:{default:"#ffd9b0",transform:ts,description:"The hot color the densest gas cores glow with \u2014 the embedded newborn stars",ui:{type:"color",label:"Core Color",group:"Nebula"}},gasColor:{default:"#ff5e7a",transform:ts,description:"The main emission color of the gas body \u2014 H-alpha rose by default",ui:{type:"color",label:"Gas Color",group:"Nebula"}},veilColor:{default:"#3a5bdb",transform:ts,description:"The color of the thin outer veils and the deep-space background behind the gas",ui:{type:"color",label:"Veil Color",group:"Nebula"}},colorSpace:{default:"oklab",transform:ir,compileTime:!0,description:"Color space the veil \u2192 gas \u2192 core ramps blend in",ui:{type:"select",options:Ho,label:"Color Space",group:"Nebula"}},density:{default:1,description:"Optical density of the gas \u2014 how strongly clouds occlude the stars and gas behind them",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Density",group:"Nebula"}},cavity:{default:0,description:"How hollowed-out the nebula is \u2014 0 fills the volume with cloud banks, high carves large dark voids between them",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Cavity",group:"Nebula"}},dust:{default:.55,description:"Cold dark dust lanes threading the gas \u2014 absorb-only tendrils that redden the clouds and stars behind them",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Dust",group:"Nebula"}},gasScale:{default:.4,description:"Feature size of the gas \u2014 higher = finer, busier cloud detail",ui:{type:["range","map"],min:.1,max:1,step:.01,label:"Gas Scale",group:"Nebula"}},billow:{default:.6,description:"Turbulent folding of the clouds \u2014 0 = smooth drifting banks, 1 = heavily churned billows",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Billow",group:"Nebula"}},glow:{default:0,description:"Hot emission bloom of the dense cores",ui:{type:["range","map"],min:0,max:2,step:.01,label:"Glow",group:"Nebula"}},seed:{default:0,description:"Random seed \u2014 pans the gas field to a different region of noise space for a new cloud composition",ui:{type:["range","map"],min:0,max:100,step:1,label:"Seed",group:"Nebula"}},stars:{default:.07,description:"Brightness of the star fields drifting at depth behind and inside the gas",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Stars",group:"Stars"}},starScale:{default:1,description:"Density of the star fields \u2014 higher = smaller, busier stars",ui:{type:["range","map"],min:.25,max:3,step:.01,label:"Star Scale",group:"Stars"}},twinkle:{default:.35,description:"Intensity of the star twinkle (0 = steady stars, 1 = full shimmer)",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Twinkle",group:"Stars"}},...xd({refraction:{description:"How strongly the curved glass walls bend the interior seen near the edges"},environment:{default:.7,description:"Strength of the studio softboxes reflected in the polished glass surface"},highlight:{default:1.15,description:"Sharp key-light glint on the glass",ui:{group:"Glass"}},highlightSoftness:{ui:{group:"Glass"}},lightAngle:{description:"Direction of the key light and reflected studio, in degrees"},edgeSoftness:!0}),speed:{default:.3,description:"Speed of the slowly churning gas and twinkling stars. 0 freezes the nebula.",ui:{type:"range",min:0,max:4,step:.01,label:"Speed",group:"Animation"}},shape:{default:vL,description:"Serialized shape configuration (JSON)",ui:{type:"shape",label:"Shape",group:"Shape"}},shapeSdfUrl:{default:"",compileTime:!0,description:"URL to a pre-generated SDF .bin file"},shapeType:{default:"",compileTime:!0,description:"Active SDF shape type"}}});var xL=[r_,o_,n_,a_,i_,d_].map(e=>({definition:e})),gL=e=>xL.find(t=>t.definition.name===e);var bL=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(e1({in:{vertexIndex:_r.vertexIndex},out:{pos:_r.position,uv:lt}})`{ + const pos = array(vec2f(-1, -1), vec2f(3, -1), vec2f(-1, 3)); + const uv = array(vec2f(0, 1), vec2f(2, 1), vec2f(0, -1)); + + return Out(vec4f(pos[in.vertexIndex], 0, 1), uv[in.vertexIndex]); +}`,"fullScreenTriangle");o2.disable("external-omitted");var wL=["float32-filterable","timestamp-query"],ky=new WeakMap,Ey=new WeakMap,$y=new WeakSet,Td=null,TL=new WeakSet;async function SL(e={}){if(e.device&&!$y.has(e.device)){let r=e.device,o=ky.get(r);o||(o=v.initFromDevice({device:r}),ky.set(r,o));let n=tT(o,e.onDeviceLost);return{root:o,device:r,adapter:e.adapter,createdDevice:!1,release:n}}e.device&&Ma("[gpu] injected GPU device was lost \u2014 falling back to the shared default device");let t=await AL(),s=tT(t.root,e.onDeviceLost);return{root:t.root,device:t.device,adapter:t.adapter,createdDevice:!1,release:s}}async function AL(){for(;;){let t=Td;if(!t)break;let s=await t.catch(()=>null);if(s&&!TL.has(t)&&!$y.has(s.device))return s;Td===t&&(Td=null)}let e=ML();Td=e;try{return await e}catch(t){throw Td===e&&(Td=null),t}}async function ML(){if(typeof navigator>"u"||!navigator.gpu)throw new mi("unsupported","[gpu] WebGPU is not available in this environment (navigator.gpu is undefined).");let e;try{e=await v.init({adapter:{powerPreference:"high-performance"},device:{optionalFeatures:wL}})}catch(t){let s=await ih();throw new mi(s.supported?"no-device":s.reason??"init-failed",void 0,{cause:t})}if(!e.device)throw new mi("no-device","[gpu] adapter returned no device.");return ky.set(e.device,e),{root:e,device:e.device,createdDevice:!0}}function PL(e,t,s={}){return e.configureContext({canvas:t,alphaMode:"premultiplied",...s})}function tT(e,t){let s=e.device,r=Ey.get(s);if(r||(r=new Set,Ey.set(s,r),e.device.lost.then(n=>{if($y.add(s),n.reason!=="destroyed")for(let i of[...Ey.get(s)??[]])i(n)})),!t)return()=>{};let o=r;return o.add(t),()=>o.delete(t)}function EL(){let e={value:0,advance(t,s){e.value+=t*s}};return e}var sT=new WeakMap;function ii(e){let t=sT.get(e);return t||(t=EL(),sT.set(e,t)),t}var kL=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({time:a,viewportSize:l,logicalViewportSize:l,aspect:a,pointer:l,pointerActive:a}),"SystemUniforms");v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return vr(t,s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewportSize"}],body:[0,[[10,[6,"std.mul",["uv","viewportSize"]]]]]},externals:{"std.mul":()=>vr}})&&e.f)({}));v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_div(t.x,t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"viewportSize"}],body:[0,[[10,[1,[7,"viewportSize","x"],"/",[7,"viewportSize","y"]]]]]},externals:{}})&&e.f)({}));function $L(e){let t=2166136261,s=e.join("");for(let r=0;r>>0).toString(16).padStart(8,"0")}:${s.length}`}function UL(e={}){let t=e.maxSize??4,s=e.dispose,r=new Map,o=0,n=null,i=null;function d(_){_.lastUsed=++o}function c(){for(;r.size>t;){let _=null;for(let u of r.values())u.hash===n||u.hash===i||(!_||u.lastUsed<_.lastUsed)&&(_=u);if(!_)break;r.delete(_.hash),s?.(_.value,_.hash)}}return{getOrBuild(_,u){let m=r.get(_);if(m)return d(m),_===n?i=null:i=_,m.value;let p=u(),y={hash:_,value:p,lastUsed:++o};return r.set(_,y),n===null?(n=_,i=null):i=_,c(),p},markReady(_){if(_!==i)return;let u=r.get(_);u&&(n=_,i=null,d(u),c())},get renderValue(){let _=n??i;return _?r.get(_)?.value??null:null},get activeHash(){return n},get pendingHash(){return i},release(_){let u=r.get(_);u&&(r.delete(_),s?.(u.value,_),n===_&&(n=null),i===_&&(i=null))},has(_){return r.has(_)},get size(){return r.size},clear(){for(let _ of r.values())s?.(_.value,_.hash);r.clear(),n=null,i=null}}}var Sd="passManager";function CL(e,t){let{textureManager:s,dispatcher:r}=t,o=t.canvasFormat??RL(),n=t.rttFormat??"rgba16float",i=e.device?.limits?.maxSampledTexturesPerShaderStage,d=t.maxSampledTextures??(typeof i=="number"&&i>0?i:16),c=t.fullScreenTriangle??bL,_=new Map,u=new Set,m=null;function p(){let G=s.samplers;try{return e.createBindGroup(Nv,{linearClamp:G.linearClamp,nearestClamp:G.nearestClamp,linearRepeat:G.linearRepeat,nearestRepeat:G.nearestRepeat})}catch(W){Is(`[${Sd}] failed to build sampler bind group:`,W);return}}function y(G,W){let K=new Set;for(let Q of G.textures)if(Q.kind==="rtt")if(K.add(Q.key),_.has(Q.key))_.get(Q.key).resize(W.width,W.height);else{let te=s.createRenderTexture({width:W.width,height:W.height,format:n,label:`rtt:${Q.key}`});_.set(Q.key,te),u.add(te)}for(let[Q,te]of[..._])K.has(Q)||(te.destroy(),u.delete(te),_.delete(Q))}function h(G,W){if(!G.textureLayout||G.reads.length===0)return;let K={};for(let Q of G.reads){let te=_.get(Q),ee=W?.[Q],he=te??ee;if(!he){Is(`[${Sd}] pass "${G.entry}" reads unknown texture "${Q}"`);return}K[Q]=he.texture}G.reads.length>d&&Ma(`[${Sd}] pass samples ${G.reads.length} textures (> device limit ~${d}); composition may fail on this device.`);try{return e.createBindGroup(G.textureLayout,K)}catch(Q){Is(`[${Sd}] failed to build texture bind group:`,Q);return}}function g(G,W){return e.createRenderPipeline({vertex:c,fragment:G.entry,targets:{format:W}})}function w(G,W){if(!G.externalLayout||G.externalReads.length===0)return;let K=G.externalReads;if(K.length===1){let te=W.get(K[0]);if(!te){Is(`[${Sd}] external read "${K[0]}" has no registered source`);return}return s.createExternalTextureBinding({layout:G.externalLayout,entryKey:K[0],getSource:te})}let Q=null;return{update(){let te={};for(let ee of K){let he=W.get(ee)?.();if(!he)return Q=null,null;try{te[ee]=e.device.importExternalTexture({source:he})}catch{return Q=null,null}}return Q=e.createBindGroup(G.externalLayout,te),Q},get current(){return Q},destroy(){Q=null}}}function S(G,W,K,Q){let te=W.kind==="canvas"?o:n,ee=G.reads.filter(Ee=>K?.[Ee]),he=new Map(ee.map(Ee=>[Ee,K[Ee].texture]));return{fragment:G,pipeline:g(G,te),textureBindGroup:h(G,K),externalBinding:w(G,Q),target:W,mediaReads:ee,mediaSnapshot:he}}function T(G,W,K,Q){y(G,K);for(let Te of G.computeSteps)Te.bindInputs?.(Ue=>_.get(Ue)??Q?.[Ue]);let te=p(),ee=new Map;for(let Te of G.externalTextures)ee.set(Te.key,Te.getSource);let he=G.rttPasses.map(Te=>S(Te.fragment,{kind:"rtt",key:Te.textureKey},Q,ee)),Ee=S(G.finalPass,{kind:"canvas"},Q,ee);m={ir:G,uniformBindGroup:W,samplerBindGroup:te,computeSteps:G.computeSteps,rttPasses:he,finalPass:Ee,size:K,mediaResources:Q}}function A(G,W){let K=G.pipeline;if(m?.uniformBindGroup&&(K=K.with(m.uniformBindGroup)),G.mediaReads&&G.mediaReads.length>0&&m?.mediaResources){let Q=!1;for(let te of G.mediaReads)m.mediaResources[te].texture!==G.mediaSnapshot.get(te)&&(Q=!0);if(Q){G.textureBindGroup=h(G.fragment,m.mediaResources);for(let te of G.mediaReads)G.mediaSnapshot.set(te,m.mediaResources[te].texture)}}if(G.textureBindGroup&&(K=K.with(G.textureBindGroup)),G.fragment.usesSamplers&&m?.samplerBindGroup&&(K=K.with(m.samplerBindGroup)),G.fragment.externalReads.length>0){let Q=G.externalBinding?.update()??null;if(!Q){G.externalSkipLogged||(Ma(`[${Sd}] external texture not ready \u2014 skipping pass (${G.fragment.externalReads.join(", ")})`),G.externalSkipLogged=!0);return}K=K.with(Q)}K.withColorAttachment({view:W}).draw(3)}function P(G,W,K){if(m){for(let Q of m.computeSteps){let te=Q.getComputeNodes(W);te&&te.length&&r.dispatch(te)}K?.(),U(),A(m.finalPass,G)}}function U(){if(m)for(let G of m.rttPasses){let W=_.get(G.target.key);W&&A(G,D(W))}}function D(G){return e.unwrap(G.texture).createView()}function O(G){if(!(!G.fragment.textureLayout||G.fragment.reads.length===0)&&(G.textureBindGroup=h(G.fragment,m?.mediaResources),G.mediaReads&&G.mediaSnapshot&&m?.mediaResources))for(let W of G.mediaReads)G.mediaSnapshot.set(W,m.mediaResources[W].texture)}function L(G,W){let K=!1;for(let Q of _.values())Q.resize(G,W)&&(K=!0);if(!m)return K;if(m.size={width:G,height:W},!K)return!1;for(let Q of m.computeSteps)Q.bindInputs?.(te=>_.get(te)??m.mediaResources?.[te]);for(let Q of m.rttPasses)O(Q);return O(m.finalPass),!0}return{setComposition:T,render:P,repaintRtt:U,resize:L,get textureCount(){return u.size},get passCount(){return m?m.rttPasses.length+1:0},dispose(){for(let G of[...u])G.destroy();u.clear(),_.clear(),m=null}}}function RL(){return typeof navigator<"u"&&navigator.gpu?navigator.gpu.getPreferredCanvasFormat():"bgra8unorm"}function rT(e){return`${e}-srgb`}function zL(e){let t=new Set;function s(y,...h){return e.createTexture.call(e,y).$usage(...h)}let r,o,n,i,d={get linearClamp(){return r??=e.createSampler({magFilter:"linear",minFilter:"linear",mipmapFilter:"linear",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"})},get nearestClamp(){return o??=e.createSampler({magFilter:"nearest",minFilter:"nearest",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"})},get linearRepeat(){return n??=e.createSampler({magFilter:"linear",minFilter:"linear",mipmapFilter:"linear",addressModeU:"repeat",addressModeV:"repeat"})},get nearestRepeat(){return i??=e.createSampler({magFilter:"nearest",minFilter:"nearest",addressModeU:"repeat",addressModeV:"repeat"})}};function c(y,h,g,w,S){let T={texture:y,width:h,height:g,format:w,write(A){y.write(A)},unwrap(){return e.unwrap(y)},createSrgbView(){if(S)return e.unwrap(y).createView({format:rT(w)})},generateMipmaps(){y.generateMipmaps?.()},destroy(){t.has(T)&&(y.destroy(),t.delete(T))}};return t.add(T),T}function _(y){let{width:h,height:g,srgb:w=!1,mipLevelCount:S}=y,T=y.format??"rgba8unorm";return c(s({size:[h,g],format:T,...w?{viewFormats:[rT(T)]}:{},...S?{mipLevelCount:S}:{}},"sampled","render"),h,g,T,w)}function u(y){let{width:h,height:g,format:w,data:S}=y,T=c(s({size:[h,g],format:w},"sampled"),h,g,w,!1);return S&&T.write(S),T}function m(y){let h=y.format??"rgba16float",{mipLevelCount:g}=y,w=y.width,S=y.height;function T(P,U){return c(s({size:[P,U],format:h,...g?{mipLevelCount:g}:{}},"sampled","render"),P,U,h,!1)}let A=T(w,S);return{get texture(){return A.texture},get width(){return w},get height(){return S},format:h,write(P){A.write(P)},unwrap(){return A.unwrap()},createSrgbView(){return A.createSrgbView()},generateMipmaps(){A.generateMipmaps()},resize(P,U){return P===w&&U===S?!1:(A.destroy(),w=P,S=U,A=T(P,U),!0)},destroy(){A.destroy()}}}function p(y){let{layout:h,entryKey:g,getSource:w,staticEntries:S={}}=y,T=null;return{update(){let A=w();if(!A)return T=null,null;let P;try{P=e.device.importExternalTexture({source:A})}catch{return T=null,null}return T=e.createBindGroup(h,{...S,[g]:P}),T},get current(){return T},destroy(){T=null}}}return{samplers:d,createMediaTexture:_,createDataTexture:u,createRenderTexture:m,createExternalTextureBinding:p,get textureCount(){return t.size},destroy(){for(let y of[...t])y.destroy();t.clear()}}}function GL(e,t){let s=gL(e)?.definition?.naturalSizeKey;if(!s)return null;if("fixed"in s)return s.fixed||null;let r=t[s.fromProp];return typeof r=="string"&&r?r:null}function YL(e,t,s){if(!e||typeof e!="object")return null;let r=(i,d)=>!i||typeof i!="object"||typeof i.value!="number"?null:i.unit==="px"?i.value:i.value*d,o=r(e.width,t),n=r(e.height,s);return o!=null&&n!=null&&o>0&&n>0?{widthPx:o,heightPx:n}:null}function LL(e,t,s){let{type:r,decl:o,props:n,boundingBox:i}=e;if(!(t>0)||!(s>0)||e.requiresChild)return null;if(o?.computeBounds){let u=o.computeBounds(n,t,s);return u.widthPx>0&&u.heightPx>0?{widthPx:u.widthPx,heightPx:u.heightPx}:null}let d=o?.propBindings;if(d?.width&&d?.height){let u=Uc(d.width,n[d.width.prop],t,s),m=Uc(d.height,n[d.height.prop],t,s);return u>0&&m>0?{widthPx:u,heightPx:m}:null}let c=YL(i,t,s);if(c)return c;let _=GL(r,n);if(_){let u=v7(_);if(u)return{widthPx:u.width,heightPx:u.height}}return null}function IL(e,t){return e==null?0:typeof e=="number"?e:e.unit==="px"?e.value:e.value*t}function Uy(e,t,s){return!e||e.mode!=="column"&&e.mode!=="row"?null:{mode:e.mode,gapPx:Math.max(0,IL(e.gap,e.mode==="column"?s:t)),align:e.align??"center",anchor:e.anchor??"center",anchorOffsetX:e.anchorOffset?.x??0,anchorOffsetY:e.anchorOffset?.y??0}}var oT=e=>({ox:e.includes("left")?"start":e.includes("right")?"end":"center",oy:e.includes("top")?"start":e.includes("bottom")?"end":"center"}),A1=(e,t,s,r)=>e==="start"?r:e==="end"?s-t-r:(s-t)/2+r;function M1(e,t){let s=0,r=0;for(let o of t){let n=e.mode==="column"?o.size.heightPx:o.size.widthPx,i=e.mode==="column"?o.size.widthPx:o.size.heightPx;s+=n,r=Math.max(r,i)}return t.length>1&&(s+=e.gapPx*(t.length-1)),e.mode==="column"?{widthPx:r,heightPx:s}:{widthPx:s,heightPx:r}}function DL(e,t,s,r){let o=new Map;if(t.length===0)return o;let n=M1(e,t),{ox:i,oy:d}=oT(e.anchor),c=A1(i,n.widthPx,s,e.anchorOffsetX),_=A1(d,n.heightPx,r,e.anchorOffsetY),u=(p,y)=>e.align==="start"?0:e.align==="end"?y-p:(y-p)/2,m=0;for(let p of t)if(e.mode==="column"){let y=c+u(p.size.widthPx,n.widthPx)+p.size.widthPx/2,h=_+m+p.size.heightPx/2;o.set(p.id,{centerXPx:y,centerYPx:h}),m+=p.size.heightPx+e.gapPx}else{let y=c+m+p.size.widthPx/2,h=_+u(p.size.heightPx,n.heightPx)+p.size.heightPx/2;o.set(p.id,{centerXPx:y,centerYPx:h}),m+=p.size.widthPx+e.gapPx}return o}function FL(e,t,s){let r=Uy(e.layout,t,s);if(r){let o=Cy(e,t,s);return o.length===0?null:M1(r,o)}return LL({type:e.componentName,decl:e.decl,props:e.props,boundingBox:e.boundingBox,requiresChild:e.requiresChild,availableWidthPx:t},t,s)}function Cy(e,t,s){let r=[];for(let o of e.children){if(o.visible===!1||o.absolute)continue;let n=FL(o,t,s);n&&r.push({id:o.id,size:n,view:o})}return r}function BL(e,t,s){if(!e.decl?.computeBounds)return{x:0,y:0};let r=e.decl.computeBounds(e.props,t,s),o=typeof e.props.center?.x=="number"?e.props.center.x:.5,n=typeof e.props.center?.y=="number"?e.props.center.y:.5;return{x:r.centerXPx-o*t,y:r.centerYPx-n*s}}function WL(e,t,s,r,o,n,i,d){let c=Uy(e.layout,o,n);if(c){nT(e,c,o,n,i,{centerXPx:s,centerYPx:r},d);return}let _=e.decl?.propBindings?.x?.prop??e.decl?.propBindings?.y?.prop;if(_){if(!e.positionDriven){let u=BL(e,o,n);i.push({kind:"position",id:e.id,prop:_,value:{x:(s-u.x)/o,y:(r-u.y)/n}})}return}i.push({kind:"box",id:e.id,xPx:s-t.widthPx/2,yPx:r-t.heightPx/2,widthPx:t.widthPx,heightPx:t.heightPx})}function nT(e,t,s,r,o,n,i,d){let c=d??Cy(e,s,r);if(c.length===0)return;let _=t;if(n){let m=M1(t,c);_={...t,anchor:"top-left",anchorOffsetX:n.centerXPx-m.widthPx/2,anchorOffsetY:n.centerYPx-m.heightPx/2}}if(i){let m=M1(_,c),{ox:p,oy:y}=oT(_.anchor);i.set(e.id,{leftPx:A1(p,m.widthPx,s,_.anchorOffsetX),topPx:A1(y,m.heightPx,r,_.anchorOffsetY),widthPx:m.widthPx,heightPx:m.heightPx})}let u=DL(_,c,s,r);for(let m of c){let p=u.get(m.id);p&&WL(m.view,m.size,p.centerXPx,p.centerYPx,s,r,o,i)}}function OL(e,t,s,r){let o=[],n=i=>{let d=Uy(i.layout,t,s);if(d){let c=Cy(i,t,s);nT(i,d,t,s,o,void 0,r,c);let _=new Set(c.map(u=>u.id));for(let u of i.children)u.visible!==!1&&(_.has(u.id)||n(u));return}for(let c of i.children)c.visible!==!1&&n(c)};for(let i of e)i.visible!==!1&&n(i);return o}var VL=class{frameTimesMs=[];frameTimesIndex=0;frameTimesCount=0;maxSamples=60;targetFrameTime=16.67;jankFrameCount=0;totalFrameCount=0;memorySnapshots=[];memorySnapshotIndex=0;maxMemorySnapshots=300;nodeCount=0;rttNodeCount=0;lastCpuTime=null;lastGpuTime=null;isRendering=!1;lastFrameTimestamp=0;frameIntervals=[];frameIntervalsIndex=0;frameIntervalsCount=0;pushToCircularBuffer(e,t,s,r,o){return e.lengththis.targetFrameTime&&this.jankFrameCount++;let s=performance.now();if(this.lastFrameTimestamp>0){let r=s-this.lastFrameTimestamp,o=this.pushToCircularBuffer(this.frameIntervals,r,this.frameIntervalsIndex,this.frameIntervalsCount,this.maxSamples);this.frameIntervalsIndex=o.index,this.frameIntervalsCount=o.count}this.lastFrameTimestamp=s,this.recordMemorySnapshot()}recordCpuTime(e){this.lastCpuTime=e}recordGpuTime(e){this.lastGpuTime=e}updateNodeCounts(e,t){this.nodeCount=e,this.rttNodeCount=t}setRendering(e){this.isRendering=e}recordMemorySnapshot(){if(!performance.memory)return;let e=performance.now(),t=performance.memory.usedJSHeapSize;if(this.memorySnapshots.lengthr+o,0)/e.length,s=0;for(let r=0;r=0&&this.sortBuffer[n]>o;)this.sortBuffer[n+1]=this.sortBuffer[n],n--;this.sortBuffer[n+1]=o}let s=Math.floor(t*.99);return this.sortBuffer[Math.min(s,t-1)]}calculateComplexityScore(){return this.nodeCount+this.rttNodeCount*10}calculateIntensityScore(){let e=this.getBufferValues(this.frameTimesMs,this.frameTimesCount),t=e.length;if(t===0)return{score:0,label:"N/A"};let s=e.reduce((u,m)=>u+m,0)/t,r=Math.min(s/16.67*100,100),o=this.calculateComplexityScore(),n=Math.min(o/100*100,100),i=0;this.lastGpuTime!==null&&(i=Math.min(this.lastGpuTime/16.67*100,100));let d=this.lastGpuTime!==null?{frame:.4,gpu:.4,complexity:.2}:{frame:.7,gpu:0,complexity:.3},c=Math.round(r*d.frame+i*d.gpu+n*d.complexity),_;return c<=20?_="Very Light":c<=40?_="Light":c<=60?_="Medium":c<=80?_="Heavy":_="Very Heavy",{score:Math.min(c,100),label:_}}getStats(e){let t=this.getBufferValues(this.frameTimesMs,this.frameTimesCount),s=this.getBufferValues(this.frameIntervals,this.frameIntervalsCount),r=t.length,o=s.length>0?1e3/(s.reduce((A,P)=>A+P,0)/s.length):0,n=r>0?t.reduce((A,P)=>A+P,0)/r:0,i=r>0?Math.min(...t):0,d=r>0?Math.max(...t):0,c=this.calculateP99(t),_=this.calculateStdDev(t),u=this.totalFrameCount>0?this.jankFrameCount/this.totalFrameCount*100:0,m=performance.memory,p=m?m.usedJSHeapSize/(1024*1024):null,y=this.calculateMemoryGrowthRate(),h=n>0?n/this.targetFrameTime*100:0,g=e?.render?.calls??null,w=e?.programs?.length??null,S=e?.memory?.textures??null,T=this.calculateIntensityScore();return{fps:Math.round(o),avgFrameTime:Math.round(n*100)/100,minFrameTime:Math.round(i*100)/100,maxFrameTime:Math.round(d*100)/100,p99FrameTime:Math.round(c*100)/100,stdDevFrameTime:Math.round(_*100)/100,jankCount:this.jankFrameCount,jankPercent:Math.round(u*10)/10,nodeCount:this.nodeCount,rttNodeCount:this.rttNodeCount,complexityScore:this.calculateComplexityScore(),memoryUsedMB:p!==null?Math.round(p*100)/100:null,memoryGrowthRate:y!==null?Math.round(y*1e3)/1e3:null,cpuTime:this.lastCpuTime!==null?Math.round(this.lastCpuTime*100)/100:null,gpuTime:this.lastGpuTime!==null?Math.round(this.lastGpuTime*100)/100:null,budgetUsed:Math.round(h*10)/10,drawCalls:g,shaderPrograms:w,textureCount:S,intensityScore:T.score,intensityLabel:T.label,isRendering:this.isRendering}}reset(){this.frameTimesMs.length=0,this.frameTimesIndex=0,this.frameTimesCount=0,this.frameIntervals.length=0,this.frameIntervalsIndex=0,this.frameIntervalsCount=0,this.lastFrameTimestamp=0,this.jankFrameCount=0,this.totalFrameCount=0,this.memorySnapshots.length=0,this.memorySnapshotIndex=0,this.sortBuffer.length=0,this.lastCpuTime=null,this.lastGpuTime=null}},NL=32,qL=5,XL=(()=>{let e=0,t=new Set,s=(_,u)=>{t.forEach(m=>{try{m[_](u)}catch(p){Is("[Shaders] Error in pointer handler:",p)}})},r=_=>s("onMouseMove",_),o=_=>s("onTouchMove",_),n=_=>s("onMouseDown",_),i=_=>s("onTouchStart",_),d=()=>s("onMouseUp"),c=()=>s("onTouchEnd");return{register(_){return t.add(_),e++,e===1&&typeof window<"u"&&(window.addEventListener("mousemove",r),window.addEventListener("touchmove",o),window.addEventListener("mousedown",n,!0),window.addEventListener("touchstart",i,!0),window.addEventListener("mouseup",d,!0),window.addEventListener("touchend",c,!0)),()=>{t.delete(_),e--,e===0&&typeof window<"u"&&(window.removeEventListener("mousemove",r),window.removeEventListener("touchmove",o),window.removeEventListener("mousedown",n,!0),window.removeEventListener("touchstart",i,!0),window.removeEventListener("mouseup",d,!0),window.removeEventListener("touchend",c,!0))}}}})();function HL(e){if(!e)return!1;let t=e;if(typeof e=="string")try{t=JSON.parse(e)}catch{return!1}if(!t||typeof t!="object")return!1;for(let s in t){let r=t[s];if(r&&typeof r=="object"&&r.type==="mouse")return!0}return!1}function aT(){let e=null,t=null,s=null,r=null,o=null,n=null,i=!1,d=!1,c=!1,_=null,u=new Map,m=null,p=new Map,y=[],h=[],g=UL({maxSize:4,dispose:M=>Wy(M)}),w=new Set,S=null,T=null,A=!0,P=0,U=0,D=0,O=0,L=1,G=8192,W=0,K=0,Q=!1,te=()=>D||P||1,ee=()=>O||U||1,he=!0,Ee=!1,Te=!1,Ue=0,Me=0,Pe=0,Re=null,de=null,je=-10,fe=-10,Ke=!1,Ze=!1,at=null,Fe=!1,Ie=null,st=null,Xe=null,We=null,Ve=null,Ft=null,Gt=!1,os="p3-linear",bs="linear",ls=!1,As=null,vs=null,ys=!1,Ks=!1,yr=null,Ur=!1,Ms=null,Cr=null,hr=!1,mo=null,po=null,Rr=0,nr=0,zr=new VL,Ps={deltaTime:0,pointer:{x:-10,y:-10,seen:!1},pointerActive:!1,dimensions:{width:0,height:0}},Gr=G7(()=>Ad()),Vo=M=>M.replace(/[^a-zA-Z0-9_]/g,"_"),Qr=M=>{let E=p.get(M);if(!E)return[];let k=[];for(let V of E){let I=u.get(V);I&&k.push(I)}return k},ci=M=>{let E=Vo(M);for(let[k,V]of u)if(V.metadata.id===E)return k;return null},ba=(M,E)=>{if(E==="center")return;let k=M.boundingBoxDeclaration;if(!k)return;let V={};for(let[I,J]of Object.entries(M.uniforms))V[I]=J._rawDimensional!==void 0?J._rawDimensional:J.value;return li(M,V.shapeSdfUrl),vy(k,V,te(),ee())},_i=new WeakMap,li=(M,E)=>{if(typeof E!="string"||!E||$7(E))return;let k=_i.get(M)??new Set;_i.set(M,k),!k.has(E)&&(k.add(E),a1(E,()=>{k.delete(E),u.get(M.id)===M&&(F(M),Yt()&&Bt(),vo())}))},F=M=>{let E=M.boundingBoxDeclaration,k=M.extraDimProps,V=hd(E,k);if(!V)return;let I=M.uniforms.origin?.value??"center",J=ba(M,I),_e=[...V.positionProps,...V.sizeProps.keys()];for(let Se of _e){let ke=M.uniforms[Se];if(!ke||ke._rawDimensional===void 0)continue;let Ne=Qc(E,Se,ke._rawDimensional,I,te(),ee(),k,J);ke.value=Ne,Ta(M,Se,Ne)}},le=(M,E,k)=>{if(typeof k=="number")return k;let V=M.uniforms.origin?.value??"center",I=Qc(M.boundingBoxDeclaration,E,k,V,te(),ee(),M.extraDimProps);return typeof I=="number"?I:k?.value??0},ae=()=>{let{width:M,height:E}=Sa();return M/Math.max(1,E)},ne=M=>{let E=M.metadata.transform;return{offsetX:E?.offsetX??0,offsetY:E?.offsetY??0,rotation:E?.rotation??0,scale:E?.scale??1,anchorX:E?.anchorX??.5,anchorY:E?.anchorY??.5,aspectRatio:ae()}},ie=M=>{let E=M.metadata.boundingBox;if(!E)return null;let k=Ov(E,te(),ee());return{centerX:k.centerX,centerY:k.centerY,halfWidth:k.halfWidthUV,halfHeight:k.halfHeightUV,cornerRadius:k.cornerRadiusUV,rotation:k.rotation,aspectRatio:ae()}},ge=M=>!!M.metadata.boundingBox&&!!M.boundingBoxDeclaration&&!r1(M.metadata.boundingBox),Ye=M=>{let E=M.boundingBoxDeclaration;if(!E||!M.uniforms||!E.computeBounds&&!E.propBindings)return null;let k={};for(let[ke,Ne]of Object.entries(M.uniforms))k[ke]=Ne._rawDimensional!==void 0?Ne._rawDimensional:Ne.value;let V=vy(E,k,te(),ee());if(V.hwx<=0&&V.hhy<=0)return null;let I=.5,J=.5,_e=E.propBindings?.x?.prop??E.propBindings?.y?.prop,Se=_e?M.uniforms[_e]?.value:void 0;if(Se&&typeof Se.x=="number"&&typeof Se.y=="number"&&(I=Se.x,J=Se.y),_e){let ke=M.metadata.maps?.[_e];if(ke?.type==="mouse-position"){let Ne=M.mouseDriverState[_e];Ne&&(I=Ne.liveX??(typeof ke.x=="number"?ke.x:Ne.currentX),J=Ne.liveY??(typeof ke.y=="number"?ke.y:Ne.currentY))}}return{centerX:I,centerY:J,halfWidth:V.hwx,halfHeight:V.hhy}},Je=M=>{if(!M.definition.wantsBoundsParams)return null;let E=Qr(M.id).sort((k,V)=>k.metadata.renderOrder-V.metadata.renderOrder);for(let k of E){if(k.metadata.visible===!1)continue;if(ge(k))return null;let V=Ye(k);if(V)return V}return null},rt=()=>{for(let M of u.values()){if(!M.definition.wantsBoundsParams)continue;let E=Je(M);E&&(es(M,"_childBounds_centerX",E.centerX),es(M,"_childBounds_centerY",E.centerY),es(M,"_childBounds_halfWidth",E.halfWidth),es(M,"_childBounds_halfHeight",E.halfHeight))}},He=!1,Bt=()=>{He=!0,vo()},Yt=()=>{for(let M of u.values()){let E=M.metadata.flow?.mode;if(E==="column"||E==="row")return!0}return!1},Ls=M=>{let E={};for(let[J,_e]of Object.entries(M.uniforms))E[J]=_e._rawDimensional!==void 0?_e._rawDimensional:_e.value;let k=M.boundingBoxDeclaration?.propBindings?.x?.prop??M.boundingBoxDeclaration?.propBindings?.y?.prop,V=k?M.uniforms[k]?.value:void 0,I=!!(k&&(V?.type==="mouse-position"||M.metadata.maps?.[k]));return{id:M.id,componentName:M.componentName,visible:M.metadata.visible!==!1,absolute:M.metadata.absolute===!0,requiresChild:M.requiresChild,layout:M.metadata.flow,decl:M.boundingBoxDeclaration,props:E,boundingBox:M.metadata.boundingBox,positionDriven:I,children:Qr(M.id).sort((J,_e)=>J.metadata.renderOrder-_e.metadata.renderOrder).map(Ls)}},fo=()=>{if(!Yt()){He=!1;return}let M=te(),E=ee();if(M<=1||E<=1)return;He=!1;let k=[];for(let I of u.values())I.parentId===null&&k.push(Ls(I));let V=OL(k,M,E);for(let I of V){let J=u.get(I.id);if(J)if(I.kind==="position"){let _e=J.uniforms[I.prop];if(!_e)continue;let Se=_e.value,ke=Se&&typeof Se=="object"?{...Se,x:I.value.x,y:I.value.y}:I.value;_e.value=ke,Ta(J,I.prop,ke)}else{let _e=ge(J);if(J.metadata.boundingBox={x:{value:I.xPx,unit:"px"},y:{value:I.yPx,unit:"px"},width:{value:I.widthPx,unit:"px"},height:{value:I.heightPx,unit:"px"},origin:"top-left",rotation:J.metadata.boundingBox?.rotation??0,...J.metadata.boundingBox?.cornerRadius?{cornerRadius:J.metadata.boundingBox.cornerRadius}:{},...J.metadata.boundingBox?.lockAspect!==void 0?{lockAspect:J.metadata.boundingBox.lockAspect}:{}},!_e&&ge(J))Bn();else{let Se=ie(J);if(Se)for(let[ke,Ne]of Object.entries(Se))es(J,`_bbox_${ke}`,Ne)}}}},br=()=>{He&&fo()},Nt=null,No=()=>{Yt()&&Bt()},Yr=()=>{Nt||(Nt=y7(()=>{Yt()&&Bt()})),typeof document<"u"&&document.fonts?.addEventListener&&document.fonts.addEventListener("loadingdone",No)};Yr();let Ro=M=>Tn(M.metadata.transform),wa=(M,E,k)=>{let V=M.mapValues[E]??{inputMin:0,inputMax:1,outputMin:0,outputMax:1,curve:0};if(k.type==="map"){let I=k;V.inputMin=I.inputMin,V.inputMax=I.inputMax,V.outputMin=le(M,E,I.outputMin),V.outputMax=le(M,E,I.outputMax),V.curve=I.curve??0}else if(k.type==="mouse"){let I=k;V.outputMin=le(M,E,I.outputMin),V.outputMax=le(M,E,I.outputMax),V.curve=I.curve??0}else if(k.type==="auto-animate"){let I=k;V.outputMin=le(M,E,I.outputMin),V.outputMax=le(M,E,I.outputMax)}return M.mapValues[E]=V,V},E1=(M,E,k)=>{let V=M.mouseDriverState[E];if(V)return V;if(k.type==="mouse-position"){let I=k.x===void 0||k.x==="mouse",J=k.y===void 0||k.y==="mouse";V={currentX:I?je:k.x,currentY:J?fe:k.y,velocityX:0,velocityY:0,pointerSnapped:Ze}}else V={currentX:Math.max(.001,k.axis==="x"?je:fe),currentY:0,velocityX:0,velocityY:0,pointerSnapped:Ze};return M.mouseDriverState[E]=V,V},k1=M=>{let E=M.metadata.maps;if(E)for(let[k,V]of Object.entries(E))k in M.uniforms&&(V.type==="map"?wa(M,k,V):V.type==="mouse-position"?E1(M,k,V):V.type==="mouse"?(E1(M,k,V),wa(M,k,V)):V.type==="auto-animate"&&(M.autoAnimateState[k]||(M.autoAnimateState[k]={}),wa(M,k,V)))},__=M=>{let E=M.definition.animatedTime;return(E?M.uniforms[E.speed]:void 0)??M},$1=(M,E)=>M.uniforms[E]??M,Gy=M=>{let E=[];for(let[I,J]of Object.entries(M.uniforms))E.push({name:I,initial:J.value,transform:J.transform,cpu:J.cpu,schema:J.schema});if(E.push({name:"_opacity",schema:a,initial:M.metadata.opacity??1}),M.definition.animatedTime&&E.push({name:"_animTime",schema:a,initial:ii(__(M)).value}),M.definition.extraAnimatedTimes)for(let[I,J]of Object.entries(M.definition.extraAnimatedTimes))E.push({name:`_animTime_${I}`,schema:a,initial:ii($1(M,J)).value});let k=M.definition.extraFields;if(k)for(let[I,J]of Object.entries(k))E.push({name:I,schema:J.schema,initial:J.initial});if(Ro(M)){let I=ne(M);for(let[J,_e]of Object.entries(I))E.push({name:`_xform_${J}`,schema:a,initial:_e})}if(ge(M)){let I=ie(M);if(I)for(let[J,_e]of Object.entries(I))E.push({name:`_bbox_${J}`,schema:a,initial:_e})}if(M.definition.wantsBoundsParams){let I=Je(M)??{centerX:.5,centerY:.5,halfWidth:.5,halfHeight:.5};for(let[J,_e]of Object.entries(I))E.push({name:`_childBounds_${J}`,schema:a,initial:_e})}let V=M.metadata.maps;if(V){k1(M);for(let[I,J]of Object.entries(V))if(I in M.uniforms){if(J.type==="map"){let _e=M.mapValues[I];E.push({name:`_map_${I}_inputMin`,schema:a,initial:_e.inputMin}),E.push({name:`_map_${I}_inputMax`,schema:a,initial:_e.inputMax}),E.push({name:`_map_${I}_outputMin`,schema:a,initial:_e.outputMin}),E.push({name:`_map_${I}_outputMax`,schema:a,initial:_e.outputMax}),E.push({name:`_map_${I}_curve`,schema:a,initial:_e.curve})}else if(J.type==="mouse-position"){let _e=M.mouseDriverState[I];E.push({name:`_smoothed_${I}`,schema:l,initial:[_e.currentX,1-_e.currentY]})}else if(J.type==="mouse"){let _e=M.mapValues[I];E.push({name:`_smoothed_${I}`,schema:a,initial:_e.outputMin})}else if(J.type==="auto-animate"){let _e=M.mapValues[I];E.push({name:`_smoothed_${I}`,schema:a,initial:_e.outputMin})}}}return E},Ta=(M,E,k)=>{let V=M._liveHandles?.[E];V&&(As?.(os),e7(V,k))},es=(M,E,k)=>{let V=M._liveHandles?.[E];V instanceof Oo&&(V.value=k)},Yy=(M,E,k)=>{let V=M._liveHandles?.[E];V instanceof Oo?V.value=k:V instanceof Sc&&Array.isArray(k)&&(V.array=k)},dT=M=>{for(let E of Object.values(M.uniforms))if(E.transform===ir){let k=E.value;if(typeof k=="string")return ir(k);if(typeof k=="number")return k}return 0},cT=M=>{if(!M.uniforms.convertedColorsArray)return;let E=null;for(let J of Object.values(M.uniforms))if(J.transform===Rn){E=J.value??null;break}let k=jv(E,Kc),V=Kv(k.colors,k.stopCount,dT(M)),I=(J,_e)=>{let Se=M.uniforms[J];Se&&(Se.value=_e),Ta(M,J,_e)};I("colorsArray",k.colors),I("positionsArray",k.positions),I("convertedColorsArray",V),I("stopCount",k.stopCount)},Ly=(M,E)=>{let k=M.uniforms[E],V=k?._listSpec;if(!k||!V)return;let I=k._rawList,J=new Set,_e=ly(I,V,{color:Kc,drivenPosition:(Ne,Lt,ns)=>{let Ht=cw(E,Ne,Lt);J.add(Ht);let nt=E1(M,Ht,ns);return nt.liveX!==void 0&&nt.liveY!==void 0?{x:nt.liveX,y:1-nt.liveY}:void 0}});for(let Ne of Object.keys(M.mouseDriverState)){let Lt=_y(Ne);Lt&&Lt.prop===E&&!J.has(Ne)&&delete M.mouseDriverState[Ne]}k.value=_e,Ta(M,E,_e);let Se=uy(_e,V),ke=(Ne,Lt)=>{let ns=M.uniforms[Ne];ns&&(ns.value=Lt),Ta(M,Ne,Lt)};for(let[Ne,Lt]of Object.entries(Se.fields))ke(dy(E,Ne),Lt);ke(cy(E),Se.count)},_T=(M,E)=>{let k=M.metadata.maps?.[E];if(k)return k;let V=_y(E);if(!V)return;let I=M.uniforms[V.prop]?._rawList,J=(Array.isArray(I)?I[V.index]:void 0)?.[V.field];return _1(J)?J:void 0},lT=M=>Object.values(M.uniforms).some(E=>E._listSpec&&my(E._rawList,E._listSpec)),uT=M=>{if(es(M,"_opacity",M.metadata.opacity??1),M.definition.animatedTime&&es(M,"_animTime",ii(__(M)).value),M.definition.extraAnimatedTimes)for(let[k,V]of Object.entries(M.definition.extraAnimatedTimes))es(M,`_animTime_${k}`,ii($1(M,V)).value);if(Ro(M))for(let[k,V]of Object.entries(ne(M)))es(M,`_xform_${k}`,V);if(ge(M)){let k=ie(M);if(k)for(let[V,I]of Object.entries(k))es(M,`_bbox_${V}`,I)}let E=M.metadata.maps;if(E){for(let[k,V]of Object.entries(E))if(V.type==="map"&&M.mapValues[k]){let I=M.mapValues[k];es(M,`_map_${k}_inputMin`,I.inputMin),es(M,`_map_${k}_inputMax`,I.inputMax),es(M,`_map_${k}_outputMin`,I.outputMin),es(M,`_map_${k}_outputMax`,I.outputMax),es(M,`_map_${k}_curve`,I.curve)}}},mT=(M,E)=>{let k={};for(let V of Object.keys(M.uniforms)){let I=E[V];I&&(k[V]=I)}return k},pT=M=>{let E={};for(let[k,V]of Object.entries(M.uniforms))E[k]={accessorPath:"",cpu:!!V.cpu,value:V.value};return E},fT=(M,E)=>({id:M.id,customId:M.metadata.id,componentName:M.componentName,parentId:M.parentId,definition:M.definition,metadata:M.metadata,handles:E,domCanvas:M.domCanvas}),Iy=(M,E)=>{let k=new Map,V=J=>fT(J,M&&E?mT(J,E.get(J.id)??{}):pT(J)),I=J=>{let _e=k.get(J);if(_e)return _e;let Se=u.get(J);if(!Se)return;let ke=V(Se);return k.set(J,ke),ke};return{rootId:m,getNode:I,getChildren:J=>Qr(J).map(_e=>I(_e.id)),resolveCustomId:J=>ci(J),store:{gpuAccessor:(J,_e)=>M?M.gpuAccessor(J,_e):"",layout:M?.layout}}},Dy=()=>({toneMapping:bs,flipY:!1,premultiplyAlpha:!0,canvas:n??void 0,dimensions:Sa(),gpu:t?{device:t.device,root:t}:void 0,writeExtraField:(M,E,k)=>{let V=u.get(M);V&&Yy(V,E,k)},createMediaTexture:M=>{if(!r)throw new Error("[gpu] createMediaTexture before init");return r.createMediaTexture(M)},createDataTexture:M=>{if(!r)throw new Error("[gpu] createDataTexture before init");return r.createDataTexture(M)},resolveMapWindow:(M,E)=>{let k=u.get(M),V=k?.metadata.maps?.[E];if(!k||!V||V.type!=="map")return;let I=wa(k,E,V);return{inputMin:I.inputMin,inputMax:I.inputMax,outputMin:I.outputMin,outputMax:I.outputMax,curve:I.curve}},resolveDriverCpuValue:(M,E)=>{let k=u.get(M);if(!k)return;if(E==="_animTime"||E.startsWith("_animTime_")){let I=k._liveHandles?.[E];return I instanceof Oo?I.value:void 0}let V=k.metadata.maps?.[E];if(V){if(V.type==="mouse-position"){let I=k.mouseDriverState[E];return!I||I.liveX===void 0||I.liveY===void 0?void 0:{x:I.liveX,y:1-I.liveY}}if(V.type==="mouse"||V.type==="auto-animate"){let I=k._liveHandles?.[`_smoothed_${E}`];return I instanceof Oo?I.value:void 0}}}}),vT=()=>{let M=[];for(let[E,k]of u){let V=k.metadata;M.push(`aopac:${E}:${(V.opacity??1)<1}`);let I=k.uniforms.stopCount?.value;typeof I=="number"&&M.push(`stops:${E}:${I>1?I:0}`);for(let[J,_e]of Object.entries(k.uniforms)){if(!_e.compileTimeWhen)continue;let Se=_e._lastCompiledValue;typeof Se!="number"&&typeof Se!="boolean"||M.push(`ctw:${E}:${J}:${String(Se)}`)}if(V.maps){let J=Object.entries(V.maps).sort(([_e],[Se])=>_eSe?1:0).map(([_e,Se])=>{let ke=Se;return`${_e}=${ke.type}:${ke.source??""}:${ke.channel??""}:${ke.axis??""}`}).join(",");M.push(`mapfp:${E}:${J}`)}}return M},Fy=()=>m?$L([..._7(Iy(null,null),Dy()),...vT()]):null,Sa=()=>({width:Math.max(1,Math.round(P*L)),height:Math.max(1,Math.round(U*L))}),yT=M=>{let E={};for(let k of M.textures)k.kind!=="rtt"&&k.resource&&(E[k.key]=k.resource);return E},hT=M=>{if(!t||!r||!o)throw new Error("[gpu] buildComposition before init");let E=J6(t,{systemSchema:kL}),k=new Map;for(let[Se,ke]of u)k.set(Se,E.defineNode(Se,Gy(ke)));E.defineSystem(),E.finalize();let V=c7(Iy(E,k),Dy()),I=CL(t,{textureManager:r,dispatcher:o}),J={hash:M,store:E,ir:V,passManager:I,handlesById:k,fresh:!0,validationFrames:3},_e=V.usesCustomWgsl?t.device:void 0;_e&&_e.pushErrorScope("validation");try{I.setComposition(V,E.bindGroup,Sa(),yT(V))}finally{_e&&_e.popErrorScope().then(Se=>{Se&&!J.broken&&By(J,Se.message)}).catch(()=>{})}return w.add(J),J},By=(M,E)=>{M.broken=E,y_("[gpu] a shader in this composition failed GPU validation \u2014 it will not draw until it changes. If you are writing a wgsl`\u2026` body, the message below points at the line:\n"+E)},Wy=M=>{try{for(let E of M.ir.onCleanup)E()}catch(E){Is("[gpu] composition onCleanup error:",E)}try{M.passManager.dispose()}catch(E){Is("[gpu] passManager dispose error:",E)}try{M.store.destroy()}catch(E){Is("[gpu] store destroy error:",E)}w.delete(M),S===M&&(S=null)},xT=M=>{let E=!1;for(let[k,V]of M.handlesById){let I=u.get(k);I&&I._liveHandles!==V&&(I._liveHandles=V,E=!0)}if(!(M===S&&!E)){if(!M.fresh){for(let k of u.values()){for(let[V,I]of Object.entries(k.uniforms))Ta(k,V,I.value);k1(k),uT(k)}M.store.writeAll()}M.fresh=!1,S=M,!ys&&M.ir.composedNodeIds.size>0&&(Ks=!0)}},Bn=()=>{A=!0,Yt()&&(He=!0),vo()},vo=()=>{Ms||Gr.running||de===null&&typeof requestAnimationFrame=="function"&&(de=requestAnimationFrame(()=>{de=null,Ad()}))},Oy=(M,E,k,V,I={},J,_e)=>{if(Ms)return;if(E===null){let nt=y.findIndex(Zs=>Zs.id===M);if(nt!==-1){y.splice(nt,1),h=h.filter(Zs=>Zs.id!==M);return}U1(M);return}if(!J){console.error(`[gpu] registerNode("${M}") requires a componentDefinition`);return}if(!c){let nt=y.findIndex(zo=>zo.id===M),Zs={id:M,definition:J,parentId:k,metadata:V,uniforms:I,domCanvas:_e};nt!==-1?(y[nt]=Zs,h=h.filter(zo=>zo.id!==M)):y.push(Zs);return}let Se=0;if(k!==null){let nt=p.get(k);if(nt&&nt.size>0){let Zs=0;for(let zo of nt){let Lr=u.get(zo);Lr&&Lr.metadata.renderOrder>Zs&&(Zs=Lr.metadata.renderOrder)}Se=Zs+1}}let ke={blendMode:V?.blendMode||"normal",opacity:V?.opacity,visible:V?.visible!==!1,id:V?.id?Vo(V.id):V?.id,mask:V?.mask,maps:V?.maps,renderOrder:V?.renderOrder!==void 0?V.renderOrder:Se,transform:V?.transform,boundingBox:V?.boundingBox,flow:V?.flow,absolute:V?.absolute},Ne=J.boundingBoxDeclaration,Lt=J.props?fy(J.props):void 0,ns={id:M,componentName:J.name||"Unknown",parentId:k,definition:J,metadata:ke,uniforms:I,domCanvas:_e,requiresRTT:!!J.requiresRTT,requiresChild:!!J.requiresChild,blendWithChildren:!!J.blendWithChildren,acceptsUVContext:!!J.acceptsUVContext,providesUVContextViaCompute:!!J.providesUVContextViaCompute,usesPointer:!!J.usesPointer,hasUvRemap:!!J.uvRemap,boundingBoxDeclaration:Ne,wantsBoundsParams:!!J.wantsBoundsParams,extraDimProps:Lt,mouseDriverState:{},autoAnimateState:{},mapValues:{},_liveHandles:null};if(Ne||Lt){let nt=hd(Ne,Lt);if(nt){let Zs=I.origin?.value??"center",zo=ba(ns,Zs);for(let Lr of[...nt.positionProps,...nt.sizeProps.keys()]){let wr=I[Lr];wr&&(wr._rawDimensional===void 0&&(wr._rawDimensional=wr.value),wr.value=Qc(Ne,Lr,wr._rawDimensional,Zs,te(),ee(),Lt,zo))}}}for(let nt of Object.values(I))nt.compileTimeWhen&&nt._lastCompiledValue===void 0&&(nt._lastCompiledValue=nt.value);u.set(M,ns),k===null&&(m=M);let Ht=p.get(k)||new Set;Ht.add(M),p.set(k,Ht),Md(),Bn(),Yt()&&Bt()},Vy=M=>{y.some(E=>E.id===M.id)&&h.push(M)},Ny=(M,E,k)=>{let V=u.get(M);if(!V){Vy({id:M,kind:"uniform",name:E,value:k});return}let I=V.uniforms[E];if(!I)return;let J=V.boundingBoxDeclaration,_e=V.extraDimProps;if((J||_e)&&yy(J,E,_e)){I._rawDimensional=k;let Se=V.uniforms.origin?.value??"center",ke=ba(V,Se);k=Qc(J,E,k,Se,te(),ee(),_e,ke)}if(I.transform===Ka){I._rawList=k,Ly(V,E),Md(),vo();return}if(I.value=k,Ta(V,E,k),(I.transform===Rn||I.transform===ir)&&cT(V),E==="origin"&&J)F(V);else if(J&&(V.uniforms.origin?.value??"center")!=="center"){let Se=hd(J,_e),ke=!!J.computeBounds||(Se?.sizeProps.has(E)??!1),Ne=Se?.positionProps.has(E)??!1;ke&&!Ne&&F(V)}if(E==="shape"&&Md(),Yt()&&Bt(),I.compileTime){Bn();return}if(I.compileTimeWhen){let Se=I._lastCompiledValue;if(I.compileTimeWhen(Se,k)){I._lastCompiledValue=k,Bn();return}}vo()},qy=(M,E)=>{let k=u.get(M);if(!k){Vy({id:M,kind:"metadata",metadata:E});return}let V=!1;if(E.blendMode!==void 0&&k.metadata.blendMode!==E.blendMode&&(k.metadata.blendMode=E.blendMode,V=!0),E.opacity!==void 0&&k.metadata.opacity!==E.opacity){let I=k.metadata.opacity??1,J=E.opacity;k.metadata.opacity=J,es(k,"_opacity",J),I>=1!=J>=1&&(V=!0)}if(E.renderOrder!==void 0&&k.metadata.renderOrder!==E.renderOrder&&(k.metadata.renderOrder=E.renderOrder,V=!0),"visible"in E){let I=E.visible!==!1;k.metadata.visible!==I&&(k.metadata.visible=I,V=!0)}if(E.id!==void 0){let I=Vo(E.id);k.metadata.id!==I&&(k.metadata.id=I,V=!0)}if("mask"in E&&(k.metadata.mask?.source!==E.mask?.source||k.metadata.mask?.type!==E.mask?.type)&&(k.metadata.mask=E.mask,V=!0),"maps"in E&&JSON.stringify(k.metadata.maps)!==JSON.stringify(E.maps)){let I=k.metadata.maps,J=E.maps;if(k.metadata.maps=J,Md(),(()=>{if(!I||!J)return!0;let _e=Object.keys(I),Se=Object.keys(J);if(_e.length!==Se.length||!_e.every(ke=>ke in J))return!0;for(let ke of Se){let Ne=I[ke],Lt=J[ke];if(Ne.type!==Lt.type)return!0;if(Lt.type==="map"){let ns=Ne,Ht=Lt;if(ns.source!==Ht.source||ns.channel!==Ht.channel)return!0}else if(Lt.type==="mouse"&&Ne.axis!==Lt.axis)return!0}return!1})()){if(I&&J)for(let _e of Object.keys(I))_e in J&&I[_e].type!==J[_e].type&&(delete k.mouseDriverState[_e],delete k.autoAnimateState[_e],delete k.mapValues[_e]);V=!0}else if(J)for(let[_e,Se]of Object.entries(J)){let ke=wa(k,_e,Se);Se.type==="map"&&(es(k,`_map_${_e}_inputMin`,ke.inputMin),es(k,`_map_${_e}_inputMax`,ke.inputMax),es(k,`_map_${_e}_outputMin`,ke.outputMin),es(k,`_map_${_e}_outputMax`,ke.outputMax),es(k,`_map_${_e}_curve`,ke.curve))}}if(E.transform!==void 0){let I=k.metadata.transform,J={offsetX:E.transform.offsetX??I?.offsetX??0,offsetY:E.transform.offsetY??I?.offsetY??0,rotation:E.transform.rotation??I?.rotation??0,scale:E.transform.scale??I?.scale??1,anchorX:E.transform.anchorX??I?.anchorX??.5,anchorY:E.transform.anchorY??I?.anchorY??.5,edges:E.transform.edges??I?.edges??"transparent"},_e=Ro(k);k.metadata.transform=J;let Se=Tn(J);if(_e!==Se||I&&I.edges!==J.edges)V=!0;else if(Se)for(let[ke,Ne]of Object.entries(ne(k)))es(k,`_xform_${ke}`,Ne)}if(E.boundingBox!==void 0&&E.boundingBox!==null&&k.boundingBoxDeclaration!==void 0){let I=ge(k);k.metadata.boundingBox=E.boundingBox;let J=ge(k);if(I!==J)V=!0;else if(J){let _e=ie(k);if(_e)for(let[Se,ke]of Object.entries(_e))es(k,`_bbox_${Se}`,ke)}}else E.boundingBox===null&&k.metadata.boundingBox!==void 0&&(k.metadata.boundingBox=void 0,V=!0);if("flow"in E&&JSON.stringify(k.metadata.flow)!==JSON.stringify(E.flow)){let I=k.metadata.flow?.mode==="column"||k.metadata.flow?.mode==="row";k.metadata.flow=E.flow??void 0;let J=k.metadata.flow?.mode==="column"||k.metadata.flow?.mode==="row";if(I&&!J){let _e=Se=>{for(let ke of Qr(Se))F(ke),_e(ke.id)};_e(M)}Bt()}"absolute"in E&&k.metadata.absolute!==E.absolute&&(k.metadata.absolute=E.absolute,E.absolute&&F(k),Bt()),Yt()&&Bt(),V?Bn():vo()},U1=M=>{let E=u.get(M);if(!E)return;for(let V of Qr(M))U1(V.id);m===M&&(m=null);let k=p.get(E.parentId);k&&(k.delete(M),k.size===0&&p.delete(E.parentId)),u.delete(M),Md(),Bn(),Yt()&&Bt()},Xy=()=>{let M=Ps.deltaTime;Pe=C7(Re,Pe,M,performance.now());for(let E of u.values()){let k=E.metadata.maps??{};for(let V in E.mouseDriverState){let I=E.mouseDriverState[V],J=_T(E,V);if(J){if(J.type==="mouse-position"){let _e=J.smoothing??0,Se=J.momentum??0,ke=J.x===void 0||J.x==="mouse",Ne=J.y===void 0||J.y==="mouse";!I.pointerSnapped&&Ze&&(I.pointerSnapped=!0,ke&&(I.currentX=je,I.velocityX=0),Ne&&(I.currentY=fe,I.velocityY=0));let Lt,ns;if(ke){let[Go,ui]=Xc(I.currentX,I.velocityX,je,_e,Se,M);I.currentX=Go,I.velocityX=ui,Lt=Go}else Lt=J.x,I.velocityX=0;if(Ne){let[Go,ui]=Xc(I.currentY,I.velocityY,fe,_e,Se,M);I.currentY=Go,I.velocityY=ui,ns=Go}else ns=J.y,I.velocityY=0;let Ht=J.reach??1,nt=J.originX??.5,Zs=J.originY??.5,zo=J.invertX?-1:1,Lr=J.invertY?-1:1,wr=nt+zo*(Lt-nt)*Ht,yo=Zs+Lr*(ns-Zs)*Ht,Aa=wr,Pd=yo,p_=E.metadata.boundingBox;if(p_&&E.boundingBoxDeclaration?.supportsResizeFit&&ge(E)){let Go=Ov(p_,te(),ee()),ui=i7(wr,yo,{centerX:Go.centerX,centerY:Go.centerY,halfWidthUV:Go.halfWidthUV,halfHeightUV:Go.halfHeightUV,rotationDeg:Go.rotation,aspectRatio:ae()});Aa=ui.x,Pd=ui.y}I.liveX=Aa,I.liveY=Pd;let sh=E._liveHandles?.[`_smoothed_${V}`];sh instanceof Oo&&sh.setComponents(Aa,1-Pd)}else if(J.type==="mouse"){let _e=J.smoothing??0,Se=J.momentum??0,ke=J.axis==="x"?je:fe;!I.pointerSnapped&&Ze&&(I.pointerSnapped=!0,I.currentX=Math.max(.001,ke),I.velocityX=0);let[Ne,Lt]=Xc(I.currentX,I.velocityX,ke,_e,Se,M);I.currentX=Ne,I.velocityX=Lt;let ns=Math.max(.001,Ne),Ht=E.mapValues[V],nt=Ht?Ht.outputMin+(Ht.outputMax-Ht.outputMin)*Math.pow(ns,Math.pow(2,-Ht.curve*2)):ns;I.liveScalar=nt,es(E,`_smoothed_${V}`,nt)}}}for(let[V,I]of Object.entries(E.uniforms))I._listSpec&&my(I._rawList,I._listSpec)&&Ly(E,V);for(let V in E.autoAnimateState){let I=k[V];if(!I||I.type!=="auto-animate")continue;let J=Pe*(I.speed??1)*.2,_e,Se=I.easing??I.waveform??"sine";if(I.mode==="loop")_e=ey((J%1+1)%1,Se);else{let nt=(J%1+1)%1;_e=ey(nt<.5?nt*2:(1-nt)*2,Se)}let ke=E.mapValues[V],Ne=ke?ke.outputMin:le(E,V,I.outputMin),Lt=ke?ke.outputMax:le(E,V,I.outputMax),ns=Ne+_e*(Lt-Ne),Ht=E.uniforms[V];if(Ht?.compileTimeWhen){let nt=Ht._lastCompiledValue;Ht.compileTimeWhen(nt,ns)&&(Ht._lastCompiledValue=ns,Bn())}es(E,`_smoothed_${V}`,ns)}}},Hy=()=>{let M=Ps.deltaTime;for(let E of u.values()){let k=E.definition.animatedTime;if(k){let I=E.uniforms[k.speed],J=I&&Number(I.value)||0,_e=ii(__(E));_e.advance(M,J),es(E,"_animTime",_e.value)}let V=E.definition.extraAnimatedTimes;if(V)for(let[I,J]of Object.entries(V)){let _e=E.uniforms[J],Se=_e&&Number(_e.value)||0,ke=ii($1(E,J));ke.advance(M,Se),es(E,`_animTime_${I}`,ke.value)}}},C1=(M,E)=>U7(M,E,{maxTextureDim:G,pixelRatio:L,viewportWidth:typeof window<"u"?window.innerWidth:M,viewportHeight:typeof window<"u"?window.innerHeight:E}),R1=()=>{let M=(typeof window<"u"?window.devicePixelRatio:1)||1;return Math.min(M,h7())},l_=(M,E,k,V)=>{if(Q&&M===P&&E===U&&k===D&&V===O){let{width:Se,height:ke}=Sa();if(!n||n.width===Se&&n.height===ke)return}P=M,U=E,D=k,O=V,py(k,V),Q||(Q=!0,u.size>0&&Bn());let{width:I,height:J}=Sa();n&&(n.width=I,n.height=J);let _e=!1;for(let Se of w)Se.passManager.resize(I,J)&&(_e=!0);for(let Se of w)for(let ke of Se.ir.onResize)try{ke({width:I,height:J})}catch(Ne){Is("[gpu] composition onResize error:",Ne)}for(let Se of u.values()){if(Ro(Se)&&es(Se,"_xform_aspectRatio",ae()),ge(Se)){let ke=ie(Se);if(ke)for(let[Ne,Lt]of Object.entries(ke))es(Se,`_bbox_${Ne}`,Lt)}F(Se)}if(fo(),_e)for(let Se of w)Ky(Se.store),Se.store.flush(),Se.passManager.repaintRtt();Ue=0,Ad()},z1=(M,E)=>{M<=0||E<=0||M===W&&E===K||(W=M,K=E,Ft={width:M,height:E},!Gt&&typeof requestAnimationFrame=="function"&&(Gt=!0,requestAnimationFrame(()=>{if(Gt=!1,!Ft)return;let k=Ft;Ft=null;let{width:V,height:I}=C1(k.width,k.height);l_(V,I,k.width,k.height)})))},gT=M=>{let E=M[0];if(!E)return;let k,V;if(E.contentBoxSize){let I=Array.isArray(E.contentBoxSize)?E.contentBoxSize[0]:E.contentBoxSize;I?(k=Math.round(I.inlineSize),V=Math.round(I.blockSize)):(k=Math.round(E.contentRect.width),V=Math.round(E.contentRect.height))}else k=Math.round(E.contentRect.width),V=Math.round(E.contentRect.height);k===0||V===0||z1(k,V)},bT=M=>{let E=M[0];E&&(Ee=E.isIntersecting)},jy=()=>i&&!!t&&!!s&&P>0&&U>0,Ky=M=>{let E=M.systemHandles,{width:k,height:V}=Sa(),I=R1(),J=(_e,Se)=>{let ke=E[_e];ke instanceof Oo&&(ke.value=Se)};J("time",Pe),J("viewportSize",[k,V]),J("logicalViewportSize",[te()*I,ee()*I]),J("aspect",k/Math.max(1,V)),J("pointer",[je,fe]),J("pointerActive",Ke?1:0)},Zy=M=>{for(let E of M)try{E(Ps)}catch(k){Is("[gpu] render callback error:",k)}},Qy=M=>{if(Ms||!jy())return;let E=performance.now(),k;if(M!==void 0)k=M;else{let _e=R7(E,{lastRenderTime:Ue,isVisible:Ee,forceFullFrameRate:Te,minInterval:Me});if(!_e.render)return;k=_e.deltaTime}Ue=E,ls&&performance.mark("shader-cpu-start");let V=je>-5;Ps.deltaTime=k,Ps.pointer.x=V?je:.5,Ps.pointer.y=V?fe:.5,Ps.pointer.seen=Ze,Ps.pointerActive=Ke,Ps.dimensions.width=P,Ps.dimensions.height=U;let I=null,J=null;try{z7({updateDrivers:()=>{Xy(),Hy(),rt(),br()},ensureComposition:()=>((A||T===null)&&(T=Fy(),A=!1),T===null?!1:(I=g.getOrBuild(T,()=>hT(T)),xT(I),!!S)),beforeRender:()=>Zy(S.ir.onBeforeRender),flush:()=>{Ky(S.store),S.store.flush()},render:()=>{if(ls&&performance.mark("shader-gpu-start"),J=g.renderValue??I,J?.broken)return!1;let _e=J,Se=_e&&_e.validationFrames>0&&_e.ir.usesCustomWgsl?t?.device:void 0;Se&&Se.pushErrorScope("validation");try{_e?.passManager.render(s,Ps,()=>S?.store.flush())}finally{Se&&_e&&(_e.validationFrames--,Se.popErrorScope().then(ke=>{ke&&!_e.broken&&By(_e,ke.message)}).catch(()=>{}))}if(ls){performance.mark("shader-gpu-end");try{performance.measure("shader-gpu-time","shader-gpu-start","shader-gpu-end");let ke=performance.getEntriesByName("shader-gpu-time")[0];ke&&zr.recordGpuTime(ke.duration),performance.clearMeasures("shader-gpu-time"),performance.clearMarks("shader-gpu-start"),performance.clearMarks("shader-gpu-end")}catch{}}},markReady:()=>{g.markReady(T),Ks&&!ys&&(ys=!0,Ks=!1,vs&&queueMicrotask(vs))},afterRender:()=>Zy((J??S).ir.onAfterRender)}),nr=0}catch(_e){$T(_e);return}if(ls){performance.mark("shader-cpu-end");try{performance.measure("shader-cpu-time","shader-cpu-start","shader-cpu-end");let _e=performance.getEntriesByName("shader-cpu-time")[0];_e&&zr.recordCpuTime(_e.duration),performance.clearMarks("shader-cpu-start"),performance.clearMarks("shader-cpu-end"),performance.clearMeasures("shader-cpu-time")}catch{}}zr.recordFrame(performance.now()-E)},Ad=()=>Qy(void 0),wT=async M=>{if(Ms)return;if(!jy())throw new Error("Renderer is not ready");let E=Gr.running;E&&u_(),Ue=0,Ad(),t&&M?.waitForGpu!==!1&&await ty(t),E&&G1()},TT=async(M,E)=>{Qy(M),t&&E?.waitForGpu!==!1&&await ty(t)},G1=()=>{Ms||Gr.running||!he||(zr.setRendering(!0),Gr.start())},u_=()=>{Gr.running&&(Gr.stop(),zr.setRendering(!1))},m_=M=>{if(!n)return;at=n.getBoundingClientRect();let E,k;if("touches"in M){if(M.touches.length===0)return;E=M.touches[0].clientX,k=M.touches[0].clientY}else E=M.clientX,k=M.clientY;je=(E-at.left)/at.width,fe=(k-at.top)/at.height,Ze=!0},ST=M=>{!i||!n||(m_(M),Ke=!0,vo())},AT=M=>{!i||!n||(m_(M),Ke=!0,vo())},MT=()=>{i&&(Ke=!1,vo())},PT=()=>{i&&(Ke=!1,vo())},Jy=(M,E)=>{if(!i||!n)return!1;let k=n.getBoundingClientRect();return k.width===0||k.height===0?!1:M>=k.left&&M<=k.right&&E>=k.top&&E<=k.bottom},ET=M=>{M.button===0&&Jy(M.clientX,M.clientY)&&(Ke=!0,m_(M),vo())},kT=M=>{M.touches.length!==0&&Jy(M.touches[0].clientX,M.touches[0].clientY)&&(Ke=!0,m_(M),vo())},Md=()=>{let M=!1;for(let E of u.values()){if(E.usesPointer){M=!0;break}if(HL(E.uniforms?.shape?.value)||lT(E)){M=!0;break}if(E.metadata.maps){for(let k of Object.values(E.metadata.maps))if(k&&typeof k=="object"&&"type"in k){let V=k.type;if(V==="mouse"||V==="mouse-position"){M=!0;break}}if(M)break}}M&&!Fe?(Fe=!0,!Ie&&n&&(Ie=XL.register({onMouseMove:ST,onTouchMove:AT,onMouseDown:ET,onTouchStart:kT,onMouseUp:MT,onTouchEnd:PT}))):!M&&Fe&&(Fe=!1,Ie&&(Ie(),Ie=null))},eh=()=>{if(y.length===0)return;let M=[...y];y=[];for(let k of M)Oy(k.id,k.definition.fragment,k.parentId,k.metadata,k.uniforms,k.definition,k.domCanvas);let E=h;h=[];for(let k of E)k.kind==="uniform"?Ny(k.id,k.name,k.value):qy(k.id,k.metadata)},Wn=(M,E)=>{if(!Ms){Ms=M,dh(M),Is(`[gpu] renderer stopped (${M}):`,E);try{Y1()}catch(k){Is("[gpu] cleanup during failure threw:",k)}if(!hr&&Cr){hr=!0;let k=Cr;queueMicrotask(()=>{try{k(M,E)}catch(V){Is("[gpu] onUnavailable callback threw:",V)}})}}},$T=M=>{if(I1(M)){Wn(M.reason,M);return}nr++,nr===1&&y_("[gpu] render error:",M),nr>=qL&&Wn("render-failed",M)},UT=M=>{!M||typeof M.addEventListener!="function"||(th(),mo=M,po=E=>{try{E.preventDefault()}catch{}let k=E.error;if(y_("[gpu] uncaptured device error (a custom WGSL body that fails to compile reports here \u2014 read the message for the line):",k),typeof GPUOutOfMemoryError<"u"&&k instanceof GPUOutOfMemoryError){Wn("out-of-memory",k);return}if(typeof GPUInternalError<"u"&&k instanceof GPUInternalError){Wn("gpu-error",k);return}Rr++,Rr>=NL&&Wn("gpu-error",k)},M.addEventListener("uncapturederror",po))},th=()=>{if(mo&&po)try{mo.removeEventListener("uncapturederror",po)}catch{}mo=null,po=null},CT=M=>{if(!Ur){Ur=!0;try{u_()}catch{}if(yr){let E=yr;queueMicrotask(()=>{try{E(M)}catch(k){Is("[gpu] onDeviceLost callback threw:",k)}});return}Wn("device-lost",M)}},RT=async M=>{if(M.context!==void 0)throw new Error("[gpu] initialize({ context }) is not supported \u2014 this renderer is WebGPU-only. Remove the WebGL `context` option.");if(Ms)return;let E=ch();if(E){Wn(E);return}if(i||d)return;let{canvas:k,resizeTarget:V,enablePerformanceTracking:I=!1,colorSpace:J="p3-linear",toneMapping:_e="linear",gpu:Se,forceFullFrameRate:ke=!1,observeElement:Ne=!0,timeOrigin:Lt}=M;Lt!=null&&(Re=Lt),ls=I,Te=ke,os=J,bs=_e,Yr(),d=!0,_=new AbortController;let ns=_;try{if(As=lw,As(J),ns.signal.aborted||(n=k,e=await SL({device:Se?.device,adapter:Se?.adapter,onDeviceLost:yo=>CT(yo.message||yo.reason||"unknown")}),ns.signal.aborted))return;t=e.root,UT(t.device),L=R1();let Ht=t.device.limits?.maxTextureDimension2D;typeof Ht=="number"&&Ht>0&&(G=Ht),r=zL(t),o=f7(t),typeof window<"u"&&(We=()=>Y1(),window.addEventListener("beforeunload",We),Ve=()=>{if(W>0&&K>0){let yo=W,Aa=K;W=0,K=0,z1(yo,Aa)}},window.addEventListener("resize",Ve,{passive:!0}));let nt=k.getBoundingClientRect();at=nt,Ee=!Ne||nt.width>0&&nt.height>0&&nt.top0&&nt.left0,he=!0;let Zs=nt.width>0?nt.width:k.width,zo=nt.height>0?nt.height:k.height,Lr=Math.round(Zs),wr=Math.round(zo);if(Lr>0&&wr>0){W=Lr,K=wr;let{width:yo,height:Aa}=C1(Lr,wr);P=yo,U=Aa,D=Lr,O=wr,Q=!0,py(Lr,wr);let{width:Pd,height:p_}=Sa();k.width=Pd,k.height=p_}else Q=!1;if(s=PL(t,k),Ne&&typeof ResizeObserver<"u"){let yo=V??k.parentElement;yo?(st=new ResizeObserver(gT),st.observe(yo)):console.warn("[gpu] no element available for resize observation \u2014 use resize() manually"),typeof IntersectionObserver<"u"&&(Xe=new IntersectionObserver(bT,{threshold:0,rootMargin:"128px"}),Xe.observe(k))}if(ns.signal.aborted)return;i=!0,c=!0,eh(),P>0&&U>0&&Ad(),he&&G1()}catch(Ht){let nt=I1(Ht)?Ht.reason:"init-failed";d=!1,_===ns&&(_=null),Wn(nt,Ht);return}finally{d=!1,_===ns&&(_=null)}},Y1=()=>{_&&_.abort(),st&&(st.disconnect(),st=null),Xe&&(Xe.disconnect(),Xe=null),Ie&&(Ie(),Ie=null),We&&typeof window<"u"&&(window.removeEventListener("beforeunload",We),We=null),Ve&&typeof window<"u"&&(window.removeEventListener("resize",Ve),Ve=null),de!==null&&typeof cancelAnimationFrame=="function"&&(cancelAnimationFrame(de),de=null),u_(),th(),Nt?.(),Nt=null,typeof document<"u"&&document.fonts?.removeEventListener&&document.fonts.removeEventListener("loadingdone",No);try{e?.release?.()}catch{}g.clear();for(let M of[...w])Wy(M);S=null;try{r?.destroy()}catch{}try{e?.createdDevice&&t?.destroy()}catch{}u.clear(),m=null,p.clear(),y=[],h=[],c=!1,Ft=null,Gt=!1,n=null,s=null,r=null,o=null,t=null,e=null,i=!1,d=!1,Q=!1,_=null,P=0,U=0,D=0,O=0,T=null,A=!0,Ee=!1,he=!0,je=-10,fe=-10,Ke=!1,Ze=!1,Fe=!1,vs=null,ys=!1,Ks=!1,yr=null,Ur=!1,Rr=0,nr=0};return{initialize:RT,cleanup:Y1,registerNode:Oy,removeNode:U1,updateUniformValue:Ny,updateNodeMetadata:qy,isInitialized:()=>i,resize:(M,E)=>{t&&z1(M,E)},startAnimation:G1,stopAnimation:u_,renderAndWait:wT,renderSyntheticFrame:TT,getPerformanceStats:()=>{let M=Math.max(0,u.size-1),E=S?S.ir.rttPasses.length:0;zr.updateNodeCounts(M,E);let k={render:{calls:S?S.passManager.passCount:0},programs:{length:g.size},memory:{textures:r?r.textureCount:0}};return zr.getStats(k)},getLiveDriverValue:(M,E)=>{let k=u.get(M)?.mouseDriverState?.[E];return!k||k.liveX===void 0||k.liveY===void 0?null:{x:k.liveX,y:k.liveY}},getLiveScalarValue:(M,E)=>{let k=u.get(M);if(!k)return null;let V=k.metadata.maps?.[E];if(V?.type==="auto-animate"){let I=k._liveHandles?.[`_smoothed_${E}`],J=I instanceof Oo?I.value:void 0;return typeof J=="number"?J:null}return V?.type==="mouse"?k.mouseDriverState[E]?.liveScalar??null:null},getNodeRegistry:()=>({nodes:new Map(u)}),getRendererType:()=>"webgpu",getInternalRenderer:()=>t?{device:t.device,adapter:e?.adapter,root:t}:null,setForceFullFrameRate:M=>{let E=Te;return Te=M,E},beginRecordingResolution:(M,E,k)=>{if(!t||M<=0||E<=0)return()=>{};let V=L,I=P,J=U,_e=D,Se=O,ke=W,Ne=K;return L=k,l_(M,E,M,E),()=>{t&&(L=V,l_(I,J,_e,Se),W=ke,K=Ne)}},setResolutionScale:M=>{if(!t)return;let E=Math.max(.05,Math.min(M,1)),k=Math.max(.01,R1()*E);if(Math.abs(L-k)<.001)return;L=k;let V=D||P,I=O||U;if(V<=0||I<=0)return;let{width:J,height:_e}=C1(V,I);l_(J,_e,V,I)},setFrameRateCap:M=>{Me=M&&M>0?1e3/Math.max(M,10)-1:0},setTimeOrigin:M=>{Re=M},setOnReady:M=>{vs=M,M&&ys&&queueMicrotask(M)},setOnDeviceLost:M=>{yr=M},setOnUnavailable:M=>{if(Cr=M,M&&Ms&&!hr){hr=!0;let E=Ms;queueMicrotask(()=>{try{M(E)}catch(k){Is("[gpu] onUnavailable callback threw:",k)}})}},getFailureReason:()=>Ms,__testing:{needsTransformation:Tn,findChildNodes:Qr,buildFieldInits:M=>{let E=u.get(M);return E?Gy(E):null},ensureDriverState:M=>{let E=u.get(M);E&&k1(E)},stepMouseDrivers:M=>{Ps.deltaTime=M,Xy()},stepAnimatedTime:M=>{Ps.deltaTime=M,Hy()},getAnimatedTimeValue:M=>{let E=u.get(M);return E?.definition.animatedTime?ii(__(E)).value:null},writeExtraField:(M,E,k)=>{let V=u.get(M);V&&Yy(V,E,k)},readExtraField:(M,E)=>{let k=u.get(M)?._liveHandles?.[E];return k instanceof Oo?k.value:void 0},getNodeRegistry:()=>({nodes:u,rootId:m,parentToChildren:p}),getParentToChildren:()=>p,getPendingRegistrations:()=>[...y],getFrameDiagnostics:()=>({deltaTime:Ps.deltaTime,pointerX:je,pointerY:fe,pointerActive:Ke,globalElapsedTime:Pe,lastRenderTime:Ue,isVisible:Ee,forceFullFrameRate:Te,sharedTimeOrigin:Re,animating:Gr.running,mouseListenersNeeded:Fe}),computeStructuralHash:Fy,isStructuralDirty:()=>A,clearStructuralDirty:()=>{A=!1},setTestReady:M=>{i=!0,c=!0,M&&(P=M.width,U=M.height,D=M.width,O=M.height,Q=!0),eh()}}}}var jL={FlowingGradient:r_,Godrays:o_,LiquidMetal:n_,Marble:a_,MeshGradient:i_,Nebula:d_},P1=document.querySelector("canvas[data-shader]"),c_=jL[P1.dataset.shader],di=aT(),Ry=Promise.resolve();function iT(e){return Ry=Ry.then(()=>di.renderSyntheticFrame(e-di.__testing.getFrameDiagnostics().globalElapsedTime)),Ry}var zy=(async()=>{if(!c_)throw new Error(`shaders: no shader named "${P1.dataset.shader}" in this bundle`);await di.initialize({canvas:P1,observeElement:!1,colorSpace:"srgb"});let e=di.getFailureReason();if(e)throw new Error(`shaders: WebGPU unavailable (${e})`);di.registerNode("root",l1.fragment,null,null,{},l1);let t=JSON.parse(P1.dataset.shaderProps||"{}"),s=Object.fromEntries(Object.entries(c_.props).map(([o,n])=>[o,o in t?t[o]:n.default])),r={blendMode:"normal",renderOrder:1,id:"fx",boundingBox:Vv(void 0)};di.registerNode("fx",c_.fragment,"root",r,xy(c_,s,"fx"),c_),di.stopAnimation(),await iT(window.__hfTypegpuTime??0)})();window.__hf=window.__hf||{};window.__hf.buildReady=window.__hf.buildReady||{};window.__hf.buildReady.shaders=zy;zy.catch(e=>console.error(String(e)));window.addEventListener("hf-seek",e=>{let t=zy.then(()=>iT(e.detail.time));typeof e.detail.waitUntil=="function"&&e.detail.waitUntil(t)});})(); diff --git a/registry/blocks/marble/marble.html b/registry/blocks/marble/marble.html new file mode 100644 index 00000000000..42be8f8ef94 --- /dev/null +++ b/registry/blocks/marble/marble.html @@ -0,0 +1,31 @@ + + + + + + + +
+ +
+ + + diff --git a/registry/blocks/marble/registry-item.json b/registry/blocks/marble/registry-item.json new file mode 100644 index 00000000000..c2f0be51396 --- /dev/null +++ b/registry/blocks/marble/registry-item.json @@ -0,0 +1,34 @@ +{ + "$schema": "https://hyperframes.heygen.com/schema/registry-item.json", + "name": "marble", + "type": "hyperframes:block", + "title": "Marble", + "description": "Ink-dark veins wind through white in a marbled pattern that slowly shifts. A WebGPU shader from the Shaders library (shaders.com, MIT).", + "tags": ["webgpu", "webgpu-shader", "background", "marble", "texture"], + "license": "Apache-2.0 AND MIT", + "dimensions": { + "width": 1920, + "height": 1080 + }, + "duration": 2, + "files": [ + { + "path": "marble.html", + "target": "compositions/marble.html", + "type": "hyperframes:composition" + }, + { + "path": "lib/shaders.iife.js", + "target": "compositions/lib/shaders.iife.js", + "type": "hyperframes:asset" + }, + { + "path": "lib/shaders.THIRD-PARTY-LICENSES.txt", + "target": "compositions/lib/shaders.THIRD-PARTY-LICENSES.txt", + "type": "hyperframes:asset" + } + ], + "preview": { + "video": "https://static.heygen.ai/hyperframes-oss/docs/images/catalog/blocks/marble.mp4" + } +} diff --git a/registry/blocks/mesh-gradient/lib/shaders.THIRD-PARTY-LICENSES.txt b/registry/blocks/mesh-gradient/lib/shaders.THIRD-PARTY-LICENSES.txt new file mode 100644 index 00000000000..1791b74a912 --- /dev/null +++ b/registry/blocks/mesh-gradient/lib/shaders.THIRD-PARTY-LICENSES.txt @@ -0,0 +1,314 @@ +================================================================ +shaders 4.0.0 +================================================================ + +MIT License + +Copyright (c) 2026 Shader Effects Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +================================================================ +typegpu 0.12.3 +================================================================ + +MIT License + +Copyright (c) 2025 Software Mansion + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +================================================================ +tinyest 0.3.4 +================================================================ + +MIT License + +Copyright (c) 2025 Software Mansion + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +================================================================ +typed-binary 4.3.3 +================================================================ + +MIT License + +Copyright (c) 2022 Iwo Plaza + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +================================================================ +tsover-runtime 0.0.7 +================================================================ + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + diff --git a/registry/blocks/mesh-gradient/lib/shaders.iife.js b/registry/blocks/mesh-gradient/lib/shaders.iife.js new file mode 100644 index 00000000000..8924644b2c1 --- /dev/null +++ b/registry/blocks/mesh-gradient/lib/shaders.iife.js @@ -0,0 +1,266 @@ +(()=>{var mi=class extends Error{reason;constructor(e,t,s){super(t??`[gpu] WebGPU unavailable (${e})`),this.name="GpuUnavailableError",this.reason=e,s?.cause!==void 0&&(this.cause=s.cause)}};function I1(e){return!!e&&typeof e=="object"&&e.name==="GpuUnavailableError"&&typeof e.reason=="string"}var rh=null;function v_(){if(rh!==null)return rh;let e=globalThis.__SHADERS_DEBUG__;if(e!=null)return!!e;try{if(typeof localStorage<"u"&&localStorage.getItem("shaders:debug")==="1")return!0}catch{}return!1}var oh=!1;function nh(){oh=!0}function y_(...e){(v_()||oh)&&console.error(...e)}function Ma(...e){v_()&&console.warn(...e)}function Is(...e){v_()&&console.error(...e)}function ah(){return typeof navigator<"u"&&!!navigator.gpu}var f_=null;function ih(){return f_||(f_=(async()=>{if(!ah())return{supported:!1,reason:"unsupported"};try{return await navigator.gpu.requestAdapter({powerPreference:"high-performance"})?{supported:!0}:{supported:!1,reason:"no-adapter"}}catch(e){return Is("[gpu] adapter probe threw:",e),{supported:!1,reason:"no-adapter"}}})(),f_)}var zT=new Set(["unsupported","no-adapter","no-device","out-of-memory","gpu-error"]),L1=null;function dh(e){L1||!zT.has(e)||(L1=e)}function ch(){return L1}function ms(e,t){let s=e.length;Array.isArray(e[0])||(e=[e]),Array.isArray(t[0])||(t=t.map(i=>[i]));let r=t[0].length,o=t[0].map((i,d)=>t.map(c=>c[d])),n=e.map(i=>o.map(d=>{let c=0;if(!Array.isArray(i)){for(let _ of d)c+=i*_;return c}for(let _=0;_i[0]):n}function Rd(e){return On(e)==="string"}function On(e){return(Object.prototype.toString.call(e).match(/^\[object\s+(.*?)\]$/)[1]||"").toLowerCase()}function P_(e,{precision:t,unit:s}){return Vn(e)?"none":i0(e,t)+(s??"")}function Vn(e){return Number.isNaN(e)||e instanceof Number&&e?.none}function Cs(e){return Vn(e)?0:e}function i0(e,t){if(e===0)return 0;let s=~~e,r=0;s&&t&&(r=~~Math.log10(Math.abs(s))+1);let o=10**(t-r);return Math.floor(e*o+.5)/o}var GT={deg:1,grad:.9,rad:180/Math.PI,turn:360};function d0(e){if(!e)return;e=e.trim();let t=/^([a-z]+)\((.+?)\)$/i,s=/^-?[\d.]+$/,r=/%|deg|g?rad|turn$/,o=/\/?\s*(none|[-\w.]+(?:%|deg|g?rad|turn)?)/g,n=e.match(t);if(n){let i=[];return n[2].replace(o,(d,c)=>{let _=c.match(r),u=c;if(_){let m=_[0],p=u.slice(0,-m.length);m==="%"?(u=new Number(p/100),u.type=""):(u=new Number(p*GT[m]),u.type="",u.unit=m)}else s.test(u)?(u=new Number(u),u.type=""):u==="none"&&(u=new Number(NaN),u.none=!0);d.startsWith("/")&&(u=u instanceof Number?u:new Number(u),u.alpha=!0),typeof u=="object"&&u instanceof Number&&(u.raw=c),i.push(u)}),{name:n[1].toLowerCase(),rawName:n[1],rawArgs:n[2],args:i}}}function c0(e){return e[e.length-1]}function $d(e,t,s){return isNaN(e)?t:isNaN(t)?e:e+(t-e)*s}function _0(e,t,s){return(s-e)/(t-e)}function rm(e,t,s){return $d(t[0],t[1],_0(e[0],e[1],s))}function l0(e){return e.map(t=>t.split("|").map(s=>{s=s.trim();let r=s.match(/^(<[a-z]+>)\[(-?[.\d]+),\s*(-?[.\d]+)\]?$/);if(r){let o=new String(r[1]);return o.range=[+r[2],+r[3]],o}return s}))}function u0(e,t,s){return Math.max(Math.min(s,t),e)}function U_(e,t){return Math.sign(e)===Math.sign(t)?e:-e}function qo(e,t){return U_(Math.abs(e)**t,e)}function om(e,t){return t===0?0:e/t}function m0(e,t,s=0,r=e.length){for(;s>1;e[o]","",""]);function _h(e,t,s,r){return Object.entries(e.coords).map(([o,n],i)=>{let d=t.coordGrammar[i],c=r[i],_=c?.type,u;if(c.none?u=d.find(y=>IT.has(y)):u=d.find(y=>y==_),!u){let y=n.name||o;throw new TypeError(`${_??c.raw} not allowed for ${y} in ${s}()`)}let m=u.range;_===""&&(m||=[0,1]);let p=n.range||n.refRange;return m&&p&&(r[i]=rm(m,p,r[i])),u})}function p0(e,{meta:t}={}){let s={str:String(e)?.trim()};if(Nn.run("parse-start",s),s.color)return s.color;if(s.parsed=d0(s.str),s.parsed){let r=s.parsed.name;if(r==="color"){let o=s.parsed.args.shift(),n=o.startsWith("--")?o.substring(2):`--${o}`,i=[o,n],d=s.parsed.rawArgs.indexOf("/")>0?s.parsed.args.pop():1;for(let u of qe.all){let m=u.getFormat("color");if(m&&(i.includes(m.id)||m.ids?.filter(p=>i.includes(p)).length)){let p=Object.keys(u.coords).map((h,g)=>s.parsed.args[g]||0),y;return m.coordGrammar&&(y=_h(u,m,"color",p)),t&&Object.assign(t,{formatId:"color",types:y}),m.id.startsWith("--")&&!o.startsWith("--")&&to.warn(`${u.name} is a non-standard space and not currently supported in the CSS spec. Use prefixed color(${m.id}) instead of color(${o}).`),o.startsWith("--")&&!m.id.startsWith("--")&&to.warn(`${u.name} is a standard space and supported in the CSS spec. Use color(${m.id}) instead of prefixed color(${o}).`),{spaceId:u.id,coords:p,alpha:d}}}let c="",_=o in qe.registry?o:n;if(_ in qe.registry){let u=qe.registry[_].formats?.color?.id;u&&(c=`Did you mean color(${u})?`)}throw new TypeError(`Cannot parse color(${o}). `+(c||"Missing a plugin?"))}else for(let o of qe.all){let n=o.getFormat(r);if(n&&n.type==="function"){let i=1;(n.lastAlpha||c0(s.parsed.args).alpha)&&(i=s.parsed.args.pop());let d=s.parsed.args,c;return n.coordGrammar&&(c=_h(o,n,r,d)),t&&Object.assign(t,{formatId:n.name,types:c}),{spaceId:o.id,coords:d,alpha:i}}}}else for(let r of qe.all)for(let o in r.formats){let n=r.formats[o];if(n.type!=="custom"||n.test&&!n.test(s.str))continue;let i=n.parse(s.str);if(i)return i.alpha??=1,t&&(t.formatId=o),i}throw new TypeError(`Could not parse ${e} as a color. Missing a plugin?`)}function yt(e){if(Array.isArray(e))return e.map(yt);if(!e)throw new TypeError("Empty color reference");Rd(e)&&(e=p0(e));let t=e.space||e.spaceId;return t instanceof qe||(e.space=qe.get(t)),e.alpha===void 0&&(e.alpha=1),e}var DT=75e-6,qe=class Yo{constructor(t){this.id=t.id,this.name=t.name,this.base=t.base?Yo.get(t.base):null,this.aliases=t.aliases,this.base&&(this.fromBase=t.fromBase,this.toBase=t.toBase);let s=t.coords??this.base.coords;for(let r in s)"name"in s[r]||(s[r].name=r);this.coords=s,this.white=j1(t.white??this.base.white??"D65"),this.formats=t.formats??{};for(let r in this.formats){let o=this.formats[r];o.type||="function",o.name||=r}this.formats.color?.id||(this.formats.color={...this.formats.color??{},id:t.cssId||this.id}),t.gamutSpace?this.gamutSpace=t.gamutSpace==="self"?this:Yo.get(t.gamutSpace):this.isPolar?this.gamutSpace=this.base:this.gamutSpace=this,this.gamutSpace.isUnbounded&&(this.inGamut=(r,o)=>!0),this.referred=t.referred,Object.defineProperty(this,"path",{value:FT(this).reverse(),writable:!1,enumerable:!0,configurable:!0}),Nn.run("colorspace-init-end",this)}inGamut(t,{epsilon:s=DT}={}){if(!this.equals(this.gamutSpace))return t=this.to(this.gamutSpace,t),this.gamutSpace.inGamut(t,{epsilon:s});let r=Object.values(this.coords);return t.every((o,n)=>{let i=r[n];if(i.type!=="angle"&&i.range){if(Number.isNaN(o))return!0;let[d,c]=i.range;return(d===void 0||o>=d-s)&&(c===void 0||o<=c+s)}return!0})}get isUnbounded(){return Object.values(this.coords).every(t=>!("range"in t))}get cssId(){return this.formats?.color?.id||this.id}get isPolar(){for(let t in this.coords)if(this.coords[t].type==="angle")return!0;return!1}getFormat(t){if(typeof t=="object")return t=lh(t,this),t;let s;return t==="default"?s=Object.values(this.formats)[0]:s=this.formats[t],s?(s=lh(s,this),s):null}equals(t){return t?this===t||this.id===t||this.id===t.id:!1}to(t,s){if(arguments.length===1){let d=yt(t);[t,s]=[d.space,d.coords]}if(t=Yo.get(t),this.equals(t))return s;s=s.map(d=>Number.isNaN(d)?0:d);let r=this.path,o=t.path,n,i;for(let d=0;di;d--)s=r[d].toBase(s);for(let d=i+1;d=0){let c=Object.entries(o.coords)[n];if(c)return{space:o,id:c[0],index:n,...c[1]}}o=Yo.get(o);let i=n.toLowerCase(),d=0;for(let c in o.coords){let _=o.coords[c];if(c.toLowerCase()===i||_.name?.toLowerCase()===i)return{space:o,id:c,index:d,..._};d++}throw new TypeError(`No "${n}" coordinate found in ${o.name}. Its coordinates are: ${Object.keys(o.coords).join(", ")}`)}static DEFAULT_FORMAT={type:"functions",name:"color"}};function FT(e){let t=[e];for(let s=e;s=s.base;)t.push(s);return t}function lh(e,{coords:t}={}){if(e.coords&&!e.coordGrammar){e.type||="function",e.name||="color",e.coordGrammar=l0(e.coords);let s=Object.entries(t).map(([r,o],n)=>{let i=e.coordGrammar[n][0],d=o.range||o.refRange,c=i.range,_="";return i==""?(c=[0,100],_="%"):i==""&&(_="deg"),{fromRange:d,toRange:c,suffix:_}});e.serializeCoords=(r,o)=>r.map((n,i)=>{let{fromRange:d,toRange:c,suffix:_}=s[i];return d&&c&&(n=rm(d,c,n)),n=P_(n,{precision:o,unit:_}),n})}return e}var ar=new qe({id:"xyz-d65",name:"XYZ D65",coords:{x:{name:"X"},y:{name:"Y"},z:{name:"Z"}},white:"D65",formats:{color:{ids:["xyz-d65","xyz"]}},aliases:["xyz"]}),Dr=class extends qe{constructor(e){e.coords||(e.coords={r:{range:[0,1],name:"Red"},g:{range:[0,1],name:"Green"},b:{range:[0,1],name:"Blue"}}),e.base||(e.base=ar),e.toXYZ_M&&e.fromXYZ_M&&(e.toBase??=t=>{let s=ms(e.toXYZ_M,t);return this.white!==this.base.white&&(s=E_(this.white,this.base.white,s)),s},e.fromBase??=t=>(t=E_(this.base.white,this.white,t),ms(e.fromXYZ_M,t))),e.referred??="display",super(e)}};function zd(e,t){return e=yt(e),!t||e.space.equals(t)?e.coords.slice():(t=qe.get(t),t.from(e))}function Jr(e,t){e=yt(e);let{space:s,index:r}=qe.resolveCoord(t,e.space);return zd(e,s)[r]}function nm(e,t,s){return e=yt(e),t=qe.get(t),e.coords=t.to(e.space,s),e}nm.returns="color";function pn(e,t,s){if(e=yt(e),arguments.length===2&&On(arguments[1])==="object"){let r=arguments[1];for(let o in r)pn(e,o,r[o])}else{typeof s=="function"&&(s=s(Jr(e,t)));let{space:r,index:o}=qe.resolveCoord(t,e.space),n=zd(e,r);n[o]=s,nm(e,r,n)}return e}pn.returns="color";var am=new qe({id:"xyz-d50",name:"XYZ D50",white:"D50",base:ar,fromBase:e=>E_(ar.white,"D50",e),toBase:e=>E_("D50",ar.white,e)}),BT=216/24389,uh=24/116,h_=24389/27,D1=Tr.D50,eo=new qe({id:"lab",name:"Lab",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:D1,base:am,fromBase(e){let t=e.map((s,r)=>s/D1[r]).map(s=>s>BT?Math.cbrt(s):(h_*s+16)/116);return[116*t[1]-16,500*(t[0]-t[1]),200*(t[1]-t[2])]},toBase(e){let t=[];return t[1]=(e[0]+16)/116,t[0]=e[1]/500+t[1],t[2]=t[1]-e[2]/200,[t[0]>uh?Math.pow(t[0],3):(116*t[0]-16)/h_,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/h_,t[2]>uh?Math.pow(t[2],3):(116*t[2]-16)/h_].map((s,r)=>s*D1[r])},formats:{lab:{coords:[" | "," | [-1,1]"," | [-1,1]"]}}});function Xo(e){return(e%360+360)%360}function WT(e,t){if(e==="raw")return t;let[s,r]=t.map(Xo),o=r-s;return e==="increasing"?o<0&&(r+=360):e==="decreasing"?o>0&&(s+=360):e==="longer"?-1800?s+=360:r+=360):e==="shorter"&&(o>180?s+=360:o<-180&&(r+=360)),[s,r]}var Ud=new qe({id:"lch",name:"LCH",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,150],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:eo,fromBase(e){let[t,s,r]=e,o,n=.02;return Math.abs(s) | "," | "," | "]}}}),mh=25**7,k_=Math.PI,ph=180/k_,pi=k_/180;function fh(e){let t=e*e;return t*t*t*e}function f0(e,t,{kL:s=1,kC:r=1,kH:o=1}={}){[e,t]=yt([e,t]);let[n,i,d]=eo.from(e),c=Ud.from(eo,[n,i,d])[1],[_,u,m]=eo.from(t),p=Ud.from(eo,[_,u,m])[1];c<0&&(c=0),p<0&&(p=0);let y=fh((c+p)/2),h=.5*(1-Math.sqrt(y/(y+mh))),g=(1+h)*i,w=(1+h)*u,S=Math.sqrt(g**2+d**2),T=Math.sqrt(w**2+m**2),A=g===0&&d===0?0:Math.atan2(d,g),P=w===0&&m===0?0:Math.atan2(m,w);A<0&&(A+=2*k_),P<0&&(P+=2*k_),A*=ph,P*=ph;let U=_-n,D=T-S,O=P-A,L=A+P,G=Math.abs(O),W;S*T===0?W=0:G<=180?W=O:O>180?W=O-360:O<-180?W=O+360:to.warn("the unthinkable has happened");let K=2*Math.sqrt(T*S)*Math.sin(W*pi/2),Q=(n+_)/2,te=(S+T)/2,ee=fh(te),he;S*T===0?he=L:G<=180?he=L/2:L<360?he=(L+360)/2:he=(L-360)/2;let Ee=(Q-50)**2,Te=1+.015*Ee/Math.sqrt(20+Ee),Ue=1+.045*te,Me=1;Me-=.17*Math.cos((he-30)*pi),Me+=.24*Math.cos(2*he*pi),Me+=.32*Math.cos((3*he+6)*pi),Me-=.2*Math.cos((4*he-63)*pi);let Pe=1+.015*te*Me,Re=30*Math.exp(-1*((he-275)/25)**2),de=2*Math.sqrt(ee/(ee+mh)),je=-1*Math.sin(2*Re*pi)*de,fe=(U/(s*Te))**2;return fe+=(D/(r*Ue))**2,fe+=(K/(o*Pe))**2,fe+=je*(D/(r*Ue))*(K/(o*Pe)),Math.sqrt(fe)}var OT=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],VT=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],NT=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],qT=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],hi=new qe({id:"oklab",name:"Oklab",coords:{l:{refRange:[0,1],name:"Lightness"},a:{refRange:[-.4,.4]},b:{refRange:[-.4,.4]}},white:"D65",base:ar,fromBase(e){return ms(NT,ms(OT,e).map(t=>Math.cbrt(t)))},toBase(e){return ms(VT,ms(qT,e).map(t=>t**3))},formats:{oklab:{coords:[" | "," | [-1,1]"," | [-1,1]"]}}});function K1(e,t){[e,t]=yt([e,t]);let[s,r,o]=hi.from(e),[n,i,d]=hi.from(t),c=s-n,_=r-i,u=o-d;return Math.sqrt(c**2+_**2+u**2)}var XT=75e-6;function Ea(e,t,{epsilon:s=XT}={}){e=yt(e),t||(t=e.space),t=qe.get(t);let r=e.coords;return t!==e.space&&(r=t.from(e)),t.inGamut(r,{epsilon:s})}function xi(e){return{space:e.space,coords:e.coords.slice(),alpha:e.alpha}}function v0(e,t,s="lab"){s=qe.get(s);let r=s.from(e),o=s.from(t);return Math.sqrt(r.reduce((n,i,d)=>{let c=o[d];return isNaN(i)||isNaN(c)?n:n+(c-i)**2},0))}function HT(e,t){return v0(e,t,"lab")}var vh=Math.PI/180;function jT(e,t,{l:s=2,c:r=1}={}){[e,t]=yt([e,t]);let[o,n,i]=eo.from(e),[,d,c]=Ud.from(eo,[o,n,i]),[_,u,m]=eo.from(t),p=Ud.from(eo,[_,u,m])[1];d<0&&(d=0),p<0&&(p=0);let y=o-_,h=d-p,g=n-u,w=i-m,S=g**2+w**2-h**2,T=.511;o>=16&&(T=.040975*o/(1+.01765*o));let A=.0638*d/(1+.0131*d)+.638,P;Number.isNaN(c)&&(c=0),c>=164&&c<=345?P=.56+Math.abs(.2*Math.cos((c+168)*vh)):P=.36+Math.abs(.4*Math.cos((c+35)*vh));let U=Math.pow(d,4),D=Math.sqrt(U/(U+1900)),O=A*(D*P+1-D),L=(y/(s*T))**2;return L+=(h/(r*A))**2,L+=S/O**2,Math.sqrt(L)}var yh=203,im=new qe({id:"xyz-abs-d65",cssId:"--xyz-abs-d65",name:"Absolute XYZ D65",coords:{x:{refRange:[0,9504.7],name:"Xa"},y:{refRange:[0,1e4],name:"Ya"},z:{refRange:[0,10888.3],name:"Za"}},base:ar,fromBase(e){return e.map(t=>Math.max(t*yh,0))},toBase(e){return e.map(t=>Math.max(t/yh,0))}}),x_=1.15,g_=.66,hh=2610/2**14,KT=2**14/2610,xh=3424/2**12,gh=2413/2**7,bh=2392/2**7,ZT=1.7*2523/2**5,wh=2**5/(1.7*2523),b_=-.56,F1=16295499532821565e-27,QT=[[.41478972,.579999,.014648],[-.20151,1.120649,.0531008],[-.0166008,.2648,.6684799]],JT=[[1.9242264357876067,-1.0047923125953657,.037651404030618],[.35031676209499907,.7264811939316552,-.06538442294808501],[-.09098281098284752,-.3127282905230739,1.5227665613052603]],eS=[[.5,.5,0],[3.524,-4.066708,.542708],[.199076,1.096799,-1.295875]],tS=[[1,.1386050432715393,.05804731615611886],[.9999999999999999,-.1386050432715393,-.05804731615611886],[.9999999999999998,-.09601924202631895,-.8118918960560388]],y0=new qe({id:"jzazbz",name:"Jzazbz",coords:{jz:{refRange:[0,1],name:"Jz"},az:{refRange:[-.5,.5]},bz:{refRange:[-.5,.5]}},base:im,fromBase(e){let[t,s,r]=e,[o,n,i]=ms(eS,ms(QT,[x_*t-(x_-1)*r,g_*s-(g_-1)*t,r]).map(function(d){return((xh+gh*(d/1e4)**hh)/(1+bh*(d/1e4)**hh))**ZT}));return[(1+b_)*o/(1+b_*o)-F1,n,i]},toBase(e){let[t,s,r]=e,[o,n,i]=ms(JT,ms(tS,[(t+F1)/(1+b_-b_*(t+F1)),s,r]).map(function(c){return 1e4*((xh-c**wh)/(bh*c**wh-gh))**KT})),d=(o+(x_-1)*i)/x_;return[d,(n+(g_-1)*d)/g_,i]},formats:{color:{coords:[" | "," | [-1,1]"," | [-1,1]"]}}}),Z1=new qe({id:"jzczhz",name:"JzCzHz",coords:{jz:{refRange:[0,1],name:"Jz"},cz:{refRange:[0,1],name:"Chroma"},hz:{refRange:[0,360],type:"angle",name:"Hue"}},base:y0,fromBase(e){let[t,s,r]=e,o,n=2e-4;return Math.abs(s){let r=qo(t*Math.abs(s)*.01,b0);return 400*U_(r,s)/(r+27.13)})}function yS(e,t){let s=100/t*27.13**Ah;return e.map(r=>{let o=Math.abs(r);return U_(s*qo(o/(400-o),Ah),r)})}function hS(e){let t=Xo(e);t<=Pa.h[0]&&(t+=360);let s=m0(Pa.h,t)-1,[r,o]=Pa.h.slice(s,s+2),[n,i]=Pa.e.slice(s,s+2),d=Pa.H[s],c=(t-r)/n;return d+100*c/(c+(o-t)/i)}function xS(e){let t=(e%400+400)%400,s=Math.floor(.01*t);t=t%100;let[r,o]=Pa.h.slice(s,s+2),[n,i]=Pa.e.slice(s,s+2);return Xo((t*(i*r-n*o)-100*r*i)/(t*(i-n)-100*i))}function S0(e,t,s,r,o){let n={};n.discounting=o,n.refWhite=e,n.surround=r;let i=e.map(y=>y*100);n.la=t,n.yb=s;let d=i[1],c=ms(w0,i);r=fS[n.surround];let _=r[0];n.c=r[1],n.nc=r[2];let u=(1/(5*n.la+1))**4;n.fl=u*n.la+.1*(1-u)*(1-u)*Math.cbrt(5*n.la),n.flRoot=n.fl**.25,n.n=n.yb/d,n.z=1.48+Math.sqrt(n.n),n.nbb=.725*n.n**-.2,n.ncb=n.nbb;let m=o?1:Math.max(Math.min(_*(1-1/3.6*Math.exp((-n.la-42)/92)),1),0);n.dRgb=c.map(y=>$d(1,d/y,m)),n.dRgbInv=n.dRgb.map(y=>1/y);let p=T0(c.map((y,h)=>y*n.dRgb[h]),n.fl);return n.aW=n.nbb*(2*p[0]+p[1]+.05*p[2]),n}var Ph=S0(uS,64/Math.PI*.2,20,"average",!1);function J1(e,t){if(!(e.J!==void 0^e.Q!==void 0))throw new Error("Conversion requires one and only one: 'J' or 'Q'");if(!(e.C!==void 0^e.M!==void 0^e.s!==void 0))throw new Error("Conversion requires one and only one: 'C', 'M' or 's'");if(!(e.h!==void 0^e.H!==void 0))throw new Error("Conversion requires one and only one: 'h' or 'H'");if(e.J===0||e.Q===0)return[0,0,0];let s=0;e.h!==void 0?s=Xo(e.h)*Mh:s=xS(e.H)*Mh;let r=Math.cos(s),o=Math.sin(s),n=0;e.J!==void 0?n=qo(e.J,1/2)*.1:e.Q!==void 0&&(n=.25*t.c*e.Q/((t.aW+4)*t.flRoot));let i=0;e.C!==void 0?i=e.C/n:e.M!==void 0?i=e.M/t.flRoot/n:e.s!==void 0&&(i=4e-4*e.s**2*(t.aW+4)/t.c);let d=qo(i*Math.pow(1.64-Math.pow(.29,t.n),-.73),10/9),c=.25*(Math.cos(s+2)+3.8),_=t.aW*qo(n,2/t.c/t.z),u=5e4/13*t.nc*t.ncb*c,m=_/t.nbb,p=23*(m+.305)*om(d,23*u+d*(11*r+108*o));return ms(mS,yS(ms(pS,[m,p*r,p*o]).map(y=>y*1/1403),t.fl).map((y,h)=>y*t.dRgbInv[h])).map(y=>y/100)}function A0(e,t){let s=T0(ms(w0,e.map(g=>g*100)).map((g,w)=>g*t.dRgb[w]),t.fl),r=s[0]+(-12*s[1]+s[2])/11,o=(s[0]+s[1]-2*s[2])/9,n=(Math.atan2(o,r)%B1+B1)%B1,i=.25*(Math.cos(n+2)+3.8),d=qo(5e4/13*t.nc*t.ncb*om(i*Math.sqrt(r**2+o**2),s[0]+s[1]+1.05*s[2]+.305),.9)*Math.pow(1.64-Math.pow(.29,t.n),.73),c=qo(t.nbb*(2*s[0]+s[1]+.05*s[2])/t.aW,.5*t.c*t.z),_=100*qo(c,2),u=4/t.c*c*(t.aW+4)*t.flRoot,m=d*c,p=m*t.flRoot,y=Xo(n*vS),h=hS(y);return{J:_,C:m,h:y,s:50*qo(t.c*d/(t.aW+4),1/2),Q:u,M:p,H:h}}var gS=new qe({id:"cam16-jmh",cssId:"--cam16-jmh",name:"CAM16-JMh",coords:{j:{refRange:[0,100],name:"J"},m:{refRange:[0,105],name:"Colorfulness"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:ar,fromBase(e){let t=A0(e,Ph);return[t.J,t.M,t.h]},toBase(e){return J1({J:e[0],M:e[1],h:e[2]},Ph)}}),bS=Tr.D65,wS=216/24389,M0=24389/27;function TS(e){return 116*(e>wS?Math.cbrt(e):(M0*e+16)/116)-16}function em(e){return e>8?Math.pow((e+16)/116,3):e/M0}function SS(e,t){let[s,r,o]=e,n=[],i=0;if(o===0)return[0,0,0];let d=em(o);o>0?i=.00379058511492914*o**2+.608983189401032*o+.9155088574762233:i=9514440756550361e-21*o**2+.08693057439788597*o-21.928975842194614;let c=2e-12,_=15,u=0,m=1/0;for(;u<=_;){n=J1({J:i,C:r,h:s},t);let p=Math.abs(n[1]-d);if(p | "," | "," | "]}}}),MS=Math.PI/180,Eh=[1,.007,.0228];function kh(e){e[1]<0&&(e=Cd.fromBase(Cd.toBase(e)));let t=Math.log(Math.max(1+Eh[2]*e[1]*dm.flRoot,1))/Eh[2],s=e[0]*MS,r=t*Math.cos(s),o=t*Math.sin(s);return[e[2],r,o]}function PS(e,t){[e,t]=yt([e,t]);let[s,r,o]=kh(Cd.from(e)),[n,i,d]=kh(Cd.from(t));return Math.sqrt((s-n)**2+(r-i)**2+(o-d)**2)}var gi={deltaE76:HT,deltaECMC:jT,deltaE2000:f0,deltaEJz:sS,deltaEITP:lS,deltaEOK:K1,deltaEHCT:PS};function ES(e){let t=e?Math.floor(Math.log10(Math.abs(e))):0;return Math.max(parseFloat(`1e${t-2}`),1e-6)}var $h={hct:{method:"hct.c",jnd:2,deltaEMethod:"hct",blackWhiteClamp:{}},"hct-tonal":{method:"hct.c",jnd:0,deltaEMethod:"hct",blackWhiteClamp:{channel:"hct.t",min:0,max:100}}};function qn(e,{method:t=to.gamut_mapping,space:s=void 0,deltaEMethod:r="",jnd:o=2,blackWhiteClamp:n={}}={}){if(e=yt(e),Rd(arguments[1])?s=arguments[1]:s||(s=e.space),s=qe.get(s),Ea(e,s,{epsilon:0}))return e;let i;if(t==="css")i=kS(e,{space:s});else{if(t!=="clip"&&!Ea(e,s)){Object.prototype.hasOwnProperty.call($h,t)&&({method:t,jnd:o,deltaEMethod:r,blackWhiteClamp:n}=$h[t]);let d=f0;if(r!==""){for(let _ in gi)if("deltae"+r.toLowerCase()===_.toLowerCase()){d=gi[_];break}}let c=qn(us(e,s),{method:"clip",space:s});if(d(e,c)>o){if(Object.keys(n).length===3){let S=qe.resolveCoord(n.channel),T=Jr(us(e,S.space),S.id);if(Vn(T)&&(T=0),T>=n.max)return us({space:"xyz-d65",coords:Tr.D65},e.space);if(T<=n.min)return us({space:"xyz-d65",coords:[0,0,0]},e.space)}let _=qe.resolveCoord(t),u=_.space,m=_.id,p=us(e,u);p.coords.forEach((S,T)=>{Vn(S)&&(p.coords[T]=0)});let y=(_.range||_.refRange)[0],h=ES(o),g=y,w=Jr(p,m);for(;w-g>h;){let S=xi(p);S=qn(S,{space:s,method:"clip"}),d(p,S)-oc.range||[]);i.coords=i.coords.map((c,_)=>{let[u,m]=d[_];return u!==void 0&&(c=Math.max(u,c)),m!==void 0&&(c=Math.min(c,m)),c})}}return s!==e.space&&(i=us(i,e.space)),e.coords=i.coords,e}qn.returns="color";var Uh={WHITE:{space:hi,coords:[1,0,0]},BLACK:{space:hi,coords:[0,0,0]}};function kS(e,{space:t}={}){e=yt(e),t||(t=e.space),t=qe.get(t);let o=qe.get("oklch");if(t.isUnbounded)return us(e,t);let n=us(e,o),i=n.coords[0];if(i>=1){let h=us(Uh.WHITE,t);return h.alpha=e.alpha,us(h,t)}if(i<=0){let h=us(Uh.BLACK,t);return h.alpha=e.alpha,us(h,t)}if(Ea(n,t,{epsilon:0}))return us(n,t);function d(h){let g=us(h,t),w=Object.values(t.coords);return g.coords=g.coords.map((S,T)=>{if("range"in w[T]){let[A,P]=w[T].range;return u0(A,S,P)}return S}),g}let c=0,_=n.coords[1],u=!0,m=xi(n),p=d(m),y=K1(p,m);if(y<.02)return p;for(;_-c>1e-4;){let h=(c+_)/2;if(m.coords[1]=h,u&&Ea(m,t,{epsilon:0}))c=h;else if(p=d(m),y=K1(p,m),y<.02){if(.02-y<1e-4)break;u=!1,c=h}else _=h}return p}function us(e,t,{inGamut:s}={}){e=yt(e),t=qe.get(t);let r=t.from(e),o={space:t,coords:r,alpha:e.alpha};return s&&(o=qn(o,s===!0?void 0:s)),o}us.returns="color";function kd(e,{precision:t=to.precision,format:s="default",inGamut:r=!0,...o}={}){let n;e=yt(e);let i=s;s=e.space.getFormat(s)??e.space.getFormat("default")??qe.DEFAULT_FORMAT;let d=e.coords.slice();if(r||=s.toGamut,r&&!Ea(e)&&(d=qn(xi(e),r===!0?void 0:r).coords),s.type==="custom")if(o.precision=t,s.serialize)n=s.serialize(d,e.alpha,o);else throw new TypeError(`format ${i} can only be used to parse colors, not for serialization`);else{let c=s.name||"color";s.serializeCoords?d=s.serializeCoords(d,t):t!==null&&(d=d.map(p=>P_(p,{precision:t})));let _=[...d];if(c==="color"){let p=s.id||s.ids?.[0]||e.space.id;_.unshift(p)}let u=e.alpha;t!==null&&(u=P_(u,{precision:t}));let m=e.alpha>=1||s.noAlpha?"":`${s.commas?",":" /"} ${u}`;n=`${c}(${_.join(s.commas?", ":" ")}${m})`}return n}var C_=new Dr({id:"rec2020-linear",cssId:"--rec2020-linear",name:"Linear REC.2020",white:"D65",toXYZ_M:[[.6369580483012914,.14461690358620832,.1688809751641721],[.2627002120112671,.6779980715188708,.05930171646986196],[0,.028072693049087428,1.060985057710791]],fromXYZ_M:[[1.716651187971268,-.355670783776392,-.25336628137366],[-.666684351832489,1.616481236634939,.0157685458139111],[.017639857445311,-.042770613257809,.942103121235474]]}),w_=1.09929682680944,Ch=.018053968510807,P0=new Dr({id:"rec2020",name:"REC.2020",base:C_,toBase(e){return e.map(function(t){return t=Ch?w_*Math.pow(t,.45)-(w_-1):4.5*t})}}),E0=new Dr({id:"p3-linear",cssId:"--display-p3-linear",name:"Linear P3",white:"D65",toXYZ_M:[[.4865709486482162,.26566769316909306,.1982172852343625],[.2289745640697488,.6917385218365064,.079286914093745],[0,.04511338185890264,1.043944368900976]],fromXYZ_M:[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]]}),$S=[[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Ds=[[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],k0=new Dr({id:"srgb-linear",name:"Linear sRGB",white:"D65",toXYZ_M:$S,fromXYZ_M:Ds}),Rh={aliceblue:[240/255,248/255,1],antiquewhite:[250/255,235/255,215/255],aqua:[0,1,1],aquamarine:[127/255,1,212/255],azure:[240/255,1,1],beige:[245/255,245/255,220/255],bisque:[1,228/255,196/255],black:[0,0,0],blanchedalmond:[1,235/255,205/255],blue:[0,0,1],blueviolet:[138/255,43/255,226/255],brown:[165/255,42/255,42/255],burlywood:[222/255,184/255,135/255],cadetblue:[95/255,158/255,160/255],chartreuse:[127/255,1,0],chocolate:[210/255,105/255,30/255],coral:[1,127/255,80/255],cornflowerblue:[100/255,149/255,237/255],cornsilk:[1,248/255,220/255],crimson:[220/255,20/255,60/255],cyan:[0,1,1],darkblue:[0,0,139/255],darkcyan:[0,139/255,139/255],darkgoldenrod:[184/255,134/255,11/255],darkgray:[169/255,169/255,169/255],darkgreen:[0,100/255,0],darkgrey:[169/255,169/255,169/255],darkkhaki:[189/255,183/255,107/255],darkmagenta:[139/255,0,139/255],darkolivegreen:[85/255,107/255,47/255],darkorange:[1,140/255,0],darkorchid:[153/255,50/255,204/255],darkred:[139/255,0,0],darksalmon:[233/255,150/255,122/255],darkseagreen:[143/255,188/255,143/255],darkslateblue:[72/255,61/255,139/255],darkslategray:[47/255,79/255,79/255],darkslategrey:[47/255,79/255,79/255],darkturquoise:[0,206/255,209/255],darkviolet:[148/255,0,211/255],deeppink:[1,20/255,147/255],deepskyblue:[0,191/255,1],dimgray:[105/255,105/255,105/255],dimgrey:[105/255,105/255,105/255],dodgerblue:[30/255,144/255,1],firebrick:[178/255,34/255,34/255],floralwhite:[1,250/255,240/255],forestgreen:[34/255,139/255,34/255],fuchsia:[1,0,1],gainsboro:[220/255,220/255,220/255],ghostwhite:[248/255,248/255,1],gold:[1,215/255,0],goldenrod:[218/255,165/255,32/255],gray:[128/255,128/255,128/255],green:[0,128/255,0],greenyellow:[173/255,1,47/255],grey:[128/255,128/255,128/255],honeydew:[240/255,1,240/255],hotpink:[1,105/255,180/255],indianred:[205/255,92/255,92/255],indigo:[75/255,0,130/255],ivory:[1,1,240/255],khaki:[240/255,230/255,140/255],lavender:[230/255,230/255,250/255],lavenderblush:[1,240/255,245/255],lawngreen:[124/255,252/255,0],lemonchiffon:[1,250/255,205/255],lightblue:[173/255,216/255,230/255],lightcoral:[240/255,128/255,128/255],lightcyan:[224/255,1,1],lightgoldenrodyellow:[250/255,250/255,210/255],lightgray:[211/255,211/255,211/255],lightgreen:[144/255,238/255,144/255],lightgrey:[211/255,211/255,211/255],lightpink:[1,182/255,193/255],lightsalmon:[1,160/255,122/255],lightseagreen:[32/255,178/255,170/255],lightskyblue:[135/255,206/255,250/255],lightslategray:[119/255,136/255,153/255],lightslategrey:[119/255,136/255,153/255],lightsteelblue:[176/255,196/255,222/255],lightyellow:[1,1,224/255],lime:[0,1,0],limegreen:[50/255,205/255,50/255],linen:[250/255,240/255,230/255],magenta:[1,0,1],maroon:[128/255,0,0],mediumaquamarine:[102/255,205/255,170/255],mediumblue:[0,0,205/255],mediumorchid:[186/255,85/255,211/255],mediumpurple:[147/255,112/255,219/255],mediumseagreen:[60/255,179/255,113/255],mediumslateblue:[123/255,104/255,238/255],mediumspringgreen:[0,250/255,154/255],mediumturquoise:[72/255,209/255,204/255],mediumvioletred:[199/255,21/255,133/255],midnightblue:[25/255,25/255,112/255],mintcream:[245/255,1,250/255],mistyrose:[1,228/255,225/255],moccasin:[1,228/255,181/255],navajowhite:[1,222/255,173/255],navy:[0,0,128/255],oldlace:[253/255,245/255,230/255],olive:[128/255,128/255,0],olivedrab:[107/255,142/255,35/255],orange:[1,165/255,0],orangered:[1,69/255,0],orchid:[218/255,112/255,214/255],palegoldenrod:[238/255,232/255,170/255],palegreen:[152/255,251/255,152/255],paleturquoise:[175/255,238/255,238/255],palevioletred:[219/255,112/255,147/255],papayawhip:[1,239/255,213/255],peachpuff:[1,218/255,185/255],peru:[205/255,133/255,63/255],pink:[1,192/255,203/255],plum:[221/255,160/255,221/255],powderblue:[176/255,224/255,230/255],purple:[128/255,0,128/255],rebeccapurple:[102/255,51/255,153/255],red:[1,0,0],rosybrown:[188/255,143/255,143/255],royalblue:[65/255,105/255,225/255],saddlebrown:[139/255,69/255,19/255],salmon:[250/255,128/255,114/255],sandybrown:[244/255,164/255,96/255],seagreen:[46/255,139/255,87/255],seashell:[1,245/255,238/255],sienna:[160/255,82/255,45/255],silver:[192/255,192/255,192/255],skyblue:[135/255,206/255,235/255],slateblue:[106/255,90/255,205/255],slategray:[112/255,128/255,144/255],slategrey:[112/255,128/255,144/255],snow:[1,250/255,250/255],springgreen:[0,1,127/255],steelblue:[70/255,130/255,180/255],tan:[210/255,180/255,140/255],teal:[0,128/255,128/255],thistle:[216/255,191/255,216/255],tomato:[1,99/255,71/255],turquoise:[64/255,224/255,208/255],violet:[238/255,130/255,238/255],wheat:[245/255,222/255,179/255],white:[1,1,1],whitesmoke:[245/255,245/255,245/255],yellow:[1,1,0],yellowgreen:[154/255,205/255,50/255]},zh=Array(3).fill(" | [0, 255]"),Gh=Array(3).fill("[0, 255]"),bi=new Dr({id:"srgb",name:"sRGB",base:k0,fromBase:e=>e.map(t=>{let s=t<0?-1:1,r=t*s;return r>.0031308?s*(1.055*r**(1/2.4)-.055):12.92*t}),toBase:e=>e.map(t=>{let s=t<0?-1:1,r=t*s;return r<=.04045?t/12.92:s*((r+.055)/1.055)**2.4}),formats:{rgb:{coords:zh},rgb_number:{name:"rgb",commas:!0,coords:Gh,noAlpha:!0},color:{},rgba:{coords:zh,commas:!0,lastAlpha:!0},rgba_number:{name:"rgba",commas:!0,coords:Gh},hex:{type:"custom",toGamut:!0,test:e=>/^#([a-f0-9]{3,4}){1,2}$/i.test(e),parse(e){e.length<=5&&(e=e.replace(/[a-f0-9]/gi,"$&$&"));let t=[];return e.replace(/[a-f0-9]{2}/gi,s=>{t.push(parseInt(s,16)/255)}),{spaceId:"srgb",coords:t.slice(0,3),alpha:t.slice(3)[0]}},serialize:(e,t,{collapse:s=!0}={})=>{t<1&&e.push(t),e=e.map(o=>Math.round(o*255));let r=s&&e.every(o=>o%17===0);return"#"+e.map(o=>r?(o/17).toString(16):o.toString(16).padStart(2,"0")).join("")}},keyword:{type:"custom",test:e=>/^[a-z]+$/i.test(e),parse(e){e=e.toLowerCase();let t={spaceId:"srgb",coords:null,alpha:1};if(e==="transparent"?(t.coords=Rh.black,t.alpha=0):t.coords=Rh[e],t.coords)return t}}}}),$0=new Dr({id:"p3",cssId:"display-p3",name:"P3",base:E0,fromBase:bi.fromBase,toBase:bi.toBase});to.display_space=bi;var US;if(typeof CSS<"u"&&CSS.supports)for(let e of[eo,P0,$0]){let t=kd({space:e,coords:e.getMinCoords(),alpha:1});if(CSS.supports("color",t)){to.display_space=e;break}}function CS(e,{space:t=to.display_space,...s}={}){let r=kd(e,s);if(typeof CSS>"u"||CSS.supports("color",r)||!to.display_space)r=new String(r),r.color=e;else{let o=e;if((e.coords.some(Vn)||Vn(e.alpha))&&!(US??=CSS.supports("color","hsl(none 50% 50%)"))&&(o=xi(e),o.coords=o.coords.map(Cs),o.alpha=Cs(o.alpha),r=kd(o,s),CSS.supports("color",r)))return r=new String(r),r.color=o,r;o=us(o,t),r=new String(kd(o,s)),r.color=o}return r}function RS(e,t){return e=yt(e),t=yt(t),e.space===t.space&&e.alpha===t.alpha&&e.coords.every((s,r)=>s===t.coords[r])}function Xn(e){return Jr(e,[ar,"y"])}function U0(e,t){pn(e,[ar,"y"],t)}function zS(e){Object.defineProperty(e.prototype,"luminance",{get(){return Xn(this)},set(t){U0(this,t)}})}var GS=Object.freeze({__proto__:null,getLuminance:Xn,register:zS,setLuminance:U0});function YS(e,t){e=yt(e),t=yt(t);let s=Math.max(Xn(e),0),r=Math.max(Xn(t),0);return r>s&&([s,r]=[r,s]),(s+.05)/(r+.05)}var LS=.56,IS=.57,DS=.62,FS=.65,Yh=.022,BS=1.414,WS=.1,OS=5e-4,VS=1.14,Lh=.027,NS=1.14;function Ih(e){return e>=Yh?e:e+(Yh-e)**BS}function fi(e){let t=e<0?-1:1,s=Math.abs(e);return t*Math.pow(s,2.4)}function qS(e,t){t=yt(t),e=yt(e);let s,r,o,n,i,d;t=us(t,"srgb"),[n,i,d]=t.coords;let c=fi(n)*.2126729+fi(i)*.7151522+fi(d)*.072175;e=us(e,"srgb"),[n,i,d]=e.coords;let _=fi(n)*.2126729+fi(i)*.7151522+fi(d)*.072175,u=Ih(c),m=Ih(_),p=m>u;return Math.abs(m-u)0?o=r-Lh:o=r+Lh,o*100}function XS(e,t){e=yt(e),t=yt(t);let s=Math.max(Xn(e),0),r=Math.max(Xn(t),0);r>s&&([s,r]=[r,s]);let o=s+r;return o===0?0:(s-r)/o}var HS=5e4;function jS(e,t){e=yt(e),t=yt(t);let s=Math.max(Xn(e),0),r=Math.max(Xn(t),0);return r>s&&([s,r]=[r,s]),r===0?HS:(s-r)/r}function KS(e,t){e=yt(e),t=yt(t);let s=Jr(e,[eo,"l"]),r=Jr(t,[eo,"l"]);return Math.abs(s-r)}var ZS=216/24389,Dh=24/116,T_=24389/27,W1=Tr.D65,tm=new qe({id:"lab-d65",name:"Lab D65",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:W1,base:ar,fromBase(e){let t=e.map((s,r)=>s/W1[r]).map(s=>s>ZS?Math.cbrt(s):(T_*s+16)/116);return[116*t[1]-16,500*(t[0]-t[1]),200*(t[1]-t[2])]},toBase(e){let t=[];return t[1]=(e[0]+16)/116,t[0]=e[1]/500+t[1],t[2]=t[1]-e[2]/200,[t[0]>Dh?Math.pow(t[0],3):(116*t[0]-16)/T_,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/T_,t[2]>Dh?Math.pow(t[2],3):(116*t[2]-16)/T_].map((s,r)=>s*W1[r])},formats:{"lab-d65":{coords:[" | "," | [-1,1]"," | [-1,1]"]}}}),O1=Math.pow(5,.5)*.5+.5;function QS(e,t){e=yt(e),t=yt(t);let s=Jr(e,[tm,"l"]),r=Jr(t,[tm,"l"]),o=Math.abs(Math.pow(s,O1)-Math.pow(r,O1)),n=Math.pow(o,1/O1)*Math.SQRT2-40;return n<7.5?0:n}var M_=Object.freeze({__proto__:null,contrastAPCA:qS,contrastDeltaPhi:QS,contrastLstar:KS,contrastMichelson:XS,contrastWCAG21:YS,contrastWeber:jS});function JS(e,t,s={}){Rd(s)&&(s={algorithm:s});let{algorithm:r,...o}=s;if(!r){let n=Object.keys(M_).map(i=>i.replace(/^contrast/,"")).join(", ");throw new TypeError(`contrast() function needs a contrast algorithm. Please specify one of: ${n}`)}e=yt(e),t=yt(t);for(let n in M_)if("contrast"+r.toLowerCase()===n.toLowerCase())return M_[n](e,t,o);throw new TypeError(`Unknown contrast algorithm: ${r}`)}function R_(e){let[t,s,r]=zd(e,ar),o=t+15*s+3*r;return[4*t/o,9*s/o]}function C0(e){let[t,s,r]=zd(e,ar),o=t+s+r;return[t/o,s/o]}function eA(e){Object.defineProperty(e.prototype,"uv",{get(){return R_(this)}}),Object.defineProperty(e.prototype,"xy",{get(){return C0(this)}})}var tA=Object.freeze({__proto__:null,register:eA,uv:R_,xy:C0});function Ed(e,t,s={}){Rd(s)&&(s={method:s});let{method:r=to.deltaE,...o}=s;for(let n in gi)if("deltae"+r.toLowerCase()===n.toLowerCase())return gi[n](e,t,o);throw new TypeError(`Unknown deltaE method: ${r}`)}function sA(e,t=.25){return pn(e,[qe.get("oklch","lch"),"l"],s=>s*(1+t))}function rA(e,t=.25){return pn(e,[qe.get("oklch","lch"),"l"],s=>s*(1-t))}var oA=Object.freeze({__proto__:null,darken:rA,lighten:sA});function R0(e,t,s=.5,r={}){return[e,t]=[yt(e),yt(t)],On(s)==="object"&&([s,r]=[.5,s]),Gd(e,t,r)(s)}function z0(e,t,s={}){let r;cm(e)&&([r,s]=[e,t],[e,t]=r.rangeArgs.colors);let{maxDeltaE:o,deltaEMethod:n,steps:i=2,maxSteps:d=1e3,...c}=s;r||([e,t]=[yt(e),yt(t)],r=Gd(e,t,c));let _=Ed(e,t),u=o>0?Math.max(i,Math.ceil(_/o)+1):i,m=[];if(d!==void 0&&(u=Math.min(u,d)),u===1)m=[{p:.5,color:r(.5)}];else{let p=1/(u-1);m=Array.from({length:u},(y,h)=>{let g=h*p;return{p:g,color:r(g)}})}if(o>0){let p=m.reduce((y,h,g)=>{if(g===0)return 0;let w=Ed(h.color,m[g-1].color,n);return Math.max(y,w)},0);for(;p>o;){p=0;for(let y=1;yp.color),m}function Gd(e,t,s={}){if(cm(e)){let[c,_]=[e,t];return Gd(...c.rangeArgs.colors,{...c.rangeArgs.options,..._})}let{space:r,outputSpace:o,progression:n,premultiplied:i}=s;e=yt(e),t=yt(t),e=xi(e),t=xi(t);let d={colors:[e,t],options:s};if(r?r=qe.get(r):r=qe.registry[to.interpolationSpace]||e.space,o=o?qe.get(o):r,e=us(e,r),t=us(t,r),e=qn(e),t=qn(t),r.coords.h&&r.coords.h.type==="angle"){let c=s.hue=s.hue||"shorter",_=[r,"h"],[u,m]=[Jr(e,_),Jr(t,_)];isNaN(u)&&!isNaN(m)?u=m:isNaN(m)&&!isNaN(u)&&(m=u),[u,m]=WT(c,[u,m]),pn(e,_,u),pn(t,_,m)}return i&&(e.coords=e.coords.map(c=>c*e.alpha),t.coords=t.coords.map(c=>c*t.alpha)),Object.assign(c=>{c=n?n(c):c;let _=e.coords.map((p,y)=>{let h=t.coords[y];return $d(p,h,c)}),u=$d(e.alpha,t.alpha,c),m={space:r,coords:_,alpha:u};return i&&(m.coords=m.coords.map(p=>p/u)),o!==r&&(m=us(m,o)),m},{rangeArgs:d})}function cm(e){return On(e)==="function"&&!!e.rangeArgs}to.interpolationSpace="lab";function nA(e){e.defineFunction("mix",R0,{returns:"color"}),e.defineFunction("range",Gd,{returns:"function"}),e.defineFunction("steps",z0,{returns:"array"})}var aA=Object.freeze({__proto__:null,isRange:cm,mix:R0,range:Gd,register:nA,steps:z0}),G0=new qe({id:"hsl",name:"HSL",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:bi,fromBase:e=>{let t=Math.max(...e),s=Math.min(...e),[r,o,n]=e,[i,d,c]=[NaN,0,(s+t)/2],_=t-s;if(_!==0){switch(d=c===0||c===1?0:(t-c)/Math.min(c,1-c),t){case r:i=(o-n)/_+(o=360&&(i-=360),[i,d*100,c*100]},toBase:e=>{let[t,s,r]=e;t=t%360,t<0&&(t+=360),s/=100,r/=100;function o(n){let i=(n+t/30)%12,d=s*Math.min(r,1-r);return r-d*Math.max(-1,Math.min(i-3,9-i,1))}return[o(0),o(8),o(4)]},formats:{hsl:{coords:[" | ","",""]},hsla:{coords:[" | ","",""],commas:!0,lastAlpha:!0}}}),Y0=new qe({id:"hsv",name:"HSV",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},v:{range:[0,100],name:"Value"}},base:G0,fromBase(e){let[t,s,r]=e;s/=100,r/=100;let o=r+s*Math.min(r,1-r);return[t,o===0?0:200*(1-r/o),100*o]},toBase(e){let[t,s,r]=e;s/=100,r/=100;let o=r*(1-s/2);return[t,o===0||o===1?0:(r-o)/Math.min(o,1-o)*100,o*100]},formats:{color:{id:"--hsv",coords:[" | "," | "," | "]}}}),iA=new qe({id:"hwb",name:"HWB",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},w:{range:[0,100],name:"Whiteness"},b:{range:[0,100],name:"Blackness"}},base:Y0,fromBase(e){let[t,s,r]=e;return[t,r*(100-s)/100,100-r]},toBase(e){let[t,s,r]=e;s/=100,r/=100;let o=s+r;if(o>=1)return[t,0,s/o*100];let n=1-r;return[t,(n===0?0:1-s/n)*100,n*100]},formats:{hwb:{coords:[" | "," | "," | "]}}}),L0=new Dr({id:"a98rgb-linear",cssId:"--a98-rgb-linear",name:"Linear Adobe\xAE 98 RGB compatible",white:"D65",toXYZ_M:[[.5766690429101305,.1855582379065463,.1882286462349947],[.29734497525053605,.6273635662554661,.07529145849399788],[.02703136138641234,.07068885253582723,.9913375368376388]],fromXYZ_M:[[2.0415879038107465,-.5650069742788596,-.34473135077832956],[-.9692436362808795,1.8759675015077202,.04155505740717557],[.013444280632031142,-.11836239223101838,1.0151749943912054]]}),dA=new Dr({id:"a98rgb",cssId:"a98-rgb",name:"Adobe\xAE 98 RGB compatible",base:L0,toBase:e=>e.map(t=>Math.pow(Math.abs(t),563/256)*Math.sign(t)),fromBase:e=>e.map(t=>Math.pow(Math.abs(t),256/563)*Math.sign(t))}),I0=new Dr({id:"prophoto-linear",cssId:"--prophoto-rgb-linear",name:"Linear ProPhoto",white:"D50",base:am,toXYZ_M:[[.7977666449006423,.13518129740053308,.0313477341283922],[.2880748288194013,.711835234241873,8993693872564e-17],[0,0,.8251046025104602]],fromXYZ_M:[[1.3457868816471583,-.25557208737979464,-.05110186497554526],[-.5446307051249019,1.5082477428451468,.02052744743642139],[0,0,1.2119675456389452]]}),cA=1/512,_A=16/512,lA=new Dr({id:"prophoto",cssId:"prophoto-rgb",name:"ProPhoto",base:I0,toBase(e){return e.map(t=>t<_A?t/16:t**1.8)},fromBase(e){return e.map(t=>t>=cA?t**(1/1.8):16*t)}}),uA=new qe({id:"oklch",name:"Oklch",coords:{l:{refRange:[0,1],name:"Lightness"},c:{refRange:[0,.4],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},white:"D65",base:hi,fromBase(e){let[t,s,r]=e,o,n=2e-4;return Math.abs(s) | "," | [0,1]"," | "]}}}),D0=Tr.D65,mA=216/24389,Fh=24389/27,[Bh,Wh]=R_({space:ar,coords:D0}),F0=new qe({id:"luv",name:"Luv",coords:{l:{refRange:[0,100],name:"Lightness"},u:{refRange:[-215,215]},v:{refRange:[-215,215]}},white:D0,base:ar,fromBase(e){let t=[Cs(e[0]),Cs(e[1]),Cs(e[2])],s=t[1],[r,o]=R_({space:ar,coords:t});if(!Number.isFinite(r)||!Number.isFinite(o))return[0,0,0];let n=s<=mA?Fh*s:116*Math.cbrt(s)-16;return[n,13*n*(r-Bh),13*n*(o-Wh)]},toBase(e){let[t,s,r]=e;if(t===0||Vn(t))return[0,0,0];s=Cs(s),r=Cs(r);let o=s/(13*t)+Bh,n=r/(13*t)+Wh,i=t<=8?t/Fh:Math.pow((t+16)/116,3);return[i*(9*o/(4*n)),i,i*((12-3*o-20*n)/(4*n))]},formats:{color:{id:"--luv",coords:[" | "," | [-1,1]"," | [-1,1]"]}}}),_m=new qe({id:"lchuv",name:"LChuv",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,220],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:F0,fromBase(e){let[t,s,r]=e,o,n=.02;return Math.abs(s) | "," | "," | "]}}}),pA=216/24389,fA=24389/27,Oh=Ds[0][0],Vh=Ds[0][1],V1=Ds[0][2],Nh=Ds[1][0],qh=Ds[1][1],N1=Ds[1][2],Xh=Ds[2][0],Hh=Ds[2][1],q1=Ds[2][2];function vi(e,t,s){let r=t/(Math.sin(s)-e*Math.cos(s));return r<0?1/0:r}function $_(e){let t=Math.pow(e+16,3)/1560896,s=t>pA?t:e/fA,r=s*(284517*Oh-94839*V1),o=s*(838422*V1+769860*Vh+731718*Oh),n=s*(632260*V1-126452*Vh),i=s*(284517*Nh-94839*N1),d=s*(838422*N1+769860*qh+731718*Nh),c=s*(632260*N1-126452*qh),_=s*(284517*Xh-94839*q1),u=s*(838422*q1+769860*Hh+731718*Xh),m=s*(632260*q1-126452*Hh);return{r0s:r/n,r0i:o*e/n,r1s:r/(n+126452),r1i:(o-769860)*e/(n+126452),g0s:i/c,g0i:d*e/c,g1s:i/(c+126452),g1i:(d-769860)*e/(c+126452),b0s:_/m,b0i:u*e/m,b1s:_/(m+126452),b1i:(u-769860)*e/(m+126452)}}function jh(e,t){let s=t/360*Math.PI*2,r=vi(e.r0s,e.r0i,s),o=vi(e.r1s,e.r1i,s),n=vi(e.g0s,e.g0i,s),i=vi(e.g1s,e.g1i,s),d=vi(e.b0s,e.b0i,s),c=vi(e.b1s,e.b1i,s);return Math.min(r,o,n,i,d,c)}var vA=new qe({id:"hsluv",name:"HSLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:_m,gamutSpace:bi,fromBase(e){let[t,s,r]=[Cs(e[0]),Cs(e[1]),Cs(e[2])],o;return t>99.9999999?(o=0,t=100):t<1e-8?(o=0,t=0):o=s/jh($_(t),r)*100,[r,o,t]},toBase(e){let[t,s,r]=[Cs(e[0]),Cs(e[1]),Cs(e[2])],o;return r>99.9999999?(r=100,o=0):r<1e-8?(r=0,o=0):o=jh($_(r),t)/100*s,[r,o,t]},formats:{color:{id:"--hsluv",coords:[" | "," | "," | "]}}});Ds[0][0];Ds[0][1];Ds[0][2];Ds[1][0];Ds[1][1];Ds[1][2];Ds[2][0];Ds[2][1];Ds[2][2];function yi(e,t){return Math.abs(t)/Math.sqrt(Math.pow(e,2)+1)}function Kh(e){let t=yi(e.r0s,e.r0i),s=yi(e.r1s,e.r1i),r=yi(e.g0s,e.g0i),o=yi(e.g1s,e.g1i),n=yi(e.b0s,e.b0i),i=yi(e.b1s,e.b1i);return Math.min(t,s,r,o,n,i)}var yA=new qe({id:"hpluv",name:"HPLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:_m,gamutSpace:"self",fromBase(e){let[t,s,r]=[Cs(e[0]),Cs(e[1]),Cs(e[2])],o;return t>99.9999999?(o=0,t=100):t<1e-8?(o=0,t=0):o=s/Kh($_(t))*100,[r,o,t]},toBase(e){let[t,s,r]=[Cs(e[0]),Cs(e[1]),Cs(e[2])],o;return r>99.9999999?(r=100,o=0):r<1e-8?(r=0,o=0):o=Kh($_(r))/100*s,[r,o,t]},formats:{color:{id:"--hpluv",coords:[" | "," | "," | "]}}}),Zh=203,Qh=2610/2**14,hA=2**14/2610,xA=2523/2**5,Jh=2**5/2523,e0=3424/2**12,t0=2413/2**7,s0=2392/2**7,gA=new Dr({id:"rec2100pq",cssId:"rec2100-pq",name:"REC.2100-PQ",base:C_,toBase(e){return e.map(function(t){return(Math.max(t**Jh-e0,0)/(t0-s0*t**Jh))**hA*1e4/Zh})},fromBase(e){return e.map(function(t){let s=Math.max(t*Zh/1e4,0);return((e0+t0*s**Qh)/(1+s0*s**Qh))**xA})}}),r0=.17883277,o0=.28466892,n0=.55991073,X1=3.7743,bA=new Dr({id:"rec2100hlg",cssId:"rec2100-hlg",name:"REC.2100-HLG",referred:"scene",base:C_,toBase(e){return e.map(function(t){return t<=.5?t**2/3*X1:(Math.exp((t-n0)/r0)+o0)/12*X1})},fromBase(e){return e.map(function(t){return t/=X1,t<=1/12?Math.sqrt(3*t):r0*Math.log(12*t-o0)+n0})}}),B0={};Nn.add("chromatic-adaptation-start",e=>{e.options.method&&(e.M=W0(e.W1,e.W2,e.options.method))});Nn.add("chromatic-adaptation-end",e=>{e.M||(e.M=W0(e.W1,e.W2,e.options.method))});function z_({id:e,toCone_M:t,fromCone_M:s}){B0[e]=arguments[0]}function W0(e,t,s="Bradford"){let r=B0[s],[o,n,i]=ms(r.toCone_M,e),[d,c,_]=ms(r.toCone_M,t),u=ms([[d/o,0,0],[0,c/n,0],[0,0,_/i]],r.toCone_M);return ms(r.fromCone_M,u)}z_({id:"von Kries",toCone_M:[[.40024,.7076,-.08081],[-.2263,1.16532,.0457],[0,0,.91822]],fromCone_M:[[1.8599363874558397,-1.1293816185800916,.21989740959619328],[.3611914362417676,.6388124632850422,-6370596838649899e-21],[0,0,1.0890636230968613]]});z_({id:"Bradford",toCone_M:[[.8951,.2664,-.1614],[-.7502,1.7135,.0367],[.0389,-.0685,1.0296]],fromCone_M:[[.9869929054667121,-.14705425642099013,.15996265166373122],[.4323052697233945,.5183602715367774,.049291228212855594],[-.00852866457517732,.04004282165408486,.96848669578755]]});z_({id:"CAT02",toCone_M:[[.7328,.4296,-.1624],[-.7036,1.6975,.0061],[.003,.0136,.9834]],fromCone_M:[[1.0961238208355142,-.27886900021828726,.18274517938277307],[.4543690419753592,.4735331543074117,.07209780371722911],[-.009627608738429355,-.00569803121611342,1.0153256399545427]]});z_({id:"CAT16",toCone_M:[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],fromCone_M:[[1.862067855087233,-1.0112546305316845,.14918677544445172],[.3875265432361372,.6214474419314753,-.008973985167612521],[-.01584149884933386,-.03412293802851557,1.0499644368778496]]});Object.assign(Tr,{A:[1.0985,1,.35585],C:[.98074,1,1.18232],D55:[.95682,1,.92149],D75:[.94972,1,1.22638],E:[1,1,1],F2:[.99186,1,.67393],F7:[.95041,1,1.08747],F11:[1.00962,1,.6435]});Tr.ACES=[.32168/.33767,1,.34065/.33767];var O0=new Dr({id:"acescg",cssId:"--acescg",name:"ACEScg",coords:{r:{range:[0,65504],name:"Red"},g:{range:[0,65504],name:"Green"},b:{range:[0,65504],name:"Blue"}},referred:"scene",white:Tr.ACES,toXYZ_M:[[.6624541811085053,.13400420645643313,.1561876870049078],[.27222871678091454,.6740817658111484,.05368951740793705],[-.005574649490394108,.004060733528982826,1.0103391003129971]],fromXYZ_M:[[1.6410233796943257,-.32480329418479,-.23642469523761225],[-.6636628587229829,1.6153315916573379,.016756347685530137],[.011721894328375376,-.008284441996237409,.9883948585390215]]}),S_=2**-16,H1=-.35828683,A_=(Math.log2(65504)+9.72)/17.52,wA=new Dr({id:"acescc",cssId:"--acescc",name:"ACEScc",coords:{r:{range:[H1,A_],name:"Red"},g:{range:[H1,A_],name:"Green"},b:{range:[H1,A_],name:"Blue"}},referred:"scene",base:O0,toBase(e){let t=-.3013698630136986;return e.map(function(s){return s<=t?(2**(s*17.52-9.72)-S_)*2:s1||n===void 0?1:n<0?0:n;for(let i=0;ithis.get(i),set:d=>this.set(i,d)})}get spaceId(){return this.space.id}clone(){return new Ir(this.space,this.coords,this.alpha)}toJSON(){return{spaceId:this.spaceId,coords:this.coords,alpha:this.alpha}}display(...t){let s=CS(this,...t);return s.color=new Ir(s.color),s}static get(t,...s){return t instanceof Ir?t:new Ir(t,...s)}static defineFunction(t,s,r=s){let{instance:o=!0,returns:n}=r,i=function(...d){let c=s(...d);if(n==="color")c=Ir.get(c);else if(n==="function"){let _=c;c=function(...u){let m=_(...u);return Ir.get(m)},Object.assign(c,_)}else n==="array"&&(c=c.map(_=>Ir.get(_)));return c};t in Ir||(Ir[t]=i),o&&(Ir.prototype[t]=function(...d){return i(this,...d)})}static defineFunctions(t){for(let s in t)Ir.defineFunction(s,t[s],t[s])}static extend(t){if(t.register)t.register(Ir);else for(let s in t)Ir.defineFunction(s,t[s])}};Sr.defineFunctions({get:Jr,getAll:zd,set:pn,setAll:nm,to:us,equals:RS,inGamut:Ea,toGamut:qn,distance:v0,toString:kd});Object.assign(Sr,{util:YT,hooks:Nn,WHITES:Tr,Space:qe,spaces:qe.registry,parse:p0,defaults:to});for(let e of Object.keys(a0))qe.register(a0[e]);for(let e in qe.registry)sm(e,qe.registry[e]);Nn.add("colorspace-init-end",e=>{sm(e.id,e),e.aliases?.forEach(t=>{sm(t,e)})});function sm(e,t){let s=e.replace(/-/g,"_");Object.defineProperty(Sr.prototype,s,{get(){let r=this.getAll(e);return typeof Proxy>"u"?r:new Proxy(r,{has:(o,n)=>{try{return qe.resolveCoord([t,n]),!0}catch{}return Reflect.has(o,n)},get:(o,n,i)=>{if(n&&typeof n!="symbol"&&!(n in o)){let{index:d}=qe.resolveCoord([t,n]);if(d>=0)return o[d]}return Reflect.get(o,n,i)},set:(o,n,i,d)=>{if(n&&typeof n!="symbol"&&!(n in o)||n>=0){let{index:c}=qe.resolveCoord([t,n]);if(c>=0)return o[c]=i,this.setAll(e,o),!0}return Reflect.set(o,n,i,d)}})},set(r){this.setAll(e,r)},configurable:!0,enumerable:!0})}Sr.extend(gi);Sr.extend({deltaE:Ed});Object.assign(Sr,{deltaEMethods:gi});Sr.extend(oA);Sr.extend({contrast:JS});Sr.extend(tA);Sr.extend(GS);Sr.extend(aA);Sr.extend(M_);var V0="p3-linear",N0=e=>{V0=e};function TA(e){try{let t=new Sr(e),s=V0==="srgb"?"srgb-linear":"p3-linear",r=t.to(s).coords,o=Number(t.alpha);return{r:Number.isFinite(r?.[0])?r[0]:0,g:Number.isFinite(r?.[1])?r[1]:0,b:Number.isFinite(r?.[2])?r[2]:0,a:Number.isFinite(o)?o:1}}catch{return{r:0,g:0,b:0,a:0}}}var ts=e=>TA(e),ho=e=>{let t=.5,s=.5,r=(n,i=!1)=>{if(typeof n=="number")return n;if(typeof n=="object"&&n!==null)return n.value;let d=n.toLowerCase().trim();if(i){if(d==="top")return 0;if(d==="bottom")return 1;if(d==="center")return .5}else{if(d==="left")return 0;if(d==="right")return 1;if(d==="center")return .5}return console.warn(`Invalid position value: ${n}. Defaulting to center.`),.5};if(typeof e=="string"){let n=e.toLowerCase().trim().split(/\s+/);n.includes("left")?t=0:n.includes("right")?t=1:(n.includes("center")||n.length===1&&(n[0]==="top"||n[0]==="bottom"))&&(t=.5),n.includes("top")?s=0:n.includes("bottom")?s=1:(n.includes("center")||n.length===1&&(n[0]==="left"||n[0]==="right"))&&(s=.5),n.length===1&&n[0]==="center"&&(t=.5,s=.5)}else typeof e=="object"&&e!==null?(t=r(e.x,!1),s=r(e.y,!0)):console.warn(`Invalid position value provided: ${e}. Defaulting to center.`);let o=1-s;return{x:t,y:o}};var q0=e=>({outside:0,center:1,inside:2})[e?.toLowerCase()]??1,Ho=[{label:"Linear RGB",value:"linear"},{label:"OKLCh",value:"oklch"},{label:"OKLAB",value:"oklab"},{label:"HSL",value:"hsl"},{label:"HSV",value:"hsv"},{label:"LCH",value:"lch"}],ir=e=>{let t={linear:0,oklch:1,oklab:2,hsl:3,hsv:4,lch:5}[e.toLowerCase()];return t===void 0?(console.warn(`Invalid color space mode: ${e}. Defaulting to 'linear'.`),0):t};var SA=Object.defineProperty,Za=e=>{let t={};for(var s in e)SA(t,s,{get:e[s],enumerable:!0});return t};function so(e){typeof Symbol[e]>"u"&&Object.defineProperty(Symbol,e,{value:Symbol.for(`Symbol.${e}`),writable:!1,enumerable:!1,configurable:!1})}function X0(e,t){return typeof e?.[t]=="function"}function ad(e,t,s,r){let o=dr.deferOperation;return X0(e,s)&&(o=e[s](e,t)),o===dr.deferOperation&&X0(t,s)&&(o=t[s](e,t)),o===dr.deferOperation?r(e,t):o}var AA=(e,t)=>e+t;function MA(e,t){return(typeof e=="number"||typeof e=="string")&&(typeof t=="number"||typeof t=="string")?e+t:ad(e,t,dr.plus,AA)}var PA=(e,t)=>e-t;function EA(e,t){return typeof e=="number"&&typeof t=="number"?e-t:ad(e,t,dr.minus,PA)}var kA=(e,t)=>e*t;function $A(e,t){return typeof e=="number"&&typeof t=="number"?e*t:ad(e,t,dr.star,kA)}var UA=(e,t)=>e/t;function CA(e,t){return typeof e=="number"&&typeof t=="number"?e/t:ad(e,t,dr.slash,UA)}var RA=(e,t)=>e**t;function zA(e,t){return typeof e=="number"&&typeof t=="number"?e**t:ad(e,t,dr.starStar,RA)}var GA=(e,t)=>e%t;function YA(e,t){return typeof e=="number"&&typeof t=="number"?e%t:ad(e,t,dr.percent,GA)}var dr=(so("deferOperation"),so("operatorPlus"),so("operatorMinus"),so("operatorStar"),so("operatorSlash"),so("operatorStarStar"),so("operatorPercent"),so("operatorEqEq"),so("operatorPrePlusPlus"),so("operatorPreMinusMinus"),so("operatorPostPlusPlus"),so("operatorPostMinusMinus"),so("operatorPreMinus"),globalThis.__tsover_add=MA,globalThis.__tsover_sub=EA,globalThis.__tsover_mul=$A,globalThis.__tsover_div=CA,globalThis.__tsover_pow=zA,globalThis.__tsover_mod=YA,{deferOperation:Symbol.deferOperation,plus:Symbol.operatorPlus,minus:Symbol.operatorMinus,star:Symbol.operatorStar,slash:Symbol.operatorSlash,starStar:Symbol.operatorStarStar,percent:Symbol.operatorPercent,eqEq:Symbol.operatorEqEq,prePlusPlus:Symbol.operatorPrePlusPlus,preMinusMinus:Symbol.operatorPreMinusMinus,postPlusPlus:Symbol.operatorPostPlusPlus,postMinusMinus:Symbol.operatorPostMinusMinus,preMinus:Symbol.operatorPreMinus}),$u=!1,zf=!1,js="0.12.3",B=Symbol(`typegpu:${js}:$internal`),me=Symbol(`typegpu:${js}:$soul`),Hr=Symbol(`typegpu:${js}:$gpuValueOf`),Xs=Symbol(`typegpu:${js}:$getNameForward`),Mr=Symbol(`typegpu:${js}:$providing`),oa=Symbol(`typegpu:${js}:$ownSnippet`),kt=Symbol(`typegpu:${js}:$resolve`),Gf=Symbol(`typegpu:${js}:$cast`),zs=Symbol(`typegpu:${js}:$gpuCallable`),id=Symbol(`typegpu:${js}:$repr`);`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;function mt(e){return!!e?.[B]}var _s={[B]:{},type:"void",toString(){return"void"}},LA=["bool","f32","f16","i32","u32","u16","vec2f","vec2h","vec2i","vec2u","vec2","vec3f","vec3h","vec3i","vec3u","vec3","vec4f","vec4h","vec4i","vec4u","vec4","mat2x2f","mat3x3f","mat4x4f","struct","array","ptr","atomic","decorated","abstractInt","abstractFloat","void","texture_1d","texture_storage_1d","texture_2d","texture_storage_2d","texture_multisampled_2d","texture_depth_2d","texture_depth_multisampled_2d","texture_2d_array","texture_storage_2d_array","texture_depth_2d_array","texture_cube","texture_depth_cube","texture_cube_array","texture_depth_cube_array","texture_3d","texture_storage_3d","texture_external","sampler","sampler_comparison"];function lr(e){let t=e;return mt(t)&&typeof t.kind=="string"&&t.kind.startsWith("vec")}function IA(e){return lr(e)&&e.kind.includes("b")}function DA(e){let t=e;return mt(t)&&typeof t.type=="string"&&t.type.startsWith("vec2")}function FA(e){let t=e;return mt(t)&&typeof t.type=="string"&&t.type.startsWith("vec3")}function BA(e){let t=e;return mt(t)&&typeof t.type=="string"&&t.type.startsWith("vec4")}function Rt(e){return DA(e)||FA(e)||BA(e)}function Yf(e){return Rt(e)&&e.type.includes("b")}function Do(e){let t=e;return mt(t)&&typeof t.kind?.startsWith=="function"&&t.kind.startsWith("mat")}function Kb(e){return mt(e)&&e?.type==="mat2x2f"}function Zb(e){return mt(e)&&e?.type==="mat3x3f"}function WA(e){return mt(e)&&e?.type==="mat4x4f"}function rn(e){return Kb(e)||Zb(e)||WA(e)}function Qb(e){return mt(e)&&["abstractInt","i32","u32"].includes(e?.type)}function OA(e){return Rt(e)&&Qb(e.primitive)}function H0(e){return lr(e)&&["vec2f","vec3f","vec4f"].includes(e.kind)}function bl(e){return lr(e)&&/[iu]$/.test(e.kind)}function Jb(e){return lr(e)&&/[u]$/.test(e.kind)}function Qa(e){return mt(e)&&LA.includes(e?.type)}function Us(e){return mt(e)&&e?.type==="array"}function Qt(e){return mt(e)&&e?.type==="struct"}function pr(e){return mt(e)&&e?.type==="ptr"}function Uu(e){return mt(e)&&e?.type==="atomic"}function e2(e){return mt(e)&&e?.type==="@align"}function t2(e){return mt(e)&&e?.type==="@size"}function s2(e){return mt(e)&&e?.type==="@location"}function VA(e){return mt(e)&&e?.type==="@builtin"}function zn(e){return mt(e)&&e?.type==="decorated"}function Cu(e){return mt(e)&&e.type==="void"}function Kn(e){return mt(e)&&e.type==="bool"}function np(e){let t=e?.type;return mt(e)&&(t==="abstractInt"||t==="abstractFloat"||t==="f32"||t==="f16"||t==="i32"||t==="u32")}function Lf(e){let t=e?.type;return mt(e)&&(t==="f16"||t==="vec2h"||t==="vec3h"||t==="vec4h")}var NA=["abstractInt","abstractFloat","f32","f16","i32","u32","bool"];function Io(e){return!mt(e)||NA.includes(e?.type)}function Ru(e){return e.schema}var qA=["deprecated","suspicious","fallback","precision-loss","implicit-conversion","webgpu-feature-missing","webgpu-limits-exceeded","locations-mismatched","log-limit-exceeded","external-omitted","uniform-schema-misaligned"],XA=class{#e;#t;#s=new WeakMap;constructor(e){e?this.#e=["webgpu-feature-missing","webgpu-limits-exceeded","locations-mismatched","log-limit-exceeded","external-omitted"]:this.#e=qA,this.#t=new Set(this.#e)}disable(e){this.#t.delete(e)}reset(){this.#t=new Set(this.#e)}warn(e,...t){this.#t.has(e)&&console.warn(`\u26A0\uFE0F [${e}] `,...t)}warnOnce(e,t,s,...r){if(!this.#t.has(e))return;let o=this.#s.get(t);o||(o=new Set,this.#s.set(t,o));let n=`${e}:${s}`;o.has(n)||(o.add(n),this.warn(e,...r))}},r2=new XA(!($u||zf)),Vt=r2,o2=r2;function io(e){if(Array.isArray(e))return`[${e.map(io).join(", ")}]`;let t=String(e);if(t!=="[object Object]")return t;try{return JSON.stringify(e)}catch(s){return Vt.warn("suspicious","Error parsing JSON:",s),""}}function ap(e){return lr(e)||Do(e)?e.toString():Array.isArray(e)?`[${e.map(ap).join(", ")}]`:e&&typeof e=="object"?`{ ${Object.entries(e).map(([t,s])=>`${t}: ${ap(s)}`).join(", ")} }`:String(e)}function HA(e){let t={};for(let[s,r]of Object.entries(e))Object.defineProperty(t,s,{get:r,enumerable:!0});return t}function jA(e){if(e.v===1){let t=e.externals;return{...e,externals:typeof t=="function"?t:()=>t}}if(e.v===2){let t=HA(e?.externals);return{...e,externals:()=>t}}throw new Error(`Unrecognized TypeGPU metadata format: ${io(e)}`)}var n2="0.12.3",kn=globalThis;kn.__TYPEGPU_VERSION__!==void 0&&console.warn(`Found duplicate TypeGPU version. First was ${kn.__TYPEGPU_VERSION__}, this one is ${n2}. This may cause unexpected behavior.`);kn.__TYPEGPU_VERSION__=n2;kn.__TYPEGPU_AUTONAME__=(e,t)=>Di(e)&&mt(e)&&!xe(e)?e.$name(t):e;var wl=new WeakMap;function Di(e){return!!e?.$name}function a2(e){return!!e?.[Xs]}function i2(e){return e?.[me]}function xe(e){return a2(e)?xe(e[Xs]):wl.get(e)??i2(e)?.label??kn.__TYPEGPU_META__?.get(e)?.name}function ot(e,t){if(a2(e)){ot(e[Xs],t);return}wl.set(e,t);let s=i2(e);s&&(s.label=t)}var j0=new WeakMap;function If(e){let t=kn.__TYPEGPU_META__?.get(e);if(t){kn.__TYPEGPU_META__?.delete(e);let s=jA(t);j0.set(e,s),t.name&&wl.get(e)===void 0&&wl.set(e,t.name)}return j0.get(e)}function Fi(e){return typeof e=="function"&&!!If(e)}var Df=($u||zf)&&{get enabled(){return!!kn.__TYPEGPU_MEASURE_PERF__},record(e,t){let s=kn.__TYPEGPU_PERF_RECORDS__??=new Map,r=s.get(e);r||(r=[],s.set(e,r)),r.push(t)}}||void 0,lm="Invariant failed";function ds(e,t){if(e)return;if(!$u&&!zf)throw new Error(lm);let s=typeof t=="function"?t():t,r=s?`${lm}: ${s}`:lm;throw new Error(r)}var Pi=class ip extends Error{cause;trace;constructor(t,s){let r=s.map(o=>`- ${Fi(o)?`fn*:${xe(o)}`:o}`);r.length>20&&(r=[...r.slice(0,11),"...",...r.slice(-10)]),super(`Resolution of the following tree failed: +${r.join(` +`)}: ${t&&typeof t=="object"&&"message"in t?t.message:t}`),this.cause=t,this.trace=s,Object.setPrototypeOf(this,ip.prototype)}appendToTrace(t){let s=[t,...this.trace];return new ip(this.cause,s)}},K0=class dp extends Error{cause;trace;constructor(t,s){let r=s.map(o=>`- ${o}`);r.length>20&&(r=[...r.slice(0,11),"...",...r.slice(-10)]),super(`Execution of the following tree failed: +${r.join(` +`)}: ${t&&typeof t=="object"&&"message"in t?t.message:t}`),this.cause=t,this.trace=s,Object.setPrototypeOf(this,dp.prototype)}appendToTrace(t){let s=[t,...this.trace];return new dp(this.cause,s)}},KA=class d2 extends Error{slot;constructor(t){super(`Missing value for '${t}'`),this.slot=t,Object.setPrototypeOf(this,d2.prototype)}},ZA=class c2 extends Error{constructor(t){super(`Buffer '${xe(t)??""}' is not bindable as a uniform. Use .$usage('uniform') to allow it.`),Object.setPrototypeOf(this,c2.prototype)}},QA=class _2 extends Error{constructor(t){super(`Missing bind groups for layouts: '${[...t].map(s=>xe(s)??"").join(", ")}'. Please provide it using pipeline.with(bindGroup).(...)`),Object.setPrototypeOf(this,_2.prototype)}},JA=class l2 extends Error{constructor(t){super(`Missing vertex buffers for layouts: '${[...t].map(s=>xe(s)??"").join(", ")}'. Please provide it using pipeline.with(layout, buffer).(...)`),Object.setPrototypeOf(this,l2.prototype)}},Z0=class u2 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,u2.prototype)}},Q0=class m2 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,m2.prototype)}},Qe=class p2 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,p2.prototype)}},Ts=class f2 extends Error{constructor(t,s){super(`Unsupported data types: ${t.map(r=>r.type).join(", ")}. Supported types are: ${s.map(r=>r.type).join(", ")}.`),Object.setPrototypeOf(this,f2.prototype)}},Cc=class v2 extends Error{constructor(t,s){super(`Cannot convert value '${t}' to type ${s.type} because of the Finite Math Assumption (see: https://www.w3.org/TR/WGSL/#finite-math-assumption)`),Object.setPrototypeOf(this,v2.prototype)}},y2=["uint8","uint8x2","uint8x4","sint8","sint8x2","sint8x4","unorm8","unorm8x2","unorm8x4","snorm8","snorm8x2","snorm8x4","uint16","uint16x2","uint16x4","sint16","sint16x2","sint16x4","unorm16","unorm16x2","unorm16x4","snorm16","snorm16x2","snorm16x4","float16","float16x2","float16x4","float32","float32x2","float32x3","float32x4","uint32","uint32x2","uint32x3","uint32x4","sint32","sint32x2","sint32x3","sint32x4","unorm10-10-10-2","unorm8x4-bgra"],eM={f32:"float32",vec2f:"float32x2",vec3f:"float32x3",vec4f:"float32x4",f16:"float16",vec2h:"float16x2",vec4h:"float16x4",u32:"uint32",vec2u:"uint32x2",vec3u:"uint32x3",vec4u:"uint32x4",i32:"sint32",vec2i:"sint32x2",vec3i:"sint32x3",vec4i:"sint32x4"};function lo(e){return zn(e)||ha(e)?e.inner:e}function Ca(e){return pr(e)?e.inner:e}var tM=["unstruct","disarray","loose-decorated",...y2];function zu(e){return mt(e)&&tM.includes(e?.type)}function Ja(e){return mt(e)&&e?.type==="disarray"}function un(e){return mt(e)&&e?.type==="unstruct"}function ha(e){return mt(e)&&e?.type==="loose-decorated"}function ac(e){return e.attribs?.find(e2)?.params[0]}function sM(e){return e.attribs?.find(t2)?.params[0]}function na(e){return e.attribs?.find(s2)?.params[0]}function Rc(e){return Qa(e)||zu(e)}var Ut=Symbol("UNKNOWN"),h2=class{matrix;constructor(e){this.matrix=e}};function rM(e){return e==="runtime"||e==="constant"?e:"runtime"}function en(e){return!(e.origin==="runtime"||e.origin==="constant")}var oM={uniform:{space:"uniform",access:"read"},readonly:{space:"storage",access:"read"},mutable:{space:"storage",access:"read-write"},workgroup:{space:"workgroup",access:"read-write"},private:{space:"private",access:"read-write"},function:{space:"function",access:"read-write"},"local-def":{space:"function",access:"read-write"}},zc=class{value;dataType;origin;possibleSideEffects;constructor(e,t,s,r){this.value=e,this.dataType=t,this.origin=s,this.possibleSideEffects=r}};function Gc(e){return e instanceof zc}function Qd(e){return np(e.dataType)}function ve(e,t,s,r=!0){if($u&&Gc(e))throw new Error("Cannot nest snippets");return new zc(e,lo(t),s,r)}function Ff(e,t){return new zc(t.value,e,t.origin,t.possibleSideEffects)}function x2(e,t){return new zc(e,t.dataType,t.origin,t.possibleSideEffects)}function nM(e,t){return new zc(t.value,t.dataType,t.origin,e)}function aM(e){return nM(!1,e)}function cp(e){return e?.resourceType==="slot"}function _p(e){return e?.resourceType==="lazy"}function al(e){return e?.[Mr]!==void 0}function dd(e){return e?.resourceType==="accessor"}function cd(e){return e?.resourceType==="mutable-accessor"}var _d=class{type="normal"},iM=class{type="codegen"},dM=class{type="simulate";buffers;vars;constructor(e,t){this.buffers=e,this.vars=t}};function g2(e){return!!e?.[kt]}function Gu(e){return e?.[oa]}function Tl(e){return!!e?.[zs]}function cM(e){return!!e?.[Gf]}function hs(e){return(typeof e.value!="string"||e.dataType===Ut)&&Gu(e.value)===void 0}function _M(e){return typeof e=="number"||typeof e=="boolean"||g2(e)||Qa(e)||cp(e)||_p(e)||al(e)}function Mn(e){return!!e&&typeof e=="object"&&"getMappedRange"in e&&"mapAsync"in e}function hc(e){return e.resourceType==="buffer"}function b2(e){return!!e.usableAsUniform}function Sl(e){return!!e?.usableAsStorage}var il=!1;function lM(e){if(il)return e();try{return il=!0,e()}finally{il=!1}}function Al(){return il}var La;function w2(e,t){if(La===e)return t();let s=La;La=e;try{return t()}finally{La=s}}function Na(){return La}var T2=new _d;function J0(){return La?.mode??T2}function Yu(){return La?.mode.type==="codegen"}function ce(e,...t){let s=Na();function r(n){return Gc(n)?s.resolveSnippet(n).value:n}let o="";for(let n=0;nd!==void 0).map(r).join(", "):i&&(o+=r(i))}return o}function S2(e){return Lu("function",e,"read-write")}function Lu(e,t,s,r=!1){return{[B]:{},type:"ptr",addressSpace:e,inner:t,access:s,implicit:r,toString:()=>`ptr<${e}, ${t}, ${s}>`}}function Bf(e,t){let s=oM[e];if(s)return Lu(s.space,t,s.access)}function A2(e){return Lu(e.addressSpace,e.inner,e.access,!0)}function uM(e){return Lu(e.addressSpace,e.inner,e.access,!1)}var mM=(()=>{let e=(t=>pM(t));return ot(e,"ref"),e.toString=()=>"ref",e[B]=!0,e[zs]={call(t,[s]){if(s.origin==="argument")throw new Qe(ce`d.ref(${s}) is illegal, cannot take a reference of an argument. Copy the value first, and take a reference of the copy.`);if(s.origin==="constant-immutable-def"||s.origin==="runtime-immutable-def"){let o=t.resolve(s.dataType).value;throw new Qe(ce`d.ref(${s}) is illegal, cannot take a reference to a constant. +----- +- Try 'd.ref(${o}(${s}));' instead to create a new referencable value. +-----`)}if(en(s)&&Io(s.dataType)){let o=t.resolve(s.dataType).value;throw new Qe(ce`d.ref(${s}) is illegal, cannot take a reference to a scalar value. +----- +- Try 'd.ref(${o}(${s}));' instead to create a new referencable scalar. +-----`)}if(pr(s.dataType))return Ff(uM(s.dataType),s);let r=Bf(s.origin,s.dataType);return ve(new wn(s,r),r??Ut,"runtime",s.possibleSideEffects)}},e})();function M2(e){return e?.[B]?.type==="ref"}function pM(e){let t={[B]:{type:"ref"},get $(){return e},set $(s){if(s&&typeof s=="object")for(let r of Object.keys(s))e[r]=s[r];else e=s}};if(e==null)throw new Error("Cannot create a ref from undefined or null");return typeof e=="object"?new Proxy(t,{get(s,r){return r in s?s[r]:e[r]},set(s,r,o){return r===B?!1:Reflect.set(r==="$"?t:e,r,o)}}):t}var wn=class{[B];snippet;#e;constructor(e,t){this[B]=!0,this.snippet=e,this.#e=t}get[oa](){if(!this.#e)throw new Error(ce`Cannot take a reference of ${this.snippet}`);return ve(this,this.#e,this.snippet.origin,this.snippet.possibleSideEffects)}[kt](){if(!this.#e)throw new Error(ce`Cannot take a reference of ${this.snippet}`);return ve(ce`(&${this.snippet})`,this.#e,this.snippet.origin,this.snippet.possibleSideEffects)}};function Wf(e){if(!pr(e.dataType))return e;let t=e.dataType.inner;return e.value instanceof wn?ve(ce`${e.value.snippet}`,t,e.origin,e.possibleSideEffects):ve(ce`(*${e})`,t,e.origin,e.possibleSideEffects)}function aa(e,t){let s=e;return cM(s)?s[Gf](t):typeof s!="function"?t:t===void 0?s():s(t)}function P2(e,t,s){if(!Tl(t))return s;let r=t;return s===void 0||s.value===void 0?r[zs].call(e,[]):r[zs].call(e,[s])}function xc(e,t){throw new Error(`Failed to handle ${e} at ${t}`)}function E2(e,t){ds(Qt(e.dataType)||un(e.dataType),"Expected snippet type to be struct/unstruct.");let s=e.dataType.propTypes[t];if(s)return s=lo(s),ve(ce`${e}.${t}`,s,e.origin,e.possibleSideEffects)}var Of={rank:Number.POSITIVE_INFINITY,action:"none"};function Ml(e,t){let s=lo(e),r=lo(t);if(s.type===r.type)return s.type==="struct"&&s!==r?{rank:1,action:"cast",targetType:t}:{rank:0,action:"none"};if(s.type==="abstractFloat"){if(r.type==="f32")return{rank:1,action:"none"};if(r.type==="f16")return{rank:2,action:"none"}}if(s.type==="abstractInt"){if(r.type==="i32")return{rank:3,action:"none"};if(r.type==="u32")return{rank:4,action:"none"};if(r.type==="abstractFloat")return{rank:5,action:"none"};if(r.type==="f32")return{rank:6,action:"none"};if(r.type==="f16")return{rank:7,action:"none"}}return Rt(s)&&Rt(r)&&s.type[3]===r.type[3]?Ml(s.primitive,r.primitive):rn(s)&&rn(r)&&s.type[3]===r.type[3]?{rank:0,action:"none"}:Of}function fM(e,t){let s=lo(e),r=lo(t);if(pr(s)&&s.implicit&&Ml(s.inner,r).rank({sourceIndex:i,action:n.action,...n.action==="cast"&&{targetType:n.targetType}}));return{targetType:r.type,actions:o,hasImplicitConversions:o.some(n=>n.action==="cast")}}function Vf(e,t){if(e.length===0)return;let s=[...new Set((t||e).map(lo))],r=lp(e,s,!1);if(r)return r;let o=lp(e,s,!0);if(o)return o}function yM(e,t,s,r){if(s.action==="none")return r===t.dataType?t:Ff(r,t);switch(s.action){case"ref":return ve(new wn(t,r),r,t.origin,t.possibleSideEffects);case"deref":return Wf(t);case"cast":if(Qt(t.dataType)&&Qt(r)){let o=xe(t.dataType)??"",n=xe(r)??"";if(t.possibleSideEffects)throw new Error(`Cannot resolve struct cast from '${o}' to '${n}'. Store the value to a variable first, then cast it.`);let i=Object.entries(r.propTypes).map(([c,_])=>{let u=E2(t,c);if(!u)throw new Error(`Cannot auto-convert struct '${o}' to '${n}' because the property '${c}' is missing.`);let m=Qn(e,[u],[_]);if(!m||!m[0])throw new Error(`Cannot auto-convert struct '${o}' to '${n}' because type '${xe(u.dataType)??""}' is not convertible to '${xe(lo(_))??""}'.`);return m[0]}),d=e.resolve(r).value;return ve(`${d}(${i.map(c=>c.value).join(", ")})`,r,"runtime",!1)}return P2(e,r,t);default:xc(s.action,"applyActionToSnippet")}}function fr(e,t){if(e.some(r=>r===Ut))return;let s=Vf(e,t);if(s)return e.map(r=>Rt(r)||rn(r)?r:s.targetType)}function Iu(e,t){if(e.some(r=>r===Ut))return;let s=lp(e,[...new Set((t||e).map(lo))],!1);if(s)return e.map(r=>Rt(r)||rn(r)?r:s.targetType)}function Qn(e,t,s,r=!0){let o=t.map(i=>i.dataType);if(o.some(i=>i===Ut))return;ds(!(Array.isArray(s)&&s.length===0),"Internal error, expected 'restrictTo' to not be an empty array.");let n=Vf(o,s);if(n)return r&&n.hasImplicitConversions&&Vt.warn("implicit-conversion",`Implicit conversions from [ +${t.map(i=>` ${e.resolveSnippet(i).value}: ${io(i.dataType)}`).join(`, +`)} +] to ${n.targetType.type} are supported, but not recommended. +Consider using explicit conversions instead.`),t.map((i,d)=>{let c=n.actions[d];return ds(c,"Action should not be undefined"),yM(e,i,c,n.targetType)})}function Fr(e,t,s,r=!0){let o=Array.isArray(s)?s:[s],{value:n,dataType:i,origin:d,possibleSideEffects:c}=t;if(o.length===1){let u=o[0];if(u===i)return ve(n,u,d,c);if(i===Ut)return e.resolveSnippet(ve(n,u,d,c))}let _=Qn(e,[t],o,r);if(_)return _[0];throw new Qe(`Cannot convert value of type '${String(i)}' to any of the target types: [${o.map(u=>u.type).join(", ")}]`)}function ex(e,t,s){return Object.entries(t.propTypes).map(([r,o])=>{let n=s[r];if(!n)throw new Error(`Missing property ${r}`);return Qn(e,[n],[o])?.[0]??n})}function ei(e){let t=((...s)=>e.normalImpl(...s));return ot(t,e.name),t.toString=()=>e.name,t[zs]={get strictSignature(){},call(s,r){let o=e.argTypes(...r.map(d=>pr(d.dataType)&&d.dataType.implicit?d.dataType.inner:d.dataType)),n=r.map((d,c)=>{let _=o[c];if(!_)throw new Error("Function called with invalid arguments");return Fr(s,d,_,!1)}),i;if(n.every(d=>hs(d))){s.pushMode(new _d);try{i=ve(e.normalImpl(...n.map(d=>d.value)),e.schema(),"constant")}finally{s.popMode("normal")}}else i=e.codegenImpl(s,n);return r.some(d=>d.possibleSideEffects)?i:aM(i)}},t}var hM=ei({name:"bool",schema:()=>ft,argTypes:e=>e?[e]:[],normalImpl(e=!1){if(typeof e=="boolean")return e;if(typeof e=="number"){if(!Number.isFinite(e))throw new Cc(e,ft);return!!e}throw new Error(`Invalid argument type for 'd.bool'. Got '${typeof e}', expected number or boolean`)},codegenImpl:(e,[t])=>{if(t===void 0)return e.gen.typeInstantiation(ft,[]);if(Kn(t.dataType)||Qd(t))return e.gen.typeInstantiation(ft,[t]);throw t.dataType===Ut?new Qe("Unknown argument type for 'd.bool'."):new Ts([t.dataType],[ft,R,Z,a,xs])}}),ft=Object.assign(hM,{[B]:{},type:"bool"}),xM=ei({name:"u32",schema:()=>R,argTypes:e=>e?[e]:[],normalImpl(e){if(e===void 0)return 0;if(typeof e=="boolean")return e?1:0;if(!Number.isFinite(e))throw new Cc(e,R);if(!Number.isInteger(e)){let t=Math.trunc(e);return t<0?0:t>4294967295?4294967295:t}return(e&4294967295)>>>0},codegenImpl:(e,[t])=>e.gen.typeInstantiation(R,t?[t]:[])}),R=Object.assign(xM,{[B]:{},type:"u32"}),gM=ei({name:"i32",schema:()=>Z,argTypes:e=>e?[e]:[],normalImpl(e){if(e===void 0)return 0;if(typeof e=="boolean")return e?1:0;if(!Number.isFinite(e))throw new Cc(e,Z);return e|0},codegenImpl:(e,[t])=>e.gen.typeInstantiation(Z,t?[t]:[])}),nI={[B]:{},type:"u16"},Z=Object.assign(gM,{[B]:{},type:"i32"}),bM=ei({name:"f32",schema:()=>a,argTypes:e=>e?[e]:[],normalImpl(e){if(e===void 0)return 0;if(typeof e=="boolean")return e?1:0;if(!Number.isFinite(e))throw new Cc(e,a);return Math.fround(e)},codegenImpl:(e,[t])=>e.gen.typeInstantiation(a,t?[t]:[])}),a=Object.assign(bM,{[B]:{},type:"f32"}),k2=new ArrayBuffer(4),wM=new Float32Array(k2),TM=new Uint32Array(k2);function Pl(e){wM[0]=e;let t=TM[0],s=t>>>31&1,r=t>>>23&255,o=t&8388607;if(r===255)return s<<15|31744|(o?512:0);if(r=r-127+15,r<=0){if(r<-10)return s<<15;let c=o|8388608,_=14-r,u=c>>>_-1&1,m=c&(1<<_-1)-1?1:0,p=c>>>_;return u&(m|p&1)&&(p+=1),s<<15|p}if(r>=31)return s<<15|31744;let n=o>>>12&1,i=o&4095?1:0,d=o>>>13;return n&(i|d&1)&&(d+=1),d===1024&&(d=0,++r,r>=31)?s<<15|31744:s<<15|r<<10|d}function Nf(e){let t=e&32768?-1:1,s=e>>10&31,r=e&1023;return s===0?r?t*r*2**-24:t*0:s===31?r?NaN:t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t*(1+r/1024)*2**(s-15)}function SM(e){return Nf(Pl(e))}var AM=ei({name:"f16",schema:()=>xs,argTypes:e=>e?[e]:[],normalImpl(e){if(e===void 0)return 0;if(typeof e=="boolean")return e?1:0;if(!Number.isFinite(e))throw new Cc(e,xs);return SM(e)},codegenImpl:(e,[t])=>e.gen.typeInstantiation(xs,t?[t]:[])}),xs=Object.assign(AM,{[B]:{},type:"f16"}),Yc={[B]:{},type:"abstractInt",toString(){return"abstractInt"},concretized:Z},qa={[B]:{},type:"abstractFloat",toString(){return"abstractFloat"},concretized:a};function on(e){return e>=2**63||e<-(2**63)?ve(e,qa,"constant",!1):Number.isInteger(e)?(Number.isSafeInteger(e)||Vt.warn("precision-loss",`The integer ${e} exceeds the safe integer range and may have lost precision.`),ve(e,Yc,"constant",!1)):ve(e,qa,"constant",!1)}function no(e){return e.type==="abstractFloat"?a:e.type==="abstractInt"?Z:e}function MM(e){return Ff(no(e.dataType),e)}function Wr(e){if(Gc(e))return e;if(M2(e))throw new Error("Cannot use refs (d.ref(...)) from the outer scope.");let t=Gu(e);return t||(lr(e)||Do(e)?ve(e,Ru(e),"constant",!1):typeof e=="number"?on(e):typeof e=="boolean"?ve(e,ft,"constant",!1):ve(e,Ut,"constant",!1))}var ic=class{[B]=!0;type;elements;constructor(e,t){this.type=e,this.elements=t}toString(){return"ArrayExpression"}[kt](e){for(let t of this.elements)if(en(t)&&!Io(t.dataType)){let s=e.resolveSnippet(t).value,r=e.resolve(no(t.dataType)).value;throw new Qe(`'${s}' reference cannot be used in an array constructor. +----- +Try '${r}(${s})' or 'arrayOf(${r}, count)([...])' to copy the value instead. +-----`)}return e.gen.typeInstantiation(this.type,this.elements)}};function Ao(e){let t=((...s)=>e(...s));return t.toString=()=>"comptime",t[Xs]=e,t[zs]={call(s,r){if(!r.every(o=>hs(o)))throw new Qe(`Called comptime function with runtime-known values: ${r.filter(o=>!hs(o)).map(o=>`'${o.value}'`).join(", ")}`);s.pushMode(new _d);try{return Wr(e(...r.map(o=>o.value)))}finally{s.popMode()}}},t.$name=s=>(ot(e,s),t),Object.defineProperty(t,B,{value:{isComptime:!0}}),t}var Ys=class extends Error{constructor(e){super(e),this.name=this.constructor.name}};function pe(e){let t=((...s)=>{if(typeof e.normalImpl=="string")throw new Ys(e.normalImpl);return e.normalImpl(...s)});return e.name&&ot(t,e.name),t.toString=()=>e.name??"",t[zs]={get strictSignature(){return typeof e.signature!="function"?e.signature:void 0},call(s,r){let{argTypes:o,returnType:n}=typeof e.signature=="function"?e.signature(...r.map(_=>pr(_.dataType)&&_.dataType.implicit?_.dataType.inner:_.dataType)):e.signature,i=r.map((_,u)=>{let m=o[u];if(!m)throw new Error("Function called with invalid arguments");return Fr(s,_,m,!e.ignoreImplicitCastWarning)});if(!e.noComptime&&i.every(_=>hs(_))&&typeof e.normalImpl=="function"){s.pushMode(new _d);try{return ve(e.normalImpl(...i.map(_=>_.value)),n,"constant",e.sideEffects)}catch(_){if(!(_ instanceof Ys))throw _}finally{s.popMode("normal")}}let d=e.sideEffects||r.some(_=>_.possibleSideEffects),c=no(n);return ve(e.codegenImpl(s,i,c),c,"runtime",d)}},t}var fn=["x","y","z","w"],vn=["r","g","b","a"],tn=class Ua extends Array{static#e=(()=>{for(let t=0;t<4;t++)for(let s=0;s<4;s++)for(let r=0;r<4;r++)for(let o=0;o<4;o++){let n=`${fn[t]}${fn[s]}${fn[r]}${fn[o]}`,i=`${vn[t]}${vn[s]}${vn[r]}${vn[o]}`;Object.defineProperty(Ua.prototype,n,{get(){return new this._Vec4(this[t],this[s],this[r],this[o])}}),Object.defineProperty(Ua.prototype,i,{get(){return new this._Vec4(this[t],this[s],this[r],this[o])}})}for(let t=0;t<4;t++)for(let s=0;s<4;s++)for(let r=0;r<4;r++){let o=`${fn[t]}${fn[s]}${fn[r]}`,n=`${vn[t]}${vn[s]}${vn[r]}`;Object.defineProperty(Ua.prototype,o,{get(){return new this._Vec3(this[t],this[s],this[r])}}),Object.defineProperty(Ua.prototype,n,{get(){return new this._Vec3(this[t],this[s],this[r])}})}for(let t=0;t<4;t++)for(let s=0;s<4;s++){let r=`${fn[t]}${fn[s]}`,o=`${vn[t]}${vn[s]}`;Object.defineProperty(Ua.prototype,r,{get(){return new this._Vec2(this[t],this[s])}}),Object.defineProperty(Ua.prototype,o,{get(){return new this._Vec2(this[t],this[s])}})}})();castElement(){return this[B].elementSchema}[kt](t){let s=Ru(this);return this.every(r=>!r)?t.gen.typeInstantiation(s,[]):this.every(r=>this[0]===r)?t.gen.typeInstantiation(s,[on(this[0])]):t.gen.typeInstantiation(s,this.map(r=>on(r)))}toString(){return`${this.kind}(${this.join(", ")})`}},Lc=class extends tn{e0;e1;constructor(e,t){super(2),this.e0=this.castElement()(e),this.e1=this.castElement()(t??e)}get 0(){return this.e0}get 1(){return this.e1}set 0(e){this.e0=this.castElement()(e)}set 1(e){this.e1=this.castElement()(e)}get x(){return this[0]}get y(){return this[1]}set x(e){this[0]=this.castElement()(e)}set y(e){this[1]=this.castElement()(e)}get r(){return this[0]}get g(){return this[1]}set r(e){this[0]=this.castElement()(e)}set g(e){this[1]=this.castElement()(e)}},Ic=class extends tn{e0;e1;e2;constructor(e,t,s){super(3),this.e0=this.castElement()(e),this.e1=this.castElement()(t??e),this.e2=this.castElement()(s??e)}get 0(){return this.e0}get 1(){return this.e1}get 2(){return this.e2}set 0(e){this.e0=this.castElement()(e)}set 1(e){this.e1=this.castElement()(e)}set 2(e){this.e2=this.castElement()(e)}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}set x(e){this[0]=this.castElement()(e)}set y(e){this[1]=this.castElement()(e)}set z(e){this[2]=this.castElement()(e)}get r(){return this[0]}get g(){return this[1]}get b(){return this[2]}set r(e){this[0]=this.castElement()(e)}set g(e){this[1]=this.castElement()(e)}set b(e){this[2]=this.castElement()(e)}},Dc=class extends tn{e0;e1;e2;e3;constructor(e,t,s,r){super(4),this.e0=this.castElement()(e),this.e1=this.castElement()(t??e),this.e2=this.castElement()(s??e),this.e3=this.castElement()(r??e)}get 0(){return this.e0}get 1(){return this.e1}get 2(){return this.e2}get 3(){return this.e3}set 0(e){this.e0=this.castElement()(e)}set 1(e){this.e1=this.castElement()(e)}set 2(e){this.e2=this.castElement()(e)}set 3(e){this.e3=this.castElement()(e)}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}get w(){return this[3]}set x(e){this[0]=e}set y(e){this[1]=e}set z(e){this[2]=e}set w(e){this[3]=e}get r(){return this[0]}get g(){return this[1]}get b(){return this[2]}get a(){return this[3]}set r(e){this[0]=e}set g(e){this[1]=e}set b(e){this[2]=e}set a(e){this[3]=e}},qf=class $2 extends Lc{get[B](){return{elementSchema:a}}get kind(){return"vec2f"}get _Vec2(){return $2}get _Vec3(){return Zf}get _Vec4(){return sv}},Xf=class U2 extends Lc{get[B](){return{elementSchema:xs}}get kind(){return"vec2h"}get _Vec2(){return U2}get _Vec3(){return Qf}get _Vec4(){return rv}},Hf=class C2 extends Lc{get[B](){return{elementSchema:Z}}get kind(){return"vec2i"}get _Vec2(){return C2}get _Vec3(){return Jf}get _Vec4(){return ov}},jf=class R2 extends Lc{get[B](){return{elementSchema:R}}get kind(){return"vec2u"}get _Vec2(){return R2}get _Vec3(){return ev}get _Vec4(){return nv}},Kf=class z2 extends Lc{get[B](){return{elementSchema:ft}}get kind(){return"vec2"}get _Vec2(){return z2}get _Vec3(){return tv}get _Vec4(){return av}},Zf=class G2 extends Ic{get[B](){return{elementSchema:a}}get kind(){return"vec3f"}get _Vec2(){return qf}get _Vec3(){return G2}get _Vec4(){return sv}},Qf=class Y2 extends Ic{get[B](){return{elementSchema:xs}}get kind(){return"vec3h"}get _Vec2(){return Xf}get _Vec3(){return Y2}get _Vec4(){return rv}},Jf=class L2 extends Ic{get[B](){return{elementSchema:Z}}get kind(){return"vec3i"}get _Vec2(){return Hf}get _Vec3(){return L2}get _Vec4(){return ov}},ev=class I2 extends Ic{get[B](){return{elementSchema:R}}get kind(){return"vec3u"}get _Vec2(){return jf}get _Vec3(){return I2}get _Vec4(){return nv}},tv=class D2 extends Ic{get[B](){return{elementSchema:ft}}get kind(){return"vec3"}get _Vec2(){return Kf}get _Vec3(){return D2}get _Vec4(){return av}},sv=class F2 extends Dc{get[B](){return{elementSchema:a}}get kind(){return"vec4f"}get _Vec2(){return qf}get _Vec3(){return Zf}get _Vec4(){return F2}},rv=class B2 extends Dc{get[B](){return{elementSchema:xs}}get kind(){return"vec4h"}get _Vec2(){return Xf}get _Vec3(){return Qf}get _Vec4(){return B2}},ov=class W2 extends Dc{get[B](){return{elementSchema:Z}}get kind(){return"vec4i"}get _Vec2(){return Hf}get _Vec3(){return Jf}get _Vec4(){return W2}},nv=class O2 extends Dc{get[B](){return{elementSchema:R}}get kind(){return"vec4u"}get _Vec2(){return jf}get _Vec3(){return ev}get _Vec4(){return O2}},av=class V2 extends Dc{get[B](){return{elementSchema:ft}}get kind(){return"vec4"}get _Vec2(){return Kf}get _Vec3(){return tv}get _Vec4(){return V2}},lt=Er(qf,a),Vs=Er(Xf,xs),Xt=Er(Hf,Z),Ct=Er(jf,R),Or=Er(Kf,ft),It=Er(Zf,a),Pr=Er(Qf,xs),cs=Er(Jf,Z),gt=Er(ev,R),Vr=Er(tv,ft),Oe=Er(sv,a),Ns=Er(rv,xs),Wt=Er(ov,Z),Et=Er(nv,R),Nr=Er(av,ft),PM={vec2f:lt,vec2h:Vs,vec2i:Xt,vec2u:Ct,"vec2":Or,vec3f:It,vec3h:Pr,vec3i:cs,vec3u:gt,"vec3":Vr,vec4f:Oe,vec4h:Ns,vec4i:Wt,vec4u:Et,"vec4":Nr};function Er(e,t){let{kind:s,length:r}=new e,o=r,i=ei({name:s,schema:()=>d,argTypes:(...c)=>c.map(_=>Rt(_)?_:t),normalImpl:(...c)=>{let _=Array.from({length:c.length}),u=0;for(let m of c)if(typeof m=="number"||typeof m=="boolean")_[u++]=m;else for(let p=0;pc.gen.typeInstantiation(d,_)}),d=Object.assign(i,{[B]:{},type:s,primitive:t,componentCount:o,[id]:void 0});return e.prototype.schema=d,d}var Ci=class{};function iv(e){let t=ei({name:e.type,schema:()=>s,normalImpl:(...r)=>{let o=[];for(let n of r)if(typeof n=="number")o.push(n);else for(let i=0;ir.map(o=>Rt(o)?o:a),codegenImpl:(r,o)=>r.gen.typeInstantiation(s,o)}),s=Object.assign(t,{[B]:{},type:e.type,primitive:a,identity:LM[e.columns],translation:e.columns===4?IM:void 0,scaling:e.columns===4?DM:void 0,rotationX:e.columns===4?FM:void 0,rotationY:e.columns===4?BM:void 0,rotationZ:e.columns===4?WM:void 0});return e.MatImpl.prototype.schema=s,s}var tx=[0,1,2,3],EM=class extends Ci{[B]=!0;columns;length=4;constructor(...e){super(),this.columns=[this.makeColumn(e[0],e[1]),this.makeColumn(e[2],e[3])]}get 0(){return this.columns[0].x}get 1(){return this.columns[0].y}get 2(){return this.columns[1].x}get 3(){return this.columns[1].y}set 0(e){this.columns[0].x=e}set 1(e){this.columns[0].y=e}set 2(e){this.columns[1].x=e}set 3(e){this.columns[1].y=e}*[Symbol.iterator](){yield this[0],yield this[1],yield this[2],yield this[3]}[kt](e){return e.gen.typeInstantiation(Gn,tx.map(t=>on(this[t])))}toString(){return`${this.kind}(${tx.map(e=>this[e]).join(", ")})`}},kM=class extends EM{kind="mat2x2f";makeColumn(e,t){return lt(e,t)}},sx=[0,1,2,4,5,6,8,9,10],$M=class extends Ci{[B]=!0;columns;length=12;constructor(...e){super(),this.columns=[this.makeColumn(e[0],e[1],e[2]),this.makeColumn(e[3],e[4],e[5]),this.makeColumn(e[6],e[7],e[8])]}get 0(){return this.columns[0].x}get 1(){return this.columns[0].y}get 2(){return this.columns[0].z}get 3(){return 0}get 4(){return this.columns[1].x}get 5(){return this.columns[1].y}get 6(){return this.columns[1].z}get 7(){return 0}get 8(){return this.columns[2].x}get 9(){return this.columns[2].y}get 10(){return this.columns[2].z}get 11(){return 0}set 0(e){this.columns[0].x=e}set 1(e){this.columns[0].y=e}set 2(e){this.columns[0].z=e}set 3(e){}set 4(e){this.columns[1].x=e}set 5(e){this.columns[1].y=e}set 6(e){this.columns[1].z=e}set 7(e){}set 8(e){this.columns[2].x=e}set 9(e){this.columns[2].y=e}set 10(e){this.columns[2].z=e}set 11(e){}*[Symbol.iterator](){for(let e=0;e<12;e++)yield this[e]}[kt](e){return e.gen.typeInstantiation(Yn,sx.map(t=>on(this[t])))}toString(){return`${this.kind}(${sx.map(e=>this[e]).join(", ")})`}},UM=class extends $M{kind="mat3x3f";makeColumn(e,t,s){return It(e,t,s)}},rx=Array.from({length:16},(e,t)=>t),CM=class extends Ci{[B]=!0;columns;constructor(...e){super(),this.columns=[this.makeColumn(e[0],e[1],e[2],e[3]),this.makeColumn(e[4],e[5],e[6],e[7]),this.makeColumn(e[8],e[9],e[10],e[11]),this.makeColumn(e[12],e[13],e[14],e[15])]}length=16;get 0(){return this.columns[0].x}get 1(){return this.columns[0].y}get 2(){return this.columns[0].z}get 3(){return this.columns[0].w}get 4(){return this.columns[1].x}get 5(){return this.columns[1].y}get 6(){return this.columns[1].z}get 7(){return this.columns[1].w}get 8(){return this.columns[2].x}get 9(){return this.columns[2].y}get 10(){return this.columns[2].z}get 11(){return this.columns[2].w}get 12(){return this.columns[3].x}get 13(){return this.columns[3].y}get 14(){return this.columns[3].z}get 15(){return this.columns[3].w}set 0(e){this.columns[0].x=e}set 1(e){this.columns[0].y=e}set 2(e){this.columns[0].z=e}set 3(e){this.columns[0].w=e}set 4(e){this.columns[1].x=e}set 5(e){this.columns[1].y=e}set 6(e){this.columns[1].z=e}set 7(e){this.columns[1].w=e}set 8(e){this.columns[2].x=e}set 9(e){this.columns[2].y=e}set 10(e){this.columns[2].z=e}set 11(e){this.columns[2].w=e}set 12(e){this.columns[3].x=e}set 13(e){this.columns[3].y=e}set 14(e){this.columns[3].z=e}set 15(e){this.columns[3].w=e}*[Symbol.iterator](){for(let e=0;e<16;e++)yield this[e]}[kt](e){return e.gen.typeInstantiation(Hs,rx.map(t=>on(this[t])))}toString(){return`${this.kind}(${rx.map(e=>this[e]).join(", ")})`}},RM=class extends CM{kind="mat4x4f";makeColumn(e,t,s,r){return Oe(e,t,s,r)}},zM=Ao(()=>Gn(1,0,0,1)).$name("identity2"),GM=Ao(()=>Yn(1,0,0,0,1,0,0,0,1)).$name("identity3"),YM=Ao(()=>Hs(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)).$name("identity4"),LM={2:zM,3:GM,4:YM},IM=pe({name:"translation4",normalImpl:e=>Hs(1,0,0,0,0,1,0,0,0,0,1,0,e.x,e.y,e.z,1),get signature(){return{argTypes:[It],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, ${t}.x, ${t}.y, ${t}.z, 1)`,sideEffects:!1}),DM=pe({name:"scaling4",normalImpl:e=>Hs(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1),get signature(){return{argTypes:[It],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(${t}.x, 0, 0, 0, 0, ${t}.y, 0, 0, 0, 0, ${t}.z, 0, 0, 0, 0, 1)`,sideEffects:!1}),FM=pe({name:"rotationX4",normalImpl:e=>Hs(1,0,0,0,0,Math.cos(e),Math.sin(e),0,0,-Math.sin(e),Math.cos(e),0,0,0,0,1),get signature(){return{argTypes:[a],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(1, 0, 0, 0, 0, cos(${t}), sin(${t}), 0, 0, -sin(${t}), cos(${t}), 0, 0, 0, 0, 1)`,sideEffects:!1}),BM=pe({name:"rotationY4",normalImpl:e=>Hs(Math.cos(e),0,-Math.sin(e),0,0,1,0,0,Math.sin(e),0,Math.cos(e),0,0,0,0,1),get signature(){return{argTypes:[a],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(cos(${t}), 0, -sin(${t}), 0, 0, 1, 0, 0, sin(${t}), 0, cos(${t}), 0, 0, 0, 0, 1)`,sideEffects:!1}),WM=pe({name:"rotationZ4",normalImpl:e=>Hs(Math.cos(e),Math.sin(e),0,0,-Math.sin(e),Math.cos(e),0,0,0,0,1,0,0,0,0,1),get signature(){return{argTypes:[a],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(cos(${t}), sin(${t}), 0, 0, -sin(${t}), cos(${t}), 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)`,sideEffects:!1}),Gn=iv({type:"mat2x2f",rows:2,columns:2,MatImpl:kM}),Yn=iv({type:"mat3x3f",rows:3,columns:3,MatImpl:UM}),Hs=iv({type:"mat4x4f",rows:4,columns:4,MatImpl:RM});var OM=(e,t,s)=>{if(e===t)return 0;let r=N2((s-e)/(t-e),0,1);return r*r*(3-2*r)},N2=(e,t,s)=>Math.min(Math.max(t,e),s),dv=new ArrayBuffer(4),q2=new Float32Array(dv),cv=new Uint32Array(dv),VM=new Int32Array(dv);function Zo(e){return cv[0]=e,q2[0]}function Qo(e){return cv[0]=e,VM[0]}function Jo(e){return q2[0]=e,cv[0]}var ox=e=>Math.sqrt(e.x**2+e.y**2),nx=e=>Math.sqrt(e.x**2+e.y**2+e.z**2),ax=e=>Math.sqrt(e.x**2+e.y**2+e.z**2+e.w**2),G_=(e,t)=>e.x*t.x+e.y*t.y,Y_=(e,t)=>e.x*t.x+e.y*t.y+e.z*t.z,L_=(e,t)=>e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w,ix=e=>(t,s)=>Ct(e(t.x,s.x),e(t.y,s.y)),dx=e=>(t,s)=>gt(e(t.x,s.x),e(t.y,s.y),e(t.z,s.z)),cx=e=>(t,s)=>Et(e(t.x,s.x),e(t.y,s.y),e(t.z,s.z),e(t.w,s.w)),_x=e=>(t,s)=>Xt(e(t.x,s.x),e(t.y,s.y)),lx=e=>(t,s)=>cs(e(t.x,s.x),e(t.y,s.y),e(t.z,s.z)),ux=e=>(t,s)=>Wt(e(t.x,s.x),e(t.y,s.y),e(t.z,s.z),e(t.w,s.w)),qr={all:{"vec2":e=>e.x&&e.y,"vec3":e=>e.x&&e.y&&e.z,"vec4":e=>e.x&&e.y&&e.z&&e.w},length:{vec2f:ox,vec2h:ox,vec3f:nx,vec3h:nx,vec4f:ax,vec4h:ax},mulMxM:{mat2x2f:(e,t)=>{let s=e.columns,r=t.columns;return Gn(s[0].x*r[0].x+s[1].x*r[0].y,s[0].y*r[0].x+s[1].y*r[0].y,s[0].x*r[1].x+s[1].x*r[1].y,s[0].y*r[1].x+s[1].y*r[1].y)},mat3x3f:(e,t)=>{let s=e.columns,r=t.columns;return Yn(s[0].x*r[0].x+s[1].x*r[0].y+s[2].x*r[0].z,s[0].y*r[0].x+s[1].y*r[0].y+s[2].y*r[0].z,s[0].z*r[0].x+s[1].z*r[0].y+s[2].z*r[0].z,s[0].x*r[1].x+s[1].x*r[1].y+s[2].x*r[1].z,s[0].y*r[1].x+s[1].y*r[1].y+s[2].y*r[1].z,s[0].z*r[1].x+s[1].z*r[1].y+s[2].z*r[1].z,s[0].x*r[2].x+s[1].x*r[2].y+s[2].x*r[2].z,s[0].y*r[2].x+s[1].y*r[2].y+s[2].y*r[2].z,s[0].z*r[2].x+s[1].z*r[2].y+s[2].z*r[2].z)},mat4x4f:(e,t)=>{let s=e.columns,r=t.columns;return Hs(s[0].x*r[0].x+s[1].x*r[0].y+s[2].x*r[0].z+s[3].x*r[0].w,s[0].y*r[0].x+s[1].y*r[0].y+s[2].y*r[0].z+s[3].y*r[0].w,s[0].z*r[0].x+s[1].z*r[0].y+s[2].z*r[0].z+s[3].z*r[0].w,s[0].w*r[0].x+s[1].w*r[0].y+s[2].w*r[0].z+s[3].w*r[0].w,s[0].x*r[1].x+s[1].x*r[1].y+s[2].x*r[1].z+s[3].x*r[1].w,s[0].y*r[1].x+s[1].y*r[1].y+s[2].y*r[1].z+s[3].y*r[1].w,s[0].z*r[1].x+s[1].z*r[1].y+s[2].z*r[1].z+s[3].z*r[1].w,s[0].w*r[1].x+s[1].w*r[1].y+s[2].w*r[1].z+s[3].w*r[1].w,s[0].x*r[2].x+s[1].x*r[2].y+s[2].x*r[2].z+s[3].x*r[2].w,s[0].y*r[2].x+s[1].y*r[2].y+s[2].y*r[2].z+s[3].y*r[2].w,s[0].z*r[2].x+s[1].z*r[2].y+s[2].z*r[2].z+s[3].z*r[2].w,s[0].w*r[2].x+s[1].w*r[2].y+s[2].w*r[2].z+s[3].w*r[2].w,s[0].x*r[3].x+s[1].x*r[3].y+s[2].x*r[3].z+s[3].x*r[3].w,s[0].y*r[3].x+s[1].y*r[3].y+s[2].y*r[3].z+s[3].y*r[3].w,s[0].z*r[3].x+s[1].z*r[3].y+s[2].z*r[3].z+s[3].z*r[3].w,s[0].w*r[3].x+s[1].w*r[3].y+s[2].w*r[3].z+s[3].w*r[3].w)}},mulMxV:{mat2x2f:(e,t)=>{let s=e.columns;return lt(s[0].x*t.x+s[1].x*t.y,s[0].y*t.x+s[1].y*t.y)},mat3x3f:(e,t)=>{let s=e.columns;return It(s[0].x*t.x+s[1].x*t.y+s[2].x*t.z,s[0].y*t.x+s[1].y*t.y+s[2].y*t.z,s[0].z*t.x+s[1].z*t.y+s[2].z*t.z)},mat4x4f:(e,t)=>{let s=e.columns;return Oe(s[0].x*t.x+s[1].x*t.y+s[2].x*t.z+s[3].x*t.w,s[0].y*t.x+s[1].y*t.y+s[2].y*t.z+s[3].y*t.w,s[0].z*t.x+s[1].z*t.y+s[2].z*t.z+s[3].z*t.w,s[0].w*t.x+s[1].w*t.y+s[2].w*t.z+s[3].w*t.w)}},mulVxM:{mat2x2f:(e,t)=>{let s=t.columns;return lt(e.x*s[0].x+e.y*s[0].y,e.x*s[1].x+e.y*s[1].y)},mat3x3f:(e,t)=>{let s=t.columns;return It(e.x*s[0].x+e.y*s[0].y+e.z*s[0].z,e.x*s[1].x+e.y*s[1].y+e.z*s[1].z,e.x*s[2].x+e.y*s[2].y+e.z*s[2].z)},mat4x4f:(e,t)=>{let s=t.columns;return Oe(e.x*s[0].x+e.y*s[0].y+e.z*s[0].z+e.w*s[0].w,e.x*s[1].x+e.y*s[1].y+e.z*s[1].z+e.w*s[1].w,e.x*s[2].x+e.y*s[2].y+e.z*s[2].z+e.w*s[2].w,e.x*s[3].x+e.y*s[3].y+e.z*s[3].z+e.w*s[3].w)}},dot:{vec2f:G_,vec2h:G_,vec2i:G_,vec2u:G_,vec3f:Y_,vec3h:Y_,vec3i:Y_,vec3u:Y_,vec4f:L_,vec4h:L_,vec4i:L_,vec4u:L_},cross:{vec3f:(e,t)=>It(e.y*t.z-e.z*t.y,e.z*t.x-e.x*t.z,e.x*t.y-e.y*t.x),vec3h:(e,t)=>Pr(e.y*t.z-e.z*t.y,e.z*t.x-e.x*t.z,e.x*t.y-e.y*t.x)},bitShiftLeft:{vec2i:_x((e,t)=>e<e<e<e<e<e<e>>t),vec2u:ix((e,t)=>e>>>t),vec3i:lx((e,t)=>e>>t),vec3u:dx((e,t)=>e>>>t),vec4i:ux((e,t)=>e>>t),vec4u:cx((e,t)=>e>>>t)},bitcastU32toF32:{vec2u:e=>lt(Zo(e.x),Zo(e.y)),vec3u:e=>It(Zo(e.x),Zo(e.y),Zo(e.z)),vec4u:e=>Oe(Zo(e.x),Zo(e.y),Zo(e.z),Zo(e.w))},bitcastU32toI32:{vec2u:e=>Xt(Qo(e.x),Qo(e.y)),vec3u:e=>cs(Qo(e.x),Qo(e.y),Qo(e.z)),vec4u:e=>Wt(Qo(e.x),Qo(e.y),Qo(e.z),Qo(e.w))},bitcastF32toU32:{vec2f:e=>Ct(Jo(e.x),Jo(e.y)),vec3f:e=>gt(Jo(e.x),Jo(e.y),Jo(e.z)),vec4f:e=>Et(Jo(e.x),Jo(e.y),Jo(e.z),Jo(e.w))}},NM={vec2f:Or,vec2h:Or,vec2i:Or,vec2u:Or,"vec2":Or,vec3f:Vr,vec3h:Vr,vec3i:Vr,vec3u:Vr,"vec3":Vr,vec4f:Nr,vec4h:Nr,vec4i:Nr,vec4u:Nr,"vec4":Nr},up={...PM,mat2x2f:Gn,mat3x3f:Yn,mat4x4f:Hs};function qM(e,t){let s=e==="boolean"?NM:up;if(t in s)return s[t];throw new Error(`No corresponding vector/matrix type for '${t}' kind in '${e}' mode.`)}function XM(e){return e.kind.startsWith("vec")?e:e.columns.flat()}function X2(e,t,s){let r=t.map(HM);if(r.every(c=>c==="boolean"||c==="number"))return e(...t);let o=r[0];ds(o,"Expected kind of the first argument to be present.");let n=qM(s,o),i=t.map(XM),d=i[0]?.length;return ds(d!==void 0,"Expected constructor to have at least one argument."),n(...Array.from({length:d},(c,_)=>e(...i.map(u=>u[_]))))}function Tt(e,t){return X2(e,t,"first")}function Du(e,t){return X2(e,t,"boolean")}function HM(e){return typeof e=="number"?"number":typeof e=="boolean"?"boolean":e.kind}function _v(e){let[t,s]=e;if(typeof t=="number"&&lr(s)){let r=up[s.kind];return[r(t),s]}else if(lr(t)&&typeof s=="number"){let r=up[t.kind];return[t,r(s)]}return[t,s]}var mx=e=>"primitive"in e?e.primitive:e,lv=e=>(t,s)=>{let{restrict:r}=e??{},o=u=>{throw r?new Ts([t,s],r):new Error(`Cannot apply operator to ${t.type} and ${s.type}: ${u}`)};if(e?.noMat&&(rn(t)||rn(s)))return o("matrices not supported");let n=Rt(t)||rn(t),i=Rt(s)||rn(s);if(!n&&!i){let u=fr([t,s],r);return u?{argTypes:u,returnType:u[0]}:o("incompatible scalar types")}if(n&&i)return e?.matVecProduct&&Rt(t)!==Rt(s)?{argTypes:[t,s],returnType:Rt(t)?t:s}:t.type!==s.type?o("operands must have the same type"):{argTypes:[t,s],returnType:t};let[d,c]=n?[s,t]:[t,s],_=fr([d],[mx(c)]);return _?{argTypes:n?[t,_[0]]:[_[0],s],returnType:c}:o(`scalar not convertible to ${mx(c).type}`)},H2=lv(),jM=lv({matVecProduct:!0}),j2=lv({noMat:!0,restrict:[a,xs,qa]});function K2(e,t){if(typeof e=="number"&&typeof t=="number")return e+t;if(typeof e=="number"&&lr(t))return Tt(s=>e+s,[t]);if(lr(e)&&typeof t=="number")return Tt(s=>s+t,[e]);if(lr(e)&&lr(t)||Do(e)&&Do(t))return Tt((s,r)=>s+r,[e,t]);throw new Error("Add/Sub called with invalid arguments.")}var Pn=pe({name:"add",signature:H2,normalImpl:K2,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"+",s),sideEffects:!1});function KM(e,t){return K2(e,Z2(-1,t))}var ht=pe({name:"sub",signature:H2,normalImpl:KM,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"-",s),sideEffects:!1});function Z2(e,t){if(typeof e=="number"&&typeof t=="number")return e*t;if(typeof e=="number"&&(lr(t)||Do(t)))return Tt(s=>e*s,[t]);if((lr(e)||Do(e))&&typeof t=="number")return Tt(s=>s*t,[e]);if(lr(e)&&lr(t))return Tt((s,r)=>s*r,[e,t]);if(H0(e)&&Do(t))return qr.mulVxM[t.kind](e,t);if(Do(e)&&H0(t))return qr.mulMxV[e.kind](e,t);if(Do(e)&&Do(t))return qr.mulMxM[e.kind](e,t);throw new Error("Mul called with invalid arguments.")}var vr=pe({name:"mul",signature:jM,normalImpl:Z2,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"*",s),sideEffects:!1});function ZM(e,t){return Tt((s,r)=>s/r,_v([e,t]))}var mp=pe({name:"div",signature:j2,normalImpl:ZM,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"/",s),ignoreImplicitCastWarning:!0,sideEffects:!1}),bo=pe({name:"mod",signature:j2,normalImpl:((e,t)=>Tt((s,r)=>s%r,_v([e,t]))),codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"%",s),sideEffects:!1});function QM(e){return Tt(t=>-t,[e])}var px=pe({name:"neg",signature:e=>({argTypes:[e],returnType:e}),normalImpl:QM,codegenImpl:(e,[t])=>ce`-(${t})`,sideEffects:!1}),Q2={vec2i:Ct,vec2u:Ct,vec3i:gt,vec3u:gt,vec4i:Et,vec4u:Et},J2=(e,t)=>{let s=fr([e],[Xt,cs,Wt,Ct,gt,Et])?.[0];if(!s||!Rt(s))throw new Ts([e],[Xt,cs,Wt,Ct,gt,Et]);let r=s.componentCount,o=r===2?Ct:r===3?gt:Et,n=fr([t],[R,o])?.[0];if(!n)throw new Ts([t],[R,o]);return{argTypes:[s,n],returnType:s}};function JM(e,t){if(bl(e)&&Jb(t)&&e.length==t.length)return qr.bitShiftLeft[e.kind](e,t);if(bl(e)&&typeof t=="number"){let s=Q2[e.kind](t);return qr.bitShiftLeft[e.kind](e,s)}throw new Error("'bitShiftLeft' called with invalid arguments, expected: left-hand side to be an integer vector, right-hand side to be a number or unsigned integer vector of the same arity as the left-hand side.")}var eP=pe({name:"bitShiftLeft",signature:J2,normalImpl:JM,codegenImpl:(e,[t,s])=>{if(Rt(t.dataType)&&!Rt(s.dataType)){let r=t.dataType.componentCount,o=r===2?Ct:r===3?gt:Et;return e.gen.emitBinaryOp(t,"<<",e.gen.typeInstantiation(o,[s]))}return e.gen.emitBinaryOp(t,"<<",s)},sideEffects:!1});function tP(e,t){if(bl(e)&&Jb(t)&&e.length==t.length)return qr.bitShiftRight[e.kind](e,t);if(bl(e)&&typeof t=="number"){let s=Q2[e.kind](t);return qr.bitShiftRight[e.kind](e,s)}throw new Error("'bitShiftRight' called with invalid arguments, expected: left-hand side to be an integer vector, right-hand side to be a number or unsigned integer vector of the same arity as the left-hand side.")}var pp={add:Pn,sub:ht,mul:vr,div:mp,mod:bo,bitShiftLeft:eP,bitShiftRight:pe({name:"bitShiftRight",signature:J2,normalImpl:tP,codegenImpl:(e,[t,s])=>{if(Rt(t.dataType)&&!Rt(s.dataType)){let r=t.dataType.componentCount,o=r===2?Ct:r===3?gt:Et;return e.gen.emitBinaryOp(t,">>",e.gen.typeInstantiation(o,[s]))}return e.gen.emitBinaryOp(t,">>",s)},sideEffects:!1})},uv=class{lhs;operator;constructor(e,t){this.lhs=e,this.operator=t}};function sP(e){return e instanceof uv}function jo(e,t,s){let r=pp[t];Object.defineProperty(e.prototype,s,{value:r});function o(n){return r(this,n)}Object.defineProperty(e.prototype,t,{get(){return Yu()?new uv(this,r):o}})}var fx=!1;function rr(){fx||(fx=!0,jo(tn,"add",dr.plus),jo(Ci,"add",dr.plus),jo(tn,"sub",dr.minus),jo(Ci,"sub",dr.minus),jo(tn,"mul",dr.star),jo(Ci,"mul",dr.star),jo(tn,"div",dr.slash),jo(tn,"mod",dr.percent),jo(tn,"bitShiftLeft",Symbol()),jo(tn,"bitShiftRight",Symbol()))}var mv=new Set(["alias","break","case","const","const_assert","continue","continuing","default","diagnostic","discard","else","enable","false","fn","for","if","let","loop","override","requires","return","struct","switch","true","var","while","NULL","Self","abstract","active","alignas","alignof","as","asm","asm_fragment","async","attribute","auto","await","become","cast","catch","class","co_await","co_return","co_yield","coherent","column_major","common","compile","compile_fragment","concept","const_cast","consteval","constexpr","constinit","crate","debugger","decltype","delete","demote","demote_to_helper","do","dynamic_cast","enum","explicit","export","extends","extern","external","fallthrough","filter","final","finally","friend","from","fxgroup","get","goto","groupshared","highp","impl","implements","import","inline","instanceof","interface","layout","lowp","macro","macro_rules","match","mediump","meta","mod","module","move","mut","mutable","namespace","new","nil","noexcept","noinline","nointerpolation","non_coherent","noncoherent","noperspective","null","nullptr","of","operator","package","packoffset","partition","pass","patch","pixelfragment","precise","precision","premerge","priv","protected","pub","public","readonly","ref","regardless","register","reinterpret_cast","require","resource","restrict","self","set","shared","sizeof","smooth","snorm","static","static_assert","static_cast","std","subroutine","super","target","template","this","thread_local","throw","trait","try","type","typedef","typeid","typename","typeof","union","unless","unorm","unsafe","unsized","use","using","varying","virtual","volatile","wgsl","where","with","writeonly","yield","sampler","uniform","storage"]),rP=new Set(["array","bool","f16","f32","i32","u32","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","vec2","vec3","vec4","bitcast","all","any","select","arrayLength","abs","acos","acosh","asin","asinh","atan","atanh","atan2","ceil","clamp","cos","cosh","countLeadingZeros","countOneBits","countTrailingZeros","cross","degrees","determinant","distance","dot","dot4U8Packed","dot4I8Packed","exp","exp2","extractBits","faceForward","firstLeadingBit","firstTrailingBit","floor","fma","fract","frexp","insertBits","inverseSqrt","ldexp","length","log","log2","max","min","mix","modf","normalize","pow","quantizeToF16","radians","reflect","refract","reverseBits","round","saturate","sign","sin","sinh","smoothstep","sqrt","step","tan","tanh","transpose","trunc","dpdx","dpdxCoarse","dpdxFine","dpdy","dpdyCoarse","dpdyFine","fwidth","fwidthCoarse","fwidthFine","textureDimensions","textureGather","textureGatherCompare","textureLoad","textureNumLayers","textureNumLevels","textureNumSamples","textureSample","textureSampleBias","textureSampleCompare","textureSampleCompareLevel","textureSampleGrad","textureSampleLevel","textureSampleBaseClampToEdge","textureStore","atomicLoad","atomicStore","atomicAdd","atomicSub","atomicMax","atomicMin","atomicAnd","atomicOr","atomicXor","atomicExchange","atomicCompareExchangeWeak","pack4x8snorm","pack4x8unorm","pack4xI8","pack4xU8","pack4xI8Clamp","pack4xU8Clamp","pack2x16snorm","pack2x16unorm","pack2x16float","unpack4x8snorm","unpack4x8unorm","unpack4xI8","unpack4xU8","unpack2x16snorm","unpack2x16unorm","unpack2x16float","storageBarrier","textureBarrier","workgroupBarrier","workgroupUniformLoad","subgroupAdd","subgroupExclusiveAdd","subgroupInclusiveAdd","subgroupAll","subgroupAnd","subgroupAny","subgroupBallot","subgroupBroadcast","subgroupBroadcastFirst","subgroupElect","subgroupMax","subgroupMin","subgroupMul","subgroupExclusiveMul","subgroupInclusiveMul","subgroupOr","subgroupShuffle","subgroupShuffleDown","subgroupShuffleUp","subgroupShuffleXor","subgroupXor","quadBroadcast","quadSwapDiagonal","quadSwapX","quadSwapY"]);function oP(e){if(e){let t=e.replaceAll(/\s/g,"_").replaceAll(/[^\w]/g,"");return Fu(t).success?t:"item"}return"item"}function Fu(e){return e==="_"||e===""?{success:!1,error:"Identifiers cannot be equal to '' or '_'"}:/\s/.test(e)?{success:!1,error:"Identifiers cannot contain whitespace."}:e.startsWith("__")?{success:!1,error:"Identifiers cannot start with double underscores."}:/^(([_\p{XID_Start}][\p{XID_Continue}]+)|([\p{XID_Start}]))$/u.test(e)?{success:!0}:{success:!1,error:"Not compliant with WGSL guidelines."}}function e5(e){let t=Fu(e);return t.success?mv.has(e)?{success:!1,error:"Identifiers cannot start with reserved keywords."}:{success:!0}:t}function ut(e){return Bu(e,!1)}function Qs(e){return Bu(e,!0)}function Bu(e,t){Object.keys(e).forEach(r=>{let o=e5(r);if(!o.success)throw new Error(`Invalid property key '${r}'${o.error?`: ${o.error}`:""}`)});let s=r=>Object.fromEntries(Object.entries(e).map(([o,n])=>[o,aa(n,r?.[o])]));return Object.setPrototypeOf(s,nP),s.propTypes=e,Object.defineProperty(s,B,{value:{isAbstruct:t}}),s}var nP={type:"struct",$name(e){return ot(this,e),this},toString(){return`struct:${xe(this)??""}`}},qs=(e,t)=>{let s=t-1,r=~s;return(e&s)===0?e:(e&r)+t},xt=class{[B]={};type;[zs];constructor(e){this.type=e,this[zs]={call:(t,[s])=>P2(t,$n[this.type],s)}}[Gf](e){return aa($n[this.type],e)}},$n={uint8:R,uint8x2:Ct,uint8x4:Et,sint8:Z,sint8x2:Xt,sint8x4:Wt,unorm8:a,unorm8x2:lt,unorm8x4:Oe,snorm8:a,snorm8x2:lt,snorm8x4:Oe,uint16:R,uint16x2:Ct,uint16x4:Et,sint16:Z,sint16x2:Xt,sint16x4:Wt,unorm16:a,unorm16x2:lt,unorm16x4:Oe,snorm16:a,snorm16x2:lt,snorm16x4:Oe,float16:a,float16x2:lt,float16x4:Oe,float32:a,float32x2:lt,float32x3:It,float32x4:Oe,uint32:R,uint32x2:Ct,uint32x3:gt,uint32x4:Et,sint32:Z,sint32x2:Xt,sint32x3:cs,sint32x4:Wt,"unorm10-10-10-2":Oe,"unorm8x4-bgra":Oe},t5=new Set(Object.keys($n)),aI=new xt("uint8"),iI=new xt("uint8x2"),dI=new xt("uint8x4"),cI=new xt("sint8"),_I=new xt("sint8x2"),lI=new xt("sint8x4"),uI=new xt("unorm8"),mI=new xt("unorm8x2"),pI=new xt("unorm8x4"),fI=new xt("snorm8"),vI=new xt("snorm8x2"),yI=new xt("snorm8x4"),hI=new xt("uint16"),xI=new xt("uint16x2"),gI=new xt("uint16x4"),bI=new xt("sint16"),wI=new xt("sint16x2"),TI=new xt("sint16x4"),SI=new xt("unorm16"),AI=new xt("unorm16x2"),MI=new xt("unorm16x4"),PI=new xt("snorm16"),EI=new xt("snorm16x2"),kI=new xt("snorm16x4"),$I=new xt("float16"),UI=new xt("float16x2"),CI=new xt("float16x4"),RI=new xt("float32"),zI=new xt("float32x2"),GI=new xt("float32x3"),YI=new xt("float32x4"),LI=new xt("uint32"),II=new xt("uint32x2"),DI=new xt("uint32x3"),FI=new xt("uint32x4"),BI=new xt("sint32"),WI=new xt("sint32x2"),OI=new xt("sint32x3"),VI=new xt("sint32x4"),NI=new xt("unorm10-10-10-2"),qI=new xt("unorm8x4-bgra");function aP(e){return mt(e)&&t5.has(e?.type)}var iP={f32:4,f16:2,i32:4,u32:4,bool:4,u16:2,vec2f:8,vec2h:4,vec2i:8,vec2u:8,"vec2":8,vec3f:16,vec3h:8,vec3i:16,vec3u:16,"vec3":16,vec4f:16,vec4h:8,vec4i:16,vec4u:16,"vec4":16,mat2x2f:8,mat3x3f:16,mat4x4f:16,atomic:4};function dP(e){let t=e?.type,s=iP[t];if(s!==void 0)return s;if(Qt(e))return Object.values(e.propTypes).map(rs).reduce((r,o)=>r>o?r:o);if(Us(e))return rs(e.elementType);if(un(e)){let r=Object.values(e.propTypes)[0];return r?ac(r)??1:1}if(Ja(e))return ac(e.elementType)??1;if(zn(e)||ha(e))return ac(e)??rs(e.inner);if(t5.has(t))return 1;throw new Error(`Cannot determine alignment of data: ${io(e)}`)}function cP(e){if(un(e)){let t=Object.values(e.propTypes)[0];return t?wo(t):1}return Ja(e)?wo(e.elementType):ha(e)?ac(e)??wo(e.inner):ac(e)??1}var vx=new WeakMap,yx=new WeakMap;function rs(e){let t=vx.get(e);return t===void 0&&(t=dP(e),vx.set(e,t)),t}function wo(e){let t=yx.get(e);return t===void 0&&(t=cP(e),yx.set(e,t)),t}var _P={bool:4,f32:4,f16:2,i32:4,u32:4,u16:2,vec2f:8,vec2h:4,vec2i:8,vec2u:8,"vec2":8,vec3f:12,vec3h:6,vec3i:12,vec3u:12,"vec3":12,vec4f:16,vec4h:8,vec4i:16,vec4u:16,"vec4":16,mat2x2f:16,mat3x3f:48,mat4x4f:64,uint8:1,uint8x2:2,uint8x4:4,sint8:1,sint8x2:2,sint8x4:4,unorm8:1,unorm8x2:2,unorm8x4:4,snorm8:1,snorm8x2:2,snorm8x4:4,uint16:2,uint16x2:4,uint16x4:8,sint16:2,sint16x2:4,sint16x4:8,unorm16:2,unorm16x2:4,unorm16x4:8,snorm16:2,snorm16x2:4,snorm16x4:8,float16:2,float16x2:4,float16x4:8,float32:4,float32x2:8,float32x3:12,float32x4:16,uint32:4,uint32x2:8,uint32x3:12,uint32x4:16,sint32:4,sint32x2:8,sint32x3:12,sint32x4:16,"unorm10-10-10-2":4,"unorm8x4-bgra":4,atomic:4};function lP(e){let t=0,s=0,r=!0,o=!1;for(let i of Object.values(e.propTypes)){if(Number.isNaN(t))throw new Error("Only the last property of a struct can be unbounded");let d=t;t=qs(t,rs(i));let c=d!==t,_=Xa(i);if(t+=_.size,Number.isNaN(t)&&i.type!=="array")throw new Error("Cannot nest unbounded struct within another struct");o||(!c&&_.isContiguous?s+=_.size:(o=!0,r=!1,c||(s+=_.longestContiguousPrefix)))}let n=qs(t,rs(e));return{isContiguous:t===n&&r,size:n,longestContiguousPrefix:s}}function uP(e){let t=0,s=0,r=!0,o=!1;for(let n of Object.values(e.propTypes)){let i=wo(n),d=t;t=qs(t,i);let c=d!==t;c&&(r=!1);let _=Xa(n);t+=_.size,!o&&(!c&&_.isContiguous?s+=_.size:(o=!0,r=!1,c||(s+=_.longestContiguousPrefix)))}return{isContiguous:r,size:t,longestContiguousPrefix:s}}function mP(e){let t=e.elementType,s=Xa(t),r=s.size,o=qs(r,rs(t)),n=!(o>r)&&s.isContiguous,i=e.elementCount===0?NaN:e.elementCount*o,d;return n?d=i:d=s.longestContiguousPrefix,{size:i,isContiguous:n,longestContiguousPrefix:d}}function pP(e){let t=e.elementType,s=Xa(t),r=s.size,o=qs(r,wo(t)),n=!(o>r)&&s.isContiguous,i=e.elementCount*o,d;return n?d=i:d=s.longestContiguousPrefix,{size:i,isContiguous:n,longestContiguousPrefix:d}}function Xa(e){let t=_P[e.type];if(t!==void 0)return{isContiguous:e.type!=="mat3x3f",size:t,longestContiguousPrefix:e.type==="mat3x3f"?12:t};if(Qt(e))return lP(e);if(un(e))return uP(e);if(Us(e))return mP(e);if(Ja(e))return pP(e);if(zn(e)||ha(e)){let s=sM(e),r=Xa(lo(e));return s?{isContiguous:s===r.size&&r.isContiguous,size:s,longestContiguousPrefix:r.longestContiguousPrefix}:Xa(e.inner)}throw new Error(`Cannot determine memory layout of data: ${e}`)}var hx=new WeakMap;function pv(e,t){let s=hx.get(e);return s===void 0&&(s=Xa(e),hx.set(e,s)),s[t]}function _t(e){return pv(e,"size")}function xx(e){return _t(e)}var pt=Ao(((e,t)=>{if(zn(e)&&!e.attribs.every(s2))throw new Error("Arrays cannot hold decorated types other than @location. Wrap it in a struct instead, e.g. d.arrayOf(d.struct({ value: d.align(16, d.u32) }), n).");return t===void 0?Ao(s=>gx(e,s)):gx(e,t)})).$name("arrayOf");function gx(e,t){let s=r=>{if(r&&r.length!==t)throw new Error(`Array schema of ${t} elements of type ${e.type} called with ${r.length} argument(s).`);return Array.from({length:t},(o,n)=>aa(e,r?.[n]))};if(Object.setPrototypeOf(s,fP),Number.isNaN(_t(e)))throw new Error("Cannot nest runtime sized arrays.");if(s.elementType=e,!Number.isInteger(t)||t<0)throw new Error(`Cannot create array schema with invalid element count: ${t}.`);return s.elementCount=t,s}var fP={[B]:!0,type:"array",toString(){return`arrayOf(${String(this.elementType)}, ${this.elementCount})`}};function vP(e){if("multisampled"in e){if(e.multisampled){if(e.dimension==="2d")return hP(e.sampleType);throw new Error(`Multisampled textures only support '2d' dimension, got '${e.dimension}'`)}switch(e.dimension){case"1d":return yP(e.sampleType);case"2d":return ps(e.sampleType);case"2d-array":return xP(e.sampleType);case"3d":return wP(e.sampleType);case"cube":return gP(e.sampleType);case"cube-array":return bP(e.sampleType);default:throw new Error(`Unsupported texture dimension: '${e.dimension}'`)}}if(!("access"in e))throw new Error("Descriptor is neither a sampled nor a storage texture");switch(e.dimension){case"1d":return TP(e.format,e.access);case"2d":return Mo(e.format,e.access);case"2d-array":return SP(e.format,e.access);case"3d":return AP(e.format,e.access);default:throw new Error(`Unsupported storage texture dimension: '${e.dimension}'`)}}function ti(e,t){let s=e.startsWith("texture_depth")?["depth","float","unfilterable-float"]:t.sampleType.type==="i32"?["sint"]:t.sampleType.type==="u32"?["uint"]:["float","unfilterable-float"];return{[B]:{},[id]:void 0,type:e,bindingSampleType:s,...t}}function Wu(e,t){return{[B]:{},[id]:void 0,type:e,...t}}var bx=new Map,Fc={"write-only":"write","read-only":"read","read-write":"read_write"};function ko(e,t){let s=bx.get(e);return s||(s=t(),bx.set(e,s)),s}function yP(e){let t=e||a;return ko(`texture_1d<${t.type}>`,()=>ti("texture_1d",{dimension:"1d",sampleType:t,multisampled:!1}))}function ps(e){let t=e||a;return ko(`texture_2d<${t.type}>`,()=>ti("texture_2d",{dimension:"2d",sampleType:t,multisampled:!1}))}function hP(e){let t=e||a;return ko(`texture_multisampled_2d<${t.type}>`,()=>ti("texture_multisampled_2d",{dimension:"2d",sampleType:t,multisampled:!0}))}function xP(e){let t=e||a;return ko(`texture_2d_array<${t.type}>`,()=>ti("texture_2d_array",{dimension:"2d-array",sampleType:t,multisampled:!1}))}function gP(e){let t=e||a;return ko(`texture_cube<${t.type}>`,()=>ti("texture_cube",{dimension:"cube",sampleType:t,multisampled:!1}))}function bP(e){let t=e||a;return ko(`texture_cube_array<${t.type}>`,()=>ti("texture_cube_array",{dimension:"cube-array",sampleType:t,multisampled:!1}))}function wP(e){let t=e||a;return ko(`texture_3d<${t.type}>`,()=>ti("texture_3d",{dimension:"3d",sampleType:t,multisampled:!1}))}function TP(e,t){let s=t||"write-only";return ko(`texture_storage_1d<${e}, ${Fc[s]}>`,()=>Wu("texture_storage_1d",{dimension:"1d",format:e,access:s}))}function Mo(e,t){let s=t||"write-only";return ko(`texture_storage_2d<${e}, ${Fc[s]}>`,()=>Wu("texture_storage_2d",{dimension:"2d",format:e,access:s}))}function SP(e,t){let s=t||"write-only";return ko(`texture_storage_2d_array<${e}, ${Fc[s]}>`,()=>Wu("texture_storage_2d_array",{dimension:"2d-array",format:e,access:s}))}function AP(e,t){let s=t||"write-only";return ko(`texture_storage_3d<${e}, ${Fc[s]}>`,()=>Wu("texture_storage_3d",{dimension:"3d",format:e,access:s}))}function s5(){return ko("texture_external",()=>({[B]:{},[id]:void 0,type:"texture_external",dimension:"2d"}))}function r5(e){return!!e[B]&&typeof e.multisampled=="boolean"}function dl(e){return!!e[B]&&typeof e.format=="string"&&typeof e.access=="string"}function MP(e){return!!e[B]&&e.type==="texture_external"}function fv(){return{[B]:{},type:"sampler",[id]:void 0}}function o5(){return{[B]:{},type:"sampler_comparison",[id]:void 0}}function PP(e){return!!e[B]&&e.type==="sampler"}function EP(e){return!!e[B]&&e.type==="sampler_comparison"}var XI=Ao(((e,t)=>t===void 0?s=>wx(e,s):wx(e,t))).$name("disarrayOf");function wx(e,t){let s=r=>{if(r&&r.length!==t)throw new Error(`Disarray schema of ${t} elements of type ${e.type} called with ${r.length} argument(s).`);return Array.from({length:t},(o,n)=>aa(e,r?.[n]))};if(Object.setPrototypeOf(s,kP),s.elementType=e,!Number.isInteger(t)||t<0)throw new Error(`Cannot create disarray schema with invalid element count: ${t}.`);return s.elementCount=t,s}var kP={[B]:!0,type:"disarray",toString(){return`disarrayOf(${this.elementType}, ${this.elementCount})`}};var HI={[B]:!0,type:"unstruct",$name(e){return ot(this,e),this},toString(){return`unstruct:${xe(this)??""}`}};function $P(e){return new UP(e)}var UP=class{[B]={};type="atomic";inner;constructor(e){this.inner=e}};function Ou(e,t){return zn(e)?new Tx(e.inner,[t,...e.attribs]):ha(e)?new Sx(e.inner,[t,...e.attribs]):zu(e)?new Sx(e,[t]):new Tx(e,[t])}function n5(e,t){return Ou(t,{[B]:!0,type:"@align",params:[e]})}function a5(e,t){return Ou(t,{[B]:!0,type:"@size",params:[e]})}function fp(e,t){return Ou(t,{[B]:!0,type:"@location",params:[e]})}function nn(e){return(zn(e)||ha(e))&&e.attribs.find(VA)!==void 0}function gc(e){return!zn(e)&&!ha(e)?"":e.attribs.map(t=>t.params.length===0?`${t.type} `:`${t.type}(${t.params.join(", ")}) `).join("")}var i5=class{[B]={};inner;attribs;constructor(e,t){this.inner=e,this.attribs=t;let s=t.find(e2)?.params[0],r=t.find(t2)?.params[0];if(s!==void 0){if(s<=0)throw new Error(`Custom data alignment must be a positive number, got: ${s}.`);if(Math.log2(s)%1!==0)throw new Error(`Alignment has to be a power of 2, got: ${s}.`);if(Qa(this.inner)&&s%rs(this.inner)!==0)throw new Error(`Custom alignment has to be a multiple of the standard data alignment. Got: ${s}, expected multiple of: ${rs(this.inner)}.`)}if(r!==void 0){if(r<_t(this.inner))throw new Error(`Custom data size cannot be smaller then the standard data size. Got: ${r}, expected at least: ${_t(this.inner)}.`);if(r<=0)throw new Error(`Custom data size must be a positive number. Got: ${r}.`)}}},Tx=class extends i5{[B]={};type="decorated"},Sx=class extends i5{[B]={};type="loose-decorated"};function d5(e){return pv(e,"isContiguous")}function c5(e){return pv(e,"longestContiguousPrefix")}var _5=Object.defineProperty,CP=(e,t,s)=>t in e?_5(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,RP=(e,t)=>{for(var s in t)_5(e,s,{get:t[s],enumerable:!0})},Mt=(e,t,s)=>CP(e,typeof t!="symbol"?t+"":t,s);RP({},{BufferReader:()=>ld,BufferWriter:()=>si,MaxValue:()=>Es,Measurer:()=>gs,UnresolvedReferenceError:()=>Ra,ValidationError:()=>Vu,arrayOf:()=>IP,bool:()=>FP,byte:()=>NP,chars:()=>nE,concat:()=>cE,dynamicArrayOf:()=>lE,f16:()=>tE,f32:()=>rE,f32Array:()=>PE,f64Array:()=>EE,generic:()=>iE,genericEnum:()=>dE,i16:()=>XP,i16Array:()=>AE,i32:()=>ZP,i32Array:()=>ME,i8:()=>OP,i8Array:()=>SE,keyed:()=>pE,object:()=>aE,optional:()=>vE,string:()=>BP,tupleOf:()=>xE,u16:()=>jP,u16Array:()=>wE,u32:()=>JP,u32Array:()=>TE,u8:()=>f5,u8Array:()=>gE,u8ClampedArray:()=>bE});var Ra=class l5 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,l5.prototype)}},Vu=class u5 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,u5.prototype)}},zP=class{constructor(){Mt(this,"size",NaN),Mt(this,"unbounded",this),Mt(this,"isUnbounded",!0)}add(){return this}fork(){return this}},GP=new zP,gs=class m5{constructor(){Mt(this,"size",0),Mt(this,"unbounded",GP),Mt(this,"isUnbounded",!1)}add(t){return this.size+=t,this}fork(){let t=new m5;return t.size=this.size,t}},Es=Symbol("The biggest (in amount of bytes needed) value a schema can represent"),or=class{constructor(){Mt(this,"__unwrapped")}resolveReferences(e){}seekProperty(e,t){return null}},YP=class{constructor(e){this.key=e}},dc={STRING:"string",ENUM:"enum"},LP=class extends or{constructor(e,t){super(),this._unstableElementSchema=e,this.length=t,Mt(this,"elementSchema"),this.elementSchema=e}resolveReferences(e){this.elementSchema=e.resolve(this._unstableElementSchema)}write(e,t){if(t.length!==this.length)throw new Vu(`Expected array of length ${this.length}, got ${t.length}`);for(let s of t)this.elementSchema.write(e,s)}read(e){let t=[];for(let s=0;s{let o=t.fork();for(let n of Object.values(r.properties))n.measure(Es,o);return[r,o.size]}).reduce((r,o)=>r[1]>o[1]?r:o)[0];for(let r of Object.values(s.properties))r.measure(Es,t)}else{let s=e.type,r=this.subTypeMap[s]||null;if(r===null)throw new Error(`Unknown sub-type '${s.toString()}', expected one of '${JSON.stringify(Object.keys(this.subTypeMap))}'`);for(let[o,n]of Jn(r.properties))n.measure(e[o],t)}return t}};function iE(e,t){return new y5(dc.STRING,e,t)}function dE(e,t){return new y5(dc.ENUM,e,t)}function cE(e){return new vv(Object.fromEntries(e.flatMap(({properties:t})=>Object.entries(t))))}var _E=class extends or{constructor(e){super(),this._unstableElementType=e,Mt(this,"elementType"),this.elementType=e}resolveReferences(e){this.elementType=e.resolve(this._unstableElementType)}write(e,t){e.writeUint32(t.length);for(let s of t)this.elementType.write(e,s)}read(e){let t=[],s=e.readUint32();for(let r=0;r=e.length)return null;let r=new gs;for(let o=0;oe.resolve(s))}var hE=class extends or{constructor(e){super(),this._unstableSchemas=e,Mt(this,"schemas"),this.schemas=e}resolveReferences(e){this.schemas=yE(e,this._unstableSchemas)}write(e,t){if(t.length!==this.schemas.length)throw new Vu(`Expected tuple of length ${this.schemas.length}, got ${t.length}`);for(let s=0;snew Ln(e,Uint8Array),bE=e=>new Ln(e,Uint8ClampedArray),wE=e=>new Ln(e,Uint16Array),TE=e=>new Ln(e,Uint32Array),SE=e=>new Ln(e,Int8Array),AE=e=>new Ln(e,Int16Array),ME=e=>new Ln(e,Int32Array),PE=e=>new Ln(e,Float32Array),EE=e=>new Ln(e,Float64Array);function kE(){let e=new Uint8Array(4),t=new Uint32Array(e.buffer);return t[0]=1,e[0]===0}function yv(){return kE()?"big":"little"}function hv(e){let t=0,s=e;return s&&"buffer"in s&&"byteOffset"in s&&(t+=s.byteOffset,s=s.buffer),{buffer:s,byteOffset:t,byteLength:e.byteLength}}var x5=class{constructor(e,t){Mt(this,"dataView"),Mt(this,"littleEndian"),Mt(this,"needsByteSwap"),Mt(this,"byteOffset",0),Mt(this,"endianness");let{byteOffset:s=0,endianness:r="system"}=t??{};this.byteOffset=s;let o=yv();this.endianness=r==="system"?o:r,this.littleEndian=this.endianness==="little",this.needsByteSwap=this.endianness!==o;let n=hv(e);this.byteOffset+=n.byteOffset,this.dataView=new DataView(n.buffer)}get currentByteOffset(){return this.byteOffset}seekTo(e){this.byteOffset=e}skipBytes(e){this.byteOffset+=e}},ld=class extends x5{constructor(){super(...arguments),Mt(this,"_cachedTextDecoder")}get _textDecoder(){return this._cachedTextDecoder||(this._cachedTextDecoder=new TextDecoder(void 0,{fatal:!0})),this._cachedTextDecoder}readBool(){return this.dataView.getUint8(this.byteOffset++)!==0}readByte(){return this.dataView.getUint8(this.byteOffset++)}readInt8(){return this.dataView.getInt8(this.byteOffset++)}readUint8(){return this.dataView.getUint8(this.byteOffset++)}readInt16(){let e=this.dataView.getInt16(this.byteOffset,this.littleEndian);return this.byteOffset+=2,e}readUint16(){let e=this.dataView.getUint16(this.byteOffset,this.littleEndian);return this.byteOffset+=2,e}readInt32(){let e=this.dataView.getInt32(this.byteOffset,this.littleEndian);return this.byteOffset+=4,e}readUint32(){let e=this.dataView.getUint32(this.byteOffset,this.littleEndian);return this.byteOffset+=4,e}readFloat16(){let e=this.dataView.getFloat16(this.byteOffset,this.littleEndian);return this.byteOffset+=2,e}readFloat32(){let e=this.dataView.getFloat32(this.byteOffset,this.littleEndian);return this.byteOffset+=4,e}readString(){let e=0;for(;this.byteOffset+e1)for(let i=0;i=0;d--)o[i+d]=this.dataView.getUint8(this.byteOffset++);else o.set(new Uint8Array(this.dataView.buffer,this.byteOffset,s)),this.byteOffset+=s}},si=class extends x5{constructor(){super(...arguments),Mt(this,"_cachedTextEncoder")}get _textEncoder(){return this._cachedTextEncoder||(this._cachedTextEncoder=new TextEncoder),this._cachedTextEncoder}writeBool(e){this.dataView.setUint8(this.byteOffset++,e?1:0)}writeByte(e){this.dataView.setUint8(this.byteOffset++,e)}writeInt8(e){this.dataView.setInt8(this.byteOffset++,e)}writeUint8(e){this.dataView.setUint8(this.byteOffset++,e)}writeInt16(e){this.dataView.setInt16(this.byteOffset,e,this.littleEndian),this.byteOffset+=2}writeUint16(e){this.dataView.setUint16(this.byteOffset,e,this.littleEndian),this.byteOffset+=2}writeInt32(e){this.dataView.setInt32(this.byteOffset,e,this.littleEndian),this.byteOffset+=4}writeUint32(e){this.dataView.setUint32(this.byteOffset,e,this.littleEndian),this.byteOffset+=4}writeFloat16(e){this.dataView.setFloat16(this.byteOffset,e,this.littleEndian),this.byteOffset+=2}writeFloat32(e){this.dataView.setFloat32(this.byteOffset,e,this.littleEndian),this.byteOffset+=4}writeString(e){let t=this._textEncoder.encodeInto(e,new Uint8Array(this.dataView.buffer,this.byteOffset));this.byteOffset+=t.written,this.dataView.setUint8(this.byteOffset++,0)}writeSlice(e){let t=hv(e),s=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),r=e.BYTES_PER_ELEMENT;if(this.needsByteSwap&&r>1)for(let o=0;o=0;n--)this.dataView.setUint8(this.byteOffset++,s[o+n]);else new Uint8Array(this.dataView.buffer,this.byteOffset).set(s),this.byteOffset+=s.length}};function $E(e,t){let s="size"in e?e.size:e.currentByteOffset,r=t-1,o=s&r;"skipBytes"in e?e.skipBytes(t-o&r):e.add(t-o&r)}var Os=$E,Ax=new WeakMap;function Nu(e){let t=Ax.get(e);if(t)return t;let s=new gs,r={},o;for(let n in e.propTypes){let i=e.propTypes[n];if(i===void 0)throw new Error(`Property ${n} is undefined in struct`);let d=s.size;Os(s,un(e)?wo(i):rs(i)),o&&(o.padding=s.size-d);let c=_t(i);r[n]={offset:s.size,size:c},o=r[n],s.add(c)}return o&&(o.padding=qs(_t(e),rs(e))-s.size),Ax.set(e,r),r}var ia=Symbol("indirectOffset"),da=Symbol("indirectContiguous");function UE(e){return typeof e=="object"&&e!==null&&ia in e&&da in e}function ec(e,t){return{[ia]:e,[da]:t}}function xv(e,t){if(t===ia)return e[ia];if(t===da)return e[da]}function gv(e,t,s=_t(e)){let r=lo(e),o=Rt(r)?r.componentCount:void 0;if(o!==void 0){let n=_t(r.primitive);return RE(ec(t,s),n,o)}return Qt(r)?GE(r,ec(t,s)):Us(r)?zE(r,ec(t,s)):ec(t,s)}function CE(e,t=0){return gv(e,t,_t(e))}function RE(e,t,s){let r=e[ia];return new Proxy(e,{get(o,n){let i=xv(o,n);if(i!==void 0)return i;let d=n==="x"||n==="0"?0:n==="y"||n==="1"?1:n==="z"||n==="2"?2:n==="w"||n==="3"?3:-1;if(d<0||d>=s)return;let c=d*t,_=Math.max(0,o[da]-c);return ec(r+c,_)}})}function zE(e,t){let s=e.elementType,r=_t(s),o=qs(r,rs(s)),n=o>r;return new Proxy(t,{get(i,d){let c=xv(i,d);if(c!==void 0)return c;if(d==="length")return e.elementCount;if(typeof d!="string")return;let _=Number(d);if(!Number.isInteger(_)||_<0||_>=e.elementCount)return;let u=_*o,m=d5(s)?Math.max(0,i[da]-u):r+c5(s),p=n?Math.min(m,r):m;return gv(s,i[ia]+u,p)}})}function GE(e,t){let s=Nu(e),r=e.propTypes,o=Object.keys(r),n=new Map,i=0;for(let d=0;d0||!p))continue;let y=u.offset+(p?u.size:c5(_));for(let h=i;h<=d;h++){let g=o[h];if(!g)continue;let w=s[g];n.set(g,{offset:w.offset,runEnd:y})}i=d+1}return new Proxy(t,{get(d,c){let _=xv(d,c);if(_!==void 0)return _;if(typeof c!="string")return;let u=n.get(c);if(!u)return;let m=Math.max(0,d[da]-u.offset),p=Math.max(0,u.runEnd-u.offset),y=r[c];if(y)return gv(y,d[ia]+u.offset,_t(e)===u.runEnd?m:p)}})}function YE(e){let t=lo(e);if(Qt(t)){let s=Nu(t),r=t.propTypes,o=Object.keys(r);for(let n=0;n0)return _}return 0}if(Us(t)){let s=t.elementType,r=_t(s),o=qs(r,rs(s)),n=_t(e);return Number.isFinite(n)?o>r?r:n:r}return _t(e)}function cl(e,t){if(!t)return{offset:0,contiguous:YE(e)};let s=t(CE(e));if(UE(s))return{offset:s[ia],contiguous:s[da]};throw new Error("memoryLayoutOf: accessor did not return a schema element. Make sure the accessor navigates to a field or element of the schema (e.g. `(s) => s.position.x`).")}function Rs(e,t){return Ou(e,{[B]:!0,type:"@builtin",params:[t]})}var _r={vertexIndex:Rs(R,"vertex_index"),instanceIndex:Rs(R,"instance_index"),clipDistances:Rs(pt(R,8),"clip_distances"),position:Rs(Oe,"position"),frontFacing:Rs(ft,"front_facing"),fragDepth:Rs(a,"frag_depth"),primitiveIndex:Rs(R,"primitive_index"),sampleIndex:Rs(R,"sample_index"),sampleMask:Rs(R,"sample_mask"),localInvocationId:Rs(gt,"local_invocation_id"),localInvocationIndex:Rs(R,"local_invocation_index"),globalInvocationId:Rs(gt,"global_invocation_id"),globalInvocationIndex:Rs(R,"global_invocation_index"),workgroupId:Rs(gt,"workgroup_id"),workgroupIndex:Rs(R,"workgroup_index"),numWorkgroups:Rs(gt,"num_workgroups"),subgroupInvocationId:Rs(R,"subgroup_invocation_id"),subgroupSize:Rs(R,"subgroup_size"),subgroupId:Rs(R,"subgroup_id"),numSubgroups:Rs(R,"num_subgroups")};var jI=(rr(),Or),l=(rr(),lt),KI=(rr(),Vs),El=(rr(),Xt),Ge=(rr(),Ct),ZI=(rr(),Vr),f=(rr(),It),QI=(rr(),Pr),JI=(rr(),cs),Oa=(rr(),gt),e8=(rr(),Nr),x=(rr(),Oe),t8=(rr(),Ns),s8=(rr(),Wt),r8=(rr(),Et),o8=(rr(),Gn),ud=(rr(),Yn),n8=(rr(),Hs);function LE(e){return e?.[Hr]}function bv(e,t={}){let s=0,r=new Set;return Object.fromEntries(Object.entries(e??{}).map(([o,n])=>{let i=na(n);if(i!==void 0){if(r.has(i))throw new Error("Duplicate custom location attributes found");r.add(i)}return[o,n]}).map(([o,n])=>{if(nn(n))return[o,n];if(na(n)!==void 0)return[o,n];if(t[o])return[o,fp(t[o],n)];for(;r.has(s);)s++;return[o,fp(s++,n)]}))}function g5(e,t={}){let s=[],r={};for(let[o,n]of Object.entries(e))nn(n)?s.push({schemaKey:o,type:n}):r[o]=n;return{dataSchema:Object.keys(r).length>0?Bu(bv(r,t),!1):void 0,positionalArgs:s}}function IE(e){let t=bv(e);return{dataSchema:void 0,positionalArgs:Object.entries(t).map(([s,r])=>({schemaKey:s,type:r}))}}function Bc(e,t={}){return Rc(e)?Cu(e)||nn(e)||na(e)!==void 0?e:fp(0,e):Bu(bv(e,t),!1)}var Wo=class{#e;#t;#s;#r;#o;#n;constructor(e,t,s){this.#e=e,this.#n=t,this.#t={},this.#r=s,this.#s=new Set}accessProp(e){let t=this.#e[e]??this.#n;if(t)return this.provideProp(e,t)}provideProp(e,t){let s=this.#t[e];if(!s){let r=e.replaceAll("$","");if(this.#s.has(r))throw new Error(`Property name '${r}' causes naming clashes. Choose a different name.`);let o=e5(r);if(!o.success)throw new Error(`Invalid property key '${e}'${o.error?`: ${o.error}`:""}`);this.#s.add(r),s={prop:r,type:t},this.#t[e]=s}return s}get completeStruct(){if(!this.#o){this.#o=Bc(Object.fromEntries(Object.values(this.#t).map(t=>[t.prop,t.type])),this.#r);let e=xe(this);e&&ot(this.#o,e)}return this.#o}[kt](e){return e.resolve(this.completeStruct)}toString(){return`auto-struct:${xe(this)??""}`}};Wo.prototype[B]={};Wo.prototype.type="auto-struct";var b5=class{[B]={};type="entry-input-router";structArg;positionalArgsMap;constructor(e,t){this.structArg=e,this.positionalArgsMap=new Map(t.map(s=>[s.schemaKey,s.arg]))}toString(){return"entry-input-router"}accessProp(e){let t=this.positionalArgsMap.get(e);if(t)return t();let s=this.structArg?.();if(s&&Qt(s.dataType))return{target:s,prop:e}}},DE=["vec2f","vec3f","vec4f","vec2h","vec3h","vec4h","vec2i","vec3i","vec4i","vec2u","vec3u","vec4u","mat2x2f","mat3x3f","mat4x4f"],FE={f:{1:a,2:lt,3:It,4:Oe},h:{1:xs,2:Vs,3:Pr,4:Ns},i:{1:Z,2:Xt,3:cs,4:Wt},u:{1:R,2:Ct,3:gt,4:Et},b:{1:ft,2:Or,3:Vr,4:Nr}};function Bi(e,t){if(DE.includes(e.dataType.type)&&t in pp){let r=pp[t];return ve(new uv(e,r),Ut,e.origin,e.possibleSideEffects)}if(Us(e.dataType)&&t==="length")return e.dataType.elementCount===0?ve(ce`arrayLength(&${e})`,R,"runtime",e.possibleSideEffects):on(e.dataType.elementCount);if(rn(e.dataType)&&t==="columns")return ve(new h2(e),Ut,e.origin,e.possibleSideEffects);if(Qt(e.dataType)||un(e.dataType))return E2(e,t);if(e.dataType instanceof Wo){let r=e.dataType.accessProp(t);return r?ve(ce`${e}.${r.prop}`,r.type,"argument",e.possibleSideEffects):void 0}if(e.dataType instanceof b5){let r=e.dataType.accessProp(t);return Gc(r)?r:r?Bi(r.target,r.prop):void 0}if(pr(e.dataType)){let r=Wf(e);return t==="$"?r:Bi(r,t)}if(Rt(e.dataType)&&t==="kind")return ve(e.dataType.type,Ut,"constant",!1);let s=t.length;if(Rt(e.dataType)&&s>=1&&s<=4&&/^[xyzw]+$|^[rgba]+$/.test(t)){let r=FE[e.dataType.type.includes("bool")?"b":e.dataType.type[4]][s];return r?ve(hs(e)?e.value[t]:ce`${e}.${t}`,r,s===1?e.origin:e.origin==="constant"||e.origin==="constant-immutable-def"?"constant":"runtime",e.possibleSideEffects):void 0}if(hs(e)||e.dataType===Ut){let r=e.value[t];return Di(r)&&xe(r)===void 0&&ot(r,t),Wr(r)}}var Mx={mat2x2f:lt,mat3x3f:It,mat4x4f:Oe};function qu(e,t){let s=typeof t=="number"?Wr(t):t;if(Us(e.dataType)||Ja(e.dataType)){let r=e.dataType.elementType,o;return e.origin==="constant-immutable-def"?o=s.origin==="constant"||s.origin==="constant-immutable-def"?"constant-immutable-def":"runtime-immutable-def":e.origin==="constant"?o=s.origin==="constant"||s.origin==="constant-immutable-def"?"constant":"runtime":o=e.origin,e.value instanceof ic&&hs(s)?e.value.elements[s.value]:ve(hs(e)&&hs(s)?e.value[s.value]:ce`${e}[${s}]`,r,o,e.possibleSideEffects||s.possibleSideEffects)}if(Rt(e.dataType))return ve(hs(e)&&hs(s)?e.value[s.value]:ce`${e}[${s}]`,e.dataType.primitive,e.origin,e.possibleSideEffects||s.possibleSideEffects);if(pr(e.dataType))return qu(Wf(e),s);if(e.value instanceof h2){let r=Mx[e.value.matrix.dataType.type];return ve(ce`${e.value.matrix}[${s}]`,r,e.origin,e.possibleSideEffects||s.possibleSideEffects)}if(e.dataType.type in Mx)throw new Error("The only way of accessing matrix elements in TypeGPU functions is through the 'columns' property.");if(hs(e)&&hs(s))return Wr(e.value[s.value]);if(Qt(e.dataType)&&hs(s)&&typeof s.value=="string")return Bi(e,s.value)}var Wi={get(e,t){if(t in e)return Reflect.get(e,t);if(t==="toString"||t===Symbol.toStringTag||t===Symbol.toPrimitive)return()=>e.toString();if(typeof t=="symbol")return;let s=Gu(e),r=Number(t);if(!Number.isNaN(r)){let n=qu(s,r);return n?new Proxy({[B]:!0,[kt]:i=>i.resolveSnippet(n),[oa]:n,toString:()=>`${String(e)}[${t}]`},Wi):void 0}let o=Bi(s,String(t));if(o)return new Proxy({[B]:!0,[kt]:n=>n.resolveSnippet(o),[oa]:o,toString:()=>`${String(e)}.${t}`},Wi)}};function kl(e){let t=e;for(;;){let s=LE(t);if(!s)break;t=s}return t}function mn(e,t){return Object.defineProperty(e,Hr,{get(){if("get"in t.codegenMode)return t.codegenMode.get.apply(this);let s=this;return new Proxy({[B]:!0,get[oa](){if(!("getBaseSnippet"in t.codegenMode))throw new Error("Expected 'getBaseSnippet' to be defined.");return t.codegenMode.getBaseSnippet.apply(s,[this])},[kt]:r=>r.resolve(s),toString:()=>`${s.toString()}.$`},Wi)}}),Object.defineProperty(e,"$",{get(){let s=J0();return s.type==="codegen"?this[Hr]:s.type==="simulate"?t.simulateMode?.get?t.simulateMode.get.apply(this,[s]):t.normalMode.get.apply(this):s.type==="normal"?t.normalMode.get.apply(this):xc(s,"makeDereferenceable.ts#$ (get)")},set(s){let r=J0();if(r.type==="normal"){if(!t.normalMode.set)throw new Error(`'${this.toString()}' cannot be set in normal mode`);t.normalMode.set.apply(this,[s]);return}if(r.type==="simulate"){if(t.simulateMode?.set)t.simulateMode.set.apply(this,[r,s]);else if(t.normalMode.set)t.normalMode.set.apply(this,[s]);else throw new Error(`'${this.toString()}' cannot be set in simulate mode`);return}if(r.type==="codegen")throw new Error("Unreachable makeDerefenceable.ts#$ (set)");return xc(r,"makeDereferenceable.ts#$ (set)")}}),e}function In(e,t){return mt(e)||Object.defineProperty(e,B,{value:!0,writable:!0}),Object.defineProperty(e,"toString",{value(){return t.asString.apply(this)}}),Object.defineProperty(e,kt,{value(s){return t.resolve.apply(this,[s])}}),e}function wv(e,t){if(!Rc(e)){if(!Array.isArray(t))throw new Error(`Expected an array value for a partially-applied array schema, but received: ${typeof t}.`);return new Px(e(t.length),t)}return new Px(e,t)}function w5(e){let t=Reflect.ownKeys(e);for(let s of t){let r=e[s];(r&&typeof r=="object"||typeof r=="function")&&w5(r)}return Object.freeze(e)}var Px=class _l{[me];static#e=void(_l.prototype[B]={},_l.prototype.resourceType="const",mn(In(_l.prototype,{asString(){return`const:${xe(this)??""}`},resolve(t){let s=t.makeUniqueIdentifier(xe(this),"global");return t.gen.declareGlobalConst({id:s,dataType:this.dataType,init:ve(this[me].value,this.dataType,"constant")})}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.dataType,"constant-immutable-def",!1)}},normalMode:{get(){return this[me].value}}}));constructor(t,s){this[me]={type:"const",dataType:t,value:s&&typeof s=="object"?w5(s):s,label:void 0}}get dataType(){return this[me].dataType}$name(t){return ot(this,t),this}};function BE(e){return _M(e)||zu(e)||Fi(e)}function Ex(e){let t=e.pluginProvided??e.userProvided??{},s=Object.defineProperties({},Object.getOwnPropertyDescriptors(t));for(let r of[e.args,e.out].filter(o=>o!==void 0))for(let[o,n]of Object.entries(r)){if(o in s&&s[o]!==n)throw new Error(`Key '${o}' appears in externals despite already being used for argument/return type. Please rename this external.`);s[o]=n}return s}function WE(e,t,s){let r=[...e.matchAll(/:\s*(?.*?)\s*[,)]/g)].map(n=>n?.[1]),o=Object.fromEntries(t.flatMap((n,i)=>{let d=r?.[i];return Qt(n)&&d!==void 0?[[d,n]]:[]}));s.setExternals("args",o)}function T5(e,t,s){let r=e.match(/->\s(?[\w\d_]+)\s{/),o=r?r[1]?.trim():void 0;Qt(t)&&o&&!/\s/g.test(o)&&s.setExternals("out",{[o]:t})}var kx=/([$_\p{XID_Start}][$\p{XID_Continue}]*)/u,OE=new RegExp(`(${kx.source})(\\.${kx.source})*`,"ug"),VE=new RegExp(`(?n.includes("."));if(o)throw new Error(`External key '${o}' contains invalid character '.'`);return s.replaceAll(VE,n=>{let i=n.split(".");if(!Object.hasOwn(t,i.at(0)))return n;let d=t,c="";for(let[_,u]of i.entries()){if(d=d[u],BE(d)||typeof d=="string"){c=i.slice(_+1).map(m=>`.${m}`).join(""),Di(d)&&xe(d)===void 0&&ot(d,i.slice(0,_+1).join("_"));break}if(typeof d!="object"||d===null||_===i.length-1)return Vt.warn("external-omitted",`During resolution, the external '${i.slice(0,_+1).join(".")}' has been omitted. Only TGPU resources, 'use gpu' functions, primitives, and plain JS objects can be used as externals.`),n}return e.resolve(d).value+c})}var NE=class{[B]=!0;#e;constructor(e){this.#e=e}[kt](){return ve(this.#e,Ut,"runtime",!0)}},Tv=new Set([` +`,"\v","\f","\r","\x85","\u2028","\u2029"]),S5=new Set([...Tv," "," ","\u200E","\u200F"]);function qE(e){let{strippedCode:t,argRange:s}=XE(e),r=new A5(t);r.consume("(");let o=[];for(;!r.isAt(")");){let i=[];for(;r.isAt("@");)r.parseUntil($x,Ux),r.consume(")"),i.push(r.lastParsed);r.parseUntil(HE);let d=r.lastParsed,c;r.isAt(":")&&(r.consume(":"),r.parseUntil(jE,ZE),c=r.lastParsed),o.push({identifier:d,attributes:i,type:c}),r.isAt(",")&&r.consume(",")}r.consume(")");let n;if(r.isAt("->")){r.consume("->");let i=[];for(;r.isAt("@");)r.parseUntil($x,Ux),r.consume(")"),i.push(r.lastParsed);n={type:r.str.slice(r.pos),attributes:i}}return{args:o,ret:n,range:{begin:s[0],end:s[1]}}}function XE(e){let t=new A5(e),s="",r;for(;!t.isFinished();){if(t.isAt(S5)){t.advanceBy(1);continue}if(t.isAt("//")){t.consume("//"),t.parseUntil(Tv),t.advanceBy(1);continue}if(t.isAt("/*")){t.parseUntil(KE,QE),t.consume("*/");continue}if(t.isAt("{"))return{strippedCode:s,argRange:[r,t.pos]};t.isAt("(")&&r===void 0&&(r=t.pos),r!==void 0&&(s+=t.str[t.pos]),t.advanceBy(1)}throw new Error("Invalid wgsl code!")}var A5=class{str;#e;#t;constructor(e){this.str=e,this.#t=0}get pos(){return this.#t}get lastParsed(){if(this.#e===void 0)throw new Error("Parse was not called yet!");return this.str.slice(this.#e,this.pos)}isFinished(){return this.#t>=this.str.length}isAt(e){if(typeof e=="string"){for(let t=0;t"],QE=["/*","*/"];function ri(e,t,s){let r={};return{[Xs]:typeof e=="function"?e:void 0,setExternals(o,n){if(o==="userProvided"&&"userProvided"in r)throw new Error("Cannot call '$uses' multiple times. If you wish to override dependencies, use slots or accessors instead.");if(r[o]=n,r.userProvided&&r.pluginProvided)throw new Error("Cannot call '$uses' on functions whose metadata was provided by unplugin-typegpu.")},resolve(o,n,i,d){let c="";t==="compute"?c=`@compute @workgroup_size(${s?.join(", ")}) `:t==="vertex"?c="@vertex ":t==="fragment"&&(c="@fragment ");let _=o.makeUniqueIdentifier(xe(this),"global");if(typeof e=="string"){if(!i)throw new Error("Explicit return type is required for string implementation");if(d){for(let A of d.positionalArgs){let P=Fu(A.schemaKey);if(!P.success)throw new Error(`Invalid argument name "${A.schemaKey}"${P.error?`: ${P.error}`:""}`);if(o.isIdentifierBanned(A.schemaKey))throw new Error(`Invalid argument name "${A.schemaKey}", the identifier is a reserved keyword.`)}this.setExternals("args",{in:Object.fromEntries(d.positionalArgs.map(A=>[A.schemaKey,new NE(A.schemaKey)]))})}let w=Xu(o,Ex(r),e),S="",T="";if(t!=="normal"&&d){let{dataSchema:A,positionalArgs:P}=d,U=[];A&&Cx("in",w)&&U.push(`in: ${o.resolve(A).value}`);for(let L of P){let G=L.schemaKey;Cx(G,w)&&U.push(`${gc(L.type)}${G}: ${o.resolve(L.type).value}`)}let D=`(${U.join(", ")})`,O=Qa(i)?gc(i):"";S=`${D}${i!==_s?Qt(i)?` -> ${o.resolve(i).value} `:` -> ${O!==""?O:"@location(0)"} ${o.resolve(i).value} `:" "}`,T=w}else{let A=qE(w);if(A.args.length!==n.length)throw new Error(`WGSL implementation has ${A.args.length} arguments, while the shell has ${n.length} arguments.`);S=`(${A.args.map((P,U)=>`${P.identifier}: ${Rx(o,`parameter ${P.identifier}`,P.type,n[U])}`).join(", ")})${i===_s?" ":` -> ${Rx(o,"return type",A.ret?.type,i)} `}`,T=w.slice(A.range.end)}return o.addDeclaration(`${c}fn ${_}${S}${T}`,_),ve(_,i,"runtime")}let u=If(e),m=u?.externals();m&&this.setExternals("pluginProvided",m);let p=u?.ast;if(!p)throw new Error("Missing metadata for tgpu.fn function body (either missing 'use gpu' directive, or misconfigured `unplugin-typegpu`)");let y=p.params[1];y&&y.type==="i"&&t!=="normal"&&this.setExternals("out",{[y.name]:lo(i)});let{code:h,returnType:g}=o.resolveFunction({functionType:t,name:_,workgroupSize:s,argTypes:n,entryInput:d,params:p.params,returnType:i,body:p.body,externalMap:Ex(r)});return o.addDeclaration(h,_),ve(_,g,"runtime")}}}function Cx(e,t){return new RegExp(`\\b${e}\\b`).test(t)}function Rx(e,t,s,r){let o=e.resolve(r).value.replace(/\s/g,"");if(!s)return o;let n=s.replace(/\s/g,"");if(n!==o)throw new Error(`Type mismatch between TGPU shell and WGSL code string: ${t}, JS type "${o}", WGSL type "${n}".`);return s}function Hu(e,...t){return JE(e)?ek(e,...t):e}function JE(e){return Array.isArray(e)&&"raw"in e&&Array.isArray(e.raw)&&e.raw.every(t=>typeof t=="string")}function ek(e,...t){return e.slice(1).reduce((s,r,o)=>`${s}${t[o]}${r}`,e[0])}function qt(e,t){if(typeof e=="function")return P5(e,[]);let s=e,r={[B]:!0,argTypes:s,returnType:t??_s};return Object.assign((n,...i)=>tk(r,Hu(n,...i)),r)}function vp(e){return mt(e)&&e?.resourceType==="function"}function yp(e){return mt(e)&&e?.resourceType==="generic-function"}function M5([e,t]){return`${xe(e)??""}=${t}`}function tk(e,t){let s=[],r;yp(t)?(s=t[Mr]?.pairs??[],r=t[B].inner):r=t;let o=ri(r,"normal"),n={shell:e,resourceType:"function",[B]:{implementation:r},$uses(c){return o.setExternals("userProvided",c),this},[Xs]:o,$name(c){return ot(this,c),this},with:Ao((c,_)=>hp(d,[[dd(c)||cd(c)?c.slot:c,_]])),[kt](c){return typeof r=="string"&&(WE(r,e.argTypes,o),T5(r,e.returnType,o)),o.resolve(c,e.argTypes,e.returnType)}},i=pe({name:void 0,noComptime:!0,signature:{argTypes:e.argTypes,returnType:e.returnType},normalImpl:(...c)=>lM(()=>{try{if(typeof r=="string")throw new Error("Cannot execute on the CPU functions constructed with raw WGSL");let _=c.map((m,p)=>aa(e.argTypes[p],m)),u=r(..._);return aa(e.returnType,u)}catch(_){throw _ instanceof K0?_.appendToTrace(d):new K0(_,[d])}}),codegenImpl:(c,_)=>c.withResetIndentLevel(()=>ce`${c.resolve(d).value}(${_})`),sideEffects:!0}),d=Object.assign(i,n);return Object.defineProperty(d,"toString",{value(){return`fn:${xe(o)??""}`}}),s.length>0?hp(d,s):d}function hp(e,t){let s={resourceType:"function",shell:e.shell,[B]:{implementation:e[B].implementation},[Mr]:{inner:e,pairs:t},$uses(i){return e.$uses(i),this},$name(i){return ot(this,i),this},with:Ao((i,d)=>{let c=dd(i)||cd(i)?i.slot:i;return hp(e,[...t,[c,d]])})},r=pe({name:void 0,noComptime:!0,signature:{argTypes:e.shell.argTypes,returnType:e.shell.returnType},normalImpl:e,codegenImpl:(i,d)=>i.withResetIndentLevel(()=>ce`${i.resolve(o).value}(${d})`),sideEffects:!0}),o=Object.assign(r,s);Object.defineProperty(o,"toString",{value(){return`fn:${xe(this)??""}[${t.map(M5).join(", ")}]`}});let n=xe(e);return n&&ot(o,n),o}function P5(e,t){let s={[B]:{inner:e},resourceType:"generic-function",[Mr]:t.length>0?{inner:e,pairs:t}:void 0,$name(i){return ot(this,i),xe(e)||ot(e,i),this},[kt](i){return i.resolve(e)},with(i,d){let c=dd(i)||cd(i)?i.slot:i;return P5(e,[...t,[c,d]])}},o=Object.assign((...i)=>e(...i),s),n=xe(e);return n&&ot(o,n),Object.defineProperty(o,"toString",{value(){let i=xe(o)??"";return t.length>0?`fn*:${i}[${t.map(M5).join(", ")}]`:`fn*:${i}`}}),o}var sk={block:0,binaryExpr:1,assignmentExpr:2,logicalExpr:3,unaryExpr:4,numericLiteral:5,call:6,memberAccess:7,indexAccess:8,return:10,if:11,let:12,const:13,for:14,while:15,continue:16,break:17,forOf:18,arrayExpr:100,preUpdate:101,postUpdate:102,stringLiteral:103,objectExpr:104,conditionalExpr:105},tc={identifier:"i",destructuredObject:"d"},E5=Za({FuncParameterType:()=>tc,NodeTypeCatalog:()=>sk}),Sv=e=>({argTypes:[e],returnType:e}),Av=(...e)=>{let t=fr(e)??e;return{argTypes:t,returnType:t[0]}},At=e=>(...t)=>{let s=fr(t,e);if(!s)throw new Ts(t,e);return{argTypes:s,returnType:s[0]}};function k5(e){return(t,...s)=>{let r=t;for(let o of s)r=e(r,o);return r}}function $5(e){return(t,[s,...r])=>{let o=ce`${s}`;for(let n of r)o=ce`${e}(${o}, ${n})`;return o}}var rk=[a,xs,qa],bc=[lt,It,Oe,Vs,Pr,Ns],St=[...rk,...bc],ok=[Z,R],nk=[Xt,cs,Wt,Ct,gt,Et],Un=[...ok,...nk];function ak(e){return Tt(Math.abs,[e])}var z=pe({name:"abs",signature:Sv,normalImpl:ak,codegenImpl:(e,[t])=>ce`abs(${t})`,sideEffects:!1});function ik(e){return Tt(Math.acos,[e])}var dk=pe({name:"acos",signature:At(St),normalImpl:ik,codegenImpl:(e,[t])=>ce`acos(${t})`,sideEffects:!1});function ck(e){return Tt(Math.acosh,[e])}var _k=pe({name:"acosh",signature:At(St),normalImpl:ck,codegenImpl:(e,[t])=>ce`acosh(${t})`,sideEffects:!1});function lk(e){return Tt(Math.asin,[e])}var xp=pe({name:"asin",signature:At(St),normalImpl:lk,codegenImpl:(e,[t])=>ce`asin(${t})`,sideEffects:!1});function uk(e){return Tt(Math.asinh,[e])}var mk=pe({name:"asinh",signature:At(St),normalImpl:uk,codegenImpl:(e,[t])=>ce`asinh(${t})`,sideEffects:!1});function pk(e){return Tt(Math.atan,[e])}var fk=pe({name:"atan",signature:At(St),normalImpl:pk,codegenImpl:(e,[t])=>ce`atan(${t})`,sideEffects:!1});function vk(e){return Tt(Math.atanh,[e])}var yk=pe({name:"atanh",signature:At(St),normalImpl:vk,codegenImpl:(e,[t])=>ce`atanh(${t})`,sideEffects:!1});function hk(e,t){return Tt(Math.atan2,[e,t])}var tt=pe({name:"atan2",signature:At(St),normalImpl:hk,codegenImpl:(e,[t,s])=>ce`atan2(${t}, ${s})`,sideEffects:!1});function xk(e){return Tt(Math.ceil,[e])}var cc=pe({name:"ceil",signature:At(St),normalImpl:xk,codegenImpl:(e,[t])=>ce`ceil(${t})`,sideEffects:!1});function gk(e,t,s){return Tt(N2,[e,t,s])}var $=pe({name:"clamp",signature:Av,normalImpl:gk,codegenImpl:(e,[t,s,r])=>ce`clamp(${t}, ${s}, ${r})`,sideEffects:!1});function bk(e){return Tt(Math.cos,[e])}var H=pe({name:"cos",signature:At(St),normalImpl:bk,codegenImpl:(e,[t])=>ce`cos(${t})`,sideEffects:!1});function wk(e){return Tt(Math.cosh,[e])}var Tk=pe({name:"cosh",signature:At(St),normalImpl:wk,codegenImpl:(e,[t])=>ce`cosh(${t})`,sideEffects:!1}),Sk=pe({name:"countLeadingZeros",signature:At(Un),normalImpl:"CPU implementation for countLeadingZeros not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`countLeadingZeros(${t})`,sideEffects:!1});pe({name:"countOneBits",signature:At(Un),normalImpl:"CPU implementation for countOneBits not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`countOneBits(${t})`,sideEffects:!1});pe({name:"countTrailingZeros",signature:At(Un),normalImpl:"CPU implementation for countTrailingZeros not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`countTrailingZeros(${t})`,sideEffects:!1});var a8=pe({name:"cross",signature:At([It,Pr]),normalImpl:(e,t)=>qr.cross[e.kind](e,t),codegenImpl:(e,[t,s])=>ce`cross(${t}, ${s})`,sideEffects:!1});function Ak(e){if(typeof e=="number")return e*180/Math.PI;throw new Ys("CPU implementation for degrees on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}pe({name:"degrees",signature:At(St),normalImpl:Ak,codegenImpl:(e,[t])=>ce`degrees(${t})`,sideEffects:!1});pe({name:"determinant",signature:e=>{if(!(e.type==="mat2x2f"||e.type==="mat3x3f"||e.type==="mat4x4f"))throw new Ts([e],[Gn,Yn,Hs]);return{argTypes:[e],returnType:a}},normalImpl:"CPU implementation for determinant not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`determinant(${t})`,sideEffects:!1});function Mk(e,t){return typeof e=="number"&&typeof t=="number"?Math.abs(e-t):j(ht(e,t))}pe({name:"distance",signature:(...e)=>{let t=fr(e,St);if(!t)throw new Ts(e,St);return{argTypes:t,returnType:Lf(t[0])?xs:a}},normalImpl:Mk,codegenImpl:(e,[t,s])=>ce`distance(${t}, ${s})`,sideEffects:!1});var se=pe({name:"dot",signature:(...e)=>({argTypes:e,returnType:e[0].primitive}),normalImpl:(e,t)=>qr.dot[e.kind](e,t),codegenImpl:(e,[t,s])=>ce`dot(${t}, ${s})`,sideEffects:!1});pe({name:"dot4U8Packed",signature:{argTypes:[R,R],returnType:R},normalImpl:"CPU implementation for dot4U8Packed not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s])=>ce`dot4U8Packed(${t}, ${s})`,sideEffects:!1});pe({name:"dot4I8Packed",signature:{argTypes:[R,R],returnType:Z},normalImpl:"CPU implementation for dot4I8Packed not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s])=>ce`dot4I8Packed(${t}, ${s})`,sideEffects:!1});function Pk(e){return Tt(Math.exp,[e])}var ct=pe({name:"exp",signature:At(St),normalImpl:Pk,codegenImpl:(e,[t])=>ce`exp(${t})`,sideEffects:!1});function Ek(e){return Tt(t=>2**t,[e])}var $l=pe({name:"exp2",signature:At(St),normalImpl:Ek,codegenImpl:(e,[t])=>ce`exp2(${t})`,sideEffects:!1}),i8=pe({name:"extractBits",signature:(e,t,s)=>{let r=fr([e],Un)?.[0];if(!r)throw new Ts([e],Un);return{argTypes:[r,R,R],returnType:r}},normalImpl:"CPU implementation for extractBits not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s,r])=>ce`extractBits(${t}, ${s}, ${r})`,sideEffects:!1});pe({name:"faceForward",signature:At(bc),normalImpl:"CPU implementation for faceForward not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s,r])=>ce`faceForward(${t}, ${s}, ${r})`,sideEffects:!1});pe({name:"firstLeadingBit",signature:Sv,normalImpl:"CPU implementation for firstLeadingBit not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`firstLeadingBit(${t})`,sideEffects:!1});pe({name:"firstTrailingBit",signature:At(Un),normalImpl:"CPU implementation for firstTrailingBit not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`firstTrailingBit(${t})`,sideEffects:!1});function kk(e){return Tt(Math.floor,[e])}var q=pe({name:"floor",signature:At(St),normalImpl:kk,codegenImpl:(e,[t])=>ce`floor(${t})`,sideEffects:!1});function $k(e,t,s){if(typeof e=="number")return e*t+s;throw new Ys("CPU implementation for fma on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}pe({name:"fma",signature:At(St),normalImpl:$k,codegenImpl:(e,[t,s,r])=>ce`fma(${t}, ${s}, ${r})`,sideEffects:!1});function Uk(e){return Tt(t=>t-Math.floor(t),[e])}var ue=pe({name:"fract",signature:At(St),normalImpl:Uk,codegenImpl:(e,[t])=>ce`fract(${t})`,sideEffects:!1}),Ck={f32:Qs({fract:a,exp:Z}),f16:Qs({fract:xs,exp:Z}),abstractFloat:Qs({fract:qa,exp:Yc}),vec2f:Qs({fract:lt,exp:Xt}),vec3f:Qs({fract:It,exp:cs}),vec4f:Qs({fract:Oe,exp:Wt}),vec2h:Qs({fract:Vs,exp:Xt}),vec3h:Qs({fract:Pr,exp:cs}),vec4h:Qs({fract:Ns,exp:Wt})};pe({name:"frexp",normalImpl:"CPU implementation for frexp not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",signature:e=>{let t=Ck[e.type];if(!t)throw new Ts([e],St);return{argTypes:[e],returnType:t}},codegenImpl:(e,[t])=>ce`frexp(${t})`,sideEffects:!1});pe({name:"insertBits",signature:(e,t,s,r)=>{let o=fr([e,t],Un);if(!o)throw new Ts([e,t],Un);return{argTypes:[...o,R,R],returnType:o[0]}},normalImpl:"CPU implementation for insertBits not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s,r,o])=>ce`insertBits(${t}, ${s}, ${r}, ${o})`,sideEffects:!1});function Rk(e){if(typeof e=="number")return 1/Math.sqrt(e);throw new Ys("CPU implementation for inverseSqrt on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}pe({name:"inverseSqrt",signature:At(St),normalImpl:Rk,codegenImpl:(e,[t])=>ce`inverseSqrt(${t})`,sideEffects:!1});pe({name:"ldexp",signature:(e,t)=>{switch(e.type){case"abstractFloat":return{argTypes:[e,Yc],returnType:e};case"f32":case"f16":return{argTypes:[e,Z],returnType:e};case"vec2f":case"vec2h":return{argTypes:[e,Xt],returnType:e};case"vec3f":case"vec3h":return{argTypes:[e,cs],returnType:e};case"vec4f":case"vec4h":return{argTypes:[e,Wt],returnType:e};default:throw new Error(`Unsupported data type for ldexp: ${e.type}. Supported types are abstractFloat, f32, f16, vec2f, vec2h, vec3f, vec3h, vec4f, vec4h.`)}},normalImpl:"CPU implementation for ldexp not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s])=>ce`ldexp(${t}, ${s})`,sideEffects:!1});function zk(e){return typeof e=="number"?Math.abs(e):qr.length[e.kind](e)}var j=pe({name:"length",signature:e=>{let t=fr([e],St);if(!t)throw new Ts([e],St);return{argTypes:t,returnType:Lf(t[0])?xs:a}},normalImpl:zk,codegenImpl:(e,[t])=>ce`length(${t})`,sideEffects:!1});function Gk(e){return Tt(Math.log,[e])}var Yk=pe({name:"log",signature:At(St),normalImpl:Gk,codegenImpl:(e,[t])=>ce`log(${t})`,sideEffects:!1});function Lk(e){return Tt(Math.log2,[e])}var gp=pe({name:"log2",signature:At(St),normalImpl:Lk,codegenImpl:(e,[t])=>ce`log2(${t})`,sideEffects:!1});function Ik(e,t){return Tt(Math.max,[e,t])}var b=pe({name:"max",signature:Av,normalImpl:k5(Ik),codegenImpl:$5("max"),sideEffects:!1});function Dk(e,t){return Tt(Math.min,[e,t])}var oe=pe({name:"min",signature:Av,normalImpl:k5(Dk),codegenImpl:$5("min"),sideEffects:!1});function Fk(e,t,s){return Tt((r,o,n)=>r*(1-n)+o*n,[e,..._v([t,s])])}var X=pe({name:"mix",signature:(e,t,s)=>{if(e.type.startsWith("vec")&&!s.type.startsWith("vec")){let o=fr([s],[e.primitive]);if(!o)throw new Ts([s],[e.primitive]);return{argTypes:[e,t,o[0]],returnType:e}}let r=fr([e,t,s],St);if(!r)throw new Ts([e,t,s],St);return{argTypes:r,returnType:r[0]}},normalImpl:Fk,codegenImpl:(e,[t,s,r])=>ce`mix(${t}, ${s}, ${r})`,sideEffects:!1}),Bk={f32:Qs({fract:a,whole:a}),f16:Qs({fract:xs,whole:xs}),abstractFloat:Qs({fract:qa,whole:qa}),vec2f:Qs({fract:lt,whole:lt}),vec3f:Qs({fract:It,whole:It}),vec4f:Qs({fract:Oe,whole:Oe}),vec2h:Qs({fract:Vs,whole:Vs}),vec3h:Qs({fract:Pr,whole:Pr}),vec4h:Qs({fract:Ns,whole:Ns})};pe({name:"modf",signature:e=>{let t=Bk[e.type];if(!t)throw new Error(`Unsupported data type for modf: ${e.type}. Supported types are f32, f16, abstractFloat, vec2f, vec3f, vec4f, vec2h, vec3h, vec4h.`);return{argTypes:[e],returnType:t}},normalImpl:"CPU implementation for modf not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`modf(${t})`,sideEffects:!1});var as=pe({name:"normalize",signature:At(bc),normalImpl:e=>{let t=j(e);return Tt(s=>s/t,[e])},codegenImpl:(e,[t])=>ce`normalize(${t})`,sideEffects:!1});function Wk(e,t){return Tt((s,r)=>s**r,[e,t])}var Ce=pe({name:"pow",signature:At(St),normalImpl:Wk,codegenImpl:(e,[t,s])=>ce`pow(${t}, ${s})`,sideEffects:!1});pe({name:"quantizeToF16",signature:e=>{let t=[lt,It,Oe,a],s=fr([e],t)?.[0];if(!s)throw new Ts([e],t);return{argTypes:[s],returnType:s}},normalImpl:"CPU implementation for quantizeToF16 not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`quantizeToF16(${t})`,sideEffects:!1});function Ok(e){if(typeof e=="number")return e*Math.PI/180;throw new Ys("CPU implementation for radians on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}var zx=pe({name:"radians",signature:At(St),normalImpl:Ok,codegenImpl:(e,[t])=>ce`radians(${t})`,sideEffects:!1});pe({name:"reflect",signature:(...e)=>{let t=fr(e,bc);if(!t)throw new Ts(e,bc);return{argTypes:t,returnType:t[0]}},normalImpl:(e,t)=>ht(e,vr(2*se(t,e),t)),codegenImpl:(e,[t,s])=>ce`reflect(${t}, ${s})`,sideEffects:!1});pe({name:"refract",normalImpl:"CPU implementation for refract not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s,r])=>ce`refract(${t}, ${s}, ${r})`,signature:(e,t,s)=>({argTypes:[e,t,Lf(e)?xs:a],returnType:e}),sideEffects:!1});pe({name:"reverseBits",signature:At(Un),normalImpl:"CPU implementation for reverseBits not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`reverseBits(${t})`,sideEffects:!1});function Vk(e){if(typeof e=="number"){let t=Math.floor(e);return e===t+.5?t%2===0?t:t+1:Math.round(e)}throw new Ys("CPU implementation for round on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}var sa=pe({name:"round",signature:At(St),normalImpl:Vk,codegenImpl:(e,[t])=>ce`round(${t})`,sideEffects:!1});function Nk(e){if(typeof e=="number")return Math.max(0,Math.min(1,e));throw new Ys("CPU implementation for saturate on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}pe({name:"saturate",signature:At(St),normalImpl:Nk,codegenImpl:(e,[t])=>e.gen.emitCall("saturate",[],[t]),sideEffects:!1});function qk(e){return Tt(Math.sign,[e])}var ks=pe({name:"sign",signature:e=>{let t=[...St,Z,Xt,cs,Wt],s=fr([e],t)?.[0];if(!s)throw new Ts([e],t);return{argTypes:[s],returnType:s}},normalImpl:qk,codegenImpl:(e,[t])=>ce`sign(${t})`,sideEffects:!1});function Xk(e){return Tt(Math.sin,[e])}var Y=pe({name:"sin",signature:At(St),normalImpl:Xk,codegenImpl:(e,[t])=>ce`sin(${t})`,sideEffects:!1});function Hk(e){return Tt(Math.sinh,[e])}var jk=pe({name:"sinh",signature:At(St),normalImpl:Hk,codegenImpl:(e,[t])=>ce`sinh(${t})`,sideEffects:!1});function Kk(e,t,s){return Tt(OM,[e,t,s])}var re=pe({name:"smoothstep",signature:At(St),normalImpl:Kk,codegenImpl:(e,[t,s,r])=>ce`smoothstep(${t}, ${s}, ${r})`,sideEffects:!1});function Zk(e){return Tt(Math.sqrt,[e])}var be=pe({name:"sqrt",signature:At(St),normalImpl:Zk,codegenImpl:(e,[t])=>ce`sqrt(${t})`,sideEffects:!1});function Qk(e,t){if(typeof e=="number")return e<=t?1:0;throw new Ys("CPU implementation for step on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}var De=pe({name:"step",signature:At(St),normalImpl:Qk,codegenImpl:(e,[t,s])=>ce`step(${t}, ${s})`,sideEffects:!1});function Jk(e){if(typeof e=="number")return Math.tan(e);throw new Ys("CPU implementation for tan on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}var bp=pe({name:"tan",signature:At(St),normalImpl:Jk,codegenImpl:(e,[t])=>ce`tan(${t})`,sideEffects:!1});function e$(e){return Tt(Math.tanh,[e])}var t$=pe({name:"tanh",signature:At(St),normalImpl:e$,codegenImpl:(e,[t])=>ce`tanh(${t})`,sideEffects:!1});function s$(e){let t=Ru(e)(),s=e.columns,r=t.columns;if(s.length===2)r[0][0]=s[0][0],r[0][1]=s[1][0],r[1][0]=s[0][1],r[1][1]=s[1][1];else if(s.length===3){r[0][0]=s[0][0],r[0][1]=s[1][0],r[0][2]=s[2][0],r[1][0]=s[0][1],r[1][1]=s[1][1],r[1][2]=s[2][1];let o=r[2];o[0]=s[0][2],o[1]=s[1][2],o[2]=s[2][2]}else if(s.length===4){r[0][0]=s[0][0],r[0][1]=s[1][0],r[0][2]=s[2][0],r[0][3]=s[3][0],r[1][0]=s[0][1],r[1][1]=s[1][1],r[1][2]=s[2][1],r[1][3]=s[3][1];let o=r[2];o[0]=s[0][2],o[1]=s[1][2],o[2]=s[2][2],o[3]=s[3][2];let n=r[3];n[0]=s[0][3],n[1]=s[1][3],n[2]=s[2][3],n[3]=s[3][3]}else xc(s,"std/numeric.ts#cpuTranspose");return t}pe({name:"transpose",signature:Sv,normalImpl:s$,codegenImpl:(e,[t])=>ce`transpose(${t})`,sideEffects:!1});var r$=pe({name:"trunc",signature:At(St),normalImpl:"CPU implementation for trunc not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`trunc(${t})`,sideEffects:!1});function o$(e,t){if(typeof e!="number"||typeof t!="number")throw new Error("std.intdiv called with invalid arguments.");return Math.trunc(Math.trunc(e)/Math.trunc(t))}pe({name:"intdiv",signature:(e,t)=>{let s=fr([e,t],[R,Z]);if(!s)throw new Ts([e,t],[R,Z,Yc]);return{argTypes:s,returnType:s[0]}},normalImpl:o$,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"/",s),sideEffects:!1});function Ul(e){return lr(e)||Do(e)?Ru(e)(e):Array.isArray(e)?e.map(Ul):typeof e=="object"&&e!==null?Object.fromEntries(Object.entries(e).map(([t,s])=>[t,Ul(s)])):e}pe({name:"copy",signature:e=>({argTypes:[e],returnType:e}),normalImpl:Ul,codegenImpl(e,[t]){return ce`${t}`},sideEffects:!1});function md(e){return e.type.includes("2")?Or:e.type.includes("3")?Vr:Nr}var n$=pe({name:"allEq",signature:(...e)=>({argTypes:e,returnType:ft}),normalImpl:(e,t)=>Pv(Wc(e,t)),codegenImpl:(e,[t,s])=>ce`all(${t} == ${s})`,sideEffects:!1}),Wc=(e,t)=>Du((s,r)=>s===r,[e,t]),a$=pe({name:"eq",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:Wc,codegenImpl:(e,[t,s])=>ce`(${t} == ${s})`,sideEffects:!1}),i$=pe({name:"ne",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:(e,t)=>Js(Wc(e,t)),codegenImpl:(e,[t,s])=>ce`(${t} != ${s})`,sideEffects:!1}),ju=(e,t)=>Du((s,r)=>s({argTypes:e,returnType:md(e[0])}),normalImpl:ju,codegenImpl:(e,[t,s])=>ce`(${t} < ${s})`,sideEffects:!1}),wc=pe({name:"le",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:(e,t)=>Mv(ju(e,t),Wc(e,t)),codegenImpl:(e,[t,s])=>ce`(${t} <= ${s})`,sideEffects:!1}),c$=pe({name:"gt",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:(e,t)=>U5(Js(ju(e,t)),Js(Wc(e,t))),codegenImpl:(e,[t,s])=>ce`(${t} > ${s})`,sideEffects:!1}),wp=pe({name:"ge",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:(e,t)=>Js(ju(e,t)),codegenImpl:(e,[t,s])=>ce`(${t} >= ${s})`,sideEffects:!1});function Js(e){if(typeof e=="boolean")return!e;if(!IA(e))throw new Error("'std.not' requires a boolean or boolean vector.");switch(e.length){case 2:return Or(Js(e.x),Js(e.y));case 3:return Vr(Js(e.x),Js(e.y),Js(e.z));case 4:return Nr(Js(e.x),Js(e.y),Js(e.z),Js(e.w))}}var _$=pe({name:"not",signature:e=>{if(!Kn(e)&&!Yf(e))throw new Ts([e],[ft,Or,Vr,Nr]);return{argTypes:[e],returnType:e}},normalImpl:Js,codegenImpl:(e,[t])=>ce`!(${t})`,sideEffects:!1}),Mv=(e,t)=>Du((s,r)=>s||r,[e,t]);pe({name:"or",signature:(...e)=>({argTypes:e,returnType:e[0]}),normalImpl:Mv,codegenImpl:(e,[t,s])=>ce`(${t} | ${s})`,sideEffects:!1});var U5=(e,t)=>Js(Mv(Js(e),Js(t)));pe({name:"and",signature:(...e)=>({argTypes:e,returnType:e[0]}),normalImpl:U5,codegenImpl:(e,[t,s])=>ce`(${t} & ${s})`,sideEffects:!1});var Pv=e=>qr.all[e.kind](e),l$=pe({name:"all",signature:(...e)=>({argTypes:e,returnType:ft}),normalImpl:Pv,codegenImpl:(e,[t])=>ce`all(${t})`,sideEffects:!1});pe({name:"any",signature:(...e)=>({argTypes:e,returnType:ft}),normalImpl:e=>!Pv(Js(e)),codegenImpl:(e,[t])=>ce`any(${t})`,sideEffects:!1});pe({name:"isCloseTo",signature:(...e)=>({argTypes:e,returnType:ft}),normalImpl:(e,t,s=.01)=>{let r=Du((o,n)=>Math.abs(o-n)Qd(t)&&Qd(s)?ce`(abs(f32(${t}) - f32(${s})) <= ${r})`:!Qd(t)&&!Qd(s)?ce`all(abs(${t} - ${s}) <= (${t} - ${t}) + ${r})`:"false",sideEffects:!1});function u$(e,t,s){return typeof s=="boolean"?Ul(s?t:e):Tt((r,o,n)=>n?o:r,[e,t,s])}var ll=[a,xs,Z,R,ft,lt,It,Oe,Vs,Pr,Ns,Xt,cs,Wt,Ct,gt,Et,Or,Vr,Nr],C=pe({name:"select",signature:(e,t,s)=>{let[r,o]=fr([e,t],ll)??[e,t];return{argTypes:[r,o,s],returnType:r}},normalImpl:u$,codegenImpl:(e,[t,s,r])=>{let o=e.gen.emitCall("select",[],[t,s,r]);if(!ll.includes(t.dataType)||!ll.includes(s.dataType))throw new Error(`'${o}' is invalid, std.select requires both branches to be either scalars or vectors.`);if(t.dataType!==s.dataType){let n=e.resolve(t.dataType),i=e.resolve(s.dataType);throw new Error(`'${o}' is invalid, std.select requires both branches to be the same type, got [${n.value}, ${i.value}].`)}return o},sideEffects:!1});function Ku(e){return typeof e?.format=="string"}function m$(e,t){let s=[];if(Rc(e)){if(!Ku(t))throw new Error("Shader expected a single attribute, not a record of attributes to be passed in.");return s.push(t._layout),{usedVertexLayouts:s,bufferDefinitions:[{arrayStride:t._layout.stride,stepMode:t._layout.stepMode,attributes:[{format:t.format,offset:t.offset,shaderLocation:na(e)??0}]}]}}let r=[],o=new WeakMap,n=0;for(let[i,d]of Object.entries(e)){if(nn(d))continue;let c=t[i];if(!c)throw new Error(`An attribute by the name of '${i}' was not provided to the shader.`);let _=c._layout,u=o.get(_);u||(s.push(_),u=[],r.push({arrayStride:_.stride,stepMode:_.stepMode,attributes:u}),o.set(_,u)),n=na(d)??n,u.push({format:c.format,offset:c.offset,shaderLocation:n++})}return{usedVertexLayouts:s,bufferDefinitions:r}}var p$=["bool","f32","f16","i32","u32","vec2f","vec3f","vec4f","vec2h","vec3h","vec4h","vec2i","vec3i","vec4i","vec2u","vec3u","vec4u","vec2","vec3","vec4","mat2x2f","mat3x3f","mat4x4f","texture_external"];function f$(e){return p$.includes(e.type)}function Tp(e,[t,s]){return` ${gc(s)}${t}: ${e.resolve(s).value}, +`}function v$(e,t){if(t[B].isAbstruct)throw new Error("Cannot resolve abstract struct types to WGSL.");let s=e.makeUniqueIdentifier(xe(t),"global");return e.addDeclaration(`struct ${s} { +${Object.entries(t.propTypes).map(r=>Tp(e,r)).join("")}}`,s),s}function y$(e,t){let s=e.makeUniqueIdentifier(xe(t),"global");return e.addDeclaration(`struct ${s} { +${Object.entries(t.propTypes).map(r=>Ku(r[1])?Tp(e,[r[0],$n[r[1].format]]):Tp(e,r)).join("")} +}`,s),s}function h$(e,t){let s=e.resolve(t.elementType).value;return t.elementCount===0?`array<${s}>`:`array<${s}, ${t.elementCount}>`}function x$(e,t){let s=e.resolve(Ku(t.elementType)?$n[t.elementType.format]:t.elementType).value;return t.elementCount===0?`array<${s}>`:`array<${s}, ${t.elementCount}>`}function C5(e,t){if(zu(t))return t.type==="unstruct"?y$(e,t):t.type==="disarray"?x$(e,t):t.type==="loose-decorated"?e.resolve(Ku(t.inner)?$n[t.inner.format]:t.inner).value:e.resolve($n[t.type]).value;if(f$(t))return t.type;if(t.type==="struct")return v$(e,t);if(t.type==="array")return h$(e,t);if(t.type==="atomic")return`atomic<${C5(e,t.inner)}>`;if(t.type==="decorated")return e.resolve(t.inner).value;if(t.type==="ptr")return t.addressSpace==="storage"?`ptr`:`ptr<${t.addressSpace}, ${e.resolve(t.inner).value}>`;if(t.type==="abstractInt"||t.type==="abstractFloat"||t.type==="void"||t.type==="u16")throw new Error(`${t.type} has no representation in WGSL`);if(dl(t))return`${t.type}<${t.format}, ${Fc[t.access]}>`;if(r5(t))return t.type.startsWith("texture_depth")?t.type:`${t.type}<${t.sampleType.type}>`;if(EP(t)||PP(t))return t.type;xc(t,"resolveData")}var R5=class{[B]=!0;snippet;constructor(e){this.snippet=e}[kt](e){return e.resolveSnippet(this.snippet)}},z5=(()=>{function e(s){return s}let t=e;return ot(t,"unroll"),t.toString=()=>"unroll",t[B]=!0,t[zs]={call(s,[r]){return x2(new R5(r),r)}},t})(),Gx=new Map([[Math.abs,z],[Math.acos,dk],[Math.acosh,_k],[Math.asin,xp],[Math.asinh,mk],[Math.atan,fk],[Math.atan2,tt],[Math.atanh,yk],[Math.ceil,cc],[Math.cos,H],[Math.cosh,Tk],[Math.exp,ct],[Math.floor,q],[Math.fround,a],[Math.clz32,Sk],[Math.trunc,r$],[Math.log,Yk],[Math.log2,gp],[Math.pow,Ce],[Math.sign,ks],[Math.sin,Y],[Math.sinh,jk],[Math.sqrt,be],[Math.tan,bp],[Math.tanh,t$],[Math.max,b],[Math.min,oe]]),g$=()=>[console.log,console.debug,console.info,console.warn,console.error,console.clear],Yx=e=>pr(e)&&Us(e.inner)?e.inner.elementCount:0,b$=pe({name:"arrayLength",signature:e=>{let t=pr(e)?e:S2(e);return{argTypes:[t],returnType:Yx(t)>0?Yc:R}},normalImpl:e=>M2(e)?e.$.length:e.length,codegenImpl(e,[t]){let s=Yx(t.dataType);return s>0?`${s}`:e.gen.emitCall("arrayLength",[],[t])},sideEffects:!1});Ao((e,t,s=1)=>{if(t===void 0&&(t=e,e=0),!Number.isInteger(e))throw new Error(`'start' must be an integer, got ${e}`);if(!Number.isInteger(t))throw new Error(`'end' must be an integer, got ${t}`);if(!Number.isInteger(s)||s===0)throw new Error(`'step' must be a non-zero integer, got ${s}`);let r=[];if(r.start=e,r.end=t,r.step=s,Math.sign(s)!==Math.sign(t-e))return r;if(s>0)for(let o=e;ot;o+=s)r.push(o);return r});function Sp(e){return Array.isArray(e)&&"start"in e&&"end"in e&&"step"in e}function w$(e){return e.origin==="constant-immutable-def"?"const":"let"}function Lx(e,t){let s=qu(e,t);if(!s)throw new Qe("`for ... of ...` loops only support array or vector iterables");return s}function T$(e,t){let s=e.dataType;if(s===Ut)throw new Qe(ce`The elements in iterable ${t} are of unknown type`);if(Io(e.dataType)||e.origin==="runtime"||e.origin==="constant"||e.origin==="constant-immutable-def"||e.origin==="runtime-immutable-def")return s;if(!pr(s)){let r=Bf(e.origin,no(s));ds(r!==void 0,`Creating pointer type from origin ${e.origin}`),s=r}return A2(s)}function S$(e,t,s=!1){let{value:r,dataType:o}=t;if(Sp(r)){let{start:i,end:d,step:c}=r,_=[i,d,c].every(u=>u>=0)?R:Z;return{start:ve(i,_,"constant",!1),end:ve(d,_,"constant",!1),step:ve(c,_,"constant",!1),comparison:c<0?">":"<"}}if(!s&&!en(t))throw new Error("`for ... of ...` loops only support std.range or iterables stored in variables.\n-----\nYou can wrap iterable with `tgpu.unroll(...)`. If iterable is known at comptime, the loop will be unrolled.\n-----");let n={start:ve(0,R,"constant",!1),step:ve(1,R,"constant",!1),comparison:"<"};if(Us(o))return{...n,end:o.elementCount>0?ve(o.elementCount,R,"constant",!1):b$[zs].call(e,[t])};if(Rt(o))return{...n,end:ve(o.componentCount,R,"constant",!1)};if(s){if(Array.isArray(r))return{...n,end:ve(r.length,R,"constant",!1)};if(r instanceof ic)return{...n,end:ve(r.elements.length,R,"constant",!1)}}throw new Qe("`for ... of ...` loops only support array or vector iterables")}var{NodeTypeCatalog:dt}=E5;function jt(e){return Y5(e)?cr(e,""):gn(e,"")}function gn(e,t){if(Y5(e))return`${t}${cr(e,t)};`;if(e[0]===dt.block)return`{ +${e[1].map(s=>gn(s,t+" ")).join(` +`)} +${t}}`;if(e[0]===dt.return)return`${t}return${e[1]===void 0?"":` ${cr(e[1],"")}`};`;if(e[0]===dt.if){let s=`${t}if (${cr(e[1],t)}) ${gn(e[2],t)}`;return e[3]!==void 0?`${s} else ${gn(e[3],t)}`:s}if(e[0]===dt.let)return e[2]!==void 0?`${t}let ${e[1]} = ${cr(e[2],t)};`:`${t}let ${e[1]};`;if(e[0]===dt.const)return e[2]!==void 0?`${t}const ${e[1]} = ${cr(e[2],t)};`:`${t}const ${e[1]};`;if(e[0]===dt.for){let s=e[1]?gn(e[1],""):";",r=e[2]?cr(e[2],t):"",o=e[3]?gn(e[3],""):"",n=gn(e[4],t);return`${t}for (${s} ${r}; ${o.slice(0,-1)}) ${n}`}if(e[0]===dt.while)return`${t}while (${cr(e[1],t)}) ${gn(e[2],t)}`;if(e[0]===dt.continue)return`${t}continue;`;if(e[0]===dt.break)return`${t}break;`;if(e[0]===dt.forOf)return`${t}for (${e[1][0]===dt.const?"const":"let"} ${e[1][1]} of ${cr(e[2],t)}) ${gn(e[3],t)}`;G5(e)}function cr(e,t){if(typeof e=="string")return e;if(typeof e=="boolean")return`${e}`;if(e[0]===dt.numericLiteral)return e[1];if(e[0]===dt.stringLiteral)return JSON.stringify(e[1]);if(e[0]===dt.arrayExpr)return`[${e[1].map(s=>cr(s,t)).join(", ")}]`;if(e[0]===dt.binaryExpr)return`${ro(e[1],t)} ${e[2]} ${ro(e[3],t)}`;if(e[0]===dt.assignmentExpr)return`${cr(e[1],t)} ${e[2]} ${cr(e[3],t)}`;if(e[0]===dt.logicalExpr)return`${ro(e[1],t)} ${e[2]} ${ro(e[3],t)}`;if(e[0]===dt.unaryExpr){let s=e[1].length>1?" ":"";return`${e[1]}${s}${ro(e[2],t)}`}if(e[0]===dt.call)return`${ro(e[1],t)}(${e[2].map(s=>cr(s,t)).join(", ")})`;if(e[0]===dt.memberAccess)return Array.isArray(e[1])&&e[1][0]===dt.numericLiteral?`(${cr(e[1],t)}).${e[2]}`:`${ro(e[1],t)}.${e[2]}`;if(e[0]===dt.indexAccess)return`${ro(e[1],t)}[${cr(e[2],t)}]`;if(e[0]===dt.preUpdate)return`${e[1]}${ro(e[2],t)}`;if(e[0]===dt.postUpdate)return`${ro(e[2],t)}${e[1]}`;if(e[0]===dt.objectExpr)return`{ ${Object.entries(e[1]).map(([s,r])=>`${s}: ${cr(r,t)}`).join(", ")} }`;if(e[0]===dt.conditionalExpr)return`${ro(e[1],t)} ? ${ro(e[2],t)} : ${ro(e[3],t)}`;G5(e)}function G5(e){throw new Error(`'${JSON.stringify(e)}' was not handled by the stringify function.`)}function Y5(e){return typeof e=="string"||typeof e=="boolean"||e[0]===dt.numericLiteral||e[0]===dt.stringLiteral||e[0]===dt.arrayExpr||e[0]===dt.binaryExpr||e[0]===dt.assignmentExpr||e[0]===dt.logicalExpr||e[0]===dt.unaryExpr||e[0]===dt.call||e[0]===dt.memberAccess||e[0]===dt.indexAccess||e[0]===dt.preUpdate||e[0]===dt.postUpdate||e[0]===dt.objectExpr||e[0]===dt.conditionalExpr}var A$=[dt.memberAccess,dt.indexAccess,dt.call,dt.arrayExpr,dt.stringLiteral,dt.numericLiteral];function ro(e,t){let s=cr(e,t);return typeof e=="string"||typeof e=="boolean"||A$.includes(e[0])?s:`(${s})`}var{NodeTypeCatalog:Pt}=E5,M$=["==","!=","===","!==","<","<=",">",">=","<<",">>",">>>","+","-","*","/","%","|","^","&"],P$=["&&","||","==","!=","===","!==","<","<=",">",">="],E$={"===":a$.toString(),"!==":i$.toString(),"<":d$.toString(),"<=":wc.toString(),">":c$.toString(),">=":wp.toString()},k$=["<<",">>","<<=",">>=",">>>",">>>="],$$={"===":"==","!==":"!=",">>>":">>",get in(){throw new Error("The `in` operator is unsupported in TypeGPU functions.")},get instanceof(){throw new Error("The `instanceof` operator is unsupported in TypeGPU functions.")},get"|>"(){throw new Error("The `|>` operator is unsupported in TypeGPU functions.")},get"??"(){throw new Error("The `??` operator is unsupported in TypeGPU functions.")},">>>=":">>=",get"**="(){throw new Error("The `**=` operator is unsupported in TypeGPU functions.")},get"??="(){throw new Error("The `??=` operator is unsupported in TypeGPU functions.")},get"&&="(){throw new Error("The `&&=` operator is unsupported in TypeGPU functions.")},get"||="(){throw new Error("The `||=` operator is unsupported in TypeGPU functions.")}};function Ix(e,t,s){return s?P$.includes(t)?ft:t==="="?s:e:t==="!"?ft:e}var U$={"-":px[zs].call.bind(px),void:()=>ve(void 0,_s,"constant",!1),"!":(e,[t])=>{if(t===void 0)throw new Error("The unary operator `!` expects 1 argument, but 0 were provided.");if(hs(t))return ve(!t.value,ft,"constant",!1);let s=e.resolveSnippet(t).value;if(!Kn(t.dataType))throw new Qe(`Unary operator ! requires boolean operand. Got ${String(t.dataType)}.${Yf(t.dataType)?` For component-wise negation, use 'std.${_$.toString()}'.`:""}`);return ve(`!(${s})`,ft,"runtime",t.possibleSideEffects)}},C$={"+":Pn[zs].call.bind(Pn),"-":ht[zs].call.bind(ht),"*":vr[zs].call.bind(vr),"/":mp[zs].call.bind(mp),"**":Ce[zs].call.bind(Ce)},Dx={private:"private",workgroup:"workgroup",uniform:"uniform",mutable:"storage, read_write",readonly:"storage, read"},um=2,R$=class L5{#e=void 0;#t=[];static#s=L5.prototype.languageKey="wgsl";initGenerator(t){if(this.#e!==void 0)throw new Error("Cannot initialize shader generators twice. Create one generator per resolution.");this.#e=t}get ctx(){if(!this.#e)throw new Error("WGSL Generator has not yet been initialized. Please call initialize(ctx) before using the generator.");return this.#e}_block([t,s],r,o){this.ctx.pushBlockScope();try{if(o){let _=Object.fromEntries(Object.entries(o).map(([u,m])=>[u,Wr(m)]));this.ctx.setBlockExternals(_)}let n="",i=!1,d;this.ctx.indent();for(let _ of s){let u=this._statement(_);if(u.code.length>0&&(n+=`${u.code} +`),i||=u.definesInNearestScope??!1,u.endsWithControlFlow!==void 0){d=u.endsWithControlFlow;break}}this.ctx.dedent();let c=r&&!i;return this.ctx.blockDepth===um&&(n=n.replace(/[ ]*return\s*;\s*$/u,"")),n===""?{code:"",endsWithControlFlow:d,definesInNearestScope:!1}:c?{code:this.ctx.getDedented(n.trim()),endsWithControlFlow:d,definesInNearestScope:i}:{code:`{ +${n}${this.ctx.pre}}`,endsWithControlFlow:d,definesInNearestScope:!1}}finally{this.ctx.popBlockScope()}}_blockStatement(t,s){let{code:r,...o}=this._block(t,!0,s);return r===""?{...o,code:""}:{...o,code:`${this.ctx.pre}${r}`}}refVariable(t,s){let r=this.ctx.makeUniqueIdentifier(t,"block"),o=S2(s),n=ve(new wn(ve(r,s,"function",!1),o),o,"function",!1);return this.ctx.defineVariable(t,n),r}_emitVarDecl(t,s,r,o){return`${this.ctx.pre}${t} ${s} = ${o};`}_identifier(t){if(!t)throw new Error("Cannot resolve an empty identifier");if(t==="undefined")return ve(void 0,_s,"constant",!1);let s=this.ctx.getById(t);if(!s)throw new Error(`Identifier ${t} not found`);return s}_callShellless(t,s){let r=yp(t),o=r?t[Mr]?.pairs??[]:[],n=r?t[B].inner:t;return this.ctx.withRenamed(n,xe(t),()=>this.ctx.withSlots(o,()=>{let i=this.ctx.shelllessRepo.get(n,s);if(!i)return;let d=s.map((c,_)=>{let u=i.argTypes[_];return Fr(this.ctx,c,u,!1)});return this.ctx.withResetIndentLevel(()=>{let c=this.ctx.resolve(i);return ve(ce`${c.value}(${d})`,c.dataType,"runtime")})}))}_typedExpression(t,s){let r=this.ctx.expectedType;this.ctx.expectedType=s;try{let o=this._expression(t);return s instanceof Wo?o:Fr(this.ctx,o,s)}finally{this.ctx.expectedType=r}}_expression(t){if(typeof t=="string")return this._identifier(t);if(typeof t=="boolean")return ve(t,ft,"constant",!1);if(t[0]===Pt.logicalExpr){let[s,r,o,n]=t,i=this._expression(r);if(hs(i)){let u=Kn(this.ctx.expectedType);if(!(o==="&&"?i.value:!i.value))return u?ve(o==="||",ft,"constant",!1):Wr(i.value);let m=this._expression(n);if(hs(m)){let p=Wr(m.value);return u?Fr(this.ctx,p,ft,!1):p}if(m.dataType===Ut)throw new Qe(`Right-hand side of '${o}' is of unknown type`);return u?Fr(this.ctx,m,ft,!1):m}let d=this._expression(n);if(i.dataType===Ut)throw new Qe(`Left-hand side of '${o}' is of unknown type`);if(!hs(d)&&d.dataType===Ut)throw new Qe(`Right-hand side of '${o}' is of unknown type`);if(!Kn(i.dataType)||!Kn(d.dataType))throw new Qe(`Logical expression '${o}' requires boolean operands. Got '${String(i.dataType)}' and '${String(d.dataType)}'.`);let c=this.ctx.resolveSnippet(i).value,_=this.ctx.resolveSnippet(d).value;return ve(`(${c} ${o} ${_})`,ft,"runtime",i.possibleSideEffects||d.possibleSideEffects)}if(t[0]===Pt.binaryExpr||t[0]===Pt.assignmentExpr){let[s,r,o,n]=t,i=this._expression(r),d=this._expression(n);if(d.value instanceof wn)throw new Qe(ce`Cannot assign a ref to an existing variable '${jt(r)}', define a new variable instead.`);if(o==="==")throw new Error("Please use the === operator instead of ==");if(o==="!=")throw new Error("Please use the !== operator instead of !=");let c=E$[o];if(c&&hs(i)&&hs(d)){let y=i.value,h=d.value;switch(o){case"===":return ve(y===h,ft,"constant",!1);case"!==":return ve(y!==h,ft,"constant",!1)}if(typeof y!="number"||typeof h!="number")throw new Qe(`Comparison '${o}' requires numeric operands.${Rt(i.dataType)&&Rt(d.dataType)?` For component-wise comparison, use 'std.${c}'.`:""}`);switch(o){case"<":return ve(y":return ve(y>h,ft,"constant",!1);case">=":return ve(y>=h,ft,"constant",!1)}}if(i.dataType===Ut)throw new Qe(`Left-hand side of '${o}' is of unknown type`);if(d.dataType===Ut)throw new Qe(`Right-hand side of '${o}' is of unknown type`);let _=C$[o];if(_)return _(this.ctx,[i,d]);let u,m;if(k$.includes(o)){let y=i.dataType;if(!Qb(y)&&!OA(y))throw new Qe(`Expression: ${jt(t)} +Left-hand side of '${o}' must be an integer or vector of integers. +Got ${this.ctx.resolve(y).value}.`);let h=Rt(y)?y.primitive:y;if([">>>",">>>="].includes(o)&&h.type!=="u32")throw new Qe(`Expression: ${jt(t)} +Left-hand side of '${o}' must be an unsigned integer or vector of unsigned integers. +Got ${this.ctx.resolve(y).value}. +Use ${o.slice(1)} instead.`);[">>",">>="].includes(o)&&h.type==="u32"&&Vt.warn("deprecated",` +Expression: ${jt(t)} +Using u32 or vecN as left-hand side of ${o} is deprecated. +Use >${o} instead.`);let g;if(Rt(y)){let w=y.componentCount;g=w===2?Ct:w===3?gt:Et}else g=R;m=Fr(this.ctx,d,g,!1),u=i}else{let y=s===Pt.assignmentExpr?[i.dataType]:void 0;[u,m]=Qn(this.ctx,[i,d],y)??[i,d]}let p=Ix(u.dataType,o,m.dataType);if(s===Pt.assignmentExpr&&(Fx(u,t),this.tryMarkModified(r),o==="="&&en(d)&&!Io(d.dataType)))throw new Qe(`'${jt(t)}' is invalid, because references cannot be assigned. +----- +Try '${jt(r)} = ${this.ctx.resolve(Ca(d.dataType)).value}(${jt(n)})' to copy the value instead. +-----`);if(c){let y=["===","!=="].includes(o);if(!(np(u.dataType)&&np(m.dataType)||y&&Kn(u.dataType)&&Kn(m.dataType))){let h=Rt(u.dataType)&&Rt(m.dataType);throw new Qe(`Comparison '${o}' requires numeric${y?" or boolean":""} operands. Got '${String(u.dataType)}' and '${String(m.dataType)}'.${h?` For component-wise comparison, use 'std.${c}'.`:""}`)}}return ve(this.emitBinaryOp(u,$$[o]??o,m),p,"runtime",s===Pt.assignmentExpr||i.possibleSideEffects||d.possibleSideEffects)}if(t[0]===Pt.postUpdate)throw new Error(`'${jt(t)}' is invalid because update is only allowed as a statement.`);if(t[0]===Pt.unaryExpr){let[s,r,o]=t,n=this._expression(o),i=U$[r];if(i)return i(this.ctx,[n]);let d=this.ctx.resolveSnippet(n).value,c=Ix(n.dataType,r);return ve(`${r}${d}`,c,"runtime",n.possibleSideEffects)}if(t[0]===Pt.memberAccess){let[s,r,o]=t,n=Bi(this._expression(r),o);if(!n)throw new Error(`Property '${o}' not found on '${jt(r)}'`);return n}if(t[0]===Pt.indexAccess){let[s,r,o]=t,n=this._expression(r),i=this._expression(o),d=qu(n,Qn(this.ctx,[i],[R,Z],!1)?.[0]??i);if(!d)throw new Error(`Index access '${jt(t)}' is invalid. If the value is an array, to address this, consider one of the following approaches: (1) declare the array using 'tgpu.const', (2) store the array in a buffer, or (3) define the array within the GPU function scope.`);return d}if(t[0]===Pt.numericLiteral){let s=typeof t[1]=="string"?on(G$(t[1])):on(t[1]);return ds(s,`Expected ${jt(t)} to be valid numeric literal`),s}if(t[0]===Pt.call){let[s,r,o]=t,n=this._expression(r),i=Gx.has(n.value)?ve(Gx.get(n.value),Ut,"runtime",n.possibleSideEffects):n;if(g$().includes(i.value))return this.ctx.generateLog(i.value,o.map(_=>this._expression(_)));if(Qt(i.value)){if(o.length>1)throw new Qe("Struct schemas should always be called with at most 1 argument");if(!o[0])return ve(`${this.ctx.resolve(i.value).value}()`,i.value,"runtime",!1);let _=this._typedExpression(o[0],i.value);return ve(this.ctx.resolveSnippet(_).value,i.value,"runtime",_.possibleSideEffects)}if(Us(i.value)){if(o.length>1)throw new Qe("Array schemas should always be called with at most 1 argument");if(!o[0])return this.typeInstantiation(i.value,[]);let _=this._typedExpression(o[0],i.value);return _.value instanceof ic?this.typeInstantiation(i.value,_.value.elements):ve(this.ctx.resolveSnippet(_).value,i.value,"runtime",_.possibleSideEffects)}if(i.value===wv)throw new Error("Constants cannot be defined within TypeGPU function scope. To address this, move the constant definition outside the function scope.");if(sP(i.value)){if(!o[0])throw new Qe(`An infix operator '${xe(i.value.operator)}' was called without any arguments`);let _=Wr(i.value.lhs),u=this._expression(o[0]);return i.value.operator[zs].call(this.ctx,[_,u])}if((i.value===mM||i.value===z5)&&o[0]&&this.tryMarkModified(o[0]),Tl(i.value)){let _=i.value[zs],u=_.strictSignature,m;u?m=o.map((p,y)=>{let h=u.argTypes[y];if(!h)throw new Qe(`Call '${jt(t)}' is invalid since the function expected fewer arguments`);return this._typedExpression(p,h)}):m=o.map(p=>this._expression(p));try{return _.call(this.ctx,m)}catch(p){throw p instanceof Pi?p:new Pi(p,[{toString:()=>`fn:${xe(i.value)}`}])}}if(!mt(i.value)||yp(i.value)){let _=o.map(m=>this._expression(m)),u=this._callShellless(i.value,_);if(u)return u}let d=Object.getOwnPropertyNames(Math).find(_=>Math[_]===i.value);if(d)throw new Error(`Unsupported Math functionality 'Math.${d}()'. Use an std alternative, or implement the function manually.`);let c=Object.getOwnPropertyNames(console).find(_=>console[_]===i.value);throw c?new Error(`Unsupported console functionality 'console.${c}()'.`):new Error(`Function '${xe(i.value)??String(i.value)}' is not marked with the 'use gpu' directive and cannot be used in a shader`)}if(t[0]===Pt.objectExpr){let s=t[1],r=this.ctx.expectedType;if(r instanceof Wo){let o=Object.fromEntries(Object.entries(s).map(([d,c])=>{let _=r.accessProp(d),u;if(_)u=this._typedExpression(c,_.type);else{if(u=this._expression(c),u.dataType===Ut)throw new Qe(ce`Property ${d} in object literal has a value of unknown type: '${u}'`);_=r.provideProp(d,Ca(no(u.dataType)))}return[_.prop,u]})),n=r.completeStruct,i=ex(this.ctx,n,o);return ve(ce`${this.ctx.resolve(r).value}(${i})`,n,"runtime")}if(Qt(r)){let o=Object.fromEntries(Object.entries(r.propTypes).map(([i,d])=>{let c=s[i];if(c===void 0)throw new Qe(`Missing property ${i} in object literal for struct ${r}`);return[i,this._typedExpression(c,d)]})),n=ex(this.ctx,r,o);return ve(ce`${this.ctx.resolve(r).value}(${n})`,r,"runtime",n.some(i=>i.possibleSideEffects))}throw new Qe(`No target type could be inferred for object '${jt(t)}', please wrap the object in the corresponding schema.`)}if(t[0]===Pt.arrayExpr){let[s,r]=t,o=this.ctx.expectedType,n,i;if(Us(o)){if(n=o.elementType,i=r.map(_=>this._typedExpression(_,n)),i.length!==o.elementCount)throw new Qe(`Cannot create value of type '${o}' from an array of length: ${i.length}`)}else{let _=r.map(m=>this._expression(m));if(_.length===0)throw new Qe("Cannot infer the type of an empty array literal.");let u=Qn(this.ctx,_);if(!u)throw new Qe(`Values '${jt(t)}' cannot be automatically converted to a common type. Consider wrapping the array in an appropriate schema`);i=u,n=no(i[0]?.dataType)}let d=pt(n,i.length),c=i.every(_=>_.origin==="constant");return ve(new ic(d,i),d,c?"constant":"runtime",i.some(_=>_.possibleSideEffects))}if(t[0]===Pt.conditionalExpr){let[s,r,o,n]=t,i=this._expression(r);if(hs(i))return i.value?this._expression(o):this._expression(n);{let d=Fr(this.ctx,i,ft,!1),c=this._expression(o),_=this._expression(n),[u,m]=Qn(this.ctx,[c,_],ll)??[];if(!u||!m||c.possibleSideEffects||_.possibleSideEffects||en(c)&&!Io(c.dataType)||en(_)&&!Io(_.dataType))throw new Error(`Ternary operator '${jt(t)}' is invalid. For more complex branching, please use 'std.select' or if/else statements.`);return ve(ce`select(${m}, ${u}, ${d})`,u.dataType,"runtime",i.possibleSideEffects)}}if(t[0]===Pt.stringLiteral)return ve(t[1],Ut,"constant",!1);if(t[0]===Pt.preUpdate)throw new Error("Cannot use pre-updates in TypeGPU functions.");z$(t)}declareGlobalConst(t){let s=this.ctx.resolve(t.dataType).value,r=this.ctx.resolveSnippet(t.init).value;return this.ctx.addDeclaration(`const ${t.id}: ${s} = ${r};`,t.id),ve(t.id,t.dataType,"constant-immutable-def")}declareGlobalVar(t){let s="";return t.group!==void 0&&(s+=`@group(${t.group}) `),t.binding!==void 0&&(s+=`@binding(${t.binding}) `),t.scope in Dx?s+=`var<${Dx[t.scope]}> `:s+="var ",s+=`${t.id}: ${this.ctx.resolve(t.dataType).value}`,this.ctx.addDeclaration(t.init?`${s} = ${this.ctx.resolveSnippet(t.init).value};`:`${s};`,t.id),ve(t.id,t.dataType,t.scope)}functionDefinition(t){ds(this.ctx.blockDepth===um-1,`Expecting exactly ${um-1} block(s) before going into the first function block scope`);let s=this._block(t.body,!1),r=this.ctx.topFunctionScope;ds(r,"Expected function scope to be present");let o=Object.fromEntries([...r.placeholderForVariable.entries()].map(([_,u])=>[u,r.modifiedVariables.has(_)?"var":"let"]));if(Object.keys(o).length>0){let _=new RegExp(Object.keys(o).join("|"),"gi");s.code=s.code.replace(_,u=>o[u]??"#ERR")}let n=t.determineReturnType(),i=t.args.filter(_=>_.used||t.functionType==="normal").map(_=>`${gc(_.decoratedType)}${_.name}: ${this.ctx.resolve(_.decoratedType).value}`).join(", "),d=n.type!=="void"?`(${i}) -> ${gc(n)}${this.ctx.resolve(n).value} `:`(${i}) `,c="";if(t.functionType==="compute"){if(!t.workgroupSize)throw new Error("Compute shaders must have a workgroup size");c=`@compute @workgroup_size(${t.workgroupSize.join(", ")}) `}else t.functionType==="vertex"?c="@vertex ":t.functionType==="fragment"&&(c="@fragment ");return`${c}fn ${t.name}${d}${s.code||"{}"}`}emitTypeAnnotation(t){return C5(this.ctx,t)}typeInstantiation(t,s){return s.length===1&&s[0]?.dataType===t?ve(ce`${s[0]}`,t,rM(s[0].origin),s[0].possibleSideEffects):ve(ce`${this.ctx.resolve(t).value}(${s})`,t,"runtime",s.some(r=>r.possibleSideEffects))}numericLiteral(t,s){if(!Number.isFinite(t))throw new Error(`Value '${t}' (${s.type}) cannot be resolved due to WGSL's Finite Math Assumption (see: https://www.w3.org/TR/WGSL/#finite-math-assumption). This value might be a result of a comptime-evaluated operation.`);if(s.type==="abstractInt")return ve(`${t}`,s,"constant",!1);if(s.type==="u32")return ve(`${t}u`,s,"constant",!1);if(s.type==="i32")return ve(`${t}i`,s,"constant",!1);let r=t.toExponential(),o=s.type==="abstractFloat"&&Number.isInteger(t)?`${t}.`:`${t}`,n=r.lengththis.ctx.resolveSnippet(i).value).join(", "),n=r.map(i=>this.ctx.resolveSnippet(i).value).join(", ");return o.length>0?`${t}<${o}>(${n})`:`${t}(${n})`}emitBinaryOp(t,s,r){let o=this.ctx.resolveSnippet(t).value,n=this.ctx.resolveSnippet(r).value;return M$.includes(s)?`(${o} ${s} ${n})`:`${o} ${s} ${n}`}_return(t){let s=t[1];if(s!==void 0){let r=this.ctx.topFunctionReturnType,o=r?this._typedExpression(s,r):this._expression(s);if(o.value===void 0&&Cu(o.dataType))return this.ctx.reportReturnType(_s),`${this.ctx.pre}return;`;if(o.value instanceof wn)throw new Qe(`Cannot return '${jt(s)}' because it is a d.ref`);if(o.origin==="argument"&&!Io(o.dataType)&&this.ctx.topFunctionScope?.functionType==="normal")throw new Qe(`'${jt(t)}' is invalid, cannot return references to arguments. Copy the argument before returning it.`);if(!r&&en(o)&&!Io(o.dataType)&&o.origin!=="local-def"){let n=jt(s),i=this.ctx.resolve(Ca(o.dataType)).value;throw new Qe(`'return ${n};' is invalid, cannot return references. +----- +Try 'return ${i}(${n});' instead. +-----`)}return o=Fr(this.ctx,o,Ca(o.dataType),!1),ds(o.dataType!==Ut,"Return type should be known"),this.ctx.reportReturnType(o.dataType),ce`${this.ctx.pre}return ${o};`}return this.ctx.reportReturnType(_s),`${this.ctx.pre}return;`}_letStatement(t){let[s,r,o]=t;if(o===void 0)throw new Error(`'${jt(t)}' is invalid because all variables need initializers.`);let n=this._expression(o);if(n.value instanceof wn){let y=jt(o);throw new Qe(`'let ${r} = ${y}' is invalid, cannot initialize 'let' variables with d.ref() +----- +- Try 'const ${r} = ${y}'. +-----`)}let i=n.dataType;if(i===Ut){let y=jt(o);throw new Qe(`'let ${r} = ${y}' is invalid, cannot determine WGSL type of '${y}' +----- +- Try using or defining a schema that matches your desired value the most, and wrap the value with it: 'let ${r} = Schema(${y})' +-----`)}if(en(n)&&!Io(n.dataType)){let y=jt(o),h=this.ctx.resolve(Ca(n.dataType)).value;throw new Qe(`'let ${r} = ${y}' is invalid, because references cannot be assigned to 'let' variable declarations. +----- +- Try 'let ${r} = ${h}(${y})' if you need to reassign '${r}' later +- Try 'const ${r} = ${y}' if you won't reassign '${r}' later. +-----`)}let d=no(i),c=ve(this.ctx.makeUniqueIdentifier(r,"block"),d,"local-def",!1);this.ctx.defineVariable(r,c);let _=Fr(this.ctx,n,i,!1),u=this.ctx.resolveSnippet(_).value,m=this.ctx.topFunctionScope;ds(m,`Expected function scope to be present for ${r}`);let p=`#VAR_${m.placeholderForVariable.size}#`;return m.placeholderForVariable.set(c,p),{code:this._emitVarDecl(p,c.value,d,u),definesInNearestScope:!0}}_constStatement(t){let[s,r,o]=t;if(o===void 0)throw new Error(`'${jt(t)}' is invalid because all variables need initializers.`);let n=this._expression(o);if(n.value instanceof wn){if(n.dataType!==Ut)throw new Qe("Cannot store d.ref() in a variable if it references another value. Copy the value passed into d.ref() instead.");let g=n.value.snippet,w=this.refVariable(r,no(g.dataType));return{code:ce`${this.ctx.pre}var ${w} = ${Fr(this.ctx,g,g.dataType,!1)};`,definesInNearestScope:!0}}let i=Io(n.dataType),d="local-def",c="",_=n.dataType;if(_===Ut){let g=jt(o);throw new Qe(`'const ${r} = ${g}' is invalid, cannot determine WGSL type of '${g}' +----- +- Try using or defining a schema that matches your desired value the most, and wrap the value with it: 'const ${r} = Schema(${g})' +-----`)}if(n.origin==="argument")c="let",d=i?"local-def":"argument";else if(n.origin==="constant-immutable-def")c="const",d="constant-immutable-def";else if(n.origin==="runtime-immutable-def")c="let",d="runtime-immutable-def";else if(i)c=n.origin==="constant"?"const":"let",d="local-def";else if(!en(n))c="",d="local-def";else return this._aliasConstStatement(r,o,n);let u=no(_),m=ve(this.ctx.makeUniqueIdentifier(r,"block"),u,d,!1);this.ctx.defineVariable(r,m);let p=Fr(this.ctx,n,_,!1),y=this.ctx.resolveSnippet(p).value,h;if(c===""){let g=this.ctx.topFunctionScope;ds(g,`Expected function scope to be present for ${r}`),h=`#VAR_${g.placeholderForVariable.size}#`,g.placeholderForVariable.set(m,h)}else h=c;return{code:this._emitVarDecl(h,m.value,u,y),definesInNearestScope:!0}}_aliasConstStatement(t,s,r){let o=r.dataType;if(!pr(o)){let _=Bf(r.origin,no(o));ds(_!==void 0,`Creating pointer type from origin ${r.origin}`),o=_}o=A2(o),this.tryMarkModified(s);let n=no(o),i=ve(this.ctx.makeUniqueIdentifier(t,"block"),n,r.origin,!1);this.ctx.defineVariable(t,i);let d=Fr(this.ctx,r,o,!1),c=this.ctx.resolveSnippet(d).value;return{code:this._emitVarDecl("let",i.value,n,c),definesInNearestScope:!0}}_statement(t){if(typeof t=="string"){let o=this._identifier(t),n=o.value!==void 0&&o.value!==null?this.ctx.resolveSnippet(o).value:"";return{code:n?`${this.ctx.pre}${n};`:"",definesInNearestScope:!1}}if(typeof t=="boolean")return{code:`${this.ctx.pre}${t?"true":"false"};`,definesInNearestScope:!1};if(t[0]===Pt.return)return{code:this._return(t),endsWithControlFlow:"return",definesInNearestScope:!1};if(t[0]===Pt.if){let[o,n,i,d]=t,c=this._typedExpression(n,ft);if(typeof c.value=="boolean"){let m=c.value?i:d;return m===void 0?{code:"",definesInNearestScope:!1}:(Array.isArray(m)||(m=ka(m)),m[0]===Pt.block&&m[1].length===1&&m[1][0][0]===Pt.if?this._statement(m[1][0]):m[0]===Pt.if?this._statement(m):this._blockStatement(ka(m)))}let _=this._block(ka(i),!1),u=d?this._block(ka(d),!1).code:void 0;return u?{code:ce`\ +${this.ctx.pre}if (${c}) ${_.code||"{}"} +${this.ctx.pre}else ${u}`,definesInNearestScope:!1}:{code:ce`${this.ctx.pre}if (${c}) ${_.code||"{}"}`,definesInNearestScope:!1}}if(t[0]===Pt.let)return this._letStatement(t);if(t[0]===Pt.const)return this._constStatement(t);if(t[0]===Pt.block)return this._blockStatement(t);if(t[0]===Pt.for){let[o,n,i,d,c]=t,_=this.#t;this.#t=[];try{this.ctx.pushBlockScope();let[u,m,p]=this.ctx.withResetIndentLevel(()=>[n?this._statement(n).code:void 0,i?this._typedExpression(i,ft):void 0,d?this._statement(d).code:void 0]),y=u?u.slice(0,-1):"",h=p?p.slice(0,-1):"",g=this._block(ka(c),!1).code;return{code:ce`${this.ctx.pre}for (${y}; ${m}; ${h}) ${g||"{}"}`,definesInNearestScope:!1}}finally{this.#t=_,this.ctx.popBlockScope()}}if(t[0]===Pt.while){let o=this.#t;this.#t=[];try{let[n,i,d]=t,c=this._typedExpression(i,ft),_=this.ctx.resolveSnippet(c).value,u=this._block(ka(d),!1).code;return{code:`${this.ctx.pre}while (${_}) ${u||"{}"}`,definesInNearestScope:!1}}finally{this.#t=o}}if(t[0]===Pt.forOf){let[o,n,i,d]=t;if(n[0]!==Pt.const)throw new Qe("Only `for (const ... of ... )` loops are supported");this.tryMarkModified(i);let c=!1,_=this.#t;try{this.ctx.pushBlockScope();let u=this._expression(i),m=u.value instanceof R5,p=m?u.value.snippet:u,y=S$(this.ctx,p,m),h=n[1],g=ka(d);if(m){if(!hs(y.end))throw new Error("Cannot unroll loop. Length of iterable is unknown at comptime.");let A=y.end.value;if(A===0)return{code:"",definesInNearestScope:!1};let{value:P}=p,U=Sp(P)?P.map(W=>Wr(W)):P instanceof ic?P.elements:Array.from({length:A},(W,K)=>Lx(p,ve(K,R,"constant"))),D=U[0];if(!en(D)&&!Io(D.dataType))throw new Qe(`Cannot unroll '${jt(i)}'. The elements of iterable are constructed in place but are not value types.`);let O="",L,G=!1;for(let W=0;W`#${te}`).join(" / ")} +${Q.code} +`,Q.endsWithControlFlow!==void 0){L=Q.endsWithControlFlow;break}}return{code:`${O}${this.ctx.pre}// ---`,endsWithControlFlow:L,definesInNearestScope:G}}this.#t=[];let w=this.ctx.makeUniqueIdentifier("i","block"),S=ce`${this.ctx.pre}for (var ${w} = ${y.start}; ${w} ${y.comparison} ${y.end}; ${w} += ${y.step})`,T="";if(Sp(p.value))T=this._block(g,!1,{[h]:ve(w,y.start.dataType,"runtime",!1)}).code;else{this.ctx.indent(),c=!0;let A=this.ctx.makeUniqueIdentifier(h,"block"),P=Lx(p,ve(w,R,"runtime")),U=w$(P),D=T$(P,p);T=`{ +${ce`${this.ctx.pre}${U} ${A} = ${Fr(this.ctx,P,D,!1)};`} +${this._blockStatement(g,{[h]:ve(A,D,P.origin,!1)}).code} +`,this.ctx.dedent(),T+=`${this.ctx.pre}}`,c=!1}return{code:ce`${S} ${T.trim()||"{}"}`,definesInNearestScope:!1}}finally{c&&this.ctx.dedent(),this.#t=_,this.ctx.popBlockScope()}}if(t[0]===Pt.postUpdate){let[o,n,i]=t,d=this._expression(i),c=this.ctx.resolveSnippet(d).value;return Fx(d,t),this.tryMarkModified(i),{code:`${this.ctx.pre}${c}${n};`,definesInNearestScope:!1}}if(t[0]===Pt.continue){if(this.#t.length>0)throw new Qe("Cannot unroll loop containing `continue`");return{code:`${this.ctx.pre}continue;`,endsWithControlFlow:"continue",definesInNearestScope:!1}}if(t[0]===Pt.break){if(this.#t.length>0)throw new Qe("Cannot unroll loop containing `break`");return{code:`${this.ctx.pre}break;`,endsWithControlFlow:"break",definesInNearestScope:!1}}let s=this._expression(t),r=s.value!==void 0&&s.value!==null?this.ctx.resolveSnippet(s).value:"";return{code:r?`${this.ctx.pre}${r};`:"",definesInNearestScope:!1}}tryMarkModified(t){if(!t)return;let s=Y$(t);if(s!==void 0){let r=this.ctx.getById(s),o=this.ctx.topFunctionScope;r&&o&&o.placeholderForVariable.has(r)&&o.modifiedVariables.add(r)}}};function Fx(e,t){if(e.origin==="constant"||e.origin==="constant-immutable-def"||e.origin==="runtime-immutable-def")throw hs(e)?new Qe(`'${jt(t)}' is invalid, because the left side is defined outside of the shader, and therefore is immutable during its execution. Try using tgpu.privateVar or buffers.`):new Qe(`'${jt(t)}' is invalid, because the left side is a constant.`);if(e.origin==="uniform")throw new Qe(`'${jt(t)}' is invalid, because uniform buffers cannot be mutated.`);if(e.origin==="readonly")throw new Qe(`'${jt(t)}' is invalid, because readonly buffers cannot be mutated.`);if(e.origin==="argument")throw new Qe(`'${jt(t)}' is invalid, because non-pointer arguments cannot be mutated.`)}function z$(e){throw new Error(`'${io(e)}' was not handled by the WGSL generator.`)}function G$(e){return/^0x[0-9a-f]+$/i.test(e)?Number.parseInt(e):/^0b[01]+$/i.test(e)?Number.parseInt(e.slice(2),2):Number.parseFloat(e)}function ka(e){return typeof e!="object"||e[0]!==Pt.block?[Pt.block,[e]]:e}function Y$(e){let t=e;for(;Array.isArray(t)&&(t[0]===Pt.memberAccess||t[0]===Pt.indexAccess);)t=t[1];if(typeof t=="string")return t}var L$=(()=>{try{return new Function("return true"),!0}catch{return!1}})(),Bx=new WeakMap,Wx=!1,I_={u32:"u32",vec2u:"u32",vec3u:"u32",vec4u:"u32",u16:"u16",i32:"i32",vec2i:"i32",vec3i:"i32",vec4i:"i32",f32:"f32",vec2f:"f32",vec3f:"f32",vec4f:"f32",f16:"f16",vec2h:"f16",vec3h:"f16",vec4h:"f16",mat2x2f:"f32",mat3x3f:"f32",mat4x4f:"f32"},I$={uint8:"u8",uint8x2:"u8",uint8x4:"u8",sint8:"i8",sint8x2:"i8",sint8x4:"i8",unorm8:"u8",unorm8x2:"u8",unorm8x4:"u8",snorm8:"i8",snorm8x2:"i8",snorm8x4:"i8",uint16:"u16",uint16x2:"u16",uint16x4:"u16",sint16:"i16",sint16x2:"i16",sint16x4:"i16",unorm16:"u16",unorm16x2:"u16",unorm16x4:"u16",snorm16:"i16",snorm16x2:"i16",snorm16x4:"i16",float16:"f16",float16x2:"f16",float16x4:"f16",float32:"f32",float32x2:"f32",float32x3:"f32",float32x4:"f32",uint32:"u32",uint32x2:"u32",uint32x3:"u32",uint32x4:"u32",sint32:"i32",sint32x2:"i32",sint32x3:"i32",sint32x4:"i32"},D_={u32:"setUint32",i32:"setInt32",f32:"setFloat32",u16:"setUint16",i16:"setInt16",f16:"setFloat16",u8:"setUint8",i8:"setInt8"},D$={unorm8:e=>`Math.round(${e} * 255)`,unorm8x2:e=>`Math.round(${e} * 255)`,unorm8x4:e=>`Math.round(${e} * 255)`,snorm8:e=>`Math.round(${e} * 127)`,snorm8x2:e=>`Math.round(${e} * 127)`,snorm8x4:e=>`Math.round(${e} * 127)`,unorm16:e=>`Math.round(${e} * 65535)`,unorm16x2:e=>`Math.round(${e} * 65535)`,unorm16x4:e=>`Math.round(${e} * 65535)`,snorm16:e=>`Math.round(${e} * 32767)`,snorm16x2:e=>`Math.round(${e} * 32767)`,snorm16x4:e=>`Math.round(${e} * 32767)`},Ox={"unorm10-10-10-2":{writeFunction:"setUint32",generator:(e,t)=>`output.setUint32(${e}, ((${t}.x*1023&0x3FF)<<22)|((${t}.y*1023&0x3FF)<<12)|((${t}.z*1023&0x3FF)<<2)|(${t}.w*3&3), littleEndian); +`},"unorm8x4-bgra":{writeFunction:"setUint8",generator:(e,t)=>["z","y","x","w"].map((s,r)=>`output.setUint8((${e} + ${r}), Math.round(${t}.${s} * 255), littleEndian); +`).join("")}};function Vx(e,t,s,r=0,o=!1){let n=(c,_,u)=>o?`if (${_} < endOffset) { output.${c}(${_}, ${u}, littleEndian); } +`:`output.${c}(${_}, ${u}, littleEndian); +`,i=(c,_)=>o?`if (${c} < endOffset) { +${_}} +`:_;function d(c,_,u,m){let p=["i","j","k"][m]||`i${m}`;if(Uu(c)||zn(c))return d(c.inner,_,u,m);if(Qt(c)||un(c))return Object.entries(Nu(c)).map(([h,g])=>{let w=c.propTypes[h];return w?d(w,`(${_} + ${g.offset})`,`${u}.${h}`,m):""}).join("");if(Us(c)||Ja(c)){if(c.elementCount===0)throw new Error("Cannot write using a runtime-sized schema.");let h=qs(_t(c.elementType),rs(c)),g=c.elementCount*h,w=o?`Math.min(${u}.byteLength, Math.max(0, endOffset - (${_})))`:`Math.min(${u}.byteLength, ${g})`,S=`if (ArrayBuffer.isView(${u})) { +`;return S+=` new Uint8Array(output.buffer).set(new Uint8Array(${u}.buffer, ${u}.byteOffset, ${w}), output.byteOffset + (${_})); +`,S+=`} else { +`,S+=`for (let ${p} = 0; ${p} < ${c.elementCount}; ${p}++) { +`,o&&(S+=`if ((${_} + ${p} * ${h}) >= endOffset) return; +`),S+=d(c.elementType,`(${_} + ${p} * ${h})`,`${u}[${p}]`,m+1),S+=`} +`,S+=`} +`,S}if(Rt(c)){if(Yf(c))throw new Error("Compiled writers do not support boolean vectors");let h=I_[c.type],g=_t(c.primitive),w=D_[h];return Array.from({length:c.componentCount},(S,T)=>n(w,`(${_} + ${T*g})`,`${u}[${T}]`)).join("")}if(rn(c)){let h=D_[I_[c.type]],g=Kb(c)?2:Zb(c)?3:4,w=qs(g*4,8),S=["x","y","z","w"],T=w/4;return Array.from({length:g*g},(A,P)=>{let U=Math.floor(P/g),D=P%g,O=U*g+D,L=U*T+D;return n(h,`(${_} + ${U*w+D*4})`,`ArrayBuffer.isView(${u}) ? ${u}[${L}] : Array.isArray(${u}) ? ${u}[${O}] : ${u}.columns[${U}].${S[D]}`)}).join("")}if(aP(c)){let h=c.type;if(h in Ox){let D=Ox[h];return i(`(${_})`,D.generator(_,u))}let g=I$[h],w=D_[g],S=$n[h],T=Rt(S)?S.componentCount:1,A=g==="u8"||g==="i8"?1:g==="u16"||g==="i16"||g==="f16"?2:4,P=["x","y","z","w"],U=D$[h];return Array.from({length:T},(D,O)=>{let L=T===1?u:`${u}.${P[O]}`,G=U?U(L):L;return n(w,`(${_} + ${O*A})`,G)}).join("")}if(!Object.hasOwn(I_,c.type))throw new Error(`Primitive ${c.type} is unsupported by compiled writer`);let y=I_[c.type];return n(D_[y],_,u)}return d(e,t,s,r)}function Ev(e){if(!L$){Wx||(Vt.warn("fallback","This environment does not allow eval - using default writer as fallback"),Wx=!0);return}let t=Bx.get(e);if(t)return t;try{let s=Vx(e,"offset","value",0,!1),r=`if (offset > 0 || endOffset < output.byteLength) { +${Vx(e,"offset","value",0,!0)}} else { +${s}} +`,o=new Function("output","offset","value","littleEndian=true","endOffset=output.byteLength",r);return Bx.set(e,o),o}catch(s){Vt.warn("fallback",`Failed to compile writer for schema: ${e} +Reason: ${s instanceof Error?s.message:String(s)} +Falling back to default writer`)}}function Fs(e,t){e.writeUint16(Pl(t))}function Bs(e){return Nf(e.readUint16())}var Mi={bool(){throw new Error("Booleans are not host-shareable")},f32(e,t,s){e.writeFloat32(s)},f16(e,t,s){Fs(e,s)},i32(e,t,s){e.writeInt32(s)},u32(e,t,s){e.writeUint32(s)},u16(e,t,s){e.writeUint16(s)},vec2f(e,t,s){e.writeFloat32(s[0]),e.writeFloat32(s[1])},vec2h(e,t,s){Fs(e,s[0]),Fs(e,s[1])},vec2i(e,t,s){e.writeInt32(s[0]),e.writeInt32(s[1])},vec2u(e,t,s){e.writeUint32(s[0]),e.writeUint32(s[1])},"vec2"(){throw new Error("Booleans are not host-shareable")},vec3f(e,t,s){e.writeFloat32(s[0]),e.writeFloat32(s[1]),e.writeFloat32(s[2])},vec3h(e,t,s){Fs(e,s[0]),Fs(e,s[1]),Fs(e,s[2])},vec3i(e,t,s){e.writeInt32(s[0]),e.writeInt32(s[1]),e.writeInt32(s[2])},vec3u(e,t,s){e.writeUint32(s[0]),e.writeUint32(s[1]),e.writeUint32(s[2])},"vec3"(){throw new Error("Booleans are not host-shareable")},vec4f(e,t,s){e.writeFloat32(s[0]),e.writeFloat32(s[1]),e.writeFloat32(s[2]),e.writeFloat32(s[3])},vec4h(e,t,s){Fs(e,s[0]),Fs(e,s[1]),Fs(e,s[2]),Fs(e,s[3])},vec4i(e,t,s){e.writeInt32(s[0]),e.writeInt32(s[1]),e.writeInt32(s[2]),e.writeInt32(s[3])},vec4u(e,t,s){e.writeUint32(s[0]),e.writeUint32(s[1]),e.writeUint32(s[2]),e.writeUint32(s[3])},"vec4"(){throw new Error("Booleans are not host-shareable")},mat2x2f(e,t,s){for(let r=0;r"(){throw new Error("Booleans are not host-shareable")},"vec3"(){throw new Error("Booleans are not host-shareable")},"vec4"(){throw new Error("Booleans are not host-shareable")},mat2x2f(e){return Gn(e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32())},mat3x3f(e){let t=()=>{let s=e.readFloat32();return e.readFloat32(),s};return Yn(e.readFloat32(),e.readFloat32(),t(),e.readFloat32(),e.readFloat32(),t(),e.readFloat32(),e.readFloat32(),t())},mat4x4f(e){return Hs(e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32())},struct(e,t){let s=rs(t);Os(e,s);let r={},o=t.propTypes;for(let[n,i]of Object.entries(o))Os(e,rs(i)),r[n]=jn(e,i);return Os(e,s),r},array(e,t){if(t.elementCount===0)throw new Error("Cannot read using a runtime-sized schema.");let s=rs(t),r=[];for(let o=0;oe.readUint8(),uint8x2:e=>Ct(e.readUint8(),e.readUint8()),uint8x4:e=>Et(e.readUint8(),e.readUint8(),e.readUint8(),e.readUint8()),sint8:e=>e.readInt8(),sint8x2:e=>Xt(e.readInt8(),e.readInt8()),sint8x4:e=>Wt(e.readInt8(),e.readInt8(),e.readInt8(),e.readInt8()),unorm8:e=>e.readUint8()/255,unorm8x2:e=>lt(e.readUint8()/255,e.readUint8()/255),unorm8x4:e=>Oe(e.readUint8()/255,e.readUint8()/255,e.readUint8()/255,e.readUint8()/255),snorm8:e=>e.readInt8()/127,snorm8x2:e=>lt(e.readInt8()/127,e.readInt8()/127),snorm8x4:e=>Oe(e.readInt8()/127,e.readInt8()/127,e.readInt8()/127,e.readInt8()/127),uint16:e=>e.readUint16(),uint16x2:e=>Ct(e.readUint16(),e.readUint16()),uint16x4:e=>Et(e.readUint16(),e.readUint16(),e.readUint16(),e.readUint16()),sint16:e=>e.readInt16(),sint16x2:e=>Xt(e.readInt16(),e.readInt16()),sint16x4:e=>Wt(e.readInt16(),e.readInt16(),e.readInt16(),e.readInt16()),unorm16:e=>e.readUint16()/65535,unorm16x2:e=>lt(e.readUint16()/65535,e.readUint16()/65535),unorm16x4:e=>Oe(e.readUint16()/65535,e.readUint16()/65535,e.readUint16()/65535,e.readUint16()/65535),snorm16:e=>e.readInt16()/32767,snorm16x2:e=>lt(e.readInt16()/32767,e.readInt16()/32767),snorm16x4:e=>Oe(e.readInt16()/32767,e.readInt16()/32767,e.readInt16()/32767,e.readInt16()/32767),float16(e){return Bs(e)},float16x2:e=>lt(Bs(e),Bs(e)),float16x4:e=>Oe(Bs(e),Bs(e),Bs(e),Bs(e)),float32:e=>e.readFloat32(),float32x2:e=>lt(e.readFloat32(),e.readFloat32()),float32x3:e=>It(e.readFloat32(),e.readFloat32(),e.readFloat32()),float32x4:e=>Oe(e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32()),uint32:e=>e.readUint32(),uint32x2:e=>Ct(e.readUint32(),e.readUint32()),uint32x3:e=>gt(e.readUint32(),e.readUint32(),e.readUint32()),uint32x4:e=>Et(e.readUint32(),e.readUint32(),e.readUint32(),e.readUint32()),sint32:e=>e.readInt32(),sint32x2:e=>Xt(e.readInt32(),e.readInt32()),sint32x3:e=>cs(e.readInt32(),e.readInt32(),e.readInt32()),sint32x4:e=>Wt(e.readInt32(),e.readInt32(),e.readInt32(),e.readInt32()),"unorm10-10-10-2"(e){let t=e.readUint32();return Oe((t>>22)/1023,(t>>12&1023)/1023,(t>>2&1023)/1023,(t&3)/3)},"unorm8x4-bgra"(e){let t=e.readByte()/255,s=e.readByte()/255;return Oe(e.readByte()/255,s,t,e.readByte()/255)},unstruct(e,t){let s={},r=t.propTypes;for(let[o,n]of Object.entries(r))s[o]=jn(e,n);return s},disarray(e,t){let s=rs(t),r=[];for(let o=0;o"}' cannot be bound as 'storage'. Use .$usage('storage') to allow it.`),Object.setPrototypeOf(this,F5.prototype)}};function Oc(e){return e instanceof Va}function V$(e){return Oc(e)&&e.resourceType==="uniform"}function N$(e){return Oc(e)&&e.resourceType==="mutable"}function q$(e){return Oc(e)&&e.resourceType==="readonly"}var Va=class Mp{[me];[Xs];resourceType;static#e=void(Mp.prototype[B]=!0,mn(In(Mp.prototype,{asString(){return`${this.resourceType}BufferBinding:${xe(this)??""}`},resolve(t){let s=this.buffer.dataType,r=t.makeUniqueIdentifier(xe(this),"global"),{group:o,binding:n}=t.allocateFixedEntry(this.resourceType==="uniform"?{uniform:s}:{storage:s,access:this.resourceType},this.buffer);return t.gen.declareGlobalVar({group:o,binding:n,scope:this.resourceType,id:r,dataType:s,init:void 0})}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.buffer.dataType,this.resourceType,!1)}},simulateMode:{get(t){return t.buffers.has(this.buffer)||t.buffers.set(this.buffer,aa(this.buffer.dataType,this.buffer.initial)),t.buffers.get(this.buffer)},set(t,s){t.buffers.set(this.buffer,s)}},normalMode:{get(){throw new Q0(Al()?`Cannot access ${String(this.buffer)}. TypeGPU functions that depends on GPU resources need to be part of a compute dispatch, draw call or simulation`:".$ is inaccessible during normal JS execution. Try `.read()`")},set(){throw new Q0(Al()?`Cannot access ${String(this.buffer)}. TypeGPU functions that depends on GPU resources need to be part of a compute dispatch, draw call or simulation`:".$ is inaccessible during normal JS execution. Try `.write()`")}}}));constructor(t,s){this.resourceType=t,this[Xs]=s,this[me]={type:t,buffer:s,label:void 0}}get buffer(){return this[me].buffer}$name(t){return ot(this,t),this}write(t,s){this.buffer.write(t,s)}writePartial(t){this.buffer.writePartial(t)}patch(t){this.buffer.patch(t)}read(){return this.buffer.read()}},qx=new WeakMap;function X$(e){if(!Sl(e))throw new Error(`Cannot call as('mutable') on ${e}, as it is not allowed to be used as storage. To allow it, call .$usage('storage') when creating the buffer.`);let t=qx.get(e);return t||(t=new Va("mutable",e),qx.set(e,t)),t}var Xx=new WeakMap;function H$(e){if(!Sl(e))throw new Error(`Cannot call as('readonly') on ${e}, as it is not allowed to be used as storage. To allow it, call .$usage('storage') when creating the buffer.`);let t=Xx.get(e);return t||(t=new Va("readonly",e),Xx.set(e,t)),t}var Hx=new WeakMap;function j$(e){if(!b2(e))throw new Error(`Cannot call as('uniform') on ${e}, as it is not allowed to be used as a uniform. To allow it, call .$usage('uniform') when creating the buffer.`);let t=Hx.get(e);return t||(t=new Va("uniform",e),Hx.set(e,t)),t}function B5(e,t){let s=Object.values(e).flatMap(n=>Object.values(n.entries)).filter(n=>n!==null),r=s.filter(n=>"uniform"in n).length,o=s.filter(n=>"storage"in n).length;r>t.maxUniformBuffersPerShaderStage&&Vt.warn("webgpu-limits-exceeded",`Total number of uniform buffers (${r}) exceeds maxUniformBuffersPerShaderStage (${t.maxUniformBuffersPerShaderStage}). Consider: +1. Grouping some of the uniforms into one using 'd.struct', +2. Increasing the limit when requesting a device or creating a root.`),o>t.maxStorageBuffersPerShaderStage&&Vt.warn("webgpu-limits-exceeded",`Total number of storage buffers (${o}) exceeds maxStorageBuffersPerShaderStage (${t.maxStorageBuffersPerShaderStage}).`)}function K$(e){return Qt(e)||Us(e)?qs(rs(e),16):rs(e)}function Pp(e){if(Us(e)){Pp(e.elementType);let t=qs(_t(e.elementType),rs(e.elementType));t%16!==0&&Vt.warn("uniform-schema-misaligned",`Schema '${xe(e.elementType)??""}' is used in an array in a uniform buffer, and its stride (${t}) is not a multiple of 16. +This is not portable (see https://www.w3.org/TR/WGSL/#address-space-layout-constraints), and will break on some devices. +To address this, put the element schema in a struct and wrap the prop in 'd.align(16, ...)', or use a different schema like 'vec4f'.`)}if(Qt(e)){Object.values(e.propTypes).forEach(Pp),Object.entries(e.propTypes).forEach(([s,r])=>{let o=cl(e,i=>i[s]).offset,n=K$(r);o%n&&Vt.warn("uniform-schema-misaligned",`Schema '${xe(e)??""}' is used in a uniform buffer, and its property '${s}' does not meet required alignment (offset is ${o}, required alignment is ${n}). +This is not portable (see https://www.w3.org/TR/WGSL/#address-space-layout-constraints), and will break on some devices. +To address this, wrap the property '${s}' in 'd.align(${n}, ...)'.`)});let t=Object.keys(e.propTypes);for(let s=0;s_[r]).offset,c=cl(e,_=>_[o]).offset-d;i>c&&Vt.warn("uniform-schema-misaligned",`Schema '${xe(e)??""}' is used in a uniform buffer, and the difference between memory offsets of '${r}' and '${o}' props (${c}) is less than recommended (${i}). +This is not portable (see https://www.w3.org/TR/WGSL/#address-space-layout-constraints), and will break on some devices. +To address this, wrap the '${r}' prop in 'd.size(${i}, ...)'.`)}}}var Z$={uniform:j$,mutable:X$,readonly:H$};function F_(e,t,s){return Qa(t)?new jx(e,t,s):new jx(e,t,s,["storage","uniform"])}var jx=class{[B];[me];resourceType="buffer";#e;#t=!1;#s;get#r(){return this.#s??=new ArrayBuffer(_t(this.dataType))}#o;#n;#i;initial;usableAsUniform=!1;usableAsStorage=!1;usableAsVertex=!1;usableAsIndex=!1;usableAsIndirect=!1;constructor(e,t,s,r){this[me]={type:"buffer",device:e.device,dataType:t,flags:GPUBufferUsage.COPY_DST|GPUBufferUsage.COPY_SRC,usages:[],raw:void 0,label:void 0},this.#i=r,Mn(s)?(this.#e=!1,this[me].raw=s):(this.#e=!0,typeof s=="function"?this.#n=s:this.initial=s),this[B]={root:e,materialize:()=>{if(this.#t)throw new Error("This buffer has been destroyed");let o=this[me];return o.raw||(o.raw=o.device.createBuffer({size:_t(o.dataType),usage:o.flags,mappedAtCreation:!!this.initial||!!this.#n,label:xe(this)??""}),(this.initial||this.#n)&&(this.#n?this.#n(this):this.initial&&mm(this.#a(),this.dataType,this.initial),this.#d())),o.raw}}}get dataType(){return this[me].dataType}get flags(){return this[me].flags}set flags(e){this[me].flags=e}get buffer(){return this[B].materialize()}get destroyed(){return this.#t}get arrayBuffer(){return this.buffer.mapState==="mapped"?this.#a():this.#r}#a(){let e=this[me].raw;if(!e||e.mapState!=="mapped")throw new Error("Buffer is not mapped.");return this.#o??=e.getMappedRange(),this.#o}#d(){let e=this[me].raw;!e||e.mapState!=="mapped"||(this.#o=void 0,e.unmap())}$name(e){ot(this,e);let t=this[me].raw;return t&&(t.label=e),this}$usage(...e){for(let t of e){if(this.#i?.includes(t))throw new Error(`Buffer of type ${this.dataType.type} cannot be used as ${t}`);t==="uniform"&&Pp(this.dataType),this.flags|=t==="uniform"?GPUBufferUsage.UNIFORM:0,this.flags|=t==="storage"?GPUBufferUsage.STORAGE:0,this.flags|=t==="vertex"?GPUBufferUsage.VERTEX:0,this.flags|=t==="index"?GPUBufferUsage.INDEX:0,this.flags|=t==="indirect"?GPUBufferUsage.INDIRECT:0,this.usableAsUniform=this.usableAsUniform||t==="uniform",this.usableAsStorage=this.usableAsStorage||t==="storage",this.usableAsVertex=this.usableAsVertex||t==="vertex",this.usableAsIndex=this.usableAsIndex||t==="index",this.usableAsIndirect=this.usableAsIndirect||t==="indirect",this[me].usages.includes(t)||this[me].usages.push(t)}return this}$addFlags(e){if(!this.#e)throw new Error("Cannot add flags to a buffer that is not managed by TypeGPU.");return e&GPUBufferUsage.MAP_READ?(this.flags=GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ,this):e&GPUBufferUsage.MAP_WRITE?(this.flags=GPUBufferUsage.COPY_SRC|GPUBufferUsage.MAP_WRITE,this):(this.flags|=e,this)}compileWriter(){Ev(this.dataType)}write(e,t){let s=this.buffer;if(s.mapState==="mapped"){let i=this.#a();if(e instanceof ArrayBuffer&&e===i)return;mm(i,this.dataType,e,t);return}e instanceof ArrayBuffer&&e===this.#r||mm(this.#r,this.dataType,e,t);let{startOffset:r,endOffset:o}=I5(t,this.dataType,e),n=o-r;this[me].device.queue.writeBuffer(s,r,this.#r,r,n)}writePartial(e){this.patch(Ap(this.dataType,e))}patch(e){let t=this.buffer;if(t.mapState==="mapped")O$(this.#a(),this.dataType,e);else{let s=D5(this.dataType,e,this.#r);for(let{data:r,gpuOffset:o}of s)this[me].device.queue.writeBuffer(t,o,r)}}clear(e){let t=this.buffer;if(e){e[B].rawEncoder.clearBuffer(t);return}if(t.mapState==="mapped"){new Uint8Array(this.#a()).fill(0);return}let s=this[me].device.createCommandEncoder();s.clearBuffer(t),this[me].device.queue.submit([s.finish()])}copyFrom(e,t){if(this.buffer.mapState==="mapped")throw new Error("Cannot copy to a mapped buffer.");let s=_t(this.dataType);if(t){t[B].rawEncoder.copyBufferToBuffer(e.buffer,0,this.buffer,0,s);return}let r=this[me].device.createCommandEncoder();r.copyBufferToBuffer(e.buffer,0,this.buffer,0,s),this[me].device.queue.submit([r.finish()])}async read(){let e=this.buffer;if(e.mapState==="mapped")return pm(this.#a(),this.dataType);if(e.usage&GPUBufferUsage.MAP_READ){await e.mapAsync(GPUMapMode.READ);let o=pm(this.#a(),this.dataType);return this.#d(),o}let t=this[me].device.createBuffer({size:_t(this.dataType),usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ}),s=this[me].device.createCommandEncoder();s.copyBufferToBuffer(e,0,t,0,_t(this.dataType)),this[me].device.queue.submit([s.finish()]),await t.mapAsync(GPUMapMode.READ,0,_t(this.dataType));let r=pm(t.getMappedRange(),this.dataType);return t.unmap(),t.destroy(),r}as(e){return Z$[e](this)}destroy(){this.#t||(this.#t=!0,this.#o=void 0,this.#e&&this[me].raw?.destroy())}toString(){return`buffer:${xe(this)??""}`}},W5=class Ep{bindings;constructor(t){this.bindings=t}with(t,s){return new Ep([...this.bindings,[dd(t)||cd(t)?t.slot:t,s]])}pipe(t){let s=t(this);return new Ep([...this.bindings,...s.bindings])}};function*Q$(e){let t=0;for(;;)e.has(t)||(yield t),t++}function J$(e,t){return new V5(fv(),e,t)}function e4(e,t){return new V5(o5(),e,t)}function kv(e){let t=e;return t?.resourceType==="sampler"&&!!t[B]}function $v(e){let t=e;return t?.resourceType==="sampler-comparison"&&!!t[B]}var t4=class O5{[B]={materialize:void 0};resourceType;schema;#e;static#t=mn(In(O5.prototype,{asString(){return`${this.resourceType}:${xe(this)??""}`},resolve(t){let s=t.makeUniqueIdentifier(xe(this),"global"),r=t.allocateLayoutEntry(this.#e.layout);return t.addDeclaration(`@group(${r}) @binding(${this.#e.idx}) var ${s}: ${t.resolve(this.schema).value};`,s),ve(s,this.schema,"handle")}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.schema,"handle",!1)}},normalMode:{get(){throw new Error("Direct access to sampler values is possible only as part of a compute dispatch or draw call.")}}});constructor(t,s){this.schema=t,this.#e=s,this.resourceType=t.type==="sampler_comparison"?"sampler-comparison":"sampler",ot(this,s.key)}},V5=class N5{[B];[me];resourceType;schema;#e;static#t=mn(In(N5.prototype,{asString(){return`${this.resourceType}:${xe(this)??""}`},resolve(t){let s=t.makeUniqueIdentifier(xe(this),"global"),{group:r,binding:o}=t.allocateFixedEntry(this.schema.type==="sampler_comparison"?{sampler:"comparison"}:{sampler:this.#e?"filtering":"non-filtering"},this);return t.addDeclaration(`@group(${r}) @binding(${o}) var ${s}: ${t.resolve(this.schema).value};`,s),ve(s,this.schema,"handle")}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.schema,"handle",!1)}},normalMode:{get(){throw new Error("Direct access to sampler values is possible only as part of a compute dispatch or draw call.")}}});constructor(t,s,r){this.schema=t,this.resourceType=t.type==="sampler_comparison"?"sampler-comparison":"sampler",this[me]={type:this.resourceType,device:r.device,props:s,raw:void 0,label:void 0},this[B]={root:r,materialize:()=>{let o=this[me];return o.raw||(o.raw=o.device.createSampler({...o.props,label:xe(this)??""})),o.raw}},this.#e=s.minFilter==="linear"||s.magFilter==="linear"||s.mipmapFilter==="linear"}$name(t){return ot(this,t),this}},s4=class{resourceType="external-texture";[B]=!0;schema;#e;constructor(e,t){this.schema=e,this.#e=t,ot(this,t.key)}[kt](e){let t=e.makeUniqueIdentifier(xe(this),"global"),s=e.allocateLayoutEntry(this.#e.layout);return e.addDeclaration(`@group(${s}) @binding(${this.#e.idx}) var ${t}: ${e.resolve(this.schema).value};`,t),ve(t,s5(),"handle")}get[Hr](){let e=this.schema;return new Proxy({[B]:!0,get[oa](){return ve(this,e,"handle",!1)},[kt]:t=>t.resolve(this),toString:()=>`textureExternal:${xe(this)??""}.$`},Wi)}get $(){if(Yu())return this[Hr];throw new Error("Direct access to texture views values is possible only as part of a compute dispatch or draw call. Try .read() or .write() instead")}toString(){return`textureExternal:${xe(this)??""}`}},r4={channelType:a,vectorType:Oe,sampleTypes:["depth","unfilterable-float"],texelSize:"non-copyable"},o4={channelType:a,vectorType:Oe,sampleTypes:["depth","unfilterable-float"],texelSize:2},n4={channelType:a,vectorType:Oe,sampleTypes:["depth","unfilterable-float"],texelSize:4},a4={channelType:R,vectorType:Et,sampleTypes:["uint"],texelSize:1},Kx=new Map;function Vc(e){let t=Kx.get(e);return t===void 0&&(t=i4(e),Kx.set(e,t)),t}function i4(e){let t=_4(e),s=d4(e),r=e.includes("stencil");return{channelType:t,vectorType:t===R?Et:t===Z?Wt:Oe,texelSize:l4(e),sampleTypes:u4(e),canRenderAttachment:c4(e),...s&&{depthAspect:s},...r&&{stencilAspect:a4}}}function d4(e){if(e==="depth16unorm")return o4;if(e==="depth32float"||e==="depth32float-stencil8")return n4;if(e==="depth24plus"||e==="depth24plus-stencil8")return r4}function c4(e){return!(e.startsWith("bc")||e.startsWith("etc2")||e.startsWith("eac")||e.startsWith("astc")||e==="rgb9e5ufloat")}function _4(e){return e==="stencil8"||e.includes("uint")?R:e.includes("sint")?Z:a}function l4(e){let[,t,s]=e.match(/^(rgba|bgra|rg|r)(8|16|32)/)??[];return t&&s?t.length*Number(s)/8:e==="stencil8"?1:e==="depth16unorm"?2:e==="depth32float"?4:e==="depth32float-stencil8"?5:e==="depth24plus"||e==="depth24plus-stencil8"?"non-copyable":/^(bc[14]-|etc2-rgb8|eac-r11)/.test(e)?8:/^(bc|astc-|etc2-rgba|eac-rg)/.test(e)?16:4}function u4(e){return e==="stencil8"?["uint"]:e.includes("uint")?["uint"]:e.includes("sint")?["sint"]:e.includes("depth")?["depth","unfilterable-float"]:/^(r|rg|rgba)16(u|s)norm$/.test(e)?["unfilterable-float"]:["float","unfilterable-float"]}var m4=new Set(["r32float","rg32float","rgba32float"]);function p4(e,t){return m4.has(t)&&!e.features.has("float32-filterable")?["unfilterable-float"]:Vc(t).sampleTypes}function q5(e){let{videoWidth:t,videoHeight:s}=e;if(t&&s)return{width:t,height:s};let{naturalWidth:r,naturalHeight:o}=e;if(r&&o)return{width:r,height:o};let{codedWidth:n,codedHeight:i}=e;if(n&&i)return{width:n,height:i};let{width:d,height:c}=e;if(d&&c)return{width:d,height:c};throw new Error("Cannot determine dimensions of the provided image source.")}var f4=` +struct VertexOutput { + @builtin(position) pos: vec4f, + @location(0) uv: vec2f, +} + +@vertex +fn vs_main(@builtin(vertex_index) i: u32) -> VertexOutput { + const pos = array(vec2f(-1, -1), vec2f(3, -1), vec2f(-1, 3)); + const uv = array(vec2f(0, 1), vec2f(2, 1), vec2f(0, -1)); + return VertexOutput(vec4f(pos[i], 0, 1), uv[i]); +}`,v4=` +@group(0) @binding(0) var src: texture_2d; +@group(0) @binding(1) var samp: sampler; + +@fragment +fn fs_main(@location(0) uv: vec2f) -> @location(0) vec4f { + return textureSample(src, samp, uv); +}`,y4=` +@group(0) @binding(0) var src: texture_2d; +@group(0) @binding(1) var samp: sampler; + +@fragment +fn fs_main(@location(0) uv: vec2f) -> @location(0) vec4f { + let r = textureGather(0, src, samp, uv); + let g = textureGather(1, src, samp, uv); + let b = textureGather(2, src, samp, uv); + let a = textureGather(3, src, samp, uv); + return vec4f(dot(r, vec4f(0.25)), dot(g, vec4f(0.25)), dot(b, vec4f(0.25)), dot(a, vec4f(0.25))); +}`,kp=new WeakMap;function h4(e){let t=kp.get(e);return t||(t={vertexModule:e.createShaderModule({code:f4}),filterableResources:new Map,layoutResources:new Map},kp.set(e,t)),t}function x4(e,t,s){let r=h4(e),o=r.filterableResources.get(t);o||(o={fragmentModule:e.createShaderModule({code:t?v4:y4}),sampler:e.createSampler(t?{magFilter:"linear",minFilter:"linear"}:{})},r.filterableResources.set(t,o));let n=`${t}:${s}`,i=r.layoutResources.get(n);if(!i){let d=e.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:s}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{type:t?"filtering":"non-filtering"}}]});i={bindGroupLayout:d,pipelineLayout:e.createPipelineLayout({bindGroupLayouts:[d]})},r.layoutResources.set(n,i)}return{vertexModule:r.vertexModule,...o,...i}}function X5(e){let{device:t,source:s,destination:r,format:o,filterable:n,sampleType:i}=e,d=x4(t,n,i),c=t.createRenderPipeline({layout:d.pipelineLayout,vertex:{module:d.vertexModule},fragment:{module:d.fragmentModule,targets:[{format:o}]},primitive:{topology:"triangle-list"}}),_=t.createBindGroup({layout:d.bindGroupLayout,entries:[{binding:0,resource:s},{binding:1,resource:d.sampler}]}),u=!e.encoder,m=e.encoder??t.createCommandEncoder(),p=m.beginRenderPass({colorAttachments:[{view:r,loadOp:"clear",storeOp:"store"}]});p.setPipeline(c),p.setBindGroup(0,_),p.draw(3),p.end(),u&&t.queue.submit([m.finish()])}function g4(e){kp.delete(e)}function H5(e,t,s){let r=Vc(t),o=p4(e,t),n=o.includes("float"),i=o.includes("unfilterable-float");if(!n&&!i)throw new Error(`Cannot ${s} for format '${t}': only float formats are supported.`);if(!r.canRenderAttachment)throw new Error(`Cannot ${s} for format '${t}': format does not support render attachments.`);return{filterable:n,sampleType:n?"float":"unfilterable-float"}}function b4(e,t,s=0,r){if(t.dimension!=="2d")throw new Error("Mipmap generation only supports 2D textures.");let{filterable:o,sampleType:n}=H5(e,t.format,"generate mipmaps"),i=r??t.mipLevelCount-s;for(let d=0;d({dimension:"2d",baseMipLevel:u,mipLevelCount:1,baseArrayLayer:d,arrayLayerCount:1});X5({device:e,source:t.createView(_(c)),destination:t.createView(_(c+1)),format:t.format,filterable:o,sampleType:n})}}function w4(e,t,s,r=0){if(t.dimension!=="2d")throw new Error("Resampling only supports 2D textures.");let{filterable:o}=H5(e,t.format,"resample"),{width:n,height:i}=q5(s),d=e.createTexture({size:[n,i],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT});e.queue.copyExternalImageToTexture({source:s},{texture:d},[n,i]);let c=e.createTexture({size:[t.width,t.height],format:t.format,usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.COPY_SRC}),_=e.createCommandEncoder();X5({device:e,source:d.createView(),destination:c.createView(),format:t.format,filterable:o,sampleType:"float",encoder:_}),_.copyTextureToTexture({texture:c},{texture:t,origin:{x:0,y:0,z:r}},{width:t.width,height:t.height,depthOrArrayLayers:1}),e.queue.submit([_.finish()]),d.destroy(),c.destroy()}function T4(e){return{dimension:e.dimension??"2d",sampleType:Vc(e.format).channelType,multisampled:(e.sampleCount??1)!==1}}function S4(e,t,s){return new A4(e,t,s)}function Tc(e){return e?.resourceType==="texture"&&!!e[B]}function Oi(e){return e?.resourceType==="texture-view"&&!!e[B]}var A4=class{[B];[me];resourceType="texture";usableAsSampled=!1;usableAsStorage=!1;usableAsRender=!1;#e;#t=!1;#s;constructor(e,t,s){this.#s=s===void 0,this[me]={type:"texture",device:t.device,props:e,flags:GPUTextureUsage.COPY_DST|GPUTextureUsage.COPY_SRC,flagsOverridden:!1,usages:[],raw:s,label:void 0},this.#e=Vc(e.format),this[B]={root:t,materialize:()=>{if(this.#t)throw new Error("This texture has been destroyed");let r=this[me];if(!r.raw){let o=r.props;r.raw=(globalThis.__TYPEGPU_AUTONAME__??(n=>n))(r.device.createTexture({label:xe(this)??"",format:o.format,size:o.size,usage:r.flags,dimension:o.dimension??"2d",viewFormats:o.viewFormats??[],mipLevelCount:o.mipLevelCount??1,sampleCount:o.sampleCount??1}),"raw")}return r.raw}}}get props(){return this[me].props}$name(e){return ot(this,e),this}$usage(...e){let t=this[me];if(t.flagsOverridden)throw new Error("Cannot call $usage() after $overrideFlags().");let s=e.includes("storage"),r=e.includes("sampled"),o=e.includes("render"),n=e.includes("transient"),i=(r?GPUTextureUsage.TEXTURE_BINDING:0)|(s?GPUTextureUsage.STORAGE_BINDING:0),d=GPUTextureUsage.TRANSIENT_ATTACHMENT|GPUTextureUsage.RENDER_ATTACHMENT,c=t.flags|i|(o?GPUTextureUsage.RENDER_ATTACHMENT:0),_=n||!!(t.flags&GPUTextureUsage.TRANSIENT_ATTACHMENT),u=!!(c&(GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.STORAGE_BINDING));if(_&&u)throw new Error("Transient texture usage cannot be combined with 'sampled' or 'storage'.");t.flags=n?d:c,this.usableAsStorage||=s,this.usableAsSampled||=r,this.usableAsRender||=o||n;for(let m of e)t.usages.includes(m)||t.usages.push(m);return this}$overrideFlags(e){let t=this[me];return t.flags=e,t.flagsOverridden=!0,this.usableAsSampled=!0,this.usableAsStorage=!0,this.usableAsRender=!0,this}createView(e,t){return e==="render"?new P4(this,t):new M4(e??vP(T4(this.props)),this,t)}#r(e=0){let t=2**e,[s,r,o]=[Math.max(1,Math.floor((this.props.size[0]??1)/t)),Math.max(1,Math.floor((this.props.size[1]??1)/t)),Math.max(1,Math.floor((this.props.size[2]??1)/t))],n=this.#e.texelSize;if(n==="non-copyable")throw new Error(`Cannot clear texture with format '${this.props.format}': this format does not support copy operations.`);this[me].device.queue.writeTexture({texture:this[B].materialize(),mipLevel:e},new Uint8Array(s*r*o*n),{bytesPerRow:n*s,rowsPerImage:r},[s,r,o])}clear(e="all"){if(e==="all"){let t=this.props.mipLevelCount??1;for(let s=0;s=(this.props.mipLevelCount??1))throw new Error(`Base mip level ${e} is out of range. Texture has ${this.props.mipLevelCount??1} mip levels.`);b4(this[me].device,this[B].materialize(),e,s)}write(e,t=0){if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)){this.#o(e,typeof t=="number"?t:0);return}if(!this.usableAsRender)throw new Error("texture.write(...) with image sources requires 'render' usage. Add it via the $usage('render') method.");let s=typeof t=="number"?void 0:t,r=this.props.dimension??"2d";if(!Array.isArray(e)){this.#n(e,r==="3d"?0:void 0,s);return}let o=this.props.size[2]??1;e.length>o&&Vt.warn("suspicious",`Too many image sources provided. Expected ${o} layers, got ${e.length}. Extra sources will be ignored.`);for(let n=0;n>t),r=Math.max(1,(this.props.size[1]??1)>>t),o=Math.max(1,(this.props.size[2]??1)>>t),n=this.#e.texelSize;if(n==="non-copyable")throw new Error(`Cannot write to texture with format '${this.props.format}': this format does not support copy operations.`);let i=s*r*o*n,d=e.byteLength??e.byteLength;if(d!==i)throw new Error(`Buffer size mismatch. Expected ${i} bytes for mip level ${t}, got ${d} bytes.`);this[me].device.queue.writeTexture({texture:this[B].materialize(),mipLevel:t},"buffer"in e?e.buffer:e,{bytesPerRow:n*s,rowsPerImage:r},[s,r,o])}#n(e,t,s){let r=this.props.size[0],o=this.props.size[1]??1,{width:n,height:i}=q5(e);if(n!==r||i!==o){if(s?.fit!=="stretch")throw new Error(`Texture write source size ${n}x${i} does not match target size ${r}x${o}. Pass fit: 'stretch' to resize explicitly.`);w4(this[me].device,this[B].materialize(),e,t);return}this[me].device.queue.copyExternalImageToTexture({source:e},{texture:this[B].materialize(),...t!==void 0&&{origin:{x:0,y:0,z:t}}},t!==void 0?[r,o,1]:this.props.size)}copyFrom(e){if(e.props.format!==this.props.format)throw new Error(`Texture format mismatch. Source texture has format ${e.props.format}, target texture has format ${this.props.format}`);if(e.props.size[0]!==this.props.size[0]||(e.props.size[1]??1)!==(this.props.size[1]??1)||(e.props.size[2]??1)!==(this.props.size[2]??1))throw new Error(`Texture size mismatch. Source texture has size ${e.props.size.join("x")}, target texture has size ${this.props.size.join("x")}`);let t=this[me].device.createCommandEncoder();t.copyTextureToTexture({texture:e[B].materialize()},{texture:this[B].materialize()},e.props.size),this[me].device.queue.submit([t.finish()])}toString(){return`${this.resourceType}:${xe(this)??""}`}get destroyed(){return this.#t}destroy(){this.#t||(this.#t=!0,this.#s&&this[me].raw?.destroy())}},M4=class{[B];[me];resourceType="texture-view";constructor(e,t,s){this[me]={type:"texture-view",texture:t,schema:e,descriptor:s,raw:void 0,label:void 0},this[B]={unwrap:()=>{let r=this[me];if(!r.raw){let o=r.schema,n=dl(o)?o.format:r.texture.props.format;r.raw=(globalThis.__TYPEGPU_AUTONAME__??(i=>i))(r.texture[B].materialize().createView({...r.descriptor,label:xe(this)??"",format:r.descriptor?.format??n,dimension:o.dimension}),"raw")}return r.raw},format:s?.format??(dl(e)?e.format:t.props.format),aspect:s?.aspect}}get schema(){return this[me].schema}$name(e){return ot(this,e),this[me].raw&&(this[me].raw.label=e),this}get[Hr](){let e=this.schema;return new Proxy({[B]:!0,get[oa](){return ve(this,e,"handle",!1)},[kt]:t=>t.resolve(this),toString:()=>`${this.toString()}.$`},Wi)}get $(){if(Yu())return this[Hr];throw new Error("Direct access to texture view values is possible only as part of a compute dispatch or draw call. Try .read() or .write() instead")}get size(){return this[me].texture.props.size}toString(){return`textureView:${xe(this)??""}`}[kt](e){let t=e.makeUniqueIdentifier(xe(this),"global"),{group:s,binding:r}=e.allocateFixedEntry(dl(this.schema)?{storageTexture:this.schema}:{texture:this.schema,sampleType:this[me].descriptor?.sampleType??this.schema.bindingSampleType[0]},this);return e.gen.declareGlobalVar({group:s,binding:r,id:t,dataType:this.schema,scope:"handle",init:void 0})}},Zx=class{[B]={unwrap:void 0};resourceType="texture-view";#e;schema;constructor(e,t){this.schema=e,this.#e=t,ot(this,t.key)}toString(){return`textureView:${xe(this)??""}`}[kt](e){let t=e.makeUniqueIdentifier(xe(this),"global"),s=e.allocateLayoutEntry(this.#e.layout);return e.addDeclaration(`@group(${s}) @binding(${this.#e.idx}) var ${t}: ${e.resolve(this.schema).value};`,t),ve(t,this.schema,"handle")}get[Hr](){let e=this.schema;return new Proxy({[B]:!0,get[oa](){return ve(this,e,"handle",!1)},[kt]:t=>t.resolve(this),toString:()=>`${this.toString()}.$`},Wi)}get $(){if(Yu())return this[Hr];throw new Error(`Accessed view '${xe(this)??""}' outside of codegen mode. Direct access to texture views values is possible only as part of a compute dispatch or draw call. Try .read() or .write() instead`)}$name(e){return ot(this,e),this}},P4=class{[B];[me];resourceType="texture-view";constructor(e,t={}){this[me]={type:"texture-view",texture:e,schema:"render",descriptor:t,raw:void 0,label:void 0},this[B]={unwrap:()=>e[B].materialize().createView({label:xe(this)??"",...this.descriptor}),format:t.format??e.props.format,aspect:t.aspect}}get descriptor(){return this[me].descriptor??{}}};function E4(e){return!!e?.usableAsSampled}var k4=class j5 extends Error{constructor(t){super(`Resource '${xe(t)??""}' cannot be bound as 'sampled'. Use .$usage('sampled') to allow it.`),Object.setPrototypeOf(this,j5.prototype)}},Qx=class $p{[B];usage;dataType;#e;static#t=void($p.prototype.resourceType="laid-out-buffer",mn(In($p.prototype,{asString(){return`${this.usage}:${xe(this)??""}`},resolve(t){let s=t.makeUniqueIdentifier(xe(this),"global"),r=t.allocateLayoutEntry(this.#e.layout);return t.gen.declareGlobalVar({group:r,binding:this.#e.idx,scope:this.usage,id:s,dataType:this.dataType,init:void 0})}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.dataType,this.usage,!1)}},normalMode:{get(){throw new Error("Direct access to buffer values is possible only as part of a compute dispatch or draw call. Try .read() or .write() instead")}}}));constructor(t,s,r){this[B]={dataType:s},this.usage=t,this.dataType=s,this.#e=r,ot(this,r.key)}};function K5(e){return new U4({...e})}function Zu(e){return!!e&&e.resourceType==="bind-group-layout"}function ca(e){return!!e&&e.resourceType==="bind-group"}var $4=class Z5 extends Error{constructor(t,s){super(`Bind group '${t??""}' is missing a required binding '${s}'`),Object.setPrototypeOf(this,Z5.prototype)}},Jx=["compute","fragment"],Yd=["compute","vertex","fragment"],U4=class{[B];[me];resourceType="bind-group-layout";$={};entries;get[Hr](){return this.$}constructor(e){this.entries=e,this[B]=[];let t={};this[me]={type:"bind-group-layout",entries:t,index:void 0,label:void 0};let s=0;for(let[r,o]of Object.entries(e)){if(o===null){t[r]=null,s++;continue}let n={layout:this,key:r,idx:s},i;if(t[r]=o,"uniform"in o&&(i=new Qx("uniform",o.uniform,n)),"storage"in o){let d="type"in o.storage?o.storage:o.storage(0);i=new Qx(o.access??"readonly",d,n),t[r]={...o,storage:d}}"texture"in o&&(i=new Zx(o.texture,n)),"storageTexture"in o&&(i=new Zx(o.storageTexture,n)),"externalTexture"in o&&(i=new s4(o.externalTexture,n)),"sampler"in o&&(i=new t4(o.sampler==="comparison"?o5():fv(),n)),ds(i!==void 0,"Internal error, expected item to be defined"),Object.defineProperty(this.$,r,{get:()=>i.$}),this[B].push(i),s++}}toString(){return`bindGroupLayout:${xe(this)??""}`}get index(){return this[me].index}$name(e){return ot(this,e),this}$idx(e){return this[me].index=e,this}unwrap(e){return e.device.createBindGroupLayout({label:xe(this)??"",entries:Object.values(this.entries).map((t,s)=>{if(t===null)return null;let r=t.visibility,o={binding:s,visibility:0};if("uniform"in t)r=r??Yd,o.buffer={type:"uniform"};else if("storage"in t)r=r??(t.access==="mutable"?Jx:Yd),o.buffer={type:t.access==="mutable"?"storage":"read-only-storage"};else if("sampler"in t)r=r??Yd,o.sampler={type:t.sampler};else if("texture"in t){r=r??Yd;let{multisampled:n,dimension:i,bindingSampleType:d}=t.texture;o.texture={sampleType:t.sampleType??d[0],viewDimension:i,multisampled:n}}else if("storageTexture"in t){r=r??Jx;let{dimension:n,access:i,format:d}=t.storageTexture;o.storageTexture={access:i,format:d,viewDimension:n}}else"externalTexture"in t&&(r=r??Yd,o.externalTexture={});return r?.includes("compute")&&(o.visibility|=GPUShaderStage.COMPUTE),r?.includes("vertex")&&(o.visibility|=GPUShaderStage.VERTEX),r?.includes("fragment")&&(o.visibility|=GPUShaderStage.FRAGMENT),o}).filter(t=>t!==null)})}},Q5=class{[B];[me];resourceType="bind-group";#e;constructor(e,t,s,r){if(this.#e=s,this[me]={type:"bind-group",device:e?.device,layout:t,raw:r,label:void 0},this[B]={materialize:()=>{let o=this[me];return o.raw||(ds(e,"Cannot unwrap a bind group created outside of a root."),o.raw=e.unwrap(this)),o.raw}},!r){for(let o of Object.keys(t.entries))if(t.entries[o]!==null&&!(o in s))throw new $4(xe(t),o)}}get layout(){return this[me].layout}get entries(){return this.#e}unwrap(e){let t=this[me].raw;return t||e.device.createBindGroup({label:xe(this.layout)??"",layout:e.unwrap(this.layout),entries:Object.entries(this.layout.entries).map(([s,r],o)=>{if(r===null)return null;let n=this.entries[s];if(n===void 0)throw new Error(`'${s}' is a resource required to populate bind group layout '${xe(this.layout)??""}'.`);if("uniform"in r){let i;if(hc(n)){if(!b2(n))throw new ZA(n);i={buffer:e.unwrap(n)}}else V$(n)?i={buffer:e.unwrap(n)}:i={buffer:n};return{binding:o,resource:i}}if("storage"in r){let i;if(hc(n)){if(!Sl(n))throw new Nx(n);i={buffer:e.unwrap(n)}}else N$(n)||q$(n)?(ds(r.access==="mutable"==(n.resourceType==="mutable"),"Invalid buffer access mode."),i={buffer:e.unwrap(n)}):i={buffer:n};return{binding:o,resource:i}}if("texture"in r){let i;if(Tc(n)){if(!E4(n))throw new k4(n);i=e.unwrap(n.createView(r.texture))}else Oi(n)?i=e.unwrap(n):i=n;return{binding:o,resource:i}}if("storageTexture"in r){let i;if(Tc(n)){if(!Sl(n))throw new Nx(n);i=e.unwrap(n.createView(r.storageTexture))}else Oi(n)?i=e.unwrap(n):i=n;return{binding:o,resource:i}}if("sampler"in r)return $v(n)||kv(n)?{binding:o,resource:e.unwrap(n)}:{binding:o,resource:n};if("externalTexture"in r)return{binding:o,resource:n};throw new Error(`Malformed bind group entry: ${io(n)}`)}).filter(s=>s!==null)})}};function Nc(e){return new C4(e)}var C4=class{[B]=!0;[me];resourceType="slot";constructor(e=void 0){this[me]={type:"slot",defaultValue:e,label:void 0}}get defaultValue(){return this[me].defaultValue}$name(e){return ot(this,e),this}areEqual(e,t){return Object.is(e,t)}toString(){return`slot:${xe(this)??""}`}get[Hr](){let e=Na();if(!e)throw new Error("Cannot access tgpu.slot's value outside of resolution.");return kl(e.unwrap(this))}get $(){return this[Hr]}},pd=Nc(null);function Qu(e,t){return new e6("private",e,t)}function J5(e){return new e6("workgroup",e)}var e6=class t6{[me];static#e=(()=>{let t=t6.prototype;t.resourceType="var",t[B]={},mn(In(t,{asString(){return`var:${xe(this)??""}`},resolve(s){let r=s.makeUniqueIdentifier(xe(this),"global"),o=this[me].initialValue?ve(this[me].initialValue,this[me].dataType,"constant"):void 0;return s.gen.declareGlobalVar({scope:this[me].scope,id:r,dataType:this[me].dataType,init:o})}}),{codegenMode:{getBaseSnippet(s){return ve(s,this[me].dataType,this[me].scope,!1)}},simulateMode:{get(s){return s.vars[this[me].scope].has(this)||s.vars[this[me].scope].set(this,this[me].initialValue),s.vars[this[me].scope].get(this)},set(s,r){s.vars[this[me].scope].set(this,r)}},normalMode:{get(){throw new Z0(Al()?`Cannot access variable '${xe(this)??""}'. TypeGPU functions that depends on GPU resources need to be part of a compute dispatch, draw call or simulation`:"TypeGPU variables are inaccessible during normal JS execution. If you wanted to simulate GPU behavior, try `tgpu.simulate()`")},set(s){throw new Z0(Al()?`Cannot access variable ${xe(this)??""}. TypeGPU functions that depends on GPU resources need to be part of a compute dispatch, draw call or simulation`:"TypeGPU variables are inaccessible during normal JS execution. If you wanted to simulate GPU behavior, try `tgpu.simulate()`")}}})})();constructor(t,s,r){this[me]={type:"var",scope:t,dataType:s,initialValue:r,label:void 0}}$name(t){return ot(this,t),this}},s6=Qu(R,0).$name("dataBlockIndex"),r6=Qu(R,0).$name("dataByteIndex"),o6=Nc().$name("dataBuffer"),R4=qt([],R)`() { + let i = dataByteIndex; + dataByteIndex = dataByteIndex + 1u; + return i; +}`.$uses({dataByteIndex:r6}).$name("nextByteIndex"),ze="dataBuffer[dataBlockIndex].serializedData[nextByteIndex()]",n6={f32:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([a])`(n) { + ${ze} = bitcast(n); +}`,"f32"),f16:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([xs])`(n) { + ${ze} = pack2x16float(vec2f(f32(n), 0.0)); +}`,"f16"),i32:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Z])`(n) { + ${ze} = bitcast(n); +}`,"i32"),u32:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([R])`(n) { + ${ze} = n; +}`,"u32"),bool:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([ft])`(b) { + ${ze} = u32(b); +}`,"bool"),vec2f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([lt])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); +}`,"vec2f"),vec3f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([It])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); + ${ze} = bitcast(v.z); +}`,"vec3f"),vec4f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Oe])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); + ${ze} = bitcast(v.z); + ${ze} = bitcast(v.w); +}`,"vec4f"),vec2h:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Vs])`(v) { + ${ze} = pack2x16float(vec2f(f32(v.x), f32(v.y))); +}`,"vec2h"),vec3h:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Pr])`(v) { + ${ze} = pack2x16float(vec2f(f32(v.x), f32(v.y))); + ${ze} = pack2x16float(vec2f(f32(v.z), 0.0)); +}`,"vec3h"),vec4h:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Ns])`(v) { + ${ze} = pack2x16float(vec2f(f32(v.x), f32(v.y))); + ${ze} = pack2x16float(vec2f(f32(v.z), f32(v.w))); +}`,"vec4h"),vec2i:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Xt])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); +}`,"vec2i"),vec3i:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([cs])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); + ${ze} = bitcast(v.z); +}`,"vec3i"),vec4i:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Wt])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); + ${ze} = bitcast(v.z); + ${ze} = bitcast(v.w); +}`,"vec4i"),vec2u:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Ct])`(v) { + ${ze} = v.x; + ${ze} = v.y; +}`,"vec2u"),vec3u:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([gt])`(v) { + ${ze} = v.x; + ${ze} = v.y; + ${ze} = v.z; +}`,"vec3u"),vec4u:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Et])`(v) { + ${ze} = v.x; + ${ze} = v.y; + ${ze} = v.z; + ${ze} = v.w; +}`,"vec4u"),"vec2":qt([Or])`(v) { + ${ze} = u32(v.x); + ${ze} = u32(v.y); +}`,"vec3":qt([Vr])`(v) { + ${ze} = u32(v.x); + ${ze} = u32(v.y); + ${ze} = u32(v.z); +}`,"vec4":qt([Nr])`(v) { + ${ze} = u32(v.x); + ${ze} = u32(v.y); + ${ze} = u32(v.z); + ${ze} = u32(v.w); +}`,mat2x2f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Gn])`(m) { + ${ze} = bitcast(m[0][0]); + ${ze} = bitcast(m[0][1]); + ${ze} = bitcast(m[1][0]); + ${ze} = bitcast(m[1][1]); +}`,"mat2x2f"),mat3x3f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Yn])`(m) { + ${ze} = bitcast(m[0][0]); + ${ze} = bitcast(m[0][1]); + ${ze} = bitcast(m[0][2]); + ${ze} = 0u; + ${ze} = bitcast(m[1][0]); + ${ze} = bitcast(m[1][1]); + ${ze} = bitcast(m[1][2]); + ${ze} = 0u; + ${ze} = bitcast(m[2][0]); + ${ze} = bitcast(m[2][1]); + ${ze} = bitcast(m[2][2]); + ${ze} = 0u; +}`,"mat3x3f"),mat4x4f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Hs])`(m) { + ${ze} = bitcast(m[0][0]); + ${ze} = bitcast(m[0][1]); + ${ze} = bitcast(m[0][2]); + ${ze} = bitcast(m[0][3]); + ${ze} = bitcast(m[1][0]); + ${ze} = bitcast(m[1][1]); + ${ze} = bitcast(m[1][2]); + ${ze} = bitcast(m[1][3]); + ${ze} = bitcast(m[2][0]); + ${ze} = bitcast(m[2][1]); + ${ze} = bitcast(m[2][2]); + ${ze} = bitcast(m[2][3]); + ${ze} = bitcast(m[3][0]); + ${ze} = bitcast(m[3][1]); + ${ze} = bitcast(m[3][2]); + ${ze} = bitcast(m[3][3]); +}`,"mat4x4f")};for(let[e,t]of Object.entries(n6))t.$name(`serialize${e[0].toLocaleUpperCase()}${e.slice(1)}`).$uses({dataBlockIndex:s6,nextByteIndex:R4,dataBuffer:o6});function a6(e){return`(${e.map((t,s)=>`_arg_${s}`).join(", ")})`}function i6(e,t){let s=n6[e.type];if(s)return s.with(o6,t);if(Qt(e)){let r=Object.keys(e.propTypes),o=d6(Object.values(e.propTypes),t);return qt([e])`(arg) {\n propsSerializer(${r.map(n=>`arg.${n}`).join(", ")});\n}`.$uses({propsSerializer:o}).$name(`${xe(e)??"struct"}Serializer`)}if(Us(e)){let r=e.elementType,o=e.elementCount,n=i6(r,t);return qt([e])`(arg) {\n${Array.from({length:o},(i,d)=>` elementSerializer(arg[${d}]);`).join(` +`)}\n}`.$uses({elementSerializer:n}).$name("arraySerializer")}throw new Error(`Cannot serialize data of type ${e.type}`)}function d6(e,t){let s={};return(globalThis.__TYPEGPU_AUTONAME__??(r=>r))(qt(e),"shell")`${a6(e)} {\n${e.map((r,o)=>(s[`serializer${o}`]=i6(r,t),` serializer${o}(_arg_${o});`)).join(` +`)}\n}`.$uses(s).$name("compoundSerializer")}function z4(e,t,s,r,o){let n=t.map(_t).reduce((c,_)=>c+_,0);if(n>o.logSizeLimit)throw new Error(`Logged data needs to fit in ${o.logSizeLimit} bytes (one of the logs requires ${n} bytes). Consider increasing the limit by passing appropriate options to tgpu.init().`);let i=d6(t,s).$name(`log${e}serializer`),d=a6(t);return qt(t)`${d} { + dataBlockIndex = atomicAdd(&indexBuffer, 1); + if (dataBlockIndex >= ${o.logCountLimit}) { + return; + } + dataBuffer[dataBlockIndex].id = ${e}; + dataByteIndex = 0; + + compoundSerializer${d}; +}`.$uses({indexBuffer:r,dataBuffer:s,dataBlockIndex:s6,dataByteIndex:r6,compoundSerializer:i}).$name(`log${e}`)}var G4={logCountLimit:64,logSizeLimit:252,messagePrefix:" GPU "},c6=ve("/* console.log() */",_s,"runtime"),Y4=class{get logResources(){}generateLog(){return Vt.warn("fallback","'console.log' is only supported when resolving pipelines."),c6}},L4=class{#e;#t;#s=1;#r;#o;constructor(e){this.#e={...G4,...e[B].logOptions},this.#t=new Map;let t=ut({id:R,serializedData:pt(R,Math.ceil(this.#e.logSizeLimit/4))}).$name("SerializedLogData");this.#o=e.createMutable(pt(t,this.#e.logCountLimit)).$name("dataBuffer"),this.#r=e.createMutable($P(R)).$name("indexBuffer")}generateLog(e,t,s){if(pd.$==="vertex")return Vt.warn("suspicious","'console' operations are not supported in vertex shaders."),c6;let r=this.#s++,o=s.map(c=>{if(c.dataType===Ut)return c;let _=Qn(e,[c],[Ca(c.dataType)])?.[0];return ds(_,`Internal error. Expected type ${c.dataType} to be convertible to ${Ca(c.dataType)}`),_}).map(MM),n=o.filter(c=>c.dataType!==Ut),i=z4(r,n.map(c=>c.dataType),this.#o,this.#r,this.#e),d=ve(ce`${e.resolve(i).value}(${n})`,_s,"runtime");return this.#t.set(r,{op:t,argTypes:o.map(c=>c?.dataType===Ut?c?.value:c?.dataType)}),d}get logResources(){return this.#s===1?void 0:{dataBuffer:this.#o,indexBuffer:this.#r,options:this.#e,logIdToMeta:this.#t}}};function I4(e){return e?.resourceType==="shellless-impl"}function D4(e,t){let s=ri(t,"normal");return{[B]:!0,[Xs]:s,resourceType:"shellless-impl",argTypes:e,[kt](r){return s.resolve(r,e,void 0)},toString(){return`fn*:${xe(s)??""}(${e.map(r=>r.toString()).join(", ")})`}}}var F4=new RegExp(`[${[...S5].join("")}]+`,"ug"),eg=/[.\p{XID_Continue}]/u;function tg(e){let t=W4(e).split(F4).filter(r=>r!==""),s="";for(let r=0;r0;)e.startsWith("/*",r)?(o+=1,r+=2):e.startsWith("*/",r)?(o-=1,r+=2):r+=1;if(o>0)throw new SyntaxError("Block comment opening without corresponding closing found during minification.");s=r;continue}if(e.startsWith("*/",r))throw new SyntaxError("Block comment closing without corresponding opening found during minification.");r+=1}return t+e.slice(s)}var Up="#CATCHALL#",O4=class{_stack=[];_itemDepth=0;get itemDepth(){return this._itemDepth}get topItem(){let e=this._stack[this._stack.length-1];if(!e||e.type!=="item")throw new Error("Internal error, expected item layer to be on top.");return e}get topFunctionScope(){return this._stack.findLast(e=>e.type==="functionScope")}get topBlockScope(){return this._stack.findLast(e=>e.type==="blockScope")}get blockDepth(){let e=0;for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="functionScope")break;s?.type==="blockScope"&&e++}return e}pushItem(){this._itemDepth++,this._stack.push({type:"item",usedSlots:new Set})}pushSlotBindings(e){this._stack.push({type:"slotBinding",bindingMap:new WeakMap(e)})}pushFunctionScope(e,t,s,r){let o={type:"functionScope",functionType:e,argAccess:t,returnType:s,externalMap:r,reportedReturnTypes:new Set,placeholderForVariable:new Map,modifiedVariables:new Set};return this._stack.push(o),o}pushBlockScope(){this._stack.push({type:"blockScope",takenLocalIdentifiers:new Set,declarations:new Map,externals:new Map})}pop(e){let t=this._stack[this._stack.length-1];if(!t||e&&t.type!==e)throw new Error(`Internal error, expected a ${e} layer to be on top.`);let s=this._stack.pop();return e==="item"&&this._itemDepth--,s}readSlot(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="item")s.usedSlots.add(e);else if(s?.type==="slotBinding"){let r=s.bindingMap.get(e);if(r!==void 0)return r}else if(!(s?.type==="functionScope"||s?.type==="blockScope"))throw new Error("Unknown layer type.")}return e.defaultValue}getSnippetById(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="functionScope"){let r=s.argAccess[e];if(r)return r();if(Object.hasOwn(s.externalMap,e)){let o=s.externalMap[e];return Di(o)&&xe(o)===void 0&&ot(o,e.replaceAll(".","_")),Wr(o)}return}if(s?.type==="blockScope"){let r=s.declarations.get(e)??s.externals.get(e);if(r!==void 0)return r}}}isIdentifierTakenLocally(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="functionScope")return!1;if(s?.type==="blockScope"&&s.takenLocalIdentifiers.has(e))return!0}return!1}isIdentifierTakenInCallStack(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="blockScope"&&s.takenLocalIdentifiers.has(e))return!0}return!1}defineBlockVariable(e,t){if(t.dataType===Ut)throw Error(`Tried to define variable '${e}' of unknown type`);for(let s=this._stack.length-1;s>=0;--s){let r=this._stack[s];if(r?.type==="blockScope"){r.declarations.set(e,t);return}}throw new Error("No block scope found to define a variable in.")}setBlockExternals(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="blockScope"){Object.entries(e).forEach(([r,o])=>{s.externals.set(r,o)});return}}throw new Error("No block scope found to set externals in.")}clearBlockExternals(){for(let e=this._stack.length-1;e>=0;--e){let t=this._stack[e];if(t?.type==="blockScope"){t.externals.clear();return}}throw new Error("No block scope found to clear externals in.")}},_c=[""," "," "," "," "," "," "," "," "],fm=_c.length-1,V4=class{identLevel=0;get pre(){return _c[this.identLevel]??_c[fm].repeat(this.identLevel/fm)+_c[this.identLevel%fm]}indent(){let e=this.pre;return this.identLevel++,e}dedent(){return this.identLevel--,this.pre}withResetLevel(e){let t=this.identLevel;this.identLevel=0;try{return e()}finally{this.identLevel=t}}};function wi(e,t,s="argument"){let r=!1;return{name:e,access:()=>(r=!0,ve(e,t,s,!1)),decoratedType:t,get used(){return r}}}function sg(e,t){return()=>{let s=e();if(s)return Bi(s,t)}}var _6=class{#e;_indentController=new V4;_itemStateStack=new O4;#t=[];_declarations=[];_varyingLocations;#s=new WeakSet;#r;gen;get varyingLocations(){return this._varyingLocations}[B]={itemStateStack:this._itemStateStack};bindGroupLayoutsToPlaceholderMap=new Map;_nextFreeLayoutPlaceholderIdx=0;fixedBindings=[];enableExtensions;expectedType;#o=0;constructor(e){this.enableExtensions=e.enableExtensions,this.#r=e.root?new L4(e.root):new Y4,this.#e=e.namespace[B],this.gen=e.shaderGenerator??new R$,this.gen.initGenerator(this)}isIdentifierBanned(e){return mv.has(e)}isIdentifierTaken(e,t){return this.#e.takenGlobalIdentifiers.has(e)||(t==="block"?this._itemStateStack.isIdentifierTakenLocally(e):this._itemStateStack.isIdentifierTakenInCallStack(e))}makeUniqueIdentifier(e="item",t){if(t==="block"&&Fu(e).success&&!this.isIdentifierTaken(e,t))return this.reserveIdentifier(e,"block"),e;let s=oP(e),r=0,o=this.#e.strategy==="random",n=o?`${s}_${this.#o++}`:s;for(;this.isIdentifierTaken(n,t);)n=o?`${s}_${this.#o++}`:`${s}_${++r}`;return this.reserveIdentifier(n,t),n}reserveIdentifier(e,t){if(t==="block"){let s=this._itemStateStack.topBlockScope;if(s){s.takenLocalIdentifiers.add(e);return}}this.#e.takenGlobalIdentifiers.add(e)}get pre(){return this._indentController.pre}get topFunctionScope(){return this._itemStateStack.topFunctionScope}get topFunctionReturnType(){let e=this._itemStateStack.topFunctionScope;return ds(e,"Internal error, expected function scope to be present."),e.returnType}get shelllessRepo(){return this.#e.shelllessRepo}get blockDepth(){return this._itemStateStack.blockDepth}indent(){return this._indentController.indent()}dedent(){return this._indentController.dedent()}getDedented(e){return e.replaceAll(` +${_c[1]}`,` +`)}withResetIndentLevel(e){return this._indentController.withResetLevel(e)}getById(e){let t=this._itemStateStack.getSnippetById(e);return t===void 0?null:t}defineVariable(e,t){this._itemStateStack.defineBlockVariable(e,t)}reportReturnType(e){let t=this._itemStateStack.topFunctionScope;ds(t,"Internal error, expected function scope to be present."),t.reportedReturnTypes.add(e)}pushBlockScope(){this._itemStateStack.pushBlockScope()}popBlockScope(){this._itemStateStack.pop("blockScope")}setBlockExternals(e){this._itemStateStack.setBlockExternals(e)}clearBlockExternals(){this._itemStateStack.clearBlockExternals()}generateLog(e,t){return this.#r.generateLog(this,e,t)}get logResources(){return this.#r.logResources}resolveFunction(e){try{let t=this._itemStateStack.pushFunctionScope(e.functionType,{},e.returnType,e.externalMap);this._itemStateStack.pushBlockScope();let s=[];if(e.entryInput){let{dataSchema:n,positionalArgs:i}=e.entryInput,d=e.params[0],c=n?wi(this.makeUniqueIdentifier("_arg_0","block"),n):void 0;if(c&&s.push(c),d?.type===tc.destructuredObject)for(let{name:_,alias:u}of d.props){let m=i.find(p=>p.schemaKey===_);if(m){let p=wi(this.makeUniqueIdentifier(u,"block"),m.type);s.push(p),t.argAccess[u]=p.access}else c&&(t.argAccess[u]=sg(c.access,_))}else if(d?.type===tc.identifier){let _=[];for(let m of i){let p=wi(this.makeUniqueIdentifier(m.schemaKey,"block"),m.type);s.push(p),_.push({schemaKey:m.schemaKey,arg:p.access})}let u=new b5(c?.access,_);t.argAccess[d.name]=()=>ve("N/A",u,"argument")}else for(let _ of i){let u=this.makeUniqueIdentifier(`_arg_${_.schemaKey}`,"block"),m=wi(u,_.type);s.push(m),t.argAccess[u]=m.access}}else for(let[n,i]of e.argTypes.entries()){let d=e.params[n],c=pr(i)?i.addressSpace==="storage"?i.access==="read"?"readonly":"mutable":i.addressSpace:"argument";switch(d?.type){case tc.identifier:{let _=wi(this.makeUniqueIdentifier(d.name,"block"),i,c);s.push(_),t.argAccess[d.name]=_.access;break}case tc.destructuredObject:{let _=wi(this.makeUniqueIdentifier(`_arg_${n}`,"block"),i,c);s.push(_);for(let{name:u,alias:m}of d.props)t.argAccess[m]=sg(_.access,u);break}case void 0:i instanceof Wo||s.push({name:this.makeUniqueIdentifier(`_arg_${n}`,"block"),access:()=>{throw new Error("Unreachable: Accessing an argument that wasn't named in the function signature")},decoratedType:i,used:!1})}}let r,o=this.gen.functionDefinition({functionType:e.functionType,name:e.name,workgroupSize:e.workgroupSize,args:s,body:e.body,determineReturnType:()=>{if(r)return r;if(r=e.returnType,r instanceof Wo&&(Qt(t.reportedReturnTypes.values().next().value)?r=r.completeStruct:r=void 0),!r){let n=[...t.reportedReturnTypes];if(n.length===0)r=_s;else{let i=Vf(n);i&&!i.hasImplicitConversions&&(r=i.targetType)}if(!r)throw new Error(`Expected function to have a single return type, got [${n.join(", ")}]. Cast explicitly to the desired type.`);r=no(r),(e.functionType==="vertex"||e.functionType==="fragment")&&(r=Bc(r))}return r}});if(!r)throw new Error("Failed to determine return type");return{code:o,returnType:r}}finally{this._itemStateStack.pop("blockScope"),this._itemStateStack.pop("functionScope")}}addDeclaration(e,t){this._declarations.push({name:t,code:e})}get declarations(){return this._declarations}allocateLayoutEntry(e){let t=this.bindGroupLayoutsToPlaceholderMap,s=t.get(e);return s||(s=`#BIND_GROUP_LAYOUT_${this._nextFreeLayoutPlaceholderIdx++}#`,t.set(e,s)),s}allocateFixedEntry(e,t){let s=this.fixedBindings.length;return this.fixedBindings.push({layoutEntry:e,resource:t}),{group:Up,binding:s}}readSlot(e){let t=this._itemStateStack.readSlot(e);if(t===void 0)throw new KA(e);return t}withSlots(e,t){if(e.length===0)return t();this._itemStateStack.pushSlotBindings(e);try{return t()}finally{this._itemStateStack.pop("slotBinding")}}withVaryingLocations(e,t){this._varyingLocations=e;try{return t()}finally{this._varyingLocations=void 0}}withRenamed(e,t,s){if(!t)return s();let r=xe(e);try{return ot(e,t),s()}finally{r&&ot(e,r)}}unwrap(e){if(al(e))return this.withRenamed(e[Mr].inner,xe(e),()=>this.withSlots(e[Mr].pairs,()=>this.unwrap(e[Mr].inner)));let t=e;for(;;)if(cp(t))t=this.readSlot(t);else if(_p(t))t=this._getOrCompute(t);else break;return t}_getOrCompute(e){let t=this.#e.memoizedLazy.get(e)??[];this._itemStateStack.pushItem();try{for(let o of t)if([...o.slotToValueMap.entries()].every(([n,i])=>n.areEqual(this._itemStateStack.readSlot(n),i)))return o.result;this.pushMode(new _d);let s;try{s=e[B].compute()}finally{this.popMode("normal")}let r=new Map;for(let o of this._itemStateStack.topItem.usedSlots)r.set(o,this._itemStateStack.readSlot(o));return t.push({slotToValueMap:r,result:s}),this.#e.memoizedLazy.set(e,t),s}catch(s){throw s instanceof Pi?s.appendToTrace(e):new Pi(s,[e])}finally{this._itemStateStack.pop("item")}}_getOrInstantiate(e){let t=this.#e.memoizedResolves.get(e)??[];this._itemStateStack.pushItem();try{for(let o of t)if([...o.slotToValueMap.entries()].every(([n,i])=>n.areEqual(this._itemStateStack.readSlot(n),i)))return o.result;let s;if(Rc(e))s=ve(this.gen.emitTypeAnnotation(e),_s,"runtime");else if(_p(e)||cp(e))s=this.resolve(this.unwrap(e));else if(g2(e))s=e[kt](this);else if(Fi(e)){let o=this.#e.shelllessRepo.get(e,void 0);if(!o)throw new Error(`Couldn't resolve ${e.name}. Make sure it's a function that accepts no arguments, or call it from another TypeGPU function.`);return this.withResetIndentLevel(()=>this.resolve(o))}else throw new TypeError(`Unresolvable internal value: ${io(e)}`);let r=new Map;for(let o of this._itemStateStack.topItem.usedSlots)r.set(o,this._itemStateStack.readSlot(o));return t.push({slotToValueMap:r,result:s}),this.#e.memoizedResolves.set(e,t),s}catch(s){throw s instanceof Pi?s.appendToTrace(e):new Pi(s,[e])}finally{this._itemStateStack.pop("item")}}resolve(e,t){if(typeof e=="string"){if(!t||t===Ut)throw new Error(`Strings cannot be injected into WGSL directly (tried to inject '${e}'). Look for TypeGPU APIs that cover your use-case, or resort to using tgpu['~unstable'].rawCodeSnippet for raw code injection.`);return ve(e,t,"runtime")}if((vp(e)||I4(e))&&!al(e)){if(this.#s.has(e)&&!this.#e.memoizedResolves.has(e))throw new Error(`Recursive function ${e} detected. Recursion is not allowed on the GPU.`);this.#s.add(e)}if(al(e))return this.withRenamed(e[Mr].inner,xe(e),()=>this.withSlots(e[Mr].pairs,()=>this.resolve(e[Mr].inner,t)));if(mt(e)||Fi(e)){if(this._itemStateStack.itemDepth===0)try{this.pushMode(new iM);let s=w2(this,()=>this._getOrInstantiate(e));return ve(`${this._declarations.map(r=>r.code).join(` + +`)}${s.value}`,_s,"runtime")}finally{this.popMode("codegen")}return this._getOrInstantiate(e)}if(typeof e=="number"){let s=t??on(e).dataType;return ds(s!==Ut,"Schema has to be known for resolving numbers"),this.gen.numericLiteral(e,s)}if(typeof e=="boolean")return ve(e?"true":"false",ft,"constant",!1);if(t&&Us(t)){if(!Array.isArray(e))throw new Qe(`Cannot coerce ${e} into value of type '${t}'`);if(t.elementCount!==e.length)throw new Qe(`Cannot create value of type '${t}' from an array of length: ${e.length}`);return this.gen.typeInstantiation(t,e.map(s=>ve(s,t.elementType,"runtime")))}if(t&&Qt(t))return this.gen.typeInstantiation(t,Object.entries(t.propTypes).map(([s,r])=>ve(e[s],r,"runtime")));throw new Qe(`Value ${io(e)} is not resolvable${t&&t!==Ut?` to type ${io(t)}`:""}`)}resolveSnippet(e){return x2(this.resolve(e.value,e.dataType).value,e)}pushMode(e){this.#t.push(e)}popMode(e){let t=this.#t.pop();e!==void 0&&ds(t?.type===e,"Unexpected mode")}get mode(){return this.#t[this.#t.length-1]??T2}};function Ju(e,t){let s=new _6(t),r=(t.config?s.withSlots(t.config(new W5([])).bindings,()=>s.resolve(e)):s.resolve(e)).value,o=s.bindGroupLayoutsToPlaceholderMap,n=[],i=Q$(new Set([...o.keys()].map(p=>p.index).filter(p=>p!==void 0))),d=s.fixedBindings.map((p,y)=>[String(y),p.layoutEntry]),c=[],_=()=>{let p=i.next().value,y=(globalThis.__TYPEGPU_AUTONAME__??(h=>h))(K5(Object.fromEntries(d)),"catchallLayout");return n[p]=y,r=r.replaceAll(Up,String(p)),c.push([Up,String(p)]),[p,new Q5(t.root,y,Object.fromEntries(s.fixedBindings.map((h,g)=>[String(g),h.resource])))]},u=d.length>0?_():void 0;for(let[p,y]of o.entries()){let h=p.index??i.next().value;n[h]=p,r=r.replaceAll(y,String(h)),c.push([y,String(h)])}t.enableExtensions&&t.enableExtensions.length>0&&(r=`${t.enableExtensions.map(p=>`enable ${p};`).join(` +`)} + +${r}`);let m=s.declarations.map(({name:p,code:y})=>({name:p,code:c.reduce((h,[g,w])=>h.replaceAll(g,w),y)}));return t.minify&&(r=tg(r),m=m.map(p=>({...p,code:tg(p.code)}))),{code:r,declarations:m,usedBindGroupLayouts:n,catchall:u,logResources:s.logResources}}function l6(e,t,s){return e.flatMap((r,o)=>{let n=t&&o===t[0]?t[1]:s?.get(r);return n?[[r,n]]:[]})}function N4(e,t){return e.flatMap(s=>{let r=t?.get(s);return r?[[s,r]]:[]})}var q4={dispatchWorkgroupsIndirect:"3 x u32",drawIndirect:"4 x u32",drawIndexedIndirect:"3 x u32, i32, u32"};function rg(e,t,s,r){if(t+s>e)throw new Error(`Buffer too small for ${r}. Required: ${s} bytes at offset ${t}, but buffer is only ${e} bytes.`);if(t%4!==0)throw new Error(`Indirect buffer offset must be a multiple of 4. Got: ${t}`)}function Vi(e,t,s,r){if(Mn(e)){let i=typeof t=="number"?t:t?.offset??0;return rg(e.size,i,s,r),i}let{offset:o,contiguous:n}=t?typeof t=="number"?{offset:t,contiguous:s}:t:cl(e.dataType);return rg(_t(e.dataType),o,s,r),ntypeof e=="number"?Zo(e):qr.bitcastU32toF32[e.kind](e)),codegenImpl:(e,[t],s)=>e.gen.emitCall("bitcast",[Wr(s)],[t]),signature:(...e)=>{let t=Iu(e,Rl);if(!t)throw new Ts(e,Rl);return{argTypes:t,returnType:Rt(t[0])?t[0].type==="vec2u"?lt:t[0].type==="vec3u"?It:Oe:a}},sideEffects:!1});pe({name:"bitcastU32toI32",normalImpl:(e=>typeof e=="number"?Qo(e):qr.bitcastU32toI32[e.kind](e)),codegenImpl:(e,[t],s)=>e.gen.emitCall("bitcast",[Wr(s)],[t]),signature:(...e)=>{let t=Iu(e,Rl);if(!t)throw new Ts(e,Rl);return{argTypes:t,returnType:Rt(t[0])?t[0].type==="vec2u"?Xt:t[0].type==="vec3u"?cs:Wt:Z}},sideEffects:!1});var og=[a,lt,It,Oe];pe({name:"bitcastF32toU32",normalImpl:(e=>typeof e=="number"?Jo(e):qr.bitcastF32toU32[e.kind](e)),codegenImpl:(e,[t],s)=>e.gen.emitCall("bitcast",[Wr(s)],[t]),signature:(...e)=>{let t=Iu(e,og);if(!t)throw new Ts(e,og);return{argTypes:t,returnType:Rt(t[0])?t[0].type==="vec2f"?Ct:t[0].type==="vec3f"?gt:Et:R}},sideEffects:!1});var B_=new ArrayBuffer(16),W_={f32:new Float32Array(B_),u32:new Uint32Array(B_),i32:new Int32Array(B_),u16:new Uint16Array(B_)};function X4(e,t){if(typeof e=="number")t[0]=e;else for(let s=0;s{let s="primitive"in e?e.primitive:e,r="primitive"in t?t.primitive:t;return o=>(s.type==="f16"?H4(o,W_.u16):X4(o,W_[s.type]),r.type==="f16"?K4(W_.u16,t):j4(W_[r.type],t))};function et(e,t){return pe({name:"bitcast",normalImpl:Z4(e,t),codegenImpl:(s,[r])=>s.gen.emitCall("bitcast",[Wr(t)],[r]),signature:s=>{let r=Iu([s],[e]);if(!r)throw new Ts([s],[e]);return{argTypes:r,returnType:t}},sideEffects:!1})}var ng={f16:{f16:et(xs,xs)},f32:{f32:et(a,a),i32:et(a,Z),u32:et(a,R),vec2h:et(a,Vs)},i32:{f32:et(Z,a),i32:et(Z,Z),u32:et(Z,R),vec2h:et(Z,Vs)},u32:{f32:et(R,a),i32:et(R,Z),u32:et(R,R),vec2h:et(R,Vs)},vec2h:{f32:et(Vs,a),i32:et(Vs,Z),u32:et(Vs,R),vec2h:et(Vs,Vs)},vec3h:{vec3h:et(Pr,Pr)},vec2f:{vec2f:et(lt,lt),vec2i:et(lt,Xt),vec2u:et(lt,Ct),vec4h:et(lt,Ns)},vec2i:{vec2f:et(Xt,lt),vec2i:et(Xt,Xt),vec2u:et(Xt,Ct),vec4h:et(Xt,Ns)},vec2u:{vec2f:et(Ct,lt),vec2i:et(Ct,Xt),vec2u:et(Ct,Ct),vec4h:et(Ct,Ns)},vec4h:{vec2f:et(Ns,lt),vec2i:et(Ns,Xt),vec2u:et(Ns,Ct),vec4h:et(Ns,Ns)},vec3f:{vec3f:et(It,It),vec3i:et(It,cs),vec3u:et(It,gt)},vec3i:{vec3f:et(cs,It),vec3i:et(cs,cs),vec3u:et(cs,gt)},vec3u:{vec3f:et(gt,It),vec3i:et(gt,cs),vec3u:et(gt,gt)},vec4f:{vec4f:et(Oe,Oe),vec4i:et(Oe,Wt),vec4u:et(Oe,Et)},vec4i:{vec4f:et(Wt,Oe),vec4i:et(Wt,Wt),vec4u:et(Wt,Et)},vec4u:{vec4f:et(Et,Oe),vec4i:et(Et,Wt),vec4u:et(Et,Et)}};function Q4(e,t){if("type"in e&&e.type in ng){let s=ng[e.type];if("type"in t&&t.type in s)return s[t.type]}throw new Error(`Incorrect bitcast from ${xe(e)} to ${xe(t)}.`)}var u6=Ao(Q4),J4=pe({name:"unpack2x16float",normalImpl:e=>{let t=new ArrayBuffer(4);new si(t).writeUint32(e);let s=new ld(t);return lt(Bs(s),Bs(s))},signature:{argTypes:[R],returnType:lt},codegenImpl:(e,[t])=>ce`unpack2x16float(${t})`,sideEffects:!1});pe({name:"pack2x16float",normalImpl:e=>{let t=new ArrayBuffer(4),s=new si(t);return Fs(s,e.x),Fs(s,e.y),R(new ld(t).readUint32())},signature:{argTypes:[lt],returnType:R},codegenImpl:(e,[t])=>ce`pack2x16float(${t})`,sideEffects:!1});pe({name:"unpack4x8unorm",normalImpl:e=>{let t=new ArrayBuffer(4);new si(t).writeUint32(e);let s=new ld(t);return Oe(s.readUint8()/255,s.readUint8()/255,s.readUint8()/255,s.readUint8()/255)},signature:{argTypes:[R],returnType:Oe},codegenImpl:(e,[t])=>ce`unpack4x8unorm(${t})`,sideEffects:!1});pe({name:"pack4x8unorm",normalImpl:e=>{let t=new ArrayBuffer(4),s=new si(t);return s.writeUint8(e.x*255),s.writeUint8(e.y*255),s.writeUint8(e.z*255),s.writeUint8(e.w*255),R(new ld(t).readUint32())},signature:{argTypes:[Oe],returnType:R},codegenImpl:(e,[t])=>ce`pack4x8unorm(${t})`,sideEffects:!1});var wt=e=>u6(R,a)(e??0),Ko=e=>u6(R,Z)(e??0),Ti=e=>J4(e??0),eU={f32:e=>wt(e[0]),f16:e=>Ti(e[0]).x,i32:e=>Ko(e[0]),u32:e=>e[0]??0,bool:e=>!!e[0],vec2f:e=>lt(wt(e[0]),wt(e[1])),vec3f:e=>It(wt(e[0]),wt(e[1]),wt(e[2])),vec4f:e=>Oe(wt(e[0]),wt(e[1]),wt(e[2]),wt(e[3])),vec2h(e){let t=Ti(e[0]);return Vs(t.x,t.y)},vec3h(e){let t=Ti(e[0]),s=Ti(e[1]);return Pr(t.x,t.y,s.x)},vec4h(e){let t=Ti(e[0]),s=Ti(e[1]);return Ns(t.x,t.y,s.x,s.y)},vec2i:e=>Xt(Ko(e[0]),Ko(e[1])),vec3i:e=>cs(Ko(e[0]),Ko(e[1]),Ko(e[2])),vec4i:e=>Wt(Ko(e[0]),Ko(e[1]),Ko(e[2]),Ko(e[3])),vec2u:e=>Ct(e[0]??0,e[1]??0),vec3u:e=>gt(e[0]??0,e[1]??0,e[2]??0),vec4u:e=>Et(e[0]??0,e[1]??0,e[2]??0,e[3]??0),"vec2":e=>Or(!!e[0],!!e[1]),"vec3":e=>Vr(!!e[0],!!e[1],!!e[2]),"vec4":e=>Nr(!!e[0],!!e[1],!!e[2],!!e[3]),mat2x2f:e=>Gn(wt(e[0]),wt(e[1]),wt(e[2]),wt(e[3])),mat3x3f:e=>Yn(wt(e[0]),wt(e[1]),wt(e[2]),wt(e[4]),wt(e[5]),wt(e[6]),wt(e[8]),wt(e[9]),wt(e[10])),mat4x4f:e=>Hs(wt(e[0]),wt(e[1]),wt(e[2]),wt(e[3]),wt(e[4]),wt(e[5]),wt(e[6]),wt(e[7]),wt(e[8]),wt(e[9]),wt(e[10]),wt(e[11]),wt(e[12]),wt(e[13]),wt(e[14]),wt(e[15]))};function tU(e,t){let s=eU[t.type];if(s)return s(e);if(Qt(t)){let r=Object.keys(t.propTypes),o=Cp(e,Object.values(t.propTypes));return Object.fromEntries(r.map((n,i)=>[n,o[i]]))}if(Us(t)){let r=t.elementType,o=t.elementCount;return Cp(e,Array.from({length:o},()=>r))}throw new Error(`Cannot deserialize data of type ${t.type}`)}function Cp(e,t){let s=0;return t.map(r=>{if(!Qa(r))return r;let o=Math.ceil(_t(r)/4),n=tU(e.subarray(s,s+o),r);return s+=o,n})}function sU(e,t){return Cp(e,t).map(ap)}function rU(e){let{indexBuffer:t,dataBuffer:s,logIdToMeta:r,options:o}=e;s.read().then(n=>{n.filter(i=>i.id).forEach(({id:i,serializedData:d})=>{let{argTypes:c,op:_}=r.get(i),u=sU(new Uint32Array(d),c);u.length===0&&u.push(""),_.bind(console)(`%c${o.messagePrefix}%c ${u[0]}`,"background: #936ff5; color: white;","color: inherit; background: none",...u.slice(1))})}),t.read().then(n=>{n>o.logCountLimit&&Vt.warn("log-limit-exceeded",`Log count limit per dispatch (${o.logCountLimit}) exceeded by ${n-o.logCountLimit} calls. Consider increasing the limit by passing appropriate options to tgpu.init().`)}),s.buffer.clear(),t.buffer.clear()}function oU(e,t,s,r){return new nU(e,t,s,r)}function Uv(e){let t=e;return t?.resourceType==="query-set"&&!!t[B]}var nU=class{resourceType="query-set";#e;#t=!1;#s=!0;#r=void 0;#o=void 0;[me];[B];constructor(e,t,s,r){this.#e=!r,this[me]={type:"query-set",device:e.device,queryType:t,count:s,raw:r,label:void 0};let o=this;this[B]={get readBuffer(){return o.#r||(o.#r=o[me].device.createBuffer({size:o.count*BigUint64Array.BYTES_PER_ELEMENT,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ})),o.#r},get resolveBuffer(){return o.#o||(o.#o=o[me].device.createBuffer({size:o.count*BigUint64Array.BYTES_PER_ELEMENT,usage:GPUBufferUsage.QUERY_RESOLVE|GPUBufferUsage.COPY_SRC})),o.#o},materialize:()=>{if(this.#t)throw new Error("This QuerySet has been destroyed.");let n=this[me];return n.raw||(n.raw=n.device.createQuerySet({type:n.queryType,count:n.count})),n.raw}}}get type(){return this[me].queryType}get count(){return this[me].count}get querySet(){return this[B].materialize()}get destroyed(){return this.#t}get available(){return this.#s}$name(e){ot(this,e);let t=this[me].raw;return t&&(t.label=e),this}resolve(){if(this.#t)throw new Error("This QuerySet has been destroyed.");if(!this.#s)throw new Error("This QuerySet is busy resolving or reading.");let e=this[me].device.createCommandEncoder();e.resolveQuerySet(this.querySet,0,this.count,this[B].resolveBuffer,0),this[me].device.queue.submit([e.finish()])}async read(){if(!this.#o)throw new Error("QuerySet must be resolved before reading.");this.#s=!1;try{let e=this[me].device.createCommandEncoder();e.copyBufferToBuffer(this[B].resolveBuffer,0,this[B].readBuffer,0,this.count*BigUint64Array.BYTES_PER_ELEMENT),this[me].device.queue.submit([e.finish()]);let t=this[B].readBuffer;await t.mapAsync(GPUMapMode.READ);let s=new BigUint64Array(t.getMappedRange().slice());return t.unmap(),Array.from(s)}finally{this.#s=!0}}destroy(){this.#t||(this.#t=!0,this[me].raw&&this.#e&&this[me].raw.destroy(),this.#r?.destroy(),this.#o?.destroy(),this.#r=this.#o=void 0)}};function m6(e,t,s){return e.timestampWrites?{...e,performanceCallback:t}:{...e,performanceCallback:t,timestampWrites:{querySet:s,beginningOfPassWriteIndex:0,endOfPassWriteIndex:1}}}function p6(e,t,s){if(!s.enabledFeatures.has("timestamp-query"))throw new Error('Timestamp writes require the "timestamp-query" feature to be enabled on GPU device.');let r={querySet:t.querySet};return t.beginningOfPassWriteIndex!==void 0&&(r.beginningOfPassWriteIndex=t.beginningOfPassWriteIndex),t.endOfPassWriteIndex!==void 0&&(r.endOfPassWriteIndex=t.endOfPassWriteIndex),{...e,timestampWrites:r}}var ag=new WeakMap;async function aU(e,t){if(!e.available)return;let s=await e.read();for(let{priors:r,callback:o}of t){let n=s[r.timestampWrites?.beginningOfPassWriteIndex??0],i=s[r.timestampWrites?.endOfPassWriteIndex??1];if(n===void 0||i===void 0)throw new Error("QuerySet did not return valid timestamps.");await o(n,i)}}function iU(e,t){let s=t.timestampWrites?.querySet,r=t.performanceCallback;if(!s)throw new Error("Cannot dispatch workgroups with performance callback without a query set.");if(!Uv(s))throw new Error("Performance callback with raw GPUQuerySet is not supported. Use TgpuQuerySet instead.");let o=e[B];if(o.adopted)return!1;let{root:n}=o;o.beforeFinish.set(s,c=>{c.resolveQuerySet(n.unwrap(s),0,s.count,s[B].resolveBuffer,0)});let i=ag.get(e);i||(i=new Map,ag.set(e,i));let d=i.get(s);if(!d){let c=[];d=c,i.set(s,c),o.afterSubmit.set(s,()=>{i.delete(s),aU(s,c)})}return d.some(c=>c.priors===t)?Vt.warnOnce("suspicious",s,"repeated-timed-execution","Repeated executions of a timed pipeline within one command encoder write to the same query set indices, so the performance callback reports only the last execution."):d.push({priors:t,callback:r}),!0}var dU=class{bindGroups=new Map;vertexBuffers=new Map;currentPipeline;indexBuffer;stencilReference;appliedStencilReference=0;version=0;rawAccessed=!1},cU=class{bindGroups=new Map;currentPipeline;version=0;rawAccessed=!1};function f6(e,t,s){ca(t)?e.bindGroups.set(t.layout,t):e.bindGroups.set(t,s),e.version++}function v6(e,t){let{priors:s}=t[B];if(e.currentPipeline=t,s.bindGroupLayoutMap)for(let[r,o]of s.bindGroupLayoutMap)e.bindGroups.set(r,o);if(s.vertexLayoutMap)for(let[r,o]of s.vertexLayoutMap)e.vertexBuffers.set(r,{buffer:o,offset:void 0,size:void 0});s.indexBuffer&&(e.indexBuffer=s.indexBuffer),s.stencilReference!==void 0&&(e.stencilReference=s.stencilReference),e.version++}function y6(e,t){let{priors:s}=t[B];if(e.currentPipeline=t,s.bindGroupLayoutMap)for(let[r,o]of s.bindGroupLayoutMap)e.bindGroups.set(r,o);e.version++}function _U(e,t,s){let{buffer:r,indexFormat:o,offsetBytes:n,sizeBytes:i}=s;hc(r)?e.setIndexBuffer(t.unwrap(r),o,n,i):e.setIndexBuffer(r,o,n,i)}function h6(e,t,s,r,o){let n=new Set(s);if(s.forEach((i,d)=>{if(r&&d===r[0])e.setBindGroup(d,t.unwrap(r[1])),n.delete(i);else{let c=o(i);c!==void 0&&(n.delete(i),ca(c)?e.setBindGroup(d,t.unwrap(c)):e.setBindGroup(d,c))}}),n.size>0)throw new QA(n)}function lU(e,t,s,r){let o=new Set;if(s.forEach((n,i)=>{let d=r(n);!d||!d.buffer?o.add(n):hc(d.buffer)?e.setVertexBuffer(i,t.unwrap(d.buffer),d.offset,d.size):e.setVertexBuffer(i,d.buffer,d.offset,d.size)}),o.size>0)throw new JA(o)}function uU(e,t,s,r){let o=s[B].core.unwrap();e.setPipeline(o.pipeline),h6(e,t,o.usedBindGroupLayouts,o.catchall,n=>r.bindGroups.get(n)),lU(e,t,o.usedVertexLayouts,n=>r.vertexBuffers.get(n)),r.indexBuffer!==void 0&&_U(e,t,r.indexBuffer),typeof e.setStencilReference=="function"&&r.stencilReference!==void 0&&(r.rawAccessed||r.stencilReference!==r.appliedStencilReference)&&(e.setStencilReference(r.stencilReference),r.appliedStencilReference=r.stencilReference)}function mU(e,t,s,r){let o=s[B].core.unwrap();e.setPipeline(o.pipeline),h6(e,t,o.usedBindGroupLayouts,o.catchall,n=>r.bindGroups.get(n))}function x6(e){if(!e)throw new Error("No index buffer is set. Call pipeline.withIndexBuffer or pass.setIndexBuffer before drawing indexed geometry.")}function ig(e,t){Vt.warnOnce("suspicious",e,t,`${t} is ignored when recording into a raw GPUCommandEncoder, since there is no submission to report after. Use root['~unstable'].createCommandEncoder() instead.`)}function g6(e,t){return!e||e[B].adopted?!1:(e[B].afterSubmit.set(t,()=>rU(t)),!0)}function b6(e,t,s,r){s&&!g6(e,s)&&ig(t,"Shader console.log output"),r.performanceCallback&&!iU(e,r)&&ig(t,"The performance callback"),r.encoder===void 0&&e.submit()}var pU={render:{into:"drawing into a render pass",intoRaw:"drawing into a raw render pass",begin:"beginRenderPass"},compute:{into:"dispatching into a compute pass",intoRaw:"dispatching into a raw compute pass",begin:"beginComputePass"}};function w6(e,t,s,r,o,n=!1){let i=pU[o];n&&Vt.warnOnce("suspicious",e,"attachments",`Pipeline-level attachments are ignored when ${i.into}. Pass \`colorAttachments\` and \`depthStencilAttachment\` to encoder.${i.begin} instead.`),s&&Vt.warnOnce("suspicious",e,"timestampWrites",`Pipeline-level timestamp writes are ignored when ${i.into}. Pass \`timestampWrites\` to encoder.${i.begin} instead.`),r&&!g6(t,r)&&Vt.warnOnce("suspicious",e,"logs",`Shader console.log output is ignored when ${i.intoRaw} encoder, since there is no submission to read it back after.`)}function Rp(e,t,s,r,o,n=!1){let{state:i,rawPass:d}=t,{core:c,priors:_}=s[B];i.currentPipeline!==s&&v6(i,s),r&&x6(i.indexBuffer);let u=c.unwrap();n||w6(c,t.owner,!!_.timestampWrites,u.logResources,"render",!!_.colorAttachment||!!_.depthStencilAttachment),(i.rawAccessed||t.appliedVersion!==i.version)&&(uU(d,e,s,i),t.appliedVersion=i.version),o(d)}function zp(e,t,s,r,o=!1){let{state:n,rawPass:i}=t,{core:d,priors:c}=s[B];n.currentPipeline!==s&&y6(n,s);let _=d.unwrap();o||w6(d,t.owner,!!c.timestampWrites,_.logResources,"compute"),(n.rawAccessed||t.appliedVersion!==n.version)&&(mU(i,e,s,n),t.appliedVersion=n.version),r(i)}function fU(e){let t=e;return t?.resourceType==="compute-pipeline"&&mt(t)}function vU(e){let t=e;return t?.resourceType==="render-pipeline"&&mt(t)}function yU(e){return vU(e)||fU(e)}function Cv(e){let t=e;return t?.resourceType==="command-encoder"&&mt(t)}function T6(e){let t=e;return(t?.resourceType==="render-pass"||t?.resourceType==="render-bundle-encoder")&&mt(t)}function S6(e){let t=e;return t?.resourceType==="compute-pass"&&mt(t)}function hU(e){return typeof e?.getCurrentTexture=="function"}function A6(e){let t=e;return!mt(t)&&typeof t?.beginRenderPass=="function"&&typeof t?.beginComputePass=="function"}function xU(e){let t=e;return!mt(t)&&typeof t?.dispatchWorkgroups=="function"&&t?.beginRenderPass===void 0}function gU(e){let t=e;return!mt(t)&&typeof t?.executeBundles=="function"&&typeof t?.draw=="function"}function bU(e){let t=e;return!mt(t)&&typeof t?.draw=="function"&&typeof t?.finish=="function"&&t?.executeBundles===void 0&&t?.beginRenderPass===void 0&&t?.dispatchWorkgroups===void 0}function vm(e,t){return Tc(t)?e.unwrap(t).createView():Oi(t)?e.unwrap(t):hU(t)?t.getCurrentTexture().createView():t}function M6(e,t){let{querySet:s,beginningOfPassWriteIndex:r,endOfPassWriteIndex:o}=t,n={querySet:Uv(s)?e.unwrap(s):s};return r!==void 0&&(n.beginningOfPassWriteIndex=r),o!==void 0&&(n.endOfPassWriteIndex=o),n}function wU(e,t){let{rawEncoder:s,root:r}=e[B],o={};return t?.label!==void 0&&(o.label=t.label),t?.timestampWrites!==void 0&&(o.timestampWrites=M6(r,t.timestampWrites)),new P6(r,s.beginComputePass(o),e)}function TU(e,t){let s=new P6(e,t,void 0);return s[B].state.rawAccessed=!0,s}var P6=class{[B];resourceType="compute-pass";#e;constructor(e,t,s){this.#e=e,this[B]={rawPass:t,state:new cU,owner:s,appliedVersion:void 0}}#t(e){let t=this[B],s=t.state.currentPipeline;if(!s)throw new Error("Cannot dispatch without a call to pass.setPipeline");zp(this.#e,t,s,e)}setPipeline(e){y6(this[B].state,e)}setBindGroup(e,t){f6(this[B].state,e,t)}dispatchWorkgroups(e,t,s){this.#t(r=>r.dispatchWorkgroups(e,t,s))}dispatchWorkgroupsIndirect(e,t){let s=Mn(e)?e:e.buffer,r=Vi(e,t,12,"dispatchWorkgroupsIndirect");this.#t(o=>o.dispatchWorkgroupsIndirect(s,r))}end(){this[B].rawPass.end()}};function SU(e){let t,s="all";if(Tc(e)?t=e.props.format:Oi(e)&&(t=e[B].format,s=e[B].aspect??"all"),t!==void 0)return{hasDepth:t.includes("depth")&&s!=="stencil-only",hasStencil:t.includes("stencil")&&s!=="depth-only"}}function AU(e,t){let s={...e,view:t},r=SU(e.view);if(r===void 0&&(e.depthLoadOp!==void 0||e.depthStoreOp!==void 0||e.stencilLoadOp!==void 0||e.stencilStoreOp!==void 0))return s;let{hasDepth:o,hasStencil:n}=r??{hasDepth:!0,hasStencil:!1};return o&&!e.depthReadOnly&&(s.depthLoadOp??="clear",s.depthStoreOp??="store",s.depthClearValue??=1),n&&!e.stencilReadOnly&&(s.stencilLoadOp??="clear",s.stencilStoreOp??="store"),s}function MU(e,t){let{rawEncoder:s,root:r}=e[B],o={colorAttachments:(t.colorAttachments===void 0?[]:Array.isArray(t.colorAttachments)?t.colorAttachments:[t.colorAttachments]).map(n=>{if(n===null)return null;let i={...n,loadOp:n.loadOp??"clear",storeOp:n.storeOp??"store",view:vm(r,n.view)};return n.resolveTarget!==void 0&&(i.resolveTarget=vm(r,n.resolveTarget)),i})};return t.label!==void 0&&(o.label=t.label),t.depthStencilAttachment!==void 0&&(o.depthStencilAttachment=AU(t.depthStencilAttachment,vm(r,t.depthStencilAttachment.view))),t.occlusionQuerySet!==void 0&&(o.occlusionQuerySet=Uv(t.occlusionQuerySet)?r.unwrap(t.occlusionQuerySet):t.occlusionQuerySet),t.timestampWrites!==void 0&&(o.timestampWrites=M6(r,t.timestampWrites)),t.maxDrawCount!==void 0&&(o.maxDrawCount=t.maxDrawCount),new E6(r,s.beginRenderPass(o),e)}function PU(e,t){return new kU(e,e.device.createRenderBundleEncoder(t),void 0)}function EU(e,t){let s=typeof t.executeBundles=="function"?new E6(e,t,void 0):new Rv(e,t,void 0);return s[B].state.rawAccessed=!0,s}var Rv=class{[B];resourceType="render-bundle-encoder";#e;constructor(e,t,s){this.#e=e,this[B]={rawPass:t,state:new dU,owner:s,appliedVersion:void 0}}#t(e,t){let s=this[B],r=s.state.currentPipeline;if(!r)throw new Error("Cannot draw without a call to pass.setPipeline");Rp(this.#e,s,r,e,t)}setPipeline(e){v6(this[B].state,e)}setBindGroup(e,t){f6(this[B].state,e,t)}setVertexBuffer(e,t,s,r){let{state:o}=this[B];o.vertexBuffers.set(e,{buffer:t,offset:s,size:r}),o.version++}setIndexBuffer(e,t,s,r){let{state:o}=this[B];o.indexBuffer={buffer:e,indexFormat:t,offsetBytes:s,sizeBytes:r},o.version++}draw(e,t,s,r){this.#t(!1,o=>o.draw(e,t,s,r))}drawIndexed(e,t,s,r,o){this.#t(!0,n=>n.drawIndexed(e,t,s,r,o))}drawIndirect(e,t){let s=Mn(e)?e:e.buffer,r=Vi(e,t,16,"drawIndirect");this.#t(!1,o=>o.drawIndirect(s,r))}drawIndexedIndirect(e,t){let s=Mn(e)?e:e.buffer,r=Vi(e,t,20,"drawIndexedIndirect");this.#t(!0,o=>o.drawIndexedIndirect(s,r))}},kU=class extends Rv{resourceType="render-bundle-encoder";finish(e){return this[B].rawPass.finish(e)}},E6=class extends Rv{resourceType="render-pass";setViewport(e,t,s,r,o,n){this[B].rawPass.setViewport(e,t,s,r,o,n)}setScissorRect(e,t,s,r){this[B].rawPass.setScissorRect(e,t,s,r)}setBlendConstant(e){this[B].rawPass.setBlendConstant(e)}setStencilReference(e){let{state:t}=this[B];t.stencilReference=e,t.version++}beginOcclusionQuery(e){this[B].rawPass.beginOcclusionQuery(e)}endOcclusionQuery(){this[B].rawPass.endOcclusionQuery()}executeBundles(e){let t=this[B];t.rawPass.executeBundles(e),t.appliedVersion=void 0}end(){this[B].rawPass.end()}};function zv(e,t){return new $6(e,e.device.createCommandEncoder(t),!1)}function k6(e,t){return new $6(e,t,!0)}var $6=class{[B];resourceType="command-encoder";constructor(e,t,s){this[B]={rawEncoder:t,root:e,adopted:s,beforeFinish:new Map,afterSubmit:new Map}}beginRenderPass(e){return MU(this,e)}beginComputePass(e){return wU(this,e)}#e(){let{rawEncoder:e,beforeFinish:t}=this[B];for(let s of t.values())s(e);t.clear()}submit(){let{rawEncoder:e,root:t,afterSubmit:s}=this[B];this.#e(),t.device.queue.submit([e.finish()]);for(let r of s.values())r();s.clear()}finish(e){let{rawEncoder:t,root:s,afterSubmit:r}=this[B];return this.#e(),r.size>0&&Vt.warnOnce("suspicious",s,"finishWithPendingWork","Shader console.log output and performance callbacks do not fire for command buffers produced by encoder.finish(). Use encoder.submit() instead."),t.finish(e)}},U6=["f16","clip_distances","dual_source_blending","subgroups","primitive_index"],C6={f16:"shader-f16",clip_distances:"clip-distances",dual_source_blending:"dual-source-blending",subgroups:"subgroups",primitive_index:"primitive-index"};function Gp(e,t){return e.type!==t.type?!1:pr(e)&&pr(t)?e.access===t.access&&e.addressSpace===t.addressSpace&&e.implicit===t.implicit&&Gp(e.inner,t.inner):Us(e)&&Us(t)?e.elementCount===t.elementCount&&Gp(e.elementType,t.elementType):Qt(e)&&Qt(t)?e===t:!0}var $U=class{cache=new Map;get(e,t){let s=If(e);if(!s)return;if(!t&&s.ast.params.length>0)throw new Error(`Cannot resolve '${xe(e)}' directly, because it expects arguments. Either call it from another function, or wrap it in a shell`);let r=(t??[]).map((i,d)=>{if(i.value instanceof wn){if(i.dataType===Ut)throw new Qe("d.ref() created with primitive types must be stored in a variable before use");return i.dataType}if(i.dataType===Ut)throw new Error(`Passed illegal value ${i.value} as the #${d} argument to ${xe(e)??""}(...) +Shellless functions can only accept arguments representing WGSL resources: constructible WGSL types, d.refs, samplers or texture views. +Remember, that arguments such as samplers, texture views, accessors, slots etc. should be dereferenced via '.$' first.`);let c=no(i.dataType);return pr(c)&&c.implicit&&(c=c.inner),c}),o=this.cache.get(e);if(o){let i=o.find(d=>d.argTypes.length===r.length&&d.argTypes.every((c,_)=>Gp(c,r[_])));if(i)return i}else o=[],this.cache.set(e,o);let n=D4(r,e);return o.push(n),n}},UU=class{[B];constructor(e){this[B]={strategy:e,takenGlobalIdentifiers:new Set([...mv,...rP]),shelllessRepo:new $U,memoizedResolves:new WeakMap,memoizedLazy:new WeakMap}}};function fd(e){let{names:t="strict"}=e??{};return new UU(t)}var CU=new Set(["bindGroupLayoutMap","vertexLayoutMap","indexBuffer","stencilReference","timestampWrites","performanceCallback"]);function R6(e){return Object.keys(e).filter(t=>!CU.has(t)&&e[t]!==void 0)}var z6=class{#e;#t;measureResolve(e){let t=performance.mark("typegpu:resolution:start"),s=e();return this.#e=performance.measure("typegpu:resolution",{start:t.name}),this.#t=s.code.length,s}measureCompile(e){(async()=>{let t=performance.mark("typegpu:compile-start");await e.queue.onSubmittedWorkDone();let s=performance.measure("typegpu:compiled",{start:t.name});Df?.record("resolution",{resolveDuration:this.#e?.duration,compileDuration:s.duration,wgslSize:this.#t})})()}},G6=class{measureResolve(e){return e()}measureCompile(){}};function RU(e,t,s){return new zU(new GU(e,t,s),{})}var zU=class Y6{[B];[me];resourceType="compute-pipeline";[Xs];constructor(t,s){this[me]={type:"compute-pipeline",device:t.root.device,raw:void 0,label:void 0},this[B]={core:t,priors:s,root:t.root,materialize:()=>{let r=this[me];if(!r.raw){let o=t.unwrap();r.raw=o.pipeline,r.usedBindGroupLayouts=o.usedBindGroupLayouts,r.bindGroups=l6(o.usedBindGroupLayouts,o.catchall,s.bindGroupLayoutMap),r.timestampWrites=s.timestampWrites,r.performanceCallback=s.performanceCallback,r.nonTransferablePriors=R6(s)}return r.raw}},this[Xs]=t}[kt](t){return t.resolve(this[B].core)}toString(){return`computePipeline:${xe(this)??""}`}#e(t){let{core:s,priors:r}=this[B];return new Y6(s,{...r,...t})}with(t,s){let r=this[B];if(S6(t))return this.#e({pass:t,encoder:void 0});if(Cv(t))return this.#e({pass:void 0,encoder:t});if(xU(t))return this.#e({pass:TU(r.root,t),encoder:void 0});if(A6(t))return this.#e({pass:void 0,encoder:k6(r.root,t)});if(ca(t)||Zu(t)){let[o,n]=ca(t)?[t.layout,t]:[t,s];return this.#e({bindGroupLayoutMap:new Map([...r.priors.bindGroupLayoutMap??[],[o,n]])})}throw new Error("Unsupported value passed into .with()")}withPerformanceCallback(t){let s=this[B];if(s.priors.timestampWrites)return this.#e({performanceCallback:t});let r=s.core.performanceCallbackQuerySet;return r?this.#e(m6(s.priors,t,r)):(Vt.warn("webgpu-feature-missing","Performance callback cannot be used because the timestamp-query feature is not enabled on the root."),this)}withTimestampWrites(t){let s=this[B];return this.#e(p6(s.priors,t,s.root))}dispatchWorkgroups(t,s,r){this.#t(o=>o.dispatchWorkgroups(t,s,r))}dispatchWorkgroupsIndirect(t,s){let r=Mn(t)?t:t.buffer,o=Vi(t,s,12,"dispatchWorkgroupsIndirect");this.#t(n=>n.dispatchWorkgroupsIndirect(r,o))}initAsync(){return this[B].core.initAsync()}initSync(){this[B].core.initSync()}#t(t){let{core:s,priors:r,root:o}=this[B];if(r.pass){zp(o,r.pass[B],this,t);return}let n=r.encoder??zv(o),i=n.beginComputePass({label:xe(s)??"",timestampWrites:r.timestampWrites});zp(o,i[B],this,t,!0),i.end(),b6(n,s,s.unwrap().logResources,r)}$name(t){return ot(this,t),this}},GU=class L6{[B]=!0;root;#e;#t;#s;#r;#o;#n;constructor(t,s,r){this.root=t,this.#r=s,this.#o=r,this.#e=Df?.enabled?new z6:new G6}static precompiled(t,s){let r=new L6(t,[],void 0);return r.#s=s,r}[kt](t){let s=this.#o;return s?t.withSlots(this.#r,()=>(t.resolve(s.compute),ve("",_s,"runtime"))):ve("",_s,"runtime")}toString(){return"computePipelineCore"}get performanceCallbackQuerySet(){if(this.root.enabledFeatures.has("timestamp-query"))return this.#n??=(globalThis.__TYPEGPU_AUTONAME__??(t=>t))(this.root.createQuerySet("timestamp",2),"performanceCallbackQuerySet")}initAsync(){if(this.#s!==void 0)return Promise.resolve();if(this.#t===void 0){let t=this.root.device,{resolutionResult:s,module:r}=this.resolveAndCreateShaderModule(),{usedBindGroupLayouts:o,catchall:n,logResources:i}=s;this.#t=t.createComputePipelineAsync({label:xe(this)??"",layout:t.createPipelineLayout({label:`${xe(this)??""} - Pipeline Layout`,bindGroupLayouts:o.map(d=>this.root.unwrap(d))}),compute:{module:r}}).then(d=>{this.#s={pipeline:d,usedBindGroupLayouts:o,catchall:n,logResources:i},this.#e.measureCompile(t)}).finally(()=>{this.#t=void 0})}return this.#t}initSync(){if(this.#s!==void 0)return;if(this.#t!==void 0)throw new Error("'pipeline.initAsync()' was called and is not yet resolved.");let t=this.root.device,{resolutionResult:s,module:r}=this.resolveAndCreateShaderModule(),{usedBindGroupLayouts:o,catchall:n,logResources:i}=s;this.#s={pipeline:(globalThis.__TYPEGPU_AUTONAME__??(d=>d))(t.createComputePipeline({label:xe(this)??"",layout:t.createPipelineLayout({label:`${xe(this)??""} - Pipeline Layout`,bindGroupLayouts:o.map(d=>this.root.unwrap(d))}),compute:{module:r}}),"pipeline"),usedBindGroupLayouts:o,catchall:n,logResources:i},this.#e.measureCompile(t)}unwrap(){return this.initSync(),this.#s}resolveAndCreateShaderModule(){let t=this.root.device,s=U6.filter(c=>this.root.enabledFeatures.has(C6[c])),r=fd({names:this.root.nameRegistrySetting}),o=this.#e.measureResolve(()=>Ju(this,{namespace:r,minify:this.root.minify,enableExtensions:s,shaderGenerator:this.root.shaderGeneratorClass?new this.root.shaderGeneratorClass:void 0,root:this.root})),{code:n,usedBindGroupLayouts:i,catchall:d}=o;return d!==void 0&&i[d[0]]?.$name(`${xe(this)??""} - Automatic Bind Group & Layout`),B5(i,t.limits),{resolutionResult:o,module:t.createShaderModule({label:`${xe(this)??""} - Shader`,code:n})}}},YU={$vertexIndex:_r.vertexIndex,$instanceIndex:_r.instanceIndex},LU={$clipDistances:_r.clipDistances,$position:_r.position},IU={$position:_r.position,$frontFacing:_r.frontFacing,$primitiveIndex:_r.primitiveIndex,$sampleIndex:_r.sampleIndex,$sampleMask:_r.sampleMask,$subgroupInvocationId:_r.subgroupInvocationId,$subgroupSize:_r.subgroupSize},DU={$fragDepth:_r.fragDepth,$sampleMask:_r.sampleMask},Gv=class{#e;autoIn;autoOut;constructor(e,t,s){xe(e)||ot(e,"fragmentFn"),this.#e=ri(e,"fragment"),this.autoIn=new Wo({...IU,...t},void 0,s),ot(this.autoIn,"FragmentIn"),this.autoOut=new Wo(DU,Oe),ot(this.autoOut,"FragmentOut")}toString(){return"autoFragmentFn"}[kt](e){return e.withSlots([[pd,"fragment"]],()=>this.#e.resolve(e,[this.autoIn],this.autoOut))}};Gv.prototype[B]=!0;Gv.prototype.resourceType="auto-fragment-fn";var Yv=class{#e;autoIn;autoOut;constructor(e,t,s){xe(e)||ot(e,"vertexFn"),this.#e=ri(e,"vertex"),this.autoIn=new Wo({...YU,...t},void 0,s),ot(this.autoIn,"VertexIn"),this.autoOut=new Wo(LU,void 0),ot(this.autoOut,"VertexOut")}toString(){return"autoVertexFn"}[kt](e){return e.withSlots([[pd,"vertex"]],()=>this.#e.resolve(e,[this.autoIn],this.autoOut))}};Yv.prototype[B]=!0;Yv.prototype.resourceType="auto-vertex-fn";function I6(e,t="vertex"){return new FU(e,t)}function D6(e){return e?.resourceType==="vertex-layout"}var Yp=Symbol("defaultAttribEntry");function ul(e,t,s,r,o){if(zn(t)||ha(t)){let n=na(t);return n!==void 0&&(r[o??Yp]=n),ul(e,t.inner,qs(s,wo(t)),r)}if(Qt(t)){let n=s,i=t.propTypes;return Object.fromEntries(Object.entries(i).map(([d,c])=>{n=qs(n,rs(c));let _=[d,ul(e,c,n,r,d)];return n+=_t(c),_}))}if(un(t)){let n=s,i=t.propTypes;return Object.fromEntries(Object.entries(i).map(([d,c])=>{n=qs(n,wo(c));let _=[d,ul(e,c,n,r,d)];return n+=_t(c),_}))}if("type"in t&&typeof t.type=="string"){if(y2.includes(t.type))return{_layout:e,format:t.type,offset:s};let n=eM[t.type];if(n)return{_layout:e,format:n,offset:s}}throw new Error(`Unsupported data used in vertex layout: ${String(t)}`)}var FU=class{[B]=!0;[me];resourceType="vertex-layout";stride;attrib;schemaForCount;#e={};constructor(e,t){this.schemaForCount=e;let s=e(0);this[me]={type:"vertex-layout",schema:s,stepMode:t,label:void 0},this.stride=qs(_t(s.elementType),rs(s)),this.attrib=ul(this,s.elementType,0,this.#e)}get stepMode(){return this[me].stepMode}get vertexLayout(){if(this.#e[Yp]!==void 0){if(typeof this.attrib.format!="string"||typeof this.attrib.offset!="number")throw new Error("Single attribute vertex layouts must have a format and offset.");return{arrayStride:this.stride,stepMode:this.stepMode,attributes:[{format:this.attrib.format,offset:this.attrib.offset,shaderLocation:this.#e[Yp]}]}}if(!Object.keys(this.attrib).every(e=>this.#e[e]!==void 0))throw new Error("All attributes must have custom locations in order to unwrap a vertex layout.");return{arrayStride:this.stride,stepMode:this.stepMode,attributes:Object.entries(this.attrib).map(([e,t])=>({format:t.format,offset:t.offset,shaderLocation:this.#e[e]}))}}$name(e){return ot(this,e),this}};function BU(e){return!!e?.view}function WU(e,t){if(Cu(e)||nn(e))return[];if(Qt(e)){let s=[];for(let r of Object.keys(e.propTypes)){let o=e.propTypes[r];if(nn(o))continue;let n=t[r];if(!n)throw new Error(`A color attachment by the name of '${r}' was not provided to the shader.`);s.push(n)}return s}if(!BU(t))throw new Error("Expected a single color attachment, not a record.");return[t]}function OU(e,t){let s;if(Cu(e)||nn(e))return[null];if(Qt(e)){let o=[];for(let n of Object.keys(e.propTypes)){let i=e.propTypes[n];if(nn(i))continue;let d=t[n];o.push({...d,format:d?.format??(s??=navigator.gpu.getPreferredCanvasFormat())})}return o}let r=t;return[{...r,format:r?.format??(s??=navigator.gpu.getPreferredCanvasFormat())}]}function VU(e){return new NU(new qU(e),{})}var NU=class F6{[B];[me];resourceType="render-pipeline";[Xs];constructor(t,s){this[me]={type:"render-pipeline",device:t.options.root.device,raw:void 0,label:void 0},this[B]={core:t,priors:s,root:t.options.root,materialize:()=>{let r=this[me];if(!r.raw){let o=t.unwrap();r.raw=o.pipeline,r.usedBindGroupLayouts=o.usedBindGroupLayouts,r.usedVertexLayouts=o.usedVertexLayouts,r.fragmentOut=o.fragmentOut,r.bindGroups=l6(o.usedBindGroupLayouts,o.catchall,s.bindGroupLayoutMap),r.vertexBuffers=N4(o.usedVertexLayouts,s.vertexLayoutMap),r.indexBuffer=s.indexBuffer,r.stencilReference=s.stencilReference,r.timestampWrites=s.timestampWrites,r.performanceCallback=s.performanceCallback,r.nonTransferablePriors=R6(s)}return r.raw}},this[Xs]=t}[kt](t){return t.resolve(this[B].core)}toString(){return`renderPipeline:${xe(this)??""}`}$name(t){return ot(this,t),this}#e(t){let{core:s,priors:r}=this[B];return new F6(s,{...r,...t})}with(t,s){let r=this[B];if(T6(t))return this.#e({pass:t,encoder:void 0});if(Cv(t))return this.#e({pass:void 0,encoder:t});if(gU(t)||bU(t))return this.#e({pass:EU(r.root,t),encoder:void 0});if(A6(t))return this.#e({pass:void 0,encoder:k6(r.root,t)});if(ca(t)||Zu(t)){let[o,n]=ca(t)?[t.layout,t]:[t,s];return this.#e({bindGroupLayoutMap:new Map([...r.priors.bindGroupLayoutMap??[],[o,n]])})}if(D6(t))return this.#e({vertexLayoutMap:new Map([...r.priors.vertexLayoutMap??[],[t,s]])});throw new Error("Unsupported value passed into .with()")}withPerformanceCallback(t){let s=this[B];if(s.priors.timestampWrites)return this.#e({performanceCallback:t});let r=s.core.performanceCallbackQuerySet;return r?this.#e(m6(s.priors,t,r)):(Vt.warn("webgpu-feature-missing","Performance callback cannot be used because the timestamp-query feature is not enabled on the root."),this)}withTimestampWrites(t){let s=this[B];return this.#e(p6(s.priors,t,s.root))}withColorAttachment(t){return this.#e({colorAttachment:t})}withDepthStencilAttachment(t){return this.#e({depthStencilAttachment:t})}withStencilReference(t){return this.#e({stencilReference:t})}withIndexBuffer(t,s,r,o){if(Mn(t)){if(typeof s!="string")throw new Error("If a GPUBuffer is passed, indexFormat must be provided.");return this.#e({indexBuffer:{buffer:t,indexFormat:s,offsetBytes:r,sizeBytes:o}})}let n={u32:"uint32",u16:"uint16"},i=t.dataType.elementType;return this.#e({indexBuffer:{buffer:t,indexFormat:n[i.type],offsetBytes:s!==void 0?s*_t(i):void 0,sizeBytes:o!==void 0?o*_t(i):void 0}})}initAsync(){return this[B].core.initAsync()}initSync(){this[B].core.initSync()}get hasIndexBuffer(){return this[B].priors.indexBuffer!==void 0}#t(){let{core:t,priors:s}=this[B],{fragmentOut:r}=t.unwrap();return{label:xe(t)??"",colorAttachments:r?WU(r,s.colorAttachment??{}):[],depthStencilAttachment:s.depthStencilAttachment,timestampWrites:s.timestampWrites}}#s(t,s){let{core:r,priors:o,root:n}=this[B];if(o.pass){Rp(n,o.pass[B],this,t,s);return}t&&x6(o.indexBuffer);let i=o.encoder??zv(n),d=i.beginRenderPass(this.#t());Rp(n,d[B],this,t,s,!0),d.end(),b6(i,r,r.unwrap().logResources,o)}draw(t,s,r,o){this.#s(!1,n=>n.draw(t,s,r,o))}drawIndexed(t,s,r,o,n){this.#s(!0,i=>i.drawIndexed(t,s,r,o,n))}drawIndirect(t,s){let r=Mn(t)?t:t.buffer,o=Vi(t,s,16,"drawIndirect");this.#s(!1,n=>n.drawIndirect(r,o))}drawIndexedIndirect(t,s){let r=Mn(t)?t:t.buffer,o=Vi(t,s,20,"drawIndexedIndirect");this.#s(!0,n=>n.drawIndexedIndirect(r,o))}},qU=class B6{[B]=!0;options;#e;#t;#s;#r;#o;#n;constructor(t){this.options=t,this.#e=Df?.enabled?new z6:new G6}static precompiled(t,s){let r=new B6({root:t,slotBindings:[],descriptor:void 0});return r.#s=s,r}[kt](t){let{slotBindings:s}=this.options,{vertex:r,fragment:o,attribs:n={}}=this.options.descriptor??{};if(!r)return ve("",_s,"runtime");this.#r=void 0,this.#o=void 0;let i=XU(r?.shell?.out,o?.shell?.in,xe(r)??"",xe(o)??"");return t.withVaryingLocations(i,()=>t.withSlots(s,()=>{let d;if(typeof r=="function"){let c=new Yv(r,Object.fromEntries(Object.entries(n).map(([_,u])=>[_,$n[u.format]])),i);t.resolve(c),this.#r=c.autoIn.completeStruct.propTypes,d=c.autoOut.completeStruct}else d=t.resolve(r).dataType;if(o)if(typeof o=="function"){let c=Object.fromEntries(Object.entries(d.propTypes).filter(([,_])=>!nn(_)));this.#o=t.resolve(new Gv(o,c,i)).dataType}else t.resolve(o);return ve("",_s,"runtime")}))}toString(){return"renderPipelineCore"}get performanceCallbackQuerySet(){if(this.options.root.enabledFeatures.has("timestamp-query"))return this.#n??=(globalThis.__TYPEGPU_AUTONAME__??(t=>t))(this.options.root.createQuerySet("timestamp",2),"performanceCallbackQuerySet")}initAsync(){if(this.#s!==void 0)return Promise.resolve();if(this.#t===void 0){let t=this.options.root.device,{resolutionResult:s,descriptor:r,connectedAttribs:o,fragmentOut:n}=this.resolveAndCreateShaderModule(),{usedBindGroupLayouts:i,catchall:d,logResources:c}=s;this.#t=t.createRenderPipelineAsync(r).then(_=>{this.#s={pipeline:_,usedBindGroupLayouts:i,catchall:d,logResources:c,usedVertexLayouts:o.usedVertexLayouts,fragmentOut:n},this.#e.measureCompile(t)}).finally(()=>{this.#t=void 0})}return this.#t}initSync(){if(this.#s!==void 0)return;if(this.#t!==void 0)throw new Error("'pipeline.initAsync()' was called and is not yet resolved.");let t=this.options.root.device,{resolutionResult:s,descriptor:r,connectedAttribs:o,fragmentOut:n}=this.resolveAndCreateShaderModule(),{usedBindGroupLayouts:i,catchall:d,logResources:c}=s;this.#s={pipeline:(globalThis.__TYPEGPU_AUTONAME__??(_=>_))(t.createRenderPipeline(r),"pipeline"),usedBindGroupLayouts:i,catchall:d,logResources:c,usedVertexLayouts:o.usedVertexLayouts,fragmentOut:n},this.#e.measureCompile(t)}unwrap(){return this.initSync(),this.#s}resolveAndCreateShaderModule(){let{root:t,descriptor:s}=this.options;if(!s)throw new Error("Precompiled pipelines are never resolved again.");let r=t.device,o=U6.filter(P=>t.enabledFeatures.has(C6[P])),n=fd({names:t.nameRegistrySetting}),i=this.#e.measureResolve(()=>Ju(this,{namespace:n,minify:t.minify,enableExtensions:o,shaderGenerator:t.shaderGeneratorClass?new t.shaderGeneratorClass:void 0,root:t})),{code:d,usedBindGroupLayouts:c,catchall:_}=i;_!==void 0&&c[_[0]]?.$name(`${xe(this)??""} - Automatic Bind Group & Layout`),B5(c,r.limits);let u=r.createShaderModule({label:`${xe(this)??""} - Shader`,code:d}),{vertex:m,fragment:p,attribs:y={},targets:h}=s,g=m$(m?.shell?.in??this.#r??{},y),w=p?.shell?.returnType??this.#o,S=w?OU(w,h):[null],T={layout:r.createPipelineLayout({label:`${xe(this)??""} - Pipeline Layout`,bindGroupLayouts:c.map(P=>t.unwrap(P))}),vertex:{module:u,buffers:g.bufferDefinitions}},A=xe(this);return A!==void 0&&(T.label=A),s.fragment&&(T.fragment={module:u,targets:S}),s.primitive&&(Qa(s.primitive.stripIndexFormat)?T.primitive={...s.primitive,stripIndexFormat:{u32:"uint32",u16:"uint16"}[s.primitive.stripIndexFormat.type]}:T.primitive=s.primitive),s.depthStencil&&(T.depthStencil=s.depthStencil),s.multisample&&(T.multisample=s.multisample),{resolutionResult:i,descriptor:T,connectedAttribs:g,fragmentOut:w}}};function XU(e={},t={},s,r){let o={},n=new Set;function i(c,_){o[c]=_,n.add(_)}for(let[c,_]of Object.entries(e)){let u=na(_);u!==void 0&&i(c,u)}for(let[c,_]of Object.entries(t)){let u=na(_);u!==void 0&&(o[c]===void 0?i(c,u):o[c]!==u&&Vt.warn("locations-mismatched",`Mismatched location between vertexFn (${s}) output (${o[c]}) and fragmentFn (${r}) input (${u}) for the key "${c}", using the location set on vertex output.`))}let d=0;for(let c of Object.keys(e??{}))if(!(nn(e[c])||o[c]!==void 0)){for(;n.has(d);)d++;i(c,d)}return o}var dg=class{#e=new WeakMap;#t;constructor(e){this.#t=e}getOrMake(e,...t){if(this.#e.has(e))return this.#e.get(e);let s=this.#t(e,...t);return this.#e.set(e,s),s}};function Lv(e){let t={argTypes:Object.values(e.in??{}),returnType:_s,workgroupSize:e.workgroupSize,entryPoint:"compute"},s=g5(e.in??{});return Object.assign((o,...n)=>HU(t,e.workgroupSize,Hu(o,...n),s),t)}function HU(e,t,s,r){let o=ri(s,"compute",t);return{shell:e,$uses(n){return o.setExternals("userProvided",n),this},[B]:!0,[Xs]:o,$name(n){return ot(this,n),this},[kt](n){return n.withSlots([[pd,"compute"]],()=>o.resolve(n,[],e.returnType,r))},toString(){return`computeFn:${xe(o)??""}`}}}function jU(e){if(e.includes(0))throw new Error("Size and workgroupSize cannot contain zeroes.");return gt(e[0]??1,e[1]??1,e[2]??1)}var KU=[gt(1,1,1),gt(256,1,1),gt(16,16,1),gt(8,8,4)],ZU=class ml{resourceType="guarded-compute-pipeline";[me];#e;#t;constructor(t,s,r,o){this.#e=t,this.#t=gt(),this[me]={type:"guarded-compute-pipeline",device:t.device,pipeline:s,sizeUniform:r,workgroupSize:o,label:void 0}}with(t){if(!ca(t))throw new Error("Guarded pipelines only accept bind groups in .with(). To record into passes or encoders, use a regular compute pipeline.");return new ml(this.#e,this[me].pipeline.with(t),this[me].sizeUniform,this[me].workgroupSize)}withPerformanceCallback(t){return new ml(this.#e,this[me].pipeline.withPerformanceCallback(t),this[me].sizeUniform,this[me].workgroupSize)}withTimestampWrites(t){return new ml(this.#e,this[me].pipeline.withTimestampWrites(t),this[me].sizeUniform,this[me].workgroupSize)}dispatchThreads(...t){let s=jU(t),r=cc(It(s).div(It(this[me].workgroupSize)));n$(s,this.#t)||(this.#t=s,this[me].sizeUniform.write(s)),this[me].pipeline.dispatchWorkgroups(r.x,r.y,r.z)}initAsync(){return this[me].pipeline.initAsync()}initSync(){this[me].pipeline.initSync()}get pipeline(){return this[me].pipeline}get sizeUniform(){return this[me].sizeUniform}[B]=!0;get[Xs](){return this[me].pipeline}$name(t){return ot(this,t),this}},QU=class Lp{#e;#t;constructor(t,s){this.#e=t,this.#t=s}with(t,s){return new Lp(this.#e,[...this.#t,[dd(t)||cd(t)?t.slot:t,s]])}createComputePipeline(t){return RU(this.#e(),this.#t,t)}createRenderPipeline(t){return VU({root:this.#e(),slotBindings:this.#t,descriptor:t})}createGuardedComputePipeline(t){let s=this.#e();if(t.length>=4)throw new Error("Guarded compute callback only supports up to three dimensions.");let r=KU[t.length],o=qt([R,R,R])(t);xe(o)===void 0&&o.$name("wrappedCallback");let n=(globalThis.__TYPEGPU_AUTONAME__??(d=>d))(s.createUniform(gt),"sizeUniform"),i=(globalThis.__TYPEGPU_AUTONAME__??(d=>d))(Lv({workgroupSize:r,in:{id:_r.globalInvocationId}})`{ + if (any(in.id >= sizeUniform)) { + return; + } + wrappedCallback(in.id.x, in.id.y, in.id.z); +}`.$uses({sizeUniform:n,wrappedCallback:o}),"mainCompute");return new ZU(s,this.createComputePipeline({compute:i}),n,r)}pipe(t){let s=t(new W5([]));return new Lp(this.#e,[...this.#t,...s.bindings])}},W6=class extends QU{"~unstable";resourceType="root";[me];device;nameRegistrySetting;shaderGeneratorClass;#e=new dg(e=>e.unwrap(this));#t=new dg(e=>e.unwrap(this));#s;[B];constructor(e,t,s,r,o,n){super(()=>this,[]),this.device=e,this.nameRegistrySetting=t,this.#s=r,this.shaderGeneratorClass=n,this["~unstable"]=this,this[me]={type:"root",device:e,nameRegistrySetting:t,logOptions:o,minify:s,nonTransferablePriors:n?["shaderGeneratorClass"]:void 0,label:void 0},this[B]={logOptions:o}}configureContext(e){let t=e.canvas.getContext("webgpu");if(!t)throw new Error("Unable to initialize 'webgpu' context on the provided canvas.");return t.configure({...e,device:this.device,format:e.format??navigator.gpu.getPreferredCanvasFormat()}),t}get enabledFeatures(){return new Set(this.device.features)}get minify(){return this[me].minify}createBuffer(e,t){return F_(this,e,t)}createUniform(e,t){return new Va("uniform",F_(this,e,t).$usage("uniform"))}createMutable(e,t){return new Va("mutable",F_(this,e,t).$usage("storage"))}createReadonly(e,t){return new Va("readonly",F_(this,e,t).$usage("storage"))}createQuerySet(e,t,s){return oU(this,e,t,s)}createBindGroup(e,t){return new Q5(this,e,t)}destroy(){g4(this.device),this.#s&&this.device.destroy()}createTexture(e){return S4(e,this)}createSampler(e){return J$(e,this)}createComparisonSampler(e){return e4(e,this)}unwrap(e){if(Cv(e))return e[B].rawEncoder;if(T6(e)||S6(e))return e[B].state.rawAccessed=!0,e[B].rawPass;if(Zu(e))return this.#e.getOrMake(e);if(ca(e))return this.#t.getOrMake(e);if(Oc(e))return e.buffer.buffer;if(Oi(e)){if(!e[B].unwrap)throw new Error("Cannot unwrap laid-out texture view as it has no underlying resource.");return e[B].unwrap()}if(D6(e))return e.vertexLayout;let t=e[B];if(t?.materialize)return t.materialize();throw kv(e)||$v(e)?new Error("Cannot unwrap laid-out sampler."):new Error(`Unknown resource type: ${io(e)}`)}createCommandEncoder(e){return zv(this,e)}createRenderBundleEncoder(e){return PU(this,e)}};async function JU(e){let{adapter:t,device:s,unstable_names:r="strict",unstable_minify:o=!1,unstable_logOptions:n,unstable_shaderGeneratorClass:i}=e??{},{optionalFeatures:d,...c}=s??{};if(!navigator.gpu)throw new Error("WebGPU is not supported by this browser.");let _=await navigator.gpu.requestAdapter(t);if(!_)throw new Error("Could not find a compatible GPU");let u=[];for(let m of c.requiredFeatures??[]){if(!_.features.has(m))throw new Error(`Requested feature "${m}" is not supported by the adapter.`);u.push(m)}for(let m of d??[])_.features.has(m)?u.push(m):Vt.warn("webgpu-feature-missing",`Optional feature "${m}" is not supported by the adapter.`);return new W6(await _.requestDevice({...c,requiredFeatures:u}),r,o,!0,n??{},i)}function eC(e){let{device:t,unstable_names:s="strict",unstable_minify:r=!1,unstable_logOptions:o,unstable_shaderGeneratorClass:n}=e??{};return new W6(t,s,r,!1,o??{},n)}function O6(e,t){return new tC(e,t)}function V6(e,t){return new sC(e,t)}function Iv(e){let t=Na(),s=kl(t.unwrap(e.slot));for(;typeof s=="function"&&!vp(s)&&!Tl(s)&&!Fi(s);)s=s(),Gc(s)&&(s=s.value);let r=Gu(s);if(r)return r;if(Tl(s))return s[zs].call(t,[]);if(vp(s)||Fi(s)){let o=t.resolve(s);return t.withResetIndentLevel(()=>ve(`${o.value}()`,e.schema,"runtime",o.possibleSideEffects))}t.pushMode(new _d);try{return ve(aa(e.schema,s),e.schema,"constant",!1)}finally{t.popMode("normal")}}var N6=class Ip{[Xs];[me];slot;static#e=void(Ip.prototype[B]=!0,In(Ip.prototype,{asString(){return`${this.resourceType}:${xe(this)??""}`},resolve(t){return t.resolveSnippet(Iv(this))}}));constructor(t,s,r=void 0){this[me]={type:t,schema:Rc(s)?s:s(0),defaultValue:r,label:void 0},this.slot=Nc(r),this[Xs]=this.slot}get schema(){return this[me].schema}get defaultValue(){return this[me].defaultValue}$name(t){return ot(this,t),this.defaultValue&&typeof this.defaultValue=="function"&&!xe(this.defaultValue)&&ot(this.defaultValue,t),this}},tC=class Dp extends N6{static#e=void(Dp.prototype.resourceType="accessor",mn(Dp.prototype,{codegenMode:{get(){return Iv(this)}},normalMode:{get(){throw new Error("`tgpu.accessor` relies on GPU resources and cannot be accessed outside of a compute dispatch or draw call. Use `tgpu.slot` for non-WGSL values instead.")}}}));constructor(t,s=void 0){super("accessor",t,s)}},sC=class Fp extends N6{static#e=void(Fp.prototype.resourceType="mutable-accessor",mn(Fp.prototype,{codegenMode:{get(){return Iv(this)}},normalMode:{get(){throw new Error("`tgpu.mutableAccessor` relies on GPU resources and cannot be accessed outside of a compute dispatch or draw call. Use `tgpu.slot` for non-WGSL values instead.")}}}));constructor(t,s=void 0){super("mutable-accessor",t,s)}};function Bp(e,t){return Array.isArray(e)?nC(e,t):oC(e)}function rC(e,t){return Array.isArray(e)?Bp(e,t).code:Bp(e).code}function oC(e){let{template:t,externals:s,unstable_shaderGenerator:r,names:o="strict",unstable_minify:n,config:i,enableExtensions:d}=e;t||Vt.warn("deprecated","Calling resolve with an empty template is deprecated and will soon return an empty string. Consider using the 'tgpu.resolve(resolvableArray, options)' API instead.");let c={[B]:!0,[kt](u){return ve(Xu(u,s,t??""),_s,"runtime")},toString:()=>""},_=q6(Object.values(s));return Ju(c,{namespace:typeof o=="string"?fd({names:o}):o,minify:n??_?.minify??!1,enableExtensions:d,shaderGenerator:r,config:i,root:_})}function nC(e,t){let{unstable_shaderGenerator:s,names:r="strict",unstable_minify:o,config:n,enableExtensions:i}=t??{},d={[B]:!0,[kt](_){for(let u of e)if(Zu(u))for(let m of Object.values(u[B]))_.resolve(m);else _.resolve(u);return ve("",_s,"runtime")},toString:()=>""},c=q6(e);return Ju(d,{namespace:typeof r=="string"?fd({names:r}):r,minify:o??c?.minify??!1,enableExtensions:i,shaderGenerator:s,config:n,root:c})}function q6(e){let t=new Map;for(let s of e){let r=Wp(s);if(r){let o=t.get(r)??new Set;t.set(r,o),o.add(s)}}if(t.size>1){let s=[...t.values()].map((r,o)=>`root ${o+1}: ${[...r].map(n=>xe(n)??"").join(", ")}`).join("; ");throw new Error(`Found resources originating from different roots in a single resolve (${s}).`)}return[...t.keys()][0]}function Wp(e){if(yU(e)||hc(e)||Tc(e)||kv(e)||$v(e))return e[B].root;if(Oc(e))return Wp(e.buffer);if(Oi(e))return Wp(e?.[me]?.texture)}function X6(e){if(Na())throw new Error("Cannot create tgpu.lazy objects during shader resolution.");return new aC(e,void 0)}var aC=class pl{[B];[Mr];static#e=void(pl.prototype.resourceType="lazy",mn(In(pl.prototype,{asString:()=>"lazy",resolve(t){throw new Error("Unreachable, is never resolved directly")}}),{codegenMode:{get(){return this.#t()}},normalMode:{get(){return this.#t()}}}));constructor(t,s){this[B]={compute:t},this[Mr]=s}get[Hr](){let t=Na();if(!t)throw new Error("Cannot access tgpu.lazy's value outside of resolution.");return kl(t.unwrap(this))}get $(){return this[Hr]}#t(){let t=Na();if(!t)throw new Error("Cannot access tgpu.lazy's value outside of resolution.");return kl(t.unwrap(this))}with(t,s){return new pl(this[B].compute.bind(this),{inner:this[Mr]?.inner??this,pairs:[...this[Mr]?.pairs??[],[dd(t)||cd(t)?t.slot:t,s]]})}};function H6(e){let t={in:e.in,out:e.out,returnType:Bc(e.out),entryPoint:"fragment"};return Object.assign((r,...o)=>iC(t,Hu(r,...o)),t)}function iC(e,t){let s=ri(t,"fragment"),r=e.returnType;return typeof t=="string"&&T5(t,r,s),{shell:e,outputType:r,$uses(o){return s.setExternals("userProvided",o),this},[B]:!0,[Xs]:s,$name(o){return ot(this,o),Di(r)&&r.$name(`${o}_Output`),this},[kt](o){let n=g5(e.in??{},o.varyingLocations??{});return n.dataSchema&&Di(n.dataSchema)&&n.dataSchema.$name(`${xe(this)??""}_Input`),typeof t=="string"&&s.setExternals("out",{Out:r}),o.withSlots([[pd,"fragment"]],()=>s.resolve(o,[],e.returnType,n))},toString(){return`fragmentFn:${xe(s)??""}`}}}function e1(e){if(Object.keys(e.out).length===0)throw new Error("A vertexFn output cannot be empty since it must include the 'position' builtin.");let t={in:e.in,out:e.out,argTypes:e.in&&Object.keys(e.in).length!==0?[Bc(e.in)]:[],entryPoint:"vertex"};return Object.assign((r,...o)=>dC(t,Hu(r,...o)),t)}function dC(e,t){let s=ri(t,"vertex"),r=IE(e.in??{});return{shell:e,$uses(o){return s.setExternals("userProvided",o),this},[B]:!0,[Xs]:s,$name(o){return ot(this,o),this},[kt](o){let n=Bc(e.out,o.varyingLocations).$name(`${xe(this)??""}_Output`);return typeof t=="string"&&s.setExternals("out",{Out:n}),o.withSlots([[pd,"vertex"]],()=>s.resolve(o,[],n,r))},toString(){return`vertexFn:${xe(s)??""}`}}}function cC(e){return new _C(e)}var _C=class{[B]=!0;#e;#t;constructor(e){this.#t=e}$uses(e){if(this.#e!==void 0)throw new Error("Cannot call '$uses' multiple times. If you wish to override dependencies, use slots or accessors instead.");return this.#e=e,this}[kt](e){let t=Xu(e,this.#e??{},this.#t);return e.addDeclaration(t),ve("",_s,"constant")}toString(){return`declare: ${this.#t}`}};function lC(e,t,s="runtime",r=!0){return new uC(e,t,s,r)}var uC=class Op{dataType;origin;possibleSideEffects;#e;#t;static#s=void(Op.prototype[B]=!0,mn(In(Op.prototype,{asString(){return`raw(${String(this.dataType)}): "${this.#e}"`},resolve(t){return ve(Xu(t,this.#t??{},this.#e),this.dataType,this.origin,this.possibleSideEffects)}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.dataType,this.origin,this.possibleSideEffects)}},normalMode:{get(){throw new Error("Raw code snippets can only be used on the GPU.")}}}));constructor(t,s,r,o){this.dataType=s,this.origin=r,this.possibleSideEffects=o,this.#e=t}$uses(t){if(this.#t!==void 0)throw new Error("Cannot call '$uses' multiple times. If you wish to override dependencies, use slots or accessors instead.");return this.#t=t,this}};function mC(e){let t=Na()??new _6({minify:!1,namespace:fd()}),s=[1,1,1],r=[1,1,1],o=[s[0]*r[0],s[1]*r[1],s[2]*r[2]],n=new Map,i=Array.from({length:s[0]},()=>Array.from({length:s[1]},()=>Array.from({length:s[2]},()=>new Map))),d=Array.from({length:o[0]},()=>Array.from({length:o[1]},()=>Array.from({length:o[2]},()=>new Map))),c=Array.from({length:o[0]},(_,u)=>Array.from({length:o[1]},(m,p)=>Array.from({length:o[2]},(y,h)=>{let g=Math.floor(u/r[0]),w=Math.floor(p/r[1]),S=Math.floor(h/r[2]);return new dM(n,{private:d[u][p][h],workgroup:i[g][w][S]})})));t.pushMode(c[0][0][0]);try{return{value:w2(t,e),buffers:n,privateVars:d,workgroupVars:i}}finally{t.popMode("simulate")}}var pC=Za({accessor:()=>bC,comptime:()=>vC,computeFn:()=>yC,const:()=>fC,declare:()=>cC,derived:()=>TC,fn:()=>hC,fragmentFn:()=>xC,mutableAccessor:()=>wC,namespace:()=>fd,privateVar:()=>AC,rawCodeSnippet:()=>lC,simulate:()=>mC,slot:()=>SC,vertexFn:()=>gC,vertexLayout:()=>PC,workgroupVar:()=>MC}),fC=wv,vC=Ao,yC=Lv,hC=qt,xC=H6,gC=e1,bC=O6,wC=V6,TC=X6,SC=Nc,AC=Qu,MC=J5,PC=I6,EC=Za({accessor:()=>O6,bindGroupLayout:()=>K5,comptime:()=>Ao,computeFn:()=>Lv,const:()=>wv,fn:()=>qt,fragmentFn:()=>H6,init:()=>JU,initFromDevice:()=>eC,lazy:()=>X6,mutableAccessor:()=>V6,privateVar:()=>Qu,resolve:()=>rC,resolveWithContext:()=>Bp,slot:()=>Nc,unroll:()=>z5,vertexFn:()=>e1,vertexLayout:()=>I6,workgroupVar:()=>J5,"~unstable":()=>pC});pe({name:"workgroupBarrier",normalImpl:"workgroupBarrier is a no-op outside of CODEGEN mode.",signature:{argTypes:[],returnType:_s},codegenImpl:()=>"workgroupBarrier()",sideEffects:!0});pe({name:"storageBarrier",normalImpl:"storageBarrier is a no-op outside of CODEGEN mode.",signature:{argTypes:[],returnType:_s},codegenImpl:()=>"storageBarrier()",sideEffects:!0});pe({name:"textureBarrier",normalImpl:"textureBarrier is a no-op outside of CODEGEN mode.",signature:{argTypes:[],returnType:_s},codegenImpl:()=>"textureBarrier()",sideEffects:!0});var Dn="Atomic operations are not supported outside of CODEGEN mode.",d8=pe({name:"atomicLoad",normalImpl:Dn,signature:e=>{if(!Uu(e))throw new Error(`Invalid atomic type: ${io(e)}`);return{argTypes:[e],returnType:e.inner}},codegenImpl:(e,[t])=>ce`atomicLoad(&${t})`,sideEffects:!0}),kC=e=>{if(!Uu(e))throw new Error(`Invalid atomic type: ${io(e)}`);return{argTypes:[e,e.inner.type==="u32"?R:Z],returnType:_s}},oi=e=>{if(!Uu(e))throw new Error(`Invalid atomic type: ${io(e)}`);let t=e.inner.type==="u32"?R:Z;return{argTypes:[e,t],returnType:t}},c8=pe({name:"atomicStore",normalImpl:Dn,signature:kC,codegenImpl:(e,[t,s])=>ce`atomicStore(&${t}, ${s})`,sideEffects:!0}),_8=pe({name:"atomicAdd",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicAdd(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicSub",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicSub(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicMax",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicMax(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicMin",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicMin(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicAnd",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicAnd(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicOr",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicOr(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicXor",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicXor(&${t}, ${s})`,sideEffects:!0});var Fn="Derivative builtins are not allowed on the CPU",Ni=pe({name:"dpdx",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdx(${t})`,sideEffects:!1});pe({name:"dpdxCoarse",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdxCoarse(${t})`,sideEffects:!1});pe({name:"dpdxFine",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdxFine(${t})`,sideEffects:!1});var qi=pe({name:"dpdy",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdy(${t})`,sideEffects:!1});pe({name:"dpdyCoarse",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdyCoarse(${t})`,sideEffects:!1});pe({name:"dpdyFine",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdyFine(${t})`,sideEffects:!1});var Zt=pe({name:"fwidth",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`fwidth(${t})`,sideEffects:!1});pe({name:"fwidthCoarse",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`fwidthCoarse(${t})`,sideEffects:!1});pe({name:"fwidthFine",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`fwidthFine(${t})`,sideEffects:!1});function qc(e){return e.filter(t=>t!==void 0)}function $C(e,t,s,r,o){throw new Ys("Texture sampling relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSample",normalImpl:$C,codegenImpl:(e,t)=>e.gen.emitCall("textureSample",[],qc(t)),signature:(...e)=>({argTypes:e,returnType:e[0].type.startsWith("texture_depth")?a:Oe}),sideEffects:!1});function UC(e,t,s,r,o,n){throw new Ys("Texture sampling with bias relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSampleBias",normalImpl:UC,codegenImpl:(e,t)=>e.gen.emitCall("textureSampleBias",[],qc(t)),signature:(...e)=>({argTypes:e,returnType:Oe}),sideEffects:!1});function CC(e,t,s,r,o,n){throw new Ys("Texture sampling relies on GPU resources and cannot be executed outside of a draw call")}var zl=pe({name:"textureSampleLevel",normalImpl:CC,codegenImpl:(e,t)=>e.gen.emitCall("textureSampleLevel",[],qc(t)),signature:(...e)=>({argTypes:e,returnType:e[0].type.startsWith("texture_depth")?a:Oe}),sideEffects:!1});function RC(e,t,s){throw new Ys("`textureLoad` relies on GPU resources and cannot be executed outside of a draw call")}var Be=pe({name:"textureLoad",normalImpl:RC,codegenImpl:(e,t)=>e.gen.emitCall("textureLoad",[],qc(t)),signature:(...e)=>{let t=e[0];if(r5(t)){let r=t.type.startsWith("texture_depth"),o=t.sampleType;return{argTypes:e,returnType:r?a:o.type==="f32"?Oe:o.type==="u32"?Et:Wt}}if(MP(t))return{argTypes:e,returnType:Oe};let s=t.format;return{argTypes:e,returnType:Vc(s).vectorType}},sideEffects:!1});function zC(e,t,s,r){throw new Ys("`textureStore` relies on GPU resources and cannot be executed outside of a draw call")}var jr=pe({name:"textureStore",normalImpl:zC,codegenImpl:(e,t)=>ce`textureStore(${t})`,signature:(...e)=>({argTypes:e,returnType:_s}),sideEffects:!0});function GC(e,t){throw new Ys("`textureDimensions` relies on GPU resources and cannot be executed outside of a draw call")}var l8=pe({name:"textureDimensions",normalImpl:GC,codegenImpl:(e,t)=>e.gen.emitCall("textureDimensions",[],qc(t)),signature:(...e)=>{let t=e[0].dimension;return t==="1d"?{argTypes:e,returnType:R}:t==="3d"?{argTypes:e,returnType:gt}:{argTypes:e,returnType:Ct}},sideEffects:!1}),YC=(...e)=>{throw new Error("Texture gather relies on GPU resources and cannot be executed outside of a draw call")},LC={f32:Oe,i32:Wt,u32:Et};pe({name:"textureGather",normalImpl:YC,codegenImpl:(e,t)=>ce`textureGather(${t})`,signature:(...e)=>{if(e[0].type.startsWith("texture")){let[i,d,c,_,...u]=e;return{argTypes:i.type==="texture_depth_2d_array"||i.type==="texture_depth_cube_array"?[i,d,c,[R,Z],...u]:e,returnType:Oe}}let[t,s,r,o,...n]=e;return{argTypes:s.type==="texture_2d_array"||s.type==="texture_cube_array"?[[R,Z],s,r,o,[R,Z],...n]:[[R,Z],s,r,o,...n],returnType:LC[s.sampleType.type]}},sideEffects:!1});function IC(e,t,s,r,o,n){throw new Ys("Texture comparison sampling relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSampleCompare",normalImpl:IC,codegenImpl:(e,t)=>ce`textureSampleCompare(${t})`,signature:(...e)=>({argTypes:e,returnType:a}),sideEffects:!1});function DC(e,t,s,r,o,n){throw new Ys("Texture comparison sampling with level relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSampleCompareLevel",normalImpl:DC,codegenImpl:(e,t)=>ce`textureSampleCompareLevel(${t})`,signature:(...e)=>({argTypes:e,returnType:a}),sideEffects:!1});function FC(e,t,s){throw new Ys("Texture sampling with base clamp to edge is not supported outside of GPU mode.")}function BC(e,t,s,r,o,n,i){throw new Ys("Texture sampling with gradients relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSampleGrad",normalImpl:BC,codegenImpl:(e,t)=>ce`textureSampleGrad(${t})`,signature:(...e)=>({argTypes:e,returnType:Oe}),sideEffects:!1});pe({name:"textureSampleBaseClampToEdge",normalImpl:FC,codegenImpl:(e,t)=>ce`textureSampleBaseClampToEdge(${t})`,signature:(...e)=>({argTypes:e,returnType:Oe}),sideEffects:!1});var v=EC,O_="uniforms";function j6(e){return e.replace(/[^a-zA-Z0-9_]/g,"_")}var WC=new Set(["alias","break","case","const","const_assert","continue","continuing","default","diagnostic","discard","else","enable","false","fn","for","if","let","loop","override","requires","return","struct","switch","true","var","while","NULL","Self","abstract","active","alignas","alignof","as","asm","asm_fragment","async","attribute","auto","await","become","cast","catch","class","co_await","co_return","co_yield","coherent","column_major","common","compile","compile_fragment","concept","const_cast","consteval","constexpr","constinit","crate","debugger","decltype","delete","demote","demote_to_helper","do","dynamic_cast","enum","explicit","export","extends","extern","external","fallthrough","filter","final","finally","friend","from","fxgroup","get","goto","groupshared","highp","impl","implements","import","inline","instanceof","interface","layout","lowp","macro","macro_rules","match","mediump","meta","mod","module","move","mut","mutable","namespace","new","nil","noexcept","noinline","nointerpolation","non_coherent","noncoherent","noperspective","null","nullptr","of","operator","package","packoffset","partition","pass","patch","pixelfragment","precise","precision","premerge","priv","protected","pub","public","readonly","ref","regardless","register","reinterpret_cast","require","resource","restrict","self","set","shared","sizeof","smooth","snorm","static","static_assert","static_cast","std","subroutine","super","target","template","this","thread_local","throw","trait","try","type","typedef","typeid","typename","typeof","union","unless","unorm","unsafe","unsized","use","using","varying","virtual","volatile","wgsl","where","with","writeonly","yield","sampler","uniform","storage"]);function OC(e){let t=j6(e);return WC.has(t)?`${t}_`:t}function Lo(e){return`n_${j6(e)}`}function Vp(e){return e==="vec2"?2:e==="vec3"?3:4}function K6(e){let t=e.type;return t==="vec2f"||t==="vec2i"||t==="vec2u"?"vec2":t==="vec3f"||t==="vec3i"||t==="vec3u"?"vec3":t==="vec4f"||t==="vec4i"||t==="vec4u"?"vec4":"scalar"}function VC(e){return e.type==="array"}function Z6(e){if(typeof e=="number"||typeof e=="boolean")return a;if(e&&typeof e=="object"){let t=e.kind;if(typeof t=="string"){if(t.startsWith("vec2"))return l;if(t.startsWith("vec3"))return f;if(t.startsWith("vec4"))return x}if(Array.isArray(e))return pt(a,e.length||1);let s=e;if("w"in s)return x;if("z"in s)return f;if("x"in s&&"y"in s)return l}return Array.isArray(e)?pt(a,e.length||1):a}function Np(e,t){let s=e;if(s&&typeof s=="object"&&"data"in s&&!("x"in s)&&(s=s.data),typeof s=="number")return new Array(t).fill(s);if(s instanceof Q6)return s.toArray().slice(0,t);if(Array.isArray(s))return cg(s,t);if(s&&typeof s=="object"){let r=s;if("x"in r){let o=[r.x,r.y??0];return t>=3&&o.push(r.z??0),t>=4&&o.push(r.w??0),o.slice(0,t)}if(typeof r.length=="number")return cg(Array.from(r),t)}throw new Error(`[uniformStore] cannot coerce value to a ${t}-component vector: ${String(e)}`)}function cg(e,t){let s=e.slice(0,t);for(;s.lengthe))(ut({time:a,deltaTime:a,frame:a,viewportSize:l,logicalViewportSize:l,aspect:a,pointer:l,pointerActive:a}),"SystemUniforms"),XC={time:0,deltaTime:0,frame:0,viewportSize:[1,1],logicalViewportSize:[1,1],aspect:1,pointer:[.5,.5],pointerActive:0};function J6(e,t={}){let s=t.systemSchema??qC,r={...XC,...t.systemInitial??{}},o=new Map,n=new Map,i={},d=s,c=!1,_=new Set,u=new Map,m=new Map,p={markScalar(T){_.add(T)},markArray(T,A){if(A==="all"){u.set(T,"all");return}let P=u.get(T);P!=="all"&&(P?P.add(A):u.set(T,new Set([A])))}},y;function h(T,A){let P={},U={};for(let D of A){let O=OC(D.name),L=D.transform?D.transform(D.initial):D.initial,G=D.cpu??typeof L=="string";if(D.transform&&!G&&!NC(L)&&!lg.has(D.transform)&&(lg.add(D.transform),console.warn(`[gpu] prop transform for "${D.name}" returned a non-packable value \u2014 the uniform field will be NaN. A prop transform must return a number, boolean, vector, or array (or a string for cpu-only props).`,L)),G){P[D.name]=new Oo({sink:p,gpuPath:[T,O],initial:L,transform:D.transform,cpu:!0});continue}let W=L&&typeof L=="object"&&"data"in L?L.data:L,K=D.schema??Z6(W);if(U[O]=K,VC(K)){let Q=new Sc({sink:p,gpuPath:[T,O],schema:K,initial:D.initial,transform:D.transform});P[D.name]=Q}else{let Q=new Oo({sink:p,gpuPath:[T,O],schema:K,initial:L,transform:D.transform});P[D.name]=Q}}return{handles:P,struct:(globalThis.__TYPEGPU_AUTONAME__??(D=>D))(ut(U),"struct")}}function g(){if(y)throw new Error("[uniformStore] cannot register fields after finalize()")}function w(){let T={};for(let[A,P]of n)T[A]=S(P,A);return T._sys=S(i,"_sys"),T}function S(T,A){let P={};for(let U of Object.values(T))U instanceof Sc?P[U.gpuPath[1]]=U._wholeArray():U.cpu||(P[U.gpuPath[1]]=U._patchValue());if(A)for(let U of m.get(A)??[])P[U]=0;return P}return{get schema(){return y?.schema},get layout(){return y?.layout},get buffer(){return y?.buffer},get bindGroup(){return y?.bindGroup},get systemHandles(){return i},defineNode(T,A){g();let P=Lo(T),{handles:U,struct:D}=h(P,A);return o.set(P,D),n.set(P,U),U},defineSystem(T){if(g(),T&&T.length){let A=h("_sys",T);i=A.handles,d=A.struct}else{let A=h("_sys",Object.entries(s.propTypes).map(([P,U])=>({name:P,schema:U,initial:r[P]??0})));i=A.handles,d=A.struct}return c=!0,i},finalize(){if(y)return y;c||this.defineSystem();let T=(W,K)=>{if(Object.keys(K.propTypes).length===0){let ee=["_pad0","_pad1","_pad2","_pad3"];return m.set(W,ee),ut(Object.fromEntries(ee.map(he=>[he,a])))}let Q=K,te=[];for(;xx(Q)%16!==0;){let ee=`_pad${te.length}`;for(;ee in K.propTypes;)ee=`_${ee}`;te.push(ee);let he={...K.propTypes};for(let Ee of te)he[Ee]=a;Q=(globalThis.__TYPEGPU_AUTONAME__??(Ee=>Ee))(ut(he),"padded")}return te.length&&m.set(W,te),Q},A={};for(let[W,K]of o)A[W]=T(W,K);A._sys=T("_sys",d);let P=(globalThis.__TYPEGPU_AUTONAME__??(W=>W))(ut(A),"combined"),U=xx(P),D=e.device?.limits?.maxUniformBufferBindingSize,O=typeof D=="number"&&D>0?D:65536;if(U>O)throw new mi("limit-exceeded",`[gpu] this composition needs ${U} bytes of uniform data across ${o.size} nodes, but the device caps a uniform binding at ${O} bytes. Reduce the number of layers.`);let L=(globalThis.__TYPEGPU_AUTONAME__??(W=>W))(e.createBuffer(P).$usage("uniform"),"buffer"),G=(globalThis.__TYPEGPU_AUTONAME__??(W=>W))(v.bindGroupLayout({[O_]:{uniform:P}}),"layout");return y={schema:P,layout:G,buffer:L,bindGroup:e.createBindGroup(G,{[O_]:L}),uniformEntryKey:O_},this.writeAll(),y},flush(){if(!y||_.size===0&&u.size===0)return;let T={},A=P=>T[P]??={};for(let P of _)A(P.gpuPath[0])[P.gpuPath[1]]=P._patchValue();for(let[P,U]of u){let D=A(P.gpuPath[0]);if(U==="all")D[P.gpuPath[1]]=P._wholeArray();else if(P.componentsPerElement===1){let O={};for(let L of U)O[L]=P._elementAt(L);D[P.gpuPath[1]]=O}else{let O=P.componentsPerElement,L={};for(let G of U){let W=Math.floor(G/O);L[W]=P._elementTuple(W)}D[P.gpuPath[1]]=L}}y.buffer.patch(T),_.clear(),u.clear()},writeAll(){y&&(y.buffer.write(w()),_.clear(),u.clear())},gpuAccessor(T,A="layout"){return`${A}.$.${O_}.${T.accessorPath}`},destroy(){y?.buffer.destroy?.(),y=void 0,o.clear(),n.clear(),_.clear(),u.clear(),m.clear()}}}function e7(e,t){if(e instanceof Sc){Array.isArray(t)&&(e.array=t);return}e.setFromRaw(t)}var Le=Math.PI/180;180/Math.PI;var Xr=Math.PI,it=Math.PI*2,ao=it,Gl=Math.PI/2,_a=Math.sqrt(3),HC=2.3999632297286535,Ar=v.fn([R,Z],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t<>R(__tsover_sub(Z(32),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"k"}],body:[0,[[10,[1,[1,"x","<<",[6,"d.u32",["k"]]],"|",[1,"x",">>",[6,"d.u32",[[1,[6,"d.i32",[[5,"32"]]],"-","k"]]]]]]]]},externals:{"d.u32":()=>R,"d.i32":()=>Z}})&&e.f)({})),Xi=v.fn([R,R,R],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=t,n=s,i=r;return i=i^n,i=__tsover_sub(i,Ar(n,Z(14))),o=o^i,o=__tsover_sub(o,Ar(i,Z(11))),n=n^o,n=__tsover_sub(n,Ar(o,Z(25))),i=i^n,i=__tsover_sub(i,Ar(n,Z(16))),o=o^i,o=__tsover_sub(o,Ar(i,Z(4))),n=n^o,n=__tsover_sub(n,Ar(o,Z(14))),i=i^n,i=__tsover_sub(i,Ar(n,Z(24))),i}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a0"},{type:"i",name:"b0"},{type:"i",name:"c0"}],body:[0,[[12,"a","a0"],[12,"b","b0"],[12,"c","c0"],[2,"c","=",[1,"c","^","b"]],[2,"c","=",[1,"c","-",[6,"mxRotl32",["b",[6,"d.i32",[[5,"14"]]]]]]],[2,"a","=",[1,"a","^","c"]],[2,"a","=",[1,"a","-",[6,"mxRotl32",["c",[6,"d.i32",[[5,"11"]]]]]]],[2,"b","=",[1,"b","^","a"]],[2,"b","=",[1,"b","-",[6,"mxRotl32",["a",[6,"d.i32",[[5,"25"]]]]]]],[2,"c","=",[1,"c","^","b"]],[2,"c","=",[1,"c","-",[6,"mxRotl32",["b",[6,"d.i32",[[5,"16"]]]]]]],[2,"a","=",[1,"a","^","c"]],[2,"a","=",[1,"a","-",[6,"mxRotl32",["c",[6,"d.i32",[[5,"4"]]]]]]],[2,"b","=",[1,"b","^","a"]],[2,"b","=",[1,"b","-",[6,"mxRotl32",["a",[6,"d.i32",[[5,"14"]]]]]]],[2,"c","=",[1,"c","^","b"]],[2,"c","=",[1,"c","-",[6,"mxRotl32",["b",[6,"d.i32",[[5,"24"]]]]]]],[10,"c"]]]},externals:{mxRotl32:()=>Ar,"d.i32":()=>Z}})&&e.f)({})),Hi=3735928559,Ld=v.fn([Z,Z],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=R(2),o=__tsover_add(__tsover_add(R(Hi),r<R,DEADBEEF:()=>Hi,mxBjfinal:()=>Xi}})&&e.f)({})),oo=v.fn([Z,Z,Z],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=R(3),n=__tsover_add(__tsover_add(R(Hi),o<R,DEADBEEF:()=>Hi,mxBjfinal:()=>Xi}})&&e.f)({})),V_=v.fn([Z,Z,Z,Z],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=R(4),i=__tsover_add(__tsover_add(R(Hi),n<R,DEADBEEF:()=>Hi,mxRotl32:()=>Ar,"d.i32":()=>Z,mxBjfinal:()=>Xi}})&&e.f)({})),ea=v.fn([R],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_div(a(t),a(4294967295))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"bits"}],body:[0,[[10,[1,[6,"d.f32",["bits"]],"/",[6,"d.f32",[[5,"4294967295"]]]]]]]},externals:{"d.f32":()=>a}})&&e.f)({})),Ia=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(__tsover_mul(__tsover_mul(t,t),t),__tsover_add(__tsover_mul(t,__tsover_sub(__tsover_mul(t,6),15)),10))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[1,[1,[1,"t","*","t"],"*","t"],"*",[1,[1,"t","*",[1,[1,"t","*",[5,"6"]],"-",[5,"15"]]],"+",[5,"10"]]]]]]},externals:{}})&&e.f)({})),Id=v.fn([R,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=t&R(7),n=C(r,s,oR,"std.select":()=>C}})&&e.f)({})),yn=v.fn([R,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=t&R(15),i=C(r,s,nR,"std.select":()=>C}})&&e.f)({})),ug=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(.6616,t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[1,[5,"0.6616"],"*","v"]]]]},externals:{}})&&e.f)({})),mg=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(.982,t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[1,[5,"0.982"],"*","v"]]]]},externals:{}})&&e.f)({})),pg=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_sub(1,n);return __tsover_add(__tsover_mul(__tsover_sub(1,i),__tsover_add(__tsover_mul(t,d),__tsover_mul(s,n))),__tsover_mul(i,__tsover_add(__tsover_mul(r,d),__tsover_mul(o,n))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v0"},{type:"i",name:"v1"},{type:"i",name:"v2"},{type:"i",name:"v3"},{type:"i",name:"s"},{type:"i",name:"t"}],body:[0,[[13,"s1",[1,[5,"1"],"-","s"]],[10,[1,[1,[1,[5,"1"],"-","t"],"*",[1,[1,"v0","*","s1"],"+",[1,"v1","*","s"]]],"+",[1,"t","*",[1,[1,"v2","*","s1"],"+",[1,"v3","*","s"]]]]]]]},externals:{}})&&e.f)({})),fg=v.fn([a,a,a,a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=__tsover_sub(1,_),y=__tsover_sub(1,u),h=__tsover_sub(1,m);return __tsover_add(__tsover_mul(h,__tsover_add(__tsover_mul(y,__tsover_add(__tsover_mul(t,p),__tsover_mul(s,_))),__tsover_mul(u,__tsover_add(__tsover_mul(r,p),__tsover_mul(o,_))))),__tsover_mul(m,__tsover_add(__tsover_mul(y,__tsover_add(__tsover_mul(n,p),__tsover_mul(i,_))),__tsover_mul(u,__tsover_add(__tsover_mul(d,p),__tsover_mul(c,_))))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v0"},{type:"i",name:"v1"},{type:"i",name:"v2"},{type:"i",name:"v3"},{type:"i",name:"v4"},{type:"i",name:"v5"},{type:"i",name:"v6"},{type:"i",name:"v7"},{type:"i",name:"s"},{type:"i",name:"t"},{type:"i",name:"r"}],body:[0,[[13,"s1",[1,[5,"1"],"-","s"]],[13,"t1",[1,[5,"1"],"-","t"]],[13,"r1",[1,[5,"1"],"-","r"]],[10,[1,[1,"r1","*",[1,[1,"t1","*",[1,[1,"v0","*","s1"],"+",[1,"v1","*","s"]]],"+",[1,"t","*",[1,[1,"v2","*","s1"],"+",[1,"v3","*","s"]]]]],"+",[1,"r","*",[1,[1,"t1","*",[1,[1,"v4","*","s1"],"+",[1,"v5","*","s"]]],"+",[1,"t","*",[1,[1,"v6","*","s1"],"+",[1,"v7","*","s"]]]]]]]]]},externals:{}})&&e.f)({})),vg=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(q(t.x)),r=Z(q(t.y)),o=__tsover_sub(t.x,a(s)),n=__tsover_sub(t.y,a(r)),i=Ia(o),d=Ia(n);return ug(pg(Id(Ld(s,r),o,n),Id(Ld(__tsover_add(s,Z(1)),r),__tsover_sub(o,1),n),Id(Ld(s,__tsover_add(r,Z(1))),o,__tsover_sub(n,1)),Id(Ld(__tsover_add(s,Z(1)),__tsover_add(r,Z(1))),__tsover_sub(o,1),__tsover_sub(n,1)),i,d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"X",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"Y",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"fx",[1,[7,"p","x"],"-",[6,"d.f32",["X"]]]],[13,"fy",[1,[7,"p","y"],"-",[6,"d.f32",["Y"]]]],[13,"u",[6,"mxFade",["fx"]]],[13,"v",[6,"mxFade",["fy"]]],[13,"result",[6,"mxBilerp",[[6,"mxGradientFloat2",[[6,"mxHashInt1",["X","Y"]],"fx","fy"]],[6,"mxGradientFloat2",[[6,"mxHashInt1",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],"Y"]],[1,"fx","-",[5,"1"]],"fy"]],[6,"mxGradientFloat2",[[6,"mxHashInt1",["X",[1,"Y","+",[6,"d.i32",[[5,"1"]]]]]],"fx",[1,"fy","-",[5,"1"]]]],[6,"mxGradientFloat2",[[6,"mxHashInt1",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],[1,"Y","+",[6,"d.i32",[[5,"1"]]]]]],[1,"fx","-",[5,"1"]],[1,"fy","-",[5,"1"]]]],"u","v"]]],[10,[6,"mxGradientScale2d",["result"]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.f32":()=>a,mxFade:()=>Ia,mxBilerp:()=>pg,mxGradientFloat2:()=>Id,mxHashInt1:()=>Ld,mxGradientScale2d:()=>ug}})&&e.f)({})),yg=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(q(t.x)),r=Z(q(t.y)),o=Z(q(t.z)),n=__tsover_sub(t.x,a(s)),i=__tsover_sub(t.y,a(r)),d=__tsover_sub(t.z,a(o)),c=Ia(n),_=Ia(i),u=Ia(d);return mg(fg(yn(oo(s,r,o),n,i,d),yn(oo(__tsover_add(s,Z(1)),r,o),__tsover_sub(n,1),i,d),yn(oo(s,__tsover_add(r,Z(1)),o),n,__tsover_sub(i,1),d),yn(oo(__tsover_add(s,Z(1)),__tsover_add(r,Z(1)),o),__tsover_sub(n,1),__tsover_sub(i,1),d),yn(oo(s,r,__tsover_add(o,Z(1))),n,i,__tsover_sub(d,1)),yn(oo(__tsover_add(s,Z(1)),r,__tsover_add(o,Z(1))),__tsover_sub(n,1),i,__tsover_sub(d,1)),yn(oo(s,__tsover_add(r,Z(1)),__tsover_add(o,Z(1))),n,__tsover_sub(i,1),__tsover_sub(d,1)),yn(oo(__tsover_add(s,Z(1)),__tsover_add(r,Z(1)),__tsover_add(o,Z(1))),__tsover_sub(n,1),__tsover_sub(i,1),__tsover_sub(d,1)),c,_,u))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"X",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"Y",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"Z",[6,"d.i32",[[6,"std.floor",[[7,"p","z"]]]]]],[13,"fx",[1,[7,"p","x"],"-",[6,"d.f32",["X"]]]],[13,"fy",[1,[7,"p","y"],"-",[6,"d.f32",["Y"]]]],[13,"fz",[1,[7,"p","z"],"-",[6,"d.f32",["Z"]]]],[13,"u",[6,"mxFade",["fx"]]],[13,"v",[6,"mxFade",["fy"]]],[13,"w",[6,"mxFade",["fz"]]],[13,"result",[6,"mxTrilerp",[[6,"mxGradientFloat3",[[6,"mxHashInt2",["X","Y","Z"]],"fx","fy","fz"]],[6,"mxGradientFloat3",[[6,"mxHashInt2",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],"Y","Z"]],[1,"fx","-",[5,"1"]],"fy","fz"]],[6,"mxGradientFloat3",[[6,"mxHashInt2",["X",[1,"Y","+",[6,"d.i32",[[5,"1"]]]],"Z"]],"fx",[1,"fy","-",[5,"1"]],"fz"]],[6,"mxGradientFloat3",[[6,"mxHashInt2",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],[1,"Y","+",[6,"d.i32",[[5,"1"]]]],"Z"]],[1,"fx","-",[5,"1"]],[1,"fy","-",[5,"1"]],"fz"]],[6,"mxGradientFloat3",[[6,"mxHashInt2",["X","Y",[1,"Z","+",[6,"d.i32",[[5,"1"]]]]]],"fx","fy",[1,"fz","-",[5,"1"]]]],[6,"mxGradientFloat3",[[6,"mxHashInt2",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],"Y",[1,"Z","+",[6,"d.i32",[[5,"1"]]]]]],[1,"fx","-",[5,"1"]],"fy",[1,"fz","-",[5,"1"]]]],[6,"mxGradientFloat3",[[6,"mxHashInt2",["X",[1,"Y","+",[6,"d.i32",[[5,"1"]]]],[1,"Z","+",[6,"d.i32",[[5,"1"]]]]]],"fx",[1,"fy","-",[5,"1"]],[1,"fz","-",[5,"1"]]]],[6,"mxGradientFloat3",[[6,"mxHashInt2",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],[1,"Y","+",[6,"d.i32",[[5,"1"]]]],[1,"Z","+",[6,"d.i32",[[5,"1"]]]]]],[1,"fx","-",[5,"1"]],[1,"fy","-",[5,"1"]],[1,"fz","-",[5,"1"]]]],"u","v","w"]]],[10,[6,"mxGradientScale3d",["result"]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.f32":()=>a,mxFade:()=>Ia,mxTrilerp:()=>fg,mxGradientFloat3:()=>yn,mxHashInt2:()=>oo,mxGradientScale3d:()=>mg}})&&e.f)({})),hg=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(q(t.x)),r=Z(q(t.y));return f(ea(oo(s,r,Z(0))),ea(oo(s,r,Z(1))),ea(oo(s,r,Z(2))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"ix",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"iy",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[10,[6,"d.vec3f",[[6,"mxBitsTo01",[[6,"mxHashInt2",["ix","iy",[6,"d.i32",[[5,"0"]]]]]]],[6,"mxBitsTo01",[[6,"mxHashInt2",["ix","iy",[6,"d.i32",[[5,"1"]]]]]]],[6,"mxBitsTo01",[[6,"mxHashInt2",["ix","iy",[6,"d.i32",[[5,"2"]]]]]]]]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.vec3f":()=>f,mxBitsTo01:()=>ea,mxHashInt2:()=>oo}})&&e.f)({})),xg=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(q(t.x)),r=Z(q(t.y)),o=Z(q(t.z));return f(ea(V_(s,r,o,Z(0))),ea(V_(s,r,o,Z(1))),ea(V_(s,r,o,Z(2))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"ix",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"iy",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"iz",[6,"d.i32",[[6,"std.floor",[[7,"p","z"]]]]]],[10,[6,"d.vec3f",[[6,"mxBitsTo01",[[6,"mxHashInt3",["ix","iy","iz",[6,"d.i32",[[5,"0"]]]]]]],[6,"mxBitsTo01",[[6,"mxHashInt3",["ix","iy","iz",[6,"d.i32",[[5,"1"]]]]]]],[6,"mxBitsTo01",[[6,"mxHashInt3",["ix","iy","iz",[6,"d.i32",[[5,"2"]]]]]]]]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.vec3f":()=>f,mxBitsTo01:()=>ea,mxHashInt3:()=>V_}})&&e.f)({})),gg=v.fn([l,Z,Z,Z,Z,a,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=hg(l(a(__tsover_add(s,o)),a(__tsover_add(r,n)))),_=l(c.x,c.y);_=Pn(vr(ht(_,.5),i),.5);let u=ht(Pn(l(a(s),a(r)),_),t);return d===Z(2)?__tsover_add(z(u.x),z(u.y)):d===Z(3)?b(z(u.x),z(u.y)):se(u,u)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"x"},{type:"i",name:"y"},{type:"i",name:"xoff"},{type:"i",name:"yoff"},{type:"i",name:"jitter"},{type:"i",name:"metric"}],body:[0,[[13,"tmp",[6,"mxCellNoiseVec3_2d",[[6,"d.vec2f",[[6,"d.f32",[[1,"x","+","xoff"]]],[6,"d.f32",[[1,"y","+","yoff"]]]]]]]],[12,"off",[6,"d.vec2f",[[7,"tmp","x"],[7,"tmp","y"]]]],[2,"off","=",[6,"std.add",[[6,"std.mul",[[6,"std.sub",["off",[5,"0.5"]]],"jitter"]],[5,"0.5"]]]],[13,"cellpos",[6,"std.add",[[6,"d.vec2f",[[6,"d.f32",["x"]],[6,"d.f32",["y"]]]],"off"]]],[13,"diff",[6,"std.sub",["cellpos","p"]]],[11,[1,"metric","===",[6,"d.i32",[[5,"2"]]]],[0,[[10,[1,[6,"std.abs",[[7,"diff","x"]]],"+",[6,"std.abs",[[7,"diff","y"]]]]]]]],[11,[1,"metric","===",[6,"d.i32",[[5,"3"]]]],[0,[[10,[6,"std.max",[[6,"std.abs",[[7,"diff","x"]]],[6,"std.abs",[[7,"diff","y"]]]]]]]]],[10,[6,"std.dot",["diff","diff"]]]]]},externals:{mxCellNoiseVec3_2d:()=>hg,"d.vec2f":()=>l,"d.f32":()=>a,"std.add":()=>Pn,"std.mul":()=>vr,"std.sub":()=>ht,"d.i32":()=>Z,"std.abs":()=>z,"std.max":()=>b,"std.dot":()=>se}})&&e.f)({})),bg=v.fn([f,Z,Z,Z,Z,Z,Z,a,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=xg(f(a(__tsover_add(s,n)),a(__tsover_add(r,i)),a(__tsover_add(o,d))));u=Pn(vr(ht(u,.5),c),.5);let m=ht(Pn(f(a(s),a(r),a(o)),u),t);return _===Z(2)?__tsover_add(__tsover_add(z(m.x),z(m.y)),z(m.z)):_===Z(3)?b(b(z(m.x),z(m.y)),z(m.z)):se(m,m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"x"},{type:"i",name:"y"},{type:"i",name:"z"},{type:"i",name:"xoff"},{type:"i",name:"yoff"},{type:"i",name:"zoff"},{type:"i",name:"jitter"},{type:"i",name:"metric"}],body:[0,[[12,"off",[6,"mxCellNoiseVec3_3d",[[6,"d.vec3f",[[6,"d.f32",[[1,"x","+","xoff"]]],[6,"d.f32",[[1,"y","+","yoff"]]],[6,"d.f32",[[1,"z","+","zoff"]]]]]]]],[2,"off","=",[6,"std.add",[[6,"std.mul",[[6,"std.sub",["off",[5,"0.5"]]],"jitter"]],[5,"0.5"]]]],[13,"cellpos",[6,"std.add",[[6,"d.vec3f",[[6,"d.f32",["x"]],[6,"d.f32",["y"]],[6,"d.f32",["z"]]]],"off"]]],[13,"diff",[6,"std.sub",["cellpos","p"]]],[11,[1,"metric","===",[6,"d.i32",[[5,"2"]]]],[0,[[10,[1,[1,[6,"std.abs",[[7,"diff","x"]]],"+",[6,"std.abs",[[7,"diff","y"]]]],"+",[6,"std.abs",[[7,"diff","z"]]]]]]]],[11,[1,"metric","===",[6,"d.i32",[[5,"3"]]]],[0,[[10,[6,"std.max",[[6,"std.max",[[6,"std.abs",[[7,"diff","x"]]],[6,"std.abs",[[7,"diff","y"]]]]],[6,"std.abs",[[7,"diff","z"]]]]]]]]],[10,[6,"std.dot",["diff","diff"]]]]]},externals:{mxCellNoiseVec3_3d:()=>xg,"d.vec3f":()=>f,"d.f32":()=>a,"std.add":()=>Pn,"std.mul":()=>vr,"std.sub":()=>ht,"d.i32":()=>Z,"std.abs":()=>z,"std.max":()=>b,"std.dot":()=>se}})&&e.f)({})),wg=v.fn([l,a,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Z(q(t.x)),n=Z(q(t.y)),i=l(__tsover_sub(t.x,a(o)),__tsover_sub(t.y,a(n))),d=a(1e6);for(let c=-1;c<=1;c++)for(let _=-1;_<=1;_++){let u=gg(i,c,_,o,n,s,r);d=oe(d,u)}return r===Z(0)&&(d=be(d)),d}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"jitter"},{type:"i",name:"metric"}],body:[0,[[13,"X",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"Y",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"localpos",[6,"d.vec2f",[[1,[7,"p","x"],"-",[6,"d.f32",["X"]]],[1,[7,"p","y"],"-",[6,"d.f32",["Y"]]]]]],[12,"sqdist",[6,"d.f32",[[5,"1000000"]]]],[14,[12,"x",[4,"-",[5,"1"]]],[1,"x","<=",[5,"1"]],[102,"++","x"],[0,[[14,[12,"y",[4,"-",[5,"1"]]],[1,"y","<=",[5,"1"]],[102,"++","y"],[0,[[13,"dist",[6,"mxWorleyDistance2d",["localpos","x","y","X","Y","jitter","metric"]]],[2,"sqdist","=",[6,"std.min",["sqdist","dist"]]]]]]]]],[11,[1,"metric","===",[6,"d.i32",[[5,"0"]]]],[0,[[2,"sqdist","=",[6,"std.sqrt",["sqdist"]]]]]],[10,"sqdist"]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.vec2f":()=>l,"d.f32":()=>a,mxWorleyDistance2d:()=>gg,"std.min":()=>oe,"std.sqrt":()=>be}})&&e.f)({})),Tg=v.fn([f,a,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Z(q(t.x)),n=Z(q(t.y)),i=Z(q(t.z)),d=f(__tsover_sub(t.x,a(o)),__tsover_sub(t.y,a(n)),__tsover_sub(t.z,a(i))),c=a(1e6);for(let _=-1;_<=1;_++)for(let u=-1;u<=1;u++)for(let m=-1;m<=1;m++){let p=bg(d,_,u,m,o,n,i,s,r);c=oe(c,p)}return r===Z(0)&&(c=be(c)),c}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"jitter"},{type:"i",name:"metric"}],body:[0,[[13,"X",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"Y",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"Z",[6,"d.i32",[[6,"std.floor",[[7,"p","z"]]]]]],[13,"localpos",[6,"d.vec3f",[[1,[7,"p","x"],"-",[6,"d.f32",["X"]]],[1,[7,"p","y"],"-",[6,"d.f32",["Y"]]],[1,[7,"p","z"],"-",[6,"d.f32",["Z"]]]]]],[12,"sqdist",[6,"d.f32",[[5,"1000000"]]]],[14,[12,"x",[4,"-",[5,"1"]]],[1,"x","<=",[5,"1"]],[102,"++","x"],[0,[[14,[12,"y",[4,"-",[5,"1"]]],[1,"y","<=",[5,"1"]],[102,"++","y"],[0,[[14,[12,"z",[4,"-",[5,"1"]]],[1,"z","<=",[5,"1"]],[102,"++","z"],[0,[[13,"dist",[6,"mxWorleyDistance3d",["localpos","x","y","z","X","Y","Z","jitter","metric"]]],[2,"sqdist","=",[6,"std.min",["sqdist","dist"]]]]]]]]]]]],[11,[1,"metric","===",[6,"d.i32",[[5,"0"]]]],[0,[[2,"sqdist","=",[6,"std.sqrt",["sqdist"]]]]]],[10,"sqdist"]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.vec3f":()=>f,"d.f32":()=>a,mxWorleyDistance3d:()=>bg,"std.min":()=>oe,"std.sqrt":()=>be}})&&e.f)({})),Ei=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return vg(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"mxPerlinNoiseFloat2",["p"]]]]]},externals:{mxPerlinNoiseFloat2:()=>vg}})&&e.f)({})),go=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return yg(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"mxPerlinNoiseFloat3",["p"]]]]]},externals:{mxPerlinNoiseFloat3:()=>yg}})&&e.f)({})),jC=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return wg(t,s,Z(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"jitter"}],body:[0,[[10,[6,"mxWorleyNoiseFloat2",["p","jitter",[6,"d.i32",[[5,"1"]]]]]]]]},externals:{mxWorleyNoiseFloat2:()=>wg,"d.i32":()=>Z}})&&e.f)({}));v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return Tg(t,s,Z(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"jitter"}],body:[0,[[10,[6,"mxWorleyNoiseFloat3",["p","jitter",[6,"d.i32",[[5,"1"]]]]]]]]},externals:{mxWorleyNoiseFloat3:()=>Tg,"d.i32":()=>Z}})&&e.f)({}));var Sg=v.fn([a],R)("(x: f32) -> u32 { return bitcast(x); }"),ji=v.fn([l],Ge)("(v: vec2f) -> vec2u { return bitcast(v); }"),Yl=v.fn([f],Oa)("(v: vec3f) -> vec3u { return bitcast(v); }"),Po=a(4294967295),Gs=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Sg(__tsover_mul(t,3141592653));return __tsover_div(a(__tsover_mul(__tsover_mul(s,s),R(3141592653))),Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint1",[[1,"p","*",[5,"3141592653"]]]]],[10,[1,[6,"d.f32",[[1,[1,"u","*","u"],"*",[6,"d.u32",[[5,"3141592653"]]]]]],"/","U32"]]]]},externals:{floatBitsToUint1:()=>Sg,"d.f32":()=>a,"d.u32":()=>R,U32:()=>Po}})&&e.f)({})),Ot=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ji(t.mul(l(141421356,2718281828)));return __tsover_div(a(__tsover_mul(s.x^s.y,R(3141592653))),Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint2",[[6,[7,"p","mul"],[[6,"d.vec2f",[[5,"141421356"],[5,"2718281828"]]]]]]]],[10,[1,[6,"d.f32",[[1,[1,[7,"u","x"],"^",[7,"u","y"]],"*",[6,"d.u32",[[5,"3141592653"]]]]]],"/","U32"]]]]},externals:{floatBitsToUint2:()=>ji,"d.vec2f":()=>l,"d.f32":()=>a,"d.u32":()=>R,U32:()=>Po}})&&e.f)({})),er=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ji(t.mul(l(141421356,2718281828))),r=s.x^s.y,o=vr(Ge(r,r),Ge(3141592653,1618033988));return l(a(o.x),a(o.y)).div(Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint2",[[6,[7,"p","mul"],[[6,"d.vec2f",[[5,"141421356"],[5,"2718281828"]]]]]]]],[13,"h",[1,[7,"u","x"],"^",[7,"u","y"]]],[13,"prod",[6,"std.mul",[[6,"d.vec2u",["h","h"]],[6,"d.vec2u",[[5,"3141592653"],[5,"1618033988"]]]]]],[10,[6,[7,[6,"d.vec2f",[[6,"d.f32",[[7,"prod","x"]]],[6,"d.f32",[[7,"prod","y"]]]]],"div"],["U32"]]]]]},externals:{floatBitsToUint2:()=>ji,"d.vec2f":()=>l,"std.mul":()=>vr,"d.vec2u":()=>Ge,"d.f32":()=>a,U32:()=>Po}})&&e.f)({})),u8=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ji(t.mul(l(141421356,2718281828))),r=s.x^s.y,o=vr(Oa(r,r,r),Oa(1732050807,2645751311,3316624790));return f(a(o.x),a(o.y),a(o.z)).div(Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint2",[[6,[7,"p","mul"],[[6,"d.vec2f",[[5,"141421356"],[5,"2718281828"]]]]]]]],[13,"h",[1,[7,"u","x"],"^",[7,"u","y"]]],[13,"prod",[6,"std.mul",[[6,"d.vec3u",["h","h","h"]],[6,"d.vec3u",[[5,"1732050807"],[5,"2645751311"],[5,"3316624790"]]]]]],[10,[6,[7,[6,"d.vec3f",[[6,"d.f32",[[7,"prod","x"]]],[6,"d.f32",[[7,"prod","y"]]],[6,"d.f32",[[7,"prod","z"]]]]],"div"],["U32"]]]]]},externals:{floatBitsToUint2:()=>ji,"d.vec2f":()=>l,"std.mul":()=>vr,"d.vec3u":()=>Oa,"d.vec3f":()=>f,"d.f32":()=>a,U32:()=>Po}})&&e.f)({})),m8=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Yl(t.mul(f(141421356,2718281828,1618033988)));return __tsover_div(a(__tsover_mul(s.x^s.y^s.z,R(3141592653))),Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint3",[[6,[7,"p","mul"],[[6,"d.vec3f",[[5,"141421356"],[5,"2718281828"],[5,"1618033988"]]]]]]]],[10,[1,[6,"d.f32",[[1,[1,[1,[7,"u","x"],"^",[7,"u","y"]],"^",[7,"u","z"]],"*",[6,"d.u32",[[5,"3141592653"]]]]]],"/","U32"]]]]},externals:{floatBitsToUint3:()=>Yl,"d.vec3f":()=>f,"d.f32":()=>a,"d.u32":()=>R,U32:()=>Po}})&&e.f)({})),Ag=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Yl(t.mul(f(141421356,2718281828,1618033988))),r=s.x^s.y^s.z,o=vr(Oa(r,r,r),Oa(1732050807,2645751311,3316624790));return f(a(o.x),a(o.y),a(o.z)).div(Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint3",[[6,[7,"p","mul"],[[6,"d.vec3f",[[5,"141421356"],[5,"2718281828"],[5,"1618033988"]]]]]]]],[13,"h",[1,[1,[7,"u","x"],"^",[7,"u","y"]],"^",[7,"u","z"]]],[13,"prod",[6,"std.mul",[[6,"d.vec3u",["h","h","h"]],[6,"d.vec3u",[[5,"1732050807"],[5,"2645751311"],[5,"3316624790"]]]]]],[10,[6,[7,[6,"d.vec3f",[[6,"d.f32",[[7,"prod","x"]]],[6,"d.f32",[[7,"prod","y"]]],[6,"d.f32",[[7,"prod","z"]]]]],"div"],["U32"]]]]]},externals:{floatBitsToUint3:()=>Yl,"d.vec3f":()=>f,"std.mul":()=>vr,"d.vec3u":()=>Oa,"d.f32":()=>a,U32:()=>Po}})&&e.f)({})),Br=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=t.sub(s),o=r.mul(r).mul(ht(3,r.mul(2)));return X(X(Ot(s),Ot(s.add(l(1,0))),o.x),X(Ot(s.add(l(0,1))),Ot(s.add(l(1,1))),o.x),o.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f0",[6,[7,"p","sub"],["i"]]],[13,"f",[6,[7,[6,[7,"f0","mul"],["f0"]],"mul"],[[6,"std.sub",[[5,"3"],[6,[7,"f0","mul"],[[5,"2"]]]]]]]],[10,[6,"std.mix",[[6,"std.mix",[[6,"hash12",["i"]],[6,"hash12",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"0"]]]]]]],[7,"f","x"]]],[6,"std.mix",[[6,"hash12",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]]],[6,"hash12",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]],[7,"f","x"]]],[7,"f","y"]]]]]]},externals:{"std.floor":()=>q,"std.sub":()=>ht,"std.mix":()=>X,hash12:()=>Ot,"d.vec2f":()=>l}})&&e.f)({})),Dd=v.fn([l,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(r,o);return se(as(er(t.add(n)).sub(.5)),s.sub(n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"i"},{type:"i",name:"f"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[13,"o",[6,"d.vec2f",["ox","oy"]]],[10,[6,"std.dot",[[6,"std.normalize",[[6,[7,[6,"hash22",[[6,[7,"i","add"],["o"]]]],"sub"],[[5,"0.5"]]]]],[6,[7,"f","sub"],["o"]]]]]]]},externals:{"d.vec2f":()=>l,"std.dot":()=>se,"std.normalize":()=>as,hash22:()=>er}})&&e.f)({})),za=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=t.sub(s),o=r.mul(r).mul(r).mul(r.mul(r.mul(6).sub(15)).add(10)),n=Dd(s,r,0,0),i=Dd(s,r,1,0),d=Dd(s,r,0,1),c=Dd(s,r,1,1);return __tsover_add(__tsover_mul(X(X(n,i,o.x),X(d,c,o.x),o.y),.7),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,[7,"p","sub"],["i"]]],[13,"u",[6,[7,[6,[7,[6,[7,"f","mul"],["f"]],"mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[6,[7,[6,[7,"f","mul"],[[5,"6"]]],"sub"],[[5,"15"]]]]],"add"],[[5,"10"]]]]]],[13,"a",[6,"perlinGrad2",["i","f",[5,"0"],[5,"0"]]]],[13,"b",[6,"perlinGrad2",["i","f",[5,"1"],[5,"0"]]]],[13,"c",[6,"perlinGrad2",["i","f",[5,"0"],[5,"1"]]]],[13,"dd",[6,"perlinGrad2",["i","f",[5,"1"],[5,"1"]]]],[10,[1,[1,[6,"std.mix",[[6,"std.mix",["a","b",[7,"u","x"]]],[6,"std.mix",["c","dd",[7,"u","x"]]],[7,"u","y"]]],"*",[5,"0.7"]],"+",[5,"0.5"]]]]]},externals:{"std.floor":()=>q,perlinGrad2:()=>Dd,"std.mix":()=>X}})&&e.f)({})),la=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=ue(t),o=r.mul(r).mul(r).mul(r.mul(r.mul(6).sub(15)).add(10)),n=r.mul(r).mul(r.mul(r.sub(2)).add(1)).mul(30),i=er(s.add(l(0,0))).mul(2).sub(1),d=er(s.add(l(1,0))).mul(2).sub(1),c=er(s.add(l(0,1))).mul(2).sub(1),_=er(s.add(l(1,1))).mul(2).sub(1),u=se(i,r.sub(l(0,0))),m=se(d,r.sub(l(1,0))),p=se(c,r.sub(l(0,1))),y=se(_,r.sub(l(1,1))),h=__tsover_add(__tsover_sub(__tsover_sub(u,m),p),y),g=__tsover_add(__tsover_add(__tsover_add(u,__tsover_mul(o.x,__tsover_sub(m,u))),__tsover_mul(o.y,__tsover_sub(p,u))),__tsover_mul(__tsover_mul(o.x,o.y),h)),w=i.add(d.sub(i).mul(o.x)).add(c.sub(i).mul(o.y)).add(i.sub(d).sub(c).add(_).mul(__tsover_mul(o.x,o.y))).add(n.mul(l(o.y,o.x).mul(h).add(l(m,p)).sub(u)));return f(g,w.x,w.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,"std.fract",["p"]]],[13,"u",[6,[7,[6,[7,[6,[7,"f","mul"],["f"]],"mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[6,[7,[6,[7,"f","mul"],[[5,"6"]]],"sub"],[[5,"15"]]]]],"add"],[[5,"10"]]]]]],[13,"du",[6,[7,[6,[7,[6,[7,"f","mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[6,[7,"f","sub"],[[5,"2"]]]]],"add"],[[5,"1"]]]]],"mul"],[[5,"30"]]]],[13,"ga",[6,[7,[6,[7,[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"0"],[5,"0"]]]]]]],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[13,"gb",[6,[7,[6,[7,[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"0"]]]]]]],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[13,"gc",[6,[7,[6,[7,[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]]],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[13,"gd",[6,[7,[6,[7,[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[13,"va",[6,"std.dot",["ga",[6,[7,"f","sub"],[[6,"d.vec2f",[[5,"0"],[5,"0"]]]]]]]],[13,"vb",[6,"std.dot",["gb",[6,[7,"f","sub"],[[6,"d.vec2f",[[5,"1"],[5,"0"]]]]]]]],[13,"vc",[6,"std.dot",["gc",[6,[7,"f","sub"],[[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]]]],[13,"vd",[6,"std.dot",["gd",[6,[7,"f","sub"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]]],[13,"k",[1,[1,[1,"va","-","vb"],"-","vc"],"+","vd"]],[13,"value",[1,[1,[1,"va","+",[1,[7,"u","x"],"*",[1,"vb","-","va"]]],"+",[1,[7,"u","y"],"*",[1,"vc","-","va"]]],"+",[1,[1,[7,"u","x"],"*",[7,"u","y"]],"*","k"]]],[13,"deriv",[6,[7,[6,[7,[6,[7,[6,[7,"ga","add"],[[6,[7,[6,[7,"gb","sub"],["ga"]],"mul"],[[7,"u","x"]]]]],"add"],[[6,[7,[6,[7,"gc","sub"],["ga"]],"mul"],[[7,"u","y"]]]]],"add"],[[6,[7,[6,[7,[6,[7,[6,[7,"ga","sub"],["gb"]],"sub"],["gc"]],"add"],["gd"]],"mul"],[[1,[7,"u","x"],"*",[7,"u","y"]]]]]],"add"],[[6,[7,"du","mul"],[[6,[7,[6,[7,[6,[7,[6,"d.vec2f",[[7,"u","y"],[7,"u","x"]]],"mul"],["k"]],"add"],[[6,"d.vec2f",["vb","vc"]]]],"sub"],["va"]]]]]]],[10,[6,"d.vec3f",["value",[7,"deriv","x"],[7,"deriv","y"]]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,hash22:()=>er,"d.vec2f":()=>l,"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),Fd=v.fn([x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.mul(t.mul(34).add(1));return s.sub(q(s.div(289)).mul(289))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"}],body:[0,[[13,"xx",[6,[7,"x","mul"],[[6,[7,[6,[7,"x","mul"],[[5,"34"]]],"add"],[[5,"1"]]]]]],[10,[6,[7,"xx","sub"],[[6,[7,[6,"std.floor",[[6,[7,"xx","div"],[[5,"289"]]]]],"mul"],[[5,"289"]]]]]]]]},externals:{"std.floor":()=>q}})&&e.f)({})),p8=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=t.sub(s),o=r.mul(r).mul(ht(3,r.mul(2))),n=x(s.x,s.x,s.y,s.y).add(x(0,1,0,1)),i=Fd(x(n.x,n.y,n.x,n.y)),d=Fd(x(i.x,i.y,i.x,i.y).add(x(n.z,n.z,n.w,n.w))).add(x(s.z,s.z,s.z,s.z)),c=Fd(d),_=Fd(d.add(1)),u=X(ue(c.mul(.02439024)),ue(_.mul(.02439024)),x(o.z)),m=X(l(u.x,u.z),l(u.y,u.w),l(o.x));return X(m.x,m.y,o.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"a",[6,"std.floor",["p"]]],[13,"d0",[6,[7,"p","sub"],["a"]]],[13,"sd",[6,[7,[6,[7,"d0","mul"],["d0"]],"mul"],[[6,"std.sub",[[5,"3"],[6,[7,"d0","mul"],[[5,"2"]]]]]]]],[13,"b",[6,[7,[6,"d.vec4f",[[7,"a","x"],[7,"a","x"],[7,"a","y"],[7,"a","y"]]],"add"],[[6,"d.vec4f",[[5,"0"],[5,"1"],[5,"0"],[5,"1"]]]]]],[13,"k1",[6,"perm4",[[6,"d.vec4f",[[7,"b","x"],[7,"b","y"],[7,"b","x"],[7,"b","y"]]]]]],[13,"k2",[6,[7,[6,"perm4",[[6,[7,[6,"d.vec4f",[[7,"k1","x"],[7,"k1","y"],[7,"k1","x"],[7,"k1","y"]]],"add"],[[6,"d.vec4f",[[7,"b","z"],[7,"b","z"],[7,"b","w"],[7,"b","w"]]]]]]],"add"],[[6,"d.vec4f",[[7,"a","z"],[7,"a","z"],[7,"a","z"],[7,"a","z"]]]]]],[13,"k3",[6,"perm4",["k2"]]],[13,"k4",[6,"perm4",[[6,[7,"k2","add"],[[5,"1"]]]]]],[13,"o1",[6,"std.fract",[[6,[7,"k3","mul"],[[5,"0.02439024"]]]]]],[13,"o2",[6,"std.fract",[[6,[7,"k4","mul"],[[5,"0.02439024"]]]]]],[13,"o3",[6,"std.mix",["o1","o2",[6,"d.vec4f",[[7,"sd","z"]]]]]],[13,"o4",[6,"std.mix",[[6,"d.vec2f",[[7,"o3","x"],[7,"o3","z"]]],[6,"d.vec2f",[[7,"o3","y"],[7,"o3","w"]]],[6,"d.vec2f",[[7,"sd","x"]]]]]],[10,[6,"std.mix",[[7,"o4","x"],[7,"o4","y"],[7,"sd","y"]]]]]]},externals:{"std.floor":()=>q,"std.sub":()=>ht,"d.vec4f":()=>x,perm4:()=>Fd,"std.fract":()=>ue,"std.mix":()=>X,"d.vec2f":()=>l}})&&e.f)({})),hn=v.fn([f,f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=f(r,o,n);return se(s.sub(i),as(Ag(t.add(i)).sub(.5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"i"},{type:"i",name:"f"},{type:"i",name:"ox"},{type:"i",name:"oy"},{type:"i",name:"oz"}],body:[0,[[13,"o",[6,"d.vec3f",["ox","oy","oz"]]],[10,[6,"std.dot",[[6,[7,"f","sub"],["o"]],[6,"std.normalize",[[6,[7,[6,"hash33",[[6,[7,"i","add"],["o"]]]],"sub"],[[5,"0.5"]]]]]]]]]]},externals:{"d.vec3f":()=>f,"std.dot":()=>se,"std.normalize":()=>as,hash33:()=>Ag}})&&e.f)({})),Bd=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=t.sub(s),o=r.mul(r).mul(r).mul(r.mul(r.mul(6).sub(15)).add(10)),n=hn(s,r,0,0,0),i=hn(s,r,1,0,0),d=hn(s,r,0,1,0),c=hn(s,r,1,1,0),_=hn(s,r,0,0,1),u=hn(s,r,1,0,1),m=hn(s,r,0,1,1),p=hn(s,r,1,1,1),y=X(X(n,i,o.x),X(d,c,o.x),o.y),h=X(X(_,u,o.x),X(m,p,o.x),o.y);return __tsover_add(__tsover_mul(X(y,h,o.z),.7),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,[7,"p","sub"],["i"]]],[13,"u",[6,[7,[6,[7,[6,[7,"f","mul"],["f"]],"mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[6,[7,[6,[7,"f","mul"],[[5,"6"]]],"sub"],[[5,"15"]]]]],"add"],[[5,"10"]]]]]],[13,"a0",[6,"perlinGrad3",["i","f",[5,"0"],[5,"0"],[5,"0"]]]],[13,"b0",[6,"perlinGrad3",["i","f",[5,"1"],[5,"0"],[5,"0"]]]],[13,"c0",[6,"perlinGrad3",["i","f",[5,"0"],[5,"1"],[5,"0"]]]],[13,"d0",[6,"perlinGrad3",["i","f",[5,"1"],[5,"1"],[5,"0"]]]],[13,"a1",[6,"perlinGrad3",["i","f",[5,"0"],[5,"0"],[5,"1"]]]],[13,"b1",[6,"perlinGrad3",["i","f",[5,"1"],[5,"0"],[5,"1"]]]],[13,"c1",[6,"perlinGrad3",["i","f",[5,"0"],[5,"1"],[5,"1"]]]],[13,"d1",[6,"perlinGrad3",["i","f",[5,"1"],[5,"1"],[5,"1"]]]],[13,"z0",[6,"std.mix",[[6,"std.mix",["a0","b0",[7,"u","x"]]],[6,"std.mix",["c0","d0",[7,"u","x"]]],[7,"u","y"]]]],[13,"z1",[6,"std.mix",[[6,"std.mix",["a1","b1",[7,"u","x"]]],[6,"std.mix",["c1","d1",[7,"u","x"]]],[7,"u","y"]]]],[10,[1,[1,[6,"std.mix",["z0","z1",[7,"u","z"]]],"*",[5,"0.7"]],"+",[5,"0.5"]]]]]},externals:{"std.floor":()=>q,perlinGrad3:()=>hn,"std.mix":()=>X}})&&e.f)({})),Wd=v.fn([l,l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return Y(__tsover_add(__tsover_mul(r,se(t,er(s.add(l(n,i))))),o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"i"},{type:"i",name:"freq"},{type:"i",name:"phase"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[10,[6,"std.sin",[[1,[1,"freq","*",[6,"std.dot",["p",[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",["ox","oy"]]]]]]]]],"+","phase"]]]]]]},externals:{"std.sin":()=>Y,"std.dot":()=>se,hash22:()=>er,"d.vec2f":()=>l}})&&e.f)({})),f8=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=q(t),n=t.sub(o),i=n.mul(n).mul(ht(3,n.mul(2)));return X(X(Wd(t,o,s,r,0,0),Wd(t,o,s,r,1,0),i.x),X(Wd(t,o,s,r,0,1),Wd(t,o,s,r,1,1),i.x),i.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"freq"},{type:"i",name:"phase"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f0",[6,[7,"p","sub"],["i"]]],[13,"f",[6,[7,[6,[7,"f0","mul"],["f0"]],"mul"],[[6,"std.sub",[[5,"3"],[6,[7,"f0","mul"],[[5,"2"]]]]]]]],[10,[6,"std.mix",[[6,"std.mix",[[6,"gaborGrain",["p","i","freq","phase",[5,"0"],[5,"0"]]],[6,"gaborGrain",["p","i","freq","phase",[5,"1"],[5,"0"]]],[7,"f","x"]]],[6,"std.mix",[[6,"gaborGrain",["p","i","freq","phase",[5,"0"],[5,"1"]]],[6,"gaborGrain",["p","i","freq","phase",[5,"1"],[5,"1"]]],[7,"f","x"]]],[7,"f","y"]]]]]]},externals:{"std.floor":()=>q,"std.sub":()=>ht,"std.mix":()=>X,gaborGrain:()=>Wd}})&&e.f)({})),Ki=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=l(za(t.add(l(.1,0))),za(t.add(l(0,.1)))),r=l(za(t.sub(l(.1,0))),za(t.sub(l(0,.1))));return s.sub(r).div(.1).mul(.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"a",[6,"d.vec2f",[[6,"perlin12",[[6,[7,"p","add"],[[6,"d.vec2f",[[5,"0.1"],[5,"0"]]]]]]],[6,"perlin12",[[6,[7,"p","add"],[[6,"d.vec2f",[[5,"0"],[5,"0.1"]]]]]]]]]],[13,"b",[6,"d.vec2f",[[6,"perlin12",[[6,[7,"p","sub"],[[6,"d.vec2f",[[5,"0.1"],[5,"0"]]]]]]],[6,"perlin12",[[6,[7,"p","sub"],[[6,"d.vec2f",[[5,"0"],[5,"0.1"]]]]]]]]]],[10,[6,[7,[6,[7,[6,[7,"a","sub"],["b"]],"div"],[[5,"0.1"]]],"mul"],[[5,"0.5"]]]]]]},externals:{"d.vec2f":()=>l,perlin12:()=>za}})&&e.f)({})),Mg=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.add(l(.1,0)),o=t.add(l(0,.1)),n=t.sub(l(.1,0)),i=t.sub(l(0,.1)),d=l(Bd(f(r.x,r.y,s)),Bd(f(o.x,o.y,s))),c=l(Bd(f(n.x,n.y,s)),Bd(f(i.x,i.y,s)));return d.sub(c).div(.1).mul(.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"z"}],body:[0,[[13,"pax",[6,[7,"p","add"],[[6,"d.vec2f",[[5,"0.1"],[5,"0"]]]]]],[13,"pay",[6,[7,"p","add"],[[6,"d.vec2f",[[5,"0"],[5,"0.1"]]]]]],[13,"pbx",[6,[7,"p","sub"],[[6,"d.vec2f",[[5,"0.1"],[5,"0"]]]]]],[13,"pby",[6,[7,"p","sub"],[[6,"d.vec2f",[[5,"0"],[5,"0.1"]]]]]],[13,"a",[6,"d.vec2f",[[6,"perlin13",[[6,"d.vec3f",[[7,"pax","x"],[7,"pax","y"],"z"]]]],[6,"perlin13",[[6,"d.vec3f",[[7,"pay","x"],[7,"pay","y"],"z"]]]]]]],[13,"b",[6,"d.vec2f",[[6,"perlin13",[[6,"d.vec3f",[[7,"pbx","x"],[7,"pbx","y"],"z"]]]],[6,"perlin13",[[6,"d.vec3f",[[7,"pby","x"],[7,"pby","y"],"z"]]]]]]],[10,[6,[7,[6,[7,[6,[7,"a","sub"],["b"]],"div"],[[5,"0.1"]]],"mul"],[[5,"0.5"]]]]]]},externals:{"d.vec2f":()=>l,perlin13:()=>Bd,"d.vec3f":()=>f}})&&e.f)({})),v8=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=a(0),n=a(1),i=a(0),d=l(t.x,t.y);for(let c=0;c<4;c++){let _=d.mul(n),u=ue(q(_).mul(l(123.34,233.53)));u=u.add(se(u,u.add(23.234)));let m=__tsover_mul(ue(__tsover_mul(u.x,u.y)),1e3),p=ue(_).sub(.5),y=H(m),h=Y(m),g=l(__tsover_sub(__tsover_mul(p.x,y),__tsover_mul(p.y,h)),__tsover_add(__tsover_mul(p.x,h),__tsover_mul(p.y,y)));o=__tsover_add(o,__tsover_div(__tsover_mul(Y(__tsover_add(__tsover_mul(g.x,10),s)),re(.25,0,se(g,g))),n)),d=l(__tsover_sub(__tsover_mul(d.x,.54),__tsover_mul(d.y,.84)),__tsover_add(__tsover_mul(d.x,.84),__tsover_mul(d.y,.54))).add(a(c)),i=__tsover_add(i,__tsover_div(1,n)),n=__tsover_mul(n,r)}return __tsover_div(o,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"phase"},{type:"i",name:"scale"}],body:[0,[[12,"dsum",[6,"d.f32",[[5,"0"]]]],[12,"s",[6,"d.f32",[[5,"1"]]]],[12,"m",[6,"d.f32",[[5,"0"]]]],[12,"pp",[6,"d.vec2f",[[7,"p","x"],[7,"p","y"]]]],[14,[12,"idx",[5,"0"]],[1,"idx","<",[5,"4"]],[102,"++","idx"],[0,[[13,"q0",[6,[7,"pp","mul"],["s"]]],[12,"g",[6,"std.fract",[[6,[7,[6,"std.floor",["q0"]],"mul"],[[6,"d.vec2f",[[5,"123.34"],[5,"233.53"]]]]]]]],[2,"g","=",[6,[7,"g","add"],[[6,"std.dot",["g",[6,[7,"g","add"],[[5,"23.234"]]]]]]]],[13,"a",[1,[6,"std.fract",[[1,[7,"g","x"],"*",[7,"g","y"]]]],"*",[5,"1000"]]],[13,"qc",[6,[7,[6,"std.fract",["q0"]],"sub"],[[5,"0.5"]]]],[13,"ca",[6,"std.cos",["a"]]],[13,"sa",[6,"std.sin",["a"]]],[13,"q",[6,"d.vec2f",[[1,[1,[7,"qc","x"],"*","ca"],"-",[1,[7,"qc","y"],"*","sa"]],[1,[1,[7,"qc","x"],"*","sa"],"+",[1,[7,"qc","y"],"*","ca"]]]]],[2,"dsum","=",[1,"dsum","+",[1,[1,[6,"std.sin",[[1,[1,[7,"q","x"],"*",[5,"10"]],"+","phase"]]],"*",[6,"std.smoothstep",[[5,"0.25"],[5,"0"],[6,"std.dot",["q","q"]]]]],"/","s"]]],[2,"pp","=",[6,[7,[6,"d.vec2f",[[1,[1,[7,"pp","x"],"*",[5,"0.54"]],"-",[1,[7,"pp","y"],"*",[5,"0.84"]]],[1,[1,[7,"pp","x"],"*",[5,"0.84"]],"+",[1,[7,"pp","y"],"*",[5,"0.54"]]]]],"add"],[[6,"d.f32",["idx"]]]]],[2,"m","=",[1,"m","+",[1,[5,"1"],"/","s"]]],[2,"s","=",[1,"s","*","scale"]]]]],[10,[1,"dsum","/","m"]]]]},externals:{"d.f32":()=>a,"d.vec2f":()=>l,"std.fract":()=>ue,"std.floor":()=>q,"std.dot":()=>se,"std.cos":()=>H,"std.sin":()=>Y,"std.smoothstep":()=>re}})&&e.f)({})),y8=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=a(0);for(let r=0;r<9;r++){let o=a(r),n=q(__tsover_div(o,3)),i=__tsover_sub(o,__tsover_mul(n,3));s=__tsover_add(s,Ot(t.add(l(__tsover_sub(i,1),__tsover_sub(n,1)))))}return __tsover_add(__tsover_mul(.9,__tsover_sub(__tsover_mul(1.125,Ot(t)),__tsover_div(s,8))),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"v",[6,"d.f32",[[5,"0"]]]],[14,[12,"k",[5,"0"]],[1,"k","<",[5,"9"]],[102,"++","k"],[0,[[13,"fk",[6,"d.f32",["k"]]],[13,"row",[6,"std.floor",[[1,"fk","/",[5,"3"]]]]],[13,"col",[1,"fk","-",[1,"row","*",[5,"3"]]]],[2,"v","=",[1,"v","+",[6,"hash12",[[6,[7,"p","add"],[[6,"d.vec2f",[[1,"col","-",[5,"1"]],[1,"row","-",[5,"1"]]]]]]]]]]]]],[10,[1,[1,[5,"0.9"],"*",[1,[1,[5,"1.125"],"*",[6,"hash12",["p"]]],"-",[1,"v","/",[5,"8"]]]],"+",[5,"0.5"]]]]]},externals:{"d.f32":()=>a,"std.floor":()=>q,hash12:()=>Ot,"d.vec2f":()=>l}})&&e.f)({})),Pg=v.fn([El],Z)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(0),r=t.x,o=t.y;for(let n=256;n>0;n=n>>1){let i=Z(n),d=C(Z(0),Z(1),(r&i)>0),c=C(Z(0),Z(1),(o&i)>0),_=d<<1|d^c;s=__tsover_add(s,__tsover_mul(__tsover_mul(i,i),_));let u=__tsover_sub(Z(1),c),m=__tsover_mul(r^o,u)^__tsover_mul(Z(__tsover_sub(n,1)),d&u);r=r^m,o=o^m}return s}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"i",[6,"d.i32",[[5,"0"]]]],[12,"px",[7,"p","x"]],[12,"py",[7,"p","y"]],[14,[12,"s",[5,"256"]],[1,"s",">",[5,"0"]],[2,"s","=",[1,"s",">>",[5,"1"]]],[0,[[13,"S",[6,"d.i32",["s"]]],[13,"rx",[6,"std.select",[[6,"d.i32",[[5,"0"]]],[6,"d.i32",[[5,"1"]]],[1,[1,"px","&","S"],">",[5,"0"]]]]],[13,"ry",[6,"std.select",[[6,"d.i32",[[5,"0"]]],[6,"d.i32",[[5,"1"]]],[1,[1,"py","&","S"],">",[5,"0"]]]]],[13,"dq",[1,[1,"rx","<<",[5,"1"]],"|",[1,"rx","^","ry"]]],[2,"i","=",[1,"i","+",[1,[1,"S","*","S"],"*","dq"]]],[13,"oneMinusRy",[1,[6,"d.i32",[[5,"1"]]],"-","ry"]],[13,"rhs",[1,[1,[1,"px","^","py"],"*","oneMinusRy"],"^",[1,[6,"d.i32",[[1,"s","-",[5,"1"]]]],"*",[1,"rx","&","oneMinusRy"]]]],[2,"px","=",[1,"px","^","rhs"]],[2,"py","=",[1,"py","^","rhs"]]]]],[10,"i"]]]},externals:{"d.i32":()=>Z,"std.select":()=>C}})&&e.f)({}));v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Pg(El(Z(t.x),Z(t.y)))&Z(262143);return ue(__tsover_mul(.6180339887498949,a(s)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"idx",[1,[6,"hilbertEncode512",[[6,"d.vec2i",[[6,"d.i32",[[7,"p","x"]]],[6,"d.i32",[[7,"p","y"]]]]]]],"&",[6,"d.i32",[[5,"262143"]]]]],[10,[6,"std.fract",[[1,[5,"0.6180339887498949"],"*",[6,"d.f32",["idx"]]]]]]]]},externals:{hilbertEncode512:()=>Pg,"d.vec2i":()=>El,"d.i32":()=>Z,"std.fract":()=>ue,"d.f32":()=>a}})&&e.f)({}));var Eg=v.fn([l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=q(t),i=t.sub(n),d=q(__tsover_mul(Y(__tsover_mul(n.x,51024)),3104)),c=q(__tsover_mul(Y(__tsover_mul(n.y,1324)),554)),_=__tsover_add(d,c),u=i.mul(2).sub(1);u=u.mul(H(_)).add(l(-u.y,u.x).mul(Y(_))),u=u.add(Y(__tsover_sub(d,c))),u=u.mul(.5).add(.5);let m=__tsover_mul(__tsover_add(Y(__tsover_add(d,__tsover_mul(u.y,Math.PI))),Y(__tsover_add(c,__tsover_mul(u.y,Math.PI)))),.2),p=z(__tsover_add(__tsover_sub(u.x,.5),m));p=__tsover_sub(.5,__tsover_mul(p,__tsover_div(s,o))),p=__tsover_mul(re(-2,__tsover_add(__tsover_mul(Zt(p),1.5),16),p),12);let y=__tsover_add(__tsover_mul(Y(__tsover_add(r,__tsover_mul(Ot(n),6.2831853))),.5),.5);return __tsover_mul(__tsover_mul(p,u.y),y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"f"},{type:"i",name:"time"},{type:"i",name:"thickness"}],body:[0,[[13,"seed0",[6,"std.floor",["uv"]]],[13,"lo",[6,[7,"uv","sub"],["seed0"]]],[13,"sx",[6,"std.floor",[[1,[6,"std.sin",[[1,[7,"seed0","x"],"*",[5,"51024"]]]],"*",[5,"3104"]]]]],[13,"sy",[6,"std.floor",[[1,[6,"std.sin",[[1,[7,"seed0","y"],"*",[5,"1324"]]]],"*",[5,"554"]]]]],[13,"ss",[1,"sx","+","sy"]],[12,"u2",[6,[7,[6,[7,"lo","mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[2,"u2","=",[6,[7,[6,[7,"u2","mul"],[[6,"std.cos",["ss"]]]],"add"],[[6,[7,[6,"d.vec2f",[[4,"-",[7,"u2","y"]],[7,"u2","x"]]],"mul"],[[6,"std.sin",["ss"]]]]]]],[2,"u2","=",[6,[7,"u2","add"],[[6,"std.sin",[[1,"sx","-","sy"]]]]]],[2,"u2","=",[6,[7,[6,[7,"u2","mul"],[[5,"0.5"]]],"add"],[[5,"0.5"]]]],[13,"WAVYNESS",[5,"0.2"]],[13,"sVal",[1,[1,[6,"std.sin",[[1,"sx","+",[1,[7,"u2","y"],"*","Math.PI"]]]],"+",[6,"std.sin",[[1,"sy","+",[1,[7,"u2","y"],"*","Math.PI"]]]]],"*","WAVYNESS"]],[12,"x",[6,"std.abs",[[1,[1,[7,"u2","x"],"-",[5,"0.5"]],"+","sVal"]]]],[2,"x","=",[1,[5,"0.5"],"-",[1,"x","*",[1,"f","/","thickness"]]]],[2,"x","=",[1,[6,"std.smoothstep",[[4,"-",[5,"2"]],[1,[1,[6,"std.fwidth",["x"]],"*",[5,"1.5"]],"+",[5,"16"]],"x"]],"*",[5,"12"]]],[13,"pulse",[1,[1,[6,"std.sin",[[1,"time","+",[1,[6,"hash12",["seed0"]],"*",[5,"6.2831853"]]]]],"*",[5,"0.5"]],"+",[5,"0.5"]]],[10,[1,[1,"x","*",[7,"u2","y"]],"*","pulse"]]]]},externals:{"std.floor":()=>q,"std.sin":()=>Y,"std.cos":()=>H,"d.vec2f":()=>l,"Math.PI":()=>Math.PI,"std.abs":()=>z,"std.smoothstep":()=>re,"std.fwidth":()=>Zt,hash12:()=>Ot}})&&e.f)({})),h8=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=a(0),n=l(t.x,t.y),i=__tsover_div(1,j(Zt(t)));for(let d=0;d<8;d++)o=b(o,Eg(n,i,s,r)),n=l(__tsover_add(n.x,__tsover_mul(n.y,.7)),__tsover_add(__tsover_mul(n.x,-.7),n.y)).sub(12.31);return o}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"time"},{type:"i",name:"thickness"}],body:[0,[[12,"scratches",[6,"d.f32",[[5,"0"]]]],[12,"p",[6,"d.vec2f",[[7,"uv","x"],[7,"uv","y"]]]],[13,"f",[1,[5,"1"],"/",[6,"std.length",[[6,"std.fwidth",["uv"]]]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"8"]],[102,"++","i"],[0,[[2,"scratches","=",[6,"std.max",["scratches",[6,"scratchOne",["p","f","time","thickness"]]]]],[2,"p","=",[6,[7,[6,"d.vec2f",[[1,[7,"p","x"],"+",[1,[7,"p","y"],"*",[5,"0.7"]]],[1,[1,[7,"p","x"],"*",[4,"-",[5,"0.7"]]],"+",[7,"p","y"]]]],"sub"],[[5,"12.31"]]]]]]],[10,"scratches"]]]},externals:{"d.f32":()=>a,"d.vec2f":()=>l,"std.length":()=>j,"std.fwidth":()=>Zt,"std.max":()=>b,scratchOne:()=>Eg}})&&e.f)({})),kg=v.fn([l,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=a(0),o=a(0),n=a(1),i=l(t.x,t.y);for(let d=0;da,"d.vec2f":()=>l,perlin12:()=>za}})&&e.f)({})),$g=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=f(0,0,0),r=a(1),o=l(t.x,t.y);for(let n=0;n<6;n++)s=s.add(la(o).mul(r)),r=__tsover_mul(r,.5),o=o.mul(2);return s}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"s",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]]],[12,"a",[6,"d.f32",[[5,"1"]]]],[12,"pp",[6,"d.vec2f",[[7,"p","x"],[7,"p","y"]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"6"]],[102,"++","i"],[0,[[2,"s","=",[6,[7,"s","add"],[[6,[7,[6,"perlin12d",["pp"]],"mul"],["a"]]]]],[2,"a","=",[1,"a","*",[5,"0.5"]]],[2,"pp","=",[6,[7,"pp","mul"],[[5,"2"]]]]]]],[10,"s"]]]},externals:{"d.vec3f":()=>f,"d.f32":()=>a,"d.vec2f":()=>l,perlin12d:()=>la}})&&e.f)({})),x8=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=$g(t);return kg(t.add(l(s.y,s.z).mul(.4)),Z(6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"fs",[6,"fbmStone",["p"]]],[10,[6,"fbmPerlin",[[6,[7,"p","add"],[[6,[7,[6,"d.vec2f",[[7,"fs","y"],[7,"fs","z"]]],"mul"],[[5,"0.4"]]]]],[6,"d.i32",[[5,"6"]]]]]]]]},externals:{fbmStone:()=>$g,fbmPerlin:()=>kg,"d.vec2f":()=>l,"d.i32":()=>Z}})&&e.f)({})),Ug=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=l(0,0),r=a(0),o=a(1),n=l(t.x,t.y);for(let i=0;i<6;i++)s=s.add(Ki(n).mul(o)),r=__tsover_add(r,o),o=__tsover_mul(o,.5),n=n.mul(2);return s.div(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"s",[6,"d.vec2f",[[5,"0"],[5,"0"]]]],[12,"m",[6,"d.f32",[[5,"0"]]]],[12,"a",[6,"d.f32",[[5,"1"]]]],[12,"pp",[6,"d.vec2f",[[7,"p","x"],[7,"p","y"]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"6"]],[102,"++","i"],[0,[[2,"s","=",[6,[7,"s","add"],[[6,[7,[6,"curl22",["pp"]],"mul"],["a"]]]]],[2,"m","=",[1,"m","+","a"]],[2,"a","=",[1,"a","*",[5,"0.5"]]],[2,"pp","=",[6,[7,"pp","mul"],[[5,"2"]]]]]]],[10,[6,[7,"s","div"],["m"]]]]]},externals:{"d.vec2f":()=>l,"d.f32":()=>a,curl22:()=>Ki}})&&e.f)({})),g8=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Ug(t);return b(z(s.x),z(s.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"n",[6,"fbmWool",["p"]]],[10,[6,"std.max",[[6,"std.abs",[[7,"n","x"]]],[6,"std.abs",[[7,"n","y"]]]]]]]]},externals:{fbmWool:()=>Ug,"std.max":()=>b,"std.abs":()=>z}})&&e.f)({})),Cg=v.fn([l,l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=l(-s.y,s.x).mul(Math.PI),o=q(t),n=t.sub(o),i=l(0,0),d=a(0);for(let c=-1;c<=2;c++)for(let _=-1;_<=2;_++){let u=l(a(c),a(_)),m=n.sub(u).sub(er(o.add(u))).add(.5),p=se(m,m),y=b(a(0),__tsover_sub(ct(__tsover_mul(p,-2)),.01111));d=__tsover_add(d,y);let h=se(m,r);i=i.add(l(H(h),-Y(h)).mul(y))}return f(i.x,__tsover_mul(i.y,r.x),__tsover_mul(i.y,r.y)).div(d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"slope"}],body:[0,[[13,"sideDir",[6,[7,[6,"d.vec2f",[[4,"-",[7,"slope","y"]],[7,"slope","x"]]],"mul"],["Math.PI"]]],[13,"id",[6,"std.floor",["p"]]],[13,"pp",[6,[7,"p","sub"],["id"]]],[12,"heightSlope",[6,"d.vec2f",[[5,"0"],[5,"0"]]]],[12,"wSum",[6,"d.f32",[[5,"0"]]]],[14,[12,"x",[4,"-",[5,"1"]]],[1,"x","<=",[5,"2"]],[102,"++","x"],[0,[[14,[12,"y",[4,"-",[5,"1"]]],[1,"y","<=",[5,"2"]],[102,"++","y"],[0,[[13,"off",[6,"d.vec2f",[[6,"d.f32",["x"]],[6,"d.f32",["y"]]]]],[13,"c",[6,[7,[6,[7,[6,[7,"pp","sub"],["off"]],"sub"],[[6,"hash22",[[6,[7,"id","add"],["off"]]]]]],"add"],[[5,"0.5"]]]],[13,"dist2",[6,"std.dot",["c","c"]]],[13,"w",[6,"std.max",[[6,"d.f32",[[5,"0"]]],[1,[6,"std.exp",[[1,"dist2","*",[4,"-",[5,"2"]]]]],"-",[5,"0.01111"]]]]],[2,"wSum","=",[1,"wSum","+","w"]],[13,"t",[6,"std.dot",["c","sideDir"]]],[2,"heightSlope","=",[6,[7,"heightSlope","add"],[[6,[7,[6,"d.vec2f",[[6,"std.cos",["t"]],[4,"-",[6,"std.sin",["t"]]]]],"mul"],["w"]]]]]]]]]]],[10,[6,[7,[6,"d.vec3f",[[7,"heightSlope","x"],[1,[7,"heightSlope","y"],"*",[7,"sideDir","x"]],[1,[7,"heightSlope","y"],"*",[7,"sideDir","y"]]]],"div"],["wSum"]]]]]},externals:{"d.vec2f":()=>l,"Math.PI":()=>Math.PI,"std.floor":()=>q,"d.f32":()=>a,hash22:()=>er,"std.dot":()=>se,"std.max":()=>b,"std.exp":()=>ct,"std.cos":()=>H,"std.sin":()=>Y,"d.vec3f":()=>f}})&&e.f)({})),b8=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=la(t),r=a(.25),o=a(8),n=a(1);for(let i=0;i<4;i++){let d=l(s.y,s.z),c=b(se(d,d),a(1e-4)),_=d.mul(Ce(c,a(__tsover_mul(.5,__tsover_sub(.5,1)))));s=s.add(Cg(t.mul(o),_).mul(r).mul(f(1,o,o))),n=__tsover_add(n,r),r=__tsover_mul(r,.5),o=__tsover_mul(o,2)}return s.div(n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"nd",[6,"perlin12d",["p"]]],[12,"strength",[6,"d.f32",[[5,"0.25"]]]],[12,"freq",[6,"d.f32",[[5,"8"]]]],[12,"total",[6,"d.f32",[[5,"1"]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"4"]],[102,"++","i"],[0,[[13,"grad",[6,"d.vec2f",[[7,"nd","y"],[7,"nd","z"]]]],[13,"len2",[6,"std.max",[[6,"std.dot",["grad","grad"]],[6,"d.f32",[[5,"0.0001"]]]]]],[13,"slope",[6,[7,"grad","mul"],[[6,"std.pow",["len2",[6,"d.f32",[[1,[5,"0.5"],"*",[1,[5,"0.5"],"-",[5,"1"]]]]]]]]]],[2,"nd","=",[6,[7,"nd","add"],[[6,[7,[6,[7,[6,"gullies",[[6,[7,"p","mul"],["freq"]],"slope"]],"mul"],["strength"]],"mul"],[[6,"d.vec3f",[[5,"1"],"freq","freq"]]]]]]],[2,"total","=",[1,"total","+","strength"]],[2,"strength","=",[1,"strength","*",[5,"0.5"]]],[2,"freq","=",[1,"freq","*",[5,"2"]]]]]],[10,[6,[7,"nd","div"],["total"]]]]]},externals:{perlin12d:()=>la,"d.f32":()=>a,"d.vec2f":()=>l,"std.max":()=>b,"std.dot":()=>se,"std.pow":()=>Ce,gullies:()=>Cg,"d.vec3f":()=>f}})&&e.f)({})),Rg=v.fn([l,Z],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=l(0,0),o=a(0),n=a(1),i=l(t.x,t.y);for(let d=0;dl,"d.f32":()=>a,"std.clamp":()=>$,curl22:()=>Ki}})&&e.f)({})),zg=v.fn([l,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_add(__tsover_mul(__tsover_div(j(Rg(t,s)),1.414),.6),.4)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"octaves"}],body:[0,[[10,[1,[1,[1,[6,"std.length",[[6,"fbmPaper",["p","octaves"]]]],"/",[5,"1.414"]],"*",[5,"0.6"]],"+",[5,"0.4"]]]]]},externals:{"std.length":()=>j,fbmPaper:()=>Rg}})&&e.f)({}));v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_add(__tsover_mul(t.x,.2126),__tsover_mul(t.y,.7152)),__tsover_mul(t.z,.0722))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[1,[1,[1,[7,"rgb","x"],"*",[5,"0.2126"]],"+",[1,[7,"rgb","y"],"*",[5,"0.7152"]]],"+",[1,[7,"rgb","z"],"*",[5,"0.0722"]]]]]]},externals:{}})&&e.f)({}));v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_add(__tsover_mul(t.x,.299),__tsover_mul(t.y,.587)),__tsover_mul(t.z,.114))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[1,[1,[1,[7,"rgb","x"],"*",[5,"0.299"]],"+",[1,[7,"rgb","y"],"*",[5,"0.587"]]],"+",[1,[7,"rgb","z"],"*",[5,"0.114"]]]]]]},externals:{}})&&e.f)({}));var Gg=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return se(t,f(.2126,.7152,.0722))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),Ll=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return se(t,f(.299,.587,.114))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({}));v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return $(__tsover_add(__tsover_mul(__tsover_sub(t,r),s),r),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"contrast"},{type:"i",name:"pivot"}],body:[0,[[10,[6,"std.clamp",[[1,[1,[1,"x","-","pivot"],"*","contrast"],"+","pivot"],[5,"0"],[5,"1"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({}));var w8=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_mul(t,.5),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[1,[1,"v","*",[5,"0.5"]],"+",[5,"0.5"]]]]]},externals:{}})&&e.f)({}));v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_sub(1,z(t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.abs",["v"]]]]]]},externals:{"std.abs":()=>z}})&&e.f)({}));var KC=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=$(__tsover_add(__tsover_add(__tsover_mul(__tsover_sub(t,.5),__tsover_add(s,1)),.5),r),0,1);return __tsover_sub(1,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"noise01"},{type:"i",name:"contrast"},{type:"i",name:"balance"}],body:[0,[[13,"k",[6,"std.clamp",[[1,[1,[1,[1,"noise01","-",[5,"0.5"]],"*",[1,"contrast","+",[5,"1"]]],"+",[5,"0.5"]],"+","balance"],[5,"0"],[5,"1"]]]],[10,[1,[5,"1"],"-","k"]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),ZC=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(__tsover_mul(t,__tsover_add(s,1)),r),n=$(__tsover_add(__tsover_mul(o,.5),.5),0,1);return __tsover_sub(1,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"contrast"},{type:"i",name:"balance"}],body:[0,[[13,"adjusted",[1,[1,"v","*",[1,"contrast","+",[5,"1"]]],"+","balance"]],[13,"k",[6,"std.clamp",[[1,[1,"adjusted","*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[10,[1,[5,"1"],"-","k"]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),QC=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(__tsover_mul(t,2),1),n=__tsover_add(__tsover_mul(o,s),r);return $(__tsover_add(__tsover_mul(n,.5),.5),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"contrast"},{type:"i",name:"balance"}],body:[0,[[13,"signed",[1,[1,"v","*",[5,"2"]],"-",[5,"1"]]],[13,"adjusted",[1,[1,"signed","*","contrast"],"+","balance"]],[10,[6,"std.clamp",[[1,[1,"adjusted","*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),JC=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Ce(t,__tsover_div(5,s)),i=$(__tsover_add(__tsover_mul(__tsover_sub(n,.5),r),.5),0,1),d=__tsover_sub(__tsover_div(o,100),.5),c=$(__tsover_add(i,d),0,1);return __tsover_sub(1,c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"glow"},{type:"i",name:"contrast"},{type:"i",name:"balance"}],body:[0,[[13,"spread",[6,"std.pow",["v",[1,[5,"5"],"/","glow"]]]],[13,"contrasted",[6,"std.clamp",[[1,[1,[1,"spread","-",[5,"0.5"]],"*","contrast"],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[13,"balanceShift",[1,[1,"balance","/",[5,"100"]],"-",[5,"0.5"]]],[13,"balanced",[6,"std.clamp",[[1,"contrasted","+","balanceShift"],[5,"0"],[5,"1"]]]],[10,[1,[5,"1"],"-","balanced"]]]]},externals:{"std.pow":()=>Ce,"std.clamp":()=>$}})&&e.f)({}));function t7(e){let{domain:t,contrastMode:s,invert:r,glowGamma:o=!1,balance:n="plain"}=e;if(o){if(t==="unit"&&s==="multiplicative"&&r&&n==="percentCentred")return JC}else if(n==="plain"){if(t==="unit"&&s==="additive"&&r)return KC;if(t==="signed"&&s==="additive"&&r)return ZC;if(t==="unit"&&s==="multiplicative"&&!r)return QC}throw new Error(`toneRemap: no variant for {domain: '${t}', contrastMode: '${s}', invert: ${r}, glowGamma: ${o}, balance: '${n}'} \u2014 add its body to kit/tone.ts rather than approximating.`)}var eR=v.fn([x,l,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Ot(s.mul(r).add(l(o,__tsover_mul(o,1.618))));return x($(t.xyz.add(__tsover_mul(__tsover_sub(n,.5),.004)),f(0),f(1)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"animTime"}],body:[0,[[13,"n",[6,"hash12",[[6,[7,[6,[7,"uv","mul"],["viewport"]],"add"],[[6,"d.vec2f",["animTime",[1,"animTime","*",[5,"1.618"]]]]]]]]],[13,"rgb",[6,"std.clamp",[[6,[7,[7,"base","xyz"],"add"],[[1,[1,"n","-",[5,"0.5"]],"*",[5,"0.004"]]]],[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]],[10,[6,"d.vec4f",["rgb",[7,"base","w"]]]]]]},externals:{hash12:()=>Ot,"d.vec2f":()=>l,"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),bt=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_div(t.x,b(t.y,1e-6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"viewport"}],body:[0,[[10,[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]]]]},externals:{"std.max":()=>b}})&&e.f)({})),Zi=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(t,__tsover_mul(s,q(__tsover_div(t,s))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"m"}],body:[0,[[10,[1,"x","-",[1,"m","*",[6,"std.floor",[[1,"x","/","m"]]]]]]]]},externals:{"std.floor":()=>q}})&&e.f)({})),ym=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_sub(t.x,__tsover_mul(s.x,q(__tsover_div(t.x,s.x)))),__tsover_sub(t.y,__tsover_mul(s.y,q(__tsover_div(t.y,s.y)))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"m"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"p","x"],"-",[1,[7,"m","x"],"*",[6,"std.floor",[[1,[7,"p","x"],"/",[7,"m","x"]]]]]],[1,[7,"p","y"],"-",[1,[7,"m","y"],"*",[6,"std.floor",[[1,[7,"p","y"],"/",[7,"m","y"]]]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.floor":()=>q}})&&e.f)({}));v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=C(b(s,1e-5),oe(s,-1e-5),s<0);return __tsover_div(t,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"n"},{type:"i",name:"den"}],body:[0,[[13,"guarded",[6,"std.select",[[6,"std.max",["den",[5,"0.00001"]]],[6,"std.min",["den",[4,"-",[5,"0.00001"]]]],[1,"den","<",[5,"0"]]]]],[10,[1,"n","/","guarded"]]]]},externals:{"std.select":()=>C,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({}));var Eo=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_sub(__tsover_mul(t.x,s),__tsover_mul(t.y,r)),__tsover_add(__tsover_mul(t.x,r),__tsover_mul(t.y,s)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"cosA"},{type:"i",name:"sinA"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[7,"p","x"],"*","cosA"],"-",[1,[7,"p","y"],"*","sinA"]],[1,[1,[7,"p","x"],"*","sinA"],"+",[1,[7,"p","y"],"*","cosA"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Yg=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(s.x,b(s.y,1e-6));return l(__tsover_mul(t.x,r),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),Il=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(s.x,b(s.y,1e-6));return l(__tsover_mul(t.x,r),__tsover_sub(1,t.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[1,[5,"1"],"-",[7,"uv","y"]]]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),hm=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return l(t.x,__tsover_sub(1,t.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"d.vec2f",[[7,"p","x"],[1,[5,"1"],"-",[7,"p","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),bn=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_mul(t.x,s),__tsover_sub(1,t.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"aspect"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"pos","x"],"*","aspect"],[1,[5,"1"],"-",[7,"pos","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),ua=v.fn([l,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(r.x,b(r.y,1e-6));return l(__tsover_sub(__tsover_mul(t.x,o),__tsover_mul(s.x,o)),__tsover_sub(t.y,__tsover_sub(1,s.y)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"center"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[10,[6,"d.vec2f",[[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,[7,"center","x"],"*","aspect"]],[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),ma=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_sub(__tsover_mul(t.x,s),__tsover_mul(s,.5)),__tsover_sub(t.y,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,"aspect","*",[5,"0.5"]]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Qi=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,.5),i=.5,d=__tsover_sub(t.x,n),c=__tsover_sub(t.y,i);return l(__tsover_add(__tsover_sub(__tsover_mul(d,r),__tsover_mul(c,o)),n),__tsover_add(__tsover_add(__tsover_mul(d,o),__tsover_mul(c,r)),i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"aspect"},{type:"i",name:"cosA"},{type:"i",name:"sinA"}],body:[0,[[13,"centerX",[1,"aspect","*",[5,"0.5"]]],[13,"centerY",[5,"0.5"]],[13,"cx",[1,[7,"p","x"],"-","centerX"]],[13,"cy",[1,[7,"p","y"],"-","centerY"]],[10,[6,"d.vec2f",[[1,[1,[1,"cx","*","cosA"],"-",[1,"cy","*","sinA"]],"+","centerX"],[1,[1,[1,"cx","*","sinA"],"+",[1,"cy","*","cosA"]],"+","centerY"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Dl=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_add(__tsover_mul(t.x,s),__tsover_mul(t.y,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"cosA"},{type:"i",name:"sinA"}],body:[0,[[10,[1,[1,[7,"p","x"],"*","cosA"],"+",[1,[7,"p","y"],"*","sinA"]]]]]},externals:{}})&&e.f)({}));v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return l(j(t),tt(t.y,t.x))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"d.vec2f",[[6,"std.length",["p"]],[6,"std.atan2",[[7,"p","y"],[7,"p","x"]]]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.atan2":()=>tt}})&&e.f)({}));v.fn([a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_mul(t,H(s)),__tsover_mul(t,Y(s)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"r"},{type:"i",name:"theta"}],body:[0,[[10,[6,"d.vec2f",[[1,"r","*",[6,"std.cos",["theta"]]],[1,"r","*",[6,"std.sin",["theta"]]]]]]]]},externals:{"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({}));var Lg=2/Math.sqrt(3),xm=ut({cell:l,local:l}).$name("CellTile"),Ji=v.fn([l],xm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return xm({cell:q(t),local:ue(t)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"CellTile",[[104,{cell:[6,"std.floor",["p"]],local:[6,"std.fract",["p"]]}]]]]]]},externals:{CellTile:()=>xm,"std.floor":()=>q,"std.fract":()=>ue}})&&e.f)({})),gm=ut({gv:l,id:l}).$name("HexCell"),Fl=v.fn([l,l],gm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=s.mul(.5),o=ym(t,s).sub(r),n=ym(t.sub(r),s).sub(r),i=C(n,o,se(o,o)ym,"std.select":()=>C,"std.dot":()=>se,HexCell:()=>gm}})&&e.f)({})),Ig=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return l(__tsover_sub(t.x,__tsover_div(t.y,_a)),__tsover_mul(t.y,Lg))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"p","x"],"-",[1,[7,"p","y"],"/","SQRT3"]],[1,[7,"p","y"],"*","TWO_OVER_SQRT3"]]]]]]},externals:{"d.vec2f":()=>l,SQRT3:()=>_a,TWO_OVER_SQRT3:()=>Lg}})&&e.f)({})),T8=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(s.x,b(s.y,1e-6)),n=__tsover_mul(t.x,o),i=__tsover_sub(1,t.y),d=__tsover_div(__tsover_add(q(__tsover_mul(n,r)),.5),r),c=__tsover_div(__tsover_add(q(__tsover_mul(i,r)),.5),r);return l(__tsover_div(d,o),__tsover_sub(1,c))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[13,"correctedX",[1,[7,"uv","x"],"*","aspect"]],[13,"correctedY",[1,[5,"1"],"-",[7,"uv","y"]]],[13,"cellCenterCorrectedX",[1,[1,[6,"std.floor",[[1,"correctedX","*","cells"]]],"+",[5,"0.5"]],"/","cells"]],[13,"cellCenterCorrectedY",[1,[1,[6,"std.floor",[[1,"correctedY","*","cells"]]],"+",[5,"0.5"]],"/","cells"]],[10,[6,"d.vec2f",[[1,"cellCenterCorrectedX","/","aspect"],[1,[5,"1"],"-","cellCenterCorrectedY"]]]]]]},externals:{"std.max":()=>b,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),Dg=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_div(s.x,b(s.y,1e-6)),i=__tsover_mul(t.x,n),d=__tsover_sub(1,t.y),c=H(o),_=Y(o),u=__tsover_mul(n,.5),m=.5,p=__tsover_sub(i,u),y=__tsover_sub(d,m),h=__tsover_add(__tsover_sub(__tsover_mul(p,c),__tsover_mul(y,_)),u),g=__tsover_add(__tsover_add(__tsover_mul(p,_),__tsover_mul(y,c)),m),w=__tsover_div(__tsover_add(q(__tsover_mul(h,r)),.5),r),S=__tsover_div(__tsover_add(q(__tsover_mul(g,r)),.5),r),T=__tsover_sub(w,u),A=__tsover_sub(S,m),P=__tsover_add(__tsover_add(__tsover_mul(T,c),__tsover_mul(A,_)),u),U=__tsover_add(__tsover_add(__tsover_mul(T,-_),__tsover_mul(A,c)),m);return l(__tsover_div(P,n),__tsover_sub(1,U))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotationRad"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[13,"correctedX",[1,[7,"uv","x"],"*","aspect"]],[13,"correctedY",[1,[5,"1"],"-",[7,"uv","y"]]],[13,"cosR",[6,"std.cos",["rotationRad"]]],[13,"sinR",[6,"std.sin",["rotationRad"]]],[13,"centerX",[1,"aspect","*",[5,"0.5"]]],[13,"centerY",[5,"0.5"]],[13,"cx",[1,"correctedX","-","centerX"]],[13,"cy",[1,"correctedY","-","centerY"]],[13,"rotX",[1,[1,[1,"cx","*","cosR"],"-",[1,"cy","*","sinR"]],"+","centerX"]],[13,"rotY",[1,[1,[1,"cx","*","sinR"],"+",[1,"cy","*","cosR"]],"+","centerY"]],[13,"cellRX",[1,[1,[6,"std.floor",[[1,"rotX","*","cells"]]],"+",[5,"0.5"]],"/","cells"]],[13,"cellRY",[1,[1,[6,"std.floor",[[1,"rotY","*","cells"]]],"+",[5,"0.5"]],"/","cells"]],[13,"ccx",[1,"cellRX","-","centerX"]],[13,"ccy",[1,"cellRY","-","centerY"]],[13,"unrotX",[1,[1,[1,"ccx","*","cosR"],"+",[1,"ccy","*","sinR"]],"+","centerX"]],[13,"unrotY",[1,[1,[1,"ccx","*",[4,"-","sinR"]],"+",[1,"ccy","*","cosR"]],"+","centerY"]],[10,[6,"d.vec2f",[[1,"unrotX","/","aspect"],[1,[5,"1"],"-","unrotY"]]]]]]},externals:{"std.max":()=>b,"std.cos":()=>H,"std.sin":()=>Y,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),Bl=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ue(t.mul(l(123.34,345.45))),r=s.add(se(s,s.add(34.345)));return ue(__tsover_mul(r.x,r.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"id"}],body:[0,[[13,"q0",[6,"std.fract",[[6,[7,"id","mul"],[[6,"d.vec2f",[[5,"123.34"],[5,"345.45"]]]]]]]],[13,"q1",[6,[7,"q0","add"],[[6,"std.dot",["q0",[6,[7,"q0","add"],[[5,"34.345"]]]]]]]],[10,[6,"std.fract",[[1,[7,"q1","x"],"*",[7,"q1","y"]]]]]]]},externals:{"std.fract":()=>ue,"d.vec2f":()=>l,"std.dot":()=>se}})&&e.f)({})),Wl=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(__tsover_mul(Y(__tsover_mul(t,127.1)),43758.5453))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"row"}],body:[0,[[10,[6,"std.fract",[[1,[6,"std.sin",[[1,"row","*",[5,"127.1"]]]],"*",[5,"43758.5453"]]]]]]]},externals:{"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),Ol=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_add(1,__tsover_mul(__tsover_mul(__tsover_sub(t,.5),4),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rowHash"},{type:"i",name:"variance"}],body:[0,[[10,[1,[5,"1"],"+",[1,[1,[1,"rowHash","-",[5,"0.5"]],"*",[5,"4"]],"*","variance"]]]]]},externals:{}})&&e.f)({})),Fg=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return b(__tsover_add(1,__tsover_mul(__tsover_mul(__tsover_sub(t,.5),2),s)),0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rand"},{type:"i",name:"variation"}],body:[0,[[10,[6,"std.max",[[1,[5,"1"],"+",[1,[1,[1,"rand","-",[5,"0.5"]],"*",[5,"2"]],"*","variation"]],[5,"0"]]]]]]},externals:{"std.max":()=>b}})&&e.f)({})),Vl=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(z(Ni(t)),z(qi(t)));return b(__tsover_add(r,s),1e-5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"softness"}],body:[0,[[13,"baseW",[6,"std.max",[[6,"std.abs",[[6,"std.dpdx",["x"]]]],[6,"std.abs",[[6,"std.dpdy",["x"]]]]]]],[10,[6,"std.max",[[1,"baseW","+","softness"],[5,"0.00001"]]]]]]},externals:{"std.max":()=>b,"std.abs":()=>z,"std.dpdx":()=>Ni,"std.dpdy":()=>qi}})&&e.f)({})),Bg=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ni(t),o=qi(t),n=l(b(z(r.x),z(o.x)),b(z(r.y),z(o.y)));return l(b(__tsover_add(n.x,s),1e-5),b(__tsover_add(n.y,s),1e-5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"softness"}],body:[0,[[13,"dpx",[6,"std.dpdx",["p"]]],[13,"dpy",[6,"std.dpdy",["p"]]],[13,"baseW",[6,"d.vec2f",[[6,"std.max",[[6,"std.abs",[[7,"dpx","x"]]],[6,"std.abs",[[7,"dpy","x"]]]]],[6,"std.max",[[6,"std.abs",[[7,"dpx","y"]]],[6,"std.abs",[[7,"dpy","y"]]]]]]]],[10,[6,"d.vec2f",[[6,"std.max",[[1,[7,"baseW","x"],"+","softness"],[5,"0.00001"]]],[6,"std.max",[[1,[7,"baseW","y"],"+","softness"],[5,"0.00001"]]]]]]]]},externals:{"std.dpdx":()=>Ni,"std.dpdy":()=>qi,"d.vec2f":()=>l,"std.max":()=>b,"std.abs":()=>z}})&&e.f)({})),Wg=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(t,__tsover_mul(s,.5)),n=__tsover_sub(t,__tsover_mul(s,.5)),i=__tsover_sub(1,r),d=__tsover_add(__tsover_mul(q(o),i),b(__tsover_sub(ue(o),r),0)),c=__tsover_add(__tsover_mul(q(n),i),b(__tsover_sub(ue(n),r),0));return $(__tsover_div(__tsover_sub(d,c),s),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"w"},{type:"i",name:"threshold"}],body:[0,[[13,"a",[1,"p","+",[1,"w","*",[5,"0.5"]]]],[13,"b",[1,"p","-",[1,"w","*",[5,"0.5"]]]],[13,"oneMinusThreshold",[1,[5,"1"],"-","threshold"]],[13,"Fa",[1,[1,[6,"std.floor",["a"]],"*","oneMinusThreshold"],"+",[6,"std.max",[[1,[6,"std.fract",["a"]],"-","threshold"],[5,"0"]]]]],[13,"Fb",[1,[1,[6,"std.floor",["b"]],"*","oneMinusThreshold"],"+",[6,"std.max",[[1,[6,"std.fract",["b"]],"-","threshold"],[5,"0"]]]]],[10,[6,"std.clamp",[[1,[1,"Fa","-","Fb"],"/","w"],[5,"0"],[5,"1"]]]]]]},externals:{"std.floor":()=>q,"std.max":()=>b,"std.fract":()=>ue,"std.clamp":()=>$}})&&e.f)({})),bm=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(t,__tsover_mul(s,.5)),n=__tsover_sub(t,__tsover_mul(s,.5));return __tsover_div(__tsover_sub(__tsover_sub(__tsover_add(q(o),oe(__tsover_mul(ue(o),r),1)),q(n)),oe(__tsover_mul(ue(n),r),1)),__tsover_mul(r,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"w"},{type:"i",name:"N"}],body:[0,[[13,"a",[1,"p","+",[1,"w","*",[5,"0.5"]]]],[13,"b",[1,"p","-",[1,"w","*",[5,"0.5"]]]],[10,[1,[1,[1,[1,[6,"std.floor",["a"]],"+",[6,"std.min",[[1,[6,"std.fract",["a"]],"*","N"],[5,"1"]]]],"-",[6,"std.floor",["b"]]],"-",[6,"std.min",[[1,[6,"std.fract",["b"]],"*","N"],[5,"1"]]]],"/",[1,"N","*","w"]]]]]},externals:{"std.floor":()=>q,"std.min":()=>oe,"std.fract":()=>ue}})&&e.f)({})),Og=v.fn([l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=l(__tsover_mul(s.x,.5),__tsover_mul(s.y,.5)),o=z(__tsover_sub(ue(__tsover_mul(__tsover_sub(t.x,r.x),.5)),.5)),n=z(__tsover_sub(ue(__tsover_mul(__tsover_sub(t.y,r.y),.5)),.5)),i=z(__tsover_sub(ue(__tsover_mul(__tsover_add(t.x,r.x),.5)),.5)),d=z(__tsover_sub(ue(__tsover_mul(__tsover_add(t.y,r.y),.5)),.5)),c=__tsover_div(__tsover_mul(__tsover_sub(o,i),2),s.x),_=__tsover_div(__tsover_mul(__tsover_sub(n,d),2),s.y);return $(__tsover_sub(.5,__tsover_mul(__tsover_mul(c,_),.5)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"w"}],body:[0,[[13,"aHalf",[6,"d.vec2f",[[1,[7,"w","x"],"*",[5,"0.5"]],[1,[7,"w","y"],"*",[5,"0.5"]]]]],[13,"minusSideX",[6,"std.abs",[[1,[6,"std.fract",[[1,[1,[7,"p","x"],"-",[7,"aHalf","x"]],"*",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"minusSideY",[6,"std.abs",[[1,[6,"std.fract",[[1,[1,[7,"p","y"],"-",[7,"aHalf","y"]],"*",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"plusSideX",[6,"std.abs",[[1,[6,"std.fract",[[1,[1,[7,"p","x"],"+",[7,"aHalf","x"]],"*",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"plusSideY",[6,"std.abs",[[1,[6,"std.fract",[[1,[1,[7,"p","y"],"+",[7,"aHalf","y"]],"*",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"iX",[1,[1,[1,"minusSideX","-","plusSideX"],"*",[5,"2"]],"/",[7,"w","x"]]],[13,"iY",[1,[1,[1,"minusSideY","-","plusSideY"],"*",[5,"2"]],"/",[7,"w","y"]]],[10,[6,"std.clamp",[[1,[5,"0.5"],"-",[1,[1,"iX","*","iY"],"*",[5,"0.5"]]],[5,"0"],[5,"1"]]]]]]},externals:{"d.vec2f":()=>l,"std.abs":()=>z,"std.fract":()=>ue,"std.clamp":()=>$}})&&e.f)({})),Nl=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return __tsover_mul(__tsover_sub(1,re(r,o,t)),De(1e-4,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"field"},{type:"i",name:"lineWidth"},{type:"i",name:"lo"},{type:"i",name:"hi"}],body:[0,[[10,[1,[1,[5,"1"],"-",[6,"std.smoothstep",["lo","hi","field"]]],"*",[6,"std.step",[[5,"0.0001"],"lineWidth"]]]]]]},externals:{"std.smoothstep":()=>re,"std.step":()=>De}})&&e.f)({})),Ri=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_mul(re(s,r,t),re(s,r,__tsover_sub(1,t)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"lo"},{type:"i",name:"hi"}],body:[0,[[10,[1,[6,"std.smoothstep",["lo","hi","x"]],"*",[6,"std.smoothstep",["lo","hi",[1,[5,"1"],"-","x"]]]]]]]},externals:{"std.smoothstep":()=>re}})&&e.f)({})),Vg=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_sub(1,re(__tsover_sub(s,__tsover_mul(r,.5)),s,t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"radius"},{type:"i",name:"footprint"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"radius","-",[1,"footprint","*",[5,"0.5"]]],"radius","dist"]]]]]]},externals:{"std.smoothstep":()=>re}})&&e.f)({})),S8=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=bt(s);return l(__tsover_mul(t.x,n),t.y).mul(ct(r)).add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"scale"},{type:"i",name:"seed"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[10,[6,[7,[6,[7,"aspectUV","mul"],[[6,"std.exp",["scale"]]]],"add"],["seed"]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l,"std.exp":()=>ct}})&&e.f)({})),A8=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return q(t.mul(s).div(r)).add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"grain"},{type:"i",name:"seed"}],body:[0,[[10,[6,[7,[6,"std.floor",[[6,[7,[6,[7,"uv","mul"],["viewport"]],"div"],["grain"]]]],"add"],["seed"]]]]]},externals:{"std.floor":()=>q}})&&e.f)({})),M8=v.fn([l,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return f(t.x,t.y,__tsover_mul(s,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"t"},{type:"i",name:"rate"}],body:[0,[[10,[6,"d.vec3f",[[7,"pos","x"],[7,"pos","y"],[1,"t","*","rate"]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),Ng=new WeakMap,tR=0;function Dv(e){let t=e,s=Ng.get(t);if(s!==void 0)return s;let r=tR++;return Ng.set(t,r),r}function s7(e,t){let{maxOctaves:s,drift:r,stride:o=[17,31],name:n="fbmGated"}=t,i=`${Dv(e)}|${n}|${s}|${r}|${o[0]},${o[1]}`,d=qg.get(i);if(d)return d;let c=s,_=o[0],u=o[1],m=`${r==="goldenAngle"?"Golden":"TimeSeed"}${c}`,p;if(r==="goldenAngle"){let y=e;p=v.fn([l,a,a,a,a,l,a],l)((h=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(h.f=((g,w,S,T,A,P,U)=>{"use gpu";let D=Z(U),O=w,L=a(1),G=a(0),W=a(0);for(let K=0;KZ,"d.f32":()=>a,N:()=>c,"std.cos":()=>H,GOLDEN:()=>2.3999632297286535,"std.sin":()=>Y,"d.vec2f":()=>l,"std.select":()=>C,octaveField:()=>y}})&&h.f)({})).$name(`${n}${m}`)}else{let y=e;p=v.fn([l,a,a,a,a,a,f,a],l)((h=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(h.f=((g,w,S,T,A,P,U,D)=>{"use gpu";let O=w,L=a(1),G=a(0),W=a(0);for(let K=0;Ka,N:()=>c,"std.select":()=>C,"d.vec2f":()=>l,TIME_STRIDE:()=>_,SEED_STRIDE:()=>u,octaveField:()=>y}})&&h.f)({})).$name(`${n}${m}`)}return qg.set(i,p),p}var qg=new Map,r7={q:[[.3,-.2,0],[5.2,1.3,.25]],r:[[1.7,9.2,.15],[8.3,2.8,.13]]};function sR(e,t={}){let{offsets:s=r7,name:r="domainWarp2"}=t,o=`${Dv(e)}|${r}|${JSON.stringify(s)}`,n=ql.get(o);if(n)return n;let i=e,[d,c,_]=s.q[0],[u,m,p]=s.q[1],[y,h,g]=s.r[0],[w,S,T]=s.r[1],A=v.fn([f,a,a],f)((P=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(P.f=((U,D,O)=>{"use gpu";let L=i(U.add(f(__tsover_mul(D,d),__tsover_mul(D,c),_))),G=i(U.add(f(u,m,__tsover_mul(D,p)))),W=U.add(f(L,G,0).mul(O)),K=i(W.add(f(y,h,__tsover_mul(D,g)))),Q=i(W.add(f(w,S,__tsover_mul(D,T))));return U.add(f(K,Q,0).mul(O))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"t"},{type:"i",name:"warpAmount"}],body:[0,[[13,"qx",[6,"warpField",[[6,[7,"pos","add"],[[6,"d.vec3f",[[1,"t","*","QX"],[1,"t","*","QY"],"QZ"]]]]]]],[13,"qy",[6,"warpField",[[6,[7,"pos","add"],[[6,"d.vec3f",["Q2X","Q2Y",[1,"t","*","Q2Z"]]]]]]]],[13,"warped1",[6,[7,"pos","add"],[[6,[7,[6,"d.vec3f",["qx","qy",[5,"0"]]],"mul"],["warpAmount"]]]]],[13,"rx",[6,"warpField",[[6,[7,"warped1","add"],[[6,"d.vec3f",["RX","RY",[1,"t","*","RZ"]]]]]]]],[13,"ry",[6,"warpField",[[6,[7,"warped1","add"],[[6,"d.vec3f",["R2X","R2Y",[1,"t","*","R2Z"]]]]]]]],[10,[6,[7,"pos","add"],[[6,[7,[6,"d.vec3f",["rx","ry",[5,"0"]]],"mul"],["warpAmount"]]]]]]]},externals:{warpField:()=>i,"d.vec3f":()=>f,QX:()=>d,QY:()=>c,QZ:()=>_,Q2X:()=>u,Q2Y:()=>m,Q2Z:()=>p,RX:()=>y,RY:()=>h,RZ:()=>g,R2X:()=>w,R2Y:()=>S,R2Z:()=>T}})&&P.f)({})).$name(r);return ql.set(o,A),A}function rR(e,t={}){let{offsets:s=r7,name:r="domainWarp1"}=t,o=`1|${Dv(e)}|${r}|${JSON.stringify(s)}`,n=ql.get(o);if(n)return n;let i=e,[d,c,_]=s.q[0],[u,m,p]=s.q[1],y=v.fn([f,a,a],f)((h=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(h.f=((g,w,S)=>{"use gpu";let T=i(g.add(f(__tsover_mul(w,d),__tsover_mul(w,c),_))),A=i(g.add(f(u,m,__tsover_mul(w,p))));return g.add(f(T,A,0).mul(S))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"t"},{type:"i",name:"warpAmount"}],body:[0,[[13,"qx",[6,"warpField",[[6,[7,"pos","add"],[[6,"d.vec3f",[[1,"t","*","QX"],[1,"t","*","QY"],"QZ"]]]]]]],[13,"qy",[6,"warpField",[[6,[7,"pos","add"],[[6,"d.vec3f",["Q2X","Q2Y",[1,"t","*","Q2Z"]]]]]]]],[10,[6,[7,"pos","add"],[[6,[7,[6,"d.vec3f",["qx","qy",[5,"0"]]],"mul"],["warpAmount"]]]]]]]},externals:{warpField:()=>i,"d.vec3f":()=>f,QX:()=>d,QY:()=>c,QZ:()=>_,Q2X:()=>u,Q2Y:()=>m,Q2Z:()=>p}})&&h.f)({})).$name(r);return ql.set(o,y),y}var ql=new Map,oR=v.fn([l,a,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(t.x,s),t.y),d=l(__tsover_mul(r.x,s),__tsover_sub(1,r.y)),c=j(i.sub(d));return re(o,__tsover_add(o,n),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"},{type:"i",name:"radius"},{type:"i",name:"falloff"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dist",[6,"std.length",[[6,[7,"aspectUV","sub"],["centerPos"]]]]],[10,[6,"std.smoothstep",["radius",[1,"radius","+","falloff"],"dist"]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.smoothstep":()=>re}})&&e.f)({})),wm=.11,Xl=.6180339887,lc=8,Xg=v.fn([a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_add(__tsover_mul(t,2.3999632297286535),__tsover_mul(Gs(__tsover_add(__tsover_mul(r,.7311),1.618)),it)),c=be(__tsover_div(__tsover_add(t,.5),s)),_=er(l(__tsover_add(__tsover_mul(t,3.77),.917),__tsover_add(__tsover_mul(r,1.093),2.236))).sub(.5).mul(.26),u=er(l(__tsover_add(__tsover_mul(t,7.13),1.618),__tsover_add(__tsover_mul(r,.531),3.71))).mul(it),m=__tsover_add(.5,__tsover_mul(Gs(__tsover_add(__tsover_add(__tsover_mul(t,5.417),__tsover_mul(r,.291)),.917)),.7)),p=Y(__tsover_add(__tsover_mul(__tsover_mul(i,wm),m),u.x)),y=H(__tsover_add(__tsover_mul(__tsover_mul(__tsover_mul(i,wm),m),1.37),u.y)),h=__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(H(d),c),.62),_.x),__tsover_mul(__tsover_mul(p,o),.16)),g=__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(Y(d),c),.62),_.y),__tsover_mul(__tsover_mul(y,o),.16));return l(__tsover_mul(__tsover_add(.5,h),n),__tsover_add(.5,g))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fi"},{type:"i",name:"count"},{type:"i",name:"seed"},{type:"i",name:"drift"},{type:"i",name:"aspect"},{type:"i",name:"animTime"}],body:[0,[[13,"theta",[1,[1,"fi","*","GOLDEN"],"+",[1,[6,"hash11",[[1,[1,"seed","*",[5,"0.7311"]],"+",[5,"1.618"]]]],"*","TAU"]]],[13,"r",[6,"std.sqrt",[[1,[1,"fi","+",[5,"0.5"]],"/","count"]]]],[13,"j",[6,[7,[6,[7,[6,"hash22",[[6,"d.vec2f",[[1,[1,"fi","*",[5,"3.77"]],"+",[5,"0.917"]],[1,[1,"seed","*",[5,"1.093"]],"+",[5,"2.236"]]]]]],"sub"],[[5,"0.5"]]],"mul"],[[5,"0.26"]]]],[13,"ph",[6,[7,[6,"hash22",[[6,"d.vec2f",[[1,[1,"fi","*",[5,"7.13"]],"+",[5,"1.618"]],[1,[1,"seed","*",[5,"0.531"]],"+",[5,"3.71"]]]]]],"mul"],["TAU"]]],[13,"w1",[1,[5,"0.5"],"+",[1,[6,"hash11",[[1,[1,[1,"fi","*",[5,"5.417"]],"+",[1,"seed","*",[5,"0.291"]]],"+",[5,"0.917"]]]],"*",[5,"0.7"]]]],[13,"dx",[6,"std.sin",[[1,[1,[1,"animTime","*","SCATTER_DRIFT_RATE"],"*","w1"],"+",[7,"ph","x"]]]]],[13,"dy",[6,"std.cos",[[1,[1,[1,[1,"animTime","*","SCATTER_DRIFT_RATE"],"*","w1"],"*",[5,"1.37"]],"+",[7,"ph","y"]]]]],[13,"nx",[1,[1,[1,[1,[6,"std.cos",["theta"]],"*","r"],"*",[5,"0.62"]],"+",[7,"j","x"]],"+",[1,[1,"dx","*","drift"],"*",[5,"0.16"]]]],[13,"ny",[1,[1,[1,[1,[6,"std.sin",["theta"]],"*","r"],"*",[5,"0.62"]],"+",[7,"j","y"]],"+",[1,[1,"dy","*","drift"],"*",[5,"0.16"]]]],[10,[6,"d.vec2f",[[1,[1,[5,"0.5"],"+","nx"],"*","aspect"],[1,[5,"0.5"],"+","ny"]]]]]]},externals:{GOLDEN:()=>2.3999632297286535,hash11:()=>Gs,TAU:()=>it,"std.sqrt":()=>be,hash22:()=>er,"d.vec2f":()=>l,"std.sin":()=>Y,SCATTER_DRIFT_RATE:()=>wm,"std.cos":()=>H}})&&e.f)({})),nR=v.fn([l,a,a,pt(x,lc/2),a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=a(0),d=a(0),c=Gs(__tsover_add(__tsover_mul(r,.531),.77));for(let _=0;_a,hash11:()=>Gs,SCATTER_MAX:()=>lc,"std.select":()=>C,"std.max":()=>b,"std.length":()=>j,"std.pow":()=>Ce,"std.fract":()=>ue,GOLDEN_CONJ:()=>Xl}})&&e.f)({})),aR=v.fn([l,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=a(0),_=a(0);for(let u=0;ua,SCATTER_MAX:()=>lc,"std.select":()=>C,spiralScatter:()=>Xg,"std.max":()=>b,"std.length":()=>j,"std.pow":()=>Ce,"std.fract":()=>ue,GOLDEN_CONJ:()=>Xl,hash11:()=>Gs}})&&e.f)({})),iR=v.fn([l,a,a,l,l,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=f(__tsover_mul(t.x,s),__tsover_mul(t.y,s),r),_=go(c.add(f(o.x,o.y,0))),u=go(c.add(f(n.x,n.y,0)));return x(__tsover_add(t.x,__tsover_mul(__tsover_mul(_,i),d)),__tsover_add(t.y,__tsover_mul(__tsover_mul(u,i),d)),_,u)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"scale"},{type:"i",name:"z"},{type:"i",name:"offA"},{type:"i",name:"offB"},{type:"i",name:"k"},{type:"i",name:"strength"}],body:[0,[[13,"wp",[6,"d.vec3f",[[1,[7,"pos","x"],"*","scale"],[1,[7,"pos","y"],"*","scale"],"z"]]],[13,"nx",[6,"mxNoiseFloat3",[[6,[7,"wp","add"],[[6,"d.vec3f",[[7,"offA","x"],[7,"offA","y"],[5,"0"]]]]]]]],[13,"ny",[6,"mxNoiseFloat3",[[6,[7,"wp","add"],[[6,"d.vec3f",[[7,"offB","x"],[7,"offB","y"],[5,"0"]]]]]]]],[10,[6,"d.vec4f",[[1,[7,"pos","x"],"+",[1,[1,"nx","*","k"],"*","strength"]],[1,[7,"pos","y"],"+",[1,[1,"ny","*","k"],"*","strength"]],"nx","ny"]]]]]},externals:{"d.vec3f":()=>f,mxNoiseFloat3:()=>go,"d.vec4f":()=>x}})&&e.f)({})),N_=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(Y(l(se(t,l(127.1,311.7)),se(t,l(269.5,183.3)))).mul(43758.5453))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"h",[6,"d.vec2f",[[6,"std.dot",["p",[6,"d.vec2f",[[5,"127.1"],[5,"311.7"]]]]],[6,"std.dot",["p",[6,"d.vec2f",[[5,"269.5"],[5,"183.3"]]]]]]]],[10,[6,"std.fract",[[6,[7,[6,"std.sin",["h"]],"mul"],[[5,"43758.5453"]]]]]]]]},externals:{"d.vec2f":()=>l,"std.dot":()=>se,"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({}));function o7(e){let{distance:t,jitter:s,name:r="nearest2Cells"}=e,o=`${r}|${t}|${s}`,n=Hg.get(o);if(n)return n;let i=`${t==="length"?"Len":"Sel"}${s==="mix"?"Jit":""}`,d;return t==="length"&&s==="none"?d=v.fn([l,a,a],l)((c=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(c.f=((_,u,m)=>{"use gpu";let p=q(_),y=ue(_),h=a(10),g=a(10);for(let w=-1;w<=1;w++)for(let S=-1;S<=1;S++){let T=l(a(S),a(w)),A=N_(l(__tsover_add(__tsover_add(p.x,T.x),m),__tsover_add(__tsover_add(p.y,T.y),m))),P=$(__tsover_add(A.x,__tsover_mul(Y(__tsover_add(u,__tsover_mul(A.x,it))),.15)),.05,.95),U=$(__tsover_add(A.y,__tsover_mul(H(__tsover_add(__tsover_mul(u,.7),__tsover_mul(A.y,it))),.15)),.05,.95),D=j(l(__tsover_sub(y.x,__tsover_add(T.x,P)),__tsover_sub(y.y,__tsover_add(T.y,U))));g=oe(g,b(D,h)),h=oe(h,D)}return l(h,g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"animT"},{type:"i",name:"seed"}],body:[0,[[13,"cell",[6,"std.floor",["scaledUV"]]],[13,"localUV",[6,"std.fract",["scaledUV"]]],[12,"d1",[6,"d.f32",[[5,"10"]]]],[12,"d2",[6,"d.f32",[[5,"10"]]]],[14,[12,"ny",[4,"-",[5,"1"]]],[1,"ny","<=",[5,"1"]],[102,"++","ny"],[0,[[14,[12,"nx",[4,"-",[5,"1"]]],[1,"nx","<=",[5,"1"]],[102,"++","nx"],[0,[[13,"offset",[6,"d.vec2f",[[6,"d.f32",["nx"]],[6,"d.f32",["ny"]]]]],[13,"h",[6,"cellHash2",[[6,"d.vec2f",[[1,[1,[7,"cell","x"],"+",[7,"offset","x"]],"+","seed"],[1,[1,[7,"cell","y"],"+",[7,"offset","y"]],"+","seed"]]]]]],[13,"pointX",[6,"std.clamp",[[1,[7,"h","x"],"+",[1,[6,"std.sin",[[1,"animT","+",[1,[7,"h","x"],"*","TAU"]]]],"*",[5,"0.15"]]],[5,"0.05"],[5,"0.95"]]]],[13,"pointY",[6,"std.clamp",[[1,[7,"h","y"],"+",[1,[6,"std.cos",[[1,[1,"animT","*",[5,"0.7"]],"+",[1,[7,"h","y"],"*","TAU"]]]],"*",[5,"0.15"]]],[5,"0.05"],[5,"0.95"]]]],[13,"dd",[6,"std.length",[[6,"d.vec2f",[[1,[7,"localUV","x"],"-",[1,[7,"offset","x"],"+","pointX"]],[1,[7,"localUV","y"],"-",[1,[7,"offset","y"],"+","pointY"]]]]]]],[2,"d2","=",[6,"std.min",["d2",[6,"std.max",["dd","d1"]]]]],[2,"d1","=",[6,"std.min",["d1","dd"]]]]]]]]],[10,[6,"d.vec2f",["d1","d2"]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,"d.f32":()=>a,"d.vec2f":()=>l,cellHash2:()=>N_,"std.clamp":()=>$,"std.sin":()=>Y,TAU:()=>it,"std.cos":()=>H,"std.length":()=>j,"std.min":()=>oe,"std.max":()=>b}})&&c.f)({})).$name(`${r}${i}`):d=v.fn([l,a,a,a,a],l)((c=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(c.f=((_,u,m,p,y)=>{"use gpu";let h=__tsover_mul(u,.7),g=q(_),w=ue(_),S=a(10),T=a(10);for(let A=-1;A<=1;A++)for(let P=-1;P<=1;P++){let U=l(a(P),a(A)),D=N_(l(__tsover_add(__tsover_add(g.x,U.x),m),__tsover_add(__tsover_add(g.y,U.y),m))),O=__tsover_add(D.x,__tsover_mul(Y(__tsover_add(u,__tsover_mul(D.x,it))),.15)),L=__tsover_add(D.y,__tsover_mul(H(__tsover_add(h,__tsover_mul(D.y,it))),.15)),G=X(.5,$(O,.05,.95),p),W=X(.5,$(L,.05,.95),p),K=__tsover_sub(w.x,__tsover_add(U.x,G)),Q=__tsover_sub(w.y,__tsover_add(U.y,W)),te=__tsover_add(__tsover_mul(K,K),__tsover_mul(Q,Q)),ee=__tsover_add(z(K),z(Q)),he=b(z(K),z(Q)),Ee=te;Ee=C(Ee,ee,y===1),Ee=C(Ee,he,y===2),T=oe(T,b(Ee,S)),S=oe(S,Ee)}return l(S,T)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"animT"},{type:"i",name:"seed"},{type:"i",name:"jitterAmount"},{type:"i",name:"metric"}],body:[0,[[13,"animTSlow",[1,"animT","*",[5,"0.7"]]],[13,"cell",[6,"std.floor",["scaledUV"]]],[13,"localUV",[6,"std.fract",["scaledUV"]]],[12,"d1",[6,"d.f32",[[5,"10"]]]],[12,"d2",[6,"d.f32",[[5,"10"]]]],[14,[12,"ny",[4,"-",[5,"1"]]],[1,"ny","<=",[5,"1"]],[102,"++","ny"],[0,[[14,[12,"nx",[4,"-",[5,"1"]]],[1,"nx","<=",[5,"1"]],[102,"++","nx"],[0,[[13,"offset",[6,"d.vec2f",[[6,"d.f32",["nx"]],[6,"d.f32",["ny"]]]]],[13,"h",[6,"cellHash2",[[6,"d.vec2f",[[1,[1,[7,"cell","x"],"+",[7,"offset","x"]],"+","seed"],[1,[1,[7,"cell","y"],"+",[7,"offset","y"]],"+","seed"]]]]]],[13,"px",[1,[7,"h","x"],"+",[1,[6,"std.sin",[[1,"animT","+",[1,[7,"h","x"],"*","TAU"]]]],"*",[5,"0.15"]]]],[13,"py",[1,[7,"h","y"],"+",[1,[6,"std.cos",[[1,"animTSlow","+",[1,[7,"h","y"],"*","TAU"]]]],"*",[5,"0.15"]]]],[13,"jx",[6,"std.mix",[[5,"0.5"],[6,"std.clamp",["px",[5,"0.05"],[5,"0.95"]]],"jitterAmount"]]],[13,"jy",[6,"std.mix",[[5,"0.5"],[6,"std.clamp",["py",[5,"0.05"],[5,"0.95"]]],"jitterAmount"]]],[13,"deltaX",[1,[7,"localUV","x"],"-",[1,[7,"offset","x"],"+","jx"]]],[13,"deltaY",[1,[7,"localUV","y"],"-",[1,[7,"offset","y"],"+","jy"]]],[13,"dEuclid",[1,[1,"deltaX","*","deltaX"],"+",[1,"deltaY","*","deltaY"]]],[13,"dManhattan",[1,[6,"std.abs",["deltaX"]],"+",[6,"std.abs",["deltaY"]]]],[13,"dChebyshev",[6,"std.max",[[6,"std.abs",["deltaX"]],[6,"std.abs",["deltaY"]]]]],[12,"dd","dEuclid"],[2,"dd","=",[6,"std.select",["dd","dManhattan",[1,"metric","===",[5,"1"]]]]],[2,"dd","=",[6,"std.select",["dd","dChebyshev",[1,"metric","===",[5,"2"]]]]],[2,"d2","=",[6,"std.min",["d2",[6,"std.max",["dd","d1"]]]]],[2,"d1","=",[6,"std.min",["d1","dd"]]]]]]]]],[10,[6,"d.vec2f",["d1","d2"]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,"d.f32":()=>a,"d.vec2f":()=>l,cellHash2:()=>N_,"std.sin":()=>Y,TAU:()=>it,"std.cos":()=>H,"std.mix":()=>X,"std.clamp":()=>$,"std.abs":()=>z,"std.max":()=>b,"std.select":()=>C,"std.min":()=>oe}})&&c.f)({})).$name(`${r}${i}`),Hg.set(o,d),d}var Hg=new Map;var jg=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=r===0,i=C(t,be(t),n),d=C(s,be(s),n),c=i;return c=C(c,d,o===1),c=C(c,__tsover_sub(d,i),o===2),c=C(c,__tsover_add(i,d),o===3),c=C(c,__tsover_mul(i,d),o===4),c}),{v:2,name:void 0,ast:{params:[{type:"i",name:"d1"},{type:"i",name:"d2"},{type:"i",name:"metric"},{type:"i",name:"mode"}],body:[0,[[13,"isEuclid",[1,"metric","===",[5,"0"]]],[13,"sd1",[6,"std.select",["d1",[6,"std.sqrt",["d1"]],"isEuclid"]]],[13,"sd2",[6,"std.select",["d2",[6,"std.sqrt",["d2"]],"isEuclid"]]],[12,"raw","sd1"],[2,"raw","=",[6,"std.select",["raw","sd2",[1,"mode","===",[5,"1"]]]]],[2,"raw","=",[6,"std.select",["raw",[1,"sd2","-","sd1"],[1,"mode","===",[5,"2"]]]]],[2,"raw","=",[6,"std.select",["raw",[1,"sd1","+","sd2"],[1,"mode","===",[5,"3"]]]]],[2,"raw","=",[6,"std.select",["raw",[1,"sd1","*","sd2"],[1,"mode","===",[5,"4"]]]]],[10,"raw"]]]},externals:{"std.select":()=>C,"std.sqrt":()=>be}})&&e.f)({})),Kg=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=b(__tsover_add(t,s),1e-4);return $(Ce($(__tsover_div(__tsover_mul(t,2),o),0,1),r),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"d1"},{type:"i",name:"d2"},{type:"i",name:"power"}],body:[0,[[13,"safeSum",[6,"std.max",[[1,"d1","+","d2"],[5,"0.0001"]]]],[13,"normalizedDist",[6,"std.clamp",[[1,[1,"d1","*",[5,"2"]],"/","safeSum"],[5,"0"],[5,"1"]]]],[10,[6,"std.clamp",[[6,"std.pow",["normalizedDist","power"]],[5,"0"],[5,"1"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.pow":()=>Ce}})&&e.f)({})),Zg=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=b(__tsover_add(t,s),1e-4),n=__tsover_div(__tsover_sub(s,t),o);return re(0,__tsover_add(r,.001),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"d1"},{type:"i",name:"d2"},{type:"i",name:"softness"}],body:[0,[[13,"safeSum",[6,"std.max",[[1,"d1","+","d2"],[5,"0.0001"]]]],[13,"edgeMetric",[1,[1,"d2","-","d1"],"/","safeSum"]],[10,[6,"std.smoothstep",[[5,"0"],[1,"softness","+",[5,"0.001"]],"edgeMetric"]]]]]},externals:{"std.max":()=>b,"std.smoothstep":()=>re}})&&e.f)({})),Qg=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return ct(-__tsover_mul(__tsover_mul(t,t),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"sharpness"}],body:[0,[[10,[6,"std.exp",[[4,"-",[1,[1,"dist","*","dist"],"*","sharpness"]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),Tm=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return ct(__tsover_mul(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s)),-r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"du"},{type:"i",name:"dv"},{type:"i",name:"sharpness"}],body:[0,[[10,[6,"std.exp",[[1,[1,[1,"du","*","du"],"+",[1,"dv","*","dv"]],"*",[4,"-","sharpness"]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),P8=v.fn([l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(__tsover_sub(t.x,r),s),d=__tsover_sub(t.y,o),c=__tsover_add(__tsover_mul(i,i),__tsover_mul(d,d));return ct(__tsover_div(__tsover_mul(-.5,c),n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"lx"},{type:"i",name:"ly"},{type:"i",name:"sizeSq"}],body:[0,[[13,"dx",[1,[1,[7,"uv","x"],"-","lx"],"*","aspect"]],[13,"dy",[1,[7,"uv","y"],"-","ly"]],[13,"dd2",[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]],[10,[6,"std.exp",[[1,[1,[4,"-",[5,"0.5"]],"*","dd2"],"/","sizeSq"]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),Jg=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return Ce(__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(t,s),r)),.5),.5),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angle"},{type:"i",name:"count"},{type:"i",name:"phase"},{type:"i",name:"sharpness"}],body:[0,[[13,"t",[1,[1,[6,"std.sin",[[1,[1,"angle","*","count"],"+","phase"]]],"*",[5,"0.5"]],"+",[5,"0.5"]]],[10,[6,"std.pow",["t","sharpness"]]]]]},externals:{"std.sin":()=>Y,"std.pow":()=>Ce}})&&e.f)({})),Sm=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return Ce(z(H(__tsover_mul(t,s))),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angle"},{type:"i",name:"halfCount"},{type:"i",name:"power"}],body:[0,[[10,[6,"std.pow",[[6,"std.abs",[[6,"std.cos",[[1,"angle","*","halfCount"]]]]],"power"]]]]]},externals:{"std.pow":()=>Ce,"std.abs":()=>z,"std.cos":()=>H}})&&e.f)({})),e3=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=tt(t.y,t.x);return f(s,__tsover_sub(s,__tsover_mul(it,q(__tsover_div(s,it)))),re(-.15,.15,t.x))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"delta"}],body:[0,[[13,"angle",[6,"std.atan2",[[7,"delta","y"],[7,"delta","x"]]]],[13,"angleWrapped",[1,"angle","-",[1,"TAU","*",[6,"std.floor",[[1,"angle","/","TAU"]]]]]],[13,"blend",[6,"std.smoothstep",[[4,"-",[5,"0.15"]],[5,"0.15"],[7,"delta","x"]]]],[10,[6,"d.vec3f",["angle","angleWrapped","blend"]]]]]},externals:{"std.atan2":()=>tt,TAU:()=>it,"std.floor":()=>q,"std.smoothstep":()=>re,"d.vec3f":()=>f}})&&e.f)({})),Hl=v.fn([a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(o,1e-4);return f(__tsover_sub(1,re(0,n,z(__tsover_sub(t,__tsover_add(s,r))))),__tsover_sub(1,re(0,n,z(__tsover_sub(t,s)))),__tsover_sub(1,re(0,n,z(__tsover_sub(t,__tsover_sub(s,r))))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"center"},{type:"i",name:"spread"},{type:"i",name:"width"}],body:[0,[[13,"w",[6,"std.max",["width",[5,"0.0001"]]]],[13,"r",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"w",[6,"std.abs",[[1,"dist","-",[1,"center","+","spread"]]]]]]]],[13,"g",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"w",[6,"std.abs",[[1,"dist","-","center"]]]]]]],[13,"b",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"w",[6,"std.abs",[[1,"dist","-",[1,"center","-","spread"]]]]]]]],[10,[6,"d.vec3f",["r","g","b"]]]]]},externals:{"std.max":()=>b,"std.smoothstep":()=>re,"std.abs":()=>z,"d.vec3f":()=>f}})&&e.f)({})),t3=v.fn([l,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=l(__tsover_sub(r.x,s.x),__tsover_sub(r.y,s.y)),n=l(__tsover_sub(t.x,s.x),__tsover_sub(t.y,s.y)),i=__tsover_add(__tsover_mul(n.x,o.x),__tsover_mul(n.y,o.y)),d=__tsover_add(__tsover_mul(o.x,o.x),__tsover_mul(o.y,o.y)),c=$(__tsover_div(i,b(d,1e-4)),0,1),_=l(__tsover_add(s.x,__tsover_mul(o.x,c)),__tsover_add(s.y,__tsover_mul(o.y,c))),u=l(__tsover_sub(t.x,_.x),__tsover_sub(t.y,_.y));return l(c,be(__tsover_add(__tsover_mul(u.x,u.x),__tsover_mul(u.y,u.y))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"}],body:[0,[[13,"lineVec",[6,"d.vec2f",[[1,[7,"b","x"],"-",[7,"a","x"]],[1,[7,"b","y"],"-",[7,"a","y"]]]]],[13,"toPoint",[6,"d.vec2f",[[1,[7,"p","x"],"-",[7,"a","x"]],[1,[7,"p","y"],"-",[7,"a","y"]]]]],[13,"dotProduct",[1,[1,[7,"toPoint","x"],"*",[7,"lineVec","x"]],"+",[1,[7,"toPoint","y"],"*",[7,"lineVec","y"]]]],[13,"lineLengthSq",[1,[1,[7,"lineVec","x"],"*",[7,"lineVec","x"]],"+",[1,[7,"lineVec","y"],"*",[7,"lineVec","y"]]]],[13,"t",[6,"std.clamp",[[1,"dotProduct","/",[6,"std.max",["lineLengthSq",[5,"0.0001"]]]],[5,"0"],[5,"1"]]]],[13,"closestPoint",[6,"d.vec2f",[[1,[7,"a","x"],"+",[1,[7,"lineVec","x"],"*","t"]],[1,[7,"a","y"],"+",[1,[7,"lineVec","y"],"*","t"]]]]],[13,"distVec",[6,"d.vec2f",[[1,[7,"p","x"],"-",[7,"closestPoint","x"]],[1,[7,"p","y"],"-",[7,"closestPoint","y"]]]]],[10,[6,"d.vec2f",["t",[6,"std.sqrt",[[1,[1,[7,"distVec","x"],"*",[7,"distVec","x"]],"+",[1,[7,"distVec","y"],"*",[7,"distVec","y"]]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.clamp":()=>$,"std.max":()=>b,"std.sqrt":()=>be}})&&e.f)({})),s3=v.fn([a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=X(r,o,s),c=b(X(n,i,s),1e-4),_=__tsover_div(t,b(d,1e-4)),u=__tsover_add(1,c),m=Ce(__tsover_sub(1,re(1,u,_)),__tsover_add(1,__tsover_mul(c,1.5)));return l(re(__tsover_sub(1,c),__tsover_add(1,c),_),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"t"},{type:"i",name:"startThickness"},{type:"i",name:"endThickness"},{type:"i",name:"startSoftness"},{type:"i",name:"endSoftness"}],body:[0,[[13,"thickness",[6,"std.mix",["startThickness","endThickness","t"]]],[13,"softness",[6,"std.max",[[6,"std.mix",["startSoftness","endSoftness","t"]],[5,"0.0001"]]]],[13,"normalizedDist",[1,"dist","/",[6,"std.max",["thickness",[5,"0.0001"]]]]],[13,"edgeEnd",[1,[5,"1"],"+","softness"]],[13,"alphaBase",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"1"],"edgeEnd","normalizedDist"]]]],[13,"softnessFactor",[1,[5,"1"],"+",[1,"softness","*",[5,"1.5"]]]],[13,"alpha",[6,"std.pow",["alphaBase","softnessFactor"]]],[13,"colorGradientStart",[1,[5,"1"],"-","softness"]],[13,"colorGradientEnd",[1,[5,"1"],"+","softness"]],[13,"colorT",[6,"std.smoothstep",["colorGradientStart","colorGradientEnd","normalizedDist"]]],[10,[6,"d.vec2f",["colorT","alpha"]]]]]},externals:{"std.mix":()=>X,"std.max":()=>b,"std.smoothstep":()=>re,"std.pow":()=>Ce,"d.vec2f":()=>l}})&&e.f)({})),Am=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return ct(__tsover_div(__tsover_mul(__tsover_mul(__tsover_sub(t,s),__tsover_sub(t,s)),-1),__tsover_mul(r,r)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"u"},{type:"i",name:"center"},{type:"i",name:"width"}],body:[0,[[10,[6,"std.exp",[[1,[1,[1,[1,"u","-","center"],"*",[1,"u","-","center"]],"*",[4,"-",[5,"1"]]],"/",[1,"width","*","width"]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),q_=v.fn([a,f,f,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=re(0,.5,t),i=re(.55,1.15,t);return X(X(o,r,f(n)),s,f(i)).mul($(t,0,1.6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"heat"},{type:"i",name:"hot"},{type:"i",name:"mid"},{type:"i",name:"fringe"}],body:[0,[[13,"toMid",[6,"std.smoothstep",[[5,"0"],[5,"0.5"],"heat"]]],[13,"toHot",[6,"std.smoothstep",[[5,"0.55"],[5,"1.15"],"heat"]]],[13,"rgb",[6,"std.mix",[[6,"std.mix",["fringe","mid",[6,"d.vec3f",["toMid"]]]],"hot",[6,"d.vec3f",["toHot"]]]]],[10,[6,[7,"rgb","mul"],[[6,"std.clamp",["heat",[5,"0"],[5,"1.6"]]]]]]]]},externals:{"std.smoothstep":()=>re,"std.mix":()=>X,"d.vec3f":()=>f,"std.clamp":()=>$}})&&e.f)({})),E8=v.fn([a,f,f,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=q_(__tsover_mul(t,1.08),s,r,o),i=q_(t,s,r,o),d=q_(__tsover_mul(t,.88),s,r,o);return f(n.x,i.y,d.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"heat"},{type:"i",name:"hot"},{type:"i",name:"mid"},{type:"i",name:"fringe"}],body:[0,[[13,"rampR",[6,"heatRamp3",[[1,"heat","*",[5,"1.08"]],"hot","mid","fringe"]]],[13,"rampG",[6,"heatRamp3",["heat","hot","mid","fringe"]]],[13,"rampB",[6,"heatRamp3",[[1,"heat","*",[5,"0.88"]],"hot","mid","fringe"]]],[10,[6,"d.vec3f",[[7,"rampR","x"],[7,"rampG","y"],[7,"rampB","z"]]]]]]},externals:{heatRamp3:()=>q_,"d.vec3f":()=>f}})&&e.f)({})),k8=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s,__tsover_sub(1,r));return __tsover_sub(1,re(o,s,t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"radius"},{type:"i",name:"feather"}],body:[0,[[13,"falloffStart",[1,"radius","*",[1,[5,"1"],"-","feather"]]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",["falloffStart","radius","dist"]]]]]]},externals:{"std.smoothstep":()=>re}})&&e.f)({})),$8=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return Jg(t,s,r,__tsover_mul(__tsover_div(1,__tsover_add(o,.05)),.3))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angle"},{type:"i",name:"count"},{type:"i",name:"phase"},{type:"i",name:"softness"}],body:[0,[[13,"sharpness",[1,[1,[5,"1"],"/",[1,"softness","+",[5,"0.05"]]],"*",[5,"0.3"]]],[10,[6,"angularSineLobes",["angle","count","phase","sharpness"]]]]]},externals:{angularSineLobes:()=>Jg}})&&e.f)({})),U8=v.fn([l,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=r.x,i=__tsover_sub(1,r.y),d=__tsover_sub(__tsover_mul(t.x,o),__tsover_mul(n,o)),c=__tsover_sub(t.y,i);return l(be(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c))),tt(c,d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"center"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"cx",[7,"center","x"]],[13,"cy",[1,[5,"1"],"-",[7,"center","y"]]],[13,"dx",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,"cx","*","aspect"]]],[13,"dy",[1,[7,"uv","y"],"-","cy"]],[13,"dist",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[13,"angle",[6,"std.atan2",["dy","dx"]]],[10,[6,"d.vec2f",["dist","angle"]]]]]},externals:{"geom.aspectOf":()=>bt,"std.sqrt":()=>be,"std.atan2":()=>tt,"d.vec2f":()=>l}})&&e.f)({})),C8=v.fn([l,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=__tsover_mul(__tsover_sub(t.x,.5),o),i=__tsover_sub(t.y,.5),d=__tsover_add(__tsover_mul(n,n),__tsover_mul(i,i));return $(__tsover_sub(1,__tsover_mul(d,r)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"strength"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"vigX",[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"]],[13,"vigY",[1,[7,"uv","y"],"-",[5,"0.5"]]],[13,"vigD2",[1,[1,"vigX","*","vigX"],"+",[1,"vigY","*","vigY"]]],[10,[6,"std.clamp",[[1,[5,"1"],"-",[1,"vigD2","*","strength"]],[5,"0"],[5,"1"]]]]]]},externals:{"geom.aspectOf":()=>bt,"std.clamp":()=>$}})&&e.f)({})),R8=v.fn([x,f],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.xyz,o=$(f(1,1,1).sub(f(1,1,1).sub($(r,f(0),f(1))).mul(f(1,1,1).sub($(s,f(0),f(1))))).add(s.mul(.16)),f(0),f(1)),n=$(Ll(s),0,1);return x(o,$(__tsover_add(t.w,__tsover_mul(n,.85)),0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"leakRgb"}],body:[0,[[13,"base",[7,"color","xyz"]],[13,"screened",[6,[7,[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]],"sub"],[[6,[7,[6,[7,[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]],"sub"],[[6,"std.clamp",["base",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]],"mul"],[[6,[7,[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]],"sub"],[[6,"std.clamp",["leakRgb",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]]]]]]],[13,"lifted",[6,[7,"screened","add"],[[6,[7,"leakRgb","mul"],[[5,"0.16"]]]]]],[13,"outRgb",[6,"std.clamp",["lifted",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]],[13,"leakLuma",[6,"std.clamp",[[6,"tone.luma601Dot",["leakRgb"]],[5,"0"],[5,"1"]]]],[13,"outA",[6,"std.clamp",[[1,[7,"color","w"],"+",[1,"leakLuma","*",[5,"0.85"]]],[5,"0"],[5,"1"]]]],[10,[6,"d.vec4f",["outRgb","outA"]]]]]},externals:{"d.vec3f":()=>f,"std.clamp":()=>$,"tone.luma601Dot":()=>Ll,"d.vec4f":()=>x}})&&e.f)({})),z8=v.fn([l,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=l(__tsover_mul(t.x,s),t.y),n=l(__tsover_mul(r.x,s),__tsover_sub(1,r.y)),i=l(__tsover_mul(s,.5),.5).sub(n),d=j(i),c=C(__tsover_div(i.x,b(d,.001)),a(1),d<.02),_=C(__tsover_div(i.y,b(d,.001)),a(0),d<.02),u=__tsover_sub(o.x,n.x),m=__tsover_sub(o.y,n.y);return l(__tsover_add(__tsover_mul(u,c),__tsover_mul(m,_)),__tsover_sub(__tsover_mul(m,c),__tsover_mul(u,_)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"anchorRaw"}],body:[0,[[13,"pA",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"anchor",[6,"d.vec2f",[[1,[7,"anchorRaw","x"],"*","aspect"],[1,[5,"1"],"-",[7,"anchorRaw","y"]]]]],[13,"toCenter",[6,[7,[6,"d.vec2f",[[1,"aspect","*",[5,"0.5"]],[5,"0.5"]]],"sub"],["anchor"]]],[13,"cLen",[6,"std.length",["toCenter"]]],[13,"dirX",[6,"std.select",[[1,[7,"toCenter","x"],"/",[6,"std.max",["cLen",[5,"0.001"]]]],[6,"d.f32",[[5,"1"]]],[1,"cLen","<",[5,"0.02"]]]]],[13,"dirY",[6,"std.select",[[1,[7,"toCenter","y"],"/",[6,"std.max",["cLen",[5,"0.001"]]]],[6,"d.f32",[[5,"0"]]],[1,"cLen","<",[5,"0.02"]]]]],[13,"relX",[1,[7,"pA","x"],"-",[7,"anchor","x"]]],[13,"relY",[1,[7,"pA","y"],"-",[7,"anchor","y"]]],[10,[6,"d.vec2f",[[1,[1,"relX","*","dirX"],"+",[1,"relY","*","dirY"]],[1,[1,"relY","*","dirX"],"-",[1,"relX","*","dirY"]]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.select":()=>C,"std.max":()=>b,"d.f32":()=>a}})&&e.f)({}));var sn=1e-4,pa=1.0471975512,Fo=6/29,jl=500,Kl=200,X_=Fo*Fo*Fo,ta=4/29,H_=1/(3*Fo*Fo),j_=3*Fo*Fo,$s=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return f(__tsover_sub(__tsover_sub(__tsover_mul(t.x,1.2249401),__tsover_mul(t.y,.2249404)),__tsover_mul(t.z,0)),__tsover_add(__tsover_add(__tsover_mul(t.x,-.0420569),__tsover_mul(t.y,1.0420571)),__tsover_mul(t.z,0)),__tsover_add(__tsover_sub(__tsover_mul(t.x,-.0196376),__tsover_mul(t.y,.0786361)),__tsover_mul(t.z,1.0982735)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p3"}],body:[0,[[13,"r",[1,[1,[1,[7,"p3","x"],"*",[5,"1.2249401"]],"-",[1,[7,"p3","y"],"*",[5,"0.2249404"]]],"-",[1,[7,"p3","z"],"*",[5,"0"]]]],[13,"g",[1,[1,[1,[7,"p3","x"],"*",[4,"-",[5,"0.0420569"]]],"+",[1,[7,"p3","y"],"*",[5,"1.0420571"]]],"+",[1,[7,"p3","z"],"*",[5,"0"]]]],[13,"b",[1,[1,[1,[7,"p3","x"],"*",[4,"-",[5,"0.0196376"]]],"-",[1,[7,"p3","y"],"*",[5,"0.0786361"]]],"+",[1,[7,"p3","z"],"*",[5,"1.0982735"]]]],[10,[6,"d.vec3f",["r","g","b"]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),ss=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return f(__tsover_add(__tsover_add(__tsover_mul(t.x,.8224621),__tsover_mul(t.y,.177538)),__tsover_mul(t.z,0)),__tsover_add(__tsover_add(__tsover_mul(t.x,.0331941),__tsover_mul(t.y,.9668058)),__tsover_mul(t.z,0)),__tsover_add(__tsover_add(__tsover_mul(t.x,.0170826),__tsover_mul(t.y,.0723974)),__tsover_mul(t.z,.9105199)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"srgb"}],body:[0,[[13,"r",[1,[1,[1,[7,"srgb","x"],"*",[5,"0.8224621"]],"+",[1,[7,"srgb","y"],"*",[5,"0.177538"]]],"+",[1,[7,"srgb","z"],"*",[5,"0"]]]],[13,"g",[1,[1,[1,[7,"srgb","x"],"*",[5,"0.0331941"]],"+",[1,[7,"srgb","y"],"*",[5,"0.9668058"]]],"+",[1,[7,"srgb","z"],"*",[5,"0"]]]],[13,"b",[1,[1,[1,[7,"srgb","x"],"*",[5,"0.0170826"]],"+",[1,[7,"srgb","y"],"*",[5,"0.0723974"]]],"+",[1,[7,"srgb","z"],"*",[5,"0.9105199"]]]],[10,[6,"d.vec3f",["r","g","b"]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),To=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_add(__tsover_add(__tsover_mul(s,.4122214708),__tsover_mul(r,.5363325363)),__tsover_mul(o,.0514459929)),i=__tsover_add(__tsover_mul(s,.2119034982),__tsover_add(__tsover_mul(r,.6806995451),__tsover_mul(o,.1073969566))),d=__tsover_add(__tsover_add(__tsover_mul(s,.0883024619),__tsover_mul(r,.2817188376)),__tsover_mul(o,.6299787005)),c=__tsover_mul(ks(n),Ce(z(n),__tsover_div(1,3))),_=__tsover_mul(ks(i),Ce(z(i),__tsover_div(1,3))),u=__tsover_mul(ks(d),Ce(z(d),__tsover_div(1,3)));return f(__tsover_sub(__tsover_add(__tsover_mul(c,.2104542553),__tsover_mul(_,.793617785)),__tsover_mul(u,.0040720468)),__tsover_add(__tsover_sub(__tsover_mul(c,1.9779984951),__tsover_mul(_,2.428592205)),__tsover_mul(u,.4505937099)),__tsover_sub(__tsover_add(__tsover_mul(c,.0259040371),__tsover_mul(_,.7827717662)),__tsover_mul(u,.808675766)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[13,"r",[7,"rgb","x"]],[13,"g",[7,"rgb","y"]],[13,"b",[7,"rgb","z"]],[13,"l",[1,[1,[1,"r","*",[5,"0.4122214708"]],"+",[1,"g","*",[5,"0.5363325363"]]],"+",[1,"b","*",[5,"0.0514459929"]]]],[13,"m",[1,[1,"r","*",[5,"0.2119034982"]],"+",[1,[1,"g","*",[5,"0.6806995451"]],"+",[1,"b","*",[5,"0.1073969566"]]]]],[13,"s",[1,[1,[1,"r","*",[5,"0.0883024619"]],"+",[1,"g","*",[5,"0.2817188376"]]],"+",[1,"b","*",[5,"0.6299787005"]]]],[13,"l_",[1,[6,"std.sign",["l"]],"*",[6,"std.pow",[[6,"std.abs",["l"]],[1,[5,"1"],"/",[5,"3"]]]]]],[13,"m_",[1,[6,"std.sign",["m"]],"*",[6,"std.pow",[[6,"std.abs",["m"]],[1,[5,"1"],"/",[5,"3"]]]]]],[13,"s_",[1,[6,"std.sign",["s"]],"*",[6,"std.pow",[[6,"std.abs",["s"]],[1,[5,"1"],"/",[5,"3"]]]]]],[10,[6,"d.vec3f",[[1,[1,[1,"l_","*",[5,"0.2104542553"]],"+",[1,"m_","*",[5,"0.793617785"]]],"-",[1,"s_","*",[5,"0.0040720468"]]],[1,[1,[1,"l_","*",[5,"1.9779984951"]],"-",[1,"m_","*",[5,"2.428592205"]]],"+",[1,"s_","*",[5,"0.4505937099"]]],[1,[1,[1,"l_","*",[5,"0.0259040371"]],"+",[1,"m_","*",[5,"0.7827717662"]]],"-",[1,"s_","*",[5,"0.808675766"]]]]]]]]},externals:{"std.sign":()=>ks,"std.pow":()=>Ce,"std.abs":()=>z,"d.vec3f":()=>f}})&&e.f)({})),Kr=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_add(__tsover_add(s,__tsover_mul(r,.3963377774)),__tsover_mul(o,.2158037573)),i=__tsover_sub(__tsover_sub(s,__tsover_mul(r,.1055613458)),__tsover_mul(o,.0638541728)),d=__tsover_sub(__tsover_sub(s,__tsover_mul(r,.0894841775)),__tsover_mul(o,1.291485548)),c=Ce(n,3),_=Ce(i,3),u=Ce(d,3);return f(__tsover_add(__tsover_sub(__tsover_mul(c,4.0767416621),__tsover_mul(_,3.3077115913)),__tsover_mul(u,.2309699292)),__tsover_sub(__tsover_add(__tsover_mul(c,-1.2684380046),__tsover_mul(_,2.6097574011)),__tsover_mul(u,.3413193965)),__tsover_add(__tsover_sub(__tsover_mul(c,-.0041960863),__tsover_mul(_,.7034186147)),__tsover_mul(u,1.707614701)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lab"}],body:[0,[[13,"L",[7,"lab","x"]],[13,"a",[7,"lab","y"]],[13,"b",[7,"lab","z"]],[13,"l_",[1,[1,"L","+",[1,"a","*",[5,"0.3963377774"]]],"+",[1,"b","*",[5,"0.2158037573"]]]],[13,"m_",[1,[1,"L","-",[1,"a","*",[5,"0.1055613458"]]],"-",[1,"b","*",[5,"0.0638541728"]]]],[13,"s_",[1,[1,"L","-",[1,"a","*",[5,"0.0894841775"]]],"-",[1,"b","*",[5,"1.291485548"]]]],[13,"l",[6,"std.pow",["l_",[5,"3"]]]],[13,"m",[6,"std.pow",["m_",[5,"3"]]]],[13,"s",[6,"std.pow",["s_",[5,"3"]]]],[10,[6,"d.vec3f",[[1,[1,[1,"l","*",[5,"4.0767416621"]],"-",[1,"m","*",[5,"3.3077115913"]]],"+",[1,"s","*",[5,"0.2309699292"]]],[1,[1,[1,"l","*",[4,"-",[5,"1.2684380046"]]],"+",[1,"m","*",[5,"2.6097574011"]]],"-",[1,"s","*",[5,"0.3413193965"]]],[1,[1,[1,"l","*",[4,"-",[5,"0.0041960863"]]],"-",[1,"m","*",[5,"0.7034186147"]]],"+",[1,"s","*",[5,"1.707614701"]]]]]]]]},externals:{"std.pow":()=>Ce,"d.vec3f":()=>f}})&&e.f)({})),zi=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z;return f(s,be(__tsover_add(__tsover_mul(r,r),__tsover_mul(o,o))),tt(o,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lab"}],body:[0,[[13,"L",[7,"lab","x"]],[13,"a",[7,"lab","y"]],[13,"b",[7,"lab","z"]],[13,"C",[6,"std.sqrt",[[1,[1,"a","*","a"],"+",[1,"b","*","b"]]]]],[13,"h",[6,"std.atan2",["b","a"]]],[10,[6,"d.vec3f",["L","C","h"]]]]]},externals:{"std.sqrt":()=>be,"std.atan2":()=>tt,"d.vec3f":()=>f}})&&e.f)({})),Ha=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z;return f(s,__tsover_mul(r,H(o)),__tsover_mul(r,Y(o)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lch"}],body:[0,[[13,"L",[7,"lch","x"]],[13,"C",[7,"lch","y"]],[13,"h",[7,"lch","z"]],[10,[6,"d.vec3f",["L",[1,"C","*",[6,"std.cos",["h"]]],[1,"C","*",[6,"std.sin",["h"]]]]]]]]},externals:{"d.vec3f":()=>f,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),Zl=v.fn([a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=a(0),n=a(0),i=a(0);return r<1?(o=t,n=s):r<2?(o=s,n=t):r<3?(n=t,i=s):r<4?(n=s,i=t):r<5?(o=s,i=t):(o=t,i=s),f(o,n,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"c"},{type:"i",name:"x"},{type:"i",name:"sector"}],body:[0,[[12,"r",[6,"d.f32",[[5,"0"]]]],[12,"g",[6,"d.f32",[[5,"0"]]]],[12,"b",[6,"d.f32",[[5,"0"]]]],[11,[1,"sector","<",[5,"1"]],[0,[[2,"r","=","c"],[2,"g","=","x"]]],[11,[1,"sector","<",[5,"2"]],[0,[[2,"r","=","x"],[2,"g","=","c"]]],[11,[1,"sector","<",[5,"3"]],[0,[[2,"g","=","c"],[2,"b","=","x"]]],[11,[1,"sector","<",[5,"4"]],[0,[[2,"g","=","x"],[2,"b","=","c"]]],[11,[1,"sector","<",[5,"5"]],[0,[[2,"r","=","x"],[2,"b","=","c"]]],[0,[[2,"r","=","c"],[2,"b","=","x"]]]]]]]],[10,[6,"d.vec3f",["r","g","b"]]]]]},externals:{"d.f32":()=>a,"d.vec3f":()=>f}})&&e.f)({})),uc=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=b(b(s,r),o),i=oe(oe(s,r),o),d=__tsover_sub(n,i),c=__tsover_mul(__tsover_add(n,i),.5),_=b(__tsover_sub(1,z(__tsover_sub(__tsover_mul(c,2),1))),sn),u=__tsover_div(d,_),m=n===s,p=n===r,y=__tsover_div(__tsover_sub(r,o),b(d,sn)),h=__tsover_add(2,__tsover_div(__tsover_sub(o,s),b(d,sn))),g=C(C(__tsover_add(4,__tsover_div(__tsover_sub(s,r),b(d,sn))),h,p),y,m);return f(__tsover_mul(g,pa),u,c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[13,"r",[7,"rgb","x"]],[13,"g",[7,"rgb","y"]],[13,"b",[7,"rgb","z"]],[13,"maxVal",[6,"std.max",[[6,"std.max",["r","g"]],"b"]]],[13,"minVal",[6,"std.min",[[6,"std.min",["r","g"]],"b"]]],[13,"delta",[1,"maxVal","-","minVal"]],[13,"l",[1,[1,"maxVal","+","minVal"],"*",[5,"0.5"]]],[13,"satDenom",[6,"std.max",[[1,[5,"1"],"-",[6,"std.abs",[[1,[1,"l","*",[5,"2"]],"-",[5,"1"]]]]],"EPSILON"]]],[13,"s",[1,"delta","/","satDenom"]],[13,"isRMax",[1,"maxVal","===","r"]],[13,"isGMax",[1,"maxVal","===","g"]],[13,"hueR",[1,[1,"g","-","b"],"/",[6,"std.max",["delta","EPSILON"]]]],[13,"hueG",[1,[5,"2"],"+",[1,[1,"b","-","r"],"/",[6,"std.max",["delta","EPSILON"]]]]],[13,"hueB",[1,[5,"4"],"+",[1,[1,"r","-","g"],"/",[6,"std.max",["delta","EPSILON"]]]]],[13,"hue",[6,"std.select",[[6,"std.select",["hueB","hueG","isGMax"]],"hueR","isRMax"]]],[13,"h",[1,"hue","*","PI_OVER_3"]],[10,[6,"d.vec3f",["h","s","l"]]]]]},externals:{"std.max":()=>b,"std.min":()=>oe,"std.abs":()=>z,EPSILON:()=>sn,"std.select":()=>C,PI_OVER_3:()=>pa,"d.vec3f":()=>f}})&&e.f)({})),ja=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_mul(r,__tsover_sub(1,z(__tsover_sub(__tsover_mul(o,2),1)))),i=__tsover_div(s,pa),d=__tsover_mul(n,__tsover_sub(1,z(__tsover_sub(bo(i,2),1)))),c=__tsover_sub(o,__tsover_mul(n,.5));return Zl(n,d,q(i)).add(c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"hsl"}],body:[0,[[13,"h",[7,"hsl","x"]],[13,"s",[7,"hsl","y"]],[13,"l",[7,"hsl","z"]],[13,"c",[1,"s","*",[1,[5,"1"],"-",[6,"std.abs",[[1,[1,"l","*",[5,"2"]],"-",[5,"1"]]]]]]],[13,"hPrime",[1,"h","/","PI_OVER_3"]],[13,"x",[1,"c","*",[1,[5,"1"],"-",[6,"std.abs",[[1,[6,"std.mod",["hPrime",[5,"2"]]],"-",[5,"1"]]]]]]],[13,"m",[1,"l","-",[1,"c","*",[5,"0.5"]]]],[13,"sector",[6,"std.floor",["hPrime"]]],[10,[6,[7,[6,"selectRGBBySector",["c","x","sector"]],"add"],["m"]]]]]},externals:{"std.abs":()=>z,PI_OVER_3:()=>pa,"std.mod":()=>bo,"std.floor":()=>q,selectRGBBySector:()=>Zl}})&&e.f)({})),Mm=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=b(b(s,r),o),i=oe(oe(s,r),o),d=__tsover_sub(n,i),c=n,_=__tsover_div(d,b(n,sn)),u=n===s,m=n===r,p=__tsover_div(__tsover_sub(r,o),b(d,sn)),y=__tsover_add(2,__tsover_div(__tsover_sub(o,s),b(d,sn))),h=C(C(__tsover_add(4,__tsover_div(__tsover_sub(s,r),b(d,sn))),y,m),p,u);return f(__tsover_mul(h,pa),_,c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[13,"r",[7,"rgb","x"]],[13,"g",[7,"rgb","y"]],[13,"b",[7,"rgb","z"]],[13,"maxVal",[6,"std.max",[[6,"std.max",["r","g"]],"b"]]],[13,"minVal",[6,"std.min",[[6,"std.min",["r","g"]],"b"]]],[13,"delta",[1,"maxVal","-","minVal"]],[13,"v","maxVal"],[13,"s",[1,"delta","/",[6,"std.max",["maxVal","EPSILON"]]]],[13,"isRMax",[1,"maxVal","===","r"]],[13,"isGMax",[1,"maxVal","===","g"]],[13,"hueR",[1,[1,"g","-","b"],"/",[6,"std.max",["delta","EPSILON"]]]],[13,"hueG",[1,[5,"2"],"+",[1,[1,"b","-","r"],"/",[6,"std.max",["delta","EPSILON"]]]]],[13,"hueB",[1,[5,"4"],"+",[1,[1,"r","-","g"],"/",[6,"std.max",["delta","EPSILON"]]]]],[13,"hue",[6,"std.select",[[6,"std.select",["hueB","hueG","isGMax"]],"hueR","isRMax"]]],[13,"h",[1,"hue","*","PI_OVER_3"]],[10,[6,"d.vec3f",["h","s","v"]]]]]},externals:{"std.max":()=>b,"std.min":()=>oe,EPSILON:()=>sn,"std.select":()=>C,PI_OVER_3:()=>pa,"d.vec3f":()=>f}})&&e.f)({})),Ac=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_mul(o,r),i=__tsover_div(s,pa),d=__tsover_mul(n,__tsover_sub(1,z(__tsover_sub(bo(i,2),1)))),c=__tsover_sub(o,n);return Zl(n,d,q(i)).add(c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"hsv"}],body:[0,[[13,"h",[7,"hsv","x"]],[13,"s",[7,"hsv","y"]],[13,"v",[7,"hsv","z"]],[13,"c",[1,"v","*","s"]],[13,"hPrime",[1,"h","/","PI_OVER_3"]],[13,"x",[1,"c","*",[1,[5,"1"],"-",[6,"std.abs",[[1,[6,"std.mod",["hPrime",[5,"2"]]],"-",[5,"1"]]]]]]],[13,"m",[1,"v","-","c"]],[13,"sector",[6,"std.floor",["hPrime"]]],[10,[6,[7,[6,"selectRGBBySector",["c","x","sector"]],"add"],["m"]]]]]},externals:{PI_OVER_3:()=>pa,"std.abs":()=>z,"std.mod":()=>bo,"std.floor":()=>q,selectRGBBySector:()=>Zl}})&&e.f)({})),Pm=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_add(__tsover_add(__tsover_mul(s,.4124564),__tsover_mul(r,.3575761)),__tsover_mul(o,.1804375)),i=__tsover_add(__tsover_add(__tsover_mul(s,.2126729),__tsover_mul(r,.7151522)),__tsover_mul(o,.072175)),d=__tsover_add(__tsover_add(__tsover_mul(s,.0193339),__tsover_mul(r,.119192)),__tsover_mul(o,.9503041)),c=__tsover_div(n,.95047),_=__tsover_div(i,1),u=__tsover_div(d,1.08883),m=C(__tsover_add(__tsover_mul(c,H_),ta),Ce(c,__tsover_div(1,3)),c>X_),p=C(__tsover_add(__tsover_mul(_,H_),ta),Ce(_,__tsover_div(1,3)),_>X_),y=C(__tsover_add(__tsover_mul(u,H_),ta),Ce(u,__tsover_div(1,3)),u>X_);return f(__tsover_sub(__tsover_mul(p,116),16),__tsover_mul(__tsover_sub(m,p),jl),__tsover_mul(__tsover_sub(p,y),Kl))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[13,"r",[7,"rgb","x"]],[13,"g",[7,"rgb","y"]],[13,"b",[7,"rgb","z"]],[13,"x",[1,[1,[1,"r","*",[5,"0.4124564"]],"+",[1,"g","*",[5,"0.3575761"]]],"+",[1,"b","*",[5,"0.1804375"]]]],[13,"y",[1,[1,[1,"r","*",[5,"0.2126729"]],"+",[1,"g","*",[5,"0.7151522"]]],"+",[1,"b","*",[5,"0.072175"]]]],[13,"z",[1,[1,[1,"r","*",[5,"0.0193339"]],"+",[1,"g","*",[5,"0.119192"]]],"+",[1,"b","*",[5,"0.9503041"]]]],[13,"xn",[1,"x","/",[5,"0.95047"]]],[13,"yn",[1,"y","/",[5,"1"]]],[13,"zn",[1,"z","/",[5,"1.08883"]]],[13,"fx",[6,"std.select",[[1,[1,"xn","*","LAB_FWD_SLOPE"],"+","LAB_OFFSET"],[6,"std.pow",["xn",[1,[5,"1"],"/",[5,"3"]]]],[1,"xn",">","LAB_DELTA3"]]]],[13,"fy",[6,"std.select",[[1,[1,"yn","*","LAB_FWD_SLOPE"],"+","LAB_OFFSET"],[6,"std.pow",["yn",[1,[5,"1"],"/",[5,"3"]]]],[1,"yn",">","LAB_DELTA3"]]]],[13,"fz",[6,"std.select",[[1,[1,"zn","*","LAB_FWD_SLOPE"],"+","LAB_OFFSET"],[6,"std.pow",["zn",[1,[5,"1"],"/",[5,"3"]]]],[1,"zn",">","LAB_DELTA3"]]]],[13,"L",[1,[1,"fy","*",[5,"116"]],"-",[5,"16"]]],[13,"a",[1,[1,"fx","-","fy"],"*","LAB_KAPPA"]],[13,"bLab",[1,[1,"fy","-","fz"],"*","LAB_LAMBDA"]],[10,[6,"d.vec3f",["L","a","bLab"]]]]]},externals:{"std.select":()=>C,LAB_FWD_SLOPE:()=>H_,LAB_OFFSET:()=>ta,"std.pow":()=>Ce,LAB_DELTA3:()=>X_,LAB_KAPPA:()=>jl,LAB_LAMBDA:()=>Kl,"d.vec3f":()=>f}})&&e.f)({})),Mc=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_div(__tsover_add(s,16),116),i=__tsover_add(__tsover_div(r,jl),n),d=__tsover_sub(n,__tsover_div(o,Kl)),c=C(__tsover_mul(__tsover_sub(i,ta),j_),Ce(i,3),i>Fo),_=C(__tsover_mul(__tsover_sub(n,ta),j_),Ce(n,3),n>Fo),u=C(__tsover_mul(__tsover_sub(d,ta),j_),Ce(d,3),d>Fo),m=__tsover_mul(c,.95047),p=__tsover_mul(_,1),y=__tsover_mul(u,1.08883);return f(__tsover_sub(__tsover_sub(__tsover_mul(m,3.2404542),__tsover_mul(p,1.5371385)),__tsover_mul(y,.4985314)),__tsover_add(__tsover_add(__tsover_mul(m,-.969266),__tsover_mul(p,1.8760108)),__tsover_mul(y,.041556)),__tsover_add(__tsover_sub(__tsover_mul(m,.0556434),__tsover_mul(p,.2040259)),__tsover_mul(y,1.0572252)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lab"}],body:[0,[[13,"L",[7,"lab","x"]],[13,"a",[7,"lab","y"]],[13,"b",[7,"lab","z"]],[13,"fy",[1,[1,"L","+",[5,"16"]],"/",[5,"116"]]],[13,"fx",[1,[1,"a","/","LAB_KAPPA"],"+","fy"]],[13,"fz",[1,"fy","-",[1,"b","/","LAB_LAMBDA"]]],[13,"xn",[6,"std.select",[[1,[1,"fx","-","LAB_OFFSET"],"*","LAB_INV_SLOPE"],[6,"std.pow",["fx",[5,"3"]]],[1,"fx",">","LAB_DELTA"]]]],[13,"yn",[6,"std.select",[[1,[1,"fy","-","LAB_OFFSET"],"*","LAB_INV_SLOPE"],[6,"std.pow",["fy",[5,"3"]]],[1,"fy",">","LAB_DELTA"]]]],[13,"zn",[6,"std.select",[[1,[1,"fz","-","LAB_OFFSET"],"*","LAB_INV_SLOPE"],[6,"std.pow",["fz",[5,"3"]]],[1,"fz",">","LAB_DELTA"]]]],[13,"x",[1,"xn","*",[5,"0.95047"]]],[13,"y",[1,"yn","*",[5,"1"]]],[13,"z",[1,"zn","*",[5,"1.08883"]]],[13,"r",[1,[1,[1,"x","*",[5,"3.2404542"]],"-",[1,"y","*",[5,"1.5371385"]]],"-",[1,"z","*",[5,"0.4985314"]]]],[13,"g",[1,[1,[1,"x","*",[4,"-",[5,"0.969266"]]],"+",[1,"y","*",[5,"1.8760108"]]],"+",[1,"z","*",[5,"0.041556"]]]],[13,"bRgb",[1,[1,[1,"x","*",[5,"0.0556434"]],"-",[1,"y","*",[5,"0.2040259"]]],"+",[1,"z","*",[5,"1.0572252"]]]],[10,[6,"d.vec3f",["r","g","bRgb"]]]]]},externals:{LAB_KAPPA:()=>jl,LAB_LAMBDA:()=>Kl,"std.select":()=>C,LAB_OFFSET:()=>ta,LAB_INV_SLOPE:()=>j_,"std.pow":()=>Ce,LAB_DELTA:()=>Fo,"d.vec3f":()=>f}})&&e.f)({})),Em=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z;return f(s,be(__tsover_add(__tsover_mul(r,r),__tsover_mul(o,o))),tt(o,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lab"}],body:[0,[[13,"L",[7,"lab","x"]],[13,"a",[7,"lab","y"]],[13,"b",[7,"lab","z"]],[13,"C",[6,"std.sqrt",[[1,[1,"a","*","a"],"+",[1,"b","*","b"]]]]],[13,"h",[6,"std.atan2",["b","a"]]],[10,[6,"d.vec3f",["L","C","h"]]]]]},externals:{"std.sqrt":()=>be,"std.atan2":()=>tt,"d.vec3f":()=>f}})&&e.f)({})),Pc=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z;return f(s,__tsover_mul(r,H(o)),__tsover_mul(r,Y(o)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lch"}],body:[0,[[13,"L",[7,"lch","x"]],[13,"C",[7,"lch","y"]],[13,"h",[7,"lch","z"]],[10,[6,"d.vec3f",["L",[1,"C","*",[6,"std.cos",["h"]]],[1,"C","*",[6,"std.sin",["h"]]]]]]]]},externals:{"d.vec3f":()=>f,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),is=v.fn([f,f,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return t.mul(r).add(s.mul(o)).div(n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"wA"},{type:"i",name:"wB"},{type:"i",name:"sw"}],body:[0,[[10,[6,[7,[6,[7,[6,[7,"a","mul"],["wA"]],"add"],[[6,[7,"b","mul"],["wB"]]]],"div"],["sw"]]]]]},externals:{}})&&e.f)({})),Bo=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(is(t.xyz,s.xyz,o,n,d),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"rgb",[6,"awMix",[[7,"colorA","xyz"],[7,"colorB","xyz"],"weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x}})&&e.f)({})),dR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(Kr(Ha(is(zi(To($s(t.xyz))),zi(To($s(s.xyz))),o,n,d)))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"oklchA",[6,"oklabToOklch",[[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]]]],[13,"oklchB",[6,"oklabToOklch",[[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]]]],[13,"mixed",[6,"awMix",["oklchA","oklchB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"oklabToRgb",[[6,"oklchToOklab",["mixed"]]]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,oklabToOklch:()=>zi,rgbToOklab:()=>To,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,oklchToOklab:()=>Ha,"d.vec4f":()=>x}})&&e.f)({})),cR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(Kr(is(To($s(t.xyz)),To($s(s.xyz)),o,n,d))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"oklabA",[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]],[13,"oklabB",[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]],[13,"mixed",[6,"awMix",["oklabA","oklabB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"oklabToRgb",["mixed"]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,rgbToOklab:()=>To,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,"d.vec4f":()=>x}})&&e.f)({})),_R=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(ja(is(uc($s(t.xyz)),uc($s(s.xyz)),o,n,d))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"hslA",[6,"rgbToHsl",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]],[13,"hslB",[6,"rgbToHsl",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]],[13,"mixed",[6,"awMix",["hslA","hslB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"hslToRgb",["mixed"]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,rgbToHsl:()=>uc,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,hslToRgb:()=>ja,"d.vec4f":()=>x}})&&e.f)({})),lR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(Ac(is(Mm($s(t.xyz)),Mm($s(s.xyz)),o,n,d))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"hsvA",[6,"rgbToHsv",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]],[13,"hsvB",[6,"rgbToHsv",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]],[13,"mixed",[6,"awMix",["hsvA","hsvB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"hsvToRgb",["mixed"]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,rgbToHsv:()=>Mm,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,hsvToRgb:()=>Ac,"d.vec4f":()=>x}})&&e.f)({})),uR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(Mc(Pc(is(Em(Pm($s(t.xyz))),Em(Pm($s(s.xyz))),o,n,d)))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"lchA",[6,"labToLch",[[6,"rgbToLab",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]]]],[13,"lchB",[6,"labToLch",[[6,"rgbToLab",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]]]],[13,"mixed",[6,"awMix",["lchA","lchB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"labToRgb",[[6,"lchToLab",["mixed"]]]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,labToLch:()=>Em,rgbToLab:()=>Pm,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,labToRgb:()=>Mc,lchToLab:()=>Pc,"d.vec4f":()=>x}})&&e.f)({})),Fv={0:Bo,1:dR,2:cR,3:_R,4:lR,5:uR};var co=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({conv:f,alpha:a}),"MixStep"),fa=v.fn([f,a,f,a,a],co)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return co({conv:is(t,r,i,d,b(c,.001)),alpha:c})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"alphaA"},{type:"i",name:"convB"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[10,[6,"MixStep",[[104,{conv:[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]],alpha:"totalWeight"}]]]]]]},externals:{"std.max":()=>b,MixStep:()=>co,awMix:()=>is}})&&e.f)({})),t1=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(is(t,s,i,d,b(c,.001)),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",["mixed","totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x}})&&e.f)({})),mR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(Kr(Ha(is(t,s,i,d,b(c,.001))))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"oklabToRgb",[[6,"oklchToOklab",["mixed"]]]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,oklchToOklab:()=>Ha}})&&e.f)({})),pR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(Kr(is(t,s,i,d,b(c,.001)))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"oklabToRgb",["mixed"]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,oklabToRgb:()=>Kr}})&&e.f)({})),fR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(ja(is(t,s,i,d,b(c,.001)))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"hslToRgb",["mixed"]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,hslToRgb:()=>ja}})&&e.f)({})),vR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(Ac(is(t,s,i,d,b(c,.001)))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"hsvToRgb",["mixed"]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,hsvToRgb:()=>Ac}})&&e.f)({})),yR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(Mc(Pc(is(t,s,i,d,b(c,.001))))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"labToRgb",[[6,"lchToLab",["mixed"]]]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,labToRgb:()=>Mc,lchToLab:()=>Pc}})&&e.f)({})),Bv={0:t1,1:mR,2:pR,3:fR,4:vR,5:yR};var Wv=1e-4,km=6/29,hR=(e,t,s)=>[e*1.2249401-t*.2249404,e*-.0420569+t*1.0420571,e*-.0196376-t*.0786361+s*1.0982735],r3=(e,t,s)=>{let r=Math.cbrt(e*.4122214708+t*.5363325363+s*.0514459929),o=Math.cbrt(e*.2119034982+t*.6806995451+s*.1073969566),n=Math.cbrt(e*.0883024619+t*.2817188376+s*.6299787005);return[r*.2104542553+o*.793617785-n*.0040720468,r*1.9779984951-o*2.428592205+n*.4505937099,r*.0259040371+o*.7827717662-n*.808675766]},n7=(e,t,s,r,o)=>{let n=Math.max(o,Wv);return(r===e?(t-s)/n:r===t?2+(s-e)/n:4+(e-t)/n)*(Math.PI/3)},xR=(e,t,s)=>{let r=Math.max(e,t,s),o=Math.min(e,t,s),n=r-o,i=(r+o)*.5,d=n/Math.max(1-Math.abs(2*i-1),Wv);return[n7(e,t,s,r,n),d,i]},gR=(e,t,s)=>{let r=Math.max(e,t,s),o=r-Math.min(e,t,s),n=o/Math.max(r,Wv);return[n7(e,t,s,r,o),n,r]},bR=(e,t,s)=>{let r=(e*.4124564+t*.3575761+s*.1804375)/.95047,o=e*.2126729+t*.7151522+s*.072175,n=(e*.0193339+t*.119192+s*.9503041)/1.08883,i=km**3,d=m=>m>i?Math.cbrt(m):m/(3*km*km)+4/29,c=d(r),_=d(o),u=d(n);return[_*116-16,(c-_)*500,(_-u)*200]},s1=(e,t,s,r)=>{let[o,n,i]=hR(e,t,s);switch(r){case 1:{let[d,c,_]=r3(o,n,i);return[d,Math.sqrt(c*c+_*_),Math.atan2(_,c)]}case 2:return r3(o,n,i);case 3:return xR(o,n,i);case 4:return gR(o,n,i);case 5:{let[d,c,_]=bR(o,n,i);return[d,Math.sqrt(c*c+_*_),Math.atan2(_,c)]}default:return[e,t,s]}},wR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=X(f(t.x,t.y,t.z),f(s.x,s.y,s.z),f(r));return x(o.x,o.y,o.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"target"},{type:"i",name:"amount"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"targetRgb",[6,"d.vec3f",[[7,"target","x"],[7,"target","y"],[7,"target","z"]]]],[13,"mixed",[6,"std.mix",["rgb","targetRgb",[6,"d.vec3f",["amount"]]]]],[10,[6,"d.vec4f",[[7,"mixed","x"],[7,"mixed","y"],[7,"mixed","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({}));var So=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_add(__tsover_mul(t.x,.2126),__tsover_mul(t.y,.7152)),__tsover_mul(t.z,.0722))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[1,[1,[1,[7,"rgb","x"],"*",[5,"0.2126"]],"+",[1,[7,"rgb","y"],"*",[5,"0.7152"]]],"+",[1,[7,"rgb","z"],"*",[5,"0.0722"]]]]]]},externals:{}})&&e.f)({})),an=v.fn([f,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return C(f(0),f(1),wp(s,t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"edge"},{type:"i",name:"x"}],body:[0,[[10,[6,"std.select",[[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]],[6,"std.ge",["x","edge"]]]]]]]},externals:{"std.select":()=>C,"d.vec3f":()=>f,"std.ge":()=>wp}})&&e.f)({})),$t=v.fn([x,f,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_add(r,o);return x(s.mul(r).add(t.xyz.mul(o)),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"blended"},{type:"i",name:"overlayAlpha"}],body:[0,[[13,"baseWeight",[1,[7,"base","w"],"*",[1,[5,"1"],"-","overlayAlpha"]]],[13,"finalAlpha",[1,"overlayAlpha","+","baseWeight"]],[13,"rgb",[6,[7,[6,[7,"blended","mul"],["overlayAlpha"]],"add"],[[6,[7,[7,"base","xyz"],"mul"],["baseWeight"]]]]],[10,[6,"d.vec4f",["rgb","finalAlpha"]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),dn=v.fn([x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.w;return x(C(f(0,0,0),t.xyz.div(s),s>.001),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"alpha",[7,"color","w"]],[13,"straightRGB",[6,"std.select",[[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,[7,[7,"color","xyz"],"div"],["alpha"]],[1,"alpha",">",[5,"0.001"]]]]],[10,[6,"d.vec4f",["straightRGB","alpha"]]]]]},externals:{"std.select":()=>C,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),TR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,s.xyz,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[10,[6,"overComposite",["base",[7,"overlay","xyz"],"overlayAlpha"]]]]]},externals:{overComposite:()=>$t}})&&e.f)({})),SR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=__tsover_mul(t.w,__tsover_sub(1,o)),i=__tsover_add(o,n),d=zi(To($s(t.xyz)));return x(ss(Kr(Ha(zi(To($s(s.xyz))).mul(o).add(d.mul(n))))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseWeight",[1,[7,"base","w"],"*",[1,[5,"1"],"-","overlayAlpha"]]],[13,"finalAlpha",[1,"overlayAlpha","+","baseWeight"]],[13,"baseOklch",[6,"oklabToOklch",[[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"base","xyz"]]]]]]]],[13,"overlayOklch",[6,"oklabToOklch",[[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"overlay","xyz"]]]]]]]],[13,"blendedOklch",[6,[7,[6,[7,"overlayOklch","mul"],["overlayAlpha"]],"add"],[[6,[7,"baseOklch","mul"],["baseWeight"]]]]],[13,"rgb",[6,"sRGBToP3",[[6,"oklabToRgb",[[6,"oklchToOklab",["blendedOklch"]]]]]]],[10,[6,"d.vec4f",["rgb","finalAlpha"]]]]]},externals:{oklabToOklch:()=>zi,rgbToOklab:()=>To,p3ToSRGB:()=>$s,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,oklchToOklab:()=>Ha,"d.vec4f":()=>x}})&&e.f)({})),AR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=__tsover_mul(t.w,__tsover_sub(1,o)),i=__tsover_add(o,n),d=To($s(t.xyz));return x(ss(Kr(To($s(s.xyz)).mul(o).add(d.mul(n)))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseWeight",[1,[7,"base","w"],"*",[1,[5,"1"],"-","overlayAlpha"]]],[13,"finalAlpha",[1,"overlayAlpha","+","baseWeight"]],[13,"baseOklab",[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"base","xyz"]]]]]],[13,"overlayOklab",[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"overlay","xyz"]]]]]],[13,"blendedOklab",[6,[7,[6,[7,"overlayOklab","mul"],["overlayAlpha"]],"add"],[[6,[7,"baseOklab","mul"],["baseWeight"]]]]],[13,"rgb",[6,"sRGBToP3",[[6,"oklabToRgb",["blendedOklab"]]]]],[10,[6,"d.vec4f",["rgb","finalAlpha"]]]]]},externals:{rgbToOklab:()=>To,p3ToSRGB:()=>$s,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,"d.vec4f":()=>x}})&&e.f)({})),MR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,t.xyz.mul(s.xyz),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{overComposite:()=>$t}})&&e.f)({})),PR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,ht(1,ht(1,t.xyz).mul(ht(1,s.xyz))),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.sub",[[5,"1"],[6,[7,[6,"std.sub",[[5,"1"],[7,"base","xyz"]]],"mul"],[[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,overComposite:()=>$t}})&&e.f)({})),ER=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,t.xyz.add(s.xyz),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,[7,[7,"base","xyz"],"add"],[[7,"overlay","xyz"]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{overComposite:()=>$t}})&&e.f)({})),kR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,X(t.xyz.mul(s.xyz).mul(2),ht(1,ht(1,t.xyz).mul(ht(1,s.xyz)).mul(2)),an(f(.5),t.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"mult",[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]],"mul"],[[5,"2"]]]],[13,"scr",[6,"std.sub",[[5,"1"],[6,[7,[6,[7,[6,"std.sub",[[5,"1"],[7,"base","xyz"]]],"mul"],[[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]]],"mul"],[[5,"2"]]]]]],[13,"blended",[6,"std.mix",["mult","scr",[6,"step3",[[6,"d.vec3f",[[5,"0.5"]]],[7,"base","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,"std.mix":()=>X,step3:()=>an,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),$R=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,z(t.xyz.sub(s.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.abs",[[6,[7,[7,"base","xyz"],"sub"],[[7,"overlay","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.abs":()=>z,overComposite:()=>$t}})&&e.f)({})),UR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=ht(1,s.xyz);return $t(t,X(t.xyz,oe(t.xyz.div(n),f(1)),an(f(.001),n)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"oneMinusOverlay",[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]],[13,"dodged",[6,"std.mix",[[7,"base","xyz"],[6,"std.min",[[6,[7,[7,"base","xyz"],"div"],["oneMinusOverlay"]],[6,"d.vec3f",[[5,"1"]]]]],[6,"step3",[[6,"d.vec3f",[[5,"0.001"]]],"oneMinusOverlay"]]]]],[10,[6,"overComposite",["base","dodged","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,"std.mix":()=>X,"std.min":()=>oe,"d.vec3f":()=>f,step3:()=>an,overComposite:()=>$t}})&&e.f)({})),CR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,t.xyz.add(s.xyz).sub(t.xyz.mul(s.xyz).mul(2)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,[7,[6,[7,[7,"base","xyz"],"add"],[[7,"overlay","xyz"]]],"sub"],[[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]],"mul"],[[5,"2"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{overComposite:()=>$t}})&&e.f)({})),RR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=So(t.xyz),i=So(s.xyz),d=__tsover_sub(n,i);return $t(t,s.xyz.add(d),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseLum",[6,"luminance",[[7,"base","xyz"]]]],[13,"overlayLum",[6,"luminance",[[7,"overlay","xyz"]]]],[13,"lumDiff",[1,"baseLum","-","overlayLum"]],[13,"blended",[6,[7,[7,"overlay","xyz"],"add"],["lumDiff"]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{luminance:()=>So,overComposite:()=>$t}})&&e.f)({})),zR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=So(t.xyz),i=So(s.xyz),d=__tsover_div(i,__tsover_add(n,1e-4));return $t(t,t.xyz.mul(d),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseLum",[6,"luminance",[[7,"base","xyz"]]]],[13,"overlayLum",[6,"luminance",[[7,"overlay","xyz"]]]],[13,"lumRatio",[1,"overlayLum","/",[1,"baseLum","+",[5,"0.0001"]]]],[13,"blended",[6,[7,[7,"base","xyz"],"mul"],["lumRatio"]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{luminance:()=>So,overComposite:()=>$t}})&&e.f)({})),GR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,oe(t.xyz,s.xyz),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.min",[[7,"base","xyz"],[7,"overlay","xyz"]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.min":()=>oe,overComposite:()=>$t}})&&e.f)({})),YR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,b(t.xyz,s.xyz),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.max",[[7,"base","xyz"],[7,"overlay","xyz"]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.max":()=>b,overComposite:()=>$t}})&&e.f)({})),LR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=b(ht(1,ht(1,t.xyz).div(s.xyz.add(1e-4))),f(0));return $t(t,X(f(0),n,an(f(1e-4),s.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"burned",[6,"std.max",[[6,"std.sub",[[5,"1"],[6,[7,[6,"std.sub",[[5,"1"],[7,"base","xyz"]]],"div"],[[6,[7,[7,"overlay","xyz"],"add"],[[5,"0.0001"]]]]]]],[6,"d.vec3f",[[5,"0"]]]]]],[13,"blended",[6,"std.mix",[[6,"d.vec3f",[[5,"0"]]],"burned",[6,"step3",[[6,"d.vec3f",[[5,"0.0001"]]],[7,"overlay","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.max":()=>b,"std.sub":()=>ht,"d.vec3f":()=>f,"std.mix":()=>X,step3:()=>an,overComposite:()=>$t}})&&e.f)({})),IR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,b(t.xyz.add(s.xyz).add(-1),f(0)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.max",[[6,[7,[6,[7,[7,"base","xyz"],"add"],[[7,"overlay","xyz"]]],"add"],[[4,"-",[5,"1"]]]],[6,"d.vec3f",[[5,"0"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.max":()=>b,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),DR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=t.xyz.mul(s.xyz).mul(2),i=t.xyz.mul(t.xyz),d=n.add(i.mul(ht(1,s.xyz.mul(2)))),c=be(t.xyz);return $t(t,X(d,t.xyz.mul(ht(1,s.xyz)).mul(2).add(c.mul(s.xyz.mul(2).sub(1))),an(f(.5),s.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"mult",[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]],"mul"],[[5,"2"]]]],[13,"baseSquared",[6,[7,[7,"base","xyz"],"mul"],[[7,"base","xyz"]]]],[13,"softDark",[6,[7,"mult","add"],[[6,[7,"baseSquared","mul"],[[6,"std.sub",[[5,"1"],[6,[7,[7,"overlay","xyz"],"mul"],[[5,"2"]]]]]]]]]],[13,"baseSqrt",[6,"std.sqrt",[[7,"base","xyz"]]]],[13,"softLightVal",[6,[7,[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]]],"mul"],[[5,"2"]]],"add"],[[6,[7,"baseSqrt","mul"],[[6,[7,[6,[7,[7,"overlay","xyz"],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]]]]]],[13,"blended",[6,"std.mix",["softDark","softLightVal",[6,"step3",[[6,"d.vec3f",[[5,"0.5"]]],[7,"overlay","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,"std.sqrt":()=>be,"std.mix":()=>X,step3:()=>an,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),FR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,X(t.xyz.mul(s.xyz).mul(2),ht(1,ht(1,t.xyz).mul(ht(1,s.xyz)).mul(2)),an(f(.5),s.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"mult",[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]],"mul"],[[5,"2"]]]],[13,"scr",[6,"std.sub",[[5,"1"],[6,[7,[6,[7,[6,"std.sub",[[5,"1"],[7,"base","xyz"]]],"mul"],[[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]]],"mul"],[[5,"2"]]]]]],[13,"blended",[6,"std.mix",["mult","scr",[6,"step3",[[6,"d.vec3f",[[5,"0.5"]]],[7,"overlay","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,"std.mix":()=>X,step3:()=>an,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),BR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=So(t.xyz),i=So(s.xyz),d=t.xyz.sub(n),c=s.xyz.sub(i),_=j(d),u=j(c);return $t(t,C(f(0),c.div(u),u>1e-4).mul(_).add(n),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseLum",[6,"luminance",[[7,"base","xyz"]]]],[13,"overlayLum",[6,"luminance",[[7,"overlay","xyz"]]]],[13,"baseChromaticity",[6,[7,[7,"base","xyz"],"sub"],["baseLum"]]],[13,"overlayChromaticity",[6,[7,[7,"overlay","xyz"],"sub"],["overlayLum"]]],[13,"baseChromaLength",[6,"std.length",["baseChromaticity"]]],[13,"overlayChromaLength",[6,"std.length",["overlayChromaticity"]]],[13,"overlayChromaDir",[6,"std.select",[[6,"d.vec3f",[[5,"0"]]],[6,[7,"overlayChromaticity","div"],["overlayChromaLength"]],[1,"overlayChromaLength",">",[5,"0.0001"]]]]],[13,"blended",[6,[7,[6,[7,"overlayChromaDir","mul"],["baseChromaLength"]],"add"],["baseLum"]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{luminance:()=>So,"std.length":()=>j,"std.select":()=>C,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),WR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=So(t.xyz),i=So(s.xyz),d=t.xyz.sub(n),c=s.xyz.sub(i),_=j(d),u=C(f(0),d.div(_),_>1e-4),m=j(c);return $t(t,u.mul(m).add(n),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseLum",[6,"luminance",[[7,"base","xyz"]]]],[13,"overlayLum",[6,"luminance",[[7,"overlay","xyz"]]]],[13,"baseChromaticity",[6,[7,[7,"base","xyz"],"sub"],["baseLum"]]],[13,"overlayChromaticity",[6,[7,[7,"overlay","xyz"],"sub"],["overlayLum"]]],[13,"baseChromaLength",[6,"std.length",["baseChromaticity"]]],[13,"baseChromaDir",[6,"std.select",[[6,"d.vec3f",[[5,"0"]]],[6,[7,"baseChromaticity","div"],["baseChromaLength"]],[1,"baseChromaLength",">",[5,"0.0001"]]]]],[13,"overlayChromaLength",[6,"std.length",["overlayChromaticity"]]],[13,"blended",[6,[7,[6,[7,"baseChromaDir","mul"],["overlayChromaLength"]],"add"],["baseLum"]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{luminance:()=>So,"std.length":()=>j,"std.select":()=>C,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),o3={normal:TR,"normal-oklch":SR,"normal-oklab":AR,multiply:MR,screen:PR,linearDodge:ER,overlay:kR,difference:$R,colorDodge:UR,exclusion:CR,color:RR,luminosity:zR,darken:GR,lighten:YR,colorBurn:LR,linearBurn:IR,softLight:DR,hardLight:FR,hue:BR,saturation:WR};var K_=f(.2126,.7152,.0722),n3={alpha:v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.xyz,__tsover_mul(t.w,s.w))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"target"},{type:"i",name:"mask"}],body:[0,[[10,[6,"d.vec4f",[[7,"target","xyz"],[1,[7,"target","w"],"*",[7,"mask","w"]]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),alphaInverted:v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.xyz,__tsover_mul(t.w,__tsover_sub(1,s.w)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"target"},{type:"i",name:"mask"}],body:[0,[[10,[6,"d.vec4f",[[7,"target","xyz"],[1,[7,"target","w"],"*",[1,[5,"1"],"-",[7,"mask","w"]]]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),luminance:v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(s.xyz,K_);return x(t.xyz,__tsover_mul(t.w,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"target"},{type:"i",name:"mask"}],body:[0,[[13,"lum",[6,"std.dot",[[7,"mask","xyz"],"LUMINANCE_WEIGHTS"]]],[10,[6,"d.vec4f",[[7,"target","xyz"],[1,[7,"target","w"],"*","lum"]]]]]]},externals:{"std.dot":()=>se,LUMINANCE_WEIGHTS:()=>K_,"d.vec4f":()=>x}})&&e.f)({})),luminanceInverted:v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(s.xyz,K_);return x(t.xyz,__tsover_mul(t.w,__tsover_sub(1,r)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"target"},{type:"i",name:"mask"}],body:[0,[[13,"lum",[6,"std.dot",[[7,"mask","xyz"],"LUMINANCE_WEIGHTS"]]],[10,[6,"d.vec4f",[[7,"target","xyz"],[1,[7,"target","w"],"*",[1,[5,"1"],"-","lum"]]]]]]]},externals:{"std.dot":()=>se,LUMINANCE_WEIGHTS:()=>K_,"d.vec4f":()=>x}})&&e.f)({}))},OR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return f(t.x,t.y,t.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),VR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return $(t.div(t.add(1)),f(0),f(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,"std.clamp",[[6,[7,"color","div"],[[6,[7,"color","add"],[[5,"1"]]]]],[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]]]},externals:{"std.clamp":()=>$,"d.vec3f":()=>f}})&&e.f)({})),NR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=b(t.sub(.004),f(0)),r=s.mul(s.mul(6.2).add(.5)),o=s.mul(s.mul(6.2).add(1.7)).add(.06);return Ce(r.div(o),f(2.2))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"c",[6,"std.max",[[6,[7,"color","sub"],[[5,"0.004"]]],[6,"d.vec3f",[[5,"0"]]]]]],[13,"a",[6,[7,"c","mul"],[[6,[7,[6,[7,"c","mul"],[[5,"6.2"]]],"add"],[[5,"0.5"]]]]]],[13,"b",[6,[7,[6,[7,"c","mul"],[[6,[7,[6,[7,"c","mul"],[[5,"6.2"]]],"add"],[[5,"1.7"]]]]],"add"],[[5,"0.06"]]]],[10,[6,"std.pow",[[6,[7,"a","div"],["b"]],[6,"d.vec3f",[[5,"2.2"]]]]]]]]},externals:{"std.max":()=>b,"d.vec3f":()=>f,"std.pow":()=>Ce}})&&e.f)({})),a3=ud(.59719,.076,.0284,.35458,.90834,.13383,.04823,.01566,.83777),i3=ud(1.60475,-.10208,-.00327,-.53108,1.10813,-.07276,-.07367,-.00605,1.07602),d3=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.mul(t.add(.0245786)).sub(90537e-9),r=t.mul(t.add(.432951).mul(.983729)).add(.238081);return s.div(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[13,"a",[6,[7,[6,[7,"v","mul"],[[6,[7,"v","add"],[[5,"0.0245786"]]]]],"sub"],[[5,"0.000090537"]]]],[13,"b",[6,[7,[6,[7,"v","mul"],[[6,[7,[6,[7,"v","add"],[[5,"0.432951"]]],"mul"],[[5,"0.983729"]]]]],"add"],[[5,"0.238081"]]]],[10,[6,[7,"a","div"],["b"]]]]]},externals:{}})&&e.f)({})),qR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.div(.6);return s=a3.mul(s),s=d3(s),s=i3.mul(s),$(s,f(0),f(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[12,"c",[6,[7,"color","div"],[[5,"0.6"]]]],[2,"c","=",[6,"ACES_INPUT.mul",["c"]]],[2,"c","=",[6,"rrtAndODTFit",["c"]]],[2,"c","=",[6,"ACES_OUTPUT.mul",["c"]]],[10,[6,"std.clamp",["c",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]]]},externals:{"ACES_INPUT.mul":()=>a3.mul,rrtAndODTFit:()=>d3,"ACES_OUTPUT.mul":()=>i3.mul,"std.clamp":()=>$,"d.vec3f":()=>f}})&&e.f)({})),c3=ud(.6274,.0691,.0164,.3293,.9195,.088,.0433,.0113,.8956),_3=ud(1.6605,-.1246,-.0182,-.5876,1.1329,-.1006,-.0728,-.0083,1.1187),l3=ud(.856627153315983,.137318972929847,.11189821299995,.0951212405381588,.761241990602591,.0767994186031903,.0482516061458583,.101439036467562,.811302368396859),u3=ud(1.1271005818144368,-.1413297634984383,-.14132976349843826,-.11060664309660323,1.157823702216272,-.11060664309660294,-.016493938717834573,-.016493938717834257,1.2519364065950405),$m=-12.47393,m3=4.026069,p3=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.mul(t),r=s.mul(s);return r.mul(s).mul(15.5).sub(r.mul(t).mul(40.14)).add(r.mul(31.96).sub(s.mul(t).mul(6.868)).add(s.mul(.4298).add(t.mul(.1191).sub(.00232))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"}],body:[0,[[13,"x2",[6,[7,"x","mul"],["x"]]],[13,"x4",[6,[7,"x2","mul"],["x2"]]],[10,[6,[7,[6,[7,[6,[7,[6,[7,"x4","mul"],["x2"]],"mul"],[[5,"15.5"]]],"sub"],[[6,[7,[6,[7,"x4","mul"],["x"]],"mul"],[[5,"40.14"]]]]],"add"],[[6,[7,[6,[7,[6,[7,"x4","mul"],[[5,"31.96"]]],"sub"],[[6,[7,[6,[7,"x2","mul"],["x"]],"mul"],[[5,"6.868"]]]]],"add"],[[6,[7,[6,[7,"x2","mul"],[[5,"0.4298"]]],"add"],[[6,[7,[6,[7,"x","mul"],[[5,"0.1191"]]],"sub"],[[5,"0.00232"]]]]]]]]]]]]},externals:{}})&&e.f)({})),XR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=c3.mul(t);return s=l3.mul(s),s=b(s,f(1e-10)),s=gp(s),s=s.sub($m).div(__tsover_sub(m3,$m)),s=$(s,f(0),f(1)),s=p3(s),s=u3.mul(s),s=Ce(b(s,f(0)),f(2.2)),s=_3.mul(s),$(s,f(0),f(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[12,"c",[6,"LINEAR_SRGB_TO_LINEAR_REC2020.mul",["color"]]],[2,"c","=",[6,"AGX_INSET.mul",["c"]]],[2,"c","=",[6,"std.max",["c",[6,"d.vec3f",[[5,"1e-10"]]]]]],[2,"c","=",[6,"std.log2",["c"]]],[2,"c","=",[6,[7,[6,[7,"c","sub"],["AGX_MIN_EV"]],"div"],[[1,"AGX_MAX_EV","-","AGX_MIN_EV"]]]],[2,"c","=",[6,"std.clamp",["c",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]],[2,"c","=",[6,"agxContrastApprox",["c"]]],[2,"c","=",[6,"AGX_OUTSET.mul",["c"]]],[2,"c","=",[6,"std.pow",[[6,"std.max",["c",[6,"d.vec3f",[[5,"0"]]]]],[6,"d.vec3f",[[5,"2.2"]]]]]],[2,"c","=",[6,"LINEAR_REC2020_TO_LINEAR_SRGB.mul",["c"]]],[10,[6,"std.clamp",["c",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]]]},externals:{"LINEAR_SRGB_TO_LINEAR_REC2020.mul":()=>c3.mul,"AGX_INSET.mul":()=>l3.mul,"std.max":()=>b,"d.vec3f":()=>f,"std.log2":()=>gp,AGX_MIN_EV:()=>$m,AGX_MAX_EV:()=>m3,"std.clamp":()=>$,agxContrastApprox:()=>p3,"AGX_OUTSET.mul":()=>u3.mul,"std.pow":()=>Ce,"LINEAR_REC2020_TO_LINEAR_SRGB.mul":()=>_3.mul}})&&e.f)({})),Z_=.76,f3=.15,a7=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=oe(t.x,oe(t.y,t.z)),r=C(.04,__tsover_sub(s,__tsover_mul(__tsover_mul(6.25,s),s)),s<.08),o=t.sub(r),n=b(o.x,b(o.y,o.z));if(noe,"std.select":()=>C,"std.max":()=>b,NEUTRAL_START_COMPRESSION:()=>Z_,NEUTRAL_DESATURATION:()=>f3,"std.mix":()=>X,"d.vec3f":()=>f}})&&e.f)({})),v3={linear:OR,reinhard:VR,cineon:NR,aces:qR,agx:XR,neutral:a7,hable:v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.mul(16),r=s.mul(s.mul(.15).add(.05)).add(.004),o=s.mul(s.mul(.15).add(.5)).add(.06);return r.div(o).sub(__tsover_div(.02,.3))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"x",[6,[7,"color","mul"],[[5,"16"]]]],[13,"num",[6,[7,[6,[7,"x","mul"],[[6,[7,[6,[7,"x","mul"],[[5,"0.15"]]],"add"],[[5,"0.05"]]]]],"add"],[[5,"0.004"]]]],[13,"den",[6,[7,[6,[7,"x","mul"],[[6,[7,[6,[7,"x","mul"],[[5,"0.15"]]],"add"],[[5,"0.5"]]]]],"add"],[[5,"0.06"]]]],[10,[6,[7,[6,[7,"num","div"],["den"]],"sub"],[[1,[5,"0.02"],"/",[5,"0.3"]]]]]]]},externals:{}})&&e.f)({})),unreal:v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return t.div(t.add(.155)).mul(1.019)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,[7,[6,[7,"color","div"],[[6,[7,"color","add"],[[5,"0.155"]]]]],"mul"],[[5,"1.019"]]]]]]},externals:{}})&&e.f)({}))},HR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return C(Ce(t,f(.41666)).mul(1.055).sub(.055),t.mul(12.92),wc(t,f(.0031308)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"a",[6,[7,[6,[7,[6,"std.pow",["color",[6,"d.vec3f",[[5,"0.41666"]]]]],"mul"],[[5,"1.055"]]],"sub"],[[5,"0.055"]]]],[13,"b",[6,[7,"color","mul"],[[5,"12.92"]]]],[13,"factor",[6,"std.le",["color",[6,"d.vec3f",[[5,"0.0031308"]]]]]],[10,[6,"std.select",["a","b","factor"]]]]]},externals:{"std.pow":()=>Ce,"d.vec3f":()=>f,"std.le":()=>wc,"std.select":()=>C}})&&e.f)({})),y3=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return C(Ce(t.add(f(.055)).div(f(1.055)),f(2.4)),t.div(f(12.92)),wc(t,f(.04045)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"hi",[6,"std.pow",[[6,[7,[6,[7,"color","add"],[[6,"d.vec3f",[[5,"0.055"]]]]],"div"],[[6,"d.vec3f",[[5,"1.055"]]]]],[6,"d.vec3f",[[5,"2.4"]]]]]],[13,"lo",[6,[7,"color","div"],[[6,"d.vec3f",[[5,"12.92"]]]]]],[13,"isLow",[6,"std.le",["color",[6,"d.vec3f",[[5,"0.04045"]]]]]],[10,[6,"std.select",["hi","lo","isLow"]]]]]},externals:{"std.pow":()=>Ce,"d.vec3f":()=>f,"std.le":()=>wc,"std.select":()=>C}})&&e.f)({})),Tn=e=>e?e.offsetX!==0||e.offsetY!==0||e.rotation!==0||e.scale!==1||e.anchorX!==.5||e.anchorY!==.5:!1,jR=v.fn([l,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_div(__tsover_mul(o,Math.PI),180),u=H(_),m=Y(_),p=__tsover_div(__tsover_sub(t.x,i),n),y=__tsover_div(__tsover_sub(t.y,d),n),h=__tsover_mul(p,c),g=y,w=__tsover_sub(__tsover_mul(h,u),__tsover_mul(g,m)),S=__tsover_add(__tsover_mul(h,m),__tsover_mul(g,u));return l(__tsover_add(__tsover_sub(__tsover_div(w,c),s),i),__tsover_add(__tsover_sub(S,r),d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"offsetX"},{type:"i",name:"offsetY"},{type:"i",name:"rotation"},{type:"i",name:"scale"},{type:"i",name:"anchorX"},{type:"i",name:"anchorY"},{type:"i",name:"aspectRatio"}],body:[0,[[13,"rotationRad",[1,[1,"rotation","*","Math.PI"],"/",[5,"180"]]],[13,"cosAngle",[6,"std.cos",["rotationRad"]]],[13,"sinAngle",[6,"std.sin",["rotationRad"]]],[13,"centeredX",[1,[1,[7,"uv","x"],"-","anchorX"],"/","scale"]],[13,"centeredY",[1,[1,[7,"uv","y"],"-","anchorY"],"/","scale"]],[13,"squareX",[1,"centeredX","*","aspectRatio"]],[13,"squareY","centeredY"],[13,"rotatedSquareX",[1,[1,"squareX","*","cosAngle"],"-",[1,"squareY","*","sinAngle"]]],[13,"rotatedSquareY",[1,[1,"squareX","*","sinAngle"],"+",[1,"squareY","*","cosAngle"]]],[13,"finalX",[1,[1,[1,"rotatedSquareX","/","aspectRatio"],"-","offsetX"],"+","anchorX"]],[13,"finalY",[1,[1,"rotatedSquareY","-","offsetY"],"+","anchorY"]],[10,[6,"d.vec2f",["finalX","finalY"]]]]]},externals:{"Math.PI":()=>Math.PI,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({}));v.fn([l,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_add(__tsover_sub(t.x,i),s),u=__tsover_add(__tsover_sub(t.y,d),r),m=__tsover_mul(_,c),p=u,y=-__tsover_div(__tsover_mul(o,Math.PI),180),h=H(y),g=Y(y),w=__tsover_sub(__tsover_mul(m,h),__tsover_mul(p,g)),S=__tsover_add(__tsover_mul(m,g),__tsover_mul(p,h)),T=__tsover_mul(__tsover_div(w,c),n),A=__tsover_mul(S,n);return l(__tsover_add(T,i),__tsover_add(A,d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"offsetX"},{type:"i",name:"offsetY"},{type:"i",name:"rotation"},{type:"i",name:"scale"},{type:"i",name:"anchorX"},{type:"i",name:"anchorY"},{type:"i",name:"aspectRatio"}],body:[0,[[13,"centeredX",[1,[1,[7,"uv","x"],"-","anchorX"],"+","offsetX"]],[13,"centeredY",[1,[1,[7,"uv","y"],"-","anchorY"],"+","offsetY"]],[13,"squareX",[1,"centeredX","*","aspectRatio"]],[13,"squareY","centeredY"],[13,"rotationRad",[4,"-",[1,[1,"rotation","*","Math.PI"],"/",[5,"180"]]]],[13,"cosAngle",[6,"std.cos",["rotationRad"]]],[13,"sinAngle",[6,"std.sin",["rotationRad"]]],[13,"rotatedSquareX",[1,[1,"squareX","*","cosAngle"],"-",[1,"squareY","*","sinAngle"]]],[13,"rotatedSquareY",[1,[1,"squareX","*","sinAngle"],"+",[1,"squareY","*","cosAngle"]]],[13,"scaledX",[1,[1,"rotatedSquareX","/","aspectRatio"],"*","scale"]],[13,"scaledY",[1,"rotatedSquareY","*","scale"]],[10,[6,"d.vec2f",[[1,"scaledX","+","anchorX"],[1,"scaledY","+","anchorY"]]]]]]},externals:{"Math.PI":()=>Math.PI,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({}));var Ov=(e,t,s)=>{let r=T=>T.unit==="px"?T.value/t:T.value,o=T=>T.unit==="px"?T.value/s:T.value,n=r(e.x),i=o(e.y),d=r(e.width),c=o(e.height),_=(T,A,P)=>P==="end"?1-T-A:P==="center"?.5+T-A/2:T,u=e.origin??"top-left",m=u.includes("left")?"start":u.includes("right")?"end":"center",p=u.includes("top")?"start":u.includes("bottom")?"end":"center",y=_(n,d,m),h=_(i,c,p),g=y+d/2,w=h+c/2,S=e.cornerRadius?e.cornerRadius.unit==="px"?e.cornerRadius.value/s:e.cornerRadius.value:0;return{centerX:g,centerY:w,halfWidthUV:d/2,halfHeightUV:c/2,cornerRadiusUV:S,rotation:e.rotation}},KR=v.fn([l,a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=__tsover_sub(t.x,s),m=__tsover_sub(t.y,r),p=-__tsover_div(__tsover_mul(d,Math.PI),180),y=H(p),h=Y(p),g=__tsover_mul(u,c),w=m,S=__tsover_sub(__tsover_mul(g,y),__tsover_mul(w,h)),T=__tsover_add(__tsover_mul(g,h),__tsover_mul(w,y)),A=__tsover_mul(o,c),P=n,U=__tsover_sub(A,i),D=__tsover_sub(P,i),O=__tsover_sub(z(S),U),L=__tsover_sub(z(T),D),G=l(b(O,0),b(L,0)),W=__tsover_sub(__tsover_add(j(G),oe(b(O,L),0)),i),K=b(_,1e-7);return C(__tsover_sub(1,re(-K,K,W)),C(a(0),a(1),W<=0),_<=0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"centerX"},{type:"i",name:"centerY"},{type:"i",name:"halfWidth"},{type:"i",name:"halfHeight"},{type:"i",name:"cornerRadius"},{type:"i",name:"rotation"},{type:"i",name:"aspectRatio"},{type:"i",name:"aaFeather"}],body:[0,[[13,"centeredX",[1,[7,"uv","x"],"-","centerX"]],[13,"centeredY",[1,[7,"uv","y"],"-","centerY"]],[13,"rotRad",[4,"-",[1,[1,"rotation","*","Math.PI"],"/",[5,"180"]]]],[13,"cosA",[6,"std.cos",["rotRad"]]],[13,"sinA",[6,"std.sin",["rotRad"]]],[13,"sqX",[1,"centeredX","*","aspectRatio"]],[13,"sqY","centeredY"],[13,"rotatedX",[1,[1,"sqX","*","cosA"],"-",[1,"sqY","*","sinA"]]],[13,"rotatedY",[1,[1,"sqX","*","sinA"],"+",[1,"sqY","*","cosA"]]],[13,"halfWidthSq",[1,"halfWidth","*","aspectRatio"]],[13,"halfHeightSq","halfHeight"],[13,"innerHalfW",[1,"halfWidthSq","-","cornerRadius"]],[13,"innerHalfH",[1,"halfHeightSq","-","cornerRadius"]],[13,"qx",[1,[6,"std.abs",["rotatedX"]],"-","innerHalfW"]],[13,"qy",[1,[6,"std.abs",["rotatedY"]],"-","innerHalfH"]],[13,"qClamped",[6,"d.vec2f",[[6,"std.max",["qx",[5,"0"]]],[6,"std.max",["qy",[5,"0"]]]]]],[13,"sdf",[1,[1,[6,"std.length",["qClamped"]],"+",[6,"std.min",[[6,"std.max",["qx","qy"]],[5,"0"]]]],"-","cornerRadius"]],[13,"feather",[6,"std.max",["aaFeather",[5,"1e-7"]]]],[13,"ramp",[1,[5,"1"],"-",[6,"std.smoothstep",[[4,"-","feather"],"feather","sdf"]]]],[13,"binary",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"sdf","<=",[5,"0"]]]]],[10,[6,"std.select",["ramp","binary",[1,"aaFeather","<=",[5,"0"]]]]]]]},externals:{"Math.PI":()=>Math.PI,"std.cos":()=>H,"std.sin":()=>Y,"std.abs":()=>z,"d.vec2f":()=>l,"std.max":()=>b,"std.length":()=>j,"std.min":()=>oe,"std.smoothstep":()=>re,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})),h3=v.fn([l,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_sub(t.x,s),_=__tsover_sub(t.y,r),u=-__tsover_div(__tsover_mul(i,Math.PI),180),m=H(u),p=Y(u),y=__tsover_mul(c,d),h=_,g=__tsover_sub(__tsover_mul(y,m),__tsover_mul(h,p)),w=__tsover_add(__tsover_mul(y,p),__tsover_mul(h,m)),S=b(__tsover_mul(o,d),1e-6),T=b(n,1e-6);return l(__tsover_add(__tsover_div(g,__tsover_mul(S,2)),.5),__tsover_add(__tsover_div(w,__tsover_mul(T,2)),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"centerX"},{type:"i",name:"centerY"},{type:"i",name:"halfWidth"},{type:"i",name:"halfHeight"},{type:"i",name:"rotation"},{type:"i",name:"aspectRatio"}],body:[0,[[13,"centeredX",[1,[7,"uv","x"],"-","centerX"]],[13,"centeredY",[1,[7,"uv","y"],"-","centerY"]],[13,"rotRad",[4,"-",[1,[1,"rotation","*","Math.PI"],"/",[5,"180"]]]],[13,"cosA",[6,"std.cos",["rotRad"]]],[13,"sinA",[6,"std.sin",["rotRad"]]],[13,"sqX",[1,"centeredX","*","aspectRatio"]],[13,"sqY","centeredY"],[13,"rotatedX",[1,[1,"sqX","*","cosA"],"-",[1,"sqY","*","sinA"]]],[13,"rotatedY",[1,[1,"sqX","*","sinA"],"+",[1,"sqY","*","cosA"]]],[13,"halfWidthSq",[6,"std.max",[[1,"halfWidth","*","aspectRatio"],[5,"0.000001"]]]],[13,"halfHeightSq",[6,"std.max",["halfHeight",[5,"0.000001"]]]],[13,"localX",[1,[1,"rotatedX","/",[1,"halfWidthSq","*",[5,"2"]]],"+",[5,"0.5"]]],[13,"localY",[1,[1,"rotatedY","/",[1,"halfHeightSq","*",[5,"2"]]],"+",[5,"0.5"]]],[10,[6,"d.vec2f",["localX","localY"]]]]]},externals:{"Math.PI":()=>Math.PI,"std.cos":()=>H,"std.sin":()=>Y,"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),i7=(e,t,s)=>{let r=s.rotationDeg*Math.PI/180,o=Math.cos(r),n=Math.sin(r),i=(e-s.centerX)*s.aspectRatio,d=t-s.centerY,c=i*o+d*n,_=i*-n+d*o,u=Math.max(s.halfWidthUV*s.aspectRatio,1e-6),m=Math.max(s.halfHeightUV,1e-6);return{x:c/(2*u)+.5,y:_/(2*m)+.5}},sc={x:{value:0,unit:"uv"},y:{value:0,unit:"uv"},width:{value:1,unit:"uv"},height:{value:1,unit:"uv"},origin:"top-left",rotation:0};function Vv(e){if(!e||typeof e!="object")return;let t=(s,r)=>s&&typeof s=="object"?{value:s.value??r.value,unit:s.unit??r.unit}:{...r};return{x:t(e.x,sc.x),y:t(e.y,sc.y),width:t(e.width,sc.width),height:t(e.height,sc.height),origin:e.origin??"top-left",rotation:e.rotation??0,...e.cornerRadius?{cornerRadius:e.cornerRadius}:{},...e.lockAspect!==void 0?{lockAspect:e.lockAspect}:{}}}function r1(e){if(!e||typeof e!="object")return!1;let t=(s,r)=>!!s&&s.unit==="uv"&&s.value===r;return t(e.x,0)&&t(e.y,0)&&t(e.width,1)&&t(e.height,1)&&(e.rotation??0)===0&&(e.cornerRadius?.value??0)===0}var Kt=class fl{_emit;constructor(t){this._emit=t}member(t){return new fl(s=>`${ZR(this._emit(s))}.${t}`)}mul(t){return new fl(s=>`(${this._emit(s)} * ${x3(t,s)})`)}add(t){return new fl(s=>`(${this._emit(s)} + ${x3(t,s)})`)}};function ZR(e){return/^[\w.$]+$/.test(e)?e:`(${e})`}function x3(e,t){return typeof e=="number"?o1(e):e._emit(t)}function o1(e){return Number.isFinite(e)?Number.isInteger(e)?`${e}.0`:`${e}`:e>0?"3.4e38":e<0?"-3.4e38":"0.0"}var Nv=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({linearClamp:{sampler:"filtering"},nearestClamp:{sampler:"filtering"},linearRepeat:{sampler:"filtering"},nearestRepeat:{sampler:"filtering"}}).$idx(2),"SHARED_SAMPLER_LAYOUT"),rc={uniforms:0,textures:1,samplers:2,external:3};function vd(e){return new Kt(()=>e)}function vt(e){return new Kt(()=>o1(e))}function we(e,t,s){return new Kt(r=>`${r.external(e,t)}(${s.map(o=>o._emit(r)).join(", ")})`)}function Ws(...e){return new Kt(t=>`vec4f(${e.map(s=>d7(s,t)).join(", ")})`)}function oc(e,t,s){return new Kt(r=>`mix(${e._emit(r)}, ${t._emit(r)}, ${d7(s,r)})`)}var QR=0;function ur(e,t){let s=QR++;return new Kt(r=>r.memo(`local:${s}`,()=>{let o=r.freshLocal(t);return r.statement(`let ${o} = ${e._emit(r)};`),o}))}var xr=vd("vec4f(0.0, 0.0, 0.0, 0.0)"),Um=vd("vec4f(1.0, 1.0, 1.0, 0.0)");function d7(e,t){return typeof e=="number"?o1(e):e._emit(t)}function Hn(e,t,s,r){return we(o3[s]??o3.normal,`blend_${Ql(s)}`,[e,t,r])}function JR(e,t,s){return we(n3[s]??n3.alpha,`mask_${Ql(s)}`,[e,t])}function Ql(e){return e.replace(/[^a-zA-Z0-9_]/g,"_")}function g3(e,t,s,r){let o={},n=new Map,i=new Set,d=[],c=new Map,_=0,u={external(g,w){let S=n.get(g);if(S)return S;let T=Ql(w);if(i.has(T)){let A=1;for(;i.has(`${T}_${A}`);)A++;T=`${T}_${A}`}return i.add(T),n.set(g,T),o[T]=g,T},statement(g){d.push(g)},freshLocal(g){return`${Ql(g)}_${_++}`},memo(g,w){let S=c.get(g);if(S!==void 0)return S;let T=w();return c.set(g,T),T}},m=s?"vec2f(in.uv.x, 1.0 - in.uv.y)":"in.uv";d.push(`var uv = ${m};`);let p=e._emit(u),y=t(p,u),h=`${d.join(` +`)} +${p} +${y}`;return r&&/\b(?:tex|samp|ext)\.\$\./.test(h)&&!/\buni\.\$\./.test(h)&&(u.external(r,"uni"),d.unshift("_ = uni.$.uniforms._sys.time;")),{body:`{ + ${d.join(` + `)} + return ${y}; +}`,externals:o}}function c7(e,t={}){let s={sampler:Nv},r=[],o=[],n=[],i=[],d=new Set,c=[],_=[],u=[],m=[],p=0,y=0,h=0,g=0,w=new Set,S=e.store.layout;S&&S.$idx(rc.uniforms),s.uniform=S;let T=F=>new Kt(le=>(S&&le.external(S,"uni"),F)),A=F=>T(`uni.$.uniforms.${F}`),P=F=>T(e.store.gpuAccessor(F,"uni")),U={uv:new Kt(()=>"uv"),time:A("_sys.time"),viewportSize:A("_sys.viewportSize"),logicalViewportSize:A("_sys.logicalViewportSize"),aspect:A("_sys.aspect"),pointer:A("_sys.pointer")},D=F=>({key:F,sample:(le,ae="linearClamp")=>new Kt(ne=>`textureSample(tex.$.${F}, samp.$.${ae}, ${le._emit(ne)})`),sampleLevel:(le,ae="linearClamp")=>new Kt(ne=>`textureSampleLevel(tex.$.${F}, samp.$.${ae}, ${le._emit(ne)}, 0.0)`),accessor:()=>new Kt(()=>`tex.$.${F}`),dimensions:()=>new Kt(()=>`vec2f(textureDimensions(tex.$.${F}))`)}),O=F=>({key:F,sample:(le,ae="linearClamp")=>new Kt(ne=>`textureSampleBaseClampToEdge(ext.$.${F}, samp.$.${ae}, ${le._emit(ne)})`),sampleLevel:(le,ae="linearClamp")=>new Kt(ne=>`textureSampleBaseClampToEdge(ext.$.${F}, samp.$.${ae}, ${le._emit(ne)})`),accessor:()=>new Kt(()=>`ext.$.${F}`),dimensions:()=>new Kt(()=>`vec2f(textureDimensions(ext.$.${F}))`)}),L=F=>{let le=`rtt_${p++}`;return r.push({key:le,root:F}),o.push({key:le,kind:"rtt"}),D(le)},G=new Map,W=(F,le,ae)=>{let ne=`${F.id}:${le}`,ie=G.get(ne);if(ie!==void 0)return ie;let ge=ae?e.resolveCustomId(ae):null,Ye=ge?L(bs(ge,new Set([F.id]))):null;return G.set(ne,Ye),Ye},K=new Map,Q=F=>{let le=K.get(F.id);if(le)return le;let ae={},ne=F.metadata.maps;if(ne){let ie={},ge=F.definition.mapSampleUVs;if(ge){let Ye={};for(let[Je,rt]of Object.entries(F.handles))rt.cpu||(Ye[Je]=P(rt));ie=ge({uniforms:Ye,ctx:U})??{}}for(let[Ye,Je]of Object.entries(ne)){if(!(Ye in F.handles))continue;let rt=Ee(Je,F,Ye,ie[Ye]);rt&&(ae[Ye]=rt)}}return K.set(F.id,ae),ae},te=F=>{let le=Lo(F.id),ae=F.metadata.maps;if(!ae||Object.keys(ae).length===0)return A(le);let ne=Q(F);return Object.keys(ne).length===0?A(le):new Kt(ie=>ie.memo(`props:${F.id}`,()=>{S&&ie.external(S,"uni");let ge=ie.freshLocal(`p_${le}`);ie.statement(`var ${ge} = uni.$.uniforms.${le};`);for(let[Ye,Je]of Object.entries(ne))ie.statement(`${ge}.${Ye} = ${Je._emit(ie)};`);return ge}))},ee=F=>{let le={};for(let[ae,ne]of Object.entries(F.handles))le[ae]=ne.value;return le},he=F=>{let le={};Lo(F.id);let ae=te(F);for(let[ie,ge]of Object.entries(F.handles)){if(ge.cpu)continue;let Ye=F.metadata.maps;Ye&&ie in Ye?le[ie]=ae.member(ie):le[ie]=P(ge)}let ne=F.definition.extraFields;if(ne)for(let ie of Object.keys(ne))le[ie]=ae.member(ie);return le},Ee=(F,le,ae,ne)=>{let ie=F,ge=Lo(le.id);if(ie.type==="map"){let Ye=W(le,ae,ie.source);return Ye?sz(tz(Ye.sample(ne??U.uv),ie.channel??"luminance"),A(`${ge}._map_${ae}_inputMin`),A(`${ge}._map_${ae}_inputMax`),A(`${ge}._map_${ae}_outputMin`),A(`${ge}._map_${ae}_outputMax`),A(`${ge}._map_${ae}_curve`)):null}return ie.type==="mouse-position"||ie.type==="mouse"||ie.type==="auto-animate"?A(`${ge}._smoothed_${ae}`):null},Te=(F,le,ae,ne)=>{let ie=le.metadata.mask;if(!ie?.source)return F;let ge=e.resolveCustomId(ie.source);if(!ge)return F;if(ae.has(ge))return console.error("[gpu] circular dependency in shader masks."),F;let Ye=new Set(ae);Ye.add(le.id);let Je=bs(ge,Ye);return ne&&(Je=L(Je).sample(ne)),JR(F,Je,ie.type??"alpha")},Ue=F=>A(`${Lo(F.id)}._opacity`),Me=F=>!!F.metadata.boundingBox&&!!F.definition.boundingBoxDeclaration&&!r1(F.metadata.boundingBox),Pe=F=>F.handles.cutout?.value===1,Re=F=>!!F.definition.requiresChild,de=F=>!!F.definition.blendWithChildren,je=F=>Me(F)&&!F.definition.boundingBoxDeclaration?.boxResamplesContent&&Re(F)&&F.metadata.blendMode==="normal"&&!Pe(F)&&!de(F),fe=()=>new Kt(F=>`(0.5 / max(${U.viewportSize.member("y")._emit(F)}, 1.0))`),Ke=(F,le=U.uv)=>{let ae=Lo(F.id),ne=ie=>A(`${ae}._bbox_${ie}`);return we(KR,"bboxClipMask",[le,ne("centerX"),ne("centerY"),ne("halfWidth"),ne("halfHeight"),ne("cornerRadius"),ne("rotation"),ne("aspectRatio"),fe()])},Ze=(F,le)=>{if(!Me(le))return F;if(le.definition.boundingBoxDeclaration?.boxResamplesContent){let ne=Lo(le.id),ie=rt=>A(`${ne}._bbox_${rt}`),ge=L(F),Ye=we(h3,"bboxGenUVContext",[U.uv,ie("centerX"),ie("centerY"),ie("halfWidth"),ie("halfHeight"),ie("rotation"),ie("aspectRatio")]),Je=we(dn,"unpremultiplyAlpha",[ge.sample(Ye)]);return Ws(Je.member("rgb"),Je.member("a").mul(Ke(le)))}let ae=Ke(le);return Ws(F.member("rgb"),F.member("a").mul(ae))},at=(F,le)=>{let ae=le.metadata.transform;if(!ae||!Tn(ae))return F;let ne=Lo(le.id),ie=L(F),ge=Ye=>A(`${ne}._xform_${Ye}`);return Gi(we(jR,"applyUVTransform",[U.uv,ge("offsetX"),ge("offsetY"),ge("rotation"),ge("scale"),ge("anchorX"),ge("anchorY"),ge("aspectRatio")]),Ye=>ie.sample(Ye),rz[ae.edges]??0)},Fe=(F,le,ae)=>Me(ae)?le!==void 0&&je(ae)?oc(le,F,Ke(ae)):Ze(F,ae):at(F,ae),Ie=(F,le)=>je(le)?{transformedFragment:F,clipMaskNode:Ke(le)}:{transformedFragment:Me(le)?Ze(F,le):at(F,le),clipMaskNode:void 0},st=(F,le,ae,ne)=>{let ie=Ue(ae),ge=de(ae)?F!==void 0?Hn(F,le,"normal",ie):oc(xr,le,ie):oc(F??xr,le,ie);return ne===void 0?ge:oc(F??xr,ge,ne)},Xe=(F,le)=>{if(F.definition.compute)try{let ae=F.definition.compute(le);if(ae)return i.push({nodeId:F.id,getComputeNodes:ae.getComputeNodes,bindInputs:ae.bindInputs}),ae.outputs}catch(ae){Is(`[gpu] error initializing compute for node ${F.id}:`,ae)}},We=F=>{let le=Lo(F.id),ae=ne=>A(`${le}._bbox_${ne}`);return{centerX:ae("centerX"),centerY:ae("centerY"),halfWidth:ae("halfWidth"),halfHeight:ae("halfHeight"),rotation:ae("rotation")}},Ve=F=>{let le=F.definition.boundingBoxDeclaration;return!!le&&(!!le.computeBounds||!!le.propBindings)},Ft=F=>{if(!F.definition.wantsBoundsParams)return{};let le={};Me(F)&&(le.ownBoundsParams=We(F));let ae=[...e.getChildren(F.id)].sort((ne,ie)=>ne.metadata.renderOrder-ie.metadata.renderOrder);for(let ne of ae)if(ne.metadata.visible!==!1){if(Me(ne)){le.childBoundsParams=We(ne);break}if(Ve(ne)){let ie=Lo(F.id),ge=Ye=>A(`${ie}._childBounds_${Ye}`);le.childBoundsParams={centerX:ge("centerX"),centerY:ge("centerY"),halfWidth:ge("halfWidth"),halfHeight:ge("halfHeight"),rotation:vt(0)};break}}return le},Gt=!1,os=(F,le,ae={})=>({noteCustomWgsl:()=>{Gt=!0},props:te(F),uniforms:he(F),propValues:ee(F),childNode:le,ctx:U,logicalViewportSize:U.logicalViewportSize,convertToTexture:L,declareTexture:ne=>{o.some(ie=>ie.key===ne.key)||o.push({key:ne.key,kind:"media",resource:ne._resource})},registerExternalTexture:ne=>{let ie=`video_${h++}`;return n.push({key:ie,getSource:ne}),O(ie)},registerComputeTexture:ne=>{let ie=`compute_${y++}`;o.push({key:ie,kind:"compute",resource:{texture:ne}});let ge=ne?.props?.format;return(ge==="r32float"||ge==="rg32float"||ge==="rgba32float")&&w.add(ie),D(ie)},createMediaTexture:ne=>t.createMediaTexture?.(ne)??(()=>{throw new Error("[gpu] createMediaTexture unavailable (no TextureManager injected)")})(),createDataTexture:ne=>t.createDataTexture?.(ne)??(()=>{throw new Error("[gpu] createDataTexture unavailable (no TextureManager injected)")})(),registerMediaTexture:ne=>{let ie=`media_${g++}`;return o.push({key:ie,kind:"media",resource:{get texture(){return ne()}}}),D(ie)},getCpuValue:ne=>{if((F.metadata.maps?.[ne]||ne.startsWith("_animTime"))&&t.resolveDriverCpuValue){let ie=t.resolveDriverCpuValue(F.id,ne);if(ie!==void 0)return ie}return F.handles[ne]?.value},getMapInfo:ne=>{let ie=F.metadata.maps?.[ne];if(!ie||ie.type!=="map")return null;let ge=W(F,ne,ie.source);return ge?{sourceTexture:ge,channel:ie.channel??"luminance",window:()=>t.resolveMapWindow?.(F.id,ne)??{inputMin:typeof ie.inputMin=="number"?ie.inputMin:0,inputMax:typeof ie.inputMax=="number"?ie.inputMax:1,outputMin:typeof ie.outputMin=="number"?ie.outputMin:0,outputMax:typeof ie.outputMax=="number"?ie.outputMax:1,curve:typeof ie.curve=="number"?ie.curve:0}}:null},getLayerTexture:ne=>{let ie=F.handles[ne]?.value;return typeof ie!="string"||ie===""?null:W(F,ne,ie)},setExtraField:(ne,ie)=>t.writeExtraField?.(F.id,ne,ie),onCleanup:ne=>m.push(ne),onBeforeRender:ne=>c.push(ne),onAfterRender:ne=>_.push(ne),onResize:ne=>u.push(ne),canvas:t.canvas,dimensions:t.dimensions??{width:1,height:1},gpu:t.gpu,domCanvas:F.domCanvas,...Ft(F),...ae});function bs(F,le=new Set){let ae=e.getNode(F);if(!ae)return xr;let ne=e.getChildren(F);if(ne.length>0&&ae.definition.providesUVContextViaCompute){let rt=Qr(ae,ne,le);if(rt!==null)return rt}if(ne.length>0&&ae.definition.uvRemap){let rt=zr(ae,ne);if(rt!==null)return rt;let He=Vo(ae,ne,le);if(He!==null)return He}if(ne.length===0){d.add(F);let rt=os(ae,void 0,{bboxMask:vs(ae),...As(ae)});rt.computeOutputs=Xe(ae,rt);let He=ae.definition.fragment(rt);return Te(Me(ae)?Ze(He,ae):at(He,ae),ae,le)}let ie=[...ne].sort((rt,He)=>rt.metadata.renderOrder-He.metadata.renderOrder),ge=Ps(ie,le);if(ge!==null){let rt=os(ae,ge,{bboxMask:vs(ae)});rt.computeOutputs=Xe(ae,rt);let He=ae.definition.fragment(rt);return Te(Me(ae)?Ze(He,ae):at(He,ae),ae,le)}let Ye=ls(ae,ie,le);d.add(F);let Je=os(ae,Ye,{bboxMask:vs(ae)});return Je.computeOutputs=Xe(ae,Je),Te(Fe(ae.definition.fragment(Je),Ye,ae),ae,le)}function ls(F,le,ae){let ne;for(let ie=0;ie0,Je,rt;if(Ye)Je=bs(ge.id,ae);else{let He=ne;ge.definition.requiresRTT&&ne!==void 0&&(He=Hn(xr,ne,"normal",vt(1))),ge.definition.acceptsOptionalChild&&(He=void 0);let Bt=os(ge,He,{bboxMask:vs(ge),...As(ge)});Bt.computeOutputs=Xe(ge,Bt);let Yt=Ie(ge.definition.fragment(Bt),ge);rt=Yt.clipMaskNode,Je=Te(Yt.transformedFragment,ge,ae)}if(ge.definition.requiresChild&&ge.metadata.blendMode==="normal"&&!Ye)ne=st(ne,Je,ge,rt);else{let He=ge.metadata.blendMode??"normal",Bt=ge.metadata.opacity??1;ne===void 0?ne=F.definition.requiresRTT||Bt!==1?Hn(Um,Je,He,Ue(ge)):Je:ne=Hn(ne,Je,He,Ue(ge))}}return ne}function As(F,le=U.uv){if(!Me(F))return{};if(!F.definition.boundingBoxDeclaration?.supportsResizeFit)return{};let ae=Lo(F.id),ne=ie=>A(`${ae}._bbox_${ie}`);return{uvContext:we(h3,"bboxGenUVContext",[le,ne("centerX"),ne("centerY"),ne("halfWidth"),ne("halfHeight"),ne("rotation"),ne("aspectRatio")]),effectiveViewportSize:Ws(ne("halfWidth").mul(2).mul(U.viewportSize.member("x")),ne("halfHeight").mul(2).mul(U.viewportSize.member("y")),0,0).member("xy")}}function vs(F){if(!(!Me(F)||!F.definition.requiresRTT)&&!F.definition.boundingBoxDeclaration?.supportsResizeFit)return Ke(F)}let ys=F=>!!F.metadata.mask||F.metadata.opacity!==void 0&&F.metadata.opacity<1||(F.metadata.blendMode??"normal")!=="normal"||Tn(F.metadata.transform)||Me(F),Ks=F=>!!F.definition.uvRemap&&e.getChildren(F.id).length===0&&!ys(F);function yr(F,le,ae){d.add(F.id);let ne=Xe(F,os(F,void 0));return F.definition.uvRemap({uv:le,mask:ae,uniforms:he(F),propValues:ee(F),props:te(F),aspect:U.aspect,onBeforeRender:ie=>c.push(ie),computeOutputs:ne})}function Ur(F){let le=U.uv,ae=vt(1);for(let ne=F.length-1;ne>=0;ne--){let ie=yr(F[ne],le,ae);le=ie.uv,ae=ie.mask}return{uv:le,mask:ae}}let Ms=24,Cr=vt(1),hr=(F,le)=>{if(le.left--<=0||F.metadata.mask||Tn(F.metadata.transform))return!1;let ae=e.getChildren(F.id).filter(ne=>ne.metadata.visible!==!1);return ae.length===0?Me(F)&&F.definition.boundingBoxDeclaration?.boxResamplesContent?!1:!!F.definition.acceptsUVContext&&!F.definition.requiresChild:!F.definition.uvRemap||Me(F)?!1:ae.every(ne=>hr(ne,le))};function mo(F,le,ae){let ne=ae??Cr,ie=yr(F,le,ne);return{uv:ie.uv,mask:ie.mask===ne?ae:ie.mask}}let po=(F,le)=>F===void 0?le:le===void 0?F:F.mul(le);function Rr(F,le,ae){let ne=e.getChildren(F.id).filter(He=>He.metadata.visible!==!1);if(ne.length>0){if(!F.definition.uvRemap)return null;let He=mo(F,le,ae);return nr(ne,ur(He.uv,"foldUV"),He.mask)}if(!F.definition.acceptsUVContext)return null;d.add(F.id);let ie=As(F,le),ge=os(F,void 0,Object.keys(ie).length>0?ie:{uvContext:le});ge.computeOutputs=Xe(F,ge);let Ye=F.definition.fragment(ge),Je=po(ae,Me(F)?Ke(F,le):void 0);if(Je===void 0)return Ye;let rt=ur(Ye,"gen");return Ws(rt.member("rgb"),rt.member("a").mul(Je))}function nr(F,le,ae){let ne=[...F].sort((Ye,Je)=>Ye.metadata.renderOrder-Je.metadata.renderOrder),ie;for(let Ye of ne){let Je=Rr(Ye,le,void 0);if(Je===null)return null;let rt=Ye.metadata.blendMode??"normal",He=Ye.metadata.opacity??1;ie===void 0?ie=rt==="normal"&&He===1?Je:Hn(Um,Je,rt,Ue(Ye)):ie=Hn(ie,Je,rt,Ue(Ye))}if(ie===void 0)return null;if(ae===void 0)return ie;let ge=ur(ie,"sibs");return Ws(ge.member("rgb"),ge.member("a").mul(ae))}function zr(F,le){if(!F.definition.uvRemap||ys(F))return null;let ae=le.filter(Ye=>Ye.metadata.visible!==!1);if(ae.length===0)return null;let ne={left:Ms};if(!ae.every(Ye=>hr(Ye,ne)))return null;d.add(F.id);let{uv:ie,mask:ge}=mo(F,U.uv,void 0);return nr(ae,ur(ie,"foldUV"),ge)}function Ps(F,le){let ae=F.filter(Yt=>Yt.metadata.visible!==!1);if(!ae.some(Yt=>!!Yt.definition.uvRemap)||ae.length<2)return null;let ne=ae.length;for(let Yt=ae.length-1;Yt>=0&&Ks(ae[Yt]);Yt--)ne=Yt;let ie=ae.slice(ne),ge=ae.slice(0,ne);if(ie.length===0||ge.length!==1)return null;let Ye=ge[0];if(!Ye.definition.acceptsUVContext||e.getChildren(Ye.id).length>0||ys(Ye))return null;d.add(Ye.id);for(let Yt of ie)d.add(Yt.id);let{uv:Je,mask:rt}=Ur(ie),He=os(Ye,void 0,{uvContext:Je});He.computeOutputs=Xe(Ye,He);let Bt=Ye.definition.fragment(He);return Ws(Bt.member("rgb"),Bt.member("a").mul(rt))}function Gr(F,le,ae,ne){if(!Ks(F[le]))return null;let ie=[],ge=le;for(let He=le;HeNo.metadata.visible!==!1);if(fo.length!==1)return null;let br=fo[0],Nt=e.getChildren(br.id);if(br.definition.acceptsUVContext&&Nt.length===0&&!ys(br)){Je=br;break}if(br.definition.uvRemap&&!ys(br)&&Nt.length===1){ge=br,Ye=Nt;continue}rt=br;break}if(!Je&&!rt)return null;for(let Ls of ie)d.add(Ls.id);let{uv:He,mask:Bt}=Ur([...ie].reverse()),Yt;if(Je){d.add(Je.id);let Ls=os(Je,void 0,{uvContext:He});Ls.computeOutputs=Xe(Je,Ls);let fo=Je.definition.fragment(Ls);Yt=Ws(fo.member("rgb"),fo.member("a").mul(Bt))}else{let Ls=L(Hn(Um,bs(rt.id,ae),rt.metadata.blendMode??"normal",Ue(rt))).sample(He);Yt=Ws(Ls.member("rgb"),Ls.member("a").mul(Bt))}return Te(Me(F)?Ze(Yt,F):at(Yt,F),F,ae)}function Qr(F,le,ae){let ne=Nt=>!!Nt.metadata.mask||Nt.metadata.opacity!==void 0&&Nt.metadata.opacity<1||(Nt.metadata.blendMode??"normal")!=="normal"||Tn(Nt.metadata.transform)||Me(Nt);if(!F.definition.providesUVContextViaCompute||ne(F))return null;let ie=[],ge=F,Ye=null,Je=le,rt=8;for(let Nt=0;Ntwa.metadata.visible!==!1);if(No.length!==1)return null;let Yr=No[0];if(ne(Yr))return null;let Ro=e.getChildren(Yr.id).length>0;if(Yr.definition.acceptsUVContext&&!Ro){Ye=Yr;break}if(Yr.definition.providesUVContextViaCompute){ge=Yr,Je=e.getChildren(Yr.id);continue}return null}if(!Ye)return null;d.add(Ye.id);for(let Nt of ie)d.add(Nt.id);let He=[],Bt;for(let Nt=0;Nt=0;Nt--)He[Nt].childNode=br,He[Nt].uvPropagationActive=!0,br=ie[Nt].definition.fragment(He[Nt]);return Te(Me(F)?Ze(br,F):at(br,F),F,ae)}let ci=e.rootId?bs(e.rootId):xr,ba=r.map(F=>{let{body:le,externals:ae}=g3(F.root,ne=>ne,t.flipY??!0,s.uniform);return{textureKey:F.key,fragment:b3(le,ae,`rtt_${F.key}`,s.sampler,w)}}),_i=t.toneMapping??"linear",li=g3(ci,(F,le)=>ez(F,le,_i,t.premultiplyAlpha??!1),t.flipY??!0,s.uniform);return{computeSteps:i,rttPasses:ba,finalPass:b3(li.body,li.externals,"final",s.sampler,w),textures:o,externalTextures:n,layouts:{uniforms:s.uniform,samplers:s.sampler},onBeforeRender:c,onAfterRender:_,onResize:u,onCleanup:m,composedNodeIds:d,usesCustomWgsl:Gt}}function ez(e,t,s,r){let o=t.external(v3[s]??v3.linear,`tone_${s}`),n=t.external(HR,"linearToSrgb"),i=t.freshLocal("composed");t.statement(`var ${i} = ${e};`);let d=`${n}(${o}(${i}.rgb))`;return r?`vec4f(${d} * ${i}.a, ${i}.a)`:`vec4f(${d}, ${i}.a)`}function b3(e,t,s,r,o=new Set){let n=w3(e,/\btex\.\$\.(\w+)/g),i=w3(e,/\bext\.\$\.(\w+)/g),d=/\bsamp\.\$\./.test(e),c;if(n.length>0){let u={};for(let m of n)u[m]=o.has(m)?{texture:ps(a),sampleType:"unfilterable-float"}:{texture:ps(a)};c=(globalThis.__TYPEGPU_AUTONAME__??(m=>m))(v.bindGroupLayout(u).$idx(rc.textures),"textureLayout"),t.tex=c}let _;if(i.length>0){let u={};for(let y of i)u[y]={externalTexture:s5()};let m=new Set([rc.uniforms]);n.length>0&&m.add(rc.textures),d&&m.add(rc.samplers);let p=0;for(;m.has(p);)p++;_=(globalThis.__TYPEGPU_AUTONAME__??(y=>y))(v.bindGroupLayout(u).$idx(p),"externalLayout"),t.ext=_}return d&&(t.samp=r),{body:e,externals:t,entry:v.fragmentFn({in:{uv:l},out:x})(e).$uses(t).$name(s),reads:n,externalReads:i,usesSamplers:d,textureLayout:c,externalLayout:_}}function w3(e,t){let s=new Set;for(let r of e.matchAll(t))s.add(r[1]);return[...s]}function tz(e,t){switch(t){case"alpha":return e.member("a");case"alphaInverted":return new Kt(s=>`(1.0 - ${e._emit(s)}.a)`);case"luminanceInverted":return new Kt(s=>`(1.0 - dot(${e._emit(s)}.rgb, vec3f(0.2126, 0.7152, 0.0722)))`);default:return new Kt(s=>`dot(${e._emit(s)}.rgb, vec3f(0.2126, 0.7152, 0.0722))`)}}function sz(e,t,s,r,o,n){return new Kt(i=>{let d=e._emit(i),c=t._emit(i),_=s._emit(i),u=r._emit(i),m=o._emit(i),p=n._emit(i);return`mix(${u}, ${m}, ${`pow(${`clamp((${d} - ${c}) / max(${_} - ${c}, 0.0001), 0.0, 1.0)`}, pow(2.0, -${p} * 2.0))`})`})}var rz={stretch:0,transparent:1,mirror:2,wrap:3};function _7(e,t={}){let s=[];s.push(`tone:${t.toneMapping??"linear"}`),s.push(`flipY:${t.flipY??!0}`),s.push(`premul:${t.premultiplyAlpha??!1}`);let r=o=>{let n=e.getNode(o);if(!n)return;let i=n.metadata,d=n.definition,c=Tn(i.transform),_=!!i.boundingBox&&!!d.boundingBoxDeclaration&&!r1(i.boundingBox),u=(i.opacity??1)===0?"zero":"nonzero",m=i.mask?`${i.mask.source}:${i.mask.type}`:"none",p=[];for(let[y,h]of Object.entries(d.props??{}))if(h.compileTime){let g=n.handles[y];p.push(`${y}=${g?String(g.value):"?"}`)}s.push([`id:${n.id}`,`parent:${n.parentId??""}`,`name:${n.componentName}`,`rev:${d.revision??""}`,`blend:${i.blendMode??"normal"}`,`mask:${m}`,`order:${i.renderOrder??0}`,`visible:${i.visible!==!1}`,`opacity:${u}`,`xform:${c}${c?`:${i.transform?.edges??"transparent"}`:""}`,`bbox:${_}:${_?d.boundingBoxDeclaration?.boxResamplesContent?"resample":d.boundingBoxDeclaration?.supportsResizeFit?"resize":"clip":""}`,`rtt:${!!d.requiresRTT}`,`maps:${i.maps?Object.keys(i.maps).sort().join(","):""}`,`ct:${p.sort().join("|")}`].join("|"));for(let y of e.getChildren(o).sort((h,g)=>h.metadata.renderOrder-g.metadata.renderOrder))r(y.id)};return e.rootId&&r(e.rootId),s}var oz=v.fn([a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(t,s),o=__tsover_add(q(__tsover_sub(r,.5)),.5),n=__tsover_sub(r,o),i=__tsover_add(1,__tsover_mul(__tsover_mul(n,n),__tsover_add(-2.5,__tsover_mul(1.5,n)))),d=__tsover_mul(n,__tsover_add(.5,__tsover_mul(n,__tsover_sub(2,__tsover_mul(1.5,n))))),c=b(__tsover_add(i,d),1e-6),_=__tsover_div(d,c);return f(__tsover_div(__tsover_sub(o,1),s),__tsover_div(__tsover_add(o,_),s),__tsover_div(__tsover_add(o,2),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"texSize"}],body:[0,[[13,"samplePos",[1,"uv","*","texSize"]],[13,"texPos1",[1,[6,"std.floor",[[1,"samplePos","-",[5,"0.5"]]]],"+",[5,"0.5"]]],[13,"f",[1,"samplePos","-","texPos1"]],[13,"w1",[1,[5,"1"],"+",[1,[1,"f","*","f"],"*",[1,[4,"-",[5,"2.5"]],"+",[1,[5,"1.5"],"*","f"]]]]],[13,"w2",[1,"f","*",[1,[5,"0.5"],"+",[1,"f","*",[1,[5,"2"],"-",[1,[5,"1.5"],"*","f"]]]]]],[13,"w12",[6,"std.max",[[1,"w1","+","w2"],[5,"0.000001"]]]],[13,"offset12",[1,"w2","/","w12"]],[10,[6,"d.vec3f",[[1,[1,"texPos1","-",[5,"1"]],"/","texSize"],[1,[1,"texPos1","+","offset12"],"/","texSize"],[1,[1,"texPos1","+",[5,"2"]],"/","texSize"]]]]]]},externals:{"std.floor":()=>q,"std.max":()=>b,"d.vec3f":()=>f}})&&e.f)({})),nz=v.fn([a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(t,s),o=__tsover_add(q(__tsover_sub(r,.5)),.5),n=__tsover_sub(r,o),i=__tsover_mul(n,__tsover_add(-.5,__tsover_mul(n,__tsover_sub(1,__tsover_mul(.5,n))))),d=__tsover_add(1,__tsover_mul(__tsover_mul(n,n),__tsover_add(-2.5,__tsover_mul(1.5,n)))),c=__tsover_mul(n,__tsover_add(.5,__tsover_mul(n,__tsover_sub(2,__tsover_mul(1.5,n))))),_=__tsover_mul(__tsover_mul(n,n),__tsover_add(-.5,__tsover_mul(.5,n)));return f(i,__tsover_add(d,c),_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"texSize"}],body:[0,[[13,"samplePos",[1,"uv","*","texSize"]],[13,"texPos1",[1,[6,"std.floor",[[1,"samplePos","-",[5,"0.5"]]]],"+",[5,"0.5"]]],[13,"f",[1,"samplePos","-","texPos1"]],[13,"w0",[1,"f","*",[1,[4,"-",[5,"0.5"]],"+",[1,"f","*",[1,[5,"1"],"-",[1,[5,"0.5"],"*","f"]]]]]],[13,"w1",[1,[5,"1"],"+",[1,[1,"f","*","f"],"*",[1,[4,"-",[5,"2.5"]],"+",[1,[5,"1.5"],"*","f"]]]]],[13,"w2",[1,"f","*",[1,[5,"0.5"],"+",[1,"f","*",[1,[5,"2"],"-",[1,[5,"1.5"],"*","f"]]]]]],[13,"w3",[1,[1,"f","*","f"],"*",[1,[4,"-",[5,"0.5"]],"+",[1,[5,"0.5"],"*","f"]]]],[10,[6,"d.vec3f",["w0",[1,"w1","+","w2"],"w3"]]]]]},externals:{"std.floor":()=>q,"d.vec3f":()=>f}})&&e.f)({}));var az=0,iz=(e,t,s="linearClamp",r="positive")=>{let o=az++;return new Kt(n=>n.memo(`catmullRom:${o}`,()=>{let i=n.freshLocal("crUV"),d=n.freshLocal("crSize"),c=n.freshLocal("crPosX"),_=n.freshLocal("crPosY"),u=n.freshLocal("crWx"),m=n.freshLocal("crWy"),p=n.freshLocal("crOut");n.statement(`let ${i} = ${t._emit(n)};`),n.statement(`let ${d} = ${e.dimensions()._emit(n)};`);let y=n.external(oz,"catmullRomAxisPositions"),h=n.external(nz,"catmullRomAxisWeights");n.statement(`let ${c} = ${y}(${i}.x, ${d}.x);`),n.statement(`let ${_} = ${y}(${i}.y, ${d}.y);`),n.statement(`let ${u} = ${h}(${i}.x, ${d}.x);`),n.statement(`let ${m} = ${h}(${i}.y, ${d}.y);`),n.statement(`var ${p} = vec4f(0.0, 0.0, 0.0, 0.0);`);let g=["x","y","z"];for(let w of[0,1,2])for(let S of[0,1,2]){let T=new Kt(()=>`vec2f(${c}.${g[S]}, ${_}.${g[w]})`),A=`(${u}.${g[S]} * ${m}.${g[w]})`;n.statement(`${p} += ${e.sample(T,s)._emit(n)} * ${A};`)}return n.statement(r==="unit"?`${p} = clamp(${p}, vec4f(0.0, 0.0, 0.0, 0.0), vec4f(1.0, 1.0, 1.0, 1.0));`:`${p} = max(${p}, vec4f(0.0, 0.0, 0.0, 0.0));`),p}))},dz=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return $(t,l(0,0),l(1,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[10,[6,"std.clamp",["uv",[6,"d.vec2f",[[5,"0"],[5,"0"]]],[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l}})&&e.f)({})),l7=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=bo(z(t.x),2),r=bo(z(t.y),2);return l(C(s,__tsover_sub(2,s),s>=1),C(r,__tsover_sub(2,r),r>=1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"mirrorX",[6,"std.mod",[[6,"std.abs",[[7,"uv","x"]]],[5,"2"]]]],[13,"mirrorY",[6,"std.mod",[[6,"std.abs",[[7,"uv","y"]]],[5,"2"]]]],[10,[6,"d.vec2f",[[6,"std.select",["mirrorX",[1,[5,"2"],"-","mirrorX"],[1,"mirrorX",">=",[5,"1"]]]],[6,"std.select",["mirrorY",[1,[5,"2"],"-","mirrorY"],[1,"mirrorY",">=",[5,"1"]]]]]]]]]},externals:{"std.mod":()=>bo,"std.abs":()=>z,"d.vec2f":()=>l,"std.select":()=>C}})&&e.f)({})),u7=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[10,[6,"std.fract",["uv"]]]]]},externals:{"std.fract":()=>ue}})&&e.f)({})),m7=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_mul(De(0,t.x),De(t.x,1)),r=__tsover_mul(De(0,t.y),De(t.y,1));return __tsover_mul(s,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"inX",[1,[6,"std.step",[[5,"0"],[7,"uv","x"]]],"*",[6,"std.step",[[7,"uv","x"],[5,"1"]]]]],[13,"inY",[1,[6,"std.step",[[5,"0"],[7,"uv","y"]]],"*",[6,"std.step",[[7,"uv","y"],[5,"1"]]]]],[10,[1,"inX","*","inY"]]]]},externals:{"std.step":()=>De}})&&e.f)({})),qv=1,Xv=2,Hv=3;v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.x,t.y,t.z,__tsover_mul(t.w,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"m"}],body:[0,[[10,[6,"d.vec4f",[[7,"color","x"],[7,"color","y"],[7,"color","z"],[1,[7,"color","w"],"*","m"]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({}));var cz=(e,t)=>{switch(t){case qv:return e;case Xv:return we(l7,"edgeMirrorUV",[e]);case Hv:return we(u7,"edgeWrapUV",[e]);default:return we(dz,"edgeClampUV",[e])}},_z=(e,t,s)=>{if(s===qv){let r=we(m7,"edgeTransparentMask",[e]);return{uv:e,mask:t.mul(r)}}return{uv:cz(e,s),mask:t}},Gi=(e,t,s)=>{if(s===qv){let r=t(e),o=we(m7,"edgeTransparentMask",[e]);return Ws(r.member("rgb"),r.member("a").mul(o))}return t(s===Xv?we(l7,"edgeMirrorUV",[e]):s===Hv?we(u7,"edgeWrapUV",[e]):e)},lz=(e,t,s)=>Gi(t,s===Xv?r=>e.sample(r):r=>iz(e,r,s===Hv?"linearRepeat":"linearClamp"),s),Cm=ut({rUV:l,gUV:l,bUV:l}).$name("ChromaticSplitUVs"),uz=v.fn([l,l,a,a],Cm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=s.mul(__tsover_mul(r,.1)),i=.15,d=$(n,l(-i,-i),l(i,i)),c=__tsover_mul(o,.1);return Cm({rUV:t.sub(d.mul(__tsover_add(1,c))),gUV:t.sub(d),bUV:t.sub(d.mul(__tsover_sub(1,c)))})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"disp"},{type:"i",name:"strength"},{type:"i",name:"chromaticSplit"}],body:[0,[[13,"scaled",[6,[7,"disp","mul"],[[1,"strength","*",[5,"0.1"]]]]],[13,"maxDisp",[5,"0.15"]],[13,"clamped",[6,"std.clamp",["scaled",[6,"d.vec2f",[[4,"-","maxDisp"],[4,"-","maxDisp"]]],[6,"d.vec2f",["maxDisp","maxDisp"]]]]],[13,"chromaticScale",[1,"chromaticSplit","*",[5,"0.1"]]],[13,"rUV",[6,[7,"uv","sub"],[[6,[7,"clamped","mul"],[[1,[5,"1"],"+","chromaticScale"]]]]]],[13,"gUV",[6,[7,"uv","sub"],["clamped"]]],[13,"bUV",[6,[7,"uv","sub"],[[6,[7,"clamped","mul"],[[1,[5,"1"],"-","chromaticScale"]]]]]],[10,[6,"ChromaticSplitUVs",[[104,{rUV:"rUV",gUV:"gUV",bUV:"bUV"}]]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l,ChromaticSplitUVs:()=>Cm}})&&e.f)({})),T3=it,G8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(s,Le),o=H(r),n=Y(r),i=__tsover_div(1,3),d=__tsover_sub(1,o),c=__tsover_mul(d,i),_=__tsover_div(n,_a),u=__tsover_add(o,c),m=__tsover_sub(c,_),p=__tsover_add(c,_),y=__tsover_add(c,_),h=__tsover_add(o,c),g=__tsover_sub(c,_),w=__tsover_sub(c,_),S=__tsover_add(c,_),T=__tsover_add(o,c),A=t.x,P=t.y,U=t.z;return x(__tsover_add(__tsover_add(__tsover_mul(A,u),__tsover_mul(P,m)),__tsover_mul(U,p)),__tsover_add(__tsover_add(__tsover_mul(A,y),__tsover_mul(P,h)),__tsover_mul(U,g)),__tsover_add(__tsover_add(__tsover_mul(A,w),__tsover_mul(P,S)),__tsover_mul(U,T)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"shiftDeg"}],body:[0,[[13,"angle",[1,"shiftDeg","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angle"]]],[13,"sinA",[6,"std.sin",["angle"]]],[13,"k",[1,[5,"1"],"/",[5,"3"]]],[13,"oneMinusCos",[1,[5,"1"],"-","cosA"]],[13,"kOneMinusCos",[1,"oneMinusCos","*","k"]],[13,"sinOverSqrt3",[1,"sinA","/","SQRT3"]],[13,"m00",[1,"cosA","+","kOneMinusCos"]],[13,"m01",[1,"kOneMinusCos","-","sinOverSqrt3"]],[13,"m02",[1,"kOneMinusCos","+","sinOverSqrt3"]],[13,"m10",[1,"kOneMinusCos","+","sinOverSqrt3"]],[13,"m11",[1,"cosA","+","kOneMinusCos"]],[13,"m12",[1,"kOneMinusCos","-","sinOverSqrt3"]],[13,"m20",[1,"kOneMinusCos","-","sinOverSqrt3"]],[13,"m21",[1,"kOneMinusCos","+","sinOverSqrt3"]],[13,"m22",[1,"cosA","+","kOneMinusCos"]],[13,"r",[7,"color","x"]],[13,"g",[7,"color","y"]],[13,"b",[7,"color","z"]],[13,"newR",[1,[1,[1,"r","*","m00"],"+",[1,"g","*","m01"]],"+",[1,"b","*","m02"]]],[13,"newG",[1,[1,[1,"r","*","m10"],"+",[1,"g","*","m11"]],"+",[1,"b","*","m12"]]],[13,"newB",[1,[1,[1,"r","*","m20"],"+",[1,"g","*","m21"]],"+",[1,"b","*","m22"]]],[10,[6,"d.vec4f",["newR","newG","newB",[7,"color","w"]]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,SQRT3:()=>_a,"d.vec4f":()=>x}})&&e.f)({})),Y8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=f(t.x,t.y,t.z),o=se(r,f(.2126,.7152,.0722)),n=X(f(o,o,o),r,f(s));return x(n.x,n.y,n.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"intensity"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"luminance",[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"gray",[6,"d.vec3f",["luminance","luminance","luminance"]]],[13,"saturated",[6,"std.mix",["gray","rgb",[6,"d.vec3f",["intensity"]]]]],[10,[6,"d.vec4f",[[7,"saturated","x"],[7,"saturated","y"],[7,"saturated","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.dot":()=>se,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),L8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.x,o=t.y,n=t.z,i=__tsover_div(__tsover_add(__tsover_add(r,o),n),3),d=b(r,b(o,n)),c=__tsover_mul(__tsover_mul(__tsover_sub(d,i),s),-3),_=X(f(r,o,n),f(d,d,d),f(c));return x(_.x,_.y,_.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"adjustment"}],body:[0,[[13,"r",[7,"color","x"]],[13,"g",[7,"color","y"]],[13,"b",[7,"color","z"]],[13,"average",[1,[1,[1,"r","+","g"],"+","b"],"/",[5,"3"]]],[13,"mx",[6,"std.max",["r",[6,"std.max",["g","b"]]]]],[13,"amt",[1,[1,[1,"mx","-","average"],"*","adjustment"],"*",[4,"-",[5,"3"]]]],[13,"rgb",[6,"d.vec3f",["r","g","b"]]],[13,"vibrant",[6,"std.mix",["rgb",[6,"d.vec3f",["mx","mx","mx"]],[6,"d.vec3f",["amt"]]]]],[10,[6,"d.vec4f",[[7,"vibrant","x"],[7,"vibrant","y"],[7,"vibrant","z"],[7,"color","w"]]]]]]},externals:{"std.max":()=>b,"d.vec3f":()=>f,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),I8=v.fn([x,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(r,1),n=f(.5,.5,.5);return x(t.xyz.sub(n).mul(o).add(n).add(f(s,s,s)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"brightness"},{type:"i",name:"contrastRaw"}],body:[0,[[13,"contrast",[1,"contrastRaw","+",[5,"1"]]],[13,"half",[6,"d.vec3f",[[5,"0.5"],[5,"0.5"],[5,"0.5"]]]],[13,"contrasted",[6,[7,[6,[7,[6,[7,[7,"color","xyz"],"sub"],["half"]],"mul"],["contrast"]],"add"],["half"]]],[13,"result",[6,[7,"contrasted","add"],[[6,"d.vec3f",["brightness","brightness","brightness"]]]]],[10,[6,"d.vec4f",["result",[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),D8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.xyz.mul(s),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"gain"}],body:[0,[[13,"rgb",[6,[7,[7,"color","xyz"],"mul"],["gain"]]],[10,[6,"d.vec4f",["rgb",[7,"color","w"]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),F8=v.fn([x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=se(t.xyz,f(.2126,.7152,.0722));return x(s,s,s,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"luminance",[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[10,[6,"d.vec4f",["luminance","luminance","luminance",[7,"color","w"]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),B8=v.fn([x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return x(__tsover_sub(1,t.x),__tsover_sub(1,t.y),__tsover_sub(1,t.z),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,"d.vec4f",[[1,[5,"1"],"-",[7,"color","x"]],[1,[5,"1"],"-",[7,"color","y"]],[1,[5,"1"],"-",[7,"color","z"]],[7,"color","w"]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),W8=v.fn([x,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=f(t.x,t.y,t.z),n=se(o,f(.299,.587,.114)),i=X(o,C(o,f(__tsover_sub(1,t.x),__tsover_sub(1,t.y),__tsover_sub(1,t.z)),n>s),f(r));return x(i.x,i.y,i.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"threshold"},{type:"i",name:"strength"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"luminance",[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"inverted",[6,"d.vec3f",[[1,[5,"1"],"-",[7,"color","x"]],[1,[5,"1"],"-",[7,"color","y"]],[1,[5,"1"],"-",[7,"color","z"]]]]],[13,"solarized",[6,"std.select",["rgb","inverted",[1,"luminance",">","threshold"]]]],[13,"result",[6,"std.mix",["rgb","solarized",[6,"d.vec3f",["strength"]]]]],[10,[6,"d.vec4f",[[7,"result","x"],[7,"result","y"],[7,"result","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.dot":()=>se,"std.select":()=>C,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),O8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=$(s,a(2),a(20));return x(__tsover_div(q(__tsover_mul(t.x,r)),r),__tsover_div(q(__tsover_mul(t.y,r)),r),__tsover_div(q(__tsover_mul(t.z,r)),r),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"steps"}],body:[0,[[13,"s",[6,"std.clamp",["steps",[6,"d.f32",[[5,"2"]]],[6,"d.f32",[[5,"20"]]]]]],[13,"r",[1,[6,"std.floor",[[1,[7,"color","x"],"*","s"]]],"/","s"]],[13,"g",[1,[6,"std.floor",[[1,[7,"color","y"],"*","s"]]],"/","s"]],[13,"b",[1,[6,"std.floor",[[1,[7,"color","z"],"*","s"]]],"/","s"]],[10,[6,"d.vec4f",["r","g","b",[7,"color","w"]]]]]]},externals:{"std.clamp":()=>$,"d.f32":()=>a,"std.floor":()=>q,"d.vec4f":()=>x}})&&e.f)({})),V8=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=X(f(t.x,t.y,t.z),f(s.x,s.y,s.z),f(r));return x(o.x,o.y,o.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"tintColor"},{type:"i",name:"amount"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"tinted",[6,"std.mix",["rgb",[6,"d.vec3f",[[7,"tintColor","x"],[7,"tintColor","y"],[7,"tintColor","z"]]],[6,"d.vec3f",["amount"]]]]],[10,[6,"d.vec4f",[[7,"tinted","x"],[7,"tinted","y"],[7,"tinted","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),N8=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=f(t.x,t.y,t.z),n=X(o,f(s.x,s.y,s.z),f(r)),i=f(.299,.587,.114),d=se(o,i),c=se(n,i),_=n.mul(__tsover_div(d,b(c,1e-4)));return x(_.x,_.y,_.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"tintColor"},{type:"i",name:"amount"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"tinted",[6,"std.mix",["rgb",[6,"d.vec3f",[[7,"tintColor","x"],[7,"tintColor","y"],[7,"tintColor","z"]]],[6,"d.vec3f",["amount"]]]]],[13,"luminanceWeights",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]],[13,"originalLum",[6,"std.dot",["rgb","luminanceWeights"]]],[13,"tintedLum",[6,"std.dot",["tinted","luminanceWeights"]]],[13,"result",[6,[7,"tinted","mul"],[[1,"originalLum","/",[6,"std.max",["tintedLum",[5,"0.0001"]]]]]]],[10,[6,"d.vec4f",[[7,"result","x"],[7,"result","y"],[7,"result","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.mix":()=>X,"std.dot":()=>se,"std.max":()=>b,"d.vec4f":()=>x}})&&e.f)({})),q8=v.fn([x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(t.xyz,f(.299,.587,.114));return re(__tsover_sub(s,.5),__tsover_add(s,.5),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"blend"}],body:[0,[[13,"luminance",[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[10,[6,"std.smoothstep",[[1,"blend","-",[5,"0.5"]],[1,"blend","+",[5,"0.5"]],"luminance"]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.smoothstep":()=>re}})&&e.f)({})),X8=v.fn([x,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(t.xyz,f(.299,.587,.114));return f(re(__tsover_sub(s,.25),s,r),re(s,__tsover_add(s,.25),r),re(__tsover_sub(s,.1),__tsover_add(s,.1),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"blendMid"}],body:[0,[[13,"luminance",[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"shadowToMid",[6,"std.smoothstep",[[1,"blendMid","-",[5,"0.25"]],"blendMid","luminance"]]],[13,"midToHighlight",[6,"std.smoothstep",["blendMid",[1,"blendMid","+",[5,"0.25"]],"luminance"]]],[13,"finalT",[6,"std.smoothstep",[[1,"blendMid","-",[5,"0.1"]],[1,"blendMid","+",[5,"0.1"]],"luminance"]]],[10,[6,"d.vec3f",["shadowToMid","midToHighlight","finalT"]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.smoothstep":()=>re}})&&e.f)({})),H8=v.fn([x,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=se(t.xyz,f(.2126,.7152,.0722)),i=b(__tsover_sub(r,s),1e-4),d=$(__tsover_div(__tsover_sub(n,s),i),0,1);return d=$(__tsover_add(__tsover_mul(__tsover_sub(d,.5),o),.5),0,1),d}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"black"},{type:"i",name:"white"},{type:"i",name:"contrast"}],body:[0,[[13,"luma",[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"range",[6,"std.max",[[1,"white","-","black"],[5,"0.0001"]]]],[12,"t",[6,"std.clamp",[[1,[1,"luma","-","black"],"/","range"],[5,"0"],[5,"1"]]]],[2,"t","=",[6,"std.clamp",[[1,[1,[1,"t","-",[5,"0.5"]],"*","contrast"],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[10,"t"]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.max":()=>b,"std.clamp":()=>$}})&&e.f)({})),j8=v.fn([a,a,f,f,f,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=n.mul(t).add(i).add(f(s,s,s)).mul(T3);return $(r.add(o.mul(H(d))),f(0,0,0),f(1,1,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"phase"},{type:"i",name:"pa"},{type:"i",name:"pb"},{type:"i",name:"pc"},{type:"i",name:"pd"}],body:[0,[[13,"arg",[6,[7,[6,[7,[6,[7,[6,[7,"pc","mul"],["t"]],"add"],["pd"]],"add"],[[6,"d.vec3f",["phase","phase","phase"]]]],"mul"],["TWO_PI"]]],[13,"mapped",[6,[7,"pa","add"],[[6,[7,"pb","mul"],[[6,"std.cos",["arg"]]]]]]],[10,[6,"std.clamp",["mapped",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]]]]},externals:{"d.vec3f":()=>f,TWO_PI:()=>T3,"std.cos":()=>H,"std.clamp":()=>$}})&&e.f)({})),K8=v.fn([a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=ue(__tsover_add(t,s)),o=__tsover_mul(r,3);return l(ue(o),q(o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"phase"}],body:[0,[[13,"t01",[6,"std.fract",[[1,"t","+","phase"]]]],[13,"t3",[1,"t01","*",[5,"3"]]],[10,[6,"d.vec2f",[[6,"std.fract",["t3"]],[6,"std.floor",["t3"]]]]]]]},externals:{"std.fract":()=>ue,"d.vec2f":()=>l,"std.floor":()=>q}})&&e.f)({})),Z8=v.fn([x,x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return C(C(r,s,o<2),t,o<1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"seg0"},{type:"i",name:"seg1"},{type:"i",name:"seg2"},{type:"i",name:"i"}],body:[0,[[13,"upper",[6,"std.select",["seg2","seg1",[1,"i","<",[5,"2"]]]]],[10,[6,"std.select",["upper","seg0",[1,"i","<",[5,"1"]]]]]]]},externals:{"std.select":()=>C}})&&e.f)({})),Q8=v.fn([x,f,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return x(X(t.xyz,s,f(r,r,r)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"mapped"},{type:"i",name:"strength"}],body:[0,[[13,"outRgb",[6,"std.mix",[[7,"color","xyz"],"mapped",[6,"d.vec3f",["strength","strength","strength"]]]]],[10,[6,"d.vec4f",["outRgb",[7,"color","w"]]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),J8=v.fn([x,l,l,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ot(s.mul(r).add(l(i,__tsover_mul(i,1.6180339)))),c=__tsover_sub(__tsover_mul(d,2),1),_=$(se(t.xyz,f(.2126,.7152,.0722)),0,1),u=__tsover_sub(1,_),m=Ce(__tsover_add(u,1e-6),n),p=__tsover_mul(__tsover_mul(c,m),__tsover_mul(o,.1));return x(t.xyz.add(p),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"strength"},{type:"i",name:"bias"},{type:"i",name:"animTime"}],body:[0,[[13,"pixelCoord",[6,[7,"uv","mul"],["viewport"]]],[13,"noiseVal",[6,"hash12",[[6,[7,"pixelCoord","add"],[[6,"d.vec2f",["animTime",[1,"animTime","*",[5,"1.6180339"]]]]]]]]],[13,"grain",[1,[1,"noiseVal","*",[5,"2"]],"-",[5,"1"]]],[13,"brightness",[6,"std.clamp",[[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]],[5,"0"],[5,"1"]]]],[13,"darkness",[1,[5,"1"],"-","brightness"]],[13,"darkFactor",[6,"std.pow",[[1,"darkness","+",[5,"0.000001"]],"bias"]]],[13,"grainIntensity",[1,[1,"grain","*","darkFactor"],"*",[1,"strength","*",[5,"0.1"]]]],[13,"grainedColor",[6,[7,[7,"color","xyz"],"add"],["grainIntensity"]]],[10,[6,"d.vec4f",["grainedColor",[7,"color","w"]]]]]]},externals:{hash12:()=>Ot,"d.vec2f":()=>l,"std.clamp":()=>$,"std.dot":()=>se,"d.vec3f":()=>f,"std.pow":()=>Ce,"d.vec4f":()=>x}})&&e.f)({})),Jl=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ce(C(t,__tsover_sub(1,t),i>.5),n),c=__tsover_add(__tsover_mul(d,s),.5),_=b(Zt(c),1e-4),u=z(__tsover_sub(ue(__tsover_add(c,.5)),.5)),m=__tsover_div(u,_),p=__tsover_add(__tsover_mul(o,.99),.01),y=__tsover_mul(r,__tsover_sub(1,p));return __tsover_sub(1,re(y,r,m))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sourceValue"},{type:"i",name:"levels"},{type:"i",name:"lineWidth"},{type:"i",name:"softness"},{type:"i",name:"gamma"},{type:"i",name:"invert"}],body:[0,[[13,"invertedValue",[6,"std.select",["sourceValue",[1,[5,"1"],"-","sourceValue"],[1,"invert",">",[5,"0.5"]]]]],[13,"sv",[6,"std.pow",["invertedValue","gamma"]]],[13,"scaledValue",[1,[1,"sv","*","levels"],"+",[5,"0.5"]]],[13,"fw",[6,"std.max",[[6,"std.fwidth",["scaledValue"]],[5,"0.0001"]]]],[13,"distFromBoundary",[6,"std.abs",[[1,[6,"std.fract",[[1,"scaledValue","+",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"normalizedDist",[1,"distFromBoundary","/","fw"]],[13,"transitionFactor",[1,[1,"softness","*",[5,"0.99"]],"+",[5,"0.01"]]],[13,"innerEdge",[1,"lineWidth","*",[1,[5,"1"],"-","transitionFactor"]]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",["innerEdge","lineWidth","normalizedDist"]]]]]]},externals:{"std.select":()=>C,"std.pow":()=>Ce,"std.max":()=>b,"std.fwidth":()=>Zt,"std.abs":()=>z,"std.fract":()=>ue,"std.smoothstep":()=>re}})&&e.f)({})),eD=v.fn([x,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return Jl(Gg(t.xyz),s,r,o,n,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"levels"},{type:"i",name:"lineWidth"},{type:"i",name:"softness"},{type:"i",name:"gamma"},{type:"i",name:"invert"}],body:[0,[[10,[6,"contourLineMask",[[6,"luma709Dot",[[7,"color","xyz"]]],"levels","lineWidth","softness","gamma","invert"]]]]]},externals:{contourLineMask:()=>Jl,luma709Dot:()=>Gg}})&&e.f)({})),tD=v.fn([x,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return Jl(t.w,s,r,o,n,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"levels"},{type:"i",name:"lineWidth"},{type:"i",name:"softness"},{type:"i",name:"gamma"},{type:"i",name:"invert"}],body:[0,[[10,[6,"contourLineMask",[[7,"color","w"],"levels","lineWidth","softness","gamma","invert"]]]]]},externals:{contourLineMask:()=>Jl}})&&e.f)({})),sD=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=X(f(t.x,t.y,t.z),f(s.x,s.y,s.z),f(r)),n=X(t.w,s.w,r);return x(o.x,o.y,o.z,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"bg"},{type:"i",name:"line"},{type:"i",name:"mask"}],body:[0,[[13,"rgb",[6,"std.mix",[[6,"d.vec3f",[[7,"bg","x"],[7,"bg","y"],[7,"bg","z"]]],[6,"d.vec3f",[[7,"line","x"],[7,"line","y"],[7,"line","z"]]],[6,"d.vec3f",["mask"]]]]],[13,"alpha",[6,"std.mix",[[7,"bg","w"],[7,"line","w"],"mask"]]],[10,[6,"d.vec4f",[[7,"rgb","x"],[7,"rgb","y"],[7,"rgb","z"],"alpha"]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),Zn=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(__tsover_sub(ue(__tsover_mul(Y(__tsover_mul(t,12.9898)),43758.5453)),.5),2)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"}],body:[0,[[10,[1,[1,[6,"std.fract",[[1,[6,"std.sin",[[1,"x","*",[5,"12.9898"]]]],"*",[5,"43758.5453"]]]],"-",[5,"0.5"]],"*",[5,"2"]]]]]},externals:{"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),rD=v.fn([l,a,l,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(__tsover_mul(r.x,o),r.y),i=l(__tsover_mul(t.x,o),__tsover_sub(1,t.y)),d=n.sub(i),c=__tsover_mul(s,Le),_=l(H(c),Y(c)),u=l(__tsover_mul(_.y,-1),_.x),m=se(d,u),p=d.sub(u.mul(__tsover_mul(m,2))),y=i.add(p),h=l(__tsover_div(y.x,o),y.y),g=De(0,m);return f(h.x,h.y,g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"angle"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"lineDirection",[6,"d.vec2f",[[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]]],[13,"lineNormal",[6,"d.vec2f",[[1,[7,"lineDirection","y"],"*",[4,"-",[5,"1"]]],[7,"lineDirection","x"]]]],[13,"signedDistance",[6,"std.dot",["delta","lineNormal"]]],[13,"reflectedDelta",[6,[7,"delta","sub"],[[6,[7,"lineNormal","mul"],[[1,"signedDistance","*",[5,"2"]]]]]]],[13,"mirroredUV",[6,[7,"centerPos","add"],["reflectedDelta"]]],[13,"finalMirroredUV",[6,"d.vec2f",[[1,[7,"mirroredUV","x"],"/","aspect"],[7,"mirroredUV","y"]]]],[13,"shouldMirror",[6,"std.step",[[5,"0"],"signedDistance"]]],[10,[6,"d.vec3f",[[7,"finalMirroredUV","x"],[7,"finalMirroredUV","y"],"shouldMirror"]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.step":()=>De,"d.vec3f":()=>f}})&&e.f)({})),oD=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(C(t.x,__tsover_sub(1,t.x),s>0),C(t.y,__tsover_sub(1,t.y),r>0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"flipX"},{type:"i",name:"flipY"}],body:[0,[[13,"x",[6,"std.select",[[7,"uv","x"],[1,[5,"1"],"-",[7,"uv","x"]],[1,"flipX",">",[5,"0"]]]]],[13,"y",[6,"std.select",[[7,"uv","y"],[1,[5,"1"],"-",[7,"uv","y"]],[1,"flipY",">",[5,"0"]]]]],[10,[6,"d.vec2f",["x","y"]]]]]},externals:{"std.select":()=>C,"d.vec2f":()=>l}})&&e.f)({})),$a=2,S3=1.2,nD=v.fn([a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,Le),d=l(H(i),Y(i)),c=l(__tsover_mul(d.y,-1),d.x),_=l(__tsover_mul(__tsover_sub(o.x,.5),n),__tsover_sub(o.y,.5)),u=se(_,d),m=se(_,c),p=b(__tsover_mul(__tsover_add(__tsover_mul(z(d.x),n),z(d.y)),.5),.001),y=__tsover_div(u,p),h=__tsover_mul(t,S3),g=__tsover_mul($(s,0,1),.9),w=__tsover_sub(1,g),S=z(y),T=C(a(-1),a(1),y>=0),A=__tsover_mul(h,S),P=__tsover_add(__tsover_mul(__tsover_mul(__tsover_mul($a,$a),w),w),__tsover_mul(__tsover_mul(__tsover_mul(4,A),$a),__tsover_sub(S,g))),U=z(A)<1e-5,D=C(__tsover_mul(A,2),a(1),U),O=C(__tsover_div(__tsover_sub(be(b(P,0)),__tsover_mul($a,w)),D),__tsover_div(__tsover_sub(S,g),w),U),L=C(a(6),b(O,0),P>=0),G=__tsover_mul(T,__tsover_add(g,__tsover_mul(L,w))),W=S<=g,K=C(G,y,W),Q=C(__tsover_mul(__tsover_mul(h,L),L),a(0),W),te=__tsover_div(__tsover_mul(m,__tsover_sub($a,Q)),$a),ee=d.mul(__tsover_mul(K,p)).add(c.mul(te));return l(__tsover_add(__tsover_div(ee.x,n),.5),__tsover_add(ee.y,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"strength"},{type:"i",name:"falloff"},{type:"i",name:"angle"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"dir",[6,"d.vec2f",[[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]]],[13,"perp",[6,"d.vec2f",[[1,[7,"dir","y"],"*",[4,"-",[5,"1"]]],[7,"dir","x"]]]],[13,"p",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],[1,[7,"uv","y"],"-",[5,"0.5"]]]]],[13,"sScreen",[6,"std.dot",["p","dir"]]],[13,"tScreen",[6,"std.dot",["p","perp"]]],[13,"sHalf",[6,"std.max",[[1,[1,[1,[6,"std.abs",[[7,"dir","x"]]],"*","aspect"],"+",[6,"std.abs",[[7,"dir","y"]]]],"*",[5,"0.5"]],[5,"0.001"]]]],[13,"snScreen",[1,"sScreen","/","sHalf"]],[13,"b",[1,"strength","*","B_MAX"]],[13,"f",[1,[6,"std.clamp",["falloff",[5,"0"],[5,"1"]]],"*",[5,"0.9"]]],[13,"fSpan",[1,[5,"1"],"-","f"]],[13,"m",[6,"std.abs",["snScreen"]]],[13,"sig",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"d.f32",[[5,"1"]]],[1,"snScreen",">=",[5,"0"]]]]],[13,"a2",[1,"b","*","m"]],[13,"disc",[1,[1,[1,[1,"CAMERA_D","*","CAMERA_D"],"*","fSpan"],"*","fSpan"],"+",[1,[1,[1,[5,"4"],"*","a2"],"*","CAMERA_D"],"*",[1,"m","-","f"]]]],[13,"nearZero",[1,[6,"std.abs",["a2"]],"<",[5,"0.00001"]]],[13,"denom",[6,"std.select",[[1,"a2","*",[5,"2"]],[6,"d.f32",[[5,"1"]]],"nearZero"]]],[13,"uQuad",[1,[1,[6,"std.sqrt",[[6,"std.max",["disc",[5,"0"]]]]],"-",[1,"CAMERA_D","*","fSpan"]],"/","denom"]],[13,"uOn",[6,"std.select",["uQuad",[1,[1,"m","-","f"],"/","fSpan"],"nearZero"]]],[13,"u",[6,"std.select",[[6,"d.f32",[[5,"6"]]],[6,"std.max",["uOn",[5,"0"]]],[1,"disc",">=",[5,"0"]]]]],[13,"snBend",[1,"sig","*",[1,"f","+",[1,"u","*","fSpan"]]]],[13,"inFlat",[1,"m","<=","f"]],[13,"sn",[6,"std.select",["snBend","snScreen","inFlat"]]],[13,"z",[6,"std.select",[[1,[1,"b","*","u"],"*","u"],[6,"d.f32",[[5,"0"]]],"inFlat"]]],[13,"tSrc",[1,[1,"tScreen","*",[1,"CAMERA_D","-","z"]],"/","CAMERA_D"]],[13,"srcP",[6,[7,[6,[7,"dir","mul"],[[1,"sn","*","sHalf"]]],"add"],[[6,[7,"perp","mul"],["tSrc"]]]]],[10,[6,"d.vec2f",[[1,[1,[7,"srcP","x"],"/","aspect"],"+",[5,"0.5"]],[1,[7,"srcP","y"],"+",[5,"0.5"]]]]]]]},externals:{DEG_TO_RAD:()=>Le,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.max":()=>b,"std.abs":()=>z,B_MAX:()=>S3,"std.clamp":()=>$,"std.select":()=>C,"d.f32":()=>a,CAMERA_D:()=>$a,"std.sqrt":()=>be}})&&e.f)({})),aD=v.fn([l,a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(n.x,i),n.y),c=l(__tsover_mul(t.x,i),__tsover_sub(1,t.y)),_=d.sub(c),u=j(_),m=__tsover_mul(r,.5),p=__tsover_mul(m,b(__tsover_sub(__tsover_sub(1,o),.001),0)),y=__tsover_sub(1,re(p,m,u)),h=__tsover_div(u,m),g=__tsover_mul(h,h),w=b(0,__tsover_sub(1,g)),S=__tsover_mul(y,w),T=__tsover_mul(s,-1),A=__tsover_mul(T,S),P=__tsover_add(1,A),U=_.mul(P),D=c.add(U);return l(__tsover_div(D.x,i),D.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"strength"},{type:"i",name:"radius"},{type:"i",name:"falloff"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"distance",[6,"std.length",["delta"]]],[13,"effectRadius",[1,"radius","*",[5,"0.5"]]],[13,"innerRadius",[1,"effectRadius","*",[6,"std.max",[[1,[1,[5,"1"],"-","falloff"],"-",[5,"0.001"]],[5,"0"]]]]],[13,"smoothFalloff",[1,[5,"1"],"-",[6,"std.smoothstep",["innerRadius","effectRadius","distance"]]]],[13,"normalizedDist",[1,"distance","/","effectRadius"]],[13,"distSq",[1,"normalizedDist","*","normalizedDist"]],[13,"quadraticFalloff",[6,"std.max",[[5,"0"],[1,[5,"1"],"-","distSq"]]]],[13,"falloffTotal",[1,"smoothFalloff","*","quadraticFalloff"]],[13,"negStrength",[1,"strength","*",[4,"-",[5,"1"]]]],[13,"displacementAmount",[1,"negStrength","*","falloffTotal"]],[13,"scaleFactor",[1,[5,"1"],"+","displacementAmount"]],[13,"bulgedDelta",[6,[7,"delta","mul"],["scaleFactor"]]],[13,"bulgedUV",[6,[7,"centerPos","add"],["bulgedDelta"]]],[10,[6,"d.vec2f",[[1,[7,"bulgedUV","x"],"/","aspect"],[7,"bulgedUV","y"]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.max":()=>b,"std.smoothstep":()=>re}})&&e.f)({})),iD=v.fn([l,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(t.x,__tsover_sub(1,t.y)),i=r.sub(n),d=l(__tsover_mul(i.x,o),i.y),c=__tsover_mul(s,j(d)),_=H(c),u=Y(c),m=__tsover_sub(__tsover_mul(_,d.x),__tsover_mul(u,d.y)),p=__tsover_add(__tsover_mul(u,d.x),__tsover_mul(_,d.y));return l(__tsover_add(__tsover_div(m,o),n.x),__tsover_add(p,n.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"intensity"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"uv","sub"],["centerPos"]]],[13,"acd",[6,"d.vec2f",[[1,[7,"delta","x"],"*","aspect"],[7,"delta","y"]]]],[13,"angle",[1,"intensity","*",[6,"std.length",["acd"]]]],[13,"cosA",[6,"std.cos",["angle"]]],[13,"sinA",[6,"std.sin",["angle"]]],[13,"rotatedX",[1,[1,"cosA","*",[7,"acd","x"]],"-",[1,"sinA","*",[7,"acd","y"]]]],[13,"rotatedY",[1,[1,"sinA","*",[7,"acd","x"]],"+",[1,"cosA","*",[7,"acd","y"]]]],[10,[6,"d.vec2f",[[1,[1,"rotatedX","/","aspect"],"+",[7,"centerPos","x"]],[1,"rotatedY","+",[7,"centerPos","y"]]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),dD=v.fn([l,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(o.x,n),o.y),d=l(__tsover_mul(t.x,n),__tsover_sub(1,t.y)),c=i.sub(d),_=j(c),u=tt(c.y,c.x),m=__tsover_add(u,__tsover_mul(r,Le)),p=__tsover_div(it,s),y=__tsover_mul(p,2),h=__tsover_sub(m,__tsover_mul(y,q(__tsover_div(m,y)))),g=C(h,__tsover_sub(y,h),h>p),w=__tsover_mul(H(g),_),S=__tsover_mul(Y(g),_),T=d.add(l(w,S));return l(__tsover_div(T.x,n),T.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"segments"},{type:"i",name:"angle"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"radius",[6,"std.length",["delta"]]],[13,"currentAngle",[6,"std.atan2",[[7,"delta","y"],[7,"delta","x"]]]],[13,"rotatedAngle",[1,"currentAngle","+",[1,"angle","*","DEG_TO_RAD"]]],[13,"segmentAngle",[1,"TAU","/","segments"]],[13,"segTwo",[1,"segmentAngle","*",[5,"2"]]],[13,"wrappedAngle",[1,"rotatedAngle","-",[1,"segTwo","*",[6,"std.floor",[[1,"rotatedAngle","/","segTwo"]]]]]],[13,"finalAngle",[6,"std.select",["wrappedAngle",[1,"segTwo","-","wrappedAngle"],[1,"wrappedAngle",">","segmentAngle"]]]],[13,"kaleidoscopeX",[1,[6,"std.cos",["finalAngle"]],"*","radius"]],[13,"kaleidoscopeY",[1,[6,"std.sin",["finalAngle"]],"*","radius"]],[13,"kaleidoscopePos",[6,[7,"centerPos","add"],[[6,"d.vec2f",["kaleidoscopeX","kaleidoscopeY"]]]]],[10,[6,"d.vec2f",[[1,[7,"kaleidoscopePos","x"],"/","aspect"],[7,"kaleidoscopePos","y"]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.atan2":()=>tt,DEG_TO_RAD:()=>Le,TAU:()=>it,"std.floor":()=>q,"std.select":()=>C,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),cD=v.fn([l,a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(n.x,i),n.y),c=l(__tsover_mul(t.x,i),__tsover_sub(1,t.y)),_=d.sub(c),u=__tsover_mul(r,Le),m=l(H(u),Y(u)),p=se(_,m),y=m.mul(p),h=_.sub(y),g=X(.001,75,o),w=$(__tsover_div(p,g),0,1),S=__tsover_mul(s,100),T=__tsover_add(1,__tsover_mul(S,w)),A=__tsover_div(p,T),P=m.mul(A).add(h),U=c.add(P);return l(__tsover_div(U.x,i),U.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"strength"},{type:"i",name:"angle"},{type:"i",name:"falloff"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"directionVector",[6,"d.vec2f",[[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]]],[13,"projection",[6,"std.dot",["delta","directionVector"]]],[13,"parallel",[6,[7,"directionVector","mul"],["projection"]]],[13,"perpendicular",[6,[7,"delta","sub"],["parallel"]]],[13,"transitionWidth",[6,"std.mix",[[5,"0.001"],[5,"75"],"falloff"]]],[13,"effectMask",[6,"std.clamp",[[1,"projection","/","transitionWidth"],[5,"0"],[5,"1"]]]],[13,"scaledStrength",[1,"strength","*",[5,"100"]]],[13,"stretchFactor",[1,[5,"1"],"+",[1,"scaledStrength","*","effectMask"]]],[13,"finalProjection",[1,"projection","/","stretchFactor"]],[13,"finalParallel",[6,[7,"directionVector","mul"],["finalProjection"]]],[13,"stretchedDelta",[6,[7,"finalParallel","add"],["perpendicular"]]],[13,"stretchedUV",[6,[7,"centerPos","add"],["stretchedDelta"]]],[10,[6,"d.vec2f",[[1,[7,"stretchedUV","x"],"/","aspect"],[7,"stretchedUV","y"]]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.mix":()=>X,"std.clamp":()=>$}})&&e.f)({})),cn=v.fn([l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=t.sub(l(.5,.5)),d=l(__tsover_mul(i.x,s),i.y),c=__tsover_mul(r,Le),_=H(c),u=Y(c),m=__tsover_add(__tsover_mul(d.x,u),__tsover_mul(d.y,_));return __tsover_add(__tsover_mul(__tsover_mul(__tsover_add(m,.5),o),it),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"t"}],body:[0,[[13,"centeredUV",[6,[7,"uv","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"centeredUV","x"],"*","aspect"],[7,"centeredUV","y"]]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"rotatedY",[1,[1,[7,"aspectCorrectedUV","x"],"*","sinA"],"+",[1,[7,"aspectCorrectedUV","y"],"*","cosA"]]],[10,[1,[1,[1,[1,"rotatedY","+",[5,"0.5"]],"*","frequency"],"*","TAU"],"+","t"]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,TAU:()=>it}})&&e.f)({})),_n=v.fn([l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,Le),d=H(i),c=Y(i),_=__tsover_mul(__tsover_mul(n,o),.5),u=__tsover_div(__tsover_mul(_,d),s),m=__tsover_mul(_,c);return l(__tsover_add(t.x,u),__tsover_add(t.y,m))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"strength"},{type:"i",name:"wave"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"displacement",[1,[1,"wave","*","strength"],"*",[5,"0.5"]]],[13,"displacementX",[1,[1,"displacement","*","cosA"],"/","aspect"]],[13,"displacementY",[1,"displacement","*","sinA"]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+","displacementX"],[1,[7,"uv","y"],"+","displacementY"]]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),A3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Y(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[10,[6,"std.sin",["phase"]]]]]},externals:{"std.sin":()=>Y}})&&e.f)({})),M3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ue(__tsover_div(t,it));return __tsover_sub(__tsover_mul(z(__tsover_sub(__tsover_mul(s,2),1)),2),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[13,"normalizedPhase",[6,"std.fract",[[1,"phase","/","TAU"]]]],[10,[1,[1,[6,"std.abs",[[1,[1,"normalizedPhase","*",[5,"2"]],"-",[5,"1"]]]],"*",[5,"2"]],"-",[5,"1"]]]]]},externals:{"std.fract":()=>ue,TAU:()=>it,"std.abs":()=>z}})&&e.f)({})),P3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ue(__tsover_div(t,it));return __tsover_sub(__tsover_mul(De(.5,s),2),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[13,"normalizedPhase",[6,"std.fract",[[1,"phase","/","TAU"]]]],[10,[1,[1,[6,"std.step",[[5,"0.5"],"normalizedPhase"]],"*",[5,"2"]],"-",[5,"1"]]]]]},externals:{"std.fract":()=>ue,TAU:()=>it,"std.step":()=>De}})&&e.f)({})),E3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ue(__tsover_div(t,it));return __tsover_sub(__tsover_mul(s,2),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[13,"normalizedPhase",[6,"std.fract",[[1,"phase","/","TAU"]]]],[10,[1,[1,"normalizedPhase","*",[5,"2"]],"-",[5,"1"]]]]]},externals:{"std.fract":()=>ue,TAU:()=>it}})&&e.f)({})),k3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return z(Y(t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[10,[6,"std.abs",[[6,"std.sin",["phase"]]]]]]]},externals:{"std.abs":()=>z,"std.sin":()=>Y}})&&e.f)({})),_D=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,A3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformSine",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformSine:()=>A3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),lD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,M3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformTriangle",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformTriangle:()=>M3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),uD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,P3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformSquare",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformSquare:()=>P3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),mD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,E3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformSawtooth",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformSawtooth:()=>E3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),pD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,k3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformBounce",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformBounce:()=>k3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),fD=v.fn([l,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(o.x,n),o.y),d=l(__tsover_mul(t.x,n),__tsover_sub(1,t.y)),c=i.sub(d),_=tt(c.y,c.x),u=__tsover_div(__tsover_add(_,Xr),it),m=j(c);return l(__tsover_mul(u,s),__tsover_mul(m,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"wrap"},{type:"i",name:"radius"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"theta",[6,"std.atan2",[[7,"delta","y"],[7,"delta","x"]]]],[13,"normalizedAngle",[1,[1,"theta","+","PI"],"/","TAU"]],[13,"r",[6,"std.length",["delta"]]],[13,"u",[1,"normalizedAngle","*","wrap"]],[13,"v",[1,"r","*","radius"]],[10,[6,"d.vec2f",["u","v"]]]]]},externals:{"d.vec2f":()=>l,"std.atan2":()=>tt,PI:()=>Xr,TAU:()=>it,"std.length":()=>j}})&&e.f)({})),vD=v.fn([l,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(__tsover_mul(r.x,it),Xr),i=__tsover_mul(r.y,s),d=__tsover_mul(i,H(n)),c=__tsover_mul(i,Y(n)),_=l(t.x,__tsover_sub(1,t.y));return l(__tsover_add(__tsover_div(d,o),_.x),__tsover_add(c,_.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"scale"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"theta",[1,[1,[7,"uv","x"],"*","TAU"],"-","PI"]],[13,"r",[1,[7,"uv","y"],"*","scale"]],[13,"rectX",[1,"r","*",[6,"std.cos",["theta"]]]],[13,"rectY",[1,"r","*",[6,"std.sin",["theta"]]]],[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[10,[6,"d.vec2f",[[1,[1,"rectX","/","aspect"],"+",[7,"centerPos","x"]],[1,"rectY","+",[7,"centerPos","y"]]]]]]]},externals:{TAU:()=>it,PI:()=>Xr,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),Yi=1e-8,Od=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_div(t,C(s,Yi,z(s)C,EPS:()=>Yi,"std.abs":()=>z}})&&e.f)({})),ki=v.fn([l,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(r.x,s.x),n=__tsover_sub(r.y,s.y),i=__tsover_sub(t.x,s.x),d=__tsover_sub(t.y,s.y);return __tsover_sub(__tsover_mul(o,d),__tsover_mul(n,i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"}],body:[0,[[13,"bax",[1,[7,"b","x"],"-",[7,"a","x"]]],[13,"bay",[1,[7,"b","y"],"-",[7,"a","y"]]],[13,"pax",[1,[7,"p","x"],"-",[7,"a","x"]]],[13,"pay",[1,[7,"p","y"],"-",[7,"a","y"]]],[10,[1,[1,"bax","*","pay"],"-",[1,"bay","*","pax"]]]]]},externals:{}})&&e.f)({})),$3=v.fn([l,l,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=ki(t,s,r),i=ki(t,r,o),d=ki(t,o,s),c=__tsover_mul(__tsover_mul(De(a(0),n),De(a(0),i)),De(a(0),d)),_=__tsover_mul(__tsover_mul(De(n,a(0)),De(i,a(0))),De(d,a(0)));return __tsover_add(c,_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"c"}],body:[0,[[13,"d1",[6,"cornerSideOf",["p","a","b"]]],[13,"d2",[6,"cornerSideOf",["p","b","c"]]],[13,"d3",[6,"cornerSideOf",["p","c","a"]]],[13,"allPos",[1,[1,[6,"std.step",[[6,"d.f32",[[5,"0"]]],"d1"]],"*",[6,"std.step",[[6,"d.f32",[[5,"0"]]],"d2"]]],"*",[6,"std.step",[[6,"d.f32",[[5,"0"]]],"d3"]]]],[13,"allNeg",[1,[1,[6,"std.step",["d1",[6,"d.f32",[[5,"0"]]]]],"*",[6,"std.step",["d2",[6,"d.f32",[[5,"0"]]]]]],"*",[6,"std.step",["d3",[6,"d.f32",[[5,"0"]]]]]]],[10,[1,"allPos","+","allNeg"]]]]},externals:{cornerSideOf:()=>ki,"std.step":()=>De,"d.f32":()=>a}})&&e.f)({})),U3=v.fn([l,l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=r.sub(s),i=$(__tsover_div(se(t.sub(s),n),b(se(n,n),Yi)),0,1),d=s.add(n.mul(i)),c=l(__tsover_mul(n.y,-1),n.x).div(b(j(n),Yi)),_=__tsover_mul(__tsover_mul(ks(o),-1),.004);return d.add(c.mul(_))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"refSide"}],body:[0,[[13,"ab",[6,[7,"b","sub"],["a"]]],[13,"t",[6,"std.clamp",[[1,[6,"std.dot",[[6,[7,"p","sub"],["a"]],"ab"]],"/",[6,"std.max",[[6,"std.dot",["ab","ab"]],"EPS"]]],[5,"0"],[5,"1"]]]],[13,"foot",[6,[7,"a","add"],[[6,[7,"ab","mul"],["t"]]]]],[13,"perp",[6,[7,[6,"d.vec2f",[[1,[7,"ab","y"],"*",[4,"-",[5,"1"]]],[7,"ab","x"]]],"div"],[[6,"std.max",[[6,"std.length",["ab"]],"EPS"]]]]],[13,"nudge",[1,[1,[6,"std.sign",["refSide"]],"*",[4,"-",[5,"1"]]],"*",[5,"0.004"]]],[10,[6,[7,"foot","add"],[[6,[7,"perp","mul"],["nudge"]]]]]]]},externals:{"std.clamp":()=>$,"std.dot":()=>se,"std.max":()=>b,EPS:()=>Yi,"d.vec2f":()=>l,"std.length":()=>j,"std.sign":()=>ks}})&&e.f)({})),Vd=v.fn([l,l,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=$3(t,s,r,o)>.5;return C(t,U3(t,s,r,ki(o,s,r)),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"o"}],body:[0,[[13,"inside",[1,[6,"cornerInsideTri",["p","a","b","o"]],">",[5,"0.5"]]],[13,"proj",[6,"cornerProjectToDiagonal",["p","a","b",[6,"cornerSideOf",["o","a","b"]]]]],[10,[6,"std.select",["p","proj","inside"]]]]]},externals:{cornerInsideTri:()=>$3,cornerProjectToDiagonal:()=>U3,cornerSideOf:()=>ki,"std.select":()=>C}})&&e.f)({})),yD=v.fn([l,a,l,l,l,l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(s,s),c=X(l(0,0),l(r.x,__tsover_sub(1,r.y)),d),_=X(l(1,0),l(o.x,__tsover_sub(1,o.y)),d),u=X(l(1,1),l(n.x,__tsover_sub(1,n.y)),d),m=X(l(0,1),l(i.x,__tsover_sub(1,i.y)),d),p=Vd(c,_,m,u),y=Vd(_,c,u,m),h=Vd(u,_,m,c),g=Vd(m,c,u,_),w=__tsover_sub(y.x,h.x),S=__tsover_sub(g.x,h.x),T=__tsover_sub(__tsover_add(__tsover_sub(p.x,y.x),h.x),g.x),A=__tsover_sub(y.y,h.y),P=__tsover_sub(g.y,h.y),U=__tsover_sub(__tsover_add(__tsover_sub(p.y,y.y),h.y),g.y),D=__tsover_sub(__tsover_mul(w,P),__tsover_mul(S,A)),O=Od(__tsover_sub(__tsover_mul(T,P),__tsover_mul(S,U)),D),L=Od(__tsover_sub(__tsover_mul(w,U),__tsover_mul(T,A)),D),G=__tsover_add(__tsover_sub(y.x,p.x),__tsover_mul(O,y.x)),W=__tsover_add(__tsover_sub(g.x,p.x),__tsover_mul(L,g.x)),K=p.x,Q=__tsover_add(__tsover_sub(y.y,p.y),__tsover_mul(O,y.y)),te=__tsover_add(__tsover_sub(g.y,p.y),__tsover_mul(L,g.y)),ee=p.y,he=__tsover_sub(te,__tsover_mul(ee,L)),Ee=__tsover_mul(__tsover_sub(W,__tsover_mul(K,L)),-1),Te=__tsover_sub(__tsover_mul(W,ee),__tsover_mul(K,te)),Ue=__tsover_mul(__tsover_sub(Q,__tsover_mul(ee,O)),-1),Me=__tsover_sub(G,__tsover_mul(K,O)),Pe=__tsover_mul(__tsover_sub(__tsover_mul(G,ee),__tsover_mul(K,Q)),-1),Re=__tsover_sub(__tsover_mul(Q,L),__tsover_mul(te,O)),de=__tsover_mul(__tsover_sub(__tsover_mul(G,L),__tsover_mul(W,O)),-1),je=__tsover_sub(__tsover_mul(G,te),__tsover_mul(W,Q)),fe=t.x,Ke=t.y,Ze=__tsover_add(__tsover_add(__tsover_mul(Re,fe),__tsover_mul(de,Ke)),je),at=Od(__tsover_add(__tsover_add(__tsover_mul(he,fe),__tsover_mul(Ee,Ke)),Te),Ze),Fe=Od(__tsover_add(__tsover_add(__tsover_mul(Ue,fe),__tsover_mul(Me,Ke)),Pe),Ze),Ie=__tsover_add(__tsover_add(__tsover_mul(G,he),__tsover_mul(W,Ue)),__tsover_mul(K,Re));return f(at,Fe,De(a(0),__tsover_mul(Ze,Ie)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"},{type:"i",name:"amount"},{type:"i",name:"c0"},{type:"i",name:"c1"},{type:"i",name:"c2"},{type:"i",name:"c3"}],body:[0,[[13,"amt",[6,"d.vec2f",["amount","amount"]]],[13,"r0",[6,"std.mix",[[6,"d.vec2f",[[5,"0"],[5,"0"]]],[6,"d.vec2f",[[7,"c0","x"],[1,[5,"1"],"-",[7,"c0","y"]]]],"amt"]]],[13,"r1",[6,"std.mix",[[6,"d.vec2f",[[5,"1"],[5,"0"]]],[6,"d.vec2f",[[7,"c1","x"],[1,[5,"1"],"-",[7,"c1","y"]]]],"amt"]]],[13,"r2",[6,"std.mix",[[6,"d.vec2f",[[5,"1"],[5,"1"]]],[6,"d.vec2f",[[7,"c2","x"],[1,[5,"1"],"-",[7,"c2","y"]]]],"amt"]]],[13,"r3",[6,"std.mix",[[6,"d.vec2f",[[5,"0"],[5,"1"]]],[6,"d.vec2f",[[7,"c3","x"],[1,[5,"1"],"-",[7,"c3","y"]]]],"amt"]]],[13,"q0",[6,"cornerConvexify",["r0","r1","r3","r2"]]],[13,"q1",[6,"cornerConvexify",["r1","r0","r2","r3"]]],[13,"q2",[6,"cornerConvexify",["r2","r1","r3","r0"]]],[13,"q3",[6,"cornerConvexify",["r3","r0","r2","r1"]]],[13,"dx1",[1,[7,"q1","x"],"-",[7,"q2","x"]]],[13,"dx2",[1,[7,"q3","x"],"-",[7,"q2","x"]]],[13,"dx3",[1,[1,[1,[7,"q0","x"],"-",[7,"q1","x"]],"+",[7,"q2","x"]],"-",[7,"q3","x"]]],[13,"dy1",[1,[7,"q1","y"],"-",[7,"q2","y"]]],[13,"dy2",[1,[7,"q3","y"],"-",[7,"q2","y"]]],[13,"dy3",[1,[1,[1,[7,"q0","y"],"-",[7,"q1","y"]],"+",[7,"q2","y"]],"-",[7,"q3","y"]]],[13,"denA",[1,[1,"dx1","*","dy2"],"-",[1,"dx2","*","dy1"]]],[13,"a13",[6,"cornerPinSafeDiv",[[1,[1,"dx3","*","dy2"],"-",[1,"dx2","*","dy3"]],"denA"]]],[13,"a23",[6,"cornerPinSafeDiv",[[1,[1,"dx1","*","dy3"],"-",[1,"dx3","*","dy1"]],"denA"]]],[13,"a11",[1,[1,[7,"q1","x"],"-",[7,"q0","x"]],"+",[1,"a13","*",[7,"q1","x"]]]],[13,"a21",[1,[1,[7,"q3","x"],"-",[7,"q0","x"]],"+",[1,"a23","*",[7,"q3","x"]]]],[13,"a31",[7,"q0","x"]],[13,"a12",[1,[1,[7,"q1","y"],"-",[7,"q0","y"]],"+",[1,"a13","*",[7,"q1","y"]]]],[13,"a22",[1,[1,[7,"q3","y"],"-",[7,"q0","y"]],"+",[1,"a23","*",[7,"q3","y"]]]],[13,"a32",[7,"q0","y"]],[13,"c00",[1,"a22","-",[1,"a32","*","a23"]]],[13,"c10",[1,[1,"a21","-",[1,"a31","*","a23"]],"*",[4,"-",[5,"1"]]]],[13,"c20",[1,[1,"a21","*","a32"],"-",[1,"a31","*","a22"]]],[13,"c01",[1,[1,"a12","-",[1,"a32","*","a13"]],"*",[4,"-",[5,"1"]]]],[13,"c11",[1,"a11","-",[1,"a31","*","a13"]]],[13,"c21",[1,[1,[1,"a11","*","a32"],"-",[1,"a31","*","a12"]],"*",[4,"-",[5,"1"]]]],[13,"c02",[1,[1,"a12","*","a23"],"-",[1,"a22","*","a13"]]],[13,"c12",[1,[1,[1,"a11","*","a23"],"-",[1,"a21","*","a13"]],"*",[4,"-",[5,"1"]]]],[13,"c22",[1,[1,"a11","*","a22"],"-",[1,"a21","*","a12"]]],[13,"px",[7,"coord","x"]],[13,"py",[7,"coord","y"]],[13,"den",[1,[1,[1,"c02","*","px"],"+",[1,"c12","*","py"]],"+","c22"]],[13,"su",[6,"cornerPinSafeDiv",[[1,[1,[1,"c00","*","px"],"+",[1,"c10","*","py"]],"+","c20"],"den"]]],[13,"sv",[6,"cornerPinSafeDiv",[[1,[1,[1,"c01","*","px"],"+",[1,"c11","*","py"]],"+","c21"],"den"]]],[13,"det",[1,[1,[1,"a11","*","c00"],"+",[1,"a21","*","c01"]],"+",[1,"a31","*","c02"]]],[13,"front",[6,"std.step",[[6,"d.f32",[[5,"0"]]],[1,"den","*","det"]]]],[10,[6,"d.vec3f",["su","sv","front"]]]]]},externals:{"d.vec2f":()=>l,"std.mix":()=>X,cornerConvexify:()=>Vd,cornerPinSafeDiv:()=>Od,"std.step":()=>De,"d.f32":()=>a,"d.vec3f":()=>f}})&&e.f)({})),hD=v.fn([l,a,a,a,a,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=l(t.x,__tsover_sub(1,t.y)),_=__tsover_div(__tsover_sub(d.x,c.x),n),u=__tsover_div(__tsover_sub(d.y,c.y),n),m=__tsover_mul(s,Le),p=__tsover_mul(r,Le),y=__tsover_mul(o,Le),h=H(m),g=Y(m),w=H(p),S=Y(p),T=__tsover_mul(bp(__tsover_mul(y,.5)),2),A=b(__tsover_add(h,__tsover_mul(__tsover_mul(g,_),T)),.001),P=__tsover_div(_,A),U=__tsover_div(__tsover_mul(u,h),A),D=b(__tsover_add(w,__tsover_mul(__tsover_mul(S,U),T)),.001),O=__tsover_div(__tsover_mul(P,w),D),L=__tsover_div(U,D),G=l(i.x,__tsover_sub(1,i.y));return l(O,L).add(c).sub(G).add(l(.5,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"pan"},{type:"i",name:"tilt"},{type:"i",name:"fov"},{type:"i",name:"zoom"},{type:"i",name:"offset"},{type:"i",name:"uv"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"x",[1,[1,[7,"uv","x"],"-",[7,"centerPos","x"]],"/","zoom"]],[13,"y",[1,[1,[7,"uv","y"],"-",[7,"centerPos","y"]],"/","zoom"]],[13,"panRad",[1,"pan","*","DEG_TO_RAD"]],[13,"tiltRad",[1,"tilt","*","DEG_TO_RAD"]],[13,"fovRad",[1,"fov","*","DEG_TO_RAD"]],[13,"cosPan",[6,"std.cos",["panRad"]]],[13,"sinPan",[6,"std.sin",["panRad"]]],[13,"cosTilt",[6,"std.cos",["tiltRad"]]],[13,"sinTilt",[6,"std.sin",["tiltRad"]]],[13,"perspectiveFactor",[1,[6,"std.tan",[[1,"fovRad","*",[5,"0.5"]]]],"*",[5,"2"]]],[13,"panDivisor",[1,"cosPan","+",[1,[1,"sinPan","*","x"],"*","perspectiveFactor"]]],[13,"safePanDivisor",[6,"std.max",["panDivisor",[5,"0.001"]]]],[13,"afterPanX",[1,"x","/","safePanDivisor"]],[13,"afterPanY",[1,[1,"y","*","cosPan"],"/","safePanDivisor"]],[13,"tiltDivisor",[1,"cosTilt","+",[1,[1,"sinTilt","*","afterPanY"],"*","perspectiveFactor"]]],[13,"safeTiltDivisor",[6,"std.max",["tiltDivisor",[5,"0.001"]]]],[13,"finalX",[1,[1,"afterPanX","*","cosTilt"],"/","safeTiltDivisor"]],[13,"finalY",[1,"afterPanY","/","safeTiltDivisor"]],[13,"offsetPos",[6,"d.vec2f",[[7,"offset","x"],[1,[5,"1"],"-",[7,"offset","y"]]]]],[10,[6,[7,[6,[7,[6,[7,[6,"d.vec2f",["finalX","finalY"]],"add"],["centerPos"]],"sub"],["offsetPos"]],"add"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.tan":()=>bp,"std.max":()=>b}})&&e.f)({})),C3=v.fn([l,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(r.x,__tsover_sub(1,r.y)),i=__tsover_mul(__tsover_sub(t.x,n.x),s),d=__tsover_sub(t.y,n.y),c=H(o),_=Y(o),u=__tsover_sub(__tsover_mul(i,c),__tsover_mul(d,_)),m=__tsover_add(__tsover_mul(i,_),__tsover_mul(d,c));return l(__tsover_add(__tsover_div(u,s),n.x),__tsover_add(m,n.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"},{type:"i",name:"angle"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dx",[1,[1,[7,"uv","x"],"-",[7,"centerPos","x"]],"*","aspect"]],[13,"dy",[1,[7,"uv","y"],"-",[7,"centerPos","y"]]],[13,"cosA",[6,"std.cos",["angle"]]],[13,"sinA",[6,"std.sin",["angle"]]],[13,"rotX",[1,[1,"dx","*","cosA"],"-",[1,"dy","*","sinA"]]],[13,"rotY",[1,[1,"dx","*","sinA"],"+",[1,"dy","*","cosA"]]],[10,[6,"d.vec2f",[[1,[1,"rotX","/","aspect"],"+",[7,"centerPos","x"]],[1,"rotY","+",[7,"centerPos","y"]]]]]]]},externals:{"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),xD=v.fn([l,a,a,a,a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=l(t.x,__tsover_sub(1,t.y)),m=j(l(__tsover_mul(__tsover_sub(c.x,u.x),_),__tsover_sub(c.y,u.y))),p=__tsover_mul(m,r),y=q(p),h=ue(p),g=__tsover_mul(s,Le),w=__tsover_mul(n,.137),S=__tsover_mul(Zn(__tsover_add(y,w)),g),T=__tsover_mul(Zn(__tsover_add(__tsover_add(y,1),w)),g),A=X(1,Zn(__tsover_add(y,42.7)),i),P=X(1,Zn(__tsover_add(__tsover_add(y,1),42.7)),i),U=__tsover_mul(__tsover_mul(d,.25),A),D=__tsover_mul(__tsover_mul(d,.25),P),O=__tsover_add(S,U),L=__tsover_add(T,D),G=__tsover_add(__tsover_sub(L,O),Xr),W=__tsover_sub(__tsover_sub(G,__tsover_mul(it,q(__tsover_div(G,it)))),Xr),K=__tsover_add(__tsover_mul(o,.5),.001),Q=re(__tsover_sub(.5,K),__tsover_add(.5,K),h);return C3(c,_,t,__tsover_add(O,__tsover_mul(W,Q)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"intensity"},{type:"i",name:"rings"},{type:"i",name:"smoothness"},{type:"i",name:"seed"},{type:"i",name:"speedRandomness"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dx",[1,[1,[7,"uv","x"],"-",[7,"centerPos","x"]],"*","aspect"]],[13,"dy",[1,[7,"uv","y"],"-",[7,"centerPos","y"]]],[13,"dist",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[13,"ringCoord",[1,"dist","*","rings"]],[13,"ringIndex",[6,"std.floor",["ringCoord"]]],[13,"ringFrac",[6,"std.fract",["ringCoord"]]],[13,"maxAngle",[1,"intensity","*","DEG_TO_RAD"]],[13,"seedOffset",[1,"seed","*",[5,"0.137"]]],[13,"staticA",[1,[6,"legacySinHash11",[[1,"ringIndex","+","seedOffset"]]],"*","maxAngle"]],[13,"staticB",[1,[6,"legacySinHash11",[[1,[1,"ringIndex","+",[5,"1"]],"+","seedOffset"]]],"*","maxAngle"]],[13,"ringSpeedA",[6,"std.mix",[[5,"1"],[6,"legacySinHash11",[[1,"ringIndex","+",[5,"42.7"]]]],"speedRandomness"]]],[13,"ringSpeedB",[6,"std.mix",[[5,"1"],[6,"legacySinHash11",[[1,[1,"ringIndex","+",[5,"1"]],"+",[5,"42.7"]]]],"speedRandomness"]]],[13,"animA",[1,[1,"animTime","*",[5,"0.25"]],"*","ringSpeedA"]],[13,"animB",[1,[1,"animTime","*",[5,"0.25"]],"*","ringSpeedB"]],[13,"totalA",[1,"staticA","+","animA"]],[13,"totalB",[1,"staticB","+","animB"]],[13,"wrapArg",[1,[1,"totalB","-","totalA"],"+","PI"]],[13,"diff",[1,[1,"wrapArg","-",[1,"TAU","*",[6,"std.floor",[[1,"wrapArg","/","TAU"]]]]],"-","PI"]],[13,"halfEdge",[1,[1,"smoothness","*",[5,"0.5"]],"+",[5,"0.001"]]],[13,"blend",[6,"std.smoothstep",[[1,[5,"0.5"],"-","halfEdge"],[1,[5,"0.5"],"+","halfEdge"],"ringFrac"]]],[13,"angle",[1,"totalA","+",[1,"diff","*","blend"]]],[10,[6,"csRotateUV",["uv","aspect","center","angle"]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.floor":()=>q,"std.fract":()=>ue,DEG_TO_RAD:()=>Le,legacySinHash11:()=>Zn,"std.mix":()=>X,PI:()=>Xr,TAU:()=>it,"std.smoothstep":()=>re,csRotateUV:()=>C3}})&&e.f)({})),gD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(t.x,s),t.y),c=__tsover_mul(n,.7),_=__tsover_mul(i,.2),u=__tsover_mul(go(f(__tsover_add(__tsover_mul(d.x,r),__tsover_mul(c,.3)),__tsover_add(__tsover_mul(d.y,r),__tsover_mul(c,.5)),_)),ao),m=l(H(u),Y(u)),p=__tsover_mul(n,.5),y=__tsover_mul(i,.15),h=__tsover_mul(go(f(__tsover_add(__tsover_add(__tsover_mul(d.x,__tsover_mul(r,2.3)),__tsover_mul(p,-.4)),173.5),__tsover_add(__tsover_add(__tsover_mul(d.y,__tsover_mul(r,2.3)),__tsover_mul(p,.3)),291.7),__tsover_add(y,50))),ao),g=l(H(h),Y(h)),w=__tsover_mul(n,.3),S=__tsover_mul(i,.1),T=__tsover_mul(go(f(__tsover_add(__tsover_add(__tsover_mul(d.x,__tsover_mul(r,4.7)),__tsover_mul(w,.2)),527.3),__tsover_add(__tsover_add(__tsover_mul(d.y,__tsover_mul(r,4.7)),__tsover_mul(w,-.6)),839.1),__tsover_add(S,100))),ao),A=l(H(T),Y(T)),P=m.add(g.mul(.5)).add(A.mul(.25)),U=b(j(P),.001),D=P.div(U),O=l(__tsover_div(__tsover_mul(D.x,o),s),__tsover_mul(D.y,o));return l(__tsover_add(t.x,O.x),__tsover_add(t.y,O.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"scale"},{type:"i",name:"strength"},{type:"i",name:"time"},{type:"i",name:"evolutionTime"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"drift1",[1,"time","*",[5,"0.7"]]],[13,"evolve1",[1,"evolutionTime","*",[5,"0.2"]]],[13,"angle1",[1,[6,"mxNoiseFloat3",[[6,"d.vec3f",[[1,[1,[7,"aspectCorrectedUV","x"],"*","scale"],"+",[1,"drift1","*",[5,"0.3"]]],[1,[1,[7,"aspectCorrectedUV","y"],"*","scale"],"+",[1,"drift1","*",[5,"0.5"]]],"evolve1"]]]],"*","TWO_PI"]],[13,"flow1",[6,"d.vec2f",[[6,"std.cos",["angle1"]],[6,"std.sin",["angle1"]]]]],[13,"drift2",[1,"time","*",[5,"0.5"]]],[13,"evolve2",[1,"evolutionTime","*",[5,"0.15"]]],[13,"angle2",[1,[6,"mxNoiseFloat3",[[6,"d.vec3f",[[1,[1,[1,[7,"aspectCorrectedUV","x"],"*",[1,"scale","*",[5,"2.3"]]],"+",[1,"drift2","*",[4,"-",[5,"0.4"]]]],"+",[5,"173.5"]],[1,[1,[1,[7,"aspectCorrectedUV","y"],"*",[1,"scale","*",[5,"2.3"]]],"+",[1,"drift2","*",[5,"0.3"]]],"+",[5,"291.7"]],[1,"evolve2","+",[5,"50"]]]]]],"*","TWO_PI"]],[13,"flow2",[6,"d.vec2f",[[6,"std.cos",["angle2"]],[6,"std.sin",["angle2"]]]]],[13,"drift3",[1,"time","*",[5,"0.3"]]],[13,"evolve3",[1,"evolutionTime","*",[5,"0.1"]]],[13,"angle3",[1,[6,"mxNoiseFloat3",[[6,"d.vec3f",[[1,[1,[1,[7,"aspectCorrectedUV","x"],"*",[1,"scale","*",[5,"4.7"]]],"+",[1,"drift3","*",[5,"0.2"]]],"+",[5,"527.3"]],[1,[1,[1,[7,"aspectCorrectedUV","y"],"*",[1,"scale","*",[5,"4.7"]]],"+",[1,"drift3","*",[4,"-",[5,"0.6"]]]],"+",[5,"839.1"]],[1,"evolve3","+",[5,"100"]]]]]],"*","TWO_PI"]],[13,"flow3",[6,"d.vec2f",[[6,"std.cos",["angle3"]],[6,"std.sin",["angle3"]]]]],[13,"combinedFlow",[6,[7,[6,[7,"flow1","add"],[[6,[7,"flow2","mul"],[[5,"0.5"]]]]],"add"],[[6,[7,"flow3","mul"],[[5,"0.25"]]]]]],[13,"flowLength",[6,"std.max",[[6,"std.length",["combinedFlow"]],[5,"0.001"]]]],[13,"normalizedFlow",[6,[7,"combinedFlow","div"],["flowLength"]]],[13,"finalFlow",[6,"d.vec2f",[[1,[1,[7,"normalizedFlow","x"],"*","strength"],"/","aspect"],[1,[7,"normalizedFlow","y"],"*","strength"]]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[7,"finalFlow","x"]],[1,[7,"uv","y"],"+",[7,"finalFlow","y"]]]]]]]},externals:{"d.vec2f":()=>l,mxNoiseFloat3:()=>go,"d.vec3f":()=>f,TWO_PI:()=>ao,"std.cos":()=>H,"std.sin":()=>Y,"std.max":()=>b,"std.length":()=>j}})&&e.f)({})),bD=v.fn([l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,Le),d=l(H(i),Y(i)),c=l(__tsover_mul(__tsover_sub(t.x,.5),s),__tsover_sub(t.y,.5)),_=se(c,d),u=__tsover_mul(.5,__tsover_add(__tsover_mul(s,z(d.x)),z(d.y))),m=__tsover_add(__tsover_div(_,__tsover_mul(2,u)),.5),p=q(__tsover_mul(m,b(o,1))),y=__tsover_sub(__tsover_mul(ue(__tsover_mul(p,.5)),4),1),h=l(-d.y,d.x),g=__tsover_mul(.5,__tsover_add(__tsover_mul(s,z(d.y)),z(d.x))),w=__tsover_mul(__tsover_mul(n,__tsover_mul(2.02,g)),y),S=c.add(h.mul(w));return l(__tsover_add(__tsover_div(S.x,s),.5),__tsover_add(S.y,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angleDeg"},{type:"i",name:"sliceCount"},{type:"i",name:"progress"}],body:[0,[[13,"a",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"dir",[6,"d.vec2f",[[6,"std.cos",["a"]],[6,"std.sin",["a"]]]]],[13,"p",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],[1,[7,"uv","y"],"-",[5,"0.5"]]]]],[13,"grad",[6,"std.dot",["p","dir"]]],[13,"ext",[1,[5,"0.5"],"*",[1,[1,"aspect","*",[6,"std.abs",[[7,"dir","x"]]]],"+",[6,"std.abs",[[7,"dir","y"]]]]]],[13,"t",[1,[1,"grad","/",[1,[5,"2"],"*","ext"]],"+",[5,"0.5"]]],[13,"idx",[6,"std.floor",[[1,"t","*",[6,"std.max",["sliceCount",[5,"1"]]]]]]],[13,"sign",[1,[1,[6,"std.fract",[[1,"idx","*",[5,"0.5"]]]],"*",[5,"4"]],"-",[5,"1"]]],[13,"perp",[6,"d.vec2f",[[4,"-",[7,"dir","y"]],[7,"dir","x"]]]],[13,"extPerp",[1,[5,"0.5"],"*",[1,[1,"aspect","*",[6,"std.abs",[[7,"dir","y"]]]],"+",[6,"std.abs",[[7,"dir","x"]]]]]],[13,"slide",[1,[1,"progress","*",[1,[5,"2.02"],"*","extPerp"]],"*","sign"]],[13,"q",[6,[7,"p","add"],[[6,[7,"perp","mul"],["slide"]]]]],[10,[6,"d.vec2f",[[1,[1,[7,"q","x"],"/","aspect"],"+",[5,"0.5"]],[1,[7,"q","y"],"+",[5,"0.5"]]]]]]]},externals:{DEG_TO_RAD:()=>Le,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.abs":()=>z,"std.floor":()=>q,"std.max":()=>b,"std.fract":()=>ue}})&&e.f)({})),R3=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(r,Le),i=H(n),d=Y(n),c=__tsover_mul(t.x,s),_=t.y,u=__tsover_sub(c,__tsover_mul(s,.5)),m=__tsover_sub(_,.5),p=__tsover_add(__tsover_mul(u,i),__tsover_mul(m,d)),y=__tsover_add(__tsover_mul(__tsover_mul(u,d),-1),__tsover_mul(m,i)),h=__tsover_add(y,o),g=__tsover_sub(__tsover_mul(p,i),__tsover_mul(h,d)),w=__tsover_add(__tsover_mul(p,d),__tsover_mul(h,i));return l(__tsover_add(__tsover_div(g,s),.5),__tsover_add(w,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"offset"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"au",[1,[7,"uv","x"],"*","aspect"]],[13,"av",[7,"uv","y"]],[13,"cu",[1,"au","-",[1,"aspect","*",[5,"0.5"]]]],[13,"cv",[1,"av","-",[5,"0.5"]]],[13,"projectedU",[1,[1,"cu","*","cosA"],"+",[1,"cv","*","sinA"]]],[13,"projectedV",[1,[1,[1,"cu","*","sinA"],"*",[4,"-",[5,"1"]]],"+",[1,"cv","*","cosA"]]],[13,"distPV",[1,"projectedV","+","offset"]],[13,"dcu",[1,[1,"projectedU","*","cosA"],"-",[1,"distPV","*","sinA"]]],[13,"dcv",[1,[1,"projectedU","*","sinA"],"+",[1,"distPV","*","cosA"]]],[10,[6,"d.vec2f",[[1,[1,"dcu","/","aspect"],"+",[5,"0.5"]],[1,"dcv","+",[5,"0.5"]]]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),wD=v.fn([a,a,a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_mul(s,Le),_=H(c),u=Y(c),m=b(d,1),p=__tsover_mul(i.x,d),y=i.y,h=__tsover_sub(p,__tsover_mul(d,.5)),g=__tsover_sub(y,.5),w=__tsover_add(__tsover_mul(h,_),__tsover_mul(g,u)),S=q(__tsover_div(__tsover_mul(w,t),m)),T=__tsover_mul(o,.137),A=Zn(__tsover_add(S,T)),P=Zn(__tsover_add(__tsover_add(S,T),42.7)),U=__tsover_mul(__tsover_mul(n,P),.2);return R3(i,d,s,__tsover_mul(__tsover_add(A,U),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"count"},{type:"i",name:"angle"},{type:"i",name:"intensity"},{type:"i",name:"seed"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"longestAxis",[6,"std.max",["aspect",[5,"1"]]]],[13,"au",[1,[7,"uv","x"],"*","aspect"]],[13,"av",[7,"uv","y"]],[13,"cu",[1,"au","-",[1,"aspect","*",[5,"0.5"]]]],[13,"cv",[1,"av","-",[5,"0.5"]]],[13,"projectedU",[1,[1,"cu","*","cosA"],"+",[1,"cv","*","sinA"]]],[13,"barCoord",[1,[1,"projectedU","*","count"],"/","longestAxis"]],[13,"barIndex",[6,"std.floor",["barCoord"]]],[13,"seedOffset",[1,"seed","*",[5,"0.137"]]],[13,"staticOffset",[6,"legacySinHash11",[[1,"barIndex","+","seedOffset"]]]],[13,"barSpeed",[6,"legacySinHash11",[[1,[1,"barIndex","+","seedOffset"],"+",[5,"42.7"]]]]],[13,"animOffset",[1,[1,"animTime","*","barSpeed"],"*",[5,"0.2"]]],[13,"offset",[1,[1,"staticOffset","+","animOffset"],"*","intensity"]],[10,[6,"barSampleUV",["uv","aspect","angle","offset"]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.max":()=>b,"std.floor":()=>q,legacySinHash11:()=>Zn,barSampleUV:()=>R3}})&&e.f)({})),TD=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=r>1,n=b(C(__tsover_mul(s,r),s,o),1),i=b(C(s,__tsover_div(s,r),o),1),d=q(__tsover_mul(t.x,n)),c=q(__tsover_mul(t.y,i));return l(__tsover_div(__tsover_add(d,.5),n),__tsover_div(__tsover_add(c,.5),i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"gridSize"},{type:"i",name:"aspect"}],body:[0,[[13,"isWide",[1,"aspect",">",[5,"1"]]],[13,"cellsX",[6,"std.max",[[6,"std.select",[[1,"gridSize","*","aspect"],"gridSize","isWide"]],[5,"1"]]]],[13,"cellsY",[6,"std.max",[[6,"std.select",["gridSize",[1,"gridSize","/","aspect"],"isWide"]],[5,"1"]]]],[13,"cellIndexX",[6,"std.floor",[[1,[7,"uv","x"],"*","cellsX"]]]],[13,"cellIndexY",[6,"std.floor",[[1,[7,"uv","y"],"*","cellsY"]]]],[10,[6,"d.vec2f",[[1,[1,"cellIndexX","+",[5,"0.5"]],"/","cellsX"],[1,[1,"cellIndexY","+",[5,"0.5"]],"/","cellsY"]]]]]]},externals:{"std.max":()=>b,"std.select":()=>C,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),SD=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let o=$(s,l(-.1,-.1),l(.1,.1));return t.sub(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"disp"}],body:[0,[[13,"maxDisp",[5,"0.1"]],[13,"clamped",[6,"std.clamp",["disp",[6,"d.vec2f",[[4,"-","maxDisp"],[4,"-","maxDisp"]]],[6,"d.vec2f",["maxDisp","maxDisp"]]]]],[10,[6,[7,"uv","sub"],["clamped"]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l}})&&e.f)({})),AD=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=s.mul(__tsover_mul(r,.1)),n=.15,i=$(o,l(-n,-n),l(n,n));return t.sub(i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"disp"},{type:"i",name:"intensity"}],body:[0,[[13,"scaled",[6,[7,"disp","mul"],[[1,"intensity","*",[5,"0.1"]]]]],[13,"maxDisp",[5,"0.15"]],[13,"clamped",[6,"std.clamp",["scaled",[6,"d.vec2f",[[4,"-","maxDisp"],[4,"-","maxDisp"]]],[6,"d.vec2f",["maxDisp","maxDisp"]]]]],[10,[6,[7,"uv","sub"],["clamped"]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l}})&&e.f)({})),MD=v.fn([l,x,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(s.w,1e-4),i=__tsover_div(__tsover_mul(__tsover_mul(__tsover_mul(__tsover_sub(__tsover_div(s.x,n),.5),2),s.w),o),r),d=__tsover_mul(__tsover_mul(__tsover_mul(__tsover_sub(__tsover_div(s.y,n),.5),2),s.w),o);return l(__tsover_add(t.x,i),__tsover_add(t.y,d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"src"},{type:"i",name:"aspect"},{type:"i",name:"amount"}],body:[0,[[13,"a",[6,"std.max",[[7,"src","w"],[5,"0.0001"]]]],[13,"dx",[1,[1,[1,[1,[1,[1,[7,"src","x"],"/","a"],"-",[5,"0.5"]],"*",[5,"2"]],"*",[7,"src","w"]],"*","amount"],"/","aspect"]],[13,"dy",[1,[1,[1,[1,[1,[7,"src","y"],"/","a"],"-",[5,"0.5"]],"*",[5,"2"]],"*",[7,"src","w"]],"*","amount"]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+","dx"],[1,[7,"uv","y"],"+","dy"]]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),PD=v.fn([l,x,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=b(s.w,1e-4),d=se(f(__tsover_div(s.x,i),__tsover_div(s.y,i),__tsover_div(s.z,i)),f(.2126,.7152,.0722)),c=__tsover_mul(__tsover_mul(__tsover_mul(__tsover_sub(d,.5),2),s.w),o),_=__tsover_mul(n,Le),u=__tsover_div(__tsover_mul(c,H(_)),r),m=__tsover_mul(c,Y(_));return l(__tsover_add(t.x,u),__tsover_add(t.y,m))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"src"},{type:"i",name:"aspect"},{type:"i",name:"amount"},{type:"i",name:"angleDeg"}],body:[0,[[13,"a",[6,"std.max",[[7,"src","w"],[5,"0.0001"]]]],[13,"lum",[6,"std.dot",[[6,"d.vec3f",[[1,[7,"src","x"],"/","a"],[1,[7,"src","y"],"/","a"],[1,[7,"src","z"],"/","a"]]],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"scalar",[1,[1,[1,[1,"lum","-",[5,"0.5"]],"*",[5,"2"]],"*",[7,"src","w"]],"*","amount"]],[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"dx",[1,[1,"scalar","*",[6,"std.cos",["angleRad"]]],"/","aspect"]],[13,"dy",[1,"scalar","*",[6,"std.sin",["angleRad"]]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+","dx"],[1,[7,"uv","y"],"+","dy"]]]]]]},externals:{"std.max":()=>b,"std.dot":()=>se,"d.vec3f":()=>f,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),Rm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({refractedUV:l,chrOff:l,slope:a}),"FlutedGeom"),ED=v.fn([l,a,a,a,a,a,a,a,a,a,f],Rm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=m.x,y=m.y,h=m.z,g=__tsover_div(__tsover_mul(o,Xr),180),w=H(g),S=Y(g),T=l(__tsover_mul(__tsover_sub(t.x,.5),s),__tsover_sub(t.y,.5)),A=__tsover_add(__tsover_mul(T.x,w),__tsover_mul(T.y,S)),P=__tsover_add(__tsover_mul(-T.x,S),__tsover_mul(T.y,w)),U=__tsover_mul(Y(__tsover_add(__tsover_mul(__tsover_mul(P,c),__tsover_mul(Xr,2)),__tsover_mul(r,2))),d),D=__tsover_add(A,__tsover_mul(h,U)),O=__tsover_add(__tsover_mul(D,n),r),L=__tsover_mul(__tsover_sub(ue(O),.5),2),G=b(z(L),1e-4),W=X(p,y,i),K=__tsover_mul(ks(L),Ce(G,W)),Q=__tsover_div(.5,b(n,.001)),te=-__tsover_mul(__tsover_mul(K,_),Q),ee=l(__tsover_add(t.x,__tsover_div(__tsover_mul(te,w),s)),__tsover_add(t.y,__tsover_mul(te,S))),he=__tsover_mul(__tsover_mul(te,u),.5);return Rm({refractedUV:ee,chrOff:l(__tsover_div(__tsover_mul(he,w),s),__tsover_mul(he,S)),slope:K})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"t"},{type:"i",name:"angleDeg"},{type:"i",name:"frequency"},{type:"i",name:"softness"},{type:"i",name:"waveAmp"},{type:"i",name:"waveFreq"},{type:"i",name:"refraction"},{type:"i",name:"aberration"},{type:"i",name:"shapeParams"}],body:[0,[[13,"expHi",[7,"shapeParams","x"]],[13,"expLo",[7,"shapeParams","y"]],[13,"wavesFlag",[7,"shapeParams","z"]],[13,"r",[1,[1,"angleDeg","*","PI"],"/",[5,"180"]]],[13,"cosA",[6,"std.cos",["r"]]],[13,"sinA",[6,"std.sin",["r"]]],[13,"aspCorr",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],[1,[7,"uv","y"],"-",[5,"0.5"]]]]],[13,"u",[1,[1,[7,"aspCorr","x"],"*","cosA"],"+",[1,[7,"aspCorr","y"],"*","sinA"]]],[13,"v",[1,[1,[4,"-",[7,"aspCorr","x"]],"*","sinA"],"+",[1,[7,"aspCorr","y"],"*","cosA"]]],[13,"waveTerm",[1,[6,"std.sin",[[1,[1,[1,"v","*","waveFreq"],"*",[1,"PI","*",[5,"2"]]],"+",[1,"t","*",[5,"2"]]]]],"*","waveAmp"]],[13,"fluteU",[1,"u","+",[1,"wavesFlag","*","waveTerm"]]],[13,"flutePos",[1,[1,"fluteU","*","frequency"],"+","t"]],[13,"cellPos",[1,[1,[6,"std.fract",["flutePos"]],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"absCell",[6,"std.max",[[6,"std.abs",["cellPos"]],[5,"0.0001"]]]],[13,"exponent",[6,"std.mix",["expHi","expLo","softness"]]],[13,"slope",[1,[6,"std.sign",["cellPos"]],"*",[6,"std.pow",["absCell","exponent"]]]],[13,"halfCell",[1,[5,"0.5"],"/",[6,"std.max",["frequency",[5,"0.001"]]]]],[13,"refrU",[4,"-",[1,[1,"slope","*","refraction"],"*","halfCell"]]],[13,"refractedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[1,"refrU","*","cosA"],"/","aspect"]],[1,[7,"uv","y"],"+",[1,"refrU","*","sinA"]]]]],[13,"chrU",[1,[1,"refrU","*","aberration"],"*",[5,"0.5"]]],[13,"chrOff",[6,"d.vec2f",[[1,[1,"chrU","*","cosA"],"/","aspect"],[1,"chrU","*","sinA"]]]],[10,[6,"FlutedGeom",[[104,{refractedUV:"refractedUV",chrOff:"chrOff",slope:"slope"}]]]]]]},externals:{PI:()=>Xr,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l,"std.fract":()=>ue,"std.max":()=>b,"std.abs":()=>z,"std.mix":()=>X,"std.sign":()=>ks,"std.pow":()=>Ce,FlutedGeom:()=>Rm}})&&e.f)({})),kD=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=oe(__tsover_mul(t,t),1),i=be(__tsover_sub(1,n)),d=__tsover_div(__tsover_mul(s,Xr),360),c=Y(d),_=H(d),u=b(__tsover_add(__tsover_mul(t,c),__tsover_mul(i,_)),0),m=$l(__tsover_sub(8,__tsover_mul(o,7))),p=Ce(__tsover_sub(1,i),5),y=__tsover_add(.04,__tsover_mul(.96,p));return __tsover_mul(__tsover_mul(Ce(u,m),y),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"slope"},{type:"i",name:"lightAngleDeg"},{type:"i",name:"intensity"},{type:"i",name:"softness"}],body:[0,[[13,"slopeSq",[6,"std.min",[[1,"slope","*","slope"],[5,"1"]]]],[13,"nz",[6,"std.sqrt",[[1,[5,"1"],"-","slopeSq"]]]],[13,"half",[1,[1,"lightAngleDeg","*","PI"],"/",[5,"360"]]],[13,"hx",[6,"std.sin",["half"]]],[13,"hy",[6,"std.cos",["half"]]],[13,"nDotH",[6,"std.max",[[1,[1,"slope","*","hx"],"+",[1,"nz","*","hy"]],[5,"0"]]]],[13,"shininess",[6,"std.exp2",[[1,[5,"8"],"-",[1,"softness","*",[5,"7"]]]]]],[13,"fresnel",[6,"std.pow",[[1,[5,"1"],"-","nz"],[5,"5"]]]],[13,"fresnelMix",[1,[5,"0.04"],"+",[1,[5,"0.96"],"*","fresnel"]]],[10,[1,[1,[6,"std.pow",["nDotH","shininess"]],"*","fresnelMix"],"*","intensity"]]]]},externals:{"std.min":()=>oe,"std.sqrt":()=>be,PI:()=>Xr,"std.sin":()=>Y,"std.cos":()=>H,"std.max":()=>b,"std.exp2":()=>$l,"std.pow":()=>Ce}})&&e.f)({})),zm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({curlUV:l,theta:a,distPastCrease:a,distIntoPeel:a,flatReach:a,peelReach:a,foldBlend:a,showCurl:a}),"PagePeelGeom"),$D=v.fn([l,a,a,a,a,a,a,a],zm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=l(__tsover_mul(t.x,s),t.y),u=l(__tsover_mul(r,s),o),m=l(__tsover_mul(n,s),i).sub(u),p=j(m),y=m.mul(__tsover_div(1,p)),h=se(_.sub(u),y),g=__tsover_mul(d,p),w=g,S=b(__tsover_mul(c,p),1e-4),T=__tsover_div(g,S),A=__tsover_div(__tsover_sub(h,w),S),P=xp($(A,0,1)),U=__tsover_mul(De(0,A),De(A,1)),D=De(P,T),O=__tsover_sub(g,__tsover_mul(S,P)),L=_.add(y.mul(__tsover_sub(O,h))),G=l(__tsover_div(L.x,s),L.y),W=__tsover_mul(__tsover_mul(__tsover_mul(De(0,G.x),De(G.x,1)),De(0,G.y)),De(G.y,1)),K=__tsover_sub(1,H($(T,0,Gl))),Q=__tsover_mul(S,K),te=b(__tsover_add(S,__tsover_mul(Q,.5)),1e-4),ee=__tsover_sub(h,w),he=b(__tsover_mul(Q,2.5),1e-4);return zm({curlUV:G,theta:P,distPastCrease:ee,distIntoPeel:__tsover_sub(w,h),flatReach:te,peelReach:he,foldBlend:re(__tsover_sub(w,.0015),__tsover_add(w,.0015),h),showCurl:__tsover_mul(__tsover_mul(U,D),W)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"cornerX"},{type:"i",name:"cornerY"},{type:"i",name:"oppX"},{type:"i",name:"oppY"},{type:"i",name:"amount"},{type:"i",name:"radius"}],body:[0,[[13,"pA",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"cornerA",[6,"d.vec2f",[[1,"cornerX","*","aspect"],"cornerY"]]],[13,"oppA",[6,"d.vec2f",[[1,"oppX","*","aspect"],"oppY"]]],[13,"axisVec",[6,[7,"oppA","sub"],["cornerA"]]],[13,"L",[6,"std.length",["axisVec"]]],[13,"axis",[6,[7,"axisVec","mul"],[[1,[5,"1"],"/","L"]]]],[13,"t",[6,"std.dot",[[6,[7,"pA","sub"],["cornerA"]],"axis"]]],[13,"peel",[1,"amount","*","L"]],[13,"cFold","peel"],[13,"R",[6,"std.max",[[1,"radius","*","L"],[5,"0.0001"]]]],[13,"thetaMax",[1,"peel","/","R"]],[13,"X",[1,[1,"t","-","cFold"],"/","R"]],[13,"Xc",[6,"std.clamp",["X",[5,"0"],[5,"1"]]]],[13,"theta",[6,"std.asin",["Xc"]]],[13,"inBand",[1,[6,"std.step",[[5,"0"],"X"]],"*",[6,"std.step",["X",[5,"1"]]]]],[13,"paper",[6,"std.step",["theta","thetaMax"]]],[13,"cCurl",[1,"peel","-",[1,"R","*","theta"]]],[13,"sourceA",[6,[7,"pA","add"],[[6,[7,"axis","mul"],[[1,"cCurl","-","t"]]]]]],[13,"curlUV",[6,"d.vec2f",[[1,[7,"sourceA","x"],"/","aspect"],[7,"sourceA","y"]]]],[13,"curlInBounds",[1,[1,[1,[6,"std.step",[[5,"0"],[7,"curlUV","x"]]],"*",[6,"std.step",[[7,"curlUV","x"],[5,"1"]]]],"*",[6,"std.step",[[5,"0"],[7,"curlUV","y"]]]],"*",[6,"std.step",[[7,"curlUV","y"],[5,"1"]]]]],[13,"liftFrac",[1,[5,"1"],"-",[6,"std.cos",[[6,"std.clamp",["thetaMax",[5,"0"],"HALF_PI"]]]]]],[13,"lipHeight",[1,"R","*","liftFrac"]],[13,"flatReach",[6,"std.max",[[1,"R","+",[1,"lipHeight","*",[5,"0.5"]]],[5,"0.0001"]]]],[13,"distPastCrease",[1,"t","-","cFold"]],[13,"peelReach",[6,"std.max",[[1,"lipHeight","*",[5,"2.5"]],[5,"0.0001"]]]],[13,"distIntoPeel",[1,"cFold","-","t"]],[13,"foldBlend",[6,"std.smoothstep",[[1,"cFold","-",[5,"0.0015"]],[1,"cFold","+",[5,"0.0015"]],"t"]]],[13,"showCurl",[1,[1,"inBand","*","paper"],"*","curlInBounds"]],[10,[6,"PagePeelGeom",[[104,{curlUV:"curlUV",theta:"theta",distPastCrease:"distPastCrease",distIntoPeel:"distIntoPeel",flatReach:"flatReach",peelReach:"peelReach",foldBlend:"foldBlend",showCurl:"showCurl"}]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.dot":()=>se,"std.max":()=>b,"std.clamp":()=>$,"std.asin":()=>xp,"std.step":()=>De,"std.cos":()=>H,HALF_PI:()=>Gl,"std.smoothstep":()=>re,PagePeelGeom:()=>zm}})&&e.f)({})),UD=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=H(t);return __tsover_sub(1,__tsover_mul(s,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"theta"},{type:"i",name:"shading"}],body:[0,[[13,"facing",[6,"std.cos",["theta"]]],[10,[1,[5,"1"],"-",[1,"shading","*","facing"]]]]]},externals:{"std.cos":()=>H}})&&e.f)({})),CD=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(t,Gl),n=X(.05,.4,r),i=__tsover_div(__tsover_sub(o,.65),n);return __tsover_mul(ct(__tsover_mul(__tsover_mul(i,i),-.5)),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"theta"},{type:"i",name:"intensity"},{type:"i",name:"softness"}],body:[0,[[13,"thetaN",[1,"theta","/","HALF_PI"]],[13,"specSigma",[6,"std.mix",[[5,"0.05"],[5,"0.4"],"softness"]]],[13,"specDelta",[1,[1,"thetaN","-",[5,"0.65"]],"/","specSigma"]],[10,[1,[6,"std.exp",[[1,[1,"specDelta","*","specDelta"],"*",[4,"-",[5,"0.5"]]]]],"*","intensity"]]]]},externals:{HALF_PI:()=>Gl,"std.mix":()=>X,"std.exp":()=>ct}})&&e.f)({})),eu=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(re(0,.04,t),Ce(__tsover_sub(1,t),.7))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"amount"}],body:[0,[[10,[1,[6,"std.smoothstep",[[5,"0"],[5,"0.04"],"amount"]],"*",[6,"std.pow",[[1,[5,"1"],"-","amount"],[5,"0.7"]]]]]]]},externals:{"std.smoothstep":()=>re,"std.pow":()=>Ce}})&&e.f)({})),tu=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_mul(Ce(__tsover_sub(1,re(0,s,t)),r),De(0,t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"reach"},{type:"i",name:"exponent"}],body:[0,[[10,[1,[6,"std.pow",[[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"reach","dist"]]],"exponent"]],"*",[6,"std.step",[[5,"0"],"dist"]]]]]]},externals:{"std.pow":()=>Ce,"std.smoothstep":()=>re,"std.step":()=>De}})&&e.f)({})),RD=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(tu(t,s,2),eu(r));return __tsover_sub(1,__tsover_mul(__tsover_mul(o,n),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"reach"},{type:"i",name:"amount"},{type:"i",name:"shadow"}],body:[0,[[13,"fall",[1,[6,"shadowFalloff",["dist","reach",[5,"2"]]],"*",[6,"liftShadowStrength",["amount"]]]],[10,[1,[5,"1"],"-",[1,[1,"shadow","*","fall"],"*",[5,"0.5"]]]]]]},externals:{shadowFalloff:()=>tu,liftShadowStrength:()=>eu}})&&e.f)({})),zD=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(__tsover_mul(tu(t,s,1.5),eu(r)),o);return __tsover_mul(n,.6)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"reach"},{type:"i",name:"amount"},{type:"i",name:"shadow"}],body:[0,[[13,"fall",[1,[1,[6,"shadowFalloff",["dist","reach",[5,"1.5"]]],"*",[6,"liftShadowStrength",["amount"]]],"*","shadow"]],[10,[1,"fall","*",[5,"0.6"]]]]]},externals:{shadowFalloff:()=>tu,liftShadowStrength:()=>eu}})&&e.f)({})),GD=v.fn([x,x,a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=x(t.xyz.mul(r).add(__tsover_mul(o,t.w)),t.w),u=x(s.xyz.mul(n),s.w);return C(X(x(0,0,0,i),u,x(d)),_,c>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"curlSample"},{type:"i",name:"flatSample"},{type:"i",name:"curlBright"},{type:"i",name:"spec"},{type:"i",name:"flatShade"},{type:"i",name:"peelAlpha"},{type:"i",name:"foldBlend"},{type:"i",name:"showCurl"}],body:[0,[[13,"litRgb",[6,[7,[6,[7,[7,"curlSample","xyz"],"mul"],["curlBright"]],"add"],[[1,"spec","*",[7,"curlSample","w"]]]]],[13,"curlColor",[6,"d.vec4f",["litRgb",[7,"curlSample","w"]]]],[13,"flatColor",[6,"d.vec4f",[[6,[7,[7,"flatSample","xyz"],"mul"],["flatShade"]],[7,"flatSample","w"]]]],[13,"peeledColor",[6,"d.vec4f",[[5,"0"],[5,"0"],[5,"0"],"peelAlpha"]]],[13,"base",[6,"std.mix",["peeledColor","flatColor",[6,"d.vec4f",["foldBlend"]]]]],[10,[6,"std.select",["base","curlColor",[1,"showCurl",">",[5,"0.5"]]]]]]]},externals:{"d.vec4f":()=>x,"std.mix":()=>X,"std.select":()=>C}})&&e.f)({})),Gm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({uv:l,coverage:a,normal:f}),"SphereBulge"),YD=v.fn([l,l,l,a,a],Gm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_div(s.x,s.y),d=r.x,c=__tsover_sub(1,r.y),_=__tsover_mul(__tsover_sub(t.x,d),i),u=__tsover_sub(t.y,c),m=__tsover_div(__tsover_mul(_,2),o),p=__tsover_div(__tsover_mul(u,2),o),y=__tsover_add(__tsover_mul(m,m),__tsover_mul(p,p)),h=__tsover_sub(1,re(.98,1,y)),g=be(b(a(0),__tsover_sub(1,y))),w=__tsover_add(1,__tsover_mul(g,n)),S=__tsover_div(__tsover_mul(__tsover_div(m,w),o),2),T=__tsover_div(__tsover_mul(__tsover_div(p,w),o),2),A=__tsover_add(__tsover_div(S,i),d),P=__tsover_add(T,c),U=as(f(m,p,g));return Gm({uv:l(A,P),coverage:h,normal:U})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"center"},{type:"i",name:"radius"},{type:"i",name:"depth"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"centerX",[7,"center","x"]],[13,"centerY",[1,[5,"1"],"-",[7,"center","y"]]],[13,"cuX",[1,[1,[7,"uv","x"],"-","centerX"],"*","aspect"]],[13,"cuY",[1,[7,"uv","y"],"-","centerY"]],[13,"sphereX",[1,[1,"cuX","*",[5,"2"]],"/","radius"]],[13,"sphereY",[1,[1,"cuY","*",[5,"2"]],"/","radius"]],[13,"radiusSq",[1,[1,"sphereX","*","sphereX"],"+",[1,"sphereY","*","sphereY"]]],[13,"sphereAlpha",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0.98"],[5,"1"],"radiusSq"]]]],[13,"z",[6,"std.sqrt",[[6,"std.max",[[6,"d.f32",[[5,"0"]]],[1,[5,"1"],"-","radiusSq"]]]]]],[13,"depthFactor",[1,[5,"1"],"+",[1,"z","*","depth"]]],[13,"finalX",[1,[1,[1,"sphereX","/","depthFactor"],"*","radius"],"/",[5,"2"]]],[13,"finalY",[1,[1,[1,"sphereY","/","depthFactor"],"*","radius"],"/",[5,"2"]]],[13,"transformedX",[1,[1,"finalX","/","aspect"],"+","centerX"]],[13,"transformedY",[1,"finalY","+","centerY"]],[13,"normal",[6,"std.normalize",[[6,"d.vec3f",["sphereX","sphereY","z"]]]]],[10,[6,"SphereBulge",[[104,{uv:[6,"d.vec2f",["transformedX","transformedY"]],coverage:"sphereAlpha",normal:"normal"}]]]]]]},externals:{"std.smoothstep":()=>re,"std.sqrt":()=>be,"std.max":()=>b,"d.f32":()=>a,"std.normalize":()=>as,"d.vec3f":()=>f,SphereBulge:()=>Gm,"d.vec2f":()=>l}})&&e.f)({})),LD=v.fn([f,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=f(0,0,1),i=__tsover_add(1,__tsover_mul(4,__tsover_sub(1,o))),d=Ce(__tsover_sub(1,b(se(t,n),a(0))),i),c=__tsover_mul(__tsover_sub(s.x,.5),2),_=__tsover_mul(__tsover_sub(__tsover_sub(1,s.y),.5),2),u=as(l(__tsover_add(t.x,1e-4),__tsover_add(t.y,1e-4))),m=as(l(__tsover_add(c,1e-4),__tsover_add(_,1e-4))),p=Ce(b(a(0),se(u,m)),a(2));return __tsover_mul(__tsover_mul(__tsover_mul(d,p),r),2)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"normal"},{type:"i",name:"lightPos"},{type:"i",name:"intensity"},{type:"i",name:"softness"}],body:[0,[[13,"viewDir",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"1"]]]],[13,"fresnelPower",[1,[5,"1"],"+",[1,[5,"4"],"*",[1,[5,"1"],"-","softness"]]]],[13,"fresnel",[6,"std.pow",[[1,[5,"1"],"-",[6,"std.max",[[6,"std.dot",["normal","viewDir"]],[6,"d.f32",[[5,"0"]]]]]],"fresnelPower"]]],[13,"lightDir2Dx",[1,[1,[7,"lightPos","x"],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"lightDir2Dy",[1,[1,[1,[5,"1"],"-",[7,"lightPos","y"]],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"normalDir",[6,"std.normalize",[[6,"d.vec2f",[[1,[7,"normal","x"],"+",[5,"0.0001"]],[1,[7,"normal","y"],"+",[5,"0.0001"]]]]]]],[13,"lightDirNorm",[6,"std.normalize",[[6,"d.vec2f",[[1,"lightDir2Dx","+",[5,"0.0001"]],[1,"lightDir2Dy","+",[5,"0.0001"]]]]]]],[13,"directionality",[6,"std.max",[[6,"d.f32",[[5,"0"]]],[6,"std.dot",["normalDir","lightDirNorm"]]]]],[13,"directionalBias",[6,"std.pow",["directionality",[6,"d.f32",[[5,"2"]]]]]],[10,[1,[1,[1,"fresnel","*","directionalBias"],"*","intensity"],"*",[5,"2"]]]]]},externals:{"d.vec3f":()=>f,"std.pow":()=>Ce,"std.max":()=>b,"std.dot":()=>se,"d.f32":()=>a,"std.normalize":()=>as,"d.vec2f":()=>l}})&&e.f)({})),ID=v.fn([x,f,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return x(__tsover_add(t.x,__tsover_mul(s.x,r)),__tsover_add(t.y,__tsover_mul(s.y,r)),__tsover_add(t.z,__tsover_mul(s.z,r)),__tsover_mul(t.w,o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"straight"},{type:"i",name:"lightColor"},{type:"i",name:"rim"},{type:"i",name:"coverage"}],body:[0,[[13,"r",[1,[7,"straight","x"],"+",[1,[7,"lightColor","x"],"*","rim"]]],[13,"g",[1,[7,"straight","y"],"+",[1,[7,"lightColor","y"],"*","rim"]]],[13,"b",[1,[7,"straight","z"],"+",[1,[7,"lightColor","z"],"*","rim"]]],[13,"a",[1,[7,"straight","w"],"*","coverage"]],[10,[6,"d.vec4f",["r","g","b","a"]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({}));var z3=1/360,DD=v.fn([l,l,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=hm(t),d=hm(s),c=d.sub(i),_=j(c),u=as(c),m=b(n.y,1e-6),p=__tsover_div(n.x,m),y=__tsover_mul(__tsover_mul(r,Le),-1),h=H(y),g=Y(y),w=i.add(d).mul(.5),S=o.sub(w),T=Eo(l(__tsover_mul(S.x,p),S.y),h,g),A=se(l(__tsover_div(T.x,p),T.y).add(w).sub(i),u);return __tsover_div(A,b(_,1e-6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"start"},{type:"i",name:"end"},{type:"i",name:"angle"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"startPos",[6,"unflipPosition",["start"]]],[13,"endPos",[6,"unflipPosition",["end"]]],[13,"gradientVector",[6,[7,"endPos","sub"],["startPos"]]],[13,"gradientLength",[6,"std.length",["gradientVector"]]],[13,"gradientDir",[6,"std.normalize",["gradientVector"]]],[13,"safeViewportY",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]],[13,"aspect",[1,[7,"viewport","x"],"/","safeViewportY"]],[13,"angleRad",[1,[1,"angle","*","DEG_TO_RAD"],"*",[4,"-",[5,"1"]]]],[13,"cosAngle",[6,"std.cos",["angleRad"]]],[13,"sinAngle",[6,"std.sin",["angleRad"]]],[13,"midpoint",[6,[7,[6,[7,"startPos","add"],["endPos"]],"mul"],[[5,"0.5"]]]],[13,"centeredUV",[6,[7,"uv","sub"],["midpoint"]]],[13,"rotated",[6,"geom.rotate2",[[6,"d.vec2f",[[1,[7,"centeredUV","x"],"*","aspect"],[7,"centeredUV","y"]]],"cosAngle","sinAngle"]]],[13,"rotatedUV",[6,[7,[6,"d.vec2f",[[1,[7,"rotated","x"],"/","aspect"],[7,"rotated","y"]]],"add"],["midpoint"]]],[13,"relativePos",[6,[7,"rotatedUV","sub"],["startPos"]]],[13,"projection",[6,"std.dot",["relativePos","gradientDir"]]],[10,[1,"projection","/",[6,"std.max",["gradientLength",[5,"0.000001"]]]]]]]},externals:{unflipPosition:()=>hm,"std.length":()=>j,"std.normalize":()=>as,"std.max":()=>b,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"geom.rotate2":()=>Eo,"d.vec2f":()=>l,"std.dot":()=>se}})&&e.f)({})),FD=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=bo(z(t),2);return C(s,__tsover_sub(2,s),s>1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[13,"m",[6,"std.mod",[[6,"std.abs",["t"]],[5,"2"]]]],[10,[6,"std.select",["m",[1,[5,"2"],"-","m"],[1,"m",">",[5,"1"]]]]]]]},externals:{"std.mod":()=>bo,"std.abs":()=>z,"std.select":()=>C}})&&e.f)({})),BD=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[6,"std.fract",["t"]]]]]},externals:{"std.fract":()=>ue}})&&e.f)({})),WD=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return $(t,0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[6,"std.clamp",["t",[5,"0"],[5,"1"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),OD=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=C(a(0),a(1),t>=0),r=C(a(0),a(1),t<=1);return __tsover_mul(s,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[13,"inLow",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"t",">=",[5,"0"]]]]],[13,"inHigh",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"t","<=",[5,"1"]]]]],[10,[1,"inLow","*","inHigh"]]]]},externals:{"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})),VD=v.fn([l,a,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ua(n,t,i),c=__tsover_mul(s,Le),_=Eo(d,H(c),-Y(c)),u=j(l(__tsover_mul(_.x,r),_.y)),m=b(o,1e-6);return __tsover_div(u,m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"skewAngle"},{type:"i",name:"ellipseAspect"},{type:"i",name:"radius"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"delta",[6,"aspectCenteredDelta",["uv","center","viewport"]]],[13,"skewRad",[1,"skewAngle","*","DEG_TO_RAD"]],[13,"cosS",[6,"std.cos",["skewRad"]]],[13,"sinS",[6,"std.sin",["skewRad"]]],[13,"rotated",[6,"geom.rotate2",["delta","cosS",[4,"-","sinS"]]]],[13,"stretched",[6,"d.vec2f",[[1,[7,"rotated","x"],"*","ellipseAspect"],[7,"rotated","y"]]]],[13,"dist",[6,"std.length",["stretched"]]],[13,"safeRadius",[6,"std.max",["radius",[5,"0.000001"]]]],[10,[1,"dist","/","safeRadius"]]]]},externals:{aspectCenteredDelta:()=>ua,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"geom.rotate2":()=>Eo,"d.vec2f":()=>l,"std.length":()=>j,"std.max":()=>b}})&&e.f)({})),ND=v.fn([l,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=ua(r,t,o),i=tt(n.y,n.x),d=__tsover_sub(.5,__tsover_div(i,it)),c=__tsover_mul(s,z3);return __tsover_add(d,c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"rotation"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"delta",[6,"aspectCenteredDelta",["uv","center","viewport"]]],[13,"angle",[6,"std.atan2",[[7,"delta","y"],[7,"delta","x"]]]],[13,"normalized",[1,[5,"0.5"],"-",[1,"angle","/","TAU"]]],[13,"rotationFraction",[1,"rotation","*","INV_360"]],[10,[1,"normalized","+","rotationFraction"]]]]},externals:{aspectCenteredDelta:()=>ua,"std.atan2":()=>tt,TAU:()=>it,INV_360:()=>z3}})&&e.f)({})),qD=v.fn([l,a,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ua(n,t,i),c=__tsover_mul(r,Le),_=Eo(d,H(c),-Y(c)),u=z(_.x),m=z(_.y),p=X(__tsover_add(u,m),b(u,m),o);return __tsover_div(p,s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"size"},{type:"i",name:"rotation"},{type:"i",name:"roundness"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"delta",[6,"aspectCenteredDelta",["uv","center","viewport"]]],[13,"rotRad",[1,"rotation","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rotated",[6,"geom.rotate2",["delta","cosR",[4,"-","sinR"]]]],[13,"absDx",[6,"std.abs",[[7,"rotated","x"]]]],[13,"absDy",[6,"std.abs",[[7,"rotated","y"]]]],[13,"l1",[1,"absDx","+","absDy"]],[13,"linf",[6,"std.max",["absDx","absDy"]]],[13,"dist",[6,"std.mix",["l1","linf","roundness"]]],[10,[1,"dist","/","size"]]]]},externals:{aspectCenteredDelta:()=>ua,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"geom.rotate2":()=>Eo,"std.abs":()=>z,"std.max":()=>b,"std.mix":()=>X}})&&e.f)({})),XD=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(t,s);return C($(r,0,1),ue(r),s>1.0001)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"repeat"}],body:[0,[[13,"s",[1,"t","*","repeat"]],[10,[6,"std.select",[[6,"std.clamp",["s",[5,"0"],[5,"1"]]],[6,"std.fract",["s"]],[1,"repeat",">",[5,"1.0001"]]]]]]]},externals:{"std.select":()=>C,"std.clamp":()=>$,"std.fract":()=>ue}})&&e.f)({})),HD=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return ue(__tsover_mul(t,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"repeat"}],body:[0,[[10,[6,"std.fract",[[1,"t","*","repeat"]]]]]]},externals:{"std.fract":()=>ue}})&&e.f)({})),jD=v.fn([l,l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,Le),d=bt(s),c=__tsover_add(Dl(ma(t,d),H(i),Y(i)),__tsover_mul(d,.5));return ue(__tsover_add(__tsover_mul(__tsover_mul(c,o),.2),n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"scale"},{type:"i",name:"animTime"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"projectedCoord",[1,[6,"directionalProjection",[[6,"canvasCentredDelta",["uv","aspect"]],[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]],"+",[1,"aspect","*",[5,"0.5"]]]],[10,[6,"std.fract",[[1,[1,[1,"projectedCoord","*","scale"],"*",[5,"0.2"]],"+","animTime"]]]]]]},externals:{DEG_TO_RAD:()=>Le,"geom.aspectOf":()=>bt,directionalProjection:()=>Dl,canvasCentredDelta:()=>ma,"std.cos":()=>H,"std.sin":()=>Y,"std.fract":()=>ue}})&&e.f)({})),KD=v.fn([a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_mul(t,6);return x($(__tsover_sub(z(__tsover_sub(s,3)),1),0,1),$(__tsover_sub(2,z(__tsover_sub(s,2))),0,1),$(__tsover_sub(2,z(__tsover_sub(s,4))),0,1),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[13,"h6",[1,"t","*",[5,"6"]]],[13,"r",[6,"std.clamp",[[1,[6,"std.abs",[[1,"h6","-",[5,"3"]]]],"-",[5,"1"]],[5,"0"],[5,"1"]]]],[13,"g",[6,"std.clamp",[[1,[5,"2"],"-",[6,"std.abs",[[1,"h6","-",[5,"2"]]]]],[5,"0"],[5,"1"]]]],[13,"b",[6,"std.clamp",[[1,[5,"2"],"-",[6,"std.abs",[[1,"h6","-",[5,"4"]]]]],[5,"0"],[5,"1"]]]],[10,[6,"d.vec4f",["r","g","b",[5,"1"]]]]]]},externals:{"std.clamp":()=>$,"std.abs":()=>z,"d.vec4f":()=>x}})&&e.f)({})),ZD=v.fn([a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_mul(t,3);return l(ue(s),q(s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[13,"t3",[1,"t","*",[5,"3"]]],[10,[6,"d.vec2f",[[6,"std.fract",["t3"]],[6,"std.floor",["t3"]]]]]]]},externals:{"d.vec2f":()=>l,"std.fract":()=>ue,"std.floor":()=>q}})&&e.f)({})),QD=v.fn([x,x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return X(X(r,s,De(o,1.5)),t,De(o,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"c01"},{type:"i",name:"c12"},{type:"i",name:"c20"},{type:"i",name:"floorT3"}],body:[0,[[13,"seg1",[6,"std.mix",["c20","c12",[6,"std.step",["floorT3",[5,"1.5"]]]]]],[10,[6,"std.mix",["seg1","c01",[6,"std.step",["floorT3",[5,"0.5"]]]]]]]]},externals:{"std.mix":()=>X,"std.step":()=>De}})&&e.f)({})),G3=v.fn([l,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_div(n.x,n.y),d=__tsover_sub(__tsover_mul(o.x,i),__tsover_mul(t.x,i)),c=__tsover_sub(o.y,__tsover_sub(1,t.y)),_=j(l(d,c)),u=__tsover_sub(tt(c,d),r);return __tsover_add(__tsover_mul(_,s),__tsover_div(u,ao))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"scale"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"dx",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,[7,"center","x"],"*","aspect"]]],[13,"dy",[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]],[13,"l",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[13,"angle",[1,[6,"std.atan2",["dy","dx"]],"-","animTime"]],[10,[1,[1,"l","*","scale"],"+",[1,"angle","/","TWO_PI"]]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.atan2":()=>tt,TWO_PI:()=>ao}})&&e.f)({})),JD=v.fn([l,a,a,a,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_div(c.x,c.y),u=j(l(__tsover_sub(__tsover_mul(d.x,_),__tsover_mul(t.x,_)),__tsover_sub(d.y,__tsover_sub(1,t.y)))),m=G3(t,s,i,d,c),p=ue(m),y=__tsover_mul(z(__tsover_sub(p,.5)),2),h=$(r,__tsover_mul(o,.005),1),g=__tsover_sub(1,__tsover_mul($(o,0,1),u)),w=__tsover_mul(h,g),S=Zt(m),T=__tsover_sub(4,__tsover_mul(__tsover_mul(re(.05,.4,__tsover_mul(r,2)),re(.05,.4,__tsover_mul(__tsover_sub(1,r),2))),3)),A=X(__tsover_mul(T,S),Zt(y),$(S,0,1));return re(__tsover_sub(__tsover_sub(w,A),n),__tsover_add(__tsover_add(w,A),n),y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"scale"},{type:"i",name:"strokeWidth"},{type:"i",name:"strokeFalloff"},{type:"i",name:"softness"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"dx",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,[7,"center","x"],"*","aspect"]]],[13,"dy",[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]],[13,"l",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[13,"offset",[6,"spiralOffset",["center","scale","animTime","uv","viewport"]]],[13,"stripe",[6,"std.fract",["offset"]]],[13,"shape",[1,[6,"std.abs",[[1,"stripe","-",[5,"0.5"]]]],"*",[5,"2"]]],[13,"baseWidth",[6,"std.clamp",["strokeWidth",[1,"strokeFalloff","*",[5,"0.005"]],[5,"1"]]]],[13,"falloffAmount",[1,[5,"1"],"-",[1,[6,"std.clamp",["strokeFalloff",[5,"0"],[5,"1"]]],"*","l"]]],[13,"width",[1,"baseWidth","*","falloffAmount"]],[13,"fw",[6,"std.fwidth",["offset"]]],[13,"fwMult",[1,[5,"4"],"-",[1,[1,[6,"std.smoothstep",[[5,"0.05"],[5,"0.4"],[1,"strokeWidth","*",[5,"2"]]]],"*",[6,"std.smoothstep",[[5,"0.05"],[5,"0.4"],[1,[1,[5,"1"],"-","strokeWidth"],"*",[5,"2"]]]]],"*",[5,"3"]]]],[13,"pixelSize",[6,"std.mix",[[1,"fwMult","*","fw"],[6,"std.fwidth",["shape"]],[6,"std.clamp",["fw",[5,"0"],[5,"1"]]]]]],[10,[6,"std.smoothstep",[[1,[1,"width","-","pixelSize"],"-","softness"],[1,[1,"width","+","pixelSize"],"+","softness"],"shape"]]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,spiralOffset:()=>G3,"std.fract":()=>ue,"std.abs":()=>z,"std.clamp":()=>$,"std.fwidth":()=>Zt,"std.smoothstep":()=>re,"std.mix":()=>X}})&&e.f)({})),Si=v.fn([l,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(t.x,s.x),n=__tsover_sub(t.y,s.y),i=__tsover_add(be(__tsover_add(__tsover_mul(o,o),__tsover_mul(n,n))),.001);return __tsover_div(1,Ce(i,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvAspect"},{type:"i",name:"pos"},{type:"i",name:"effPower"}],body:[0,[[13,"dx",[1,[7,"uvAspect","x"],"-",[7,"pos","x"]]],[13,"dy",[1,[7,"uvAspect","y"],"-",[7,"pos","y"]]],[13,"dist",[1,[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]],"+",[5,"0.001"]]],[10,[1,[5,"1"],"/",[6,"std.pow",["dist","effPower"]]]]]]},externals:{"std.sqrt":()=>be,"std.pow":()=>Ce}})&&e.f)({})),eF=v.fn([l,l,l,l,l,l,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=bt(s),u=l(__tsover_mul(t.x,_),t.y),m=bn(r,_),p=bn(o,_),y=bn(n,_),h=bn(i,_),g=bn(d,_),w=oe(__tsover_div(8,__tsover_add(c,.5)),8),S=Si(u,m,w),T=Si(u,p,w),A=Si(u,y,w),P=Si(u,h,w),U=Si(u,g,w),D=S,O=__tsover_div(T,__tsover_add(D,T)),L=__tsover_add(D,T),G=__tsover_div(A,__tsover_add(L,A)),W=__tsover_add(L,A),K=__tsover_div(P,__tsover_add(W,P)),Q=__tsover_add(W,P);return x(O,G,K,__tsover_div(U,__tsover_add(Q,U)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"vp"},{type:"i",name:"posA"},{type:"i",name:"posB"},{type:"i",name:"posC"},{type:"i",name:"posD"},{type:"i",name:"posE"},{type:"i",name:"smoothness"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["vp"]]],[13,"uvAspect",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"pA",[6,"aspectCentrePosition",["posA","aspect"]]],[13,"pB",[6,"aspectCentrePosition",["posB","aspect"]]],[13,"pC",[6,"aspectCentrePosition",["posC","aspect"]]],[13,"pD",[6,"aspectCentrePosition",["posD","aspect"]]],[13,"pE",[6,"aspectCentrePosition",["posE","aspect"]]],[13,"effPower",[6,"std.min",[[1,[5,"8"],"/",[1,"smoothness","+",[5,"0.5"]]],[5,"8"]]]],[13,"wA",[6,"mpgWeight",["uvAspect","pA","effPower"]]],[13,"wB",[6,"mpgWeight",["uvAspect","pB","effPower"]]],[13,"wC",[6,"mpgWeight",["uvAspect","pC","effPower"]]],[13,"wD",[6,"mpgWeight",["uvAspect","pD","effPower"]]],[13,"wE",[6,"mpgWeight",["uvAspect","pE","effPower"]]],[13,"accW1","wA"],[13,"t1",[1,"wB","/",[1,"accW1","+","wB"]]],[13,"accW2",[1,"accW1","+","wB"]],[13,"t2",[1,"wC","/",[1,"accW2","+","wC"]]],[13,"accW3",[1,"accW2","+","wC"]],[13,"t3",[1,"wD","/",[1,"accW3","+","wD"]]],[13,"accW4",[1,"accW3","+","wD"]],[13,"t4",[1,"wE","/",[1,"accW4","+","wE"]]],[10,[6,"d.vec4f",["t1","t2","t3","t4"]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,aspectCentrePosition:()=>bn,"std.min":()=>oe,mpgWeight:()=>Si,"d.vec4f":()=>x}})&&e.f)({})),tF=v.fn([l,l,l,l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=bt(s),u=l(r.x,__tsover_sub(1,r.y)),m=l(o.x,__tsover_sub(1,o.y)),p=l(__tsover_mul(u.x,_),u.y),y=l(__tsover_mul(m.x,_),m.y),h=t3(l(__tsover_mul(t.x,_),t.y),p,y),g=s3(h.y,h.x,__tsover_mul(n,.25),__tsover_mul(i,.25),d,c),w=g.x,S=g.y;return l(w,S)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"vp"},{type:"i",name:"start"},{type:"i",name:"end"},{type:"i",name:"startThickness"},{type:"i",name:"endThickness"},{type:"i",name:"startSoftness"},{type:"i",name:"endSoftness"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["vp"]]],[13,"startPos",[6,"d.vec2f",[[7,"start","x"],[1,[5,"1"],"-",[7,"start","y"]]]]],[13,"endPos",[6,"d.vec2f",[[7,"end","x"],[1,[5,"1"],"-",[7,"end","y"]]]]],[13,"acStart",[6,"d.vec2f",[[1,[7,"startPos","x"],"*","aspect"],[7,"startPos","y"]]]],[13,"acEnd",[6,"d.vec2f",[[1,[7,"endPos","x"],"*","aspect"],[7,"endPos","y"]]]],[13,"acUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"proj",[6,"lightfields.pointToSegment",["acUV","acStart","acEnd"]]],[13,"field",[6,"lightfields.taperedSegmentGlow",[[7,"proj","y"],[7,"proj","x"],[1,"startThickness","*",[5,"0.25"]],[1,"endThickness","*",[5,"0.25"]],"startSoftness","endSoftness"]]],[13,"colorT",[7,"field","x"]],[13,"alpha",[7,"field","y"]],[10,[6,"d.vec2f",["colorT","alpha"]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,"lightfields.pointToSegment":()=>t3,"lightfields.taperedSegmentGlow":()=>s3}})&&e.f)({})),sF=t7({domain:"unit",contrastMode:"multiplicative",invert:!0,glowGamma:!0,balance:"percentCentred"}),rF=v.fn([l,l,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s);return f(__tsover_mul(t.x,o),t.y,0).mul(ct(__tsover_sub(r,1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"scale"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"base",[6,"d.vec3f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"],[5,"0"]]]],[10,[6,[7,"base","mul"],[[6,"std.exp",[[1,"scale","-",[5,"1"]]]]]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec3f":()=>f,"std.exp":()=>ct}})&&e.f)({})),oF=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_mul(go(t),.5),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"}],body:[0,[[10,[1,[1,[6,"noise.mxNoiseFloat3",["pos"]],"*",[5,"0.5"]],"+",[5,"0.5"]]]]]},externals:{"noise.mxNoiseFloat3":()=>go}})&&e.f)({})),nF=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=r,n=s,i=l(__tsover_add(t.x,__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(t.y,__tsover_mul(n,1.7)),__tsover_mul(o,.8))),.12),__tsover_mul(H(__tsover_sub(__tsover_mul(t.x,__tsover_mul(n,.9)),__tsover_mul(o,.5))),.05))),__tsover_add(t.y,__tsover_add(__tsover_mul(H(__tsover_sub(__tsover_mul(t.x,__tsover_mul(n,1.3)),__tsover_mul(o,.6))),.12),__tsover_mul(Y(__tsover_add(__tsover_mul(t.y,__tsover_mul(n,1.1)),__tsover_mul(o,.7))),.05)))),d=Y(__tsover_add(__tsover_add(__tsover_mul(i.x,__tsover_mul(n,2.1)),__tsover_mul(i.y,__tsover_mul(n,1.8))),__tsover_mul(o,.4))),c=__tsover_mul(s,2.1),_=l(__tsover_add(i.x,__tsover_add(__tsover_mul(H(__tsover_sub(__tsover_mul(i.y,__tsover_mul(c,2.7)),__tsover_mul(o,.45))),.07),__tsover_mul(Y(__tsover_add(__tsover_mul(i.x,__tsover_mul(c,1.9)),__tsover_mul(o,.6))),.04))),__tsover_add(i.y,__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(i.x,__tsover_mul(c,2.3)),__tsover_mul(o,.65))),.07),__tsover_mul(H(__tsover_sub(__tsover_mul(i.y,__tsover_mul(c,1.6)),__tsover_mul(o,.4))),.04)))),u=H(__tsover_add(__tsover_sub(__tsover_mul(_.x,__tsover_mul(c,1.4)),__tsover_mul(_.y,__tsover_mul(c,1.9))),__tsover_mul(o,.35))),m=__tsover_mul(s,3.7),p=l(__tsover_add(_.x,__tsover_add(__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(_.y,__tsover_mul(m,1.8)),__tsover_mul(o,.85))),.04),__tsover_mul(H(__tsover_sub(__tsover_mul(_.x,__tsover_mul(m,1.3)),__tsover_mul(o,.55))),.025)),__tsover_mul(Y(__tsover_add(__tsover_mul(__tsover_add(_.x,_.y),__tsover_mul(m,.7)),__tsover_mul(o,.9))),.02))),__tsover_add(_.y,__tsover_add(__tsover_add(__tsover_mul(H(__tsover_sub(__tsover_mul(_.x,__tsover_mul(m,1.6)),__tsover_mul(o,.75))),.04),__tsover_mul(Y(__tsover_add(__tsover_mul(_.y,__tsover_mul(m,1.1)),__tsover_mul(o,.5))),.025)),__tsover_mul(H(__tsover_sub(__tsover_mul(__tsover_add(_.x,_.y),__tsover_mul(m,.8)),__tsover_mul(o,.95))),.02)))),y=Y(__tsover_sub(__tsover_add(__tsover_mul(p.x,__tsover_mul(m,1.1)),__tsover_mul(p.y,__tsover_mul(m,1.5))),__tsover_mul(o,.55)));return __tsover_add(__tsover_add(__tsover_mul(d,.45),__tsover_mul(u,.35)),__tsover_mul(y,.2))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"detail"},{type:"i",name:"animTime"}],body:[0,[[13,"t","animTime"],[13,"freq1","detail"],[13,"d1",[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[1,[6,"std.sin",[[1,[1,[7,"uv","y"],"*",[1,"freq1","*",[5,"1.7"]]],"+",[1,"t","*",[5,"0.8"]]]]],"*",[5,"0.12"]],"+",[1,[6,"std.cos",[[1,[1,[7,"uv","x"],"*",[1,"freq1","*",[5,"0.9"]]],"-",[1,"t","*",[5,"0.5"]]]]],"*",[5,"0.05"]]]],[1,[7,"uv","y"],"+",[1,[1,[6,"std.cos",[[1,[1,[7,"uv","x"],"*",[1,"freq1","*",[5,"1.3"]]],"-",[1,"t","*",[5,"0.6"]]]]],"*",[5,"0.12"]],"+",[1,[6,"std.sin",[[1,[1,[7,"uv","y"],"*",[1,"freq1","*",[5,"1.1"]]],"+",[1,"t","*",[5,"0.7"]]]]],"*",[5,"0.05"]]]]]]],[13,"pattern1",[6,"std.sin",[[1,[1,[1,[7,"d1","x"],"*",[1,"freq1","*",[5,"2.1"]]],"+",[1,[7,"d1","y"],"*",[1,"freq1","*",[5,"1.8"]]]],"+",[1,"t","*",[5,"0.4"]]]]]],[13,"freq2",[1,"detail","*",[5,"2.1"]]],[13,"d2",[6,"d.vec2f",[[1,[7,"d1","x"],"+",[1,[1,[6,"std.cos",[[1,[1,[7,"d1","y"],"*",[1,"freq2","*",[5,"2.7"]]],"-",[1,"t","*",[5,"0.45"]]]]],"*",[5,"0.07"]],"+",[1,[6,"std.sin",[[1,[1,[7,"d1","x"],"*",[1,"freq2","*",[5,"1.9"]]],"+",[1,"t","*",[5,"0.6"]]]]],"*",[5,"0.04"]]]],[1,[7,"d1","y"],"+",[1,[1,[6,"std.sin",[[1,[1,[7,"d1","x"],"*",[1,"freq2","*",[5,"2.3"]]],"+",[1,"t","*",[5,"0.65"]]]]],"*",[5,"0.07"]],"+",[1,[6,"std.cos",[[1,[1,[7,"d1","y"],"*",[1,"freq2","*",[5,"1.6"]]],"-",[1,"t","*",[5,"0.4"]]]]],"*",[5,"0.04"]]]]]]],[13,"pattern2",[6,"std.cos",[[1,[1,[1,[7,"d2","x"],"*",[1,"freq2","*",[5,"1.4"]]],"-",[1,[7,"d2","y"],"*",[1,"freq2","*",[5,"1.9"]]]],"+",[1,"t","*",[5,"0.35"]]]]]],[13,"freq3",[1,"detail","*",[5,"3.7"]]],[13,"d3",[6,"d.vec2f",[[1,[7,"d2","x"],"+",[1,[1,[1,[6,"std.sin",[[1,[1,[7,"d2","y"],"*",[1,"freq3","*",[5,"1.8"]]],"+",[1,"t","*",[5,"0.85"]]]]],"*",[5,"0.04"]],"+",[1,[6,"std.cos",[[1,[1,[7,"d2","x"],"*",[1,"freq3","*",[5,"1.3"]]],"-",[1,"t","*",[5,"0.55"]]]]],"*",[5,"0.025"]]],"+",[1,[6,"std.sin",[[1,[1,[1,[7,"d2","x"],"+",[7,"d2","y"]],"*",[1,"freq3","*",[5,"0.7"]]],"+",[1,"t","*",[5,"0.9"]]]]],"*",[5,"0.02"]]]],[1,[7,"d2","y"],"+",[1,[1,[1,[6,"std.cos",[[1,[1,[7,"d2","x"],"*",[1,"freq3","*",[5,"1.6"]]],"-",[1,"t","*",[5,"0.75"]]]]],"*",[5,"0.04"]],"+",[1,[6,"std.sin",[[1,[1,[7,"d2","y"],"*",[1,"freq3","*",[5,"1.1"]]],"+",[1,"t","*",[5,"0.5"]]]]],"*",[5,"0.025"]]],"+",[1,[6,"std.cos",[[1,[1,[1,[7,"d2","x"],"+",[7,"d2","y"]],"*",[1,"freq3","*",[5,"0.8"]]],"-",[1,"t","*",[5,"0.95"]]]]],"*",[5,"0.02"]]]]]]],[13,"pattern3",[6,"std.sin",[[1,[1,[1,[7,"d3","x"],"*",[1,"freq3","*",[5,"1.1"]]],"+",[1,[7,"d3","y"],"*",[1,"freq3","*",[5,"1.5"]]]],"-",[1,"t","*",[5,"0.55"]]]]]],[10,[1,[1,[1,"pattern1","*",[5,"0.45"]],"+",[1,"pattern2","*",[5,"0.35"]]],"+",[1,"pattern3","*",[5,"0.2"]]]]]]},externals:{"d.vec2f":()=>l,"std.sin":()=>Y,"std.cos":()=>H}})&&e.f)({})),aF=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return re(r,o,__tsover_add(__tsover_add(__tsover_mul(t,.5),.5),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pattern"},{type:"i",name:"bias"},{type:"i",name:"low"},{type:"i",name:"high"}],body:[0,[[13,"normalized",[1,[1,[1,"pattern","*",[5,"0.5"]],"+",[5,"0.5"]],"+","bias"]],[10,[6,"std.smoothstep",["low","high","normalized"]]]]]},externals:{"std.smoothstep":()=>re}})&&e.f)({})),iF=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return __tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(s,r),__tsover_mul(t,o))),n),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pattern"},{type:"i",name:"animTime"},{type:"i",name:"speed"},{type:"i",name:"span"},{type:"i",name:"depth"}],body:[0,[[10,[1,[1,[6,"std.sin",[[1,[1,"animTime","*","speed"],"+",[1,"pattern","*","span"]]]],"*","depth"],"+",[5,"1"]]]]]},externals:{"std.sin":()=>Y}})&&e.f)({})),Nd=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ot(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"noise.hash12",["p"]]]]]},externals:{"noise.hash12":()=>Ot}})&&e.f)({})),Ym=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=ue(t),o=Nd(s),n=Nd(l(__tsover_add(s.x,1),s.y)),i=Nd(l(s.x,__tsover_add(s.y,1))),d=Nd(l(__tsover_add(s.x,1),__tsover_add(s.y,1))),c=r.mul(r).mul(r.mul(-2).add(3));return X(X(o,n,c.x),X(i,d,c.x),c.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"st"}],body:[0,[[13,"i",[6,"std.floor",["st"]]],[13,"f",[6,"std.fract",["st"]]],[13,"a",[6,"godraysHash",["i"]]],[13,"b",[6,"godraysHash",[[6,"d.vec2f",[[1,[7,"i","x"],"+",[5,"1"]],[7,"i","y"]]]]]],[13,"c",[6,"godraysHash",[[6,"d.vec2f",[[7,"i","x"],[1,[7,"i","y"],"+",[5,"1"]]]]]]],[13,"e",[6,"godraysHash",[[6,"d.vec2f",[[1,[7,"i","x"],"+",[5,"1"]],[1,[7,"i","y"],"+",[5,"1"]]]]]]],[13,"u",[6,[7,[6,[7,"f","mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[4,"-",[5,"2"]]]],"add"],[[5,"3"]]]]]],[13,"x1",[6,"std.mix",["a","b",[7,"u","x"]]]],[13,"x2",[6,"std.mix",["c","e",[7,"u","x"]]]],[10,[6,"std.mix",["x1","x2",[7,"u","y"]]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,godraysHash:()=>Nd,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),Lm=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ce(Ym(l(__tsover_mul(t,n),o)),i);return X(Ce(Ym(l(__tsover_mul(s,n),o)),i),d,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a"},{type:"i",name:"aWrapped"},{type:"i",name:"blend"},{type:"i",name:"r"},{type:"i",name:"freq"},{type:"i",name:"intensity"}],body:[0,[[13,"nLeft",[6,"std.pow",[[6,"godraysValueNoise",[[6,"d.vec2f",[[1,"a","*","freq"],"r"]]]],"intensity"]]],[13,"nRight",[6,"std.pow",[[6,"godraysValueNoise",[[6,"d.vec2f",[[1,"aWrapped","*","freq"],"r"]]]],"intensity"]]],[10,[6,"std.mix",["nRight","nLeft","blend"]]]]]},externals:{"std.pow":()=>Ce,godraysValueNoise:()=>Ym,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),mz=v.fn([l,l,l],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=l(r.x,__tsover_sub(1,r.y)),i=t.sub(n),d=l(__tsover_mul(i.x,o),i.y),c=e3(d);return x(c.x,c.y,c.z,j(d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"center"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"uv","sub"],["centerPos"]]],[13,"shapeUV",[6,"d.vec2f",[[1,[7,"delta","x"],"*","aspect"],[7,"delta","y"]]]],[13,"ang",[6,"lightfields.seamlessAngularField",["shapeUV"]]],[10,[6,"d.vec4f",[[7,"ang","x"],[7,"ang","y"],[7,"ang","z"],[6,"std.length",["shapeUV"]]]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,"lightfields.seamlessAngularField":()=>e3,"d.vec4f":()=>x,"std.length":()=>j}})&&e.f)({})),Im=v.fn([x,a,a,a,a,x,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_sub(__tsover_mul(t.w,i.x),__tsover_mul(s,i.y)),_=__tsover_sub(__tsover_mul(__tsover_mul(t.w,i.z),__tsover_add(1,r)),__tsover_mul(s,i.w)),u=__tsover_mul(n,d.x),m=Lm(t.x,t.y,t.z,c,u,o),p=Lm(t.x,t.y,t.z,_,__tsover_mul(u,d.y),o);return __tsover_mul(m,p)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"frame"},{type:"i",name:"animTime"},{type:"i",name:"spots"},{type:"i",name:"intensityCalc"},{type:"i",name:"dens"},{type:"i",name:"sched"},{type:"i",name:"freqs"}],body:[0,[[13,"rA",[1,[1,[7,"frame","w"],"*",[7,"sched","x"]],"-",[1,"animTime","*",[7,"sched","y"]]]],[13,"rB",[1,[1,[1,[7,"frame","w"],"*",[7,"sched","z"]],"*",[1,[5,"1"],"+","spots"]],"-",[1,"animTime","*",[7,"sched","w"]]]],[13,"f",[1,"dens","*",[7,"freqs","x"]]],[13,"shapeA",[6,"godraysRaysShape",[[7,"frame","x"],[7,"frame","y"],[7,"frame","z"],"rA","f","intensityCalc"]]],[13,"shapeB",[6,"godraysRaysShape",[[7,"frame","x"],[7,"frame","y"],[7,"frame","z"],"rB",[1,"f","*",[7,"freqs","y"]],"intensityCalc"]]],[10,[1,"shapeA","*","shapeB"]]]]},externals:{godraysRaysShape:()=>Lm}})&&e.f)({})),pz=v.fn([x,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,.2),d=__tsover_mul(6.5,z(n)),c=__tsover_sub(4,__tsover_mul(3,$(o,0,1))),_=__tsover_mul(6,r),u=Im(t,i,d,c,_,x(1,3,.5,2),l(5,4)),m=Im(t,i,d,c,_,x(1.4,2.5,.7,1.8),l(4.5,3.5));return $(__tsover_add(u,__tsover_mul(m,.7)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"frame"},{type:"i",name:"animTimeRaw"},{type:"i",name:"density"},{type:"i",name:"intensity"},{type:"i",name:"spotty"}],body:[0,[[13,"animTime",[1,"animTimeRaw","*",[5,"0.2"]]],[13,"spots",[1,[5,"6.5"],"*",[6,"std.abs",["spotty"]]]],[13,"intensityCalc",[1,[5,"4"],"-",[1,[5,"3"],"*",[6,"std.clamp",["intensity",[5,"0"],[5,"1"]]]]]],[13,"dens",[1,[5,"6"],"*","density"]],[13,"layer1",[6,"godraysRayLayer",["frame","animTime","spots","intensityCalc","dens",[6,"d.vec4f",[[5,"1"],[5,"3"],[5,"0.5"],[5,"2"]]],[6,"d.vec2f",[[5,"5"],[5,"4"]]]]]],[13,"layer2",[6,"godraysRayLayer",["frame","animTime","spots","intensityCalc","dens",[6,"d.vec4f",[[5,"1.4"],[5,"2.5"],[5,"0.7"],[5,"1.8"]]],[6,"d.vec2f",[[5,"4.5"],[5,"3.5"]]]]]],[10,[6,"std.clamp",[[1,"layer1","+",[1,"layer2","*",[5,"0.7"]]],[5,"0"],[5,"1"]]]]]]},externals:{"std.abs":()=>z,"std.clamp":()=>$,godraysRayLayer:()=>Im,"d.vec4f":()=>x,"d.vec2f":()=>l}})&&e.f)({})),fz=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r,t.w),n=__tsover_add(o,__tsover_mul(s.w,__tsover_sub(1,o))),i=$(n,.001,1),d=t.xyz.mul(o),c=s.xyz.mul(s.w).mul(__tsover_sub(1,o));return x(d.add(c).div(i),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rayColor"},{type:"i",name:"bgColor"},{type:"i",name:"coverage"}],body:[0,[[13,"rayA",[1,"coverage","*",[7,"rayColor","w"]]],[13,"finalAlpha",[1,"rayA","+",[1,[7,"bgColor","w"],"*",[1,[5,"1"],"-","rayA"]]]],[13,"safeAlpha",[6,"std.clamp",["finalAlpha",[5,"0.001"],[5,"1"]]]],[13,"rayContribution",[6,[7,[7,"rayColor","xyz"],"mul"],["rayA"]]],[13,"bgContribution",[6,[7,[6,[7,[7,"bgColor","xyz"],"mul"],[[7,"bgColor","w"]]],"mul"],[[1,[5,"1"],"-","rayA"]]]],[13,"finalColor",[6,[7,[6,[7,"rayContribution","add"],["bgContribution"]],"div"],["safeAlpha"]]],[10,[6,"d.vec4f",["finalColor","finalAlpha"]]]]]},externals:{"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})),dF=v.fn([a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Br(l(__tsover_mul(t,.9),__tsover_add(__tsover_mul(s,.53),11.7))),n=Br(l(__tsover_add(__tsover_mul(t,2.7),41.3),__tsover_add(__tsover_mul(s,.29),5.1))),i=__tsover_add(__tsover_mul(o,.65),__tsover_mul(n,.35));return x(X(1,__tsover_add(.25,__tsover_mul(1.5,i)),r),Br(l(__tsover_add(__tsover_mul(t,.13),3.1),__tsover_add(__tsover_mul(s,.41),27))),Br(l(__tsover_add(__tsover_mul(t,.09),17.7),__tsover_add(__tsover_mul(s,.61),8.4))),Br(l(__tsover_add(__tsover_mul(t,.17),51.2),__tsover_add(__tsover_mul(s,.23),2.9))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"seed"},{type:"i",name:"flicker"}],body:[0,[[13,"nA",[6,"noise.value12",[[6,"d.vec2f",[[1,"t","*",[5,"0.9"]],[1,[1,"seed","*",[5,"0.53"]],"+",[5,"11.7"]]]]]]],[13,"nB",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,"t","*",[5,"2.7"]],"+",[5,"41.3"]],[1,[1,"seed","*",[5,"0.29"]],"+",[5,"5.1"]]]]]]],[13,"breathe",[1,[1,"nA","*",[5,"0.65"]],"+",[1,"nB","*",[5,"0.35"]]]],[13,"flickerMod",[6,"std.mix",[[5,"1"],[1,[5,"0.25"],"+",[1,[5,"1.5"],"*","breathe"]],"flicker"]]],[13,"evo1",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,"t","*",[5,"0.13"]],"+",[5,"3.1"]],[1,[1,"seed","*",[5,"0.41"]],"+",[5,"27"]]]]]]],[13,"evo2",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,"t","*",[5,"0.09"]],"+",[5,"17.7"]],[1,[1,"seed","*",[5,"0.61"]],"+",[5,"8.4"]]]]]]],[13,"evo3",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,"t","*",[5,"0.17"]],"+",[5,"51.2"]],[1,[1,"seed","*",[5,"0.23"]],"+",[5,"2.9"]]]]]]],[10,[6,"d.vec4f",["flickerMod","evo1","evo2","evo3"]]]]]},externals:{"noise.value12":()=>Br,"d.vec2f":()=>l,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),cF=v.fn([a,a,a,x],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=o.z,i=b(r,.05),d=__tsover_mul(i,__tsover_add(1.5,__tsover_mul(.7,n))),c=__tsover_div(t,i),_=__tsover_div(s,d);return l(Tm(c,_,1.9),__tsover_mul(Tm(c,_,.45),.22))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"u"},{type:"i",name:"v"},{type:"i",name:"spread"},{type:"i",name:"drift"}],body:[0,[[13,"evo2",[7,"drift","z"]],[13,"sp",[6,"std.max",["spread",[5,"0.05"]]]],[13,"elong",[1,"sp","*",[1,[5,"1.5"],"+",[1,[5,"0.7"],"*","evo2"]]]],[13,"du",[1,"u","/","sp"]],[13,"dv",[1,"v","/","elong"]],[13,"main",[6,"lightfields.anisotropicGaussianSpot",["du","dv",[5,"1.9"]]]],[13,"shoulder",[1,[6,"lightfields.anisotropicGaussianSpot",["du","dv",[5,"0.45"]]],"*",[5,"0.22"]]],[10,[6,"d.vec2f",["main","shoulder"]]]]]},externals:{"std.max":()=>b,"lightfields.anisotropicGaussianSpot":()=>Tm,"d.vec2f":()=>l}})&&e.f)({})),_F=v.fn([a,a,a,a,x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=n.y,d=n.z,c=n.w,_=b(r,.05),u=__tsover_mul(_,__tsover_add(1.5,__tsover_mul(.7,d))),m=__tsover_div(s,u),p=ct(__tsover_mul(__tsover_mul(m,m),-.55)),y=__tsover_mul(_,__tsover_add(.42,__tsover_mul(.22,i))),h=b(__tsover_mul(_,__tsover_add(.07,__tsover_mul(.07,c))),.008),g=__tsover_mul(Am(t,y,h),p),w=__tsover_mul(_,__tsover_add(.8,__tsover_mul(.3,i))),S=b(__tsover_mul(_,__tsover_add(.16,__tsover_mul(.12,c))),.015),T=__tsover_mul(__tsover_mul(Am(t,w,S),p),.45);return __tsover_mul(__tsover_add(g,T),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"u"},{type:"i",name:"v"},{type:"i",name:"spread"},{type:"i",name:"streaks"},{type:"i",name:"drift"}],body:[0,[[13,"evo1",[7,"drift","y"]],[13,"evo2",[7,"drift","z"]],[13,"evo3",[7,"drift","w"]],[13,"sp",[6,"std.max",["spread",[5,"0.05"]]]],[13,"elong",[1,"sp","*",[1,[5,"1.5"],"+",[1,[5,"0.7"],"*","evo2"]]]],[13,"dv",[1,"v","/","elong"]],[13,"alongFade",[6,"std.exp",[[1,[1,"dv","*","dv"],"*",[4,"-",[5,"0.55"]]]]]],[13,"s1c",[1,"sp","*",[1,[5,"0.42"],"+",[1,[5,"0.22"],"*","evo1"]]]],[13,"s1w",[6,"std.max",[[1,"sp","*",[1,[5,"0.07"],"+",[1,[5,"0.07"],"*","evo3"]]],[5,"0.008"]]]],[13,"streak1",[1,[6,"lightfields.streakBand",["u","s1c","s1w"]],"*","alongFade"]],[13,"s2c",[1,"sp","*",[1,[5,"0.8"],"+",[1,[5,"0.3"],"*","evo1"]]]],[13,"s2w",[6,"std.max",[[1,"sp","*",[1,[5,"0.16"],"+",[1,[5,"0.12"],"*","evo3"]]],[5,"0.015"]]]],[13,"streak2",[1,[1,[6,"lightfields.streakBand",["u","s2c","s2w"]],"*","alongFade"],"*",[5,"0.45"]]],[10,[1,[1,"streak1","+","streak2"],"*","streaks"]]]]},externals:{"std.max":()=>b,"std.exp":()=>ct,"lightfields.streakBand":()=>Am}})&&e.f)({})),lF=v.fn([a,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return b(__tsover_add(t,__tsover_mul(__tsover_sub(Ot(s.mul(1024).add(l(r,__tsover_mul(r,1.7)))),.5),.012)),0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"heat"},{type:"i",name:"uv"},{type:"i",name:"t"}],body:[0,[[13,"dithered",[1,"heat","+",[1,[1,[6,"noise.hash12",[[6,[7,[6,[7,"uv","mul"],[[5,"1024"]]],"add"],[[6,"d.vec2f",["t",[1,"t","*",[5,"1.7"]]]]]]]],"-",[5,"0.5"]],"*",[5,"0.012"]]]],[10,[6,"std.max",["dithered",[5,"0"]]]]]]},externals:{"noise.hash12":()=>Ot,"d.vec2f":()=>l,"std.max":()=>b}})&&e.f)({})),vz=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(t,s),o=__tsover_mul(ue(__tsover_mul(r,.5)),2);return X(__tsover_sub(1,z(__tsover_sub(o,1))),.5,re(.5,1.5,__tsover_mul(Vl(t,0),s)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"cycles"}],body:[0,[[13,"s",[1,"t","*","cycles"]],[13,"m",[1,[6,"std.fract",[[1,"s","*",[5,"0.5"]]]],"*",[5,"2"]]],[13,"band",[1,[5,"1"],"-",[6,"std.abs",[[1,"m","-",[5,"1"]]]]]],[13,"fp",[1,[6,"footprint1",["t",[5,"0"]]],"*","cycles"]],[10,[6,"std.mix",["band",[5,"0.5"],[6,"std.smoothstep",[[5,"0.5"],[5,"1.5"],"fp"]]]]]]]},externals:{"std.fract":()=>ue,"std.abs":()=>z,footprint1:()=>Vl,"std.mix":()=>X,"std.smoothstep":()=>re}})&&e.f)({}));function p7(e,t){return{guarded:e,with(s){return p7(e.with(s),t)},dispatch(){if(!t)throw new Error("[gpu] KitComputePipeline.dispatch(): no pre-bound size \u2014 pass opts.size to createGuardedCompute or call dispatchThreads(...) directly");e.dispatchThreads(...t)},dispatchThreads(...s){e.dispatchThreads(...s)}}}function qp(e,t,s={}){let r=(globalThis.__TYPEGPU_AUTONAME__??(o=>o))(e.createGuardedComputePipeline(t),"guarded");return s.bindGroup&&(r=r.with(s.bindGroup)),p7(r,s.size)}function f7(e){return{dispatch(t){for(let s of t)typeof s=="function"?s():s.dispatch()}}}function yz(e,t){let s=!1;return{a:e,b:t,orientation:()=>s?1:0,readSource:()=>s?t:e,writeTarget:()=>s?e:t,swap(){s=!s},reset(){s=!1},groups(n){let i=n(e,t),d=n(t,e);return()=>s?d:i},perSide(n){let i=n(e),d=n(t);return{read:()=>s?d:i,written:()=>s?i:d}}}}function Y3(e,t,s){return(globalThis.__TYPEGPU_AUTONAME__??(r=>r))(e.createBuffer(pt(t,s)),"buffer").$usage("storage")}var su=Le;function hz(e,t){let s=Number((t*t).toPrecision(15)),r=e-1,o=Array.from({length:e},(i,d)=>{let c=(d/r-.5)*2;return Math.exp(-.5*c*c/s)}),n=o.reduce((i,d)=>i+d);return o.map(i=>i/n)}var uF=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=b(__tsover_sub(r,s),1e-4);return X(o,n,Ce($(__tsover_div(__tsover_sub(t,s),d),0,1),Ce(2,__tsover_mul(-i,2))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"raw"},{type:"i",name:"inputMin"},{type:"i",name:"inputMax"},{type:"i",name:"outputMin"},{type:"i",name:"outputMax"},{type:"i",name:"curve"}],body:[0,[[13,"inputRange",[6,"std.max",[[1,"inputMax","-","inputMin"],[5,"0.0001"]]]],[13,"normalised",[6,"std.clamp",[[1,[1,"raw","-","inputMin"],"/","inputRange"],[5,"0"],[5,"1"]]]],[13,"exponent",[6,"std.pow",[[5,"2"],[1,[4,"-","curve"],"*",[5,"2"]]]]],[13,"eased",[6,"std.pow",["normalised","exponent"]]],[10,[6,"std.mix",["outputMin","outputMax","eased"]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.pow":()=>Ce,"std.mix":()=>X}})&&e.f)({})).$name("applyRemapWindow");var mF=v.fn([ps(a),R,R,l,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=o.x,c=o.y,_=Z(__tsover_sub(d,1)),u=Z(__tsover_sub(c,1)),m=x(0,0,0,0);for(let S=0;S<4;S++)for(let T=0;T<4;T++){let A=__tsover_div(__tsover_add(a(s),__tsover_div(__tsover_add(a(T),.5),4)),n.x),P=__tsover_div(__tsover_add(a(r),__tsover_div(__tsover_add(a(S),.5),4)),n.y),U=$(Z(__tsover_mul(A,d)),0,_),D=$(Z(__tsover_mul(P,c)),0,u);m=m.add(Be(t,Ge(R(U),R(D)),0))}m=m.mul(.0625);let p=__tsover_add(__tsover_mul(i,.5),1e-4),y=se(m.xyz,f(.2126,.7152,.0722)),h=$(__tsover_add(__tsover_sub(y,i),p),0,__tsover_mul(p,2)),g=__tsover_div(__tsover_mul(h,h),__tsover_mul(p,4)),w=__tsover_div(b(g,__tsover_sub(y,i)),b(y,1e-4));return x(m.xyz.mul(w),__tsover_mul(m.w,w))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"childTexture"},{type:"i",name:"cx"},{type:"i",name:"cy"},{type:"i",name:"inputSize"},{type:"i",name:"computeSize"},{type:"i",name:"threshold"}],body:[0,[[13,"iw",[7,"inputSize","x"]],[13,"ih",[7,"inputSize","y"]],[13,"inputWm1",[6,"d.i32",[[1,"iw","-",[5,"1"]]]]],[13,"inputHm1",[6,"d.i32",[[1,"ih","-",[5,"1"]]]]],[12,"sample",[6,"d.vec4f",[[5,"0"],[5,"0"],[5,"0"],[5,"0"]]]],[14,[12,"ty",[5,"0"]],[1,"ty","<",[5,"4"]],[102,"++","ty"],[0,[[14,[12,"tx",[5,"0"]],[1,"tx","<",[5,"4"]],[102,"++","tx"],[0,[[13,"su",[1,[1,[6,"d.f32",["cx"]],"+",[1,[1,[6,"d.f32",["tx"]],"+",[5,"0.5"]],"/",[5,"4"]]],"/",[7,"computeSize","x"]]],[13,"sv",[1,[1,[6,"d.f32",["cy"]],"+",[1,[1,[6,"d.f32",["ty"]],"+",[5,"0.5"]],"/",[5,"4"]]],"/",[7,"computeSize","y"]]],[13,"sx",[6,"std.clamp",[[6,"d.i32",[[1,"su","*","iw"]]],[5,"0"],"inputWm1"]]],[13,"sy",[6,"std.clamp",[[6,"d.i32",[[1,"sv","*","ih"]]],[5,"0"],"inputHm1"]]],[2,"sample","=",[6,[7,"sample","add"],[[6,"std.textureLoad",["childTexture",[6,"d.vec2u",[[6,"d.u32",["sx"]],[6,"d.u32",["sy"]]]],[5,"0"]]]]]]]]]]]],[2,"sample","=",[6,[7,"sample","mul"],[[5,"0.0625"]]]],[13,"knee",[1,[1,"threshold","*",[5,"0.5"]],"+",[5,"0.0001"]]],[13,"lum",[6,"std.dot",[[7,"sample","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"soft",[6,"std.clamp",[[1,[1,"lum","-","threshold"],"+","knee"],[5,"0"],[1,"knee","*",[5,"2"]]]]],[13,"softCurve",[1,[1,"soft","*","soft"],"/",[1,"knee","*",[5,"4"]]]],[13,"mask",[1,[6,"std.max",["softCurve",[1,"lum","-","threshold"]]],"/",[6,"std.max",["lum",[5,"0.0001"]]]]],[10,[6,"d.vec4f",[[6,[7,[7,"sample","xyz"],"mul"],["mask"]],[1,[7,"sample","w"],"*","mask"]]]]]]},externals:{"d.i32":()=>Z,"d.vec4f":()=>x,"d.f32":()=>a,"std.clamp":()=>$,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"d.u32":()=>R,"std.dot":()=>se,"d.vec3f":()=>f,"std.max":()=>b}})&&e.f)({})).$name("bloomExtractSoftKnee");var pF=v.fn([x,x,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,.1),d=__tsover_mul(o,.1),c=__tsover_mul(n,.1),_=b(b(b(i,d),c),.01),u=__tsover_div(i,_),m=__tsover_div(d,_),p=__tsover_div(c,_);return x(X(t.x,s.x,u),X(t.y,s.y,m),X(t.z,s.z,p),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sharp"},{type:"i",name:"blurred"},{type:"i",name:"redIntensity"},{type:"i",name:"greenIntensity"},{type:"i",name:"blueIntensity"}],body:[0,[[13,"redRadius",[1,"redIntensity","*",[5,"0.1"]]],[13,"greenRadius",[1,"greenIntensity","*",[5,"0.1"]]],[13,"blueRadius",[1,"blueIntensity","*",[5,"0.1"]]],[13,"maxRadius",[6,"std.max",[[6,"std.max",[[6,"std.max",["redRadius","greenRadius"]],"blueRadius"]],[5,"0.01"]]]],[13,"rMix",[1,"redRadius","/","maxRadius"]],[13,"gMix",[1,"greenRadius","/","maxRadius"]],[13,"bMix",[1,"blueRadius","/","maxRadius"]],[13,"finalR",[6,"std.mix",[[7,"sharp","x"],[7,"blurred","x"],"rMix"]]],[13,"finalG",[6,"std.mix",[[7,"sharp","y"],[7,"blurred","y"],"gMix"]]],[13,"finalB",[6,"std.mix",[[7,"sharp","z"],[7,"blurred","z"],"bMix"]]],[10,[6,"d.vec4f",["finalR","finalG","finalB",[7,"sharp","w"]]]]]]},externals:{"std.max":()=>b,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})).$name("channelBlurCompose"),fF=v.fn([a,a,a,a,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(t,su),c=l(__tsover_div(H(d),i),Y(d)),_=l(s,__tsover_sub(1,r));return re(0,o,b(0,se(n.sub(_),c)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angleDeg"},{type:"i",name:"centerX"},{type:"i",name:"centerY"},{type:"i",name:"falloff"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"direction",[6,"d.vec2f",[[1,[6,"std.cos",["angleRad"]],"/","aspect"],[6,"std.sin",["angleRad"]]]]],[13,"centerPos",[6,"d.vec2f",["centerX",[1,[5,"1"],"-","centerY"]]]],[13,"centeredUV",[6,[7,"uv","sub"],["centerPos"]]],[13,"directionalDist",[6,"std.max",[[5,"0"],[6,"std.dot",["centeredUV","direction"]]]]],[10,[6,"std.smoothstep",[[5,"0"],"falloff","directionalDist"]]]]]},externals:{DEG_TO_RAD:()=>su,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y,"std.max":()=>b,"std.dot":()=>se,"std.smoothstep":()=>re}})&&e.f)({})).$name("progressiveBlurAmount");var vF=v.fn([a,l,a,a,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(t,su),c=l(__tsover_mul(Y(d),-1),H(d)),_=l(s.x,__tsover_sub(1,s.y)),u=n.sub(_),m=z(se(l(__tsover_mul(u.x,i),u.y),c)),p=__tsover_mul(r,.5);return re(p,__tsover_add(p,o),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angleDeg"},{type:"i",name:"center"},{type:"i",name:"width"},{type:"i",name:"falloff"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"perpVector",[6,"d.vec2f",[[1,[6,"std.sin",["angleRad"]],"*",[4,"-",[5,"1"]]],[6,"std.cos",["angleRad"]]]]],[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"centeredUV",[6,[7,"uv","sub"],["centerPos"]]],[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"centeredUV","x"],"*","aspect"],[7,"centeredUV","y"]]]],[13,"distFromLine",[6,"std.abs",[[6,"std.dot",["aspectCorrectedUV","perpVector"]]]]],[13,"focusWidth",[1,"width","*",[5,"0.5"]]],[10,[6,"std.smoothstep",["focusWidth",[1,"focusWidth","+","falloff"],"distFromLine"]]]]]},externals:{DEG_TO_RAD:()=>su,"d.vec2f":()=>l,"std.sin":()=>Y,"std.cos":()=>H,"std.abs":()=>z,"std.dot":()=>se,"std.smoothstep":()=>re}})&&e.f)({})).$name("tiltShiftBlurAmount");var yF=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=t.xyz.add(s.xyz.mul(r)),n=$(__tsover_mul(s.w,r),0,1);return x(o,__tsover_add(t.w,__tsover_mul(n,__tsover_sub(1,t.w))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"original"},{type:"i",name:"bloom"},{type:"i",name:"intensity"}],body:[0,[[13,"finalColor",[6,[7,[7,"original","xyz"],"add"],[[6,[7,[7,"bloom","xyz"],"mul"],["intensity"]]]]],[13,"glowAlpha",[6,"std.clamp",[[1,[7,"bloom","w"],"*","intensity"],[5,"0"],[5,"1"]]]],[13,"finalAlpha",[1,[7,"original","w"],"+",[1,"glowAlpha","*",[1,[5,"1"],"-",[7,"original","w"]]]]],[10,[6,"d.vec4f",["finalColor","finalAlpha"]]]]]},externals:{"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})).$name("glowCompose");var hF=Math.PI*(3-Math.sqrt(5)),xF=Math.PI*2;var L3=.35;var gF=Math.SQRT2/4;var bF=v.fn([x,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=se(t.xyz,f(.2126,.7152,.0722)),i=re(s,__tsover_add(s,L3),n);return __tsover_mul(__tsover_add(1,__tsover_mul(__tsover_mul(r,i),i)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"threshold"},{type:"i",name:"gain"},{type:"i",name:"rim"}],body:[0,[[13,"lum",[6,"std.dot",[[7,"base","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"hi",[6,"std.smoothstep",["threshold",[1,"threshold","+","HIGHLIGHT_KNEE"],"lum"]]],[10,[1,[1,[5,"1"],"+",[1,[1,"gain","*","hi"],"*","hi"]],"*","rim"]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.smoothstep":()=>re,HIGHLIGHT_KNEE:()=>L3}})&&e.f)({})).$name("bokehHighlightWeight");var ed=Le,wF=hz(32,.8),TF=v.fn([l,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,ed),d=__tsover_div(o.x,o.y),c=__tsover_div(H(i),d),_=Y(i),u=__tsover_mul(__tsover_div(__tsover_mul(c,r),o.x),2),m=__tsover_mul(__tsover_div(__tsover_mul(_,r),o.y),2);return l(__tsover_add(t.x,__tsover_mul(u,n)),__tsover_add(t.y,__tsover_mul(m,n)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"angleDeg"},{type:"i",name:"intensity"},{type:"i",name:"viewport"},{type:"i",name:"tapT"}],body:[0,[[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"dirX",[1,[6,"std.cos",["angleRad"]],"/","aspect"]],[13,"dirY",[6,"std.sin",["angleRad"]]],[13,"bvX",[1,[1,[1,"dirX","*","intensity"],"/",[7,"viewport","x"]],"*",[5,"2"]]],[13,"bvY",[1,[1,[1,"dirY","*","intensity"],"/",[7,"viewport","y"]],"*",[5,"2"]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,"bvX","*","tapT"]],[1,[7,"uv","y"],"+",[1,"bvY","*","tapT"]]]]]]]},externals:{DEG_TO_RAD:()=>ed,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),SF=v.fn([l,a,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(t.x,__tsover_sub(1,t.y)),d=__tsover_div(__tsover_mul(s,.005),31),c=__tsover_mul(__tsover_sub(n,15.5),d),_=H(c),u=Y(c),m=__tsover_sub(r.x,i.x),p=__tsover_sub(r.y,i.y),y=__tsover_mul(m,o),h=p,g=__tsover_sub(__tsover_mul(y,_),__tsover_mul(h,u)),w=__tsover_add(__tsover_mul(y,u),__tsover_mul(h,_));return l(__tsover_add(__tsover_div(g,o),i.x),__tsover_add(w,i.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"intensity"},{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"tapIndex"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"angleStep",[1,[1,"intensity","*",[5,"0.005"]],"/",[5,"31"]]],[13,"angle",[1,[1,"tapIndex","-",[5,"15.5"]],"*","angleStep"]],[13,"cosA",[6,"std.cos",["angle"]]],[13,"sinA",[6,"std.sin",["angle"]]],[13,"initX",[1,[7,"uv","x"],"-",[7,"centerPos","x"]]],[13,"initY",[1,[7,"uv","y"],"-",[7,"centerPos","y"]]],[13,"acX",[1,"initX","*","aspect"]],[13,"acY","initY"],[13,"rotX",[1,[1,"acX","*","cosA"],"-",[1,"acY","*","sinA"]]],[13,"rotY",[1,[1,"acX","*","sinA"],"+",[1,"acY","*","cosA"]]],[10,[6,"d.vec2f",[[1,[1,"rotX","/","aspect"],"+",[7,"centerPos","x"]],[1,"rotY","+",[7,"centerPos","y"]]]]]]]},externals:{"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),AF=v.fn([l,a,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(t.x,__tsover_sub(1,t.y)),d=__tsover_mul(s,.01),c=__tsover_add(1,__tsover_mul(d,__tsover_div(n,31))),_=__tsover_sub(r.x,i.x),u=__tsover_sub(r.y,i.y),m=__tsover_mul(_,o),p=u,y=__tsover_div(m,c),h=__tsover_div(p,c);return l(__tsover_add(__tsover_div(y,o),i.x),__tsover_add(h,i.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"intensity"},{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"tapIndex"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"radius",[1,"intensity","*",[5,"0.01"]]],[13,"scale",[1,[5,"1"],"+",[1,"radius","*",[1,"tapIndex","/",[5,"31"]]]]],[13,"deltaX",[1,[7,"uv","x"],"-",[7,"centerPos","x"]]],[13,"deltaY",[1,[7,"uv","y"],"-",[7,"centerPos","y"]]],[13,"acdX",[1,"deltaX","*","aspect"]],[13,"acdY","deltaY"],[13,"scaledDeltaX",[1,"acdX","/","scale"]],[13,"scaledDeltaY",[1,"acdY","/","scale"]],[10,[6,"d.vec2f",[[1,[1,"scaledDeltaX","/","aspect"],"+",[7,"centerPos","x"]],[1,"scaledDeltaY","+",[7,"centerPos","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({}));var MF=v.fn([l,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=er(t.mul(1e3)).mul(2).sub(l(1,1)).mul(s).div(r);return t.add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"intensity"},{type:"i",name:"viewport"}],body:[0,[[13,"seed",[6,[7,"uv","mul"],[[5,"1000"]]]],[13,"randVec",[6,"noise.hash22",["seed"]]],[13,"offset",[6,[7,[6,[7,[6,[7,[6,[7,"randVec","mul"],[[5,"2"]]],"sub"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]],"mul"],["intensity"]],"div"],["viewport"]]],[10,[6,[7,"uv","add"],["offset"]]]]]},externals:{"noise.hash22":()=>er,"d.vec2f":()=>l}})&&e.f)({}));var xz=[.056,.135,.278,.487,.726,.923,1,.923,.726,.487,.278,.135,.056],gz=6.214,PF=xz.map(e=>e/gz);var EF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(r,ed),i=__tsover_mul(o,.2),d=__tsover_div(s.x,s.y),c=__tsover_div(__tsover_mul(Y(n),i),d),_=__tsover_mul(__tsover_mul(H(n),-1),i);return l(__tsover_sub(t.x,c),__tsover_sub(t.y,_))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"distance"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"dist",[1,"distance","*",[5,"0.2"]]],[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"ox",[1,[1,[6,"std.sin",["angleRad"]],"*","dist"],"/","aspect"]],[13,"oy",[1,[1,[6,"std.cos",["angleRad"]],"*",[4,"-",[5,"1"]]],"*","dist"]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"-","ox"],[1,[7,"uv","y"],"-","oy"]]]]]]},externals:{DEG_TO_RAD:()=>ed,"std.sin":()=>Y,"std.cos":()=>H,"d.vec2f":()=>l}})&&e.f)({})),kF=v.fn([l,l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return l(__tsover_add(t.x,__tsover_div(__tsover_mul(o,r),s.x)),__tsover_add(t.y,__tsover_div(__tsover_mul(n,r),s.y)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"blurRadius"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[1,"ox","*","blurRadius"],"/",[7,"viewport","x"]]],[1,[7,"uv","y"],"+",[1,[1,"oy","*","blurRadius"],"/",[7,"viewport","y"]]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),$F=v.fn([x,x,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=f(s.x,s.y,s.z),i=__tsover_mul(s.w,r),d=$(__tsover_sub(i,t.w),0,1),c=n.mul(s.w).mul(d),_=n.mul(s.w).mul(r),u=__tsover_sub(1,t.w),m=f(t.x,t.y,t.z).add(_.mul(u)),p=b(__tsover_add(t.w,__tsover_mul(i,u)),t.w),y=o>.5,h=C(m,c,y),g=C(p,d,y);return x(h.x,h.y,h.z,g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"originalColor"},{type:"i",name:"shadowColor"},{type:"i",name:"shadowAlpha"},{type:"i",name:"cutout"}],body:[0,[[13,"shadowRgb",[6,"d.vec3f",[[7,"shadowColor","x"],[7,"shadowColor","y"],[7,"shadowColor","z"]]]],[13,"shadowA",[1,[7,"shadowColor","w"],"*","shadowAlpha"]],[13,"cutoutA",[6,"std.clamp",[[1,"shadowA","-",[7,"originalColor","w"]],[5,"0"],[5,"1"]]]],[13,"cutoutRgb",[6,[7,[6,[7,"shadowRgb","mul"],[[7,"shadowColor","w"]]],"mul"],["cutoutA"]]],[13,"shadowPremulRgb",[6,[7,[6,[7,"shadowRgb","mul"],[[7,"shadowColor","w"]]],"mul"],["shadowAlpha"]]],[13,"oneMinusOrigA",[1,[5,"1"],"-",[7,"originalColor","w"]]],[13,"normalRgb",[6,[7,[6,"d.vec3f",[[7,"originalColor","x"],[7,"originalColor","y"],[7,"originalColor","z"]]],"add"],[[6,[7,"shadowPremulRgb","mul"],["oneMinusOrigA"]]]]],[13,"normalA",[6,"std.max",[[1,[7,"originalColor","w"],"+",[1,"shadowA","*","oneMinusOrigA"]],[7,"originalColor","w"]]]],[13,"useCut",[1,"cutout",">",[5,"0.5"]]],[13,"rgb",[6,"std.select",["normalRgb","cutoutRgb","useCut"]]],[13,"a",[6,"std.select",["normalA","cutoutA","useCut"]]],[10,[6,"d.vec4f",[[7,"rgb","x"],[7,"rgb","y"],[7,"rgb","z"],"a"]]]]]},externals:{"d.vec3f":()=>f,"std.clamp":()=>$,"std.max":()=>b,"std.select":()=>C,"d.vec4f":()=>x}})&&e.f)({}));var UF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return l(__tsover_add(t.x,__tsover_div(r,s.x)),__tsover_add(t.y,__tsover_div(o,s.y)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"dirX"},{type:"i",name:"dirY"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,"dirX","/",[7,"viewport","x"]]],[1,[7,"uv","y"],"+",[1,"dirY","/",[7,"viewport","y"]]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),CF=v.fn([x,x,x,x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_add(1,__tsover_mul(i,4)),c=__tsover_mul(i,-1),_=$(t.xyz.mul(d).add(s.xyz.mul(c)).add(r.xyz.mul(c)).add(o.xyz.mul(c)).add(n.xyz.mul(c)),f(0,0,0),f(1,1,1));return x(_.x,_.y,_.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"top"},{type:"i",name:"bottom"},{type:"i",name:"left"},{type:"i",name:"right"},{type:"i",name:"amount"}],body:[0,[[13,"centerWeight",[1,[5,"1"],"+",[1,"amount","*",[5,"4"]]]],[13,"neighborWeight",[1,"amount","*",[4,"-",[5,"1"]]]],[13,"rgb",[6,[7,[6,[7,[6,[7,[6,[7,[6,[7,[7,"center","xyz"],"mul"],["centerWeight"]],"add"],[[6,[7,[7,"top","xyz"],"mul"],["neighborWeight"]]]],"add"],[[6,[7,[7,"bottom","xyz"],"mul"],["neighborWeight"]]]],"add"],[[6,[7,[7,"left","xyz"],"mul"],["neighborWeight"]]]],"add"],[[6,[7,[7,"right","xyz"],"mul"],["neighborWeight"]]]]],[13,"clamped",[6,"std.clamp",["rgb",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]],[10,[6,"d.vec4f",[[7,"clamped","x"],[7,"clamped","y"],[7,"clamped","z"],[7,"center","w"]]]]]]},externals:{"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({}));var RF=v.fn([l,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=s>1,d=b(C(__tsover_mul(r,s),r,i),1),c=b(C(r,__tsover_div(r,s),i),1),_=l(__tsover_div(q(__tsover_mul(t.x,d)),d),__tsover_div(q(__tsover_mul(t.y,c)),c)),u=l(__tsover_sub(ue(__tsover_mul(t.x,d)),.5),__tsover_sub(ue(__tsover_mul(t.y,c)),.5)),m=__tsover_sub(.5,__tsover_mul(o,.5)),p=__tsover_mul(n,m),y=b(__tsover_add(__tsover_sub(z(u.x),m),p),0),h=b(__tsover_add(__tsover_sub(z(u.y),m),p),0),g=__tsover_sub(j(l(y,h)),p),w=C(a(0),a(1),g<=0);return f(_.x,_.y,w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"scale"},{type:"i",name:"gap"},{type:"i",name:"roundness"}],body:[0,[[13,"isWide",[1,"aspect",">",[5,"1"]]],[13,"pixelCountX",[6,"std.max",[[6,"std.select",[[1,"scale","*","aspect"],"scale","isWide"]],[5,"1"]]]],[13,"pixelCountY",[6,"std.max",[[6,"std.select",["scale",[1,"scale","/","aspect"],"isWide"]],[5,"1"]]]],[13,"sampleUV",[6,"d.vec2f",[[1,[6,"std.floor",[[1,[7,"uv","x"],"*","pixelCountX"]]],"/","pixelCountX"],[1,[6,"std.floor",[[1,[7,"uv","y"],"*","pixelCountY"]]],"/","pixelCountY"]]]],[13,"localUV",[6,"d.vec2f",[[1,[6,"std.fract",[[1,[7,"uv","x"],"*","pixelCountX"]]],"-",[5,"0.5"]],[1,[6,"std.fract",[[1,[7,"uv","y"],"*","pixelCountY"]]],"-",[5,"0.5"]]]]],[13,"halfSize",[1,[5,"0.5"],"-",[1,"gap","*",[5,"0.5"]]]],[13,"cornerRadius",[1,"roundness","*","halfSize"]],[13,"qx",[6,"std.max",[[1,[1,[6,"std.abs",[[7,"localUV","x"]]],"-","halfSize"],"+","cornerRadius"],[5,"0"]]]],[13,"qy",[6,"std.max",[[1,[1,[6,"std.abs",[[7,"localUV","y"]]],"-","halfSize"],"+","cornerRadius"],[5,"0"]]]],[13,"sdf",[1,[6,"std.length",[[6,"d.vec2f",["qx","qy"]]]],"-","cornerRadius"]],[13,"mask",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"sdf","<=",[5,"0"]]]]],[10,[6,"d.vec3f",[[7,"sampleUV","x"],[7,"sampleUV","y"],"mask"]]]]]},externals:{"std.max":()=>b,"std.select":()=>C,"d.vec2f":()=>l,"std.floor":()=>q,"std.fract":()=>ue,"std.abs":()=>z,"std.length":()=>j,"d.f32":()=>a,"d.vec3f":()=>f}})&&e.f)({}));var zF=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=s>1,c=l(C(__tsover_mul(o,s),o,d),C(o,__tsover_div(o,s),d)),_=l(__tsover_mul(t.x,s),t.y),u=__tsover_mul(n,ed),m=H(u),p=Y(u),y=_.sub(l(__tsover_mul(.5,s),.5)),h=l(__tsover_sub(__tsover_mul(y.x,m),__tsover_mul(y.y,p)),__tsover_add(__tsover_mul(y.x,p),__tsover_mul(y.y,m))).add(l(__tsover_mul(.5,s),.5)),g=l(__tsover_div(h.x,s),h.y),w=q(g.mul(c)).div(c),S=g.sub(w),T=l(1,1).div(c),A=S.div(T).sub(l(.5,.5)),P=__tsover_add(__tsover_mul(A.x,A.x),__tsover_mul(A.y,A.y)),U=b(__tsover_sub(1,__tsover_mul(P,__tsover_mul(i,4))),0),D=__tsover_mul(r,.025),O=__tsover_mul(D,U),L=l(__tsover_div(__tsover_mul(A.x,O),s),__tsover_mul(A.y,O));return t.add(L)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"intensity"},{type:"i",name:"baseTileCount"},{type:"i",name:"rotationDegrees"},{type:"i",name:"roundnessAmount"}],body:[0,[[13,"isWide",[1,"aspect",">",[5,"1"]]],[13,"tileCount",[6,"d.vec2f",[[6,"std.select",[[1,"baseTileCount","*","aspect"],"baseTileCount","isWide"]],[6,"std.select",["baseTileCount",[1,"baseTileCount","/","aspect"],"isWide"]]]]],[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"rotationRadians",[1,"rotationDegrees","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["rotationRadians"]]],[13,"sinA",[6,"std.sin",["rotationRadians"]]],[13,"centered",[6,[7,"aspectCorrectedUV","sub"],[[6,"d.vec2f",[[1,[5,"0.5"],"*","aspect"],[5,"0.5"]]]]]],[13,"rotatedX",[1,[1,[7,"centered","x"],"*","cosA"],"-",[1,[7,"centered","y"],"*","sinA"]]],[13,"rotatedY",[1,[1,[7,"centered","x"],"*","sinA"],"+",[1,[7,"centered","y"],"*","cosA"]]],[13,"rotatedUV",[6,[7,[6,"d.vec2f",["rotatedX","rotatedY"]],"add"],[[6,"d.vec2f",[[1,[5,"0.5"],"*","aspect"],[5,"0.5"]]]]]],[13,"gridUV",[6,"d.vec2f",[[1,[7,"rotatedUV","x"],"/","aspect"],[7,"rotatedUV","y"]]]],[13,"cellCoord",[6,[7,[6,"std.floor",[[6,[7,"gridUV","mul"],["tileCount"]]]],"div"],["tileCount"]]],[13,"localUV",[6,[7,"gridUV","sub"],["cellCoord"]]],[13,"oneOverTile",[6,[7,[6,"d.vec2f",[[5,"1"],[5,"1"]]],"div"],["tileCount"]]],[13,"normalizedLocalUV",[6,[7,"localUV","div"],["oneOverTile"]]],[13,"fromCenter",[6,[7,"normalizedLocalUV","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"distFromCenter",[1,[1,[7,"fromCenter","x"],"*",[7,"fromCenter","x"]],"+",[1,[7,"fromCenter","y"],"*",[7,"fromCenter","y"]]]],[13,"roundnessFactor",[1,[5,"1"],"-",[1,"distFromCenter","*",[1,"roundnessAmount","*",[5,"4"]]]]],[13,"clampedRoundness",[6,"std.max",["roundnessFactor",[5,"0"]]]],[13,"distortionFactor",[1,"intensity","*",[5,"0.025"]]],[13,"scaleFactor",[1,"distortionFactor","*","clampedRoundness"]],[13,"distortion",[6,"d.vec2f",[[1,[1,[7,"fromCenter","x"],"*","scaleFactor"],"/","aspect"],[1,[7,"fromCenter","y"],"*","scaleFactor"]]]],[10,[6,[7,"uv","add"],["distortion"]]]]]},externals:{"d.vec2f":()=>l,"std.select":()=>C,DEG_TO_RAD:()=>ed,"std.cos":()=>H,"std.sin":()=>Y,"std.floor":()=>q,"std.max":()=>b}})&&e.f)({}));var GF=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s,.002);return l(__tsover_add(t.x,__tsover_mul(o,r)),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"colorShift"},{type:"i",name:"dir"}],body:[0,[[13,"scaledColorShift",[1,"colorShift","*",[5,"0.002"]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,"scaledColorShift","*","dir"]],[7,"uv","y"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),YF=v.fn([x,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return f(t.x,s.y,r.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"redSample"},{type:"i",name:"greenSample"},{type:"i",name:"blueSample"}],body:[0,[[10,[6,"d.vec3f",[[7,"redSample","x"],[7,"greenSample","y"],[7,"blueSample","z"]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),LF=v.fn([f,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return t.sub(f(.5)).mul(s).add(f(.5)).mul(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"contrast"},{type:"i",name:"brightness"}],body:[0,[[10,[6,[7,[6,[7,[6,[7,[6,[7,"color","sub"],[[6,"d.vec3f",[[5,"0.5"]]]]],"mul"],["contrast"]],"add"],[[6,"d.vec3f",[[5,"0.5"]]]]],"mul"],["brightness"]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),IF=v.fn([f,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,r),i=Y(__tsover_mul(n,__tsover_mul(3.14159,2))),d=__tsover_sub(1,__tsover_mul(o,__tsover_add(__tsover_mul(i,.5),.5)));return t.mul(d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uvY"},{type:"i",name:"scanlineFrequency"},{type:"i",name:"scanlineIntensity"}],body:[0,[[13,"scanlinePosition",[1,"uvY","*","scanlineFrequency"]],[13,"scanlineWave",[6,"std.sin",[[1,"scanlinePosition","*",[1,[5,"3.14159"],"*",[5,"2"]]]]]],[13,"scanlineEffect",[1,[5,"1"],"-",[1,"scanlineIntensity","*",[1,[1,"scanlineWave","*",[5,"0.5"]],"+",[5,"0.5"]]]]],[10,[6,[7,"color","mul"],["scanlineEffect"]]]]]},externals:{"std.sin":()=>Y}})&&e.f)({})),DF=v.fn([f,l,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r,.5),n=ue(s.mul(o)),i=__tsover_add(__tsover_mul(Y(__tsover_mul(n.x,6.28318)),.1),.95),d=__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(n.x,6.28318),2.09)),.1),.95),c=__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(n.x,6.28318),4.18)),.1),.95);return f(__tsover_mul(t.x,i),__tsover_mul(t.y,d),__tsover_mul(t.z,c))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"},{type:"i",name:"pixelSize"}],body:[0,[[13,"phosphorScale",[1,"pixelSize","*",[5,"0.5"]]],[13,"pixelPhase",[6,"std.fract",[[6,[7,"uv","mul"],["phosphorScale"]]]]],[13,"redMask",[1,[1,[6,"std.sin",[[1,[7,"pixelPhase","x"],"*",[5,"6.28318"]]]],"*",[5,"0.1"]],"+",[5,"0.95"]]],[13,"greenMask",[1,[1,[6,"std.sin",[[1,[1,[7,"pixelPhase","x"],"*",[5,"6.28318"]],"+",[5,"2.09"]]]],"*",[5,"0.1"]],"+",[5,"0.95"]]],[13,"blueMask",[1,[1,[6,"std.sin",[[1,[1,[7,"pixelPhase","x"],"*",[5,"6.28318"]],"+",[5,"4.18"]]]],"*",[5,"0.1"]],"+",[5,"0.95"]]],[10,[6,"d.vec3f",[[1,[7,"color","x"],"*","redMask"],[1,[7,"color","y"],"*","greenMask"],[1,[7,"color","z"],"*","blueMask"]]]]]]},externals:{"std.fract":()=>ue,"std.sin":()=>Y,"d.vec3f":()=>f}})&&e.f)({})),FF=v.fn([f,l,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=s.sub(l(.5,.5)),d=j(l(__tsover_mul(i.x,r),i.y)),c=__tsover_sub(1,__tsover_mul(o,.9)),_=__tsover_add(c,.5),u=X(1,__tsover_sub(1,re(c,_,d)),n);return t.mul(u)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"vignetteRadius"},{type:"i",name:"vignetteIntensity"}],body:[0,[[13,"centeredUV",[6,[7,"uv","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"centeredUV","x"],"*","aspect"],[7,"centeredUV","y"]]]],[13,"vignetteDistance",[6,"std.length",["aspectCorrectedUV"]]],[13,"innerEdge",[1,[5,"1"],"-",[1,"vignetteRadius","*",[5,"0.9"]]]],[13,"outerEdge",[1,"innerEdge","+",[5,"0.5"]]],[13,"vignetteValue",[1,[5,"1"],"-",[6,"std.smoothstep",["innerEdge","outerEdge","vignetteDistance"]]]],[13,"vignette",[6,"std.mix",[[5,"1"],"vignetteValue","vignetteIntensity"]]],[10,[6,[7,"color","mul"],["vignette"]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.smoothstep":()=>re,"std.mix":()=>X}})&&e.f)({})),I3=487,qd=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ot(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"noise.hash12",["p"]]]]]},externals:{"noise.hash12":()=>Ot}})&&e.f)({})),En=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=ue(t),o=r.mul(r).mul(l(3,3).sub(r.mul(2))),n=qd(s),i=qd(s.add(l(1,0))),d=qd(s.add(l(0,1))),c=qd(s.add(l(1,1)));return X(X(n,i,o.x),X(d,c,o.x),o.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,"std.fract",["p"]]],[13,"u",[6,[7,[6,[7,"f","mul"],["f"]],"mul"],[[6,[7,[6,"d.vec2f",[[5,"3"],[5,"3"]]],"sub"],[[6,[7,"f","mul"],[[5,"2"]]]]]]]],[13,"a",[6,"hash2D",["i"]]],[13,"b",[6,"hash2D",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"0"]]]]]]]],[13,"c",[6,"hash2D",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]]]],[13,"dd",[6,"hash2D",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]]],[10,[6,"std.mix",[[6,"std.mix",["a","b",[7,"u","x"]]],[6,"std.mix",["c","dd",[7,"u","x"]]],[7,"u","y"]]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,"d.vec2f":()=>l,hash2D:()=>qd,"std.mix":()=>X}})&&e.f)({})),D3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return re(.45,.8,En(l(__tsover_mul(t,.4),0)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[6,"std.smoothstep",[[5,"0.45"],[5,"0.8"],[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"t","*",[5,"0.4"]],[5,"0"]]]]]]]]]]},externals:{"std.smoothstep":()=>re,smoothNoise2D:()=>En,"d.vec2f":()=>l}})&&e.f)({})),F3=v.fn([a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=q(__tsover_mul(t,I3)),i=__tsover_mul(__tsover_sub(Ot(l(n,s)),.5),2),d=__tsover_mul(__tsover_sub(Ot(l(n,__tsover_add(s,69.42))),.5),2),c=__tsover_add(.25,__tsover_mul(o,.75)),_=__tsover_mul(__tsover_mul(__tsover_mul(i,r),.008),c);return l(__tsover_mul(__tsover_mul(__tsover_mul(d,r),.004),c),_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvY"},{type:"i",name:"t"},{type:"i",name:"scanlineNoise"},{type:"i",name:"burst"}],body:[0,[[13,"rowInt",[6,"std.floor",[[1,"uvY","*","FIELD_LINES"]]]],[13,"h0",[1,[1,[6,"noise.hash12",[[6,"d.vec2f",["rowInt","t"]]]],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"h1",[1,[1,[6,"noise.hash12",[[6,"d.vec2f",["rowInt",[1,"t","+",[5,"69.42"]]]]]],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"fineGate",[1,[5,"0.25"],"+",[1,"burst","*",[5,"0.75"]]]],[13,"chromaRowOffset",[1,[1,[1,"h0","*","scanlineNoise"],"*",[5,"0.008"]],"*","fineGate"]],[13,"lumaRowOffset",[1,[1,[1,"h1","*","scanlineNoise"],"*",[5,"0.004"]],"*","fineGate"]],[10,[6,"d.vec2f",["lumaRowOffset","chromaRowOffset"]]]]]},externals:{"std.floor":()=>q,FIELD_LINES:()=>I3,"noise.hash12":()=>Ot,"d.vec2f":()=>l}})&&e.f)({})),B3=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(En(l(__tsover_mul(t,3),__tsover_mul(s,.8))),.5),n=__tsover_sub(En(l(__tsover_mul(t,30),__tsover_mul(s,6))),.5);return __tsover_mul(__tsover_add(__tsover_mul(o,.008),__tsover_mul(n,.002)),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvY"},{type:"i",name:"t"},{type:"i",name:"wobble"}],body:[0,[[13,"wave1",[1,[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"uvY","*",[5,"3"]],[1,"t","*",[5,"0.8"]]]]]],"-",[5,"0.5"]]],[13,"wave2",[1,[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"uvY","*",[5,"30"]],[1,"t","*",[5,"6"]]]]]],"-",[5,"0.5"]]],[10,[1,[1,[1,"wave1","*",[5,"0.008"]],"+",[1,"wave2","*",[5,"0.002"]]],"*","wobble"]]]]},externals:{smoothNoise2D:()=>En,"d.vec2f":()=>l}})&&e.f)({})),W3=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=re(.92,.99,Y(__tsover_sub(__tsover_mul(t,8),__tsover_mul(s,3.77)))),n=re(.3,1,En(l(__tsover_mul(t,4.77),s)));return __tsover_mul(__tsover_mul(__tsover_mul(o,n),r),-.018)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvY"},{type:"i",name:"t"},{type:"i",name:"wobble"}],body:[0,[[13,"creasePhase",[6,"std.smoothstep",[[5,"0.92"],[5,"0.99"],[6,"std.sin",[[1,[1,"uvY","*",[5,"8"]],"-",[1,"t","*",[5,"3.77"]]]]]]]],[13,"creaseNoise",[6,"std.smoothstep",[[5,"0.3"],[5,"1"],[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"uvY","*",[5,"4.77"]],"t"]]]]]]],[10,[1,[1,[1,"creasePhase","*","creaseNoise"],"*","wobble"],"*",[4,"-",[5,"0.018"]]]]]]},externals:{"std.smoothstep":()=>re,"std.sin":()=>Y,smoothNoise2D:()=>En,"d.vec2f":()=>l}})&&e.f)({})),O3=v.fn([a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(1,re(0,.06,t)),i=__tsover_sub(En(l(__tsover_mul(t,60),__tsover_mul(s,14))),.5);return l(__tsover_mul(__tsover_mul(__tsover_mul(n,i),r),.09),__tsover_mul(__tsover_mul(__tsover_mul(n,r),o),.02))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvY"},{type:"i",name:"t"},{type:"i",name:"wobble"},{type:"i",name:"burst"}],body:[0,[[13,"switchPhase",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],[5,"0.06"],"uvY"]]]],[13,"switchNoise",[1,[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"uvY","*",[5,"60"]],[1,"t","*",[5,"14"]]]]]],"-",[5,"0.5"]]],[13,"switchX",[1,[1,[1,"switchPhase","*","switchNoise"],"*","wobble"],"*",[5,"0.09"]]],[13,"switchY",[1,[1,[1,"switchPhase","*","wobble"],"*","burst"],"*",[5,"0.02"]]],[10,[6,"d.vec2f",["switchX","switchY"]]]]]},externals:{"std.smoothstep":()=>re,smoothNoise2D:()=>En,"d.vec2f":()=>l}})&&e.f)({})),BF=v.fn([l,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,r),d=D3(i),c=F3(t.y,i,n,d),_=O3(t.y,i,o,d),u=__tsover_add(__tsover_add(B3(t.y,i,o),W3(t.y,i,o)),_.x),m=__tsover_add(t.y,_.y);return x(__tsover_add(__tsover_add(t.x,u),c.x),m,__tsover_add(__tsover_add(t.x,u),c.y),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"time"},{type:"i",name:"speed"},{type:"i",name:"wobble"},{type:"i",name:"scanlineNoise"}],body:[0,[[13,"t",[1,"time","*","speed"]],[13,"burst",[6,"burstGate",["t"]]],[13,"jitter",[6,"rowJitter",[[7,"uv","y"],"t","scanlineNoise","burst"]]],[13,"sw",[6,"headSwitch",[[7,"uv","y"],"t","wobble","burst"]]],[13,"globalX",[1,[1,[6,"tapeWave",[[7,"uv","y"],"t","wobble"]],"+",[6,"creaseShift",[[7,"uv","y"],"t","wobble"]]],"+",[7,"sw","x"]]],[13,"sy",[1,[7,"uv","y"],"+",[7,"sw","y"]]],[10,[6,"d.vec4f",[[1,[1,[7,"uv","x"],"+","globalX"],"+",[7,"jitter","x"]],"sy",[1,[1,[7,"uv","x"],"+","globalX"],"+",[7,"jitter","y"]],"sy"]]]]]},externals:{burstGate:()=>D3,rowJitter:()=>F3,headSwitch:()=>O3,tapeWave:()=>B3,creaseShift:()=>W3,"d.vec4f":()=>x}})&&e.f)({})),WF=v.fn([l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,r);return __tsover_add(1,__tsover_mul(__tsover_mul(H(__tsover_add(__tsover_mul(bo(n,6.2831853),2),__tsover_mul(t.y,.5))),.015),o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"time"},{type:"i",name:"speed"},{type:"i",name:"wobble"}],body:[0,[[13,"t",[1,"time","*","speed"]],[10,[1,[5,"1"],"+",[1,[1,[6,"std.cos",[[1,[1,[6,"std.mod",["t",[5,"6.2831853"]]],"*",[5,"2"]],"+",[1,[7,"uv","y"],"*",[5,"0.5"]]]]],"*",[5,"0.015"]],"*","wobble"]]]]]},externals:{"std.cos":()=>H,"std.mod":()=>bo}})&&e.f)({})),OF=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_add(t.x,__tsover_mul(__tsover_mul(r,-1),s)),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"chromaUV"},{type:"i",name:"smearScale"},{type:"i",name:"i"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"chromaUV","x"],"+",[1,[1,"i","*",[4,"-",[5,"1"]]],"*","smearScale"]],[7,"chromaUV","y"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),VF=v.fn([x,x,x,x,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=se(t.xyz,f(.299,.587,.114)),c=f(.596,-.274,-.322),_=f(.211,-.523,.312),u=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(se(s.xyz,c),.06666666666666667),__tsover_mul(se(r.xyz,c),.13333333333333333)),__tsover_mul(se(o.xyz,c),.2)),__tsover_mul(se(n.xyz,c),.26666666666666666)),__tsover_mul(se(i.xyz,c),.3333333333333333)),m=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(se(s.xyz,_),.06666666666666667),__tsover_mul(se(r.xyz,_),.13333333333333333)),__tsover_mul(se(o.xyz,_),.2)),__tsover_mul(se(n.xyz,_),.26666666666666666)),__tsover_mul(se(i.xyz,_),.3333333333333333));return f(__tsover_add(__tsover_add(d,__tsover_mul(u,.956)),__tsover_mul(m,.621)),__tsover_sub(__tsover_sub(d,__tsover_mul(u,.272)),__tsover_mul(m,.647)),__tsover_add(__tsover_sub(d,__tsover_mul(u,1.106)),__tsover_mul(m,1.703)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"luma"},{type:"i",name:"c1"},{type:"i",name:"c2"},{type:"i",name:"c3"},{type:"i",name:"c4"},{type:"i",name:"c5"}],body:[0,[[13,"sharpY",[6,"std.dot",[[7,"luma","xyz"],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"iAxis",[6,"d.vec3f",[[5,"0.596"],[4,"-",[5,"0.274"]],[4,"-",[5,"0.322"]]]]],[13,"qAxis",[6,"d.vec3f",[[5,"0.211"],[4,"-",[5,"0.523"]],[5,"0.312"]]]],[13,"accI",[1,[1,[1,[1,[1,[6,"std.dot",[[7,"c1","xyz"],"iAxis"]],"*",[5,"0.06666666666666667"]],"+",[1,[6,"std.dot",[[7,"c2","xyz"],"iAxis"]],"*",[5,"0.13333333333333333"]]],"+",[1,[6,"std.dot",[[7,"c3","xyz"],"iAxis"]],"*",[5,"0.2"]]],"+",[1,[6,"std.dot",[[7,"c4","xyz"],"iAxis"]],"*",[5,"0.26666666666666666"]]],"+",[1,[6,"std.dot",[[7,"c5","xyz"],"iAxis"]],"*",[5,"0.3333333333333333"]]]],[13,"accQ",[1,[1,[1,[1,[1,[6,"std.dot",[[7,"c1","xyz"],"qAxis"]],"*",[5,"0.06666666666666667"]],"+",[1,[6,"std.dot",[[7,"c2","xyz"],"qAxis"]],"*",[5,"0.13333333333333333"]]],"+",[1,[6,"std.dot",[[7,"c3","xyz"],"qAxis"]],"*",[5,"0.2"]]],"+",[1,[6,"std.dot",[[7,"c4","xyz"],"qAxis"]],"*",[5,"0.26666666666666666"]]],"+",[1,[6,"std.dot",[[7,"c5","xyz"],"qAxis"]],"*",[5,"0.3333333333333333"]]]],[10,[6,"d.vec3f",[[1,[1,"sharpY","+",[1,"accI","*",[5,"0.956"]]],"+",[1,"accQ","*",[5,"0.621"]]],[1,[1,"sharpY","-",[1,"accI","*",[5,"0.272"]]],"-",[1,"accQ","*",[5,"0.647"]]],[1,[1,"sharpY","-",[1,"accI","*",[5,"1.106"]]],"+",[1,"accQ","*",[5,"1.703"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),NF=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=$(t.xyz.mul(s),f(0,0,0),f(1,1,1));return x(r.x,r.y,r.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"acBeat"}],body:[0,[[13,"clamped",[6,"std.clamp",[[6,[7,[7,"color","xyz"],"mul"],["acBeat"]],[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]],[10,[6,"d.vec4f",[[7,"clamped","x"],[7,"clamped","y"],[7,"clamped","z"],[7,"color","w"]]]]]]},externals:{"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),sr=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Gs(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"noise.hash11",["p"]]]]]},externals:{"noise.hash11":()=>Gs}})&&e.f)({})),V3=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=sr(t),n=__tsover_mul(__tsover_mul(o,o),o),i=sr(__tsover_add(s,73)),d=__tsover_mul(i,i),c=__tsover_sub(1,r),_=De(c,n),u=De(__tsover_add(c,.15),d);return __tsover_mul($(__tsover_add(__tsover_mul(_,.8),__tsover_mul(u,.4)),0,1),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"slowFrame"},{type:"i",name:"fastFrame"},{type:"i",name:"intensity"}],body:[0,[[13,"slowHash",[6,"hash11",["slowFrame"]]],[13,"slowPulse",[1,[1,"slowHash","*","slowHash"],"*","slowHash"]],[13,"fastHash",[6,"hash11",[[1,"fastFrame","+",[5,"73"]]]]],[13,"fastPulse",[1,"fastHash","*","fastHash"]],[13,"threshold",[1,[5,"1"],"-","intensity"]],[13,"majorBurst",[6,"std.step",["threshold","slowPulse"]]],[13,"minorFlicker",[6,"std.step",[[1,"threshold","+",[5,"0.15"]],"fastPulse"]]],[10,[1,[6,"std.clamp",[[1,[1,"majorBurst","*",[5,"0.8"]],"+",[1,"minorFlicker","*",[5,"0.4"]]],[5,"0"],[5,"1"]]],"*","intensity"]]]]},externals:{hash11:()=>sr,"std.step":()=>De,"std.clamp":()=>$}})&&e.f)({})),Q_=v.fn([a,a,a,a,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_add(__tsover_mul(t,r),__tsover_mul(s,o)),u=sr(_),m=De(__tsover_sub(1,__tsover_mul(c,n)),u);return f(__tsover_mul(__tsover_mul(__tsover_sub(sr(__tsover_add(_,i)),.5),d),m),m,_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"bandY"},{type:"i",name:"frame"},{type:"i",name:"seedScale"},{type:"i",name:"frameScale"},{type:"i",name:"gateFactor"},{type:"i",name:"hashOffset"},{type:"i",name:"amplitude"},{type:"i",name:"glitchStrength"}],body:[0,[[13,"seed",[1,[1,"bandY","*","seedScale"],"+",[1,"frame","*","frameScale"]]],[13,"bandHash",[6,"hash11",["seed"]]],[13,"active",[6,"std.step",[[1,[5,"1"],"-",[1,"glitchStrength","*","gateFactor"]],"bandHash"]]],[13,"displace",[1,[1,[1,[6,"hash11",[[1,"seed","+","hashOffset"]]],"-",[5,"0.5"]],"*","amplitude"],"*","active"]],[10,[6,"d.vec3f",["displace","active","seed"]]]]]},externals:{hash11:()=>sr,"std.step":()=>De,"d.vec3f":()=>f}})&&e.f)({})),N3=v.fn([a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_add(__tsover_add(__tsover_mul(t,.41),__tsover_mul(s,.67)),__tsover_mul(r,2.31)),i=sr(n),d=De(__tsover_sub(1,__tsover_mul(o,.35)),i);return l(__tsover_mul(__tsover_mul(__tsover_sub(sr(__tsover_add(n,77)),.5),.18),d),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colX"},{type:"i",name:"bandY1"},{type:"i",name:"slowFrame"},{type:"i",name:"glitchStrength"}],body:[0,[[13,"blockSeed",[1,[1,[1,"colX","*",[5,"0.41"]],"+",[1,"bandY1","*",[5,"0.67"]]],"+",[1,"slowFrame","*",[5,"2.31"]]]],[13,"blockHash",[6,"hash11",["blockSeed"]]],[13,"blockActive",[6,"std.step",[[1,[5,"1"],"-",[1,"glitchStrength","*",[5,"0.35"]]],"blockHash"]]],[13,"displace",[1,[1,[1,[6,"hash11",[[1,"blockSeed","+",[5,"77"]]]],"-",[5,"0.5"]],"*",[5,"0.18"]],"*","blockActive"]],[10,[6,"d.vec2f",["displace","blockActive"]]]]]},externals:{hash11:()=>sr,"std.step":()=>De,"d.vec2f":()=>l}})&&e.f)({})),q3=v.fn([l,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_add(__tsover_add(__tsover_mul(s,.83),__tsover_mul(r,1.17)),__tsover_mul(o,4.57)),_=sr(c),u=sr(__tsover_add(c,500)),m=__tsover_mul(De(__tsover_sub(1,__tsover_mul(i,d)),_),n),p=__tsover_mul(De(__tsover_sub(1,__tsover_mul(__tsover_mul(i,d),.4)),u),n);return l(X(t.x,__tsover_sub(1,t.x),m),X(t.y,__tsover_sub(1,t.y),p))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"displacedUV"},{type:"i",name:"colX"},{type:"i",name:"bandY1"},{type:"i",name:"slowFrame"},{type:"i",name:"bandActive1"},{type:"i",name:"mirrorChance"},{type:"i",name:"glitchStrength"}],body:[0,[[13,"mirrorSeed",[1,[1,[1,"colX","*",[5,"0.83"]],"+",[1,"bandY1","*",[5,"1.17"]]],"+",[1,"slowFrame","*",[5,"4.57"]]]],[13,"hMirrorHash",[6,"hash11",["mirrorSeed"]]],[13,"vMirrorHash",[6,"hash11",[[1,"mirrorSeed","+",[5,"500"]]]]],[13,"hMirrorActive",[1,[6,"std.step",[[1,[5,"1"],"-",[1,"mirrorChance","*","glitchStrength"]],"hMirrorHash"]],"*","bandActive1"]],[13,"vMirrorActive",[1,[6,"std.step",[[1,[5,"1"],"-",[1,[1,"mirrorChance","*","glitchStrength"],"*",[5,"0.4"]]],"vMirrorHash"]],"*","bandActive1"]],[10,[6,"d.vec2f",[[6,"std.mix",[[7,"displacedUV","x"],[1,[5,"1"],"-",[7,"displacedUV","x"]],"hMirrorActive"]],[6,"std.mix",[[7,"displacedUV","y"],[1,[5,"1"],"-",[7,"displacedUV","y"]],"vMirrorActive"]]]]]]]},externals:{hash11:()=>sr,"std.step":()=>De,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),Dm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({mirroredUV:l,spread:a,strength:a,bandY1:a,slowFrame:a,bandGate:a,blockGate:a,distortion:a}),"GlitchGeom"),qF=v.fn([l,a,a,a,a,a],Dm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(s,o),c=q(__tsover_mul(d,2.5)),_=q(__tsover_mul(d,10)),u=V3(c,_,r),m=q(__tsover_mul(t.y,n)),p=Q_(m,c,.37,7.13,.5,42,.25,u),y=Q_(q(__tsover_mul(t.y,__tsover_mul(n,2))),_,.53,3.37,.7,99,.12,u),h=Q_(q(__tsover_mul(t.y,__tsover_mul(n,4))),_,.71,11.71,.9,173,.05,u),g=q(__tsover_mul(t.x,4)),w=N3(g,m,c,u),S=__tsover_add(__tsover_add(__tsover_add(p.x,y.x),h.x),w.x),T=__tsover_mul(__tsover_mul(p.y,__tsover_sub(sr(__tsover_add(p.z,200)),.5)),.012),A=q3(l($(__tsover_add(t.x,__tsover_mul(S,u)),0,1),$(__tsover_add(t.y,__tsover_mul(T,u)),0,1)),g,m,c,p.y,i,u),P=__tsover_add(u,__tsover_mul(z(S),2)),U=$(__tsover_add(__tsover_add(p.y,y.y),h.y),0,1);return Dm({mirroredUV:A,spread:P,strength:u,bandY1:m,slowFrame:c,bandGate:p.y,blockGate:w.y,distortion:U})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"time"},{type:"i",name:"intensity"},{type:"i",name:"speed"},{type:"i",name:"blockDensity"},{type:"i",name:"mirrorChance"}],body:[0,[[13,"t",[1,"time","*","speed"]],[13,"slowFrame",[6,"std.floor",[[1,"t","*",[5,"2.5"]]]]],[13,"fastFrame",[6,"std.floor",[[1,"t","*",[5,"10"]]]]],[13,"glitchStrength",[6,"burstPulse",["slowFrame","fastFrame","intensity"]]],[13,"bandY1",[6,"std.floor",[[1,[7,"uv","y"],"*","blockDensity"]]]],[13,"band1",[6,"bandJitter",["bandY1","slowFrame",[5,"0.37"],[5,"7.13"],[5,"0.5"],[5,"42"],[5,"0.25"],"glitchStrength"]]],[13,"bandY2",[6,"std.floor",[[1,[7,"uv","y"],"*",[1,"blockDensity","*",[5,"2"]]]]]],[13,"band2",[6,"bandJitter",["bandY2","fastFrame",[5,"0.53"],[5,"3.37"],[5,"0.7"],[5,"99"],[5,"0.12"],"glitchStrength"]]],[13,"bandY3",[6,"std.floor",[[1,[7,"uv","y"],"*",[1,"blockDensity","*",[5,"4"]]]]]],[13,"band3",[6,"bandJitter",["bandY3","fastFrame",[5,"0.71"],[5,"11.71"],[5,"0.9"],[5,"173"],[5,"0.05"],"glitchStrength"]]],[13,"colX",[6,"std.floor",[[1,[7,"uv","x"],"*",[5,"4"]]]]],[13,"block",[6,"blockShift",["colX","bandY1","slowFrame","glitchStrength"]]],[13,"totalDisplaceX",[1,[1,[1,[7,"band1","x"],"+",[7,"band2","x"]],"+",[7,"band3","x"]],"+",[7,"block","x"]]],[13,"vertJitter",[1,[1,[7,"band1","y"],"*",[1,[6,"hash11",[[1,[7,"band1","z"],"+",[5,"200"]]]],"-",[5,"0.5"]]],"*",[5,"0.012"]]],[13,"displacedUV",[6,"d.vec2f",[[6,"std.clamp",[[1,[7,"uv","x"],"+",[1,"totalDisplaceX","*","glitchStrength"]],[5,"0"],[5,"1"]]],[6,"std.clamp",[[1,[7,"uv","y"],"+",[1,"vertJitter","*","glitchStrength"]],[5,"0"],[5,"1"]]]]]],[13,"mirroredUV",[6,"mirrorFlips",["displacedUV","colX","bandY1","slowFrame",[7,"band1","y"],"mirrorChance","glitchStrength"]]],[13,"spread",[1,"glitchStrength","+",[1,[6,"std.abs",["totalDisplaceX"]],"*",[5,"2"]]]],[13,"anyDistortion",[6,"std.clamp",[[1,[1,[7,"band1","y"],"+",[7,"band2","y"]],"+",[7,"band3","y"]],[5,"0"],[5,"1"]]]],[10,[6,"GlitchGeom",[[104,{mirroredUV:"mirroredUV",spread:"spread",strength:"glitchStrength",bandY1:"bandY1",slowFrame:"slowFrame",bandGate:[7,"band1","y"],blockGate:[7,"block","y"],distortion:"anyDistortion"}]]]]]]},externals:{"std.floor":()=>q,burstPulse:()=>V3,bandJitter:()=>Q_,blockShift:()=>N3,hash11:()=>sr,"d.vec2f":()=>l,"std.clamp":()=>$,mirrorFlips:()=>q3,"std.abs":()=>z,GlitchGeom:()=>Dm}})&&e.f)({})),XF=v.fn([l,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(__tsover_mul(s,.003),r),n=$(__tsover_add(t.x,o),0,1),i=$(__tsover_sub(t.x,o),0,1);return x(n,t.y,i,t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"mirroredUV"},{type:"i",name:"rgbShift"},{type:"i",name:"spread"}],body:[0,[[13,"rgbOffset",[1,[1,"rgbShift","*",[5,"0.003"]],"*","spread"]],[13,"redX",[6,"std.clamp",[[1,[7,"mirroredUV","x"],"+","rgbOffset"],[5,"0"],[5,"1"]]]],[13,"blueX",[6,"std.clamp",[[1,[7,"mirroredUV","x"],"-","rgbOffset"],[5,"0"],[5,"1"]]]],[10,[6,"d.vec4f",["redX",[7,"mirroredUV","y"],"blueX",[7,"mirroredUV","y"]]]]]]},externals:{"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})),HF=v.fn([x,l,a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=q(__tsover_mul(s.x,4)),u=__tsover_add(__tsover_add(__tsover_mul(_,.41),__tsover_mul(r,.67)),__tsover_mul(o,2.31)),m=sr(__tsover_add(u,555)),p=sr(__tsover_add(__tsover_add(r,__tsover_mul(o,3.33)),333)),y=ue(__tsover_add(__tsover_mul(s.x,3),__tsover_mul(p,7))),h=q(__tsover_mul(y,7)),g=f(__tsover_add(__tsover_sub(1,De(2,h)),__tsover_mul(De(4,h),__tsover_sub(1,De(6,h)))),__tsover_sub(1,De(4,h)),__tsover_sub(1,De(.5,ue(__tsover_mul(h,.5))))),w=ue(__tsover_add(__tsover_mul(sr(__tsover_add(r,13)),.8),__tsover_mul(o,.07))),S=__tsover_mul(w,6),T=X(f($(__tsover_sub(z(__tsover_sub(S,3)),1),0,1),$(__tsover_sub(2,z(__tsover_sub(S,2))),0,1),$(__tsover_sub(2,z(__tsover_sub(S,4))),0,1)).mul(1.3),g,f(De(.5,m))),A=__tsover_mul(__tsover_mul(__tsover_mul(d,c),n),i),P=X(t.xyz,T.mul(t.w),f(A));return x(P.x,P.y,P.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"},{type:"i",name:"bandY1"},{type:"i",name:"slowFrame"},{type:"i",name:"colorBarMix"},{type:"i",name:"strength"},{type:"i",name:"bandGate"},{type:"i",name:"blockGate"}],body:[0,[[13,"colX",[6,"std.floor",[[1,[7,"uv","x"],"*",[5,"4"]]]]],[13,"blockSeed",[1,[1,[1,"colX","*",[5,"0.41"]],"+",[1,"bandY1","*",[5,"0.67"]]],"+",[1,"slowFrame","*",[5,"2.31"]]]],[13,"fillStyleHash",[6,"hash11",[[1,"blockSeed","+",[5,"555"]]]]],[13,"barOffset",[6,"hash11",[[1,[1,"bandY1","+",[1,"slowFrame","*",[5,"3.33"]]],"+",[5,"333"]]]]],[13,"barX",[6,"std.fract",[[1,[1,[7,"uv","x"],"*",[5,"3"]],"+",[1,"barOffset","*",[5,"7"]]]]]],[13,"barIndex",[6,"std.floor",[[1,"barX","*",[5,"7"]]]]],[13,"barR",[1,[1,[5,"1"],"-",[6,"std.step",[[5,"2"],"barIndex"]]],"+",[1,[6,"std.step",[[5,"4"],"barIndex"]],"*",[1,[5,"1"],"-",[6,"std.step",[[5,"6"],"barIndex"]]]]]],[13,"barG",[1,[5,"1"],"-",[6,"std.step",[[5,"4"],"barIndex"]]]],[13,"barB",[1,[5,"1"],"-",[6,"std.step",[[5,"0.5"],[6,"std.fract",[[1,"barIndex","*",[5,"0.5"]]]]]]]],[13,"smpteColor",[6,"d.vec3f",["barR","barG","barB"]]],[13,"solidHue",[6,"std.fract",[[1,[1,[6,"hash11",[[1,"bandY1","+",[5,"13"]]]],"*",[5,"0.8"]],"+",[1,"slowFrame","*",[5,"0.07"]]]]]],[13,"sh6",[1,"solidHue","*",[5,"6"]]],[13,"solidColor",[6,[7,[6,"d.vec3f",[[6,"std.clamp",[[1,[6,"std.abs",[[1,"sh6","-",[5,"3"]]]],"-",[5,"1"]],[5,"0"],[5,"1"]]],[6,"std.clamp",[[1,[5,"2"],"-",[6,"std.abs",[[1,"sh6","-",[5,"2"]]]]],[5,"0"],[5,"1"]]],[6,"std.clamp",[[1,[5,"2"],"-",[6,"std.abs",[[1,"sh6","-",[5,"4"]]]]],[5,"0"],[5,"1"]]]]],"mul"],[[5,"1.3"]]]],[13,"fillColor",[6,"std.mix",["solidColor","smpteColor",[6,"d.vec3f",[[6,"std.step",[[5,"0.5"],"fillStyleHash"]]]]]]],[13,"colorBarStrength",[1,[1,[1,"bandGate","*","blockGate"],"*","colorBarMix"],"*","strength"]],[13,"withBars",[6,"std.mix",[[7,"color","xyz"],[6,[7,"fillColor","mul"],[[7,"color","w"]]],[6,"d.vec3f",["colorBarStrength"]]]]],[10,[6,"d.vec4f",[[7,"withBars","x"],[7,"withBars","y"],[7,"withBars","z"],[7,"color","w"]]]]]]},externals:{"std.floor":()=>q,hash11:()=>sr,"std.fract":()=>ue,"std.step":()=>De,"d.vec3f":()=>f,"std.clamp":()=>$,"std.abs":()=>z,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),jF=v.fn([x,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,r),d=__tsover_add(__tsover_mul(Y(__tsover_mul(i,3.14159265)),.5),.5),c=__tsover_sub(1,__tsover_mul(__tsover_mul(__tsover_mul(o,d),.3),n)),_=t.xyz.mul(c);return x(_.x,_.y,_.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uvY"},{type:"i",name:"viewportY"},{type:"i",name:"scanlines"},{type:"i",name:"distortion"}],body:[0,[[13,"pixelY",[1,"uvY","*","viewportY"]],[13,"scanlineWave",[1,[1,[6,"std.sin",[[1,"pixelY","*",[5,"3.14159265"]]]],"*",[5,"0.5"]],"+",[5,"0.5"]]],[13,"scanlineEffect",[1,[5,"1"],"-",[1,[1,[1,"scanlines","*","scanlineWave"],"*",[5,"0.3"]],"*","distortion"]]],[13,"shaded",[6,[7,[7,"color","xyz"],"mul"],["scanlineEffect"]]],[10,[6,"d.vec4f",[[7,"shaded","x"],[7,"shaded","y"],[7,"shaded","z"],[7,"color","w"]]]]]]},externals:{"std.sin":()=>Y,"d.vec4f":()=>x}})&&e.f)({})),X3=2/Math.sqrt(3),$i=Math.sqrt(3)/2,KF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=bt(s),i=l(__tsover_mul(t.x,n),__tsover_sub(1,t.y)),d=__tsover_mul(o,Le);return Qi(i,n,H(d),Y(d)).mul(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotationDeg"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"correctedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[1,[5,"1"],"-",[7,"uv","y"]]]]],[13,"rotRad",[1,"rotationDeg","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[10,[6,[7,[6,"rotateAboutCanvasCentre",["correctedUV","aspect","cosR","sinR"]],"mul"],["cells"]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotateAboutCanvasCentre:()=>Qi}})&&e.f)({})),ZF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=bt(s),i=l(__tsover_mul(t.x,n),t.y),d=-__tsover_mul(o,Le);return Qi(i,n,H(d),Y(d)).mul(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotationDeg"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"correctedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"ang",[4,"-",[1,"rotationDeg","*","DEG_TO_RAD"]]],[13,"cosR",[6,"std.cos",["ang"]]],[13,"sinR",[6,"std.sin",["ang"]]],[10,[6,[7,[6,"rotateAboutCanvasCentre",["correctedUV","aspect","cosR","sinR"]],"mul"],["cells"]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotateAboutCanvasCentre:()=>Qi}})&&e.f)({})),QF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=bt(s),i=l(__tsover_mul(t.x,n),t.y),d=__tsover_mul(o,Le);return Qi(i,n,H(d),Y(d)).mul(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotationDeg"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"correctedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"rotRad",[1,"rotationDeg","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[10,[6,[7,[6,"rotateAboutCanvasCentre",["correctedUV","aspect","cosR","sinR"]],"mul"],["cells"]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotateAboutCanvasCentre:()=>Qi}})&&e.f)({})),va=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return Fg(Bl(t),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellId"},{type:"i",name:"variation"}],body:[0,[[10,[6,"variationFactor",[[6,"cellHash",["cellId"]],"variation"]]]]]},externals:{variationFactor:()=>Fg,cellHash:()=>Bl}})&&e.f)({})),ru=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(o,.5);return Nl(t,s,b(__tsover_sub(s,n),0),__tsover_add(__tsover_add(s,r),n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"field"},{type:"i",name:"lineWidth"},{type:"i",name:"pixel"},{type:"i",name:"softness"}],body:[0,[[13,"soft",[1,"softness","*",[5,"0.5"]]],[13,"lo",[6,"std.max",[[1,"lineWidth","-","soft"],[5,"0"]]]],[13,"hi",[1,[1,"lineWidth","+","pixel"],"+","soft"]],[10,[6,"lineMaskFromField",["field","lineWidth","lo","hi"]]]]]},externals:{"std.max":()=>b,lineMaskFromField:()=>Nl}})&&e.f)({})),ou=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return Nl(t,s,__tsover_sub(s,r),__tsover_add(s,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"field"},{type:"i",name:"lineWidth"},{type:"i",name:"aaWidth"}],body:[0,[[10,[6,"lineMaskFromField",["field","lineWidth",[1,"lineWidth","-","aaWidth"],[1,"lineWidth","+","aaWidth"]]]]]]},externals:{lineMaskFromField:()=>Nl}})&&e.f)({})),JF=v.fn([l,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Il(t,s).mul(r);return Og(n,Bg(n,o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"softness"}],body:[0,[[13,"p",[6,[7,[6,"aspectCorrectedUVFlipY",["uv","viewport"]],"mul"],["cells"]]],[10,[6,"quilezCheckerFilter",["p",[6,"footprint2",["p","softness"]]]]]]]},externals:{aspectCorrectedUVFlipY:()=>Il,quilezCheckerFilter:()=>Og,footprint2:()=>Bg}})&&e.f)({})),H3=v.fn([l,l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(r,Le),c=bt(s),_=__tsover_add(Dl(ma(t,c),H(d),Y(d)),__tsover_mul(c,.5));return __tsover_add(__tsover_add(__tsover_mul(_,o),n),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"density"},{type:"i",name:"animTime"},{type:"i",name:"offset"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"rotatedCoord",[1,[6,"directionalProjection",[[6,"canvasCentredDelta",["uv","aspect"]],[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]],"+",[1,"aspect","*",[5,"0.5"]]]],[10,[1,[1,[1,"rotatedCoord","*","density"],"+","animTime"],"+","offset"]]]]},externals:{DEG_TO_RAD:()=>Le,aspectOf:()=>bt,directionalProjection:()=>Dl,canvasCentredDelta:()=>ma,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),eB=v.fn([l,l,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=H3(t,s,r,o,n,i);return Wg(_,Vl(_,c),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"density"},{type:"i",name:"animTime"},{type:"i",name:"offset"},{type:"i",name:"balance"},{type:"i",name:"softness"}],body:[0,[[13,"p",[6,"stripeCoordP",["uv","viewport","angle","density","animTime","offset"]]],[10,[6,"quilezStepFilter",["p",[6,"footprint1",["p","softness"]],"balance"]]]]]},externals:{stripeCoordP:()=>H3,quilezStepFilter:()=>Wg,footprint1:()=>Vl}})&&e.f)({})),tB=v.fn([l,l,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_mul(o,Le),u=H(_),m=Y(_),p=Eo(ma(t,bt(s)),u,-m),y=__tsover_mul(z(__tsover_sub(ue(__tsover_mul(p.y,r)),.5)),2),h=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(p.x,r),__tsover_mul(y,.5)),c),d),g=ue(h),w=Zt(h);return re(__tsover_sub(__tsover_sub(n,i),w),__tsover_add(__tsover_add(n,i),w),g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"count"},{type:"i",name:"angle"},{type:"i",name:"balance"},{type:"i",name:"softness"},{type:"i",name:"offset"},{type:"i",name:"animTime"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"rot",[6,"rotate2",[[6,"canvasCentredDelta",["uv",[6,"aspectOf",["viewport"]]]],"cosA",[4,"-","sinA"]]]],[13,"zigzag",[1,[6,"std.abs",[[1,[6,"std.fract",[[1,[7,"rot","y"],"*","count"]]],"-",[5,"0.5"]]]],"*",[5,"2"]]],[13,"stripeCoord",[1,[1,[1,[1,[7,"rot","x"],"*","count"],"+",[1,"zigzag","*",[5,"0.5"]]],"+","animTime"],"+","offset"]],[13,"pattern",[6,"std.fract",["stripeCoord"]]],[13,"fw",[6,"std.fwidth",["stripeCoord"]]],[10,[6,"std.smoothstep",[[1,[1,"balance","-","softness"],"-","fw"],[1,[1,"balance","+","softness"],"+","fw"],"pattern"]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotate2:()=>Eo,canvasCentredDelta:()=>ma,aspectOf:()=>bt,"std.abs":()=>z,"std.fract":()=>ue,"std.fwidth":()=>Zt,"std.smoothstep":()=>re}})&&e.f)({})),sB=v.fn([l,a,a,a,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_div(c.x,c.y),u=j(l(__tsover_sub(__tsover_mul(d.x,_),__tsover_mul(t.x,_)),__tsover_sub(d.y,__tsover_sub(1,t.y)))),m=Y(__tsover_add(__tsover_sub(__tsover_mul(u,s),i),n)),p=__tsover_sub(__tsover_mul(o,2),1),y=re(__tsover_sub(p,r),__tsover_add(p,r),m);return __tsover_sub(1,y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"frequency"},{type:"i",name:"softness"},{type:"i",name:"thickness"},{type:"i",name:"phase"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"dx",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,[7,"center","x"],"*","aspect"]]],[13,"dy",[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]],[13,"dist",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[13,"waveInput",[1,[1,[1,"dist","*","frequency"],"-","animTime"],"+","phase"]],[13,"baseWave",[6,"std.sin",["waveInput"]]],[13,"thicknessThreshold",[1,[1,"thickness","*",[5,"2"]],"-",[5,"1"]]],[13,"banded",[6,"std.smoothstep",[[1,"thicknessThreshold","-","softness"],[1,"thicknessThreshold","+","softness"],"baseWave"]]],[10,[1,[5,"1"],"-","banded"]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.sin":()=>Y,"std.smoothstep":()=>re}})&&e.f)({})),j3=v.fn([a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return l(ue(__tsover_mul(Y(__tsover_mul(t,127.1)),43758.5453123)),ue(__tsover_mul(Y(__tsover_mul(t,311.7)),38291.3421)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"idx"}],body:[0,[[10,[6,"d.vec2f",[[6,"std.fract",[[1,[6,"std.sin",[[1,"idx","*",[5,"127.1"]]]],"*",[5,"43758.5453123"]]]],[6,"std.fract",[[1,[6,"std.sin",[[1,"idx","*",[5,"311.7"]]]],"*",[5,"38291.3421"]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),K3=v.fn([a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_mul(o,n),_=__tsover_mul(b(__tsover_sub(t,s),0),r),u=$(__tsover_div(_,b(c,1e-4)),0,1),m=__tsover_mul(o,be(b(__tsover_sub(1,__tsover_mul(u,u)),0)));return __tsover_mul(__tsover_sub(1,re(b(__tsover_sub(m,i),0),b(__tsover_add(m,i),.001),d)),re(0,i,m))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"vPeriodic"},{type:"i",name:"trailLen"},{type:"i",name:"density"},{type:"i",name:"hw"},{type:"i",name:"rounding"},{type:"i",name:"fwU"},{type:"i",name:"distFromCenter"}],body:[0,[[13,"maxDepth",[1,"hw","*","rounding"]],[13,"gapDist",[1,[6,"std.max",[[1,"vPeriodic","-","trailLen"],[5,"0"]]],"*","density"]],[13,"tcap",[6,"std.clamp",[[1,"gapDist","/",[6,"std.max",["maxDepth",[5,"0.0001"]]]],[5,"0"],[5,"1"]]]],[13,"capHW",[1,"hw","*",[6,"std.sqrt",[[6,"std.max",[[1,[5,"1"],"-",[1,"tcap","*","tcap"]],[5,"0"]]]]]]],[10,[1,[1,[5,"1"],"-",[6,"std.smoothstep",[[6,"std.max",[[1,"capHW","-","fwU"],[5,"0"]]],[6,"std.max",[[1,"capHW","+","fwU"],[5,"0.001"]]],"distFromCenter"]]],"*",[6,"std.smoothstep",[[5,"0"],"fwU","capHW"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.sqrt":()=>be,"std.smoothstep":()=>re}})&&e.f)({})),Z3=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_sub(__tsover_mul(2,s),1),o=b(__tsover_mul(2,__tsover_sub(1,s)),.001);return $(__tsover_div(__tsover_add(t,r),o),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"withinStreak"},{type:"i",name:"balance"}],body:[0,[[13,"balanceNum",[1,[1,[5,"2"],"*","balance"],"-",[5,"1"]]],[13,"balanceDen",[6,"std.max",[[1,[5,"2"],"*",[1,[5,"1"],"-","balance"]],[5,"0.001"]]]],[10,[6,"std.clamp",[[1,[1,"withinStreak","+","balanceNum"],"/","balanceDen"],[5,"0"],[5,"1"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$}})&&e.f)({})),rB=v.fn([l,l,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=bt(s),p=l(__tsover_mul(t.x,m),t.y).sub(l(__tsover_mul(m,.5),.5)),y=__tsover_mul(r,Le),h=H(y),g=Y(y),w=__tsover_sub(__tsover_mul(p.y,h),__tsover_mul(p.x,g)),S=__tsover_add(__tsover_mul(p.x,h),__tsover_mul(p.y,g)),T=__tsover_mul(w,o),A=q(T),P=ue(T),U=j3(A),D=__tsover_add(1,__tsover_mul(__tsover_mul(__tsover_sub(U.x,.5),n),2)),O=U.y,L=ue(__tsover_mul(u,D)),G=ue(__tsover_sub(__tsover_sub(S,L),O)),W=i,K=$(__tsover_div(G,W),0,1),Q=$(Zt(S),.001,.1),te=$(__tsover_mul(Zt(w),o),.001,.1),ee=__tsover_sub(1,re(__tsover_sub(W,Q),__tsover_add(W,Q),G)),he=__tsover_mul(d,.5),Ee=z(__tsover_sub(P,.5)),Te=__tsover_sub(1,re(__tsover_sub(he,te),__tsover_add(he,te),Ee));return l(b(__tsover_mul(ee,Te),K3(G,W,o,he,c,te,Ee)),Z3(K,_))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"vp"},{type:"i",name:"angle"},{type:"i",name:"density"},{type:"i",name:"speedVariance"},{type:"i",name:"trailLength"},{type:"i",name:"strokeWidth"},{type:"i",name:"rounding"},{type:"i",name:"balance"},{type:"i",name:"animTime"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["vp"]]],[13,"corrUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centeredUV",[6,[7,"corrUV","sub"],[[6,"d.vec2f",[[1,"aspect","*",[5,"0.5"]],[5,"0.5"]]]]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"u",[1,[1,[7,"centeredUV","y"],"*","cosA"],"-",[1,[7,"centeredUV","x"],"*","sinA"]]],[13,"v",[1,[1,[7,"centeredUV","x"],"*","cosA"],"+",[1,[7,"centeredUV","y"],"*","sinA"]]],[13,"colF",[1,"u","*","density"]],[13,"colIdx",[6,"std.floor",["colF"]]],[13,"colLocalU",[6,"std.fract",["colF"]]],[13,"h",[6,"colHash",["colIdx"]]],[13,"speedMod",[1,[5,"1"],"+",[1,[1,[1,[7,"h","x"],"-",[5,"0.5"]],"*","speedVariance"],"*",[5,"2"]]]],[13,"phase",[7,"h","y"]],[13,"animOffset",[6,"std.fract",[[1,"animTime","*","speedMod"]]]],[13,"vPeriodic",[6,"std.fract",[[1,[1,"v","-","animOffset"],"-","phase"]]]],[13,"trailLen","trailLength"],[13,"withinStreak",[6,"std.clamp",[[1,"vPeriodic","/","trailLen"],[5,"0"],[5,"1"]]]],[13,"fwV",[6,"std.clamp",[[6,"std.fwidth",["v"]],[5,"0.001"],[5,"0.1"]]]],[13,"fwU",[6,"std.clamp",[[1,[6,"std.fwidth",["u"]],"*","density"],[5,"0.001"],[5,"0.1"]]]],[13,"streakMask",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"trailLen","-","fwV"],[1,"trailLen","+","fwV"],"vPeriodic"]]]],[13,"hw",[1,"strokeWidth","*",[5,"0.5"]]],[13,"distFromCenter",[6,"std.abs",[[1,"colLocalU","-",[5,"0.5"]]]]],[13,"widthMask",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"hw","-","fwU"],[1,"hw","+","fwU"],"distFromCenter"]]]],[13,"rectMask",[1,"streakMask","*","widthMask"]],[13,"capAlpha",[6,"fallingCapAlpha",["vPeriodic","trailLen","density","hw","rounding","fwU","distFromCenter"]]],[13,"finalMask",[6,"std.max",["rectMask","capAlpha"]]],[10,[6,"d.vec2f",["finalMask",[6,"fallingBalanceRemap",["withinStreak","balance"]]]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.floor":()=>q,"std.fract":()=>ue,colHash:()=>j3,"std.clamp":()=>$,"std.fwidth":()=>Zt,"std.smoothstep":()=>re,"std.abs":()=>z,fallingCapAlpha:()=>K3,"std.max":()=>b,fallingBalanceRemap:()=>Z3}})&&e.f)({})),oB=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return Dg(t,s,r,__tsover_mul(o,Le))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotation"}],body:[0,[[10,[6,"cellCentreUVRotated",["uv","viewport","cells",[1,"rotation","*","DEG_TO_RAD"]]]]]]},externals:{cellCentreUVRotated:()=>Dg,DEG_TO_RAD:()=>Le}})&&e.f)({})),nB=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,.01),i=b(n,1e-4),d=__tsover_mul(i,2),c=__tsover_div(1,d),_=t.add(i),u=Ni(_),m=qi(_),p=__tsover_add(b(b(z(u.x),z(m.x)),1e-5),r),y=__tsover_add(b(b(z(u.y),z(m.y)),1e-5),r),h=bm(_.x,p,c),g=bm(_.y,y,c),w=__tsover_mul(__tsover_sub(1,h),__tsover_sub(1,g));return l(__tsover_mul(__tsover_sub(1,w),De(1e-4,n)),va(q(t),o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"gridUV"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"variation"}],body:[0,[[13,"lineWidth",[1,"thickness","*",[5,"0.01"]]],[13,"safeLine",[6,"std.max",["lineWidth",[5,"0.0001"]]]],[13,"lineFraction",[1,"safeLine","*",[5,"2"]]],[13,"N",[1,[5,"1"],"/","lineFraction"]],[13,"p",[6,[7,"gridUV","add"],["safeLine"]]],[13,"dpx",[6,"std.dpdx",["p"]]],[13,"dpy",[6,"std.dpdy",["p"]]],[13,"wx",[1,[6,"std.max",[[6,"std.max",[[6,"std.abs",[[7,"dpx","x"]]],[6,"std.abs",[[7,"dpy","x"]]]]],[5,"0.00001"]]],"+","softness"]],[13,"wy",[1,[6,"std.max",[[6,"std.max",[[6,"std.abs",[[7,"dpx","y"]]],[6,"std.abs",[[7,"dpy","y"]]]]],[5,"0.00001"]]],"+","softness"]],[13,"iX",[6,"quilezLineFilterAxis",[[7,"p","x"],"wx","N"]]],[13,"iY",[6,"quilezLineFilterAxis",[[7,"p","y"],"wy","N"]]],[13,"gapBoth",[1,[1,[5,"1"],"-","iX"],"*",[1,[5,"1"],"-","iY"]]],[13,"gridMask",[1,[1,[5,"1"],"-","gapBoth"],"*",[6,"std.step",[[5,"0.0001"],"lineWidth"]]]],[13,"variedFactor",[6,"cellVariation",[[6,"std.floor",["gridUV"]],"variation"]]],[10,[6,"d.vec2f",["gridMask","variedFactor"]]]]]},externals:{"std.max":()=>b,"std.dpdx":()=>Ni,"std.dpdy":()=>qi,"std.abs":()=>z,quilezLineFilterAxis:()=>bm,"std.step":()=>De,cellVariation:()=>va,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),aB=v.fn([l,l,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=Il(t,s),m=u.mul(r),p=q(m.y),y=Ol(Wl(p),i),h=__tsover_mul(c,y),g=__tsover_mul(n,Zi(p,2)),w=Ji(l(__tsover_sub(__tsover_sub(m.x,g),h),m.y)),S=j(w.local.sub(.5)),T=j(Zt(u.mul(r))),A=Vg(S,__tsover_mul(o,.5),T),P=ue(__tsover_mul(Y(__tsover_add(__tsover_mul(w.cell.x,12.9898),__tsover_mul(w.cell.y,78.233))),43758.5453)),U=__tsover_add(__tsover_mul(_,2),__tsover_mul(P,it)),D=X(1,__tsover_add(__tsover_mul(Y(U),.5),.5),d);return __tsover_mul(A,D)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"density"},{type:"i",name:"dotSize"},{type:"i",name:"offset"},{type:"i",name:"speedVariance"},{type:"i",name:"twinkle"},{type:"i",name:"animTime"},{type:"i",name:"time"}],body:[0,[[13,"correctedUV",[6,"aspectCorrectedUVFlipY",["uv","viewport"]]],[13,"gridUV",[6,[7,"correctedUV","mul"],["density"]]],[13,"rowIndex",[6,"std.floor",[[7,"gridUV","y"]]]],[13,"speedMod",[6,"rowSpeedMultiplier",[[6,"rowSpeedHash",["rowIndex"]],"speedVariance"]]],[13,"drift",[1,"animTime","*","speedMod"]],[13,"staticStagger",[1,"offset","*",[6,"flooredMod1",["rowIndex",[5,"2"]]]]],[13,"shiftedGrid",[6,"d.vec2f",[[1,[1,[7,"gridUV","x"],"-","staticStagger"],"-","drift"],[7,"gridUV","y"]]]],[13,"tile",[6,"squareTiling",["shiftedGrid"]]],[13,"centerDistance",[6,"std.length",[[6,[7,[7,"tile","local"],"sub"],[[5,"0.5"]]]]]],[13,"pixelSize",[6,"std.length",[[6,"std.fwidth",[[6,[7,"correctedUV","mul"],["density"]]]]]]],[13,"coverage",[6,"discCoverage",["centerDistance",[1,"dotSize","*",[5,"0.5"]],"pixelSize"]]],[13,"dotPhase",[6,"std.fract",[[1,[6,"std.sin",[[1,[1,[7,[7,"tile","cell"],"x"],"*",[5,"12.9898"]],"+",[1,[7,[7,"tile","cell"],"y"],"*",[5,"78.233"]]]]],"*",[5,"43758.5453"]]]]],[13,"twinkleTime",[1,[1,"time","*",[5,"2"]],"+",[1,"dotPhase","*","TAU"]]],[13,"twinkleValue",[1,[1,[6,"std.sin",["twinkleTime"]],"*",[5,"0.5"]],"+",[5,"0.5"]]],[13,"twinkleModifier",[6,"std.mix",[[5,"1"],"twinkleValue","twinkle"]]],[10,[1,"coverage","*","twinkleModifier"]]]]},externals:{aspectCorrectedUVFlipY:()=>Il,"std.floor":()=>q,rowSpeedMultiplier:()=>Ol,rowSpeedHash:()=>Wl,flooredMod1:()=>Zi,"d.vec2f":()=>l,squareTiling:()=>Ji,"std.length":()=>j,"std.fwidth":()=>Zt,discCoverage:()=>Vg,"std.fract":()=>ue,"std.sin":()=>Y,TAU:()=>it,"std.mix":()=>X}})&&e.f)({})),iB=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Fl(t,l(_a,1)),i=va(l(sa(__tsover_mul(n.id.x,X3)),sa(__tsover_mul(n.id.y,2))),o),d=l(z(n.gv.x),z(n.gv.y)),c=b(se(d,l($i,.5)),d.y);return l(ru(__tsover_sub(.5,c),__tsover_mul(s,.01),__tsover_mul(Zt(t.x),.5),r),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"variation"}],body:[0,[[13,"hex",[6,"hexTiling",["scaledUV",[6,"d.vec2f",["SQRT3",[5,"1"]]]]]],[13,"ix",[6,"std.round",[[1,[7,[7,"hex","id"],"x"],"*","INV_SQRT3_2"]]]],[13,"iy",[6,"std.round",[[1,[7,[7,"hex","id"],"y"],"*",[5,"2"]]]]],[13,"variedFactor",[6,"cellVariation",[[6,"d.vec2f",["ix","iy"]],"variation"]]],[13,"pAbs",[6,"d.vec2f",[[6,"std.abs",[[7,[7,"hex","gv"],"x"]]],[6,"std.abs",[[7,[7,"hex","gv"],"y"]]]]]],[13,"hexDist",[6,"std.max",[[6,"std.dot",["pAbs",[6,"d.vec2f",["SQRT3_2",[5,"0.5"]]]]],[7,"pAbs","y"]]]],[13,"edgeDist",[1,[5,"0.5"],"-","hexDist"]],[13,"lineWidth",[1,"thickness","*",[5,"0.01"]]],[13,"pixel",[1,[6,"std.fwidth",[[7,"scaledUV","x"]]],"*",[5,"0.5"]]],[13,"lineMask",[6,"strokeBandFloored",["edgeDist","lineWidth","pixel","softness"]]],[10,[6,"d.vec2f",["lineMask","variedFactor"]]]]]},externals:{hexTiling:()=>Fl,"d.vec2f":()=>l,SQRT3:()=>_a,"std.round":()=>sa,INV_SQRT3_2:()=>X3,cellVariation:()=>va,"std.abs":()=>z,"std.max":()=>b,"std.dot":()=>se,SQRT3_2:()=>$i,"std.fwidth":()=>Zt,strokeBandFloored:()=>ru}})&&e.f)({})),dB=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ig(t),c=Ol(Wl(q(d.y)),n),_=__tsover_mul(i,c),u=l(__tsover_sub(d.x,_),d.y),m=q(u),p=ue(u),y=De(1,__tsover_add(p.x,p.y)),h=va(l(__tsover_add(__tsover_mul(m.x,2),y),m.y),o);return l(ou(oe(oe(oe(p.x,__tsover_sub(1,p.x)),oe(p.y,__tsover_sub(1,p.y))),z(__tsover_sub(__tsover_add(p.x,p.y),1))),__tsover_mul(s,.02),__tsover_add(b(Zt(d.x),Zt(d.y)),__tsover_mul(r,.5))),h)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"variation"},{type:"i",name:"speedVariance"},{type:"i",name:"animTime"}],body:[0,[[13,"ps",[6,"triLattice",["p"]]],[13,"rowIndex",[6,"std.floor",[[7,"ps","y"]]]],[13,"speedMod",[6,"rowSpeedMultiplier",[[6,"rowSpeedHash",["rowIndex"]],"speedVariance"]]],[13,"drift",[1,"animTime","*","speedMod"]],[13,"psShifted",[6,"d.vec2f",[[1,[7,"ps","x"],"-","drift"],[7,"ps","y"]]]],[13,"cell",[6,"std.floor",["psShifted"]]],[13,"f",[6,"std.fract",["psShifted"]]],[13,"upper",[6,"std.step",[[5,"1"],[1,[7,"f","x"],"+",[7,"f","y"]]]]],[13,"triId",[6,"d.vec2f",[[1,[1,[7,"cell","x"],"*",[5,"2"]],"+","upper"],[7,"cell","y"]]]],[13,"variedFactor",[6,"cellVariation",["triId","variation"]]],[13,"dEdge",[6,"std.min",[[6,"std.min",[[6,"std.min",[[7,"f","x"],[1,[5,"1"],"-",[7,"f","x"]]]],[6,"std.min",[[7,"f","y"],[1,[5,"1"],"-",[7,"f","y"]]]]]],[6,"std.abs",[[1,[1,[7,"f","x"],"+",[7,"f","y"]],"-",[5,"1"]]]]]]],[13,"lineWidth",[1,"thickness","*",[5,"0.02"]]],[13,"aaWidth",[1,[6,"std.max",[[6,"std.fwidth",[[7,"ps","x"]]],[6,"std.fwidth",[[7,"ps","y"]]]]],"+",[1,"softness","*",[5,"0.5"]]]],[13,"lineMask",[6,"strokeBandSymmetric",["dEdge","lineWidth","aaWidth"]]],[10,[6,"d.vec2f",["lineMask","variedFactor"]]]]]},externals:{triLattice:()=>Ig,"std.floor":()=>q,rowSpeedMultiplier:()=>Ol,rowSpeedHash:()=>Wl,"d.vec2f":()=>l,"std.fract":()=>ue,"std.step":()=>De,cellVariation:()=>va,"std.min":()=>oe,"std.abs":()=>z,"std.max":()=>b,"std.fwidth":()=>Zt,strokeBandSymmetric:()=>ou}})&&e.f)({})),Q3=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=ma(t,o),i=__tsover_mul(r,Le),d=Eo(n,H(i),-Y(i));return l(__tsover_add(__tsover_div(d.x,o),.5),__tsover_add(d.y,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"rotation"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"centred",[6,"canvasCentredDelta",["uv","aspect"]]],[13,"rotRad",[1,"rotation","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rot",[6,"rotate2",["centred","cosR",[4,"-","sinR"]]]],[10,[6,"d.vec2f",[[1,[1,[7,"rot","x"],"/","aspect"],"+",[5,"0.5"]],[1,[7,"rot","y"],"+",[5,"0.5"]]]]]]]},externals:{aspectOf:()=>bt,canvasCentredDelta:()=>ma,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotate2:()=>Eo,"d.vec2f":()=>l}})&&e.f)({})),J3=v.fn([a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Zi(t,2);return l(__tsover_mul(o,.5),X(__tsover_sub(__tsover_mul(o,2),1),__tsover_mul(__tsover_sub(ue(__tsover_mul(Y(__tsover_add(t,__tsover_mul(s,.137))),43758.5453)),.5),2),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"row"},{type:"i",name:"seed"},{type:"i",name:"speedVariance"}],body:[0,[[13,"rowMod2",[6,"flooredMod1",["row",[5,"2"]]]],[13,"rowOffset",[1,"rowMod2","*",[5,"0.5"]]],[13,"rowDir",[1,[1,"rowMod2","*",[5,"2"]],"-",[5,"1"]]],[13,"rowHash",[1,[1,[6,"std.fract",[[1,[6,"std.sin",[[1,"row","+",[1,"seed","*",[5,"0.137"]]]]],"*",[5,"43758.5453"]]]],"-",[5,"0.5"]],"*",[5,"2"]]],[10,[6,"d.vec2f",["rowOffset",[6,"std.mix",["rowDir","rowHash","speedVariance"]]]]]]]},externals:{flooredMod1:()=>Zi,"std.fract":()=>ue,"std.sin":()=>Y,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),eb=v.fn([l,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Ri(t.x,__tsover_sub(s.x,r.x),__tsover_add(s.x,r.x)),n=Ri(t.y,__tsover_sub(s.y,r.y),__tsover_add(s.y,r.y));return __tsover_mul(o,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellUV"},{type:"i",name:"mortarUV"},{type:"i",name:"aaUV"}],body:[0,[[13,"brickU",[6,"bandMask",[[7,"cellUV","x"],[1,[7,"mortarUV","x"],"-",[7,"aaUV","x"]],[1,[7,"mortarUV","x"],"+",[7,"aaUV","x"]]]]],[13,"brickV",[6,"bandMask",[[7,"cellUV","y"],[1,[7,"mortarUV","y"],"-",[7,"aaUV","y"]],[1,[7,"mortarUV","y"],"+",[7,"aaUV","y"]]]]],[10,[1,"brickU","*","brickV"]]]]},externals:{bandMask:()=>Ri}})&&e.f)({})),cB=v.fn([l,l,a,a,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p)=>{"use gpu";let y=bt(s),h=Q3(t,s,c),g=h.x,w=h.y,S=__tsover_mul(n,.3),T=__tsover_div(__tsover_mul(__tsover_mul(S,y),o),r),A=q(__tsover_mul(w,o)),P=J3(A,m,u),U=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(g,r),P.x),__tsover_mul(p,P.y)),_),D=__tsover_mul(w,o),O=ue(U),L=ue(D),G=__tsover_mul(i,.5),W=__tsover_add(Zt(U),G),K=__tsover_add(Zt(D),G);return l(eb(l(O,L),l(S,T),l(W,K)),va(l(q(U),A),d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cellsX"},{type:"i",name:"cellsY"},{type:"i",name:"mortar"},{type:"i",name:"softness"},{type:"i",name:"variation"},{type:"i",name:"rotation"},{type:"i",name:"offset"},{type:"i",name:"speedVariance"},{type:"i",name:"seed"},{type:"i",name:"animTime"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"frame",[6,"brickFrame",["uv","viewport","rotation"]]],[13,"u",[7,"frame","x"]],[13,"v",[7,"frame","y"]],[13,"mortarU",[1,"mortar","*",[5,"0.3"]]],[13,"mortarV",[1,[1,[1,"mortarU","*","aspect"],"*","cellsY"],"/","cellsX"]],[13,"row",[6,"std.floor",[[1,"v","*","cellsY"]]]],[13,"stagger",[6,"brickRowStagger",["row","seed","speedVariance"]]],[13,"brickArg",[1,[1,[1,[1,"u","*","cellsX"],"+",[7,"stagger","x"]],"+",[1,"animTime","*",[7,"stagger","y"]]],"+","offset"]],[13,"vScaled",[1,"v","*","cellsY"]],[13,"cellU",[6,"std.fract",["brickArg"]]],[13,"cellV",[6,"std.fract",["vScaled"]]],[13,"soft",[1,"softness","*",[5,"0.5"]]],[13,"aaU",[1,[6,"std.fwidth",["brickArg"]],"+","soft"]],[13,"aaV",[1,[6,"std.fwidth",["vScaled"]],"+","soft"]],[13,"brickMask",[6,"brickMortarMask",[[6,"d.vec2f",["cellU","cellV"]],[6,"d.vec2f",["mortarU","mortarV"]],[6,"d.vec2f",["aaU","aaV"]]]]],[13,"brickId",[6,"d.vec2f",[[6,"std.floor",["brickArg"]],"row"]]],[13,"variedFactor",[6,"cellVariation",["brickId","variation"]]],[10,[6,"d.vec2f",["brickMask","variedFactor"]]]]]},externals:{aspectOf:()=>bt,brickFrame:()=>Q3,"std.floor":()=>q,brickRowStagger:()=>J3,"std.fract":()=>ue,"std.fwidth":()=>Zt,brickMortarMask:()=>eb,"d.vec2f":()=>l,cellVariation:()=>va}})&&e.f)({})),tb=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=se(t,l(127.1,311.7));return ue(__tsover_mul(Y(s),43758.5453))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"h",[6,"std.dot",["p",[6,"d.vec2f",[[5,"127.1"],[5,"311.7"]]]]]],[10,[6,"std.fract",[[1,[6,"std.sin",["h"]],"*",[5,"43758.5453"]]]]]]]},externals:{"std.dot":()=>se,"d.vec2f":()=>l,"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),_B=v.fn([l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Ji(t),i=tb(l(__tsover_add(n.cell.x,o),__tsover_add(n.cell.y,o)))>.5,d=C(a(0),a(1),i),c=C(a(1),a(0),i);return ru(oe(z(__tsover_sub(j(l(__tsover_sub(n.local.x,d),n.local.y)),.5)),z(__tsover_sub(j(l(__tsover_sub(n.local.x,c),__tsover_sub(n.local.y,1))),.5))),__tsover_mul(s,.005),__tsover_mul(Zt(t.x),.5),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"seed"}],body:[0,[[13,"tile",[6,"squareTiling",["scaledUV"]]],[13,"h",[6,"truchetHash",[[6,"d.vec2f",[[1,[7,[7,"tile","cell"],"x"],"+","seed"],[1,[7,[7,"tile","cell"],"y"],"+","seed"]]]]]],[13,"flip",[1,"h",">",[5,"0.5"]]],[13,"c1x",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],"flip"]]],[13,"c2x",[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"d.f32",[[5,"0"]]],"flip"]]],[13,"d1",[6,"std.abs",[[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,[7,"tile","local"],"x"],"-","c1x"],[7,[7,"tile","local"],"y"]]]]],"-",[5,"0.5"]]]]],[13,"d2",[6,"std.abs",[[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,[7,"tile","local"],"x"],"-","c2x"],[1,[7,[7,"tile","local"],"y"],"-",[5,"1"]]]]]],"-",[5,"0.5"]]]]],[13,"arcDist",[6,"std.min",["d1","d2"]]],[13,"lineWidth",[1,"thickness","*",[5,"0.005"]]],[13,"pixel",[1,[6,"std.fwidth",[[7,"scaledUV","x"]]],"*",[5,"0.5"]]],[10,[6,"strokeBandFloored",["arcDist","lineWidth","pixel","softness"]]]]]},externals:{squareTiling:()=>Ji,truchetHash:()=>tb,"d.vec2f":()=>l,"std.select":()=>C,"d.f32":()=>a,"std.abs":()=>z,"std.length":()=>j,"std.min":()=>oe,"std.fwidth":()=>Zt,strokeBandFloored:()=>ru}})&&e.f)({})),lB=v.fn([l,a,x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Ji(t),i=__tsover_mul(Zt(t.x),.5),d=Ri(n.local.y,s,__tsover_add(s,i)),c=Ri(n.local.x,s,__tsover_add(s,i)),_=Zi(__tsover_add(n.cell.x,n.cell.y),2),u=__tsover_mul(d,c),m=$(__tsover_sub(d,__tsover_mul(u,_)),0,1),p=$(__tsover_sub(c,__tsover_mul(u,__tsover_sub(1,_))),0,1),y=__tsover_mul(r.w,m),h=__tsover_mul(o.w,p),g=$(__tsover_add(y,h),0,1),w=b(__tsover_add(y,h),.001);return x(__tsover_div(__tsover_add(__tsover_mul(r.x,y),__tsover_mul(o.x,h)),w),__tsover_div(__tsover_add(__tsover_mul(r.y,y),__tsover_mul(o.y,h)),w),__tsover_div(__tsover_add(__tsover_mul(r.z,y),__tsover_mul(o.z,h)),w),g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"gap"},{type:"i",name:"colorA"},{type:"i",name:"colorB"}],body:[0,[[13,"tile",[6,"squareTiling",["scaledUV"]]],[13,"pixel",[1,[6,"std.fwidth",[[7,"scaledUV","x"]]],"*",[5,"0.5"]]],[13,"hBand",[6,"bandMask",[[7,[7,"tile","local"],"y"],"gap",[1,"gap","+","pixel"]]]],[13,"vBand",[6,"bandMask",[[7,[7,"tile","local"],"x"],"gap",[1,"gap","+","pixel"]]]],[13,"isHTopFloat",[6,"flooredMod1",[[1,[7,[7,"tile","cell"],"x"],"+",[7,[7,"tile","cell"],"y"]],[5,"2"]]]],[13,"intersection",[1,"hBand","*","vBand"]],[13,"hVis",[6,"std.clamp",[[1,"hBand","-",[1,"intersection","*","isHTopFloat"]],[5,"0"],[5,"1"]]]],[13,"vVis",[6,"std.clamp",[[1,"vBand","-",[1,"intersection","*",[1,[5,"1"],"-","isHTopFloat"]]],[5,"0"],[5,"1"]]]],[13,"weightA",[1,[7,"colorA","w"],"*","hVis"]],[13,"weightB",[1,[7,"colorB","w"],"*","vVis"]],[13,"totalAlpha",[6,"std.clamp",[[1,"weightA","+","weightB"],[5,"0"],[5,"1"]]]],[13,"safeWeight",[6,"std.max",[[1,"weightA","+","weightB"],[5,"0.001"]]]],[13,"r",[1,[1,[1,[7,"colorA","x"],"*","weightA"],"+",[1,[7,"colorB","x"],"*","weightB"]],"/","safeWeight"]],[13,"g",[1,[1,[1,[7,"colorA","y"],"*","weightA"],"+",[1,[7,"colorB","y"],"*","weightB"]],"/","safeWeight"]],[13,"b",[1,[1,[1,[7,"colorA","z"],"*","weightA"],"+",[1,[7,"colorB","z"],"*","weightB"]],"/","safeWeight"]],[10,[6,"d.vec4f",["r","g","b","totalAlpha"]]]]]},externals:{squareTiling:()=>Ji,"std.fwidth":()=>Zt,bandMask:()=>Ri,flooredMod1:()=>Zi,"std.clamp":()=>$,"std.max":()=>b,"d.vec4f":()=>x}})&&e.f)({})),sb=2/Math.sqrt(3),uB=v.fn([l,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Fl(t,l(1,_a)),n=se(o.gv,l(0,1)),i=se(o.gv,l(-$i,-.5)),d=se(o.gv,l($i,-.5)),c=n>=b(i,d),_=C(C(.74,.5,i>=d),1,c),u=Bl(l(sa(__tsover_mul(o.id.x,2)),sa(__tsover_mul(o.id.y,sb)))),m=b(n,b(i,d)),p=oe(n,oe(i,d)),y=__tsover_sub(__tsover_sub(__tsover_add(__tsover_add(n,i),d),m),p),h=__tsover_sub(m,y),g=l(z(o.gv.x),z(o.gv.y)),w=b(se(g,l(.5,$i)),g.x);return f(u,_,ou(oe(h,__tsover_sub(.5,w)),__tsover_mul(s,.02),__tsover_add(__tsover_mul(Zt(t.x),.5),__tsover_mul(r,.5))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"thickness"},{type:"i",name:"softness"}],body:[0,[[13,"hex",[6,"hexTiling",["scaledUV",[6,"d.vec2f",[[5,"1"],"SQRT3"]]]]],[13,"s0",[6,"std.dot",[[7,"hex","gv"],[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]],[13,"s1",[6,"std.dot",[[7,"hex","gv"],[6,"d.vec2f",[[4,"-","SQRT3_2"],[4,"-",[5,"0.5"]]]]]]],[13,"s2",[6,"std.dot",[[7,"hex","gv"],[6,"d.vec2f",["SQRT3_2",[4,"-",[5,"0.5"]]]]]]],[13,"isTop",[1,"s0",">=",[6,"std.max",["s1","s2"]]]],[13,"isLeft",[1,"s1",">=","s2"]],[13,"tone",[6,"std.select",[[6,"std.select",[[5,"0.74"],[5,"0.5"],"isLeft"]],[5,"1"],"isTop"]]],[13,"ix",[6,"std.round",[[1,[7,[7,"hex","id"],"x"],"*",[5,"2"]]]]],[13,"iy",[6,"std.round",[[1,[7,[7,"hex","id"],"y"],"*","INV_2_SQRT3"]]]],[13,"rand",[6,"cellHash",[[6,"d.vec2f",["ix","iy"]]]]],[13,"mx",[6,"std.max",["s0",[6,"std.max",["s1","s2"]]]]],[13,"mn",[6,"std.min",["s0",[6,"std.min",["s1","s2"]]]]],[13,"midScore",[1,[1,[1,[1,"s0","+","s1"],"+","s2"],"-","mx"],"-","mn"]],[13,"internal",[1,"mx","-","midScore"]],[13,"pAbs",[6,"d.vec2f",[[6,"std.abs",[[7,[7,"hex","gv"],"x"]]],[6,"std.abs",[[7,[7,"hex","gv"],"y"]]]]]],[13,"hexDist",[6,"std.max",[[6,"std.dot",["pAbs",[6,"d.vec2f",[[5,"0.5"],"SQRT3_2"]]]],[7,"pAbs","x"]]]],[13,"rimDist",[1,[5,"0.5"],"-","hexDist"]],[13,"edgeField",[6,"std.min",["internal","rimDist"]]],[13,"lineWidth",[1,"thickness","*",[5,"0.02"]]],[13,"aaWidth",[1,[1,[6,"std.fwidth",[[7,"scaledUV","x"]]],"*",[5,"0.5"]],"+",[1,"softness","*",[5,"0.5"]]]],[13,"wire",[6,"strokeBandSymmetric",["edgeField","lineWidth","aaWidth"]]],[10,[6,"d.vec3f",["rand","tone","wire"]]]]]},externals:{hexTiling:()=>Fl,"d.vec2f":()=>l,SQRT3:()=>_a,"std.dot":()=>se,SQRT3_2:()=>$i,"std.max":()=>b,"std.select":()=>C,"std.round":()=>sa,INV_2_SQRT3:()=>sb,cellHash:()=>Bl,"std.min":()=>oe,"std.abs":()=>z,"std.fwidth":()=>Zt,strokeBandSymmetric:()=>ou,"d.vec3f":()=>f}})&&e.f)({})),Da=.1,mB=v.fn([x,l,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(s.x,r),s.y),d=__tsover_mul(o,Le),c=H(d),_=Y(d),u=ue(l(se(i,l(c,__tsover_mul(_,-1))),se(i,l(_,c))).mul(n)).sub(l(.5,.5)),m=se(f(t.x,t.y,t.z),f(.299,.587,.114)),p=__tsover_add(__tsover_mul(m,.7),.15),y=j(u),h=__tsover_sub(1,re(__tsover_sub(p,Da),__tsover_add(p,Da),y));return x(__tsover_mul(t.x,h),__tsover_mul(t.y,h),__tsover_mul(t.z,h),__tsover_mul(t.w,h))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"childColor"},{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angleDeg"},{type:"i",name:"frequency"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"c",[6,"std.cos",["angleRad"]]],[13,"s",[6,"std.sin",["angleRad"]]],[13,"rotatedUV",[6,"d.vec2f",[[6,"std.dot",["aspectUV",[6,"d.vec2f",["c",[1,"s","*",[4,"-",[5,"1"]]]]]]],[6,"std.dot",["aspectUV",[6,"d.vec2f",["s","c"]]]]]]],[13,"gridUV",[6,[7,[6,"std.fract",[[6,[7,"rotatedUV","mul"],["frequency"]]]],"sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"brightness",[6,"std.dot",[[6,"d.vec3f",[[7,"childColor","x"],[7,"childColor","y"],[7,"childColor","z"]]],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"dotSize",[1,[1,"brightness","*",[5,"0.7"]],"+",[5,"0.15"]]],[13,"dist",[6,"std.length",["gridUV"]]],[13,"dotPattern",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"dotSize","-","SMOOTHNESS"],[1,"dotSize","+","SMOOTHNESS"],"dist"]]]],[10,[6,"d.vec4f",[[1,[7,"childColor","x"],"*","dotPattern"],[1,[7,"childColor","y"],"*","dotPattern"],[1,[7,"childColor","z"],"*","dotPattern"],[1,[7,"childColor","w"],"*","dotPattern"]]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.fract":()=>ue,"d.vec3f":()=>f,"std.length":()=>j,"std.smoothstep":()=>re,SMOOTHNESS:()=>Da,"d.vec4f":()=>x}})&&e.f)({})),pB=v.fn([l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(__tsover_add(s,r),Le);return l(__tsover_add(t.x,__tsover_mul(H(i),o)),__tsover_add(t.y,__tsover_div(__tsover_mul(Y(i),o),n)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"misprintAngleDeg"},{type:"i",name:"plateIndexDeg"},{type:"i",name:"misprint"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,[1,"misprintAngleDeg","+","plateIndexDeg"],"*","DEG_TO_RAD"]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[6,"std.cos",["angleRad"]],"*","misprint"]],[1,[7,"uv","y"],"+",[1,[1,[6,"std.sin",["angleRad"]],"*","misprint"],"/","aspect"]]]]]]]},externals:{DEG_TO_RAD:()=>Le,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),td=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_sub(1,b(b(t.x,t.y),t.z))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.max",[[6,"std.max",[[7,"s","x"],[7,"s","y"]]],[7,"s","z"]]]]]]]},externals:{"std.max":()=>b}})&&e.f)({})),fB=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=td(t),r=b(__tsover_sub(1,s),1e-4);return __tsover_div(__tsover_sub(__tsover_sub(1,t.x),s),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[13,"k",[6,"halftoneChannelK",["s"]]],[13,"invK",[6,"std.max",[[1,[5,"1"],"-","k"],[5,"0.0001"]]]],[10,[1,[1,[1,[5,"1"],"-",[7,"s","x"]],"-","k"],"/","invK"]]]]},externals:{halftoneChannelK:()=>td,"std.max":()=>b}})&&e.f)({})),vB=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=td(t),r=b(__tsover_sub(1,s),1e-4);return __tsover_div(__tsover_sub(__tsover_sub(1,t.y),s),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[13,"k",[6,"halftoneChannelK",["s"]]],[13,"invK",[6,"std.max",[[1,[5,"1"],"-","k"],[5,"0.0001"]]]],[10,[1,[1,[1,[5,"1"],"-",[7,"s","y"]],"-","k"],"/","invK"]]]]},externals:{halftoneChannelK:()=>td,"std.max":()=>b}})&&e.f)({})),yB=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=td(t),r=b(__tsover_sub(1,s),1e-4);return __tsover_div(__tsover_sub(__tsover_sub(1,t.z),s),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[13,"k",[6,"halftoneChannelK",["s"]]],[13,"invK",[6,"std.max",[[1,[5,"1"],"-","k"],[5,"0.0001"]]]],[10,[1,[1,[1,[5,"1"],"-",[7,"s","z"]],"-","k"],"/","invK"]]]]},externals:{halftoneChannelK:()=>td,"std.max":()=>b}})&&e.f)({})),hB=v.fn([l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(t.x,s),t.y),d=__tsover_mul(r,Le),c=H(d),_=Y(d),u=j(ue(l(se(i,l(c,__tsover_mul(_,-1))),se(i,l(_,c))).mul(n)).sub(l(.5,.5))),m=__tsover_sub(__tsover_mul(o,.75),Da);return __tsover_sub(1,re(__tsover_sub(m,Da),__tsover_add(m,Da),u))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angleDeg"},{type:"i",name:"intensity"},{type:"i",name:"frequency"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"c",[6,"std.cos",["angleRad"]]],[13,"s",[6,"std.sin",["angleRad"]]],[13,"rotatedUV",[6,"d.vec2f",[[6,"std.dot",["aspectUV",[6,"d.vec2f",["c",[1,"s","*",[4,"-",[5,"1"]]]]]]],[6,"std.dot",["aspectUV",[6,"d.vec2f",["s","c"]]]]]]],[13,"grid",[6,[7,[6,"std.fract",[[6,[7,"rotatedUV","mul"],["frequency"]]]],"sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"dist",[6,"std.length",["grid"]]],[13,"size",[1,[1,"intensity","*",[5,"0.75"]],"-","SMOOTHNESS"]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"size","-","SMOOTHNESS"],[1,"size","+","SMOOTHNESS"],"dist"]]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.fract":()=>ue,"std.length":()=>j,SMOOTHNESS:()=>Da,"std.smoothstep":()=>re}})&&e.f)({})),xB=v.fn([x,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return X(f(1,1,1),f(t.x,t.y,t.z),f(__tsover_mul(s,t.w)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"inkColor"},{type:"i",name:"inkMask"}],body:[0,[[10,[6,"std.mix",[[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]],[6,"d.vec3f",[[7,"inkColor","x"],[7,"inkColor","y"],[7,"inkColor","z"]]],[6,"d.vec3f",[[1,"inkMask","*",[7,"inkColor","w"]]]]]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f}})&&e.f)({})),gB=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return q(l(__tsover_div(__tsover_mul(t.x,s.x),r),__tsover_div(__tsover_mul(t.y,s.y),r)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"gridRes"},{type:"i",name:"pixelSize"}],body:[0,[[10,[6,"std.floor",[[6,"d.vec2f",[[1,[1,[7,"uv","x"],"*",[7,"gridRes","x"]],"/","pixelSize"],[1,[1,[7,"uv","y"],"*",[7,"gridRes","y"]],"/","pixelSize"]]]]]]]]},externals:{"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),bB=v.fn([l,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_div(__tsover_mul(__tsover_add(t.x,.5),s),r.x),__tsover_div(__tsover_mul(__tsover_add(t.y,.5),s),r.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"},{type:"i",name:"pixelSize"},{type:"i",name:"gridRes"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[1,[7,"coord","x"],"+",[5,"0.5"]],"*","pixelSize"],"/",[7,"gridRes","x"]],[1,[1,[1,[7,"coord","y"],"+",[5,"0.5"]],"*","pixelSize"],"/",[7,"gridRes","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),wB=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(se(f(t.x,t.y,t.z),f(.299,.587,.114)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"c"}],body:[0,[[10,[1,[6,"std.dot",[[6,"d.vec3f",[[7,"c","x"],[7,"c","y"],[7,"c","z"]]],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]],"*",[7,"c","w"]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),J_=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(__tsover_add(__tsover_mul(s,3),__tsover_mul(t,2)),__tsover_mul(__tsover_mul(t,s),4))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a"},{type:"i",name:"b"}],body:[0,[[10,[1,[1,[1,"b","*",[5,"3"]],"+",[1,"a","*",[5,"2"]]],"-",[1,[1,"a","*","b"],"*",[5,"4"]]]]]]},externals:{}})&&e.f)({})),TB=v.fn([l],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_sub(t.x,__tsover_mul(8,q(__tsover_div(t.x,8)))),r=__tsover_sub(t.y,__tsover_mul(8,q(__tsover_div(t.y,8)))),o=__tsover_sub(s,__tsover_mul(2,q(__tsover_div(s,2)))),n=__tsover_sub(r,__tsover_mul(2,q(__tsover_div(r,2)))),i=__tsover_sub(s,__tsover_mul(4,q(__tsover_div(s,4)))),d=__tsover_sub(r,__tsover_mul(4,q(__tsover_div(r,4)))),c=q(__tsover_div(i,2)),_=q(__tsover_div(d,2)),u=q(__tsover_div(s,4)),m=q(__tsover_div(r,4)),p=J_(o,n),y=J_(c,_),h=J_(u,m),g=__tsover_div(p,4),w=__tsover_div(__tsover_add(__tsover_mul(p,4),y),16),S=__tsover_div(__tsover_add(__tsover_add(__tsover_mul(p,16),__tsover_mul(y,4)),h),64),T=__tsover_add(__tsover_mul(Z(d),4),Z(i)),A=.75;return A=C(A,.3125,T===1),A=C(A,.375,T===2),A=C(A,.8125,T===3),A=C(A,.25,T===4),A=C(A,a(0),T===5),A=C(A,.0625,T===6),A=C(A,.4375,T===7),A=C(A,.6875,T===8),A=C(A,.1875,T===9),A=C(A,.125,T===10),A=C(A,.5,T===11),A=C(A,.9375,T===12),A=C(A,.625,T===13),A=C(A,.5625,T===14),A=C(A,.875,T===15),x(g,w,S,A)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"}],body:[0,[[13,"tx",[1,[7,"coord","x"],"-",[1,[5,"8"],"*",[6,"std.floor",[[1,[7,"coord","x"],"/",[5,"8"]]]]]]],[13,"ty",[1,[7,"coord","y"],"-",[1,[5,"8"],"*",[6,"std.floor",[[1,[7,"coord","y"],"/",[5,"8"]]]]]]],[13,"x2",[1,"tx","-",[1,[5,"2"],"*",[6,"std.floor",[[1,"tx","/",[5,"2"]]]]]]],[13,"y2",[1,"ty","-",[1,[5,"2"],"*",[6,"std.floor",[[1,"ty","/",[5,"2"]]]]]]],[13,"x4",[1,"tx","-",[1,[5,"4"],"*",[6,"std.floor",[[1,"tx","/",[5,"4"]]]]]]],[13,"y4",[1,"ty","-",[1,[5,"4"],"*",[6,"std.floor",[[1,"ty","/",[5,"4"]]]]]]],[13,"x4h",[6,"std.floor",[[1,"x4","/",[5,"2"]]]]],[13,"y4h",[6,"std.floor",[[1,"y4","/",[5,"2"]]]]],[13,"x8h",[6,"std.floor",[[1,"tx","/",[5,"4"]]]]],[13,"y8h",[6,"std.floor",[[1,"ty","/",[5,"4"]]]]],[13,"b00",[6,"ditherBayerQuad",["x2","y2"]]],[13,"b11",[6,"ditherBayerQuad",["x4h","y4h"]]],[13,"b22",[6,"ditherBayerQuad",["x8h","y8h"]]],[13,"bayer2",[1,"b00","/",[5,"4"]]],[13,"bayer4",[1,[1,[1,"b00","*",[5,"4"]],"+","b11"],"/",[5,"16"]]],[13,"bayer8",[1,[1,[1,[1,"b00","*",[5,"16"]],"+",[1,"b11","*",[5,"4"]]],"+","b22"],"/",[5,"64"]]],[13,"idx",[1,[1,[6,"d.i32",["y4"]],"*",[5,"4"]],"+",[6,"d.i32",["x4"]]]],[12,"cd",[5,"0.75"]],[2,"cd","=",[6,"std.select",["cd",[5,"0.3125"],[1,"idx","===",[5,"1"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.375"],[1,"idx","===",[5,"2"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.8125"],[1,"idx","===",[5,"3"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.25"],[1,"idx","===",[5,"4"]]]]],[2,"cd","=",[6,"std.select",["cd",[6,"d.f32",[[5,"0"]]],[1,"idx","===",[5,"5"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.0625"],[1,"idx","===",[5,"6"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.4375"],[1,"idx","===",[5,"7"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.6875"],[1,"idx","===",[5,"8"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.1875"],[1,"idx","===",[5,"9"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.125"],[1,"idx","===",[5,"10"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.5"],[1,"idx","===",[5,"11"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.9375"],[1,"idx","===",[5,"12"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.625"],[1,"idx","===",[5,"13"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.5625"],[1,"idx","===",[5,"14"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.875"],[1,"idx","===",[5,"15"]]]]],[10,[6,"d.vec4f",["bayer2","bayer4","bayer8","cd"]]]]]},externals:{"std.floor":()=>q,ditherBayerQuad:()=>J_,"d.i32":()=>Z,"std.select":()=>C,"d.f32":()=>a,"d.vec4f":()=>x}})&&e.f)({})),SB=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.add(l(.5,.5));return ue(__tsover_mul(52.9829189,ue(__tsover_add(__tsover_mul(s.x,.06711056),__tsover_mul(s.y,.00583715)))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"}],body:[0,[[13,"c",[6,[7,"coord","add"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[10,[6,"std.fract",[[1,[5,"52.9829189"],"*",[6,"std.fract",[[1,[1,[7,"c","x"],"*",[5,"0.06711056"]],"+",[1,[7,"c","y"],"*",[5,"0.00583715"]]]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.fract":()=>ue}})&&e.f)({})),AB=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ot(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"}],body:[0,[[10,[6,"noise.hash12",["coord"]]]]]},externals:{"noise.hash12":()=>Ot}})&&e.f)({})),MB=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return De(__tsover_add(.5,__tsover_mul(__tsover_sub(t,.5),o)),__tsover_add(s,__tsover_sub(r,.5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ditherValue"},{type:"i",name:"luminance"},{type:"i",name:"threshold"},{type:"i",name:"spread"}],body:[0,[[13,"adjustedDither",[1,[5,"0.5"],"+",[1,[1,"ditherValue","-",[5,"0.5"]],"*","spread"]]],[10,[6,"std.step",["adjustedDither",[1,"luminance","+",[1,"threshold","-",[5,"0.5"]]]]]]]]},externals:{"std.step":()=>De}})&&e.f)({})),PB=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return q(t.div(l(8,8))).mul(l(8,8))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"}],body:[0,[[10,[6,[7,[6,"std.floor",[[6,[7,"coord","div"],[[6,"d.vec2f",[[5,"8"],[5,"8"]]]]]]],"mul"],[[6,"d.vec2f",[[5,"8"],[5,"8"]]]]]]]]},externals:{"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),EB=v.fn([l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_add(__tsover_mul(__tsover_sub(t.y,s.y),8),__tsover_sub(t.x,s.x))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"},{type:"i",name:"blockOrigin"}],body:[0,[[10,[1,[1,[1,[7,"coord","y"],"-",[7,"blockOrigin","y"]],"*",[5,"8"]],"+",[1,[7,"coord","x"],"-",[7,"blockOrigin","x"]]]]]]},externals:{}})&&e.f)({})),kB=v.fn([l,a,a,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return l(__tsover_div(__tsover_mul(__tsover_add(__tsover_add(t.x,s),.5),o),n.x),__tsover_div(__tsover_mul(__tsover_add(__tsover_add(t.y,r),.5),o),n.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"blockOrigin"},{type:"i",name:"lx"},{type:"i",name:"ly"},{type:"i",name:"pixelSize"},{type:"i",name:"gridRes"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[1,[1,[7,"blockOrigin","x"],"+","lx"],"+",[5,"0.5"]],"*","pixelSize"],"/",[7,"gridRes","x"]],[1,[1,[1,[1,[7,"blockOrigin","y"],"+","ly"],"+",[5,"0.5"]],"*","pixelSize"],"/",[7,"gridRes","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),$B=v.fn([pt(a,64),a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(.5,__tsover_sub(r,.5)),i=pt(a,8)(),d=pt(a,8)(),c=Z(s),_=a(0);for(let u=0;u<8;u++){let m=(u&1)===0;for(let p=0;p<8;p++){let y=C(__tsover_sub(7,p),p,m),h=__tsover_add(__tsover_mul(u,8),y),g=__tsover_add(t[h],i[y]),w=De(n,g);_=C(_,w,h===c);let S=__tsover_mul(__tsover_sub(g,w),o),T=C(-1,1,m),A=__tsover_add(y,T);if(A>=0&&A<8&&(i[A]=__tsover_add(i[A],__tsover_mul(S,.4375))),u<7){let P=__tsover_sub(y,T),U=__tsover_add(y,T);P>=0&&P<8&&(d[P]=__tsover_add(d[P],__tsover_mul(S,.1875))),d[y]=__tsover_add(d[y],__tsover_mul(S,.3125)),U>=0&&U<8&&(d[U]=__tsover_add(d[U],__tsover_mul(S,.0625)))}}for(let p=0;p<8;p++)i[p]=d[p],d[p]=a(0)}return _}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lum"},{type:"i",name:"lic"},{type:"i",name:"threshold"},{type:"i",name:"spread"}],body:[0,[[13,"thr",[1,[5,"0.5"],"-",[1,"threshold","-",[5,"0.5"]]]],[13,"ecur",[6,[6,"d.arrayOf",["d.f32",[5,"8"]]],[]]],[13,"enext",[6,[6,"d.arrayOf",["d.f32",[5,"8"]]],[]]],[13,"licInt",[6,"d.i32",["lic"]]],[12,"result",[6,"d.f32",[[5,"0"]]]],[14,[12,"y",[5,"0"]],[1,"y","<",[5,"8"]],[102,"++","y"],[0,[[13,"ltr",[1,[1,"y","&",[5,"1"]],"===",[5,"0"]]],[14,[12,"xi",[5,"0"]],[1,"xi","<",[5,"8"]],[102,"++","xi"],[0,[[13,"x",[6,"std.select",[[1,[5,"7"],"-","xi"],"xi","ltr"]]],[13,"idx",[1,[1,"y","*",[5,"8"]],"+","x"]],[13,"val",[1,[8,"lum","idx"],"+",[8,"ecur","x"]]],[13,"qv",[6,"std.step",["thr","val"]]],[2,"result","=",[6,"std.select",["result","qv",[1,"idx","===","licInt"]]]],[13,"e",[1,[1,"val","-","qv"],"*","spread"]],[13,"dir",[6,"std.select",[[4,"-",[5,"1"]],[5,"1"],"ltr"]]],[13,"xr",[1,"x","+","dir"]],[11,[1,"xr",">=",[5,"0"]],[0,[[11,[1,"xr","<",[5,"8"]],[0,[[2,[8,"ecur","xr"],"=",[1,[8,"ecur","xr"],"+",[1,"e","*",[5,"0.4375"]]]]]]]]]],[11,[1,"y","<",[5,"7"]],[0,[[13,"xbl",[1,"x","-","dir"]],[13,"xbr",[1,"x","+","dir"]],[11,[1,"xbl",">=",[5,"0"]],[0,[[11,[1,"xbl","<",[5,"8"]],[0,[[2,[8,"enext","xbl"],"=",[1,[8,"enext","xbl"],"+",[1,"e","*",[5,"0.1875"]]]]]]]]]],[2,[8,"enext","x"],"=",[1,[8,"enext","x"],"+",[1,"e","*",[5,"0.3125"]]]],[11,[1,"xbr",">=",[5,"0"]],[0,[[11,[1,"xbr","<",[5,"8"]],[0,[[2,[8,"enext","xbr"],"=",[1,[8,"enext","xbr"],"+",[1,"e","*",[5,"0.0625"]]]]]]]]]]]]]]]],[14,[12,"k",[5,"0"]],[1,"k","<",[5,"8"]],[102,"++","k"],[0,[[2,[8,"ecur","k"],"=",[8,"enext","k"]],[2,[8,"enext","k"],"=",[6,"d.f32",[[5,"0"]]]]]]]]]],[10,"result"]]]},externals:{"d.arrayOf":()=>pt,"d.f32":()=>a,"d.i32":()=>Z,"std.select":()=>C,"std.step":()=>De}})&&e.f)({})),UB=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=X(f(t.x,t.y,t.z),f(s.x,s.y,s.z),f(r)),n=X(t.w,s.w,r);return x(o.x,o.y,o.z,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"ditherResult"}],body:[0,[[13,"rgb",[6,"std.mix",[[6,"d.vec3f",[[7,"colorA","x"],[7,"colorA","y"],[7,"colorA","z"]]],[6,"d.vec3f",[[7,"colorB","x"],[7,"colorB","y"],[7,"colorB","z"]]],[6,"d.vec3f",["ditherResult"]]]]],[13,"a",[6,"std.mix",[[7,"colorA","w"],[7,"colorB","w"],"ditherResult"]]],[10,[6,"d.vec4f",[[7,"rgb","x"],[7,"rgb","y"],[7,"rgb","z"],"a"]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),CB=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=f(t.x,t.y,t.z),o=X(r.mul(.3),oe(r.mul(1.3),f(1,1,1)),f(s));return x(o.x,o.y,o.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sourceColor"},{type:"i",name:"ditherResult"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"sourceColor","x"],[7,"sourceColor","y"],[7,"sourceColor","z"]]]],[13,"dark",[6,[7,"rgb","mul"],[[5,"0.3"]]]],[13,"bright",[6,"std.min",[[6,[7,"rgb","mul"],[[5,"1.3"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]],[13,"out",[6,"std.mix",["dark","bright",[6,"d.vec3f",["ditherResult"]]]]],[10,[6,"d.vec4f",[[7,"out","x"],[7,"out","y"],[7,"out","z"],[7,"sourceColor","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.min":()=>oe,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({}));function bz(e){return e.map((t,s)=>({stop:t,index:s})).sort((t,s)=>t.stop.position-s.stop.position||t.index-s.index).map(({stop:t})=>t)}function jv(e,t){let s=new Array(32).fill(0),r=new Array(8).fill(0),o=Array.isArray(e)&&e.length>0?bz(e):[],n=Math.min(o.length,8);for(let i=0;i(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return co({conv:t,alpha:s})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"conv"},{type:"i",name:"alpha"}],body:[0,[[10,[6,"MixStep",[[104,{conv:"conv",alpha:"alpha"}]]]]]]},externals:{MixStep:()=>co}})&&e.f)({}));v.fn([co,f,a,a,a,a],co)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=$(__tsover_div(__tsover_sub(o,n),b(__tsover_sub(i,n),1e-6)),0,1);return fa(t.conv,t.alpha,s,r,d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"running"},{type:"i",name:"convI"},{type:"i",name:"alphaI"},{type:"i",name:"tClamped"},{type:"i",name:"posA"},{type:"i",name:"posB"}],body:[0,[[13,"seg",[6,"std.clamp",[[1,[1,"tClamped","-","posA"],"/",[6,"std.max",[[1,"posB","-","posA"],[5,"0.000001"]]]],[5,"0"],[5,"1"]]]],[10,[6,"mixPreconvertedInSpace",[[7,"running","conv"],[7,"running","alpha"],"convI","alphaI","seg"]]]]]},externals:{"std.clamp":()=>$,"std.max":()=>b,mixPreconvertedInSpace:()=>fa}})&&e.f)({}));v.fn([co],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return t.conv}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[10,[7,"s","conv"]]]]},externals:{}})&&e.f)({}));v.fn([co],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return t.alpha}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[10,[7,"s","alpha"]]]]},externals:{}})&&e.f)({}));v.fn([f,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t,s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"a"}],body:[0,[[10,[6,"d.vec4f",["rgb","a"]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({}));var Xp=v.fn([a,pt(x,8),pt(x,8/4),pt(f,8),a],co)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=$(t,0,1),d=Z(n),c=o[0],_=f(c.x,c.y,c.z),u=s[0].w;for(let m=1;m>2],y=r[m>>2],h=p[__tsover_sub(m,1)&3],g=y[m&3],w=$(__tsover_div(__tsover_sub(i,h),b(__tsover_sub(g,h),1e-6)),0,1),S=fa(_,u,o[m],s[m].w,w);_=f(S.conv.x,S.conv.y,S.conv.z),u=S.alpha}return co({conv:_,alpha:u})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"colors"},{type:"i",name:"positions"},{type:"i",name:"converted"},{type:"i",name:"stopCount"}],body:[0,[[13,"clampedT",[6,"std.clamp",["t",[5,"0"],[5,"1"]]]],[13,"n",[6,"d.i32",["stopCount"]]],[13,"c0",[8,"converted",[5,"0"]]],[12,"conv",[6,"d.vec3f",[[7,"c0","x"],[7,"c0","y"],[7,"c0","z"]]]],[12,"alpha",[7,[8,"colors",[5,"0"]],"w"]],[14,[12,"i",[5,"1"]],[1,"i","<","n"],[102,"++","i"],[0,[[13,"va",[8,"positions",[1,[1,"i","-",[5,"1"]],">>",[5,"2"]]]],[13,"vb",[8,"positions",[1,"i",">>",[5,"2"]]]],[13,"posA",[8,"va",[1,[1,"i","-",[5,"1"]],"&",[5,"3"]]]],[13,"posB",[8,"vb",[1,"i","&",[5,"3"]]]],[13,"seg",[6,"std.clamp",[[1,[1,"clampedT","-","posA"],"/",[6,"std.max",[[1,"posB","-","posA"],[5,"0.000001"]]]],[5,"0"],[5,"1"]]]],[13,"step",[6,"mixPreconvertedInSpace",["conv","alpha",[8,"converted","i"],[7,[8,"colors","i"],"w"],"seg"]]],[2,"conv","=",[6,"d.vec3f",[[7,[7,"step","conv"],"x"],[7,[7,"step","conv"],"y"],[7,[7,"step","conv"],"z"]]]],[2,"alpha","=",[7,"step","alpha"]]]]],[10,[6,"MixStep",[[104,{conv:"conv",alpha:"alpha"}]]]]]]},externals:{"std.clamp":()=>$,"d.i32":()=>Z,"d.vec3f":()=>f,"std.max":()=>b,mixPreconvertedInSpace:()=>fa,MixStep:()=>co}})&&e.f)({}));function wz(e,t){switch(t){case 1:return we(ss,"sRGBToP3",[we(Kr,"oklabToRgb",[we(Ha,"oklchToOklab",[e])])]);case 2:return we(ss,"sRGBToP3",[we(Kr,"oklabToRgb",[e])]);case 3:return we(ss,"sRGBToP3",[we(ja,"hslToRgb",[e])]);case 4:return we(ss,"sRGBToP3",[we(Ac,"hsvToRgb",[e])]);case 5:return we(ss,"sRGBToP3",[we(Mc,"labToRgb",[we(Pc,"lchToLab",[e])])]);default:return e}}function Tz(e,t,s){let r=ur(we(Xp,"gradientStopsInSpace",[e,t.colorsArray,t.positionsArray,t.convertedColorsArray,t.stopCount]),"stopMix");return Ws(wz(r.member("conv"),s),r.member("alpha"))}var RB=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=bt(s);return l(__tsover_mul(t.x,r),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l}})&&e.f)({})),zB=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_div(s.x,s.y);return l(__tsover_mul(t.x,n),t.y).mul(ct(r)).add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"scale"},{type:"i",name:"seed"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[10,[6,[7,[6,[7,"aspectUV","mul"],[[6,"std.exp",["scale"]]]],"add"],["seed"]]]]]},externals:{"d.vec2f":()=>l,"std.exp":()=>ct}})&&e.f)({})),GB=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=__tsover_mul(r,Le),i=H(n),d=Y(n),c=__tsover_sub(__tsover_mul(t.x,o),__tsover_mul(o,.5)),_=__tsover_sub(t.y,.5);return l(__tsover_add(__tsover_mul(c,i),__tsover_mul(_,d)),__tsover_add(__tsover_mul(c,-d),__tsover_mul(_,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"au",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,"aspect","*",[5,"0.5"]]]],[13,"av",[1,[7,"uv","y"],"-",[5,"0.5"]]],[13,"ru",[1,[1,"au","*","cosA"],"+",[1,"av","*","sinA"]]],[13,"rv",[1,[1,"au","*",[4,"-","sinA"]],"+",[1,"av","*","cosA"]]],[10,[6,"d.vec2f",["ru","rv"]]]]]},externals:{aspectOf:()=>bt,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),YB=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_div(j(Mg(t,s)),1.414)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"z"}],body:[0,[[10,[1,[6,"std.length",[[6,"curl22z",["pos","z"]]]],"/",[5,"1.414"]]]]]},externals:{"std.length":()=>j,curl22z:()=>Mg}})&&e.f)({})),rb=s7(Ei,{maxOctaves:8,drift:"goldenAngle",name:"fractalOctaveSum"}),LB=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return rb(t,2,s,r,o,l(n,__tsover_mul(n,.7)),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"detail"},{type:"i",name:"contrast"},{type:"i",name:"animTime"},{type:"i",name:"seed"},{type:"i",name:"octaveCount"}],body:[0,[[10,[6,"fractalOctaveSum",["pos",[5,"2"],"detail","contrast","animTime",[6,"d.vec2f",["seed",[1,"seed","*",[5,"0.7"]]]],"octaveCount"]]]]]},externals:{fractalOctaveSum:()=>rb,"d.vec2f":()=>l}})&&e.f)({})),IB=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return $(__tsover_add(__tsover_mul(__tsover_div(t.x,t.y),.5),.5),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sum"}],body:[0,[[10,[6,"std.clamp",[[1,[1,[1,[7,"sum","x"],"/",[7,"sum","y"]],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({}));var ob=o7({distance:"selectableSquared",jitter:"mix",name:"worleyNearest2"}),nb=s7(v.fn([l,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ob(t,s,r,o,n);return jg(d.x,d.y,n,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"oUV"},{type:"i",name:"animT"},{type:"i",name:"seedOff"},{type:"i",name:"jitter"},{type:"i",name:"distNum"},{type:"i",name:"modeNum"}],body:[0,[[13,"dd",[6,"worleyNearest2",["oUV","animT","seedOff","jitter","distNum"]]],[10,[6,"cellReduceSelectable",[[7,"dd","x"],[7,"dd","y"],"distNum","modeNum"]]]]]},externals:{worleyNearest2:()=>ob,cellReduceSelectable:()=>jg}})&&e.f)({})),{maxOctaves:4,drift:"timeSeed",name:"worleyOctaveSum"}),DB=v.fn([l,a,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";return nb(t,s,n,i,d,r,f(o,_,u),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"scale"},{type:"i",name:"seed"},{type:"i",name:"jitter"},{type:"i",name:"lacunarity"},{type:"i",name:"persistence"},{type:"i",name:"animTime"},{type:"i",name:"octaves"},{type:"i",name:"distNum"},{type:"i",name:"modeNum"}],body:[0,[[10,[6,"worleyOctaveSum",["pos","scale","lacunarity","persistence","animTime","seed",[6,"d.vec3f",["jitter","distNum","modeNum"]],"octaves"]]]]]},externals:{worleyOctaveSum:()=>nb,"d.vec3f":()=>f}})&&e.f)({})),FB=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_mul(__tsover_div(t.x,b(t.y,1e-4)),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sum"},{type:"i",name:"modeScale"}],body:[0,[[10,[1,[1,[7,"sum","x"],"/",[6,"std.max",[[7,"sum","y"],[5,"0.0001"]]]],"*","modeScale"]]]]},externals:{"std.max":()=>b}})&&e.f)({})),BB=t7({domain:"unit",contrastMode:"multiplicative",invert:!1});var WB=o7({distance:"length",jitter:"none",name:"voronoiNearest2"}),OB=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_sub(4,__tsover_mul(s,3));return Kg(t.x,t.y,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dd"},{type:"i",name:"edgeIntensity"}],body:[0,[[13,"gradientPower",[1,[5,"4"],"-",[1,"edgeIntensity","*",[5,"3"]]]],[10,[6,"cellRatio",[[7,"dd","x"],[7,"dd","y"],"gradientPower"]]]]]},externals:{cellRatio:()=>Kg}})&&e.f)({})),VB=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(__tsover_mul(s,r),6);return Zg(t.x,t.y,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dd"},{type:"i",name:"softness"},{type:"i",name:"scale"}],body:[0,[[13,"scaledEdgeSoftness",[1,[1,"softness","*","scale"],"/",[5,"6"]]],[10,[6,"cellEdgeMask",[[7,"dd","x"],[7,"dd","y"],"scaledEdgeSoftness"]]]]]},externals:{cellEdgeMask:()=>Zg}})&&e.f)({})),NB=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ce(t,f(.85,.85,.85))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[6,"std.pow",["rgb",[6,"d.vec3f",[[5,"0.85"],[5,"0.85"],[5,"0.85"]]]]]]]]},externals:{"std.pow":()=>Ce,"d.vec3f":()=>f}})&&e.f)({})),mc=8;if(mc!==8)throw new Error(`noisePaints: MAX (${mc}) out of sync with MAX_COLOR_STOPS (8)`);var ab=v.fn([l,l,l,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_div(s.x,b(s.y,1e-6)),d=l(__tsover_mul(r.x,i),__tsover_sub(1,r.y)),c=l(__tsover_mul(o.x,i),__tsover_sub(1,o.y)),_=l(__tsover_mul(t.x,i),t.y),u=l(__tsover_sub(c.x,d.x),__tsover_sub(c.y,d.y)),m=b(j(u),1e-6),p=l(__tsover_div(u.x,m),__tsover_div(u.y,m)),y=l(-p.y,p.x),h=l(__tsover_sub(_.x,d.x),__tsover_sub(_.y,d.y)),g=__tsover_div(se(h,p),m),w=se(h,y),S=n>0,T=$(g,0,1),A=C(a(1),Y(__tsover_mul(T,Xr)),S),P=__tsover_mul(re(0,.06,g),__tsover_sub(1,re(.94,1,g)));return x(g,w,A,C(a(1),P,S))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"start"},{type:"i",name:"end"},{type:"i",name:"pinFlag"}],body:[0,[[13,"aspectRatio",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[13,"startPos",[6,"d.vec2f",[[1,[7,"start","x"],"*","aspectRatio"],[1,[5,"1"],"-",[7,"start","y"]]]]],[13,"endPos",[6,"d.vec2f",[[1,[7,"end","x"],"*","aspectRatio"],[1,[5,"1"],"-",[7,"end","y"]]]]],[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspectRatio"],[7,"uv","y"]]]],[13,"direction",[6,"d.vec2f",[[1,[7,"endPos","x"],"-",[7,"startPos","x"]],[1,[7,"endPos","y"],"-",[7,"startPos","y"]]]]],[13,"len",[6,"std.max",[[6,"std.length",["direction"]],[5,"0.000001"]]]],[13,"normalizedDir",[6,"d.vec2f",[[1,[7,"direction","x"],"/","len"],[1,[7,"direction","y"],"/","len"]]]],[13,"perpDir",[6,"d.vec2f",[[4,"-",[7,"normalizedDir","y"]],[7,"normalizedDir","x"]]]],[13,"relativePos",[6,"d.vec2f",[[1,[7,"aspectUV","x"],"-",[7,"startPos","x"]],[1,[7,"aspectUV","y"],"-",[7,"startPos","y"]]]]],[13,"progress",[1,[6,"std.dot",["relativePos","normalizedDir"]],"/","len"]],[13,"perpDist",[6,"std.dot",["relativePos","perpDir"]]],[13,"pinOn",[1,"pinFlag",">",[5,"0"]]],[13,"clampedProg",[6,"std.clamp",["progress",[5,"0"],[5,"1"]]]],[13,"pinch",[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"std.sin",[[1,"clampedProg","*","PI"]]],"pinOn"]]],[13,"fade",[1,[6,"std.smoothstep",[[5,"0"],[5,"0.06"],"progress"]],"*",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0.94"],[5,"1"],"progress"]]]]],[13,"edgeFade",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"fade","pinOn"]]],[10,[6,"d.vec4f",["progress","perpDist","pinch","edgeFade"]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l,"std.length":()=>j,"std.dot":()=>se,"std.clamp":()=>$,"std.select":()=>C,"d.f32":()=>a,"std.sin":()=>Y,PI:()=>Xr,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({})),qB=v.fn([l,l,l,l,x,x,x,pt(x,mc),pt(x,mc/4),pt(f,mc)],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=n.x,p=n.y,y=n.z,h=n.w,g=i.x,w=i.y,S=i.z,T=i.w,A=d.y,P=d.z,U=d.w,D=ab(t,s,r,o,d.x),O=D.x,L=D.y,G=D.z,W=D.w,K=__tsover_mul(h,.07),Q=__tsover_add(__tsover_mul(g,.08),8e-4),te=b(__tsover_sub(y,1),1),ee=f(0,0,0),he=a(0),Ee=__tsover_mul(__tsover_mul(O,it),p),Te=__tsover_add(__tsover_mul(O,8),__tsover_mul(A,2)),Ue=__tsover_add(__tsover_mul(O,S),P),Me=Z(sa(y));for(let Pe=0;Peab,"std.max":()=>b,"d.vec3f":()=>f,"d.f32":()=>a,TAU:()=>it,"d.i32":()=>Z,"std.round":()=>sa,"std.sin":()=>Y,"std.abs":()=>z,"std.smoothstep":()=>re,"std.fract":()=>ue,gradientStopsInSpace:()=>Xp,"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})),XB=v.fn([l,a,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(t.x,s),t.y),c=__tsover_mul(r,6),_=d.mul(c).add(o),u=Ki(_).mul(n).mul(.0025),m=t.add(u),p=zg(_,Z(6)),y=$(__tsover_add(1,__tsover_mul(__tsover_sub(p,.7),__tsover_mul(i,1.2))),0,1.5);return f(m.x,m.y,y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"grainScale"},{type:"i",name:"seed"},{type:"i",name:"displacement"},{type:"i",name:"roughness"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"grainFreq",[1,"grainScale","*",[5,"6"]]],[13,"grainUV",[6,[7,[6,[7,"aspectUV","mul"],["grainFreq"]],"add"],["seed"]]],[13,"disp",[6,[7,[6,[7,[6,"curl22",["grainUV"]],"mul"],["displacement"]],"mul"],[[5,"0.0025"]]]],[13,"displacedUV",[6,[7,"uv","add"],["disp"]]],[13,"grain",[6,"paper12",["grainUV",[6,"d.i32",[[5,"6"]]]]]],[13,"brightness",[6,"std.clamp",[[1,[5,"1"],"+",[1,[1,"grain","-",[5,"0.7"]],"*",[1,"roughness","*",[5,"1.2"]]]],[5,"0"],[5,"1.5"]]]],[10,[6,"d.vec3f",[[7,"displacedUV","x"],[7,"displacedUV","y"],"brightness"]]]]]},externals:{"d.vec2f":()=>l,curl22:()=>Ki,paper12:()=>zg,"d.i32":()=>Z,"std.clamp":()=>$,"d.vec3f":()=>f}})&&e.f)({})),Ui=1e-5,ib=v.fn([l,l,l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(t.x,s.x),n=__tsover_sub(t.y,s.y),i=__tsover_sub(r.x,s.x),d=__tsover_sub(r.y,s.y),c=b(j(l(i,d)),a(Ui)),_=__tsover_div(__tsover_add(__tsover_mul(o,i),__tsover_mul(n,d)),c),u=b(b(-_,__tsover_sub(_,c)),a(0)),m=$(__tsover_div(_,c),a(0),a(1)),p=j(l(__tsover_sub(o,__tsover_mul(i,m)),__tsover_sub(n,__tsover_mul(d,m))));return f(_,be(b(__tsover_sub(__tsover_mul(p,p),__tsover_mul(u,u)),a(0))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"}],body:[0,[[13,"pax",[1,[7,"p","x"],"-",[7,"a","x"]]],[13,"pay",[1,[7,"p","y"],"-",[7,"a","y"]]],[13,"bax",[1,[7,"b","x"],"-",[7,"a","x"]]],[13,"bay",[1,[7,"b","y"],"-",[7,"a","y"]]],[13,"len",[6,"std.max",[[6,"std.length",[[6,"d.vec2f",["bax","bay"]]]],[6,"d.f32",["EPS"]]]]],[13,"t",[1,[1,[1,"pax","*","bax"],"+",[1,"pay","*","bay"]],"/","len"]],[13,"overshoot",[6,"std.max",[[6,"std.max",[[4,"-","t"],[1,"t","-","len"]]],[6,"d.f32",[[5,"0"]]]]]],[13,"h",[6,"std.clamp",[[1,"t","/","len"],[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]]]]],[13,"dSeg",[6,"std.length",[[6,"d.vec2f",[[1,"pax","-",[1,"bax","*","h"]],[1,"pay","-",[1,"bay","*","h"]]]]]]],[13,"perp",[6,"std.sqrt",[[6,"std.max",[[1,[1,"dSeg","*","dSeg"],"-",[1,"overshoot","*","overshoot"]],[6,"d.f32",[[5,"0"]]]]]]]],[10,[6,"d.vec3f",["t","perp","len"]]]]]},externals:{"std.max":()=>b,"std.length":()=>j,"d.vec2f":()=>l,"d.f32":()=>a,EPS:()=>Ui,"std.clamp":()=>$,"std.sqrt":()=>be,"d.vec3f":()=>f}})&&e.f)({})),HB=v.fn([l,l,l,l,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=bt(s),p=ib(Yg(t,s),bn(r,m),bn(o,m)),y=p.x,h=p.y,g=p.z,w=__tsover_mul(n,.5),S=__tsover_sub(y,__tsover_mul(g,.5)),T=__tsover_mul(g,.5),A=b(d,a(Ui)),P=__tsover_add(A,c),U=b(q(__tsover_add(__tsover_div(__tsover_add(g,c),P),.5)),a(1)),D=__tsover_div(g,b(__tsover_add(__tsover_mul(U,A),__tsover_mul(__tsover_sub(U,1),c)),a(Ui))),O=__tsover_mul(A,D),L=__tsover_mul(P,D),G=$(q(__tsover_div(y,L)),a(0),__tsover_sub(U,1)),W=__tsover_sub(y,__tsover_add(__tsover_mul(G,L),__tsover_mul(O,.5))),K=b(__tsover_sub(__tsover_mul(O,.5),w),a(0)),Q=__tsover_mul(O,.5),te=b(__tsover_add(n,c),a(Ui)),ee=b(q(__tsover_add(__tsover_div(g,te),.5)),a(1)),he=__tsover_div(g,ee),Ee=$(q(__tsover_add(__tsover_div(y,he),.5)),a(0),ee),Te=__tsover_sub(y,__tsover_mul(Ee,he)),Ue=i>=.5,Me=i>=1.5,Pe=C(S,C(W,Te,Me),Ue),Re=C(T,C(K,a(0),Me),Ue),de=C(T,C(Q,w,Me),Ue),je=C(_,u,Pe>0),fe=__tsover_sub(j(l(b(__tsover_sub(z(Pe),Re),a(0)),h)),w),Ke=__tsover_sub(z(Pe),de),Ze=__tsover_sub(h,w),at=C(__tsover_add(j(l(b(Ke,a(0)),b(Ze,a(0)))),oe(b(Ke,Ze),a(0))),fe,je>=.5),Fe=__tsover_div(1,s.y);return __tsover_sub(1,re(-Fe,Fe,at))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"pointA"},{type:"i",name:"pointB"},{type:"i",name:"thickness"},{type:"i",name:"style"},{type:"i",name:"dashLength"},{type:"i",name:"gapLength"},{type:"i",name:"capStart"},{type:"i",name:"capEnd"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"p",[6,"geom.aspectCorrectedUV",["uv","viewport"]]],[13,"a",[6,"geom.aspectCentrePosition",["pointA","aspect"]]],[13,"b",[6,"geom.aspectCentrePosition",["pointB","aspect"]]],[13,"seg",[6,"segmentArcPerp",["p","a","b"]]],[13,"t",[7,"seg","x"]],[13,"perp",[7,"seg","y"]],[13,"len",[7,"seg","z"]],[13,"halfT",[1,"thickness","*",[5,"0.5"]]],[13,"cSolid",[1,"t","-",[1,"len","*",[5,"0.5"]]]],[13,"axSolid",[1,"len","*",[5,"0.5"]]],[13,"rawDash",[6,"std.max",["dashLength",[6,"d.f32",["EPS"]]]]],[13,"rawPeriod",[1,"rawDash","+","gapLength"]],[13,"nDash",[6,"std.max",[[6,"std.floor",[[1,[1,[1,"len","+","gapLength"],"/","rawPeriod"],"+",[5,"0.5"]]]],[6,"d.f32",[[5,"1"]]]]]],[13,"scale",[1,"len","/",[6,"std.max",[[1,[1,"nDash","*","rawDash"],"+",[1,[1,"nDash","-",[5,"1"]],"*","gapLength"]],[6,"d.f32",["EPS"]]]]]],[13,"dashL",[1,"rawDash","*","scale"]],[13,"period",[1,"rawPeriod","*","scale"]],[13,"kDash",[6,"std.clamp",[[6,"std.floor",[[1,"t","/","period"]]],[6,"d.f32",[[5,"0"]]],[1,"nDash","-",[5,"1"]]]]],[13,"cDash",[1,"t","-",[1,[1,"kDash","*","period"],"+",[1,"dashL","*",[5,"0.5"]]]]],[13,"axDashRound",[6,"std.max",[[1,[1,"dashL","*",[5,"0.5"]],"-","halfT"],[6,"d.f32",[[5,"0"]]]]]],[13,"axDashSquare",[1,"dashL","*",[5,"0.5"]]],[13,"rawDotPeriod",[6,"std.max",[[1,"thickness","+","gapLength"],[6,"d.f32",["EPS"]]]]],[13,"nDot",[6,"std.max",[[6,"std.floor",[[1,[1,"len","/","rawDotPeriod"],"+",[5,"0.5"]]]],[6,"d.f32",[[5,"1"]]]]]],[13,"dotPeriod",[1,"len","/","nDot"]],[13,"kDot",[6,"std.clamp",[[6,"std.floor",[[1,[1,"t","/","dotPeriod"],"+",[5,"0.5"]]]],[6,"d.f32",[[5,"0"]]],"nDot"]]],[13,"cDot",[1,"t","-",[1,"kDot","*","dotPeriod"]]],[13,"isPattern",[1,"style",">=",[5,"0.5"]]],[13,"isDotted",[1,"style",">=",[5,"1.5"]]],[13,"c",[6,"std.select",["cSolid",[6,"std.select",["cDash","cDot","isDotted"]],"isPattern"]]],[13,"axRound",[6,"std.select",["axSolid",[6,"std.select",["axDashRound",[6,"d.f32",[[5,"0"]]],"isDotted"]],"isPattern"]]],[13,"axSquare",[6,"std.select",["axSolid",[6,"std.select",["axDashSquare","halfT","isDotted"]],"isPattern"]]],[13,"capHere",[6,"std.select",["capStart","capEnd",[1,"c",">",[5,"0"]]]]],[13,"sdRound",[1,[6,"std.length",[[6,"d.vec2f",[[6,"std.max",[[1,[6,"std.abs",["c"]],"-","axRound"],[6,"d.f32",[[5,"0"]]]]],"perp"]]]],"-","halfT"]],[13,"qx",[1,[6,"std.abs",["c"]],"-","axSquare"]],[13,"qy",[1,"perp","-","halfT"]],[13,"sdSquare",[1,[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["qx",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["qy",[6,"d.f32",[[5,"0"]]]]]]]]],"+",[6,"std.min",[[6,"std.max",["qx","qy"]],[6,"d.f32",[[5,"0"]]]]]]],[13,"sd",[6,"std.select",["sdSquare","sdRound",[1,"capHere",">=",[5,"0.5"]]]]],[13,"feather",[1,[5,"1"],"/",[7,"viewport","y"]]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",[[4,"-","feather"],"feather","sd"]]]]]]},externals:{"geom.aspectOf":()=>bt,"geom.aspectCorrectedUV":()=>Yg,"geom.aspectCentrePosition":()=>bn,segmentArcPerp:()=>ib,"std.max":()=>b,"d.f32":()=>a,EPS:()=>Ui,"std.floor":()=>q,"std.clamp":()=>$,"std.select":()=>C,"std.length":()=>j,"d.vec2f":()=>l,"std.abs":()=>z,"std.min":()=>oe,"std.smoothstep":()=>re}})&&e.f)({})),jB=v.fn([l,l,a,l,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=ua(t,o,s),m=__tsover_mul(r,Le),p=Eo(u,H(m),Y(m)),y=__tsover_add(__tsover_mul(__tsover_mul(p.x,n),it),_),h=__tsover_mul(Y(y),i),g=z(__tsover_sub(p.y,h)),w=__tsover_mul(d,.5),S=__tsover_mul(c,.5);return __tsover_sub(1,re(__tsover_sub(w,S),__tsover_add(w,S),g))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"position"},{type:"i",name:"frequency"},{type:"i",name:"amplitude"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"animTime"}],body:[0,[[13,"centered",[6,"geom.aspectCenteredDelta",["uv","position","viewport"]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosAngle",[6,"std.cos",["angleRad"]]],[13,"sinAngle",[6,"std.sin",["angleRad"]]],[13,"rotated",[6,"geom.rotate2",["centered","cosAngle","sinAngle"]]],[13,"waveInput",[1,[1,[1,[7,"rotated","x"],"*","frequency"],"*","TAU"],"+","animTime"]],[13,"sineWave",[1,[6,"std.sin",["waveInput"]],"*","amplitude"]],[13,"distanceFromWave",[6,"std.abs",[[1,[7,"rotated","y"],"-","sineWave"]]]],[13,"halfThickness",[1,"thickness","*",[5,"0.5"]]],[13,"halfSoftness",[1,"softness","*",[5,"0.5"]]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"halfThickness","-","halfSoftness"],[1,"halfThickness","+","halfSoftness"],"distanceFromWave"]]]]]]},externals:{"geom.aspectCenteredDelta":()=>ua,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"geom.rotate2":()=>Eo,TAU:()=>it,"std.abs":()=>z,"std.smoothstep":()=>re}})&&e.f)({})),db=v.fn([a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return f(__tsover_add(__tsover_mul(H(__tsover_mul(it,t)),.5),.5),__tsover_add(__tsover_mul(H(__tsover_mul(it,__tsover_sub(t,.333))),.5),.5),__tsover_add(__tsover_mul(H(__tsover_mul(it,__tsover_sub(t,.666))),.5),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[6,"d.vec3f",[[1,[1,[6,"std.cos",[[1,"TAU_FULL","*","t"]]],"*",[5,"0.5"]],"+",[5,"0.5"]],[1,[1,[6,"std.cos",[[1,"TAU_FULL","*",[1,"t","-",[5,"0.333"]]]]],"*",[5,"0.5"]],"+",[5,"0.5"]],[1,[1,[6,"std.cos",[[1,"TAU_FULL","*",[1,"t","-",[5,"0.666"]]]]],"*",[5,"0.5"]],"+",[5,"0.5"]]]]]]]},externals:{"d.vec3f":()=>f,"std.cos":()=>H,TAU_FULL:()=>it}})&&e.f)({})),Fm=ut({aspect:a,lightPos:l,flareAxis:l,masterFade:a,lightDist:a,lightAngle:a}).$name("FlareFrame"),KB=v.fn([l,l,a,l,a,a],Fm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=bt(s),c=l(o.x,__tsover_sub(1,o.y)),_=l(__tsover_sub(.5,c.x),__tsover_sub(.5,c.y)),u=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(Y(__tsover_mul(r,3.7)),.04),__tsover_mul(Y(__tsover_mul(r,7.3)),.03)),__tsover_mul(Y(__tsover_mul(r,13.1)),.02)),.97),m=b(__tsover_mul(z(__tsover_sub(c.x,.5)),2),__tsover_mul(z(__tsover_sub(c.y,.5)),2)),p=__tsover_sub(1,__tsover_mul(i,.5)),y=X(1,__tsover_sub(1,re(p,1,m)),i),h=__tsover_mul(__tsover_mul(n,y),u),g=l(__tsover_mul(__tsover_sub(t.x,c.x),d),__tsover_sub(t.y,c.y));return Fm({aspect:d,lightPos:c,flareAxis:_,masterFade:h,lightDist:j(g),lightAngle:tt(g.y,g.x)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"t"},{type:"i",name:"lightPosRaw"},{type:"i",name:"intensity"},{type:"i",name:"edgeFade"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"lightPos",[6,"d.vec2f",[[7,"lightPosRaw","x"],[1,[5,"1"],"-",[7,"lightPosRaw","y"]]]]],[13,"flareAxis",[6,"d.vec2f",[[1,[5,"0.5"],"-",[7,"lightPos","x"]],[1,[5,"0.5"],"-",[7,"lightPos","y"]]]]],[13,"shimmer",[1,[1,[1,[1,[6,"std.sin",[[1,"t","*",[5,"3.7"]]]],"*",[5,"0.04"]],"+",[1,[6,"std.sin",[[1,"t","*",[5,"7.3"]]]],"*",[5,"0.03"]]],"+",[1,[6,"std.sin",[[1,"t","*",[5,"13.1"]]]],"*",[5,"0.02"]]],"+",[5,"0.97"]]],[13,"edgeDist",[6,"std.max",[[1,[6,"std.abs",[[1,[7,"lightPos","x"],"-",[5,"0.5"]]]],"*",[5,"2"]],[1,[6,"std.abs",[[1,[7,"lightPos","y"],"-",[5,"0.5"]]]],"*",[5,"2"]]]]],[13,"fadeStart",[1,[5,"1"],"-",[1,"edgeFade","*",[5,"0.5"]]]],[13,"edgeFadeV",[6,"std.mix",[[5,"1"],[1,[5,"1"],"-",[6,"std.smoothstep",["fadeStart",[5,"1"],"edgeDist"]]],"edgeFade"]]],[13,"masterFade",[1,[1,"intensity","*","edgeFadeV"],"*","shimmer"]],[13,"toLightAR",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[7,"lightPos","x"]],"*","aspect"],[1,[7,"uv","y"],"-",[7,"lightPos","y"]]]]],[13,"lightDist",[6,"std.length",["toLightAR"]]],[13,"lightAngle",[6,"std.atan2",[[7,"toLightAR","y"],[7,"toLightAR","x"]]]],[10,[6,"FlareFrame",[[104,{aspect:"aspect",lightPos:"lightPos",flareAxis:"flareAxis",masterFade:"masterFade",lightDist:"lightDist",lightAngle:"lightAngle"}]]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,"std.sin":()=>Y,"std.max":()=>b,"std.abs":()=>z,"std.mix":()=>X,"std.smoothstep":()=>re,"std.length":()=>j,"std.atan2":()=>tt,FlareFrame:()=>Fm}})&&e.f)({})),ZB=v.fn([l,a,l,l,a,a,a,a,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=_.x,p=_.y,y=_.z,h=_.w,g=u.x,w=u.y,S=u.z,T=u.w,A=r.add(o.mul(__tsover_mul(__tsover_mul(m,i),2))),P=j(l(__tsover_mul(__tsover_sub(t.x,A.x),s),__tsover_sub(t.y,A.y))),U=p,D=__tsover_sub(1,re(__tsover_mul(U,.12),U,P)),O=__tsover_sub(1,re(__tsover_mul(U,.05),__tsover_mul(U,.45),P)),L=__tsover_mul(D,__tsover_sub(1,__tsover_mul(O,h))),G=__tsover_add(__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(n,4.3),T)),.08),__tsover_mul(Y(__tsover_add(__tsover_mul(n,9.1),__tsover_mul(T,1.7))),.05)),.95),W=Hl(P,__tsover_mul(U,.78),__tsover_mul(__tsover_mul(U,d),.14),__tsover_mul(U,.1)),K=W.x,Q=W.y,te=W.z,ee=__tsover_mul(__tsover_mul(y,c),G);return f(__tsover_mul(__tsover_add(__tsover_mul(L,g),__tsover_mul(K,d)),ee),__tsover_mul(__tsover_add(__tsover_mul(L,w),__tsover_mul(Q,d)),ee),__tsover_mul(__tsover_add(__tsover_mul(L,S),__tsover_mul(te,d)),ee))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"lightPos"},{type:"i",name:"flareAxis"},{type:"i",name:"t"},{type:"i",name:"ghostSpread"},{type:"i",name:"ghostChroma"},{type:"i",name:"ghostInt"},{type:"i",name:"disc"},{type:"i",name:"tint"}],body:[0,[[13,"offset",[7,"disc","x"]],[13,"size",[7,"disc","y"]],[13,"bright",[7,"disc","z"]],[13,"hollow",[7,"disc","w"]],[13,"r",[7,"tint","x"]],[13,"g",[7,"tint","y"]],[13,"b",[7,"tint","z"]],[13,"gPhase",[7,"tint","w"]],[13,"ghostPos",[6,[7,"lightPos","add"],[[6,[7,"flareAxis","mul"],[[1,[1,"offset","*","ghostSpread"],"*",[5,"2"]]]]]]],[13,"toGhost",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[7,"ghostPos","x"]],"*","aspect"],[1,[7,"uv","y"],"-",[7,"ghostPos","y"]]]]],[13,"dist",[6,"std.length",["toGhost"]]],[13,"sz","size"],[13,"discShape",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"sz","*",[5,"0.12"]],"sz","dist"]]]],[13,"innerFade",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"sz","*",[5,"0.05"]],[1,"sz","*",[5,"0.45"]],"dist"]]]],[13,"shape",[1,"discShape","*",[1,[5,"1"],"-",[1,"innerFade","*","hollow"]]]],[13,"gShimmer",[1,[1,[1,[6,"std.sin",[[1,[1,"t","*",[5,"4.3"]],"+","gPhase"]]],"*",[5,"0.08"]],"+",[1,[6,"std.sin",[[1,[1,"t","*",[5,"9.1"]],"+",[1,"gPhase","*",[5,"1.7"]]]]],"*",[5,"0.05"]]],"+",[5,"0.95"]]],[13,"ringCenter",[1,"sz","*",[5,"0.78"]]],[13,"chromaSpread",[1,[1,"sz","*","ghostChroma"],"*",[5,"0.14"]]],[13,"ringWidth",[1,"sz","*",[5,"0.1"]]],[13,"ring",[6,"lightfields.chromaticRingBand",["dist","ringCenter","chromaSpread","ringWidth"]]],[13,"rRing",[7,"ring","x"]],[13,"gRing",[7,"ring","y"]],[13,"bRing",[7,"ring","z"]],[13,"brightness",[1,[1,"bright","*","ghostInt"],"*","gShimmer"]],[10,[6,"d.vec3f",[[1,[1,[1,"shape","*","r"],"+",[1,"rRing","*","ghostChroma"]],"*","brightness"],[1,[1,[1,"shape","*","g"],"+",[1,"gRing","*","ghostChroma"]],"*","brightness"],[1,[1,[1,"shape","*","b"],"+",[1,"bRing","*","ghostChroma"]],"*","brightness"]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.smoothstep":()=>re,"std.sin":()=>Y,"lightfields.chromaticRingBand":()=>Hl,"d.vec3f":()=>f}})&&e.f)({})),QB=v.fn([l,a,l,a,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=l(__tsover_sub(1,r.x),__tsover_sub(1,r.y)),u=l(__tsover_mul(__tsover_sub(t.x,_.x),s),__tsover_sub(t.y,_.y)),m=Hl(j(u),i,__tsover_mul(__tsover_mul(i,d),.06),__tsover_add(__tsover_mul(c,.12),.005)),p=tt(u.y,u.x),y=__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(p,3),__tsover_mul(o,.5))),.12),.88);return m.mul(n).mul(y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"lightPos"},{type:"i",name:"t"},{type:"i",name:"haloInt"},{type:"i",name:"haloRad"},{type:"i",name:"haloChroma"},{type:"i",name:"haloSoft"}],body:[0,[[13,"antiLight",[6,"d.vec2f",[[1,[5,"1"],"-",[7,"lightPos","x"]],[1,[5,"1"],"-",[7,"lightPos","y"]]]]],[13,"toAntiLight",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[7,"antiLight","x"]],"*","aspect"],[1,[7,"uv","y"],"-",[7,"antiLight","y"]]]]],[13,"antiLightDist",[6,"std.length",["toAntiLight"]]],[13,"haloChromaSpread",[1,[1,"haloRad","*","haloChroma"],"*",[5,"0.06"]]],[13,"haloWidth",[1,[1,"haloSoft","*",[5,"0.12"]],"+",[5,"0.005"]]],[13,"halo",[6,"lightfields.chromaticRingBand",["antiLightDist","haloRad","haloChromaSpread","haloWidth"]]],[13,"haloAngle",[6,"std.atan2",[[7,"toAntiLight","y"],[7,"toAntiLight","x"]]]],[13,"haloAngVar",[1,[1,[6,"std.sin",[[1,[1,"haloAngle","*",[5,"3"]],"+",[1,"t","*",[5,"0.5"]]]]],"*",[5,"0.12"]],"+",[5,"0.88"]]],[10,[6,[7,[6,[7,"halo","mul"],["haloInt"]],"mul"],["haloAngVar"]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"lightfields.chromaticRingBand":()=>Hl,"std.atan2":()=>tt,"std.sin":()=>Y}})&&e.f)({})),JB=v.fn([a,l,a,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=tt(s.y,__tsover_mul(s.x,r)),_=__tsover_add(__tsover_mul(c,.5),__tsover_mul(o,.06)),u=__tsover_add(t,_),m=Sm(u,__tsover_div(i,2),3.5),p=__tsover_mul(Sm(__tsover_add(u,.25),__tsover_div(i,2),7),.4),y=__tsover_div(1,__tsover_add(1,__tsover_mul(__tsover_mul(n,n),60))),h=db(__tsover_add(__tsover_div(u,it),.5));return X(f(1,.97,.92),h,.12).mul(__tsover_mul(__tsover_mul(__tsover_add(m,p),y),d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lightAngle"},{type:"i",name:"flareAxis"},{type:"i",name:"aspect"},{type:"i",name:"t"},{type:"i",name:"lightDist"},{type:"i",name:"starburstPts"},{type:"i",name:"starburstInt"}],body:[0,[[13,"axisAng",[6,"std.atan2",[[7,"flareAxis","y"],[1,[7,"flareAxis","x"],"*","aspect"]]]],[13,"rotation",[1,[1,"axisAng","*",[5,"0.5"]],"+",[1,"t","*",[5,"0.06"]]]],[13,"spikeAngle",[1,"lightAngle","+","rotation"]],[13,"primarySpikes",[6,"lightfields.angularCosineSpikes",["spikeAngle",[1,"starburstPts","/",[5,"2"]],[5,"3.5"]]]],[13,"secondarySpikes",[1,[6,"lightfields.angularCosineSpikes",[[1,"spikeAngle","+",[5,"0.25"]],[1,"starburstPts","/",[5,"2"]],[5,"7"]]],"*",[5,"0.4"]]],[13,"radialFall",[1,[5,"1"],"/",[1,[5,"1"],"+",[1,[1,"lightDist","*","lightDist"],"*",[5,"60"]]]]],[13,"starSpectral",[6,"lensFlareSpectral",[[1,[1,"spikeAngle","/","TAU_FULL"],"+",[5,"0.5"]]]]],[13,"starTint",[6,"std.mix",[[6,"d.vec3f",[[5,"1"],[5,"0.97"],[5,"0.92"]]],"starSpectral",[5,"0.12"]]]],[10,[6,[7,"starTint","mul"],[[1,[1,[1,"primarySpikes","+","secondarySpikes"],"*","radialFall"],"*","starburstInt"]]]]]]},externals:{"std.atan2":()=>tt,"lightfields.angularCosineSpikes":()=>Sm,lensFlareSpectral:()=>db,TAU_FULL:()=>it,"std.mix":()=>X,"d.vec3f":()=>f}})&&e.f)({})),eW=v.fn([l,l,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=z(__tsover_sub(t.y,s.y)),i=z(__tsover_sub(t.x,s.x)),d=ct(__tsover_mul(__tsover_mul(-800,n),n)),c=__tsover_add(__tsover_mul(__tsover_mul(r,r),.25),.001),_=ct(__tsover_div(__tsover_mul(__tsover_mul(-1,i),i),__tsover_mul(c,.7))),u=ct(__tsover_div(__tsover_mul(__tsover_mul(-1,i),i),c)),m=ct(__tsover_div(__tsover_mul(__tsover_mul(-1,i),i),__tsover_mul(c,1.4)));return f(__tsover_mul(__tsover_mul(d,_),.5),__tsover_mul(__tsover_mul(d,u),.65),__tsover_mul(__tsover_mul(d,m),.9)).mul(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"lightPos"},{type:"i",name:"streakLen"},{type:"i",name:"streakInt"}],body:[0,[[13,"dy",[6,"std.abs",[[1,[7,"uv","y"],"-",[7,"lightPos","y"]]]]],[13,"dx",[6,"std.abs",[[1,[7,"uv","x"],"-",[7,"lightPos","x"]]]]],[13,"vertFall",[6,"std.exp",[[1,[1,[4,"-",[5,"800"]],"*","dy"],"*","dy"]]]],[13,"lenSq",[1,[1,[1,"streakLen","*","streakLen"],"*",[5,"0.25"]],"+",[5,"0.001"]]],[13,"rStreak",[6,"std.exp",[[1,[1,[1,[4,"-",[5,"1"]],"*","dx"],"*","dx"],"/",[1,"lenSq","*",[5,"0.7"]]]]]],[13,"gStreak",[6,"std.exp",[[1,[1,[1,[4,"-",[5,"1"]],"*","dx"],"*","dx"],"/","lenSq"]]]],[13,"bStreak",[6,"std.exp",[[1,[1,[1,[4,"-",[5,"1"]],"*","dx"],"*","dx"],"/",[1,"lenSq","*",[5,"1.4"]]]]]],[10,[6,[7,[6,"d.vec3f",[[1,[1,"vertFall","*","rStreak"],"*",[5,"0.5"]],[1,[1,"vertFall","*","gStreak"],"*",[5,"0.65"]],[1,[1,"vertFall","*","bStreak"],"*",[5,"0.9"]]]],"mul"],["streakInt"]]]]]},externals:{"std.abs":()=>z,"std.exp":()=>ct,"d.vec3f":()=>f}})&&e.f)({})),tW=v.fn([a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Qg(t,__tsover_div(1,__tsover_add(__tsover_mul(s,s),.01)));return f(1,.98,.95).mul(__tsover_mul(o,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lightDist"},{type:"i",name:"glareSz"},{type:"i",name:"glareInt"}],body:[0,[[13,"glareSharpness",[1,[5,"1"],"/",[1,[1,"glareSz","*","glareSz"],"+",[5,"0.01"]]]],[13,"glareFalloff",[6,"lightfields.radialGaussianFalloff",["lightDist","glareSharpness"]]],[10,[6,[7,[6,"d.vec3f",[[5,"1"],[5,"0.98"],[5,"0.95"]]],"mul"],[[1,"glareFalloff","*","glareInt"]]]]]]},externals:{"lightfields.radialGaussianFalloff":()=>Qg,"d.vec3f":()=>f}})&&e.f)({})),sW=v.fn([a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=ct(__tsover_mul(__tsover_mul(-500,t),t)),o=__tsover_sub(1,re(0,.025,t));return f(1,.98,.96).mul(__tsover_mul(__tsover_add(r,__tsover_mul(o,1.5)),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lightDist"},{type:"i",name:"intensity"}],body:[0,[[13,"coreSoft",[6,"std.exp",[[1,[1,[4,"-",[5,"500"]],"*","lightDist"],"*","lightDist"]]]],[13,"coreSharp",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],[5,"0.025"],"lightDist"]]]],[10,[6,[7,[6,"d.vec3f",[[5,"1"],[5,"0.98"],[5,"0.96"]]],"mul"],[[1,[1,"coreSoft","+",[1,"coreSharp","*",[5,"1.5"]]],"*","intensity"]]]]]]},externals:{"std.exp":()=>ct,"std.smoothstep":()=>re,"d.vec3f":()=>f}})&&e.f)({})),rW=v.fn([f,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.mul(s);return x(r,$(__tsover_mul(Ll(r),2),0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"flareTotal"},{type:"i",name:"masterFade"}],body:[0,[[13,"finalColor",[6,[7,"flareTotal","mul"],["masterFade"]]],[13,"flareAlpha",[6,"std.clamp",[[1,[6,"tone.luma601Dot",["finalColor"]],"*",[5,"2"]],[5,"0"],[5,"1"]]]],[10,[6,"d.vec4f",["finalColor","flareAlpha"]]]]]},externals:{"std.clamp":()=>$,"tone.luma601Dot":()=>Ll,"d.vec4f":()=>x}})&&e.f)({})),oW=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(o,.03),i=l(Br(t.mul(5).add(l(n,n))),Br(t.mul(5).add(l(31.4,31.4)).add(l(n,n)))).sub(l(.5,.5)),d=l(__tsover_div(1,s.x),__tsover_div(1,s.y));return t.add(i.mul(r).mul(d).mul(8))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"bleed"},{type:"i",name:"time"}],body:[0,[[13,"t",[1,"time","*",[5,"0.03"]]],[13,"wob",[6,[7,[6,"d.vec2f",[[6,"noise.value12",[[6,[7,[6,[7,"uv","mul"],[[5,"5"]]],"add"],[[6,"d.vec2f",["t","t"]]]]]],[6,"noise.value12",[[6,[7,[6,[7,[6,[7,"uv","mul"],[[5,"5"]]],"add"],[[6,"d.vec2f",[[5,"31.4"],[5,"31.4"]]]]],"add"],[[6,"d.vec2f",["t","t"]]]]]]]],"sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"texel",[6,"d.vec2f",[[1,[5,"1"],"/",[7,"viewport","x"]],[1,[5,"1"],"/",[7,"viewport","y"]]]]],[10,[6,[7,"uv","add"],[[6,[7,[6,[7,[6,[7,"wob","mul"],["bleed"]],"mul"],["texel"]],"mul"],[[5,"8"]]]]]]]]},externals:{"d.vec2f":()=>l,"noise.value12":()=>Br}})&&e.f)({})),nW=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return l(__tsover_add(t.x,__tsover_div(r,s.x)),__tsover_add(t.y,__tsover_div(o,s.y)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvBase"},{type:"i",name:"viewport"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"uvBase","x"],"+",[1,"ox","/",[7,"viewport","x"]]],[1,[7,"uvBase","y"],"+",[1,"oy","/",[7,"viewport","y"]]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),aW=v.fn([l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return Br(t.mul(s).mul(.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[10,[6,"noise.value12",[[6,[7,[6,[7,"uv","mul"],["viewport"]],"mul"],[[5,"0.5"]]]]]]]]},externals:{"noise.value12":()=>Br}})&&e.f)({})),iW=v.fn([x,x,x,x,f,f,f,f,a,x,x,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p,y,h)=>{"use gpu";let g=t.mul(_),w=s.mul(_),S=r.mul(_),T=o.mul(_),A=f(g.x,g.y,g.z),P=f(w.x,w.y,w.z),U=f(S.x,S.y,S.z),D=f(T.x,T.y,T.z),O=n.mul(_).sub(A.mul(A)),L=i.mul(_).sub(P.mul(P)),G=d.mul(_).sub(U.mul(U)),W=c.mul(_).sub(D.mul(D)),K=__tsover_add(__tsover_add(O.x,O.y),O.z),Q=__tsover_add(__tsover_add(L.x,L.y),L.z),te=__tsover_add(__tsover_add(G.x,G.y),G.z),ee=__tsover_add(__tsover_add(W.x,W.y),W.z),he=x(g.x,g.y,g.z,g.w),Ee=K;he=C(he,w,Qf,"d.vec4f":()=>x,"std.select":()=>C,"std.min":()=>oe,"blend.unpremultiplyAlpha":()=>dn,"std.mix":()=>X}})&&e.f)({})),cb=Math.sin(.785),_b=Math.cos(.785),lb=Math.sin(-.785),ub=Math.cos(-.785),Xd=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ot(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"noise.hash12",["p"]]]]]},externals:{"noise.hash12":()=>Ot}})&&e.f)({})),Bm=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=ue(t),o=r.mul(r).mul(r.mul(-2).add(3)),n=Xd(s),i=Xd(l(__tsover_add(s.x,1),s.y)),d=Xd(l(s.x,__tsover_add(s.y,1))),c=Xd(l(__tsover_add(s.x,1),__tsover_add(s.y,1)));return X(X(n,i,o.x),X(d,c,o.x),o.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,"std.fract",["p"]]],[13,"u",[6,[7,[6,[7,"f","mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[4,"-",[5,"2"]]]],"add"],[[5,"3"]]]]]],[13,"a",[6,"chalkHash21",["i"]]],[13,"b",[6,"chalkHash21",[[6,"d.vec2f",[[1,[7,"i","x"],"+",[5,"1"]],[7,"i","y"]]]]]],[13,"c",[6,"chalkHash21",[[6,"d.vec2f",[[7,"i","x"],[1,[7,"i","y"],"+",[5,"1"]]]]]]],[13,"dd",[6,"chalkHash21",[[6,"d.vec2f",[[1,[7,"i","x"],"+",[5,"1"]],[1,[7,"i","y"],"+",[5,"1"]]]]]]],[10,[6,"std.mix",[[6,"std.mix",["a","b",[7,"u","x"]]],[6,"std.mix",["c","dd",[7,"u","x"]]],[7,"u","y"]]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,chalkHash21:()=>Xd,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),dW=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return se(f(t.x,t.y,t.z),f(.299,.587,.114))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,"std.dot",[[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),cW=v.fn([l,l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_div(1,s.x),d=__tsover_div(1,s.y);return l(__tsover_add(t.x,__tsover_mul(__tsover_mul(i,r),o)),__tsover_add(t.y,__tsover_mul(__tsover_mul(d,r),n)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"edgeThickness"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[13,"texelX",[1,[5,"1"],"/",[7,"viewport","x"]]],[13,"texelY",[1,[5,"1"],"/",[7,"viewport","y"]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[1,"texelX","*","edgeThickness"],"*","ox"]],[1,[7,"uv","y"],"+",[1,[1,"texelY","*","edgeThickness"],"*","oy"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),el=v.fn([l,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_add(__tsover_mul(t.x,o),__tsover_mul(t.y,n)),c=__tsover_mul(z(__tsover_sub(ue(__tsover_div(d,s)),.5)),2),_=__tsover_sub(1,re(0,.35,c));return __tsover_mul(_,De(i,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"P"},{type:"i",name:"hatchScale"},{type:"i",name:"shade"},{type:"i",name:"sa"},{type:"i",name:"ca"},{type:"i",name:"thr"}],body:[0,[[13,"ry",[1,[1,[7,"P","x"],"*","sa"],"+",[1,[7,"P","y"],"*","ca"]]],[13,"hl",[1,[6,"std.abs",[[1,[6,"std.fract",[[1,"ry","/","hatchScale"]]],"-",[5,"0.5"]]]],"*",[5,"2"]]],[13,"line",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],[5,"0.35"],"hl"]]]],[10,[1,"line","*",[6,"std.step",["thr","shade"]]]]]]},externals:{"std.abs":()=>z,"std.fract":()=>ue,"std.smoothstep":()=>re,"std.step":()=>De}})&&e.f)({})),_W=v.fn([x,x,l,l,x,x,x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=t.x,u=t.y,m=t.z,p=t.w,y=s.x,h=s.y,g=s.z,w=s.w,S=n.x,T=n.y,A=i.x,P=i.y,U=i.z,D=i.w,O=__tsover_add(__tsover_add(__tsover_add(__tsover_sub(__tsover_sub(-_,__tsover_mul(p,2)),h),m),__tsover_mul(y,2)),w),L=__tsover_add(__tsover_add(__tsover_add(__tsover_sub(__tsover_sub(-_,__tsover_mul(u,2)),m),h),__tsover_mul(g,2)),w),G=be(__tsover_add(__tsover_mul(O,O),__tsover_mul(L,L))),W=X(a(1),.08,A),K=re(__tsover_mul(W,.4),W,G),Q=__tsover_sub(1,S),te=r.mul(o),ee=__tsover_mul(b(b(el(te,P,Q,cb,_b,.22),el(te,P,Q,lb,ub,.5)),el(te,P,Q,0,1,.78)),U),he=X(__tsover_sub(1,D),a(1),Bm(te.mul(.5))),Ee=$(__tsover_mul(b(K,ee),he),0,1),Te=__tsover_mul(__tsover_sub(Bm(te.mul(.9)),.5),.04);return x(X(d.xyz.add(Te),c.xyz,f(Ee)),T)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sobelA"},{type:"i",name:"sobelB"},{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"misc"},{type:"i",name:"params"},{type:"i",name:"boardColor"},{type:"i",name:"chalkColor"}],body:[0,[[13,"tl",[7,"sobelA","x"]],[13,"t",[7,"sobelA","y"]],[13,"tr",[7,"sobelA","z"]],[13,"l",[7,"sobelA","w"]],[13,"r",[7,"sobelB","x"]],[13,"bl",[7,"sobelB","y"]],[13,"bo",[7,"sobelB","z"]],[13,"br",[7,"sobelB","w"]],[13,"centerLum",[7,"misc","x"]],[13,"centerAlpha",[7,"misc","y"]],[13,"edgeSensitivity",[7,"params","x"]],[13,"hatchScale",[7,"params","y"]],[13,"shading",[7,"params","z"]],[13,"grain",[7,"params","w"]],[13,"gx",[1,[1,[1,[1,[1,[4,"-","tl"],"-",[1,"l","*",[5,"2"]]],"-","bl"],"+","tr"],"+",[1,"r","*",[5,"2"]]],"+","br"]],[13,"gy",[1,[1,[1,[1,[1,[4,"-","tl"],"-",[1,"t","*",[5,"2"]]],"-","tr"],"+","bl"],"+",[1,"bo","*",[5,"2"]]],"+","br"]],[13,"edgeMag",[6,"std.sqrt",[[1,[1,"gx","*","gx"],"+",[1,"gy","*","gy"]]]]],[13,"edgeHigh",[6,"std.mix",[[6,"d.f32",[[5,"1"]]],[5,"0.08"],"edgeSensitivity"]]],[13,"edge",[6,"std.smoothstep",[[1,"edgeHigh","*",[5,"0.4"]],"edgeHigh","edgeMag"]]],[13,"shade",[1,[5,"1"],"-","centerLum"]],[13,"P",[6,[7,"uv","mul"],["viewport"]]],[13,"hatch",[1,[6,"std.max",[[6,"std.max",[[6,"chalkHatchLine",["P","hatchScale","shade","SIN_045","COS_045",[5,"0.22"]]],[6,"chalkHatchLine",["P","hatchScale","shade","SIN_N45","COS_N45",[5,"0.5"]]]]],[6,"chalkHatchLine",["P","hatchScale","shade",[5,"0"],[5,"1"],[5,"0.78"]]]]],"*","shading"]],[13,"dust",[6,"std.mix",[[1,[5,"1"],"-","grain"],[6,"d.f32",[[5,"1"]]],[6,"chalkVnoise",[[6,[7,"P","mul"],[[5,"0.5"]]]]]]]],[13,"chalkMask",[6,"std.clamp",[[1,[6,"std.max",["edge","hatch"]],"*","dust"],[5,"0"],[5,"1"]]]],[13,"boardGrain",[1,[1,[6,"chalkVnoise",[[6,[7,"P","mul"],[[5,"0.9"]]]]],"-",[5,"0.5"]],"*",[5,"0.04"]]],[13,"boardRGB",[6,[7,[7,"boardColor","xyz"],"add"],["boardGrain"]]],[13,"col",[6,"std.mix",["boardRGB",[7,"chalkColor","xyz"],[6,"d.vec3f",["chalkMask"]]]]],[10,[6,"d.vec4f",["col","centerAlpha"]]]]]},externals:{"std.sqrt":()=>be,"std.mix":()=>X,"d.f32":()=>a,"std.smoothstep":()=>re,"std.max":()=>b,chalkHatchLine:()=>el,SIN_045:()=>cb,COS_045:()=>_b,SIN_N45:()=>lb,COS_N45:()=>ub,chalkVnoise:()=>Bm,"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),mb=1080,Wm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cellCenter:l,cellUV:l,isOutside:a}),"AsciiGrid"),lW=v.fn([l,l,a,a],Wm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_div(s.y,mb),i=__tsover_mul(r,n),d=l(__tsover_div(s.x,i),__tsover_div(s.y,i)),c=l(__tsover_mul(t.x,d.x),__tsover_mul(t.y,d.y)),_=q(c),u=ue(c),m=__tsover_sub(u.x,.5),p=__tsover_sub(u.y,.5),y=l(__tsover_add(__tsover_div(m,o),.5),__tsover_add(__tsover_div(p,o),.5)),h=__tsover_mul(o,.5),g=C(a(0),a(1),z(m)>h||z(p)>h);return Wm({cellCenter:l(__tsover_div(__tsover_add(_.x,.5),d.x),__tsover_div(__tsover_add(_.y,.5),d.y)),cellUV:y,isOutside:g})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cellSize"},{type:"i",name:"spacing"}],body:[0,[[13,"scaleFactor",[1,[7,"viewport","y"],"/","REFERENCE_HEIGHT"]],[13,"effectiveCellSize",[1,"cellSize","*","scaleFactor"]],[13,"mainGridSize",[6,"d.vec2f",[[1,[7,"viewport","x"],"/","effectiveCellSize"],[1,[7,"viewport","y"],"/","effectiveCellSize"]]]],[13,"gridCoords",[6,"d.vec2f",[[1,[7,"uv","x"],"*",[7,"mainGridSize","x"]],[1,[7,"uv","y"],"*",[7,"mainGridSize","y"]]]]],[13,"cellCoords",[6,"std.floor",["gridCoords"]]],[13,"rawCellUV",[6,"std.fract",["gridCoords"]]],[13,"centeredU",[1,[7,"rawCellUV","x"],"-",[5,"0.5"]]],[13,"centeredV",[1,[7,"rawCellUV","y"],"-",[5,"0.5"]]],[13,"cellUV",[6,"d.vec2f",[[1,[1,"centeredU","/","spacing"],"+",[5,"0.5"]],[1,[1,"centeredV","/","spacing"],"+",[5,"0.5"]]]]],[13,"half",[1,"spacing","*",[5,"0.5"]]],[13,"isOutside",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[3,[1,[6,"std.abs",["centeredU"]],">","half"],"||",[1,[6,"std.abs",["centeredV"]],">","half"]]]]],[13,"cellCenter",[6,"d.vec2f",[[1,[1,[7,"cellCoords","x"],"+",[5,"0.5"]],"/",[7,"mainGridSize","x"]],[1,[1,[7,"cellCoords","y"],"+",[5,"0.5"]],"/",[7,"mainGridSize","y"]]]]],[10,[6,"AsciiGrid",[[104,{cellCenter:"cellCenter",cellUV:"cellUV",isOutside:"isOutside"}]]]]]]},externals:{REFERENCE_HEIGHT:()=>mb,"d.vec2f":()=>l,"std.floor":()=>q,"std.fract":()=>ue,"std.select":()=>C,"d.f32":()=>a,"std.abs":()=>z,AsciiGrid:()=>Wm}})&&e.f)({})).$name("asciiGrid"),uW=v.fn([f,a,a,a,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ce(se(t,f(.299,.587,.114)),s),c=__tsover_sub(1,d),_=$(q(__tsover_mul(c,r)),0,__tsover_sub(r,1)),u=__tsover_sub(_,__tsover_mul(o,q(__tsover_div(_,o)))),m=q(__tsover_div(_,o)),p=__tsover_mul(__tsover_div(1,o),n),y=__tsover_mul(u,p),h=__tsover_mul(m,p);return l(__tsover_add(y,__tsover_mul(i.x,p)),__tsover_add(h,__tsover_mul(i.y,p)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellRgb"},{type:"i",name:"gamma"},{type:"i",name:"charCount"},{type:"i",name:"atlasSize"},{type:"i",name:"atlasScale"},{type:"i",name:"cellUV"}],body:[0,[[13,"rawBrightness",[6,"std.dot",["cellRgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"adjustedBrightness",[6,"std.pow",["rawBrightness","gamma"]]],[13,"invertedBrightness",[1,[5,"1"],"-","adjustedBrightness"]],[13,"scaledBrightness",[1,"invertedBrightness","*","charCount"]],[13,"charIndex",[6,"std.clamp",[[6,"std.floor",["scaledBrightness"]],[5,"0"],[1,"charCount","-",[5,"1"]]]]],[13,"atlasCol",[1,"charIndex","-",[1,"atlasSize","*",[6,"std.floor",[[1,"charIndex","/","atlasSize"]]]]]],[13,"atlasRow",[6,"std.floor",[[1,"charIndex","/","atlasSize"]]]],[13,"atlasCellSize",[1,[1,[5,"1"],"/","atlasSize"],"*","atlasScale"]],[13,"baseU",[1,"atlasCol","*","atlasCellSize"]],[13,"baseV",[1,"atlasRow","*","atlasCellSize"]],[10,[6,"d.vec2f",[[1,"baseU","+",[1,[7,"cellUV","x"],"*","atlasCellSize"]],[1,"baseV","+",[1,[7,"cellUV","y"],"*","atlasCellSize"]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.pow":()=>Ce,"std.clamp":()=>$,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})).$name("asciiAtlasUV"),mW=v.fn([f,x,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=se(t,f(.299,.587,.114))<.1,d=s.w,c=d.5),u=i||r>.5||c,m=C(_,a(0),u);return x(__tsover_mul(t.x,s.x),__tsover_mul(t.y,s.y),__tsover_mul(t.z,s.z),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"asciiRgb"},{type:"i",name:"cellColor"},{type:"i",name:"isOutside"},{type:"i",name:"alphaThreshold"},{type:"i",name:"preserveAlpha"}],body:[0,[[13,"charBrightness",[6,"std.dot",["asciiRgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"isBackground",[1,"charBrightness","<",[5,"0.1"]]],[13,"sourceAlpha",[7,"cellColor","w"]],[13,"isBelowThreshold",[1,"sourceAlpha","<","alphaThreshold"]],[13,"outputAlpha",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"sourceAlpha",[1,"preserveAlpha",">",[5,"0.5"]]]]],[13,"hide",[3,[3,"isBackground","||",[1,"isOutside",">",[5,"0.5"]]],"||","isBelowThreshold"]],[13,"finalAlpha",[6,"std.select",["outputAlpha",[6,"d.f32",[[5,"0"]]],"hide"]]],[10,[6,"d.vec4f",[[1,[7,"asciiRgb","x"],"*",[7,"cellColor","x"]],[1,[7,"asciiRgb","y"],"*",[7,"cellColor","y"]],[1,[7,"asciiRgb","z"],"*",[7,"cellColor","z"]],"finalAlpha"]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.select":()=>C,"d.f32":()=>a,"d.vec4f":()=>x}})&&e.f)({})).$name("asciiCompose");var Sz=v.fn([x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return l(__tsover_div(__tsover_sub(s.x,t.x),o),__tsover_div(__tsover_sub(r.x,t.x),o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"surf0"},{type:"i",name:"surfX"},{type:"i",name:"surfY"},{type:"i",name:"eps"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[7,"surfX","x"],"-",[7,"surf0","x"]],"/","eps"],[1,[1,[7,"surfY","x"],"-",[7,"surf0","x"]],"/","eps"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Az=v.fn([x,x,x,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return as(f($(__tsover_div(__tsover_sub(s.w,t.w),o),__tsover_mul(n,-1),n),$(__tsover_div(__tsover_sub(r.w,t.w),o),__tsover_mul(n,-1),n),-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"surf0"},{type:"i",name:"surfX"},{type:"i",name:"surfY"},{type:"i",name:"eps"},{type:"i",name:"gradClamp"}],body:[0,[[13,"ddx",[6,"std.clamp",[[1,[1,[7,"surfX","w"],"-",[7,"surf0","w"]],"/","eps"],[1,"gradClamp","*",[4,"-",[5,"1"]]],"gradClamp"]]],[13,"ddy",[6,"std.clamp",[[1,[1,[7,"surfY","w"],"-",[7,"surf0","w"]],"/","eps"],[1,"gradClamp","*",[4,"-",[5,"1"]]],"gradClamp"]]],[10,[6,"std.normalize",[[6,"d.vec3f",["ddx","ddy",[4,"-",[5,"1"]]]]]]]]]},externals:{"std.clamp":()=>$,"std.normalize":()=>as,"d.vec3f":()=>f}})&&e.f)({})),Mz=v.fn([l,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(j(t),1e-4),o=oe(s,.9995);return f(__tsover_mul(__tsover_div(t.x,r),o),__tsover_mul(__tsover_div(t.y,r),o),__tsover_mul(be(__tsover_sub(1,__tsover_mul(o,o))),-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"grad"},{type:"i",name:"sinTilt"}],body:[0,[[13,"glen",[6,"std.max",[[6,"std.length",["grad"]],[5,"0.0001"]]]],[13,"sB",[6,"std.min",["sinTilt",[5,"0.9995"]]]],[10,[6,"d.vec3f",[[1,[1,[7,"grad","x"],"/","glen"],"*","sB"],[1,[1,[7,"grad","y"],"/","glen"],"*","sB"],[1,[6,"std.sqrt",[[1,[5,"1"],"-",[1,"sB","*","sB"]]]],"*",[4,"-",[5,"1"]]]]]]]]},externals:{"std.max":()=>b,"std.length":()=>j,"std.min":()=>oe,"d.vec3f":()=>f,"std.sqrt":()=>be}})&&e.f)({})),Pz=v.fn([l,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(C(__tsover_sub(t.x,.5),s.y,r>.5),C(__tsover_sub(t.y,.5),s.z,r>.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdfUV"},{type:"i",name:"surf0"},{type:"i",name:"volumetric"}],body:[0,[[10,[6,"d.vec2f",[[6,"std.select",[[1,[7,"sdfUV","x"],"-",[5,"0.5"]],[7,"surf0","y"],[1,"volumetric",">",[5,"0.5"]]]],[6,"std.select",[[1,[7,"sdfUV","y"],"-",[5,"0.5"]],[7,"surf0","z"],[1,"volumetric",">",[5,"0.5"]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.select":()=>C}})&&e.f)({})),Ez=v.fn([a,a],ft)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t>__tsover_mul(s,2)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"pxH"}],body:[0,[[10,[1,"sdf",">",[1,"pxH","*",[5,"2"]]]]]]},externals:{}})&&e.f)({})),pb=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(__tsover_mul(s,.03125),__tsover_mul(r,o));return $(__tsover_div(__tsover_mul(t,-1),n),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"sharpEdge"},{type:"i",name:"pxH"},{type:"i",name:"minPixels"}],body:[0,[[13,"w",[6,"std.max",[[1,"sharpEdge","*",[5,"0.03125"]],[1,"pxH","*","minPixels"]]]],[10,[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","w"],[5,"0"],[5,"1"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$}})&&e.f)({})),kz=v.fn([l,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return as(f(__tsover_mul(__tsover_mul(__tsover_sub(t.x,.5),s),r),__tsover_mul(__tsover_sub(t.y,.5),r),1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"fov"}],body:[0,[[10,[6,"std.normalize",[[6,"d.vec3f",[[1,[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],"*","fov"],[1,[1,[7,"uv","y"],"-",[5,"0.5"]],"*","fov"],[5,"1"]]]]]]]]},externals:{"std.normalize":()=>as,"d.vec3f":()=>f}})&&e.f)({})),Om=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({tangent:f,bitangent:f}),"TangentFrame"),fb=v.fn([f,f],Om)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=as(s.sub(t.mul(se(t,s))));return Om({tangent:r,bitangent:f(__tsover_sub(__tsover_mul(t.y,r.z),__tsover_mul(t.z,r.y)),__tsover_sub(__tsover_mul(t.z,r.x),__tsover_mul(t.x,r.z)),__tsover_sub(__tsover_mul(t.x,r.y),__tsover_mul(t.y,r.x)))})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"normal"},{type:"i",name:"dir"}],body:[0,[[13,"T3",[6,"std.normalize",[[6,[7,"dir","sub"],[[6,[7,"normal","mul"],[[6,"std.dot",["normal","dir"]]]]]]]]],[13,"B3",[6,"d.vec3f",[[1,[1,[7,"normal","y"],"*",[7,"T3","z"]],"-",[1,[7,"normal","z"],"*",[7,"T3","y"]]],[1,[1,[7,"normal","z"],"*",[7,"T3","x"]],"-",[1,[7,"normal","x"],"*",[7,"T3","z"]]],[1,[1,[7,"normal","x"],"*",[7,"T3","y"]],"-",[1,[7,"normal","y"],"*",[7,"T3","x"]]]]]],[10,[6,"TangentFrame",[[104,{tangent:"T3",bitangent:"B3"}]]]]]]},externals:{"std.normalize":()=>as,"std.dot":()=>se,"d.vec3f":()=>f,TangentFrame:()=>Om}})&&e.f)({})),$z=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({normal:f,tangent:f,light:f,view:f,alphaAlong:a,alphaAcross:a}),"WardSpecularInput"),pW=v.fn([$z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=fb(t.normal,t.tangent),r=as(t.light.sub(t.view)),o=se(r,s.tangent),n=se(r,s.bitangent),i=$(z(se(r,t.normal)),1e-4,1),d=b(t.alphaAlong,1e-4),c=b(t.alphaAcross,1e-4),_=__tsover_div(__tsover_add(__tsover_mul(__tsover_div(o,d),__tsover_div(o,d)),__tsover_mul(__tsover_div(n,c),__tsover_div(n,c))),__tsover_mul(__tsover_add(i,1),.5));return ct(__tsover_mul(_,-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"frame",[6,"orthonormalTangentFrame",[[7,"p","normal"],[7,"p","tangent"]]]],[13,"H",[6,"std.normalize",[[6,[7,[7,"p","light"],"sub"],[[7,"p","view"]]]]]],[13,"hT",[6,"std.dot",["H",[7,"frame","tangent"]]]],[13,"hB",[6,"std.dot",["H",[7,"frame","bitangent"]]]],[13,"hN",[6,"std.clamp",[[6,"std.abs",[[6,"std.dot",["H",[7,"p","normal"]]]]],[5,"0.0001"],[5,"1"]]]],[13,"aT",[6,"std.max",[[7,"p","alphaAlong"],[5,"0.0001"]]]],[13,"aB",[6,"std.max",[[7,"p","alphaAcross"],[5,"0.0001"]]]],[13,"expo",[1,[1,[1,[1,"hT","/","aT"],"*",[1,"hT","/","aT"]],"+",[1,[1,"hB","/","aB"],"*",[1,"hB","/","aB"]]],"/",[1,[1,"hN","+",[5,"1"]],"*",[5,"0.5"]]]],[10,[6,"std.exp",[[1,"expo","*",[4,"-",[5,"1"]]]]]]]]},externals:{orthonormalTangentFrame:()=>fb,"std.normalize":()=>as,"std.dot":()=>se,"std.clamp":()=>$,"std.abs":()=>z,"std.max":()=>b,"std.exp":()=>ct}})&&e.f)({})),fW=v.fn([a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return f(__tsover_add(__tsover_mul(H(__tsover_mul(__tsover_add(t,s),ao)),.5),.5),__tsover_add(__tsover_mul(H(__tsover_mul(__tsover_add(t,r),ao)),.5),.5),__tsover_add(__tsover_mul(H(__tsover_mul(__tsover_add(t,o),ao)),.5),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"phaseR"},{type:"i",name:"phaseG"},{type:"i",name:"phaseB"}],body:[0,[[10,[6,"d.vec3f",[[1,[1,[6,"std.cos",[[1,[1,"t","+","phaseR"],"*","TWO_PI"]]],"*",[5,"0.5"]],"+",[5,"0.5"]],[1,[1,[6,"std.cos",[[1,[1,"t","+","phaseG"],"*","TWO_PI"]]],"*",[5,"0.5"]],"+",[5,"0.5"]],[1,[1,[6,"std.cos",[[1,[1,"t","+","phaseB"],"*","TWO_PI"]]],"*",[5,"0.5"]],"+",[5,"0.5"]]]]]]]},externals:{"d.vec3f":()=>f,"std.cos":()=>H,TWO_PI:()=>ao}})&&e.f)({})),Uz=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return re(0,1,pb(t,b(__tsover_mul(s,.5),.001),r,1.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"edgeSoftness"},{type:"i",name:"pxH"}],body:[0,[[13,"sharpEdge",[6,"std.max",[[1,"edgeSoftness","*",[5,"0.5"]],[5,"0.001"]]]],[10,[6,"std.smoothstep",[[5,"0"],[5,"1"],[6,"insideMask",["sdf","sharpEdge","pxH",[5,"1.5"]]]]]]]]},externals:{"std.max":()=>b,"std.smoothstep":()=>re,insideMask:()=>pb}})&&e.f)({})),Vm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({L:f,H:f}),"KeyLight"),Cz=v.fn([a,a,a],Vm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=as(f(t,s,r));return Vm({L:o,H:as(o.add(f(0,0,-1)))})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lx"},{type:"i",name:"ly"},{type:"i",name:"lz"}],body:[0,[[13,"L",[6,"std.normalize",[[6,"d.vec3f",["lx","ly","lz"]]]]],[13,"H",[6,"std.normalize",[[6,[7,"L","add"],[[6,"d.vec3f",[[5,"0"],[5,"0"],[4,"-",[5,"1"]]]]]]]]],[10,[6,"KeyLight",[[104,{L:"L",H:"H"}]]]]]]},externals:{"std.normalize":()=>as,"d.vec3f":()=>f,KeyLight:()=>Vm}})&&e.f)({})),vW=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_sub(1,$(__tsover_mul(t.z,-1),0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"n"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.clamp",[[1,[7,"n","z"],"*",[4,"-",[5,"1"]]],[5,"0"],[5,"1"]]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),Rz=v.fn([a,a,x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_mul(Ce(t,X(r.x,r.y,s)),X(r.z,r.w,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ndh"},{type:"i",name:"sharp"},{type:"i",name:"cfg"}],body:[0,[[10,[1,[6,"std.pow",["ndh",[6,"std.mix",[[7,"cfg","x"],[7,"cfg","y"],"sharp"]]]],"*",[6,"std.mix",[[7,"cfg","z"],[7,"cfg","w"],"sharp"]]]]]]},externals:{"std.pow":()=>Ce,"std.mix":()=>X}})&&e.f)({})),zz=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=a(4),o=la(t);return l($(__tsover_mul(o.y,s),__tsover_mul(r,-1),r),$(__tsover_mul(o.z,s),__tsover_mul(r,-1),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"q"},{type:"i",name:"gain"}],body:[0,[[13,"gMax",[6,"d.f32",[[5,"4"]]]],[13,"nd",[6,"perlin12d",["q"]]],[10,[6,"d.vec2f",[[6,"std.clamp",[[1,[7,"nd","y"],"*","gain"],[1,"gMax","*",[4,"-",[5,"1"]]],"gMax"]],[6,"std.clamp",[[1,[7,"nd","z"],"*","gain"],[1,"gMax","*",[4,"-",[5,"1"]]],"gMax"]]]]]]]},externals:{"d.f32":()=>a,perlin12d:()=>la,"d.vec2f":()=>l,"std.clamp":()=>$}})&&e.f)({})),Gz=v.fn([f,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return as(f(__tsover_add(t.x,s),__tsover_add(t.y,r),t.z))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"n"},{type:"i",name:"dx"},{type:"i",name:"dy"}],body:[0,[[10,[6,"std.normalize",[[6,"d.vec3f",[[1,[7,"n","x"],"+","dx"],[1,[7,"n","y"],"+","dy"],[7,"n","z"]]]]]]]]},externals:{"std.normalize":()=>as,"d.vec3f":()=>f}})&&e.f)({})),Yz=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=$(__tsover_mul(__tsover_mul(t,-1),2),0,1.2);return C(__tsover_mul($(__tsover_mul(t,-1),0,.5),2),r,s>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"volumetric"}],body:[0,[[13,"thickVol",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"*",[5,"2"]],[5,"0"],[5,"1.2"]]]],[13,"thickFlat",[1,[6,"std.clamp",[[1,"sdf","*",[4,"-",[5,"1"]]],[5,"0"],[5,"0.5"]]],"*",[5,"2"]]],[10,[6,"std.select",["thickFlat","thickVol",[1,"volumetric",">",[5,"0.5"]]]]]]]},externals:{"std.clamp":()=>$,"std.select":()=>C}})&&e.f)({})),yW=v.fn([a,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return f(ct(__tsover_mul(__tsover_mul(t,s.x),-1)),ct(__tsover_mul(__tsover_mul(t,s.y),-1)),ct(__tsover_mul(__tsover_mul(t,s.z),-1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"thickness"},{type:"i",name:"absorb"}],body:[0,[[10,[6,"d.vec3f",[[6,"std.exp",[[1,[1,"thickness","*",[7,"absorb","x"]],"*",[4,"-",[5,"1"]]]]],[6,"std.exp",[[1,[1,"thickness","*",[7,"absorb","y"]],"*",[4,"-",[5,"1"]]]]],[6,"std.exp",[[1,[1,"thickness","*",[7,"absorb","z"]],"*",[4,"-",[5,"1"]]]]]]]]]]},externals:{"d.vec3f":()=>f,"std.exp":()=>ct}})&&e.f)({})),Lz=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_mul(Y(__tsover_add(__tsover_add(__tsover_mul(t.x,1.7),__tsover_mul(s,.7)),1.7)),H(__tsover_add(__tsover_add(__tsover_mul(t.y,1.3),__tsover_mul(s,.5)),2.3))),__tsover_mul(H(__tsover_add(__tsover_add(__tsover_mul(t.x,1.4),__tsover_mul(s,.9)),8.7)),Y(__tsover_add(__tsover_add(__tsover_mul(t.y,1.6),__tsover_mul(s,.6)),5.1))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"warpInput"},{type:"i",name:"flowT"}],body:[0,[[13,"wx",[1,[6,"std.sin",[[1,[1,[1,[7,"warpInput","x"],"*",[5,"1.7"]],"+",[1,"flowT","*",[5,"0.7"]]],"+",[5,"1.7"]]]],"*",[6,"std.cos",[[1,[1,[1,[7,"warpInput","y"],"*",[5,"1.3"]],"+",[1,"flowT","*",[5,"0.5"]]],"+",[5,"2.3"]]]]]],[13,"wy",[1,[6,"std.cos",[[1,[1,[1,[7,"warpInput","x"],"*",[5,"1.4"]],"+",[1,"flowT","*",[5,"0.9"]]],"+",[5,"8.7"]]]],"*",[6,"std.sin",[[1,[1,[1,[7,"warpInput","y"],"*",[5,"1.6"]],"+",[1,"flowT","*",[5,"0.6"]]],"+",[5,"5.1"]]]]]],[10,[6,"d.vec2f",["wx","wy"]]]]]},externals:{"std.sin":()=>Y,"std.cos":()=>H,"d.vec2f":()=>l}})&&e.f)({})),Iz=v.fn([a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_sub(__tsover_mul(t,r),__tsover_mul(s,o)),u=__tsover_add(__tsover_mul(t,o),__tsover_mul(s,r)),m=l(_,u),p=re(-.7,.85,u),y=__tsover_mul(__tsover_mul(p,p),c),h=__tsover_mul(n,1);y=__tsover_add(y,__tsover_mul(__tsover_mul(re(h,__tsover_mul(h,.2),j(m.sub(l(__tsover_add(0,i),.55)))),1.7),d));let g=__tsover_mul(n,1.15);y=__tsover_add(y,__tsover_mul(__tsover_mul(re(g,__tsover_mul(g,.2),j(m.sub(l(__tsover_add(-.55,i),.18)))),1.05),d));let w=__tsover_mul(n,1);y=__tsover_add(y,__tsover_mul(__tsover_mul(re(w,__tsover_mul(w,.2),j(m.sub(l(__tsover_add(.55,i),.1)))),1),d));let S=__tsover_mul(n,1.3);y=__tsover_add(y,__tsover_mul(__tsover_mul(re(S,__tsover_mul(S,.2),j(m.sub(l(__tsover_add(.2,i),-.5)))),.7),d));let T=__tsover_mul(n,1.1);return y=__tsover_add(y,__tsover_mul(__tsover_mul(re(T,__tsover_mul(T,.2),j(m.sub(l(__tsover_add(-.35,i),-.25)))),.85),d)),y}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rx"},{type:"i",name:"ry"},{type:"i",name:"envC"},{type:"i",name:"envS"},{type:"i",name:"keyRad"},{type:"i",name:"drift"},{type:"i",name:"envStr"},{type:"i",name:"skyGain"}],body:[0,[[13,"ex",[1,[1,"rx","*","envC"],"-",[1,"ry","*","envS"]]],[13,"ey",[1,[1,"rx","*","envS"],"+",[1,"ry","*","envC"]]],[13,"p",[6,"d.vec2f",["ex","ey"]]],[13,"sky",[6,"std.smoothstep",[[4,"-",[5,"0.7"]],[5,"0.85"],"ey"]]],[12,"lum",[1,[1,"sky","*","sky"],"*","skyGain"]],[13,"r0",[1,"keyRad","*",[5,"1"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r0",[1,"r0","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[5,"0"],"+","drift"],[5,"0.55"]]]]]]]]],"*",[5,"1.7"]],"*","envStr"]]],[13,"r1",[1,"keyRad","*",[5,"1.15"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r1",[1,"r1","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[4,"-",[5,"0.55"]],"+","drift"],[5,"0.18"]]]]]]]]],"*",[5,"1.05"]],"*","envStr"]]],[13,"r2",[1,"keyRad","*",[5,"1"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r2",[1,"r2","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[5,"0.55"],"+","drift"],[5,"0.1"]]]]]]]]],"*",[5,"1"]],"*","envStr"]]],[13,"r3",[1,"keyRad","*",[5,"1.3"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r3",[1,"r3","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[5,"0.2"],"+","drift"],[4,"-",[5,"0.5"]]]]]]]]]],"*",[5,"0.7"]],"*","envStr"]]],[13,"r4",[1,"keyRad","*",[5,"1.1"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r4",[1,"r4","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[4,"-",[5,"0.35"]],"+","drift"],[4,"-",[5,"0.25"]]]]]]]]]],"*",[5,"0.85"]],"*","envStr"]]],[10,"lum"]]]},externals:{"d.vec2f":()=>l,"std.smoothstep":()=>re,"std.length":()=>j}})&&e.f)({})),Dz=new Map,vb=new Set;function v7(e){return Dz.get(e)??null}function y7(e){return vb.add(e),()=>{vb.delete(e)}}var Fz=16,Bz=64;var hW=Fz*Bz;var Wz=Za({accumulateInstances:()=>Kz,formatFloat:()=>o1,gridPlacement:()=>Nz,instanceHueShift:()=>jz,instanceVariation:()=>Hz,linePlacement:()=>Xz,placementField:()=>Vz,radialPlacement:()=>qz,sourceRect:()=>Oz}),pc=Math.PI;function Oz(e,t,s){let{p:r,L:o}=e;return[`let ${r}_cropL = ${s.left};`,`let ${r}_cropR = ${s.right};`,`let ${r}_cropT = ${s.top};`,`let ${r}_cropB = ${s.bottom};`,`let ${r}_srcCx = (${t.cx}) + (${r}_cropL - ${r}_cropR) * (${t.hw});`,`let ${r}_srcCy = (${t.cy}) + (${r}_cropT - ${r}_cropB) * (${t.hh});`,`let ${r}_srcHw = max((${t.hw}) * (1.0 - ${r}_cropL - ${r}_cropR), ${o(1e-6)});`,`let ${r}_srcHh = max((${t.hh}) * (1.0 - ${r}_cropT - ${r}_cropB), ${o(1e-6)});`,`let ${r}_srcHwSq = ${r}_srcHw * ${r}_aspect;`,`let ${r}_srcHhSq = ${r}_srcHh;`]}function Vz(e,t){let{p:s,L:r}=e;return[`let ${s}_fieldCenterSq = vec2f((${t.cx}) * ${s}_aspect, ${t.cy});`,`let ${s}_fieldHwSq = max((${t.hw}) * ${s}_aspect, ${r(1e-6)});`,`let ${s}_fieldHh = max(${t.hh}, ${r(1e-6)});`]}function Nz(e,t){return{requested:()=>`(${e.columns} * ${e.rows})`,body:s=>{let{p:r,L:o}=s,n=[`let ${r}_cols = ${e.columns};`,`let ${r}_rows = ${e.rows};`,`let ${r}_col = ${r}_j - ${r}_cols * floor(${r}_j / ${r}_cols);`,`let ${r}_row = floor(${r}_j / ${r}_cols);`,`let ${r}_gapXSq = ${e.gapX} * ${r}_aspect;`,`let ${r}_gapY = ${e.gapY};`,`let ${r}_fieldW = ${r}_fieldHwSq * 2.0;`,`let ${r}_fieldH = ${r}_fieldHh * 2.0;`,`let ${r}_pitchX = (${r}_fieldW - ${r}_gapXSq * (${r}_cols - 1.0)) / ${r}_cols;`,`let ${r}_pitchY = (${r}_fieldH - ${r}_gapY * (${r}_rows - 1.0)) / ${r}_rows;`,`let ${r}_periodX = ${r}_pitchX + ${r}_gapXSq;`,`let ${r}_periodY = ${r}_pitchY + ${r}_gapY;`,`${r}_cellFitInv = max(${r}_srcHwSq * 2.0 / max(${r}_pitchX, ${o(1e-5)}), ${r}_srcHhSq * 2.0 / max(${r}_pitchY, ${o(1e-5)}));`,`let ${r}_rowMod2 = ${r}_row - 2.0 * floor(${r}_row / 2.0);`,`let ${r}_staggerOff = ${r}_rowMod2 * ${e.stagger} * ${r}_periodX;`,`let ${r}_cxArg = ${r}_col * ${r}_periodX + ${r}_staggerOff + ${r}_phase * ${r}_periodX;`,`let ${r}_cxMod = ${r}_periodX * ${r}_cols;`,`let ${r}_cellX = ${r}_cxArg - ${r}_cxMod * floor(${r}_cxArg / ${r}_cxMod);`,`let ${r}_cyArg = ${r}_row * ${r}_periodY + ${r}_phase * ${r}_periodY;`,`let ${r}_cyMod = ${r}_periodY * ${r}_rows;`,`let ${r}_cellY = ${r}_cyArg - ${r}_cyMod * floor(${r}_cyArg / ${r}_cyMod);`,`${r}_pos = vec2f(${r}_fieldCenterSq.x - ${r}_fieldW * 0.5 + ${r}_pitchX * 0.5 + ${r}_cellX, ${r}_fieldCenterSq.y - ${r}_fieldH * 0.5 + ${r}_pitchY * 0.5 + ${r}_cellY);`];return(t===1||t===3)&&n.push(`${r}_flipX = 1.0 - (${r}_col - 2.0 * floor(${r}_col / 2.0)) * 2.0;`),(t===2||t===3)&&n.push(`${r}_flipY = 1.0 - (${r}_row - 2.0 * floor(${r}_row / 2.0)) * 2.0;`),n}}}function qz(e,t){return{requested:()=>t.count,body:s=>{let{p:r,L:o}=s;return[`let ${r}_cSq = ${e};`,`let ${r}_sweep = ${t.sweep} * ${o(pc/180)};`,`let ${r}_start = ${t.startAngle} * ${o(pc/180)};`,`let ${r}_ang = ${r}_start + ${r}_sweep * (${r}_j / ${r}_totalN) + ${r}_phase * ${r}_sweep;`,`${r}_pos = ${r}_cSq + vec2f(cos(${r}_ang), sin(${r}_ang)) * ${t.radius};`,`${r}_layoutRot = select(0.0, ${r}_ang + ${o(pc/2)}, ${t.faceCenter} > 0.0);`]}}}function Xz(e,t){return{requested:()=>t.count,body:s=>{let{p:r,L:o}=s;return[`let ${r}_cSq = ${e};`,`let ${r}_dirRad = ${t.direction} * ${o(pc/180)};`,`let ${r}_dir = vec2f(cos(${r}_dirRad), sin(${r}_dirRad));`,`let ${r}_tArg = ${r}_j + ${r}_phase;`,`let ${r}_t = ${r}_tArg - ${r}_totalN * floor(${r}_tArg / ${r}_totalN);`,`${r}_pos = ${r}_cSq + ${r}_dir * ${t.spacing} * ${r}_t;`]}}}function Hz(e,t){let{p:s,L:r}=e,o=n=>`fract(sin((${s}_hashBase + ${r(n)}) * 78.233) * 43758.5453)`;return[`let ${s}_hashBase = ${s}_j + ${s}_seed * 7.0;`,`let ${s}_h1 = ${o(.123)};`,`let ${s}_h2 = ${o(5.456)};`,`let ${s}_h3 = ${o(9.789)};`,`let ${s}_h4 = ${o(13.21)};`,`let ${s}_h5 = ${o(17.65)};`,`let ${s}_scale = max(pow(${t.scale}, ${s}_j) * (1.0 + ${t.jitterScale} * (${s}_h3 - 0.5)), ${r(1e-4)});`,`let ${s}_rot = ${s}_layoutRot + ${t.rotation} * ${s}_j + ${t.jitterRotation} * (${s}_h4 - 0.5) * ${r(pc*2)};`,`let ${s}_instOpacity = pow(${t.opacity}, ${s}_j) * (1.0 - ${t.jitterOpacity} * ${s}_h5);`,`${s}_pos = ${s}_pos + vec2f((${s}_h1 - 0.5) * ${s}_fieldHwSq, (${s}_h2 - 0.5) * ${s}_fieldHh) * ${t.jitterPosition};`]}function jz(e,t){let{p:s,L:r}=e;return[`let ${s}_hueAngle = ${t} * ${s}_j;`,`let ${s}_cosH = cos(${s}_hueAngle);`,`let ${s}_sinH = sin(${s}_hueAngle);`,`let ${s}_kOMC = (1.0 - ${s}_cosH) * ${r(1/3)};`,`let ${s}_sOS3 = ${s}_sinH / 1.7320508075688772;`,`let ${s}_mA = ${s}_cosH + ${s}_kOMC;`,`let ${s}_mB = ${s}_kOMC - ${s}_sOS3;`,`let ${s}_mC = ${s}_kOMC + ${s}_sOS3;`,`${s}_rgb = vec3f(${s}_src.r * ${s}_mA + ${s}_src.g * ${s}_mB + ${s}_src.b * ${s}_mC, ${s}_src.r * ${s}_mC + ${s}_src.g * ${s}_mA + ${s}_src.b * ${s}_mB, ${s}_src.r * ${s}_mB + ${s}_src.g * ${s}_mC + ${s}_src.b * ${s}_mA);`]}function Kz(e,t){let{p:s}=e,r=[];r.push(`let ${s}_totalN = min(max(${t.placement.requested()}, 1.0), 64.0);`),r.push(`var ${s}_accum = vec4f(0.0, 0.0, 0.0, 0.0);`),r.push(`var ${s}_cellFitInv = 1.0;`);let o=[];o.push(`let ${s}_fi = f32(${s}_i);`),o.push(t.zBack?`let ${s}_j = ${s}_totalN - 1.0 - ${s}_fi;`:`let ${s}_j = ${s}_fi;`),o.push(`var ${s}_pos = vec2f(0.0, 0.0);`),o.push(`var ${s}_layoutRot = 0.0;`),o.push(`var ${s}_flipX = 1.0;`),o.push(`var ${s}_flipY = 1.0;`),o.push(...t.placement.body(e)),o.push(...t.variation),o.push(`let ${s}_negRot = -${s}_rot;`),o.push(`let ${s}_cosA = cos(${s}_negRot);`),o.push(`let ${s}_sinA = sin(${s}_negRot);`),o.push(`let ${s}_d0 = ${s}_pix - ${s}_pos;`),o.push(`let ${s}_dr = vec2f(${s}_d0.x * ${s}_cosA - ${s}_d0.y * ${s}_sinA, ${s}_d0.x * ${s}_sinA + ${s}_d0.y * ${s}_cosA);`),o.push(`let ${s}_dl = ${s}_dr / ${s}_scale;`),o.push(`let ${s}_localU = ${s}_dl.x * ${s}_flipX * ${s}_cellFitInv / (${s}_srcHwSq * 2.0) + 0.5;`),o.push(`let ${s}_localV = ${s}_dl.y * ${s}_flipY * ${s}_cellFitInv / (${s}_srcHhSq * 2.0) + 0.5;`);let n=[];n.push(`let ${s}_sampleUV = vec2f(${s}_srcCx - ${s}_srcHw + ${s}_localU * ${s}_srcHw * 2.0, ${s}_srcCy - ${s}_srcHh + ${s}_localV * ${s}_srcHh * 2.0);`),n.push(`let ${s}_src = textureSampleLevel(tex.$.${t.texKey}, samp.$.linearClamp, ${s}_sampleUV, 0.0);`),n.push(`var ${s}_rgb = ${s}_src.rgb;`),n.push(...t.hue),n.push(`let ${s}_a = ${s}_src.a * ${s}_instOpacity;`),n.push(`let ${s}_premul = ${s}_rgb * ${s}_a;`),n.push(`${s}_accum = vec4f(${s}_premul + ${s}_accum.rgb * (1.0 - ${s}_a), ${s}_a + ${s}_accum.a * (1.0 - ${s}_a));`),o.push(`if (${s}_localU >= 0.0 && ${s}_localU <= 1.0 && ${s}_localV >= 0.0 && ${s}_localV <= 1.0) {`);for(let i of n)o.push(` ${i}`);o.push("}"),r.push(`for (var ${s}_i = 0u; ${s}_i < u32(${s}_totalN); ${s}_i++) {`);for(let i of o)r.push(` ${i}`);return r.push("}"),r}function _o(){if(typeof window>"u")return!1;let e=!!(window.matchMedia&&window.matchMedia("(pointer: coarse)").matches),t=Math.max(window.innerWidth||0,window.innerHeight||0);return e&&t>0&&t<=1366}function h7(){return _o()?1.5:2}var xW=_o()?24:50;var Zz=14,gW=Zz+1,Hp="rgba32float";var x7=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({dt:a,trackersF:a,agility:a,threshold:a,variance:a,lifespan:a}),"TrackParams"),bW=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({src:{texture:ps(a)},grid:{storageTexture:Mo(Hp,"write-only")},params:{uniform:x7}}),"featureLayout"),wW=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({src:{texture:ps(a)},featGrid:{texture:ps(a),sampleType:"unfilterable-float"},prev:{texture:ps(a),sampleType:"unfilterable-float"},next:{storageTexture:Mo(Hp,"write-only")},present:{storageTexture:Mo(Hp,"write-only")},params:{uniform:x7}}),"trackLayout"),TW=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(__tsover_mul(Y(t),43758.5453123))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"}],body:[0,[[10,[6,"std.fract",[[1,[6,"std.sin",["x"]],"*",[5,"43758.5453123"]]]]]]]},externals:{"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),"trackHash");function Qz(e={}){let t=e.smoothing??.2,s=e.teleportGuard??.25,r=e.minDrag??6e-4,o=e.initialX??.5,n=e.initialY??.5,i=0,d=0,c=!1,_=!1;return{update(u,m){let p=u?.seen===!1;p?c=!0:u?.x!==void 0&&c&&!_&&(_=!0,o=u.x,n=u.y??n);let y=o,h=n,g=p?o:u?.x??o,w=p?n:u?.y??n,S=g-y,T=w-h,A=Math.sqrt(S*S+T*T),P=A>=s;o=g,n=w;let U=P?0:S,D=P?0:T,O=1/Math.max(m,.001),L=U*O,G=D*O;return i=i*(1-t)+L*t,d=d*(1-t)+G*t,{x:g,y:w,prevX:y,prevY:h,dx:U,dy:D,dragDist:A,velX:L,velY:G,smoothVelX:i,smoothVelY:d,smoothSpeed:Math.sqrt(i*i+d*d),teleport:P,moving:!P&&A>r}}}}var yb=3,jp=Math.exp(-(yb*yb)),hb=1/(1-jp),Kp=.004,g7="rgba16float";function Jz(e){return v.bindGroupLayout({readBuf:{storage:pt(a,e),access:"readonly"},writeBuf:{storage:pt(a,e),access:"mutable"},params:{uniform:(globalThis.__TYPEGPU_AUTONAME__??(t=>t))(ut({cursorX:a,cursorY:a,cursorSpeed:a,dt:a,damping:a,radius:a,aspect:a}),"uniform")}})}function eG(e){return v.bindGroupLayout({srcBuf:{storage:pt(a,e),access:"readonly"},dispTex:{storageTexture:Mo(g7,"write-only")}})}var xb=new Map;function tG(e){let t=xb.get(e);if(t)return t;let s=e*e,r=e-1,o=Jz(s),n=eG(s),i={resolution:e,propagateLayout:o,gradientLayout:n,propagateKernel:v.fn([R,R])((d=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(d.f=((c,_)=>{"use gpu";if(c>R(0)&&cR(0)&&_=1),L=C(__tsover_div(__tsover_sub(D,u.cursorY),u.aspect),__tsover_sub(D,u.cursorY),u.aspect>=1),G=__tsover_add(__tsover_mul(O,O),__tsover_mul(L,L)),W=__tsover_mul(u.radius,3);if(G<__tsover_mul(W,W)&&u.cursorSpeed>.01){let K=__tsover_mul(__tsover_sub(ct(__tsover_mul(__tsover_div(G,__tsover_mul(u.radius,u.radius)),-1)),jp),hb);P=__tsover_sub(P,__tsover_mul(__tsover_mul(__tsover_mul(K,u.cursorSpeed),u.dt),3))}o.$.writeBuf[p]=P}}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[11,[3,[3,[3,[1,"cx",">",[6,"d.u32",[[5,"0"]]]],"&&",[1,"cx","<",[6,"d.u32",["gridMax"]]]],"&&",[1,"cy",">",[6,"d.u32",[[5,"0"]]]]],"&&",[1,"cy","<",[6,"d.u32",["gridMax"]]]],[0,[[13,"p",[7,[7,"propagateLayout","$"],"params"]],[13,"gs",[6,"d.u32",["resolution"]]],[13,"idx",[1,[1,"cy","*","gs"],"+","cx"]],[13,"left",[8,[7,[7,"propagateLayout","$"],"readBuf"],[1,"idx","-",[6,"d.u32",[[5,"1"]]]]]],[13,"right",[8,[7,[7,"propagateLayout","$"],"readBuf"],[1,"idx","+",[6,"d.u32",[[5,"1"]]]]]],[13,"up",[8,[7,[7,"propagateLayout","$"],"readBuf"],[1,"idx","-","gs"]]],[13,"down",[8,[7,[7,"propagateLayout","$"],"readBuf"],[1,"idx","+","gs"]]],[13,"avg",[1,[1,[1,[1,"left","+","right"],"+","up"],"+","down"],"*",[5,"0.5"]]],[13,"prev",[8,[7,[7,"propagateLayout","$"],"writeBuf"],"idx"]],[13,"dampFactor",[1,[5,"1"],"-",[1,[7,"p","damping"],"*","DAMPING_SCALE"]]],[12,"next",[1,[1,"avg","-","prev"],"*","dampFactor"]],[13,"cellX",[1,[1,[6,"d.f32",["cx"]],"+",[5,"0.5"]],"/",[6,"d.f32",["resolution"]]]],[13,"cellY",[1,[1,[6,"d.f32",["cy"]],"+",[5,"0.5"]],"/",[6,"d.f32",["resolution"]]]],[13,"ddx",[6,"std.select",[[1,"cellX","-",[7,"p","cursorX"]],[1,[1,"cellX","-",[7,"p","cursorX"]],"*",[7,"p","aspect"]],[1,[7,"p","aspect"],">=",[5,"1"]]]]],[13,"ddy",[6,"std.select",[[1,[1,"cellY","-",[7,"p","cursorY"]],"/",[7,"p","aspect"]],[1,"cellY","-",[7,"p","cursorY"]],[1,[7,"p","aspect"],">=",[5,"1"]]]]],[13,"distSq",[1,[1,"ddx","*","ddx"],"+",[1,"ddy","*","ddy"]]],[13,"influenceRadius",[1,[7,"p","radius"],"*",[5,"3"]]],[11,[3,[1,"distSq","<",[1,"influenceRadius","*","influenceRadius"]],"&&",[1,[7,"p","cursorSpeed"],">",[5,"0.01"]]],[0,[[13,"influence",[1,[1,[6,"std.exp",[[1,[1,"distSq","/",[1,[7,"p","radius"],"*",[7,"p","radius"]]],"*",[4,"-",[5,"1"]]]]],"-","BRUSH_EDGE"],"*","BRUSH_EDGE_GAIN"]],[2,"next","=",[1,"next","-",[1,[1,[1,"influence","*",[7,"p","cursorSpeed"]],"*",[7,"p","dt"]],"*",[5,"3"]]]]]]],[2,[8,[7,[7,"propagateLayout","$"],"writeBuf"],"idx"],"=","next"]]]]]]},externals:{"d.u32":()=>R,gridMax:()=>r,propagateLayout:()=>o,resolution:()=>e,DAMPING_SCALE:()=>Kp,"d.f32":()=>a,"std.select":()=>C,"std.exp":()=>ct,BRUSH_EDGE:()=>jp,BRUSH_EDGE_GAIN:()=>hb}})&&d.f)({})).$name(`waveFieldPropagate_${e}`),gradientKernel:v.fn([R,R])((d=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(d.f=((c,_)=>{"use gpu";if(c>R(0)&&cR(0)&&_",[6,"d.u32",[[5,"0"]]]],"&&",[1,"cx","<",[6,"d.u32",["gridMax"]]]],"&&",[1,"cy",">",[6,"d.u32",[[5,"0"]]]]],"&&",[1,"cy","<",[6,"d.u32",["gridMax"]]]],[0,[[13,"gs",[6,"d.u32",["resolution"]]],[13,"idx",[1,[1,"cy","*","gs"],"+","cx"]],[13,"right",[8,[7,[7,"gradientLayout","$"],"srcBuf"],[1,"idx","+",[6,"d.u32",[[5,"1"]]]]]],[13,"left",[8,[7,[7,"gradientLayout","$"],"srcBuf"],[1,"idx","-",[6,"d.u32",[[5,"1"]]]]]],[13,"down",[8,[7,[7,"gradientLayout","$"],"srcBuf"],[1,"idx","+","gs"]]],[13,"up",[8,[7,[7,"gradientLayout","$"],"srcBuf"],[1,"idx","-","gs"]]],[13,"dx",[1,[1,"right","-","left"],"*",[5,"0.5"]]],[13,"dy",[1,[1,"down","-","up"],"*",[5,"0.5"]]],[6,"std.textureStore",[[7,[7,"gradientLayout","$"],"dispTex"],[6,"d.vec2u",["cx","cy"]],[6,"d.vec4f",["dx","dy",[5,"0"],[5,"1"]]]]]]]]]]},externals:{"d.u32":()=>R,gridMax:()=>r,resolution:()=>e,gradientLayout:()=>n,"std.textureStore":()=>jr,"d.vec2u":()=>Ge,"d.vec4f":()=>x}})&&d.f)({})).$name(`waveFieldGradient_${e}`)};return xb.set(e,i),i}function sG(e,t){let{gpu:s,registerComputeTexture:r,getCpuValue:o,onCleanup:n,onResize:i,dimensions:d}=e,c=s?.root;if(!c)return null;let{resolution:_,dampingProp:u,radiusProp:m,radiusScale:p,speedMax:y,teleportGuard:h="on"}=t,{propagateLayout:g,gradientLayout:w,propagateKernel:S,gradientKernel:T}=tG(_),A=_*_,P=Y3(c,a,A),U=Y3(c,a,A),D=(globalThis.__TYPEGPU_AUTONAME__??(Me=>Me))(c.createTexture({size:[_,_],format:g7}).$usage("storage","sampled"),"dispTex");n(()=>D.destroy());let O=r(D),L=(globalThis.__TYPEGPU_AUTONAME__??(Me=>Me))(c.createUniform(ut({cursorX:a,cursorY:a,cursorSpeed:a,dt:a,damping:a,radius:a,aspect:a})),"propParams"),G=Math.max(1,Math.round(d.width)),W=Math.max(1,Math.round(d.height));i(({width:Me,height:Pe})=>{G=Math.max(1,Math.round(Me)),W=Math.max(1,Math.round(Pe))});let K=[_,_],Q=yz(P,U),te=Q.groups((Me,Pe)=>c.createBindGroup(g,{readBuf:Me,writeBuf:Pe,params:L.buffer})),ee=Q.perSide(Me=>c.createBindGroup(w,{srcBuf:Me,dispTex:D})),he=qp(c,(Me=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(Me.f=((Pe,Re)=>{"use gpu";S(Pe,Re)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[6,"propagateKernel",["cx","cy"]]]]},externals:{propagateKernel:()=>S}})&&Me.f)({}),{size:K}),Ee=qp(c,(Me=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(Me.f=((Pe,Re)=>{"use gpu";T(Pe,Re)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[6,"gradientKernel",["cx","cy"]]]]},externals:{gradientKernel:()=>T}})&&Me.f)({}),{size:K}),Te=Qz(h==="off"?{teleportGuard:Number.POSITIVE_INFINITY}:{}),Ue=Date.now();return{displacement:O,getComputeNodes:Me=>{let Pe=Me,Re=Date.now(),de=Math.min(Pe.deltaTime??0,.016),je=Math.max(1,Pe.dimensions?.width??G)/Math.max(1,Pe.dimensions?.height??W),fe=o(u)??10,Ke=(o(m)??.5)*p,Ze=Te.update(Pe.pointer,de),at=Math.min(Math.sqrt(Ze.velX*Ze.velX+Ze.velY*Ze.velY),y);at>.01&&(Ue=Re);let Fe=1-fe*Kp,Ie=Fe>=1?1/0:Math.min(3e4,Math.log(1e-6)/Math.log(Math.max(Fe,.001))*16.67);if(Re-Ue>Ie)return null;L.write({cursorX:Ze.x,cursorY:Ze.y,cursorSpeed:at,dt:de,damping:fe,radius:Ke,aspect:je});let st=[he.with(te()),Ee.with(ee.written())];return Q.swap(),st}}}function rG(e,t,s={}){let{uniforms:r,propValues:o}=e,n=o.colorSpace??0;return(o.stopCount??0)>1?Tz(t,{colorsArray:r.colorsArray,positionsArray:r.positionsArray,convertedColorsArray:r.convertedColorsArray,stopCount:r.stopCount},n):we(Fv[n]??Bo,"mixColors",[r[s.colorA??"colorA"],r[s.colorB??"colorB"],t])}var SW=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(__tsover_mul(t.x,s),t.y),i=__tsover_mul(r,4);return n.mul(i).add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"scale"},{type:"i",name:"seed"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"freq",[1,"scale","*",[5,"4"]]],[10,[6,[7,[6,[7,"aspectUV","mul"],["freq"]],"add"],["seed"]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),AW=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=la(s),n=l(o.y,o.z).mul(r).mul(.012);return t.add(n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"pos"},{type:"i",name:"distortion"}],body:[0,[[13,"grad",[6,"perlin12d",["pos"]]],[13,"disp",[6,[7,[6,[7,[6,"d.vec2f",[[7,"grad","y"],[7,"grad","z"]]],"mul"],["distortion"]],"mul"],[[5,"0.012"]]]],[10,[6,[7,"uv","add"],["disp"]]]]]},externals:{perlin12d:()=>la,"d.vec2f":()=>l}})&&e.f)({})),MW=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(__tsover_mul(__tsover_sub(t,.5),__tsover_add(s,1)),.5);return $(__tsover_add(1,__tsover_mul(__tsover_sub(o,.5),__tsover_mul(r,1.1))),0,1.6)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"contrast"},{type:"i",name:"intensity"}],body:[0,[[13,"hAdj",[1,[1,[1,"h","-",[5,"0.5"]],"*",[1,"contrast","+",[5,"1"]]],"+",[5,"0.5"]]],[10,[6,"std.clamp",[[1,[5,"1"],"+",[1,[1,"hAdj","-",[5,"0.5"]],"*",[1,"intensity","*",[5,"1.1"]]]],[5,"0"],[5,"1.6"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({}));var PW=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=C(t,__tsover_sub(1,t),o>0),i=b(r,1e-4),d=__tsover_sub(__tsover_mul(s,__tsover_add(1,__tsover_mul(2,i))),i);return re(__tsover_sub(d,i),__tsover_add(d,i),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"},{type:"i",name:"progress"},{type:"i",name:"feather"},{type:"i",name:"invert"}],body:[0,[[13,"c",[6,"std.select",["coord",[1,[5,"1"],"-","coord"],[1,"invert",">",[5,"0"]]]]],[13,"f",[6,"std.max",["feather",[5,"0.0001"]]]],[13,"front",[1,[1,"progress","*",[1,[5,"1"],"+",[1,[5,"2"],"*","f"]]],"-","f"]],[10,[6,"std.smoothstep",[[1,"front","-","f"],[1,"front","+","f"],"c"]]]]]},externals:{"std.select":()=>C,"std.max":()=>b,"std.smoothstep":()=>re}})&&e.f)({})),EW=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.x,t.y,t.z,__tsover_mul(t.w,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"reveal"}],body:[0,[[10,[6,"d.vec4f",[[7,"color","x"],[7,"color","y"],[7,"color","z"],[1,[7,"color","w"],"*","reveal"]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),kW=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r,Le),n=l(H(o),Y(o)),i=se(l(__tsover_mul(__tsover_sub(t.x,.5),s),__tsover_sub(t.y,.5)),n),d=__tsover_mul(.5,__tsover_add(__tsover_mul(s,z(n.x)),z(n.y)));return __tsover_add(__tsover_div(i,__tsover_mul(2,d)),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angleDeg"}],body:[0,[[13,"a",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"dir",[6,"d.vec2f",[[6,"std.cos",["a"]],[6,"std.sin",["a"]]]]],[13,"p",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],[1,[7,"uv","y"],"-",[5,"0.5"]]]]],[13,"grad",[6,"std.dot",["p","dir"]]],[13,"ext",[1,[5,"0.5"],"*",[1,[1,"aspect","*",[6,"std.abs",[[7,"dir","x"]]]],"+",[6,"std.abs",[[7,"dir","y"]]]]]],[10,[1,[1,"grad","/",[1,[5,"2"],"*","ext"]],"+",[5,"0.5"]]]]]},externals:{DEG_TO_RAD:()=>Le,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.abs":()=>z}})&&e.f)({})),$W=v.fn([l,a,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r.x,s),n=__tsover_sub(1,r.y),i=j(l(__tsover_sub(__tsover_mul(t.x,s),o),__tsover_sub(t.y,n))),d=j(l(b(o,__tsover_sub(s,o)),b(n,__tsover_sub(1,n))));return __tsover_div(i,b(d,1e-4))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"}],body:[0,[[13,"cx",[1,[7,"center","x"],"*","aspect"]],[13,"cy",[1,[5,"1"],"-",[7,"center","y"]]],[13,"rel",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"*","aspect"],"-","cx"],[1,[7,"uv","y"],"-","cy"]]]],[13,"dist",[6,"std.length",["rel"]]],[13,"dx",[6,"std.max",["cx",[1,"aspect","-","cx"]]]],[13,"dy",[6,"std.max",["cy",[1,[5,"1"],"-","cy"]]]],[13,"maxDist",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[10,[1,"dist","/",[6,"std.max",["maxDist",[5,"0.0001"]]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.max":()=>b}})&&e.f)({})),UW=v.fn([l,a,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(__tsover_sub(t.x,r.x),s),__tsover_sub(t.y,__tsover_sub(1,r.y))),d=tt(i.y,i.x),c=__tsover_mul(o,Le),_=__tsover_div(__tsover_sub(d,c),ao);_=__tsover_sub(_,q(_));let u=__tsover_sub(1,_),m=__tsover_mul(oe(_,__tsover_sub(1,_)),2),p=C(_,u,n>.5);return p=C(p,m,n>1.5),p}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"},{type:"i",name:"startDeg"},{type:"i",name:"mode"}],body:[0,[[13,"rel",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[7,"center","x"]],"*","aspect"],[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]]]],[13,"ang",[6,"std.atan2",[[7,"rel","y"],[7,"rel","x"]]]],[13,"start",[1,"startDeg","*","DEG_TO_RAD"]],[12,"frac",[1,[1,"ang","-","start"],"/","TWO_PI"]],[2,"frac","=",[1,"frac","-",[6,"std.floor",["frac"]]]],[13,"ccwCoord",[1,[5,"1"],"-","frac"]],[13,"bothCoord",[1,[6,"std.min",["frac",[1,[5,"1"],"-","frac"]]],"*",[5,"2"]]],[12,"coord",[6,"std.select",["frac","ccwCoord",[1,"mode",">",[5,"0.5"]]]]],[2,"coord","=",[6,"std.select",["coord","bothCoord",[1,"mode",">",[5,"1.5"]]]]],[10,"coord"]]]},externals:{"d.vec2f":()=>l,"std.atan2":()=>tt,DEG_TO_RAD:()=>Le,TWO_PI:()=>ao,"std.floor":()=>q,"std.min":()=>oe,"std.select":()=>C}})&&e.f)({})),Nm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cell:l,local:l,grid:l}),"CellGrid"),sd=v.fn([l,a,a],Nm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(1,b(r,.001)),n=b(__tsover_div(o,s),1),i=__tsover_mul(t.x,o),d=__tsover_mul(t.y,n);return Nm({cell:l(q(i),q(d)),local:l(ue(i),ue(d)),grid:l(o,n)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"size"}],body:[0,[[13,"gridX",[1,[5,"1"],"/",[6,"std.max",["size",[5,"0.001"]]]]],[13,"gridY",[6,"std.max",[[1,"gridX","/","aspect"],[5,"1"]]]],[13,"sx",[1,[7,"uv","x"],"*","gridX"]],[13,"sy",[1,[7,"uv","y"],"*","gridY"]],[10,[6,"CellGrid",[[104,{cell:[6,"d.vec2f",[[6,"std.floor",["sx"]],[6,"std.floor",["sy"]]]],local:[6,"d.vec2f",[[6,"std.fract",["sx"]],[6,"std.fract",["sy"]]]],grid:[6,"d.vec2f",["gridX","gridY"]]}]]]]]]},externals:{"std.max":()=>b,CellGrid:()=>Nm,"d.vec2f":()=>l,"std.floor":()=>q,"std.fract":()=>ue}})&&e.f)({})),CW=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(z(__tsover_sub(t,.5)),2)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[1,[6,"std.abs",[[1,"t","-",[5,"0.5"]]]],"*",[5,"2"]]]]]},externals:{"std.abs":()=>z}})&&e.f)({})),RW=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return ue(__tsover_mul(t,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"count"}],body:[0,[[10,[6,"std.fract",[[1,"t","*","count"]]]]]]},externals:{"std.fract":()=>ue}})&&e.f)({})),zW=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(s,1);return $(__tsover_div(__tsover_add(q(__tsover_mul(t,r)),.5),r),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"count"}],body:[0,[[13,"n",[6,"std.max",["count",[5,"1"]]]],[10,[6,"std.clamp",[[1,[1,[6,"std.floor",[[1,"t","*","n"]]],"+",[5,"0.5"]],"/","n"],[5,"0"],[5,"1"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.floor":()=>q}})&&e.f)({})),GW=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=q(__tsover_mul(t,b(s,1)));return Gs(__tsover_add(r,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"count"}],body:[0,[[13,"idx",[6,"std.floor",[[1,"t","*",[6,"std.max",["count",[5,"1"]]]]]]],[10,[6,"hash11",[[1,"idx","+",[5,"0.5"]]]]]]]},externals:{"std.floor":()=>q,"std.max":()=>b,hash11:()=>Gs}})&&e.f)({})),YW=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=sd(t,s,r);return __tsover_add(z(__tsover_sub(o.local.x,.5)),z(__tsover_sub(o.local.y,.5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"size"}],body:[0,[[13,"g",[6,"cellGrid",["uv","aspect","size"]]],[10,[1,[6,"std.abs",[[1,[7,[7,"g","local"],"x"],"-",[5,"0.5"]]]],"+",[6,"std.abs",[[1,[7,[7,"g","local"],"y"],"-",[5,"0.5"]]]]]]]]},externals:{cellGrid:()=>sd,"std.abs":()=>z}})&&e.f)({})),LW=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=sd(t,s,r),n=__tsover_mul(ue(__tsover_mul(__tsover_add(o.cell.x,o.cell.y),.5)),2),i=__tsover_mul(__tsover_add(__tsover_div(o.cell.x,o.grid.x),__tsover_div(o.cell.y,o.grid.y)),.5);return $(__tsover_add(__tsover_mul(.5,n),__tsover_mul(.5,i)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"size"}],body:[0,[[13,"g",[6,"cellGrid",["uv","aspect","size"]]],[13,"parity",[1,[6,"std.fract",[[1,[1,[7,[7,"g","cell"],"x"],"+",[7,[7,"g","cell"],"y"]],"*",[5,"0.5"]]]],"*",[5,"2"]]],[13,"diag",[1,[1,[1,[7,[7,"g","cell"],"x"],"/",[7,[7,"g","grid"],"x"]],"+",[1,[7,[7,"g","cell"],"y"],"/",[7,[7,"g","grid"],"y"]]],"*",[5,"0.5"]]],[10,[6,"std.clamp",[[1,[1,[5,"0.5"],"*","parity"],"+",[1,[5,"0.5"],"*","diag"]],[5,"0"],[5,"1"]]]]]]},externals:{cellGrid:()=>sd,"std.fract":()=>ue,"std.clamp":()=>$}})&&e.f)({})),IW=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return Ot(sd(t,s,r).cell)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"size"}],body:[0,[[10,[6,"hash12",[[7,[6,"cellGrid",["uv","aspect","size"]],"cell"]]]]]]},externals:{hash12:()=>Ot,cellGrid:()=>sd}})&&e.f)({})),DW=v.fn([l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(__tsover_add(__tsover_mul(__tsover_mul(t.x,s),r),__tsover_mul(o,13.7)),__tsover_add(__tsover_mul(t.y,r),__tsover_mul(o,7.9))),i=Ei(n),d=__tsover_mul(Ei(l(__tsover_add(__tsover_add(__tsover_mul(n.x,2),17.3),__tsover_mul(o,3.1)),__tsover_add(__tsover_mul(n.y,2),9.1))),.5),c=__tsover_mul(Ei(l(__tsover_add(__tsover_mul(n.x,4),41.7),__tsover_add(__tsover_add(__tsover_mul(n.y,4),27.9),__tsover_mul(o,5.3)))),.25),_=__tsover_div(__tsover_add(__tsover_add(i,d),c),1.75);return $(__tsover_add(.5,__tsover_mul(_,.9)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"scale"},{type:"i",name:"seed"}],body:[0,[[13,"p",[6,"d.vec2f",[[1,[1,[1,[7,"uv","x"],"*","aspect"],"*","scale"],"+",[1,"seed","*",[5,"13.7"]]],[1,[1,[7,"uv","y"],"*","scale"],"+",[1,"seed","*",[5,"7.9"]]]]]],[13,"n1",[6,"mxNoiseFloat2",["p"]]],[13,"n2",[1,[6,"mxNoiseFloat2",[[6,"d.vec2f",[[1,[1,[1,[7,"p","x"],"*",[5,"2"]],"+",[5,"17.3"]],"+",[1,"seed","*",[5,"3.1"]]],[1,[1,[7,"p","y"],"*",[5,"2"]],"+",[5,"9.1"]]]]]],"*",[5,"0.5"]]],[13,"n3",[1,[6,"mxNoiseFloat2",[[6,"d.vec2f",[[1,[1,[7,"p","x"],"*",[5,"4"]],"+",[5,"41.7"]],[1,[1,[1,[7,"p","y"],"*",[5,"4"]],"+",[5,"27.9"]],"+",[1,"seed","*",[5,"5.3"]]]]]]],"*",[5,"0.25"]]],[13,"n",[1,[1,[1,"n1","+","n2"],"+","n3"],"/",[5,"1.75"]]],[10,[6,"std.clamp",[[1,[5,"0.5"],"+",[1,"n","*",[5,"0.9"]]],[5,"0"],[5,"1"]]]]]]},externals:{"d.vec2f":()=>l,mxNoiseFloat2:()=>Ei,"std.clamp":()=>$}})&&e.f)({})),b7=new Float32Array(1),oG=new Int32Array(b7.buffer);function Ga(e){b7[0]=Math.max(-65504,Math.min(65504,e));let t=oG[0],s=t>>16&32768,r=t>>12&2047,o=t>>23&255;return o<103?s:o>142?(s|=31744,s|=(o===255?0:1)&&t&8388607,s):o<113?(r|=2048,s|=(r>>114-o)+(r>>113-o&1),s):(s|=o-112<<10|r>>1,s+=r&1,s)}var n1=Za({ANALYTIC_SDF_EXTRA_FIELDS:()=>aG,APERTURE_TO_HALFANGLE:()=>nG,SVG_SDF_SIZE:()=>512,ShapeMask:()=>vl,analyticSubPropValues:()=>gu,arcSdf:()=>yu,buildAnalyticSdfFn:()=>Jv,circleSdf:()=>fc,createAnalyticSdfSampler:()=>P7,createSdfDataTexture:()=>Qv,createSvgSdfSampler:()=>A7,createSvgSdfSamplerWithGradients:()=>M7,crescentSdf:()=>pu,crossSdf:()=>_u,driveAnalyticSubProps:()=>k7,ellipseSdf:()=>uu,fillStrokeColor:()=>S7,flowerSdf:()=>iu,heartSdf:()=>vu,loadSdfFromUrl:()=>Zv,parallelogramSdf:()=>xu,parseShapeConfigValue:()=>E7,polygonSdf:()=>au,ringSdf:()=>cu,roundedRectSdf:()=>lu,shapeLocalCoords:()=>w7,starSdf:()=>du,strokeMaskFromSdf:()=>T7,teardropSdf:()=>hu,trapezoidSdf:()=>fu,vesicaSdf:()=>mu}),gb=3.141592653589793,rd=6.283185307179586,bb=.35355339059327373,nu=.017453292519943295,fc=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_sub(be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s))),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"}],body:[0,[[10,[1,[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]],"-","radius"]]]]},externals:{"std.sqrt":()=>be}})&&e.f)({})),au=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s))),i=tt(s,t),d=__tsover_div(rd,o),c=q(__tsover_add(__tsover_div(i,d),.5)),_=__tsover_sub(i,__tsover_mul(c,d));return __tsover_sub(__tsover_mul(n,H(_)),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"sides"}],body:[0,[[13,"len",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[13,"angle",[6,"std.atan2",["dy","dx"]]],[13,"sectorAngle",[1,"TWO_PI","/","sides"]],[13,"sectorIdx",[6,"std.floor",[[1,[1,"angle","/","sectorAngle"],"+",[5,"0.5"]]]]],[13,"canonicalAngle",[1,"angle","-",[1,"sectorIdx","*","sectorAngle"]]],[10,[1,[1,"len","*",[6,"std.cos",["canonicalAngle"]]],"-","radius"]]]]},externals:{"std.sqrt":()=>be,"std.atan2":()=>tt,TWO_PI:()=>rd,"std.floor":()=>q,"std.cos":()=>H}})&&e.f)({})),iu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=tt(s,t),d=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s))),c=__tsover_mul(r,n),_=__tsover_div(__tsover_mul(i,o),rd),u=__tsover_sub(_,q(_)),m=z(__tsover_sub(__tsover_mul(u,2),1)),p=__tsover_add(c,__tsover_mul(__tsover_sub(r,c),m));return __tsover_sub(d,p)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"outerRadius"},{type:"i",name:"sides"},{type:"i",name:"innerRatio"}],body:[0,[[13,"angle",[6,"std.atan2",["dy","dx"]]],[13,"len",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[13,"innerRadius",[1,"outerRadius","*","innerRatio"]],[13,"tAngle",[1,[1,"angle","*","sides"],"/","TWO_PI"]],[13,"tFrac",[1,"tAngle","-",[6,"std.floor",["tAngle"]]]],[13,"t",[6,"std.abs",[[1,[1,"tFrac","*",[5,"2"]],"-",[5,"1"]]]]],[13,"boundaryR",[1,"innerRadius","+",[1,[1,"outerRadius","-","innerRadius"],"*","t"]]],[10,[1,"len","-","boundaryR"]]]]},externals:{"std.atan2":()=>tt,"std.sqrt":()=>be,TWO_PI:()=>rd,"std.floor":()=>q,"std.abs":()=>z}})&&e.f)({})),du=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,n),d=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s))),c=tt(s,t),_=__tsover_div(rd,o),u=q(__tsover_add(__tsover_div(c,_),.5)),m=__tsover_sub(c,__tsover_mul(u,_)),p=z(__tsover_mul(d,Y(m))),y=__tsover_mul(d,H(m)),h=__tsover_div(gb,o),g=Y(h),w=H(h),S=__tsover_mul(i,g),T=__tsover_sub(__tsover_mul(i,w),r),A=p,P=__tsover_sub(y,r),U=__tsover_add(__tsover_mul(A,S),__tsover_mul(P,T)),D=__tsover_add(__tsover_mul(S,S),__tsover_mul(T,T)),O=$(__tsover_div(U,D),0,1),L=__tsover_sub(p,__tsover_mul(S,O)),G=__tsover_sub(y,__tsover_add(r,__tsover_mul(T,O))),W=be(__tsover_add(__tsover_mul(L,L),__tsover_mul(G,G))),K=__tsover_sub(__tsover_mul(S,P),__tsover_mul(T,A));return __tsover_mul(W,ks(K))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"outerRadius"},{type:"i",name:"sides"},{type:"i",name:"innerRatio"}],body:[0,[[13,"innerRadius",[1,"outerRadius","*","innerRatio"]],[13,"len",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[13,"angle",[6,"std.atan2",["dy","dx"]]],[13,"sectorAngle",[1,"TWO_PI","/","sides"]],[13,"sectorIdx",[6,"std.floor",[[1,[1,"angle","/","sectorAngle"],"+",[5,"0.5"]]]]],[13,"bn",[1,"angle","-",[1,"sectorIdx","*","sectorAngle"]]],[13,"fpx",[6,"std.abs",[[1,"len","*",[6,"std.sin",["bn"]]]]]],[13,"fpy",[1,"len","*",[6,"std.cos",["bn"]]]],[13,"an",[1,"PI","/","sides"]],[13,"sinAn",[6,"std.sin",["an"]]],[13,"cosAn",[6,"std.cos",["an"]]],[13,"ex",[1,"innerRadius","*","sinAn"]],[13,"ey",[1,[1,"innerRadius","*","cosAn"],"-","outerRadius"]],[13,"qx","fpx"],[13,"qy",[1,"fpy","-","outerRadius"]],[13,"dotQE",[1,[1,"qx","*","ex"],"+",[1,"qy","*","ey"]]],[13,"dotEE",[1,[1,"ex","*","ex"],"+",[1,"ey","*","ey"]]],[13,"t",[6,"std.clamp",[[1,"dotQE","/","dotEE"],[5,"0"],[5,"1"]]]],[13,"nx",[1,"fpx","-",[1,"ex","*","t"]]],[13,"ny",[1,"fpy","-",[1,"outerRadius","+",[1,"ey","*","t"]]]],[13,"dist",[6,"std.sqrt",[[1,[1,"nx","*","nx"],"+",[1,"ny","*","ny"]]]]],[13,"cross",[1,[1,"ex","*","qy"],"-",[1,"ey","*","qx"]]],[10,[1,"dist","*",[6,"std.sign",["cross"]]]]]]},externals:{"std.sqrt":()=>be,"std.atan2":()=>tt,TWO_PI:()=>rd,"std.floor":()=>q,"std.abs":()=>z,"std.sin":()=>Y,"std.cos":()=>H,PI:()=>gb,"std.clamp":()=>$,"std.sign":()=>ks}})&&e.f)({})),cu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s)));return __tsover_sub(z(__tsover_sub(n,r)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"thickness"}],body:[0,[[13,"len",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[10,[1,[6,"std.abs",[[1,"len","-","radius"]]],"-","thickness"]]]]},externals:{"std.sqrt":()=>be,"std.abs":()=>z}})&&e.f)({})),_u=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=z(t),d=z(s),c=b(__tsover_sub(i,r),__tsover_sub(d,o)),_=b(__tsover_sub(d,r),__tsover_sub(i,o));return __tsover_sub(oe(c,_),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"size"},{type:"i",name:"thickness"},{type:"i",name:"rounding"}],body:[0,[[13,"px",[6,"std.abs",["dx"]]],[13,"py",[6,"std.abs",["dy"]]],[13,"dHoriz",[6,"std.max",[[1,"px","-","size"],[1,"py","-","thickness"]]]],[13,"dVert",[6,"std.max",[[1,"py","-","size"],[1,"px","-","thickness"]]]],[10,[1,[6,"std.min",["dHoriz","dVert"]],"-","rounding"]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),lu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_add(__tsover_sub(z(t),r),n),d=__tsover_add(__tsover_sub(z(s),o),n),c=b(i,0),_=b(d,0),u=be(__tsover_add(__tsover_mul(c,c),__tsover_mul(_,_))),m=oe(b(i,d),0);return __tsover_sub(__tsover_add(u,m),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"width"},{type:"i",name:"height"},{type:"i",name:"rounding"}],body:[0,[[13,"qx",[1,[1,[6,"std.abs",["dx"]],"-","width"],"+","rounding"]],[13,"qy",[1,[1,[6,"std.abs",["dy"]],"-","height"],"+","rounding"]],[13,"mqx",[6,"std.max",["qx",[5,"0"]]]],[13,"mqy",[6,"std.max",["qy",[5,"0"]]]],[13,"outerDist",[6,"std.sqrt",[[1,[1,"mqx","*","mqx"],"+",[1,"mqy","*","mqy"]]]]],[13,"innerDist",[6,"std.min",[[6,"std.max",["qx","qy"]],[5,"0"]]]],[10,[1,[1,"outerDist","+","innerDist"],"-","rounding"]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.sqrt":()=>be,"std.min":()=>oe}})&&e.f)({})),uu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_div(t,r),i=__tsover_div(s,o),d=be(__tsover_add(__tsover_mul(n,n),__tsover_mul(i,i)));return __tsover_mul(__tsover_sub(d,1),oe(r,o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radiusX"},{type:"i",name:"radiusY"}],body:[0,[[13,"nx",[1,"dx","/","radiusX"]],[13,"ny",[1,"dy","/","radiusY"]],[13,"k",[6,"std.sqrt",[[1,[1,"nx","*","nx"],"+",[1,"ny","*","ny"]]]]],[10,[1,[1,"k","-",[5,"1"]],"*",[6,"std.min",["radiusX","radiusY"]]]]]]},externals:{"std.sqrt":()=>be,"std.min":()=>oe}})&&e.f)({})),mu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=z(t),i=z(s),d=__tsover_mul(r,o),c=be(b(__tsover_sub(__tsover_mul(r,r),__tsover_mul(d,d)),0)),_=__tsover_mul(__tsover_sub(i,c),d)>__tsover_mul(n,c),u=be(__tsover_add(__tsover_mul(n,n),__tsover_mul(__tsover_sub(i,c),__tsover_sub(i,c))));return C(__tsover_sub(be(__tsover_add(__tsover_mul(__tsover_add(n,d),__tsover_add(n,d)),__tsover_mul(i,i))),r),u,_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"spread"}],body:[0,[[13,"px",[6,"std.abs",["dx"]]],[13,"py",[6,"std.abs",["dy"]]],[13,"dd",[1,"radius","*","spread"]],[13,"b",[6,"std.sqrt",[[6,"std.max",[[1,[1,"radius","*","radius"],"-",[1,"dd","*","dd"]],[5,"0"]]]]]],[13,"cond",[1,[1,[1,"py","-","b"],"*","dd"],">",[1,"px","*","b"]]],[13,"dist1",[6,"std.sqrt",[[1,[1,"px","*","px"],"+",[1,[1,"py","-","b"],"*",[1,"py","-","b"]]]]]],[13,"dist2",[1,[6,"std.sqrt",[[1,[1,[1,"px","+","dd"],"*",[1,"px","+","dd"]],"+",[1,"py","*","py"]]]],"-","radius"]],[10,[6,"std.select",["dist2","dist1","cond"]]]]]},externals:{"std.abs":()=>z,"std.sqrt":()=>be,"std.max":()=>b,"std.select":()=>C}})&&e.f)({})),pu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=z(s),d=r,c=__tsover_mul(r,o),_=n,u=__tsover_div(__tsover_add(__tsover_sub(__tsover_mul(d,d),__tsover_mul(c,c)),__tsover_mul(_,_)),b(__tsover_mul(_,2),.001)),m=be(b(__tsover_sub(__tsover_mul(d,d),__tsover_mul(u,u)),0)),p=__tsover_mul(_,__tsover_sub(__tsover_mul(t,m),__tsover_mul(i,u))),y=__tsover_mul(__tsover_mul(_,_),b(__tsover_sub(m,i),0)),h=__tsover_sub(t,u),g=__tsover_sub(i,m),w=be(__tsover_add(__tsover_mul(h,h),__tsover_mul(g,g))),S=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(i,i))),T=__tsover_sub(t,_),A=be(__tsover_add(__tsover_mul(T,T),__tsover_mul(i,i)));return C(b(__tsover_sub(S,d),__tsover_mul(__tsover_sub(A,c),-1)),w,p>y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"outerRadius"},{type:"i",name:"innerRatio"},{type:"i",name:"offset"}],body:[0,[[13,"py",[6,"std.abs",["dy"]]],[13,"ra","outerRadius"],[13,"rb",[1,"outerRadius","*","innerRatio"]],[13,"off","offset"],[13,"a",[1,[1,[1,[1,"ra","*","ra"],"-",[1,"rb","*","rb"]],"+",[1,"off","*","off"]],"/",[6,"std.max",[[1,"off","*",[5,"2"]],[5,"0.001"]]]]],[13,"bSq",[6,"std.max",[[1,[1,"ra","*","ra"],"-",[1,"a","*","a"]],[5,"0"]]]],[13,"b",[6,"std.sqrt",["bSq"]]],[13,"lhs",[1,"off","*",[1,[1,"dx","*","b"],"-",[1,"py","*","a"]]]],[13,"rhs",[1,[1,"off","*","off"],"*",[6,"std.max",[[1,"b","-","py"],[5,"0"]]]]],[13,"d1x",[1,"dx","-","a"]],[13,"d1y",[1,"py","-","b"]],[13,"dist1",[6,"std.sqrt",[[1,[1,"d1x","*","d1x"],"+",[1,"d1y","*","d1y"]]]]],[13,"lenP",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"py","*","py"]]]]],[13,"innerX",[1,"dx","-","off"]],[13,"lenInner",[6,"std.sqrt",[[1,[1,"innerX","*","innerX"],"+",[1,"py","*","py"]]]]],[13,"dist2",[6,"std.max",[[1,"lenP","-","ra"],[1,[1,"lenInner","-","rb"],"*",[4,"-",[5,"1"]]]]]],[10,[6,"std.select",["dist2","dist1",[1,"lhs",">","rhs"]]]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.sqrt":()=>be,"std.select":()=>C}})&&e.f)({})),fu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=z(t),d=o,c=n,_=__tsover_sub(o,r),u=__tsover_mul(n,2),m=C(o,r,s<0),p=__tsover_sub(i,oe(i,m)),y=__tsover_sub(z(s),n),h=__tsover_sub(d,i),g=__tsover_sub(c,s),w=__tsover_add(__tsover_mul(h,_),__tsover_mul(g,u)),S=b(__tsover_add(__tsover_mul(_,_),__tsover_mul(u,u)),1e-4),T=$(__tsover_div(w,S),0,1),A=__tsover_add(__tsover_sub(i,d),__tsover_mul(_,T)),P=__tsover_add(__tsover_sub(s,c),__tsover_mul(u,T)),U=C(a(1),a(-1),y<0),D=C(a(1),U,A<0),O=__tsover_add(__tsover_mul(p,p),__tsover_mul(y,y)),L=__tsover_add(__tsover_mul(A,A),__tsover_mul(P,P));return __tsover_mul(D,be(oe(O,L)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"r1"},{type:"i",name:"r2"},{type:"i",name:"he"}],body:[0,[[13,"px",[6,"std.abs",["dx"]]],[13,"k1x","r2"],[13,"k1y","he"],[13,"k2x",[1,"r2","-","r1"]],[13,"k2y",[1,"he","*",[5,"2"]]],[13,"clampWidth",[6,"std.select",["r2","r1",[1,"dy","<",[5,"0"]]]]],[13,"cax",[1,"px","-",[6,"std.min",["px","clampWidth"]]]],[13,"cay",[1,[6,"std.abs",["dy"]],"-","he"]],[13,"diffX",[1,"k1x","-","px"]],[13,"diffY",[1,"k1y","-","dy"]],[13,"dotNum",[1,[1,"diffX","*","k2x"],"+",[1,"diffY","*","k2y"]]],[13,"dotDen",[6,"std.max",[[1,[1,"k2x","*","k2x"],"+",[1,"k2y","*","k2y"]],[5,"0.0001"]]]],[13,"t",[6,"std.clamp",[[1,"dotNum","/","dotDen"],[5,"0"],[5,"1"]]]],[13,"cbx",[1,[1,"px","-","k1x"],"+",[1,"k2x","*","t"]]],[13,"cby",[1,[1,"dy","-","k1y"],"+",[1,"k2y","*","t"]]],[13,"sInner",[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"d.f32",[[4,"-",[5,"1"]]]],[1,"cay","<",[5,"0"]]]]],[13,"s",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"sInner",[1,"cbx","<",[5,"0"]]]]],[13,"dca",[1,[1,"cax","*","cax"],"+",[1,"cay","*","cay"]]],[13,"dcb",[1,[1,"cbx","*","cbx"],"+",[1,"cby","*","cby"]]],[10,[1,"s","*",[6,"std.sqrt",[[6,"std.min",["dca","dcb"]]]]]]]]},externals:{"std.abs":()=>z,"std.select":()=>C,"std.min":()=>oe,"std.max":()=>b,"std.clamp":()=>$,"d.f32":()=>a,"std.sqrt":()=>be}})&&e.f)({})),vu=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(r,.75),n=__tsover_div(z(t),o),i=__tsover_add(__tsover_div(__tsover_mul(s,-1),o),.6),d=__tsover_sub(n,.25),c=__tsover_sub(i,.75),_=__tsover_sub(be(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c))),bb),u=__tsover_sub(i,1),m=__tsover_add(__tsover_mul(n,n),__tsover_mul(u,u)),p=__tsover_mul(b(__tsover_add(n,i),0),.5),y=__tsover_sub(n,p),h=__tsover_sub(i,p),g=__tsover_add(__tsover_mul(y,y),__tsover_mul(h,h)),w=__tsover_mul(be(oe(m,g)),ks(__tsover_sub(n,i)));return __tsover_mul(C(w,_,__tsover_add(n,i)>1),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"}],body:[0,[[13,"S",[1,"radius","/",[5,"0.75"]]],[13,"px",[1,[6,"std.abs",["dx"]],"/","S"]],[13,"py",[1,[1,[1,"dy","*",[4,"-",[5,"1"]]],"/","S"],"+",[5,"0.6"]]],[13,"ax",[1,"px","-",[5,"0.25"]]],[13,"ay",[1,"py","-",[5,"0.75"]]],[13,"distA",[1,[6,"std.sqrt",[[1,[1,"ax","*","ax"],"+",[1,"ay","*","ay"]]]],"-","SQRT2_OVER_4"]],[13,"b1y",[1,"py","-",[5,"1"]]],[13,"dot1",[1,[1,"px","*","px"],"+",[1,"b1y","*","b1y"]]],[13,"m",[1,[6,"std.max",[[1,"px","+","py"],[5,"0"]]],"*",[5,"0.5"]]],[13,"b2x",[1,"px","-","m"]],[13,"b2y",[1,"py","-","m"]],[13,"dot2v",[1,[1,"b2x","*","b2x"],"+",[1,"b2y","*","b2y"]]],[13,"distB",[1,[6,"std.sqrt",[[6,"std.min",["dot1","dot2v"]]]],"*",[6,"std.sign",[[1,"px","-","py"]]]]],[10,[1,[6,"std.select",["distB","distA",[1,[1,"px","+","py"],">",[5,"1"]]]],"*","S"]]]]},externals:{"std.abs":()=>z,"std.sqrt":()=>be,SQRT2_OVER_4:()=>bb,"std.max":()=>b,"std.min":()=>oe,"std.sign":()=>ks,"std.select":()=>C}})&&e.f)({})),yu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=z(t),i=Y(o),d=H(o),c=__tsover_sub(be(__tsover_add(__tsover_mul(n,n),__tsover_mul(s,s))),r),_=$(__tsover_add(__tsover_mul(n,i),__tsover_mul(s,d)),0,r),u=__tsover_sub(n,__tsover_mul(i,_)),m=__tsover_sub(s,__tsover_mul(d,_)),p=be(__tsover_add(__tsover_mul(u,u),__tsover_mul(m,m)));return b(c,__tsover_mul(p,ks(__tsover_sub(__tsover_mul(d,n),__tsover_mul(i,s)))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"halfAngle"}],body:[0,[[13,"px",[6,"std.abs",["dx"]]],[13,"cx",[6,"std.sin",["halfAngle"]]],[13,"cy",[6,"std.cos",["halfAngle"]]],[13,"l",[1,[6,"std.sqrt",[[1,[1,"px","*","px"],"+",[1,"dy","*","dy"]]]],"-","radius"]],[13,"clamped",[6,"std.clamp",[[1,[1,"px","*","cx"],"+",[1,"dy","*","cy"]],[5,"0"],"radius"]]],[13,"mx",[1,"px","-",[1,"cx","*","clamped"]]],[13,"my",[1,"dy","-",[1,"cy","*","clamped"]]],[13,"m",[6,"std.sqrt",[[1,[1,"mx","*","mx"],"+",[1,"my","*","my"]]]]],[10,[6,"std.max",["l",[1,"m","*",[6,"std.sign",[[1,[1,"cy","*","px"],"-",[1,"cx","*","dy"]]]]]]]]]]},externals:{"std.abs":()=>z,"std.sin":()=>Y,"std.cos":()=>H,"std.sqrt":()=>be,"std.clamp":()=>$,"std.max":()=>b,"std.sign":()=>ks}})&&e.f)({})),hu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(__tsover_sub(o,r),.5),i=z(t),d=__tsover_add(__tsover_mul(s,-1),n),c=b(o,1e-4),_=__tsover_div(r,c),u=be(b(__tsover_sub(1,__tsover_mul(_,_)),0)),m=__tsover_add(__tsover_mul(i,__tsover_mul(_,-1)),__tsover_mul(d,u)),p=__tsover_sub(be(__tsover_add(__tsover_mul(i,i),__tsover_mul(d,d))),r),y=__tsover_sub(d,o),h=be(__tsover_add(__tsover_mul(i,i),__tsover_mul(y,y)));return C(C(__tsover_sub(__tsover_add(__tsover_mul(i,u),__tsover_mul(d,_)),r),h,m>__tsover_mul(u,o)),p,m<0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"h"}],body:[0,[[13,"mid",[1,[1,"h","-","radius"],"*",[5,"0.5"]]],[13,"qx",[6,"std.abs",["dx"]]],[13,"qy",[1,[1,"dy","*",[4,"-",[5,"1"]]],"+","mid"]],[13,"hSafe",[6,"std.max",["h",[5,"0.0001"]]]],[13,"b",[1,"radius","/","hSafe"]],[13,"a",[6,"std.sqrt",[[6,"std.max",[[1,[5,"1"],"-",[1,"b","*","b"]],[5,"0"]]]]]],[13,"k",[1,[1,"qx","*",[1,"b","*",[4,"-",[5,"1"]]]],"+",[1,"qy","*","a"]]],[13,"cap0",[1,[6,"std.sqrt",[[1,[1,"qx","*","qx"],"+",[1,"qy","*","qy"]]]],"-","radius"]],[13,"qyTip",[1,"qy","-","h"]],[13,"cap1",[6,"std.sqrt",[[1,[1,"qx","*","qx"],"+",[1,"qyTip","*","qyTip"]]]]],[13,"body",[1,[1,[1,"qx","*","a"],"+",[1,"qy","*","b"]],"-","radius"]],[10,[6,"std.select",[[6,"std.select",["body","cap1",[1,"k",">",[1,"a","*","h"]]]],"cap0",[1,"k","<",[5,"0"]]]]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.sqrt":()=>be,"std.select":()=>C}})&&e.f)({})),xu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=n,d=o,c=s<0,_=C(t,__tsover_mul(t,-1),c),u=C(s,__tsover_mul(s,-1),c),m=__tsover_sub(_,i),p=__tsover_sub(u,d),y=__tsover_sub(m,$(m,__tsover_mul(r,-1),r)),h=__tsover_add(__tsover_mul(y,y),__tsover_mul(p,p)),g=__tsover_mul(p,-1),w=__tsover_sub(__tsover_mul(_,d),__tsover_mul(u,i)),S=w<0,T=C(_,__tsover_mul(_,-1),S),A=C(u,__tsover_mul(u,-1),S),P=__tsover_sub(T,r),U=__tsover_add(__tsover_mul(P,i),__tsover_mul(A,d)),D=b(__tsover_add(__tsover_mul(i,i),__tsover_mul(d,d)),1e-4),O=$(__tsover_div(U,D),-1,1),L=__tsover_sub(P,__tsover_mul(i,O)),G=__tsover_sub(A,__tsover_mul(d,O)),W=oe(h,__tsover_add(__tsover_mul(L,L),__tsover_mul(G,G))),K=oe(g,__tsover_sub(__tsover_mul(r,o),z(w)));return __tsover_mul(be(W),ks(__tsover_mul(K,-1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"wi"},{type:"i",name:"he"},{type:"i",name:"sk"}],body:[0,[[13,"ex","sk"],[13,"ey","he"],[13,"flip1",[1,"dy","<",[5,"0"]]],[13,"px0",[6,"std.select",["dx",[1,"dx","*",[4,"-",[5,"1"]]],"flip1"]]],[13,"py0",[6,"std.select",["dy",[1,"dy","*",[4,"-",[5,"1"]]],"flip1"]]],[13,"wx0",[1,"px0","-","ex"]],[13,"wy",[1,"py0","-","ey"]],[13,"wx",[1,"wx0","-",[6,"std.clamp",["wx0",[1,"wi","*",[4,"-",[5,"1"]]],"wi"]]]],[13,"dX",[1,[1,"wx","*","wx"],"+",[1,"wy","*","wy"]]],[13,"dY",[1,"wy","*",[4,"-",[5,"1"]]]],[13,"s",[1,[1,"px0","*","ey"],"-",[1,"py0","*","ex"]]],[13,"flip2",[1,"s","<",[5,"0"]]],[13,"px",[6,"std.select",["px0",[1,"px0","*",[4,"-",[5,"1"]]],"flip2"]]],[13,"py",[6,"std.select",["py0",[1,"py0","*",[4,"-",[5,"1"]]],"flip2"]]],[13,"vx0",[1,"px","-","wi"]],[13,"dotve",[1,[1,"vx0","*","ex"],"+",[1,"py","*","ey"]]],[13,"dotee",[6,"std.max",[[1,[1,"ex","*","ex"],"+",[1,"ey","*","ey"]],[5,"0.0001"]]]],[13,"tt",[6,"std.clamp",[[1,"dotve","/","dotee"],[4,"-",[5,"1"]],[5,"1"]]]],[13,"vx",[1,"vx0","-",[1,"ex","*","tt"]]],[13,"vy",[1,"py","-",[1,"ey","*","tt"]]],[13,"finalX",[6,"std.min",["dX",[1,[1,"vx","*","vx"],"+",[1,"vy","*","vy"]]]]],[13,"finalY",[6,"std.min",["dY",[1,[1,"wi","*","he"],"-",[6,"std.abs",["s"]]]]]],[10,[1,[6,"std.sqrt",["finalX"]],"*",[6,"std.sign",[[1,"finalY","*",[4,"-",[5,"1"]]]]]]]]]},externals:{"std.select":()=>C,"std.clamp":()=>$,"std.max":()=>b,"std.min":()=>oe,"std.abs":()=>z,"std.sqrt":()=>be,"std.sign":()=>ks}})&&e.f)({})),w7=v.fn([l,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(__tsover_mul(r.x,o),r.y),i=l(__tsover_mul(t.x,o),__tsover_sub(1,t.y)),d=__tsover_sub(n.x,i.x),c=__tsover_sub(n.y,i.y),_=__tsover_mul(s,nu),u=H(_),m=Y(_);return l(__tsover_add(__tsover_mul(d,u),__tsover_mul(c,m)),__tsover_sub(__tsover_mul(c,u),__tsover_mul(d,m)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"rotation"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dx",[1,[7,"aspectUV","x"],"-",[7,"centerPos","x"]]],[13,"dy",[1,[7,"aspectUV","y"],"-",[7,"centerPos","y"]]],[13,"rotRad",[1,"rotation","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rdx",[1,[1,"dx","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dx","*","sinR"]]],[10,[6,"d.vec2f",["rdx","rdy"]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>nu,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),vl=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({overallMask:a,strokeBlend:a}),"ShapeMask"),T7=v.fn([a,a,a,a],vl)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=r>0,i=o>=1.5,d=o>=.5,c=__tsover_mul(r,.5),_=__tsover_mul(r,-1),u=__tsover_mul(c,-1),m=C(C(a(0),u,d),_,i),p=C(C(r,c,d),a(0),i),y=__tsover_sub(1,re(__tsover_sub(p,s),p,t)),h=re(__tsover_sub(m,s),m,t);return vl({overallMask:y,strokeBlend:C(a(0),h,n)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"softness"},{type:"i",name:"strokeThickness"},{type:"i",name:"strokePosition"}],body:[0,[[13,"hasStroke",[1,"strokeThickness",">",[5,"0"]]],[13,"isInside",[1,"strokePosition",">=",[5,"1.5"]]],[13,"isCenterOrAbove",[1,"strokePosition",">=",[5,"0.5"]]],[13,"halfThickness",[1,"strokeThickness","*",[5,"0.5"]]],[13,"negThickness",[1,"strokeThickness","*",[4,"-",[5,"1"]]]],[13,"negHalf",[1,"halfThickness","*",[4,"-",[5,"1"]]]],[13,"strokeInner",[6,"std.select",[[6,"std.select",[[6,"d.f32",[[5,"0"]]],"negHalf","isCenterOrAbove"]],"negThickness","isInside"]]],[13,"strokeOuter",[6,"std.select",[[6,"std.select",["strokeThickness","halfThickness","isCenterOrAbove"]],[6,"d.f32",[[5,"0"]]],"isInside"]]],[13,"overallMask",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"strokeOuter","-","softness"],"strokeOuter","dist"]]]],[13,"blend",[6,"std.smoothstep",[[1,"strokeInner","-","softness"],"strokeInner","dist"]]],[13,"strokeBlend",[6,"std.select",[[6,"d.f32",[[5,"0"]]],"blend","hasStroke"]]],[10,[6,"ShapeMask",[[104,{overallMask:"overallMask",strokeBlend:"strokeBlend"}]]]]]]},externals:{"std.select":()=>C,"d.f32":()=>a,"std.smoothstep":()=>re,ShapeMask:()=>vl}})&&e.f)({}));function S7(e,t,s,r){let o=we(Fv[r]??Bo,"mixColors",[t,s,e.member("strokeBlend")]);return Ws(o.member("rgb"),o.member("a").mul(e.member("overallMask")))}async function Zv(e,t){let s=await fetch(e,{mode:"cors"});if(!s.ok)throw new Error(`SDF fetch failed: HTTP ${s.status}`);let r=await s.arrayBuffer(),o=512*512;if(r.byteLength===o*2){let n=new Uint16Array(r),i=Math.min(n.length,t.length);for(let d=0;di.destroy());let d=!1,c=0;return t&&Zv(t,r).then(()=>{for(let _=0;_<262144;_++)o[_]=Ga(r[_]);d=!0}).catch(_=>Ma("[SDF] Failed to load SDF texture:",_)),e.onBeforeRender(()=>{d&&(d=!1,i.write(o),c++)}),{kitTexture:e.registerMediaTexture(()=>i.texture),texture:i,getVersion:()=>c}}function A7(e,t){let{kitTexture:s}=Qv(e,t);return r=>s.sampleLevel(r)}function M7(e,t){let o=new Float32Array(262144).fill(.5),n=new Uint16Array(262144*4),i=Ga(.5),d=Ga(1);for(let g=0;g<262144;g++)n[g*4]=i,n[g*4+3]=d;let c=e.createMediaTexture({width:512,height:512,format:"rgba16float",label:"svg-sdf-grad"});e.onCleanup(()=>c.destroy());let _=(g,w)=>{let S=Math.floor(g),T=Math.floor(w),A=g-S,P=w-T,U=W=>Math.min(Math.max(W,0),511),D=U(S),O=U(S+1),L=U(T),G=U(T+1);return o[L*512+D]*(1-A)*(1-P)+o[L*512+O]*A*(1-P)+o[G*512+D]*(1-A)*P+o[G*512+O]*A*P},u=.01,m=u*512,p=()=>{for(let g=0;g<512;g++)for(let w=0;w<512;w++){let S=g*512+w,T=o[S],A=(_(w+m,g)-T)/u,P=(_(w,g+m)-T)/u;n[S*4]=Ga(T),n[S*4+1]=Ga(A),n[S*4+2]=Ga(P)}},y=!1;t&&Zv(t,o).then(()=>{p(),y=!0}).catch(g=>Ma("[SDF] Failed to load SDF texture:",g)),e.onBeforeRender(()=>{y&&(y=!1,c.write(n))});let h=e.registerMediaTexture(()=>c.texture);return g=>h.sampleLevel(g)}var nG=.008726646259971648;function Jv(e){return v.fn([l,a,a,a,a,a,a,a,a],x)((t=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(t.f=((s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=__tsover_sub(s.x,.5),p=__tsover_sub(s.y,.5),y=__tsover_mul(d,nu),h=H(y),g=Y(y),w=__tsover_add(__tsover_mul(m,h),__tsover_mul(p,g)),S=__tsover_sub(__tsover_mul(p,h),__tsover_mul(m,g)),T=a(0);return e==="polygonSDF"?T=X(au(w,S,r,o),fc(w,S,r),n):e==="flowerSDF"?T=iu(w,S,r,o,i):e==="ringSDF"?T=cu(w,S,r,i):e==="crossSDF"?T=_u(w,S,r,i,n):e==="starSDF"?T=du(w,S,r,o,i):e==="roundedRectSDF"?T=lu(w,S,r,c,n):e==="ellipseSDF"?T=uu(w,S,r,c):e==="vesicaSDF"?T=mu(w,S,r,i):e==="crescentSDF"?T=pu(w,S,r,i,_):e==="trapezoidSDF"?T=fu(w,S,i,r,c):e==="heartSDF"?T=vu(w,S,r):e==="arcSDF"?T=yu(w,S,r,__tsover_mul(u,.008726646259971648)):e==="teardropSDF"?T=hu(w,S,r,c):e==="parallelogramSDF"?T=xu(w,S,r,c,_):T=fc(w,S,r),x(T,0,0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"r"},{type:"i",name:"n"},{type:"i",name:"round"},{type:"i",name:"inner"},{type:"i",name:"rot"},{type:"i",name:"h"},{type:"i",name:"off"},{type:"i",name:"ap"}],body:[0,[[13,"dx",[1,[7,"uv","x"],"-",[5,"0.5"]]],[13,"dy",[1,[7,"uv","y"],"-",[5,"0.5"]]],[13,"rotRad",[1,"rot","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rdx",[1,[1,"dx","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dx","*","sinR"]]],[12,"dist",[6,"d.f32",[[5,"0"]]]],[11,[1,"shapeType","===",[103,"polygonSDF"]],[2,"dist","=",[6,"std.mix",[[6,"polygonSdf",["rdx","rdy","r","n"]],[6,"circleSdf",["rdx","rdy","r"]],"round"]]],[11,[1,"shapeType","===",[103,"flowerSDF"]],[2,"dist","=",[6,"flowerSdf",["rdx","rdy","r","n","inner"]]],[11,[1,"shapeType","===",[103,"ringSDF"]],[2,"dist","=",[6,"ringSdf",["rdx","rdy","r","inner"]]],[11,[1,"shapeType","===",[103,"crossSDF"]],[2,"dist","=",[6,"crossSdf",["rdx","rdy","r","inner","round"]]],[11,[1,"shapeType","===",[103,"starSDF"]],[2,"dist","=",[6,"starSdf",["rdx","rdy","r","n","inner"]]],[11,[1,"shapeType","===",[103,"roundedRectSDF"]],[2,"dist","=",[6,"roundedRectSdf",["rdx","rdy","r","h","round"]]],[11,[1,"shapeType","===",[103,"ellipseSDF"]],[2,"dist","=",[6,"ellipseSdf",["rdx","rdy","r","h"]]],[11,[1,"shapeType","===",[103,"vesicaSDF"]],[2,"dist","=",[6,"vesicaSdf",["rdx","rdy","r","inner"]]],[11,[1,"shapeType","===",[103,"crescentSDF"]],[2,"dist","=",[6,"crescentSdf",["rdx","rdy","r","inner","off"]]],[11,[1,"shapeType","===",[103,"trapezoidSDF"]],[2,"dist","=",[6,"trapezoidSdf",["rdx","rdy","inner","r","h"]]],[11,[1,"shapeType","===",[103,"heartSDF"]],[2,"dist","=",[6,"heartSdf",["rdx","rdy","r"]]],[11,[1,"shapeType","===",[103,"arcSDF"]],[2,"dist","=",[6,"arcSdf",["rdx","rdy","r",[1,"ap","*","APERTURE_TO_HALFANGLE"]]]],[11,[1,"shapeType","===",[103,"teardropSDF"]],[2,"dist","=",[6,"teardropSdf",["rdx","rdy","r","h"]]],[11,[1,"shapeType","===",[103,"parallelogramSDF"]],[2,"dist","=",[6,"parallelogramSdf",["rdx","rdy","r","h","off"]]],[2,"dist","=",[6,"circleSdf",["rdx","rdy","r"]]]]]]]]]]]]]]]]],[10,[6,"d.vec4f",["dist",[5,"0"],[5,"0"],[5,"1"]]]]]]},externals:{DEG_TO_RAD:()=>nu,"std.cos":()=>H,"std.sin":()=>Y,"d.f32":()=>a,shapeType:()=>e,"std.mix":()=>X,polygonSdf:()=>au,circleSdf:()=>fc,flowerSdf:()=>iu,ringSdf:()=>cu,crossSdf:()=>_u,starSdf:()=>du,roundedRectSdf:()=>lu,ellipseSdf:()=>uu,vesicaSdf:()=>mu,crescentSdf:()=>pu,trapezoidSdf:()=>fu,heartSdf:()=>vu,arcSdf:()=>yu,APERTURE_TO_HALFANGLE:()=>.008726646259971648,teardropSdf:()=>hu,parallelogramSdf:()=>xu,"d.vec4f":()=>x}})&&t.f)({})).$name(`analyticSdf_${e}`)}function P7(e,t,s="none"){let r=t.radius??vt(0),o=t.sides??vt(0),n=t.rounding??vt(0),i=t.innerRatio??vt(0),d=t.rotation??vt(0),c=t.height??vt(0),_=t.offset??vt(0),u=t.aperture??vt(0),m=Jv(e);return p=>we(m,`analyticSdf_${e}`,[p,r,o,n,i,d,c,_,u])}var aG={_saRadius:{schema:a,initial:.35},_saSides:{schema:a,initial:6},_saRounding:{schema:a,initial:0},_saInnerRatio:{schema:a,initial:.4},_saRotation:{schema:a,initial:0},_saHeight:{schema:a,initial:.25},_saOffset:{schema:a,initial:.2},_saAperture:{schema:a,initial:270}};function gu(e){let t=(s,r)=>typeof s=="number"?s:r;return{radius:t(e.radius,t(e.width,t(e.bottomWidth,.35))),sides:t(e.sides,6),rounding:t(e.rounding,0),innerRatio:t(e.innerRatio,t(e.thickness,t(e.spread,t(e.topWidth,t(e.topRatio,.4))))),rotation:t(e.rotation,0),height:t(e.height,.25),offset:t(e.offset,t(e.skew,.2)),aperture:t(e.aperture,270)}}function E7(e){if(e&&typeof e=="object")return e;if(typeof e=="string")try{return JSON.parse(e)}catch{return{}}return{}}function k7(e,t){let s="",r=E7(t()),o=()=>{let i=gu(r);e.setExtraField("_saRadius",i.radius),e.setExtraField("_saSides",i.sides),e.setExtraField("_saRounding",i.rounding),e.setExtraField("_saInnerRatio",i.innerRatio),e.setExtraField("_saRotation",i.rotation),e.setExtraField("_saHeight",i.height),e.setExtraField("_saOffset",i.offset),e.setExtraField("_saAperture",i.aperture)};e.onBeforeRender(()=>{let i=t();if(i&&typeof i=="object")r=i;else if(typeof i=="string"&&i!==s){s=i;try{r=JSON.parse(i)}catch{return}}o()});let n=e.uniforms;return{radius:n._saRadius,sides:n._saSides,rounding:n._saRounding,innerRatio:n._saInnerRatio,rotation:n._saRotation,height:n._saHeight,offset:n._saOffset,aperture:n._saAperture}}var xn=512,Fa={},Zp=new Set,Qp={};function a1(e,t){return e?e in Fa?Fa[e]:(t&&(Qp[e]??=[]).push(t),Zp.has(e)||(Zp.add(e),iG(e)),null):null}async function iG(e){try{let t=await fetch(e,{mode:"cors"});if(!t.ok){Fa[e]=null;return}let s=await t.arrayBuffer(),r=xn*xn;if(s.byteLength!==r*2&&s.byteLength!==r*4){Fa[e]=null;return}let o=s.byteLength===r*2?(()=>{let _=new Uint16Array(s);return u=>_[u]/32767.5-1})():(()=>{let _=new Float32Array(s);return u=>_[u]})(),n=xn,i=xn,d=-1,c=-1;for(let _=0;_d&&(d=m),_c&&(c=_))}Fa[e]=d<0?null:{hwf:(d-n+1)/xn/2,hhf:(c-i+1)/xn/2}}catch{Fa[e]=null}finally{Zp.delete(e);let t=Qp[e];if(t){delete Qp[e];for(let s of t)s()}}}function $7(e){return!!e&&e in Fa}var wb=1/60;function Xc(e,t,s,r,o,n){if(r===0&&o===0)return[s,0];let i=200*Math.pow(.01,r),d=2*Math.sqrt(i)*(1-o*.85),c=n>wb?Math.ceil(n/wb):1,_=n/c,u=e,m=t;for(let p=0;p0?(e-s)/1e3:.016;if(s>0){let d=e-s;if(!r&&!o&&d<1e3)return{render:!1,deltaTime:i};if((r||o)&&dsetTimeout(t,16))}function z7(e){e.updateDrivers(),e.ensureComposition()&&(e.beforeRender(),e.flush(),e.render()!==!1&&e.markReady(),e.afterRender())}function G7(e){let t=null,s=n=>typeof requestAnimationFrame=="function"?requestAnimationFrame(n):setTimeout(()=>n(performance.now()),16),r=n=>{typeof cancelAnimationFrame=="function"?cancelAnimationFrame(n):clearTimeout(n)},o=()=>{e(),t!==null&&(t=s(o))};return{start(){t===null&&(t=s(o))},stop(){t!==null&&(r(t),t=null)},get running(){return t!==null}}}var Y7=["sphere3D","cube3D","torus3D","octahedron3D","cylinder3D","capsule3D","cone3D","pyramid3D","prism3D","ellipsoid3D","diamond3D","link3D","gem3D","helix3D","metaballs3D","dodecahedron3D","hemisphere3D","ribbon3D","blob3D","gyroscope3D"];function L7(e){return Y7.includes(e)}function I7(e){return e==="svgExtrude3D"}var D7={depth:.12,bevel:.02,rotX:15,rotY:30,rotZ:0};function F7(e,t){if(typeof e=="number")return e;if(e&&typeof e=="object"&&(e.type==="auto-animate"||e.type==="mouse")){let s=typeof e.outputMin=="number"?e.outputMin:t,r=typeof e.outputMax=="number"?e.outputMax:t;return Math.max(s,r)}return t}var B7={sphere3D:{radius:.35,rotX:0,rotY:0,rotZ:0},cube3D:{sizeX:.27,sizeY:.27,sizeZ:.27,rounding:.02,rotX:25,rotY:35,rotZ:0},torus3D:{radius:.3,tube:.12,rotX:55,rotY:0,rotZ:0},octahedron3D:{radius:.42,rotX:10,rotY:25,rotZ:0},cylinder3D:{radius:.22,height:.26,rounding:.02,rotX:60,rotY:0,rotZ:30},capsule3D:{radius:.16,height:.2,rotX:0,rotY:0,rotZ:35},cone3D:{radius:.3,topRadius:.02,height:.3,rotX:25,rotY:0,rotZ:15},pyramid3D:{size:.3,height:.45,rotX:-10,rotY:30,rotZ:0},prism3D:{radius:.28,height:.14,rotX:25,rotY:30,rotZ:0},ellipsoid3D:{radiusX:.38,radiusY:.22,radiusZ:.3,rotX:0,rotY:0,rotZ:20},diamond3D:{radius:.3,height:.42,rotX:15,rotY:0,rotZ:0},link3D:{radius:.18,length:.15,tube:.08,rotX:20,rotY:30,rotZ:0},gem3D:{radius:.3,height:.32,facets:8,rotX:15,rotY:0,rotZ:0},helix3D:{radius:.22,tube:.06,pitch:.16,rotX:20,rotY:0,rotZ:0},metaballs3D:{balls:4,ballRadius:.16,spread:.2,blend:.12,speed:1,rotX:0,rotY:0,rotZ:0},dodecahedron3D:{radius:.34,rotX:20,rotY:10,rotZ:0},hemisphere3D:{radius:.4,cut:0,rotX:30,rotY:0,rotZ:0},ribbon3D:{width:.15,thickness:.03,length:.38,wave:.1,waveFrequency:7,twist:140,speed:1,rotX:12,rotY:18,rotZ:0},blob3D:{radius:.3,wobble:.07,wobbliness:5,speed:1,rotX:0,rotY:0,rotZ:0},gyroscope3D:{radius:.34,width:.1,thickness:.028,rounding:.006,core:.14,speed:1,rotX:15,rotY:0,rotZ:0}};function W7(e){let t=B7[e.type]??{},s=(r,o=.3)=>F7(e[r],t[r]??o);switch(e.type){case"cube3D":return Math.hypot(s("sizeX"),s("sizeY"),s("sizeZ"))+s("rounding",0);case"torus3D":return s("radius")+s("tube");case"cylinder3D":return Math.hypot(s("radius"),s("height"))+s("rounding",0);case"capsule3D":return s("height")+s("radius");case"cone3D":return Math.hypot(Math.max(s("radius"),s("topRadius")),s("height"));case"pyramid3D":return Math.hypot(s("size")*Math.SQRT2,s("height")*.5);case"prism3D":return Math.hypot(s("radius")*1.1548,s("height"));case"ellipsoid3D":return Math.max(s("radiusX"),s("radiusY"),s("radiusZ"));case"diamond3D":return Math.max(s("radius"),s("height"));case"link3D":return s("length")+s("radius")+s("tube");case"gem3D":return Math.max(s("radius"),s("height"));case"helix3D":return Math.hypot(s("radius")+s("tube"),s("pitch")*3*.5+s("tube"));case"metaballs3D":return s("spread")+s("ballRadius",.16)+s("blend",.12);case"dodecahedron3D":return s("radius")*1.32;case"hemisphere3D":return s("radius");case"ribbon3D":return Math.hypot(s("length",.38),s("wave",.1)*1.2+Math.hypot(s("width",.15),s("thickness",.03)))+.01;case"blob3D":return s("radius",.3)+s("wobble",.07)+.02;case"gyroscope3D":return s("radius",.34)+s("thickness",.028)*.5+s("width",.1)*.5+s("rounding",.006);default:return s("radius",.35)}}var i1={propBindings:{x:{prop:"center",as:"position-x"},y:{prop:"center",as:"position-y"},rotation:{prop:"rotation",as:"degrees"}},computeBounds(e,t,s){let r=e.scale??1,o=typeof e.center?.x=="number"?e.center.x:.5,n=typeof e.center?.y=="number"?e.center.y:.5,{hwf:i,hhf:d}=Jp(e),c=r*s;return{centerXPx:o*t,centerYPx:n*s,widthPx:2*i*c,heightPx:2*d*c,rotationDeg:e.rotation??0}},writeBounds(e,t,s,r){let o={...t.center??{x:.5,y:.5},x:e.centerXPx/s,y:e.centerYPx/r},n=t.scale??1,i=cG(t)?bu(t.shape):null;if(i&&n>0)return{center:o,rotation:e.rotationDeg,shape:JSON.stringify({...i,radius:Math.max(.001,e.widthPx/(2*n*r)),height:Math.max(.001,e.heightPx/(2*n*r))})};let{hwf:d}=Jp(t);return{center:o,scale:d>0?Math.max(.01,e.widthPx/(2*d*r)):.01,rotation:e.rotationDeg}}},Hd=new Map;function bu(e){if(typeof e!="string")return e??null;if(Hd.has(e))return Hd.get(e);let t=null;try{t=JSON.parse(e)}catch{t=null}return Hd.size>=64&&Hd.clear(),Hd.set(e,t),t}function cG(e){if(e.shapeSdfUrl)return!1;let t=bu(e.shape)?.type;return t==="roundedRectSDF"||t==="ellipseSDF"}function Jp(e){if(e.shapeSdfUrl){let r=e._shapeBounds??a1(e.shapeSdfUrl),o=r&&typeof r.hwf=="number"&&typeof r.hhf=="number"?{hwf:r.hwf,hhf:r.hhf}:{hwf:.5,hhf:.5},n=e.shapeType;if(typeof n=="string"&&I7(n)){let i=bu(e.shape)??{},d=_=>F7(i[_],D7[_]??0),c=Math.hypot(o.hwf,o.hhf,d("depth")*.5)+d("bevel")+.02;return{hwf:c,hhf:c}}return o}let t=bu(e.shape);if(!t||typeof t!="object")return{hwf:.5,hhf:.5};if(typeof t.type=="string"&&L7(t.type)){let r=W7(t);return{hwf:r,hhf:r}}let s=typeof t.radius=="number"?t.radius:.35;switch(t.type){case"roundedRectSDF":case"ellipseSDF":return{hwf:s,hhf:typeof t.height=="number"?t.height:s};case"ringSDF":{let r=typeof t.thickness=="number"?t.thickness:0;return{hwf:s+r,hhf:s+r}}case"trapezoidSDF":{let r=typeof t.bottomWidth=="number"?t.bottomWidth:.3,o=typeof t.topWidth=="number"?t.topWidth:.2,n=typeof t.height=="number"?t.height:.25;return{hwf:Math.max(r,o),hhf:n}}case"vesicaSDF":{let r=typeof t.spread=="number"?Math.min(1,Math.max(0,t.spread)):.4;return{hwf:s*(1-r),hhf:s*Math.sqrt(Math.max(0,1-r*r))}}case"teardropSDF":return{hwf:s,hhf:((typeof t.height=="number"?t.height:.4)+s)/2};case"parallelogramSDF":{let r=typeof t.width=="number"?t.width:.32,o=typeof t.height=="number"?t.height:.22,n=typeof t.skew=="number"?t.skew:0;return{hwf:r+Math.abs(n),hhf:o}}default:return{hwf:s,hhf:s}}}function _G(e,t){if(e)return e;let s=t;if(typeof t=="string")try{s=JSON.parse(t)}catch{return"circleSDF"}if(s&&typeof s=="object"){let r=s.type;if(typeof r=="string"&&r)return r}return"circleSDF"}var yd=Za({HELIX_TURNS:()=>3,MAX_METABALLS:()=>8,MarchParams:()=>Cn,RotStruct:()=>Hc,SHAPE3D_DEFAULTS:()=>wu,SHAPE3D_TYPES:()=>O7,SVG3D_DEFAULTS:()=>N7,SVG3D_TYPES:()=>lG,SampleParams:()=>bf,VOLUMETRIC_FIELD_EXTRA_FIELDS:()=>yG,VOLUMETRIC_FIELD_FORMAT:()=>c1,VOLUMETRIC_FIELD_RES:()=>H7,VOLUMETRIC_FIELD_RES_MOBILE:()=>768,boxFaceUV:()=>MG,buildFieldSampleGraph:()=>vG,buildFieldSampleGraphArgs:()=>ay,buildRaymarchedField:()=>pG,buildRaymarchedFieldFn:()=>oy,buildVolumetricFieldKernel:()=>K7,buildVolumetricFieldSampler:()=>J7,capsuleSurfaceUV:()=>EG,createAnalytic2dExtrudeSetup:()=>xG,createAnalytic3dSdfSetup:()=>ew,createSvg3dSdfSetup:()=>tw,createVolumetricFieldCompute:()=>Z7,createVolumetricFieldComputeNode:()=>gG,eulerRotatePacked:()=>ws,is3dShapeType:()=>d1,isMobileGpuViewport:()=>_o,isSvg3dShapeType:()=>sy,isVolumetricShapeType:()=>V7,makeVolumetricFieldLayout:()=>ny,makeVolumetricSvgFieldLayout:()=>Q7,mobiusSurfaceUV:()=>$G,packedParamExtraFields:()=>RG,paramBoxSdf:()=>AG,paramCapsuleSdf:()=>PG,paramMobiusSdf:()=>kG,paramSphereSdf:()=>bG,paramTorusSdf:()=>TG,paramTwistedRibbonSdf:()=>UG,resolveActiveFieldRes:()=>j7,resolveShapeFieldSampler:()=>hG,resolveShapeSubProp:()=>ry,resolveVolumetricFieldRes:()=>jc,rotateVec3:()=>yl,rotateVecCpu:()=>ef,sdBicone:()=>kc,sdCappedCone:()=>af,sdCapsule:()=>nf,sdCutSphere:()=>yf,sdDodecahedron:()=>vf,sdEllipsoid:()=>_f,sdFlatBand:()=>nc,sdGem:()=>mf,sdGyroscope:()=>gf,sdHelix:()=>pf,sdHexPrism:()=>cf,sdLink:()=>lf,sdMetaballs:()=>ff,sdOctahedron:()=>rf,sdPyramid:()=>df,sdRibbon:()=>hf,sdRoundBox:()=>Ec,sdRoundCylinder:()=>of,sdSphere:()=>tf,sdTorus:()=>sf,sdWobbleBlob:()=>xf,shape3dBoundingRadius:()=>X7,shapeSubPropMax:()=>q7,smin:()=>uf,sphereSurfaceUV:()=>wG,torusSurfaceUV:()=>SG,twistedRibbonSurfaceUV:()=>CG}),Tb=3.141592653589793,Ba=6.283185307179586,O7=["sphere3D","cube3D","torus3D","octahedron3D","cylinder3D","capsule3D","cone3D","pyramid3D","prism3D","ellipsoid3D","diamond3D","link3D","gem3D","helix3D","metaballs3D","dodecahedron3D","hemisphere3D","ribbon3D","blob3D","gyroscope3D"];function d1(e){return O7.includes(e)}var lG=["svgExtrude3D"];function sy(e){return e==="svgExtrude3D"}function V7(e){return d1(e)||sy(e)}var N7={depth:.12,bevel:.02,rotX:15,rotY:30,rotZ:0},uG=e=>e<1/2.75?7.5625*e*e:e<2/2.75?(e-=1.5/2.75,7.5625*e*e+.75):e<2.5/2.75?(e-=2.25/2.75,7.5625*e*e+.9375):(e-=2.625/2.75,7.5625*e*e+.984375),mG=(e,t)=>{switch(t){case"linear":return e;case"quad":return e<.5?2*e*e:1-Math.pow(-2*e+2,2)/2;case"expo":return e===0?0:e===1?1:e<.5?Math.pow(2,20*e-10)/2:(2-Math.pow(2,-20*e+10))/2;case"bounce":return uG(e);default:return(1-Math.cos(Math.PI*e))/2}};function ry(e,t,s,r){if(typeof e=="number")return e;if(e&&typeof e=="object"){if(e.type==="auto-animate"){let o=(s.elapsed*(e.speed??1)*.2%1+1)%1,n=mG(e.mode==="loop"?o:o<.5?o*2:(1-o)*2,e.easing??e.waveform??"sine"),i=typeof e.outputMin=="number"?e.outputMin:t;return i+n*((typeof e.outputMax=="number"?e.outputMax:t)-i)}if(e.type==="mouse"){let o=e.axis==="y"?s.pointerY:s.pointerX,n=s.springs.get(r);n||(n={current:o,velocity:0},s.springs.set(r,n));let[i,d]=Xc(n.current,n.velocity,o,e.smoothing??0,e.momentum??0,s.deltaTime);n.current=i,n.velocity=d;let c=Math.max(.001,i),_=typeof e.outputMin=="number"?e.outputMin:t,u=typeof e.outputMax=="number"?e.outputMax:t,m=Math.pow(2,-(e.curve??0)*2);return _+Math.pow(c,m)*(u-_)}}return t}function q7(e,t){if(typeof e=="number")return e;if(e&&typeof e=="object"&&(e.type==="auto-animate"||e.type==="mouse")){let s=typeof e.outputMin=="number"?e.outputMin:t,r=typeof e.outputMax=="number"?e.outputMax:t;return Math.max(s,r)}return t}var wu={sphere3D:{radius:.35,rotX:0,rotY:0,rotZ:0},cube3D:{sizeX:.27,sizeY:.27,sizeZ:.27,rounding:.02,rotX:25,rotY:35,rotZ:0},torus3D:{radius:.3,tube:.12,rotX:55,rotY:0,rotZ:0},octahedron3D:{radius:.42,rotX:10,rotY:25,rotZ:0},cylinder3D:{radius:.22,height:.26,rounding:.02,rotX:60,rotY:0,rotZ:30},capsule3D:{radius:.16,height:.2,rotX:0,rotY:0,rotZ:35},cone3D:{radius:.3,topRadius:.02,height:.3,rotX:25,rotY:0,rotZ:15},pyramid3D:{size:.3,height:.45,rotX:-10,rotY:30,rotZ:0},prism3D:{radius:.28,height:.14,rotX:25,rotY:30,rotZ:0},ellipsoid3D:{radiusX:.38,radiusY:.22,radiusZ:.3,rotX:0,rotY:0,rotZ:20},diamond3D:{radius:.3,height:.42,rotX:15,rotY:0,rotZ:0},link3D:{radius:.18,length:.15,tube:.08,rotX:20,rotY:30,rotZ:0},gem3D:{radius:.3,height:.32,facets:8,rotX:15,rotY:0,rotZ:0},helix3D:{radius:.22,tube:.06,pitch:.16,rotX:20,rotY:0,rotZ:0},metaballs3D:{balls:4,ballRadius:.16,spread:.2,blend:.12,speed:1,rotX:0,rotY:0,rotZ:0},dodecahedron3D:{radius:.34,rotX:20,rotY:10,rotZ:0},hemisphere3D:{radius:.4,cut:0,rotX:30,rotY:0,rotZ:0},ribbon3D:{width:.15,thickness:.03,length:.38,wave:.1,waveFrequency:7,twist:140,speed:1,rotX:12,rotY:18,rotZ:0},blob3D:{radius:.3,wobble:.07,wobbliness:5,speed:1,rotX:0,rotY:0,rotZ:0},gyroscope3D:{radius:.34,width:.1,thickness:.028,rounding:.006,core:.14,speed:1,rotX:15,rotY:0,rotZ:0}};function X7(e){let t=wu[e.type]??{},s=(r,o=.3)=>q7(e[r],t[r]??o);switch(e.type){case"cube3D":return Math.hypot(s("sizeX"),s("sizeY"),s("sizeZ"))+s("rounding",0);case"torus3D":return s("radius")+s("tube");case"cylinder3D":return Math.hypot(s("radius"),s("height"))+s("rounding",0);case"capsule3D":return s("height")+s("radius");case"cone3D":return Math.hypot(Math.max(s("radius"),s("topRadius")),s("height"));case"pyramid3D":return Math.hypot(s("size")*Math.SQRT2,s("height")*.5);case"prism3D":return Math.hypot(s("radius")*1.1548,s("height"));case"ellipsoid3D":return Math.max(s("radiusX"),s("radiusY"),s("radiusZ"));case"diamond3D":return Math.max(s("radius"),s("height"));case"link3D":return s("length")+s("radius")+s("tube");case"gem3D":return Math.max(s("radius"),s("height"));case"helix3D":return Math.hypot(s("radius")+s("tube"),s("pitch")*3*.5+s("tube"));case"metaballs3D":return s("spread")+s("ballRadius",.16)+s("blend",.12);case"dodecahedron3D":return s("radius")*1.32;case"hemisphere3D":return s("radius");case"ribbon3D":return Math.hypot(s("length",.38),s("wave",.1)*1.2+Math.hypot(s("width",.15),s("thickness",.03)))+.01;case"blob3D":return s("radius",.3)+s("wobble",.07)+.02;case"gyroscope3D":return s("radius",.34)+s("thickness",.028)*.5+s("width",.1)*.5+s("rounding",.006);default:return s("radius",.35)}}function ef(e,t,s,r){let o=e*r.cy+s*r.sy,n=-e*r.sy+s*r.cy,i=t*r.cx-n*r.sx,d=t*r.sx+n*r.cx;return{x:o*r.cz-i*r.sz,y:o*r.sz+i*r.cz,z:d}}var tf=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(j(t),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"}],body:[0,[[10,[1,[6,"std.length",["p"]],"-","r"]]]]},externals:{"std.length":()=>j}})&&e.f)({})),Ec=v.fn([f,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_add(__tsover_sub(z(t.x),s),n),d=__tsover_add(__tsover_sub(z(t.y),r),n),c=__tsover_add(__tsover_sub(z(t.z),o),n),_=j(f(b(i,0),b(d,0),b(c,0))),u=oe(b(i,b(d,c)),0);return __tsover_sub(__tsover_add(_,u),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"hx"},{type:"i",name:"hy"},{type:"i",name:"hz"},{type:"i",name:"rounding"}],body:[0,[[13,"qx",[1,[1,[6,"std.abs",[[7,"p","x"]]],"-","hx"],"+","rounding"]],[13,"qy",[1,[1,[6,"std.abs",[[7,"p","y"]]],"-","hy"],"+","rounding"]],[13,"qz",[1,[1,[6,"std.abs",[[7,"p","z"]]],"-","hz"],"+","rounding"]],[13,"outer",[6,"std.length",[[6,"d.vec3f",[[6,"std.max",["qx",[5,"0"]]],[6,"std.max",["qy",[5,"0"]]],[6,"std.max",["qz",[5,"0"]]]]]]]],[13,"inner",[6,"std.min",[[6,"std.max",["qx",[6,"std.max",["qy","qz"]]]],[5,"0"]]]],[10,[1,[1,"outer","+","inner"],"-","rounding"]]]]},externals:{"std.abs":()=>z,"std.length":()=>j,"d.vec3f":()=>f,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),sf=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(j(l(t.x,t.z)),s);return __tsover_sub(j(l(o,t.y)),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"ringR"},{type:"i",name:"tubeR"}],body:[0,[[13,"qx",[1,[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]],"-","ringR"]],[10,[1,[6,"std.length",[[6,"d.vec2f",["qx",[7,"p","y"]]]]],"-","tubeR"]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})),rf=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_mul(__tsover_sub(__tsover_add(__tsover_add(z(t.x),z(t.y)),z(t.z)),s),.57735027)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"s"}],body:[0,[[10,[1,[1,[1,[1,[6,"std.abs",[[7,"p","x"]]],"+",[6,"std.abs",[[7,"p","y"]]]],"+",[6,"std.abs",[[7,"p","z"]]]],"-","s"],"*",[5,"0.57735027"]]]]]},externals:{"std.abs":()=>z}})&&e.f)({})),of=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_add(__tsover_sub(j(l(t.x,t.z)),s),o),i=__tsover_add(__tsover_sub(z(t.y),r),o),d=oe(b(n,i),0),c=j(l(b(n,0),b(i,0)));return __tsover_sub(__tsover_add(d,c),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"h"},{type:"i",name:"rounding"}],body:[0,[[13,"dx",[1,[1,[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]],"-","r"],"+","rounding"]],[13,"dy",[1,[1,[6,"std.abs",[[7,"p","y"]]],"-","h"],"+","rounding"]],[13,"inner",[6,"std.min",[[6,"std.max",["dx","dy"]],[5,"0"]]]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["dx",[5,"0"]]],[6,"std.max",["dy",[5,"0"]]]]]]]],[10,[1,[1,"inner","+","outer"],"-","rounding"]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.abs":()=>z,"std.min":()=>oe,"std.max":()=>b}})&&e.f)({})),nf=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=$(t.y,__tsover_mul(r,-1),r);return __tsover_sub(j(f(t.x,__tsover_sub(t.y,o),t.z)),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"h"}],body:[0,[[13,"cyc",[6,"std.clamp",[[7,"p","y"],[1,"h","*",[4,"-",[5,"1"]]],"h"]]],[10,[1,[6,"std.length",[[6,"d.vec3f",[[7,"p","x"],[1,[7,"p","y"],"-","cyc"],[7,"p","z"]]]]],"-","r"]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec3f":()=>f}})&&e.f)({})),af=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=j(l(t.x,t.z)),i=t.y,d=__tsover_sub(r,s),c=__tsover_mul(o,2),_=__tsover_sub(n,oe(n,C(r,s,i<0))),u=__tsover_sub(z(i),o),m=__tsover_add(__tsover_mul(__tsover_sub(r,n),d),__tsover_mul(__tsover_sub(o,i),c)),p=b(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c)),1e-6),y=$(__tsover_div(m,p),0,1),h=__tsover_add(__tsover_sub(n,r),__tsover_mul(d,y)),g=__tsover_add(__tsover_sub(i,o),__tsover_mul(c,y)),w=C(a(1),a(-1),u<0),S=C(a(1),w,h<0),T=__tsover_add(__tsover_mul(_,_),__tsover_mul(u,u)),A=__tsover_add(__tsover_mul(h,h),__tsover_mul(g,g));return __tsover_mul(S,be(oe(T,A)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r1"},{type:"i",name:"r2"},{type:"i",name:"h"}],body:[0,[[13,"qx",[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]]],[13,"qy",[7,"p","y"]],[13,"k2x",[1,"r2","-","r1"]],[13,"k2y",[1,"h","*",[5,"2"]]],[13,"cax",[1,"qx","-",[6,"std.min",["qx",[6,"std.select",["r2","r1",[1,"qy","<",[5,"0"]]]]]]]],[13,"cay",[1,[6,"std.abs",["qy"]],"-","h"]],[13,"dotNum",[1,[1,[1,"r2","-","qx"],"*","k2x"],"+",[1,[1,"h","-","qy"],"*","k2y"]]],[13,"dotDen",[6,"std.max",[[1,[1,"k2x","*","k2x"],"+",[1,"k2y","*","k2y"]],[5,"0.000001"]]]],[13,"t",[6,"std.clamp",[[1,"dotNum","/","dotDen"],[5,"0"],[5,"1"]]]],[13,"cbx",[1,[1,"qx","-","r2"],"+",[1,"k2x","*","t"]]],[13,"cby",[1,[1,"qy","-","h"],"+",[1,"k2y","*","t"]]],[13,"sInner",[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"d.f32",[[4,"-",[5,"1"]]]],[1,"cay","<",[5,"0"]]]]],[13,"s",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"sInner",[1,"cbx","<",[5,"0"]]]]],[13,"dca",[1,[1,"cax","*","cax"],"+",[1,"cay","*","cay"]]],[13,"dcb",[1,[1,"cbx","*","cbx"],"+",[1,"cby","*","cby"]]],[10,[1,"s","*",[6,"std.sqrt",[[6,"std.min",["dca","dcb"]]]]]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.min":()=>oe,"std.select":()=>C,"std.abs":()=>z,"std.max":()=>b,"std.clamp":()=>$,"d.f32":()=>a,"std.sqrt":()=>be}})&&e.f)({})),df=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r,.5),n=be(__tsover_add(__tsover_mul(r,r),__tsover_mul(s,s))),i=__tsover_div(__tsover_add(__tsover_mul(r,z(t.x)),__tsover_mul(s,__tsover_sub(t.y,o))),n),d=__tsover_div(__tsover_add(__tsover_mul(r,z(t.z)),__tsover_mul(s,__tsover_sub(t.y,o))),n),c=__tsover_sub(__tsover_mul(t.y,-1),o);return b(b(i,d),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"b"},{type:"i",name:"ht"}],body:[0,[[13,"h2",[1,"ht","*",[5,"0.5"]]],[13,"denom",[6,"std.sqrt",[[1,[1,"ht","*","ht"],"+",[1,"b","*","b"]]]]],[13,"dx",[1,[1,[1,"ht","*",[6,"std.abs",[[7,"p","x"]]]],"+",[1,"b","*",[1,[7,"p","y"],"-","h2"]]],"/","denom"]],[13,"dz",[1,[1,[1,"ht","*",[6,"std.abs",[[7,"p","z"]]]],"+",[1,"b","*",[1,[7,"p","y"],"-","h2"]]],"/","denom"]],[13,"dBase",[1,[1,[7,"p","y"],"*",[4,"-",[5,"1"]]],"-","h2"]],[10,[6,"std.max",[[6,"std.max",["dx","dz"]],"dBase"]]]]]},externals:{"std.sqrt":()=>be,"std.abs":()=>z,"std.max":()=>b}})&&e.f)({})),cf=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=-.8660254,n=.5,i=.57735,d=z(t.x),c=z(t.y),_=z(t.z),u=__tsover_mul(oe(__tsover_add(__tsover_mul(o,d),__tsover_mul(n,c)),0),2),m=__tsover_sub(d,__tsover_mul(u,o)),p=__tsover_sub(c,__tsover_mul(u,n)),y=$(m,__tsover_mul(__tsover_mul(i,s),-1),__tsover_mul(i,s)),h=__tsover_sub(m,y),g=__tsover_sub(p,s),w=__tsover_mul(be(__tsover_add(__tsover_mul(h,h),__tsover_mul(g,g))),ks(__tsover_sub(p,s))),S=__tsover_sub(_,r),T=oe(b(w,S),0),A=j(l(b(w,0),b(S,0)));return __tsover_add(T,A)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"he"}],body:[0,[[13,"kx",[4,"-",[5,"0.8660254"]]],[13,"ky",[5,"0.5"]],[13,"kz",[5,"0.57735"]],[13,"ax",[6,"std.abs",[[7,"p","x"]]]],[13,"ay",[6,"std.abs",[[7,"p","y"]]]],[13,"az",[6,"std.abs",[[7,"p","z"]]]],[13,"dk",[1,[6,"std.min",[[1,[1,"kx","*","ax"],"+",[1,"ky","*","ay"]],[5,"0"]]],"*",[5,"2"]]],[13,"px",[1,"ax","-",[1,"dk","*","kx"]]],[13,"py",[1,"ay","-",[1,"dk","*","ky"]]],[13,"cx",[6,"std.clamp",["px",[1,[1,"kz","*","r"],"*",[4,"-",[5,"1"]]],[1,"kz","*","r"]]]],[13,"ex",[1,"px","-","cx"]],[13,"ey",[1,"py","-","r"]],[13,"dHex",[1,[6,"std.sqrt",[[1,[1,"ex","*","ex"],"+",[1,"ey","*","ey"]]]],"*",[6,"std.sign",[[1,"py","-","r"]]]]],[13,"dZ",[1,"az","-","he"]],[13,"inner",[6,"std.min",[[6,"std.max",["dHex","dZ"]],[5,"0"]]]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["dHex",[5,"0"]]],[6,"std.max",["dZ",[5,"0"]]]]]]]],[10,[1,"inner","+","outer"]]]]},externals:{"std.abs":()=>z,"std.min":()=>oe,"std.clamp":()=>$,"std.sqrt":()=>be,"std.sign":()=>ks,"std.max":()=>b,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})),_f=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=j(f(__tsover_div(t.x,s),__tsover_div(t.y,r),__tsover_div(t.z,o))),i=j(f(__tsover_div(t.x,__tsover_mul(s,s)),__tsover_div(t.y,__tsover_mul(r,r)),__tsover_div(t.z,__tsover_mul(o,o))));return __tsover_div(__tsover_mul(n,__tsover_sub(n,1)),b(i,1e-6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rx"},{type:"i",name:"ry"},{type:"i",name:"rz"}],body:[0,[[13,"k0",[6,"std.length",[[6,"d.vec3f",[[1,[7,"p","x"],"/","rx"],[1,[7,"p","y"],"/","ry"],[1,[7,"p","z"],"/","rz"]]]]]],[13,"k1",[6,"std.length",[[6,"d.vec3f",[[1,[7,"p","x"],"/",[1,"rx","*","rx"]],[1,[7,"p","y"],"/",[1,"ry","*","ry"]],[1,[7,"p","z"],"/",[1,"rz","*","rz"]]]]]]],[10,[1,[1,"k0","*",[1,"k0","-",[5,"1"]]],"/",[6,"std.max",["k1",[5,"0.000001"]]]]]]]},externals:{"std.length":()=>j,"d.vec3f":()=>f,"std.max":()=>b}})&&e.f)({})),kc=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=j(l(t.x,t.z)),n=z(t.y),i=__tsover_mul(s,-1),d=r,c=__tsover_sub(o,s),_=n,u=b(__tsover_add(__tsover_mul(i,i),__tsover_mul(d,d)),1e-6),m=$(__tsover_div(__tsover_add(__tsover_mul(c,i),__tsover_mul(_,d)),u),0,1),p=__tsover_sub(c,__tsover_mul(i,m)),y=__tsover_sub(_,__tsover_mul(d,m)),h=be(__tsover_add(__tsover_mul(p,p),__tsover_mul(y,y)));return __tsover_mul(h,ks(__tsover_sub(__tsover_add(__tsover_mul(r,o),__tsover_mul(s,n)),__tsover_mul(s,r))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"h"}],body:[0,[[13,"qx",[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]]],[13,"qy",[6,"std.abs",[[7,"p","y"]]]],[13,"abx",[1,"r","*",[4,"-",[5,"1"]]]],[13,"aby","h"],[13,"apx",[1,"qx","-","r"]],[13,"apy","qy"],[13,"den",[6,"std.max",[[1,[1,"abx","*","abx"],"+",[1,"aby","*","aby"]],[5,"0.000001"]]]],[13,"t",[6,"std.clamp",[[1,[1,[1,"apx","*","abx"],"+",[1,"apy","*","aby"]],"/","den"],[5,"0"],[5,"1"]]]],[13,"dxx",[1,"apx","-",[1,"abx","*","t"]]],[13,"dyy",[1,"apy","-",[1,"aby","*","t"]]],[13,"dist",[6,"std.sqrt",[[1,[1,"dxx","*","dxx"],"+",[1,"dyy","*","dyy"]]]]],[10,[1,"dist","*",[6,"std.sign",[[1,[1,[1,"h","*","qx"],"+",[1,"r","*","qy"]],"-",[1,"r","*","h"]]]]]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.abs":()=>z,"std.max":()=>b,"std.clamp":()=>$,"std.sqrt":()=>be,"std.sign":()=>ks}})&&e.f)({})),lf=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(__tsover_sub(z(t.y),s),0),i=__tsover_sub(j(l(t.x,n)),r);return __tsover_sub(j(l(i,t.z)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"le"},{type:"i",name:"r1"},{type:"i",name:"r2"}],body:[0,[[13,"qy",[6,"std.max",[[1,[6,"std.abs",[[7,"p","y"]]],"-","le"],[5,"0"]]]],[13,"ring",[1,[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],"qy"]]]],"-","r1"]],[10,[1,[6,"std.length",[[6,"d.vec2f",["ring",[7,"p","z"]]]]],"-","r2"]]]]},externals:{"std.max":()=>b,"std.abs":()=>z,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})),uf=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=$(__tsover_add(__tsover_mul(__tsover_div(__tsover_sub(s,t),r),.5),.5),0,1);return __tsover_sub(X(s,t,o),__tsover_mul(__tsover_mul(r,o),__tsover_sub(1,o)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"k"}],body:[0,[[13,"h",[6,"std.clamp",[[1,[1,[1,[1,"b","-","a"],"/","k"],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[10,[1,[6,"std.mix",["b","a","h"]],"-",[1,[1,"k","*","h"],"*",[1,[5,"1"],"-","h"]]]]]]},externals:{"std.clamp":()=>$,"std.mix":()=>X}})&&e.f)({})),mf=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=kc(t,s,r),i=j(l(t.x,t.z)),d=tt(t.z,t.x),c=__tsover_div(Ba,o),_=q(__tsover_add(__tsover_div(d,c),.5)),u=__tsover_sub(d,__tsover_mul(_,c)),m=__tsover_mul(s,H(__tsover_div(Tb,o)));return b(b(n,__tsover_sub(__tsover_mul(i,H(u)),m)),__tsover_sub(t.y,__tsover_mul(r,.45)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"h"},{type:"i",name:"sides"}],body:[0,[[13,"base",[6,"sdBicone",["p","r","h"]]],[13,"lenXZ",[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]]],[13,"ang",[6,"std.atan2",[[7,"p","z"],[7,"p","x"]]]],[13,"sector",[1,"TWO_PI","/","sides"]],[13,"idx",[6,"std.floor",[[1,[1,"ang","/","sector"],"+",[5,"0.5"]]]]],[13,"ca",[1,"ang","-",[1,"idx","*","sector"]]],[13,"ri",[1,"r","*",[6,"std.cos",[[1,"PI","/","sides"]]]]],[13,"facet",[1,[1,"lenXZ","*",[6,"std.cos",["ca"]]],"-","ri"]],[13,"dd",[6,"std.max",["base","facet"]]],[13,"table",[1,[7,"p","y"],"-",[1,"h","*",[5,"0.45"]]]],[10,[6,"std.max",["dd","table"]]]]]},externals:{sdBicone:()=>kc,"std.length":()=>j,"d.vec2f":()=>l,"std.atan2":()=>tt,TWO_PI:()=>Ba,"std.floor":()=>q,"std.cos":()=>H,PI:()=>Tb,"std.max":()=>b}})&&e.f)({})),pf=v.fn([f,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=tt(t.z,t.x),d=q(__tsover_add(__tsover_sub(__tsover_div(t.y,o),__tsover_div(i,Ba)),.5)),c=__tsover_add(i,__tsover_mul(Ba,d)),_=__tsover_mul(s,H(c)),u=__tsover_div(__tsover_mul(o,c),Ba),m=__tsover_mul(s,Y(c));return b(__tsover_sub(j(f(__tsover_sub(t.x,_),__tsover_sub(t.y,u),__tsover_sub(t.z,m))),r),__tsover_sub(z(t.y),__tsover_mul(__tsover_mul(o,n),.5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"R"},{type:"i",name:"tube"},{type:"i",name:"pitch"},{type:"i",name:"turns"}],body:[0,[[13,"psi",[6,"std.atan2",[[7,"p","z"],[7,"p","x"]]]],[13,"k",[6,"std.floor",[[1,[1,[1,[7,"p","y"],"/","pitch"],"-",[1,"psi","/","TWO_PI"]],"+",[5,"0.5"]]]]],[13,"theta",[1,"psi","+",[1,"TWO_PI","*","k"]]],[13,"ccx",[1,"R","*",[6,"std.cos",["theta"]]]],[13,"ccy",[1,[1,"pitch","*","theta"],"/","TWO_PI"]],[13,"ccz",[1,"R","*",[6,"std.sin",["theta"]]]],[13,"dStrand",[1,[6,"std.length",[[6,"d.vec3f",[[1,[7,"p","x"],"-","ccx"],[1,[7,"p","y"],"-","ccy"],[1,[7,"p","z"],"-","ccz"]]]]],"-","tube"]],[13,"slab",[1,[6,"std.abs",[[7,"p","y"]]],"-",[1,[1,"pitch","*","turns"],"*",[5,"0.5"]]]],[10,[6,"std.max",["dStrand","slab"]]]]]},externals:{"std.atan2":()=>tt,"std.floor":()=>q,TWO_PI:()=>Ba,"std.cos":()=>H,"std.sin":()=>Y,"std.length":()=>j,"d.vec3f":()=>f,"std.abs":()=>z,"std.max":()=>b}})&&e.f)({})),Sb=pt(f,8),Ab=8,ff=v.fn([f,f,f,f,f,f,f,f,f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=Sb();p[0]=f(s),p[1]=f(r),p[2]=f(o),p[3]=f(n),p[4]=f(i),p[5]=f(d),p[6]=f(c),p[7]=f(_);let y=__tsover_sub(j(t.sub(p[0])),u);for(let h=1;hSb,"d.vec3f":()=>f,"std.length":()=>j,METABALL_COUNT:()=>Ab,smin:()=>uf}})&&e.f)({})),vf=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=f(z(t.x),z(t.y),z(t.z)),o=se(r,f(0,.5257311,.8506508)),n=se(r,f(.8506508,0,.5257311)),i=se(r,f(.5257311,.8506508,0));return __tsover_sub(b(b(o,n),i),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"}],body:[0,[[13,"q",[6,"d.vec3f",[[6,"std.abs",[[7,"p","x"]]],[6,"std.abs",[[7,"p","y"]]],[6,"std.abs",[[7,"p","z"]]]]]],[13,"a",[6,"std.dot",["q",[6,"d.vec3f",[[5,"0"],[5,"0.5257311"],[5,"0.8506508"]]]]]],[13,"b",[6,"std.dot",["q",[6,"d.vec3f",[[5,"0.8506508"],[5,"0"],[5,"0.5257311"]]]]]],[13,"c",[6,"std.dot",["q",[6,"d.vec3f",[[5,"0.5257311"],[5,"0.8506508"],[5,"0"]]]]]],[10,[1,[6,"std.max",[[6,"std.max",["a","b"]],"c"]],"-","r"]]]]},externals:{"d.vec3f":()=>f,"std.abs":()=>z,"std.dot":()=>se,"std.max":()=>b}})&&e.f)({})),yf=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=be(b(__tsover_sub(__tsover_mul(s,s),__tsover_mul(r,r)),0)),n=j(l(t.x,t.z)),i=t.y,d=b(__tsover_add(__tsover_mul(__tsover_mul(__tsover_sub(r,s),n),n),__tsover_mul(__tsover_mul(o,o),__tsover_sub(__tsover_add(r,s),__tsover_mul(i,2)))),__tsover_sub(__tsover_mul(r,n),__tsover_mul(o,i))),c=__tsover_sub(j(l(n,i)),s),_=__tsover_sub(r,i);return C(C(j(l(__tsover_sub(n,o),__tsover_sub(i,r))),_,nbe,"std.max":()=>b,"std.length":()=>j,"d.vec2f":()=>l,"std.select":()=>C}})&&e.f)({})),hf=v.fn([f,a,a,a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=__tsover_mul(n,Y(__tsover_add(__tsover_mul(i,t.x),d))),y=__tsover_mul(__tsover_mul(n,.6),Y(__tsover_add(__tsover_mul(__tsover_mul(i,.8),t.x),c))),h=__tsover_sub(t.y,p),g=__tsover_sub(t.z,y),w=__tsover_add(__tsover_mul(_,t.x),u),S=H(w),T=Y(w),A=__tsover_add(__tsover_mul(h,S),__tsover_mul(g,T)),P=__tsover_sub(__tsover_mul(g,S),__tsover_mul(h,T)),U=__tsover_mul(r,.4),D=__tsover_add(__tsover_sub(z(A),s),U),O=__tsover_add(__tsover_sub(z(P),r),U),L=__tsover_sub(__tsover_add(j(l(b(D,0),b(O,0))),oe(b(D,O),0)),U),G=__tsover_sub(z(t.x),o),W=__tsover_add(j(l(b(L,0),b(G,0))),oe(b(L,G),0));return __tsover_mul(W,m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"w"},{type:"i",name:"th"},{type:"i",name:"len"},{type:"i",name:"amp"},{type:"i",name:"freq"},{type:"i",name:"ph1"},{type:"i",name:"ph2"},{type:"i",name:"twRate"},{type:"i",name:"twPh"},{type:"i",name:"lip"}],body:[0,[[13,"yc",[1,"amp","*",[6,"std.sin",[[1,[1,"freq","*",[7,"p","x"]],"+","ph1"]]]]],[13,"zc",[1,[1,"amp","*",[5,"0.6"]],"*",[6,"std.sin",[[1,[1,[1,"freq","*",[5,"0.8"]],"*",[7,"p","x"]],"+","ph2"]]]]],[13,"qy",[1,[7,"p","y"],"-","yc"]],[13,"qz",[1,[7,"p","z"],"-","zc"]],[13,"ang",[1,[1,"twRate","*",[7,"p","x"]],"+","twPh"]],[13,"c",[6,"std.cos",["ang"]]],[13,"s",[6,"std.sin",["ang"]]],[13,"ry",[1,[1,"qy","*","c"],"+",[1,"qz","*","s"]]],[13,"rz",[1,[1,"qz","*","c"],"-",[1,"qy","*","s"]]],[13,"round",[1,"th","*",[5,"0.4"]]],[13,"bx",[1,[1,[6,"std.abs",["ry"]],"-","w"],"+","round"]],[13,"by",[1,[1,[6,"std.abs",["rz"]],"-","th"],"+","round"]],[13,"d2",[1,[1,[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["bx",[5,"0"]]],[6,"std.max",["by",[5,"0"]]]]]]],"+",[6,"std.min",[[6,"std.max",["bx","by"]],[5,"0"]]]],"-","round"]],[13,"dx",[1,[6,"std.abs",[[7,"p","x"]]],"-","len"]],[13,"dd",[1,[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["d2",[5,"0"]]],[6,"std.max",["dx",[5,"0"]]]]]]],"+",[6,"std.min",[[6,"std.max",["d2","dx"]],[5,"0"]]]]],[10,[1,"dd","*","lip"]]]]},externals:{"std.sin":()=>Y,"std.cos":()=>H,"std.abs":()=>z,"std.length":()=>j,"d.vec2f":()=>l,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),xf=v.fn([f,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(t.x,o),n)),Y(__tsover_add(__tsover_mul(__tsover_mul(t.y,o),1.3),i))),__tsover_mul(Y(__tsover_add(__tsover_mul(__tsover_mul(t.y,o),.8),__tsover_mul(i,1.1))),Y(__tsover_add(__tsover_mul(__tsover_mul(t.z,o),1.1),__tsover_mul(n,.9))))),_=__tsover_sub(__tsover_sub(j(t),s),__tsover_mul(__tsover_mul(r,c),.5));return __tsover_mul(_,d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"amp"},{type:"i",name:"freq"},{type:"i",name:"ph1"},{type:"i",name:"ph2"},{type:"i",name:"lip"}],body:[0,[[13,"w",[1,[1,[6,"std.sin",[[1,[1,[7,"p","x"],"*","freq"],"+","ph1"]]],"*",[6,"std.sin",[[1,[1,[1,[7,"p","y"],"*","freq"],"*",[5,"1.3"]],"+","ph2"]]]],"+",[1,[6,"std.sin",[[1,[1,[1,[7,"p","y"],"*","freq"],"*",[5,"0.8"]],"+",[1,"ph2","*",[5,"1.1"]]]]],"*",[6,"std.sin",[[1,[1,[1,[7,"p","z"],"*","freq"],"*",[5,"1.1"]],"+",[1,"ph1","*",[5,"0.9"]]]]]]]],[13,"dd",[1,[1,[6,"std.length",["p"]],"-","r"],"-",[1,[1,"amp","*","w"],"*",[5,"0.5"]]]],[10,[1,"dd","*","lip"]]]]},externals:{"std.sin":()=>Y,"std.length":()=>j}})&&e.f)({})),nc=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_add(__tsover_sub(z(__tsover_sub(t,r)),o),i),c=__tsover_add(__tsover_sub(z(s),n),i),_=j(l(b(d,0),b(c,0))),u=oe(b(d,c),0);return __tsover_sub(__tsover_add(_,u),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"radialDist"},{type:"i",name:"axialDist"},{type:"i",name:"R"},{type:"i",name:"ht"},{type:"i",name:"hw"},{type:"i",name:"rnd"}],body:[0,[[13,"bx",[1,[1,[6,"std.abs",[[1,"radialDist","-","R"]]],"-","ht"],"+","rnd"]],[13,"by",[1,[1,[6,"std.abs",["axialDist"]],"-","hw"],"+","rnd"]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["bx",[5,"0"]]],[6,"std.max",["by",[5,"0"]]]]]]]],[13,"inner",[6,"std.min",[[6,"std.max",["bx","by"]],[5,"0"]]]],[10,[1,[1,"outer","+","inner"],"-","rnd"]]]]},externals:{"std.abs":()=>z,"std.length":()=>j,"d.vec2f":()=>l,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),gf=v.fn([f,a,a,a,a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p)=>{"use gpu";let y=__tsover_mul(r,.5),h=__tsover_mul(o,.5),g=__tsover_sub(j(t),i),w=__tsover_add(__tsover_mul(t.y,d),__tsover_mul(t.z,c)),S=__tsover_sub(__tsover_mul(t.z,d),__tsover_mul(t.y,c)),T=nc(j(l(t.x,S)),w,s,h,y,n),A=__tsover_sub(__tsover_mul(t.x,_),__tsover_mul(t.z,u)),P=__tsover_add(__tsover_mul(t.z,_),__tsover_mul(t.x,u)),U=nc(j(l(A,t.y)),P,__tsover_mul(s,.78),h,y,n),D=__tsover_add(__tsover_mul(t.x,m),__tsover_mul(t.y,p)),O=nc(j(l(__tsover_sub(__tsover_mul(t.y,m),__tsover_mul(t.x,p)),t.z)),D,__tsover_mul(s,.56),h,y,n);return oe(oe(g,T),oe(U,O))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"radius"},{type:"i",name:"width"},{type:"i",name:"thick"},{type:"i",name:"rnd"},{type:"i",name:"core"},{type:"i",name:"c1"},{type:"i",name:"s1"},{type:"i",name:"c2"},{type:"i",name:"s2"},{type:"i",name:"c3"},{type:"i",name:"s3"}],body:[0,[[13,"hw",[1,"width","*",[5,"0.5"]]],[13,"ht",[1,"thick","*",[5,"0.5"]]],[13,"dCore",[1,[6,"std.length",["p"]],"-","core"]],[13,"p1y",[1,[1,[7,"p","y"],"*","c1"],"+",[1,[7,"p","z"],"*","s1"]]],[13,"p1z",[1,[1,[7,"p","z"],"*","c1"],"-",[1,[7,"p","y"],"*","s1"]]],[13,"d1",[6,"sdFlatBand",[[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],"p1z"]]]],"p1y","radius","ht","hw","rnd"]]],[13,"p2x",[1,[1,[7,"p","x"],"*","c2"],"-",[1,[7,"p","z"],"*","s2"]]],[13,"p2z",[1,[1,[7,"p","z"],"*","c2"],"+",[1,[7,"p","x"],"*","s2"]]],[13,"d2",[6,"sdFlatBand",[[6,"std.length",[[6,"d.vec2f",["p2x",[7,"p","y"]]]]],"p2z",[1,"radius","*",[5,"0.78"]],"ht","hw","rnd"]]],[13,"p3x",[1,[1,[7,"p","x"],"*","c3"],"+",[1,[7,"p","y"],"*","s3"]]],[13,"p3y",[1,[1,[7,"p","y"],"*","c3"],"-",[1,[7,"p","x"],"*","s3"]]],[13,"d3",[6,"sdFlatBand",[[6,"std.length",[[6,"d.vec2f",["p3y",[7,"p","z"]]]]],"p3x",[1,"radius","*",[5,"0.56"]],"ht","hw","rnd"]]],[10,[6,"std.min",[[6,"std.min",["dCore","d1"]],[6,"std.min",["d2","d3"]]]]]]]},externals:{"std.length":()=>j,sdFlatBand:()=>nc,"d.vec2f":()=>l,"std.min":()=>oe}})&&e.f)({})),Hc=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cx:a,sx:a,cy:a,sy:a,cz:a,sz:a}),"RotStruct"),yl=v.fn([f,Hc],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_add(__tsover_mul(t.x,s.cy),__tsover_mul(t.z,s.sy)),o=__tsover_sub(__tsover_mul(t.z,s.cy),__tsover_mul(t.x,s.sy)),n=__tsover_sub(__tsover_mul(t.y,s.cx),__tsover_mul(o,s.sx)),i=__tsover_add(__tsover_mul(t.y,s.sx),__tsover_mul(o,s.cx));return f(__tsover_sub(__tsover_mul(r,s.cz),__tsover_mul(n,s.sz)),__tsover_add(__tsover_mul(r,s.sz),__tsover_mul(n,s.cz)),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"rot"}],body:[0,[[13,"x1",[1,[1,[7,"v","x"],"*",[7,"rot","cy"]],"+",[1,[7,"v","z"],"*",[7,"rot","sy"]]]],[13,"z1",[1,[1,[7,"v","z"],"*",[7,"rot","cy"]],"-",[1,[7,"v","x"],"*",[7,"rot","sy"]]]],[13,"y2",[1,[1,[7,"v","y"],"*",[7,"rot","cx"]],"-",[1,"z1","*",[7,"rot","sx"]]]],[13,"z2",[1,[1,[7,"v","y"],"*",[7,"rot","sx"]],"+",[1,"z1","*",[7,"rot","cx"]]]],[13,"x3",[1,[1,"x1","*",[7,"rot","cz"]],"-",[1,"y2","*",[7,"rot","sz"]]]],[13,"y3",[1,[1,"x1","*",[7,"rot","sz"]],"+",[1,"y2","*",[7,"rot","cz"]]]],[10,[6,"d.vec3f",["x3","y3","z2"]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({}));function oy(e,t="none",s="span"){let r=_o()?64:96,o=_o()?224:384,n=_o()?140:220;return v.fn([l,Hc,a],x)((i=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(i.f=((d,c,_)=>{"use gpu";let u=f(__tsover_sub(d.x,.5),__tsover_sub(.5,d.y),-1.2),m=f(0,0,1),p=yl(u,c),y=yl(m,c),h=Z($(__tsover_mul(_,a(n)),a(r),a(o))),g=se(p,y),w=be(b(__tsover_sub(se(p,p),__tsover_mul(g,g)),0)),S=be(b(__tsover_sub(__tsover_mul(_,_),__tsover_mul(w,w)),0)),T=b(__tsover_sub(__tsover_mul(g,-1),S),0),A=__tsover_add(__tsover_add(__tsover_mul(g,-1),S),.01),P=T,U=T,D=a(10),O=a(0);for(let Q=0;QA)break;U=P,P=__tsover_add(P,b(te,.002))}let L=D,G=a(0),W=a(0),K=__tsover_add(A,.4);if(O>.5){let Q=U,te=P;for(let Te=0;Te<10;Te++){let Ue=__tsover_mul(__tsover_add(Q,te),.5);e(p.add(y.mul(Ue)))>0?Q=Ue:te=Ue}let ee=__tsover_mul(__tsover_add(Q,te),.5),he=ee;if(s==="firstLobe"){let Te=te,Ue=__tsover_add(te,.002);for(let Re=0;Re=0||(Te=Ue,Ue=__tsover_add(Ue,b(__tsover_mul(de,-1),.002)),Ue>A))break}let Me=Te,Pe=Ue;for(let Re=0;Re<10;Re++){let de=__tsover_mul(__tsover_add(Me,Pe),.5);e(p.add(y.mul(de)))<0?Me=de:Pe=de}he=__tsover_mul(__tsover_add(Me,Pe),.5)}if(s==="span"){let Te=p.add(y.mul(A)),Ue=__tsover_add(__tsover_sub(A,T),.01),Me=a(0),Pe=a(0);for(let je=0;jeUe)break;Pe=Me,Me=__tsover_add(Me,b(fe,.002))}let Re=Pe,de=Me;for(let je=0;je<10;je++){let fe=__tsover_mul(__tsover_add(Re,de),.5);e(Te.sub(y.mul(fe)))>0?Re=fe:de=fe}he=__tsover_sub(A,__tsover_mul(__tsover_add(Re,de),.5))}let Ee=__tsover_mul(b(__tsover_sub(he,ee),0),.5);if(L=__tsover_mul(Ee,-1),K=ee,t==="raw"){let Te=p.add(y.mul(ee));G=__tsover_add(Te.x,__tsover_mul(Te.z,.7)),W=__tsover_add(Te.y,__tsover_mul(Te.z,.5))}if(t==="triplanar"){let Te=p.add(y.mul(ee)),Ue=.004,Me=__tsover_sub(e(f(__tsover_add(Te.x,Ue),Te.y,Te.z)),e(f(__tsover_sub(Te.x,Ue),Te.y,Te.z))),Pe=__tsover_sub(e(f(Te.x,__tsover_add(Te.y,Ue),Te.z)),e(f(Te.x,__tsover_sub(Te.y,Ue),Te.z))),Re=__tsover_sub(e(f(Te.x,Te.y,__tsover_add(Te.z,Ue))),e(f(Te.x,Te.y,__tsover_sub(Te.z,Ue)))),de=z(Me),je=z(Pe),fe=z(Re),Ke=l(__tsover_add(Te.y,2.17),__tsover_add(Te.z,5.31)),Ze=l(__tsover_add(Te.z,7.73),__tsover_add(Te.x,1.13)),at=C(l(Te.x,Te.y),Ze,je>=fe),Fe=C(at,C(at,Ke,de>=fe),de>=je);G=Fe.x,W=Fe.y}}return x(L,G,W,K)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fuv"},{type:"i",name:"rot"},{type:"i",name:"rBound"}],body:[0,[[13,"ro0",[6,"d.vec3f",[[1,[7,"fuv","x"],"-",[5,"0.5"]],[1,[5,"0.5"],"-",[7,"fuv","y"]],[4,"-",[5,"1.2"]]]]],[13,"rd0",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"1"]]]],[13,"ro",[6,"rotateVec3",["ro0","rot"]]],[13,"rd",[6,"rotateVec3",["rd0","rot"]]],[13,"steps",[6,"d.i32",[[6,"std.clamp",[[1,"rBound","*",[6,"d.f32",["STEP_SCALE"]]],[6,"d.f32",["STEP_MIN"]],[6,"d.f32",["STEP_MAX"]]]]]]],[13,"b",[6,"std.dot",["ro","rd"]]],[13,"perp",[6,"std.sqrt",[[6,"std.max",[[1,[6,"std.dot",["ro","ro"]],"-",[1,"b","*","b"]],[5,"0"]]]]]],[13,"halfSpan",[6,"std.sqrt",[[6,"std.max",[[1,[1,"rBound","*","rBound"],"-",[1,"perp","*","perp"]],[5,"0"]]]]]],[13,"tStart",[6,"std.max",[[1,[1,"b","*",[4,"-",[5,"1"]]],"-","halfSpan"],[5,"0"]]]],[13,"tEnd",[1,[1,[1,"b","*",[4,"-",[5,"1"]]],"+","halfSpan"],"+",[5,"0.01"]]],[12,"t","tStart"],[12,"tPrev","tStart"],[12,"minD",[6,"d.f32",[[5,"10"]]]],[12,"hit",[6,"d.f32",[[5,"0"]]]],[14,[12,"i",[5,"0"]],[1,"i","<","steps"],[102,"++","i"],[0,[[13,"p",[6,[7,"ro","add"],[[6,[7,"rd","mul"],["t"]]]]],[13,"dd",[6,"sdfFn",["p"]]],[2,"minD","=",[6,"std.min",["minD","dd"]]],[11,[1,"dd","<",[5,"0"]],[0,[[2,"hit","=",[6,"d.f32",[[5,"1"]]]],[17]]]],[11,[1,"t",">","tEnd"],[0,[[17]]]],[2,"tPrev","=","t"],[2,"t","=",[1,"t","+",[6,"std.max",["dd",[5,"0.002"]]]]]]]],[12,"fieldVal","minD"],[12,"patternU",[6,"d.f32",[[5,"0"]]]],[12,"patternV",[6,"d.f32",[[5,"0"]]]],[12,"viewDepth",[1,"tEnd","+",[5,"0.4"]]],[11,[1,"hit",">",[5,"0.5"]],[0,[[12,"eLo","tPrev"],[12,"eHi","t"],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"10"]],[102,"++","i"],[0,[[13,"mid",[1,[1,"eLo","+","eHi"],"*",[5,"0.5"]]],[13,"dm",[6,"sdfFn",[[6,[7,"ro","add"],[[6,[7,"rd","mul"],["mid"]]]]]]],[11,[1,"dm",">",[5,"0"]],[0,[[2,"eLo","=","mid"]]],[0,[[2,"eHi","=","mid"]]]]]]],[13,"tEnter",[1,[1,"eLo","+","eHi"],"*",[5,"0.5"]]],[12,"tExit","tEnter"],[11,[1,"chordMode","===",[103,"firstLobe"]],[0,[[12,"sInPrev","eHi"],[12,"sIn",[1,"eHi","+",[5,"0.002"]]],[14,[12,"i",[5,"0"]],[1,"i","<","steps"],[102,"++","i"],[0,[[13,"dd",[6,"sdfFn",[[6,[7,"ro","add"],[[6,[7,"rd","mul"],["sIn"]]]]]]],[11,[1,"dd",">=",[5,"0"]],[0,[[17]]]],[2,"sInPrev","=","sIn"],[2,"sIn","=",[1,"sIn","+",[6,"std.max",[[1,"dd","*",[4,"-",[5,"1"]]],[5,"0.002"]]]]],[11,[1,"sIn",">","tEnd"],[0,[[17]]]]]]],[12,"fLo","sInPrev"],[12,"fHi","sIn"],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"10"]],[102,"++","i"],[0,[[13,"mid",[1,[1,"fLo","+","fHi"],"*",[5,"0.5"]]],[13,"dm",[6,"sdfFn",[[6,[7,"ro","add"],[[6,[7,"rd","mul"],["mid"]]]]]]],[11,[1,"dm","<",[5,"0"]],[0,[[2,"fLo","=","mid"]]],[0,[[2,"fHi","=","mid"]]]]]]],[2,"tExit","=",[1,[1,"fLo","+","fHi"],"*",[5,"0.5"]]]]]],[11,[1,"chordMode","===",[103,"span"]],[0,[[13,"roB",[6,[7,"ro","add"],[[6,[7,"rd","mul"],["tEnd"]]]]],[13,"span",[1,[1,"tEnd","-","tStart"],"+",[5,"0.01"]]],[12,"s",[6,"d.f32",[[5,"0"]]]],[12,"sPrev",[6,"d.f32",[[5,"0"]]]],[14,[12,"i",[5,"0"]],[1,"i","<","steps"],[102,"++","i"],[0,[[13,"p",[6,[7,"roB","sub"],[[6,[7,"rd","mul"],["s"]]]]],[13,"dd",[6,"sdfFn",["p"]]],[11,[1,"dd","<",[5,"0"]],[0,[[17]]]],[11,[1,"s",">","span"],[0,[[17]]]],[2,"sPrev","=","s"],[2,"s","=",[1,"s","+",[6,"std.max",["dd",[5,"0.002"]]]]]]]],[12,"xLo","sPrev"],[12,"xHi","s"],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"10"]],[102,"++","i"],[0,[[13,"mid",[1,[1,"xLo","+","xHi"],"*",[5,"0.5"]]],[13,"dm",[6,"sdfFn",[[6,[7,"roB","sub"],[[6,[7,"rd","mul"],["mid"]]]]]]],[11,[1,"dm",">",[5,"0"]],[0,[[2,"xLo","=","mid"]]],[0,[[2,"xHi","=","mid"]]]]]]],[2,"tExit","=",[1,"tEnd","-",[1,[1,"xLo","+","xHi"],"*",[5,"0.5"]]]]]]],[13,"halfChord",[1,[6,"std.max",[[1,"tExit","-","tEnter"],[5,"0"]]],"*",[5,"0.5"]]],[2,"fieldVal","=",[1,"halfChord","*",[4,"-",[5,"1"]]]],[2,"viewDepth","=","tEnter"],[11,[1,"patternMode","===",[103,"raw"]],[0,[[13,"hp",[6,[7,"ro","add"],[[6,[7,"rd","mul"],["tEnter"]]]]],[2,"patternU","=",[1,[7,"hp","x"],"+",[1,[7,"hp","z"],"*",[5,"0.7"]]]],[2,"patternV","=",[1,[7,"hp","y"],"+",[1,[7,"hp","z"],"*",[5,"0.5"]]]]]]],[11,[1,"patternMode","===",[103,"triplanar"]],[0,[[13,"hp",[6,[7,"ro","add"],[[6,[7,"rd","mul"],["tEnter"]]]]],[13,"e2",[5,"0.004"]],[13,"nlx",[1,[6,"sdfFn",[[6,"d.vec3f",[[1,[7,"hp","x"],"+","e2"],[7,"hp","y"],[7,"hp","z"]]]]],"-",[6,"sdfFn",[[6,"d.vec3f",[[1,[7,"hp","x"],"-","e2"],[7,"hp","y"],[7,"hp","z"]]]]]]],[13,"nly",[1,[6,"sdfFn",[[6,"d.vec3f",[[7,"hp","x"],[1,[7,"hp","y"],"+","e2"],[7,"hp","z"]]]]],"-",[6,"sdfFn",[[6,"d.vec3f",[[7,"hp","x"],[1,[7,"hp","y"],"-","e2"],[7,"hp","z"]]]]]]],[13,"nlz",[1,[6,"sdfFn",[[6,"d.vec3f",[[7,"hp","x"],[7,"hp","y"],[1,[7,"hp","z"],"+","e2"]]]]],"-",[6,"sdfFn",[[6,"d.vec3f",[[7,"hp","x"],[7,"hp","y"],[1,[7,"hp","z"],"-","e2"]]]]]]],[13,"anx",[6,"std.abs",["nlx"]]],[13,"anyv",[6,"std.abs",["nly"]]],[13,"anz",[6,"std.abs",["nlz"]]],[13,"branch1",[6,"d.vec2f",[[1,[7,"hp","y"],"+",[5,"2.17"]],[1,[7,"hp","z"],"+",[5,"5.31"]]]]],[13,"branch2",[6,"d.vec2f",[[1,[7,"hp","z"],"+",[5,"7.73"]],[1,[7,"hp","x"],"+",[5,"1.13"]]]]],[13,"branch3",[6,"d.vec2f",[[7,"hp","x"],[7,"hp","y"]]]],[13,"branch23",[6,"std.select",["branch3","branch2",[1,"anyv",">=","anz"]]]],[13,"innerPick",[6,"std.select",["branch23","branch1",[1,"anx",">=","anz"]]]],[13,"pattern",[6,"std.select",["branch23","innerPick",[1,"anx",">=","anyv"]]]],[2,"patternU","=",[7,"pattern","x"]],[2,"patternV","=",[7,"pattern","y"]]]]]]]],[10,[6,"d.vec4f",["fieldVal","patternU","patternV","viewDepth"]]]]]},externals:{"d.vec3f":()=>f,rotateVec3:()=>yl,"d.i32":()=>Z,"std.clamp":()=>$,"d.f32":()=>a,STEP_SCALE:()=>n,STEP_MIN:()=>r,STEP_MAX:()=>o,"std.dot":()=>se,"std.sqrt":()=>be,"std.max":()=>b,sdfFn:()=>e,"std.min":()=>oe,chordMode:()=>s,patternMode:()=>t,"std.abs":()=>z,"d.vec2f":()=>l,"std.select":()=>C,"d.vec4f":()=>x}})&&i.f)({})).$name("raymarchedField")}function pG(e,t="none",s="span"){return oy(e,t,s)}var c1="rgba32float",H7=1536;function jc(){return _o()?768:H7}var fG=[256,320,384,512,640,768,896,1024,1280,1536];function j7(e,t,s,r,o,n){if(!(r>0)||!(s>0))return o;let i=_o()?.5:1,d=Math.max(e,t)*s*r*i,c=o;for(let _ of fG){if(_>o)break;if(_>=d){c=_;break}}return n>0&&cn*.78&&(c=Math.min(n,o)),c}var Cn=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({rot:n5(16,a5(32,Hc)),rBound:a,spanX:a,spanY:a,originX:a,originY:a,activeRes:R,pA:a,pB:a,pC:a,pD:a,mb0:f,mb1:f,mb2:f,mb3:f,mb4:f,mb5:f,mb6:f,mb7:f}),"MarchParams");function ny(){return{layout:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({field:{storageTexture:Mo(c1,"write-only")},params:{uniform:Cn}}),"layout"),MarchParams:Cn}}function K7(e,t){return v.fn([R,R])((s=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(s.f=((r,o)=>{"use gpu";let n=e.$.params,i=a(n.activeRes),d=t(l(__tsover_add(n.originX,__tsover_mul(__tsover_div(__tsover_add(a(r),.5),i),n.spanX)),__tsover_add(n.originY,__tsover_mul(__tsover_div(__tsover_add(a(o),.5),i),n.spanY))),n.rot,n.rBound);jr(e.$.field,Ge(r,o),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"p",[7,[7,"layout","$"],"params"]],[13,"activeResF",[6,"d.f32",[[7,"p","activeRes"]]]],[13,"uv",[6,"d.vec2f",[[1,[7,"p","originX"],"+",[1,[1,[1,[6,"d.f32",["cx"]],"+",[5,"0.5"]],"/","activeResF"],"*",[7,"p","spanX"]]],[1,[7,"p","originY"],"+",[1,[1,[1,[6,"d.f32",["cy"]],"+",[5,"0.5"]],"/","activeResF"],"*",[7,"p","spanY"]]]]]],[13,"field",[6,"marchFn",["uv",[7,"p","rot"],[7,"p","rBound"]]]],[6,"std.textureStore",[[7,[7,"layout","$"],"field"],[6,"d.vec2u",["cx","cy"]],"field"]]]]},externals:{layout:()=>e,"d.f32":()=>a,"d.vec2f":()=>l,marchFn:()=>t,"std.textureStore":()=>jr,"d.vec2u":()=>Ge}})&&s.f)({})).$name("volumetricFieldMarch")}var bf=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({originX:a,originY:a,spanX:a,spanY:a,activeResF:a,rBound:a}),"SampleParams");function vG(){let e=(globalThis.__TYPEGPU_AUTONAME__??(s=>s))(v.bindGroupLayout({field:{texture:ps(a),sampleType:"unfilterable-float"},params:{uniform:bf}}),"sampleLayout"),t=v.fn([a,a],x)((s=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(s.f=((r,o)=>{"use gpu";let n=__tsover_sub(e.$.params.activeResF,1),i=R($(r,a(0),n)),d=R($(o,a(0),n));return Be(e.$.field,Ge(i,d),0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"xi"},{type:"i",name:"yi"}],body:[0,[[13,"maxT",[1,[7,[7,[7,"sampleLayout","$"],"params"],"activeResF"],"-",[5,"1"]]],[13,"tx",[6,"d.u32",[[6,"std.clamp",["xi",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"ty",[6,"d.u32",[[6,"std.clamp",["yi",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[10,[6,"std.textureLoad",[[7,[7,"sampleLayout","$"],"field"],[6,"d.vec2u",["tx","ty"]],[5,"0"]]]]]]},externals:{sampleLayout:()=>e,"d.u32":()=>R,"std.clamp":()=>$,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge}})&&s.f)({})).$name("fieldFetchTexel");return{sampleLayout:e,fieldSample:v.fn([l],x)((s=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(s.f=(r=>{"use gpu";let o=e.$.params,n=$(r.x,o.originX,__tsover_add(o.originX,o.spanX)),i=$(r.y,o.originY,__tsover_add(o.originY,o.spanY)),d=j(l(__tsover_sub(r.x,n),__tsover_sub(r.y,i))),c=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(n,o.originX),o.spanX),o.activeResF),.5),_=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(i,o.originY),o.spanY),o.activeResF),.5),u=q(c),m=q(_),p=__tsover_sub(c,u),y=__tsover_sub(_,m),h=__tsover_mul(p,p),g=__tsover_mul(h,p),w=__tsover_sub(__tsover_add(__tsover_mul(g,-.5),h),__tsover_mul(p,.5)),S=__tsover_add(__tsover_sub(__tsover_mul(g,1.5),__tsover_mul(h,2.5)),1),T=__tsover_add(__tsover_add(__tsover_mul(g,-1.5),__tsover_mul(h,2)),__tsover_mul(p,.5)),A=__tsover_sub(__tsover_mul(g,.5),__tsover_mul(h,.5)),P=__tsover_mul(y,y),U=__tsover_mul(P,y),D=__tsover_sub(__tsover_add(__tsover_mul(U,-.5),P),__tsover_mul(y,.5)),O=__tsover_add(__tsover_sub(__tsover_mul(U,1.5),__tsover_mul(P,2.5)),1),L=__tsover_add(__tsover_add(__tsover_mul(U,-1.5),__tsover_mul(P,2)),__tsover_mul(y,.5)),G=__tsover_sub(__tsover_mul(U,.5),__tsover_mul(P,.5)),W=t(__tsover_sub(u,1),__tsover_sub(m,1)),K=t(u,__tsover_sub(m,1)),Q=t(__tsover_add(u,1),__tsover_sub(m,1)),te=t(__tsover_add(u,2),__tsover_sub(m,1)),ee=t(__tsover_sub(u,1),m),he=t(u,m),Ee=t(__tsover_add(u,1),m),Te=t(__tsover_add(u,2),m),Ue=t(__tsover_sub(u,1),__tsover_add(m,1)),Me=t(u,__tsover_add(m,1)),Pe=t(__tsover_add(u,1),__tsover_add(m,1)),Re=t(__tsover_add(u,2),__tsover_add(m,1)),de=t(__tsover_sub(u,1),__tsover_add(m,2)),je=t(u,__tsover_add(m,2)),fe=t(__tsover_add(u,1),__tsover_add(m,2)),Ke=t(__tsover_add(u,2),__tsover_add(m,2)),Ze=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(W.r,w),D),__tsover_mul(__tsover_mul(K.r,S),D)),__tsover_mul(__tsover_mul(Q.r,T),D)),__tsover_mul(__tsover_mul(te.r,A),D)),__tsover_mul(__tsover_mul(ee.r,w),O)),__tsover_mul(__tsover_mul(he.r,S),O)),__tsover_mul(__tsover_mul(Ee.r,T),O)),__tsover_mul(__tsover_mul(Te.r,A),O)),__tsover_mul(__tsover_mul(Ue.r,w),L)),__tsover_mul(__tsover_mul(Me.r,S),L)),__tsover_mul(__tsover_mul(Pe.r,T),L)),__tsover_mul(__tsover_mul(Re.r,A),L)),__tsover_mul(__tsover_mul(de.r,w),G)),__tsover_mul(__tsover_mul(je.r,S),G)),__tsover_mul(__tsover_mul(fe.r,T),G)),__tsover_mul(__tsover_mul(Ke.r,A),G)),at=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(W.a,w),D),__tsover_mul(__tsover_mul(K.a,S),D)),__tsover_mul(__tsover_mul(Q.a,T),D)),__tsover_mul(__tsover_mul(te.a,A),D)),__tsover_mul(__tsover_mul(ee.a,w),O)),__tsover_mul(__tsover_mul(he.a,S),O)),__tsover_mul(__tsover_mul(Ee.a,T),O)),__tsover_mul(__tsover_mul(Te.a,A),O)),__tsover_mul(__tsover_mul(Ue.a,w),L)),__tsover_mul(__tsover_mul(Me.a,S),L)),__tsover_mul(__tsover_mul(Pe.a,T),L)),__tsover_mul(__tsover_mul(Re.a,A),L)),__tsover_mul(__tsover_mul(de.a,w),G)),__tsover_mul(__tsover_mul(je.a,S),G)),__tsover_mul(__tsover_mul(fe.a,T),G)),__tsover_mul(__tsover_mul(Ke.a,A),G)),Fe=X(X(he,Ee,p),X(Me,Pe,p),y),Ie=oe(oe(he.r,Ee.r),oe(Me.r,Pe.r)),st=b(b(he.r,Ee.r),b(Me.r,Pe.r)),Xe=$(at,oe(oe(he.a,Ee.a),oe(Me.a,Pe.a)),b(b(he.a,Ee.a),b(Me.a,Pe.a))),We=__tsover_add($(Ze,Ie,st),d);return x(X(We,b(__tsover_sub(j(l(__tsover_sub(r.x,.5),__tsover_sub(r.y,.5))),o.rBound),We),re(a(0),.25,d)),Fe.g,Fe.b,Xe)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"p",[7,[7,"sampleLayout","$"],"params"]],[13,"uxc",[6,"std.clamp",[[7,"uv","x"],[7,"p","originX"],[1,[7,"p","originX"],"+",[7,"p","spanX"]]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],[7,"p","originY"],[1,[7,"p","originY"],"+",[7,"p","spanY"]]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-",[7,"p","originX"]],"/",[7,"p","spanX"]],"*",[7,"p","activeResF"]],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-",[7,"p","originY"]],"/",[7,"p","spanY"]],"*",[7,"p","activeResF"]],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"tx2",[1,"fx","*","fx"]],[13,"tx3",[1,"tx2","*","fx"]],[13,"wx0",[1,[1,[1,"tx3","*",[4,"-",[5,"0.5"]]],"+","tx2"],"-",[1,"fx","*",[5,"0.5"]]]],[13,"wx1",[1,[1,[1,"tx3","*",[5,"1.5"]],"-",[1,"tx2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wx2",[1,[1,[1,"tx3","*",[4,"-",[5,"1.5"]]],"+",[1,"tx2","*",[5,"2"]]],"+",[1,"fx","*",[5,"0.5"]]]],[13,"wx3",[1,[1,"tx3","*",[5,"0.5"]],"-",[1,"tx2","*",[5,"0.5"]]]],[13,"ty2",[1,"fy","*","fy"]],[13,"ty3",[1,"ty2","*","fy"]],[13,"wy0",[1,[1,[1,"ty3","*",[4,"-",[5,"0.5"]]],"+","ty2"],"-",[1,"fy","*",[5,"0.5"]]]],[13,"wy1",[1,[1,[1,"ty3","*",[5,"1.5"]],"-",[1,"ty2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wy2",[1,[1,[1,"ty3","*",[4,"-",[5,"1.5"]]],"+",[1,"ty2","*",[5,"2"]]],"+",[1,"fy","*",[5,"0.5"]]]],[13,"wy3",[1,[1,"ty3","*",[5,"0.5"]],"-",[1,"ty2","*",[5,"0.5"]]]],[13,"k00",[6,"fetchTexel",[[1,"x0","-",[5,"1"]],[1,"y0","-",[5,"1"]]]]],[13,"k01",[6,"fetchTexel",["x0",[1,"y0","-",[5,"1"]]]]],[13,"k02",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],[1,"y0","-",[5,"1"]]]]],[13,"k03",[6,"fetchTexel",[[1,"x0","+",[5,"2"]],[1,"y0","-",[5,"1"]]]]],[13,"k10",[6,"fetchTexel",[[1,"x0","-",[5,"1"]],"y0"]]],[13,"k11",[6,"fetchTexel",["x0","y0"]]],[13,"k12",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],"y0"]]],[13,"k13",[6,"fetchTexel",[[1,"x0","+",[5,"2"]],"y0"]]],[13,"k20",[6,"fetchTexel",[[1,"x0","-",[5,"1"]],[1,"y0","+",[5,"1"]]]]],[13,"k21",[6,"fetchTexel",["x0",[1,"y0","+",[5,"1"]]]]],[13,"k22",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],[1,"y0","+",[5,"1"]]]]],[13,"k23",[6,"fetchTexel",[[1,"x0","+",[5,"2"]],[1,"y0","+",[5,"1"]]]]],[13,"k30",[6,"fetchTexel",[[1,"x0","-",[5,"1"]],[1,"y0","+",[5,"2"]]]]],[13,"k31",[6,"fetchTexel",["x0",[1,"y0","+",[5,"2"]]]]],[13,"k32",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],[1,"y0","+",[5,"2"]]]]],[13,"k33",[6,"fetchTexel",[[1,"x0","+",[5,"2"]],[1,"y0","+",[5,"2"]]]]],[13,"rAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","r"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","r"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","r"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","r"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","r"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","r"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","r"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","r"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","r"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","r"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","r"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","r"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","r"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","r"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","r"],"*","wx3"],"*","wy3"]]],[13,"aAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","a"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","a"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","a"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","a"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","a"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","a"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","a"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","a"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","a"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","a"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","a"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","a"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","a"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","a"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","a"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","a"],"*","wx3"],"*","wy3"]]],[13,"bl",[6,"std.mix",[[6,"std.mix",["k11","k12","fx"]],[6,"std.mix",["k21","k22","fx"]],"fy"]]],[13,"rMin",[6,"std.min",[[6,"std.min",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.min",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"rMax",[6,"std.max",[[6,"std.max",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.max",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"aMin",[6,"std.min",[[6,"std.min",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.min",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aMax",[6,"std.max",[[6,"std.max",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.max",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aOut",[6,"std.clamp",["aAcc","aMin","aMax"]]],[13,"rNear",[1,[6,"std.clamp",["rAcc","rMin","rMax"]],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-",[7,"p","rBound"]]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"bl","g"],[7,"bl","b"],"aOut"]]]]]},externals:{sampleLayout:()=>e,"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,fetchTexel:()=>t,"std.mix":()=>X,"std.min":()=>oe,"std.max":()=>b,"std.smoothstep":()=>re,"d.f32":()=>a,"d.vec4f":()=>x}})&&s.f)({})).$name("fieldSample"),fieldSampleFast:v.fn([l],x)((s=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(s.f=(r=>{"use gpu";let o=e.$.params,n=$(r.x,o.originX,__tsover_add(o.originX,o.spanX)),i=$(r.y,o.originY,__tsover_add(o.originY,o.spanY)),d=j(l(__tsover_sub(r.x,n),__tsover_sub(r.y,i))),c=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(n,o.originX),o.spanX),o.activeResF),.5),_=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(i,o.originY),o.spanY),o.activeResF),.5),u=q(c),m=q(_),p=__tsover_sub(c,u),y=__tsover_sub(_,m),h=t(u,m),g=t(__tsover_add(u,1),m),w=t(u,__tsover_add(m,1)),S=t(__tsover_add(u,1),__tsover_add(m,1)),T=X(X(h,g,p),X(w,S,p),y),A=__tsover_add(T.r,d);return x(X(A,b(__tsover_sub(j(l(__tsover_sub(r.x,.5),__tsover_sub(r.y,.5))),o.rBound),A),re(a(0),.25,d)),T.g,T.b,T.a)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"p",[7,[7,"sampleLayout","$"],"params"]],[13,"uxc",[6,"std.clamp",[[7,"uv","x"],[7,"p","originX"],[1,[7,"p","originX"],"+",[7,"p","spanX"]]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],[7,"p","originY"],[1,[7,"p","originY"],"+",[7,"p","spanY"]]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-",[7,"p","originX"]],"/",[7,"p","spanX"]],"*",[7,"p","activeResF"]],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-",[7,"p","originY"]],"/",[7,"p","spanY"]],"*",[7,"p","activeResF"]],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"t00",[6,"fetchTexel",["x0","y0"]]],[13,"t10",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],"y0"]]],[13,"t01",[6,"fetchTexel",["x0",[1,"y0","+",[5,"1"]]]]],[13,"t11",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],[1,"y0","+",[5,"1"]]]]],[13,"bl",[6,"std.mix",[[6,"std.mix",["t00","t10","fx"]],[6,"std.mix",["t01","t11","fx"]],"fy"]]],[13,"rNear",[1,[7,"bl","r"],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-",[7,"p","rBound"]]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"bl","g"],[7,"bl","b"],[7,"bl","a"]]]]]]},externals:{sampleLayout:()=>e,"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,fetchTexel:()=>t,"std.mix":()=>X,"std.max":()=>b,"std.smoothstep":()=>re,"d.f32":()=>a,"d.vec4f":()=>x}})&&s.f)({})).$name("fieldSampleFast"),SampleParams:bf}}function Z7(e,t,s,r,o={}){let n=jc(),i=(globalThis.__TYPEGPU_AUTONAME__??(m=>m))(e.createTexture({size:[n,n],format:c1}).$usage("storage","sampled"),"fieldTexture"),d=o.paramsUniform??e.createUniform(Cn);r(()=>i.destroy());let c=e.createBindGroup(t,{field:i,params:d.buffer,...o.sdfSourceTexture?{sdfSource:o.sdfSourceTexture}:{}}),_=qp(e,(m=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(m.f=((p,y)=>{"use gpu";s(p,y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[6,"kernel",["cx","cy"]]]]},externals:{kernel:()=>s}})&&m.f)({}),{bindGroup:c});for(let m of o.extraBindGroups??[])_=_.with(m);let u=n;return{computeStep:_,fieldTexture:i,maxRes:n,get activeRes(){return u},writeParams(m){d.write(m)},dispatch(m){u=m,_.dispatchThreads(m,m)}}}function Q7(){return{layout:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({field:{storageTexture:Mo(c1,"write-only")},params:{uniform:Cn},sdfSource:{texture:ps(a)}}),"layout"),MarchParams:Cn}}function ay(){return{fieldSampleArg:v.fn([l,ps(a),a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=$(t.x,r,__tsover_add(r,n)),u=$(t.y,o,__tsover_add(o,i)),m=j(l(__tsover_sub(t.x,_),__tsover_sub(t.y,u))),p=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(_,r),n),d),.5),y=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(u,o),i),d),.5),h=q(p),g=q(y),w=__tsover_sub(p,h),S=__tsover_sub(y,g),T=__tsover_mul(w,w),A=__tsover_mul(T,w),P=__tsover_sub(__tsover_add(__tsover_mul(A,-.5),T),__tsover_mul(w,.5)),U=__tsover_add(__tsover_sub(__tsover_mul(A,1.5),__tsover_mul(T,2.5)),1),D=__tsover_add(__tsover_add(__tsover_mul(A,-1.5),__tsover_mul(T,2)),__tsover_mul(w,.5)),O=__tsover_sub(__tsover_mul(A,.5),__tsover_mul(T,.5)),L=__tsover_mul(S,S),G=__tsover_mul(L,S),W=__tsover_sub(__tsover_add(__tsover_mul(G,-.5),L),__tsover_mul(S,.5)),K=__tsover_add(__tsover_sub(__tsover_mul(G,1.5),__tsover_mul(L,2.5)),1),Q=__tsover_add(__tsover_add(__tsover_mul(G,-1.5),__tsover_mul(L,2)),__tsover_mul(S,.5)),te=__tsover_sub(__tsover_mul(G,.5),__tsover_mul(L,.5)),ee=__tsover_sub(d,1),he=R($(__tsover_sub(h,1),a(0),ee)),Ee=R($(h,a(0),ee)),Te=R($(__tsover_add(h,1),a(0),ee)),Ue=R($(__tsover_add(h,2),a(0),ee)),Me=R($(__tsover_sub(g,1),a(0),ee)),Pe=R($(g,a(0),ee)),Re=R($(__tsover_add(g,1),a(0),ee)),de=R($(__tsover_add(g,2),a(0),ee)),je=Be(s,Ge(he,Me),0),fe=Be(s,Ge(Ee,Me),0),Ke=Be(s,Ge(Te,Me),0),Ze=Be(s,Ge(Ue,Me),0),at=Be(s,Ge(he,Pe),0),Fe=Be(s,Ge(Ee,Pe),0),Ie=Be(s,Ge(Te,Pe),0),st=Be(s,Ge(Ue,Pe),0),Xe=Be(s,Ge(he,Re),0),We=Be(s,Ge(Ee,Re),0),Ve=Be(s,Ge(Te,Re),0),Ft=Be(s,Ge(Ue,Re),0),Gt=Be(s,Ge(he,de),0),os=Be(s,Ge(Ee,de),0),bs=Be(s,Ge(Te,de),0),ls=Be(s,Ge(Ue,de),0),As=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(je.r,P),W),__tsover_mul(__tsover_mul(fe.r,U),W)),__tsover_mul(__tsover_mul(Ke.r,D),W)),__tsover_mul(__tsover_mul(Ze.r,O),W)),__tsover_mul(__tsover_mul(at.r,P),K)),__tsover_mul(__tsover_mul(Fe.r,U),K)),__tsover_mul(__tsover_mul(Ie.r,D),K)),__tsover_mul(__tsover_mul(st.r,O),K)),__tsover_mul(__tsover_mul(Xe.r,P),Q)),__tsover_mul(__tsover_mul(We.r,U),Q)),__tsover_mul(__tsover_mul(Ve.r,D),Q)),__tsover_mul(__tsover_mul(Ft.r,O),Q)),__tsover_mul(__tsover_mul(Gt.r,P),te)),__tsover_mul(__tsover_mul(os.r,U),te)),__tsover_mul(__tsover_mul(bs.r,D),te)),__tsover_mul(__tsover_mul(ls.r,O),te)),vs=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(je.a,P),W),__tsover_mul(__tsover_mul(fe.a,U),W)),__tsover_mul(__tsover_mul(Ke.a,D),W)),__tsover_mul(__tsover_mul(Ze.a,O),W)),__tsover_mul(__tsover_mul(at.a,P),K)),__tsover_mul(__tsover_mul(Fe.a,U),K)),__tsover_mul(__tsover_mul(Ie.a,D),K)),__tsover_mul(__tsover_mul(st.a,O),K)),__tsover_mul(__tsover_mul(Xe.a,P),Q)),__tsover_mul(__tsover_mul(We.a,U),Q)),__tsover_mul(__tsover_mul(Ve.a,D),Q)),__tsover_mul(__tsover_mul(Ft.a,O),Q)),__tsover_mul(__tsover_mul(Gt.a,P),te)),__tsover_mul(__tsover_mul(os.a,U),te)),__tsover_mul(__tsover_mul(bs.a,D),te)),__tsover_mul(__tsover_mul(ls.a,O),te)),ys=X(X(Fe,Ie,w),X(We,Ve,w),S),Ks=oe(oe(Fe.r,Ie.r),oe(We.r,Ve.r)),yr=b(b(Fe.r,Ie.r),b(We.r,Ve.r)),Ur=$(vs,oe(oe(Fe.a,Ie.a),oe(We.a,Ve.a)),b(b(Fe.a,Ie.a),b(We.a,Ve.a))),Ms=__tsover_add($(As,Ks,yr),m);return x(X(Ms,b(__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),c),Ms),re(a(0),.25,m)),ys.g,ys.b,Ur)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"field"},{type:"i",name:"originX"},{type:"i",name:"originY"},{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"},{type:"i",name:"rBound"}],body:[0,[[13,"uxc",[6,"std.clamp",[[7,"uv","x"],"originX",[1,"originX","+","spanX"]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],"originY",[1,"originY","+","spanY"]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-","originX"],"/","spanX"],"*","activeResF"],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-","originY"],"/","spanY"],"*","activeResF"],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"tx2",[1,"fx","*","fx"]],[13,"tx3",[1,"tx2","*","fx"]],[13,"wx0",[1,[1,[1,"tx3","*",[4,"-",[5,"0.5"]]],"+","tx2"],"-",[1,"fx","*",[5,"0.5"]]]],[13,"wx1",[1,[1,[1,"tx3","*",[5,"1.5"]],"-",[1,"tx2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wx2",[1,[1,[1,"tx3","*",[4,"-",[5,"1.5"]]],"+",[1,"tx2","*",[5,"2"]]],"+",[1,"fx","*",[5,"0.5"]]]],[13,"wx3",[1,[1,"tx3","*",[5,"0.5"]],"-",[1,"tx2","*",[5,"0.5"]]]],[13,"ty2",[1,"fy","*","fy"]],[13,"ty3",[1,"ty2","*","fy"]],[13,"wy0",[1,[1,[1,"ty3","*",[4,"-",[5,"0.5"]]],"+","ty2"],"-",[1,"fy","*",[5,"0.5"]]]],[13,"wy1",[1,[1,[1,"ty3","*",[5,"1.5"]],"-",[1,"ty2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wy2",[1,[1,[1,"ty3","*",[4,"-",[5,"1.5"]]],"+",[1,"ty2","*",[5,"2"]]],"+",[1,"fy","*",[5,"0.5"]]]],[13,"wy3",[1,[1,"ty3","*",[5,"0.5"]],"-",[1,"ty2","*",[5,"0.5"]]]],[13,"maxT",[1,"activeResF","-",[5,"1"]]],[13,"cxm",[6,"d.u32",[[6,"std.clamp",[[1,"x0","-",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx0",[6,"d.u32",[[6,"std.clamp",["x0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx1",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx2",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"2"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cym",[6,"d.u32",[[6,"std.clamp",[[1,"y0","-",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy0",[6,"d.u32",[[6,"std.clamp",["y0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy1",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy2",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"2"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"k00",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cym"]],[5,"0"]]]],[13,"k01",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cym"]],[5,"0"]]]],[13,"k02",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cym"]],[5,"0"]]]],[13,"k03",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cym"]],[5,"0"]]]],[13,"k10",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy0"]],[5,"0"]]]],[13,"k11",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy0"]],[5,"0"]]]],[13,"k12",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy0"]],[5,"0"]]]],[13,"k13",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy0"]],[5,"0"]]]],[13,"k20",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy1"]],[5,"0"]]]],[13,"k21",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy1"]],[5,"0"]]]],[13,"k22",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy1"]],[5,"0"]]]],[13,"k23",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy1"]],[5,"0"]]]],[13,"k30",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy2"]],[5,"0"]]]],[13,"k31",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy2"]],[5,"0"]]]],[13,"k32",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy2"]],[5,"0"]]]],[13,"k33",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy2"]],[5,"0"]]]],[13,"rAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","r"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","r"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","r"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","r"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","r"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","r"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","r"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","r"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","r"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","r"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","r"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","r"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","r"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","r"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","r"],"*","wx3"],"*","wy3"]]],[13,"aAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","a"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","a"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","a"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","a"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","a"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","a"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","a"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","a"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","a"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","a"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","a"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","a"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","a"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","a"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","a"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","a"],"*","wx3"],"*","wy3"]]],[13,"bl",[6,"std.mix",[[6,"std.mix",["k11","k12","fx"]],[6,"std.mix",["k21","k22","fx"]],"fy"]]],[13,"rMin",[6,"std.min",[[6,"std.min",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.min",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"rMax",[6,"std.max",[[6,"std.max",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.max",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"aMin",[6,"std.min",[[6,"std.min",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.min",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aMax",[6,"std.max",[[6,"std.max",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.max",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aOut",[6,"std.clamp",["aAcc","aMin","aMax"]]],[13,"rNear",[1,[6,"std.clamp",["rAcc","rMin","rMax"]],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-","rBound"]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"bl","g"],[7,"bl","b"],"aOut"]]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,"d.u32":()=>R,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.mix":()=>X,"std.min":()=>oe,"std.max":()=>b,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({})).$name("fieldSampleArg"),fieldSampleGradArg:v.fn([l,ps(a),a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=$(t.x,r,__tsover_add(r,n)),u=$(t.y,o,__tsover_add(o,i)),m=j(l(__tsover_sub(t.x,_),__tsover_sub(t.y,u))),p=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(_,r),n),d),.5),y=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(u,o),i),d),.5),h=q(p),g=q(y),w=__tsover_sub(p,h),S=__tsover_sub(y,g),T=__tsover_mul(w,w),A=__tsover_mul(T,w),P=__tsover_sub(__tsover_add(__tsover_mul(A,-.5),T),__tsover_mul(w,.5)),U=__tsover_add(__tsover_sub(__tsover_mul(A,1.5),__tsover_mul(T,2.5)),1),D=__tsover_add(__tsover_add(__tsover_mul(A,-1.5),__tsover_mul(T,2)),__tsover_mul(w,.5)),O=__tsover_sub(__tsover_mul(A,.5),__tsover_mul(T,.5)),L=__tsover_mul(S,S),G=__tsover_mul(L,S),W=__tsover_sub(__tsover_add(__tsover_mul(G,-.5),L),__tsover_mul(S,.5)),K=__tsover_add(__tsover_sub(__tsover_mul(G,1.5),__tsover_mul(L,2.5)),1),Q=__tsover_add(__tsover_add(__tsover_mul(G,-1.5),__tsover_mul(L,2)),__tsover_mul(S,.5)),te=__tsover_sub(__tsover_mul(G,.5),__tsover_mul(L,.5)),ee=__tsover_sub(1,w),he=__tsover_mul(__tsover_mul(__tsover_mul(ee,ee),ee),.16666667),Ee=__tsover_add(__tsover_sub(__tsover_mul(A,.5),T),.66666667),Te=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(A,-.5),__tsover_mul(T,.5)),__tsover_mul(w,.5)),.16666667),Ue=__tsover_mul(A,.16666667),Me=__tsover_mul(__tsover_mul(ee,ee),-.5),Pe=__tsover_sub(__tsover_mul(T,1.5),__tsover_mul(w,2)),Re=__tsover_add(__tsover_add(__tsover_mul(T,-1.5),w),.5),de=__tsover_mul(T,.5),je=__tsover_sub(1,S),fe=__tsover_mul(__tsover_mul(__tsover_mul(je,je),je),.16666667),Ke=__tsover_add(__tsover_sub(__tsover_mul(G,.5),L),.66666667),Ze=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(G,-.5),__tsover_mul(L,.5)),__tsover_mul(S,.5)),.16666667),at=__tsover_mul(G,.16666667),Fe=__tsover_mul(__tsover_mul(je,je),-.5),Ie=__tsover_sub(__tsover_mul(L,1.5),__tsover_mul(S,2)),st=__tsover_add(__tsover_add(__tsover_mul(L,-1.5),S),.5),Xe=__tsover_mul(L,.5),We=__tsover_sub(d,1),Ve=R($(__tsover_sub(h,1),a(0),We)),Ft=R($(h,a(0),We)),Gt=R($(__tsover_add(h,1),a(0),We)),os=R($(__tsover_add(h,2),a(0),We)),bs=R($(__tsover_sub(g,1),a(0),We)),ls=R($(g,a(0),We)),As=R($(__tsover_add(g,1),a(0),We)),vs=R($(__tsover_add(g,2),a(0),We)),ys=Be(s,Ge(Ve,bs),0),Ks=Be(s,Ge(Ft,bs),0),yr=Be(s,Ge(Gt,bs),0),Ur=Be(s,Ge(os,bs),0),Ms=Be(s,Ge(Ve,ls),0),Cr=Be(s,Ge(Ft,ls),0),hr=Be(s,Ge(Gt,ls),0),mo=Be(s,Ge(os,ls),0),po=Be(s,Ge(Ve,As),0),Rr=Be(s,Ge(Ft,As),0),nr=Be(s,Ge(Gt,As),0),zr=Be(s,Ge(os,As),0),Ps=Be(s,Ge(Ve,vs),0),Gr=Be(s,Ge(Ft,vs),0),Vo=Be(s,Ge(Gt,vs),0),Qr=Be(s,Ge(os,vs),0),ci=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(ys.r,P),W),__tsover_mul(__tsover_mul(Ks.r,U),W)),__tsover_mul(__tsover_mul(yr.r,D),W)),__tsover_mul(__tsover_mul(Ur.r,O),W)),__tsover_mul(__tsover_mul(Ms.r,P),K)),__tsover_mul(__tsover_mul(Cr.r,U),K)),__tsover_mul(__tsover_mul(hr.r,D),K)),__tsover_mul(__tsover_mul(mo.r,O),K)),__tsover_mul(__tsover_mul(po.r,P),Q)),__tsover_mul(__tsover_mul(Rr.r,U),Q)),__tsover_mul(__tsover_mul(nr.r,D),Q)),__tsover_mul(__tsover_mul(zr.r,O),Q)),__tsover_mul(__tsover_mul(Ps.r,P),te)),__tsover_mul(__tsover_mul(Gr.r,U),te)),__tsover_mul(__tsover_mul(Vo.r,D),te)),__tsover_mul(__tsover_mul(Qr.r,O),te)),ba=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(ys.a,P),W),__tsover_mul(__tsover_mul(Ks.a,U),W)),__tsover_mul(__tsover_mul(yr.a,D),W)),__tsover_mul(__tsover_mul(Ur.a,O),W)),__tsover_mul(__tsover_mul(Ms.a,P),K)),__tsover_mul(__tsover_mul(Cr.a,U),K)),__tsover_mul(__tsover_mul(hr.a,D),K)),__tsover_mul(__tsover_mul(mo.a,O),K)),__tsover_mul(__tsover_mul(po.a,P),Q)),__tsover_mul(__tsover_mul(Rr.a,U),Q)),__tsover_mul(__tsover_mul(nr.a,D),Q)),__tsover_mul(__tsover_mul(zr.a,O),Q)),__tsover_mul(__tsover_mul(Ps.a,P),te)),__tsover_mul(__tsover_mul(Gr.a,U),te)),__tsover_mul(__tsover_mul(Vo.a,D),te)),__tsover_mul(__tsover_mul(Qr.a,O),te)),_i=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(ys.r,Me),fe),__tsover_mul(__tsover_mul(Ks.r,Pe),fe)),__tsover_mul(__tsover_mul(yr.r,Re),fe)),__tsover_mul(__tsover_mul(Ur.r,de),fe)),__tsover_mul(__tsover_mul(Ms.r,Me),Ke)),__tsover_mul(__tsover_mul(Cr.r,Pe),Ke)),__tsover_mul(__tsover_mul(hr.r,Re),Ke)),__tsover_mul(__tsover_mul(mo.r,de),Ke)),__tsover_mul(__tsover_mul(po.r,Me),Ze)),__tsover_mul(__tsover_mul(Rr.r,Pe),Ze)),__tsover_mul(__tsover_mul(nr.r,Re),Ze)),__tsover_mul(__tsover_mul(zr.r,de),Ze)),__tsover_mul(__tsover_mul(Ps.r,Me),at)),__tsover_mul(__tsover_mul(Gr.r,Pe),at)),__tsover_mul(__tsover_mul(Vo.r,Re),at)),__tsover_mul(__tsover_mul(Qr.r,de),at)),li=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(ys.r,he),Fe),__tsover_mul(__tsover_mul(Ks.r,Ee),Fe)),__tsover_mul(__tsover_mul(yr.r,Te),Fe)),__tsover_mul(__tsover_mul(Ur.r,Ue),Fe)),__tsover_mul(__tsover_mul(Ms.r,he),Ie)),__tsover_mul(__tsover_mul(Cr.r,Ee),Ie)),__tsover_mul(__tsover_mul(hr.r,Te),Ie)),__tsover_mul(__tsover_mul(mo.r,Ue),Ie)),__tsover_mul(__tsover_mul(po.r,he),st)),__tsover_mul(__tsover_mul(Rr.r,Ee),st)),__tsover_mul(__tsover_mul(nr.r,Te),st)),__tsover_mul(__tsover_mul(zr.r,Ue),st)),__tsover_mul(__tsover_mul(Ps.r,he),Xe)),__tsover_mul(__tsover_mul(Gr.r,Ee),Xe)),__tsover_mul(__tsover_mul(Vo.r,Te),Xe)),__tsover_mul(__tsover_mul(Qr.r,Ue),Xe)),F=oe(oe(Cr.r,hr.r),oe(Rr.r,nr.r)),le=b(b(Cr.r,hr.r),b(Rr.r,nr.r)),ae=$(ba,oe(oe(Cr.a,hr.a),oe(Rr.a,nr.a)),b(b(Cr.a,hr.a),b(Rr.a,nr.a))),ne=__tsover_add(__tsover_mul(__tsover_sub(le,F),.3),1e-6),ie=$(__tsover_add(__tsover_mul(__tsover_div(__tsover_sub(le,ci),ne),.5),.5),0,1),ge=__tsover_sub(X(le,ci,ie),__tsover_mul(__tsover_mul(ne,ie),__tsover_sub(1,ie))),Ye=$(__tsover_add(__tsover_mul(__tsover_div(__tsover_sub(ge,F),ne),.5),.5),0,1),Je=__tsover_add(X(F,ge,Ye),__tsover_mul(__tsover_mul(ne,Ye),__tsover_sub(1,Ye))),rt=__tsover_add(Je,m),He=X(rt,b(__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),c),rt),re(a(0),.25,m)),Bt=C(a(0),a(1),z(__tsover_sub(t.x,_))<1e-7),Yt=C(a(0),a(1),z(__tsover_sub(t.y,u))<1e-7),Ls=__tsover_div(1,b(m,1e-5));return x(He,__tsover_add(__tsover_mul(__tsover_mul(_i,__tsover_div(d,n)),Bt),__tsover_mul(__tsover_sub(t.x,_),Ls)),__tsover_add(__tsover_mul(__tsover_mul(li,__tsover_div(d,i)),Yt),__tsover_mul(__tsover_sub(t.y,u),Ls)),ae)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"field"},{type:"i",name:"originX"},{type:"i",name:"originY"},{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"},{type:"i",name:"rBound"}],body:[0,[[13,"uxc",[6,"std.clamp",[[7,"uv","x"],"originX",[1,"originX","+","spanX"]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],"originY",[1,"originY","+","spanY"]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-","originX"],"/","spanX"],"*","activeResF"],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-","originY"],"/","spanY"],"*","activeResF"],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"tx2",[1,"fx","*","fx"]],[13,"tx3",[1,"tx2","*","fx"]],[13,"wx0",[1,[1,[1,"tx3","*",[4,"-",[5,"0.5"]]],"+","tx2"],"-",[1,"fx","*",[5,"0.5"]]]],[13,"wx1",[1,[1,[1,"tx3","*",[5,"1.5"]],"-",[1,"tx2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wx2",[1,[1,[1,"tx3","*",[4,"-",[5,"1.5"]]],"+",[1,"tx2","*",[5,"2"]]],"+",[1,"fx","*",[5,"0.5"]]]],[13,"wx3",[1,[1,"tx3","*",[5,"0.5"]],"-",[1,"tx2","*",[5,"0.5"]]]],[13,"ty2",[1,"fy","*","fy"]],[13,"ty3",[1,"ty2","*","fy"]],[13,"wy0",[1,[1,[1,"ty3","*",[4,"-",[5,"0.5"]]],"+","ty2"],"-",[1,"fy","*",[5,"0.5"]]]],[13,"wy1",[1,[1,[1,"ty3","*",[5,"1.5"]],"-",[1,"ty2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wy2",[1,[1,[1,"ty3","*",[4,"-",[5,"1.5"]]],"+",[1,"ty2","*",[5,"2"]]],"+",[1,"fy","*",[5,"0.5"]]]],[13,"wy3",[1,[1,"ty3","*",[5,"0.5"]],"-",[1,"ty2","*",[5,"0.5"]]]],[13,"oxf",[1,[5,"1"],"-","fx"]],[13,"bx0",[1,[1,[1,"oxf","*","oxf"],"*","oxf"],"*",[5,"0.16666667"]]],[13,"bx1",[1,[1,[1,"tx3","*",[5,"0.5"]],"-","tx2"],"+",[5,"0.66666667"]]],[13,"bx2",[1,[1,[1,[1,"tx3","*",[4,"-",[5,"0.5"]]],"+",[1,"tx2","*",[5,"0.5"]]],"+",[1,"fx","*",[5,"0.5"]]],"+",[5,"0.16666667"]]],[13,"bx3",[1,"tx3","*",[5,"0.16666667"]]],[13,"dbx0",[1,[1,"oxf","*","oxf"],"*",[4,"-",[5,"0.5"]]]],[13,"dbx1",[1,[1,"tx2","*",[5,"1.5"]],"-",[1,"fx","*",[5,"2"]]]],[13,"dbx2",[1,[1,[1,"tx2","*",[4,"-",[5,"1.5"]]],"+","fx"],"+",[5,"0.5"]]],[13,"dbx3",[1,"tx2","*",[5,"0.5"]]],[13,"oyf",[1,[5,"1"],"-","fy"]],[13,"by0",[1,[1,[1,"oyf","*","oyf"],"*","oyf"],"*",[5,"0.16666667"]]],[13,"by1",[1,[1,[1,"ty3","*",[5,"0.5"]],"-","ty2"],"+",[5,"0.66666667"]]],[13,"by2",[1,[1,[1,[1,"ty3","*",[4,"-",[5,"0.5"]]],"+",[1,"ty2","*",[5,"0.5"]]],"+",[1,"fy","*",[5,"0.5"]]],"+",[5,"0.16666667"]]],[13,"by3",[1,"ty3","*",[5,"0.16666667"]]],[13,"dby0",[1,[1,"oyf","*","oyf"],"*",[4,"-",[5,"0.5"]]]],[13,"dby1",[1,[1,"ty2","*",[5,"1.5"]],"-",[1,"fy","*",[5,"2"]]]],[13,"dby2",[1,[1,[1,"ty2","*",[4,"-",[5,"1.5"]]],"+","fy"],"+",[5,"0.5"]]],[13,"dby3",[1,"ty2","*",[5,"0.5"]]],[13,"maxT",[1,"activeResF","-",[5,"1"]]],[13,"cxm",[6,"d.u32",[[6,"std.clamp",[[1,"x0","-",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx0",[6,"d.u32",[[6,"std.clamp",["x0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx1",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx2",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"2"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cym",[6,"d.u32",[[6,"std.clamp",[[1,"y0","-",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy0",[6,"d.u32",[[6,"std.clamp",["y0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy1",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy2",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"2"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"k00",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cym"]],[5,"0"]]]],[13,"k01",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cym"]],[5,"0"]]]],[13,"k02",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cym"]],[5,"0"]]]],[13,"k03",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cym"]],[5,"0"]]]],[13,"k10",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy0"]],[5,"0"]]]],[13,"k11",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy0"]],[5,"0"]]]],[13,"k12",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy0"]],[5,"0"]]]],[13,"k13",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy0"]],[5,"0"]]]],[13,"k20",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy1"]],[5,"0"]]]],[13,"k21",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy1"]],[5,"0"]]]],[13,"k22",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy1"]],[5,"0"]]]],[13,"k23",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy1"]],[5,"0"]]]],[13,"k30",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy2"]],[5,"0"]]]],[13,"k31",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy2"]],[5,"0"]]]],[13,"k32",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy2"]],[5,"0"]]]],[13,"k33",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy2"]],[5,"0"]]]],[13,"rAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","r"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","r"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","r"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","r"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","r"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","r"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","r"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","r"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","r"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","r"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","r"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","r"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","r"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","r"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","r"],"*","wx3"],"*","wy3"]]],[13,"aAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","a"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","a"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","a"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","a"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","a"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","a"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","a"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","a"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","a"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","a"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","a"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","a"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","a"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","a"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","a"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","a"],"*","wx3"],"*","wy3"]]],[13,"drdpx",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","dbx0"],"*","by0"],"+",[1,[1,[7,"k01","r"],"*","dbx1"],"*","by0"]],"+",[1,[1,[7,"k02","r"],"*","dbx2"],"*","by0"]],"+",[1,[1,[7,"k03","r"],"*","dbx3"],"*","by0"]],"+",[1,[1,[7,"k10","r"],"*","dbx0"],"*","by1"]],"+",[1,[1,[7,"k11","r"],"*","dbx1"],"*","by1"]],"+",[1,[1,[7,"k12","r"],"*","dbx2"],"*","by1"]],"+",[1,[1,[7,"k13","r"],"*","dbx3"],"*","by1"]],"+",[1,[1,[7,"k20","r"],"*","dbx0"],"*","by2"]],"+",[1,[1,[7,"k21","r"],"*","dbx1"],"*","by2"]],"+",[1,[1,[7,"k22","r"],"*","dbx2"],"*","by2"]],"+",[1,[1,[7,"k23","r"],"*","dbx3"],"*","by2"]],"+",[1,[1,[7,"k30","r"],"*","dbx0"],"*","by3"]],"+",[1,[1,[7,"k31","r"],"*","dbx1"],"*","by3"]],"+",[1,[1,[7,"k32","r"],"*","dbx2"],"*","by3"]],"+",[1,[1,[7,"k33","r"],"*","dbx3"],"*","by3"]]],[13,"drdpy",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","bx0"],"*","dby0"],"+",[1,[1,[7,"k01","r"],"*","bx1"],"*","dby0"]],"+",[1,[1,[7,"k02","r"],"*","bx2"],"*","dby0"]],"+",[1,[1,[7,"k03","r"],"*","bx3"],"*","dby0"]],"+",[1,[1,[7,"k10","r"],"*","bx0"],"*","dby1"]],"+",[1,[1,[7,"k11","r"],"*","bx1"],"*","dby1"]],"+",[1,[1,[7,"k12","r"],"*","bx2"],"*","dby1"]],"+",[1,[1,[7,"k13","r"],"*","bx3"],"*","dby1"]],"+",[1,[1,[7,"k20","r"],"*","bx0"],"*","dby2"]],"+",[1,[1,[7,"k21","r"],"*","bx1"],"*","dby2"]],"+",[1,[1,[7,"k22","r"],"*","bx2"],"*","dby2"]],"+",[1,[1,[7,"k23","r"],"*","bx3"],"*","dby2"]],"+",[1,[1,[7,"k30","r"],"*","bx0"],"*","dby3"]],"+",[1,[1,[7,"k31","r"],"*","bx1"],"*","dby3"]],"+",[1,[1,[7,"k32","r"],"*","bx2"],"*","dby3"]],"+",[1,[1,[7,"k33","r"],"*","bx3"],"*","dby3"]]],[13,"rMin",[6,"std.min",[[6,"std.min",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.min",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"rMax",[6,"std.max",[[6,"std.max",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.max",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"aMin",[6,"std.min",[[6,"std.min",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.min",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aMax",[6,"std.max",[[6,"std.max",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.max",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aOut",[6,"std.clamp",["aAcc","aMin","aMax"]]],[13,"kSoft",[1,[1,[1,"rMax","-","rMin"],"*",[5,"0.3"]],"+",[5,"0.000001"]]],[13,"hCap",[6,"std.clamp",[[1,[1,[1,[1,"rMax","-","rAcc"],"/","kSoft"],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[13,"rCap",[1,[6,"std.mix",["rMax","rAcc","hCap"]],"-",[1,[1,"kSoft","*","hCap"],"*",[1,[5,"1"],"-","hCap"]]]],[13,"hFlr",[6,"std.clamp",[[1,[1,[1,[1,"rCap","-","rMin"],"/","kSoft"],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[13,"rSoft",[1,[6,"std.mix",["rMin","rCap","hFlr"]],"+",[1,[1,"kSoft","*","hFlr"],"*",[1,[5,"1"],"-","hFlr"]]]],[13,"rNear",[1,"rSoft","+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-","rBound"]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[13,"insideX",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,[6,"std.abs",[[1,[7,"uv","x"],"-","uxc"]]],"<",[5,"1e-7"]]]]],[13,"insideY",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,[6,"std.abs",[[1,[7,"uv","y"],"-","uyc"]]],"<",[5,"1e-7"]]]]],[13,"invOut",[1,[5,"1"],"/",[6,"std.max",["outsideDist",[5,"0.00001"]]]]],[13,"gU",[1,[1,[1,"drdpx","*",[1,"activeResF","/","spanX"]],"*","insideX"],"+",[1,[1,[7,"uv","x"],"-","uxc"],"*","invOut"]]],[13,"gV",[1,[1,[1,"drdpy","*",[1,"activeResF","/","spanY"]],"*","insideY"],"+",[1,[1,[7,"uv","y"],"-","uyc"],"*","invOut"]]],[10,[6,"d.vec4f",["rOut","gU","gV","aOut"]]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,"d.u32":()=>R,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.min":()=>oe,"std.max":()=>b,"std.mix":()=>X,"std.smoothstep":()=>re,"std.select":()=>C,"std.abs":()=>z,"d.vec4f":()=>x}})&&e.f)({})).$name("fieldSampleGradArg"),fieldSampleFastArg:v.fn([l,ps(a),a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=$(t.x,r,__tsover_add(r,n)),u=$(t.y,o,__tsover_add(o,i)),m=j(l(__tsover_sub(t.x,_),__tsover_sub(t.y,u))),p=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(_,r),n),d),.5),y=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(u,o),i),d),.5),h=q(p),g=q(y),w=__tsover_sub(p,h),S=__tsover_sub(y,g),T=__tsover_sub(d,1),A=R($(h,a(0),T)),P=R($(__tsover_add(h,1),a(0),T)),U=R($(g,a(0),T)),D=R($(__tsover_add(g,1),a(0),T)),O=Be(s,Ge(A,U),0),L=Be(s,Ge(P,U),0),G=Be(s,Ge(A,D),0),W=Be(s,Ge(P,D),0),K=X(X(O,L,w),X(G,W,w),S),Q=__tsover_add(K.r,m);return x(X(Q,b(__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),c),Q),re(a(0),.25,m)),K.g,K.b,K.a)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"field"},{type:"i",name:"originX"},{type:"i",name:"originY"},{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"},{type:"i",name:"rBound"}],body:[0,[[13,"uxc",[6,"std.clamp",[[7,"uv","x"],"originX",[1,"originX","+","spanX"]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],"originY",[1,"originY","+","spanY"]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-","originX"],"/","spanX"],"*","activeResF"],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-","originY"],"/","spanY"],"*","activeResF"],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"maxT",[1,"activeResF","-",[5,"1"]]],[13,"cx0",[6,"d.u32",[[6,"std.clamp",["x0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx1",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy0",[6,"d.u32",[[6,"std.clamp",["y0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy1",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"t00",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy0"]],[5,"0"]]]],[13,"t10",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy0"]],[5,"0"]]]],[13,"t01",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy1"]],[5,"0"]]]],[13,"t11",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy1"]],[5,"0"]]]],[13,"bl",[6,"std.mix",[[6,"std.mix",["t00","t10","fx"]],[6,"std.mix",["t01","t11","fx"]],"fy"]]],[13,"rNear",[1,[7,"bl","r"],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-","rBound"]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"bl","g"],[7,"bl","b"],[7,"bl","a"]]]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,"d.u32":()=>R,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.mix":()=>X,"std.max":()=>b,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({})).$name("fieldSampleFastArg"),fieldSampleTexelArg:v.fn([l,ps(a),a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=$(t.x,r,__tsover_add(r,n)),u=$(t.y,o,__tsover_add(o,i)),m=j(l(__tsover_sub(t.x,_),__tsover_sub(t.y,u))),p=__tsover_sub(d,1),y=$(q(__tsover_mul(__tsover_div(__tsover_sub(_,r),n),d)),a(0),p),h=$(q(__tsover_mul(__tsover_div(__tsover_sub(u,o),i),d)),a(0),p),g=Be(s,Ge(R(y),R(h)),0),w=__tsover_add(g.r,m);return x(X(w,b(__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),c),w),re(a(0),.25,m)),g.g,g.b,g.a)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"field"},{type:"i",name:"originX"},{type:"i",name:"originY"},{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"},{type:"i",name:"rBound"}],body:[0,[[13,"uxc",[6,"std.clamp",[[7,"uv","x"],"originX",[1,"originX","+","spanX"]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],"originY",[1,"originY","+","spanY"]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"maxT",[1,"activeResF","-",[5,"1"]]],[13,"px",[6,"std.clamp",[[6,"std.floor",[[1,[1,[1,"uxc","-","originX"],"/","spanX"],"*","activeResF"]]],[6,"d.f32",[[5,"0"]]],"maxT"]]],[13,"py",[6,"std.clamp",[[6,"std.floor",[[1,[1,[1,"uyc","-","originY"],"/","spanY"],"*","activeResF"]]],[6,"d.f32",[[5,"0"]]],"maxT"]]],[13,"t",[6,"std.textureLoad",["field",[6,"d.vec2u",[[6,"d.u32",["px"]],[6,"d.u32",["py"]]]],[5,"0"]]]],[13,"rNear",[1,[7,"t","r"],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-","rBound"]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"t","g"],[7,"t","b"],[7,"t","a"]]]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"d.u32":()=>R,"std.mix":()=>X,"std.max":()=>b,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({})).$name("fieldSampleTexelArg"),texelSpanFn:v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_div(b(t,s),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"}],body:[0,[[10,[1,[6,"std.max",["spanX","spanY"]],"/","activeResF"]]]]},externals:{"std.max":()=>b}})&&e.f)({})).$name("fieldTexelSpan")}}var yG={_vfOriginX:{schema:a,initial:0},_vfOriginY:{schema:a,initial:0},_vfSpanX:{schema:a,initial:1},_vfSpanY:{schema:a,initial:1},_vfActiveRes:{schema:a,initial:1},_vfRBound:{schema:a,initial:.6}};function J7(e,t){let{fieldSampleArg:s,fieldSampleGradArg:r,fieldSampleFastArg:o,fieldSampleTexelArg:n,texelSpanFn:i}=ay(),d=(globalThis.__TYPEGPU_AUTONAME__??(_=>_))(e.accessor(),"acc"),c=_=>[_,d,t.originX,t.originY,t.spanX,t.spanY,t.activeResF,t.rBound];return{volumetricFieldSampler:_=>we(s,"vfSample",c(_)),volumetricFieldSamplerGrad:_=>we(r,"vfSampleGrad",c(_)),volumetricFieldSamplerFast:_=>we(o,"vfSampleFast",c(_)),volumetricFieldSamplerTexel:_=>we(n,"vfSampleTexel",c(_)),volumetricFieldTexelSpan:we(i,"vfTexelSpan",[t.spanX,t.spanY,t.activeResF])}}function hG(e,t={}){let{patternMode:s="none",gradSampler:r="fast",bakedGradients:o="none"}=t,{computeOutputs:n,uniforms:i,propValues:d,getCpuValue:c}=e,_=n?.volumetricFieldTexture;if(_){let h=J7(_,{originX:i._vfOriginX,originY:i._vfOriginY,spanX:i._vfSpanX,spanY:i._vfSpanY,activeResF:i._vfActiveRes,rBound:i._vfRBound}),g=o!=="none",w=g?h.volumetricFieldSamplerGrad:h.volumetricFieldSampler;return{sampler:w,gradSampler:r==="same"?w:h.volumetricFieldSamplerFast,texelSampler:h.volumetricFieldSamplerTexel,volumetric:!0,bakedGradients:g}}let u=d.shapeSdfUrl||"",m=d.shapeType||"";if(u){let h=o==="all",g=h?M7(e,u):A7(e,u);return{sampler:g,gradSampler:g,texelSampler:g,volumetric:V7(m),bakedGradients:h}}let p=_G(m,c("shape")),y=P7(p,k7(e,()=>c("shape")),s);return{sampler:y,gradSampler:y,texelSampler:y,volumetric:d1(p),bakedGradients:!1}}var Wa=Math.PI/180;function iy(e){if(e&&typeof e=="object")return e;if(typeof e=="string")try{return JSON.parse(e)}catch{return{}}return{}}function ew(e,t,s,r,o={}){let n=wu[t]??wu.sphere3D,i=o.extraPad??(()=>0),{layout:d}=ny(),c=(globalThis.__TYPEGPU_AUTONAME__??(Pe=>Pe))(e.createUniform(Cn),"marchParamsBuffer"),_=v.fn([f],a)((Pe=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(Pe.f=(Re=>{"use gpu";let de=d.$.params;return t==="cube3D"?Ec(Re,de.pA,de.pB,de.pC,de.pD):t==="torus3D"?sf(Re,de.pA,de.pB):t==="octahedron3D"?rf(Re,de.pA):t==="cylinder3D"?of(Re,de.pA,de.pB,de.pD):t==="capsule3D"?nf(Re,de.pA,de.pB):t==="cone3D"?af(Re,de.pA,de.pC,de.pB):t==="pyramid3D"?df(Re,de.pA,de.pB):t==="prism3D"?cf(Re,de.pA,de.pB):t==="ellipsoid3D"?_f(Re,de.pA,de.pB,de.pC):t==="diamond3D"?kc(Re,de.pA,de.pB):t==="link3D"?lf(Re,de.pB,de.pA,de.pC):t==="gem3D"?mf(Re,de.pA,de.pB,de.pC):t==="helix3D"?pf(Re,de.pA,de.pB,de.pC,a(3)):t==="metaballs3D"?ff(Re,de.mb0,de.mb1,de.mb2,de.mb3,de.mb4,de.mb5,de.mb6,de.mb7,de.pA,de.pD):t==="dodecahedron3D"?vf(Re,de.pA):t==="hemisphere3D"?yf(Re,de.pA,de.pB):t==="ribbon3D"?hf(Re,de.pA,de.pB,de.pC,de.mb0.x,de.mb0.y,de.mb0.z,de.mb1.x,de.mb1.y,de.mb1.z,de.mb2.x):t==="blob3D"?xf(Re,de.pA,de.mb0.x,de.mb0.y,de.mb0.z,de.mb1.x,de.mb2.x):t==="gyroscope3D"?gf(Re,de.pA,de.pB,de.pD,de.mb3.x,de.pC,de.mb0.x,de.mb0.y,de.mb1.x,de.mb1.y,de.mb2.x,de.mb2.y):tf(Re,de.pA)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"pp",[7,[7,"layout","$"],"params"]],[11,[1,"shapeType","===",[103,"cube3D"]],[10,[6,"sdRoundBox",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"],[7,"pp","pD"]]]],[11,[1,"shapeType","===",[103,"torus3D"]],[10,[6,"sdTorus",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"octahedron3D"]],[10,[6,"sdOctahedron",["p",[7,"pp","pA"]]]],[11,[1,"shapeType","===",[103,"cylinder3D"]],[10,[6,"sdRoundCylinder",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pD"]]]],[11,[1,"shapeType","===",[103,"capsule3D"]],[10,[6,"sdCapsule",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"cone3D"]],[10,[6,"sdCappedCone",["p",[7,"pp","pA"],[7,"pp","pC"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"pyramid3D"]],[10,[6,"sdPyramid",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"prism3D"]],[10,[6,"sdHexPrism",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"ellipsoid3D"]],[10,[6,"sdEllipsoid",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"]]]],[11,[1,"shapeType","===",[103,"diamond3D"]],[10,[6,"sdBicone",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"link3D"]],[10,[6,"sdLink",["p",[7,"pp","pB"],[7,"pp","pA"],[7,"pp","pC"]]]],[11,[1,"shapeType","===",[103,"gem3D"]],[10,[6,"sdGem",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"]]]],[11,[1,"shapeType","===",[103,"helix3D"]],[10,[6,"sdHelix",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"],[6,"d.f32",["HELIX_TURNS"]]]]],[11,[1,"shapeType","===",[103,"metaballs3D"]],[10,[6,"sdMetaballs",["p",[7,"pp","mb0"],[7,"pp","mb1"],[7,"pp","mb2"],[7,"pp","mb3"],[7,"pp","mb4"],[7,"pp","mb5"],[7,"pp","mb6"],[7,"pp","mb7"],[7,"pp","pA"],[7,"pp","pD"]]]],[11,[1,"shapeType","===",[103,"dodecahedron3D"]],[10,[6,"sdDodecahedron",["p",[7,"pp","pA"]]]],[11,[1,"shapeType","===",[103,"hemisphere3D"]],[10,[6,"sdCutSphere",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"ribbon3D"]],[10,[6,"sdRibbon",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"],[7,[7,"pp","mb0"],"x"],[7,[7,"pp","mb0"],"y"],[7,[7,"pp","mb0"],"z"],[7,[7,"pp","mb1"],"x"],[7,[7,"pp","mb1"],"y"],[7,[7,"pp","mb1"],"z"],[7,[7,"pp","mb2"],"x"]]]],[11,[1,"shapeType","===",[103,"blob3D"]],[10,[6,"sdWobbleBlob",["p",[7,"pp","pA"],[7,[7,"pp","mb0"],"x"],[7,[7,"pp","mb0"],"y"],[7,[7,"pp","mb0"],"z"],[7,[7,"pp","mb1"],"x"],[7,[7,"pp","mb2"],"x"]]]],[11,[1,"shapeType","===",[103,"gyroscope3D"]],[10,[6,"sdGyroscope",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pD"],[7,[7,"pp","mb3"],"x"],[7,"pp","pC"],[7,[7,"pp","mb0"],"x"],[7,[7,"pp","mb0"],"y"],[7,[7,"pp","mb1"],"x"],[7,[7,"pp","mb1"],"y"],[7,[7,"pp","mb2"],"x"],[7,[7,"pp","mb2"],"y"]]]],[10,[6,"sdSphere",["p",[7,"pp","pA"]]]]]]]]]]]]]]]]]]]]]]]]]},externals:{layout:()=>d,shapeType:()=>t,sdRoundBox:()=>Ec,sdTorus:()=>sf,sdOctahedron:()=>rf,sdRoundCylinder:()=>of,sdCapsule:()=>nf,sdCappedCone:()=>af,sdPyramid:()=>df,sdHexPrism:()=>cf,sdEllipsoid:()=>_f,sdBicone:()=>kc,sdLink:()=>lf,sdGem:()=>mf,sdHelix:()=>pf,"d.f32":()=>a,HELIX_TURNS:()=>3,sdMetaballs:()=>ff,sdDodecahedron:()=>vf,sdCutSphere:()=>yf,sdRibbon:()=>hf,sdWobbleBlob:()=>xf,sdGyroscope:()=>gf,sdSphere:()=>tf}})&&Pe.f)({})),u=0,m="",p=s,y=new Map,h=.35,g=.3,w=.3,S=0,T=.6,A=1,P=0,U=1,D=0,O=1,L=0,G=1,W=1,K=0,Q=0,te=jc(),ee=Array.from({length:8},()=>[0,0,0]),he=()=>{c.write({rot:{cx:A,sx:P,cy:U,sy:D,cz:O,sz:L},rBound:T,spanX:G,spanY:W,originX:K,originY:Q,activeRes:te,pA:h,pB:g,pC:w,pD:S,mb0:f(ee[0][0],ee[0][1],ee[0][2]),mb1:f(ee[1][0],ee[1][1],ee[1][2]),mb2:f(ee[2][0],ee[2][1],ee[2][2]),mb3:f(ee[3][0],ee[3][1],ee[3][2]),mb4:f(ee[4][0],ee[4][1],ee[4][2]),mb5:f(ee[5][0],ee[5][1],ee[5][2]),mb6:f(ee[6][0],ee[6][1],ee[6][2]),mb7:f(ee[7][0],ee[7][1],ee[7][2])})},Ee=Pe=>{let Re=Pe?.deltaTime??0;u+=Re;let de=r();if(de&&typeof de=="object")p=de;else if(typeof de=="string"&&de!==m){m=de;try{p=JSON.parse(de)}catch{}}let je={elapsed:u,deltaTime:Re,pointerX:Pe?.pointer?.x??.5,pointerY:Pe?.pointer?.y??.5,springs:y},fe=Ie=>ry(p[Ie],n[Ie]??0,je,Ie);g=.3,w=.3,S=0;for(let Ie=0;Ie=Ie){ee[We]=[0,99,0];continue}let Ve=We*(Ba/Ie),Ft=Ve+Xe,Gt=.75+.25*Math.sin(Xe*1.3+We*1.7);ee[We]=[st*Math.cos(Ft)*Gt,st*.6*Math.sin(Xe*.9+Ve*1.5),st*Math.sin(Ft)*Gt]}break}case"hemisphere3D":h=fe("radius"),g=fe("cut");break;case"ribbon3D":{h=fe("width"),g=fe("thickness"),w=fe("length");let Ie=u*fe("speed"),st=fe("wave")*(.8+.2*Math.sin(Ie*.9)),Xe=fe("waveFrequency"),We=fe("twist")*Wa/Math.max(w*2,.01);ee[0]=[st,Xe,Ie*1.1],ee[1]=[Ie*.7+2.1,We,Ie*.45];let Ve=Math.abs(st)*Xe+Math.abs(We)*Math.hypot(h,g);ee[2]=[1/Math.sqrt(1+Ve*Ve),0,0];break}case"blob3D":{h=fe("radius");let Ie=u*fe("speed"),st=fe("wobble")*(.75+.25*Math.sin(Ie*.83)),Xe=fe("wobbliness");ee[0]=[st,Xe,Ie*1.2],ee[1]=[Ie*.77+1.3,0,0],ee[2]=[1/(1+Math.abs(st)*Xe*1.3),0,0];break}case"gyroscope3D":{h=fe("radius"),g=fe("width"),w=fe("core"),S=fe("thickness");let Ie=Math.max(0,Math.min(fe("rounding"),Math.min(g,S)*.5)),st=u*fe("speed"),Xe=st*.9,We=st*.63+1.1,Ve=st*1.21+2.3;ee[0]=[Math.cos(Xe),Math.sin(Xe),0],ee[1]=[Math.cos(We),Math.sin(We),0],ee[2]=[Math.cos(Ve),Math.sin(Ve),0],ee[3]=[Ie,0,0];break}default:h=fe("radius");break}T=X7({...p,type:t})+.02+i();let Ke=fe("rotX")*Wa,Ze=fe("rotY")*Wa,at=fe("rotZ")*Wa;A=Math.cos(Ke),P=Math.sin(Ke),U=Math.cos(Ze),D=Math.sin(Ze),O=Math.cos(at),L=Math.sin(at);let Fe=T+.05;G=Fe*2,W=Fe*2,K=.5-Fe,Q=.5-Fe,he()};Ee();let Te=Pe=>{Pe!==te&&(te=Pe,he())},Ue=()=>`${h},${g},${w},${S},${T},`+ee.map(Pe=>`${Pe[0]},${Pe[1]},${Pe[2]}`).join(",");return{layout:d,marchParamsBuffer:c,sdfFn:_,update:Ee,setActiveRes:Te,getStateKey:()=>`${Ue()},${A},${P},${U},${D},${O},${L}`,getFootprint:()=>({spanX:G,spanY:W,originX:K,originY:Q,rBound:T}),getRotation:()=>({cx:A,sx:P,cy:U,sy:D,cz:O,sz:L}),getGeometryKey:Ue}}function tw(e,t,s,r={}){let o=e.gpu.root,n=r.extraPad??(()=>0),{texture:i,getVersion:d}=Qv(e,t),{layout:c}=Q7(),_=(globalThis.__TYPEGPU_AUTONAME__??(Pe=>Pe))(o.createUniform(Cn),"marchParamsBuffer"),u=a(512),m=a(511),p=v.fn([f],a)((Pe=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(Pe.f=(Re=>{"use gpu";let de=c.$.params,je=de.pA,fe=de.pB,Ke=__tsover_sub(__tsover_mul(__tsover_add(Re.x,.5),u),.5),Ze=__tsover_sub(__tsover_mul(__tsover_sub(.5,Re.y),u),.5),at=q(Ke),Fe=q(Ze),Ie=__tsover_sub(Ke,at),st=__tsover_sub(Ze,Fe),Xe=R($(at,a(0),m)),We=R($(__tsover_add(at,1),a(0),m)),Ve=R($(Fe,a(0),m)),Ft=R($(__tsover_add(Fe,1),a(0),m)),Gt=Be(c.$.sdfSource,Ge(Xe,Ve),0).r,os=Be(c.$.sdfSource,Ge(We,Ve),0).r,bs=Be(c.$.sdfSource,Ge(Xe,Ft),0).r,ls=Be(c.$.sdfSource,Ge(We,Ft),0).r,As=X(X(Gt,os,Ie),X(bs,ls,Ie),st),vs=__tsover_add(As,fe),ys=__tsover_add(__tsover_sub(z(Re.z),je),fe),Ks=oe(b(vs,ys),a(0)),yr=j(l(b(vs,a(0)),b(ys,a(0))));return __tsover_sub(__tsover_add(Ks,yr),fe)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"pp",[7,[7,"layout","$"],"params"]],[13,"halfDepth",[7,"pp","pA"]],[13,"bevel",[7,"pp","pB"]],[13,"u",[1,[1,[1,[7,"p","x"],"+",[5,"0.5"]],"*","SIZE_F"],"-",[5,"0.5"]]],[13,"v",[1,[1,[1,[5,"0.5"],"-",[7,"p","y"]],"*","SIZE_F"],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["u"]]],[13,"y0",[6,"std.floor",["v"]]],[13,"fx",[1,"u","-","x0"]],[13,"fy",[1,"v","-","y0"]],[13,"cx0",[6,"d.u32",[[6,"std.clamp",["x0",[6,"d.f32",[[5,"0"]]],"MAX_TEXEL"]]]]],[13,"cx1",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"MAX_TEXEL"]]]]],[13,"cy0",[6,"d.u32",[[6,"std.clamp",["y0",[6,"d.f32",[[5,"0"]]],"MAX_TEXEL"]]]]],[13,"cy1",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"MAX_TEXEL"]]]]],[13,"s00",[7,[6,"std.textureLoad",[[7,[7,"layout","$"],"sdfSource"],[6,"d.vec2u",["cx0","cy0"]],[5,"0"]]],"r"]],[13,"s10",[7,[6,"std.textureLoad",[[7,[7,"layout","$"],"sdfSource"],[6,"d.vec2u",["cx1","cy0"]],[5,"0"]]],"r"]],[13,"s01",[7,[6,"std.textureLoad",[[7,[7,"layout","$"],"sdfSource"],[6,"d.vec2u",["cx0","cy1"]],[5,"0"]]],"r"]],[13,"s11",[7,[6,"std.textureLoad",[[7,[7,"layout","$"],"sdfSource"],[6,"d.vec2u",["cx1","cy1"]],[5,"0"]]],"r"]],[13,"field2d",[6,"std.mix",[[6,"std.mix",["s00","s10","fx"]],[6,"std.mix",["s01","s11","fx"]],"fy"]]],[13,"d2",[1,"field2d","+","bevel"]],[13,"wz",[1,[1,[6,"std.abs",[[7,"p","z"]]],"-","halfDepth"],"+","bevel"]],[13,"inner",[6,"std.min",[[6,"std.max",["d2","wz"]],[6,"d.f32",[[5,"0"]]]]]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["d2",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["wz",[6,"d.f32",[[5,"0"]]]]]]]]]],[10,[1,[1,"inner","+","outer"],"-","bevel"]]]]},externals:{layout:()=>c,SIZE_F:()=>u,"std.floor":()=>q,"d.u32":()=>R,"std.clamp":()=>$,"d.f32":()=>a,MAX_TEXEL:()=>m,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.mix":()=>X,"std.abs":()=>z,"std.min":()=>oe,"std.max":()=>b,"std.length":()=>j,"d.vec2f":()=>l}})&&Pe.f)({})),y=0,h="",g=iy(s()),w=new Map,S=.06,T=.02,A=.75,P=1,U=0,D=1,O=0,L=1,G=0,W=1,K=1,Q=0,te=0,ee=jc(),he=()=>{_.write({rot:{cx:P,sx:U,cy:D,sy:O,cz:L,sz:G},rBound:A,spanX:W,spanY:K,originX:Q,originY:te,activeRes:ee,pA:S,pB:T,pC:0,pD:0,mb0:f(0,0,0),mb1:f(0,0,0),mb2:f(0,0,0),mb3:f(0,0,0),mb4:f(0,0,0),mb5:f(0,0,0),mb6:f(0,0,0),mb7:f(0,0,0)})},Ee=Pe=>{let Re=Pe?.deltaTime??0;y+=Re;let de=s();if(de&&typeof de=="object")g=de;else if(typeof de=="string"&&de!==h){h=de;try{g=JSON.parse(de)}catch{}}let je={elapsed:y,deltaTime:Re,pointerX:Pe?.pointer?.x??.5,pointerY:Pe?.pointer?.y??.5,springs:w},fe=vs=>ry(g[vs],N7[vs]??0,je,vs);S=Math.max(.001,fe("depth")*.5),T=Math.min(Math.max(0,fe("bevel")),S);let Ke=a1(t),Ze=Ke?Math.min(.5,Ke.hwf+.02):.5,at=Ke?Math.min(.5,Ke.hhf+.02):.5,Fe=n();A=Math.hypot(Ze,at,S)+T+.03+Fe;let Ie=fe("rotX")*Wa,st=fe("rotY")*Wa,Xe=fe("rotZ")*Wa;P=Math.cos(Ie),U=Math.sin(Ie),D=Math.cos(st),O=Math.sin(st),L=Math.cos(Xe),G=Math.sin(Xe);let We={cx:P,sx:U,cy:D,sy:O,cz:L,sz:G},Ve=ef(1,0,0,We),Ft=ef(0,1,0,We),Gt=T+.03+Fe,os=Math.abs(Ve.x)*Ze+Math.abs(Ve.y)*at+Math.abs(Ve.z)*S+Gt,bs=Math.abs(Ft.x)*Ze+Math.abs(Ft.y)*at+Math.abs(Ft.z)*S+Gt,ls=os+.05,As=bs+.05;W=ls*2,K=As*2,Q=.5-ls,te=.5-As,he()};Ee();let Te=Pe=>{Pe!==ee&&(ee=Pe,he())},Ue=()=>`${S},${T},${A},${d()}`,Me=()=>`${Ue()},${W},${K},${P},${U},${D},${O},${L},${G}`;return{layout:c,marchParamsBuffer:_,sdfFn:p,sdfSourceTexture:i.texture,update:Ee,setActiveRes:Te,getStateKey:Me,getFootprint:()=>({spanX:W,spanY:K,originX:Q,originY:te,rBound:A}),getRotation:()=>({cx:P,sx:U,cy:D,sy:O,cz:L,sz:G}),getGeometryKey:Ue}}function xG(e,t,s,r,o={}){let n=o.extraPad??(()=>0),{layout:i}=ny(),d=(globalThis.__TYPEGPU_AUTONAME__??(L=>L))(e.createUniform(Cn),"marchParamsBuffer"),c=Jv(t),_=v.fn([f],a)((L=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(L.f=(G=>{"use gpu";let W=i.$.params,K=c(l(__tsover_add(G.x,.5),__tsover_sub(.5,G.y)),W.pA,W.pB,W.pC,W.pD,W.mb0.x,W.mb0.y,W.mb0.z,W.mb1.x).x,Q=__tsover_sub(z(G.z),W.mb1.y),te=oe(b(K,Q),a(0)),ee=j(l(b(K,a(0)),b(Q,a(0))));return __tsover_add(te,ee)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"pp",[7,[7,"layout","$"],"params"]],[13,"uv",[6,"d.vec2f",[[1,[7,"p","x"],"+",[5,"0.5"]],[1,[5,"0.5"],"-",[7,"p","y"]]]]],[13,"d2",[7,[6,"analytic",["uv",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"],[7,"pp","pD"],[7,[7,"pp","mb0"],"x"],[7,[7,"pp","mb0"],"y"],[7,[7,"pp","mb0"],"z"],[7,[7,"pp","mb1"],"x"]]],"x"]],[13,"wz",[1,[6,"std.abs",[[7,"p","z"]]],"-",[7,[7,"pp","mb1"],"y"]]],[13,"inner",[6,"std.min",[[6,"std.max",["d2","wz"]],[6,"d.f32",[[5,"0"]]]]]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["d2",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["wz",[6,"d.f32",[[5,"0"]]]]]]]]]],[10,[1,"inner","+","outer"]]]]},externals:{layout:()=>i,"d.vec2f":()=>l,analytic:()=>c,"std.abs":()=>z,"std.min":()=>oe,"std.max":()=>b,"d.f32":()=>a,"std.length":()=>j}})&&L.f)({})),u="",m=iy(s()),p=gu(m),y=.06,h=.6,g=1,w=1,S=0,T=0,A=jc(),P=()=>{d.write({rot:{cx:1,sx:0,cy:1,sy:0,cz:1,sz:0},rBound:h,spanX:g,spanY:w,originX:S,originY:T,activeRes:A,pA:p.radius,pB:p.sides,pC:p.rounding,pD:p.innerRatio,mb0:f(p.rotation,p.height,p.offset),mb1:f(p.aperture,y,0),mb2:f(0,0,0),mb3:f(0,0,0),mb4:f(0,0,0),mb5:f(0,0,0),mb6:f(0,0,0),mb7:f(0,0,0)})},U=()=>{let L=s();if(L&&typeof L=="object")m=L;else if(typeof L=="string"&&L!==u){u=L;try{m=JSON.parse(L)}catch{}}p=gu(m),y=Math.max(.001,r());let{hwf:G,hhf:W}=Jp({shape:{...m,radius:p.radius,height:p.height}});h=Math.hypot(G,W,y)+.02+n();let K=h+.05;g=K*2,w=K*2,S=.5-K,T=.5-K,P()};U();let D=L=>{L!==A&&(A=L,P())},O=()=>`${p.radius},${p.sides},${p.rounding},${p.innerRatio},${p.rotation},${p.height},${p.offset},${p.aperture},${y},${h}`;return{layout:i,marchParamsBuffer:d,sdfFn:_,update:U,setActiveRes:D,getStateKey:O,getFootprint:()=>({spanX:g,spanY:w,originX:S,originY:T,rBound:h}),getRotation:()=>({cx:1,sx:0,cy:1,sy:0,cz:1,sz:0}),getGeometryKey:O}}function gG(e,t,s="none",r="span"){let o=e.gpu?.root;if(!o)return null;let n=iy(t()),i=e.getCpuValue("shapeSdfUrl")||"",d=e.getCpuValue("shapeType")||n.type||"",c=null;if(i&&sy(d)?c=tw(e,i,t):!i&&d1(d)&&(c=ew(o,d,n,t)),!c)return null;let _=oy(c.sdfFn,s,r),u=K7(c.layout,_),m=Z7(o,c.layout,u,e.onCleanup,{paramsUniform:c.marchParamsBuffer,sdfSourceTexture:c.sdfSourceTexture}),p=e.registerComputeTexture(m.fieldTexture),y=m.maxRes,h="",g=_o()?2:1,w=0,S={originX:0,originY:0,spanX:1,spanY:1,activeRes:1,rBound:.6};return{outputs:{volumetricFieldTexture:p},getComputeNodes:A=>{c.update(A);let P=c.getFootprint(),U=e.getCpuValue("scale")??1,D=e.dimensions.height;y=j7(P.spanX,P.spanY,U,D,m.maxRes,y);let O=`${c.getStateKey()},${y}`;return O===h||(w++,g>1&&w%g!==0)?null:(h=O,c.setActiveRes(y),e.setExtraField("_vfOriginX",P.originX),e.setExtraField("_vfOriginY",P.originY),e.setExtraField("_vfSpanX",P.spanX),e.setExtraField("_vfSpanY",P.spanY),e.setExtraField("_vfActiveRes",y),e.setExtraField("_vfRBound",P.rBound),S.originX=P.originX,S.originY=P.originY,S.spanX=P.spanX,S.spanY=P.spanY,S.activeRes=y,S.rBound=P.rBound,[()=>m.dispatch(y)])},fieldTexture:m.fieldTexture,getFieldDomain:()=>({...S})}}var Tu=.08,ws=v.fn([f,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=s.x,n=s.y,i=s.z,d=s.w,c=r.x,_=r.y,u=f(__tsover_add(__tsover_mul(t.x,i),__tsover_mul(t.z,d)),t.y,__tsover_add(__tsover_mul(__tsover_mul(t.x,d),-1),__tsover_mul(t.z,i))),m=f(u.x,__tsover_sub(__tsover_mul(u.y,o),__tsover_mul(u.z,n)),__tsover_add(__tsover_mul(u.y,n),__tsover_mul(u.z,o)));return f(__tsover_sub(__tsover_mul(m.x,c),__tsover_mul(m.y,_)),__tsover_add(__tsover_mul(m.x,_),__tsover_mul(m.y,c)),m.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"}],body:[0,[[13,"cx",[7,"rp0","x"]],[13,"sx",[7,"rp0","y"]],[13,"cy",[7,"rp0","z"]],[13,"sy",[7,"rp0","w"]],[13,"cz",[7,"rp1","x"]],[13,"sz",[7,"rp1","y"]],[13,"py",[6,"d.vec3f",[[1,[1,[7,"p","x"],"*","cy"],"+",[1,[7,"p","z"],"*","sy"]],[7,"p","y"],[1,[1,[1,[7,"p","x"],"*","sy"],"*",[4,"-",[5,"1"]]],"+",[1,[7,"p","z"],"*","cy"]]]]],[13,"px",[6,"d.vec3f",[[7,"py","x"],[1,[1,[7,"py","y"],"*","cx"],"-",[1,[7,"py","z"],"*","sx"]],[1,[1,[7,"py","y"],"*","sx"],"+",[1,[7,"py","z"],"*","cx"]]]]],[10,[6,"d.vec3f",[[1,[1,[7,"px","x"],"*","cz"],"-",[1,[7,"px","y"],"*","sz"]],[1,[1,[7,"px","x"],"*","sz"],"+",[1,[7,"px","y"],"*","cz"]],[7,"px","z"]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})).$name("eulerRotatePacked"),bG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return __tsover_sub(j(ws(t,s,r)),r.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[10,[1,[6,"std.length",[[6,"eulerRotatePacked",["p","rp0","rp1"]]]],"-",[7,"rp1","z"]]]]]},externals:{"std.length":()=>j,eulerRotatePacked:()=>ws}})&&e.f)({})).$name("paramSphereSdf"),wG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=as(ws(t,r,o));return l(__tsover_add(__tsover_div(tt(d.z,d.x),6.283185307179586),.5),__tsover_mul(__tsover_add(d.y,1),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"n",[6,"std.normalize",[[6,"eulerRotatePacked",["h","rp0","rp1"]]]]],[10,[6,"d.vec2f",[[1,[1,[6,"std.atan2",[[7,"n","z"],[7,"n","x"]]],"/",[5,"6.283185307179586"]],"+",[5,"0.5"]],[1,[1,[7,"n","y"],"+",[5,"1"]],"*",[5,"0.5"]]]]]]]},externals:{"std.normalize":()=>as,eulerRotatePacked:()=>ws,"d.vec2f":()=>l,"std.atan2":()=>tt}})&&e.f)({})).$name("sphereSurfaceUV"),TG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=ws(t,s,r),d=l(__tsover_sub(j(l(i.x,i.z)),r.z),i.y);return __tsover_sub(j(d),r.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["p","rp0","rp1"]]],[13,"q",[6,"d.vec2f",[[1,[6,"std.length",[[6,"d.vec2f",[[7,"rp","x"],[7,"rp","z"]]]]],"-",[7,"rp1","z"]],[7,"rp","y"]]]],[10,[1,[6,"std.length",["q"]],"-",[7,"rp1","w"]]]]]},externals:{eulerRotatePacked:()=>ws,"d.vec2f":()=>l,"std.length":()=>j}})&&e.f)({})).$name("paramTorusSdf"),SG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ws(t,r,o),c=__tsover_add(__tsover_div(tt(d.z,d.x),6.283185307179586),.5),_=__tsover_sub(j(l(d.x,d.z)),o.z);return l(c,__tsover_add(__tsover_div(tt(d.y,_),6.283185307179586),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["h","rp0","rp1"]]],[13,"u",[1,[1,[6,"std.atan2",[[7,"rp","z"],[7,"rp","x"]]],"/",[5,"6.283185307179586"]],"+",[5,"0.5"]]],[13,"ringDist",[1,[6,"std.length",[[6,"d.vec2f",[[7,"rp","x"],[7,"rp","z"]]]]],"-",[7,"rp1","z"]]],[10,[6,"d.vec2f",["u",[1,[1,[6,"std.atan2",[[7,"rp","y"],"ringDist"]],"/",[5,"6.283185307179586"]],"+",[5,"0.5"]]]]]]]},externals:{eulerRotatePacked:()=>ws,"std.atan2":()=>tt,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})).$name("torusSurfaceUV"),AG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=ws(t,s,r),d=o.y,c=__tsover_add(__tsover_sub(z(i.x),r.z),d),_=__tsover_add(__tsover_sub(z(i.y),r.w),d),u=__tsover_add(__tsover_sub(z(i.z),o.x),d),m=j(f(b(c,a(0)),b(_,a(0)),b(u,a(0)))),p=oe(b(c,b(_,u)),a(0));return __tsover_sub(__tsover_add(m,p),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["p","rp0","rp1"]]],[13,"rounding",[7,"rp2","y"]],[13,"qx",[1,[1,[6,"std.abs",[[7,"rp","x"]]],"-",[7,"rp1","z"]],"+","rounding"]],[13,"qy",[1,[1,[6,"std.abs",[[7,"rp","y"]]],"-",[7,"rp1","w"]],"+","rounding"]],[13,"qz",[1,[1,[6,"std.abs",[[7,"rp","z"]]],"-",[7,"rp2","x"]],"+","rounding"]],[13,"outer",[6,"std.length",[[6,"d.vec3f",[[6,"std.max",["qx",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["qy",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["qz",[6,"d.f32",[[5,"0"]]]]]]]]]],[13,"inner",[6,"std.min",[[6,"std.max",["qx",[6,"std.max",["qy","qz"]]]],[6,"d.f32",[[5,"0"]]]]]],[10,[1,[1,"outer","+","inner"],"-","rounding"]]]]},externals:{eulerRotatePacked:()=>ws,"std.abs":()=>z,"std.length":()=>j,"d.vec3f":()=>f,"std.max":()=>b,"d.f32":()=>a,"std.min":()=>oe}})&&e.f)({})).$name("paramBoxSdf"),MG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ws(t,r,o),c=ws(s,r,o),_=f(z(c.x),z(c.y),z(c.z)),u=o.z,m=o.w,p=n.x,y=__tsover_div(.5,b(m,p)),h=__tsover_div(.5,b(u,p)),g=__tsover_div(.5,b(u,m)),w=l(__tsover_add(__tsover_mul(d.z,y),.5),__tsover_add(__tsover_mul(d.y,y),.5)),S=l(__tsover_add(__tsover_mul(d.x,h),.5),__tsover_add(__tsover_mul(d.z,h),.5)),T=l(__tsover_add(__tsover_mul(d.x,g),.5),__tsover_add(__tsover_mul(d.y,g),.5)),A=C(T,w,_.x>_.z);return C(C(T,S,_.y>_.z),A,_.x>_.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["h","rp0","rp1"]]],[13,"rn",[6,"eulerRotatePacked",["n","rp0","rp1"]]],[13,"an",[6,"d.vec3f",[[6,"std.abs",[[7,"rn","x"]]],[6,"std.abs",[[7,"rn","y"]]],[6,"std.abs",[[7,"rn","z"]]]]]],[13,"hx",[7,"rp1","z"]],[13,"hy",[7,"rp1","w"]],[13,"hz",[7,"rp2","x"]],[13,"scaleX",[1,[5,"0.5"],"/",[6,"std.max",["hy","hz"]]]],[13,"scaleY",[1,[5,"0.5"],"/",[6,"std.max",["hx","hz"]]]],[13,"scaleZ",[1,[5,"0.5"],"/",[6,"std.max",["hx","hy"]]]],[13,"uvX",[6,"d.vec2f",[[1,[1,[7,"rp","z"],"*","scaleX"],"+",[5,"0.5"]],[1,[1,[7,"rp","y"],"*","scaleX"],"+",[5,"0.5"]]]]],[13,"uvY",[6,"d.vec2f",[[1,[1,[7,"rp","x"],"*","scaleY"],"+",[5,"0.5"]],[1,[1,[7,"rp","z"],"*","scaleY"],"+",[5,"0.5"]]]]],[13,"uvZ",[6,"d.vec2f",[[1,[1,[7,"rp","x"],"*","scaleZ"],"+",[5,"0.5"]],[1,[1,[7,"rp","y"],"*","scaleZ"],"+",[5,"0.5"]]]]],[13,"pickXZ",[6,"std.select",["uvZ","uvX",[1,[7,"an","x"],">",[7,"an","z"]]]]],[13,"pickYZ",[6,"std.select",["uvZ","uvY",[1,[7,"an","y"],">",[7,"an","z"]]]]],[10,[6,"std.select",["pickYZ","pickXZ",[1,[7,"an","x"],">",[7,"an","y"]]]]]]]},externals:{eulerRotatePacked:()=>ws,"d.vec3f":()=>f,"std.abs":()=>z,"std.max":()=>b,"d.vec2f":()=>l,"std.select":()=>C}})&&e.f)({})).$name("boxFaceUV"),PG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=ws(t,s,r),d=r.z,c=r.w,_=$(i.y,__tsover_mul(c,-1),c);return __tsover_sub(j(f(i.x,__tsover_sub(i.y,_),i.z)),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["p","rp0","rp1"]]],[13,"radius",[7,"rp1","z"]],[13,"halfHeight",[7,"rp1","w"]],[13,"clampedY",[6,"std.clamp",[[7,"rp","y"],[1,"halfHeight","*",[4,"-",[5,"1"]]],"halfHeight"]]],[10,[1,[6,"std.length",[[6,"d.vec3f",[[7,"rp","x"],[1,[7,"rp","y"],"-","clampedY"],[7,"rp","z"]]]]],"-","radius"]]]]},externals:{eulerRotatePacked:()=>ws,"std.clamp":()=>$,"std.length":()=>j,"d.vec3f":()=>f}})&&e.f)({})).$name("paramCapsuleSdf"),EG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ws(t,r,o),c=__tsover_add(__tsover_div(tt(d.z,d.x),6.283185307179586),.5),_=__tsover_add(o.w,o.z);return l(c,$(__tsover_add(__tsover_mul(__tsover_div(d.y,_),.5),.5),0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["h","rp0","rp1"]]],[13,"u",[1,[1,[6,"std.atan2",[[7,"rp","z"],[7,"rp","x"]]],"/",[5,"6.283185307179586"]],"+",[5,"0.5"]]],[13,"span",[1,[7,"rp1","w"],"+",[7,"rp1","z"]]],[10,[6,"d.vec2f",["u",[6,"std.clamp",[[1,[1,[1,[7,"rp","y"],"/","span"],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]]]]]]},externals:{eulerRotatePacked:()=>ws,"std.atan2":()=>tt,"d.vec2f":()=>l,"std.clamp":()=>$}})&&e.f)({})).$name("capsuleSurfaceUV"),kG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=ws(t,s,r),d=r.z,c=r.w,_=o.x,u=tt(i.z,i.x),m=f(__tsover_mul(H(u),d),0,__tsover_mul(Y(u),d)),p=f(__tsover_sub(i.x,m.x),__tsover_sub(i.y,m.y),__tsover_sub(i.z,m.z)),y=__tsover_mul(u,.5),h=f(__tsover_mul(H(u),H(y)),Y(y),__tsover_mul(Y(u),H(y))),g=se(p,h),w=b(__tsover_sub(z(g),c),a(0)),S=f(__tsover_sub(p.x,__tsover_mul(h.x,g)),__tsover_sub(p.y,__tsover_mul(h.y,g)),__tsover_sub(p.z,__tsover_mul(h.z,g)));return __tsover_sub(j(l(w,j(S))),_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["p","rp0","rp1"]]],[13,"ringRadius",[7,"rp1","z"]],[13,"halfWidth",[7,"rp1","w"]],[13,"thickness",[7,"rp2","x"]],[13,"phi",[6,"std.atan2",[[7,"rp","z"],[7,"rp","x"]]]],[13,"spine",[6,"d.vec3f",[[1,[6,"std.cos",["phi"]],"*","ringRadius"],[5,"0"],[1,[6,"std.sin",["phi"]],"*","ringRadius"]]]],[13,"dvec",[6,"d.vec3f",[[1,[7,"rp","x"],"-",[7,"spine","x"]],[1,[7,"rp","y"],"-",[7,"spine","y"]],[1,[7,"rp","z"],"-",[7,"spine","z"]]]]],[13,"halfPhi",[1,"phi","*",[5,"0.5"]]],[13,"ev",[6,"d.vec3f",[[1,[6,"std.cos",["phi"]],"*",[6,"std.cos",["halfPhi"]]],[6,"std.sin",["halfPhi"]],[1,[6,"std.sin",["phi"]],"*",[6,"std.cos",["halfPhi"]]]]]],[13,"vProj",[6,"std.dot",["dvec","ev"]]],[13,"du",[6,"std.max",[[1,[6,"std.abs",["vProj"]],"-","halfWidth"],[6,"d.f32",[[5,"0"]]]]]],[13,"perp",[6,"d.vec3f",[[1,[7,"dvec","x"],"-",[1,[7,"ev","x"],"*","vProj"]],[1,[7,"dvec","y"],"-",[1,[7,"ev","y"],"*","vProj"]],[1,[7,"dvec","z"],"-",[1,[7,"ev","z"],"*","vProj"]]]]],[10,[1,[6,"std.length",[[6,"d.vec2f",["du",[6,"std.length",["perp"]]]]]],"-","thickness"]]]]},externals:{eulerRotatePacked:()=>ws,"std.atan2":()=>tt,"d.vec3f":()=>f,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.max":()=>b,"std.abs":()=>z,"d.f32":()=>a,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})).$name("paramMobiusSdf"),$G=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ws(t,r,o),c=o.z,_=o.w,u=tt(d.z,d.x),m=f(__tsover_mul(H(u),c),0,__tsover_mul(Y(u),c)),p=f(__tsover_sub(d.x,m.x),__tsover_sub(d.y,m.y),__tsover_sub(d.z,m.z)),y=__tsover_mul(u,.5),h=se(p,f(__tsover_mul(H(u),H(y)),Y(y),__tsover_mul(Y(u),H(y))));return l(__tsover_add(__tsover_div(u,6.283185307179586),.5),__tsover_add(__tsover_mul(__tsover_div(h,_),.5),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["h","rp0","rp1"]]],[13,"ringRadius",[7,"rp1","z"]],[13,"halfWidth",[7,"rp1","w"]],[13,"phi",[6,"std.atan2",[[7,"rp","z"],[7,"rp","x"]]]],[13,"spine",[6,"d.vec3f",[[1,[6,"std.cos",["phi"]],"*","ringRadius"],[5,"0"],[1,[6,"std.sin",["phi"]],"*","ringRadius"]]]],[13,"dvec",[6,"d.vec3f",[[1,[7,"rp","x"],"-",[7,"spine","x"]],[1,[7,"rp","y"],"-",[7,"spine","y"]],[1,[7,"rp","z"],"-",[7,"spine","z"]]]]],[13,"halfPhi",[1,"phi","*",[5,"0.5"]]],[13,"ev",[6,"d.vec3f",[[1,[6,"std.cos",["phi"]],"*",[6,"std.cos",["halfPhi"]]],[6,"std.sin",["halfPhi"]],[1,[6,"std.sin",["phi"]],"*",[6,"std.cos",["halfPhi"]]]]]],[13,"vProj",[6,"std.dot",["dvec","ev"]]],[10,[6,"d.vec2f",[[1,[1,"phi","/",[5,"6.283185307179586"]],"+",[5,"0.5"]],[1,[1,[1,"vProj","/","halfWidth"],"*",[5,"0.5"]],"+",[5,"0.5"]]]]]]]},externals:{eulerRotatePacked:()=>ws,"std.atan2":()=>tt,"d.vec3f":()=>f,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"d.vec2f":()=>l}})&&e.f)({})).$name("mobiusSurfaceUV"),UG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=s.x,d=s.y,c=s.z,_=r.x,u=r.y,m=r.z,p=H(i),y=Y(i),h=__tsover_add(__tsover_mul(t.x,p),__tsover_mul(t.y,y)),g=__tsover_add(__tsover_mul(__tsover_mul(t.x,y),-1),__tsover_mul(t.y,p)),w=__tsover_add(__tsover_add(__tsover_mul(h,d),u),__tsover_mul(n,Tu)),S=H(w),T=Y(w),A=__tsover_add(__tsover_mul(g,S),__tsover_mul(t.z,T)),P=__tsover_add(__tsover_mul(__tsover_mul(g,T),-1),__tsover_mul(t.z,S)),U=b(__tsover_sub(z(A),c),a(0));return __tsover_div(__tsover_sub(j(l(U,P)),_),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"t"}],body:[0,[[13,"angleRad",[7,"rp0","x"]],[13,"twist",[7,"rp0","y"]],[13,"halfW",[7,"rp0","z"]],[13,"thickness",[7,"rp1","x"]],[13,"phase",[7,"rp1","y"]],[13,"lipschitz",[7,"rp1","z"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"rpx",[1,[1,[7,"p","x"],"*","cosA"],"+",[1,[7,"p","y"],"*","sinA"]]],[13,"rpy",[1,[1,[1,[7,"p","x"],"*","sinA"],"*",[4,"-",[5,"1"]]],"+",[1,[7,"p","y"],"*","cosA"]]],[13,"twistAngle",[1,[1,[1,"rpx","*","twist"],"+","phase"],"+",[1,"t","*","TWISTED_RIBBON_TWIST_RATE"]]],[13,"ca",[6,"std.cos",["twistAngle"]]],[13,"sa",[6,"std.sin",["twistAngle"]]],[13,"localU",[1,[1,"rpy","*","ca"],"+",[1,[7,"p","z"],"*","sa"]]],[13,"localV",[1,[1,[1,"rpy","*","sa"],"*",[4,"-",[5,"1"]]],"+",[1,[7,"p","z"],"*","ca"]]],[13,"du",[6,"std.max",[[1,[6,"std.abs",["localU"]],"-","halfW"],[6,"d.f32",[[5,"0"]]]]]],[10,[1,[1,[6,"std.length",[[6,"d.vec2f",["du","localV"]]]],"-","thickness"],"/","lipschitz"]]]]},externals:{"std.cos":()=>H,"std.sin":()=>Y,TWISTED_RIBBON_TWIST_RATE:()=>Tu,"std.max":()=>b,"std.abs":()=>z,"d.f32":()=>a,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})).$name("paramTwistedRibbonSdf"),CG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=r.x,c=r.y,_=r.z,u=r.w,m=o.y,p=H(d),y=Y(d),h=__tsover_add(__tsover_mul(t.x,p),__tsover_mul(t.y,y)),g=__tsover_add(__tsover_mul(__tsover_mul(t.x,y),-1),__tsover_mul(t.y,p)),w=__tsover_add(__tsover_add(__tsover_mul(h,c),m),__tsover_mul(i,Tu)),S=H(w),T=Y(w),A=b(oe(__tsover_add(__tsover_mul(g,S),__tsover_mul(t.z,T)),_),__tsover_mul(_,-1));return l(__tsover_add(__tsover_mul(h,.15),.5),__tsover_add(__tsover_div(A,u),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"t"}],body:[0,[[13,"angleRad",[7,"rp0","x"]],[13,"twist",[7,"rp0","y"]],[13,"halfW",[7,"rp0","z"]],[13,"width",[7,"rp0","w"]],[13,"phase",[7,"rp1","y"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"rpx",[1,[1,[7,"h","x"],"*","cosA"],"+",[1,[7,"h","y"],"*","sinA"]]],[13,"rpy",[1,[1,[1,[7,"h","x"],"*","sinA"],"*",[4,"-",[5,"1"]]],"+",[1,[7,"h","y"],"*","cosA"]]],[13,"twistAngle",[1,[1,[1,"rpx","*","twist"],"+","phase"],"+",[1,"t","*","TWISTED_RIBBON_TWIST_RATE"]]],[13,"ca",[6,"std.cos",["twistAngle"]]],[13,"sa",[6,"std.sin",["twistAngle"]]],[13,"localU",[1,[1,"rpy","*","ca"],"+",[1,[7,"h","z"],"*","sa"]]],[13,"localUClamped",[6,"std.max",[[6,"std.min",["localU","halfW"]],[1,"halfW","*",[4,"-",[5,"1"]]]]]],[10,[6,"d.vec2f",[[1,[1,"rpx","*",[5,"0.15"]],"+",[5,"0.5"]],[1,[1,"localUClamped","/","width"],"+",[5,"0.5"]]]]]]]},externals:{"std.cos":()=>H,"std.sin":()=>Y,TWISTED_RIBBON_TWIST_RATE:()=>Tu,"std.max":()=>b,"std.min":()=>oe,"d.vec2f":()=>l}})&&e.f)({})).$name("twistedRibbonSurfaceUV");function RG(e,t){let s={};return t.forEach((r,o)=>{s[`${e}${o}`]={schema:x,initial:r}}),s}var qm=_o()?128:192,FW=Math.ceil(qm/4)*qm*qm,Su=_o()?512:1024;var BW=Math.PI/180;var Xm=2.39996323,Mb=.27;var WW=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cam:n5(16,a5(32,Hc)),lightDir:f,voxelSize:a,lightT1:f,fill:a,lightT2:f,voxelScale:a,bevel:a,gridOrigin:a,gridN:a,gridW:a}),"VoxelMarchParams");var Hm=v.fn([ps(a),a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=a(__tsover_sub(Su,1)),i=q(s),d=q(r),c=__tsover_sub(s,i),_=__tsover_sub(r,d),u=R($(i,a(0),n)),m=R($(__tsover_add(i,1),a(0),n)),p=R($(d,a(0),n)),y=R($(__tsover_add(d,1),a(0),n)),h=C(a(0),a(1),Be(t,Ge(u,p),0).ra,VOXEL_SHADOW_RES:()=>Su,"std.floor":()=>q,"d.u32":()=>R,"std.clamp":()=>$,"std.select":()=>C,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.mix":()=>X}})&&e.f)({})).$name("voxelShadowCompare"),OW=v.fn([ps(a),f,f,f,f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=a(Su),u=__tsover_div(__tsover_mul(i,2),_),m=se(s,o),p=se(s,n),y=__tsover_sub(i,se(s,r)),h=__tsover_sub(__tsover_mul(__tsover_add(__tsover_mul(__tsover_div(m,i),.5),.5),_),.5),g=__tsover_sub(__tsover_mul(__tsover_add(__tsover_mul(__tsover_div(p,i),.5),.5),_),.5),w=__tsover_sub(y,__tsover_add(__tsover_mul(c,.05),__tsover_mul(u,2))),S=a(0);if(d<.001)S=Hm(t,h,g,w);else{let T=__tsover_mul(d,Mb),A=b(__tsover_div(oe(__tsover_mul(i,T),__tsover_mul(i,.25)),u),1),P=a(0),U=a(0);for(let D=0;D<8;D++){let O=__tsover_mul(be(__tsover_div(__tsover_add(a(D),.5),8)),A),L=__tsover_mul(a(D),Xm),G=$(__tsover_add(h,__tsover_mul(H(L),O)),a(0),__tsover_sub(_,1)),W=$(__tsover_add(g,__tsover_mul(Y(L),O)),a(0),__tsover_sub(_,1)),K=Be(t,Ge(R(G),R(W)),0).r;K.5){let D=__tsover_div(P,U),O=$(__tsover_div(__tsover_mul(__tsover_sub(y,D),T),u),1,A),L=a(0);for(let G=0;G<12;G++){let W=__tsover_mul(be(__tsover_div(__tsover_add(a(G),.5),12)),O),K=__tsover_add(__tsover_mul(a(G),Xm),.7);L=__tsover_add(L,Hm(t,__tsover_add(h,__tsover_mul(H(K),W)),__tsover_add(g,__tsover_mul(Y(K),W)),w))}S=__tsover_div(L,12)}}return S}),{v:2,name:void 0,ast:{params:[{type:"i",name:"tex"},{type:"i",name:"p"},{type:"i",name:"L"},{type:"i",name:"T1"},{type:"i",name:"T2"},{type:"i",name:"rBound"},{type:"i",name:"softness"},{type:"i",name:"voxel"}],body:[0,[[13,"RES",[6,"d.f32",["VOXEL_SHADOW_RES"]]],[13,"texelWorld",[1,[1,"rBound","*",[5,"2"]],"/","RES"]],[13,"u",[6,"std.dot",["p","T1"]]],[13,"w",[6,"std.dot",["p","T2"]]],[13,"dL",[1,"rBound","-",[6,"std.dot",["p","L"]]]],[13,"mx",[1,[1,[1,[1,[1,"u","/","rBound"],"*",[5,"0.5"]],"+",[5,"0.5"]],"*","RES"],"-",[5,"0.5"]]],[13,"my",[1,[1,[1,[1,[1,"w","/","rBound"],"*",[5,"0.5"]],"+",[5,"0.5"]],"*","RES"],"-",[5,"0.5"]]],[13,"ref",[1,"dL","-",[1,[1,"voxel","*",[5,"0.05"]],"+",[1,"texelWorld","*",[5,"2"]]]]],[12,"shadow",[6,"d.f32",[[5,"0"]]]],[11,[1,"softness","<",[5,"0.001"]],[0,[[2,"shadow","=",[6,"shadowCompare",["tex","mx","my","ref"]]]]],[0,[[13,"k",[1,"softness","*","SOFT_TAN"]],[13,"rSearch",[6,"std.max",[[1,[6,"std.min",[[1,"rBound","*","k"],[1,"rBound","*",[5,"0.25"]]]],"/","texelWorld"],[5,"1"]]]],[12,"sum",[6,"d.f32",[[5,"0"]]]],[12,"count",[6,"d.f32",[[5,"0"]]]],[14,[12,"s",[5,"0"]],[1,"s","<",[5,"8"]],[102,"++","s"],[0,[[13,"r",[1,[6,"std.sqrt",[[1,[1,[6,"d.f32",["s"]],"+",[5,"0.5"]],"/",[5,"8"]]]],"*","rSearch"]],[13,"th",[1,[6,"d.f32",["s"]],"*","GOLDEN_ANGLE"]],[13,"sx",[6,"std.clamp",[[1,"mx","+",[1,[6,"std.cos",["th"]],"*","r"]],[6,"d.f32",[[5,"0"]]],[1,"RES","-",[5,"1"]]]]],[13,"sy",[6,"std.clamp",[[1,"my","+",[1,[6,"std.sin",["th"]],"*","r"]],[6,"d.f32",[[5,"0"]]],[1,"RES","-",[5,"1"]]]]],[13,"dep",[7,[6,"std.textureLoad",["tex",[6,"d.vec2u",[[6,"d.u32",["sx"]],[6,"d.u32",["sy"]]]],[5,"0"]]],"r"]],[11,[1,"dep","<","ref"],[0,[[2,"sum","=",[1,"sum","+","dep"]],[2,"count","=",[1,"count","+",[5,"1"]]]]]]]]],[11,[1,"count",">",[5,"0.5"]],[0,[[13,"avgBlocker",[1,"sum","/","count"]],[13,"penumbra",[6,"std.clamp",[[1,[1,[1,"dL","-","avgBlocker"],"*","k"],"/","texelWorld"],[5,"1"],"rSearch"]]],[12,"acc",[6,"d.f32",[[5,"0"]]]],[14,[12,"s",[5,"0"]],[1,"s","<",[5,"12"]],[102,"++","s"],[0,[[13,"r",[1,[6,"std.sqrt",[[1,[1,[6,"d.f32",["s"]],"+",[5,"0.5"]],"/",[5,"12"]]]],"*","penumbra"]],[13,"th",[1,[1,[6,"d.f32",["s"]],"*","GOLDEN_ANGLE"],"+",[5,"0.7"]]],[2,"acc","=",[1,"acc","+",[6,"shadowCompare",["tex",[1,"mx","+",[1,[6,"std.cos",["th"]],"*","r"]],[1,"my","+",[1,[6,"std.sin",["th"]],"*","r"]],"ref"]]]]]]],[2,"shadow","=",[1,"acc","/",[5,"12"]]]]]]]]],[10,"shadow"]]]},externals:{"d.f32":()=>a,VOXEL_SHADOW_RES:()=>Su,"std.dot":()=>se,shadowCompare:()=>Hm,SOFT_TAN:()=>Mb,"std.max":()=>b,"std.min":()=>oe,"std.sqrt":()=>be,GOLDEN_ANGLE:()=>Xm,"std.clamp":()=>$,"std.cos":()=>H,"std.sin":()=>Y,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"d.u32":()=>R}})&&e.f)({})).$name("voxelShadowLookup"),Pb=v.fn([f,f,f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=C(a(-1),a(1),s.x>=0),i=C(a(-1),a(1),s.y>=0),d=C(a(-1),a(1),s.z>=0),c=__tsover_div(n,b(z(s.x),1e-6)),_=__tsover_div(i,b(z(s.y),1e-6)),u=__tsover_div(d,b(z(s.z),1e-6)),m=__tsover_mul(__tsover_sub(__tsover_sub(r.x,o),t.x),c),p=__tsover_mul(__tsover_sub(__tsover_add(r.x,o),t.x),c),y=__tsover_mul(__tsover_sub(__tsover_sub(r.y,o),t.y),_),h=__tsover_mul(__tsover_sub(__tsover_add(r.y,o),t.y),_),g=__tsover_mul(__tsover_sub(__tsover_sub(r.z,o),t.z),u),w=__tsover_mul(__tsover_sub(__tsover_add(r.z,o),t.z),u),S=b(oe(m,p),b(oe(y,h),oe(g,w))),T=oe(b(m,p),oe(b(y,h),b(g,w))),A=__tsover_mul(C(a(0),a(1),S<=T),C(a(0),a(1),T>=0));return C(a(-1),b(S,a(0)),A>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ro"},{type:"i",name:"rd"},{type:"i",name:"c"},{type:"i",name:"h"}],body:[0,[[13,"sx",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"d.f32",[[5,"1"]]],[1,[7,"rd","x"],">=",[5,"0"]]]]],[13,"sy",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"d.f32",[[5,"1"]]],[1,[7,"rd","y"],">=",[5,"0"]]]]],[13,"sz",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"d.f32",[[5,"1"]]],[1,[7,"rd","z"],">=",[5,"0"]]]]],[13,"ix",[1,"sx","/",[6,"std.max",[[6,"std.abs",[[7,"rd","x"]]],[5,"0.000001"]]]]],[13,"iy",[1,"sy","/",[6,"std.max",[[6,"std.abs",[[7,"rd","y"]]],[5,"0.000001"]]]]],[13,"iz",[1,"sz","/",[6,"std.max",[[6,"std.abs",[[7,"rd","z"]]],[5,"0.000001"]]]]],[13,"t1x",[1,[1,[1,[7,"c","x"],"-","h"],"-",[7,"ro","x"]],"*","ix"]],[13,"t2x",[1,[1,[1,[7,"c","x"],"+","h"],"-",[7,"ro","x"]],"*","ix"]],[13,"t1y",[1,[1,[1,[7,"c","y"],"-","h"],"-",[7,"ro","y"]],"*","iy"]],[13,"t2y",[1,[1,[1,[7,"c","y"],"+","h"],"-",[7,"ro","y"]],"*","iy"]],[13,"t1z",[1,[1,[1,[7,"c","z"],"-","h"],"-",[7,"ro","z"]],"*","iz"]],[13,"t2z",[1,[1,[1,[7,"c","z"],"+","h"],"-",[7,"ro","z"]],"*","iz"]],[13,"tIn",[6,"std.max",[[6,"std.min",["t1x","t2x"]],[6,"std.max",[[6,"std.min",["t1y","t2y"]],[6,"std.min",["t1z","t2z"]]]]]]],[13,"tOut",[6,"std.min",[[6,"std.max",["t1x","t2x"]],[6,"std.min",[[6,"std.max",["t1y","t2y"]],[6,"std.max",["t1z","t2z"]]]]]]],[13,"ok",[1,[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"tIn","<=","tOut"]]],"*",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"tOut",">=",[5,"0"]]]]]],[10,[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"std.max",["tIn",[6,"d.f32",[[5,"0"]]]]],[1,"ok",">",[5,"0.5"]]]]]]]},externals:{"std.select":()=>C,"d.f32":()=>a,"std.max":()=>b,"std.abs":()=>z,"std.min":()=>oe}})&&e.f)({})).$name("voxelRayBox"),VW=v.fn([f,f,f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=t.sub(r),i=se(n,s),d=__tsover_sub(se(n,n),__tsover_mul(o,o)),c=__tsover_sub(__tsover_mul(i,i),d),_=__tsover_sub(__tsover_mul(i,-1),be(b(c,0))),u=__tsover_mul(C(a(0),a(1),c>=0),C(a(0),a(1),_>=0));return C(a(-1),_,u>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ro"},{type:"i",name:"rd"},{type:"i",name:"c"},{type:"i",name:"h"}],body:[0,[[13,"oc",[6,[7,"ro","sub"],["c"]]],[13,"b",[6,"std.dot",["oc","rd"]]],[13,"cc",[1,[6,"std.dot",["oc","oc"]],"-",[1,"h","*","h"]]],[13,"disc",[1,[1,"b","*","b"],"-","cc"]],[13,"t",[1,[1,"b","*",[4,"-",[5,"1"]]],"-",[6,"std.sqrt",[[6,"std.max",["disc",[5,"0"]]]]]]],[13,"ok",[1,[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"disc",">=",[5,"0"]]]],"*",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"t",">=",[5,"0"]]]]]],[10,[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],"t",[1,"ok",">",[5,"0.5"]]]]]]]},externals:{"std.dot":()=>se,"std.sqrt":()=>be,"std.max":()=>b,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})).$name("voxelRaySphere"),NW=v.fn([f,f,f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=Pb(t,s,r,o),d=a(-1);if(i>=0){let c=i,_=a(0);for(let u=0;u<8;u++){let m=Ec(t.add(s.mul(c)).sub(r),o,o,o,n);if(m<__tsover_mul(o,.004)){_=a(1);break}if(c=__tsover_add(c,m),c>__tsover_add(i,__tsover_mul(o,3.5)))break}d=C(a(-1),c,_>.5)}return d}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ro"},{type:"i",name:"rd"},{type:"i",name:"c"},{type:"i",name:"h"},{type:"i",name:"r"}],body:[0,[[13,"tBox",[6,"voxelRayBox",["ro","rd","c","h"]]],[12,"t",[6,"d.f32",[[4,"-",[5,"1"]]]]],[11,[1,"tBox",">=",[5,"0"]],[0,[[12,"s","tBox"],[12,"hit",[6,"d.f32",[[5,"0"]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"8"]],[102,"++","i"],[0,[[13,"p",[6,[7,[6,[7,"ro","add"],[[6,[7,"rd","mul"],["s"]]]],"sub"],["c"]]],[13,"dd",[6,"sdRoundBox",["p","h","h","h","r"]]],[11,[1,"dd","<",[1,"h","*",[5,"0.004"]]],[0,[[2,"hit","=",[6,"d.f32",[[5,"1"]]]],[17]]]],[2,"s","=",[1,"s","+","dd"]],[11,[1,"s",">",[1,"tBox","+",[1,"h","*",[5,"3.5"]]]],[0,[[17]]]]]]],[2,"t","=",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],"s",[1,"hit",">",[5,"0.5"]]]]]]]],[10,"t"]]]},externals:{voxelRayBox:()=>Pb,"d.f32":()=>a,sdRoundBox:()=>Ec,"std.select":()=>C}})&&e.f)({})).$name("voxelRayRoundedBox");var zG=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_sub(1,t),o=re(0,.14,t),n=re(.68,.92,t);return X(r,X(a(1),__tsover_mul(.72,__tsover_sub(1,n)),o),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"shape"}],body:[0,[[13,"sRound",[1,[5,"1"],"-","t"]],[13,"k1",[6,"std.smoothstep",[[5,"0"],[5,"0.14"],"t"]]],[13,"k2",[6,"std.smoothstep",[[5,"0.68"],[5,"0.92"],"t"]]],[13,"sMach",[6,"std.mix",[[6,"d.f32",[[5,"1"]]],[1,[5,"0.72"],"*",[1,[5,"1"],"-","k2"]],"k1"]]],[10,[6,"std.mix",["sRound","sMach","shape"]]]]]},externals:{"std.smoothstep":()=>re,"std.mix":()=>X,"d.f32":()=>a}})&&e.f)({})),sw=Za({BLUR_DISK:()=>Ya,GlassLensUVs:()=>hl,applyGlassEffect:()=>YG,glassBlurOffset:()=>aw,glassBorderHighlight:()=>Af,glassComposite:()=>iw,glassFresnelRim:()=>Pf,glassGradient:()=>ow,glassLensUVs:()=>nw,glassRefrStrength:()=>$c,glassSpecular:()=>Mf,glassTint:()=>Sf,offsetUV:()=>Tf,sdfSpaceUV:()=>rw}),ra=.017453292519943295,tl=.4472135954999579,GG=2.3999632297286535,wf=9,Ya=[];for(let e=0;e(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=t.x,d=__tsover_sub(1,t.y),c=__tsover_mul(__tsover_sub(o.x,i),n),_=__tsover_sub(o.y,d),u=__tsover_mul(r,ra),m=H(u),p=Y(u),y=__tsover_add(__tsover_mul(c,m),__tsover_mul(_,p)),h=__tsover_sub(__tsover_mul(_,m),__tsover_mul(c,p));return l(__tsover_add(__tsover_div(y,s),.5),__tsover_add(__tsover_div(h,s),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"scale"},{type:"i",name:"rotation"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"centerX",[7,"center","x"]],[13,"centerY",[1,[5,"1"],"-",[7,"center","y"]]],[13,"dxAc",[1,[1,[7,"uv","x"],"-","centerX"],"*","aspect"]],[13,"dy",[1,[7,"uv","y"],"-","centerY"]],[13,"rotRad",[1,"rotation","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rdx",[1,[1,"dxAc","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dxAc","*","sinR"]]],[10,[6,"d.vec2f",[[1,[1,"rdx","/","scale"],"+",[5,"0.5"]],[1,[1,"rdy","/","scale"],"+",[5,"0.5"]]]]]]]},externals:{DEG_TO_RAD:()=>ra,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),Tf=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_add(t.x,s),__tsover_add(t.y,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+","ox"],[1,[7,"uv","y"],"+","oy"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),ow=v.fn([a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_div(__tsover_sub(s,t),.01),__tsover_div(__tsover_sub(r,t),.01))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdfRaw"},{type:"i",name:"sdfX"},{type:"i",name:"sdfY"}],body:[0,[[13,"eps",[5,"0.01"]],[10,[6,"d.vec2f",[[1,[1,"sdfX","-","sdfRaw"],"/","eps"],[1,[1,"sdfY","-","sdfRaw"],"/","eps"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),$c=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=b(__tsover_mul(s,.3),.005),n=$(__tsover_div(__tsover_mul(t,-1),o),0,1),i=re(0,1,n);return C(__tsover_mul(__tsover_sub(1,n),__tsover_sub(1,n)),i,r>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"thickness"},{type:"i",name:"volumetric"}],body:[0,[[13,"thicknessRange",[6,"std.max",[[1,"thickness","*",[5,"0.3"]],[5,"0.005"]]]],[13,"depthNorm",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","thicknessRange"],[5,"0"],[5,"1"]]]],[13,"vol",[6,"std.smoothstep",[[5,"0"],[5,"1"],"depthNorm"]]],[13,"flat",[1,[1,[5,"1"],"-","depthNorm"],"*",[1,[5,"1"],"-","depthNorm"]]],[10,[6,"std.select",["flat","vol",[1,"volumetric",">",[5,"0.5"]]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.smoothstep":()=>re,"std.select":()=>C}})&&e.f)({})),hl=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({lensUV:l,rUV:l,bUV:l}),"GlassLensUVs"),nw=v.fn([l,l,a,a,a,a,a,a,a,a,a,a],hl)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p)=>{"use gpu";let y=$c(__tsover_div(r,o),_,p),h=__tsover_mul(d,.15),g=b(be(__tsover_add(__tsover_mul(n,n),__tsover_mul(i,i))),1e-4),w=oe(a(1),__tsover_div(12,g)),S=__tsover_div(__tsover_mul(__tsover_mul(__tsover_mul(__tsover_mul(n,w),-1),h),y),m),T=__tsover_mul(__tsover_mul(__tsover_mul(__tsover_mul(i,w),-1),h),y),A=s.x,P=__tsover_sub(1,s.y),U=__tsover_add(A,__tsover_div(__tsover_sub(t.x,A),c)),D=__tsover_add(P,__tsover_div(__tsover_sub(t.y,P),c)),O=__tsover_add(U,S),L=__tsover_add(D,T),G=__tsover_mul(u,.06),W=__tsover_mul(S,G),K=__tsover_mul(T,G);return hl({lensUV:l(O,L),rUV:l(__tsover_add(O,W),__tsover_add(L,K)),bUV:l(__tsover_sub(O,W),__tsover_sub(L,K))})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"center"},{type:"i",name:"sdfRaw"},{type:"i",name:"scale"},{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"refraction"},{type:"i",name:"innerZoom"},{type:"i",name:"thickness"},{type:"i",name:"aberration"},{type:"i",name:"aspect"},{type:"i",name:"volumetric"}],body:[0,[[13,"sdf",[1,"sdfRaw","/","scale"]],[13,"refrStrength",[6,"glassRefrStrength",["sdf","thickness","volumetric"]]],[13,"refrScale",[1,"refraction","*",[5,"0.15"]]],[13,"slopeLen",[6,"std.max",[[6,"std.sqrt",[[1,[1,"gradX","*","gradX"],"+",[1,"gradY","*","gradY"]]]],[5,"0.0001"]]]],[13,"slopeScale",[6,"std.min",[[6,"d.f32",[[5,"1"]]],[1,[5,"12"],"/","slopeLen"]]]],[13,"offsetX",[1,[1,[1,[1,[1,"gradX","*","slopeScale"],"*",[4,"-",[5,"1"]]],"*","refrScale"],"*","refrStrength"],"/","aspect"]],[13,"offsetY",[1,[1,[1,[1,"gradY","*","slopeScale"],"*",[4,"-",[5,"1"]]],"*","refrScale"],"*","refrStrength"]],[13,"centerX",[7,"center","x"]],[13,"centerY",[1,[5,"1"],"-",[7,"center","y"]]],[13,"zoomedX",[1,"centerX","+",[1,[1,[7,"uv","x"],"-","centerX"],"/","innerZoom"]]],[13,"zoomedY",[1,"centerY","+",[1,[1,[7,"uv","y"],"-","centerY"],"/","innerZoom"]]],[13,"lensX",[1,"zoomedX","+","offsetX"]],[13,"lensY",[1,"zoomedY","+","offsetY"]],[13,"chrScale",[1,"aberration","*",[5,"0.06"]]],[13,"chrOffX",[1,"offsetX","*","chrScale"]],[13,"chrOffY",[1,"offsetY","*","chrScale"]],[10,[6,"GlassLensUVs",[[104,{lensUV:[6,"d.vec2f",["lensX","lensY"]],rUV:[6,"d.vec2f",[[1,"lensX","+","chrOffX"],[1,"lensY","+","chrOffY"]]],bUV:[6,"d.vec2f",[[1,"lensX","-","chrOffX"],[1,"lensY","-","chrOffY"]]]}]]]]]]},externals:{glassRefrStrength:()=>$c,"std.max":()=>b,"std.sqrt":()=>be,"std.min":()=>oe,"d.f32":()=>a,GlassLensUVs:()=>hl,"d.vec2f":()=>l}})&&e.f)({})),aw=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,2);return l(__tsover_mul(__tsover_div(r,t.x),n),__tsover_mul(__tsover_div(o,t.y),n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"viewportSize"},{type:"i",name:"blur"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[13,"m",[1,"blur","*",[5,"2"]]],[10,[6,"d.vec2f",[[1,[1,"ox","/",[7,"viewportSize","x"]],"*","m"],[1,[1,"oy","/",[7,"viewportSize","y"]],"*","m"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Sf=v.fn([f,f,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=f(.299,.587,.114),i=se(t,n),d=X(t,s,r),c=se(d,n);return X(d,d.mul(__tsover_div(i,b(c,1e-4))),C(a(0),a(1),o>.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"tintColor"},{type:"i",name:"tintIntensity"},{type:"i",name:"preserveLum"}],body:[0,[[13,"lumWeights",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]],[13,"origLum",[6,"std.dot",["rgb","lumWeights"]]],[13,"tinted",[6,"std.mix",["rgb","tintColor","tintIntensity"]]],[13,"tintedLum",[6,"std.dot",["tinted","lumWeights"]]],[13,"lumPreserved",[6,[7,"tinted","mul"],[[1,"origLum","/",[6,"std.max",["tintedLum",[5,"0.0001"]]]]]]],[13,"preserveFactor",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"preserveLum",">",[5,"0.5"]]]]],[10,[6,"std.mix",["tinted","lumPreserved","preserveFactor"]]]]]},externals:{"d.vec3f":()=>f,"std.dot":()=>se,"std.mix":()=>X,"std.max":()=>b,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})),Af=v.fn([a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=b(__tsover_mul(s,.5),.001),_=b(__tsover_mul(c,.0625),__tsover_mul(r,1.5)),u=__tsover_sub(t,r),m=__tsover_sub($(__tsover_div(__tsover_mul(u,-1),_),0,1),$(__tsover_div(__tsover_mul(t,-1),_),0,1)),p=H(__tsover_mul(i,ra)),y=Y(__tsover_mul(i,ra)),h=__tsover_add(__tsover_mul(o,p),__tsover_mul(n,y)),g=$(__tsover_add(__tsover_mul(h,.5),.5),0,1);return __tsover_mul(__tsover_mul(m,g),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"edgeSoftness"},{type:"i",name:"pxH"},{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"lightAngle"},{type:"i",name:"highlight"}],body:[0,[[13,"sharp",[6,"std.max",[[1,"edgeSoftness","*",[5,"0.5"]],[5,"0.001"]]]],[13,"w2",[6,"std.max",[[1,"sharp","*",[5,"0.0625"]],[1,"pxH","*",[5,"1.5"]]]]],[13,"sdfOuter",[1,"sdf","-","pxH"]],[13,"rb2base",[1,[6,"std.clamp",[[1,[1,"sdfOuter","*",[4,"-",[5,"1"]]],"/","w2"],[5,"0"],[5,"1"]]],"-",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","w2"],[5,"0"],[5,"1"]]]]],[13,"lx",[6,"std.cos",[[1,"lightAngle","*","DEG_TO_RAD"]]]],[13,"ly",[6,"std.sin",[[1,"lightAngle","*","DEG_TO_RAD"]]]],[13,"normalDotLight",[1,[1,"gradX","*","lx"],"+",[1,"gradY","*","ly"]]],[13,"lightFacing",[6,"std.clamp",[[1,[1,"normalDotLight","*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[10,[1,[1,"rb2base","*","lightFacing"],"*","highlight"]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.cos":()=>H,DEG_TO_RAD:()=>ra,"std.sin":()=>Y}})&&e.f)({})),Mf=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=H(__tsover_mul(r,ra)),c=Y(__tsover_mul(r,ra)),_=a(2),u=be(__tsover_add(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s)),__tsover_mul(_,_))),m=__tsover_div(t,u),p=__tsover_div(s,u),y=__tsover_div(_,u),h=__tsover_add(__tsover_add(__tsover_mul(m,__tsover_mul(d,tl)),__tsover_mul(p,__tsover_mul(c,tl))),__tsover_mul(y,__tsover_mul(2,tl))),g=$l(__tsover_sub(8,__tsover_mul(n,7)));return __tsover_mul(__tsover_mul(Ce($(h,0,1),g),o),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"lightAngle"},{type:"i",name:"highlight"},{type:"i",name:"highlightSoftness"},{type:"i",name:"refrStrength"}],body:[0,[[13,"lx",[6,"std.cos",[[1,"lightAngle","*","DEG_TO_RAD"]]]],[13,"ly",[6,"std.sin",[[1,"lightAngle","*","DEG_TO_RAD"]]]],[13,"nz",[6,"d.f32",[[5,"2"]]]],[13,"nLen",[6,"std.sqrt",[[1,[1,[1,"gradX","*","gradX"],"+",[1,"gradY","*","gradY"]],"+",[1,"nz","*","nz"]]]]],[13,"nx",[1,"gradX","/","nLen"]],[13,"ny",[1,"gradY","/","nLen"]],[13,"nnz",[1,"nz","/","nLen"]],[13,"nDotH",[1,[1,[1,"nx","*",[1,"lx","*","INV_HLEN_GLASS"]],"+",[1,"ny","*",[1,"ly","*","INV_HLEN_GLASS"]]],"+",[1,"nnz","*",[1,[5,"2"],"*","INV_HLEN_GLASS"]]]],[13,"shininess",[6,"std.exp2",[[1,[5,"8"],"-",[1,"highlightSoftness","*",[5,"7"]]]]]],[10,[1,[1,[6,"std.pow",[[6,"std.clamp",["nDotH",[5,"0"],[5,"1"]]],"shininess"]],"*","highlight"],"*","refrStrength"]]]]},externals:{"std.cos":()=>H,DEG_TO_RAD:()=>ra,"std.sin":()=>Y,"d.f32":()=>a,"std.sqrt":()=>be,INV_HLEN_GLASS:()=>tl,"std.exp2":()=>$l,"std.pow":()=>Ce,"std.clamp":()=>$}})&&e.f)({})),Pf=v.fn([a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_add(__tsover_mul(s,s),__tsover_mul(r,r)),_=__tsover_div(1,be(__tsover_add(c,1))),u=X(6,1.5,$(n,0,1)),m=__tsover_mul(__tsover_mul(__tsover_mul(Ce(__tsover_sub(1,_),u),o),2),i),p=b(__tsover_mul(n,.06),.001),y=$(__tsover_div(__tsover_mul(t,-1),p),0,1);return C(__tsover_mul(__tsover_mul(__tsover_mul(__tsover_sub(1,y),__tsover_sub(1,y)),o),i),m,d>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"fresnel"},{type:"i",name:"fresnelSoftness"},{type:"i",name:"rb1"},{type:"i",name:"volumetric"}],body:[0,[[13,"slopeSq",[1,[1,"gradX","*","gradX"],"+",[1,"gradY","*","gradY"]]],[13,"cosView",[1,[5,"1"],"/",[6,"std.sqrt",[[1,"slopeSq","+",[5,"1"]]]]]],[13,"exponent",[6,"std.mix",[[5,"6"],[5,"1.5"],[6,"std.clamp",["fresnelSoftness",[5,"0"],[5,"1"]]]]]],[13,"volRim",[1,[1,[1,[6,"std.pow",[[1,[5,"1"],"-","cosView"],"exponent"]],"*","fresnel"],"*",[5,"2"]],"*","rb1"]],[13,"fresnelWidth",[6,"std.max",[[1,"fresnelSoftness","*",[5,"0.06"]],[5,"0.001"]]]],[13,"fresnelDepth",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","fresnelWidth"],[5,"0"],[5,"1"]]]],[13,"flatRim",[1,[1,[1,[1,[5,"1"],"-","fresnelDepth"],"*",[1,[5,"1"],"-","fresnelDepth"]],"*","fresnel"],"*","rb1"]],[10,[6,"std.select",["flatRim","volRim",[1,"volumetric",">",[5,"0.5"]]]]]]]},externals:{"std.sqrt":()=>be,"std.mix":()=>X,"std.clamp":()=>$,"std.pow":()=>Ce,"std.max":()=>b,"std.select":()=>C}})&&e.f)({})),iw=v.fn([x,x,a,a,a,a,l,a,a,a,f,a,a,f,a,a,f,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p,y,h,g,w,S,T,A,P,U)=>{"use gpu";let D=b(__tsover_mul(c,.5),.001),O=__tsover_div(1,d.y),L=__tsover_div(r,o),G=b(__tsover_mul(D,.03125),__tsover_mul(O,1.5)),W=$(__tsover_div(__tsover_mul(L,-1),G),0,1),K=$c(L,w,U),Q=Af(L,c,O,n,i,_,u),te=Sf(f(s.x,s.y,s.z),S,T,A),ee=Mf(n,i,_,u,p,K),he=Pf(L,n,i,y,g,W,U),Ee=x(__tsover_add(__tsover_add(__tsover_add(te.x,__tsover_mul(m.x,Q)),__tsover_mul(m.x,ee)),__tsover_mul(h.x,he)),__tsover_add(__tsover_add(__tsover_add(te.y,__tsover_mul(m.y,Q)),__tsover_mul(m.y,ee)),__tsover_mul(h.y,he)),__tsover_add(__tsover_add(__tsover_add(te.z,__tsover_mul(m.z,Q)),__tsover_mul(m.z,ee)),__tsover_mul(h.z,he)),__tsover_add(s.w,Q)),Te=re(0,1,W),Ue=X(t,Ee,Te),Me=C(a(1),Te,P>.5);return x(Ue.x,Ue.y,Ue.z,__tsover_mul(Ue.w,Me))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"baseColor"},{type:"i",name:"blurred"},{type:"i",name:"sdfRaw"},{type:"i",name:"scale"},{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"viewportSize"},{type:"i",name:"edgeSoftness"},{type:"i",name:"lightAngle"},{type:"i",name:"highlight"},{type:"i",name:"highlightColor"},{type:"i",name:"highlightSoftness"},{type:"i",name:"fresnel"},{type:"i",name:"fresnelColor"},{type:"i",name:"fresnelSoftness"},{type:"i",name:"thickness"},{type:"i",name:"tintColor"},{type:"i",name:"tintIntensity"},{type:"i",name:"tintPreserveLuminosity"},{type:"i",name:"cutout"},{type:"i",name:"volumetric"}],body:[0,[[13,"sharp",[6,"std.max",[[1,"edgeSoftness","*",[5,"0.5"]],[5,"0.001"]]]],[13,"pxH",[1,[5,"1"],"/",[7,"viewportSize","y"]]],[13,"sdf",[1,"sdfRaw","/","scale"]],[13,"w1",[6,"std.max",[[1,"sharp","*",[5,"0.03125"]],[1,"pxH","*",[5,"1.5"]]]]],[13,"rb1",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","w1"],[5,"0"],[5,"1"]]]],[13,"refrStrength",[6,"glassRefrStrength",["sdf","thickness","volumetric"]]],[13,"rb2",[6,"glassBorderHighlight",["sdf","edgeSoftness","pxH","gradX","gradY","lightAngle","highlight"]]],[13,"blurredRgb",[6,"d.vec3f",[[7,"blurred","x"],[7,"blurred","y"],[7,"blurred","z"]]]],[13,"tintedRgb",[6,"glassTint",["blurredRgb","tintColor","tintIntensity","tintPreserveLuminosity"]]],[13,"specGlint",[6,"glassSpecular",["gradX","gradY","lightAngle","highlight","highlightSoftness","refrStrength"]]],[13,"fresnelRim",[6,"glassFresnelRim",["sdf","gradX","gradY","fresnel","fresnelSoftness","rb1","volumetric"]]],[13,"litR",[1,[1,[1,[7,"tintedRgb","x"],"+",[1,[7,"highlightColor","x"],"*","rb2"]],"+",[1,[7,"highlightColor","x"],"*","specGlint"]],"+",[1,[7,"fresnelColor","x"],"*","fresnelRim"]]],[13,"litG",[1,[1,[1,[7,"tintedRgb","y"],"+",[1,[7,"highlightColor","y"],"*","rb2"]],"+",[1,[7,"highlightColor","y"],"*","specGlint"]],"+",[1,[7,"fresnelColor","y"],"*","fresnelRim"]]],[13,"litB",[1,[1,[1,[7,"tintedRgb","z"],"+",[1,[7,"highlightColor","z"],"*","rb2"]],"+",[1,[7,"highlightColor","z"],"*","specGlint"]],"+",[1,[7,"fresnelColor","z"],"*","fresnelRim"]]],[13,"litA",[1,[7,"blurred","w"],"+","rb2"]],[13,"lighting",[6,"d.vec4f",["litR","litG","litB","litA"]]],[13,"transition",[6,"std.smoothstep",[[5,"0"],[5,"1"],"rb1"]]],[13,"composited",[6,"std.mix",["baseColor","lighting","transition"]]],[13,"cutoutAlpha",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"transition",[1,"cutout",">",[5,"0.5"]]]]],[10,[6,"d.vec4f",[[7,"composited","x"],[7,"composited","y"],[7,"composited","z"],[1,[7,"composited","w"],"*","cutoutAlpha"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,glassRefrStrength:()=>$c,glassBorderHighlight:()=>Af,"d.vec3f":()=>f,glassTint:()=>Sf,glassSpecular:()=>Mf,glassFresnelRim:()=>Pf,"d.vec4f":()=>x,"std.smoothstep":()=>re,"std.mix":()=>X,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({}));function YG(e,t,s,r,o){let{uniforms:n,propValues:i,ctx:d}=e,c=o?.volumetric??!1,_=o?.bakedGradients??!1,u=vt(c?1:0),m=ur(we(rw,"sdfSpaceUV",[n.center,n.scale,n.rotation,d.uv,d.aspect]),"glassSdfUV"),p=ur(t(m),"glassSurf"),y=p.member("r"),h,g;if(_)h=p.member("g"),g=p.member("b");else{let Q=t(we(Tf,"offsetUV",[m,vt(.01),vt(0)])),te=t(we(Tf,"offsetUV",[m,vt(0),vt(.01)])),ee=ur(we(ow,"glassGradient",[y,Q.member("r"),te.member("r")]),"glassGrad");h=ee.member("x"),g=ee.member("y")}let w=ur(we(nw,"glassLensUVs",[d.uv,n.center,y,n.scale,h,g,n.refraction,n.innerZoom,n.thickness,n.aberration,d.aspect,u]),"glassLens"),S=w.member("lensUV"),T=w.member("rUV"),A=w.member("bUV"),P=i.blur,U=typeof P=="number"?P>0:!0,D=i.aberration,O=typeof D=="number"?D>0:!0,L=(Q,te,ee,he)=>Q.sample(te.add(we(aw,"glassBlurOffset",[d.viewportSize,n.blur,vt(ee),vt(he)]))),G=(Q,te)=>{let ee=L(Q,te,Ya[0][0],Ya[0][1]);for(let he=1;he(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(t.x,t.y),o=__tsover_div(s.x,s.y),n=b(__tsover_div(o,r),1);return l(__tsover_mul(__tsover_div(r,o),n),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dims"},{type:"i",name:"vp"}],body:[0,[[13,"aspect",[1,[7,"dims","x"],"/",[7,"dims","y"]]],[13,"viewportAspect",[1,[7,"vp","x"],"/",[7,"vp","y"]]],[13,"coverScale",[6,"std.max",[[1,"viewportAspect","/","aspect"],[5,"1"]]]],[10,[6,"d.vec2f",[[1,[1,"aspect","/","viewportAspect"],"*","coverScale"],"coverScale"]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),XW=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(t.x,t.y),o=__tsover_div(s.x,s.y),n=oe(__tsover_div(o,r),1);return l(__tsover_mul(__tsover_div(r,o),n),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dims"},{type:"i",name:"vp"}],body:[0,[[13,"aspect",[1,[7,"dims","x"],"/",[7,"dims","y"]]],[13,"viewportAspect",[1,[7,"vp","x"],"/",[7,"vp","y"]]],[13,"containScale",[6,"std.min",[[1,"viewportAspect","/","aspect"],[5,"1"]]]],[10,[6,"d.vec2f",[[1,[1,"aspect","/","viewportAspect"],"*","containScale"],"containScale"]]]]]},externals:{"std.min":()=>oe,"d.vec2f":()=>l}})&&e.f)({})),HW=v.fn([],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(()=>{"use gpu";return l(1,1)}),{v:2,name:void 0,ast:{params:[],body:[0,[[10,[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),jW=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(t.x,t.y),o=__tsover_div(s.x,s.y),n=oe(oe(__tsover_div(o,r),1),oe(__tsover_div(s.x,t.x),__tsover_div(s.y,t.y)));return l(__tsover_mul(__tsover_div(r,o),n),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dims"},{type:"i",name:"vp"}],body:[0,[[13,"aspect",[1,[7,"dims","x"],"/",[7,"dims","y"]]],[13,"viewportAspect",[1,[7,"vp","x"],"/",[7,"vp","y"]]],[13,"containScale",[6,"std.min",[[1,"viewportAspect","/","aspect"],[5,"1"]]]],[13,"naturalScale",[6,"std.min",[[1,[7,"vp","x"],"/",[7,"dims","x"]],[1,[7,"vp","y"],"/",[7,"dims","y"]]]]],[13,"scaleDownScale",[6,"std.min",["containScale","naturalScale"]]],[10,[6,"d.vec2f",[[1,[1,"aspect","/","viewportAspect"],"*","scaleDownScale"],"scaleDownScale"]]]]]},externals:{"std.min":()=>oe,"d.vec2f":()=>l}})&&e.f)({})),KW=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(t.x,t.y),o=__tsover_div(s.x,s.y),n=oe(__tsover_div(s.x,t.x),__tsover_div(s.y,t.y));return l(__tsover_mul(__tsover_div(r,o),n),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dims"},{type:"i",name:"vp"}],body:[0,[[13,"aspect",[1,[7,"dims","x"],"/",[7,"dims","y"]]],[13,"viewportAspect",[1,[7,"vp","x"],"/",[7,"vp","y"]]],[13,"noneScale",[6,"std.min",[[1,[7,"vp","x"],"/",[7,"dims","x"]],[1,[7,"vp","y"],"/",[7,"dims","y"]]]]],[10,[6,"d.vec2f",[[1,[1,"aspect","/","viewportAspect"],"*","noneScale"],"noneScale"]]]]]},externals:{"std.min":()=>oe,"d.vec2f":()=>l}})&&e.f)({})),ZW=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.sub(l(.5,.5));return l(__tsover_div(r.x,s.x),__tsover_div(r.y,s.y)).add(l(.5,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"uvScale"}],body:[0,[[13,"centeredUV",[6,[7,"uv","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"scaledUV",[6,"d.vec2f",[[1,[7,"centeredUV","x"],"/",[7,"uvScale","x"]],[1,[7,"centeredUV","y"],"/",[7,"uvScale","y"]]]]],[10,[6,[7,"scaledUV","add"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),QW=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(C(t.x,__tsover_sub(1,t.x),s>0),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"mirror"}],body:[0,[[13,"mirroredX",[6,"std.select",[[7,"uv","x"],[1,[5,"1"],"-",[7,"uv","x"]],[1,"mirror",">",[5,"0"]]]]],[10,[6,"d.vec2f",["mirroredX",[7,"uv","y"]]]]]]},externals:{"std.select":()=>C,"d.vec2f":()=>l}})&&e.f)({})),JW=v.fn([x,l],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=y3(f(t.x,t.y,t.z)),o=s.x<0||s.x>1||s.y<0||s.y>1,n=C(t.w,0,o);return x(r.x,r.y,r.z,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"}],body:[0,[[13,"linear",[6,"srgbToLinear",[[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]]]],[13,"outOfBounds",[3,[3,[3,[1,[7,"uv","x"],"<",[5,"0"]],"||",[1,[7,"uv","x"],">",[5,"1"]]],"||",[1,[7,"uv","y"],"<",[5,"0"]]],"||",[1,[7,"uv","y"],">",[5,"1"]]]],[13,"alpha",[6,"std.select",[[7,"color","w"],[5,"0"],"outOfBounds"]]],[10,[6,"d.vec4f",[[7,"linear","x"],[7,"linear","y"],[7,"linear","z"],"alpha"]]]]]},externals:{srgbToLinear:()=>y3,"d.vec3f":()=>f,"std.select":()=>C,"d.vec4f":()=>x}})&&e.f)({}));var eO=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=z(s),i=__tsover_sub(r,t),d=o,c=__tsover_mul(r,2),_=$(__tsover_div(__tsover_add(__tsover_mul(n,d),__tsover_mul(i,c)),b(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c)),1e-9)),0,1),u=__tsover_sub(n,__tsover_mul(d,_)),m=__tsover_sub(i,__tsover_mul(c,_)),p=__tsover_sub(n,__tsover_mul(d,$(__tsover_div(n,b(d,1e-9)),0,1))),y=__tsover_sub(i,c),h=oe(__tsover_add(__tsover_mul(u,u),__tsover_mul(m,m)),__tsover_add(__tsover_mul(p,p),__tsover_mul(y,y))),g=oe(__tsover_sub(__tsover_mul(i,d),__tsover_mul(n,c)),__tsover_sub(c,i))>0;return C(be(h),-be(h),g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"n"},{type:"i",name:"hl"},{type:"i",name:"hw"}],body:[0,[[13,"px",[6,"std.abs",["n"]]],[13,"py",[1,"hl","-","t"]],[13,"qx","hw"],[13,"qy",[1,"hl","*",[5,"2"]]],[13,"k",[6,"std.clamp",[[1,[1,[1,"px","*","qx"],"+",[1,"py","*","qy"]],"/",[6,"std.max",[[1,[1,"qx","*","qx"],"+",[1,"qy","*","qy"]],[5,"1e-9"]]]],[5,"0"],[5,"1"]]]],[13,"ax",[1,"px","-",[1,"qx","*","k"]]],[13,"ay",[1,"py","-",[1,"qy","*","k"]]],[13,"bx",[1,"px","-",[1,"qx","*",[6,"std.clamp",[[1,"px","/",[6,"std.max",["qx",[5,"1e-9"]]]],[5,"0"],[5,"1"]]]]]],[13,"by",[1,"py","-","qy"]],[13,"dSq",[6,"std.min",[[1,[1,"ax","*","ax"],"+",[1,"ay","*","ay"]],[1,[1,"bx","*","bx"],"+",[1,"by","*","by"]]]]],[13,"sA",[1,[1,"py","*","qx"],"-",[1,"px","*","qy"]]],[13,"sB",[1,"qy","-","py"]],[13,"inside",[1,[6,"std.min",["sA","sB"]],">",[5,"0"]]],[10,[6,"std.select",[[6,"std.sqrt",["dSq"]],[4,"-",[6,"std.sqrt",["dSq"]]],"inside"]]]]]},externals:{"std.abs":()=>z,"std.clamp":()=>$,"std.max":()=>b,"std.min":()=>oe,"std.select":()=>C,"std.sqrt":()=>be}})&&e.f)({})).$name("agentArrowSdf"),tO=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(t,$(t,-r,r));return __tsover_sub(be(__tsover_add(__tsover_mul(n,n),__tsover_mul(s,s))),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"n"},{type:"i",name:"hl"},{type:"i",name:"r"}],body:[0,[[13,"tc",[1,"t","-",[6,"std.clamp",["t",[4,"-","hl"],"hl"]]]],[10,[1,[6,"std.sqrt",[[1,[1,"tc","*","tc"],"+",[1,"n","*","n"]]]],"-","r"]]]]},externals:{"std.clamp":()=>$,"std.sqrt":()=>be}})&&e.f)({})).$name("agentCapsuleSdf"),sO=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(z(t),r),i=__tsover_sub(z(s),o),d=b(n,0),c=b(i,0);return __tsover_add(be(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c))),oe(b(n,i),0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"n"},{type:"i",name:"hl"},{type:"i",name:"hw"}],body:[0,[[13,"qx",[1,[6,"std.abs",["t"]],"-","hl"]],[13,"qy",[1,[6,"std.abs",["n"]],"-","hw"]],[13,"ox",[6,"std.max",["qx",[5,"0"]]]],[13,"oy",[6,"std.max",["qy",[5,"0"]]]],[10,[1,[6,"std.sqrt",[[1,[1,"ox","*","ox"],"+",[1,"oy","*","oy"]]]],"+",[6,"std.min",[[6,"std.max",["qx","qy"]],[5,"0"]]]]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.sqrt":()=>be,"std.min":()=>oe}})&&e.f)({})).$name("agentBoxSdf");var rO=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=j(t),i=C(l(0,0),t.div(b(n,1e-5)).mul(r),n>1e-5).sub(s),d=j(i);return C(i,i.div(b(d,1e-5)).mul(o),d>o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dir"},{type:"i",name:"vel"},{type:"i",name:"maxSpeed"},{type:"i",name:"maxForce"}],body:[0,[[13,"len",[6,"std.length",["dir"]]],[13,"desired",[6,"std.select",[[6,"d.vec2f",[[5,"0"],[5,"0"]]],[6,[7,[6,[7,"dir","div"],[[6,"std.max",["len",[5,"0.00001"]]]]],"mul"],["maxSpeed"]],[1,"len",">",[5,"0.00001"]]]]],[13,"steer",[6,[7,"desired","sub"],["vel"]]],[13,"sl",[6,"std.length",["steer"]]],[10,[6,"std.select",["steer",[6,[7,[6,[7,"steer","div"],[[6,"std.max",["sl",[5,"0.00001"]]]]],"mul"],["maxForce"]],[1,"sl",">","maxForce"]]]]]]},externals:{"std.length":()=>j,"std.select":()=>C,"d.vec2f":()=>l,"std.max":()=>b}})&&e.f)({})).$name("agentReynoldsSteer"),oO=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(.82,__tsover_mul(Gs(__tsover_add(__tsover_mul(t,.61803),.13)),.4))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fi"}],body:[0,[[10,[1,[5,"0.82"],"+",[1,[6,"noise.hash11",[[1,[1,"fi","*",[5,"0.61803"]],"+",[5,"0.13"]]]],"*",[5,"0.4"]]]]]]},externals:{"noise.hash11":()=>Gs}})&&e.f)({})).$name("agentCruiseVariation"),nO=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(.55,__tsover_mul(Gs(__tsover_add(__tsover_mul(t,1.91),2.53)),.7))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fi"}],body:[0,[[10,[1,[5,"0.55"],"+",[1,[6,"noise.hash11",[[1,[1,"fi","*",[5,"1.91"]],"+",[5,"2.53"]]]],"*",[5,"0.7"]]]]]]},externals:{"noise.hash11":()=>Gs}})&&e.f)({})).$name("agentPresenceVariation"),aO=v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=$(t.w,0,1),o=__tsover_add(r,__tsover_mul(s.w,__tsover_sub(1,r))),n=t.xyz.mul(r).add(s.xyz.mul(__tsover_mul(s.w,__tsover_sub(1,r)))).div(b(o,1e-4));return x(n.x,n.y,n.z,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"c"}],body:[0,[[13,"pa",[6,"std.clamp",[[7,"p","w"],[5,"0"],[5,"1"]]]],[13,"outA",[1,"pa","+",[1,[7,"c","w"],"*",[1,[5,"1"],"-","pa"]]]],[13,"rgb",[6,[7,[6,[7,[6,[7,[7,"p","xyz"],"mul"],["pa"]],"add"],[[6,[7,[7,"c","xyz"],"mul"],[[1,[7,"c","w"],"*",[1,[5,"1"],"-","pa"]]]]]],"div"],[[6,"std.max",["outA",[5,"0.0001"]]]]]],[10,[6,"d.vec4f",[[7,"rgb","x"],[7,"rgb","y"],[7,"rgb","z"],"outA"]]]]]},externals:{"std.clamp":()=>$,"std.max":()=>b,"d.vec4f":()=>x}})&&e.f)({})).$name("agentStraightAlphaOver"),iO=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=se(s,t);return C(t.mul(__tsover_mul(2,o)).sub(s),t,r>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rhat"},{type:"i",name:"axis"},{type:"i",name:"fieldType"}],body:[0,[[13,"mdotr",[6,"std.dot",["axis","rhat"]]],[13,"dipoleB",[6,[7,[6,[7,"rhat","mul"],[[1,[5,"2"],"*","mdotr"]]],"sub"],["axis"]]],[10,[6,"std.select",["dipoleB","rhat",[1,"fieldType",">",[5,"0.5"]]]]]]]},externals:{"std.dot":()=>se,"std.select":()=>C}})&&e.f)({})).$name("agentDipoleOrRadialField"),dO=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_mul(t,Y(__tsover_mul(2,__tsover_sub(s,r))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"k"},{type:"i",name:"target"},{type:"i",name:"theta"}],body:[0,[[10,[1,"k","*",[6,"std.sin",[[1,[5,"2"],"*",[1,"target","-","theta"]]]]]]]]},externals:{"std.sin":()=>Y}})&&e.f)({})).$name("agentNematicTorque"),cO=v.fn([x,a,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(r.w,o),i=s>=n,d=b(s,n),c=C(f(r.x,r.y,r.z),f(t.x,t.y,t.z),i);return x(c.x,c.y,c.z,d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"col"},{type:"i",name:"curA"},{type:"i",name:"prev"},{type:"i",name:"trails"}],body:[0,[[13,"prevA",[1,[7,"prev","w"],"*","trails"]],[13,"win",[1,"curA",">=","prevA"]],[13,"outA",[6,"std.max",["curA","prevA"]]],[13,"outRGB",[6,"std.select",[[6,"d.vec3f",[[7,"prev","x"],[7,"prev","y"],[7,"prev","z"]]],[6,"d.vec3f",[[7,"col","x"],[7,"col","y"],[7,"col","z"]]],"win"]]],[10,[6,"d.vec4f",[[7,"outRGB","x"],[7,"outRGB","y"],[7,"outRGB","z"],"outA"]]]]]},externals:{"std.max":()=>b,"std.select":()=>C,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})).$name("agentTrailMaxDecay"),_O=v.fn([f,x,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return f(__tsover_add(__tsover_add(__tsover_mul(s.x,t.x),__tsover_mul(s.y,t.y)),__tsover_mul(s.z,t.z)),__tsover_add(__tsover_add(__tsover_mul(r.x,t.x),__tsover_mul(r.y,t.y)),__tsover_mul(r.z,t.z)),__tsover_add(__tsover_add(__tsover_mul(o.x,t.x),__tsover_mul(o.y,t.y)),__tsover_mul(o.z,t.z)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pw"},{type:"i",name:"rowX"},{type:"i",name:"rowY"},{type:"i",name:"rowZ"}],body:[0,[[10,[6,"d.vec3f",[[1,[1,[1,[7,"rowX","x"],"*",[7,"pw","x"]],"+",[1,[7,"rowX","y"],"*",[7,"pw","y"]]],"+",[1,[7,"rowX","z"],"*",[7,"pw","z"]]],[1,[1,[1,[7,"rowY","x"],"*",[7,"pw","x"]],"+",[1,[7,"rowY","y"],"*",[7,"pw","y"]]],"+",[1,[7,"rowY","z"],"*",[7,"pw","z"]]],[1,[1,[1,[7,"rowZ","x"],"*",[7,"pw","x"]],"+",[1,[7,"rowZ","y"],"*",[7,"pw","y"]]],"+",[1,[7,"rowZ","z"],"*",[7,"pw","z"]]]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})).$name("agentApplyCameraRows"),lO=v.fn([f,x,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return f(__tsover_add(__tsover_add(__tsover_mul(s.x,t.x),__tsover_mul(r.x,t.y)),__tsover_mul(o.x,t.z)),__tsover_add(__tsover_add(__tsover_mul(s.y,t.x),__tsover_mul(r.y,t.y)),__tsover_mul(o.y,t.z)),__tsover_add(__tsover_add(__tsover_mul(s.z,t.x),__tsover_mul(r.z,t.y)),__tsover_mul(o.z,t.z)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"rowX"},{type:"i",name:"rowY"},{type:"i",name:"rowZ"}],body:[0,[[10,[6,"d.vec3f",[[1,[1,[1,[7,"rowX","x"],"*",[7,"v","x"]],"+",[1,[7,"rowY","x"],"*",[7,"v","y"]]],"+",[1,[7,"rowZ","x"],"*",[7,"v","z"]]],[1,[1,[1,[7,"rowX","y"],"*",[7,"v","x"]],"+",[1,[7,"rowY","y"],"*",[7,"v","y"]]],"+",[1,[7,"rowZ","y"],"*",[7,"v","z"]]],[1,[1,[1,[7,"rowX","z"],"*",[7,"v","x"]],"+",[1,[7,"rowY","z"],"*",[7,"v","y"]]],"+",[1,[7,"rowZ","z"],"*",[7,"v","z"]]]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})).$name("agentApplyCameraRowsT"),jm=ut({x0:R,x1:R,y0:R,y1:R,fx:a,fy:a}).$name("AgentBilinearFrame"),uO=v.fn([l,l],jm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_sub(__tsover_mul(t.x,s.x),.5),o=__tsover_sub(__tsover_mul(t.y,s.y),.5),n=q(r),i=q(o);return jm({x0:R($(n,a(0),__tsover_sub(s.x,1))),x1:R($(__tsover_add(n,1),a(0),__tsover_sub(s.x,1))),y0:R($(i,a(0),__tsover_sub(s.y,1))),y1:R($(__tsover_add(i,1),a(0),__tsover_sub(s.y,1))),fx:__tsover_sub(r,n),fy:__tsover_sub(o,i)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv01"},{type:"i",name:"dims"}],body:[0,[[13,"cu",[1,[1,[7,"uv01","x"],"*",[7,"dims","x"]],"-",[5,"0.5"]]],[13,"cv",[1,[1,[7,"uv01","y"],"*",[7,"dims","y"]],"-",[5,"0.5"]]],[13,"cx0",[6,"std.floor",["cu"]]],[13,"cy0",[6,"std.floor",["cv"]]],[10,[6,"BilinearFrame",[[104,{x0:[6,"d.u32",[[6,"std.clamp",["cx0",[6,"d.f32",[[5,"0"]]],[1,[7,"dims","x"],"-",[5,"1"]]]]]],x1:[6,"d.u32",[[6,"std.clamp",[[1,"cx0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],[1,[7,"dims","x"],"-",[5,"1"]]]]]],y0:[6,"d.u32",[[6,"std.clamp",["cy0",[6,"d.f32",[[5,"0"]]],[1,[7,"dims","y"],"-",[5,"1"]]]]]],y1:[6,"d.u32",[[6,"std.clamp",[[1,"cy0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],[1,[7,"dims","y"],"-",[5,"1"]]]]]],fx:[1,"cu","-","cx0"],fy:[1,"cv","-","cy0"]}]]]]]]},externals:{"std.floor":()=>q,BilinearFrame:()=>jm,"d.u32":()=>R,"std.clamp":()=>$,"d.f32":()=>a}})&&e.f)({})).$name("agentBilinearTexelFrame"),Eb=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(t,t);return ct(__tsover_mul(__tsover_div(r,b(s,1e-5)),-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"delta"},{type:"i",name:"radSq"}],body:[0,[[13,"dl",[6,"std.dot",["delta","delta"]]],[10,[6,"std.exp",[[1,[1,"dl","/",[6,"std.max",["radSq",[5,"0.00001"]]]],"*",[4,"-",[5,"1"]]]]]]]]},externals:{"std.dot":()=>se,"std.exp":()=>ct,"std.max":()=>b}})&&e.f)({})).$name("agentCursorFalloff"),mO=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=b(j(t),1e-4);return t.div(o).mul(__tsover_mul(Eb(t,s),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"delta"},{type:"i",name:"radSq"},{type:"i",name:"force"}],body:[0,[[13,"dl",[6,"std.max",[[6,"std.length",["delta"]],[5,"0.0001"]]]],[10,[6,[7,[6,[7,"delta","div"],["dl"]],"mul"],[[1,[6,"cursorFalloff",["delta","radSq"]],"*","force"]]]]]]},externals:{"std.max":()=>b,"std.length":()=>j,cursorFalloff:()=>Eb}})&&e.f)({})).$name("agentCursorMagnet");var Rn=e=>e;function dw(){return{default:null,transform:Rn,compileTimeWhen:(e,t)=>{let s=r=>{let o=Array.isArray(r)?r.length:0;return o>1?o:0};return s(e)!==s(t)},description:"Multi-stop gradient colors (overrides Color A / Color B when set)",ui:{type:"gradient-stops",label:"Colors",group:"Colors"}}}var Ka=e=>e;function LG(e){let t=e?.ui;return!t||t.type!=="list"||!t.item||typeof t.maxItems!="number"?null:{item:t.item,maxItems:t.maxItems,minItems:t.minItems,itemLabel:t.itemLabel}}var dy=(e,t)=>`${e}_${t}`,cy=e=>`${e}Count`;function _1(e){return!!e&&typeof e=="object"&&e.type==="mouse-position"}var cw=(e,t,s)=>`${e}.${t}.${s}`;function _y(e){let t=/^([^.]+)\.(\d+)\.([^.]+)$/.exec(e);return t?{prop:t[1],index:Number(t[2]),field:t[3]}:null}function ly(e,t,s){return(Array.isArray(e)?e.slice(0,t.maxItems):[]).map((r,o)=>{let n=r&&typeof r=="object"?r:{},i={};for(let[d,c]of Object.entries(t.item)){let _=n[d]===void 0||n[d]===null?c.default:n[d];i[d]=IG(c.kind,_,o,d,s)}return i})}function IG(e,t,s,r,o){switch(e){case"position":{if(_1(t)){let i=o.drivenPosition?.(s,r,t);return i||{x:typeof t.x=="number"?t.x:t.originX??.5,y:1-(typeof t.y=="number"?t.y:t.originY??.5)}}let n=ho(t);return{x:n.x,y:n.y}}case"color":return o.color(typeof t=="string"?t:"#ffffff");case"boolean":return t?1:-1;default:return typeof t=="number"?t:0}}function DG(e){return typeof e=="number"?[e,0,0,0]:Array.isArray(e)?e:[e.x,e.y,0,0]}function uy(e,t){let s={};for(let r of Object.keys(t.item)){let o=new Array(t.maxItems*4).fill(0);for(let n=0;ns&&typeof s=="object"&&Object.entries(t.item).some(([r,o])=>o.kind==="position"&&_1(s[r]))):!1}var _w="p3-linear";function lw(e){_w=e;try{N0(e)}catch{}}function FG(e){try{let t=new Sr(e),s=_w==="srgb"?"srgb-linear":"p3-linear",r=t.to(s).coords,o=Number(t.alpha);return{r:Number.isFinite(r?.[0])?r[0]:0,g:Number.isFinite(r?.[1])?r[1]:0,b:Number.isFinite(r?.[2])?r[2]:0,a:Number.isFinite(o)?o:1}}catch{return{r:0,g:0,b:0,a:0}}}function uw(e){let{r:t,g:s,b:r,a:o}=FG(e);return x(t,s,r,o)}function Kc(e){let t=uw(e);return[t.x,t.y,t.z,t.w]}function kb(e,t){if(typeof e=="number")return e;if(typeof e=="object"&&e!==null)return e.value;let s=e.toLowerCase().trim();if(t){if(s==="top")return 0;if(s==="bottom")return 1;if(s==="center")return .5}else{if(s==="left")return 0;if(s==="right")return 1;if(s==="center")return .5}return console.warn(`Invalid position value: ${e}. Defaulting to center.`),.5}function BG(e){let t=.5,s=.5;if(typeof e=="string"){let r=e.toLowerCase().trim().split(/\s+/);r.includes("left")?t=0:r.includes("right")?t=1:(r.includes("center")||r.length===1&&(r[0]==="top"||r[0]==="bottom"))&&(t=.5),r.includes("top")?s=0:r.includes("bottom")?s=1:(r.includes("center")||r.length===1&&(r[0]==="left"||r[0]==="right"))&&(s=.5),r.length===1&&r[0]==="center"&&(t=.5,s=.5)}else typeof e=="object"&&e!==null?(t=kb(e.x,!1),s=kb(e.y,!0)):console.warn(`Invalid position value provided: ${e}. Defaulting to center.`);return l(t,1-s)}function mw(e){if(e)return e===ts?uw:e===ho?BG:e===Rn?Rn:e===Ka?Ka:e}function py(e,t){e>0,t>0}function Zc(e){return e!=null&&typeof e=="object"&&typeof e.value=="number"&&(e.unit==="px"||e.unit==="uv")}function fy(e){if(!e)return;let t;for(let[s,r]of Object.entries(e)){let o=r?.ui?.dimensional;(o==="canvas-height"||o==="half-canvas-height"||o==="canvas-width"||o==="count-canvas-height")&&(t??=new Map).set(s,o)}return t}function hd(e,t){let s=e?.propBindings,r=new Set,o=new Map;if(s)for(let n of["x","y","width","height"]){let i=s[n];i&&(i.as==="position-x"||i.as==="position-y"?r.add(i.prop):(i.as==="canvas-height"||i.as==="half-canvas-height")&&o.set(i.prop,i.as))}if(t)for(let[n,i]of t)o.set(n,i);return r.size>0||o.size>0?{positionProps:r,sizeProps:o}:null}var WG=e=>({ox:e.includes("left")?"start":e.includes("right")?"end":"center",oy:e.includes("top")?"start":e.includes("bottom")?"end":"center"}),OG=(e,t,s)=>t==="start"?e+s:t==="end"?e-s:e;function Uc(e,t,s,r){let o=(n,i)=>Zc(n)?n.unit==="px"?n.value:n.value*i:typeof n=="number"?n*i:0;return e.as==="canvas-height"?o(t,r):e.as==="half-canvas-height"?o(t,2*r):e.as==="canvas-width"?o(t,s):0}function vy(e,t,s,r){if(e?.computeBounds){let d=e.computeBounds(t,s,r);return{hwx:s>0?d.widthPx/s/2:0,hhy:r>0?d.heightPx/r/2:0}}let o=e?.propBindings,n=0,i=0;return o?.width&&s>0&&(n=Uc(o.width,t[o.width.prop],s,r)/(2*s)),o?.height&&r>0&&(i=Uc(o.height,t[o.height.prop],s,r)/(2*r)),{hwx:n,hhy:i}}function $b(e,t,s,r){let o;if(Zc(e))if(e.unit==="px"){let n=t>0?e.value/t:0;o=s==="end"?1-n:s==="center"?.5+n:n}else o=e.value;else if(typeof e=="number")o=e;else return e;return OG(o,s,r)}function VG(e,t,s,r){return e.unit!=="px"?e.value:t==="canvas-width"?s>0?e.value/s:e.value:r<=0?e.value:t==="count-canvas-height"?e.value>0?r/e.value:e.value:t==="canvas-height"?e.value/r:e.value/(2*r)}function Qc(e,t,s,r,o,n,i,d){let c=hd(e,i);if(!c)return s;let{ox:_,oy:u}=WG(r);if(c.positionProps.has(t))return!s||typeof s!="object"?s:{...s,x:$b(s.x,o,_,d?.hwx??0),y:$b(s.y,n,u,d?.hhy??0)};let m=c.sizeProps.get(t);return m&&Zc(s)?VG(s,m,o,n):s}function yy(e,t,s){let r=hd(e,s);return r?r.positionProps.has(t)||r.sizeProps.has(t):!1}function Km(e){let{body:t,build:s,args:r,compose:o,identity:n,missingChildMessage:i,setup:d,...c}=e;if(!t&&!s)throw new Error(`definePointwiseFilter(${e.name}): needs a body or a build`);return{...c,requiresChild:!0,fragment:u=>{if(!u.childNode)return i&&console.error(i),xr;let m=u;if(hy(n,m))return m.childNode;d?.(m);let p;if(s)p=s(m);else{let{fn:y,hint:h}=typeof t=="function"?t(m.propValues):t;p=we(y,h,[m.childNode,...r?.(m)??[]])}return o?o(p,m):p}}}function hy(e,t){if(!e)return!1;for(let s of e.props)if(t.getMapInfo?.(s))return!1;return e.when(t.propValues)}function Ub(e){let{build:t,resultAlpha:s,identity:r,missingChildMessage:o,setup:n,...i}=e;return{...i,requiresRTT:!0,requiresChild:!0,fragment:c=>{if(!c.childNode)return o&&console.error(o),xr;let _=c.convertToTexture(c.childNode),u=y=>we(dn,"unpremultiplyAlpha",[_.sample(y)]),m={...c,childNode:c.childNode,texture:_,sampleStraight:u};if(hy(r,c))return u(c.ctx.uv);n?.(m);let p=t(m);return s==="straight"?p:we(dn,"unpremultiplyAlpha",[p])}}}function Cb(e){return"uv"in e?e:{uv:e}}function NG(e,t={}){let s=typeof e=="function"?e:()=>e,r=t.edges??"prop",o=n=>r==="none"?null:typeof r=="number"?r:n.edges??0;return{fragment:n=>{let{childNode:i,ctx:d,convertToTexture:c,propValues:_}=n;if(!i)return t.requireChildMessage&&console.error(t.requireChildMessage),xr;let u=c(i),m=o(_),p=Cb(s(n).map(d.uv,d.aspect)),y=m===null?u.sample(p.uv):t.resample==="bilinear"?Gi(p.uv,h=>u.sample(h),m):lz(u,p.uv,m);return we(dn,"unpremultiplyAlpha",[p.coverage?Ws(y.member("rgb"),y.member("a").mul(p.coverage)):y])},uvRemap:n=>{if(t.uvRemapIdentityWhen?.(n))return{uv:n.uv,mask:n.mask};let i=o(n.propValues),d=Cb(s(n).map(n.uv,n.aspect)),c=i===null?{uv:d.uv,mask:n.mask}:_z(d.uv,n.mask,i);return d.coverage?{uv:c.uv,mask:c.mask.mul(d.coverage)}:c}}}function qG(e,t){let s={type:"position",label:t?.label??"Center",group:t?.group??"Position"};return t?.units&&(s.units=[...t.units]),{default:t?.default??{x:.5,y:.5},transform:ho,description:e,ui:s}}function XG(){return{default:"center",description:"Reference edge the center position is measured from (center default). Lets you pin the shape relative to a corner or the canvas centre.",ui:{type:"origin",label:"Origin",group:"Position"}}}function HG(e){return{softness:{default:0,description:e?.softnessDescription??"Edge softness for antialiasing",ui:{type:"range",min:0,max:.1,step:.001,label:"Softness",group:"Effect"}},strokeThickness:{default:0,description:"Stroke thickness. Zero means no stroke.",ui:{type:"range",min:0,max:e?.strokeThicknessMax??.2,step:.005,label:"Stroke Thickness",group:"Stroke"}},strokeColor:{default:"#000000",transform:ts,description:e?.strokeColorDescription??"Color of the stroke outline",ui:{type:"color",label:"Stroke Color",group:"Colors"}},strokePosition:{default:"center",transform:q0,description:e?.strokePositionDescription??"Position of the stroke relative to the shape edge",ui:{type:"select",options:[{label:"Outside",value:"outside"},{label:"Center",value:"center"},{label:"Inside",value:"inside"}],label:"Stroke Position",group:"Stroke"}}}}function jG(e){return{default:"linear",transform:ir,compileTime:!0,description:e?.description??"Color space for blending fill and stroke colors",ui:{type:"select",options:Ho,label:"Color Blending",group:"Colors"}}}var KG={refraction:{default:.5,description:"How strongly the shell bends what's seen through or inside it",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Refraction",group:"Glass"}},dispersion:{default:.25,description:"Spectral splitting at the shell \u2014 rainbow fringes where light bends hardest",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Dispersion",group:"Glass"}},thickness:{default:.2,description:"Shell depth \u2014 how far inward from the edge the shell's optics extend",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Thickness",group:"Glass"}},environment:{default:1,description:"Strength of the studio lighting reflected in the shell",ui:{type:["range","map"],min:0,max:2,step:.01,label:"Environment",group:"Glass"}},envRotation:{default:0,description:"Rotates the reflected studio \u2014 spins where the bright reflections fall",ui:{type:"range",min:0,max:360,step:1,label:"Env Rotation",group:"Glass"}},lightAngle:{default:315,description:"Direction of the key light, in degrees",ui:{type:"range",min:0,max:360,step:1,label:"Light Angle",group:"Glass"}},highlight:{default:1,description:"Sharp key-light glint on the shell",ui:{type:["range","map"],min:0,max:2,step:.01,label:"Highlight",group:"Highlight"}},highlightColor:{default:"#ffffff",transform:ts,description:"Color of the key-light highlight",ui:{type:"color",label:"Highlight Color",group:"Highlight"}},highlightSoftness:{default:.5,description:"Specular highlight softness \u2014 lower is a tighter, sharper glint",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Highlight Softness",group:"Highlight"}},fresnel:{default:.1,description:"Fresnel rim glow \u2014 the luminous edge where the shell turns away from view",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Fresnel",group:"Fresnel"}},fresnelSoftness:{default:.1,description:"Fresnel rim width \u2014 higher values spread the glow further inward",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Fresnel Softness",group:"Fresnel"}},fresnelColor:{default:"#ffffff",transform:ts,description:"Color of the fresnel rim glow",ui:{type:"color",label:"Fresnel Color",group:"Fresnel"}},edgeSoftness:{default:.05,description:"Softness of the shape boundary edge",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Edge Softness",group:"Glass"}}};function xd(e){let t={};for(let s of Object.keys(e)){let r=e[s];if(!r)continue;let o=KG[s];t[s]=r===!0?o:{...o,...r,ui:{...o.ui,...r.ui??{}}}}return t}function ZG(e){return{default:0,description:e,ui:{type:"range",min:0,max:360,step:1,label:"Rotation",group:"Shape"}}}function QG(e){return{default:"#ffffff",transform:ts,description:e,ui:{type:"color",label:"Color",group:"Colors"}}}function JG(e,t){if(e.custom)return e.custom;let s=e.size.as??"half-canvas-height",r={x:{prop:"center",as:"position-x"},y:{prop:"center",as:"position-y"},width:{prop:e.size.width,as:s},height:{prop:e.size.height,as:s}};return t&&(r.rotation={prop:"rotation",as:"degrees"}),{propBindings:r}}function eY(e,t,s){if(!t)return e;let r=Object.keys(e).filter(i=>!t.includes(i)),o=t.filter(i=>!(i in e));if(r.length||o.length)throw new Error(`defineSdfShapeShader(${s}): propOrder must list every prop exactly once (missing: ${r.join(", ")||"none"}; unknown: ${o.join(", ")||"none"})`);let n={};for(let i of t)n[i]=e[i];return n}function tY(e){let t=e.rotatable!==!1,s=HG(e.stroke),r={origin:XG(),color:QG(e.colorDescription),center:qG(e.centerDescription,{units:["%","px"],...e.centerLabel?{label:e.centerLabel}:{}}),...e.shapeProps,...t?{rotation:ZG(e.rotationDescription??"Rotation in degrees")}:{},softness:s.softness,strokeThickness:s.strokeThickness,strokeColor:s.strokeColor,strokePosition:s.strokePosition,colorSpace:jG(e.colorSpaceDescription?{description:e.colorSpaceDescription}:void 0),...e.propOverrides};return{name:e.name,category:e.category??"Shapes",description:e.description,acceptsUVContext:!0,boundingBoxDeclaration:JG(e.bounds,t),props:eY(r,e.propOrder,e.name),fragment:o=>{let{uniforms:n,ctx:i,propValues:d}=o,c=o.uvContext??i.uv,_=d.colorSpace??0;return S7(ur(sY(e,n,c,i.aspect),"shapeMask"),n.color,n.strokeColor,_)}}}function sY(e,t,s,r){let o=t.rotation??vd("0f"),n=ur(we(w7,"shapeLocalCoords",[t.center,o,s,r]),"shapeLocal"),i=d=>{let c=t[d];if(!c)throw new Error(`defineSdfShapeShader(${e.name}): distance reads unknown prop '${d}'`);return c};return we(T7,"strokeMaskFromSdf",[e.distance({x:n.member("x"),y:n.member("y")},i),t.softness,t.strokeThickness,t.strokePosition])}function zt(e){return{kind:"prop",name:e}}var Jc=class Ef{constructor(t){this.node=t}times(t){return new Ef({kind:"mul",a:this.node,b:t instanceof Ef?t.node:t})}};function rY(e){return{uv:e.uvContext??e.ctx.uv,viewport:e.effectiveViewportSize??e.ctx.viewportSize}}function Dt(e,t){let s=t.uniforms[e.name];if(!s)throw new Error(`std: effect binds unknown prop '${e.name}'`);return s}function od(e,t){let s=e instanceof Jc?e.node:e;switch(s.kind){case"prop":return Dt(s,t);case"mul":return od(s.a,t).mul(od(s.b,t));case"radialMask":if(!t.ctx)throw new Error("std: radialMask needs a fragment host (warp slots have no ctx)");return we(oR,"radialFalloffMask",[t.ctx.uv,t.ctx.aspect,Dt(s.center,t),Dt(s.radius,t),Dt(s.falloff,t)]);case"signal":return s.build(t)}}function oY(e,t){if(typeof e=="number")return vt(e);if(e instanceof Jc)return od(e,t);switch(e.kind){case"prop":return Dt(e,t);case"ctx":if(!t.ctx)throw new Error(`std: ctx.${e.name} needs a fragment host (warp slots have no ctx)`);return t.ctx[e.name];default:return od(e,t)}}function xy(e,t,s){let r={},o=e.boundingBoxDeclaration,n=fy(e.props),i=nY(e.props,t);for(let[d,c]of Object.entries(e.props)){let _=c.transform;if(_===Rn){aY(r,d,c,t[d],i);continue}if(_===Ka){iY(r,d,c,t[d]);continue}let u=t[d],m=u;m==null&&(m=c.default),m==null&&(console.error(`[Shaders] Uniform "${d}" is null/undefined after fallback. PropConfig:`,{propName:d,initialValue:u,default:c.default,hasTransform:!!_}),m=0);let p=mw(_),y=yy(o,d,n),h=!p&&!y&&(typeof m=="string"||typeof m=="object"&&m!==null&&!Array.isArray(m));r[d]={value:m,transform:p,compileTime:c.compileTime||!1,...c.compileTimeWhen?{compileTimeWhen:c.compileTimeWhen,_lastCompiledValue:u??c.default}:{},...y?{_rawDimensional:u}:{},...h?{cpu:!0}:{}}}return r}function nY(e,t){for(let[s,r]of Object.entries(e))if(r.transform===ir){let o=t[s]??r.default;return typeof o=="string"?ir(o):0}return 0}function aY(e,t,s,r,o){let n=r??null,i=jv(n,Kc),d=Kv(i.colors,i.stopCount,o);e[t]={value:n,transform:Rn,cpu:!0,compileTime:s.compileTime||!1,...s.compileTimeWhen?{compileTimeWhen:s.compileTimeWhen,_lastCompiledValue:n??s.default}:{}},e.colorsArray={value:i.colors,schema:pt(x,8)},e.positionsArray={value:i.positions,schema:pt(x,8/4)},e.convertedColorsArray={value:d,schema:pt(f,8)},e.stopCount={value:i.stopCount,schema:a}}function iY(e,t,s,r){let o=LG(s);if(!o){console.error(`[Shaders] List prop "${t}" has no item spec in its ui config`);return}let n=ly(r??s.default,o,{color:Kc}),i=uy(n,o);e[t]={value:n,transform:Ka,cpu:!0,compileTime:s.compileTime||!1,_rawList:r??s.default,_listSpec:o};for(let[d,c]of Object.entries(i.fields))e[dy(t,d)]={value:c,schema:pt(x,o.maxItems)};e[cy(t)]={value:i.count,schema:a}}var Li=ut({x0:Z,x1:Z,y0:Z,y1:Z}).$name("SplatWindow"),pO=v.fn([l,a,a,a],Li)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(r,1e-5),i=Z(q(__tsover_mul(__tsover_div(t.x,n),o))),d=Z(q(__tsover_mul(t.y,o))),c=Z(cc(__tsover_div(__tsover_mul(s,o),n))),_=Z(cc(__tsover_mul(s,o))),u=__tsover_sub(Z(o),1);return Li({x0:b(__tsover_sub(i,c),0),x1:oe(__tsover_add(i,c),u),y0:b(__tsover_sub(d,_),0),y1:oe(__tsover_add(d,_),u)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"reach"},{type:"i",name:"aspect"},{type:"i",name:"res"}],body:[0,[[13,"asp",[6,"std.max",["aspect",[5,"0.00001"]]]],[13,"cxi",[6,"d.i32",[[6,"std.floor",[[1,[1,[7,"pos","x"],"/","asp"],"*","res"]]]]]],[13,"cyi",[6,"d.i32",[[6,"std.floor",[[1,[7,"pos","y"],"*","res"]]]]]],[13,"radX",[6,"d.i32",[[6,"std.ceil",[[1,[1,"reach","*","res"],"/","asp"]]]]]],[13,"radY",[6,"d.i32",[[6,"std.ceil",[[1,"reach","*","res"]]]]]],[13,"last",[1,[6,"d.i32",["res"]],"-",[5,"1"]]],[10,[6,"SplatWindow",[[104,{x0:[6,"std.max",[[1,"cxi","-","radX"],[5,"0"]]],x1:[6,"std.min",[[1,"cxi","+","radX"],"last"]],y0:[6,"std.max",[[1,"cyi","-","radY"],[5,"0"]]],y1:[6,"std.min",[[1,"cyi","+","radY"],"last"]]}]]]]]]},externals:{"std.max":()=>b,"d.i32":()=>Z,"std.floor":()=>q,"std.ceil":()=>cc,SplatWindow:()=>Li,"std.min":()=>oe}})&&e.f)({})).$name("worldSplatWindow"),fO=v.fn([l,Z,El],Li)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Z(q(t.x)),n=Z(q(t.y));return Li({x0:b(__tsover_sub(o,s),0),x1:oe(__tsover_add(o,s),r.x),y0:b(__tsover_sub(n,s),0),y1:oe(__tsover_add(n,s),r.y)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"rad"},{type:"i",name:"last"}],body:[0,[[13,"cxi",[6,"d.i32",[[6,"std.floor",[[7,"center","x"]]]]]],[13,"cyi",[6,"d.i32",[[6,"std.floor",[[7,"center","y"]]]]]],[10,[6,"SplatWindow",[[104,{x0:[6,"std.max",[[1,"cxi","-","rad"],[5,"0"]]],x1:[6,"std.min",[[1,"cxi","+","rad"],[7,"last","x"]]],y0:[6,"std.max",[[1,"cyi","-","rad"],[5,"0"]]],y1:[6,"std.min",[[1,"cyi","+","rad"],[7,"last","y"]]]}]]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,SplatWindow:()=>Li,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})).$name("texelSplatWindow"),vO=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(1,ct(__tsover_mul(__tsover_mul(t,s),-1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"energy"},{type:"i",name:"k"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.exp",[[1,[1,"energy","*","k"],"*",[4,"-",[5,"1"]]]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})).$name("energyCoverageAlpha"),yO=v.fn([f,f,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=t.add(s.mul(r)).mul(o),d=j(i);return i.mul(__tsover_div(oe(d,n),b(d,1e-5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"vel"},{type:"i",name:"force"},{type:"i",name:"dt"},{type:"i",name:"dragMul"},{type:"i",name:"maxSpeed"}],body:[0,[[13,"v",[6,[7,[6,[7,"vel","add"],[[6,[7,"force","mul"],["dt"]]]],"mul"],["dragMul"]]],[13,"spd",[6,"std.length",["v"]]],[10,[6,[7,"v","mul"],[[1,[6,"std.min",["spd","maxSpeed"]],"/",[6,"std.max",["spd",[5,"0.00001"]]]]]]]]]},externals:{"std.length":()=>j,"std.min":()=>oe,"std.max":()=>b}})&&e.f)({})).$name("integrateSemiImplicitEuler");var kf=Math.exp(-1),Rb=1/(1-kf),zb=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return ct(__tsover_mul(__tsover_div(t,s),-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"distSq"},{type:"i",name:"radiusSq"}],body:[0,[[10,[6,"std.exp",[[1,[1,"distSq","/","radiusSq"],"*",[4,"-",[5,"1"]]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),Gb=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return $(__tsover_mul(__tsover_sub(ct(__tsover_mul(__tsover_div(t,s),-1)),kf),Rb),a(0),a(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"distSq"},{type:"i",name:"radiusSq"}],body:[0,[[10,[6,"std.clamp",[[1,[1,[6,"std.exp",[[1,[1,"distSq","/","radiusSq"],"*",[4,"-",[5,"1"]]]]],"-","EDGE"],"*","INV_EDGE"],[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]]]]]]]},externals:{"std.clamp":()=>$,"std.exp":()=>ct,EDGE:()=>kf,INV_EDGE:()=>Rb,"d.f32":()=>a}})&&e.f)({}));v.fn([l,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=ht(t,s);return zb(se(o,o),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellPos"},{type:"i",name:"center"},{type:"i",name:"radiusSq"}],body:[0,[[13,"off",[6,"std.sub",["cellPos","center"]]],[10,[6,"gaussianBrushSq",[[6,"std.dot",["off","off"]],"radiusSq"]]]]]},externals:{"std.sub":()=>ht,gaussianBrushSq:()=>zb,"std.dot":()=>se}})&&e.f)({}));v.fn([l,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=ht(t,s);return Gb(se(o,o),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellPos"},{type:"i",name:"center"},{type:"i",name:"radiusSq"}],body:[0,[[13,"off",[6,"std.sub",["cellPos","center"]]],[10,[6,"gaussianBrushShiftedSq",[[6,"std.dot",["off","off"]],"radiusSq"]]]]]},externals:{"std.sub":()=>ht,gaussianBrushShiftedSq:()=>Gb,"std.dot":()=>se}})&&e.f)({}));var jd=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return Ot(l(t,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"px"},{type:"i",name:"py"}],body:[0,[[10,[6,"noise.hash12",[[6,"d.vec2f",["px","py"]]]]]]]},externals:{"noise.hash12":()=>Ot,"d.vec2f":()=>l}})&&e.f)({})),sl=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=q(t),o=q(s),n=ue(t),i=ue(s),d=__tsover_mul(__tsover_mul(n,n),__tsover_sub(3,__tsover_mul(n,2))),c=__tsover_mul(__tsover_mul(i,i),__tsover_sub(3,__tsover_mul(i,2)));return X(X(jd(r,o),jd(__tsover_add(r,1),o),d),X(jd(r,__tsover_add(o,1)),jd(__tsover_add(r,1),__tsover_add(o,1)),d),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"nx"},{type:"i",name:"ny"}],body:[0,[[13,"ix",[6,"std.floor",["nx"]]],[13,"iy",[6,"std.floor",["ny"]]],[13,"sx",[6,"std.fract",["nx"]]],[13,"sy",[6,"std.fract",["ny"]]],[13,"ux",[1,[1,"sx","*","sx"],"*",[1,[5,"3"],"-",[1,"sx","*",[5,"2"]]]]],[13,"uy",[1,[1,"sy","*","sy"],"*",[1,[5,"3"],"-",[1,"sy","*",[5,"2"]]]]],[10,[6,"std.mix",[[6,"std.mix",[[6,"valueHash",["ix","iy"]],[6,"valueHash",[[1,"ix","+",[5,"1"]],"iy"]],"ux"]],[6,"std.mix",[[6,"valueHash",["ix",[1,"iy","+",[5,"1"]]]],[6,"valueHash",[[1,"ix","+",[5,"1"]],[1,"iy","+",[5,"1"]]]],"ux"]],"uy"]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,"std.mix":()=>X,valueHash:()=>jd}})&&e.f)({})),hO=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_add(__tsover_add(__tsover_mul(sl(t,s),.5),__tsover_mul(sl(__tsover_add(__tsover_mul(t,2),5.37),__tsover_add(__tsover_mul(s,2),9.13)),.3)),__tsover_mul(sl(__tsover_add(__tsover_mul(t,4),1.79),__tsover_add(__tsover_mul(s,4),3.51)),.2))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"nx"},{type:"i",name:"ny"}],body:[0,[[10,[1,[1,[1,[6,"valueNoise2D",["nx","ny"]],"*",[5,"0.5"]],"+",[1,[6,"valueNoise2D",[[1,[1,"nx","*",[5,"2"]],"+",[5,"5.37"]],[1,[1,"ny","*",[5,"2"]],"+",[5,"9.13"]]]],"*",[5,"0.3"]]],"+",[1,[6,"valueNoise2D",[[1,[1,"nx","*",[5,"4"]],"+",[5,"1.79"]],[1,[1,"ny","*",[5,"4"]],"+",[5,"3.51"]]]],"*",[5,"0.2"]]]]]]},externals:{valueNoise2D:()=>sl}})&&e.f)({})),xO=v.fn([a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(Gs(__tsover_mul(r,37.31)),97),i=__tsover_mul(Gs(__tsover_mul(r,83.17)),97);return l(__tsover_add(__tsover_mul(t,o),n),__tsover_add(__tsover_mul(s,o),i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"y"},{type:"i",name:"seed"},{type:"i",name:"cellsPerTexel"}],body:[0,[[13,"sdx",[1,[6,"noise.hash11",[[1,"seed","*",[5,"37.31"]]]],"*",[5,"97"]]],[13,"sdy",[1,[6,"noise.hash11",[[1,"seed","*",[5,"83.17"]]]],"*",[5,"97"]]],[10,[6,"d.vec2f",[[1,[1,"x","*","cellsPerTexel"],"+","sdx"],[1,[1,"y","*","cellsPerTexel"],"+","sdy"]]]]]]},externals:{"noise.hash11":()=>Gs,"d.vec2f":()=>l}})&&e.f)({}));var gO=v.fn([a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_mul(__tsover_sub(t,r),d),_=__tsover_sub(s,o),u=H(i),m=Y(i),p=__tsover_add(__tsover_mul(c,u),__tsover_mul(_,m)),y=__tsover_sub(__tsover_mul(_,u),__tsover_mul(c,m));return l(__tsover_add(__tsover_div(p,n),.5),__tsover_add(__tsover_div(y,n),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"u"},{type:"i",name:"v"},{type:"i",name:"centerX"},{type:"i",name:"centerY"},{type:"i",name:"scale"},{type:"i",name:"rotation"},{type:"i",name:"aspect"}],body:[0,[[13,"dxAc",[1,[1,"u","-","centerX"],"*","aspect"]],[13,"dy",[1,"v","-","centerY"]],[13,"cosR",[6,"std.cos",["rotation"]]],[13,"sinR",[6,"std.sin",["rotation"]]],[13,"rdx",[1,[1,"dxAc","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dxAc","*","sinR"]]],[10,[6,"d.vec2f",[[1,[1,"rdx","/","scale"],"+",[5,"0.5"]],[1,[1,"rdy","/","scale"],"+",[5,"0.5"]]]]]]]},externals:{"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({}));ut({centerX:a,centerY:a,scale:a,rotation:a,aspect:a,saRadius:a,saSides:a,saRounding:a,saInnerRatio:a,saRotation:a,saHeight:a,saOffset:a,saAperture:a,vfOriginX:a,vfOriginY:a,vfSpanX:a,vfSpanY:a,vfActiveRes:a});var xl=256*256;var Yb=1-10*.004,bO=Yb>=1?1/0:Math.min(3e4,Math.log(1e-6)/Math.log(Math.max(Yb,.001))*16.67);var Lb="rgba16float",pw=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({amp:a,freq:a,seed:a,edgePin:a,cursorIntensity:a,t:a,aspect:a,focal:a,camPos:f,camForward:f,camRight:f,camUp:f,lighting:a,glossiness:a,highlights:a,lightX:a,lightY:a,lightZ:a,lightColor:f,nearCutoff:a,farCutoff:a,cursorWaveX:a,cursorWaveY:a,mouseSpeed:a,dt:a,decay:a,radius:a,waveSpeed:a,heightEnvelope:a,cursorActive:a}),"HeightFieldParams");var wO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({readSrc:{storage:pt(a,xl),access:"readonly"},writeBuf:{storage:pt(a,xl),access:"mutable"},readBuf:{storage:pt(a,xl),access:"mutable"},params:{uniform:pw}}),"waveEquationLayout"),TO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({readBuf:{storage:pt(a,xl),access:"readonly"},params:{uniform:pw},uvMaskTex:{storageTexture:Mo(Lb,"write-only")},litTex:{storageTexture:Mo(Lb,"write-only")}}),"heightFieldMarchLayout");var SO=v.fn([x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=z(t.xyz.sub(s.xyz)),n=z(__tsover_sub(t.w,s.w)),i=__tsover_add(se(o,f(.299,.587,.114)),n);return re(r,__tsover_add(__tsover_mul(r,2),.001),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"live"},{type:"i",name:"prev"},{type:"i",name:"threshold"}],body:[0,[[13,"dRgb",[6,"std.abs",[[6,[7,[7,"live","xyz"],"sub"],[[7,"prev","xyz"]]]]]],[13,"dA",[6,"std.abs",[[1,[7,"live","w"],"-",[7,"prev","w"]]]]],[13,"diff",[1,[6,"std.dot",["dRgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]],"+","dA"]],[10,[6,"std.smoothstep",["threshold",[1,[1,"threshold","*",[5,"2"]],"+",[5,"0.001"]],"diff"]]]]]},externals:{"std.abs":()=>z,"std.dot":()=>se,"d.vec3f":()=>f,"std.smoothstep":()=>re}})&&e.f)({})).$name("frameDiffMask"),AO=v.fn([f,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=uc(t);return ja(f(ue(__tsover_add(r.x,s)),r.y,r.z))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"amount"}],body:[0,[[13,"hsl",[6,"colorMixing.rgbToHsl",["rgb"]]],[13,"rotated",[6,"d.vec3f",[[6,"std.fract",[[1,[7,"hsl","x"],"+","amount"]]],[7,"hsl","y"],[7,"hsl","z"]]]],[10,[6,"colorMixing.hslToRgb",["rotated"]]]]]},externals:{"colorMixing.rgbToHsl":()=>uc,"d.vec3f":()=>f,"std.fract":()=>ue,"colorMixing.hslToRgb":()=>ja}})&&e.f)({})).$name("hueRotateTurns");var dY=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],cY=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],fw=[];for(let e=0;e<8;e++)for(let t=0;t<8;t++)fw[e*8+t]=Math.cos((2*e+1)*t*Math.PI/16);var MO=Math.PI/16,PO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.const(pt(a,64),fw),"COS_LUT"),EO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.const(pt(a,64),dY),"LUMA_QUANT_C"),kO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.const(pt(a,64),cY),"CHROMA_QUANT_C");var $O=v.fn([x,x,x,x,x,x,x,x,x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=re(0,.1,__tsover_mul(__tsover_add(__tsover_add(__tsover_add(__tsover_add(t.z,s.z),r.z),o.z),n.z),.2)),p=t.xy.add(s.xy).add(r.xy).add(o.xy).add(n.xy).mul(.2),y=j(p),h=re(.01,.1,y),g=__tsover_div(p.x,__tsover_add(y,.001)),w=__tsover_div(p.y,__tsover_add(y,.001)),S=re(0,.7,b(g,0)),T=re(0,.7,b(__tsover_mul(g,-1),0)),A=re(0,.7,b(w,0)),P=re(0,.7,b(__tsover_mul(w,-1),0)),U=_.mul(T).add(u.mul(S)),D=c.mul(P).add(d.mul(A)),O=__tsover_add(T,S),L=__tsover_add(A,P),G=__tsover_add(__tsover_add(O,L),.001);return X(i,U.mul(__tsover_div(O,G)).add(D.mul(__tsover_div(L,G))),x(h)).mul(m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s0"},{type:"i",name:"s1"},{type:"i",name:"s2"},{type:"i",name:"s3"},{type:"i",name:"s4"},{type:"i",name:"base"},{type:"i",name:"up"},{type:"i",name:"down"},{type:"i",name:"left"},{type:"i",name:"right"}],body:[0,[[13,"smoothedLiquid",[1,[1,[1,[1,[1,[7,"s0","z"],"+",[7,"s1","z"]],"+",[7,"s2","z"]],"+",[7,"s3","z"]],"+",[7,"s4","z"]],"*",[5,"0.2"]]],[13,"liquidIntensity",[6,"std.smoothstep",[[5,"0"],[5,"0.1"],"smoothedLiquid"]]],[13,"flow",[6,[7,[6,[7,[6,[7,[6,[7,[6,[7,[7,"s0","xy"],"add"],[[7,"s1","xy"]]],"add"],[[7,"s2","xy"]]],"add"],[[7,"s3","xy"]]],"add"],[[7,"s4","xy"]]],"mul"],[[5,"0.2"]]]],[13,"flowMagnitude",[6,"std.length",["flow"]]],[13,"hasFlow",[6,"std.smoothstep",[[5,"0.01"],[5,"0.1"],"flowMagnitude"]]],[13,"normalizedX",[1,[7,"flow","x"],"/",[1,"flowMagnitude","+",[5,"0.001"]]]],[13,"normalizedY",[1,[7,"flow","y"],"/",[1,"flowMagnitude","+",[5,"0.001"]]]],[13,"rightAmount",[6,"std.smoothstep",[[5,"0"],[5,"0.7"],[6,"std.max",["normalizedX",[5,"0"]]]]]],[13,"leftAmount",[6,"std.smoothstep",[[5,"0"],[5,"0.7"],[6,"std.max",[[1,"normalizedX","*",[4,"-",[5,"1"]]],[5,"0"]]]]]],[13,"upAmount",[6,"std.smoothstep",[[5,"0"],[5,"0.7"],[6,"std.max",["normalizedY",[5,"0"]]]]]],[13,"downAmount",[6,"std.smoothstep",[[5,"0"],[5,"0.7"],[6,"std.max",[[1,"normalizedY","*",[4,"-",[5,"1"]]],[5,"0"]]]]]],[13,"horizontalColor",[6,[7,[6,[7,"left","mul"],["leftAmount"]],"add"],[[6,[7,"right","mul"],["rightAmount"]]]]],[13,"verticalColor",[6,[7,[6,[7,"down","mul"],["downAmount"]],"add"],[[6,[7,"up","mul"],["upAmount"]]]]],[13,"horizontalWeight",[1,"leftAmount","+","rightAmount"]],[13,"verticalWeight",[1,"upAmount","+","downAmount"]],[13,"totalWeight",[1,[1,"horizontalWeight","+","verticalWeight"],"+",[5,"0.001"]]],[13,"directionalColor",[6,[7,[6,[7,"horizontalColor","mul"],[[1,"horizontalWeight","/","totalWeight"]]],"add"],[[6,[7,"verticalColor","mul"],[[1,"verticalWeight","/","totalWeight"]]]]]],[13,"finalColor",[6,"std.mix",["base","directionalColor",[6,"d.vec4f",["hasFlow"]]]]],[10,[6,[7,"finalColor","mul"],["liquidIntensity"]]]]]},externals:{"std.smoothstep":()=>re,"std.length":()=>j,"std.max":()=>b,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})).$name("flowDirectionColor"),l1={name:"Root",props:{},fragment:({childNode:e})=>e??vd("vec4f(0.0, 0.0, 0.0, 0.0)")};function uo(e,t,s="_animTime"){let r=e.props.member(s);if(t){let o=e.uniforms[t];if(o)return r.add(o)}return r}var _Y=class{kind="wgsl";spec;identifiers;fns=new Map;constructor(e){if(typeof e.body!="string"||e.body.trim()==="")throw new Error("wgsl: the body must be a non-empty WGSL string");if(!/\breturn\b/.test(vw(e.body)))throw new Error("wgsl: the body must `return` a vec4f color");this.spec=e,this.identifiers=lY(e.body)}get samplesChild(){return this.identifiers.has("childTexture")}fnFor(e,t){let s=this.fns.get(e);return s||(s=t(),this.fns.set(e,s)),s}};function e_(e){return e instanceof _Y}function vw(e){return e.replace(/\/\*[\s\S]*?\*\//g," ").replace(/\/\/[^\n]*/g," ")}function lY(e){let t=new Set,s=new RegExp("(?":ps(a),sampler:fv()},mY=new Set(["viewport","child","childTexture","childSampler"]),hw={uv:"vec2f",aspect:"f32",time:"f32",viewportSize:"vec2f",logicalViewportSize:"vec2f",pointer:"vec2f"};function Ib(e){return/^[A-Za-z_][A-Za-z0-9_]*$/.test(e)?e:e.replace(/[^A-Za-z0-9_]/g,"_")}function gy(e,t,s){let r=Ib(e.spec.name??pY(s.name)+fY(t)),o=vY(t,s),n=yY(e.spec.inputs??{},s.props),i=new Map;for(let u of o)e.identifiers.has(u.name)&&i.set(u.name,u);for(let u of n)i.set(u.name,u);let d=[...i.values()],c=`(${d.map(u=>`${Ib(u.name)}: ${u.type}`).join(", ")}) -> vec4f`,_=d.map(u=>`${u.name}:${u.type}`).join(",");return u=>(nh(),u.noteCustomWgsl?.(),we(e.fnFor(_,()=>(globalThis.__TYPEGPU_AUTONAME__??(m=>m))(v.fn(d.map(m=>uY[m.type]),x),"shell")(`${c} { +${e.spec.body} +}`)),r,d.map(m=>m.value(u))))}function pY(e){return e?e[0].toLowerCase()+e.slice(1):"custom"}function fY(e){return e==="generator"?"Paint":"Filter"}function vY(e,t){let s=[],r=e==="generator";s.push({name:"uv",type:"vec2f",value:o=>r?o.uvContext??o.ctx.uv:o.ctx.uv}),s.push({name:"time",type:"f32",value:o=>t.animatedTime?uo(o):o.ctx.time}),s.push({name:"aspect",type:"f32",value:o=>o.ctx.aspect}),s.push({name:"viewport",type:"vec2f",value:o=>r?o.effectiveViewportSize??o.ctx.viewportSize:o.ctx.viewportSize}),s.push({name:"pointer",type:"vec2f",value:o=>o.ctx.pointer}),e==="pointwise"&&s.push({name:"child",type:"vec4f",value:o=>o.childNode}),e==="gather"&&(s.push({name:"childTexture",type:"texture_2d",value:o=>o.texture.accessor()}),s.push({name:"childSampler",type:"sampler",value:()=>vd("samp.$.linearClamp")}));for(let[o,n]of Object.entries(t.props)){if(hw[o]||mY.has(o))continue;let i=yw(n);if(!i)continue;let d=n.transform===ho;s.push({name:o,type:i,value:c=>{let _=c.uniforms[o];if(!_)throw new Error(`wgsl: prop '${o}' has no GPU uniform (is it CPU-only?)`);return d?new Kt(u=>`vec2f(${_.member("x")._emit(u)}, 1.0 - ${_.member("y")._emit(u)})`):_}})}return s}function yY(e,t){let s=[];for(let[r,o]of Object.entries(e)){let n=o!==null&&typeof o=="object"&&"value"in o&&"type"in o,i=n?o.value:o,d=hY(i,t),c=n?o.type:d;if(n&&c!==d)throw new Error(`wgsl: input '${r}' is declared ${c} but its source is ${d}`);s.push({name:r,type:c,value:_=>typeof i=="number"?vt(i):oY(i,_)})}return s}function hY(e,t){if(typeof e=="number"||e instanceof Jc)return"f32";if(e.kind==="ctx")return hw[e.name]??"f32";if(e.kind==="prop"){let s=t[e.name];if(!s)throw new Error(`wgsl: input binds unknown prop '${e.name}'`);let r=yw(s);if(!r)throw new Error(`wgsl: prop '${e.name}' is CPU-only and cannot be bound as a WGSL parameter`);return r}return"f32"}function ya(e){let t={};for(let s of Object.keys(e)){let{recompile:r,...o}=e[s],n={...o};if(r?.kind==="crosses"){let i=r.value;n.compileTimeWhen=(d,c)=>d===i!=(c===i)}else r?.kind==="custom"&&(n.compileTimeWhen=r.predicate);t[s]=n}return t}function xw(e,t){switch(e.kind){case"isZero":case"isValue":{let s=e.kind==="isZero"?0:e.value,r=t[e.prop];return{props:[e.prop],when:o=>(o[e.prop]??r)===s}}case"allOf":{let s=e.rules.map(r=>xw(r,t));return{props:[...new Set(s.flatMap(r=>r.props))],when:r=>s.every(o=>o.when(r))}}case"custom":return{props:e.props,when:e.when}}}function Au(e,t){if(!e)return;let s={};for(let[r,o]of Object.entries(t))s[r]=o.default;return xw(e,s)}function xY(e){let{role:t,species:s,effect:r,identityWhen:o,missingChildMessage:n,props:i,...d}=e,c={...d,props:ya(i),identity:Au(o,i),missingChildMessage:n};if(r.kind==="tintToward"){let{color:m,amount:p}=r;return Km({...c,body:{fn:wR,hint:"mixToward"},args:y=>[Dt(m,y),od(p,y)]})}if(e_(r))return Km({...c,build:gy(r,"pointwise",by(e))});let{kind:_,...u}=r;return Km({...c,...u})}function by(e){return{name:e.name,props:e.props,animatedTime:e.animatedTime}}function gY(e){let{role:t,species:s,effect:r,identityWhen:o,missingChildMessage:n,props:i,...d}=e;if(r.kind==="displaceBy")return bY(e);if(e_(r))return Ub({...d,props:ya(i),identity:Au(o,i),missingChildMessage:n,build:gy(r,"gather",by(e)),resultAlpha:r.spec.alpha??"premultiplied"});let{kind:c,..._}=r;return Ub({...d,props:ya(i),identity:Au(o,i),missingChildMessage:n,..._})}function bY(e){let{role:t,species:s,effect:r,identityWhen:o,missingChildMessage:n,props:i,...d}=e,c=r,_=Au(o,i),u=c.field.sim.config,m=c.field.output,p=u.step.find(h=>h.kind==="op.wave"),y=u.step.find(h=>h.kind==="op.splat");if(!p||!y||u.step.length!==2)throw new Error(`std: simulate.grid currently implements exactly [op.wave, op.splat] (got: ${u.step.map(h=>h.kind).join(", ")})`);if(u.history!==2)throw new Error(`std: op.wave reads t\u22121 and t\u22122 \u2014 declare history: 2 (got ${u.history})`);if(u.derive[m]?.kind!=="op.gradient")throw new Error(`std: displaceBy consumes a vector field \u2014 derive '${m}' must be op.gradient()`);if(u.rest&&u.rest.settlesWhen!=="derived-from-damping")throw new Error("std: simulate.grid rest supports settlesWhen: 'derived-from-damping' only");return{...d,props:ya(i),requiresRTT:!0,requiresChild:!0,usesPointer:y.at.kind==="pointer",compute:h=>{if(!h.childNode)return null;let g=sG(h,{resolution:u.resolution,dampingProp:p.damping.name,radiusProp:y.radius.name,radiusScale:.05,speedMax:y.amount.max,teleportGuard:y.at.teleportGuard});return g?{outputs:{[m]:g.displacement},getComputeNodes:g.getComputeNodes}:null},fragment:h=>{let{childNode:g,ctx:w,computeOutputs:S,propValues:T,convertToTexture:A}=h;if(!g)return xr;let P=A(g);if(hy(_,h))return we(dn,"unpremultiplyAlpha",[P.sample(w.uv)]);let U=T[c.edges.name]??0,D=S?.[m],O=D?D.sample(w.uv,"linearClamp").member("xy"):vd("vec2f(0.0, 0.0)"),L=we(uz,"chromaticDisplaceUVs",[w.uv,O,Dt(c.strength,h),Dt(c.chromatic,h)]),G=te=>P.sample(te),W=Gi(L.member("rUV"),G,U),K=Gi(L.member("gUV"),G,U),Q=Gi(L.member("bUV"),G,U);return we(dn,"unpremultiplyAlpha",[Ws(W.member("r"),K.member("g"),Q.member("b"),K.member("a"))])}}}function wY(e){let{role:t,map:s,edges:r,resample:o,uvRemapIdentityWhen:n,missingChildMessage:i,props:d,...c}=e;return{...c,props:ya(d),requiresRTT:!0,requiresChild:!0,...NG(s,{edges:r,resample:o,uvRemapIdentityWhen:n,requireChildMessage:i})}}function TY(e){let{role:t,name:s,description:r,category:o,shape:n}=e;return tY({name:s,description:r,category:o,...n})}function SY(e){let{role:t,paint:s,props:r,...o}=e;return e_(s)?{acceptsUVContext:!0,...o,props:ya(r),fragment:gy(s,"generator",by(e))}:{...o,props:ya(r),fragment:s}}function AY(e){let{role:t,species:s,gpu:r,props:o,...n}=e;return{...n,props:ya(o),fragment:r.fragment,...r.uvRemap?{uvRemap:r.uvRemap}:{}}}function MY(e){let t=[],s=e.paint,r=e.effect;for(let n of[s,r])e_(n)&&t.push(n.spec.body,PY(n.spec.inputs??{}),n.spec.alpha??"");if(t.length===0)return;let o=2166136261;for(let n of t.join("\0"))o^=n.charCodeAt(0),o=Math.imul(o,16777619)>>>0;return o.toString(16)}function PY(e){let t=r=>{if(typeof r!="object"||r===null)return String(r);let o=r;switch(o.kind){case"prop":return`p:${o.name}`;case"ctx":return`c:${o.name}`;case"mul":return`mul(${t(o.a)},${t(o.b)})`;case"radialMask":return`radialMask(${o.center?.name},${o.radius?.name},${o.falloff?.name})`;default:return o.kind}},s=r=>typeof r=="number"?`n:${r}`:r instanceof Jc?`s:${t(r.node)}`:t(r);return Object.keys(e).sort().map(r=>{let o=e[r];return o!==null&&typeof o=="object"&&"value"in o&&"type"in o?`${r}=${s(o.value)}:${o.type}`:`${r}=${s(o)}`}).join(",")}var EY=new Set(["blendMode","opacity","visible","id","maskSource","maskType","renderOrder","transform","boundingBox","flow","absolute","children","ref","key","src"]),kY=new Set(["_animTime","_opacity"]),$Y=["_pad","_bbox_","_map_","_childBounds_","_animTime_"],UY=/^[A-Za-z_][A-Za-z0-9_]*$/;function CY(e,t){for(let s of Object.keys(t)){if(!UY.test(s))throw new Error(`defineShader("${e}"): prop '${s}' is not a valid identifier (letters, digits and _ only, not starting with a digit)`);if(EY.has(s))throw new Error(`defineShader("${e}"): '${s}' is a layer prop every component already has (blend mode, opacity, layout, \u2026) \u2014 rename the shader prop`);if(kY.has(s)||$Y.some(r=>s.startsWith(r)))throw new Error(`defineShader("${e}"): '${s}' collides with a field the renderer manages itself \u2014 rename the shader prop`)}}function $o(e){"props"in e&&e.props&&CY(e.name,e.props);let t=YY(e),s=MY(e);return s?{...t,revision:s}:t}function RY(e){let t="shape"in e?"shape":"map"in e?"warp":"gpu"in e?"custom":"paint"in e?"generator":"effect"in e?"filter":null,s=String(e.name??"?");if(!t)throw new Error(`defineShader("${s}"): give it a GPU half \u2014 paint: (generator), effect: (filter), map: (warp), shape: (shape) or gpu: (custom)`);let r=e.role;if(r&&t!=="custom"&&r!==t)throw new Error(`defineShader("${s}"): role '${r}' contradicts its ${zY[t]} field (a ${t})`);return t}var zY={shape:"shape:",warp:"map:",custom:"gpu:",generator:"paint:",filter:"effect:"};function GY(e){let{effect:t,species:s}=e;if(e_(t))return s??(t.samplesChild?"gather":"pointwise");let r=t.kind==="gather"||t.kind==="displaceBy"?"gather":"pointwise";if(s&&s!==r)throw new Error(`defineShader("${e.name}"): species '${s}' contradicts its '${t.kind}' effect (${r})`);return r}function YY(e){switch(RY(e)){case"shape":return TY(e);case"warp":return wY(e);case"custom":return AY(e);case"generator":return SY(e);case"filter":{let t=e;return GY(t)==="gather"?gY({...t,species:"gather"}):xY({...t,species:"pointwise"})}}}var $f=e=>typeof e=="number"?vt(e):e,Mu=(e,t)=>typeof e=="number"?vt(e)._emit(t):e._emit(t);function kr(e,...t){return new Kt(s=>`${e}(${t.map(r=>Mu(r,s)).join(", ")})`)}function u1(e,t,s){return new Kt(r=>`(${Mu(t,r)} ${e} ${Mu(s,r)})`)}var $e=(e,t)=>u1("+",e,t),fs=(e,t)=>u1("-",e,t),N=(e,t)=>u1("*",e,t),mr=(e,t)=>u1("/",e,t),Pu=e=>new Kt(t=>`(-(${Mu(e,t)}))`),m1=e=>kr("abs",e);var nd=(e,t)=>kr("pow",e,t),wy=e=>kr("exp",e);var Uo=e=>kr("sin",e),t_=e=>kr("cos",e);var xa=(e,t)=>kr("max",e,t),gr=(e,t,s)=>kr("clamp",e,t,s),Co=(e,t,s)=>oc($f(e),$f(t),s);var Ss=(e,t,s)=>kr("smoothstep",e,t,s);var gd=e=>kr("length",e);var gw=(e,t)=>kr("dot",e,t);var p1=(e,t,s)=>Jt(fs(N(rl(e,"x"),t),N(rl(e,"y"),s)),$e(N(rl(e,"x"),s),N(rl(e,"y"),t))),rl=(e,t)=>typeof e=="number"?e:e.member(t),f1=(e,t)=>kr("reflect",e,t);var LY=e=>kr("exp2",e);var Zr=e=>vt(e),Jt=(e,t)=>kr("vec2f",e,t),tr=(e,t,s)=>kr("vec3f",e,t,s),ni=(...e)=>Ws(...e.map($f)),ln=e=>kr("vec3f",e),ye=(e,t)=>ur(e,t);function bw(e){return{kind:"crosses",value:e}}var IY=e=>typeof e=="number"?vt(e):e,$r=(e,t)=>(...s)=>we(e,t,s.map(IY)),UO=$r(fc,"circleSdf"),CO=$r(uu,"ellipseSdf"),RO=$r(lu,"roundedRectSdf"),zO=$r(au,"polygonSdf"),GO=$r(du,"starSdf"),YO=$r(iu,"flowerSdf"),LO=$r(vu,"heartSdf"),IO=$r(_u,"crossSdf"),DO=$r(cu,"ringSdf"),FO=$r(mu,"vesicaSdf"),BO=$r(pu,"crescentSdf"),WO=$r(fu,"trapezoidSdf"),OO=$r(hu,"teardropSdf"),VO=$r(xu,"parallelogramSdf"),NO=$r(yu,"arcSdf");var Ae=Math.fround,DY=Ae(HC),Zm=Ae(it),FY=.11,Uf=Ae(4294967295),Db=new DataView(new ArrayBuffer(4));function Cf(e){return Db.setFloat32(0,Ae(e),!0),Db.getUint32(0,!0)}function Eu(e,t){return Math.imul(e>>>0,t>>>0)>>>0}function Fb(e){let t=Cf(Ae(Ae(e)*Ae(3141592653)));return Ae(Ae(Eu(Eu(t,t),3141592653))/Uf)}function Bb(e,t){let s=(Cf(Ae(Ae(e)*Ae(141421356)))^Cf(Ae(Ae(t)*Ae(2718281828))))>>>0;return[Ae(Ae(Eu(s,3141592653))/Uf),Ae(Ae(Eu(s,1618033988))/Uf)]}function BY(e,t,s,r,o,n){let i=Ae(Ae(e*DY)+Ae(Fb(Ae(Ae(s*Ae(.7311))+Ae(1.618)))*Zm)),d=Ae(Math.sqrt(Ae(Ae(e+.5)/Ae(t)))),c=Bb(Ae(Ae(e*Ae(3.77))+Ae(.917)),Ae(Ae(s*Ae(1.093))+Ae(2.236))),_=Ae(Ae(c[0]-.5)*Ae(.26)),u=Ae(Ae(c[1]-.5)*Ae(.26)),m=Bb(Ae(Ae(e*Ae(7.13))+Ae(1.618)),Ae(Ae(s*Ae(.531))+Ae(3.71))),p=Ae(m[0]*Zm),y=Ae(m[1]*Zm),h=Ae(.5+Ae(Fb(Ae(Ae(Ae(e*Ae(5.417))+Ae(s*Ae(.291)))+Ae(.917)))*Ae(.7))),g=Ae(Ae(n*Ae(FY))*h),w=Ae(Math.sin(Ae(g+p))),S=Ae(Math.cos(Ae(Ae(g*Ae(1.37))+y))),T=Ae(Ae(Ae(Ae(Math.cos(i))*d)*Ae(.62))+_)+Ae(Ae(w*Ae(r))*Ae(.16)),A=Ae(Ae(Ae(Ae(Math.sin(i))*d)*Ae(.62))+u)+Ae(Ae(S*Ae(r))*Ae(.16));return[Ae(Ae(.5+Ae(T))*Ae(o)),Ae(.5+Ae(A))]}function WY(e,t,s,r,o){let n=new Array(16);for(let i=0;i<8;i++){let[d,c]=BY(i,e,t,s,r,o);n[i*2]=d,n[i*2+1]=c}return n}function ww(e){return typeof e=="number"?e:typeof e=="string"?ir(e):0}function OY(e,t){return Fv[e?ww(t.propValues[e.name]):0]??Bo}function Tw(e){return(t,s,r)=>{let o=OY(e.space,r);return we(o,"mixColors",[we(o,"mixColors",[Dt(e.a,r),Dt(e.b,r),t]),Dt(e.c,r),s])}}function Sw(e){let t=s=>typeof s=="number"?vt(s):s;return e.anchors?we(nR,"scatterField",[e.at,t(e.count),t(e.seed),e.anchors,t(e.softness)]):we(aR,"scatterField",[e.at,t(e.count),t(e.seed),t(e.drift),t(e.aspect),t(e.time),t(e.softness)])}function Aw(e,t){let s=e.dimensions.width/Math.max(e.dimensions.height,1e-6);e.onResize(({width:o,height:n})=>{s=o/Math.max(n,1e-6)});let r="";return e.onBeforeRender(()=>{let o=e.getCpuValue("_animTime"),n=e.getCpuValue(t.count.name),i=e.getCpuValue(t.seed.name),d=e.getCpuValue(t.drift.name);if(typeof o!="number"||typeof n!="number"||typeof i!="number"||typeof d!="number")return;let c=`${n}|${i}|${d}|${s}|${o}`;c!==r&&(r=c,e.setExtraField(t.field,WY(n,i,d,s,o)))}),e.uniforms[t.field]}function Mw(e){return we(vz,"rampWrap",[e.t,typeof e.cycles=="number"?vt(e.cycles):e.cycles])}function Pw(e){let t=s=>typeof s=="number"?vt(s):s;return e.levels===1?we(rR(go,{name:"warpDomain1"}),"warpDomain1",[e.at,t(e.time),t(e.amount)]):we(sR(go,{name:"warpDomain"}),"warpDomain",[e.at,t(e.time),t(e.amount)])}function Ty(e){let t=s=>typeof s=="number"?vt(s):s;return we(iR,"chainedWarpStep",[e.at,vt(e.scale),t(e.z),Jt(e.offsets[0][0],e.offsets[0][1]),Jt(e.offsets[1][0],e.offsets[1][1]),vt(e.reach),t(e.strength)])}function Ew(e,t){return rG(t,e)}function kw(e){return(t,s,r)=>{let{uniforms:o}=r,n=ww(r.propValues[e.space.name]),i=Dt(e.a,r),d=Dt(e.b,r),c=Dt(e.c,r),_=Dt(e.d,r);if(n!==0){let u="";r.onBeforeRender(()=>{let y=[e.a.name,e.b.name,e.c.name,e.d.name].map(w=>r.getCpuValue(w));if(y.some(w=>!w))return;let h=y.map(w=>`${w.x},${w.y},${w.z}`).join("|");if(h===u)return;u=h;let g=["convA","convB","convC","convD"];y.forEach((w,S)=>{let T=s1(w.x,w.y,w.z,n);r.setExtraField(g[S],[T[0],T[1],T[2]])})});let m=ur(we(fa,"mixInSpace",[o.convA,i.member("a"),o.convB,d.member("a"),t]),"flowRow1"),p=ur(we(fa,"mixInSpace",[o.convC,c.member("a"),o.convD,_.member("a"),t]),"flowRow2");return we(Bv[n]??t1,"mixPreconvertedColors",[m.member("conv"),p.member("conv"),m.member("alpha"),p.member("alpha"),s])}return we(Bo,"mixColors",[ur(we(Bo,"mixColors",[i,d,t]),"flowRow1"),ur(we(Bo,"mixColors",[c,_,t]),"flowRow2"),s])}}function Qm(e,t){return typeof e=="number"?vt(e):e instanceof Jc||e.kind!=="ctx"?od(e,t):t.ctx[e.name]}function VY(e){return{uv:e.uvContext??e.ctx.uv,viewport:e.effectiveViewportSize??e.ctx.viewportSize}}function $w(e){return t=>{let{uv:s,viewport:r}=VY(t);return we(mz,"godraysFrame",[s,r,Dt(e,t)])}}function Uw(e,t,s){return r=>t(s?ur(e(r),s):e(r),r)}function Cw(e){return(t,s)=>we(pz,"godraysRayStack",[t,uo(s),Qm(e.density,s),Qm(e.intensity,s),Qm(e.spotty,s)])}function Rw(e){return t=>we(fz,"coverageOver",[Dt(e.color,t),Dt(e.background,t),e.coverage(t)])}var{sdfSpaceUV:NY,offsetUV:ol}=sw,{ANALYTIC_SDF_EXTRA_FIELDS:qY}=n1,{createVolumetricFieldComputeNode:XY,resolveShapeFieldSampler:HY,VOLUMETRIC_FIELD_EXTRA_FIELDS:jY}=yd,KY=0;function v1(e,t,s,r="guarded",o=[]){let n=KY++;return new Kt(i=>i.memo(`guard:${n}`,()=>{let d=i.freshLocal(r),c=e._emit(i),_=s._emit(i);for(let p of o)p._emit(i);let u=[],m=t._emit({external:(p,y)=>i.external(p,y),statement:p=>u.push(p),freshLocal:p=>i.freshLocal(p),memo:(p,y)=>i.memo(p,y)});return i.statement(`var ${d} = ${_};`),i.statement(`if (${c}) { + ${u.join(` + `)} + ${d} = ${m}; +}`),d}))}function y1(e,t){let s=we(Ez,"outsideShape",[e,t]);return new Kt(r=>`(!(${s._emit(r)}))`)}function h1(e){let t=e.pattern??"none",s=e.chord??"span",r=e.stencil??{kind:"forward",eps:.01},o=i=>XY(i,()=>i.getCpuValue("shape"),t,s),n=i=>{let{childNode:d,computeOutputs:c,convertToTexture:_,uniforms:u,ctx:m}=i,p;if(e.child==="required"){if(!d)return xr;p=c?.childTexture??_(d)}let{sampler:y,gradSampler:h,texelSampler:g,volumetric:w,bakedGradients:S}=HY(i,{patternMode:t,gradSampler:e.gradSampler??"fast",bakedGradients:e.bakedGradients??"none"}),T={sampler:y,gradSampler:h,texelSampler:g,volumetric:w,bakedGradients:S,volFlag:vt(w?1:0),childTexture:p};if(r!=="none"){let A=e.placeUV?e.placeUV(i):m.uv;if(T.sdfUV=ye(we(NY,"sdfSpaceUV",[u.center,u.scale,u.rotation,A,m.aspect]),"sdfUV"),T.surf0=(e.centreTap==="fast"?h:y)(T.sdfUV),r!=="centre"){let{kind:P,eps:U}=r;T.surfX=h(we(ol,"offsetUV",[T.sdfUV,vt(U),vt(0)])),P==="central"&&(T.surfL=h(we(ol,"offsetUV",[T.sdfUV,vt(-U),vt(0)]))),T.surfY=h(we(ol,"offsetUV",[T.sdfUV,vt(0),vt(U)])),P==="central"&&(T.surfD=h(we(ol,"offsetUV",[T.sdfUV,vt(0),vt(-U)])))}}return e.surface(T,i)};return{extraFields:{...jY,...qY},compute:o,gpu:{fragment:n}}}function x1(e,t,s={}){let{ctx:r}=t,o=ye(e.surf0,"s0"),n=ye(mr(1,r.viewportSize.member("y")),"pxH"),i=ye(s.scale?mr(o.member("x"),s.scale):o.member("x"),"sdf"),d=mr(r.viewportSize.member("x"),r.viewportSize.member("y"));return{s0:o,sX:e.surfX?ye(e.surfX,"sX"):void 0,sY:e.surfY?ye(e.surfY,"sY"):void 0,sdf:i,pxH:n,aspect:d}}function g1(e,t,s){let r=Zr(s.eps??.01),o=s.hint??"nGeo";if(e.volumetric)return ye(we(Az,"volumetricNormal",[t.s0,t.sX,t.sY,r,Zr(s.sharpness??5)]),o);let n=gr(mr(Pu(t.sdf),xa(s.bevelWidth,.003)),0,1);return ye(we(Mz,"bevelledFlatNormal",[we(Sz,"fieldGradient",[t.s0,t.sX,t.sY,r]),we(zG,"bevelSin",[n,s.bevelShape])]),o)}function zw(e,t,s={}){return ye(we(Pz,"patternCoords",[s.uv??e.sdfUV,t.s0,e.volFlag]),"pat")}function b1(e,t,s=.6){return ye(we(kz,"perspectiveViewRay",[e.ctx.uv,t.aspect,Zr(s)]),"viewI")}function Gw(e,t,s){let r=o=>typeof o=="number"?Zr(o):o;return we(Iz,"studio5Softbox",[e,t,s.rotation.member("x"),s.rotation.member("y"),r(s.keyRadius),r(s.drift),r(s.strength),Zr(s.skyGain)])}function w1(e,t){return we(Uz,"silhouetteAlpha",[e.sdf,t,e.pxH])}function Yw(e){return we(a7,"tonemapNeutral",[e])}function Lw(e,t,s,r="n"){return ye(we(Gz,"nudgeNormal",[e,t,s]),r)}function T1(e,t,s="kl"){return ZY(e.member("x"),e.member("y"),t,s)}function ZY(e,t,s,r="kl"){return ye(we(Cz,"keyLight",[e,t,Zr(s)]),r)}function Iw(e,t,s){return we(Rz,"sharpGlint",[e,t,s])}function Dw(e,t){return we(zz,"clampedPerlinGrad",[e,typeof t=="number"?Zr(t):t])}function Wb(e,t){return we(Yz,"opticalThickness",[e.sdf,t.volFlag])}function Fw(e,t){return we(Lz,"flowWarpOffset",[e,t])}function ga(e){return we(Ei,"mxNoiseFloat2",[e])}function Sn(e){return we(go,"mxNoiseFloat3",[e])}function QY(e){return we(jC,"mxWorleyNoiseFloat2Pub",[e,Zr(1)])}function Bw(e,t){return we(Ot,"hash12",[Jt(e,t)])}function Ww(e){let t=ye(e.gradSampler(Jt(.5,.5)),"s0C");return{x:ye(N(Pu(t.member("y")),e.volFlag),"rotSenseX"),y:ye(N(Pu(t.member("z")),e.volFlag),"rotSenseY")}}function Ow(e,t,s){let r=ye(fs(e.sdfUV.member("x"),.5),"cx"),o=ye(fs(e.sdfUV.member("y"),.5),"cy");return{x:ye($e(r,N(t.member("x"),s)),"bentX"),y:ye($e(o,N(t.member("y"),s)),"bentY"),centered:{x:r,y:o}}}function Sy(e,t,s){return $e(fs(1,s.amount),N(Uo($e(N(e,s.rate),N(t,s.spread))),s.amount))}function Ay(e,t){let s=t.hint??"stars",r=ye($e(N(ga(N(e,t.variationFreq)),.5),.5),`${s}V`),o=t.shimmer?t.shimmer(r):Zr(1),n=ye(N(N(N(Ss($e(t.radius[0],N(r,t.radius[1])),5e-4,QY(e)),Ss(t.keep[0],t.keep[1],r)),N($e(t.brightness[0],N(N(r,r),t.brightness[1])),o)),t.gain),s);return{glint:n,variation:r,rgb:t.tint?N(Co(tr(...t.tint.from),tr(...t.tint.to),ln(r)),ln(N(n,t.tint.gain))):void 0}}function Vw(e,t){let s=t.softness?ye(LY(Co(2,-2,t.softness)),"lobeWiden"):void 0,r=o=>s?N(o,s):Zr(o);return N($e(N(nd(e,r(t.core[0])),t.core[1]),N(nd(e,r(t.halo[0])),t.halo[1])),t.gain)}function Nw(e,t,s){let r=ye(N(e.s0.member("w"),t.volFlag),"rayEntry"),o=ye(s.lengthScale===void 0?Wb(e,t):N(Wb(e,t),s.lengthScale),"rayLen"),n=s.view?ye(N(s.view.member("x"),s.shear??1),"rayShearX"):void 0,i=s.view?ye(N(s.view.member("y"),s.shear??1),"rayShearY"):void 0;return{entry:r,length:o,at(d){return{x:n?$e(s.origin.x,N(n,d)):s.origin.x,y:i?$e(s.origin.y,N(i,d)):s.origin.y}}}}function My(e,t){let s=t.hint??"plane",r=ye($e(e.entry,N(e.length,t.depth)),`${s}Z`),o=e.at(r);if(!t.pan)return{x:o.x,y:o.y,z:r};let n=t.panRate??1;return{x:$e(o.x,N(t.pan.x,n)),y:$e(o.y,N(t.pan.y,n)),z:r}}function qw(e,t){let s=t.hint??"",r=t.drift,o=t.seed,n=(m,p,y,h)=>{let g=p===void 0?N(m,t.frequency):N(m,N(t.frequency,p));return r&&(g=$e(g,y===1?r:N(r,y))),o&&(g=$e(g,h===1?o:N(o,h))),g},i=ye(tr(n(e.x,void 0,1,1),n(e.y,void 0,-.7,.53),n(e.z,1.25,1.3,.79)),`q${s}`),d=ye(Sn(r?$e(N(i,.5),tr(N(r,1.4),0,N(r,-.9))):N(i,.5)),`warp${s}`),c=t.billow?ye($e(i,N(tr(d,N(d,-.73),N(d,.41)),t.billow)),`qw${s}`):i,_=ye(Sn($e(N(c,2.13),tr(5.2,1.3,8.4))),`mid${s}`),u=ye(Sn($e(N(c,4.31),tr(9.1,3.7,1.2))),`fine${s}`);return{density:ye(N($e($e(Sn(c),N(_,.5)),N(u,.27)),.57),`fbm${s}`),mid:_,fine:u}}function Xw(e,t){let s=ln(1),r=tr(0,0,0);for(let o=0;oe))(ut({center:l,lightPos:pt(x,8),lightColor:pt(x,8),lightCount:a,scale:a,rotation:a,aspect:a,reach:a,wrap:a,lightRange:a,shadowSoftness:a,eps:a,res:a,frame:a,rays:a,saRadius:a,saSides:a,saRounding:a,saInnerRatio:a,saRotation:a,saHeight:a,saOffset:a,saAperture:a,vfOriginX:a,vfOriginY:a,vfSpanX:a,vfSpanY:a,vfActiveRes:a,vfRBound:a}),"IrradianceParams"),ai={storageTexture:Mo(JY,"write-only")},XO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Py},outTex:ai}),"irradianceAnalyticLayout"),Jm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Py},outTex:ai,sdfSource:{texture:ps(a)},samp:{sampler:"filtering"}}),"irradianceSvgLayout"),nl=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Py},outTex:ai,silhouetteTex:{texture:ps(a)},samp:{sampler:"filtering"}}),"irradianceFieldLayout"),ep=1e3,ku=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return b(oe(t,ep),__tsover_mul(ep,-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[6,"std.max",[[6,"std.min",["v","FAR"]],[1,"FAR","*",[4,"-",[5,"1"]]]]]]]]},externals:{"std.max":()=>b,"std.min":()=>oe,FAR:()=>ep}})&&e.f)({})).$name("irradianceSane"),Ob=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=$(t,l(0,0),l(1,1));return j(t.sub(s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"c",[6,"std.clamp",["uv",[6,"d.vec2f",[[5,"0"],[5,"0"]]],[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]],[10,[6,"std.length",[[6,[7,"uv","sub"],["c"]]]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l,"std.length":()=>j}})&&e.f)({})).$name("irradianceBeyondSquare");var HO=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=zl(Jm.$.sdfSource,Jm.$.samp,t,a(0)).x,r=Ob(t);return ku(C(s,b(r,__tsover_sub(s,r)),r>0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"border",[7,[6,"std.textureSampleLevel",[[7,[7,"irradianceSvgLayout","$"],"sdfSource"],[7,[7,"irradianceSvgLayout","$"],"samp"],"uv",[6,"d.f32",[[5,"0"]]]]],"x"]],[13,"beyond",[6,"beyondSquare",["uv"]]],[10,[6,"sane",[[6,"std.select",["border",[6,"std.max",["beyond",[1,"border","-","beyond"]]],[1,"beyond",">",[5,"0"]]]]]]]]]},externals:{"std.textureSampleLevel":()=>zl,irradianceSvgLayout:()=>Jm,"d.f32":()=>a,beyondSquare:()=>Ob,sane:()=>ku,"std.select":()=>C,"std.max":()=>b}})&&e.f)({})).$name("irradianceSvgField"),jO=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=nl.$.params,r=$(t.x,s.vfOriginX,__tsover_add(s.vfOriginX,s.vfSpanX)),o=$(t.y,s.vfOriginY,__tsover_add(s.vfOriginY,s.vfSpanY)),n=j(l(__tsover_sub(t.x,r),__tsover_sub(t.y,o))),i=__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),s.vfRBound),d=l(__tsover_div(__tsover_sub(r,s.vfOriginX),s.vfSpanX),__tsover_div(__tsover_sub(o,s.vfOriginY),s.vfSpanY)),c=zl(nl.$.silhouetteTex,nl.$.samp,d,a(0)),_=__tsover_mul(c.z,c.w);return ku(C(_,b(b(n,i),__tsover_sub(_,n)),n>0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"p",[7,[7,"irradianceFieldLayout","$"],"params"]],[13,"cx",[6,"std.clamp",[[7,"uv","x"],[7,"p","vfOriginX"],[1,[7,"p","vfOriginX"],"+",[7,"p","vfSpanX"]]]]],[13,"cy",[6,"std.clamp",[[7,"uv","y"],[7,"p","vfOriginY"],[1,[7,"p","vfOriginY"],"+",[7,"p","vfSpanY"]]]]],[13,"outside",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","cx"],[1,[7,"uv","y"],"-","cy"]]]]]],[13,"circle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-",[7,"p","vfRBound"]]],[13,"tuv",[6,"d.vec2f",[[1,[1,"cx","-",[7,"p","vfOriginX"]],"/",[7,"p","vfSpanX"]],[1,[1,"cy","-",[7,"p","vfOriginY"]],"/",[7,"p","vfSpanY"]]]]],[13,"sil",[6,"std.textureSampleLevel",[[7,[7,"irradianceFieldLayout","$"],"silhouetteTex"],[7,[7,"irradianceFieldLayout","$"],"samp"],"tuv",[6,"d.f32",[[5,"0"]]]]]],[13,"inDomain",[1,[7,"sil","z"],"*",[7,"sil","w"]]],[13,"beyond",[6,"std.max",[[6,"std.max",["outside","circle"]],[1,"inDomain","-","outside"]]]],[10,[6,"sane",[[6,"std.select",["inDomain","beyond",[1,"outside",">",[5,"0"]]]]]]]]]},externals:{irradianceFieldLayout:()=>nl,"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.textureSampleLevel":()=>zl,"d.f32":()=>a,"std.max":()=>b,sane:()=>ku,"std.select":()=>C}})&&e.f)({})).$name("irradianceVolumetricField"),Kw=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({vfOriginX:a,vfOriginY:a,vfSpanX:a,vfSpanY:a,vfActiveRes:a,vfRBound:a,res:a,step:a}),"SilhouetteParams"),Ii=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Kw},fieldTex:{texture:ps(a),sampleType:"unfilterable-float"},out:ai}),"silhouetteSeedLayout"),Kd=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Kw},src:{texture:ps(a)},out:ai}),"silhouetteStepLayout"),{fieldSampleFastArg:Vb}=ay(),Ai=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ii.$.params,o=Vb(l(__tsover_add(r.vfOriginX,__tsover_mul(__tsover_div(__tsover_add(t,.5),r.res),r.vfSpanX)),__tsover_add(r.vfOriginY,__tsover_mul(__tsover_div(__tsover_add(s,.5),r.res),r.vfSpanY))),Ii.$.fieldTex,r.vfOriginX,r.vfOriginY,r.vfSpanX,r.vfSpanY,r.vfActiveRes,r.vfRBound).x;return C(a(1),a(-1),o<0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"tx"},{type:"i",name:"ty"}],body:[0,[[13,"p",[7,[7,"silhouetteSeedLayout","$"],"params"]],[13,"uv",[6,"d.vec2f",[[1,[7,"p","vfOriginX"],"+",[1,[1,[1,"tx","+",[5,"0.5"]],"/",[7,"p","res"]],"*",[7,"p","vfSpanX"]]],[1,[7,"p","vfOriginY"],"+",[1,[1,[1,"ty","+",[5,"0.5"]],"/",[7,"p","res"]],"*",[7,"p","vfSpanY"]]]]]],[13,"v",[7,[6,"fieldSampleFastArg",["uv",[7,[7,"silhouetteSeedLayout","$"],"fieldTex"],[7,"p","vfOriginX"],[7,"p","vfOriginY"],[7,"p","vfSpanX"],[7,"p","vfSpanY"],[7,"p","vfActiveRes"],[7,"p","vfRBound"]]],"x"]],[10,[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"d.f32",[[4,"-",[5,"1"]]]],[1,"v","<",[5,"0"]]]]]]]},externals:{silhouetteSeedLayout:()=>Ii,"d.vec2f":()=>l,fieldSampleFastArg:()=>Vb,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})).$name("silhouetteInside"),KO=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ii.$.params,o=a(t),n=a(s),i=Ai(o,n),d=__tsover_sub(r.res,1),c=Ai(b(__tsover_sub(o,1),0),n),_=Ai(oe(__tsover_add(o,1),d),n),u=Ai(o,b(__tsover_sub(n,1),0)),m=Ai(o,oe(__tsover_add(n,1),d)),p=c!==i||_!==i||u!==i||m!==i,y=__tsover_add(r.vfOriginX,__tsover_mul(__tsover_div(__tsover_add(o,.5),r.res),r.vfSpanX)),h=__tsover_add(r.vfOriginY,__tsover_mul(__tsover_div(__tsover_add(n,.5),r.res),r.vfSpanY)),g=C(x(-1,-1,6e4,i),x(y,h,0,i),p);jr(Ii.$.out,Ge(t,s),g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"p",[7,[7,"silhouetteSeedLayout","$"],"params"]],[13,"fx",[6,"d.f32",["cx"]]],[13,"fy",[6,"d.f32",["cy"]]],[13,"s0",[6,"silhouetteInside",["fx","fy"]]],[13,"maxT",[1,[7,"p","res"],"-",[5,"1"]]],[13,"sL",[6,"silhouetteInside",[[6,"std.max",[[1,"fx","-",[5,"1"]],[5,"0"]]],"fy"]]],[13,"sR",[6,"silhouetteInside",[[6,"std.min",[[1,"fx","+",[5,"1"]],"maxT"]],"fy"]]],[13,"sD",[6,"silhouetteInside",["fx",[6,"std.max",[[1,"fy","-",[5,"1"]],[5,"0"]]]]]],[13,"sU",[6,"silhouetteInside",["fx",[6,"std.min",[[1,"fy","+",[5,"1"]],"maxT"]]]]],[13,"boundary",[3,[3,[3,[1,"sL","!==","s0"],"||",[1,"sR","!==","s0"]],"||",[1,"sD","!==","s0"]],"||",[1,"sU","!==","s0"]]],[13,"sx",[1,[7,"p","vfOriginX"],"+",[1,[1,[1,"fx","+",[5,"0.5"]],"/",[7,"p","res"]],"*",[7,"p","vfSpanX"]]]],[13,"sy",[1,[7,"p","vfOriginY"],"+",[1,[1,[1,"fy","+",[5,"0.5"]],"/",[7,"p","res"]],"*",[7,"p","vfSpanY"]]]],[13,"seed",[6,"std.select",[[6,"d.vec4f",[[4,"-",[5,"1"]],[4,"-",[5,"1"]],[5,"60000"],"s0"]],[6,"d.vec4f",["sx","sy",[5,"0"],"s0"]],"boundary"]]],[6,"std.textureStore",[[7,[7,"silhouetteSeedLayout","$"],"out"],[6,"d.vec2u",["cx","cy"]],"seed"]]]]},externals:{silhouetteSeedLayout:()=>Ii,"d.f32":()=>a,silhouetteInside:()=>Ai,"std.max":()=>b,"std.min":()=>oe,"std.select":()=>C,"d.vec4f":()=>x,"std.textureStore":()=>jr,"d.vec2u":()=>Ge}})&&e.f)({})).$name("silhouetteSeed"),ZO=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Kd.$.params,o=a(t),n=a(s),i=l(__tsover_add(r.vfOriginX,__tsover_mul(__tsover_div(__tsover_add(o,.5),r.res),r.vfSpanX)),__tsover_add(r.vfOriginY,__tsover_mul(__tsover_div(__tsover_add(n,.5),r.res),r.vfSpanY))),d=Be(Kd.$.src,Ge(t,s),0),c=x(d),_=__tsover_sub(r.res,1);for(let u=-1;u<=1;u++)for(let m=-1;m<=1;m++){let p=$(__tsover_add(o,__tsover_mul(a(m),r.step)),0,_),y=$(__tsover_add(n,__tsover_mul(a(u),r.step)),0,_),h=Be(Kd.$.src,Ge(R(p),R(y)),0);if(h.x>=0){let g=j(h.xy.sub(i));g=",[5,"0"]],[0,[[13,"dist",[6,"std.length",[[6,[7,[7,"n","xy"],"sub"],["here"]]]]],[11,[1,"dist","<",[7,"best","z"]],[0,[[2,"best","=",[6,"d.vec4f",[[7,"n","x"],[7,"n","y"],"dist",[7,"best","w"]]]]]]]]]]]]]]]],[6,"std.textureStore",[[7,[7,"silhouetteStepLayout","$"],"out"],[6,"d.vec2u",["cx","cy"]],[6,"d.vec4f",[[7,"best","x"],[7,"best","y"],[7,"best","z"],[7,"self","w"]]]]]]]},externals:{silhouetteStepLayout:()=>Kd,"d.f32":()=>a,"d.vec2f":()=>l,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"d.vec4f":()=>x,"std.clamp":()=>$,"d.u32":()=>R,"std.length":()=>j,"std.textureStore":()=>jr}})&&e.f)({})).$name("silhouetteStep");var eL=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({weight:a}),"AccumulateParams"),Zd=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({sample:{texture:ps(a)},prev:{texture:ps(a)},out:ai,params:{uniform:eL}}),"accumulateLayout"),QO=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ge(t,s),o=Be(Zd.$.sample,r,0),n=Be(Zd.$.prev,r,0),i=Zd.$.params.weight;jr(Zd.$.out,r,C(n.add(o.sub(n).mul(i)),o,i>=1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"at",[6,"d.vec2u",["cx","cy"]]],[13,"s",[6,"std.textureLoad",[[7,[7,"accumulateLayout","$"],"sample"],"at",[5,"0"]]]],[13,"prev",[6,"std.textureLoad",[[7,[7,"accumulateLayout","$"],"prev"],"at",[5,"0"]]]],[13,"w",[7,[7,[7,"accumulateLayout","$"],"params"],"weight"]],[6,"std.textureStore",[[7,[7,"accumulateLayout","$"],"out"],"at",[6,"std.select",[[6,[7,"prev","add"],[[6,[7,[6,[7,"s","sub"],["prev"]],"mul"],["w"]]]],"s",[1,"w",">=",[5,"1"]]]]]]]]},externals:{"d.vec2u":()=>Ge,"std.textureLoad":()=>Be,accumulateLayout:()=>Zd,"std.textureStore":()=>jr,"std.select":()=>C}})&&e.f)({})).$name("irradianceAccumulate"),tp=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({src:{texture:ps(a)},out:ai}),"copyLayout"),JO=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ge(t,s);jr(tp.$.out,r,Be(tp.$.src,r,0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"at",[6,"d.vec2u",["cx","cy"]]],[6,"std.textureStore",[[7,[7,"copyLayout","$"],"out"],"at",[6,"std.textureLoad",[[7,[7,"copyLayout","$"],"src"],"at",[5,"0"]]]]]]]},externals:{"d.vec2u":()=>Ge,"std.textureStore":()=>jr,copyLayout:()=>tp,"std.textureLoad":()=>Be}})&&e.f)({})).$name("irradianceCopy");var{createSdfDataTexture:eV,analyticSubPropValues:tV,parseShapeConfigValue:sV}=n1,{createVolumetricFieldComputeNode:rV}=yd;var oV=[[1/16,-3/16],[-1/16,3/16],[5/16,1/16],[-3/16,-5/16],[-5/16,5/16],[-7/16,-1/16],[3/16,7/16],[7/16,-7/16]];var tL=Le;function bd(e){let t=e.uvContext??e.ctx.uv,s=e.effectiveViewportSize??e.ctx.viewportSize;return{uv:t,viewport:s,aspect:ye(mr(s.member("x"),s.member("y")),"aspect")}}function s_(e,t="dir"){let s=N(e,tL);return ye(Jt(t_(s),Uo(s)),t)}var nV=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(t.x,__tsover_sub(__tsover_mul(s,2),t.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"lineY"}],body:[0,[[10,[6,"d.vec2f",[[7,"uv","x"],[1,[1,"lineY","*",[5,"2"]],"-",[7,"uv","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),aV=v.fn([x,x,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=b(__tsover_sub(r,o),0),c=b(n,.001),_=b(__tsover_mul(c,i),1e-4),u=__tsover_sub(c,_),m=__tsover_sub(1,re(u,c,d)),p=__tsover_mul(s.w,m),y=__tsover_sub(1,p);return X(t,x(s.xyz.mul(m).add(t.xyz.mul(y)),__tsover_add(p,__tsover_mul(t.w,y))),x(De(o,r)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"original"},{type:"i",name:"refl"},{type:"i",name:"uvY"},{type:"i",name:"lineY"},{type:"i",name:"distance"},{type:"i",name:"falloff"}],body:[0,[[13,"distBelow",[6,"std.max",[[1,"uvY","-","lineY"],[5,"0"]]]],[13,"distanceMax",[6,"std.max",["distance",[5,"0.001"]]]],[13,"fadeWidth",[6,"std.max",[[1,"distanceMax","*","falloff"],[5,"0.0001"]]]],[13,"fadeStart",[1,"distanceMax","-","fadeWidth"]],[13,"visibility",[1,[5,"1"],"-",[6,"std.smoothstep",["fadeStart","distanceMax","distBelow"]]]],[13,"effReflA",[1,[7,"refl","w"],"*","visibility"]],[13,"oneMinusReflA",[1,[5,"1"],"-","effReflA"]],[13,"belowRgb",[6,[7,[6,[7,[7,"refl","xyz"],"mul"],["visibility"]],"add"],[[6,[7,[7,"original","xyz"],"mul"],["oneMinusReflA"]]]]],[13,"belowA",[1,"effReflA","+",[1,[7,"original","w"],"*","oneMinusReflA"]]],[13,"belowLine",[6,"d.vec4f",["belowRgb","belowA"]]],[13,"isBelowLine",[6,"std.step",["lineY","uvY"]]],[10,[6,"std.mix",["original","belowLine",[6,"d.vec4f",["isBelowLine"]]]]]]]},externals:{"std.max":()=>b,"std.smoothstep":()=>re,"d.vec4f":()=>x,"std.step":()=>De,"std.mix":()=>X}})&&e.f)({}));var iV=v.fn([x,x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=r.w,n=$(s.xyz.mul(r.xyz).mul(o),f(0,0,0),f(1,1,1)),i=f(1,1,1),d=i.sub(i.sub(t.xyz).mul(i.sub(n))),c=__tsover_add(t.w,__tsover_mul(__tsover_mul(s.w,o),__tsover_sub(1,t.w)));return x(d.x,d.y,d.z,$(c,0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"glow"},{type:"i",name:"tintStrength"}],body:[0,[[13,"strength",[7,"tintStrength","w"]],[13,"bloomC",[6,"std.clamp",[[6,[7,[6,[7,[7,"glow","xyz"],"mul"],[[7,"tintStrength","xyz"]]],"mul"],["strength"]],[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]],[13,"one",[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]],[13,"screened",[6,[7,"one","sub"],[[6,[7,[6,[7,"one","sub"],[[7,"base","xyz"]]],"mul"],[[6,[7,"one","sub"],["bloomC"]]]]]]],[13,"a",[1,[7,"base","w"],"+",[1,[1,[7,"glow","w"],"*","strength"],"*",[1,[5,"1"],"-",[7,"base","w"]]]]],[10,[6,"d.vec4f",[[7,"screened","x"],[7,"screened","y"],[7,"screened","z"],[6,"std.clamp",["a",[5,"0"],[5,"1"]]]]]]]]},externals:{"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})).$name("tintedScreenGlow");var dV=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s,.006),n=__tsover_mul(__tsover_add(__tsover_mul(Y(__tsover_mul(r,1.7)),.5),__tsover_mul(Y(__tsover_add(__tsover_mul(r,.9),1.3)),.5)),o),i=__tsover_mul(__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(r,1.3),.7)),.5),__tsover_mul(Y(__tsover_mul(r,2.3)),.5)),o),d=__tsover_mul(__tsover_mul(Y(__tsover_mul(r,.6)),s),.004),c=H(d),_=Y(d),u=t.sub(l(.5,.5)),m=__tsover_sub(__tsover_mul(u.x,c),__tsover_mul(u.y,_)),p=__tsover_add(__tsover_mul(u.x,_),__tsover_mul(u.y,c));return l(__tsover_add(__tsover_add(m,.5),n),__tsover_add(__tsover_add(p,.5),i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"amount"},{type:"i",name:"t"}],body:[0,[[13,"amp",[1,"amount","*",[5,"0.006"]]],[13,"ox",[1,[1,[1,[6,"std.sin",[[1,"t","*",[5,"1.7"]]]],"*",[5,"0.5"]],"+",[1,[6,"std.sin",[[1,[1,"t","*",[5,"0.9"]],"+",[5,"1.3"]]]],"*",[5,"0.5"]]],"*","amp"]],[13,"oy",[1,[1,[1,[6,"std.sin",[[1,[1,"t","*",[5,"1.3"]],"+",[5,"0.7"]]]],"*",[5,"0.5"]],"+",[1,[6,"std.sin",[[1,"t","*",[5,"2.3"]]]],"*",[5,"0.5"]]],"*","amp"]],[13,"ang",[1,[1,[6,"std.sin",[[1,"t","*",[5,"0.6"]]]],"*","amount"],"*",[5,"0.004"]]],[13,"c",[6,"std.cos",["ang"]]],[13,"s",[6,"std.sin",["ang"]]],[13,"p",[6,[7,"uv","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"rx",[1,[1,[7,"p","x"],"*","c"],"-",[1,[7,"p","y"],"*","s"]]],[13,"ry",[1,[1,[7,"p","x"],"*","s"],"+",[1,[7,"p","y"],"*","c"]]],[10,[6,"d.vec2f",[[1,[1,"rx","+",[5,"0.5"]],"+","ox"],[1,[1,"ry","+",[5,"0.5"]],"+","oy"]]]]]]},externals:{"std.sin":()=>Y,"std.cos":()=>H,"d.vec2f":()=>l}})&&e.f)({})).$name("swayUV");var vc=ao,Nb=.35,cV=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_mul(.18,t),r=Ce(z(Y(__tsover_mul(s,vc))),10),o=Ce(z(Y(__tsover_mul(__tsover_sub(s,.15),vc))),10);return $(__tsover_add(r,__tsover_mul(.6,o)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"animTime"}],body:[0,[[13,"time",[1,[5,"0.18"],"*","animTime"]],[13,"first",[6,"std.pow",[[6,"std.abs",[[6,"std.sin",[[1,"time","*","TWO_PI"]]]]],[5,"10"]]]],[13,"second",[6,"std.pow",[[6,"std.abs",[[6,"std.sin",[[1,[1,"time","-",[5,"0.15"]],"*","TWO_PI"]]]]],[5,"10"]]]],[10,[6,"std.clamp",[[1,"first","+",[1,[5,"0.6"],"*","second"]],[5,"0"],[5,"1"]]]]]]},externals:{"std.pow":()=>Ce,"std.abs":()=>z,"std.sin":()=>Y,TWO_PI:()=>vc,"std.clamp":()=>$}})&&e.f)({})),_V=v.fn([a,l,l,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=__tsover_add(__tsover_mul(_,1.2),131),y=b(__tsover_mul(__tsover_mul(.5,n),Nb),.002),h=z(__tsover_add(__tsover_div(t,b(o,.001)),X(y,a(0),i))),g=X(y,__tsover_mul(3,y),i),w=__tsover_div(2,__tsover_mul(r.y,b(o,.001))),S=oe(X(g,__tsover_mul(g,-1),i),__tsover_add(g,w)),T=b(X(g,__tsover_mul(g,-1),i),__tsover_add(g,w)),A=__tsover_sub(1,re(S,T,h));A=Ce($(A,0,1),__tsover_add(1,i));let P=l(__tsover_sub(s.x,.5),__tsover_sub(s.y,.5)).mul(__tsover_add(.5,__tsover_mul(2.5,d))),U=__tsover_mul(.5,p),D=Br(l(__tsover_add(__tsover_mul(P.x,2.7),U),__tsover_add(__tsover_mul(P.y,2.7),U))),O=Br(l(__tsover_sub(__tsover_mul(P.x,3.4),U),__tsover_sub(__tsover_mul(P.y,3.4),U))),L=__tsover_sub($(__tsover_mul(3,D),0,1),O),G=$(__tsover_add(y,.2),.1,.4),W=Ce($(__tsover_sub(1,re(__tsover_mul(G,-1),__tsover_add(G,w),h)),0,1),2);L=__tsover_mul(L,W),L=__tsover_mul(__tsover_mul(__tsover_mul(30,L),L),__tsover_mul(__tsover_mul(.5,c),c)),L=__tsover_mul(L,X(a(1),m,u)),A=$(__tsover_add(A,$(L,0,1)),0,1);let K=__tsover_div(tt(__tsover_sub(s.y,.5),__tsover_sub(s.x,.5)),vc);return l(A,K)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fieldRaw"},{type:"i",name:"sdfUV"},{type:"i",name:"viewport"},{type:"i",name:"scale"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"smokeSize"},{type:"i",name:"smokeAmt"},{type:"i",name:"animTime"},{type:"i",name:"pulse"},{type:"i",name:"beat"}],body:[0,[[13,"t",[1,[1,"animTime","*",[5,"1.2"]],"+",[5,"131"]]],[13,"th",[6,"std.max",[[1,[1,[5,"0.5"],"*","thickness"],"*","BAND_THICKNESS_REF"],[5,"0.002"]]]],[13,"f",[1,[1,"fieldRaw","/",[6,"std.max",["scale",[5,"0.001"]]]],"+",[6,"std.mix",["th",[6,"d.f32",[[5,"0"]]],"softness"]]]],[13,"bd",[6,"std.abs",["f"]]],[13,"borderTh",[6,"std.mix",["th",[1,[5,"3"],"*","th"],"softness"]]],[13,"aa",[1,[5,"2"],"/",[1,[7,"viewport","y"],"*",[6,"std.max",["scale",[5,"0.001"]]]]]],[13,"e0",[6,"std.min",[[6,"std.mix",["borderTh",[1,"borderTh","*",[4,"-",[5,"1"]]],"softness"]],[1,"borderTh","+","aa"]]]],[13,"e1",[6,"std.max",[[6,"std.mix",["borderTh",[1,"borderTh","*",[4,"-",[5,"1"]]],"softness"]],[1,"borderTh","+","aa"]]]],[12,"border",[1,[5,"1"],"-",[6,"std.smoothstep",["e0","e1","bd"]]]],[2,"border","=",[6,"std.pow",[[6,"std.clamp",["border",[5,"0"],[5,"1"]]],[1,[5,"1"],"+","softness"]]]],[13,"suv",[6,[7,[6,"d.vec2f",[[1,[7,"sdfUV","x"],"-",[5,"0.5"]],[1,[7,"sdfUV","y"],"-",[5,"0.5"]]]],"mul"],[[1,[5,"0.5"],"+",[1,[5,"2.5"],"*","smokeSize"]]]]],[13,"drift",[1,[5,"0.5"],"*","t"]],[13,"n1",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,[7,"suv","x"],"*",[5,"2.7"]],"+","drift"],[1,[1,[7,"suv","y"],"*",[5,"2.7"]],"+","drift"]]]]]],[13,"n2",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,[7,"suv","x"],"*",[5,"3.4"]],"-","drift"],[1,[1,[7,"suv","y"],"*",[5,"3.4"]],"-","drift"]]]]]],[12,"smoke",[1,[6,"std.clamp",[[1,[5,"3"],"*","n1"],[5,"0"],[5,"1"]]],"-","n2"]],[13,"smokeTh",[6,"std.clamp",[[1,"th","+",[5,"0.2"]],[5,"0.1"],[5,"0.4"]]]],[13,"smokeBand",[6,"std.pow",[[6,"std.clamp",[[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"smokeTh","*",[4,"-",[5,"1"]]],[1,"smokeTh","+","aa"],"bd"]]],[5,"0"],[5,"1"]]],[5,"2"]]]],[2,"smoke","=",[1,"smoke","*","smokeBand"]],[2,"smoke","=",[1,[1,[1,[5,"30"],"*","smoke"],"*","smoke"],"*",[1,[1,[5,"0.5"],"*","smokeAmt"],"*","smokeAmt"]]],[2,"smoke","=",[1,"smoke","*",[6,"std.mix",[[6,"d.f32",[[5,"1"]]],"beat","pulse"]]]],[2,"border","=",[6,"std.clamp",[[1,"border","+",[6,"std.clamp",["smoke",[5,"0"],[5,"1"]]]],[5,"0"],[5,"1"]]]],[13,"angle01",[1,[6,"std.atan2",[[1,[7,"sdfUV","y"],"-",[5,"0.5"]],[1,[7,"sdfUV","x"],"-",[5,"0.5"]]]],"/","TWO_PI"]],[10,[6,"d.vec2f",["border","angle01"]]]]]},externals:{"std.max":()=>b,BAND_THICKNESS_REF:()=>Nb,"std.mix":()=>X,"d.f32":()=>a,"std.abs":()=>z,"std.min":()=>oe,"std.smoothstep":()=>re,"std.pow":()=>Ce,"std.clamp":()=>$,"d.vec2f":()=>l,"noise.value12":()=>Br,"std.atan2":()=>tt,TWO_PI:()=>vc}})&&e.f)({})),lV=v.fn([a,a,a,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=__tsover_add(__tsover_mul(r,1.2),131),y=__tsover_add(1,__tsover_mul(__tsover_add(1,__tsover_mul(4,_)),c)),h=a(0),g=a(0);for(let w=0;w<5;w++){let S=a(w),T=C(a(0),a(1),Sa,"std.select":()=>C,"noise.hash22":()=>er,"d.vec2f":()=>l,"std.abs":()=>z,"std.sin":()=>Y,"std.cos":()=>H,"std.floor":()=>q,"std.clamp":()=>$,"std.mix":()=>X,"std.fract":()=>ue,"std.smoothstep":()=>re}})&&e.f)({})),gl=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({rgb:f,w:a,ba:a,ac:f,aa:a}),"EdgeGlowAccum"),uV=v.fn([],gl)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(()=>{"use gpu";return gl({rgb:f(0,0,0),w:a(0),ba:a(0),ac:f(0,0,0),aa:a(0)})}),{v:2,name:void 0,ast:{params:[],body:[0,[[10,[6,"EdgeGlowAccum",[[104,{rgb:[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],w:[6,"d.f32",[[5,"0"]]],ba:[6,"d.f32",[[5,"0"]]],ac:[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],aa:[6,"d.f32",[[5,"0"]]]}]]]]]]},externals:{EdgeGlowAccum:()=>gl,"d.vec3f":()=>f,"d.f32":()=>a}})&&e.f)({}));var mV=v.fn([pt(x,8),a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t[Z(s)];return x(r.x,r.y,r.z,r.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colors"},{type:"i",name:"idx"}],body:[0,[[13,"c",[8,"colors",[6,"d.i32",["idx"]]]],[10,[6,"d.vec4f",[[7,"c","x"],[7,"c","y"],[7,"c","z"],[7,"c","w"]]]]]]},externals:{"d.i32":()=>Z,"d.vec4f":()=>x}})&&e.f)({})),pV=v.fn([gl,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(s,4),o=X(t.rgb.mul(t.ba),t.ac,f(r)),n=$(X(t.ba,t.aa,r),0,1);return x($(o.div(b(n,1e-4)),f(0),f(1)),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"st"},{type:"i",name:"bloom"}],body:[0,[[13,"k",[1,"bloom","*",[5,"4"]]],[13,"blendPremult",[6,[7,[7,"st","rgb"],"mul"],[[7,"st","ba"]]]],[13,"accumC",[6,"std.mix",["blendPremult",[7,"st","ac"],[6,"d.vec3f",["k"]]]]],[13,"accumA",[6,"std.clamp",[[6,"std.mix",[[7,"st","ba"],[7,"st","aa"],"k"]],[5,"0"],[5,"1"]]]],[13,"straight",[6,"std.clamp",[[6,[7,"accumC","div"],[[6,"std.max",["accumA",[5,"0.0001"]]]]],[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]],[10,[6,"d.vec4f",["straight","accumA"]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f,"std.clamp":()=>$,"std.max":()=>b,"d.vec4f":()=>x}})&&e.f)({}));var sp=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({crackIntensity:a,edgeNormal:l,displacedUV:l,disp:l}),"CrackGeom"),fV=v.fn([l,a,a,a,a,a,a,a],sp)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=l(s,r),u=l(o,n),m=l(i,d),p=t.sub(_),y=j(p),h=j(t.sub(u)),g=j(m),w=__tsover_sub(h,y),S=__tsover_mul(c,.005),T=__tsover_sub(1,re(0,S,w)),A=re(0,.01,g),P=__tsover_mul(T,A),U=p.div(b(y,1e-5));return sp({crackIntensity:P,edgeNormal:l(__tsover_mul(U.y,-1),U.x),displacedUV:t.sub(m),disp:m})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"nPosX"},{type:"i",name:"nPosY"},{type:"i",name:"sPosX"},{type:"i",name:"sPosY"},{type:"i",name:"dispX"},{type:"i",name:"dispY"},{type:"i",name:"crackWidth"}],body:[0,[[13,"nearestPos",[6,"d.vec2f",["nPosX","nPosY"]]],[13,"secondPos",[6,"d.vec2f",["sPosX","sPosY"]]],[13,"disp",[6,"d.vec2f",["dispX","dispY"]]],[13,"fromNearest",[6,[7,"uv","sub"],["nearestPos"]]],[13,"minDist1",[6,"std.length",["fromNearest"]]],[13,"minDist2",[6,"std.length",[[6,[7,"uv","sub"],["secondPos"]]]]],[13,"displacementMag",[6,"std.length",["disp"]]],[13,"edgeDiff",[1,"minDist2","-","minDist1"]],[13,"crackThreshold",[1,"crackWidth","*",[5,"0.005"]]],[13,"baseCrackIntensity",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"crackThreshold","edgeDiff"]]]],[13,"displacementFactor",[6,"std.smoothstep",[[5,"0"],[5,"0.01"],"displacementMag"]]],[13,"crackIntensity",[1,"baseCrackIntensity","*","displacementFactor"]],[13,"toNearest",[6,[7,"fromNearest","div"],[[6,"std.max",["minDist1",[5,"0.00001"]]]]]],[13,"edgeNormal",[6,"d.vec2f",[[1,[7,"toNearest","y"],"*",[4,"-",[5,"1"]]],[7,"toNearest","x"]]]],[13,"displacedUV",[6,[7,"uv","sub"],["disp"]]],[10,[6,"CrackGeom",[[104,{crackIntensity:"crackIntensity",edgeNormal:"edgeNormal",displacedUV:"displacedUV",disp:"disp"}]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.smoothstep":()=>re,"std.max":()=>b,CrackGeom:()=>sp}})&&e.f)({})),vV=v.fn([l,l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=s.mul(__tsover_mul(o,.01)),c=__tsover_mul(n,.005),_=s.mul(__tsover_mul(i,c)),u=d.add(_);return t.add(u.mul(r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"displacedUV"},{type:"i",name:"edgeNormal"},{type:"i",name:"crackIntensity"},{type:"i",name:"refractionStrength"},{type:"i",name:"chromaticSplit"},{type:"i",name:"channel"}],body:[0,[[13,"refractionOffset",[6,[7,"edgeNormal","mul"],[[1,"refractionStrength","*",[5,"0.01"]]]]],[13,"chromaticOffset",[1,"chromaticSplit","*",[5,"0.005"]]],[13,"chromaShift",[6,[7,"edgeNormal","mul"],[[1,"channel","*","chromaticOffset"]]]],[13,"offset",[6,[7,"refractionOffset","add"],["chromaShift"]]],[10,[6,[7,"displacedUV","add"],[[6,[7,"offset","mul"],["crackIntensity"]]]]]]]},externals:{}})&&e.f)({})),qb=.3/Math.hypot(.3,.6),Xb=.6/Math.hypot(.3,.6),yV=v.fn([x,x,x,x,a,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=f(s.x,r.y,o.z),_=t.xyz.mul(__tsover_sub(1,n)).add(c.mul(n)),u=j(i),m=__tsover_div(i.x,__tsover_add(u,.001)),p=__tsover_div(i.y,__tsover_add(u,.001)),y=__tsover_add(__tsover_mul(m,qb),__tsover_mul(p,Xb)),h=__tsover_add(1,__tsover_mul(y,d)),g=re(0,.02,u),w=__tsover_add(1,__tsover_mul(__tsover_sub(h,1),g));return x(_.mul(w),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"normalColor"},{type:"i",name:"rFinal"},{type:"i",name:"gFinal"},{type:"i",name:"bFinal"},{type:"i",name:"crackIntensity"},{type:"i",name:"disp"},{type:"i",name:"shardLighting"}],body:[0,[[13,"refractedRGB",[6,"d.vec3f",[[7,"rFinal","x"],[7,"gFinal","y"],[7,"bFinal","z"]]]],[13,"shadedRGB",[6,[7,[6,[7,[7,"normalColor","xyz"],"mul"],[[1,[5,"1"],"-","crackIntensity"]]],"add"],[[6,[7,"refractedRGB","mul"],["crackIntensity"]]]]],[13,"displacementLength",[6,"std.length",["disp"]]],[13,"tiltX",[1,[7,"disp","x"],"/",[1,"displacementLength","+",[5,"0.001"]]]],[13,"tiltY",[1,[7,"disp","y"],"/",[1,"displacementLength","+",[5,"0.001"]]]],[13,"normalDot",[1,[1,"tiltX","*","SHARD_LIGHT_DIR_X"],"+",[1,"tiltY","*","SHARD_LIGHT_DIR_Y"]]],[13,"lightingFactor",[1,[5,"1"],"+",[1,"normalDot","*","shardLighting"]]],[13,"lightingIntensity",[6,"std.smoothstep",[[5,"0"],[5,"0.02"],"displacementLength"]]],[13,"finalLighting",[1,[5,"1"],"+",[1,[1,"lightingFactor","-",[5,"1"]],"*","lightingIntensity"]]],[13,"finalRGB",[6,[7,"shadedRGB","mul"],["finalLighting"]]],[10,[6,"d.vec4f",["finalRGB",[7,"normalColor","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.length":()=>j,SHARD_LIGHT_DIR_X:()=>qb,SHARD_LIGHT_DIR_Y:()=>Xb,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({}));var{formatFloat:hV}=Wz;var xV=v.fn([l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=zx(s),d=l(__tsover_div(H(i),o),Y(i)),c=__tsover_mul(r,.1),_=d.mul(c);return t.add(_.mul(n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"angle"},{type:"i",name:"strength"},{type:"i",name:"aspect"},{type:"i",name:"channelOffset"}],body:[0,[[13,"angleRad",[6,"std.radians",["angle"]]],[13,"direction",[6,"d.vec2f",[[1,[6,"std.cos",["angleRad"]],"/","aspect"],[6,"std.sin",["angleRad"]]]]],[13,"scaledStrength",[1,"strength","*",[5,"0.1"]]],[13,"offsetBase",[6,[7,"direction","mul"],["scaledStrength"]]],[10,[6,[7,"uv","add"],[[6,[7,"offsetBase","mul"],["channelOffset"]]]]]]]},externals:{"std.radians":()=>zx,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({}));var Zw="rgba16float",Qw=16384;var gV=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({buffer:{storage:pt(x,Qw),access:"mutable"},params:{uniform:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cursorX:a,cursorY:a,mouseVelX:a,mouseVelY:a,dt:a,decay:a,intensity:a,radius:a,aspect:a}),"uniform")}}),"splatUpdateLayout"),bV=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({buffer:{storage:pt(x,Qw),access:"readonly"},dispTex:{storageTexture:Mo(Zw,"write-only")}}),"splatOutputLayout");var An=64,Rf=An*An,rp=An-1,xo=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({readBuf:{storage:pt(x,Rf),access:"readonly"},writeBuf:{storage:pt(x,Rf),access:"mutable"},params:{uniform:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cursorX:a,cursorY:a,dirX:a,dirY:a,clampedSpeed:a,dt:a,subDt:a,stiffness:a,dampFactor:a,radius:a,aspect:a}),"uniform")}}),"latticeLayout"),op=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({srcBuf:{storage:pt(x,Rf),access:"readonly"},dispTex:{storageTexture:Mo(Zw,"write-only")}}),"latticeOutputLayout"),wV=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";if(t>R(0)&&tR(0)&&s.01){let W=__tsover_div(__tsover_add(a(t),.5),a(An)),K=__tsover_div(__tsover_add(a(s),.5),a(An)),Q=C(__tsover_sub(W,r.cursorX),__tsover_mul(__tsover_sub(W,r.cursorX),r.aspect),r.aspect>=1),te=C(__tsover_div(__tsover_sub(K,r.cursorY),r.aspect),__tsover_sub(K,r.cursorY),r.aspect>=1),ee=__tsover_add(__tsover_mul(Q,Q),__tsover_mul(te,te)),he=__tsover_mul(r.radius,3);if(ee<__tsover_mul(he,he)){let Ee=ct(__tsover_mul(__tsover_div(ee,__tsover_mul(r.radius,r.radius)),-1)),Te=__tsover_mul(__tsover_mul(__tsover_mul(Ee,r.clampedSpeed),r.dt),2);D=__tsover_add(D,__tsover_mul(r.dirX,Te)),O=__tsover_add(O,__tsover_mul(r.dirY,Te))}}let L=$(__tsover_add(d,__tsover_mul(D,r.subDt)),-.5,.5),G=$(__tsover_add(c,__tsover_mul(O,r.subDt)),-.5,.5);xo.$.writeBuf[n]=x(L,G,D,O)}}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[11,[3,[3,[3,[1,"cx",">",[6,"d.u32",[[5,"0"]]]],"&&",[1,"cx","<",[6,"d.u32",["LATTICE_MAX"]]]],"&&",[1,"cy",">",[6,"d.u32",[[5,"0"]]]]],"&&",[1,"cy","<",[6,"d.u32",["LATTICE_MAX"]]]],[0,[[13,"p",[7,[7,"latticeLayout","$"],"params"]],[13,"gs",[6,"d.u32",["LATTICE_GRID"]]],[13,"idx",[1,[1,"cy","*","gs"],"+","cx"]],[13,"current",[8,[7,[7,"latticeLayout","$"],"readBuf"],"idx"]],[13,"dispX",[7,"current","x"]],[13,"dispY",[7,"current","y"]],[13,"velX",[7,"current","z"]],[13,"velY",[7,"current","w"]],[13,"nL",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,"idx","-",[6,"d.u32",[[5,"1"]]]]]],[13,"nR",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,"idx","+",[6,"d.u32",[[5,"1"]]]]]],[13,"nU",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,"idx","-","gs"]]],[13,"nD",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,"idx","+","gs"]]],[13,"nUL",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,[1,"idx","-","gs"],"-",[6,"d.u32",[[5,"1"]]]]]],[13,"nUR",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,[1,"idx","-","gs"],"+",[6,"d.u32",[[5,"1"]]]]]],[13,"nDL",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,[1,"idx","+","gs"],"-",[6,"d.u32",[[5,"1"]]]]]],[13,"nDR",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,[1,"idx","+","gs"],"+",[6,"d.u32",[[5,"1"]]]]]],[12,"fx",[1,[7,"p","stiffness"],"*",[1,[1,[1,[1,[7,"nL","x"],"-","dispX"],"+",[1,[7,"nR","x"],"-","dispX"]],"+",[1,[7,"nU","x"],"-","dispX"]],"+",[1,[7,"nD","x"],"-","dispX"]]]],[12,"fy",[1,[7,"p","stiffness"],"*",[1,[1,[1,[1,[7,"nL","y"],"-","dispY"],"+",[1,[7,"nR","y"],"-","dispY"]],"+",[1,[7,"nU","y"],"-","dispY"]],"+",[1,[7,"nD","y"],"-","dispY"]]]],[13,"shearK",[1,[7,"p","stiffness"],"*",[5,"0.35"]]],[2,"fx","=",[1,"fx","+",[1,"shearK","*",[1,[1,[1,[1,[7,"nUL","x"],"-","dispX"],"+",[1,[7,"nUR","x"],"-","dispX"]],"+",[1,[7,"nDL","x"],"-","dispX"]],"+",[1,[7,"nDR","x"],"-","dispX"]]]]],[2,"fy","=",[1,"fy","+",[1,"shearK","*",[1,[1,[1,[1,[7,"nUL","y"],"-","dispY"],"+",[1,[7,"nUR","y"],"-","dispY"]],"+",[1,[7,"nDL","y"],"-","dispY"]],"+",[1,[7,"nDR","y"],"-","dispY"]]]]],[2,"fx","=",[1,"fx","-",[1,[1,[7,"p","stiffness"],"*",[5,"0.1"]],"*","dispX"]]],[2,"fy","=",[1,"fy","-",[1,[1,[7,"p","stiffness"],"*",[5,"0.1"]],"*","dispY"]]],[12,"newVelX",[1,[1,"velX","*",[7,"p","dampFactor"]],"+",[1,"fx","*",[7,"p","subDt"]]]],[12,"newVelY",[1,[1,"velY","*",[7,"p","dampFactor"]],"+",[1,"fy","*",[7,"p","subDt"]]]],[11,[1,[7,"p","clampedSpeed"],">",[5,"0.01"]],[0,[[13,"cellX",[1,[1,[6,"d.f32",["cx"]],"+",[5,"0.5"]],"/",[6,"d.f32",["LATTICE_GRID"]]]],[13,"cellY",[1,[1,[6,"d.f32",["cy"]],"+",[5,"0.5"]],"/",[6,"d.f32",["LATTICE_GRID"]]]],[13,"ddx",[6,"std.select",[[1,"cellX","-",[7,"p","cursorX"]],[1,[1,"cellX","-",[7,"p","cursorX"]],"*",[7,"p","aspect"]],[1,[7,"p","aspect"],">=",[5,"1"]]]]],[13,"ddy",[6,"std.select",[[1,[1,"cellY","-",[7,"p","cursorY"]],"/",[7,"p","aspect"]],[1,"cellY","-",[7,"p","cursorY"]],[1,[7,"p","aspect"],">=",[5,"1"]]]]],[13,"distSq",[1,[1,"ddx","*","ddx"],"+",[1,"ddy","*","ddy"]]],[13,"influenceRadius",[1,[7,"p","radius"],"*",[5,"3"]]],[11,[1,"distSq","<",[1,"influenceRadius","*","influenceRadius"]],[0,[[13,"influence",[6,"std.exp",[[1,[1,"distSq","/",[1,[7,"p","radius"],"*",[7,"p","radius"]]],"*",[4,"-",[5,"1"]]]]]],[13,"forceMag",[1,[1,[1,"influence","*",[7,"p","clampedSpeed"]],"*",[7,"p","dt"]],"*",[5,"2"]]],[2,"newVelX","=",[1,"newVelX","+",[1,[7,"p","dirX"],"*","forceMag"]]],[2,"newVelY","=",[1,"newVelY","+",[1,[7,"p","dirY"],"*","forceMag"]]]]]]]]],[13,"newDispX",[6,"std.clamp",[[1,"dispX","+",[1,"newVelX","*",[7,"p","subDt"]]],[4,"-",[5,"0.5"]],[5,"0.5"]]]],[13,"newDispY",[6,"std.clamp",[[1,"dispY","+",[1,"newVelY","*",[7,"p","subDt"]]],[4,"-",[5,"0.5"]],[5,"0.5"]]]],[2,[8,[7,[7,"latticeLayout","$"],"writeBuf"],"idx"],"=",[6,"d.vec4f",["newDispX","newDispY","newVelX","newVelY"]]]]]]]]},externals:{"d.u32":()=>R,LATTICE_MAX:()=>rp,latticeLayout:()=>xo,LATTICE_GRID:()=>An,"d.f32":()=>a,"std.select":()=>C,"std.exp":()=>ct,"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})).$name("springLatticeStep"),TV=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_add(__tsover_mul(s,R(An)),t),o=op.$.srcBuf[r];jr(op.$.dispTex,Ge(t,s),x(o.x,o.y,0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"idx",[1,[1,"cy","*",[6,"d.u32",["LATTICE_GRID"]]],"+","cx"]],[13,"cell",[8,[7,[7,"latticeOutputLayout","$"],"srcBuf"],"idx"]],[6,"std.textureStore",[[7,[7,"latticeOutputLayout","$"],"dispTex"],[6,"d.vec2u",["cx","cy"]],[6,"d.vec4f",[[7,"cell","x"],[7,"cell","y"],[5,"0"],[5,"1"]]]]]]]},externals:{"d.u32":()=>R,LATTICE_GRID:()=>An,latticeOutputLayout:()=>op,"std.textureStore":()=>jr,"d.vec2u":()=>Ge,"d.vec4f":()=>x}})&&e.f)({})).$name("springLatticeOutput");var Hb=Le,SV=v.fn([l,a,l,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(t.x,s),t.y),c=l(__tsover_mul(r.x,s),__tsover_sub(1,r.y)),_=__tsover_sub(d.x,c.x),u=__tsover_sub(d.y,c.y),m=__tsover_mul(o,Hb),p=H(m),y=Y(m),h=__tsover_add(__tsover_mul(_,p),__tsover_mul(u,y)),g=__tsover_sub(__tsover_mul(u,p),__tsover_mul(_,y)),w=__tsover_add(__tsover_div(h,__tsover_mul(n,2)),.5),S=__tsover_add(__tsover_div(g,__tsover_mul(i,2)),.5);return f(w,S,__tsover_mul(__tsover_mul(__tsover_mul(De(0,w),De(w,1)),De(0,S)),De(S,1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"},{type:"i",name:"rotationDeg"},{type:"i",name:"halfW"},{type:"i",name:"halfH"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dx",[1,[7,"aspectUV","x"],"-",[7,"centerPos","x"]]],[13,"dy",[1,[7,"aspectUV","y"],"-",[7,"centerPos","y"]]],[13,"rotRad",[1,"rotationDeg","*","OBF_DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rdx",[1,[1,"dx","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dx","*","sinR"]]],[13,"localU",[1,[1,"rdx","/",[1,"halfW","*",[5,"2"]]],"+",[5,"0.5"]]],[13,"localV",[1,[1,"rdy","/",[1,"halfH","*",[5,"2"]]],"+",[5,"0.5"]]],[13,"insideMask",[1,[1,[1,[6,"std.step",[[5,"0"],"localU"]],"*",[6,"std.step",["localU",[5,"1"]]]],"*",[6,"std.step",[[5,"0"],"localV"]]],"*",[6,"std.step",["localV",[5,"1"]]]]],[10,[6,"d.vec3f",["localU","localV","insideMask"]]]]]},externals:{"d.vec2f":()=>l,OBF_DEG_TO_RAD:()=>Hb,"std.cos":()=>H,"std.sin":()=>Y,"std.step":()=>De,"d.vec3f":()=>f}})&&e.f)({})),yc=it,jb=Le,AV=v.fn([l,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(s,jb),c=H(d),_=Y(d),u=__tsover_add(__tsover_mul(t.x,__tsover_mul(_,-1)),__tsover_mul(t.y,c)),m=H(__tsover_add(__tsover_mul(__tsover_mul(u,r),yc),o)),p=X(-1.15,1.15,$(n,0,1));return re(__tsover_sub(p,i),__tsover_add(p,i),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"angleDeg"},{type:"i",name:"frequency"},{type:"i",name:"reliefPhase"},{type:"i",name:"level"},{type:"i",name:"aa"}],body:[0,[[13,"angleRad",[1,"angleDeg","*","HP_DEG_TO_RAD"]],[13,"c",[6,"std.cos",["angleRad"]]],[13,"s",[6,"std.sin",["angleRad"]]],[13,"w",[1,[1,[7,"p","x"],"*",[1,"s","*",[4,"-",[5,"1"]]]],"+",[1,[7,"p","y"],"*","c"]]],[13,"phase",[1,[1,[1,"w","*","frequency"],"*","HP_TAU"],"+","reliefPhase"]],[13,"v",[6,"std.cos",["phase"]]],[13,"thr",[6,"std.mix",[[4,"-",[5,"1.15"]],[5,"1.15"],[6,"std.clamp",["level",[5,"0"],[5,"1"]]]]]],[10,[6,"std.smoothstep",[[1,"thr","-","aa"],[1,"thr","+","aa"],"v"]]]]]},externals:{HP_DEG_TO_RAD:()=>jb,"std.cos":()=>H,"std.sin":()=>Y,HP_TAU:()=>yc,"std.mix":()=>X,"std.clamp":()=>$,"std.smoothstep":()=>re}})&&e.f)({})),MV=v.fn([l,l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=t.sub(s),c=j(d),_=tt(d.y,d.x),u=H(__tsover_add(__tsover_mul(__tsover_sub(__tsover_mul(c,r),__tsover_mul(_,__tsover_div(1,yc))),yc),o)),m=X(-1.15,1.15,$(n,0,1));return re(__tsover_sub(m,i),__tsover_add(m,i),u)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"c"},{type:"i",name:"frequency"},{type:"i",name:"reliefPhase"},{type:"i",name:"level"},{type:"i",name:"aa"}],body:[0,[[13,"dv",[6,[7,"p","sub"],["c"]]],[13,"r",[6,"std.length",["dv"]]],[13,"theta",[6,"std.atan2",[[7,"dv","y"],[7,"dv","x"]]]],[13,"phase",[1,[1,[1,[1,"r","*","frequency"],"-",[1,"theta","*",[1,[5,"1"],"/","HP_TAU"]]],"*","HP_TAU"],"+","reliefPhase"]],[13,"v",[6,"std.cos",["phase"]]],[13,"thr",[6,"std.mix",[[4,"-",[5,"1.15"]],[5,"1.15"],[6,"std.clamp",["level",[5,"0"],[5,"1"]]]]]],[10,[6,"std.smoothstep",[[1,"thr","-","aa"],[1,"thr","+","aa"],"v"]]]]]},externals:{"std.length":()=>j,"std.atan2":()=>tt,HP_TAU:()=>yc,"std.cos":()=>H,"std.mix":()=>X,"std.clamp":()=>$,"std.smoothstep":()=>re}})&&e.f)({}));var PV=ut({pos:l,dir:l,spd:a}).$name("AgentPose");var EV=ut({rhat:l,strength:a,phi:a}).$name("AgentFieldSample");var kV=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return C(C(__tsover_mul(Gs(__tsover_add(__tsover_mul(t,2.3987),.517)),3.141592653589793),a(0),s>.5),a(1.5707963267948966),s>1.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fi"},{type:"i",name:"restMode"}],body:[0,[[13,"randAng",[1,[6,"noise.hash11",[[1,[1,"fi","*",[5,"2.3987"]],"+",[5,"0.517"]]]],"*",[5,"3.141592653589793"]]],[13,"a",[6,"std.select",["randAng",[6,"d.f32",[[5,"0"]]],[1,"restMode",">",[5,"0.5"]]]]],[10,[6,"std.select",["a",[6,"d.f32",[[5,"1.5707963267948966"]]],[1,"restMode",">",[5,"1.5"]]]]]]]},externals:{"noise.hash11":()=>Gs,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})).$name("agentRestAngle");var $V=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return se(t,f(.299,.587,.114))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),UV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(1,se(t,f(.299,.587,.114)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),CV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t.x}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[7,"rgb","x"]]]]},externals:{}})&&e.f)({})),RV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t.y}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[7,"rgb","y"]]]]},externals:{}})&&e.f)({})),zV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t.z}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[7,"rgb","z"]]]]},externals:{}})&&e.f)({})),GV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(b(t.x,t.y),t.z),o=oe(oe(t.x,t.y),t.z);return __tsover_sub(r,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[13,"mx",[6,"std.max",[[6,"std.max",[[7,"rgb","x"],[7,"rgb","y"]]],[7,"rgb","z"]]]],[13,"mn",[6,"std.min",[[6,"std.min",[[7,"rgb","x"],[7,"rgb","y"]]],[7,"rgb","z"]]]],[10,[1,"mx","-","mn"]]]]},externals:{"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),YV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return s}),{v:2,name:void 0,ast:{params:[{type:"i",name:"_rgb"},{type:"i",name:"a"}],body:[0,[[10,"a"]]]},externals:{}})&&e.f)({}));var LV=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(t,0),o=b(s,0);return __tsover_add(oe(b(t,s),0),be(__tsover_add(__tsover_mul(r,r),__tsover_mul(o,o))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"d2"},{type:"i",name:"wz"}],body:[0,[[13,"ox",[6,"std.max",["d2",[5,"0"]]]],[13,"oz",[6,"std.max",["wz",[5,"0"]]]],[10,[1,[6,"std.min",[[6,"std.max",["d2","wz"]],[5,"0"]]],"+",[6,"std.sqrt",[[1,[1,"ox","*","ox"],"+",[1,"oz","*","oz"]]]]]]]]},externals:{"std.max":()=>b,"std.min":()=>oe,"std.sqrt":()=>be}})&&e.f)({})).$name("shapeFieldExtrudeZ");var sL=4*Math.PI,wd=[{scale:2,offsets:[[5.2,1.3],[1.7,9.2]],reach:.25},{scale:1.5,offsets:[[8.3,2.8],[3.1,7.4]],reach:.2}],r_=$o({name:"FlowingGradient",role:"generator",boundingBoxDeclaration:{aspectRatio:null,supportsResizeFit:!0},category:"Textures",description:"Liquid silk gradient with organic flowing color bands",acceptsUVContext:!0,animatedTime:{speed:"speed"},extraFields:{convA:{schema:f,initial:[0,0,0]},convB:{schema:f,initial:[0,0,0]},convC:{schema:f,initial:[0,0,0]},convD:{schema:f,initial:[0,0,0]}},props:{colorA:{default:"#0a0015",transform:ts,description:"Deep background color",ui:{type:"color",label:"Color A",group:"Colors"}},colorB:{default:"#6b17e6",transform:ts,description:"Primary accent color",ui:{type:"color",label:"Color B",group:"Colors"}},colorC:{default:"#ff4d6a",transform:ts,description:"Secondary accent color",ui:{type:"color",label:"Color C",group:"Colors"}},colorD:{default:"#ff6b35",transform:ts,description:"Tertiary accent color",ui:{type:"color",label:"Color D",group:"Colors"}},colorSpace:{default:"oklch",transform:ir,compileTime:!0,description:"Color space for color interpolation",ui:{type:"select",options:Ho,label:"Color Space",group:"Colors"}},speed:{default:1,description:"Animation speed",ui:{type:"range",min:0,max:10,step:.1,label:"Speed",group:"Effect"}},distortion:{default:.5,description:"Organic distortion intensity",ui:{type:["range","map"],min:0,max:2,step:.1,label:"Distortion",group:"Effect"}},seed:{default:0,description:"Random seed for variation",ui:{type:["range","map"],min:0,max:100,step:1,label:"Seed",group:"Effect"}}},paint:e=>{let{uv:t,viewport:s}=bd(e),r=ye(mr(s.member("x"),xa(s.member("y"),1e-6)),"aspect"),o=ye(N(uo(e),.075),"flowTime"),n=ye(N(Dt(zt("seed"),e),.17),"flowSeed"),i=ye(Dt(zt("distortion"),e),"flowStrength"),d=ye(fs(t,.5),"flowCentred"),c=ye(N(N(Sn(tr($e(N(d.member("x"),.8),N(o,.4)),fs(N(d.member("y"),.8),N(o,.25)),n)),sL),i),"flowAngle"),_=ye(p1(Jt(d.member("x"),mr(d.member("y"),r)),t_(c),Uo(c)),"flowSpun"),u=ye(Jt(_.member("x"),N(_.member("y"),r)),"flowRot"),m=N(o,2),p=ye($e(u.member("x"),N(mr(Uo($e(N(u.member("y"),5),m)),50),i)),"flowShearX"),y=ye(Ty({at:Jt(p,$e(u.member("y"),N(mr(Uo($e(N(p,7.5),m)),25),i))),scale:wd[0].scale,z:$e(N(o,.5),n),offsets:wd[0].offsets,reach:wd[0].reach,strength:i}),"flowWarp1"),h=ye($e(N(o,.3),n),"flowTz"),g=ye(Ty({at:y.member("xy"),scale:wd[1].scale,z:h,offsets:wd[1].offsets,reach:wd[1].reach,strength:i}),"flowWarp2"),w=Sn(tr(N(g.member("x"),1.8),N(g.member("y"),1.8),h)),S=ye(nd($e(N(y.member("z"),.5),.5),1.5),"flowHardness"),T=ye(Co(.5,.008,S),"flowEdge"),A=ye(Ss(N(T,-1),T,w),"flowT1"),P=ye(Ss(N(T,-1),T,y.member("w")),"flowT2"),U=ye(kw({a:zt("colorA"),b:zt("colorB"),c:zt("colorC"),d:zt("colorD"),space:zt("colorSpace")})(A,P,e),"flowBase"),D=G=>fs(1,m1(fs(N(G,2),1))),O=N(xa(D(A),D(P)),S),L=N($e(N($e(N(g.member("z"),.5),.5),.12),.94),$e(1,N(O,.35)));return ni(gr(N(U.member("rgb"),L),ln(0),ln(1)),U.member("a"))}});var o_=$o({name:"Godrays",role:"generator",boundingBoxDeclaration:{aspectRatio:null,supportsResizeFit:!0},category:"Textures",description:"Volumetric light rays emanating from a point",acceptsUVContext:!0,animatedTime:{speed:"speed"},props:{center:{default:{x:0,y:0},transform:ho,description:"The center point of the god rays",ui:{type:"position",label:"Center",group:"Position"}},density:{default:.3,description:"Frequency of ray sectors",ui:{type:["range","map"],min:0,max:1,step:.1,label:"Density",group:"Effect"}},intensity:{default:.8,description:"Ray visibility within sectors",ui:{type:["range","map"],min:0,max:1,step:.1,label:"Intensity",group:"Effect"}},spotty:{default:1,description:"Density of spots on rays (higher = more spots)",ui:{type:["range","map"],min:0,max:1,step:.1,label:"Spotty",group:"Effect"}},speed:{default:.5,description:"Animation speed of the rays",ui:{type:"range",min:0,max:2,step:.1,label:"Speed",group:"Animation"}},rayColor:{default:"#4283fb",transform:ts,description:"Color of the light rays",ui:{type:"color",label:"Ray Color",group:"Colors"}},backgroundColor:{default:"transparent",transform:ts,description:"Background color",ui:{type:"color",label:"Background Color",group:"Colors"}}},paint:Rw({color:zt("rayColor"),background:zt("backgroundColor"),coverage:Uw($w(zt("center")),Cw({density:zt("density"),intensity:zt("intensity"),spotty:zt("spotty")}))})});var{isMobileGpuViewport:rL}=yd,oL=JSON.stringify({type:"sphere3D",radius:.35});function Jw(e,t,s,r,o,n,i){let d=ye(fs(N(e,s),N(t,r)),"ex"),c=ye($e(N(e,r),N(t,s)),"ey"),_=ye(Jt(d,c),"p"),u=ye(Ss(-.7,.85,c),"sky"),m=N(N(u,u),.4),p=ye(N(o,1.05),"r0"),y=Ss(p,N(p,.2),gd(fs(_,Jt($e(0,n),.55))));m=$e(m,N(N(y,1.75),i));let h=ye(N(o,1.25),"r1"),g=Ss(h,N(h,.2),gd(fs(_,Jt($e(-.45,n),-.4))));m=$e(m,N(N(g,1.15),i));let w=ye(N(o,1.15),"r2"),S=Ss(w,N(w,.2),gd(fs(_,Jt($e(.55,n),.1))));return $e(m,N(N(S,1.1),i))}var n_=$o({name:"LiquidMetal",role:"shapeEffect",species:"custom",boundingBoxDeclaration:i1,category:"Shape Effects",description:"Flowing liquid chrome \u2014 a molten reflective surface that wraps the shape, sweeping a procedural studio reflection across animated folds with crisp speculars and prismatic edges",animatedTime:{speed:"speed"},...h1({pattern:"raw",surface:(e,t)=>{let{uniforms:s}=t,r=uo(t),o=rL(),n=x1(e,t,{scale:s.scale}),{sdf:i,pxH:d}=n,c=g1(e,n,{bevelWidth:s.bevelWidth,bevelShape:s.bevelShape}),_=zw(e,n),u=ye(N(s.ripple,2.6),"freq"),m=ye(N(r,.12),"flowT"),p=ye(Jt(N(_.member("x"),u),N(_.member("y"),u)),"q"),y=N(s.warp,.9),h=ye(Dw($e(p,N(Fw(N(p,.6),m),y)),.62),"hg"),g=ye(N(s.turbulence,.5),"relief"),w=Lw(c,N(N(h.member("x"),g),-1),N(N(h.member("y"),g),-1)),S=ye(f1(b1(t,n),w),"R"),T=ye(s.environment,"envStr"),A=ye(gr(s.sharpness,0,1),"sharp"),P=ye(Co(.5,.18,A),"keyRad"),U=ye(N(Uo(N(r,.07)),.05),"drift"),D=s_(s.envRotation,"env"),O=D.member("x"),L=D.member("y"),G=ye(T1(s_(s.lightAngle,"light"),-.7).member("H"),"Hh"),W=ye(Iw(gr($e($e(N(w.member("x"),G.member("x")),N(w.member("y"),G.member("y"))),N(w.member("z"),G.member("z"))),0,1),A,ni(60,900,.4,1.4)),"spec"),K=ye($e(Jw(S.member("x"),S.member("y"),O,L,P,U,T),W),"lumG"),Q,te;if(o)Q=K,te=K;else{let Te=fs(1,gr(N(w.member("z"),-1),0,1)),Ue=ye(N(N(s.dispersion,.09),$e(.4,N(Te,1.3))),"dth"),Me=ye($e(Jw($e(S.member("x"),N(S.member("y"),Ue)),fs(S.member("y"),N(S.member("x"),Ue)),O,L,P,U,T),W),"lumBoffset");te=Me,Q=fs(N(K,2),Me)}let ee=ye(s.darkColor.member("rgb"),"dark"),he=ye(s.lightColor.member("rgb"),"light"),Ee=ni(Co(ee.member("x"),he.member("x"),gr(Q,0,1.8)),Co(ee.member("y"),he.member("y"),gr(K,0,1.8)),Co(ee.member("z"),he.member("z"),gr(te,0,1.8)),w1(n,s.edgeSoftness));return v1(y1(i,d),Ee,xr,"liquidMetal")}}),props:{origin:{default:"center",description:"Reference edge the center position is measured from (center default). Lets you pin the shape relative to a corner or the canvas centre.",ui:{type:"origin",label:"Origin",group:"Position"}},center:{default:{x:.5,y:.5},transform:ho,description:"Center position of the metal shape",ui:{type:"position",label:"Center",group:"Position",units:["%","px"]}},scale:{default:1,description:"Scale of the metal shape (1 = default size)",ui:{type:"range",min:.1,max:3,step:.01,label:"Scale",group:"Position"}},rotation:{default:0,description:"Rotation of the metal shape in degrees",ui:{type:"range",min:0,max:360,step:1,label:"Rotation",group:"Position"}},lightColor:{default:"#eef0f6",transform:ts,description:"The bright tone of the chrome highlights",ui:{type:"color",label:"Light Color",group:"Metal"}},darkColor:{default:"#141414",transform:ts,description:"The dark tone the reflection falls to in shadow \u2014 recolor for tinted metal (gold, steel, copper\u2026)",ui:{type:"color",label:"Dark Color",group:"Metal"}},turbulence:{default:1,description:"How molten the surface is \u2014 the depth of the flowing folds that bend the reflection",ui:{type:"range",min:0,max:1.5,step:.01,label:"Turbulence",group:"Liquid"}},ripple:{default:4,description:"Scale of the molten folds \u2014 higher = smaller, busier ripples",ui:{type:"range",min:.5,max:8,step:.01,label:"Ripple Scale",group:"Liquid"}},warp:{default:1.5,description:"Swirl of the flow \u2014 domain-warps the folds into liquid curls",ui:{type:"range",min:0,max:1.5,step:.01,label:"Swirl",group:"Liquid"}},speed:{default:.5,description:"Speed of the molten flow and the slowly drifting reflection. 0 pauses.",ui:{type:"range",min:0,max:4,step:.01,label:"Speed",group:"Liquid"}},...xd({environment:{default:1.5,description:"Strength of the reflected studio lighting \u2014 the softboxes seen across the metal",ui:{group:"Surface"}},envRotation:{ui:{group:"Surface"}}}),sharpness:{default:.6,description:"Tightness of the specular highlights \u2014 1 = razor chrome glints, 0 = soft satin",ui:{type:"range",min:0,max:1,step:.01,label:"Sharpness",group:"Surface"}},...xd({dispersion:{description:"Prismatic color fringing along the reflection edges",ui:{group:"Surface"}},lightAngle:{default:265,description:"Direction of the key light for the specular glints, in degrees",ui:{group:"Surface"}}}),bevelWidth:{default:.05,description:"Width of the edge bevel, relative to the shape \u2014 thin for machined jewellery edges, wide for soft pillowed metal",ui:{type:["range","map"],min:.005,max:.2,step:.001,label:"Bevel Width",group:"Surface"}},bevelShape:{default:0,description:"Bevel profile \u2014 0 = one smooth round fillet, 1 = machined: a steep outer fillet, a chamfer plateau and an inner knee, each catching its own line of light",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Bevel Profile",group:"Surface"}},...xd({edgeSoftness:{ui:{group:"Surface"}}}),shape:{default:oL,description:"Serialized shape configuration (JSON)",ui:{type:"shape",label:"Shape",group:"Shape"}},shapeSdfUrl:{default:"",compileTime:!0,description:"URL to a pre-generated SDF .bin file"},shapeType:{default:"",compileTime:!0,description:"Active SDF shape type"}}});var nL=3.141592653589793,a_=$o({name:"Marble",role:"generator",boundingBoxDeclaration:{aspectRatio:null,supportsResizeFit:!0},category:"Textures",description:"Classic marble swirl and vein texture using noise-warped sine waves",acceptsUVContext:!0,animatedTime:{speed:"speed"},props:{colorA:{default:"#ffffff",transform:ts,description:"Base background color of the marble",ui:{type:"color",label:"Base",group:"Colors"}},colorB:{default:"#3a2d54",transform:ts,description:"Secondary marble tone",ui:{type:"color",label:"Tone",group:"Colors"}},colorC:{default:"#0f0f0f",transform:ts,description:"Deepest marble color",ui:{type:"color",label:"Depth",group:"Colors"}},scale:{default:2,description:"Scale and density of the marble vein pattern",ui:{type:["range","map"],min:.1,max:10,step:.1,label:"Scale",group:"Effect"}},turbulence:{default:10,description:"Amount of noise-driven distortion applied to the veins",ui:{type:["range","map"],min:0,max:50,step:.5,label:"Turbulence",group:"Effect"}},speed:{default:.05,description:"Animation speed",ui:{type:"range",min:0,max:.25,step:.005,label:"Speed",group:"Animation"}},seed:{default:0,description:"Random seed for pattern variation",ui:{type:["range","map"],min:0,max:100,step:1,label:"Seed",group:"Effect"}},colorSpace:{default:"linear",transform:ir,compileTime:!0,description:"Color space for color interpolation",ui:{type:"select",options:Ho,label:"Color Space",group:"Colors"}}},paint:e=>{let{uv:t,viewport:s}=bd(e),r=ye(mr(s.member("x"),xa(s.member("y"),1e-6)),"aspect"),o=ye(uo(e),"marbleTime"),n=Dt(zt("seed"),e),i=ye(N(Jt(N(t.member("x"),r),t.member("y")),Dt(zt("scale"),e)),"plane"),d=i.member("x"),c=i.member("y"),_=ye($e($e(ga(Jt($e(d,n),$e(c,o))),N(ga(Jt($e(N(d,2),N(n,1.7)),$e(N(c,2),N(o,.7)))),.5)),N(ga(Jt($e(N(d,4),N(n,3.1)),$e(N(c,4),N(o,1.3)))),.25)),"marbleTurb"),u=ye($e(N(Uo($e(N(d,nL),N(_,Dt(zt("turbulence"),e)))),.5),.5),"veinT"),m=$e(N(ga(Jt($e(N(c,1.5),N(n,2)),N(d,1.2))),.3),.5);return Tw({a:zt("colorA"),b:zt("colorB"),c:zt("colorC"),space:zt("colorSpace")})(Ss(.3,.6,u),N(Ss(.6,.9,u),m),e)}});var S1=1.6,aL=.48,iL=.125,dL=3,eT=1.9,cL=1.4,_L=.045,lL=9,uL=[{color:"#1a0533",position:0},{color:"#6d2fd1",position:.26},{color:"#e04b9e",position:.52},{color:"#ff8c42",position:.76},{color:"#ffdf8e",position:1}],i_=$o({name:"MeshGradient",role:"generator",boundingBoxDeclaration:{aspectRatio:null,supportsResizeFit:!0},category:"Textures",description:"Flowing mesh gradient of soft drifting color swaths whose seams wrap through the palette",acceptsUVContext:!0,animatedTime:{speed:"speed"},extraFields:{meshAnchors:{schema:pt(x,4),initial:new Array(16).fill(0)}},props:{colorA:{default:"#1a0533",transform:ts,description:"First gradient color (two-color fallback when stops are cleared)",ui:{type:"color",label:"Color A",group:"Colors"}},colorB:{default:"#ffdf8e",transform:ts,description:"Second gradient color (two-color fallback when stops are cleared)",ui:{type:"color",label:"Color B",group:"Colors"}},stops:{...dw(),default:uL},colorSpace:{default:"oklab",transform:ir,compileTime:!0,description:"Color space for color interpolation",ui:{type:"select",options:Ho,label:"Color Space",group:"Colors"}},count:{default:5,description:"Number of color points scattered across the canvas",ui:{type:"range",min:2,max:8,step:1,label:"Points",group:"Effect"}},smoothness:{default:2,description:"How smoothly the color points blend into each other",ui:{type:["range","map"],min:0,max:5,step:.01,label:"Smoothness",group:"Effect"}},variation:{default:.35,recompile:bw(0),description:"Varies edge softness across the canvas \u2014 some color boundaries crisp, others diffuse",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Variation",group:"Effect"}},swirl:{default:.3,description:"Vortex rotation that spirals the field around the frame centre \u2014 negative values spin the other way",ui:{type:["range","map"],min:-1,max:1,step:.01,label:"Swirl",group:"Effect"}},drift:{default:.5,description:"How far the color points wander from their home positions",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Drift",group:"Effect"}},wrapping:{default:0,description:"Wraps the palette back through itself where colors meet \u2014 banded seams where the field pinches, smooth elsewhere",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Wrapping",group:"Effect"}},speed:{default:1,description:"Animation speed",ui:{type:"range",min:0,max:10,step:.1,label:"Speed",group:"Animation"}},seed:{default:0,description:"Random seed for the point layout and palette assignment",ui:{type:["range","map"],min:0,max:100,step:1,label:"Seed",group:"Effect"}}},paint:e=>{let{uv:t,viewport:s}=bd(e),r=ye(mr(s.member("x"),xa(s.member("y"),1e-6)),"aspect"),o=ye(uo(e),"meshTime"),n=Dt(zt("seed"),e),i=ye(Jt(fs(N(t.member("x"),r),N(r,.5)),fs(t.member("y"),.5)),"meshCentred"),d=ye(N(N(-dL,Dt(zt("swirl"),e)),Ss(0,1,gd(i))),"swirlAngle"),c=ye(p1(i,t_(d),Uo(d)),"meshRot"),_=ye(Jt($e(c.member("x"),N(r,.5)),$e(c.member("y"),.5)),"meshSwirled"),u=ye(Pw({at:tr(N(_.member("x"),S1),N(_.member("y"),S1),N(n,7.31)),time:N(o,iL),amount:aL,levels:_o()?1:2}),"meshWarp"),m=ye(Jt(mr(u.member("x"),S1),mr(u.member("y"),S1)),"meshQ"),p=mr(8,$e(Dt(zt("smoothness"),e),.5)),y=e.propValues.variation,h=y!==void 0&&y!==0?gr(N(p,wy(N(N(Sn(tr(N(m.member("x"),eT),N(m.member("y"),eT),$e(N(n,3.17),N(o,_L)))),Dt(zt("variation"),e)),cL))),.6,16):gr(p,.6,16),g=Aw(e,{count:zt("count"),seed:zt("seed"),drift:zt("drift"),field:"meshAnchors"});return jw(Ew(Mw({t:Sw({at:m,count:Dt(zt("count"),e),seed:n,drift:Dt(zt("drift"),e),aspect:r,time:o,softness:h,anchors:g}),cycles:$e(1,N(Dt(zt("wrapping"),e),lL))}),e),e)}});var{isMobileGpuViewport:mL,VOLUMETRIC_FIELD_EXTRA_FIELDS:pL}=yd,{ANALYTIC_SDF_EXTRA_FIELDS:fL}=n1,vL=JSON.stringify({type:"sphere3D",radius:.35}),yL=6,hL=4,d_=$o({name:"Nebula",role:"shapeEffect",species:"custom",boundingBoxDeclaration:i1,category:"Shape Effects",description:"A volumetric gas nebula sealed inside polished glass; billowing emission clouds with hollow dark cavities and hot glowing cores, star fields drifting at real depth behind the gas, all refracted through the curved walls of the shape and dressed with studio reflections",animatedTime:{speed:"speed"},...h1({pattern:"raw",surface:(e,t)=>{let{uniforms:s}=t,r=uo(t),o=mL()?hL:yL,n=t.propValues.colorSpace??0,i,d;if(n!==0){let Fe="";t.onBeforeRender(()=>{let st=["veilColor","gasColor","coreColor"].map(Ve=>t.getCpuValue(Ve));if(st.some(Ve=>!Ve))return;let Xe=st.map(Ve=>`${Ve.x},${Ve.y},${Ve.z}`).join("|");if(Xe===Fe)return;Fe=Xe;let We=["convVeil","convGas","convCore"];st.forEach((Ve,Ft)=>{let Gt=s1(Ve.x,Ve.y,Ve.z,n);t.setExtraField(We[Ft],[Gt[0],Gt[1],Gt[2]])})});let Ie=Bv[n]??t1;i=st=>we(Ie,"mixPreconvertedColors",[s.convVeil,s.convGas,s.veilColor.member("a"),s.gasColor.member("a"),st]),d=(st,Xe,We)=>{let Ve=ye(we(fa,"mixInSpace",[s.convVeil,s.veilColor.member("a"),s.convGas,s.gasColor.member("a"),st]),`${We}AB`);return we(Ie,"mixPreconvertedColors",[Ve.member("conv"),s.convCore,Ve.member("alpha"),s.coreColor.member("a"),Xe])}}else i=Fe=>we(Bo,"mixColors",[s.veilColor,s.gasColor,Fe]),d=(Fe,Ie)=>we(Bo,"mixColors",[we(Bo,"mixColors",[s.veilColor,s.gasColor,Fe]),s.coreColor,Ie]);let c=x1(e,t,{scale:s.scale}),{sdf:_,pxH:u}=c,m=g1(e,c,{bevelWidth:Zr(.09),bevelShape:Zr(0)}),p=b1(t,c),y=Ow(e,m,ye(N(s.refraction,.16),"bend")),{x:h,y:g}=y.centered,w=Ww(e),S=Nw(c,e,{origin:y,view:p,shear:.55,lengthScale:.9}),T=S.length,A=ye(N(s.gasScale,3.1),"freq"),P=ye(N(r,.14),"drift"),U=ye(N(s.seed,7.31),"seedOff"),D=ye(N(Bw(N(y.x,311.7),N(y.y,173.3)),.15/o),"jit"),O=ye(N(ga(Jt($e($e(N(h,1.3),N(P,.6)),N(U,.37)),$e(N(g,1.3),N(U,.61)))),.5),"macro"),L=ye(Co(-.35,.5,s.cavity),"cav"),G=ye(N(s.billow,.55),"billowAmt"),W=ye(s.coreColor.member("rgb"),"coreRgb"),K=ye(s.veilColor.member("rgb"),"veilRgb"),Q=ye(N($e(.3,N(T,.9)),6/o),"eGain"),te=ye(N(N($e(.5,N(T,2.2)),s.density),3/o),"aGain"),ee=Xw({steps:o,entry:S.entry,length:S.length,jitter:D,emissionGain:Q,hint:"gasAcc"},({i:Fe,t:Ie,z:st})=>{let Xe=S.at(st),We=qw({x:Xe.x,y:Xe.y,z:st},{frequency:A,drift:P,seed:U,billow:G,hint:`${Fe}`}),Ve=Ss(0,.11,N(T,Math.min(Ie,1-Ie))),Ft=fs(1,gr(N(m1(We.fine),1.6),0,1)),Gt=ye(N(N(Ss(0,.5,fs($e(We.density,O),L)),Ve),$e(.65,N(Ft,.7))),`dens${Fe}`),os=ye(N(N(Ss(.45,.75,We.mid),Ve),s.dust),`dust${Fe}`),bs=ye(d(Ss(.05,.75,Gt),Ss(.68,1,Gt),`cB${Fe}`),`cB${Fe}`).member("rgb"),ls=1-Ie*.45,As=N(Ss(-.7,.3,We.density),N(.05,Ve));return{emit:$e($e(N(bs,N(Gt,ls)),N(W,N(nd(Gt,3),N(s.glow,1.2*ls)))),N(K,N(As,ls))),absorb:$e(ln(N(Gt,te)),N(tr(1.5,1,.55),N(os,N(te,2.2))))}}),he=ye(N(s.starScale,34),"starFreq"),Ee=ye(N(s.twinkle,.5),"twinkleAmt"),Te=My(S,{depth:1.1,pan:w,panRate:1.3,hint:"far"}),Ue=Ay(ye(Jt(N(Te.x,he),N(Te.y,he)),"farP"),{variationFreq:.13,radius:[.004,.013],keep:[.35,.75],brightness:[.3,1.2],shimmer:Fe=>Sy(r,Fe,{amount:Ee,rate:1.7,spread:40}),gain:s.stars,tint:{from:[.72,.82,1],to:[1,.92,.82],gain:1.6},hint:"starFar"}),Me=My(S,{depth:.25,pan:w,panRate:.55,hint:"near"}),Pe=N(he,.56),Re=Ay(ye(Jt($e(N(Me.x,Pe),7.3),$e(N(Me.y,Pe),2.9)),"nearP"),{variationFreq:.11,radius:[.003,.01],keep:[.45,.8],brightness:[.35,1.3],shimmer:Fe=>Sy(r,Fe,{amount:Ee,rate:2.3,spread:34}),gain:s.stars,tint:{from:[.75,.85,1],to:[1,.95,.88],gain:1.8},hint:"starNear"}),de=s_(s.lightAngle,"light"),je=ye(gr(gw(m,T1(de,-.7).member("H")),0,1),"ndh"),fe=ye(f1(p,m),"R"),Ke=ye(Gw(fe.member("x"),fe.member("y"),{rotation:de,keyRadius:.2,drift:0,strength:s.environment,skyGain:.32}),"envLum"),Ze=Vw(je,{core:[140,1.3],halo:[22,.14],softness:s.highlightSoftness,gain:s.highlight}),at=Yw(Hw([{paint:i(Zr(.25)).member("rgb"),opacity:.06,behind:ee.transmittance},ee.color,{paint:Ue.rgb,behind:ee.transmittance},{paint:Re.rgb,behind:Co(ee.transmittance,ln(1),.35)},{paint:N(tr(.85,.92,1.08),Ke),opacity:.38},N(tr(1,.98,.95),Ze)]));return v1(y1(_,u),ni(at,w1(c,s.edgeSoftness)),xr,"nebula")}}),extraFields:{...pL,...fL,convVeil:{schema:f,initial:[0,0,0]},convGas:{schema:f,initial:[0,0,0]},convCore:{schema:f,initial:[0,0,0]}},props:{origin:{default:"center",description:"Reference edge the center position is measured from (center default). Lets you pin the shape relative to a corner or the canvas centre.",ui:{type:"origin",label:"Origin",group:"Position"}},center:{default:{x:.5,y:.5},transform:ho,description:"Center position of the nebula shape",ui:{type:"position",label:"Center",group:"Position",units:["%","px"]}},scale:{default:1,description:"Scale of the nebula shape (1 = default size)",ui:{type:["range","map"],min:.1,max:3,step:.01,label:"Scale",group:"Position"}},rotation:{default:0,description:"Rotation of the nebula shape in degrees",ui:{type:"range",min:0,max:360,step:1,label:"Rotation",group:"Position"}},coreColor:{default:"#ffd9b0",transform:ts,description:"The hot color the densest gas cores glow with \u2014 the embedded newborn stars",ui:{type:"color",label:"Core Color",group:"Nebula"}},gasColor:{default:"#ff5e7a",transform:ts,description:"The main emission color of the gas body \u2014 H-alpha rose by default",ui:{type:"color",label:"Gas Color",group:"Nebula"}},veilColor:{default:"#3a5bdb",transform:ts,description:"The color of the thin outer veils and the deep-space background behind the gas",ui:{type:"color",label:"Veil Color",group:"Nebula"}},colorSpace:{default:"oklab",transform:ir,compileTime:!0,description:"Color space the veil \u2192 gas \u2192 core ramps blend in",ui:{type:"select",options:Ho,label:"Color Space",group:"Nebula"}},density:{default:1,description:"Optical density of the gas \u2014 how strongly clouds occlude the stars and gas behind them",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Density",group:"Nebula"}},cavity:{default:0,description:"How hollowed-out the nebula is \u2014 0 fills the volume with cloud banks, high carves large dark voids between them",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Cavity",group:"Nebula"}},dust:{default:.55,description:"Cold dark dust lanes threading the gas \u2014 absorb-only tendrils that redden the clouds and stars behind them",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Dust",group:"Nebula"}},gasScale:{default:.4,description:"Feature size of the gas \u2014 higher = finer, busier cloud detail",ui:{type:["range","map"],min:.1,max:1,step:.01,label:"Gas Scale",group:"Nebula"}},billow:{default:.6,description:"Turbulent folding of the clouds \u2014 0 = smooth drifting banks, 1 = heavily churned billows",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Billow",group:"Nebula"}},glow:{default:0,description:"Hot emission bloom of the dense cores",ui:{type:["range","map"],min:0,max:2,step:.01,label:"Glow",group:"Nebula"}},seed:{default:0,description:"Random seed \u2014 pans the gas field to a different region of noise space for a new cloud composition",ui:{type:["range","map"],min:0,max:100,step:1,label:"Seed",group:"Nebula"}},stars:{default:.07,description:"Brightness of the star fields drifting at depth behind and inside the gas",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Stars",group:"Stars"}},starScale:{default:1,description:"Density of the star fields \u2014 higher = smaller, busier stars",ui:{type:["range","map"],min:.25,max:3,step:.01,label:"Star Scale",group:"Stars"}},twinkle:{default:.35,description:"Intensity of the star twinkle (0 = steady stars, 1 = full shimmer)",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Twinkle",group:"Stars"}},...xd({refraction:{description:"How strongly the curved glass walls bend the interior seen near the edges"},environment:{default:.7,description:"Strength of the studio softboxes reflected in the polished glass surface"},highlight:{default:1.15,description:"Sharp key-light glint on the glass",ui:{group:"Glass"}},highlightSoftness:{ui:{group:"Glass"}},lightAngle:{description:"Direction of the key light and reflected studio, in degrees"},edgeSoftness:!0}),speed:{default:.3,description:"Speed of the slowly churning gas and twinkling stars. 0 freezes the nebula.",ui:{type:"range",min:0,max:4,step:.01,label:"Speed",group:"Animation"}},shape:{default:vL,description:"Serialized shape configuration (JSON)",ui:{type:"shape",label:"Shape",group:"Shape"}},shapeSdfUrl:{default:"",compileTime:!0,description:"URL to a pre-generated SDF .bin file"},shapeType:{default:"",compileTime:!0,description:"Active SDF shape type"}}});var xL=[r_,o_,n_,a_,i_,d_].map(e=>({definition:e})),gL=e=>xL.find(t=>t.definition.name===e);var bL=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(e1({in:{vertexIndex:_r.vertexIndex},out:{pos:_r.position,uv:lt}})`{ + const pos = array(vec2f(-1, -1), vec2f(3, -1), vec2f(-1, 3)); + const uv = array(vec2f(0, 1), vec2f(2, 1), vec2f(0, -1)); + + return Out(vec4f(pos[in.vertexIndex], 0, 1), uv[in.vertexIndex]); +}`,"fullScreenTriangle");o2.disable("external-omitted");var wL=["float32-filterable","timestamp-query"],ky=new WeakMap,Ey=new WeakMap,$y=new WeakSet,Td=null,TL=new WeakSet;async function SL(e={}){if(e.device&&!$y.has(e.device)){let r=e.device,o=ky.get(r);o||(o=v.initFromDevice({device:r}),ky.set(r,o));let n=tT(o,e.onDeviceLost);return{root:o,device:r,adapter:e.adapter,createdDevice:!1,release:n}}e.device&&Ma("[gpu] injected GPU device was lost \u2014 falling back to the shared default device");let t=await AL(),s=tT(t.root,e.onDeviceLost);return{root:t.root,device:t.device,adapter:t.adapter,createdDevice:!1,release:s}}async function AL(){for(;;){let t=Td;if(!t)break;let s=await t.catch(()=>null);if(s&&!TL.has(t)&&!$y.has(s.device))return s;Td===t&&(Td=null)}let e=ML();Td=e;try{return await e}catch(t){throw Td===e&&(Td=null),t}}async function ML(){if(typeof navigator>"u"||!navigator.gpu)throw new mi("unsupported","[gpu] WebGPU is not available in this environment (navigator.gpu is undefined).");let e;try{e=await v.init({adapter:{powerPreference:"high-performance"},device:{optionalFeatures:wL}})}catch(t){let s=await ih();throw new mi(s.supported?"no-device":s.reason??"init-failed",void 0,{cause:t})}if(!e.device)throw new mi("no-device","[gpu] adapter returned no device.");return ky.set(e.device,e),{root:e,device:e.device,createdDevice:!0}}function PL(e,t,s={}){return e.configureContext({canvas:t,alphaMode:"premultiplied",...s})}function tT(e,t){let s=e.device,r=Ey.get(s);if(r||(r=new Set,Ey.set(s,r),e.device.lost.then(n=>{if($y.add(s),n.reason!=="destroyed")for(let i of[...Ey.get(s)??[]])i(n)})),!t)return()=>{};let o=r;return o.add(t),()=>o.delete(t)}function EL(){let e={value:0,advance(t,s){e.value+=t*s}};return e}var sT=new WeakMap;function ii(e){let t=sT.get(e);return t||(t=EL(),sT.set(e,t)),t}var kL=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({time:a,viewportSize:l,logicalViewportSize:l,aspect:a,pointer:l,pointerActive:a}),"SystemUniforms");v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return vr(t,s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewportSize"}],body:[0,[[10,[6,"std.mul",["uv","viewportSize"]]]]]},externals:{"std.mul":()=>vr}})&&e.f)({}));v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_div(t.x,t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"viewportSize"}],body:[0,[[10,[1,[7,"viewportSize","x"],"/",[7,"viewportSize","y"]]]]]},externals:{}})&&e.f)({}));function $L(e){let t=2166136261,s=e.join("");for(let r=0;r>>0).toString(16).padStart(8,"0")}:${s.length}`}function UL(e={}){let t=e.maxSize??4,s=e.dispose,r=new Map,o=0,n=null,i=null;function d(_){_.lastUsed=++o}function c(){for(;r.size>t;){let _=null;for(let u of r.values())u.hash===n||u.hash===i||(!_||u.lastUsed<_.lastUsed)&&(_=u);if(!_)break;r.delete(_.hash),s?.(_.value,_.hash)}}return{getOrBuild(_,u){let m=r.get(_);if(m)return d(m),_===n?i=null:i=_,m.value;let p=u(),y={hash:_,value:p,lastUsed:++o};return r.set(_,y),n===null?(n=_,i=null):i=_,c(),p},markReady(_){if(_!==i)return;let u=r.get(_);u&&(n=_,i=null,d(u),c())},get renderValue(){let _=n??i;return _?r.get(_)?.value??null:null},get activeHash(){return n},get pendingHash(){return i},release(_){let u=r.get(_);u&&(r.delete(_),s?.(u.value,_),n===_&&(n=null),i===_&&(i=null))},has(_){return r.has(_)},get size(){return r.size},clear(){for(let _ of r.values())s?.(_.value,_.hash);r.clear(),n=null,i=null}}}var Sd="passManager";function CL(e,t){let{textureManager:s,dispatcher:r}=t,o=t.canvasFormat??RL(),n=t.rttFormat??"rgba16float",i=e.device?.limits?.maxSampledTexturesPerShaderStage,d=t.maxSampledTextures??(typeof i=="number"&&i>0?i:16),c=t.fullScreenTriangle??bL,_=new Map,u=new Set,m=null;function p(){let G=s.samplers;try{return e.createBindGroup(Nv,{linearClamp:G.linearClamp,nearestClamp:G.nearestClamp,linearRepeat:G.linearRepeat,nearestRepeat:G.nearestRepeat})}catch(W){Is(`[${Sd}] failed to build sampler bind group:`,W);return}}function y(G,W){let K=new Set;for(let Q of G.textures)if(Q.kind==="rtt")if(K.add(Q.key),_.has(Q.key))_.get(Q.key).resize(W.width,W.height);else{let te=s.createRenderTexture({width:W.width,height:W.height,format:n,label:`rtt:${Q.key}`});_.set(Q.key,te),u.add(te)}for(let[Q,te]of[..._])K.has(Q)||(te.destroy(),u.delete(te),_.delete(Q))}function h(G,W){if(!G.textureLayout||G.reads.length===0)return;let K={};for(let Q of G.reads){let te=_.get(Q),ee=W?.[Q],he=te??ee;if(!he){Is(`[${Sd}] pass "${G.entry}" reads unknown texture "${Q}"`);return}K[Q]=he.texture}G.reads.length>d&&Ma(`[${Sd}] pass samples ${G.reads.length} textures (> device limit ~${d}); composition may fail on this device.`);try{return e.createBindGroup(G.textureLayout,K)}catch(Q){Is(`[${Sd}] failed to build texture bind group:`,Q);return}}function g(G,W){return e.createRenderPipeline({vertex:c,fragment:G.entry,targets:{format:W}})}function w(G,W){if(!G.externalLayout||G.externalReads.length===0)return;let K=G.externalReads;if(K.length===1){let te=W.get(K[0]);if(!te){Is(`[${Sd}] external read "${K[0]}" has no registered source`);return}return s.createExternalTextureBinding({layout:G.externalLayout,entryKey:K[0],getSource:te})}let Q=null;return{update(){let te={};for(let ee of K){let he=W.get(ee)?.();if(!he)return Q=null,null;try{te[ee]=e.device.importExternalTexture({source:he})}catch{return Q=null,null}}return Q=e.createBindGroup(G.externalLayout,te),Q},get current(){return Q},destroy(){Q=null}}}function S(G,W,K,Q){let te=W.kind==="canvas"?o:n,ee=G.reads.filter(Ee=>K?.[Ee]),he=new Map(ee.map(Ee=>[Ee,K[Ee].texture]));return{fragment:G,pipeline:g(G,te),textureBindGroup:h(G,K),externalBinding:w(G,Q),target:W,mediaReads:ee,mediaSnapshot:he}}function T(G,W,K,Q){y(G,K);for(let Te of G.computeSteps)Te.bindInputs?.(Ue=>_.get(Ue)??Q?.[Ue]);let te=p(),ee=new Map;for(let Te of G.externalTextures)ee.set(Te.key,Te.getSource);let he=G.rttPasses.map(Te=>S(Te.fragment,{kind:"rtt",key:Te.textureKey},Q,ee)),Ee=S(G.finalPass,{kind:"canvas"},Q,ee);m={ir:G,uniformBindGroup:W,samplerBindGroup:te,computeSteps:G.computeSteps,rttPasses:he,finalPass:Ee,size:K,mediaResources:Q}}function A(G,W){let K=G.pipeline;if(m?.uniformBindGroup&&(K=K.with(m.uniformBindGroup)),G.mediaReads&&G.mediaReads.length>0&&m?.mediaResources){let Q=!1;for(let te of G.mediaReads)m.mediaResources[te].texture!==G.mediaSnapshot.get(te)&&(Q=!0);if(Q){G.textureBindGroup=h(G.fragment,m.mediaResources);for(let te of G.mediaReads)G.mediaSnapshot.set(te,m.mediaResources[te].texture)}}if(G.textureBindGroup&&(K=K.with(G.textureBindGroup)),G.fragment.usesSamplers&&m?.samplerBindGroup&&(K=K.with(m.samplerBindGroup)),G.fragment.externalReads.length>0){let Q=G.externalBinding?.update()??null;if(!Q){G.externalSkipLogged||(Ma(`[${Sd}] external texture not ready \u2014 skipping pass (${G.fragment.externalReads.join(", ")})`),G.externalSkipLogged=!0);return}K=K.with(Q)}K.withColorAttachment({view:W}).draw(3)}function P(G,W,K){if(m){for(let Q of m.computeSteps){let te=Q.getComputeNodes(W);te&&te.length&&r.dispatch(te)}K?.(),U(),A(m.finalPass,G)}}function U(){if(m)for(let G of m.rttPasses){let W=_.get(G.target.key);W&&A(G,D(W))}}function D(G){return e.unwrap(G.texture).createView()}function O(G){if(!(!G.fragment.textureLayout||G.fragment.reads.length===0)&&(G.textureBindGroup=h(G.fragment,m?.mediaResources),G.mediaReads&&G.mediaSnapshot&&m?.mediaResources))for(let W of G.mediaReads)G.mediaSnapshot.set(W,m.mediaResources[W].texture)}function L(G,W){let K=!1;for(let Q of _.values())Q.resize(G,W)&&(K=!0);if(!m)return K;if(m.size={width:G,height:W},!K)return!1;for(let Q of m.computeSteps)Q.bindInputs?.(te=>_.get(te)??m.mediaResources?.[te]);for(let Q of m.rttPasses)O(Q);return O(m.finalPass),!0}return{setComposition:T,render:P,repaintRtt:U,resize:L,get textureCount(){return u.size},get passCount(){return m?m.rttPasses.length+1:0},dispose(){for(let G of[...u])G.destroy();u.clear(),_.clear(),m=null}}}function RL(){return typeof navigator<"u"&&navigator.gpu?navigator.gpu.getPreferredCanvasFormat():"bgra8unorm"}function rT(e){return`${e}-srgb`}function zL(e){let t=new Set;function s(y,...h){return e.createTexture.call(e,y).$usage(...h)}let r,o,n,i,d={get linearClamp(){return r??=e.createSampler({magFilter:"linear",minFilter:"linear",mipmapFilter:"linear",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"})},get nearestClamp(){return o??=e.createSampler({magFilter:"nearest",minFilter:"nearest",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"})},get linearRepeat(){return n??=e.createSampler({magFilter:"linear",minFilter:"linear",mipmapFilter:"linear",addressModeU:"repeat",addressModeV:"repeat"})},get nearestRepeat(){return i??=e.createSampler({magFilter:"nearest",minFilter:"nearest",addressModeU:"repeat",addressModeV:"repeat"})}};function c(y,h,g,w,S){let T={texture:y,width:h,height:g,format:w,write(A){y.write(A)},unwrap(){return e.unwrap(y)},createSrgbView(){if(S)return e.unwrap(y).createView({format:rT(w)})},generateMipmaps(){y.generateMipmaps?.()},destroy(){t.has(T)&&(y.destroy(),t.delete(T))}};return t.add(T),T}function _(y){let{width:h,height:g,srgb:w=!1,mipLevelCount:S}=y,T=y.format??"rgba8unorm";return c(s({size:[h,g],format:T,...w?{viewFormats:[rT(T)]}:{},...S?{mipLevelCount:S}:{}},"sampled","render"),h,g,T,w)}function u(y){let{width:h,height:g,format:w,data:S}=y,T=c(s({size:[h,g],format:w},"sampled"),h,g,w,!1);return S&&T.write(S),T}function m(y){let h=y.format??"rgba16float",{mipLevelCount:g}=y,w=y.width,S=y.height;function T(P,U){return c(s({size:[P,U],format:h,...g?{mipLevelCount:g}:{}},"sampled","render"),P,U,h,!1)}let A=T(w,S);return{get texture(){return A.texture},get width(){return w},get height(){return S},format:h,write(P){A.write(P)},unwrap(){return A.unwrap()},createSrgbView(){return A.createSrgbView()},generateMipmaps(){A.generateMipmaps()},resize(P,U){return P===w&&U===S?!1:(A.destroy(),w=P,S=U,A=T(P,U),!0)},destroy(){A.destroy()}}}function p(y){let{layout:h,entryKey:g,getSource:w,staticEntries:S={}}=y,T=null;return{update(){let A=w();if(!A)return T=null,null;let P;try{P=e.device.importExternalTexture({source:A})}catch{return T=null,null}return T=e.createBindGroup(h,{...S,[g]:P}),T},get current(){return T},destroy(){T=null}}}return{samplers:d,createMediaTexture:_,createDataTexture:u,createRenderTexture:m,createExternalTextureBinding:p,get textureCount(){return t.size},destroy(){for(let y of[...t])y.destroy();t.clear()}}}function GL(e,t){let s=gL(e)?.definition?.naturalSizeKey;if(!s)return null;if("fixed"in s)return s.fixed||null;let r=t[s.fromProp];return typeof r=="string"&&r?r:null}function YL(e,t,s){if(!e||typeof e!="object")return null;let r=(i,d)=>!i||typeof i!="object"||typeof i.value!="number"?null:i.unit==="px"?i.value:i.value*d,o=r(e.width,t),n=r(e.height,s);return o!=null&&n!=null&&o>0&&n>0?{widthPx:o,heightPx:n}:null}function LL(e,t,s){let{type:r,decl:o,props:n,boundingBox:i}=e;if(!(t>0)||!(s>0)||e.requiresChild)return null;if(o?.computeBounds){let u=o.computeBounds(n,t,s);return u.widthPx>0&&u.heightPx>0?{widthPx:u.widthPx,heightPx:u.heightPx}:null}let d=o?.propBindings;if(d?.width&&d?.height){let u=Uc(d.width,n[d.width.prop],t,s),m=Uc(d.height,n[d.height.prop],t,s);return u>0&&m>0?{widthPx:u,heightPx:m}:null}let c=YL(i,t,s);if(c)return c;let _=GL(r,n);if(_){let u=v7(_);if(u)return{widthPx:u.width,heightPx:u.height}}return null}function IL(e,t){return e==null?0:typeof e=="number"?e:e.unit==="px"?e.value:e.value*t}function Uy(e,t,s){return!e||e.mode!=="column"&&e.mode!=="row"?null:{mode:e.mode,gapPx:Math.max(0,IL(e.gap,e.mode==="column"?s:t)),align:e.align??"center",anchor:e.anchor??"center",anchorOffsetX:e.anchorOffset?.x??0,anchorOffsetY:e.anchorOffset?.y??0}}var oT=e=>({ox:e.includes("left")?"start":e.includes("right")?"end":"center",oy:e.includes("top")?"start":e.includes("bottom")?"end":"center"}),A1=(e,t,s,r)=>e==="start"?r:e==="end"?s-t-r:(s-t)/2+r;function M1(e,t){let s=0,r=0;for(let o of t){let n=e.mode==="column"?o.size.heightPx:o.size.widthPx,i=e.mode==="column"?o.size.widthPx:o.size.heightPx;s+=n,r=Math.max(r,i)}return t.length>1&&(s+=e.gapPx*(t.length-1)),e.mode==="column"?{widthPx:r,heightPx:s}:{widthPx:s,heightPx:r}}function DL(e,t,s,r){let o=new Map;if(t.length===0)return o;let n=M1(e,t),{ox:i,oy:d}=oT(e.anchor),c=A1(i,n.widthPx,s,e.anchorOffsetX),_=A1(d,n.heightPx,r,e.anchorOffsetY),u=(p,y)=>e.align==="start"?0:e.align==="end"?y-p:(y-p)/2,m=0;for(let p of t)if(e.mode==="column"){let y=c+u(p.size.widthPx,n.widthPx)+p.size.widthPx/2,h=_+m+p.size.heightPx/2;o.set(p.id,{centerXPx:y,centerYPx:h}),m+=p.size.heightPx+e.gapPx}else{let y=c+m+p.size.widthPx/2,h=_+u(p.size.heightPx,n.heightPx)+p.size.heightPx/2;o.set(p.id,{centerXPx:y,centerYPx:h}),m+=p.size.widthPx+e.gapPx}return o}function FL(e,t,s){let r=Uy(e.layout,t,s);if(r){let o=Cy(e,t,s);return o.length===0?null:M1(r,o)}return LL({type:e.componentName,decl:e.decl,props:e.props,boundingBox:e.boundingBox,requiresChild:e.requiresChild,availableWidthPx:t},t,s)}function Cy(e,t,s){let r=[];for(let o of e.children){if(o.visible===!1||o.absolute)continue;let n=FL(o,t,s);n&&r.push({id:o.id,size:n,view:o})}return r}function BL(e,t,s){if(!e.decl?.computeBounds)return{x:0,y:0};let r=e.decl.computeBounds(e.props,t,s),o=typeof e.props.center?.x=="number"?e.props.center.x:.5,n=typeof e.props.center?.y=="number"?e.props.center.y:.5;return{x:r.centerXPx-o*t,y:r.centerYPx-n*s}}function WL(e,t,s,r,o,n,i,d){let c=Uy(e.layout,o,n);if(c){nT(e,c,o,n,i,{centerXPx:s,centerYPx:r},d);return}let _=e.decl?.propBindings?.x?.prop??e.decl?.propBindings?.y?.prop;if(_){if(!e.positionDriven){let u=BL(e,o,n);i.push({kind:"position",id:e.id,prop:_,value:{x:(s-u.x)/o,y:(r-u.y)/n}})}return}i.push({kind:"box",id:e.id,xPx:s-t.widthPx/2,yPx:r-t.heightPx/2,widthPx:t.widthPx,heightPx:t.heightPx})}function nT(e,t,s,r,o,n,i,d){let c=d??Cy(e,s,r);if(c.length===0)return;let _=t;if(n){let m=M1(t,c);_={...t,anchor:"top-left",anchorOffsetX:n.centerXPx-m.widthPx/2,anchorOffsetY:n.centerYPx-m.heightPx/2}}if(i){let m=M1(_,c),{ox:p,oy:y}=oT(_.anchor);i.set(e.id,{leftPx:A1(p,m.widthPx,s,_.anchorOffsetX),topPx:A1(y,m.heightPx,r,_.anchorOffsetY),widthPx:m.widthPx,heightPx:m.heightPx})}let u=DL(_,c,s,r);for(let m of c){let p=u.get(m.id);p&&WL(m.view,m.size,p.centerXPx,p.centerYPx,s,r,o,i)}}function OL(e,t,s,r){let o=[],n=i=>{let d=Uy(i.layout,t,s);if(d){let c=Cy(i,t,s);nT(i,d,t,s,o,void 0,r,c);let _=new Set(c.map(u=>u.id));for(let u of i.children)u.visible!==!1&&(_.has(u.id)||n(u));return}for(let c of i.children)c.visible!==!1&&n(c)};for(let i of e)i.visible!==!1&&n(i);return o}var VL=class{frameTimesMs=[];frameTimesIndex=0;frameTimesCount=0;maxSamples=60;targetFrameTime=16.67;jankFrameCount=0;totalFrameCount=0;memorySnapshots=[];memorySnapshotIndex=0;maxMemorySnapshots=300;nodeCount=0;rttNodeCount=0;lastCpuTime=null;lastGpuTime=null;isRendering=!1;lastFrameTimestamp=0;frameIntervals=[];frameIntervalsIndex=0;frameIntervalsCount=0;pushToCircularBuffer(e,t,s,r,o){return e.lengththis.targetFrameTime&&this.jankFrameCount++;let s=performance.now();if(this.lastFrameTimestamp>0){let r=s-this.lastFrameTimestamp,o=this.pushToCircularBuffer(this.frameIntervals,r,this.frameIntervalsIndex,this.frameIntervalsCount,this.maxSamples);this.frameIntervalsIndex=o.index,this.frameIntervalsCount=o.count}this.lastFrameTimestamp=s,this.recordMemorySnapshot()}recordCpuTime(e){this.lastCpuTime=e}recordGpuTime(e){this.lastGpuTime=e}updateNodeCounts(e,t){this.nodeCount=e,this.rttNodeCount=t}setRendering(e){this.isRendering=e}recordMemorySnapshot(){if(!performance.memory)return;let e=performance.now(),t=performance.memory.usedJSHeapSize;if(this.memorySnapshots.lengthr+o,0)/e.length,s=0;for(let r=0;r=0&&this.sortBuffer[n]>o;)this.sortBuffer[n+1]=this.sortBuffer[n],n--;this.sortBuffer[n+1]=o}let s=Math.floor(t*.99);return this.sortBuffer[Math.min(s,t-1)]}calculateComplexityScore(){return this.nodeCount+this.rttNodeCount*10}calculateIntensityScore(){let e=this.getBufferValues(this.frameTimesMs,this.frameTimesCount),t=e.length;if(t===0)return{score:0,label:"N/A"};let s=e.reduce((u,m)=>u+m,0)/t,r=Math.min(s/16.67*100,100),o=this.calculateComplexityScore(),n=Math.min(o/100*100,100),i=0;this.lastGpuTime!==null&&(i=Math.min(this.lastGpuTime/16.67*100,100));let d=this.lastGpuTime!==null?{frame:.4,gpu:.4,complexity:.2}:{frame:.7,gpu:0,complexity:.3},c=Math.round(r*d.frame+i*d.gpu+n*d.complexity),_;return c<=20?_="Very Light":c<=40?_="Light":c<=60?_="Medium":c<=80?_="Heavy":_="Very Heavy",{score:Math.min(c,100),label:_}}getStats(e){let t=this.getBufferValues(this.frameTimesMs,this.frameTimesCount),s=this.getBufferValues(this.frameIntervals,this.frameIntervalsCount),r=t.length,o=s.length>0?1e3/(s.reduce((A,P)=>A+P,0)/s.length):0,n=r>0?t.reduce((A,P)=>A+P,0)/r:0,i=r>0?Math.min(...t):0,d=r>0?Math.max(...t):0,c=this.calculateP99(t),_=this.calculateStdDev(t),u=this.totalFrameCount>0?this.jankFrameCount/this.totalFrameCount*100:0,m=performance.memory,p=m?m.usedJSHeapSize/(1024*1024):null,y=this.calculateMemoryGrowthRate(),h=n>0?n/this.targetFrameTime*100:0,g=e?.render?.calls??null,w=e?.programs?.length??null,S=e?.memory?.textures??null,T=this.calculateIntensityScore();return{fps:Math.round(o),avgFrameTime:Math.round(n*100)/100,minFrameTime:Math.round(i*100)/100,maxFrameTime:Math.round(d*100)/100,p99FrameTime:Math.round(c*100)/100,stdDevFrameTime:Math.round(_*100)/100,jankCount:this.jankFrameCount,jankPercent:Math.round(u*10)/10,nodeCount:this.nodeCount,rttNodeCount:this.rttNodeCount,complexityScore:this.calculateComplexityScore(),memoryUsedMB:p!==null?Math.round(p*100)/100:null,memoryGrowthRate:y!==null?Math.round(y*1e3)/1e3:null,cpuTime:this.lastCpuTime!==null?Math.round(this.lastCpuTime*100)/100:null,gpuTime:this.lastGpuTime!==null?Math.round(this.lastGpuTime*100)/100:null,budgetUsed:Math.round(h*10)/10,drawCalls:g,shaderPrograms:w,textureCount:S,intensityScore:T.score,intensityLabel:T.label,isRendering:this.isRendering}}reset(){this.frameTimesMs.length=0,this.frameTimesIndex=0,this.frameTimesCount=0,this.frameIntervals.length=0,this.frameIntervalsIndex=0,this.frameIntervalsCount=0,this.lastFrameTimestamp=0,this.jankFrameCount=0,this.totalFrameCount=0,this.memorySnapshots.length=0,this.memorySnapshotIndex=0,this.sortBuffer.length=0,this.lastCpuTime=null,this.lastGpuTime=null}},NL=32,qL=5,XL=(()=>{let e=0,t=new Set,s=(_,u)=>{t.forEach(m=>{try{m[_](u)}catch(p){Is("[Shaders] Error in pointer handler:",p)}})},r=_=>s("onMouseMove",_),o=_=>s("onTouchMove",_),n=_=>s("onMouseDown",_),i=_=>s("onTouchStart",_),d=()=>s("onMouseUp"),c=()=>s("onTouchEnd");return{register(_){return t.add(_),e++,e===1&&typeof window<"u"&&(window.addEventListener("mousemove",r),window.addEventListener("touchmove",o),window.addEventListener("mousedown",n,!0),window.addEventListener("touchstart",i,!0),window.addEventListener("mouseup",d,!0),window.addEventListener("touchend",c,!0)),()=>{t.delete(_),e--,e===0&&typeof window<"u"&&(window.removeEventListener("mousemove",r),window.removeEventListener("touchmove",o),window.removeEventListener("mousedown",n,!0),window.removeEventListener("touchstart",i,!0),window.removeEventListener("mouseup",d,!0),window.removeEventListener("touchend",c,!0))}}}})();function HL(e){if(!e)return!1;let t=e;if(typeof e=="string")try{t=JSON.parse(e)}catch{return!1}if(!t||typeof t!="object")return!1;for(let s in t){let r=t[s];if(r&&typeof r=="object"&&r.type==="mouse")return!0}return!1}function aT(){let e=null,t=null,s=null,r=null,o=null,n=null,i=!1,d=!1,c=!1,_=null,u=new Map,m=null,p=new Map,y=[],h=[],g=UL({maxSize:4,dispose:M=>Wy(M)}),w=new Set,S=null,T=null,A=!0,P=0,U=0,D=0,O=0,L=1,G=8192,W=0,K=0,Q=!1,te=()=>D||P||1,ee=()=>O||U||1,he=!0,Ee=!1,Te=!1,Ue=0,Me=0,Pe=0,Re=null,de=null,je=-10,fe=-10,Ke=!1,Ze=!1,at=null,Fe=!1,Ie=null,st=null,Xe=null,We=null,Ve=null,Ft=null,Gt=!1,os="p3-linear",bs="linear",ls=!1,As=null,vs=null,ys=!1,Ks=!1,yr=null,Ur=!1,Ms=null,Cr=null,hr=!1,mo=null,po=null,Rr=0,nr=0,zr=new VL,Ps={deltaTime:0,pointer:{x:-10,y:-10,seen:!1},pointerActive:!1,dimensions:{width:0,height:0}},Gr=G7(()=>Ad()),Vo=M=>M.replace(/[^a-zA-Z0-9_]/g,"_"),Qr=M=>{let E=p.get(M);if(!E)return[];let k=[];for(let V of E){let I=u.get(V);I&&k.push(I)}return k},ci=M=>{let E=Vo(M);for(let[k,V]of u)if(V.metadata.id===E)return k;return null},ba=(M,E)=>{if(E==="center")return;let k=M.boundingBoxDeclaration;if(!k)return;let V={};for(let[I,J]of Object.entries(M.uniforms))V[I]=J._rawDimensional!==void 0?J._rawDimensional:J.value;return li(M,V.shapeSdfUrl),vy(k,V,te(),ee())},_i=new WeakMap,li=(M,E)=>{if(typeof E!="string"||!E||$7(E))return;let k=_i.get(M)??new Set;_i.set(M,k),!k.has(E)&&(k.add(E),a1(E,()=>{k.delete(E),u.get(M.id)===M&&(F(M),Yt()&&Bt(),vo())}))},F=M=>{let E=M.boundingBoxDeclaration,k=M.extraDimProps,V=hd(E,k);if(!V)return;let I=M.uniforms.origin?.value??"center",J=ba(M,I),_e=[...V.positionProps,...V.sizeProps.keys()];for(let Se of _e){let ke=M.uniforms[Se];if(!ke||ke._rawDimensional===void 0)continue;let Ne=Qc(E,Se,ke._rawDimensional,I,te(),ee(),k,J);ke.value=Ne,Ta(M,Se,Ne)}},le=(M,E,k)=>{if(typeof k=="number")return k;let V=M.uniforms.origin?.value??"center",I=Qc(M.boundingBoxDeclaration,E,k,V,te(),ee(),M.extraDimProps);return typeof I=="number"?I:k?.value??0},ae=()=>{let{width:M,height:E}=Sa();return M/Math.max(1,E)},ne=M=>{let E=M.metadata.transform;return{offsetX:E?.offsetX??0,offsetY:E?.offsetY??0,rotation:E?.rotation??0,scale:E?.scale??1,anchorX:E?.anchorX??.5,anchorY:E?.anchorY??.5,aspectRatio:ae()}},ie=M=>{let E=M.metadata.boundingBox;if(!E)return null;let k=Ov(E,te(),ee());return{centerX:k.centerX,centerY:k.centerY,halfWidth:k.halfWidthUV,halfHeight:k.halfHeightUV,cornerRadius:k.cornerRadiusUV,rotation:k.rotation,aspectRatio:ae()}},ge=M=>!!M.metadata.boundingBox&&!!M.boundingBoxDeclaration&&!r1(M.metadata.boundingBox),Ye=M=>{let E=M.boundingBoxDeclaration;if(!E||!M.uniforms||!E.computeBounds&&!E.propBindings)return null;let k={};for(let[ke,Ne]of Object.entries(M.uniforms))k[ke]=Ne._rawDimensional!==void 0?Ne._rawDimensional:Ne.value;let V=vy(E,k,te(),ee());if(V.hwx<=0&&V.hhy<=0)return null;let I=.5,J=.5,_e=E.propBindings?.x?.prop??E.propBindings?.y?.prop,Se=_e?M.uniforms[_e]?.value:void 0;if(Se&&typeof Se.x=="number"&&typeof Se.y=="number"&&(I=Se.x,J=Se.y),_e){let ke=M.metadata.maps?.[_e];if(ke?.type==="mouse-position"){let Ne=M.mouseDriverState[_e];Ne&&(I=Ne.liveX??(typeof ke.x=="number"?ke.x:Ne.currentX),J=Ne.liveY??(typeof ke.y=="number"?ke.y:Ne.currentY))}}return{centerX:I,centerY:J,halfWidth:V.hwx,halfHeight:V.hhy}},Je=M=>{if(!M.definition.wantsBoundsParams)return null;let E=Qr(M.id).sort((k,V)=>k.metadata.renderOrder-V.metadata.renderOrder);for(let k of E){if(k.metadata.visible===!1)continue;if(ge(k))return null;let V=Ye(k);if(V)return V}return null},rt=()=>{for(let M of u.values()){if(!M.definition.wantsBoundsParams)continue;let E=Je(M);E&&(es(M,"_childBounds_centerX",E.centerX),es(M,"_childBounds_centerY",E.centerY),es(M,"_childBounds_halfWidth",E.halfWidth),es(M,"_childBounds_halfHeight",E.halfHeight))}},He=!1,Bt=()=>{He=!0,vo()},Yt=()=>{for(let M of u.values()){let E=M.metadata.flow?.mode;if(E==="column"||E==="row")return!0}return!1},Ls=M=>{let E={};for(let[J,_e]of Object.entries(M.uniforms))E[J]=_e._rawDimensional!==void 0?_e._rawDimensional:_e.value;let k=M.boundingBoxDeclaration?.propBindings?.x?.prop??M.boundingBoxDeclaration?.propBindings?.y?.prop,V=k?M.uniforms[k]?.value:void 0,I=!!(k&&(V?.type==="mouse-position"||M.metadata.maps?.[k]));return{id:M.id,componentName:M.componentName,visible:M.metadata.visible!==!1,absolute:M.metadata.absolute===!0,requiresChild:M.requiresChild,layout:M.metadata.flow,decl:M.boundingBoxDeclaration,props:E,boundingBox:M.metadata.boundingBox,positionDriven:I,children:Qr(M.id).sort((J,_e)=>J.metadata.renderOrder-_e.metadata.renderOrder).map(Ls)}},fo=()=>{if(!Yt()){He=!1;return}let M=te(),E=ee();if(M<=1||E<=1)return;He=!1;let k=[];for(let I of u.values())I.parentId===null&&k.push(Ls(I));let V=OL(k,M,E);for(let I of V){let J=u.get(I.id);if(J)if(I.kind==="position"){let _e=J.uniforms[I.prop];if(!_e)continue;let Se=_e.value,ke=Se&&typeof Se=="object"?{...Se,x:I.value.x,y:I.value.y}:I.value;_e.value=ke,Ta(J,I.prop,ke)}else{let _e=ge(J);if(J.metadata.boundingBox={x:{value:I.xPx,unit:"px"},y:{value:I.yPx,unit:"px"},width:{value:I.widthPx,unit:"px"},height:{value:I.heightPx,unit:"px"},origin:"top-left",rotation:J.metadata.boundingBox?.rotation??0,...J.metadata.boundingBox?.cornerRadius?{cornerRadius:J.metadata.boundingBox.cornerRadius}:{},...J.metadata.boundingBox?.lockAspect!==void 0?{lockAspect:J.metadata.boundingBox.lockAspect}:{}},!_e&&ge(J))Bn();else{let Se=ie(J);if(Se)for(let[ke,Ne]of Object.entries(Se))es(J,`_bbox_${ke}`,Ne)}}}},br=()=>{He&&fo()},Nt=null,No=()=>{Yt()&&Bt()},Yr=()=>{Nt||(Nt=y7(()=>{Yt()&&Bt()})),typeof document<"u"&&document.fonts?.addEventListener&&document.fonts.addEventListener("loadingdone",No)};Yr();let Ro=M=>Tn(M.metadata.transform),wa=(M,E,k)=>{let V=M.mapValues[E]??{inputMin:0,inputMax:1,outputMin:0,outputMax:1,curve:0};if(k.type==="map"){let I=k;V.inputMin=I.inputMin,V.inputMax=I.inputMax,V.outputMin=le(M,E,I.outputMin),V.outputMax=le(M,E,I.outputMax),V.curve=I.curve??0}else if(k.type==="mouse"){let I=k;V.outputMin=le(M,E,I.outputMin),V.outputMax=le(M,E,I.outputMax),V.curve=I.curve??0}else if(k.type==="auto-animate"){let I=k;V.outputMin=le(M,E,I.outputMin),V.outputMax=le(M,E,I.outputMax)}return M.mapValues[E]=V,V},E1=(M,E,k)=>{let V=M.mouseDriverState[E];if(V)return V;if(k.type==="mouse-position"){let I=k.x===void 0||k.x==="mouse",J=k.y===void 0||k.y==="mouse";V={currentX:I?je:k.x,currentY:J?fe:k.y,velocityX:0,velocityY:0,pointerSnapped:Ze}}else V={currentX:Math.max(.001,k.axis==="x"?je:fe),currentY:0,velocityX:0,velocityY:0,pointerSnapped:Ze};return M.mouseDriverState[E]=V,V},k1=M=>{let E=M.metadata.maps;if(E)for(let[k,V]of Object.entries(E))k in M.uniforms&&(V.type==="map"?wa(M,k,V):V.type==="mouse-position"?E1(M,k,V):V.type==="mouse"?(E1(M,k,V),wa(M,k,V)):V.type==="auto-animate"&&(M.autoAnimateState[k]||(M.autoAnimateState[k]={}),wa(M,k,V)))},__=M=>{let E=M.definition.animatedTime;return(E?M.uniforms[E.speed]:void 0)??M},$1=(M,E)=>M.uniforms[E]??M,Gy=M=>{let E=[];for(let[I,J]of Object.entries(M.uniforms))E.push({name:I,initial:J.value,transform:J.transform,cpu:J.cpu,schema:J.schema});if(E.push({name:"_opacity",schema:a,initial:M.metadata.opacity??1}),M.definition.animatedTime&&E.push({name:"_animTime",schema:a,initial:ii(__(M)).value}),M.definition.extraAnimatedTimes)for(let[I,J]of Object.entries(M.definition.extraAnimatedTimes))E.push({name:`_animTime_${I}`,schema:a,initial:ii($1(M,J)).value});let k=M.definition.extraFields;if(k)for(let[I,J]of Object.entries(k))E.push({name:I,schema:J.schema,initial:J.initial});if(Ro(M)){let I=ne(M);for(let[J,_e]of Object.entries(I))E.push({name:`_xform_${J}`,schema:a,initial:_e})}if(ge(M)){let I=ie(M);if(I)for(let[J,_e]of Object.entries(I))E.push({name:`_bbox_${J}`,schema:a,initial:_e})}if(M.definition.wantsBoundsParams){let I=Je(M)??{centerX:.5,centerY:.5,halfWidth:.5,halfHeight:.5};for(let[J,_e]of Object.entries(I))E.push({name:`_childBounds_${J}`,schema:a,initial:_e})}let V=M.metadata.maps;if(V){k1(M);for(let[I,J]of Object.entries(V))if(I in M.uniforms){if(J.type==="map"){let _e=M.mapValues[I];E.push({name:`_map_${I}_inputMin`,schema:a,initial:_e.inputMin}),E.push({name:`_map_${I}_inputMax`,schema:a,initial:_e.inputMax}),E.push({name:`_map_${I}_outputMin`,schema:a,initial:_e.outputMin}),E.push({name:`_map_${I}_outputMax`,schema:a,initial:_e.outputMax}),E.push({name:`_map_${I}_curve`,schema:a,initial:_e.curve})}else if(J.type==="mouse-position"){let _e=M.mouseDriverState[I];E.push({name:`_smoothed_${I}`,schema:l,initial:[_e.currentX,1-_e.currentY]})}else if(J.type==="mouse"){let _e=M.mapValues[I];E.push({name:`_smoothed_${I}`,schema:a,initial:_e.outputMin})}else if(J.type==="auto-animate"){let _e=M.mapValues[I];E.push({name:`_smoothed_${I}`,schema:a,initial:_e.outputMin})}}}return E},Ta=(M,E,k)=>{let V=M._liveHandles?.[E];V&&(As?.(os),e7(V,k))},es=(M,E,k)=>{let V=M._liveHandles?.[E];V instanceof Oo&&(V.value=k)},Yy=(M,E,k)=>{let V=M._liveHandles?.[E];V instanceof Oo?V.value=k:V instanceof Sc&&Array.isArray(k)&&(V.array=k)},dT=M=>{for(let E of Object.values(M.uniforms))if(E.transform===ir){let k=E.value;if(typeof k=="string")return ir(k);if(typeof k=="number")return k}return 0},cT=M=>{if(!M.uniforms.convertedColorsArray)return;let E=null;for(let J of Object.values(M.uniforms))if(J.transform===Rn){E=J.value??null;break}let k=jv(E,Kc),V=Kv(k.colors,k.stopCount,dT(M)),I=(J,_e)=>{let Se=M.uniforms[J];Se&&(Se.value=_e),Ta(M,J,_e)};I("colorsArray",k.colors),I("positionsArray",k.positions),I("convertedColorsArray",V),I("stopCount",k.stopCount)},Ly=(M,E)=>{let k=M.uniforms[E],V=k?._listSpec;if(!k||!V)return;let I=k._rawList,J=new Set,_e=ly(I,V,{color:Kc,drivenPosition:(Ne,Lt,ns)=>{let Ht=cw(E,Ne,Lt);J.add(Ht);let nt=E1(M,Ht,ns);return nt.liveX!==void 0&&nt.liveY!==void 0?{x:nt.liveX,y:1-nt.liveY}:void 0}});for(let Ne of Object.keys(M.mouseDriverState)){let Lt=_y(Ne);Lt&&Lt.prop===E&&!J.has(Ne)&&delete M.mouseDriverState[Ne]}k.value=_e,Ta(M,E,_e);let Se=uy(_e,V),ke=(Ne,Lt)=>{let ns=M.uniforms[Ne];ns&&(ns.value=Lt),Ta(M,Ne,Lt)};for(let[Ne,Lt]of Object.entries(Se.fields))ke(dy(E,Ne),Lt);ke(cy(E),Se.count)},_T=(M,E)=>{let k=M.metadata.maps?.[E];if(k)return k;let V=_y(E);if(!V)return;let I=M.uniforms[V.prop]?._rawList,J=(Array.isArray(I)?I[V.index]:void 0)?.[V.field];return _1(J)?J:void 0},lT=M=>Object.values(M.uniforms).some(E=>E._listSpec&&my(E._rawList,E._listSpec)),uT=M=>{if(es(M,"_opacity",M.metadata.opacity??1),M.definition.animatedTime&&es(M,"_animTime",ii(__(M)).value),M.definition.extraAnimatedTimes)for(let[k,V]of Object.entries(M.definition.extraAnimatedTimes))es(M,`_animTime_${k}`,ii($1(M,V)).value);if(Ro(M))for(let[k,V]of Object.entries(ne(M)))es(M,`_xform_${k}`,V);if(ge(M)){let k=ie(M);if(k)for(let[V,I]of Object.entries(k))es(M,`_bbox_${V}`,I)}let E=M.metadata.maps;if(E){for(let[k,V]of Object.entries(E))if(V.type==="map"&&M.mapValues[k]){let I=M.mapValues[k];es(M,`_map_${k}_inputMin`,I.inputMin),es(M,`_map_${k}_inputMax`,I.inputMax),es(M,`_map_${k}_outputMin`,I.outputMin),es(M,`_map_${k}_outputMax`,I.outputMax),es(M,`_map_${k}_curve`,I.curve)}}},mT=(M,E)=>{let k={};for(let V of Object.keys(M.uniforms)){let I=E[V];I&&(k[V]=I)}return k},pT=M=>{let E={};for(let[k,V]of Object.entries(M.uniforms))E[k]={accessorPath:"",cpu:!!V.cpu,value:V.value};return E},fT=(M,E)=>({id:M.id,customId:M.metadata.id,componentName:M.componentName,parentId:M.parentId,definition:M.definition,metadata:M.metadata,handles:E,domCanvas:M.domCanvas}),Iy=(M,E)=>{let k=new Map,V=J=>fT(J,M&&E?mT(J,E.get(J.id)??{}):pT(J)),I=J=>{let _e=k.get(J);if(_e)return _e;let Se=u.get(J);if(!Se)return;let ke=V(Se);return k.set(J,ke),ke};return{rootId:m,getNode:I,getChildren:J=>Qr(J).map(_e=>I(_e.id)),resolveCustomId:J=>ci(J),store:{gpuAccessor:(J,_e)=>M?M.gpuAccessor(J,_e):"",layout:M?.layout}}},Dy=()=>({toneMapping:bs,flipY:!1,premultiplyAlpha:!0,canvas:n??void 0,dimensions:Sa(),gpu:t?{device:t.device,root:t}:void 0,writeExtraField:(M,E,k)=>{let V=u.get(M);V&&Yy(V,E,k)},createMediaTexture:M=>{if(!r)throw new Error("[gpu] createMediaTexture before init");return r.createMediaTexture(M)},createDataTexture:M=>{if(!r)throw new Error("[gpu] createDataTexture before init");return r.createDataTexture(M)},resolveMapWindow:(M,E)=>{let k=u.get(M),V=k?.metadata.maps?.[E];if(!k||!V||V.type!=="map")return;let I=wa(k,E,V);return{inputMin:I.inputMin,inputMax:I.inputMax,outputMin:I.outputMin,outputMax:I.outputMax,curve:I.curve}},resolveDriverCpuValue:(M,E)=>{let k=u.get(M);if(!k)return;if(E==="_animTime"||E.startsWith("_animTime_")){let I=k._liveHandles?.[E];return I instanceof Oo?I.value:void 0}let V=k.metadata.maps?.[E];if(V){if(V.type==="mouse-position"){let I=k.mouseDriverState[E];return!I||I.liveX===void 0||I.liveY===void 0?void 0:{x:I.liveX,y:1-I.liveY}}if(V.type==="mouse"||V.type==="auto-animate"){let I=k._liveHandles?.[`_smoothed_${E}`];return I instanceof Oo?I.value:void 0}}}}),vT=()=>{let M=[];for(let[E,k]of u){let V=k.metadata;M.push(`aopac:${E}:${(V.opacity??1)<1}`);let I=k.uniforms.stopCount?.value;typeof I=="number"&&M.push(`stops:${E}:${I>1?I:0}`);for(let[J,_e]of Object.entries(k.uniforms)){if(!_e.compileTimeWhen)continue;let Se=_e._lastCompiledValue;typeof Se!="number"&&typeof Se!="boolean"||M.push(`ctw:${E}:${J}:${String(Se)}`)}if(V.maps){let J=Object.entries(V.maps).sort(([_e],[Se])=>_eSe?1:0).map(([_e,Se])=>{let ke=Se;return`${_e}=${ke.type}:${ke.source??""}:${ke.channel??""}:${ke.axis??""}`}).join(",");M.push(`mapfp:${E}:${J}`)}}return M},Fy=()=>m?$L([..._7(Iy(null,null),Dy()),...vT()]):null,Sa=()=>({width:Math.max(1,Math.round(P*L)),height:Math.max(1,Math.round(U*L))}),yT=M=>{let E={};for(let k of M.textures)k.kind!=="rtt"&&k.resource&&(E[k.key]=k.resource);return E},hT=M=>{if(!t||!r||!o)throw new Error("[gpu] buildComposition before init");let E=J6(t,{systemSchema:kL}),k=new Map;for(let[Se,ke]of u)k.set(Se,E.defineNode(Se,Gy(ke)));E.defineSystem(),E.finalize();let V=c7(Iy(E,k),Dy()),I=CL(t,{textureManager:r,dispatcher:o}),J={hash:M,store:E,ir:V,passManager:I,handlesById:k,fresh:!0,validationFrames:3},_e=V.usesCustomWgsl?t.device:void 0;_e&&_e.pushErrorScope("validation");try{I.setComposition(V,E.bindGroup,Sa(),yT(V))}finally{_e&&_e.popErrorScope().then(Se=>{Se&&!J.broken&&By(J,Se.message)}).catch(()=>{})}return w.add(J),J},By=(M,E)=>{M.broken=E,y_("[gpu] a shader in this composition failed GPU validation \u2014 it will not draw until it changes. If you are writing a wgsl`\u2026` body, the message below points at the line:\n"+E)},Wy=M=>{try{for(let E of M.ir.onCleanup)E()}catch(E){Is("[gpu] composition onCleanup error:",E)}try{M.passManager.dispose()}catch(E){Is("[gpu] passManager dispose error:",E)}try{M.store.destroy()}catch(E){Is("[gpu] store destroy error:",E)}w.delete(M),S===M&&(S=null)},xT=M=>{let E=!1;for(let[k,V]of M.handlesById){let I=u.get(k);I&&I._liveHandles!==V&&(I._liveHandles=V,E=!0)}if(!(M===S&&!E)){if(!M.fresh){for(let k of u.values()){for(let[V,I]of Object.entries(k.uniforms))Ta(k,V,I.value);k1(k),uT(k)}M.store.writeAll()}M.fresh=!1,S=M,!ys&&M.ir.composedNodeIds.size>0&&(Ks=!0)}},Bn=()=>{A=!0,Yt()&&(He=!0),vo()},vo=()=>{Ms||Gr.running||de===null&&typeof requestAnimationFrame=="function"&&(de=requestAnimationFrame(()=>{de=null,Ad()}))},Oy=(M,E,k,V,I={},J,_e)=>{if(Ms)return;if(E===null){let nt=y.findIndex(Zs=>Zs.id===M);if(nt!==-1){y.splice(nt,1),h=h.filter(Zs=>Zs.id!==M);return}U1(M);return}if(!J){console.error(`[gpu] registerNode("${M}") requires a componentDefinition`);return}if(!c){let nt=y.findIndex(zo=>zo.id===M),Zs={id:M,definition:J,parentId:k,metadata:V,uniforms:I,domCanvas:_e};nt!==-1?(y[nt]=Zs,h=h.filter(zo=>zo.id!==M)):y.push(Zs);return}let Se=0;if(k!==null){let nt=p.get(k);if(nt&&nt.size>0){let Zs=0;for(let zo of nt){let Lr=u.get(zo);Lr&&Lr.metadata.renderOrder>Zs&&(Zs=Lr.metadata.renderOrder)}Se=Zs+1}}let ke={blendMode:V?.blendMode||"normal",opacity:V?.opacity,visible:V?.visible!==!1,id:V?.id?Vo(V.id):V?.id,mask:V?.mask,maps:V?.maps,renderOrder:V?.renderOrder!==void 0?V.renderOrder:Se,transform:V?.transform,boundingBox:V?.boundingBox,flow:V?.flow,absolute:V?.absolute},Ne=J.boundingBoxDeclaration,Lt=J.props?fy(J.props):void 0,ns={id:M,componentName:J.name||"Unknown",parentId:k,definition:J,metadata:ke,uniforms:I,domCanvas:_e,requiresRTT:!!J.requiresRTT,requiresChild:!!J.requiresChild,blendWithChildren:!!J.blendWithChildren,acceptsUVContext:!!J.acceptsUVContext,providesUVContextViaCompute:!!J.providesUVContextViaCompute,usesPointer:!!J.usesPointer,hasUvRemap:!!J.uvRemap,boundingBoxDeclaration:Ne,wantsBoundsParams:!!J.wantsBoundsParams,extraDimProps:Lt,mouseDriverState:{},autoAnimateState:{},mapValues:{},_liveHandles:null};if(Ne||Lt){let nt=hd(Ne,Lt);if(nt){let Zs=I.origin?.value??"center",zo=ba(ns,Zs);for(let Lr of[...nt.positionProps,...nt.sizeProps.keys()]){let wr=I[Lr];wr&&(wr._rawDimensional===void 0&&(wr._rawDimensional=wr.value),wr.value=Qc(Ne,Lr,wr._rawDimensional,Zs,te(),ee(),Lt,zo))}}}for(let nt of Object.values(I))nt.compileTimeWhen&&nt._lastCompiledValue===void 0&&(nt._lastCompiledValue=nt.value);u.set(M,ns),k===null&&(m=M);let Ht=p.get(k)||new Set;Ht.add(M),p.set(k,Ht),Md(),Bn(),Yt()&&Bt()},Vy=M=>{y.some(E=>E.id===M.id)&&h.push(M)},Ny=(M,E,k)=>{let V=u.get(M);if(!V){Vy({id:M,kind:"uniform",name:E,value:k});return}let I=V.uniforms[E];if(!I)return;let J=V.boundingBoxDeclaration,_e=V.extraDimProps;if((J||_e)&&yy(J,E,_e)){I._rawDimensional=k;let Se=V.uniforms.origin?.value??"center",ke=ba(V,Se);k=Qc(J,E,k,Se,te(),ee(),_e,ke)}if(I.transform===Ka){I._rawList=k,Ly(V,E),Md(),vo();return}if(I.value=k,Ta(V,E,k),(I.transform===Rn||I.transform===ir)&&cT(V),E==="origin"&&J)F(V);else if(J&&(V.uniforms.origin?.value??"center")!=="center"){let Se=hd(J,_e),ke=!!J.computeBounds||(Se?.sizeProps.has(E)??!1),Ne=Se?.positionProps.has(E)??!1;ke&&!Ne&&F(V)}if(E==="shape"&&Md(),Yt()&&Bt(),I.compileTime){Bn();return}if(I.compileTimeWhen){let Se=I._lastCompiledValue;if(I.compileTimeWhen(Se,k)){I._lastCompiledValue=k,Bn();return}}vo()},qy=(M,E)=>{let k=u.get(M);if(!k){Vy({id:M,kind:"metadata",metadata:E});return}let V=!1;if(E.blendMode!==void 0&&k.metadata.blendMode!==E.blendMode&&(k.metadata.blendMode=E.blendMode,V=!0),E.opacity!==void 0&&k.metadata.opacity!==E.opacity){let I=k.metadata.opacity??1,J=E.opacity;k.metadata.opacity=J,es(k,"_opacity",J),I>=1!=J>=1&&(V=!0)}if(E.renderOrder!==void 0&&k.metadata.renderOrder!==E.renderOrder&&(k.metadata.renderOrder=E.renderOrder,V=!0),"visible"in E){let I=E.visible!==!1;k.metadata.visible!==I&&(k.metadata.visible=I,V=!0)}if(E.id!==void 0){let I=Vo(E.id);k.metadata.id!==I&&(k.metadata.id=I,V=!0)}if("mask"in E&&(k.metadata.mask?.source!==E.mask?.source||k.metadata.mask?.type!==E.mask?.type)&&(k.metadata.mask=E.mask,V=!0),"maps"in E&&JSON.stringify(k.metadata.maps)!==JSON.stringify(E.maps)){let I=k.metadata.maps,J=E.maps;if(k.metadata.maps=J,Md(),(()=>{if(!I||!J)return!0;let _e=Object.keys(I),Se=Object.keys(J);if(_e.length!==Se.length||!_e.every(ke=>ke in J))return!0;for(let ke of Se){let Ne=I[ke],Lt=J[ke];if(Ne.type!==Lt.type)return!0;if(Lt.type==="map"){let ns=Ne,Ht=Lt;if(ns.source!==Ht.source||ns.channel!==Ht.channel)return!0}else if(Lt.type==="mouse"&&Ne.axis!==Lt.axis)return!0}return!1})()){if(I&&J)for(let _e of Object.keys(I))_e in J&&I[_e].type!==J[_e].type&&(delete k.mouseDriverState[_e],delete k.autoAnimateState[_e],delete k.mapValues[_e]);V=!0}else if(J)for(let[_e,Se]of Object.entries(J)){let ke=wa(k,_e,Se);Se.type==="map"&&(es(k,`_map_${_e}_inputMin`,ke.inputMin),es(k,`_map_${_e}_inputMax`,ke.inputMax),es(k,`_map_${_e}_outputMin`,ke.outputMin),es(k,`_map_${_e}_outputMax`,ke.outputMax),es(k,`_map_${_e}_curve`,ke.curve))}}if(E.transform!==void 0){let I=k.metadata.transform,J={offsetX:E.transform.offsetX??I?.offsetX??0,offsetY:E.transform.offsetY??I?.offsetY??0,rotation:E.transform.rotation??I?.rotation??0,scale:E.transform.scale??I?.scale??1,anchorX:E.transform.anchorX??I?.anchorX??.5,anchorY:E.transform.anchorY??I?.anchorY??.5,edges:E.transform.edges??I?.edges??"transparent"},_e=Ro(k);k.metadata.transform=J;let Se=Tn(J);if(_e!==Se||I&&I.edges!==J.edges)V=!0;else if(Se)for(let[ke,Ne]of Object.entries(ne(k)))es(k,`_xform_${ke}`,Ne)}if(E.boundingBox!==void 0&&E.boundingBox!==null&&k.boundingBoxDeclaration!==void 0){let I=ge(k);k.metadata.boundingBox=E.boundingBox;let J=ge(k);if(I!==J)V=!0;else if(J){let _e=ie(k);if(_e)for(let[Se,ke]of Object.entries(_e))es(k,`_bbox_${Se}`,ke)}}else E.boundingBox===null&&k.metadata.boundingBox!==void 0&&(k.metadata.boundingBox=void 0,V=!0);if("flow"in E&&JSON.stringify(k.metadata.flow)!==JSON.stringify(E.flow)){let I=k.metadata.flow?.mode==="column"||k.metadata.flow?.mode==="row";k.metadata.flow=E.flow??void 0;let J=k.metadata.flow?.mode==="column"||k.metadata.flow?.mode==="row";if(I&&!J){let _e=Se=>{for(let ke of Qr(Se))F(ke),_e(ke.id)};_e(M)}Bt()}"absolute"in E&&k.metadata.absolute!==E.absolute&&(k.metadata.absolute=E.absolute,E.absolute&&F(k),Bt()),Yt()&&Bt(),V?Bn():vo()},U1=M=>{let E=u.get(M);if(!E)return;for(let V of Qr(M))U1(V.id);m===M&&(m=null);let k=p.get(E.parentId);k&&(k.delete(M),k.size===0&&p.delete(E.parentId)),u.delete(M),Md(),Bn(),Yt()&&Bt()},Xy=()=>{let M=Ps.deltaTime;Pe=C7(Re,Pe,M,performance.now());for(let E of u.values()){let k=E.metadata.maps??{};for(let V in E.mouseDriverState){let I=E.mouseDriverState[V],J=_T(E,V);if(J){if(J.type==="mouse-position"){let _e=J.smoothing??0,Se=J.momentum??0,ke=J.x===void 0||J.x==="mouse",Ne=J.y===void 0||J.y==="mouse";!I.pointerSnapped&&Ze&&(I.pointerSnapped=!0,ke&&(I.currentX=je,I.velocityX=0),Ne&&(I.currentY=fe,I.velocityY=0));let Lt,ns;if(ke){let[Go,ui]=Xc(I.currentX,I.velocityX,je,_e,Se,M);I.currentX=Go,I.velocityX=ui,Lt=Go}else Lt=J.x,I.velocityX=0;if(Ne){let[Go,ui]=Xc(I.currentY,I.velocityY,fe,_e,Se,M);I.currentY=Go,I.velocityY=ui,ns=Go}else ns=J.y,I.velocityY=0;let Ht=J.reach??1,nt=J.originX??.5,Zs=J.originY??.5,zo=J.invertX?-1:1,Lr=J.invertY?-1:1,wr=nt+zo*(Lt-nt)*Ht,yo=Zs+Lr*(ns-Zs)*Ht,Aa=wr,Pd=yo,p_=E.metadata.boundingBox;if(p_&&E.boundingBoxDeclaration?.supportsResizeFit&&ge(E)){let Go=Ov(p_,te(),ee()),ui=i7(wr,yo,{centerX:Go.centerX,centerY:Go.centerY,halfWidthUV:Go.halfWidthUV,halfHeightUV:Go.halfHeightUV,rotationDeg:Go.rotation,aspectRatio:ae()});Aa=ui.x,Pd=ui.y}I.liveX=Aa,I.liveY=Pd;let sh=E._liveHandles?.[`_smoothed_${V}`];sh instanceof Oo&&sh.setComponents(Aa,1-Pd)}else if(J.type==="mouse"){let _e=J.smoothing??0,Se=J.momentum??0,ke=J.axis==="x"?je:fe;!I.pointerSnapped&&Ze&&(I.pointerSnapped=!0,I.currentX=Math.max(.001,ke),I.velocityX=0);let[Ne,Lt]=Xc(I.currentX,I.velocityX,ke,_e,Se,M);I.currentX=Ne,I.velocityX=Lt;let ns=Math.max(.001,Ne),Ht=E.mapValues[V],nt=Ht?Ht.outputMin+(Ht.outputMax-Ht.outputMin)*Math.pow(ns,Math.pow(2,-Ht.curve*2)):ns;I.liveScalar=nt,es(E,`_smoothed_${V}`,nt)}}}for(let[V,I]of Object.entries(E.uniforms))I._listSpec&&my(I._rawList,I._listSpec)&&Ly(E,V);for(let V in E.autoAnimateState){let I=k[V];if(!I||I.type!=="auto-animate")continue;let J=Pe*(I.speed??1)*.2,_e,Se=I.easing??I.waveform??"sine";if(I.mode==="loop")_e=ey((J%1+1)%1,Se);else{let nt=(J%1+1)%1;_e=ey(nt<.5?nt*2:(1-nt)*2,Se)}let ke=E.mapValues[V],Ne=ke?ke.outputMin:le(E,V,I.outputMin),Lt=ke?ke.outputMax:le(E,V,I.outputMax),ns=Ne+_e*(Lt-Ne),Ht=E.uniforms[V];if(Ht?.compileTimeWhen){let nt=Ht._lastCompiledValue;Ht.compileTimeWhen(nt,ns)&&(Ht._lastCompiledValue=ns,Bn())}es(E,`_smoothed_${V}`,ns)}}},Hy=()=>{let M=Ps.deltaTime;for(let E of u.values()){let k=E.definition.animatedTime;if(k){let I=E.uniforms[k.speed],J=I&&Number(I.value)||0,_e=ii(__(E));_e.advance(M,J),es(E,"_animTime",_e.value)}let V=E.definition.extraAnimatedTimes;if(V)for(let[I,J]of Object.entries(V)){let _e=E.uniforms[J],Se=_e&&Number(_e.value)||0,ke=ii($1(E,J));ke.advance(M,Se),es(E,`_animTime_${I}`,ke.value)}}},C1=(M,E)=>U7(M,E,{maxTextureDim:G,pixelRatio:L,viewportWidth:typeof window<"u"?window.innerWidth:M,viewportHeight:typeof window<"u"?window.innerHeight:E}),R1=()=>{let M=(typeof window<"u"?window.devicePixelRatio:1)||1;return Math.min(M,h7())},l_=(M,E,k,V)=>{if(Q&&M===P&&E===U&&k===D&&V===O){let{width:Se,height:ke}=Sa();if(!n||n.width===Se&&n.height===ke)return}P=M,U=E,D=k,O=V,py(k,V),Q||(Q=!0,u.size>0&&Bn());let{width:I,height:J}=Sa();n&&(n.width=I,n.height=J);let _e=!1;for(let Se of w)Se.passManager.resize(I,J)&&(_e=!0);for(let Se of w)for(let ke of Se.ir.onResize)try{ke({width:I,height:J})}catch(Ne){Is("[gpu] composition onResize error:",Ne)}for(let Se of u.values()){if(Ro(Se)&&es(Se,"_xform_aspectRatio",ae()),ge(Se)){let ke=ie(Se);if(ke)for(let[Ne,Lt]of Object.entries(ke))es(Se,`_bbox_${Ne}`,Lt)}F(Se)}if(fo(),_e)for(let Se of w)Ky(Se.store),Se.store.flush(),Se.passManager.repaintRtt();Ue=0,Ad()},z1=(M,E)=>{M<=0||E<=0||M===W&&E===K||(W=M,K=E,Ft={width:M,height:E},!Gt&&typeof requestAnimationFrame=="function"&&(Gt=!0,requestAnimationFrame(()=>{if(Gt=!1,!Ft)return;let k=Ft;Ft=null;let{width:V,height:I}=C1(k.width,k.height);l_(V,I,k.width,k.height)})))},gT=M=>{let E=M[0];if(!E)return;let k,V;if(E.contentBoxSize){let I=Array.isArray(E.contentBoxSize)?E.contentBoxSize[0]:E.contentBoxSize;I?(k=Math.round(I.inlineSize),V=Math.round(I.blockSize)):(k=Math.round(E.contentRect.width),V=Math.round(E.contentRect.height))}else k=Math.round(E.contentRect.width),V=Math.round(E.contentRect.height);k===0||V===0||z1(k,V)},bT=M=>{let E=M[0];E&&(Ee=E.isIntersecting)},jy=()=>i&&!!t&&!!s&&P>0&&U>0,Ky=M=>{let E=M.systemHandles,{width:k,height:V}=Sa(),I=R1(),J=(_e,Se)=>{let ke=E[_e];ke instanceof Oo&&(ke.value=Se)};J("time",Pe),J("viewportSize",[k,V]),J("logicalViewportSize",[te()*I,ee()*I]),J("aspect",k/Math.max(1,V)),J("pointer",[je,fe]),J("pointerActive",Ke?1:0)},Zy=M=>{for(let E of M)try{E(Ps)}catch(k){Is("[gpu] render callback error:",k)}},Qy=M=>{if(Ms||!jy())return;let E=performance.now(),k;if(M!==void 0)k=M;else{let _e=R7(E,{lastRenderTime:Ue,isVisible:Ee,forceFullFrameRate:Te,minInterval:Me});if(!_e.render)return;k=_e.deltaTime}Ue=E,ls&&performance.mark("shader-cpu-start");let V=je>-5;Ps.deltaTime=k,Ps.pointer.x=V?je:.5,Ps.pointer.y=V?fe:.5,Ps.pointer.seen=Ze,Ps.pointerActive=Ke,Ps.dimensions.width=P,Ps.dimensions.height=U;let I=null,J=null;try{z7({updateDrivers:()=>{Xy(),Hy(),rt(),br()},ensureComposition:()=>((A||T===null)&&(T=Fy(),A=!1),T===null?!1:(I=g.getOrBuild(T,()=>hT(T)),xT(I),!!S)),beforeRender:()=>Zy(S.ir.onBeforeRender),flush:()=>{Ky(S.store),S.store.flush()},render:()=>{if(ls&&performance.mark("shader-gpu-start"),J=g.renderValue??I,J?.broken)return!1;let _e=J,Se=_e&&_e.validationFrames>0&&_e.ir.usesCustomWgsl?t?.device:void 0;Se&&Se.pushErrorScope("validation");try{_e?.passManager.render(s,Ps,()=>S?.store.flush())}finally{Se&&_e&&(_e.validationFrames--,Se.popErrorScope().then(ke=>{ke&&!_e.broken&&By(_e,ke.message)}).catch(()=>{}))}if(ls){performance.mark("shader-gpu-end");try{performance.measure("shader-gpu-time","shader-gpu-start","shader-gpu-end");let ke=performance.getEntriesByName("shader-gpu-time")[0];ke&&zr.recordGpuTime(ke.duration),performance.clearMeasures("shader-gpu-time"),performance.clearMarks("shader-gpu-start"),performance.clearMarks("shader-gpu-end")}catch{}}},markReady:()=>{g.markReady(T),Ks&&!ys&&(ys=!0,Ks=!1,vs&&queueMicrotask(vs))},afterRender:()=>Zy((J??S).ir.onAfterRender)}),nr=0}catch(_e){$T(_e);return}if(ls){performance.mark("shader-cpu-end");try{performance.measure("shader-cpu-time","shader-cpu-start","shader-cpu-end");let _e=performance.getEntriesByName("shader-cpu-time")[0];_e&&zr.recordCpuTime(_e.duration),performance.clearMarks("shader-cpu-start"),performance.clearMarks("shader-cpu-end"),performance.clearMeasures("shader-cpu-time")}catch{}}zr.recordFrame(performance.now()-E)},Ad=()=>Qy(void 0),wT=async M=>{if(Ms)return;if(!jy())throw new Error("Renderer is not ready");let E=Gr.running;E&&u_(),Ue=0,Ad(),t&&M?.waitForGpu!==!1&&await ty(t),E&&G1()},TT=async(M,E)=>{Qy(M),t&&E?.waitForGpu!==!1&&await ty(t)},G1=()=>{Ms||Gr.running||!he||(zr.setRendering(!0),Gr.start())},u_=()=>{Gr.running&&(Gr.stop(),zr.setRendering(!1))},m_=M=>{if(!n)return;at=n.getBoundingClientRect();let E,k;if("touches"in M){if(M.touches.length===0)return;E=M.touches[0].clientX,k=M.touches[0].clientY}else E=M.clientX,k=M.clientY;je=(E-at.left)/at.width,fe=(k-at.top)/at.height,Ze=!0},ST=M=>{!i||!n||(m_(M),Ke=!0,vo())},AT=M=>{!i||!n||(m_(M),Ke=!0,vo())},MT=()=>{i&&(Ke=!1,vo())},PT=()=>{i&&(Ke=!1,vo())},Jy=(M,E)=>{if(!i||!n)return!1;let k=n.getBoundingClientRect();return k.width===0||k.height===0?!1:M>=k.left&&M<=k.right&&E>=k.top&&E<=k.bottom},ET=M=>{M.button===0&&Jy(M.clientX,M.clientY)&&(Ke=!0,m_(M),vo())},kT=M=>{M.touches.length!==0&&Jy(M.touches[0].clientX,M.touches[0].clientY)&&(Ke=!0,m_(M),vo())},Md=()=>{let M=!1;for(let E of u.values()){if(E.usesPointer){M=!0;break}if(HL(E.uniforms?.shape?.value)||lT(E)){M=!0;break}if(E.metadata.maps){for(let k of Object.values(E.metadata.maps))if(k&&typeof k=="object"&&"type"in k){let V=k.type;if(V==="mouse"||V==="mouse-position"){M=!0;break}}if(M)break}}M&&!Fe?(Fe=!0,!Ie&&n&&(Ie=XL.register({onMouseMove:ST,onTouchMove:AT,onMouseDown:ET,onTouchStart:kT,onMouseUp:MT,onTouchEnd:PT}))):!M&&Fe&&(Fe=!1,Ie&&(Ie(),Ie=null))},eh=()=>{if(y.length===0)return;let M=[...y];y=[];for(let k of M)Oy(k.id,k.definition.fragment,k.parentId,k.metadata,k.uniforms,k.definition,k.domCanvas);let E=h;h=[];for(let k of E)k.kind==="uniform"?Ny(k.id,k.name,k.value):qy(k.id,k.metadata)},Wn=(M,E)=>{if(!Ms){Ms=M,dh(M),Is(`[gpu] renderer stopped (${M}):`,E);try{Y1()}catch(k){Is("[gpu] cleanup during failure threw:",k)}if(!hr&&Cr){hr=!0;let k=Cr;queueMicrotask(()=>{try{k(M,E)}catch(V){Is("[gpu] onUnavailable callback threw:",V)}})}}},$T=M=>{if(I1(M)){Wn(M.reason,M);return}nr++,nr===1&&y_("[gpu] render error:",M),nr>=qL&&Wn("render-failed",M)},UT=M=>{!M||typeof M.addEventListener!="function"||(th(),mo=M,po=E=>{try{E.preventDefault()}catch{}let k=E.error;if(y_("[gpu] uncaptured device error (a custom WGSL body that fails to compile reports here \u2014 read the message for the line):",k),typeof GPUOutOfMemoryError<"u"&&k instanceof GPUOutOfMemoryError){Wn("out-of-memory",k);return}if(typeof GPUInternalError<"u"&&k instanceof GPUInternalError){Wn("gpu-error",k);return}Rr++,Rr>=NL&&Wn("gpu-error",k)},M.addEventListener("uncapturederror",po))},th=()=>{if(mo&&po)try{mo.removeEventListener("uncapturederror",po)}catch{}mo=null,po=null},CT=M=>{if(!Ur){Ur=!0;try{u_()}catch{}if(yr){let E=yr;queueMicrotask(()=>{try{E(M)}catch(k){Is("[gpu] onDeviceLost callback threw:",k)}});return}Wn("device-lost",M)}},RT=async M=>{if(M.context!==void 0)throw new Error("[gpu] initialize({ context }) is not supported \u2014 this renderer is WebGPU-only. Remove the WebGL `context` option.");if(Ms)return;let E=ch();if(E){Wn(E);return}if(i||d)return;let{canvas:k,resizeTarget:V,enablePerformanceTracking:I=!1,colorSpace:J="p3-linear",toneMapping:_e="linear",gpu:Se,forceFullFrameRate:ke=!1,observeElement:Ne=!0,timeOrigin:Lt}=M;Lt!=null&&(Re=Lt),ls=I,Te=ke,os=J,bs=_e,Yr(),d=!0,_=new AbortController;let ns=_;try{if(As=lw,As(J),ns.signal.aborted||(n=k,e=await SL({device:Se?.device,adapter:Se?.adapter,onDeviceLost:yo=>CT(yo.message||yo.reason||"unknown")}),ns.signal.aborted))return;t=e.root,UT(t.device),L=R1();let Ht=t.device.limits?.maxTextureDimension2D;typeof Ht=="number"&&Ht>0&&(G=Ht),r=zL(t),o=f7(t),typeof window<"u"&&(We=()=>Y1(),window.addEventListener("beforeunload",We),Ve=()=>{if(W>0&&K>0){let yo=W,Aa=K;W=0,K=0,z1(yo,Aa)}},window.addEventListener("resize",Ve,{passive:!0}));let nt=k.getBoundingClientRect();at=nt,Ee=!Ne||nt.width>0&&nt.height>0&&nt.top0&&nt.left0,he=!0;let Zs=nt.width>0?nt.width:k.width,zo=nt.height>0?nt.height:k.height,Lr=Math.round(Zs),wr=Math.round(zo);if(Lr>0&&wr>0){W=Lr,K=wr;let{width:yo,height:Aa}=C1(Lr,wr);P=yo,U=Aa,D=Lr,O=wr,Q=!0,py(Lr,wr);let{width:Pd,height:p_}=Sa();k.width=Pd,k.height=p_}else Q=!1;if(s=PL(t,k),Ne&&typeof ResizeObserver<"u"){let yo=V??k.parentElement;yo?(st=new ResizeObserver(gT),st.observe(yo)):console.warn("[gpu] no element available for resize observation \u2014 use resize() manually"),typeof IntersectionObserver<"u"&&(Xe=new IntersectionObserver(bT,{threshold:0,rootMargin:"128px"}),Xe.observe(k))}if(ns.signal.aborted)return;i=!0,c=!0,eh(),P>0&&U>0&&Ad(),he&&G1()}catch(Ht){let nt=I1(Ht)?Ht.reason:"init-failed";d=!1,_===ns&&(_=null),Wn(nt,Ht);return}finally{d=!1,_===ns&&(_=null)}},Y1=()=>{_&&_.abort(),st&&(st.disconnect(),st=null),Xe&&(Xe.disconnect(),Xe=null),Ie&&(Ie(),Ie=null),We&&typeof window<"u"&&(window.removeEventListener("beforeunload",We),We=null),Ve&&typeof window<"u"&&(window.removeEventListener("resize",Ve),Ve=null),de!==null&&typeof cancelAnimationFrame=="function"&&(cancelAnimationFrame(de),de=null),u_(),th(),Nt?.(),Nt=null,typeof document<"u"&&document.fonts?.removeEventListener&&document.fonts.removeEventListener("loadingdone",No);try{e?.release?.()}catch{}g.clear();for(let M of[...w])Wy(M);S=null;try{r?.destroy()}catch{}try{e?.createdDevice&&t?.destroy()}catch{}u.clear(),m=null,p.clear(),y=[],h=[],c=!1,Ft=null,Gt=!1,n=null,s=null,r=null,o=null,t=null,e=null,i=!1,d=!1,Q=!1,_=null,P=0,U=0,D=0,O=0,T=null,A=!0,Ee=!1,he=!0,je=-10,fe=-10,Ke=!1,Ze=!1,Fe=!1,vs=null,ys=!1,Ks=!1,yr=null,Ur=!1,Rr=0,nr=0};return{initialize:RT,cleanup:Y1,registerNode:Oy,removeNode:U1,updateUniformValue:Ny,updateNodeMetadata:qy,isInitialized:()=>i,resize:(M,E)=>{t&&z1(M,E)},startAnimation:G1,stopAnimation:u_,renderAndWait:wT,renderSyntheticFrame:TT,getPerformanceStats:()=>{let M=Math.max(0,u.size-1),E=S?S.ir.rttPasses.length:0;zr.updateNodeCounts(M,E);let k={render:{calls:S?S.passManager.passCount:0},programs:{length:g.size},memory:{textures:r?r.textureCount:0}};return zr.getStats(k)},getLiveDriverValue:(M,E)=>{let k=u.get(M)?.mouseDriverState?.[E];return!k||k.liveX===void 0||k.liveY===void 0?null:{x:k.liveX,y:k.liveY}},getLiveScalarValue:(M,E)=>{let k=u.get(M);if(!k)return null;let V=k.metadata.maps?.[E];if(V?.type==="auto-animate"){let I=k._liveHandles?.[`_smoothed_${E}`],J=I instanceof Oo?I.value:void 0;return typeof J=="number"?J:null}return V?.type==="mouse"?k.mouseDriverState[E]?.liveScalar??null:null},getNodeRegistry:()=>({nodes:new Map(u)}),getRendererType:()=>"webgpu",getInternalRenderer:()=>t?{device:t.device,adapter:e?.adapter,root:t}:null,setForceFullFrameRate:M=>{let E=Te;return Te=M,E},beginRecordingResolution:(M,E,k)=>{if(!t||M<=0||E<=0)return()=>{};let V=L,I=P,J=U,_e=D,Se=O,ke=W,Ne=K;return L=k,l_(M,E,M,E),()=>{t&&(L=V,l_(I,J,_e,Se),W=ke,K=Ne)}},setResolutionScale:M=>{if(!t)return;let E=Math.max(.05,Math.min(M,1)),k=Math.max(.01,R1()*E);if(Math.abs(L-k)<.001)return;L=k;let V=D||P,I=O||U;if(V<=0||I<=0)return;let{width:J,height:_e}=C1(V,I);l_(J,_e,V,I)},setFrameRateCap:M=>{Me=M&&M>0?1e3/Math.max(M,10)-1:0},setTimeOrigin:M=>{Re=M},setOnReady:M=>{vs=M,M&&ys&&queueMicrotask(M)},setOnDeviceLost:M=>{yr=M},setOnUnavailable:M=>{if(Cr=M,M&&Ms&&!hr){hr=!0;let E=Ms;queueMicrotask(()=>{try{M(E)}catch(k){Is("[gpu] onUnavailable callback threw:",k)}})}},getFailureReason:()=>Ms,__testing:{needsTransformation:Tn,findChildNodes:Qr,buildFieldInits:M=>{let E=u.get(M);return E?Gy(E):null},ensureDriverState:M=>{let E=u.get(M);E&&k1(E)},stepMouseDrivers:M=>{Ps.deltaTime=M,Xy()},stepAnimatedTime:M=>{Ps.deltaTime=M,Hy()},getAnimatedTimeValue:M=>{let E=u.get(M);return E?.definition.animatedTime?ii(__(E)).value:null},writeExtraField:(M,E,k)=>{let V=u.get(M);V&&Yy(V,E,k)},readExtraField:(M,E)=>{let k=u.get(M)?._liveHandles?.[E];return k instanceof Oo?k.value:void 0},getNodeRegistry:()=>({nodes:u,rootId:m,parentToChildren:p}),getParentToChildren:()=>p,getPendingRegistrations:()=>[...y],getFrameDiagnostics:()=>({deltaTime:Ps.deltaTime,pointerX:je,pointerY:fe,pointerActive:Ke,globalElapsedTime:Pe,lastRenderTime:Ue,isVisible:Ee,forceFullFrameRate:Te,sharedTimeOrigin:Re,animating:Gr.running,mouseListenersNeeded:Fe}),computeStructuralHash:Fy,isStructuralDirty:()=>A,clearStructuralDirty:()=>{A=!1},setTestReady:M=>{i=!0,c=!0,M&&(P=M.width,U=M.height,D=M.width,O=M.height,Q=!0),eh()}}}}var jL={FlowingGradient:r_,Godrays:o_,LiquidMetal:n_,Marble:a_,MeshGradient:i_,Nebula:d_},P1=document.querySelector("canvas[data-shader]"),c_=jL[P1.dataset.shader],di=aT(),Ry=Promise.resolve();function iT(e){return Ry=Ry.then(()=>di.renderSyntheticFrame(e-di.__testing.getFrameDiagnostics().globalElapsedTime)),Ry}var zy=(async()=>{if(!c_)throw new Error(`shaders: no shader named "${P1.dataset.shader}" in this bundle`);await di.initialize({canvas:P1,observeElement:!1,colorSpace:"srgb"});let e=di.getFailureReason();if(e)throw new Error(`shaders: WebGPU unavailable (${e})`);di.registerNode("root",l1.fragment,null,null,{},l1);let t=JSON.parse(P1.dataset.shaderProps||"{}"),s=Object.fromEntries(Object.entries(c_.props).map(([o,n])=>[o,o in t?t[o]:n.default])),r={blendMode:"normal",renderOrder:1,id:"fx",boundingBox:Vv(void 0)};di.registerNode("fx",c_.fragment,"root",r,xy(c_,s,"fx"),c_),di.stopAnimation(),await iT(window.__hfTypegpuTime??0)})();window.__hf=window.__hf||{};window.__hf.buildReady=window.__hf.buildReady||{};window.__hf.buildReady.shaders=zy;zy.catch(e=>console.error(String(e)));window.addEventListener("hf-seek",e=>{let t=zy.then(()=>iT(e.detail.time));typeof e.detail.waitUntil=="function"&&e.detail.waitUntil(t)});})(); diff --git a/registry/blocks/mesh-gradient/mesh-gradient.html b/registry/blocks/mesh-gradient/mesh-gradient.html new file mode 100644 index 00000000000..4dcb3095c40 --- /dev/null +++ b/registry/blocks/mesh-gradient/mesh-gradient.html @@ -0,0 +1,31 @@ + + + + + + + +
+ +
+ + + diff --git a/registry/blocks/mesh-gradient/registry-item.json b/registry/blocks/mesh-gradient/registry-item.json new file mode 100644 index 00000000000..f8a9f9c22ca --- /dev/null +++ b/registry/blocks/mesh-gradient/registry-item.json @@ -0,0 +1,34 @@ +{ + "$schema": "https://hyperframes.heygen.com/schema/registry-item.json", + "name": "mesh-gradient", + "type": "hyperframes:block", + "title": "Mesh Gradient", + "description": "Soft coral, orange and violet fields blend and drift in a mesh gradient. A WebGPU shader from the Shaders library (shaders.com, MIT).", + "tags": ["webgpu", "webgpu-shader", "background", "gradient", "color"], + "license": "Apache-2.0 AND MIT", + "dimensions": { + "width": 1920, + "height": 1080 + }, + "duration": 2, + "files": [ + { + "path": "mesh-gradient.html", + "target": "compositions/mesh-gradient.html", + "type": "hyperframes:composition" + }, + { + "path": "lib/shaders.iife.js", + "target": "compositions/lib/shaders.iife.js", + "type": "hyperframes:asset" + }, + { + "path": "lib/shaders.THIRD-PARTY-LICENSES.txt", + "target": "compositions/lib/shaders.THIRD-PARTY-LICENSES.txt", + "type": "hyperframes:asset" + } + ], + "preview": { + "video": "https://static.heygen.ai/hyperframes-oss/docs/images/catalog/blocks/mesh-gradient.mp4" + } +} diff --git a/registry/blocks/nebula/lib/shaders.THIRD-PARTY-LICENSES.txt b/registry/blocks/nebula/lib/shaders.THIRD-PARTY-LICENSES.txt new file mode 100644 index 00000000000..1791b74a912 --- /dev/null +++ b/registry/blocks/nebula/lib/shaders.THIRD-PARTY-LICENSES.txt @@ -0,0 +1,314 @@ +================================================================ +shaders 4.0.0 +================================================================ + +MIT License + +Copyright (c) 2026 Shader Effects Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +================================================================ +typegpu 0.12.3 +================================================================ + +MIT License + +Copyright (c) 2025 Software Mansion + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +================================================================ +tinyest 0.3.4 +================================================================ + +MIT License + +Copyright (c) 2025 Software Mansion + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +================================================================ +typed-binary 4.3.3 +================================================================ + +MIT License + +Copyright (c) 2022 Iwo Plaza + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +================================================================ +tsover-runtime 0.0.7 +================================================================ + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + diff --git a/registry/blocks/nebula/lib/shaders.iife.js b/registry/blocks/nebula/lib/shaders.iife.js new file mode 100644 index 00000000000..8924644b2c1 --- /dev/null +++ b/registry/blocks/nebula/lib/shaders.iife.js @@ -0,0 +1,266 @@ +(()=>{var mi=class extends Error{reason;constructor(e,t,s){super(t??`[gpu] WebGPU unavailable (${e})`),this.name="GpuUnavailableError",this.reason=e,s?.cause!==void 0&&(this.cause=s.cause)}};function I1(e){return!!e&&typeof e=="object"&&e.name==="GpuUnavailableError"&&typeof e.reason=="string"}var rh=null;function v_(){if(rh!==null)return rh;let e=globalThis.__SHADERS_DEBUG__;if(e!=null)return!!e;try{if(typeof localStorage<"u"&&localStorage.getItem("shaders:debug")==="1")return!0}catch{}return!1}var oh=!1;function nh(){oh=!0}function y_(...e){(v_()||oh)&&console.error(...e)}function Ma(...e){v_()&&console.warn(...e)}function Is(...e){v_()&&console.error(...e)}function ah(){return typeof navigator<"u"&&!!navigator.gpu}var f_=null;function ih(){return f_||(f_=(async()=>{if(!ah())return{supported:!1,reason:"unsupported"};try{return await navigator.gpu.requestAdapter({powerPreference:"high-performance"})?{supported:!0}:{supported:!1,reason:"no-adapter"}}catch(e){return Is("[gpu] adapter probe threw:",e),{supported:!1,reason:"no-adapter"}}})(),f_)}var zT=new Set(["unsupported","no-adapter","no-device","out-of-memory","gpu-error"]),L1=null;function dh(e){L1||!zT.has(e)||(L1=e)}function ch(){return L1}function ms(e,t){let s=e.length;Array.isArray(e[0])||(e=[e]),Array.isArray(t[0])||(t=t.map(i=>[i]));let r=t[0].length,o=t[0].map((i,d)=>t.map(c=>c[d])),n=e.map(i=>o.map(d=>{let c=0;if(!Array.isArray(i)){for(let _ of d)c+=i*_;return c}for(let _=0;_i[0]):n}function Rd(e){return On(e)==="string"}function On(e){return(Object.prototype.toString.call(e).match(/^\[object\s+(.*?)\]$/)[1]||"").toLowerCase()}function P_(e,{precision:t,unit:s}){return Vn(e)?"none":i0(e,t)+(s??"")}function Vn(e){return Number.isNaN(e)||e instanceof Number&&e?.none}function Cs(e){return Vn(e)?0:e}function i0(e,t){if(e===0)return 0;let s=~~e,r=0;s&&t&&(r=~~Math.log10(Math.abs(s))+1);let o=10**(t-r);return Math.floor(e*o+.5)/o}var GT={deg:1,grad:.9,rad:180/Math.PI,turn:360};function d0(e){if(!e)return;e=e.trim();let t=/^([a-z]+)\((.+?)\)$/i,s=/^-?[\d.]+$/,r=/%|deg|g?rad|turn$/,o=/\/?\s*(none|[-\w.]+(?:%|deg|g?rad|turn)?)/g,n=e.match(t);if(n){let i=[];return n[2].replace(o,(d,c)=>{let _=c.match(r),u=c;if(_){let m=_[0],p=u.slice(0,-m.length);m==="%"?(u=new Number(p/100),u.type=""):(u=new Number(p*GT[m]),u.type="",u.unit=m)}else s.test(u)?(u=new Number(u),u.type=""):u==="none"&&(u=new Number(NaN),u.none=!0);d.startsWith("/")&&(u=u instanceof Number?u:new Number(u),u.alpha=!0),typeof u=="object"&&u instanceof Number&&(u.raw=c),i.push(u)}),{name:n[1].toLowerCase(),rawName:n[1],rawArgs:n[2],args:i}}}function c0(e){return e[e.length-1]}function $d(e,t,s){return isNaN(e)?t:isNaN(t)?e:e+(t-e)*s}function _0(e,t,s){return(s-e)/(t-e)}function rm(e,t,s){return $d(t[0],t[1],_0(e[0],e[1],s))}function l0(e){return e.map(t=>t.split("|").map(s=>{s=s.trim();let r=s.match(/^(<[a-z]+>)\[(-?[.\d]+),\s*(-?[.\d]+)\]?$/);if(r){let o=new String(r[1]);return o.range=[+r[2],+r[3]],o}return s}))}function u0(e,t,s){return Math.max(Math.min(s,t),e)}function U_(e,t){return Math.sign(e)===Math.sign(t)?e:-e}function qo(e,t){return U_(Math.abs(e)**t,e)}function om(e,t){return t===0?0:e/t}function m0(e,t,s=0,r=e.length){for(;s>1;e[o]","",""]);function _h(e,t,s,r){return Object.entries(e.coords).map(([o,n],i)=>{let d=t.coordGrammar[i],c=r[i],_=c?.type,u;if(c.none?u=d.find(y=>IT.has(y)):u=d.find(y=>y==_),!u){let y=n.name||o;throw new TypeError(`${_??c.raw} not allowed for ${y} in ${s}()`)}let m=u.range;_===""&&(m||=[0,1]);let p=n.range||n.refRange;return m&&p&&(r[i]=rm(m,p,r[i])),u})}function p0(e,{meta:t}={}){let s={str:String(e)?.trim()};if(Nn.run("parse-start",s),s.color)return s.color;if(s.parsed=d0(s.str),s.parsed){let r=s.parsed.name;if(r==="color"){let o=s.parsed.args.shift(),n=o.startsWith("--")?o.substring(2):`--${o}`,i=[o,n],d=s.parsed.rawArgs.indexOf("/")>0?s.parsed.args.pop():1;for(let u of qe.all){let m=u.getFormat("color");if(m&&(i.includes(m.id)||m.ids?.filter(p=>i.includes(p)).length)){let p=Object.keys(u.coords).map((h,g)=>s.parsed.args[g]||0),y;return m.coordGrammar&&(y=_h(u,m,"color",p)),t&&Object.assign(t,{formatId:"color",types:y}),m.id.startsWith("--")&&!o.startsWith("--")&&to.warn(`${u.name} is a non-standard space and not currently supported in the CSS spec. Use prefixed color(${m.id}) instead of color(${o}).`),o.startsWith("--")&&!m.id.startsWith("--")&&to.warn(`${u.name} is a standard space and supported in the CSS spec. Use color(${m.id}) instead of prefixed color(${o}).`),{spaceId:u.id,coords:p,alpha:d}}}let c="",_=o in qe.registry?o:n;if(_ in qe.registry){let u=qe.registry[_].formats?.color?.id;u&&(c=`Did you mean color(${u})?`)}throw new TypeError(`Cannot parse color(${o}). `+(c||"Missing a plugin?"))}else for(let o of qe.all){let n=o.getFormat(r);if(n&&n.type==="function"){let i=1;(n.lastAlpha||c0(s.parsed.args).alpha)&&(i=s.parsed.args.pop());let d=s.parsed.args,c;return n.coordGrammar&&(c=_h(o,n,r,d)),t&&Object.assign(t,{formatId:n.name,types:c}),{spaceId:o.id,coords:d,alpha:i}}}}else for(let r of qe.all)for(let o in r.formats){let n=r.formats[o];if(n.type!=="custom"||n.test&&!n.test(s.str))continue;let i=n.parse(s.str);if(i)return i.alpha??=1,t&&(t.formatId=o),i}throw new TypeError(`Could not parse ${e} as a color. Missing a plugin?`)}function yt(e){if(Array.isArray(e))return e.map(yt);if(!e)throw new TypeError("Empty color reference");Rd(e)&&(e=p0(e));let t=e.space||e.spaceId;return t instanceof qe||(e.space=qe.get(t)),e.alpha===void 0&&(e.alpha=1),e}var DT=75e-6,qe=class Yo{constructor(t){this.id=t.id,this.name=t.name,this.base=t.base?Yo.get(t.base):null,this.aliases=t.aliases,this.base&&(this.fromBase=t.fromBase,this.toBase=t.toBase);let s=t.coords??this.base.coords;for(let r in s)"name"in s[r]||(s[r].name=r);this.coords=s,this.white=j1(t.white??this.base.white??"D65"),this.formats=t.formats??{};for(let r in this.formats){let o=this.formats[r];o.type||="function",o.name||=r}this.formats.color?.id||(this.formats.color={...this.formats.color??{},id:t.cssId||this.id}),t.gamutSpace?this.gamutSpace=t.gamutSpace==="self"?this:Yo.get(t.gamutSpace):this.isPolar?this.gamutSpace=this.base:this.gamutSpace=this,this.gamutSpace.isUnbounded&&(this.inGamut=(r,o)=>!0),this.referred=t.referred,Object.defineProperty(this,"path",{value:FT(this).reverse(),writable:!1,enumerable:!0,configurable:!0}),Nn.run("colorspace-init-end",this)}inGamut(t,{epsilon:s=DT}={}){if(!this.equals(this.gamutSpace))return t=this.to(this.gamutSpace,t),this.gamutSpace.inGamut(t,{epsilon:s});let r=Object.values(this.coords);return t.every((o,n)=>{let i=r[n];if(i.type!=="angle"&&i.range){if(Number.isNaN(o))return!0;let[d,c]=i.range;return(d===void 0||o>=d-s)&&(c===void 0||o<=c+s)}return!0})}get isUnbounded(){return Object.values(this.coords).every(t=>!("range"in t))}get cssId(){return this.formats?.color?.id||this.id}get isPolar(){for(let t in this.coords)if(this.coords[t].type==="angle")return!0;return!1}getFormat(t){if(typeof t=="object")return t=lh(t,this),t;let s;return t==="default"?s=Object.values(this.formats)[0]:s=this.formats[t],s?(s=lh(s,this),s):null}equals(t){return t?this===t||this.id===t||this.id===t.id:!1}to(t,s){if(arguments.length===1){let d=yt(t);[t,s]=[d.space,d.coords]}if(t=Yo.get(t),this.equals(t))return s;s=s.map(d=>Number.isNaN(d)?0:d);let r=this.path,o=t.path,n,i;for(let d=0;di;d--)s=r[d].toBase(s);for(let d=i+1;d=0){let c=Object.entries(o.coords)[n];if(c)return{space:o,id:c[0],index:n,...c[1]}}o=Yo.get(o);let i=n.toLowerCase(),d=0;for(let c in o.coords){let _=o.coords[c];if(c.toLowerCase()===i||_.name?.toLowerCase()===i)return{space:o,id:c,index:d,..._};d++}throw new TypeError(`No "${n}" coordinate found in ${o.name}. Its coordinates are: ${Object.keys(o.coords).join(", ")}`)}static DEFAULT_FORMAT={type:"functions",name:"color"}};function FT(e){let t=[e];for(let s=e;s=s.base;)t.push(s);return t}function lh(e,{coords:t}={}){if(e.coords&&!e.coordGrammar){e.type||="function",e.name||="color",e.coordGrammar=l0(e.coords);let s=Object.entries(t).map(([r,o],n)=>{let i=e.coordGrammar[n][0],d=o.range||o.refRange,c=i.range,_="";return i==""?(c=[0,100],_="%"):i==""&&(_="deg"),{fromRange:d,toRange:c,suffix:_}});e.serializeCoords=(r,o)=>r.map((n,i)=>{let{fromRange:d,toRange:c,suffix:_}=s[i];return d&&c&&(n=rm(d,c,n)),n=P_(n,{precision:o,unit:_}),n})}return e}var ar=new qe({id:"xyz-d65",name:"XYZ D65",coords:{x:{name:"X"},y:{name:"Y"},z:{name:"Z"}},white:"D65",formats:{color:{ids:["xyz-d65","xyz"]}},aliases:["xyz"]}),Dr=class extends qe{constructor(e){e.coords||(e.coords={r:{range:[0,1],name:"Red"},g:{range:[0,1],name:"Green"},b:{range:[0,1],name:"Blue"}}),e.base||(e.base=ar),e.toXYZ_M&&e.fromXYZ_M&&(e.toBase??=t=>{let s=ms(e.toXYZ_M,t);return this.white!==this.base.white&&(s=E_(this.white,this.base.white,s)),s},e.fromBase??=t=>(t=E_(this.base.white,this.white,t),ms(e.fromXYZ_M,t))),e.referred??="display",super(e)}};function zd(e,t){return e=yt(e),!t||e.space.equals(t)?e.coords.slice():(t=qe.get(t),t.from(e))}function Jr(e,t){e=yt(e);let{space:s,index:r}=qe.resolveCoord(t,e.space);return zd(e,s)[r]}function nm(e,t,s){return e=yt(e),t=qe.get(t),e.coords=t.to(e.space,s),e}nm.returns="color";function pn(e,t,s){if(e=yt(e),arguments.length===2&&On(arguments[1])==="object"){let r=arguments[1];for(let o in r)pn(e,o,r[o])}else{typeof s=="function"&&(s=s(Jr(e,t)));let{space:r,index:o}=qe.resolveCoord(t,e.space),n=zd(e,r);n[o]=s,nm(e,r,n)}return e}pn.returns="color";var am=new qe({id:"xyz-d50",name:"XYZ D50",white:"D50",base:ar,fromBase:e=>E_(ar.white,"D50",e),toBase:e=>E_("D50",ar.white,e)}),BT=216/24389,uh=24/116,h_=24389/27,D1=Tr.D50,eo=new qe({id:"lab",name:"Lab",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:D1,base:am,fromBase(e){let t=e.map((s,r)=>s/D1[r]).map(s=>s>BT?Math.cbrt(s):(h_*s+16)/116);return[116*t[1]-16,500*(t[0]-t[1]),200*(t[1]-t[2])]},toBase(e){let t=[];return t[1]=(e[0]+16)/116,t[0]=e[1]/500+t[1],t[2]=t[1]-e[2]/200,[t[0]>uh?Math.pow(t[0],3):(116*t[0]-16)/h_,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/h_,t[2]>uh?Math.pow(t[2],3):(116*t[2]-16)/h_].map((s,r)=>s*D1[r])},formats:{lab:{coords:[" | "," | [-1,1]"," | [-1,1]"]}}});function Xo(e){return(e%360+360)%360}function WT(e,t){if(e==="raw")return t;let[s,r]=t.map(Xo),o=r-s;return e==="increasing"?o<0&&(r+=360):e==="decreasing"?o>0&&(s+=360):e==="longer"?-1800?s+=360:r+=360):e==="shorter"&&(o>180?s+=360:o<-180&&(r+=360)),[s,r]}var Ud=new qe({id:"lch",name:"LCH",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,150],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:eo,fromBase(e){let[t,s,r]=e,o,n=.02;return Math.abs(s) | "," | "," | "]}}}),mh=25**7,k_=Math.PI,ph=180/k_,pi=k_/180;function fh(e){let t=e*e;return t*t*t*e}function f0(e,t,{kL:s=1,kC:r=1,kH:o=1}={}){[e,t]=yt([e,t]);let[n,i,d]=eo.from(e),c=Ud.from(eo,[n,i,d])[1],[_,u,m]=eo.from(t),p=Ud.from(eo,[_,u,m])[1];c<0&&(c=0),p<0&&(p=0);let y=fh((c+p)/2),h=.5*(1-Math.sqrt(y/(y+mh))),g=(1+h)*i,w=(1+h)*u,S=Math.sqrt(g**2+d**2),T=Math.sqrt(w**2+m**2),A=g===0&&d===0?0:Math.atan2(d,g),P=w===0&&m===0?0:Math.atan2(m,w);A<0&&(A+=2*k_),P<0&&(P+=2*k_),A*=ph,P*=ph;let U=_-n,D=T-S,O=P-A,L=A+P,G=Math.abs(O),W;S*T===0?W=0:G<=180?W=O:O>180?W=O-360:O<-180?W=O+360:to.warn("the unthinkable has happened");let K=2*Math.sqrt(T*S)*Math.sin(W*pi/2),Q=(n+_)/2,te=(S+T)/2,ee=fh(te),he;S*T===0?he=L:G<=180?he=L/2:L<360?he=(L+360)/2:he=(L-360)/2;let Ee=(Q-50)**2,Te=1+.015*Ee/Math.sqrt(20+Ee),Ue=1+.045*te,Me=1;Me-=.17*Math.cos((he-30)*pi),Me+=.24*Math.cos(2*he*pi),Me+=.32*Math.cos((3*he+6)*pi),Me-=.2*Math.cos((4*he-63)*pi);let Pe=1+.015*te*Me,Re=30*Math.exp(-1*((he-275)/25)**2),de=2*Math.sqrt(ee/(ee+mh)),je=-1*Math.sin(2*Re*pi)*de,fe=(U/(s*Te))**2;return fe+=(D/(r*Ue))**2,fe+=(K/(o*Pe))**2,fe+=je*(D/(r*Ue))*(K/(o*Pe)),Math.sqrt(fe)}var OT=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],VT=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],NT=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],qT=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],hi=new qe({id:"oklab",name:"Oklab",coords:{l:{refRange:[0,1],name:"Lightness"},a:{refRange:[-.4,.4]},b:{refRange:[-.4,.4]}},white:"D65",base:ar,fromBase(e){return ms(NT,ms(OT,e).map(t=>Math.cbrt(t)))},toBase(e){return ms(VT,ms(qT,e).map(t=>t**3))},formats:{oklab:{coords:[" | "," | [-1,1]"," | [-1,1]"]}}});function K1(e,t){[e,t]=yt([e,t]);let[s,r,o]=hi.from(e),[n,i,d]=hi.from(t),c=s-n,_=r-i,u=o-d;return Math.sqrt(c**2+_**2+u**2)}var XT=75e-6;function Ea(e,t,{epsilon:s=XT}={}){e=yt(e),t||(t=e.space),t=qe.get(t);let r=e.coords;return t!==e.space&&(r=t.from(e)),t.inGamut(r,{epsilon:s})}function xi(e){return{space:e.space,coords:e.coords.slice(),alpha:e.alpha}}function v0(e,t,s="lab"){s=qe.get(s);let r=s.from(e),o=s.from(t);return Math.sqrt(r.reduce((n,i,d)=>{let c=o[d];return isNaN(i)||isNaN(c)?n:n+(c-i)**2},0))}function HT(e,t){return v0(e,t,"lab")}var vh=Math.PI/180;function jT(e,t,{l:s=2,c:r=1}={}){[e,t]=yt([e,t]);let[o,n,i]=eo.from(e),[,d,c]=Ud.from(eo,[o,n,i]),[_,u,m]=eo.from(t),p=Ud.from(eo,[_,u,m])[1];d<0&&(d=0),p<0&&(p=0);let y=o-_,h=d-p,g=n-u,w=i-m,S=g**2+w**2-h**2,T=.511;o>=16&&(T=.040975*o/(1+.01765*o));let A=.0638*d/(1+.0131*d)+.638,P;Number.isNaN(c)&&(c=0),c>=164&&c<=345?P=.56+Math.abs(.2*Math.cos((c+168)*vh)):P=.36+Math.abs(.4*Math.cos((c+35)*vh));let U=Math.pow(d,4),D=Math.sqrt(U/(U+1900)),O=A*(D*P+1-D),L=(y/(s*T))**2;return L+=(h/(r*A))**2,L+=S/O**2,Math.sqrt(L)}var yh=203,im=new qe({id:"xyz-abs-d65",cssId:"--xyz-abs-d65",name:"Absolute XYZ D65",coords:{x:{refRange:[0,9504.7],name:"Xa"},y:{refRange:[0,1e4],name:"Ya"},z:{refRange:[0,10888.3],name:"Za"}},base:ar,fromBase(e){return e.map(t=>Math.max(t*yh,0))},toBase(e){return e.map(t=>Math.max(t/yh,0))}}),x_=1.15,g_=.66,hh=2610/2**14,KT=2**14/2610,xh=3424/2**12,gh=2413/2**7,bh=2392/2**7,ZT=1.7*2523/2**5,wh=2**5/(1.7*2523),b_=-.56,F1=16295499532821565e-27,QT=[[.41478972,.579999,.014648],[-.20151,1.120649,.0531008],[-.0166008,.2648,.6684799]],JT=[[1.9242264357876067,-1.0047923125953657,.037651404030618],[.35031676209499907,.7264811939316552,-.06538442294808501],[-.09098281098284752,-.3127282905230739,1.5227665613052603]],eS=[[.5,.5,0],[3.524,-4.066708,.542708],[.199076,1.096799,-1.295875]],tS=[[1,.1386050432715393,.05804731615611886],[.9999999999999999,-.1386050432715393,-.05804731615611886],[.9999999999999998,-.09601924202631895,-.8118918960560388]],y0=new qe({id:"jzazbz",name:"Jzazbz",coords:{jz:{refRange:[0,1],name:"Jz"},az:{refRange:[-.5,.5]},bz:{refRange:[-.5,.5]}},base:im,fromBase(e){let[t,s,r]=e,[o,n,i]=ms(eS,ms(QT,[x_*t-(x_-1)*r,g_*s-(g_-1)*t,r]).map(function(d){return((xh+gh*(d/1e4)**hh)/(1+bh*(d/1e4)**hh))**ZT}));return[(1+b_)*o/(1+b_*o)-F1,n,i]},toBase(e){let[t,s,r]=e,[o,n,i]=ms(JT,ms(tS,[(t+F1)/(1+b_-b_*(t+F1)),s,r]).map(function(c){return 1e4*((xh-c**wh)/(bh*c**wh-gh))**KT})),d=(o+(x_-1)*i)/x_;return[d,(n+(g_-1)*d)/g_,i]},formats:{color:{coords:[" | "," | [-1,1]"," | [-1,1]"]}}}),Z1=new qe({id:"jzczhz",name:"JzCzHz",coords:{jz:{refRange:[0,1],name:"Jz"},cz:{refRange:[0,1],name:"Chroma"},hz:{refRange:[0,360],type:"angle",name:"Hue"}},base:y0,fromBase(e){let[t,s,r]=e,o,n=2e-4;return Math.abs(s){let r=qo(t*Math.abs(s)*.01,b0);return 400*U_(r,s)/(r+27.13)})}function yS(e,t){let s=100/t*27.13**Ah;return e.map(r=>{let o=Math.abs(r);return U_(s*qo(o/(400-o),Ah),r)})}function hS(e){let t=Xo(e);t<=Pa.h[0]&&(t+=360);let s=m0(Pa.h,t)-1,[r,o]=Pa.h.slice(s,s+2),[n,i]=Pa.e.slice(s,s+2),d=Pa.H[s],c=(t-r)/n;return d+100*c/(c+(o-t)/i)}function xS(e){let t=(e%400+400)%400,s=Math.floor(.01*t);t=t%100;let[r,o]=Pa.h.slice(s,s+2),[n,i]=Pa.e.slice(s,s+2);return Xo((t*(i*r-n*o)-100*r*i)/(t*(i-n)-100*i))}function S0(e,t,s,r,o){let n={};n.discounting=o,n.refWhite=e,n.surround=r;let i=e.map(y=>y*100);n.la=t,n.yb=s;let d=i[1],c=ms(w0,i);r=fS[n.surround];let _=r[0];n.c=r[1],n.nc=r[2];let u=(1/(5*n.la+1))**4;n.fl=u*n.la+.1*(1-u)*(1-u)*Math.cbrt(5*n.la),n.flRoot=n.fl**.25,n.n=n.yb/d,n.z=1.48+Math.sqrt(n.n),n.nbb=.725*n.n**-.2,n.ncb=n.nbb;let m=o?1:Math.max(Math.min(_*(1-1/3.6*Math.exp((-n.la-42)/92)),1),0);n.dRgb=c.map(y=>$d(1,d/y,m)),n.dRgbInv=n.dRgb.map(y=>1/y);let p=T0(c.map((y,h)=>y*n.dRgb[h]),n.fl);return n.aW=n.nbb*(2*p[0]+p[1]+.05*p[2]),n}var Ph=S0(uS,64/Math.PI*.2,20,"average",!1);function J1(e,t){if(!(e.J!==void 0^e.Q!==void 0))throw new Error("Conversion requires one and only one: 'J' or 'Q'");if(!(e.C!==void 0^e.M!==void 0^e.s!==void 0))throw new Error("Conversion requires one and only one: 'C', 'M' or 's'");if(!(e.h!==void 0^e.H!==void 0))throw new Error("Conversion requires one and only one: 'h' or 'H'");if(e.J===0||e.Q===0)return[0,0,0];let s=0;e.h!==void 0?s=Xo(e.h)*Mh:s=xS(e.H)*Mh;let r=Math.cos(s),o=Math.sin(s),n=0;e.J!==void 0?n=qo(e.J,1/2)*.1:e.Q!==void 0&&(n=.25*t.c*e.Q/((t.aW+4)*t.flRoot));let i=0;e.C!==void 0?i=e.C/n:e.M!==void 0?i=e.M/t.flRoot/n:e.s!==void 0&&(i=4e-4*e.s**2*(t.aW+4)/t.c);let d=qo(i*Math.pow(1.64-Math.pow(.29,t.n),-.73),10/9),c=.25*(Math.cos(s+2)+3.8),_=t.aW*qo(n,2/t.c/t.z),u=5e4/13*t.nc*t.ncb*c,m=_/t.nbb,p=23*(m+.305)*om(d,23*u+d*(11*r+108*o));return ms(mS,yS(ms(pS,[m,p*r,p*o]).map(y=>y*1/1403),t.fl).map((y,h)=>y*t.dRgbInv[h])).map(y=>y/100)}function A0(e,t){let s=T0(ms(w0,e.map(g=>g*100)).map((g,w)=>g*t.dRgb[w]),t.fl),r=s[0]+(-12*s[1]+s[2])/11,o=(s[0]+s[1]-2*s[2])/9,n=(Math.atan2(o,r)%B1+B1)%B1,i=.25*(Math.cos(n+2)+3.8),d=qo(5e4/13*t.nc*t.ncb*om(i*Math.sqrt(r**2+o**2),s[0]+s[1]+1.05*s[2]+.305),.9)*Math.pow(1.64-Math.pow(.29,t.n),.73),c=qo(t.nbb*(2*s[0]+s[1]+.05*s[2])/t.aW,.5*t.c*t.z),_=100*qo(c,2),u=4/t.c*c*(t.aW+4)*t.flRoot,m=d*c,p=m*t.flRoot,y=Xo(n*vS),h=hS(y);return{J:_,C:m,h:y,s:50*qo(t.c*d/(t.aW+4),1/2),Q:u,M:p,H:h}}var gS=new qe({id:"cam16-jmh",cssId:"--cam16-jmh",name:"CAM16-JMh",coords:{j:{refRange:[0,100],name:"J"},m:{refRange:[0,105],name:"Colorfulness"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:ar,fromBase(e){let t=A0(e,Ph);return[t.J,t.M,t.h]},toBase(e){return J1({J:e[0],M:e[1],h:e[2]},Ph)}}),bS=Tr.D65,wS=216/24389,M0=24389/27;function TS(e){return 116*(e>wS?Math.cbrt(e):(M0*e+16)/116)-16}function em(e){return e>8?Math.pow((e+16)/116,3):e/M0}function SS(e,t){let[s,r,o]=e,n=[],i=0;if(o===0)return[0,0,0];let d=em(o);o>0?i=.00379058511492914*o**2+.608983189401032*o+.9155088574762233:i=9514440756550361e-21*o**2+.08693057439788597*o-21.928975842194614;let c=2e-12,_=15,u=0,m=1/0;for(;u<=_;){n=J1({J:i,C:r,h:s},t);let p=Math.abs(n[1]-d);if(p | "," | "," | "]}}}),MS=Math.PI/180,Eh=[1,.007,.0228];function kh(e){e[1]<0&&(e=Cd.fromBase(Cd.toBase(e)));let t=Math.log(Math.max(1+Eh[2]*e[1]*dm.flRoot,1))/Eh[2],s=e[0]*MS,r=t*Math.cos(s),o=t*Math.sin(s);return[e[2],r,o]}function PS(e,t){[e,t]=yt([e,t]);let[s,r,o]=kh(Cd.from(e)),[n,i,d]=kh(Cd.from(t));return Math.sqrt((s-n)**2+(r-i)**2+(o-d)**2)}var gi={deltaE76:HT,deltaECMC:jT,deltaE2000:f0,deltaEJz:sS,deltaEITP:lS,deltaEOK:K1,deltaEHCT:PS};function ES(e){let t=e?Math.floor(Math.log10(Math.abs(e))):0;return Math.max(parseFloat(`1e${t-2}`),1e-6)}var $h={hct:{method:"hct.c",jnd:2,deltaEMethod:"hct",blackWhiteClamp:{}},"hct-tonal":{method:"hct.c",jnd:0,deltaEMethod:"hct",blackWhiteClamp:{channel:"hct.t",min:0,max:100}}};function qn(e,{method:t=to.gamut_mapping,space:s=void 0,deltaEMethod:r="",jnd:o=2,blackWhiteClamp:n={}}={}){if(e=yt(e),Rd(arguments[1])?s=arguments[1]:s||(s=e.space),s=qe.get(s),Ea(e,s,{epsilon:0}))return e;let i;if(t==="css")i=kS(e,{space:s});else{if(t!=="clip"&&!Ea(e,s)){Object.prototype.hasOwnProperty.call($h,t)&&({method:t,jnd:o,deltaEMethod:r,blackWhiteClamp:n}=$h[t]);let d=f0;if(r!==""){for(let _ in gi)if("deltae"+r.toLowerCase()===_.toLowerCase()){d=gi[_];break}}let c=qn(us(e,s),{method:"clip",space:s});if(d(e,c)>o){if(Object.keys(n).length===3){let S=qe.resolveCoord(n.channel),T=Jr(us(e,S.space),S.id);if(Vn(T)&&(T=0),T>=n.max)return us({space:"xyz-d65",coords:Tr.D65},e.space);if(T<=n.min)return us({space:"xyz-d65",coords:[0,0,0]},e.space)}let _=qe.resolveCoord(t),u=_.space,m=_.id,p=us(e,u);p.coords.forEach((S,T)=>{Vn(S)&&(p.coords[T]=0)});let y=(_.range||_.refRange)[0],h=ES(o),g=y,w=Jr(p,m);for(;w-g>h;){let S=xi(p);S=qn(S,{space:s,method:"clip"}),d(p,S)-oc.range||[]);i.coords=i.coords.map((c,_)=>{let[u,m]=d[_];return u!==void 0&&(c=Math.max(u,c)),m!==void 0&&(c=Math.min(c,m)),c})}}return s!==e.space&&(i=us(i,e.space)),e.coords=i.coords,e}qn.returns="color";var Uh={WHITE:{space:hi,coords:[1,0,0]},BLACK:{space:hi,coords:[0,0,0]}};function kS(e,{space:t}={}){e=yt(e),t||(t=e.space),t=qe.get(t);let o=qe.get("oklch");if(t.isUnbounded)return us(e,t);let n=us(e,o),i=n.coords[0];if(i>=1){let h=us(Uh.WHITE,t);return h.alpha=e.alpha,us(h,t)}if(i<=0){let h=us(Uh.BLACK,t);return h.alpha=e.alpha,us(h,t)}if(Ea(n,t,{epsilon:0}))return us(n,t);function d(h){let g=us(h,t),w=Object.values(t.coords);return g.coords=g.coords.map((S,T)=>{if("range"in w[T]){let[A,P]=w[T].range;return u0(A,S,P)}return S}),g}let c=0,_=n.coords[1],u=!0,m=xi(n),p=d(m),y=K1(p,m);if(y<.02)return p;for(;_-c>1e-4;){let h=(c+_)/2;if(m.coords[1]=h,u&&Ea(m,t,{epsilon:0}))c=h;else if(p=d(m),y=K1(p,m),y<.02){if(.02-y<1e-4)break;u=!1,c=h}else _=h}return p}function us(e,t,{inGamut:s}={}){e=yt(e),t=qe.get(t);let r=t.from(e),o={space:t,coords:r,alpha:e.alpha};return s&&(o=qn(o,s===!0?void 0:s)),o}us.returns="color";function kd(e,{precision:t=to.precision,format:s="default",inGamut:r=!0,...o}={}){let n;e=yt(e);let i=s;s=e.space.getFormat(s)??e.space.getFormat("default")??qe.DEFAULT_FORMAT;let d=e.coords.slice();if(r||=s.toGamut,r&&!Ea(e)&&(d=qn(xi(e),r===!0?void 0:r).coords),s.type==="custom")if(o.precision=t,s.serialize)n=s.serialize(d,e.alpha,o);else throw new TypeError(`format ${i} can only be used to parse colors, not for serialization`);else{let c=s.name||"color";s.serializeCoords?d=s.serializeCoords(d,t):t!==null&&(d=d.map(p=>P_(p,{precision:t})));let _=[...d];if(c==="color"){let p=s.id||s.ids?.[0]||e.space.id;_.unshift(p)}let u=e.alpha;t!==null&&(u=P_(u,{precision:t}));let m=e.alpha>=1||s.noAlpha?"":`${s.commas?",":" /"} ${u}`;n=`${c}(${_.join(s.commas?", ":" ")}${m})`}return n}var C_=new Dr({id:"rec2020-linear",cssId:"--rec2020-linear",name:"Linear REC.2020",white:"D65",toXYZ_M:[[.6369580483012914,.14461690358620832,.1688809751641721],[.2627002120112671,.6779980715188708,.05930171646986196],[0,.028072693049087428,1.060985057710791]],fromXYZ_M:[[1.716651187971268,-.355670783776392,-.25336628137366],[-.666684351832489,1.616481236634939,.0157685458139111],[.017639857445311,-.042770613257809,.942103121235474]]}),w_=1.09929682680944,Ch=.018053968510807,P0=new Dr({id:"rec2020",name:"REC.2020",base:C_,toBase(e){return e.map(function(t){return t=Ch?w_*Math.pow(t,.45)-(w_-1):4.5*t})}}),E0=new Dr({id:"p3-linear",cssId:"--display-p3-linear",name:"Linear P3",white:"D65",toXYZ_M:[[.4865709486482162,.26566769316909306,.1982172852343625],[.2289745640697488,.6917385218365064,.079286914093745],[0,.04511338185890264,1.043944368900976]],fromXYZ_M:[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]]}),$S=[[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Ds=[[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],k0=new Dr({id:"srgb-linear",name:"Linear sRGB",white:"D65",toXYZ_M:$S,fromXYZ_M:Ds}),Rh={aliceblue:[240/255,248/255,1],antiquewhite:[250/255,235/255,215/255],aqua:[0,1,1],aquamarine:[127/255,1,212/255],azure:[240/255,1,1],beige:[245/255,245/255,220/255],bisque:[1,228/255,196/255],black:[0,0,0],blanchedalmond:[1,235/255,205/255],blue:[0,0,1],blueviolet:[138/255,43/255,226/255],brown:[165/255,42/255,42/255],burlywood:[222/255,184/255,135/255],cadetblue:[95/255,158/255,160/255],chartreuse:[127/255,1,0],chocolate:[210/255,105/255,30/255],coral:[1,127/255,80/255],cornflowerblue:[100/255,149/255,237/255],cornsilk:[1,248/255,220/255],crimson:[220/255,20/255,60/255],cyan:[0,1,1],darkblue:[0,0,139/255],darkcyan:[0,139/255,139/255],darkgoldenrod:[184/255,134/255,11/255],darkgray:[169/255,169/255,169/255],darkgreen:[0,100/255,0],darkgrey:[169/255,169/255,169/255],darkkhaki:[189/255,183/255,107/255],darkmagenta:[139/255,0,139/255],darkolivegreen:[85/255,107/255,47/255],darkorange:[1,140/255,0],darkorchid:[153/255,50/255,204/255],darkred:[139/255,0,0],darksalmon:[233/255,150/255,122/255],darkseagreen:[143/255,188/255,143/255],darkslateblue:[72/255,61/255,139/255],darkslategray:[47/255,79/255,79/255],darkslategrey:[47/255,79/255,79/255],darkturquoise:[0,206/255,209/255],darkviolet:[148/255,0,211/255],deeppink:[1,20/255,147/255],deepskyblue:[0,191/255,1],dimgray:[105/255,105/255,105/255],dimgrey:[105/255,105/255,105/255],dodgerblue:[30/255,144/255,1],firebrick:[178/255,34/255,34/255],floralwhite:[1,250/255,240/255],forestgreen:[34/255,139/255,34/255],fuchsia:[1,0,1],gainsboro:[220/255,220/255,220/255],ghostwhite:[248/255,248/255,1],gold:[1,215/255,0],goldenrod:[218/255,165/255,32/255],gray:[128/255,128/255,128/255],green:[0,128/255,0],greenyellow:[173/255,1,47/255],grey:[128/255,128/255,128/255],honeydew:[240/255,1,240/255],hotpink:[1,105/255,180/255],indianred:[205/255,92/255,92/255],indigo:[75/255,0,130/255],ivory:[1,1,240/255],khaki:[240/255,230/255,140/255],lavender:[230/255,230/255,250/255],lavenderblush:[1,240/255,245/255],lawngreen:[124/255,252/255,0],lemonchiffon:[1,250/255,205/255],lightblue:[173/255,216/255,230/255],lightcoral:[240/255,128/255,128/255],lightcyan:[224/255,1,1],lightgoldenrodyellow:[250/255,250/255,210/255],lightgray:[211/255,211/255,211/255],lightgreen:[144/255,238/255,144/255],lightgrey:[211/255,211/255,211/255],lightpink:[1,182/255,193/255],lightsalmon:[1,160/255,122/255],lightseagreen:[32/255,178/255,170/255],lightskyblue:[135/255,206/255,250/255],lightslategray:[119/255,136/255,153/255],lightslategrey:[119/255,136/255,153/255],lightsteelblue:[176/255,196/255,222/255],lightyellow:[1,1,224/255],lime:[0,1,0],limegreen:[50/255,205/255,50/255],linen:[250/255,240/255,230/255],magenta:[1,0,1],maroon:[128/255,0,0],mediumaquamarine:[102/255,205/255,170/255],mediumblue:[0,0,205/255],mediumorchid:[186/255,85/255,211/255],mediumpurple:[147/255,112/255,219/255],mediumseagreen:[60/255,179/255,113/255],mediumslateblue:[123/255,104/255,238/255],mediumspringgreen:[0,250/255,154/255],mediumturquoise:[72/255,209/255,204/255],mediumvioletred:[199/255,21/255,133/255],midnightblue:[25/255,25/255,112/255],mintcream:[245/255,1,250/255],mistyrose:[1,228/255,225/255],moccasin:[1,228/255,181/255],navajowhite:[1,222/255,173/255],navy:[0,0,128/255],oldlace:[253/255,245/255,230/255],olive:[128/255,128/255,0],olivedrab:[107/255,142/255,35/255],orange:[1,165/255,0],orangered:[1,69/255,0],orchid:[218/255,112/255,214/255],palegoldenrod:[238/255,232/255,170/255],palegreen:[152/255,251/255,152/255],paleturquoise:[175/255,238/255,238/255],palevioletred:[219/255,112/255,147/255],papayawhip:[1,239/255,213/255],peachpuff:[1,218/255,185/255],peru:[205/255,133/255,63/255],pink:[1,192/255,203/255],plum:[221/255,160/255,221/255],powderblue:[176/255,224/255,230/255],purple:[128/255,0,128/255],rebeccapurple:[102/255,51/255,153/255],red:[1,0,0],rosybrown:[188/255,143/255,143/255],royalblue:[65/255,105/255,225/255],saddlebrown:[139/255,69/255,19/255],salmon:[250/255,128/255,114/255],sandybrown:[244/255,164/255,96/255],seagreen:[46/255,139/255,87/255],seashell:[1,245/255,238/255],sienna:[160/255,82/255,45/255],silver:[192/255,192/255,192/255],skyblue:[135/255,206/255,235/255],slateblue:[106/255,90/255,205/255],slategray:[112/255,128/255,144/255],slategrey:[112/255,128/255,144/255],snow:[1,250/255,250/255],springgreen:[0,1,127/255],steelblue:[70/255,130/255,180/255],tan:[210/255,180/255,140/255],teal:[0,128/255,128/255],thistle:[216/255,191/255,216/255],tomato:[1,99/255,71/255],turquoise:[64/255,224/255,208/255],violet:[238/255,130/255,238/255],wheat:[245/255,222/255,179/255],white:[1,1,1],whitesmoke:[245/255,245/255,245/255],yellow:[1,1,0],yellowgreen:[154/255,205/255,50/255]},zh=Array(3).fill(" | [0, 255]"),Gh=Array(3).fill("[0, 255]"),bi=new Dr({id:"srgb",name:"sRGB",base:k0,fromBase:e=>e.map(t=>{let s=t<0?-1:1,r=t*s;return r>.0031308?s*(1.055*r**(1/2.4)-.055):12.92*t}),toBase:e=>e.map(t=>{let s=t<0?-1:1,r=t*s;return r<=.04045?t/12.92:s*((r+.055)/1.055)**2.4}),formats:{rgb:{coords:zh},rgb_number:{name:"rgb",commas:!0,coords:Gh,noAlpha:!0},color:{},rgba:{coords:zh,commas:!0,lastAlpha:!0},rgba_number:{name:"rgba",commas:!0,coords:Gh},hex:{type:"custom",toGamut:!0,test:e=>/^#([a-f0-9]{3,4}){1,2}$/i.test(e),parse(e){e.length<=5&&(e=e.replace(/[a-f0-9]/gi,"$&$&"));let t=[];return e.replace(/[a-f0-9]{2}/gi,s=>{t.push(parseInt(s,16)/255)}),{spaceId:"srgb",coords:t.slice(0,3),alpha:t.slice(3)[0]}},serialize:(e,t,{collapse:s=!0}={})=>{t<1&&e.push(t),e=e.map(o=>Math.round(o*255));let r=s&&e.every(o=>o%17===0);return"#"+e.map(o=>r?(o/17).toString(16):o.toString(16).padStart(2,"0")).join("")}},keyword:{type:"custom",test:e=>/^[a-z]+$/i.test(e),parse(e){e=e.toLowerCase();let t={spaceId:"srgb",coords:null,alpha:1};if(e==="transparent"?(t.coords=Rh.black,t.alpha=0):t.coords=Rh[e],t.coords)return t}}}}),$0=new Dr({id:"p3",cssId:"display-p3",name:"P3",base:E0,fromBase:bi.fromBase,toBase:bi.toBase});to.display_space=bi;var US;if(typeof CSS<"u"&&CSS.supports)for(let e of[eo,P0,$0]){let t=kd({space:e,coords:e.getMinCoords(),alpha:1});if(CSS.supports("color",t)){to.display_space=e;break}}function CS(e,{space:t=to.display_space,...s}={}){let r=kd(e,s);if(typeof CSS>"u"||CSS.supports("color",r)||!to.display_space)r=new String(r),r.color=e;else{let o=e;if((e.coords.some(Vn)||Vn(e.alpha))&&!(US??=CSS.supports("color","hsl(none 50% 50%)"))&&(o=xi(e),o.coords=o.coords.map(Cs),o.alpha=Cs(o.alpha),r=kd(o,s),CSS.supports("color",r)))return r=new String(r),r.color=o,r;o=us(o,t),r=new String(kd(o,s)),r.color=o}return r}function RS(e,t){return e=yt(e),t=yt(t),e.space===t.space&&e.alpha===t.alpha&&e.coords.every((s,r)=>s===t.coords[r])}function Xn(e){return Jr(e,[ar,"y"])}function U0(e,t){pn(e,[ar,"y"],t)}function zS(e){Object.defineProperty(e.prototype,"luminance",{get(){return Xn(this)},set(t){U0(this,t)}})}var GS=Object.freeze({__proto__:null,getLuminance:Xn,register:zS,setLuminance:U0});function YS(e,t){e=yt(e),t=yt(t);let s=Math.max(Xn(e),0),r=Math.max(Xn(t),0);return r>s&&([s,r]=[r,s]),(s+.05)/(r+.05)}var LS=.56,IS=.57,DS=.62,FS=.65,Yh=.022,BS=1.414,WS=.1,OS=5e-4,VS=1.14,Lh=.027,NS=1.14;function Ih(e){return e>=Yh?e:e+(Yh-e)**BS}function fi(e){let t=e<0?-1:1,s=Math.abs(e);return t*Math.pow(s,2.4)}function qS(e,t){t=yt(t),e=yt(e);let s,r,o,n,i,d;t=us(t,"srgb"),[n,i,d]=t.coords;let c=fi(n)*.2126729+fi(i)*.7151522+fi(d)*.072175;e=us(e,"srgb"),[n,i,d]=e.coords;let _=fi(n)*.2126729+fi(i)*.7151522+fi(d)*.072175,u=Ih(c),m=Ih(_),p=m>u;return Math.abs(m-u)0?o=r-Lh:o=r+Lh,o*100}function XS(e,t){e=yt(e),t=yt(t);let s=Math.max(Xn(e),0),r=Math.max(Xn(t),0);r>s&&([s,r]=[r,s]);let o=s+r;return o===0?0:(s-r)/o}var HS=5e4;function jS(e,t){e=yt(e),t=yt(t);let s=Math.max(Xn(e),0),r=Math.max(Xn(t),0);return r>s&&([s,r]=[r,s]),r===0?HS:(s-r)/r}function KS(e,t){e=yt(e),t=yt(t);let s=Jr(e,[eo,"l"]),r=Jr(t,[eo,"l"]);return Math.abs(s-r)}var ZS=216/24389,Dh=24/116,T_=24389/27,W1=Tr.D65,tm=new qe({id:"lab-d65",name:"Lab D65",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:W1,base:ar,fromBase(e){let t=e.map((s,r)=>s/W1[r]).map(s=>s>ZS?Math.cbrt(s):(T_*s+16)/116);return[116*t[1]-16,500*(t[0]-t[1]),200*(t[1]-t[2])]},toBase(e){let t=[];return t[1]=(e[0]+16)/116,t[0]=e[1]/500+t[1],t[2]=t[1]-e[2]/200,[t[0]>Dh?Math.pow(t[0],3):(116*t[0]-16)/T_,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/T_,t[2]>Dh?Math.pow(t[2],3):(116*t[2]-16)/T_].map((s,r)=>s*W1[r])},formats:{"lab-d65":{coords:[" | "," | [-1,1]"," | [-1,1]"]}}}),O1=Math.pow(5,.5)*.5+.5;function QS(e,t){e=yt(e),t=yt(t);let s=Jr(e,[tm,"l"]),r=Jr(t,[tm,"l"]),o=Math.abs(Math.pow(s,O1)-Math.pow(r,O1)),n=Math.pow(o,1/O1)*Math.SQRT2-40;return n<7.5?0:n}var M_=Object.freeze({__proto__:null,contrastAPCA:qS,contrastDeltaPhi:QS,contrastLstar:KS,contrastMichelson:XS,contrastWCAG21:YS,contrastWeber:jS});function JS(e,t,s={}){Rd(s)&&(s={algorithm:s});let{algorithm:r,...o}=s;if(!r){let n=Object.keys(M_).map(i=>i.replace(/^contrast/,"")).join(", ");throw new TypeError(`contrast() function needs a contrast algorithm. Please specify one of: ${n}`)}e=yt(e),t=yt(t);for(let n in M_)if("contrast"+r.toLowerCase()===n.toLowerCase())return M_[n](e,t,o);throw new TypeError(`Unknown contrast algorithm: ${r}`)}function R_(e){let[t,s,r]=zd(e,ar),o=t+15*s+3*r;return[4*t/o,9*s/o]}function C0(e){let[t,s,r]=zd(e,ar),o=t+s+r;return[t/o,s/o]}function eA(e){Object.defineProperty(e.prototype,"uv",{get(){return R_(this)}}),Object.defineProperty(e.prototype,"xy",{get(){return C0(this)}})}var tA=Object.freeze({__proto__:null,register:eA,uv:R_,xy:C0});function Ed(e,t,s={}){Rd(s)&&(s={method:s});let{method:r=to.deltaE,...o}=s;for(let n in gi)if("deltae"+r.toLowerCase()===n.toLowerCase())return gi[n](e,t,o);throw new TypeError(`Unknown deltaE method: ${r}`)}function sA(e,t=.25){return pn(e,[qe.get("oklch","lch"),"l"],s=>s*(1+t))}function rA(e,t=.25){return pn(e,[qe.get("oklch","lch"),"l"],s=>s*(1-t))}var oA=Object.freeze({__proto__:null,darken:rA,lighten:sA});function R0(e,t,s=.5,r={}){return[e,t]=[yt(e),yt(t)],On(s)==="object"&&([s,r]=[.5,s]),Gd(e,t,r)(s)}function z0(e,t,s={}){let r;cm(e)&&([r,s]=[e,t],[e,t]=r.rangeArgs.colors);let{maxDeltaE:o,deltaEMethod:n,steps:i=2,maxSteps:d=1e3,...c}=s;r||([e,t]=[yt(e),yt(t)],r=Gd(e,t,c));let _=Ed(e,t),u=o>0?Math.max(i,Math.ceil(_/o)+1):i,m=[];if(d!==void 0&&(u=Math.min(u,d)),u===1)m=[{p:.5,color:r(.5)}];else{let p=1/(u-1);m=Array.from({length:u},(y,h)=>{let g=h*p;return{p:g,color:r(g)}})}if(o>0){let p=m.reduce((y,h,g)=>{if(g===0)return 0;let w=Ed(h.color,m[g-1].color,n);return Math.max(y,w)},0);for(;p>o;){p=0;for(let y=1;yp.color),m}function Gd(e,t,s={}){if(cm(e)){let[c,_]=[e,t];return Gd(...c.rangeArgs.colors,{...c.rangeArgs.options,..._})}let{space:r,outputSpace:o,progression:n,premultiplied:i}=s;e=yt(e),t=yt(t),e=xi(e),t=xi(t);let d={colors:[e,t],options:s};if(r?r=qe.get(r):r=qe.registry[to.interpolationSpace]||e.space,o=o?qe.get(o):r,e=us(e,r),t=us(t,r),e=qn(e),t=qn(t),r.coords.h&&r.coords.h.type==="angle"){let c=s.hue=s.hue||"shorter",_=[r,"h"],[u,m]=[Jr(e,_),Jr(t,_)];isNaN(u)&&!isNaN(m)?u=m:isNaN(m)&&!isNaN(u)&&(m=u),[u,m]=WT(c,[u,m]),pn(e,_,u),pn(t,_,m)}return i&&(e.coords=e.coords.map(c=>c*e.alpha),t.coords=t.coords.map(c=>c*t.alpha)),Object.assign(c=>{c=n?n(c):c;let _=e.coords.map((p,y)=>{let h=t.coords[y];return $d(p,h,c)}),u=$d(e.alpha,t.alpha,c),m={space:r,coords:_,alpha:u};return i&&(m.coords=m.coords.map(p=>p/u)),o!==r&&(m=us(m,o)),m},{rangeArgs:d})}function cm(e){return On(e)==="function"&&!!e.rangeArgs}to.interpolationSpace="lab";function nA(e){e.defineFunction("mix",R0,{returns:"color"}),e.defineFunction("range",Gd,{returns:"function"}),e.defineFunction("steps",z0,{returns:"array"})}var aA=Object.freeze({__proto__:null,isRange:cm,mix:R0,range:Gd,register:nA,steps:z0}),G0=new qe({id:"hsl",name:"HSL",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:bi,fromBase:e=>{let t=Math.max(...e),s=Math.min(...e),[r,o,n]=e,[i,d,c]=[NaN,0,(s+t)/2],_=t-s;if(_!==0){switch(d=c===0||c===1?0:(t-c)/Math.min(c,1-c),t){case r:i=(o-n)/_+(o=360&&(i-=360),[i,d*100,c*100]},toBase:e=>{let[t,s,r]=e;t=t%360,t<0&&(t+=360),s/=100,r/=100;function o(n){let i=(n+t/30)%12,d=s*Math.min(r,1-r);return r-d*Math.max(-1,Math.min(i-3,9-i,1))}return[o(0),o(8),o(4)]},formats:{hsl:{coords:[" | ","",""]},hsla:{coords:[" | ","",""],commas:!0,lastAlpha:!0}}}),Y0=new qe({id:"hsv",name:"HSV",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},v:{range:[0,100],name:"Value"}},base:G0,fromBase(e){let[t,s,r]=e;s/=100,r/=100;let o=r+s*Math.min(r,1-r);return[t,o===0?0:200*(1-r/o),100*o]},toBase(e){let[t,s,r]=e;s/=100,r/=100;let o=r*(1-s/2);return[t,o===0||o===1?0:(r-o)/Math.min(o,1-o)*100,o*100]},formats:{color:{id:"--hsv",coords:[" | "," | "," | "]}}}),iA=new qe({id:"hwb",name:"HWB",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},w:{range:[0,100],name:"Whiteness"},b:{range:[0,100],name:"Blackness"}},base:Y0,fromBase(e){let[t,s,r]=e;return[t,r*(100-s)/100,100-r]},toBase(e){let[t,s,r]=e;s/=100,r/=100;let o=s+r;if(o>=1)return[t,0,s/o*100];let n=1-r;return[t,(n===0?0:1-s/n)*100,n*100]},formats:{hwb:{coords:[" | "," | "," | "]}}}),L0=new Dr({id:"a98rgb-linear",cssId:"--a98-rgb-linear",name:"Linear Adobe\xAE 98 RGB compatible",white:"D65",toXYZ_M:[[.5766690429101305,.1855582379065463,.1882286462349947],[.29734497525053605,.6273635662554661,.07529145849399788],[.02703136138641234,.07068885253582723,.9913375368376388]],fromXYZ_M:[[2.0415879038107465,-.5650069742788596,-.34473135077832956],[-.9692436362808795,1.8759675015077202,.04155505740717557],[.013444280632031142,-.11836239223101838,1.0151749943912054]]}),dA=new Dr({id:"a98rgb",cssId:"a98-rgb",name:"Adobe\xAE 98 RGB compatible",base:L0,toBase:e=>e.map(t=>Math.pow(Math.abs(t),563/256)*Math.sign(t)),fromBase:e=>e.map(t=>Math.pow(Math.abs(t),256/563)*Math.sign(t))}),I0=new Dr({id:"prophoto-linear",cssId:"--prophoto-rgb-linear",name:"Linear ProPhoto",white:"D50",base:am,toXYZ_M:[[.7977666449006423,.13518129740053308,.0313477341283922],[.2880748288194013,.711835234241873,8993693872564e-17],[0,0,.8251046025104602]],fromXYZ_M:[[1.3457868816471583,-.25557208737979464,-.05110186497554526],[-.5446307051249019,1.5082477428451468,.02052744743642139],[0,0,1.2119675456389452]]}),cA=1/512,_A=16/512,lA=new Dr({id:"prophoto",cssId:"prophoto-rgb",name:"ProPhoto",base:I0,toBase(e){return e.map(t=>t<_A?t/16:t**1.8)},fromBase(e){return e.map(t=>t>=cA?t**(1/1.8):16*t)}}),uA=new qe({id:"oklch",name:"Oklch",coords:{l:{refRange:[0,1],name:"Lightness"},c:{refRange:[0,.4],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},white:"D65",base:hi,fromBase(e){let[t,s,r]=e,o,n=2e-4;return Math.abs(s) | "," | [0,1]"," | "]}}}),D0=Tr.D65,mA=216/24389,Fh=24389/27,[Bh,Wh]=R_({space:ar,coords:D0}),F0=new qe({id:"luv",name:"Luv",coords:{l:{refRange:[0,100],name:"Lightness"},u:{refRange:[-215,215]},v:{refRange:[-215,215]}},white:D0,base:ar,fromBase(e){let t=[Cs(e[0]),Cs(e[1]),Cs(e[2])],s=t[1],[r,o]=R_({space:ar,coords:t});if(!Number.isFinite(r)||!Number.isFinite(o))return[0,0,0];let n=s<=mA?Fh*s:116*Math.cbrt(s)-16;return[n,13*n*(r-Bh),13*n*(o-Wh)]},toBase(e){let[t,s,r]=e;if(t===0||Vn(t))return[0,0,0];s=Cs(s),r=Cs(r);let o=s/(13*t)+Bh,n=r/(13*t)+Wh,i=t<=8?t/Fh:Math.pow((t+16)/116,3);return[i*(9*o/(4*n)),i,i*((12-3*o-20*n)/(4*n))]},formats:{color:{id:"--luv",coords:[" | "," | [-1,1]"," | [-1,1]"]}}}),_m=new qe({id:"lchuv",name:"LChuv",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,220],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:F0,fromBase(e){let[t,s,r]=e,o,n=.02;return Math.abs(s) | "," | "," | "]}}}),pA=216/24389,fA=24389/27,Oh=Ds[0][0],Vh=Ds[0][1],V1=Ds[0][2],Nh=Ds[1][0],qh=Ds[1][1],N1=Ds[1][2],Xh=Ds[2][0],Hh=Ds[2][1],q1=Ds[2][2];function vi(e,t,s){let r=t/(Math.sin(s)-e*Math.cos(s));return r<0?1/0:r}function $_(e){let t=Math.pow(e+16,3)/1560896,s=t>pA?t:e/fA,r=s*(284517*Oh-94839*V1),o=s*(838422*V1+769860*Vh+731718*Oh),n=s*(632260*V1-126452*Vh),i=s*(284517*Nh-94839*N1),d=s*(838422*N1+769860*qh+731718*Nh),c=s*(632260*N1-126452*qh),_=s*(284517*Xh-94839*q1),u=s*(838422*q1+769860*Hh+731718*Xh),m=s*(632260*q1-126452*Hh);return{r0s:r/n,r0i:o*e/n,r1s:r/(n+126452),r1i:(o-769860)*e/(n+126452),g0s:i/c,g0i:d*e/c,g1s:i/(c+126452),g1i:(d-769860)*e/(c+126452),b0s:_/m,b0i:u*e/m,b1s:_/(m+126452),b1i:(u-769860)*e/(m+126452)}}function jh(e,t){let s=t/360*Math.PI*2,r=vi(e.r0s,e.r0i,s),o=vi(e.r1s,e.r1i,s),n=vi(e.g0s,e.g0i,s),i=vi(e.g1s,e.g1i,s),d=vi(e.b0s,e.b0i,s),c=vi(e.b1s,e.b1i,s);return Math.min(r,o,n,i,d,c)}var vA=new qe({id:"hsluv",name:"HSLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:_m,gamutSpace:bi,fromBase(e){let[t,s,r]=[Cs(e[0]),Cs(e[1]),Cs(e[2])],o;return t>99.9999999?(o=0,t=100):t<1e-8?(o=0,t=0):o=s/jh($_(t),r)*100,[r,o,t]},toBase(e){let[t,s,r]=[Cs(e[0]),Cs(e[1]),Cs(e[2])],o;return r>99.9999999?(r=100,o=0):r<1e-8?(r=0,o=0):o=jh($_(r),t)/100*s,[r,o,t]},formats:{color:{id:"--hsluv",coords:[" | "," | "," | "]}}});Ds[0][0];Ds[0][1];Ds[0][2];Ds[1][0];Ds[1][1];Ds[1][2];Ds[2][0];Ds[2][1];Ds[2][2];function yi(e,t){return Math.abs(t)/Math.sqrt(Math.pow(e,2)+1)}function Kh(e){let t=yi(e.r0s,e.r0i),s=yi(e.r1s,e.r1i),r=yi(e.g0s,e.g0i),o=yi(e.g1s,e.g1i),n=yi(e.b0s,e.b0i),i=yi(e.b1s,e.b1i);return Math.min(t,s,r,o,n,i)}var yA=new qe({id:"hpluv",name:"HPLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:_m,gamutSpace:"self",fromBase(e){let[t,s,r]=[Cs(e[0]),Cs(e[1]),Cs(e[2])],o;return t>99.9999999?(o=0,t=100):t<1e-8?(o=0,t=0):o=s/Kh($_(t))*100,[r,o,t]},toBase(e){let[t,s,r]=[Cs(e[0]),Cs(e[1]),Cs(e[2])],o;return r>99.9999999?(r=100,o=0):r<1e-8?(r=0,o=0):o=Kh($_(r))/100*s,[r,o,t]},formats:{color:{id:"--hpluv",coords:[" | "," | "," | "]}}}),Zh=203,Qh=2610/2**14,hA=2**14/2610,xA=2523/2**5,Jh=2**5/2523,e0=3424/2**12,t0=2413/2**7,s0=2392/2**7,gA=new Dr({id:"rec2100pq",cssId:"rec2100-pq",name:"REC.2100-PQ",base:C_,toBase(e){return e.map(function(t){return(Math.max(t**Jh-e0,0)/(t0-s0*t**Jh))**hA*1e4/Zh})},fromBase(e){return e.map(function(t){let s=Math.max(t*Zh/1e4,0);return((e0+t0*s**Qh)/(1+s0*s**Qh))**xA})}}),r0=.17883277,o0=.28466892,n0=.55991073,X1=3.7743,bA=new Dr({id:"rec2100hlg",cssId:"rec2100-hlg",name:"REC.2100-HLG",referred:"scene",base:C_,toBase(e){return e.map(function(t){return t<=.5?t**2/3*X1:(Math.exp((t-n0)/r0)+o0)/12*X1})},fromBase(e){return e.map(function(t){return t/=X1,t<=1/12?Math.sqrt(3*t):r0*Math.log(12*t-o0)+n0})}}),B0={};Nn.add("chromatic-adaptation-start",e=>{e.options.method&&(e.M=W0(e.W1,e.W2,e.options.method))});Nn.add("chromatic-adaptation-end",e=>{e.M||(e.M=W0(e.W1,e.W2,e.options.method))});function z_({id:e,toCone_M:t,fromCone_M:s}){B0[e]=arguments[0]}function W0(e,t,s="Bradford"){let r=B0[s],[o,n,i]=ms(r.toCone_M,e),[d,c,_]=ms(r.toCone_M,t),u=ms([[d/o,0,0],[0,c/n,0],[0,0,_/i]],r.toCone_M);return ms(r.fromCone_M,u)}z_({id:"von Kries",toCone_M:[[.40024,.7076,-.08081],[-.2263,1.16532,.0457],[0,0,.91822]],fromCone_M:[[1.8599363874558397,-1.1293816185800916,.21989740959619328],[.3611914362417676,.6388124632850422,-6370596838649899e-21],[0,0,1.0890636230968613]]});z_({id:"Bradford",toCone_M:[[.8951,.2664,-.1614],[-.7502,1.7135,.0367],[.0389,-.0685,1.0296]],fromCone_M:[[.9869929054667121,-.14705425642099013,.15996265166373122],[.4323052697233945,.5183602715367774,.049291228212855594],[-.00852866457517732,.04004282165408486,.96848669578755]]});z_({id:"CAT02",toCone_M:[[.7328,.4296,-.1624],[-.7036,1.6975,.0061],[.003,.0136,.9834]],fromCone_M:[[1.0961238208355142,-.27886900021828726,.18274517938277307],[.4543690419753592,.4735331543074117,.07209780371722911],[-.009627608738429355,-.00569803121611342,1.0153256399545427]]});z_({id:"CAT16",toCone_M:[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],fromCone_M:[[1.862067855087233,-1.0112546305316845,.14918677544445172],[.3875265432361372,.6214474419314753,-.008973985167612521],[-.01584149884933386,-.03412293802851557,1.0499644368778496]]});Object.assign(Tr,{A:[1.0985,1,.35585],C:[.98074,1,1.18232],D55:[.95682,1,.92149],D75:[.94972,1,1.22638],E:[1,1,1],F2:[.99186,1,.67393],F7:[.95041,1,1.08747],F11:[1.00962,1,.6435]});Tr.ACES=[.32168/.33767,1,.34065/.33767];var O0=new Dr({id:"acescg",cssId:"--acescg",name:"ACEScg",coords:{r:{range:[0,65504],name:"Red"},g:{range:[0,65504],name:"Green"},b:{range:[0,65504],name:"Blue"}},referred:"scene",white:Tr.ACES,toXYZ_M:[[.6624541811085053,.13400420645643313,.1561876870049078],[.27222871678091454,.6740817658111484,.05368951740793705],[-.005574649490394108,.004060733528982826,1.0103391003129971]],fromXYZ_M:[[1.6410233796943257,-.32480329418479,-.23642469523761225],[-.6636628587229829,1.6153315916573379,.016756347685530137],[.011721894328375376,-.008284441996237409,.9883948585390215]]}),S_=2**-16,H1=-.35828683,A_=(Math.log2(65504)+9.72)/17.52,wA=new Dr({id:"acescc",cssId:"--acescc",name:"ACEScc",coords:{r:{range:[H1,A_],name:"Red"},g:{range:[H1,A_],name:"Green"},b:{range:[H1,A_],name:"Blue"}},referred:"scene",base:O0,toBase(e){let t=-.3013698630136986;return e.map(function(s){return s<=t?(2**(s*17.52-9.72)-S_)*2:s1||n===void 0?1:n<0?0:n;for(let i=0;ithis.get(i),set:d=>this.set(i,d)})}get spaceId(){return this.space.id}clone(){return new Ir(this.space,this.coords,this.alpha)}toJSON(){return{spaceId:this.spaceId,coords:this.coords,alpha:this.alpha}}display(...t){let s=CS(this,...t);return s.color=new Ir(s.color),s}static get(t,...s){return t instanceof Ir?t:new Ir(t,...s)}static defineFunction(t,s,r=s){let{instance:o=!0,returns:n}=r,i=function(...d){let c=s(...d);if(n==="color")c=Ir.get(c);else if(n==="function"){let _=c;c=function(...u){let m=_(...u);return Ir.get(m)},Object.assign(c,_)}else n==="array"&&(c=c.map(_=>Ir.get(_)));return c};t in Ir||(Ir[t]=i),o&&(Ir.prototype[t]=function(...d){return i(this,...d)})}static defineFunctions(t){for(let s in t)Ir.defineFunction(s,t[s],t[s])}static extend(t){if(t.register)t.register(Ir);else for(let s in t)Ir.defineFunction(s,t[s])}};Sr.defineFunctions({get:Jr,getAll:zd,set:pn,setAll:nm,to:us,equals:RS,inGamut:Ea,toGamut:qn,distance:v0,toString:kd});Object.assign(Sr,{util:YT,hooks:Nn,WHITES:Tr,Space:qe,spaces:qe.registry,parse:p0,defaults:to});for(let e of Object.keys(a0))qe.register(a0[e]);for(let e in qe.registry)sm(e,qe.registry[e]);Nn.add("colorspace-init-end",e=>{sm(e.id,e),e.aliases?.forEach(t=>{sm(t,e)})});function sm(e,t){let s=e.replace(/-/g,"_");Object.defineProperty(Sr.prototype,s,{get(){let r=this.getAll(e);return typeof Proxy>"u"?r:new Proxy(r,{has:(o,n)=>{try{return qe.resolveCoord([t,n]),!0}catch{}return Reflect.has(o,n)},get:(o,n,i)=>{if(n&&typeof n!="symbol"&&!(n in o)){let{index:d}=qe.resolveCoord([t,n]);if(d>=0)return o[d]}return Reflect.get(o,n,i)},set:(o,n,i,d)=>{if(n&&typeof n!="symbol"&&!(n in o)||n>=0){let{index:c}=qe.resolveCoord([t,n]);if(c>=0)return o[c]=i,this.setAll(e,o),!0}return Reflect.set(o,n,i,d)}})},set(r){this.setAll(e,r)},configurable:!0,enumerable:!0})}Sr.extend(gi);Sr.extend({deltaE:Ed});Object.assign(Sr,{deltaEMethods:gi});Sr.extend(oA);Sr.extend({contrast:JS});Sr.extend(tA);Sr.extend(GS);Sr.extend(aA);Sr.extend(M_);var V0="p3-linear",N0=e=>{V0=e};function TA(e){try{let t=new Sr(e),s=V0==="srgb"?"srgb-linear":"p3-linear",r=t.to(s).coords,o=Number(t.alpha);return{r:Number.isFinite(r?.[0])?r[0]:0,g:Number.isFinite(r?.[1])?r[1]:0,b:Number.isFinite(r?.[2])?r[2]:0,a:Number.isFinite(o)?o:1}}catch{return{r:0,g:0,b:0,a:0}}}var ts=e=>TA(e),ho=e=>{let t=.5,s=.5,r=(n,i=!1)=>{if(typeof n=="number")return n;if(typeof n=="object"&&n!==null)return n.value;let d=n.toLowerCase().trim();if(i){if(d==="top")return 0;if(d==="bottom")return 1;if(d==="center")return .5}else{if(d==="left")return 0;if(d==="right")return 1;if(d==="center")return .5}return console.warn(`Invalid position value: ${n}. Defaulting to center.`),.5};if(typeof e=="string"){let n=e.toLowerCase().trim().split(/\s+/);n.includes("left")?t=0:n.includes("right")?t=1:(n.includes("center")||n.length===1&&(n[0]==="top"||n[0]==="bottom"))&&(t=.5),n.includes("top")?s=0:n.includes("bottom")?s=1:(n.includes("center")||n.length===1&&(n[0]==="left"||n[0]==="right"))&&(s=.5),n.length===1&&n[0]==="center"&&(t=.5,s=.5)}else typeof e=="object"&&e!==null?(t=r(e.x,!1),s=r(e.y,!0)):console.warn(`Invalid position value provided: ${e}. Defaulting to center.`);let o=1-s;return{x:t,y:o}};var q0=e=>({outside:0,center:1,inside:2})[e?.toLowerCase()]??1,Ho=[{label:"Linear RGB",value:"linear"},{label:"OKLCh",value:"oklch"},{label:"OKLAB",value:"oklab"},{label:"HSL",value:"hsl"},{label:"HSV",value:"hsv"},{label:"LCH",value:"lch"}],ir=e=>{let t={linear:0,oklch:1,oklab:2,hsl:3,hsv:4,lch:5}[e.toLowerCase()];return t===void 0?(console.warn(`Invalid color space mode: ${e}. Defaulting to 'linear'.`),0):t};var SA=Object.defineProperty,Za=e=>{let t={};for(var s in e)SA(t,s,{get:e[s],enumerable:!0});return t};function so(e){typeof Symbol[e]>"u"&&Object.defineProperty(Symbol,e,{value:Symbol.for(`Symbol.${e}`),writable:!1,enumerable:!1,configurable:!1})}function X0(e,t){return typeof e?.[t]=="function"}function ad(e,t,s,r){let o=dr.deferOperation;return X0(e,s)&&(o=e[s](e,t)),o===dr.deferOperation&&X0(t,s)&&(o=t[s](e,t)),o===dr.deferOperation?r(e,t):o}var AA=(e,t)=>e+t;function MA(e,t){return(typeof e=="number"||typeof e=="string")&&(typeof t=="number"||typeof t=="string")?e+t:ad(e,t,dr.plus,AA)}var PA=(e,t)=>e-t;function EA(e,t){return typeof e=="number"&&typeof t=="number"?e-t:ad(e,t,dr.minus,PA)}var kA=(e,t)=>e*t;function $A(e,t){return typeof e=="number"&&typeof t=="number"?e*t:ad(e,t,dr.star,kA)}var UA=(e,t)=>e/t;function CA(e,t){return typeof e=="number"&&typeof t=="number"?e/t:ad(e,t,dr.slash,UA)}var RA=(e,t)=>e**t;function zA(e,t){return typeof e=="number"&&typeof t=="number"?e**t:ad(e,t,dr.starStar,RA)}var GA=(e,t)=>e%t;function YA(e,t){return typeof e=="number"&&typeof t=="number"?e%t:ad(e,t,dr.percent,GA)}var dr=(so("deferOperation"),so("operatorPlus"),so("operatorMinus"),so("operatorStar"),so("operatorSlash"),so("operatorStarStar"),so("operatorPercent"),so("operatorEqEq"),so("operatorPrePlusPlus"),so("operatorPreMinusMinus"),so("operatorPostPlusPlus"),so("operatorPostMinusMinus"),so("operatorPreMinus"),globalThis.__tsover_add=MA,globalThis.__tsover_sub=EA,globalThis.__tsover_mul=$A,globalThis.__tsover_div=CA,globalThis.__tsover_pow=zA,globalThis.__tsover_mod=YA,{deferOperation:Symbol.deferOperation,plus:Symbol.operatorPlus,minus:Symbol.operatorMinus,star:Symbol.operatorStar,slash:Symbol.operatorSlash,starStar:Symbol.operatorStarStar,percent:Symbol.operatorPercent,eqEq:Symbol.operatorEqEq,prePlusPlus:Symbol.operatorPrePlusPlus,preMinusMinus:Symbol.operatorPreMinusMinus,postPlusPlus:Symbol.operatorPostPlusPlus,postMinusMinus:Symbol.operatorPostMinusMinus,preMinus:Symbol.operatorPreMinus}),$u=!1,zf=!1,js="0.12.3",B=Symbol(`typegpu:${js}:$internal`),me=Symbol(`typegpu:${js}:$soul`),Hr=Symbol(`typegpu:${js}:$gpuValueOf`),Xs=Symbol(`typegpu:${js}:$getNameForward`),Mr=Symbol(`typegpu:${js}:$providing`),oa=Symbol(`typegpu:${js}:$ownSnippet`),kt=Symbol(`typegpu:${js}:$resolve`),Gf=Symbol(`typegpu:${js}:$cast`),zs=Symbol(`typegpu:${js}:$gpuCallable`),id=Symbol(`typegpu:${js}:$repr`);`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;`${js}`;function mt(e){return!!e?.[B]}var _s={[B]:{},type:"void",toString(){return"void"}},LA=["bool","f32","f16","i32","u32","u16","vec2f","vec2h","vec2i","vec2u","vec2","vec3f","vec3h","vec3i","vec3u","vec3","vec4f","vec4h","vec4i","vec4u","vec4","mat2x2f","mat3x3f","mat4x4f","struct","array","ptr","atomic","decorated","abstractInt","abstractFloat","void","texture_1d","texture_storage_1d","texture_2d","texture_storage_2d","texture_multisampled_2d","texture_depth_2d","texture_depth_multisampled_2d","texture_2d_array","texture_storage_2d_array","texture_depth_2d_array","texture_cube","texture_depth_cube","texture_cube_array","texture_depth_cube_array","texture_3d","texture_storage_3d","texture_external","sampler","sampler_comparison"];function lr(e){let t=e;return mt(t)&&typeof t.kind=="string"&&t.kind.startsWith("vec")}function IA(e){return lr(e)&&e.kind.includes("b")}function DA(e){let t=e;return mt(t)&&typeof t.type=="string"&&t.type.startsWith("vec2")}function FA(e){let t=e;return mt(t)&&typeof t.type=="string"&&t.type.startsWith("vec3")}function BA(e){let t=e;return mt(t)&&typeof t.type=="string"&&t.type.startsWith("vec4")}function Rt(e){return DA(e)||FA(e)||BA(e)}function Yf(e){return Rt(e)&&e.type.includes("b")}function Do(e){let t=e;return mt(t)&&typeof t.kind?.startsWith=="function"&&t.kind.startsWith("mat")}function Kb(e){return mt(e)&&e?.type==="mat2x2f"}function Zb(e){return mt(e)&&e?.type==="mat3x3f"}function WA(e){return mt(e)&&e?.type==="mat4x4f"}function rn(e){return Kb(e)||Zb(e)||WA(e)}function Qb(e){return mt(e)&&["abstractInt","i32","u32"].includes(e?.type)}function OA(e){return Rt(e)&&Qb(e.primitive)}function H0(e){return lr(e)&&["vec2f","vec3f","vec4f"].includes(e.kind)}function bl(e){return lr(e)&&/[iu]$/.test(e.kind)}function Jb(e){return lr(e)&&/[u]$/.test(e.kind)}function Qa(e){return mt(e)&&LA.includes(e?.type)}function Us(e){return mt(e)&&e?.type==="array"}function Qt(e){return mt(e)&&e?.type==="struct"}function pr(e){return mt(e)&&e?.type==="ptr"}function Uu(e){return mt(e)&&e?.type==="atomic"}function e2(e){return mt(e)&&e?.type==="@align"}function t2(e){return mt(e)&&e?.type==="@size"}function s2(e){return mt(e)&&e?.type==="@location"}function VA(e){return mt(e)&&e?.type==="@builtin"}function zn(e){return mt(e)&&e?.type==="decorated"}function Cu(e){return mt(e)&&e.type==="void"}function Kn(e){return mt(e)&&e.type==="bool"}function np(e){let t=e?.type;return mt(e)&&(t==="abstractInt"||t==="abstractFloat"||t==="f32"||t==="f16"||t==="i32"||t==="u32")}function Lf(e){let t=e?.type;return mt(e)&&(t==="f16"||t==="vec2h"||t==="vec3h"||t==="vec4h")}var NA=["abstractInt","abstractFloat","f32","f16","i32","u32","bool"];function Io(e){return!mt(e)||NA.includes(e?.type)}function Ru(e){return e.schema}var qA=["deprecated","suspicious","fallback","precision-loss","implicit-conversion","webgpu-feature-missing","webgpu-limits-exceeded","locations-mismatched","log-limit-exceeded","external-omitted","uniform-schema-misaligned"],XA=class{#e;#t;#s=new WeakMap;constructor(e){e?this.#e=["webgpu-feature-missing","webgpu-limits-exceeded","locations-mismatched","log-limit-exceeded","external-omitted"]:this.#e=qA,this.#t=new Set(this.#e)}disable(e){this.#t.delete(e)}reset(){this.#t=new Set(this.#e)}warn(e,...t){this.#t.has(e)&&console.warn(`\u26A0\uFE0F [${e}] `,...t)}warnOnce(e,t,s,...r){if(!this.#t.has(e))return;let o=this.#s.get(t);o||(o=new Set,this.#s.set(t,o));let n=`${e}:${s}`;o.has(n)||(o.add(n),this.warn(e,...r))}},r2=new XA(!($u||zf)),Vt=r2,o2=r2;function io(e){if(Array.isArray(e))return`[${e.map(io).join(", ")}]`;let t=String(e);if(t!=="[object Object]")return t;try{return JSON.stringify(e)}catch(s){return Vt.warn("suspicious","Error parsing JSON:",s),""}}function ap(e){return lr(e)||Do(e)?e.toString():Array.isArray(e)?`[${e.map(ap).join(", ")}]`:e&&typeof e=="object"?`{ ${Object.entries(e).map(([t,s])=>`${t}: ${ap(s)}`).join(", ")} }`:String(e)}function HA(e){let t={};for(let[s,r]of Object.entries(e))Object.defineProperty(t,s,{get:r,enumerable:!0});return t}function jA(e){if(e.v===1){let t=e.externals;return{...e,externals:typeof t=="function"?t:()=>t}}if(e.v===2){let t=HA(e?.externals);return{...e,externals:()=>t}}throw new Error(`Unrecognized TypeGPU metadata format: ${io(e)}`)}var n2="0.12.3",kn=globalThis;kn.__TYPEGPU_VERSION__!==void 0&&console.warn(`Found duplicate TypeGPU version. First was ${kn.__TYPEGPU_VERSION__}, this one is ${n2}. This may cause unexpected behavior.`);kn.__TYPEGPU_VERSION__=n2;kn.__TYPEGPU_AUTONAME__=(e,t)=>Di(e)&&mt(e)&&!xe(e)?e.$name(t):e;var wl=new WeakMap;function Di(e){return!!e?.$name}function a2(e){return!!e?.[Xs]}function i2(e){return e?.[me]}function xe(e){return a2(e)?xe(e[Xs]):wl.get(e)??i2(e)?.label??kn.__TYPEGPU_META__?.get(e)?.name}function ot(e,t){if(a2(e)){ot(e[Xs],t);return}wl.set(e,t);let s=i2(e);s&&(s.label=t)}var j0=new WeakMap;function If(e){let t=kn.__TYPEGPU_META__?.get(e);if(t){kn.__TYPEGPU_META__?.delete(e);let s=jA(t);j0.set(e,s),t.name&&wl.get(e)===void 0&&wl.set(e,t.name)}return j0.get(e)}function Fi(e){return typeof e=="function"&&!!If(e)}var Df=($u||zf)&&{get enabled(){return!!kn.__TYPEGPU_MEASURE_PERF__},record(e,t){let s=kn.__TYPEGPU_PERF_RECORDS__??=new Map,r=s.get(e);r||(r=[],s.set(e,r)),r.push(t)}}||void 0,lm="Invariant failed";function ds(e,t){if(e)return;if(!$u&&!zf)throw new Error(lm);let s=typeof t=="function"?t():t,r=s?`${lm}: ${s}`:lm;throw new Error(r)}var Pi=class ip extends Error{cause;trace;constructor(t,s){let r=s.map(o=>`- ${Fi(o)?`fn*:${xe(o)}`:o}`);r.length>20&&(r=[...r.slice(0,11),"...",...r.slice(-10)]),super(`Resolution of the following tree failed: +${r.join(` +`)}: ${t&&typeof t=="object"&&"message"in t?t.message:t}`),this.cause=t,this.trace=s,Object.setPrototypeOf(this,ip.prototype)}appendToTrace(t){let s=[t,...this.trace];return new ip(this.cause,s)}},K0=class dp extends Error{cause;trace;constructor(t,s){let r=s.map(o=>`- ${o}`);r.length>20&&(r=[...r.slice(0,11),"...",...r.slice(-10)]),super(`Execution of the following tree failed: +${r.join(` +`)}: ${t&&typeof t=="object"&&"message"in t?t.message:t}`),this.cause=t,this.trace=s,Object.setPrototypeOf(this,dp.prototype)}appendToTrace(t){let s=[t,...this.trace];return new dp(this.cause,s)}},KA=class d2 extends Error{slot;constructor(t){super(`Missing value for '${t}'`),this.slot=t,Object.setPrototypeOf(this,d2.prototype)}},ZA=class c2 extends Error{constructor(t){super(`Buffer '${xe(t)??""}' is not bindable as a uniform. Use .$usage('uniform') to allow it.`),Object.setPrototypeOf(this,c2.prototype)}},QA=class _2 extends Error{constructor(t){super(`Missing bind groups for layouts: '${[...t].map(s=>xe(s)??"").join(", ")}'. Please provide it using pipeline.with(bindGroup).(...)`),Object.setPrototypeOf(this,_2.prototype)}},JA=class l2 extends Error{constructor(t){super(`Missing vertex buffers for layouts: '${[...t].map(s=>xe(s)??"").join(", ")}'. Please provide it using pipeline.with(layout, buffer).(...)`),Object.setPrototypeOf(this,l2.prototype)}},Z0=class u2 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,u2.prototype)}},Q0=class m2 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,m2.prototype)}},Qe=class p2 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,p2.prototype)}},Ts=class f2 extends Error{constructor(t,s){super(`Unsupported data types: ${t.map(r=>r.type).join(", ")}. Supported types are: ${s.map(r=>r.type).join(", ")}.`),Object.setPrototypeOf(this,f2.prototype)}},Cc=class v2 extends Error{constructor(t,s){super(`Cannot convert value '${t}' to type ${s.type} because of the Finite Math Assumption (see: https://www.w3.org/TR/WGSL/#finite-math-assumption)`),Object.setPrototypeOf(this,v2.prototype)}},y2=["uint8","uint8x2","uint8x4","sint8","sint8x2","sint8x4","unorm8","unorm8x2","unorm8x4","snorm8","snorm8x2","snorm8x4","uint16","uint16x2","uint16x4","sint16","sint16x2","sint16x4","unorm16","unorm16x2","unorm16x4","snorm16","snorm16x2","snorm16x4","float16","float16x2","float16x4","float32","float32x2","float32x3","float32x4","uint32","uint32x2","uint32x3","uint32x4","sint32","sint32x2","sint32x3","sint32x4","unorm10-10-10-2","unorm8x4-bgra"],eM={f32:"float32",vec2f:"float32x2",vec3f:"float32x3",vec4f:"float32x4",f16:"float16",vec2h:"float16x2",vec4h:"float16x4",u32:"uint32",vec2u:"uint32x2",vec3u:"uint32x3",vec4u:"uint32x4",i32:"sint32",vec2i:"sint32x2",vec3i:"sint32x3",vec4i:"sint32x4"};function lo(e){return zn(e)||ha(e)?e.inner:e}function Ca(e){return pr(e)?e.inner:e}var tM=["unstruct","disarray","loose-decorated",...y2];function zu(e){return mt(e)&&tM.includes(e?.type)}function Ja(e){return mt(e)&&e?.type==="disarray"}function un(e){return mt(e)&&e?.type==="unstruct"}function ha(e){return mt(e)&&e?.type==="loose-decorated"}function ac(e){return e.attribs?.find(e2)?.params[0]}function sM(e){return e.attribs?.find(t2)?.params[0]}function na(e){return e.attribs?.find(s2)?.params[0]}function Rc(e){return Qa(e)||zu(e)}var Ut=Symbol("UNKNOWN"),h2=class{matrix;constructor(e){this.matrix=e}};function rM(e){return e==="runtime"||e==="constant"?e:"runtime"}function en(e){return!(e.origin==="runtime"||e.origin==="constant")}var oM={uniform:{space:"uniform",access:"read"},readonly:{space:"storage",access:"read"},mutable:{space:"storage",access:"read-write"},workgroup:{space:"workgroup",access:"read-write"},private:{space:"private",access:"read-write"},function:{space:"function",access:"read-write"},"local-def":{space:"function",access:"read-write"}},zc=class{value;dataType;origin;possibleSideEffects;constructor(e,t,s,r){this.value=e,this.dataType=t,this.origin=s,this.possibleSideEffects=r}};function Gc(e){return e instanceof zc}function Qd(e){return np(e.dataType)}function ve(e,t,s,r=!0){if($u&&Gc(e))throw new Error("Cannot nest snippets");return new zc(e,lo(t),s,r)}function Ff(e,t){return new zc(t.value,e,t.origin,t.possibleSideEffects)}function x2(e,t){return new zc(e,t.dataType,t.origin,t.possibleSideEffects)}function nM(e,t){return new zc(t.value,t.dataType,t.origin,e)}function aM(e){return nM(!1,e)}function cp(e){return e?.resourceType==="slot"}function _p(e){return e?.resourceType==="lazy"}function al(e){return e?.[Mr]!==void 0}function dd(e){return e?.resourceType==="accessor"}function cd(e){return e?.resourceType==="mutable-accessor"}var _d=class{type="normal"},iM=class{type="codegen"},dM=class{type="simulate";buffers;vars;constructor(e,t){this.buffers=e,this.vars=t}};function g2(e){return!!e?.[kt]}function Gu(e){return e?.[oa]}function Tl(e){return!!e?.[zs]}function cM(e){return!!e?.[Gf]}function hs(e){return(typeof e.value!="string"||e.dataType===Ut)&&Gu(e.value)===void 0}function _M(e){return typeof e=="number"||typeof e=="boolean"||g2(e)||Qa(e)||cp(e)||_p(e)||al(e)}function Mn(e){return!!e&&typeof e=="object"&&"getMappedRange"in e&&"mapAsync"in e}function hc(e){return e.resourceType==="buffer"}function b2(e){return!!e.usableAsUniform}function Sl(e){return!!e?.usableAsStorage}var il=!1;function lM(e){if(il)return e();try{return il=!0,e()}finally{il=!1}}function Al(){return il}var La;function w2(e,t){if(La===e)return t();let s=La;La=e;try{return t()}finally{La=s}}function Na(){return La}var T2=new _d;function J0(){return La?.mode??T2}function Yu(){return La?.mode.type==="codegen"}function ce(e,...t){let s=Na();function r(n){return Gc(n)?s.resolveSnippet(n).value:n}let o="";for(let n=0;nd!==void 0).map(r).join(", "):i&&(o+=r(i))}return o}function S2(e){return Lu("function",e,"read-write")}function Lu(e,t,s,r=!1){return{[B]:{},type:"ptr",addressSpace:e,inner:t,access:s,implicit:r,toString:()=>`ptr<${e}, ${t}, ${s}>`}}function Bf(e,t){let s=oM[e];if(s)return Lu(s.space,t,s.access)}function A2(e){return Lu(e.addressSpace,e.inner,e.access,!0)}function uM(e){return Lu(e.addressSpace,e.inner,e.access,!1)}var mM=(()=>{let e=(t=>pM(t));return ot(e,"ref"),e.toString=()=>"ref",e[B]=!0,e[zs]={call(t,[s]){if(s.origin==="argument")throw new Qe(ce`d.ref(${s}) is illegal, cannot take a reference of an argument. Copy the value first, and take a reference of the copy.`);if(s.origin==="constant-immutable-def"||s.origin==="runtime-immutable-def"){let o=t.resolve(s.dataType).value;throw new Qe(ce`d.ref(${s}) is illegal, cannot take a reference to a constant. +----- +- Try 'd.ref(${o}(${s}));' instead to create a new referencable value. +-----`)}if(en(s)&&Io(s.dataType)){let o=t.resolve(s.dataType).value;throw new Qe(ce`d.ref(${s}) is illegal, cannot take a reference to a scalar value. +----- +- Try 'd.ref(${o}(${s}));' instead to create a new referencable scalar. +-----`)}if(pr(s.dataType))return Ff(uM(s.dataType),s);let r=Bf(s.origin,s.dataType);return ve(new wn(s,r),r??Ut,"runtime",s.possibleSideEffects)}},e})();function M2(e){return e?.[B]?.type==="ref"}function pM(e){let t={[B]:{type:"ref"},get $(){return e},set $(s){if(s&&typeof s=="object")for(let r of Object.keys(s))e[r]=s[r];else e=s}};if(e==null)throw new Error("Cannot create a ref from undefined or null");return typeof e=="object"?new Proxy(t,{get(s,r){return r in s?s[r]:e[r]},set(s,r,o){return r===B?!1:Reflect.set(r==="$"?t:e,r,o)}}):t}var wn=class{[B];snippet;#e;constructor(e,t){this[B]=!0,this.snippet=e,this.#e=t}get[oa](){if(!this.#e)throw new Error(ce`Cannot take a reference of ${this.snippet}`);return ve(this,this.#e,this.snippet.origin,this.snippet.possibleSideEffects)}[kt](){if(!this.#e)throw new Error(ce`Cannot take a reference of ${this.snippet}`);return ve(ce`(&${this.snippet})`,this.#e,this.snippet.origin,this.snippet.possibleSideEffects)}};function Wf(e){if(!pr(e.dataType))return e;let t=e.dataType.inner;return e.value instanceof wn?ve(ce`${e.value.snippet}`,t,e.origin,e.possibleSideEffects):ve(ce`(*${e})`,t,e.origin,e.possibleSideEffects)}function aa(e,t){let s=e;return cM(s)?s[Gf](t):typeof s!="function"?t:t===void 0?s():s(t)}function P2(e,t,s){if(!Tl(t))return s;let r=t;return s===void 0||s.value===void 0?r[zs].call(e,[]):r[zs].call(e,[s])}function xc(e,t){throw new Error(`Failed to handle ${e} at ${t}`)}function E2(e,t){ds(Qt(e.dataType)||un(e.dataType),"Expected snippet type to be struct/unstruct.");let s=e.dataType.propTypes[t];if(s)return s=lo(s),ve(ce`${e}.${t}`,s,e.origin,e.possibleSideEffects)}var Of={rank:Number.POSITIVE_INFINITY,action:"none"};function Ml(e,t){let s=lo(e),r=lo(t);if(s.type===r.type)return s.type==="struct"&&s!==r?{rank:1,action:"cast",targetType:t}:{rank:0,action:"none"};if(s.type==="abstractFloat"){if(r.type==="f32")return{rank:1,action:"none"};if(r.type==="f16")return{rank:2,action:"none"}}if(s.type==="abstractInt"){if(r.type==="i32")return{rank:3,action:"none"};if(r.type==="u32")return{rank:4,action:"none"};if(r.type==="abstractFloat")return{rank:5,action:"none"};if(r.type==="f32")return{rank:6,action:"none"};if(r.type==="f16")return{rank:7,action:"none"}}return Rt(s)&&Rt(r)&&s.type[3]===r.type[3]?Ml(s.primitive,r.primitive):rn(s)&&rn(r)&&s.type[3]===r.type[3]?{rank:0,action:"none"}:Of}function fM(e,t){let s=lo(e),r=lo(t);if(pr(s)&&s.implicit&&Ml(s.inner,r).rank({sourceIndex:i,action:n.action,...n.action==="cast"&&{targetType:n.targetType}}));return{targetType:r.type,actions:o,hasImplicitConversions:o.some(n=>n.action==="cast")}}function Vf(e,t){if(e.length===0)return;let s=[...new Set((t||e).map(lo))],r=lp(e,s,!1);if(r)return r;let o=lp(e,s,!0);if(o)return o}function yM(e,t,s,r){if(s.action==="none")return r===t.dataType?t:Ff(r,t);switch(s.action){case"ref":return ve(new wn(t,r),r,t.origin,t.possibleSideEffects);case"deref":return Wf(t);case"cast":if(Qt(t.dataType)&&Qt(r)){let o=xe(t.dataType)??"",n=xe(r)??"";if(t.possibleSideEffects)throw new Error(`Cannot resolve struct cast from '${o}' to '${n}'. Store the value to a variable first, then cast it.`);let i=Object.entries(r.propTypes).map(([c,_])=>{let u=E2(t,c);if(!u)throw new Error(`Cannot auto-convert struct '${o}' to '${n}' because the property '${c}' is missing.`);let m=Qn(e,[u],[_]);if(!m||!m[0])throw new Error(`Cannot auto-convert struct '${o}' to '${n}' because type '${xe(u.dataType)??""}' is not convertible to '${xe(lo(_))??""}'.`);return m[0]}),d=e.resolve(r).value;return ve(`${d}(${i.map(c=>c.value).join(", ")})`,r,"runtime",!1)}return P2(e,r,t);default:xc(s.action,"applyActionToSnippet")}}function fr(e,t){if(e.some(r=>r===Ut))return;let s=Vf(e,t);if(s)return e.map(r=>Rt(r)||rn(r)?r:s.targetType)}function Iu(e,t){if(e.some(r=>r===Ut))return;let s=lp(e,[...new Set((t||e).map(lo))],!1);if(s)return e.map(r=>Rt(r)||rn(r)?r:s.targetType)}function Qn(e,t,s,r=!0){let o=t.map(i=>i.dataType);if(o.some(i=>i===Ut))return;ds(!(Array.isArray(s)&&s.length===0),"Internal error, expected 'restrictTo' to not be an empty array.");let n=Vf(o,s);if(n)return r&&n.hasImplicitConversions&&Vt.warn("implicit-conversion",`Implicit conversions from [ +${t.map(i=>` ${e.resolveSnippet(i).value}: ${io(i.dataType)}`).join(`, +`)} +] to ${n.targetType.type} are supported, but not recommended. +Consider using explicit conversions instead.`),t.map((i,d)=>{let c=n.actions[d];return ds(c,"Action should not be undefined"),yM(e,i,c,n.targetType)})}function Fr(e,t,s,r=!0){let o=Array.isArray(s)?s:[s],{value:n,dataType:i,origin:d,possibleSideEffects:c}=t;if(o.length===1){let u=o[0];if(u===i)return ve(n,u,d,c);if(i===Ut)return e.resolveSnippet(ve(n,u,d,c))}let _=Qn(e,[t],o,r);if(_)return _[0];throw new Qe(`Cannot convert value of type '${String(i)}' to any of the target types: [${o.map(u=>u.type).join(", ")}]`)}function ex(e,t,s){return Object.entries(t.propTypes).map(([r,o])=>{let n=s[r];if(!n)throw new Error(`Missing property ${r}`);return Qn(e,[n],[o])?.[0]??n})}function ei(e){let t=((...s)=>e.normalImpl(...s));return ot(t,e.name),t.toString=()=>e.name,t[zs]={get strictSignature(){},call(s,r){let o=e.argTypes(...r.map(d=>pr(d.dataType)&&d.dataType.implicit?d.dataType.inner:d.dataType)),n=r.map((d,c)=>{let _=o[c];if(!_)throw new Error("Function called with invalid arguments");return Fr(s,d,_,!1)}),i;if(n.every(d=>hs(d))){s.pushMode(new _d);try{i=ve(e.normalImpl(...n.map(d=>d.value)),e.schema(),"constant")}finally{s.popMode("normal")}}else i=e.codegenImpl(s,n);return r.some(d=>d.possibleSideEffects)?i:aM(i)}},t}var hM=ei({name:"bool",schema:()=>ft,argTypes:e=>e?[e]:[],normalImpl(e=!1){if(typeof e=="boolean")return e;if(typeof e=="number"){if(!Number.isFinite(e))throw new Cc(e,ft);return!!e}throw new Error(`Invalid argument type for 'd.bool'. Got '${typeof e}', expected number or boolean`)},codegenImpl:(e,[t])=>{if(t===void 0)return e.gen.typeInstantiation(ft,[]);if(Kn(t.dataType)||Qd(t))return e.gen.typeInstantiation(ft,[t]);throw t.dataType===Ut?new Qe("Unknown argument type for 'd.bool'."):new Ts([t.dataType],[ft,R,Z,a,xs])}}),ft=Object.assign(hM,{[B]:{},type:"bool"}),xM=ei({name:"u32",schema:()=>R,argTypes:e=>e?[e]:[],normalImpl(e){if(e===void 0)return 0;if(typeof e=="boolean")return e?1:0;if(!Number.isFinite(e))throw new Cc(e,R);if(!Number.isInteger(e)){let t=Math.trunc(e);return t<0?0:t>4294967295?4294967295:t}return(e&4294967295)>>>0},codegenImpl:(e,[t])=>e.gen.typeInstantiation(R,t?[t]:[])}),R=Object.assign(xM,{[B]:{},type:"u32"}),gM=ei({name:"i32",schema:()=>Z,argTypes:e=>e?[e]:[],normalImpl(e){if(e===void 0)return 0;if(typeof e=="boolean")return e?1:0;if(!Number.isFinite(e))throw new Cc(e,Z);return e|0},codegenImpl:(e,[t])=>e.gen.typeInstantiation(Z,t?[t]:[])}),nI={[B]:{},type:"u16"},Z=Object.assign(gM,{[B]:{},type:"i32"}),bM=ei({name:"f32",schema:()=>a,argTypes:e=>e?[e]:[],normalImpl(e){if(e===void 0)return 0;if(typeof e=="boolean")return e?1:0;if(!Number.isFinite(e))throw new Cc(e,a);return Math.fround(e)},codegenImpl:(e,[t])=>e.gen.typeInstantiation(a,t?[t]:[])}),a=Object.assign(bM,{[B]:{},type:"f32"}),k2=new ArrayBuffer(4),wM=new Float32Array(k2),TM=new Uint32Array(k2);function Pl(e){wM[0]=e;let t=TM[0],s=t>>>31&1,r=t>>>23&255,o=t&8388607;if(r===255)return s<<15|31744|(o?512:0);if(r=r-127+15,r<=0){if(r<-10)return s<<15;let c=o|8388608,_=14-r,u=c>>>_-1&1,m=c&(1<<_-1)-1?1:0,p=c>>>_;return u&(m|p&1)&&(p+=1),s<<15|p}if(r>=31)return s<<15|31744;let n=o>>>12&1,i=o&4095?1:0,d=o>>>13;return n&(i|d&1)&&(d+=1),d===1024&&(d=0,++r,r>=31)?s<<15|31744:s<<15|r<<10|d}function Nf(e){let t=e&32768?-1:1,s=e>>10&31,r=e&1023;return s===0?r?t*r*2**-24:t*0:s===31?r?NaN:t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t*(1+r/1024)*2**(s-15)}function SM(e){return Nf(Pl(e))}var AM=ei({name:"f16",schema:()=>xs,argTypes:e=>e?[e]:[],normalImpl(e){if(e===void 0)return 0;if(typeof e=="boolean")return e?1:0;if(!Number.isFinite(e))throw new Cc(e,xs);return SM(e)},codegenImpl:(e,[t])=>e.gen.typeInstantiation(xs,t?[t]:[])}),xs=Object.assign(AM,{[B]:{},type:"f16"}),Yc={[B]:{},type:"abstractInt",toString(){return"abstractInt"},concretized:Z},qa={[B]:{},type:"abstractFloat",toString(){return"abstractFloat"},concretized:a};function on(e){return e>=2**63||e<-(2**63)?ve(e,qa,"constant",!1):Number.isInteger(e)?(Number.isSafeInteger(e)||Vt.warn("precision-loss",`The integer ${e} exceeds the safe integer range and may have lost precision.`),ve(e,Yc,"constant",!1)):ve(e,qa,"constant",!1)}function no(e){return e.type==="abstractFloat"?a:e.type==="abstractInt"?Z:e}function MM(e){return Ff(no(e.dataType),e)}function Wr(e){if(Gc(e))return e;if(M2(e))throw new Error("Cannot use refs (d.ref(...)) from the outer scope.");let t=Gu(e);return t||(lr(e)||Do(e)?ve(e,Ru(e),"constant",!1):typeof e=="number"?on(e):typeof e=="boolean"?ve(e,ft,"constant",!1):ve(e,Ut,"constant",!1))}var ic=class{[B]=!0;type;elements;constructor(e,t){this.type=e,this.elements=t}toString(){return"ArrayExpression"}[kt](e){for(let t of this.elements)if(en(t)&&!Io(t.dataType)){let s=e.resolveSnippet(t).value,r=e.resolve(no(t.dataType)).value;throw new Qe(`'${s}' reference cannot be used in an array constructor. +----- +Try '${r}(${s})' or 'arrayOf(${r}, count)([...])' to copy the value instead. +-----`)}return e.gen.typeInstantiation(this.type,this.elements)}};function Ao(e){let t=((...s)=>e(...s));return t.toString=()=>"comptime",t[Xs]=e,t[zs]={call(s,r){if(!r.every(o=>hs(o)))throw new Qe(`Called comptime function with runtime-known values: ${r.filter(o=>!hs(o)).map(o=>`'${o.value}'`).join(", ")}`);s.pushMode(new _d);try{return Wr(e(...r.map(o=>o.value)))}finally{s.popMode()}}},t.$name=s=>(ot(e,s),t),Object.defineProperty(t,B,{value:{isComptime:!0}}),t}var Ys=class extends Error{constructor(e){super(e),this.name=this.constructor.name}};function pe(e){let t=((...s)=>{if(typeof e.normalImpl=="string")throw new Ys(e.normalImpl);return e.normalImpl(...s)});return e.name&&ot(t,e.name),t.toString=()=>e.name??"",t[zs]={get strictSignature(){return typeof e.signature!="function"?e.signature:void 0},call(s,r){let{argTypes:o,returnType:n}=typeof e.signature=="function"?e.signature(...r.map(_=>pr(_.dataType)&&_.dataType.implicit?_.dataType.inner:_.dataType)):e.signature,i=r.map((_,u)=>{let m=o[u];if(!m)throw new Error("Function called with invalid arguments");return Fr(s,_,m,!e.ignoreImplicitCastWarning)});if(!e.noComptime&&i.every(_=>hs(_))&&typeof e.normalImpl=="function"){s.pushMode(new _d);try{return ve(e.normalImpl(...i.map(_=>_.value)),n,"constant",e.sideEffects)}catch(_){if(!(_ instanceof Ys))throw _}finally{s.popMode("normal")}}let d=e.sideEffects||r.some(_=>_.possibleSideEffects),c=no(n);return ve(e.codegenImpl(s,i,c),c,"runtime",d)}},t}var fn=["x","y","z","w"],vn=["r","g","b","a"],tn=class Ua extends Array{static#e=(()=>{for(let t=0;t<4;t++)for(let s=0;s<4;s++)for(let r=0;r<4;r++)for(let o=0;o<4;o++){let n=`${fn[t]}${fn[s]}${fn[r]}${fn[o]}`,i=`${vn[t]}${vn[s]}${vn[r]}${vn[o]}`;Object.defineProperty(Ua.prototype,n,{get(){return new this._Vec4(this[t],this[s],this[r],this[o])}}),Object.defineProperty(Ua.prototype,i,{get(){return new this._Vec4(this[t],this[s],this[r],this[o])}})}for(let t=0;t<4;t++)for(let s=0;s<4;s++)for(let r=0;r<4;r++){let o=`${fn[t]}${fn[s]}${fn[r]}`,n=`${vn[t]}${vn[s]}${vn[r]}`;Object.defineProperty(Ua.prototype,o,{get(){return new this._Vec3(this[t],this[s],this[r])}}),Object.defineProperty(Ua.prototype,n,{get(){return new this._Vec3(this[t],this[s],this[r])}})}for(let t=0;t<4;t++)for(let s=0;s<4;s++){let r=`${fn[t]}${fn[s]}`,o=`${vn[t]}${vn[s]}`;Object.defineProperty(Ua.prototype,r,{get(){return new this._Vec2(this[t],this[s])}}),Object.defineProperty(Ua.prototype,o,{get(){return new this._Vec2(this[t],this[s])}})}})();castElement(){return this[B].elementSchema}[kt](t){let s=Ru(this);return this.every(r=>!r)?t.gen.typeInstantiation(s,[]):this.every(r=>this[0]===r)?t.gen.typeInstantiation(s,[on(this[0])]):t.gen.typeInstantiation(s,this.map(r=>on(r)))}toString(){return`${this.kind}(${this.join(", ")})`}},Lc=class extends tn{e0;e1;constructor(e,t){super(2),this.e0=this.castElement()(e),this.e1=this.castElement()(t??e)}get 0(){return this.e0}get 1(){return this.e1}set 0(e){this.e0=this.castElement()(e)}set 1(e){this.e1=this.castElement()(e)}get x(){return this[0]}get y(){return this[1]}set x(e){this[0]=this.castElement()(e)}set y(e){this[1]=this.castElement()(e)}get r(){return this[0]}get g(){return this[1]}set r(e){this[0]=this.castElement()(e)}set g(e){this[1]=this.castElement()(e)}},Ic=class extends tn{e0;e1;e2;constructor(e,t,s){super(3),this.e0=this.castElement()(e),this.e1=this.castElement()(t??e),this.e2=this.castElement()(s??e)}get 0(){return this.e0}get 1(){return this.e1}get 2(){return this.e2}set 0(e){this.e0=this.castElement()(e)}set 1(e){this.e1=this.castElement()(e)}set 2(e){this.e2=this.castElement()(e)}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}set x(e){this[0]=this.castElement()(e)}set y(e){this[1]=this.castElement()(e)}set z(e){this[2]=this.castElement()(e)}get r(){return this[0]}get g(){return this[1]}get b(){return this[2]}set r(e){this[0]=this.castElement()(e)}set g(e){this[1]=this.castElement()(e)}set b(e){this[2]=this.castElement()(e)}},Dc=class extends tn{e0;e1;e2;e3;constructor(e,t,s,r){super(4),this.e0=this.castElement()(e),this.e1=this.castElement()(t??e),this.e2=this.castElement()(s??e),this.e3=this.castElement()(r??e)}get 0(){return this.e0}get 1(){return this.e1}get 2(){return this.e2}get 3(){return this.e3}set 0(e){this.e0=this.castElement()(e)}set 1(e){this.e1=this.castElement()(e)}set 2(e){this.e2=this.castElement()(e)}set 3(e){this.e3=this.castElement()(e)}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}get w(){return this[3]}set x(e){this[0]=e}set y(e){this[1]=e}set z(e){this[2]=e}set w(e){this[3]=e}get r(){return this[0]}get g(){return this[1]}get b(){return this[2]}get a(){return this[3]}set r(e){this[0]=e}set g(e){this[1]=e}set b(e){this[2]=e}set a(e){this[3]=e}},qf=class $2 extends Lc{get[B](){return{elementSchema:a}}get kind(){return"vec2f"}get _Vec2(){return $2}get _Vec3(){return Zf}get _Vec4(){return sv}},Xf=class U2 extends Lc{get[B](){return{elementSchema:xs}}get kind(){return"vec2h"}get _Vec2(){return U2}get _Vec3(){return Qf}get _Vec4(){return rv}},Hf=class C2 extends Lc{get[B](){return{elementSchema:Z}}get kind(){return"vec2i"}get _Vec2(){return C2}get _Vec3(){return Jf}get _Vec4(){return ov}},jf=class R2 extends Lc{get[B](){return{elementSchema:R}}get kind(){return"vec2u"}get _Vec2(){return R2}get _Vec3(){return ev}get _Vec4(){return nv}},Kf=class z2 extends Lc{get[B](){return{elementSchema:ft}}get kind(){return"vec2"}get _Vec2(){return z2}get _Vec3(){return tv}get _Vec4(){return av}},Zf=class G2 extends Ic{get[B](){return{elementSchema:a}}get kind(){return"vec3f"}get _Vec2(){return qf}get _Vec3(){return G2}get _Vec4(){return sv}},Qf=class Y2 extends Ic{get[B](){return{elementSchema:xs}}get kind(){return"vec3h"}get _Vec2(){return Xf}get _Vec3(){return Y2}get _Vec4(){return rv}},Jf=class L2 extends Ic{get[B](){return{elementSchema:Z}}get kind(){return"vec3i"}get _Vec2(){return Hf}get _Vec3(){return L2}get _Vec4(){return ov}},ev=class I2 extends Ic{get[B](){return{elementSchema:R}}get kind(){return"vec3u"}get _Vec2(){return jf}get _Vec3(){return I2}get _Vec4(){return nv}},tv=class D2 extends Ic{get[B](){return{elementSchema:ft}}get kind(){return"vec3"}get _Vec2(){return Kf}get _Vec3(){return D2}get _Vec4(){return av}},sv=class F2 extends Dc{get[B](){return{elementSchema:a}}get kind(){return"vec4f"}get _Vec2(){return qf}get _Vec3(){return Zf}get _Vec4(){return F2}},rv=class B2 extends Dc{get[B](){return{elementSchema:xs}}get kind(){return"vec4h"}get _Vec2(){return Xf}get _Vec3(){return Qf}get _Vec4(){return B2}},ov=class W2 extends Dc{get[B](){return{elementSchema:Z}}get kind(){return"vec4i"}get _Vec2(){return Hf}get _Vec3(){return Jf}get _Vec4(){return W2}},nv=class O2 extends Dc{get[B](){return{elementSchema:R}}get kind(){return"vec4u"}get _Vec2(){return jf}get _Vec3(){return ev}get _Vec4(){return O2}},av=class V2 extends Dc{get[B](){return{elementSchema:ft}}get kind(){return"vec4"}get _Vec2(){return Kf}get _Vec3(){return tv}get _Vec4(){return V2}},lt=Er(qf,a),Vs=Er(Xf,xs),Xt=Er(Hf,Z),Ct=Er(jf,R),Or=Er(Kf,ft),It=Er(Zf,a),Pr=Er(Qf,xs),cs=Er(Jf,Z),gt=Er(ev,R),Vr=Er(tv,ft),Oe=Er(sv,a),Ns=Er(rv,xs),Wt=Er(ov,Z),Et=Er(nv,R),Nr=Er(av,ft),PM={vec2f:lt,vec2h:Vs,vec2i:Xt,vec2u:Ct,"vec2":Or,vec3f:It,vec3h:Pr,vec3i:cs,vec3u:gt,"vec3":Vr,vec4f:Oe,vec4h:Ns,vec4i:Wt,vec4u:Et,"vec4":Nr};function Er(e,t){let{kind:s,length:r}=new e,o=r,i=ei({name:s,schema:()=>d,argTypes:(...c)=>c.map(_=>Rt(_)?_:t),normalImpl:(...c)=>{let _=Array.from({length:c.length}),u=0;for(let m of c)if(typeof m=="number"||typeof m=="boolean")_[u++]=m;else for(let p=0;pc.gen.typeInstantiation(d,_)}),d=Object.assign(i,{[B]:{},type:s,primitive:t,componentCount:o,[id]:void 0});return e.prototype.schema=d,d}var Ci=class{};function iv(e){let t=ei({name:e.type,schema:()=>s,normalImpl:(...r)=>{let o=[];for(let n of r)if(typeof n=="number")o.push(n);else for(let i=0;ir.map(o=>Rt(o)?o:a),codegenImpl:(r,o)=>r.gen.typeInstantiation(s,o)}),s=Object.assign(t,{[B]:{},type:e.type,primitive:a,identity:LM[e.columns],translation:e.columns===4?IM:void 0,scaling:e.columns===4?DM:void 0,rotationX:e.columns===4?FM:void 0,rotationY:e.columns===4?BM:void 0,rotationZ:e.columns===4?WM:void 0});return e.MatImpl.prototype.schema=s,s}var tx=[0,1,2,3],EM=class extends Ci{[B]=!0;columns;length=4;constructor(...e){super(),this.columns=[this.makeColumn(e[0],e[1]),this.makeColumn(e[2],e[3])]}get 0(){return this.columns[0].x}get 1(){return this.columns[0].y}get 2(){return this.columns[1].x}get 3(){return this.columns[1].y}set 0(e){this.columns[0].x=e}set 1(e){this.columns[0].y=e}set 2(e){this.columns[1].x=e}set 3(e){this.columns[1].y=e}*[Symbol.iterator](){yield this[0],yield this[1],yield this[2],yield this[3]}[kt](e){return e.gen.typeInstantiation(Gn,tx.map(t=>on(this[t])))}toString(){return`${this.kind}(${tx.map(e=>this[e]).join(", ")})`}},kM=class extends EM{kind="mat2x2f";makeColumn(e,t){return lt(e,t)}},sx=[0,1,2,4,5,6,8,9,10],$M=class extends Ci{[B]=!0;columns;length=12;constructor(...e){super(),this.columns=[this.makeColumn(e[0],e[1],e[2]),this.makeColumn(e[3],e[4],e[5]),this.makeColumn(e[6],e[7],e[8])]}get 0(){return this.columns[0].x}get 1(){return this.columns[0].y}get 2(){return this.columns[0].z}get 3(){return 0}get 4(){return this.columns[1].x}get 5(){return this.columns[1].y}get 6(){return this.columns[1].z}get 7(){return 0}get 8(){return this.columns[2].x}get 9(){return this.columns[2].y}get 10(){return this.columns[2].z}get 11(){return 0}set 0(e){this.columns[0].x=e}set 1(e){this.columns[0].y=e}set 2(e){this.columns[0].z=e}set 3(e){}set 4(e){this.columns[1].x=e}set 5(e){this.columns[1].y=e}set 6(e){this.columns[1].z=e}set 7(e){}set 8(e){this.columns[2].x=e}set 9(e){this.columns[2].y=e}set 10(e){this.columns[2].z=e}set 11(e){}*[Symbol.iterator](){for(let e=0;e<12;e++)yield this[e]}[kt](e){return e.gen.typeInstantiation(Yn,sx.map(t=>on(this[t])))}toString(){return`${this.kind}(${sx.map(e=>this[e]).join(", ")})`}},UM=class extends $M{kind="mat3x3f";makeColumn(e,t,s){return It(e,t,s)}},rx=Array.from({length:16},(e,t)=>t),CM=class extends Ci{[B]=!0;columns;constructor(...e){super(),this.columns=[this.makeColumn(e[0],e[1],e[2],e[3]),this.makeColumn(e[4],e[5],e[6],e[7]),this.makeColumn(e[8],e[9],e[10],e[11]),this.makeColumn(e[12],e[13],e[14],e[15])]}length=16;get 0(){return this.columns[0].x}get 1(){return this.columns[0].y}get 2(){return this.columns[0].z}get 3(){return this.columns[0].w}get 4(){return this.columns[1].x}get 5(){return this.columns[1].y}get 6(){return this.columns[1].z}get 7(){return this.columns[1].w}get 8(){return this.columns[2].x}get 9(){return this.columns[2].y}get 10(){return this.columns[2].z}get 11(){return this.columns[2].w}get 12(){return this.columns[3].x}get 13(){return this.columns[3].y}get 14(){return this.columns[3].z}get 15(){return this.columns[3].w}set 0(e){this.columns[0].x=e}set 1(e){this.columns[0].y=e}set 2(e){this.columns[0].z=e}set 3(e){this.columns[0].w=e}set 4(e){this.columns[1].x=e}set 5(e){this.columns[1].y=e}set 6(e){this.columns[1].z=e}set 7(e){this.columns[1].w=e}set 8(e){this.columns[2].x=e}set 9(e){this.columns[2].y=e}set 10(e){this.columns[2].z=e}set 11(e){this.columns[2].w=e}set 12(e){this.columns[3].x=e}set 13(e){this.columns[3].y=e}set 14(e){this.columns[3].z=e}set 15(e){this.columns[3].w=e}*[Symbol.iterator](){for(let e=0;e<16;e++)yield this[e]}[kt](e){return e.gen.typeInstantiation(Hs,rx.map(t=>on(this[t])))}toString(){return`${this.kind}(${rx.map(e=>this[e]).join(", ")})`}},RM=class extends CM{kind="mat4x4f";makeColumn(e,t,s,r){return Oe(e,t,s,r)}},zM=Ao(()=>Gn(1,0,0,1)).$name("identity2"),GM=Ao(()=>Yn(1,0,0,0,1,0,0,0,1)).$name("identity3"),YM=Ao(()=>Hs(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)).$name("identity4"),LM={2:zM,3:GM,4:YM},IM=pe({name:"translation4",normalImpl:e=>Hs(1,0,0,0,0,1,0,0,0,0,1,0,e.x,e.y,e.z,1),get signature(){return{argTypes:[It],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, ${t}.x, ${t}.y, ${t}.z, 1)`,sideEffects:!1}),DM=pe({name:"scaling4",normalImpl:e=>Hs(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1),get signature(){return{argTypes:[It],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(${t}.x, 0, 0, 0, 0, ${t}.y, 0, 0, 0, 0, ${t}.z, 0, 0, 0, 0, 1)`,sideEffects:!1}),FM=pe({name:"rotationX4",normalImpl:e=>Hs(1,0,0,0,0,Math.cos(e),Math.sin(e),0,0,-Math.sin(e),Math.cos(e),0,0,0,0,1),get signature(){return{argTypes:[a],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(1, 0, 0, 0, 0, cos(${t}), sin(${t}), 0, 0, -sin(${t}), cos(${t}), 0, 0, 0, 0, 1)`,sideEffects:!1}),BM=pe({name:"rotationY4",normalImpl:e=>Hs(Math.cos(e),0,-Math.sin(e),0,0,1,0,0,Math.sin(e),0,Math.cos(e),0,0,0,0,1),get signature(){return{argTypes:[a],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(cos(${t}), 0, -sin(${t}), 0, 0, 1, 0, 0, sin(${t}), 0, cos(${t}), 0, 0, 0, 0, 1)`,sideEffects:!1}),WM=pe({name:"rotationZ4",normalImpl:e=>Hs(Math.cos(e),Math.sin(e),0,0,-Math.sin(e),Math.cos(e),0,0,0,0,1,0,0,0,0,1),get signature(){return{argTypes:[a],returnType:Hs}},codegenImpl:(e,[t])=>ce`mat4x4f(cos(${t}), sin(${t}), 0, 0, -sin(${t}), cos(${t}), 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)`,sideEffects:!1}),Gn=iv({type:"mat2x2f",rows:2,columns:2,MatImpl:kM}),Yn=iv({type:"mat3x3f",rows:3,columns:3,MatImpl:UM}),Hs=iv({type:"mat4x4f",rows:4,columns:4,MatImpl:RM});var OM=(e,t,s)=>{if(e===t)return 0;let r=N2((s-e)/(t-e),0,1);return r*r*(3-2*r)},N2=(e,t,s)=>Math.min(Math.max(t,e),s),dv=new ArrayBuffer(4),q2=new Float32Array(dv),cv=new Uint32Array(dv),VM=new Int32Array(dv);function Zo(e){return cv[0]=e,q2[0]}function Qo(e){return cv[0]=e,VM[0]}function Jo(e){return q2[0]=e,cv[0]}var ox=e=>Math.sqrt(e.x**2+e.y**2),nx=e=>Math.sqrt(e.x**2+e.y**2+e.z**2),ax=e=>Math.sqrt(e.x**2+e.y**2+e.z**2+e.w**2),G_=(e,t)=>e.x*t.x+e.y*t.y,Y_=(e,t)=>e.x*t.x+e.y*t.y+e.z*t.z,L_=(e,t)=>e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w,ix=e=>(t,s)=>Ct(e(t.x,s.x),e(t.y,s.y)),dx=e=>(t,s)=>gt(e(t.x,s.x),e(t.y,s.y),e(t.z,s.z)),cx=e=>(t,s)=>Et(e(t.x,s.x),e(t.y,s.y),e(t.z,s.z),e(t.w,s.w)),_x=e=>(t,s)=>Xt(e(t.x,s.x),e(t.y,s.y)),lx=e=>(t,s)=>cs(e(t.x,s.x),e(t.y,s.y),e(t.z,s.z)),ux=e=>(t,s)=>Wt(e(t.x,s.x),e(t.y,s.y),e(t.z,s.z),e(t.w,s.w)),qr={all:{"vec2":e=>e.x&&e.y,"vec3":e=>e.x&&e.y&&e.z,"vec4":e=>e.x&&e.y&&e.z&&e.w},length:{vec2f:ox,vec2h:ox,vec3f:nx,vec3h:nx,vec4f:ax,vec4h:ax},mulMxM:{mat2x2f:(e,t)=>{let s=e.columns,r=t.columns;return Gn(s[0].x*r[0].x+s[1].x*r[0].y,s[0].y*r[0].x+s[1].y*r[0].y,s[0].x*r[1].x+s[1].x*r[1].y,s[0].y*r[1].x+s[1].y*r[1].y)},mat3x3f:(e,t)=>{let s=e.columns,r=t.columns;return Yn(s[0].x*r[0].x+s[1].x*r[0].y+s[2].x*r[0].z,s[0].y*r[0].x+s[1].y*r[0].y+s[2].y*r[0].z,s[0].z*r[0].x+s[1].z*r[0].y+s[2].z*r[0].z,s[0].x*r[1].x+s[1].x*r[1].y+s[2].x*r[1].z,s[0].y*r[1].x+s[1].y*r[1].y+s[2].y*r[1].z,s[0].z*r[1].x+s[1].z*r[1].y+s[2].z*r[1].z,s[0].x*r[2].x+s[1].x*r[2].y+s[2].x*r[2].z,s[0].y*r[2].x+s[1].y*r[2].y+s[2].y*r[2].z,s[0].z*r[2].x+s[1].z*r[2].y+s[2].z*r[2].z)},mat4x4f:(e,t)=>{let s=e.columns,r=t.columns;return Hs(s[0].x*r[0].x+s[1].x*r[0].y+s[2].x*r[0].z+s[3].x*r[0].w,s[0].y*r[0].x+s[1].y*r[0].y+s[2].y*r[0].z+s[3].y*r[0].w,s[0].z*r[0].x+s[1].z*r[0].y+s[2].z*r[0].z+s[3].z*r[0].w,s[0].w*r[0].x+s[1].w*r[0].y+s[2].w*r[0].z+s[3].w*r[0].w,s[0].x*r[1].x+s[1].x*r[1].y+s[2].x*r[1].z+s[3].x*r[1].w,s[0].y*r[1].x+s[1].y*r[1].y+s[2].y*r[1].z+s[3].y*r[1].w,s[0].z*r[1].x+s[1].z*r[1].y+s[2].z*r[1].z+s[3].z*r[1].w,s[0].w*r[1].x+s[1].w*r[1].y+s[2].w*r[1].z+s[3].w*r[1].w,s[0].x*r[2].x+s[1].x*r[2].y+s[2].x*r[2].z+s[3].x*r[2].w,s[0].y*r[2].x+s[1].y*r[2].y+s[2].y*r[2].z+s[3].y*r[2].w,s[0].z*r[2].x+s[1].z*r[2].y+s[2].z*r[2].z+s[3].z*r[2].w,s[0].w*r[2].x+s[1].w*r[2].y+s[2].w*r[2].z+s[3].w*r[2].w,s[0].x*r[3].x+s[1].x*r[3].y+s[2].x*r[3].z+s[3].x*r[3].w,s[0].y*r[3].x+s[1].y*r[3].y+s[2].y*r[3].z+s[3].y*r[3].w,s[0].z*r[3].x+s[1].z*r[3].y+s[2].z*r[3].z+s[3].z*r[3].w,s[0].w*r[3].x+s[1].w*r[3].y+s[2].w*r[3].z+s[3].w*r[3].w)}},mulMxV:{mat2x2f:(e,t)=>{let s=e.columns;return lt(s[0].x*t.x+s[1].x*t.y,s[0].y*t.x+s[1].y*t.y)},mat3x3f:(e,t)=>{let s=e.columns;return It(s[0].x*t.x+s[1].x*t.y+s[2].x*t.z,s[0].y*t.x+s[1].y*t.y+s[2].y*t.z,s[0].z*t.x+s[1].z*t.y+s[2].z*t.z)},mat4x4f:(e,t)=>{let s=e.columns;return Oe(s[0].x*t.x+s[1].x*t.y+s[2].x*t.z+s[3].x*t.w,s[0].y*t.x+s[1].y*t.y+s[2].y*t.z+s[3].y*t.w,s[0].z*t.x+s[1].z*t.y+s[2].z*t.z+s[3].z*t.w,s[0].w*t.x+s[1].w*t.y+s[2].w*t.z+s[3].w*t.w)}},mulVxM:{mat2x2f:(e,t)=>{let s=t.columns;return lt(e.x*s[0].x+e.y*s[0].y,e.x*s[1].x+e.y*s[1].y)},mat3x3f:(e,t)=>{let s=t.columns;return It(e.x*s[0].x+e.y*s[0].y+e.z*s[0].z,e.x*s[1].x+e.y*s[1].y+e.z*s[1].z,e.x*s[2].x+e.y*s[2].y+e.z*s[2].z)},mat4x4f:(e,t)=>{let s=t.columns;return Oe(e.x*s[0].x+e.y*s[0].y+e.z*s[0].z+e.w*s[0].w,e.x*s[1].x+e.y*s[1].y+e.z*s[1].z+e.w*s[1].w,e.x*s[2].x+e.y*s[2].y+e.z*s[2].z+e.w*s[2].w,e.x*s[3].x+e.y*s[3].y+e.z*s[3].z+e.w*s[3].w)}},dot:{vec2f:G_,vec2h:G_,vec2i:G_,vec2u:G_,vec3f:Y_,vec3h:Y_,vec3i:Y_,vec3u:Y_,vec4f:L_,vec4h:L_,vec4i:L_,vec4u:L_},cross:{vec3f:(e,t)=>It(e.y*t.z-e.z*t.y,e.z*t.x-e.x*t.z,e.x*t.y-e.y*t.x),vec3h:(e,t)=>Pr(e.y*t.z-e.z*t.y,e.z*t.x-e.x*t.z,e.x*t.y-e.y*t.x)},bitShiftLeft:{vec2i:_x((e,t)=>e<e<e<e<e<e<e>>t),vec2u:ix((e,t)=>e>>>t),vec3i:lx((e,t)=>e>>t),vec3u:dx((e,t)=>e>>>t),vec4i:ux((e,t)=>e>>t),vec4u:cx((e,t)=>e>>>t)},bitcastU32toF32:{vec2u:e=>lt(Zo(e.x),Zo(e.y)),vec3u:e=>It(Zo(e.x),Zo(e.y),Zo(e.z)),vec4u:e=>Oe(Zo(e.x),Zo(e.y),Zo(e.z),Zo(e.w))},bitcastU32toI32:{vec2u:e=>Xt(Qo(e.x),Qo(e.y)),vec3u:e=>cs(Qo(e.x),Qo(e.y),Qo(e.z)),vec4u:e=>Wt(Qo(e.x),Qo(e.y),Qo(e.z),Qo(e.w))},bitcastF32toU32:{vec2f:e=>Ct(Jo(e.x),Jo(e.y)),vec3f:e=>gt(Jo(e.x),Jo(e.y),Jo(e.z)),vec4f:e=>Et(Jo(e.x),Jo(e.y),Jo(e.z),Jo(e.w))}},NM={vec2f:Or,vec2h:Or,vec2i:Or,vec2u:Or,"vec2":Or,vec3f:Vr,vec3h:Vr,vec3i:Vr,vec3u:Vr,"vec3":Vr,vec4f:Nr,vec4h:Nr,vec4i:Nr,vec4u:Nr,"vec4":Nr},up={...PM,mat2x2f:Gn,mat3x3f:Yn,mat4x4f:Hs};function qM(e,t){let s=e==="boolean"?NM:up;if(t in s)return s[t];throw new Error(`No corresponding vector/matrix type for '${t}' kind in '${e}' mode.`)}function XM(e){return e.kind.startsWith("vec")?e:e.columns.flat()}function X2(e,t,s){let r=t.map(HM);if(r.every(c=>c==="boolean"||c==="number"))return e(...t);let o=r[0];ds(o,"Expected kind of the first argument to be present.");let n=qM(s,o),i=t.map(XM),d=i[0]?.length;return ds(d!==void 0,"Expected constructor to have at least one argument."),n(...Array.from({length:d},(c,_)=>e(...i.map(u=>u[_]))))}function Tt(e,t){return X2(e,t,"first")}function Du(e,t){return X2(e,t,"boolean")}function HM(e){return typeof e=="number"?"number":typeof e=="boolean"?"boolean":e.kind}function _v(e){let[t,s]=e;if(typeof t=="number"&&lr(s)){let r=up[s.kind];return[r(t),s]}else if(lr(t)&&typeof s=="number"){let r=up[t.kind];return[t,r(s)]}return[t,s]}var mx=e=>"primitive"in e?e.primitive:e,lv=e=>(t,s)=>{let{restrict:r}=e??{},o=u=>{throw r?new Ts([t,s],r):new Error(`Cannot apply operator to ${t.type} and ${s.type}: ${u}`)};if(e?.noMat&&(rn(t)||rn(s)))return o("matrices not supported");let n=Rt(t)||rn(t),i=Rt(s)||rn(s);if(!n&&!i){let u=fr([t,s],r);return u?{argTypes:u,returnType:u[0]}:o("incompatible scalar types")}if(n&&i)return e?.matVecProduct&&Rt(t)!==Rt(s)?{argTypes:[t,s],returnType:Rt(t)?t:s}:t.type!==s.type?o("operands must have the same type"):{argTypes:[t,s],returnType:t};let[d,c]=n?[s,t]:[t,s],_=fr([d],[mx(c)]);return _?{argTypes:n?[t,_[0]]:[_[0],s],returnType:c}:o(`scalar not convertible to ${mx(c).type}`)},H2=lv(),jM=lv({matVecProduct:!0}),j2=lv({noMat:!0,restrict:[a,xs,qa]});function K2(e,t){if(typeof e=="number"&&typeof t=="number")return e+t;if(typeof e=="number"&&lr(t))return Tt(s=>e+s,[t]);if(lr(e)&&typeof t=="number")return Tt(s=>s+t,[e]);if(lr(e)&&lr(t)||Do(e)&&Do(t))return Tt((s,r)=>s+r,[e,t]);throw new Error("Add/Sub called with invalid arguments.")}var Pn=pe({name:"add",signature:H2,normalImpl:K2,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"+",s),sideEffects:!1});function KM(e,t){return K2(e,Z2(-1,t))}var ht=pe({name:"sub",signature:H2,normalImpl:KM,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"-",s),sideEffects:!1});function Z2(e,t){if(typeof e=="number"&&typeof t=="number")return e*t;if(typeof e=="number"&&(lr(t)||Do(t)))return Tt(s=>e*s,[t]);if((lr(e)||Do(e))&&typeof t=="number")return Tt(s=>s*t,[e]);if(lr(e)&&lr(t))return Tt((s,r)=>s*r,[e,t]);if(H0(e)&&Do(t))return qr.mulVxM[t.kind](e,t);if(Do(e)&&H0(t))return qr.mulMxV[e.kind](e,t);if(Do(e)&&Do(t))return qr.mulMxM[e.kind](e,t);throw new Error("Mul called with invalid arguments.")}var vr=pe({name:"mul",signature:jM,normalImpl:Z2,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"*",s),sideEffects:!1});function ZM(e,t){return Tt((s,r)=>s/r,_v([e,t]))}var mp=pe({name:"div",signature:j2,normalImpl:ZM,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"/",s),ignoreImplicitCastWarning:!0,sideEffects:!1}),bo=pe({name:"mod",signature:j2,normalImpl:((e,t)=>Tt((s,r)=>s%r,_v([e,t]))),codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"%",s),sideEffects:!1});function QM(e){return Tt(t=>-t,[e])}var px=pe({name:"neg",signature:e=>({argTypes:[e],returnType:e}),normalImpl:QM,codegenImpl:(e,[t])=>ce`-(${t})`,sideEffects:!1}),Q2={vec2i:Ct,vec2u:Ct,vec3i:gt,vec3u:gt,vec4i:Et,vec4u:Et},J2=(e,t)=>{let s=fr([e],[Xt,cs,Wt,Ct,gt,Et])?.[0];if(!s||!Rt(s))throw new Ts([e],[Xt,cs,Wt,Ct,gt,Et]);let r=s.componentCount,o=r===2?Ct:r===3?gt:Et,n=fr([t],[R,o])?.[0];if(!n)throw new Ts([t],[R,o]);return{argTypes:[s,n],returnType:s}};function JM(e,t){if(bl(e)&&Jb(t)&&e.length==t.length)return qr.bitShiftLeft[e.kind](e,t);if(bl(e)&&typeof t=="number"){let s=Q2[e.kind](t);return qr.bitShiftLeft[e.kind](e,s)}throw new Error("'bitShiftLeft' called with invalid arguments, expected: left-hand side to be an integer vector, right-hand side to be a number or unsigned integer vector of the same arity as the left-hand side.")}var eP=pe({name:"bitShiftLeft",signature:J2,normalImpl:JM,codegenImpl:(e,[t,s])=>{if(Rt(t.dataType)&&!Rt(s.dataType)){let r=t.dataType.componentCount,o=r===2?Ct:r===3?gt:Et;return e.gen.emitBinaryOp(t,"<<",e.gen.typeInstantiation(o,[s]))}return e.gen.emitBinaryOp(t,"<<",s)},sideEffects:!1});function tP(e,t){if(bl(e)&&Jb(t)&&e.length==t.length)return qr.bitShiftRight[e.kind](e,t);if(bl(e)&&typeof t=="number"){let s=Q2[e.kind](t);return qr.bitShiftRight[e.kind](e,s)}throw new Error("'bitShiftRight' called with invalid arguments, expected: left-hand side to be an integer vector, right-hand side to be a number or unsigned integer vector of the same arity as the left-hand side.")}var pp={add:Pn,sub:ht,mul:vr,div:mp,mod:bo,bitShiftLeft:eP,bitShiftRight:pe({name:"bitShiftRight",signature:J2,normalImpl:tP,codegenImpl:(e,[t,s])=>{if(Rt(t.dataType)&&!Rt(s.dataType)){let r=t.dataType.componentCount,o=r===2?Ct:r===3?gt:Et;return e.gen.emitBinaryOp(t,">>",e.gen.typeInstantiation(o,[s]))}return e.gen.emitBinaryOp(t,">>",s)},sideEffects:!1})},uv=class{lhs;operator;constructor(e,t){this.lhs=e,this.operator=t}};function sP(e){return e instanceof uv}function jo(e,t,s){let r=pp[t];Object.defineProperty(e.prototype,s,{value:r});function o(n){return r(this,n)}Object.defineProperty(e.prototype,t,{get(){return Yu()?new uv(this,r):o}})}var fx=!1;function rr(){fx||(fx=!0,jo(tn,"add",dr.plus),jo(Ci,"add",dr.plus),jo(tn,"sub",dr.minus),jo(Ci,"sub",dr.minus),jo(tn,"mul",dr.star),jo(Ci,"mul",dr.star),jo(tn,"div",dr.slash),jo(tn,"mod",dr.percent),jo(tn,"bitShiftLeft",Symbol()),jo(tn,"bitShiftRight",Symbol()))}var mv=new Set(["alias","break","case","const","const_assert","continue","continuing","default","diagnostic","discard","else","enable","false","fn","for","if","let","loop","override","requires","return","struct","switch","true","var","while","NULL","Self","abstract","active","alignas","alignof","as","asm","asm_fragment","async","attribute","auto","await","become","cast","catch","class","co_await","co_return","co_yield","coherent","column_major","common","compile","compile_fragment","concept","const_cast","consteval","constexpr","constinit","crate","debugger","decltype","delete","demote","demote_to_helper","do","dynamic_cast","enum","explicit","export","extends","extern","external","fallthrough","filter","final","finally","friend","from","fxgroup","get","goto","groupshared","highp","impl","implements","import","inline","instanceof","interface","layout","lowp","macro","macro_rules","match","mediump","meta","mod","module","move","mut","mutable","namespace","new","nil","noexcept","noinline","nointerpolation","non_coherent","noncoherent","noperspective","null","nullptr","of","operator","package","packoffset","partition","pass","patch","pixelfragment","precise","precision","premerge","priv","protected","pub","public","readonly","ref","regardless","register","reinterpret_cast","require","resource","restrict","self","set","shared","sizeof","smooth","snorm","static","static_assert","static_cast","std","subroutine","super","target","template","this","thread_local","throw","trait","try","type","typedef","typeid","typename","typeof","union","unless","unorm","unsafe","unsized","use","using","varying","virtual","volatile","wgsl","where","with","writeonly","yield","sampler","uniform","storage"]),rP=new Set(["array","bool","f16","f32","i32","u32","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","vec2","vec3","vec4","bitcast","all","any","select","arrayLength","abs","acos","acosh","asin","asinh","atan","atanh","atan2","ceil","clamp","cos","cosh","countLeadingZeros","countOneBits","countTrailingZeros","cross","degrees","determinant","distance","dot","dot4U8Packed","dot4I8Packed","exp","exp2","extractBits","faceForward","firstLeadingBit","firstTrailingBit","floor","fma","fract","frexp","insertBits","inverseSqrt","ldexp","length","log","log2","max","min","mix","modf","normalize","pow","quantizeToF16","radians","reflect","refract","reverseBits","round","saturate","sign","sin","sinh","smoothstep","sqrt","step","tan","tanh","transpose","trunc","dpdx","dpdxCoarse","dpdxFine","dpdy","dpdyCoarse","dpdyFine","fwidth","fwidthCoarse","fwidthFine","textureDimensions","textureGather","textureGatherCompare","textureLoad","textureNumLayers","textureNumLevels","textureNumSamples","textureSample","textureSampleBias","textureSampleCompare","textureSampleCompareLevel","textureSampleGrad","textureSampleLevel","textureSampleBaseClampToEdge","textureStore","atomicLoad","atomicStore","atomicAdd","atomicSub","atomicMax","atomicMin","atomicAnd","atomicOr","atomicXor","atomicExchange","atomicCompareExchangeWeak","pack4x8snorm","pack4x8unorm","pack4xI8","pack4xU8","pack4xI8Clamp","pack4xU8Clamp","pack2x16snorm","pack2x16unorm","pack2x16float","unpack4x8snorm","unpack4x8unorm","unpack4xI8","unpack4xU8","unpack2x16snorm","unpack2x16unorm","unpack2x16float","storageBarrier","textureBarrier","workgroupBarrier","workgroupUniformLoad","subgroupAdd","subgroupExclusiveAdd","subgroupInclusiveAdd","subgroupAll","subgroupAnd","subgroupAny","subgroupBallot","subgroupBroadcast","subgroupBroadcastFirst","subgroupElect","subgroupMax","subgroupMin","subgroupMul","subgroupExclusiveMul","subgroupInclusiveMul","subgroupOr","subgroupShuffle","subgroupShuffleDown","subgroupShuffleUp","subgroupShuffleXor","subgroupXor","quadBroadcast","quadSwapDiagonal","quadSwapX","quadSwapY"]);function oP(e){if(e){let t=e.replaceAll(/\s/g,"_").replaceAll(/[^\w]/g,"");return Fu(t).success?t:"item"}return"item"}function Fu(e){return e==="_"||e===""?{success:!1,error:"Identifiers cannot be equal to '' or '_'"}:/\s/.test(e)?{success:!1,error:"Identifiers cannot contain whitespace."}:e.startsWith("__")?{success:!1,error:"Identifiers cannot start with double underscores."}:/^(([_\p{XID_Start}][\p{XID_Continue}]+)|([\p{XID_Start}]))$/u.test(e)?{success:!0}:{success:!1,error:"Not compliant with WGSL guidelines."}}function e5(e){let t=Fu(e);return t.success?mv.has(e)?{success:!1,error:"Identifiers cannot start with reserved keywords."}:{success:!0}:t}function ut(e){return Bu(e,!1)}function Qs(e){return Bu(e,!0)}function Bu(e,t){Object.keys(e).forEach(r=>{let o=e5(r);if(!o.success)throw new Error(`Invalid property key '${r}'${o.error?`: ${o.error}`:""}`)});let s=r=>Object.fromEntries(Object.entries(e).map(([o,n])=>[o,aa(n,r?.[o])]));return Object.setPrototypeOf(s,nP),s.propTypes=e,Object.defineProperty(s,B,{value:{isAbstruct:t}}),s}var nP={type:"struct",$name(e){return ot(this,e),this},toString(){return`struct:${xe(this)??""}`}},qs=(e,t)=>{let s=t-1,r=~s;return(e&s)===0?e:(e&r)+t},xt=class{[B]={};type;[zs];constructor(e){this.type=e,this[zs]={call:(t,[s])=>P2(t,$n[this.type],s)}}[Gf](e){return aa($n[this.type],e)}},$n={uint8:R,uint8x2:Ct,uint8x4:Et,sint8:Z,sint8x2:Xt,sint8x4:Wt,unorm8:a,unorm8x2:lt,unorm8x4:Oe,snorm8:a,snorm8x2:lt,snorm8x4:Oe,uint16:R,uint16x2:Ct,uint16x4:Et,sint16:Z,sint16x2:Xt,sint16x4:Wt,unorm16:a,unorm16x2:lt,unorm16x4:Oe,snorm16:a,snorm16x2:lt,snorm16x4:Oe,float16:a,float16x2:lt,float16x4:Oe,float32:a,float32x2:lt,float32x3:It,float32x4:Oe,uint32:R,uint32x2:Ct,uint32x3:gt,uint32x4:Et,sint32:Z,sint32x2:Xt,sint32x3:cs,sint32x4:Wt,"unorm10-10-10-2":Oe,"unorm8x4-bgra":Oe},t5=new Set(Object.keys($n)),aI=new xt("uint8"),iI=new xt("uint8x2"),dI=new xt("uint8x4"),cI=new xt("sint8"),_I=new xt("sint8x2"),lI=new xt("sint8x4"),uI=new xt("unorm8"),mI=new xt("unorm8x2"),pI=new xt("unorm8x4"),fI=new xt("snorm8"),vI=new xt("snorm8x2"),yI=new xt("snorm8x4"),hI=new xt("uint16"),xI=new xt("uint16x2"),gI=new xt("uint16x4"),bI=new xt("sint16"),wI=new xt("sint16x2"),TI=new xt("sint16x4"),SI=new xt("unorm16"),AI=new xt("unorm16x2"),MI=new xt("unorm16x4"),PI=new xt("snorm16"),EI=new xt("snorm16x2"),kI=new xt("snorm16x4"),$I=new xt("float16"),UI=new xt("float16x2"),CI=new xt("float16x4"),RI=new xt("float32"),zI=new xt("float32x2"),GI=new xt("float32x3"),YI=new xt("float32x4"),LI=new xt("uint32"),II=new xt("uint32x2"),DI=new xt("uint32x3"),FI=new xt("uint32x4"),BI=new xt("sint32"),WI=new xt("sint32x2"),OI=new xt("sint32x3"),VI=new xt("sint32x4"),NI=new xt("unorm10-10-10-2"),qI=new xt("unorm8x4-bgra");function aP(e){return mt(e)&&t5.has(e?.type)}var iP={f32:4,f16:2,i32:4,u32:4,bool:4,u16:2,vec2f:8,vec2h:4,vec2i:8,vec2u:8,"vec2":8,vec3f:16,vec3h:8,vec3i:16,vec3u:16,"vec3":16,vec4f:16,vec4h:8,vec4i:16,vec4u:16,"vec4":16,mat2x2f:8,mat3x3f:16,mat4x4f:16,atomic:4};function dP(e){let t=e?.type,s=iP[t];if(s!==void 0)return s;if(Qt(e))return Object.values(e.propTypes).map(rs).reduce((r,o)=>r>o?r:o);if(Us(e))return rs(e.elementType);if(un(e)){let r=Object.values(e.propTypes)[0];return r?ac(r)??1:1}if(Ja(e))return ac(e.elementType)??1;if(zn(e)||ha(e))return ac(e)??rs(e.inner);if(t5.has(t))return 1;throw new Error(`Cannot determine alignment of data: ${io(e)}`)}function cP(e){if(un(e)){let t=Object.values(e.propTypes)[0];return t?wo(t):1}return Ja(e)?wo(e.elementType):ha(e)?ac(e)??wo(e.inner):ac(e)??1}var vx=new WeakMap,yx=new WeakMap;function rs(e){let t=vx.get(e);return t===void 0&&(t=dP(e),vx.set(e,t)),t}function wo(e){let t=yx.get(e);return t===void 0&&(t=cP(e),yx.set(e,t)),t}var _P={bool:4,f32:4,f16:2,i32:4,u32:4,u16:2,vec2f:8,vec2h:4,vec2i:8,vec2u:8,"vec2":8,vec3f:12,vec3h:6,vec3i:12,vec3u:12,"vec3":12,vec4f:16,vec4h:8,vec4i:16,vec4u:16,"vec4":16,mat2x2f:16,mat3x3f:48,mat4x4f:64,uint8:1,uint8x2:2,uint8x4:4,sint8:1,sint8x2:2,sint8x4:4,unorm8:1,unorm8x2:2,unorm8x4:4,snorm8:1,snorm8x2:2,snorm8x4:4,uint16:2,uint16x2:4,uint16x4:8,sint16:2,sint16x2:4,sint16x4:8,unorm16:2,unorm16x2:4,unorm16x4:8,snorm16:2,snorm16x2:4,snorm16x4:8,float16:2,float16x2:4,float16x4:8,float32:4,float32x2:8,float32x3:12,float32x4:16,uint32:4,uint32x2:8,uint32x3:12,uint32x4:16,sint32:4,sint32x2:8,sint32x3:12,sint32x4:16,"unorm10-10-10-2":4,"unorm8x4-bgra":4,atomic:4};function lP(e){let t=0,s=0,r=!0,o=!1;for(let i of Object.values(e.propTypes)){if(Number.isNaN(t))throw new Error("Only the last property of a struct can be unbounded");let d=t;t=qs(t,rs(i));let c=d!==t,_=Xa(i);if(t+=_.size,Number.isNaN(t)&&i.type!=="array")throw new Error("Cannot nest unbounded struct within another struct");o||(!c&&_.isContiguous?s+=_.size:(o=!0,r=!1,c||(s+=_.longestContiguousPrefix)))}let n=qs(t,rs(e));return{isContiguous:t===n&&r,size:n,longestContiguousPrefix:s}}function uP(e){let t=0,s=0,r=!0,o=!1;for(let n of Object.values(e.propTypes)){let i=wo(n),d=t;t=qs(t,i);let c=d!==t;c&&(r=!1);let _=Xa(n);t+=_.size,!o&&(!c&&_.isContiguous?s+=_.size:(o=!0,r=!1,c||(s+=_.longestContiguousPrefix)))}return{isContiguous:r,size:t,longestContiguousPrefix:s}}function mP(e){let t=e.elementType,s=Xa(t),r=s.size,o=qs(r,rs(t)),n=!(o>r)&&s.isContiguous,i=e.elementCount===0?NaN:e.elementCount*o,d;return n?d=i:d=s.longestContiguousPrefix,{size:i,isContiguous:n,longestContiguousPrefix:d}}function pP(e){let t=e.elementType,s=Xa(t),r=s.size,o=qs(r,wo(t)),n=!(o>r)&&s.isContiguous,i=e.elementCount*o,d;return n?d=i:d=s.longestContiguousPrefix,{size:i,isContiguous:n,longestContiguousPrefix:d}}function Xa(e){let t=_P[e.type];if(t!==void 0)return{isContiguous:e.type!=="mat3x3f",size:t,longestContiguousPrefix:e.type==="mat3x3f"?12:t};if(Qt(e))return lP(e);if(un(e))return uP(e);if(Us(e))return mP(e);if(Ja(e))return pP(e);if(zn(e)||ha(e)){let s=sM(e),r=Xa(lo(e));return s?{isContiguous:s===r.size&&r.isContiguous,size:s,longestContiguousPrefix:r.longestContiguousPrefix}:Xa(e.inner)}throw new Error(`Cannot determine memory layout of data: ${e}`)}var hx=new WeakMap;function pv(e,t){let s=hx.get(e);return s===void 0&&(s=Xa(e),hx.set(e,s)),s[t]}function _t(e){return pv(e,"size")}function xx(e){return _t(e)}var pt=Ao(((e,t)=>{if(zn(e)&&!e.attribs.every(s2))throw new Error("Arrays cannot hold decorated types other than @location. Wrap it in a struct instead, e.g. d.arrayOf(d.struct({ value: d.align(16, d.u32) }), n).");return t===void 0?Ao(s=>gx(e,s)):gx(e,t)})).$name("arrayOf");function gx(e,t){let s=r=>{if(r&&r.length!==t)throw new Error(`Array schema of ${t} elements of type ${e.type} called with ${r.length} argument(s).`);return Array.from({length:t},(o,n)=>aa(e,r?.[n]))};if(Object.setPrototypeOf(s,fP),Number.isNaN(_t(e)))throw new Error("Cannot nest runtime sized arrays.");if(s.elementType=e,!Number.isInteger(t)||t<0)throw new Error(`Cannot create array schema with invalid element count: ${t}.`);return s.elementCount=t,s}var fP={[B]:!0,type:"array",toString(){return`arrayOf(${String(this.elementType)}, ${this.elementCount})`}};function vP(e){if("multisampled"in e){if(e.multisampled){if(e.dimension==="2d")return hP(e.sampleType);throw new Error(`Multisampled textures only support '2d' dimension, got '${e.dimension}'`)}switch(e.dimension){case"1d":return yP(e.sampleType);case"2d":return ps(e.sampleType);case"2d-array":return xP(e.sampleType);case"3d":return wP(e.sampleType);case"cube":return gP(e.sampleType);case"cube-array":return bP(e.sampleType);default:throw new Error(`Unsupported texture dimension: '${e.dimension}'`)}}if(!("access"in e))throw new Error("Descriptor is neither a sampled nor a storage texture");switch(e.dimension){case"1d":return TP(e.format,e.access);case"2d":return Mo(e.format,e.access);case"2d-array":return SP(e.format,e.access);case"3d":return AP(e.format,e.access);default:throw new Error(`Unsupported storage texture dimension: '${e.dimension}'`)}}function ti(e,t){let s=e.startsWith("texture_depth")?["depth","float","unfilterable-float"]:t.sampleType.type==="i32"?["sint"]:t.sampleType.type==="u32"?["uint"]:["float","unfilterable-float"];return{[B]:{},[id]:void 0,type:e,bindingSampleType:s,...t}}function Wu(e,t){return{[B]:{},[id]:void 0,type:e,...t}}var bx=new Map,Fc={"write-only":"write","read-only":"read","read-write":"read_write"};function ko(e,t){let s=bx.get(e);return s||(s=t(),bx.set(e,s)),s}function yP(e){let t=e||a;return ko(`texture_1d<${t.type}>`,()=>ti("texture_1d",{dimension:"1d",sampleType:t,multisampled:!1}))}function ps(e){let t=e||a;return ko(`texture_2d<${t.type}>`,()=>ti("texture_2d",{dimension:"2d",sampleType:t,multisampled:!1}))}function hP(e){let t=e||a;return ko(`texture_multisampled_2d<${t.type}>`,()=>ti("texture_multisampled_2d",{dimension:"2d",sampleType:t,multisampled:!0}))}function xP(e){let t=e||a;return ko(`texture_2d_array<${t.type}>`,()=>ti("texture_2d_array",{dimension:"2d-array",sampleType:t,multisampled:!1}))}function gP(e){let t=e||a;return ko(`texture_cube<${t.type}>`,()=>ti("texture_cube",{dimension:"cube",sampleType:t,multisampled:!1}))}function bP(e){let t=e||a;return ko(`texture_cube_array<${t.type}>`,()=>ti("texture_cube_array",{dimension:"cube-array",sampleType:t,multisampled:!1}))}function wP(e){let t=e||a;return ko(`texture_3d<${t.type}>`,()=>ti("texture_3d",{dimension:"3d",sampleType:t,multisampled:!1}))}function TP(e,t){let s=t||"write-only";return ko(`texture_storage_1d<${e}, ${Fc[s]}>`,()=>Wu("texture_storage_1d",{dimension:"1d",format:e,access:s}))}function Mo(e,t){let s=t||"write-only";return ko(`texture_storage_2d<${e}, ${Fc[s]}>`,()=>Wu("texture_storage_2d",{dimension:"2d",format:e,access:s}))}function SP(e,t){let s=t||"write-only";return ko(`texture_storage_2d_array<${e}, ${Fc[s]}>`,()=>Wu("texture_storage_2d_array",{dimension:"2d-array",format:e,access:s}))}function AP(e,t){let s=t||"write-only";return ko(`texture_storage_3d<${e}, ${Fc[s]}>`,()=>Wu("texture_storage_3d",{dimension:"3d",format:e,access:s}))}function s5(){return ko("texture_external",()=>({[B]:{},[id]:void 0,type:"texture_external",dimension:"2d"}))}function r5(e){return!!e[B]&&typeof e.multisampled=="boolean"}function dl(e){return!!e[B]&&typeof e.format=="string"&&typeof e.access=="string"}function MP(e){return!!e[B]&&e.type==="texture_external"}function fv(){return{[B]:{},type:"sampler",[id]:void 0}}function o5(){return{[B]:{},type:"sampler_comparison",[id]:void 0}}function PP(e){return!!e[B]&&e.type==="sampler"}function EP(e){return!!e[B]&&e.type==="sampler_comparison"}var XI=Ao(((e,t)=>t===void 0?s=>wx(e,s):wx(e,t))).$name("disarrayOf");function wx(e,t){let s=r=>{if(r&&r.length!==t)throw new Error(`Disarray schema of ${t} elements of type ${e.type} called with ${r.length} argument(s).`);return Array.from({length:t},(o,n)=>aa(e,r?.[n]))};if(Object.setPrototypeOf(s,kP),s.elementType=e,!Number.isInteger(t)||t<0)throw new Error(`Cannot create disarray schema with invalid element count: ${t}.`);return s.elementCount=t,s}var kP={[B]:!0,type:"disarray",toString(){return`disarrayOf(${this.elementType}, ${this.elementCount})`}};var HI={[B]:!0,type:"unstruct",$name(e){return ot(this,e),this},toString(){return`unstruct:${xe(this)??""}`}};function $P(e){return new UP(e)}var UP=class{[B]={};type="atomic";inner;constructor(e){this.inner=e}};function Ou(e,t){return zn(e)?new Tx(e.inner,[t,...e.attribs]):ha(e)?new Sx(e.inner,[t,...e.attribs]):zu(e)?new Sx(e,[t]):new Tx(e,[t])}function n5(e,t){return Ou(t,{[B]:!0,type:"@align",params:[e]})}function a5(e,t){return Ou(t,{[B]:!0,type:"@size",params:[e]})}function fp(e,t){return Ou(t,{[B]:!0,type:"@location",params:[e]})}function nn(e){return(zn(e)||ha(e))&&e.attribs.find(VA)!==void 0}function gc(e){return!zn(e)&&!ha(e)?"":e.attribs.map(t=>t.params.length===0?`${t.type} `:`${t.type}(${t.params.join(", ")}) `).join("")}var i5=class{[B]={};inner;attribs;constructor(e,t){this.inner=e,this.attribs=t;let s=t.find(e2)?.params[0],r=t.find(t2)?.params[0];if(s!==void 0){if(s<=0)throw new Error(`Custom data alignment must be a positive number, got: ${s}.`);if(Math.log2(s)%1!==0)throw new Error(`Alignment has to be a power of 2, got: ${s}.`);if(Qa(this.inner)&&s%rs(this.inner)!==0)throw new Error(`Custom alignment has to be a multiple of the standard data alignment. Got: ${s}, expected multiple of: ${rs(this.inner)}.`)}if(r!==void 0){if(r<_t(this.inner))throw new Error(`Custom data size cannot be smaller then the standard data size. Got: ${r}, expected at least: ${_t(this.inner)}.`);if(r<=0)throw new Error(`Custom data size must be a positive number. Got: ${r}.`)}}},Tx=class extends i5{[B]={};type="decorated"},Sx=class extends i5{[B]={};type="loose-decorated"};function d5(e){return pv(e,"isContiguous")}function c5(e){return pv(e,"longestContiguousPrefix")}var _5=Object.defineProperty,CP=(e,t,s)=>t in e?_5(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,RP=(e,t)=>{for(var s in t)_5(e,s,{get:t[s],enumerable:!0})},Mt=(e,t,s)=>CP(e,typeof t!="symbol"?t+"":t,s);RP({},{BufferReader:()=>ld,BufferWriter:()=>si,MaxValue:()=>Es,Measurer:()=>gs,UnresolvedReferenceError:()=>Ra,ValidationError:()=>Vu,arrayOf:()=>IP,bool:()=>FP,byte:()=>NP,chars:()=>nE,concat:()=>cE,dynamicArrayOf:()=>lE,f16:()=>tE,f32:()=>rE,f32Array:()=>PE,f64Array:()=>EE,generic:()=>iE,genericEnum:()=>dE,i16:()=>XP,i16Array:()=>AE,i32:()=>ZP,i32Array:()=>ME,i8:()=>OP,i8Array:()=>SE,keyed:()=>pE,object:()=>aE,optional:()=>vE,string:()=>BP,tupleOf:()=>xE,u16:()=>jP,u16Array:()=>wE,u32:()=>JP,u32Array:()=>TE,u8:()=>f5,u8Array:()=>gE,u8ClampedArray:()=>bE});var Ra=class l5 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,l5.prototype)}},Vu=class u5 extends Error{constructor(t){super(t),Object.setPrototypeOf(this,u5.prototype)}},zP=class{constructor(){Mt(this,"size",NaN),Mt(this,"unbounded",this),Mt(this,"isUnbounded",!0)}add(){return this}fork(){return this}},GP=new zP,gs=class m5{constructor(){Mt(this,"size",0),Mt(this,"unbounded",GP),Mt(this,"isUnbounded",!1)}add(t){return this.size+=t,this}fork(){let t=new m5;return t.size=this.size,t}},Es=Symbol("The biggest (in amount of bytes needed) value a schema can represent"),or=class{constructor(){Mt(this,"__unwrapped")}resolveReferences(e){}seekProperty(e,t){return null}},YP=class{constructor(e){this.key=e}},dc={STRING:"string",ENUM:"enum"},LP=class extends or{constructor(e,t){super(),this._unstableElementSchema=e,this.length=t,Mt(this,"elementSchema"),this.elementSchema=e}resolveReferences(e){this.elementSchema=e.resolve(this._unstableElementSchema)}write(e,t){if(t.length!==this.length)throw new Vu(`Expected array of length ${this.length}, got ${t.length}`);for(let s of t)this.elementSchema.write(e,s)}read(e){let t=[];for(let s=0;s{let o=t.fork();for(let n of Object.values(r.properties))n.measure(Es,o);return[r,o.size]}).reduce((r,o)=>r[1]>o[1]?r:o)[0];for(let r of Object.values(s.properties))r.measure(Es,t)}else{let s=e.type,r=this.subTypeMap[s]||null;if(r===null)throw new Error(`Unknown sub-type '${s.toString()}', expected one of '${JSON.stringify(Object.keys(this.subTypeMap))}'`);for(let[o,n]of Jn(r.properties))n.measure(e[o],t)}return t}};function iE(e,t){return new y5(dc.STRING,e,t)}function dE(e,t){return new y5(dc.ENUM,e,t)}function cE(e){return new vv(Object.fromEntries(e.flatMap(({properties:t})=>Object.entries(t))))}var _E=class extends or{constructor(e){super(),this._unstableElementType=e,Mt(this,"elementType"),this.elementType=e}resolveReferences(e){this.elementType=e.resolve(this._unstableElementType)}write(e,t){e.writeUint32(t.length);for(let s of t)this.elementType.write(e,s)}read(e){let t=[],s=e.readUint32();for(let r=0;r=e.length)return null;let r=new gs;for(let o=0;oe.resolve(s))}var hE=class extends or{constructor(e){super(),this._unstableSchemas=e,Mt(this,"schemas"),this.schemas=e}resolveReferences(e){this.schemas=yE(e,this._unstableSchemas)}write(e,t){if(t.length!==this.schemas.length)throw new Vu(`Expected tuple of length ${this.schemas.length}, got ${t.length}`);for(let s=0;snew Ln(e,Uint8Array),bE=e=>new Ln(e,Uint8ClampedArray),wE=e=>new Ln(e,Uint16Array),TE=e=>new Ln(e,Uint32Array),SE=e=>new Ln(e,Int8Array),AE=e=>new Ln(e,Int16Array),ME=e=>new Ln(e,Int32Array),PE=e=>new Ln(e,Float32Array),EE=e=>new Ln(e,Float64Array);function kE(){let e=new Uint8Array(4),t=new Uint32Array(e.buffer);return t[0]=1,e[0]===0}function yv(){return kE()?"big":"little"}function hv(e){let t=0,s=e;return s&&"buffer"in s&&"byteOffset"in s&&(t+=s.byteOffset,s=s.buffer),{buffer:s,byteOffset:t,byteLength:e.byteLength}}var x5=class{constructor(e,t){Mt(this,"dataView"),Mt(this,"littleEndian"),Mt(this,"needsByteSwap"),Mt(this,"byteOffset",0),Mt(this,"endianness");let{byteOffset:s=0,endianness:r="system"}=t??{};this.byteOffset=s;let o=yv();this.endianness=r==="system"?o:r,this.littleEndian=this.endianness==="little",this.needsByteSwap=this.endianness!==o;let n=hv(e);this.byteOffset+=n.byteOffset,this.dataView=new DataView(n.buffer)}get currentByteOffset(){return this.byteOffset}seekTo(e){this.byteOffset=e}skipBytes(e){this.byteOffset+=e}},ld=class extends x5{constructor(){super(...arguments),Mt(this,"_cachedTextDecoder")}get _textDecoder(){return this._cachedTextDecoder||(this._cachedTextDecoder=new TextDecoder(void 0,{fatal:!0})),this._cachedTextDecoder}readBool(){return this.dataView.getUint8(this.byteOffset++)!==0}readByte(){return this.dataView.getUint8(this.byteOffset++)}readInt8(){return this.dataView.getInt8(this.byteOffset++)}readUint8(){return this.dataView.getUint8(this.byteOffset++)}readInt16(){let e=this.dataView.getInt16(this.byteOffset,this.littleEndian);return this.byteOffset+=2,e}readUint16(){let e=this.dataView.getUint16(this.byteOffset,this.littleEndian);return this.byteOffset+=2,e}readInt32(){let e=this.dataView.getInt32(this.byteOffset,this.littleEndian);return this.byteOffset+=4,e}readUint32(){let e=this.dataView.getUint32(this.byteOffset,this.littleEndian);return this.byteOffset+=4,e}readFloat16(){let e=this.dataView.getFloat16(this.byteOffset,this.littleEndian);return this.byteOffset+=2,e}readFloat32(){let e=this.dataView.getFloat32(this.byteOffset,this.littleEndian);return this.byteOffset+=4,e}readString(){let e=0;for(;this.byteOffset+e1)for(let i=0;i=0;d--)o[i+d]=this.dataView.getUint8(this.byteOffset++);else o.set(new Uint8Array(this.dataView.buffer,this.byteOffset,s)),this.byteOffset+=s}},si=class extends x5{constructor(){super(...arguments),Mt(this,"_cachedTextEncoder")}get _textEncoder(){return this._cachedTextEncoder||(this._cachedTextEncoder=new TextEncoder),this._cachedTextEncoder}writeBool(e){this.dataView.setUint8(this.byteOffset++,e?1:0)}writeByte(e){this.dataView.setUint8(this.byteOffset++,e)}writeInt8(e){this.dataView.setInt8(this.byteOffset++,e)}writeUint8(e){this.dataView.setUint8(this.byteOffset++,e)}writeInt16(e){this.dataView.setInt16(this.byteOffset,e,this.littleEndian),this.byteOffset+=2}writeUint16(e){this.dataView.setUint16(this.byteOffset,e,this.littleEndian),this.byteOffset+=2}writeInt32(e){this.dataView.setInt32(this.byteOffset,e,this.littleEndian),this.byteOffset+=4}writeUint32(e){this.dataView.setUint32(this.byteOffset,e,this.littleEndian),this.byteOffset+=4}writeFloat16(e){this.dataView.setFloat16(this.byteOffset,e,this.littleEndian),this.byteOffset+=2}writeFloat32(e){this.dataView.setFloat32(this.byteOffset,e,this.littleEndian),this.byteOffset+=4}writeString(e){let t=this._textEncoder.encodeInto(e,new Uint8Array(this.dataView.buffer,this.byteOffset));this.byteOffset+=t.written,this.dataView.setUint8(this.byteOffset++,0)}writeSlice(e){let t=hv(e),s=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),r=e.BYTES_PER_ELEMENT;if(this.needsByteSwap&&r>1)for(let o=0;o=0;n--)this.dataView.setUint8(this.byteOffset++,s[o+n]);else new Uint8Array(this.dataView.buffer,this.byteOffset).set(s),this.byteOffset+=s.length}};function $E(e,t){let s="size"in e?e.size:e.currentByteOffset,r=t-1,o=s&r;"skipBytes"in e?e.skipBytes(t-o&r):e.add(t-o&r)}var Os=$E,Ax=new WeakMap;function Nu(e){let t=Ax.get(e);if(t)return t;let s=new gs,r={},o;for(let n in e.propTypes){let i=e.propTypes[n];if(i===void 0)throw new Error(`Property ${n} is undefined in struct`);let d=s.size;Os(s,un(e)?wo(i):rs(i)),o&&(o.padding=s.size-d);let c=_t(i);r[n]={offset:s.size,size:c},o=r[n],s.add(c)}return o&&(o.padding=qs(_t(e),rs(e))-s.size),Ax.set(e,r),r}var ia=Symbol("indirectOffset"),da=Symbol("indirectContiguous");function UE(e){return typeof e=="object"&&e!==null&&ia in e&&da in e}function ec(e,t){return{[ia]:e,[da]:t}}function xv(e,t){if(t===ia)return e[ia];if(t===da)return e[da]}function gv(e,t,s=_t(e)){let r=lo(e),o=Rt(r)?r.componentCount:void 0;if(o!==void 0){let n=_t(r.primitive);return RE(ec(t,s),n,o)}return Qt(r)?GE(r,ec(t,s)):Us(r)?zE(r,ec(t,s)):ec(t,s)}function CE(e,t=0){return gv(e,t,_t(e))}function RE(e,t,s){let r=e[ia];return new Proxy(e,{get(o,n){let i=xv(o,n);if(i!==void 0)return i;let d=n==="x"||n==="0"?0:n==="y"||n==="1"?1:n==="z"||n==="2"?2:n==="w"||n==="3"?3:-1;if(d<0||d>=s)return;let c=d*t,_=Math.max(0,o[da]-c);return ec(r+c,_)}})}function zE(e,t){let s=e.elementType,r=_t(s),o=qs(r,rs(s)),n=o>r;return new Proxy(t,{get(i,d){let c=xv(i,d);if(c!==void 0)return c;if(d==="length")return e.elementCount;if(typeof d!="string")return;let _=Number(d);if(!Number.isInteger(_)||_<0||_>=e.elementCount)return;let u=_*o,m=d5(s)?Math.max(0,i[da]-u):r+c5(s),p=n?Math.min(m,r):m;return gv(s,i[ia]+u,p)}})}function GE(e,t){let s=Nu(e),r=e.propTypes,o=Object.keys(r),n=new Map,i=0;for(let d=0;d0||!p))continue;let y=u.offset+(p?u.size:c5(_));for(let h=i;h<=d;h++){let g=o[h];if(!g)continue;let w=s[g];n.set(g,{offset:w.offset,runEnd:y})}i=d+1}return new Proxy(t,{get(d,c){let _=xv(d,c);if(_!==void 0)return _;if(typeof c!="string")return;let u=n.get(c);if(!u)return;let m=Math.max(0,d[da]-u.offset),p=Math.max(0,u.runEnd-u.offset),y=r[c];if(y)return gv(y,d[ia]+u.offset,_t(e)===u.runEnd?m:p)}})}function YE(e){let t=lo(e);if(Qt(t)){let s=Nu(t),r=t.propTypes,o=Object.keys(r);for(let n=0;n0)return _}return 0}if(Us(t)){let s=t.elementType,r=_t(s),o=qs(r,rs(s)),n=_t(e);return Number.isFinite(n)?o>r?r:n:r}return _t(e)}function cl(e,t){if(!t)return{offset:0,contiguous:YE(e)};let s=t(CE(e));if(UE(s))return{offset:s[ia],contiguous:s[da]};throw new Error("memoryLayoutOf: accessor did not return a schema element. Make sure the accessor navigates to a field or element of the schema (e.g. `(s) => s.position.x`).")}function Rs(e,t){return Ou(e,{[B]:!0,type:"@builtin",params:[t]})}var _r={vertexIndex:Rs(R,"vertex_index"),instanceIndex:Rs(R,"instance_index"),clipDistances:Rs(pt(R,8),"clip_distances"),position:Rs(Oe,"position"),frontFacing:Rs(ft,"front_facing"),fragDepth:Rs(a,"frag_depth"),primitiveIndex:Rs(R,"primitive_index"),sampleIndex:Rs(R,"sample_index"),sampleMask:Rs(R,"sample_mask"),localInvocationId:Rs(gt,"local_invocation_id"),localInvocationIndex:Rs(R,"local_invocation_index"),globalInvocationId:Rs(gt,"global_invocation_id"),globalInvocationIndex:Rs(R,"global_invocation_index"),workgroupId:Rs(gt,"workgroup_id"),workgroupIndex:Rs(R,"workgroup_index"),numWorkgroups:Rs(gt,"num_workgroups"),subgroupInvocationId:Rs(R,"subgroup_invocation_id"),subgroupSize:Rs(R,"subgroup_size"),subgroupId:Rs(R,"subgroup_id"),numSubgroups:Rs(R,"num_subgroups")};var jI=(rr(),Or),l=(rr(),lt),KI=(rr(),Vs),El=(rr(),Xt),Ge=(rr(),Ct),ZI=(rr(),Vr),f=(rr(),It),QI=(rr(),Pr),JI=(rr(),cs),Oa=(rr(),gt),e8=(rr(),Nr),x=(rr(),Oe),t8=(rr(),Ns),s8=(rr(),Wt),r8=(rr(),Et),o8=(rr(),Gn),ud=(rr(),Yn),n8=(rr(),Hs);function LE(e){return e?.[Hr]}function bv(e,t={}){let s=0,r=new Set;return Object.fromEntries(Object.entries(e??{}).map(([o,n])=>{let i=na(n);if(i!==void 0){if(r.has(i))throw new Error("Duplicate custom location attributes found");r.add(i)}return[o,n]}).map(([o,n])=>{if(nn(n))return[o,n];if(na(n)!==void 0)return[o,n];if(t[o])return[o,fp(t[o],n)];for(;r.has(s);)s++;return[o,fp(s++,n)]}))}function g5(e,t={}){let s=[],r={};for(let[o,n]of Object.entries(e))nn(n)?s.push({schemaKey:o,type:n}):r[o]=n;return{dataSchema:Object.keys(r).length>0?Bu(bv(r,t),!1):void 0,positionalArgs:s}}function IE(e){let t=bv(e);return{dataSchema:void 0,positionalArgs:Object.entries(t).map(([s,r])=>({schemaKey:s,type:r}))}}function Bc(e,t={}){return Rc(e)?Cu(e)||nn(e)||na(e)!==void 0?e:fp(0,e):Bu(bv(e,t),!1)}var Wo=class{#e;#t;#s;#r;#o;#n;constructor(e,t,s){this.#e=e,this.#n=t,this.#t={},this.#r=s,this.#s=new Set}accessProp(e){let t=this.#e[e]??this.#n;if(t)return this.provideProp(e,t)}provideProp(e,t){let s=this.#t[e];if(!s){let r=e.replaceAll("$","");if(this.#s.has(r))throw new Error(`Property name '${r}' causes naming clashes. Choose a different name.`);let o=e5(r);if(!o.success)throw new Error(`Invalid property key '${e}'${o.error?`: ${o.error}`:""}`);this.#s.add(r),s={prop:r,type:t},this.#t[e]=s}return s}get completeStruct(){if(!this.#o){this.#o=Bc(Object.fromEntries(Object.values(this.#t).map(t=>[t.prop,t.type])),this.#r);let e=xe(this);e&&ot(this.#o,e)}return this.#o}[kt](e){return e.resolve(this.completeStruct)}toString(){return`auto-struct:${xe(this)??""}`}};Wo.prototype[B]={};Wo.prototype.type="auto-struct";var b5=class{[B]={};type="entry-input-router";structArg;positionalArgsMap;constructor(e,t){this.structArg=e,this.positionalArgsMap=new Map(t.map(s=>[s.schemaKey,s.arg]))}toString(){return"entry-input-router"}accessProp(e){let t=this.positionalArgsMap.get(e);if(t)return t();let s=this.structArg?.();if(s&&Qt(s.dataType))return{target:s,prop:e}}},DE=["vec2f","vec3f","vec4f","vec2h","vec3h","vec4h","vec2i","vec3i","vec4i","vec2u","vec3u","vec4u","mat2x2f","mat3x3f","mat4x4f"],FE={f:{1:a,2:lt,3:It,4:Oe},h:{1:xs,2:Vs,3:Pr,4:Ns},i:{1:Z,2:Xt,3:cs,4:Wt},u:{1:R,2:Ct,3:gt,4:Et},b:{1:ft,2:Or,3:Vr,4:Nr}};function Bi(e,t){if(DE.includes(e.dataType.type)&&t in pp){let r=pp[t];return ve(new uv(e,r),Ut,e.origin,e.possibleSideEffects)}if(Us(e.dataType)&&t==="length")return e.dataType.elementCount===0?ve(ce`arrayLength(&${e})`,R,"runtime",e.possibleSideEffects):on(e.dataType.elementCount);if(rn(e.dataType)&&t==="columns")return ve(new h2(e),Ut,e.origin,e.possibleSideEffects);if(Qt(e.dataType)||un(e.dataType))return E2(e,t);if(e.dataType instanceof Wo){let r=e.dataType.accessProp(t);return r?ve(ce`${e}.${r.prop}`,r.type,"argument",e.possibleSideEffects):void 0}if(e.dataType instanceof b5){let r=e.dataType.accessProp(t);return Gc(r)?r:r?Bi(r.target,r.prop):void 0}if(pr(e.dataType)){let r=Wf(e);return t==="$"?r:Bi(r,t)}if(Rt(e.dataType)&&t==="kind")return ve(e.dataType.type,Ut,"constant",!1);let s=t.length;if(Rt(e.dataType)&&s>=1&&s<=4&&/^[xyzw]+$|^[rgba]+$/.test(t)){let r=FE[e.dataType.type.includes("bool")?"b":e.dataType.type[4]][s];return r?ve(hs(e)?e.value[t]:ce`${e}.${t}`,r,s===1?e.origin:e.origin==="constant"||e.origin==="constant-immutable-def"?"constant":"runtime",e.possibleSideEffects):void 0}if(hs(e)||e.dataType===Ut){let r=e.value[t];return Di(r)&&xe(r)===void 0&&ot(r,t),Wr(r)}}var Mx={mat2x2f:lt,mat3x3f:It,mat4x4f:Oe};function qu(e,t){let s=typeof t=="number"?Wr(t):t;if(Us(e.dataType)||Ja(e.dataType)){let r=e.dataType.elementType,o;return e.origin==="constant-immutable-def"?o=s.origin==="constant"||s.origin==="constant-immutable-def"?"constant-immutable-def":"runtime-immutable-def":e.origin==="constant"?o=s.origin==="constant"||s.origin==="constant-immutable-def"?"constant":"runtime":o=e.origin,e.value instanceof ic&&hs(s)?e.value.elements[s.value]:ve(hs(e)&&hs(s)?e.value[s.value]:ce`${e}[${s}]`,r,o,e.possibleSideEffects||s.possibleSideEffects)}if(Rt(e.dataType))return ve(hs(e)&&hs(s)?e.value[s.value]:ce`${e}[${s}]`,e.dataType.primitive,e.origin,e.possibleSideEffects||s.possibleSideEffects);if(pr(e.dataType))return qu(Wf(e),s);if(e.value instanceof h2){let r=Mx[e.value.matrix.dataType.type];return ve(ce`${e.value.matrix}[${s}]`,r,e.origin,e.possibleSideEffects||s.possibleSideEffects)}if(e.dataType.type in Mx)throw new Error("The only way of accessing matrix elements in TypeGPU functions is through the 'columns' property.");if(hs(e)&&hs(s))return Wr(e.value[s.value]);if(Qt(e.dataType)&&hs(s)&&typeof s.value=="string")return Bi(e,s.value)}var Wi={get(e,t){if(t in e)return Reflect.get(e,t);if(t==="toString"||t===Symbol.toStringTag||t===Symbol.toPrimitive)return()=>e.toString();if(typeof t=="symbol")return;let s=Gu(e),r=Number(t);if(!Number.isNaN(r)){let n=qu(s,r);return n?new Proxy({[B]:!0,[kt]:i=>i.resolveSnippet(n),[oa]:n,toString:()=>`${String(e)}[${t}]`},Wi):void 0}let o=Bi(s,String(t));if(o)return new Proxy({[B]:!0,[kt]:n=>n.resolveSnippet(o),[oa]:o,toString:()=>`${String(e)}.${t}`},Wi)}};function kl(e){let t=e;for(;;){let s=LE(t);if(!s)break;t=s}return t}function mn(e,t){return Object.defineProperty(e,Hr,{get(){if("get"in t.codegenMode)return t.codegenMode.get.apply(this);let s=this;return new Proxy({[B]:!0,get[oa](){if(!("getBaseSnippet"in t.codegenMode))throw new Error("Expected 'getBaseSnippet' to be defined.");return t.codegenMode.getBaseSnippet.apply(s,[this])},[kt]:r=>r.resolve(s),toString:()=>`${s.toString()}.$`},Wi)}}),Object.defineProperty(e,"$",{get(){let s=J0();return s.type==="codegen"?this[Hr]:s.type==="simulate"?t.simulateMode?.get?t.simulateMode.get.apply(this,[s]):t.normalMode.get.apply(this):s.type==="normal"?t.normalMode.get.apply(this):xc(s,"makeDereferenceable.ts#$ (get)")},set(s){let r=J0();if(r.type==="normal"){if(!t.normalMode.set)throw new Error(`'${this.toString()}' cannot be set in normal mode`);t.normalMode.set.apply(this,[s]);return}if(r.type==="simulate"){if(t.simulateMode?.set)t.simulateMode.set.apply(this,[r,s]);else if(t.normalMode.set)t.normalMode.set.apply(this,[s]);else throw new Error(`'${this.toString()}' cannot be set in simulate mode`);return}if(r.type==="codegen")throw new Error("Unreachable makeDerefenceable.ts#$ (set)");return xc(r,"makeDereferenceable.ts#$ (set)")}}),e}function In(e,t){return mt(e)||Object.defineProperty(e,B,{value:!0,writable:!0}),Object.defineProperty(e,"toString",{value(){return t.asString.apply(this)}}),Object.defineProperty(e,kt,{value(s){return t.resolve.apply(this,[s])}}),e}function wv(e,t){if(!Rc(e)){if(!Array.isArray(t))throw new Error(`Expected an array value for a partially-applied array schema, but received: ${typeof t}.`);return new Px(e(t.length),t)}return new Px(e,t)}function w5(e){let t=Reflect.ownKeys(e);for(let s of t){let r=e[s];(r&&typeof r=="object"||typeof r=="function")&&w5(r)}return Object.freeze(e)}var Px=class _l{[me];static#e=void(_l.prototype[B]={},_l.prototype.resourceType="const",mn(In(_l.prototype,{asString(){return`const:${xe(this)??""}`},resolve(t){let s=t.makeUniqueIdentifier(xe(this),"global");return t.gen.declareGlobalConst({id:s,dataType:this.dataType,init:ve(this[me].value,this.dataType,"constant")})}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.dataType,"constant-immutable-def",!1)}},normalMode:{get(){return this[me].value}}}));constructor(t,s){this[me]={type:"const",dataType:t,value:s&&typeof s=="object"?w5(s):s,label:void 0}}get dataType(){return this[me].dataType}$name(t){return ot(this,t),this}};function BE(e){return _M(e)||zu(e)||Fi(e)}function Ex(e){let t=e.pluginProvided??e.userProvided??{},s=Object.defineProperties({},Object.getOwnPropertyDescriptors(t));for(let r of[e.args,e.out].filter(o=>o!==void 0))for(let[o,n]of Object.entries(r)){if(o in s&&s[o]!==n)throw new Error(`Key '${o}' appears in externals despite already being used for argument/return type. Please rename this external.`);s[o]=n}return s}function WE(e,t,s){let r=[...e.matchAll(/:\s*(?.*?)\s*[,)]/g)].map(n=>n?.[1]),o=Object.fromEntries(t.flatMap((n,i)=>{let d=r?.[i];return Qt(n)&&d!==void 0?[[d,n]]:[]}));s.setExternals("args",o)}function T5(e,t,s){let r=e.match(/->\s(?[\w\d_]+)\s{/),o=r?r[1]?.trim():void 0;Qt(t)&&o&&!/\s/g.test(o)&&s.setExternals("out",{[o]:t})}var kx=/([$_\p{XID_Start}][$\p{XID_Continue}]*)/u,OE=new RegExp(`(${kx.source})(\\.${kx.source})*`,"ug"),VE=new RegExp(`(?n.includes("."));if(o)throw new Error(`External key '${o}' contains invalid character '.'`);return s.replaceAll(VE,n=>{let i=n.split(".");if(!Object.hasOwn(t,i.at(0)))return n;let d=t,c="";for(let[_,u]of i.entries()){if(d=d[u],BE(d)||typeof d=="string"){c=i.slice(_+1).map(m=>`.${m}`).join(""),Di(d)&&xe(d)===void 0&&ot(d,i.slice(0,_+1).join("_"));break}if(typeof d!="object"||d===null||_===i.length-1)return Vt.warn("external-omitted",`During resolution, the external '${i.slice(0,_+1).join(".")}' has been omitted. Only TGPU resources, 'use gpu' functions, primitives, and plain JS objects can be used as externals.`),n}return e.resolve(d).value+c})}var NE=class{[B]=!0;#e;constructor(e){this.#e=e}[kt](){return ve(this.#e,Ut,"runtime",!0)}},Tv=new Set([` +`,"\v","\f","\r","\x85","\u2028","\u2029"]),S5=new Set([...Tv," "," ","\u200E","\u200F"]);function qE(e){let{strippedCode:t,argRange:s}=XE(e),r=new A5(t);r.consume("(");let o=[];for(;!r.isAt(")");){let i=[];for(;r.isAt("@");)r.parseUntil($x,Ux),r.consume(")"),i.push(r.lastParsed);r.parseUntil(HE);let d=r.lastParsed,c;r.isAt(":")&&(r.consume(":"),r.parseUntil(jE,ZE),c=r.lastParsed),o.push({identifier:d,attributes:i,type:c}),r.isAt(",")&&r.consume(",")}r.consume(")");let n;if(r.isAt("->")){r.consume("->");let i=[];for(;r.isAt("@");)r.parseUntil($x,Ux),r.consume(")"),i.push(r.lastParsed);n={type:r.str.slice(r.pos),attributes:i}}return{args:o,ret:n,range:{begin:s[0],end:s[1]}}}function XE(e){let t=new A5(e),s="",r;for(;!t.isFinished();){if(t.isAt(S5)){t.advanceBy(1);continue}if(t.isAt("//")){t.consume("//"),t.parseUntil(Tv),t.advanceBy(1);continue}if(t.isAt("/*")){t.parseUntil(KE,QE),t.consume("*/");continue}if(t.isAt("{"))return{strippedCode:s,argRange:[r,t.pos]};t.isAt("(")&&r===void 0&&(r=t.pos),r!==void 0&&(s+=t.str[t.pos]),t.advanceBy(1)}throw new Error("Invalid wgsl code!")}var A5=class{str;#e;#t;constructor(e){this.str=e,this.#t=0}get pos(){return this.#t}get lastParsed(){if(this.#e===void 0)throw new Error("Parse was not called yet!");return this.str.slice(this.#e,this.pos)}isFinished(){return this.#t>=this.str.length}isAt(e){if(typeof e=="string"){for(let t=0;t"],QE=["/*","*/"];function ri(e,t,s){let r={};return{[Xs]:typeof e=="function"?e:void 0,setExternals(o,n){if(o==="userProvided"&&"userProvided"in r)throw new Error("Cannot call '$uses' multiple times. If you wish to override dependencies, use slots or accessors instead.");if(r[o]=n,r.userProvided&&r.pluginProvided)throw new Error("Cannot call '$uses' on functions whose metadata was provided by unplugin-typegpu.")},resolve(o,n,i,d){let c="";t==="compute"?c=`@compute @workgroup_size(${s?.join(", ")}) `:t==="vertex"?c="@vertex ":t==="fragment"&&(c="@fragment ");let _=o.makeUniqueIdentifier(xe(this),"global");if(typeof e=="string"){if(!i)throw new Error("Explicit return type is required for string implementation");if(d){for(let A of d.positionalArgs){let P=Fu(A.schemaKey);if(!P.success)throw new Error(`Invalid argument name "${A.schemaKey}"${P.error?`: ${P.error}`:""}`);if(o.isIdentifierBanned(A.schemaKey))throw new Error(`Invalid argument name "${A.schemaKey}", the identifier is a reserved keyword.`)}this.setExternals("args",{in:Object.fromEntries(d.positionalArgs.map(A=>[A.schemaKey,new NE(A.schemaKey)]))})}let w=Xu(o,Ex(r),e),S="",T="";if(t!=="normal"&&d){let{dataSchema:A,positionalArgs:P}=d,U=[];A&&Cx("in",w)&&U.push(`in: ${o.resolve(A).value}`);for(let L of P){let G=L.schemaKey;Cx(G,w)&&U.push(`${gc(L.type)}${G}: ${o.resolve(L.type).value}`)}let D=`(${U.join(", ")})`,O=Qa(i)?gc(i):"";S=`${D}${i!==_s?Qt(i)?` -> ${o.resolve(i).value} `:` -> ${O!==""?O:"@location(0)"} ${o.resolve(i).value} `:" "}`,T=w}else{let A=qE(w);if(A.args.length!==n.length)throw new Error(`WGSL implementation has ${A.args.length} arguments, while the shell has ${n.length} arguments.`);S=`(${A.args.map((P,U)=>`${P.identifier}: ${Rx(o,`parameter ${P.identifier}`,P.type,n[U])}`).join(", ")})${i===_s?" ":` -> ${Rx(o,"return type",A.ret?.type,i)} `}`,T=w.slice(A.range.end)}return o.addDeclaration(`${c}fn ${_}${S}${T}`,_),ve(_,i,"runtime")}let u=If(e),m=u?.externals();m&&this.setExternals("pluginProvided",m);let p=u?.ast;if(!p)throw new Error("Missing metadata for tgpu.fn function body (either missing 'use gpu' directive, or misconfigured `unplugin-typegpu`)");let y=p.params[1];y&&y.type==="i"&&t!=="normal"&&this.setExternals("out",{[y.name]:lo(i)});let{code:h,returnType:g}=o.resolveFunction({functionType:t,name:_,workgroupSize:s,argTypes:n,entryInput:d,params:p.params,returnType:i,body:p.body,externalMap:Ex(r)});return o.addDeclaration(h,_),ve(_,g,"runtime")}}}function Cx(e,t){return new RegExp(`\\b${e}\\b`).test(t)}function Rx(e,t,s,r){let o=e.resolve(r).value.replace(/\s/g,"");if(!s)return o;let n=s.replace(/\s/g,"");if(n!==o)throw new Error(`Type mismatch between TGPU shell and WGSL code string: ${t}, JS type "${o}", WGSL type "${n}".`);return s}function Hu(e,...t){return JE(e)?ek(e,...t):e}function JE(e){return Array.isArray(e)&&"raw"in e&&Array.isArray(e.raw)&&e.raw.every(t=>typeof t=="string")}function ek(e,...t){return e.slice(1).reduce((s,r,o)=>`${s}${t[o]}${r}`,e[0])}function qt(e,t){if(typeof e=="function")return P5(e,[]);let s=e,r={[B]:!0,argTypes:s,returnType:t??_s};return Object.assign((n,...i)=>tk(r,Hu(n,...i)),r)}function vp(e){return mt(e)&&e?.resourceType==="function"}function yp(e){return mt(e)&&e?.resourceType==="generic-function"}function M5([e,t]){return`${xe(e)??""}=${t}`}function tk(e,t){let s=[],r;yp(t)?(s=t[Mr]?.pairs??[],r=t[B].inner):r=t;let o=ri(r,"normal"),n={shell:e,resourceType:"function",[B]:{implementation:r},$uses(c){return o.setExternals("userProvided",c),this},[Xs]:o,$name(c){return ot(this,c),this},with:Ao((c,_)=>hp(d,[[dd(c)||cd(c)?c.slot:c,_]])),[kt](c){return typeof r=="string"&&(WE(r,e.argTypes,o),T5(r,e.returnType,o)),o.resolve(c,e.argTypes,e.returnType)}},i=pe({name:void 0,noComptime:!0,signature:{argTypes:e.argTypes,returnType:e.returnType},normalImpl:(...c)=>lM(()=>{try{if(typeof r=="string")throw new Error("Cannot execute on the CPU functions constructed with raw WGSL");let _=c.map((m,p)=>aa(e.argTypes[p],m)),u=r(..._);return aa(e.returnType,u)}catch(_){throw _ instanceof K0?_.appendToTrace(d):new K0(_,[d])}}),codegenImpl:(c,_)=>c.withResetIndentLevel(()=>ce`${c.resolve(d).value}(${_})`),sideEffects:!0}),d=Object.assign(i,n);return Object.defineProperty(d,"toString",{value(){return`fn:${xe(o)??""}`}}),s.length>0?hp(d,s):d}function hp(e,t){let s={resourceType:"function",shell:e.shell,[B]:{implementation:e[B].implementation},[Mr]:{inner:e,pairs:t},$uses(i){return e.$uses(i),this},$name(i){return ot(this,i),this},with:Ao((i,d)=>{let c=dd(i)||cd(i)?i.slot:i;return hp(e,[...t,[c,d]])})},r=pe({name:void 0,noComptime:!0,signature:{argTypes:e.shell.argTypes,returnType:e.shell.returnType},normalImpl:e,codegenImpl:(i,d)=>i.withResetIndentLevel(()=>ce`${i.resolve(o).value}(${d})`),sideEffects:!0}),o=Object.assign(r,s);Object.defineProperty(o,"toString",{value(){return`fn:${xe(this)??""}[${t.map(M5).join(", ")}]`}});let n=xe(e);return n&&ot(o,n),o}function P5(e,t){let s={[B]:{inner:e},resourceType:"generic-function",[Mr]:t.length>0?{inner:e,pairs:t}:void 0,$name(i){return ot(this,i),xe(e)||ot(e,i),this},[kt](i){return i.resolve(e)},with(i,d){let c=dd(i)||cd(i)?i.slot:i;return P5(e,[...t,[c,d]])}},o=Object.assign((...i)=>e(...i),s),n=xe(e);return n&&ot(o,n),Object.defineProperty(o,"toString",{value(){let i=xe(o)??"";return t.length>0?`fn*:${i}[${t.map(M5).join(", ")}]`:`fn*:${i}`}}),o}var sk={block:0,binaryExpr:1,assignmentExpr:2,logicalExpr:3,unaryExpr:4,numericLiteral:5,call:6,memberAccess:7,indexAccess:8,return:10,if:11,let:12,const:13,for:14,while:15,continue:16,break:17,forOf:18,arrayExpr:100,preUpdate:101,postUpdate:102,stringLiteral:103,objectExpr:104,conditionalExpr:105},tc={identifier:"i",destructuredObject:"d"},E5=Za({FuncParameterType:()=>tc,NodeTypeCatalog:()=>sk}),Sv=e=>({argTypes:[e],returnType:e}),Av=(...e)=>{let t=fr(e)??e;return{argTypes:t,returnType:t[0]}},At=e=>(...t)=>{let s=fr(t,e);if(!s)throw new Ts(t,e);return{argTypes:s,returnType:s[0]}};function k5(e){return(t,...s)=>{let r=t;for(let o of s)r=e(r,o);return r}}function $5(e){return(t,[s,...r])=>{let o=ce`${s}`;for(let n of r)o=ce`${e}(${o}, ${n})`;return o}}var rk=[a,xs,qa],bc=[lt,It,Oe,Vs,Pr,Ns],St=[...rk,...bc],ok=[Z,R],nk=[Xt,cs,Wt,Ct,gt,Et],Un=[...ok,...nk];function ak(e){return Tt(Math.abs,[e])}var z=pe({name:"abs",signature:Sv,normalImpl:ak,codegenImpl:(e,[t])=>ce`abs(${t})`,sideEffects:!1});function ik(e){return Tt(Math.acos,[e])}var dk=pe({name:"acos",signature:At(St),normalImpl:ik,codegenImpl:(e,[t])=>ce`acos(${t})`,sideEffects:!1});function ck(e){return Tt(Math.acosh,[e])}var _k=pe({name:"acosh",signature:At(St),normalImpl:ck,codegenImpl:(e,[t])=>ce`acosh(${t})`,sideEffects:!1});function lk(e){return Tt(Math.asin,[e])}var xp=pe({name:"asin",signature:At(St),normalImpl:lk,codegenImpl:(e,[t])=>ce`asin(${t})`,sideEffects:!1});function uk(e){return Tt(Math.asinh,[e])}var mk=pe({name:"asinh",signature:At(St),normalImpl:uk,codegenImpl:(e,[t])=>ce`asinh(${t})`,sideEffects:!1});function pk(e){return Tt(Math.atan,[e])}var fk=pe({name:"atan",signature:At(St),normalImpl:pk,codegenImpl:(e,[t])=>ce`atan(${t})`,sideEffects:!1});function vk(e){return Tt(Math.atanh,[e])}var yk=pe({name:"atanh",signature:At(St),normalImpl:vk,codegenImpl:(e,[t])=>ce`atanh(${t})`,sideEffects:!1});function hk(e,t){return Tt(Math.atan2,[e,t])}var tt=pe({name:"atan2",signature:At(St),normalImpl:hk,codegenImpl:(e,[t,s])=>ce`atan2(${t}, ${s})`,sideEffects:!1});function xk(e){return Tt(Math.ceil,[e])}var cc=pe({name:"ceil",signature:At(St),normalImpl:xk,codegenImpl:(e,[t])=>ce`ceil(${t})`,sideEffects:!1});function gk(e,t,s){return Tt(N2,[e,t,s])}var $=pe({name:"clamp",signature:Av,normalImpl:gk,codegenImpl:(e,[t,s,r])=>ce`clamp(${t}, ${s}, ${r})`,sideEffects:!1});function bk(e){return Tt(Math.cos,[e])}var H=pe({name:"cos",signature:At(St),normalImpl:bk,codegenImpl:(e,[t])=>ce`cos(${t})`,sideEffects:!1});function wk(e){return Tt(Math.cosh,[e])}var Tk=pe({name:"cosh",signature:At(St),normalImpl:wk,codegenImpl:(e,[t])=>ce`cosh(${t})`,sideEffects:!1}),Sk=pe({name:"countLeadingZeros",signature:At(Un),normalImpl:"CPU implementation for countLeadingZeros not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`countLeadingZeros(${t})`,sideEffects:!1});pe({name:"countOneBits",signature:At(Un),normalImpl:"CPU implementation for countOneBits not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`countOneBits(${t})`,sideEffects:!1});pe({name:"countTrailingZeros",signature:At(Un),normalImpl:"CPU implementation for countTrailingZeros not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`countTrailingZeros(${t})`,sideEffects:!1});var a8=pe({name:"cross",signature:At([It,Pr]),normalImpl:(e,t)=>qr.cross[e.kind](e,t),codegenImpl:(e,[t,s])=>ce`cross(${t}, ${s})`,sideEffects:!1});function Ak(e){if(typeof e=="number")return e*180/Math.PI;throw new Ys("CPU implementation for degrees on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}pe({name:"degrees",signature:At(St),normalImpl:Ak,codegenImpl:(e,[t])=>ce`degrees(${t})`,sideEffects:!1});pe({name:"determinant",signature:e=>{if(!(e.type==="mat2x2f"||e.type==="mat3x3f"||e.type==="mat4x4f"))throw new Ts([e],[Gn,Yn,Hs]);return{argTypes:[e],returnType:a}},normalImpl:"CPU implementation for determinant not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`determinant(${t})`,sideEffects:!1});function Mk(e,t){return typeof e=="number"&&typeof t=="number"?Math.abs(e-t):j(ht(e,t))}pe({name:"distance",signature:(...e)=>{let t=fr(e,St);if(!t)throw new Ts(e,St);return{argTypes:t,returnType:Lf(t[0])?xs:a}},normalImpl:Mk,codegenImpl:(e,[t,s])=>ce`distance(${t}, ${s})`,sideEffects:!1});var se=pe({name:"dot",signature:(...e)=>({argTypes:e,returnType:e[0].primitive}),normalImpl:(e,t)=>qr.dot[e.kind](e,t),codegenImpl:(e,[t,s])=>ce`dot(${t}, ${s})`,sideEffects:!1});pe({name:"dot4U8Packed",signature:{argTypes:[R,R],returnType:R},normalImpl:"CPU implementation for dot4U8Packed not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s])=>ce`dot4U8Packed(${t}, ${s})`,sideEffects:!1});pe({name:"dot4I8Packed",signature:{argTypes:[R,R],returnType:Z},normalImpl:"CPU implementation for dot4I8Packed not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s])=>ce`dot4I8Packed(${t}, ${s})`,sideEffects:!1});function Pk(e){return Tt(Math.exp,[e])}var ct=pe({name:"exp",signature:At(St),normalImpl:Pk,codegenImpl:(e,[t])=>ce`exp(${t})`,sideEffects:!1});function Ek(e){return Tt(t=>2**t,[e])}var $l=pe({name:"exp2",signature:At(St),normalImpl:Ek,codegenImpl:(e,[t])=>ce`exp2(${t})`,sideEffects:!1}),i8=pe({name:"extractBits",signature:(e,t,s)=>{let r=fr([e],Un)?.[0];if(!r)throw new Ts([e],Un);return{argTypes:[r,R,R],returnType:r}},normalImpl:"CPU implementation for extractBits not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s,r])=>ce`extractBits(${t}, ${s}, ${r})`,sideEffects:!1});pe({name:"faceForward",signature:At(bc),normalImpl:"CPU implementation for faceForward not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s,r])=>ce`faceForward(${t}, ${s}, ${r})`,sideEffects:!1});pe({name:"firstLeadingBit",signature:Sv,normalImpl:"CPU implementation for firstLeadingBit not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`firstLeadingBit(${t})`,sideEffects:!1});pe({name:"firstTrailingBit",signature:At(Un),normalImpl:"CPU implementation for firstTrailingBit not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`firstTrailingBit(${t})`,sideEffects:!1});function kk(e){return Tt(Math.floor,[e])}var q=pe({name:"floor",signature:At(St),normalImpl:kk,codegenImpl:(e,[t])=>ce`floor(${t})`,sideEffects:!1});function $k(e,t,s){if(typeof e=="number")return e*t+s;throw new Ys("CPU implementation for fma on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}pe({name:"fma",signature:At(St),normalImpl:$k,codegenImpl:(e,[t,s,r])=>ce`fma(${t}, ${s}, ${r})`,sideEffects:!1});function Uk(e){return Tt(t=>t-Math.floor(t),[e])}var ue=pe({name:"fract",signature:At(St),normalImpl:Uk,codegenImpl:(e,[t])=>ce`fract(${t})`,sideEffects:!1}),Ck={f32:Qs({fract:a,exp:Z}),f16:Qs({fract:xs,exp:Z}),abstractFloat:Qs({fract:qa,exp:Yc}),vec2f:Qs({fract:lt,exp:Xt}),vec3f:Qs({fract:It,exp:cs}),vec4f:Qs({fract:Oe,exp:Wt}),vec2h:Qs({fract:Vs,exp:Xt}),vec3h:Qs({fract:Pr,exp:cs}),vec4h:Qs({fract:Ns,exp:Wt})};pe({name:"frexp",normalImpl:"CPU implementation for frexp not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",signature:e=>{let t=Ck[e.type];if(!t)throw new Ts([e],St);return{argTypes:[e],returnType:t}},codegenImpl:(e,[t])=>ce`frexp(${t})`,sideEffects:!1});pe({name:"insertBits",signature:(e,t,s,r)=>{let o=fr([e,t],Un);if(!o)throw new Ts([e,t],Un);return{argTypes:[...o,R,R],returnType:o[0]}},normalImpl:"CPU implementation for insertBits not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s,r,o])=>ce`insertBits(${t}, ${s}, ${r}, ${o})`,sideEffects:!1});function Rk(e){if(typeof e=="number")return 1/Math.sqrt(e);throw new Ys("CPU implementation for inverseSqrt on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}pe({name:"inverseSqrt",signature:At(St),normalImpl:Rk,codegenImpl:(e,[t])=>ce`inverseSqrt(${t})`,sideEffects:!1});pe({name:"ldexp",signature:(e,t)=>{switch(e.type){case"abstractFloat":return{argTypes:[e,Yc],returnType:e};case"f32":case"f16":return{argTypes:[e,Z],returnType:e};case"vec2f":case"vec2h":return{argTypes:[e,Xt],returnType:e};case"vec3f":case"vec3h":return{argTypes:[e,cs],returnType:e};case"vec4f":case"vec4h":return{argTypes:[e,Wt],returnType:e};default:throw new Error(`Unsupported data type for ldexp: ${e.type}. Supported types are abstractFloat, f32, f16, vec2f, vec2h, vec3f, vec3h, vec4f, vec4h.`)}},normalImpl:"CPU implementation for ldexp not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s])=>ce`ldexp(${t}, ${s})`,sideEffects:!1});function zk(e){return typeof e=="number"?Math.abs(e):qr.length[e.kind](e)}var j=pe({name:"length",signature:e=>{let t=fr([e],St);if(!t)throw new Ts([e],St);return{argTypes:t,returnType:Lf(t[0])?xs:a}},normalImpl:zk,codegenImpl:(e,[t])=>ce`length(${t})`,sideEffects:!1});function Gk(e){return Tt(Math.log,[e])}var Yk=pe({name:"log",signature:At(St),normalImpl:Gk,codegenImpl:(e,[t])=>ce`log(${t})`,sideEffects:!1});function Lk(e){return Tt(Math.log2,[e])}var gp=pe({name:"log2",signature:At(St),normalImpl:Lk,codegenImpl:(e,[t])=>ce`log2(${t})`,sideEffects:!1});function Ik(e,t){return Tt(Math.max,[e,t])}var b=pe({name:"max",signature:Av,normalImpl:k5(Ik),codegenImpl:$5("max"),sideEffects:!1});function Dk(e,t){return Tt(Math.min,[e,t])}var oe=pe({name:"min",signature:Av,normalImpl:k5(Dk),codegenImpl:$5("min"),sideEffects:!1});function Fk(e,t,s){return Tt((r,o,n)=>r*(1-n)+o*n,[e,..._v([t,s])])}var X=pe({name:"mix",signature:(e,t,s)=>{if(e.type.startsWith("vec")&&!s.type.startsWith("vec")){let o=fr([s],[e.primitive]);if(!o)throw new Ts([s],[e.primitive]);return{argTypes:[e,t,o[0]],returnType:e}}let r=fr([e,t,s],St);if(!r)throw new Ts([e,t,s],St);return{argTypes:r,returnType:r[0]}},normalImpl:Fk,codegenImpl:(e,[t,s,r])=>ce`mix(${t}, ${s}, ${r})`,sideEffects:!1}),Bk={f32:Qs({fract:a,whole:a}),f16:Qs({fract:xs,whole:xs}),abstractFloat:Qs({fract:qa,whole:qa}),vec2f:Qs({fract:lt,whole:lt}),vec3f:Qs({fract:It,whole:It}),vec4f:Qs({fract:Oe,whole:Oe}),vec2h:Qs({fract:Vs,whole:Vs}),vec3h:Qs({fract:Pr,whole:Pr}),vec4h:Qs({fract:Ns,whole:Ns})};pe({name:"modf",signature:e=>{let t=Bk[e.type];if(!t)throw new Error(`Unsupported data type for modf: ${e.type}. Supported types are f32, f16, abstractFloat, vec2f, vec3f, vec4f, vec2h, vec3h, vec4h.`);return{argTypes:[e],returnType:t}},normalImpl:"CPU implementation for modf not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`modf(${t})`,sideEffects:!1});var as=pe({name:"normalize",signature:At(bc),normalImpl:e=>{let t=j(e);return Tt(s=>s/t,[e])},codegenImpl:(e,[t])=>ce`normalize(${t})`,sideEffects:!1});function Wk(e,t){return Tt((s,r)=>s**r,[e,t])}var Ce=pe({name:"pow",signature:At(St),normalImpl:Wk,codegenImpl:(e,[t,s])=>ce`pow(${t}, ${s})`,sideEffects:!1});pe({name:"quantizeToF16",signature:e=>{let t=[lt,It,Oe,a],s=fr([e],t)?.[0];if(!s)throw new Ts([e],t);return{argTypes:[s],returnType:s}},normalImpl:"CPU implementation for quantizeToF16 not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`quantizeToF16(${t})`,sideEffects:!1});function Ok(e){if(typeof e=="number")return e*Math.PI/180;throw new Ys("CPU implementation for radians on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}var zx=pe({name:"radians",signature:At(St),normalImpl:Ok,codegenImpl:(e,[t])=>ce`radians(${t})`,sideEffects:!1});pe({name:"reflect",signature:(...e)=>{let t=fr(e,bc);if(!t)throw new Ts(e,bc);return{argTypes:t,returnType:t[0]}},normalImpl:(e,t)=>ht(e,vr(2*se(t,e),t)),codegenImpl:(e,[t,s])=>ce`reflect(${t}, ${s})`,sideEffects:!1});pe({name:"refract",normalImpl:"CPU implementation for refract not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t,s,r])=>ce`refract(${t}, ${s}, ${r})`,signature:(e,t,s)=>({argTypes:[e,t,Lf(e)?xs:a],returnType:e}),sideEffects:!1});pe({name:"reverseBits",signature:At(Un),normalImpl:"CPU implementation for reverseBits not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`reverseBits(${t})`,sideEffects:!1});function Vk(e){if(typeof e=="number"){let t=Math.floor(e);return e===t+.5?t%2===0?t:t+1:Math.round(e)}throw new Ys("CPU implementation for round on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}var sa=pe({name:"round",signature:At(St),normalImpl:Vk,codegenImpl:(e,[t])=>ce`round(${t})`,sideEffects:!1});function Nk(e){if(typeof e=="number")return Math.max(0,Math.min(1,e));throw new Ys("CPU implementation for saturate on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}pe({name:"saturate",signature:At(St),normalImpl:Nk,codegenImpl:(e,[t])=>e.gen.emitCall("saturate",[],[t]),sideEffects:!1});function qk(e){return Tt(Math.sign,[e])}var ks=pe({name:"sign",signature:e=>{let t=[...St,Z,Xt,cs,Wt],s=fr([e],t)?.[0];if(!s)throw new Ts([e],t);return{argTypes:[s],returnType:s}},normalImpl:qk,codegenImpl:(e,[t])=>ce`sign(${t})`,sideEffects:!1});function Xk(e){return Tt(Math.sin,[e])}var Y=pe({name:"sin",signature:At(St),normalImpl:Xk,codegenImpl:(e,[t])=>ce`sin(${t})`,sideEffects:!1});function Hk(e){return Tt(Math.sinh,[e])}var jk=pe({name:"sinh",signature:At(St),normalImpl:Hk,codegenImpl:(e,[t])=>ce`sinh(${t})`,sideEffects:!1});function Kk(e,t,s){return Tt(OM,[e,t,s])}var re=pe({name:"smoothstep",signature:At(St),normalImpl:Kk,codegenImpl:(e,[t,s,r])=>ce`smoothstep(${t}, ${s}, ${r})`,sideEffects:!1});function Zk(e){return Tt(Math.sqrt,[e])}var be=pe({name:"sqrt",signature:At(St),normalImpl:Zk,codegenImpl:(e,[t])=>ce`sqrt(${t})`,sideEffects:!1});function Qk(e,t){if(typeof e=="number")return e<=t?1:0;throw new Ys("CPU implementation for step on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}var De=pe({name:"step",signature:At(St),normalImpl:Qk,codegenImpl:(e,[t,s])=>ce`step(${t}, ${s})`,sideEffects:!1});function Jk(e){if(typeof e=="number")return Math.tan(e);throw new Ys("CPU implementation for tan on vectors not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues")}var bp=pe({name:"tan",signature:At(St),normalImpl:Jk,codegenImpl:(e,[t])=>ce`tan(${t})`,sideEffects:!1});function e$(e){return Tt(Math.tanh,[e])}var t$=pe({name:"tanh",signature:At(St),normalImpl:e$,codegenImpl:(e,[t])=>ce`tanh(${t})`,sideEffects:!1});function s$(e){let t=Ru(e)(),s=e.columns,r=t.columns;if(s.length===2)r[0][0]=s[0][0],r[0][1]=s[1][0],r[1][0]=s[0][1],r[1][1]=s[1][1];else if(s.length===3){r[0][0]=s[0][0],r[0][1]=s[1][0],r[0][2]=s[2][0],r[1][0]=s[0][1],r[1][1]=s[1][1],r[1][2]=s[2][1];let o=r[2];o[0]=s[0][2],o[1]=s[1][2],o[2]=s[2][2]}else if(s.length===4){r[0][0]=s[0][0],r[0][1]=s[1][0],r[0][2]=s[2][0],r[0][3]=s[3][0],r[1][0]=s[0][1],r[1][1]=s[1][1],r[1][2]=s[2][1],r[1][3]=s[3][1];let o=r[2];o[0]=s[0][2],o[1]=s[1][2],o[2]=s[2][2],o[3]=s[3][2];let n=r[3];n[0]=s[0][3],n[1]=s[1][3],n[2]=s[2][3],n[3]=s[3][3]}else xc(s,"std/numeric.ts#cpuTranspose");return t}pe({name:"transpose",signature:Sv,normalImpl:s$,codegenImpl:(e,[t])=>ce`transpose(${t})`,sideEffects:!1});var r$=pe({name:"trunc",signature:At(St),normalImpl:"CPU implementation for trunc not implemented yet. Please submit an issue at https://github.com/software-mansion/TypeGPU/issues",codegenImpl:(e,[t])=>ce`trunc(${t})`,sideEffects:!1});function o$(e,t){if(typeof e!="number"||typeof t!="number")throw new Error("std.intdiv called with invalid arguments.");return Math.trunc(Math.trunc(e)/Math.trunc(t))}pe({name:"intdiv",signature:(e,t)=>{let s=fr([e,t],[R,Z]);if(!s)throw new Ts([e,t],[R,Z,Yc]);return{argTypes:s,returnType:s[0]}},normalImpl:o$,codegenImpl:(e,[t,s])=>e.gen.emitBinaryOp(t,"/",s),sideEffects:!1});function Ul(e){return lr(e)||Do(e)?Ru(e)(e):Array.isArray(e)?e.map(Ul):typeof e=="object"&&e!==null?Object.fromEntries(Object.entries(e).map(([t,s])=>[t,Ul(s)])):e}pe({name:"copy",signature:e=>({argTypes:[e],returnType:e}),normalImpl:Ul,codegenImpl(e,[t]){return ce`${t}`},sideEffects:!1});function md(e){return e.type.includes("2")?Or:e.type.includes("3")?Vr:Nr}var n$=pe({name:"allEq",signature:(...e)=>({argTypes:e,returnType:ft}),normalImpl:(e,t)=>Pv(Wc(e,t)),codegenImpl:(e,[t,s])=>ce`all(${t} == ${s})`,sideEffects:!1}),Wc=(e,t)=>Du((s,r)=>s===r,[e,t]),a$=pe({name:"eq",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:Wc,codegenImpl:(e,[t,s])=>ce`(${t} == ${s})`,sideEffects:!1}),i$=pe({name:"ne",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:(e,t)=>Js(Wc(e,t)),codegenImpl:(e,[t,s])=>ce`(${t} != ${s})`,sideEffects:!1}),ju=(e,t)=>Du((s,r)=>s({argTypes:e,returnType:md(e[0])}),normalImpl:ju,codegenImpl:(e,[t,s])=>ce`(${t} < ${s})`,sideEffects:!1}),wc=pe({name:"le",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:(e,t)=>Mv(ju(e,t),Wc(e,t)),codegenImpl:(e,[t,s])=>ce`(${t} <= ${s})`,sideEffects:!1}),c$=pe({name:"gt",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:(e,t)=>U5(Js(ju(e,t)),Js(Wc(e,t))),codegenImpl:(e,[t,s])=>ce`(${t} > ${s})`,sideEffects:!1}),wp=pe({name:"ge",signature:(...e)=>({argTypes:e,returnType:md(e[0])}),normalImpl:(e,t)=>Js(ju(e,t)),codegenImpl:(e,[t,s])=>ce`(${t} >= ${s})`,sideEffects:!1});function Js(e){if(typeof e=="boolean")return!e;if(!IA(e))throw new Error("'std.not' requires a boolean or boolean vector.");switch(e.length){case 2:return Or(Js(e.x),Js(e.y));case 3:return Vr(Js(e.x),Js(e.y),Js(e.z));case 4:return Nr(Js(e.x),Js(e.y),Js(e.z),Js(e.w))}}var _$=pe({name:"not",signature:e=>{if(!Kn(e)&&!Yf(e))throw new Ts([e],[ft,Or,Vr,Nr]);return{argTypes:[e],returnType:e}},normalImpl:Js,codegenImpl:(e,[t])=>ce`!(${t})`,sideEffects:!1}),Mv=(e,t)=>Du((s,r)=>s||r,[e,t]);pe({name:"or",signature:(...e)=>({argTypes:e,returnType:e[0]}),normalImpl:Mv,codegenImpl:(e,[t,s])=>ce`(${t} | ${s})`,sideEffects:!1});var U5=(e,t)=>Js(Mv(Js(e),Js(t)));pe({name:"and",signature:(...e)=>({argTypes:e,returnType:e[0]}),normalImpl:U5,codegenImpl:(e,[t,s])=>ce`(${t} & ${s})`,sideEffects:!1});var Pv=e=>qr.all[e.kind](e),l$=pe({name:"all",signature:(...e)=>({argTypes:e,returnType:ft}),normalImpl:Pv,codegenImpl:(e,[t])=>ce`all(${t})`,sideEffects:!1});pe({name:"any",signature:(...e)=>({argTypes:e,returnType:ft}),normalImpl:e=>!Pv(Js(e)),codegenImpl:(e,[t])=>ce`any(${t})`,sideEffects:!1});pe({name:"isCloseTo",signature:(...e)=>({argTypes:e,returnType:ft}),normalImpl:(e,t,s=.01)=>{let r=Du((o,n)=>Math.abs(o-n)Qd(t)&&Qd(s)?ce`(abs(f32(${t}) - f32(${s})) <= ${r})`:!Qd(t)&&!Qd(s)?ce`all(abs(${t} - ${s}) <= (${t} - ${t}) + ${r})`:"false",sideEffects:!1});function u$(e,t,s){return typeof s=="boolean"?Ul(s?t:e):Tt((r,o,n)=>n?o:r,[e,t,s])}var ll=[a,xs,Z,R,ft,lt,It,Oe,Vs,Pr,Ns,Xt,cs,Wt,Ct,gt,Et,Or,Vr,Nr],C=pe({name:"select",signature:(e,t,s)=>{let[r,o]=fr([e,t],ll)??[e,t];return{argTypes:[r,o,s],returnType:r}},normalImpl:u$,codegenImpl:(e,[t,s,r])=>{let o=e.gen.emitCall("select",[],[t,s,r]);if(!ll.includes(t.dataType)||!ll.includes(s.dataType))throw new Error(`'${o}' is invalid, std.select requires both branches to be either scalars or vectors.`);if(t.dataType!==s.dataType){let n=e.resolve(t.dataType),i=e.resolve(s.dataType);throw new Error(`'${o}' is invalid, std.select requires both branches to be the same type, got [${n.value}, ${i.value}].`)}return o},sideEffects:!1});function Ku(e){return typeof e?.format=="string"}function m$(e,t){let s=[];if(Rc(e)){if(!Ku(t))throw new Error("Shader expected a single attribute, not a record of attributes to be passed in.");return s.push(t._layout),{usedVertexLayouts:s,bufferDefinitions:[{arrayStride:t._layout.stride,stepMode:t._layout.stepMode,attributes:[{format:t.format,offset:t.offset,shaderLocation:na(e)??0}]}]}}let r=[],o=new WeakMap,n=0;for(let[i,d]of Object.entries(e)){if(nn(d))continue;let c=t[i];if(!c)throw new Error(`An attribute by the name of '${i}' was not provided to the shader.`);let _=c._layout,u=o.get(_);u||(s.push(_),u=[],r.push({arrayStride:_.stride,stepMode:_.stepMode,attributes:u}),o.set(_,u)),n=na(d)??n,u.push({format:c.format,offset:c.offset,shaderLocation:n++})}return{usedVertexLayouts:s,bufferDefinitions:r}}var p$=["bool","f32","f16","i32","u32","vec2f","vec3f","vec4f","vec2h","vec3h","vec4h","vec2i","vec3i","vec4i","vec2u","vec3u","vec4u","vec2","vec3","vec4","mat2x2f","mat3x3f","mat4x4f","texture_external"];function f$(e){return p$.includes(e.type)}function Tp(e,[t,s]){return` ${gc(s)}${t}: ${e.resolve(s).value}, +`}function v$(e,t){if(t[B].isAbstruct)throw new Error("Cannot resolve abstract struct types to WGSL.");let s=e.makeUniqueIdentifier(xe(t),"global");return e.addDeclaration(`struct ${s} { +${Object.entries(t.propTypes).map(r=>Tp(e,r)).join("")}}`,s),s}function y$(e,t){let s=e.makeUniqueIdentifier(xe(t),"global");return e.addDeclaration(`struct ${s} { +${Object.entries(t.propTypes).map(r=>Ku(r[1])?Tp(e,[r[0],$n[r[1].format]]):Tp(e,r)).join("")} +}`,s),s}function h$(e,t){let s=e.resolve(t.elementType).value;return t.elementCount===0?`array<${s}>`:`array<${s}, ${t.elementCount}>`}function x$(e,t){let s=e.resolve(Ku(t.elementType)?$n[t.elementType.format]:t.elementType).value;return t.elementCount===0?`array<${s}>`:`array<${s}, ${t.elementCount}>`}function C5(e,t){if(zu(t))return t.type==="unstruct"?y$(e,t):t.type==="disarray"?x$(e,t):t.type==="loose-decorated"?e.resolve(Ku(t.inner)?$n[t.inner.format]:t.inner).value:e.resolve($n[t.type]).value;if(f$(t))return t.type;if(t.type==="struct")return v$(e,t);if(t.type==="array")return h$(e,t);if(t.type==="atomic")return`atomic<${C5(e,t.inner)}>`;if(t.type==="decorated")return e.resolve(t.inner).value;if(t.type==="ptr")return t.addressSpace==="storage"?`ptr`:`ptr<${t.addressSpace}, ${e.resolve(t.inner).value}>`;if(t.type==="abstractInt"||t.type==="abstractFloat"||t.type==="void"||t.type==="u16")throw new Error(`${t.type} has no representation in WGSL`);if(dl(t))return`${t.type}<${t.format}, ${Fc[t.access]}>`;if(r5(t))return t.type.startsWith("texture_depth")?t.type:`${t.type}<${t.sampleType.type}>`;if(EP(t)||PP(t))return t.type;xc(t,"resolveData")}var R5=class{[B]=!0;snippet;constructor(e){this.snippet=e}[kt](e){return e.resolveSnippet(this.snippet)}},z5=(()=>{function e(s){return s}let t=e;return ot(t,"unroll"),t.toString=()=>"unroll",t[B]=!0,t[zs]={call(s,[r]){return x2(new R5(r),r)}},t})(),Gx=new Map([[Math.abs,z],[Math.acos,dk],[Math.acosh,_k],[Math.asin,xp],[Math.asinh,mk],[Math.atan,fk],[Math.atan2,tt],[Math.atanh,yk],[Math.ceil,cc],[Math.cos,H],[Math.cosh,Tk],[Math.exp,ct],[Math.floor,q],[Math.fround,a],[Math.clz32,Sk],[Math.trunc,r$],[Math.log,Yk],[Math.log2,gp],[Math.pow,Ce],[Math.sign,ks],[Math.sin,Y],[Math.sinh,jk],[Math.sqrt,be],[Math.tan,bp],[Math.tanh,t$],[Math.max,b],[Math.min,oe]]),g$=()=>[console.log,console.debug,console.info,console.warn,console.error,console.clear],Yx=e=>pr(e)&&Us(e.inner)?e.inner.elementCount:0,b$=pe({name:"arrayLength",signature:e=>{let t=pr(e)?e:S2(e);return{argTypes:[t],returnType:Yx(t)>0?Yc:R}},normalImpl:e=>M2(e)?e.$.length:e.length,codegenImpl(e,[t]){let s=Yx(t.dataType);return s>0?`${s}`:e.gen.emitCall("arrayLength",[],[t])},sideEffects:!1});Ao((e,t,s=1)=>{if(t===void 0&&(t=e,e=0),!Number.isInteger(e))throw new Error(`'start' must be an integer, got ${e}`);if(!Number.isInteger(t))throw new Error(`'end' must be an integer, got ${t}`);if(!Number.isInteger(s)||s===0)throw new Error(`'step' must be a non-zero integer, got ${s}`);let r=[];if(r.start=e,r.end=t,r.step=s,Math.sign(s)!==Math.sign(t-e))return r;if(s>0)for(let o=e;ot;o+=s)r.push(o);return r});function Sp(e){return Array.isArray(e)&&"start"in e&&"end"in e&&"step"in e}function w$(e){return e.origin==="constant-immutable-def"?"const":"let"}function Lx(e,t){let s=qu(e,t);if(!s)throw new Qe("`for ... of ...` loops only support array or vector iterables");return s}function T$(e,t){let s=e.dataType;if(s===Ut)throw new Qe(ce`The elements in iterable ${t} are of unknown type`);if(Io(e.dataType)||e.origin==="runtime"||e.origin==="constant"||e.origin==="constant-immutable-def"||e.origin==="runtime-immutable-def")return s;if(!pr(s)){let r=Bf(e.origin,no(s));ds(r!==void 0,`Creating pointer type from origin ${e.origin}`),s=r}return A2(s)}function S$(e,t,s=!1){let{value:r,dataType:o}=t;if(Sp(r)){let{start:i,end:d,step:c}=r,_=[i,d,c].every(u=>u>=0)?R:Z;return{start:ve(i,_,"constant",!1),end:ve(d,_,"constant",!1),step:ve(c,_,"constant",!1),comparison:c<0?">":"<"}}if(!s&&!en(t))throw new Error("`for ... of ...` loops only support std.range or iterables stored in variables.\n-----\nYou can wrap iterable with `tgpu.unroll(...)`. If iterable is known at comptime, the loop will be unrolled.\n-----");let n={start:ve(0,R,"constant",!1),step:ve(1,R,"constant",!1),comparison:"<"};if(Us(o))return{...n,end:o.elementCount>0?ve(o.elementCount,R,"constant",!1):b$[zs].call(e,[t])};if(Rt(o))return{...n,end:ve(o.componentCount,R,"constant",!1)};if(s){if(Array.isArray(r))return{...n,end:ve(r.length,R,"constant",!1)};if(r instanceof ic)return{...n,end:ve(r.elements.length,R,"constant",!1)}}throw new Qe("`for ... of ...` loops only support array or vector iterables")}var{NodeTypeCatalog:dt}=E5;function jt(e){return Y5(e)?cr(e,""):gn(e,"")}function gn(e,t){if(Y5(e))return`${t}${cr(e,t)};`;if(e[0]===dt.block)return`{ +${e[1].map(s=>gn(s,t+" ")).join(` +`)} +${t}}`;if(e[0]===dt.return)return`${t}return${e[1]===void 0?"":` ${cr(e[1],"")}`};`;if(e[0]===dt.if){let s=`${t}if (${cr(e[1],t)}) ${gn(e[2],t)}`;return e[3]!==void 0?`${s} else ${gn(e[3],t)}`:s}if(e[0]===dt.let)return e[2]!==void 0?`${t}let ${e[1]} = ${cr(e[2],t)};`:`${t}let ${e[1]};`;if(e[0]===dt.const)return e[2]!==void 0?`${t}const ${e[1]} = ${cr(e[2],t)};`:`${t}const ${e[1]};`;if(e[0]===dt.for){let s=e[1]?gn(e[1],""):";",r=e[2]?cr(e[2],t):"",o=e[3]?gn(e[3],""):"",n=gn(e[4],t);return`${t}for (${s} ${r}; ${o.slice(0,-1)}) ${n}`}if(e[0]===dt.while)return`${t}while (${cr(e[1],t)}) ${gn(e[2],t)}`;if(e[0]===dt.continue)return`${t}continue;`;if(e[0]===dt.break)return`${t}break;`;if(e[0]===dt.forOf)return`${t}for (${e[1][0]===dt.const?"const":"let"} ${e[1][1]} of ${cr(e[2],t)}) ${gn(e[3],t)}`;G5(e)}function cr(e,t){if(typeof e=="string")return e;if(typeof e=="boolean")return`${e}`;if(e[0]===dt.numericLiteral)return e[1];if(e[0]===dt.stringLiteral)return JSON.stringify(e[1]);if(e[0]===dt.arrayExpr)return`[${e[1].map(s=>cr(s,t)).join(", ")}]`;if(e[0]===dt.binaryExpr)return`${ro(e[1],t)} ${e[2]} ${ro(e[3],t)}`;if(e[0]===dt.assignmentExpr)return`${cr(e[1],t)} ${e[2]} ${cr(e[3],t)}`;if(e[0]===dt.logicalExpr)return`${ro(e[1],t)} ${e[2]} ${ro(e[3],t)}`;if(e[0]===dt.unaryExpr){let s=e[1].length>1?" ":"";return`${e[1]}${s}${ro(e[2],t)}`}if(e[0]===dt.call)return`${ro(e[1],t)}(${e[2].map(s=>cr(s,t)).join(", ")})`;if(e[0]===dt.memberAccess)return Array.isArray(e[1])&&e[1][0]===dt.numericLiteral?`(${cr(e[1],t)}).${e[2]}`:`${ro(e[1],t)}.${e[2]}`;if(e[0]===dt.indexAccess)return`${ro(e[1],t)}[${cr(e[2],t)}]`;if(e[0]===dt.preUpdate)return`${e[1]}${ro(e[2],t)}`;if(e[0]===dt.postUpdate)return`${ro(e[2],t)}${e[1]}`;if(e[0]===dt.objectExpr)return`{ ${Object.entries(e[1]).map(([s,r])=>`${s}: ${cr(r,t)}`).join(", ")} }`;if(e[0]===dt.conditionalExpr)return`${ro(e[1],t)} ? ${ro(e[2],t)} : ${ro(e[3],t)}`;G5(e)}function G5(e){throw new Error(`'${JSON.stringify(e)}' was not handled by the stringify function.`)}function Y5(e){return typeof e=="string"||typeof e=="boolean"||e[0]===dt.numericLiteral||e[0]===dt.stringLiteral||e[0]===dt.arrayExpr||e[0]===dt.binaryExpr||e[0]===dt.assignmentExpr||e[0]===dt.logicalExpr||e[0]===dt.unaryExpr||e[0]===dt.call||e[0]===dt.memberAccess||e[0]===dt.indexAccess||e[0]===dt.preUpdate||e[0]===dt.postUpdate||e[0]===dt.objectExpr||e[0]===dt.conditionalExpr}var A$=[dt.memberAccess,dt.indexAccess,dt.call,dt.arrayExpr,dt.stringLiteral,dt.numericLiteral];function ro(e,t){let s=cr(e,t);return typeof e=="string"||typeof e=="boolean"||A$.includes(e[0])?s:`(${s})`}var{NodeTypeCatalog:Pt}=E5,M$=["==","!=","===","!==","<","<=",">",">=","<<",">>",">>>","+","-","*","/","%","|","^","&"],P$=["&&","||","==","!=","===","!==","<","<=",">",">="],E$={"===":a$.toString(),"!==":i$.toString(),"<":d$.toString(),"<=":wc.toString(),">":c$.toString(),">=":wp.toString()},k$=["<<",">>","<<=",">>=",">>>",">>>="],$$={"===":"==","!==":"!=",">>>":">>",get in(){throw new Error("The `in` operator is unsupported in TypeGPU functions.")},get instanceof(){throw new Error("The `instanceof` operator is unsupported in TypeGPU functions.")},get"|>"(){throw new Error("The `|>` operator is unsupported in TypeGPU functions.")},get"??"(){throw new Error("The `??` operator is unsupported in TypeGPU functions.")},">>>=":">>=",get"**="(){throw new Error("The `**=` operator is unsupported in TypeGPU functions.")},get"??="(){throw new Error("The `??=` operator is unsupported in TypeGPU functions.")},get"&&="(){throw new Error("The `&&=` operator is unsupported in TypeGPU functions.")},get"||="(){throw new Error("The `||=` operator is unsupported in TypeGPU functions.")}};function Ix(e,t,s){return s?P$.includes(t)?ft:t==="="?s:e:t==="!"?ft:e}var U$={"-":px[zs].call.bind(px),void:()=>ve(void 0,_s,"constant",!1),"!":(e,[t])=>{if(t===void 0)throw new Error("The unary operator `!` expects 1 argument, but 0 were provided.");if(hs(t))return ve(!t.value,ft,"constant",!1);let s=e.resolveSnippet(t).value;if(!Kn(t.dataType))throw new Qe(`Unary operator ! requires boolean operand. Got ${String(t.dataType)}.${Yf(t.dataType)?` For component-wise negation, use 'std.${_$.toString()}'.`:""}`);return ve(`!(${s})`,ft,"runtime",t.possibleSideEffects)}},C$={"+":Pn[zs].call.bind(Pn),"-":ht[zs].call.bind(ht),"*":vr[zs].call.bind(vr),"/":mp[zs].call.bind(mp),"**":Ce[zs].call.bind(Ce)},Dx={private:"private",workgroup:"workgroup",uniform:"uniform",mutable:"storage, read_write",readonly:"storage, read"},um=2,R$=class L5{#e=void 0;#t=[];static#s=L5.prototype.languageKey="wgsl";initGenerator(t){if(this.#e!==void 0)throw new Error("Cannot initialize shader generators twice. Create one generator per resolution.");this.#e=t}get ctx(){if(!this.#e)throw new Error("WGSL Generator has not yet been initialized. Please call initialize(ctx) before using the generator.");return this.#e}_block([t,s],r,o){this.ctx.pushBlockScope();try{if(o){let _=Object.fromEntries(Object.entries(o).map(([u,m])=>[u,Wr(m)]));this.ctx.setBlockExternals(_)}let n="",i=!1,d;this.ctx.indent();for(let _ of s){let u=this._statement(_);if(u.code.length>0&&(n+=`${u.code} +`),i||=u.definesInNearestScope??!1,u.endsWithControlFlow!==void 0){d=u.endsWithControlFlow;break}}this.ctx.dedent();let c=r&&!i;return this.ctx.blockDepth===um&&(n=n.replace(/[ ]*return\s*;\s*$/u,"")),n===""?{code:"",endsWithControlFlow:d,definesInNearestScope:!1}:c?{code:this.ctx.getDedented(n.trim()),endsWithControlFlow:d,definesInNearestScope:i}:{code:`{ +${n}${this.ctx.pre}}`,endsWithControlFlow:d,definesInNearestScope:!1}}finally{this.ctx.popBlockScope()}}_blockStatement(t,s){let{code:r,...o}=this._block(t,!0,s);return r===""?{...o,code:""}:{...o,code:`${this.ctx.pre}${r}`}}refVariable(t,s){let r=this.ctx.makeUniqueIdentifier(t,"block"),o=S2(s),n=ve(new wn(ve(r,s,"function",!1),o),o,"function",!1);return this.ctx.defineVariable(t,n),r}_emitVarDecl(t,s,r,o){return`${this.ctx.pre}${t} ${s} = ${o};`}_identifier(t){if(!t)throw new Error("Cannot resolve an empty identifier");if(t==="undefined")return ve(void 0,_s,"constant",!1);let s=this.ctx.getById(t);if(!s)throw new Error(`Identifier ${t} not found`);return s}_callShellless(t,s){let r=yp(t),o=r?t[Mr]?.pairs??[]:[],n=r?t[B].inner:t;return this.ctx.withRenamed(n,xe(t),()=>this.ctx.withSlots(o,()=>{let i=this.ctx.shelllessRepo.get(n,s);if(!i)return;let d=s.map((c,_)=>{let u=i.argTypes[_];return Fr(this.ctx,c,u,!1)});return this.ctx.withResetIndentLevel(()=>{let c=this.ctx.resolve(i);return ve(ce`${c.value}(${d})`,c.dataType,"runtime")})}))}_typedExpression(t,s){let r=this.ctx.expectedType;this.ctx.expectedType=s;try{let o=this._expression(t);return s instanceof Wo?o:Fr(this.ctx,o,s)}finally{this.ctx.expectedType=r}}_expression(t){if(typeof t=="string")return this._identifier(t);if(typeof t=="boolean")return ve(t,ft,"constant",!1);if(t[0]===Pt.logicalExpr){let[s,r,o,n]=t,i=this._expression(r);if(hs(i)){let u=Kn(this.ctx.expectedType);if(!(o==="&&"?i.value:!i.value))return u?ve(o==="||",ft,"constant",!1):Wr(i.value);let m=this._expression(n);if(hs(m)){let p=Wr(m.value);return u?Fr(this.ctx,p,ft,!1):p}if(m.dataType===Ut)throw new Qe(`Right-hand side of '${o}' is of unknown type`);return u?Fr(this.ctx,m,ft,!1):m}let d=this._expression(n);if(i.dataType===Ut)throw new Qe(`Left-hand side of '${o}' is of unknown type`);if(!hs(d)&&d.dataType===Ut)throw new Qe(`Right-hand side of '${o}' is of unknown type`);if(!Kn(i.dataType)||!Kn(d.dataType))throw new Qe(`Logical expression '${o}' requires boolean operands. Got '${String(i.dataType)}' and '${String(d.dataType)}'.`);let c=this.ctx.resolveSnippet(i).value,_=this.ctx.resolveSnippet(d).value;return ve(`(${c} ${o} ${_})`,ft,"runtime",i.possibleSideEffects||d.possibleSideEffects)}if(t[0]===Pt.binaryExpr||t[0]===Pt.assignmentExpr){let[s,r,o,n]=t,i=this._expression(r),d=this._expression(n);if(d.value instanceof wn)throw new Qe(ce`Cannot assign a ref to an existing variable '${jt(r)}', define a new variable instead.`);if(o==="==")throw new Error("Please use the === operator instead of ==");if(o==="!=")throw new Error("Please use the !== operator instead of !=");let c=E$[o];if(c&&hs(i)&&hs(d)){let y=i.value,h=d.value;switch(o){case"===":return ve(y===h,ft,"constant",!1);case"!==":return ve(y!==h,ft,"constant",!1)}if(typeof y!="number"||typeof h!="number")throw new Qe(`Comparison '${o}' requires numeric operands.${Rt(i.dataType)&&Rt(d.dataType)?` For component-wise comparison, use 'std.${c}'.`:""}`);switch(o){case"<":return ve(y":return ve(y>h,ft,"constant",!1);case">=":return ve(y>=h,ft,"constant",!1)}}if(i.dataType===Ut)throw new Qe(`Left-hand side of '${o}' is of unknown type`);if(d.dataType===Ut)throw new Qe(`Right-hand side of '${o}' is of unknown type`);let _=C$[o];if(_)return _(this.ctx,[i,d]);let u,m;if(k$.includes(o)){let y=i.dataType;if(!Qb(y)&&!OA(y))throw new Qe(`Expression: ${jt(t)} +Left-hand side of '${o}' must be an integer or vector of integers. +Got ${this.ctx.resolve(y).value}.`);let h=Rt(y)?y.primitive:y;if([">>>",">>>="].includes(o)&&h.type!=="u32")throw new Qe(`Expression: ${jt(t)} +Left-hand side of '${o}' must be an unsigned integer or vector of unsigned integers. +Got ${this.ctx.resolve(y).value}. +Use ${o.slice(1)} instead.`);[">>",">>="].includes(o)&&h.type==="u32"&&Vt.warn("deprecated",` +Expression: ${jt(t)} +Using u32 or vecN as left-hand side of ${o} is deprecated. +Use >${o} instead.`);let g;if(Rt(y)){let w=y.componentCount;g=w===2?Ct:w===3?gt:Et}else g=R;m=Fr(this.ctx,d,g,!1),u=i}else{let y=s===Pt.assignmentExpr?[i.dataType]:void 0;[u,m]=Qn(this.ctx,[i,d],y)??[i,d]}let p=Ix(u.dataType,o,m.dataType);if(s===Pt.assignmentExpr&&(Fx(u,t),this.tryMarkModified(r),o==="="&&en(d)&&!Io(d.dataType)))throw new Qe(`'${jt(t)}' is invalid, because references cannot be assigned. +----- +Try '${jt(r)} = ${this.ctx.resolve(Ca(d.dataType)).value}(${jt(n)})' to copy the value instead. +-----`);if(c){let y=["===","!=="].includes(o);if(!(np(u.dataType)&&np(m.dataType)||y&&Kn(u.dataType)&&Kn(m.dataType))){let h=Rt(u.dataType)&&Rt(m.dataType);throw new Qe(`Comparison '${o}' requires numeric${y?" or boolean":""} operands. Got '${String(u.dataType)}' and '${String(m.dataType)}'.${h?` For component-wise comparison, use 'std.${c}'.`:""}`)}}return ve(this.emitBinaryOp(u,$$[o]??o,m),p,"runtime",s===Pt.assignmentExpr||i.possibleSideEffects||d.possibleSideEffects)}if(t[0]===Pt.postUpdate)throw new Error(`'${jt(t)}' is invalid because update is only allowed as a statement.`);if(t[0]===Pt.unaryExpr){let[s,r,o]=t,n=this._expression(o),i=U$[r];if(i)return i(this.ctx,[n]);let d=this.ctx.resolveSnippet(n).value,c=Ix(n.dataType,r);return ve(`${r}${d}`,c,"runtime",n.possibleSideEffects)}if(t[0]===Pt.memberAccess){let[s,r,o]=t,n=Bi(this._expression(r),o);if(!n)throw new Error(`Property '${o}' not found on '${jt(r)}'`);return n}if(t[0]===Pt.indexAccess){let[s,r,o]=t,n=this._expression(r),i=this._expression(o),d=qu(n,Qn(this.ctx,[i],[R,Z],!1)?.[0]??i);if(!d)throw new Error(`Index access '${jt(t)}' is invalid. If the value is an array, to address this, consider one of the following approaches: (1) declare the array using 'tgpu.const', (2) store the array in a buffer, or (3) define the array within the GPU function scope.`);return d}if(t[0]===Pt.numericLiteral){let s=typeof t[1]=="string"?on(G$(t[1])):on(t[1]);return ds(s,`Expected ${jt(t)} to be valid numeric literal`),s}if(t[0]===Pt.call){let[s,r,o]=t,n=this._expression(r),i=Gx.has(n.value)?ve(Gx.get(n.value),Ut,"runtime",n.possibleSideEffects):n;if(g$().includes(i.value))return this.ctx.generateLog(i.value,o.map(_=>this._expression(_)));if(Qt(i.value)){if(o.length>1)throw new Qe("Struct schemas should always be called with at most 1 argument");if(!o[0])return ve(`${this.ctx.resolve(i.value).value}()`,i.value,"runtime",!1);let _=this._typedExpression(o[0],i.value);return ve(this.ctx.resolveSnippet(_).value,i.value,"runtime",_.possibleSideEffects)}if(Us(i.value)){if(o.length>1)throw new Qe("Array schemas should always be called with at most 1 argument");if(!o[0])return this.typeInstantiation(i.value,[]);let _=this._typedExpression(o[0],i.value);return _.value instanceof ic?this.typeInstantiation(i.value,_.value.elements):ve(this.ctx.resolveSnippet(_).value,i.value,"runtime",_.possibleSideEffects)}if(i.value===wv)throw new Error("Constants cannot be defined within TypeGPU function scope. To address this, move the constant definition outside the function scope.");if(sP(i.value)){if(!o[0])throw new Qe(`An infix operator '${xe(i.value.operator)}' was called without any arguments`);let _=Wr(i.value.lhs),u=this._expression(o[0]);return i.value.operator[zs].call(this.ctx,[_,u])}if((i.value===mM||i.value===z5)&&o[0]&&this.tryMarkModified(o[0]),Tl(i.value)){let _=i.value[zs],u=_.strictSignature,m;u?m=o.map((p,y)=>{let h=u.argTypes[y];if(!h)throw new Qe(`Call '${jt(t)}' is invalid since the function expected fewer arguments`);return this._typedExpression(p,h)}):m=o.map(p=>this._expression(p));try{return _.call(this.ctx,m)}catch(p){throw p instanceof Pi?p:new Pi(p,[{toString:()=>`fn:${xe(i.value)}`}])}}if(!mt(i.value)||yp(i.value)){let _=o.map(m=>this._expression(m)),u=this._callShellless(i.value,_);if(u)return u}let d=Object.getOwnPropertyNames(Math).find(_=>Math[_]===i.value);if(d)throw new Error(`Unsupported Math functionality 'Math.${d}()'. Use an std alternative, or implement the function manually.`);let c=Object.getOwnPropertyNames(console).find(_=>console[_]===i.value);throw c?new Error(`Unsupported console functionality 'console.${c}()'.`):new Error(`Function '${xe(i.value)??String(i.value)}' is not marked with the 'use gpu' directive and cannot be used in a shader`)}if(t[0]===Pt.objectExpr){let s=t[1],r=this.ctx.expectedType;if(r instanceof Wo){let o=Object.fromEntries(Object.entries(s).map(([d,c])=>{let _=r.accessProp(d),u;if(_)u=this._typedExpression(c,_.type);else{if(u=this._expression(c),u.dataType===Ut)throw new Qe(ce`Property ${d} in object literal has a value of unknown type: '${u}'`);_=r.provideProp(d,Ca(no(u.dataType)))}return[_.prop,u]})),n=r.completeStruct,i=ex(this.ctx,n,o);return ve(ce`${this.ctx.resolve(r).value}(${i})`,n,"runtime")}if(Qt(r)){let o=Object.fromEntries(Object.entries(r.propTypes).map(([i,d])=>{let c=s[i];if(c===void 0)throw new Qe(`Missing property ${i} in object literal for struct ${r}`);return[i,this._typedExpression(c,d)]})),n=ex(this.ctx,r,o);return ve(ce`${this.ctx.resolve(r).value}(${n})`,r,"runtime",n.some(i=>i.possibleSideEffects))}throw new Qe(`No target type could be inferred for object '${jt(t)}', please wrap the object in the corresponding schema.`)}if(t[0]===Pt.arrayExpr){let[s,r]=t,o=this.ctx.expectedType,n,i;if(Us(o)){if(n=o.elementType,i=r.map(_=>this._typedExpression(_,n)),i.length!==o.elementCount)throw new Qe(`Cannot create value of type '${o}' from an array of length: ${i.length}`)}else{let _=r.map(m=>this._expression(m));if(_.length===0)throw new Qe("Cannot infer the type of an empty array literal.");let u=Qn(this.ctx,_);if(!u)throw new Qe(`Values '${jt(t)}' cannot be automatically converted to a common type. Consider wrapping the array in an appropriate schema`);i=u,n=no(i[0]?.dataType)}let d=pt(n,i.length),c=i.every(_=>_.origin==="constant");return ve(new ic(d,i),d,c?"constant":"runtime",i.some(_=>_.possibleSideEffects))}if(t[0]===Pt.conditionalExpr){let[s,r,o,n]=t,i=this._expression(r);if(hs(i))return i.value?this._expression(o):this._expression(n);{let d=Fr(this.ctx,i,ft,!1),c=this._expression(o),_=this._expression(n),[u,m]=Qn(this.ctx,[c,_],ll)??[];if(!u||!m||c.possibleSideEffects||_.possibleSideEffects||en(c)&&!Io(c.dataType)||en(_)&&!Io(_.dataType))throw new Error(`Ternary operator '${jt(t)}' is invalid. For more complex branching, please use 'std.select' or if/else statements.`);return ve(ce`select(${m}, ${u}, ${d})`,u.dataType,"runtime",i.possibleSideEffects)}}if(t[0]===Pt.stringLiteral)return ve(t[1],Ut,"constant",!1);if(t[0]===Pt.preUpdate)throw new Error("Cannot use pre-updates in TypeGPU functions.");z$(t)}declareGlobalConst(t){let s=this.ctx.resolve(t.dataType).value,r=this.ctx.resolveSnippet(t.init).value;return this.ctx.addDeclaration(`const ${t.id}: ${s} = ${r};`,t.id),ve(t.id,t.dataType,"constant-immutable-def")}declareGlobalVar(t){let s="";return t.group!==void 0&&(s+=`@group(${t.group}) `),t.binding!==void 0&&(s+=`@binding(${t.binding}) `),t.scope in Dx?s+=`var<${Dx[t.scope]}> `:s+="var ",s+=`${t.id}: ${this.ctx.resolve(t.dataType).value}`,this.ctx.addDeclaration(t.init?`${s} = ${this.ctx.resolveSnippet(t.init).value};`:`${s};`,t.id),ve(t.id,t.dataType,t.scope)}functionDefinition(t){ds(this.ctx.blockDepth===um-1,`Expecting exactly ${um-1} block(s) before going into the first function block scope`);let s=this._block(t.body,!1),r=this.ctx.topFunctionScope;ds(r,"Expected function scope to be present");let o=Object.fromEntries([...r.placeholderForVariable.entries()].map(([_,u])=>[u,r.modifiedVariables.has(_)?"var":"let"]));if(Object.keys(o).length>0){let _=new RegExp(Object.keys(o).join("|"),"gi");s.code=s.code.replace(_,u=>o[u]??"#ERR")}let n=t.determineReturnType(),i=t.args.filter(_=>_.used||t.functionType==="normal").map(_=>`${gc(_.decoratedType)}${_.name}: ${this.ctx.resolve(_.decoratedType).value}`).join(", "),d=n.type!=="void"?`(${i}) -> ${gc(n)}${this.ctx.resolve(n).value} `:`(${i}) `,c="";if(t.functionType==="compute"){if(!t.workgroupSize)throw new Error("Compute shaders must have a workgroup size");c=`@compute @workgroup_size(${t.workgroupSize.join(", ")}) `}else t.functionType==="vertex"?c="@vertex ":t.functionType==="fragment"&&(c="@fragment ");return`${c}fn ${t.name}${d}${s.code||"{}"}`}emitTypeAnnotation(t){return C5(this.ctx,t)}typeInstantiation(t,s){return s.length===1&&s[0]?.dataType===t?ve(ce`${s[0]}`,t,rM(s[0].origin),s[0].possibleSideEffects):ve(ce`${this.ctx.resolve(t).value}(${s})`,t,"runtime",s.some(r=>r.possibleSideEffects))}numericLiteral(t,s){if(!Number.isFinite(t))throw new Error(`Value '${t}' (${s.type}) cannot be resolved due to WGSL's Finite Math Assumption (see: https://www.w3.org/TR/WGSL/#finite-math-assumption). This value might be a result of a comptime-evaluated operation.`);if(s.type==="abstractInt")return ve(`${t}`,s,"constant",!1);if(s.type==="u32")return ve(`${t}u`,s,"constant",!1);if(s.type==="i32")return ve(`${t}i`,s,"constant",!1);let r=t.toExponential(),o=s.type==="abstractFloat"&&Number.isInteger(t)?`${t}.`:`${t}`,n=r.lengththis.ctx.resolveSnippet(i).value).join(", "),n=r.map(i=>this.ctx.resolveSnippet(i).value).join(", ");return o.length>0?`${t}<${o}>(${n})`:`${t}(${n})`}emitBinaryOp(t,s,r){let o=this.ctx.resolveSnippet(t).value,n=this.ctx.resolveSnippet(r).value;return M$.includes(s)?`(${o} ${s} ${n})`:`${o} ${s} ${n}`}_return(t){let s=t[1];if(s!==void 0){let r=this.ctx.topFunctionReturnType,o=r?this._typedExpression(s,r):this._expression(s);if(o.value===void 0&&Cu(o.dataType))return this.ctx.reportReturnType(_s),`${this.ctx.pre}return;`;if(o.value instanceof wn)throw new Qe(`Cannot return '${jt(s)}' because it is a d.ref`);if(o.origin==="argument"&&!Io(o.dataType)&&this.ctx.topFunctionScope?.functionType==="normal")throw new Qe(`'${jt(t)}' is invalid, cannot return references to arguments. Copy the argument before returning it.`);if(!r&&en(o)&&!Io(o.dataType)&&o.origin!=="local-def"){let n=jt(s),i=this.ctx.resolve(Ca(o.dataType)).value;throw new Qe(`'return ${n};' is invalid, cannot return references. +----- +Try 'return ${i}(${n});' instead. +-----`)}return o=Fr(this.ctx,o,Ca(o.dataType),!1),ds(o.dataType!==Ut,"Return type should be known"),this.ctx.reportReturnType(o.dataType),ce`${this.ctx.pre}return ${o};`}return this.ctx.reportReturnType(_s),`${this.ctx.pre}return;`}_letStatement(t){let[s,r,o]=t;if(o===void 0)throw new Error(`'${jt(t)}' is invalid because all variables need initializers.`);let n=this._expression(o);if(n.value instanceof wn){let y=jt(o);throw new Qe(`'let ${r} = ${y}' is invalid, cannot initialize 'let' variables with d.ref() +----- +- Try 'const ${r} = ${y}'. +-----`)}let i=n.dataType;if(i===Ut){let y=jt(o);throw new Qe(`'let ${r} = ${y}' is invalid, cannot determine WGSL type of '${y}' +----- +- Try using or defining a schema that matches your desired value the most, and wrap the value with it: 'let ${r} = Schema(${y})' +-----`)}if(en(n)&&!Io(n.dataType)){let y=jt(o),h=this.ctx.resolve(Ca(n.dataType)).value;throw new Qe(`'let ${r} = ${y}' is invalid, because references cannot be assigned to 'let' variable declarations. +----- +- Try 'let ${r} = ${h}(${y})' if you need to reassign '${r}' later +- Try 'const ${r} = ${y}' if you won't reassign '${r}' later. +-----`)}let d=no(i),c=ve(this.ctx.makeUniqueIdentifier(r,"block"),d,"local-def",!1);this.ctx.defineVariable(r,c);let _=Fr(this.ctx,n,i,!1),u=this.ctx.resolveSnippet(_).value,m=this.ctx.topFunctionScope;ds(m,`Expected function scope to be present for ${r}`);let p=`#VAR_${m.placeholderForVariable.size}#`;return m.placeholderForVariable.set(c,p),{code:this._emitVarDecl(p,c.value,d,u),definesInNearestScope:!0}}_constStatement(t){let[s,r,o]=t;if(o===void 0)throw new Error(`'${jt(t)}' is invalid because all variables need initializers.`);let n=this._expression(o);if(n.value instanceof wn){if(n.dataType!==Ut)throw new Qe("Cannot store d.ref() in a variable if it references another value. Copy the value passed into d.ref() instead.");let g=n.value.snippet,w=this.refVariable(r,no(g.dataType));return{code:ce`${this.ctx.pre}var ${w} = ${Fr(this.ctx,g,g.dataType,!1)};`,definesInNearestScope:!0}}let i=Io(n.dataType),d="local-def",c="",_=n.dataType;if(_===Ut){let g=jt(o);throw new Qe(`'const ${r} = ${g}' is invalid, cannot determine WGSL type of '${g}' +----- +- Try using or defining a schema that matches your desired value the most, and wrap the value with it: 'const ${r} = Schema(${g})' +-----`)}if(n.origin==="argument")c="let",d=i?"local-def":"argument";else if(n.origin==="constant-immutable-def")c="const",d="constant-immutable-def";else if(n.origin==="runtime-immutable-def")c="let",d="runtime-immutable-def";else if(i)c=n.origin==="constant"?"const":"let",d="local-def";else if(!en(n))c="",d="local-def";else return this._aliasConstStatement(r,o,n);let u=no(_),m=ve(this.ctx.makeUniqueIdentifier(r,"block"),u,d,!1);this.ctx.defineVariable(r,m);let p=Fr(this.ctx,n,_,!1),y=this.ctx.resolveSnippet(p).value,h;if(c===""){let g=this.ctx.topFunctionScope;ds(g,`Expected function scope to be present for ${r}`),h=`#VAR_${g.placeholderForVariable.size}#`,g.placeholderForVariable.set(m,h)}else h=c;return{code:this._emitVarDecl(h,m.value,u,y),definesInNearestScope:!0}}_aliasConstStatement(t,s,r){let o=r.dataType;if(!pr(o)){let _=Bf(r.origin,no(o));ds(_!==void 0,`Creating pointer type from origin ${r.origin}`),o=_}o=A2(o),this.tryMarkModified(s);let n=no(o),i=ve(this.ctx.makeUniqueIdentifier(t,"block"),n,r.origin,!1);this.ctx.defineVariable(t,i);let d=Fr(this.ctx,r,o,!1),c=this.ctx.resolveSnippet(d).value;return{code:this._emitVarDecl("let",i.value,n,c),definesInNearestScope:!0}}_statement(t){if(typeof t=="string"){let o=this._identifier(t),n=o.value!==void 0&&o.value!==null?this.ctx.resolveSnippet(o).value:"";return{code:n?`${this.ctx.pre}${n};`:"",definesInNearestScope:!1}}if(typeof t=="boolean")return{code:`${this.ctx.pre}${t?"true":"false"};`,definesInNearestScope:!1};if(t[0]===Pt.return)return{code:this._return(t),endsWithControlFlow:"return",definesInNearestScope:!1};if(t[0]===Pt.if){let[o,n,i,d]=t,c=this._typedExpression(n,ft);if(typeof c.value=="boolean"){let m=c.value?i:d;return m===void 0?{code:"",definesInNearestScope:!1}:(Array.isArray(m)||(m=ka(m)),m[0]===Pt.block&&m[1].length===1&&m[1][0][0]===Pt.if?this._statement(m[1][0]):m[0]===Pt.if?this._statement(m):this._blockStatement(ka(m)))}let _=this._block(ka(i),!1),u=d?this._block(ka(d),!1).code:void 0;return u?{code:ce`\ +${this.ctx.pre}if (${c}) ${_.code||"{}"} +${this.ctx.pre}else ${u}`,definesInNearestScope:!1}:{code:ce`${this.ctx.pre}if (${c}) ${_.code||"{}"}`,definesInNearestScope:!1}}if(t[0]===Pt.let)return this._letStatement(t);if(t[0]===Pt.const)return this._constStatement(t);if(t[0]===Pt.block)return this._blockStatement(t);if(t[0]===Pt.for){let[o,n,i,d,c]=t,_=this.#t;this.#t=[];try{this.ctx.pushBlockScope();let[u,m,p]=this.ctx.withResetIndentLevel(()=>[n?this._statement(n).code:void 0,i?this._typedExpression(i,ft):void 0,d?this._statement(d).code:void 0]),y=u?u.slice(0,-1):"",h=p?p.slice(0,-1):"",g=this._block(ka(c),!1).code;return{code:ce`${this.ctx.pre}for (${y}; ${m}; ${h}) ${g||"{}"}`,definesInNearestScope:!1}}finally{this.#t=_,this.ctx.popBlockScope()}}if(t[0]===Pt.while){let o=this.#t;this.#t=[];try{let[n,i,d]=t,c=this._typedExpression(i,ft),_=this.ctx.resolveSnippet(c).value,u=this._block(ka(d),!1).code;return{code:`${this.ctx.pre}while (${_}) ${u||"{}"}`,definesInNearestScope:!1}}finally{this.#t=o}}if(t[0]===Pt.forOf){let[o,n,i,d]=t;if(n[0]!==Pt.const)throw new Qe("Only `for (const ... of ... )` loops are supported");this.tryMarkModified(i);let c=!1,_=this.#t;try{this.ctx.pushBlockScope();let u=this._expression(i),m=u.value instanceof R5,p=m?u.value.snippet:u,y=S$(this.ctx,p,m),h=n[1],g=ka(d);if(m){if(!hs(y.end))throw new Error("Cannot unroll loop. Length of iterable is unknown at comptime.");let A=y.end.value;if(A===0)return{code:"",definesInNearestScope:!1};let{value:P}=p,U=Sp(P)?P.map(W=>Wr(W)):P instanceof ic?P.elements:Array.from({length:A},(W,K)=>Lx(p,ve(K,R,"constant"))),D=U[0];if(!en(D)&&!Io(D.dataType))throw new Qe(`Cannot unroll '${jt(i)}'. The elements of iterable are constructed in place but are not value types.`);let O="",L,G=!1;for(let W=0;W`#${te}`).join(" / ")} +${Q.code} +`,Q.endsWithControlFlow!==void 0){L=Q.endsWithControlFlow;break}}return{code:`${O}${this.ctx.pre}// ---`,endsWithControlFlow:L,definesInNearestScope:G}}this.#t=[];let w=this.ctx.makeUniqueIdentifier("i","block"),S=ce`${this.ctx.pre}for (var ${w} = ${y.start}; ${w} ${y.comparison} ${y.end}; ${w} += ${y.step})`,T="";if(Sp(p.value))T=this._block(g,!1,{[h]:ve(w,y.start.dataType,"runtime",!1)}).code;else{this.ctx.indent(),c=!0;let A=this.ctx.makeUniqueIdentifier(h,"block"),P=Lx(p,ve(w,R,"runtime")),U=w$(P),D=T$(P,p);T=`{ +${ce`${this.ctx.pre}${U} ${A} = ${Fr(this.ctx,P,D,!1)};`} +${this._blockStatement(g,{[h]:ve(A,D,P.origin,!1)}).code} +`,this.ctx.dedent(),T+=`${this.ctx.pre}}`,c=!1}return{code:ce`${S} ${T.trim()||"{}"}`,definesInNearestScope:!1}}finally{c&&this.ctx.dedent(),this.#t=_,this.ctx.popBlockScope()}}if(t[0]===Pt.postUpdate){let[o,n,i]=t,d=this._expression(i),c=this.ctx.resolveSnippet(d).value;return Fx(d,t),this.tryMarkModified(i),{code:`${this.ctx.pre}${c}${n};`,definesInNearestScope:!1}}if(t[0]===Pt.continue){if(this.#t.length>0)throw new Qe("Cannot unroll loop containing `continue`");return{code:`${this.ctx.pre}continue;`,endsWithControlFlow:"continue",definesInNearestScope:!1}}if(t[0]===Pt.break){if(this.#t.length>0)throw new Qe("Cannot unroll loop containing `break`");return{code:`${this.ctx.pre}break;`,endsWithControlFlow:"break",definesInNearestScope:!1}}let s=this._expression(t),r=s.value!==void 0&&s.value!==null?this.ctx.resolveSnippet(s).value:"";return{code:r?`${this.ctx.pre}${r};`:"",definesInNearestScope:!1}}tryMarkModified(t){if(!t)return;let s=Y$(t);if(s!==void 0){let r=this.ctx.getById(s),o=this.ctx.topFunctionScope;r&&o&&o.placeholderForVariable.has(r)&&o.modifiedVariables.add(r)}}};function Fx(e,t){if(e.origin==="constant"||e.origin==="constant-immutable-def"||e.origin==="runtime-immutable-def")throw hs(e)?new Qe(`'${jt(t)}' is invalid, because the left side is defined outside of the shader, and therefore is immutable during its execution. Try using tgpu.privateVar or buffers.`):new Qe(`'${jt(t)}' is invalid, because the left side is a constant.`);if(e.origin==="uniform")throw new Qe(`'${jt(t)}' is invalid, because uniform buffers cannot be mutated.`);if(e.origin==="readonly")throw new Qe(`'${jt(t)}' is invalid, because readonly buffers cannot be mutated.`);if(e.origin==="argument")throw new Qe(`'${jt(t)}' is invalid, because non-pointer arguments cannot be mutated.`)}function z$(e){throw new Error(`'${io(e)}' was not handled by the WGSL generator.`)}function G$(e){return/^0x[0-9a-f]+$/i.test(e)?Number.parseInt(e):/^0b[01]+$/i.test(e)?Number.parseInt(e.slice(2),2):Number.parseFloat(e)}function ka(e){return typeof e!="object"||e[0]!==Pt.block?[Pt.block,[e]]:e}function Y$(e){let t=e;for(;Array.isArray(t)&&(t[0]===Pt.memberAccess||t[0]===Pt.indexAccess);)t=t[1];if(typeof t=="string")return t}var L$=(()=>{try{return new Function("return true"),!0}catch{return!1}})(),Bx=new WeakMap,Wx=!1,I_={u32:"u32",vec2u:"u32",vec3u:"u32",vec4u:"u32",u16:"u16",i32:"i32",vec2i:"i32",vec3i:"i32",vec4i:"i32",f32:"f32",vec2f:"f32",vec3f:"f32",vec4f:"f32",f16:"f16",vec2h:"f16",vec3h:"f16",vec4h:"f16",mat2x2f:"f32",mat3x3f:"f32",mat4x4f:"f32"},I$={uint8:"u8",uint8x2:"u8",uint8x4:"u8",sint8:"i8",sint8x2:"i8",sint8x4:"i8",unorm8:"u8",unorm8x2:"u8",unorm8x4:"u8",snorm8:"i8",snorm8x2:"i8",snorm8x4:"i8",uint16:"u16",uint16x2:"u16",uint16x4:"u16",sint16:"i16",sint16x2:"i16",sint16x4:"i16",unorm16:"u16",unorm16x2:"u16",unorm16x4:"u16",snorm16:"i16",snorm16x2:"i16",snorm16x4:"i16",float16:"f16",float16x2:"f16",float16x4:"f16",float32:"f32",float32x2:"f32",float32x3:"f32",float32x4:"f32",uint32:"u32",uint32x2:"u32",uint32x3:"u32",uint32x4:"u32",sint32:"i32",sint32x2:"i32",sint32x3:"i32",sint32x4:"i32"},D_={u32:"setUint32",i32:"setInt32",f32:"setFloat32",u16:"setUint16",i16:"setInt16",f16:"setFloat16",u8:"setUint8",i8:"setInt8"},D$={unorm8:e=>`Math.round(${e} * 255)`,unorm8x2:e=>`Math.round(${e} * 255)`,unorm8x4:e=>`Math.round(${e} * 255)`,snorm8:e=>`Math.round(${e} * 127)`,snorm8x2:e=>`Math.round(${e} * 127)`,snorm8x4:e=>`Math.round(${e} * 127)`,unorm16:e=>`Math.round(${e} * 65535)`,unorm16x2:e=>`Math.round(${e} * 65535)`,unorm16x4:e=>`Math.round(${e} * 65535)`,snorm16:e=>`Math.round(${e} * 32767)`,snorm16x2:e=>`Math.round(${e} * 32767)`,snorm16x4:e=>`Math.round(${e} * 32767)`},Ox={"unorm10-10-10-2":{writeFunction:"setUint32",generator:(e,t)=>`output.setUint32(${e}, ((${t}.x*1023&0x3FF)<<22)|((${t}.y*1023&0x3FF)<<12)|((${t}.z*1023&0x3FF)<<2)|(${t}.w*3&3), littleEndian); +`},"unorm8x4-bgra":{writeFunction:"setUint8",generator:(e,t)=>["z","y","x","w"].map((s,r)=>`output.setUint8((${e} + ${r}), Math.round(${t}.${s} * 255), littleEndian); +`).join("")}};function Vx(e,t,s,r=0,o=!1){let n=(c,_,u)=>o?`if (${_} < endOffset) { output.${c}(${_}, ${u}, littleEndian); } +`:`output.${c}(${_}, ${u}, littleEndian); +`,i=(c,_)=>o?`if (${c} < endOffset) { +${_}} +`:_;function d(c,_,u,m){let p=["i","j","k"][m]||`i${m}`;if(Uu(c)||zn(c))return d(c.inner,_,u,m);if(Qt(c)||un(c))return Object.entries(Nu(c)).map(([h,g])=>{let w=c.propTypes[h];return w?d(w,`(${_} + ${g.offset})`,`${u}.${h}`,m):""}).join("");if(Us(c)||Ja(c)){if(c.elementCount===0)throw new Error("Cannot write using a runtime-sized schema.");let h=qs(_t(c.elementType),rs(c)),g=c.elementCount*h,w=o?`Math.min(${u}.byteLength, Math.max(0, endOffset - (${_})))`:`Math.min(${u}.byteLength, ${g})`,S=`if (ArrayBuffer.isView(${u})) { +`;return S+=` new Uint8Array(output.buffer).set(new Uint8Array(${u}.buffer, ${u}.byteOffset, ${w}), output.byteOffset + (${_})); +`,S+=`} else { +`,S+=`for (let ${p} = 0; ${p} < ${c.elementCount}; ${p}++) { +`,o&&(S+=`if ((${_} + ${p} * ${h}) >= endOffset) return; +`),S+=d(c.elementType,`(${_} + ${p} * ${h})`,`${u}[${p}]`,m+1),S+=`} +`,S+=`} +`,S}if(Rt(c)){if(Yf(c))throw new Error("Compiled writers do not support boolean vectors");let h=I_[c.type],g=_t(c.primitive),w=D_[h];return Array.from({length:c.componentCount},(S,T)=>n(w,`(${_} + ${T*g})`,`${u}[${T}]`)).join("")}if(rn(c)){let h=D_[I_[c.type]],g=Kb(c)?2:Zb(c)?3:4,w=qs(g*4,8),S=["x","y","z","w"],T=w/4;return Array.from({length:g*g},(A,P)=>{let U=Math.floor(P/g),D=P%g,O=U*g+D,L=U*T+D;return n(h,`(${_} + ${U*w+D*4})`,`ArrayBuffer.isView(${u}) ? ${u}[${L}] : Array.isArray(${u}) ? ${u}[${O}] : ${u}.columns[${U}].${S[D]}`)}).join("")}if(aP(c)){let h=c.type;if(h in Ox){let D=Ox[h];return i(`(${_})`,D.generator(_,u))}let g=I$[h],w=D_[g],S=$n[h],T=Rt(S)?S.componentCount:1,A=g==="u8"||g==="i8"?1:g==="u16"||g==="i16"||g==="f16"?2:4,P=["x","y","z","w"],U=D$[h];return Array.from({length:T},(D,O)=>{let L=T===1?u:`${u}.${P[O]}`,G=U?U(L):L;return n(w,`(${_} + ${O*A})`,G)}).join("")}if(!Object.hasOwn(I_,c.type))throw new Error(`Primitive ${c.type} is unsupported by compiled writer`);let y=I_[c.type];return n(D_[y],_,u)}return d(e,t,s,r)}function Ev(e){if(!L$){Wx||(Vt.warn("fallback","This environment does not allow eval - using default writer as fallback"),Wx=!0);return}let t=Bx.get(e);if(t)return t;try{let s=Vx(e,"offset","value",0,!1),r=`if (offset > 0 || endOffset < output.byteLength) { +${Vx(e,"offset","value",0,!0)}} else { +${s}} +`,o=new Function("output","offset","value","littleEndian=true","endOffset=output.byteLength",r);return Bx.set(e,o),o}catch(s){Vt.warn("fallback",`Failed to compile writer for schema: ${e} +Reason: ${s instanceof Error?s.message:String(s)} +Falling back to default writer`)}}function Fs(e,t){e.writeUint16(Pl(t))}function Bs(e){return Nf(e.readUint16())}var Mi={bool(){throw new Error("Booleans are not host-shareable")},f32(e,t,s){e.writeFloat32(s)},f16(e,t,s){Fs(e,s)},i32(e,t,s){e.writeInt32(s)},u32(e,t,s){e.writeUint32(s)},u16(e,t,s){e.writeUint16(s)},vec2f(e,t,s){e.writeFloat32(s[0]),e.writeFloat32(s[1])},vec2h(e,t,s){Fs(e,s[0]),Fs(e,s[1])},vec2i(e,t,s){e.writeInt32(s[0]),e.writeInt32(s[1])},vec2u(e,t,s){e.writeUint32(s[0]),e.writeUint32(s[1])},"vec2"(){throw new Error("Booleans are not host-shareable")},vec3f(e,t,s){e.writeFloat32(s[0]),e.writeFloat32(s[1]),e.writeFloat32(s[2])},vec3h(e,t,s){Fs(e,s[0]),Fs(e,s[1]),Fs(e,s[2])},vec3i(e,t,s){e.writeInt32(s[0]),e.writeInt32(s[1]),e.writeInt32(s[2])},vec3u(e,t,s){e.writeUint32(s[0]),e.writeUint32(s[1]),e.writeUint32(s[2])},"vec3"(){throw new Error("Booleans are not host-shareable")},vec4f(e,t,s){e.writeFloat32(s[0]),e.writeFloat32(s[1]),e.writeFloat32(s[2]),e.writeFloat32(s[3])},vec4h(e,t,s){Fs(e,s[0]),Fs(e,s[1]),Fs(e,s[2]),Fs(e,s[3])},vec4i(e,t,s){e.writeInt32(s[0]),e.writeInt32(s[1]),e.writeInt32(s[2]),e.writeInt32(s[3])},vec4u(e,t,s){e.writeUint32(s[0]),e.writeUint32(s[1]),e.writeUint32(s[2]),e.writeUint32(s[3])},"vec4"(){throw new Error("Booleans are not host-shareable")},mat2x2f(e,t,s){for(let r=0;r"(){throw new Error("Booleans are not host-shareable")},"vec3"(){throw new Error("Booleans are not host-shareable")},"vec4"(){throw new Error("Booleans are not host-shareable")},mat2x2f(e){return Gn(e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32())},mat3x3f(e){let t=()=>{let s=e.readFloat32();return e.readFloat32(),s};return Yn(e.readFloat32(),e.readFloat32(),t(),e.readFloat32(),e.readFloat32(),t(),e.readFloat32(),e.readFloat32(),t())},mat4x4f(e){return Hs(e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32())},struct(e,t){let s=rs(t);Os(e,s);let r={},o=t.propTypes;for(let[n,i]of Object.entries(o))Os(e,rs(i)),r[n]=jn(e,i);return Os(e,s),r},array(e,t){if(t.elementCount===0)throw new Error("Cannot read using a runtime-sized schema.");let s=rs(t),r=[];for(let o=0;oe.readUint8(),uint8x2:e=>Ct(e.readUint8(),e.readUint8()),uint8x4:e=>Et(e.readUint8(),e.readUint8(),e.readUint8(),e.readUint8()),sint8:e=>e.readInt8(),sint8x2:e=>Xt(e.readInt8(),e.readInt8()),sint8x4:e=>Wt(e.readInt8(),e.readInt8(),e.readInt8(),e.readInt8()),unorm8:e=>e.readUint8()/255,unorm8x2:e=>lt(e.readUint8()/255,e.readUint8()/255),unorm8x4:e=>Oe(e.readUint8()/255,e.readUint8()/255,e.readUint8()/255,e.readUint8()/255),snorm8:e=>e.readInt8()/127,snorm8x2:e=>lt(e.readInt8()/127,e.readInt8()/127),snorm8x4:e=>Oe(e.readInt8()/127,e.readInt8()/127,e.readInt8()/127,e.readInt8()/127),uint16:e=>e.readUint16(),uint16x2:e=>Ct(e.readUint16(),e.readUint16()),uint16x4:e=>Et(e.readUint16(),e.readUint16(),e.readUint16(),e.readUint16()),sint16:e=>e.readInt16(),sint16x2:e=>Xt(e.readInt16(),e.readInt16()),sint16x4:e=>Wt(e.readInt16(),e.readInt16(),e.readInt16(),e.readInt16()),unorm16:e=>e.readUint16()/65535,unorm16x2:e=>lt(e.readUint16()/65535,e.readUint16()/65535),unorm16x4:e=>Oe(e.readUint16()/65535,e.readUint16()/65535,e.readUint16()/65535,e.readUint16()/65535),snorm16:e=>e.readInt16()/32767,snorm16x2:e=>lt(e.readInt16()/32767,e.readInt16()/32767),snorm16x4:e=>Oe(e.readInt16()/32767,e.readInt16()/32767,e.readInt16()/32767,e.readInt16()/32767),float16(e){return Bs(e)},float16x2:e=>lt(Bs(e),Bs(e)),float16x4:e=>Oe(Bs(e),Bs(e),Bs(e),Bs(e)),float32:e=>e.readFloat32(),float32x2:e=>lt(e.readFloat32(),e.readFloat32()),float32x3:e=>It(e.readFloat32(),e.readFloat32(),e.readFloat32()),float32x4:e=>Oe(e.readFloat32(),e.readFloat32(),e.readFloat32(),e.readFloat32()),uint32:e=>e.readUint32(),uint32x2:e=>Ct(e.readUint32(),e.readUint32()),uint32x3:e=>gt(e.readUint32(),e.readUint32(),e.readUint32()),uint32x4:e=>Et(e.readUint32(),e.readUint32(),e.readUint32(),e.readUint32()),sint32:e=>e.readInt32(),sint32x2:e=>Xt(e.readInt32(),e.readInt32()),sint32x3:e=>cs(e.readInt32(),e.readInt32(),e.readInt32()),sint32x4:e=>Wt(e.readInt32(),e.readInt32(),e.readInt32(),e.readInt32()),"unorm10-10-10-2"(e){let t=e.readUint32();return Oe((t>>22)/1023,(t>>12&1023)/1023,(t>>2&1023)/1023,(t&3)/3)},"unorm8x4-bgra"(e){let t=e.readByte()/255,s=e.readByte()/255;return Oe(e.readByte()/255,s,t,e.readByte()/255)},unstruct(e,t){let s={},r=t.propTypes;for(let[o,n]of Object.entries(r))s[o]=jn(e,n);return s},disarray(e,t){let s=rs(t),r=[];for(let o=0;o"}' cannot be bound as 'storage'. Use .$usage('storage') to allow it.`),Object.setPrototypeOf(this,F5.prototype)}};function Oc(e){return e instanceof Va}function V$(e){return Oc(e)&&e.resourceType==="uniform"}function N$(e){return Oc(e)&&e.resourceType==="mutable"}function q$(e){return Oc(e)&&e.resourceType==="readonly"}var Va=class Mp{[me];[Xs];resourceType;static#e=void(Mp.prototype[B]=!0,mn(In(Mp.prototype,{asString(){return`${this.resourceType}BufferBinding:${xe(this)??""}`},resolve(t){let s=this.buffer.dataType,r=t.makeUniqueIdentifier(xe(this),"global"),{group:o,binding:n}=t.allocateFixedEntry(this.resourceType==="uniform"?{uniform:s}:{storage:s,access:this.resourceType},this.buffer);return t.gen.declareGlobalVar({group:o,binding:n,scope:this.resourceType,id:r,dataType:s,init:void 0})}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.buffer.dataType,this.resourceType,!1)}},simulateMode:{get(t){return t.buffers.has(this.buffer)||t.buffers.set(this.buffer,aa(this.buffer.dataType,this.buffer.initial)),t.buffers.get(this.buffer)},set(t,s){t.buffers.set(this.buffer,s)}},normalMode:{get(){throw new Q0(Al()?`Cannot access ${String(this.buffer)}. TypeGPU functions that depends on GPU resources need to be part of a compute dispatch, draw call or simulation`:".$ is inaccessible during normal JS execution. Try `.read()`")},set(){throw new Q0(Al()?`Cannot access ${String(this.buffer)}. TypeGPU functions that depends on GPU resources need to be part of a compute dispatch, draw call or simulation`:".$ is inaccessible during normal JS execution. Try `.write()`")}}}));constructor(t,s){this.resourceType=t,this[Xs]=s,this[me]={type:t,buffer:s,label:void 0}}get buffer(){return this[me].buffer}$name(t){return ot(this,t),this}write(t,s){this.buffer.write(t,s)}writePartial(t){this.buffer.writePartial(t)}patch(t){this.buffer.patch(t)}read(){return this.buffer.read()}},qx=new WeakMap;function X$(e){if(!Sl(e))throw new Error(`Cannot call as('mutable') on ${e}, as it is not allowed to be used as storage. To allow it, call .$usage('storage') when creating the buffer.`);let t=qx.get(e);return t||(t=new Va("mutable",e),qx.set(e,t)),t}var Xx=new WeakMap;function H$(e){if(!Sl(e))throw new Error(`Cannot call as('readonly') on ${e}, as it is not allowed to be used as storage. To allow it, call .$usage('storage') when creating the buffer.`);let t=Xx.get(e);return t||(t=new Va("readonly",e),Xx.set(e,t)),t}var Hx=new WeakMap;function j$(e){if(!b2(e))throw new Error(`Cannot call as('uniform') on ${e}, as it is not allowed to be used as a uniform. To allow it, call .$usage('uniform') when creating the buffer.`);let t=Hx.get(e);return t||(t=new Va("uniform",e),Hx.set(e,t)),t}function B5(e,t){let s=Object.values(e).flatMap(n=>Object.values(n.entries)).filter(n=>n!==null),r=s.filter(n=>"uniform"in n).length,o=s.filter(n=>"storage"in n).length;r>t.maxUniformBuffersPerShaderStage&&Vt.warn("webgpu-limits-exceeded",`Total number of uniform buffers (${r}) exceeds maxUniformBuffersPerShaderStage (${t.maxUniformBuffersPerShaderStage}). Consider: +1. Grouping some of the uniforms into one using 'd.struct', +2. Increasing the limit when requesting a device or creating a root.`),o>t.maxStorageBuffersPerShaderStage&&Vt.warn("webgpu-limits-exceeded",`Total number of storage buffers (${o}) exceeds maxStorageBuffersPerShaderStage (${t.maxStorageBuffersPerShaderStage}).`)}function K$(e){return Qt(e)||Us(e)?qs(rs(e),16):rs(e)}function Pp(e){if(Us(e)){Pp(e.elementType);let t=qs(_t(e.elementType),rs(e.elementType));t%16!==0&&Vt.warn("uniform-schema-misaligned",`Schema '${xe(e.elementType)??""}' is used in an array in a uniform buffer, and its stride (${t}) is not a multiple of 16. +This is not portable (see https://www.w3.org/TR/WGSL/#address-space-layout-constraints), and will break on some devices. +To address this, put the element schema in a struct and wrap the prop in 'd.align(16, ...)', or use a different schema like 'vec4f'.`)}if(Qt(e)){Object.values(e.propTypes).forEach(Pp),Object.entries(e.propTypes).forEach(([s,r])=>{let o=cl(e,i=>i[s]).offset,n=K$(r);o%n&&Vt.warn("uniform-schema-misaligned",`Schema '${xe(e)??""}' is used in a uniform buffer, and its property '${s}' does not meet required alignment (offset is ${o}, required alignment is ${n}). +This is not portable (see https://www.w3.org/TR/WGSL/#address-space-layout-constraints), and will break on some devices. +To address this, wrap the property '${s}' in 'd.align(${n}, ...)'.`)});let t=Object.keys(e.propTypes);for(let s=0;s_[r]).offset,c=cl(e,_=>_[o]).offset-d;i>c&&Vt.warn("uniform-schema-misaligned",`Schema '${xe(e)??""}' is used in a uniform buffer, and the difference between memory offsets of '${r}' and '${o}' props (${c}) is less than recommended (${i}). +This is not portable (see https://www.w3.org/TR/WGSL/#address-space-layout-constraints), and will break on some devices. +To address this, wrap the '${r}' prop in 'd.size(${i}, ...)'.`)}}}var Z$={uniform:j$,mutable:X$,readonly:H$};function F_(e,t,s){return Qa(t)?new jx(e,t,s):new jx(e,t,s,["storage","uniform"])}var jx=class{[B];[me];resourceType="buffer";#e;#t=!1;#s;get#r(){return this.#s??=new ArrayBuffer(_t(this.dataType))}#o;#n;#i;initial;usableAsUniform=!1;usableAsStorage=!1;usableAsVertex=!1;usableAsIndex=!1;usableAsIndirect=!1;constructor(e,t,s,r){this[me]={type:"buffer",device:e.device,dataType:t,flags:GPUBufferUsage.COPY_DST|GPUBufferUsage.COPY_SRC,usages:[],raw:void 0,label:void 0},this.#i=r,Mn(s)?(this.#e=!1,this[me].raw=s):(this.#e=!0,typeof s=="function"?this.#n=s:this.initial=s),this[B]={root:e,materialize:()=>{if(this.#t)throw new Error("This buffer has been destroyed");let o=this[me];return o.raw||(o.raw=o.device.createBuffer({size:_t(o.dataType),usage:o.flags,mappedAtCreation:!!this.initial||!!this.#n,label:xe(this)??""}),(this.initial||this.#n)&&(this.#n?this.#n(this):this.initial&&mm(this.#a(),this.dataType,this.initial),this.#d())),o.raw}}}get dataType(){return this[me].dataType}get flags(){return this[me].flags}set flags(e){this[me].flags=e}get buffer(){return this[B].materialize()}get destroyed(){return this.#t}get arrayBuffer(){return this.buffer.mapState==="mapped"?this.#a():this.#r}#a(){let e=this[me].raw;if(!e||e.mapState!=="mapped")throw new Error("Buffer is not mapped.");return this.#o??=e.getMappedRange(),this.#o}#d(){let e=this[me].raw;!e||e.mapState!=="mapped"||(this.#o=void 0,e.unmap())}$name(e){ot(this,e);let t=this[me].raw;return t&&(t.label=e),this}$usage(...e){for(let t of e){if(this.#i?.includes(t))throw new Error(`Buffer of type ${this.dataType.type} cannot be used as ${t}`);t==="uniform"&&Pp(this.dataType),this.flags|=t==="uniform"?GPUBufferUsage.UNIFORM:0,this.flags|=t==="storage"?GPUBufferUsage.STORAGE:0,this.flags|=t==="vertex"?GPUBufferUsage.VERTEX:0,this.flags|=t==="index"?GPUBufferUsage.INDEX:0,this.flags|=t==="indirect"?GPUBufferUsage.INDIRECT:0,this.usableAsUniform=this.usableAsUniform||t==="uniform",this.usableAsStorage=this.usableAsStorage||t==="storage",this.usableAsVertex=this.usableAsVertex||t==="vertex",this.usableAsIndex=this.usableAsIndex||t==="index",this.usableAsIndirect=this.usableAsIndirect||t==="indirect",this[me].usages.includes(t)||this[me].usages.push(t)}return this}$addFlags(e){if(!this.#e)throw new Error("Cannot add flags to a buffer that is not managed by TypeGPU.");return e&GPUBufferUsage.MAP_READ?(this.flags=GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ,this):e&GPUBufferUsage.MAP_WRITE?(this.flags=GPUBufferUsage.COPY_SRC|GPUBufferUsage.MAP_WRITE,this):(this.flags|=e,this)}compileWriter(){Ev(this.dataType)}write(e,t){let s=this.buffer;if(s.mapState==="mapped"){let i=this.#a();if(e instanceof ArrayBuffer&&e===i)return;mm(i,this.dataType,e,t);return}e instanceof ArrayBuffer&&e===this.#r||mm(this.#r,this.dataType,e,t);let{startOffset:r,endOffset:o}=I5(t,this.dataType,e),n=o-r;this[me].device.queue.writeBuffer(s,r,this.#r,r,n)}writePartial(e){this.patch(Ap(this.dataType,e))}patch(e){let t=this.buffer;if(t.mapState==="mapped")O$(this.#a(),this.dataType,e);else{let s=D5(this.dataType,e,this.#r);for(let{data:r,gpuOffset:o}of s)this[me].device.queue.writeBuffer(t,o,r)}}clear(e){let t=this.buffer;if(e){e[B].rawEncoder.clearBuffer(t);return}if(t.mapState==="mapped"){new Uint8Array(this.#a()).fill(0);return}let s=this[me].device.createCommandEncoder();s.clearBuffer(t),this[me].device.queue.submit([s.finish()])}copyFrom(e,t){if(this.buffer.mapState==="mapped")throw new Error("Cannot copy to a mapped buffer.");let s=_t(this.dataType);if(t){t[B].rawEncoder.copyBufferToBuffer(e.buffer,0,this.buffer,0,s);return}let r=this[me].device.createCommandEncoder();r.copyBufferToBuffer(e.buffer,0,this.buffer,0,s),this[me].device.queue.submit([r.finish()])}async read(){let e=this.buffer;if(e.mapState==="mapped")return pm(this.#a(),this.dataType);if(e.usage&GPUBufferUsage.MAP_READ){await e.mapAsync(GPUMapMode.READ);let o=pm(this.#a(),this.dataType);return this.#d(),o}let t=this[me].device.createBuffer({size:_t(this.dataType),usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ}),s=this[me].device.createCommandEncoder();s.copyBufferToBuffer(e,0,t,0,_t(this.dataType)),this[me].device.queue.submit([s.finish()]),await t.mapAsync(GPUMapMode.READ,0,_t(this.dataType));let r=pm(t.getMappedRange(),this.dataType);return t.unmap(),t.destroy(),r}as(e){return Z$[e](this)}destroy(){this.#t||(this.#t=!0,this.#o=void 0,this.#e&&this[me].raw?.destroy())}toString(){return`buffer:${xe(this)??""}`}},W5=class Ep{bindings;constructor(t){this.bindings=t}with(t,s){return new Ep([...this.bindings,[dd(t)||cd(t)?t.slot:t,s]])}pipe(t){let s=t(this);return new Ep([...this.bindings,...s.bindings])}};function*Q$(e){let t=0;for(;;)e.has(t)||(yield t),t++}function J$(e,t){return new V5(fv(),e,t)}function e4(e,t){return new V5(o5(),e,t)}function kv(e){let t=e;return t?.resourceType==="sampler"&&!!t[B]}function $v(e){let t=e;return t?.resourceType==="sampler-comparison"&&!!t[B]}var t4=class O5{[B]={materialize:void 0};resourceType;schema;#e;static#t=mn(In(O5.prototype,{asString(){return`${this.resourceType}:${xe(this)??""}`},resolve(t){let s=t.makeUniqueIdentifier(xe(this),"global"),r=t.allocateLayoutEntry(this.#e.layout);return t.addDeclaration(`@group(${r}) @binding(${this.#e.idx}) var ${s}: ${t.resolve(this.schema).value};`,s),ve(s,this.schema,"handle")}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.schema,"handle",!1)}},normalMode:{get(){throw new Error("Direct access to sampler values is possible only as part of a compute dispatch or draw call.")}}});constructor(t,s){this.schema=t,this.#e=s,this.resourceType=t.type==="sampler_comparison"?"sampler-comparison":"sampler",ot(this,s.key)}},V5=class N5{[B];[me];resourceType;schema;#e;static#t=mn(In(N5.prototype,{asString(){return`${this.resourceType}:${xe(this)??""}`},resolve(t){let s=t.makeUniqueIdentifier(xe(this),"global"),{group:r,binding:o}=t.allocateFixedEntry(this.schema.type==="sampler_comparison"?{sampler:"comparison"}:{sampler:this.#e?"filtering":"non-filtering"},this);return t.addDeclaration(`@group(${r}) @binding(${o}) var ${s}: ${t.resolve(this.schema).value};`,s),ve(s,this.schema,"handle")}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.schema,"handle",!1)}},normalMode:{get(){throw new Error("Direct access to sampler values is possible only as part of a compute dispatch or draw call.")}}});constructor(t,s,r){this.schema=t,this.resourceType=t.type==="sampler_comparison"?"sampler-comparison":"sampler",this[me]={type:this.resourceType,device:r.device,props:s,raw:void 0,label:void 0},this[B]={root:r,materialize:()=>{let o=this[me];return o.raw||(o.raw=o.device.createSampler({...o.props,label:xe(this)??""})),o.raw}},this.#e=s.minFilter==="linear"||s.magFilter==="linear"||s.mipmapFilter==="linear"}$name(t){return ot(this,t),this}},s4=class{resourceType="external-texture";[B]=!0;schema;#e;constructor(e,t){this.schema=e,this.#e=t,ot(this,t.key)}[kt](e){let t=e.makeUniqueIdentifier(xe(this),"global"),s=e.allocateLayoutEntry(this.#e.layout);return e.addDeclaration(`@group(${s}) @binding(${this.#e.idx}) var ${t}: ${e.resolve(this.schema).value};`,t),ve(t,s5(),"handle")}get[Hr](){let e=this.schema;return new Proxy({[B]:!0,get[oa](){return ve(this,e,"handle",!1)},[kt]:t=>t.resolve(this),toString:()=>`textureExternal:${xe(this)??""}.$`},Wi)}get $(){if(Yu())return this[Hr];throw new Error("Direct access to texture views values is possible only as part of a compute dispatch or draw call. Try .read() or .write() instead")}toString(){return`textureExternal:${xe(this)??""}`}},r4={channelType:a,vectorType:Oe,sampleTypes:["depth","unfilterable-float"],texelSize:"non-copyable"},o4={channelType:a,vectorType:Oe,sampleTypes:["depth","unfilterable-float"],texelSize:2},n4={channelType:a,vectorType:Oe,sampleTypes:["depth","unfilterable-float"],texelSize:4},a4={channelType:R,vectorType:Et,sampleTypes:["uint"],texelSize:1},Kx=new Map;function Vc(e){let t=Kx.get(e);return t===void 0&&(t=i4(e),Kx.set(e,t)),t}function i4(e){let t=_4(e),s=d4(e),r=e.includes("stencil");return{channelType:t,vectorType:t===R?Et:t===Z?Wt:Oe,texelSize:l4(e),sampleTypes:u4(e),canRenderAttachment:c4(e),...s&&{depthAspect:s},...r&&{stencilAspect:a4}}}function d4(e){if(e==="depth16unorm")return o4;if(e==="depth32float"||e==="depth32float-stencil8")return n4;if(e==="depth24plus"||e==="depth24plus-stencil8")return r4}function c4(e){return!(e.startsWith("bc")||e.startsWith("etc2")||e.startsWith("eac")||e.startsWith("astc")||e==="rgb9e5ufloat")}function _4(e){return e==="stencil8"||e.includes("uint")?R:e.includes("sint")?Z:a}function l4(e){let[,t,s]=e.match(/^(rgba|bgra|rg|r)(8|16|32)/)??[];return t&&s?t.length*Number(s)/8:e==="stencil8"?1:e==="depth16unorm"?2:e==="depth32float"?4:e==="depth32float-stencil8"?5:e==="depth24plus"||e==="depth24plus-stencil8"?"non-copyable":/^(bc[14]-|etc2-rgb8|eac-r11)/.test(e)?8:/^(bc|astc-|etc2-rgba|eac-rg)/.test(e)?16:4}function u4(e){return e==="stencil8"?["uint"]:e.includes("uint")?["uint"]:e.includes("sint")?["sint"]:e.includes("depth")?["depth","unfilterable-float"]:/^(r|rg|rgba)16(u|s)norm$/.test(e)?["unfilterable-float"]:["float","unfilterable-float"]}var m4=new Set(["r32float","rg32float","rgba32float"]);function p4(e,t){return m4.has(t)&&!e.features.has("float32-filterable")?["unfilterable-float"]:Vc(t).sampleTypes}function q5(e){let{videoWidth:t,videoHeight:s}=e;if(t&&s)return{width:t,height:s};let{naturalWidth:r,naturalHeight:o}=e;if(r&&o)return{width:r,height:o};let{codedWidth:n,codedHeight:i}=e;if(n&&i)return{width:n,height:i};let{width:d,height:c}=e;if(d&&c)return{width:d,height:c};throw new Error("Cannot determine dimensions of the provided image source.")}var f4=` +struct VertexOutput { + @builtin(position) pos: vec4f, + @location(0) uv: vec2f, +} + +@vertex +fn vs_main(@builtin(vertex_index) i: u32) -> VertexOutput { + const pos = array(vec2f(-1, -1), vec2f(3, -1), vec2f(-1, 3)); + const uv = array(vec2f(0, 1), vec2f(2, 1), vec2f(0, -1)); + return VertexOutput(vec4f(pos[i], 0, 1), uv[i]); +}`,v4=` +@group(0) @binding(0) var src: texture_2d; +@group(0) @binding(1) var samp: sampler; + +@fragment +fn fs_main(@location(0) uv: vec2f) -> @location(0) vec4f { + return textureSample(src, samp, uv); +}`,y4=` +@group(0) @binding(0) var src: texture_2d; +@group(0) @binding(1) var samp: sampler; + +@fragment +fn fs_main(@location(0) uv: vec2f) -> @location(0) vec4f { + let r = textureGather(0, src, samp, uv); + let g = textureGather(1, src, samp, uv); + let b = textureGather(2, src, samp, uv); + let a = textureGather(3, src, samp, uv); + return vec4f(dot(r, vec4f(0.25)), dot(g, vec4f(0.25)), dot(b, vec4f(0.25)), dot(a, vec4f(0.25))); +}`,kp=new WeakMap;function h4(e){let t=kp.get(e);return t||(t={vertexModule:e.createShaderModule({code:f4}),filterableResources:new Map,layoutResources:new Map},kp.set(e,t)),t}function x4(e,t,s){let r=h4(e),o=r.filterableResources.get(t);o||(o={fragmentModule:e.createShaderModule({code:t?v4:y4}),sampler:e.createSampler(t?{magFilter:"linear",minFilter:"linear"}:{})},r.filterableResources.set(t,o));let n=`${t}:${s}`,i=r.layoutResources.get(n);if(!i){let d=e.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:s}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{type:t?"filtering":"non-filtering"}}]});i={bindGroupLayout:d,pipelineLayout:e.createPipelineLayout({bindGroupLayouts:[d]})},r.layoutResources.set(n,i)}return{vertexModule:r.vertexModule,...o,...i}}function X5(e){let{device:t,source:s,destination:r,format:o,filterable:n,sampleType:i}=e,d=x4(t,n,i),c=t.createRenderPipeline({layout:d.pipelineLayout,vertex:{module:d.vertexModule},fragment:{module:d.fragmentModule,targets:[{format:o}]},primitive:{topology:"triangle-list"}}),_=t.createBindGroup({layout:d.bindGroupLayout,entries:[{binding:0,resource:s},{binding:1,resource:d.sampler}]}),u=!e.encoder,m=e.encoder??t.createCommandEncoder(),p=m.beginRenderPass({colorAttachments:[{view:r,loadOp:"clear",storeOp:"store"}]});p.setPipeline(c),p.setBindGroup(0,_),p.draw(3),p.end(),u&&t.queue.submit([m.finish()])}function g4(e){kp.delete(e)}function H5(e,t,s){let r=Vc(t),o=p4(e,t),n=o.includes("float"),i=o.includes("unfilterable-float");if(!n&&!i)throw new Error(`Cannot ${s} for format '${t}': only float formats are supported.`);if(!r.canRenderAttachment)throw new Error(`Cannot ${s} for format '${t}': format does not support render attachments.`);return{filterable:n,sampleType:n?"float":"unfilterable-float"}}function b4(e,t,s=0,r){if(t.dimension!=="2d")throw new Error("Mipmap generation only supports 2D textures.");let{filterable:o,sampleType:n}=H5(e,t.format,"generate mipmaps"),i=r??t.mipLevelCount-s;for(let d=0;d({dimension:"2d",baseMipLevel:u,mipLevelCount:1,baseArrayLayer:d,arrayLayerCount:1});X5({device:e,source:t.createView(_(c)),destination:t.createView(_(c+1)),format:t.format,filterable:o,sampleType:n})}}function w4(e,t,s,r=0){if(t.dimension!=="2d")throw new Error("Resampling only supports 2D textures.");let{filterable:o}=H5(e,t.format,"resample"),{width:n,height:i}=q5(s),d=e.createTexture({size:[n,i],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT});e.queue.copyExternalImageToTexture({source:s},{texture:d},[n,i]);let c=e.createTexture({size:[t.width,t.height],format:t.format,usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.COPY_SRC}),_=e.createCommandEncoder();X5({device:e,source:d.createView(),destination:c.createView(),format:t.format,filterable:o,sampleType:"float",encoder:_}),_.copyTextureToTexture({texture:c},{texture:t,origin:{x:0,y:0,z:r}},{width:t.width,height:t.height,depthOrArrayLayers:1}),e.queue.submit([_.finish()]),d.destroy(),c.destroy()}function T4(e){return{dimension:e.dimension??"2d",sampleType:Vc(e.format).channelType,multisampled:(e.sampleCount??1)!==1}}function S4(e,t,s){return new A4(e,t,s)}function Tc(e){return e?.resourceType==="texture"&&!!e[B]}function Oi(e){return e?.resourceType==="texture-view"&&!!e[B]}var A4=class{[B];[me];resourceType="texture";usableAsSampled=!1;usableAsStorage=!1;usableAsRender=!1;#e;#t=!1;#s;constructor(e,t,s){this.#s=s===void 0,this[me]={type:"texture",device:t.device,props:e,flags:GPUTextureUsage.COPY_DST|GPUTextureUsage.COPY_SRC,flagsOverridden:!1,usages:[],raw:s,label:void 0},this.#e=Vc(e.format),this[B]={root:t,materialize:()=>{if(this.#t)throw new Error("This texture has been destroyed");let r=this[me];if(!r.raw){let o=r.props;r.raw=(globalThis.__TYPEGPU_AUTONAME__??(n=>n))(r.device.createTexture({label:xe(this)??"",format:o.format,size:o.size,usage:r.flags,dimension:o.dimension??"2d",viewFormats:o.viewFormats??[],mipLevelCount:o.mipLevelCount??1,sampleCount:o.sampleCount??1}),"raw")}return r.raw}}}get props(){return this[me].props}$name(e){return ot(this,e),this}$usage(...e){let t=this[me];if(t.flagsOverridden)throw new Error("Cannot call $usage() after $overrideFlags().");let s=e.includes("storage"),r=e.includes("sampled"),o=e.includes("render"),n=e.includes("transient"),i=(r?GPUTextureUsage.TEXTURE_BINDING:0)|(s?GPUTextureUsage.STORAGE_BINDING:0),d=GPUTextureUsage.TRANSIENT_ATTACHMENT|GPUTextureUsage.RENDER_ATTACHMENT,c=t.flags|i|(o?GPUTextureUsage.RENDER_ATTACHMENT:0),_=n||!!(t.flags&GPUTextureUsage.TRANSIENT_ATTACHMENT),u=!!(c&(GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.STORAGE_BINDING));if(_&&u)throw new Error("Transient texture usage cannot be combined with 'sampled' or 'storage'.");t.flags=n?d:c,this.usableAsStorage||=s,this.usableAsSampled||=r,this.usableAsRender||=o||n;for(let m of e)t.usages.includes(m)||t.usages.push(m);return this}$overrideFlags(e){let t=this[me];return t.flags=e,t.flagsOverridden=!0,this.usableAsSampled=!0,this.usableAsStorage=!0,this.usableAsRender=!0,this}createView(e,t){return e==="render"?new P4(this,t):new M4(e??vP(T4(this.props)),this,t)}#r(e=0){let t=2**e,[s,r,o]=[Math.max(1,Math.floor((this.props.size[0]??1)/t)),Math.max(1,Math.floor((this.props.size[1]??1)/t)),Math.max(1,Math.floor((this.props.size[2]??1)/t))],n=this.#e.texelSize;if(n==="non-copyable")throw new Error(`Cannot clear texture with format '${this.props.format}': this format does not support copy operations.`);this[me].device.queue.writeTexture({texture:this[B].materialize(),mipLevel:e},new Uint8Array(s*r*o*n),{bytesPerRow:n*s,rowsPerImage:r},[s,r,o])}clear(e="all"){if(e==="all"){let t=this.props.mipLevelCount??1;for(let s=0;s=(this.props.mipLevelCount??1))throw new Error(`Base mip level ${e} is out of range. Texture has ${this.props.mipLevelCount??1} mip levels.`);b4(this[me].device,this[B].materialize(),e,s)}write(e,t=0){if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)){this.#o(e,typeof t=="number"?t:0);return}if(!this.usableAsRender)throw new Error("texture.write(...) with image sources requires 'render' usage. Add it via the $usage('render') method.");let s=typeof t=="number"?void 0:t,r=this.props.dimension??"2d";if(!Array.isArray(e)){this.#n(e,r==="3d"?0:void 0,s);return}let o=this.props.size[2]??1;e.length>o&&Vt.warn("suspicious",`Too many image sources provided. Expected ${o} layers, got ${e.length}. Extra sources will be ignored.`);for(let n=0;n>t),r=Math.max(1,(this.props.size[1]??1)>>t),o=Math.max(1,(this.props.size[2]??1)>>t),n=this.#e.texelSize;if(n==="non-copyable")throw new Error(`Cannot write to texture with format '${this.props.format}': this format does not support copy operations.`);let i=s*r*o*n,d=e.byteLength??e.byteLength;if(d!==i)throw new Error(`Buffer size mismatch. Expected ${i} bytes for mip level ${t}, got ${d} bytes.`);this[me].device.queue.writeTexture({texture:this[B].materialize(),mipLevel:t},"buffer"in e?e.buffer:e,{bytesPerRow:n*s,rowsPerImage:r},[s,r,o])}#n(e,t,s){let r=this.props.size[0],o=this.props.size[1]??1,{width:n,height:i}=q5(e);if(n!==r||i!==o){if(s?.fit!=="stretch")throw new Error(`Texture write source size ${n}x${i} does not match target size ${r}x${o}. Pass fit: 'stretch' to resize explicitly.`);w4(this[me].device,this[B].materialize(),e,t);return}this[me].device.queue.copyExternalImageToTexture({source:e},{texture:this[B].materialize(),...t!==void 0&&{origin:{x:0,y:0,z:t}}},t!==void 0?[r,o,1]:this.props.size)}copyFrom(e){if(e.props.format!==this.props.format)throw new Error(`Texture format mismatch. Source texture has format ${e.props.format}, target texture has format ${this.props.format}`);if(e.props.size[0]!==this.props.size[0]||(e.props.size[1]??1)!==(this.props.size[1]??1)||(e.props.size[2]??1)!==(this.props.size[2]??1))throw new Error(`Texture size mismatch. Source texture has size ${e.props.size.join("x")}, target texture has size ${this.props.size.join("x")}`);let t=this[me].device.createCommandEncoder();t.copyTextureToTexture({texture:e[B].materialize()},{texture:this[B].materialize()},e.props.size),this[me].device.queue.submit([t.finish()])}toString(){return`${this.resourceType}:${xe(this)??""}`}get destroyed(){return this.#t}destroy(){this.#t||(this.#t=!0,this.#s&&this[me].raw?.destroy())}},M4=class{[B];[me];resourceType="texture-view";constructor(e,t,s){this[me]={type:"texture-view",texture:t,schema:e,descriptor:s,raw:void 0,label:void 0},this[B]={unwrap:()=>{let r=this[me];if(!r.raw){let o=r.schema,n=dl(o)?o.format:r.texture.props.format;r.raw=(globalThis.__TYPEGPU_AUTONAME__??(i=>i))(r.texture[B].materialize().createView({...r.descriptor,label:xe(this)??"",format:r.descriptor?.format??n,dimension:o.dimension}),"raw")}return r.raw},format:s?.format??(dl(e)?e.format:t.props.format),aspect:s?.aspect}}get schema(){return this[me].schema}$name(e){return ot(this,e),this[me].raw&&(this[me].raw.label=e),this}get[Hr](){let e=this.schema;return new Proxy({[B]:!0,get[oa](){return ve(this,e,"handle",!1)},[kt]:t=>t.resolve(this),toString:()=>`${this.toString()}.$`},Wi)}get $(){if(Yu())return this[Hr];throw new Error("Direct access to texture view values is possible only as part of a compute dispatch or draw call. Try .read() or .write() instead")}get size(){return this[me].texture.props.size}toString(){return`textureView:${xe(this)??""}`}[kt](e){let t=e.makeUniqueIdentifier(xe(this),"global"),{group:s,binding:r}=e.allocateFixedEntry(dl(this.schema)?{storageTexture:this.schema}:{texture:this.schema,sampleType:this[me].descriptor?.sampleType??this.schema.bindingSampleType[0]},this);return e.gen.declareGlobalVar({group:s,binding:r,id:t,dataType:this.schema,scope:"handle",init:void 0})}},Zx=class{[B]={unwrap:void 0};resourceType="texture-view";#e;schema;constructor(e,t){this.schema=e,this.#e=t,ot(this,t.key)}toString(){return`textureView:${xe(this)??""}`}[kt](e){let t=e.makeUniqueIdentifier(xe(this),"global"),s=e.allocateLayoutEntry(this.#e.layout);return e.addDeclaration(`@group(${s}) @binding(${this.#e.idx}) var ${t}: ${e.resolve(this.schema).value};`,t),ve(t,this.schema,"handle")}get[Hr](){let e=this.schema;return new Proxy({[B]:!0,get[oa](){return ve(this,e,"handle",!1)},[kt]:t=>t.resolve(this),toString:()=>`${this.toString()}.$`},Wi)}get $(){if(Yu())return this[Hr];throw new Error(`Accessed view '${xe(this)??""}' outside of codegen mode. Direct access to texture views values is possible only as part of a compute dispatch or draw call. Try .read() or .write() instead`)}$name(e){return ot(this,e),this}},P4=class{[B];[me];resourceType="texture-view";constructor(e,t={}){this[me]={type:"texture-view",texture:e,schema:"render",descriptor:t,raw:void 0,label:void 0},this[B]={unwrap:()=>e[B].materialize().createView({label:xe(this)??"",...this.descriptor}),format:t.format??e.props.format,aspect:t.aspect}}get descriptor(){return this[me].descriptor??{}}};function E4(e){return!!e?.usableAsSampled}var k4=class j5 extends Error{constructor(t){super(`Resource '${xe(t)??""}' cannot be bound as 'sampled'. Use .$usage('sampled') to allow it.`),Object.setPrototypeOf(this,j5.prototype)}},Qx=class $p{[B];usage;dataType;#e;static#t=void($p.prototype.resourceType="laid-out-buffer",mn(In($p.prototype,{asString(){return`${this.usage}:${xe(this)??""}`},resolve(t){let s=t.makeUniqueIdentifier(xe(this),"global"),r=t.allocateLayoutEntry(this.#e.layout);return t.gen.declareGlobalVar({group:r,binding:this.#e.idx,scope:this.usage,id:s,dataType:this.dataType,init:void 0})}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.dataType,this.usage,!1)}},normalMode:{get(){throw new Error("Direct access to buffer values is possible only as part of a compute dispatch or draw call. Try .read() or .write() instead")}}}));constructor(t,s,r){this[B]={dataType:s},this.usage=t,this.dataType=s,this.#e=r,ot(this,r.key)}};function K5(e){return new U4({...e})}function Zu(e){return!!e&&e.resourceType==="bind-group-layout"}function ca(e){return!!e&&e.resourceType==="bind-group"}var $4=class Z5 extends Error{constructor(t,s){super(`Bind group '${t??""}' is missing a required binding '${s}'`),Object.setPrototypeOf(this,Z5.prototype)}},Jx=["compute","fragment"],Yd=["compute","vertex","fragment"],U4=class{[B];[me];resourceType="bind-group-layout";$={};entries;get[Hr](){return this.$}constructor(e){this.entries=e,this[B]=[];let t={};this[me]={type:"bind-group-layout",entries:t,index:void 0,label:void 0};let s=0;for(let[r,o]of Object.entries(e)){if(o===null){t[r]=null,s++;continue}let n={layout:this,key:r,idx:s},i;if(t[r]=o,"uniform"in o&&(i=new Qx("uniform",o.uniform,n)),"storage"in o){let d="type"in o.storage?o.storage:o.storage(0);i=new Qx(o.access??"readonly",d,n),t[r]={...o,storage:d}}"texture"in o&&(i=new Zx(o.texture,n)),"storageTexture"in o&&(i=new Zx(o.storageTexture,n)),"externalTexture"in o&&(i=new s4(o.externalTexture,n)),"sampler"in o&&(i=new t4(o.sampler==="comparison"?o5():fv(),n)),ds(i!==void 0,"Internal error, expected item to be defined"),Object.defineProperty(this.$,r,{get:()=>i.$}),this[B].push(i),s++}}toString(){return`bindGroupLayout:${xe(this)??""}`}get index(){return this[me].index}$name(e){return ot(this,e),this}$idx(e){return this[me].index=e,this}unwrap(e){return e.device.createBindGroupLayout({label:xe(this)??"",entries:Object.values(this.entries).map((t,s)=>{if(t===null)return null;let r=t.visibility,o={binding:s,visibility:0};if("uniform"in t)r=r??Yd,o.buffer={type:"uniform"};else if("storage"in t)r=r??(t.access==="mutable"?Jx:Yd),o.buffer={type:t.access==="mutable"?"storage":"read-only-storage"};else if("sampler"in t)r=r??Yd,o.sampler={type:t.sampler};else if("texture"in t){r=r??Yd;let{multisampled:n,dimension:i,bindingSampleType:d}=t.texture;o.texture={sampleType:t.sampleType??d[0],viewDimension:i,multisampled:n}}else if("storageTexture"in t){r=r??Jx;let{dimension:n,access:i,format:d}=t.storageTexture;o.storageTexture={access:i,format:d,viewDimension:n}}else"externalTexture"in t&&(r=r??Yd,o.externalTexture={});return r?.includes("compute")&&(o.visibility|=GPUShaderStage.COMPUTE),r?.includes("vertex")&&(o.visibility|=GPUShaderStage.VERTEX),r?.includes("fragment")&&(o.visibility|=GPUShaderStage.FRAGMENT),o}).filter(t=>t!==null)})}},Q5=class{[B];[me];resourceType="bind-group";#e;constructor(e,t,s,r){if(this.#e=s,this[me]={type:"bind-group",device:e?.device,layout:t,raw:r,label:void 0},this[B]={materialize:()=>{let o=this[me];return o.raw||(ds(e,"Cannot unwrap a bind group created outside of a root."),o.raw=e.unwrap(this)),o.raw}},!r){for(let o of Object.keys(t.entries))if(t.entries[o]!==null&&!(o in s))throw new $4(xe(t),o)}}get layout(){return this[me].layout}get entries(){return this.#e}unwrap(e){let t=this[me].raw;return t||e.device.createBindGroup({label:xe(this.layout)??"",layout:e.unwrap(this.layout),entries:Object.entries(this.layout.entries).map(([s,r],o)=>{if(r===null)return null;let n=this.entries[s];if(n===void 0)throw new Error(`'${s}' is a resource required to populate bind group layout '${xe(this.layout)??""}'.`);if("uniform"in r){let i;if(hc(n)){if(!b2(n))throw new ZA(n);i={buffer:e.unwrap(n)}}else V$(n)?i={buffer:e.unwrap(n)}:i={buffer:n};return{binding:o,resource:i}}if("storage"in r){let i;if(hc(n)){if(!Sl(n))throw new Nx(n);i={buffer:e.unwrap(n)}}else N$(n)||q$(n)?(ds(r.access==="mutable"==(n.resourceType==="mutable"),"Invalid buffer access mode."),i={buffer:e.unwrap(n)}):i={buffer:n};return{binding:o,resource:i}}if("texture"in r){let i;if(Tc(n)){if(!E4(n))throw new k4(n);i=e.unwrap(n.createView(r.texture))}else Oi(n)?i=e.unwrap(n):i=n;return{binding:o,resource:i}}if("storageTexture"in r){let i;if(Tc(n)){if(!Sl(n))throw new Nx(n);i=e.unwrap(n.createView(r.storageTexture))}else Oi(n)?i=e.unwrap(n):i=n;return{binding:o,resource:i}}if("sampler"in r)return $v(n)||kv(n)?{binding:o,resource:e.unwrap(n)}:{binding:o,resource:n};if("externalTexture"in r)return{binding:o,resource:n};throw new Error(`Malformed bind group entry: ${io(n)}`)}).filter(s=>s!==null)})}};function Nc(e){return new C4(e)}var C4=class{[B]=!0;[me];resourceType="slot";constructor(e=void 0){this[me]={type:"slot",defaultValue:e,label:void 0}}get defaultValue(){return this[me].defaultValue}$name(e){return ot(this,e),this}areEqual(e,t){return Object.is(e,t)}toString(){return`slot:${xe(this)??""}`}get[Hr](){let e=Na();if(!e)throw new Error("Cannot access tgpu.slot's value outside of resolution.");return kl(e.unwrap(this))}get $(){return this[Hr]}},pd=Nc(null);function Qu(e,t){return new e6("private",e,t)}function J5(e){return new e6("workgroup",e)}var e6=class t6{[me];static#e=(()=>{let t=t6.prototype;t.resourceType="var",t[B]={},mn(In(t,{asString(){return`var:${xe(this)??""}`},resolve(s){let r=s.makeUniqueIdentifier(xe(this),"global"),o=this[me].initialValue?ve(this[me].initialValue,this[me].dataType,"constant"):void 0;return s.gen.declareGlobalVar({scope:this[me].scope,id:r,dataType:this[me].dataType,init:o})}}),{codegenMode:{getBaseSnippet(s){return ve(s,this[me].dataType,this[me].scope,!1)}},simulateMode:{get(s){return s.vars[this[me].scope].has(this)||s.vars[this[me].scope].set(this,this[me].initialValue),s.vars[this[me].scope].get(this)},set(s,r){s.vars[this[me].scope].set(this,r)}},normalMode:{get(){throw new Z0(Al()?`Cannot access variable '${xe(this)??""}'. TypeGPU functions that depends on GPU resources need to be part of a compute dispatch, draw call or simulation`:"TypeGPU variables are inaccessible during normal JS execution. If you wanted to simulate GPU behavior, try `tgpu.simulate()`")},set(s){throw new Z0(Al()?`Cannot access variable ${xe(this)??""}. TypeGPU functions that depends on GPU resources need to be part of a compute dispatch, draw call or simulation`:"TypeGPU variables are inaccessible during normal JS execution. If you wanted to simulate GPU behavior, try `tgpu.simulate()`")}}})})();constructor(t,s,r){this[me]={type:"var",scope:t,dataType:s,initialValue:r,label:void 0}}$name(t){return ot(this,t),this}},s6=Qu(R,0).$name("dataBlockIndex"),r6=Qu(R,0).$name("dataByteIndex"),o6=Nc().$name("dataBuffer"),R4=qt([],R)`() { + let i = dataByteIndex; + dataByteIndex = dataByteIndex + 1u; + return i; +}`.$uses({dataByteIndex:r6}).$name("nextByteIndex"),ze="dataBuffer[dataBlockIndex].serializedData[nextByteIndex()]",n6={f32:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([a])`(n) { + ${ze} = bitcast(n); +}`,"f32"),f16:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([xs])`(n) { + ${ze} = pack2x16float(vec2f(f32(n), 0.0)); +}`,"f16"),i32:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Z])`(n) { + ${ze} = bitcast(n); +}`,"i32"),u32:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([R])`(n) { + ${ze} = n; +}`,"u32"),bool:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([ft])`(b) { + ${ze} = u32(b); +}`,"bool"),vec2f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([lt])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); +}`,"vec2f"),vec3f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([It])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); + ${ze} = bitcast(v.z); +}`,"vec3f"),vec4f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Oe])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); + ${ze} = bitcast(v.z); + ${ze} = bitcast(v.w); +}`,"vec4f"),vec2h:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Vs])`(v) { + ${ze} = pack2x16float(vec2f(f32(v.x), f32(v.y))); +}`,"vec2h"),vec3h:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Pr])`(v) { + ${ze} = pack2x16float(vec2f(f32(v.x), f32(v.y))); + ${ze} = pack2x16float(vec2f(f32(v.z), 0.0)); +}`,"vec3h"),vec4h:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Ns])`(v) { + ${ze} = pack2x16float(vec2f(f32(v.x), f32(v.y))); + ${ze} = pack2x16float(vec2f(f32(v.z), f32(v.w))); +}`,"vec4h"),vec2i:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Xt])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); +}`,"vec2i"),vec3i:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([cs])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); + ${ze} = bitcast(v.z); +}`,"vec3i"),vec4i:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Wt])`(v) { + ${ze} = bitcast(v.x); + ${ze} = bitcast(v.y); + ${ze} = bitcast(v.z); + ${ze} = bitcast(v.w); +}`,"vec4i"),vec2u:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Ct])`(v) { + ${ze} = v.x; + ${ze} = v.y; +}`,"vec2u"),vec3u:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([gt])`(v) { + ${ze} = v.x; + ${ze} = v.y; + ${ze} = v.z; +}`,"vec3u"),vec4u:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Et])`(v) { + ${ze} = v.x; + ${ze} = v.y; + ${ze} = v.z; + ${ze} = v.w; +}`,"vec4u"),"vec2":qt([Or])`(v) { + ${ze} = u32(v.x); + ${ze} = u32(v.y); +}`,"vec3":qt([Vr])`(v) { + ${ze} = u32(v.x); + ${ze} = u32(v.y); + ${ze} = u32(v.z); +}`,"vec4":qt([Nr])`(v) { + ${ze} = u32(v.x); + ${ze} = u32(v.y); + ${ze} = u32(v.z); + ${ze} = u32(v.w); +}`,mat2x2f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Gn])`(m) { + ${ze} = bitcast(m[0][0]); + ${ze} = bitcast(m[0][1]); + ${ze} = bitcast(m[1][0]); + ${ze} = bitcast(m[1][1]); +}`,"mat2x2f"),mat3x3f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Yn])`(m) { + ${ze} = bitcast(m[0][0]); + ${ze} = bitcast(m[0][1]); + ${ze} = bitcast(m[0][2]); + ${ze} = 0u; + ${ze} = bitcast(m[1][0]); + ${ze} = bitcast(m[1][1]); + ${ze} = bitcast(m[1][2]); + ${ze} = 0u; + ${ze} = bitcast(m[2][0]); + ${ze} = bitcast(m[2][1]); + ${ze} = bitcast(m[2][2]); + ${ze} = 0u; +}`,"mat3x3f"),mat4x4f:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(qt([Hs])`(m) { + ${ze} = bitcast(m[0][0]); + ${ze} = bitcast(m[0][1]); + ${ze} = bitcast(m[0][2]); + ${ze} = bitcast(m[0][3]); + ${ze} = bitcast(m[1][0]); + ${ze} = bitcast(m[1][1]); + ${ze} = bitcast(m[1][2]); + ${ze} = bitcast(m[1][3]); + ${ze} = bitcast(m[2][0]); + ${ze} = bitcast(m[2][1]); + ${ze} = bitcast(m[2][2]); + ${ze} = bitcast(m[2][3]); + ${ze} = bitcast(m[3][0]); + ${ze} = bitcast(m[3][1]); + ${ze} = bitcast(m[3][2]); + ${ze} = bitcast(m[3][3]); +}`,"mat4x4f")};for(let[e,t]of Object.entries(n6))t.$name(`serialize${e[0].toLocaleUpperCase()}${e.slice(1)}`).$uses({dataBlockIndex:s6,nextByteIndex:R4,dataBuffer:o6});function a6(e){return`(${e.map((t,s)=>`_arg_${s}`).join(", ")})`}function i6(e,t){let s=n6[e.type];if(s)return s.with(o6,t);if(Qt(e)){let r=Object.keys(e.propTypes),o=d6(Object.values(e.propTypes),t);return qt([e])`(arg) {\n propsSerializer(${r.map(n=>`arg.${n}`).join(", ")});\n}`.$uses({propsSerializer:o}).$name(`${xe(e)??"struct"}Serializer`)}if(Us(e)){let r=e.elementType,o=e.elementCount,n=i6(r,t);return qt([e])`(arg) {\n${Array.from({length:o},(i,d)=>` elementSerializer(arg[${d}]);`).join(` +`)}\n}`.$uses({elementSerializer:n}).$name("arraySerializer")}throw new Error(`Cannot serialize data of type ${e.type}`)}function d6(e,t){let s={};return(globalThis.__TYPEGPU_AUTONAME__??(r=>r))(qt(e),"shell")`${a6(e)} {\n${e.map((r,o)=>(s[`serializer${o}`]=i6(r,t),` serializer${o}(_arg_${o});`)).join(` +`)}\n}`.$uses(s).$name("compoundSerializer")}function z4(e,t,s,r,o){let n=t.map(_t).reduce((c,_)=>c+_,0);if(n>o.logSizeLimit)throw new Error(`Logged data needs to fit in ${o.logSizeLimit} bytes (one of the logs requires ${n} bytes). Consider increasing the limit by passing appropriate options to tgpu.init().`);let i=d6(t,s).$name(`log${e}serializer`),d=a6(t);return qt(t)`${d} { + dataBlockIndex = atomicAdd(&indexBuffer, 1); + if (dataBlockIndex >= ${o.logCountLimit}) { + return; + } + dataBuffer[dataBlockIndex].id = ${e}; + dataByteIndex = 0; + + compoundSerializer${d}; +}`.$uses({indexBuffer:r,dataBuffer:s,dataBlockIndex:s6,dataByteIndex:r6,compoundSerializer:i}).$name(`log${e}`)}var G4={logCountLimit:64,logSizeLimit:252,messagePrefix:" GPU "},c6=ve("/* console.log() */",_s,"runtime"),Y4=class{get logResources(){}generateLog(){return Vt.warn("fallback","'console.log' is only supported when resolving pipelines."),c6}},L4=class{#e;#t;#s=1;#r;#o;constructor(e){this.#e={...G4,...e[B].logOptions},this.#t=new Map;let t=ut({id:R,serializedData:pt(R,Math.ceil(this.#e.logSizeLimit/4))}).$name("SerializedLogData");this.#o=e.createMutable(pt(t,this.#e.logCountLimit)).$name("dataBuffer"),this.#r=e.createMutable($P(R)).$name("indexBuffer")}generateLog(e,t,s){if(pd.$==="vertex")return Vt.warn("suspicious","'console' operations are not supported in vertex shaders."),c6;let r=this.#s++,o=s.map(c=>{if(c.dataType===Ut)return c;let _=Qn(e,[c],[Ca(c.dataType)])?.[0];return ds(_,`Internal error. Expected type ${c.dataType} to be convertible to ${Ca(c.dataType)}`),_}).map(MM),n=o.filter(c=>c.dataType!==Ut),i=z4(r,n.map(c=>c.dataType),this.#o,this.#r,this.#e),d=ve(ce`${e.resolve(i).value}(${n})`,_s,"runtime");return this.#t.set(r,{op:t,argTypes:o.map(c=>c?.dataType===Ut?c?.value:c?.dataType)}),d}get logResources(){return this.#s===1?void 0:{dataBuffer:this.#o,indexBuffer:this.#r,options:this.#e,logIdToMeta:this.#t}}};function I4(e){return e?.resourceType==="shellless-impl"}function D4(e,t){let s=ri(t,"normal");return{[B]:!0,[Xs]:s,resourceType:"shellless-impl",argTypes:e,[kt](r){return s.resolve(r,e,void 0)},toString(){return`fn*:${xe(s)??""}(${e.map(r=>r.toString()).join(", ")})`}}}var F4=new RegExp(`[${[...S5].join("")}]+`,"ug"),eg=/[.\p{XID_Continue}]/u;function tg(e){let t=W4(e).split(F4).filter(r=>r!==""),s="";for(let r=0;r0;)e.startsWith("/*",r)?(o+=1,r+=2):e.startsWith("*/",r)?(o-=1,r+=2):r+=1;if(o>0)throw new SyntaxError("Block comment opening without corresponding closing found during minification.");s=r;continue}if(e.startsWith("*/",r))throw new SyntaxError("Block comment closing without corresponding opening found during minification.");r+=1}return t+e.slice(s)}var Up="#CATCHALL#",O4=class{_stack=[];_itemDepth=0;get itemDepth(){return this._itemDepth}get topItem(){let e=this._stack[this._stack.length-1];if(!e||e.type!=="item")throw new Error("Internal error, expected item layer to be on top.");return e}get topFunctionScope(){return this._stack.findLast(e=>e.type==="functionScope")}get topBlockScope(){return this._stack.findLast(e=>e.type==="blockScope")}get blockDepth(){let e=0;for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="functionScope")break;s?.type==="blockScope"&&e++}return e}pushItem(){this._itemDepth++,this._stack.push({type:"item",usedSlots:new Set})}pushSlotBindings(e){this._stack.push({type:"slotBinding",bindingMap:new WeakMap(e)})}pushFunctionScope(e,t,s,r){let o={type:"functionScope",functionType:e,argAccess:t,returnType:s,externalMap:r,reportedReturnTypes:new Set,placeholderForVariable:new Map,modifiedVariables:new Set};return this._stack.push(o),o}pushBlockScope(){this._stack.push({type:"blockScope",takenLocalIdentifiers:new Set,declarations:new Map,externals:new Map})}pop(e){let t=this._stack[this._stack.length-1];if(!t||e&&t.type!==e)throw new Error(`Internal error, expected a ${e} layer to be on top.`);let s=this._stack.pop();return e==="item"&&this._itemDepth--,s}readSlot(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="item")s.usedSlots.add(e);else if(s?.type==="slotBinding"){let r=s.bindingMap.get(e);if(r!==void 0)return r}else if(!(s?.type==="functionScope"||s?.type==="blockScope"))throw new Error("Unknown layer type.")}return e.defaultValue}getSnippetById(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="functionScope"){let r=s.argAccess[e];if(r)return r();if(Object.hasOwn(s.externalMap,e)){let o=s.externalMap[e];return Di(o)&&xe(o)===void 0&&ot(o,e.replaceAll(".","_")),Wr(o)}return}if(s?.type==="blockScope"){let r=s.declarations.get(e)??s.externals.get(e);if(r!==void 0)return r}}}isIdentifierTakenLocally(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="functionScope")return!1;if(s?.type==="blockScope"&&s.takenLocalIdentifiers.has(e))return!0}return!1}isIdentifierTakenInCallStack(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="blockScope"&&s.takenLocalIdentifiers.has(e))return!0}return!1}defineBlockVariable(e,t){if(t.dataType===Ut)throw Error(`Tried to define variable '${e}' of unknown type`);for(let s=this._stack.length-1;s>=0;--s){let r=this._stack[s];if(r?.type==="blockScope"){r.declarations.set(e,t);return}}throw new Error("No block scope found to define a variable in.")}setBlockExternals(e){for(let t=this._stack.length-1;t>=0;--t){let s=this._stack[t];if(s?.type==="blockScope"){Object.entries(e).forEach(([r,o])=>{s.externals.set(r,o)});return}}throw new Error("No block scope found to set externals in.")}clearBlockExternals(){for(let e=this._stack.length-1;e>=0;--e){let t=this._stack[e];if(t?.type==="blockScope"){t.externals.clear();return}}throw new Error("No block scope found to clear externals in.")}},_c=[""," "," "," "," "," "," "," "," "],fm=_c.length-1,V4=class{identLevel=0;get pre(){return _c[this.identLevel]??_c[fm].repeat(this.identLevel/fm)+_c[this.identLevel%fm]}indent(){let e=this.pre;return this.identLevel++,e}dedent(){return this.identLevel--,this.pre}withResetLevel(e){let t=this.identLevel;this.identLevel=0;try{return e()}finally{this.identLevel=t}}};function wi(e,t,s="argument"){let r=!1;return{name:e,access:()=>(r=!0,ve(e,t,s,!1)),decoratedType:t,get used(){return r}}}function sg(e,t){return()=>{let s=e();if(s)return Bi(s,t)}}var _6=class{#e;_indentController=new V4;_itemStateStack=new O4;#t=[];_declarations=[];_varyingLocations;#s=new WeakSet;#r;gen;get varyingLocations(){return this._varyingLocations}[B]={itemStateStack:this._itemStateStack};bindGroupLayoutsToPlaceholderMap=new Map;_nextFreeLayoutPlaceholderIdx=0;fixedBindings=[];enableExtensions;expectedType;#o=0;constructor(e){this.enableExtensions=e.enableExtensions,this.#r=e.root?new L4(e.root):new Y4,this.#e=e.namespace[B],this.gen=e.shaderGenerator??new R$,this.gen.initGenerator(this)}isIdentifierBanned(e){return mv.has(e)}isIdentifierTaken(e,t){return this.#e.takenGlobalIdentifiers.has(e)||(t==="block"?this._itemStateStack.isIdentifierTakenLocally(e):this._itemStateStack.isIdentifierTakenInCallStack(e))}makeUniqueIdentifier(e="item",t){if(t==="block"&&Fu(e).success&&!this.isIdentifierTaken(e,t))return this.reserveIdentifier(e,"block"),e;let s=oP(e),r=0,o=this.#e.strategy==="random",n=o?`${s}_${this.#o++}`:s;for(;this.isIdentifierTaken(n,t);)n=o?`${s}_${this.#o++}`:`${s}_${++r}`;return this.reserveIdentifier(n,t),n}reserveIdentifier(e,t){if(t==="block"){let s=this._itemStateStack.topBlockScope;if(s){s.takenLocalIdentifiers.add(e);return}}this.#e.takenGlobalIdentifiers.add(e)}get pre(){return this._indentController.pre}get topFunctionScope(){return this._itemStateStack.topFunctionScope}get topFunctionReturnType(){let e=this._itemStateStack.topFunctionScope;return ds(e,"Internal error, expected function scope to be present."),e.returnType}get shelllessRepo(){return this.#e.shelllessRepo}get blockDepth(){return this._itemStateStack.blockDepth}indent(){return this._indentController.indent()}dedent(){return this._indentController.dedent()}getDedented(e){return e.replaceAll(` +${_c[1]}`,` +`)}withResetIndentLevel(e){return this._indentController.withResetLevel(e)}getById(e){let t=this._itemStateStack.getSnippetById(e);return t===void 0?null:t}defineVariable(e,t){this._itemStateStack.defineBlockVariable(e,t)}reportReturnType(e){let t=this._itemStateStack.topFunctionScope;ds(t,"Internal error, expected function scope to be present."),t.reportedReturnTypes.add(e)}pushBlockScope(){this._itemStateStack.pushBlockScope()}popBlockScope(){this._itemStateStack.pop("blockScope")}setBlockExternals(e){this._itemStateStack.setBlockExternals(e)}clearBlockExternals(){this._itemStateStack.clearBlockExternals()}generateLog(e,t){return this.#r.generateLog(this,e,t)}get logResources(){return this.#r.logResources}resolveFunction(e){try{let t=this._itemStateStack.pushFunctionScope(e.functionType,{},e.returnType,e.externalMap);this._itemStateStack.pushBlockScope();let s=[];if(e.entryInput){let{dataSchema:n,positionalArgs:i}=e.entryInput,d=e.params[0],c=n?wi(this.makeUniqueIdentifier("_arg_0","block"),n):void 0;if(c&&s.push(c),d?.type===tc.destructuredObject)for(let{name:_,alias:u}of d.props){let m=i.find(p=>p.schemaKey===_);if(m){let p=wi(this.makeUniqueIdentifier(u,"block"),m.type);s.push(p),t.argAccess[u]=p.access}else c&&(t.argAccess[u]=sg(c.access,_))}else if(d?.type===tc.identifier){let _=[];for(let m of i){let p=wi(this.makeUniqueIdentifier(m.schemaKey,"block"),m.type);s.push(p),_.push({schemaKey:m.schemaKey,arg:p.access})}let u=new b5(c?.access,_);t.argAccess[d.name]=()=>ve("N/A",u,"argument")}else for(let _ of i){let u=this.makeUniqueIdentifier(`_arg_${_.schemaKey}`,"block"),m=wi(u,_.type);s.push(m),t.argAccess[u]=m.access}}else for(let[n,i]of e.argTypes.entries()){let d=e.params[n],c=pr(i)?i.addressSpace==="storage"?i.access==="read"?"readonly":"mutable":i.addressSpace:"argument";switch(d?.type){case tc.identifier:{let _=wi(this.makeUniqueIdentifier(d.name,"block"),i,c);s.push(_),t.argAccess[d.name]=_.access;break}case tc.destructuredObject:{let _=wi(this.makeUniqueIdentifier(`_arg_${n}`,"block"),i,c);s.push(_);for(let{name:u,alias:m}of d.props)t.argAccess[m]=sg(_.access,u);break}case void 0:i instanceof Wo||s.push({name:this.makeUniqueIdentifier(`_arg_${n}`,"block"),access:()=>{throw new Error("Unreachable: Accessing an argument that wasn't named in the function signature")},decoratedType:i,used:!1})}}let r,o=this.gen.functionDefinition({functionType:e.functionType,name:e.name,workgroupSize:e.workgroupSize,args:s,body:e.body,determineReturnType:()=>{if(r)return r;if(r=e.returnType,r instanceof Wo&&(Qt(t.reportedReturnTypes.values().next().value)?r=r.completeStruct:r=void 0),!r){let n=[...t.reportedReturnTypes];if(n.length===0)r=_s;else{let i=Vf(n);i&&!i.hasImplicitConversions&&(r=i.targetType)}if(!r)throw new Error(`Expected function to have a single return type, got [${n.join(", ")}]. Cast explicitly to the desired type.`);r=no(r),(e.functionType==="vertex"||e.functionType==="fragment")&&(r=Bc(r))}return r}});if(!r)throw new Error("Failed to determine return type");return{code:o,returnType:r}}finally{this._itemStateStack.pop("blockScope"),this._itemStateStack.pop("functionScope")}}addDeclaration(e,t){this._declarations.push({name:t,code:e})}get declarations(){return this._declarations}allocateLayoutEntry(e){let t=this.bindGroupLayoutsToPlaceholderMap,s=t.get(e);return s||(s=`#BIND_GROUP_LAYOUT_${this._nextFreeLayoutPlaceholderIdx++}#`,t.set(e,s)),s}allocateFixedEntry(e,t){let s=this.fixedBindings.length;return this.fixedBindings.push({layoutEntry:e,resource:t}),{group:Up,binding:s}}readSlot(e){let t=this._itemStateStack.readSlot(e);if(t===void 0)throw new KA(e);return t}withSlots(e,t){if(e.length===0)return t();this._itemStateStack.pushSlotBindings(e);try{return t()}finally{this._itemStateStack.pop("slotBinding")}}withVaryingLocations(e,t){this._varyingLocations=e;try{return t()}finally{this._varyingLocations=void 0}}withRenamed(e,t,s){if(!t)return s();let r=xe(e);try{return ot(e,t),s()}finally{r&&ot(e,r)}}unwrap(e){if(al(e))return this.withRenamed(e[Mr].inner,xe(e),()=>this.withSlots(e[Mr].pairs,()=>this.unwrap(e[Mr].inner)));let t=e;for(;;)if(cp(t))t=this.readSlot(t);else if(_p(t))t=this._getOrCompute(t);else break;return t}_getOrCompute(e){let t=this.#e.memoizedLazy.get(e)??[];this._itemStateStack.pushItem();try{for(let o of t)if([...o.slotToValueMap.entries()].every(([n,i])=>n.areEqual(this._itemStateStack.readSlot(n),i)))return o.result;this.pushMode(new _d);let s;try{s=e[B].compute()}finally{this.popMode("normal")}let r=new Map;for(let o of this._itemStateStack.topItem.usedSlots)r.set(o,this._itemStateStack.readSlot(o));return t.push({slotToValueMap:r,result:s}),this.#e.memoizedLazy.set(e,t),s}catch(s){throw s instanceof Pi?s.appendToTrace(e):new Pi(s,[e])}finally{this._itemStateStack.pop("item")}}_getOrInstantiate(e){let t=this.#e.memoizedResolves.get(e)??[];this._itemStateStack.pushItem();try{for(let o of t)if([...o.slotToValueMap.entries()].every(([n,i])=>n.areEqual(this._itemStateStack.readSlot(n),i)))return o.result;let s;if(Rc(e))s=ve(this.gen.emitTypeAnnotation(e),_s,"runtime");else if(_p(e)||cp(e))s=this.resolve(this.unwrap(e));else if(g2(e))s=e[kt](this);else if(Fi(e)){let o=this.#e.shelllessRepo.get(e,void 0);if(!o)throw new Error(`Couldn't resolve ${e.name}. Make sure it's a function that accepts no arguments, or call it from another TypeGPU function.`);return this.withResetIndentLevel(()=>this.resolve(o))}else throw new TypeError(`Unresolvable internal value: ${io(e)}`);let r=new Map;for(let o of this._itemStateStack.topItem.usedSlots)r.set(o,this._itemStateStack.readSlot(o));return t.push({slotToValueMap:r,result:s}),this.#e.memoizedResolves.set(e,t),s}catch(s){throw s instanceof Pi?s.appendToTrace(e):new Pi(s,[e])}finally{this._itemStateStack.pop("item")}}resolve(e,t){if(typeof e=="string"){if(!t||t===Ut)throw new Error(`Strings cannot be injected into WGSL directly (tried to inject '${e}'). Look for TypeGPU APIs that cover your use-case, or resort to using tgpu['~unstable'].rawCodeSnippet for raw code injection.`);return ve(e,t,"runtime")}if((vp(e)||I4(e))&&!al(e)){if(this.#s.has(e)&&!this.#e.memoizedResolves.has(e))throw new Error(`Recursive function ${e} detected. Recursion is not allowed on the GPU.`);this.#s.add(e)}if(al(e))return this.withRenamed(e[Mr].inner,xe(e),()=>this.withSlots(e[Mr].pairs,()=>this.resolve(e[Mr].inner,t)));if(mt(e)||Fi(e)){if(this._itemStateStack.itemDepth===0)try{this.pushMode(new iM);let s=w2(this,()=>this._getOrInstantiate(e));return ve(`${this._declarations.map(r=>r.code).join(` + +`)}${s.value}`,_s,"runtime")}finally{this.popMode("codegen")}return this._getOrInstantiate(e)}if(typeof e=="number"){let s=t??on(e).dataType;return ds(s!==Ut,"Schema has to be known for resolving numbers"),this.gen.numericLiteral(e,s)}if(typeof e=="boolean")return ve(e?"true":"false",ft,"constant",!1);if(t&&Us(t)){if(!Array.isArray(e))throw new Qe(`Cannot coerce ${e} into value of type '${t}'`);if(t.elementCount!==e.length)throw new Qe(`Cannot create value of type '${t}' from an array of length: ${e.length}`);return this.gen.typeInstantiation(t,e.map(s=>ve(s,t.elementType,"runtime")))}if(t&&Qt(t))return this.gen.typeInstantiation(t,Object.entries(t.propTypes).map(([s,r])=>ve(e[s],r,"runtime")));throw new Qe(`Value ${io(e)} is not resolvable${t&&t!==Ut?` to type ${io(t)}`:""}`)}resolveSnippet(e){return x2(this.resolve(e.value,e.dataType).value,e)}pushMode(e){this.#t.push(e)}popMode(e){let t=this.#t.pop();e!==void 0&&ds(t?.type===e,"Unexpected mode")}get mode(){return this.#t[this.#t.length-1]??T2}};function Ju(e,t){let s=new _6(t),r=(t.config?s.withSlots(t.config(new W5([])).bindings,()=>s.resolve(e)):s.resolve(e)).value,o=s.bindGroupLayoutsToPlaceholderMap,n=[],i=Q$(new Set([...o.keys()].map(p=>p.index).filter(p=>p!==void 0))),d=s.fixedBindings.map((p,y)=>[String(y),p.layoutEntry]),c=[],_=()=>{let p=i.next().value,y=(globalThis.__TYPEGPU_AUTONAME__??(h=>h))(K5(Object.fromEntries(d)),"catchallLayout");return n[p]=y,r=r.replaceAll(Up,String(p)),c.push([Up,String(p)]),[p,new Q5(t.root,y,Object.fromEntries(s.fixedBindings.map((h,g)=>[String(g),h.resource])))]},u=d.length>0?_():void 0;for(let[p,y]of o.entries()){let h=p.index??i.next().value;n[h]=p,r=r.replaceAll(y,String(h)),c.push([y,String(h)])}t.enableExtensions&&t.enableExtensions.length>0&&(r=`${t.enableExtensions.map(p=>`enable ${p};`).join(` +`)} + +${r}`);let m=s.declarations.map(({name:p,code:y})=>({name:p,code:c.reduce((h,[g,w])=>h.replaceAll(g,w),y)}));return t.minify&&(r=tg(r),m=m.map(p=>({...p,code:tg(p.code)}))),{code:r,declarations:m,usedBindGroupLayouts:n,catchall:u,logResources:s.logResources}}function l6(e,t,s){return e.flatMap((r,o)=>{let n=t&&o===t[0]?t[1]:s?.get(r);return n?[[r,n]]:[]})}function N4(e,t){return e.flatMap(s=>{let r=t?.get(s);return r?[[s,r]]:[]})}var q4={dispatchWorkgroupsIndirect:"3 x u32",drawIndirect:"4 x u32",drawIndexedIndirect:"3 x u32, i32, u32"};function rg(e,t,s,r){if(t+s>e)throw new Error(`Buffer too small for ${r}. Required: ${s} bytes at offset ${t}, but buffer is only ${e} bytes.`);if(t%4!==0)throw new Error(`Indirect buffer offset must be a multiple of 4. Got: ${t}`)}function Vi(e,t,s,r){if(Mn(e)){let i=typeof t=="number"?t:t?.offset??0;return rg(e.size,i,s,r),i}let{offset:o,contiguous:n}=t?typeof t=="number"?{offset:t,contiguous:s}:t:cl(e.dataType);return rg(_t(e.dataType),o,s,r),ntypeof e=="number"?Zo(e):qr.bitcastU32toF32[e.kind](e)),codegenImpl:(e,[t],s)=>e.gen.emitCall("bitcast",[Wr(s)],[t]),signature:(...e)=>{let t=Iu(e,Rl);if(!t)throw new Ts(e,Rl);return{argTypes:t,returnType:Rt(t[0])?t[0].type==="vec2u"?lt:t[0].type==="vec3u"?It:Oe:a}},sideEffects:!1});pe({name:"bitcastU32toI32",normalImpl:(e=>typeof e=="number"?Qo(e):qr.bitcastU32toI32[e.kind](e)),codegenImpl:(e,[t],s)=>e.gen.emitCall("bitcast",[Wr(s)],[t]),signature:(...e)=>{let t=Iu(e,Rl);if(!t)throw new Ts(e,Rl);return{argTypes:t,returnType:Rt(t[0])?t[0].type==="vec2u"?Xt:t[0].type==="vec3u"?cs:Wt:Z}},sideEffects:!1});var og=[a,lt,It,Oe];pe({name:"bitcastF32toU32",normalImpl:(e=>typeof e=="number"?Jo(e):qr.bitcastF32toU32[e.kind](e)),codegenImpl:(e,[t],s)=>e.gen.emitCall("bitcast",[Wr(s)],[t]),signature:(...e)=>{let t=Iu(e,og);if(!t)throw new Ts(e,og);return{argTypes:t,returnType:Rt(t[0])?t[0].type==="vec2f"?Ct:t[0].type==="vec3f"?gt:Et:R}},sideEffects:!1});var B_=new ArrayBuffer(16),W_={f32:new Float32Array(B_),u32:new Uint32Array(B_),i32:new Int32Array(B_),u16:new Uint16Array(B_)};function X4(e,t){if(typeof e=="number")t[0]=e;else for(let s=0;s{let s="primitive"in e?e.primitive:e,r="primitive"in t?t.primitive:t;return o=>(s.type==="f16"?H4(o,W_.u16):X4(o,W_[s.type]),r.type==="f16"?K4(W_.u16,t):j4(W_[r.type],t))};function et(e,t){return pe({name:"bitcast",normalImpl:Z4(e,t),codegenImpl:(s,[r])=>s.gen.emitCall("bitcast",[Wr(t)],[r]),signature:s=>{let r=Iu([s],[e]);if(!r)throw new Ts([s],[e]);return{argTypes:r,returnType:t}},sideEffects:!1})}var ng={f16:{f16:et(xs,xs)},f32:{f32:et(a,a),i32:et(a,Z),u32:et(a,R),vec2h:et(a,Vs)},i32:{f32:et(Z,a),i32:et(Z,Z),u32:et(Z,R),vec2h:et(Z,Vs)},u32:{f32:et(R,a),i32:et(R,Z),u32:et(R,R),vec2h:et(R,Vs)},vec2h:{f32:et(Vs,a),i32:et(Vs,Z),u32:et(Vs,R),vec2h:et(Vs,Vs)},vec3h:{vec3h:et(Pr,Pr)},vec2f:{vec2f:et(lt,lt),vec2i:et(lt,Xt),vec2u:et(lt,Ct),vec4h:et(lt,Ns)},vec2i:{vec2f:et(Xt,lt),vec2i:et(Xt,Xt),vec2u:et(Xt,Ct),vec4h:et(Xt,Ns)},vec2u:{vec2f:et(Ct,lt),vec2i:et(Ct,Xt),vec2u:et(Ct,Ct),vec4h:et(Ct,Ns)},vec4h:{vec2f:et(Ns,lt),vec2i:et(Ns,Xt),vec2u:et(Ns,Ct),vec4h:et(Ns,Ns)},vec3f:{vec3f:et(It,It),vec3i:et(It,cs),vec3u:et(It,gt)},vec3i:{vec3f:et(cs,It),vec3i:et(cs,cs),vec3u:et(cs,gt)},vec3u:{vec3f:et(gt,It),vec3i:et(gt,cs),vec3u:et(gt,gt)},vec4f:{vec4f:et(Oe,Oe),vec4i:et(Oe,Wt),vec4u:et(Oe,Et)},vec4i:{vec4f:et(Wt,Oe),vec4i:et(Wt,Wt),vec4u:et(Wt,Et)},vec4u:{vec4f:et(Et,Oe),vec4i:et(Et,Wt),vec4u:et(Et,Et)}};function Q4(e,t){if("type"in e&&e.type in ng){let s=ng[e.type];if("type"in t&&t.type in s)return s[t.type]}throw new Error(`Incorrect bitcast from ${xe(e)} to ${xe(t)}.`)}var u6=Ao(Q4),J4=pe({name:"unpack2x16float",normalImpl:e=>{let t=new ArrayBuffer(4);new si(t).writeUint32(e);let s=new ld(t);return lt(Bs(s),Bs(s))},signature:{argTypes:[R],returnType:lt},codegenImpl:(e,[t])=>ce`unpack2x16float(${t})`,sideEffects:!1});pe({name:"pack2x16float",normalImpl:e=>{let t=new ArrayBuffer(4),s=new si(t);return Fs(s,e.x),Fs(s,e.y),R(new ld(t).readUint32())},signature:{argTypes:[lt],returnType:R},codegenImpl:(e,[t])=>ce`pack2x16float(${t})`,sideEffects:!1});pe({name:"unpack4x8unorm",normalImpl:e=>{let t=new ArrayBuffer(4);new si(t).writeUint32(e);let s=new ld(t);return Oe(s.readUint8()/255,s.readUint8()/255,s.readUint8()/255,s.readUint8()/255)},signature:{argTypes:[R],returnType:Oe},codegenImpl:(e,[t])=>ce`unpack4x8unorm(${t})`,sideEffects:!1});pe({name:"pack4x8unorm",normalImpl:e=>{let t=new ArrayBuffer(4),s=new si(t);return s.writeUint8(e.x*255),s.writeUint8(e.y*255),s.writeUint8(e.z*255),s.writeUint8(e.w*255),R(new ld(t).readUint32())},signature:{argTypes:[Oe],returnType:R},codegenImpl:(e,[t])=>ce`pack4x8unorm(${t})`,sideEffects:!1});var wt=e=>u6(R,a)(e??0),Ko=e=>u6(R,Z)(e??0),Ti=e=>J4(e??0),eU={f32:e=>wt(e[0]),f16:e=>Ti(e[0]).x,i32:e=>Ko(e[0]),u32:e=>e[0]??0,bool:e=>!!e[0],vec2f:e=>lt(wt(e[0]),wt(e[1])),vec3f:e=>It(wt(e[0]),wt(e[1]),wt(e[2])),vec4f:e=>Oe(wt(e[0]),wt(e[1]),wt(e[2]),wt(e[3])),vec2h(e){let t=Ti(e[0]);return Vs(t.x,t.y)},vec3h(e){let t=Ti(e[0]),s=Ti(e[1]);return Pr(t.x,t.y,s.x)},vec4h(e){let t=Ti(e[0]),s=Ti(e[1]);return Ns(t.x,t.y,s.x,s.y)},vec2i:e=>Xt(Ko(e[0]),Ko(e[1])),vec3i:e=>cs(Ko(e[0]),Ko(e[1]),Ko(e[2])),vec4i:e=>Wt(Ko(e[0]),Ko(e[1]),Ko(e[2]),Ko(e[3])),vec2u:e=>Ct(e[0]??0,e[1]??0),vec3u:e=>gt(e[0]??0,e[1]??0,e[2]??0),vec4u:e=>Et(e[0]??0,e[1]??0,e[2]??0,e[3]??0),"vec2":e=>Or(!!e[0],!!e[1]),"vec3":e=>Vr(!!e[0],!!e[1],!!e[2]),"vec4":e=>Nr(!!e[0],!!e[1],!!e[2],!!e[3]),mat2x2f:e=>Gn(wt(e[0]),wt(e[1]),wt(e[2]),wt(e[3])),mat3x3f:e=>Yn(wt(e[0]),wt(e[1]),wt(e[2]),wt(e[4]),wt(e[5]),wt(e[6]),wt(e[8]),wt(e[9]),wt(e[10])),mat4x4f:e=>Hs(wt(e[0]),wt(e[1]),wt(e[2]),wt(e[3]),wt(e[4]),wt(e[5]),wt(e[6]),wt(e[7]),wt(e[8]),wt(e[9]),wt(e[10]),wt(e[11]),wt(e[12]),wt(e[13]),wt(e[14]),wt(e[15]))};function tU(e,t){let s=eU[t.type];if(s)return s(e);if(Qt(t)){let r=Object.keys(t.propTypes),o=Cp(e,Object.values(t.propTypes));return Object.fromEntries(r.map((n,i)=>[n,o[i]]))}if(Us(t)){let r=t.elementType,o=t.elementCount;return Cp(e,Array.from({length:o},()=>r))}throw new Error(`Cannot deserialize data of type ${t.type}`)}function Cp(e,t){let s=0;return t.map(r=>{if(!Qa(r))return r;let o=Math.ceil(_t(r)/4),n=tU(e.subarray(s,s+o),r);return s+=o,n})}function sU(e,t){return Cp(e,t).map(ap)}function rU(e){let{indexBuffer:t,dataBuffer:s,logIdToMeta:r,options:o}=e;s.read().then(n=>{n.filter(i=>i.id).forEach(({id:i,serializedData:d})=>{let{argTypes:c,op:_}=r.get(i),u=sU(new Uint32Array(d),c);u.length===0&&u.push(""),_.bind(console)(`%c${o.messagePrefix}%c ${u[0]}`,"background: #936ff5; color: white;","color: inherit; background: none",...u.slice(1))})}),t.read().then(n=>{n>o.logCountLimit&&Vt.warn("log-limit-exceeded",`Log count limit per dispatch (${o.logCountLimit}) exceeded by ${n-o.logCountLimit} calls. Consider increasing the limit by passing appropriate options to tgpu.init().`)}),s.buffer.clear(),t.buffer.clear()}function oU(e,t,s,r){return new nU(e,t,s,r)}function Uv(e){let t=e;return t?.resourceType==="query-set"&&!!t[B]}var nU=class{resourceType="query-set";#e;#t=!1;#s=!0;#r=void 0;#o=void 0;[me];[B];constructor(e,t,s,r){this.#e=!r,this[me]={type:"query-set",device:e.device,queryType:t,count:s,raw:r,label:void 0};let o=this;this[B]={get readBuffer(){return o.#r||(o.#r=o[me].device.createBuffer({size:o.count*BigUint64Array.BYTES_PER_ELEMENT,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ})),o.#r},get resolveBuffer(){return o.#o||(o.#o=o[me].device.createBuffer({size:o.count*BigUint64Array.BYTES_PER_ELEMENT,usage:GPUBufferUsage.QUERY_RESOLVE|GPUBufferUsage.COPY_SRC})),o.#o},materialize:()=>{if(this.#t)throw new Error("This QuerySet has been destroyed.");let n=this[me];return n.raw||(n.raw=n.device.createQuerySet({type:n.queryType,count:n.count})),n.raw}}}get type(){return this[me].queryType}get count(){return this[me].count}get querySet(){return this[B].materialize()}get destroyed(){return this.#t}get available(){return this.#s}$name(e){ot(this,e);let t=this[me].raw;return t&&(t.label=e),this}resolve(){if(this.#t)throw new Error("This QuerySet has been destroyed.");if(!this.#s)throw new Error("This QuerySet is busy resolving or reading.");let e=this[me].device.createCommandEncoder();e.resolveQuerySet(this.querySet,0,this.count,this[B].resolveBuffer,0),this[me].device.queue.submit([e.finish()])}async read(){if(!this.#o)throw new Error("QuerySet must be resolved before reading.");this.#s=!1;try{let e=this[me].device.createCommandEncoder();e.copyBufferToBuffer(this[B].resolveBuffer,0,this[B].readBuffer,0,this.count*BigUint64Array.BYTES_PER_ELEMENT),this[me].device.queue.submit([e.finish()]);let t=this[B].readBuffer;await t.mapAsync(GPUMapMode.READ);let s=new BigUint64Array(t.getMappedRange().slice());return t.unmap(),Array.from(s)}finally{this.#s=!0}}destroy(){this.#t||(this.#t=!0,this[me].raw&&this.#e&&this[me].raw.destroy(),this.#r?.destroy(),this.#o?.destroy(),this.#r=this.#o=void 0)}};function m6(e,t,s){return e.timestampWrites?{...e,performanceCallback:t}:{...e,performanceCallback:t,timestampWrites:{querySet:s,beginningOfPassWriteIndex:0,endOfPassWriteIndex:1}}}function p6(e,t,s){if(!s.enabledFeatures.has("timestamp-query"))throw new Error('Timestamp writes require the "timestamp-query" feature to be enabled on GPU device.');let r={querySet:t.querySet};return t.beginningOfPassWriteIndex!==void 0&&(r.beginningOfPassWriteIndex=t.beginningOfPassWriteIndex),t.endOfPassWriteIndex!==void 0&&(r.endOfPassWriteIndex=t.endOfPassWriteIndex),{...e,timestampWrites:r}}var ag=new WeakMap;async function aU(e,t){if(!e.available)return;let s=await e.read();for(let{priors:r,callback:o}of t){let n=s[r.timestampWrites?.beginningOfPassWriteIndex??0],i=s[r.timestampWrites?.endOfPassWriteIndex??1];if(n===void 0||i===void 0)throw new Error("QuerySet did not return valid timestamps.");await o(n,i)}}function iU(e,t){let s=t.timestampWrites?.querySet,r=t.performanceCallback;if(!s)throw new Error("Cannot dispatch workgroups with performance callback without a query set.");if(!Uv(s))throw new Error("Performance callback with raw GPUQuerySet is not supported. Use TgpuQuerySet instead.");let o=e[B];if(o.adopted)return!1;let{root:n}=o;o.beforeFinish.set(s,c=>{c.resolveQuerySet(n.unwrap(s),0,s.count,s[B].resolveBuffer,0)});let i=ag.get(e);i||(i=new Map,ag.set(e,i));let d=i.get(s);if(!d){let c=[];d=c,i.set(s,c),o.afterSubmit.set(s,()=>{i.delete(s),aU(s,c)})}return d.some(c=>c.priors===t)?Vt.warnOnce("suspicious",s,"repeated-timed-execution","Repeated executions of a timed pipeline within one command encoder write to the same query set indices, so the performance callback reports only the last execution."):d.push({priors:t,callback:r}),!0}var dU=class{bindGroups=new Map;vertexBuffers=new Map;currentPipeline;indexBuffer;stencilReference;appliedStencilReference=0;version=0;rawAccessed=!1},cU=class{bindGroups=new Map;currentPipeline;version=0;rawAccessed=!1};function f6(e,t,s){ca(t)?e.bindGroups.set(t.layout,t):e.bindGroups.set(t,s),e.version++}function v6(e,t){let{priors:s}=t[B];if(e.currentPipeline=t,s.bindGroupLayoutMap)for(let[r,o]of s.bindGroupLayoutMap)e.bindGroups.set(r,o);if(s.vertexLayoutMap)for(let[r,o]of s.vertexLayoutMap)e.vertexBuffers.set(r,{buffer:o,offset:void 0,size:void 0});s.indexBuffer&&(e.indexBuffer=s.indexBuffer),s.stencilReference!==void 0&&(e.stencilReference=s.stencilReference),e.version++}function y6(e,t){let{priors:s}=t[B];if(e.currentPipeline=t,s.bindGroupLayoutMap)for(let[r,o]of s.bindGroupLayoutMap)e.bindGroups.set(r,o);e.version++}function _U(e,t,s){let{buffer:r,indexFormat:o,offsetBytes:n,sizeBytes:i}=s;hc(r)?e.setIndexBuffer(t.unwrap(r),o,n,i):e.setIndexBuffer(r,o,n,i)}function h6(e,t,s,r,o){let n=new Set(s);if(s.forEach((i,d)=>{if(r&&d===r[0])e.setBindGroup(d,t.unwrap(r[1])),n.delete(i);else{let c=o(i);c!==void 0&&(n.delete(i),ca(c)?e.setBindGroup(d,t.unwrap(c)):e.setBindGroup(d,c))}}),n.size>0)throw new QA(n)}function lU(e,t,s,r){let o=new Set;if(s.forEach((n,i)=>{let d=r(n);!d||!d.buffer?o.add(n):hc(d.buffer)?e.setVertexBuffer(i,t.unwrap(d.buffer),d.offset,d.size):e.setVertexBuffer(i,d.buffer,d.offset,d.size)}),o.size>0)throw new JA(o)}function uU(e,t,s,r){let o=s[B].core.unwrap();e.setPipeline(o.pipeline),h6(e,t,o.usedBindGroupLayouts,o.catchall,n=>r.bindGroups.get(n)),lU(e,t,o.usedVertexLayouts,n=>r.vertexBuffers.get(n)),r.indexBuffer!==void 0&&_U(e,t,r.indexBuffer),typeof e.setStencilReference=="function"&&r.stencilReference!==void 0&&(r.rawAccessed||r.stencilReference!==r.appliedStencilReference)&&(e.setStencilReference(r.stencilReference),r.appliedStencilReference=r.stencilReference)}function mU(e,t,s,r){let o=s[B].core.unwrap();e.setPipeline(o.pipeline),h6(e,t,o.usedBindGroupLayouts,o.catchall,n=>r.bindGroups.get(n))}function x6(e){if(!e)throw new Error("No index buffer is set. Call pipeline.withIndexBuffer or pass.setIndexBuffer before drawing indexed geometry.")}function ig(e,t){Vt.warnOnce("suspicious",e,t,`${t} is ignored when recording into a raw GPUCommandEncoder, since there is no submission to report after. Use root['~unstable'].createCommandEncoder() instead.`)}function g6(e,t){return!e||e[B].adopted?!1:(e[B].afterSubmit.set(t,()=>rU(t)),!0)}function b6(e,t,s,r){s&&!g6(e,s)&&ig(t,"Shader console.log output"),r.performanceCallback&&!iU(e,r)&&ig(t,"The performance callback"),r.encoder===void 0&&e.submit()}var pU={render:{into:"drawing into a render pass",intoRaw:"drawing into a raw render pass",begin:"beginRenderPass"},compute:{into:"dispatching into a compute pass",intoRaw:"dispatching into a raw compute pass",begin:"beginComputePass"}};function w6(e,t,s,r,o,n=!1){let i=pU[o];n&&Vt.warnOnce("suspicious",e,"attachments",`Pipeline-level attachments are ignored when ${i.into}. Pass \`colorAttachments\` and \`depthStencilAttachment\` to encoder.${i.begin} instead.`),s&&Vt.warnOnce("suspicious",e,"timestampWrites",`Pipeline-level timestamp writes are ignored when ${i.into}. Pass \`timestampWrites\` to encoder.${i.begin} instead.`),r&&!g6(t,r)&&Vt.warnOnce("suspicious",e,"logs",`Shader console.log output is ignored when ${i.intoRaw} encoder, since there is no submission to read it back after.`)}function Rp(e,t,s,r,o,n=!1){let{state:i,rawPass:d}=t,{core:c,priors:_}=s[B];i.currentPipeline!==s&&v6(i,s),r&&x6(i.indexBuffer);let u=c.unwrap();n||w6(c,t.owner,!!_.timestampWrites,u.logResources,"render",!!_.colorAttachment||!!_.depthStencilAttachment),(i.rawAccessed||t.appliedVersion!==i.version)&&(uU(d,e,s,i),t.appliedVersion=i.version),o(d)}function zp(e,t,s,r,o=!1){let{state:n,rawPass:i}=t,{core:d,priors:c}=s[B];n.currentPipeline!==s&&y6(n,s);let _=d.unwrap();o||w6(d,t.owner,!!c.timestampWrites,_.logResources,"compute"),(n.rawAccessed||t.appliedVersion!==n.version)&&(mU(i,e,s,n),t.appliedVersion=n.version),r(i)}function fU(e){let t=e;return t?.resourceType==="compute-pipeline"&&mt(t)}function vU(e){let t=e;return t?.resourceType==="render-pipeline"&&mt(t)}function yU(e){return vU(e)||fU(e)}function Cv(e){let t=e;return t?.resourceType==="command-encoder"&&mt(t)}function T6(e){let t=e;return(t?.resourceType==="render-pass"||t?.resourceType==="render-bundle-encoder")&&mt(t)}function S6(e){let t=e;return t?.resourceType==="compute-pass"&&mt(t)}function hU(e){return typeof e?.getCurrentTexture=="function"}function A6(e){let t=e;return!mt(t)&&typeof t?.beginRenderPass=="function"&&typeof t?.beginComputePass=="function"}function xU(e){let t=e;return!mt(t)&&typeof t?.dispatchWorkgroups=="function"&&t?.beginRenderPass===void 0}function gU(e){let t=e;return!mt(t)&&typeof t?.executeBundles=="function"&&typeof t?.draw=="function"}function bU(e){let t=e;return!mt(t)&&typeof t?.draw=="function"&&typeof t?.finish=="function"&&t?.executeBundles===void 0&&t?.beginRenderPass===void 0&&t?.dispatchWorkgroups===void 0}function vm(e,t){return Tc(t)?e.unwrap(t).createView():Oi(t)?e.unwrap(t):hU(t)?t.getCurrentTexture().createView():t}function M6(e,t){let{querySet:s,beginningOfPassWriteIndex:r,endOfPassWriteIndex:o}=t,n={querySet:Uv(s)?e.unwrap(s):s};return r!==void 0&&(n.beginningOfPassWriteIndex=r),o!==void 0&&(n.endOfPassWriteIndex=o),n}function wU(e,t){let{rawEncoder:s,root:r}=e[B],o={};return t?.label!==void 0&&(o.label=t.label),t?.timestampWrites!==void 0&&(o.timestampWrites=M6(r,t.timestampWrites)),new P6(r,s.beginComputePass(o),e)}function TU(e,t){let s=new P6(e,t,void 0);return s[B].state.rawAccessed=!0,s}var P6=class{[B];resourceType="compute-pass";#e;constructor(e,t,s){this.#e=e,this[B]={rawPass:t,state:new cU,owner:s,appliedVersion:void 0}}#t(e){let t=this[B],s=t.state.currentPipeline;if(!s)throw new Error("Cannot dispatch without a call to pass.setPipeline");zp(this.#e,t,s,e)}setPipeline(e){y6(this[B].state,e)}setBindGroup(e,t){f6(this[B].state,e,t)}dispatchWorkgroups(e,t,s){this.#t(r=>r.dispatchWorkgroups(e,t,s))}dispatchWorkgroupsIndirect(e,t){let s=Mn(e)?e:e.buffer,r=Vi(e,t,12,"dispatchWorkgroupsIndirect");this.#t(o=>o.dispatchWorkgroupsIndirect(s,r))}end(){this[B].rawPass.end()}};function SU(e){let t,s="all";if(Tc(e)?t=e.props.format:Oi(e)&&(t=e[B].format,s=e[B].aspect??"all"),t!==void 0)return{hasDepth:t.includes("depth")&&s!=="stencil-only",hasStencil:t.includes("stencil")&&s!=="depth-only"}}function AU(e,t){let s={...e,view:t},r=SU(e.view);if(r===void 0&&(e.depthLoadOp!==void 0||e.depthStoreOp!==void 0||e.stencilLoadOp!==void 0||e.stencilStoreOp!==void 0))return s;let{hasDepth:o,hasStencil:n}=r??{hasDepth:!0,hasStencil:!1};return o&&!e.depthReadOnly&&(s.depthLoadOp??="clear",s.depthStoreOp??="store",s.depthClearValue??=1),n&&!e.stencilReadOnly&&(s.stencilLoadOp??="clear",s.stencilStoreOp??="store"),s}function MU(e,t){let{rawEncoder:s,root:r}=e[B],o={colorAttachments:(t.colorAttachments===void 0?[]:Array.isArray(t.colorAttachments)?t.colorAttachments:[t.colorAttachments]).map(n=>{if(n===null)return null;let i={...n,loadOp:n.loadOp??"clear",storeOp:n.storeOp??"store",view:vm(r,n.view)};return n.resolveTarget!==void 0&&(i.resolveTarget=vm(r,n.resolveTarget)),i})};return t.label!==void 0&&(o.label=t.label),t.depthStencilAttachment!==void 0&&(o.depthStencilAttachment=AU(t.depthStencilAttachment,vm(r,t.depthStencilAttachment.view))),t.occlusionQuerySet!==void 0&&(o.occlusionQuerySet=Uv(t.occlusionQuerySet)?r.unwrap(t.occlusionQuerySet):t.occlusionQuerySet),t.timestampWrites!==void 0&&(o.timestampWrites=M6(r,t.timestampWrites)),t.maxDrawCount!==void 0&&(o.maxDrawCount=t.maxDrawCount),new E6(r,s.beginRenderPass(o),e)}function PU(e,t){return new kU(e,e.device.createRenderBundleEncoder(t),void 0)}function EU(e,t){let s=typeof t.executeBundles=="function"?new E6(e,t,void 0):new Rv(e,t,void 0);return s[B].state.rawAccessed=!0,s}var Rv=class{[B];resourceType="render-bundle-encoder";#e;constructor(e,t,s){this.#e=e,this[B]={rawPass:t,state:new dU,owner:s,appliedVersion:void 0}}#t(e,t){let s=this[B],r=s.state.currentPipeline;if(!r)throw new Error("Cannot draw without a call to pass.setPipeline");Rp(this.#e,s,r,e,t)}setPipeline(e){v6(this[B].state,e)}setBindGroup(e,t){f6(this[B].state,e,t)}setVertexBuffer(e,t,s,r){let{state:o}=this[B];o.vertexBuffers.set(e,{buffer:t,offset:s,size:r}),o.version++}setIndexBuffer(e,t,s,r){let{state:o}=this[B];o.indexBuffer={buffer:e,indexFormat:t,offsetBytes:s,sizeBytes:r},o.version++}draw(e,t,s,r){this.#t(!1,o=>o.draw(e,t,s,r))}drawIndexed(e,t,s,r,o){this.#t(!0,n=>n.drawIndexed(e,t,s,r,o))}drawIndirect(e,t){let s=Mn(e)?e:e.buffer,r=Vi(e,t,16,"drawIndirect");this.#t(!1,o=>o.drawIndirect(s,r))}drawIndexedIndirect(e,t){let s=Mn(e)?e:e.buffer,r=Vi(e,t,20,"drawIndexedIndirect");this.#t(!0,o=>o.drawIndexedIndirect(s,r))}},kU=class extends Rv{resourceType="render-bundle-encoder";finish(e){return this[B].rawPass.finish(e)}},E6=class extends Rv{resourceType="render-pass";setViewport(e,t,s,r,o,n){this[B].rawPass.setViewport(e,t,s,r,o,n)}setScissorRect(e,t,s,r){this[B].rawPass.setScissorRect(e,t,s,r)}setBlendConstant(e){this[B].rawPass.setBlendConstant(e)}setStencilReference(e){let{state:t}=this[B];t.stencilReference=e,t.version++}beginOcclusionQuery(e){this[B].rawPass.beginOcclusionQuery(e)}endOcclusionQuery(){this[B].rawPass.endOcclusionQuery()}executeBundles(e){let t=this[B];t.rawPass.executeBundles(e),t.appliedVersion=void 0}end(){this[B].rawPass.end()}};function zv(e,t){return new $6(e,e.device.createCommandEncoder(t),!1)}function k6(e,t){return new $6(e,t,!0)}var $6=class{[B];resourceType="command-encoder";constructor(e,t,s){this[B]={rawEncoder:t,root:e,adopted:s,beforeFinish:new Map,afterSubmit:new Map}}beginRenderPass(e){return MU(this,e)}beginComputePass(e){return wU(this,e)}#e(){let{rawEncoder:e,beforeFinish:t}=this[B];for(let s of t.values())s(e);t.clear()}submit(){let{rawEncoder:e,root:t,afterSubmit:s}=this[B];this.#e(),t.device.queue.submit([e.finish()]);for(let r of s.values())r();s.clear()}finish(e){let{rawEncoder:t,root:s,afterSubmit:r}=this[B];return this.#e(),r.size>0&&Vt.warnOnce("suspicious",s,"finishWithPendingWork","Shader console.log output and performance callbacks do not fire for command buffers produced by encoder.finish(). Use encoder.submit() instead."),t.finish(e)}},U6=["f16","clip_distances","dual_source_blending","subgroups","primitive_index"],C6={f16:"shader-f16",clip_distances:"clip-distances",dual_source_blending:"dual-source-blending",subgroups:"subgroups",primitive_index:"primitive-index"};function Gp(e,t){return e.type!==t.type?!1:pr(e)&&pr(t)?e.access===t.access&&e.addressSpace===t.addressSpace&&e.implicit===t.implicit&&Gp(e.inner,t.inner):Us(e)&&Us(t)?e.elementCount===t.elementCount&&Gp(e.elementType,t.elementType):Qt(e)&&Qt(t)?e===t:!0}var $U=class{cache=new Map;get(e,t){let s=If(e);if(!s)return;if(!t&&s.ast.params.length>0)throw new Error(`Cannot resolve '${xe(e)}' directly, because it expects arguments. Either call it from another function, or wrap it in a shell`);let r=(t??[]).map((i,d)=>{if(i.value instanceof wn){if(i.dataType===Ut)throw new Qe("d.ref() created with primitive types must be stored in a variable before use");return i.dataType}if(i.dataType===Ut)throw new Error(`Passed illegal value ${i.value} as the #${d} argument to ${xe(e)??""}(...) +Shellless functions can only accept arguments representing WGSL resources: constructible WGSL types, d.refs, samplers or texture views. +Remember, that arguments such as samplers, texture views, accessors, slots etc. should be dereferenced via '.$' first.`);let c=no(i.dataType);return pr(c)&&c.implicit&&(c=c.inner),c}),o=this.cache.get(e);if(o){let i=o.find(d=>d.argTypes.length===r.length&&d.argTypes.every((c,_)=>Gp(c,r[_])));if(i)return i}else o=[],this.cache.set(e,o);let n=D4(r,e);return o.push(n),n}},UU=class{[B];constructor(e){this[B]={strategy:e,takenGlobalIdentifiers:new Set([...mv,...rP]),shelllessRepo:new $U,memoizedResolves:new WeakMap,memoizedLazy:new WeakMap}}};function fd(e){let{names:t="strict"}=e??{};return new UU(t)}var CU=new Set(["bindGroupLayoutMap","vertexLayoutMap","indexBuffer","stencilReference","timestampWrites","performanceCallback"]);function R6(e){return Object.keys(e).filter(t=>!CU.has(t)&&e[t]!==void 0)}var z6=class{#e;#t;measureResolve(e){let t=performance.mark("typegpu:resolution:start"),s=e();return this.#e=performance.measure("typegpu:resolution",{start:t.name}),this.#t=s.code.length,s}measureCompile(e){(async()=>{let t=performance.mark("typegpu:compile-start");await e.queue.onSubmittedWorkDone();let s=performance.measure("typegpu:compiled",{start:t.name});Df?.record("resolution",{resolveDuration:this.#e?.duration,compileDuration:s.duration,wgslSize:this.#t})})()}},G6=class{measureResolve(e){return e()}measureCompile(){}};function RU(e,t,s){return new zU(new GU(e,t,s),{})}var zU=class Y6{[B];[me];resourceType="compute-pipeline";[Xs];constructor(t,s){this[me]={type:"compute-pipeline",device:t.root.device,raw:void 0,label:void 0},this[B]={core:t,priors:s,root:t.root,materialize:()=>{let r=this[me];if(!r.raw){let o=t.unwrap();r.raw=o.pipeline,r.usedBindGroupLayouts=o.usedBindGroupLayouts,r.bindGroups=l6(o.usedBindGroupLayouts,o.catchall,s.bindGroupLayoutMap),r.timestampWrites=s.timestampWrites,r.performanceCallback=s.performanceCallback,r.nonTransferablePriors=R6(s)}return r.raw}},this[Xs]=t}[kt](t){return t.resolve(this[B].core)}toString(){return`computePipeline:${xe(this)??""}`}#e(t){let{core:s,priors:r}=this[B];return new Y6(s,{...r,...t})}with(t,s){let r=this[B];if(S6(t))return this.#e({pass:t,encoder:void 0});if(Cv(t))return this.#e({pass:void 0,encoder:t});if(xU(t))return this.#e({pass:TU(r.root,t),encoder:void 0});if(A6(t))return this.#e({pass:void 0,encoder:k6(r.root,t)});if(ca(t)||Zu(t)){let[o,n]=ca(t)?[t.layout,t]:[t,s];return this.#e({bindGroupLayoutMap:new Map([...r.priors.bindGroupLayoutMap??[],[o,n]])})}throw new Error("Unsupported value passed into .with()")}withPerformanceCallback(t){let s=this[B];if(s.priors.timestampWrites)return this.#e({performanceCallback:t});let r=s.core.performanceCallbackQuerySet;return r?this.#e(m6(s.priors,t,r)):(Vt.warn("webgpu-feature-missing","Performance callback cannot be used because the timestamp-query feature is not enabled on the root."),this)}withTimestampWrites(t){let s=this[B];return this.#e(p6(s.priors,t,s.root))}dispatchWorkgroups(t,s,r){this.#t(o=>o.dispatchWorkgroups(t,s,r))}dispatchWorkgroupsIndirect(t,s){let r=Mn(t)?t:t.buffer,o=Vi(t,s,12,"dispatchWorkgroupsIndirect");this.#t(n=>n.dispatchWorkgroupsIndirect(r,o))}initAsync(){return this[B].core.initAsync()}initSync(){this[B].core.initSync()}#t(t){let{core:s,priors:r,root:o}=this[B];if(r.pass){zp(o,r.pass[B],this,t);return}let n=r.encoder??zv(o),i=n.beginComputePass({label:xe(s)??"",timestampWrites:r.timestampWrites});zp(o,i[B],this,t,!0),i.end(),b6(n,s,s.unwrap().logResources,r)}$name(t){return ot(this,t),this}},GU=class L6{[B]=!0;root;#e;#t;#s;#r;#o;#n;constructor(t,s,r){this.root=t,this.#r=s,this.#o=r,this.#e=Df?.enabled?new z6:new G6}static precompiled(t,s){let r=new L6(t,[],void 0);return r.#s=s,r}[kt](t){let s=this.#o;return s?t.withSlots(this.#r,()=>(t.resolve(s.compute),ve("",_s,"runtime"))):ve("",_s,"runtime")}toString(){return"computePipelineCore"}get performanceCallbackQuerySet(){if(this.root.enabledFeatures.has("timestamp-query"))return this.#n??=(globalThis.__TYPEGPU_AUTONAME__??(t=>t))(this.root.createQuerySet("timestamp",2),"performanceCallbackQuerySet")}initAsync(){if(this.#s!==void 0)return Promise.resolve();if(this.#t===void 0){let t=this.root.device,{resolutionResult:s,module:r}=this.resolveAndCreateShaderModule(),{usedBindGroupLayouts:o,catchall:n,logResources:i}=s;this.#t=t.createComputePipelineAsync({label:xe(this)??"",layout:t.createPipelineLayout({label:`${xe(this)??""} - Pipeline Layout`,bindGroupLayouts:o.map(d=>this.root.unwrap(d))}),compute:{module:r}}).then(d=>{this.#s={pipeline:d,usedBindGroupLayouts:o,catchall:n,logResources:i},this.#e.measureCompile(t)}).finally(()=>{this.#t=void 0})}return this.#t}initSync(){if(this.#s!==void 0)return;if(this.#t!==void 0)throw new Error("'pipeline.initAsync()' was called and is not yet resolved.");let t=this.root.device,{resolutionResult:s,module:r}=this.resolveAndCreateShaderModule(),{usedBindGroupLayouts:o,catchall:n,logResources:i}=s;this.#s={pipeline:(globalThis.__TYPEGPU_AUTONAME__??(d=>d))(t.createComputePipeline({label:xe(this)??"",layout:t.createPipelineLayout({label:`${xe(this)??""} - Pipeline Layout`,bindGroupLayouts:o.map(d=>this.root.unwrap(d))}),compute:{module:r}}),"pipeline"),usedBindGroupLayouts:o,catchall:n,logResources:i},this.#e.measureCompile(t)}unwrap(){return this.initSync(),this.#s}resolveAndCreateShaderModule(){let t=this.root.device,s=U6.filter(c=>this.root.enabledFeatures.has(C6[c])),r=fd({names:this.root.nameRegistrySetting}),o=this.#e.measureResolve(()=>Ju(this,{namespace:r,minify:this.root.minify,enableExtensions:s,shaderGenerator:this.root.shaderGeneratorClass?new this.root.shaderGeneratorClass:void 0,root:this.root})),{code:n,usedBindGroupLayouts:i,catchall:d}=o;return d!==void 0&&i[d[0]]?.$name(`${xe(this)??""} - Automatic Bind Group & Layout`),B5(i,t.limits),{resolutionResult:o,module:t.createShaderModule({label:`${xe(this)??""} - Shader`,code:n})}}},YU={$vertexIndex:_r.vertexIndex,$instanceIndex:_r.instanceIndex},LU={$clipDistances:_r.clipDistances,$position:_r.position},IU={$position:_r.position,$frontFacing:_r.frontFacing,$primitiveIndex:_r.primitiveIndex,$sampleIndex:_r.sampleIndex,$sampleMask:_r.sampleMask,$subgroupInvocationId:_r.subgroupInvocationId,$subgroupSize:_r.subgroupSize},DU={$fragDepth:_r.fragDepth,$sampleMask:_r.sampleMask},Gv=class{#e;autoIn;autoOut;constructor(e,t,s){xe(e)||ot(e,"fragmentFn"),this.#e=ri(e,"fragment"),this.autoIn=new Wo({...IU,...t},void 0,s),ot(this.autoIn,"FragmentIn"),this.autoOut=new Wo(DU,Oe),ot(this.autoOut,"FragmentOut")}toString(){return"autoFragmentFn"}[kt](e){return e.withSlots([[pd,"fragment"]],()=>this.#e.resolve(e,[this.autoIn],this.autoOut))}};Gv.prototype[B]=!0;Gv.prototype.resourceType="auto-fragment-fn";var Yv=class{#e;autoIn;autoOut;constructor(e,t,s){xe(e)||ot(e,"vertexFn"),this.#e=ri(e,"vertex"),this.autoIn=new Wo({...YU,...t},void 0,s),ot(this.autoIn,"VertexIn"),this.autoOut=new Wo(LU,void 0),ot(this.autoOut,"VertexOut")}toString(){return"autoVertexFn"}[kt](e){return e.withSlots([[pd,"vertex"]],()=>this.#e.resolve(e,[this.autoIn],this.autoOut))}};Yv.prototype[B]=!0;Yv.prototype.resourceType="auto-vertex-fn";function I6(e,t="vertex"){return new FU(e,t)}function D6(e){return e?.resourceType==="vertex-layout"}var Yp=Symbol("defaultAttribEntry");function ul(e,t,s,r,o){if(zn(t)||ha(t)){let n=na(t);return n!==void 0&&(r[o??Yp]=n),ul(e,t.inner,qs(s,wo(t)),r)}if(Qt(t)){let n=s,i=t.propTypes;return Object.fromEntries(Object.entries(i).map(([d,c])=>{n=qs(n,rs(c));let _=[d,ul(e,c,n,r,d)];return n+=_t(c),_}))}if(un(t)){let n=s,i=t.propTypes;return Object.fromEntries(Object.entries(i).map(([d,c])=>{n=qs(n,wo(c));let _=[d,ul(e,c,n,r,d)];return n+=_t(c),_}))}if("type"in t&&typeof t.type=="string"){if(y2.includes(t.type))return{_layout:e,format:t.type,offset:s};let n=eM[t.type];if(n)return{_layout:e,format:n,offset:s}}throw new Error(`Unsupported data used in vertex layout: ${String(t)}`)}var FU=class{[B]=!0;[me];resourceType="vertex-layout";stride;attrib;schemaForCount;#e={};constructor(e,t){this.schemaForCount=e;let s=e(0);this[me]={type:"vertex-layout",schema:s,stepMode:t,label:void 0},this.stride=qs(_t(s.elementType),rs(s)),this.attrib=ul(this,s.elementType,0,this.#e)}get stepMode(){return this[me].stepMode}get vertexLayout(){if(this.#e[Yp]!==void 0){if(typeof this.attrib.format!="string"||typeof this.attrib.offset!="number")throw new Error("Single attribute vertex layouts must have a format and offset.");return{arrayStride:this.stride,stepMode:this.stepMode,attributes:[{format:this.attrib.format,offset:this.attrib.offset,shaderLocation:this.#e[Yp]}]}}if(!Object.keys(this.attrib).every(e=>this.#e[e]!==void 0))throw new Error("All attributes must have custom locations in order to unwrap a vertex layout.");return{arrayStride:this.stride,stepMode:this.stepMode,attributes:Object.entries(this.attrib).map(([e,t])=>({format:t.format,offset:t.offset,shaderLocation:this.#e[e]}))}}$name(e){return ot(this,e),this}};function BU(e){return!!e?.view}function WU(e,t){if(Cu(e)||nn(e))return[];if(Qt(e)){let s=[];for(let r of Object.keys(e.propTypes)){let o=e.propTypes[r];if(nn(o))continue;let n=t[r];if(!n)throw new Error(`A color attachment by the name of '${r}' was not provided to the shader.`);s.push(n)}return s}if(!BU(t))throw new Error("Expected a single color attachment, not a record.");return[t]}function OU(e,t){let s;if(Cu(e)||nn(e))return[null];if(Qt(e)){let o=[];for(let n of Object.keys(e.propTypes)){let i=e.propTypes[n];if(nn(i))continue;let d=t[n];o.push({...d,format:d?.format??(s??=navigator.gpu.getPreferredCanvasFormat())})}return o}let r=t;return[{...r,format:r?.format??(s??=navigator.gpu.getPreferredCanvasFormat())}]}function VU(e){return new NU(new qU(e),{})}var NU=class F6{[B];[me];resourceType="render-pipeline";[Xs];constructor(t,s){this[me]={type:"render-pipeline",device:t.options.root.device,raw:void 0,label:void 0},this[B]={core:t,priors:s,root:t.options.root,materialize:()=>{let r=this[me];if(!r.raw){let o=t.unwrap();r.raw=o.pipeline,r.usedBindGroupLayouts=o.usedBindGroupLayouts,r.usedVertexLayouts=o.usedVertexLayouts,r.fragmentOut=o.fragmentOut,r.bindGroups=l6(o.usedBindGroupLayouts,o.catchall,s.bindGroupLayoutMap),r.vertexBuffers=N4(o.usedVertexLayouts,s.vertexLayoutMap),r.indexBuffer=s.indexBuffer,r.stencilReference=s.stencilReference,r.timestampWrites=s.timestampWrites,r.performanceCallback=s.performanceCallback,r.nonTransferablePriors=R6(s)}return r.raw}},this[Xs]=t}[kt](t){return t.resolve(this[B].core)}toString(){return`renderPipeline:${xe(this)??""}`}$name(t){return ot(this,t),this}#e(t){let{core:s,priors:r}=this[B];return new F6(s,{...r,...t})}with(t,s){let r=this[B];if(T6(t))return this.#e({pass:t,encoder:void 0});if(Cv(t))return this.#e({pass:void 0,encoder:t});if(gU(t)||bU(t))return this.#e({pass:EU(r.root,t),encoder:void 0});if(A6(t))return this.#e({pass:void 0,encoder:k6(r.root,t)});if(ca(t)||Zu(t)){let[o,n]=ca(t)?[t.layout,t]:[t,s];return this.#e({bindGroupLayoutMap:new Map([...r.priors.bindGroupLayoutMap??[],[o,n]])})}if(D6(t))return this.#e({vertexLayoutMap:new Map([...r.priors.vertexLayoutMap??[],[t,s]])});throw new Error("Unsupported value passed into .with()")}withPerformanceCallback(t){let s=this[B];if(s.priors.timestampWrites)return this.#e({performanceCallback:t});let r=s.core.performanceCallbackQuerySet;return r?this.#e(m6(s.priors,t,r)):(Vt.warn("webgpu-feature-missing","Performance callback cannot be used because the timestamp-query feature is not enabled on the root."),this)}withTimestampWrites(t){let s=this[B];return this.#e(p6(s.priors,t,s.root))}withColorAttachment(t){return this.#e({colorAttachment:t})}withDepthStencilAttachment(t){return this.#e({depthStencilAttachment:t})}withStencilReference(t){return this.#e({stencilReference:t})}withIndexBuffer(t,s,r,o){if(Mn(t)){if(typeof s!="string")throw new Error("If a GPUBuffer is passed, indexFormat must be provided.");return this.#e({indexBuffer:{buffer:t,indexFormat:s,offsetBytes:r,sizeBytes:o}})}let n={u32:"uint32",u16:"uint16"},i=t.dataType.elementType;return this.#e({indexBuffer:{buffer:t,indexFormat:n[i.type],offsetBytes:s!==void 0?s*_t(i):void 0,sizeBytes:o!==void 0?o*_t(i):void 0}})}initAsync(){return this[B].core.initAsync()}initSync(){this[B].core.initSync()}get hasIndexBuffer(){return this[B].priors.indexBuffer!==void 0}#t(){let{core:t,priors:s}=this[B],{fragmentOut:r}=t.unwrap();return{label:xe(t)??"",colorAttachments:r?WU(r,s.colorAttachment??{}):[],depthStencilAttachment:s.depthStencilAttachment,timestampWrites:s.timestampWrites}}#s(t,s){let{core:r,priors:o,root:n}=this[B];if(o.pass){Rp(n,o.pass[B],this,t,s);return}t&&x6(o.indexBuffer);let i=o.encoder??zv(n),d=i.beginRenderPass(this.#t());Rp(n,d[B],this,t,s,!0),d.end(),b6(i,r,r.unwrap().logResources,o)}draw(t,s,r,o){this.#s(!1,n=>n.draw(t,s,r,o))}drawIndexed(t,s,r,o,n){this.#s(!0,i=>i.drawIndexed(t,s,r,o,n))}drawIndirect(t,s){let r=Mn(t)?t:t.buffer,o=Vi(t,s,16,"drawIndirect");this.#s(!1,n=>n.drawIndirect(r,o))}drawIndexedIndirect(t,s){let r=Mn(t)?t:t.buffer,o=Vi(t,s,20,"drawIndexedIndirect");this.#s(!0,n=>n.drawIndexedIndirect(r,o))}},qU=class B6{[B]=!0;options;#e;#t;#s;#r;#o;#n;constructor(t){this.options=t,this.#e=Df?.enabled?new z6:new G6}static precompiled(t,s){let r=new B6({root:t,slotBindings:[],descriptor:void 0});return r.#s=s,r}[kt](t){let{slotBindings:s}=this.options,{vertex:r,fragment:o,attribs:n={}}=this.options.descriptor??{};if(!r)return ve("",_s,"runtime");this.#r=void 0,this.#o=void 0;let i=XU(r?.shell?.out,o?.shell?.in,xe(r)??"",xe(o)??"");return t.withVaryingLocations(i,()=>t.withSlots(s,()=>{let d;if(typeof r=="function"){let c=new Yv(r,Object.fromEntries(Object.entries(n).map(([_,u])=>[_,$n[u.format]])),i);t.resolve(c),this.#r=c.autoIn.completeStruct.propTypes,d=c.autoOut.completeStruct}else d=t.resolve(r).dataType;if(o)if(typeof o=="function"){let c=Object.fromEntries(Object.entries(d.propTypes).filter(([,_])=>!nn(_)));this.#o=t.resolve(new Gv(o,c,i)).dataType}else t.resolve(o);return ve("",_s,"runtime")}))}toString(){return"renderPipelineCore"}get performanceCallbackQuerySet(){if(this.options.root.enabledFeatures.has("timestamp-query"))return this.#n??=(globalThis.__TYPEGPU_AUTONAME__??(t=>t))(this.options.root.createQuerySet("timestamp",2),"performanceCallbackQuerySet")}initAsync(){if(this.#s!==void 0)return Promise.resolve();if(this.#t===void 0){let t=this.options.root.device,{resolutionResult:s,descriptor:r,connectedAttribs:o,fragmentOut:n}=this.resolveAndCreateShaderModule(),{usedBindGroupLayouts:i,catchall:d,logResources:c}=s;this.#t=t.createRenderPipelineAsync(r).then(_=>{this.#s={pipeline:_,usedBindGroupLayouts:i,catchall:d,logResources:c,usedVertexLayouts:o.usedVertexLayouts,fragmentOut:n},this.#e.measureCompile(t)}).finally(()=>{this.#t=void 0})}return this.#t}initSync(){if(this.#s!==void 0)return;if(this.#t!==void 0)throw new Error("'pipeline.initAsync()' was called and is not yet resolved.");let t=this.options.root.device,{resolutionResult:s,descriptor:r,connectedAttribs:o,fragmentOut:n}=this.resolveAndCreateShaderModule(),{usedBindGroupLayouts:i,catchall:d,logResources:c}=s;this.#s={pipeline:(globalThis.__TYPEGPU_AUTONAME__??(_=>_))(t.createRenderPipeline(r),"pipeline"),usedBindGroupLayouts:i,catchall:d,logResources:c,usedVertexLayouts:o.usedVertexLayouts,fragmentOut:n},this.#e.measureCompile(t)}unwrap(){return this.initSync(),this.#s}resolveAndCreateShaderModule(){let{root:t,descriptor:s}=this.options;if(!s)throw new Error("Precompiled pipelines are never resolved again.");let r=t.device,o=U6.filter(P=>t.enabledFeatures.has(C6[P])),n=fd({names:t.nameRegistrySetting}),i=this.#e.measureResolve(()=>Ju(this,{namespace:n,minify:t.minify,enableExtensions:o,shaderGenerator:t.shaderGeneratorClass?new t.shaderGeneratorClass:void 0,root:t})),{code:d,usedBindGroupLayouts:c,catchall:_}=i;_!==void 0&&c[_[0]]?.$name(`${xe(this)??""} - Automatic Bind Group & Layout`),B5(c,r.limits);let u=r.createShaderModule({label:`${xe(this)??""} - Shader`,code:d}),{vertex:m,fragment:p,attribs:y={},targets:h}=s,g=m$(m?.shell?.in??this.#r??{},y),w=p?.shell?.returnType??this.#o,S=w?OU(w,h):[null],T={layout:r.createPipelineLayout({label:`${xe(this)??""} - Pipeline Layout`,bindGroupLayouts:c.map(P=>t.unwrap(P))}),vertex:{module:u,buffers:g.bufferDefinitions}},A=xe(this);return A!==void 0&&(T.label=A),s.fragment&&(T.fragment={module:u,targets:S}),s.primitive&&(Qa(s.primitive.stripIndexFormat)?T.primitive={...s.primitive,stripIndexFormat:{u32:"uint32",u16:"uint16"}[s.primitive.stripIndexFormat.type]}:T.primitive=s.primitive),s.depthStencil&&(T.depthStencil=s.depthStencil),s.multisample&&(T.multisample=s.multisample),{resolutionResult:i,descriptor:T,connectedAttribs:g,fragmentOut:w}}};function XU(e={},t={},s,r){let o={},n=new Set;function i(c,_){o[c]=_,n.add(_)}for(let[c,_]of Object.entries(e)){let u=na(_);u!==void 0&&i(c,u)}for(let[c,_]of Object.entries(t)){let u=na(_);u!==void 0&&(o[c]===void 0?i(c,u):o[c]!==u&&Vt.warn("locations-mismatched",`Mismatched location between vertexFn (${s}) output (${o[c]}) and fragmentFn (${r}) input (${u}) for the key "${c}", using the location set on vertex output.`))}let d=0;for(let c of Object.keys(e??{}))if(!(nn(e[c])||o[c]!==void 0)){for(;n.has(d);)d++;i(c,d)}return o}var dg=class{#e=new WeakMap;#t;constructor(e){this.#t=e}getOrMake(e,...t){if(this.#e.has(e))return this.#e.get(e);let s=this.#t(e,...t);return this.#e.set(e,s),s}};function Lv(e){let t={argTypes:Object.values(e.in??{}),returnType:_s,workgroupSize:e.workgroupSize,entryPoint:"compute"},s=g5(e.in??{});return Object.assign((o,...n)=>HU(t,e.workgroupSize,Hu(o,...n),s),t)}function HU(e,t,s,r){let o=ri(s,"compute",t);return{shell:e,$uses(n){return o.setExternals("userProvided",n),this},[B]:!0,[Xs]:o,$name(n){return ot(this,n),this},[kt](n){return n.withSlots([[pd,"compute"]],()=>o.resolve(n,[],e.returnType,r))},toString(){return`computeFn:${xe(o)??""}`}}}function jU(e){if(e.includes(0))throw new Error("Size and workgroupSize cannot contain zeroes.");return gt(e[0]??1,e[1]??1,e[2]??1)}var KU=[gt(1,1,1),gt(256,1,1),gt(16,16,1),gt(8,8,4)],ZU=class ml{resourceType="guarded-compute-pipeline";[me];#e;#t;constructor(t,s,r,o){this.#e=t,this.#t=gt(),this[me]={type:"guarded-compute-pipeline",device:t.device,pipeline:s,sizeUniform:r,workgroupSize:o,label:void 0}}with(t){if(!ca(t))throw new Error("Guarded pipelines only accept bind groups in .with(). To record into passes or encoders, use a regular compute pipeline.");return new ml(this.#e,this[me].pipeline.with(t),this[me].sizeUniform,this[me].workgroupSize)}withPerformanceCallback(t){return new ml(this.#e,this[me].pipeline.withPerformanceCallback(t),this[me].sizeUniform,this[me].workgroupSize)}withTimestampWrites(t){return new ml(this.#e,this[me].pipeline.withTimestampWrites(t),this[me].sizeUniform,this[me].workgroupSize)}dispatchThreads(...t){let s=jU(t),r=cc(It(s).div(It(this[me].workgroupSize)));n$(s,this.#t)||(this.#t=s,this[me].sizeUniform.write(s)),this[me].pipeline.dispatchWorkgroups(r.x,r.y,r.z)}initAsync(){return this[me].pipeline.initAsync()}initSync(){this[me].pipeline.initSync()}get pipeline(){return this[me].pipeline}get sizeUniform(){return this[me].sizeUniform}[B]=!0;get[Xs](){return this[me].pipeline}$name(t){return ot(this,t),this}},QU=class Lp{#e;#t;constructor(t,s){this.#e=t,this.#t=s}with(t,s){return new Lp(this.#e,[...this.#t,[dd(t)||cd(t)?t.slot:t,s]])}createComputePipeline(t){return RU(this.#e(),this.#t,t)}createRenderPipeline(t){return VU({root:this.#e(),slotBindings:this.#t,descriptor:t})}createGuardedComputePipeline(t){let s=this.#e();if(t.length>=4)throw new Error("Guarded compute callback only supports up to three dimensions.");let r=KU[t.length],o=qt([R,R,R])(t);xe(o)===void 0&&o.$name("wrappedCallback");let n=(globalThis.__TYPEGPU_AUTONAME__??(d=>d))(s.createUniform(gt),"sizeUniform"),i=(globalThis.__TYPEGPU_AUTONAME__??(d=>d))(Lv({workgroupSize:r,in:{id:_r.globalInvocationId}})`{ + if (any(in.id >= sizeUniform)) { + return; + } + wrappedCallback(in.id.x, in.id.y, in.id.z); +}`.$uses({sizeUniform:n,wrappedCallback:o}),"mainCompute");return new ZU(s,this.createComputePipeline({compute:i}),n,r)}pipe(t){let s=t(new W5([]));return new Lp(this.#e,[...this.#t,...s.bindings])}},W6=class extends QU{"~unstable";resourceType="root";[me];device;nameRegistrySetting;shaderGeneratorClass;#e=new dg(e=>e.unwrap(this));#t=new dg(e=>e.unwrap(this));#s;[B];constructor(e,t,s,r,o,n){super(()=>this,[]),this.device=e,this.nameRegistrySetting=t,this.#s=r,this.shaderGeneratorClass=n,this["~unstable"]=this,this[me]={type:"root",device:e,nameRegistrySetting:t,logOptions:o,minify:s,nonTransferablePriors:n?["shaderGeneratorClass"]:void 0,label:void 0},this[B]={logOptions:o}}configureContext(e){let t=e.canvas.getContext("webgpu");if(!t)throw new Error("Unable to initialize 'webgpu' context on the provided canvas.");return t.configure({...e,device:this.device,format:e.format??navigator.gpu.getPreferredCanvasFormat()}),t}get enabledFeatures(){return new Set(this.device.features)}get minify(){return this[me].minify}createBuffer(e,t){return F_(this,e,t)}createUniform(e,t){return new Va("uniform",F_(this,e,t).$usage("uniform"))}createMutable(e,t){return new Va("mutable",F_(this,e,t).$usage("storage"))}createReadonly(e,t){return new Va("readonly",F_(this,e,t).$usage("storage"))}createQuerySet(e,t,s){return oU(this,e,t,s)}createBindGroup(e,t){return new Q5(this,e,t)}destroy(){g4(this.device),this.#s&&this.device.destroy()}createTexture(e){return S4(e,this)}createSampler(e){return J$(e,this)}createComparisonSampler(e){return e4(e,this)}unwrap(e){if(Cv(e))return e[B].rawEncoder;if(T6(e)||S6(e))return e[B].state.rawAccessed=!0,e[B].rawPass;if(Zu(e))return this.#e.getOrMake(e);if(ca(e))return this.#t.getOrMake(e);if(Oc(e))return e.buffer.buffer;if(Oi(e)){if(!e[B].unwrap)throw new Error("Cannot unwrap laid-out texture view as it has no underlying resource.");return e[B].unwrap()}if(D6(e))return e.vertexLayout;let t=e[B];if(t?.materialize)return t.materialize();throw kv(e)||$v(e)?new Error("Cannot unwrap laid-out sampler."):new Error(`Unknown resource type: ${io(e)}`)}createCommandEncoder(e){return zv(this,e)}createRenderBundleEncoder(e){return PU(this,e)}};async function JU(e){let{adapter:t,device:s,unstable_names:r="strict",unstable_minify:o=!1,unstable_logOptions:n,unstable_shaderGeneratorClass:i}=e??{},{optionalFeatures:d,...c}=s??{};if(!navigator.gpu)throw new Error("WebGPU is not supported by this browser.");let _=await navigator.gpu.requestAdapter(t);if(!_)throw new Error("Could not find a compatible GPU");let u=[];for(let m of c.requiredFeatures??[]){if(!_.features.has(m))throw new Error(`Requested feature "${m}" is not supported by the adapter.`);u.push(m)}for(let m of d??[])_.features.has(m)?u.push(m):Vt.warn("webgpu-feature-missing",`Optional feature "${m}" is not supported by the adapter.`);return new W6(await _.requestDevice({...c,requiredFeatures:u}),r,o,!0,n??{},i)}function eC(e){let{device:t,unstable_names:s="strict",unstable_minify:r=!1,unstable_logOptions:o,unstable_shaderGeneratorClass:n}=e??{};return new W6(t,s,r,!1,o??{},n)}function O6(e,t){return new tC(e,t)}function V6(e,t){return new sC(e,t)}function Iv(e){let t=Na(),s=kl(t.unwrap(e.slot));for(;typeof s=="function"&&!vp(s)&&!Tl(s)&&!Fi(s);)s=s(),Gc(s)&&(s=s.value);let r=Gu(s);if(r)return r;if(Tl(s))return s[zs].call(t,[]);if(vp(s)||Fi(s)){let o=t.resolve(s);return t.withResetIndentLevel(()=>ve(`${o.value}()`,e.schema,"runtime",o.possibleSideEffects))}t.pushMode(new _d);try{return ve(aa(e.schema,s),e.schema,"constant",!1)}finally{t.popMode("normal")}}var N6=class Ip{[Xs];[me];slot;static#e=void(Ip.prototype[B]=!0,In(Ip.prototype,{asString(){return`${this.resourceType}:${xe(this)??""}`},resolve(t){return t.resolveSnippet(Iv(this))}}));constructor(t,s,r=void 0){this[me]={type:t,schema:Rc(s)?s:s(0),defaultValue:r,label:void 0},this.slot=Nc(r),this[Xs]=this.slot}get schema(){return this[me].schema}get defaultValue(){return this[me].defaultValue}$name(t){return ot(this,t),this.defaultValue&&typeof this.defaultValue=="function"&&!xe(this.defaultValue)&&ot(this.defaultValue,t),this}},tC=class Dp extends N6{static#e=void(Dp.prototype.resourceType="accessor",mn(Dp.prototype,{codegenMode:{get(){return Iv(this)}},normalMode:{get(){throw new Error("`tgpu.accessor` relies on GPU resources and cannot be accessed outside of a compute dispatch or draw call. Use `tgpu.slot` for non-WGSL values instead.")}}}));constructor(t,s=void 0){super("accessor",t,s)}},sC=class Fp extends N6{static#e=void(Fp.prototype.resourceType="mutable-accessor",mn(Fp.prototype,{codegenMode:{get(){return Iv(this)}},normalMode:{get(){throw new Error("`tgpu.mutableAccessor` relies on GPU resources and cannot be accessed outside of a compute dispatch or draw call. Use `tgpu.slot` for non-WGSL values instead.")}}}));constructor(t,s=void 0){super("mutable-accessor",t,s)}};function Bp(e,t){return Array.isArray(e)?nC(e,t):oC(e)}function rC(e,t){return Array.isArray(e)?Bp(e,t).code:Bp(e).code}function oC(e){let{template:t,externals:s,unstable_shaderGenerator:r,names:o="strict",unstable_minify:n,config:i,enableExtensions:d}=e;t||Vt.warn("deprecated","Calling resolve with an empty template is deprecated and will soon return an empty string. Consider using the 'tgpu.resolve(resolvableArray, options)' API instead.");let c={[B]:!0,[kt](u){return ve(Xu(u,s,t??""),_s,"runtime")},toString:()=>""},_=q6(Object.values(s));return Ju(c,{namespace:typeof o=="string"?fd({names:o}):o,minify:n??_?.minify??!1,enableExtensions:d,shaderGenerator:r,config:i,root:_})}function nC(e,t){let{unstable_shaderGenerator:s,names:r="strict",unstable_minify:o,config:n,enableExtensions:i}=t??{},d={[B]:!0,[kt](_){for(let u of e)if(Zu(u))for(let m of Object.values(u[B]))_.resolve(m);else _.resolve(u);return ve("",_s,"runtime")},toString:()=>""},c=q6(e);return Ju(d,{namespace:typeof r=="string"?fd({names:r}):r,minify:o??c?.minify??!1,enableExtensions:i,shaderGenerator:s,config:n,root:c})}function q6(e){let t=new Map;for(let s of e){let r=Wp(s);if(r){let o=t.get(r)??new Set;t.set(r,o),o.add(s)}}if(t.size>1){let s=[...t.values()].map((r,o)=>`root ${o+1}: ${[...r].map(n=>xe(n)??"").join(", ")}`).join("; ");throw new Error(`Found resources originating from different roots in a single resolve (${s}).`)}return[...t.keys()][0]}function Wp(e){if(yU(e)||hc(e)||Tc(e)||kv(e)||$v(e))return e[B].root;if(Oc(e))return Wp(e.buffer);if(Oi(e))return Wp(e?.[me]?.texture)}function X6(e){if(Na())throw new Error("Cannot create tgpu.lazy objects during shader resolution.");return new aC(e,void 0)}var aC=class pl{[B];[Mr];static#e=void(pl.prototype.resourceType="lazy",mn(In(pl.prototype,{asString:()=>"lazy",resolve(t){throw new Error("Unreachable, is never resolved directly")}}),{codegenMode:{get(){return this.#t()}},normalMode:{get(){return this.#t()}}}));constructor(t,s){this[B]={compute:t},this[Mr]=s}get[Hr](){let t=Na();if(!t)throw new Error("Cannot access tgpu.lazy's value outside of resolution.");return kl(t.unwrap(this))}get $(){return this[Hr]}#t(){let t=Na();if(!t)throw new Error("Cannot access tgpu.lazy's value outside of resolution.");return kl(t.unwrap(this))}with(t,s){return new pl(this[B].compute.bind(this),{inner:this[Mr]?.inner??this,pairs:[...this[Mr]?.pairs??[],[dd(t)||cd(t)?t.slot:t,s]]})}};function H6(e){let t={in:e.in,out:e.out,returnType:Bc(e.out),entryPoint:"fragment"};return Object.assign((r,...o)=>iC(t,Hu(r,...o)),t)}function iC(e,t){let s=ri(t,"fragment"),r=e.returnType;return typeof t=="string"&&T5(t,r,s),{shell:e,outputType:r,$uses(o){return s.setExternals("userProvided",o),this},[B]:!0,[Xs]:s,$name(o){return ot(this,o),Di(r)&&r.$name(`${o}_Output`),this},[kt](o){let n=g5(e.in??{},o.varyingLocations??{});return n.dataSchema&&Di(n.dataSchema)&&n.dataSchema.$name(`${xe(this)??""}_Input`),typeof t=="string"&&s.setExternals("out",{Out:r}),o.withSlots([[pd,"fragment"]],()=>s.resolve(o,[],e.returnType,n))},toString(){return`fragmentFn:${xe(s)??""}`}}}function e1(e){if(Object.keys(e.out).length===0)throw new Error("A vertexFn output cannot be empty since it must include the 'position' builtin.");let t={in:e.in,out:e.out,argTypes:e.in&&Object.keys(e.in).length!==0?[Bc(e.in)]:[],entryPoint:"vertex"};return Object.assign((r,...o)=>dC(t,Hu(r,...o)),t)}function dC(e,t){let s=ri(t,"vertex"),r=IE(e.in??{});return{shell:e,$uses(o){return s.setExternals("userProvided",o),this},[B]:!0,[Xs]:s,$name(o){return ot(this,o),this},[kt](o){let n=Bc(e.out,o.varyingLocations).$name(`${xe(this)??""}_Output`);return typeof t=="string"&&s.setExternals("out",{Out:n}),o.withSlots([[pd,"vertex"]],()=>s.resolve(o,[],n,r))},toString(){return`vertexFn:${xe(s)??""}`}}}function cC(e){return new _C(e)}var _C=class{[B]=!0;#e;#t;constructor(e){this.#t=e}$uses(e){if(this.#e!==void 0)throw new Error("Cannot call '$uses' multiple times. If you wish to override dependencies, use slots or accessors instead.");return this.#e=e,this}[kt](e){let t=Xu(e,this.#e??{},this.#t);return e.addDeclaration(t),ve("",_s,"constant")}toString(){return`declare: ${this.#t}`}};function lC(e,t,s="runtime",r=!0){return new uC(e,t,s,r)}var uC=class Op{dataType;origin;possibleSideEffects;#e;#t;static#s=void(Op.prototype[B]=!0,mn(In(Op.prototype,{asString(){return`raw(${String(this.dataType)}): "${this.#e}"`},resolve(t){return ve(Xu(t,this.#t??{},this.#e),this.dataType,this.origin,this.possibleSideEffects)}}),{codegenMode:{getBaseSnippet(t){return ve(t,this.dataType,this.origin,this.possibleSideEffects)}},normalMode:{get(){throw new Error("Raw code snippets can only be used on the GPU.")}}}));constructor(t,s,r,o){this.dataType=s,this.origin=r,this.possibleSideEffects=o,this.#e=t}$uses(t){if(this.#t!==void 0)throw new Error("Cannot call '$uses' multiple times. If you wish to override dependencies, use slots or accessors instead.");return this.#t=t,this}};function mC(e){let t=Na()??new _6({minify:!1,namespace:fd()}),s=[1,1,1],r=[1,1,1],o=[s[0]*r[0],s[1]*r[1],s[2]*r[2]],n=new Map,i=Array.from({length:s[0]},()=>Array.from({length:s[1]},()=>Array.from({length:s[2]},()=>new Map))),d=Array.from({length:o[0]},()=>Array.from({length:o[1]},()=>Array.from({length:o[2]},()=>new Map))),c=Array.from({length:o[0]},(_,u)=>Array.from({length:o[1]},(m,p)=>Array.from({length:o[2]},(y,h)=>{let g=Math.floor(u/r[0]),w=Math.floor(p/r[1]),S=Math.floor(h/r[2]);return new dM(n,{private:d[u][p][h],workgroup:i[g][w][S]})})));t.pushMode(c[0][0][0]);try{return{value:w2(t,e),buffers:n,privateVars:d,workgroupVars:i}}finally{t.popMode("simulate")}}var pC=Za({accessor:()=>bC,comptime:()=>vC,computeFn:()=>yC,const:()=>fC,declare:()=>cC,derived:()=>TC,fn:()=>hC,fragmentFn:()=>xC,mutableAccessor:()=>wC,namespace:()=>fd,privateVar:()=>AC,rawCodeSnippet:()=>lC,simulate:()=>mC,slot:()=>SC,vertexFn:()=>gC,vertexLayout:()=>PC,workgroupVar:()=>MC}),fC=wv,vC=Ao,yC=Lv,hC=qt,xC=H6,gC=e1,bC=O6,wC=V6,TC=X6,SC=Nc,AC=Qu,MC=J5,PC=I6,EC=Za({accessor:()=>O6,bindGroupLayout:()=>K5,comptime:()=>Ao,computeFn:()=>Lv,const:()=>wv,fn:()=>qt,fragmentFn:()=>H6,init:()=>JU,initFromDevice:()=>eC,lazy:()=>X6,mutableAccessor:()=>V6,privateVar:()=>Qu,resolve:()=>rC,resolveWithContext:()=>Bp,slot:()=>Nc,unroll:()=>z5,vertexFn:()=>e1,vertexLayout:()=>I6,workgroupVar:()=>J5,"~unstable":()=>pC});pe({name:"workgroupBarrier",normalImpl:"workgroupBarrier is a no-op outside of CODEGEN mode.",signature:{argTypes:[],returnType:_s},codegenImpl:()=>"workgroupBarrier()",sideEffects:!0});pe({name:"storageBarrier",normalImpl:"storageBarrier is a no-op outside of CODEGEN mode.",signature:{argTypes:[],returnType:_s},codegenImpl:()=>"storageBarrier()",sideEffects:!0});pe({name:"textureBarrier",normalImpl:"textureBarrier is a no-op outside of CODEGEN mode.",signature:{argTypes:[],returnType:_s},codegenImpl:()=>"textureBarrier()",sideEffects:!0});var Dn="Atomic operations are not supported outside of CODEGEN mode.",d8=pe({name:"atomicLoad",normalImpl:Dn,signature:e=>{if(!Uu(e))throw new Error(`Invalid atomic type: ${io(e)}`);return{argTypes:[e],returnType:e.inner}},codegenImpl:(e,[t])=>ce`atomicLoad(&${t})`,sideEffects:!0}),kC=e=>{if(!Uu(e))throw new Error(`Invalid atomic type: ${io(e)}`);return{argTypes:[e,e.inner.type==="u32"?R:Z],returnType:_s}},oi=e=>{if(!Uu(e))throw new Error(`Invalid atomic type: ${io(e)}`);let t=e.inner.type==="u32"?R:Z;return{argTypes:[e,t],returnType:t}},c8=pe({name:"atomicStore",normalImpl:Dn,signature:kC,codegenImpl:(e,[t,s])=>ce`atomicStore(&${t}, ${s})`,sideEffects:!0}),_8=pe({name:"atomicAdd",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicAdd(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicSub",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicSub(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicMax",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicMax(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicMin",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicMin(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicAnd",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicAnd(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicOr",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicOr(&${t}, ${s})`,sideEffects:!0});pe({name:"atomicXor",normalImpl:Dn,signature:oi,codegenImpl:(e,[t,s])=>ce`atomicXor(&${t}, ${s})`,sideEffects:!0});var Fn="Derivative builtins are not allowed on the CPU",Ni=pe({name:"dpdx",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdx(${t})`,sideEffects:!1});pe({name:"dpdxCoarse",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdxCoarse(${t})`,sideEffects:!1});pe({name:"dpdxFine",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdxFine(${t})`,sideEffects:!1});var qi=pe({name:"dpdy",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdy(${t})`,sideEffects:!1});pe({name:"dpdyCoarse",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdyCoarse(${t})`,sideEffects:!1});pe({name:"dpdyFine",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`dpdyFine(${t})`,sideEffects:!1});var Zt=pe({name:"fwidth",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`fwidth(${t})`,sideEffects:!1});pe({name:"fwidthCoarse",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`fwidthCoarse(${t})`,sideEffects:!1});pe({name:"fwidthFine",normalImpl:Fn,signature:e=>({argTypes:[e],returnType:e}),codegenImpl:(e,[t])=>ce`fwidthFine(${t})`,sideEffects:!1});function qc(e){return e.filter(t=>t!==void 0)}function $C(e,t,s,r,o){throw new Ys("Texture sampling relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSample",normalImpl:$C,codegenImpl:(e,t)=>e.gen.emitCall("textureSample",[],qc(t)),signature:(...e)=>({argTypes:e,returnType:e[0].type.startsWith("texture_depth")?a:Oe}),sideEffects:!1});function UC(e,t,s,r,o,n){throw new Ys("Texture sampling with bias relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSampleBias",normalImpl:UC,codegenImpl:(e,t)=>e.gen.emitCall("textureSampleBias",[],qc(t)),signature:(...e)=>({argTypes:e,returnType:Oe}),sideEffects:!1});function CC(e,t,s,r,o,n){throw new Ys("Texture sampling relies on GPU resources and cannot be executed outside of a draw call")}var zl=pe({name:"textureSampleLevel",normalImpl:CC,codegenImpl:(e,t)=>e.gen.emitCall("textureSampleLevel",[],qc(t)),signature:(...e)=>({argTypes:e,returnType:e[0].type.startsWith("texture_depth")?a:Oe}),sideEffects:!1});function RC(e,t,s){throw new Ys("`textureLoad` relies on GPU resources and cannot be executed outside of a draw call")}var Be=pe({name:"textureLoad",normalImpl:RC,codegenImpl:(e,t)=>e.gen.emitCall("textureLoad",[],qc(t)),signature:(...e)=>{let t=e[0];if(r5(t)){let r=t.type.startsWith("texture_depth"),o=t.sampleType;return{argTypes:e,returnType:r?a:o.type==="f32"?Oe:o.type==="u32"?Et:Wt}}if(MP(t))return{argTypes:e,returnType:Oe};let s=t.format;return{argTypes:e,returnType:Vc(s).vectorType}},sideEffects:!1});function zC(e,t,s,r){throw new Ys("`textureStore` relies on GPU resources and cannot be executed outside of a draw call")}var jr=pe({name:"textureStore",normalImpl:zC,codegenImpl:(e,t)=>ce`textureStore(${t})`,signature:(...e)=>({argTypes:e,returnType:_s}),sideEffects:!0});function GC(e,t){throw new Ys("`textureDimensions` relies on GPU resources and cannot be executed outside of a draw call")}var l8=pe({name:"textureDimensions",normalImpl:GC,codegenImpl:(e,t)=>e.gen.emitCall("textureDimensions",[],qc(t)),signature:(...e)=>{let t=e[0].dimension;return t==="1d"?{argTypes:e,returnType:R}:t==="3d"?{argTypes:e,returnType:gt}:{argTypes:e,returnType:Ct}},sideEffects:!1}),YC=(...e)=>{throw new Error("Texture gather relies on GPU resources and cannot be executed outside of a draw call")},LC={f32:Oe,i32:Wt,u32:Et};pe({name:"textureGather",normalImpl:YC,codegenImpl:(e,t)=>ce`textureGather(${t})`,signature:(...e)=>{if(e[0].type.startsWith("texture")){let[i,d,c,_,...u]=e;return{argTypes:i.type==="texture_depth_2d_array"||i.type==="texture_depth_cube_array"?[i,d,c,[R,Z],...u]:e,returnType:Oe}}let[t,s,r,o,...n]=e;return{argTypes:s.type==="texture_2d_array"||s.type==="texture_cube_array"?[[R,Z],s,r,o,[R,Z],...n]:[[R,Z],s,r,o,...n],returnType:LC[s.sampleType.type]}},sideEffects:!1});function IC(e,t,s,r,o,n){throw new Ys("Texture comparison sampling relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSampleCompare",normalImpl:IC,codegenImpl:(e,t)=>ce`textureSampleCompare(${t})`,signature:(...e)=>({argTypes:e,returnType:a}),sideEffects:!1});function DC(e,t,s,r,o,n){throw new Ys("Texture comparison sampling with level relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSampleCompareLevel",normalImpl:DC,codegenImpl:(e,t)=>ce`textureSampleCompareLevel(${t})`,signature:(...e)=>({argTypes:e,returnType:a}),sideEffects:!1});function FC(e,t,s){throw new Ys("Texture sampling with base clamp to edge is not supported outside of GPU mode.")}function BC(e,t,s,r,o,n,i){throw new Ys("Texture sampling with gradients relies on GPU resources and cannot be executed outside of a draw call")}pe({name:"textureSampleGrad",normalImpl:BC,codegenImpl:(e,t)=>ce`textureSampleGrad(${t})`,signature:(...e)=>({argTypes:e,returnType:Oe}),sideEffects:!1});pe({name:"textureSampleBaseClampToEdge",normalImpl:FC,codegenImpl:(e,t)=>ce`textureSampleBaseClampToEdge(${t})`,signature:(...e)=>({argTypes:e,returnType:Oe}),sideEffects:!1});var v=EC,O_="uniforms";function j6(e){return e.replace(/[^a-zA-Z0-9_]/g,"_")}var WC=new Set(["alias","break","case","const","const_assert","continue","continuing","default","diagnostic","discard","else","enable","false","fn","for","if","let","loop","override","requires","return","struct","switch","true","var","while","NULL","Self","abstract","active","alignas","alignof","as","asm","asm_fragment","async","attribute","auto","await","become","cast","catch","class","co_await","co_return","co_yield","coherent","column_major","common","compile","compile_fragment","concept","const_cast","consteval","constexpr","constinit","crate","debugger","decltype","delete","demote","demote_to_helper","do","dynamic_cast","enum","explicit","export","extends","extern","external","fallthrough","filter","final","finally","friend","from","fxgroup","get","goto","groupshared","highp","impl","implements","import","inline","instanceof","interface","layout","lowp","macro","macro_rules","match","mediump","meta","mod","module","move","mut","mutable","namespace","new","nil","noexcept","noinline","nointerpolation","non_coherent","noncoherent","noperspective","null","nullptr","of","operator","package","packoffset","partition","pass","patch","pixelfragment","precise","precision","premerge","priv","protected","pub","public","readonly","ref","regardless","register","reinterpret_cast","require","resource","restrict","self","set","shared","sizeof","smooth","snorm","static","static_assert","static_cast","std","subroutine","super","target","template","this","thread_local","throw","trait","try","type","typedef","typeid","typename","typeof","union","unless","unorm","unsafe","unsized","use","using","varying","virtual","volatile","wgsl","where","with","writeonly","yield","sampler","uniform","storage"]);function OC(e){let t=j6(e);return WC.has(t)?`${t}_`:t}function Lo(e){return`n_${j6(e)}`}function Vp(e){return e==="vec2"?2:e==="vec3"?3:4}function K6(e){let t=e.type;return t==="vec2f"||t==="vec2i"||t==="vec2u"?"vec2":t==="vec3f"||t==="vec3i"||t==="vec3u"?"vec3":t==="vec4f"||t==="vec4i"||t==="vec4u"?"vec4":"scalar"}function VC(e){return e.type==="array"}function Z6(e){if(typeof e=="number"||typeof e=="boolean")return a;if(e&&typeof e=="object"){let t=e.kind;if(typeof t=="string"){if(t.startsWith("vec2"))return l;if(t.startsWith("vec3"))return f;if(t.startsWith("vec4"))return x}if(Array.isArray(e))return pt(a,e.length||1);let s=e;if("w"in s)return x;if("z"in s)return f;if("x"in s&&"y"in s)return l}return Array.isArray(e)?pt(a,e.length||1):a}function Np(e,t){let s=e;if(s&&typeof s=="object"&&"data"in s&&!("x"in s)&&(s=s.data),typeof s=="number")return new Array(t).fill(s);if(s instanceof Q6)return s.toArray().slice(0,t);if(Array.isArray(s))return cg(s,t);if(s&&typeof s=="object"){let r=s;if("x"in r){let o=[r.x,r.y??0];return t>=3&&o.push(r.z??0),t>=4&&o.push(r.w??0),o.slice(0,t)}if(typeof r.length=="number")return cg(Array.from(r),t)}throw new Error(`[uniformStore] cannot coerce value to a ${t}-component vector: ${String(e)}`)}function cg(e,t){let s=e.slice(0,t);for(;s.lengthe))(ut({time:a,deltaTime:a,frame:a,viewportSize:l,logicalViewportSize:l,aspect:a,pointer:l,pointerActive:a}),"SystemUniforms"),XC={time:0,deltaTime:0,frame:0,viewportSize:[1,1],logicalViewportSize:[1,1],aspect:1,pointer:[.5,.5],pointerActive:0};function J6(e,t={}){let s=t.systemSchema??qC,r={...XC,...t.systemInitial??{}},o=new Map,n=new Map,i={},d=s,c=!1,_=new Set,u=new Map,m=new Map,p={markScalar(T){_.add(T)},markArray(T,A){if(A==="all"){u.set(T,"all");return}let P=u.get(T);P!=="all"&&(P?P.add(A):u.set(T,new Set([A])))}},y;function h(T,A){let P={},U={};for(let D of A){let O=OC(D.name),L=D.transform?D.transform(D.initial):D.initial,G=D.cpu??typeof L=="string";if(D.transform&&!G&&!NC(L)&&!lg.has(D.transform)&&(lg.add(D.transform),console.warn(`[gpu] prop transform for "${D.name}" returned a non-packable value \u2014 the uniform field will be NaN. A prop transform must return a number, boolean, vector, or array (or a string for cpu-only props).`,L)),G){P[D.name]=new Oo({sink:p,gpuPath:[T,O],initial:L,transform:D.transform,cpu:!0});continue}let W=L&&typeof L=="object"&&"data"in L?L.data:L,K=D.schema??Z6(W);if(U[O]=K,VC(K)){let Q=new Sc({sink:p,gpuPath:[T,O],schema:K,initial:D.initial,transform:D.transform});P[D.name]=Q}else{let Q=new Oo({sink:p,gpuPath:[T,O],schema:K,initial:L,transform:D.transform});P[D.name]=Q}}return{handles:P,struct:(globalThis.__TYPEGPU_AUTONAME__??(D=>D))(ut(U),"struct")}}function g(){if(y)throw new Error("[uniformStore] cannot register fields after finalize()")}function w(){let T={};for(let[A,P]of n)T[A]=S(P,A);return T._sys=S(i,"_sys"),T}function S(T,A){let P={};for(let U of Object.values(T))U instanceof Sc?P[U.gpuPath[1]]=U._wholeArray():U.cpu||(P[U.gpuPath[1]]=U._patchValue());if(A)for(let U of m.get(A)??[])P[U]=0;return P}return{get schema(){return y?.schema},get layout(){return y?.layout},get buffer(){return y?.buffer},get bindGroup(){return y?.bindGroup},get systemHandles(){return i},defineNode(T,A){g();let P=Lo(T),{handles:U,struct:D}=h(P,A);return o.set(P,D),n.set(P,U),U},defineSystem(T){if(g(),T&&T.length){let A=h("_sys",T);i=A.handles,d=A.struct}else{let A=h("_sys",Object.entries(s.propTypes).map(([P,U])=>({name:P,schema:U,initial:r[P]??0})));i=A.handles,d=A.struct}return c=!0,i},finalize(){if(y)return y;c||this.defineSystem();let T=(W,K)=>{if(Object.keys(K.propTypes).length===0){let ee=["_pad0","_pad1","_pad2","_pad3"];return m.set(W,ee),ut(Object.fromEntries(ee.map(he=>[he,a])))}let Q=K,te=[];for(;xx(Q)%16!==0;){let ee=`_pad${te.length}`;for(;ee in K.propTypes;)ee=`_${ee}`;te.push(ee);let he={...K.propTypes};for(let Ee of te)he[Ee]=a;Q=(globalThis.__TYPEGPU_AUTONAME__??(Ee=>Ee))(ut(he),"padded")}return te.length&&m.set(W,te),Q},A={};for(let[W,K]of o)A[W]=T(W,K);A._sys=T("_sys",d);let P=(globalThis.__TYPEGPU_AUTONAME__??(W=>W))(ut(A),"combined"),U=xx(P),D=e.device?.limits?.maxUniformBufferBindingSize,O=typeof D=="number"&&D>0?D:65536;if(U>O)throw new mi("limit-exceeded",`[gpu] this composition needs ${U} bytes of uniform data across ${o.size} nodes, but the device caps a uniform binding at ${O} bytes. Reduce the number of layers.`);let L=(globalThis.__TYPEGPU_AUTONAME__??(W=>W))(e.createBuffer(P).$usage("uniform"),"buffer"),G=(globalThis.__TYPEGPU_AUTONAME__??(W=>W))(v.bindGroupLayout({[O_]:{uniform:P}}),"layout");return y={schema:P,layout:G,buffer:L,bindGroup:e.createBindGroup(G,{[O_]:L}),uniformEntryKey:O_},this.writeAll(),y},flush(){if(!y||_.size===0&&u.size===0)return;let T={},A=P=>T[P]??={};for(let P of _)A(P.gpuPath[0])[P.gpuPath[1]]=P._patchValue();for(let[P,U]of u){let D=A(P.gpuPath[0]);if(U==="all")D[P.gpuPath[1]]=P._wholeArray();else if(P.componentsPerElement===1){let O={};for(let L of U)O[L]=P._elementAt(L);D[P.gpuPath[1]]=O}else{let O=P.componentsPerElement,L={};for(let G of U){let W=Math.floor(G/O);L[W]=P._elementTuple(W)}D[P.gpuPath[1]]=L}}y.buffer.patch(T),_.clear(),u.clear()},writeAll(){y&&(y.buffer.write(w()),_.clear(),u.clear())},gpuAccessor(T,A="layout"){return`${A}.$.${O_}.${T.accessorPath}`},destroy(){y?.buffer.destroy?.(),y=void 0,o.clear(),n.clear(),_.clear(),u.clear(),m.clear()}}}function e7(e,t){if(e instanceof Sc){Array.isArray(t)&&(e.array=t);return}e.setFromRaw(t)}var Le=Math.PI/180;180/Math.PI;var Xr=Math.PI,it=Math.PI*2,ao=it,Gl=Math.PI/2,_a=Math.sqrt(3),HC=2.3999632297286535,Ar=v.fn([R,Z],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t<>R(__tsover_sub(Z(32),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"k"}],body:[0,[[10,[1,[1,"x","<<",[6,"d.u32",["k"]]],"|",[1,"x",">>",[6,"d.u32",[[1,[6,"d.i32",[[5,"32"]]],"-","k"]]]]]]]]},externals:{"d.u32":()=>R,"d.i32":()=>Z}})&&e.f)({})),Xi=v.fn([R,R,R],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=t,n=s,i=r;return i=i^n,i=__tsover_sub(i,Ar(n,Z(14))),o=o^i,o=__tsover_sub(o,Ar(i,Z(11))),n=n^o,n=__tsover_sub(n,Ar(o,Z(25))),i=i^n,i=__tsover_sub(i,Ar(n,Z(16))),o=o^i,o=__tsover_sub(o,Ar(i,Z(4))),n=n^o,n=__tsover_sub(n,Ar(o,Z(14))),i=i^n,i=__tsover_sub(i,Ar(n,Z(24))),i}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a0"},{type:"i",name:"b0"},{type:"i",name:"c0"}],body:[0,[[12,"a","a0"],[12,"b","b0"],[12,"c","c0"],[2,"c","=",[1,"c","^","b"]],[2,"c","=",[1,"c","-",[6,"mxRotl32",["b",[6,"d.i32",[[5,"14"]]]]]]],[2,"a","=",[1,"a","^","c"]],[2,"a","=",[1,"a","-",[6,"mxRotl32",["c",[6,"d.i32",[[5,"11"]]]]]]],[2,"b","=",[1,"b","^","a"]],[2,"b","=",[1,"b","-",[6,"mxRotl32",["a",[6,"d.i32",[[5,"25"]]]]]]],[2,"c","=",[1,"c","^","b"]],[2,"c","=",[1,"c","-",[6,"mxRotl32",["b",[6,"d.i32",[[5,"16"]]]]]]],[2,"a","=",[1,"a","^","c"]],[2,"a","=",[1,"a","-",[6,"mxRotl32",["c",[6,"d.i32",[[5,"4"]]]]]]],[2,"b","=",[1,"b","^","a"]],[2,"b","=",[1,"b","-",[6,"mxRotl32",["a",[6,"d.i32",[[5,"14"]]]]]]],[2,"c","=",[1,"c","^","b"]],[2,"c","=",[1,"c","-",[6,"mxRotl32",["b",[6,"d.i32",[[5,"24"]]]]]]],[10,"c"]]]},externals:{mxRotl32:()=>Ar,"d.i32":()=>Z}})&&e.f)({})),Hi=3735928559,Ld=v.fn([Z,Z],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=R(2),o=__tsover_add(__tsover_add(R(Hi),r<R,DEADBEEF:()=>Hi,mxBjfinal:()=>Xi}})&&e.f)({})),oo=v.fn([Z,Z,Z],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=R(3),n=__tsover_add(__tsover_add(R(Hi),o<R,DEADBEEF:()=>Hi,mxBjfinal:()=>Xi}})&&e.f)({})),V_=v.fn([Z,Z,Z,Z],R)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=R(4),i=__tsover_add(__tsover_add(R(Hi),n<R,DEADBEEF:()=>Hi,mxRotl32:()=>Ar,"d.i32":()=>Z,mxBjfinal:()=>Xi}})&&e.f)({})),ea=v.fn([R],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_div(a(t),a(4294967295))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"bits"}],body:[0,[[10,[1,[6,"d.f32",["bits"]],"/",[6,"d.f32",[[5,"4294967295"]]]]]]]},externals:{"d.f32":()=>a}})&&e.f)({})),Ia=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(__tsover_mul(__tsover_mul(t,t),t),__tsover_add(__tsover_mul(t,__tsover_sub(__tsover_mul(t,6),15)),10))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[1,[1,[1,"t","*","t"],"*","t"],"*",[1,[1,"t","*",[1,[1,"t","*",[5,"6"]],"-",[5,"15"]]],"+",[5,"10"]]]]]]},externals:{}})&&e.f)({})),Id=v.fn([R,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=t&R(7),n=C(r,s,oR,"std.select":()=>C}})&&e.f)({})),yn=v.fn([R,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=t&R(15),i=C(r,s,nR,"std.select":()=>C}})&&e.f)({})),ug=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(.6616,t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[1,[5,"0.6616"],"*","v"]]]]},externals:{}})&&e.f)({})),mg=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(.982,t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[1,[5,"0.982"],"*","v"]]]]},externals:{}})&&e.f)({})),pg=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_sub(1,n);return __tsover_add(__tsover_mul(__tsover_sub(1,i),__tsover_add(__tsover_mul(t,d),__tsover_mul(s,n))),__tsover_mul(i,__tsover_add(__tsover_mul(r,d),__tsover_mul(o,n))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v0"},{type:"i",name:"v1"},{type:"i",name:"v2"},{type:"i",name:"v3"},{type:"i",name:"s"},{type:"i",name:"t"}],body:[0,[[13,"s1",[1,[5,"1"],"-","s"]],[10,[1,[1,[1,[5,"1"],"-","t"],"*",[1,[1,"v0","*","s1"],"+",[1,"v1","*","s"]]],"+",[1,"t","*",[1,[1,"v2","*","s1"],"+",[1,"v3","*","s"]]]]]]]},externals:{}})&&e.f)({})),fg=v.fn([a,a,a,a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=__tsover_sub(1,_),y=__tsover_sub(1,u),h=__tsover_sub(1,m);return __tsover_add(__tsover_mul(h,__tsover_add(__tsover_mul(y,__tsover_add(__tsover_mul(t,p),__tsover_mul(s,_))),__tsover_mul(u,__tsover_add(__tsover_mul(r,p),__tsover_mul(o,_))))),__tsover_mul(m,__tsover_add(__tsover_mul(y,__tsover_add(__tsover_mul(n,p),__tsover_mul(i,_))),__tsover_mul(u,__tsover_add(__tsover_mul(d,p),__tsover_mul(c,_))))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v0"},{type:"i",name:"v1"},{type:"i",name:"v2"},{type:"i",name:"v3"},{type:"i",name:"v4"},{type:"i",name:"v5"},{type:"i",name:"v6"},{type:"i",name:"v7"},{type:"i",name:"s"},{type:"i",name:"t"},{type:"i",name:"r"}],body:[0,[[13,"s1",[1,[5,"1"],"-","s"]],[13,"t1",[1,[5,"1"],"-","t"]],[13,"r1",[1,[5,"1"],"-","r"]],[10,[1,[1,"r1","*",[1,[1,"t1","*",[1,[1,"v0","*","s1"],"+",[1,"v1","*","s"]]],"+",[1,"t","*",[1,[1,"v2","*","s1"],"+",[1,"v3","*","s"]]]]],"+",[1,"r","*",[1,[1,"t1","*",[1,[1,"v4","*","s1"],"+",[1,"v5","*","s"]]],"+",[1,"t","*",[1,[1,"v6","*","s1"],"+",[1,"v7","*","s"]]]]]]]]]},externals:{}})&&e.f)({})),vg=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(q(t.x)),r=Z(q(t.y)),o=__tsover_sub(t.x,a(s)),n=__tsover_sub(t.y,a(r)),i=Ia(o),d=Ia(n);return ug(pg(Id(Ld(s,r),o,n),Id(Ld(__tsover_add(s,Z(1)),r),__tsover_sub(o,1),n),Id(Ld(s,__tsover_add(r,Z(1))),o,__tsover_sub(n,1)),Id(Ld(__tsover_add(s,Z(1)),__tsover_add(r,Z(1))),__tsover_sub(o,1),__tsover_sub(n,1)),i,d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"X",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"Y",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"fx",[1,[7,"p","x"],"-",[6,"d.f32",["X"]]]],[13,"fy",[1,[7,"p","y"],"-",[6,"d.f32",["Y"]]]],[13,"u",[6,"mxFade",["fx"]]],[13,"v",[6,"mxFade",["fy"]]],[13,"result",[6,"mxBilerp",[[6,"mxGradientFloat2",[[6,"mxHashInt1",["X","Y"]],"fx","fy"]],[6,"mxGradientFloat2",[[6,"mxHashInt1",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],"Y"]],[1,"fx","-",[5,"1"]],"fy"]],[6,"mxGradientFloat2",[[6,"mxHashInt1",["X",[1,"Y","+",[6,"d.i32",[[5,"1"]]]]]],"fx",[1,"fy","-",[5,"1"]]]],[6,"mxGradientFloat2",[[6,"mxHashInt1",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],[1,"Y","+",[6,"d.i32",[[5,"1"]]]]]],[1,"fx","-",[5,"1"]],[1,"fy","-",[5,"1"]]]],"u","v"]]],[10,[6,"mxGradientScale2d",["result"]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.f32":()=>a,mxFade:()=>Ia,mxBilerp:()=>pg,mxGradientFloat2:()=>Id,mxHashInt1:()=>Ld,mxGradientScale2d:()=>ug}})&&e.f)({})),yg=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(q(t.x)),r=Z(q(t.y)),o=Z(q(t.z)),n=__tsover_sub(t.x,a(s)),i=__tsover_sub(t.y,a(r)),d=__tsover_sub(t.z,a(o)),c=Ia(n),_=Ia(i),u=Ia(d);return mg(fg(yn(oo(s,r,o),n,i,d),yn(oo(__tsover_add(s,Z(1)),r,o),__tsover_sub(n,1),i,d),yn(oo(s,__tsover_add(r,Z(1)),o),n,__tsover_sub(i,1),d),yn(oo(__tsover_add(s,Z(1)),__tsover_add(r,Z(1)),o),__tsover_sub(n,1),__tsover_sub(i,1),d),yn(oo(s,r,__tsover_add(o,Z(1))),n,i,__tsover_sub(d,1)),yn(oo(__tsover_add(s,Z(1)),r,__tsover_add(o,Z(1))),__tsover_sub(n,1),i,__tsover_sub(d,1)),yn(oo(s,__tsover_add(r,Z(1)),__tsover_add(o,Z(1))),n,__tsover_sub(i,1),__tsover_sub(d,1)),yn(oo(__tsover_add(s,Z(1)),__tsover_add(r,Z(1)),__tsover_add(o,Z(1))),__tsover_sub(n,1),__tsover_sub(i,1),__tsover_sub(d,1)),c,_,u))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"X",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"Y",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"Z",[6,"d.i32",[[6,"std.floor",[[7,"p","z"]]]]]],[13,"fx",[1,[7,"p","x"],"-",[6,"d.f32",["X"]]]],[13,"fy",[1,[7,"p","y"],"-",[6,"d.f32",["Y"]]]],[13,"fz",[1,[7,"p","z"],"-",[6,"d.f32",["Z"]]]],[13,"u",[6,"mxFade",["fx"]]],[13,"v",[6,"mxFade",["fy"]]],[13,"w",[6,"mxFade",["fz"]]],[13,"result",[6,"mxTrilerp",[[6,"mxGradientFloat3",[[6,"mxHashInt2",["X","Y","Z"]],"fx","fy","fz"]],[6,"mxGradientFloat3",[[6,"mxHashInt2",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],"Y","Z"]],[1,"fx","-",[5,"1"]],"fy","fz"]],[6,"mxGradientFloat3",[[6,"mxHashInt2",["X",[1,"Y","+",[6,"d.i32",[[5,"1"]]]],"Z"]],"fx",[1,"fy","-",[5,"1"]],"fz"]],[6,"mxGradientFloat3",[[6,"mxHashInt2",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],[1,"Y","+",[6,"d.i32",[[5,"1"]]]],"Z"]],[1,"fx","-",[5,"1"]],[1,"fy","-",[5,"1"]],"fz"]],[6,"mxGradientFloat3",[[6,"mxHashInt2",["X","Y",[1,"Z","+",[6,"d.i32",[[5,"1"]]]]]],"fx","fy",[1,"fz","-",[5,"1"]]]],[6,"mxGradientFloat3",[[6,"mxHashInt2",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],"Y",[1,"Z","+",[6,"d.i32",[[5,"1"]]]]]],[1,"fx","-",[5,"1"]],"fy",[1,"fz","-",[5,"1"]]]],[6,"mxGradientFloat3",[[6,"mxHashInt2",["X",[1,"Y","+",[6,"d.i32",[[5,"1"]]]],[1,"Z","+",[6,"d.i32",[[5,"1"]]]]]],"fx",[1,"fy","-",[5,"1"]],[1,"fz","-",[5,"1"]]]],[6,"mxGradientFloat3",[[6,"mxHashInt2",[[1,"X","+",[6,"d.i32",[[5,"1"]]]],[1,"Y","+",[6,"d.i32",[[5,"1"]]]],[1,"Z","+",[6,"d.i32",[[5,"1"]]]]]],[1,"fx","-",[5,"1"]],[1,"fy","-",[5,"1"]],[1,"fz","-",[5,"1"]]]],"u","v","w"]]],[10,[6,"mxGradientScale3d",["result"]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.f32":()=>a,mxFade:()=>Ia,mxTrilerp:()=>fg,mxGradientFloat3:()=>yn,mxHashInt2:()=>oo,mxGradientScale3d:()=>mg}})&&e.f)({})),hg=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(q(t.x)),r=Z(q(t.y));return f(ea(oo(s,r,Z(0))),ea(oo(s,r,Z(1))),ea(oo(s,r,Z(2))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"ix",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"iy",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[10,[6,"d.vec3f",[[6,"mxBitsTo01",[[6,"mxHashInt2",["ix","iy",[6,"d.i32",[[5,"0"]]]]]]],[6,"mxBitsTo01",[[6,"mxHashInt2",["ix","iy",[6,"d.i32",[[5,"1"]]]]]]],[6,"mxBitsTo01",[[6,"mxHashInt2",["ix","iy",[6,"d.i32",[[5,"2"]]]]]]]]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.vec3f":()=>f,mxBitsTo01:()=>ea,mxHashInt2:()=>oo}})&&e.f)({})),xg=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(q(t.x)),r=Z(q(t.y)),o=Z(q(t.z));return f(ea(V_(s,r,o,Z(0))),ea(V_(s,r,o,Z(1))),ea(V_(s,r,o,Z(2))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"ix",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"iy",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"iz",[6,"d.i32",[[6,"std.floor",[[7,"p","z"]]]]]],[10,[6,"d.vec3f",[[6,"mxBitsTo01",[[6,"mxHashInt3",["ix","iy","iz",[6,"d.i32",[[5,"0"]]]]]]],[6,"mxBitsTo01",[[6,"mxHashInt3",["ix","iy","iz",[6,"d.i32",[[5,"1"]]]]]]],[6,"mxBitsTo01",[[6,"mxHashInt3",["ix","iy","iz",[6,"d.i32",[[5,"2"]]]]]]]]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.vec3f":()=>f,mxBitsTo01:()=>ea,mxHashInt3:()=>V_}})&&e.f)({})),gg=v.fn([l,Z,Z,Z,Z,a,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=hg(l(a(__tsover_add(s,o)),a(__tsover_add(r,n)))),_=l(c.x,c.y);_=Pn(vr(ht(_,.5),i),.5);let u=ht(Pn(l(a(s),a(r)),_),t);return d===Z(2)?__tsover_add(z(u.x),z(u.y)):d===Z(3)?b(z(u.x),z(u.y)):se(u,u)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"x"},{type:"i",name:"y"},{type:"i",name:"xoff"},{type:"i",name:"yoff"},{type:"i",name:"jitter"},{type:"i",name:"metric"}],body:[0,[[13,"tmp",[6,"mxCellNoiseVec3_2d",[[6,"d.vec2f",[[6,"d.f32",[[1,"x","+","xoff"]]],[6,"d.f32",[[1,"y","+","yoff"]]]]]]]],[12,"off",[6,"d.vec2f",[[7,"tmp","x"],[7,"tmp","y"]]]],[2,"off","=",[6,"std.add",[[6,"std.mul",[[6,"std.sub",["off",[5,"0.5"]]],"jitter"]],[5,"0.5"]]]],[13,"cellpos",[6,"std.add",[[6,"d.vec2f",[[6,"d.f32",["x"]],[6,"d.f32",["y"]]]],"off"]]],[13,"diff",[6,"std.sub",["cellpos","p"]]],[11,[1,"metric","===",[6,"d.i32",[[5,"2"]]]],[0,[[10,[1,[6,"std.abs",[[7,"diff","x"]]],"+",[6,"std.abs",[[7,"diff","y"]]]]]]]],[11,[1,"metric","===",[6,"d.i32",[[5,"3"]]]],[0,[[10,[6,"std.max",[[6,"std.abs",[[7,"diff","x"]]],[6,"std.abs",[[7,"diff","y"]]]]]]]]],[10,[6,"std.dot",["diff","diff"]]]]]},externals:{mxCellNoiseVec3_2d:()=>hg,"d.vec2f":()=>l,"d.f32":()=>a,"std.add":()=>Pn,"std.mul":()=>vr,"std.sub":()=>ht,"d.i32":()=>Z,"std.abs":()=>z,"std.max":()=>b,"std.dot":()=>se}})&&e.f)({})),bg=v.fn([f,Z,Z,Z,Z,Z,Z,a,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=xg(f(a(__tsover_add(s,n)),a(__tsover_add(r,i)),a(__tsover_add(o,d))));u=Pn(vr(ht(u,.5),c),.5);let m=ht(Pn(f(a(s),a(r),a(o)),u),t);return _===Z(2)?__tsover_add(__tsover_add(z(m.x),z(m.y)),z(m.z)):_===Z(3)?b(b(z(m.x),z(m.y)),z(m.z)):se(m,m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"x"},{type:"i",name:"y"},{type:"i",name:"z"},{type:"i",name:"xoff"},{type:"i",name:"yoff"},{type:"i",name:"zoff"},{type:"i",name:"jitter"},{type:"i",name:"metric"}],body:[0,[[12,"off",[6,"mxCellNoiseVec3_3d",[[6,"d.vec3f",[[6,"d.f32",[[1,"x","+","xoff"]]],[6,"d.f32",[[1,"y","+","yoff"]]],[6,"d.f32",[[1,"z","+","zoff"]]]]]]]],[2,"off","=",[6,"std.add",[[6,"std.mul",[[6,"std.sub",["off",[5,"0.5"]]],"jitter"]],[5,"0.5"]]]],[13,"cellpos",[6,"std.add",[[6,"d.vec3f",[[6,"d.f32",["x"]],[6,"d.f32",["y"]],[6,"d.f32",["z"]]]],"off"]]],[13,"diff",[6,"std.sub",["cellpos","p"]]],[11,[1,"metric","===",[6,"d.i32",[[5,"2"]]]],[0,[[10,[1,[1,[6,"std.abs",[[7,"diff","x"]]],"+",[6,"std.abs",[[7,"diff","y"]]]],"+",[6,"std.abs",[[7,"diff","z"]]]]]]]],[11,[1,"metric","===",[6,"d.i32",[[5,"3"]]]],[0,[[10,[6,"std.max",[[6,"std.max",[[6,"std.abs",[[7,"diff","x"]]],[6,"std.abs",[[7,"diff","y"]]]]],[6,"std.abs",[[7,"diff","z"]]]]]]]]],[10,[6,"std.dot",["diff","diff"]]]]]},externals:{mxCellNoiseVec3_3d:()=>xg,"d.vec3f":()=>f,"d.f32":()=>a,"std.add":()=>Pn,"std.mul":()=>vr,"std.sub":()=>ht,"d.i32":()=>Z,"std.abs":()=>z,"std.max":()=>b,"std.dot":()=>se}})&&e.f)({})),wg=v.fn([l,a,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Z(q(t.x)),n=Z(q(t.y)),i=l(__tsover_sub(t.x,a(o)),__tsover_sub(t.y,a(n))),d=a(1e6);for(let c=-1;c<=1;c++)for(let _=-1;_<=1;_++){let u=gg(i,c,_,o,n,s,r);d=oe(d,u)}return r===Z(0)&&(d=be(d)),d}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"jitter"},{type:"i",name:"metric"}],body:[0,[[13,"X",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"Y",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"localpos",[6,"d.vec2f",[[1,[7,"p","x"],"-",[6,"d.f32",["X"]]],[1,[7,"p","y"],"-",[6,"d.f32",["Y"]]]]]],[12,"sqdist",[6,"d.f32",[[5,"1000000"]]]],[14,[12,"x",[4,"-",[5,"1"]]],[1,"x","<=",[5,"1"]],[102,"++","x"],[0,[[14,[12,"y",[4,"-",[5,"1"]]],[1,"y","<=",[5,"1"]],[102,"++","y"],[0,[[13,"dist",[6,"mxWorleyDistance2d",["localpos","x","y","X","Y","jitter","metric"]]],[2,"sqdist","=",[6,"std.min",["sqdist","dist"]]]]]]]]],[11,[1,"metric","===",[6,"d.i32",[[5,"0"]]]],[0,[[2,"sqdist","=",[6,"std.sqrt",["sqdist"]]]]]],[10,"sqdist"]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.vec2f":()=>l,"d.f32":()=>a,mxWorleyDistance2d:()=>gg,"std.min":()=>oe,"std.sqrt":()=>be}})&&e.f)({})),Tg=v.fn([f,a,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Z(q(t.x)),n=Z(q(t.y)),i=Z(q(t.z)),d=f(__tsover_sub(t.x,a(o)),__tsover_sub(t.y,a(n)),__tsover_sub(t.z,a(i))),c=a(1e6);for(let _=-1;_<=1;_++)for(let u=-1;u<=1;u++)for(let m=-1;m<=1;m++){let p=bg(d,_,u,m,o,n,i,s,r);c=oe(c,p)}return r===Z(0)&&(c=be(c)),c}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"jitter"},{type:"i",name:"metric"}],body:[0,[[13,"X",[6,"d.i32",[[6,"std.floor",[[7,"p","x"]]]]]],[13,"Y",[6,"d.i32",[[6,"std.floor",[[7,"p","y"]]]]]],[13,"Z",[6,"d.i32",[[6,"std.floor",[[7,"p","z"]]]]]],[13,"localpos",[6,"d.vec3f",[[1,[7,"p","x"],"-",[6,"d.f32",["X"]]],[1,[7,"p","y"],"-",[6,"d.f32",["Y"]]],[1,[7,"p","z"],"-",[6,"d.f32",["Z"]]]]]],[12,"sqdist",[6,"d.f32",[[5,"1000000"]]]],[14,[12,"x",[4,"-",[5,"1"]]],[1,"x","<=",[5,"1"]],[102,"++","x"],[0,[[14,[12,"y",[4,"-",[5,"1"]]],[1,"y","<=",[5,"1"]],[102,"++","y"],[0,[[14,[12,"z",[4,"-",[5,"1"]]],[1,"z","<=",[5,"1"]],[102,"++","z"],[0,[[13,"dist",[6,"mxWorleyDistance3d",["localpos","x","y","z","X","Y","Z","jitter","metric"]]],[2,"sqdist","=",[6,"std.min",["sqdist","dist"]]]]]]]]]]]],[11,[1,"metric","===",[6,"d.i32",[[5,"0"]]]],[0,[[2,"sqdist","=",[6,"std.sqrt",["sqdist"]]]]]],[10,"sqdist"]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,"d.vec3f":()=>f,"d.f32":()=>a,mxWorleyDistance3d:()=>bg,"std.min":()=>oe,"std.sqrt":()=>be}})&&e.f)({})),Ei=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return vg(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"mxPerlinNoiseFloat2",["p"]]]]]},externals:{mxPerlinNoiseFloat2:()=>vg}})&&e.f)({})),go=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return yg(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"mxPerlinNoiseFloat3",["p"]]]]]},externals:{mxPerlinNoiseFloat3:()=>yg}})&&e.f)({})),jC=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return wg(t,s,Z(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"jitter"}],body:[0,[[10,[6,"mxWorleyNoiseFloat2",["p","jitter",[6,"d.i32",[[5,"1"]]]]]]]]},externals:{mxWorleyNoiseFloat2:()=>wg,"d.i32":()=>Z}})&&e.f)({}));v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return Tg(t,s,Z(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"jitter"}],body:[0,[[10,[6,"mxWorleyNoiseFloat3",["p","jitter",[6,"d.i32",[[5,"1"]]]]]]]]},externals:{mxWorleyNoiseFloat3:()=>Tg,"d.i32":()=>Z}})&&e.f)({}));var Sg=v.fn([a],R)("(x: f32) -> u32 { return bitcast(x); }"),ji=v.fn([l],Ge)("(v: vec2f) -> vec2u { return bitcast(v); }"),Yl=v.fn([f],Oa)("(v: vec3f) -> vec3u { return bitcast(v); }"),Po=a(4294967295),Gs=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Sg(__tsover_mul(t,3141592653));return __tsover_div(a(__tsover_mul(__tsover_mul(s,s),R(3141592653))),Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint1",[[1,"p","*",[5,"3141592653"]]]]],[10,[1,[6,"d.f32",[[1,[1,"u","*","u"],"*",[6,"d.u32",[[5,"3141592653"]]]]]],"/","U32"]]]]},externals:{floatBitsToUint1:()=>Sg,"d.f32":()=>a,"d.u32":()=>R,U32:()=>Po}})&&e.f)({})),Ot=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ji(t.mul(l(141421356,2718281828)));return __tsover_div(a(__tsover_mul(s.x^s.y,R(3141592653))),Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint2",[[6,[7,"p","mul"],[[6,"d.vec2f",[[5,"141421356"],[5,"2718281828"]]]]]]]],[10,[1,[6,"d.f32",[[1,[1,[7,"u","x"],"^",[7,"u","y"]],"*",[6,"d.u32",[[5,"3141592653"]]]]]],"/","U32"]]]]},externals:{floatBitsToUint2:()=>ji,"d.vec2f":()=>l,"d.f32":()=>a,"d.u32":()=>R,U32:()=>Po}})&&e.f)({})),er=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ji(t.mul(l(141421356,2718281828))),r=s.x^s.y,o=vr(Ge(r,r),Ge(3141592653,1618033988));return l(a(o.x),a(o.y)).div(Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint2",[[6,[7,"p","mul"],[[6,"d.vec2f",[[5,"141421356"],[5,"2718281828"]]]]]]]],[13,"h",[1,[7,"u","x"],"^",[7,"u","y"]]],[13,"prod",[6,"std.mul",[[6,"d.vec2u",["h","h"]],[6,"d.vec2u",[[5,"3141592653"],[5,"1618033988"]]]]]],[10,[6,[7,[6,"d.vec2f",[[6,"d.f32",[[7,"prod","x"]]],[6,"d.f32",[[7,"prod","y"]]]]],"div"],["U32"]]]]]},externals:{floatBitsToUint2:()=>ji,"d.vec2f":()=>l,"std.mul":()=>vr,"d.vec2u":()=>Ge,"d.f32":()=>a,U32:()=>Po}})&&e.f)({})),u8=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ji(t.mul(l(141421356,2718281828))),r=s.x^s.y,o=vr(Oa(r,r,r),Oa(1732050807,2645751311,3316624790));return f(a(o.x),a(o.y),a(o.z)).div(Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint2",[[6,[7,"p","mul"],[[6,"d.vec2f",[[5,"141421356"],[5,"2718281828"]]]]]]]],[13,"h",[1,[7,"u","x"],"^",[7,"u","y"]]],[13,"prod",[6,"std.mul",[[6,"d.vec3u",["h","h","h"]],[6,"d.vec3u",[[5,"1732050807"],[5,"2645751311"],[5,"3316624790"]]]]]],[10,[6,[7,[6,"d.vec3f",[[6,"d.f32",[[7,"prod","x"]]],[6,"d.f32",[[7,"prod","y"]]],[6,"d.f32",[[7,"prod","z"]]]]],"div"],["U32"]]]]]},externals:{floatBitsToUint2:()=>ji,"d.vec2f":()=>l,"std.mul":()=>vr,"d.vec3u":()=>Oa,"d.vec3f":()=>f,"d.f32":()=>a,U32:()=>Po}})&&e.f)({})),m8=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Yl(t.mul(f(141421356,2718281828,1618033988)));return __tsover_div(a(__tsover_mul(s.x^s.y^s.z,R(3141592653))),Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint3",[[6,[7,"p","mul"],[[6,"d.vec3f",[[5,"141421356"],[5,"2718281828"],[5,"1618033988"]]]]]]]],[10,[1,[6,"d.f32",[[1,[1,[1,[7,"u","x"],"^",[7,"u","y"]],"^",[7,"u","z"]],"*",[6,"d.u32",[[5,"3141592653"]]]]]],"/","U32"]]]]},externals:{floatBitsToUint3:()=>Yl,"d.vec3f":()=>f,"d.f32":()=>a,"d.u32":()=>R,U32:()=>Po}})&&e.f)({})),Ag=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Yl(t.mul(f(141421356,2718281828,1618033988))),r=s.x^s.y^s.z,o=vr(Oa(r,r,r),Oa(1732050807,2645751311,3316624790));return f(a(o.x),a(o.y),a(o.z)).div(Po)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"u",[6,"floatBitsToUint3",[[6,[7,"p","mul"],[[6,"d.vec3f",[[5,"141421356"],[5,"2718281828"],[5,"1618033988"]]]]]]]],[13,"h",[1,[1,[7,"u","x"],"^",[7,"u","y"]],"^",[7,"u","z"]]],[13,"prod",[6,"std.mul",[[6,"d.vec3u",["h","h","h"]],[6,"d.vec3u",[[5,"1732050807"],[5,"2645751311"],[5,"3316624790"]]]]]],[10,[6,[7,[6,"d.vec3f",[[6,"d.f32",[[7,"prod","x"]]],[6,"d.f32",[[7,"prod","y"]]],[6,"d.f32",[[7,"prod","z"]]]]],"div"],["U32"]]]]]},externals:{floatBitsToUint3:()=>Yl,"d.vec3f":()=>f,"std.mul":()=>vr,"d.vec3u":()=>Oa,"d.f32":()=>a,U32:()=>Po}})&&e.f)({})),Br=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=t.sub(s),o=r.mul(r).mul(ht(3,r.mul(2)));return X(X(Ot(s),Ot(s.add(l(1,0))),o.x),X(Ot(s.add(l(0,1))),Ot(s.add(l(1,1))),o.x),o.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f0",[6,[7,"p","sub"],["i"]]],[13,"f",[6,[7,[6,[7,"f0","mul"],["f0"]],"mul"],[[6,"std.sub",[[5,"3"],[6,[7,"f0","mul"],[[5,"2"]]]]]]]],[10,[6,"std.mix",[[6,"std.mix",[[6,"hash12",["i"]],[6,"hash12",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"0"]]]]]]],[7,"f","x"]]],[6,"std.mix",[[6,"hash12",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]]],[6,"hash12",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]],[7,"f","x"]]],[7,"f","y"]]]]]]},externals:{"std.floor":()=>q,"std.sub":()=>ht,"std.mix":()=>X,hash12:()=>Ot,"d.vec2f":()=>l}})&&e.f)({})),Dd=v.fn([l,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(r,o);return se(as(er(t.add(n)).sub(.5)),s.sub(n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"i"},{type:"i",name:"f"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[13,"o",[6,"d.vec2f",["ox","oy"]]],[10,[6,"std.dot",[[6,"std.normalize",[[6,[7,[6,"hash22",[[6,[7,"i","add"],["o"]]]],"sub"],[[5,"0.5"]]]]],[6,[7,"f","sub"],["o"]]]]]]]},externals:{"d.vec2f":()=>l,"std.dot":()=>se,"std.normalize":()=>as,hash22:()=>er}})&&e.f)({})),za=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=t.sub(s),o=r.mul(r).mul(r).mul(r.mul(r.mul(6).sub(15)).add(10)),n=Dd(s,r,0,0),i=Dd(s,r,1,0),d=Dd(s,r,0,1),c=Dd(s,r,1,1);return __tsover_add(__tsover_mul(X(X(n,i,o.x),X(d,c,o.x),o.y),.7),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,[7,"p","sub"],["i"]]],[13,"u",[6,[7,[6,[7,[6,[7,"f","mul"],["f"]],"mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[6,[7,[6,[7,"f","mul"],[[5,"6"]]],"sub"],[[5,"15"]]]]],"add"],[[5,"10"]]]]]],[13,"a",[6,"perlinGrad2",["i","f",[5,"0"],[5,"0"]]]],[13,"b",[6,"perlinGrad2",["i","f",[5,"1"],[5,"0"]]]],[13,"c",[6,"perlinGrad2",["i","f",[5,"0"],[5,"1"]]]],[13,"dd",[6,"perlinGrad2",["i","f",[5,"1"],[5,"1"]]]],[10,[1,[1,[6,"std.mix",[[6,"std.mix",["a","b",[7,"u","x"]]],[6,"std.mix",["c","dd",[7,"u","x"]]],[7,"u","y"]]],"*",[5,"0.7"]],"+",[5,"0.5"]]]]]},externals:{"std.floor":()=>q,perlinGrad2:()=>Dd,"std.mix":()=>X}})&&e.f)({})),la=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=ue(t),o=r.mul(r).mul(r).mul(r.mul(r.mul(6).sub(15)).add(10)),n=r.mul(r).mul(r.mul(r.sub(2)).add(1)).mul(30),i=er(s.add(l(0,0))).mul(2).sub(1),d=er(s.add(l(1,0))).mul(2).sub(1),c=er(s.add(l(0,1))).mul(2).sub(1),_=er(s.add(l(1,1))).mul(2).sub(1),u=se(i,r.sub(l(0,0))),m=se(d,r.sub(l(1,0))),p=se(c,r.sub(l(0,1))),y=se(_,r.sub(l(1,1))),h=__tsover_add(__tsover_sub(__tsover_sub(u,m),p),y),g=__tsover_add(__tsover_add(__tsover_add(u,__tsover_mul(o.x,__tsover_sub(m,u))),__tsover_mul(o.y,__tsover_sub(p,u))),__tsover_mul(__tsover_mul(o.x,o.y),h)),w=i.add(d.sub(i).mul(o.x)).add(c.sub(i).mul(o.y)).add(i.sub(d).sub(c).add(_).mul(__tsover_mul(o.x,o.y))).add(n.mul(l(o.y,o.x).mul(h).add(l(m,p)).sub(u)));return f(g,w.x,w.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,"std.fract",["p"]]],[13,"u",[6,[7,[6,[7,[6,[7,"f","mul"],["f"]],"mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[6,[7,[6,[7,"f","mul"],[[5,"6"]]],"sub"],[[5,"15"]]]]],"add"],[[5,"10"]]]]]],[13,"du",[6,[7,[6,[7,[6,[7,"f","mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[6,[7,"f","sub"],[[5,"2"]]]]],"add"],[[5,"1"]]]]],"mul"],[[5,"30"]]]],[13,"ga",[6,[7,[6,[7,[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"0"],[5,"0"]]]]]]],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[13,"gb",[6,[7,[6,[7,[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"0"]]]]]]],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[13,"gc",[6,[7,[6,[7,[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]]],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[13,"gd",[6,[7,[6,[7,[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[13,"va",[6,"std.dot",["ga",[6,[7,"f","sub"],[[6,"d.vec2f",[[5,"0"],[5,"0"]]]]]]]],[13,"vb",[6,"std.dot",["gb",[6,[7,"f","sub"],[[6,"d.vec2f",[[5,"1"],[5,"0"]]]]]]]],[13,"vc",[6,"std.dot",["gc",[6,[7,"f","sub"],[[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]]]],[13,"vd",[6,"std.dot",["gd",[6,[7,"f","sub"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]]],[13,"k",[1,[1,[1,"va","-","vb"],"-","vc"],"+","vd"]],[13,"value",[1,[1,[1,"va","+",[1,[7,"u","x"],"*",[1,"vb","-","va"]]],"+",[1,[7,"u","y"],"*",[1,"vc","-","va"]]],"+",[1,[1,[7,"u","x"],"*",[7,"u","y"]],"*","k"]]],[13,"deriv",[6,[7,[6,[7,[6,[7,[6,[7,"ga","add"],[[6,[7,[6,[7,"gb","sub"],["ga"]],"mul"],[[7,"u","x"]]]]],"add"],[[6,[7,[6,[7,"gc","sub"],["ga"]],"mul"],[[7,"u","y"]]]]],"add"],[[6,[7,[6,[7,[6,[7,[6,[7,"ga","sub"],["gb"]],"sub"],["gc"]],"add"],["gd"]],"mul"],[[1,[7,"u","x"],"*",[7,"u","y"]]]]]],"add"],[[6,[7,"du","mul"],[[6,[7,[6,[7,[6,[7,[6,"d.vec2f",[[7,"u","y"],[7,"u","x"]]],"mul"],["k"]],"add"],[[6,"d.vec2f",["vb","vc"]]]],"sub"],["va"]]]]]]],[10,[6,"d.vec3f",["value",[7,"deriv","x"],[7,"deriv","y"]]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,hash22:()=>er,"d.vec2f":()=>l,"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),Fd=v.fn([x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.mul(t.mul(34).add(1));return s.sub(q(s.div(289)).mul(289))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"}],body:[0,[[13,"xx",[6,[7,"x","mul"],[[6,[7,[6,[7,"x","mul"],[[5,"34"]]],"add"],[[5,"1"]]]]]],[10,[6,[7,"xx","sub"],[[6,[7,[6,"std.floor",[[6,[7,"xx","div"],[[5,"289"]]]]],"mul"],[[5,"289"]]]]]]]]},externals:{"std.floor":()=>q}})&&e.f)({})),p8=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=t.sub(s),o=r.mul(r).mul(ht(3,r.mul(2))),n=x(s.x,s.x,s.y,s.y).add(x(0,1,0,1)),i=Fd(x(n.x,n.y,n.x,n.y)),d=Fd(x(i.x,i.y,i.x,i.y).add(x(n.z,n.z,n.w,n.w))).add(x(s.z,s.z,s.z,s.z)),c=Fd(d),_=Fd(d.add(1)),u=X(ue(c.mul(.02439024)),ue(_.mul(.02439024)),x(o.z)),m=X(l(u.x,u.z),l(u.y,u.w),l(o.x));return X(m.x,m.y,o.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"a",[6,"std.floor",["p"]]],[13,"d0",[6,[7,"p","sub"],["a"]]],[13,"sd",[6,[7,[6,[7,"d0","mul"],["d0"]],"mul"],[[6,"std.sub",[[5,"3"],[6,[7,"d0","mul"],[[5,"2"]]]]]]]],[13,"b",[6,[7,[6,"d.vec4f",[[7,"a","x"],[7,"a","x"],[7,"a","y"],[7,"a","y"]]],"add"],[[6,"d.vec4f",[[5,"0"],[5,"1"],[5,"0"],[5,"1"]]]]]],[13,"k1",[6,"perm4",[[6,"d.vec4f",[[7,"b","x"],[7,"b","y"],[7,"b","x"],[7,"b","y"]]]]]],[13,"k2",[6,[7,[6,"perm4",[[6,[7,[6,"d.vec4f",[[7,"k1","x"],[7,"k1","y"],[7,"k1","x"],[7,"k1","y"]]],"add"],[[6,"d.vec4f",[[7,"b","z"],[7,"b","z"],[7,"b","w"],[7,"b","w"]]]]]]],"add"],[[6,"d.vec4f",[[7,"a","z"],[7,"a","z"],[7,"a","z"],[7,"a","z"]]]]]],[13,"k3",[6,"perm4",["k2"]]],[13,"k4",[6,"perm4",[[6,[7,"k2","add"],[[5,"1"]]]]]],[13,"o1",[6,"std.fract",[[6,[7,"k3","mul"],[[5,"0.02439024"]]]]]],[13,"o2",[6,"std.fract",[[6,[7,"k4","mul"],[[5,"0.02439024"]]]]]],[13,"o3",[6,"std.mix",["o1","o2",[6,"d.vec4f",[[7,"sd","z"]]]]]],[13,"o4",[6,"std.mix",[[6,"d.vec2f",[[7,"o3","x"],[7,"o3","z"]]],[6,"d.vec2f",[[7,"o3","y"],[7,"o3","w"]]],[6,"d.vec2f",[[7,"sd","x"]]]]]],[10,[6,"std.mix",[[7,"o4","x"],[7,"o4","y"],[7,"sd","y"]]]]]]},externals:{"std.floor":()=>q,"std.sub":()=>ht,"d.vec4f":()=>x,perm4:()=>Fd,"std.fract":()=>ue,"std.mix":()=>X,"d.vec2f":()=>l}})&&e.f)({})),hn=v.fn([f,f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=f(r,o,n);return se(s.sub(i),as(Ag(t.add(i)).sub(.5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"i"},{type:"i",name:"f"},{type:"i",name:"ox"},{type:"i",name:"oy"},{type:"i",name:"oz"}],body:[0,[[13,"o",[6,"d.vec3f",["ox","oy","oz"]]],[10,[6,"std.dot",[[6,[7,"f","sub"],["o"]],[6,"std.normalize",[[6,[7,[6,"hash33",[[6,[7,"i","add"],["o"]]]],"sub"],[[5,"0.5"]]]]]]]]]]},externals:{"d.vec3f":()=>f,"std.dot":()=>se,"std.normalize":()=>as,hash33:()=>Ag}})&&e.f)({})),Bd=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=t.sub(s),o=r.mul(r).mul(r).mul(r.mul(r.mul(6).sub(15)).add(10)),n=hn(s,r,0,0,0),i=hn(s,r,1,0,0),d=hn(s,r,0,1,0),c=hn(s,r,1,1,0),_=hn(s,r,0,0,1),u=hn(s,r,1,0,1),m=hn(s,r,0,1,1),p=hn(s,r,1,1,1),y=X(X(n,i,o.x),X(d,c,o.x),o.y),h=X(X(_,u,o.x),X(m,p,o.x),o.y);return __tsover_add(__tsover_mul(X(y,h,o.z),.7),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,[7,"p","sub"],["i"]]],[13,"u",[6,[7,[6,[7,[6,[7,"f","mul"],["f"]],"mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[6,[7,[6,[7,"f","mul"],[[5,"6"]]],"sub"],[[5,"15"]]]]],"add"],[[5,"10"]]]]]],[13,"a0",[6,"perlinGrad3",["i","f",[5,"0"],[5,"0"],[5,"0"]]]],[13,"b0",[6,"perlinGrad3",["i","f",[5,"1"],[5,"0"],[5,"0"]]]],[13,"c0",[6,"perlinGrad3",["i","f",[5,"0"],[5,"1"],[5,"0"]]]],[13,"d0",[6,"perlinGrad3",["i","f",[5,"1"],[5,"1"],[5,"0"]]]],[13,"a1",[6,"perlinGrad3",["i","f",[5,"0"],[5,"0"],[5,"1"]]]],[13,"b1",[6,"perlinGrad3",["i","f",[5,"1"],[5,"0"],[5,"1"]]]],[13,"c1",[6,"perlinGrad3",["i","f",[5,"0"],[5,"1"],[5,"1"]]]],[13,"d1",[6,"perlinGrad3",["i","f",[5,"1"],[5,"1"],[5,"1"]]]],[13,"z0",[6,"std.mix",[[6,"std.mix",["a0","b0",[7,"u","x"]]],[6,"std.mix",["c0","d0",[7,"u","x"]]],[7,"u","y"]]]],[13,"z1",[6,"std.mix",[[6,"std.mix",["a1","b1",[7,"u","x"]]],[6,"std.mix",["c1","d1",[7,"u","x"]]],[7,"u","y"]]]],[10,[1,[1,[6,"std.mix",["z0","z1",[7,"u","z"]]],"*",[5,"0.7"]],"+",[5,"0.5"]]]]]},externals:{"std.floor":()=>q,perlinGrad3:()=>hn,"std.mix":()=>X}})&&e.f)({})),Wd=v.fn([l,l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return Y(__tsover_add(__tsover_mul(r,se(t,er(s.add(l(n,i))))),o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"i"},{type:"i",name:"freq"},{type:"i",name:"phase"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[10,[6,"std.sin",[[1,[1,"freq","*",[6,"std.dot",["p",[6,"hash22",[[6,[7,"i","add"],[[6,"d.vec2f",["ox","oy"]]]]]]]]],"+","phase"]]]]]]},externals:{"std.sin":()=>Y,"std.dot":()=>se,hash22:()=>er,"d.vec2f":()=>l}})&&e.f)({})),f8=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=q(t),n=t.sub(o),i=n.mul(n).mul(ht(3,n.mul(2)));return X(X(Wd(t,o,s,r,0,0),Wd(t,o,s,r,1,0),i.x),X(Wd(t,o,s,r,0,1),Wd(t,o,s,r,1,1),i.x),i.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"freq"},{type:"i",name:"phase"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f0",[6,[7,"p","sub"],["i"]]],[13,"f",[6,[7,[6,[7,"f0","mul"],["f0"]],"mul"],[[6,"std.sub",[[5,"3"],[6,[7,"f0","mul"],[[5,"2"]]]]]]]],[10,[6,"std.mix",[[6,"std.mix",[[6,"gaborGrain",["p","i","freq","phase",[5,"0"],[5,"0"]]],[6,"gaborGrain",["p","i","freq","phase",[5,"1"],[5,"0"]]],[7,"f","x"]]],[6,"std.mix",[[6,"gaborGrain",["p","i","freq","phase",[5,"0"],[5,"1"]]],[6,"gaborGrain",["p","i","freq","phase",[5,"1"],[5,"1"]]],[7,"f","x"]]],[7,"f","y"]]]]]]},externals:{"std.floor":()=>q,"std.sub":()=>ht,"std.mix":()=>X,gaborGrain:()=>Wd}})&&e.f)({})),Ki=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=l(za(t.add(l(.1,0))),za(t.add(l(0,.1)))),r=l(za(t.sub(l(.1,0))),za(t.sub(l(0,.1))));return s.sub(r).div(.1).mul(.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"a",[6,"d.vec2f",[[6,"perlin12",[[6,[7,"p","add"],[[6,"d.vec2f",[[5,"0.1"],[5,"0"]]]]]]],[6,"perlin12",[[6,[7,"p","add"],[[6,"d.vec2f",[[5,"0"],[5,"0.1"]]]]]]]]]],[13,"b",[6,"d.vec2f",[[6,"perlin12",[[6,[7,"p","sub"],[[6,"d.vec2f",[[5,"0.1"],[5,"0"]]]]]]],[6,"perlin12",[[6,[7,"p","sub"],[[6,"d.vec2f",[[5,"0"],[5,"0.1"]]]]]]]]]],[10,[6,[7,[6,[7,[6,[7,"a","sub"],["b"]],"div"],[[5,"0.1"]]],"mul"],[[5,"0.5"]]]]]]},externals:{"d.vec2f":()=>l,perlin12:()=>za}})&&e.f)({})),Mg=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.add(l(.1,0)),o=t.add(l(0,.1)),n=t.sub(l(.1,0)),i=t.sub(l(0,.1)),d=l(Bd(f(r.x,r.y,s)),Bd(f(o.x,o.y,s))),c=l(Bd(f(n.x,n.y,s)),Bd(f(i.x,i.y,s)));return d.sub(c).div(.1).mul(.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"z"}],body:[0,[[13,"pax",[6,[7,"p","add"],[[6,"d.vec2f",[[5,"0.1"],[5,"0"]]]]]],[13,"pay",[6,[7,"p","add"],[[6,"d.vec2f",[[5,"0"],[5,"0.1"]]]]]],[13,"pbx",[6,[7,"p","sub"],[[6,"d.vec2f",[[5,"0.1"],[5,"0"]]]]]],[13,"pby",[6,[7,"p","sub"],[[6,"d.vec2f",[[5,"0"],[5,"0.1"]]]]]],[13,"a",[6,"d.vec2f",[[6,"perlin13",[[6,"d.vec3f",[[7,"pax","x"],[7,"pax","y"],"z"]]]],[6,"perlin13",[[6,"d.vec3f",[[7,"pay","x"],[7,"pay","y"],"z"]]]]]]],[13,"b",[6,"d.vec2f",[[6,"perlin13",[[6,"d.vec3f",[[7,"pbx","x"],[7,"pbx","y"],"z"]]]],[6,"perlin13",[[6,"d.vec3f",[[7,"pby","x"],[7,"pby","y"],"z"]]]]]]],[10,[6,[7,[6,[7,[6,[7,"a","sub"],["b"]],"div"],[[5,"0.1"]]],"mul"],[[5,"0.5"]]]]]]},externals:{"d.vec2f":()=>l,perlin13:()=>Bd,"d.vec3f":()=>f}})&&e.f)({})),v8=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=a(0),n=a(1),i=a(0),d=l(t.x,t.y);for(let c=0;c<4;c++){let _=d.mul(n),u=ue(q(_).mul(l(123.34,233.53)));u=u.add(se(u,u.add(23.234)));let m=__tsover_mul(ue(__tsover_mul(u.x,u.y)),1e3),p=ue(_).sub(.5),y=H(m),h=Y(m),g=l(__tsover_sub(__tsover_mul(p.x,y),__tsover_mul(p.y,h)),__tsover_add(__tsover_mul(p.x,h),__tsover_mul(p.y,y)));o=__tsover_add(o,__tsover_div(__tsover_mul(Y(__tsover_add(__tsover_mul(g.x,10),s)),re(.25,0,se(g,g))),n)),d=l(__tsover_sub(__tsover_mul(d.x,.54),__tsover_mul(d.y,.84)),__tsover_add(__tsover_mul(d.x,.84),__tsover_mul(d.y,.54))).add(a(c)),i=__tsover_add(i,__tsover_div(1,n)),n=__tsover_mul(n,r)}return __tsover_div(o,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"phase"},{type:"i",name:"scale"}],body:[0,[[12,"dsum",[6,"d.f32",[[5,"0"]]]],[12,"s",[6,"d.f32",[[5,"1"]]]],[12,"m",[6,"d.f32",[[5,"0"]]]],[12,"pp",[6,"d.vec2f",[[7,"p","x"],[7,"p","y"]]]],[14,[12,"idx",[5,"0"]],[1,"idx","<",[5,"4"]],[102,"++","idx"],[0,[[13,"q0",[6,[7,"pp","mul"],["s"]]],[12,"g",[6,"std.fract",[[6,[7,[6,"std.floor",["q0"]],"mul"],[[6,"d.vec2f",[[5,"123.34"],[5,"233.53"]]]]]]]],[2,"g","=",[6,[7,"g","add"],[[6,"std.dot",["g",[6,[7,"g","add"],[[5,"23.234"]]]]]]]],[13,"a",[1,[6,"std.fract",[[1,[7,"g","x"],"*",[7,"g","y"]]]],"*",[5,"1000"]]],[13,"qc",[6,[7,[6,"std.fract",["q0"]],"sub"],[[5,"0.5"]]]],[13,"ca",[6,"std.cos",["a"]]],[13,"sa",[6,"std.sin",["a"]]],[13,"q",[6,"d.vec2f",[[1,[1,[7,"qc","x"],"*","ca"],"-",[1,[7,"qc","y"],"*","sa"]],[1,[1,[7,"qc","x"],"*","sa"],"+",[1,[7,"qc","y"],"*","ca"]]]]],[2,"dsum","=",[1,"dsum","+",[1,[1,[6,"std.sin",[[1,[1,[7,"q","x"],"*",[5,"10"]],"+","phase"]]],"*",[6,"std.smoothstep",[[5,"0.25"],[5,"0"],[6,"std.dot",["q","q"]]]]],"/","s"]]],[2,"pp","=",[6,[7,[6,"d.vec2f",[[1,[1,[7,"pp","x"],"*",[5,"0.54"]],"-",[1,[7,"pp","y"],"*",[5,"0.84"]]],[1,[1,[7,"pp","x"],"*",[5,"0.84"]],"+",[1,[7,"pp","y"],"*",[5,"0.54"]]]]],"add"],[[6,"d.f32",["idx"]]]]],[2,"m","=",[1,"m","+",[1,[5,"1"],"/","s"]]],[2,"s","=",[1,"s","*","scale"]]]]],[10,[1,"dsum","/","m"]]]]},externals:{"d.f32":()=>a,"d.vec2f":()=>l,"std.fract":()=>ue,"std.floor":()=>q,"std.dot":()=>se,"std.cos":()=>H,"std.sin":()=>Y,"std.smoothstep":()=>re}})&&e.f)({})),y8=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=a(0);for(let r=0;r<9;r++){let o=a(r),n=q(__tsover_div(o,3)),i=__tsover_sub(o,__tsover_mul(n,3));s=__tsover_add(s,Ot(t.add(l(__tsover_sub(i,1),__tsover_sub(n,1)))))}return __tsover_add(__tsover_mul(.9,__tsover_sub(__tsover_mul(1.125,Ot(t)),__tsover_div(s,8))),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"v",[6,"d.f32",[[5,"0"]]]],[14,[12,"k",[5,"0"]],[1,"k","<",[5,"9"]],[102,"++","k"],[0,[[13,"fk",[6,"d.f32",["k"]]],[13,"row",[6,"std.floor",[[1,"fk","/",[5,"3"]]]]],[13,"col",[1,"fk","-",[1,"row","*",[5,"3"]]]],[2,"v","=",[1,"v","+",[6,"hash12",[[6,[7,"p","add"],[[6,"d.vec2f",[[1,"col","-",[5,"1"]],[1,"row","-",[5,"1"]]]]]]]]]]]]],[10,[1,[1,[5,"0.9"],"*",[1,[1,[5,"1.125"],"*",[6,"hash12",["p"]]],"-",[1,"v","/",[5,"8"]]]],"+",[5,"0.5"]]]]]},externals:{"d.f32":()=>a,"std.floor":()=>q,hash12:()=>Ot,"d.vec2f":()=>l}})&&e.f)({})),Pg=v.fn([El],Z)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Z(0),r=t.x,o=t.y;for(let n=256;n>0;n=n>>1){let i=Z(n),d=C(Z(0),Z(1),(r&i)>0),c=C(Z(0),Z(1),(o&i)>0),_=d<<1|d^c;s=__tsover_add(s,__tsover_mul(__tsover_mul(i,i),_));let u=__tsover_sub(Z(1),c),m=__tsover_mul(r^o,u)^__tsover_mul(Z(__tsover_sub(n,1)),d&u);r=r^m,o=o^m}return s}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"i",[6,"d.i32",[[5,"0"]]]],[12,"px",[7,"p","x"]],[12,"py",[7,"p","y"]],[14,[12,"s",[5,"256"]],[1,"s",">",[5,"0"]],[2,"s","=",[1,"s",">>",[5,"1"]]],[0,[[13,"S",[6,"d.i32",["s"]]],[13,"rx",[6,"std.select",[[6,"d.i32",[[5,"0"]]],[6,"d.i32",[[5,"1"]]],[1,[1,"px","&","S"],">",[5,"0"]]]]],[13,"ry",[6,"std.select",[[6,"d.i32",[[5,"0"]]],[6,"d.i32",[[5,"1"]]],[1,[1,"py","&","S"],">",[5,"0"]]]]],[13,"dq",[1,[1,"rx","<<",[5,"1"]],"|",[1,"rx","^","ry"]]],[2,"i","=",[1,"i","+",[1,[1,"S","*","S"],"*","dq"]]],[13,"oneMinusRy",[1,[6,"d.i32",[[5,"1"]]],"-","ry"]],[13,"rhs",[1,[1,[1,"px","^","py"],"*","oneMinusRy"],"^",[1,[6,"d.i32",[[1,"s","-",[5,"1"]]]],"*",[1,"rx","&","oneMinusRy"]]]],[2,"px","=",[1,"px","^","rhs"]],[2,"py","=",[1,"py","^","rhs"]]]]],[10,"i"]]]},externals:{"d.i32":()=>Z,"std.select":()=>C}})&&e.f)({}));v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Pg(El(Z(t.x),Z(t.y)))&Z(262143);return ue(__tsover_mul(.6180339887498949,a(s)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"idx",[1,[6,"hilbertEncode512",[[6,"d.vec2i",[[6,"d.i32",[[7,"p","x"]]],[6,"d.i32",[[7,"p","y"]]]]]]],"&",[6,"d.i32",[[5,"262143"]]]]],[10,[6,"std.fract",[[1,[5,"0.6180339887498949"],"*",[6,"d.f32",["idx"]]]]]]]]},externals:{hilbertEncode512:()=>Pg,"d.vec2i":()=>El,"d.i32":()=>Z,"std.fract":()=>ue,"d.f32":()=>a}})&&e.f)({}));var Eg=v.fn([l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=q(t),i=t.sub(n),d=q(__tsover_mul(Y(__tsover_mul(n.x,51024)),3104)),c=q(__tsover_mul(Y(__tsover_mul(n.y,1324)),554)),_=__tsover_add(d,c),u=i.mul(2).sub(1);u=u.mul(H(_)).add(l(-u.y,u.x).mul(Y(_))),u=u.add(Y(__tsover_sub(d,c))),u=u.mul(.5).add(.5);let m=__tsover_mul(__tsover_add(Y(__tsover_add(d,__tsover_mul(u.y,Math.PI))),Y(__tsover_add(c,__tsover_mul(u.y,Math.PI)))),.2),p=z(__tsover_add(__tsover_sub(u.x,.5),m));p=__tsover_sub(.5,__tsover_mul(p,__tsover_div(s,o))),p=__tsover_mul(re(-2,__tsover_add(__tsover_mul(Zt(p),1.5),16),p),12);let y=__tsover_add(__tsover_mul(Y(__tsover_add(r,__tsover_mul(Ot(n),6.2831853))),.5),.5);return __tsover_mul(__tsover_mul(p,u.y),y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"f"},{type:"i",name:"time"},{type:"i",name:"thickness"}],body:[0,[[13,"seed0",[6,"std.floor",["uv"]]],[13,"lo",[6,[7,"uv","sub"],["seed0"]]],[13,"sx",[6,"std.floor",[[1,[6,"std.sin",[[1,[7,"seed0","x"],"*",[5,"51024"]]]],"*",[5,"3104"]]]]],[13,"sy",[6,"std.floor",[[1,[6,"std.sin",[[1,[7,"seed0","y"],"*",[5,"1324"]]]],"*",[5,"554"]]]]],[13,"ss",[1,"sx","+","sy"]],[12,"u2",[6,[7,[6,[7,"lo","mul"],[[5,"2"]]],"sub"],[[5,"1"]]]],[2,"u2","=",[6,[7,[6,[7,"u2","mul"],[[6,"std.cos",["ss"]]]],"add"],[[6,[7,[6,"d.vec2f",[[4,"-",[7,"u2","y"]],[7,"u2","x"]]],"mul"],[[6,"std.sin",["ss"]]]]]]],[2,"u2","=",[6,[7,"u2","add"],[[6,"std.sin",[[1,"sx","-","sy"]]]]]],[2,"u2","=",[6,[7,[6,[7,"u2","mul"],[[5,"0.5"]]],"add"],[[5,"0.5"]]]],[13,"WAVYNESS",[5,"0.2"]],[13,"sVal",[1,[1,[6,"std.sin",[[1,"sx","+",[1,[7,"u2","y"],"*","Math.PI"]]]],"+",[6,"std.sin",[[1,"sy","+",[1,[7,"u2","y"],"*","Math.PI"]]]]],"*","WAVYNESS"]],[12,"x",[6,"std.abs",[[1,[1,[7,"u2","x"],"-",[5,"0.5"]],"+","sVal"]]]],[2,"x","=",[1,[5,"0.5"],"-",[1,"x","*",[1,"f","/","thickness"]]]],[2,"x","=",[1,[6,"std.smoothstep",[[4,"-",[5,"2"]],[1,[1,[6,"std.fwidth",["x"]],"*",[5,"1.5"]],"+",[5,"16"]],"x"]],"*",[5,"12"]]],[13,"pulse",[1,[1,[6,"std.sin",[[1,"time","+",[1,[6,"hash12",["seed0"]],"*",[5,"6.2831853"]]]]],"*",[5,"0.5"]],"+",[5,"0.5"]]],[10,[1,[1,"x","*",[7,"u2","y"]],"*","pulse"]]]]},externals:{"std.floor":()=>q,"std.sin":()=>Y,"std.cos":()=>H,"d.vec2f":()=>l,"Math.PI":()=>Math.PI,"std.abs":()=>z,"std.smoothstep":()=>re,"std.fwidth":()=>Zt,hash12:()=>Ot}})&&e.f)({})),h8=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=a(0),n=l(t.x,t.y),i=__tsover_div(1,j(Zt(t)));for(let d=0;d<8;d++)o=b(o,Eg(n,i,s,r)),n=l(__tsover_add(n.x,__tsover_mul(n.y,.7)),__tsover_add(__tsover_mul(n.x,-.7),n.y)).sub(12.31);return o}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"time"},{type:"i",name:"thickness"}],body:[0,[[12,"scratches",[6,"d.f32",[[5,"0"]]]],[12,"p",[6,"d.vec2f",[[7,"uv","x"],[7,"uv","y"]]]],[13,"f",[1,[5,"1"],"/",[6,"std.length",[[6,"std.fwidth",["uv"]]]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"8"]],[102,"++","i"],[0,[[2,"scratches","=",[6,"std.max",["scratches",[6,"scratchOne",["p","f","time","thickness"]]]]],[2,"p","=",[6,[7,[6,"d.vec2f",[[1,[7,"p","x"],"+",[1,[7,"p","y"],"*",[5,"0.7"]]],[1,[1,[7,"p","x"],"*",[4,"-",[5,"0.7"]]],"+",[7,"p","y"]]]],"sub"],[[5,"12.31"]]]]]]],[10,"scratches"]]]},externals:{"d.f32":()=>a,"d.vec2f":()=>l,"std.length":()=>j,"std.fwidth":()=>Zt,"std.max":()=>b,scratchOne:()=>Eg}})&&e.f)({})),kg=v.fn([l,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=a(0),o=a(0),n=a(1),i=l(t.x,t.y);for(let d=0;da,"d.vec2f":()=>l,perlin12:()=>za}})&&e.f)({})),$g=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=f(0,0,0),r=a(1),o=l(t.x,t.y);for(let n=0;n<6;n++)s=s.add(la(o).mul(r)),r=__tsover_mul(r,.5),o=o.mul(2);return s}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"s",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]]],[12,"a",[6,"d.f32",[[5,"1"]]]],[12,"pp",[6,"d.vec2f",[[7,"p","x"],[7,"p","y"]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"6"]],[102,"++","i"],[0,[[2,"s","=",[6,[7,"s","add"],[[6,[7,[6,"perlin12d",["pp"]],"mul"],["a"]]]]],[2,"a","=",[1,"a","*",[5,"0.5"]]],[2,"pp","=",[6,[7,"pp","mul"],[[5,"2"]]]]]]],[10,"s"]]]},externals:{"d.vec3f":()=>f,"d.f32":()=>a,"d.vec2f":()=>l,perlin12d:()=>la}})&&e.f)({})),x8=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=$g(t);return kg(t.add(l(s.y,s.z).mul(.4)),Z(6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"fs",[6,"fbmStone",["p"]]],[10,[6,"fbmPerlin",[[6,[7,"p","add"],[[6,[7,[6,"d.vec2f",[[7,"fs","y"],[7,"fs","z"]]],"mul"],[[5,"0.4"]]]]],[6,"d.i32",[[5,"6"]]]]]]]]},externals:{fbmStone:()=>$g,fbmPerlin:()=>kg,"d.vec2f":()=>l,"d.i32":()=>Z}})&&e.f)({})),Ug=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=l(0,0),r=a(0),o=a(1),n=l(t.x,t.y);for(let i=0;i<6;i++)s=s.add(Ki(n).mul(o)),r=__tsover_add(r,o),o=__tsover_mul(o,.5),n=n.mul(2);return s.div(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"s",[6,"d.vec2f",[[5,"0"],[5,"0"]]]],[12,"m",[6,"d.f32",[[5,"0"]]]],[12,"a",[6,"d.f32",[[5,"1"]]]],[12,"pp",[6,"d.vec2f",[[7,"p","x"],[7,"p","y"]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"6"]],[102,"++","i"],[0,[[2,"s","=",[6,[7,"s","add"],[[6,[7,[6,"curl22",["pp"]],"mul"],["a"]]]]],[2,"m","=",[1,"m","+","a"]],[2,"a","=",[1,"a","*",[5,"0.5"]]],[2,"pp","=",[6,[7,"pp","mul"],[[5,"2"]]]]]]],[10,[6,[7,"s","div"],["m"]]]]]},externals:{"d.vec2f":()=>l,"d.f32":()=>a,curl22:()=>Ki}})&&e.f)({})),g8=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=Ug(t);return b(z(s.x),z(s.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"n",[6,"fbmWool",["p"]]],[10,[6,"std.max",[[6,"std.abs",[[7,"n","x"]]],[6,"std.abs",[[7,"n","y"]]]]]]]]},externals:{fbmWool:()=>Ug,"std.max":()=>b,"std.abs":()=>z}})&&e.f)({})),Cg=v.fn([l,l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=l(-s.y,s.x).mul(Math.PI),o=q(t),n=t.sub(o),i=l(0,0),d=a(0);for(let c=-1;c<=2;c++)for(let _=-1;_<=2;_++){let u=l(a(c),a(_)),m=n.sub(u).sub(er(o.add(u))).add(.5),p=se(m,m),y=b(a(0),__tsover_sub(ct(__tsover_mul(p,-2)),.01111));d=__tsover_add(d,y);let h=se(m,r);i=i.add(l(H(h),-Y(h)).mul(y))}return f(i.x,__tsover_mul(i.y,r.x),__tsover_mul(i.y,r.y)).div(d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"slope"}],body:[0,[[13,"sideDir",[6,[7,[6,"d.vec2f",[[4,"-",[7,"slope","y"]],[7,"slope","x"]]],"mul"],["Math.PI"]]],[13,"id",[6,"std.floor",["p"]]],[13,"pp",[6,[7,"p","sub"],["id"]]],[12,"heightSlope",[6,"d.vec2f",[[5,"0"],[5,"0"]]]],[12,"wSum",[6,"d.f32",[[5,"0"]]]],[14,[12,"x",[4,"-",[5,"1"]]],[1,"x","<=",[5,"2"]],[102,"++","x"],[0,[[14,[12,"y",[4,"-",[5,"1"]]],[1,"y","<=",[5,"2"]],[102,"++","y"],[0,[[13,"off",[6,"d.vec2f",[[6,"d.f32",["x"]],[6,"d.f32",["y"]]]]],[13,"c",[6,[7,[6,[7,[6,[7,"pp","sub"],["off"]],"sub"],[[6,"hash22",[[6,[7,"id","add"],["off"]]]]]],"add"],[[5,"0.5"]]]],[13,"dist2",[6,"std.dot",["c","c"]]],[13,"w",[6,"std.max",[[6,"d.f32",[[5,"0"]]],[1,[6,"std.exp",[[1,"dist2","*",[4,"-",[5,"2"]]]]],"-",[5,"0.01111"]]]]],[2,"wSum","=",[1,"wSum","+","w"]],[13,"t",[6,"std.dot",["c","sideDir"]]],[2,"heightSlope","=",[6,[7,"heightSlope","add"],[[6,[7,[6,"d.vec2f",[[6,"std.cos",["t"]],[4,"-",[6,"std.sin",["t"]]]]],"mul"],["w"]]]]]]]]]]],[10,[6,[7,[6,"d.vec3f",[[7,"heightSlope","x"],[1,[7,"heightSlope","y"],"*",[7,"sideDir","x"]],[1,[7,"heightSlope","y"],"*",[7,"sideDir","y"]]]],"div"],["wSum"]]]]]},externals:{"d.vec2f":()=>l,"Math.PI":()=>Math.PI,"std.floor":()=>q,"d.f32":()=>a,hash22:()=>er,"std.dot":()=>se,"std.max":()=>b,"std.exp":()=>ct,"std.cos":()=>H,"std.sin":()=>Y,"d.vec3f":()=>f}})&&e.f)({})),b8=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=la(t),r=a(.25),o=a(8),n=a(1);for(let i=0;i<4;i++){let d=l(s.y,s.z),c=b(se(d,d),a(1e-4)),_=d.mul(Ce(c,a(__tsover_mul(.5,__tsover_sub(.5,1)))));s=s.add(Cg(t.mul(o),_).mul(r).mul(f(1,o,o))),n=__tsover_add(n,r),r=__tsover_mul(r,.5),o=__tsover_mul(o,2)}return s.div(n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[12,"nd",[6,"perlin12d",["p"]]],[12,"strength",[6,"d.f32",[[5,"0.25"]]]],[12,"freq",[6,"d.f32",[[5,"8"]]]],[12,"total",[6,"d.f32",[[5,"1"]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"4"]],[102,"++","i"],[0,[[13,"grad",[6,"d.vec2f",[[7,"nd","y"],[7,"nd","z"]]]],[13,"len2",[6,"std.max",[[6,"std.dot",["grad","grad"]],[6,"d.f32",[[5,"0.0001"]]]]]],[13,"slope",[6,[7,"grad","mul"],[[6,"std.pow",["len2",[6,"d.f32",[[1,[5,"0.5"],"*",[1,[5,"0.5"],"-",[5,"1"]]]]]]]]]],[2,"nd","=",[6,[7,"nd","add"],[[6,[7,[6,[7,[6,"gullies",[[6,[7,"p","mul"],["freq"]],"slope"]],"mul"],["strength"]],"mul"],[[6,"d.vec3f",[[5,"1"],"freq","freq"]]]]]]],[2,"total","=",[1,"total","+","strength"]],[2,"strength","=",[1,"strength","*",[5,"0.5"]]],[2,"freq","=",[1,"freq","*",[5,"2"]]]]]],[10,[6,[7,"nd","div"],["total"]]]]]},externals:{perlin12d:()=>la,"d.f32":()=>a,"d.vec2f":()=>l,"std.max":()=>b,"std.dot":()=>se,"std.pow":()=>Ce,gullies:()=>Cg,"d.vec3f":()=>f}})&&e.f)({})),Rg=v.fn([l,Z],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=l(0,0),o=a(0),n=a(1),i=l(t.x,t.y);for(let d=0;dl,"d.f32":()=>a,"std.clamp":()=>$,curl22:()=>Ki}})&&e.f)({})),zg=v.fn([l,Z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_add(__tsover_mul(__tsover_div(j(Rg(t,s)),1.414),.6),.4)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"octaves"}],body:[0,[[10,[1,[1,[1,[6,"std.length",[[6,"fbmPaper",["p","octaves"]]]],"/",[5,"1.414"]],"*",[5,"0.6"]],"+",[5,"0.4"]]]]]},externals:{"std.length":()=>j,fbmPaper:()=>Rg}})&&e.f)({}));v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_add(__tsover_mul(t.x,.2126),__tsover_mul(t.y,.7152)),__tsover_mul(t.z,.0722))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[1,[1,[1,[7,"rgb","x"],"*",[5,"0.2126"]],"+",[1,[7,"rgb","y"],"*",[5,"0.7152"]]],"+",[1,[7,"rgb","z"],"*",[5,"0.0722"]]]]]]},externals:{}})&&e.f)({}));v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_add(__tsover_mul(t.x,.299),__tsover_mul(t.y,.587)),__tsover_mul(t.z,.114))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[1,[1,[1,[7,"rgb","x"],"*",[5,"0.299"]],"+",[1,[7,"rgb","y"],"*",[5,"0.587"]]],"+",[1,[7,"rgb","z"],"*",[5,"0.114"]]]]]]},externals:{}})&&e.f)({}));var Gg=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return se(t,f(.2126,.7152,.0722))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),Ll=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return se(t,f(.299,.587,.114))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({}));v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return $(__tsover_add(__tsover_mul(__tsover_sub(t,r),s),r),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"contrast"},{type:"i",name:"pivot"}],body:[0,[[10,[6,"std.clamp",[[1,[1,[1,"x","-","pivot"],"*","contrast"],"+","pivot"],[5,"0"],[5,"1"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({}));var w8=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_mul(t,.5),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[1,[1,"v","*",[5,"0.5"]],"+",[5,"0.5"]]]]]},externals:{}})&&e.f)({}));v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_sub(1,z(t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.abs",["v"]]]]]]},externals:{"std.abs":()=>z}})&&e.f)({}));var KC=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=$(__tsover_add(__tsover_add(__tsover_mul(__tsover_sub(t,.5),__tsover_add(s,1)),.5),r),0,1);return __tsover_sub(1,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"noise01"},{type:"i",name:"contrast"},{type:"i",name:"balance"}],body:[0,[[13,"k",[6,"std.clamp",[[1,[1,[1,[1,"noise01","-",[5,"0.5"]],"*",[1,"contrast","+",[5,"1"]]],"+",[5,"0.5"]],"+","balance"],[5,"0"],[5,"1"]]]],[10,[1,[5,"1"],"-","k"]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),ZC=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(__tsover_mul(t,__tsover_add(s,1)),r),n=$(__tsover_add(__tsover_mul(o,.5),.5),0,1);return __tsover_sub(1,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"contrast"},{type:"i",name:"balance"}],body:[0,[[13,"adjusted",[1,[1,"v","*",[1,"contrast","+",[5,"1"]]],"+","balance"]],[13,"k",[6,"std.clamp",[[1,[1,"adjusted","*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[10,[1,[5,"1"],"-","k"]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),QC=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(__tsover_mul(t,2),1),n=__tsover_add(__tsover_mul(o,s),r);return $(__tsover_add(__tsover_mul(n,.5),.5),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"contrast"},{type:"i",name:"balance"}],body:[0,[[13,"signed",[1,[1,"v","*",[5,"2"]],"-",[5,"1"]]],[13,"adjusted",[1,[1,"signed","*","contrast"],"+","balance"]],[10,[6,"std.clamp",[[1,[1,"adjusted","*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),JC=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Ce(t,__tsover_div(5,s)),i=$(__tsover_add(__tsover_mul(__tsover_sub(n,.5),r),.5),0,1),d=__tsover_sub(__tsover_div(o,100),.5),c=$(__tsover_add(i,d),0,1);return __tsover_sub(1,c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"glow"},{type:"i",name:"contrast"},{type:"i",name:"balance"}],body:[0,[[13,"spread",[6,"std.pow",["v",[1,[5,"5"],"/","glow"]]]],[13,"contrasted",[6,"std.clamp",[[1,[1,[1,"spread","-",[5,"0.5"]],"*","contrast"],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[13,"balanceShift",[1,[1,"balance","/",[5,"100"]],"-",[5,"0.5"]]],[13,"balanced",[6,"std.clamp",[[1,"contrasted","+","balanceShift"],[5,"0"],[5,"1"]]]],[10,[1,[5,"1"],"-","balanced"]]]]},externals:{"std.pow":()=>Ce,"std.clamp":()=>$}})&&e.f)({}));function t7(e){let{domain:t,contrastMode:s,invert:r,glowGamma:o=!1,balance:n="plain"}=e;if(o){if(t==="unit"&&s==="multiplicative"&&r&&n==="percentCentred")return JC}else if(n==="plain"){if(t==="unit"&&s==="additive"&&r)return KC;if(t==="signed"&&s==="additive"&&r)return ZC;if(t==="unit"&&s==="multiplicative"&&!r)return QC}throw new Error(`toneRemap: no variant for {domain: '${t}', contrastMode: '${s}', invert: ${r}, glowGamma: ${o}, balance: '${n}'} \u2014 add its body to kit/tone.ts rather than approximating.`)}var eR=v.fn([x,l,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Ot(s.mul(r).add(l(o,__tsover_mul(o,1.618))));return x($(t.xyz.add(__tsover_mul(__tsover_sub(n,.5),.004)),f(0),f(1)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"animTime"}],body:[0,[[13,"n",[6,"hash12",[[6,[7,[6,[7,"uv","mul"],["viewport"]],"add"],[[6,"d.vec2f",["animTime",[1,"animTime","*",[5,"1.618"]]]]]]]]],[13,"rgb",[6,"std.clamp",[[6,[7,[7,"base","xyz"],"add"],[[1,[1,"n","-",[5,"0.5"]],"*",[5,"0.004"]]]],[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]],[10,[6,"d.vec4f",["rgb",[7,"base","w"]]]]]]},externals:{hash12:()=>Ot,"d.vec2f":()=>l,"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),bt=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_div(t.x,b(t.y,1e-6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"viewport"}],body:[0,[[10,[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]]]]},externals:{"std.max":()=>b}})&&e.f)({})),Zi=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(t,__tsover_mul(s,q(__tsover_div(t,s))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"m"}],body:[0,[[10,[1,"x","-",[1,"m","*",[6,"std.floor",[[1,"x","/","m"]]]]]]]]},externals:{"std.floor":()=>q}})&&e.f)({})),ym=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_sub(t.x,__tsover_mul(s.x,q(__tsover_div(t.x,s.x)))),__tsover_sub(t.y,__tsover_mul(s.y,q(__tsover_div(t.y,s.y)))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"m"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"p","x"],"-",[1,[7,"m","x"],"*",[6,"std.floor",[[1,[7,"p","x"],"/",[7,"m","x"]]]]]],[1,[7,"p","y"],"-",[1,[7,"m","y"],"*",[6,"std.floor",[[1,[7,"p","y"],"/",[7,"m","y"]]]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.floor":()=>q}})&&e.f)({}));v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=C(b(s,1e-5),oe(s,-1e-5),s<0);return __tsover_div(t,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"n"},{type:"i",name:"den"}],body:[0,[[13,"guarded",[6,"std.select",[[6,"std.max",["den",[5,"0.00001"]]],[6,"std.min",["den",[4,"-",[5,"0.00001"]]]],[1,"den","<",[5,"0"]]]]],[10,[1,"n","/","guarded"]]]]},externals:{"std.select":()=>C,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({}));var Eo=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_sub(__tsover_mul(t.x,s),__tsover_mul(t.y,r)),__tsover_add(__tsover_mul(t.x,r),__tsover_mul(t.y,s)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"cosA"},{type:"i",name:"sinA"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[7,"p","x"],"*","cosA"],"-",[1,[7,"p","y"],"*","sinA"]],[1,[1,[7,"p","x"],"*","sinA"],"+",[1,[7,"p","y"],"*","cosA"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Yg=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(s.x,b(s.y,1e-6));return l(__tsover_mul(t.x,r),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),Il=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(s.x,b(s.y,1e-6));return l(__tsover_mul(t.x,r),__tsover_sub(1,t.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[1,[5,"1"],"-",[7,"uv","y"]]]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),hm=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return l(t.x,__tsover_sub(1,t.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"d.vec2f",[[7,"p","x"],[1,[5,"1"],"-",[7,"p","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),bn=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_mul(t.x,s),__tsover_sub(1,t.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"aspect"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"pos","x"],"*","aspect"],[1,[5,"1"],"-",[7,"pos","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),ua=v.fn([l,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(r.x,b(r.y,1e-6));return l(__tsover_sub(__tsover_mul(t.x,o),__tsover_mul(s.x,o)),__tsover_sub(t.y,__tsover_sub(1,s.y)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"center"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[10,[6,"d.vec2f",[[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,[7,"center","x"],"*","aspect"]],[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),ma=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_sub(__tsover_mul(t.x,s),__tsover_mul(s,.5)),__tsover_sub(t.y,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,"aspect","*",[5,"0.5"]]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Qi=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,.5),i=.5,d=__tsover_sub(t.x,n),c=__tsover_sub(t.y,i);return l(__tsover_add(__tsover_sub(__tsover_mul(d,r),__tsover_mul(c,o)),n),__tsover_add(__tsover_add(__tsover_mul(d,o),__tsover_mul(c,r)),i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"aspect"},{type:"i",name:"cosA"},{type:"i",name:"sinA"}],body:[0,[[13,"centerX",[1,"aspect","*",[5,"0.5"]]],[13,"centerY",[5,"0.5"]],[13,"cx",[1,[7,"p","x"],"-","centerX"]],[13,"cy",[1,[7,"p","y"],"-","centerY"]],[10,[6,"d.vec2f",[[1,[1,[1,"cx","*","cosA"],"-",[1,"cy","*","sinA"]],"+","centerX"],[1,[1,[1,"cx","*","sinA"],"+",[1,"cy","*","cosA"]],"+","centerY"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Dl=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_add(__tsover_mul(t.x,s),__tsover_mul(t.y,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"cosA"},{type:"i",name:"sinA"}],body:[0,[[10,[1,[1,[7,"p","x"],"*","cosA"],"+",[1,[7,"p","y"],"*","sinA"]]]]]},externals:{}})&&e.f)({}));v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return l(j(t),tt(t.y,t.x))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"d.vec2f",[[6,"std.length",["p"]],[6,"std.atan2",[[7,"p","y"],[7,"p","x"]]]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.atan2":()=>tt}})&&e.f)({}));v.fn([a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_mul(t,H(s)),__tsover_mul(t,Y(s)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"r"},{type:"i",name:"theta"}],body:[0,[[10,[6,"d.vec2f",[[1,"r","*",[6,"std.cos",["theta"]]],[1,"r","*",[6,"std.sin",["theta"]]]]]]]]},externals:{"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({}));var Lg=2/Math.sqrt(3),xm=ut({cell:l,local:l}).$name("CellTile"),Ji=v.fn([l],xm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return xm({cell:q(t),local:ue(t)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"CellTile",[[104,{cell:[6,"std.floor",["p"]],local:[6,"std.fract",["p"]]}]]]]]]},externals:{CellTile:()=>xm,"std.floor":()=>q,"std.fract":()=>ue}})&&e.f)({})),gm=ut({gv:l,id:l}).$name("HexCell"),Fl=v.fn([l,l],gm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=s.mul(.5),o=ym(t,s).sub(r),n=ym(t.sub(r),s).sub(r),i=C(n,o,se(o,o)ym,"std.select":()=>C,"std.dot":()=>se,HexCell:()=>gm}})&&e.f)({})),Ig=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return l(__tsover_sub(t.x,__tsover_div(t.y,_a)),__tsover_mul(t.y,Lg))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"p","x"],"-",[1,[7,"p","y"],"/","SQRT3"]],[1,[7,"p","y"],"*","TWO_OVER_SQRT3"]]]]]]},externals:{"d.vec2f":()=>l,SQRT3:()=>_a,TWO_OVER_SQRT3:()=>Lg}})&&e.f)({})),T8=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(s.x,b(s.y,1e-6)),n=__tsover_mul(t.x,o),i=__tsover_sub(1,t.y),d=__tsover_div(__tsover_add(q(__tsover_mul(n,r)),.5),r),c=__tsover_div(__tsover_add(q(__tsover_mul(i,r)),.5),r);return l(__tsover_div(d,o),__tsover_sub(1,c))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[13,"correctedX",[1,[7,"uv","x"],"*","aspect"]],[13,"correctedY",[1,[5,"1"],"-",[7,"uv","y"]]],[13,"cellCenterCorrectedX",[1,[1,[6,"std.floor",[[1,"correctedX","*","cells"]]],"+",[5,"0.5"]],"/","cells"]],[13,"cellCenterCorrectedY",[1,[1,[6,"std.floor",[[1,"correctedY","*","cells"]]],"+",[5,"0.5"]],"/","cells"]],[10,[6,"d.vec2f",[[1,"cellCenterCorrectedX","/","aspect"],[1,[5,"1"],"-","cellCenterCorrectedY"]]]]]]},externals:{"std.max":()=>b,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),Dg=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_div(s.x,b(s.y,1e-6)),i=__tsover_mul(t.x,n),d=__tsover_sub(1,t.y),c=H(o),_=Y(o),u=__tsover_mul(n,.5),m=.5,p=__tsover_sub(i,u),y=__tsover_sub(d,m),h=__tsover_add(__tsover_sub(__tsover_mul(p,c),__tsover_mul(y,_)),u),g=__tsover_add(__tsover_add(__tsover_mul(p,_),__tsover_mul(y,c)),m),w=__tsover_div(__tsover_add(q(__tsover_mul(h,r)),.5),r),S=__tsover_div(__tsover_add(q(__tsover_mul(g,r)),.5),r),T=__tsover_sub(w,u),A=__tsover_sub(S,m),P=__tsover_add(__tsover_add(__tsover_mul(T,c),__tsover_mul(A,_)),u),U=__tsover_add(__tsover_add(__tsover_mul(T,-_),__tsover_mul(A,c)),m);return l(__tsover_div(P,n),__tsover_sub(1,U))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotationRad"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[13,"correctedX",[1,[7,"uv","x"],"*","aspect"]],[13,"correctedY",[1,[5,"1"],"-",[7,"uv","y"]]],[13,"cosR",[6,"std.cos",["rotationRad"]]],[13,"sinR",[6,"std.sin",["rotationRad"]]],[13,"centerX",[1,"aspect","*",[5,"0.5"]]],[13,"centerY",[5,"0.5"]],[13,"cx",[1,"correctedX","-","centerX"]],[13,"cy",[1,"correctedY","-","centerY"]],[13,"rotX",[1,[1,[1,"cx","*","cosR"],"-",[1,"cy","*","sinR"]],"+","centerX"]],[13,"rotY",[1,[1,[1,"cx","*","sinR"],"+",[1,"cy","*","cosR"]],"+","centerY"]],[13,"cellRX",[1,[1,[6,"std.floor",[[1,"rotX","*","cells"]]],"+",[5,"0.5"]],"/","cells"]],[13,"cellRY",[1,[1,[6,"std.floor",[[1,"rotY","*","cells"]]],"+",[5,"0.5"]],"/","cells"]],[13,"ccx",[1,"cellRX","-","centerX"]],[13,"ccy",[1,"cellRY","-","centerY"]],[13,"unrotX",[1,[1,[1,"ccx","*","cosR"],"+",[1,"ccy","*","sinR"]],"+","centerX"]],[13,"unrotY",[1,[1,[1,"ccx","*",[4,"-","sinR"]],"+",[1,"ccy","*","cosR"]],"+","centerY"]],[10,[6,"d.vec2f",[[1,"unrotX","/","aspect"],[1,[5,"1"],"-","unrotY"]]]]]]},externals:{"std.max":()=>b,"std.cos":()=>H,"std.sin":()=>Y,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),Bl=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ue(t.mul(l(123.34,345.45))),r=s.add(se(s,s.add(34.345)));return ue(__tsover_mul(r.x,r.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"id"}],body:[0,[[13,"q0",[6,"std.fract",[[6,[7,"id","mul"],[[6,"d.vec2f",[[5,"123.34"],[5,"345.45"]]]]]]]],[13,"q1",[6,[7,"q0","add"],[[6,"std.dot",["q0",[6,[7,"q0","add"],[[5,"34.345"]]]]]]]],[10,[6,"std.fract",[[1,[7,"q1","x"],"*",[7,"q1","y"]]]]]]]},externals:{"std.fract":()=>ue,"d.vec2f":()=>l,"std.dot":()=>se}})&&e.f)({})),Wl=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(__tsover_mul(Y(__tsover_mul(t,127.1)),43758.5453))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"row"}],body:[0,[[10,[6,"std.fract",[[1,[6,"std.sin",[[1,"row","*",[5,"127.1"]]]],"*",[5,"43758.5453"]]]]]]]},externals:{"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),Ol=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_add(1,__tsover_mul(__tsover_mul(__tsover_sub(t,.5),4),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rowHash"},{type:"i",name:"variance"}],body:[0,[[10,[1,[5,"1"],"+",[1,[1,[1,"rowHash","-",[5,"0.5"]],"*",[5,"4"]],"*","variance"]]]]]},externals:{}})&&e.f)({})),Fg=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return b(__tsover_add(1,__tsover_mul(__tsover_mul(__tsover_sub(t,.5),2),s)),0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rand"},{type:"i",name:"variation"}],body:[0,[[10,[6,"std.max",[[1,[5,"1"],"+",[1,[1,[1,"rand","-",[5,"0.5"]],"*",[5,"2"]],"*","variation"]],[5,"0"]]]]]]},externals:{"std.max":()=>b}})&&e.f)({})),Vl=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(z(Ni(t)),z(qi(t)));return b(__tsover_add(r,s),1e-5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"softness"}],body:[0,[[13,"baseW",[6,"std.max",[[6,"std.abs",[[6,"std.dpdx",["x"]]]],[6,"std.abs",[[6,"std.dpdy",["x"]]]]]]],[10,[6,"std.max",[[1,"baseW","+","softness"],[5,"0.00001"]]]]]]},externals:{"std.max":()=>b,"std.abs":()=>z,"std.dpdx":()=>Ni,"std.dpdy":()=>qi}})&&e.f)({})),Bg=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ni(t),o=qi(t),n=l(b(z(r.x),z(o.x)),b(z(r.y),z(o.y)));return l(b(__tsover_add(n.x,s),1e-5),b(__tsover_add(n.y,s),1e-5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"softness"}],body:[0,[[13,"dpx",[6,"std.dpdx",["p"]]],[13,"dpy",[6,"std.dpdy",["p"]]],[13,"baseW",[6,"d.vec2f",[[6,"std.max",[[6,"std.abs",[[7,"dpx","x"]]],[6,"std.abs",[[7,"dpy","x"]]]]],[6,"std.max",[[6,"std.abs",[[7,"dpx","y"]]],[6,"std.abs",[[7,"dpy","y"]]]]]]]],[10,[6,"d.vec2f",[[6,"std.max",[[1,[7,"baseW","x"],"+","softness"],[5,"0.00001"]]],[6,"std.max",[[1,[7,"baseW","y"],"+","softness"],[5,"0.00001"]]]]]]]]},externals:{"std.dpdx":()=>Ni,"std.dpdy":()=>qi,"d.vec2f":()=>l,"std.max":()=>b,"std.abs":()=>z}})&&e.f)({})),Wg=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(t,__tsover_mul(s,.5)),n=__tsover_sub(t,__tsover_mul(s,.5)),i=__tsover_sub(1,r),d=__tsover_add(__tsover_mul(q(o),i),b(__tsover_sub(ue(o),r),0)),c=__tsover_add(__tsover_mul(q(n),i),b(__tsover_sub(ue(n),r),0));return $(__tsover_div(__tsover_sub(d,c),s),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"w"},{type:"i",name:"threshold"}],body:[0,[[13,"a",[1,"p","+",[1,"w","*",[5,"0.5"]]]],[13,"b",[1,"p","-",[1,"w","*",[5,"0.5"]]]],[13,"oneMinusThreshold",[1,[5,"1"],"-","threshold"]],[13,"Fa",[1,[1,[6,"std.floor",["a"]],"*","oneMinusThreshold"],"+",[6,"std.max",[[1,[6,"std.fract",["a"]],"-","threshold"],[5,"0"]]]]],[13,"Fb",[1,[1,[6,"std.floor",["b"]],"*","oneMinusThreshold"],"+",[6,"std.max",[[1,[6,"std.fract",["b"]],"-","threshold"],[5,"0"]]]]],[10,[6,"std.clamp",[[1,[1,"Fa","-","Fb"],"/","w"],[5,"0"],[5,"1"]]]]]]},externals:{"std.floor":()=>q,"std.max":()=>b,"std.fract":()=>ue,"std.clamp":()=>$}})&&e.f)({})),bm=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(t,__tsover_mul(s,.5)),n=__tsover_sub(t,__tsover_mul(s,.5));return __tsover_div(__tsover_sub(__tsover_sub(__tsover_add(q(o),oe(__tsover_mul(ue(o),r),1)),q(n)),oe(__tsover_mul(ue(n),r),1)),__tsover_mul(r,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"w"},{type:"i",name:"N"}],body:[0,[[13,"a",[1,"p","+",[1,"w","*",[5,"0.5"]]]],[13,"b",[1,"p","-",[1,"w","*",[5,"0.5"]]]],[10,[1,[1,[1,[1,[6,"std.floor",["a"]],"+",[6,"std.min",[[1,[6,"std.fract",["a"]],"*","N"],[5,"1"]]]],"-",[6,"std.floor",["b"]]],"-",[6,"std.min",[[1,[6,"std.fract",["b"]],"*","N"],[5,"1"]]]],"/",[1,"N","*","w"]]]]]},externals:{"std.floor":()=>q,"std.min":()=>oe,"std.fract":()=>ue}})&&e.f)({})),Og=v.fn([l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=l(__tsover_mul(s.x,.5),__tsover_mul(s.y,.5)),o=z(__tsover_sub(ue(__tsover_mul(__tsover_sub(t.x,r.x),.5)),.5)),n=z(__tsover_sub(ue(__tsover_mul(__tsover_sub(t.y,r.y),.5)),.5)),i=z(__tsover_sub(ue(__tsover_mul(__tsover_add(t.x,r.x),.5)),.5)),d=z(__tsover_sub(ue(__tsover_mul(__tsover_add(t.y,r.y),.5)),.5)),c=__tsover_div(__tsover_mul(__tsover_sub(o,i),2),s.x),_=__tsover_div(__tsover_mul(__tsover_sub(n,d),2),s.y);return $(__tsover_sub(.5,__tsover_mul(__tsover_mul(c,_),.5)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"w"}],body:[0,[[13,"aHalf",[6,"d.vec2f",[[1,[7,"w","x"],"*",[5,"0.5"]],[1,[7,"w","y"],"*",[5,"0.5"]]]]],[13,"minusSideX",[6,"std.abs",[[1,[6,"std.fract",[[1,[1,[7,"p","x"],"-",[7,"aHalf","x"]],"*",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"minusSideY",[6,"std.abs",[[1,[6,"std.fract",[[1,[1,[7,"p","y"],"-",[7,"aHalf","y"]],"*",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"plusSideX",[6,"std.abs",[[1,[6,"std.fract",[[1,[1,[7,"p","x"],"+",[7,"aHalf","x"]],"*",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"plusSideY",[6,"std.abs",[[1,[6,"std.fract",[[1,[1,[7,"p","y"],"+",[7,"aHalf","y"]],"*",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"iX",[1,[1,[1,"minusSideX","-","plusSideX"],"*",[5,"2"]],"/",[7,"w","x"]]],[13,"iY",[1,[1,[1,"minusSideY","-","plusSideY"],"*",[5,"2"]],"/",[7,"w","y"]]],[10,[6,"std.clamp",[[1,[5,"0.5"],"-",[1,[1,"iX","*","iY"],"*",[5,"0.5"]]],[5,"0"],[5,"1"]]]]]]},externals:{"d.vec2f":()=>l,"std.abs":()=>z,"std.fract":()=>ue,"std.clamp":()=>$}})&&e.f)({})),Nl=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return __tsover_mul(__tsover_sub(1,re(r,o,t)),De(1e-4,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"field"},{type:"i",name:"lineWidth"},{type:"i",name:"lo"},{type:"i",name:"hi"}],body:[0,[[10,[1,[1,[5,"1"],"-",[6,"std.smoothstep",["lo","hi","field"]]],"*",[6,"std.step",[[5,"0.0001"],"lineWidth"]]]]]]},externals:{"std.smoothstep":()=>re,"std.step":()=>De}})&&e.f)({})),Ri=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_mul(re(s,r,t),re(s,r,__tsover_sub(1,t)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"lo"},{type:"i",name:"hi"}],body:[0,[[10,[1,[6,"std.smoothstep",["lo","hi","x"]],"*",[6,"std.smoothstep",["lo","hi",[1,[5,"1"],"-","x"]]]]]]]},externals:{"std.smoothstep":()=>re}})&&e.f)({})),Vg=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_sub(1,re(__tsover_sub(s,__tsover_mul(r,.5)),s,t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"radius"},{type:"i",name:"footprint"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"radius","-",[1,"footprint","*",[5,"0.5"]]],"radius","dist"]]]]]]},externals:{"std.smoothstep":()=>re}})&&e.f)({})),S8=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=bt(s);return l(__tsover_mul(t.x,n),t.y).mul(ct(r)).add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"scale"},{type:"i",name:"seed"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[10,[6,[7,[6,[7,"aspectUV","mul"],[[6,"std.exp",["scale"]]]],"add"],["seed"]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l,"std.exp":()=>ct}})&&e.f)({})),A8=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return q(t.mul(s).div(r)).add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"grain"},{type:"i",name:"seed"}],body:[0,[[10,[6,[7,[6,"std.floor",[[6,[7,[6,[7,"uv","mul"],["viewport"]],"div"],["grain"]]]],"add"],["seed"]]]]]},externals:{"std.floor":()=>q}})&&e.f)({})),M8=v.fn([l,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return f(t.x,t.y,__tsover_mul(s,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"t"},{type:"i",name:"rate"}],body:[0,[[10,[6,"d.vec3f",[[7,"pos","x"],[7,"pos","y"],[1,"t","*","rate"]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),Ng=new WeakMap,tR=0;function Dv(e){let t=e,s=Ng.get(t);if(s!==void 0)return s;let r=tR++;return Ng.set(t,r),r}function s7(e,t){let{maxOctaves:s,drift:r,stride:o=[17,31],name:n="fbmGated"}=t,i=`${Dv(e)}|${n}|${s}|${r}|${o[0]},${o[1]}`,d=qg.get(i);if(d)return d;let c=s,_=o[0],u=o[1],m=`${r==="goldenAngle"?"Golden":"TimeSeed"}${c}`,p;if(r==="goldenAngle"){let y=e;p=v.fn([l,a,a,a,a,l,a],l)((h=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(h.f=((g,w,S,T,A,P,U)=>{"use gpu";let D=Z(U),O=w,L=a(1),G=a(0),W=a(0);for(let K=0;KZ,"d.f32":()=>a,N:()=>c,"std.cos":()=>H,GOLDEN:()=>2.3999632297286535,"std.sin":()=>Y,"d.vec2f":()=>l,"std.select":()=>C,octaveField:()=>y}})&&h.f)({})).$name(`${n}${m}`)}else{let y=e;p=v.fn([l,a,a,a,a,a,f,a],l)((h=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(h.f=((g,w,S,T,A,P,U,D)=>{"use gpu";let O=w,L=a(1),G=a(0),W=a(0);for(let K=0;Ka,N:()=>c,"std.select":()=>C,"d.vec2f":()=>l,TIME_STRIDE:()=>_,SEED_STRIDE:()=>u,octaveField:()=>y}})&&h.f)({})).$name(`${n}${m}`)}return qg.set(i,p),p}var qg=new Map,r7={q:[[.3,-.2,0],[5.2,1.3,.25]],r:[[1.7,9.2,.15],[8.3,2.8,.13]]};function sR(e,t={}){let{offsets:s=r7,name:r="domainWarp2"}=t,o=`${Dv(e)}|${r}|${JSON.stringify(s)}`,n=ql.get(o);if(n)return n;let i=e,[d,c,_]=s.q[0],[u,m,p]=s.q[1],[y,h,g]=s.r[0],[w,S,T]=s.r[1],A=v.fn([f,a,a],f)((P=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(P.f=((U,D,O)=>{"use gpu";let L=i(U.add(f(__tsover_mul(D,d),__tsover_mul(D,c),_))),G=i(U.add(f(u,m,__tsover_mul(D,p)))),W=U.add(f(L,G,0).mul(O)),K=i(W.add(f(y,h,__tsover_mul(D,g)))),Q=i(W.add(f(w,S,__tsover_mul(D,T))));return U.add(f(K,Q,0).mul(O))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"t"},{type:"i",name:"warpAmount"}],body:[0,[[13,"qx",[6,"warpField",[[6,[7,"pos","add"],[[6,"d.vec3f",[[1,"t","*","QX"],[1,"t","*","QY"],"QZ"]]]]]]],[13,"qy",[6,"warpField",[[6,[7,"pos","add"],[[6,"d.vec3f",["Q2X","Q2Y",[1,"t","*","Q2Z"]]]]]]]],[13,"warped1",[6,[7,"pos","add"],[[6,[7,[6,"d.vec3f",["qx","qy",[5,"0"]]],"mul"],["warpAmount"]]]]],[13,"rx",[6,"warpField",[[6,[7,"warped1","add"],[[6,"d.vec3f",["RX","RY",[1,"t","*","RZ"]]]]]]]],[13,"ry",[6,"warpField",[[6,[7,"warped1","add"],[[6,"d.vec3f",["R2X","R2Y",[1,"t","*","R2Z"]]]]]]]],[10,[6,[7,"pos","add"],[[6,[7,[6,"d.vec3f",["rx","ry",[5,"0"]]],"mul"],["warpAmount"]]]]]]]},externals:{warpField:()=>i,"d.vec3f":()=>f,QX:()=>d,QY:()=>c,QZ:()=>_,Q2X:()=>u,Q2Y:()=>m,Q2Z:()=>p,RX:()=>y,RY:()=>h,RZ:()=>g,R2X:()=>w,R2Y:()=>S,R2Z:()=>T}})&&P.f)({})).$name(r);return ql.set(o,A),A}function rR(e,t={}){let{offsets:s=r7,name:r="domainWarp1"}=t,o=`1|${Dv(e)}|${r}|${JSON.stringify(s)}`,n=ql.get(o);if(n)return n;let i=e,[d,c,_]=s.q[0],[u,m,p]=s.q[1],y=v.fn([f,a,a],f)((h=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(h.f=((g,w,S)=>{"use gpu";let T=i(g.add(f(__tsover_mul(w,d),__tsover_mul(w,c),_))),A=i(g.add(f(u,m,__tsover_mul(w,p))));return g.add(f(T,A,0).mul(S))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"t"},{type:"i",name:"warpAmount"}],body:[0,[[13,"qx",[6,"warpField",[[6,[7,"pos","add"],[[6,"d.vec3f",[[1,"t","*","QX"],[1,"t","*","QY"],"QZ"]]]]]]],[13,"qy",[6,"warpField",[[6,[7,"pos","add"],[[6,"d.vec3f",["Q2X","Q2Y",[1,"t","*","Q2Z"]]]]]]]],[10,[6,[7,"pos","add"],[[6,[7,[6,"d.vec3f",["qx","qy",[5,"0"]]],"mul"],["warpAmount"]]]]]]]},externals:{warpField:()=>i,"d.vec3f":()=>f,QX:()=>d,QY:()=>c,QZ:()=>_,Q2X:()=>u,Q2Y:()=>m,Q2Z:()=>p}})&&h.f)({})).$name(r);return ql.set(o,y),y}var ql=new Map,oR=v.fn([l,a,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(t.x,s),t.y),d=l(__tsover_mul(r.x,s),__tsover_sub(1,r.y)),c=j(i.sub(d));return re(o,__tsover_add(o,n),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"},{type:"i",name:"radius"},{type:"i",name:"falloff"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dist",[6,"std.length",[[6,[7,"aspectUV","sub"],["centerPos"]]]]],[10,[6,"std.smoothstep",["radius",[1,"radius","+","falloff"],"dist"]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.smoothstep":()=>re}})&&e.f)({})),wm=.11,Xl=.6180339887,lc=8,Xg=v.fn([a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_add(__tsover_mul(t,2.3999632297286535),__tsover_mul(Gs(__tsover_add(__tsover_mul(r,.7311),1.618)),it)),c=be(__tsover_div(__tsover_add(t,.5),s)),_=er(l(__tsover_add(__tsover_mul(t,3.77),.917),__tsover_add(__tsover_mul(r,1.093),2.236))).sub(.5).mul(.26),u=er(l(__tsover_add(__tsover_mul(t,7.13),1.618),__tsover_add(__tsover_mul(r,.531),3.71))).mul(it),m=__tsover_add(.5,__tsover_mul(Gs(__tsover_add(__tsover_add(__tsover_mul(t,5.417),__tsover_mul(r,.291)),.917)),.7)),p=Y(__tsover_add(__tsover_mul(__tsover_mul(i,wm),m),u.x)),y=H(__tsover_add(__tsover_mul(__tsover_mul(__tsover_mul(i,wm),m),1.37),u.y)),h=__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(H(d),c),.62),_.x),__tsover_mul(__tsover_mul(p,o),.16)),g=__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(Y(d),c),.62),_.y),__tsover_mul(__tsover_mul(y,o),.16));return l(__tsover_mul(__tsover_add(.5,h),n),__tsover_add(.5,g))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fi"},{type:"i",name:"count"},{type:"i",name:"seed"},{type:"i",name:"drift"},{type:"i",name:"aspect"},{type:"i",name:"animTime"}],body:[0,[[13,"theta",[1,[1,"fi","*","GOLDEN"],"+",[1,[6,"hash11",[[1,[1,"seed","*",[5,"0.7311"]],"+",[5,"1.618"]]]],"*","TAU"]]],[13,"r",[6,"std.sqrt",[[1,[1,"fi","+",[5,"0.5"]],"/","count"]]]],[13,"j",[6,[7,[6,[7,[6,"hash22",[[6,"d.vec2f",[[1,[1,"fi","*",[5,"3.77"]],"+",[5,"0.917"]],[1,[1,"seed","*",[5,"1.093"]],"+",[5,"2.236"]]]]]],"sub"],[[5,"0.5"]]],"mul"],[[5,"0.26"]]]],[13,"ph",[6,[7,[6,"hash22",[[6,"d.vec2f",[[1,[1,"fi","*",[5,"7.13"]],"+",[5,"1.618"]],[1,[1,"seed","*",[5,"0.531"]],"+",[5,"3.71"]]]]]],"mul"],["TAU"]]],[13,"w1",[1,[5,"0.5"],"+",[1,[6,"hash11",[[1,[1,[1,"fi","*",[5,"5.417"]],"+",[1,"seed","*",[5,"0.291"]]],"+",[5,"0.917"]]]],"*",[5,"0.7"]]]],[13,"dx",[6,"std.sin",[[1,[1,[1,"animTime","*","SCATTER_DRIFT_RATE"],"*","w1"],"+",[7,"ph","x"]]]]],[13,"dy",[6,"std.cos",[[1,[1,[1,[1,"animTime","*","SCATTER_DRIFT_RATE"],"*","w1"],"*",[5,"1.37"]],"+",[7,"ph","y"]]]]],[13,"nx",[1,[1,[1,[1,[6,"std.cos",["theta"]],"*","r"],"*",[5,"0.62"]],"+",[7,"j","x"]],"+",[1,[1,"dx","*","drift"],"*",[5,"0.16"]]]],[13,"ny",[1,[1,[1,[1,[6,"std.sin",["theta"]],"*","r"],"*",[5,"0.62"]],"+",[7,"j","y"]],"+",[1,[1,"dy","*","drift"],"*",[5,"0.16"]]]],[10,[6,"d.vec2f",[[1,[1,[5,"0.5"],"+","nx"],"*","aspect"],[1,[5,"0.5"],"+","ny"]]]]]]},externals:{GOLDEN:()=>2.3999632297286535,hash11:()=>Gs,TAU:()=>it,"std.sqrt":()=>be,hash22:()=>er,"d.vec2f":()=>l,"std.sin":()=>Y,SCATTER_DRIFT_RATE:()=>wm,"std.cos":()=>H}})&&e.f)({})),nR=v.fn([l,a,a,pt(x,lc/2),a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=a(0),d=a(0),c=Gs(__tsover_add(__tsover_mul(r,.531),.77));for(let _=0;_a,hash11:()=>Gs,SCATTER_MAX:()=>lc,"std.select":()=>C,"std.max":()=>b,"std.length":()=>j,"std.pow":()=>Ce,"std.fract":()=>ue,GOLDEN_CONJ:()=>Xl}})&&e.f)({})),aR=v.fn([l,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=a(0),_=a(0);for(let u=0;ua,SCATTER_MAX:()=>lc,"std.select":()=>C,spiralScatter:()=>Xg,"std.max":()=>b,"std.length":()=>j,"std.pow":()=>Ce,"std.fract":()=>ue,GOLDEN_CONJ:()=>Xl,hash11:()=>Gs}})&&e.f)({})),iR=v.fn([l,a,a,l,l,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=f(__tsover_mul(t.x,s),__tsover_mul(t.y,s),r),_=go(c.add(f(o.x,o.y,0))),u=go(c.add(f(n.x,n.y,0)));return x(__tsover_add(t.x,__tsover_mul(__tsover_mul(_,i),d)),__tsover_add(t.y,__tsover_mul(__tsover_mul(u,i),d)),_,u)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"scale"},{type:"i",name:"z"},{type:"i",name:"offA"},{type:"i",name:"offB"},{type:"i",name:"k"},{type:"i",name:"strength"}],body:[0,[[13,"wp",[6,"d.vec3f",[[1,[7,"pos","x"],"*","scale"],[1,[7,"pos","y"],"*","scale"],"z"]]],[13,"nx",[6,"mxNoiseFloat3",[[6,[7,"wp","add"],[[6,"d.vec3f",[[7,"offA","x"],[7,"offA","y"],[5,"0"]]]]]]]],[13,"ny",[6,"mxNoiseFloat3",[[6,[7,"wp","add"],[[6,"d.vec3f",[[7,"offB","x"],[7,"offB","y"],[5,"0"]]]]]]]],[10,[6,"d.vec4f",[[1,[7,"pos","x"],"+",[1,[1,"nx","*","k"],"*","strength"]],[1,[7,"pos","y"],"+",[1,[1,"ny","*","k"],"*","strength"]],"nx","ny"]]]]]},externals:{"d.vec3f":()=>f,mxNoiseFloat3:()=>go,"d.vec4f":()=>x}})&&e.f)({})),N_=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(Y(l(se(t,l(127.1,311.7)),se(t,l(269.5,183.3)))).mul(43758.5453))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"h",[6,"d.vec2f",[[6,"std.dot",["p",[6,"d.vec2f",[[5,"127.1"],[5,"311.7"]]]]],[6,"std.dot",["p",[6,"d.vec2f",[[5,"269.5"],[5,"183.3"]]]]]]]],[10,[6,"std.fract",[[6,[7,[6,"std.sin",["h"]],"mul"],[[5,"43758.5453"]]]]]]]]},externals:{"d.vec2f":()=>l,"std.dot":()=>se,"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({}));function o7(e){let{distance:t,jitter:s,name:r="nearest2Cells"}=e,o=`${r}|${t}|${s}`,n=Hg.get(o);if(n)return n;let i=`${t==="length"?"Len":"Sel"}${s==="mix"?"Jit":""}`,d;return t==="length"&&s==="none"?d=v.fn([l,a,a],l)((c=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(c.f=((_,u,m)=>{"use gpu";let p=q(_),y=ue(_),h=a(10),g=a(10);for(let w=-1;w<=1;w++)for(let S=-1;S<=1;S++){let T=l(a(S),a(w)),A=N_(l(__tsover_add(__tsover_add(p.x,T.x),m),__tsover_add(__tsover_add(p.y,T.y),m))),P=$(__tsover_add(A.x,__tsover_mul(Y(__tsover_add(u,__tsover_mul(A.x,it))),.15)),.05,.95),U=$(__tsover_add(A.y,__tsover_mul(H(__tsover_add(__tsover_mul(u,.7),__tsover_mul(A.y,it))),.15)),.05,.95),D=j(l(__tsover_sub(y.x,__tsover_add(T.x,P)),__tsover_sub(y.y,__tsover_add(T.y,U))));g=oe(g,b(D,h)),h=oe(h,D)}return l(h,g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"animT"},{type:"i",name:"seed"}],body:[0,[[13,"cell",[6,"std.floor",["scaledUV"]]],[13,"localUV",[6,"std.fract",["scaledUV"]]],[12,"d1",[6,"d.f32",[[5,"10"]]]],[12,"d2",[6,"d.f32",[[5,"10"]]]],[14,[12,"ny",[4,"-",[5,"1"]]],[1,"ny","<=",[5,"1"]],[102,"++","ny"],[0,[[14,[12,"nx",[4,"-",[5,"1"]]],[1,"nx","<=",[5,"1"]],[102,"++","nx"],[0,[[13,"offset",[6,"d.vec2f",[[6,"d.f32",["nx"]],[6,"d.f32",["ny"]]]]],[13,"h",[6,"cellHash2",[[6,"d.vec2f",[[1,[1,[7,"cell","x"],"+",[7,"offset","x"]],"+","seed"],[1,[1,[7,"cell","y"],"+",[7,"offset","y"]],"+","seed"]]]]]],[13,"pointX",[6,"std.clamp",[[1,[7,"h","x"],"+",[1,[6,"std.sin",[[1,"animT","+",[1,[7,"h","x"],"*","TAU"]]]],"*",[5,"0.15"]]],[5,"0.05"],[5,"0.95"]]]],[13,"pointY",[6,"std.clamp",[[1,[7,"h","y"],"+",[1,[6,"std.cos",[[1,[1,"animT","*",[5,"0.7"]],"+",[1,[7,"h","y"],"*","TAU"]]]],"*",[5,"0.15"]]],[5,"0.05"],[5,"0.95"]]]],[13,"dd",[6,"std.length",[[6,"d.vec2f",[[1,[7,"localUV","x"],"-",[1,[7,"offset","x"],"+","pointX"]],[1,[7,"localUV","y"],"-",[1,[7,"offset","y"],"+","pointY"]]]]]]],[2,"d2","=",[6,"std.min",["d2",[6,"std.max",["dd","d1"]]]]],[2,"d1","=",[6,"std.min",["d1","dd"]]]]]]]]],[10,[6,"d.vec2f",["d1","d2"]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,"d.f32":()=>a,"d.vec2f":()=>l,cellHash2:()=>N_,"std.clamp":()=>$,"std.sin":()=>Y,TAU:()=>it,"std.cos":()=>H,"std.length":()=>j,"std.min":()=>oe,"std.max":()=>b}})&&c.f)({})).$name(`${r}${i}`):d=v.fn([l,a,a,a,a],l)((c=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(c.f=((_,u,m,p,y)=>{"use gpu";let h=__tsover_mul(u,.7),g=q(_),w=ue(_),S=a(10),T=a(10);for(let A=-1;A<=1;A++)for(let P=-1;P<=1;P++){let U=l(a(P),a(A)),D=N_(l(__tsover_add(__tsover_add(g.x,U.x),m),__tsover_add(__tsover_add(g.y,U.y),m))),O=__tsover_add(D.x,__tsover_mul(Y(__tsover_add(u,__tsover_mul(D.x,it))),.15)),L=__tsover_add(D.y,__tsover_mul(H(__tsover_add(h,__tsover_mul(D.y,it))),.15)),G=X(.5,$(O,.05,.95),p),W=X(.5,$(L,.05,.95),p),K=__tsover_sub(w.x,__tsover_add(U.x,G)),Q=__tsover_sub(w.y,__tsover_add(U.y,W)),te=__tsover_add(__tsover_mul(K,K),__tsover_mul(Q,Q)),ee=__tsover_add(z(K),z(Q)),he=b(z(K),z(Q)),Ee=te;Ee=C(Ee,ee,y===1),Ee=C(Ee,he,y===2),T=oe(T,b(Ee,S)),S=oe(S,Ee)}return l(S,T)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"animT"},{type:"i",name:"seed"},{type:"i",name:"jitterAmount"},{type:"i",name:"metric"}],body:[0,[[13,"animTSlow",[1,"animT","*",[5,"0.7"]]],[13,"cell",[6,"std.floor",["scaledUV"]]],[13,"localUV",[6,"std.fract",["scaledUV"]]],[12,"d1",[6,"d.f32",[[5,"10"]]]],[12,"d2",[6,"d.f32",[[5,"10"]]]],[14,[12,"ny",[4,"-",[5,"1"]]],[1,"ny","<=",[5,"1"]],[102,"++","ny"],[0,[[14,[12,"nx",[4,"-",[5,"1"]]],[1,"nx","<=",[5,"1"]],[102,"++","nx"],[0,[[13,"offset",[6,"d.vec2f",[[6,"d.f32",["nx"]],[6,"d.f32",["ny"]]]]],[13,"h",[6,"cellHash2",[[6,"d.vec2f",[[1,[1,[7,"cell","x"],"+",[7,"offset","x"]],"+","seed"],[1,[1,[7,"cell","y"],"+",[7,"offset","y"]],"+","seed"]]]]]],[13,"px",[1,[7,"h","x"],"+",[1,[6,"std.sin",[[1,"animT","+",[1,[7,"h","x"],"*","TAU"]]]],"*",[5,"0.15"]]]],[13,"py",[1,[7,"h","y"],"+",[1,[6,"std.cos",[[1,"animTSlow","+",[1,[7,"h","y"],"*","TAU"]]]],"*",[5,"0.15"]]]],[13,"jx",[6,"std.mix",[[5,"0.5"],[6,"std.clamp",["px",[5,"0.05"],[5,"0.95"]]],"jitterAmount"]]],[13,"jy",[6,"std.mix",[[5,"0.5"],[6,"std.clamp",["py",[5,"0.05"],[5,"0.95"]]],"jitterAmount"]]],[13,"deltaX",[1,[7,"localUV","x"],"-",[1,[7,"offset","x"],"+","jx"]]],[13,"deltaY",[1,[7,"localUV","y"],"-",[1,[7,"offset","y"],"+","jy"]]],[13,"dEuclid",[1,[1,"deltaX","*","deltaX"],"+",[1,"deltaY","*","deltaY"]]],[13,"dManhattan",[1,[6,"std.abs",["deltaX"]],"+",[6,"std.abs",["deltaY"]]]],[13,"dChebyshev",[6,"std.max",[[6,"std.abs",["deltaX"]],[6,"std.abs",["deltaY"]]]]],[12,"dd","dEuclid"],[2,"dd","=",[6,"std.select",["dd","dManhattan",[1,"metric","===",[5,"1"]]]]],[2,"dd","=",[6,"std.select",["dd","dChebyshev",[1,"metric","===",[5,"2"]]]]],[2,"d2","=",[6,"std.min",["d2",[6,"std.max",["dd","d1"]]]]],[2,"d1","=",[6,"std.min",["d1","dd"]]]]]]]]],[10,[6,"d.vec2f",["d1","d2"]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,"d.f32":()=>a,"d.vec2f":()=>l,cellHash2:()=>N_,"std.sin":()=>Y,TAU:()=>it,"std.cos":()=>H,"std.mix":()=>X,"std.clamp":()=>$,"std.abs":()=>z,"std.max":()=>b,"std.select":()=>C,"std.min":()=>oe}})&&c.f)({})).$name(`${r}${i}`),Hg.set(o,d),d}var Hg=new Map;var jg=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=r===0,i=C(t,be(t),n),d=C(s,be(s),n),c=i;return c=C(c,d,o===1),c=C(c,__tsover_sub(d,i),o===2),c=C(c,__tsover_add(i,d),o===3),c=C(c,__tsover_mul(i,d),o===4),c}),{v:2,name:void 0,ast:{params:[{type:"i",name:"d1"},{type:"i",name:"d2"},{type:"i",name:"metric"},{type:"i",name:"mode"}],body:[0,[[13,"isEuclid",[1,"metric","===",[5,"0"]]],[13,"sd1",[6,"std.select",["d1",[6,"std.sqrt",["d1"]],"isEuclid"]]],[13,"sd2",[6,"std.select",["d2",[6,"std.sqrt",["d2"]],"isEuclid"]]],[12,"raw","sd1"],[2,"raw","=",[6,"std.select",["raw","sd2",[1,"mode","===",[5,"1"]]]]],[2,"raw","=",[6,"std.select",["raw",[1,"sd2","-","sd1"],[1,"mode","===",[5,"2"]]]]],[2,"raw","=",[6,"std.select",["raw",[1,"sd1","+","sd2"],[1,"mode","===",[5,"3"]]]]],[2,"raw","=",[6,"std.select",["raw",[1,"sd1","*","sd2"],[1,"mode","===",[5,"4"]]]]],[10,"raw"]]]},externals:{"std.select":()=>C,"std.sqrt":()=>be}})&&e.f)({})),Kg=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=b(__tsover_add(t,s),1e-4);return $(Ce($(__tsover_div(__tsover_mul(t,2),o),0,1),r),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"d1"},{type:"i",name:"d2"},{type:"i",name:"power"}],body:[0,[[13,"safeSum",[6,"std.max",[[1,"d1","+","d2"],[5,"0.0001"]]]],[13,"normalizedDist",[6,"std.clamp",[[1,[1,"d1","*",[5,"2"]],"/","safeSum"],[5,"0"],[5,"1"]]]],[10,[6,"std.clamp",[[6,"std.pow",["normalizedDist","power"]],[5,"0"],[5,"1"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.pow":()=>Ce}})&&e.f)({})),Zg=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=b(__tsover_add(t,s),1e-4),n=__tsover_div(__tsover_sub(s,t),o);return re(0,__tsover_add(r,.001),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"d1"},{type:"i",name:"d2"},{type:"i",name:"softness"}],body:[0,[[13,"safeSum",[6,"std.max",[[1,"d1","+","d2"],[5,"0.0001"]]]],[13,"edgeMetric",[1,[1,"d2","-","d1"],"/","safeSum"]],[10,[6,"std.smoothstep",[[5,"0"],[1,"softness","+",[5,"0.001"]],"edgeMetric"]]]]]},externals:{"std.max":()=>b,"std.smoothstep":()=>re}})&&e.f)({})),Qg=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return ct(-__tsover_mul(__tsover_mul(t,t),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"sharpness"}],body:[0,[[10,[6,"std.exp",[[4,"-",[1,[1,"dist","*","dist"],"*","sharpness"]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),Tm=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return ct(__tsover_mul(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s)),-r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"du"},{type:"i",name:"dv"},{type:"i",name:"sharpness"}],body:[0,[[10,[6,"std.exp",[[1,[1,[1,"du","*","du"],"+",[1,"dv","*","dv"]],"*",[4,"-","sharpness"]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),P8=v.fn([l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(__tsover_sub(t.x,r),s),d=__tsover_sub(t.y,o),c=__tsover_add(__tsover_mul(i,i),__tsover_mul(d,d));return ct(__tsover_div(__tsover_mul(-.5,c),n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"lx"},{type:"i",name:"ly"},{type:"i",name:"sizeSq"}],body:[0,[[13,"dx",[1,[1,[7,"uv","x"],"-","lx"],"*","aspect"]],[13,"dy",[1,[7,"uv","y"],"-","ly"]],[13,"dd2",[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]],[10,[6,"std.exp",[[1,[1,[4,"-",[5,"0.5"]],"*","dd2"],"/","sizeSq"]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),Jg=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return Ce(__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(t,s),r)),.5),.5),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angle"},{type:"i",name:"count"},{type:"i",name:"phase"},{type:"i",name:"sharpness"}],body:[0,[[13,"t",[1,[1,[6,"std.sin",[[1,[1,"angle","*","count"],"+","phase"]]],"*",[5,"0.5"]],"+",[5,"0.5"]]],[10,[6,"std.pow",["t","sharpness"]]]]]},externals:{"std.sin":()=>Y,"std.pow":()=>Ce}})&&e.f)({})),Sm=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return Ce(z(H(__tsover_mul(t,s))),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angle"},{type:"i",name:"halfCount"},{type:"i",name:"power"}],body:[0,[[10,[6,"std.pow",[[6,"std.abs",[[6,"std.cos",[[1,"angle","*","halfCount"]]]]],"power"]]]]]},externals:{"std.pow":()=>Ce,"std.abs":()=>z,"std.cos":()=>H}})&&e.f)({})),e3=v.fn([l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=tt(t.y,t.x);return f(s,__tsover_sub(s,__tsover_mul(it,q(__tsover_div(s,it)))),re(-.15,.15,t.x))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"delta"}],body:[0,[[13,"angle",[6,"std.atan2",[[7,"delta","y"],[7,"delta","x"]]]],[13,"angleWrapped",[1,"angle","-",[1,"TAU","*",[6,"std.floor",[[1,"angle","/","TAU"]]]]]],[13,"blend",[6,"std.smoothstep",[[4,"-",[5,"0.15"]],[5,"0.15"],[7,"delta","x"]]]],[10,[6,"d.vec3f",["angle","angleWrapped","blend"]]]]]},externals:{"std.atan2":()=>tt,TAU:()=>it,"std.floor":()=>q,"std.smoothstep":()=>re,"d.vec3f":()=>f}})&&e.f)({})),Hl=v.fn([a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(o,1e-4);return f(__tsover_sub(1,re(0,n,z(__tsover_sub(t,__tsover_add(s,r))))),__tsover_sub(1,re(0,n,z(__tsover_sub(t,s)))),__tsover_sub(1,re(0,n,z(__tsover_sub(t,__tsover_sub(s,r))))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"center"},{type:"i",name:"spread"},{type:"i",name:"width"}],body:[0,[[13,"w",[6,"std.max",["width",[5,"0.0001"]]]],[13,"r",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"w",[6,"std.abs",[[1,"dist","-",[1,"center","+","spread"]]]]]]]],[13,"g",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"w",[6,"std.abs",[[1,"dist","-","center"]]]]]]],[13,"b",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"w",[6,"std.abs",[[1,"dist","-",[1,"center","-","spread"]]]]]]]],[10,[6,"d.vec3f",["r","g","b"]]]]]},externals:{"std.max":()=>b,"std.smoothstep":()=>re,"std.abs":()=>z,"d.vec3f":()=>f}})&&e.f)({})),t3=v.fn([l,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=l(__tsover_sub(r.x,s.x),__tsover_sub(r.y,s.y)),n=l(__tsover_sub(t.x,s.x),__tsover_sub(t.y,s.y)),i=__tsover_add(__tsover_mul(n.x,o.x),__tsover_mul(n.y,o.y)),d=__tsover_add(__tsover_mul(o.x,o.x),__tsover_mul(o.y,o.y)),c=$(__tsover_div(i,b(d,1e-4)),0,1),_=l(__tsover_add(s.x,__tsover_mul(o.x,c)),__tsover_add(s.y,__tsover_mul(o.y,c))),u=l(__tsover_sub(t.x,_.x),__tsover_sub(t.y,_.y));return l(c,be(__tsover_add(__tsover_mul(u.x,u.x),__tsover_mul(u.y,u.y))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"}],body:[0,[[13,"lineVec",[6,"d.vec2f",[[1,[7,"b","x"],"-",[7,"a","x"]],[1,[7,"b","y"],"-",[7,"a","y"]]]]],[13,"toPoint",[6,"d.vec2f",[[1,[7,"p","x"],"-",[7,"a","x"]],[1,[7,"p","y"],"-",[7,"a","y"]]]]],[13,"dotProduct",[1,[1,[7,"toPoint","x"],"*",[7,"lineVec","x"]],"+",[1,[7,"toPoint","y"],"*",[7,"lineVec","y"]]]],[13,"lineLengthSq",[1,[1,[7,"lineVec","x"],"*",[7,"lineVec","x"]],"+",[1,[7,"lineVec","y"],"*",[7,"lineVec","y"]]]],[13,"t",[6,"std.clamp",[[1,"dotProduct","/",[6,"std.max",["lineLengthSq",[5,"0.0001"]]]],[5,"0"],[5,"1"]]]],[13,"closestPoint",[6,"d.vec2f",[[1,[7,"a","x"],"+",[1,[7,"lineVec","x"],"*","t"]],[1,[7,"a","y"],"+",[1,[7,"lineVec","y"],"*","t"]]]]],[13,"distVec",[6,"d.vec2f",[[1,[7,"p","x"],"-",[7,"closestPoint","x"]],[1,[7,"p","y"],"-",[7,"closestPoint","y"]]]]],[10,[6,"d.vec2f",["t",[6,"std.sqrt",[[1,[1,[7,"distVec","x"],"*",[7,"distVec","x"]],"+",[1,[7,"distVec","y"],"*",[7,"distVec","y"]]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.clamp":()=>$,"std.max":()=>b,"std.sqrt":()=>be}})&&e.f)({})),s3=v.fn([a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=X(r,o,s),c=b(X(n,i,s),1e-4),_=__tsover_div(t,b(d,1e-4)),u=__tsover_add(1,c),m=Ce(__tsover_sub(1,re(1,u,_)),__tsover_add(1,__tsover_mul(c,1.5)));return l(re(__tsover_sub(1,c),__tsover_add(1,c),_),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"t"},{type:"i",name:"startThickness"},{type:"i",name:"endThickness"},{type:"i",name:"startSoftness"},{type:"i",name:"endSoftness"}],body:[0,[[13,"thickness",[6,"std.mix",["startThickness","endThickness","t"]]],[13,"softness",[6,"std.max",[[6,"std.mix",["startSoftness","endSoftness","t"]],[5,"0.0001"]]]],[13,"normalizedDist",[1,"dist","/",[6,"std.max",["thickness",[5,"0.0001"]]]]],[13,"edgeEnd",[1,[5,"1"],"+","softness"]],[13,"alphaBase",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"1"],"edgeEnd","normalizedDist"]]]],[13,"softnessFactor",[1,[5,"1"],"+",[1,"softness","*",[5,"1.5"]]]],[13,"alpha",[6,"std.pow",["alphaBase","softnessFactor"]]],[13,"colorGradientStart",[1,[5,"1"],"-","softness"]],[13,"colorGradientEnd",[1,[5,"1"],"+","softness"]],[13,"colorT",[6,"std.smoothstep",["colorGradientStart","colorGradientEnd","normalizedDist"]]],[10,[6,"d.vec2f",["colorT","alpha"]]]]]},externals:{"std.mix":()=>X,"std.max":()=>b,"std.smoothstep":()=>re,"std.pow":()=>Ce,"d.vec2f":()=>l}})&&e.f)({})),Am=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return ct(__tsover_div(__tsover_mul(__tsover_mul(__tsover_sub(t,s),__tsover_sub(t,s)),-1),__tsover_mul(r,r)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"u"},{type:"i",name:"center"},{type:"i",name:"width"}],body:[0,[[10,[6,"std.exp",[[1,[1,[1,[1,"u","-","center"],"*",[1,"u","-","center"]],"*",[4,"-",[5,"1"]]],"/",[1,"width","*","width"]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),q_=v.fn([a,f,f,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=re(0,.5,t),i=re(.55,1.15,t);return X(X(o,r,f(n)),s,f(i)).mul($(t,0,1.6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"heat"},{type:"i",name:"hot"},{type:"i",name:"mid"},{type:"i",name:"fringe"}],body:[0,[[13,"toMid",[6,"std.smoothstep",[[5,"0"],[5,"0.5"],"heat"]]],[13,"toHot",[6,"std.smoothstep",[[5,"0.55"],[5,"1.15"],"heat"]]],[13,"rgb",[6,"std.mix",[[6,"std.mix",["fringe","mid",[6,"d.vec3f",["toMid"]]]],"hot",[6,"d.vec3f",["toHot"]]]]],[10,[6,[7,"rgb","mul"],[[6,"std.clamp",["heat",[5,"0"],[5,"1.6"]]]]]]]]},externals:{"std.smoothstep":()=>re,"std.mix":()=>X,"d.vec3f":()=>f,"std.clamp":()=>$}})&&e.f)({})),E8=v.fn([a,f,f,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=q_(__tsover_mul(t,1.08),s,r,o),i=q_(t,s,r,o),d=q_(__tsover_mul(t,.88),s,r,o);return f(n.x,i.y,d.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"heat"},{type:"i",name:"hot"},{type:"i",name:"mid"},{type:"i",name:"fringe"}],body:[0,[[13,"rampR",[6,"heatRamp3",[[1,"heat","*",[5,"1.08"]],"hot","mid","fringe"]]],[13,"rampG",[6,"heatRamp3",["heat","hot","mid","fringe"]]],[13,"rampB",[6,"heatRamp3",[[1,"heat","*",[5,"0.88"]],"hot","mid","fringe"]]],[10,[6,"d.vec3f",[[7,"rampR","x"],[7,"rampG","y"],[7,"rampB","z"]]]]]]},externals:{heatRamp3:()=>q_,"d.vec3f":()=>f}})&&e.f)({})),k8=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s,__tsover_sub(1,r));return __tsover_sub(1,re(o,s,t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"radius"},{type:"i",name:"feather"}],body:[0,[[13,"falloffStart",[1,"radius","*",[1,[5,"1"],"-","feather"]]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",["falloffStart","radius","dist"]]]]]]},externals:{"std.smoothstep":()=>re}})&&e.f)({})),$8=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return Jg(t,s,r,__tsover_mul(__tsover_div(1,__tsover_add(o,.05)),.3))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angle"},{type:"i",name:"count"},{type:"i",name:"phase"},{type:"i",name:"softness"}],body:[0,[[13,"sharpness",[1,[1,[5,"1"],"/",[1,"softness","+",[5,"0.05"]]],"*",[5,"0.3"]]],[10,[6,"angularSineLobes",["angle","count","phase","sharpness"]]]]]},externals:{angularSineLobes:()=>Jg}})&&e.f)({})),U8=v.fn([l,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=r.x,i=__tsover_sub(1,r.y),d=__tsover_sub(__tsover_mul(t.x,o),__tsover_mul(n,o)),c=__tsover_sub(t.y,i);return l(be(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c))),tt(c,d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"center"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"cx",[7,"center","x"]],[13,"cy",[1,[5,"1"],"-",[7,"center","y"]]],[13,"dx",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,"cx","*","aspect"]]],[13,"dy",[1,[7,"uv","y"],"-","cy"]],[13,"dist",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[13,"angle",[6,"std.atan2",["dy","dx"]]],[10,[6,"d.vec2f",["dist","angle"]]]]]},externals:{"geom.aspectOf":()=>bt,"std.sqrt":()=>be,"std.atan2":()=>tt,"d.vec2f":()=>l}})&&e.f)({})),C8=v.fn([l,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=__tsover_mul(__tsover_sub(t.x,.5),o),i=__tsover_sub(t.y,.5),d=__tsover_add(__tsover_mul(n,n),__tsover_mul(i,i));return $(__tsover_sub(1,__tsover_mul(d,r)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"strength"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"vigX",[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"]],[13,"vigY",[1,[7,"uv","y"],"-",[5,"0.5"]]],[13,"vigD2",[1,[1,"vigX","*","vigX"],"+",[1,"vigY","*","vigY"]]],[10,[6,"std.clamp",[[1,[5,"1"],"-",[1,"vigD2","*","strength"]],[5,"0"],[5,"1"]]]]]]},externals:{"geom.aspectOf":()=>bt,"std.clamp":()=>$}})&&e.f)({})),R8=v.fn([x,f],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.xyz,o=$(f(1,1,1).sub(f(1,1,1).sub($(r,f(0),f(1))).mul(f(1,1,1).sub($(s,f(0),f(1))))).add(s.mul(.16)),f(0),f(1)),n=$(Ll(s),0,1);return x(o,$(__tsover_add(t.w,__tsover_mul(n,.85)),0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"leakRgb"}],body:[0,[[13,"base",[7,"color","xyz"]],[13,"screened",[6,[7,[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]],"sub"],[[6,[7,[6,[7,[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]],"sub"],[[6,"std.clamp",["base",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]],"mul"],[[6,[7,[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]],"sub"],[[6,"std.clamp",["leakRgb",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]]]]]]],[13,"lifted",[6,[7,"screened","add"],[[6,[7,"leakRgb","mul"],[[5,"0.16"]]]]]],[13,"outRgb",[6,"std.clamp",["lifted",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]],[13,"leakLuma",[6,"std.clamp",[[6,"tone.luma601Dot",["leakRgb"]],[5,"0"],[5,"1"]]]],[13,"outA",[6,"std.clamp",[[1,[7,"color","w"],"+",[1,"leakLuma","*",[5,"0.85"]]],[5,"0"],[5,"1"]]]],[10,[6,"d.vec4f",["outRgb","outA"]]]]]},externals:{"d.vec3f":()=>f,"std.clamp":()=>$,"tone.luma601Dot":()=>Ll,"d.vec4f":()=>x}})&&e.f)({})),z8=v.fn([l,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=l(__tsover_mul(t.x,s),t.y),n=l(__tsover_mul(r.x,s),__tsover_sub(1,r.y)),i=l(__tsover_mul(s,.5),.5).sub(n),d=j(i),c=C(__tsover_div(i.x,b(d,.001)),a(1),d<.02),_=C(__tsover_div(i.y,b(d,.001)),a(0),d<.02),u=__tsover_sub(o.x,n.x),m=__tsover_sub(o.y,n.y);return l(__tsover_add(__tsover_mul(u,c),__tsover_mul(m,_)),__tsover_sub(__tsover_mul(m,c),__tsover_mul(u,_)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"anchorRaw"}],body:[0,[[13,"pA",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"anchor",[6,"d.vec2f",[[1,[7,"anchorRaw","x"],"*","aspect"],[1,[5,"1"],"-",[7,"anchorRaw","y"]]]]],[13,"toCenter",[6,[7,[6,"d.vec2f",[[1,"aspect","*",[5,"0.5"]],[5,"0.5"]]],"sub"],["anchor"]]],[13,"cLen",[6,"std.length",["toCenter"]]],[13,"dirX",[6,"std.select",[[1,[7,"toCenter","x"],"/",[6,"std.max",["cLen",[5,"0.001"]]]],[6,"d.f32",[[5,"1"]]],[1,"cLen","<",[5,"0.02"]]]]],[13,"dirY",[6,"std.select",[[1,[7,"toCenter","y"],"/",[6,"std.max",["cLen",[5,"0.001"]]]],[6,"d.f32",[[5,"0"]]],[1,"cLen","<",[5,"0.02"]]]]],[13,"relX",[1,[7,"pA","x"],"-",[7,"anchor","x"]]],[13,"relY",[1,[7,"pA","y"],"-",[7,"anchor","y"]]],[10,[6,"d.vec2f",[[1,[1,"relX","*","dirX"],"+",[1,"relY","*","dirY"]],[1,[1,"relY","*","dirX"],"-",[1,"relX","*","dirY"]]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.select":()=>C,"std.max":()=>b,"d.f32":()=>a}})&&e.f)({}));var sn=1e-4,pa=1.0471975512,Fo=6/29,jl=500,Kl=200,X_=Fo*Fo*Fo,ta=4/29,H_=1/(3*Fo*Fo),j_=3*Fo*Fo,$s=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return f(__tsover_sub(__tsover_sub(__tsover_mul(t.x,1.2249401),__tsover_mul(t.y,.2249404)),__tsover_mul(t.z,0)),__tsover_add(__tsover_add(__tsover_mul(t.x,-.0420569),__tsover_mul(t.y,1.0420571)),__tsover_mul(t.z,0)),__tsover_add(__tsover_sub(__tsover_mul(t.x,-.0196376),__tsover_mul(t.y,.0786361)),__tsover_mul(t.z,1.0982735)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p3"}],body:[0,[[13,"r",[1,[1,[1,[7,"p3","x"],"*",[5,"1.2249401"]],"-",[1,[7,"p3","y"],"*",[5,"0.2249404"]]],"-",[1,[7,"p3","z"],"*",[5,"0"]]]],[13,"g",[1,[1,[1,[7,"p3","x"],"*",[4,"-",[5,"0.0420569"]]],"+",[1,[7,"p3","y"],"*",[5,"1.0420571"]]],"+",[1,[7,"p3","z"],"*",[5,"0"]]]],[13,"b",[1,[1,[1,[7,"p3","x"],"*",[4,"-",[5,"0.0196376"]]],"-",[1,[7,"p3","y"],"*",[5,"0.0786361"]]],"+",[1,[7,"p3","z"],"*",[5,"1.0982735"]]]],[10,[6,"d.vec3f",["r","g","b"]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),ss=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return f(__tsover_add(__tsover_add(__tsover_mul(t.x,.8224621),__tsover_mul(t.y,.177538)),__tsover_mul(t.z,0)),__tsover_add(__tsover_add(__tsover_mul(t.x,.0331941),__tsover_mul(t.y,.9668058)),__tsover_mul(t.z,0)),__tsover_add(__tsover_add(__tsover_mul(t.x,.0170826),__tsover_mul(t.y,.0723974)),__tsover_mul(t.z,.9105199)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"srgb"}],body:[0,[[13,"r",[1,[1,[1,[7,"srgb","x"],"*",[5,"0.8224621"]],"+",[1,[7,"srgb","y"],"*",[5,"0.177538"]]],"+",[1,[7,"srgb","z"],"*",[5,"0"]]]],[13,"g",[1,[1,[1,[7,"srgb","x"],"*",[5,"0.0331941"]],"+",[1,[7,"srgb","y"],"*",[5,"0.9668058"]]],"+",[1,[7,"srgb","z"],"*",[5,"0"]]]],[13,"b",[1,[1,[1,[7,"srgb","x"],"*",[5,"0.0170826"]],"+",[1,[7,"srgb","y"],"*",[5,"0.0723974"]]],"+",[1,[7,"srgb","z"],"*",[5,"0.9105199"]]]],[10,[6,"d.vec3f",["r","g","b"]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),To=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_add(__tsover_add(__tsover_mul(s,.4122214708),__tsover_mul(r,.5363325363)),__tsover_mul(o,.0514459929)),i=__tsover_add(__tsover_mul(s,.2119034982),__tsover_add(__tsover_mul(r,.6806995451),__tsover_mul(o,.1073969566))),d=__tsover_add(__tsover_add(__tsover_mul(s,.0883024619),__tsover_mul(r,.2817188376)),__tsover_mul(o,.6299787005)),c=__tsover_mul(ks(n),Ce(z(n),__tsover_div(1,3))),_=__tsover_mul(ks(i),Ce(z(i),__tsover_div(1,3))),u=__tsover_mul(ks(d),Ce(z(d),__tsover_div(1,3)));return f(__tsover_sub(__tsover_add(__tsover_mul(c,.2104542553),__tsover_mul(_,.793617785)),__tsover_mul(u,.0040720468)),__tsover_add(__tsover_sub(__tsover_mul(c,1.9779984951),__tsover_mul(_,2.428592205)),__tsover_mul(u,.4505937099)),__tsover_sub(__tsover_add(__tsover_mul(c,.0259040371),__tsover_mul(_,.7827717662)),__tsover_mul(u,.808675766)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[13,"r",[7,"rgb","x"]],[13,"g",[7,"rgb","y"]],[13,"b",[7,"rgb","z"]],[13,"l",[1,[1,[1,"r","*",[5,"0.4122214708"]],"+",[1,"g","*",[5,"0.5363325363"]]],"+",[1,"b","*",[5,"0.0514459929"]]]],[13,"m",[1,[1,"r","*",[5,"0.2119034982"]],"+",[1,[1,"g","*",[5,"0.6806995451"]],"+",[1,"b","*",[5,"0.1073969566"]]]]],[13,"s",[1,[1,[1,"r","*",[5,"0.0883024619"]],"+",[1,"g","*",[5,"0.2817188376"]]],"+",[1,"b","*",[5,"0.6299787005"]]]],[13,"l_",[1,[6,"std.sign",["l"]],"*",[6,"std.pow",[[6,"std.abs",["l"]],[1,[5,"1"],"/",[5,"3"]]]]]],[13,"m_",[1,[6,"std.sign",["m"]],"*",[6,"std.pow",[[6,"std.abs",["m"]],[1,[5,"1"],"/",[5,"3"]]]]]],[13,"s_",[1,[6,"std.sign",["s"]],"*",[6,"std.pow",[[6,"std.abs",["s"]],[1,[5,"1"],"/",[5,"3"]]]]]],[10,[6,"d.vec3f",[[1,[1,[1,"l_","*",[5,"0.2104542553"]],"+",[1,"m_","*",[5,"0.793617785"]]],"-",[1,"s_","*",[5,"0.0040720468"]]],[1,[1,[1,"l_","*",[5,"1.9779984951"]],"-",[1,"m_","*",[5,"2.428592205"]]],"+",[1,"s_","*",[5,"0.4505937099"]]],[1,[1,[1,"l_","*",[5,"0.0259040371"]],"+",[1,"m_","*",[5,"0.7827717662"]]],"-",[1,"s_","*",[5,"0.808675766"]]]]]]]]},externals:{"std.sign":()=>ks,"std.pow":()=>Ce,"std.abs":()=>z,"d.vec3f":()=>f}})&&e.f)({})),Kr=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_add(__tsover_add(s,__tsover_mul(r,.3963377774)),__tsover_mul(o,.2158037573)),i=__tsover_sub(__tsover_sub(s,__tsover_mul(r,.1055613458)),__tsover_mul(o,.0638541728)),d=__tsover_sub(__tsover_sub(s,__tsover_mul(r,.0894841775)),__tsover_mul(o,1.291485548)),c=Ce(n,3),_=Ce(i,3),u=Ce(d,3);return f(__tsover_add(__tsover_sub(__tsover_mul(c,4.0767416621),__tsover_mul(_,3.3077115913)),__tsover_mul(u,.2309699292)),__tsover_sub(__tsover_add(__tsover_mul(c,-1.2684380046),__tsover_mul(_,2.6097574011)),__tsover_mul(u,.3413193965)),__tsover_add(__tsover_sub(__tsover_mul(c,-.0041960863),__tsover_mul(_,.7034186147)),__tsover_mul(u,1.707614701)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lab"}],body:[0,[[13,"L",[7,"lab","x"]],[13,"a",[7,"lab","y"]],[13,"b",[7,"lab","z"]],[13,"l_",[1,[1,"L","+",[1,"a","*",[5,"0.3963377774"]]],"+",[1,"b","*",[5,"0.2158037573"]]]],[13,"m_",[1,[1,"L","-",[1,"a","*",[5,"0.1055613458"]]],"-",[1,"b","*",[5,"0.0638541728"]]]],[13,"s_",[1,[1,"L","-",[1,"a","*",[5,"0.0894841775"]]],"-",[1,"b","*",[5,"1.291485548"]]]],[13,"l",[6,"std.pow",["l_",[5,"3"]]]],[13,"m",[6,"std.pow",["m_",[5,"3"]]]],[13,"s",[6,"std.pow",["s_",[5,"3"]]]],[10,[6,"d.vec3f",[[1,[1,[1,"l","*",[5,"4.0767416621"]],"-",[1,"m","*",[5,"3.3077115913"]]],"+",[1,"s","*",[5,"0.2309699292"]]],[1,[1,[1,"l","*",[4,"-",[5,"1.2684380046"]]],"+",[1,"m","*",[5,"2.6097574011"]]],"-",[1,"s","*",[5,"0.3413193965"]]],[1,[1,[1,"l","*",[4,"-",[5,"0.0041960863"]]],"-",[1,"m","*",[5,"0.7034186147"]]],"+",[1,"s","*",[5,"1.707614701"]]]]]]]]},externals:{"std.pow":()=>Ce,"d.vec3f":()=>f}})&&e.f)({})),zi=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z;return f(s,be(__tsover_add(__tsover_mul(r,r),__tsover_mul(o,o))),tt(o,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lab"}],body:[0,[[13,"L",[7,"lab","x"]],[13,"a",[7,"lab","y"]],[13,"b",[7,"lab","z"]],[13,"C",[6,"std.sqrt",[[1,[1,"a","*","a"],"+",[1,"b","*","b"]]]]],[13,"h",[6,"std.atan2",["b","a"]]],[10,[6,"d.vec3f",["L","C","h"]]]]]},externals:{"std.sqrt":()=>be,"std.atan2":()=>tt,"d.vec3f":()=>f}})&&e.f)({})),Ha=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z;return f(s,__tsover_mul(r,H(o)),__tsover_mul(r,Y(o)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lch"}],body:[0,[[13,"L",[7,"lch","x"]],[13,"C",[7,"lch","y"]],[13,"h",[7,"lch","z"]],[10,[6,"d.vec3f",["L",[1,"C","*",[6,"std.cos",["h"]]],[1,"C","*",[6,"std.sin",["h"]]]]]]]]},externals:{"d.vec3f":()=>f,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),Zl=v.fn([a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=a(0),n=a(0),i=a(0);return r<1?(o=t,n=s):r<2?(o=s,n=t):r<3?(n=t,i=s):r<4?(n=s,i=t):r<5?(o=s,i=t):(o=t,i=s),f(o,n,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"c"},{type:"i",name:"x"},{type:"i",name:"sector"}],body:[0,[[12,"r",[6,"d.f32",[[5,"0"]]]],[12,"g",[6,"d.f32",[[5,"0"]]]],[12,"b",[6,"d.f32",[[5,"0"]]]],[11,[1,"sector","<",[5,"1"]],[0,[[2,"r","=","c"],[2,"g","=","x"]]],[11,[1,"sector","<",[5,"2"]],[0,[[2,"r","=","x"],[2,"g","=","c"]]],[11,[1,"sector","<",[5,"3"]],[0,[[2,"g","=","c"],[2,"b","=","x"]]],[11,[1,"sector","<",[5,"4"]],[0,[[2,"g","=","x"],[2,"b","=","c"]]],[11,[1,"sector","<",[5,"5"]],[0,[[2,"r","=","x"],[2,"b","=","c"]]],[0,[[2,"r","=","c"],[2,"b","=","x"]]]]]]]],[10,[6,"d.vec3f",["r","g","b"]]]]]},externals:{"d.f32":()=>a,"d.vec3f":()=>f}})&&e.f)({})),uc=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=b(b(s,r),o),i=oe(oe(s,r),o),d=__tsover_sub(n,i),c=__tsover_mul(__tsover_add(n,i),.5),_=b(__tsover_sub(1,z(__tsover_sub(__tsover_mul(c,2),1))),sn),u=__tsover_div(d,_),m=n===s,p=n===r,y=__tsover_div(__tsover_sub(r,o),b(d,sn)),h=__tsover_add(2,__tsover_div(__tsover_sub(o,s),b(d,sn))),g=C(C(__tsover_add(4,__tsover_div(__tsover_sub(s,r),b(d,sn))),h,p),y,m);return f(__tsover_mul(g,pa),u,c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[13,"r",[7,"rgb","x"]],[13,"g",[7,"rgb","y"]],[13,"b",[7,"rgb","z"]],[13,"maxVal",[6,"std.max",[[6,"std.max",["r","g"]],"b"]]],[13,"minVal",[6,"std.min",[[6,"std.min",["r","g"]],"b"]]],[13,"delta",[1,"maxVal","-","minVal"]],[13,"l",[1,[1,"maxVal","+","minVal"],"*",[5,"0.5"]]],[13,"satDenom",[6,"std.max",[[1,[5,"1"],"-",[6,"std.abs",[[1,[1,"l","*",[5,"2"]],"-",[5,"1"]]]]],"EPSILON"]]],[13,"s",[1,"delta","/","satDenom"]],[13,"isRMax",[1,"maxVal","===","r"]],[13,"isGMax",[1,"maxVal","===","g"]],[13,"hueR",[1,[1,"g","-","b"],"/",[6,"std.max",["delta","EPSILON"]]]],[13,"hueG",[1,[5,"2"],"+",[1,[1,"b","-","r"],"/",[6,"std.max",["delta","EPSILON"]]]]],[13,"hueB",[1,[5,"4"],"+",[1,[1,"r","-","g"],"/",[6,"std.max",["delta","EPSILON"]]]]],[13,"hue",[6,"std.select",[[6,"std.select",["hueB","hueG","isGMax"]],"hueR","isRMax"]]],[13,"h",[1,"hue","*","PI_OVER_3"]],[10,[6,"d.vec3f",["h","s","l"]]]]]},externals:{"std.max":()=>b,"std.min":()=>oe,"std.abs":()=>z,EPSILON:()=>sn,"std.select":()=>C,PI_OVER_3:()=>pa,"d.vec3f":()=>f}})&&e.f)({})),ja=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_mul(r,__tsover_sub(1,z(__tsover_sub(__tsover_mul(o,2),1)))),i=__tsover_div(s,pa),d=__tsover_mul(n,__tsover_sub(1,z(__tsover_sub(bo(i,2),1)))),c=__tsover_sub(o,__tsover_mul(n,.5));return Zl(n,d,q(i)).add(c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"hsl"}],body:[0,[[13,"h",[7,"hsl","x"]],[13,"s",[7,"hsl","y"]],[13,"l",[7,"hsl","z"]],[13,"c",[1,"s","*",[1,[5,"1"],"-",[6,"std.abs",[[1,[1,"l","*",[5,"2"]],"-",[5,"1"]]]]]]],[13,"hPrime",[1,"h","/","PI_OVER_3"]],[13,"x",[1,"c","*",[1,[5,"1"],"-",[6,"std.abs",[[1,[6,"std.mod",["hPrime",[5,"2"]]],"-",[5,"1"]]]]]]],[13,"m",[1,"l","-",[1,"c","*",[5,"0.5"]]]],[13,"sector",[6,"std.floor",["hPrime"]]],[10,[6,[7,[6,"selectRGBBySector",["c","x","sector"]],"add"],["m"]]]]]},externals:{"std.abs":()=>z,PI_OVER_3:()=>pa,"std.mod":()=>bo,"std.floor":()=>q,selectRGBBySector:()=>Zl}})&&e.f)({})),Mm=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=b(b(s,r),o),i=oe(oe(s,r),o),d=__tsover_sub(n,i),c=n,_=__tsover_div(d,b(n,sn)),u=n===s,m=n===r,p=__tsover_div(__tsover_sub(r,o),b(d,sn)),y=__tsover_add(2,__tsover_div(__tsover_sub(o,s),b(d,sn))),h=C(C(__tsover_add(4,__tsover_div(__tsover_sub(s,r),b(d,sn))),y,m),p,u);return f(__tsover_mul(h,pa),_,c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[13,"r",[7,"rgb","x"]],[13,"g",[7,"rgb","y"]],[13,"b",[7,"rgb","z"]],[13,"maxVal",[6,"std.max",[[6,"std.max",["r","g"]],"b"]]],[13,"minVal",[6,"std.min",[[6,"std.min",["r","g"]],"b"]]],[13,"delta",[1,"maxVal","-","minVal"]],[13,"v","maxVal"],[13,"s",[1,"delta","/",[6,"std.max",["maxVal","EPSILON"]]]],[13,"isRMax",[1,"maxVal","===","r"]],[13,"isGMax",[1,"maxVal","===","g"]],[13,"hueR",[1,[1,"g","-","b"],"/",[6,"std.max",["delta","EPSILON"]]]],[13,"hueG",[1,[5,"2"],"+",[1,[1,"b","-","r"],"/",[6,"std.max",["delta","EPSILON"]]]]],[13,"hueB",[1,[5,"4"],"+",[1,[1,"r","-","g"],"/",[6,"std.max",["delta","EPSILON"]]]]],[13,"hue",[6,"std.select",[[6,"std.select",["hueB","hueG","isGMax"]],"hueR","isRMax"]]],[13,"h",[1,"hue","*","PI_OVER_3"]],[10,[6,"d.vec3f",["h","s","v"]]]]]},externals:{"std.max":()=>b,"std.min":()=>oe,EPSILON:()=>sn,"std.select":()=>C,PI_OVER_3:()=>pa,"d.vec3f":()=>f}})&&e.f)({})),Ac=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_mul(o,r),i=__tsover_div(s,pa),d=__tsover_mul(n,__tsover_sub(1,z(__tsover_sub(bo(i,2),1)))),c=__tsover_sub(o,n);return Zl(n,d,q(i)).add(c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"hsv"}],body:[0,[[13,"h",[7,"hsv","x"]],[13,"s",[7,"hsv","y"]],[13,"v",[7,"hsv","z"]],[13,"c",[1,"v","*","s"]],[13,"hPrime",[1,"h","/","PI_OVER_3"]],[13,"x",[1,"c","*",[1,[5,"1"],"-",[6,"std.abs",[[1,[6,"std.mod",["hPrime",[5,"2"]]],"-",[5,"1"]]]]]]],[13,"m",[1,"v","-","c"]],[13,"sector",[6,"std.floor",["hPrime"]]],[10,[6,[7,[6,"selectRGBBySector",["c","x","sector"]],"add"],["m"]]]]]},externals:{PI_OVER_3:()=>pa,"std.abs":()=>z,"std.mod":()=>bo,"std.floor":()=>q,selectRGBBySector:()=>Zl}})&&e.f)({})),Pm=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_add(__tsover_add(__tsover_mul(s,.4124564),__tsover_mul(r,.3575761)),__tsover_mul(o,.1804375)),i=__tsover_add(__tsover_add(__tsover_mul(s,.2126729),__tsover_mul(r,.7151522)),__tsover_mul(o,.072175)),d=__tsover_add(__tsover_add(__tsover_mul(s,.0193339),__tsover_mul(r,.119192)),__tsover_mul(o,.9503041)),c=__tsover_div(n,.95047),_=__tsover_div(i,1),u=__tsover_div(d,1.08883),m=C(__tsover_add(__tsover_mul(c,H_),ta),Ce(c,__tsover_div(1,3)),c>X_),p=C(__tsover_add(__tsover_mul(_,H_),ta),Ce(_,__tsover_div(1,3)),_>X_),y=C(__tsover_add(__tsover_mul(u,H_),ta),Ce(u,__tsover_div(1,3)),u>X_);return f(__tsover_sub(__tsover_mul(p,116),16),__tsover_mul(__tsover_sub(m,p),jl),__tsover_mul(__tsover_sub(p,y),Kl))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[13,"r",[7,"rgb","x"]],[13,"g",[7,"rgb","y"]],[13,"b",[7,"rgb","z"]],[13,"x",[1,[1,[1,"r","*",[5,"0.4124564"]],"+",[1,"g","*",[5,"0.3575761"]]],"+",[1,"b","*",[5,"0.1804375"]]]],[13,"y",[1,[1,[1,"r","*",[5,"0.2126729"]],"+",[1,"g","*",[5,"0.7151522"]]],"+",[1,"b","*",[5,"0.072175"]]]],[13,"z",[1,[1,[1,"r","*",[5,"0.0193339"]],"+",[1,"g","*",[5,"0.119192"]]],"+",[1,"b","*",[5,"0.9503041"]]]],[13,"xn",[1,"x","/",[5,"0.95047"]]],[13,"yn",[1,"y","/",[5,"1"]]],[13,"zn",[1,"z","/",[5,"1.08883"]]],[13,"fx",[6,"std.select",[[1,[1,"xn","*","LAB_FWD_SLOPE"],"+","LAB_OFFSET"],[6,"std.pow",["xn",[1,[5,"1"],"/",[5,"3"]]]],[1,"xn",">","LAB_DELTA3"]]]],[13,"fy",[6,"std.select",[[1,[1,"yn","*","LAB_FWD_SLOPE"],"+","LAB_OFFSET"],[6,"std.pow",["yn",[1,[5,"1"],"/",[5,"3"]]]],[1,"yn",">","LAB_DELTA3"]]]],[13,"fz",[6,"std.select",[[1,[1,"zn","*","LAB_FWD_SLOPE"],"+","LAB_OFFSET"],[6,"std.pow",["zn",[1,[5,"1"],"/",[5,"3"]]]],[1,"zn",">","LAB_DELTA3"]]]],[13,"L",[1,[1,"fy","*",[5,"116"]],"-",[5,"16"]]],[13,"a",[1,[1,"fx","-","fy"],"*","LAB_KAPPA"]],[13,"bLab",[1,[1,"fy","-","fz"],"*","LAB_LAMBDA"]],[10,[6,"d.vec3f",["L","a","bLab"]]]]]},externals:{"std.select":()=>C,LAB_FWD_SLOPE:()=>H_,LAB_OFFSET:()=>ta,"std.pow":()=>Ce,LAB_DELTA3:()=>X_,LAB_KAPPA:()=>jl,LAB_LAMBDA:()=>Kl,"d.vec3f":()=>f}})&&e.f)({})),Mc=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z,n=__tsover_div(__tsover_add(s,16),116),i=__tsover_add(__tsover_div(r,jl),n),d=__tsover_sub(n,__tsover_div(o,Kl)),c=C(__tsover_mul(__tsover_sub(i,ta),j_),Ce(i,3),i>Fo),_=C(__tsover_mul(__tsover_sub(n,ta),j_),Ce(n,3),n>Fo),u=C(__tsover_mul(__tsover_sub(d,ta),j_),Ce(d,3),d>Fo),m=__tsover_mul(c,.95047),p=__tsover_mul(_,1),y=__tsover_mul(u,1.08883);return f(__tsover_sub(__tsover_sub(__tsover_mul(m,3.2404542),__tsover_mul(p,1.5371385)),__tsover_mul(y,.4985314)),__tsover_add(__tsover_add(__tsover_mul(m,-.969266),__tsover_mul(p,1.8760108)),__tsover_mul(y,.041556)),__tsover_add(__tsover_sub(__tsover_mul(m,.0556434),__tsover_mul(p,.2040259)),__tsover_mul(y,1.0572252)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lab"}],body:[0,[[13,"L",[7,"lab","x"]],[13,"a",[7,"lab","y"]],[13,"b",[7,"lab","z"]],[13,"fy",[1,[1,"L","+",[5,"16"]],"/",[5,"116"]]],[13,"fx",[1,[1,"a","/","LAB_KAPPA"],"+","fy"]],[13,"fz",[1,"fy","-",[1,"b","/","LAB_LAMBDA"]]],[13,"xn",[6,"std.select",[[1,[1,"fx","-","LAB_OFFSET"],"*","LAB_INV_SLOPE"],[6,"std.pow",["fx",[5,"3"]]],[1,"fx",">","LAB_DELTA"]]]],[13,"yn",[6,"std.select",[[1,[1,"fy","-","LAB_OFFSET"],"*","LAB_INV_SLOPE"],[6,"std.pow",["fy",[5,"3"]]],[1,"fy",">","LAB_DELTA"]]]],[13,"zn",[6,"std.select",[[1,[1,"fz","-","LAB_OFFSET"],"*","LAB_INV_SLOPE"],[6,"std.pow",["fz",[5,"3"]]],[1,"fz",">","LAB_DELTA"]]]],[13,"x",[1,"xn","*",[5,"0.95047"]]],[13,"y",[1,"yn","*",[5,"1"]]],[13,"z",[1,"zn","*",[5,"1.08883"]]],[13,"r",[1,[1,[1,"x","*",[5,"3.2404542"]],"-",[1,"y","*",[5,"1.5371385"]]],"-",[1,"z","*",[5,"0.4985314"]]]],[13,"g",[1,[1,[1,"x","*",[4,"-",[5,"0.969266"]]],"+",[1,"y","*",[5,"1.8760108"]]],"+",[1,"z","*",[5,"0.041556"]]]],[13,"bRgb",[1,[1,[1,"x","*",[5,"0.0556434"]],"-",[1,"y","*",[5,"0.2040259"]]],"+",[1,"z","*",[5,"1.0572252"]]]],[10,[6,"d.vec3f",["r","g","bRgb"]]]]]},externals:{LAB_KAPPA:()=>jl,LAB_LAMBDA:()=>Kl,"std.select":()=>C,LAB_OFFSET:()=>ta,LAB_INV_SLOPE:()=>j_,"std.pow":()=>Ce,LAB_DELTA:()=>Fo,"d.vec3f":()=>f}})&&e.f)({})),Em=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z;return f(s,be(__tsover_add(__tsover_mul(r,r),__tsover_mul(o,o))),tt(o,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lab"}],body:[0,[[13,"L",[7,"lab","x"]],[13,"a",[7,"lab","y"]],[13,"b",[7,"lab","z"]],[13,"C",[6,"std.sqrt",[[1,[1,"a","*","a"],"+",[1,"b","*","b"]]]]],[13,"h",[6,"std.atan2",["b","a"]]],[10,[6,"d.vec3f",["L","C","h"]]]]]},externals:{"std.sqrt":()=>be,"std.atan2":()=>tt,"d.vec3f":()=>f}})&&e.f)({})),Pc=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.x,r=t.y,o=t.z;return f(s,__tsover_mul(r,H(o)),__tsover_mul(r,Y(o)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lch"}],body:[0,[[13,"L",[7,"lch","x"]],[13,"C",[7,"lch","y"]],[13,"h",[7,"lch","z"]],[10,[6,"d.vec3f",["L",[1,"C","*",[6,"std.cos",["h"]]],[1,"C","*",[6,"std.sin",["h"]]]]]]]]},externals:{"d.vec3f":()=>f,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),is=v.fn([f,f,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return t.mul(r).add(s.mul(o)).div(n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"wA"},{type:"i",name:"wB"},{type:"i",name:"sw"}],body:[0,[[10,[6,[7,[6,[7,[6,[7,"a","mul"],["wA"]],"add"],[[6,[7,"b","mul"],["wB"]]]],"div"],["sw"]]]]]},externals:{}})&&e.f)({})),Bo=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(is(t.xyz,s.xyz,o,n,d),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"rgb",[6,"awMix",[[7,"colorA","xyz"],[7,"colorB","xyz"],"weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x}})&&e.f)({})),dR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(Kr(Ha(is(zi(To($s(t.xyz))),zi(To($s(s.xyz))),o,n,d)))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"oklchA",[6,"oklabToOklch",[[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]]]],[13,"oklchB",[6,"oklabToOklch",[[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]]]],[13,"mixed",[6,"awMix",["oklchA","oklchB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"oklabToRgb",[[6,"oklchToOklab",["mixed"]]]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,oklabToOklch:()=>zi,rgbToOklab:()=>To,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,oklchToOklab:()=>Ha,"d.vec4f":()=>x}})&&e.f)({})),cR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(Kr(is(To($s(t.xyz)),To($s(s.xyz)),o,n,d))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"oklabA",[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]],[13,"oklabB",[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]],[13,"mixed",[6,"awMix",["oklabA","oklabB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"oklabToRgb",["mixed"]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,rgbToOklab:()=>To,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,"d.vec4f":()=>x}})&&e.f)({})),_R=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(ja(is(uc($s(t.xyz)),uc($s(s.xyz)),o,n,d))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"hslA",[6,"rgbToHsl",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]],[13,"hslB",[6,"rgbToHsl",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]],[13,"mixed",[6,"awMix",["hslA","hslB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"hslToRgb",["mixed"]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,rgbToHsl:()=>uc,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,hslToRgb:()=>ja,"d.vec4f":()=>x}})&&e.f)({})),lR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(Ac(is(Mm($s(t.xyz)),Mm($s(s.xyz)),o,n,d))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"hsvA",[6,"rgbToHsv",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]],[13,"hsvB",[6,"rgbToHsv",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]],[13,"mixed",[6,"awMix",["hsvA","hsvB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"hsvToRgb",["mixed"]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,rgbToHsv:()=>Mm,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,hsvToRgb:()=>Ac,"d.vec4f":()=>x}})&&e.f)({})),uR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_mul(s.w,r),i=__tsover_add(o,n),d=b(i,.001);return x(ss(Mc(Pc(is(Em(Pm($s(t.xyz))),Em(Pm($s(s.xyz))),o,n,d)))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,[7,"colorA","w"],"*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,[7,"colorB","w"],"*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"lchA",[6,"labToLch",[[6,"rgbToLab",[[6,"p3ToSRGB",[[7,"colorA","xyz"]]]]]]]],[13,"lchB",[6,"labToLch",[[6,"rgbToLab",[[6,"p3ToSRGB",[[7,"colorB","xyz"]]]]]]]],[13,"mixed",[6,"awMix",["lchA","lchB","weightA","weightB","safeWeight"]]],[13,"rgb",[6,"sRGBToP3",[[6,"labToRgb",[[6,"lchToLab",["mixed"]]]]]]],[10,[6,"d.vec4f",["rgb","totalWeight"]]]]]},externals:{"std.max":()=>b,labToLch:()=>Em,rgbToLab:()=>Pm,p3ToSRGB:()=>$s,awMix:()=>is,sRGBToP3:()=>ss,labToRgb:()=>Mc,lchToLab:()=>Pc,"d.vec4f":()=>x}})&&e.f)({})),Fv={0:Bo,1:dR,2:cR,3:_R,4:lR,5:uR};var co=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({conv:f,alpha:a}),"MixStep"),fa=v.fn([f,a,f,a,a],co)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return co({conv:is(t,r,i,d,b(c,.001)),alpha:c})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"alphaA"},{type:"i",name:"convB"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[10,[6,"MixStep",[[104,{conv:[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]],alpha:"totalWeight"}]]]]]]},externals:{"std.max":()=>b,MixStep:()=>co,awMix:()=>is}})&&e.f)({})),t1=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(is(t,s,i,d,b(c,.001)),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",["mixed","totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x}})&&e.f)({})),mR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(Kr(Ha(is(t,s,i,d,b(c,.001))))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"oklabToRgb",[[6,"oklchToOklab",["mixed"]]]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,oklchToOklab:()=>Ha}})&&e.f)({})),pR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(Kr(is(t,s,i,d,b(c,.001)))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"oklabToRgb",["mixed"]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,oklabToRgb:()=>Kr}})&&e.f)({})),fR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(ja(is(t,s,i,d,b(c,.001)))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"hslToRgb",["mixed"]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,hslToRgb:()=>ja}})&&e.f)({})),vR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(Ac(is(t,s,i,d,b(c,.001)))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"hsvToRgb",["mixed"]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,hsvToRgb:()=>Ac}})&&e.f)({})),yR=v.fn([f,f,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,__tsover_sub(1,n)),d=__tsover_mul(o,n),c=__tsover_add(i,d);return x(ss(Mc(Pc(is(t,s,i,d,b(c,.001))))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"convA"},{type:"i",name:"convB"},{type:"i",name:"alphaA"},{type:"i",name:"alphaB"},{type:"i",name:"t"}],body:[0,[[13,"weightA",[1,"alphaA","*",[1,[5,"1"],"-","t"]]],[13,"weightB",[1,"alphaB","*","t"]],[13,"totalWeight",[1,"weightA","+","weightB"]],[13,"safeWeight",[6,"std.max",["totalWeight",[5,"0.001"]]]],[13,"mixed",[6,"awMix",["convA","convB","weightA","weightB","safeWeight"]]],[10,[6,"d.vec4f",[[6,"sRGBToP3",[[6,"labToRgb",[[6,"lchToLab",["mixed"]]]]]],"totalWeight"]]]]]},externals:{"std.max":()=>b,awMix:()=>is,"d.vec4f":()=>x,sRGBToP3:()=>ss,labToRgb:()=>Mc,lchToLab:()=>Pc}})&&e.f)({})),Bv={0:t1,1:mR,2:pR,3:fR,4:vR,5:yR};var Wv=1e-4,km=6/29,hR=(e,t,s)=>[e*1.2249401-t*.2249404,e*-.0420569+t*1.0420571,e*-.0196376-t*.0786361+s*1.0982735],r3=(e,t,s)=>{let r=Math.cbrt(e*.4122214708+t*.5363325363+s*.0514459929),o=Math.cbrt(e*.2119034982+t*.6806995451+s*.1073969566),n=Math.cbrt(e*.0883024619+t*.2817188376+s*.6299787005);return[r*.2104542553+o*.793617785-n*.0040720468,r*1.9779984951-o*2.428592205+n*.4505937099,r*.0259040371+o*.7827717662-n*.808675766]},n7=(e,t,s,r,o)=>{let n=Math.max(o,Wv);return(r===e?(t-s)/n:r===t?2+(s-e)/n:4+(e-t)/n)*(Math.PI/3)},xR=(e,t,s)=>{let r=Math.max(e,t,s),o=Math.min(e,t,s),n=r-o,i=(r+o)*.5,d=n/Math.max(1-Math.abs(2*i-1),Wv);return[n7(e,t,s,r,n),d,i]},gR=(e,t,s)=>{let r=Math.max(e,t,s),o=r-Math.min(e,t,s),n=o/Math.max(r,Wv);return[n7(e,t,s,r,o),n,r]},bR=(e,t,s)=>{let r=(e*.4124564+t*.3575761+s*.1804375)/.95047,o=e*.2126729+t*.7151522+s*.072175,n=(e*.0193339+t*.119192+s*.9503041)/1.08883,i=km**3,d=m=>m>i?Math.cbrt(m):m/(3*km*km)+4/29,c=d(r),_=d(o),u=d(n);return[_*116-16,(c-_)*500,(_-u)*200]},s1=(e,t,s,r)=>{let[o,n,i]=hR(e,t,s);switch(r){case 1:{let[d,c,_]=r3(o,n,i);return[d,Math.sqrt(c*c+_*_),Math.atan2(_,c)]}case 2:return r3(o,n,i);case 3:return xR(o,n,i);case 4:return gR(o,n,i);case 5:{let[d,c,_]=bR(o,n,i);return[d,Math.sqrt(c*c+_*_),Math.atan2(_,c)]}default:return[e,t,s]}},wR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=X(f(t.x,t.y,t.z),f(s.x,s.y,s.z),f(r));return x(o.x,o.y,o.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"target"},{type:"i",name:"amount"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"targetRgb",[6,"d.vec3f",[[7,"target","x"],[7,"target","y"],[7,"target","z"]]]],[13,"mixed",[6,"std.mix",["rgb","targetRgb",[6,"d.vec3f",["amount"]]]]],[10,[6,"d.vec4f",[[7,"mixed","x"],[7,"mixed","y"],[7,"mixed","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({}));var So=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_add(__tsover_mul(t.x,.2126),__tsover_mul(t.y,.7152)),__tsover_mul(t.z,.0722))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[1,[1,[1,[7,"rgb","x"],"*",[5,"0.2126"]],"+",[1,[7,"rgb","y"],"*",[5,"0.7152"]]],"+",[1,[7,"rgb","z"],"*",[5,"0.0722"]]]]]]},externals:{}})&&e.f)({})),an=v.fn([f,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return C(f(0),f(1),wp(s,t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"edge"},{type:"i",name:"x"}],body:[0,[[10,[6,"std.select",[[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]],[6,"std.ge",["x","edge"]]]]]]]},externals:{"std.select":()=>C,"d.vec3f":()=>f,"std.ge":()=>wp}})&&e.f)({})),$t=v.fn([x,f,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(t.w,__tsover_sub(1,r)),n=__tsover_add(r,o);return x(s.mul(r).add(t.xyz.mul(o)),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"blended"},{type:"i",name:"overlayAlpha"}],body:[0,[[13,"baseWeight",[1,[7,"base","w"],"*",[1,[5,"1"],"-","overlayAlpha"]]],[13,"finalAlpha",[1,"overlayAlpha","+","baseWeight"]],[13,"rgb",[6,[7,[6,[7,"blended","mul"],["overlayAlpha"]],"add"],[[6,[7,[7,"base","xyz"],"mul"],["baseWeight"]]]]],[10,[6,"d.vec4f",["rgb","finalAlpha"]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),dn=v.fn([x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.w;return x(C(f(0,0,0),t.xyz.div(s),s>.001),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"alpha",[7,"color","w"]],[13,"straightRGB",[6,"std.select",[[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,[7,[7,"color","xyz"],"div"],["alpha"]],[1,"alpha",">",[5,"0.001"]]]]],[10,[6,"d.vec4f",["straightRGB","alpha"]]]]]},externals:{"std.select":()=>C,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),TR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,s.xyz,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[10,[6,"overComposite",["base",[7,"overlay","xyz"],"overlayAlpha"]]]]]},externals:{overComposite:()=>$t}})&&e.f)({})),SR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=__tsover_mul(t.w,__tsover_sub(1,o)),i=__tsover_add(o,n),d=zi(To($s(t.xyz)));return x(ss(Kr(Ha(zi(To($s(s.xyz))).mul(o).add(d.mul(n))))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseWeight",[1,[7,"base","w"],"*",[1,[5,"1"],"-","overlayAlpha"]]],[13,"finalAlpha",[1,"overlayAlpha","+","baseWeight"]],[13,"baseOklch",[6,"oklabToOklch",[[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"base","xyz"]]]]]]]],[13,"overlayOklch",[6,"oklabToOklch",[[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"overlay","xyz"]]]]]]]],[13,"blendedOklch",[6,[7,[6,[7,"overlayOklch","mul"],["overlayAlpha"]],"add"],[[6,[7,"baseOklch","mul"],["baseWeight"]]]]],[13,"rgb",[6,"sRGBToP3",[[6,"oklabToRgb",[[6,"oklchToOklab",["blendedOklch"]]]]]]],[10,[6,"d.vec4f",["rgb","finalAlpha"]]]]]},externals:{oklabToOklch:()=>zi,rgbToOklab:()=>To,p3ToSRGB:()=>$s,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,oklchToOklab:()=>Ha,"d.vec4f":()=>x}})&&e.f)({})),AR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=__tsover_mul(t.w,__tsover_sub(1,o)),i=__tsover_add(o,n),d=To($s(t.xyz));return x(ss(Kr(To($s(s.xyz)).mul(o).add(d.mul(n)))),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseWeight",[1,[7,"base","w"],"*",[1,[5,"1"],"-","overlayAlpha"]]],[13,"finalAlpha",[1,"overlayAlpha","+","baseWeight"]],[13,"baseOklab",[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"base","xyz"]]]]]],[13,"overlayOklab",[6,"rgbToOklab",[[6,"p3ToSRGB",[[7,"overlay","xyz"]]]]]],[13,"blendedOklab",[6,[7,[6,[7,"overlayOklab","mul"],["overlayAlpha"]],"add"],[[6,[7,"baseOklab","mul"],["baseWeight"]]]]],[13,"rgb",[6,"sRGBToP3",[[6,"oklabToRgb",["blendedOklab"]]]]],[10,[6,"d.vec4f",["rgb","finalAlpha"]]]]]},externals:{rgbToOklab:()=>To,p3ToSRGB:()=>$s,sRGBToP3:()=>ss,oklabToRgb:()=>Kr,"d.vec4f":()=>x}})&&e.f)({})),MR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,t.xyz.mul(s.xyz),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{overComposite:()=>$t}})&&e.f)({})),PR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,ht(1,ht(1,t.xyz).mul(ht(1,s.xyz))),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.sub",[[5,"1"],[6,[7,[6,"std.sub",[[5,"1"],[7,"base","xyz"]]],"mul"],[[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,overComposite:()=>$t}})&&e.f)({})),ER=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,t.xyz.add(s.xyz),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,[7,[7,"base","xyz"],"add"],[[7,"overlay","xyz"]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{overComposite:()=>$t}})&&e.f)({})),kR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,X(t.xyz.mul(s.xyz).mul(2),ht(1,ht(1,t.xyz).mul(ht(1,s.xyz)).mul(2)),an(f(.5),t.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"mult",[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]],"mul"],[[5,"2"]]]],[13,"scr",[6,"std.sub",[[5,"1"],[6,[7,[6,[7,[6,"std.sub",[[5,"1"],[7,"base","xyz"]]],"mul"],[[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]]],"mul"],[[5,"2"]]]]]],[13,"blended",[6,"std.mix",["mult","scr",[6,"step3",[[6,"d.vec3f",[[5,"0.5"]]],[7,"base","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,"std.mix":()=>X,step3:()=>an,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),$R=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,z(t.xyz.sub(s.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.abs",[[6,[7,[7,"base","xyz"],"sub"],[[7,"overlay","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.abs":()=>z,overComposite:()=>$t}})&&e.f)({})),UR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=ht(1,s.xyz);return $t(t,X(t.xyz,oe(t.xyz.div(n),f(1)),an(f(.001),n)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"oneMinusOverlay",[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]],[13,"dodged",[6,"std.mix",[[7,"base","xyz"],[6,"std.min",[[6,[7,[7,"base","xyz"],"div"],["oneMinusOverlay"]],[6,"d.vec3f",[[5,"1"]]]]],[6,"step3",[[6,"d.vec3f",[[5,"0.001"]]],"oneMinusOverlay"]]]]],[10,[6,"overComposite",["base","dodged","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,"std.mix":()=>X,"std.min":()=>oe,"d.vec3f":()=>f,step3:()=>an,overComposite:()=>$t}})&&e.f)({})),CR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,t.xyz.add(s.xyz).sub(t.xyz.mul(s.xyz).mul(2)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,[7,[6,[7,[7,"base","xyz"],"add"],[[7,"overlay","xyz"]]],"sub"],[[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]],"mul"],[[5,"2"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{overComposite:()=>$t}})&&e.f)({})),RR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=So(t.xyz),i=So(s.xyz),d=__tsover_sub(n,i);return $t(t,s.xyz.add(d),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseLum",[6,"luminance",[[7,"base","xyz"]]]],[13,"overlayLum",[6,"luminance",[[7,"overlay","xyz"]]]],[13,"lumDiff",[1,"baseLum","-","overlayLum"]],[13,"blended",[6,[7,[7,"overlay","xyz"],"add"],["lumDiff"]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{luminance:()=>So,overComposite:()=>$t}})&&e.f)({})),zR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=So(t.xyz),i=So(s.xyz),d=__tsover_div(i,__tsover_add(n,1e-4));return $t(t,t.xyz.mul(d),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseLum",[6,"luminance",[[7,"base","xyz"]]]],[13,"overlayLum",[6,"luminance",[[7,"overlay","xyz"]]]],[13,"lumRatio",[1,"overlayLum","/",[1,"baseLum","+",[5,"0.0001"]]]],[13,"blended",[6,[7,[7,"base","xyz"],"mul"],["lumRatio"]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{luminance:()=>So,overComposite:()=>$t}})&&e.f)({})),GR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,oe(t.xyz,s.xyz),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.min",[[7,"base","xyz"],[7,"overlay","xyz"]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.min":()=>oe,overComposite:()=>$t}})&&e.f)({})),YR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,b(t.xyz,s.xyz),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.max",[[7,"base","xyz"],[7,"overlay","xyz"]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.max":()=>b,overComposite:()=>$t}})&&e.f)({})),LR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=b(ht(1,ht(1,t.xyz).div(s.xyz.add(1e-4))),f(0));return $t(t,X(f(0),n,an(f(1e-4),s.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"burned",[6,"std.max",[[6,"std.sub",[[5,"1"],[6,[7,[6,"std.sub",[[5,"1"],[7,"base","xyz"]]],"div"],[[6,[7,[7,"overlay","xyz"],"add"],[[5,"0.0001"]]]]]]],[6,"d.vec3f",[[5,"0"]]]]]],[13,"blended",[6,"std.mix",[[6,"d.vec3f",[[5,"0"]]],"burned",[6,"step3",[[6,"d.vec3f",[[5,"0.0001"]]],[7,"overlay","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.max":()=>b,"std.sub":()=>ht,"d.vec3f":()=>f,"std.mix":()=>X,step3:()=>an,overComposite:()=>$t}})&&e.f)({})),IR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,b(t.xyz.add(s.xyz).add(-1),f(0)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"blended",[6,"std.max",[[6,[7,[6,[7,[7,"base","xyz"],"add"],[[7,"overlay","xyz"]]],"add"],[[4,"-",[5,"1"]]]],[6,"d.vec3f",[[5,"0"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.max":()=>b,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),DR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=t.xyz.mul(s.xyz).mul(2),i=t.xyz.mul(t.xyz),d=n.add(i.mul(ht(1,s.xyz.mul(2)))),c=be(t.xyz);return $t(t,X(d,t.xyz.mul(ht(1,s.xyz)).mul(2).add(c.mul(s.xyz.mul(2).sub(1))),an(f(.5),s.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"mult",[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]],"mul"],[[5,"2"]]]],[13,"baseSquared",[6,[7,[7,"base","xyz"],"mul"],[[7,"base","xyz"]]]],[13,"softDark",[6,[7,"mult","add"],[[6,[7,"baseSquared","mul"],[[6,"std.sub",[[5,"1"],[6,[7,[7,"overlay","xyz"],"mul"],[[5,"2"]]]]]]]]]],[13,"baseSqrt",[6,"std.sqrt",[[7,"base","xyz"]]]],[13,"softLightVal",[6,[7,[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]]],"mul"],[[5,"2"]]],"add"],[[6,[7,"baseSqrt","mul"],[[6,[7,[6,[7,[7,"overlay","xyz"],"mul"],[[5,"2"]]],"sub"],[[5,"1"]]]]]]]],[13,"blended",[6,"std.mix",["softDark","softLightVal",[6,"step3",[[6,"d.vec3f",[[5,"0.5"]]],[7,"overlay","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,"std.sqrt":()=>be,"std.mix":()=>X,step3:()=>an,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),FR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r);return $t(t,X(t.xyz.mul(s.xyz).mul(2),ht(1,ht(1,t.xyz).mul(ht(1,s.xyz)).mul(2)),an(f(.5),s.xyz)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"mult",[6,[7,[6,[7,[7,"base","xyz"],"mul"],[[7,"overlay","xyz"]]],"mul"],[[5,"2"]]]],[13,"scr",[6,"std.sub",[[5,"1"],[6,[7,[6,[7,[6,"std.sub",[[5,"1"],[7,"base","xyz"]]],"mul"],[[6,"std.sub",[[5,"1"],[7,"overlay","xyz"]]]]],"mul"],[[5,"2"]]]]]],[13,"blended",[6,"std.mix",["mult","scr",[6,"step3",[[6,"d.vec3f",[[5,"0.5"]]],[7,"overlay","xyz"]]]]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{"std.sub":()=>ht,"std.mix":()=>X,step3:()=>an,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),BR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=So(t.xyz),i=So(s.xyz),d=t.xyz.sub(n),c=s.xyz.sub(i),_=j(d),u=j(c);return $t(t,C(f(0),c.div(u),u>1e-4).mul(_).add(n),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseLum",[6,"luminance",[[7,"base","xyz"]]]],[13,"overlayLum",[6,"luminance",[[7,"overlay","xyz"]]]],[13,"baseChromaticity",[6,[7,[7,"base","xyz"],"sub"],["baseLum"]]],[13,"overlayChromaticity",[6,[7,[7,"overlay","xyz"],"sub"],["overlayLum"]]],[13,"baseChromaLength",[6,"std.length",["baseChromaticity"]]],[13,"overlayChromaLength",[6,"std.length",["overlayChromaticity"]]],[13,"overlayChromaDir",[6,"std.select",[[6,"d.vec3f",[[5,"0"]]],[6,[7,"overlayChromaticity","div"],["overlayChromaLength"]],[1,"overlayChromaLength",">",[5,"0.0001"]]]]],[13,"blended",[6,[7,[6,[7,"overlayChromaDir","mul"],["baseChromaLength"]],"add"],["baseLum"]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{luminance:()=>So,"std.length":()=>j,"std.select":()=>C,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),WR=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s.w,r),n=So(t.xyz),i=So(s.xyz),d=t.xyz.sub(n),c=s.xyz.sub(i),_=j(d),u=C(f(0),d.div(_),_>1e-4),m=j(c);return $t(t,u.mul(m).add(n),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"overlay"},{type:"i",name:"opacity"}],body:[0,[[13,"overlayAlpha",[1,[7,"overlay","w"],"*","opacity"]],[13,"baseLum",[6,"luminance",[[7,"base","xyz"]]]],[13,"overlayLum",[6,"luminance",[[7,"overlay","xyz"]]]],[13,"baseChromaticity",[6,[7,[7,"base","xyz"],"sub"],["baseLum"]]],[13,"overlayChromaticity",[6,[7,[7,"overlay","xyz"],"sub"],["overlayLum"]]],[13,"baseChromaLength",[6,"std.length",["baseChromaticity"]]],[13,"baseChromaDir",[6,"std.select",[[6,"d.vec3f",[[5,"0"]]],[6,[7,"baseChromaticity","div"],["baseChromaLength"]],[1,"baseChromaLength",">",[5,"0.0001"]]]]],[13,"overlayChromaLength",[6,"std.length",["overlayChromaticity"]]],[13,"blended",[6,[7,[6,[7,"baseChromaDir","mul"],["overlayChromaLength"]],"add"],["baseLum"]]],[10,[6,"overComposite",["base","blended","overlayAlpha"]]]]]},externals:{luminance:()=>So,"std.length":()=>j,"std.select":()=>C,"d.vec3f":()=>f,overComposite:()=>$t}})&&e.f)({})),o3={normal:TR,"normal-oklch":SR,"normal-oklab":AR,multiply:MR,screen:PR,linearDodge:ER,overlay:kR,difference:$R,colorDodge:UR,exclusion:CR,color:RR,luminosity:zR,darken:GR,lighten:YR,colorBurn:LR,linearBurn:IR,softLight:DR,hardLight:FR,hue:BR,saturation:WR};var K_=f(.2126,.7152,.0722),n3={alpha:v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.xyz,__tsover_mul(t.w,s.w))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"target"},{type:"i",name:"mask"}],body:[0,[[10,[6,"d.vec4f",[[7,"target","xyz"],[1,[7,"target","w"],"*",[7,"mask","w"]]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),alphaInverted:v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.xyz,__tsover_mul(t.w,__tsover_sub(1,s.w)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"target"},{type:"i",name:"mask"}],body:[0,[[10,[6,"d.vec4f",[[7,"target","xyz"],[1,[7,"target","w"],"*",[1,[5,"1"],"-",[7,"mask","w"]]]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),luminance:v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(s.xyz,K_);return x(t.xyz,__tsover_mul(t.w,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"target"},{type:"i",name:"mask"}],body:[0,[[13,"lum",[6,"std.dot",[[7,"mask","xyz"],"LUMINANCE_WEIGHTS"]]],[10,[6,"d.vec4f",[[7,"target","xyz"],[1,[7,"target","w"],"*","lum"]]]]]]},externals:{"std.dot":()=>se,LUMINANCE_WEIGHTS:()=>K_,"d.vec4f":()=>x}})&&e.f)({})),luminanceInverted:v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(s.xyz,K_);return x(t.xyz,__tsover_mul(t.w,__tsover_sub(1,r)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"target"},{type:"i",name:"mask"}],body:[0,[[13,"lum",[6,"std.dot",[[7,"mask","xyz"],"LUMINANCE_WEIGHTS"]]],[10,[6,"d.vec4f",[[7,"target","xyz"],[1,[7,"target","w"],"*",[1,[5,"1"],"-","lum"]]]]]]]},externals:{"std.dot":()=>se,LUMINANCE_WEIGHTS:()=>K_,"d.vec4f":()=>x}})&&e.f)({}))},OR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return f(t.x,t.y,t.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),VR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return $(t.div(t.add(1)),f(0),f(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,"std.clamp",[[6,[7,"color","div"],[[6,[7,"color","add"],[[5,"1"]]]]],[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]]]},externals:{"std.clamp":()=>$,"d.vec3f":()=>f}})&&e.f)({})),NR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=b(t.sub(.004),f(0)),r=s.mul(s.mul(6.2).add(.5)),o=s.mul(s.mul(6.2).add(1.7)).add(.06);return Ce(r.div(o),f(2.2))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"c",[6,"std.max",[[6,[7,"color","sub"],[[5,"0.004"]]],[6,"d.vec3f",[[5,"0"]]]]]],[13,"a",[6,[7,"c","mul"],[[6,[7,[6,[7,"c","mul"],[[5,"6.2"]]],"add"],[[5,"0.5"]]]]]],[13,"b",[6,[7,[6,[7,"c","mul"],[[6,[7,[6,[7,"c","mul"],[[5,"6.2"]]],"add"],[[5,"1.7"]]]]],"add"],[[5,"0.06"]]]],[10,[6,"std.pow",[[6,[7,"a","div"],["b"]],[6,"d.vec3f",[[5,"2.2"]]]]]]]]},externals:{"std.max":()=>b,"d.vec3f":()=>f,"std.pow":()=>Ce}})&&e.f)({})),a3=ud(.59719,.076,.0284,.35458,.90834,.13383,.04823,.01566,.83777),i3=ud(1.60475,-.10208,-.00327,-.53108,1.10813,-.07276,-.07367,-.00605,1.07602),d3=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.mul(t.add(.0245786)).sub(90537e-9),r=t.mul(t.add(.432951).mul(.983729)).add(.238081);return s.div(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[13,"a",[6,[7,[6,[7,"v","mul"],[[6,[7,"v","add"],[[5,"0.0245786"]]]]],"sub"],[[5,"0.000090537"]]]],[13,"b",[6,[7,[6,[7,"v","mul"],[[6,[7,[6,[7,"v","add"],[[5,"0.432951"]]],"mul"],[[5,"0.983729"]]]]],"add"],[[5,"0.238081"]]]],[10,[6,[7,"a","div"],["b"]]]]]},externals:{}})&&e.f)({})),qR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.div(.6);return s=a3.mul(s),s=d3(s),s=i3.mul(s),$(s,f(0),f(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[12,"c",[6,[7,"color","div"],[[5,"0.6"]]]],[2,"c","=",[6,"ACES_INPUT.mul",["c"]]],[2,"c","=",[6,"rrtAndODTFit",["c"]]],[2,"c","=",[6,"ACES_OUTPUT.mul",["c"]]],[10,[6,"std.clamp",["c",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]]]},externals:{"ACES_INPUT.mul":()=>a3.mul,rrtAndODTFit:()=>d3,"ACES_OUTPUT.mul":()=>i3.mul,"std.clamp":()=>$,"d.vec3f":()=>f}})&&e.f)({})),c3=ud(.6274,.0691,.0164,.3293,.9195,.088,.0433,.0113,.8956),_3=ud(1.6605,-.1246,-.0182,-.5876,1.1329,-.1006,-.0728,-.0083,1.1187),l3=ud(.856627153315983,.137318972929847,.11189821299995,.0951212405381588,.761241990602591,.0767994186031903,.0482516061458583,.101439036467562,.811302368396859),u3=ud(1.1271005818144368,-.1413297634984383,-.14132976349843826,-.11060664309660323,1.157823702216272,-.11060664309660294,-.016493938717834573,-.016493938717834257,1.2519364065950405),$m=-12.47393,m3=4.026069,p3=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.mul(t),r=s.mul(s);return r.mul(s).mul(15.5).sub(r.mul(t).mul(40.14)).add(r.mul(31.96).sub(s.mul(t).mul(6.868)).add(s.mul(.4298).add(t.mul(.1191).sub(.00232))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"}],body:[0,[[13,"x2",[6,[7,"x","mul"],["x"]]],[13,"x4",[6,[7,"x2","mul"],["x2"]]],[10,[6,[7,[6,[7,[6,[7,[6,[7,"x4","mul"],["x2"]],"mul"],[[5,"15.5"]]],"sub"],[[6,[7,[6,[7,"x4","mul"],["x"]],"mul"],[[5,"40.14"]]]]],"add"],[[6,[7,[6,[7,[6,[7,"x4","mul"],[[5,"31.96"]]],"sub"],[[6,[7,[6,[7,"x2","mul"],["x"]],"mul"],[[5,"6.868"]]]]],"add"],[[6,[7,[6,[7,"x2","mul"],[[5,"0.4298"]]],"add"],[[6,[7,[6,[7,"x","mul"],[[5,"0.1191"]]],"sub"],[[5,"0.00232"]]]]]]]]]]]]},externals:{}})&&e.f)({})),XR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=c3.mul(t);return s=l3.mul(s),s=b(s,f(1e-10)),s=gp(s),s=s.sub($m).div(__tsover_sub(m3,$m)),s=$(s,f(0),f(1)),s=p3(s),s=u3.mul(s),s=Ce(b(s,f(0)),f(2.2)),s=_3.mul(s),$(s,f(0),f(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[12,"c",[6,"LINEAR_SRGB_TO_LINEAR_REC2020.mul",["color"]]],[2,"c","=",[6,"AGX_INSET.mul",["c"]]],[2,"c","=",[6,"std.max",["c",[6,"d.vec3f",[[5,"1e-10"]]]]]],[2,"c","=",[6,"std.log2",["c"]]],[2,"c","=",[6,[7,[6,[7,"c","sub"],["AGX_MIN_EV"]],"div"],[[1,"AGX_MAX_EV","-","AGX_MIN_EV"]]]],[2,"c","=",[6,"std.clamp",["c",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]],[2,"c","=",[6,"agxContrastApprox",["c"]]],[2,"c","=",[6,"AGX_OUTSET.mul",["c"]]],[2,"c","=",[6,"std.pow",[[6,"std.max",["c",[6,"d.vec3f",[[5,"0"]]]]],[6,"d.vec3f",[[5,"2.2"]]]]]],[2,"c","=",[6,"LINEAR_REC2020_TO_LINEAR_SRGB.mul",["c"]]],[10,[6,"std.clamp",["c",[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]]]]},externals:{"LINEAR_SRGB_TO_LINEAR_REC2020.mul":()=>c3.mul,"AGX_INSET.mul":()=>l3.mul,"std.max":()=>b,"d.vec3f":()=>f,"std.log2":()=>gp,AGX_MIN_EV:()=>$m,AGX_MAX_EV:()=>m3,"std.clamp":()=>$,agxContrastApprox:()=>p3,"AGX_OUTSET.mul":()=>u3.mul,"std.pow":()=>Ce,"LINEAR_REC2020_TO_LINEAR_SRGB.mul":()=>_3.mul}})&&e.f)({})),Z_=.76,f3=.15,a7=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=oe(t.x,oe(t.y,t.z)),r=C(.04,__tsover_sub(s,__tsover_mul(__tsover_mul(6.25,s),s)),s<.08),o=t.sub(r),n=b(o.x,b(o.y,o.z));if(noe,"std.select":()=>C,"std.max":()=>b,NEUTRAL_START_COMPRESSION:()=>Z_,NEUTRAL_DESATURATION:()=>f3,"std.mix":()=>X,"d.vec3f":()=>f}})&&e.f)({})),v3={linear:OR,reinhard:VR,cineon:NR,aces:qR,agx:XR,neutral:a7,hable:v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.mul(16),r=s.mul(s.mul(.15).add(.05)).add(.004),o=s.mul(s.mul(.15).add(.5)).add(.06);return r.div(o).sub(__tsover_div(.02,.3))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"x",[6,[7,"color","mul"],[[5,"16"]]]],[13,"num",[6,[7,[6,[7,"x","mul"],[[6,[7,[6,[7,"x","mul"],[[5,"0.15"]]],"add"],[[5,"0.05"]]]]],"add"],[[5,"0.004"]]]],[13,"den",[6,[7,[6,[7,"x","mul"],[[6,[7,[6,[7,"x","mul"],[[5,"0.15"]]],"add"],[[5,"0.5"]]]]],"add"],[[5,"0.06"]]]],[10,[6,[7,[6,[7,"num","div"],["den"]],"sub"],[[1,[5,"0.02"],"/",[5,"0.3"]]]]]]]},externals:{}})&&e.f)({})),unreal:v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return t.div(t.add(.155)).mul(1.019)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,[7,[6,[7,"color","div"],[[6,[7,"color","add"],[[5,"0.155"]]]]],"mul"],[[5,"1.019"]]]]]]},externals:{}})&&e.f)({}))},HR=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return C(Ce(t,f(.41666)).mul(1.055).sub(.055),t.mul(12.92),wc(t,f(.0031308)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"a",[6,[7,[6,[7,[6,"std.pow",["color",[6,"d.vec3f",[[5,"0.41666"]]]]],"mul"],[[5,"1.055"]]],"sub"],[[5,"0.055"]]]],[13,"b",[6,[7,"color","mul"],[[5,"12.92"]]]],[13,"factor",[6,"std.le",["color",[6,"d.vec3f",[[5,"0.0031308"]]]]]],[10,[6,"std.select",["a","b","factor"]]]]]},externals:{"std.pow":()=>Ce,"d.vec3f":()=>f,"std.le":()=>wc,"std.select":()=>C}})&&e.f)({})),y3=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return C(Ce(t.add(f(.055)).div(f(1.055)),f(2.4)),t.div(f(12.92)),wc(t,f(.04045)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"hi",[6,"std.pow",[[6,[7,[6,[7,"color","add"],[[6,"d.vec3f",[[5,"0.055"]]]]],"div"],[[6,"d.vec3f",[[5,"1.055"]]]]],[6,"d.vec3f",[[5,"2.4"]]]]]],[13,"lo",[6,[7,"color","div"],[[6,"d.vec3f",[[5,"12.92"]]]]]],[13,"isLow",[6,"std.le",["color",[6,"d.vec3f",[[5,"0.04045"]]]]]],[10,[6,"std.select",["hi","lo","isLow"]]]]]},externals:{"std.pow":()=>Ce,"d.vec3f":()=>f,"std.le":()=>wc,"std.select":()=>C}})&&e.f)({})),Tn=e=>e?e.offsetX!==0||e.offsetY!==0||e.rotation!==0||e.scale!==1||e.anchorX!==.5||e.anchorY!==.5:!1,jR=v.fn([l,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_div(__tsover_mul(o,Math.PI),180),u=H(_),m=Y(_),p=__tsover_div(__tsover_sub(t.x,i),n),y=__tsover_div(__tsover_sub(t.y,d),n),h=__tsover_mul(p,c),g=y,w=__tsover_sub(__tsover_mul(h,u),__tsover_mul(g,m)),S=__tsover_add(__tsover_mul(h,m),__tsover_mul(g,u));return l(__tsover_add(__tsover_sub(__tsover_div(w,c),s),i),__tsover_add(__tsover_sub(S,r),d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"offsetX"},{type:"i",name:"offsetY"},{type:"i",name:"rotation"},{type:"i",name:"scale"},{type:"i",name:"anchorX"},{type:"i",name:"anchorY"},{type:"i",name:"aspectRatio"}],body:[0,[[13,"rotationRad",[1,[1,"rotation","*","Math.PI"],"/",[5,"180"]]],[13,"cosAngle",[6,"std.cos",["rotationRad"]]],[13,"sinAngle",[6,"std.sin",["rotationRad"]]],[13,"centeredX",[1,[1,[7,"uv","x"],"-","anchorX"],"/","scale"]],[13,"centeredY",[1,[1,[7,"uv","y"],"-","anchorY"],"/","scale"]],[13,"squareX",[1,"centeredX","*","aspectRatio"]],[13,"squareY","centeredY"],[13,"rotatedSquareX",[1,[1,"squareX","*","cosAngle"],"-",[1,"squareY","*","sinAngle"]]],[13,"rotatedSquareY",[1,[1,"squareX","*","sinAngle"],"+",[1,"squareY","*","cosAngle"]]],[13,"finalX",[1,[1,[1,"rotatedSquareX","/","aspectRatio"],"-","offsetX"],"+","anchorX"]],[13,"finalY",[1,[1,"rotatedSquareY","-","offsetY"],"+","anchorY"]],[10,[6,"d.vec2f",["finalX","finalY"]]]]]},externals:{"Math.PI":()=>Math.PI,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({}));v.fn([l,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_add(__tsover_sub(t.x,i),s),u=__tsover_add(__tsover_sub(t.y,d),r),m=__tsover_mul(_,c),p=u,y=-__tsover_div(__tsover_mul(o,Math.PI),180),h=H(y),g=Y(y),w=__tsover_sub(__tsover_mul(m,h),__tsover_mul(p,g)),S=__tsover_add(__tsover_mul(m,g),__tsover_mul(p,h)),T=__tsover_mul(__tsover_div(w,c),n),A=__tsover_mul(S,n);return l(__tsover_add(T,i),__tsover_add(A,d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"offsetX"},{type:"i",name:"offsetY"},{type:"i",name:"rotation"},{type:"i",name:"scale"},{type:"i",name:"anchorX"},{type:"i",name:"anchorY"},{type:"i",name:"aspectRatio"}],body:[0,[[13,"centeredX",[1,[1,[7,"uv","x"],"-","anchorX"],"+","offsetX"]],[13,"centeredY",[1,[1,[7,"uv","y"],"-","anchorY"],"+","offsetY"]],[13,"squareX",[1,"centeredX","*","aspectRatio"]],[13,"squareY","centeredY"],[13,"rotationRad",[4,"-",[1,[1,"rotation","*","Math.PI"],"/",[5,"180"]]]],[13,"cosAngle",[6,"std.cos",["rotationRad"]]],[13,"sinAngle",[6,"std.sin",["rotationRad"]]],[13,"rotatedSquareX",[1,[1,"squareX","*","cosAngle"],"-",[1,"squareY","*","sinAngle"]]],[13,"rotatedSquareY",[1,[1,"squareX","*","sinAngle"],"+",[1,"squareY","*","cosAngle"]]],[13,"scaledX",[1,[1,"rotatedSquareX","/","aspectRatio"],"*","scale"]],[13,"scaledY",[1,"rotatedSquareY","*","scale"]],[10,[6,"d.vec2f",[[1,"scaledX","+","anchorX"],[1,"scaledY","+","anchorY"]]]]]]},externals:{"Math.PI":()=>Math.PI,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({}));var Ov=(e,t,s)=>{let r=T=>T.unit==="px"?T.value/t:T.value,o=T=>T.unit==="px"?T.value/s:T.value,n=r(e.x),i=o(e.y),d=r(e.width),c=o(e.height),_=(T,A,P)=>P==="end"?1-T-A:P==="center"?.5+T-A/2:T,u=e.origin??"top-left",m=u.includes("left")?"start":u.includes("right")?"end":"center",p=u.includes("top")?"start":u.includes("bottom")?"end":"center",y=_(n,d,m),h=_(i,c,p),g=y+d/2,w=h+c/2,S=e.cornerRadius?e.cornerRadius.unit==="px"?e.cornerRadius.value/s:e.cornerRadius.value:0;return{centerX:g,centerY:w,halfWidthUV:d/2,halfHeightUV:c/2,cornerRadiusUV:S,rotation:e.rotation}},KR=v.fn([l,a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=__tsover_sub(t.x,s),m=__tsover_sub(t.y,r),p=-__tsover_div(__tsover_mul(d,Math.PI),180),y=H(p),h=Y(p),g=__tsover_mul(u,c),w=m,S=__tsover_sub(__tsover_mul(g,y),__tsover_mul(w,h)),T=__tsover_add(__tsover_mul(g,h),__tsover_mul(w,y)),A=__tsover_mul(o,c),P=n,U=__tsover_sub(A,i),D=__tsover_sub(P,i),O=__tsover_sub(z(S),U),L=__tsover_sub(z(T),D),G=l(b(O,0),b(L,0)),W=__tsover_sub(__tsover_add(j(G),oe(b(O,L),0)),i),K=b(_,1e-7);return C(__tsover_sub(1,re(-K,K,W)),C(a(0),a(1),W<=0),_<=0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"centerX"},{type:"i",name:"centerY"},{type:"i",name:"halfWidth"},{type:"i",name:"halfHeight"},{type:"i",name:"cornerRadius"},{type:"i",name:"rotation"},{type:"i",name:"aspectRatio"},{type:"i",name:"aaFeather"}],body:[0,[[13,"centeredX",[1,[7,"uv","x"],"-","centerX"]],[13,"centeredY",[1,[7,"uv","y"],"-","centerY"]],[13,"rotRad",[4,"-",[1,[1,"rotation","*","Math.PI"],"/",[5,"180"]]]],[13,"cosA",[6,"std.cos",["rotRad"]]],[13,"sinA",[6,"std.sin",["rotRad"]]],[13,"sqX",[1,"centeredX","*","aspectRatio"]],[13,"sqY","centeredY"],[13,"rotatedX",[1,[1,"sqX","*","cosA"],"-",[1,"sqY","*","sinA"]]],[13,"rotatedY",[1,[1,"sqX","*","sinA"],"+",[1,"sqY","*","cosA"]]],[13,"halfWidthSq",[1,"halfWidth","*","aspectRatio"]],[13,"halfHeightSq","halfHeight"],[13,"innerHalfW",[1,"halfWidthSq","-","cornerRadius"]],[13,"innerHalfH",[1,"halfHeightSq","-","cornerRadius"]],[13,"qx",[1,[6,"std.abs",["rotatedX"]],"-","innerHalfW"]],[13,"qy",[1,[6,"std.abs",["rotatedY"]],"-","innerHalfH"]],[13,"qClamped",[6,"d.vec2f",[[6,"std.max",["qx",[5,"0"]]],[6,"std.max",["qy",[5,"0"]]]]]],[13,"sdf",[1,[1,[6,"std.length",["qClamped"]],"+",[6,"std.min",[[6,"std.max",["qx","qy"]],[5,"0"]]]],"-","cornerRadius"]],[13,"feather",[6,"std.max",["aaFeather",[5,"1e-7"]]]],[13,"ramp",[1,[5,"1"],"-",[6,"std.smoothstep",[[4,"-","feather"],"feather","sdf"]]]],[13,"binary",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"sdf","<=",[5,"0"]]]]],[10,[6,"std.select",["ramp","binary",[1,"aaFeather","<=",[5,"0"]]]]]]]},externals:{"Math.PI":()=>Math.PI,"std.cos":()=>H,"std.sin":()=>Y,"std.abs":()=>z,"d.vec2f":()=>l,"std.max":()=>b,"std.length":()=>j,"std.min":()=>oe,"std.smoothstep":()=>re,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})),h3=v.fn([l,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_sub(t.x,s),_=__tsover_sub(t.y,r),u=-__tsover_div(__tsover_mul(i,Math.PI),180),m=H(u),p=Y(u),y=__tsover_mul(c,d),h=_,g=__tsover_sub(__tsover_mul(y,m),__tsover_mul(h,p)),w=__tsover_add(__tsover_mul(y,p),__tsover_mul(h,m)),S=b(__tsover_mul(o,d),1e-6),T=b(n,1e-6);return l(__tsover_add(__tsover_div(g,__tsover_mul(S,2)),.5),__tsover_add(__tsover_div(w,__tsover_mul(T,2)),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"centerX"},{type:"i",name:"centerY"},{type:"i",name:"halfWidth"},{type:"i",name:"halfHeight"},{type:"i",name:"rotation"},{type:"i",name:"aspectRatio"}],body:[0,[[13,"centeredX",[1,[7,"uv","x"],"-","centerX"]],[13,"centeredY",[1,[7,"uv","y"],"-","centerY"]],[13,"rotRad",[4,"-",[1,[1,"rotation","*","Math.PI"],"/",[5,"180"]]]],[13,"cosA",[6,"std.cos",["rotRad"]]],[13,"sinA",[6,"std.sin",["rotRad"]]],[13,"sqX",[1,"centeredX","*","aspectRatio"]],[13,"sqY","centeredY"],[13,"rotatedX",[1,[1,"sqX","*","cosA"],"-",[1,"sqY","*","sinA"]]],[13,"rotatedY",[1,[1,"sqX","*","sinA"],"+",[1,"sqY","*","cosA"]]],[13,"halfWidthSq",[6,"std.max",[[1,"halfWidth","*","aspectRatio"],[5,"0.000001"]]]],[13,"halfHeightSq",[6,"std.max",["halfHeight",[5,"0.000001"]]]],[13,"localX",[1,[1,"rotatedX","/",[1,"halfWidthSq","*",[5,"2"]]],"+",[5,"0.5"]]],[13,"localY",[1,[1,"rotatedY","/",[1,"halfHeightSq","*",[5,"2"]]],"+",[5,"0.5"]]],[10,[6,"d.vec2f",["localX","localY"]]]]]},externals:{"Math.PI":()=>Math.PI,"std.cos":()=>H,"std.sin":()=>Y,"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),i7=(e,t,s)=>{let r=s.rotationDeg*Math.PI/180,o=Math.cos(r),n=Math.sin(r),i=(e-s.centerX)*s.aspectRatio,d=t-s.centerY,c=i*o+d*n,_=i*-n+d*o,u=Math.max(s.halfWidthUV*s.aspectRatio,1e-6),m=Math.max(s.halfHeightUV,1e-6);return{x:c/(2*u)+.5,y:_/(2*m)+.5}},sc={x:{value:0,unit:"uv"},y:{value:0,unit:"uv"},width:{value:1,unit:"uv"},height:{value:1,unit:"uv"},origin:"top-left",rotation:0};function Vv(e){if(!e||typeof e!="object")return;let t=(s,r)=>s&&typeof s=="object"?{value:s.value??r.value,unit:s.unit??r.unit}:{...r};return{x:t(e.x,sc.x),y:t(e.y,sc.y),width:t(e.width,sc.width),height:t(e.height,sc.height),origin:e.origin??"top-left",rotation:e.rotation??0,...e.cornerRadius?{cornerRadius:e.cornerRadius}:{},...e.lockAspect!==void 0?{lockAspect:e.lockAspect}:{}}}function r1(e){if(!e||typeof e!="object")return!1;let t=(s,r)=>!!s&&s.unit==="uv"&&s.value===r;return t(e.x,0)&&t(e.y,0)&&t(e.width,1)&&t(e.height,1)&&(e.rotation??0)===0&&(e.cornerRadius?.value??0)===0}var Kt=class fl{_emit;constructor(t){this._emit=t}member(t){return new fl(s=>`${ZR(this._emit(s))}.${t}`)}mul(t){return new fl(s=>`(${this._emit(s)} * ${x3(t,s)})`)}add(t){return new fl(s=>`(${this._emit(s)} + ${x3(t,s)})`)}};function ZR(e){return/^[\w.$]+$/.test(e)?e:`(${e})`}function x3(e,t){return typeof e=="number"?o1(e):e._emit(t)}function o1(e){return Number.isFinite(e)?Number.isInteger(e)?`${e}.0`:`${e}`:e>0?"3.4e38":e<0?"-3.4e38":"0.0"}var Nv=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({linearClamp:{sampler:"filtering"},nearestClamp:{sampler:"filtering"},linearRepeat:{sampler:"filtering"},nearestRepeat:{sampler:"filtering"}}).$idx(2),"SHARED_SAMPLER_LAYOUT"),rc={uniforms:0,textures:1,samplers:2,external:3};function vd(e){return new Kt(()=>e)}function vt(e){return new Kt(()=>o1(e))}function we(e,t,s){return new Kt(r=>`${r.external(e,t)}(${s.map(o=>o._emit(r)).join(", ")})`)}function Ws(...e){return new Kt(t=>`vec4f(${e.map(s=>d7(s,t)).join(", ")})`)}function oc(e,t,s){return new Kt(r=>`mix(${e._emit(r)}, ${t._emit(r)}, ${d7(s,r)})`)}var QR=0;function ur(e,t){let s=QR++;return new Kt(r=>r.memo(`local:${s}`,()=>{let o=r.freshLocal(t);return r.statement(`let ${o} = ${e._emit(r)};`),o}))}var xr=vd("vec4f(0.0, 0.0, 0.0, 0.0)"),Um=vd("vec4f(1.0, 1.0, 1.0, 0.0)");function d7(e,t){return typeof e=="number"?o1(e):e._emit(t)}function Hn(e,t,s,r){return we(o3[s]??o3.normal,`blend_${Ql(s)}`,[e,t,r])}function JR(e,t,s){return we(n3[s]??n3.alpha,`mask_${Ql(s)}`,[e,t])}function Ql(e){return e.replace(/[^a-zA-Z0-9_]/g,"_")}function g3(e,t,s,r){let o={},n=new Map,i=new Set,d=[],c=new Map,_=0,u={external(g,w){let S=n.get(g);if(S)return S;let T=Ql(w);if(i.has(T)){let A=1;for(;i.has(`${T}_${A}`);)A++;T=`${T}_${A}`}return i.add(T),n.set(g,T),o[T]=g,T},statement(g){d.push(g)},freshLocal(g){return`${Ql(g)}_${_++}`},memo(g,w){let S=c.get(g);if(S!==void 0)return S;let T=w();return c.set(g,T),T}},m=s?"vec2f(in.uv.x, 1.0 - in.uv.y)":"in.uv";d.push(`var uv = ${m};`);let p=e._emit(u),y=t(p,u),h=`${d.join(` +`)} +${p} +${y}`;return r&&/\b(?:tex|samp|ext)\.\$\./.test(h)&&!/\buni\.\$\./.test(h)&&(u.external(r,"uni"),d.unshift("_ = uni.$.uniforms._sys.time;")),{body:`{ + ${d.join(` + `)} + return ${y}; +}`,externals:o}}function c7(e,t={}){let s={sampler:Nv},r=[],o=[],n=[],i=[],d=new Set,c=[],_=[],u=[],m=[],p=0,y=0,h=0,g=0,w=new Set,S=e.store.layout;S&&S.$idx(rc.uniforms),s.uniform=S;let T=F=>new Kt(le=>(S&&le.external(S,"uni"),F)),A=F=>T(`uni.$.uniforms.${F}`),P=F=>T(e.store.gpuAccessor(F,"uni")),U={uv:new Kt(()=>"uv"),time:A("_sys.time"),viewportSize:A("_sys.viewportSize"),logicalViewportSize:A("_sys.logicalViewportSize"),aspect:A("_sys.aspect"),pointer:A("_sys.pointer")},D=F=>({key:F,sample:(le,ae="linearClamp")=>new Kt(ne=>`textureSample(tex.$.${F}, samp.$.${ae}, ${le._emit(ne)})`),sampleLevel:(le,ae="linearClamp")=>new Kt(ne=>`textureSampleLevel(tex.$.${F}, samp.$.${ae}, ${le._emit(ne)}, 0.0)`),accessor:()=>new Kt(()=>`tex.$.${F}`),dimensions:()=>new Kt(()=>`vec2f(textureDimensions(tex.$.${F}))`)}),O=F=>({key:F,sample:(le,ae="linearClamp")=>new Kt(ne=>`textureSampleBaseClampToEdge(ext.$.${F}, samp.$.${ae}, ${le._emit(ne)})`),sampleLevel:(le,ae="linearClamp")=>new Kt(ne=>`textureSampleBaseClampToEdge(ext.$.${F}, samp.$.${ae}, ${le._emit(ne)})`),accessor:()=>new Kt(()=>`ext.$.${F}`),dimensions:()=>new Kt(()=>`vec2f(textureDimensions(ext.$.${F}))`)}),L=F=>{let le=`rtt_${p++}`;return r.push({key:le,root:F}),o.push({key:le,kind:"rtt"}),D(le)},G=new Map,W=(F,le,ae)=>{let ne=`${F.id}:${le}`,ie=G.get(ne);if(ie!==void 0)return ie;let ge=ae?e.resolveCustomId(ae):null,Ye=ge?L(bs(ge,new Set([F.id]))):null;return G.set(ne,Ye),Ye},K=new Map,Q=F=>{let le=K.get(F.id);if(le)return le;let ae={},ne=F.metadata.maps;if(ne){let ie={},ge=F.definition.mapSampleUVs;if(ge){let Ye={};for(let[Je,rt]of Object.entries(F.handles))rt.cpu||(Ye[Je]=P(rt));ie=ge({uniforms:Ye,ctx:U})??{}}for(let[Ye,Je]of Object.entries(ne)){if(!(Ye in F.handles))continue;let rt=Ee(Je,F,Ye,ie[Ye]);rt&&(ae[Ye]=rt)}}return K.set(F.id,ae),ae},te=F=>{let le=Lo(F.id),ae=F.metadata.maps;if(!ae||Object.keys(ae).length===0)return A(le);let ne=Q(F);return Object.keys(ne).length===0?A(le):new Kt(ie=>ie.memo(`props:${F.id}`,()=>{S&&ie.external(S,"uni");let ge=ie.freshLocal(`p_${le}`);ie.statement(`var ${ge} = uni.$.uniforms.${le};`);for(let[Ye,Je]of Object.entries(ne))ie.statement(`${ge}.${Ye} = ${Je._emit(ie)};`);return ge}))},ee=F=>{let le={};for(let[ae,ne]of Object.entries(F.handles))le[ae]=ne.value;return le},he=F=>{let le={};Lo(F.id);let ae=te(F);for(let[ie,ge]of Object.entries(F.handles)){if(ge.cpu)continue;let Ye=F.metadata.maps;Ye&&ie in Ye?le[ie]=ae.member(ie):le[ie]=P(ge)}let ne=F.definition.extraFields;if(ne)for(let ie of Object.keys(ne))le[ie]=ae.member(ie);return le},Ee=(F,le,ae,ne)=>{let ie=F,ge=Lo(le.id);if(ie.type==="map"){let Ye=W(le,ae,ie.source);return Ye?sz(tz(Ye.sample(ne??U.uv),ie.channel??"luminance"),A(`${ge}._map_${ae}_inputMin`),A(`${ge}._map_${ae}_inputMax`),A(`${ge}._map_${ae}_outputMin`),A(`${ge}._map_${ae}_outputMax`),A(`${ge}._map_${ae}_curve`)):null}return ie.type==="mouse-position"||ie.type==="mouse"||ie.type==="auto-animate"?A(`${ge}._smoothed_${ae}`):null},Te=(F,le,ae,ne)=>{let ie=le.metadata.mask;if(!ie?.source)return F;let ge=e.resolveCustomId(ie.source);if(!ge)return F;if(ae.has(ge))return console.error("[gpu] circular dependency in shader masks."),F;let Ye=new Set(ae);Ye.add(le.id);let Je=bs(ge,Ye);return ne&&(Je=L(Je).sample(ne)),JR(F,Je,ie.type??"alpha")},Ue=F=>A(`${Lo(F.id)}._opacity`),Me=F=>!!F.metadata.boundingBox&&!!F.definition.boundingBoxDeclaration&&!r1(F.metadata.boundingBox),Pe=F=>F.handles.cutout?.value===1,Re=F=>!!F.definition.requiresChild,de=F=>!!F.definition.blendWithChildren,je=F=>Me(F)&&!F.definition.boundingBoxDeclaration?.boxResamplesContent&&Re(F)&&F.metadata.blendMode==="normal"&&!Pe(F)&&!de(F),fe=()=>new Kt(F=>`(0.5 / max(${U.viewportSize.member("y")._emit(F)}, 1.0))`),Ke=(F,le=U.uv)=>{let ae=Lo(F.id),ne=ie=>A(`${ae}._bbox_${ie}`);return we(KR,"bboxClipMask",[le,ne("centerX"),ne("centerY"),ne("halfWidth"),ne("halfHeight"),ne("cornerRadius"),ne("rotation"),ne("aspectRatio"),fe()])},Ze=(F,le)=>{if(!Me(le))return F;if(le.definition.boundingBoxDeclaration?.boxResamplesContent){let ne=Lo(le.id),ie=rt=>A(`${ne}._bbox_${rt}`),ge=L(F),Ye=we(h3,"bboxGenUVContext",[U.uv,ie("centerX"),ie("centerY"),ie("halfWidth"),ie("halfHeight"),ie("rotation"),ie("aspectRatio")]),Je=we(dn,"unpremultiplyAlpha",[ge.sample(Ye)]);return Ws(Je.member("rgb"),Je.member("a").mul(Ke(le)))}let ae=Ke(le);return Ws(F.member("rgb"),F.member("a").mul(ae))},at=(F,le)=>{let ae=le.metadata.transform;if(!ae||!Tn(ae))return F;let ne=Lo(le.id),ie=L(F),ge=Ye=>A(`${ne}._xform_${Ye}`);return Gi(we(jR,"applyUVTransform",[U.uv,ge("offsetX"),ge("offsetY"),ge("rotation"),ge("scale"),ge("anchorX"),ge("anchorY"),ge("aspectRatio")]),Ye=>ie.sample(Ye),rz[ae.edges]??0)},Fe=(F,le,ae)=>Me(ae)?le!==void 0&&je(ae)?oc(le,F,Ke(ae)):Ze(F,ae):at(F,ae),Ie=(F,le)=>je(le)?{transformedFragment:F,clipMaskNode:Ke(le)}:{transformedFragment:Me(le)?Ze(F,le):at(F,le),clipMaskNode:void 0},st=(F,le,ae,ne)=>{let ie=Ue(ae),ge=de(ae)?F!==void 0?Hn(F,le,"normal",ie):oc(xr,le,ie):oc(F??xr,le,ie);return ne===void 0?ge:oc(F??xr,ge,ne)},Xe=(F,le)=>{if(F.definition.compute)try{let ae=F.definition.compute(le);if(ae)return i.push({nodeId:F.id,getComputeNodes:ae.getComputeNodes,bindInputs:ae.bindInputs}),ae.outputs}catch(ae){Is(`[gpu] error initializing compute for node ${F.id}:`,ae)}},We=F=>{let le=Lo(F.id),ae=ne=>A(`${le}._bbox_${ne}`);return{centerX:ae("centerX"),centerY:ae("centerY"),halfWidth:ae("halfWidth"),halfHeight:ae("halfHeight"),rotation:ae("rotation")}},Ve=F=>{let le=F.definition.boundingBoxDeclaration;return!!le&&(!!le.computeBounds||!!le.propBindings)},Ft=F=>{if(!F.definition.wantsBoundsParams)return{};let le={};Me(F)&&(le.ownBoundsParams=We(F));let ae=[...e.getChildren(F.id)].sort((ne,ie)=>ne.metadata.renderOrder-ie.metadata.renderOrder);for(let ne of ae)if(ne.metadata.visible!==!1){if(Me(ne)){le.childBoundsParams=We(ne);break}if(Ve(ne)){let ie=Lo(F.id),ge=Ye=>A(`${ie}._childBounds_${Ye}`);le.childBoundsParams={centerX:ge("centerX"),centerY:ge("centerY"),halfWidth:ge("halfWidth"),halfHeight:ge("halfHeight"),rotation:vt(0)};break}}return le},Gt=!1,os=(F,le,ae={})=>({noteCustomWgsl:()=>{Gt=!0},props:te(F),uniforms:he(F),propValues:ee(F),childNode:le,ctx:U,logicalViewportSize:U.logicalViewportSize,convertToTexture:L,declareTexture:ne=>{o.some(ie=>ie.key===ne.key)||o.push({key:ne.key,kind:"media",resource:ne._resource})},registerExternalTexture:ne=>{let ie=`video_${h++}`;return n.push({key:ie,getSource:ne}),O(ie)},registerComputeTexture:ne=>{let ie=`compute_${y++}`;o.push({key:ie,kind:"compute",resource:{texture:ne}});let ge=ne?.props?.format;return(ge==="r32float"||ge==="rg32float"||ge==="rgba32float")&&w.add(ie),D(ie)},createMediaTexture:ne=>t.createMediaTexture?.(ne)??(()=>{throw new Error("[gpu] createMediaTexture unavailable (no TextureManager injected)")})(),createDataTexture:ne=>t.createDataTexture?.(ne)??(()=>{throw new Error("[gpu] createDataTexture unavailable (no TextureManager injected)")})(),registerMediaTexture:ne=>{let ie=`media_${g++}`;return o.push({key:ie,kind:"media",resource:{get texture(){return ne()}}}),D(ie)},getCpuValue:ne=>{if((F.metadata.maps?.[ne]||ne.startsWith("_animTime"))&&t.resolveDriverCpuValue){let ie=t.resolveDriverCpuValue(F.id,ne);if(ie!==void 0)return ie}return F.handles[ne]?.value},getMapInfo:ne=>{let ie=F.metadata.maps?.[ne];if(!ie||ie.type!=="map")return null;let ge=W(F,ne,ie.source);return ge?{sourceTexture:ge,channel:ie.channel??"luminance",window:()=>t.resolveMapWindow?.(F.id,ne)??{inputMin:typeof ie.inputMin=="number"?ie.inputMin:0,inputMax:typeof ie.inputMax=="number"?ie.inputMax:1,outputMin:typeof ie.outputMin=="number"?ie.outputMin:0,outputMax:typeof ie.outputMax=="number"?ie.outputMax:1,curve:typeof ie.curve=="number"?ie.curve:0}}:null},getLayerTexture:ne=>{let ie=F.handles[ne]?.value;return typeof ie!="string"||ie===""?null:W(F,ne,ie)},setExtraField:(ne,ie)=>t.writeExtraField?.(F.id,ne,ie),onCleanup:ne=>m.push(ne),onBeforeRender:ne=>c.push(ne),onAfterRender:ne=>_.push(ne),onResize:ne=>u.push(ne),canvas:t.canvas,dimensions:t.dimensions??{width:1,height:1},gpu:t.gpu,domCanvas:F.domCanvas,...Ft(F),...ae});function bs(F,le=new Set){let ae=e.getNode(F);if(!ae)return xr;let ne=e.getChildren(F);if(ne.length>0&&ae.definition.providesUVContextViaCompute){let rt=Qr(ae,ne,le);if(rt!==null)return rt}if(ne.length>0&&ae.definition.uvRemap){let rt=zr(ae,ne);if(rt!==null)return rt;let He=Vo(ae,ne,le);if(He!==null)return He}if(ne.length===0){d.add(F);let rt=os(ae,void 0,{bboxMask:vs(ae),...As(ae)});rt.computeOutputs=Xe(ae,rt);let He=ae.definition.fragment(rt);return Te(Me(ae)?Ze(He,ae):at(He,ae),ae,le)}let ie=[...ne].sort((rt,He)=>rt.metadata.renderOrder-He.metadata.renderOrder),ge=Ps(ie,le);if(ge!==null){let rt=os(ae,ge,{bboxMask:vs(ae)});rt.computeOutputs=Xe(ae,rt);let He=ae.definition.fragment(rt);return Te(Me(ae)?Ze(He,ae):at(He,ae),ae,le)}let Ye=ls(ae,ie,le);d.add(F);let Je=os(ae,Ye,{bboxMask:vs(ae)});return Je.computeOutputs=Xe(ae,Je),Te(Fe(ae.definition.fragment(Je),Ye,ae),ae,le)}function ls(F,le,ae){let ne;for(let ie=0;ie0,Je,rt;if(Ye)Je=bs(ge.id,ae);else{let He=ne;ge.definition.requiresRTT&&ne!==void 0&&(He=Hn(xr,ne,"normal",vt(1))),ge.definition.acceptsOptionalChild&&(He=void 0);let Bt=os(ge,He,{bboxMask:vs(ge),...As(ge)});Bt.computeOutputs=Xe(ge,Bt);let Yt=Ie(ge.definition.fragment(Bt),ge);rt=Yt.clipMaskNode,Je=Te(Yt.transformedFragment,ge,ae)}if(ge.definition.requiresChild&&ge.metadata.blendMode==="normal"&&!Ye)ne=st(ne,Je,ge,rt);else{let He=ge.metadata.blendMode??"normal",Bt=ge.metadata.opacity??1;ne===void 0?ne=F.definition.requiresRTT||Bt!==1?Hn(Um,Je,He,Ue(ge)):Je:ne=Hn(ne,Je,He,Ue(ge))}}return ne}function As(F,le=U.uv){if(!Me(F))return{};if(!F.definition.boundingBoxDeclaration?.supportsResizeFit)return{};let ae=Lo(F.id),ne=ie=>A(`${ae}._bbox_${ie}`);return{uvContext:we(h3,"bboxGenUVContext",[le,ne("centerX"),ne("centerY"),ne("halfWidth"),ne("halfHeight"),ne("rotation"),ne("aspectRatio")]),effectiveViewportSize:Ws(ne("halfWidth").mul(2).mul(U.viewportSize.member("x")),ne("halfHeight").mul(2).mul(U.viewportSize.member("y")),0,0).member("xy")}}function vs(F){if(!(!Me(F)||!F.definition.requiresRTT)&&!F.definition.boundingBoxDeclaration?.supportsResizeFit)return Ke(F)}let ys=F=>!!F.metadata.mask||F.metadata.opacity!==void 0&&F.metadata.opacity<1||(F.metadata.blendMode??"normal")!=="normal"||Tn(F.metadata.transform)||Me(F),Ks=F=>!!F.definition.uvRemap&&e.getChildren(F.id).length===0&&!ys(F);function yr(F,le,ae){d.add(F.id);let ne=Xe(F,os(F,void 0));return F.definition.uvRemap({uv:le,mask:ae,uniforms:he(F),propValues:ee(F),props:te(F),aspect:U.aspect,onBeforeRender:ie=>c.push(ie),computeOutputs:ne})}function Ur(F){let le=U.uv,ae=vt(1);for(let ne=F.length-1;ne>=0;ne--){let ie=yr(F[ne],le,ae);le=ie.uv,ae=ie.mask}return{uv:le,mask:ae}}let Ms=24,Cr=vt(1),hr=(F,le)=>{if(le.left--<=0||F.metadata.mask||Tn(F.metadata.transform))return!1;let ae=e.getChildren(F.id).filter(ne=>ne.metadata.visible!==!1);return ae.length===0?Me(F)&&F.definition.boundingBoxDeclaration?.boxResamplesContent?!1:!!F.definition.acceptsUVContext&&!F.definition.requiresChild:!F.definition.uvRemap||Me(F)?!1:ae.every(ne=>hr(ne,le))};function mo(F,le,ae){let ne=ae??Cr,ie=yr(F,le,ne);return{uv:ie.uv,mask:ie.mask===ne?ae:ie.mask}}let po=(F,le)=>F===void 0?le:le===void 0?F:F.mul(le);function Rr(F,le,ae){let ne=e.getChildren(F.id).filter(He=>He.metadata.visible!==!1);if(ne.length>0){if(!F.definition.uvRemap)return null;let He=mo(F,le,ae);return nr(ne,ur(He.uv,"foldUV"),He.mask)}if(!F.definition.acceptsUVContext)return null;d.add(F.id);let ie=As(F,le),ge=os(F,void 0,Object.keys(ie).length>0?ie:{uvContext:le});ge.computeOutputs=Xe(F,ge);let Ye=F.definition.fragment(ge),Je=po(ae,Me(F)?Ke(F,le):void 0);if(Je===void 0)return Ye;let rt=ur(Ye,"gen");return Ws(rt.member("rgb"),rt.member("a").mul(Je))}function nr(F,le,ae){let ne=[...F].sort((Ye,Je)=>Ye.metadata.renderOrder-Je.metadata.renderOrder),ie;for(let Ye of ne){let Je=Rr(Ye,le,void 0);if(Je===null)return null;let rt=Ye.metadata.blendMode??"normal",He=Ye.metadata.opacity??1;ie===void 0?ie=rt==="normal"&&He===1?Je:Hn(Um,Je,rt,Ue(Ye)):ie=Hn(ie,Je,rt,Ue(Ye))}if(ie===void 0)return null;if(ae===void 0)return ie;let ge=ur(ie,"sibs");return Ws(ge.member("rgb"),ge.member("a").mul(ae))}function zr(F,le){if(!F.definition.uvRemap||ys(F))return null;let ae=le.filter(Ye=>Ye.metadata.visible!==!1);if(ae.length===0)return null;let ne={left:Ms};if(!ae.every(Ye=>hr(Ye,ne)))return null;d.add(F.id);let{uv:ie,mask:ge}=mo(F,U.uv,void 0);return nr(ae,ur(ie,"foldUV"),ge)}function Ps(F,le){let ae=F.filter(Yt=>Yt.metadata.visible!==!1);if(!ae.some(Yt=>!!Yt.definition.uvRemap)||ae.length<2)return null;let ne=ae.length;for(let Yt=ae.length-1;Yt>=0&&Ks(ae[Yt]);Yt--)ne=Yt;let ie=ae.slice(ne),ge=ae.slice(0,ne);if(ie.length===0||ge.length!==1)return null;let Ye=ge[0];if(!Ye.definition.acceptsUVContext||e.getChildren(Ye.id).length>0||ys(Ye))return null;d.add(Ye.id);for(let Yt of ie)d.add(Yt.id);let{uv:Je,mask:rt}=Ur(ie),He=os(Ye,void 0,{uvContext:Je});He.computeOutputs=Xe(Ye,He);let Bt=Ye.definition.fragment(He);return Ws(Bt.member("rgb"),Bt.member("a").mul(rt))}function Gr(F,le,ae,ne){if(!Ks(F[le]))return null;let ie=[],ge=le;for(let He=le;HeNo.metadata.visible!==!1);if(fo.length!==1)return null;let br=fo[0],Nt=e.getChildren(br.id);if(br.definition.acceptsUVContext&&Nt.length===0&&!ys(br)){Je=br;break}if(br.definition.uvRemap&&!ys(br)&&Nt.length===1){ge=br,Ye=Nt;continue}rt=br;break}if(!Je&&!rt)return null;for(let Ls of ie)d.add(Ls.id);let{uv:He,mask:Bt}=Ur([...ie].reverse()),Yt;if(Je){d.add(Je.id);let Ls=os(Je,void 0,{uvContext:He});Ls.computeOutputs=Xe(Je,Ls);let fo=Je.definition.fragment(Ls);Yt=Ws(fo.member("rgb"),fo.member("a").mul(Bt))}else{let Ls=L(Hn(Um,bs(rt.id,ae),rt.metadata.blendMode??"normal",Ue(rt))).sample(He);Yt=Ws(Ls.member("rgb"),Ls.member("a").mul(Bt))}return Te(Me(F)?Ze(Yt,F):at(Yt,F),F,ae)}function Qr(F,le,ae){let ne=Nt=>!!Nt.metadata.mask||Nt.metadata.opacity!==void 0&&Nt.metadata.opacity<1||(Nt.metadata.blendMode??"normal")!=="normal"||Tn(Nt.metadata.transform)||Me(Nt);if(!F.definition.providesUVContextViaCompute||ne(F))return null;let ie=[],ge=F,Ye=null,Je=le,rt=8;for(let Nt=0;Ntwa.metadata.visible!==!1);if(No.length!==1)return null;let Yr=No[0];if(ne(Yr))return null;let Ro=e.getChildren(Yr.id).length>0;if(Yr.definition.acceptsUVContext&&!Ro){Ye=Yr;break}if(Yr.definition.providesUVContextViaCompute){ge=Yr,Je=e.getChildren(Yr.id);continue}return null}if(!Ye)return null;d.add(Ye.id);for(let Nt of ie)d.add(Nt.id);let He=[],Bt;for(let Nt=0;Nt=0;Nt--)He[Nt].childNode=br,He[Nt].uvPropagationActive=!0,br=ie[Nt].definition.fragment(He[Nt]);return Te(Me(F)?Ze(br,F):at(br,F),F,ae)}let ci=e.rootId?bs(e.rootId):xr,ba=r.map(F=>{let{body:le,externals:ae}=g3(F.root,ne=>ne,t.flipY??!0,s.uniform);return{textureKey:F.key,fragment:b3(le,ae,`rtt_${F.key}`,s.sampler,w)}}),_i=t.toneMapping??"linear",li=g3(ci,(F,le)=>ez(F,le,_i,t.premultiplyAlpha??!1),t.flipY??!0,s.uniform);return{computeSteps:i,rttPasses:ba,finalPass:b3(li.body,li.externals,"final",s.sampler,w),textures:o,externalTextures:n,layouts:{uniforms:s.uniform,samplers:s.sampler},onBeforeRender:c,onAfterRender:_,onResize:u,onCleanup:m,composedNodeIds:d,usesCustomWgsl:Gt}}function ez(e,t,s,r){let o=t.external(v3[s]??v3.linear,`tone_${s}`),n=t.external(HR,"linearToSrgb"),i=t.freshLocal("composed");t.statement(`var ${i} = ${e};`);let d=`${n}(${o}(${i}.rgb))`;return r?`vec4f(${d} * ${i}.a, ${i}.a)`:`vec4f(${d}, ${i}.a)`}function b3(e,t,s,r,o=new Set){let n=w3(e,/\btex\.\$\.(\w+)/g),i=w3(e,/\bext\.\$\.(\w+)/g),d=/\bsamp\.\$\./.test(e),c;if(n.length>0){let u={};for(let m of n)u[m]=o.has(m)?{texture:ps(a),sampleType:"unfilterable-float"}:{texture:ps(a)};c=(globalThis.__TYPEGPU_AUTONAME__??(m=>m))(v.bindGroupLayout(u).$idx(rc.textures),"textureLayout"),t.tex=c}let _;if(i.length>0){let u={};for(let y of i)u[y]={externalTexture:s5()};let m=new Set([rc.uniforms]);n.length>0&&m.add(rc.textures),d&&m.add(rc.samplers);let p=0;for(;m.has(p);)p++;_=(globalThis.__TYPEGPU_AUTONAME__??(y=>y))(v.bindGroupLayout(u).$idx(p),"externalLayout"),t.ext=_}return d&&(t.samp=r),{body:e,externals:t,entry:v.fragmentFn({in:{uv:l},out:x})(e).$uses(t).$name(s),reads:n,externalReads:i,usesSamplers:d,textureLayout:c,externalLayout:_}}function w3(e,t){let s=new Set;for(let r of e.matchAll(t))s.add(r[1]);return[...s]}function tz(e,t){switch(t){case"alpha":return e.member("a");case"alphaInverted":return new Kt(s=>`(1.0 - ${e._emit(s)}.a)`);case"luminanceInverted":return new Kt(s=>`(1.0 - dot(${e._emit(s)}.rgb, vec3f(0.2126, 0.7152, 0.0722)))`);default:return new Kt(s=>`dot(${e._emit(s)}.rgb, vec3f(0.2126, 0.7152, 0.0722))`)}}function sz(e,t,s,r,o,n){return new Kt(i=>{let d=e._emit(i),c=t._emit(i),_=s._emit(i),u=r._emit(i),m=o._emit(i),p=n._emit(i);return`mix(${u}, ${m}, ${`pow(${`clamp((${d} - ${c}) / max(${_} - ${c}, 0.0001), 0.0, 1.0)`}, pow(2.0, -${p} * 2.0))`})`})}var rz={stretch:0,transparent:1,mirror:2,wrap:3};function _7(e,t={}){let s=[];s.push(`tone:${t.toneMapping??"linear"}`),s.push(`flipY:${t.flipY??!0}`),s.push(`premul:${t.premultiplyAlpha??!1}`);let r=o=>{let n=e.getNode(o);if(!n)return;let i=n.metadata,d=n.definition,c=Tn(i.transform),_=!!i.boundingBox&&!!d.boundingBoxDeclaration&&!r1(i.boundingBox),u=(i.opacity??1)===0?"zero":"nonzero",m=i.mask?`${i.mask.source}:${i.mask.type}`:"none",p=[];for(let[y,h]of Object.entries(d.props??{}))if(h.compileTime){let g=n.handles[y];p.push(`${y}=${g?String(g.value):"?"}`)}s.push([`id:${n.id}`,`parent:${n.parentId??""}`,`name:${n.componentName}`,`rev:${d.revision??""}`,`blend:${i.blendMode??"normal"}`,`mask:${m}`,`order:${i.renderOrder??0}`,`visible:${i.visible!==!1}`,`opacity:${u}`,`xform:${c}${c?`:${i.transform?.edges??"transparent"}`:""}`,`bbox:${_}:${_?d.boundingBoxDeclaration?.boxResamplesContent?"resample":d.boundingBoxDeclaration?.supportsResizeFit?"resize":"clip":""}`,`rtt:${!!d.requiresRTT}`,`maps:${i.maps?Object.keys(i.maps).sort().join(","):""}`,`ct:${p.sort().join("|")}`].join("|"));for(let y of e.getChildren(o).sort((h,g)=>h.metadata.renderOrder-g.metadata.renderOrder))r(y.id)};return e.rootId&&r(e.rootId),s}var oz=v.fn([a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(t,s),o=__tsover_add(q(__tsover_sub(r,.5)),.5),n=__tsover_sub(r,o),i=__tsover_add(1,__tsover_mul(__tsover_mul(n,n),__tsover_add(-2.5,__tsover_mul(1.5,n)))),d=__tsover_mul(n,__tsover_add(.5,__tsover_mul(n,__tsover_sub(2,__tsover_mul(1.5,n))))),c=b(__tsover_add(i,d),1e-6),_=__tsover_div(d,c);return f(__tsover_div(__tsover_sub(o,1),s),__tsover_div(__tsover_add(o,_),s),__tsover_div(__tsover_add(o,2),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"texSize"}],body:[0,[[13,"samplePos",[1,"uv","*","texSize"]],[13,"texPos1",[1,[6,"std.floor",[[1,"samplePos","-",[5,"0.5"]]]],"+",[5,"0.5"]]],[13,"f",[1,"samplePos","-","texPos1"]],[13,"w1",[1,[5,"1"],"+",[1,[1,"f","*","f"],"*",[1,[4,"-",[5,"2.5"]],"+",[1,[5,"1.5"],"*","f"]]]]],[13,"w2",[1,"f","*",[1,[5,"0.5"],"+",[1,"f","*",[1,[5,"2"],"-",[1,[5,"1.5"],"*","f"]]]]]],[13,"w12",[6,"std.max",[[1,"w1","+","w2"],[5,"0.000001"]]]],[13,"offset12",[1,"w2","/","w12"]],[10,[6,"d.vec3f",[[1,[1,"texPos1","-",[5,"1"]],"/","texSize"],[1,[1,"texPos1","+","offset12"],"/","texSize"],[1,[1,"texPos1","+",[5,"2"]],"/","texSize"]]]]]]},externals:{"std.floor":()=>q,"std.max":()=>b,"d.vec3f":()=>f}})&&e.f)({})),nz=v.fn([a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(t,s),o=__tsover_add(q(__tsover_sub(r,.5)),.5),n=__tsover_sub(r,o),i=__tsover_mul(n,__tsover_add(-.5,__tsover_mul(n,__tsover_sub(1,__tsover_mul(.5,n))))),d=__tsover_add(1,__tsover_mul(__tsover_mul(n,n),__tsover_add(-2.5,__tsover_mul(1.5,n)))),c=__tsover_mul(n,__tsover_add(.5,__tsover_mul(n,__tsover_sub(2,__tsover_mul(1.5,n))))),_=__tsover_mul(__tsover_mul(n,n),__tsover_add(-.5,__tsover_mul(.5,n)));return f(i,__tsover_add(d,c),_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"texSize"}],body:[0,[[13,"samplePos",[1,"uv","*","texSize"]],[13,"texPos1",[1,[6,"std.floor",[[1,"samplePos","-",[5,"0.5"]]]],"+",[5,"0.5"]]],[13,"f",[1,"samplePos","-","texPos1"]],[13,"w0",[1,"f","*",[1,[4,"-",[5,"0.5"]],"+",[1,"f","*",[1,[5,"1"],"-",[1,[5,"0.5"],"*","f"]]]]]],[13,"w1",[1,[5,"1"],"+",[1,[1,"f","*","f"],"*",[1,[4,"-",[5,"2.5"]],"+",[1,[5,"1.5"],"*","f"]]]]],[13,"w2",[1,"f","*",[1,[5,"0.5"],"+",[1,"f","*",[1,[5,"2"],"-",[1,[5,"1.5"],"*","f"]]]]]],[13,"w3",[1,[1,"f","*","f"],"*",[1,[4,"-",[5,"0.5"]],"+",[1,[5,"0.5"],"*","f"]]]],[10,[6,"d.vec3f",["w0",[1,"w1","+","w2"],"w3"]]]]]},externals:{"std.floor":()=>q,"d.vec3f":()=>f}})&&e.f)({}));var az=0,iz=(e,t,s="linearClamp",r="positive")=>{let o=az++;return new Kt(n=>n.memo(`catmullRom:${o}`,()=>{let i=n.freshLocal("crUV"),d=n.freshLocal("crSize"),c=n.freshLocal("crPosX"),_=n.freshLocal("crPosY"),u=n.freshLocal("crWx"),m=n.freshLocal("crWy"),p=n.freshLocal("crOut");n.statement(`let ${i} = ${t._emit(n)};`),n.statement(`let ${d} = ${e.dimensions()._emit(n)};`);let y=n.external(oz,"catmullRomAxisPositions"),h=n.external(nz,"catmullRomAxisWeights");n.statement(`let ${c} = ${y}(${i}.x, ${d}.x);`),n.statement(`let ${_} = ${y}(${i}.y, ${d}.y);`),n.statement(`let ${u} = ${h}(${i}.x, ${d}.x);`),n.statement(`let ${m} = ${h}(${i}.y, ${d}.y);`),n.statement(`var ${p} = vec4f(0.0, 0.0, 0.0, 0.0);`);let g=["x","y","z"];for(let w of[0,1,2])for(let S of[0,1,2]){let T=new Kt(()=>`vec2f(${c}.${g[S]}, ${_}.${g[w]})`),A=`(${u}.${g[S]} * ${m}.${g[w]})`;n.statement(`${p} += ${e.sample(T,s)._emit(n)} * ${A};`)}return n.statement(r==="unit"?`${p} = clamp(${p}, vec4f(0.0, 0.0, 0.0, 0.0), vec4f(1.0, 1.0, 1.0, 1.0));`:`${p} = max(${p}, vec4f(0.0, 0.0, 0.0, 0.0));`),p}))},dz=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return $(t,l(0,0),l(1,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[10,[6,"std.clamp",["uv",[6,"d.vec2f",[[5,"0"],[5,"0"]]],[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l}})&&e.f)({})),l7=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=bo(z(t.x),2),r=bo(z(t.y),2);return l(C(s,__tsover_sub(2,s),s>=1),C(r,__tsover_sub(2,r),r>=1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"mirrorX",[6,"std.mod",[[6,"std.abs",[[7,"uv","x"]]],[5,"2"]]]],[13,"mirrorY",[6,"std.mod",[[6,"std.abs",[[7,"uv","y"]]],[5,"2"]]]],[10,[6,"d.vec2f",[[6,"std.select",["mirrorX",[1,[5,"2"],"-","mirrorX"],[1,"mirrorX",">=",[5,"1"]]]],[6,"std.select",["mirrorY",[1,[5,"2"],"-","mirrorY"],[1,"mirrorY",">=",[5,"1"]]]]]]]]]},externals:{"std.mod":()=>bo,"std.abs":()=>z,"d.vec2f":()=>l,"std.select":()=>C}})&&e.f)({})),u7=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[10,[6,"std.fract",["uv"]]]]]},externals:{"std.fract":()=>ue}})&&e.f)({})),m7=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_mul(De(0,t.x),De(t.x,1)),r=__tsover_mul(De(0,t.y),De(t.y,1));return __tsover_mul(s,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"inX",[1,[6,"std.step",[[5,"0"],[7,"uv","x"]]],"*",[6,"std.step",[[7,"uv","x"],[5,"1"]]]]],[13,"inY",[1,[6,"std.step",[[5,"0"],[7,"uv","y"]]],"*",[6,"std.step",[[7,"uv","y"],[5,"1"]]]]],[10,[1,"inX","*","inY"]]]]},externals:{"std.step":()=>De}})&&e.f)({})),qv=1,Xv=2,Hv=3;v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.x,t.y,t.z,__tsover_mul(t.w,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"m"}],body:[0,[[10,[6,"d.vec4f",[[7,"color","x"],[7,"color","y"],[7,"color","z"],[1,[7,"color","w"],"*","m"]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({}));var cz=(e,t)=>{switch(t){case qv:return e;case Xv:return we(l7,"edgeMirrorUV",[e]);case Hv:return we(u7,"edgeWrapUV",[e]);default:return we(dz,"edgeClampUV",[e])}},_z=(e,t,s)=>{if(s===qv){let r=we(m7,"edgeTransparentMask",[e]);return{uv:e,mask:t.mul(r)}}return{uv:cz(e,s),mask:t}},Gi=(e,t,s)=>{if(s===qv){let r=t(e),o=we(m7,"edgeTransparentMask",[e]);return Ws(r.member("rgb"),r.member("a").mul(o))}return t(s===Xv?we(l7,"edgeMirrorUV",[e]):s===Hv?we(u7,"edgeWrapUV",[e]):e)},lz=(e,t,s)=>Gi(t,s===Xv?r=>e.sample(r):r=>iz(e,r,s===Hv?"linearRepeat":"linearClamp"),s),Cm=ut({rUV:l,gUV:l,bUV:l}).$name("ChromaticSplitUVs"),uz=v.fn([l,l,a,a],Cm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=s.mul(__tsover_mul(r,.1)),i=.15,d=$(n,l(-i,-i),l(i,i)),c=__tsover_mul(o,.1);return Cm({rUV:t.sub(d.mul(__tsover_add(1,c))),gUV:t.sub(d),bUV:t.sub(d.mul(__tsover_sub(1,c)))})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"disp"},{type:"i",name:"strength"},{type:"i",name:"chromaticSplit"}],body:[0,[[13,"scaled",[6,[7,"disp","mul"],[[1,"strength","*",[5,"0.1"]]]]],[13,"maxDisp",[5,"0.15"]],[13,"clamped",[6,"std.clamp",["scaled",[6,"d.vec2f",[[4,"-","maxDisp"],[4,"-","maxDisp"]]],[6,"d.vec2f",["maxDisp","maxDisp"]]]]],[13,"chromaticScale",[1,"chromaticSplit","*",[5,"0.1"]]],[13,"rUV",[6,[7,"uv","sub"],[[6,[7,"clamped","mul"],[[1,[5,"1"],"+","chromaticScale"]]]]]],[13,"gUV",[6,[7,"uv","sub"],["clamped"]]],[13,"bUV",[6,[7,"uv","sub"],[[6,[7,"clamped","mul"],[[1,[5,"1"],"-","chromaticScale"]]]]]],[10,[6,"ChromaticSplitUVs",[[104,{rUV:"rUV",gUV:"gUV",bUV:"bUV"}]]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l,ChromaticSplitUVs:()=>Cm}})&&e.f)({})),T3=it,G8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(s,Le),o=H(r),n=Y(r),i=__tsover_div(1,3),d=__tsover_sub(1,o),c=__tsover_mul(d,i),_=__tsover_div(n,_a),u=__tsover_add(o,c),m=__tsover_sub(c,_),p=__tsover_add(c,_),y=__tsover_add(c,_),h=__tsover_add(o,c),g=__tsover_sub(c,_),w=__tsover_sub(c,_),S=__tsover_add(c,_),T=__tsover_add(o,c),A=t.x,P=t.y,U=t.z;return x(__tsover_add(__tsover_add(__tsover_mul(A,u),__tsover_mul(P,m)),__tsover_mul(U,p)),__tsover_add(__tsover_add(__tsover_mul(A,y),__tsover_mul(P,h)),__tsover_mul(U,g)),__tsover_add(__tsover_add(__tsover_mul(A,w),__tsover_mul(P,S)),__tsover_mul(U,T)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"shiftDeg"}],body:[0,[[13,"angle",[1,"shiftDeg","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angle"]]],[13,"sinA",[6,"std.sin",["angle"]]],[13,"k",[1,[5,"1"],"/",[5,"3"]]],[13,"oneMinusCos",[1,[5,"1"],"-","cosA"]],[13,"kOneMinusCos",[1,"oneMinusCos","*","k"]],[13,"sinOverSqrt3",[1,"sinA","/","SQRT3"]],[13,"m00",[1,"cosA","+","kOneMinusCos"]],[13,"m01",[1,"kOneMinusCos","-","sinOverSqrt3"]],[13,"m02",[1,"kOneMinusCos","+","sinOverSqrt3"]],[13,"m10",[1,"kOneMinusCos","+","sinOverSqrt3"]],[13,"m11",[1,"cosA","+","kOneMinusCos"]],[13,"m12",[1,"kOneMinusCos","-","sinOverSqrt3"]],[13,"m20",[1,"kOneMinusCos","-","sinOverSqrt3"]],[13,"m21",[1,"kOneMinusCos","+","sinOverSqrt3"]],[13,"m22",[1,"cosA","+","kOneMinusCos"]],[13,"r",[7,"color","x"]],[13,"g",[7,"color","y"]],[13,"b",[7,"color","z"]],[13,"newR",[1,[1,[1,"r","*","m00"],"+",[1,"g","*","m01"]],"+",[1,"b","*","m02"]]],[13,"newG",[1,[1,[1,"r","*","m10"],"+",[1,"g","*","m11"]],"+",[1,"b","*","m12"]]],[13,"newB",[1,[1,[1,"r","*","m20"],"+",[1,"g","*","m21"]],"+",[1,"b","*","m22"]]],[10,[6,"d.vec4f",["newR","newG","newB",[7,"color","w"]]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,SQRT3:()=>_a,"d.vec4f":()=>x}})&&e.f)({})),Y8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=f(t.x,t.y,t.z),o=se(r,f(.2126,.7152,.0722)),n=X(f(o,o,o),r,f(s));return x(n.x,n.y,n.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"intensity"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"luminance",[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"gray",[6,"d.vec3f",["luminance","luminance","luminance"]]],[13,"saturated",[6,"std.mix",["gray","rgb",[6,"d.vec3f",["intensity"]]]]],[10,[6,"d.vec4f",[[7,"saturated","x"],[7,"saturated","y"],[7,"saturated","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.dot":()=>se,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),L8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.x,o=t.y,n=t.z,i=__tsover_div(__tsover_add(__tsover_add(r,o),n),3),d=b(r,b(o,n)),c=__tsover_mul(__tsover_mul(__tsover_sub(d,i),s),-3),_=X(f(r,o,n),f(d,d,d),f(c));return x(_.x,_.y,_.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"adjustment"}],body:[0,[[13,"r",[7,"color","x"]],[13,"g",[7,"color","y"]],[13,"b",[7,"color","z"]],[13,"average",[1,[1,[1,"r","+","g"],"+","b"],"/",[5,"3"]]],[13,"mx",[6,"std.max",["r",[6,"std.max",["g","b"]]]]],[13,"amt",[1,[1,[1,"mx","-","average"],"*","adjustment"],"*",[4,"-",[5,"3"]]]],[13,"rgb",[6,"d.vec3f",["r","g","b"]]],[13,"vibrant",[6,"std.mix",["rgb",[6,"d.vec3f",["mx","mx","mx"]],[6,"d.vec3f",["amt"]]]]],[10,[6,"d.vec4f",[[7,"vibrant","x"],[7,"vibrant","y"],[7,"vibrant","z"],[7,"color","w"]]]]]]},externals:{"std.max":()=>b,"d.vec3f":()=>f,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),I8=v.fn([x,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(r,1),n=f(.5,.5,.5);return x(t.xyz.sub(n).mul(o).add(n).add(f(s,s,s)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"brightness"},{type:"i",name:"contrastRaw"}],body:[0,[[13,"contrast",[1,"contrastRaw","+",[5,"1"]]],[13,"half",[6,"d.vec3f",[[5,"0.5"],[5,"0.5"],[5,"0.5"]]]],[13,"contrasted",[6,[7,[6,[7,[6,[7,[7,"color","xyz"],"sub"],["half"]],"mul"],["contrast"]],"add"],["half"]]],[13,"result",[6,[7,"contrasted","add"],[[6,"d.vec3f",["brightness","brightness","brightness"]]]]],[10,[6,"d.vec4f",["result",[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),D8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.xyz.mul(s),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"gain"}],body:[0,[[13,"rgb",[6,[7,[7,"color","xyz"],"mul"],["gain"]]],[10,[6,"d.vec4f",["rgb",[7,"color","w"]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),F8=v.fn([x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=se(t.xyz,f(.2126,.7152,.0722));return x(s,s,s,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[13,"luminance",[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[10,[6,"d.vec4f",["luminance","luminance","luminance",[7,"color","w"]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),B8=v.fn([x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return x(__tsover_sub(1,t.x),__tsover_sub(1,t.y),__tsover_sub(1,t.z),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,"d.vec4f",[[1,[5,"1"],"-",[7,"color","x"]],[1,[5,"1"],"-",[7,"color","y"]],[1,[5,"1"],"-",[7,"color","z"]],[7,"color","w"]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),W8=v.fn([x,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=f(t.x,t.y,t.z),n=se(o,f(.299,.587,.114)),i=X(o,C(o,f(__tsover_sub(1,t.x),__tsover_sub(1,t.y),__tsover_sub(1,t.z)),n>s),f(r));return x(i.x,i.y,i.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"threshold"},{type:"i",name:"strength"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"luminance",[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"inverted",[6,"d.vec3f",[[1,[5,"1"],"-",[7,"color","x"]],[1,[5,"1"],"-",[7,"color","y"]],[1,[5,"1"],"-",[7,"color","z"]]]]],[13,"solarized",[6,"std.select",["rgb","inverted",[1,"luminance",">","threshold"]]]],[13,"result",[6,"std.mix",["rgb","solarized",[6,"d.vec3f",["strength"]]]]],[10,[6,"d.vec4f",[[7,"result","x"],[7,"result","y"],[7,"result","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.dot":()=>se,"std.select":()=>C,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),O8=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=$(s,a(2),a(20));return x(__tsover_div(q(__tsover_mul(t.x,r)),r),__tsover_div(q(__tsover_mul(t.y,r)),r),__tsover_div(q(__tsover_mul(t.z,r)),r),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"steps"}],body:[0,[[13,"s",[6,"std.clamp",["steps",[6,"d.f32",[[5,"2"]]],[6,"d.f32",[[5,"20"]]]]]],[13,"r",[1,[6,"std.floor",[[1,[7,"color","x"],"*","s"]]],"/","s"]],[13,"g",[1,[6,"std.floor",[[1,[7,"color","y"],"*","s"]]],"/","s"]],[13,"b",[1,[6,"std.floor",[[1,[7,"color","z"],"*","s"]]],"/","s"]],[10,[6,"d.vec4f",["r","g","b",[7,"color","w"]]]]]]},externals:{"std.clamp":()=>$,"d.f32":()=>a,"std.floor":()=>q,"d.vec4f":()=>x}})&&e.f)({})),V8=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=X(f(t.x,t.y,t.z),f(s.x,s.y,s.z),f(r));return x(o.x,o.y,o.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"tintColor"},{type:"i",name:"amount"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"tinted",[6,"std.mix",["rgb",[6,"d.vec3f",[[7,"tintColor","x"],[7,"tintColor","y"],[7,"tintColor","z"]]],[6,"d.vec3f",["amount"]]]]],[10,[6,"d.vec4f",[[7,"tinted","x"],[7,"tinted","y"],[7,"tinted","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),N8=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=f(t.x,t.y,t.z),n=X(o,f(s.x,s.y,s.z),f(r)),i=f(.299,.587,.114),d=se(o,i),c=se(n,i),_=n.mul(__tsover_div(d,b(c,1e-4)));return x(_.x,_.y,_.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"tintColor"},{type:"i",name:"amount"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]],[13,"tinted",[6,"std.mix",["rgb",[6,"d.vec3f",[[7,"tintColor","x"],[7,"tintColor","y"],[7,"tintColor","z"]]],[6,"d.vec3f",["amount"]]]]],[13,"luminanceWeights",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]],[13,"originalLum",[6,"std.dot",["rgb","luminanceWeights"]]],[13,"tintedLum",[6,"std.dot",["tinted","luminanceWeights"]]],[13,"result",[6,[7,"tinted","mul"],[[1,"originalLum","/",[6,"std.max",["tintedLum",[5,"0.0001"]]]]]]],[10,[6,"d.vec4f",[[7,"result","x"],[7,"result","y"],[7,"result","z"],[7,"color","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.mix":()=>X,"std.dot":()=>se,"std.max":()=>b,"d.vec4f":()=>x}})&&e.f)({})),q8=v.fn([x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(t.xyz,f(.299,.587,.114));return re(__tsover_sub(s,.5),__tsover_add(s,.5),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"blend"}],body:[0,[[13,"luminance",[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[10,[6,"std.smoothstep",[[1,"blend","-",[5,"0.5"]],[1,"blend","+",[5,"0.5"]],"luminance"]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.smoothstep":()=>re}})&&e.f)({})),X8=v.fn([x,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(t.xyz,f(.299,.587,.114));return f(re(__tsover_sub(s,.25),s,r),re(s,__tsover_add(s,.25),r),re(__tsover_sub(s,.1),__tsover_add(s,.1),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"blendMid"}],body:[0,[[13,"luminance",[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"shadowToMid",[6,"std.smoothstep",[[1,"blendMid","-",[5,"0.25"]],"blendMid","luminance"]]],[13,"midToHighlight",[6,"std.smoothstep",["blendMid",[1,"blendMid","+",[5,"0.25"]],"luminance"]]],[13,"finalT",[6,"std.smoothstep",[[1,"blendMid","-",[5,"0.1"]],[1,"blendMid","+",[5,"0.1"]],"luminance"]]],[10,[6,"d.vec3f",["shadowToMid","midToHighlight","finalT"]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.smoothstep":()=>re}})&&e.f)({})),H8=v.fn([x,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=se(t.xyz,f(.2126,.7152,.0722)),i=b(__tsover_sub(r,s),1e-4),d=$(__tsover_div(__tsover_sub(n,s),i),0,1);return d=$(__tsover_add(__tsover_mul(__tsover_sub(d,.5),o),.5),0,1),d}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"black"},{type:"i",name:"white"},{type:"i",name:"contrast"}],body:[0,[[13,"luma",[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"range",[6,"std.max",[[1,"white","-","black"],[5,"0.0001"]]]],[12,"t",[6,"std.clamp",[[1,[1,"luma","-","black"],"/","range"],[5,"0"],[5,"1"]]]],[2,"t","=",[6,"std.clamp",[[1,[1,[1,"t","-",[5,"0.5"]],"*","contrast"],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[10,"t"]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.max":()=>b,"std.clamp":()=>$}})&&e.f)({})),j8=v.fn([a,a,f,f,f,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=n.mul(t).add(i).add(f(s,s,s)).mul(T3);return $(r.add(o.mul(H(d))),f(0,0,0),f(1,1,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"phase"},{type:"i",name:"pa"},{type:"i",name:"pb"},{type:"i",name:"pc"},{type:"i",name:"pd"}],body:[0,[[13,"arg",[6,[7,[6,[7,[6,[7,[6,[7,"pc","mul"],["t"]],"add"],["pd"]],"add"],[[6,"d.vec3f",["phase","phase","phase"]]]],"mul"],["TWO_PI"]]],[13,"mapped",[6,[7,"pa","add"],[[6,[7,"pb","mul"],[[6,"std.cos",["arg"]]]]]]],[10,[6,"std.clamp",["mapped",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]]]]},externals:{"d.vec3f":()=>f,TWO_PI:()=>T3,"std.cos":()=>H,"std.clamp":()=>$}})&&e.f)({})),K8=v.fn([a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=ue(__tsover_add(t,s)),o=__tsover_mul(r,3);return l(ue(o),q(o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"phase"}],body:[0,[[13,"t01",[6,"std.fract",[[1,"t","+","phase"]]]],[13,"t3",[1,"t01","*",[5,"3"]]],[10,[6,"d.vec2f",[[6,"std.fract",["t3"]],[6,"std.floor",["t3"]]]]]]]},externals:{"std.fract":()=>ue,"d.vec2f":()=>l,"std.floor":()=>q}})&&e.f)({})),Z8=v.fn([x,x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return C(C(r,s,o<2),t,o<1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"seg0"},{type:"i",name:"seg1"},{type:"i",name:"seg2"},{type:"i",name:"i"}],body:[0,[[13,"upper",[6,"std.select",["seg2","seg1",[1,"i","<",[5,"2"]]]]],[10,[6,"std.select",["upper","seg0",[1,"i","<",[5,"1"]]]]]]]},externals:{"std.select":()=>C}})&&e.f)({})),Q8=v.fn([x,f,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return x(X(t.xyz,s,f(r,r,r)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"mapped"},{type:"i",name:"strength"}],body:[0,[[13,"outRgb",[6,"std.mix",[[7,"color","xyz"],"mapped",[6,"d.vec3f",["strength","strength","strength"]]]]],[10,[6,"d.vec4f",["outRgb",[7,"color","w"]]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),J8=v.fn([x,l,l,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ot(s.mul(r).add(l(i,__tsover_mul(i,1.6180339)))),c=__tsover_sub(__tsover_mul(d,2),1),_=$(se(t.xyz,f(.2126,.7152,.0722)),0,1),u=__tsover_sub(1,_),m=Ce(__tsover_add(u,1e-6),n),p=__tsover_mul(__tsover_mul(c,m),__tsover_mul(o,.1));return x(t.xyz.add(p),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"strength"},{type:"i",name:"bias"},{type:"i",name:"animTime"}],body:[0,[[13,"pixelCoord",[6,[7,"uv","mul"],["viewport"]]],[13,"noiseVal",[6,"hash12",[[6,[7,"pixelCoord","add"],[[6,"d.vec2f",["animTime",[1,"animTime","*",[5,"1.6180339"]]]]]]]]],[13,"grain",[1,[1,"noiseVal","*",[5,"2"]],"-",[5,"1"]]],[13,"brightness",[6,"std.clamp",[[6,"std.dot",[[7,"color","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]],[5,"0"],[5,"1"]]]],[13,"darkness",[1,[5,"1"],"-","brightness"]],[13,"darkFactor",[6,"std.pow",[[1,"darkness","+",[5,"0.000001"]],"bias"]]],[13,"grainIntensity",[1,[1,"grain","*","darkFactor"],"*",[1,"strength","*",[5,"0.1"]]]],[13,"grainedColor",[6,[7,[7,"color","xyz"],"add"],["grainIntensity"]]],[10,[6,"d.vec4f",["grainedColor",[7,"color","w"]]]]]]},externals:{hash12:()=>Ot,"d.vec2f":()=>l,"std.clamp":()=>$,"std.dot":()=>se,"d.vec3f":()=>f,"std.pow":()=>Ce,"d.vec4f":()=>x}})&&e.f)({})),Jl=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ce(C(t,__tsover_sub(1,t),i>.5),n),c=__tsover_add(__tsover_mul(d,s),.5),_=b(Zt(c),1e-4),u=z(__tsover_sub(ue(__tsover_add(c,.5)),.5)),m=__tsover_div(u,_),p=__tsover_add(__tsover_mul(o,.99),.01),y=__tsover_mul(r,__tsover_sub(1,p));return __tsover_sub(1,re(y,r,m))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sourceValue"},{type:"i",name:"levels"},{type:"i",name:"lineWidth"},{type:"i",name:"softness"},{type:"i",name:"gamma"},{type:"i",name:"invert"}],body:[0,[[13,"invertedValue",[6,"std.select",["sourceValue",[1,[5,"1"],"-","sourceValue"],[1,"invert",">",[5,"0.5"]]]]],[13,"sv",[6,"std.pow",["invertedValue","gamma"]]],[13,"scaledValue",[1,[1,"sv","*","levels"],"+",[5,"0.5"]]],[13,"fw",[6,"std.max",[[6,"std.fwidth",["scaledValue"]],[5,"0.0001"]]]],[13,"distFromBoundary",[6,"std.abs",[[1,[6,"std.fract",[[1,"scaledValue","+",[5,"0.5"]]]],"-",[5,"0.5"]]]]],[13,"normalizedDist",[1,"distFromBoundary","/","fw"]],[13,"transitionFactor",[1,[1,"softness","*",[5,"0.99"]],"+",[5,"0.01"]]],[13,"innerEdge",[1,"lineWidth","*",[1,[5,"1"],"-","transitionFactor"]]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",["innerEdge","lineWidth","normalizedDist"]]]]]]},externals:{"std.select":()=>C,"std.pow":()=>Ce,"std.max":()=>b,"std.fwidth":()=>Zt,"std.abs":()=>z,"std.fract":()=>ue,"std.smoothstep":()=>re}})&&e.f)({})),eD=v.fn([x,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return Jl(Gg(t.xyz),s,r,o,n,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"levels"},{type:"i",name:"lineWidth"},{type:"i",name:"softness"},{type:"i",name:"gamma"},{type:"i",name:"invert"}],body:[0,[[10,[6,"contourLineMask",[[6,"luma709Dot",[[7,"color","xyz"]]],"levels","lineWidth","softness","gamma","invert"]]]]]},externals:{contourLineMask:()=>Jl,luma709Dot:()=>Gg}})&&e.f)({})),tD=v.fn([x,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return Jl(t.w,s,r,o,n,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"levels"},{type:"i",name:"lineWidth"},{type:"i",name:"softness"},{type:"i",name:"gamma"},{type:"i",name:"invert"}],body:[0,[[10,[6,"contourLineMask",[[7,"color","w"],"levels","lineWidth","softness","gamma","invert"]]]]]},externals:{contourLineMask:()=>Jl}})&&e.f)({})),sD=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=X(f(t.x,t.y,t.z),f(s.x,s.y,s.z),f(r)),n=X(t.w,s.w,r);return x(o.x,o.y,o.z,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"bg"},{type:"i",name:"line"},{type:"i",name:"mask"}],body:[0,[[13,"rgb",[6,"std.mix",[[6,"d.vec3f",[[7,"bg","x"],[7,"bg","y"],[7,"bg","z"]]],[6,"d.vec3f",[[7,"line","x"],[7,"line","y"],[7,"line","z"]]],[6,"d.vec3f",["mask"]]]]],[13,"alpha",[6,"std.mix",[[7,"bg","w"],[7,"line","w"],"mask"]]],[10,[6,"d.vec4f",[[7,"rgb","x"],[7,"rgb","y"],[7,"rgb","z"],"alpha"]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),Zn=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(__tsover_sub(ue(__tsover_mul(Y(__tsover_mul(t,12.9898)),43758.5453)),.5),2)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"}],body:[0,[[10,[1,[1,[6,"std.fract",[[1,[6,"std.sin",[[1,"x","*",[5,"12.9898"]]]],"*",[5,"43758.5453"]]]],"-",[5,"0.5"]],"*",[5,"2"]]]]]},externals:{"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),rD=v.fn([l,a,l,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(__tsover_mul(r.x,o),r.y),i=l(__tsover_mul(t.x,o),__tsover_sub(1,t.y)),d=n.sub(i),c=__tsover_mul(s,Le),_=l(H(c),Y(c)),u=l(__tsover_mul(_.y,-1),_.x),m=se(d,u),p=d.sub(u.mul(__tsover_mul(m,2))),y=i.add(p),h=l(__tsover_div(y.x,o),y.y),g=De(0,m);return f(h.x,h.y,g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"angle"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"lineDirection",[6,"d.vec2f",[[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]]],[13,"lineNormal",[6,"d.vec2f",[[1,[7,"lineDirection","y"],"*",[4,"-",[5,"1"]]],[7,"lineDirection","x"]]]],[13,"signedDistance",[6,"std.dot",["delta","lineNormal"]]],[13,"reflectedDelta",[6,[7,"delta","sub"],[[6,[7,"lineNormal","mul"],[[1,"signedDistance","*",[5,"2"]]]]]]],[13,"mirroredUV",[6,[7,"centerPos","add"],["reflectedDelta"]]],[13,"finalMirroredUV",[6,"d.vec2f",[[1,[7,"mirroredUV","x"],"/","aspect"],[7,"mirroredUV","y"]]]],[13,"shouldMirror",[6,"std.step",[[5,"0"],"signedDistance"]]],[10,[6,"d.vec3f",[[7,"finalMirroredUV","x"],[7,"finalMirroredUV","y"],"shouldMirror"]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.step":()=>De,"d.vec3f":()=>f}})&&e.f)({})),oD=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(C(t.x,__tsover_sub(1,t.x),s>0),C(t.y,__tsover_sub(1,t.y),r>0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"flipX"},{type:"i",name:"flipY"}],body:[0,[[13,"x",[6,"std.select",[[7,"uv","x"],[1,[5,"1"],"-",[7,"uv","x"]],[1,"flipX",">",[5,"0"]]]]],[13,"y",[6,"std.select",[[7,"uv","y"],[1,[5,"1"],"-",[7,"uv","y"]],[1,"flipY",">",[5,"0"]]]]],[10,[6,"d.vec2f",["x","y"]]]]]},externals:{"std.select":()=>C,"d.vec2f":()=>l}})&&e.f)({})),$a=2,S3=1.2,nD=v.fn([a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,Le),d=l(H(i),Y(i)),c=l(__tsover_mul(d.y,-1),d.x),_=l(__tsover_mul(__tsover_sub(o.x,.5),n),__tsover_sub(o.y,.5)),u=se(_,d),m=se(_,c),p=b(__tsover_mul(__tsover_add(__tsover_mul(z(d.x),n),z(d.y)),.5),.001),y=__tsover_div(u,p),h=__tsover_mul(t,S3),g=__tsover_mul($(s,0,1),.9),w=__tsover_sub(1,g),S=z(y),T=C(a(-1),a(1),y>=0),A=__tsover_mul(h,S),P=__tsover_add(__tsover_mul(__tsover_mul(__tsover_mul($a,$a),w),w),__tsover_mul(__tsover_mul(__tsover_mul(4,A),$a),__tsover_sub(S,g))),U=z(A)<1e-5,D=C(__tsover_mul(A,2),a(1),U),O=C(__tsover_div(__tsover_sub(be(b(P,0)),__tsover_mul($a,w)),D),__tsover_div(__tsover_sub(S,g),w),U),L=C(a(6),b(O,0),P>=0),G=__tsover_mul(T,__tsover_add(g,__tsover_mul(L,w))),W=S<=g,K=C(G,y,W),Q=C(__tsover_mul(__tsover_mul(h,L),L),a(0),W),te=__tsover_div(__tsover_mul(m,__tsover_sub($a,Q)),$a),ee=d.mul(__tsover_mul(K,p)).add(c.mul(te));return l(__tsover_add(__tsover_div(ee.x,n),.5),__tsover_add(ee.y,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"strength"},{type:"i",name:"falloff"},{type:"i",name:"angle"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"dir",[6,"d.vec2f",[[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]]],[13,"perp",[6,"d.vec2f",[[1,[7,"dir","y"],"*",[4,"-",[5,"1"]]],[7,"dir","x"]]]],[13,"p",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],[1,[7,"uv","y"],"-",[5,"0.5"]]]]],[13,"sScreen",[6,"std.dot",["p","dir"]]],[13,"tScreen",[6,"std.dot",["p","perp"]]],[13,"sHalf",[6,"std.max",[[1,[1,[1,[6,"std.abs",[[7,"dir","x"]]],"*","aspect"],"+",[6,"std.abs",[[7,"dir","y"]]]],"*",[5,"0.5"]],[5,"0.001"]]]],[13,"snScreen",[1,"sScreen","/","sHalf"]],[13,"b",[1,"strength","*","B_MAX"]],[13,"f",[1,[6,"std.clamp",["falloff",[5,"0"],[5,"1"]]],"*",[5,"0.9"]]],[13,"fSpan",[1,[5,"1"],"-","f"]],[13,"m",[6,"std.abs",["snScreen"]]],[13,"sig",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"d.f32",[[5,"1"]]],[1,"snScreen",">=",[5,"0"]]]]],[13,"a2",[1,"b","*","m"]],[13,"disc",[1,[1,[1,[1,"CAMERA_D","*","CAMERA_D"],"*","fSpan"],"*","fSpan"],"+",[1,[1,[1,[5,"4"],"*","a2"],"*","CAMERA_D"],"*",[1,"m","-","f"]]]],[13,"nearZero",[1,[6,"std.abs",["a2"]],"<",[5,"0.00001"]]],[13,"denom",[6,"std.select",[[1,"a2","*",[5,"2"]],[6,"d.f32",[[5,"1"]]],"nearZero"]]],[13,"uQuad",[1,[1,[6,"std.sqrt",[[6,"std.max",["disc",[5,"0"]]]]],"-",[1,"CAMERA_D","*","fSpan"]],"/","denom"]],[13,"uOn",[6,"std.select",["uQuad",[1,[1,"m","-","f"],"/","fSpan"],"nearZero"]]],[13,"u",[6,"std.select",[[6,"d.f32",[[5,"6"]]],[6,"std.max",["uOn",[5,"0"]]],[1,"disc",">=",[5,"0"]]]]],[13,"snBend",[1,"sig","*",[1,"f","+",[1,"u","*","fSpan"]]]],[13,"inFlat",[1,"m","<=","f"]],[13,"sn",[6,"std.select",["snBend","snScreen","inFlat"]]],[13,"z",[6,"std.select",[[1,[1,"b","*","u"],"*","u"],[6,"d.f32",[[5,"0"]]],"inFlat"]]],[13,"tSrc",[1,[1,"tScreen","*",[1,"CAMERA_D","-","z"]],"/","CAMERA_D"]],[13,"srcP",[6,[7,[6,[7,"dir","mul"],[[1,"sn","*","sHalf"]]],"add"],[[6,[7,"perp","mul"],["tSrc"]]]]],[10,[6,"d.vec2f",[[1,[1,[7,"srcP","x"],"/","aspect"],"+",[5,"0.5"]],[1,[7,"srcP","y"],"+",[5,"0.5"]]]]]]]},externals:{DEG_TO_RAD:()=>Le,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.max":()=>b,"std.abs":()=>z,B_MAX:()=>S3,"std.clamp":()=>$,"std.select":()=>C,"d.f32":()=>a,CAMERA_D:()=>$a,"std.sqrt":()=>be}})&&e.f)({})),aD=v.fn([l,a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(n.x,i),n.y),c=l(__tsover_mul(t.x,i),__tsover_sub(1,t.y)),_=d.sub(c),u=j(_),m=__tsover_mul(r,.5),p=__tsover_mul(m,b(__tsover_sub(__tsover_sub(1,o),.001),0)),y=__tsover_sub(1,re(p,m,u)),h=__tsover_div(u,m),g=__tsover_mul(h,h),w=b(0,__tsover_sub(1,g)),S=__tsover_mul(y,w),T=__tsover_mul(s,-1),A=__tsover_mul(T,S),P=__tsover_add(1,A),U=_.mul(P),D=c.add(U);return l(__tsover_div(D.x,i),D.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"strength"},{type:"i",name:"radius"},{type:"i",name:"falloff"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"distance",[6,"std.length",["delta"]]],[13,"effectRadius",[1,"radius","*",[5,"0.5"]]],[13,"innerRadius",[1,"effectRadius","*",[6,"std.max",[[1,[1,[5,"1"],"-","falloff"],"-",[5,"0.001"]],[5,"0"]]]]],[13,"smoothFalloff",[1,[5,"1"],"-",[6,"std.smoothstep",["innerRadius","effectRadius","distance"]]]],[13,"normalizedDist",[1,"distance","/","effectRadius"]],[13,"distSq",[1,"normalizedDist","*","normalizedDist"]],[13,"quadraticFalloff",[6,"std.max",[[5,"0"],[1,[5,"1"],"-","distSq"]]]],[13,"falloffTotal",[1,"smoothFalloff","*","quadraticFalloff"]],[13,"negStrength",[1,"strength","*",[4,"-",[5,"1"]]]],[13,"displacementAmount",[1,"negStrength","*","falloffTotal"]],[13,"scaleFactor",[1,[5,"1"],"+","displacementAmount"]],[13,"bulgedDelta",[6,[7,"delta","mul"],["scaleFactor"]]],[13,"bulgedUV",[6,[7,"centerPos","add"],["bulgedDelta"]]],[10,[6,"d.vec2f",[[1,[7,"bulgedUV","x"],"/","aspect"],[7,"bulgedUV","y"]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.max":()=>b,"std.smoothstep":()=>re}})&&e.f)({})),iD=v.fn([l,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(t.x,__tsover_sub(1,t.y)),i=r.sub(n),d=l(__tsover_mul(i.x,o),i.y),c=__tsover_mul(s,j(d)),_=H(c),u=Y(c),m=__tsover_sub(__tsover_mul(_,d.x),__tsover_mul(u,d.y)),p=__tsover_add(__tsover_mul(u,d.x),__tsover_mul(_,d.y));return l(__tsover_add(__tsover_div(m,o),n.x),__tsover_add(p,n.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"intensity"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"uv","sub"],["centerPos"]]],[13,"acd",[6,"d.vec2f",[[1,[7,"delta","x"],"*","aspect"],[7,"delta","y"]]]],[13,"angle",[1,"intensity","*",[6,"std.length",["acd"]]]],[13,"cosA",[6,"std.cos",["angle"]]],[13,"sinA",[6,"std.sin",["angle"]]],[13,"rotatedX",[1,[1,"cosA","*",[7,"acd","x"]],"-",[1,"sinA","*",[7,"acd","y"]]]],[13,"rotatedY",[1,[1,"sinA","*",[7,"acd","x"]],"+",[1,"cosA","*",[7,"acd","y"]]]],[10,[6,"d.vec2f",[[1,[1,"rotatedX","/","aspect"],"+",[7,"centerPos","x"]],[1,"rotatedY","+",[7,"centerPos","y"]]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),dD=v.fn([l,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(o.x,n),o.y),d=l(__tsover_mul(t.x,n),__tsover_sub(1,t.y)),c=i.sub(d),_=j(c),u=tt(c.y,c.x),m=__tsover_add(u,__tsover_mul(r,Le)),p=__tsover_div(it,s),y=__tsover_mul(p,2),h=__tsover_sub(m,__tsover_mul(y,q(__tsover_div(m,y)))),g=C(h,__tsover_sub(y,h),h>p),w=__tsover_mul(H(g),_),S=__tsover_mul(Y(g),_),T=d.add(l(w,S));return l(__tsover_div(T.x,n),T.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"segments"},{type:"i",name:"angle"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"radius",[6,"std.length",["delta"]]],[13,"currentAngle",[6,"std.atan2",[[7,"delta","y"],[7,"delta","x"]]]],[13,"rotatedAngle",[1,"currentAngle","+",[1,"angle","*","DEG_TO_RAD"]]],[13,"segmentAngle",[1,"TAU","/","segments"]],[13,"segTwo",[1,"segmentAngle","*",[5,"2"]]],[13,"wrappedAngle",[1,"rotatedAngle","-",[1,"segTwo","*",[6,"std.floor",[[1,"rotatedAngle","/","segTwo"]]]]]],[13,"finalAngle",[6,"std.select",["wrappedAngle",[1,"segTwo","-","wrappedAngle"],[1,"wrappedAngle",">","segmentAngle"]]]],[13,"kaleidoscopeX",[1,[6,"std.cos",["finalAngle"]],"*","radius"]],[13,"kaleidoscopeY",[1,[6,"std.sin",["finalAngle"]],"*","radius"]],[13,"kaleidoscopePos",[6,[7,"centerPos","add"],[[6,"d.vec2f",["kaleidoscopeX","kaleidoscopeY"]]]]],[10,[6,"d.vec2f",[[1,[7,"kaleidoscopePos","x"],"/","aspect"],[7,"kaleidoscopePos","y"]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.atan2":()=>tt,DEG_TO_RAD:()=>Le,TAU:()=>it,"std.floor":()=>q,"std.select":()=>C,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),cD=v.fn([l,a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(n.x,i),n.y),c=l(__tsover_mul(t.x,i),__tsover_sub(1,t.y)),_=d.sub(c),u=__tsover_mul(r,Le),m=l(H(u),Y(u)),p=se(_,m),y=m.mul(p),h=_.sub(y),g=X(.001,75,o),w=$(__tsover_div(p,g),0,1),S=__tsover_mul(s,100),T=__tsover_add(1,__tsover_mul(S,w)),A=__tsover_div(p,T),P=m.mul(A).add(h),U=c.add(P);return l(__tsover_div(U.x,i),U.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"strength"},{type:"i",name:"angle"},{type:"i",name:"falloff"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"directionVector",[6,"d.vec2f",[[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]]],[13,"projection",[6,"std.dot",["delta","directionVector"]]],[13,"parallel",[6,[7,"directionVector","mul"],["projection"]]],[13,"perpendicular",[6,[7,"delta","sub"],["parallel"]]],[13,"transitionWidth",[6,"std.mix",[[5,"0.001"],[5,"75"],"falloff"]]],[13,"effectMask",[6,"std.clamp",[[1,"projection","/","transitionWidth"],[5,"0"],[5,"1"]]]],[13,"scaledStrength",[1,"strength","*",[5,"100"]]],[13,"stretchFactor",[1,[5,"1"],"+",[1,"scaledStrength","*","effectMask"]]],[13,"finalProjection",[1,"projection","/","stretchFactor"]],[13,"finalParallel",[6,[7,"directionVector","mul"],["finalProjection"]]],[13,"stretchedDelta",[6,[7,"finalParallel","add"],["perpendicular"]]],[13,"stretchedUV",[6,[7,"centerPos","add"],["stretchedDelta"]]],[10,[6,"d.vec2f",[[1,[7,"stretchedUV","x"],"/","aspect"],[7,"stretchedUV","y"]]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.mix":()=>X,"std.clamp":()=>$}})&&e.f)({})),cn=v.fn([l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=t.sub(l(.5,.5)),d=l(__tsover_mul(i.x,s),i.y),c=__tsover_mul(r,Le),_=H(c),u=Y(c),m=__tsover_add(__tsover_mul(d.x,u),__tsover_mul(d.y,_));return __tsover_add(__tsover_mul(__tsover_mul(__tsover_add(m,.5),o),it),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"t"}],body:[0,[[13,"centeredUV",[6,[7,"uv","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"centeredUV","x"],"*","aspect"],[7,"centeredUV","y"]]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"rotatedY",[1,[1,[7,"aspectCorrectedUV","x"],"*","sinA"],"+",[1,[7,"aspectCorrectedUV","y"],"*","cosA"]]],[10,[1,[1,[1,[1,"rotatedY","+",[5,"0.5"]],"*","frequency"],"*","TAU"],"+","t"]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,TAU:()=>it}})&&e.f)({})),_n=v.fn([l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,Le),d=H(i),c=Y(i),_=__tsover_mul(__tsover_mul(n,o),.5),u=__tsover_div(__tsover_mul(_,d),s),m=__tsover_mul(_,c);return l(__tsover_add(t.x,u),__tsover_add(t.y,m))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"strength"},{type:"i",name:"wave"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"displacement",[1,[1,"wave","*","strength"],"*",[5,"0.5"]]],[13,"displacementX",[1,[1,"displacement","*","cosA"],"/","aspect"]],[13,"displacementY",[1,"displacement","*","sinA"]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+","displacementX"],[1,[7,"uv","y"],"+","displacementY"]]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),A3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Y(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[10,[6,"std.sin",["phase"]]]]]},externals:{"std.sin":()=>Y}})&&e.f)({})),M3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ue(__tsover_div(t,it));return __tsover_sub(__tsover_mul(z(__tsover_sub(__tsover_mul(s,2),1)),2),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[13,"normalizedPhase",[6,"std.fract",[[1,"phase","/","TAU"]]]],[10,[1,[1,[6,"std.abs",[[1,[1,"normalizedPhase","*",[5,"2"]],"-",[5,"1"]]]],"*",[5,"2"]],"-",[5,"1"]]]]]},externals:{"std.fract":()=>ue,TAU:()=>it,"std.abs":()=>z}})&&e.f)({})),P3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ue(__tsover_div(t,it));return __tsover_sub(__tsover_mul(De(.5,s),2),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[13,"normalizedPhase",[6,"std.fract",[[1,"phase","/","TAU"]]]],[10,[1,[1,[6,"std.step",[[5,"0.5"],"normalizedPhase"]],"*",[5,"2"]],"-",[5,"1"]]]]]},externals:{"std.fract":()=>ue,TAU:()=>it,"std.step":()=>De}})&&e.f)({})),E3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=ue(__tsover_div(t,it));return __tsover_sub(__tsover_mul(s,2),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[13,"normalizedPhase",[6,"std.fract",[[1,"phase","/","TAU"]]]],[10,[1,[1,"normalizedPhase","*",[5,"2"]],"-",[5,"1"]]]]]},externals:{"std.fract":()=>ue,TAU:()=>it}})&&e.f)({})),k3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return z(Y(t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"phase"}],body:[0,[[10,[6,"std.abs",[[6,"std.sin",["phase"]]]]]]]},externals:{"std.abs":()=>z,"std.sin":()=>Y}})&&e.f)({})),_D=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,A3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformSine",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformSine:()=>A3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),lD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,M3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformTriangle",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformTriangle:()=>M3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),uD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,P3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformSquare",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformSquare:()=>P3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),mD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,E3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformSawtooth",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformSawtooth:()=>E3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),pD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return _n(t,s,r,n,k3(cn(t,s,r,o,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"frequency"},{type:"i",name:"strength"},{type:"i",name:"t"}],body:[0,[[13,"wave",[6,"waveformBounce",[[6,"wavePhase",["uv","aspect","angle","frequency","t"]]]]],[10,[6,"waveApply",["uv","aspect","angle","strength","wave"]]]]]},externals:{waveformBounce:()=>k3,wavePhase:()=>cn,waveApply:()=>_n}})&&e.f)({})),fD=v.fn([l,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(o.x,n),o.y),d=l(__tsover_mul(t.x,n),__tsover_sub(1,t.y)),c=i.sub(d),_=tt(c.y,c.x),u=__tsover_div(__tsover_add(_,Xr),it),m=j(c);return l(__tsover_mul(u,s),__tsover_mul(m,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"wrap"},{type:"i",name:"radius"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"aspectCorrectedUV","sub"],["centerPos"]]],[13,"theta",[6,"std.atan2",[[7,"delta","y"],[7,"delta","x"]]]],[13,"normalizedAngle",[1,[1,"theta","+","PI"],"/","TAU"]],[13,"r",[6,"std.length",["delta"]]],[13,"u",[1,"normalizedAngle","*","wrap"]],[13,"v",[1,"r","*","radius"]],[10,[6,"d.vec2f",["u","v"]]]]]},externals:{"d.vec2f":()=>l,"std.atan2":()=>tt,PI:()=>Xr,TAU:()=>it,"std.length":()=>j}})&&e.f)({})),vD=v.fn([l,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(__tsover_mul(r.x,it),Xr),i=__tsover_mul(r.y,s),d=__tsover_mul(i,H(n)),c=__tsover_mul(i,Y(n)),_=l(t.x,__tsover_sub(1,t.y));return l(__tsover_add(__tsover_div(d,o),_.x),__tsover_add(c,_.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"scale"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"theta",[1,[1,[7,"uv","x"],"*","TAU"],"-","PI"]],[13,"r",[1,[7,"uv","y"],"*","scale"]],[13,"rectX",[1,"r","*",[6,"std.cos",["theta"]]]],[13,"rectY",[1,"r","*",[6,"std.sin",["theta"]]]],[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[10,[6,"d.vec2f",[[1,[1,"rectX","/","aspect"],"+",[7,"centerPos","x"]],[1,"rectY","+",[7,"centerPos","y"]]]]]]]},externals:{TAU:()=>it,PI:()=>Xr,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),Yi=1e-8,Od=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_div(t,C(s,Yi,z(s)C,EPS:()=>Yi,"std.abs":()=>z}})&&e.f)({})),ki=v.fn([l,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(r.x,s.x),n=__tsover_sub(r.y,s.y),i=__tsover_sub(t.x,s.x),d=__tsover_sub(t.y,s.y);return __tsover_sub(__tsover_mul(o,d),__tsover_mul(n,i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"}],body:[0,[[13,"bax",[1,[7,"b","x"],"-",[7,"a","x"]]],[13,"bay",[1,[7,"b","y"],"-",[7,"a","y"]]],[13,"pax",[1,[7,"p","x"],"-",[7,"a","x"]]],[13,"pay",[1,[7,"p","y"],"-",[7,"a","y"]]],[10,[1,[1,"bax","*","pay"],"-",[1,"bay","*","pax"]]]]]},externals:{}})&&e.f)({})),$3=v.fn([l,l,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=ki(t,s,r),i=ki(t,r,o),d=ki(t,o,s),c=__tsover_mul(__tsover_mul(De(a(0),n),De(a(0),i)),De(a(0),d)),_=__tsover_mul(__tsover_mul(De(n,a(0)),De(i,a(0))),De(d,a(0)));return __tsover_add(c,_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"c"}],body:[0,[[13,"d1",[6,"cornerSideOf",["p","a","b"]]],[13,"d2",[6,"cornerSideOf",["p","b","c"]]],[13,"d3",[6,"cornerSideOf",["p","c","a"]]],[13,"allPos",[1,[1,[6,"std.step",[[6,"d.f32",[[5,"0"]]],"d1"]],"*",[6,"std.step",[[6,"d.f32",[[5,"0"]]],"d2"]]],"*",[6,"std.step",[[6,"d.f32",[[5,"0"]]],"d3"]]]],[13,"allNeg",[1,[1,[6,"std.step",["d1",[6,"d.f32",[[5,"0"]]]]],"*",[6,"std.step",["d2",[6,"d.f32",[[5,"0"]]]]]],"*",[6,"std.step",["d3",[6,"d.f32",[[5,"0"]]]]]]],[10,[1,"allPos","+","allNeg"]]]]},externals:{cornerSideOf:()=>ki,"std.step":()=>De,"d.f32":()=>a}})&&e.f)({})),U3=v.fn([l,l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=r.sub(s),i=$(__tsover_div(se(t.sub(s),n),b(se(n,n),Yi)),0,1),d=s.add(n.mul(i)),c=l(__tsover_mul(n.y,-1),n.x).div(b(j(n),Yi)),_=__tsover_mul(__tsover_mul(ks(o),-1),.004);return d.add(c.mul(_))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"refSide"}],body:[0,[[13,"ab",[6,[7,"b","sub"],["a"]]],[13,"t",[6,"std.clamp",[[1,[6,"std.dot",[[6,[7,"p","sub"],["a"]],"ab"]],"/",[6,"std.max",[[6,"std.dot",["ab","ab"]],"EPS"]]],[5,"0"],[5,"1"]]]],[13,"foot",[6,[7,"a","add"],[[6,[7,"ab","mul"],["t"]]]]],[13,"perp",[6,[7,[6,"d.vec2f",[[1,[7,"ab","y"],"*",[4,"-",[5,"1"]]],[7,"ab","x"]]],"div"],[[6,"std.max",[[6,"std.length",["ab"]],"EPS"]]]]],[13,"nudge",[1,[1,[6,"std.sign",["refSide"]],"*",[4,"-",[5,"1"]]],"*",[5,"0.004"]]],[10,[6,[7,"foot","add"],[[6,[7,"perp","mul"],["nudge"]]]]]]]},externals:{"std.clamp":()=>$,"std.dot":()=>se,"std.max":()=>b,EPS:()=>Yi,"d.vec2f":()=>l,"std.length":()=>j,"std.sign":()=>ks}})&&e.f)({})),Vd=v.fn([l,l,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=$3(t,s,r,o)>.5;return C(t,U3(t,s,r,ki(o,s,r)),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"o"}],body:[0,[[13,"inside",[1,[6,"cornerInsideTri",["p","a","b","o"]],">",[5,"0.5"]]],[13,"proj",[6,"cornerProjectToDiagonal",["p","a","b",[6,"cornerSideOf",["o","a","b"]]]]],[10,[6,"std.select",["p","proj","inside"]]]]]},externals:{cornerInsideTri:()=>$3,cornerProjectToDiagonal:()=>U3,cornerSideOf:()=>ki,"std.select":()=>C}})&&e.f)({})),yD=v.fn([l,a,l,l,l,l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(s,s),c=X(l(0,0),l(r.x,__tsover_sub(1,r.y)),d),_=X(l(1,0),l(o.x,__tsover_sub(1,o.y)),d),u=X(l(1,1),l(n.x,__tsover_sub(1,n.y)),d),m=X(l(0,1),l(i.x,__tsover_sub(1,i.y)),d),p=Vd(c,_,m,u),y=Vd(_,c,u,m),h=Vd(u,_,m,c),g=Vd(m,c,u,_),w=__tsover_sub(y.x,h.x),S=__tsover_sub(g.x,h.x),T=__tsover_sub(__tsover_add(__tsover_sub(p.x,y.x),h.x),g.x),A=__tsover_sub(y.y,h.y),P=__tsover_sub(g.y,h.y),U=__tsover_sub(__tsover_add(__tsover_sub(p.y,y.y),h.y),g.y),D=__tsover_sub(__tsover_mul(w,P),__tsover_mul(S,A)),O=Od(__tsover_sub(__tsover_mul(T,P),__tsover_mul(S,U)),D),L=Od(__tsover_sub(__tsover_mul(w,U),__tsover_mul(T,A)),D),G=__tsover_add(__tsover_sub(y.x,p.x),__tsover_mul(O,y.x)),W=__tsover_add(__tsover_sub(g.x,p.x),__tsover_mul(L,g.x)),K=p.x,Q=__tsover_add(__tsover_sub(y.y,p.y),__tsover_mul(O,y.y)),te=__tsover_add(__tsover_sub(g.y,p.y),__tsover_mul(L,g.y)),ee=p.y,he=__tsover_sub(te,__tsover_mul(ee,L)),Ee=__tsover_mul(__tsover_sub(W,__tsover_mul(K,L)),-1),Te=__tsover_sub(__tsover_mul(W,ee),__tsover_mul(K,te)),Ue=__tsover_mul(__tsover_sub(Q,__tsover_mul(ee,O)),-1),Me=__tsover_sub(G,__tsover_mul(K,O)),Pe=__tsover_mul(__tsover_sub(__tsover_mul(G,ee),__tsover_mul(K,Q)),-1),Re=__tsover_sub(__tsover_mul(Q,L),__tsover_mul(te,O)),de=__tsover_mul(__tsover_sub(__tsover_mul(G,L),__tsover_mul(W,O)),-1),je=__tsover_sub(__tsover_mul(G,te),__tsover_mul(W,Q)),fe=t.x,Ke=t.y,Ze=__tsover_add(__tsover_add(__tsover_mul(Re,fe),__tsover_mul(de,Ke)),je),at=Od(__tsover_add(__tsover_add(__tsover_mul(he,fe),__tsover_mul(Ee,Ke)),Te),Ze),Fe=Od(__tsover_add(__tsover_add(__tsover_mul(Ue,fe),__tsover_mul(Me,Ke)),Pe),Ze),Ie=__tsover_add(__tsover_add(__tsover_mul(G,he),__tsover_mul(W,Ue)),__tsover_mul(K,Re));return f(at,Fe,De(a(0),__tsover_mul(Ze,Ie)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"},{type:"i",name:"amount"},{type:"i",name:"c0"},{type:"i",name:"c1"},{type:"i",name:"c2"},{type:"i",name:"c3"}],body:[0,[[13,"amt",[6,"d.vec2f",["amount","amount"]]],[13,"r0",[6,"std.mix",[[6,"d.vec2f",[[5,"0"],[5,"0"]]],[6,"d.vec2f",[[7,"c0","x"],[1,[5,"1"],"-",[7,"c0","y"]]]],"amt"]]],[13,"r1",[6,"std.mix",[[6,"d.vec2f",[[5,"1"],[5,"0"]]],[6,"d.vec2f",[[7,"c1","x"],[1,[5,"1"],"-",[7,"c1","y"]]]],"amt"]]],[13,"r2",[6,"std.mix",[[6,"d.vec2f",[[5,"1"],[5,"1"]]],[6,"d.vec2f",[[7,"c2","x"],[1,[5,"1"],"-",[7,"c2","y"]]]],"amt"]]],[13,"r3",[6,"std.mix",[[6,"d.vec2f",[[5,"0"],[5,"1"]]],[6,"d.vec2f",[[7,"c3","x"],[1,[5,"1"],"-",[7,"c3","y"]]]],"amt"]]],[13,"q0",[6,"cornerConvexify",["r0","r1","r3","r2"]]],[13,"q1",[6,"cornerConvexify",["r1","r0","r2","r3"]]],[13,"q2",[6,"cornerConvexify",["r2","r1","r3","r0"]]],[13,"q3",[6,"cornerConvexify",["r3","r0","r2","r1"]]],[13,"dx1",[1,[7,"q1","x"],"-",[7,"q2","x"]]],[13,"dx2",[1,[7,"q3","x"],"-",[7,"q2","x"]]],[13,"dx3",[1,[1,[1,[7,"q0","x"],"-",[7,"q1","x"]],"+",[7,"q2","x"]],"-",[7,"q3","x"]]],[13,"dy1",[1,[7,"q1","y"],"-",[7,"q2","y"]]],[13,"dy2",[1,[7,"q3","y"],"-",[7,"q2","y"]]],[13,"dy3",[1,[1,[1,[7,"q0","y"],"-",[7,"q1","y"]],"+",[7,"q2","y"]],"-",[7,"q3","y"]]],[13,"denA",[1,[1,"dx1","*","dy2"],"-",[1,"dx2","*","dy1"]]],[13,"a13",[6,"cornerPinSafeDiv",[[1,[1,"dx3","*","dy2"],"-",[1,"dx2","*","dy3"]],"denA"]]],[13,"a23",[6,"cornerPinSafeDiv",[[1,[1,"dx1","*","dy3"],"-",[1,"dx3","*","dy1"]],"denA"]]],[13,"a11",[1,[1,[7,"q1","x"],"-",[7,"q0","x"]],"+",[1,"a13","*",[7,"q1","x"]]]],[13,"a21",[1,[1,[7,"q3","x"],"-",[7,"q0","x"]],"+",[1,"a23","*",[7,"q3","x"]]]],[13,"a31",[7,"q0","x"]],[13,"a12",[1,[1,[7,"q1","y"],"-",[7,"q0","y"]],"+",[1,"a13","*",[7,"q1","y"]]]],[13,"a22",[1,[1,[7,"q3","y"],"-",[7,"q0","y"]],"+",[1,"a23","*",[7,"q3","y"]]]],[13,"a32",[7,"q0","y"]],[13,"c00",[1,"a22","-",[1,"a32","*","a23"]]],[13,"c10",[1,[1,"a21","-",[1,"a31","*","a23"]],"*",[4,"-",[5,"1"]]]],[13,"c20",[1,[1,"a21","*","a32"],"-",[1,"a31","*","a22"]]],[13,"c01",[1,[1,"a12","-",[1,"a32","*","a13"]],"*",[4,"-",[5,"1"]]]],[13,"c11",[1,"a11","-",[1,"a31","*","a13"]]],[13,"c21",[1,[1,[1,"a11","*","a32"],"-",[1,"a31","*","a12"]],"*",[4,"-",[5,"1"]]]],[13,"c02",[1,[1,"a12","*","a23"],"-",[1,"a22","*","a13"]]],[13,"c12",[1,[1,[1,"a11","*","a23"],"-",[1,"a21","*","a13"]],"*",[4,"-",[5,"1"]]]],[13,"c22",[1,[1,"a11","*","a22"],"-",[1,"a21","*","a12"]]],[13,"px",[7,"coord","x"]],[13,"py",[7,"coord","y"]],[13,"den",[1,[1,[1,"c02","*","px"],"+",[1,"c12","*","py"]],"+","c22"]],[13,"su",[6,"cornerPinSafeDiv",[[1,[1,[1,"c00","*","px"],"+",[1,"c10","*","py"]],"+","c20"],"den"]]],[13,"sv",[6,"cornerPinSafeDiv",[[1,[1,[1,"c01","*","px"],"+",[1,"c11","*","py"]],"+","c21"],"den"]]],[13,"det",[1,[1,[1,"a11","*","c00"],"+",[1,"a21","*","c01"]],"+",[1,"a31","*","c02"]]],[13,"front",[6,"std.step",[[6,"d.f32",[[5,"0"]]],[1,"den","*","det"]]]],[10,[6,"d.vec3f",["su","sv","front"]]]]]},externals:{"d.vec2f":()=>l,"std.mix":()=>X,cornerConvexify:()=>Vd,cornerPinSafeDiv:()=>Od,"std.step":()=>De,"d.f32":()=>a,"d.vec3f":()=>f}})&&e.f)({})),hD=v.fn([l,a,a,a,a,l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=l(t.x,__tsover_sub(1,t.y)),_=__tsover_div(__tsover_sub(d.x,c.x),n),u=__tsover_div(__tsover_sub(d.y,c.y),n),m=__tsover_mul(s,Le),p=__tsover_mul(r,Le),y=__tsover_mul(o,Le),h=H(m),g=Y(m),w=H(p),S=Y(p),T=__tsover_mul(bp(__tsover_mul(y,.5)),2),A=b(__tsover_add(h,__tsover_mul(__tsover_mul(g,_),T)),.001),P=__tsover_div(_,A),U=__tsover_div(__tsover_mul(u,h),A),D=b(__tsover_add(w,__tsover_mul(__tsover_mul(S,U),T)),.001),O=__tsover_div(__tsover_mul(P,w),D),L=__tsover_div(U,D),G=l(i.x,__tsover_sub(1,i.y));return l(O,L).add(c).sub(G).add(l(.5,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"pan"},{type:"i",name:"tilt"},{type:"i",name:"fov"},{type:"i",name:"zoom"},{type:"i",name:"offset"},{type:"i",name:"uv"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"x",[1,[1,[7,"uv","x"],"-",[7,"centerPos","x"]],"/","zoom"]],[13,"y",[1,[1,[7,"uv","y"],"-",[7,"centerPos","y"]],"/","zoom"]],[13,"panRad",[1,"pan","*","DEG_TO_RAD"]],[13,"tiltRad",[1,"tilt","*","DEG_TO_RAD"]],[13,"fovRad",[1,"fov","*","DEG_TO_RAD"]],[13,"cosPan",[6,"std.cos",["panRad"]]],[13,"sinPan",[6,"std.sin",["panRad"]]],[13,"cosTilt",[6,"std.cos",["tiltRad"]]],[13,"sinTilt",[6,"std.sin",["tiltRad"]]],[13,"perspectiveFactor",[1,[6,"std.tan",[[1,"fovRad","*",[5,"0.5"]]]],"*",[5,"2"]]],[13,"panDivisor",[1,"cosPan","+",[1,[1,"sinPan","*","x"],"*","perspectiveFactor"]]],[13,"safePanDivisor",[6,"std.max",["panDivisor",[5,"0.001"]]]],[13,"afterPanX",[1,"x","/","safePanDivisor"]],[13,"afterPanY",[1,[1,"y","*","cosPan"],"/","safePanDivisor"]],[13,"tiltDivisor",[1,"cosTilt","+",[1,[1,"sinTilt","*","afterPanY"],"*","perspectiveFactor"]]],[13,"safeTiltDivisor",[6,"std.max",["tiltDivisor",[5,"0.001"]]]],[13,"finalX",[1,[1,"afterPanX","*","cosTilt"],"/","safeTiltDivisor"]],[13,"finalY",[1,"afterPanY","/","safeTiltDivisor"]],[13,"offsetPos",[6,"d.vec2f",[[7,"offset","x"],[1,[5,"1"],"-",[7,"offset","y"]]]]],[10,[6,[7,[6,[7,[6,[7,[6,"d.vec2f",["finalX","finalY"]],"add"],["centerPos"]],"sub"],["offsetPos"]],"add"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.tan":()=>bp,"std.max":()=>b}})&&e.f)({})),C3=v.fn([l,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(r.x,__tsover_sub(1,r.y)),i=__tsover_mul(__tsover_sub(t.x,n.x),s),d=__tsover_sub(t.y,n.y),c=H(o),_=Y(o),u=__tsover_sub(__tsover_mul(i,c),__tsover_mul(d,_)),m=__tsover_add(__tsover_mul(i,_),__tsover_mul(d,c));return l(__tsover_add(__tsover_div(u,s),n.x),__tsover_add(m,n.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"},{type:"i",name:"angle"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dx",[1,[1,[7,"uv","x"],"-",[7,"centerPos","x"]],"*","aspect"]],[13,"dy",[1,[7,"uv","y"],"-",[7,"centerPos","y"]]],[13,"cosA",[6,"std.cos",["angle"]]],[13,"sinA",[6,"std.sin",["angle"]]],[13,"rotX",[1,[1,"dx","*","cosA"],"-",[1,"dy","*","sinA"]]],[13,"rotY",[1,[1,"dx","*","sinA"],"+",[1,"dy","*","cosA"]]],[10,[6,"d.vec2f",[[1,[1,"rotX","/","aspect"],"+",[7,"centerPos","x"]],[1,"rotY","+",[7,"centerPos","y"]]]]]]]},externals:{"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),xD=v.fn([l,a,a,a,a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=l(t.x,__tsover_sub(1,t.y)),m=j(l(__tsover_mul(__tsover_sub(c.x,u.x),_),__tsover_sub(c.y,u.y))),p=__tsover_mul(m,r),y=q(p),h=ue(p),g=__tsover_mul(s,Le),w=__tsover_mul(n,.137),S=__tsover_mul(Zn(__tsover_add(y,w)),g),T=__tsover_mul(Zn(__tsover_add(__tsover_add(y,1),w)),g),A=X(1,Zn(__tsover_add(y,42.7)),i),P=X(1,Zn(__tsover_add(__tsover_add(y,1),42.7)),i),U=__tsover_mul(__tsover_mul(d,.25),A),D=__tsover_mul(__tsover_mul(d,.25),P),O=__tsover_add(S,U),L=__tsover_add(T,D),G=__tsover_add(__tsover_sub(L,O),Xr),W=__tsover_sub(__tsover_sub(G,__tsover_mul(it,q(__tsover_div(G,it)))),Xr),K=__tsover_add(__tsover_mul(o,.5),.001),Q=re(__tsover_sub(.5,K),__tsover_add(.5,K),h);return C3(c,_,t,__tsover_add(O,__tsover_mul(W,Q)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"intensity"},{type:"i",name:"rings"},{type:"i",name:"smoothness"},{type:"i",name:"seed"},{type:"i",name:"speedRandomness"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dx",[1,[1,[7,"uv","x"],"-",[7,"centerPos","x"]],"*","aspect"]],[13,"dy",[1,[7,"uv","y"],"-",[7,"centerPos","y"]]],[13,"dist",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[13,"ringCoord",[1,"dist","*","rings"]],[13,"ringIndex",[6,"std.floor",["ringCoord"]]],[13,"ringFrac",[6,"std.fract",["ringCoord"]]],[13,"maxAngle",[1,"intensity","*","DEG_TO_RAD"]],[13,"seedOffset",[1,"seed","*",[5,"0.137"]]],[13,"staticA",[1,[6,"legacySinHash11",[[1,"ringIndex","+","seedOffset"]]],"*","maxAngle"]],[13,"staticB",[1,[6,"legacySinHash11",[[1,[1,"ringIndex","+",[5,"1"]],"+","seedOffset"]]],"*","maxAngle"]],[13,"ringSpeedA",[6,"std.mix",[[5,"1"],[6,"legacySinHash11",[[1,"ringIndex","+",[5,"42.7"]]]],"speedRandomness"]]],[13,"ringSpeedB",[6,"std.mix",[[5,"1"],[6,"legacySinHash11",[[1,[1,"ringIndex","+",[5,"1"]],"+",[5,"42.7"]]]],"speedRandomness"]]],[13,"animA",[1,[1,"animTime","*",[5,"0.25"]],"*","ringSpeedA"]],[13,"animB",[1,[1,"animTime","*",[5,"0.25"]],"*","ringSpeedB"]],[13,"totalA",[1,"staticA","+","animA"]],[13,"totalB",[1,"staticB","+","animB"]],[13,"wrapArg",[1,[1,"totalB","-","totalA"],"+","PI"]],[13,"diff",[1,[1,"wrapArg","-",[1,"TAU","*",[6,"std.floor",[[1,"wrapArg","/","TAU"]]]]],"-","PI"]],[13,"halfEdge",[1,[1,"smoothness","*",[5,"0.5"]],"+",[5,"0.001"]]],[13,"blend",[6,"std.smoothstep",[[1,[5,"0.5"],"-","halfEdge"],[1,[5,"0.5"],"+","halfEdge"],"ringFrac"]]],[13,"angle",[1,"totalA","+",[1,"diff","*","blend"]]],[10,[6,"csRotateUV",["uv","aspect","center","angle"]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.floor":()=>q,"std.fract":()=>ue,DEG_TO_RAD:()=>Le,legacySinHash11:()=>Zn,"std.mix":()=>X,PI:()=>Xr,TAU:()=>it,"std.smoothstep":()=>re,csRotateUV:()=>C3}})&&e.f)({})),gD=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(t.x,s),t.y),c=__tsover_mul(n,.7),_=__tsover_mul(i,.2),u=__tsover_mul(go(f(__tsover_add(__tsover_mul(d.x,r),__tsover_mul(c,.3)),__tsover_add(__tsover_mul(d.y,r),__tsover_mul(c,.5)),_)),ao),m=l(H(u),Y(u)),p=__tsover_mul(n,.5),y=__tsover_mul(i,.15),h=__tsover_mul(go(f(__tsover_add(__tsover_add(__tsover_mul(d.x,__tsover_mul(r,2.3)),__tsover_mul(p,-.4)),173.5),__tsover_add(__tsover_add(__tsover_mul(d.y,__tsover_mul(r,2.3)),__tsover_mul(p,.3)),291.7),__tsover_add(y,50))),ao),g=l(H(h),Y(h)),w=__tsover_mul(n,.3),S=__tsover_mul(i,.1),T=__tsover_mul(go(f(__tsover_add(__tsover_add(__tsover_mul(d.x,__tsover_mul(r,4.7)),__tsover_mul(w,.2)),527.3),__tsover_add(__tsover_add(__tsover_mul(d.y,__tsover_mul(r,4.7)),__tsover_mul(w,-.6)),839.1),__tsover_add(S,100))),ao),A=l(H(T),Y(T)),P=m.add(g.mul(.5)).add(A.mul(.25)),U=b(j(P),.001),D=P.div(U),O=l(__tsover_div(__tsover_mul(D.x,o),s),__tsover_mul(D.y,o));return l(__tsover_add(t.x,O.x),__tsover_add(t.y,O.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"scale"},{type:"i",name:"strength"},{type:"i",name:"time"},{type:"i",name:"evolutionTime"}],body:[0,[[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"drift1",[1,"time","*",[5,"0.7"]]],[13,"evolve1",[1,"evolutionTime","*",[5,"0.2"]]],[13,"angle1",[1,[6,"mxNoiseFloat3",[[6,"d.vec3f",[[1,[1,[7,"aspectCorrectedUV","x"],"*","scale"],"+",[1,"drift1","*",[5,"0.3"]]],[1,[1,[7,"aspectCorrectedUV","y"],"*","scale"],"+",[1,"drift1","*",[5,"0.5"]]],"evolve1"]]]],"*","TWO_PI"]],[13,"flow1",[6,"d.vec2f",[[6,"std.cos",["angle1"]],[6,"std.sin",["angle1"]]]]],[13,"drift2",[1,"time","*",[5,"0.5"]]],[13,"evolve2",[1,"evolutionTime","*",[5,"0.15"]]],[13,"angle2",[1,[6,"mxNoiseFloat3",[[6,"d.vec3f",[[1,[1,[1,[7,"aspectCorrectedUV","x"],"*",[1,"scale","*",[5,"2.3"]]],"+",[1,"drift2","*",[4,"-",[5,"0.4"]]]],"+",[5,"173.5"]],[1,[1,[1,[7,"aspectCorrectedUV","y"],"*",[1,"scale","*",[5,"2.3"]]],"+",[1,"drift2","*",[5,"0.3"]]],"+",[5,"291.7"]],[1,"evolve2","+",[5,"50"]]]]]],"*","TWO_PI"]],[13,"flow2",[6,"d.vec2f",[[6,"std.cos",["angle2"]],[6,"std.sin",["angle2"]]]]],[13,"drift3",[1,"time","*",[5,"0.3"]]],[13,"evolve3",[1,"evolutionTime","*",[5,"0.1"]]],[13,"angle3",[1,[6,"mxNoiseFloat3",[[6,"d.vec3f",[[1,[1,[1,[7,"aspectCorrectedUV","x"],"*",[1,"scale","*",[5,"4.7"]]],"+",[1,"drift3","*",[5,"0.2"]]],"+",[5,"527.3"]],[1,[1,[1,[7,"aspectCorrectedUV","y"],"*",[1,"scale","*",[5,"4.7"]]],"+",[1,"drift3","*",[4,"-",[5,"0.6"]]]],"+",[5,"839.1"]],[1,"evolve3","+",[5,"100"]]]]]],"*","TWO_PI"]],[13,"flow3",[6,"d.vec2f",[[6,"std.cos",["angle3"]],[6,"std.sin",["angle3"]]]]],[13,"combinedFlow",[6,[7,[6,[7,"flow1","add"],[[6,[7,"flow2","mul"],[[5,"0.5"]]]]],"add"],[[6,[7,"flow3","mul"],[[5,"0.25"]]]]]],[13,"flowLength",[6,"std.max",[[6,"std.length",["combinedFlow"]],[5,"0.001"]]]],[13,"normalizedFlow",[6,[7,"combinedFlow","div"],["flowLength"]]],[13,"finalFlow",[6,"d.vec2f",[[1,[1,[7,"normalizedFlow","x"],"*","strength"],"/","aspect"],[1,[7,"normalizedFlow","y"],"*","strength"]]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[7,"finalFlow","x"]],[1,[7,"uv","y"],"+",[7,"finalFlow","y"]]]]]]]},externals:{"d.vec2f":()=>l,mxNoiseFloat3:()=>go,"d.vec3f":()=>f,TWO_PI:()=>ao,"std.cos":()=>H,"std.sin":()=>Y,"std.max":()=>b,"std.length":()=>j}})&&e.f)({})),bD=v.fn([l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,Le),d=l(H(i),Y(i)),c=l(__tsover_mul(__tsover_sub(t.x,.5),s),__tsover_sub(t.y,.5)),_=se(c,d),u=__tsover_mul(.5,__tsover_add(__tsover_mul(s,z(d.x)),z(d.y))),m=__tsover_add(__tsover_div(_,__tsover_mul(2,u)),.5),p=q(__tsover_mul(m,b(o,1))),y=__tsover_sub(__tsover_mul(ue(__tsover_mul(p,.5)),4),1),h=l(-d.y,d.x),g=__tsover_mul(.5,__tsover_add(__tsover_mul(s,z(d.y)),z(d.x))),w=__tsover_mul(__tsover_mul(n,__tsover_mul(2.02,g)),y),S=c.add(h.mul(w));return l(__tsover_add(__tsover_div(S.x,s),.5),__tsover_add(S.y,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angleDeg"},{type:"i",name:"sliceCount"},{type:"i",name:"progress"}],body:[0,[[13,"a",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"dir",[6,"d.vec2f",[[6,"std.cos",["a"]],[6,"std.sin",["a"]]]]],[13,"p",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],[1,[7,"uv","y"],"-",[5,"0.5"]]]]],[13,"grad",[6,"std.dot",["p","dir"]]],[13,"ext",[1,[5,"0.5"],"*",[1,[1,"aspect","*",[6,"std.abs",[[7,"dir","x"]]]],"+",[6,"std.abs",[[7,"dir","y"]]]]]],[13,"t",[1,[1,"grad","/",[1,[5,"2"],"*","ext"]],"+",[5,"0.5"]]],[13,"idx",[6,"std.floor",[[1,"t","*",[6,"std.max",["sliceCount",[5,"1"]]]]]]],[13,"sign",[1,[1,[6,"std.fract",[[1,"idx","*",[5,"0.5"]]]],"*",[5,"4"]],"-",[5,"1"]]],[13,"perp",[6,"d.vec2f",[[4,"-",[7,"dir","y"]],[7,"dir","x"]]]],[13,"extPerp",[1,[5,"0.5"],"*",[1,[1,"aspect","*",[6,"std.abs",[[7,"dir","y"]]]],"+",[6,"std.abs",[[7,"dir","x"]]]]]],[13,"slide",[1,[1,"progress","*",[1,[5,"2.02"],"*","extPerp"]],"*","sign"]],[13,"q",[6,[7,"p","add"],[[6,[7,"perp","mul"],["slide"]]]]],[10,[6,"d.vec2f",[[1,[1,[7,"q","x"],"/","aspect"],"+",[5,"0.5"]],[1,[7,"q","y"],"+",[5,"0.5"]]]]]]]},externals:{DEG_TO_RAD:()=>Le,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.abs":()=>z,"std.floor":()=>q,"std.max":()=>b,"std.fract":()=>ue}})&&e.f)({})),R3=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(r,Le),i=H(n),d=Y(n),c=__tsover_mul(t.x,s),_=t.y,u=__tsover_sub(c,__tsover_mul(s,.5)),m=__tsover_sub(_,.5),p=__tsover_add(__tsover_mul(u,i),__tsover_mul(m,d)),y=__tsover_add(__tsover_mul(__tsover_mul(u,d),-1),__tsover_mul(m,i)),h=__tsover_add(y,o),g=__tsover_sub(__tsover_mul(p,i),__tsover_mul(h,d)),w=__tsover_add(__tsover_mul(p,d),__tsover_mul(h,i));return l(__tsover_add(__tsover_div(g,s),.5),__tsover_add(w,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angle"},{type:"i",name:"offset"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"au",[1,[7,"uv","x"],"*","aspect"]],[13,"av",[7,"uv","y"]],[13,"cu",[1,"au","-",[1,"aspect","*",[5,"0.5"]]]],[13,"cv",[1,"av","-",[5,"0.5"]]],[13,"projectedU",[1,[1,"cu","*","cosA"],"+",[1,"cv","*","sinA"]]],[13,"projectedV",[1,[1,[1,"cu","*","sinA"],"*",[4,"-",[5,"1"]]],"+",[1,"cv","*","cosA"]]],[13,"distPV",[1,"projectedV","+","offset"]],[13,"dcu",[1,[1,"projectedU","*","cosA"],"-",[1,"distPV","*","sinA"]]],[13,"dcv",[1,[1,"projectedU","*","sinA"],"+",[1,"distPV","*","cosA"]]],[10,[6,"d.vec2f",[[1,[1,"dcu","/","aspect"],"+",[5,"0.5"]],[1,"dcv","+",[5,"0.5"]]]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),wD=v.fn([a,a,a,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_mul(s,Le),_=H(c),u=Y(c),m=b(d,1),p=__tsover_mul(i.x,d),y=i.y,h=__tsover_sub(p,__tsover_mul(d,.5)),g=__tsover_sub(y,.5),w=__tsover_add(__tsover_mul(h,_),__tsover_mul(g,u)),S=q(__tsover_div(__tsover_mul(w,t),m)),T=__tsover_mul(o,.137),A=Zn(__tsover_add(S,T)),P=Zn(__tsover_add(__tsover_add(S,T),42.7)),U=__tsover_mul(__tsover_mul(n,P),.2);return R3(i,d,s,__tsover_mul(__tsover_add(A,U),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"count"},{type:"i",name:"angle"},{type:"i",name:"intensity"},{type:"i",name:"seed"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"longestAxis",[6,"std.max",["aspect",[5,"1"]]]],[13,"au",[1,[7,"uv","x"],"*","aspect"]],[13,"av",[7,"uv","y"]],[13,"cu",[1,"au","-",[1,"aspect","*",[5,"0.5"]]]],[13,"cv",[1,"av","-",[5,"0.5"]]],[13,"projectedU",[1,[1,"cu","*","cosA"],"+",[1,"cv","*","sinA"]]],[13,"barCoord",[1,[1,"projectedU","*","count"],"/","longestAxis"]],[13,"barIndex",[6,"std.floor",["barCoord"]]],[13,"seedOffset",[1,"seed","*",[5,"0.137"]]],[13,"staticOffset",[6,"legacySinHash11",[[1,"barIndex","+","seedOffset"]]]],[13,"barSpeed",[6,"legacySinHash11",[[1,[1,"barIndex","+","seedOffset"],"+",[5,"42.7"]]]]],[13,"animOffset",[1,[1,"animTime","*","barSpeed"],"*",[5,"0.2"]]],[13,"offset",[1,[1,"staticOffset","+","animOffset"],"*","intensity"]],[10,[6,"barSampleUV",["uv","aspect","angle","offset"]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.max":()=>b,"std.floor":()=>q,legacySinHash11:()=>Zn,barSampleUV:()=>R3}})&&e.f)({})),TD=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=r>1,n=b(C(__tsover_mul(s,r),s,o),1),i=b(C(s,__tsover_div(s,r),o),1),d=q(__tsover_mul(t.x,n)),c=q(__tsover_mul(t.y,i));return l(__tsover_div(__tsover_add(d,.5),n),__tsover_div(__tsover_add(c,.5),i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"gridSize"},{type:"i",name:"aspect"}],body:[0,[[13,"isWide",[1,"aspect",">",[5,"1"]]],[13,"cellsX",[6,"std.max",[[6,"std.select",[[1,"gridSize","*","aspect"],"gridSize","isWide"]],[5,"1"]]]],[13,"cellsY",[6,"std.max",[[6,"std.select",["gridSize",[1,"gridSize","/","aspect"],"isWide"]],[5,"1"]]]],[13,"cellIndexX",[6,"std.floor",[[1,[7,"uv","x"],"*","cellsX"]]]],[13,"cellIndexY",[6,"std.floor",[[1,[7,"uv","y"],"*","cellsY"]]]],[10,[6,"d.vec2f",[[1,[1,"cellIndexX","+",[5,"0.5"]],"/","cellsX"],[1,[1,"cellIndexY","+",[5,"0.5"]],"/","cellsY"]]]]]]},externals:{"std.max":()=>b,"std.select":()=>C,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),SD=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let o=$(s,l(-.1,-.1),l(.1,.1));return t.sub(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"disp"}],body:[0,[[13,"maxDisp",[5,"0.1"]],[13,"clamped",[6,"std.clamp",["disp",[6,"d.vec2f",[[4,"-","maxDisp"],[4,"-","maxDisp"]]],[6,"d.vec2f",["maxDisp","maxDisp"]]]]],[10,[6,[7,"uv","sub"],["clamped"]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l}})&&e.f)({})),AD=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=s.mul(__tsover_mul(r,.1)),n=.15,i=$(o,l(-n,-n),l(n,n));return t.sub(i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"disp"},{type:"i",name:"intensity"}],body:[0,[[13,"scaled",[6,[7,"disp","mul"],[[1,"intensity","*",[5,"0.1"]]]]],[13,"maxDisp",[5,"0.15"]],[13,"clamped",[6,"std.clamp",["scaled",[6,"d.vec2f",[[4,"-","maxDisp"],[4,"-","maxDisp"]]],[6,"d.vec2f",["maxDisp","maxDisp"]]]]],[10,[6,[7,"uv","sub"],["clamped"]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l}})&&e.f)({})),MD=v.fn([l,x,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(s.w,1e-4),i=__tsover_div(__tsover_mul(__tsover_mul(__tsover_mul(__tsover_sub(__tsover_div(s.x,n),.5),2),s.w),o),r),d=__tsover_mul(__tsover_mul(__tsover_mul(__tsover_sub(__tsover_div(s.y,n),.5),2),s.w),o);return l(__tsover_add(t.x,i),__tsover_add(t.y,d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"src"},{type:"i",name:"aspect"},{type:"i",name:"amount"}],body:[0,[[13,"a",[6,"std.max",[[7,"src","w"],[5,"0.0001"]]]],[13,"dx",[1,[1,[1,[1,[1,[1,[7,"src","x"],"/","a"],"-",[5,"0.5"]],"*",[5,"2"]],"*",[7,"src","w"]],"*","amount"],"/","aspect"]],[13,"dy",[1,[1,[1,[1,[1,[7,"src","y"],"/","a"],"-",[5,"0.5"]],"*",[5,"2"]],"*",[7,"src","w"]],"*","amount"]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+","dx"],[1,[7,"uv","y"],"+","dy"]]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),PD=v.fn([l,x,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=b(s.w,1e-4),d=se(f(__tsover_div(s.x,i),__tsover_div(s.y,i),__tsover_div(s.z,i)),f(.2126,.7152,.0722)),c=__tsover_mul(__tsover_mul(__tsover_mul(__tsover_sub(d,.5),2),s.w),o),_=__tsover_mul(n,Le),u=__tsover_div(__tsover_mul(c,H(_)),r),m=__tsover_mul(c,Y(_));return l(__tsover_add(t.x,u),__tsover_add(t.y,m))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"src"},{type:"i",name:"aspect"},{type:"i",name:"amount"},{type:"i",name:"angleDeg"}],body:[0,[[13,"a",[6,"std.max",[[7,"src","w"],[5,"0.0001"]]]],[13,"lum",[6,"std.dot",[[6,"d.vec3f",[[1,[7,"src","x"],"/","a"],[1,[7,"src","y"],"/","a"],[1,[7,"src","z"],"/","a"]]],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"scalar",[1,[1,[1,[1,"lum","-",[5,"0.5"]],"*",[5,"2"]],"*",[7,"src","w"]],"*","amount"]],[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"dx",[1,[1,"scalar","*",[6,"std.cos",["angleRad"]]],"/","aspect"]],[13,"dy",[1,"scalar","*",[6,"std.sin",["angleRad"]]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+","dx"],[1,[7,"uv","y"],"+","dy"]]]]]]},externals:{"std.max":()=>b,"std.dot":()=>se,"d.vec3f":()=>f,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),Rm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({refractedUV:l,chrOff:l,slope:a}),"FlutedGeom"),ED=v.fn([l,a,a,a,a,a,a,a,a,a,f],Rm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=m.x,y=m.y,h=m.z,g=__tsover_div(__tsover_mul(o,Xr),180),w=H(g),S=Y(g),T=l(__tsover_mul(__tsover_sub(t.x,.5),s),__tsover_sub(t.y,.5)),A=__tsover_add(__tsover_mul(T.x,w),__tsover_mul(T.y,S)),P=__tsover_add(__tsover_mul(-T.x,S),__tsover_mul(T.y,w)),U=__tsover_mul(Y(__tsover_add(__tsover_mul(__tsover_mul(P,c),__tsover_mul(Xr,2)),__tsover_mul(r,2))),d),D=__tsover_add(A,__tsover_mul(h,U)),O=__tsover_add(__tsover_mul(D,n),r),L=__tsover_mul(__tsover_sub(ue(O),.5),2),G=b(z(L),1e-4),W=X(p,y,i),K=__tsover_mul(ks(L),Ce(G,W)),Q=__tsover_div(.5,b(n,.001)),te=-__tsover_mul(__tsover_mul(K,_),Q),ee=l(__tsover_add(t.x,__tsover_div(__tsover_mul(te,w),s)),__tsover_add(t.y,__tsover_mul(te,S))),he=__tsover_mul(__tsover_mul(te,u),.5);return Rm({refractedUV:ee,chrOff:l(__tsover_div(__tsover_mul(he,w),s),__tsover_mul(he,S)),slope:K})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"t"},{type:"i",name:"angleDeg"},{type:"i",name:"frequency"},{type:"i",name:"softness"},{type:"i",name:"waveAmp"},{type:"i",name:"waveFreq"},{type:"i",name:"refraction"},{type:"i",name:"aberration"},{type:"i",name:"shapeParams"}],body:[0,[[13,"expHi",[7,"shapeParams","x"]],[13,"expLo",[7,"shapeParams","y"]],[13,"wavesFlag",[7,"shapeParams","z"]],[13,"r",[1,[1,"angleDeg","*","PI"],"/",[5,"180"]]],[13,"cosA",[6,"std.cos",["r"]]],[13,"sinA",[6,"std.sin",["r"]]],[13,"aspCorr",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],[1,[7,"uv","y"],"-",[5,"0.5"]]]]],[13,"u",[1,[1,[7,"aspCorr","x"],"*","cosA"],"+",[1,[7,"aspCorr","y"],"*","sinA"]]],[13,"v",[1,[1,[4,"-",[7,"aspCorr","x"]],"*","sinA"],"+",[1,[7,"aspCorr","y"],"*","cosA"]]],[13,"waveTerm",[1,[6,"std.sin",[[1,[1,[1,"v","*","waveFreq"],"*",[1,"PI","*",[5,"2"]]],"+",[1,"t","*",[5,"2"]]]]],"*","waveAmp"]],[13,"fluteU",[1,"u","+",[1,"wavesFlag","*","waveTerm"]]],[13,"flutePos",[1,[1,"fluteU","*","frequency"],"+","t"]],[13,"cellPos",[1,[1,[6,"std.fract",["flutePos"]],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"absCell",[6,"std.max",[[6,"std.abs",["cellPos"]],[5,"0.0001"]]]],[13,"exponent",[6,"std.mix",["expHi","expLo","softness"]]],[13,"slope",[1,[6,"std.sign",["cellPos"]],"*",[6,"std.pow",["absCell","exponent"]]]],[13,"halfCell",[1,[5,"0.5"],"/",[6,"std.max",["frequency",[5,"0.001"]]]]],[13,"refrU",[4,"-",[1,[1,"slope","*","refraction"],"*","halfCell"]]],[13,"refractedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[1,"refrU","*","cosA"],"/","aspect"]],[1,[7,"uv","y"],"+",[1,"refrU","*","sinA"]]]]],[13,"chrU",[1,[1,"refrU","*","aberration"],"*",[5,"0.5"]]],[13,"chrOff",[6,"d.vec2f",[[1,[1,"chrU","*","cosA"],"/","aspect"],[1,"chrU","*","sinA"]]]],[10,[6,"FlutedGeom",[[104,{refractedUV:"refractedUV",chrOff:"chrOff",slope:"slope"}]]]]]]},externals:{PI:()=>Xr,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l,"std.fract":()=>ue,"std.max":()=>b,"std.abs":()=>z,"std.mix":()=>X,"std.sign":()=>ks,"std.pow":()=>Ce,FlutedGeom:()=>Rm}})&&e.f)({})),kD=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=oe(__tsover_mul(t,t),1),i=be(__tsover_sub(1,n)),d=__tsover_div(__tsover_mul(s,Xr),360),c=Y(d),_=H(d),u=b(__tsover_add(__tsover_mul(t,c),__tsover_mul(i,_)),0),m=$l(__tsover_sub(8,__tsover_mul(o,7))),p=Ce(__tsover_sub(1,i),5),y=__tsover_add(.04,__tsover_mul(.96,p));return __tsover_mul(__tsover_mul(Ce(u,m),y),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"slope"},{type:"i",name:"lightAngleDeg"},{type:"i",name:"intensity"},{type:"i",name:"softness"}],body:[0,[[13,"slopeSq",[6,"std.min",[[1,"slope","*","slope"],[5,"1"]]]],[13,"nz",[6,"std.sqrt",[[1,[5,"1"],"-","slopeSq"]]]],[13,"half",[1,[1,"lightAngleDeg","*","PI"],"/",[5,"360"]]],[13,"hx",[6,"std.sin",["half"]]],[13,"hy",[6,"std.cos",["half"]]],[13,"nDotH",[6,"std.max",[[1,[1,"slope","*","hx"],"+",[1,"nz","*","hy"]],[5,"0"]]]],[13,"shininess",[6,"std.exp2",[[1,[5,"8"],"-",[1,"softness","*",[5,"7"]]]]]],[13,"fresnel",[6,"std.pow",[[1,[5,"1"],"-","nz"],[5,"5"]]]],[13,"fresnelMix",[1,[5,"0.04"],"+",[1,[5,"0.96"],"*","fresnel"]]],[10,[1,[1,[6,"std.pow",["nDotH","shininess"]],"*","fresnelMix"],"*","intensity"]]]]},externals:{"std.min":()=>oe,"std.sqrt":()=>be,PI:()=>Xr,"std.sin":()=>Y,"std.cos":()=>H,"std.max":()=>b,"std.exp2":()=>$l,"std.pow":()=>Ce}})&&e.f)({})),zm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({curlUV:l,theta:a,distPastCrease:a,distIntoPeel:a,flatReach:a,peelReach:a,foldBlend:a,showCurl:a}),"PagePeelGeom"),$D=v.fn([l,a,a,a,a,a,a,a],zm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=l(__tsover_mul(t.x,s),t.y),u=l(__tsover_mul(r,s),o),m=l(__tsover_mul(n,s),i).sub(u),p=j(m),y=m.mul(__tsover_div(1,p)),h=se(_.sub(u),y),g=__tsover_mul(d,p),w=g,S=b(__tsover_mul(c,p),1e-4),T=__tsover_div(g,S),A=__tsover_div(__tsover_sub(h,w),S),P=xp($(A,0,1)),U=__tsover_mul(De(0,A),De(A,1)),D=De(P,T),O=__tsover_sub(g,__tsover_mul(S,P)),L=_.add(y.mul(__tsover_sub(O,h))),G=l(__tsover_div(L.x,s),L.y),W=__tsover_mul(__tsover_mul(__tsover_mul(De(0,G.x),De(G.x,1)),De(0,G.y)),De(G.y,1)),K=__tsover_sub(1,H($(T,0,Gl))),Q=__tsover_mul(S,K),te=b(__tsover_add(S,__tsover_mul(Q,.5)),1e-4),ee=__tsover_sub(h,w),he=b(__tsover_mul(Q,2.5),1e-4);return zm({curlUV:G,theta:P,distPastCrease:ee,distIntoPeel:__tsover_sub(w,h),flatReach:te,peelReach:he,foldBlend:re(__tsover_sub(w,.0015),__tsover_add(w,.0015),h),showCurl:__tsover_mul(__tsover_mul(U,D),W)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"cornerX"},{type:"i",name:"cornerY"},{type:"i",name:"oppX"},{type:"i",name:"oppY"},{type:"i",name:"amount"},{type:"i",name:"radius"}],body:[0,[[13,"pA",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"cornerA",[6,"d.vec2f",[[1,"cornerX","*","aspect"],"cornerY"]]],[13,"oppA",[6,"d.vec2f",[[1,"oppX","*","aspect"],"oppY"]]],[13,"axisVec",[6,[7,"oppA","sub"],["cornerA"]]],[13,"L",[6,"std.length",["axisVec"]]],[13,"axis",[6,[7,"axisVec","mul"],[[1,[5,"1"],"/","L"]]]],[13,"t",[6,"std.dot",[[6,[7,"pA","sub"],["cornerA"]],"axis"]]],[13,"peel",[1,"amount","*","L"]],[13,"cFold","peel"],[13,"R",[6,"std.max",[[1,"radius","*","L"],[5,"0.0001"]]]],[13,"thetaMax",[1,"peel","/","R"]],[13,"X",[1,[1,"t","-","cFold"],"/","R"]],[13,"Xc",[6,"std.clamp",["X",[5,"0"],[5,"1"]]]],[13,"theta",[6,"std.asin",["Xc"]]],[13,"inBand",[1,[6,"std.step",[[5,"0"],"X"]],"*",[6,"std.step",["X",[5,"1"]]]]],[13,"paper",[6,"std.step",["theta","thetaMax"]]],[13,"cCurl",[1,"peel","-",[1,"R","*","theta"]]],[13,"sourceA",[6,[7,"pA","add"],[[6,[7,"axis","mul"],[[1,"cCurl","-","t"]]]]]],[13,"curlUV",[6,"d.vec2f",[[1,[7,"sourceA","x"],"/","aspect"],[7,"sourceA","y"]]]],[13,"curlInBounds",[1,[1,[1,[6,"std.step",[[5,"0"],[7,"curlUV","x"]]],"*",[6,"std.step",[[7,"curlUV","x"],[5,"1"]]]],"*",[6,"std.step",[[5,"0"],[7,"curlUV","y"]]]],"*",[6,"std.step",[[7,"curlUV","y"],[5,"1"]]]]],[13,"liftFrac",[1,[5,"1"],"-",[6,"std.cos",[[6,"std.clamp",["thetaMax",[5,"0"],"HALF_PI"]]]]]],[13,"lipHeight",[1,"R","*","liftFrac"]],[13,"flatReach",[6,"std.max",[[1,"R","+",[1,"lipHeight","*",[5,"0.5"]]],[5,"0.0001"]]]],[13,"distPastCrease",[1,"t","-","cFold"]],[13,"peelReach",[6,"std.max",[[1,"lipHeight","*",[5,"2.5"]],[5,"0.0001"]]]],[13,"distIntoPeel",[1,"cFold","-","t"]],[13,"foldBlend",[6,"std.smoothstep",[[1,"cFold","-",[5,"0.0015"]],[1,"cFold","+",[5,"0.0015"]],"t"]]],[13,"showCurl",[1,[1,"inBand","*","paper"],"*","curlInBounds"]],[10,[6,"PagePeelGeom",[[104,{curlUV:"curlUV",theta:"theta",distPastCrease:"distPastCrease",distIntoPeel:"distIntoPeel",flatReach:"flatReach",peelReach:"peelReach",foldBlend:"foldBlend",showCurl:"showCurl"}]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.dot":()=>se,"std.max":()=>b,"std.clamp":()=>$,"std.asin":()=>xp,"std.step":()=>De,"std.cos":()=>H,HALF_PI:()=>Gl,"std.smoothstep":()=>re,PagePeelGeom:()=>zm}})&&e.f)({})),UD=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=H(t);return __tsover_sub(1,__tsover_mul(s,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"theta"},{type:"i",name:"shading"}],body:[0,[[13,"facing",[6,"std.cos",["theta"]]],[10,[1,[5,"1"],"-",[1,"shading","*","facing"]]]]]},externals:{"std.cos":()=>H}})&&e.f)({})),CD=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(t,Gl),n=X(.05,.4,r),i=__tsover_div(__tsover_sub(o,.65),n);return __tsover_mul(ct(__tsover_mul(__tsover_mul(i,i),-.5)),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"theta"},{type:"i",name:"intensity"},{type:"i",name:"softness"}],body:[0,[[13,"thetaN",[1,"theta","/","HALF_PI"]],[13,"specSigma",[6,"std.mix",[[5,"0.05"],[5,"0.4"],"softness"]]],[13,"specDelta",[1,[1,"thetaN","-",[5,"0.65"]],"/","specSigma"]],[10,[1,[6,"std.exp",[[1,[1,"specDelta","*","specDelta"],"*",[4,"-",[5,"0.5"]]]]],"*","intensity"]]]]},externals:{HALF_PI:()=>Gl,"std.mix":()=>X,"std.exp":()=>ct}})&&e.f)({})),eu=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(re(0,.04,t),Ce(__tsover_sub(1,t),.7))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"amount"}],body:[0,[[10,[1,[6,"std.smoothstep",[[5,"0"],[5,"0.04"],"amount"]],"*",[6,"std.pow",[[1,[5,"1"],"-","amount"],[5,"0.7"]]]]]]]},externals:{"std.smoothstep":()=>re,"std.pow":()=>Ce}})&&e.f)({})),tu=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_mul(Ce(__tsover_sub(1,re(0,s,t)),r),De(0,t))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"reach"},{type:"i",name:"exponent"}],body:[0,[[10,[1,[6,"std.pow",[[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"reach","dist"]]],"exponent"]],"*",[6,"std.step",[[5,"0"],"dist"]]]]]]},externals:{"std.pow":()=>Ce,"std.smoothstep":()=>re,"std.step":()=>De}})&&e.f)({})),RD=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(tu(t,s,2),eu(r));return __tsover_sub(1,__tsover_mul(__tsover_mul(o,n),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"reach"},{type:"i",name:"amount"},{type:"i",name:"shadow"}],body:[0,[[13,"fall",[1,[6,"shadowFalloff",["dist","reach",[5,"2"]]],"*",[6,"liftShadowStrength",["amount"]]]],[10,[1,[5,"1"],"-",[1,[1,"shadow","*","fall"],"*",[5,"0.5"]]]]]]},externals:{shadowFalloff:()=>tu,liftShadowStrength:()=>eu}})&&e.f)({})),zD=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(__tsover_mul(tu(t,s,1.5),eu(r)),o);return __tsover_mul(n,.6)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"reach"},{type:"i",name:"amount"},{type:"i",name:"shadow"}],body:[0,[[13,"fall",[1,[1,[6,"shadowFalloff",["dist","reach",[5,"1.5"]]],"*",[6,"liftShadowStrength",["amount"]]],"*","shadow"]],[10,[1,"fall","*",[5,"0.6"]]]]]},externals:{shadowFalloff:()=>tu,liftShadowStrength:()=>eu}})&&e.f)({})),GD=v.fn([x,x,a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=x(t.xyz.mul(r).add(__tsover_mul(o,t.w)),t.w),u=x(s.xyz.mul(n),s.w);return C(X(x(0,0,0,i),u,x(d)),_,c>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"curlSample"},{type:"i",name:"flatSample"},{type:"i",name:"curlBright"},{type:"i",name:"spec"},{type:"i",name:"flatShade"},{type:"i",name:"peelAlpha"},{type:"i",name:"foldBlend"},{type:"i",name:"showCurl"}],body:[0,[[13,"litRgb",[6,[7,[6,[7,[7,"curlSample","xyz"],"mul"],["curlBright"]],"add"],[[1,"spec","*",[7,"curlSample","w"]]]]],[13,"curlColor",[6,"d.vec4f",["litRgb",[7,"curlSample","w"]]]],[13,"flatColor",[6,"d.vec4f",[[6,[7,[7,"flatSample","xyz"],"mul"],["flatShade"]],[7,"flatSample","w"]]]],[13,"peeledColor",[6,"d.vec4f",[[5,"0"],[5,"0"],[5,"0"],"peelAlpha"]]],[13,"base",[6,"std.mix",["peeledColor","flatColor",[6,"d.vec4f",["foldBlend"]]]]],[10,[6,"std.select",["base","curlColor",[1,"showCurl",">",[5,"0.5"]]]]]]]},externals:{"d.vec4f":()=>x,"std.mix":()=>X,"std.select":()=>C}})&&e.f)({})),Gm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({uv:l,coverage:a,normal:f}),"SphereBulge"),YD=v.fn([l,l,l,a,a],Gm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_div(s.x,s.y),d=r.x,c=__tsover_sub(1,r.y),_=__tsover_mul(__tsover_sub(t.x,d),i),u=__tsover_sub(t.y,c),m=__tsover_div(__tsover_mul(_,2),o),p=__tsover_div(__tsover_mul(u,2),o),y=__tsover_add(__tsover_mul(m,m),__tsover_mul(p,p)),h=__tsover_sub(1,re(.98,1,y)),g=be(b(a(0),__tsover_sub(1,y))),w=__tsover_add(1,__tsover_mul(g,n)),S=__tsover_div(__tsover_mul(__tsover_div(m,w),o),2),T=__tsover_div(__tsover_mul(__tsover_div(p,w),o),2),A=__tsover_add(__tsover_div(S,i),d),P=__tsover_add(T,c),U=as(f(m,p,g));return Gm({uv:l(A,P),coverage:h,normal:U})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"center"},{type:"i",name:"radius"},{type:"i",name:"depth"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"centerX",[7,"center","x"]],[13,"centerY",[1,[5,"1"],"-",[7,"center","y"]]],[13,"cuX",[1,[1,[7,"uv","x"],"-","centerX"],"*","aspect"]],[13,"cuY",[1,[7,"uv","y"],"-","centerY"]],[13,"sphereX",[1,[1,"cuX","*",[5,"2"]],"/","radius"]],[13,"sphereY",[1,[1,"cuY","*",[5,"2"]],"/","radius"]],[13,"radiusSq",[1,[1,"sphereX","*","sphereX"],"+",[1,"sphereY","*","sphereY"]]],[13,"sphereAlpha",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0.98"],[5,"1"],"radiusSq"]]]],[13,"z",[6,"std.sqrt",[[6,"std.max",[[6,"d.f32",[[5,"0"]]],[1,[5,"1"],"-","radiusSq"]]]]]],[13,"depthFactor",[1,[5,"1"],"+",[1,"z","*","depth"]]],[13,"finalX",[1,[1,[1,"sphereX","/","depthFactor"],"*","radius"],"/",[5,"2"]]],[13,"finalY",[1,[1,[1,"sphereY","/","depthFactor"],"*","radius"],"/",[5,"2"]]],[13,"transformedX",[1,[1,"finalX","/","aspect"],"+","centerX"]],[13,"transformedY",[1,"finalY","+","centerY"]],[13,"normal",[6,"std.normalize",[[6,"d.vec3f",["sphereX","sphereY","z"]]]]],[10,[6,"SphereBulge",[[104,{uv:[6,"d.vec2f",["transformedX","transformedY"]],coverage:"sphereAlpha",normal:"normal"}]]]]]]},externals:{"std.smoothstep":()=>re,"std.sqrt":()=>be,"std.max":()=>b,"d.f32":()=>a,"std.normalize":()=>as,"d.vec3f":()=>f,SphereBulge:()=>Gm,"d.vec2f":()=>l}})&&e.f)({})),LD=v.fn([f,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=f(0,0,1),i=__tsover_add(1,__tsover_mul(4,__tsover_sub(1,o))),d=Ce(__tsover_sub(1,b(se(t,n),a(0))),i),c=__tsover_mul(__tsover_sub(s.x,.5),2),_=__tsover_mul(__tsover_sub(__tsover_sub(1,s.y),.5),2),u=as(l(__tsover_add(t.x,1e-4),__tsover_add(t.y,1e-4))),m=as(l(__tsover_add(c,1e-4),__tsover_add(_,1e-4))),p=Ce(b(a(0),se(u,m)),a(2));return __tsover_mul(__tsover_mul(__tsover_mul(d,p),r),2)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"normal"},{type:"i",name:"lightPos"},{type:"i",name:"intensity"},{type:"i",name:"softness"}],body:[0,[[13,"viewDir",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"1"]]]],[13,"fresnelPower",[1,[5,"1"],"+",[1,[5,"4"],"*",[1,[5,"1"],"-","softness"]]]],[13,"fresnel",[6,"std.pow",[[1,[5,"1"],"-",[6,"std.max",[[6,"std.dot",["normal","viewDir"]],[6,"d.f32",[[5,"0"]]]]]],"fresnelPower"]]],[13,"lightDir2Dx",[1,[1,[7,"lightPos","x"],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"lightDir2Dy",[1,[1,[1,[5,"1"],"-",[7,"lightPos","y"]],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"normalDir",[6,"std.normalize",[[6,"d.vec2f",[[1,[7,"normal","x"],"+",[5,"0.0001"]],[1,[7,"normal","y"],"+",[5,"0.0001"]]]]]]],[13,"lightDirNorm",[6,"std.normalize",[[6,"d.vec2f",[[1,"lightDir2Dx","+",[5,"0.0001"]],[1,"lightDir2Dy","+",[5,"0.0001"]]]]]]],[13,"directionality",[6,"std.max",[[6,"d.f32",[[5,"0"]]],[6,"std.dot",["normalDir","lightDirNorm"]]]]],[13,"directionalBias",[6,"std.pow",["directionality",[6,"d.f32",[[5,"2"]]]]]],[10,[1,[1,[1,"fresnel","*","directionalBias"],"*","intensity"],"*",[5,"2"]]]]]},externals:{"d.vec3f":()=>f,"std.pow":()=>Ce,"std.max":()=>b,"std.dot":()=>se,"d.f32":()=>a,"std.normalize":()=>as,"d.vec2f":()=>l}})&&e.f)({})),ID=v.fn([x,f,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return x(__tsover_add(t.x,__tsover_mul(s.x,r)),__tsover_add(t.y,__tsover_mul(s.y,r)),__tsover_add(t.z,__tsover_mul(s.z,r)),__tsover_mul(t.w,o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"straight"},{type:"i",name:"lightColor"},{type:"i",name:"rim"},{type:"i",name:"coverage"}],body:[0,[[13,"r",[1,[7,"straight","x"],"+",[1,[7,"lightColor","x"],"*","rim"]]],[13,"g",[1,[7,"straight","y"],"+",[1,[7,"lightColor","y"],"*","rim"]]],[13,"b",[1,[7,"straight","z"],"+",[1,[7,"lightColor","z"],"*","rim"]]],[13,"a",[1,[7,"straight","w"],"*","coverage"]],[10,[6,"d.vec4f",["r","g","b","a"]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({}));var z3=1/360,DD=v.fn([l,l,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=hm(t),d=hm(s),c=d.sub(i),_=j(c),u=as(c),m=b(n.y,1e-6),p=__tsover_div(n.x,m),y=__tsover_mul(__tsover_mul(r,Le),-1),h=H(y),g=Y(y),w=i.add(d).mul(.5),S=o.sub(w),T=Eo(l(__tsover_mul(S.x,p),S.y),h,g),A=se(l(__tsover_div(T.x,p),T.y).add(w).sub(i),u);return __tsover_div(A,b(_,1e-6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"start"},{type:"i",name:"end"},{type:"i",name:"angle"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"startPos",[6,"unflipPosition",["start"]]],[13,"endPos",[6,"unflipPosition",["end"]]],[13,"gradientVector",[6,[7,"endPos","sub"],["startPos"]]],[13,"gradientLength",[6,"std.length",["gradientVector"]]],[13,"gradientDir",[6,"std.normalize",["gradientVector"]]],[13,"safeViewportY",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]],[13,"aspect",[1,[7,"viewport","x"],"/","safeViewportY"]],[13,"angleRad",[1,[1,"angle","*","DEG_TO_RAD"],"*",[4,"-",[5,"1"]]]],[13,"cosAngle",[6,"std.cos",["angleRad"]]],[13,"sinAngle",[6,"std.sin",["angleRad"]]],[13,"midpoint",[6,[7,[6,[7,"startPos","add"],["endPos"]],"mul"],[[5,"0.5"]]]],[13,"centeredUV",[6,[7,"uv","sub"],["midpoint"]]],[13,"rotated",[6,"geom.rotate2",[[6,"d.vec2f",[[1,[7,"centeredUV","x"],"*","aspect"],[7,"centeredUV","y"]]],"cosAngle","sinAngle"]]],[13,"rotatedUV",[6,[7,[6,"d.vec2f",[[1,[7,"rotated","x"],"/","aspect"],[7,"rotated","y"]]],"add"],["midpoint"]]],[13,"relativePos",[6,[7,"rotatedUV","sub"],["startPos"]]],[13,"projection",[6,"std.dot",["relativePos","gradientDir"]]],[10,[1,"projection","/",[6,"std.max",["gradientLength",[5,"0.000001"]]]]]]]},externals:{unflipPosition:()=>hm,"std.length":()=>j,"std.normalize":()=>as,"std.max":()=>b,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"geom.rotate2":()=>Eo,"d.vec2f":()=>l,"std.dot":()=>se}})&&e.f)({})),FD=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=bo(z(t),2);return C(s,__tsover_sub(2,s),s>1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[13,"m",[6,"std.mod",[[6,"std.abs",["t"]],[5,"2"]]]],[10,[6,"std.select",["m",[1,[5,"2"],"-","m"],[1,"m",">",[5,"1"]]]]]]]},externals:{"std.mod":()=>bo,"std.abs":()=>z,"std.select":()=>C}})&&e.f)({})),BD=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[6,"std.fract",["t"]]]]]},externals:{"std.fract":()=>ue}})&&e.f)({})),WD=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return $(t,0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[6,"std.clamp",["t",[5,"0"],[5,"1"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),OD=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=C(a(0),a(1),t>=0),r=C(a(0),a(1),t<=1);return __tsover_mul(s,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[13,"inLow",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"t",">=",[5,"0"]]]]],[13,"inHigh",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"t","<=",[5,"1"]]]]],[10,[1,"inLow","*","inHigh"]]]]},externals:{"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})),VD=v.fn([l,a,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ua(n,t,i),c=__tsover_mul(s,Le),_=Eo(d,H(c),-Y(c)),u=j(l(__tsover_mul(_.x,r),_.y)),m=b(o,1e-6);return __tsover_div(u,m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"skewAngle"},{type:"i",name:"ellipseAspect"},{type:"i",name:"radius"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"delta",[6,"aspectCenteredDelta",["uv","center","viewport"]]],[13,"skewRad",[1,"skewAngle","*","DEG_TO_RAD"]],[13,"cosS",[6,"std.cos",["skewRad"]]],[13,"sinS",[6,"std.sin",["skewRad"]]],[13,"rotated",[6,"geom.rotate2",["delta","cosS",[4,"-","sinS"]]]],[13,"stretched",[6,"d.vec2f",[[1,[7,"rotated","x"],"*","ellipseAspect"],[7,"rotated","y"]]]],[13,"dist",[6,"std.length",["stretched"]]],[13,"safeRadius",[6,"std.max",["radius",[5,"0.000001"]]]],[10,[1,"dist","/","safeRadius"]]]]},externals:{aspectCenteredDelta:()=>ua,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"geom.rotate2":()=>Eo,"d.vec2f":()=>l,"std.length":()=>j,"std.max":()=>b}})&&e.f)({})),ND=v.fn([l,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=ua(r,t,o),i=tt(n.y,n.x),d=__tsover_sub(.5,__tsover_div(i,it)),c=__tsover_mul(s,z3);return __tsover_add(d,c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"rotation"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"delta",[6,"aspectCenteredDelta",["uv","center","viewport"]]],[13,"angle",[6,"std.atan2",[[7,"delta","y"],[7,"delta","x"]]]],[13,"normalized",[1,[5,"0.5"],"-",[1,"angle","/","TAU"]]],[13,"rotationFraction",[1,"rotation","*","INV_360"]],[10,[1,"normalized","+","rotationFraction"]]]]},externals:{aspectCenteredDelta:()=>ua,"std.atan2":()=>tt,TAU:()=>it,INV_360:()=>z3}})&&e.f)({})),qD=v.fn([l,a,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ua(n,t,i),c=__tsover_mul(r,Le),_=Eo(d,H(c),-Y(c)),u=z(_.x),m=z(_.y),p=X(__tsover_add(u,m),b(u,m),o);return __tsover_div(p,s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"size"},{type:"i",name:"rotation"},{type:"i",name:"roundness"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"delta",[6,"aspectCenteredDelta",["uv","center","viewport"]]],[13,"rotRad",[1,"rotation","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rotated",[6,"geom.rotate2",["delta","cosR",[4,"-","sinR"]]]],[13,"absDx",[6,"std.abs",[[7,"rotated","x"]]]],[13,"absDy",[6,"std.abs",[[7,"rotated","y"]]]],[13,"l1",[1,"absDx","+","absDy"]],[13,"linf",[6,"std.max",["absDx","absDy"]]],[13,"dist",[6,"std.mix",["l1","linf","roundness"]]],[10,[1,"dist","/","size"]]]]},externals:{aspectCenteredDelta:()=>ua,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"geom.rotate2":()=>Eo,"std.abs":()=>z,"std.max":()=>b,"std.mix":()=>X}})&&e.f)({})),XD=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(t,s);return C($(r,0,1),ue(r),s>1.0001)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"repeat"}],body:[0,[[13,"s",[1,"t","*","repeat"]],[10,[6,"std.select",[[6,"std.clamp",["s",[5,"0"],[5,"1"]]],[6,"std.fract",["s"]],[1,"repeat",">",[5,"1.0001"]]]]]]]},externals:{"std.select":()=>C,"std.clamp":()=>$,"std.fract":()=>ue}})&&e.f)({})),HD=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return ue(__tsover_mul(t,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"repeat"}],body:[0,[[10,[6,"std.fract",[[1,"t","*","repeat"]]]]]]},externals:{"std.fract":()=>ue}})&&e.f)({})),jD=v.fn([l,l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,Le),d=bt(s),c=__tsover_add(Dl(ma(t,d),H(i),Y(i)),__tsover_mul(d,.5));return ue(__tsover_add(__tsover_mul(__tsover_mul(c,o),.2),n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"scale"},{type:"i",name:"animTime"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"projectedCoord",[1,[6,"directionalProjection",[[6,"canvasCentredDelta",["uv","aspect"]],[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]],"+",[1,"aspect","*",[5,"0.5"]]]],[10,[6,"std.fract",[[1,[1,[1,"projectedCoord","*","scale"],"*",[5,"0.2"]],"+","animTime"]]]]]]},externals:{DEG_TO_RAD:()=>Le,"geom.aspectOf":()=>bt,directionalProjection:()=>Dl,canvasCentredDelta:()=>ma,"std.cos":()=>H,"std.sin":()=>Y,"std.fract":()=>ue}})&&e.f)({})),KD=v.fn([a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_mul(t,6);return x($(__tsover_sub(z(__tsover_sub(s,3)),1),0,1),$(__tsover_sub(2,z(__tsover_sub(s,2))),0,1),$(__tsover_sub(2,z(__tsover_sub(s,4))),0,1),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[13,"h6",[1,"t","*",[5,"6"]]],[13,"r",[6,"std.clamp",[[1,[6,"std.abs",[[1,"h6","-",[5,"3"]]]],"-",[5,"1"]],[5,"0"],[5,"1"]]]],[13,"g",[6,"std.clamp",[[1,[5,"2"],"-",[6,"std.abs",[[1,"h6","-",[5,"2"]]]]],[5,"0"],[5,"1"]]]],[13,"b",[6,"std.clamp",[[1,[5,"2"],"-",[6,"std.abs",[[1,"h6","-",[5,"4"]]]]],[5,"0"],[5,"1"]]]],[10,[6,"d.vec4f",["r","g","b",[5,"1"]]]]]]},externals:{"std.clamp":()=>$,"std.abs":()=>z,"d.vec4f":()=>x}})&&e.f)({})),ZD=v.fn([a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_mul(t,3);return l(ue(s),q(s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[13,"t3",[1,"t","*",[5,"3"]]],[10,[6,"d.vec2f",[[6,"std.fract",["t3"]],[6,"std.floor",["t3"]]]]]]]},externals:{"d.vec2f":()=>l,"std.fract":()=>ue,"std.floor":()=>q}})&&e.f)({})),QD=v.fn([x,x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return X(X(r,s,De(o,1.5)),t,De(o,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"c01"},{type:"i",name:"c12"},{type:"i",name:"c20"},{type:"i",name:"floorT3"}],body:[0,[[13,"seg1",[6,"std.mix",["c20","c12",[6,"std.step",["floorT3",[5,"1.5"]]]]]],[10,[6,"std.mix",["seg1","c01",[6,"std.step",["floorT3",[5,"0.5"]]]]]]]]},externals:{"std.mix":()=>X,"std.step":()=>De}})&&e.f)({})),G3=v.fn([l,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_div(n.x,n.y),d=__tsover_sub(__tsover_mul(o.x,i),__tsover_mul(t.x,i)),c=__tsover_sub(o.y,__tsover_sub(1,t.y)),_=j(l(d,c)),u=__tsover_sub(tt(c,d),r);return __tsover_add(__tsover_mul(_,s),__tsover_div(u,ao))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"scale"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"dx",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,[7,"center","x"],"*","aspect"]]],[13,"dy",[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]],[13,"l",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[13,"angle",[1,[6,"std.atan2",["dy","dx"]],"-","animTime"]],[10,[1,[1,"l","*","scale"],"+",[1,"angle","/","TWO_PI"]]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.atan2":()=>tt,TWO_PI:()=>ao}})&&e.f)({})),JD=v.fn([l,a,a,a,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_div(c.x,c.y),u=j(l(__tsover_sub(__tsover_mul(d.x,_),__tsover_mul(t.x,_)),__tsover_sub(d.y,__tsover_sub(1,t.y)))),m=G3(t,s,i,d,c),p=ue(m),y=__tsover_mul(z(__tsover_sub(p,.5)),2),h=$(r,__tsover_mul(o,.005),1),g=__tsover_sub(1,__tsover_mul($(o,0,1),u)),w=__tsover_mul(h,g),S=Zt(m),T=__tsover_sub(4,__tsover_mul(__tsover_mul(re(.05,.4,__tsover_mul(r,2)),re(.05,.4,__tsover_mul(__tsover_sub(1,r),2))),3)),A=X(__tsover_mul(T,S),Zt(y),$(S,0,1));return re(__tsover_sub(__tsover_sub(w,A),n),__tsover_add(__tsover_add(w,A),n),y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"scale"},{type:"i",name:"strokeWidth"},{type:"i",name:"strokeFalloff"},{type:"i",name:"softness"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"dx",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,[7,"center","x"],"*","aspect"]]],[13,"dy",[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]],[13,"l",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[13,"offset",[6,"spiralOffset",["center","scale","animTime","uv","viewport"]]],[13,"stripe",[6,"std.fract",["offset"]]],[13,"shape",[1,[6,"std.abs",[[1,"stripe","-",[5,"0.5"]]]],"*",[5,"2"]]],[13,"baseWidth",[6,"std.clamp",["strokeWidth",[1,"strokeFalloff","*",[5,"0.005"]],[5,"1"]]]],[13,"falloffAmount",[1,[5,"1"],"-",[1,[6,"std.clamp",["strokeFalloff",[5,"0"],[5,"1"]]],"*","l"]]],[13,"width",[1,"baseWidth","*","falloffAmount"]],[13,"fw",[6,"std.fwidth",["offset"]]],[13,"fwMult",[1,[5,"4"],"-",[1,[1,[6,"std.smoothstep",[[5,"0.05"],[5,"0.4"],[1,"strokeWidth","*",[5,"2"]]]],"*",[6,"std.smoothstep",[[5,"0.05"],[5,"0.4"],[1,[1,[5,"1"],"-","strokeWidth"],"*",[5,"2"]]]]],"*",[5,"3"]]]],[13,"pixelSize",[6,"std.mix",[[1,"fwMult","*","fw"],[6,"std.fwidth",["shape"]],[6,"std.clamp",["fw",[5,"0"],[5,"1"]]]]]],[10,[6,"std.smoothstep",[[1,[1,"width","-","pixelSize"],"-","softness"],[1,[1,"width","+","pixelSize"],"+","softness"],"shape"]]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,spiralOffset:()=>G3,"std.fract":()=>ue,"std.abs":()=>z,"std.clamp":()=>$,"std.fwidth":()=>Zt,"std.smoothstep":()=>re,"std.mix":()=>X}})&&e.f)({})),Si=v.fn([l,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(t.x,s.x),n=__tsover_sub(t.y,s.y),i=__tsover_add(be(__tsover_add(__tsover_mul(o,o),__tsover_mul(n,n))),.001);return __tsover_div(1,Ce(i,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvAspect"},{type:"i",name:"pos"},{type:"i",name:"effPower"}],body:[0,[[13,"dx",[1,[7,"uvAspect","x"],"-",[7,"pos","x"]]],[13,"dy",[1,[7,"uvAspect","y"],"-",[7,"pos","y"]]],[13,"dist",[1,[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]],"+",[5,"0.001"]]],[10,[1,[5,"1"],"/",[6,"std.pow",["dist","effPower"]]]]]]},externals:{"std.sqrt":()=>be,"std.pow":()=>Ce}})&&e.f)({})),eF=v.fn([l,l,l,l,l,l,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=bt(s),u=l(__tsover_mul(t.x,_),t.y),m=bn(r,_),p=bn(o,_),y=bn(n,_),h=bn(i,_),g=bn(d,_),w=oe(__tsover_div(8,__tsover_add(c,.5)),8),S=Si(u,m,w),T=Si(u,p,w),A=Si(u,y,w),P=Si(u,h,w),U=Si(u,g,w),D=S,O=__tsover_div(T,__tsover_add(D,T)),L=__tsover_add(D,T),G=__tsover_div(A,__tsover_add(L,A)),W=__tsover_add(L,A),K=__tsover_div(P,__tsover_add(W,P)),Q=__tsover_add(W,P);return x(O,G,K,__tsover_div(U,__tsover_add(Q,U)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"vp"},{type:"i",name:"posA"},{type:"i",name:"posB"},{type:"i",name:"posC"},{type:"i",name:"posD"},{type:"i",name:"posE"},{type:"i",name:"smoothness"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["vp"]]],[13,"uvAspect",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"pA",[6,"aspectCentrePosition",["posA","aspect"]]],[13,"pB",[6,"aspectCentrePosition",["posB","aspect"]]],[13,"pC",[6,"aspectCentrePosition",["posC","aspect"]]],[13,"pD",[6,"aspectCentrePosition",["posD","aspect"]]],[13,"pE",[6,"aspectCentrePosition",["posE","aspect"]]],[13,"effPower",[6,"std.min",[[1,[5,"8"],"/",[1,"smoothness","+",[5,"0.5"]]],[5,"8"]]]],[13,"wA",[6,"mpgWeight",["uvAspect","pA","effPower"]]],[13,"wB",[6,"mpgWeight",["uvAspect","pB","effPower"]]],[13,"wC",[6,"mpgWeight",["uvAspect","pC","effPower"]]],[13,"wD",[6,"mpgWeight",["uvAspect","pD","effPower"]]],[13,"wE",[6,"mpgWeight",["uvAspect","pE","effPower"]]],[13,"accW1","wA"],[13,"t1",[1,"wB","/",[1,"accW1","+","wB"]]],[13,"accW2",[1,"accW1","+","wB"]],[13,"t2",[1,"wC","/",[1,"accW2","+","wC"]]],[13,"accW3",[1,"accW2","+","wC"]],[13,"t3",[1,"wD","/",[1,"accW3","+","wD"]]],[13,"accW4",[1,"accW3","+","wD"]],[13,"t4",[1,"wE","/",[1,"accW4","+","wE"]]],[10,[6,"d.vec4f",["t1","t2","t3","t4"]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,aspectCentrePosition:()=>bn,"std.min":()=>oe,mpgWeight:()=>Si,"d.vec4f":()=>x}})&&e.f)({})),tF=v.fn([l,l,l,l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=bt(s),u=l(r.x,__tsover_sub(1,r.y)),m=l(o.x,__tsover_sub(1,o.y)),p=l(__tsover_mul(u.x,_),u.y),y=l(__tsover_mul(m.x,_),m.y),h=t3(l(__tsover_mul(t.x,_),t.y),p,y),g=s3(h.y,h.x,__tsover_mul(n,.25),__tsover_mul(i,.25),d,c),w=g.x,S=g.y;return l(w,S)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"vp"},{type:"i",name:"start"},{type:"i",name:"end"},{type:"i",name:"startThickness"},{type:"i",name:"endThickness"},{type:"i",name:"startSoftness"},{type:"i",name:"endSoftness"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["vp"]]],[13,"startPos",[6,"d.vec2f",[[7,"start","x"],[1,[5,"1"],"-",[7,"start","y"]]]]],[13,"endPos",[6,"d.vec2f",[[7,"end","x"],[1,[5,"1"],"-",[7,"end","y"]]]]],[13,"acStart",[6,"d.vec2f",[[1,[7,"startPos","x"],"*","aspect"],[7,"startPos","y"]]]],[13,"acEnd",[6,"d.vec2f",[[1,[7,"endPos","x"],"*","aspect"],[7,"endPos","y"]]]],[13,"acUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"proj",[6,"lightfields.pointToSegment",["acUV","acStart","acEnd"]]],[13,"field",[6,"lightfields.taperedSegmentGlow",[[7,"proj","y"],[7,"proj","x"],[1,"startThickness","*",[5,"0.25"]],[1,"endThickness","*",[5,"0.25"]],"startSoftness","endSoftness"]]],[13,"colorT",[7,"field","x"]],[13,"alpha",[7,"field","y"]],[10,[6,"d.vec2f",["colorT","alpha"]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,"lightfields.pointToSegment":()=>t3,"lightfields.taperedSegmentGlow":()=>s3}})&&e.f)({})),sF=t7({domain:"unit",contrastMode:"multiplicative",invert:!0,glowGamma:!0,balance:"percentCentred"}),rF=v.fn([l,l,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s);return f(__tsover_mul(t.x,o),t.y,0).mul(ct(__tsover_sub(r,1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"scale"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"base",[6,"d.vec3f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"],[5,"0"]]]],[10,[6,[7,"base","mul"],[[6,"std.exp",[[1,"scale","-",[5,"1"]]]]]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec3f":()=>f,"std.exp":()=>ct}})&&e.f)({})),oF=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(__tsover_mul(go(t),.5),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"}],body:[0,[[10,[1,[1,[6,"noise.mxNoiseFloat3",["pos"]],"*",[5,"0.5"]],"+",[5,"0.5"]]]]]},externals:{"noise.mxNoiseFloat3":()=>go}})&&e.f)({})),nF=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=r,n=s,i=l(__tsover_add(t.x,__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(t.y,__tsover_mul(n,1.7)),__tsover_mul(o,.8))),.12),__tsover_mul(H(__tsover_sub(__tsover_mul(t.x,__tsover_mul(n,.9)),__tsover_mul(o,.5))),.05))),__tsover_add(t.y,__tsover_add(__tsover_mul(H(__tsover_sub(__tsover_mul(t.x,__tsover_mul(n,1.3)),__tsover_mul(o,.6))),.12),__tsover_mul(Y(__tsover_add(__tsover_mul(t.y,__tsover_mul(n,1.1)),__tsover_mul(o,.7))),.05)))),d=Y(__tsover_add(__tsover_add(__tsover_mul(i.x,__tsover_mul(n,2.1)),__tsover_mul(i.y,__tsover_mul(n,1.8))),__tsover_mul(o,.4))),c=__tsover_mul(s,2.1),_=l(__tsover_add(i.x,__tsover_add(__tsover_mul(H(__tsover_sub(__tsover_mul(i.y,__tsover_mul(c,2.7)),__tsover_mul(o,.45))),.07),__tsover_mul(Y(__tsover_add(__tsover_mul(i.x,__tsover_mul(c,1.9)),__tsover_mul(o,.6))),.04))),__tsover_add(i.y,__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(i.x,__tsover_mul(c,2.3)),__tsover_mul(o,.65))),.07),__tsover_mul(H(__tsover_sub(__tsover_mul(i.y,__tsover_mul(c,1.6)),__tsover_mul(o,.4))),.04)))),u=H(__tsover_add(__tsover_sub(__tsover_mul(_.x,__tsover_mul(c,1.4)),__tsover_mul(_.y,__tsover_mul(c,1.9))),__tsover_mul(o,.35))),m=__tsover_mul(s,3.7),p=l(__tsover_add(_.x,__tsover_add(__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(_.y,__tsover_mul(m,1.8)),__tsover_mul(o,.85))),.04),__tsover_mul(H(__tsover_sub(__tsover_mul(_.x,__tsover_mul(m,1.3)),__tsover_mul(o,.55))),.025)),__tsover_mul(Y(__tsover_add(__tsover_mul(__tsover_add(_.x,_.y),__tsover_mul(m,.7)),__tsover_mul(o,.9))),.02))),__tsover_add(_.y,__tsover_add(__tsover_add(__tsover_mul(H(__tsover_sub(__tsover_mul(_.x,__tsover_mul(m,1.6)),__tsover_mul(o,.75))),.04),__tsover_mul(Y(__tsover_add(__tsover_mul(_.y,__tsover_mul(m,1.1)),__tsover_mul(o,.5))),.025)),__tsover_mul(H(__tsover_sub(__tsover_mul(__tsover_add(_.x,_.y),__tsover_mul(m,.8)),__tsover_mul(o,.95))),.02)))),y=Y(__tsover_sub(__tsover_add(__tsover_mul(p.x,__tsover_mul(m,1.1)),__tsover_mul(p.y,__tsover_mul(m,1.5))),__tsover_mul(o,.55)));return __tsover_add(__tsover_add(__tsover_mul(d,.45),__tsover_mul(u,.35)),__tsover_mul(y,.2))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"detail"},{type:"i",name:"animTime"}],body:[0,[[13,"t","animTime"],[13,"freq1","detail"],[13,"d1",[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[1,[6,"std.sin",[[1,[1,[7,"uv","y"],"*",[1,"freq1","*",[5,"1.7"]]],"+",[1,"t","*",[5,"0.8"]]]]],"*",[5,"0.12"]],"+",[1,[6,"std.cos",[[1,[1,[7,"uv","x"],"*",[1,"freq1","*",[5,"0.9"]]],"-",[1,"t","*",[5,"0.5"]]]]],"*",[5,"0.05"]]]],[1,[7,"uv","y"],"+",[1,[1,[6,"std.cos",[[1,[1,[7,"uv","x"],"*",[1,"freq1","*",[5,"1.3"]]],"-",[1,"t","*",[5,"0.6"]]]]],"*",[5,"0.12"]],"+",[1,[6,"std.sin",[[1,[1,[7,"uv","y"],"*",[1,"freq1","*",[5,"1.1"]]],"+",[1,"t","*",[5,"0.7"]]]]],"*",[5,"0.05"]]]]]]],[13,"pattern1",[6,"std.sin",[[1,[1,[1,[7,"d1","x"],"*",[1,"freq1","*",[5,"2.1"]]],"+",[1,[7,"d1","y"],"*",[1,"freq1","*",[5,"1.8"]]]],"+",[1,"t","*",[5,"0.4"]]]]]],[13,"freq2",[1,"detail","*",[5,"2.1"]]],[13,"d2",[6,"d.vec2f",[[1,[7,"d1","x"],"+",[1,[1,[6,"std.cos",[[1,[1,[7,"d1","y"],"*",[1,"freq2","*",[5,"2.7"]]],"-",[1,"t","*",[5,"0.45"]]]]],"*",[5,"0.07"]],"+",[1,[6,"std.sin",[[1,[1,[7,"d1","x"],"*",[1,"freq2","*",[5,"1.9"]]],"+",[1,"t","*",[5,"0.6"]]]]],"*",[5,"0.04"]]]],[1,[7,"d1","y"],"+",[1,[1,[6,"std.sin",[[1,[1,[7,"d1","x"],"*",[1,"freq2","*",[5,"2.3"]]],"+",[1,"t","*",[5,"0.65"]]]]],"*",[5,"0.07"]],"+",[1,[6,"std.cos",[[1,[1,[7,"d1","y"],"*",[1,"freq2","*",[5,"1.6"]]],"-",[1,"t","*",[5,"0.4"]]]]],"*",[5,"0.04"]]]]]]],[13,"pattern2",[6,"std.cos",[[1,[1,[1,[7,"d2","x"],"*",[1,"freq2","*",[5,"1.4"]]],"-",[1,[7,"d2","y"],"*",[1,"freq2","*",[5,"1.9"]]]],"+",[1,"t","*",[5,"0.35"]]]]]],[13,"freq3",[1,"detail","*",[5,"3.7"]]],[13,"d3",[6,"d.vec2f",[[1,[7,"d2","x"],"+",[1,[1,[1,[6,"std.sin",[[1,[1,[7,"d2","y"],"*",[1,"freq3","*",[5,"1.8"]]],"+",[1,"t","*",[5,"0.85"]]]]],"*",[5,"0.04"]],"+",[1,[6,"std.cos",[[1,[1,[7,"d2","x"],"*",[1,"freq3","*",[5,"1.3"]]],"-",[1,"t","*",[5,"0.55"]]]]],"*",[5,"0.025"]]],"+",[1,[6,"std.sin",[[1,[1,[1,[7,"d2","x"],"+",[7,"d2","y"]],"*",[1,"freq3","*",[5,"0.7"]]],"+",[1,"t","*",[5,"0.9"]]]]],"*",[5,"0.02"]]]],[1,[7,"d2","y"],"+",[1,[1,[1,[6,"std.cos",[[1,[1,[7,"d2","x"],"*",[1,"freq3","*",[5,"1.6"]]],"-",[1,"t","*",[5,"0.75"]]]]],"*",[5,"0.04"]],"+",[1,[6,"std.sin",[[1,[1,[7,"d2","y"],"*",[1,"freq3","*",[5,"1.1"]]],"+",[1,"t","*",[5,"0.5"]]]]],"*",[5,"0.025"]]],"+",[1,[6,"std.cos",[[1,[1,[1,[7,"d2","x"],"+",[7,"d2","y"]],"*",[1,"freq3","*",[5,"0.8"]]],"-",[1,"t","*",[5,"0.95"]]]]],"*",[5,"0.02"]]]]]]],[13,"pattern3",[6,"std.sin",[[1,[1,[1,[7,"d3","x"],"*",[1,"freq3","*",[5,"1.1"]]],"+",[1,[7,"d3","y"],"*",[1,"freq3","*",[5,"1.5"]]]],"-",[1,"t","*",[5,"0.55"]]]]]],[10,[1,[1,[1,"pattern1","*",[5,"0.45"]],"+",[1,"pattern2","*",[5,"0.35"]]],"+",[1,"pattern3","*",[5,"0.2"]]]]]]},externals:{"d.vec2f":()=>l,"std.sin":()=>Y,"std.cos":()=>H}})&&e.f)({})),aF=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return re(r,o,__tsover_add(__tsover_add(__tsover_mul(t,.5),.5),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pattern"},{type:"i",name:"bias"},{type:"i",name:"low"},{type:"i",name:"high"}],body:[0,[[13,"normalized",[1,[1,[1,"pattern","*",[5,"0.5"]],"+",[5,"0.5"]],"+","bias"]],[10,[6,"std.smoothstep",["low","high","normalized"]]]]]},externals:{"std.smoothstep":()=>re}})&&e.f)({})),iF=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return __tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(s,r),__tsover_mul(t,o))),n),1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pattern"},{type:"i",name:"animTime"},{type:"i",name:"speed"},{type:"i",name:"span"},{type:"i",name:"depth"}],body:[0,[[10,[1,[1,[6,"std.sin",[[1,[1,"animTime","*","speed"],"+",[1,"pattern","*","span"]]]],"*","depth"],"+",[5,"1"]]]]]},externals:{"std.sin":()=>Y}})&&e.f)({})),Nd=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ot(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"noise.hash12",["p"]]]]]},externals:{"noise.hash12":()=>Ot}})&&e.f)({})),Ym=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=ue(t),o=Nd(s),n=Nd(l(__tsover_add(s.x,1),s.y)),i=Nd(l(s.x,__tsover_add(s.y,1))),d=Nd(l(__tsover_add(s.x,1),__tsover_add(s.y,1))),c=r.mul(r).mul(r.mul(-2).add(3));return X(X(o,n,c.x),X(i,d,c.x),c.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"st"}],body:[0,[[13,"i",[6,"std.floor",["st"]]],[13,"f",[6,"std.fract",["st"]]],[13,"a",[6,"godraysHash",["i"]]],[13,"b",[6,"godraysHash",[[6,"d.vec2f",[[1,[7,"i","x"],"+",[5,"1"]],[7,"i","y"]]]]]],[13,"c",[6,"godraysHash",[[6,"d.vec2f",[[7,"i","x"],[1,[7,"i","y"],"+",[5,"1"]]]]]]],[13,"e",[6,"godraysHash",[[6,"d.vec2f",[[1,[7,"i","x"],"+",[5,"1"]],[1,[7,"i","y"],"+",[5,"1"]]]]]]],[13,"u",[6,[7,[6,[7,"f","mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[4,"-",[5,"2"]]]],"add"],[[5,"3"]]]]]],[13,"x1",[6,"std.mix",["a","b",[7,"u","x"]]]],[13,"x2",[6,"std.mix",["c","e",[7,"u","x"]]]],[10,[6,"std.mix",["x1","x2",[7,"u","y"]]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,godraysHash:()=>Nd,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),Lm=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ce(Ym(l(__tsover_mul(t,n),o)),i);return X(Ce(Ym(l(__tsover_mul(s,n),o)),i),d,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a"},{type:"i",name:"aWrapped"},{type:"i",name:"blend"},{type:"i",name:"r"},{type:"i",name:"freq"},{type:"i",name:"intensity"}],body:[0,[[13,"nLeft",[6,"std.pow",[[6,"godraysValueNoise",[[6,"d.vec2f",[[1,"a","*","freq"],"r"]]]],"intensity"]]],[13,"nRight",[6,"std.pow",[[6,"godraysValueNoise",[[6,"d.vec2f",[[1,"aWrapped","*","freq"],"r"]]]],"intensity"]]],[10,[6,"std.mix",["nRight","nLeft","blend"]]]]]},externals:{"std.pow":()=>Ce,godraysValueNoise:()=>Ym,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),mz=v.fn([l,l,l],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=l(r.x,__tsover_sub(1,r.y)),i=t.sub(n),d=l(__tsover_mul(i.x,o),i.y),c=e3(d);return x(c.x,c.y,c.z,j(d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"center"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"delta",[6,[7,"uv","sub"],["centerPos"]]],[13,"shapeUV",[6,"d.vec2f",[[1,[7,"delta","x"],"*","aspect"],[7,"delta","y"]]]],[13,"ang",[6,"lightfields.seamlessAngularField",["shapeUV"]]],[10,[6,"d.vec4f",[[7,"ang","x"],[7,"ang","y"],[7,"ang","z"],[6,"std.length",["shapeUV"]]]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,"lightfields.seamlessAngularField":()=>e3,"d.vec4f":()=>x,"std.length":()=>j}})&&e.f)({})),Im=v.fn([x,a,a,a,a,x,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_sub(__tsover_mul(t.w,i.x),__tsover_mul(s,i.y)),_=__tsover_sub(__tsover_mul(__tsover_mul(t.w,i.z),__tsover_add(1,r)),__tsover_mul(s,i.w)),u=__tsover_mul(n,d.x),m=Lm(t.x,t.y,t.z,c,u,o),p=Lm(t.x,t.y,t.z,_,__tsover_mul(u,d.y),o);return __tsover_mul(m,p)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"frame"},{type:"i",name:"animTime"},{type:"i",name:"spots"},{type:"i",name:"intensityCalc"},{type:"i",name:"dens"},{type:"i",name:"sched"},{type:"i",name:"freqs"}],body:[0,[[13,"rA",[1,[1,[7,"frame","w"],"*",[7,"sched","x"]],"-",[1,"animTime","*",[7,"sched","y"]]]],[13,"rB",[1,[1,[1,[7,"frame","w"],"*",[7,"sched","z"]],"*",[1,[5,"1"],"+","spots"]],"-",[1,"animTime","*",[7,"sched","w"]]]],[13,"f",[1,"dens","*",[7,"freqs","x"]]],[13,"shapeA",[6,"godraysRaysShape",[[7,"frame","x"],[7,"frame","y"],[7,"frame","z"],"rA","f","intensityCalc"]]],[13,"shapeB",[6,"godraysRaysShape",[[7,"frame","x"],[7,"frame","y"],[7,"frame","z"],"rB",[1,"f","*",[7,"freqs","y"]],"intensityCalc"]]],[10,[1,"shapeA","*","shapeB"]]]]},externals:{godraysRaysShape:()=>Lm}})&&e.f)({})),pz=v.fn([x,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,.2),d=__tsover_mul(6.5,z(n)),c=__tsover_sub(4,__tsover_mul(3,$(o,0,1))),_=__tsover_mul(6,r),u=Im(t,i,d,c,_,x(1,3,.5,2),l(5,4)),m=Im(t,i,d,c,_,x(1.4,2.5,.7,1.8),l(4.5,3.5));return $(__tsover_add(u,__tsover_mul(m,.7)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"frame"},{type:"i",name:"animTimeRaw"},{type:"i",name:"density"},{type:"i",name:"intensity"},{type:"i",name:"spotty"}],body:[0,[[13,"animTime",[1,"animTimeRaw","*",[5,"0.2"]]],[13,"spots",[1,[5,"6.5"],"*",[6,"std.abs",["spotty"]]]],[13,"intensityCalc",[1,[5,"4"],"-",[1,[5,"3"],"*",[6,"std.clamp",["intensity",[5,"0"],[5,"1"]]]]]],[13,"dens",[1,[5,"6"],"*","density"]],[13,"layer1",[6,"godraysRayLayer",["frame","animTime","spots","intensityCalc","dens",[6,"d.vec4f",[[5,"1"],[5,"3"],[5,"0.5"],[5,"2"]]],[6,"d.vec2f",[[5,"5"],[5,"4"]]]]]],[13,"layer2",[6,"godraysRayLayer",["frame","animTime","spots","intensityCalc","dens",[6,"d.vec4f",[[5,"1.4"],[5,"2.5"],[5,"0.7"],[5,"1.8"]]],[6,"d.vec2f",[[5,"4.5"],[5,"3.5"]]]]]],[10,[6,"std.clamp",[[1,"layer1","+",[1,"layer2","*",[5,"0.7"]]],[5,"0"],[5,"1"]]]]]]},externals:{"std.abs":()=>z,"std.clamp":()=>$,godraysRayLayer:()=>Im,"d.vec4f":()=>x,"d.vec2f":()=>l}})&&e.f)({})),fz=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r,t.w),n=__tsover_add(o,__tsover_mul(s.w,__tsover_sub(1,o))),i=$(n,.001,1),d=t.xyz.mul(o),c=s.xyz.mul(s.w).mul(__tsover_sub(1,o));return x(d.add(c).div(i),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rayColor"},{type:"i",name:"bgColor"},{type:"i",name:"coverage"}],body:[0,[[13,"rayA",[1,"coverage","*",[7,"rayColor","w"]]],[13,"finalAlpha",[1,"rayA","+",[1,[7,"bgColor","w"],"*",[1,[5,"1"],"-","rayA"]]]],[13,"safeAlpha",[6,"std.clamp",["finalAlpha",[5,"0.001"],[5,"1"]]]],[13,"rayContribution",[6,[7,[7,"rayColor","xyz"],"mul"],["rayA"]]],[13,"bgContribution",[6,[7,[6,[7,[7,"bgColor","xyz"],"mul"],[[7,"bgColor","w"]]],"mul"],[[1,[5,"1"],"-","rayA"]]]],[13,"finalColor",[6,[7,[6,[7,"rayContribution","add"],["bgContribution"]],"div"],["safeAlpha"]]],[10,[6,"d.vec4f",["finalColor","finalAlpha"]]]]]},externals:{"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})),dF=v.fn([a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Br(l(__tsover_mul(t,.9),__tsover_add(__tsover_mul(s,.53),11.7))),n=Br(l(__tsover_add(__tsover_mul(t,2.7),41.3),__tsover_add(__tsover_mul(s,.29),5.1))),i=__tsover_add(__tsover_mul(o,.65),__tsover_mul(n,.35));return x(X(1,__tsover_add(.25,__tsover_mul(1.5,i)),r),Br(l(__tsover_add(__tsover_mul(t,.13),3.1),__tsover_add(__tsover_mul(s,.41),27))),Br(l(__tsover_add(__tsover_mul(t,.09),17.7),__tsover_add(__tsover_mul(s,.61),8.4))),Br(l(__tsover_add(__tsover_mul(t,.17),51.2),__tsover_add(__tsover_mul(s,.23),2.9))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"seed"},{type:"i",name:"flicker"}],body:[0,[[13,"nA",[6,"noise.value12",[[6,"d.vec2f",[[1,"t","*",[5,"0.9"]],[1,[1,"seed","*",[5,"0.53"]],"+",[5,"11.7"]]]]]]],[13,"nB",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,"t","*",[5,"2.7"]],"+",[5,"41.3"]],[1,[1,"seed","*",[5,"0.29"]],"+",[5,"5.1"]]]]]]],[13,"breathe",[1,[1,"nA","*",[5,"0.65"]],"+",[1,"nB","*",[5,"0.35"]]]],[13,"flickerMod",[6,"std.mix",[[5,"1"],[1,[5,"0.25"],"+",[1,[5,"1.5"],"*","breathe"]],"flicker"]]],[13,"evo1",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,"t","*",[5,"0.13"]],"+",[5,"3.1"]],[1,[1,"seed","*",[5,"0.41"]],"+",[5,"27"]]]]]]],[13,"evo2",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,"t","*",[5,"0.09"]],"+",[5,"17.7"]],[1,[1,"seed","*",[5,"0.61"]],"+",[5,"8.4"]]]]]]],[13,"evo3",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,"t","*",[5,"0.17"]],"+",[5,"51.2"]],[1,[1,"seed","*",[5,"0.23"]],"+",[5,"2.9"]]]]]]],[10,[6,"d.vec4f",["flickerMod","evo1","evo2","evo3"]]]]]},externals:{"noise.value12":()=>Br,"d.vec2f":()=>l,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),cF=v.fn([a,a,a,x],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=o.z,i=b(r,.05),d=__tsover_mul(i,__tsover_add(1.5,__tsover_mul(.7,n))),c=__tsover_div(t,i),_=__tsover_div(s,d);return l(Tm(c,_,1.9),__tsover_mul(Tm(c,_,.45),.22))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"u"},{type:"i",name:"v"},{type:"i",name:"spread"},{type:"i",name:"drift"}],body:[0,[[13,"evo2",[7,"drift","z"]],[13,"sp",[6,"std.max",["spread",[5,"0.05"]]]],[13,"elong",[1,"sp","*",[1,[5,"1.5"],"+",[1,[5,"0.7"],"*","evo2"]]]],[13,"du",[1,"u","/","sp"]],[13,"dv",[1,"v","/","elong"]],[13,"main",[6,"lightfields.anisotropicGaussianSpot",["du","dv",[5,"1.9"]]]],[13,"shoulder",[1,[6,"lightfields.anisotropicGaussianSpot",["du","dv",[5,"0.45"]]],"*",[5,"0.22"]]],[10,[6,"d.vec2f",["main","shoulder"]]]]]},externals:{"std.max":()=>b,"lightfields.anisotropicGaussianSpot":()=>Tm,"d.vec2f":()=>l}})&&e.f)({})),_F=v.fn([a,a,a,a,x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=n.y,d=n.z,c=n.w,_=b(r,.05),u=__tsover_mul(_,__tsover_add(1.5,__tsover_mul(.7,d))),m=__tsover_div(s,u),p=ct(__tsover_mul(__tsover_mul(m,m),-.55)),y=__tsover_mul(_,__tsover_add(.42,__tsover_mul(.22,i))),h=b(__tsover_mul(_,__tsover_add(.07,__tsover_mul(.07,c))),.008),g=__tsover_mul(Am(t,y,h),p),w=__tsover_mul(_,__tsover_add(.8,__tsover_mul(.3,i))),S=b(__tsover_mul(_,__tsover_add(.16,__tsover_mul(.12,c))),.015),T=__tsover_mul(__tsover_mul(Am(t,w,S),p),.45);return __tsover_mul(__tsover_add(g,T),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"u"},{type:"i",name:"v"},{type:"i",name:"spread"},{type:"i",name:"streaks"},{type:"i",name:"drift"}],body:[0,[[13,"evo1",[7,"drift","y"]],[13,"evo2",[7,"drift","z"]],[13,"evo3",[7,"drift","w"]],[13,"sp",[6,"std.max",["spread",[5,"0.05"]]]],[13,"elong",[1,"sp","*",[1,[5,"1.5"],"+",[1,[5,"0.7"],"*","evo2"]]]],[13,"dv",[1,"v","/","elong"]],[13,"alongFade",[6,"std.exp",[[1,[1,"dv","*","dv"],"*",[4,"-",[5,"0.55"]]]]]],[13,"s1c",[1,"sp","*",[1,[5,"0.42"],"+",[1,[5,"0.22"],"*","evo1"]]]],[13,"s1w",[6,"std.max",[[1,"sp","*",[1,[5,"0.07"],"+",[1,[5,"0.07"],"*","evo3"]]],[5,"0.008"]]]],[13,"streak1",[1,[6,"lightfields.streakBand",["u","s1c","s1w"]],"*","alongFade"]],[13,"s2c",[1,"sp","*",[1,[5,"0.8"],"+",[1,[5,"0.3"],"*","evo1"]]]],[13,"s2w",[6,"std.max",[[1,"sp","*",[1,[5,"0.16"],"+",[1,[5,"0.12"],"*","evo3"]]],[5,"0.015"]]]],[13,"streak2",[1,[1,[6,"lightfields.streakBand",["u","s2c","s2w"]],"*","alongFade"],"*",[5,"0.45"]]],[10,[1,[1,"streak1","+","streak2"],"*","streaks"]]]]},externals:{"std.max":()=>b,"std.exp":()=>ct,"lightfields.streakBand":()=>Am}})&&e.f)({})),lF=v.fn([a,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return b(__tsover_add(t,__tsover_mul(__tsover_sub(Ot(s.mul(1024).add(l(r,__tsover_mul(r,1.7)))),.5),.012)),0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"heat"},{type:"i",name:"uv"},{type:"i",name:"t"}],body:[0,[[13,"dithered",[1,"heat","+",[1,[1,[6,"noise.hash12",[[6,[7,[6,[7,"uv","mul"],[[5,"1024"]]],"add"],[[6,"d.vec2f",["t",[1,"t","*",[5,"1.7"]]]]]]]],"-",[5,"0.5"]],"*",[5,"0.012"]]]],[10,[6,"std.max",["dithered",[5,"0"]]]]]]},externals:{"noise.hash12":()=>Ot,"d.vec2f":()=>l,"std.max":()=>b}})&&e.f)({})),vz=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(t,s),o=__tsover_mul(ue(__tsover_mul(r,.5)),2);return X(__tsover_sub(1,z(__tsover_sub(o,1))),.5,re(.5,1.5,__tsover_mul(Vl(t,0),s)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"cycles"}],body:[0,[[13,"s",[1,"t","*","cycles"]],[13,"m",[1,[6,"std.fract",[[1,"s","*",[5,"0.5"]]]],"*",[5,"2"]]],[13,"band",[1,[5,"1"],"-",[6,"std.abs",[[1,"m","-",[5,"1"]]]]]],[13,"fp",[1,[6,"footprint1",["t",[5,"0"]]],"*","cycles"]],[10,[6,"std.mix",["band",[5,"0.5"],[6,"std.smoothstep",[[5,"0.5"],[5,"1.5"],"fp"]]]]]]]},externals:{"std.fract":()=>ue,"std.abs":()=>z,footprint1:()=>Vl,"std.mix":()=>X,"std.smoothstep":()=>re}})&&e.f)({}));function p7(e,t){return{guarded:e,with(s){return p7(e.with(s),t)},dispatch(){if(!t)throw new Error("[gpu] KitComputePipeline.dispatch(): no pre-bound size \u2014 pass opts.size to createGuardedCompute or call dispatchThreads(...) directly");e.dispatchThreads(...t)},dispatchThreads(...s){e.dispatchThreads(...s)}}}function qp(e,t,s={}){let r=(globalThis.__TYPEGPU_AUTONAME__??(o=>o))(e.createGuardedComputePipeline(t),"guarded");return s.bindGroup&&(r=r.with(s.bindGroup)),p7(r,s.size)}function f7(e){return{dispatch(t){for(let s of t)typeof s=="function"?s():s.dispatch()}}}function yz(e,t){let s=!1;return{a:e,b:t,orientation:()=>s?1:0,readSource:()=>s?t:e,writeTarget:()=>s?e:t,swap(){s=!s},reset(){s=!1},groups(n){let i=n(e,t),d=n(t,e);return()=>s?d:i},perSide(n){let i=n(e),d=n(t);return{read:()=>s?d:i,written:()=>s?i:d}}}}function Y3(e,t,s){return(globalThis.__TYPEGPU_AUTONAME__??(r=>r))(e.createBuffer(pt(t,s)),"buffer").$usage("storage")}var su=Le;function hz(e,t){let s=Number((t*t).toPrecision(15)),r=e-1,o=Array.from({length:e},(i,d)=>{let c=(d/r-.5)*2;return Math.exp(-.5*c*c/s)}),n=o.reduce((i,d)=>i+d);return o.map(i=>i/n)}var uF=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=b(__tsover_sub(r,s),1e-4);return X(o,n,Ce($(__tsover_div(__tsover_sub(t,s),d),0,1),Ce(2,__tsover_mul(-i,2))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"raw"},{type:"i",name:"inputMin"},{type:"i",name:"inputMax"},{type:"i",name:"outputMin"},{type:"i",name:"outputMax"},{type:"i",name:"curve"}],body:[0,[[13,"inputRange",[6,"std.max",[[1,"inputMax","-","inputMin"],[5,"0.0001"]]]],[13,"normalised",[6,"std.clamp",[[1,[1,"raw","-","inputMin"],"/","inputRange"],[5,"0"],[5,"1"]]]],[13,"exponent",[6,"std.pow",[[5,"2"],[1,[4,"-","curve"],"*",[5,"2"]]]]],[13,"eased",[6,"std.pow",["normalised","exponent"]]],[10,[6,"std.mix",["outputMin","outputMax","eased"]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.pow":()=>Ce,"std.mix":()=>X}})&&e.f)({})).$name("applyRemapWindow");var mF=v.fn([ps(a),R,R,l,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=o.x,c=o.y,_=Z(__tsover_sub(d,1)),u=Z(__tsover_sub(c,1)),m=x(0,0,0,0);for(let S=0;S<4;S++)for(let T=0;T<4;T++){let A=__tsover_div(__tsover_add(a(s),__tsover_div(__tsover_add(a(T),.5),4)),n.x),P=__tsover_div(__tsover_add(a(r),__tsover_div(__tsover_add(a(S),.5),4)),n.y),U=$(Z(__tsover_mul(A,d)),0,_),D=$(Z(__tsover_mul(P,c)),0,u);m=m.add(Be(t,Ge(R(U),R(D)),0))}m=m.mul(.0625);let p=__tsover_add(__tsover_mul(i,.5),1e-4),y=se(m.xyz,f(.2126,.7152,.0722)),h=$(__tsover_add(__tsover_sub(y,i),p),0,__tsover_mul(p,2)),g=__tsover_div(__tsover_mul(h,h),__tsover_mul(p,4)),w=__tsover_div(b(g,__tsover_sub(y,i)),b(y,1e-4));return x(m.xyz.mul(w),__tsover_mul(m.w,w))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"childTexture"},{type:"i",name:"cx"},{type:"i",name:"cy"},{type:"i",name:"inputSize"},{type:"i",name:"computeSize"},{type:"i",name:"threshold"}],body:[0,[[13,"iw",[7,"inputSize","x"]],[13,"ih",[7,"inputSize","y"]],[13,"inputWm1",[6,"d.i32",[[1,"iw","-",[5,"1"]]]]],[13,"inputHm1",[6,"d.i32",[[1,"ih","-",[5,"1"]]]]],[12,"sample",[6,"d.vec4f",[[5,"0"],[5,"0"],[5,"0"],[5,"0"]]]],[14,[12,"ty",[5,"0"]],[1,"ty","<",[5,"4"]],[102,"++","ty"],[0,[[14,[12,"tx",[5,"0"]],[1,"tx","<",[5,"4"]],[102,"++","tx"],[0,[[13,"su",[1,[1,[6,"d.f32",["cx"]],"+",[1,[1,[6,"d.f32",["tx"]],"+",[5,"0.5"]],"/",[5,"4"]]],"/",[7,"computeSize","x"]]],[13,"sv",[1,[1,[6,"d.f32",["cy"]],"+",[1,[1,[6,"d.f32",["ty"]],"+",[5,"0.5"]],"/",[5,"4"]]],"/",[7,"computeSize","y"]]],[13,"sx",[6,"std.clamp",[[6,"d.i32",[[1,"su","*","iw"]]],[5,"0"],"inputWm1"]]],[13,"sy",[6,"std.clamp",[[6,"d.i32",[[1,"sv","*","ih"]]],[5,"0"],"inputHm1"]]],[2,"sample","=",[6,[7,"sample","add"],[[6,"std.textureLoad",["childTexture",[6,"d.vec2u",[[6,"d.u32",["sx"]],[6,"d.u32",["sy"]]]],[5,"0"]]]]]]]]]]]],[2,"sample","=",[6,[7,"sample","mul"],[[5,"0.0625"]]]],[13,"knee",[1,[1,"threshold","*",[5,"0.5"]],"+",[5,"0.0001"]]],[13,"lum",[6,"std.dot",[[7,"sample","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"soft",[6,"std.clamp",[[1,[1,"lum","-","threshold"],"+","knee"],[5,"0"],[1,"knee","*",[5,"2"]]]]],[13,"softCurve",[1,[1,"soft","*","soft"],"/",[1,"knee","*",[5,"4"]]]],[13,"mask",[1,[6,"std.max",["softCurve",[1,"lum","-","threshold"]]],"/",[6,"std.max",["lum",[5,"0.0001"]]]]],[10,[6,"d.vec4f",[[6,[7,[7,"sample","xyz"],"mul"],["mask"]],[1,[7,"sample","w"],"*","mask"]]]]]]},externals:{"d.i32":()=>Z,"d.vec4f":()=>x,"d.f32":()=>a,"std.clamp":()=>$,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"d.u32":()=>R,"std.dot":()=>se,"d.vec3f":()=>f,"std.max":()=>b}})&&e.f)({})).$name("bloomExtractSoftKnee");var pF=v.fn([x,x,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,.1),d=__tsover_mul(o,.1),c=__tsover_mul(n,.1),_=b(b(b(i,d),c),.01),u=__tsover_div(i,_),m=__tsover_div(d,_),p=__tsover_div(c,_);return x(X(t.x,s.x,u),X(t.y,s.y,m),X(t.z,s.z,p),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sharp"},{type:"i",name:"blurred"},{type:"i",name:"redIntensity"},{type:"i",name:"greenIntensity"},{type:"i",name:"blueIntensity"}],body:[0,[[13,"redRadius",[1,"redIntensity","*",[5,"0.1"]]],[13,"greenRadius",[1,"greenIntensity","*",[5,"0.1"]]],[13,"blueRadius",[1,"blueIntensity","*",[5,"0.1"]]],[13,"maxRadius",[6,"std.max",[[6,"std.max",[[6,"std.max",["redRadius","greenRadius"]],"blueRadius"]],[5,"0.01"]]]],[13,"rMix",[1,"redRadius","/","maxRadius"]],[13,"gMix",[1,"greenRadius","/","maxRadius"]],[13,"bMix",[1,"blueRadius","/","maxRadius"]],[13,"finalR",[6,"std.mix",[[7,"sharp","x"],[7,"blurred","x"],"rMix"]]],[13,"finalG",[6,"std.mix",[[7,"sharp","y"],[7,"blurred","y"],"gMix"]]],[13,"finalB",[6,"std.mix",[[7,"sharp","z"],[7,"blurred","z"],"bMix"]]],[10,[6,"d.vec4f",["finalR","finalG","finalB",[7,"sharp","w"]]]]]]},externals:{"std.max":()=>b,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})).$name("channelBlurCompose"),fF=v.fn([a,a,a,a,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(t,su),c=l(__tsover_div(H(d),i),Y(d)),_=l(s,__tsover_sub(1,r));return re(0,o,b(0,se(n.sub(_),c)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angleDeg"},{type:"i",name:"centerX"},{type:"i",name:"centerY"},{type:"i",name:"falloff"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"direction",[6,"d.vec2f",[[1,[6,"std.cos",["angleRad"]],"/","aspect"],[6,"std.sin",["angleRad"]]]]],[13,"centerPos",[6,"d.vec2f",["centerX",[1,[5,"1"],"-","centerY"]]]],[13,"centeredUV",[6,[7,"uv","sub"],["centerPos"]]],[13,"directionalDist",[6,"std.max",[[5,"0"],[6,"std.dot",["centeredUV","direction"]]]]],[10,[6,"std.smoothstep",[[5,"0"],"falloff","directionalDist"]]]]]},externals:{DEG_TO_RAD:()=>su,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y,"std.max":()=>b,"std.dot":()=>se,"std.smoothstep":()=>re}})&&e.f)({})).$name("progressiveBlurAmount");var vF=v.fn([a,l,a,a,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(t,su),c=l(__tsover_mul(Y(d),-1),H(d)),_=l(s.x,__tsover_sub(1,s.y)),u=n.sub(_),m=z(se(l(__tsover_mul(u.x,i),u.y),c)),p=__tsover_mul(r,.5);return re(p,__tsover_add(p,o),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"angleDeg"},{type:"i",name:"center"},{type:"i",name:"width"},{type:"i",name:"falloff"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"perpVector",[6,"d.vec2f",[[1,[6,"std.sin",["angleRad"]],"*",[4,"-",[5,"1"]]],[6,"std.cos",["angleRad"]]]]],[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"centeredUV",[6,[7,"uv","sub"],["centerPos"]]],[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"centeredUV","x"],"*","aspect"],[7,"centeredUV","y"]]]],[13,"distFromLine",[6,"std.abs",[[6,"std.dot",["aspectCorrectedUV","perpVector"]]]]],[13,"focusWidth",[1,"width","*",[5,"0.5"]]],[10,[6,"std.smoothstep",["focusWidth",[1,"focusWidth","+","falloff"],"distFromLine"]]]]]},externals:{DEG_TO_RAD:()=>su,"d.vec2f":()=>l,"std.sin":()=>Y,"std.cos":()=>H,"std.abs":()=>z,"std.dot":()=>se,"std.smoothstep":()=>re}})&&e.f)({})).$name("tiltShiftBlurAmount");var yF=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=t.xyz.add(s.xyz.mul(r)),n=$(__tsover_mul(s.w,r),0,1);return x(o,__tsover_add(t.w,__tsover_mul(n,__tsover_sub(1,t.w))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"original"},{type:"i",name:"bloom"},{type:"i",name:"intensity"}],body:[0,[[13,"finalColor",[6,[7,[7,"original","xyz"],"add"],[[6,[7,[7,"bloom","xyz"],"mul"],["intensity"]]]]],[13,"glowAlpha",[6,"std.clamp",[[1,[7,"bloom","w"],"*","intensity"],[5,"0"],[5,"1"]]]],[13,"finalAlpha",[1,[7,"original","w"],"+",[1,"glowAlpha","*",[1,[5,"1"],"-",[7,"original","w"]]]]],[10,[6,"d.vec4f",["finalColor","finalAlpha"]]]]]},externals:{"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})).$name("glowCompose");var hF=Math.PI*(3-Math.sqrt(5)),xF=Math.PI*2;var L3=.35;var gF=Math.SQRT2/4;var bF=v.fn([x,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=se(t.xyz,f(.2126,.7152,.0722)),i=re(s,__tsover_add(s,L3),n);return __tsover_mul(__tsover_add(1,__tsover_mul(__tsover_mul(r,i),i)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"threshold"},{type:"i",name:"gain"},{type:"i",name:"rim"}],body:[0,[[13,"lum",[6,"std.dot",[[7,"base","xyz"],[6,"d.vec3f",[[5,"0.2126"],[5,"0.7152"],[5,"0.0722"]]]]]],[13,"hi",[6,"std.smoothstep",["threshold",[1,"threshold","+","HIGHLIGHT_KNEE"],"lum"]]],[10,[1,[1,[5,"1"],"+",[1,[1,"gain","*","hi"],"*","hi"]],"*","rim"]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.smoothstep":()=>re,HIGHLIGHT_KNEE:()=>L3}})&&e.f)({})).$name("bokehHighlightWeight");var ed=Le,wF=hz(32,.8),TF=v.fn([l,a,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,ed),d=__tsover_div(o.x,o.y),c=__tsover_div(H(i),d),_=Y(i),u=__tsover_mul(__tsover_div(__tsover_mul(c,r),o.x),2),m=__tsover_mul(__tsover_div(__tsover_mul(_,r),o.y),2);return l(__tsover_add(t.x,__tsover_mul(u,n)),__tsover_add(t.y,__tsover_mul(m,n)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"angleDeg"},{type:"i",name:"intensity"},{type:"i",name:"viewport"},{type:"i",name:"tapT"}],body:[0,[[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"dirX",[1,[6,"std.cos",["angleRad"]],"/","aspect"]],[13,"dirY",[6,"std.sin",["angleRad"]]],[13,"bvX",[1,[1,[1,"dirX","*","intensity"],"/",[7,"viewport","x"]],"*",[5,"2"]]],[13,"bvY",[1,[1,[1,"dirY","*","intensity"],"/",[7,"viewport","y"]],"*",[5,"2"]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,"bvX","*","tapT"]],[1,[7,"uv","y"],"+",[1,"bvY","*","tapT"]]]]]]]},externals:{DEG_TO_RAD:()=>ed,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),SF=v.fn([l,a,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(t.x,__tsover_sub(1,t.y)),d=__tsover_div(__tsover_mul(s,.005),31),c=__tsover_mul(__tsover_sub(n,15.5),d),_=H(c),u=Y(c),m=__tsover_sub(r.x,i.x),p=__tsover_sub(r.y,i.y),y=__tsover_mul(m,o),h=p,g=__tsover_sub(__tsover_mul(y,_),__tsover_mul(h,u)),w=__tsover_add(__tsover_mul(y,u),__tsover_mul(h,_));return l(__tsover_add(__tsover_div(g,o),i.x),__tsover_add(w,i.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"intensity"},{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"tapIndex"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"angleStep",[1,[1,"intensity","*",[5,"0.005"]],"/",[5,"31"]]],[13,"angle",[1,[1,"tapIndex","-",[5,"15.5"]],"*","angleStep"]],[13,"cosA",[6,"std.cos",["angle"]]],[13,"sinA",[6,"std.sin",["angle"]]],[13,"initX",[1,[7,"uv","x"],"-",[7,"centerPos","x"]]],[13,"initY",[1,[7,"uv","y"],"-",[7,"centerPos","y"]]],[13,"acX",[1,"initX","*","aspect"]],[13,"acY","initY"],[13,"rotX",[1,[1,"acX","*","cosA"],"-",[1,"acY","*","sinA"]]],[13,"rotY",[1,[1,"acX","*","sinA"],"+",[1,"acY","*","cosA"]]],[10,[6,"d.vec2f",[[1,[1,"rotX","/","aspect"],"+",[7,"centerPos","x"]],[1,"rotY","+",[7,"centerPos","y"]]]]]]]},externals:{"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),AF=v.fn([l,a,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(t.x,__tsover_sub(1,t.y)),d=__tsover_mul(s,.01),c=__tsover_add(1,__tsover_mul(d,__tsover_div(n,31))),_=__tsover_sub(r.x,i.x),u=__tsover_sub(r.y,i.y),m=__tsover_mul(_,o),p=u,y=__tsover_div(m,c),h=__tsover_div(p,c);return l(__tsover_add(__tsover_div(y,o),i.x),__tsover_add(h,i.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"intensity"},{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"tapIndex"}],body:[0,[[13,"centerPos",[6,"d.vec2f",[[7,"center","x"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"radius",[1,"intensity","*",[5,"0.01"]]],[13,"scale",[1,[5,"1"],"+",[1,"radius","*",[1,"tapIndex","/",[5,"31"]]]]],[13,"deltaX",[1,[7,"uv","x"],"-",[7,"centerPos","x"]]],[13,"deltaY",[1,[7,"uv","y"],"-",[7,"centerPos","y"]]],[13,"acdX",[1,"deltaX","*","aspect"]],[13,"acdY","deltaY"],[13,"scaledDeltaX",[1,"acdX","/","scale"]],[13,"scaledDeltaY",[1,"acdY","/","scale"]],[10,[6,"d.vec2f",[[1,[1,"scaledDeltaX","/","aspect"],"+",[7,"centerPos","x"]],[1,"scaledDeltaY","+",[7,"centerPos","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({}));var MF=v.fn([l,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=er(t.mul(1e3)).mul(2).sub(l(1,1)).mul(s).div(r);return t.add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"intensity"},{type:"i",name:"viewport"}],body:[0,[[13,"seed",[6,[7,"uv","mul"],[[5,"1000"]]]],[13,"randVec",[6,"noise.hash22",["seed"]]],[13,"offset",[6,[7,[6,[7,[6,[7,[6,[7,"randVec","mul"],[[5,"2"]]],"sub"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]],"mul"],["intensity"]],"div"],["viewport"]]],[10,[6,[7,"uv","add"],["offset"]]]]]},externals:{"noise.hash22":()=>er,"d.vec2f":()=>l}})&&e.f)({}));var xz=[.056,.135,.278,.487,.726,.923,1,.923,.726,.487,.278,.135,.056],gz=6.214,PF=xz.map(e=>e/gz);var EF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(r,ed),i=__tsover_mul(o,.2),d=__tsover_div(s.x,s.y),c=__tsover_div(__tsover_mul(Y(n),i),d),_=__tsover_mul(__tsover_mul(H(n),-1),i);return l(__tsover_sub(t.x,c),__tsover_sub(t.y,_))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"distance"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"dist",[1,"distance","*",[5,"0.2"]]],[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"ox",[1,[1,[6,"std.sin",["angleRad"]],"*","dist"],"/","aspect"]],[13,"oy",[1,[1,[6,"std.cos",["angleRad"]],"*",[4,"-",[5,"1"]]],"*","dist"]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"-","ox"],[1,[7,"uv","y"],"-","oy"]]]]]]},externals:{DEG_TO_RAD:()=>ed,"std.sin":()=>Y,"std.cos":()=>H,"d.vec2f":()=>l}})&&e.f)({})),kF=v.fn([l,l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return l(__tsover_add(t.x,__tsover_div(__tsover_mul(o,r),s.x)),__tsover_add(t.y,__tsover_div(__tsover_mul(n,r),s.y)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"blurRadius"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[1,"ox","*","blurRadius"],"/",[7,"viewport","x"]]],[1,[7,"uv","y"],"+",[1,[1,"oy","*","blurRadius"],"/",[7,"viewport","y"]]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),$F=v.fn([x,x,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=f(s.x,s.y,s.z),i=__tsover_mul(s.w,r),d=$(__tsover_sub(i,t.w),0,1),c=n.mul(s.w).mul(d),_=n.mul(s.w).mul(r),u=__tsover_sub(1,t.w),m=f(t.x,t.y,t.z).add(_.mul(u)),p=b(__tsover_add(t.w,__tsover_mul(i,u)),t.w),y=o>.5,h=C(m,c,y),g=C(p,d,y);return x(h.x,h.y,h.z,g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"originalColor"},{type:"i",name:"shadowColor"},{type:"i",name:"shadowAlpha"},{type:"i",name:"cutout"}],body:[0,[[13,"shadowRgb",[6,"d.vec3f",[[7,"shadowColor","x"],[7,"shadowColor","y"],[7,"shadowColor","z"]]]],[13,"shadowA",[1,[7,"shadowColor","w"],"*","shadowAlpha"]],[13,"cutoutA",[6,"std.clamp",[[1,"shadowA","-",[7,"originalColor","w"]],[5,"0"],[5,"1"]]]],[13,"cutoutRgb",[6,[7,[6,[7,"shadowRgb","mul"],[[7,"shadowColor","w"]]],"mul"],["cutoutA"]]],[13,"shadowPremulRgb",[6,[7,[6,[7,"shadowRgb","mul"],[[7,"shadowColor","w"]]],"mul"],["shadowAlpha"]]],[13,"oneMinusOrigA",[1,[5,"1"],"-",[7,"originalColor","w"]]],[13,"normalRgb",[6,[7,[6,"d.vec3f",[[7,"originalColor","x"],[7,"originalColor","y"],[7,"originalColor","z"]]],"add"],[[6,[7,"shadowPremulRgb","mul"],["oneMinusOrigA"]]]]],[13,"normalA",[6,"std.max",[[1,[7,"originalColor","w"],"+",[1,"shadowA","*","oneMinusOrigA"]],[7,"originalColor","w"]]]],[13,"useCut",[1,"cutout",">",[5,"0.5"]]],[13,"rgb",[6,"std.select",["normalRgb","cutoutRgb","useCut"]]],[13,"a",[6,"std.select",["normalA","cutoutA","useCut"]]],[10,[6,"d.vec4f",[[7,"rgb","x"],[7,"rgb","y"],[7,"rgb","z"],"a"]]]]]},externals:{"d.vec3f":()=>f,"std.clamp":()=>$,"std.max":()=>b,"std.select":()=>C,"d.vec4f":()=>x}})&&e.f)({}));var UF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return l(__tsover_add(t.x,__tsover_div(r,s.x)),__tsover_add(t.y,__tsover_div(o,s.y)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"dirX"},{type:"i",name:"dirY"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,"dirX","/",[7,"viewport","x"]]],[1,[7,"uv","y"],"+",[1,"dirY","/",[7,"viewport","y"]]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),CF=v.fn([x,x,x,x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_add(1,__tsover_mul(i,4)),c=__tsover_mul(i,-1),_=$(t.xyz.mul(d).add(s.xyz.mul(c)).add(r.xyz.mul(c)).add(o.xyz.mul(c)).add(n.xyz.mul(c)),f(0,0,0),f(1,1,1));return x(_.x,_.y,_.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"top"},{type:"i",name:"bottom"},{type:"i",name:"left"},{type:"i",name:"right"},{type:"i",name:"amount"}],body:[0,[[13,"centerWeight",[1,[5,"1"],"+",[1,"amount","*",[5,"4"]]]],[13,"neighborWeight",[1,"amount","*",[4,"-",[5,"1"]]]],[13,"rgb",[6,[7,[6,[7,[6,[7,[6,[7,[6,[7,[7,"center","xyz"],"mul"],["centerWeight"]],"add"],[[6,[7,[7,"top","xyz"],"mul"],["neighborWeight"]]]],"add"],[[6,[7,[7,"bottom","xyz"],"mul"],["neighborWeight"]]]],"add"],[[6,[7,[7,"left","xyz"],"mul"],["neighborWeight"]]]],"add"],[[6,[7,[7,"right","xyz"],"mul"],["neighborWeight"]]]]],[13,"clamped",[6,"std.clamp",["rgb",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]],[10,[6,"d.vec4f",[[7,"clamped","x"],[7,"clamped","y"],[7,"clamped","z"],[7,"center","w"]]]]]]},externals:{"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({}));var RF=v.fn([l,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=s>1,d=b(C(__tsover_mul(r,s),r,i),1),c=b(C(r,__tsover_div(r,s),i),1),_=l(__tsover_div(q(__tsover_mul(t.x,d)),d),__tsover_div(q(__tsover_mul(t.y,c)),c)),u=l(__tsover_sub(ue(__tsover_mul(t.x,d)),.5),__tsover_sub(ue(__tsover_mul(t.y,c)),.5)),m=__tsover_sub(.5,__tsover_mul(o,.5)),p=__tsover_mul(n,m),y=b(__tsover_add(__tsover_sub(z(u.x),m),p),0),h=b(__tsover_add(__tsover_sub(z(u.y),m),p),0),g=__tsover_sub(j(l(y,h)),p),w=C(a(0),a(1),g<=0);return f(_.x,_.y,w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"scale"},{type:"i",name:"gap"},{type:"i",name:"roundness"}],body:[0,[[13,"isWide",[1,"aspect",">",[5,"1"]]],[13,"pixelCountX",[6,"std.max",[[6,"std.select",[[1,"scale","*","aspect"],"scale","isWide"]],[5,"1"]]]],[13,"pixelCountY",[6,"std.max",[[6,"std.select",["scale",[1,"scale","/","aspect"],"isWide"]],[5,"1"]]]],[13,"sampleUV",[6,"d.vec2f",[[1,[6,"std.floor",[[1,[7,"uv","x"],"*","pixelCountX"]]],"/","pixelCountX"],[1,[6,"std.floor",[[1,[7,"uv","y"],"*","pixelCountY"]]],"/","pixelCountY"]]]],[13,"localUV",[6,"d.vec2f",[[1,[6,"std.fract",[[1,[7,"uv","x"],"*","pixelCountX"]]],"-",[5,"0.5"]],[1,[6,"std.fract",[[1,[7,"uv","y"],"*","pixelCountY"]]],"-",[5,"0.5"]]]]],[13,"halfSize",[1,[5,"0.5"],"-",[1,"gap","*",[5,"0.5"]]]],[13,"cornerRadius",[1,"roundness","*","halfSize"]],[13,"qx",[6,"std.max",[[1,[1,[6,"std.abs",[[7,"localUV","x"]]],"-","halfSize"],"+","cornerRadius"],[5,"0"]]]],[13,"qy",[6,"std.max",[[1,[1,[6,"std.abs",[[7,"localUV","y"]]],"-","halfSize"],"+","cornerRadius"],[5,"0"]]]],[13,"sdf",[1,[6,"std.length",[[6,"d.vec2f",["qx","qy"]]]],"-","cornerRadius"]],[13,"mask",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"sdf","<=",[5,"0"]]]]],[10,[6,"d.vec3f",[[7,"sampleUV","x"],[7,"sampleUV","y"],"mask"]]]]]},externals:{"std.max":()=>b,"std.select":()=>C,"d.vec2f":()=>l,"std.floor":()=>q,"std.fract":()=>ue,"std.abs":()=>z,"std.length":()=>j,"d.f32":()=>a,"d.vec3f":()=>f}})&&e.f)({}));var zF=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=s>1,c=l(C(__tsover_mul(o,s),o,d),C(o,__tsover_div(o,s),d)),_=l(__tsover_mul(t.x,s),t.y),u=__tsover_mul(n,ed),m=H(u),p=Y(u),y=_.sub(l(__tsover_mul(.5,s),.5)),h=l(__tsover_sub(__tsover_mul(y.x,m),__tsover_mul(y.y,p)),__tsover_add(__tsover_mul(y.x,p),__tsover_mul(y.y,m))).add(l(__tsover_mul(.5,s),.5)),g=l(__tsover_div(h.x,s),h.y),w=q(g.mul(c)).div(c),S=g.sub(w),T=l(1,1).div(c),A=S.div(T).sub(l(.5,.5)),P=__tsover_add(__tsover_mul(A.x,A.x),__tsover_mul(A.y,A.y)),U=b(__tsover_sub(1,__tsover_mul(P,__tsover_mul(i,4))),0),D=__tsover_mul(r,.025),O=__tsover_mul(D,U),L=l(__tsover_div(__tsover_mul(A.x,O),s),__tsover_mul(A.y,O));return t.add(L)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"intensity"},{type:"i",name:"baseTileCount"},{type:"i",name:"rotationDegrees"},{type:"i",name:"roundnessAmount"}],body:[0,[[13,"isWide",[1,"aspect",">",[5,"1"]]],[13,"tileCount",[6,"d.vec2f",[[6,"std.select",[[1,"baseTileCount","*","aspect"],"baseTileCount","isWide"]],[6,"std.select",["baseTileCount",[1,"baseTileCount","/","aspect"],"isWide"]]]]],[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"rotationRadians",[1,"rotationDegrees","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["rotationRadians"]]],[13,"sinA",[6,"std.sin",["rotationRadians"]]],[13,"centered",[6,[7,"aspectCorrectedUV","sub"],[[6,"d.vec2f",[[1,[5,"0.5"],"*","aspect"],[5,"0.5"]]]]]],[13,"rotatedX",[1,[1,[7,"centered","x"],"*","cosA"],"-",[1,[7,"centered","y"],"*","sinA"]]],[13,"rotatedY",[1,[1,[7,"centered","x"],"*","sinA"],"+",[1,[7,"centered","y"],"*","cosA"]]],[13,"rotatedUV",[6,[7,[6,"d.vec2f",["rotatedX","rotatedY"]],"add"],[[6,"d.vec2f",[[1,[5,"0.5"],"*","aspect"],[5,"0.5"]]]]]],[13,"gridUV",[6,"d.vec2f",[[1,[7,"rotatedUV","x"],"/","aspect"],[7,"rotatedUV","y"]]]],[13,"cellCoord",[6,[7,[6,"std.floor",[[6,[7,"gridUV","mul"],["tileCount"]]]],"div"],["tileCount"]]],[13,"localUV",[6,[7,"gridUV","sub"],["cellCoord"]]],[13,"oneOverTile",[6,[7,[6,"d.vec2f",[[5,"1"],[5,"1"]]],"div"],["tileCount"]]],[13,"normalizedLocalUV",[6,[7,"localUV","div"],["oneOverTile"]]],[13,"fromCenter",[6,[7,"normalizedLocalUV","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"distFromCenter",[1,[1,[7,"fromCenter","x"],"*",[7,"fromCenter","x"]],"+",[1,[7,"fromCenter","y"],"*",[7,"fromCenter","y"]]]],[13,"roundnessFactor",[1,[5,"1"],"-",[1,"distFromCenter","*",[1,"roundnessAmount","*",[5,"4"]]]]],[13,"clampedRoundness",[6,"std.max",["roundnessFactor",[5,"0"]]]],[13,"distortionFactor",[1,"intensity","*",[5,"0.025"]]],[13,"scaleFactor",[1,"distortionFactor","*","clampedRoundness"]],[13,"distortion",[6,"d.vec2f",[[1,[1,[7,"fromCenter","x"],"*","scaleFactor"],"/","aspect"],[1,[7,"fromCenter","y"],"*","scaleFactor"]]]],[10,[6,[7,"uv","add"],["distortion"]]]]]},externals:{"d.vec2f":()=>l,"std.select":()=>C,DEG_TO_RAD:()=>ed,"std.cos":()=>H,"std.sin":()=>Y,"std.floor":()=>q,"std.max":()=>b}})&&e.f)({}));var GF=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s,.002);return l(__tsover_add(t.x,__tsover_mul(o,r)),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"colorShift"},{type:"i",name:"dir"}],body:[0,[[13,"scaledColorShift",[1,"colorShift","*",[5,"0.002"]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,"scaledColorShift","*","dir"]],[7,"uv","y"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),YF=v.fn([x,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return f(t.x,s.y,r.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"redSample"},{type:"i",name:"greenSample"},{type:"i",name:"blueSample"}],body:[0,[[10,[6,"d.vec3f",[[7,"redSample","x"],[7,"greenSample","y"],[7,"blueSample","z"]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),LF=v.fn([f,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return t.sub(f(.5)).mul(s).add(f(.5)).mul(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"contrast"},{type:"i",name:"brightness"}],body:[0,[[10,[6,[7,[6,[7,[6,[7,[6,[7,"color","sub"],[[6,"d.vec3f",[[5,"0.5"]]]]],"mul"],["contrast"]],"add"],[[6,"d.vec3f",[[5,"0.5"]]]]],"mul"],["brightness"]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})),IF=v.fn([f,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,r),i=Y(__tsover_mul(n,__tsover_mul(3.14159,2))),d=__tsover_sub(1,__tsover_mul(o,__tsover_add(__tsover_mul(i,.5),.5)));return t.mul(d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uvY"},{type:"i",name:"scanlineFrequency"},{type:"i",name:"scanlineIntensity"}],body:[0,[[13,"scanlinePosition",[1,"uvY","*","scanlineFrequency"]],[13,"scanlineWave",[6,"std.sin",[[1,"scanlinePosition","*",[1,[5,"3.14159"],"*",[5,"2"]]]]]],[13,"scanlineEffect",[1,[5,"1"],"-",[1,"scanlineIntensity","*",[1,[1,"scanlineWave","*",[5,"0.5"]],"+",[5,"0.5"]]]]],[10,[6,[7,"color","mul"],["scanlineEffect"]]]]]},externals:{"std.sin":()=>Y}})&&e.f)({})),DF=v.fn([f,l,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r,.5),n=ue(s.mul(o)),i=__tsover_add(__tsover_mul(Y(__tsover_mul(n.x,6.28318)),.1),.95),d=__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(n.x,6.28318),2.09)),.1),.95),c=__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(n.x,6.28318),4.18)),.1),.95);return f(__tsover_mul(t.x,i),__tsover_mul(t.y,d),__tsover_mul(t.z,c))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"},{type:"i",name:"pixelSize"}],body:[0,[[13,"phosphorScale",[1,"pixelSize","*",[5,"0.5"]]],[13,"pixelPhase",[6,"std.fract",[[6,[7,"uv","mul"],["phosphorScale"]]]]],[13,"redMask",[1,[1,[6,"std.sin",[[1,[7,"pixelPhase","x"],"*",[5,"6.28318"]]]],"*",[5,"0.1"]],"+",[5,"0.95"]]],[13,"greenMask",[1,[1,[6,"std.sin",[[1,[1,[7,"pixelPhase","x"],"*",[5,"6.28318"]],"+",[5,"2.09"]]]],"*",[5,"0.1"]],"+",[5,"0.95"]]],[13,"blueMask",[1,[1,[6,"std.sin",[[1,[1,[7,"pixelPhase","x"],"*",[5,"6.28318"]],"+",[5,"4.18"]]]],"*",[5,"0.1"]],"+",[5,"0.95"]]],[10,[6,"d.vec3f",[[1,[7,"color","x"],"*","redMask"],[1,[7,"color","y"],"*","greenMask"],[1,[7,"color","z"],"*","blueMask"]]]]]]},externals:{"std.fract":()=>ue,"std.sin":()=>Y,"d.vec3f":()=>f}})&&e.f)({})),FF=v.fn([f,l,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=s.sub(l(.5,.5)),d=j(l(__tsover_mul(i.x,r),i.y)),c=__tsover_sub(1,__tsover_mul(o,.9)),_=__tsover_add(c,.5),u=X(1,__tsover_sub(1,re(c,_,d)),n);return t.mul(u)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"vignetteRadius"},{type:"i",name:"vignetteIntensity"}],body:[0,[[13,"centeredUV",[6,[7,"uv","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"aspectCorrectedUV",[6,"d.vec2f",[[1,[7,"centeredUV","x"],"*","aspect"],[7,"centeredUV","y"]]]],[13,"vignetteDistance",[6,"std.length",["aspectCorrectedUV"]]],[13,"innerEdge",[1,[5,"1"],"-",[1,"vignetteRadius","*",[5,"0.9"]]]],[13,"outerEdge",[1,"innerEdge","+",[5,"0.5"]]],[13,"vignetteValue",[1,[5,"1"],"-",[6,"std.smoothstep",["innerEdge","outerEdge","vignetteDistance"]]]],[13,"vignette",[6,"std.mix",[[5,"1"],"vignetteValue","vignetteIntensity"]]],[10,[6,[7,"color","mul"],["vignette"]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.smoothstep":()=>re,"std.mix":()=>X}})&&e.f)({})),I3=487,qd=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ot(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"noise.hash12",["p"]]]]]},externals:{"noise.hash12":()=>Ot}})&&e.f)({})),En=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=ue(t),o=r.mul(r).mul(l(3,3).sub(r.mul(2))),n=qd(s),i=qd(s.add(l(1,0))),d=qd(s.add(l(0,1))),c=qd(s.add(l(1,1)));return X(X(n,i,o.x),X(d,c,o.x),o.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,"std.fract",["p"]]],[13,"u",[6,[7,[6,[7,"f","mul"],["f"]],"mul"],[[6,[7,[6,"d.vec2f",[[5,"3"],[5,"3"]]],"sub"],[[6,[7,"f","mul"],[[5,"2"]]]]]]]],[13,"a",[6,"hash2D",["i"]]],[13,"b",[6,"hash2D",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"0"]]]]]]]],[13,"c",[6,"hash2D",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]]]],[13,"dd",[6,"hash2D",[[6,[7,"i","add"],[[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]]],[10,[6,"std.mix",[[6,"std.mix",["a","b",[7,"u","x"]]],[6,"std.mix",["c","dd",[7,"u","x"]]],[7,"u","y"]]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,"d.vec2f":()=>l,hash2D:()=>qd,"std.mix":()=>X}})&&e.f)({})),D3=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return re(.45,.8,En(l(__tsover_mul(t,.4),0)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[6,"std.smoothstep",[[5,"0.45"],[5,"0.8"],[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"t","*",[5,"0.4"]],[5,"0"]]]]]]]]]]},externals:{"std.smoothstep":()=>re,smoothNoise2D:()=>En,"d.vec2f":()=>l}})&&e.f)({})),F3=v.fn([a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=q(__tsover_mul(t,I3)),i=__tsover_mul(__tsover_sub(Ot(l(n,s)),.5),2),d=__tsover_mul(__tsover_sub(Ot(l(n,__tsover_add(s,69.42))),.5),2),c=__tsover_add(.25,__tsover_mul(o,.75)),_=__tsover_mul(__tsover_mul(__tsover_mul(i,r),.008),c);return l(__tsover_mul(__tsover_mul(__tsover_mul(d,r),.004),c),_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvY"},{type:"i",name:"t"},{type:"i",name:"scanlineNoise"},{type:"i",name:"burst"}],body:[0,[[13,"rowInt",[6,"std.floor",[[1,"uvY","*","FIELD_LINES"]]]],[13,"h0",[1,[1,[6,"noise.hash12",[[6,"d.vec2f",["rowInt","t"]]]],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"h1",[1,[1,[6,"noise.hash12",[[6,"d.vec2f",["rowInt",[1,"t","+",[5,"69.42"]]]]]],"-",[5,"0.5"]],"*",[5,"2"]]],[13,"fineGate",[1,[5,"0.25"],"+",[1,"burst","*",[5,"0.75"]]]],[13,"chromaRowOffset",[1,[1,[1,"h0","*","scanlineNoise"],"*",[5,"0.008"]],"*","fineGate"]],[13,"lumaRowOffset",[1,[1,[1,"h1","*","scanlineNoise"],"*",[5,"0.004"]],"*","fineGate"]],[10,[6,"d.vec2f",["lumaRowOffset","chromaRowOffset"]]]]]},externals:{"std.floor":()=>q,FIELD_LINES:()=>I3,"noise.hash12":()=>Ot,"d.vec2f":()=>l}})&&e.f)({})),B3=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(En(l(__tsover_mul(t,3),__tsover_mul(s,.8))),.5),n=__tsover_sub(En(l(__tsover_mul(t,30),__tsover_mul(s,6))),.5);return __tsover_mul(__tsover_add(__tsover_mul(o,.008),__tsover_mul(n,.002)),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvY"},{type:"i",name:"t"},{type:"i",name:"wobble"}],body:[0,[[13,"wave1",[1,[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"uvY","*",[5,"3"]],[1,"t","*",[5,"0.8"]]]]]],"-",[5,"0.5"]]],[13,"wave2",[1,[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"uvY","*",[5,"30"]],[1,"t","*",[5,"6"]]]]]],"-",[5,"0.5"]]],[10,[1,[1,[1,"wave1","*",[5,"0.008"]],"+",[1,"wave2","*",[5,"0.002"]]],"*","wobble"]]]]},externals:{smoothNoise2D:()=>En,"d.vec2f":()=>l}})&&e.f)({})),W3=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=re(.92,.99,Y(__tsover_sub(__tsover_mul(t,8),__tsover_mul(s,3.77)))),n=re(.3,1,En(l(__tsover_mul(t,4.77),s)));return __tsover_mul(__tsover_mul(__tsover_mul(o,n),r),-.018)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvY"},{type:"i",name:"t"},{type:"i",name:"wobble"}],body:[0,[[13,"creasePhase",[6,"std.smoothstep",[[5,"0.92"],[5,"0.99"],[6,"std.sin",[[1,[1,"uvY","*",[5,"8"]],"-",[1,"t","*",[5,"3.77"]]]]]]]],[13,"creaseNoise",[6,"std.smoothstep",[[5,"0.3"],[5,"1"],[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"uvY","*",[5,"4.77"]],"t"]]]]]]],[10,[1,[1,[1,"creasePhase","*","creaseNoise"],"*","wobble"],"*",[4,"-",[5,"0.018"]]]]]]},externals:{"std.smoothstep":()=>re,"std.sin":()=>Y,smoothNoise2D:()=>En,"d.vec2f":()=>l}})&&e.f)({})),O3=v.fn([a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(1,re(0,.06,t)),i=__tsover_sub(En(l(__tsover_mul(t,60),__tsover_mul(s,14))),.5);return l(__tsover_mul(__tsover_mul(__tsover_mul(n,i),r),.09),__tsover_mul(__tsover_mul(__tsover_mul(n,r),o),.02))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvY"},{type:"i",name:"t"},{type:"i",name:"wobble"},{type:"i",name:"burst"}],body:[0,[[13,"switchPhase",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],[5,"0.06"],"uvY"]]]],[13,"switchNoise",[1,[6,"smoothNoise2D",[[6,"d.vec2f",[[1,"uvY","*",[5,"60"]],[1,"t","*",[5,"14"]]]]]],"-",[5,"0.5"]]],[13,"switchX",[1,[1,[1,"switchPhase","*","switchNoise"],"*","wobble"],"*",[5,"0.09"]]],[13,"switchY",[1,[1,[1,"switchPhase","*","wobble"],"*","burst"],"*",[5,"0.02"]]],[10,[6,"d.vec2f",["switchX","switchY"]]]]]},externals:{"std.smoothstep":()=>re,smoothNoise2D:()=>En,"d.vec2f":()=>l}})&&e.f)({})),BF=v.fn([l,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,r),d=D3(i),c=F3(t.y,i,n,d),_=O3(t.y,i,o,d),u=__tsover_add(__tsover_add(B3(t.y,i,o),W3(t.y,i,o)),_.x),m=__tsover_add(t.y,_.y);return x(__tsover_add(__tsover_add(t.x,u),c.x),m,__tsover_add(__tsover_add(t.x,u),c.y),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"time"},{type:"i",name:"speed"},{type:"i",name:"wobble"},{type:"i",name:"scanlineNoise"}],body:[0,[[13,"t",[1,"time","*","speed"]],[13,"burst",[6,"burstGate",["t"]]],[13,"jitter",[6,"rowJitter",[[7,"uv","y"],"t","scanlineNoise","burst"]]],[13,"sw",[6,"headSwitch",[[7,"uv","y"],"t","wobble","burst"]]],[13,"globalX",[1,[1,[6,"tapeWave",[[7,"uv","y"],"t","wobble"]],"+",[6,"creaseShift",[[7,"uv","y"],"t","wobble"]]],"+",[7,"sw","x"]]],[13,"sy",[1,[7,"uv","y"],"+",[7,"sw","y"]]],[10,[6,"d.vec4f",[[1,[1,[7,"uv","x"],"+","globalX"],"+",[7,"jitter","x"]],"sy",[1,[1,[7,"uv","x"],"+","globalX"],"+",[7,"jitter","y"]],"sy"]]]]]},externals:{burstGate:()=>D3,rowJitter:()=>F3,headSwitch:()=>O3,tapeWave:()=>B3,creaseShift:()=>W3,"d.vec4f":()=>x}})&&e.f)({})),WF=v.fn([l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,r);return __tsover_add(1,__tsover_mul(__tsover_mul(H(__tsover_add(__tsover_mul(bo(n,6.2831853),2),__tsover_mul(t.y,.5))),.015),o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"time"},{type:"i",name:"speed"},{type:"i",name:"wobble"}],body:[0,[[13,"t",[1,"time","*","speed"]],[10,[1,[5,"1"],"+",[1,[1,[6,"std.cos",[[1,[1,[6,"std.mod",["t",[5,"6.2831853"]]],"*",[5,"2"]],"+",[1,[7,"uv","y"],"*",[5,"0.5"]]]]],"*",[5,"0.015"]],"*","wobble"]]]]]},externals:{"std.cos":()=>H,"std.mod":()=>bo}})&&e.f)({})),OF=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_add(t.x,__tsover_mul(__tsover_mul(r,-1),s)),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"chromaUV"},{type:"i",name:"smearScale"},{type:"i",name:"i"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"chromaUV","x"],"+",[1,[1,"i","*",[4,"-",[5,"1"]]],"*","smearScale"]],[7,"chromaUV","y"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),VF=v.fn([x,x,x,x,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=se(t.xyz,f(.299,.587,.114)),c=f(.596,-.274,-.322),_=f(.211,-.523,.312),u=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(se(s.xyz,c),.06666666666666667),__tsover_mul(se(r.xyz,c),.13333333333333333)),__tsover_mul(se(o.xyz,c),.2)),__tsover_mul(se(n.xyz,c),.26666666666666666)),__tsover_mul(se(i.xyz,c),.3333333333333333)),m=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(se(s.xyz,_),.06666666666666667),__tsover_mul(se(r.xyz,_),.13333333333333333)),__tsover_mul(se(o.xyz,_),.2)),__tsover_mul(se(n.xyz,_),.26666666666666666)),__tsover_mul(se(i.xyz,_),.3333333333333333));return f(__tsover_add(__tsover_add(d,__tsover_mul(u,.956)),__tsover_mul(m,.621)),__tsover_sub(__tsover_sub(d,__tsover_mul(u,.272)),__tsover_mul(m,.647)),__tsover_add(__tsover_sub(d,__tsover_mul(u,1.106)),__tsover_mul(m,1.703)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"luma"},{type:"i",name:"c1"},{type:"i",name:"c2"},{type:"i",name:"c3"},{type:"i",name:"c4"},{type:"i",name:"c5"}],body:[0,[[13,"sharpY",[6,"std.dot",[[7,"luma","xyz"],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"iAxis",[6,"d.vec3f",[[5,"0.596"],[4,"-",[5,"0.274"]],[4,"-",[5,"0.322"]]]]],[13,"qAxis",[6,"d.vec3f",[[5,"0.211"],[4,"-",[5,"0.523"]],[5,"0.312"]]]],[13,"accI",[1,[1,[1,[1,[1,[6,"std.dot",[[7,"c1","xyz"],"iAxis"]],"*",[5,"0.06666666666666667"]],"+",[1,[6,"std.dot",[[7,"c2","xyz"],"iAxis"]],"*",[5,"0.13333333333333333"]]],"+",[1,[6,"std.dot",[[7,"c3","xyz"],"iAxis"]],"*",[5,"0.2"]]],"+",[1,[6,"std.dot",[[7,"c4","xyz"],"iAxis"]],"*",[5,"0.26666666666666666"]]],"+",[1,[6,"std.dot",[[7,"c5","xyz"],"iAxis"]],"*",[5,"0.3333333333333333"]]]],[13,"accQ",[1,[1,[1,[1,[1,[6,"std.dot",[[7,"c1","xyz"],"qAxis"]],"*",[5,"0.06666666666666667"]],"+",[1,[6,"std.dot",[[7,"c2","xyz"],"qAxis"]],"*",[5,"0.13333333333333333"]]],"+",[1,[6,"std.dot",[[7,"c3","xyz"],"qAxis"]],"*",[5,"0.2"]]],"+",[1,[6,"std.dot",[[7,"c4","xyz"],"qAxis"]],"*",[5,"0.26666666666666666"]]],"+",[1,[6,"std.dot",[[7,"c5","xyz"],"qAxis"]],"*",[5,"0.3333333333333333"]]]],[10,[6,"d.vec3f",[[1,[1,"sharpY","+",[1,"accI","*",[5,"0.956"]]],"+",[1,"accQ","*",[5,"0.621"]]],[1,[1,"sharpY","-",[1,"accI","*",[5,"0.272"]]],"-",[1,"accQ","*",[5,"0.647"]]],[1,[1,"sharpY","-",[1,"accI","*",[5,"1.106"]]],"+",[1,"accQ","*",[5,"1.703"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),NF=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=$(t.xyz.mul(s),f(0,0,0),f(1,1,1));return x(r.x,r.y,r.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"acBeat"}],body:[0,[[13,"clamped",[6,"std.clamp",[[6,[7,[7,"color","xyz"],"mul"],["acBeat"]],[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]],[10,[6,"d.vec4f",[[7,"clamped","x"],[7,"clamped","y"],[7,"clamped","z"],[7,"color","w"]]]]]]},externals:{"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),sr=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Gs(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"noise.hash11",["p"]]]]]},externals:{"noise.hash11":()=>Gs}})&&e.f)({})),V3=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=sr(t),n=__tsover_mul(__tsover_mul(o,o),o),i=sr(__tsover_add(s,73)),d=__tsover_mul(i,i),c=__tsover_sub(1,r),_=De(c,n),u=De(__tsover_add(c,.15),d);return __tsover_mul($(__tsover_add(__tsover_mul(_,.8),__tsover_mul(u,.4)),0,1),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"slowFrame"},{type:"i",name:"fastFrame"},{type:"i",name:"intensity"}],body:[0,[[13,"slowHash",[6,"hash11",["slowFrame"]]],[13,"slowPulse",[1,[1,"slowHash","*","slowHash"],"*","slowHash"]],[13,"fastHash",[6,"hash11",[[1,"fastFrame","+",[5,"73"]]]]],[13,"fastPulse",[1,"fastHash","*","fastHash"]],[13,"threshold",[1,[5,"1"],"-","intensity"]],[13,"majorBurst",[6,"std.step",["threshold","slowPulse"]]],[13,"minorFlicker",[6,"std.step",[[1,"threshold","+",[5,"0.15"]],"fastPulse"]]],[10,[1,[6,"std.clamp",[[1,[1,"majorBurst","*",[5,"0.8"]],"+",[1,"minorFlicker","*",[5,"0.4"]]],[5,"0"],[5,"1"]]],"*","intensity"]]]]},externals:{hash11:()=>sr,"std.step":()=>De,"std.clamp":()=>$}})&&e.f)({})),Q_=v.fn([a,a,a,a,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_add(__tsover_mul(t,r),__tsover_mul(s,o)),u=sr(_),m=De(__tsover_sub(1,__tsover_mul(c,n)),u);return f(__tsover_mul(__tsover_mul(__tsover_sub(sr(__tsover_add(_,i)),.5),d),m),m,_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"bandY"},{type:"i",name:"frame"},{type:"i",name:"seedScale"},{type:"i",name:"frameScale"},{type:"i",name:"gateFactor"},{type:"i",name:"hashOffset"},{type:"i",name:"amplitude"},{type:"i",name:"glitchStrength"}],body:[0,[[13,"seed",[1,[1,"bandY","*","seedScale"],"+",[1,"frame","*","frameScale"]]],[13,"bandHash",[6,"hash11",["seed"]]],[13,"active",[6,"std.step",[[1,[5,"1"],"-",[1,"glitchStrength","*","gateFactor"]],"bandHash"]]],[13,"displace",[1,[1,[1,[6,"hash11",[[1,"seed","+","hashOffset"]]],"-",[5,"0.5"]],"*","amplitude"],"*","active"]],[10,[6,"d.vec3f",["displace","active","seed"]]]]]},externals:{hash11:()=>sr,"std.step":()=>De,"d.vec3f":()=>f}})&&e.f)({})),N3=v.fn([a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_add(__tsover_add(__tsover_mul(t,.41),__tsover_mul(s,.67)),__tsover_mul(r,2.31)),i=sr(n),d=De(__tsover_sub(1,__tsover_mul(o,.35)),i);return l(__tsover_mul(__tsover_mul(__tsover_sub(sr(__tsover_add(n,77)),.5),.18),d),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colX"},{type:"i",name:"bandY1"},{type:"i",name:"slowFrame"},{type:"i",name:"glitchStrength"}],body:[0,[[13,"blockSeed",[1,[1,[1,"colX","*",[5,"0.41"]],"+",[1,"bandY1","*",[5,"0.67"]]],"+",[1,"slowFrame","*",[5,"2.31"]]]],[13,"blockHash",[6,"hash11",["blockSeed"]]],[13,"blockActive",[6,"std.step",[[1,[5,"1"],"-",[1,"glitchStrength","*",[5,"0.35"]]],"blockHash"]]],[13,"displace",[1,[1,[1,[6,"hash11",[[1,"blockSeed","+",[5,"77"]]]],"-",[5,"0.5"]],"*",[5,"0.18"]],"*","blockActive"]],[10,[6,"d.vec2f",["displace","blockActive"]]]]]},externals:{hash11:()=>sr,"std.step":()=>De,"d.vec2f":()=>l}})&&e.f)({})),q3=v.fn([l,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_add(__tsover_add(__tsover_mul(s,.83),__tsover_mul(r,1.17)),__tsover_mul(o,4.57)),_=sr(c),u=sr(__tsover_add(c,500)),m=__tsover_mul(De(__tsover_sub(1,__tsover_mul(i,d)),_),n),p=__tsover_mul(De(__tsover_sub(1,__tsover_mul(__tsover_mul(i,d),.4)),u),n);return l(X(t.x,__tsover_sub(1,t.x),m),X(t.y,__tsover_sub(1,t.y),p))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"displacedUV"},{type:"i",name:"colX"},{type:"i",name:"bandY1"},{type:"i",name:"slowFrame"},{type:"i",name:"bandActive1"},{type:"i",name:"mirrorChance"},{type:"i",name:"glitchStrength"}],body:[0,[[13,"mirrorSeed",[1,[1,[1,"colX","*",[5,"0.83"]],"+",[1,"bandY1","*",[5,"1.17"]]],"+",[1,"slowFrame","*",[5,"4.57"]]]],[13,"hMirrorHash",[6,"hash11",["mirrorSeed"]]],[13,"vMirrorHash",[6,"hash11",[[1,"mirrorSeed","+",[5,"500"]]]]],[13,"hMirrorActive",[1,[6,"std.step",[[1,[5,"1"],"-",[1,"mirrorChance","*","glitchStrength"]],"hMirrorHash"]],"*","bandActive1"]],[13,"vMirrorActive",[1,[6,"std.step",[[1,[5,"1"],"-",[1,[1,"mirrorChance","*","glitchStrength"],"*",[5,"0.4"]]],"vMirrorHash"]],"*","bandActive1"]],[10,[6,"d.vec2f",[[6,"std.mix",[[7,"displacedUV","x"],[1,[5,"1"],"-",[7,"displacedUV","x"]],"hMirrorActive"]],[6,"std.mix",[[7,"displacedUV","y"],[1,[5,"1"],"-",[7,"displacedUV","y"]],"vMirrorActive"]]]]]]]},externals:{hash11:()=>sr,"std.step":()=>De,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),Dm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({mirroredUV:l,spread:a,strength:a,bandY1:a,slowFrame:a,bandGate:a,blockGate:a,distortion:a}),"GlitchGeom"),qF=v.fn([l,a,a,a,a,a],Dm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(s,o),c=q(__tsover_mul(d,2.5)),_=q(__tsover_mul(d,10)),u=V3(c,_,r),m=q(__tsover_mul(t.y,n)),p=Q_(m,c,.37,7.13,.5,42,.25,u),y=Q_(q(__tsover_mul(t.y,__tsover_mul(n,2))),_,.53,3.37,.7,99,.12,u),h=Q_(q(__tsover_mul(t.y,__tsover_mul(n,4))),_,.71,11.71,.9,173,.05,u),g=q(__tsover_mul(t.x,4)),w=N3(g,m,c,u),S=__tsover_add(__tsover_add(__tsover_add(p.x,y.x),h.x),w.x),T=__tsover_mul(__tsover_mul(p.y,__tsover_sub(sr(__tsover_add(p.z,200)),.5)),.012),A=q3(l($(__tsover_add(t.x,__tsover_mul(S,u)),0,1),$(__tsover_add(t.y,__tsover_mul(T,u)),0,1)),g,m,c,p.y,i,u),P=__tsover_add(u,__tsover_mul(z(S),2)),U=$(__tsover_add(__tsover_add(p.y,y.y),h.y),0,1);return Dm({mirroredUV:A,spread:P,strength:u,bandY1:m,slowFrame:c,bandGate:p.y,blockGate:w.y,distortion:U})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"time"},{type:"i",name:"intensity"},{type:"i",name:"speed"},{type:"i",name:"blockDensity"},{type:"i",name:"mirrorChance"}],body:[0,[[13,"t",[1,"time","*","speed"]],[13,"slowFrame",[6,"std.floor",[[1,"t","*",[5,"2.5"]]]]],[13,"fastFrame",[6,"std.floor",[[1,"t","*",[5,"10"]]]]],[13,"glitchStrength",[6,"burstPulse",["slowFrame","fastFrame","intensity"]]],[13,"bandY1",[6,"std.floor",[[1,[7,"uv","y"],"*","blockDensity"]]]],[13,"band1",[6,"bandJitter",["bandY1","slowFrame",[5,"0.37"],[5,"7.13"],[5,"0.5"],[5,"42"],[5,"0.25"],"glitchStrength"]]],[13,"bandY2",[6,"std.floor",[[1,[7,"uv","y"],"*",[1,"blockDensity","*",[5,"2"]]]]]],[13,"band2",[6,"bandJitter",["bandY2","fastFrame",[5,"0.53"],[5,"3.37"],[5,"0.7"],[5,"99"],[5,"0.12"],"glitchStrength"]]],[13,"bandY3",[6,"std.floor",[[1,[7,"uv","y"],"*",[1,"blockDensity","*",[5,"4"]]]]]],[13,"band3",[6,"bandJitter",["bandY3","fastFrame",[5,"0.71"],[5,"11.71"],[5,"0.9"],[5,"173"],[5,"0.05"],"glitchStrength"]]],[13,"colX",[6,"std.floor",[[1,[7,"uv","x"],"*",[5,"4"]]]]],[13,"block",[6,"blockShift",["colX","bandY1","slowFrame","glitchStrength"]]],[13,"totalDisplaceX",[1,[1,[1,[7,"band1","x"],"+",[7,"band2","x"]],"+",[7,"band3","x"]],"+",[7,"block","x"]]],[13,"vertJitter",[1,[1,[7,"band1","y"],"*",[1,[6,"hash11",[[1,[7,"band1","z"],"+",[5,"200"]]]],"-",[5,"0.5"]]],"*",[5,"0.012"]]],[13,"displacedUV",[6,"d.vec2f",[[6,"std.clamp",[[1,[7,"uv","x"],"+",[1,"totalDisplaceX","*","glitchStrength"]],[5,"0"],[5,"1"]]],[6,"std.clamp",[[1,[7,"uv","y"],"+",[1,"vertJitter","*","glitchStrength"]],[5,"0"],[5,"1"]]]]]],[13,"mirroredUV",[6,"mirrorFlips",["displacedUV","colX","bandY1","slowFrame",[7,"band1","y"],"mirrorChance","glitchStrength"]]],[13,"spread",[1,"glitchStrength","+",[1,[6,"std.abs",["totalDisplaceX"]],"*",[5,"2"]]]],[13,"anyDistortion",[6,"std.clamp",[[1,[1,[7,"band1","y"],"+",[7,"band2","y"]],"+",[7,"band3","y"]],[5,"0"],[5,"1"]]]],[10,[6,"GlitchGeom",[[104,{mirroredUV:"mirroredUV",spread:"spread",strength:"glitchStrength",bandY1:"bandY1",slowFrame:"slowFrame",bandGate:[7,"band1","y"],blockGate:[7,"block","y"],distortion:"anyDistortion"}]]]]]]},externals:{"std.floor":()=>q,burstPulse:()=>V3,bandJitter:()=>Q_,blockShift:()=>N3,hash11:()=>sr,"d.vec2f":()=>l,"std.clamp":()=>$,mirrorFlips:()=>q3,"std.abs":()=>z,GlitchGeom:()=>Dm}})&&e.f)({})),XF=v.fn([l,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(__tsover_mul(s,.003),r),n=$(__tsover_add(t.x,o),0,1),i=$(__tsover_sub(t.x,o),0,1);return x(n,t.y,i,t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"mirroredUV"},{type:"i",name:"rgbShift"},{type:"i",name:"spread"}],body:[0,[[13,"rgbOffset",[1,[1,"rgbShift","*",[5,"0.003"]],"*","spread"]],[13,"redX",[6,"std.clamp",[[1,[7,"mirroredUV","x"],"+","rgbOffset"],[5,"0"],[5,"1"]]]],[13,"blueX",[6,"std.clamp",[[1,[7,"mirroredUV","x"],"-","rgbOffset"],[5,"0"],[5,"1"]]]],[10,[6,"d.vec4f",["redX",[7,"mirroredUV","y"],"blueX",[7,"mirroredUV","y"]]]]]]},externals:{"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})),HF=v.fn([x,l,a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=q(__tsover_mul(s.x,4)),u=__tsover_add(__tsover_add(__tsover_mul(_,.41),__tsover_mul(r,.67)),__tsover_mul(o,2.31)),m=sr(__tsover_add(u,555)),p=sr(__tsover_add(__tsover_add(r,__tsover_mul(o,3.33)),333)),y=ue(__tsover_add(__tsover_mul(s.x,3),__tsover_mul(p,7))),h=q(__tsover_mul(y,7)),g=f(__tsover_add(__tsover_sub(1,De(2,h)),__tsover_mul(De(4,h),__tsover_sub(1,De(6,h)))),__tsover_sub(1,De(4,h)),__tsover_sub(1,De(.5,ue(__tsover_mul(h,.5))))),w=ue(__tsover_add(__tsover_mul(sr(__tsover_add(r,13)),.8),__tsover_mul(o,.07))),S=__tsover_mul(w,6),T=X(f($(__tsover_sub(z(__tsover_sub(S,3)),1),0,1),$(__tsover_sub(2,z(__tsover_sub(S,2))),0,1),$(__tsover_sub(2,z(__tsover_sub(S,4))),0,1)).mul(1.3),g,f(De(.5,m))),A=__tsover_mul(__tsover_mul(__tsover_mul(d,c),n),i),P=X(t.xyz,T.mul(t.w),f(A));return x(P.x,P.y,P.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"},{type:"i",name:"bandY1"},{type:"i",name:"slowFrame"},{type:"i",name:"colorBarMix"},{type:"i",name:"strength"},{type:"i",name:"bandGate"},{type:"i",name:"blockGate"}],body:[0,[[13,"colX",[6,"std.floor",[[1,[7,"uv","x"],"*",[5,"4"]]]]],[13,"blockSeed",[1,[1,[1,"colX","*",[5,"0.41"]],"+",[1,"bandY1","*",[5,"0.67"]]],"+",[1,"slowFrame","*",[5,"2.31"]]]],[13,"fillStyleHash",[6,"hash11",[[1,"blockSeed","+",[5,"555"]]]]],[13,"barOffset",[6,"hash11",[[1,[1,"bandY1","+",[1,"slowFrame","*",[5,"3.33"]]],"+",[5,"333"]]]]],[13,"barX",[6,"std.fract",[[1,[1,[7,"uv","x"],"*",[5,"3"]],"+",[1,"barOffset","*",[5,"7"]]]]]],[13,"barIndex",[6,"std.floor",[[1,"barX","*",[5,"7"]]]]],[13,"barR",[1,[1,[5,"1"],"-",[6,"std.step",[[5,"2"],"barIndex"]]],"+",[1,[6,"std.step",[[5,"4"],"barIndex"]],"*",[1,[5,"1"],"-",[6,"std.step",[[5,"6"],"barIndex"]]]]]],[13,"barG",[1,[5,"1"],"-",[6,"std.step",[[5,"4"],"barIndex"]]]],[13,"barB",[1,[5,"1"],"-",[6,"std.step",[[5,"0.5"],[6,"std.fract",[[1,"barIndex","*",[5,"0.5"]]]]]]]],[13,"smpteColor",[6,"d.vec3f",["barR","barG","barB"]]],[13,"solidHue",[6,"std.fract",[[1,[1,[6,"hash11",[[1,"bandY1","+",[5,"13"]]]],"*",[5,"0.8"]],"+",[1,"slowFrame","*",[5,"0.07"]]]]]],[13,"sh6",[1,"solidHue","*",[5,"6"]]],[13,"solidColor",[6,[7,[6,"d.vec3f",[[6,"std.clamp",[[1,[6,"std.abs",[[1,"sh6","-",[5,"3"]]]],"-",[5,"1"]],[5,"0"],[5,"1"]]],[6,"std.clamp",[[1,[5,"2"],"-",[6,"std.abs",[[1,"sh6","-",[5,"2"]]]]],[5,"0"],[5,"1"]]],[6,"std.clamp",[[1,[5,"2"],"-",[6,"std.abs",[[1,"sh6","-",[5,"4"]]]]],[5,"0"],[5,"1"]]]]],"mul"],[[5,"1.3"]]]],[13,"fillColor",[6,"std.mix",["solidColor","smpteColor",[6,"d.vec3f",[[6,"std.step",[[5,"0.5"],"fillStyleHash"]]]]]]],[13,"colorBarStrength",[1,[1,[1,"bandGate","*","blockGate"],"*","colorBarMix"],"*","strength"]],[13,"withBars",[6,"std.mix",[[7,"color","xyz"],[6,[7,"fillColor","mul"],[[7,"color","w"]]],[6,"d.vec3f",["colorBarStrength"]]]]],[10,[6,"d.vec4f",[[7,"withBars","x"],[7,"withBars","y"],[7,"withBars","z"],[7,"color","w"]]]]]]},externals:{"std.floor":()=>q,hash11:()=>sr,"std.fract":()=>ue,"std.step":()=>De,"d.vec3f":()=>f,"std.clamp":()=>$,"std.abs":()=>z,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})),jF=v.fn([x,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(s,r),d=__tsover_add(__tsover_mul(Y(__tsover_mul(i,3.14159265)),.5),.5),c=__tsover_sub(1,__tsover_mul(__tsover_mul(__tsover_mul(o,d),.3),n)),_=t.xyz.mul(c);return x(_.x,_.y,_.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uvY"},{type:"i",name:"viewportY"},{type:"i",name:"scanlines"},{type:"i",name:"distortion"}],body:[0,[[13,"pixelY",[1,"uvY","*","viewportY"]],[13,"scanlineWave",[1,[1,[6,"std.sin",[[1,"pixelY","*",[5,"3.14159265"]]]],"*",[5,"0.5"]],"+",[5,"0.5"]]],[13,"scanlineEffect",[1,[5,"1"],"-",[1,[1,[1,"scanlines","*","scanlineWave"],"*",[5,"0.3"]],"*","distortion"]]],[13,"shaded",[6,[7,[7,"color","xyz"],"mul"],["scanlineEffect"]]],[10,[6,"d.vec4f",[[7,"shaded","x"],[7,"shaded","y"],[7,"shaded","z"],[7,"color","w"]]]]]]},externals:{"std.sin":()=>Y,"d.vec4f":()=>x}})&&e.f)({})),X3=2/Math.sqrt(3),$i=Math.sqrt(3)/2,KF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=bt(s),i=l(__tsover_mul(t.x,n),__tsover_sub(1,t.y)),d=__tsover_mul(o,Le);return Qi(i,n,H(d),Y(d)).mul(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotationDeg"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"correctedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[1,[5,"1"],"-",[7,"uv","y"]]]]],[13,"rotRad",[1,"rotationDeg","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[10,[6,[7,[6,"rotateAboutCanvasCentre",["correctedUV","aspect","cosR","sinR"]],"mul"],["cells"]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotateAboutCanvasCentre:()=>Qi}})&&e.f)({})),ZF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=bt(s),i=l(__tsover_mul(t.x,n),t.y),d=-__tsover_mul(o,Le);return Qi(i,n,H(d),Y(d)).mul(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotationDeg"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"correctedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"ang",[4,"-",[1,"rotationDeg","*","DEG_TO_RAD"]]],[13,"cosR",[6,"std.cos",["ang"]]],[13,"sinR",[6,"std.sin",["ang"]]],[10,[6,[7,[6,"rotateAboutCanvasCentre",["correctedUV","aspect","cosR","sinR"]],"mul"],["cells"]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotateAboutCanvasCentre:()=>Qi}})&&e.f)({})),QF=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=bt(s),i=l(__tsover_mul(t.x,n),t.y),d=__tsover_mul(o,Le);return Qi(i,n,H(d),Y(d)).mul(r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotationDeg"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"correctedUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"rotRad",[1,"rotationDeg","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[10,[6,[7,[6,"rotateAboutCanvasCentre",["correctedUV","aspect","cosR","sinR"]],"mul"],["cells"]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotateAboutCanvasCentre:()=>Qi}})&&e.f)({})),va=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return Fg(Bl(t),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellId"},{type:"i",name:"variation"}],body:[0,[[10,[6,"variationFactor",[[6,"cellHash",["cellId"]],"variation"]]]]]},externals:{variationFactor:()=>Fg,cellHash:()=>Bl}})&&e.f)({})),ru=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(o,.5);return Nl(t,s,b(__tsover_sub(s,n),0),__tsover_add(__tsover_add(s,r),n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"field"},{type:"i",name:"lineWidth"},{type:"i",name:"pixel"},{type:"i",name:"softness"}],body:[0,[[13,"soft",[1,"softness","*",[5,"0.5"]]],[13,"lo",[6,"std.max",[[1,"lineWidth","-","soft"],[5,"0"]]]],[13,"hi",[1,[1,"lineWidth","+","pixel"],"+","soft"]],[10,[6,"lineMaskFromField",["field","lineWidth","lo","hi"]]]]]},externals:{"std.max":()=>b,lineMaskFromField:()=>Nl}})&&e.f)({})),ou=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return Nl(t,s,__tsover_sub(s,r),__tsover_add(s,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"field"},{type:"i",name:"lineWidth"},{type:"i",name:"aaWidth"}],body:[0,[[10,[6,"lineMaskFromField",["field","lineWidth",[1,"lineWidth","-","aaWidth"],[1,"lineWidth","+","aaWidth"]]]]]]},externals:{lineMaskFromField:()=>Nl}})&&e.f)({})),JF=v.fn([l,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Il(t,s).mul(r);return Og(n,Bg(n,o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"softness"}],body:[0,[[13,"p",[6,[7,[6,"aspectCorrectedUVFlipY",["uv","viewport"]],"mul"],["cells"]]],[10,[6,"quilezCheckerFilter",["p",[6,"footprint2",["p","softness"]]]]]]]},externals:{aspectCorrectedUVFlipY:()=>Il,quilezCheckerFilter:()=>Og,footprint2:()=>Bg}})&&e.f)({})),H3=v.fn([l,l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(r,Le),c=bt(s),_=__tsover_add(Dl(ma(t,c),H(d),Y(d)),__tsover_mul(c,.5));return __tsover_add(__tsover_add(__tsover_mul(_,o),n),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"density"},{type:"i",name:"animTime"},{type:"i",name:"offset"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"rotatedCoord",[1,[6,"directionalProjection",[[6,"canvasCentredDelta",["uv","aspect"]],[6,"std.cos",["angleRad"]],[6,"std.sin",["angleRad"]]]],"+",[1,"aspect","*",[5,"0.5"]]]],[10,[1,[1,[1,"rotatedCoord","*","density"],"+","animTime"],"+","offset"]]]]},externals:{DEG_TO_RAD:()=>Le,aspectOf:()=>bt,directionalProjection:()=>Dl,canvasCentredDelta:()=>ma,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),eB=v.fn([l,l,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=H3(t,s,r,o,n,i);return Wg(_,Vl(_,c),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"density"},{type:"i",name:"animTime"},{type:"i",name:"offset"},{type:"i",name:"balance"},{type:"i",name:"softness"}],body:[0,[[13,"p",[6,"stripeCoordP",["uv","viewport","angle","density","animTime","offset"]]],[10,[6,"quilezStepFilter",["p",[6,"footprint1",["p","softness"]],"balance"]]]]]},externals:{stripeCoordP:()=>H3,quilezStepFilter:()=>Wg,footprint1:()=>Vl}})&&e.f)({})),tB=v.fn([l,l,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_mul(o,Le),u=H(_),m=Y(_),p=Eo(ma(t,bt(s)),u,-m),y=__tsover_mul(z(__tsover_sub(ue(__tsover_mul(p.y,r)),.5)),2),h=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(p.x,r),__tsover_mul(y,.5)),c),d),g=ue(h),w=Zt(h);return re(__tsover_sub(__tsover_sub(n,i),w),__tsover_add(__tsover_add(n,i),w),g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"count"},{type:"i",name:"angle"},{type:"i",name:"balance"},{type:"i",name:"softness"},{type:"i",name:"offset"},{type:"i",name:"animTime"}],body:[0,[[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"rot",[6,"rotate2",[[6,"canvasCentredDelta",["uv",[6,"aspectOf",["viewport"]]]],"cosA",[4,"-","sinA"]]]],[13,"zigzag",[1,[6,"std.abs",[[1,[6,"std.fract",[[1,[7,"rot","y"],"*","count"]]],"-",[5,"0.5"]]]],"*",[5,"2"]]],[13,"stripeCoord",[1,[1,[1,[1,[7,"rot","x"],"*","count"],"+",[1,"zigzag","*",[5,"0.5"]]],"+","animTime"],"+","offset"]],[13,"pattern",[6,"std.fract",["stripeCoord"]]],[13,"fw",[6,"std.fwidth",["stripeCoord"]]],[10,[6,"std.smoothstep",[[1,[1,"balance","-","softness"],"-","fw"],[1,[1,"balance","+","softness"],"+","fw"],"pattern"]]]]]},externals:{DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotate2:()=>Eo,canvasCentredDelta:()=>ma,aspectOf:()=>bt,"std.abs":()=>z,"std.fract":()=>ue,"std.fwidth":()=>Zt,"std.smoothstep":()=>re}})&&e.f)({})),sB=v.fn([l,a,a,a,a,a,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_div(c.x,c.y),u=j(l(__tsover_sub(__tsover_mul(d.x,_),__tsover_mul(t.x,_)),__tsover_sub(d.y,__tsover_sub(1,t.y)))),m=Y(__tsover_add(__tsover_sub(__tsover_mul(u,s),i),n)),p=__tsover_sub(__tsover_mul(o,2),1),y=re(__tsover_sub(p,r),__tsover_add(p,r),m);return __tsover_sub(1,y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"frequency"},{type:"i",name:"softness"},{type:"i",name:"thickness"},{type:"i",name:"phase"},{type:"i",name:"animTime"},{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"dx",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,[7,"center","x"],"*","aspect"]]],[13,"dy",[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]],[13,"dist",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[13,"waveInput",[1,[1,[1,"dist","*","frequency"],"-","animTime"],"+","phase"]],[13,"baseWave",[6,"std.sin",["waveInput"]]],[13,"thicknessThreshold",[1,[1,"thickness","*",[5,"2"]],"-",[5,"1"]]],[13,"banded",[6,"std.smoothstep",[[1,"thicknessThreshold","-","softness"],[1,"thicknessThreshold","+","softness"],"baseWave"]]],[10,[1,[5,"1"],"-","banded"]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.sin":()=>Y,"std.smoothstep":()=>re}})&&e.f)({})),j3=v.fn([a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return l(ue(__tsover_mul(Y(__tsover_mul(t,127.1)),43758.5453123)),ue(__tsover_mul(Y(__tsover_mul(t,311.7)),38291.3421)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"idx"}],body:[0,[[10,[6,"d.vec2f",[[6,"std.fract",[[1,[6,"std.sin",[[1,"idx","*",[5,"127.1"]]]],"*",[5,"43758.5453123"]]]],[6,"std.fract",[[1,[6,"std.sin",[[1,"idx","*",[5,"311.7"]]]],"*",[5,"38291.3421"]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),K3=v.fn([a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_mul(o,n),_=__tsover_mul(b(__tsover_sub(t,s),0),r),u=$(__tsover_div(_,b(c,1e-4)),0,1),m=__tsover_mul(o,be(b(__tsover_sub(1,__tsover_mul(u,u)),0)));return __tsover_mul(__tsover_sub(1,re(b(__tsover_sub(m,i),0),b(__tsover_add(m,i),.001),d)),re(0,i,m))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"vPeriodic"},{type:"i",name:"trailLen"},{type:"i",name:"density"},{type:"i",name:"hw"},{type:"i",name:"rounding"},{type:"i",name:"fwU"},{type:"i",name:"distFromCenter"}],body:[0,[[13,"maxDepth",[1,"hw","*","rounding"]],[13,"gapDist",[1,[6,"std.max",[[1,"vPeriodic","-","trailLen"],[5,"0"]]],"*","density"]],[13,"tcap",[6,"std.clamp",[[1,"gapDist","/",[6,"std.max",["maxDepth",[5,"0.0001"]]]],[5,"0"],[5,"1"]]]],[13,"capHW",[1,"hw","*",[6,"std.sqrt",[[6,"std.max",[[1,[5,"1"],"-",[1,"tcap","*","tcap"]],[5,"0"]]]]]]],[10,[1,[1,[5,"1"],"-",[6,"std.smoothstep",[[6,"std.max",[[1,"capHW","-","fwU"],[5,"0"]]],[6,"std.max",[[1,"capHW","+","fwU"],[5,"0.001"]]],"distFromCenter"]]],"*",[6,"std.smoothstep",[[5,"0"],"fwU","capHW"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.sqrt":()=>be,"std.smoothstep":()=>re}})&&e.f)({})),Z3=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_sub(__tsover_mul(2,s),1),o=b(__tsover_mul(2,__tsover_sub(1,s)),.001);return $(__tsover_div(__tsover_add(t,r),o),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"withinStreak"},{type:"i",name:"balance"}],body:[0,[[13,"balanceNum",[1,[1,[5,"2"],"*","balance"],"-",[5,"1"]]],[13,"balanceDen",[6,"std.max",[[1,[5,"2"],"*",[1,[5,"1"],"-","balance"]],[5,"0.001"]]]],[10,[6,"std.clamp",[[1,[1,"withinStreak","+","balanceNum"],"/","balanceDen"],[5,"0"],[5,"1"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$}})&&e.f)({})),rB=v.fn([l,l,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=bt(s),p=l(__tsover_mul(t.x,m),t.y).sub(l(__tsover_mul(m,.5),.5)),y=__tsover_mul(r,Le),h=H(y),g=Y(y),w=__tsover_sub(__tsover_mul(p.y,h),__tsover_mul(p.x,g)),S=__tsover_add(__tsover_mul(p.x,h),__tsover_mul(p.y,g)),T=__tsover_mul(w,o),A=q(T),P=ue(T),U=j3(A),D=__tsover_add(1,__tsover_mul(__tsover_mul(__tsover_sub(U.x,.5),n),2)),O=U.y,L=ue(__tsover_mul(u,D)),G=ue(__tsover_sub(__tsover_sub(S,L),O)),W=i,K=$(__tsover_div(G,W),0,1),Q=$(Zt(S),.001,.1),te=$(__tsover_mul(Zt(w),o),.001,.1),ee=__tsover_sub(1,re(__tsover_sub(W,Q),__tsover_add(W,Q),G)),he=__tsover_mul(d,.5),Ee=z(__tsover_sub(P,.5)),Te=__tsover_sub(1,re(__tsover_sub(he,te),__tsover_add(he,te),Ee));return l(b(__tsover_mul(ee,Te),K3(G,W,o,he,c,te,Ee)),Z3(K,_))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"vp"},{type:"i",name:"angle"},{type:"i",name:"density"},{type:"i",name:"speedVariance"},{type:"i",name:"trailLength"},{type:"i",name:"strokeWidth"},{type:"i",name:"rounding"},{type:"i",name:"balance"},{type:"i",name:"animTime"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["vp"]]],[13,"corrUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centeredUV",[6,[7,"corrUV","sub"],[[6,"d.vec2f",[[1,"aspect","*",[5,"0.5"]],[5,"0.5"]]]]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"u",[1,[1,[7,"centeredUV","y"],"*","cosA"],"-",[1,[7,"centeredUV","x"],"*","sinA"]]],[13,"v",[1,[1,[7,"centeredUV","x"],"*","cosA"],"+",[1,[7,"centeredUV","y"],"*","sinA"]]],[13,"colF",[1,"u","*","density"]],[13,"colIdx",[6,"std.floor",["colF"]]],[13,"colLocalU",[6,"std.fract",["colF"]]],[13,"h",[6,"colHash",["colIdx"]]],[13,"speedMod",[1,[5,"1"],"+",[1,[1,[1,[7,"h","x"],"-",[5,"0.5"]],"*","speedVariance"],"*",[5,"2"]]]],[13,"phase",[7,"h","y"]],[13,"animOffset",[6,"std.fract",[[1,"animTime","*","speedMod"]]]],[13,"vPeriodic",[6,"std.fract",[[1,[1,"v","-","animOffset"],"-","phase"]]]],[13,"trailLen","trailLength"],[13,"withinStreak",[6,"std.clamp",[[1,"vPeriodic","/","trailLen"],[5,"0"],[5,"1"]]]],[13,"fwV",[6,"std.clamp",[[6,"std.fwidth",["v"]],[5,"0.001"],[5,"0.1"]]]],[13,"fwU",[6,"std.clamp",[[1,[6,"std.fwidth",["u"]],"*","density"],[5,"0.001"],[5,"0.1"]]]],[13,"streakMask",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"trailLen","-","fwV"],[1,"trailLen","+","fwV"],"vPeriodic"]]]],[13,"hw",[1,"strokeWidth","*",[5,"0.5"]]],[13,"distFromCenter",[6,"std.abs",[[1,"colLocalU","-",[5,"0.5"]]]]],[13,"widthMask",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"hw","-","fwU"],[1,"hw","+","fwU"],"distFromCenter"]]]],[13,"rectMask",[1,"streakMask","*","widthMask"]],[13,"capAlpha",[6,"fallingCapAlpha",["vPeriodic","trailLen","density","hw","rounding","fwU","distFromCenter"]]],[13,"finalMask",[6,"std.max",["rectMask","capAlpha"]]],[10,[6,"d.vec2f",["finalMask",[6,"fallingBalanceRemap",["withinStreak","balance"]]]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.floor":()=>q,"std.fract":()=>ue,colHash:()=>j3,"std.clamp":()=>$,"std.fwidth":()=>Zt,"std.smoothstep":()=>re,"std.abs":()=>z,fallingCapAlpha:()=>K3,"std.max":()=>b,fallingBalanceRemap:()=>Z3}})&&e.f)({})),oB=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return Dg(t,s,r,__tsover_mul(o,Le))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cells"},{type:"i",name:"rotation"}],body:[0,[[10,[6,"cellCentreUVRotated",["uv","viewport","cells",[1,"rotation","*","DEG_TO_RAD"]]]]]]},externals:{cellCentreUVRotated:()=>Dg,DEG_TO_RAD:()=>Le}})&&e.f)({})),nB=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,.01),i=b(n,1e-4),d=__tsover_mul(i,2),c=__tsover_div(1,d),_=t.add(i),u=Ni(_),m=qi(_),p=__tsover_add(b(b(z(u.x),z(m.x)),1e-5),r),y=__tsover_add(b(b(z(u.y),z(m.y)),1e-5),r),h=bm(_.x,p,c),g=bm(_.y,y,c),w=__tsover_mul(__tsover_sub(1,h),__tsover_sub(1,g));return l(__tsover_mul(__tsover_sub(1,w),De(1e-4,n)),va(q(t),o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"gridUV"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"variation"}],body:[0,[[13,"lineWidth",[1,"thickness","*",[5,"0.01"]]],[13,"safeLine",[6,"std.max",["lineWidth",[5,"0.0001"]]]],[13,"lineFraction",[1,"safeLine","*",[5,"2"]]],[13,"N",[1,[5,"1"],"/","lineFraction"]],[13,"p",[6,[7,"gridUV","add"],["safeLine"]]],[13,"dpx",[6,"std.dpdx",["p"]]],[13,"dpy",[6,"std.dpdy",["p"]]],[13,"wx",[1,[6,"std.max",[[6,"std.max",[[6,"std.abs",[[7,"dpx","x"]]],[6,"std.abs",[[7,"dpy","x"]]]]],[5,"0.00001"]]],"+","softness"]],[13,"wy",[1,[6,"std.max",[[6,"std.max",[[6,"std.abs",[[7,"dpx","y"]]],[6,"std.abs",[[7,"dpy","y"]]]]],[5,"0.00001"]]],"+","softness"]],[13,"iX",[6,"quilezLineFilterAxis",[[7,"p","x"],"wx","N"]]],[13,"iY",[6,"quilezLineFilterAxis",[[7,"p","y"],"wy","N"]]],[13,"gapBoth",[1,[1,[5,"1"],"-","iX"],"*",[1,[5,"1"],"-","iY"]]],[13,"gridMask",[1,[1,[5,"1"],"-","gapBoth"],"*",[6,"std.step",[[5,"0.0001"],"lineWidth"]]]],[13,"variedFactor",[6,"cellVariation",[[6,"std.floor",["gridUV"]],"variation"]]],[10,[6,"d.vec2f",["gridMask","variedFactor"]]]]]},externals:{"std.max":()=>b,"std.dpdx":()=>Ni,"std.dpdy":()=>qi,"std.abs":()=>z,quilezLineFilterAxis:()=>bm,"std.step":()=>De,cellVariation:()=>va,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),aB=v.fn([l,l,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=Il(t,s),m=u.mul(r),p=q(m.y),y=Ol(Wl(p),i),h=__tsover_mul(c,y),g=__tsover_mul(n,Zi(p,2)),w=Ji(l(__tsover_sub(__tsover_sub(m.x,g),h),m.y)),S=j(w.local.sub(.5)),T=j(Zt(u.mul(r))),A=Vg(S,__tsover_mul(o,.5),T),P=ue(__tsover_mul(Y(__tsover_add(__tsover_mul(w.cell.x,12.9898),__tsover_mul(w.cell.y,78.233))),43758.5453)),U=__tsover_add(__tsover_mul(_,2),__tsover_mul(P,it)),D=X(1,__tsover_add(__tsover_mul(Y(U),.5),.5),d);return __tsover_mul(A,D)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"density"},{type:"i",name:"dotSize"},{type:"i",name:"offset"},{type:"i",name:"speedVariance"},{type:"i",name:"twinkle"},{type:"i",name:"animTime"},{type:"i",name:"time"}],body:[0,[[13,"correctedUV",[6,"aspectCorrectedUVFlipY",["uv","viewport"]]],[13,"gridUV",[6,[7,"correctedUV","mul"],["density"]]],[13,"rowIndex",[6,"std.floor",[[7,"gridUV","y"]]]],[13,"speedMod",[6,"rowSpeedMultiplier",[[6,"rowSpeedHash",["rowIndex"]],"speedVariance"]]],[13,"drift",[1,"animTime","*","speedMod"]],[13,"staticStagger",[1,"offset","*",[6,"flooredMod1",["rowIndex",[5,"2"]]]]],[13,"shiftedGrid",[6,"d.vec2f",[[1,[1,[7,"gridUV","x"],"-","staticStagger"],"-","drift"],[7,"gridUV","y"]]]],[13,"tile",[6,"squareTiling",["shiftedGrid"]]],[13,"centerDistance",[6,"std.length",[[6,[7,[7,"tile","local"],"sub"],[[5,"0.5"]]]]]],[13,"pixelSize",[6,"std.length",[[6,"std.fwidth",[[6,[7,"correctedUV","mul"],["density"]]]]]]],[13,"coverage",[6,"discCoverage",["centerDistance",[1,"dotSize","*",[5,"0.5"]],"pixelSize"]]],[13,"dotPhase",[6,"std.fract",[[1,[6,"std.sin",[[1,[1,[7,[7,"tile","cell"],"x"],"*",[5,"12.9898"]],"+",[1,[7,[7,"tile","cell"],"y"],"*",[5,"78.233"]]]]],"*",[5,"43758.5453"]]]]],[13,"twinkleTime",[1,[1,"time","*",[5,"2"]],"+",[1,"dotPhase","*","TAU"]]],[13,"twinkleValue",[1,[1,[6,"std.sin",["twinkleTime"]],"*",[5,"0.5"]],"+",[5,"0.5"]]],[13,"twinkleModifier",[6,"std.mix",[[5,"1"],"twinkleValue","twinkle"]]],[10,[1,"coverage","*","twinkleModifier"]]]]},externals:{aspectCorrectedUVFlipY:()=>Il,"std.floor":()=>q,rowSpeedMultiplier:()=>Ol,rowSpeedHash:()=>Wl,flooredMod1:()=>Zi,"d.vec2f":()=>l,squareTiling:()=>Ji,"std.length":()=>j,"std.fwidth":()=>Zt,discCoverage:()=>Vg,"std.fract":()=>ue,"std.sin":()=>Y,TAU:()=>it,"std.mix":()=>X}})&&e.f)({})),iB=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Fl(t,l(_a,1)),i=va(l(sa(__tsover_mul(n.id.x,X3)),sa(__tsover_mul(n.id.y,2))),o),d=l(z(n.gv.x),z(n.gv.y)),c=b(se(d,l($i,.5)),d.y);return l(ru(__tsover_sub(.5,c),__tsover_mul(s,.01),__tsover_mul(Zt(t.x),.5),r),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"variation"}],body:[0,[[13,"hex",[6,"hexTiling",["scaledUV",[6,"d.vec2f",["SQRT3",[5,"1"]]]]]],[13,"ix",[6,"std.round",[[1,[7,[7,"hex","id"],"x"],"*","INV_SQRT3_2"]]]],[13,"iy",[6,"std.round",[[1,[7,[7,"hex","id"],"y"],"*",[5,"2"]]]]],[13,"variedFactor",[6,"cellVariation",[[6,"d.vec2f",["ix","iy"]],"variation"]]],[13,"pAbs",[6,"d.vec2f",[[6,"std.abs",[[7,[7,"hex","gv"],"x"]]],[6,"std.abs",[[7,[7,"hex","gv"],"y"]]]]]],[13,"hexDist",[6,"std.max",[[6,"std.dot",["pAbs",[6,"d.vec2f",["SQRT3_2",[5,"0.5"]]]]],[7,"pAbs","y"]]]],[13,"edgeDist",[1,[5,"0.5"],"-","hexDist"]],[13,"lineWidth",[1,"thickness","*",[5,"0.01"]]],[13,"pixel",[1,[6,"std.fwidth",[[7,"scaledUV","x"]]],"*",[5,"0.5"]]],[13,"lineMask",[6,"strokeBandFloored",["edgeDist","lineWidth","pixel","softness"]]],[10,[6,"d.vec2f",["lineMask","variedFactor"]]]]]},externals:{hexTiling:()=>Fl,"d.vec2f":()=>l,SQRT3:()=>_a,"std.round":()=>sa,INV_SQRT3_2:()=>X3,cellVariation:()=>va,"std.abs":()=>z,"std.max":()=>b,"std.dot":()=>se,SQRT3_2:()=>$i,"std.fwidth":()=>Zt,strokeBandFloored:()=>ru}})&&e.f)({})),dB=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ig(t),c=Ol(Wl(q(d.y)),n),_=__tsover_mul(i,c),u=l(__tsover_sub(d.x,_),d.y),m=q(u),p=ue(u),y=De(1,__tsover_add(p.x,p.y)),h=va(l(__tsover_add(__tsover_mul(m.x,2),y),m.y),o);return l(ou(oe(oe(oe(p.x,__tsover_sub(1,p.x)),oe(p.y,__tsover_sub(1,p.y))),z(__tsover_sub(__tsover_add(p.x,p.y),1))),__tsover_mul(s,.02),__tsover_add(b(Zt(d.x),Zt(d.y)),__tsover_mul(r,.5))),h)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"variation"},{type:"i",name:"speedVariance"},{type:"i",name:"animTime"}],body:[0,[[13,"ps",[6,"triLattice",["p"]]],[13,"rowIndex",[6,"std.floor",[[7,"ps","y"]]]],[13,"speedMod",[6,"rowSpeedMultiplier",[[6,"rowSpeedHash",["rowIndex"]],"speedVariance"]]],[13,"drift",[1,"animTime","*","speedMod"]],[13,"psShifted",[6,"d.vec2f",[[1,[7,"ps","x"],"-","drift"],[7,"ps","y"]]]],[13,"cell",[6,"std.floor",["psShifted"]]],[13,"f",[6,"std.fract",["psShifted"]]],[13,"upper",[6,"std.step",[[5,"1"],[1,[7,"f","x"],"+",[7,"f","y"]]]]],[13,"triId",[6,"d.vec2f",[[1,[1,[7,"cell","x"],"*",[5,"2"]],"+","upper"],[7,"cell","y"]]]],[13,"variedFactor",[6,"cellVariation",["triId","variation"]]],[13,"dEdge",[6,"std.min",[[6,"std.min",[[6,"std.min",[[7,"f","x"],[1,[5,"1"],"-",[7,"f","x"]]]],[6,"std.min",[[7,"f","y"],[1,[5,"1"],"-",[7,"f","y"]]]]]],[6,"std.abs",[[1,[1,[7,"f","x"],"+",[7,"f","y"]],"-",[5,"1"]]]]]]],[13,"lineWidth",[1,"thickness","*",[5,"0.02"]]],[13,"aaWidth",[1,[6,"std.max",[[6,"std.fwidth",[[7,"ps","x"]]],[6,"std.fwidth",[[7,"ps","y"]]]]],"+",[1,"softness","*",[5,"0.5"]]]],[13,"lineMask",[6,"strokeBandSymmetric",["dEdge","lineWidth","aaWidth"]]],[10,[6,"d.vec2f",["lineMask","variedFactor"]]]]]},externals:{triLattice:()=>Ig,"std.floor":()=>q,rowSpeedMultiplier:()=>Ol,rowSpeedHash:()=>Wl,"d.vec2f":()=>l,"std.fract":()=>ue,"std.step":()=>De,cellVariation:()=>va,"std.min":()=>oe,"std.abs":()=>z,"std.max":()=>b,"std.fwidth":()=>Zt,strokeBandSymmetric:()=>ou}})&&e.f)({})),Q3=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=ma(t,o),i=__tsover_mul(r,Le),d=Eo(n,H(i),-Y(i));return l(__tsover_add(__tsover_div(d.x,o),.5),__tsover_add(d.y,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"rotation"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"centred",[6,"canvasCentredDelta",["uv","aspect"]]],[13,"rotRad",[1,"rotation","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rot",[6,"rotate2",["centred","cosR",[4,"-","sinR"]]]],[10,[6,"d.vec2f",[[1,[1,[7,"rot","x"],"/","aspect"],"+",[5,"0.5"]],[1,[7,"rot","y"],"+",[5,"0.5"]]]]]]]},externals:{aspectOf:()=>bt,canvasCentredDelta:()=>ma,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,rotate2:()=>Eo,"d.vec2f":()=>l}})&&e.f)({})),J3=v.fn([a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Zi(t,2);return l(__tsover_mul(o,.5),X(__tsover_sub(__tsover_mul(o,2),1),__tsover_mul(__tsover_sub(ue(__tsover_mul(Y(__tsover_add(t,__tsover_mul(s,.137))),43758.5453)),.5),2),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"row"},{type:"i",name:"seed"},{type:"i",name:"speedVariance"}],body:[0,[[13,"rowMod2",[6,"flooredMod1",["row",[5,"2"]]]],[13,"rowOffset",[1,"rowMod2","*",[5,"0.5"]]],[13,"rowDir",[1,[1,"rowMod2","*",[5,"2"]],"-",[5,"1"]]],[13,"rowHash",[1,[1,[6,"std.fract",[[1,[6,"std.sin",[[1,"row","+",[1,"seed","*",[5,"0.137"]]]]],"*",[5,"43758.5453"]]]],"-",[5,"0.5"]],"*",[5,"2"]]],[10,[6,"d.vec2f",["rowOffset",[6,"std.mix",["rowDir","rowHash","speedVariance"]]]]]]]},externals:{flooredMod1:()=>Zi,"std.fract":()=>ue,"std.sin":()=>Y,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),eb=v.fn([l,l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Ri(t.x,__tsover_sub(s.x,r.x),__tsover_add(s.x,r.x)),n=Ri(t.y,__tsover_sub(s.y,r.y),__tsover_add(s.y,r.y));return __tsover_mul(o,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellUV"},{type:"i",name:"mortarUV"},{type:"i",name:"aaUV"}],body:[0,[[13,"brickU",[6,"bandMask",[[7,"cellUV","x"],[1,[7,"mortarUV","x"],"-",[7,"aaUV","x"]],[1,[7,"mortarUV","x"],"+",[7,"aaUV","x"]]]]],[13,"brickV",[6,"bandMask",[[7,"cellUV","y"],[1,[7,"mortarUV","y"],"-",[7,"aaUV","y"]],[1,[7,"mortarUV","y"],"+",[7,"aaUV","y"]]]]],[10,[1,"brickU","*","brickV"]]]]},externals:{bandMask:()=>Ri}})&&e.f)({})),cB=v.fn([l,l,a,a,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p)=>{"use gpu";let y=bt(s),h=Q3(t,s,c),g=h.x,w=h.y,S=__tsover_mul(n,.3),T=__tsover_div(__tsover_mul(__tsover_mul(S,y),o),r),A=q(__tsover_mul(w,o)),P=J3(A,m,u),U=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(g,r),P.x),__tsover_mul(p,P.y)),_),D=__tsover_mul(w,o),O=ue(U),L=ue(D),G=__tsover_mul(i,.5),W=__tsover_add(Zt(U),G),K=__tsover_add(Zt(D),G);return l(eb(l(O,L),l(S,T),l(W,K)),va(l(q(U),A),d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cellsX"},{type:"i",name:"cellsY"},{type:"i",name:"mortar"},{type:"i",name:"softness"},{type:"i",name:"variation"},{type:"i",name:"rotation"},{type:"i",name:"offset"},{type:"i",name:"speedVariance"},{type:"i",name:"seed"},{type:"i",name:"animTime"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"frame",[6,"brickFrame",["uv","viewport","rotation"]]],[13,"u",[7,"frame","x"]],[13,"v",[7,"frame","y"]],[13,"mortarU",[1,"mortar","*",[5,"0.3"]]],[13,"mortarV",[1,[1,[1,"mortarU","*","aspect"],"*","cellsY"],"/","cellsX"]],[13,"row",[6,"std.floor",[[1,"v","*","cellsY"]]]],[13,"stagger",[6,"brickRowStagger",["row","seed","speedVariance"]]],[13,"brickArg",[1,[1,[1,[1,"u","*","cellsX"],"+",[7,"stagger","x"]],"+",[1,"animTime","*",[7,"stagger","y"]]],"+","offset"]],[13,"vScaled",[1,"v","*","cellsY"]],[13,"cellU",[6,"std.fract",["brickArg"]]],[13,"cellV",[6,"std.fract",["vScaled"]]],[13,"soft",[1,"softness","*",[5,"0.5"]]],[13,"aaU",[1,[6,"std.fwidth",["brickArg"]],"+","soft"]],[13,"aaV",[1,[6,"std.fwidth",["vScaled"]],"+","soft"]],[13,"brickMask",[6,"brickMortarMask",[[6,"d.vec2f",["cellU","cellV"]],[6,"d.vec2f",["mortarU","mortarV"]],[6,"d.vec2f",["aaU","aaV"]]]]],[13,"brickId",[6,"d.vec2f",[[6,"std.floor",["brickArg"]],"row"]]],[13,"variedFactor",[6,"cellVariation",["brickId","variation"]]],[10,[6,"d.vec2f",["brickMask","variedFactor"]]]]]},externals:{aspectOf:()=>bt,brickFrame:()=>Q3,"std.floor":()=>q,brickRowStagger:()=>J3,"std.fract":()=>ue,"std.fwidth":()=>Zt,brickMortarMask:()=>eb,"d.vec2f":()=>l,cellVariation:()=>va}})&&e.f)({})),tb=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=se(t,l(127.1,311.7));return ue(__tsover_mul(Y(s),43758.5453))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"h",[6,"std.dot",["p",[6,"d.vec2f",[[5,"127.1"],[5,"311.7"]]]]]],[10,[6,"std.fract",[[1,[6,"std.sin",["h"]],"*",[5,"43758.5453"]]]]]]]},externals:{"std.dot":()=>se,"d.vec2f":()=>l,"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),_B=v.fn([l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Ji(t),i=tb(l(__tsover_add(n.cell.x,o),__tsover_add(n.cell.y,o)))>.5,d=C(a(0),a(1),i),c=C(a(1),a(0),i);return ru(oe(z(__tsover_sub(j(l(__tsover_sub(n.local.x,d),n.local.y)),.5)),z(__tsover_sub(j(l(__tsover_sub(n.local.x,c),__tsover_sub(n.local.y,1))),.5))),__tsover_mul(s,.005),__tsover_mul(Zt(t.x),.5),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"seed"}],body:[0,[[13,"tile",[6,"squareTiling",["scaledUV"]]],[13,"h",[6,"truchetHash",[[6,"d.vec2f",[[1,[7,[7,"tile","cell"],"x"],"+","seed"],[1,[7,[7,"tile","cell"],"y"],"+","seed"]]]]]],[13,"flip",[1,"h",">",[5,"0.5"]]],[13,"c1x",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],"flip"]]],[13,"c2x",[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"d.f32",[[5,"0"]]],"flip"]]],[13,"d1",[6,"std.abs",[[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,[7,"tile","local"],"x"],"-","c1x"],[7,[7,"tile","local"],"y"]]]]],"-",[5,"0.5"]]]]],[13,"d2",[6,"std.abs",[[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,[7,"tile","local"],"x"],"-","c2x"],[1,[7,[7,"tile","local"],"y"],"-",[5,"1"]]]]]],"-",[5,"0.5"]]]]],[13,"arcDist",[6,"std.min",["d1","d2"]]],[13,"lineWidth",[1,"thickness","*",[5,"0.005"]]],[13,"pixel",[1,[6,"std.fwidth",[[7,"scaledUV","x"]]],"*",[5,"0.5"]]],[10,[6,"strokeBandFloored",["arcDist","lineWidth","pixel","softness"]]]]]},externals:{squareTiling:()=>Ji,truchetHash:()=>tb,"d.vec2f":()=>l,"std.select":()=>C,"d.f32":()=>a,"std.abs":()=>z,"std.length":()=>j,"std.min":()=>oe,"std.fwidth":()=>Zt,strokeBandFloored:()=>ru}})&&e.f)({})),lB=v.fn([l,a,x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=Ji(t),i=__tsover_mul(Zt(t.x),.5),d=Ri(n.local.y,s,__tsover_add(s,i)),c=Ri(n.local.x,s,__tsover_add(s,i)),_=Zi(__tsover_add(n.cell.x,n.cell.y),2),u=__tsover_mul(d,c),m=$(__tsover_sub(d,__tsover_mul(u,_)),0,1),p=$(__tsover_sub(c,__tsover_mul(u,__tsover_sub(1,_))),0,1),y=__tsover_mul(r.w,m),h=__tsover_mul(o.w,p),g=$(__tsover_add(y,h),0,1),w=b(__tsover_add(y,h),.001);return x(__tsover_div(__tsover_add(__tsover_mul(r.x,y),__tsover_mul(o.x,h)),w),__tsover_div(__tsover_add(__tsover_mul(r.y,y),__tsover_mul(o.y,h)),w),__tsover_div(__tsover_add(__tsover_mul(r.z,y),__tsover_mul(o.z,h)),w),g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"gap"},{type:"i",name:"colorA"},{type:"i",name:"colorB"}],body:[0,[[13,"tile",[6,"squareTiling",["scaledUV"]]],[13,"pixel",[1,[6,"std.fwidth",[[7,"scaledUV","x"]]],"*",[5,"0.5"]]],[13,"hBand",[6,"bandMask",[[7,[7,"tile","local"],"y"],"gap",[1,"gap","+","pixel"]]]],[13,"vBand",[6,"bandMask",[[7,[7,"tile","local"],"x"],"gap",[1,"gap","+","pixel"]]]],[13,"isHTopFloat",[6,"flooredMod1",[[1,[7,[7,"tile","cell"],"x"],"+",[7,[7,"tile","cell"],"y"]],[5,"2"]]]],[13,"intersection",[1,"hBand","*","vBand"]],[13,"hVis",[6,"std.clamp",[[1,"hBand","-",[1,"intersection","*","isHTopFloat"]],[5,"0"],[5,"1"]]]],[13,"vVis",[6,"std.clamp",[[1,"vBand","-",[1,"intersection","*",[1,[5,"1"],"-","isHTopFloat"]]],[5,"0"],[5,"1"]]]],[13,"weightA",[1,[7,"colorA","w"],"*","hVis"]],[13,"weightB",[1,[7,"colorB","w"],"*","vVis"]],[13,"totalAlpha",[6,"std.clamp",[[1,"weightA","+","weightB"],[5,"0"],[5,"1"]]]],[13,"safeWeight",[6,"std.max",[[1,"weightA","+","weightB"],[5,"0.001"]]]],[13,"r",[1,[1,[1,[7,"colorA","x"],"*","weightA"],"+",[1,[7,"colorB","x"],"*","weightB"]],"/","safeWeight"]],[13,"g",[1,[1,[1,[7,"colorA","y"],"*","weightA"],"+",[1,[7,"colorB","y"],"*","weightB"]],"/","safeWeight"]],[13,"b",[1,[1,[1,[7,"colorA","z"],"*","weightA"],"+",[1,[7,"colorB","z"],"*","weightB"]],"/","safeWeight"]],[10,[6,"d.vec4f",["r","g","b","totalAlpha"]]]]]},externals:{squareTiling:()=>Ji,"std.fwidth":()=>Zt,bandMask:()=>Ri,flooredMod1:()=>Zi,"std.clamp":()=>$,"std.max":()=>b,"d.vec4f":()=>x}})&&e.f)({})),sb=2/Math.sqrt(3),uB=v.fn([l,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Fl(t,l(1,_a)),n=se(o.gv,l(0,1)),i=se(o.gv,l(-$i,-.5)),d=se(o.gv,l($i,-.5)),c=n>=b(i,d),_=C(C(.74,.5,i>=d),1,c),u=Bl(l(sa(__tsover_mul(o.id.x,2)),sa(__tsover_mul(o.id.y,sb)))),m=b(n,b(i,d)),p=oe(n,oe(i,d)),y=__tsover_sub(__tsover_sub(__tsover_add(__tsover_add(n,i),d),m),p),h=__tsover_sub(m,y),g=l(z(o.gv.x),z(o.gv.y)),w=b(se(g,l(.5,$i)),g.x);return f(u,_,ou(oe(h,__tsover_sub(.5,w)),__tsover_mul(s,.02),__tsover_add(__tsover_mul(Zt(t.x),.5),__tsover_mul(r,.5))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"scaledUV"},{type:"i",name:"thickness"},{type:"i",name:"softness"}],body:[0,[[13,"hex",[6,"hexTiling",["scaledUV",[6,"d.vec2f",[[5,"1"],"SQRT3"]]]]],[13,"s0",[6,"std.dot",[[7,"hex","gv"],[6,"d.vec2f",[[5,"0"],[5,"1"]]]]]],[13,"s1",[6,"std.dot",[[7,"hex","gv"],[6,"d.vec2f",[[4,"-","SQRT3_2"],[4,"-",[5,"0.5"]]]]]]],[13,"s2",[6,"std.dot",[[7,"hex","gv"],[6,"d.vec2f",["SQRT3_2",[4,"-",[5,"0.5"]]]]]]],[13,"isTop",[1,"s0",">=",[6,"std.max",["s1","s2"]]]],[13,"isLeft",[1,"s1",">=","s2"]],[13,"tone",[6,"std.select",[[6,"std.select",[[5,"0.74"],[5,"0.5"],"isLeft"]],[5,"1"],"isTop"]]],[13,"ix",[6,"std.round",[[1,[7,[7,"hex","id"],"x"],"*",[5,"2"]]]]],[13,"iy",[6,"std.round",[[1,[7,[7,"hex","id"],"y"],"*","INV_2_SQRT3"]]]],[13,"rand",[6,"cellHash",[[6,"d.vec2f",["ix","iy"]]]]],[13,"mx",[6,"std.max",["s0",[6,"std.max",["s1","s2"]]]]],[13,"mn",[6,"std.min",["s0",[6,"std.min",["s1","s2"]]]]],[13,"midScore",[1,[1,[1,[1,"s0","+","s1"],"+","s2"],"-","mx"],"-","mn"]],[13,"internal",[1,"mx","-","midScore"]],[13,"pAbs",[6,"d.vec2f",[[6,"std.abs",[[7,[7,"hex","gv"],"x"]]],[6,"std.abs",[[7,[7,"hex","gv"],"y"]]]]]],[13,"hexDist",[6,"std.max",[[6,"std.dot",["pAbs",[6,"d.vec2f",[[5,"0.5"],"SQRT3_2"]]]],[7,"pAbs","x"]]]],[13,"rimDist",[1,[5,"0.5"],"-","hexDist"]],[13,"edgeField",[6,"std.min",["internal","rimDist"]]],[13,"lineWidth",[1,"thickness","*",[5,"0.02"]]],[13,"aaWidth",[1,[1,[6,"std.fwidth",[[7,"scaledUV","x"]]],"*",[5,"0.5"]],"+",[1,"softness","*",[5,"0.5"]]]],[13,"wire",[6,"strokeBandSymmetric",["edgeField","lineWidth","aaWidth"]]],[10,[6,"d.vec3f",["rand","tone","wire"]]]]]},externals:{hexTiling:()=>Fl,"d.vec2f":()=>l,SQRT3:()=>_a,"std.dot":()=>se,SQRT3_2:()=>$i,"std.max":()=>b,"std.select":()=>C,"std.round":()=>sa,INV_2_SQRT3:()=>sb,cellHash:()=>Bl,"std.min":()=>oe,"std.abs":()=>z,"std.fwidth":()=>Zt,strokeBandSymmetric:()=>ou,"d.vec3f":()=>f}})&&e.f)({})),Da=.1,mB=v.fn([x,l,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(s.x,r),s.y),d=__tsover_mul(o,Le),c=H(d),_=Y(d),u=ue(l(se(i,l(c,__tsover_mul(_,-1))),se(i,l(_,c))).mul(n)).sub(l(.5,.5)),m=se(f(t.x,t.y,t.z),f(.299,.587,.114)),p=__tsover_add(__tsover_mul(m,.7),.15),y=j(u),h=__tsover_sub(1,re(__tsover_sub(p,Da),__tsover_add(p,Da),y));return x(__tsover_mul(t.x,h),__tsover_mul(t.y,h),__tsover_mul(t.z,h),__tsover_mul(t.w,h))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"childColor"},{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angleDeg"},{type:"i",name:"frequency"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"c",[6,"std.cos",["angleRad"]]],[13,"s",[6,"std.sin",["angleRad"]]],[13,"rotatedUV",[6,"d.vec2f",[[6,"std.dot",["aspectUV",[6,"d.vec2f",["c",[1,"s","*",[4,"-",[5,"1"]]]]]]],[6,"std.dot",["aspectUV",[6,"d.vec2f",["s","c"]]]]]]],[13,"gridUV",[6,[7,[6,"std.fract",[[6,[7,"rotatedUV","mul"],["frequency"]]]],"sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"brightness",[6,"std.dot",[[6,"d.vec3f",[[7,"childColor","x"],[7,"childColor","y"],[7,"childColor","z"]]],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"dotSize",[1,[1,"brightness","*",[5,"0.7"]],"+",[5,"0.15"]]],[13,"dist",[6,"std.length",["gridUV"]]],[13,"dotPattern",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"dotSize","-","SMOOTHNESS"],[1,"dotSize","+","SMOOTHNESS"],"dist"]]]],[10,[6,"d.vec4f",[[1,[7,"childColor","x"],"*","dotPattern"],[1,[7,"childColor","y"],"*","dotPattern"],[1,[7,"childColor","z"],"*","dotPattern"],[1,[7,"childColor","w"],"*","dotPattern"]]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.fract":()=>ue,"d.vec3f":()=>f,"std.length":()=>j,"std.smoothstep":()=>re,SMOOTHNESS:()=>Da,"d.vec4f":()=>x}})&&e.f)({})),pB=v.fn([l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(__tsover_add(s,r),Le);return l(__tsover_add(t.x,__tsover_mul(H(i),o)),__tsover_add(t.y,__tsover_div(__tsover_mul(Y(i),o),n)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"misprintAngleDeg"},{type:"i",name:"plateIndexDeg"},{type:"i",name:"misprint"},{type:"i",name:"aspect"}],body:[0,[[13,"angleRad",[1,[1,"misprintAngleDeg","+","plateIndexDeg"],"*","DEG_TO_RAD"]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[6,"std.cos",["angleRad"]],"*","misprint"]],[1,[7,"uv","y"],"+",[1,[1,[6,"std.sin",["angleRad"]],"*","misprint"],"/","aspect"]]]]]]]},externals:{DEG_TO_RAD:()=>Le,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),td=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_sub(1,b(b(t.x,t.y),t.z))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.max",[[6,"std.max",[[7,"s","x"],[7,"s","y"]]],[7,"s","z"]]]]]]]},externals:{"std.max":()=>b}})&&e.f)({})),fB=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=td(t),r=b(__tsover_sub(1,s),1e-4);return __tsover_div(__tsover_sub(__tsover_sub(1,t.x),s),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[13,"k",[6,"halftoneChannelK",["s"]]],[13,"invK",[6,"std.max",[[1,[5,"1"],"-","k"],[5,"0.0001"]]]],[10,[1,[1,[1,[5,"1"],"-",[7,"s","x"]],"-","k"],"/","invK"]]]]},externals:{halftoneChannelK:()=>td,"std.max":()=>b}})&&e.f)({})),vB=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=td(t),r=b(__tsover_sub(1,s),1e-4);return __tsover_div(__tsover_sub(__tsover_sub(1,t.y),s),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[13,"k",[6,"halftoneChannelK",["s"]]],[13,"invK",[6,"std.max",[[1,[5,"1"],"-","k"],[5,"0.0001"]]]],[10,[1,[1,[1,[5,"1"],"-",[7,"s","y"]],"-","k"],"/","invK"]]]]},externals:{halftoneChannelK:()=>td,"std.max":()=>b}})&&e.f)({})),yB=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=td(t),r=b(__tsover_sub(1,s),1e-4);return __tsover_div(__tsover_sub(__tsover_sub(1,t.z),s),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[13,"k",[6,"halftoneChannelK",["s"]]],[13,"invK",[6,"std.max",[[1,[5,"1"],"-","k"],[5,"0.0001"]]]],[10,[1,[1,[1,[5,"1"],"-",[7,"s","z"]],"-","k"],"/","invK"]]]]},externals:{halftoneChannelK:()=>td,"std.max":()=>b}})&&e.f)({})),hB=v.fn([l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(t.x,s),t.y),d=__tsover_mul(r,Le),c=H(d),_=Y(d),u=j(ue(l(se(i,l(c,__tsover_mul(_,-1))),se(i,l(_,c))).mul(n)).sub(l(.5,.5))),m=__tsover_sub(__tsover_mul(o,.75),Da);return __tsover_sub(1,re(__tsover_sub(m,Da),__tsover_add(m,Da),u))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angleDeg"},{type:"i",name:"intensity"},{type:"i",name:"frequency"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"angleRad",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"c",[6,"std.cos",["angleRad"]]],[13,"s",[6,"std.sin",["angleRad"]]],[13,"rotatedUV",[6,"d.vec2f",[[6,"std.dot",["aspectUV",[6,"d.vec2f",["c",[1,"s","*",[4,"-",[5,"1"]]]]]]],[6,"std.dot",["aspectUV",[6,"d.vec2f",["s","c"]]]]]]],[13,"grid",[6,[7,[6,"std.fract",[[6,[7,"rotatedUV","mul"],["frequency"]]]],"sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"dist",[6,"std.length",["grid"]]],[13,"size",[1,[1,"intensity","*",[5,"0.75"]],"-","SMOOTHNESS"]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"size","-","SMOOTHNESS"],[1,"size","+","SMOOTHNESS"],"dist"]]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.fract":()=>ue,"std.length":()=>j,SMOOTHNESS:()=>Da,"std.smoothstep":()=>re}})&&e.f)({})),xB=v.fn([x,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return X(f(1,1,1),f(t.x,t.y,t.z),f(__tsover_mul(s,t.w)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"inkColor"},{type:"i",name:"inkMask"}],body:[0,[[10,[6,"std.mix",[[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]],[6,"d.vec3f",[[7,"inkColor","x"],[7,"inkColor","y"],[7,"inkColor","z"]]],[6,"d.vec3f",[[1,"inkMask","*",[7,"inkColor","w"]]]]]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f}})&&e.f)({})),gB=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return q(l(__tsover_div(__tsover_mul(t.x,s.x),r),__tsover_div(__tsover_mul(t.y,s.y),r)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"gridRes"},{type:"i",name:"pixelSize"}],body:[0,[[10,[6,"std.floor",[[6,"d.vec2f",[[1,[1,[7,"uv","x"],"*",[7,"gridRes","x"]],"/","pixelSize"],[1,[1,[7,"uv","y"],"*",[7,"gridRes","y"]],"/","pixelSize"]]]]]]]]},externals:{"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),bB=v.fn([l,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_div(__tsover_mul(__tsover_add(t.x,.5),s),r.x),__tsover_div(__tsover_mul(__tsover_add(t.y,.5),s),r.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"},{type:"i",name:"pixelSize"},{type:"i",name:"gridRes"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[1,[7,"coord","x"],"+",[5,"0.5"]],"*","pixelSize"],"/",[7,"gridRes","x"]],[1,[1,[1,[7,"coord","y"],"+",[5,"0.5"]],"*","pixelSize"],"/",[7,"gridRes","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),wB=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(se(f(t.x,t.y,t.z),f(.299,.587,.114)),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"c"}],body:[0,[[10,[1,[6,"std.dot",[[6,"d.vec3f",[[7,"c","x"],[7,"c","y"],[7,"c","z"]]],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]],"*",[7,"c","w"]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),J_=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(__tsover_add(__tsover_mul(s,3),__tsover_mul(t,2)),__tsover_mul(__tsover_mul(t,s),4))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a"},{type:"i",name:"b"}],body:[0,[[10,[1,[1,[1,"b","*",[5,"3"]],"+",[1,"a","*",[5,"2"]]],"-",[1,[1,"a","*","b"],"*",[5,"4"]]]]]]},externals:{}})&&e.f)({})),TB=v.fn([l],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_sub(t.x,__tsover_mul(8,q(__tsover_div(t.x,8)))),r=__tsover_sub(t.y,__tsover_mul(8,q(__tsover_div(t.y,8)))),o=__tsover_sub(s,__tsover_mul(2,q(__tsover_div(s,2)))),n=__tsover_sub(r,__tsover_mul(2,q(__tsover_div(r,2)))),i=__tsover_sub(s,__tsover_mul(4,q(__tsover_div(s,4)))),d=__tsover_sub(r,__tsover_mul(4,q(__tsover_div(r,4)))),c=q(__tsover_div(i,2)),_=q(__tsover_div(d,2)),u=q(__tsover_div(s,4)),m=q(__tsover_div(r,4)),p=J_(o,n),y=J_(c,_),h=J_(u,m),g=__tsover_div(p,4),w=__tsover_div(__tsover_add(__tsover_mul(p,4),y),16),S=__tsover_div(__tsover_add(__tsover_add(__tsover_mul(p,16),__tsover_mul(y,4)),h),64),T=__tsover_add(__tsover_mul(Z(d),4),Z(i)),A=.75;return A=C(A,.3125,T===1),A=C(A,.375,T===2),A=C(A,.8125,T===3),A=C(A,.25,T===4),A=C(A,a(0),T===5),A=C(A,.0625,T===6),A=C(A,.4375,T===7),A=C(A,.6875,T===8),A=C(A,.1875,T===9),A=C(A,.125,T===10),A=C(A,.5,T===11),A=C(A,.9375,T===12),A=C(A,.625,T===13),A=C(A,.5625,T===14),A=C(A,.875,T===15),x(g,w,S,A)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"}],body:[0,[[13,"tx",[1,[7,"coord","x"],"-",[1,[5,"8"],"*",[6,"std.floor",[[1,[7,"coord","x"],"/",[5,"8"]]]]]]],[13,"ty",[1,[7,"coord","y"],"-",[1,[5,"8"],"*",[6,"std.floor",[[1,[7,"coord","y"],"/",[5,"8"]]]]]]],[13,"x2",[1,"tx","-",[1,[5,"2"],"*",[6,"std.floor",[[1,"tx","/",[5,"2"]]]]]]],[13,"y2",[1,"ty","-",[1,[5,"2"],"*",[6,"std.floor",[[1,"ty","/",[5,"2"]]]]]]],[13,"x4",[1,"tx","-",[1,[5,"4"],"*",[6,"std.floor",[[1,"tx","/",[5,"4"]]]]]]],[13,"y4",[1,"ty","-",[1,[5,"4"],"*",[6,"std.floor",[[1,"ty","/",[5,"4"]]]]]]],[13,"x4h",[6,"std.floor",[[1,"x4","/",[5,"2"]]]]],[13,"y4h",[6,"std.floor",[[1,"y4","/",[5,"2"]]]]],[13,"x8h",[6,"std.floor",[[1,"tx","/",[5,"4"]]]]],[13,"y8h",[6,"std.floor",[[1,"ty","/",[5,"4"]]]]],[13,"b00",[6,"ditherBayerQuad",["x2","y2"]]],[13,"b11",[6,"ditherBayerQuad",["x4h","y4h"]]],[13,"b22",[6,"ditherBayerQuad",["x8h","y8h"]]],[13,"bayer2",[1,"b00","/",[5,"4"]]],[13,"bayer4",[1,[1,[1,"b00","*",[5,"4"]],"+","b11"],"/",[5,"16"]]],[13,"bayer8",[1,[1,[1,[1,"b00","*",[5,"16"]],"+",[1,"b11","*",[5,"4"]]],"+","b22"],"/",[5,"64"]]],[13,"idx",[1,[1,[6,"d.i32",["y4"]],"*",[5,"4"]],"+",[6,"d.i32",["x4"]]]],[12,"cd",[5,"0.75"]],[2,"cd","=",[6,"std.select",["cd",[5,"0.3125"],[1,"idx","===",[5,"1"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.375"],[1,"idx","===",[5,"2"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.8125"],[1,"idx","===",[5,"3"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.25"],[1,"idx","===",[5,"4"]]]]],[2,"cd","=",[6,"std.select",["cd",[6,"d.f32",[[5,"0"]]],[1,"idx","===",[5,"5"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.0625"],[1,"idx","===",[5,"6"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.4375"],[1,"idx","===",[5,"7"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.6875"],[1,"idx","===",[5,"8"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.1875"],[1,"idx","===",[5,"9"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.125"],[1,"idx","===",[5,"10"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.5"],[1,"idx","===",[5,"11"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.9375"],[1,"idx","===",[5,"12"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.625"],[1,"idx","===",[5,"13"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.5625"],[1,"idx","===",[5,"14"]]]]],[2,"cd","=",[6,"std.select",["cd",[5,"0.875"],[1,"idx","===",[5,"15"]]]]],[10,[6,"d.vec4f",["bayer2","bayer4","bayer8","cd"]]]]]},externals:{"std.floor":()=>q,ditherBayerQuad:()=>J_,"d.i32":()=>Z,"std.select":()=>C,"d.f32":()=>a,"d.vec4f":()=>x}})&&e.f)({})),SB=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=t.add(l(.5,.5));return ue(__tsover_mul(52.9829189,ue(__tsover_add(__tsover_mul(s.x,.06711056),__tsover_mul(s.y,.00583715)))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"}],body:[0,[[13,"c",[6,[7,"coord","add"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[10,[6,"std.fract",[[1,[5,"52.9829189"],"*",[6,"std.fract",[[1,[1,[7,"c","x"],"*",[5,"0.06711056"]],"+",[1,[7,"c","y"],"*",[5,"0.00583715"]]]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.fract":()=>ue}})&&e.f)({})),AB=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ot(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"}],body:[0,[[10,[6,"noise.hash12",["coord"]]]]]},externals:{"noise.hash12":()=>Ot}})&&e.f)({})),MB=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return De(__tsover_add(.5,__tsover_mul(__tsover_sub(t,.5),o)),__tsover_add(s,__tsover_sub(r,.5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ditherValue"},{type:"i",name:"luminance"},{type:"i",name:"threshold"},{type:"i",name:"spread"}],body:[0,[[13,"adjustedDither",[1,[5,"0.5"],"+",[1,[1,"ditherValue","-",[5,"0.5"]],"*","spread"]]],[10,[6,"std.step",["adjustedDither",[1,"luminance","+",[1,"threshold","-",[5,"0.5"]]]]]]]]},externals:{"std.step":()=>De}})&&e.f)({})),PB=v.fn([l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return q(t.div(l(8,8))).mul(l(8,8))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"}],body:[0,[[10,[6,[7,[6,"std.floor",[[6,[7,"coord","div"],[[6,"d.vec2f",[[5,"8"],[5,"8"]]]]]]],"mul"],[[6,"d.vec2f",[[5,"8"],[5,"8"]]]]]]]]},externals:{"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})),EB=v.fn([l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_add(__tsover_mul(__tsover_sub(t.y,s.y),8),__tsover_sub(t.x,s.x))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"},{type:"i",name:"blockOrigin"}],body:[0,[[10,[1,[1,[1,[7,"coord","y"],"-",[7,"blockOrigin","y"]],"*",[5,"8"]],"+",[1,[7,"coord","x"],"-",[7,"blockOrigin","x"]]]]]]},externals:{}})&&e.f)({})),kB=v.fn([l,a,a,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return l(__tsover_div(__tsover_mul(__tsover_add(__tsover_add(t.x,s),.5),o),n.x),__tsover_div(__tsover_mul(__tsover_add(__tsover_add(t.y,r),.5),o),n.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"blockOrigin"},{type:"i",name:"lx"},{type:"i",name:"ly"},{type:"i",name:"pixelSize"},{type:"i",name:"gridRes"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[1,[1,[7,"blockOrigin","x"],"+","lx"],"+",[5,"0.5"]],"*","pixelSize"],"/",[7,"gridRes","x"]],[1,[1,[1,[1,[7,"blockOrigin","y"],"+","ly"],"+",[5,"0.5"]],"*","pixelSize"],"/",[7,"gridRes","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),$B=v.fn([pt(a,64),a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(.5,__tsover_sub(r,.5)),i=pt(a,8)(),d=pt(a,8)(),c=Z(s),_=a(0);for(let u=0;u<8;u++){let m=(u&1)===0;for(let p=0;p<8;p++){let y=C(__tsover_sub(7,p),p,m),h=__tsover_add(__tsover_mul(u,8),y),g=__tsover_add(t[h],i[y]),w=De(n,g);_=C(_,w,h===c);let S=__tsover_mul(__tsover_sub(g,w),o),T=C(-1,1,m),A=__tsover_add(y,T);if(A>=0&&A<8&&(i[A]=__tsover_add(i[A],__tsover_mul(S,.4375))),u<7){let P=__tsover_sub(y,T),U=__tsover_add(y,T);P>=0&&P<8&&(d[P]=__tsover_add(d[P],__tsover_mul(S,.1875))),d[y]=__tsover_add(d[y],__tsover_mul(S,.3125)),U>=0&&U<8&&(d[U]=__tsover_add(d[U],__tsover_mul(S,.0625)))}}for(let p=0;p<8;p++)i[p]=d[p],d[p]=a(0)}return _}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lum"},{type:"i",name:"lic"},{type:"i",name:"threshold"},{type:"i",name:"spread"}],body:[0,[[13,"thr",[1,[5,"0.5"],"-",[1,"threshold","-",[5,"0.5"]]]],[13,"ecur",[6,[6,"d.arrayOf",["d.f32",[5,"8"]]],[]]],[13,"enext",[6,[6,"d.arrayOf",["d.f32",[5,"8"]]],[]]],[13,"licInt",[6,"d.i32",["lic"]]],[12,"result",[6,"d.f32",[[5,"0"]]]],[14,[12,"y",[5,"0"]],[1,"y","<",[5,"8"]],[102,"++","y"],[0,[[13,"ltr",[1,[1,"y","&",[5,"1"]],"===",[5,"0"]]],[14,[12,"xi",[5,"0"]],[1,"xi","<",[5,"8"]],[102,"++","xi"],[0,[[13,"x",[6,"std.select",[[1,[5,"7"],"-","xi"],"xi","ltr"]]],[13,"idx",[1,[1,"y","*",[5,"8"]],"+","x"]],[13,"val",[1,[8,"lum","idx"],"+",[8,"ecur","x"]]],[13,"qv",[6,"std.step",["thr","val"]]],[2,"result","=",[6,"std.select",["result","qv",[1,"idx","===","licInt"]]]],[13,"e",[1,[1,"val","-","qv"],"*","spread"]],[13,"dir",[6,"std.select",[[4,"-",[5,"1"]],[5,"1"],"ltr"]]],[13,"xr",[1,"x","+","dir"]],[11,[1,"xr",">=",[5,"0"]],[0,[[11,[1,"xr","<",[5,"8"]],[0,[[2,[8,"ecur","xr"],"=",[1,[8,"ecur","xr"],"+",[1,"e","*",[5,"0.4375"]]]]]]]]]],[11,[1,"y","<",[5,"7"]],[0,[[13,"xbl",[1,"x","-","dir"]],[13,"xbr",[1,"x","+","dir"]],[11,[1,"xbl",">=",[5,"0"]],[0,[[11,[1,"xbl","<",[5,"8"]],[0,[[2,[8,"enext","xbl"],"=",[1,[8,"enext","xbl"],"+",[1,"e","*",[5,"0.1875"]]]]]]]]]],[2,[8,"enext","x"],"=",[1,[8,"enext","x"],"+",[1,"e","*",[5,"0.3125"]]]],[11,[1,"xbr",">=",[5,"0"]],[0,[[11,[1,"xbr","<",[5,"8"]],[0,[[2,[8,"enext","xbr"],"=",[1,[8,"enext","xbr"],"+",[1,"e","*",[5,"0.0625"]]]]]]]]]]]]]]]],[14,[12,"k",[5,"0"]],[1,"k","<",[5,"8"]],[102,"++","k"],[0,[[2,[8,"ecur","k"],"=",[8,"enext","k"]],[2,[8,"enext","k"],"=",[6,"d.f32",[[5,"0"]]]]]]]]]],[10,"result"]]]},externals:{"d.arrayOf":()=>pt,"d.f32":()=>a,"d.i32":()=>Z,"std.select":()=>C,"std.step":()=>De}})&&e.f)({})),UB=v.fn([x,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=X(f(t.x,t.y,t.z),f(s.x,s.y,s.z),f(r)),n=X(t.w,s.w,r);return x(o.x,o.y,o.z,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colorA"},{type:"i",name:"colorB"},{type:"i",name:"ditherResult"}],body:[0,[[13,"rgb",[6,"std.mix",[[6,"d.vec3f",[[7,"colorA","x"],[7,"colorA","y"],[7,"colorA","z"]]],[6,"d.vec3f",[[7,"colorB","x"],[7,"colorB","y"],[7,"colorB","z"]]],[6,"d.vec3f",["ditherResult"]]]]],[13,"a",[6,"std.mix",[[7,"colorA","w"],[7,"colorB","w"],"ditherResult"]]],[10,[6,"d.vec4f",[[7,"rgb","x"],[7,"rgb","y"],[7,"rgb","z"],"a"]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),CB=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=f(t.x,t.y,t.z),o=X(r.mul(.3),oe(r.mul(1.3),f(1,1,1)),f(s));return x(o.x,o.y,o.z,t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sourceColor"},{type:"i",name:"ditherResult"}],body:[0,[[13,"rgb",[6,"d.vec3f",[[7,"sourceColor","x"],[7,"sourceColor","y"],[7,"sourceColor","z"]]]],[13,"dark",[6,[7,"rgb","mul"],[[5,"0.3"]]]],[13,"bright",[6,"std.min",[[6,[7,"rgb","mul"],[[5,"1.3"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]],[13,"out",[6,"std.mix",["dark","bright",[6,"d.vec3f",["ditherResult"]]]]],[10,[6,"d.vec4f",[[7,"out","x"],[7,"out","y"],[7,"out","z"],[7,"sourceColor","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.min":()=>oe,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({}));function bz(e){return e.map((t,s)=>({stop:t,index:s})).sort((t,s)=>t.stop.position-s.stop.position||t.index-s.index).map(({stop:t})=>t)}function jv(e,t){let s=new Array(32).fill(0),r=new Array(8).fill(0),o=Array.isArray(e)&&e.length>0?bz(e):[],n=Math.min(o.length,8);for(let i=0;i(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return co({conv:t,alpha:s})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"conv"},{type:"i",name:"alpha"}],body:[0,[[10,[6,"MixStep",[[104,{conv:"conv",alpha:"alpha"}]]]]]]},externals:{MixStep:()=>co}})&&e.f)({}));v.fn([co,f,a,a,a,a],co)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=$(__tsover_div(__tsover_sub(o,n),b(__tsover_sub(i,n),1e-6)),0,1);return fa(t.conv,t.alpha,s,r,d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"running"},{type:"i",name:"convI"},{type:"i",name:"alphaI"},{type:"i",name:"tClamped"},{type:"i",name:"posA"},{type:"i",name:"posB"}],body:[0,[[13,"seg",[6,"std.clamp",[[1,[1,"tClamped","-","posA"],"/",[6,"std.max",[[1,"posB","-","posA"],[5,"0.000001"]]]],[5,"0"],[5,"1"]]]],[10,[6,"mixPreconvertedInSpace",[[7,"running","conv"],[7,"running","alpha"],"convI","alphaI","seg"]]]]]},externals:{"std.clamp":()=>$,"std.max":()=>b,mixPreconvertedInSpace:()=>fa}})&&e.f)({}));v.fn([co],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return t.conv}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[10,[7,"s","conv"]]]]},externals:{}})&&e.f)({}));v.fn([co],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return t.alpha}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s"}],body:[0,[[10,[7,"s","alpha"]]]]},externals:{}})&&e.f)({}));v.fn([f,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t,s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"a"}],body:[0,[[10,[6,"d.vec4f",["rgb","a"]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({}));var Xp=v.fn([a,pt(x,8),pt(x,8/4),pt(f,8),a],co)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=$(t,0,1),d=Z(n),c=o[0],_=f(c.x,c.y,c.z),u=s[0].w;for(let m=1;m>2],y=r[m>>2],h=p[__tsover_sub(m,1)&3],g=y[m&3],w=$(__tsover_div(__tsover_sub(i,h),b(__tsover_sub(g,h),1e-6)),0,1),S=fa(_,u,o[m],s[m].w,w);_=f(S.conv.x,S.conv.y,S.conv.z),u=S.alpha}return co({conv:_,alpha:u})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"colors"},{type:"i",name:"positions"},{type:"i",name:"converted"},{type:"i",name:"stopCount"}],body:[0,[[13,"clampedT",[6,"std.clamp",["t",[5,"0"],[5,"1"]]]],[13,"n",[6,"d.i32",["stopCount"]]],[13,"c0",[8,"converted",[5,"0"]]],[12,"conv",[6,"d.vec3f",[[7,"c0","x"],[7,"c0","y"],[7,"c0","z"]]]],[12,"alpha",[7,[8,"colors",[5,"0"]],"w"]],[14,[12,"i",[5,"1"]],[1,"i","<","n"],[102,"++","i"],[0,[[13,"va",[8,"positions",[1,[1,"i","-",[5,"1"]],">>",[5,"2"]]]],[13,"vb",[8,"positions",[1,"i",">>",[5,"2"]]]],[13,"posA",[8,"va",[1,[1,"i","-",[5,"1"]],"&",[5,"3"]]]],[13,"posB",[8,"vb",[1,"i","&",[5,"3"]]]],[13,"seg",[6,"std.clamp",[[1,[1,"clampedT","-","posA"],"/",[6,"std.max",[[1,"posB","-","posA"],[5,"0.000001"]]]],[5,"0"],[5,"1"]]]],[13,"step",[6,"mixPreconvertedInSpace",["conv","alpha",[8,"converted","i"],[7,[8,"colors","i"],"w"],"seg"]]],[2,"conv","=",[6,"d.vec3f",[[7,[7,"step","conv"],"x"],[7,[7,"step","conv"],"y"],[7,[7,"step","conv"],"z"]]]],[2,"alpha","=",[7,"step","alpha"]]]]],[10,[6,"MixStep",[[104,{conv:"conv",alpha:"alpha"}]]]]]]},externals:{"std.clamp":()=>$,"d.i32":()=>Z,"d.vec3f":()=>f,"std.max":()=>b,mixPreconvertedInSpace:()=>fa,MixStep:()=>co}})&&e.f)({}));function wz(e,t){switch(t){case 1:return we(ss,"sRGBToP3",[we(Kr,"oklabToRgb",[we(Ha,"oklchToOklab",[e])])]);case 2:return we(ss,"sRGBToP3",[we(Kr,"oklabToRgb",[e])]);case 3:return we(ss,"sRGBToP3",[we(ja,"hslToRgb",[e])]);case 4:return we(ss,"sRGBToP3",[we(Ac,"hsvToRgb",[e])]);case 5:return we(ss,"sRGBToP3",[we(Mc,"labToRgb",[we(Pc,"lchToLab",[e])])]);default:return e}}function Tz(e,t,s){let r=ur(we(Xp,"gradientStopsInSpace",[e,t.colorsArray,t.positionsArray,t.convertedColorsArray,t.stopCount]),"stopMix");return Ws(wz(r.member("conv"),s),r.member("alpha"))}var RB=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=bt(s);return l(__tsover_mul(t.x,r),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]]]]},externals:{aspectOf:()=>bt,"d.vec2f":()=>l}})&&e.f)({})),zB=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_div(s.x,s.y);return l(__tsover_mul(t.x,n),t.y).mul(ct(r)).add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"scale"},{type:"i",name:"seed"}],body:[0,[[13,"aspect",[1,[7,"viewport","x"],"/",[7,"viewport","y"]]],[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[10,[6,[7,[6,[7,"aspectUV","mul"],[[6,"std.exp",["scale"]]]],"add"],["seed"]]]]]},externals:{"d.vec2f":()=>l,"std.exp":()=>ct}})&&e.f)({})),GB=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=bt(s),n=__tsover_mul(r,Le),i=H(n),d=Y(n),c=__tsover_sub(__tsover_mul(t.x,o),__tsover_mul(o,.5)),_=__tsover_sub(t.y,.5);return l(__tsover_add(__tsover_mul(c,i),__tsover_mul(_,d)),__tsover_add(__tsover_mul(c,-d),__tsover_mul(_,i)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"}],body:[0,[[13,"aspect",[6,"aspectOf",["viewport"]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"au",[1,[1,[7,"uv","x"],"*","aspect"],"-",[1,"aspect","*",[5,"0.5"]]]],[13,"av",[1,[7,"uv","y"],"-",[5,"0.5"]]],[13,"ru",[1,[1,"au","*","cosA"],"+",[1,"av","*","sinA"]]],[13,"rv",[1,[1,"au","*",[4,"-","sinA"]],"+",[1,"av","*","cosA"]]],[10,[6,"d.vec2f",["ru","rv"]]]]]},externals:{aspectOf:()=>bt,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),YB=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_div(j(Mg(t,s)),1.414)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"z"}],body:[0,[[10,[1,[6,"std.length",[[6,"curl22z",["pos","z"]]]],"/",[5,"1.414"]]]]]},externals:{"std.length":()=>j,curl22z:()=>Mg}})&&e.f)({})),rb=s7(Ei,{maxOctaves:8,drift:"goldenAngle",name:"fractalOctaveSum"}),LB=v.fn([l,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";return rb(t,2,s,r,o,l(n,__tsover_mul(n,.7)),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"detail"},{type:"i",name:"contrast"},{type:"i",name:"animTime"},{type:"i",name:"seed"},{type:"i",name:"octaveCount"}],body:[0,[[10,[6,"fractalOctaveSum",["pos",[5,"2"],"detail","contrast","animTime",[6,"d.vec2f",["seed",[1,"seed","*",[5,"0.7"]]]],"octaveCount"]]]]]},externals:{fractalOctaveSum:()=>rb,"d.vec2f":()=>l}})&&e.f)({})),IB=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return $(__tsover_add(__tsover_mul(__tsover_div(t.x,t.y),.5),.5),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sum"}],body:[0,[[10,[6,"std.clamp",[[1,[1,[1,[7,"sum","x"],"/",[7,"sum","y"]],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({}));var ob=o7({distance:"selectableSquared",jitter:"mix",name:"worleyNearest2"}),nb=s7(v.fn([l,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ob(t,s,r,o,n);return jg(d.x,d.y,n,i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"oUV"},{type:"i",name:"animT"},{type:"i",name:"seedOff"},{type:"i",name:"jitter"},{type:"i",name:"distNum"},{type:"i",name:"modeNum"}],body:[0,[[13,"dd",[6,"worleyNearest2",["oUV","animT","seedOff","jitter","distNum"]]],[10,[6,"cellReduceSelectable",[[7,"dd","x"],[7,"dd","y"],"distNum","modeNum"]]]]]},externals:{worleyNearest2:()=>ob,cellReduceSelectable:()=>jg}})&&e.f)({})),{maxOctaves:4,drift:"timeSeed",name:"worleyOctaveSum"}),DB=v.fn([l,a,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";return nb(t,s,n,i,d,r,f(o,_,u),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"scale"},{type:"i",name:"seed"},{type:"i",name:"jitter"},{type:"i",name:"lacunarity"},{type:"i",name:"persistence"},{type:"i",name:"animTime"},{type:"i",name:"octaves"},{type:"i",name:"distNum"},{type:"i",name:"modeNum"}],body:[0,[[10,[6,"worleyOctaveSum",["pos","scale","lacunarity","persistence","animTime","seed",[6,"d.vec3f",["jitter","distNum","modeNum"]],"octaves"]]]]]},externals:{worleyOctaveSum:()=>nb,"d.vec3f":()=>f}})&&e.f)({})),FB=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_mul(__tsover_div(t.x,b(t.y,1e-4)),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sum"},{type:"i",name:"modeScale"}],body:[0,[[10,[1,[1,[7,"sum","x"],"/",[6,"std.max",[[7,"sum","y"],[5,"0.0001"]]]],"*","modeScale"]]]]},externals:{"std.max":()=>b}})&&e.f)({})),BB=t7({domain:"unit",contrastMode:"multiplicative",invert:!1});var WB=o7({distance:"length",jitter:"none",name:"voronoiNearest2"}),OB=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_sub(4,__tsover_mul(s,3));return Kg(t.x,t.y,r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dd"},{type:"i",name:"edgeIntensity"}],body:[0,[[13,"gradientPower",[1,[5,"4"],"-",[1,"edgeIntensity","*",[5,"3"]]]],[10,[6,"cellRatio",[[7,"dd","x"],[7,"dd","y"],"gradientPower"]]]]]},externals:{cellRatio:()=>Kg}})&&e.f)({})),VB=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(__tsover_mul(s,r),6);return Zg(t.x,t.y,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dd"},{type:"i",name:"softness"},{type:"i",name:"scale"}],body:[0,[[13,"scaledEdgeSoftness",[1,[1,"softness","*","scale"],"/",[5,"6"]]],[10,[6,"cellEdgeMask",[[7,"dd","x"],[7,"dd","y"],"scaledEdgeSoftness"]]]]]},externals:{cellEdgeMask:()=>Zg}})&&e.f)({})),NB=v.fn([f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ce(t,f(.85,.85,.85))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"}],body:[0,[[10,[6,"std.pow",["rgb",[6,"d.vec3f",[[5,"0.85"],[5,"0.85"],[5,"0.85"]]]]]]]]},externals:{"std.pow":()=>Ce,"d.vec3f":()=>f}})&&e.f)({})),mc=8;if(mc!==8)throw new Error(`noisePaints: MAX (${mc}) out of sync with MAX_COLOR_STOPS (8)`);var ab=v.fn([l,l,l,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_div(s.x,b(s.y,1e-6)),d=l(__tsover_mul(r.x,i),__tsover_sub(1,r.y)),c=l(__tsover_mul(o.x,i),__tsover_sub(1,o.y)),_=l(__tsover_mul(t.x,i),t.y),u=l(__tsover_sub(c.x,d.x),__tsover_sub(c.y,d.y)),m=b(j(u),1e-6),p=l(__tsover_div(u.x,m),__tsover_div(u.y,m)),y=l(-p.y,p.x),h=l(__tsover_sub(_.x,d.x),__tsover_sub(_.y,d.y)),g=__tsover_div(se(h,p),m),w=se(h,y),S=n>0,T=$(g,0,1),A=C(a(1),Y(__tsover_mul(T,Xr)),S),P=__tsover_mul(re(0,.06,g),__tsover_sub(1,re(.94,1,g)));return x(g,w,A,C(a(1),P,S))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"start"},{type:"i",name:"end"},{type:"i",name:"pinFlag"}],body:[0,[[13,"aspectRatio",[1,[7,"viewport","x"],"/",[6,"std.max",[[7,"viewport","y"],[5,"0.000001"]]]]],[13,"startPos",[6,"d.vec2f",[[1,[7,"start","x"],"*","aspectRatio"],[1,[5,"1"],"-",[7,"start","y"]]]]],[13,"endPos",[6,"d.vec2f",[[1,[7,"end","x"],"*","aspectRatio"],[1,[5,"1"],"-",[7,"end","y"]]]]],[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspectRatio"],[7,"uv","y"]]]],[13,"direction",[6,"d.vec2f",[[1,[7,"endPos","x"],"-",[7,"startPos","x"]],[1,[7,"endPos","y"],"-",[7,"startPos","y"]]]]],[13,"len",[6,"std.max",[[6,"std.length",["direction"]],[5,"0.000001"]]]],[13,"normalizedDir",[6,"d.vec2f",[[1,[7,"direction","x"],"/","len"],[1,[7,"direction","y"],"/","len"]]]],[13,"perpDir",[6,"d.vec2f",[[4,"-",[7,"normalizedDir","y"]],[7,"normalizedDir","x"]]]],[13,"relativePos",[6,"d.vec2f",[[1,[7,"aspectUV","x"],"-",[7,"startPos","x"]],[1,[7,"aspectUV","y"],"-",[7,"startPos","y"]]]]],[13,"progress",[1,[6,"std.dot",["relativePos","normalizedDir"]],"/","len"]],[13,"perpDist",[6,"std.dot",["relativePos","perpDir"]]],[13,"pinOn",[1,"pinFlag",">",[5,"0"]]],[13,"clampedProg",[6,"std.clamp",["progress",[5,"0"],[5,"1"]]]],[13,"pinch",[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"std.sin",[[1,"clampedProg","*","PI"]]],"pinOn"]]],[13,"fade",[1,[6,"std.smoothstep",[[5,"0"],[5,"0.06"],"progress"]],"*",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0.94"],[5,"1"],"progress"]]]]],[13,"edgeFade",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"fade","pinOn"]]],[10,[6,"d.vec4f",["progress","perpDist","pinch","edgeFade"]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l,"std.length":()=>j,"std.dot":()=>se,"std.clamp":()=>$,"std.select":()=>C,"d.f32":()=>a,"std.sin":()=>Y,PI:()=>Xr,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({})),qB=v.fn([l,l,l,l,x,x,x,pt(x,mc),pt(x,mc/4),pt(f,mc)],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=n.x,p=n.y,y=n.z,h=n.w,g=i.x,w=i.y,S=i.z,T=i.w,A=d.y,P=d.z,U=d.w,D=ab(t,s,r,o,d.x),O=D.x,L=D.y,G=D.z,W=D.w,K=__tsover_mul(h,.07),Q=__tsover_add(__tsover_mul(g,.08),8e-4),te=b(__tsover_sub(y,1),1),ee=f(0,0,0),he=a(0),Ee=__tsover_mul(__tsover_mul(O,it),p),Te=__tsover_add(__tsover_mul(O,8),__tsover_mul(A,2)),Ue=__tsover_add(__tsover_mul(O,S),P),Me=Z(sa(y));for(let Pe=0;Peab,"std.max":()=>b,"d.vec3f":()=>f,"d.f32":()=>a,TAU:()=>it,"d.i32":()=>Z,"std.round":()=>sa,"std.sin":()=>Y,"std.abs":()=>z,"std.smoothstep":()=>re,"std.fract":()=>ue,gradientStopsInSpace:()=>Xp,"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})),XB=v.fn([l,a,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(t.x,s),t.y),c=__tsover_mul(r,6),_=d.mul(c).add(o),u=Ki(_).mul(n).mul(.0025),m=t.add(u),p=zg(_,Z(6)),y=$(__tsover_add(1,__tsover_mul(__tsover_sub(p,.7),__tsover_mul(i,1.2))),0,1.5);return f(m.x,m.y,y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"grainScale"},{type:"i",name:"seed"},{type:"i",name:"displacement"},{type:"i",name:"roughness"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"grainFreq",[1,"grainScale","*",[5,"6"]]],[13,"grainUV",[6,[7,[6,[7,"aspectUV","mul"],["grainFreq"]],"add"],["seed"]]],[13,"disp",[6,[7,[6,[7,[6,"curl22",["grainUV"]],"mul"],["displacement"]],"mul"],[[5,"0.0025"]]]],[13,"displacedUV",[6,[7,"uv","add"],["disp"]]],[13,"grain",[6,"paper12",["grainUV",[6,"d.i32",[[5,"6"]]]]]],[13,"brightness",[6,"std.clamp",[[1,[5,"1"],"+",[1,[1,"grain","-",[5,"0.7"]],"*",[1,"roughness","*",[5,"1.2"]]]],[5,"0"],[5,"1.5"]]]],[10,[6,"d.vec3f",[[7,"displacedUV","x"],[7,"displacedUV","y"],"brightness"]]]]]},externals:{"d.vec2f":()=>l,curl22:()=>Ki,paper12:()=>zg,"d.i32":()=>Z,"std.clamp":()=>$,"d.vec3f":()=>f}})&&e.f)({})),Ui=1e-5,ib=v.fn([l,l,l],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(t.x,s.x),n=__tsover_sub(t.y,s.y),i=__tsover_sub(r.x,s.x),d=__tsover_sub(r.y,s.y),c=b(j(l(i,d)),a(Ui)),_=__tsover_div(__tsover_add(__tsover_mul(o,i),__tsover_mul(n,d)),c),u=b(b(-_,__tsover_sub(_,c)),a(0)),m=$(__tsover_div(_,c),a(0),a(1)),p=j(l(__tsover_sub(o,__tsover_mul(i,m)),__tsover_sub(n,__tsover_mul(d,m))));return f(_,be(b(__tsover_sub(__tsover_mul(p,p),__tsover_mul(u,u)),a(0))),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"a"},{type:"i",name:"b"}],body:[0,[[13,"pax",[1,[7,"p","x"],"-",[7,"a","x"]]],[13,"pay",[1,[7,"p","y"],"-",[7,"a","y"]]],[13,"bax",[1,[7,"b","x"],"-",[7,"a","x"]]],[13,"bay",[1,[7,"b","y"],"-",[7,"a","y"]]],[13,"len",[6,"std.max",[[6,"std.length",[[6,"d.vec2f",["bax","bay"]]]],[6,"d.f32",["EPS"]]]]],[13,"t",[1,[1,[1,"pax","*","bax"],"+",[1,"pay","*","bay"]],"/","len"]],[13,"overshoot",[6,"std.max",[[6,"std.max",[[4,"-","t"],[1,"t","-","len"]]],[6,"d.f32",[[5,"0"]]]]]],[13,"h",[6,"std.clamp",[[1,"t","/","len"],[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]]]]],[13,"dSeg",[6,"std.length",[[6,"d.vec2f",[[1,"pax","-",[1,"bax","*","h"]],[1,"pay","-",[1,"bay","*","h"]]]]]]],[13,"perp",[6,"std.sqrt",[[6,"std.max",[[1,[1,"dSeg","*","dSeg"],"-",[1,"overshoot","*","overshoot"]],[6,"d.f32",[[5,"0"]]]]]]]],[10,[6,"d.vec3f",["t","perp","len"]]]]]},externals:{"std.max":()=>b,"std.length":()=>j,"d.vec2f":()=>l,"d.f32":()=>a,EPS:()=>Ui,"std.clamp":()=>$,"std.sqrt":()=>be,"d.vec3f":()=>f}})&&e.f)({})),HB=v.fn([l,l,l,l,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=bt(s),p=ib(Yg(t,s),bn(r,m),bn(o,m)),y=p.x,h=p.y,g=p.z,w=__tsover_mul(n,.5),S=__tsover_sub(y,__tsover_mul(g,.5)),T=__tsover_mul(g,.5),A=b(d,a(Ui)),P=__tsover_add(A,c),U=b(q(__tsover_add(__tsover_div(__tsover_add(g,c),P),.5)),a(1)),D=__tsover_div(g,b(__tsover_add(__tsover_mul(U,A),__tsover_mul(__tsover_sub(U,1),c)),a(Ui))),O=__tsover_mul(A,D),L=__tsover_mul(P,D),G=$(q(__tsover_div(y,L)),a(0),__tsover_sub(U,1)),W=__tsover_sub(y,__tsover_add(__tsover_mul(G,L),__tsover_mul(O,.5))),K=b(__tsover_sub(__tsover_mul(O,.5),w),a(0)),Q=__tsover_mul(O,.5),te=b(__tsover_add(n,c),a(Ui)),ee=b(q(__tsover_add(__tsover_div(g,te),.5)),a(1)),he=__tsover_div(g,ee),Ee=$(q(__tsover_add(__tsover_div(y,he),.5)),a(0),ee),Te=__tsover_sub(y,__tsover_mul(Ee,he)),Ue=i>=.5,Me=i>=1.5,Pe=C(S,C(W,Te,Me),Ue),Re=C(T,C(K,a(0),Me),Ue),de=C(T,C(Q,w,Me),Ue),je=C(_,u,Pe>0),fe=__tsover_sub(j(l(b(__tsover_sub(z(Pe),Re),a(0)),h)),w),Ke=__tsover_sub(z(Pe),de),Ze=__tsover_sub(h,w),at=C(__tsover_add(j(l(b(Ke,a(0)),b(Ze,a(0)))),oe(b(Ke,Ze),a(0))),fe,je>=.5),Fe=__tsover_div(1,s.y);return __tsover_sub(1,re(-Fe,Fe,at))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"pointA"},{type:"i",name:"pointB"},{type:"i",name:"thickness"},{type:"i",name:"style"},{type:"i",name:"dashLength"},{type:"i",name:"gapLength"},{type:"i",name:"capStart"},{type:"i",name:"capEnd"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"p",[6,"geom.aspectCorrectedUV",["uv","viewport"]]],[13,"a",[6,"geom.aspectCentrePosition",["pointA","aspect"]]],[13,"b",[6,"geom.aspectCentrePosition",["pointB","aspect"]]],[13,"seg",[6,"segmentArcPerp",["p","a","b"]]],[13,"t",[7,"seg","x"]],[13,"perp",[7,"seg","y"]],[13,"len",[7,"seg","z"]],[13,"halfT",[1,"thickness","*",[5,"0.5"]]],[13,"cSolid",[1,"t","-",[1,"len","*",[5,"0.5"]]]],[13,"axSolid",[1,"len","*",[5,"0.5"]]],[13,"rawDash",[6,"std.max",["dashLength",[6,"d.f32",["EPS"]]]]],[13,"rawPeriod",[1,"rawDash","+","gapLength"]],[13,"nDash",[6,"std.max",[[6,"std.floor",[[1,[1,[1,"len","+","gapLength"],"/","rawPeriod"],"+",[5,"0.5"]]]],[6,"d.f32",[[5,"1"]]]]]],[13,"scale",[1,"len","/",[6,"std.max",[[1,[1,"nDash","*","rawDash"],"+",[1,[1,"nDash","-",[5,"1"]],"*","gapLength"]],[6,"d.f32",["EPS"]]]]]],[13,"dashL",[1,"rawDash","*","scale"]],[13,"period",[1,"rawPeriod","*","scale"]],[13,"kDash",[6,"std.clamp",[[6,"std.floor",[[1,"t","/","period"]]],[6,"d.f32",[[5,"0"]]],[1,"nDash","-",[5,"1"]]]]],[13,"cDash",[1,"t","-",[1,[1,"kDash","*","period"],"+",[1,"dashL","*",[5,"0.5"]]]]],[13,"axDashRound",[6,"std.max",[[1,[1,"dashL","*",[5,"0.5"]],"-","halfT"],[6,"d.f32",[[5,"0"]]]]]],[13,"axDashSquare",[1,"dashL","*",[5,"0.5"]]],[13,"rawDotPeriod",[6,"std.max",[[1,"thickness","+","gapLength"],[6,"d.f32",["EPS"]]]]],[13,"nDot",[6,"std.max",[[6,"std.floor",[[1,[1,"len","/","rawDotPeriod"],"+",[5,"0.5"]]]],[6,"d.f32",[[5,"1"]]]]]],[13,"dotPeriod",[1,"len","/","nDot"]],[13,"kDot",[6,"std.clamp",[[6,"std.floor",[[1,[1,"t","/","dotPeriod"],"+",[5,"0.5"]]]],[6,"d.f32",[[5,"0"]]],"nDot"]]],[13,"cDot",[1,"t","-",[1,"kDot","*","dotPeriod"]]],[13,"isPattern",[1,"style",">=",[5,"0.5"]]],[13,"isDotted",[1,"style",">=",[5,"1.5"]]],[13,"c",[6,"std.select",["cSolid",[6,"std.select",["cDash","cDot","isDotted"]],"isPattern"]]],[13,"axRound",[6,"std.select",["axSolid",[6,"std.select",["axDashRound",[6,"d.f32",[[5,"0"]]],"isDotted"]],"isPattern"]]],[13,"axSquare",[6,"std.select",["axSolid",[6,"std.select",["axDashSquare","halfT","isDotted"]],"isPattern"]]],[13,"capHere",[6,"std.select",["capStart","capEnd",[1,"c",">",[5,"0"]]]]],[13,"sdRound",[1,[6,"std.length",[[6,"d.vec2f",[[6,"std.max",[[1,[6,"std.abs",["c"]],"-","axRound"],[6,"d.f32",[[5,"0"]]]]],"perp"]]]],"-","halfT"]],[13,"qx",[1,[6,"std.abs",["c"]],"-","axSquare"]],[13,"qy",[1,"perp","-","halfT"]],[13,"sdSquare",[1,[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["qx",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["qy",[6,"d.f32",[[5,"0"]]]]]]]]],"+",[6,"std.min",[[6,"std.max",["qx","qy"]],[6,"d.f32",[[5,"0"]]]]]]],[13,"sd",[6,"std.select",["sdSquare","sdRound",[1,"capHere",">=",[5,"0.5"]]]]],[13,"feather",[1,[5,"1"],"/",[7,"viewport","y"]]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",[[4,"-","feather"],"feather","sd"]]]]]]},externals:{"geom.aspectOf":()=>bt,"geom.aspectCorrectedUV":()=>Yg,"geom.aspectCentrePosition":()=>bn,segmentArcPerp:()=>ib,"std.max":()=>b,"d.f32":()=>a,EPS:()=>Ui,"std.floor":()=>q,"std.clamp":()=>$,"std.select":()=>C,"std.length":()=>j,"d.vec2f":()=>l,"std.abs":()=>z,"std.min":()=>oe,"std.smoothstep":()=>re}})&&e.f)({})),jB=v.fn([l,l,a,l,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_)=>{"use gpu";let u=ua(t,o,s),m=__tsover_mul(r,Le),p=Eo(u,H(m),Y(m)),y=__tsover_add(__tsover_mul(__tsover_mul(p.x,n),it),_),h=__tsover_mul(Y(y),i),g=z(__tsover_sub(p.y,h)),w=__tsover_mul(d,.5),S=__tsover_mul(c,.5);return __tsover_sub(1,re(__tsover_sub(w,S),__tsover_add(w,S),g))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"angle"},{type:"i",name:"position"},{type:"i",name:"frequency"},{type:"i",name:"amplitude"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"animTime"}],body:[0,[[13,"centered",[6,"geom.aspectCenteredDelta",["uv","position","viewport"]]],[13,"angleRad",[1,"angle","*","DEG_TO_RAD"]],[13,"cosAngle",[6,"std.cos",["angleRad"]]],[13,"sinAngle",[6,"std.sin",["angleRad"]]],[13,"rotated",[6,"geom.rotate2",["centered","cosAngle","sinAngle"]]],[13,"waveInput",[1,[1,[1,[7,"rotated","x"],"*","frequency"],"*","TAU"],"+","animTime"]],[13,"sineWave",[1,[6,"std.sin",["waveInput"]],"*","amplitude"]],[13,"distanceFromWave",[6,"std.abs",[[1,[7,"rotated","y"],"-","sineWave"]]]],[13,"halfThickness",[1,"thickness","*",[5,"0.5"]]],[13,"halfSoftness",[1,"softness","*",[5,"0.5"]]],[10,[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"halfThickness","-","halfSoftness"],[1,"halfThickness","+","halfSoftness"],"distanceFromWave"]]]]]]},externals:{"geom.aspectCenteredDelta":()=>ua,DEG_TO_RAD:()=>Le,"std.cos":()=>H,"std.sin":()=>Y,"geom.rotate2":()=>Eo,TAU:()=>it,"std.abs":()=>z,"std.smoothstep":()=>re}})&&e.f)({})),db=v.fn([a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return f(__tsover_add(__tsover_mul(H(__tsover_mul(it,t)),.5),.5),__tsover_add(__tsover_mul(H(__tsover_mul(it,__tsover_sub(t,.333))),.5),.5),__tsover_add(__tsover_mul(H(__tsover_mul(it,__tsover_sub(t,.666))),.5),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[6,"d.vec3f",[[1,[1,[6,"std.cos",[[1,"TAU_FULL","*","t"]]],"*",[5,"0.5"]],"+",[5,"0.5"]],[1,[1,[6,"std.cos",[[1,"TAU_FULL","*",[1,"t","-",[5,"0.333"]]]]],"*",[5,"0.5"]],"+",[5,"0.5"]],[1,[1,[6,"std.cos",[[1,"TAU_FULL","*",[1,"t","-",[5,"0.666"]]]]],"*",[5,"0.5"]],"+",[5,"0.5"]]]]]]]},externals:{"d.vec3f":()=>f,"std.cos":()=>H,TAU_FULL:()=>it}})&&e.f)({})),Fm=ut({aspect:a,lightPos:l,flareAxis:l,masterFade:a,lightDist:a,lightAngle:a}).$name("FlareFrame"),KB=v.fn([l,l,a,l,a,a],Fm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=bt(s),c=l(o.x,__tsover_sub(1,o.y)),_=l(__tsover_sub(.5,c.x),__tsover_sub(.5,c.y)),u=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(Y(__tsover_mul(r,3.7)),.04),__tsover_mul(Y(__tsover_mul(r,7.3)),.03)),__tsover_mul(Y(__tsover_mul(r,13.1)),.02)),.97),m=b(__tsover_mul(z(__tsover_sub(c.x,.5)),2),__tsover_mul(z(__tsover_sub(c.y,.5)),2)),p=__tsover_sub(1,__tsover_mul(i,.5)),y=X(1,__tsover_sub(1,re(p,1,m)),i),h=__tsover_mul(__tsover_mul(n,y),u),g=l(__tsover_mul(__tsover_sub(t.x,c.x),d),__tsover_sub(t.y,c.y));return Fm({aspect:d,lightPos:c,flareAxis:_,masterFade:h,lightDist:j(g),lightAngle:tt(g.y,g.x)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"t"},{type:"i",name:"lightPosRaw"},{type:"i",name:"intensity"},{type:"i",name:"edgeFade"}],body:[0,[[13,"aspect",[6,"geom.aspectOf",["viewport"]]],[13,"lightPos",[6,"d.vec2f",[[7,"lightPosRaw","x"],[1,[5,"1"],"-",[7,"lightPosRaw","y"]]]]],[13,"flareAxis",[6,"d.vec2f",[[1,[5,"0.5"],"-",[7,"lightPos","x"]],[1,[5,"0.5"],"-",[7,"lightPos","y"]]]]],[13,"shimmer",[1,[1,[1,[1,[6,"std.sin",[[1,"t","*",[5,"3.7"]]]],"*",[5,"0.04"]],"+",[1,[6,"std.sin",[[1,"t","*",[5,"7.3"]]]],"*",[5,"0.03"]]],"+",[1,[6,"std.sin",[[1,"t","*",[5,"13.1"]]]],"*",[5,"0.02"]]],"+",[5,"0.97"]]],[13,"edgeDist",[6,"std.max",[[1,[6,"std.abs",[[1,[7,"lightPos","x"],"-",[5,"0.5"]]]],"*",[5,"2"]],[1,[6,"std.abs",[[1,[7,"lightPos","y"],"-",[5,"0.5"]]]],"*",[5,"2"]]]]],[13,"fadeStart",[1,[5,"1"],"-",[1,"edgeFade","*",[5,"0.5"]]]],[13,"edgeFadeV",[6,"std.mix",[[5,"1"],[1,[5,"1"],"-",[6,"std.smoothstep",["fadeStart",[5,"1"],"edgeDist"]]],"edgeFade"]]],[13,"masterFade",[1,[1,"intensity","*","edgeFadeV"],"*","shimmer"]],[13,"toLightAR",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[7,"lightPos","x"]],"*","aspect"],[1,[7,"uv","y"],"-",[7,"lightPos","y"]]]]],[13,"lightDist",[6,"std.length",["toLightAR"]]],[13,"lightAngle",[6,"std.atan2",[[7,"toLightAR","y"],[7,"toLightAR","x"]]]],[10,[6,"FlareFrame",[[104,{aspect:"aspect",lightPos:"lightPos",flareAxis:"flareAxis",masterFade:"masterFade",lightDist:"lightDist",lightAngle:"lightAngle"}]]]]]]},externals:{"geom.aspectOf":()=>bt,"d.vec2f":()=>l,"std.sin":()=>Y,"std.max":()=>b,"std.abs":()=>z,"std.mix":()=>X,"std.smoothstep":()=>re,"std.length":()=>j,"std.atan2":()=>tt,FlareFrame:()=>Fm}})&&e.f)({})),ZB=v.fn([l,a,l,l,a,a,a,a,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=_.x,p=_.y,y=_.z,h=_.w,g=u.x,w=u.y,S=u.z,T=u.w,A=r.add(o.mul(__tsover_mul(__tsover_mul(m,i),2))),P=j(l(__tsover_mul(__tsover_sub(t.x,A.x),s),__tsover_sub(t.y,A.y))),U=p,D=__tsover_sub(1,re(__tsover_mul(U,.12),U,P)),O=__tsover_sub(1,re(__tsover_mul(U,.05),__tsover_mul(U,.45),P)),L=__tsover_mul(D,__tsover_sub(1,__tsover_mul(O,h))),G=__tsover_add(__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(n,4.3),T)),.08),__tsover_mul(Y(__tsover_add(__tsover_mul(n,9.1),__tsover_mul(T,1.7))),.05)),.95),W=Hl(P,__tsover_mul(U,.78),__tsover_mul(__tsover_mul(U,d),.14),__tsover_mul(U,.1)),K=W.x,Q=W.y,te=W.z,ee=__tsover_mul(__tsover_mul(y,c),G);return f(__tsover_mul(__tsover_add(__tsover_mul(L,g),__tsover_mul(K,d)),ee),__tsover_mul(__tsover_add(__tsover_mul(L,w),__tsover_mul(Q,d)),ee),__tsover_mul(__tsover_add(__tsover_mul(L,S),__tsover_mul(te,d)),ee))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"lightPos"},{type:"i",name:"flareAxis"},{type:"i",name:"t"},{type:"i",name:"ghostSpread"},{type:"i",name:"ghostChroma"},{type:"i",name:"ghostInt"},{type:"i",name:"disc"},{type:"i",name:"tint"}],body:[0,[[13,"offset",[7,"disc","x"]],[13,"size",[7,"disc","y"]],[13,"bright",[7,"disc","z"]],[13,"hollow",[7,"disc","w"]],[13,"r",[7,"tint","x"]],[13,"g",[7,"tint","y"]],[13,"b",[7,"tint","z"]],[13,"gPhase",[7,"tint","w"]],[13,"ghostPos",[6,[7,"lightPos","add"],[[6,[7,"flareAxis","mul"],[[1,[1,"offset","*","ghostSpread"],"*",[5,"2"]]]]]]],[13,"toGhost",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[7,"ghostPos","x"]],"*","aspect"],[1,[7,"uv","y"],"-",[7,"ghostPos","y"]]]]],[13,"dist",[6,"std.length",["toGhost"]]],[13,"sz","size"],[13,"discShape",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"sz","*",[5,"0.12"]],"sz","dist"]]]],[13,"innerFade",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"sz","*",[5,"0.05"]],[1,"sz","*",[5,"0.45"]],"dist"]]]],[13,"shape",[1,"discShape","*",[1,[5,"1"],"-",[1,"innerFade","*","hollow"]]]],[13,"gShimmer",[1,[1,[1,[6,"std.sin",[[1,[1,"t","*",[5,"4.3"]],"+","gPhase"]]],"*",[5,"0.08"]],"+",[1,[6,"std.sin",[[1,[1,"t","*",[5,"9.1"]],"+",[1,"gPhase","*",[5,"1.7"]]]]],"*",[5,"0.05"]]],"+",[5,"0.95"]]],[13,"ringCenter",[1,"sz","*",[5,"0.78"]]],[13,"chromaSpread",[1,[1,"sz","*","ghostChroma"],"*",[5,"0.14"]]],[13,"ringWidth",[1,"sz","*",[5,"0.1"]]],[13,"ring",[6,"lightfields.chromaticRingBand",["dist","ringCenter","chromaSpread","ringWidth"]]],[13,"rRing",[7,"ring","x"]],[13,"gRing",[7,"ring","y"]],[13,"bRing",[7,"ring","z"]],[13,"brightness",[1,[1,"bright","*","ghostInt"],"*","gShimmer"]],[10,[6,"d.vec3f",[[1,[1,[1,"shape","*","r"],"+",[1,"rRing","*","ghostChroma"]],"*","brightness"],[1,[1,[1,"shape","*","g"],"+",[1,"gRing","*","ghostChroma"]],"*","brightness"],[1,[1,[1,"shape","*","b"],"+",[1,"bRing","*","ghostChroma"]],"*","brightness"]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.smoothstep":()=>re,"std.sin":()=>Y,"lightfields.chromaticRingBand":()=>Hl,"d.vec3f":()=>f}})&&e.f)({})),QB=v.fn([l,a,l,a,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=l(__tsover_sub(1,r.x),__tsover_sub(1,r.y)),u=l(__tsover_mul(__tsover_sub(t.x,_.x),s),__tsover_sub(t.y,_.y)),m=Hl(j(u),i,__tsover_mul(__tsover_mul(i,d),.06),__tsover_add(__tsover_mul(c,.12),.005)),p=tt(u.y,u.x),y=__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(p,3),__tsover_mul(o,.5))),.12),.88);return m.mul(n).mul(y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"lightPos"},{type:"i",name:"t"},{type:"i",name:"haloInt"},{type:"i",name:"haloRad"},{type:"i",name:"haloChroma"},{type:"i",name:"haloSoft"}],body:[0,[[13,"antiLight",[6,"d.vec2f",[[1,[5,"1"],"-",[7,"lightPos","x"]],[1,[5,"1"],"-",[7,"lightPos","y"]]]]],[13,"toAntiLight",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[7,"antiLight","x"]],"*","aspect"],[1,[7,"uv","y"],"-",[7,"antiLight","y"]]]]],[13,"antiLightDist",[6,"std.length",["toAntiLight"]]],[13,"haloChromaSpread",[1,[1,"haloRad","*","haloChroma"],"*",[5,"0.06"]]],[13,"haloWidth",[1,[1,"haloSoft","*",[5,"0.12"]],"+",[5,"0.005"]]],[13,"halo",[6,"lightfields.chromaticRingBand",["antiLightDist","haloRad","haloChromaSpread","haloWidth"]]],[13,"haloAngle",[6,"std.atan2",[[7,"toAntiLight","y"],[7,"toAntiLight","x"]]]],[13,"haloAngVar",[1,[1,[6,"std.sin",[[1,[1,"haloAngle","*",[5,"3"]],"+",[1,"t","*",[5,"0.5"]]]]],"*",[5,"0.12"]],"+",[5,"0.88"]]],[10,[6,[7,[6,[7,"halo","mul"],["haloInt"]],"mul"],["haloAngVar"]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"lightfields.chromaticRingBand":()=>Hl,"std.atan2":()=>tt,"std.sin":()=>Y}})&&e.f)({})),JB=v.fn([a,l,a,a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=tt(s.y,__tsover_mul(s.x,r)),_=__tsover_add(__tsover_mul(c,.5),__tsover_mul(o,.06)),u=__tsover_add(t,_),m=Sm(u,__tsover_div(i,2),3.5),p=__tsover_mul(Sm(__tsover_add(u,.25),__tsover_div(i,2),7),.4),y=__tsover_div(1,__tsover_add(1,__tsover_mul(__tsover_mul(n,n),60))),h=db(__tsover_add(__tsover_div(u,it),.5));return X(f(1,.97,.92),h,.12).mul(__tsover_mul(__tsover_mul(__tsover_add(m,p),y),d))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lightAngle"},{type:"i",name:"flareAxis"},{type:"i",name:"aspect"},{type:"i",name:"t"},{type:"i",name:"lightDist"},{type:"i",name:"starburstPts"},{type:"i",name:"starburstInt"}],body:[0,[[13,"axisAng",[6,"std.atan2",[[7,"flareAxis","y"],[1,[7,"flareAxis","x"],"*","aspect"]]]],[13,"rotation",[1,[1,"axisAng","*",[5,"0.5"]],"+",[1,"t","*",[5,"0.06"]]]],[13,"spikeAngle",[1,"lightAngle","+","rotation"]],[13,"primarySpikes",[6,"lightfields.angularCosineSpikes",["spikeAngle",[1,"starburstPts","/",[5,"2"]],[5,"3.5"]]]],[13,"secondarySpikes",[1,[6,"lightfields.angularCosineSpikes",[[1,"spikeAngle","+",[5,"0.25"]],[1,"starburstPts","/",[5,"2"]],[5,"7"]]],"*",[5,"0.4"]]],[13,"radialFall",[1,[5,"1"],"/",[1,[5,"1"],"+",[1,[1,"lightDist","*","lightDist"],"*",[5,"60"]]]]],[13,"starSpectral",[6,"lensFlareSpectral",[[1,[1,"spikeAngle","/","TAU_FULL"],"+",[5,"0.5"]]]]],[13,"starTint",[6,"std.mix",[[6,"d.vec3f",[[5,"1"],[5,"0.97"],[5,"0.92"]]],"starSpectral",[5,"0.12"]]]],[10,[6,[7,"starTint","mul"],[[1,[1,[1,"primarySpikes","+","secondarySpikes"],"*","radialFall"],"*","starburstInt"]]]]]]},externals:{"std.atan2":()=>tt,"lightfields.angularCosineSpikes":()=>Sm,lensFlareSpectral:()=>db,TAU_FULL:()=>it,"std.mix":()=>X,"d.vec3f":()=>f}})&&e.f)({})),eW=v.fn([l,l,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=z(__tsover_sub(t.y,s.y)),i=z(__tsover_sub(t.x,s.x)),d=ct(__tsover_mul(__tsover_mul(-800,n),n)),c=__tsover_add(__tsover_mul(__tsover_mul(r,r),.25),.001),_=ct(__tsover_div(__tsover_mul(__tsover_mul(-1,i),i),__tsover_mul(c,.7))),u=ct(__tsover_div(__tsover_mul(__tsover_mul(-1,i),i),c)),m=ct(__tsover_div(__tsover_mul(__tsover_mul(-1,i),i),__tsover_mul(c,1.4)));return f(__tsover_mul(__tsover_mul(d,_),.5),__tsover_mul(__tsover_mul(d,u),.65),__tsover_mul(__tsover_mul(d,m),.9)).mul(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"lightPos"},{type:"i",name:"streakLen"},{type:"i",name:"streakInt"}],body:[0,[[13,"dy",[6,"std.abs",[[1,[7,"uv","y"],"-",[7,"lightPos","y"]]]]],[13,"dx",[6,"std.abs",[[1,[7,"uv","x"],"-",[7,"lightPos","x"]]]]],[13,"vertFall",[6,"std.exp",[[1,[1,[4,"-",[5,"800"]],"*","dy"],"*","dy"]]]],[13,"lenSq",[1,[1,[1,"streakLen","*","streakLen"],"*",[5,"0.25"]],"+",[5,"0.001"]]],[13,"rStreak",[6,"std.exp",[[1,[1,[1,[4,"-",[5,"1"]],"*","dx"],"*","dx"],"/",[1,"lenSq","*",[5,"0.7"]]]]]],[13,"gStreak",[6,"std.exp",[[1,[1,[1,[4,"-",[5,"1"]],"*","dx"],"*","dx"],"/","lenSq"]]]],[13,"bStreak",[6,"std.exp",[[1,[1,[1,[4,"-",[5,"1"]],"*","dx"],"*","dx"],"/",[1,"lenSq","*",[5,"1.4"]]]]]],[10,[6,[7,[6,"d.vec3f",[[1,[1,"vertFall","*","rStreak"],"*",[5,"0.5"]],[1,[1,"vertFall","*","gStreak"],"*",[5,"0.65"]],[1,[1,"vertFall","*","bStreak"],"*",[5,"0.9"]]]],"mul"],["streakInt"]]]]]},externals:{"std.abs":()=>z,"std.exp":()=>ct,"d.vec3f":()=>f}})&&e.f)({})),tW=v.fn([a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Qg(t,__tsover_div(1,__tsover_add(__tsover_mul(s,s),.01)));return f(1,.98,.95).mul(__tsover_mul(o,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lightDist"},{type:"i",name:"glareSz"},{type:"i",name:"glareInt"}],body:[0,[[13,"glareSharpness",[1,[5,"1"],"/",[1,[1,"glareSz","*","glareSz"],"+",[5,"0.01"]]]],[13,"glareFalloff",[6,"lightfields.radialGaussianFalloff",["lightDist","glareSharpness"]]],[10,[6,[7,[6,"d.vec3f",[[5,"1"],[5,"0.98"],[5,"0.95"]]],"mul"],[[1,"glareFalloff","*","glareInt"]]]]]]},externals:{"lightfields.radialGaussianFalloff":()=>Qg,"d.vec3f":()=>f}})&&e.f)({})),sW=v.fn([a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=ct(__tsover_mul(__tsover_mul(-500,t),t)),o=__tsover_sub(1,re(0,.025,t));return f(1,.98,.96).mul(__tsover_mul(__tsover_add(r,__tsover_mul(o,1.5)),s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lightDist"},{type:"i",name:"intensity"}],body:[0,[[13,"coreSoft",[6,"std.exp",[[1,[1,[4,"-",[5,"500"]],"*","lightDist"],"*","lightDist"]]]],[13,"coreSharp",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],[5,"0.025"],"lightDist"]]]],[10,[6,[7,[6,"d.vec3f",[[5,"1"],[5,"0.98"],[5,"0.96"]]],"mul"],[[1,[1,"coreSoft","+",[1,"coreSharp","*",[5,"1.5"]]],"*","intensity"]]]]]]},externals:{"std.exp":()=>ct,"std.smoothstep":()=>re,"d.vec3f":()=>f}})&&e.f)({})),rW=v.fn([f,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.mul(s);return x(r,$(__tsover_mul(Ll(r),2),0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"flareTotal"},{type:"i",name:"masterFade"}],body:[0,[[13,"finalColor",[6,[7,"flareTotal","mul"],["masterFade"]]],[13,"flareAlpha",[6,"std.clamp",[[1,[6,"tone.luma601Dot",["finalColor"]],"*",[5,"2"]],[5,"0"],[5,"1"]]]],[10,[6,"d.vec4f",["finalColor","flareAlpha"]]]]]},externals:{"std.clamp":()=>$,"tone.luma601Dot":()=>Ll,"d.vec4f":()=>x}})&&e.f)({})),oW=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(o,.03),i=l(Br(t.mul(5).add(l(n,n))),Br(t.mul(5).add(l(31.4,31.4)).add(l(n,n)))).sub(l(.5,.5)),d=l(__tsover_div(1,s.x),__tsover_div(1,s.y));return t.add(i.mul(r).mul(d).mul(8))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"bleed"},{type:"i",name:"time"}],body:[0,[[13,"t",[1,"time","*",[5,"0.03"]]],[13,"wob",[6,[7,[6,"d.vec2f",[[6,"noise.value12",[[6,[7,[6,[7,"uv","mul"],[[5,"5"]]],"add"],[[6,"d.vec2f",["t","t"]]]]]],[6,"noise.value12",[[6,[7,[6,[7,[6,[7,"uv","mul"],[[5,"5"]]],"add"],[[6,"d.vec2f",[[5,"31.4"],[5,"31.4"]]]]],"add"],[[6,"d.vec2f",["t","t"]]]]]]]],"sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"texel",[6,"d.vec2f",[[1,[5,"1"],"/",[7,"viewport","x"]],[1,[5,"1"],"/",[7,"viewport","y"]]]]],[10,[6,[7,"uv","add"],[[6,[7,[6,[7,[6,[7,"wob","mul"],["bleed"]],"mul"],["texel"]],"mul"],[[5,"8"]]]]]]]]},externals:{"d.vec2f":()=>l,"noise.value12":()=>Br}})&&e.f)({})),nW=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return l(__tsover_add(t.x,__tsover_div(r,s.x)),__tsover_add(t.y,__tsover_div(o,s.y)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uvBase"},{type:"i",name:"viewport"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"uvBase","x"],"+",[1,"ox","/",[7,"viewport","x"]]],[1,[7,"uvBase","y"],"+",[1,"oy","/",[7,"viewport","y"]]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),aW=v.fn([l,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return Br(t.mul(s).mul(.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"}],body:[0,[[10,[6,"noise.value12",[[6,[7,[6,[7,"uv","mul"],["viewport"]],"mul"],[[5,"0.5"]]]]]]]]},externals:{"noise.value12":()=>Br}})&&e.f)({})),iW=v.fn([x,x,x,x,f,f,f,f,a,x,x,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p,y,h)=>{"use gpu";let g=t.mul(_),w=s.mul(_),S=r.mul(_),T=o.mul(_),A=f(g.x,g.y,g.z),P=f(w.x,w.y,w.z),U=f(S.x,S.y,S.z),D=f(T.x,T.y,T.z),O=n.mul(_).sub(A.mul(A)),L=i.mul(_).sub(P.mul(P)),G=d.mul(_).sub(U.mul(U)),W=c.mul(_).sub(D.mul(D)),K=__tsover_add(__tsover_add(O.x,O.y),O.z),Q=__tsover_add(__tsover_add(L.x,L.y),L.z),te=__tsover_add(__tsover_add(G.x,G.y),G.z),ee=__tsover_add(__tsover_add(W.x,W.y),W.z),he=x(g.x,g.y,g.z,g.w),Ee=K;he=C(he,w,Qf,"d.vec4f":()=>x,"std.select":()=>C,"std.min":()=>oe,"blend.unpremultiplyAlpha":()=>dn,"std.mix":()=>X}})&&e.f)({})),cb=Math.sin(.785),_b=Math.cos(.785),lb=Math.sin(-.785),ub=Math.cos(-.785),Xd=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return Ot(t)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[10,[6,"noise.hash12",["p"]]]]]},externals:{"noise.hash12":()=>Ot}})&&e.f)({})),Bm=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=q(t),r=ue(t),o=r.mul(r).mul(r.mul(-2).add(3)),n=Xd(s),i=Xd(l(__tsover_add(s.x,1),s.y)),d=Xd(l(s.x,__tsover_add(s.y,1))),c=Xd(l(__tsover_add(s.x,1),__tsover_add(s.y,1)));return X(X(n,i,o.x),X(d,c,o.x),o.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"i",[6,"std.floor",["p"]]],[13,"f",[6,"std.fract",["p"]]],[13,"u",[6,[7,[6,[7,"f","mul"],["f"]],"mul"],[[6,[7,[6,[7,"f","mul"],[[4,"-",[5,"2"]]]],"add"],[[5,"3"]]]]]],[13,"a",[6,"chalkHash21",["i"]]],[13,"b",[6,"chalkHash21",[[6,"d.vec2f",[[1,[7,"i","x"],"+",[5,"1"]],[7,"i","y"]]]]]],[13,"c",[6,"chalkHash21",[[6,"d.vec2f",[[7,"i","x"],[1,[7,"i","y"],"+",[5,"1"]]]]]]],[13,"dd",[6,"chalkHash21",[[6,"d.vec2f",[[1,[7,"i","x"],"+",[5,"1"]],[1,[7,"i","y"],"+",[5,"1"]]]]]]],[10,[6,"std.mix",[[6,"std.mix",["a","b",[7,"u","x"]]],[6,"std.mix",["c","dd",[7,"u","x"]]],[7,"u","y"]]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,chalkHash21:()=>Xd,"d.vec2f":()=>l,"std.mix":()=>X}})&&e.f)({})),dW=v.fn([x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return se(f(t.x,t.y,t.z),f(.299,.587,.114))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"}],body:[0,[[10,[6,"std.dot",[[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]],[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),cW=v.fn([l,l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_div(1,s.x),d=__tsover_div(1,s.y);return l(__tsover_add(t.x,__tsover_mul(__tsover_mul(i,r),o)),__tsover_add(t.y,__tsover_mul(__tsover_mul(d,r),n)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"edgeThickness"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[13,"texelX",[1,[5,"1"],"/",[7,"viewport","x"]]],[13,"texelY",[1,[5,"1"],"/",[7,"viewport","y"]]],[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+",[1,[1,"texelX","*","edgeThickness"],"*","ox"]],[1,[7,"uv","y"],"+",[1,[1,"texelY","*","edgeThickness"],"*","oy"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),el=v.fn([l,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_add(__tsover_mul(t.x,o),__tsover_mul(t.y,n)),c=__tsover_mul(z(__tsover_sub(ue(__tsover_div(d,s)),.5)),2),_=__tsover_sub(1,re(0,.35,c));return __tsover_mul(_,De(i,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"P"},{type:"i",name:"hatchScale"},{type:"i",name:"shade"},{type:"i",name:"sa"},{type:"i",name:"ca"},{type:"i",name:"thr"}],body:[0,[[13,"ry",[1,[1,[7,"P","x"],"*","sa"],"+",[1,[7,"P","y"],"*","ca"]]],[13,"hl",[1,[6,"std.abs",[[1,[6,"std.fract",[[1,"ry","/","hatchScale"]]],"-",[5,"0.5"]]]],"*",[5,"2"]]],[13,"line",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],[5,"0.35"],"hl"]]]],[10,[1,"line","*",[6,"std.step",["thr","shade"]]]]]]},externals:{"std.abs":()=>z,"std.fract":()=>ue,"std.smoothstep":()=>re,"std.step":()=>De}})&&e.f)({})),_W=v.fn([x,x,l,l,x,x,x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=t.x,u=t.y,m=t.z,p=t.w,y=s.x,h=s.y,g=s.z,w=s.w,S=n.x,T=n.y,A=i.x,P=i.y,U=i.z,D=i.w,O=__tsover_add(__tsover_add(__tsover_add(__tsover_sub(__tsover_sub(-_,__tsover_mul(p,2)),h),m),__tsover_mul(y,2)),w),L=__tsover_add(__tsover_add(__tsover_add(__tsover_sub(__tsover_sub(-_,__tsover_mul(u,2)),m),h),__tsover_mul(g,2)),w),G=be(__tsover_add(__tsover_mul(O,O),__tsover_mul(L,L))),W=X(a(1),.08,A),K=re(__tsover_mul(W,.4),W,G),Q=__tsover_sub(1,S),te=r.mul(o),ee=__tsover_mul(b(b(el(te,P,Q,cb,_b,.22),el(te,P,Q,lb,ub,.5)),el(te,P,Q,0,1,.78)),U),he=X(__tsover_sub(1,D),a(1),Bm(te.mul(.5))),Ee=$(__tsover_mul(b(K,ee),he),0,1),Te=__tsover_mul(__tsover_sub(Bm(te.mul(.9)),.5),.04);return x(X(d.xyz.add(Te),c.xyz,f(Ee)),T)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sobelA"},{type:"i",name:"sobelB"},{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"misc"},{type:"i",name:"params"},{type:"i",name:"boardColor"},{type:"i",name:"chalkColor"}],body:[0,[[13,"tl",[7,"sobelA","x"]],[13,"t",[7,"sobelA","y"]],[13,"tr",[7,"sobelA","z"]],[13,"l",[7,"sobelA","w"]],[13,"r",[7,"sobelB","x"]],[13,"bl",[7,"sobelB","y"]],[13,"bo",[7,"sobelB","z"]],[13,"br",[7,"sobelB","w"]],[13,"centerLum",[7,"misc","x"]],[13,"centerAlpha",[7,"misc","y"]],[13,"edgeSensitivity",[7,"params","x"]],[13,"hatchScale",[7,"params","y"]],[13,"shading",[7,"params","z"]],[13,"grain",[7,"params","w"]],[13,"gx",[1,[1,[1,[1,[1,[4,"-","tl"],"-",[1,"l","*",[5,"2"]]],"-","bl"],"+","tr"],"+",[1,"r","*",[5,"2"]]],"+","br"]],[13,"gy",[1,[1,[1,[1,[1,[4,"-","tl"],"-",[1,"t","*",[5,"2"]]],"-","tr"],"+","bl"],"+",[1,"bo","*",[5,"2"]]],"+","br"]],[13,"edgeMag",[6,"std.sqrt",[[1,[1,"gx","*","gx"],"+",[1,"gy","*","gy"]]]]],[13,"edgeHigh",[6,"std.mix",[[6,"d.f32",[[5,"1"]]],[5,"0.08"],"edgeSensitivity"]]],[13,"edge",[6,"std.smoothstep",[[1,"edgeHigh","*",[5,"0.4"]],"edgeHigh","edgeMag"]]],[13,"shade",[1,[5,"1"],"-","centerLum"]],[13,"P",[6,[7,"uv","mul"],["viewport"]]],[13,"hatch",[1,[6,"std.max",[[6,"std.max",[[6,"chalkHatchLine",["P","hatchScale","shade","SIN_045","COS_045",[5,"0.22"]]],[6,"chalkHatchLine",["P","hatchScale","shade","SIN_N45","COS_N45",[5,"0.5"]]]]],[6,"chalkHatchLine",["P","hatchScale","shade",[5,"0"],[5,"1"],[5,"0.78"]]]]],"*","shading"]],[13,"dust",[6,"std.mix",[[1,[5,"1"],"-","grain"],[6,"d.f32",[[5,"1"]]],[6,"chalkVnoise",[[6,[7,"P","mul"],[[5,"0.5"]]]]]]]],[13,"chalkMask",[6,"std.clamp",[[1,[6,"std.max",["edge","hatch"]],"*","dust"],[5,"0"],[5,"1"]]]],[13,"boardGrain",[1,[1,[6,"chalkVnoise",[[6,[7,"P","mul"],[[5,"0.9"]]]]],"-",[5,"0.5"]],"*",[5,"0.04"]]],[13,"boardRGB",[6,[7,[7,"boardColor","xyz"],"add"],["boardGrain"]]],[13,"col",[6,"std.mix",["boardRGB",[7,"chalkColor","xyz"],[6,"d.vec3f",["chalkMask"]]]]],[10,[6,"d.vec4f",["col","centerAlpha"]]]]]},externals:{"std.sqrt":()=>be,"std.mix":()=>X,"d.f32":()=>a,"std.smoothstep":()=>re,"std.max":()=>b,chalkHatchLine:()=>el,SIN_045:()=>cb,COS_045:()=>_b,SIN_N45:()=>lb,COS_N45:()=>ub,chalkVnoise:()=>Bm,"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})),mb=1080,Wm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cellCenter:l,cellUV:l,isOutside:a}),"AsciiGrid"),lW=v.fn([l,l,a,a],Wm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_div(s.y,mb),i=__tsover_mul(r,n),d=l(__tsover_div(s.x,i),__tsover_div(s.y,i)),c=l(__tsover_mul(t.x,d.x),__tsover_mul(t.y,d.y)),_=q(c),u=ue(c),m=__tsover_sub(u.x,.5),p=__tsover_sub(u.y,.5),y=l(__tsover_add(__tsover_div(m,o),.5),__tsover_add(__tsover_div(p,o),.5)),h=__tsover_mul(o,.5),g=C(a(0),a(1),z(m)>h||z(p)>h);return Wm({cellCenter:l(__tsover_div(__tsover_add(_.x,.5),d.x),__tsover_div(__tsover_add(_.y,.5),d.y)),cellUV:y,isOutside:g})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewport"},{type:"i",name:"cellSize"},{type:"i",name:"spacing"}],body:[0,[[13,"scaleFactor",[1,[7,"viewport","y"],"/","REFERENCE_HEIGHT"]],[13,"effectiveCellSize",[1,"cellSize","*","scaleFactor"]],[13,"mainGridSize",[6,"d.vec2f",[[1,[7,"viewport","x"],"/","effectiveCellSize"],[1,[7,"viewport","y"],"/","effectiveCellSize"]]]],[13,"gridCoords",[6,"d.vec2f",[[1,[7,"uv","x"],"*",[7,"mainGridSize","x"]],[1,[7,"uv","y"],"*",[7,"mainGridSize","y"]]]]],[13,"cellCoords",[6,"std.floor",["gridCoords"]]],[13,"rawCellUV",[6,"std.fract",["gridCoords"]]],[13,"centeredU",[1,[7,"rawCellUV","x"],"-",[5,"0.5"]]],[13,"centeredV",[1,[7,"rawCellUV","y"],"-",[5,"0.5"]]],[13,"cellUV",[6,"d.vec2f",[[1,[1,"centeredU","/","spacing"],"+",[5,"0.5"]],[1,[1,"centeredV","/","spacing"],"+",[5,"0.5"]]]]],[13,"half",[1,"spacing","*",[5,"0.5"]]],[13,"isOutside",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[3,[1,[6,"std.abs",["centeredU"]],">","half"],"||",[1,[6,"std.abs",["centeredV"]],">","half"]]]]],[13,"cellCenter",[6,"d.vec2f",[[1,[1,[7,"cellCoords","x"],"+",[5,"0.5"]],"/",[7,"mainGridSize","x"]],[1,[1,[7,"cellCoords","y"],"+",[5,"0.5"]],"/",[7,"mainGridSize","y"]]]]],[10,[6,"AsciiGrid",[[104,{cellCenter:"cellCenter",cellUV:"cellUV",isOutside:"isOutside"}]]]]]]},externals:{REFERENCE_HEIGHT:()=>mb,"d.vec2f":()=>l,"std.floor":()=>q,"std.fract":()=>ue,"std.select":()=>C,"d.f32":()=>a,"std.abs":()=>z,AsciiGrid:()=>Wm}})&&e.f)({})).$name("asciiGrid"),uW=v.fn([f,a,a,a,a,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=Ce(se(t,f(.299,.587,.114)),s),c=__tsover_sub(1,d),_=$(q(__tsover_mul(c,r)),0,__tsover_sub(r,1)),u=__tsover_sub(_,__tsover_mul(o,q(__tsover_div(_,o)))),m=q(__tsover_div(_,o)),p=__tsover_mul(__tsover_div(1,o),n),y=__tsover_mul(u,p),h=__tsover_mul(m,p);return l(__tsover_add(y,__tsover_mul(i.x,p)),__tsover_add(h,__tsover_mul(i.y,p)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellRgb"},{type:"i",name:"gamma"},{type:"i",name:"charCount"},{type:"i",name:"atlasSize"},{type:"i",name:"atlasScale"},{type:"i",name:"cellUV"}],body:[0,[[13,"rawBrightness",[6,"std.dot",["cellRgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"adjustedBrightness",[6,"std.pow",["rawBrightness","gamma"]]],[13,"invertedBrightness",[1,[5,"1"],"-","adjustedBrightness"]],[13,"scaledBrightness",[1,"invertedBrightness","*","charCount"]],[13,"charIndex",[6,"std.clamp",[[6,"std.floor",["scaledBrightness"]],[5,"0"],[1,"charCount","-",[5,"1"]]]]],[13,"atlasCol",[1,"charIndex","-",[1,"atlasSize","*",[6,"std.floor",[[1,"charIndex","/","atlasSize"]]]]]],[13,"atlasRow",[6,"std.floor",[[1,"charIndex","/","atlasSize"]]]],[13,"atlasCellSize",[1,[1,[5,"1"],"/","atlasSize"],"*","atlasScale"]],[13,"baseU",[1,"atlasCol","*","atlasCellSize"]],[13,"baseV",[1,"atlasRow","*","atlasCellSize"]],[10,[6,"d.vec2f",[[1,"baseU","+",[1,[7,"cellUV","x"],"*","atlasCellSize"]],[1,"baseV","+",[1,[7,"cellUV","y"],"*","atlasCellSize"]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.pow":()=>Ce,"std.clamp":()=>$,"std.floor":()=>q,"d.vec2f":()=>l}})&&e.f)({})).$name("asciiAtlasUV"),mW=v.fn([f,x,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=se(t,f(.299,.587,.114))<.1,d=s.w,c=d.5),u=i||r>.5||c,m=C(_,a(0),u);return x(__tsover_mul(t.x,s.x),__tsover_mul(t.y,s.y),__tsover_mul(t.z,s.z),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"asciiRgb"},{type:"i",name:"cellColor"},{type:"i",name:"isOutside"},{type:"i",name:"alphaThreshold"},{type:"i",name:"preserveAlpha"}],body:[0,[[13,"charBrightness",[6,"std.dot",["asciiRgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]],[13,"isBackground",[1,"charBrightness","<",[5,"0.1"]]],[13,"sourceAlpha",[7,"cellColor","w"]],[13,"isBelowThreshold",[1,"sourceAlpha","<","alphaThreshold"]],[13,"outputAlpha",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"sourceAlpha",[1,"preserveAlpha",">",[5,"0.5"]]]]],[13,"hide",[3,[3,"isBackground","||",[1,"isOutside",">",[5,"0.5"]]],"||","isBelowThreshold"]],[13,"finalAlpha",[6,"std.select",["outputAlpha",[6,"d.f32",[[5,"0"]]],"hide"]]],[10,[6,"d.vec4f",[[1,[7,"asciiRgb","x"],"*",[7,"cellColor","x"]],[1,[7,"asciiRgb","y"],"*",[7,"cellColor","y"]],[1,[7,"asciiRgb","z"],"*",[7,"cellColor","z"]],"finalAlpha"]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f,"std.select":()=>C,"d.f32":()=>a,"d.vec4f":()=>x}})&&e.f)({})).$name("asciiCompose");var Sz=v.fn([x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return l(__tsover_div(__tsover_sub(s.x,t.x),o),__tsover_div(__tsover_sub(r.x,t.x),o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"surf0"},{type:"i",name:"surfX"},{type:"i",name:"surfY"},{type:"i",name:"eps"}],body:[0,[[10,[6,"d.vec2f",[[1,[1,[7,"surfX","x"],"-",[7,"surf0","x"]],"/","eps"],[1,[1,[7,"surfY","x"],"-",[7,"surf0","x"]],"/","eps"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Az=v.fn([x,x,x,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return as(f($(__tsover_div(__tsover_sub(s.w,t.w),o),__tsover_mul(n,-1),n),$(__tsover_div(__tsover_sub(r.w,t.w),o),__tsover_mul(n,-1),n),-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"surf0"},{type:"i",name:"surfX"},{type:"i",name:"surfY"},{type:"i",name:"eps"},{type:"i",name:"gradClamp"}],body:[0,[[13,"ddx",[6,"std.clamp",[[1,[1,[7,"surfX","w"],"-",[7,"surf0","w"]],"/","eps"],[1,"gradClamp","*",[4,"-",[5,"1"]]],"gradClamp"]]],[13,"ddy",[6,"std.clamp",[[1,[1,[7,"surfY","w"],"-",[7,"surf0","w"]],"/","eps"],[1,"gradClamp","*",[4,"-",[5,"1"]]],"gradClamp"]]],[10,[6,"std.normalize",[[6,"d.vec3f",["ddx","ddy",[4,"-",[5,"1"]]]]]]]]]},externals:{"std.clamp":()=>$,"std.normalize":()=>as,"d.vec3f":()=>f}})&&e.f)({})),Mz=v.fn([l,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(j(t),1e-4),o=oe(s,.9995);return f(__tsover_mul(__tsover_div(t.x,r),o),__tsover_mul(__tsover_div(t.y,r),o),__tsover_mul(be(__tsover_sub(1,__tsover_mul(o,o))),-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"grad"},{type:"i",name:"sinTilt"}],body:[0,[[13,"glen",[6,"std.max",[[6,"std.length",["grad"]],[5,"0.0001"]]]],[13,"sB",[6,"std.min",["sinTilt",[5,"0.9995"]]]],[10,[6,"d.vec3f",[[1,[1,[7,"grad","x"],"/","glen"],"*","sB"],[1,[1,[7,"grad","y"],"/","glen"],"*","sB"],[1,[6,"std.sqrt",[[1,[5,"1"],"-",[1,"sB","*","sB"]]]],"*",[4,"-",[5,"1"]]]]]]]]},externals:{"std.max":()=>b,"std.length":()=>j,"std.min":()=>oe,"d.vec3f":()=>f,"std.sqrt":()=>be}})&&e.f)({})),Pz=v.fn([l,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(C(__tsover_sub(t.x,.5),s.y,r>.5),C(__tsover_sub(t.y,.5),s.z,r>.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdfUV"},{type:"i",name:"surf0"},{type:"i",name:"volumetric"}],body:[0,[[10,[6,"d.vec2f",[[6,"std.select",[[1,[7,"sdfUV","x"],"-",[5,"0.5"]],[7,"surf0","y"],[1,"volumetric",">",[5,"0.5"]]]],[6,"std.select",[[1,[7,"sdfUV","y"],"-",[5,"0.5"]],[7,"surf0","z"],[1,"volumetric",">",[5,"0.5"]]]]]]]]]},externals:{"d.vec2f":()=>l,"std.select":()=>C}})&&e.f)({})),Ez=v.fn([a,a],ft)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t>__tsover_mul(s,2)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"pxH"}],body:[0,[[10,[1,"sdf",">",[1,"pxH","*",[5,"2"]]]]]]},externals:{}})&&e.f)({})),pb=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(__tsover_mul(s,.03125),__tsover_mul(r,o));return $(__tsover_div(__tsover_mul(t,-1),n),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"sharpEdge"},{type:"i",name:"pxH"},{type:"i",name:"minPixels"}],body:[0,[[13,"w",[6,"std.max",[[1,"sharpEdge","*",[5,"0.03125"]],[1,"pxH","*","minPixels"]]]],[10,[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","w"],[5,"0"],[5,"1"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$}})&&e.f)({})),kz=v.fn([l,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return as(f(__tsover_mul(__tsover_mul(__tsover_sub(t.x,.5),s),r),__tsover_mul(__tsover_sub(t.y,.5),r),1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"fov"}],body:[0,[[10,[6,"std.normalize",[[6,"d.vec3f",[[1,[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],"*","fov"],[1,[1,[7,"uv","y"],"-",[5,"0.5"]],"*","fov"],[5,"1"]]]]]]]]},externals:{"std.normalize":()=>as,"d.vec3f":()=>f}})&&e.f)({})),Om=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({tangent:f,bitangent:f}),"TangentFrame"),fb=v.fn([f,f],Om)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=as(s.sub(t.mul(se(t,s))));return Om({tangent:r,bitangent:f(__tsover_sub(__tsover_mul(t.y,r.z),__tsover_mul(t.z,r.y)),__tsover_sub(__tsover_mul(t.z,r.x),__tsover_mul(t.x,r.z)),__tsover_sub(__tsover_mul(t.x,r.y),__tsover_mul(t.y,r.x)))})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"normal"},{type:"i",name:"dir"}],body:[0,[[13,"T3",[6,"std.normalize",[[6,[7,"dir","sub"],[[6,[7,"normal","mul"],[[6,"std.dot",["normal","dir"]]]]]]]]],[13,"B3",[6,"d.vec3f",[[1,[1,[7,"normal","y"],"*",[7,"T3","z"]],"-",[1,[7,"normal","z"],"*",[7,"T3","y"]]],[1,[1,[7,"normal","z"],"*",[7,"T3","x"]],"-",[1,[7,"normal","x"],"*",[7,"T3","z"]]],[1,[1,[7,"normal","x"],"*",[7,"T3","y"]],"-",[1,[7,"normal","y"],"*",[7,"T3","x"]]]]]],[10,[6,"TangentFrame",[[104,{tangent:"T3",bitangent:"B3"}]]]]]]},externals:{"std.normalize":()=>as,"std.dot":()=>se,"d.vec3f":()=>f,TangentFrame:()=>Om}})&&e.f)({})),$z=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({normal:f,tangent:f,light:f,view:f,alphaAlong:a,alphaAcross:a}),"WardSpecularInput"),pW=v.fn([$z],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=fb(t.normal,t.tangent),r=as(t.light.sub(t.view)),o=se(r,s.tangent),n=se(r,s.bitangent),i=$(z(se(r,t.normal)),1e-4,1),d=b(t.alphaAlong,1e-4),c=b(t.alphaAcross,1e-4),_=__tsover_div(__tsover_add(__tsover_mul(__tsover_div(o,d),__tsover_div(o,d)),__tsover_mul(__tsover_div(n,c),__tsover_div(n,c))),__tsover_mul(__tsover_add(i,1),.5));return ct(__tsover_mul(_,-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"frame",[6,"orthonormalTangentFrame",[[7,"p","normal"],[7,"p","tangent"]]]],[13,"H",[6,"std.normalize",[[6,[7,[7,"p","light"],"sub"],[[7,"p","view"]]]]]],[13,"hT",[6,"std.dot",["H",[7,"frame","tangent"]]]],[13,"hB",[6,"std.dot",["H",[7,"frame","bitangent"]]]],[13,"hN",[6,"std.clamp",[[6,"std.abs",[[6,"std.dot",["H",[7,"p","normal"]]]]],[5,"0.0001"],[5,"1"]]]],[13,"aT",[6,"std.max",[[7,"p","alphaAlong"],[5,"0.0001"]]]],[13,"aB",[6,"std.max",[[7,"p","alphaAcross"],[5,"0.0001"]]]],[13,"expo",[1,[1,[1,[1,"hT","/","aT"],"*",[1,"hT","/","aT"]],"+",[1,[1,"hB","/","aB"],"*",[1,"hB","/","aB"]]],"/",[1,[1,"hN","+",[5,"1"]],"*",[5,"0.5"]]]],[10,[6,"std.exp",[[1,"expo","*",[4,"-",[5,"1"]]]]]]]]},externals:{orthonormalTangentFrame:()=>fb,"std.normalize":()=>as,"std.dot":()=>se,"std.clamp":()=>$,"std.abs":()=>z,"std.max":()=>b,"std.exp":()=>ct}})&&e.f)({})),fW=v.fn([a,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return f(__tsover_add(__tsover_mul(H(__tsover_mul(__tsover_add(t,s),ao)),.5),.5),__tsover_add(__tsover_mul(H(__tsover_mul(__tsover_add(t,r),ao)),.5),.5),__tsover_add(__tsover_mul(H(__tsover_mul(__tsover_add(t,o),ao)),.5),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"phaseR"},{type:"i",name:"phaseG"},{type:"i",name:"phaseB"}],body:[0,[[10,[6,"d.vec3f",[[1,[1,[6,"std.cos",[[1,[1,"t","+","phaseR"],"*","TWO_PI"]]],"*",[5,"0.5"]],"+",[5,"0.5"]],[1,[1,[6,"std.cos",[[1,[1,"t","+","phaseG"],"*","TWO_PI"]]],"*",[5,"0.5"]],"+",[5,"0.5"]],[1,[1,[6,"std.cos",[[1,[1,"t","+","phaseB"],"*","TWO_PI"]]],"*",[5,"0.5"]],"+",[5,"0.5"]]]]]]]},externals:{"d.vec3f":()=>f,"std.cos":()=>H,TWO_PI:()=>ao}})&&e.f)({})),Uz=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return re(0,1,pb(t,b(__tsover_mul(s,.5),.001),r,1.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"edgeSoftness"},{type:"i",name:"pxH"}],body:[0,[[13,"sharpEdge",[6,"std.max",[[1,"edgeSoftness","*",[5,"0.5"]],[5,"0.001"]]]],[10,[6,"std.smoothstep",[[5,"0"],[5,"1"],[6,"insideMask",["sdf","sharpEdge","pxH",[5,"1.5"]]]]]]]]},externals:{"std.max":()=>b,"std.smoothstep":()=>re,insideMask:()=>pb}})&&e.f)({})),Vm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({L:f,H:f}),"KeyLight"),Cz=v.fn([a,a,a],Vm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=as(f(t,s,r));return Vm({L:o,H:as(o.add(f(0,0,-1)))})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"lx"},{type:"i",name:"ly"},{type:"i",name:"lz"}],body:[0,[[13,"L",[6,"std.normalize",[[6,"d.vec3f",["lx","ly","lz"]]]]],[13,"H",[6,"std.normalize",[[6,[7,"L","add"],[[6,"d.vec3f",[[5,"0"],[5,"0"],[4,"-",[5,"1"]]]]]]]]],[10,[6,"KeyLight",[[104,{L:"L",H:"H"}]]]]]]},externals:{"std.normalize":()=>as,"d.vec3f":()=>f,KeyLight:()=>Vm}})&&e.f)({})),vW=v.fn([f],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_sub(1,$(__tsover_mul(t.z,-1),0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"n"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.clamp",[[1,[7,"n","z"],"*",[4,"-",[5,"1"]]],[5,"0"],[5,"1"]]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({})),Rz=v.fn([a,a,x],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_mul(Ce(t,X(r.x,r.y,s)),X(r.z,r.w,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ndh"},{type:"i",name:"sharp"},{type:"i",name:"cfg"}],body:[0,[[10,[1,[6,"std.pow",["ndh",[6,"std.mix",[[7,"cfg","x"],[7,"cfg","y"],"sharp"]]]],"*",[6,"std.mix",[[7,"cfg","z"],[7,"cfg","w"],"sharp"]]]]]]},externals:{"std.pow":()=>Ce,"std.mix":()=>X}})&&e.f)({})),zz=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=a(4),o=la(t);return l($(__tsover_mul(o.y,s),__tsover_mul(r,-1),r),$(__tsover_mul(o.z,s),__tsover_mul(r,-1),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"q"},{type:"i",name:"gain"}],body:[0,[[13,"gMax",[6,"d.f32",[[5,"4"]]]],[13,"nd",[6,"perlin12d",["q"]]],[10,[6,"d.vec2f",[[6,"std.clamp",[[1,[7,"nd","y"],"*","gain"],[1,"gMax","*",[4,"-",[5,"1"]]],"gMax"]],[6,"std.clamp",[[1,[7,"nd","z"],"*","gain"],[1,"gMax","*",[4,"-",[5,"1"]]],"gMax"]]]]]]]},externals:{"d.f32":()=>a,perlin12d:()=>la,"d.vec2f":()=>l,"std.clamp":()=>$}})&&e.f)({})),Gz=v.fn([f,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return as(f(__tsover_add(t.x,s),__tsover_add(t.y,r),t.z))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"n"},{type:"i",name:"dx"},{type:"i",name:"dy"}],body:[0,[[10,[6,"std.normalize",[[6,"d.vec3f",[[1,[7,"n","x"],"+","dx"],[1,[7,"n","y"],"+","dy"],[7,"n","z"]]]]]]]]},externals:{"std.normalize":()=>as,"d.vec3f":()=>f}})&&e.f)({})),Yz=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=$(__tsover_mul(__tsover_mul(t,-1),2),0,1.2);return C(__tsover_mul($(__tsover_mul(t,-1),0,.5),2),r,s>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"volumetric"}],body:[0,[[13,"thickVol",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"*",[5,"2"]],[5,"0"],[5,"1.2"]]]],[13,"thickFlat",[1,[6,"std.clamp",[[1,"sdf","*",[4,"-",[5,"1"]]],[5,"0"],[5,"0.5"]]],"*",[5,"2"]]],[10,[6,"std.select",["thickFlat","thickVol",[1,"volumetric",">",[5,"0.5"]]]]]]]},externals:{"std.clamp":()=>$,"std.select":()=>C}})&&e.f)({})),yW=v.fn([a,f],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return f(ct(__tsover_mul(__tsover_mul(t,s.x),-1)),ct(__tsover_mul(__tsover_mul(t,s.y),-1)),ct(__tsover_mul(__tsover_mul(t,s.z),-1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"thickness"},{type:"i",name:"absorb"}],body:[0,[[10,[6,"d.vec3f",[[6,"std.exp",[[1,[1,"thickness","*",[7,"absorb","x"]],"*",[4,"-",[5,"1"]]]]],[6,"std.exp",[[1,[1,"thickness","*",[7,"absorb","y"]],"*",[4,"-",[5,"1"]]]]],[6,"std.exp",[[1,[1,"thickness","*",[7,"absorb","z"]],"*",[4,"-",[5,"1"]]]]]]]]]]},externals:{"d.vec3f":()=>f,"std.exp":()=>ct}})&&e.f)({})),Lz=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(__tsover_mul(Y(__tsover_add(__tsover_add(__tsover_mul(t.x,1.7),__tsover_mul(s,.7)),1.7)),H(__tsover_add(__tsover_add(__tsover_mul(t.y,1.3),__tsover_mul(s,.5)),2.3))),__tsover_mul(H(__tsover_add(__tsover_add(__tsover_mul(t.x,1.4),__tsover_mul(s,.9)),8.7)),Y(__tsover_add(__tsover_add(__tsover_mul(t.y,1.6),__tsover_mul(s,.6)),5.1))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"warpInput"},{type:"i",name:"flowT"}],body:[0,[[13,"wx",[1,[6,"std.sin",[[1,[1,[1,[7,"warpInput","x"],"*",[5,"1.7"]],"+",[1,"flowT","*",[5,"0.7"]]],"+",[5,"1.7"]]]],"*",[6,"std.cos",[[1,[1,[1,[7,"warpInput","y"],"*",[5,"1.3"]],"+",[1,"flowT","*",[5,"0.5"]]],"+",[5,"2.3"]]]]]],[13,"wy",[1,[6,"std.cos",[[1,[1,[1,[7,"warpInput","x"],"*",[5,"1.4"]],"+",[1,"flowT","*",[5,"0.9"]]],"+",[5,"8.7"]]]],"*",[6,"std.sin",[[1,[1,[1,[7,"warpInput","y"],"*",[5,"1.6"]],"+",[1,"flowT","*",[5,"0.6"]]],"+",[5,"5.1"]]]]]],[10,[6,"d.vec2f",["wx","wy"]]]]]},externals:{"std.sin":()=>Y,"std.cos":()=>H,"d.vec2f":()=>l}})&&e.f)({})),Iz=v.fn([a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=__tsover_sub(__tsover_mul(t,r),__tsover_mul(s,o)),u=__tsover_add(__tsover_mul(t,o),__tsover_mul(s,r)),m=l(_,u),p=re(-.7,.85,u),y=__tsover_mul(__tsover_mul(p,p),c),h=__tsover_mul(n,1);y=__tsover_add(y,__tsover_mul(__tsover_mul(re(h,__tsover_mul(h,.2),j(m.sub(l(__tsover_add(0,i),.55)))),1.7),d));let g=__tsover_mul(n,1.15);y=__tsover_add(y,__tsover_mul(__tsover_mul(re(g,__tsover_mul(g,.2),j(m.sub(l(__tsover_add(-.55,i),.18)))),1.05),d));let w=__tsover_mul(n,1);y=__tsover_add(y,__tsover_mul(__tsover_mul(re(w,__tsover_mul(w,.2),j(m.sub(l(__tsover_add(.55,i),.1)))),1),d));let S=__tsover_mul(n,1.3);y=__tsover_add(y,__tsover_mul(__tsover_mul(re(S,__tsover_mul(S,.2),j(m.sub(l(__tsover_add(.2,i),-.5)))),.7),d));let T=__tsover_mul(n,1.1);return y=__tsover_add(y,__tsover_mul(__tsover_mul(re(T,__tsover_mul(T,.2),j(m.sub(l(__tsover_add(-.35,i),-.25)))),.85),d)),y}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rx"},{type:"i",name:"ry"},{type:"i",name:"envC"},{type:"i",name:"envS"},{type:"i",name:"keyRad"},{type:"i",name:"drift"},{type:"i",name:"envStr"},{type:"i",name:"skyGain"}],body:[0,[[13,"ex",[1,[1,"rx","*","envC"],"-",[1,"ry","*","envS"]]],[13,"ey",[1,[1,"rx","*","envS"],"+",[1,"ry","*","envC"]]],[13,"p",[6,"d.vec2f",["ex","ey"]]],[13,"sky",[6,"std.smoothstep",[[4,"-",[5,"0.7"]],[5,"0.85"],"ey"]]],[12,"lum",[1,[1,"sky","*","sky"],"*","skyGain"]],[13,"r0",[1,"keyRad","*",[5,"1"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r0",[1,"r0","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[5,"0"],"+","drift"],[5,"0.55"]]]]]]]]],"*",[5,"1.7"]],"*","envStr"]]],[13,"r1",[1,"keyRad","*",[5,"1.15"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r1",[1,"r1","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[4,"-",[5,"0.55"]],"+","drift"],[5,"0.18"]]]]]]]]],"*",[5,"1.05"]],"*","envStr"]]],[13,"r2",[1,"keyRad","*",[5,"1"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r2",[1,"r2","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[5,"0.55"],"+","drift"],[5,"0.1"]]]]]]]]],"*",[5,"1"]],"*","envStr"]]],[13,"r3",[1,"keyRad","*",[5,"1.3"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r3",[1,"r3","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[5,"0.2"],"+","drift"],[4,"-",[5,"0.5"]]]]]]]]]],"*",[5,"0.7"]],"*","envStr"]]],[13,"r4",[1,"keyRad","*",[5,"1.1"]]],[2,"lum","=",[1,"lum","+",[1,[1,[6,"std.smoothstep",["r4",[1,"r4","*",[5,"0.2"]],[6,"std.length",[[6,[7,"p","sub"],[[6,"d.vec2f",[[1,[4,"-",[5,"0.35"]],"+","drift"],[4,"-",[5,"0.25"]]]]]]]]]],"*",[5,"0.85"]],"*","envStr"]]],[10,"lum"]]]},externals:{"d.vec2f":()=>l,"std.smoothstep":()=>re,"std.length":()=>j}})&&e.f)({})),Dz=new Map,vb=new Set;function v7(e){return Dz.get(e)??null}function y7(e){return vb.add(e),()=>{vb.delete(e)}}var Fz=16,Bz=64;var hW=Fz*Bz;var Wz=Za({accumulateInstances:()=>Kz,formatFloat:()=>o1,gridPlacement:()=>Nz,instanceHueShift:()=>jz,instanceVariation:()=>Hz,linePlacement:()=>Xz,placementField:()=>Vz,radialPlacement:()=>qz,sourceRect:()=>Oz}),pc=Math.PI;function Oz(e,t,s){let{p:r,L:o}=e;return[`let ${r}_cropL = ${s.left};`,`let ${r}_cropR = ${s.right};`,`let ${r}_cropT = ${s.top};`,`let ${r}_cropB = ${s.bottom};`,`let ${r}_srcCx = (${t.cx}) + (${r}_cropL - ${r}_cropR) * (${t.hw});`,`let ${r}_srcCy = (${t.cy}) + (${r}_cropT - ${r}_cropB) * (${t.hh});`,`let ${r}_srcHw = max((${t.hw}) * (1.0 - ${r}_cropL - ${r}_cropR), ${o(1e-6)});`,`let ${r}_srcHh = max((${t.hh}) * (1.0 - ${r}_cropT - ${r}_cropB), ${o(1e-6)});`,`let ${r}_srcHwSq = ${r}_srcHw * ${r}_aspect;`,`let ${r}_srcHhSq = ${r}_srcHh;`]}function Vz(e,t){let{p:s,L:r}=e;return[`let ${s}_fieldCenterSq = vec2f((${t.cx}) * ${s}_aspect, ${t.cy});`,`let ${s}_fieldHwSq = max((${t.hw}) * ${s}_aspect, ${r(1e-6)});`,`let ${s}_fieldHh = max(${t.hh}, ${r(1e-6)});`]}function Nz(e,t){return{requested:()=>`(${e.columns} * ${e.rows})`,body:s=>{let{p:r,L:o}=s,n=[`let ${r}_cols = ${e.columns};`,`let ${r}_rows = ${e.rows};`,`let ${r}_col = ${r}_j - ${r}_cols * floor(${r}_j / ${r}_cols);`,`let ${r}_row = floor(${r}_j / ${r}_cols);`,`let ${r}_gapXSq = ${e.gapX} * ${r}_aspect;`,`let ${r}_gapY = ${e.gapY};`,`let ${r}_fieldW = ${r}_fieldHwSq * 2.0;`,`let ${r}_fieldH = ${r}_fieldHh * 2.0;`,`let ${r}_pitchX = (${r}_fieldW - ${r}_gapXSq * (${r}_cols - 1.0)) / ${r}_cols;`,`let ${r}_pitchY = (${r}_fieldH - ${r}_gapY * (${r}_rows - 1.0)) / ${r}_rows;`,`let ${r}_periodX = ${r}_pitchX + ${r}_gapXSq;`,`let ${r}_periodY = ${r}_pitchY + ${r}_gapY;`,`${r}_cellFitInv = max(${r}_srcHwSq * 2.0 / max(${r}_pitchX, ${o(1e-5)}), ${r}_srcHhSq * 2.0 / max(${r}_pitchY, ${o(1e-5)}));`,`let ${r}_rowMod2 = ${r}_row - 2.0 * floor(${r}_row / 2.0);`,`let ${r}_staggerOff = ${r}_rowMod2 * ${e.stagger} * ${r}_periodX;`,`let ${r}_cxArg = ${r}_col * ${r}_periodX + ${r}_staggerOff + ${r}_phase * ${r}_periodX;`,`let ${r}_cxMod = ${r}_periodX * ${r}_cols;`,`let ${r}_cellX = ${r}_cxArg - ${r}_cxMod * floor(${r}_cxArg / ${r}_cxMod);`,`let ${r}_cyArg = ${r}_row * ${r}_periodY + ${r}_phase * ${r}_periodY;`,`let ${r}_cyMod = ${r}_periodY * ${r}_rows;`,`let ${r}_cellY = ${r}_cyArg - ${r}_cyMod * floor(${r}_cyArg / ${r}_cyMod);`,`${r}_pos = vec2f(${r}_fieldCenterSq.x - ${r}_fieldW * 0.5 + ${r}_pitchX * 0.5 + ${r}_cellX, ${r}_fieldCenterSq.y - ${r}_fieldH * 0.5 + ${r}_pitchY * 0.5 + ${r}_cellY);`];return(t===1||t===3)&&n.push(`${r}_flipX = 1.0 - (${r}_col - 2.0 * floor(${r}_col / 2.0)) * 2.0;`),(t===2||t===3)&&n.push(`${r}_flipY = 1.0 - (${r}_row - 2.0 * floor(${r}_row / 2.0)) * 2.0;`),n}}}function qz(e,t){return{requested:()=>t.count,body:s=>{let{p:r,L:o}=s;return[`let ${r}_cSq = ${e};`,`let ${r}_sweep = ${t.sweep} * ${o(pc/180)};`,`let ${r}_start = ${t.startAngle} * ${o(pc/180)};`,`let ${r}_ang = ${r}_start + ${r}_sweep * (${r}_j / ${r}_totalN) + ${r}_phase * ${r}_sweep;`,`${r}_pos = ${r}_cSq + vec2f(cos(${r}_ang), sin(${r}_ang)) * ${t.radius};`,`${r}_layoutRot = select(0.0, ${r}_ang + ${o(pc/2)}, ${t.faceCenter} > 0.0);`]}}}function Xz(e,t){return{requested:()=>t.count,body:s=>{let{p:r,L:o}=s;return[`let ${r}_cSq = ${e};`,`let ${r}_dirRad = ${t.direction} * ${o(pc/180)};`,`let ${r}_dir = vec2f(cos(${r}_dirRad), sin(${r}_dirRad));`,`let ${r}_tArg = ${r}_j + ${r}_phase;`,`let ${r}_t = ${r}_tArg - ${r}_totalN * floor(${r}_tArg / ${r}_totalN);`,`${r}_pos = ${r}_cSq + ${r}_dir * ${t.spacing} * ${r}_t;`]}}}function Hz(e,t){let{p:s,L:r}=e,o=n=>`fract(sin((${s}_hashBase + ${r(n)}) * 78.233) * 43758.5453)`;return[`let ${s}_hashBase = ${s}_j + ${s}_seed * 7.0;`,`let ${s}_h1 = ${o(.123)};`,`let ${s}_h2 = ${o(5.456)};`,`let ${s}_h3 = ${o(9.789)};`,`let ${s}_h4 = ${o(13.21)};`,`let ${s}_h5 = ${o(17.65)};`,`let ${s}_scale = max(pow(${t.scale}, ${s}_j) * (1.0 + ${t.jitterScale} * (${s}_h3 - 0.5)), ${r(1e-4)});`,`let ${s}_rot = ${s}_layoutRot + ${t.rotation} * ${s}_j + ${t.jitterRotation} * (${s}_h4 - 0.5) * ${r(pc*2)};`,`let ${s}_instOpacity = pow(${t.opacity}, ${s}_j) * (1.0 - ${t.jitterOpacity} * ${s}_h5);`,`${s}_pos = ${s}_pos + vec2f((${s}_h1 - 0.5) * ${s}_fieldHwSq, (${s}_h2 - 0.5) * ${s}_fieldHh) * ${t.jitterPosition};`]}function jz(e,t){let{p:s,L:r}=e;return[`let ${s}_hueAngle = ${t} * ${s}_j;`,`let ${s}_cosH = cos(${s}_hueAngle);`,`let ${s}_sinH = sin(${s}_hueAngle);`,`let ${s}_kOMC = (1.0 - ${s}_cosH) * ${r(1/3)};`,`let ${s}_sOS3 = ${s}_sinH / 1.7320508075688772;`,`let ${s}_mA = ${s}_cosH + ${s}_kOMC;`,`let ${s}_mB = ${s}_kOMC - ${s}_sOS3;`,`let ${s}_mC = ${s}_kOMC + ${s}_sOS3;`,`${s}_rgb = vec3f(${s}_src.r * ${s}_mA + ${s}_src.g * ${s}_mB + ${s}_src.b * ${s}_mC, ${s}_src.r * ${s}_mC + ${s}_src.g * ${s}_mA + ${s}_src.b * ${s}_mB, ${s}_src.r * ${s}_mB + ${s}_src.g * ${s}_mC + ${s}_src.b * ${s}_mA);`]}function Kz(e,t){let{p:s}=e,r=[];r.push(`let ${s}_totalN = min(max(${t.placement.requested()}, 1.0), 64.0);`),r.push(`var ${s}_accum = vec4f(0.0, 0.0, 0.0, 0.0);`),r.push(`var ${s}_cellFitInv = 1.0;`);let o=[];o.push(`let ${s}_fi = f32(${s}_i);`),o.push(t.zBack?`let ${s}_j = ${s}_totalN - 1.0 - ${s}_fi;`:`let ${s}_j = ${s}_fi;`),o.push(`var ${s}_pos = vec2f(0.0, 0.0);`),o.push(`var ${s}_layoutRot = 0.0;`),o.push(`var ${s}_flipX = 1.0;`),o.push(`var ${s}_flipY = 1.0;`),o.push(...t.placement.body(e)),o.push(...t.variation),o.push(`let ${s}_negRot = -${s}_rot;`),o.push(`let ${s}_cosA = cos(${s}_negRot);`),o.push(`let ${s}_sinA = sin(${s}_negRot);`),o.push(`let ${s}_d0 = ${s}_pix - ${s}_pos;`),o.push(`let ${s}_dr = vec2f(${s}_d0.x * ${s}_cosA - ${s}_d0.y * ${s}_sinA, ${s}_d0.x * ${s}_sinA + ${s}_d0.y * ${s}_cosA);`),o.push(`let ${s}_dl = ${s}_dr / ${s}_scale;`),o.push(`let ${s}_localU = ${s}_dl.x * ${s}_flipX * ${s}_cellFitInv / (${s}_srcHwSq * 2.0) + 0.5;`),o.push(`let ${s}_localV = ${s}_dl.y * ${s}_flipY * ${s}_cellFitInv / (${s}_srcHhSq * 2.0) + 0.5;`);let n=[];n.push(`let ${s}_sampleUV = vec2f(${s}_srcCx - ${s}_srcHw + ${s}_localU * ${s}_srcHw * 2.0, ${s}_srcCy - ${s}_srcHh + ${s}_localV * ${s}_srcHh * 2.0);`),n.push(`let ${s}_src = textureSampleLevel(tex.$.${t.texKey}, samp.$.linearClamp, ${s}_sampleUV, 0.0);`),n.push(`var ${s}_rgb = ${s}_src.rgb;`),n.push(...t.hue),n.push(`let ${s}_a = ${s}_src.a * ${s}_instOpacity;`),n.push(`let ${s}_premul = ${s}_rgb * ${s}_a;`),n.push(`${s}_accum = vec4f(${s}_premul + ${s}_accum.rgb * (1.0 - ${s}_a), ${s}_a + ${s}_accum.a * (1.0 - ${s}_a));`),o.push(`if (${s}_localU >= 0.0 && ${s}_localU <= 1.0 && ${s}_localV >= 0.0 && ${s}_localV <= 1.0) {`);for(let i of n)o.push(` ${i}`);o.push("}"),r.push(`for (var ${s}_i = 0u; ${s}_i < u32(${s}_totalN); ${s}_i++) {`);for(let i of o)r.push(` ${i}`);return r.push("}"),r}function _o(){if(typeof window>"u")return!1;let e=!!(window.matchMedia&&window.matchMedia("(pointer: coarse)").matches),t=Math.max(window.innerWidth||0,window.innerHeight||0);return e&&t>0&&t<=1366}function h7(){return _o()?1.5:2}var xW=_o()?24:50;var Zz=14,gW=Zz+1,Hp="rgba32float";var x7=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({dt:a,trackersF:a,agility:a,threshold:a,variance:a,lifespan:a}),"TrackParams"),bW=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({src:{texture:ps(a)},grid:{storageTexture:Mo(Hp,"write-only")},params:{uniform:x7}}),"featureLayout"),wW=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({src:{texture:ps(a)},featGrid:{texture:ps(a),sampleType:"unfilterable-float"},prev:{texture:ps(a),sampleType:"unfilterable-float"},next:{storageTexture:Mo(Hp,"write-only")},present:{storageTexture:Mo(Hp,"write-only")},params:{uniform:x7}}),"trackLayout"),TW=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return ue(__tsover_mul(Y(t),43758.5453123))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"}],body:[0,[[10,[6,"std.fract",[[1,[6,"std.sin",["x"]],"*",[5,"43758.5453123"]]]]]]]},externals:{"std.fract":()=>ue,"std.sin":()=>Y}})&&e.f)({})),"trackHash");function Qz(e={}){let t=e.smoothing??.2,s=e.teleportGuard??.25,r=e.minDrag??6e-4,o=e.initialX??.5,n=e.initialY??.5,i=0,d=0,c=!1,_=!1;return{update(u,m){let p=u?.seen===!1;p?c=!0:u?.x!==void 0&&c&&!_&&(_=!0,o=u.x,n=u.y??n);let y=o,h=n,g=p?o:u?.x??o,w=p?n:u?.y??n,S=g-y,T=w-h,A=Math.sqrt(S*S+T*T),P=A>=s;o=g,n=w;let U=P?0:S,D=P?0:T,O=1/Math.max(m,.001),L=U*O,G=D*O;return i=i*(1-t)+L*t,d=d*(1-t)+G*t,{x:g,y:w,prevX:y,prevY:h,dx:U,dy:D,dragDist:A,velX:L,velY:G,smoothVelX:i,smoothVelY:d,smoothSpeed:Math.sqrt(i*i+d*d),teleport:P,moving:!P&&A>r}}}}var yb=3,jp=Math.exp(-(yb*yb)),hb=1/(1-jp),Kp=.004,g7="rgba16float";function Jz(e){return v.bindGroupLayout({readBuf:{storage:pt(a,e),access:"readonly"},writeBuf:{storage:pt(a,e),access:"mutable"},params:{uniform:(globalThis.__TYPEGPU_AUTONAME__??(t=>t))(ut({cursorX:a,cursorY:a,cursorSpeed:a,dt:a,damping:a,radius:a,aspect:a}),"uniform")}})}function eG(e){return v.bindGroupLayout({srcBuf:{storage:pt(a,e),access:"readonly"},dispTex:{storageTexture:Mo(g7,"write-only")}})}var xb=new Map;function tG(e){let t=xb.get(e);if(t)return t;let s=e*e,r=e-1,o=Jz(s),n=eG(s),i={resolution:e,propagateLayout:o,gradientLayout:n,propagateKernel:v.fn([R,R])((d=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(d.f=((c,_)=>{"use gpu";if(c>R(0)&&cR(0)&&_=1),L=C(__tsover_div(__tsover_sub(D,u.cursorY),u.aspect),__tsover_sub(D,u.cursorY),u.aspect>=1),G=__tsover_add(__tsover_mul(O,O),__tsover_mul(L,L)),W=__tsover_mul(u.radius,3);if(G<__tsover_mul(W,W)&&u.cursorSpeed>.01){let K=__tsover_mul(__tsover_sub(ct(__tsover_mul(__tsover_div(G,__tsover_mul(u.radius,u.radius)),-1)),jp),hb);P=__tsover_sub(P,__tsover_mul(__tsover_mul(__tsover_mul(K,u.cursorSpeed),u.dt),3))}o.$.writeBuf[p]=P}}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[11,[3,[3,[3,[1,"cx",">",[6,"d.u32",[[5,"0"]]]],"&&",[1,"cx","<",[6,"d.u32",["gridMax"]]]],"&&",[1,"cy",">",[6,"d.u32",[[5,"0"]]]]],"&&",[1,"cy","<",[6,"d.u32",["gridMax"]]]],[0,[[13,"p",[7,[7,"propagateLayout","$"],"params"]],[13,"gs",[6,"d.u32",["resolution"]]],[13,"idx",[1,[1,"cy","*","gs"],"+","cx"]],[13,"left",[8,[7,[7,"propagateLayout","$"],"readBuf"],[1,"idx","-",[6,"d.u32",[[5,"1"]]]]]],[13,"right",[8,[7,[7,"propagateLayout","$"],"readBuf"],[1,"idx","+",[6,"d.u32",[[5,"1"]]]]]],[13,"up",[8,[7,[7,"propagateLayout","$"],"readBuf"],[1,"idx","-","gs"]]],[13,"down",[8,[7,[7,"propagateLayout","$"],"readBuf"],[1,"idx","+","gs"]]],[13,"avg",[1,[1,[1,[1,"left","+","right"],"+","up"],"+","down"],"*",[5,"0.5"]]],[13,"prev",[8,[7,[7,"propagateLayout","$"],"writeBuf"],"idx"]],[13,"dampFactor",[1,[5,"1"],"-",[1,[7,"p","damping"],"*","DAMPING_SCALE"]]],[12,"next",[1,[1,"avg","-","prev"],"*","dampFactor"]],[13,"cellX",[1,[1,[6,"d.f32",["cx"]],"+",[5,"0.5"]],"/",[6,"d.f32",["resolution"]]]],[13,"cellY",[1,[1,[6,"d.f32",["cy"]],"+",[5,"0.5"]],"/",[6,"d.f32",["resolution"]]]],[13,"ddx",[6,"std.select",[[1,"cellX","-",[7,"p","cursorX"]],[1,[1,"cellX","-",[7,"p","cursorX"]],"*",[7,"p","aspect"]],[1,[7,"p","aspect"],">=",[5,"1"]]]]],[13,"ddy",[6,"std.select",[[1,[1,"cellY","-",[7,"p","cursorY"]],"/",[7,"p","aspect"]],[1,"cellY","-",[7,"p","cursorY"]],[1,[7,"p","aspect"],">=",[5,"1"]]]]],[13,"distSq",[1,[1,"ddx","*","ddx"],"+",[1,"ddy","*","ddy"]]],[13,"influenceRadius",[1,[7,"p","radius"],"*",[5,"3"]]],[11,[3,[1,"distSq","<",[1,"influenceRadius","*","influenceRadius"]],"&&",[1,[7,"p","cursorSpeed"],">",[5,"0.01"]]],[0,[[13,"influence",[1,[1,[6,"std.exp",[[1,[1,"distSq","/",[1,[7,"p","radius"],"*",[7,"p","radius"]]],"*",[4,"-",[5,"1"]]]]],"-","BRUSH_EDGE"],"*","BRUSH_EDGE_GAIN"]],[2,"next","=",[1,"next","-",[1,[1,[1,"influence","*",[7,"p","cursorSpeed"]],"*",[7,"p","dt"]],"*",[5,"3"]]]]]]],[2,[8,[7,[7,"propagateLayout","$"],"writeBuf"],"idx"],"=","next"]]]]]]},externals:{"d.u32":()=>R,gridMax:()=>r,propagateLayout:()=>o,resolution:()=>e,DAMPING_SCALE:()=>Kp,"d.f32":()=>a,"std.select":()=>C,"std.exp":()=>ct,BRUSH_EDGE:()=>jp,BRUSH_EDGE_GAIN:()=>hb}})&&d.f)({})).$name(`waveFieldPropagate_${e}`),gradientKernel:v.fn([R,R])((d=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(d.f=((c,_)=>{"use gpu";if(c>R(0)&&cR(0)&&_",[6,"d.u32",[[5,"0"]]]],"&&",[1,"cx","<",[6,"d.u32",["gridMax"]]]],"&&",[1,"cy",">",[6,"d.u32",[[5,"0"]]]]],"&&",[1,"cy","<",[6,"d.u32",["gridMax"]]]],[0,[[13,"gs",[6,"d.u32",["resolution"]]],[13,"idx",[1,[1,"cy","*","gs"],"+","cx"]],[13,"right",[8,[7,[7,"gradientLayout","$"],"srcBuf"],[1,"idx","+",[6,"d.u32",[[5,"1"]]]]]],[13,"left",[8,[7,[7,"gradientLayout","$"],"srcBuf"],[1,"idx","-",[6,"d.u32",[[5,"1"]]]]]],[13,"down",[8,[7,[7,"gradientLayout","$"],"srcBuf"],[1,"idx","+","gs"]]],[13,"up",[8,[7,[7,"gradientLayout","$"],"srcBuf"],[1,"idx","-","gs"]]],[13,"dx",[1,[1,"right","-","left"],"*",[5,"0.5"]]],[13,"dy",[1,[1,"down","-","up"],"*",[5,"0.5"]]],[6,"std.textureStore",[[7,[7,"gradientLayout","$"],"dispTex"],[6,"d.vec2u",["cx","cy"]],[6,"d.vec4f",["dx","dy",[5,"0"],[5,"1"]]]]]]]]]]},externals:{"d.u32":()=>R,gridMax:()=>r,resolution:()=>e,gradientLayout:()=>n,"std.textureStore":()=>jr,"d.vec2u":()=>Ge,"d.vec4f":()=>x}})&&d.f)({})).$name(`waveFieldGradient_${e}`)};return xb.set(e,i),i}function sG(e,t){let{gpu:s,registerComputeTexture:r,getCpuValue:o,onCleanup:n,onResize:i,dimensions:d}=e,c=s?.root;if(!c)return null;let{resolution:_,dampingProp:u,radiusProp:m,radiusScale:p,speedMax:y,teleportGuard:h="on"}=t,{propagateLayout:g,gradientLayout:w,propagateKernel:S,gradientKernel:T}=tG(_),A=_*_,P=Y3(c,a,A),U=Y3(c,a,A),D=(globalThis.__TYPEGPU_AUTONAME__??(Me=>Me))(c.createTexture({size:[_,_],format:g7}).$usage("storage","sampled"),"dispTex");n(()=>D.destroy());let O=r(D),L=(globalThis.__TYPEGPU_AUTONAME__??(Me=>Me))(c.createUniform(ut({cursorX:a,cursorY:a,cursorSpeed:a,dt:a,damping:a,radius:a,aspect:a})),"propParams"),G=Math.max(1,Math.round(d.width)),W=Math.max(1,Math.round(d.height));i(({width:Me,height:Pe})=>{G=Math.max(1,Math.round(Me)),W=Math.max(1,Math.round(Pe))});let K=[_,_],Q=yz(P,U),te=Q.groups((Me,Pe)=>c.createBindGroup(g,{readBuf:Me,writeBuf:Pe,params:L.buffer})),ee=Q.perSide(Me=>c.createBindGroup(w,{srcBuf:Me,dispTex:D})),he=qp(c,(Me=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(Me.f=((Pe,Re)=>{"use gpu";S(Pe,Re)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[6,"propagateKernel",["cx","cy"]]]]},externals:{propagateKernel:()=>S}})&&Me.f)({}),{size:K}),Ee=qp(c,(Me=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(Me.f=((Pe,Re)=>{"use gpu";T(Pe,Re)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[6,"gradientKernel",["cx","cy"]]]]},externals:{gradientKernel:()=>T}})&&Me.f)({}),{size:K}),Te=Qz(h==="off"?{teleportGuard:Number.POSITIVE_INFINITY}:{}),Ue=Date.now();return{displacement:O,getComputeNodes:Me=>{let Pe=Me,Re=Date.now(),de=Math.min(Pe.deltaTime??0,.016),je=Math.max(1,Pe.dimensions?.width??G)/Math.max(1,Pe.dimensions?.height??W),fe=o(u)??10,Ke=(o(m)??.5)*p,Ze=Te.update(Pe.pointer,de),at=Math.min(Math.sqrt(Ze.velX*Ze.velX+Ze.velY*Ze.velY),y);at>.01&&(Ue=Re);let Fe=1-fe*Kp,Ie=Fe>=1?1/0:Math.min(3e4,Math.log(1e-6)/Math.log(Math.max(Fe,.001))*16.67);if(Re-Ue>Ie)return null;L.write({cursorX:Ze.x,cursorY:Ze.y,cursorSpeed:at,dt:de,damping:fe,radius:Ke,aspect:je});let st=[he.with(te()),Ee.with(ee.written())];return Q.swap(),st}}}function rG(e,t,s={}){let{uniforms:r,propValues:o}=e,n=o.colorSpace??0;return(o.stopCount??0)>1?Tz(t,{colorsArray:r.colorsArray,positionsArray:r.positionsArray,convertedColorsArray:r.convertedColorsArray,stopCount:r.stopCount},n):we(Fv[n]??Bo,"mixColors",[r[s.colorA??"colorA"],r[s.colorB??"colorB"],t])}var SW=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(__tsover_mul(t.x,s),t.y),i=__tsover_mul(r,4);return n.mul(i).add(o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"scale"},{type:"i",name:"seed"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"freq",[1,"scale","*",[5,"4"]]],[10,[6,[7,[6,[7,"aspectUV","mul"],["freq"]],"add"],["seed"]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),AW=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=la(s),n=l(o.y,o.z).mul(r).mul(.012);return t.add(n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"pos"},{type:"i",name:"distortion"}],body:[0,[[13,"grad",[6,"perlin12d",["pos"]]],[13,"disp",[6,[7,[6,[7,[6,"d.vec2f",[[7,"grad","y"],[7,"grad","z"]]],"mul"],["distortion"]],"mul"],[[5,"0.012"]]]],[10,[6,[7,"uv","add"],["disp"]]]]]},externals:{perlin12d:()=>la,"d.vec2f":()=>l}})&&e.f)({})),MW=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_add(__tsover_mul(__tsover_sub(t,.5),__tsover_add(s,1)),.5);return $(__tsover_add(1,__tsover_mul(__tsover_sub(o,.5),__tsover_mul(r,1.1))),0,1.6)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"contrast"},{type:"i",name:"intensity"}],body:[0,[[13,"hAdj",[1,[1,[1,"h","-",[5,"0.5"]],"*",[1,"contrast","+",[5,"1"]]],"+",[5,"0.5"]]],[10,[6,"std.clamp",[[1,[5,"1"],"+",[1,[1,"hAdj","-",[5,"0.5"]],"*",[1,"intensity","*",[5,"1.1"]]]],[5,"0"],[5,"1.6"]]]]]]},externals:{"std.clamp":()=>$}})&&e.f)({}));var PW=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=C(t,__tsover_sub(1,t),o>0),i=b(r,1e-4),d=__tsover_sub(__tsover_mul(s,__tsover_add(1,__tsover_mul(2,i))),i);return re(__tsover_sub(d,i),__tsover_add(d,i),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"coord"},{type:"i",name:"progress"},{type:"i",name:"feather"},{type:"i",name:"invert"}],body:[0,[[13,"c",[6,"std.select",["coord",[1,[5,"1"],"-","coord"],[1,"invert",">",[5,"0"]]]]],[13,"f",[6,"std.max",["feather",[5,"0.0001"]]]],[13,"front",[1,[1,"progress","*",[1,[5,"1"],"+",[1,[5,"2"],"*","f"]]],"-","f"]],[10,[6,"std.smoothstep",[[1,"front","-","f"],[1,"front","+","f"],"c"]]]]]},externals:{"std.select":()=>C,"std.max":()=>b,"std.smoothstep":()=>re}})&&e.f)({})),EW=v.fn([x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return x(t.x,t.y,t.z,__tsover_mul(t.w,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"reveal"}],body:[0,[[10,[6,"d.vec4f",[[7,"color","x"],[7,"color","y"],[7,"color","z"],[1,[7,"color","w"],"*","reveal"]]]]]]},externals:{"d.vec4f":()=>x}})&&e.f)({})),kW=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r,Le),n=l(H(o),Y(o)),i=se(l(__tsover_mul(__tsover_sub(t.x,.5),s),__tsover_sub(t.y,.5)),n),d=__tsover_mul(.5,__tsover_add(__tsover_mul(s,z(n.x)),z(n.y)));return __tsover_add(__tsover_div(i,__tsover_mul(2,d)),.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"angleDeg"}],body:[0,[[13,"a",[1,"angleDeg","*","DEG_TO_RAD"]],[13,"dir",[6,"d.vec2f",[[6,"std.cos",["a"]],[6,"std.sin",["a"]]]]],[13,"p",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[5,"0.5"]],"*","aspect"],[1,[7,"uv","y"],"-",[5,"0.5"]]]]],[13,"grad",[6,"std.dot",["p","dir"]]],[13,"ext",[1,[5,"0.5"],"*",[1,[1,"aspect","*",[6,"std.abs",[[7,"dir","x"]]]],"+",[6,"std.abs",[[7,"dir","y"]]]]]],[10,[1,[1,"grad","/",[1,[5,"2"],"*","ext"]],"+",[5,"0.5"]]]]]},externals:{DEG_TO_RAD:()=>Le,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.abs":()=>z}})&&e.f)({})),$W=v.fn([l,a,l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r.x,s),n=__tsover_sub(1,r.y),i=j(l(__tsover_sub(__tsover_mul(t.x,s),o),__tsover_sub(t.y,n))),d=j(l(b(o,__tsover_sub(s,o)),b(n,__tsover_sub(1,n))));return __tsover_div(i,b(d,1e-4))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"}],body:[0,[[13,"cx",[1,[7,"center","x"],"*","aspect"]],[13,"cy",[1,[5,"1"],"-",[7,"center","y"]]],[13,"rel",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"*","aspect"],"-","cx"],[1,[7,"uv","y"],"-","cy"]]]],[13,"dist",[6,"std.length",["rel"]]],[13,"dx",[6,"std.max",["cx",[1,"aspect","-","cx"]]]],[13,"dy",[6,"std.max",["cy",[1,[5,"1"],"-","cy"]]]],[13,"maxDist",[6,"std.length",[[6,"d.vec2f",["dx","dy"]]]]],[10,[1,"dist","/",[6,"std.max",["maxDist",[5,"0.0001"]]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.max":()=>b}})&&e.f)({})),UW=v.fn([l,a,l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=l(__tsover_mul(__tsover_sub(t.x,r.x),s),__tsover_sub(t.y,__tsover_sub(1,r.y))),d=tt(i.y,i.x),c=__tsover_mul(o,Le),_=__tsover_div(__tsover_sub(d,c),ao);_=__tsover_sub(_,q(_));let u=__tsover_sub(1,_),m=__tsover_mul(oe(_,__tsover_sub(1,_)),2),p=C(_,u,n>.5);return p=C(p,m,n>1.5),p}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"},{type:"i",name:"startDeg"},{type:"i",name:"mode"}],body:[0,[[13,"rel",[6,"d.vec2f",[[1,[1,[7,"uv","x"],"-",[7,"center","x"]],"*","aspect"],[1,[7,"uv","y"],"-",[1,[5,"1"],"-",[7,"center","y"]]]]]],[13,"ang",[6,"std.atan2",[[7,"rel","y"],[7,"rel","x"]]]],[13,"start",[1,"startDeg","*","DEG_TO_RAD"]],[12,"frac",[1,[1,"ang","-","start"],"/","TWO_PI"]],[2,"frac","=",[1,"frac","-",[6,"std.floor",["frac"]]]],[13,"ccwCoord",[1,[5,"1"],"-","frac"]],[13,"bothCoord",[1,[6,"std.min",["frac",[1,[5,"1"],"-","frac"]]],"*",[5,"2"]]],[12,"coord",[6,"std.select",["frac","ccwCoord",[1,"mode",">",[5,"0.5"]]]]],[2,"coord","=",[6,"std.select",["coord","bothCoord",[1,"mode",">",[5,"1.5"]]]]],[10,"coord"]]]},externals:{"d.vec2f":()=>l,"std.atan2":()=>tt,DEG_TO_RAD:()=>Le,TWO_PI:()=>ao,"std.floor":()=>q,"std.min":()=>oe,"std.select":()=>C}})&&e.f)({})),Nm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cell:l,local:l,grid:l}),"CellGrid"),sd=v.fn([l,a,a],Nm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(1,b(r,.001)),n=b(__tsover_div(o,s),1),i=__tsover_mul(t.x,o),d=__tsover_mul(t.y,n);return Nm({cell:l(q(i),q(d)),local:l(ue(i),ue(d)),grid:l(o,n)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"size"}],body:[0,[[13,"gridX",[1,[5,"1"],"/",[6,"std.max",["size",[5,"0.001"]]]]],[13,"gridY",[6,"std.max",[[1,"gridX","/","aspect"],[5,"1"]]]],[13,"sx",[1,[7,"uv","x"],"*","gridX"]],[13,"sy",[1,[7,"uv","y"],"*","gridY"]],[10,[6,"CellGrid",[[104,{cell:[6,"d.vec2f",[[6,"std.floor",["sx"]],[6,"std.floor",["sy"]]]],local:[6,"d.vec2f",[[6,"std.fract",["sx"]],[6,"std.fract",["sy"]]]],grid:[6,"d.vec2f",["gridX","gridY"]]}]]]]]]},externals:{"std.max":()=>b,CellGrid:()=>Nm,"d.vec2f":()=>l,"std.floor":()=>q,"std.fract":()=>ue}})&&e.f)({})),CW=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_mul(z(__tsover_sub(t,.5)),2)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"}],body:[0,[[10,[1,[6,"std.abs",[[1,"t","-",[5,"0.5"]]]],"*",[5,"2"]]]]]},externals:{"std.abs":()=>z}})&&e.f)({})),RW=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return ue(__tsover_mul(t,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"count"}],body:[0,[[10,[6,"std.fract",[[1,"t","*","count"]]]]]]},externals:{"std.fract":()=>ue}})&&e.f)({})),zW=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(s,1);return $(__tsover_div(__tsover_add(q(__tsover_mul(t,r)),.5),r),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"count"}],body:[0,[[13,"n",[6,"std.max",["count",[5,"1"]]]],[10,[6,"std.clamp",[[1,[1,[6,"std.floor",[[1,"t","*","n"]]],"+",[5,"0.5"]],"/","n"],[5,"0"],[5,"1"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.floor":()=>q}})&&e.f)({})),GW=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=q(__tsover_mul(t,b(s,1)));return Gs(__tsover_add(r,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"count"}],body:[0,[[13,"idx",[6,"std.floor",[[1,"t","*",[6,"std.max",["count",[5,"1"]]]]]]],[10,[6,"hash11",[[1,"idx","+",[5,"0.5"]]]]]]]},externals:{"std.floor":()=>q,"std.max":()=>b,hash11:()=>Gs}})&&e.f)({})),YW=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=sd(t,s,r);return __tsover_add(z(__tsover_sub(o.local.x,.5)),z(__tsover_sub(o.local.y,.5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"size"}],body:[0,[[13,"g",[6,"cellGrid",["uv","aspect","size"]]],[10,[1,[6,"std.abs",[[1,[7,[7,"g","local"],"x"],"-",[5,"0.5"]]]],"+",[6,"std.abs",[[1,[7,[7,"g","local"],"y"],"-",[5,"0.5"]]]]]]]]},externals:{cellGrid:()=>sd,"std.abs":()=>z}})&&e.f)({})),LW=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=sd(t,s,r),n=__tsover_mul(ue(__tsover_mul(__tsover_add(o.cell.x,o.cell.y),.5)),2),i=__tsover_mul(__tsover_add(__tsover_div(o.cell.x,o.grid.x),__tsover_div(o.cell.y,o.grid.y)),.5);return $(__tsover_add(__tsover_mul(.5,n),__tsover_mul(.5,i)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"size"}],body:[0,[[13,"g",[6,"cellGrid",["uv","aspect","size"]]],[13,"parity",[1,[6,"std.fract",[[1,[1,[7,[7,"g","cell"],"x"],"+",[7,[7,"g","cell"],"y"]],"*",[5,"0.5"]]]],"*",[5,"2"]]],[13,"diag",[1,[1,[1,[7,[7,"g","cell"],"x"],"/",[7,[7,"g","grid"],"x"]],"+",[1,[7,[7,"g","cell"],"y"],"/",[7,[7,"g","grid"],"y"]]],"*",[5,"0.5"]]],[10,[6,"std.clamp",[[1,[1,[5,"0.5"],"*","parity"],"+",[1,[5,"0.5"],"*","diag"]],[5,"0"],[5,"1"]]]]]]},externals:{cellGrid:()=>sd,"std.fract":()=>ue,"std.clamp":()=>$}})&&e.f)({})),IW=v.fn([l,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return Ot(sd(t,s,r).cell)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"size"}],body:[0,[[10,[6,"hash12",[[7,[6,"cellGrid",["uv","aspect","size"]],"cell"]]]]]]},externals:{hash12:()=>Ot,cellGrid:()=>sd}})&&e.f)({})),DW=v.fn([l,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(__tsover_add(__tsover_mul(__tsover_mul(t.x,s),r),__tsover_mul(o,13.7)),__tsover_add(__tsover_mul(t.y,r),__tsover_mul(o,7.9))),i=Ei(n),d=__tsover_mul(Ei(l(__tsover_add(__tsover_add(__tsover_mul(n.x,2),17.3),__tsover_mul(o,3.1)),__tsover_add(__tsover_mul(n.y,2),9.1))),.5),c=__tsover_mul(Ei(l(__tsover_add(__tsover_mul(n.x,4),41.7),__tsover_add(__tsover_add(__tsover_mul(n.y,4),27.9),__tsover_mul(o,5.3)))),.25),_=__tsover_div(__tsover_add(__tsover_add(i,d),c),1.75);return $(__tsover_add(.5,__tsover_mul(_,.9)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"scale"},{type:"i",name:"seed"}],body:[0,[[13,"p",[6,"d.vec2f",[[1,[1,[1,[7,"uv","x"],"*","aspect"],"*","scale"],"+",[1,"seed","*",[5,"13.7"]]],[1,[1,[7,"uv","y"],"*","scale"],"+",[1,"seed","*",[5,"7.9"]]]]]],[13,"n1",[6,"mxNoiseFloat2",["p"]]],[13,"n2",[1,[6,"mxNoiseFloat2",[[6,"d.vec2f",[[1,[1,[1,[7,"p","x"],"*",[5,"2"]],"+",[5,"17.3"]],"+",[1,"seed","*",[5,"3.1"]]],[1,[1,[7,"p","y"],"*",[5,"2"]],"+",[5,"9.1"]]]]]],"*",[5,"0.5"]]],[13,"n3",[1,[6,"mxNoiseFloat2",[[6,"d.vec2f",[[1,[1,[7,"p","x"],"*",[5,"4"]],"+",[5,"41.7"]],[1,[1,[1,[7,"p","y"],"*",[5,"4"]],"+",[5,"27.9"]],"+",[1,"seed","*",[5,"5.3"]]]]]]],"*",[5,"0.25"]]],[13,"n",[1,[1,[1,"n1","+","n2"],"+","n3"],"/",[5,"1.75"]]],[10,[6,"std.clamp",[[1,[5,"0.5"],"+",[1,"n","*",[5,"0.9"]]],[5,"0"],[5,"1"]]]]]]},externals:{"d.vec2f":()=>l,mxNoiseFloat2:()=>Ei,"std.clamp":()=>$}})&&e.f)({})),b7=new Float32Array(1),oG=new Int32Array(b7.buffer);function Ga(e){b7[0]=Math.max(-65504,Math.min(65504,e));let t=oG[0],s=t>>16&32768,r=t>>12&2047,o=t>>23&255;return o<103?s:o>142?(s|=31744,s|=(o===255?0:1)&&t&8388607,s):o<113?(r|=2048,s|=(r>>114-o)+(r>>113-o&1),s):(s|=o-112<<10|r>>1,s+=r&1,s)}var n1=Za({ANALYTIC_SDF_EXTRA_FIELDS:()=>aG,APERTURE_TO_HALFANGLE:()=>nG,SVG_SDF_SIZE:()=>512,ShapeMask:()=>vl,analyticSubPropValues:()=>gu,arcSdf:()=>yu,buildAnalyticSdfFn:()=>Jv,circleSdf:()=>fc,createAnalyticSdfSampler:()=>P7,createSdfDataTexture:()=>Qv,createSvgSdfSampler:()=>A7,createSvgSdfSamplerWithGradients:()=>M7,crescentSdf:()=>pu,crossSdf:()=>_u,driveAnalyticSubProps:()=>k7,ellipseSdf:()=>uu,fillStrokeColor:()=>S7,flowerSdf:()=>iu,heartSdf:()=>vu,loadSdfFromUrl:()=>Zv,parallelogramSdf:()=>xu,parseShapeConfigValue:()=>E7,polygonSdf:()=>au,ringSdf:()=>cu,roundedRectSdf:()=>lu,shapeLocalCoords:()=>w7,starSdf:()=>du,strokeMaskFromSdf:()=>T7,teardropSdf:()=>hu,trapezoidSdf:()=>fu,vesicaSdf:()=>mu}),gb=3.141592653589793,rd=6.283185307179586,bb=.35355339059327373,nu=.017453292519943295,fc=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_sub(be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s))),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"}],body:[0,[[10,[1,[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]],"-","radius"]]]]},externals:{"std.sqrt":()=>be}})&&e.f)({})),au=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s))),i=tt(s,t),d=__tsover_div(rd,o),c=q(__tsover_add(__tsover_div(i,d),.5)),_=__tsover_sub(i,__tsover_mul(c,d));return __tsover_sub(__tsover_mul(n,H(_)),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"sides"}],body:[0,[[13,"len",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[13,"angle",[6,"std.atan2",["dy","dx"]]],[13,"sectorAngle",[1,"TWO_PI","/","sides"]],[13,"sectorIdx",[6,"std.floor",[[1,[1,"angle","/","sectorAngle"],"+",[5,"0.5"]]]]],[13,"canonicalAngle",[1,"angle","-",[1,"sectorIdx","*","sectorAngle"]]],[10,[1,[1,"len","*",[6,"std.cos",["canonicalAngle"]]],"-","radius"]]]]},externals:{"std.sqrt":()=>be,"std.atan2":()=>tt,TWO_PI:()=>rd,"std.floor":()=>q,"std.cos":()=>H}})&&e.f)({})),iu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=tt(s,t),d=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s))),c=__tsover_mul(r,n),_=__tsover_div(__tsover_mul(i,o),rd),u=__tsover_sub(_,q(_)),m=z(__tsover_sub(__tsover_mul(u,2),1)),p=__tsover_add(c,__tsover_mul(__tsover_sub(r,c),m));return __tsover_sub(d,p)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"outerRadius"},{type:"i",name:"sides"},{type:"i",name:"innerRatio"}],body:[0,[[13,"angle",[6,"std.atan2",["dy","dx"]]],[13,"len",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[13,"innerRadius",[1,"outerRadius","*","innerRatio"]],[13,"tAngle",[1,[1,"angle","*","sides"],"/","TWO_PI"]],[13,"tFrac",[1,"tAngle","-",[6,"std.floor",["tAngle"]]]],[13,"t",[6,"std.abs",[[1,[1,"tFrac","*",[5,"2"]],"-",[5,"1"]]]]],[13,"boundaryR",[1,"innerRadius","+",[1,[1,"outerRadius","-","innerRadius"],"*","t"]]],[10,[1,"len","-","boundaryR"]]]]},externals:{"std.atan2":()=>tt,"std.sqrt":()=>be,TWO_PI:()=>rd,"std.floor":()=>q,"std.abs":()=>z}})&&e.f)({})),du=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_mul(r,n),d=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s))),c=tt(s,t),_=__tsover_div(rd,o),u=q(__tsover_add(__tsover_div(c,_),.5)),m=__tsover_sub(c,__tsover_mul(u,_)),p=z(__tsover_mul(d,Y(m))),y=__tsover_mul(d,H(m)),h=__tsover_div(gb,o),g=Y(h),w=H(h),S=__tsover_mul(i,g),T=__tsover_sub(__tsover_mul(i,w),r),A=p,P=__tsover_sub(y,r),U=__tsover_add(__tsover_mul(A,S),__tsover_mul(P,T)),D=__tsover_add(__tsover_mul(S,S),__tsover_mul(T,T)),O=$(__tsover_div(U,D),0,1),L=__tsover_sub(p,__tsover_mul(S,O)),G=__tsover_sub(y,__tsover_add(r,__tsover_mul(T,O))),W=be(__tsover_add(__tsover_mul(L,L),__tsover_mul(G,G))),K=__tsover_sub(__tsover_mul(S,P),__tsover_mul(T,A));return __tsover_mul(W,ks(K))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"outerRadius"},{type:"i",name:"sides"},{type:"i",name:"innerRatio"}],body:[0,[[13,"innerRadius",[1,"outerRadius","*","innerRatio"]],[13,"len",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[13,"angle",[6,"std.atan2",["dy","dx"]]],[13,"sectorAngle",[1,"TWO_PI","/","sides"]],[13,"sectorIdx",[6,"std.floor",[[1,[1,"angle","/","sectorAngle"],"+",[5,"0.5"]]]]],[13,"bn",[1,"angle","-",[1,"sectorIdx","*","sectorAngle"]]],[13,"fpx",[6,"std.abs",[[1,"len","*",[6,"std.sin",["bn"]]]]]],[13,"fpy",[1,"len","*",[6,"std.cos",["bn"]]]],[13,"an",[1,"PI","/","sides"]],[13,"sinAn",[6,"std.sin",["an"]]],[13,"cosAn",[6,"std.cos",["an"]]],[13,"ex",[1,"innerRadius","*","sinAn"]],[13,"ey",[1,[1,"innerRadius","*","cosAn"],"-","outerRadius"]],[13,"qx","fpx"],[13,"qy",[1,"fpy","-","outerRadius"]],[13,"dotQE",[1,[1,"qx","*","ex"],"+",[1,"qy","*","ey"]]],[13,"dotEE",[1,[1,"ex","*","ex"],"+",[1,"ey","*","ey"]]],[13,"t",[6,"std.clamp",[[1,"dotQE","/","dotEE"],[5,"0"],[5,"1"]]]],[13,"nx",[1,"fpx","-",[1,"ex","*","t"]]],[13,"ny",[1,"fpy","-",[1,"outerRadius","+",[1,"ey","*","t"]]]],[13,"dist",[6,"std.sqrt",[[1,[1,"nx","*","nx"],"+",[1,"ny","*","ny"]]]]],[13,"cross",[1,[1,"ex","*","qy"],"-",[1,"ey","*","qx"]]],[10,[1,"dist","*",[6,"std.sign",["cross"]]]]]]},externals:{"std.sqrt":()=>be,"std.atan2":()=>tt,TWO_PI:()=>rd,"std.floor":()=>q,"std.abs":()=>z,"std.sin":()=>Y,"std.cos":()=>H,PI:()=>gb,"std.clamp":()=>$,"std.sign":()=>ks}})&&e.f)({})),cu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s)));return __tsover_sub(z(__tsover_sub(n,r)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"thickness"}],body:[0,[[13,"len",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"dy","*","dy"]]]]],[10,[1,[6,"std.abs",[[1,"len","-","radius"]]],"-","thickness"]]]]},externals:{"std.sqrt":()=>be,"std.abs":()=>z}})&&e.f)({})),_u=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=z(t),d=z(s),c=b(__tsover_sub(i,r),__tsover_sub(d,o)),_=b(__tsover_sub(d,r),__tsover_sub(i,o));return __tsover_sub(oe(c,_),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"size"},{type:"i",name:"thickness"},{type:"i",name:"rounding"}],body:[0,[[13,"px",[6,"std.abs",["dx"]]],[13,"py",[6,"std.abs",["dy"]]],[13,"dHoriz",[6,"std.max",[[1,"px","-","size"],[1,"py","-","thickness"]]]],[13,"dVert",[6,"std.max",[[1,"py","-","size"],[1,"px","-","thickness"]]]],[10,[1,[6,"std.min",["dHoriz","dVert"]],"-","rounding"]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),lu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_add(__tsover_sub(z(t),r),n),d=__tsover_add(__tsover_sub(z(s),o),n),c=b(i,0),_=b(d,0),u=be(__tsover_add(__tsover_mul(c,c),__tsover_mul(_,_))),m=oe(b(i,d),0);return __tsover_sub(__tsover_add(u,m),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"width"},{type:"i",name:"height"},{type:"i",name:"rounding"}],body:[0,[[13,"qx",[1,[1,[6,"std.abs",["dx"]],"-","width"],"+","rounding"]],[13,"qy",[1,[1,[6,"std.abs",["dy"]],"-","height"],"+","rounding"]],[13,"mqx",[6,"std.max",["qx",[5,"0"]]]],[13,"mqy",[6,"std.max",["qy",[5,"0"]]]],[13,"outerDist",[6,"std.sqrt",[[1,[1,"mqx","*","mqx"],"+",[1,"mqy","*","mqy"]]]]],[13,"innerDist",[6,"std.min",[[6,"std.max",["qx","qy"]],[5,"0"]]]],[10,[1,[1,"outerDist","+","innerDist"],"-","rounding"]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.sqrt":()=>be,"std.min":()=>oe}})&&e.f)({})),uu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_div(t,r),i=__tsover_div(s,o),d=be(__tsover_add(__tsover_mul(n,n),__tsover_mul(i,i)));return __tsover_mul(__tsover_sub(d,1),oe(r,o))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radiusX"},{type:"i",name:"radiusY"}],body:[0,[[13,"nx",[1,"dx","/","radiusX"]],[13,"ny",[1,"dy","/","radiusY"]],[13,"k",[6,"std.sqrt",[[1,[1,"nx","*","nx"],"+",[1,"ny","*","ny"]]]]],[10,[1,[1,"k","-",[5,"1"]],"*",[6,"std.min",["radiusX","radiusY"]]]]]]},externals:{"std.sqrt":()=>be,"std.min":()=>oe}})&&e.f)({})),mu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=z(t),i=z(s),d=__tsover_mul(r,o),c=be(b(__tsover_sub(__tsover_mul(r,r),__tsover_mul(d,d)),0)),_=__tsover_mul(__tsover_sub(i,c),d)>__tsover_mul(n,c),u=be(__tsover_add(__tsover_mul(n,n),__tsover_mul(__tsover_sub(i,c),__tsover_sub(i,c))));return C(__tsover_sub(be(__tsover_add(__tsover_mul(__tsover_add(n,d),__tsover_add(n,d)),__tsover_mul(i,i))),r),u,_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"spread"}],body:[0,[[13,"px",[6,"std.abs",["dx"]]],[13,"py",[6,"std.abs",["dy"]]],[13,"dd",[1,"radius","*","spread"]],[13,"b",[6,"std.sqrt",[[6,"std.max",[[1,[1,"radius","*","radius"],"-",[1,"dd","*","dd"]],[5,"0"]]]]]],[13,"cond",[1,[1,[1,"py","-","b"],"*","dd"],">",[1,"px","*","b"]]],[13,"dist1",[6,"std.sqrt",[[1,[1,"px","*","px"],"+",[1,[1,"py","-","b"],"*",[1,"py","-","b"]]]]]],[13,"dist2",[1,[6,"std.sqrt",[[1,[1,[1,"px","+","dd"],"*",[1,"px","+","dd"]],"+",[1,"py","*","py"]]]],"-","radius"]],[10,[6,"std.select",["dist2","dist1","cond"]]]]]},externals:{"std.abs":()=>z,"std.sqrt":()=>be,"std.max":()=>b,"std.select":()=>C}})&&e.f)({})),pu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=z(s),d=r,c=__tsover_mul(r,o),_=n,u=__tsover_div(__tsover_add(__tsover_sub(__tsover_mul(d,d),__tsover_mul(c,c)),__tsover_mul(_,_)),b(__tsover_mul(_,2),.001)),m=be(b(__tsover_sub(__tsover_mul(d,d),__tsover_mul(u,u)),0)),p=__tsover_mul(_,__tsover_sub(__tsover_mul(t,m),__tsover_mul(i,u))),y=__tsover_mul(__tsover_mul(_,_),b(__tsover_sub(m,i),0)),h=__tsover_sub(t,u),g=__tsover_sub(i,m),w=be(__tsover_add(__tsover_mul(h,h),__tsover_mul(g,g))),S=be(__tsover_add(__tsover_mul(t,t),__tsover_mul(i,i))),T=__tsover_sub(t,_),A=be(__tsover_add(__tsover_mul(T,T),__tsover_mul(i,i)));return C(b(__tsover_sub(S,d),__tsover_mul(__tsover_sub(A,c),-1)),w,p>y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"outerRadius"},{type:"i",name:"innerRatio"},{type:"i",name:"offset"}],body:[0,[[13,"py",[6,"std.abs",["dy"]]],[13,"ra","outerRadius"],[13,"rb",[1,"outerRadius","*","innerRatio"]],[13,"off","offset"],[13,"a",[1,[1,[1,[1,"ra","*","ra"],"-",[1,"rb","*","rb"]],"+",[1,"off","*","off"]],"/",[6,"std.max",[[1,"off","*",[5,"2"]],[5,"0.001"]]]]],[13,"bSq",[6,"std.max",[[1,[1,"ra","*","ra"],"-",[1,"a","*","a"]],[5,"0"]]]],[13,"b",[6,"std.sqrt",["bSq"]]],[13,"lhs",[1,"off","*",[1,[1,"dx","*","b"],"-",[1,"py","*","a"]]]],[13,"rhs",[1,[1,"off","*","off"],"*",[6,"std.max",[[1,"b","-","py"],[5,"0"]]]]],[13,"d1x",[1,"dx","-","a"]],[13,"d1y",[1,"py","-","b"]],[13,"dist1",[6,"std.sqrt",[[1,[1,"d1x","*","d1x"],"+",[1,"d1y","*","d1y"]]]]],[13,"lenP",[6,"std.sqrt",[[1,[1,"dx","*","dx"],"+",[1,"py","*","py"]]]]],[13,"innerX",[1,"dx","-","off"]],[13,"lenInner",[6,"std.sqrt",[[1,[1,"innerX","*","innerX"],"+",[1,"py","*","py"]]]]],[13,"dist2",[6,"std.max",[[1,"lenP","-","ra"],[1,[1,"lenInner","-","rb"],"*",[4,"-",[5,"1"]]]]]],[10,[6,"std.select",["dist2","dist1",[1,"lhs",">","rhs"]]]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.sqrt":()=>be,"std.select":()=>C}})&&e.f)({})),fu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=z(t),d=o,c=n,_=__tsover_sub(o,r),u=__tsover_mul(n,2),m=C(o,r,s<0),p=__tsover_sub(i,oe(i,m)),y=__tsover_sub(z(s),n),h=__tsover_sub(d,i),g=__tsover_sub(c,s),w=__tsover_add(__tsover_mul(h,_),__tsover_mul(g,u)),S=b(__tsover_add(__tsover_mul(_,_),__tsover_mul(u,u)),1e-4),T=$(__tsover_div(w,S),0,1),A=__tsover_add(__tsover_sub(i,d),__tsover_mul(_,T)),P=__tsover_add(__tsover_sub(s,c),__tsover_mul(u,T)),U=C(a(1),a(-1),y<0),D=C(a(1),U,A<0),O=__tsover_add(__tsover_mul(p,p),__tsover_mul(y,y)),L=__tsover_add(__tsover_mul(A,A),__tsover_mul(P,P));return __tsover_mul(D,be(oe(O,L)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"r1"},{type:"i",name:"r2"},{type:"i",name:"he"}],body:[0,[[13,"px",[6,"std.abs",["dx"]]],[13,"k1x","r2"],[13,"k1y","he"],[13,"k2x",[1,"r2","-","r1"]],[13,"k2y",[1,"he","*",[5,"2"]]],[13,"clampWidth",[6,"std.select",["r2","r1",[1,"dy","<",[5,"0"]]]]],[13,"cax",[1,"px","-",[6,"std.min",["px","clampWidth"]]]],[13,"cay",[1,[6,"std.abs",["dy"]],"-","he"]],[13,"diffX",[1,"k1x","-","px"]],[13,"diffY",[1,"k1y","-","dy"]],[13,"dotNum",[1,[1,"diffX","*","k2x"],"+",[1,"diffY","*","k2y"]]],[13,"dotDen",[6,"std.max",[[1,[1,"k2x","*","k2x"],"+",[1,"k2y","*","k2y"]],[5,"0.0001"]]]],[13,"t",[6,"std.clamp",[[1,"dotNum","/","dotDen"],[5,"0"],[5,"1"]]]],[13,"cbx",[1,[1,"px","-","k1x"],"+",[1,"k2x","*","t"]]],[13,"cby",[1,[1,"dy","-","k1y"],"+",[1,"k2y","*","t"]]],[13,"sInner",[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"d.f32",[[4,"-",[5,"1"]]]],[1,"cay","<",[5,"0"]]]]],[13,"s",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"sInner",[1,"cbx","<",[5,"0"]]]]],[13,"dca",[1,[1,"cax","*","cax"],"+",[1,"cay","*","cay"]]],[13,"dcb",[1,[1,"cbx","*","cbx"],"+",[1,"cby","*","cby"]]],[10,[1,"s","*",[6,"std.sqrt",[[6,"std.min",["dca","dcb"]]]]]]]]},externals:{"std.abs":()=>z,"std.select":()=>C,"std.min":()=>oe,"std.max":()=>b,"std.clamp":()=>$,"d.f32":()=>a,"std.sqrt":()=>be}})&&e.f)({})),vu=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_div(r,.75),n=__tsover_div(z(t),o),i=__tsover_add(__tsover_div(__tsover_mul(s,-1),o),.6),d=__tsover_sub(n,.25),c=__tsover_sub(i,.75),_=__tsover_sub(be(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c))),bb),u=__tsover_sub(i,1),m=__tsover_add(__tsover_mul(n,n),__tsover_mul(u,u)),p=__tsover_mul(b(__tsover_add(n,i),0),.5),y=__tsover_sub(n,p),h=__tsover_sub(i,p),g=__tsover_add(__tsover_mul(y,y),__tsover_mul(h,h)),w=__tsover_mul(be(oe(m,g)),ks(__tsover_sub(n,i)));return __tsover_mul(C(w,_,__tsover_add(n,i)>1),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"}],body:[0,[[13,"S",[1,"radius","/",[5,"0.75"]]],[13,"px",[1,[6,"std.abs",["dx"]],"/","S"]],[13,"py",[1,[1,[1,"dy","*",[4,"-",[5,"1"]]],"/","S"],"+",[5,"0.6"]]],[13,"ax",[1,"px","-",[5,"0.25"]]],[13,"ay",[1,"py","-",[5,"0.75"]]],[13,"distA",[1,[6,"std.sqrt",[[1,[1,"ax","*","ax"],"+",[1,"ay","*","ay"]]]],"-","SQRT2_OVER_4"]],[13,"b1y",[1,"py","-",[5,"1"]]],[13,"dot1",[1,[1,"px","*","px"],"+",[1,"b1y","*","b1y"]]],[13,"m",[1,[6,"std.max",[[1,"px","+","py"],[5,"0"]]],"*",[5,"0.5"]]],[13,"b2x",[1,"px","-","m"]],[13,"b2y",[1,"py","-","m"]],[13,"dot2v",[1,[1,"b2x","*","b2x"],"+",[1,"b2y","*","b2y"]]],[13,"distB",[1,[6,"std.sqrt",[[6,"std.min",["dot1","dot2v"]]]],"*",[6,"std.sign",[[1,"px","-","py"]]]]],[10,[1,[6,"std.select",["distB","distA",[1,[1,"px","+","py"],">",[5,"1"]]]],"*","S"]]]]},externals:{"std.abs":()=>z,"std.sqrt":()=>be,SQRT2_OVER_4:()=>bb,"std.max":()=>b,"std.min":()=>oe,"std.sign":()=>ks,"std.select":()=>C}})&&e.f)({})),yu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=z(t),i=Y(o),d=H(o),c=__tsover_sub(be(__tsover_add(__tsover_mul(n,n),__tsover_mul(s,s))),r),_=$(__tsover_add(__tsover_mul(n,i),__tsover_mul(s,d)),0,r),u=__tsover_sub(n,__tsover_mul(i,_)),m=__tsover_sub(s,__tsover_mul(d,_)),p=be(__tsover_add(__tsover_mul(u,u),__tsover_mul(m,m)));return b(c,__tsover_mul(p,ks(__tsover_sub(__tsover_mul(d,n),__tsover_mul(i,s)))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"halfAngle"}],body:[0,[[13,"px",[6,"std.abs",["dx"]]],[13,"cx",[6,"std.sin",["halfAngle"]]],[13,"cy",[6,"std.cos",["halfAngle"]]],[13,"l",[1,[6,"std.sqrt",[[1,[1,"px","*","px"],"+",[1,"dy","*","dy"]]]],"-","radius"]],[13,"clamped",[6,"std.clamp",[[1,[1,"px","*","cx"],"+",[1,"dy","*","cy"]],[5,"0"],"radius"]]],[13,"mx",[1,"px","-",[1,"cx","*","clamped"]]],[13,"my",[1,"dy","-",[1,"cy","*","clamped"]]],[13,"m",[6,"std.sqrt",[[1,[1,"mx","*","mx"],"+",[1,"my","*","my"]]]]],[10,[6,"std.max",["l",[1,"m","*",[6,"std.sign",[[1,[1,"cy","*","px"],"-",[1,"cx","*","dy"]]]]]]]]]]},externals:{"std.abs":()=>z,"std.sin":()=>Y,"std.cos":()=>H,"std.sqrt":()=>be,"std.clamp":()=>$,"std.max":()=>b,"std.sign":()=>ks}})&&e.f)({})),hu=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(__tsover_sub(o,r),.5),i=z(t),d=__tsover_add(__tsover_mul(s,-1),n),c=b(o,1e-4),_=__tsover_div(r,c),u=be(b(__tsover_sub(1,__tsover_mul(_,_)),0)),m=__tsover_add(__tsover_mul(i,__tsover_mul(_,-1)),__tsover_mul(d,u)),p=__tsover_sub(be(__tsover_add(__tsover_mul(i,i),__tsover_mul(d,d))),r),y=__tsover_sub(d,o),h=be(__tsover_add(__tsover_mul(i,i),__tsover_mul(y,y)));return C(C(__tsover_sub(__tsover_add(__tsover_mul(i,u),__tsover_mul(d,_)),r),h,m>__tsover_mul(u,o)),p,m<0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"radius"},{type:"i",name:"h"}],body:[0,[[13,"mid",[1,[1,"h","-","radius"],"*",[5,"0.5"]]],[13,"qx",[6,"std.abs",["dx"]]],[13,"qy",[1,[1,"dy","*",[4,"-",[5,"1"]]],"+","mid"]],[13,"hSafe",[6,"std.max",["h",[5,"0.0001"]]]],[13,"b",[1,"radius","/","hSafe"]],[13,"a",[6,"std.sqrt",[[6,"std.max",[[1,[5,"1"],"-",[1,"b","*","b"]],[5,"0"]]]]]],[13,"k",[1,[1,"qx","*",[1,"b","*",[4,"-",[5,"1"]]]],"+",[1,"qy","*","a"]]],[13,"cap0",[1,[6,"std.sqrt",[[1,[1,"qx","*","qx"],"+",[1,"qy","*","qy"]]]],"-","radius"]],[13,"qyTip",[1,"qy","-","h"]],[13,"cap1",[6,"std.sqrt",[[1,[1,"qx","*","qx"],"+",[1,"qyTip","*","qyTip"]]]]],[13,"body",[1,[1,[1,"qx","*","a"],"+",[1,"qy","*","b"]],"-","radius"]],[10,[6,"std.select",[[6,"std.select",["body","cap1",[1,"k",">",[1,"a","*","h"]]]],"cap0",[1,"k","<",[5,"0"]]]]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.sqrt":()=>be,"std.select":()=>C}})&&e.f)({})),xu=v.fn([a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=n,d=o,c=s<0,_=C(t,__tsover_mul(t,-1),c),u=C(s,__tsover_mul(s,-1),c),m=__tsover_sub(_,i),p=__tsover_sub(u,d),y=__tsover_sub(m,$(m,__tsover_mul(r,-1),r)),h=__tsover_add(__tsover_mul(y,y),__tsover_mul(p,p)),g=__tsover_mul(p,-1),w=__tsover_sub(__tsover_mul(_,d),__tsover_mul(u,i)),S=w<0,T=C(_,__tsover_mul(_,-1),S),A=C(u,__tsover_mul(u,-1),S),P=__tsover_sub(T,r),U=__tsover_add(__tsover_mul(P,i),__tsover_mul(A,d)),D=b(__tsover_add(__tsover_mul(i,i),__tsover_mul(d,d)),1e-4),O=$(__tsover_div(U,D),-1,1),L=__tsover_sub(P,__tsover_mul(i,O)),G=__tsover_sub(A,__tsover_mul(d,O)),W=oe(h,__tsover_add(__tsover_mul(L,L),__tsover_mul(G,G))),K=oe(g,__tsover_sub(__tsover_mul(r,o),z(w)));return __tsover_mul(be(W),ks(__tsover_mul(K,-1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dx"},{type:"i",name:"dy"},{type:"i",name:"wi"},{type:"i",name:"he"},{type:"i",name:"sk"}],body:[0,[[13,"ex","sk"],[13,"ey","he"],[13,"flip1",[1,"dy","<",[5,"0"]]],[13,"px0",[6,"std.select",["dx",[1,"dx","*",[4,"-",[5,"1"]]],"flip1"]]],[13,"py0",[6,"std.select",["dy",[1,"dy","*",[4,"-",[5,"1"]]],"flip1"]]],[13,"wx0",[1,"px0","-","ex"]],[13,"wy",[1,"py0","-","ey"]],[13,"wx",[1,"wx0","-",[6,"std.clamp",["wx0",[1,"wi","*",[4,"-",[5,"1"]]],"wi"]]]],[13,"dX",[1,[1,"wx","*","wx"],"+",[1,"wy","*","wy"]]],[13,"dY",[1,"wy","*",[4,"-",[5,"1"]]]],[13,"s",[1,[1,"px0","*","ey"],"-",[1,"py0","*","ex"]]],[13,"flip2",[1,"s","<",[5,"0"]]],[13,"px",[6,"std.select",["px0",[1,"px0","*",[4,"-",[5,"1"]]],"flip2"]]],[13,"py",[6,"std.select",["py0",[1,"py0","*",[4,"-",[5,"1"]]],"flip2"]]],[13,"vx0",[1,"px","-","wi"]],[13,"dotve",[1,[1,"vx0","*","ex"],"+",[1,"py","*","ey"]]],[13,"dotee",[6,"std.max",[[1,[1,"ex","*","ex"],"+",[1,"ey","*","ey"]],[5,"0.0001"]]]],[13,"tt",[6,"std.clamp",[[1,"dotve","/","dotee"],[4,"-",[5,"1"]],[5,"1"]]]],[13,"vx",[1,"vx0","-",[1,"ex","*","tt"]]],[13,"vy",[1,"py","-",[1,"ey","*","tt"]]],[13,"finalX",[6,"std.min",["dX",[1,[1,"vx","*","vx"],"+",[1,"vy","*","vy"]]]]],[13,"finalY",[6,"std.min",["dY",[1,[1,"wi","*","he"],"-",[6,"std.abs",["s"]]]]]],[10,[1,[6,"std.sqrt",["finalX"]],"*",[6,"std.sign",[[1,"finalY","*",[4,"-",[5,"1"]]]]]]]]]},externals:{"std.select":()=>C,"std.clamp":()=>$,"std.max":()=>b,"std.min":()=>oe,"std.abs":()=>z,"std.sqrt":()=>be,"std.sign":()=>ks}})&&e.f)({})),w7=v.fn([l,a,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=l(__tsover_mul(r.x,o),r.y),i=l(__tsover_mul(t.x,o),__tsover_sub(1,t.y)),d=__tsover_sub(n.x,i.x),c=__tsover_sub(n.y,i.y),_=__tsover_mul(s,nu),u=H(_),m=Y(_);return l(__tsover_add(__tsover_mul(d,u),__tsover_mul(c,m)),__tsover_sub(__tsover_mul(c,u),__tsover_mul(d,m)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"rotation"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dx",[1,[7,"aspectUV","x"],"-",[7,"centerPos","x"]]],[13,"dy",[1,[7,"aspectUV","y"],"-",[7,"centerPos","y"]]],[13,"rotRad",[1,"rotation","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rdx",[1,[1,"dx","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dx","*","sinR"]]],[10,[6,"d.vec2f",["rdx","rdy"]]]]]},externals:{"d.vec2f":()=>l,DEG_TO_RAD:()=>nu,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({})),vl=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({overallMask:a,strokeBlend:a}),"ShapeMask"),T7=v.fn([a,a,a,a],vl)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=r>0,i=o>=1.5,d=o>=.5,c=__tsover_mul(r,.5),_=__tsover_mul(r,-1),u=__tsover_mul(c,-1),m=C(C(a(0),u,d),_,i),p=C(C(r,c,d),a(0),i),y=__tsover_sub(1,re(__tsover_sub(p,s),p,t)),h=re(__tsover_sub(m,s),m,t);return vl({overallMask:y,strokeBlend:C(a(0),h,n)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dist"},{type:"i",name:"softness"},{type:"i",name:"strokeThickness"},{type:"i",name:"strokePosition"}],body:[0,[[13,"hasStroke",[1,"strokeThickness",">",[5,"0"]]],[13,"isInside",[1,"strokePosition",">=",[5,"1.5"]]],[13,"isCenterOrAbove",[1,"strokePosition",">=",[5,"0.5"]]],[13,"halfThickness",[1,"strokeThickness","*",[5,"0.5"]]],[13,"negThickness",[1,"strokeThickness","*",[4,"-",[5,"1"]]]],[13,"negHalf",[1,"halfThickness","*",[4,"-",[5,"1"]]]],[13,"strokeInner",[6,"std.select",[[6,"std.select",[[6,"d.f32",[[5,"0"]]],"negHalf","isCenterOrAbove"]],"negThickness","isInside"]]],[13,"strokeOuter",[6,"std.select",[[6,"std.select",["strokeThickness","halfThickness","isCenterOrAbove"]],[6,"d.f32",[[5,"0"]]],"isInside"]]],[13,"overallMask",[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"strokeOuter","-","softness"],"strokeOuter","dist"]]]],[13,"blend",[6,"std.smoothstep",[[1,"strokeInner","-","softness"],"strokeInner","dist"]]],[13,"strokeBlend",[6,"std.select",[[6,"d.f32",[[5,"0"]]],"blend","hasStroke"]]],[10,[6,"ShapeMask",[[104,{overallMask:"overallMask",strokeBlend:"strokeBlend"}]]]]]]},externals:{"std.select":()=>C,"d.f32":()=>a,"std.smoothstep":()=>re,ShapeMask:()=>vl}})&&e.f)({}));function S7(e,t,s,r){let o=we(Fv[r]??Bo,"mixColors",[t,s,e.member("strokeBlend")]);return Ws(o.member("rgb"),o.member("a").mul(e.member("overallMask")))}async function Zv(e,t){let s=await fetch(e,{mode:"cors"});if(!s.ok)throw new Error(`SDF fetch failed: HTTP ${s.status}`);let r=await s.arrayBuffer(),o=512*512;if(r.byteLength===o*2){let n=new Uint16Array(r),i=Math.min(n.length,t.length);for(let d=0;di.destroy());let d=!1,c=0;return t&&Zv(t,r).then(()=>{for(let _=0;_<262144;_++)o[_]=Ga(r[_]);d=!0}).catch(_=>Ma("[SDF] Failed to load SDF texture:",_)),e.onBeforeRender(()=>{d&&(d=!1,i.write(o),c++)}),{kitTexture:e.registerMediaTexture(()=>i.texture),texture:i,getVersion:()=>c}}function A7(e,t){let{kitTexture:s}=Qv(e,t);return r=>s.sampleLevel(r)}function M7(e,t){let o=new Float32Array(262144).fill(.5),n=new Uint16Array(262144*4),i=Ga(.5),d=Ga(1);for(let g=0;g<262144;g++)n[g*4]=i,n[g*4+3]=d;let c=e.createMediaTexture({width:512,height:512,format:"rgba16float",label:"svg-sdf-grad"});e.onCleanup(()=>c.destroy());let _=(g,w)=>{let S=Math.floor(g),T=Math.floor(w),A=g-S,P=w-T,U=W=>Math.min(Math.max(W,0),511),D=U(S),O=U(S+1),L=U(T),G=U(T+1);return o[L*512+D]*(1-A)*(1-P)+o[L*512+O]*A*(1-P)+o[G*512+D]*(1-A)*P+o[G*512+O]*A*P},u=.01,m=u*512,p=()=>{for(let g=0;g<512;g++)for(let w=0;w<512;w++){let S=g*512+w,T=o[S],A=(_(w+m,g)-T)/u,P=(_(w,g+m)-T)/u;n[S*4]=Ga(T),n[S*4+1]=Ga(A),n[S*4+2]=Ga(P)}},y=!1;t&&Zv(t,o).then(()=>{p(),y=!0}).catch(g=>Ma("[SDF] Failed to load SDF texture:",g)),e.onBeforeRender(()=>{y&&(y=!1,c.write(n))});let h=e.registerMediaTexture(()=>c.texture);return g=>h.sampleLevel(g)}var nG=.008726646259971648;function Jv(e){return v.fn([l,a,a,a,a,a,a,a,a],x)((t=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(t.f=((s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=__tsover_sub(s.x,.5),p=__tsover_sub(s.y,.5),y=__tsover_mul(d,nu),h=H(y),g=Y(y),w=__tsover_add(__tsover_mul(m,h),__tsover_mul(p,g)),S=__tsover_sub(__tsover_mul(p,h),__tsover_mul(m,g)),T=a(0);return e==="polygonSDF"?T=X(au(w,S,r,o),fc(w,S,r),n):e==="flowerSDF"?T=iu(w,S,r,o,i):e==="ringSDF"?T=cu(w,S,r,i):e==="crossSDF"?T=_u(w,S,r,i,n):e==="starSDF"?T=du(w,S,r,o,i):e==="roundedRectSDF"?T=lu(w,S,r,c,n):e==="ellipseSDF"?T=uu(w,S,r,c):e==="vesicaSDF"?T=mu(w,S,r,i):e==="crescentSDF"?T=pu(w,S,r,i,_):e==="trapezoidSDF"?T=fu(w,S,i,r,c):e==="heartSDF"?T=vu(w,S,r):e==="arcSDF"?T=yu(w,S,r,__tsover_mul(u,.008726646259971648)):e==="teardropSDF"?T=hu(w,S,r,c):e==="parallelogramSDF"?T=xu(w,S,r,c,_):T=fc(w,S,r),x(T,0,0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"r"},{type:"i",name:"n"},{type:"i",name:"round"},{type:"i",name:"inner"},{type:"i",name:"rot"},{type:"i",name:"h"},{type:"i",name:"off"},{type:"i",name:"ap"}],body:[0,[[13,"dx",[1,[7,"uv","x"],"-",[5,"0.5"]]],[13,"dy",[1,[7,"uv","y"],"-",[5,"0.5"]]],[13,"rotRad",[1,"rot","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rdx",[1,[1,"dx","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dx","*","sinR"]]],[12,"dist",[6,"d.f32",[[5,"0"]]]],[11,[1,"shapeType","===",[103,"polygonSDF"]],[2,"dist","=",[6,"std.mix",[[6,"polygonSdf",["rdx","rdy","r","n"]],[6,"circleSdf",["rdx","rdy","r"]],"round"]]],[11,[1,"shapeType","===",[103,"flowerSDF"]],[2,"dist","=",[6,"flowerSdf",["rdx","rdy","r","n","inner"]]],[11,[1,"shapeType","===",[103,"ringSDF"]],[2,"dist","=",[6,"ringSdf",["rdx","rdy","r","inner"]]],[11,[1,"shapeType","===",[103,"crossSDF"]],[2,"dist","=",[6,"crossSdf",["rdx","rdy","r","inner","round"]]],[11,[1,"shapeType","===",[103,"starSDF"]],[2,"dist","=",[6,"starSdf",["rdx","rdy","r","n","inner"]]],[11,[1,"shapeType","===",[103,"roundedRectSDF"]],[2,"dist","=",[6,"roundedRectSdf",["rdx","rdy","r","h","round"]]],[11,[1,"shapeType","===",[103,"ellipseSDF"]],[2,"dist","=",[6,"ellipseSdf",["rdx","rdy","r","h"]]],[11,[1,"shapeType","===",[103,"vesicaSDF"]],[2,"dist","=",[6,"vesicaSdf",["rdx","rdy","r","inner"]]],[11,[1,"shapeType","===",[103,"crescentSDF"]],[2,"dist","=",[6,"crescentSdf",["rdx","rdy","r","inner","off"]]],[11,[1,"shapeType","===",[103,"trapezoidSDF"]],[2,"dist","=",[6,"trapezoidSdf",["rdx","rdy","inner","r","h"]]],[11,[1,"shapeType","===",[103,"heartSDF"]],[2,"dist","=",[6,"heartSdf",["rdx","rdy","r"]]],[11,[1,"shapeType","===",[103,"arcSDF"]],[2,"dist","=",[6,"arcSdf",["rdx","rdy","r",[1,"ap","*","APERTURE_TO_HALFANGLE"]]]],[11,[1,"shapeType","===",[103,"teardropSDF"]],[2,"dist","=",[6,"teardropSdf",["rdx","rdy","r","h"]]],[11,[1,"shapeType","===",[103,"parallelogramSDF"]],[2,"dist","=",[6,"parallelogramSdf",["rdx","rdy","r","h","off"]]],[2,"dist","=",[6,"circleSdf",["rdx","rdy","r"]]]]]]]]]]]]]]]]],[10,[6,"d.vec4f",["dist",[5,"0"],[5,"0"],[5,"1"]]]]]]},externals:{DEG_TO_RAD:()=>nu,"std.cos":()=>H,"std.sin":()=>Y,"d.f32":()=>a,shapeType:()=>e,"std.mix":()=>X,polygonSdf:()=>au,circleSdf:()=>fc,flowerSdf:()=>iu,ringSdf:()=>cu,crossSdf:()=>_u,starSdf:()=>du,roundedRectSdf:()=>lu,ellipseSdf:()=>uu,vesicaSdf:()=>mu,crescentSdf:()=>pu,trapezoidSdf:()=>fu,heartSdf:()=>vu,arcSdf:()=>yu,APERTURE_TO_HALFANGLE:()=>.008726646259971648,teardropSdf:()=>hu,parallelogramSdf:()=>xu,"d.vec4f":()=>x}})&&t.f)({})).$name(`analyticSdf_${e}`)}function P7(e,t,s="none"){let r=t.radius??vt(0),o=t.sides??vt(0),n=t.rounding??vt(0),i=t.innerRatio??vt(0),d=t.rotation??vt(0),c=t.height??vt(0),_=t.offset??vt(0),u=t.aperture??vt(0),m=Jv(e);return p=>we(m,`analyticSdf_${e}`,[p,r,o,n,i,d,c,_,u])}var aG={_saRadius:{schema:a,initial:.35},_saSides:{schema:a,initial:6},_saRounding:{schema:a,initial:0},_saInnerRatio:{schema:a,initial:.4},_saRotation:{schema:a,initial:0},_saHeight:{schema:a,initial:.25},_saOffset:{schema:a,initial:.2},_saAperture:{schema:a,initial:270}};function gu(e){let t=(s,r)=>typeof s=="number"?s:r;return{radius:t(e.radius,t(e.width,t(e.bottomWidth,.35))),sides:t(e.sides,6),rounding:t(e.rounding,0),innerRatio:t(e.innerRatio,t(e.thickness,t(e.spread,t(e.topWidth,t(e.topRatio,.4))))),rotation:t(e.rotation,0),height:t(e.height,.25),offset:t(e.offset,t(e.skew,.2)),aperture:t(e.aperture,270)}}function E7(e){if(e&&typeof e=="object")return e;if(typeof e=="string")try{return JSON.parse(e)}catch{return{}}return{}}function k7(e,t){let s="",r=E7(t()),o=()=>{let i=gu(r);e.setExtraField("_saRadius",i.radius),e.setExtraField("_saSides",i.sides),e.setExtraField("_saRounding",i.rounding),e.setExtraField("_saInnerRatio",i.innerRatio),e.setExtraField("_saRotation",i.rotation),e.setExtraField("_saHeight",i.height),e.setExtraField("_saOffset",i.offset),e.setExtraField("_saAperture",i.aperture)};e.onBeforeRender(()=>{let i=t();if(i&&typeof i=="object")r=i;else if(typeof i=="string"&&i!==s){s=i;try{r=JSON.parse(i)}catch{return}}o()});let n=e.uniforms;return{radius:n._saRadius,sides:n._saSides,rounding:n._saRounding,innerRatio:n._saInnerRatio,rotation:n._saRotation,height:n._saHeight,offset:n._saOffset,aperture:n._saAperture}}var xn=512,Fa={},Zp=new Set,Qp={};function a1(e,t){return e?e in Fa?Fa[e]:(t&&(Qp[e]??=[]).push(t),Zp.has(e)||(Zp.add(e),iG(e)),null):null}async function iG(e){try{let t=await fetch(e,{mode:"cors"});if(!t.ok){Fa[e]=null;return}let s=await t.arrayBuffer(),r=xn*xn;if(s.byteLength!==r*2&&s.byteLength!==r*4){Fa[e]=null;return}let o=s.byteLength===r*2?(()=>{let _=new Uint16Array(s);return u=>_[u]/32767.5-1})():(()=>{let _=new Float32Array(s);return u=>_[u]})(),n=xn,i=xn,d=-1,c=-1;for(let _=0;_d&&(d=m),_c&&(c=_))}Fa[e]=d<0?null:{hwf:(d-n+1)/xn/2,hhf:(c-i+1)/xn/2}}catch{Fa[e]=null}finally{Zp.delete(e);let t=Qp[e];if(t){delete Qp[e];for(let s of t)s()}}}function $7(e){return!!e&&e in Fa}var wb=1/60;function Xc(e,t,s,r,o,n){if(r===0&&o===0)return[s,0];let i=200*Math.pow(.01,r),d=2*Math.sqrt(i)*(1-o*.85),c=n>wb?Math.ceil(n/wb):1,_=n/c,u=e,m=t;for(let p=0;p0?(e-s)/1e3:.016;if(s>0){let d=e-s;if(!r&&!o&&d<1e3)return{render:!1,deltaTime:i};if((r||o)&&dsetTimeout(t,16))}function z7(e){e.updateDrivers(),e.ensureComposition()&&(e.beforeRender(),e.flush(),e.render()!==!1&&e.markReady(),e.afterRender())}function G7(e){let t=null,s=n=>typeof requestAnimationFrame=="function"?requestAnimationFrame(n):setTimeout(()=>n(performance.now()),16),r=n=>{typeof cancelAnimationFrame=="function"?cancelAnimationFrame(n):clearTimeout(n)},o=()=>{e(),t!==null&&(t=s(o))};return{start(){t===null&&(t=s(o))},stop(){t!==null&&(r(t),t=null)},get running(){return t!==null}}}var Y7=["sphere3D","cube3D","torus3D","octahedron3D","cylinder3D","capsule3D","cone3D","pyramid3D","prism3D","ellipsoid3D","diamond3D","link3D","gem3D","helix3D","metaballs3D","dodecahedron3D","hemisphere3D","ribbon3D","blob3D","gyroscope3D"];function L7(e){return Y7.includes(e)}function I7(e){return e==="svgExtrude3D"}var D7={depth:.12,bevel:.02,rotX:15,rotY:30,rotZ:0};function F7(e,t){if(typeof e=="number")return e;if(e&&typeof e=="object"&&(e.type==="auto-animate"||e.type==="mouse")){let s=typeof e.outputMin=="number"?e.outputMin:t,r=typeof e.outputMax=="number"?e.outputMax:t;return Math.max(s,r)}return t}var B7={sphere3D:{radius:.35,rotX:0,rotY:0,rotZ:0},cube3D:{sizeX:.27,sizeY:.27,sizeZ:.27,rounding:.02,rotX:25,rotY:35,rotZ:0},torus3D:{radius:.3,tube:.12,rotX:55,rotY:0,rotZ:0},octahedron3D:{radius:.42,rotX:10,rotY:25,rotZ:0},cylinder3D:{radius:.22,height:.26,rounding:.02,rotX:60,rotY:0,rotZ:30},capsule3D:{radius:.16,height:.2,rotX:0,rotY:0,rotZ:35},cone3D:{radius:.3,topRadius:.02,height:.3,rotX:25,rotY:0,rotZ:15},pyramid3D:{size:.3,height:.45,rotX:-10,rotY:30,rotZ:0},prism3D:{radius:.28,height:.14,rotX:25,rotY:30,rotZ:0},ellipsoid3D:{radiusX:.38,radiusY:.22,radiusZ:.3,rotX:0,rotY:0,rotZ:20},diamond3D:{radius:.3,height:.42,rotX:15,rotY:0,rotZ:0},link3D:{radius:.18,length:.15,tube:.08,rotX:20,rotY:30,rotZ:0},gem3D:{radius:.3,height:.32,facets:8,rotX:15,rotY:0,rotZ:0},helix3D:{radius:.22,tube:.06,pitch:.16,rotX:20,rotY:0,rotZ:0},metaballs3D:{balls:4,ballRadius:.16,spread:.2,blend:.12,speed:1,rotX:0,rotY:0,rotZ:0},dodecahedron3D:{radius:.34,rotX:20,rotY:10,rotZ:0},hemisphere3D:{radius:.4,cut:0,rotX:30,rotY:0,rotZ:0},ribbon3D:{width:.15,thickness:.03,length:.38,wave:.1,waveFrequency:7,twist:140,speed:1,rotX:12,rotY:18,rotZ:0},blob3D:{radius:.3,wobble:.07,wobbliness:5,speed:1,rotX:0,rotY:0,rotZ:0},gyroscope3D:{radius:.34,width:.1,thickness:.028,rounding:.006,core:.14,speed:1,rotX:15,rotY:0,rotZ:0}};function W7(e){let t=B7[e.type]??{},s=(r,o=.3)=>F7(e[r],t[r]??o);switch(e.type){case"cube3D":return Math.hypot(s("sizeX"),s("sizeY"),s("sizeZ"))+s("rounding",0);case"torus3D":return s("radius")+s("tube");case"cylinder3D":return Math.hypot(s("radius"),s("height"))+s("rounding",0);case"capsule3D":return s("height")+s("radius");case"cone3D":return Math.hypot(Math.max(s("radius"),s("topRadius")),s("height"));case"pyramid3D":return Math.hypot(s("size")*Math.SQRT2,s("height")*.5);case"prism3D":return Math.hypot(s("radius")*1.1548,s("height"));case"ellipsoid3D":return Math.max(s("radiusX"),s("radiusY"),s("radiusZ"));case"diamond3D":return Math.max(s("radius"),s("height"));case"link3D":return s("length")+s("radius")+s("tube");case"gem3D":return Math.max(s("radius"),s("height"));case"helix3D":return Math.hypot(s("radius")+s("tube"),s("pitch")*3*.5+s("tube"));case"metaballs3D":return s("spread")+s("ballRadius",.16)+s("blend",.12);case"dodecahedron3D":return s("radius")*1.32;case"hemisphere3D":return s("radius");case"ribbon3D":return Math.hypot(s("length",.38),s("wave",.1)*1.2+Math.hypot(s("width",.15),s("thickness",.03)))+.01;case"blob3D":return s("radius",.3)+s("wobble",.07)+.02;case"gyroscope3D":return s("radius",.34)+s("thickness",.028)*.5+s("width",.1)*.5+s("rounding",.006);default:return s("radius",.35)}}var i1={propBindings:{x:{prop:"center",as:"position-x"},y:{prop:"center",as:"position-y"},rotation:{prop:"rotation",as:"degrees"}},computeBounds(e,t,s){let r=e.scale??1,o=typeof e.center?.x=="number"?e.center.x:.5,n=typeof e.center?.y=="number"?e.center.y:.5,{hwf:i,hhf:d}=Jp(e),c=r*s;return{centerXPx:o*t,centerYPx:n*s,widthPx:2*i*c,heightPx:2*d*c,rotationDeg:e.rotation??0}},writeBounds(e,t,s,r){let o={...t.center??{x:.5,y:.5},x:e.centerXPx/s,y:e.centerYPx/r},n=t.scale??1,i=cG(t)?bu(t.shape):null;if(i&&n>0)return{center:o,rotation:e.rotationDeg,shape:JSON.stringify({...i,radius:Math.max(.001,e.widthPx/(2*n*r)),height:Math.max(.001,e.heightPx/(2*n*r))})};let{hwf:d}=Jp(t);return{center:o,scale:d>0?Math.max(.01,e.widthPx/(2*d*r)):.01,rotation:e.rotationDeg}}},Hd=new Map;function bu(e){if(typeof e!="string")return e??null;if(Hd.has(e))return Hd.get(e);let t=null;try{t=JSON.parse(e)}catch{t=null}return Hd.size>=64&&Hd.clear(),Hd.set(e,t),t}function cG(e){if(e.shapeSdfUrl)return!1;let t=bu(e.shape)?.type;return t==="roundedRectSDF"||t==="ellipseSDF"}function Jp(e){if(e.shapeSdfUrl){let r=e._shapeBounds??a1(e.shapeSdfUrl),o=r&&typeof r.hwf=="number"&&typeof r.hhf=="number"?{hwf:r.hwf,hhf:r.hhf}:{hwf:.5,hhf:.5},n=e.shapeType;if(typeof n=="string"&&I7(n)){let i=bu(e.shape)??{},d=_=>F7(i[_],D7[_]??0),c=Math.hypot(o.hwf,o.hhf,d("depth")*.5)+d("bevel")+.02;return{hwf:c,hhf:c}}return o}let t=bu(e.shape);if(!t||typeof t!="object")return{hwf:.5,hhf:.5};if(typeof t.type=="string"&&L7(t.type)){let r=W7(t);return{hwf:r,hhf:r}}let s=typeof t.radius=="number"?t.radius:.35;switch(t.type){case"roundedRectSDF":case"ellipseSDF":return{hwf:s,hhf:typeof t.height=="number"?t.height:s};case"ringSDF":{let r=typeof t.thickness=="number"?t.thickness:0;return{hwf:s+r,hhf:s+r}}case"trapezoidSDF":{let r=typeof t.bottomWidth=="number"?t.bottomWidth:.3,o=typeof t.topWidth=="number"?t.topWidth:.2,n=typeof t.height=="number"?t.height:.25;return{hwf:Math.max(r,o),hhf:n}}case"vesicaSDF":{let r=typeof t.spread=="number"?Math.min(1,Math.max(0,t.spread)):.4;return{hwf:s*(1-r),hhf:s*Math.sqrt(Math.max(0,1-r*r))}}case"teardropSDF":return{hwf:s,hhf:((typeof t.height=="number"?t.height:.4)+s)/2};case"parallelogramSDF":{let r=typeof t.width=="number"?t.width:.32,o=typeof t.height=="number"?t.height:.22,n=typeof t.skew=="number"?t.skew:0;return{hwf:r+Math.abs(n),hhf:o}}default:return{hwf:s,hhf:s}}}function _G(e,t){if(e)return e;let s=t;if(typeof t=="string")try{s=JSON.parse(t)}catch{return"circleSDF"}if(s&&typeof s=="object"){let r=s.type;if(typeof r=="string"&&r)return r}return"circleSDF"}var yd=Za({HELIX_TURNS:()=>3,MAX_METABALLS:()=>8,MarchParams:()=>Cn,RotStruct:()=>Hc,SHAPE3D_DEFAULTS:()=>wu,SHAPE3D_TYPES:()=>O7,SVG3D_DEFAULTS:()=>N7,SVG3D_TYPES:()=>lG,SampleParams:()=>bf,VOLUMETRIC_FIELD_EXTRA_FIELDS:()=>yG,VOLUMETRIC_FIELD_FORMAT:()=>c1,VOLUMETRIC_FIELD_RES:()=>H7,VOLUMETRIC_FIELD_RES_MOBILE:()=>768,boxFaceUV:()=>MG,buildFieldSampleGraph:()=>vG,buildFieldSampleGraphArgs:()=>ay,buildRaymarchedField:()=>pG,buildRaymarchedFieldFn:()=>oy,buildVolumetricFieldKernel:()=>K7,buildVolumetricFieldSampler:()=>J7,capsuleSurfaceUV:()=>EG,createAnalytic2dExtrudeSetup:()=>xG,createAnalytic3dSdfSetup:()=>ew,createSvg3dSdfSetup:()=>tw,createVolumetricFieldCompute:()=>Z7,createVolumetricFieldComputeNode:()=>gG,eulerRotatePacked:()=>ws,is3dShapeType:()=>d1,isMobileGpuViewport:()=>_o,isSvg3dShapeType:()=>sy,isVolumetricShapeType:()=>V7,makeVolumetricFieldLayout:()=>ny,makeVolumetricSvgFieldLayout:()=>Q7,mobiusSurfaceUV:()=>$G,packedParamExtraFields:()=>RG,paramBoxSdf:()=>AG,paramCapsuleSdf:()=>PG,paramMobiusSdf:()=>kG,paramSphereSdf:()=>bG,paramTorusSdf:()=>TG,paramTwistedRibbonSdf:()=>UG,resolveActiveFieldRes:()=>j7,resolveShapeFieldSampler:()=>hG,resolveShapeSubProp:()=>ry,resolveVolumetricFieldRes:()=>jc,rotateVec3:()=>yl,rotateVecCpu:()=>ef,sdBicone:()=>kc,sdCappedCone:()=>af,sdCapsule:()=>nf,sdCutSphere:()=>yf,sdDodecahedron:()=>vf,sdEllipsoid:()=>_f,sdFlatBand:()=>nc,sdGem:()=>mf,sdGyroscope:()=>gf,sdHelix:()=>pf,sdHexPrism:()=>cf,sdLink:()=>lf,sdMetaballs:()=>ff,sdOctahedron:()=>rf,sdPyramid:()=>df,sdRibbon:()=>hf,sdRoundBox:()=>Ec,sdRoundCylinder:()=>of,sdSphere:()=>tf,sdTorus:()=>sf,sdWobbleBlob:()=>xf,shape3dBoundingRadius:()=>X7,shapeSubPropMax:()=>q7,smin:()=>uf,sphereSurfaceUV:()=>wG,torusSurfaceUV:()=>SG,twistedRibbonSurfaceUV:()=>CG}),Tb=3.141592653589793,Ba=6.283185307179586,O7=["sphere3D","cube3D","torus3D","octahedron3D","cylinder3D","capsule3D","cone3D","pyramid3D","prism3D","ellipsoid3D","diamond3D","link3D","gem3D","helix3D","metaballs3D","dodecahedron3D","hemisphere3D","ribbon3D","blob3D","gyroscope3D"];function d1(e){return O7.includes(e)}var lG=["svgExtrude3D"];function sy(e){return e==="svgExtrude3D"}function V7(e){return d1(e)||sy(e)}var N7={depth:.12,bevel:.02,rotX:15,rotY:30,rotZ:0},uG=e=>e<1/2.75?7.5625*e*e:e<2/2.75?(e-=1.5/2.75,7.5625*e*e+.75):e<2.5/2.75?(e-=2.25/2.75,7.5625*e*e+.9375):(e-=2.625/2.75,7.5625*e*e+.984375),mG=(e,t)=>{switch(t){case"linear":return e;case"quad":return e<.5?2*e*e:1-Math.pow(-2*e+2,2)/2;case"expo":return e===0?0:e===1?1:e<.5?Math.pow(2,20*e-10)/2:(2-Math.pow(2,-20*e+10))/2;case"bounce":return uG(e);default:return(1-Math.cos(Math.PI*e))/2}};function ry(e,t,s,r){if(typeof e=="number")return e;if(e&&typeof e=="object"){if(e.type==="auto-animate"){let o=(s.elapsed*(e.speed??1)*.2%1+1)%1,n=mG(e.mode==="loop"?o:o<.5?o*2:(1-o)*2,e.easing??e.waveform??"sine"),i=typeof e.outputMin=="number"?e.outputMin:t;return i+n*((typeof e.outputMax=="number"?e.outputMax:t)-i)}if(e.type==="mouse"){let o=e.axis==="y"?s.pointerY:s.pointerX,n=s.springs.get(r);n||(n={current:o,velocity:0},s.springs.set(r,n));let[i,d]=Xc(n.current,n.velocity,o,e.smoothing??0,e.momentum??0,s.deltaTime);n.current=i,n.velocity=d;let c=Math.max(.001,i),_=typeof e.outputMin=="number"?e.outputMin:t,u=typeof e.outputMax=="number"?e.outputMax:t,m=Math.pow(2,-(e.curve??0)*2);return _+Math.pow(c,m)*(u-_)}}return t}function q7(e,t){if(typeof e=="number")return e;if(e&&typeof e=="object"&&(e.type==="auto-animate"||e.type==="mouse")){let s=typeof e.outputMin=="number"?e.outputMin:t,r=typeof e.outputMax=="number"?e.outputMax:t;return Math.max(s,r)}return t}var wu={sphere3D:{radius:.35,rotX:0,rotY:0,rotZ:0},cube3D:{sizeX:.27,sizeY:.27,sizeZ:.27,rounding:.02,rotX:25,rotY:35,rotZ:0},torus3D:{radius:.3,tube:.12,rotX:55,rotY:0,rotZ:0},octahedron3D:{radius:.42,rotX:10,rotY:25,rotZ:0},cylinder3D:{radius:.22,height:.26,rounding:.02,rotX:60,rotY:0,rotZ:30},capsule3D:{radius:.16,height:.2,rotX:0,rotY:0,rotZ:35},cone3D:{radius:.3,topRadius:.02,height:.3,rotX:25,rotY:0,rotZ:15},pyramid3D:{size:.3,height:.45,rotX:-10,rotY:30,rotZ:0},prism3D:{radius:.28,height:.14,rotX:25,rotY:30,rotZ:0},ellipsoid3D:{radiusX:.38,radiusY:.22,radiusZ:.3,rotX:0,rotY:0,rotZ:20},diamond3D:{radius:.3,height:.42,rotX:15,rotY:0,rotZ:0},link3D:{radius:.18,length:.15,tube:.08,rotX:20,rotY:30,rotZ:0},gem3D:{radius:.3,height:.32,facets:8,rotX:15,rotY:0,rotZ:0},helix3D:{radius:.22,tube:.06,pitch:.16,rotX:20,rotY:0,rotZ:0},metaballs3D:{balls:4,ballRadius:.16,spread:.2,blend:.12,speed:1,rotX:0,rotY:0,rotZ:0},dodecahedron3D:{radius:.34,rotX:20,rotY:10,rotZ:0},hemisphere3D:{radius:.4,cut:0,rotX:30,rotY:0,rotZ:0},ribbon3D:{width:.15,thickness:.03,length:.38,wave:.1,waveFrequency:7,twist:140,speed:1,rotX:12,rotY:18,rotZ:0},blob3D:{radius:.3,wobble:.07,wobbliness:5,speed:1,rotX:0,rotY:0,rotZ:0},gyroscope3D:{radius:.34,width:.1,thickness:.028,rounding:.006,core:.14,speed:1,rotX:15,rotY:0,rotZ:0}};function X7(e){let t=wu[e.type]??{},s=(r,o=.3)=>q7(e[r],t[r]??o);switch(e.type){case"cube3D":return Math.hypot(s("sizeX"),s("sizeY"),s("sizeZ"))+s("rounding",0);case"torus3D":return s("radius")+s("tube");case"cylinder3D":return Math.hypot(s("radius"),s("height"))+s("rounding",0);case"capsule3D":return s("height")+s("radius");case"cone3D":return Math.hypot(Math.max(s("radius"),s("topRadius")),s("height"));case"pyramid3D":return Math.hypot(s("size")*Math.SQRT2,s("height")*.5);case"prism3D":return Math.hypot(s("radius")*1.1548,s("height"));case"ellipsoid3D":return Math.max(s("radiusX"),s("radiusY"),s("radiusZ"));case"diamond3D":return Math.max(s("radius"),s("height"));case"link3D":return s("length")+s("radius")+s("tube");case"gem3D":return Math.max(s("radius"),s("height"));case"helix3D":return Math.hypot(s("radius")+s("tube"),s("pitch")*3*.5+s("tube"));case"metaballs3D":return s("spread")+s("ballRadius",.16)+s("blend",.12);case"dodecahedron3D":return s("radius")*1.32;case"hemisphere3D":return s("radius");case"ribbon3D":return Math.hypot(s("length",.38),s("wave",.1)*1.2+Math.hypot(s("width",.15),s("thickness",.03)))+.01;case"blob3D":return s("radius",.3)+s("wobble",.07)+.02;case"gyroscope3D":return s("radius",.34)+s("thickness",.028)*.5+s("width",.1)*.5+s("rounding",.006);default:return s("radius",.35)}}function ef(e,t,s,r){let o=e*r.cy+s*r.sy,n=-e*r.sy+s*r.cy,i=t*r.cx-n*r.sx,d=t*r.sx+n*r.cx;return{x:o*r.cz-i*r.sz,y:o*r.sz+i*r.cz,z:d}}var tf=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(j(t),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"}],body:[0,[[10,[1,[6,"std.length",["p"]],"-","r"]]]]},externals:{"std.length":()=>j}})&&e.f)({})),Ec=v.fn([f,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=__tsover_add(__tsover_sub(z(t.x),s),n),d=__tsover_add(__tsover_sub(z(t.y),r),n),c=__tsover_add(__tsover_sub(z(t.z),o),n),_=j(f(b(i,0),b(d,0),b(c,0))),u=oe(b(i,b(d,c)),0);return __tsover_sub(__tsover_add(_,u),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"hx"},{type:"i",name:"hy"},{type:"i",name:"hz"},{type:"i",name:"rounding"}],body:[0,[[13,"qx",[1,[1,[6,"std.abs",[[7,"p","x"]]],"-","hx"],"+","rounding"]],[13,"qy",[1,[1,[6,"std.abs",[[7,"p","y"]]],"-","hy"],"+","rounding"]],[13,"qz",[1,[1,[6,"std.abs",[[7,"p","z"]]],"-","hz"],"+","rounding"]],[13,"outer",[6,"std.length",[[6,"d.vec3f",[[6,"std.max",["qx",[5,"0"]]],[6,"std.max",["qy",[5,"0"]]],[6,"std.max",["qz",[5,"0"]]]]]]]],[13,"inner",[6,"std.min",[[6,"std.max",["qx",[6,"std.max",["qy","qz"]]]],[5,"0"]]]],[10,[1,[1,"outer","+","inner"],"-","rounding"]]]]},externals:{"std.abs":()=>z,"std.length":()=>j,"d.vec3f":()=>f,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),sf=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_sub(j(l(t.x,t.z)),s);return __tsover_sub(j(l(o,t.y)),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"ringR"},{type:"i",name:"tubeR"}],body:[0,[[13,"qx",[1,[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]],"-","ringR"]],[10,[1,[6,"std.length",[[6,"d.vec2f",["qx",[7,"p","y"]]]]],"-","tubeR"]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})),rf=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_mul(__tsover_sub(__tsover_add(__tsover_add(z(t.x),z(t.y)),z(t.z)),s),.57735027)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"s"}],body:[0,[[10,[1,[1,[1,[1,[6,"std.abs",[[7,"p","x"]]],"+",[6,"std.abs",[[7,"p","y"]]]],"+",[6,"std.abs",[[7,"p","z"]]]],"-","s"],"*",[5,"0.57735027"]]]]]},externals:{"std.abs":()=>z}})&&e.f)({})),of=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_add(__tsover_sub(j(l(t.x,t.z)),s),o),i=__tsover_add(__tsover_sub(z(t.y),r),o),d=oe(b(n,i),0),c=j(l(b(n,0),b(i,0)));return __tsover_sub(__tsover_add(d,c),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"h"},{type:"i",name:"rounding"}],body:[0,[[13,"dx",[1,[1,[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]],"-","r"],"+","rounding"]],[13,"dy",[1,[1,[6,"std.abs",[[7,"p","y"]]],"-","h"],"+","rounding"]],[13,"inner",[6,"std.min",[[6,"std.max",["dx","dy"]],[5,"0"]]]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["dx",[5,"0"]]],[6,"std.max",["dy",[5,"0"]]]]]]]],[10,[1,[1,"inner","+","outer"],"-","rounding"]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.abs":()=>z,"std.min":()=>oe,"std.max":()=>b}})&&e.f)({})),nf=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=$(t.y,__tsover_mul(r,-1),r);return __tsover_sub(j(f(t.x,__tsover_sub(t.y,o),t.z)),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"h"}],body:[0,[[13,"cyc",[6,"std.clamp",[[7,"p","y"],[1,"h","*",[4,"-",[5,"1"]]],"h"]]],[10,[1,[6,"std.length",[[6,"d.vec3f",[[7,"p","x"],[1,[7,"p","y"],"-","cyc"],[7,"p","z"]]]]],"-","r"]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec3f":()=>f}})&&e.f)({})),af=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=j(l(t.x,t.z)),i=t.y,d=__tsover_sub(r,s),c=__tsover_mul(o,2),_=__tsover_sub(n,oe(n,C(r,s,i<0))),u=__tsover_sub(z(i),o),m=__tsover_add(__tsover_mul(__tsover_sub(r,n),d),__tsover_mul(__tsover_sub(o,i),c)),p=b(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c)),1e-6),y=$(__tsover_div(m,p),0,1),h=__tsover_add(__tsover_sub(n,r),__tsover_mul(d,y)),g=__tsover_add(__tsover_sub(i,o),__tsover_mul(c,y)),w=C(a(1),a(-1),u<0),S=C(a(1),w,h<0),T=__tsover_add(__tsover_mul(_,_),__tsover_mul(u,u)),A=__tsover_add(__tsover_mul(h,h),__tsover_mul(g,g));return __tsover_mul(S,be(oe(T,A)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r1"},{type:"i",name:"r2"},{type:"i",name:"h"}],body:[0,[[13,"qx",[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]]],[13,"qy",[7,"p","y"]],[13,"k2x",[1,"r2","-","r1"]],[13,"k2y",[1,"h","*",[5,"2"]]],[13,"cax",[1,"qx","-",[6,"std.min",["qx",[6,"std.select",["r2","r1",[1,"qy","<",[5,"0"]]]]]]]],[13,"cay",[1,[6,"std.abs",["qy"]],"-","h"]],[13,"dotNum",[1,[1,[1,"r2","-","qx"],"*","k2x"],"+",[1,[1,"h","-","qy"],"*","k2y"]]],[13,"dotDen",[6,"std.max",[[1,[1,"k2x","*","k2x"],"+",[1,"k2y","*","k2y"]],[5,"0.000001"]]]],[13,"t",[6,"std.clamp",[[1,"dotNum","/","dotDen"],[5,"0"],[5,"1"]]]],[13,"cbx",[1,[1,"qx","-","r2"],"+",[1,"k2x","*","t"]]],[13,"cby",[1,[1,"qy","-","h"],"+",[1,"k2y","*","t"]]],[13,"sInner",[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"d.f32",[[4,"-",[5,"1"]]]],[1,"cay","<",[5,"0"]]]]],[13,"s",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"sInner",[1,"cbx","<",[5,"0"]]]]],[13,"dca",[1,[1,"cax","*","cax"],"+",[1,"cay","*","cay"]]],[13,"dcb",[1,[1,"cbx","*","cbx"],"+",[1,"cby","*","cby"]]],[10,[1,"s","*",[6,"std.sqrt",[[6,"std.min",["dca","dcb"]]]]]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.min":()=>oe,"std.select":()=>C,"std.abs":()=>z,"std.max":()=>b,"std.clamp":()=>$,"d.f32":()=>a,"std.sqrt":()=>be}})&&e.f)({})),df=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(r,.5),n=be(__tsover_add(__tsover_mul(r,r),__tsover_mul(s,s))),i=__tsover_div(__tsover_add(__tsover_mul(r,z(t.x)),__tsover_mul(s,__tsover_sub(t.y,o))),n),d=__tsover_div(__tsover_add(__tsover_mul(r,z(t.z)),__tsover_mul(s,__tsover_sub(t.y,o))),n),c=__tsover_sub(__tsover_mul(t.y,-1),o);return b(b(i,d),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"b"},{type:"i",name:"ht"}],body:[0,[[13,"h2",[1,"ht","*",[5,"0.5"]]],[13,"denom",[6,"std.sqrt",[[1,[1,"ht","*","ht"],"+",[1,"b","*","b"]]]]],[13,"dx",[1,[1,[1,"ht","*",[6,"std.abs",[[7,"p","x"]]]],"+",[1,"b","*",[1,[7,"p","y"],"-","h2"]]],"/","denom"]],[13,"dz",[1,[1,[1,"ht","*",[6,"std.abs",[[7,"p","z"]]]],"+",[1,"b","*",[1,[7,"p","y"],"-","h2"]]],"/","denom"]],[13,"dBase",[1,[1,[7,"p","y"],"*",[4,"-",[5,"1"]]],"-","h2"]],[10,[6,"std.max",[[6,"std.max",["dx","dz"]],"dBase"]]]]]},externals:{"std.sqrt":()=>be,"std.abs":()=>z,"std.max":()=>b}})&&e.f)({})),cf=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=-.8660254,n=.5,i=.57735,d=z(t.x),c=z(t.y),_=z(t.z),u=__tsover_mul(oe(__tsover_add(__tsover_mul(o,d),__tsover_mul(n,c)),0),2),m=__tsover_sub(d,__tsover_mul(u,o)),p=__tsover_sub(c,__tsover_mul(u,n)),y=$(m,__tsover_mul(__tsover_mul(i,s),-1),__tsover_mul(i,s)),h=__tsover_sub(m,y),g=__tsover_sub(p,s),w=__tsover_mul(be(__tsover_add(__tsover_mul(h,h),__tsover_mul(g,g))),ks(__tsover_sub(p,s))),S=__tsover_sub(_,r),T=oe(b(w,S),0),A=j(l(b(w,0),b(S,0)));return __tsover_add(T,A)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"he"}],body:[0,[[13,"kx",[4,"-",[5,"0.8660254"]]],[13,"ky",[5,"0.5"]],[13,"kz",[5,"0.57735"]],[13,"ax",[6,"std.abs",[[7,"p","x"]]]],[13,"ay",[6,"std.abs",[[7,"p","y"]]]],[13,"az",[6,"std.abs",[[7,"p","z"]]]],[13,"dk",[1,[6,"std.min",[[1,[1,"kx","*","ax"],"+",[1,"ky","*","ay"]],[5,"0"]]],"*",[5,"2"]]],[13,"px",[1,"ax","-",[1,"dk","*","kx"]]],[13,"py",[1,"ay","-",[1,"dk","*","ky"]]],[13,"cx",[6,"std.clamp",["px",[1,[1,"kz","*","r"],"*",[4,"-",[5,"1"]]],[1,"kz","*","r"]]]],[13,"ex",[1,"px","-","cx"]],[13,"ey",[1,"py","-","r"]],[13,"dHex",[1,[6,"std.sqrt",[[1,[1,"ex","*","ex"],"+",[1,"ey","*","ey"]]]],"*",[6,"std.sign",[[1,"py","-","r"]]]]],[13,"dZ",[1,"az","-","he"]],[13,"inner",[6,"std.min",[[6,"std.max",["dHex","dZ"]],[5,"0"]]]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["dHex",[5,"0"]]],[6,"std.max",["dZ",[5,"0"]]]]]]]],[10,[1,"inner","+","outer"]]]]},externals:{"std.abs":()=>z,"std.min":()=>oe,"std.clamp":()=>$,"std.sqrt":()=>be,"std.sign":()=>ks,"std.max":()=>b,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})),_f=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=j(f(__tsover_div(t.x,s),__tsover_div(t.y,r),__tsover_div(t.z,o))),i=j(f(__tsover_div(t.x,__tsover_mul(s,s)),__tsover_div(t.y,__tsover_mul(r,r)),__tsover_div(t.z,__tsover_mul(o,o))));return __tsover_div(__tsover_mul(n,__tsover_sub(n,1)),b(i,1e-6))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rx"},{type:"i",name:"ry"},{type:"i",name:"rz"}],body:[0,[[13,"k0",[6,"std.length",[[6,"d.vec3f",[[1,[7,"p","x"],"/","rx"],[1,[7,"p","y"],"/","ry"],[1,[7,"p","z"],"/","rz"]]]]]],[13,"k1",[6,"std.length",[[6,"d.vec3f",[[1,[7,"p","x"],"/",[1,"rx","*","rx"]],[1,[7,"p","y"],"/",[1,"ry","*","ry"]],[1,[7,"p","z"],"/",[1,"rz","*","rz"]]]]]]],[10,[1,[1,"k0","*",[1,"k0","-",[5,"1"]]],"/",[6,"std.max",["k1",[5,"0.000001"]]]]]]]},externals:{"std.length":()=>j,"d.vec3f":()=>f,"std.max":()=>b}})&&e.f)({})),kc=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=j(l(t.x,t.z)),n=z(t.y),i=__tsover_mul(s,-1),d=r,c=__tsover_sub(o,s),_=n,u=b(__tsover_add(__tsover_mul(i,i),__tsover_mul(d,d)),1e-6),m=$(__tsover_div(__tsover_add(__tsover_mul(c,i),__tsover_mul(_,d)),u),0,1),p=__tsover_sub(c,__tsover_mul(i,m)),y=__tsover_sub(_,__tsover_mul(d,m)),h=be(__tsover_add(__tsover_mul(p,p),__tsover_mul(y,y)));return __tsover_mul(h,ks(__tsover_sub(__tsover_add(__tsover_mul(r,o),__tsover_mul(s,n)),__tsover_mul(s,r))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"h"}],body:[0,[[13,"qx",[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]]],[13,"qy",[6,"std.abs",[[7,"p","y"]]]],[13,"abx",[1,"r","*",[4,"-",[5,"1"]]]],[13,"aby","h"],[13,"apx",[1,"qx","-","r"]],[13,"apy","qy"],[13,"den",[6,"std.max",[[1,[1,"abx","*","abx"],"+",[1,"aby","*","aby"]],[5,"0.000001"]]]],[13,"t",[6,"std.clamp",[[1,[1,[1,"apx","*","abx"],"+",[1,"apy","*","aby"]],"/","den"],[5,"0"],[5,"1"]]]],[13,"dxx",[1,"apx","-",[1,"abx","*","t"]]],[13,"dyy",[1,"apy","-",[1,"aby","*","t"]]],[13,"dist",[6,"std.sqrt",[[1,[1,"dxx","*","dxx"],"+",[1,"dyy","*","dyy"]]]]],[10,[1,"dist","*",[6,"std.sign",[[1,[1,[1,"h","*","qx"],"+",[1,"r","*","qy"]],"-",[1,"r","*","h"]]]]]]]]},externals:{"std.length":()=>j,"d.vec2f":()=>l,"std.abs":()=>z,"std.max":()=>b,"std.clamp":()=>$,"std.sqrt":()=>be,"std.sign":()=>ks}})&&e.f)({})),lf=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(__tsover_sub(z(t.y),s),0),i=__tsover_sub(j(l(t.x,n)),r);return __tsover_sub(j(l(i,t.z)),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"le"},{type:"i",name:"r1"},{type:"i",name:"r2"}],body:[0,[[13,"qy",[6,"std.max",[[1,[6,"std.abs",[[7,"p","y"]]],"-","le"],[5,"0"]]]],[13,"ring",[1,[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],"qy"]]]],"-","r1"]],[10,[1,[6,"std.length",[[6,"d.vec2f",["ring",[7,"p","z"]]]]],"-","r2"]]]]},externals:{"std.max":()=>b,"std.abs":()=>z,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})),uf=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=$(__tsover_add(__tsover_mul(__tsover_div(__tsover_sub(s,t),r),.5),.5),0,1);return __tsover_sub(X(s,t,o),__tsover_mul(__tsover_mul(r,o),__tsover_sub(1,o)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"a"},{type:"i",name:"b"},{type:"i",name:"k"}],body:[0,[[13,"h",[6,"std.clamp",[[1,[1,[1,[1,"b","-","a"],"/","k"],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[10,[1,[6,"std.mix",["b","a","h"]],"-",[1,[1,"k","*","h"],"*",[1,[5,"1"],"-","h"]]]]]]},externals:{"std.clamp":()=>$,"std.mix":()=>X}})&&e.f)({})),mf=v.fn([f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=kc(t,s,r),i=j(l(t.x,t.z)),d=tt(t.z,t.x),c=__tsover_div(Ba,o),_=q(__tsover_add(__tsover_div(d,c),.5)),u=__tsover_sub(d,__tsover_mul(_,c)),m=__tsover_mul(s,H(__tsover_div(Tb,o)));return b(b(n,__tsover_sub(__tsover_mul(i,H(u)),m)),__tsover_sub(t.y,__tsover_mul(r,.45)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"h"},{type:"i",name:"sides"}],body:[0,[[13,"base",[6,"sdBicone",["p","r","h"]]],[13,"lenXZ",[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],[7,"p","z"]]]]]],[13,"ang",[6,"std.atan2",[[7,"p","z"],[7,"p","x"]]]],[13,"sector",[1,"TWO_PI","/","sides"]],[13,"idx",[6,"std.floor",[[1,[1,"ang","/","sector"],"+",[5,"0.5"]]]]],[13,"ca",[1,"ang","-",[1,"idx","*","sector"]]],[13,"ri",[1,"r","*",[6,"std.cos",[[1,"PI","/","sides"]]]]],[13,"facet",[1,[1,"lenXZ","*",[6,"std.cos",["ca"]]],"-","ri"]],[13,"dd",[6,"std.max",["base","facet"]]],[13,"table",[1,[7,"p","y"],"-",[1,"h","*",[5,"0.45"]]]],[10,[6,"std.max",["dd","table"]]]]]},externals:{sdBicone:()=>kc,"std.length":()=>j,"d.vec2f":()=>l,"std.atan2":()=>tt,TWO_PI:()=>Ba,"std.floor":()=>q,"std.cos":()=>H,PI:()=>Tb,"std.max":()=>b}})&&e.f)({})),pf=v.fn([f,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=tt(t.z,t.x),d=q(__tsover_add(__tsover_sub(__tsover_div(t.y,o),__tsover_div(i,Ba)),.5)),c=__tsover_add(i,__tsover_mul(Ba,d)),_=__tsover_mul(s,H(c)),u=__tsover_div(__tsover_mul(o,c),Ba),m=__tsover_mul(s,Y(c));return b(__tsover_sub(j(f(__tsover_sub(t.x,_),__tsover_sub(t.y,u),__tsover_sub(t.z,m))),r),__tsover_sub(z(t.y),__tsover_mul(__tsover_mul(o,n),.5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"R"},{type:"i",name:"tube"},{type:"i",name:"pitch"},{type:"i",name:"turns"}],body:[0,[[13,"psi",[6,"std.atan2",[[7,"p","z"],[7,"p","x"]]]],[13,"k",[6,"std.floor",[[1,[1,[1,[7,"p","y"],"/","pitch"],"-",[1,"psi","/","TWO_PI"]],"+",[5,"0.5"]]]]],[13,"theta",[1,"psi","+",[1,"TWO_PI","*","k"]]],[13,"ccx",[1,"R","*",[6,"std.cos",["theta"]]]],[13,"ccy",[1,[1,"pitch","*","theta"],"/","TWO_PI"]],[13,"ccz",[1,"R","*",[6,"std.sin",["theta"]]]],[13,"dStrand",[1,[6,"std.length",[[6,"d.vec3f",[[1,[7,"p","x"],"-","ccx"],[1,[7,"p","y"],"-","ccy"],[1,[7,"p","z"],"-","ccz"]]]]],"-","tube"]],[13,"slab",[1,[6,"std.abs",[[7,"p","y"]]],"-",[1,[1,"pitch","*","turns"],"*",[5,"0.5"]]]],[10,[6,"std.max",["dStrand","slab"]]]]]},externals:{"std.atan2":()=>tt,"std.floor":()=>q,TWO_PI:()=>Ba,"std.cos":()=>H,"std.sin":()=>Y,"std.length":()=>j,"d.vec3f":()=>f,"std.abs":()=>z,"std.max":()=>b}})&&e.f)({})),Sb=pt(f,8),Ab=8,ff=v.fn([f,f,f,f,f,f,f,f,f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=Sb();p[0]=f(s),p[1]=f(r),p[2]=f(o),p[3]=f(n),p[4]=f(i),p[5]=f(d),p[6]=f(c),p[7]=f(_);let y=__tsover_sub(j(t.sub(p[0])),u);for(let h=1;hSb,"d.vec3f":()=>f,"std.length":()=>j,METABALL_COUNT:()=>Ab,smin:()=>uf}})&&e.f)({})),vf=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=f(z(t.x),z(t.y),z(t.z)),o=se(r,f(0,.5257311,.8506508)),n=se(r,f(.8506508,0,.5257311)),i=se(r,f(.5257311,.8506508,0));return __tsover_sub(b(b(o,n),i),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"}],body:[0,[[13,"q",[6,"d.vec3f",[[6,"std.abs",[[7,"p","x"]]],[6,"std.abs",[[7,"p","y"]]],[6,"std.abs",[[7,"p","z"]]]]]],[13,"a",[6,"std.dot",["q",[6,"d.vec3f",[[5,"0"],[5,"0.5257311"],[5,"0.8506508"]]]]]],[13,"b",[6,"std.dot",["q",[6,"d.vec3f",[[5,"0.8506508"],[5,"0"],[5,"0.5257311"]]]]]],[13,"c",[6,"std.dot",["q",[6,"d.vec3f",[[5,"0.5257311"],[5,"0.8506508"],[5,"0"]]]]]],[10,[1,[6,"std.max",[[6,"std.max",["a","b"]],"c"]],"-","r"]]]]},externals:{"d.vec3f":()=>f,"std.abs":()=>z,"std.dot":()=>se,"std.max":()=>b}})&&e.f)({})),yf=v.fn([f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=be(b(__tsover_sub(__tsover_mul(s,s),__tsover_mul(r,r)),0)),n=j(l(t.x,t.z)),i=t.y,d=b(__tsover_add(__tsover_mul(__tsover_mul(__tsover_sub(r,s),n),n),__tsover_mul(__tsover_mul(o,o),__tsover_sub(__tsover_add(r,s),__tsover_mul(i,2)))),__tsover_sub(__tsover_mul(r,n),__tsover_mul(o,i))),c=__tsover_sub(j(l(n,i)),s),_=__tsover_sub(r,i);return C(C(j(l(__tsover_sub(n,o),__tsover_sub(i,r))),_,nbe,"std.max":()=>b,"std.length":()=>j,"d.vec2f":()=>l,"std.select":()=>C}})&&e.f)({})),hf=v.fn([f,a,a,a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=__tsover_mul(n,Y(__tsover_add(__tsover_mul(i,t.x),d))),y=__tsover_mul(__tsover_mul(n,.6),Y(__tsover_add(__tsover_mul(__tsover_mul(i,.8),t.x),c))),h=__tsover_sub(t.y,p),g=__tsover_sub(t.z,y),w=__tsover_add(__tsover_mul(_,t.x),u),S=H(w),T=Y(w),A=__tsover_add(__tsover_mul(h,S),__tsover_mul(g,T)),P=__tsover_sub(__tsover_mul(g,S),__tsover_mul(h,T)),U=__tsover_mul(r,.4),D=__tsover_add(__tsover_sub(z(A),s),U),O=__tsover_add(__tsover_sub(z(P),r),U),L=__tsover_sub(__tsover_add(j(l(b(D,0),b(O,0))),oe(b(D,O),0)),U),G=__tsover_sub(z(t.x),o),W=__tsover_add(j(l(b(L,0),b(G,0))),oe(b(L,G),0));return __tsover_mul(W,m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"w"},{type:"i",name:"th"},{type:"i",name:"len"},{type:"i",name:"amp"},{type:"i",name:"freq"},{type:"i",name:"ph1"},{type:"i",name:"ph2"},{type:"i",name:"twRate"},{type:"i",name:"twPh"},{type:"i",name:"lip"}],body:[0,[[13,"yc",[1,"amp","*",[6,"std.sin",[[1,[1,"freq","*",[7,"p","x"]],"+","ph1"]]]]],[13,"zc",[1,[1,"amp","*",[5,"0.6"]],"*",[6,"std.sin",[[1,[1,[1,"freq","*",[5,"0.8"]],"*",[7,"p","x"]],"+","ph2"]]]]],[13,"qy",[1,[7,"p","y"],"-","yc"]],[13,"qz",[1,[7,"p","z"],"-","zc"]],[13,"ang",[1,[1,"twRate","*",[7,"p","x"]],"+","twPh"]],[13,"c",[6,"std.cos",["ang"]]],[13,"s",[6,"std.sin",["ang"]]],[13,"ry",[1,[1,"qy","*","c"],"+",[1,"qz","*","s"]]],[13,"rz",[1,[1,"qz","*","c"],"-",[1,"qy","*","s"]]],[13,"round",[1,"th","*",[5,"0.4"]]],[13,"bx",[1,[1,[6,"std.abs",["ry"]],"-","w"],"+","round"]],[13,"by",[1,[1,[6,"std.abs",["rz"]],"-","th"],"+","round"]],[13,"d2",[1,[1,[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["bx",[5,"0"]]],[6,"std.max",["by",[5,"0"]]]]]]],"+",[6,"std.min",[[6,"std.max",["bx","by"]],[5,"0"]]]],"-","round"]],[13,"dx",[1,[6,"std.abs",[[7,"p","x"]]],"-","len"]],[13,"dd",[1,[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["d2",[5,"0"]]],[6,"std.max",["dx",[5,"0"]]]]]]],"+",[6,"std.min",[[6,"std.max",["d2","dx"]],[5,"0"]]]]],[10,[1,"dd","*","lip"]]]]},externals:{"std.sin":()=>Y,"std.cos":()=>H,"std.abs":()=>z,"std.length":()=>j,"d.vec2f":()=>l,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),xf=v.fn([f,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(t.x,o),n)),Y(__tsover_add(__tsover_mul(__tsover_mul(t.y,o),1.3),i))),__tsover_mul(Y(__tsover_add(__tsover_mul(__tsover_mul(t.y,o),.8),__tsover_mul(i,1.1))),Y(__tsover_add(__tsover_mul(__tsover_mul(t.z,o),1.1),__tsover_mul(n,.9))))),_=__tsover_sub(__tsover_sub(j(t),s),__tsover_mul(__tsover_mul(r,c),.5));return __tsover_mul(_,d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"r"},{type:"i",name:"amp"},{type:"i",name:"freq"},{type:"i",name:"ph1"},{type:"i",name:"ph2"},{type:"i",name:"lip"}],body:[0,[[13,"w",[1,[1,[6,"std.sin",[[1,[1,[7,"p","x"],"*","freq"],"+","ph1"]]],"*",[6,"std.sin",[[1,[1,[1,[7,"p","y"],"*","freq"],"*",[5,"1.3"]],"+","ph2"]]]],"+",[1,[6,"std.sin",[[1,[1,[1,[7,"p","y"],"*","freq"],"*",[5,"0.8"]],"+",[1,"ph2","*",[5,"1.1"]]]]],"*",[6,"std.sin",[[1,[1,[1,[7,"p","z"],"*","freq"],"*",[5,"1.1"]],"+",[1,"ph1","*",[5,"0.9"]]]]]]]],[13,"dd",[1,[1,[6,"std.length",["p"]],"-","r"],"-",[1,[1,"amp","*","w"],"*",[5,"0.5"]]]],[10,[1,"dd","*","lip"]]]]},externals:{"std.sin":()=>Y,"std.length":()=>j}})&&e.f)({})),nc=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_add(__tsover_sub(z(__tsover_sub(t,r)),o),i),c=__tsover_add(__tsover_sub(z(s),n),i),_=j(l(b(d,0),b(c,0))),u=oe(b(d,c),0);return __tsover_sub(__tsover_add(_,u),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"radialDist"},{type:"i",name:"axialDist"},{type:"i",name:"R"},{type:"i",name:"ht"},{type:"i",name:"hw"},{type:"i",name:"rnd"}],body:[0,[[13,"bx",[1,[1,[6,"std.abs",[[1,"radialDist","-","R"]]],"-","ht"],"+","rnd"]],[13,"by",[1,[1,[6,"std.abs",["axialDist"]],"-","hw"],"+","rnd"]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["bx",[5,"0"]]],[6,"std.max",["by",[5,"0"]]]]]]]],[13,"inner",[6,"std.min",[[6,"std.max",["bx","by"]],[5,"0"]]]],[10,[1,[1,"outer","+","inner"],"-","rnd"]]]]},externals:{"std.abs":()=>z,"std.length":()=>j,"d.vec2f":()=>l,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),gf=v.fn([f,a,a,a,a,a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p)=>{"use gpu";let y=__tsover_mul(r,.5),h=__tsover_mul(o,.5),g=__tsover_sub(j(t),i),w=__tsover_add(__tsover_mul(t.y,d),__tsover_mul(t.z,c)),S=__tsover_sub(__tsover_mul(t.z,d),__tsover_mul(t.y,c)),T=nc(j(l(t.x,S)),w,s,h,y,n),A=__tsover_sub(__tsover_mul(t.x,_),__tsover_mul(t.z,u)),P=__tsover_add(__tsover_mul(t.z,_),__tsover_mul(t.x,u)),U=nc(j(l(A,t.y)),P,__tsover_mul(s,.78),h,y,n),D=__tsover_add(__tsover_mul(t.x,m),__tsover_mul(t.y,p)),O=nc(j(l(__tsover_sub(__tsover_mul(t.y,m),__tsover_mul(t.x,p)),t.z)),D,__tsover_mul(s,.56),h,y,n);return oe(oe(g,T),oe(U,O))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"radius"},{type:"i",name:"width"},{type:"i",name:"thick"},{type:"i",name:"rnd"},{type:"i",name:"core"},{type:"i",name:"c1"},{type:"i",name:"s1"},{type:"i",name:"c2"},{type:"i",name:"s2"},{type:"i",name:"c3"},{type:"i",name:"s3"}],body:[0,[[13,"hw",[1,"width","*",[5,"0.5"]]],[13,"ht",[1,"thick","*",[5,"0.5"]]],[13,"dCore",[1,[6,"std.length",["p"]],"-","core"]],[13,"p1y",[1,[1,[7,"p","y"],"*","c1"],"+",[1,[7,"p","z"],"*","s1"]]],[13,"p1z",[1,[1,[7,"p","z"],"*","c1"],"-",[1,[7,"p","y"],"*","s1"]]],[13,"d1",[6,"sdFlatBand",[[6,"std.length",[[6,"d.vec2f",[[7,"p","x"],"p1z"]]]],"p1y","radius","ht","hw","rnd"]]],[13,"p2x",[1,[1,[7,"p","x"],"*","c2"],"-",[1,[7,"p","z"],"*","s2"]]],[13,"p2z",[1,[1,[7,"p","z"],"*","c2"],"+",[1,[7,"p","x"],"*","s2"]]],[13,"d2",[6,"sdFlatBand",[[6,"std.length",[[6,"d.vec2f",["p2x",[7,"p","y"]]]]],"p2z",[1,"radius","*",[5,"0.78"]],"ht","hw","rnd"]]],[13,"p3x",[1,[1,[7,"p","x"],"*","c3"],"+",[1,[7,"p","y"],"*","s3"]]],[13,"p3y",[1,[1,[7,"p","y"],"*","c3"],"-",[1,[7,"p","x"],"*","s3"]]],[13,"d3",[6,"sdFlatBand",[[6,"std.length",[[6,"d.vec2f",["p3y",[7,"p","z"]]]]],"p3x",[1,"radius","*",[5,"0.56"]],"ht","hw","rnd"]]],[10,[6,"std.min",[[6,"std.min",["dCore","d1"]],[6,"std.min",["d2","d3"]]]]]]]},externals:{"std.length":()=>j,sdFlatBand:()=>nc,"d.vec2f":()=>l,"std.min":()=>oe}})&&e.f)({})),Hc=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cx:a,sx:a,cy:a,sy:a,cz:a,sz:a}),"RotStruct"),yl=v.fn([f,Hc],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_add(__tsover_mul(t.x,s.cy),__tsover_mul(t.z,s.sy)),o=__tsover_sub(__tsover_mul(t.z,s.cy),__tsover_mul(t.x,s.sy)),n=__tsover_sub(__tsover_mul(t.y,s.cx),__tsover_mul(o,s.sx)),i=__tsover_add(__tsover_mul(t.y,s.sx),__tsover_mul(o,s.cx));return f(__tsover_sub(__tsover_mul(r,s.cz),__tsover_mul(n,s.sz)),__tsover_add(__tsover_mul(r,s.sz),__tsover_mul(n,s.cz)),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"rot"}],body:[0,[[13,"x1",[1,[1,[7,"v","x"],"*",[7,"rot","cy"]],"+",[1,[7,"v","z"],"*",[7,"rot","sy"]]]],[13,"z1",[1,[1,[7,"v","z"],"*",[7,"rot","cy"]],"-",[1,[7,"v","x"],"*",[7,"rot","sy"]]]],[13,"y2",[1,[1,[7,"v","y"],"*",[7,"rot","cx"]],"-",[1,"z1","*",[7,"rot","sx"]]]],[13,"z2",[1,[1,[7,"v","y"],"*",[7,"rot","sx"]],"+",[1,"z1","*",[7,"rot","cx"]]]],[13,"x3",[1,[1,"x1","*",[7,"rot","cz"]],"-",[1,"y2","*",[7,"rot","sz"]]]],[13,"y3",[1,[1,"x1","*",[7,"rot","sz"]],"+",[1,"y2","*",[7,"rot","cz"]]]],[10,[6,"d.vec3f",["x3","y3","z2"]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({}));function oy(e,t="none",s="span"){let r=_o()?64:96,o=_o()?224:384,n=_o()?140:220;return v.fn([l,Hc,a],x)((i=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(i.f=((d,c,_)=>{"use gpu";let u=f(__tsover_sub(d.x,.5),__tsover_sub(.5,d.y),-1.2),m=f(0,0,1),p=yl(u,c),y=yl(m,c),h=Z($(__tsover_mul(_,a(n)),a(r),a(o))),g=se(p,y),w=be(b(__tsover_sub(se(p,p),__tsover_mul(g,g)),0)),S=be(b(__tsover_sub(__tsover_mul(_,_),__tsover_mul(w,w)),0)),T=b(__tsover_sub(__tsover_mul(g,-1),S),0),A=__tsover_add(__tsover_add(__tsover_mul(g,-1),S),.01),P=T,U=T,D=a(10),O=a(0);for(let Q=0;QA)break;U=P,P=__tsover_add(P,b(te,.002))}let L=D,G=a(0),W=a(0),K=__tsover_add(A,.4);if(O>.5){let Q=U,te=P;for(let Te=0;Te<10;Te++){let Ue=__tsover_mul(__tsover_add(Q,te),.5);e(p.add(y.mul(Ue)))>0?Q=Ue:te=Ue}let ee=__tsover_mul(__tsover_add(Q,te),.5),he=ee;if(s==="firstLobe"){let Te=te,Ue=__tsover_add(te,.002);for(let Re=0;Re=0||(Te=Ue,Ue=__tsover_add(Ue,b(__tsover_mul(de,-1),.002)),Ue>A))break}let Me=Te,Pe=Ue;for(let Re=0;Re<10;Re++){let de=__tsover_mul(__tsover_add(Me,Pe),.5);e(p.add(y.mul(de)))<0?Me=de:Pe=de}he=__tsover_mul(__tsover_add(Me,Pe),.5)}if(s==="span"){let Te=p.add(y.mul(A)),Ue=__tsover_add(__tsover_sub(A,T),.01),Me=a(0),Pe=a(0);for(let je=0;jeUe)break;Pe=Me,Me=__tsover_add(Me,b(fe,.002))}let Re=Pe,de=Me;for(let je=0;je<10;je++){let fe=__tsover_mul(__tsover_add(Re,de),.5);e(Te.sub(y.mul(fe)))>0?Re=fe:de=fe}he=__tsover_sub(A,__tsover_mul(__tsover_add(Re,de),.5))}let Ee=__tsover_mul(b(__tsover_sub(he,ee),0),.5);if(L=__tsover_mul(Ee,-1),K=ee,t==="raw"){let Te=p.add(y.mul(ee));G=__tsover_add(Te.x,__tsover_mul(Te.z,.7)),W=__tsover_add(Te.y,__tsover_mul(Te.z,.5))}if(t==="triplanar"){let Te=p.add(y.mul(ee)),Ue=.004,Me=__tsover_sub(e(f(__tsover_add(Te.x,Ue),Te.y,Te.z)),e(f(__tsover_sub(Te.x,Ue),Te.y,Te.z))),Pe=__tsover_sub(e(f(Te.x,__tsover_add(Te.y,Ue),Te.z)),e(f(Te.x,__tsover_sub(Te.y,Ue),Te.z))),Re=__tsover_sub(e(f(Te.x,Te.y,__tsover_add(Te.z,Ue))),e(f(Te.x,Te.y,__tsover_sub(Te.z,Ue)))),de=z(Me),je=z(Pe),fe=z(Re),Ke=l(__tsover_add(Te.y,2.17),__tsover_add(Te.z,5.31)),Ze=l(__tsover_add(Te.z,7.73),__tsover_add(Te.x,1.13)),at=C(l(Te.x,Te.y),Ze,je>=fe),Fe=C(at,C(at,Ke,de>=fe),de>=je);G=Fe.x,W=Fe.y}}return x(L,G,W,K)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fuv"},{type:"i",name:"rot"},{type:"i",name:"rBound"}],body:[0,[[13,"ro0",[6,"d.vec3f",[[1,[7,"fuv","x"],"-",[5,"0.5"]],[1,[5,"0.5"],"-",[7,"fuv","y"]],[4,"-",[5,"1.2"]]]]],[13,"rd0",[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"1"]]]],[13,"ro",[6,"rotateVec3",["ro0","rot"]]],[13,"rd",[6,"rotateVec3",["rd0","rot"]]],[13,"steps",[6,"d.i32",[[6,"std.clamp",[[1,"rBound","*",[6,"d.f32",["STEP_SCALE"]]],[6,"d.f32",["STEP_MIN"]],[6,"d.f32",["STEP_MAX"]]]]]]],[13,"b",[6,"std.dot",["ro","rd"]]],[13,"perp",[6,"std.sqrt",[[6,"std.max",[[1,[6,"std.dot",["ro","ro"]],"-",[1,"b","*","b"]],[5,"0"]]]]]],[13,"halfSpan",[6,"std.sqrt",[[6,"std.max",[[1,[1,"rBound","*","rBound"],"-",[1,"perp","*","perp"]],[5,"0"]]]]]],[13,"tStart",[6,"std.max",[[1,[1,"b","*",[4,"-",[5,"1"]]],"-","halfSpan"],[5,"0"]]]],[13,"tEnd",[1,[1,[1,"b","*",[4,"-",[5,"1"]]],"+","halfSpan"],"+",[5,"0.01"]]],[12,"t","tStart"],[12,"tPrev","tStart"],[12,"minD",[6,"d.f32",[[5,"10"]]]],[12,"hit",[6,"d.f32",[[5,"0"]]]],[14,[12,"i",[5,"0"]],[1,"i","<","steps"],[102,"++","i"],[0,[[13,"p",[6,[7,"ro","add"],[[6,[7,"rd","mul"],["t"]]]]],[13,"dd",[6,"sdfFn",["p"]]],[2,"minD","=",[6,"std.min",["minD","dd"]]],[11,[1,"dd","<",[5,"0"]],[0,[[2,"hit","=",[6,"d.f32",[[5,"1"]]]],[17]]]],[11,[1,"t",">","tEnd"],[0,[[17]]]],[2,"tPrev","=","t"],[2,"t","=",[1,"t","+",[6,"std.max",["dd",[5,"0.002"]]]]]]]],[12,"fieldVal","minD"],[12,"patternU",[6,"d.f32",[[5,"0"]]]],[12,"patternV",[6,"d.f32",[[5,"0"]]]],[12,"viewDepth",[1,"tEnd","+",[5,"0.4"]]],[11,[1,"hit",">",[5,"0.5"]],[0,[[12,"eLo","tPrev"],[12,"eHi","t"],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"10"]],[102,"++","i"],[0,[[13,"mid",[1,[1,"eLo","+","eHi"],"*",[5,"0.5"]]],[13,"dm",[6,"sdfFn",[[6,[7,"ro","add"],[[6,[7,"rd","mul"],["mid"]]]]]]],[11,[1,"dm",">",[5,"0"]],[0,[[2,"eLo","=","mid"]]],[0,[[2,"eHi","=","mid"]]]]]]],[13,"tEnter",[1,[1,"eLo","+","eHi"],"*",[5,"0.5"]]],[12,"tExit","tEnter"],[11,[1,"chordMode","===",[103,"firstLobe"]],[0,[[12,"sInPrev","eHi"],[12,"sIn",[1,"eHi","+",[5,"0.002"]]],[14,[12,"i",[5,"0"]],[1,"i","<","steps"],[102,"++","i"],[0,[[13,"dd",[6,"sdfFn",[[6,[7,"ro","add"],[[6,[7,"rd","mul"],["sIn"]]]]]]],[11,[1,"dd",">=",[5,"0"]],[0,[[17]]]],[2,"sInPrev","=","sIn"],[2,"sIn","=",[1,"sIn","+",[6,"std.max",[[1,"dd","*",[4,"-",[5,"1"]]],[5,"0.002"]]]]],[11,[1,"sIn",">","tEnd"],[0,[[17]]]]]]],[12,"fLo","sInPrev"],[12,"fHi","sIn"],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"10"]],[102,"++","i"],[0,[[13,"mid",[1,[1,"fLo","+","fHi"],"*",[5,"0.5"]]],[13,"dm",[6,"sdfFn",[[6,[7,"ro","add"],[[6,[7,"rd","mul"],["mid"]]]]]]],[11,[1,"dm","<",[5,"0"]],[0,[[2,"fLo","=","mid"]]],[0,[[2,"fHi","=","mid"]]]]]]],[2,"tExit","=",[1,[1,"fLo","+","fHi"],"*",[5,"0.5"]]]]]],[11,[1,"chordMode","===",[103,"span"]],[0,[[13,"roB",[6,[7,"ro","add"],[[6,[7,"rd","mul"],["tEnd"]]]]],[13,"span",[1,[1,"tEnd","-","tStart"],"+",[5,"0.01"]]],[12,"s",[6,"d.f32",[[5,"0"]]]],[12,"sPrev",[6,"d.f32",[[5,"0"]]]],[14,[12,"i",[5,"0"]],[1,"i","<","steps"],[102,"++","i"],[0,[[13,"p",[6,[7,"roB","sub"],[[6,[7,"rd","mul"],["s"]]]]],[13,"dd",[6,"sdfFn",["p"]]],[11,[1,"dd","<",[5,"0"]],[0,[[17]]]],[11,[1,"s",">","span"],[0,[[17]]]],[2,"sPrev","=","s"],[2,"s","=",[1,"s","+",[6,"std.max",["dd",[5,"0.002"]]]]]]]],[12,"xLo","sPrev"],[12,"xHi","s"],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"10"]],[102,"++","i"],[0,[[13,"mid",[1,[1,"xLo","+","xHi"],"*",[5,"0.5"]]],[13,"dm",[6,"sdfFn",[[6,[7,"roB","sub"],[[6,[7,"rd","mul"],["mid"]]]]]]],[11,[1,"dm",">",[5,"0"]],[0,[[2,"xLo","=","mid"]]],[0,[[2,"xHi","=","mid"]]]]]]],[2,"tExit","=",[1,"tEnd","-",[1,[1,"xLo","+","xHi"],"*",[5,"0.5"]]]]]]],[13,"halfChord",[1,[6,"std.max",[[1,"tExit","-","tEnter"],[5,"0"]]],"*",[5,"0.5"]]],[2,"fieldVal","=",[1,"halfChord","*",[4,"-",[5,"1"]]]],[2,"viewDepth","=","tEnter"],[11,[1,"patternMode","===",[103,"raw"]],[0,[[13,"hp",[6,[7,"ro","add"],[[6,[7,"rd","mul"],["tEnter"]]]]],[2,"patternU","=",[1,[7,"hp","x"],"+",[1,[7,"hp","z"],"*",[5,"0.7"]]]],[2,"patternV","=",[1,[7,"hp","y"],"+",[1,[7,"hp","z"],"*",[5,"0.5"]]]]]]],[11,[1,"patternMode","===",[103,"triplanar"]],[0,[[13,"hp",[6,[7,"ro","add"],[[6,[7,"rd","mul"],["tEnter"]]]]],[13,"e2",[5,"0.004"]],[13,"nlx",[1,[6,"sdfFn",[[6,"d.vec3f",[[1,[7,"hp","x"],"+","e2"],[7,"hp","y"],[7,"hp","z"]]]]],"-",[6,"sdfFn",[[6,"d.vec3f",[[1,[7,"hp","x"],"-","e2"],[7,"hp","y"],[7,"hp","z"]]]]]]],[13,"nly",[1,[6,"sdfFn",[[6,"d.vec3f",[[7,"hp","x"],[1,[7,"hp","y"],"+","e2"],[7,"hp","z"]]]]],"-",[6,"sdfFn",[[6,"d.vec3f",[[7,"hp","x"],[1,[7,"hp","y"],"-","e2"],[7,"hp","z"]]]]]]],[13,"nlz",[1,[6,"sdfFn",[[6,"d.vec3f",[[7,"hp","x"],[7,"hp","y"],[1,[7,"hp","z"],"+","e2"]]]]],"-",[6,"sdfFn",[[6,"d.vec3f",[[7,"hp","x"],[7,"hp","y"],[1,[7,"hp","z"],"-","e2"]]]]]]],[13,"anx",[6,"std.abs",["nlx"]]],[13,"anyv",[6,"std.abs",["nly"]]],[13,"anz",[6,"std.abs",["nlz"]]],[13,"branch1",[6,"d.vec2f",[[1,[7,"hp","y"],"+",[5,"2.17"]],[1,[7,"hp","z"],"+",[5,"5.31"]]]]],[13,"branch2",[6,"d.vec2f",[[1,[7,"hp","z"],"+",[5,"7.73"]],[1,[7,"hp","x"],"+",[5,"1.13"]]]]],[13,"branch3",[6,"d.vec2f",[[7,"hp","x"],[7,"hp","y"]]]],[13,"branch23",[6,"std.select",["branch3","branch2",[1,"anyv",">=","anz"]]]],[13,"innerPick",[6,"std.select",["branch23","branch1",[1,"anx",">=","anz"]]]],[13,"pattern",[6,"std.select",["branch23","innerPick",[1,"anx",">=","anyv"]]]],[2,"patternU","=",[7,"pattern","x"]],[2,"patternV","=",[7,"pattern","y"]]]]]]]],[10,[6,"d.vec4f",["fieldVal","patternU","patternV","viewDepth"]]]]]},externals:{"d.vec3f":()=>f,rotateVec3:()=>yl,"d.i32":()=>Z,"std.clamp":()=>$,"d.f32":()=>a,STEP_SCALE:()=>n,STEP_MIN:()=>r,STEP_MAX:()=>o,"std.dot":()=>se,"std.sqrt":()=>be,"std.max":()=>b,sdfFn:()=>e,"std.min":()=>oe,chordMode:()=>s,patternMode:()=>t,"std.abs":()=>z,"d.vec2f":()=>l,"std.select":()=>C,"d.vec4f":()=>x}})&&i.f)({})).$name("raymarchedField")}function pG(e,t="none",s="span"){return oy(e,t,s)}var c1="rgba32float",H7=1536;function jc(){return _o()?768:H7}var fG=[256,320,384,512,640,768,896,1024,1280,1536];function j7(e,t,s,r,o,n){if(!(r>0)||!(s>0))return o;let i=_o()?.5:1,d=Math.max(e,t)*s*r*i,c=o;for(let _ of fG){if(_>o)break;if(_>=d){c=_;break}}return n>0&&cn*.78&&(c=Math.min(n,o)),c}var Cn=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({rot:n5(16,a5(32,Hc)),rBound:a,spanX:a,spanY:a,originX:a,originY:a,activeRes:R,pA:a,pB:a,pC:a,pD:a,mb0:f,mb1:f,mb2:f,mb3:f,mb4:f,mb5:f,mb6:f,mb7:f}),"MarchParams");function ny(){return{layout:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({field:{storageTexture:Mo(c1,"write-only")},params:{uniform:Cn}}),"layout"),MarchParams:Cn}}function K7(e,t){return v.fn([R,R])((s=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(s.f=((r,o)=>{"use gpu";let n=e.$.params,i=a(n.activeRes),d=t(l(__tsover_add(n.originX,__tsover_mul(__tsover_div(__tsover_add(a(r),.5),i),n.spanX)),__tsover_add(n.originY,__tsover_mul(__tsover_div(__tsover_add(a(o),.5),i),n.spanY))),n.rot,n.rBound);jr(e.$.field,Ge(r,o),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"p",[7,[7,"layout","$"],"params"]],[13,"activeResF",[6,"d.f32",[[7,"p","activeRes"]]]],[13,"uv",[6,"d.vec2f",[[1,[7,"p","originX"],"+",[1,[1,[1,[6,"d.f32",["cx"]],"+",[5,"0.5"]],"/","activeResF"],"*",[7,"p","spanX"]]],[1,[7,"p","originY"],"+",[1,[1,[1,[6,"d.f32",["cy"]],"+",[5,"0.5"]],"/","activeResF"],"*",[7,"p","spanY"]]]]]],[13,"field",[6,"marchFn",["uv",[7,"p","rot"],[7,"p","rBound"]]]],[6,"std.textureStore",[[7,[7,"layout","$"],"field"],[6,"d.vec2u",["cx","cy"]],"field"]]]]},externals:{layout:()=>e,"d.f32":()=>a,"d.vec2f":()=>l,marchFn:()=>t,"std.textureStore":()=>jr,"d.vec2u":()=>Ge}})&&s.f)({})).$name("volumetricFieldMarch")}var bf=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({originX:a,originY:a,spanX:a,spanY:a,activeResF:a,rBound:a}),"SampleParams");function vG(){let e=(globalThis.__TYPEGPU_AUTONAME__??(s=>s))(v.bindGroupLayout({field:{texture:ps(a),sampleType:"unfilterable-float"},params:{uniform:bf}}),"sampleLayout"),t=v.fn([a,a],x)((s=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(s.f=((r,o)=>{"use gpu";let n=__tsover_sub(e.$.params.activeResF,1),i=R($(r,a(0),n)),d=R($(o,a(0),n));return Be(e.$.field,Ge(i,d),0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"xi"},{type:"i",name:"yi"}],body:[0,[[13,"maxT",[1,[7,[7,[7,"sampleLayout","$"],"params"],"activeResF"],"-",[5,"1"]]],[13,"tx",[6,"d.u32",[[6,"std.clamp",["xi",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"ty",[6,"d.u32",[[6,"std.clamp",["yi",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[10,[6,"std.textureLoad",[[7,[7,"sampleLayout","$"],"field"],[6,"d.vec2u",["tx","ty"]],[5,"0"]]]]]]},externals:{sampleLayout:()=>e,"d.u32":()=>R,"std.clamp":()=>$,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge}})&&s.f)({})).$name("fieldFetchTexel");return{sampleLayout:e,fieldSample:v.fn([l],x)((s=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(s.f=(r=>{"use gpu";let o=e.$.params,n=$(r.x,o.originX,__tsover_add(o.originX,o.spanX)),i=$(r.y,o.originY,__tsover_add(o.originY,o.spanY)),d=j(l(__tsover_sub(r.x,n),__tsover_sub(r.y,i))),c=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(n,o.originX),o.spanX),o.activeResF),.5),_=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(i,o.originY),o.spanY),o.activeResF),.5),u=q(c),m=q(_),p=__tsover_sub(c,u),y=__tsover_sub(_,m),h=__tsover_mul(p,p),g=__tsover_mul(h,p),w=__tsover_sub(__tsover_add(__tsover_mul(g,-.5),h),__tsover_mul(p,.5)),S=__tsover_add(__tsover_sub(__tsover_mul(g,1.5),__tsover_mul(h,2.5)),1),T=__tsover_add(__tsover_add(__tsover_mul(g,-1.5),__tsover_mul(h,2)),__tsover_mul(p,.5)),A=__tsover_sub(__tsover_mul(g,.5),__tsover_mul(h,.5)),P=__tsover_mul(y,y),U=__tsover_mul(P,y),D=__tsover_sub(__tsover_add(__tsover_mul(U,-.5),P),__tsover_mul(y,.5)),O=__tsover_add(__tsover_sub(__tsover_mul(U,1.5),__tsover_mul(P,2.5)),1),L=__tsover_add(__tsover_add(__tsover_mul(U,-1.5),__tsover_mul(P,2)),__tsover_mul(y,.5)),G=__tsover_sub(__tsover_mul(U,.5),__tsover_mul(P,.5)),W=t(__tsover_sub(u,1),__tsover_sub(m,1)),K=t(u,__tsover_sub(m,1)),Q=t(__tsover_add(u,1),__tsover_sub(m,1)),te=t(__tsover_add(u,2),__tsover_sub(m,1)),ee=t(__tsover_sub(u,1),m),he=t(u,m),Ee=t(__tsover_add(u,1),m),Te=t(__tsover_add(u,2),m),Ue=t(__tsover_sub(u,1),__tsover_add(m,1)),Me=t(u,__tsover_add(m,1)),Pe=t(__tsover_add(u,1),__tsover_add(m,1)),Re=t(__tsover_add(u,2),__tsover_add(m,1)),de=t(__tsover_sub(u,1),__tsover_add(m,2)),je=t(u,__tsover_add(m,2)),fe=t(__tsover_add(u,1),__tsover_add(m,2)),Ke=t(__tsover_add(u,2),__tsover_add(m,2)),Ze=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(W.r,w),D),__tsover_mul(__tsover_mul(K.r,S),D)),__tsover_mul(__tsover_mul(Q.r,T),D)),__tsover_mul(__tsover_mul(te.r,A),D)),__tsover_mul(__tsover_mul(ee.r,w),O)),__tsover_mul(__tsover_mul(he.r,S),O)),__tsover_mul(__tsover_mul(Ee.r,T),O)),__tsover_mul(__tsover_mul(Te.r,A),O)),__tsover_mul(__tsover_mul(Ue.r,w),L)),__tsover_mul(__tsover_mul(Me.r,S),L)),__tsover_mul(__tsover_mul(Pe.r,T),L)),__tsover_mul(__tsover_mul(Re.r,A),L)),__tsover_mul(__tsover_mul(de.r,w),G)),__tsover_mul(__tsover_mul(je.r,S),G)),__tsover_mul(__tsover_mul(fe.r,T),G)),__tsover_mul(__tsover_mul(Ke.r,A),G)),at=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(W.a,w),D),__tsover_mul(__tsover_mul(K.a,S),D)),__tsover_mul(__tsover_mul(Q.a,T),D)),__tsover_mul(__tsover_mul(te.a,A),D)),__tsover_mul(__tsover_mul(ee.a,w),O)),__tsover_mul(__tsover_mul(he.a,S),O)),__tsover_mul(__tsover_mul(Ee.a,T),O)),__tsover_mul(__tsover_mul(Te.a,A),O)),__tsover_mul(__tsover_mul(Ue.a,w),L)),__tsover_mul(__tsover_mul(Me.a,S),L)),__tsover_mul(__tsover_mul(Pe.a,T),L)),__tsover_mul(__tsover_mul(Re.a,A),L)),__tsover_mul(__tsover_mul(de.a,w),G)),__tsover_mul(__tsover_mul(je.a,S),G)),__tsover_mul(__tsover_mul(fe.a,T),G)),__tsover_mul(__tsover_mul(Ke.a,A),G)),Fe=X(X(he,Ee,p),X(Me,Pe,p),y),Ie=oe(oe(he.r,Ee.r),oe(Me.r,Pe.r)),st=b(b(he.r,Ee.r),b(Me.r,Pe.r)),Xe=$(at,oe(oe(he.a,Ee.a),oe(Me.a,Pe.a)),b(b(he.a,Ee.a),b(Me.a,Pe.a))),We=__tsover_add($(Ze,Ie,st),d);return x(X(We,b(__tsover_sub(j(l(__tsover_sub(r.x,.5),__tsover_sub(r.y,.5))),o.rBound),We),re(a(0),.25,d)),Fe.g,Fe.b,Xe)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"p",[7,[7,"sampleLayout","$"],"params"]],[13,"uxc",[6,"std.clamp",[[7,"uv","x"],[7,"p","originX"],[1,[7,"p","originX"],"+",[7,"p","spanX"]]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],[7,"p","originY"],[1,[7,"p","originY"],"+",[7,"p","spanY"]]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-",[7,"p","originX"]],"/",[7,"p","spanX"]],"*",[7,"p","activeResF"]],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-",[7,"p","originY"]],"/",[7,"p","spanY"]],"*",[7,"p","activeResF"]],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"tx2",[1,"fx","*","fx"]],[13,"tx3",[1,"tx2","*","fx"]],[13,"wx0",[1,[1,[1,"tx3","*",[4,"-",[5,"0.5"]]],"+","tx2"],"-",[1,"fx","*",[5,"0.5"]]]],[13,"wx1",[1,[1,[1,"tx3","*",[5,"1.5"]],"-",[1,"tx2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wx2",[1,[1,[1,"tx3","*",[4,"-",[5,"1.5"]]],"+",[1,"tx2","*",[5,"2"]]],"+",[1,"fx","*",[5,"0.5"]]]],[13,"wx3",[1,[1,"tx3","*",[5,"0.5"]],"-",[1,"tx2","*",[5,"0.5"]]]],[13,"ty2",[1,"fy","*","fy"]],[13,"ty3",[1,"ty2","*","fy"]],[13,"wy0",[1,[1,[1,"ty3","*",[4,"-",[5,"0.5"]]],"+","ty2"],"-",[1,"fy","*",[5,"0.5"]]]],[13,"wy1",[1,[1,[1,"ty3","*",[5,"1.5"]],"-",[1,"ty2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wy2",[1,[1,[1,"ty3","*",[4,"-",[5,"1.5"]]],"+",[1,"ty2","*",[5,"2"]]],"+",[1,"fy","*",[5,"0.5"]]]],[13,"wy3",[1,[1,"ty3","*",[5,"0.5"]],"-",[1,"ty2","*",[5,"0.5"]]]],[13,"k00",[6,"fetchTexel",[[1,"x0","-",[5,"1"]],[1,"y0","-",[5,"1"]]]]],[13,"k01",[6,"fetchTexel",["x0",[1,"y0","-",[5,"1"]]]]],[13,"k02",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],[1,"y0","-",[5,"1"]]]]],[13,"k03",[6,"fetchTexel",[[1,"x0","+",[5,"2"]],[1,"y0","-",[5,"1"]]]]],[13,"k10",[6,"fetchTexel",[[1,"x0","-",[5,"1"]],"y0"]]],[13,"k11",[6,"fetchTexel",["x0","y0"]]],[13,"k12",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],"y0"]]],[13,"k13",[6,"fetchTexel",[[1,"x0","+",[5,"2"]],"y0"]]],[13,"k20",[6,"fetchTexel",[[1,"x0","-",[5,"1"]],[1,"y0","+",[5,"1"]]]]],[13,"k21",[6,"fetchTexel",["x0",[1,"y0","+",[5,"1"]]]]],[13,"k22",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],[1,"y0","+",[5,"1"]]]]],[13,"k23",[6,"fetchTexel",[[1,"x0","+",[5,"2"]],[1,"y0","+",[5,"1"]]]]],[13,"k30",[6,"fetchTexel",[[1,"x0","-",[5,"1"]],[1,"y0","+",[5,"2"]]]]],[13,"k31",[6,"fetchTexel",["x0",[1,"y0","+",[5,"2"]]]]],[13,"k32",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],[1,"y0","+",[5,"2"]]]]],[13,"k33",[6,"fetchTexel",[[1,"x0","+",[5,"2"]],[1,"y0","+",[5,"2"]]]]],[13,"rAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","r"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","r"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","r"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","r"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","r"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","r"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","r"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","r"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","r"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","r"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","r"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","r"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","r"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","r"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","r"],"*","wx3"],"*","wy3"]]],[13,"aAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","a"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","a"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","a"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","a"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","a"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","a"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","a"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","a"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","a"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","a"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","a"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","a"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","a"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","a"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","a"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","a"],"*","wx3"],"*","wy3"]]],[13,"bl",[6,"std.mix",[[6,"std.mix",["k11","k12","fx"]],[6,"std.mix",["k21","k22","fx"]],"fy"]]],[13,"rMin",[6,"std.min",[[6,"std.min",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.min",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"rMax",[6,"std.max",[[6,"std.max",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.max",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"aMin",[6,"std.min",[[6,"std.min",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.min",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aMax",[6,"std.max",[[6,"std.max",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.max",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aOut",[6,"std.clamp",["aAcc","aMin","aMax"]]],[13,"rNear",[1,[6,"std.clamp",["rAcc","rMin","rMax"]],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-",[7,"p","rBound"]]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"bl","g"],[7,"bl","b"],"aOut"]]]]]},externals:{sampleLayout:()=>e,"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,fetchTexel:()=>t,"std.mix":()=>X,"std.min":()=>oe,"std.max":()=>b,"std.smoothstep":()=>re,"d.f32":()=>a,"d.vec4f":()=>x}})&&s.f)({})).$name("fieldSample"),fieldSampleFast:v.fn([l],x)((s=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(s.f=(r=>{"use gpu";let o=e.$.params,n=$(r.x,o.originX,__tsover_add(o.originX,o.spanX)),i=$(r.y,o.originY,__tsover_add(o.originY,o.spanY)),d=j(l(__tsover_sub(r.x,n),__tsover_sub(r.y,i))),c=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(n,o.originX),o.spanX),o.activeResF),.5),_=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(i,o.originY),o.spanY),o.activeResF),.5),u=q(c),m=q(_),p=__tsover_sub(c,u),y=__tsover_sub(_,m),h=t(u,m),g=t(__tsover_add(u,1),m),w=t(u,__tsover_add(m,1)),S=t(__tsover_add(u,1),__tsover_add(m,1)),T=X(X(h,g,p),X(w,S,p),y),A=__tsover_add(T.r,d);return x(X(A,b(__tsover_sub(j(l(__tsover_sub(r.x,.5),__tsover_sub(r.y,.5))),o.rBound),A),re(a(0),.25,d)),T.g,T.b,T.a)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"p",[7,[7,"sampleLayout","$"],"params"]],[13,"uxc",[6,"std.clamp",[[7,"uv","x"],[7,"p","originX"],[1,[7,"p","originX"],"+",[7,"p","spanX"]]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],[7,"p","originY"],[1,[7,"p","originY"],"+",[7,"p","spanY"]]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-",[7,"p","originX"]],"/",[7,"p","spanX"]],"*",[7,"p","activeResF"]],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-",[7,"p","originY"]],"/",[7,"p","spanY"]],"*",[7,"p","activeResF"]],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"t00",[6,"fetchTexel",["x0","y0"]]],[13,"t10",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],"y0"]]],[13,"t01",[6,"fetchTexel",["x0",[1,"y0","+",[5,"1"]]]]],[13,"t11",[6,"fetchTexel",[[1,"x0","+",[5,"1"]],[1,"y0","+",[5,"1"]]]]],[13,"bl",[6,"std.mix",[[6,"std.mix",["t00","t10","fx"]],[6,"std.mix",["t01","t11","fx"]],"fy"]]],[13,"rNear",[1,[7,"bl","r"],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-",[7,"p","rBound"]]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"bl","g"],[7,"bl","b"],[7,"bl","a"]]]]]]},externals:{sampleLayout:()=>e,"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,fetchTexel:()=>t,"std.mix":()=>X,"std.max":()=>b,"std.smoothstep":()=>re,"d.f32":()=>a,"d.vec4f":()=>x}})&&s.f)({})).$name("fieldSampleFast"),SampleParams:bf}}function Z7(e,t,s,r,o={}){let n=jc(),i=(globalThis.__TYPEGPU_AUTONAME__??(m=>m))(e.createTexture({size:[n,n],format:c1}).$usage("storage","sampled"),"fieldTexture"),d=o.paramsUniform??e.createUniform(Cn);r(()=>i.destroy());let c=e.createBindGroup(t,{field:i,params:d.buffer,...o.sdfSourceTexture?{sdfSource:o.sdfSourceTexture}:{}}),_=qp(e,(m=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(m.f=((p,y)=>{"use gpu";s(p,y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[6,"kernel",["cx","cy"]]]]},externals:{kernel:()=>s}})&&m.f)({}),{bindGroup:c});for(let m of o.extraBindGroups??[])_=_.with(m);let u=n;return{computeStep:_,fieldTexture:i,maxRes:n,get activeRes(){return u},writeParams(m){d.write(m)},dispatch(m){u=m,_.dispatchThreads(m,m)}}}function Q7(){return{layout:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({field:{storageTexture:Mo(c1,"write-only")},params:{uniform:Cn},sdfSource:{texture:ps(a)}}),"layout"),MarchParams:Cn}}function ay(){return{fieldSampleArg:v.fn([l,ps(a),a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=$(t.x,r,__tsover_add(r,n)),u=$(t.y,o,__tsover_add(o,i)),m=j(l(__tsover_sub(t.x,_),__tsover_sub(t.y,u))),p=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(_,r),n),d),.5),y=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(u,o),i),d),.5),h=q(p),g=q(y),w=__tsover_sub(p,h),S=__tsover_sub(y,g),T=__tsover_mul(w,w),A=__tsover_mul(T,w),P=__tsover_sub(__tsover_add(__tsover_mul(A,-.5),T),__tsover_mul(w,.5)),U=__tsover_add(__tsover_sub(__tsover_mul(A,1.5),__tsover_mul(T,2.5)),1),D=__tsover_add(__tsover_add(__tsover_mul(A,-1.5),__tsover_mul(T,2)),__tsover_mul(w,.5)),O=__tsover_sub(__tsover_mul(A,.5),__tsover_mul(T,.5)),L=__tsover_mul(S,S),G=__tsover_mul(L,S),W=__tsover_sub(__tsover_add(__tsover_mul(G,-.5),L),__tsover_mul(S,.5)),K=__tsover_add(__tsover_sub(__tsover_mul(G,1.5),__tsover_mul(L,2.5)),1),Q=__tsover_add(__tsover_add(__tsover_mul(G,-1.5),__tsover_mul(L,2)),__tsover_mul(S,.5)),te=__tsover_sub(__tsover_mul(G,.5),__tsover_mul(L,.5)),ee=__tsover_sub(d,1),he=R($(__tsover_sub(h,1),a(0),ee)),Ee=R($(h,a(0),ee)),Te=R($(__tsover_add(h,1),a(0),ee)),Ue=R($(__tsover_add(h,2),a(0),ee)),Me=R($(__tsover_sub(g,1),a(0),ee)),Pe=R($(g,a(0),ee)),Re=R($(__tsover_add(g,1),a(0),ee)),de=R($(__tsover_add(g,2),a(0),ee)),je=Be(s,Ge(he,Me),0),fe=Be(s,Ge(Ee,Me),0),Ke=Be(s,Ge(Te,Me),0),Ze=Be(s,Ge(Ue,Me),0),at=Be(s,Ge(he,Pe),0),Fe=Be(s,Ge(Ee,Pe),0),Ie=Be(s,Ge(Te,Pe),0),st=Be(s,Ge(Ue,Pe),0),Xe=Be(s,Ge(he,Re),0),We=Be(s,Ge(Ee,Re),0),Ve=Be(s,Ge(Te,Re),0),Ft=Be(s,Ge(Ue,Re),0),Gt=Be(s,Ge(he,de),0),os=Be(s,Ge(Ee,de),0),bs=Be(s,Ge(Te,de),0),ls=Be(s,Ge(Ue,de),0),As=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(je.r,P),W),__tsover_mul(__tsover_mul(fe.r,U),W)),__tsover_mul(__tsover_mul(Ke.r,D),W)),__tsover_mul(__tsover_mul(Ze.r,O),W)),__tsover_mul(__tsover_mul(at.r,P),K)),__tsover_mul(__tsover_mul(Fe.r,U),K)),__tsover_mul(__tsover_mul(Ie.r,D),K)),__tsover_mul(__tsover_mul(st.r,O),K)),__tsover_mul(__tsover_mul(Xe.r,P),Q)),__tsover_mul(__tsover_mul(We.r,U),Q)),__tsover_mul(__tsover_mul(Ve.r,D),Q)),__tsover_mul(__tsover_mul(Ft.r,O),Q)),__tsover_mul(__tsover_mul(Gt.r,P),te)),__tsover_mul(__tsover_mul(os.r,U),te)),__tsover_mul(__tsover_mul(bs.r,D),te)),__tsover_mul(__tsover_mul(ls.r,O),te)),vs=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(je.a,P),W),__tsover_mul(__tsover_mul(fe.a,U),W)),__tsover_mul(__tsover_mul(Ke.a,D),W)),__tsover_mul(__tsover_mul(Ze.a,O),W)),__tsover_mul(__tsover_mul(at.a,P),K)),__tsover_mul(__tsover_mul(Fe.a,U),K)),__tsover_mul(__tsover_mul(Ie.a,D),K)),__tsover_mul(__tsover_mul(st.a,O),K)),__tsover_mul(__tsover_mul(Xe.a,P),Q)),__tsover_mul(__tsover_mul(We.a,U),Q)),__tsover_mul(__tsover_mul(Ve.a,D),Q)),__tsover_mul(__tsover_mul(Ft.a,O),Q)),__tsover_mul(__tsover_mul(Gt.a,P),te)),__tsover_mul(__tsover_mul(os.a,U),te)),__tsover_mul(__tsover_mul(bs.a,D),te)),__tsover_mul(__tsover_mul(ls.a,O),te)),ys=X(X(Fe,Ie,w),X(We,Ve,w),S),Ks=oe(oe(Fe.r,Ie.r),oe(We.r,Ve.r)),yr=b(b(Fe.r,Ie.r),b(We.r,Ve.r)),Ur=$(vs,oe(oe(Fe.a,Ie.a),oe(We.a,Ve.a)),b(b(Fe.a,Ie.a),b(We.a,Ve.a))),Ms=__tsover_add($(As,Ks,yr),m);return x(X(Ms,b(__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),c),Ms),re(a(0),.25,m)),ys.g,ys.b,Ur)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"field"},{type:"i",name:"originX"},{type:"i",name:"originY"},{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"},{type:"i",name:"rBound"}],body:[0,[[13,"uxc",[6,"std.clamp",[[7,"uv","x"],"originX",[1,"originX","+","spanX"]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],"originY",[1,"originY","+","spanY"]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-","originX"],"/","spanX"],"*","activeResF"],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-","originY"],"/","spanY"],"*","activeResF"],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"tx2",[1,"fx","*","fx"]],[13,"tx3",[1,"tx2","*","fx"]],[13,"wx0",[1,[1,[1,"tx3","*",[4,"-",[5,"0.5"]]],"+","tx2"],"-",[1,"fx","*",[5,"0.5"]]]],[13,"wx1",[1,[1,[1,"tx3","*",[5,"1.5"]],"-",[1,"tx2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wx2",[1,[1,[1,"tx3","*",[4,"-",[5,"1.5"]]],"+",[1,"tx2","*",[5,"2"]]],"+",[1,"fx","*",[5,"0.5"]]]],[13,"wx3",[1,[1,"tx3","*",[5,"0.5"]],"-",[1,"tx2","*",[5,"0.5"]]]],[13,"ty2",[1,"fy","*","fy"]],[13,"ty3",[1,"ty2","*","fy"]],[13,"wy0",[1,[1,[1,"ty3","*",[4,"-",[5,"0.5"]]],"+","ty2"],"-",[1,"fy","*",[5,"0.5"]]]],[13,"wy1",[1,[1,[1,"ty3","*",[5,"1.5"]],"-",[1,"ty2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wy2",[1,[1,[1,"ty3","*",[4,"-",[5,"1.5"]]],"+",[1,"ty2","*",[5,"2"]]],"+",[1,"fy","*",[5,"0.5"]]]],[13,"wy3",[1,[1,"ty3","*",[5,"0.5"]],"-",[1,"ty2","*",[5,"0.5"]]]],[13,"maxT",[1,"activeResF","-",[5,"1"]]],[13,"cxm",[6,"d.u32",[[6,"std.clamp",[[1,"x0","-",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx0",[6,"d.u32",[[6,"std.clamp",["x0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx1",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx2",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"2"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cym",[6,"d.u32",[[6,"std.clamp",[[1,"y0","-",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy0",[6,"d.u32",[[6,"std.clamp",["y0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy1",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy2",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"2"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"k00",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cym"]],[5,"0"]]]],[13,"k01",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cym"]],[5,"0"]]]],[13,"k02",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cym"]],[5,"0"]]]],[13,"k03",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cym"]],[5,"0"]]]],[13,"k10",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy0"]],[5,"0"]]]],[13,"k11",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy0"]],[5,"0"]]]],[13,"k12",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy0"]],[5,"0"]]]],[13,"k13",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy0"]],[5,"0"]]]],[13,"k20",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy1"]],[5,"0"]]]],[13,"k21",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy1"]],[5,"0"]]]],[13,"k22",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy1"]],[5,"0"]]]],[13,"k23",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy1"]],[5,"0"]]]],[13,"k30",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy2"]],[5,"0"]]]],[13,"k31",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy2"]],[5,"0"]]]],[13,"k32",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy2"]],[5,"0"]]]],[13,"k33",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy2"]],[5,"0"]]]],[13,"rAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","r"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","r"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","r"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","r"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","r"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","r"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","r"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","r"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","r"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","r"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","r"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","r"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","r"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","r"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","r"],"*","wx3"],"*","wy3"]]],[13,"aAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","a"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","a"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","a"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","a"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","a"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","a"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","a"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","a"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","a"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","a"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","a"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","a"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","a"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","a"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","a"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","a"],"*","wx3"],"*","wy3"]]],[13,"bl",[6,"std.mix",[[6,"std.mix",["k11","k12","fx"]],[6,"std.mix",["k21","k22","fx"]],"fy"]]],[13,"rMin",[6,"std.min",[[6,"std.min",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.min",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"rMax",[6,"std.max",[[6,"std.max",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.max",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"aMin",[6,"std.min",[[6,"std.min",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.min",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aMax",[6,"std.max",[[6,"std.max",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.max",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aOut",[6,"std.clamp",["aAcc","aMin","aMax"]]],[13,"rNear",[1,[6,"std.clamp",["rAcc","rMin","rMax"]],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-","rBound"]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"bl","g"],[7,"bl","b"],"aOut"]]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,"d.u32":()=>R,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.mix":()=>X,"std.min":()=>oe,"std.max":()=>b,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({})).$name("fieldSampleArg"),fieldSampleGradArg:v.fn([l,ps(a),a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=$(t.x,r,__tsover_add(r,n)),u=$(t.y,o,__tsover_add(o,i)),m=j(l(__tsover_sub(t.x,_),__tsover_sub(t.y,u))),p=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(_,r),n),d),.5),y=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(u,o),i),d),.5),h=q(p),g=q(y),w=__tsover_sub(p,h),S=__tsover_sub(y,g),T=__tsover_mul(w,w),A=__tsover_mul(T,w),P=__tsover_sub(__tsover_add(__tsover_mul(A,-.5),T),__tsover_mul(w,.5)),U=__tsover_add(__tsover_sub(__tsover_mul(A,1.5),__tsover_mul(T,2.5)),1),D=__tsover_add(__tsover_add(__tsover_mul(A,-1.5),__tsover_mul(T,2)),__tsover_mul(w,.5)),O=__tsover_sub(__tsover_mul(A,.5),__tsover_mul(T,.5)),L=__tsover_mul(S,S),G=__tsover_mul(L,S),W=__tsover_sub(__tsover_add(__tsover_mul(G,-.5),L),__tsover_mul(S,.5)),K=__tsover_add(__tsover_sub(__tsover_mul(G,1.5),__tsover_mul(L,2.5)),1),Q=__tsover_add(__tsover_add(__tsover_mul(G,-1.5),__tsover_mul(L,2)),__tsover_mul(S,.5)),te=__tsover_sub(__tsover_mul(G,.5),__tsover_mul(L,.5)),ee=__tsover_sub(1,w),he=__tsover_mul(__tsover_mul(__tsover_mul(ee,ee),ee),.16666667),Ee=__tsover_add(__tsover_sub(__tsover_mul(A,.5),T),.66666667),Te=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(A,-.5),__tsover_mul(T,.5)),__tsover_mul(w,.5)),.16666667),Ue=__tsover_mul(A,.16666667),Me=__tsover_mul(__tsover_mul(ee,ee),-.5),Pe=__tsover_sub(__tsover_mul(T,1.5),__tsover_mul(w,2)),Re=__tsover_add(__tsover_add(__tsover_mul(T,-1.5),w),.5),de=__tsover_mul(T,.5),je=__tsover_sub(1,S),fe=__tsover_mul(__tsover_mul(__tsover_mul(je,je),je),.16666667),Ke=__tsover_add(__tsover_sub(__tsover_mul(G,.5),L),.66666667),Ze=__tsover_add(__tsover_add(__tsover_add(__tsover_mul(G,-.5),__tsover_mul(L,.5)),__tsover_mul(S,.5)),.16666667),at=__tsover_mul(G,.16666667),Fe=__tsover_mul(__tsover_mul(je,je),-.5),Ie=__tsover_sub(__tsover_mul(L,1.5),__tsover_mul(S,2)),st=__tsover_add(__tsover_add(__tsover_mul(L,-1.5),S),.5),Xe=__tsover_mul(L,.5),We=__tsover_sub(d,1),Ve=R($(__tsover_sub(h,1),a(0),We)),Ft=R($(h,a(0),We)),Gt=R($(__tsover_add(h,1),a(0),We)),os=R($(__tsover_add(h,2),a(0),We)),bs=R($(__tsover_sub(g,1),a(0),We)),ls=R($(g,a(0),We)),As=R($(__tsover_add(g,1),a(0),We)),vs=R($(__tsover_add(g,2),a(0),We)),ys=Be(s,Ge(Ve,bs),0),Ks=Be(s,Ge(Ft,bs),0),yr=Be(s,Ge(Gt,bs),0),Ur=Be(s,Ge(os,bs),0),Ms=Be(s,Ge(Ve,ls),0),Cr=Be(s,Ge(Ft,ls),0),hr=Be(s,Ge(Gt,ls),0),mo=Be(s,Ge(os,ls),0),po=Be(s,Ge(Ve,As),0),Rr=Be(s,Ge(Ft,As),0),nr=Be(s,Ge(Gt,As),0),zr=Be(s,Ge(os,As),0),Ps=Be(s,Ge(Ve,vs),0),Gr=Be(s,Ge(Ft,vs),0),Vo=Be(s,Ge(Gt,vs),0),Qr=Be(s,Ge(os,vs),0),ci=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(ys.r,P),W),__tsover_mul(__tsover_mul(Ks.r,U),W)),__tsover_mul(__tsover_mul(yr.r,D),W)),__tsover_mul(__tsover_mul(Ur.r,O),W)),__tsover_mul(__tsover_mul(Ms.r,P),K)),__tsover_mul(__tsover_mul(Cr.r,U),K)),__tsover_mul(__tsover_mul(hr.r,D),K)),__tsover_mul(__tsover_mul(mo.r,O),K)),__tsover_mul(__tsover_mul(po.r,P),Q)),__tsover_mul(__tsover_mul(Rr.r,U),Q)),__tsover_mul(__tsover_mul(nr.r,D),Q)),__tsover_mul(__tsover_mul(zr.r,O),Q)),__tsover_mul(__tsover_mul(Ps.r,P),te)),__tsover_mul(__tsover_mul(Gr.r,U),te)),__tsover_mul(__tsover_mul(Vo.r,D),te)),__tsover_mul(__tsover_mul(Qr.r,O),te)),ba=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(ys.a,P),W),__tsover_mul(__tsover_mul(Ks.a,U),W)),__tsover_mul(__tsover_mul(yr.a,D),W)),__tsover_mul(__tsover_mul(Ur.a,O),W)),__tsover_mul(__tsover_mul(Ms.a,P),K)),__tsover_mul(__tsover_mul(Cr.a,U),K)),__tsover_mul(__tsover_mul(hr.a,D),K)),__tsover_mul(__tsover_mul(mo.a,O),K)),__tsover_mul(__tsover_mul(po.a,P),Q)),__tsover_mul(__tsover_mul(Rr.a,U),Q)),__tsover_mul(__tsover_mul(nr.a,D),Q)),__tsover_mul(__tsover_mul(zr.a,O),Q)),__tsover_mul(__tsover_mul(Ps.a,P),te)),__tsover_mul(__tsover_mul(Gr.a,U),te)),__tsover_mul(__tsover_mul(Vo.a,D),te)),__tsover_mul(__tsover_mul(Qr.a,O),te)),_i=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(ys.r,Me),fe),__tsover_mul(__tsover_mul(Ks.r,Pe),fe)),__tsover_mul(__tsover_mul(yr.r,Re),fe)),__tsover_mul(__tsover_mul(Ur.r,de),fe)),__tsover_mul(__tsover_mul(Ms.r,Me),Ke)),__tsover_mul(__tsover_mul(Cr.r,Pe),Ke)),__tsover_mul(__tsover_mul(hr.r,Re),Ke)),__tsover_mul(__tsover_mul(mo.r,de),Ke)),__tsover_mul(__tsover_mul(po.r,Me),Ze)),__tsover_mul(__tsover_mul(Rr.r,Pe),Ze)),__tsover_mul(__tsover_mul(nr.r,Re),Ze)),__tsover_mul(__tsover_mul(zr.r,de),Ze)),__tsover_mul(__tsover_mul(Ps.r,Me),at)),__tsover_mul(__tsover_mul(Gr.r,Pe),at)),__tsover_mul(__tsover_mul(Vo.r,Re),at)),__tsover_mul(__tsover_mul(Qr.r,de),at)),li=__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_add(__tsover_mul(__tsover_mul(ys.r,he),Fe),__tsover_mul(__tsover_mul(Ks.r,Ee),Fe)),__tsover_mul(__tsover_mul(yr.r,Te),Fe)),__tsover_mul(__tsover_mul(Ur.r,Ue),Fe)),__tsover_mul(__tsover_mul(Ms.r,he),Ie)),__tsover_mul(__tsover_mul(Cr.r,Ee),Ie)),__tsover_mul(__tsover_mul(hr.r,Te),Ie)),__tsover_mul(__tsover_mul(mo.r,Ue),Ie)),__tsover_mul(__tsover_mul(po.r,he),st)),__tsover_mul(__tsover_mul(Rr.r,Ee),st)),__tsover_mul(__tsover_mul(nr.r,Te),st)),__tsover_mul(__tsover_mul(zr.r,Ue),st)),__tsover_mul(__tsover_mul(Ps.r,he),Xe)),__tsover_mul(__tsover_mul(Gr.r,Ee),Xe)),__tsover_mul(__tsover_mul(Vo.r,Te),Xe)),__tsover_mul(__tsover_mul(Qr.r,Ue),Xe)),F=oe(oe(Cr.r,hr.r),oe(Rr.r,nr.r)),le=b(b(Cr.r,hr.r),b(Rr.r,nr.r)),ae=$(ba,oe(oe(Cr.a,hr.a),oe(Rr.a,nr.a)),b(b(Cr.a,hr.a),b(Rr.a,nr.a))),ne=__tsover_add(__tsover_mul(__tsover_sub(le,F),.3),1e-6),ie=$(__tsover_add(__tsover_mul(__tsover_div(__tsover_sub(le,ci),ne),.5),.5),0,1),ge=__tsover_sub(X(le,ci,ie),__tsover_mul(__tsover_mul(ne,ie),__tsover_sub(1,ie))),Ye=$(__tsover_add(__tsover_mul(__tsover_div(__tsover_sub(ge,F),ne),.5),.5),0,1),Je=__tsover_add(X(F,ge,Ye),__tsover_mul(__tsover_mul(ne,Ye),__tsover_sub(1,Ye))),rt=__tsover_add(Je,m),He=X(rt,b(__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),c),rt),re(a(0),.25,m)),Bt=C(a(0),a(1),z(__tsover_sub(t.x,_))<1e-7),Yt=C(a(0),a(1),z(__tsover_sub(t.y,u))<1e-7),Ls=__tsover_div(1,b(m,1e-5));return x(He,__tsover_add(__tsover_mul(__tsover_mul(_i,__tsover_div(d,n)),Bt),__tsover_mul(__tsover_sub(t.x,_),Ls)),__tsover_add(__tsover_mul(__tsover_mul(li,__tsover_div(d,i)),Yt),__tsover_mul(__tsover_sub(t.y,u),Ls)),ae)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"field"},{type:"i",name:"originX"},{type:"i",name:"originY"},{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"},{type:"i",name:"rBound"}],body:[0,[[13,"uxc",[6,"std.clamp",[[7,"uv","x"],"originX",[1,"originX","+","spanX"]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],"originY",[1,"originY","+","spanY"]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-","originX"],"/","spanX"],"*","activeResF"],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-","originY"],"/","spanY"],"*","activeResF"],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"tx2",[1,"fx","*","fx"]],[13,"tx3",[1,"tx2","*","fx"]],[13,"wx0",[1,[1,[1,"tx3","*",[4,"-",[5,"0.5"]]],"+","tx2"],"-",[1,"fx","*",[5,"0.5"]]]],[13,"wx1",[1,[1,[1,"tx3","*",[5,"1.5"]],"-",[1,"tx2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wx2",[1,[1,[1,"tx3","*",[4,"-",[5,"1.5"]]],"+",[1,"tx2","*",[5,"2"]]],"+",[1,"fx","*",[5,"0.5"]]]],[13,"wx3",[1,[1,"tx3","*",[5,"0.5"]],"-",[1,"tx2","*",[5,"0.5"]]]],[13,"ty2",[1,"fy","*","fy"]],[13,"ty3",[1,"ty2","*","fy"]],[13,"wy0",[1,[1,[1,"ty3","*",[4,"-",[5,"0.5"]]],"+","ty2"],"-",[1,"fy","*",[5,"0.5"]]]],[13,"wy1",[1,[1,[1,"ty3","*",[5,"1.5"]],"-",[1,"ty2","*",[5,"2.5"]]],"+",[5,"1"]]],[13,"wy2",[1,[1,[1,"ty3","*",[4,"-",[5,"1.5"]]],"+",[1,"ty2","*",[5,"2"]]],"+",[1,"fy","*",[5,"0.5"]]]],[13,"wy3",[1,[1,"ty3","*",[5,"0.5"]],"-",[1,"ty2","*",[5,"0.5"]]]],[13,"oxf",[1,[5,"1"],"-","fx"]],[13,"bx0",[1,[1,[1,"oxf","*","oxf"],"*","oxf"],"*",[5,"0.16666667"]]],[13,"bx1",[1,[1,[1,"tx3","*",[5,"0.5"]],"-","tx2"],"+",[5,"0.66666667"]]],[13,"bx2",[1,[1,[1,[1,"tx3","*",[4,"-",[5,"0.5"]]],"+",[1,"tx2","*",[5,"0.5"]]],"+",[1,"fx","*",[5,"0.5"]]],"+",[5,"0.16666667"]]],[13,"bx3",[1,"tx3","*",[5,"0.16666667"]]],[13,"dbx0",[1,[1,"oxf","*","oxf"],"*",[4,"-",[5,"0.5"]]]],[13,"dbx1",[1,[1,"tx2","*",[5,"1.5"]],"-",[1,"fx","*",[5,"2"]]]],[13,"dbx2",[1,[1,[1,"tx2","*",[4,"-",[5,"1.5"]]],"+","fx"],"+",[5,"0.5"]]],[13,"dbx3",[1,"tx2","*",[5,"0.5"]]],[13,"oyf",[1,[5,"1"],"-","fy"]],[13,"by0",[1,[1,[1,"oyf","*","oyf"],"*","oyf"],"*",[5,"0.16666667"]]],[13,"by1",[1,[1,[1,"ty3","*",[5,"0.5"]],"-","ty2"],"+",[5,"0.66666667"]]],[13,"by2",[1,[1,[1,[1,"ty3","*",[4,"-",[5,"0.5"]]],"+",[1,"ty2","*",[5,"0.5"]]],"+",[1,"fy","*",[5,"0.5"]]],"+",[5,"0.16666667"]]],[13,"by3",[1,"ty3","*",[5,"0.16666667"]]],[13,"dby0",[1,[1,"oyf","*","oyf"],"*",[4,"-",[5,"0.5"]]]],[13,"dby1",[1,[1,"ty2","*",[5,"1.5"]],"-",[1,"fy","*",[5,"2"]]]],[13,"dby2",[1,[1,[1,"ty2","*",[4,"-",[5,"1.5"]]],"+","fy"],"+",[5,"0.5"]]],[13,"dby3",[1,"ty2","*",[5,"0.5"]]],[13,"maxT",[1,"activeResF","-",[5,"1"]]],[13,"cxm",[6,"d.u32",[[6,"std.clamp",[[1,"x0","-",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx0",[6,"d.u32",[[6,"std.clamp",["x0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx1",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx2",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"2"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cym",[6,"d.u32",[[6,"std.clamp",[[1,"y0","-",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy0",[6,"d.u32",[[6,"std.clamp",["y0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy1",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy2",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"2"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"k00",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cym"]],[5,"0"]]]],[13,"k01",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cym"]],[5,"0"]]]],[13,"k02",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cym"]],[5,"0"]]]],[13,"k03",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cym"]],[5,"0"]]]],[13,"k10",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy0"]],[5,"0"]]]],[13,"k11",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy0"]],[5,"0"]]]],[13,"k12",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy0"]],[5,"0"]]]],[13,"k13",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy0"]],[5,"0"]]]],[13,"k20",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy1"]],[5,"0"]]]],[13,"k21",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy1"]],[5,"0"]]]],[13,"k22",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy1"]],[5,"0"]]]],[13,"k23",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy1"]],[5,"0"]]]],[13,"k30",[6,"std.textureLoad",["field",[6,"d.vec2u",["cxm","cy2"]],[5,"0"]]]],[13,"k31",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy2"]],[5,"0"]]]],[13,"k32",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy2"]],[5,"0"]]]],[13,"k33",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx2","cy2"]],[5,"0"]]]],[13,"rAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","r"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","r"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","r"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","r"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","r"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","r"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","r"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","r"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","r"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","r"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","r"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","r"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","r"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","r"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","r"],"*","wx3"],"*","wy3"]]],[13,"aAcc",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","a"],"*","wx0"],"*","wy0"],"+",[1,[1,[7,"k01","a"],"*","wx1"],"*","wy0"]],"+",[1,[1,[7,"k02","a"],"*","wx2"],"*","wy0"]],"+",[1,[1,[7,"k03","a"],"*","wx3"],"*","wy0"]],"+",[1,[1,[7,"k10","a"],"*","wx0"],"*","wy1"]],"+",[1,[1,[7,"k11","a"],"*","wx1"],"*","wy1"]],"+",[1,[1,[7,"k12","a"],"*","wx2"],"*","wy1"]],"+",[1,[1,[7,"k13","a"],"*","wx3"],"*","wy1"]],"+",[1,[1,[7,"k20","a"],"*","wx0"],"*","wy2"]],"+",[1,[1,[7,"k21","a"],"*","wx1"],"*","wy2"]],"+",[1,[1,[7,"k22","a"],"*","wx2"],"*","wy2"]],"+",[1,[1,[7,"k23","a"],"*","wx3"],"*","wy2"]],"+",[1,[1,[7,"k30","a"],"*","wx0"],"*","wy3"]],"+",[1,[1,[7,"k31","a"],"*","wx1"],"*","wy3"]],"+",[1,[1,[7,"k32","a"],"*","wx2"],"*","wy3"]],"+",[1,[1,[7,"k33","a"],"*","wx3"],"*","wy3"]]],[13,"drdpx",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","dbx0"],"*","by0"],"+",[1,[1,[7,"k01","r"],"*","dbx1"],"*","by0"]],"+",[1,[1,[7,"k02","r"],"*","dbx2"],"*","by0"]],"+",[1,[1,[7,"k03","r"],"*","dbx3"],"*","by0"]],"+",[1,[1,[7,"k10","r"],"*","dbx0"],"*","by1"]],"+",[1,[1,[7,"k11","r"],"*","dbx1"],"*","by1"]],"+",[1,[1,[7,"k12","r"],"*","dbx2"],"*","by1"]],"+",[1,[1,[7,"k13","r"],"*","dbx3"],"*","by1"]],"+",[1,[1,[7,"k20","r"],"*","dbx0"],"*","by2"]],"+",[1,[1,[7,"k21","r"],"*","dbx1"],"*","by2"]],"+",[1,[1,[7,"k22","r"],"*","dbx2"],"*","by2"]],"+",[1,[1,[7,"k23","r"],"*","dbx3"],"*","by2"]],"+",[1,[1,[7,"k30","r"],"*","dbx0"],"*","by3"]],"+",[1,[1,[7,"k31","r"],"*","dbx1"],"*","by3"]],"+",[1,[1,[7,"k32","r"],"*","dbx2"],"*","by3"]],"+",[1,[1,[7,"k33","r"],"*","dbx3"],"*","by3"]]],[13,"drdpy",[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[7,"k00","r"],"*","bx0"],"*","dby0"],"+",[1,[1,[7,"k01","r"],"*","bx1"],"*","dby0"]],"+",[1,[1,[7,"k02","r"],"*","bx2"],"*","dby0"]],"+",[1,[1,[7,"k03","r"],"*","bx3"],"*","dby0"]],"+",[1,[1,[7,"k10","r"],"*","bx0"],"*","dby1"]],"+",[1,[1,[7,"k11","r"],"*","bx1"],"*","dby1"]],"+",[1,[1,[7,"k12","r"],"*","bx2"],"*","dby1"]],"+",[1,[1,[7,"k13","r"],"*","bx3"],"*","dby1"]],"+",[1,[1,[7,"k20","r"],"*","bx0"],"*","dby2"]],"+",[1,[1,[7,"k21","r"],"*","bx1"],"*","dby2"]],"+",[1,[1,[7,"k22","r"],"*","bx2"],"*","dby2"]],"+",[1,[1,[7,"k23","r"],"*","bx3"],"*","dby2"]],"+",[1,[1,[7,"k30","r"],"*","bx0"],"*","dby3"]],"+",[1,[1,[7,"k31","r"],"*","bx1"],"*","dby3"]],"+",[1,[1,[7,"k32","r"],"*","bx2"],"*","dby3"]],"+",[1,[1,[7,"k33","r"],"*","bx3"],"*","dby3"]]],[13,"rMin",[6,"std.min",[[6,"std.min",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.min",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"rMax",[6,"std.max",[[6,"std.max",[[7,"k11","r"],[7,"k12","r"]]],[6,"std.max",[[7,"k21","r"],[7,"k22","r"]]]]]],[13,"aMin",[6,"std.min",[[6,"std.min",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.min",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aMax",[6,"std.max",[[6,"std.max",[[7,"k11","a"],[7,"k12","a"]]],[6,"std.max",[[7,"k21","a"],[7,"k22","a"]]]]]],[13,"aOut",[6,"std.clamp",["aAcc","aMin","aMax"]]],[13,"kSoft",[1,[1,[1,"rMax","-","rMin"],"*",[5,"0.3"]],"+",[5,"0.000001"]]],[13,"hCap",[6,"std.clamp",[[1,[1,[1,[1,"rMax","-","rAcc"],"/","kSoft"],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[13,"rCap",[1,[6,"std.mix",["rMax","rAcc","hCap"]],"-",[1,[1,"kSoft","*","hCap"],"*",[1,[5,"1"],"-","hCap"]]]],[13,"hFlr",[6,"std.clamp",[[1,[1,[1,[1,"rCap","-","rMin"],"/","kSoft"],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[13,"rSoft",[1,[6,"std.mix",["rMin","rCap","hFlr"]],"+",[1,[1,"kSoft","*","hFlr"],"*",[1,[5,"1"],"-","hFlr"]]]],[13,"rNear",[1,"rSoft","+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-","rBound"]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[13,"insideX",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,[6,"std.abs",[[1,[7,"uv","x"],"-","uxc"]]],"<",[5,"1e-7"]]]]],[13,"insideY",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,[6,"std.abs",[[1,[7,"uv","y"],"-","uyc"]]],"<",[5,"1e-7"]]]]],[13,"invOut",[1,[5,"1"],"/",[6,"std.max",["outsideDist",[5,"0.00001"]]]]],[13,"gU",[1,[1,[1,"drdpx","*",[1,"activeResF","/","spanX"]],"*","insideX"],"+",[1,[1,[7,"uv","x"],"-","uxc"],"*","invOut"]]],[13,"gV",[1,[1,[1,"drdpy","*",[1,"activeResF","/","spanY"]],"*","insideY"],"+",[1,[1,[7,"uv","y"],"-","uyc"],"*","invOut"]]],[10,[6,"d.vec4f",["rOut","gU","gV","aOut"]]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,"d.u32":()=>R,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.min":()=>oe,"std.max":()=>b,"std.mix":()=>X,"std.smoothstep":()=>re,"std.select":()=>C,"std.abs":()=>z,"d.vec4f":()=>x}})&&e.f)({})).$name("fieldSampleGradArg"),fieldSampleFastArg:v.fn([l,ps(a),a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=$(t.x,r,__tsover_add(r,n)),u=$(t.y,o,__tsover_add(o,i)),m=j(l(__tsover_sub(t.x,_),__tsover_sub(t.y,u))),p=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(_,r),n),d),.5),y=__tsover_sub(__tsover_mul(__tsover_div(__tsover_sub(u,o),i),d),.5),h=q(p),g=q(y),w=__tsover_sub(p,h),S=__tsover_sub(y,g),T=__tsover_sub(d,1),A=R($(h,a(0),T)),P=R($(__tsover_add(h,1),a(0),T)),U=R($(g,a(0),T)),D=R($(__tsover_add(g,1),a(0),T)),O=Be(s,Ge(A,U),0),L=Be(s,Ge(P,U),0),G=Be(s,Ge(A,D),0),W=Be(s,Ge(P,D),0),K=X(X(O,L,w),X(G,W,w),S),Q=__tsover_add(K.r,m);return x(X(Q,b(__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),c),Q),re(a(0),.25,m)),K.g,K.b,K.a)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"field"},{type:"i",name:"originX"},{type:"i",name:"originY"},{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"},{type:"i",name:"rBound"}],body:[0,[[13,"uxc",[6,"std.clamp",[[7,"uv","x"],"originX",[1,"originX","+","spanX"]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],"originY",[1,"originY","+","spanY"]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"px",[1,[1,[1,[1,"uxc","-","originX"],"/","spanX"],"*","activeResF"],"-",[5,"0.5"]]],[13,"py",[1,[1,[1,[1,"uyc","-","originY"],"/","spanY"],"*","activeResF"],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["px"]]],[13,"y0",[6,"std.floor",["py"]]],[13,"fx",[1,"px","-","x0"]],[13,"fy",[1,"py","-","y0"]],[13,"maxT",[1,"activeResF","-",[5,"1"]]],[13,"cx0",[6,"d.u32",[[6,"std.clamp",["x0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cx1",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy0",[6,"d.u32",[[6,"std.clamp",["y0",[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"cy1",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"maxT"]]]]],[13,"t00",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy0"]],[5,"0"]]]],[13,"t10",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy0"]],[5,"0"]]]],[13,"t01",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx0","cy1"]],[5,"0"]]]],[13,"t11",[6,"std.textureLoad",["field",[6,"d.vec2u",["cx1","cy1"]],[5,"0"]]]],[13,"bl",[6,"std.mix",[[6,"std.mix",["t00","t10","fx"]],[6,"std.mix",["t01","t11","fx"]],"fy"]]],[13,"rNear",[1,[7,"bl","r"],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-","rBound"]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"bl","g"],[7,"bl","b"],[7,"bl","a"]]]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,"d.u32":()=>R,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.mix":()=>X,"std.max":()=>b,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({})).$name("fieldSampleFastArg"),fieldSampleTexelArg:v.fn([l,ps(a),a,a,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=$(t.x,r,__tsover_add(r,n)),u=$(t.y,o,__tsover_add(o,i)),m=j(l(__tsover_sub(t.x,_),__tsover_sub(t.y,u))),p=__tsover_sub(d,1),y=$(q(__tsover_mul(__tsover_div(__tsover_sub(_,r),n),d)),a(0),p),h=$(q(__tsover_mul(__tsover_div(__tsover_sub(u,o),i),d)),a(0),p),g=Be(s,Ge(R(y),R(h)),0),w=__tsover_add(g.r,m);return x(X(w,b(__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),c),w),re(a(0),.25,m)),g.g,g.b,g.a)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"field"},{type:"i",name:"originX"},{type:"i",name:"originY"},{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"},{type:"i",name:"rBound"}],body:[0,[[13,"uxc",[6,"std.clamp",[[7,"uv","x"],"originX",[1,"originX","+","spanX"]]]],[13,"uyc",[6,"std.clamp",[[7,"uv","y"],"originY",[1,"originY","+","spanY"]]]],[13,"outsideDist",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","uxc"],[1,[7,"uv","y"],"-","uyc"]]]]]],[13,"maxT",[1,"activeResF","-",[5,"1"]]],[13,"px",[6,"std.clamp",[[6,"std.floor",[[1,[1,[1,"uxc","-","originX"],"/","spanX"],"*","activeResF"]]],[6,"d.f32",[[5,"0"]]],"maxT"]]],[13,"py",[6,"std.clamp",[[6,"std.floor",[[1,[1,[1,"uyc","-","originY"],"/","spanY"],"*","activeResF"]]],[6,"d.f32",[[5,"0"]]],"maxT"]]],[13,"t",[6,"std.textureLoad",["field",[6,"d.vec2u",[[6,"d.u32",["px"]],[6,"d.u32",["py"]]]],[5,"0"]]]],[13,"rNear",[1,[7,"t","r"],"+","outsideDist"]],[13,"rCircle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-","rBound"]],[13,"rOut",[6,"std.mix",["rNear",[6,"std.max",["rCircle","rNear"]],[6,"std.smoothstep",[[6,"d.f32",[[5,"0"]]],[5,"0.25"],"outsideDist"]]]]],[10,[6,"d.vec4f",["rOut",[7,"t","g"],[7,"t","b"],[7,"t","a"]]]]]]},externals:{"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.floor":()=>q,"d.f32":()=>a,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"d.u32":()=>R,"std.mix":()=>X,"std.max":()=>b,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({})).$name("fieldSampleTexelArg"),texelSpanFn:v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_div(b(t,s),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"spanX"},{type:"i",name:"spanY"},{type:"i",name:"activeResF"}],body:[0,[[10,[1,[6,"std.max",["spanX","spanY"]],"/","activeResF"]]]]},externals:{"std.max":()=>b}})&&e.f)({})).$name("fieldTexelSpan")}}var yG={_vfOriginX:{schema:a,initial:0},_vfOriginY:{schema:a,initial:0},_vfSpanX:{schema:a,initial:1},_vfSpanY:{schema:a,initial:1},_vfActiveRes:{schema:a,initial:1},_vfRBound:{schema:a,initial:.6}};function J7(e,t){let{fieldSampleArg:s,fieldSampleGradArg:r,fieldSampleFastArg:o,fieldSampleTexelArg:n,texelSpanFn:i}=ay(),d=(globalThis.__TYPEGPU_AUTONAME__??(_=>_))(e.accessor(),"acc"),c=_=>[_,d,t.originX,t.originY,t.spanX,t.spanY,t.activeResF,t.rBound];return{volumetricFieldSampler:_=>we(s,"vfSample",c(_)),volumetricFieldSamplerGrad:_=>we(r,"vfSampleGrad",c(_)),volumetricFieldSamplerFast:_=>we(o,"vfSampleFast",c(_)),volumetricFieldSamplerTexel:_=>we(n,"vfSampleTexel",c(_)),volumetricFieldTexelSpan:we(i,"vfTexelSpan",[t.spanX,t.spanY,t.activeResF])}}function hG(e,t={}){let{patternMode:s="none",gradSampler:r="fast",bakedGradients:o="none"}=t,{computeOutputs:n,uniforms:i,propValues:d,getCpuValue:c}=e,_=n?.volumetricFieldTexture;if(_){let h=J7(_,{originX:i._vfOriginX,originY:i._vfOriginY,spanX:i._vfSpanX,spanY:i._vfSpanY,activeResF:i._vfActiveRes,rBound:i._vfRBound}),g=o!=="none",w=g?h.volumetricFieldSamplerGrad:h.volumetricFieldSampler;return{sampler:w,gradSampler:r==="same"?w:h.volumetricFieldSamplerFast,texelSampler:h.volumetricFieldSamplerTexel,volumetric:!0,bakedGradients:g}}let u=d.shapeSdfUrl||"",m=d.shapeType||"";if(u){let h=o==="all",g=h?M7(e,u):A7(e,u);return{sampler:g,gradSampler:g,texelSampler:g,volumetric:V7(m),bakedGradients:h}}let p=_G(m,c("shape")),y=P7(p,k7(e,()=>c("shape")),s);return{sampler:y,gradSampler:y,texelSampler:y,volumetric:d1(p),bakedGradients:!1}}var Wa=Math.PI/180;function iy(e){if(e&&typeof e=="object")return e;if(typeof e=="string")try{return JSON.parse(e)}catch{return{}}return{}}function ew(e,t,s,r,o={}){let n=wu[t]??wu.sphere3D,i=o.extraPad??(()=>0),{layout:d}=ny(),c=(globalThis.__TYPEGPU_AUTONAME__??(Pe=>Pe))(e.createUniform(Cn),"marchParamsBuffer"),_=v.fn([f],a)((Pe=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(Pe.f=(Re=>{"use gpu";let de=d.$.params;return t==="cube3D"?Ec(Re,de.pA,de.pB,de.pC,de.pD):t==="torus3D"?sf(Re,de.pA,de.pB):t==="octahedron3D"?rf(Re,de.pA):t==="cylinder3D"?of(Re,de.pA,de.pB,de.pD):t==="capsule3D"?nf(Re,de.pA,de.pB):t==="cone3D"?af(Re,de.pA,de.pC,de.pB):t==="pyramid3D"?df(Re,de.pA,de.pB):t==="prism3D"?cf(Re,de.pA,de.pB):t==="ellipsoid3D"?_f(Re,de.pA,de.pB,de.pC):t==="diamond3D"?kc(Re,de.pA,de.pB):t==="link3D"?lf(Re,de.pB,de.pA,de.pC):t==="gem3D"?mf(Re,de.pA,de.pB,de.pC):t==="helix3D"?pf(Re,de.pA,de.pB,de.pC,a(3)):t==="metaballs3D"?ff(Re,de.mb0,de.mb1,de.mb2,de.mb3,de.mb4,de.mb5,de.mb6,de.mb7,de.pA,de.pD):t==="dodecahedron3D"?vf(Re,de.pA):t==="hemisphere3D"?yf(Re,de.pA,de.pB):t==="ribbon3D"?hf(Re,de.pA,de.pB,de.pC,de.mb0.x,de.mb0.y,de.mb0.z,de.mb1.x,de.mb1.y,de.mb1.z,de.mb2.x):t==="blob3D"?xf(Re,de.pA,de.mb0.x,de.mb0.y,de.mb0.z,de.mb1.x,de.mb2.x):t==="gyroscope3D"?gf(Re,de.pA,de.pB,de.pD,de.mb3.x,de.pC,de.mb0.x,de.mb0.y,de.mb1.x,de.mb1.y,de.mb2.x,de.mb2.y):tf(Re,de.pA)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"pp",[7,[7,"layout","$"],"params"]],[11,[1,"shapeType","===",[103,"cube3D"]],[10,[6,"sdRoundBox",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"],[7,"pp","pD"]]]],[11,[1,"shapeType","===",[103,"torus3D"]],[10,[6,"sdTorus",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"octahedron3D"]],[10,[6,"sdOctahedron",["p",[7,"pp","pA"]]]],[11,[1,"shapeType","===",[103,"cylinder3D"]],[10,[6,"sdRoundCylinder",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pD"]]]],[11,[1,"shapeType","===",[103,"capsule3D"]],[10,[6,"sdCapsule",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"cone3D"]],[10,[6,"sdCappedCone",["p",[7,"pp","pA"],[7,"pp","pC"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"pyramid3D"]],[10,[6,"sdPyramid",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"prism3D"]],[10,[6,"sdHexPrism",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"ellipsoid3D"]],[10,[6,"sdEllipsoid",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"]]]],[11,[1,"shapeType","===",[103,"diamond3D"]],[10,[6,"sdBicone",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"link3D"]],[10,[6,"sdLink",["p",[7,"pp","pB"],[7,"pp","pA"],[7,"pp","pC"]]]],[11,[1,"shapeType","===",[103,"gem3D"]],[10,[6,"sdGem",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"]]]],[11,[1,"shapeType","===",[103,"helix3D"]],[10,[6,"sdHelix",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"],[6,"d.f32",["HELIX_TURNS"]]]]],[11,[1,"shapeType","===",[103,"metaballs3D"]],[10,[6,"sdMetaballs",["p",[7,"pp","mb0"],[7,"pp","mb1"],[7,"pp","mb2"],[7,"pp","mb3"],[7,"pp","mb4"],[7,"pp","mb5"],[7,"pp","mb6"],[7,"pp","mb7"],[7,"pp","pA"],[7,"pp","pD"]]]],[11,[1,"shapeType","===",[103,"dodecahedron3D"]],[10,[6,"sdDodecahedron",["p",[7,"pp","pA"]]]],[11,[1,"shapeType","===",[103,"hemisphere3D"]],[10,[6,"sdCutSphere",["p",[7,"pp","pA"],[7,"pp","pB"]]]],[11,[1,"shapeType","===",[103,"ribbon3D"]],[10,[6,"sdRibbon",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"],[7,[7,"pp","mb0"],"x"],[7,[7,"pp","mb0"],"y"],[7,[7,"pp","mb0"],"z"],[7,[7,"pp","mb1"],"x"],[7,[7,"pp","mb1"],"y"],[7,[7,"pp","mb1"],"z"],[7,[7,"pp","mb2"],"x"]]]],[11,[1,"shapeType","===",[103,"blob3D"]],[10,[6,"sdWobbleBlob",["p",[7,"pp","pA"],[7,[7,"pp","mb0"],"x"],[7,[7,"pp","mb0"],"y"],[7,[7,"pp","mb0"],"z"],[7,[7,"pp","mb1"],"x"],[7,[7,"pp","mb2"],"x"]]]],[11,[1,"shapeType","===",[103,"gyroscope3D"]],[10,[6,"sdGyroscope",["p",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pD"],[7,[7,"pp","mb3"],"x"],[7,"pp","pC"],[7,[7,"pp","mb0"],"x"],[7,[7,"pp","mb0"],"y"],[7,[7,"pp","mb1"],"x"],[7,[7,"pp","mb1"],"y"],[7,[7,"pp","mb2"],"x"],[7,[7,"pp","mb2"],"y"]]]],[10,[6,"sdSphere",["p",[7,"pp","pA"]]]]]]]]]]]]]]]]]]]]]]]]]},externals:{layout:()=>d,shapeType:()=>t,sdRoundBox:()=>Ec,sdTorus:()=>sf,sdOctahedron:()=>rf,sdRoundCylinder:()=>of,sdCapsule:()=>nf,sdCappedCone:()=>af,sdPyramid:()=>df,sdHexPrism:()=>cf,sdEllipsoid:()=>_f,sdBicone:()=>kc,sdLink:()=>lf,sdGem:()=>mf,sdHelix:()=>pf,"d.f32":()=>a,HELIX_TURNS:()=>3,sdMetaballs:()=>ff,sdDodecahedron:()=>vf,sdCutSphere:()=>yf,sdRibbon:()=>hf,sdWobbleBlob:()=>xf,sdGyroscope:()=>gf,sdSphere:()=>tf}})&&Pe.f)({})),u=0,m="",p=s,y=new Map,h=.35,g=.3,w=.3,S=0,T=.6,A=1,P=0,U=1,D=0,O=1,L=0,G=1,W=1,K=0,Q=0,te=jc(),ee=Array.from({length:8},()=>[0,0,0]),he=()=>{c.write({rot:{cx:A,sx:P,cy:U,sy:D,cz:O,sz:L},rBound:T,spanX:G,spanY:W,originX:K,originY:Q,activeRes:te,pA:h,pB:g,pC:w,pD:S,mb0:f(ee[0][0],ee[0][1],ee[0][2]),mb1:f(ee[1][0],ee[1][1],ee[1][2]),mb2:f(ee[2][0],ee[2][1],ee[2][2]),mb3:f(ee[3][0],ee[3][1],ee[3][2]),mb4:f(ee[4][0],ee[4][1],ee[4][2]),mb5:f(ee[5][0],ee[5][1],ee[5][2]),mb6:f(ee[6][0],ee[6][1],ee[6][2]),mb7:f(ee[7][0],ee[7][1],ee[7][2])})},Ee=Pe=>{let Re=Pe?.deltaTime??0;u+=Re;let de=r();if(de&&typeof de=="object")p=de;else if(typeof de=="string"&&de!==m){m=de;try{p=JSON.parse(de)}catch{}}let je={elapsed:u,deltaTime:Re,pointerX:Pe?.pointer?.x??.5,pointerY:Pe?.pointer?.y??.5,springs:y},fe=Ie=>ry(p[Ie],n[Ie]??0,je,Ie);g=.3,w=.3,S=0;for(let Ie=0;Ie=Ie){ee[We]=[0,99,0];continue}let Ve=We*(Ba/Ie),Ft=Ve+Xe,Gt=.75+.25*Math.sin(Xe*1.3+We*1.7);ee[We]=[st*Math.cos(Ft)*Gt,st*.6*Math.sin(Xe*.9+Ve*1.5),st*Math.sin(Ft)*Gt]}break}case"hemisphere3D":h=fe("radius"),g=fe("cut");break;case"ribbon3D":{h=fe("width"),g=fe("thickness"),w=fe("length");let Ie=u*fe("speed"),st=fe("wave")*(.8+.2*Math.sin(Ie*.9)),Xe=fe("waveFrequency"),We=fe("twist")*Wa/Math.max(w*2,.01);ee[0]=[st,Xe,Ie*1.1],ee[1]=[Ie*.7+2.1,We,Ie*.45];let Ve=Math.abs(st)*Xe+Math.abs(We)*Math.hypot(h,g);ee[2]=[1/Math.sqrt(1+Ve*Ve),0,0];break}case"blob3D":{h=fe("radius");let Ie=u*fe("speed"),st=fe("wobble")*(.75+.25*Math.sin(Ie*.83)),Xe=fe("wobbliness");ee[0]=[st,Xe,Ie*1.2],ee[1]=[Ie*.77+1.3,0,0],ee[2]=[1/(1+Math.abs(st)*Xe*1.3),0,0];break}case"gyroscope3D":{h=fe("radius"),g=fe("width"),w=fe("core"),S=fe("thickness");let Ie=Math.max(0,Math.min(fe("rounding"),Math.min(g,S)*.5)),st=u*fe("speed"),Xe=st*.9,We=st*.63+1.1,Ve=st*1.21+2.3;ee[0]=[Math.cos(Xe),Math.sin(Xe),0],ee[1]=[Math.cos(We),Math.sin(We),0],ee[2]=[Math.cos(Ve),Math.sin(Ve),0],ee[3]=[Ie,0,0];break}default:h=fe("radius");break}T=X7({...p,type:t})+.02+i();let Ke=fe("rotX")*Wa,Ze=fe("rotY")*Wa,at=fe("rotZ")*Wa;A=Math.cos(Ke),P=Math.sin(Ke),U=Math.cos(Ze),D=Math.sin(Ze),O=Math.cos(at),L=Math.sin(at);let Fe=T+.05;G=Fe*2,W=Fe*2,K=.5-Fe,Q=.5-Fe,he()};Ee();let Te=Pe=>{Pe!==te&&(te=Pe,he())},Ue=()=>`${h},${g},${w},${S},${T},`+ee.map(Pe=>`${Pe[0]},${Pe[1]},${Pe[2]}`).join(",");return{layout:d,marchParamsBuffer:c,sdfFn:_,update:Ee,setActiveRes:Te,getStateKey:()=>`${Ue()},${A},${P},${U},${D},${O},${L}`,getFootprint:()=>({spanX:G,spanY:W,originX:K,originY:Q,rBound:T}),getRotation:()=>({cx:A,sx:P,cy:U,sy:D,cz:O,sz:L}),getGeometryKey:Ue}}function tw(e,t,s,r={}){let o=e.gpu.root,n=r.extraPad??(()=>0),{texture:i,getVersion:d}=Qv(e,t),{layout:c}=Q7(),_=(globalThis.__TYPEGPU_AUTONAME__??(Pe=>Pe))(o.createUniform(Cn),"marchParamsBuffer"),u=a(512),m=a(511),p=v.fn([f],a)((Pe=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(Pe.f=(Re=>{"use gpu";let de=c.$.params,je=de.pA,fe=de.pB,Ke=__tsover_sub(__tsover_mul(__tsover_add(Re.x,.5),u),.5),Ze=__tsover_sub(__tsover_mul(__tsover_sub(.5,Re.y),u),.5),at=q(Ke),Fe=q(Ze),Ie=__tsover_sub(Ke,at),st=__tsover_sub(Ze,Fe),Xe=R($(at,a(0),m)),We=R($(__tsover_add(at,1),a(0),m)),Ve=R($(Fe,a(0),m)),Ft=R($(__tsover_add(Fe,1),a(0),m)),Gt=Be(c.$.sdfSource,Ge(Xe,Ve),0).r,os=Be(c.$.sdfSource,Ge(We,Ve),0).r,bs=Be(c.$.sdfSource,Ge(Xe,Ft),0).r,ls=Be(c.$.sdfSource,Ge(We,Ft),0).r,As=X(X(Gt,os,Ie),X(bs,ls,Ie),st),vs=__tsover_add(As,fe),ys=__tsover_add(__tsover_sub(z(Re.z),je),fe),Ks=oe(b(vs,ys),a(0)),yr=j(l(b(vs,a(0)),b(ys,a(0))));return __tsover_sub(__tsover_add(Ks,yr),fe)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"pp",[7,[7,"layout","$"],"params"]],[13,"halfDepth",[7,"pp","pA"]],[13,"bevel",[7,"pp","pB"]],[13,"u",[1,[1,[1,[7,"p","x"],"+",[5,"0.5"]],"*","SIZE_F"],"-",[5,"0.5"]]],[13,"v",[1,[1,[1,[5,"0.5"],"-",[7,"p","y"]],"*","SIZE_F"],"-",[5,"0.5"]]],[13,"x0",[6,"std.floor",["u"]]],[13,"y0",[6,"std.floor",["v"]]],[13,"fx",[1,"u","-","x0"]],[13,"fy",[1,"v","-","y0"]],[13,"cx0",[6,"d.u32",[[6,"std.clamp",["x0",[6,"d.f32",[[5,"0"]]],"MAX_TEXEL"]]]]],[13,"cx1",[6,"d.u32",[[6,"std.clamp",[[1,"x0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"MAX_TEXEL"]]]]],[13,"cy0",[6,"d.u32",[[6,"std.clamp",["y0",[6,"d.f32",[[5,"0"]]],"MAX_TEXEL"]]]]],[13,"cy1",[6,"d.u32",[[6,"std.clamp",[[1,"y0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],"MAX_TEXEL"]]]]],[13,"s00",[7,[6,"std.textureLoad",[[7,[7,"layout","$"],"sdfSource"],[6,"d.vec2u",["cx0","cy0"]],[5,"0"]]],"r"]],[13,"s10",[7,[6,"std.textureLoad",[[7,[7,"layout","$"],"sdfSource"],[6,"d.vec2u",["cx1","cy0"]],[5,"0"]]],"r"]],[13,"s01",[7,[6,"std.textureLoad",[[7,[7,"layout","$"],"sdfSource"],[6,"d.vec2u",["cx0","cy1"]],[5,"0"]]],"r"]],[13,"s11",[7,[6,"std.textureLoad",[[7,[7,"layout","$"],"sdfSource"],[6,"d.vec2u",["cx1","cy1"]],[5,"0"]]],"r"]],[13,"field2d",[6,"std.mix",[[6,"std.mix",["s00","s10","fx"]],[6,"std.mix",["s01","s11","fx"]],"fy"]]],[13,"d2",[1,"field2d","+","bevel"]],[13,"wz",[1,[1,[6,"std.abs",[[7,"p","z"]]],"-","halfDepth"],"+","bevel"]],[13,"inner",[6,"std.min",[[6,"std.max",["d2","wz"]],[6,"d.f32",[[5,"0"]]]]]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["d2",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["wz",[6,"d.f32",[[5,"0"]]]]]]]]]],[10,[1,[1,"inner","+","outer"],"-","bevel"]]]]},externals:{layout:()=>c,SIZE_F:()=>u,"std.floor":()=>q,"d.u32":()=>R,"std.clamp":()=>$,"d.f32":()=>a,MAX_TEXEL:()=>m,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.mix":()=>X,"std.abs":()=>z,"std.min":()=>oe,"std.max":()=>b,"std.length":()=>j,"d.vec2f":()=>l}})&&Pe.f)({})),y=0,h="",g=iy(s()),w=new Map,S=.06,T=.02,A=.75,P=1,U=0,D=1,O=0,L=1,G=0,W=1,K=1,Q=0,te=0,ee=jc(),he=()=>{_.write({rot:{cx:P,sx:U,cy:D,sy:O,cz:L,sz:G},rBound:A,spanX:W,spanY:K,originX:Q,originY:te,activeRes:ee,pA:S,pB:T,pC:0,pD:0,mb0:f(0,0,0),mb1:f(0,0,0),mb2:f(0,0,0),mb3:f(0,0,0),mb4:f(0,0,0),mb5:f(0,0,0),mb6:f(0,0,0),mb7:f(0,0,0)})},Ee=Pe=>{let Re=Pe?.deltaTime??0;y+=Re;let de=s();if(de&&typeof de=="object")g=de;else if(typeof de=="string"&&de!==h){h=de;try{g=JSON.parse(de)}catch{}}let je={elapsed:y,deltaTime:Re,pointerX:Pe?.pointer?.x??.5,pointerY:Pe?.pointer?.y??.5,springs:w},fe=vs=>ry(g[vs],N7[vs]??0,je,vs);S=Math.max(.001,fe("depth")*.5),T=Math.min(Math.max(0,fe("bevel")),S);let Ke=a1(t),Ze=Ke?Math.min(.5,Ke.hwf+.02):.5,at=Ke?Math.min(.5,Ke.hhf+.02):.5,Fe=n();A=Math.hypot(Ze,at,S)+T+.03+Fe;let Ie=fe("rotX")*Wa,st=fe("rotY")*Wa,Xe=fe("rotZ")*Wa;P=Math.cos(Ie),U=Math.sin(Ie),D=Math.cos(st),O=Math.sin(st),L=Math.cos(Xe),G=Math.sin(Xe);let We={cx:P,sx:U,cy:D,sy:O,cz:L,sz:G},Ve=ef(1,0,0,We),Ft=ef(0,1,0,We),Gt=T+.03+Fe,os=Math.abs(Ve.x)*Ze+Math.abs(Ve.y)*at+Math.abs(Ve.z)*S+Gt,bs=Math.abs(Ft.x)*Ze+Math.abs(Ft.y)*at+Math.abs(Ft.z)*S+Gt,ls=os+.05,As=bs+.05;W=ls*2,K=As*2,Q=.5-ls,te=.5-As,he()};Ee();let Te=Pe=>{Pe!==ee&&(ee=Pe,he())},Ue=()=>`${S},${T},${A},${d()}`,Me=()=>`${Ue()},${W},${K},${P},${U},${D},${O},${L},${G}`;return{layout:c,marchParamsBuffer:_,sdfFn:p,sdfSourceTexture:i.texture,update:Ee,setActiveRes:Te,getStateKey:Me,getFootprint:()=>({spanX:W,spanY:K,originX:Q,originY:te,rBound:A}),getRotation:()=>({cx:P,sx:U,cy:D,sy:O,cz:L,sz:G}),getGeometryKey:Ue}}function xG(e,t,s,r,o={}){let n=o.extraPad??(()=>0),{layout:i}=ny(),d=(globalThis.__TYPEGPU_AUTONAME__??(L=>L))(e.createUniform(Cn),"marchParamsBuffer"),c=Jv(t),_=v.fn([f],a)((L=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(L.f=(G=>{"use gpu";let W=i.$.params,K=c(l(__tsover_add(G.x,.5),__tsover_sub(.5,G.y)),W.pA,W.pB,W.pC,W.pD,W.mb0.x,W.mb0.y,W.mb0.z,W.mb1.x).x,Q=__tsover_sub(z(G.z),W.mb1.y),te=oe(b(K,Q),a(0)),ee=j(l(b(K,a(0)),b(Q,a(0))));return __tsover_add(te,ee)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"}],body:[0,[[13,"pp",[7,[7,"layout","$"],"params"]],[13,"uv",[6,"d.vec2f",[[1,[7,"p","x"],"+",[5,"0.5"]],[1,[5,"0.5"],"-",[7,"p","y"]]]]],[13,"d2",[7,[6,"analytic",["uv",[7,"pp","pA"],[7,"pp","pB"],[7,"pp","pC"],[7,"pp","pD"],[7,[7,"pp","mb0"],"x"],[7,[7,"pp","mb0"],"y"],[7,[7,"pp","mb0"],"z"],[7,[7,"pp","mb1"],"x"]]],"x"]],[13,"wz",[1,[6,"std.abs",[[7,"p","z"]]],"-",[7,[7,"pp","mb1"],"y"]]],[13,"inner",[6,"std.min",[[6,"std.max",["d2","wz"]],[6,"d.f32",[[5,"0"]]]]]],[13,"outer",[6,"std.length",[[6,"d.vec2f",[[6,"std.max",["d2",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["wz",[6,"d.f32",[[5,"0"]]]]]]]]]],[10,[1,"inner","+","outer"]]]]},externals:{layout:()=>i,"d.vec2f":()=>l,analytic:()=>c,"std.abs":()=>z,"std.min":()=>oe,"std.max":()=>b,"d.f32":()=>a,"std.length":()=>j}})&&L.f)({})),u="",m=iy(s()),p=gu(m),y=.06,h=.6,g=1,w=1,S=0,T=0,A=jc(),P=()=>{d.write({rot:{cx:1,sx:0,cy:1,sy:0,cz:1,sz:0},rBound:h,spanX:g,spanY:w,originX:S,originY:T,activeRes:A,pA:p.radius,pB:p.sides,pC:p.rounding,pD:p.innerRatio,mb0:f(p.rotation,p.height,p.offset),mb1:f(p.aperture,y,0),mb2:f(0,0,0),mb3:f(0,0,0),mb4:f(0,0,0),mb5:f(0,0,0),mb6:f(0,0,0),mb7:f(0,0,0)})},U=()=>{let L=s();if(L&&typeof L=="object")m=L;else if(typeof L=="string"&&L!==u){u=L;try{m=JSON.parse(L)}catch{}}p=gu(m),y=Math.max(.001,r());let{hwf:G,hhf:W}=Jp({shape:{...m,radius:p.radius,height:p.height}});h=Math.hypot(G,W,y)+.02+n();let K=h+.05;g=K*2,w=K*2,S=.5-K,T=.5-K,P()};U();let D=L=>{L!==A&&(A=L,P())},O=()=>`${p.radius},${p.sides},${p.rounding},${p.innerRatio},${p.rotation},${p.height},${p.offset},${p.aperture},${y},${h}`;return{layout:i,marchParamsBuffer:d,sdfFn:_,update:U,setActiveRes:D,getStateKey:O,getFootprint:()=>({spanX:g,spanY:w,originX:S,originY:T,rBound:h}),getRotation:()=>({cx:1,sx:0,cy:1,sy:0,cz:1,sz:0}),getGeometryKey:O}}function gG(e,t,s="none",r="span"){let o=e.gpu?.root;if(!o)return null;let n=iy(t()),i=e.getCpuValue("shapeSdfUrl")||"",d=e.getCpuValue("shapeType")||n.type||"",c=null;if(i&&sy(d)?c=tw(e,i,t):!i&&d1(d)&&(c=ew(o,d,n,t)),!c)return null;let _=oy(c.sdfFn,s,r),u=K7(c.layout,_),m=Z7(o,c.layout,u,e.onCleanup,{paramsUniform:c.marchParamsBuffer,sdfSourceTexture:c.sdfSourceTexture}),p=e.registerComputeTexture(m.fieldTexture),y=m.maxRes,h="",g=_o()?2:1,w=0,S={originX:0,originY:0,spanX:1,spanY:1,activeRes:1,rBound:.6};return{outputs:{volumetricFieldTexture:p},getComputeNodes:A=>{c.update(A);let P=c.getFootprint(),U=e.getCpuValue("scale")??1,D=e.dimensions.height;y=j7(P.spanX,P.spanY,U,D,m.maxRes,y);let O=`${c.getStateKey()},${y}`;return O===h||(w++,g>1&&w%g!==0)?null:(h=O,c.setActiveRes(y),e.setExtraField("_vfOriginX",P.originX),e.setExtraField("_vfOriginY",P.originY),e.setExtraField("_vfSpanX",P.spanX),e.setExtraField("_vfSpanY",P.spanY),e.setExtraField("_vfActiveRes",y),e.setExtraField("_vfRBound",P.rBound),S.originX=P.originX,S.originY=P.originY,S.spanX=P.spanX,S.spanY=P.spanY,S.activeRes=y,S.rBound=P.rBound,[()=>m.dispatch(y)])},fieldTexture:m.fieldTexture,getFieldDomain:()=>({...S})}}var Tu=.08,ws=v.fn([f,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=s.x,n=s.y,i=s.z,d=s.w,c=r.x,_=r.y,u=f(__tsover_add(__tsover_mul(t.x,i),__tsover_mul(t.z,d)),t.y,__tsover_add(__tsover_mul(__tsover_mul(t.x,d),-1),__tsover_mul(t.z,i))),m=f(u.x,__tsover_sub(__tsover_mul(u.y,o),__tsover_mul(u.z,n)),__tsover_add(__tsover_mul(u.y,n),__tsover_mul(u.z,o)));return f(__tsover_sub(__tsover_mul(m.x,c),__tsover_mul(m.y,_)),__tsover_add(__tsover_mul(m.x,_),__tsover_mul(m.y,c)),m.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"}],body:[0,[[13,"cx",[7,"rp0","x"]],[13,"sx",[7,"rp0","y"]],[13,"cy",[7,"rp0","z"]],[13,"sy",[7,"rp0","w"]],[13,"cz",[7,"rp1","x"]],[13,"sz",[7,"rp1","y"]],[13,"py",[6,"d.vec3f",[[1,[1,[7,"p","x"],"*","cy"],"+",[1,[7,"p","z"],"*","sy"]],[7,"p","y"],[1,[1,[1,[7,"p","x"],"*","sy"],"*",[4,"-",[5,"1"]]],"+",[1,[7,"p","z"],"*","cy"]]]]],[13,"px",[6,"d.vec3f",[[7,"py","x"],[1,[1,[7,"py","y"],"*","cx"],"-",[1,[7,"py","z"],"*","sx"]],[1,[1,[7,"py","y"],"*","sx"],"+",[1,[7,"py","z"],"*","cx"]]]]],[10,[6,"d.vec3f",[[1,[1,[7,"px","x"],"*","cz"],"-",[1,[7,"px","y"],"*","sz"]],[1,[1,[7,"px","x"],"*","sz"],"+",[1,[7,"px","y"],"*","cz"]],[7,"px","z"]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})).$name("eulerRotatePacked"),bG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";return __tsover_sub(j(ws(t,s,r)),r.z)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[10,[1,[6,"std.length",[[6,"eulerRotatePacked",["p","rp0","rp1"]]]],"-",[7,"rp1","z"]]]]]},externals:{"std.length":()=>j,eulerRotatePacked:()=>ws}})&&e.f)({})).$name("paramSphereSdf"),wG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=as(ws(t,r,o));return l(__tsover_add(__tsover_div(tt(d.z,d.x),6.283185307179586),.5),__tsover_mul(__tsover_add(d.y,1),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"n",[6,"std.normalize",[[6,"eulerRotatePacked",["h","rp0","rp1"]]]]],[10,[6,"d.vec2f",[[1,[1,[6,"std.atan2",[[7,"n","z"],[7,"n","x"]]],"/",[5,"6.283185307179586"]],"+",[5,"0.5"]],[1,[1,[7,"n","y"],"+",[5,"1"]],"*",[5,"0.5"]]]]]]]},externals:{"std.normalize":()=>as,eulerRotatePacked:()=>ws,"d.vec2f":()=>l,"std.atan2":()=>tt}})&&e.f)({})).$name("sphereSurfaceUV"),TG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=ws(t,s,r),d=l(__tsover_sub(j(l(i.x,i.z)),r.z),i.y);return __tsover_sub(j(d),r.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["p","rp0","rp1"]]],[13,"q",[6,"d.vec2f",[[1,[6,"std.length",[[6,"d.vec2f",[[7,"rp","x"],[7,"rp","z"]]]]],"-",[7,"rp1","z"]],[7,"rp","y"]]]],[10,[1,[6,"std.length",["q"]],"-",[7,"rp1","w"]]]]]},externals:{eulerRotatePacked:()=>ws,"d.vec2f":()=>l,"std.length":()=>j}})&&e.f)({})).$name("paramTorusSdf"),SG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ws(t,r,o),c=__tsover_add(__tsover_div(tt(d.z,d.x),6.283185307179586),.5),_=__tsover_sub(j(l(d.x,d.z)),o.z);return l(c,__tsover_add(__tsover_div(tt(d.y,_),6.283185307179586),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["h","rp0","rp1"]]],[13,"u",[1,[1,[6,"std.atan2",[[7,"rp","z"],[7,"rp","x"]]],"/",[5,"6.283185307179586"]],"+",[5,"0.5"]]],[13,"ringDist",[1,[6,"std.length",[[6,"d.vec2f",[[7,"rp","x"],[7,"rp","z"]]]]],"-",[7,"rp1","z"]]],[10,[6,"d.vec2f",["u",[1,[1,[6,"std.atan2",[[7,"rp","y"],"ringDist"]],"/",[5,"6.283185307179586"]],"+",[5,"0.5"]]]]]]]},externals:{eulerRotatePacked:()=>ws,"std.atan2":()=>tt,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})).$name("torusSurfaceUV"),AG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=ws(t,s,r),d=o.y,c=__tsover_add(__tsover_sub(z(i.x),r.z),d),_=__tsover_add(__tsover_sub(z(i.y),r.w),d),u=__tsover_add(__tsover_sub(z(i.z),o.x),d),m=j(f(b(c,a(0)),b(_,a(0)),b(u,a(0)))),p=oe(b(c,b(_,u)),a(0));return __tsover_sub(__tsover_add(m,p),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["p","rp0","rp1"]]],[13,"rounding",[7,"rp2","y"]],[13,"qx",[1,[1,[6,"std.abs",[[7,"rp","x"]]],"-",[7,"rp1","z"]],"+","rounding"]],[13,"qy",[1,[1,[6,"std.abs",[[7,"rp","y"]]],"-",[7,"rp1","w"]],"+","rounding"]],[13,"qz",[1,[1,[6,"std.abs",[[7,"rp","z"]]],"-",[7,"rp2","x"]],"+","rounding"]],[13,"outer",[6,"std.length",[[6,"d.vec3f",[[6,"std.max",["qx",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["qy",[6,"d.f32",[[5,"0"]]]]],[6,"std.max",["qz",[6,"d.f32",[[5,"0"]]]]]]]]]],[13,"inner",[6,"std.min",[[6,"std.max",["qx",[6,"std.max",["qy","qz"]]]],[6,"d.f32",[[5,"0"]]]]]],[10,[1,[1,"outer","+","inner"],"-","rounding"]]]]},externals:{eulerRotatePacked:()=>ws,"std.abs":()=>z,"std.length":()=>j,"d.vec3f":()=>f,"std.max":()=>b,"d.f32":()=>a,"std.min":()=>oe}})&&e.f)({})).$name("paramBoxSdf"),MG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ws(t,r,o),c=ws(s,r,o),_=f(z(c.x),z(c.y),z(c.z)),u=o.z,m=o.w,p=n.x,y=__tsover_div(.5,b(m,p)),h=__tsover_div(.5,b(u,p)),g=__tsover_div(.5,b(u,m)),w=l(__tsover_add(__tsover_mul(d.z,y),.5),__tsover_add(__tsover_mul(d.y,y),.5)),S=l(__tsover_add(__tsover_mul(d.x,h),.5),__tsover_add(__tsover_mul(d.z,h),.5)),T=l(__tsover_add(__tsover_mul(d.x,g),.5),__tsover_add(__tsover_mul(d.y,g),.5)),A=C(T,w,_.x>_.z);return C(C(T,S,_.y>_.z),A,_.x>_.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["h","rp0","rp1"]]],[13,"rn",[6,"eulerRotatePacked",["n","rp0","rp1"]]],[13,"an",[6,"d.vec3f",[[6,"std.abs",[[7,"rn","x"]]],[6,"std.abs",[[7,"rn","y"]]],[6,"std.abs",[[7,"rn","z"]]]]]],[13,"hx",[7,"rp1","z"]],[13,"hy",[7,"rp1","w"]],[13,"hz",[7,"rp2","x"]],[13,"scaleX",[1,[5,"0.5"],"/",[6,"std.max",["hy","hz"]]]],[13,"scaleY",[1,[5,"0.5"],"/",[6,"std.max",["hx","hz"]]]],[13,"scaleZ",[1,[5,"0.5"],"/",[6,"std.max",["hx","hy"]]]],[13,"uvX",[6,"d.vec2f",[[1,[1,[7,"rp","z"],"*","scaleX"],"+",[5,"0.5"]],[1,[1,[7,"rp","y"],"*","scaleX"],"+",[5,"0.5"]]]]],[13,"uvY",[6,"d.vec2f",[[1,[1,[7,"rp","x"],"*","scaleY"],"+",[5,"0.5"]],[1,[1,[7,"rp","z"],"*","scaleY"],"+",[5,"0.5"]]]]],[13,"uvZ",[6,"d.vec2f",[[1,[1,[7,"rp","x"],"*","scaleZ"],"+",[5,"0.5"]],[1,[1,[7,"rp","y"],"*","scaleZ"],"+",[5,"0.5"]]]]],[13,"pickXZ",[6,"std.select",["uvZ","uvX",[1,[7,"an","x"],">",[7,"an","z"]]]]],[13,"pickYZ",[6,"std.select",["uvZ","uvY",[1,[7,"an","y"],">",[7,"an","z"]]]]],[10,[6,"std.select",["pickYZ","pickXZ",[1,[7,"an","x"],">",[7,"an","y"]]]]]]]},externals:{eulerRotatePacked:()=>ws,"d.vec3f":()=>f,"std.abs":()=>z,"std.max":()=>b,"d.vec2f":()=>l,"std.select":()=>C}})&&e.f)({})).$name("boxFaceUV"),PG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=ws(t,s,r),d=r.z,c=r.w,_=$(i.y,__tsover_mul(c,-1),c);return __tsover_sub(j(f(i.x,__tsover_sub(i.y,_),i.z)),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["p","rp0","rp1"]]],[13,"radius",[7,"rp1","z"]],[13,"halfHeight",[7,"rp1","w"]],[13,"clampedY",[6,"std.clamp",[[7,"rp","y"],[1,"halfHeight","*",[4,"-",[5,"1"]]],"halfHeight"]]],[10,[1,[6,"std.length",[[6,"d.vec3f",[[7,"rp","x"],[1,[7,"rp","y"],"-","clampedY"],[7,"rp","z"]]]]],"-","radius"]]]]},externals:{eulerRotatePacked:()=>ws,"std.clamp":()=>$,"std.length":()=>j,"d.vec3f":()=>f}})&&e.f)({})).$name("paramCapsuleSdf"),EG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ws(t,r,o),c=__tsover_add(__tsover_div(tt(d.z,d.x),6.283185307179586),.5),_=__tsover_add(o.w,o.z);return l(c,$(__tsover_add(__tsover_mul(__tsover_div(d.y,_),.5),.5),0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["h","rp0","rp1"]]],[13,"u",[1,[1,[6,"std.atan2",[[7,"rp","z"],[7,"rp","x"]]],"/",[5,"6.283185307179586"]],"+",[5,"0.5"]]],[13,"span",[1,[7,"rp1","w"],"+",[7,"rp1","z"]]],[10,[6,"d.vec2f",["u",[6,"std.clamp",[[1,[1,[1,[7,"rp","y"],"/","span"],"*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]]]]]]},externals:{eulerRotatePacked:()=>ws,"std.atan2":()=>tt,"d.vec2f":()=>l,"std.clamp":()=>$}})&&e.f)({})).$name("capsuleSurfaceUV"),kG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=ws(t,s,r),d=r.z,c=r.w,_=o.x,u=tt(i.z,i.x),m=f(__tsover_mul(H(u),d),0,__tsover_mul(Y(u),d)),p=f(__tsover_sub(i.x,m.x),__tsover_sub(i.y,m.y),__tsover_sub(i.z,m.z)),y=__tsover_mul(u,.5),h=f(__tsover_mul(H(u),H(y)),Y(y),__tsover_mul(Y(u),H(y))),g=se(p,h),w=b(__tsover_sub(z(g),c),a(0)),S=f(__tsover_sub(p.x,__tsover_mul(h.x,g)),__tsover_sub(p.y,__tsover_mul(h.y,g)),__tsover_sub(p.z,__tsover_mul(h.z,g)));return __tsover_sub(j(l(w,j(S))),_)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["p","rp0","rp1"]]],[13,"ringRadius",[7,"rp1","z"]],[13,"halfWidth",[7,"rp1","w"]],[13,"thickness",[7,"rp2","x"]],[13,"phi",[6,"std.atan2",[[7,"rp","z"],[7,"rp","x"]]]],[13,"spine",[6,"d.vec3f",[[1,[6,"std.cos",["phi"]],"*","ringRadius"],[5,"0"],[1,[6,"std.sin",["phi"]],"*","ringRadius"]]]],[13,"dvec",[6,"d.vec3f",[[1,[7,"rp","x"],"-",[7,"spine","x"]],[1,[7,"rp","y"],"-",[7,"spine","y"]],[1,[7,"rp","z"],"-",[7,"spine","z"]]]]],[13,"halfPhi",[1,"phi","*",[5,"0.5"]]],[13,"ev",[6,"d.vec3f",[[1,[6,"std.cos",["phi"]],"*",[6,"std.cos",["halfPhi"]]],[6,"std.sin",["halfPhi"]],[1,[6,"std.sin",["phi"]],"*",[6,"std.cos",["halfPhi"]]]]]],[13,"vProj",[6,"std.dot",["dvec","ev"]]],[13,"du",[6,"std.max",[[1,[6,"std.abs",["vProj"]],"-","halfWidth"],[6,"d.f32",[[5,"0"]]]]]],[13,"perp",[6,"d.vec3f",[[1,[7,"dvec","x"],"-",[1,[7,"ev","x"],"*","vProj"]],[1,[7,"dvec","y"],"-",[1,[7,"ev","y"],"*","vProj"]],[1,[7,"dvec","z"],"-",[1,[7,"ev","z"],"*","vProj"]]]]],[10,[1,[6,"std.length",[[6,"d.vec2f",["du",[6,"std.length",["perp"]]]]]],"-","thickness"]]]]},externals:{eulerRotatePacked:()=>ws,"std.atan2":()=>tt,"d.vec3f":()=>f,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"std.max":()=>b,"std.abs":()=>z,"d.f32":()=>a,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})).$name("paramMobiusSdf"),$G=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=ws(t,r,o),c=o.z,_=o.w,u=tt(d.z,d.x),m=f(__tsover_mul(H(u),c),0,__tsover_mul(Y(u),c)),p=f(__tsover_sub(d.x,m.x),__tsover_sub(d.y,m.y),__tsover_sub(d.z,m.z)),y=__tsover_mul(u,.5),h=se(p,f(__tsover_mul(H(u),H(y)),Y(y),__tsover_mul(Y(u),H(y))));return l(__tsover_add(__tsover_div(u,6.283185307179586),.5),__tsover_add(__tsover_mul(__tsover_div(h,_),.5),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"_t"}],body:[0,[[13,"rp",[6,"eulerRotatePacked",["h","rp0","rp1"]]],[13,"ringRadius",[7,"rp1","z"]],[13,"halfWidth",[7,"rp1","w"]],[13,"phi",[6,"std.atan2",[[7,"rp","z"],[7,"rp","x"]]]],[13,"spine",[6,"d.vec3f",[[1,[6,"std.cos",["phi"]],"*","ringRadius"],[5,"0"],[1,[6,"std.sin",["phi"]],"*","ringRadius"]]]],[13,"dvec",[6,"d.vec3f",[[1,[7,"rp","x"],"-",[7,"spine","x"]],[1,[7,"rp","y"],"-",[7,"spine","y"]],[1,[7,"rp","z"],"-",[7,"spine","z"]]]]],[13,"halfPhi",[1,"phi","*",[5,"0.5"]]],[13,"ev",[6,"d.vec3f",[[1,[6,"std.cos",["phi"]],"*",[6,"std.cos",["halfPhi"]]],[6,"std.sin",["halfPhi"]],[1,[6,"std.sin",["phi"]],"*",[6,"std.cos",["halfPhi"]]]]]],[13,"vProj",[6,"std.dot",["dvec","ev"]]],[10,[6,"d.vec2f",[[1,[1,"phi","/",[5,"6.283185307179586"]],"+",[5,"0.5"]],[1,[1,[1,"vProj","/","halfWidth"],"*",[5,"0.5"]],"+",[5,"0.5"]]]]]]]},externals:{eulerRotatePacked:()=>ws,"std.atan2":()=>tt,"d.vec3f":()=>f,"std.cos":()=>H,"std.sin":()=>Y,"std.dot":()=>se,"d.vec2f":()=>l}})&&e.f)({})).$name("mobiusSurfaceUV"),UG=v.fn([f,x,x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=s.x,d=s.y,c=s.z,_=r.x,u=r.y,m=r.z,p=H(i),y=Y(i),h=__tsover_add(__tsover_mul(t.x,p),__tsover_mul(t.y,y)),g=__tsover_add(__tsover_mul(__tsover_mul(t.x,y),-1),__tsover_mul(t.y,p)),w=__tsover_add(__tsover_add(__tsover_mul(h,d),u),__tsover_mul(n,Tu)),S=H(w),T=Y(w),A=__tsover_add(__tsover_mul(g,S),__tsover_mul(t.z,T)),P=__tsover_add(__tsover_mul(__tsover_mul(g,T),-1),__tsover_mul(t.z,S)),U=b(__tsover_sub(z(A),c),a(0));return __tsover_div(__tsover_sub(j(l(U,P)),_),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"t"}],body:[0,[[13,"angleRad",[7,"rp0","x"]],[13,"twist",[7,"rp0","y"]],[13,"halfW",[7,"rp0","z"]],[13,"thickness",[7,"rp1","x"]],[13,"phase",[7,"rp1","y"]],[13,"lipschitz",[7,"rp1","z"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"rpx",[1,[1,[7,"p","x"],"*","cosA"],"+",[1,[7,"p","y"],"*","sinA"]]],[13,"rpy",[1,[1,[1,[7,"p","x"],"*","sinA"],"*",[4,"-",[5,"1"]]],"+",[1,[7,"p","y"],"*","cosA"]]],[13,"twistAngle",[1,[1,[1,"rpx","*","twist"],"+","phase"],"+",[1,"t","*","TWISTED_RIBBON_TWIST_RATE"]]],[13,"ca",[6,"std.cos",["twistAngle"]]],[13,"sa",[6,"std.sin",["twistAngle"]]],[13,"localU",[1,[1,"rpy","*","ca"],"+",[1,[7,"p","z"],"*","sa"]]],[13,"localV",[1,[1,[1,"rpy","*","sa"],"*",[4,"-",[5,"1"]]],"+",[1,[7,"p","z"],"*","ca"]]],[13,"du",[6,"std.max",[[1,[6,"std.abs",["localU"]],"-","halfW"],[6,"d.f32",[[5,"0"]]]]]],[10,[1,[1,[6,"std.length",[[6,"d.vec2f",["du","localV"]]]],"-","thickness"],"/","lipschitz"]]]]},externals:{"std.cos":()=>H,"std.sin":()=>Y,TWISTED_RIBBON_TWIST_RATE:()=>Tu,"std.max":()=>b,"std.abs":()=>z,"d.f32":()=>a,"std.length":()=>j,"d.vec2f":()=>l}})&&e.f)({})).$name("paramTwistedRibbonSdf"),CG=v.fn([f,f,x,x,x,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=r.x,c=r.y,_=r.z,u=r.w,m=o.y,p=H(d),y=Y(d),h=__tsover_add(__tsover_mul(t.x,p),__tsover_mul(t.y,y)),g=__tsover_add(__tsover_mul(__tsover_mul(t.x,y),-1),__tsover_mul(t.y,p)),w=__tsover_add(__tsover_add(__tsover_mul(h,c),m),__tsover_mul(i,Tu)),S=H(w),T=Y(w),A=b(oe(__tsover_add(__tsover_mul(g,S),__tsover_mul(t.z,T)),_),__tsover_mul(_,-1));return l(__tsover_add(__tsover_mul(h,.15),.5),__tsover_add(__tsover_div(A,u),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"h"},{type:"i",name:"_n"},{type:"i",name:"rp0"},{type:"i",name:"rp1"},{type:"i",name:"_rp2"},{type:"i",name:"t"}],body:[0,[[13,"angleRad",[7,"rp0","x"]],[13,"twist",[7,"rp0","y"]],[13,"halfW",[7,"rp0","z"]],[13,"width",[7,"rp0","w"]],[13,"phase",[7,"rp1","y"]],[13,"cosA",[6,"std.cos",["angleRad"]]],[13,"sinA",[6,"std.sin",["angleRad"]]],[13,"rpx",[1,[1,[7,"h","x"],"*","cosA"],"+",[1,[7,"h","y"],"*","sinA"]]],[13,"rpy",[1,[1,[1,[7,"h","x"],"*","sinA"],"*",[4,"-",[5,"1"]]],"+",[1,[7,"h","y"],"*","cosA"]]],[13,"twistAngle",[1,[1,[1,"rpx","*","twist"],"+","phase"],"+",[1,"t","*","TWISTED_RIBBON_TWIST_RATE"]]],[13,"ca",[6,"std.cos",["twistAngle"]]],[13,"sa",[6,"std.sin",["twistAngle"]]],[13,"localU",[1,[1,"rpy","*","ca"],"+",[1,[7,"h","z"],"*","sa"]]],[13,"localUClamped",[6,"std.max",[[6,"std.min",["localU","halfW"]],[1,"halfW","*",[4,"-",[5,"1"]]]]]],[10,[6,"d.vec2f",[[1,[1,"rpx","*",[5,"0.15"]],"+",[5,"0.5"]],[1,[1,"localUClamped","/","width"],"+",[5,"0.5"]]]]]]]},externals:{"std.cos":()=>H,"std.sin":()=>Y,TWISTED_RIBBON_TWIST_RATE:()=>Tu,"std.max":()=>b,"std.min":()=>oe,"d.vec2f":()=>l}})&&e.f)({})).$name("twistedRibbonSurfaceUV");function RG(e,t){let s={};return t.forEach((r,o)=>{s[`${e}${o}`]={schema:x,initial:r}}),s}var qm=_o()?128:192,FW=Math.ceil(qm/4)*qm*qm,Su=_o()?512:1024;var BW=Math.PI/180;var Xm=2.39996323,Mb=.27;var WW=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cam:n5(16,a5(32,Hc)),lightDir:f,voxelSize:a,lightT1:f,fill:a,lightT2:f,voxelScale:a,bevel:a,gridOrigin:a,gridN:a,gridW:a}),"VoxelMarchParams");var Hm=v.fn([ps(a),a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=a(__tsover_sub(Su,1)),i=q(s),d=q(r),c=__tsover_sub(s,i),_=__tsover_sub(r,d),u=R($(i,a(0),n)),m=R($(__tsover_add(i,1),a(0),n)),p=R($(d,a(0),n)),y=R($(__tsover_add(d,1),a(0),n)),h=C(a(0),a(1),Be(t,Ge(u,p),0).ra,VOXEL_SHADOW_RES:()=>Su,"std.floor":()=>q,"d.u32":()=>R,"std.clamp":()=>$,"std.select":()=>C,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"std.mix":()=>X}})&&e.f)({})).$name("voxelShadowCompare"),OW=v.fn([ps(a),f,f,f,f,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=a(Su),u=__tsover_div(__tsover_mul(i,2),_),m=se(s,o),p=se(s,n),y=__tsover_sub(i,se(s,r)),h=__tsover_sub(__tsover_mul(__tsover_add(__tsover_mul(__tsover_div(m,i),.5),.5),_),.5),g=__tsover_sub(__tsover_mul(__tsover_add(__tsover_mul(__tsover_div(p,i),.5),.5),_),.5),w=__tsover_sub(y,__tsover_add(__tsover_mul(c,.05),__tsover_mul(u,2))),S=a(0);if(d<.001)S=Hm(t,h,g,w);else{let T=__tsover_mul(d,Mb),A=b(__tsover_div(oe(__tsover_mul(i,T),__tsover_mul(i,.25)),u),1),P=a(0),U=a(0);for(let D=0;D<8;D++){let O=__tsover_mul(be(__tsover_div(__tsover_add(a(D),.5),8)),A),L=__tsover_mul(a(D),Xm),G=$(__tsover_add(h,__tsover_mul(H(L),O)),a(0),__tsover_sub(_,1)),W=$(__tsover_add(g,__tsover_mul(Y(L),O)),a(0),__tsover_sub(_,1)),K=Be(t,Ge(R(G),R(W)),0).r;K.5){let D=__tsover_div(P,U),O=$(__tsover_div(__tsover_mul(__tsover_sub(y,D),T),u),1,A),L=a(0);for(let G=0;G<12;G++){let W=__tsover_mul(be(__tsover_div(__tsover_add(a(G),.5),12)),O),K=__tsover_add(__tsover_mul(a(G),Xm),.7);L=__tsover_add(L,Hm(t,__tsover_add(h,__tsover_mul(H(K),W)),__tsover_add(g,__tsover_mul(Y(K),W)),w))}S=__tsover_div(L,12)}}return S}),{v:2,name:void 0,ast:{params:[{type:"i",name:"tex"},{type:"i",name:"p"},{type:"i",name:"L"},{type:"i",name:"T1"},{type:"i",name:"T2"},{type:"i",name:"rBound"},{type:"i",name:"softness"},{type:"i",name:"voxel"}],body:[0,[[13,"RES",[6,"d.f32",["VOXEL_SHADOW_RES"]]],[13,"texelWorld",[1,[1,"rBound","*",[5,"2"]],"/","RES"]],[13,"u",[6,"std.dot",["p","T1"]]],[13,"w",[6,"std.dot",["p","T2"]]],[13,"dL",[1,"rBound","-",[6,"std.dot",["p","L"]]]],[13,"mx",[1,[1,[1,[1,[1,"u","/","rBound"],"*",[5,"0.5"]],"+",[5,"0.5"]],"*","RES"],"-",[5,"0.5"]]],[13,"my",[1,[1,[1,[1,[1,"w","/","rBound"],"*",[5,"0.5"]],"+",[5,"0.5"]],"*","RES"],"-",[5,"0.5"]]],[13,"ref",[1,"dL","-",[1,[1,"voxel","*",[5,"0.05"]],"+",[1,"texelWorld","*",[5,"2"]]]]],[12,"shadow",[6,"d.f32",[[5,"0"]]]],[11,[1,"softness","<",[5,"0.001"]],[0,[[2,"shadow","=",[6,"shadowCompare",["tex","mx","my","ref"]]]]],[0,[[13,"k",[1,"softness","*","SOFT_TAN"]],[13,"rSearch",[6,"std.max",[[1,[6,"std.min",[[1,"rBound","*","k"],[1,"rBound","*",[5,"0.25"]]]],"/","texelWorld"],[5,"1"]]]],[12,"sum",[6,"d.f32",[[5,"0"]]]],[12,"count",[6,"d.f32",[[5,"0"]]]],[14,[12,"s",[5,"0"]],[1,"s","<",[5,"8"]],[102,"++","s"],[0,[[13,"r",[1,[6,"std.sqrt",[[1,[1,[6,"d.f32",["s"]],"+",[5,"0.5"]],"/",[5,"8"]]]],"*","rSearch"]],[13,"th",[1,[6,"d.f32",["s"]],"*","GOLDEN_ANGLE"]],[13,"sx",[6,"std.clamp",[[1,"mx","+",[1,[6,"std.cos",["th"]],"*","r"]],[6,"d.f32",[[5,"0"]]],[1,"RES","-",[5,"1"]]]]],[13,"sy",[6,"std.clamp",[[1,"my","+",[1,[6,"std.sin",["th"]],"*","r"]],[6,"d.f32",[[5,"0"]]],[1,"RES","-",[5,"1"]]]]],[13,"dep",[7,[6,"std.textureLoad",["tex",[6,"d.vec2u",[[6,"d.u32",["sx"]],[6,"d.u32",["sy"]]]],[5,"0"]]],"r"]],[11,[1,"dep","<","ref"],[0,[[2,"sum","=",[1,"sum","+","dep"]],[2,"count","=",[1,"count","+",[5,"1"]]]]]]]]],[11,[1,"count",">",[5,"0.5"]],[0,[[13,"avgBlocker",[1,"sum","/","count"]],[13,"penumbra",[6,"std.clamp",[[1,[1,[1,"dL","-","avgBlocker"],"*","k"],"/","texelWorld"],[5,"1"],"rSearch"]]],[12,"acc",[6,"d.f32",[[5,"0"]]]],[14,[12,"s",[5,"0"]],[1,"s","<",[5,"12"]],[102,"++","s"],[0,[[13,"r",[1,[6,"std.sqrt",[[1,[1,[6,"d.f32",["s"]],"+",[5,"0.5"]],"/",[5,"12"]]]],"*","penumbra"]],[13,"th",[1,[1,[6,"d.f32",["s"]],"*","GOLDEN_ANGLE"],"+",[5,"0.7"]]],[2,"acc","=",[1,"acc","+",[6,"shadowCompare",["tex",[1,"mx","+",[1,[6,"std.cos",["th"]],"*","r"]],[1,"my","+",[1,[6,"std.sin",["th"]],"*","r"]],"ref"]]]]]]],[2,"shadow","=",[1,"acc","/",[5,"12"]]]]]]]]],[10,"shadow"]]]},externals:{"d.f32":()=>a,VOXEL_SHADOW_RES:()=>Su,"std.dot":()=>se,shadowCompare:()=>Hm,SOFT_TAN:()=>Mb,"std.max":()=>b,"std.min":()=>oe,"std.sqrt":()=>be,GOLDEN_ANGLE:()=>Xm,"std.clamp":()=>$,"std.cos":()=>H,"std.sin":()=>Y,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"d.u32":()=>R}})&&e.f)({})).$name("voxelShadowLookup"),Pb=v.fn([f,f,f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=C(a(-1),a(1),s.x>=0),i=C(a(-1),a(1),s.y>=0),d=C(a(-1),a(1),s.z>=0),c=__tsover_div(n,b(z(s.x),1e-6)),_=__tsover_div(i,b(z(s.y),1e-6)),u=__tsover_div(d,b(z(s.z),1e-6)),m=__tsover_mul(__tsover_sub(__tsover_sub(r.x,o),t.x),c),p=__tsover_mul(__tsover_sub(__tsover_add(r.x,o),t.x),c),y=__tsover_mul(__tsover_sub(__tsover_sub(r.y,o),t.y),_),h=__tsover_mul(__tsover_sub(__tsover_add(r.y,o),t.y),_),g=__tsover_mul(__tsover_sub(__tsover_sub(r.z,o),t.z),u),w=__tsover_mul(__tsover_sub(__tsover_add(r.z,o),t.z),u),S=b(oe(m,p),b(oe(y,h),oe(g,w))),T=oe(b(m,p),oe(b(y,h),b(g,w))),A=__tsover_mul(C(a(0),a(1),S<=T),C(a(0),a(1),T>=0));return C(a(-1),b(S,a(0)),A>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ro"},{type:"i",name:"rd"},{type:"i",name:"c"},{type:"i",name:"h"}],body:[0,[[13,"sx",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"d.f32",[[5,"1"]]],[1,[7,"rd","x"],">=",[5,"0"]]]]],[13,"sy",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"d.f32",[[5,"1"]]],[1,[7,"rd","y"],">=",[5,"0"]]]]],[13,"sz",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"d.f32",[[5,"1"]]],[1,[7,"rd","z"],">=",[5,"0"]]]]],[13,"ix",[1,"sx","/",[6,"std.max",[[6,"std.abs",[[7,"rd","x"]]],[5,"0.000001"]]]]],[13,"iy",[1,"sy","/",[6,"std.max",[[6,"std.abs",[[7,"rd","y"]]],[5,"0.000001"]]]]],[13,"iz",[1,"sz","/",[6,"std.max",[[6,"std.abs",[[7,"rd","z"]]],[5,"0.000001"]]]]],[13,"t1x",[1,[1,[1,[7,"c","x"],"-","h"],"-",[7,"ro","x"]],"*","ix"]],[13,"t2x",[1,[1,[1,[7,"c","x"],"+","h"],"-",[7,"ro","x"]],"*","ix"]],[13,"t1y",[1,[1,[1,[7,"c","y"],"-","h"],"-",[7,"ro","y"]],"*","iy"]],[13,"t2y",[1,[1,[1,[7,"c","y"],"+","h"],"-",[7,"ro","y"]],"*","iy"]],[13,"t1z",[1,[1,[1,[7,"c","z"],"-","h"],"-",[7,"ro","z"]],"*","iz"]],[13,"t2z",[1,[1,[1,[7,"c","z"],"+","h"],"-",[7,"ro","z"]],"*","iz"]],[13,"tIn",[6,"std.max",[[6,"std.min",["t1x","t2x"]],[6,"std.max",[[6,"std.min",["t1y","t2y"]],[6,"std.min",["t1z","t2z"]]]]]]],[13,"tOut",[6,"std.min",[[6,"std.max",["t1x","t2x"]],[6,"std.min",[[6,"std.max",["t1y","t2y"]],[6,"std.max",["t1z","t2z"]]]]]]],[13,"ok",[1,[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"tIn","<=","tOut"]]],"*",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"tOut",">=",[5,"0"]]]]]],[10,[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],[6,"std.max",["tIn",[6,"d.f32",[[5,"0"]]]]],[1,"ok",">",[5,"0.5"]]]]]]]},externals:{"std.select":()=>C,"d.f32":()=>a,"std.max":()=>b,"std.abs":()=>z,"std.min":()=>oe}})&&e.f)({})).$name("voxelRayBox"),VW=v.fn([f,f,f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=t.sub(r),i=se(n,s),d=__tsover_sub(se(n,n),__tsover_mul(o,o)),c=__tsover_sub(__tsover_mul(i,i),d),_=__tsover_sub(__tsover_mul(i,-1),be(b(c,0))),u=__tsover_mul(C(a(0),a(1),c>=0),C(a(0),a(1),_>=0));return C(a(-1),_,u>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ro"},{type:"i",name:"rd"},{type:"i",name:"c"},{type:"i",name:"h"}],body:[0,[[13,"oc",[6,[7,"ro","sub"],["c"]]],[13,"b",[6,"std.dot",["oc","rd"]]],[13,"cc",[1,[6,"std.dot",["oc","oc"]],"-",[1,"h","*","h"]]],[13,"disc",[1,[1,"b","*","b"],"-","cc"]],[13,"t",[1,[1,"b","*",[4,"-",[5,"1"]]],"-",[6,"std.sqrt",[[6,"std.max",["disc",[5,"0"]]]]]]],[13,"ok",[1,[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"disc",">=",[5,"0"]]]],"*",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"t",">=",[5,"0"]]]]]],[10,[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],"t",[1,"ok",">",[5,"0.5"]]]]]]]},externals:{"std.dot":()=>se,"std.sqrt":()=>be,"std.max":()=>b,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})).$name("voxelRaySphere"),NW=v.fn([f,f,f,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=Pb(t,s,r,o),d=a(-1);if(i>=0){let c=i,_=a(0);for(let u=0;u<8;u++){let m=Ec(t.add(s.mul(c)).sub(r),o,o,o,n);if(m<__tsover_mul(o,.004)){_=a(1);break}if(c=__tsover_add(c,m),c>__tsover_add(i,__tsover_mul(o,3.5)))break}d=C(a(-1),c,_>.5)}return d}),{v:2,name:void 0,ast:{params:[{type:"i",name:"ro"},{type:"i",name:"rd"},{type:"i",name:"c"},{type:"i",name:"h"},{type:"i",name:"r"}],body:[0,[[13,"tBox",[6,"voxelRayBox",["ro","rd","c","h"]]],[12,"t",[6,"d.f32",[[4,"-",[5,"1"]]]]],[11,[1,"tBox",">=",[5,"0"]],[0,[[12,"s","tBox"],[12,"hit",[6,"d.f32",[[5,"0"]]]],[14,[12,"i",[5,"0"]],[1,"i","<",[5,"8"]],[102,"++","i"],[0,[[13,"p",[6,[7,[6,[7,"ro","add"],[[6,[7,"rd","mul"],["s"]]]],"sub"],["c"]]],[13,"dd",[6,"sdRoundBox",["p","h","h","h","r"]]],[11,[1,"dd","<",[1,"h","*",[5,"0.004"]]],[0,[[2,"hit","=",[6,"d.f32",[[5,"1"]]]],[17]]]],[2,"s","=",[1,"s","+","dd"]],[11,[1,"s",">",[1,"tBox","+",[1,"h","*",[5,"3.5"]]]],[0,[[17]]]]]]],[2,"t","=",[6,"std.select",[[6,"d.f32",[[4,"-",[5,"1"]]]],"s",[1,"hit",">",[5,"0.5"]]]]]]]],[10,"t"]]]},externals:{voxelRayBox:()=>Pb,"d.f32":()=>a,sdRoundBox:()=>Ec,"std.select":()=>C}})&&e.f)({})).$name("voxelRayRoundedBox");var zG=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_sub(1,t),o=re(0,.14,t),n=re(.68,.92,t);return X(r,X(a(1),__tsover_mul(.72,__tsover_sub(1,n)),o),s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"shape"}],body:[0,[[13,"sRound",[1,[5,"1"],"-","t"]],[13,"k1",[6,"std.smoothstep",[[5,"0"],[5,"0.14"],"t"]]],[13,"k2",[6,"std.smoothstep",[[5,"0.68"],[5,"0.92"],"t"]]],[13,"sMach",[6,"std.mix",[[6,"d.f32",[[5,"1"]]],[1,[5,"0.72"],"*",[1,[5,"1"],"-","k2"]],"k1"]]],[10,[6,"std.mix",["sRound","sMach","shape"]]]]]},externals:{"std.smoothstep":()=>re,"std.mix":()=>X,"d.f32":()=>a}})&&e.f)({})),sw=Za({BLUR_DISK:()=>Ya,GlassLensUVs:()=>hl,applyGlassEffect:()=>YG,glassBlurOffset:()=>aw,glassBorderHighlight:()=>Af,glassComposite:()=>iw,glassFresnelRim:()=>Pf,glassGradient:()=>ow,glassLensUVs:()=>nw,glassRefrStrength:()=>$c,glassSpecular:()=>Mf,glassTint:()=>Sf,offsetUV:()=>Tf,sdfSpaceUV:()=>rw}),ra=.017453292519943295,tl=.4472135954999579,GG=2.3999632297286535,wf=9,Ya=[];for(let e=0;e(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=t.x,d=__tsover_sub(1,t.y),c=__tsover_mul(__tsover_sub(o.x,i),n),_=__tsover_sub(o.y,d),u=__tsover_mul(r,ra),m=H(u),p=Y(u),y=__tsover_add(__tsover_mul(c,m),__tsover_mul(_,p)),h=__tsover_sub(__tsover_mul(_,m),__tsover_mul(c,p));return l(__tsover_add(__tsover_div(y,s),.5),__tsover_add(__tsover_div(h,s),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"scale"},{type:"i",name:"rotation"},{type:"i",name:"uv"},{type:"i",name:"aspect"}],body:[0,[[13,"centerX",[7,"center","x"]],[13,"centerY",[1,[5,"1"],"-",[7,"center","y"]]],[13,"dxAc",[1,[1,[7,"uv","x"],"-","centerX"],"*","aspect"]],[13,"dy",[1,[7,"uv","y"],"-","centerY"]],[13,"rotRad",[1,"rotation","*","DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rdx",[1,[1,"dxAc","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dxAc","*","sinR"]]],[10,[6,"d.vec2f",[[1,[1,"rdx","/","scale"],"+",[5,"0.5"]],[1,[1,"rdy","/","scale"],"+",[5,"0.5"]]]]]]]},externals:{DEG_TO_RAD:()=>ra,"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({})),Tf=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_add(t.x,s),__tsover_add(t.y,r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[10,[6,"d.vec2f",[[1,[7,"uv","x"],"+","ox"],[1,[7,"uv","y"],"+","oy"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),ow=v.fn([a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return l(__tsover_div(__tsover_sub(s,t),.01),__tsover_div(__tsover_sub(r,t),.01))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdfRaw"},{type:"i",name:"sdfX"},{type:"i",name:"sdfY"}],body:[0,[[13,"eps",[5,"0.01"]],[10,[6,"d.vec2f",[[1,[1,"sdfX","-","sdfRaw"],"/","eps"],[1,[1,"sdfY","-","sdfRaw"],"/","eps"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),$c=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=b(__tsover_mul(s,.3),.005),n=$(__tsover_div(__tsover_mul(t,-1),o),0,1),i=re(0,1,n);return C(__tsover_mul(__tsover_sub(1,n),__tsover_sub(1,n)),i,r>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"thickness"},{type:"i",name:"volumetric"}],body:[0,[[13,"thicknessRange",[6,"std.max",[[1,"thickness","*",[5,"0.3"]],[5,"0.005"]]]],[13,"depthNorm",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","thicknessRange"],[5,"0"],[5,"1"]]]],[13,"vol",[6,"std.smoothstep",[[5,"0"],[5,"1"],"depthNorm"]]],[13,"flat",[1,[1,[5,"1"],"-","depthNorm"],"*",[1,[5,"1"],"-","depthNorm"]]],[10,[6,"std.select",["flat","vol",[1,"volumetric",">",[5,"0.5"]]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.smoothstep":()=>re,"std.select":()=>C}})&&e.f)({})),hl=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({lensUV:l,rUV:l,bUV:l}),"GlassLensUVs"),nw=v.fn([l,l,a,a,a,a,a,a,a,a,a,a],hl)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p)=>{"use gpu";let y=$c(__tsover_div(r,o),_,p),h=__tsover_mul(d,.15),g=b(be(__tsover_add(__tsover_mul(n,n),__tsover_mul(i,i))),1e-4),w=oe(a(1),__tsover_div(12,g)),S=__tsover_div(__tsover_mul(__tsover_mul(__tsover_mul(__tsover_mul(n,w),-1),h),y),m),T=__tsover_mul(__tsover_mul(__tsover_mul(__tsover_mul(i,w),-1),h),y),A=s.x,P=__tsover_sub(1,s.y),U=__tsover_add(A,__tsover_div(__tsover_sub(t.x,A),c)),D=__tsover_add(P,__tsover_div(__tsover_sub(t.y,P),c)),O=__tsover_add(U,S),L=__tsover_add(D,T),G=__tsover_mul(u,.06),W=__tsover_mul(S,G),K=__tsover_mul(T,G);return hl({lensUV:l(O,L),rUV:l(__tsover_add(O,W),__tsover_add(L,K)),bUV:l(__tsover_sub(O,W),__tsover_sub(L,K))})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"center"},{type:"i",name:"sdfRaw"},{type:"i",name:"scale"},{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"refraction"},{type:"i",name:"innerZoom"},{type:"i",name:"thickness"},{type:"i",name:"aberration"},{type:"i",name:"aspect"},{type:"i",name:"volumetric"}],body:[0,[[13,"sdf",[1,"sdfRaw","/","scale"]],[13,"refrStrength",[6,"glassRefrStrength",["sdf","thickness","volumetric"]]],[13,"refrScale",[1,"refraction","*",[5,"0.15"]]],[13,"slopeLen",[6,"std.max",[[6,"std.sqrt",[[1,[1,"gradX","*","gradX"],"+",[1,"gradY","*","gradY"]]]],[5,"0.0001"]]]],[13,"slopeScale",[6,"std.min",[[6,"d.f32",[[5,"1"]]],[1,[5,"12"],"/","slopeLen"]]]],[13,"offsetX",[1,[1,[1,[1,[1,"gradX","*","slopeScale"],"*",[4,"-",[5,"1"]]],"*","refrScale"],"*","refrStrength"],"/","aspect"]],[13,"offsetY",[1,[1,[1,[1,"gradY","*","slopeScale"],"*",[4,"-",[5,"1"]]],"*","refrScale"],"*","refrStrength"]],[13,"centerX",[7,"center","x"]],[13,"centerY",[1,[5,"1"],"-",[7,"center","y"]]],[13,"zoomedX",[1,"centerX","+",[1,[1,[7,"uv","x"],"-","centerX"],"/","innerZoom"]]],[13,"zoomedY",[1,"centerY","+",[1,[1,[7,"uv","y"],"-","centerY"],"/","innerZoom"]]],[13,"lensX",[1,"zoomedX","+","offsetX"]],[13,"lensY",[1,"zoomedY","+","offsetY"]],[13,"chrScale",[1,"aberration","*",[5,"0.06"]]],[13,"chrOffX",[1,"offsetX","*","chrScale"]],[13,"chrOffY",[1,"offsetY","*","chrScale"]],[10,[6,"GlassLensUVs",[[104,{lensUV:[6,"d.vec2f",["lensX","lensY"]],rUV:[6,"d.vec2f",[[1,"lensX","+","chrOffX"],[1,"lensY","+","chrOffY"]]],bUV:[6,"d.vec2f",[[1,"lensX","-","chrOffX"],[1,"lensY","-","chrOffY"]]]}]]]]]]},externals:{glassRefrStrength:()=>$c,"std.max":()=>b,"std.sqrt":()=>be,"std.min":()=>oe,"d.f32":()=>a,GlassLensUVs:()=>hl,"d.vec2f":()=>l}})&&e.f)({})),aw=v.fn([l,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(s,2);return l(__tsover_mul(__tsover_div(r,t.x),n),__tsover_mul(__tsover_div(o,t.y),n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"viewportSize"},{type:"i",name:"blur"},{type:"i",name:"ox"},{type:"i",name:"oy"}],body:[0,[[13,"m",[1,"blur","*",[5,"2"]]],[10,[6,"d.vec2f",[[1,[1,"ox","/",[7,"viewportSize","x"]],"*","m"],[1,[1,"oy","/",[7,"viewportSize","y"]],"*","m"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),Sf=v.fn([f,f,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=f(.299,.587,.114),i=se(t,n),d=X(t,s,r),c=se(d,n);return X(d,d.mul(__tsover_div(i,b(c,1e-4))),C(a(0),a(1),o>.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"tintColor"},{type:"i",name:"tintIntensity"},{type:"i",name:"preserveLum"}],body:[0,[[13,"lumWeights",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]],[13,"origLum",[6,"std.dot",["rgb","lumWeights"]]],[13,"tinted",[6,"std.mix",["rgb","tintColor","tintIntensity"]]],[13,"tintedLum",[6,"std.dot",["tinted","lumWeights"]]],[13,"lumPreserved",[6,[7,"tinted","mul"],[[1,"origLum","/",[6,"std.max",["tintedLum",[5,"0.0001"]]]]]]],[13,"preserveFactor",[6,"std.select",[[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]],[1,"preserveLum",">",[5,"0.5"]]]]],[10,[6,"std.mix",["tinted","lumPreserved","preserveFactor"]]]]]},externals:{"d.vec3f":()=>f,"std.dot":()=>se,"std.mix":()=>X,"std.max":()=>b,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})),Af=v.fn([a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=b(__tsover_mul(s,.5),.001),_=b(__tsover_mul(c,.0625),__tsover_mul(r,1.5)),u=__tsover_sub(t,r),m=__tsover_sub($(__tsover_div(__tsover_mul(u,-1),_),0,1),$(__tsover_div(__tsover_mul(t,-1),_),0,1)),p=H(__tsover_mul(i,ra)),y=Y(__tsover_mul(i,ra)),h=__tsover_add(__tsover_mul(o,p),__tsover_mul(n,y)),g=$(__tsover_add(__tsover_mul(h,.5),.5),0,1);return __tsover_mul(__tsover_mul(m,g),d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"edgeSoftness"},{type:"i",name:"pxH"},{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"lightAngle"},{type:"i",name:"highlight"}],body:[0,[[13,"sharp",[6,"std.max",[[1,"edgeSoftness","*",[5,"0.5"]],[5,"0.001"]]]],[13,"w2",[6,"std.max",[[1,"sharp","*",[5,"0.0625"]],[1,"pxH","*",[5,"1.5"]]]]],[13,"sdfOuter",[1,"sdf","-","pxH"]],[13,"rb2base",[1,[6,"std.clamp",[[1,[1,"sdfOuter","*",[4,"-",[5,"1"]]],"/","w2"],[5,"0"],[5,"1"]]],"-",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","w2"],[5,"0"],[5,"1"]]]]],[13,"lx",[6,"std.cos",[[1,"lightAngle","*","DEG_TO_RAD"]]]],[13,"ly",[6,"std.sin",[[1,"lightAngle","*","DEG_TO_RAD"]]]],[13,"normalDotLight",[1,[1,"gradX","*","lx"],"+",[1,"gradY","*","ly"]]],[13,"lightFacing",[6,"std.clamp",[[1,[1,"normalDotLight","*",[5,"0.5"]],"+",[5,"0.5"]],[5,"0"],[5,"1"]]]],[10,[1,[1,"rb2base","*","lightFacing"],"*","highlight"]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,"std.cos":()=>H,DEG_TO_RAD:()=>ra,"std.sin":()=>Y}})&&e.f)({})),Mf=v.fn([a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=H(__tsover_mul(r,ra)),c=Y(__tsover_mul(r,ra)),_=a(2),u=be(__tsover_add(__tsover_add(__tsover_mul(t,t),__tsover_mul(s,s)),__tsover_mul(_,_))),m=__tsover_div(t,u),p=__tsover_div(s,u),y=__tsover_div(_,u),h=__tsover_add(__tsover_add(__tsover_mul(m,__tsover_mul(d,tl)),__tsover_mul(p,__tsover_mul(c,tl))),__tsover_mul(y,__tsover_mul(2,tl))),g=$l(__tsover_sub(8,__tsover_mul(n,7)));return __tsover_mul(__tsover_mul(Ce($(h,0,1),g),o),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"lightAngle"},{type:"i",name:"highlight"},{type:"i",name:"highlightSoftness"},{type:"i",name:"refrStrength"}],body:[0,[[13,"lx",[6,"std.cos",[[1,"lightAngle","*","DEG_TO_RAD"]]]],[13,"ly",[6,"std.sin",[[1,"lightAngle","*","DEG_TO_RAD"]]]],[13,"nz",[6,"d.f32",[[5,"2"]]]],[13,"nLen",[6,"std.sqrt",[[1,[1,[1,"gradX","*","gradX"],"+",[1,"gradY","*","gradY"]],"+",[1,"nz","*","nz"]]]]],[13,"nx",[1,"gradX","/","nLen"]],[13,"ny",[1,"gradY","/","nLen"]],[13,"nnz",[1,"nz","/","nLen"]],[13,"nDotH",[1,[1,[1,"nx","*",[1,"lx","*","INV_HLEN_GLASS"]],"+",[1,"ny","*",[1,"ly","*","INV_HLEN_GLASS"]]],"+",[1,"nnz","*",[1,[5,"2"],"*","INV_HLEN_GLASS"]]]],[13,"shininess",[6,"std.exp2",[[1,[5,"8"],"-",[1,"highlightSoftness","*",[5,"7"]]]]]],[10,[1,[1,[6,"std.pow",[[6,"std.clamp",["nDotH",[5,"0"],[5,"1"]]],"shininess"]],"*","highlight"],"*","refrStrength"]]]]},externals:{"std.cos":()=>H,DEG_TO_RAD:()=>ra,"std.sin":()=>Y,"d.f32":()=>a,"std.sqrt":()=>be,INV_HLEN_GLASS:()=>tl,"std.exp2":()=>$l,"std.pow":()=>Ce,"std.clamp":()=>$}})&&e.f)({})),Pf=v.fn([a,a,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_add(__tsover_mul(s,s),__tsover_mul(r,r)),_=__tsover_div(1,be(__tsover_add(c,1))),u=X(6,1.5,$(n,0,1)),m=__tsover_mul(__tsover_mul(__tsover_mul(Ce(__tsover_sub(1,_),u),o),2),i),p=b(__tsover_mul(n,.06),.001),y=$(__tsover_div(__tsover_mul(t,-1),p),0,1);return C(__tsover_mul(__tsover_mul(__tsover_mul(__tsover_sub(1,y),__tsover_sub(1,y)),o),i),m,d>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"sdf"},{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"fresnel"},{type:"i",name:"fresnelSoftness"},{type:"i",name:"rb1"},{type:"i",name:"volumetric"}],body:[0,[[13,"slopeSq",[1,[1,"gradX","*","gradX"],"+",[1,"gradY","*","gradY"]]],[13,"cosView",[1,[5,"1"],"/",[6,"std.sqrt",[[1,"slopeSq","+",[5,"1"]]]]]],[13,"exponent",[6,"std.mix",[[5,"6"],[5,"1.5"],[6,"std.clamp",["fresnelSoftness",[5,"0"],[5,"1"]]]]]],[13,"volRim",[1,[1,[1,[6,"std.pow",[[1,[5,"1"],"-","cosView"],"exponent"]],"*","fresnel"],"*",[5,"2"]],"*","rb1"]],[13,"fresnelWidth",[6,"std.max",[[1,"fresnelSoftness","*",[5,"0.06"]],[5,"0.001"]]]],[13,"fresnelDepth",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","fresnelWidth"],[5,"0"],[5,"1"]]]],[13,"flatRim",[1,[1,[1,[1,[5,"1"],"-","fresnelDepth"],"*",[1,[5,"1"],"-","fresnelDepth"]],"*","fresnel"],"*","rb1"]],[10,[6,"std.select",["flatRim","volRim",[1,"volumetric",">",[5,"0.5"]]]]]]]},externals:{"std.sqrt":()=>be,"std.mix":()=>X,"std.clamp":()=>$,"std.pow":()=>Ce,"std.max":()=>b,"std.select":()=>C}})&&e.f)({})),iw=v.fn([x,x,a,a,a,a,l,a,a,a,f,a,a,f,a,a,f,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m,p,y,h,g,w,S,T,A,P,U)=>{"use gpu";let D=b(__tsover_mul(c,.5),.001),O=__tsover_div(1,d.y),L=__tsover_div(r,o),G=b(__tsover_mul(D,.03125),__tsover_mul(O,1.5)),W=$(__tsover_div(__tsover_mul(L,-1),G),0,1),K=$c(L,w,U),Q=Af(L,c,O,n,i,_,u),te=Sf(f(s.x,s.y,s.z),S,T,A),ee=Mf(n,i,_,u,p,K),he=Pf(L,n,i,y,g,W,U),Ee=x(__tsover_add(__tsover_add(__tsover_add(te.x,__tsover_mul(m.x,Q)),__tsover_mul(m.x,ee)),__tsover_mul(h.x,he)),__tsover_add(__tsover_add(__tsover_add(te.y,__tsover_mul(m.y,Q)),__tsover_mul(m.y,ee)),__tsover_mul(h.y,he)),__tsover_add(__tsover_add(__tsover_add(te.z,__tsover_mul(m.z,Q)),__tsover_mul(m.z,ee)),__tsover_mul(h.z,he)),__tsover_add(s.w,Q)),Te=re(0,1,W),Ue=X(t,Ee,Te),Me=C(a(1),Te,P>.5);return x(Ue.x,Ue.y,Ue.z,__tsover_mul(Ue.w,Me))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"baseColor"},{type:"i",name:"blurred"},{type:"i",name:"sdfRaw"},{type:"i",name:"scale"},{type:"i",name:"gradX"},{type:"i",name:"gradY"},{type:"i",name:"viewportSize"},{type:"i",name:"edgeSoftness"},{type:"i",name:"lightAngle"},{type:"i",name:"highlight"},{type:"i",name:"highlightColor"},{type:"i",name:"highlightSoftness"},{type:"i",name:"fresnel"},{type:"i",name:"fresnelColor"},{type:"i",name:"fresnelSoftness"},{type:"i",name:"thickness"},{type:"i",name:"tintColor"},{type:"i",name:"tintIntensity"},{type:"i",name:"tintPreserveLuminosity"},{type:"i",name:"cutout"},{type:"i",name:"volumetric"}],body:[0,[[13,"sharp",[6,"std.max",[[1,"edgeSoftness","*",[5,"0.5"]],[5,"0.001"]]]],[13,"pxH",[1,[5,"1"],"/",[7,"viewportSize","y"]]],[13,"sdf",[1,"sdfRaw","/","scale"]],[13,"w1",[6,"std.max",[[1,"sharp","*",[5,"0.03125"]],[1,"pxH","*",[5,"1.5"]]]]],[13,"rb1",[6,"std.clamp",[[1,[1,"sdf","*",[4,"-",[5,"1"]]],"/","w1"],[5,"0"],[5,"1"]]]],[13,"refrStrength",[6,"glassRefrStrength",["sdf","thickness","volumetric"]]],[13,"rb2",[6,"glassBorderHighlight",["sdf","edgeSoftness","pxH","gradX","gradY","lightAngle","highlight"]]],[13,"blurredRgb",[6,"d.vec3f",[[7,"blurred","x"],[7,"blurred","y"],[7,"blurred","z"]]]],[13,"tintedRgb",[6,"glassTint",["blurredRgb","tintColor","tintIntensity","tintPreserveLuminosity"]]],[13,"specGlint",[6,"glassSpecular",["gradX","gradY","lightAngle","highlight","highlightSoftness","refrStrength"]]],[13,"fresnelRim",[6,"glassFresnelRim",["sdf","gradX","gradY","fresnel","fresnelSoftness","rb1","volumetric"]]],[13,"litR",[1,[1,[1,[7,"tintedRgb","x"],"+",[1,[7,"highlightColor","x"],"*","rb2"]],"+",[1,[7,"highlightColor","x"],"*","specGlint"]],"+",[1,[7,"fresnelColor","x"],"*","fresnelRim"]]],[13,"litG",[1,[1,[1,[7,"tintedRgb","y"],"+",[1,[7,"highlightColor","y"],"*","rb2"]],"+",[1,[7,"highlightColor","y"],"*","specGlint"]],"+",[1,[7,"fresnelColor","y"],"*","fresnelRim"]]],[13,"litB",[1,[1,[1,[7,"tintedRgb","z"],"+",[1,[7,"highlightColor","z"],"*","rb2"]],"+",[1,[7,"highlightColor","z"],"*","specGlint"]],"+",[1,[7,"fresnelColor","z"],"*","fresnelRim"]]],[13,"litA",[1,[7,"blurred","w"],"+","rb2"]],[13,"lighting",[6,"d.vec4f",["litR","litG","litB","litA"]]],[13,"transition",[6,"std.smoothstep",[[5,"0"],[5,"1"],"rb1"]]],[13,"composited",[6,"std.mix",["baseColor","lighting","transition"]]],[13,"cutoutAlpha",[6,"std.select",[[6,"d.f32",[[5,"1"]]],"transition",[1,"cutout",">",[5,"0.5"]]]]],[10,[6,"d.vec4f",[[7,"composited","x"],[7,"composited","y"],[7,"composited","z"],[1,[7,"composited","w"],"*","cutoutAlpha"]]]]]]},externals:{"std.max":()=>b,"std.clamp":()=>$,glassRefrStrength:()=>$c,glassBorderHighlight:()=>Af,"d.vec3f":()=>f,glassTint:()=>Sf,glassSpecular:()=>Mf,glassFresnelRim:()=>Pf,"d.vec4f":()=>x,"std.smoothstep":()=>re,"std.mix":()=>X,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({}));function YG(e,t,s,r,o){let{uniforms:n,propValues:i,ctx:d}=e,c=o?.volumetric??!1,_=o?.bakedGradients??!1,u=vt(c?1:0),m=ur(we(rw,"sdfSpaceUV",[n.center,n.scale,n.rotation,d.uv,d.aspect]),"glassSdfUV"),p=ur(t(m),"glassSurf"),y=p.member("r"),h,g;if(_)h=p.member("g"),g=p.member("b");else{let Q=t(we(Tf,"offsetUV",[m,vt(.01),vt(0)])),te=t(we(Tf,"offsetUV",[m,vt(0),vt(.01)])),ee=ur(we(ow,"glassGradient",[y,Q.member("r"),te.member("r")]),"glassGrad");h=ee.member("x"),g=ee.member("y")}let w=ur(we(nw,"glassLensUVs",[d.uv,n.center,y,n.scale,h,g,n.refraction,n.innerZoom,n.thickness,n.aberration,d.aspect,u]),"glassLens"),S=w.member("lensUV"),T=w.member("rUV"),A=w.member("bUV"),P=i.blur,U=typeof P=="number"?P>0:!0,D=i.aberration,O=typeof D=="number"?D>0:!0,L=(Q,te,ee,he)=>Q.sample(te.add(we(aw,"glassBlurOffset",[d.viewportSize,n.blur,vt(ee),vt(he)]))),G=(Q,te)=>{let ee=L(Q,te,Ya[0][0],Ya[0][1]);for(let he=1;he(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(t.x,t.y),o=__tsover_div(s.x,s.y),n=b(__tsover_div(o,r),1);return l(__tsover_mul(__tsover_div(r,o),n),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dims"},{type:"i",name:"vp"}],body:[0,[[13,"aspect",[1,[7,"dims","x"],"/",[7,"dims","y"]]],[13,"viewportAspect",[1,[7,"vp","x"],"/",[7,"vp","y"]]],[13,"coverScale",[6,"std.max",[[1,"viewportAspect","/","aspect"],[5,"1"]]]],[10,[6,"d.vec2f",[[1,[1,"aspect","/","viewportAspect"],"*","coverScale"],"coverScale"]]]]]},externals:{"std.max":()=>b,"d.vec2f":()=>l}})&&e.f)({})),XW=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(t.x,t.y),o=__tsover_div(s.x,s.y),n=oe(__tsover_div(o,r),1);return l(__tsover_mul(__tsover_div(r,o),n),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dims"},{type:"i",name:"vp"}],body:[0,[[13,"aspect",[1,[7,"dims","x"],"/",[7,"dims","y"]]],[13,"viewportAspect",[1,[7,"vp","x"],"/",[7,"vp","y"]]],[13,"containScale",[6,"std.min",[[1,"viewportAspect","/","aspect"],[5,"1"]]]],[10,[6,"d.vec2f",[[1,[1,"aspect","/","viewportAspect"],"*","containScale"],"containScale"]]]]]},externals:{"std.min":()=>oe,"d.vec2f":()=>l}})&&e.f)({})),HW=v.fn([],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(()=>{"use gpu";return l(1,1)}),{v:2,name:void 0,ast:{params:[],body:[0,[[10,[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),jW=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(t.x,t.y),o=__tsover_div(s.x,s.y),n=oe(oe(__tsover_div(o,r),1),oe(__tsover_div(s.x,t.x),__tsover_div(s.y,t.y)));return l(__tsover_mul(__tsover_div(r,o),n),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dims"},{type:"i",name:"vp"}],body:[0,[[13,"aspect",[1,[7,"dims","x"],"/",[7,"dims","y"]]],[13,"viewportAspect",[1,[7,"vp","x"],"/",[7,"vp","y"]]],[13,"containScale",[6,"std.min",[[1,"viewportAspect","/","aspect"],[5,"1"]]]],[13,"naturalScale",[6,"std.min",[[1,[7,"vp","x"],"/",[7,"dims","x"]],[1,[7,"vp","y"],"/",[7,"dims","y"]]]]],[13,"scaleDownScale",[6,"std.min",["containScale","naturalScale"]]],[10,[6,"d.vec2f",[[1,[1,"aspect","/","viewportAspect"],"*","scaleDownScale"],"scaleDownScale"]]]]]},externals:{"std.min":()=>oe,"d.vec2f":()=>l}})&&e.f)({})),KW=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_div(t.x,t.y),o=__tsover_div(s.x,s.y),n=oe(__tsover_div(s.x,t.x),__tsover_div(s.y,t.y));return l(__tsover_mul(__tsover_div(r,o),n),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dims"},{type:"i",name:"vp"}],body:[0,[[13,"aspect",[1,[7,"dims","x"],"/",[7,"dims","y"]]],[13,"viewportAspect",[1,[7,"vp","x"],"/",[7,"vp","y"]]],[13,"noneScale",[6,"std.min",[[1,[7,"vp","x"],"/",[7,"dims","x"]],[1,[7,"vp","y"],"/",[7,"dims","y"]]]]],[10,[6,"d.vec2f",[[1,[1,"aspect","/","viewportAspect"],"*","noneScale"],"noneScale"]]]]]},externals:{"std.min":()=>oe,"d.vec2f":()=>l}})&&e.f)({})),ZW=v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t.sub(l(.5,.5));return l(__tsover_div(r.x,s.x),__tsover_div(r.y,s.y)).add(l(.5,.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"uvScale"}],body:[0,[[13,"centeredUV",[6,[7,"uv","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"scaledUV",[6,"d.vec2f",[[1,[7,"centeredUV","x"],"/",[7,"uvScale","x"]],[1,[7,"centeredUV","y"],"/",[7,"uvScale","y"]]]]],[10,[6,[7,"scaledUV","add"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),QW=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(C(t.x,__tsover_sub(1,t.x),s>0),t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"mirror"}],body:[0,[[13,"mirroredX",[6,"std.select",[[7,"uv","x"],[1,[5,"1"],"-",[7,"uv","x"]],[1,"mirror",">",[5,"0"]]]]],[10,[6,"d.vec2f",["mirroredX",[7,"uv","y"]]]]]]},externals:{"std.select":()=>C,"d.vec2f":()=>l}})&&e.f)({})),JW=v.fn([x,l],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=y3(f(t.x,t.y,t.z)),o=s.x<0||s.x>1||s.y<0||s.y>1,n=C(t.w,0,o);return x(r.x,r.y,r.z,n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"color"},{type:"i",name:"uv"}],body:[0,[[13,"linear",[6,"srgbToLinear",[[6,"d.vec3f",[[7,"color","x"],[7,"color","y"],[7,"color","z"]]]]]],[13,"outOfBounds",[3,[3,[3,[1,[7,"uv","x"],"<",[5,"0"]],"||",[1,[7,"uv","x"],">",[5,"1"]]],"||",[1,[7,"uv","y"],"<",[5,"0"]]],"||",[1,[7,"uv","y"],">",[5,"1"]]]],[13,"alpha",[6,"std.select",[[7,"color","w"],[5,"0"],"outOfBounds"]]],[10,[6,"d.vec4f",[[7,"linear","x"],[7,"linear","y"],[7,"linear","z"],"alpha"]]]]]},externals:{srgbToLinear:()=>y3,"d.vec3f":()=>f,"std.select":()=>C,"d.vec4f":()=>x}})&&e.f)({}));var eO=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=z(s),i=__tsover_sub(r,t),d=o,c=__tsover_mul(r,2),_=$(__tsover_div(__tsover_add(__tsover_mul(n,d),__tsover_mul(i,c)),b(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c)),1e-9)),0,1),u=__tsover_sub(n,__tsover_mul(d,_)),m=__tsover_sub(i,__tsover_mul(c,_)),p=__tsover_sub(n,__tsover_mul(d,$(__tsover_div(n,b(d,1e-9)),0,1))),y=__tsover_sub(i,c),h=oe(__tsover_add(__tsover_mul(u,u),__tsover_mul(m,m)),__tsover_add(__tsover_mul(p,p),__tsover_mul(y,y))),g=oe(__tsover_sub(__tsover_mul(i,d),__tsover_mul(n,c)),__tsover_sub(c,i))>0;return C(be(h),-be(h),g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"n"},{type:"i",name:"hl"},{type:"i",name:"hw"}],body:[0,[[13,"px",[6,"std.abs",["n"]]],[13,"py",[1,"hl","-","t"]],[13,"qx","hw"],[13,"qy",[1,"hl","*",[5,"2"]]],[13,"k",[6,"std.clamp",[[1,[1,[1,"px","*","qx"],"+",[1,"py","*","qy"]],"/",[6,"std.max",[[1,[1,"qx","*","qx"],"+",[1,"qy","*","qy"]],[5,"1e-9"]]]],[5,"0"],[5,"1"]]]],[13,"ax",[1,"px","-",[1,"qx","*","k"]]],[13,"ay",[1,"py","-",[1,"qy","*","k"]]],[13,"bx",[1,"px","-",[1,"qx","*",[6,"std.clamp",[[1,"px","/",[6,"std.max",["qx",[5,"1e-9"]]]],[5,"0"],[5,"1"]]]]]],[13,"by",[1,"py","-","qy"]],[13,"dSq",[6,"std.min",[[1,[1,"ax","*","ax"],"+",[1,"ay","*","ay"]],[1,[1,"bx","*","bx"],"+",[1,"by","*","by"]]]]],[13,"sA",[1,[1,"py","*","qx"],"-",[1,"px","*","qy"]]],[13,"sB",[1,"qy","-","py"]],[13,"inside",[1,[6,"std.min",["sA","sB"]],">",[5,"0"]]],[10,[6,"std.select",[[6,"std.sqrt",["dSq"]],[4,"-",[6,"std.sqrt",["dSq"]]],"inside"]]]]]},externals:{"std.abs":()=>z,"std.clamp":()=>$,"std.max":()=>b,"std.min":()=>oe,"std.select":()=>C,"std.sqrt":()=>be}})&&e.f)({})).$name("agentArrowSdf"),tO=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(t,$(t,-r,r));return __tsover_sub(be(__tsover_add(__tsover_mul(n,n),__tsover_mul(s,s))),o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"n"},{type:"i",name:"hl"},{type:"i",name:"r"}],body:[0,[[13,"tc",[1,"t","-",[6,"std.clamp",["t",[4,"-","hl"],"hl"]]]],[10,[1,[6,"std.sqrt",[[1,[1,"tc","*","tc"],"+",[1,"n","*","n"]]]],"-","r"]]]]},externals:{"std.clamp":()=>$,"std.sqrt":()=>be}})&&e.f)({})).$name("agentCapsuleSdf"),sO=v.fn([a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_sub(z(t),r),i=__tsover_sub(z(s),o),d=b(n,0),c=b(i,0);return __tsover_add(be(__tsover_add(__tsover_mul(d,d),__tsover_mul(c,c))),oe(b(n,i),0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"t"},{type:"i",name:"n"},{type:"i",name:"hl"},{type:"i",name:"hw"}],body:[0,[[13,"qx",[1,[6,"std.abs",["t"]],"-","hl"]],[13,"qy",[1,[6,"std.abs",["n"]],"-","hw"]],[13,"ox",[6,"std.max",["qx",[5,"0"]]]],[13,"oy",[6,"std.max",["qy",[5,"0"]]]],[10,[1,[6,"std.sqrt",[[1,[1,"ox","*","ox"],"+",[1,"oy","*","oy"]]]],"+",[6,"std.min",[[6,"std.max",["qx","qy"]],[5,"0"]]]]]]]},externals:{"std.abs":()=>z,"std.max":()=>b,"std.sqrt":()=>be,"std.min":()=>oe}})&&e.f)({})).$name("agentBoxSdf");var rO=v.fn([l,l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=j(t),i=C(l(0,0),t.div(b(n,1e-5)).mul(r),n>1e-5).sub(s),d=j(i);return C(i,i.div(b(d,1e-5)).mul(o),d>o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"dir"},{type:"i",name:"vel"},{type:"i",name:"maxSpeed"},{type:"i",name:"maxForce"}],body:[0,[[13,"len",[6,"std.length",["dir"]]],[13,"desired",[6,"std.select",[[6,"d.vec2f",[[5,"0"],[5,"0"]]],[6,[7,[6,[7,"dir","div"],[[6,"std.max",["len",[5,"0.00001"]]]]],"mul"],["maxSpeed"]],[1,"len",">",[5,"0.00001"]]]]],[13,"steer",[6,[7,"desired","sub"],["vel"]]],[13,"sl",[6,"std.length",["steer"]]],[10,[6,"std.select",["steer",[6,[7,[6,[7,"steer","div"],[[6,"std.max",["sl",[5,"0.00001"]]]]],"mul"],["maxForce"]],[1,"sl",">","maxForce"]]]]]]},externals:{"std.length":()=>j,"std.select":()=>C,"d.vec2f":()=>l,"std.max":()=>b}})&&e.f)({})).$name("agentReynoldsSteer"),oO=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(.82,__tsover_mul(Gs(__tsover_add(__tsover_mul(t,.61803),.13)),.4))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fi"}],body:[0,[[10,[1,[5,"0.82"],"+",[1,[6,"noise.hash11",[[1,[1,"fi","*",[5,"0.61803"]],"+",[5,"0.13"]]]],"*",[5,"0.4"]]]]]]},externals:{"noise.hash11":()=>Gs}})&&e.f)({})).$name("agentCruiseVariation"),nO=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_add(.55,__tsover_mul(Gs(__tsover_add(__tsover_mul(t,1.91),2.53)),.7))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fi"}],body:[0,[[10,[1,[5,"0.55"],"+",[1,[6,"noise.hash11",[[1,[1,"fi","*",[5,"1.91"]],"+",[5,"2.53"]]]],"*",[5,"0.7"]]]]]]},externals:{"noise.hash11":()=>Gs}})&&e.f)({})).$name("agentPresenceVariation"),aO=v.fn([x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=$(t.w,0,1),o=__tsover_add(r,__tsover_mul(s.w,__tsover_sub(1,r))),n=t.xyz.mul(r).add(s.xyz.mul(__tsover_mul(s.w,__tsover_sub(1,r)))).div(b(o,1e-4));return x(n.x,n.y,n.z,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"c"}],body:[0,[[13,"pa",[6,"std.clamp",[[7,"p","w"],[5,"0"],[5,"1"]]]],[13,"outA",[1,"pa","+",[1,[7,"c","w"],"*",[1,[5,"1"],"-","pa"]]]],[13,"rgb",[6,[7,[6,[7,[6,[7,[7,"p","xyz"],"mul"],["pa"]],"add"],[[6,[7,[7,"c","xyz"],"mul"],[[1,[7,"c","w"],"*",[1,[5,"1"],"-","pa"]]]]]],"div"],[[6,"std.max",["outA",[5,"0.0001"]]]]]],[10,[6,"d.vec4f",[[7,"rgb","x"],[7,"rgb","y"],[7,"rgb","z"],"outA"]]]]]},externals:{"std.clamp":()=>$,"std.max":()=>b,"d.vec4f":()=>x}})&&e.f)({})).$name("agentStraightAlphaOver"),iO=v.fn([l,l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=se(s,t);return C(t.mul(__tsover_mul(2,o)).sub(s),t,r>.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rhat"},{type:"i",name:"axis"},{type:"i",name:"fieldType"}],body:[0,[[13,"mdotr",[6,"std.dot",["axis","rhat"]]],[13,"dipoleB",[6,[7,[6,[7,"rhat","mul"],[[1,[5,"2"],"*","mdotr"]]],"sub"],["axis"]]],[10,[6,"std.select",["dipoleB","rhat",[1,"fieldType",">",[5,"0.5"]]]]]]]},externals:{"std.dot":()=>se,"std.select":()=>C}})&&e.f)({})).$name("agentDipoleOrRadialField"),dO=v.fn([a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";return __tsover_mul(t,Y(__tsover_mul(2,__tsover_sub(s,r))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"k"},{type:"i",name:"target"},{type:"i",name:"theta"}],body:[0,[[10,[1,"k","*",[6,"std.sin",[[1,[5,"2"],"*",[1,"target","-","theta"]]]]]]]]},externals:{"std.sin":()=>Y}})&&e.f)({})).$name("agentNematicTorque"),cO=v.fn([x,a,x,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(r.w,o),i=s>=n,d=b(s,n),c=C(f(r.x,r.y,r.z),f(t.x,t.y,t.z),i);return x(c.x,c.y,c.z,d)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"col"},{type:"i",name:"curA"},{type:"i",name:"prev"},{type:"i",name:"trails"}],body:[0,[[13,"prevA",[1,[7,"prev","w"],"*","trails"]],[13,"win",[1,"curA",">=","prevA"]],[13,"outA",[6,"std.max",["curA","prevA"]]],[13,"outRGB",[6,"std.select",[[6,"d.vec3f",[[7,"prev","x"],[7,"prev","y"],[7,"prev","z"]]],[6,"d.vec3f",[[7,"col","x"],[7,"col","y"],[7,"col","z"]]],"win"]]],[10,[6,"d.vec4f",[[7,"outRGB","x"],[7,"outRGB","y"],[7,"outRGB","z"],"outA"]]]]]},externals:{"std.max":()=>b,"std.select":()=>C,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})).$name("agentTrailMaxDecay"),_O=v.fn([f,x,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return f(__tsover_add(__tsover_add(__tsover_mul(s.x,t.x),__tsover_mul(s.y,t.y)),__tsover_mul(s.z,t.z)),__tsover_add(__tsover_add(__tsover_mul(r.x,t.x),__tsover_mul(r.y,t.y)),__tsover_mul(r.z,t.z)),__tsover_add(__tsover_add(__tsover_mul(o.x,t.x),__tsover_mul(o.y,t.y)),__tsover_mul(o.z,t.z)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pw"},{type:"i",name:"rowX"},{type:"i",name:"rowY"},{type:"i",name:"rowZ"}],body:[0,[[10,[6,"d.vec3f",[[1,[1,[1,[7,"rowX","x"],"*",[7,"pw","x"]],"+",[1,[7,"rowX","y"],"*",[7,"pw","y"]]],"+",[1,[7,"rowX","z"],"*",[7,"pw","z"]]],[1,[1,[1,[7,"rowY","x"],"*",[7,"pw","x"]],"+",[1,[7,"rowY","y"],"*",[7,"pw","y"]]],"+",[1,[7,"rowY","z"],"*",[7,"pw","z"]]],[1,[1,[1,[7,"rowZ","x"],"*",[7,"pw","x"]],"+",[1,[7,"rowZ","y"],"*",[7,"pw","y"]]],"+",[1,[7,"rowZ","z"],"*",[7,"pw","z"]]]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})).$name("agentApplyCameraRows"),lO=v.fn([f,x,x,x],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";return f(__tsover_add(__tsover_add(__tsover_mul(s.x,t.x),__tsover_mul(r.x,t.y)),__tsover_mul(o.x,t.z)),__tsover_add(__tsover_add(__tsover_mul(s.y,t.x),__tsover_mul(r.y,t.y)),__tsover_mul(o.y,t.z)),__tsover_add(__tsover_add(__tsover_mul(s.z,t.x),__tsover_mul(r.z,t.y)),__tsover_mul(o.z,t.z)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"},{type:"i",name:"rowX"},{type:"i",name:"rowY"},{type:"i",name:"rowZ"}],body:[0,[[10,[6,"d.vec3f",[[1,[1,[1,[7,"rowX","x"],"*",[7,"v","x"]],"+",[1,[7,"rowY","x"],"*",[7,"v","y"]]],"+",[1,[7,"rowZ","x"],"*",[7,"v","z"]]],[1,[1,[1,[7,"rowX","y"],"*",[7,"v","x"]],"+",[1,[7,"rowY","y"],"*",[7,"v","y"]]],"+",[1,[7,"rowZ","y"],"*",[7,"v","z"]]],[1,[1,[1,[7,"rowX","z"],"*",[7,"v","x"]],"+",[1,[7,"rowY","z"],"*",[7,"v","y"]]],"+",[1,[7,"rowZ","z"],"*",[7,"v","z"]]]]]]]]},externals:{"d.vec3f":()=>f}})&&e.f)({})).$name("agentApplyCameraRowsT"),jm=ut({x0:R,x1:R,y0:R,y1:R,fx:a,fy:a}).$name("AgentBilinearFrame"),uO=v.fn([l,l],jm)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_sub(__tsover_mul(t.x,s.x),.5),o=__tsover_sub(__tsover_mul(t.y,s.y),.5),n=q(r),i=q(o);return jm({x0:R($(n,a(0),__tsover_sub(s.x,1))),x1:R($(__tsover_add(n,1),a(0),__tsover_sub(s.x,1))),y0:R($(i,a(0),__tsover_sub(s.y,1))),y1:R($(__tsover_add(i,1),a(0),__tsover_sub(s.y,1))),fx:__tsover_sub(r,n),fy:__tsover_sub(o,i)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv01"},{type:"i",name:"dims"}],body:[0,[[13,"cu",[1,[1,[7,"uv01","x"],"*",[7,"dims","x"]],"-",[5,"0.5"]]],[13,"cv",[1,[1,[7,"uv01","y"],"*",[7,"dims","y"]],"-",[5,"0.5"]]],[13,"cx0",[6,"std.floor",["cu"]]],[13,"cy0",[6,"std.floor",["cv"]]],[10,[6,"BilinearFrame",[[104,{x0:[6,"d.u32",[[6,"std.clamp",["cx0",[6,"d.f32",[[5,"0"]]],[1,[7,"dims","x"],"-",[5,"1"]]]]]],x1:[6,"d.u32",[[6,"std.clamp",[[1,"cx0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],[1,[7,"dims","x"],"-",[5,"1"]]]]]],y0:[6,"d.u32",[[6,"std.clamp",["cy0",[6,"d.f32",[[5,"0"]]],[1,[7,"dims","y"],"-",[5,"1"]]]]]],y1:[6,"d.u32",[[6,"std.clamp",[[1,"cy0","+",[5,"1"]],[6,"d.f32",[[5,"0"]]],[1,[7,"dims","y"],"-",[5,"1"]]]]]],fx:[1,"cu","-","cx0"],fy:[1,"cv","-","cy0"]}]]]]]]},externals:{"std.floor":()=>q,BilinearFrame:()=>jm,"d.u32":()=>R,"std.clamp":()=>$,"d.f32":()=>a}})&&e.f)({})).$name("agentBilinearTexelFrame"),Eb=v.fn([l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=se(t,t);return ct(__tsover_mul(__tsover_div(r,b(s,1e-5)),-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"delta"},{type:"i",name:"radSq"}],body:[0,[[13,"dl",[6,"std.dot",["delta","delta"]]],[10,[6,"std.exp",[[1,[1,"dl","/",[6,"std.max",["radSq",[5,"0.00001"]]]],"*",[4,"-",[5,"1"]]]]]]]]},externals:{"std.dot":()=>se,"std.exp":()=>ct,"std.max":()=>b}})&&e.f)({})).$name("agentCursorFalloff"),mO=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=b(j(t),1e-4);return t.div(o).mul(__tsover_mul(Eb(t,s),r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"delta"},{type:"i",name:"radSq"},{type:"i",name:"force"}],body:[0,[[13,"dl",[6,"std.max",[[6,"std.length",["delta"]],[5,"0.0001"]]]],[10,[6,[7,[6,[7,"delta","div"],["dl"]],"mul"],[[1,[6,"cursorFalloff",["delta","radSq"]],"*","force"]]]]]]},externals:{"std.max":()=>b,"std.length":()=>j,cursorFalloff:()=>Eb}})&&e.f)({})).$name("agentCursorMagnet");var Rn=e=>e;function dw(){return{default:null,transform:Rn,compileTimeWhen:(e,t)=>{let s=r=>{let o=Array.isArray(r)?r.length:0;return o>1?o:0};return s(e)!==s(t)},description:"Multi-stop gradient colors (overrides Color A / Color B when set)",ui:{type:"gradient-stops",label:"Colors",group:"Colors"}}}var Ka=e=>e;function LG(e){let t=e?.ui;return!t||t.type!=="list"||!t.item||typeof t.maxItems!="number"?null:{item:t.item,maxItems:t.maxItems,minItems:t.minItems,itemLabel:t.itemLabel}}var dy=(e,t)=>`${e}_${t}`,cy=e=>`${e}Count`;function _1(e){return!!e&&typeof e=="object"&&e.type==="mouse-position"}var cw=(e,t,s)=>`${e}.${t}.${s}`;function _y(e){let t=/^([^.]+)\.(\d+)\.([^.]+)$/.exec(e);return t?{prop:t[1],index:Number(t[2]),field:t[3]}:null}function ly(e,t,s){return(Array.isArray(e)?e.slice(0,t.maxItems):[]).map((r,o)=>{let n=r&&typeof r=="object"?r:{},i={};for(let[d,c]of Object.entries(t.item)){let _=n[d]===void 0||n[d]===null?c.default:n[d];i[d]=IG(c.kind,_,o,d,s)}return i})}function IG(e,t,s,r,o){switch(e){case"position":{if(_1(t)){let i=o.drivenPosition?.(s,r,t);return i||{x:typeof t.x=="number"?t.x:t.originX??.5,y:1-(typeof t.y=="number"?t.y:t.originY??.5)}}let n=ho(t);return{x:n.x,y:n.y}}case"color":return o.color(typeof t=="string"?t:"#ffffff");case"boolean":return t?1:-1;default:return typeof t=="number"?t:0}}function DG(e){return typeof e=="number"?[e,0,0,0]:Array.isArray(e)?e:[e.x,e.y,0,0]}function uy(e,t){let s={};for(let r of Object.keys(t.item)){let o=new Array(t.maxItems*4).fill(0);for(let n=0;ns&&typeof s=="object"&&Object.entries(t.item).some(([r,o])=>o.kind==="position"&&_1(s[r]))):!1}var _w="p3-linear";function lw(e){_w=e;try{N0(e)}catch{}}function FG(e){try{let t=new Sr(e),s=_w==="srgb"?"srgb-linear":"p3-linear",r=t.to(s).coords,o=Number(t.alpha);return{r:Number.isFinite(r?.[0])?r[0]:0,g:Number.isFinite(r?.[1])?r[1]:0,b:Number.isFinite(r?.[2])?r[2]:0,a:Number.isFinite(o)?o:1}}catch{return{r:0,g:0,b:0,a:0}}}function uw(e){let{r:t,g:s,b:r,a:o}=FG(e);return x(t,s,r,o)}function Kc(e){let t=uw(e);return[t.x,t.y,t.z,t.w]}function kb(e,t){if(typeof e=="number")return e;if(typeof e=="object"&&e!==null)return e.value;let s=e.toLowerCase().trim();if(t){if(s==="top")return 0;if(s==="bottom")return 1;if(s==="center")return .5}else{if(s==="left")return 0;if(s==="right")return 1;if(s==="center")return .5}return console.warn(`Invalid position value: ${e}. Defaulting to center.`),.5}function BG(e){let t=.5,s=.5;if(typeof e=="string"){let r=e.toLowerCase().trim().split(/\s+/);r.includes("left")?t=0:r.includes("right")?t=1:(r.includes("center")||r.length===1&&(r[0]==="top"||r[0]==="bottom"))&&(t=.5),r.includes("top")?s=0:r.includes("bottom")?s=1:(r.includes("center")||r.length===1&&(r[0]==="left"||r[0]==="right"))&&(s=.5),r.length===1&&r[0]==="center"&&(t=.5,s=.5)}else typeof e=="object"&&e!==null?(t=kb(e.x,!1),s=kb(e.y,!0)):console.warn(`Invalid position value provided: ${e}. Defaulting to center.`);return l(t,1-s)}function mw(e){if(e)return e===ts?uw:e===ho?BG:e===Rn?Rn:e===Ka?Ka:e}function py(e,t){e>0,t>0}function Zc(e){return e!=null&&typeof e=="object"&&typeof e.value=="number"&&(e.unit==="px"||e.unit==="uv")}function fy(e){if(!e)return;let t;for(let[s,r]of Object.entries(e)){let o=r?.ui?.dimensional;(o==="canvas-height"||o==="half-canvas-height"||o==="canvas-width"||o==="count-canvas-height")&&(t??=new Map).set(s,o)}return t}function hd(e,t){let s=e?.propBindings,r=new Set,o=new Map;if(s)for(let n of["x","y","width","height"]){let i=s[n];i&&(i.as==="position-x"||i.as==="position-y"?r.add(i.prop):(i.as==="canvas-height"||i.as==="half-canvas-height")&&o.set(i.prop,i.as))}if(t)for(let[n,i]of t)o.set(n,i);return r.size>0||o.size>0?{positionProps:r,sizeProps:o}:null}var WG=e=>({ox:e.includes("left")?"start":e.includes("right")?"end":"center",oy:e.includes("top")?"start":e.includes("bottom")?"end":"center"}),OG=(e,t,s)=>t==="start"?e+s:t==="end"?e-s:e;function Uc(e,t,s,r){let o=(n,i)=>Zc(n)?n.unit==="px"?n.value:n.value*i:typeof n=="number"?n*i:0;return e.as==="canvas-height"?o(t,r):e.as==="half-canvas-height"?o(t,2*r):e.as==="canvas-width"?o(t,s):0}function vy(e,t,s,r){if(e?.computeBounds){let d=e.computeBounds(t,s,r);return{hwx:s>0?d.widthPx/s/2:0,hhy:r>0?d.heightPx/r/2:0}}let o=e?.propBindings,n=0,i=0;return o?.width&&s>0&&(n=Uc(o.width,t[o.width.prop],s,r)/(2*s)),o?.height&&r>0&&(i=Uc(o.height,t[o.height.prop],s,r)/(2*r)),{hwx:n,hhy:i}}function $b(e,t,s,r){let o;if(Zc(e))if(e.unit==="px"){let n=t>0?e.value/t:0;o=s==="end"?1-n:s==="center"?.5+n:n}else o=e.value;else if(typeof e=="number")o=e;else return e;return OG(o,s,r)}function VG(e,t,s,r){return e.unit!=="px"?e.value:t==="canvas-width"?s>0?e.value/s:e.value:r<=0?e.value:t==="count-canvas-height"?e.value>0?r/e.value:e.value:t==="canvas-height"?e.value/r:e.value/(2*r)}function Qc(e,t,s,r,o,n,i,d){let c=hd(e,i);if(!c)return s;let{ox:_,oy:u}=WG(r);if(c.positionProps.has(t))return!s||typeof s!="object"?s:{...s,x:$b(s.x,o,_,d?.hwx??0),y:$b(s.y,n,u,d?.hhy??0)};let m=c.sizeProps.get(t);return m&&Zc(s)?VG(s,m,o,n):s}function yy(e,t,s){let r=hd(e,s);return r?r.positionProps.has(t)||r.sizeProps.has(t):!1}function Km(e){let{body:t,build:s,args:r,compose:o,identity:n,missingChildMessage:i,setup:d,...c}=e;if(!t&&!s)throw new Error(`definePointwiseFilter(${e.name}): needs a body or a build`);return{...c,requiresChild:!0,fragment:u=>{if(!u.childNode)return i&&console.error(i),xr;let m=u;if(hy(n,m))return m.childNode;d?.(m);let p;if(s)p=s(m);else{let{fn:y,hint:h}=typeof t=="function"?t(m.propValues):t;p=we(y,h,[m.childNode,...r?.(m)??[]])}return o?o(p,m):p}}}function hy(e,t){if(!e)return!1;for(let s of e.props)if(t.getMapInfo?.(s))return!1;return e.when(t.propValues)}function Ub(e){let{build:t,resultAlpha:s,identity:r,missingChildMessage:o,setup:n,...i}=e;return{...i,requiresRTT:!0,requiresChild:!0,fragment:c=>{if(!c.childNode)return o&&console.error(o),xr;let _=c.convertToTexture(c.childNode),u=y=>we(dn,"unpremultiplyAlpha",[_.sample(y)]),m={...c,childNode:c.childNode,texture:_,sampleStraight:u};if(hy(r,c))return u(c.ctx.uv);n?.(m);let p=t(m);return s==="straight"?p:we(dn,"unpremultiplyAlpha",[p])}}}function Cb(e){return"uv"in e?e:{uv:e}}function NG(e,t={}){let s=typeof e=="function"?e:()=>e,r=t.edges??"prop",o=n=>r==="none"?null:typeof r=="number"?r:n.edges??0;return{fragment:n=>{let{childNode:i,ctx:d,convertToTexture:c,propValues:_}=n;if(!i)return t.requireChildMessage&&console.error(t.requireChildMessage),xr;let u=c(i),m=o(_),p=Cb(s(n).map(d.uv,d.aspect)),y=m===null?u.sample(p.uv):t.resample==="bilinear"?Gi(p.uv,h=>u.sample(h),m):lz(u,p.uv,m);return we(dn,"unpremultiplyAlpha",[p.coverage?Ws(y.member("rgb"),y.member("a").mul(p.coverage)):y])},uvRemap:n=>{if(t.uvRemapIdentityWhen?.(n))return{uv:n.uv,mask:n.mask};let i=o(n.propValues),d=Cb(s(n).map(n.uv,n.aspect)),c=i===null?{uv:d.uv,mask:n.mask}:_z(d.uv,n.mask,i);return d.coverage?{uv:c.uv,mask:c.mask.mul(d.coverage)}:c}}}function qG(e,t){let s={type:"position",label:t?.label??"Center",group:t?.group??"Position"};return t?.units&&(s.units=[...t.units]),{default:t?.default??{x:.5,y:.5},transform:ho,description:e,ui:s}}function XG(){return{default:"center",description:"Reference edge the center position is measured from (center default). Lets you pin the shape relative to a corner or the canvas centre.",ui:{type:"origin",label:"Origin",group:"Position"}}}function HG(e){return{softness:{default:0,description:e?.softnessDescription??"Edge softness for antialiasing",ui:{type:"range",min:0,max:.1,step:.001,label:"Softness",group:"Effect"}},strokeThickness:{default:0,description:"Stroke thickness. Zero means no stroke.",ui:{type:"range",min:0,max:e?.strokeThicknessMax??.2,step:.005,label:"Stroke Thickness",group:"Stroke"}},strokeColor:{default:"#000000",transform:ts,description:e?.strokeColorDescription??"Color of the stroke outline",ui:{type:"color",label:"Stroke Color",group:"Colors"}},strokePosition:{default:"center",transform:q0,description:e?.strokePositionDescription??"Position of the stroke relative to the shape edge",ui:{type:"select",options:[{label:"Outside",value:"outside"},{label:"Center",value:"center"},{label:"Inside",value:"inside"}],label:"Stroke Position",group:"Stroke"}}}}function jG(e){return{default:"linear",transform:ir,compileTime:!0,description:e?.description??"Color space for blending fill and stroke colors",ui:{type:"select",options:Ho,label:"Color Blending",group:"Colors"}}}var KG={refraction:{default:.5,description:"How strongly the shell bends what's seen through or inside it",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Refraction",group:"Glass"}},dispersion:{default:.25,description:"Spectral splitting at the shell \u2014 rainbow fringes where light bends hardest",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Dispersion",group:"Glass"}},thickness:{default:.2,description:"Shell depth \u2014 how far inward from the edge the shell's optics extend",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Thickness",group:"Glass"}},environment:{default:1,description:"Strength of the studio lighting reflected in the shell",ui:{type:["range","map"],min:0,max:2,step:.01,label:"Environment",group:"Glass"}},envRotation:{default:0,description:"Rotates the reflected studio \u2014 spins where the bright reflections fall",ui:{type:"range",min:0,max:360,step:1,label:"Env Rotation",group:"Glass"}},lightAngle:{default:315,description:"Direction of the key light, in degrees",ui:{type:"range",min:0,max:360,step:1,label:"Light Angle",group:"Glass"}},highlight:{default:1,description:"Sharp key-light glint on the shell",ui:{type:["range","map"],min:0,max:2,step:.01,label:"Highlight",group:"Highlight"}},highlightColor:{default:"#ffffff",transform:ts,description:"Color of the key-light highlight",ui:{type:"color",label:"Highlight Color",group:"Highlight"}},highlightSoftness:{default:.5,description:"Specular highlight softness \u2014 lower is a tighter, sharper glint",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Highlight Softness",group:"Highlight"}},fresnel:{default:.1,description:"Fresnel rim glow \u2014 the luminous edge where the shell turns away from view",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Fresnel",group:"Fresnel"}},fresnelSoftness:{default:.1,description:"Fresnel rim width \u2014 higher values spread the glow further inward",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Fresnel Softness",group:"Fresnel"}},fresnelColor:{default:"#ffffff",transform:ts,description:"Color of the fresnel rim glow",ui:{type:"color",label:"Fresnel Color",group:"Fresnel"}},edgeSoftness:{default:.05,description:"Softness of the shape boundary edge",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Edge Softness",group:"Glass"}}};function xd(e){let t={};for(let s of Object.keys(e)){let r=e[s];if(!r)continue;let o=KG[s];t[s]=r===!0?o:{...o,...r,ui:{...o.ui,...r.ui??{}}}}return t}function ZG(e){return{default:0,description:e,ui:{type:"range",min:0,max:360,step:1,label:"Rotation",group:"Shape"}}}function QG(e){return{default:"#ffffff",transform:ts,description:e,ui:{type:"color",label:"Color",group:"Colors"}}}function JG(e,t){if(e.custom)return e.custom;let s=e.size.as??"half-canvas-height",r={x:{prop:"center",as:"position-x"},y:{prop:"center",as:"position-y"},width:{prop:e.size.width,as:s},height:{prop:e.size.height,as:s}};return t&&(r.rotation={prop:"rotation",as:"degrees"}),{propBindings:r}}function eY(e,t,s){if(!t)return e;let r=Object.keys(e).filter(i=>!t.includes(i)),o=t.filter(i=>!(i in e));if(r.length||o.length)throw new Error(`defineSdfShapeShader(${s}): propOrder must list every prop exactly once (missing: ${r.join(", ")||"none"}; unknown: ${o.join(", ")||"none"})`);let n={};for(let i of t)n[i]=e[i];return n}function tY(e){let t=e.rotatable!==!1,s=HG(e.stroke),r={origin:XG(),color:QG(e.colorDescription),center:qG(e.centerDescription,{units:["%","px"],...e.centerLabel?{label:e.centerLabel}:{}}),...e.shapeProps,...t?{rotation:ZG(e.rotationDescription??"Rotation in degrees")}:{},softness:s.softness,strokeThickness:s.strokeThickness,strokeColor:s.strokeColor,strokePosition:s.strokePosition,colorSpace:jG(e.colorSpaceDescription?{description:e.colorSpaceDescription}:void 0),...e.propOverrides};return{name:e.name,category:e.category??"Shapes",description:e.description,acceptsUVContext:!0,boundingBoxDeclaration:JG(e.bounds,t),props:eY(r,e.propOrder,e.name),fragment:o=>{let{uniforms:n,ctx:i,propValues:d}=o,c=o.uvContext??i.uv,_=d.colorSpace??0;return S7(ur(sY(e,n,c,i.aspect),"shapeMask"),n.color,n.strokeColor,_)}}}function sY(e,t,s,r){let o=t.rotation??vd("0f"),n=ur(we(w7,"shapeLocalCoords",[t.center,o,s,r]),"shapeLocal"),i=d=>{let c=t[d];if(!c)throw new Error(`defineSdfShapeShader(${e.name}): distance reads unknown prop '${d}'`);return c};return we(T7,"strokeMaskFromSdf",[e.distance({x:n.member("x"),y:n.member("y")},i),t.softness,t.strokeThickness,t.strokePosition])}function zt(e){return{kind:"prop",name:e}}var Jc=class Ef{constructor(t){this.node=t}times(t){return new Ef({kind:"mul",a:this.node,b:t instanceof Ef?t.node:t})}};function rY(e){return{uv:e.uvContext??e.ctx.uv,viewport:e.effectiveViewportSize??e.ctx.viewportSize}}function Dt(e,t){let s=t.uniforms[e.name];if(!s)throw new Error(`std: effect binds unknown prop '${e.name}'`);return s}function od(e,t){let s=e instanceof Jc?e.node:e;switch(s.kind){case"prop":return Dt(s,t);case"mul":return od(s.a,t).mul(od(s.b,t));case"radialMask":if(!t.ctx)throw new Error("std: radialMask needs a fragment host (warp slots have no ctx)");return we(oR,"radialFalloffMask",[t.ctx.uv,t.ctx.aspect,Dt(s.center,t),Dt(s.radius,t),Dt(s.falloff,t)]);case"signal":return s.build(t)}}function oY(e,t){if(typeof e=="number")return vt(e);if(e instanceof Jc)return od(e,t);switch(e.kind){case"prop":return Dt(e,t);case"ctx":if(!t.ctx)throw new Error(`std: ctx.${e.name} needs a fragment host (warp slots have no ctx)`);return t.ctx[e.name];default:return od(e,t)}}function xy(e,t,s){let r={},o=e.boundingBoxDeclaration,n=fy(e.props),i=nY(e.props,t);for(let[d,c]of Object.entries(e.props)){let _=c.transform;if(_===Rn){aY(r,d,c,t[d],i);continue}if(_===Ka){iY(r,d,c,t[d]);continue}let u=t[d],m=u;m==null&&(m=c.default),m==null&&(console.error(`[Shaders] Uniform "${d}" is null/undefined after fallback. PropConfig:`,{propName:d,initialValue:u,default:c.default,hasTransform:!!_}),m=0);let p=mw(_),y=yy(o,d,n),h=!p&&!y&&(typeof m=="string"||typeof m=="object"&&m!==null&&!Array.isArray(m));r[d]={value:m,transform:p,compileTime:c.compileTime||!1,...c.compileTimeWhen?{compileTimeWhen:c.compileTimeWhen,_lastCompiledValue:u??c.default}:{},...y?{_rawDimensional:u}:{},...h?{cpu:!0}:{}}}return r}function nY(e,t){for(let[s,r]of Object.entries(e))if(r.transform===ir){let o=t[s]??r.default;return typeof o=="string"?ir(o):0}return 0}function aY(e,t,s,r,o){let n=r??null,i=jv(n,Kc),d=Kv(i.colors,i.stopCount,o);e[t]={value:n,transform:Rn,cpu:!0,compileTime:s.compileTime||!1,...s.compileTimeWhen?{compileTimeWhen:s.compileTimeWhen,_lastCompiledValue:n??s.default}:{}},e.colorsArray={value:i.colors,schema:pt(x,8)},e.positionsArray={value:i.positions,schema:pt(x,8/4)},e.convertedColorsArray={value:d,schema:pt(f,8)},e.stopCount={value:i.stopCount,schema:a}}function iY(e,t,s,r){let o=LG(s);if(!o){console.error(`[Shaders] List prop "${t}" has no item spec in its ui config`);return}let n=ly(r??s.default,o,{color:Kc}),i=uy(n,o);e[t]={value:n,transform:Ka,cpu:!0,compileTime:s.compileTime||!1,_rawList:r??s.default,_listSpec:o};for(let[d,c]of Object.entries(i.fields))e[dy(t,d)]={value:c,schema:pt(x,o.maxItems)};e[cy(t)]={value:i.count,schema:a}}var Li=ut({x0:Z,x1:Z,y0:Z,y1:Z}).$name("SplatWindow"),pO=v.fn([l,a,a,a],Li)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=b(r,1e-5),i=Z(q(__tsover_mul(__tsover_div(t.x,n),o))),d=Z(q(__tsover_mul(t.y,o))),c=Z(cc(__tsover_div(__tsover_mul(s,o),n))),_=Z(cc(__tsover_mul(s,o))),u=__tsover_sub(Z(o),1);return Li({x0:b(__tsover_sub(i,c),0),x1:oe(__tsover_add(i,c),u),y0:b(__tsover_sub(d,_),0),y1:oe(__tsover_add(d,_),u)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"pos"},{type:"i",name:"reach"},{type:"i",name:"aspect"},{type:"i",name:"res"}],body:[0,[[13,"asp",[6,"std.max",["aspect",[5,"0.00001"]]]],[13,"cxi",[6,"d.i32",[[6,"std.floor",[[1,[1,[7,"pos","x"],"/","asp"],"*","res"]]]]]],[13,"cyi",[6,"d.i32",[[6,"std.floor",[[1,[7,"pos","y"],"*","res"]]]]]],[13,"radX",[6,"d.i32",[[6,"std.ceil",[[1,[1,"reach","*","res"],"/","asp"]]]]]],[13,"radY",[6,"d.i32",[[6,"std.ceil",[[1,"reach","*","res"]]]]]],[13,"last",[1,[6,"d.i32",["res"]],"-",[5,"1"]]],[10,[6,"SplatWindow",[[104,{x0:[6,"std.max",[[1,"cxi","-","radX"],[5,"0"]]],x1:[6,"std.min",[[1,"cxi","+","radX"],"last"]],y0:[6,"std.max",[[1,"cyi","-","radY"],[5,"0"]]],y1:[6,"std.min",[[1,"cyi","+","radY"],"last"]]}]]]]]]},externals:{"std.max":()=>b,"d.i32":()=>Z,"std.floor":()=>q,"std.ceil":()=>cc,SplatWindow:()=>Li,"std.min":()=>oe}})&&e.f)({})).$name("worldSplatWindow"),fO=v.fn([l,Z,El],Li)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=Z(q(t.x)),n=Z(q(t.y));return Li({x0:b(__tsover_sub(o,s),0),x1:oe(__tsover_add(o,s),r.x),y0:b(__tsover_sub(n,s),0),y1:oe(__tsover_add(n,s),r.y)})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"center"},{type:"i",name:"rad"},{type:"i",name:"last"}],body:[0,[[13,"cxi",[6,"d.i32",[[6,"std.floor",[[7,"center","x"]]]]]],[13,"cyi",[6,"d.i32",[[6,"std.floor",[[7,"center","y"]]]]]],[10,[6,"SplatWindow",[[104,{x0:[6,"std.max",[[1,"cxi","-","rad"],[5,"0"]]],x1:[6,"std.min",[[1,"cxi","+","rad"],[7,"last","x"]]],y0:[6,"std.max",[[1,"cyi","-","rad"],[5,"0"]]],y1:[6,"std.min",[[1,"cyi","+","rad"],[7,"last","y"]]]}]]]]]]},externals:{"d.i32":()=>Z,"std.floor":()=>q,SplatWindow:()=>Li,"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})).$name("texelSplatWindow"),vO=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(1,ct(__tsover_mul(__tsover_mul(t,s),-1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"energy"},{type:"i",name:"k"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.exp",[[1,[1,"energy","*","k"],"*",[4,"-",[5,"1"]]]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})).$name("energyCoverageAlpha"),yO=v.fn([f,f,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=t.add(s.mul(r)).mul(o),d=j(i);return i.mul(__tsover_div(oe(d,n),b(d,1e-5)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"vel"},{type:"i",name:"force"},{type:"i",name:"dt"},{type:"i",name:"dragMul"},{type:"i",name:"maxSpeed"}],body:[0,[[13,"v",[6,[7,[6,[7,"vel","add"],[[6,[7,"force","mul"],["dt"]]]],"mul"],["dragMul"]]],[13,"spd",[6,"std.length",["v"]]],[10,[6,[7,"v","mul"],[[1,[6,"std.min",["spd","maxSpeed"]],"/",[6,"std.max",["spd",[5,"0.00001"]]]]]]]]]},externals:{"std.length":()=>j,"std.min":()=>oe,"std.max":()=>b}})&&e.f)({})).$name("integrateSemiImplicitEuler");var kf=Math.exp(-1),Rb=1/(1-kf),zb=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return ct(__tsover_mul(__tsover_div(t,s),-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"distSq"},{type:"i",name:"radiusSq"}],body:[0,[[10,[6,"std.exp",[[1,[1,"distSq","/","radiusSq"],"*",[4,"-",[5,"1"]]]]]]]]},externals:{"std.exp":()=>ct}})&&e.f)({})),Gb=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return $(__tsover_mul(__tsover_sub(ct(__tsover_mul(__tsover_div(t,s),-1)),kf),Rb),a(0),a(1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"distSq"},{type:"i",name:"radiusSq"}],body:[0,[[10,[6,"std.clamp",[[1,[1,[6,"std.exp",[[1,[1,"distSq","/","radiusSq"],"*",[4,"-",[5,"1"]]]]],"-","EDGE"],"*","INV_EDGE"],[6,"d.f32",[[5,"0"]]],[6,"d.f32",[[5,"1"]]]]]]]]},externals:{"std.clamp":()=>$,"std.exp":()=>ct,EDGE:()=>kf,INV_EDGE:()=>Rb,"d.f32":()=>a}})&&e.f)({}));v.fn([l,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=ht(t,s);return zb(se(o,o),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellPos"},{type:"i",name:"center"},{type:"i",name:"radiusSq"}],body:[0,[[13,"off",[6,"std.sub",["cellPos","center"]]],[10,[6,"gaussianBrushSq",[[6,"std.dot",["off","off"]],"radiusSq"]]]]]},externals:{"std.sub":()=>ht,gaussianBrushSq:()=>zb,"std.dot":()=>se}})&&e.f)({}));v.fn([l,l,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=ht(t,s);return Gb(se(o,o),r)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cellPos"},{type:"i",name:"center"},{type:"i",name:"radiusSq"}],body:[0,[[13,"off",[6,"std.sub",["cellPos","center"]]],[10,[6,"gaussianBrushShiftedSq",[[6,"std.dot",["off","off"]],"radiusSq"]]]]]},externals:{"std.sub":()=>ht,gaussianBrushShiftedSq:()=>Gb,"std.dot":()=>se}})&&e.f)({}));var jd=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return Ot(l(t,s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"px"},{type:"i",name:"py"}],body:[0,[[10,[6,"noise.hash12",[[6,"d.vec2f",["px","py"]]]]]]]},externals:{"noise.hash12":()=>Ot,"d.vec2f":()=>l}})&&e.f)({})),sl=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=q(t),o=q(s),n=ue(t),i=ue(s),d=__tsover_mul(__tsover_mul(n,n),__tsover_sub(3,__tsover_mul(n,2))),c=__tsover_mul(__tsover_mul(i,i),__tsover_sub(3,__tsover_mul(i,2)));return X(X(jd(r,o),jd(__tsover_add(r,1),o),d),X(jd(r,__tsover_add(o,1)),jd(__tsover_add(r,1),__tsover_add(o,1)),d),c)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"nx"},{type:"i",name:"ny"}],body:[0,[[13,"ix",[6,"std.floor",["nx"]]],[13,"iy",[6,"std.floor",["ny"]]],[13,"sx",[6,"std.fract",["nx"]]],[13,"sy",[6,"std.fract",["ny"]]],[13,"ux",[1,[1,"sx","*","sx"],"*",[1,[5,"3"],"-",[1,"sx","*",[5,"2"]]]]],[13,"uy",[1,[1,"sy","*","sy"],"*",[1,[5,"3"],"-",[1,"sy","*",[5,"2"]]]]],[10,[6,"std.mix",[[6,"std.mix",[[6,"valueHash",["ix","iy"]],[6,"valueHash",[[1,"ix","+",[5,"1"]],"iy"]],"ux"]],[6,"std.mix",[[6,"valueHash",["ix",[1,"iy","+",[5,"1"]]]],[6,"valueHash",[[1,"ix","+",[5,"1"]],[1,"iy","+",[5,"1"]]]],"ux"]],"uy"]]]]]},externals:{"std.floor":()=>q,"std.fract":()=>ue,"std.mix":()=>X,valueHash:()=>jd}})&&e.f)({})),hO=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_add(__tsover_add(__tsover_mul(sl(t,s),.5),__tsover_mul(sl(__tsover_add(__tsover_mul(t,2),5.37),__tsover_add(__tsover_mul(s,2),9.13)),.3)),__tsover_mul(sl(__tsover_add(__tsover_mul(t,4),1.79),__tsover_add(__tsover_mul(s,4),3.51)),.2))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"nx"},{type:"i",name:"ny"}],body:[0,[[10,[1,[1,[1,[6,"valueNoise2D",["nx","ny"]],"*",[5,"0.5"]],"+",[1,[6,"valueNoise2D",[[1,[1,"nx","*",[5,"2"]],"+",[5,"5.37"]],[1,[1,"ny","*",[5,"2"]],"+",[5,"9.13"]]]],"*",[5,"0.3"]]],"+",[1,[6,"valueNoise2D",[[1,[1,"nx","*",[5,"4"]],"+",[5,"1.79"]],[1,[1,"ny","*",[5,"4"]],"+",[5,"3.51"]]]],"*",[5,"0.2"]]]]]]},externals:{valueNoise2D:()=>sl}})&&e.f)({})),xO=v.fn([a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o)=>{"use gpu";let n=__tsover_mul(Gs(__tsover_mul(r,37.31)),97),i=__tsover_mul(Gs(__tsover_mul(r,83.17)),97);return l(__tsover_add(__tsover_mul(t,o),n),__tsover_add(__tsover_mul(s,o),i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"x"},{type:"i",name:"y"},{type:"i",name:"seed"},{type:"i",name:"cellsPerTexel"}],body:[0,[[13,"sdx",[1,[6,"noise.hash11",[[1,"seed","*",[5,"37.31"]]]],"*",[5,"97"]]],[13,"sdy",[1,[6,"noise.hash11",[[1,"seed","*",[5,"83.17"]]]],"*",[5,"97"]]],[10,[6,"d.vec2f",[[1,[1,"x","*","cellsPerTexel"],"+","sdx"],[1,[1,"y","*","cellsPerTexel"],"+","sdy"]]]]]]},externals:{"noise.hash11":()=>Gs,"d.vec2f":()=>l}})&&e.f)({}));var gO=v.fn([a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=__tsover_mul(__tsover_sub(t,r),d),_=__tsover_sub(s,o),u=H(i),m=Y(i),p=__tsover_add(__tsover_mul(c,u),__tsover_mul(_,m)),y=__tsover_sub(__tsover_mul(_,u),__tsover_mul(c,m));return l(__tsover_add(__tsover_div(p,n),.5),__tsover_add(__tsover_div(y,n),.5))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"u"},{type:"i",name:"v"},{type:"i",name:"centerX"},{type:"i",name:"centerY"},{type:"i",name:"scale"},{type:"i",name:"rotation"},{type:"i",name:"aspect"}],body:[0,[[13,"dxAc",[1,[1,"u","-","centerX"],"*","aspect"]],[13,"dy",[1,"v","-","centerY"]],[13,"cosR",[6,"std.cos",["rotation"]]],[13,"sinR",[6,"std.sin",["rotation"]]],[13,"rdx",[1,[1,"dxAc","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dxAc","*","sinR"]]],[10,[6,"d.vec2f",[[1,[1,"rdx","/","scale"],"+",[5,"0.5"]],[1,[1,"rdy","/","scale"],"+",[5,"0.5"]]]]]]]},externals:{"std.cos":()=>H,"std.sin":()=>Y,"d.vec2f":()=>l}})&&e.f)({}));ut({centerX:a,centerY:a,scale:a,rotation:a,aspect:a,saRadius:a,saSides:a,saRounding:a,saInnerRatio:a,saRotation:a,saHeight:a,saOffset:a,saAperture:a,vfOriginX:a,vfOriginY:a,vfSpanX:a,vfSpanY:a,vfActiveRes:a});var xl=256*256;var Yb=1-10*.004,bO=Yb>=1?1/0:Math.min(3e4,Math.log(1e-6)/Math.log(Math.max(Yb,.001))*16.67);var Lb="rgba16float",pw=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({amp:a,freq:a,seed:a,edgePin:a,cursorIntensity:a,t:a,aspect:a,focal:a,camPos:f,camForward:f,camRight:f,camUp:f,lighting:a,glossiness:a,highlights:a,lightX:a,lightY:a,lightZ:a,lightColor:f,nearCutoff:a,farCutoff:a,cursorWaveX:a,cursorWaveY:a,mouseSpeed:a,dt:a,decay:a,radius:a,waveSpeed:a,heightEnvelope:a,cursorActive:a}),"HeightFieldParams");var wO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({readSrc:{storage:pt(a,xl),access:"readonly"},writeBuf:{storage:pt(a,xl),access:"mutable"},readBuf:{storage:pt(a,xl),access:"mutable"},params:{uniform:pw}}),"waveEquationLayout"),TO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({readBuf:{storage:pt(a,xl),access:"readonly"},params:{uniform:pw},uvMaskTex:{storageTexture:Mo(Lb,"write-only")},litTex:{storageTexture:Mo(Lb,"write-only")}}),"heightFieldMarchLayout");var SO=v.fn([x,x,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=z(t.xyz.sub(s.xyz)),n=z(__tsover_sub(t.w,s.w)),i=__tsover_add(se(o,f(.299,.587,.114)),n);return re(r,__tsover_add(__tsover_mul(r,2),.001),i)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"live"},{type:"i",name:"prev"},{type:"i",name:"threshold"}],body:[0,[[13,"dRgb",[6,"std.abs",[[6,[7,[7,"live","xyz"],"sub"],[[7,"prev","xyz"]]]]]],[13,"dA",[6,"std.abs",[[1,[7,"live","w"],"-",[7,"prev","w"]]]]],[13,"diff",[1,[6,"std.dot",["dRgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]],"+","dA"]],[10,[6,"std.smoothstep",["threshold",[1,[1,"threshold","*",[5,"2"]],"+",[5,"0.001"]],"diff"]]]]]},externals:{"std.abs":()=>z,"std.dot":()=>se,"d.vec3f":()=>f,"std.smoothstep":()=>re}})&&e.f)({})).$name("frameDiffMask"),AO=v.fn([f,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=uc(t);return ja(f(ue(__tsover_add(r.x,s)),r.y,r.z))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"amount"}],body:[0,[[13,"hsl",[6,"colorMixing.rgbToHsl",["rgb"]]],[13,"rotated",[6,"d.vec3f",[[6,"std.fract",[[1,[7,"hsl","x"],"+","amount"]]],[7,"hsl","y"],[7,"hsl","z"]]]],[10,[6,"colorMixing.hslToRgb",["rotated"]]]]]},externals:{"colorMixing.rgbToHsl":()=>uc,"d.vec3f":()=>f,"std.fract":()=>ue,"colorMixing.hslToRgb":()=>ja}})&&e.f)({})).$name("hueRotateTurns");var dY=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],cY=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],fw=[];for(let e=0;e<8;e++)for(let t=0;t<8;t++)fw[e*8+t]=Math.cos((2*e+1)*t*Math.PI/16);var MO=Math.PI/16,PO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.const(pt(a,64),fw),"COS_LUT"),EO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.const(pt(a,64),dY),"LUMA_QUANT_C"),kO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.const(pt(a,64),cY),"CHROMA_QUANT_C");var $O=v.fn([x,x,x,x,x,x,x,x,x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u)=>{"use gpu";let m=re(0,.1,__tsover_mul(__tsover_add(__tsover_add(__tsover_add(__tsover_add(t.z,s.z),r.z),o.z),n.z),.2)),p=t.xy.add(s.xy).add(r.xy).add(o.xy).add(n.xy).mul(.2),y=j(p),h=re(.01,.1,y),g=__tsover_div(p.x,__tsover_add(y,.001)),w=__tsover_div(p.y,__tsover_add(y,.001)),S=re(0,.7,b(g,0)),T=re(0,.7,b(__tsover_mul(g,-1),0)),A=re(0,.7,b(w,0)),P=re(0,.7,b(__tsover_mul(w,-1),0)),U=_.mul(T).add(u.mul(S)),D=c.mul(P).add(d.mul(A)),O=__tsover_add(T,S),L=__tsover_add(A,P),G=__tsover_add(__tsover_add(O,L),.001);return X(i,U.mul(__tsover_div(O,G)).add(D.mul(__tsover_div(L,G))),x(h)).mul(m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"s0"},{type:"i",name:"s1"},{type:"i",name:"s2"},{type:"i",name:"s3"},{type:"i",name:"s4"},{type:"i",name:"base"},{type:"i",name:"up"},{type:"i",name:"down"},{type:"i",name:"left"},{type:"i",name:"right"}],body:[0,[[13,"smoothedLiquid",[1,[1,[1,[1,[1,[7,"s0","z"],"+",[7,"s1","z"]],"+",[7,"s2","z"]],"+",[7,"s3","z"]],"+",[7,"s4","z"]],"*",[5,"0.2"]]],[13,"liquidIntensity",[6,"std.smoothstep",[[5,"0"],[5,"0.1"],"smoothedLiquid"]]],[13,"flow",[6,[7,[6,[7,[6,[7,[6,[7,[6,[7,[7,"s0","xy"],"add"],[[7,"s1","xy"]]],"add"],[[7,"s2","xy"]]],"add"],[[7,"s3","xy"]]],"add"],[[7,"s4","xy"]]],"mul"],[[5,"0.2"]]]],[13,"flowMagnitude",[6,"std.length",["flow"]]],[13,"hasFlow",[6,"std.smoothstep",[[5,"0.01"],[5,"0.1"],"flowMagnitude"]]],[13,"normalizedX",[1,[7,"flow","x"],"/",[1,"flowMagnitude","+",[5,"0.001"]]]],[13,"normalizedY",[1,[7,"flow","y"],"/",[1,"flowMagnitude","+",[5,"0.001"]]]],[13,"rightAmount",[6,"std.smoothstep",[[5,"0"],[5,"0.7"],[6,"std.max",["normalizedX",[5,"0"]]]]]],[13,"leftAmount",[6,"std.smoothstep",[[5,"0"],[5,"0.7"],[6,"std.max",[[1,"normalizedX","*",[4,"-",[5,"1"]]],[5,"0"]]]]]],[13,"upAmount",[6,"std.smoothstep",[[5,"0"],[5,"0.7"],[6,"std.max",["normalizedY",[5,"0"]]]]]],[13,"downAmount",[6,"std.smoothstep",[[5,"0"],[5,"0.7"],[6,"std.max",[[1,"normalizedY","*",[4,"-",[5,"1"]]],[5,"0"]]]]]],[13,"horizontalColor",[6,[7,[6,[7,"left","mul"],["leftAmount"]],"add"],[[6,[7,"right","mul"],["rightAmount"]]]]],[13,"verticalColor",[6,[7,[6,[7,"down","mul"],["downAmount"]],"add"],[[6,[7,"up","mul"],["upAmount"]]]]],[13,"horizontalWeight",[1,"leftAmount","+","rightAmount"]],[13,"verticalWeight",[1,"upAmount","+","downAmount"]],[13,"totalWeight",[1,[1,"horizontalWeight","+","verticalWeight"],"+",[5,"0.001"]]],[13,"directionalColor",[6,[7,[6,[7,"horizontalColor","mul"],[[1,"horizontalWeight","/","totalWeight"]]],"add"],[[6,[7,"verticalColor","mul"],[[1,"verticalWeight","/","totalWeight"]]]]]],[13,"finalColor",[6,"std.mix",["base","directionalColor",[6,"d.vec4f",["hasFlow"]]]]],[10,[6,[7,"finalColor","mul"],["liquidIntensity"]]]]]},externals:{"std.smoothstep":()=>re,"std.length":()=>j,"std.max":()=>b,"std.mix":()=>X,"d.vec4f":()=>x}})&&e.f)({})).$name("flowDirectionColor"),l1={name:"Root",props:{},fragment:({childNode:e})=>e??vd("vec4f(0.0, 0.0, 0.0, 0.0)")};function uo(e,t,s="_animTime"){let r=e.props.member(s);if(t){let o=e.uniforms[t];if(o)return r.add(o)}return r}var _Y=class{kind="wgsl";spec;identifiers;fns=new Map;constructor(e){if(typeof e.body!="string"||e.body.trim()==="")throw new Error("wgsl: the body must be a non-empty WGSL string");if(!/\breturn\b/.test(vw(e.body)))throw new Error("wgsl: the body must `return` a vec4f color");this.spec=e,this.identifiers=lY(e.body)}get samplesChild(){return this.identifiers.has("childTexture")}fnFor(e,t){let s=this.fns.get(e);return s||(s=t(),this.fns.set(e,s)),s}};function e_(e){return e instanceof _Y}function vw(e){return e.replace(/\/\*[\s\S]*?\*\//g," ").replace(/\/\/[^\n]*/g," ")}function lY(e){let t=new Set,s=new RegExp("(?":ps(a),sampler:fv()},mY=new Set(["viewport","child","childTexture","childSampler"]),hw={uv:"vec2f",aspect:"f32",time:"f32",viewportSize:"vec2f",logicalViewportSize:"vec2f",pointer:"vec2f"};function Ib(e){return/^[A-Za-z_][A-Za-z0-9_]*$/.test(e)?e:e.replace(/[^A-Za-z0-9_]/g,"_")}function gy(e,t,s){let r=Ib(e.spec.name??pY(s.name)+fY(t)),o=vY(t,s),n=yY(e.spec.inputs??{},s.props),i=new Map;for(let u of o)e.identifiers.has(u.name)&&i.set(u.name,u);for(let u of n)i.set(u.name,u);let d=[...i.values()],c=`(${d.map(u=>`${Ib(u.name)}: ${u.type}`).join(", ")}) -> vec4f`,_=d.map(u=>`${u.name}:${u.type}`).join(",");return u=>(nh(),u.noteCustomWgsl?.(),we(e.fnFor(_,()=>(globalThis.__TYPEGPU_AUTONAME__??(m=>m))(v.fn(d.map(m=>uY[m.type]),x),"shell")(`${c} { +${e.spec.body} +}`)),r,d.map(m=>m.value(u))))}function pY(e){return e?e[0].toLowerCase()+e.slice(1):"custom"}function fY(e){return e==="generator"?"Paint":"Filter"}function vY(e,t){let s=[],r=e==="generator";s.push({name:"uv",type:"vec2f",value:o=>r?o.uvContext??o.ctx.uv:o.ctx.uv}),s.push({name:"time",type:"f32",value:o=>t.animatedTime?uo(o):o.ctx.time}),s.push({name:"aspect",type:"f32",value:o=>o.ctx.aspect}),s.push({name:"viewport",type:"vec2f",value:o=>r?o.effectiveViewportSize??o.ctx.viewportSize:o.ctx.viewportSize}),s.push({name:"pointer",type:"vec2f",value:o=>o.ctx.pointer}),e==="pointwise"&&s.push({name:"child",type:"vec4f",value:o=>o.childNode}),e==="gather"&&(s.push({name:"childTexture",type:"texture_2d",value:o=>o.texture.accessor()}),s.push({name:"childSampler",type:"sampler",value:()=>vd("samp.$.linearClamp")}));for(let[o,n]of Object.entries(t.props)){if(hw[o]||mY.has(o))continue;let i=yw(n);if(!i)continue;let d=n.transform===ho;s.push({name:o,type:i,value:c=>{let _=c.uniforms[o];if(!_)throw new Error(`wgsl: prop '${o}' has no GPU uniform (is it CPU-only?)`);return d?new Kt(u=>`vec2f(${_.member("x")._emit(u)}, 1.0 - ${_.member("y")._emit(u)})`):_}})}return s}function yY(e,t){let s=[];for(let[r,o]of Object.entries(e)){let n=o!==null&&typeof o=="object"&&"value"in o&&"type"in o,i=n?o.value:o,d=hY(i,t),c=n?o.type:d;if(n&&c!==d)throw new Error(`wgsl: input '${r}' is declared ${c} but its source is ${d}`);s.push({name:r,type:c,value:_=>typeof i=="number"?vt(i):oY(i,_)})}return s}function hY(e,t){if(typeof e=="number"||e instanceof Jc)return"f32";if(e.kind==="ctx")return hw[e.name]??"f32";if(e.kind==="prop"){let s=t[e.name];if(!s)throw new Error(`wgsl: input binds unknown prop '${e.name}'`);let r=yw(s);if(!r)throw new Error(`wgsl: prop '${e.name}' is CPU-only and cannot be bound as a WGSL parameter`);return r}return"f32"}function ya(e){let t={};for(let s of Object.keys(e)){let{recompile:r,...o}=e[s],n={...o};if(r?.kind==="crosses"){let i=r.value;n.compileTimeWhen=(d,c)=>d===i!=(c===i)}else r?.kind==="custom"&&(n.compileTimeWhen=r.predicate);t[s]=n}return t}function xw(e,t){switch(e.kind){case"isZero":case"isValue":{let s=e.kind==="isZero"?0:e.value,r=t[e.prop];return{props:[e.prop],when:o=>(o[e.prop]??r)===s}}case"allOf":{let s=e.rules.map(r=>xw(r,t));return{props:[...new Set(s.flatMap(r=>r.props))],when:r=>s.every(o=>o.when(r))}}case"custom":return{props:e.props,when:e.when}}}function Au(e,t){if(!e)return;let s={};for(let[r,o]of Object.entries(t))s[r]=o.default;return xw(e,s)}function xY(e){let{role:t,species:s,effect:r,identityWhen:o,missingChildMessage:n,props:i,...d}=e,c={...d,props:ya(i),identity:Au(o,i),missingChildMessage:n};if(r.kind==="tintToward"){let{color:m,amount:p}=r;return Km({...c,body:{fn:wR,hint:"mixToward"},args:y=>[Dt(m,y),od(p,y)]})}if(e_(r))return Km({...c,build:gy(r,"pointwise",by(e))});let{kind:_,...u}=r;return Km({...c,...u})}function by(e){return{name:e.name,props:e.props,animatedTime:e.animatedTime}}function gY(e){let{role:t,species:s,effect:r,identityWhen:o,missingChildMessage:n,props:i,...d}=e;if(r.kind==="displaceBy")return bY(e);if(e_(r))return Ub({...d,props:ya(i),identity:Au(o,i),missingChildMessage:n,build:gy(r,"gather",by(e)),resultAlpha:r.spec.alpha??"premultiplied"});let{kind:c,..._}=r;return Ub({...d,props:ya(i),identity:Au(o,i),missingChildMessage:n,..._})}function bY(e){let{role:t,species:s,effect:r,identityWhen:o,missingChildMessage:n,props:i,...d}=e,c=r,_=Au(o,i),u=c.field.sim.config,m=c.field.output,p=u.step.find(h=>h.kind==="op.wave"),y=u.step.find(h=>h.kind==="op.splat");if(!p||!y||u.step.length!==2)throw new Error(`std: simulate.grid currently implements exactly [op.wave, op.splat] (got: ${u.step.map(h=>h.kind).join(", ")})`);if(u.history!==2)throw new Error(`std: op.wave reads t\u22121 and t\u22122 \u2014 declare history: 2 (got ${u.history})`);if(u.derive[m]?.kind!=="op.gradient")throw new Error(`std: displaceBy consumes a vector field \u2014 derive '${m}' must be op.gradient()`);if(u.rest&&u.rest.settlesWhen!=="derived-from-damping")throw new Error("std: simulate.grid rest supports settlesWhen: 'derived-from-damping' only");return{...d,props:ya(i),requiresRTT:!0,requiresChild:!0,usesPointer:y.at.kind==="pointer",compute:h=>{if(!h.childNode)return null;let g=sG(h,{resolution:u.resolution,dampingProp:p.damping.name,radiusProp:y.radius.name,radiusScale:.05,speedMax:y.amount.max,teleportGuard:y.at.teleportGuard});return g?{outputs:{[m]:g.displacement},getComputeNodes:g.getComputeNodes}:null},fragment:h=>{let{childNode:g,ctx:w,computeOutputs:S,propValues:T,convertToTexture:A}=h;if(!g)return xr;let P=A(g);if(hy(_,h))return we(dn,"unpremultiplyAlpha",[P.sample(w.uv)]);let U=T[c.edges.name]??0,D=S?.[m],O=D?D.sample(w.uv,"linearClamp").member("xy"):vd("vec2f(0.0, 0.0)"),L=we(uz,"chromaticDisplaceUVs",[w.uv,O,Dt(c.strength,h),Dt(c.chromatic,h)]),G=te=>P.sample(te),W=Gi(L.member("rUV"),G,U),K=Gi(L.member("gUV"),G,U),Q=Gi(L.member("bUV"),G,U);return we(dn,"unpremultiplyAlpha",[Ws(W.member("r"),K.member("g"),Q.member("b"),K.member("a"))])}}}function wY(e){let{role:t,map:s,edges:r,resample:o,uvRemapIdentityWhen:n,missingChildMessage:i,props:d,...c}=e;return{...c,props:ya(d),requiresRTT:!0,requiresChild:!0,...NG(s,{edges:r,resample:o,uvRemapIdentityWhen:n,requireChildMessage:i})}}function TY(e){let{role:t,name:s,description:r,category:o,shape:n}=e;return tY({name:s,description:r,category:o,...n})}function SY(e){let{role:t,paint:s,props:r,...o}=e;return e_(s)?{acceptsUVContext:!0,...o,props:ya(r),fragment:gy(s,"generator",by(e))}:{...o,props:ya(r),fragment:s}}function AY(e){let{role:t,species:s,gpu:r,props:o,...n}=e;return{...n,props:ya(o),fragment:r.fragment,...r.uvRemap?{uvRemap:r.uvRemap}:{}}}function MY(e){let t=[],s=e.paint,r=e.effect;for(let n of[s,r])e_(n)&&t.push(n.spec.body,PY(n.spec.inputs??{}),n.spec.alpha??"");if(t.length===0)return;let o=2166136261;for(let n of t.join("\0"))o^=n.charCodeAt(0),o=Math.imul(o,16777619)>>>0;return o.toString(16)}function PY(e){let t=r=>{if(typeof r!="object"||r===null)return String(r);let o=r;switch(o.kind){case"prop":return`p:${o.name}`;case"ctx":return`c:${o.name}`;case"mul":return`mul(${t(o.a)},${t(o.b)})`;case"radialMask":return`radialMask(${o.center?.name},${o.radius?.name},${o.falloff?.name})`;default:return o.kind}},s=r=>typeof r=="number"?`n:${r}`:r instanceof Jc?`s:${t(r.node)}`:t(r);return Object.keys(e).sort().map(r=>{let o=e[r];return o!==null&&typeof o=="object"&&"value"in o&&"type"in o?`${r}=${s(o.value)}:${o.type}`:`${r}=${s(o)}`}).join(",")}var EY=new Set(["blendMode","opacity","visible","id","maskSource","maskType","renderOrder","transform","boundingBox","flow","absolute","children","ref","key","src"]),kY=new Set(["_animTime","_opacity"]),$Y=["_pad","_bbox_","_map_","_childBounds_","_animTime_"],UY=/^[A-Za-z_][A-Za-z0-9_]*$/;function CY(e,t){for(let s of Object.keys(t)){if(!UY.test(s))throw new Error(`defineShader("${e}"): prop '${s}' is not a valid identifier (letters, digits and _ only, not starting with a digit)`);if(EY.has(s))throw new Error(`defineShader("${e}"): '${s}' is a layer prop every component already has (blend mode, opacity, layout, \u2026) \u2014 rename the shader prop`);if(kY.has(s)||$Y.some(r=>s.startsWith(r)))throw new Error(`defineShader("${e}"): '${s}' collides with a field the renderer manages itself \u2014 rename the shader prop`)}}function $o(e){"props"in e&&e.props&&CY(e.name,e.props);let t=YY(e),s=MY(e);return s?{...t,revision:s}:t}function RY(e){let t="shape"in e?"shape":"map"in e?"warp":"gpu"in e?"custom":"paint"in e?"generator":"effect"in e?"filter":null,s=String(e.name??"?");if(!t)throw new Error(`defineShader("${s}"): give it a GPU half \u2014 paint: (generator), effect: (filter), map: (warp), shape: (shape) or gpu: (custom)`);let r=e.role;if(r&&t!=="custom"&&r!==t)throw new Error(`defineShader("${s}"): role '${r}' contradicts its ${zY[t]} field (a ${t})`);return t}var zY={shape:"shape:",warp:"map:",custom:"gpu:",generator:"paint:",filter:"effect:"};function GY(e){let{effect:t,species:s}=e;if(e_(t))return s??(t.samplesChild?"gather":"pointwise");let r=t.kind==="gather"||t.kind==="displaceBy"?"gather":"pointwise";if(s&&s!==r)throw new Error(`defineShader("${e.name}"): species '${s}' contradicts its '${t.kind}' effect (${r})`);return r}function YY(e){switch(RY(e)){case"shape":return TY(e);case"warp":return wY(e);case"custom":return AY(e);case"generator":return SY(e);case"filter":{let t=e;return GY(t)==="gather"?gY({...t,species:"gather"}):xY({...t,species:"pointwise"})}}}var $f=e=>typeof e=="number"?vt(e):e,Mu=(e,t)=>typeof e=="number"?vt(e)._emit(t):e._emit(t);function kr(e,...t){return new Kt(s=>`${e}(${t.map(r=>Mu(r,s)).join(", ")})`)}function u1(e,t,s){return new Kt(r=>`(${Mu(t,r)} ${e} ${Mu(s,r)})`)}var $e=(e,t)=>u1("+",e,t),fs=(e,t)=>u1("-",e,t),N=(e,t)=>u1("*",e,t),mr=(e,t)=>u1("/",e,t),Pu=e=>new Kt(t=>`(-(${Mu(e,t)}))`),m1=e=>kr("abs",e);var nd=(e,t)=>kr("pow",e,t),wy=e=>kr("exp",e);var Uo=e=>kr("sin",e),t_=e=>kr("cos",e);var xa=(e,t)=>kr("max",e,t),gr=(e,t,s)=>kr("clamp",e,t,s),Co=(e,t,s)=>oc($f(e),$f(t),s);var Ss=(e,t,s)=>kr("smoothstep",e,t,s);var gd=e=>kr("length",e);var gw=(e,t)=>kr("dot",e,t);var p1=(e,t,s)=>Jt(fs(N(rl(e,"x"),t),N(rl(e,"y"),s)),$e(N(rl(e,"x"),s),N(rl(e,"y"),t))),rl=(e,t)=>typeof e=="number"?e:e.member(t),f1=(e,t)=>kr("reflect",e,t);var LY=e=>kr("exp2",e);var Zr=e=>vt(e),Jt=(e,t)=>kr("vec2f",e,t),tr=(e,t,s)=>kr("vec3f",e,t,s),ni=(...e)=>Ws(...e.map($f)),ln=e=>kr("vec3f",e),ye=(e,t)=>ur(e,t);function bw(e){return{kind:"crosses",value:e}}var IY=e=>typeof e=="number"?vt(e):e,$r=(e,t)=>(...s)=>we(e,t,s.map(IY)),UO=$r(fc,"circleSdf"),CO=$r(uu,"ellipseSdf"),RO=$r(lu,"roundedRectSdf"),zO=$r(au,"polygonSdf"),GO=$r(du,"starSdf"),YO=$r(iu,"flowerSdf"),LO=$r(vu,"heartSdf"),IO=$r(_u,"crossSdf"),DO=$r(cu,"ringSdf"),FO=$r(mu,"vesicaSdf"),BO=$r(pu,"crescentSdf"),WO=$r(fu,"trapezoidSdf"),OO=$r(hu,"teardropSdf"),VO=$r(xu,"parallelogramSdf"),NO=$r(yu,"arcSdf");var Ae=Math.fround,DY=Ae(HC),Zm=Ae(it),FY=.11,Uf=Ae(4294967295),Db=new DataView(new ArrayBuffer(4));function Cf(e){return Db.setFloat32(0,Ae(e),!0),Db.getUint32(0,!0)}function Eu(e,t){return Math.imul(e>>>0,t>>>0)>>>0}function Fb(e){let t=Cf(Ae(Ae(e)*Ae(3141592653)));return Ae(Ae(Eu(Eu(t,t),3141592653))/Uf)}function Bb(e,t){let s=(Cf(Ae(Ae(e)*Ae(141421356)))^Cf(Ae(Ae(t)*Ae(2718281828))))>>>0;return[Ae(Ae(Eu(s,3141592653))/Uf),Ae(Ae(Eu(s,1618033988))/Uf)]}function BY(e,t,s,r,o,n){let i=Ae(Ae(e*DY)+Ae(Fb(Ae(Ae(s*Ae(.7311))+Ae(1.618)))*Zm)),d=Ae(Math.sqrt(Ae(Ae(e+.5)/Ae(t)))),c=Bb(Ae(Ae(e*Ae(3.77))+Ae(.917)),Ae(Ae(s*Ae(1.093))+Ae(2.236))),_=Ae(Ae(c[0]-.5)*Ae(.26)),u=Ae(Ae(c[1]-.5)*Ae(.26)),m=Bb(Ae(Ae(e*Ae(7.13))+Ae(1.618)),Ae(Ae(s*Ae(.531))+Ae(3.71))),p=Ae(m[0]*Zm),y=Ae(m[1]*Zm),h=Ae(.5+Ae(Fb(Ae(Ae(Ae(e*Ae(5.417))+Ae(s*Ae(.291)))+Ae(.917)))*Ae(.7))),g=Ae(Ae(n*Ae(FY))*h),w=Ae(Math.sin(Ae(g+p))),S=Ae(Math.cos(Ae(Ae(g*Ae(1.37))+y))),T=Ae(Ae(Ae(Ae(Math.cos(i))*d)*Ae(.62))+_)+Ae(Ae(w*Ae(r))*Ae(.16)),A=Ae(Ae(Ae(Ae(Math.sin(i))*d)*Ae(.62))+u)+Ae(Ae(S*Ae(r))*Ae(.16));return[Ae(Ae(.5+Ae(T))*Ae(o)),Ae(.5+Ae(A))]}function WY(e,t,s,r,o){let n=new Array(16);for(let i=0;i<8;i++){let[d,c]=BY(i,e,t,s,r,o);n[i*2]=d,n[i*2+1]=c}return n}function ww(e){return typeof e=="number"?e:typeof e=="string"?ir(e):0}function OY(e,t){return Fv[e?ww(t.propValues[e.name]):0]??Bo}function Tw(e){return(t,s,r)=>{let o=OY(e.space,r);return we(o,"mixColors",[we(o,"mixColors",[Dt(e.a,r),Dt(e.b,r),t]),Dt(e.c,r),s])}}function Sw(e){let t=s=>typeof s=="number"?vt(s):s;return e.anchors?we(nR,"scatterField",[e.at,t(e.count),t(e.seed),e.anchors,t(e.softness)]):we(aR,"scatterField",[e.at,t(e.count),t(e.seed),t(e.drift),t(e.aspect),t(e.time),t(e.softness)])}function Aw(e,t){let s=e.dimensions.width/Math.max(e.dimensions.height,1e-6);e.onResize(({width:o,height:n})=>{s=o/Math.max(n,1e-6)});let r="";return e.onBeforeRender(()=>{let o=e.getCpuValue("_animTime"),n=e.getCpuValue(t.count.name),i=e.getCpuValue(t.seed.name),d=e.getCpuValue(t.drift.name);if(typeof o!="number"||typeof n!="number"||typeof i!="number"||typeof d!="number")return;let c=`${n}|${i}|${d}|${s}|${o}`;c!==r&&(r=c,e.setExtraField(t.field,WY(n,i,d,s,o)))}),e.uniforms[t.field]}function Mw(e){return we(vz,"rampWrap",[e.t,typeof e.cycles=="number"?vt(e.cycles):e.cycles])}function Pw(e){let t=s=>typeof s=="number"?vt(s):s;return e.levels===1?we(rR(go,{name:"warpDomain1"}),"warpDomain1",[e.at,t(e.time),t(e.amount)]):we(sR(go,{name:"warpDomain"}),"warpDomain",[e.at,t(e.time),t(e.amount)])}function Ty(e){let t=s=>typeof s=="number"?vt(s):s;return we(iR,"chainedWarpStep",[e.at,vt(e.scale),t(e.z),Jt(e.offsets[0][0],e.offsets[0][1]),Jt(e.offsets[1][0],e.offsets[1][1]),vt(e.reach),t(e.strength)])}function Ew(e,t){return rG(t,e)}function kw(e){return(t,s,r)=>{let{uniforms:o}=r,n=ww(r.propValues[e.space.name]),i=Dt(e.a,r),d=Dt(e.b,r),c=Dt(e.c,r),_=Dt(e.d,r);if(n!==0){let u="";r.onBeforeRender(()=>{let y=[e.a.name,e.b.name,e.c.name,e.d.name].map(w=>r.getCpuValue(w));if(y.some(w=>!w))return;let h=y.map(w=>`${w.x},${w.y},${w.z}`).join("|");if(h===u)return;u=h;let g=["convA","convB","convC","convD"];y.forEach((w,S)=>{let T=s1(w.x,w.y,w.z,n);r.setExtraField(g[S],[T[0],T[1],T[2]])})});let m=ur(we(fa,"mixInSpace",[o.convA,i.member("a"),o.convB,d.member("a"),t]),"flowRow1"),p=ur(we(fa,"mixInSpace",[o.convC,c.member("a"),o.convD,_.member("a"),t]),"flowRow2");return we(Bv[n]??t1,"mixPreconvertedColors",[m.member("conv"),p.member("conv"),m.member("alpha"),p.member("alpha"),s])}return we(Bo,"mixColors",[ur(we(Bo,"mixColors",[i,d,t]),"flowRow1"),ur(we(Bo,"mixColors",[c,_,t]),"flowRow2"),s])}}function Qm(e,t){return typeof e=="number"?vt(e):e instanceof Jc||e.kind!=="ctx"?od(e,t):t.ctx[e.name]}function VY(e){return{uv:e.uvContext??e.ctx.uv,viewport:e.effectiveViewportSize??e.ctx.viewportSize}}function $w(e){return t=>{let{uv:s,viewport:r}=VY(t);return we(mz,"godraysFrame",[s,r,Dt(e,t)])}}function Uw(e,t,s){return r=>t(s?ur(e(r),s):e(r),r)}function Cw(e){return(t,s)=>we(pz,"godraysRayStack",[t,uo(s),Qm(e.density,s),Qm(e.intensity,s),Qm(e.spotty,s)])}function Rw(e){return t=>we(fz,"coverageOver",[Dt(e.color,t),Dt(e.background,t),e.coverage(t)])}var{sdfSpaceUV:NY,offsetUV:ol}=sw,{ANALYTIC_SDF_EXTRA_FIELDS:qY}=n1,{createVolumetricFieldComputeNode:XY,resolveShapeFieldSampler:HY,VOLUMETRIC_FIELD_EXTRA_FIELDS:jY}=yd,KY=0;function v1(e,t,s,r="guarded",o=[]){let n=KY++;return new Kt(i=>i.memo(`guard:${n}`,()=>{let d=i.freshLocal(r),c=e._emit(i),_=s._emit(i);for(let p of o)p._emit(i);let u=[],m=t._emit({external:(p,y)=>i.external(p,y),statement:p=>u.push(p),freshLocal:p=>i.freshLocal(p),memo:(p,y)=>i.memo(p,y)});return i.statement(`var ${d} = ${_};`),i.statement(`if (${c}) { + ${u.join(` + `)} + ${d} = ${m}; +}`),d}))}function y1(e,t){let s=we(Ez,"outsideShape",[e,t]);return new Kt(r=>`(!(${s._emit(r)}))`)}function h1(e){let t=e.pattern??"none",s=e.chord??"span",r=e.stencil??{kind:"forward",eps:.01},o=i=>XY(i,()=>i.getCpuValue("shape"),t,s),n=i=>{let{childNode:d,computeOutputs:c,convertToTexture:_,uniforms:u,ctx:m}=i,p;if(e.child==="required"){if(!d)return xr;p=c?.childTexture??_(d)}let{sampler:y,gradSampler:h,texelSampler:g,volumetric:w,bakedGradients:S}=HY(i,{patternMode:t,gradSampler:e.gradSampler??"fast",bakedGradients:e.bakedGradients??"none"}),T={sampler:y,gradSampler:h,texelSampler:g,volumetric:w,bakedGradients:S,volFlag:vt(w?1:0),childTexture:p};if(r!=="none"){let A=e.placeUV?e.placeUV(i):m.uv;if(T.sdfUV=ye(we(NY,"sdfSpaceUV",[u.center,u.scale,u.rotation,A,m.aspect]),"sdfUV"),T.surf0=(e.centreTap==="fast"?h:y)(T.sdfUV),r!=="centre"){let{kind:P,eps:U}=r;T.surfX=h(we(ol,"offsetUV",[T.sdfUV,vt(U),vt(0)])),P==="central"&&(T.surfL=h(we(ol,"offsetUV",[T.sdfUV,vt(-U),vt(0)]))),T.surfY=h(we(ol,"offsetUV",[T.sdfUV,vt(0),vt(U)])),P==="central"&&(T.surfD=h(we(ol,"offsetUV",[T.sdfUV,vt(0),vt(-U)])))}}return e.surface(T,i)};return{extraFields:{...jY,...qY},compute:o,gpu:{fragment:n}}}function x1(e,t,s={}){let{ctx:r}=t,o=ye(e.surf0,"s0"),n=ye(mr(1,r.viewportSize.member("y")),"pxH"),i=ye(s.scale?mr(o.member("x"),s.scale):o.member("x"),"sdf"),d=mr(r.viewportSize.member("x"),r.viewportSize.member("y"));return{s0:o,sX:e.surfX?ye(e.surfX,"sX"):void 0,sY:e.surfY?ye(e.surfY,"sY"):void 0,sdf:i,pxH:n,aspect:d}}function g1(e,t,s){let r=Zr(s.eps??.01),o=s.hint??"nGeo";if(e.volumetric)return ye(we(Az,"volumetricNormal",[t.s0,t.sX,t.sY,r,Zr(s.sharpness??5)]),o);let n=gr(mr(Pu(t.sdf),xa(s.bevelWidth,.003)),0,1);return ye(we(Mz,"bevelledFlatNormal",[we(Sz,"fieldGradient",[t.s0,t.sX,t.sY,r]),we(zG,"bevelSin",[n,s.bevelShape])]),o)}function zw(e,t,s={}){return ye(we(Pz,"patternCoords",[s.uv??e.sdfUV,t.s0,e.volFlag]),"pat")}function b1(e,t,s=.6){return ye(we(kz,"perspectiveViewRay",[e.ctx.uv,t.aspect,Zr(s)]),"viewI")}function Gw(e,t,s){let r=o=>typeof o=="number"?Zr(o):o;return we(Iz,"studio5Softbox",[e,t,s.rotation.member("x"),s.rotation.member("y"),r(s.keyRadius),r(s.drift),r(s.strength),Zr(s.skyGain)])}function w1(e,t){return we(Uz,"silhouetteAlpha",[e.sdf,t,e.pxH])}function Yw(e){return we(a7,"tonemapNeutral",[e])}function Lw(e,t,s,r="n"){return ye(we(Gz,"nudgeNormal",[e,t,s]),r)}function T1(e,t,s="kl"){return ZY(e.member("x"),e.member("y"),t,s)}function ZY(e,t,s,r="kl"){return ye(we(Cz,"keyLight",[e,t,Zr(s)]),r)}function Iw(e,t,s){return we(Rz,"sharpGlint",[e,t,s])}function Dw(e,t){return we(zz,"clampedPerlinGrad",[e,typeof t=="number"?Zr(t):t])}function Wb(e,t){return we(Yz,"opticalThickness",[e.sdf,t.volFlag])}function Fw(e,t){return we(Lz,"flowWarpOffset",[e,t])}function ga(e){return we(Ei,"mxNoiseFloat2",[e])}function Sn(e){return we(go,"mxNoiseFloat3",[e])}function QY(e){return we(jC,"mxWorleyNoiseFloat2Pub",[e,Zr(1)])}function Bw(e,t){return we(Ot,"hash12",[Jt(e,t)])}function Ww(e){let t=ye(e.gradSampler(Jt(.5,.5)),"s0C");return{x:ye(N(Pu(t.member("y")),e.volFlag),"rotSenseX"),y:ye(N(Pu(t.member("z")),e.volFlag),"rotSenseY")}}function Ow(e,t,s){let r=ye(fs(e.sdfUV.member("x"),.5),"cx"),o=ye(fs(e.sdfUV.member("y"),.5),"cy");return{x:ye($e(r,N(t.member("x"),s)),"bentX"),y:ye($e(o,N(t.member("y"),s)),"bentY"),centered:{x:r,y:o}}}function Sy(e,t,s){return $e(fs(1,s.amount),N(Uo($e(N(e,s.rate),N(t,s.spread))),s.amount))}function Ay(e,t){let s=t.hint??"stars",r=ye($e(N(ga(N(e,t.variationFreq)),.5),.5),`${s}V`),o=t.shimmer?t.shimmer(r):Zr(1),n=ye(N(N(N(Ss($e(t.radius[0],N(r,t.radius[1])),5e-4,QY(e)),Ss(t.keep[0],t.keep[1],r)),N($e(t.brightness[0],N(N(r,r),t.brightness[1])),o)),t.gain),s);return{glint:n,variation:r,rgb:t.tint?N(Co(tr(...t.tint.from),tr(...t.tint.to),ln(r)),ln(N(n,t.tint.gain))):void 0}}function Vw(e,t){let s=t.softness?ye(LY(Co(2,-2,t.softness)),"lobeWiden"):void 0,r=o=>s?N(o,s):Zr(o);return N($e(N(nd(e,r(t.core[0])),t.core[1]),N(nd(e,r(t.halo[0])),t.halo[1])),t.gain)}function Nw(e,t,s){let r=ye(N(e.s0.member("w"),t.volFlag),"rayEntry"),o=ye(s.lengthScale===void 0?Wb(e,t):N(Wb(e,t),s.lengthScale),"rayLen"),n=s.view?ye(N(s.view.member("x"),s.shear??1),"rayShearX"):void 0,i=s.view?ye(N(s.view.member("y"),s.shear??1),"rayShearY"):void 0;return{entry:r,length:o,at(d){return{x:n?$e(s.origin.x,N(n,d)):s.origin.x,y:i?$e(s.origin.y,N(i,d)):s.origin.y}}}}function My(e,t){let s=t.hint??"plane",r=ye($e(e.entry,N(e.length,t.depth)),`${s}Z`),o=e.at(r);if(!t.pan)return{x:o.x,y:o.y,z:r};let n=t.panRate??1;return{x:$e(o.x,N(t.pan.x,n)),y:$e(o.y,N(t.pan.y,n)),z:r}}function qw(e,t){let s=t.hint??"",r=t.drift,o=t.seed,n=(m,p,y,h)=>{let g=p===void 0?N(m,t.frequency):N(m,N(t.frequency,p));return r&&(g=$e(g,y===1?r:N(r,y))),o&&(g=$e(g,h===1?o:N(o,h))),g},i=ye(tr(n(e.x,void 0,1,1),n(e.y,void 0,-.7,.53),n(e.z,1.25,1.3,.79)),`q${s}`),d=ye(Sn(r?$e(N(i,.5),tr(N(r,1.4),0,N(r,-.9))):N(i,.5)),`warp${s}`),c=t.billow?ye($e(i,N(tr(d,N(d,-.73),N(d,.41)),t.billow)),`qw${s}`):i,_=ye(Sn($e(N(c,2.13),tr(5.2,1.3,8.4))),`mid${s}`),u=ye(Sn($e(N(c,4.31),tr(9.1,3.7,1.2))),`fine${s}`);return{density:ye(N($e($e(Sn(c),N(_,.5)),N(u,.27)),.57),`fbm${s}`),mid:_,fine:u}}function Xw(e,t){let s=ln(1),r=tr(0,0,0);for(let o=0;oe))(ut({center:l,lightPos:pt(x,8),lightColor:pt(x,8),lightCount:a,scale:a,rotation:a,aspect:a,reach:a,wrap:a,lightRange:a,shadowSoftness:a,eps:a,res:a,frame:a,rays:a,saRadius:a,saSides:a,saRounding:a,saInnerRatio:a,saRotation:a,saHeight:a,saOffset:a,saAperture:a,vfOriginX:a,vfOriginY:a,vfSpanX:a,vfSpanY:a,vfActiveRes:a,vfRBound:a}),"IrradianceParams"),ai={storageTexture:Mo(JY,"write-only")},XO=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Py},outTex:ai}),"irradianceAnalyticLayout"),Jm=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Py},outTex:ai,sdfSource:{texture:ps(a)},samp:{sampler:"filtering"}}),"irradianceSvgLayout"),nl=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Py},outTex:ai,silhouetteTex:{texture:ps(a)},samp:{sampler:"filtering"}}),"irradianceFieldLayout"),ep=1e3,ku=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return b(oe(t,ep),__tsover_mul(ep,-1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"v"}],body:[0,[[10,[6,"std.max",[[6,"std.min",["v","FAR"]],[1,"FAR","*",[4,"-",[5,"1"]]]]]]]]},externals:{"std.max":()=>b,"std.min":()=>oe,FAR:()=>ep}})&&e.f)({})).$name("irradianceSane"),Ob=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=$(t,l(0,0),l(1,1));return j(t.sub(s))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"c",[6,"std.clamp",["uv",[6,"d.vec2f",[[5,"0"],[5,"0"]]],[6,"d.vec2f",[[5,"1"],[5,"1"]]]]]],[10,[6,"std.length",[[6,[7,"uv","sub"],["c"]]]]]]]},externals:{"std.clamp":()=>$,"d.vec2f":()=>l,"std.length":()=>j}})&&e.f)({})).$name("irradianceBeyondSquare");var HO=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=zl(Jm.$.sdfSource,Jm.$.samp,t,a(0)).x,r=Ob(t);return ku(C(s,b(r,__tsover_sub(s,r)),r>0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"border",[7,[6,"std.textureSampleLevel",[[7,[7,"irradianceSvgLayout","$"],"sdfSource"],[7,[7,"irradianceSvgLayout","$"],"samp"],"uv",[6,"d.f32",[[5,"0"]]]]],"x"]],[13,"beyond",[6,"beyondSquare",["uv"]]],[10,[6,"sane",[[6,"std.select",["border",[6,"std.max",["beyond",[1,"border","-","beyond"]]],[1,"beyond",">",[5,"0"]]]]]]]]]},externals:{"std.textureSampleLevel":()=>zl,irradianceSvgLayout:()=>Jm,"d.f32":()=>a,beyondSquare:()=>Ob,sane:()=>ku,"std.select":()=>C,"std.max":()=>b}})&&e.f)({})).$name("irradianceSvgField"),jO=v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=nl.$.params,r=$(t.x,s.vfOriginX,__tsover_add(s.vfOriginX,s.vfSpanX)),o=$(t.y,s.vfOriginY,__tsover_add(s.vfOriginY,s.vfSpanY)),n=j(l(__tsover_sub(t.x,r),__tsover_sub(t.y,o))),i=__tsover_sub(j(l(__tsover_sub(t.x,.5),__tsover_sub(t.y,.5))),s.vfRBound),d=l(__tsover_div(__tsover_sub(r,s.vfOriginX),s.vfSpanX),__tsover_div(__tsover_sub(o,s.vfOriginY),s.vfSpanY)),c=zl(nl.$.silhouetteTex,nl.$.samp,d,a(0)),_=__tsover_mul(c.z,c.w);return ku(C(_,b(b(n,i),__tsover_sub(_,n)),n>0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"}],body:[0,[[13,"p",[7,[7,"irradianceFieldLayout","$"],"params"]],[13,"cx",[6,"std.clamp",[[7,"uv","x"],[7,"p","vfOriginX"],[1,[7,"p","vfOriginX"],"+",[7,"p","vfSpanX"]]]]],[13,"cy",[6,"std.clamp",[[7,"uv","y"],[7,"p","vfOriginY"],[1,[7,"p","vfOriginY"],"+",[7,"p","vfSpanY"]]]]],[13,"outside",[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-","cx"],[1,[7,"uv","y"],"-","cy"]]]]]],[13,"circle",[1,[6,"std.length",[[6,"d.vec2f",[[1,[7,"uv","x"],"-",[5,"0.5"]],[1,[7,"uv","y"],"-",[5,"0.5"]]]]]],"-",[7,"p","vfRBound"]]],[13,"tuv",[6,"d.vec2f",[[1,[1,"cx","-",[7,"p","vfOriginX"]],"/",[7,"p","vfSpanX"]],[1,[1,"cy","-",[7,"p","vfOriginY"]],"/",[7,"p","vfSpanY"]]]]],[13,"sil",[6,"std.textureSampleLevel",[[7,[7,"irradianceFieldLayout","$"],"silhouetteTex"],[7,[7,"irradianceFieldLayout","$"],"samp"],"tuv",[6,"d.f32",[[5,"0"]]]]]],[13,"inDomain",[1,[7,"sil","z"],"*",[7,"sil","w"]]],[13,"beyond",[6,"std.max",[[6,"std.max",["outside","circle"]],[1,"inDomain","-","outside"]]]],[10,[6,"sane",[[6,"std.select",["inDomain","beyond",[1,"outside",">",[5,"0"]]]]]]]]]},externals:{irradianceFieldLayout:()=>nl,"std.clamp":()=>$,"std.length":()=>j,"d.vec2f":()=>l,"std.textureSampleLevel":()=>zl,"d.f32":()=>a,"std.max":()=>b,sane:()=>ku,"std.select":()=>C}})&&e.f)({})).$name("irradianceVolumetricField"),Kw=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({vfOriginX:a,vfOriginY:a,vfSpanX:a,vfSpanY:a,vfActiveRes:a,vfRBound:a,res:a,step:a}),"SilhouetteParams"),Ii=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Kw},fieldTex:{texture:ps(a),sampleType:"unfilterable-float"},out:ai}),"silhouetteSeedLayout"),Kd=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({params:{uniform:Kw},src:{texture:ps(a)},out:ai}),"silhouetteStepLayout"),{fieldSampleFastArg:Vb}=ay(),Ai=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ii.$.params,o=Vb(l(__tsover_add(r.vfOriginX,__tsover_mul(__tsover_div(__tsover_add(t,.5),r.res),r.vfSpanX)),__tsover_add(r.vfOriginY,__tsover_mul(__tsover_div(__tsover_add(s,.5),r.res),r.vfSpanY))),Ii.$.fieldTex,r.vfOriginX,r.vfOriginY,r.vfSpanX,r.vfSpanY,r.vfActiveRes,r.vfRBound).x;return C(a(1),a(-1),o<0)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"tx"},{type:"i",name:"ty"}],body:[0,[[13,"p",[7,[7,"silhouetteSeedLayout","$"],"params"]],[13,"uv",[6,"d.vec2f",[[1,[7,"p","vfOriginX"],"+",[1,[1,[1,"tx","+",[5,"0.5"]],"/",[7,"p","res"]],"*",[7,"p","vfSpanX"]]],[1,[7,"p","vfOriginY"],"+",[1,[1,[1,"ty","+",[5,"0.5"]],"/",[7,"p","res"]],"*",[7,"p","vfSpanY"]]]]]],[13,"v",[7,[6,"fieldSampleFastArg",["uv",[7,[7,"silhouetteSeedLayout","$"],"fieldTex"],[7,"p","vfOriginX"],[7,"p","vfOriginY"],[7,"p","vfSpanX"],[7,"p","vfSpanY"],[7,"p","vfActiveRes"],[7,"p","vfRBound"]]],"x"]],[10,[6,"std.select",[[6,"d.f32",[[5,"1"]]],[6,"d.f32",[[4,"-",[5,"1"]]]],[1,"v","<",[5,"0"]]]]]]]},externals:{silhouetteSeedLayout:()=>Ii,"d.vec2f":()=>l,fieldSampleFastArg:()=>Vb,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})).$name("silhouetteInside"),KO=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ii.$.params,o=a(t),n=a(s),i=Ai(o,n),d=__tsover_sub(r.res,1),c=Ai(b(__tsover_sub(o,1),0),n),_=Ai(oe(__tsover_add(o,1),d),n),u=Ai(o,b(__tsover_sub(n,1),0)),m=Ai(o,oe(__tsover_add(n,1),d)),p=c!==i||_!==i||u!==i||m!==i,y=__tsover_add(r.vfOriginX,__tsover_mul(__tsover_div(__tsover_add(o,.5),r.res),r.vfSpanX)),h=__tsover_add(r.vfOriginY,__tsover_mul(__tsover_div(__tsover_add(n,.5),r.res),r.vfSpanY)),g=C(x(-1,-1,6e4,i),x(y,h,0,i),p);jr(Ii.$.out,Ge(t,s),g)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"p",[7,[7,"silhouetteSeedLayout","$"],"params"]],[13,"fx",[6,"d.f32",["cx"]]],[13,"fy",[6,"d.f32",["cy"]]],[13,"s0",[6,"silhouetteInside",["fx","fy"]]],[13,"maxT",[1,[7,"p","res"],"-",[5,"1"]]],[13,"sL",[6,"silhouetteInside",[[6,"std.max",[[1,"fx","-",[5,"1"]],[5,"0"]]],"fy"]]],[13,"sR",[6,"silhouetteInside",[[6,"std.min",[[1,"fx","+",[5,"1"]],"maxT"]],"fy"]]],[13,"sD",[6,"silhouetteInside",["fx",[6,"std.max",[[1,"fy","-",[5,"1"]],[5,"0"]]]]]],[13,"sU",[6,"silhouetteInside",["fx",[6,"std.min",[[1,"fy","+",[5,"1"]],"maxT"]]]]],[13,"boundary",[3,[3,[3,[1,"sL","!==","s0"],"||",[1,"sR","!==","s0"]],"||",[1,"sD","!==","s0"]],"||",[1,"sU","!==","s0"]]],[13,"sx",[1,[7,"p","vfOriginX"],"+",[1,[1,[1,"fx","+",[5,"0.5"]],"/",[7,"p","res"]],"*",[7,"p","vfSpanX"]]]],[13,"sy",[1,[7,"p","vfOriginY"],"+",[1,[1,[1,"fy","+",[5,"0.5"]],"/",[7,"p","res"]],"*",[7,"p","vfSpanY"]]]],[13,"seed",[6,"std.select",[[6,"d.vec4f",[[4,"-",[5,"1"]],[4,"-",[5,"1"]],[5,"60000"],"s0"]],[6,"d.vec4f",["sx","sy",[5,"0"],"s0"]],"boundary"]]],[6,"std.textureStore",[[7,[7,"silhouetteSeedLayout","$"],"out"],[6,"d.vec2u",["cx","cy"]],"seed"]]]]},externals:{silhouetteSeedLayout:()=>Ii,"d.f32":()=>a,silhouetteInside:()=>Ai,"std.max":()=>b,"std.min":()=>oe,"std.select":()=>C,"d.vec4f":()=>x,"std.textureStore":()=>jr,"d.vec2u":()=>Ge}})&&e.f)({})).$name("silhouetteSeed"),ZO=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Kd.$.params,o=a(t),n=a(s),i=l(__tsover_add(r.vfOriginX,__tsover_mul(__tsover_div(__tsover_add(o,.5),r.res),r.vfSpanX)),__tsover_add(r.vfOriginY,__tsover_mul(__tsover_div(__tsover_add(n,.5),r.res),r.vfSpanY))),d=Be(Kd.$.src,Ge(t,s),0),c=x(d),_=__tsover_sub(r.res,1);for(let u=-1;u<=1;u++)for(let m=-1;m<=1;m++){let p=$(__tsover_add(o,__tsover_mul(a(m),r.step)),0,_),y=$(__tsover_add(n,__tsover_mul(a(u),r.step)),0,_),h=Be(Kd.$.src,Ge(R(p),R(y)),0);if(h.x>=0){let g=j(h.xy.sub(i));g=",[5,"0"]],[0,[[13,"dist",[6,"std.length",[[6,[7,[7,"n","xy"],"sub"],["here"]]]]],[11,[1,"dist","<",[7,"best","z"]],[0,[[2,"best","=",[6,"d.vec4f",[[7,"n","x"],[7,"n","y"],"dist",[7,"best","w"]]]]]]]]]]]]]]]],[6,"std.textureStore",[[7,[7,"silhouetteStepLayout","$"],"out"],[6,"d.vec2u",["cx","cy"]],[6,"d.vec4f",[[7,"best","x"],[7,"best","y"],[7,"best","z"],[7,"self","w"]]]]]]]},externals:{silhouetteStepLayout:()=>Kd,"d.f32":()=>a,"d.vec2f":()=>l,"std.textureLoad":()=>Be,"d.vec2u":()=>Ge,"d.vec4f":()=>x,"std.clamp":()=>$,"d.u32":()=>R,"std.length":()=>j,"std.textureStore":()=>jr}})&&e.f)({})).$name("silhouetteStep");var eL=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({weight:a}),"AccumulateParams"),Zd=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({sample:{texture:ps(a)},prev:{texture:ps(a)},out:ai,params:{uniform:eL}}),"accumulateLayout"),QO=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ge(t,s),o=Be(Zd.$.sample,r,0),n=Be(Zd.$.prev,r,0),i=Zd.$.params.weight;jr(Zd.$.out,r,C(n.add(o.sub(n).mul(i)),o,i>=1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"at",[6,"d.vec2u",["cx","cy"]]],[13,"s",[6,"std.textureLoad",[[7,[7,"accumulateLayout","$"],"sample"],"at",[5,"0"]]]],[13,"prev",[6,"std.textureLoad",[[7,[7,"accumulateLayout","$"],"prev"],"at",[5,"0"]]]],[13,"w",[7,[7,[7,"accumulateLayout","$"],"params"],"weight"]],[6,"std.textureStore",[[7,[7,"accumulateLayout","$"],"out"],"at",[6,"std.select",[[6,[7,"prev","add"],[[6,[7,[6,[7,"s","sub"],["prev"]],"mul"],["w"]]]],"s",[1,"w",">=",[5,"1"]]]]]]]]},externals:{"d.vec2u":()=>Ge,"std.textureLoad":()=>Be,accumulateLayout:()=>Zd,"std.textureStore":()=>jr,"std.select":()=>C}})&&e.f)({})).$name("irradianceAccumulate"),tp=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({src:{texture:ps(a)},out:ai}),"copyLayout"),JO=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=Ge(t,s);jr(tp.$.out,r,Be(tp.$.src,r,0))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"at",[6,"d.vec2u",["cx","cy"]]],[6,"std.textureStore",[[7,[7,"copyLayout","$"],"out"],"at",[6,"std.textureLoad",[[7,[7,"copyLayout","$"],"src"],"at",[5,"0"]]]]]]]},externals:{"d.vec2u":()=>Ge,"std.textureStore":()=>jr,copyLayout:()=>tp,"std.textureLoad":()=>Be}})&&e.f)({})).$name("irradianceCopy");var{createSdfDataTexture:eV,analyticSubPropValues:tV,parseShapeConfigValue:sV}=n1,{createVolumetricFieldComputeNode:rV}=yd;var oV=[[1/16,-3/16],[-1/16,3/16],[5/16,1/16],[-3/16,-5/16],[-5/16,5/16],[-7/16,-1/16],[3/16,7/16],[7/16,-7/16]];var tL=Le;function bd(e){let t=e.uvContext??e.ctx.uv,s=e.effectiveViewportSize??e.ctx.viewportSize;return{uv:t,viewport:s,aspect:ye(mr(s.member("x"),s.member("y")),"aspect")}}function s_(e,t="dir"){let s=N(e,tL);return ye(Jt(t_(s),Uo(s)),t)}var nV=v.fn([l,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return l(t.x,__tsover_sub(__tsover_mul(s,2),t.y))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"lineY"}],body:[0,[[10,[6,"d.vec2f",[[7,"uv","x"],[1,[1,"lineY","*",[5,"2"]],"-",[7,"uv","y"]]]]]]]},externals:{"d.vec2f":()=>l}})&&e.f)({})),aV=v.fn([x,x,a,a,a,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=b(__tsover_sub(r,o),0),c=b(n,.001),_=b(__tsover_mul(c,i),1e-4),u=__tsover_sub(c,_),m=__tsover_sub(1,re(u,c,d)),p=__tsover_mul(s.w,m),y=__tsover_sub(1,p);return X(t,x(s.xyz.mul(m).add(t.xyz.mul(y)),__tsover_add(p,__tsover_mul(t.w,y))),x(De(o,r)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"original"},{type:"i",name:"refl"},{type:"i",name:"uvY"},{type:"i",name:"lineY"},{type:"i",name:"distance"},{type:"i",name:"falloff"}],body:[0,[[13,"distBelow",[6,"std.max",[[1,"uvY","-","lineY"],[5,"0"]]]],[13,"distanceMax",[6,"std.max",["distance",[5,"0.001"]]]],[13,"fadeWidth",[6,"std.max",[[1,"distanceMax","*","falloff"],[5,"0.0001"]]]],[13,"fadeStart",[1,"distanceMax","-","fadeWidth"]],[13,"visibility",[1,[5,"1"],"-",[6,"std.smoothstep",["fadeStart","distanceMax","distBelow"]]]],[13,"effReflA",[1,[7,"refl","w"],"*","visibility"]],[13,"oneMinusReflA",[1,[5,"1"],"-","effReflA"]],[13,"belowRgb",[6,[7,[6,[7,[7,"refl","xyz"],"mul"],["visibility"]],"add"],[[6,[7,[7,"original","xyz"],"mul"],["oneMinusReflA"]]]]],[13,"belowA",[1,"effReflA","+",[1,[7,"original","w"],"*","oneMinusReflA"]]],[13,"belowLine",[6,"d.vec4f",["belowRgb","belowA"]]],[13,"isBelowLine",[6,"std.step",["lineY","uvY"]]],[10,[6,"std.mix",["original","belowLine",[6,"d.vec4f",["isBelowLine"]]]]]]]},externals:{"std.max":()=>b,"std.smoothstep":()=>re,"d.vec4f":()=>x,"std.step":()=>De,"std.mix":()=>X}})&&e.f)({}));var iV=v.fn([x,x,x],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=r.w,n=$(s.xyz.mul(r.xyz).mul(o),f(0,0,0),f(1,1,1)),i=f(1,1,1),d=i.sub(i.sub(t.xyz).mul(i.sub(n))),c=__tsover_add(t.w,__tsover_mul(__tsover_mul(s.w,o),__tsover_sub(1,t.w)));return x(d.x,d.y,d.z,$(c,0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"base"},{type:"i",name:"glow"},{type:"i",name:"tintStrength"}],body:[0,[[13,"strength",[7,"tintStrength","w"]],[13,"bloomC",[6,"std.clamp",[[6,[7,[6,[7,[7,"glow","xyz"],"mul"],[[7,"tintStrength","xyz"]]],"mul"],["strength"]],[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]]]],[13,"one",[6,"d.vec3f",[[5,"1"],[5,"1"],[5,"1"]]]],[13,"screened",[6,[7,"one","sub"],[[6,[7,[6,[7,"one","sub"],[[7,"base","xyz"]]],"mul"],[[6,[7,"one","sub"],["bloomC"]]]]]]],[13,"a",[1,[7,"base","w"],"+",[1,[1,[7,"glow","w"],"*","strength"],"*",[1,[5,"1"],"-",[7,"base","w"]]]]],[10,[6,"d.vec4f",[[7,"screened","x"],[7,"screened","y"],[7,"screened","z"],[6,"std.clamp",["a",[5,"0"],[5,"1"]]]]]]]]},externals:{"std.clamp":()=>$,"d.vec3f":()=>f,"d.vec4f":()=>x}})&&e.f)({})).$name("tintedScreenGlow");var dV=v.fn([l,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r)=>{"use gpu";let o=__tsover_mul(s,.006),n=__tsover_mul(__tsover_add(__tsover_mul(Y(__tsover_mul(r,1.7)),.5),__tsover_mul(Y(__tsover_add(__tsover_mul(r,.9),1.3)),.5)),o),i=__tsover_mul(__tsover_add(__tsover_mul(Y(__tsover_add(__tsover_mul(r,1.3),.7)),.5),__tsover_mul(Y(__tsover_mul(r,2.3)),.5)),o),d=__tsover_mul(__tsover_mul(Y(__tsover_mul(r,.6)),s),.004),c=H(d),_=Y(d),u=t.sub(l(.5,.5)),m=__tsover_sub(__tsover_mul(u.x,c),__tsover_mul(u.y,_)),p=__tsover_add(__tsover_mul(u.x,_),__tsover_mul(u.y,c));return l(__tsover_add(__tsover_add(m,.5),n),__tsover_add(__tsover_add(p,.5),i))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"amount"},{type:"i",name:"t"}],body:[0,[[13,"amp",[1,"amount","*",[5,"0.006"]]],[13,"ox",[1,[1,[1,[6,"std.sin",[[1,"t","*",[5,"1.7"]]]],"*",[5,"0.5"]],"+",[1,[6,"std.sin",[[1,[1,"t","*",[5,"0.9"]],"+",[5,"1.3"]]]],"*",[5,"0.5"]]],"*","amp"]],[13,"oy",[1,[1,[1,[6,"std.sin",[[1,[1,"t","*",[5,"1.3"]],"+",[5,"0.7"]]]],"*",[5,"0.5"]],"+",[1,[6,"std.sin",[[1,"t","*",[5,"2.3"]]]],"*",[5,"0.5"]]],"*","amp"]],[13,"ang",[1,[1,[6,"std.sin",[[1,"t","*",[5,"0.6"]]]],"*","amount"],"*",[5,"0.004"]]],[13,"c",[6,"std.cos",["ang"]]],[13,"s",[6,"std.sin",["ang"]]],[13,"p",[6,[7,"uv","sub"],[[6,"d.vec2f",[[5,"0.5"],[5,"0.5"]]]]]],[13,"rx",[1,[1,[7,"p","x"],"*","c"],"-",[1,[7,"p","y"],"*","s"]]],[13,"ry",[1,[1,[7,"p","x"],"*","s"],"+",[1,[7,"p","y"],"*","c"]]],[10,[6,"d.vec2f",[[1,[1,"rx","+",[5,"0.5"]],"+","ox"],[1,[1,"ry","+",[5,"0.5"]],"+","oy"]]]]]]},externals:{"std.sin":()=>Y,"std.cos":()=>H,"d.vec2f":()=>l}})&&e.f)({})).$name("swayUV");var vc=ao,Nb=.35,cV=v.fn([a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";let s=__tsover_mul(.18,t),r=Ce(z(Y(__tsover_mul(s,vc))),10),o=Ce(z(Y(__tsover_mul(__tsover_sub(s,.15),vc))),10);return $(__tsover_add(r,__tsover_mul(.6,o)),0,1)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"animTime"}],body:[0,[[13,"time",[1,[5,"0.18"],"*","animTime"]],[13,"first",[6,"std.pow",[[6,"std.abs",[[6,"std.sin",[[1,"time","*","TWO_PI"]]]]],[5,"10"]]]],[13,"second",[6,"std.pow",[[6,"std.abs",[[6,"std.sin",[[1,[1,"time","-",[5,"0.15"]],"*","TWO_PI"]]]]],[5,"10"]]]],[10,[6,"std.clamp",[[1,"first","+",[1,[5,"0.6"],"*","second"]],[5,"0"],[5,"1"]]]]]]},externals:{"std.pow":()=>Ce,"std.abs":()=>z,"std.sin":()=>Y,TWO_PI:()=>vc,"std.clamp":()=>$}})&&e.f)({})),_V=v.fn([a,l,l,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=__tsover_add(__tsover_mul(_,1.2),131),y=b(__tsover_mul(__tsover_mul(.5,n),Nb),.002),h=z(__tsover_add(__tsover_div(t,b(o,.001)),X(y,a(0),i))),g=X(y,__tsover_mul(3,y),i),w=__tsover_div(2,__tsover_mul(r.y,b(o,.001))),S=oe(X(g,__tsover_mul(g,-1),i),__tsover_add(g,w)),T=b(X(g,__tsover_mul(g,-1),i),__tsover_add(g,w)),A=__tsover_sub(1,re(S,T,h));A=Ce($(A,0,1),__tsover_add(1,i));let P=l(__tsover_sub(s.x,.5),__tsover_sub(s.y,.5)).mul(__tsover_add(.5,__tsover_mul(2.5,d))),U=__tsover_mul(.5,p),D=Br(l(__tsover_add(__tsover_mul(P.x,2.7),U),__tsover_add(__tsover_mul(P.y,2.7),U))),O=Br(l(__tsover_sub(__tsover_mul(P.x,3.4),U),__tsover_sub(__tsover_mul(P.y,3.4),U))),L=__tsover_sub($(__tsover_mul(3,D),0,1),O),G=$(__tsover_add(y,.2),.1,.4),W=Ce($(__tsover_sub(1,re(__tsover_mul(G,-1),__tsover_add(G,w),h)),0,1),2);L=__tsover_mul(L,W),L=__tsover_mul(__tsover_mul(__tsover_mul(30,L),L),__tsover_mul(__tsover_mul(.5,c),c)),L=__tsover_mul(L,X(a(1),m,u)),A=$(__tsover_add(A,$(L,0,1)),0,1);let K=__tsover_div(tt(__tsover_sub(s.y,.5),__tsover_sub(s.x,.5)),vc);return l(A,K)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fieldRaw"},{type:"i",name:"sdfUV"},{type:"i",name:"viewport"},{type:"i",name:"scale"},{type:"i",name:"thickness"},{type:"i",name:"softness"},{type:"i",name:"smokeSize"},{type:"i",name:"smokeAmt"},{type:"i",name:"animTime"},{type:"i",name:"pulse"},{type:"i",name:"beat"}],body:[0,[[13,"t",[1,[1,"animTime","*",[5,"1.2"]],"+",[5,"131"]]],[13,"th",[6,"std.max",[[1,[1,[5,"0.5"],"*","thickness"],"*","BAND_THICKNESS_REF"],[5,"0.002"]]]],[13,"f",[1,[1,"fieldRaw","/",[6,"std.max",["scale",[5,"0.001"]]]],"+",[6,"std.mix",["th",[6,"d.f32",[[5,"0"]]],"softness"]]]],[13,"bd",[6,"std.abs",["f"]]],[13,"borderTh",[6,"std.mix",["th",[1,[5,"3"],"*","th"],"softness"]]],[13,"aa",[1,[5,"2"],"/",[1,[7,"viewport","y"],"*",[6,"std.max",["scale",[5,"0.001"]]]]]],[13,"e0",[6,"std.min",[[6,"std.mix",["borderTh",[1,"borderTh","*",[4,"-",[5,"1"]]],"softness"]],[1,"borderTh","+","aa"]]]],[13,"e1",[6,"std.max",[[6,"std.mix",["borderTh",[1,"borderTh","*",[4,"-",[5,"1"]]],"softness"]],[1,"borderTh","+","aa"]]]],[12,"border",[1,[5,"1"],"-",[6,"std.smoothstep",["e0","e1","bd"]]]],[2,"border","=",[6,"std.pow",[[6,"std.clamp",["border",[5,"0"],[5,"1"]]],[1,[5,"1"],"+","softness"]]]],[13,"suv",[6,[7,[6,"d.vec2f",[[1,[7,"sdfUV","x"],"-",[5,"0.5"]],[1,[7,"sdfUV","y"],"-",[5,"0.5"]]]],"mul"],[[1,[5,"0.5"],"+",[1,[5,"2.5"],"*","smokeSize"]]]]],[13,"drift",[1,[5,"0.5"],"*","t"]],[13,"n1",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,[7,"suv","x"],"*",[5,"2.7"]],"+","drift"],[1,[1,[7,"suv","y"],"*",[5,"2.7"]],"+","drift"]]]]]],[13,"n2",[6,"noise.value12",[[6,"d.vec2f",[[1,[1,[7,"suv","x"],"*",[5,"3.4"]],"-","drift"],[1,[1,[7,"suv","y"],"*",[5,"3.4"]],"-","drift"]]]]]],[12,"smoke",[1,[6,"std.clamp",[[1,[5,"3"],"*","n1"],[5,"0"],[5,"1"]]],"-","n2"]],[13,"smokeTh",[6,"std.clamp",[[1,"th","+",[5,"0.2"]],[5,"0.1"],[5,"0.4"]]]],[13,"smokeBand",[6,"std.pow",[[6,"std.clamp",[[1,[5,"1"],"-",[6,"std.smoothstep",[[1,"smokeTh","*",[4,"-",[5,"1"]]],[1,"smokeTh","+","aa"],"bd"]]],[5,"0"],[5,"1"]]],[5,"2"]]]],[2,"smoke","=",[1,"smoke","*","smokeBand"]],[2,"smoke","=",[1,[1,[1,[5,"30"],"*","smoke"],"*","smoke"],"*",[1,[1,[5,"0.5"],"*","smokeAmt"],"*","smokeAmt"]]],[2,"smoke","=",[1,"smoke","*",[6,"std.mix",[[6,"d.f32",[[5,"1"]]],"beat","pulse"]]]],[2,"border","=",[6,"std.clamp",[[1,"border","+",[6,"std.clamp",["smoke",[5,"0"],[5,"1"]]]],[5,"0"],[5,"1"]]]],[13,"angle01",[1,[6,"std.atan2",[[1,[7,"sdfUV","y"],"-",[5,"0.5"]],[1,[7,"sdfUV","x"],"-",[5,"0.5"]]]],"/","TWO_PI"]],[10,[6,"d.vec2f",["border","angle01"]]]]]},externals:{"std.max":()=>b,BAND_THICKNESS_REF:()=>Nb,"std.mix":()=>X,"d.f32":()=>a,"std.abs":()=>z,"std.min":()=>oe,"std.smoothstep":()=>re,"std.pow":()=>Ce,"std.clamp":()=>$,"d.vec2f":()=>l,"noise.value12":()=>Br,"std.atan2":()=>tt,TWO_PI:()=>vc}})&&e.f)({})),lV=v.fn([a,a,a,a,a,a,a,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c,_,u,m)=>{"use gpu";let p=__tsover_add(__tsover_mul(r,1.2),131),y=__tsover_add(1,__tsover_mul(__tsover_add(1,__tsover_mul(4,_)),c)),h=a(0),g=a(0);for(let w=0;w<5;w++){let S=a(w),T=C(a(0),a(1),Sa,"std.select":()=>C,"noise.hash22":()=>er,"d.vec2f":()=>l,"std.abs":()=>z,"std.sin":()=>Y,"std.cos":()=>H,"std.floor":()=>q,"std.clamp":()=>$,"std.mix":()=>X,"std.fract":()=>ue,"std.smoothstep":()=>re}})&&e.f)({})),gl=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({rgb:f,w:a,ba:a,ac:f,aa:a}),"EdgeGlowAccum"),uV=v.fn([],gl)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(()=>{"use gpu";return gl({rgb:f(0,0,0),w:a(0),ba:a(0),ac:f(0,0,0),aa:a(0)})}),{v:2,name:void 0,ast:{params:[],body:[0,[[10,[6,"EdgeGlowAccum",[[104,{rgb:[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],w:[6,"d.f32",[[5,"0"]]],ba:[6,"d.f32",[[5,"0"]]],ac:[6,"d.vec3f",[[5,"0"],[5,"0"],[5,"0"]]],aa:[6,"d.f32",[[5,"0"]]]}]]]]]]},externals:{EdgeGlowAccum:()=>gl,"d.vec3f":()=>f,"d.f32":()=>a}})&&e.f)({}));var mV=v.fn([pt(x,8),a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=t[Z(s)];return x(r.x,r.y,r.z,r.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"colors"},{type:"i",name:"idx"}],body:[0,[[13,"c",[8,"colors",[6,"d.i32",["idx"]]]],[10,[6,"d.vec4f",[[7,"c","x"],[7,"c","y"],[7,"c","z"],[7,"c","w"]]]]]]},externals:{"d.i32":()=>Z,"d.vec4f":()=>x}})&&e.f)({})),pV=v.fn([gl,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_mul(s,4),o=X(t.rgb.mul(t.ba),t.ac,f(r)),n=$(X(t.ba,t.aa,r),0,1);return x($(o.div(b(n,1e-4)),f(0),f(1)),n)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"st"},{type:"i",name:"bloom"}],body:[0,[[13,"k",[1,"bloom","*",[5,"4"]]],[13,"blendPremult",[6,[7,[7,"st","rgb"],"mul"],[[7,"st","ba"]]]],[13,"accumC",[6,"std.mix",["blendPremult",[7,"st","ac"],[6,"d.vec3f",["k"]]]]],[13,"accumA",[6,"std.clamp",[[6,"std.mix",[[7,"st","ba"],[7,"st","aa"],"k"]],[5,"0"],[5,"1"]]]],[13,"straight",[6,"std.clamp",[[6,[7,"accumC","div"],[[6,"std.max",["accumA",[5,"0.0001"]]]]],[6,"d.vec3f",[[5,"0"]]],[6,"d.vec3f",[[5,"1"]]]]]],[10,[6,"d.vec4f",["straight","accumA"]]]]]},externals:{"std.mix":()=>X,"d.vec3f":()=>f,"std.clamp":()=>$,"std.max":()=>b,"d.vec4f":()=>x}})&&e.f)({}));var sp=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({crackIntensity:a,edgeNormal:l,displacedUV:l,disp:l}),"CrackGeom"),fV=v.fn([l,a,a,a,a,a,a,a],sp)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d,c)=>{"use gpu";let _=l(s,r),u=l(o,n),m=l(i,d),p=t.sub(_),y=j(p),h=j(t.sub(u)),g=j(m),w=__tsover_sub(h,y),S=__tsover_mul(c,.005),T=__tsover_sub(1,re(0,S,w)),A=re(0,.01,g),P=__tsover_mul(T,A),U=p.div(b(y,1e-5));return sp({crackIntensity:P,edgeNormal:l(__tsover_mul(U.y,-1),U.x),displacedUV:t.sub(m),disp:m})}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"nPosX"},{type:"i",name:"nPosY"},{type:"i",name:"sPosX"},{type:"i",name:"sPosY"},{type:"i",name:"dispX"},{type:"i",name:"dispY"},{type:"i",name:"crackWidth"}],body:[0,[[13,"nearestPos",[6,"d.vec2f",["nPosX","nPosY"]]],[13,"secondPos",[6,"d.vec2f",["sPosX","sPosY"]]],[13,"disp",[6,"d.vec2f",["dispX","dispY"]]],[13,"fromNearest",[6,[7,"uv","sub"],["nearestPos"]]],[13,"minDist1",[6,"std.length",["fromNearest"]]],[13,"minDist2",[6,"std.length",[[6,[7,"uv","sub"],["secondPos"]]]]],[13,"displacementMag",[6,"std.length",["disp"]]],[13,"edgeDiff",[1,"minDist2","-","minDist1"]],[13,"crackThreshold",[1,"crackWidth","*",[5,"0.005"]]],[13,"baseCrackIntensity",[1,[5,"1"],"-",[6,"std.smoothstep",[[5,"0"],"crackThreshold","edgeDiff"]]]],[13,"displacementFactor",[6,"std.smoothstep",[[5,"0"],[5,"0.01"],"displacementMag"]]],[13,"crackIntensity",[1,"baseCrackIntensity","*","displacementFactor"]],[13,"toNearest",[6,[7,"fromNearest","div"],[[6,"std.max",["minDist1",[5,"0.00001"]]]]]],[13,"edgeNormal",[6,"d.vec2f",[[1,[7,"toNearest","y"],"*",[4,"-",[5,"1"]]],[7,"toNearest","x"]]]],[13,"displacedUV",[6,[7,"uv","sub"],["disp"]]],[10,[6,"CrackGeom",[[104,{crackIntensity:"crackIntensity",edgeNormal:"edgeNormal",displacedUV:"displacedUV",disp:"disp"}]]]]]]},externals:{"d.vec2f":()=>l,"std.length":()=>j,"std.smoothstep":()=>re,"std.max":()=>b,CrackGeom:()=>sp}})&&e.f)({})),vV=v.fn([l,l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=s.mul(__tsover_mul(o,.01)),c=__tsover_mul(n,.005),_=s.mul(__tsover_mul(i,c)),u=d.add(_);return t.add(u.mul(r))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"displacedUV"},{type:"i",name:"edgeNormal"},{type:"i",name:"crackIntensity"},{type:"i",name:"refractionStrength"},{type:"i",name:"chromaticSplit"},{type:"i",name:"channel"}],body:[0,[[13,"refractionOffset",[6,[7,"edgeNormal","mul"],[[1,"refractionStrength","*",[5,"0.01"]]]]],[13,"chromaticOffset",[1,"chromaticSplit","*",[5,"0.005"]]],[13,"chromaShift",[6,[7,"edgeNormal","mul"],[[1,"channel","*","chromaticOffset"]]]],[13,"offset",[6,[7,"refractionOffset","add"],["chromaShift"]]],[10,[6,[7,"displacedUV","add"],[[6,[7,"offset","mul"],["crackIntensity"]]]]]]]},externals:{}})&&e.f)({})),qb=.3/Math.hypot(.3,.6),Xb=.6/Math.hypot(.3,.6),yV=v.fn([x,x,x,x,a,l,a],x)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i,d)=>{"use gpu";let c=f(s.x,r.y,o.z),_=t.xyz.mul(__tsover_sub(1,n)).add(c.mul(n)),u=j(i),m=__tsover_div(i.x,__tsover_add(u,.001)),p=__tsover_div(i.y,__tsover_add(u,.001)),y=__tsover_add(__tsover_mul(m,qb),__tsover_mul(p,Xb)),h=__tsover_add(1,__tsover_mul(y,d)),g=re(0,.02,u),w=__tsover_add(1,__tsover_mul(__tsover_sub(h,1),g));return x(_.mul(w),t.w)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"normalColor"},{type:"i",name:"rFinal"},{type:"i",name:"gFinal"},{type:"i",name:"bFinal"},{type:"i",name:"crackIntensity"},{type:"i",name:"disp"},{type:"i",name:"shardLighting"}],body:[0,[[13,"refractedRGB",[6,"d.vec3f",[[7,"rFinal","x"],[7,"gFinal","y"],[7,"bFinal","z"]]]],[13,"shadedRGB",[6,[7,[6,[7,[7,"normalColor","xyz"],"mul"],[[1,[5,"1"],"-","crackIntensity"]]],"add"],[[6,[7,"refractedRGB","mul"],["crackIntensity"]]]]],[13,"displacementLength",[6,"std.length",["disp"]]],[13,"tiltX",[1,[7,"disp","x"],"/",[1,"displacementLength","+",[5,"0.001"]]]],[13,"tiltY",[1,[7,"disp","y"],"/",[1,"displacementLength","+",[5,"0.001"]]]],[13,"normalDot",[1,[1,"tiltX","*","SHARD_LIGHT_DIR_X"],"+",[1,"tiltY","*","SHARD_LIGHT_DIR_Y"]]],[13,"lightingFactor",[1,[5,"1"],"+",[1,"normalDot","*","shardLighting"]]],[13,"lightingIntensity",[6,"std.smoothstep",[[5,"0"],[5,"0.02"],"displacementLength"]]],[13,"finalLighting",[1,[5,"1"],"+",[1,[1,"lightingFactor","-",[5,"1"]],"*","lightingIntensity"]]],[13,"finalRGB",[6,[7,"shadedRGB","mul"],["finalLighting"]]],[10,[6,"d.vec4f",["finalRGB",[7,"normalColor","w"]]]]]]},externals:{"d.vec3f":()=>f,"std.length":()=>j,SHARD_LIGHT_DIR_X:()=>qb,SHARD_LIGHT_DIR_Y:()=>Xb,"std.smoothstep":()=>re,"d.vec4f":()=>x}})&&e.f)({}));var{formatFloat:hV}=Wz;var xV=v.fn([l,a,a,a,a],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n)=>{"use gpu";let i=zx(s),d=l(__tsover_div(H(i),o),Y(i)),c=__tsover_mul(r,.1),_=d.mul(c);return t.add(_.mul(n))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"angle"},{type:"i",name:"strength"},{type:"i",name:"aspect"},{type:"i",name:"channelOffset"}],body:[0,[[13,"angleRad",[6,"std.radians",["angle"]]],[13,"direction",[6,"d.vec2f",[[1,[6,"std.cos",["angleRad"]],"/","aspect"],[6,"std.sin",["angleRad"]]]]],[13,"scaledStrength",[1,"strength","*",[5,"0.1"]]],[13,"offsetBase",[6,[7,"direction","mul"],["scaledStrength"]]],[10,[6,[7,"uv","add"],[[6,[7,"offsetBase","mul"],["channelOffset"]]]]]]]},externals:{"std.radians":()=>zx,"d.vec2f":()=>l,"std.cos":()=>H,"std.sin":()=>Y}})&&e.f)({}));var Zw="rgba16float",Qw=16384;var gV=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({buffer:{storage:pt(x,Qw),access:"mutable"},params:{uniform:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cursorX:a,cursorY:a,mouseVelX:a,mouseVelY:a,dt:a,decay:a,intensity:a,radius:a,aspect:a}),"uniform")}}),"splatUpdateLayout"),bV=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({buffer:{storage:pt(x,Qw),access:"readonly"},dispTex:{storageTexture:Mo(Zw,"write-only")}}),"splatOutputLayout");var An=64,Rf=An*An,rp=An-1,xo=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({readBuf:{storage:pt(x,Rf),access:"readonly"},writeBuf:{storage:pt(x,Rf),access:"mutable"},params:{uniform:(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({cursorX:a,cursorY:a,dirX:a,dirY:a,clampedSpeed:a,dt:a,subDt:a,stiffness:a,dampFactor:a,radius:a,aspect:a}),"uniform")}}),"latticeLayout"),op=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(v.bindGroupLayout({srcBuf:{storage:pt(x,Rf),access:"readonly"},dispTex:{storageTexture:Mo(Zw,"write-only")}}),"latticeOutputLayout"),wV=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";if(t>R(0)&&tR(0)&&s.01){let W=__tsover_div(__tsover_add(a(t),.5),a(An)),K=__tsover_div(__tsover_add(a(s),.5),a(An)),Q=C(__tsover_sub(W,r.cursorX),__tsover_mul(__tsover_sub(W,r.cursorX),r.aspect),r.aspect>=1),te=C(__tsover_div(__tsover_sub(K,r.cursorY),r.aspect),__tsover_sub(K,r.cursorY),r.aspect>=1),ee=__tsover_add(__tsover_mul(Q,Q),__tsover_mul(te,te)),he=__tsover_mul(r.radius,3);if(ee<__tsover_mul(he,he)){let Ee=ct(__tsover_mul(__tsover_div(ee,__tsover_mul(r.radius,r.radius)),-1)),Te=__tsover_mul(__tsover_mul(__tsover_mul(Ee,r.clampedSpeed),r.dt),2);D=__tsover_add(D,__tsover_mul(r.dirX,Te)),O=__tsover_add(O,__tsover_mul(r.dirY,Te))}}let L=$(__tsover_add(d,__tsover_mul(D,r.subDt)),-.5,.5),G=$(__tsover_add(c,__tsover_mul(O,r.subDt)),-.5,.5);xo.$.writeBuf[n]=x(L,G,D,O)}}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[11,[3,[3,[3,[1,"cx",">",[6,"d.u32",[[5,"0"]]]],"&&",[1,"cx","<",[6,"d.u32",["LATTICE_MAX"]]]],"&&",[1,"cy",">",[6,"d.u32",[[5,"0"]]]]],"&&",[1,"cy","<",[6,"d.u32",["LATTICE_MAX"]]]],[0,[[13,"p",[7,[7,"latticeLayout","$"],"params"]],[13,"gs",[6,"d.u32",["LATTICE_GRID"]]],[13,"idx",[1,[1,"cy","*","gs"],"+","cx"]],[13,"current",[8,[7,[7,"latticeLayout","$"],"readBuf"],"idx"]],[13,"dispX",[7,"current","x"]],[13,"dispY",[7,"current","y"]],[13,"velX",[7,"current","z"]],[13,"velY",[7,"current","w"]],[13,"nL",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,"idx","-",[6,"d.u32",[[5,"1"]]]]]],[13,"nR",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,"idx","+",[6,"d.u32",[[5,"1"]]]]]],[13,"nU",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,"idx","-","gs"]]],[13,"nD",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,"idx","+","gs"]]],[13,"nUL",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,[1,"idx","-","gs"],"-",[6,"d.u32",[[5,"1"]]]]]],[13,"nUR",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,[1,"idx","-","gs"],"+",[6,"d.u32",[[5,"1"]]]]]],[13,"nDL",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,[1,"idx","+","gs"],"-",[6,"d.u32",[[5,"1"]]]]]],[13,"nDR",[8,[7,[7,"latticeLayout","$"],"readBuf"],[1,[1,"idx","+","gs"],"+",[6,"d.u32",[[5,"1"]]]]]],[12,"fx",[1,[7,"p","stiffness"],"*",[1,[1,[1,[1,[7,"nL","x"],"-","dispX"],"+",[1,[7,"nR","x"],"-","dispX"]],"+",[1,[7,"nU","x"],"-","dispX"]],"+",[1,[7,"nD","x"],"-","dispX"]]]],[12,"fy",[1,[7,"p","stiffness"],"*",[1,[1,[1,[1,[7,"nL","y"],"-","dispY"],"+",[1,[7,"nR","y"],"-","dispY"]],"+",[1,[7,"nU","y"],"-","dispY"]],"+",[1,[7,"nD","y"],"-","dispY"]]]],[13,"shearK",[1,[7,"p","stiffness"],"*",[5,"0.35"]]],[2,"fx","=",[1,"fx","+",[1,"shearK","*",[1,[1,[1,[1,[7,"nUL","x"],"-","dispX"],"+",[1,[7,"nUR","x"],"-","dispX"]],"+",[1,[7,"nDL","x"],"-","dispX"]],"+",[1,[7,"nDR","x"],"-","dispX"]]]]],[2,"fy","=",[1,"fy","+",[1,"shearK","*",[1,[1,[1,[1,[7,"nUL","y"],"-","dispY"],"+",[1,[7,"nUR","y"],"-","dispY"]],"+",[1,[7,"nDL","y"],"-","dispY"]],"+",[1,[7,"nDR","y"],"-","dispY"]]]]],[2,"fx","=",[1,"fx","-",[1,[1,[7,"p","stiffness"],"*",[5,"0.1"]],"*","dispX"]]],[2,"fy","=",[1,"fy","-",[1,[1,[7,"p","stiffness"],"*",[5,"0.1"]],"*","dispY"]]],[12,"newVelX",[1,[1,"velX","*",[7,"p","dampFactor"]],"+",[1,"fx","*",[7,"p","subDt"]]]],[12,"newVelY",[1,[1,"velY","*",[7,"p","dampFactor"]],"+",[1,"fy","*",[7,"p","subDt"]]]],[11,[1,[7,"p","clampedSpeed"],">",[5,"0.01"]],[0,[[13,"cellX",[1,[1,[6,"d.f32",["cx"]],"+",[5,"0.5"]],"/",[6,"d.f32",["LATTICE_GRID"]]]],[13,"cellY",[1,[1,[6,"d.f32",["cy"]],"+",[5,"0.5"]],"/",[6,"d.f32",["LATTICE_GRID"]]]],[13,"ddx",[6,"std.select",[[1,"cellX","-",[7,"p","cursorX"]],[1,[1,"cellX","-",[7,"p","cursorX"]],"*",[7,"p","aspect"]],[1,[7,"p","aspect"],">=",[5,"1"]]]]],[13,"ddy",[6,"std.select",[[1,[1,"cellY","-",[7,"p","cursorY"]],"/",[7,"p","aspect"]],[1,"cellY","-",[7,"p","cursorY"]],[1,[7,"p","aspect"],">=",[5,"1"]]]]],[13,"distSq",[1,[1,"ddx","*","ddx"],"+",[1,"ddy","*","ddy"]]],[13,"influenceRadius",[1,[7,"p","radius"],"*",[5,"3"]]],[11,[1,"distSq","<",[1,"influenceRadius","*","influenceRadius"]],[0,[[13,"influence",[6,"std.exp",[[1,[1,"distSq","/",[1,[7,"p","radius"],"*",[7,"p","radius"]]],"*",[4,"-",[5,"1"]]]]]],[13,"forceMag",[1,[1,[1,"influence","*",[7,"p","clampedSpeed"]],"*",[7,"p","dt"]],"*",[5,"2"]]],[2,"newVelX","=",[1,"newVelX","+",[1,[7,"p","dirX"],"*","forceMag"]]],[2,"newVelY","=",[1,"newVelY","+",[1,[7,"p","dirY"],"*","forceMag"]]]]]]]]],[13,"newDispX",[6,"std.clamp",[[1,"dispX","+",[1,"newVelX","*",[7,"p","subDt"]]],[4,"-",[5,"0.5"]],[5,"0.5"]]]],[13,"newDispY",[6,"std.clamp",[[1,"dispY","+",[1,"newVelY","*",[7,"p","subDt"]]],[4,"-",[5,"0.5"]],[5,"0.5"]]]],[2,[8,[7,[7,"latticeLayout","$"],"writeBuf"],"idx"],"=",[6,"d.vec4f",["newDispX","newDispY","newVelX","newVelY"]]]]]]]]},externals:{"d.u32":()=>R,LATTICE_MAX:()=>rp,latticeLayout:()=>xo,LATTICE_GRID:()=>An,"d.f32":()=>a,"std.select":()=>C,"std.exp":()=>ct,"std.clamp":()=>$,"d.vec4f":()=>x}})&&e.f)({})).$name("springLatticeStep"),TV=v.fn([R,R])((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=__tsover_add(__tsover_mul(s,R(An)),t),o=op.$.srcBuf[r];jr(op.$.dispTex,Ge(t,s),x(o.x,o.y,0,1))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"cx"},{type:"i",name:"cy"}],body:[0,[[13,"idx",[1,[1,"cy","*",[6,"d.u32",["LATTICE_GRID"]]],"+","cx"]],[13,"cell",[8,[7,[7,"latticeOutputLayout","$"],"srcBuf"],"idx"]],[6,"std.textureStore",[[7,[7,"latticeOutputLayout","$"],"dispTex"],[6,"d.vec2u",["cx","cy"]],[6,"d.vec4f",[[7,"cell","x"],[7,"cell","y"],[5,"0"],[5,"1"]]]]]]]},externals:{"d.u32":()=>R,LATTICE_GRID:()=>An,latticeOutputLayout:()=>op,"std.textureStore":()=>jr,"d.vec2u":()=>Ge,"d.vec4f":()=>x}})&&e.f)({})).$name("springLatticeOutput");var Hb=Le,SV=v.fn([l,a,l,a,a,a],f)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=l(__tsover_mul(t.x,s),t.y),c=l(__tsover_mul(r.x,s),__tsover_sub(1,r.y)),_=__tsover_sub(d.x,c.x),u=__tsover_sub(d.y,c.y),m=__tsover_mul(o,Hb),p=H(m),y=Y(m),h=__tsover_add(__tsover_mul(_,p),__tsover_mul(u,y)),g=__tsover_sub(__tsover_mul(u,p),__tsover_mul(_,y)),w=__tsover_add(__tsover_div(h,__tsover_mul(n,2)),.5),S=__tsover_add(__tsover_div(g,__tsover_mul(i,2)),.5);return f(w,S,__tsover_mul(__tsover_mul(__tsover_mul(De(0,w),De(w,1)),De(0,S)),De(S,1)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"aspect"},{type:"i",name:"center"},{type:"i",name:"rotationDeg"},{type:"i",name:"halfW"},{type:"i",name:"halfH"}],body:[0,[[13,"aspectUV",[6,"d.vec2f",[[1,[7,"uv","x"],"*","aspect"],[7,"uv","y"]]]],[13,"centerPos",[6,"d.vec2f",[[1,[7,"center","x"],"*","aspect"],[1,[5,"1"],"-",[7,"center","y"]]]]],[13,"dx",[1,[7,"aspectUV","x"],"-",[7,"centerPos","x"]]],[13,"dy",[1,[7,"aspectUV","y"],"-",[7,"centerPos","y"]]],[13,"rotRad",[1,"rotationDeg","*","OBF_DEG_TO_RAD"]],[13,"cosR",[6,"std.cos",["rotRad"]]],[13,"sinR",[6,"std.sin",["rotRad"]]],[13,"rdx",[1,[1,"dx","*","cosR"],"+",[1,"dy","*","sinR"]]],[13,"rdy",[1,[1,"dy","*","cosR"],"-",[1,"dx","*","sinR"]]],[13,"localU",[1,[1,"rdx","/",[1,"halfW","*",[5,"2"]]],"+",[5,"0.5"]]],[13,"localV",[1,[1,"rdy","/",[1,"halfH","*",[5,"2"]]],"+",[5,"0.5"]]],[13,"insideMask",[1,[1,[1,[6,"std.step",[[5,"0"],"localU"]],"*",[6,"std.step",["localU",[5,"1"]]]],"*",[6,"std.step",[[5,"0"],"localV"]]],"*",[6,"std.step",["localV",[5,"1"]]]]],[10,[6,"d.vec3f",["localU","localV","insideMask"]]]]]},externals:{"d.vec2f":()=>l,OBF_DEG_TO_RAD:()=>Hb,"std.cos":()=>H,"std.sin":()=>Y,"std.step":()=>De,"d.vec3f":()=>f}})&&e.f)({})),yc=it,jb=Le,AV=v.fn([l,a,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=__tsover_mul(s,jb),c=H(d),_=Y(d),u=__tsover_add(__tsover_mul(t.x,__tsover_mul(_,-1)),__tsover_mul(t.y,c)),m=H(__tsover_add(__tsover_mul(__tsover_mul(u,r),yc),o)),p=X(-1.15,1.15,$(n,0,1));return re(__tsover_sub(p,i),__tsover_add(p,i),m)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"angleDeg"},{type:"i",name:"frequency"},{type:"i",name:"reliefPhase"},{type:"i",name:"level"},{type:"i",name:"aa"}],body:[0,[[13,"angleRad",[1,"angleDeg","*","HP_DEG_TO_RAD"]],[13,"c",[6,"std.cos",["angleRad"]]],[13,"s",[6,"std.sin",["angleRad"]]],[13,"w",[1,[1,[7,"p","x"],"*",[1,"s","*",[4,"-",[5,"1"]]]],"+",[1,[7,"p","y"],"*","c"]]],[13,"phase",[1,[1,[1,"w","*","frequency"],"*","HP_TAU"],"+","reliefPhase"]],[13,"v",[6,"std.cos",["phase"]]],[13,"thr",[6,"std.mix",[[4,"-",[5,"1.15"]],[5,"1.15"],[6,"std.clamp",["level",[5,"0"],[5,"1"]]]]]],[10,[6,"std.smoothstep",[[1,"thr","-","aa"],[1,"thr","+","aa"],"v"]]]]]},externals:{HP_DEG_TO_RAD:()=>jb,"std.cos":()=>H,"std.sin":()=>Y,HP_TAU:()=>yc,"std.mix":()=>X,"std.clamp":()=>$,"std.smoothstep":()=>re}})&&e.f)({})),MV=v.fn([l,l,a,a,a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s,r,o,n,i)=>{"use gpu";let d=t.sub(s),c=j(d),_=tt(d.y,d.x),u=H(__tsover_add(__tsover_mul(__tsover_sub(__tsover_mul(c,r),__tsover_mul(_,__tsover_div(1,yc))),yc),o)),m=X(-1.15,1.15,$(n,0,1));return re(__tsover_sub(m,i),__tsover_add(m,i),u)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"p"},{type:"i",name:"c"},{type:"i",name:"frequency"},{type:"i",name:"reliefPhase"},{type:"i",name:"level"},{type:"i",name:"aa"}],body:[0,[[13,"dv",[6,[7,"p","sub"],["c"]]],[13,"r",[6,"std.length",["dv"]]],[13,"theta",[6,"std.atan2",[[7,"dv","y"],[7,"dv","x"]]]],[13,"phase",[1,[1,[1,[1,"r","*","frequency"],"-",[1,"theta","*",[1,[5,"1"],"/","HP_TAU"]]],"*","HP_TAU"],"+","reliefPhase"]],[13,"v",[6,"std.cos",["phase"]]],[13,"thr",[6,"std.mix",[[4,"-",[5,"1.15"]],[5,"1.15"],[6,"std.clamp",["level",[5,"0"],[5,"1"]]]]]],[10,[6,"std.smoothstep",[[1,"thr","-","aa"],[1,"thr","+","aa"],"v"]]]]]},externals:{"std.length":()=>j,"std.atan2":()=>tt,HP_TAU:()=>yc,"std.cos":()=>H,"std.mix":()=>X,"std.clamp":()=>$,"std.smoothstep":()=>re}})&&e.f)({}));var PV=ut({pos:l,dir:l,spd:a}).$name("AgentPose");var EV=ut({rhat:l,strength:a,phi:a}).$name("AgentFieldSample");var kV=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return C(C(__tsover_mul(Gs(__tsover_add(__tsover_mul(t,2.3987),.517)),3.141592653589793),a(0),s>.5),a(1.5707963267948966),s>1.5)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"fi"},{type:"i",name:"restMode"}],body:[0,[[13,"randAng",[1,[6,"noise.hash11",[[1,[1,"fi","*",[5,"2.3987"]],"+",[5,"0.517"]]]],"*",[5,"3.141592653589793"]]],[13,"a",[6,"std.select",["randAng",[6,"d.f32",[[5,"0"]]],[1,"restMode",">",[5,"0.5"]]]]],[10,[6,"std.select",["a",[6,"d.f32",[[5,"1.5707963267948966"]]],[1,"restMode",">",[5,"1.5"]]]]]]]},externals:{"noise.hash11":()=>Gs,"std.select":()=>C,"d.f32":()=>a}})&&e.f)({})).$name("agentRestAngle");var $V=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return se(t,f(.299,.587,.114))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),UV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return __tsover_sub(1,se(t,f(.299,.587,.114)))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[1,[5,"1"],"-",[6,"std.dot",["rgb",[6,"d.vec3f",[[5,"0.299"],[5,"0.587"],[5,"0.114"]]]]]]]]]},externals:{"std.dot":()=>se,"d.vec3f":()=>f}})&&e.f)({})),CV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t.x}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[7,"rgb","x"]]]]},externals:{}})&&e.f)({})),RV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t.y}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[7,"rgb","y"]]]]},externals:{}})&&e.f)({})),zV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return t.z}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[10,[7,"rgb","z"]]]]},externals:{}})&&e.f)({})),GV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(b(t.x,t.y),t.z),o=oe(oe(t.x,t.y),t.z);return __tsover_sub(r,o)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"rgb"},{type:"i",name:"_a"}],body:[0,[[13,"mx",[6,"std.max",[[6,"std.max",[[7,"rgb","x"],[7,"rgb","y"]]],[7,"rgb","z"]]]],[13,"mn",[6,"std.min",[[6,"std.min",[[7,"rgb","x"],[7,"rgb","y"]]],[7,"rgb","z"]]]],[10,[1,"mx","-","mn"]]]]},externals:{"std.max":()=>b,"std.min":()=>oe}})&&e.f)({})),YV=v.fn([f,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return s}),{v:2,name:void 0,ast:{params:[{type:"i",name:"_rgb"},{type:"i",name:"a"}],body:[0,[[10,"a"]]]},externals:{}})&&e.f)({}));var LV=v.fn([a,a],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";let r=b(t,0),o=b(s,0);return __tsover_add(oe(b(t,s),0),be(__tsover_add(__tsover_mul(r,r),__tsover_mul(o,o))))}),{v:2,name:void 0,ast:{params:[{type:"i",name:"d2"},{type:"i",name:"wz"}],body:[0,[[13,"ox",[6,"std.max",["d2",[5,"0"]]]],[13,"oz",[6,"std.max",["wz",[5,"0"]]]],[10,[1,[6,"std.min",[[6,"std.max",["d2","wz"]],[5,"0"]]],"+",[6,"std.sqrt",[[1,[1,"ox","*","ox"],"+",[1,"oz","*","oz"]]]]]]]]},externals:{"std.max":()=>b,"std.min":()=>oe,"std.sqrt":()=>be}})&&e.f)({})).$name("shapeFieldExtrudeZ");var sL=4*Math.PI,wd=[{scale:2,offsets:[[5.2,1.3],[1.7,9.2]],reach:.25},{scale:1.5,offsets:[[8.3,2.8],[3.1,7.4]],reach:.2}],r_=$o({name:"FlowingGradient",role:"generator",boundingBoxDeclaration:{aspectRatio:null,supportsResizeFit:!0},category:"Textures",description:"Liquid silk gradient with organic flowing color bands",acceptsUVContext:!0,animatedTime:{speed:"speed"},extraFields:{convA:{schema:f,initial:[0,0,0]},convB:{schema:f,initial:[0,0,0]},convC:{schema:f,initial:[0,0,0]},convD:{schema:f,initial:[0,0,0]}},props:{colorA:{default:"#0a0015",transform:ts,description:"Deep background color",ui:{type:"color",label:"Color A",group:"Colors"}},colorB:{default:"#6b17e6",transform:ts,description:"Primary accent color",ui:{type:"color",label:"Color B",group:"Colors"}},colorC:{default:"#ff4d6a",transform:ts,description:"Secondary accent color",ui:{type:"color",label:"Color C",group:"Colors"}},colorD:{default:"#ff6b35",transform:ts,description:"Tertiary accent color",ui:{type:"color",label:"Color D",group:"Colors"}},colorSpace:{default:"oklch",transform:ir,compileTime:!0,description:"Color space for color interpolation",ui:{type:"select",options:Ho,label:"Color Space",group:"Colors"}},speed:{default:1,description:"Animation speed",ui:{type:"range",min:0,max:10,step:.1,label:"Speed",group:"Effect"}},distortion:{default:.5,description:"Organic distortion intensity",ui:{type:["range","map"],min:0,max:2,step:.1,label:"Distortion",group:"Effect"}},seed:{default:0,description:"Random seed for variation",ui:{type:["range","map"],min:0,max:100,step:1,label:"Seed",group:"Effect"}}},paint:e=>{let{uv:t,viewport:s}=bd(e),r=ye(mr(s.member("x"),xa(s.member("y"),1e-6)),"aspect"),o=ye(N(uo(e),.075),"flowTime"),n=ye(N(Dt(zt("seed"),e),.17),"flowSeed"),i=ye(Dt(zt("distortion"),e),"flowStrength"),d=ye(fs(t,.5),"flowCentred"),c=ye(N(N(Sn(tr($e(N(d.member("x"),.8),N(o,.4)),fs(N(d.member("y"),.8),N(o,.25)),n)),sL),i),"flowAngle"),_=ye(p1(Jt(d.member("x"),mr(d.member("y"),r)),t_(c),Uo(c)),"flowSpun"),u=ye(Jt(_.member("x"),N(_.member("y"),r)),"flowRot"),m=N(o,2),p=ye($e(u.member("x"),N(mr(Uo($e(N(u.member("y"),5),m)),50),i)),"flowShearX"),y=ye(Ty({at:Jt(p,$e(u.member("y"),N(mr(Uo($e(N(p,7.5),m)),25),i))),scale:wd[0].scale,z:$e(N(o,.5),n),offsets:wd[0].offsets,reach:wd[0].reach,strength:i}),"flowWarp1"),h=ye($e(N(o,.3),n),"flowTz"),g=ye(Ty({at:y.member("xy"),scale:wd[1].scale,z:h,offsets:wd[1].offsets,reach:wd[1].reach,strength:i}),"flowWarp2"),w=Sn(tr(N(g.member("x"),1.8),N(g.member("y"),1.8),h)),S=ye(nd($e(N(y.member("z"),.5),.5),1.5),"flowHardness"),T=ye(Co(.5,.008,S),"flowEdge"),A=ye(Ss(N(T,-1),T,w),"flowT1"),P=ye(Ss(N(T,-1),T,y.member("w")),"flowT2"),U=ye(kw({a:zt("colorA"),b:zt("colorB"),c:zt("colorC"),d:zt("colorD"),space:zt("colorSpace")})(A,P,e),"flowBase"),D=G=>fs(1,m1(fs(N(G,2),1))),O=N(xa(D(A),D(P)),S),L=N($e(N($e(N(g.member("z"),.5),.5),.12),.94),$e(1,N(O,.35)));return ni(gr(N(U.member("rgb"),L),ln(0),ln(1)),U.member("a"))}});var o_=$o({name:"Godrays",role:"generator",boundingBoxDeclaration:{aspectRatio:null,supportsResizeFit:!0},category:"Textures",description:"Volumetric light rays emanating from a point",acceptsUVContext:!0,animatedTime:{speed:"speed"},props:{center:{default:{x:0,y:0},transform:ho,description:"The center point of the god rays",ui:{type:"position",label:"Center",group:"Position"}},density:{default:.3,description:"Frequency of ray sectors",ui:{type:["range","map"],min:0,max:1,step:.1,label:"Density",group:"Effect"}},intensity:{default:.8,description:"Ray visibility within sectors",ui:{type:["range","map"],min:0,max:1,step:.1,label:"Intensity",group:"Effect"}},spotty:{default:1,description:"Density of spots on rays (higher = more spots)",ui:{type:["range","map"],min:0,max:1,step:.1,label:"Spotty",group:"Effect"}},speed:{default:.5,description:"Animation speed of the rays",ui:{type:"range",min:0,max:2,step:.1,label:"Speed",group:"Animation"}},rayColor:{default:"#4283fb",transform:ts,description:"Color of the light rays",ui:{type:"color",label:"Ray Color",group:"Colors"}},backgroundColor:{default:"transparent",transform:ts,description:"Background color",ui:{type:"color",label:"Background Color",group:"Colors"}}},paint:Rw({color:zt("rayColor"),background:zt("backgroundColor"),coverage:Uw($w(zt("center")),Cw({density:zt("density"),intensity:zt("intensity"),spotty:zt("spotty")}))})});var{isMobileGpuViewport:rL}=yd,oL=JSON.stringify({type:"sphere3D",radius:.35});function Jw(e,t,s,r,o,n,i){let d=ye(fs(N(e,s),N(t,r)),"ex"),c=ye($e(N(e,r),N(t,s)),"ey"),_=ye(Jt(d,c),"p"),u=ye(Ss(-.7,.85,c),"sky"),m=N(N(u,u),.4),p=ye(N(o,1.05),"r0"),y=Ss(p,N(p,.2),gd(fs(_,Jt($e(0,n),.55))));m=$e(m,N(N(y,1.75),i));let h=ye(N(o,1.25),"r1"),g=Ss(h,N(h,.2),gd(fs(_,Jt($e(-.45,n),-.4))));m=$e(m,N(N(g,1.15),i));let w=ye(N(o,1.15),"r2"),S=Ss(w,N(w,.2),gd(fs(_,Jt($e(.55,n),.1))));return $e(m,N(N(S,1.1),i))}var n_=$o({name:"LiquidMetal",role:"shapeEffect",species:"custom",boundingBoxDeclaration:i1,category:"Shape Effects",description:"Flowing liquid chrome \u2014 a molten reflective surface that wraps the shape, sweeping a procedural studio reflection across animated folds with crisp speculars and prismatic edges",animatedTime:{speed:"speed"},...h1({pattern:"raw",surface:(e,t)=>{let{uniforms:s}=t,r=uo(t),o=rL(),n=x1(e,t,{scale:s.scale}),{sdf:i,pxH:d}=n,c=g1(e,n,{bevelWidth:s.bevelWidth,bevelShape:s.bevelShape}),_=zw(e,n),u=ye(N(s.ripple,2.6),"freq"),m=ye(N(r,.12),"flowT"),p=ye(Jt(N(_.member("x"),u),N(_.member("y"),u)),"q"),y=N(s.warp,.9),h=ye(Dw($e(p,N(Fw(N(p,.6),m),y)),.62),"hg"),g=ye(N(s.turbulence,.5),"relief"),w=Lw(c,N(N(h.member("x"),g),-1),N(N(h.member("y"),g),-1)),S=ye(f1(b1(t,n),w),"R"),T=ye(s.environment,"envStr"),A=ye(gr(s.sharpness,0,1),"sharp"),P=ye(Co(.5,.18,A),"keyRad"),U=ye(N(Uo(N(r,.07)),.05),"drift"),D=s_(s.envRotation,"env"),O=D.member("x"),L=D.member("y"),G=ye(T1(s_(s.lightAngle,"light"),-.7).member("H"),"Hh"),W=ye(Iw(gr($e($e(N(w.member("x"),G.member("x")),N(w.member("y"),G.member("y"))),N(w.member("z"),G.member("z"))),0,1),A,ni(60,900,.4,1.4)),"spec"),K=ye($e(Jw(S.member("x"),S.member("y"),O,L,P,U,T),W),"lumG"),Q,te;if(o)Q=K,te=K;else{let Te=fs(1,gr(N(w.member("z"),-1),0,1)),Ue=ye(N(N(s.dispersion,.09),$e(.4,N(Te,1.3))),"dth"),Me=ye($e(Jw($e(S.member("x"),N(S.member("y"),Ue)),fs(S.member("y"),N(S.member("x"),Ue)),O,L,P,U,T),W),"lumBoffset");te=Me,Q=fs(N(K,2),Me)}let ee=ye(s.darkColor.member("rgb"),"dark"),he=ye(s.lightColor.member("rgb"),"light"),Ee=ni(Co(ee.member("x"),he.member("x"),gr(Q,0,1.8)),Co(ee.member("y"),he.member("y"),gr(K,0,1.8)),Co(ee.member("z"),he.member("z"),gr(te,0,1.8)),w1(n,s.edgeSoftness));return v1(y1(i,d),Ee,xr,"liquidMetal")}}),props:{origin:{default:"center",description:"Reference edge the center position is measured from (center default). Lets you pin the shape relative to a corner or the canvas centre.",ui:{type:"origin",label:"Origin",group:"Position"}},center:{default:{x:.5,y:.5},transform:ho,description:"Center position of the metal shape",ui:{type:"position",label:"Center",group:"Position",units:["%","px"]}},scale:{default:1,description:"Scale of the metal shape (1 = default size)",ui:{type:"range",min:.1,max:3,step:.01,label:"Scale",group:"Position"}},rotation:{default:0,description:"Rotation of the metal shape in degrees",ui:{type:"range",min:0,max:360,step:1,label:"Rotation",group:"Position"}},lightColor:{default:"#eef0f6",transform:ts,description:"The bright tone of the chrome highlights",ui:{type:"color",label:"Light Color",group:"Metal"}},darkColor:{default:"#141414",transform:ts,description:"The dark tone the reflection falls to in shadow \u2014 recolor for tinted metal (gold, steel, copper\u2026)",ui:{type:"color",label:"Dark Color",group:"Metal"}},turbulence:{default:1,description:"How molten the surface is \u2014 the depth of the flowing folds that bend the reflection",ui:{type:"range",min:0,max:1.5,step:.01,label:"Turbulence",group:"Liquid"}},ripple:{default:4,description:"Scale of the molten folds \u2014 higher = smaller, busier ripples",ui:{type:"range",min:.5,max:8,step:.01,label:"Ripple Scale",group:"Liquid"}},warp:{default:1.5,description:"Swirl of the flow \u2014 domain-warps the folds into liquid curls",ui:{type:"range",min:0,max:1.5,step:.01,label:"Swirl",group:"Liquid"}},speed:{default:.5,description:"Speed of the molten flow and the slowly drifting reflection. 0 pauses.",ui:{type:"range",min:0,max:4,step:.01,label:"Speed",group:"Liquid"}},...xd({environment:{default:1.5,description:"Strength of the reflected studio lighting \u2014 the softboxes seen across the metal",ui:{group:"Surface"}},envRotation:{ui:{group:"Surface"}}}),sharpness:{default:.6,description:"Tightness of the specular highlights \u2014 1 = razor chrome glints, 0 = soft satin",ui:{type:"range",min:0,max:1,step:.01,label:"Sharpness",group:"Surface"}},...xd({dispersion:{description:"Prismatic color fringing along the reflection edges",ui:{group:"Surface"}},lightAngle:{default:265,description:"Direction of the key light for the specular glints, in degrees",ui:{group:"Surface"}}}),bevelWidth:{default:.05,description:"Width of the edge bevel, relative to the shape \u2014 thin for machined jewellery edges, wide for soft pillowed metal",ui:{type:["range","map"],min:.005,max:.2,step:.001,label:"Bevel Width",group:"Surface"}},bevelShape:{default:0,description:"Bevel profile \u2014 0 = one smooth round fillet, 1 = machined: a steep outer fillet, a chamfer plateau and an inner knee, each catching its own line of light",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Bevel Profile",group:"Surface"}},...xd({edgeSoftness:{ui:{group:"Surface"}}}),shape:{default:oL,description:"Serialized shape configuration (JSON)",ui:{type:"shape",label:"Shape",group:"Shape"}},shapeSdfUrl:{default:"",compileTime:!0,description:"URL to a pre-generated SDF .bin file"},shapeType:{default:"",compileTime:!0,description:"Active SDF shape type"}}});var nL=3.141592653589793,a_=$o({name:"Marble",role:"generator",boundingBoxDeclaration:{aspectRatio:null,supportsResizeFit:!0},category:"Textures",description:"Classic marble swirl and vein texture using noise-warped sine waves",acceptsUVContext:!0,animatedTime:{speed:"speed"},props:{colorA:{default:"#ffffff",transform:ts,description:"Base background color of the marble",ui:{type:"color",label:"Base",group:"Colors"}},colorB:{default:"#3a2d54",transform:ts,description:"Secondary marble tone",ui:{type:"color",label:"Tone",group:"Colors"}},colorC:{default:"#0f0f0f",transform:ts,description:"Deepest marble color",ui:{type:"color",label:"Depth",group:"Colors"}},scale:{default:2,description:"Scale and density of the marble vein pattern",ui:{type:["range","map"],min:.1,max:10,step:.1,label:"Scale",group:"Effect"}},turbulence:{default:10,description:"Amount of noise-driven distortion applied to the veins",ui:{type:["range","map"],min:0,max:50,step:.5,label:"Turbulence",group:"Effect"}},speed:{default:.05,description:"Animation speed",ui:{type:"range",min:0,max:.25,step:.005,label:"Speed",group:"Animation"}},seed:{default:0,description:"Random seed for pattern variation",ui:{type:["range","map"],min:0,max:100,step:1,label:"Seed",group:"Effect"}},colorSpace:{default:"linear",transform:ir,compileTime:!0,description:"Color space for color interpolation",ui:{type:"select",options:Ho,label:"Color Space",group:"Colors"}}},paint:e=>{let{uv:t,viewport:s}=bd(e),r=ye(mr(s.member("x"),xa(s.member("y"),1e-6)),"aspect"),o=ye(uo(e),"marbleTime"),n=Dt(zt("seed"),e),i=ye(N(Jt(N(t.member("x"),r),t.member("y")),Dt(zt("scale"),e)),"plane"),d=i.member("x"),c=i.member("y"),_=ye($e($e(ga(Jt($e(d,n),$e(c,o))),N(ga(Jt($e(N(d,2),N(n,1.7)),$e(N(c,2),N(o,.7)))),.5)),N(ga(Jt($e(N(d,4),N(n,3.1)),$e(N(c,4),N(o,1.3)))),.25)),"marbleTurb"),u=ye($e(N(Uo($e(N(d,nL),N(_,Dt(zt("turbulence"),e)))),.5),.5),"veinT"),m=$e(N(ga(Jt($e(N(c,1.5),N(n,2)),N(d,1.2))),.3),.5);return Tw({a:zt("colorA"),b:zt("colorB"),c:zt("colorC"),space:zt("colorSpace")})(Ss(.3,.6,u),N(Ss(.6,.9,u),m),e)}});var S1=1.6,aL=.48,iL=.125,dL=3,eT=1.9,cL=1.4,_L=.045,lL=9,uL=[{color:"#1a0533",position:0},{color:"#6d2fd1",position:.26},{color:"#e04b9e",position:.52},{color:"#ff8c42",position:.76},{color:"#ffdf8e",position:1}],i_=$o({name:"MeshGradient",role:"generator",boundingBoxDeclaration:{aspectRatio:null,supportsResizeFit:!0},category:"Textures",description:"Flowing mesh gradient of soft drifting color swaths whose seams wrap through the palette",acceptsUVContext:!0,animatedTime:{speed:"speed"},extraFields:{meshAnchors:{schema:pt(x,4),initial:new Array(16).fill(0)}},props:{colorA:{default:"#1a0533",transform:ts,description:"First gradient color (two-color fallback when stops are cleared)",ui:{type:"color",label:"Color A",group:"Colors"}},colorB:{default:"#ffdf8e",transform:ts,description:"Second gradient color (two-color fallback when stops are cleared)",ui:{type:"color",label:"Color B",group:"Colors"}},stops:{...dw(),default:uL},colorSpace:{default:"oklab",transform:ir,compileTime:!0,description:"Color space for color interpolation",ui:{type:"select",options:Ho,label:"Color Space",group:"Colors"}},count:{default:5,description:"Number of color points scattered across the canvas",ui:{type:"range",min:2,max:8,step:1,label:"Points",group:"Effect"}},smoothness:{default:2,description:"How smoothly the color points blend into each other",ui:{type:["range","map"],min:0,max:5,step:.01,label:"Smoothness",group:"Effect"}},variation:{default:.35,recompile:bw(0),description:"Varies edge softness across the canvas \u2014 some color boundaries crisp, others diffuse",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Variation",group:"Effect"}},swirl:{default:.3,description:"Vortex rotation that spirals the field around the frame centre \u2014 negative values spin the other way",ui:{type:["range","map"],min:-1,max:1,step:.01,label:"Swirl",group:"Effect"}},drift:{default:.5,description:"How far the color points wander from their home positions",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Drift",group:"Effect"}},wrapping:{default:0,description:"Wraps the palette back through itself where colors meet \u2014 banded seams where the field pinches, smooth elsewhere",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Wrapping",group:"Effect"}},speed:{default:1,description:"Animation speed",ui:{type:"range",min:0,max:10,step:.1,label:"Speed",group:"Animation"}},seed:{default:0,description:"Random seed for the point layout and palette assignment",ui:{type:["range","map"],min:0,max:100,step:1,label:"Seed",group:"Effect"}}},paint:e=>{let{uv:t,viewport:s}=bd(e),r=ye(mr(s.member("x"),xa(s.member("y"),1e-6)),"aspect"),o=ye(uo(e),"meshTime"),n=Dt(zt("seed"),e),i=ye(Jt(fs(N(t.member("x"),r),N(r,.5)),fs(t.member("y"),.5)),"meshCentred"),d=ye(N(N(-dL,Dt(zt("swirl"),e)),Ss(0,1,gd(i))),"swirlAngle"),c=ye(p1(i,t_(d),Uo(d)),"meshRot"),_=ye(Jt($e(c.member("x"),N(r,.5)),$e(c.member("y"),.5)),"meshSwirled"),u=ye(Pw({at:tr(N(_.member("x"),S1),N(_.member("y"),S1),N(n,7.31)),time:N(o,iL),amount:aL,levels:_o()?1:2}),"meshWarp"),m=ye(Jt(mr(u.member("x"),S1),mr(u.member("y"),S1)),"meshQ"),p=mr(8,$e(Dt(zt("smoothness"),e),.5)),y=e.propValues.variation,h=y!==void 0&&y!==0?gr(N(p,wy(N(N(Sn(tr(N(m.member("x"),eT),N(m.member("y"),eT),$e(N(n,3.17),N(o,_L)))),Dt(zt("variation"),e)),cL))),.6,16):gr(p,.6,16),g=Aw(e,{count:zt("count"),seed:zt("seed"),drift:zt("drift"),field:"meshAnchors"});return jw(Ew(Mw({t:Sw({at:m,count:Dt(zt("count"),e),seed:n,drift:Dt(zt("drift"),e),aspect:r,time:o,softness:h,anchors:g}),cycles:$e(1,N(Dt(zt("wrapping"),e),lL))}),e),e)}});var{isMobileGpuViewport:mL,VOLUMETRIC_FIELD_EXTRA_FIELDS:pL}=yd,{ANALYTIC_SDF_EXTRA_FIELDS:fL}=n1,vL=JSON.stringify({type:"sphere3D",radius:.35}),yL=6,hL=4,d_=$o({name:"Nebula",role:"shapeEffect",species:"custom",boundingBoxDeclaration:i1,category:"Shape Effects",description:"A volumetric gas nebula sealed inside polished glass; billowing emission clouds with hollow dark cavities and hot glowing cores, star fields drifting at real depth behind the gas, all refracted through the curved walls of the shape and dressed with studio reflections",animatedTime:{speed:"speed"},...h1({pattern:"raw",surface:(e,t)=>{let{uniforms:s}=t,r=uo(t),o=mL()?hL:yL,n=t.propValues.colorSpace??0,i,d;if(n!==0){let Fe="";t.onBeforeRender(()=>{let st=["veilColor","gasColor","coreColor"].map(Ve=>t.getCpuValue(Ve));if(st.some(Ve=>!Ve))return;let Xe=st.map(Ve=>`${Ve.x},${Ve.y},${Ve.z}`).join("|");if(Xe===Fe)return;Fe=Xe;let We=["convVeil","convGas","convCore"];st.forEach((Ve,Ft)=>{let Gt=s1(Ve.x,Ve.y,Ve.z,n);t.setExtraField(We[Ft],[Gt[0],Gt[1],Gt[2]])})});let Ie=Bv[n]??t1;i=st=>we(Ie,"mixPreconvertedColors",[s.convVeil,s.convGas,s.veilColor.member("a"),s.gasColor.member("a"),st]),d=(st,Xe,We)=>{let Ve=ye(we(fa,"mixInSpace",[s.convVeil,s.veilColor.member("a"),s.convGas,s.gasColor.member("a"),st]),`${We}AB`);return we(Ie,"mixPreconvertedColors",[Ve.member("conv"),s.convCore,Ve.member("alpha"),s.coreColor.member("a"),Xe])}}else i=Fe=>we(Bo,"mixColors",[s.veilColor,s.gasColor,Fe]),d=(Fe,Ie)=>we(Bo,"mixColors",[we(Bo,"mixColors",[s.veilColor,s.gasColor,Fe]),s.coreColor,Ie]);let c=x1(e,t,{scale:s.scale}),{sdf:_,pxH:u}=c,m=g1(e,c,{bevelWidth:Zr(.09),bevelShape:Zr(0)}),p=b1(t,c),y=Ow(e,m,ye(N(s.refraction,.16),"bend")),{x:h,y:g}=y.centered,w=Ww(e),S=Nw(c,e,{origin:y,view:p,shear:.55,lengthScale:.9}),T=S.length,A=ye(N(s.gasScale,3.1),"freq"),P=ye(N(r,.14),"drift"),U=ye(N(s.seed,7.31),"seedOff"),D=ye(N(Bw(N(y.x,311.7),N(y.y,173.3)),.15/o),"jit"),O=ye(N(ga(Jt($e($e(N(h,1.3),N(P,.6)),N(U,.37)),$e(N(g,1.3),N(U,.61)))),.5),"macro"),L=ye(Co(-.35,.5,s.cavity),"cav"),G=ye(N(s.billow,.55),"billowAmt"),W=ye(s.coreColor.member("rgb"),"coreRgb"),K=ye(s.veilColor.member("rgb"),"veilRgb"),Q=ye(N($e(.3,N(T,.9)),6/o),"eGain"),te=ye(N(N($e(.5,N(T,2.2)),s.density),3/o),"aGain"),ee=Xw({steps:o,entry:S.entry,length:S.length,jitter:D,emissionGain:Q,hint:"gasAcc"},({i:Fe,t:Ie,z:st})=>{let Xe=S.at(st),We=qw({x:Xe.x,y:Xe.y,z:st},{frequency:A,drift:P,seed:U,billow:G,hint:`${Fe}`}),Ve=Ss(0,.11,N(T,Math.min(Ie,1-Ie))),Ft=fs(1,gr(N(m1(We.fine),1.6),0,1)),Gt=ye(N(N(Ss(0,.5,fs($e(We.density,O),L)),Ve),$e(.65,N(Ft,.7))),`dens${Fe}`),os=ye(N(N(Ss(.45,.75,We.mid),Ve),s.dust),`dust${Fe}`),bs=ye(d(Ss(.05,.75,Gt),Ss(.68,1,Gt),`cB${Fe}`),`cB${Fe}`).member("rgb"),ls=1-Ie*.45,As=N(Ss(-.7,.3,We.density),N(.05,Ve));return{emit:$e($e(N(bs,N(Gt,ls)),N(W,N(nd(Gt,3),N(s.glow,1.2*ls)))),N(K,N(As,ls))),absorb:$e(ln(N(Gt,te)),N(tr(1.5,1,.55),N(os,N(te,2.2))))}}),he=ye(N(s.starScale,34),"starFreq"),Ee=ye(N(s.twinkle,.5),"twinkleAmt"),Te=My(S,{depth:1.1,pan:w,panRate:1.3,hint:"far"}),Ue=Ay(ye(Jt(N(Te.x,he),N(Te.y,he)),"farP"),{variationFreq:.13,radius:[.004,.013],keep:[.35,.75],brightness:[.3,1.2],shimmer:Fe=>Sy(r,Fe,{amount:Ee,rate:1.7,spread:40}),gain:s.stars,tint:{from:[.72,.82,1],to:[1,.92,.82],gain:1.6},hint:"starFar"}),Me=My(S,{depth:.25,pan:w,panRate:.55,hint:"near"}),Pe=N(he,.56),Re=Ay(ye(Jt($e(N(Me.x,Pe),7.3),$e(N(Me.y,Pe),2.9)),"nearP"),{variationFreq:.11,radius:[.003,.01],keep:[.45,.8],brightness:[.35,1.3],shimmer:Fe=>Sy(r,Fe,{amount:Ee,rate:2.3,spread:34}),gain:s.stars,tint:{from:[.75,.85,1],to:[1,.95,.88],gain:1.8},hint:"starNear"}),de=s_(s.lightAngle,"light"),je=ye(gr(gw(m,T1(de,-.7).member("H")),0,1),"ndh"),fe=ye(f1(p,m),"R"),Ke=ye(Gw(fe.member("x"),fe.member("y"),{rotation:de,keyRadius:.2,drift:0,strength:s.environment,skyGain:.32}),"envLum"),Ze=Vw(je,{core:[140,1.3],halo:[22,.14],softness:s.highlightSoftness,gain:s.highlight}),at=Yw(Hw([{paint:i(Zr(.25)).member("rgb"),opacity:.06,behind:ee.transmittance},ee.color,{paint:Ue.rgb,behind:ee.transmittance},{paint:Re.rgb,behind:Co(ee.transmittance,ln(1),.35)},{paint:N(tr(.85,.92,1.08),Ke),opacity:.38},N(tr(1,.98,.95),Ze)]));return v1(y1(_,u),ni(at,w1(c,s.edgeSoftness)),xr,"nebula")}}),extraFields:{...pL,...fL,convVeil:{schema:f,initial:[0,0,0]},convGas:{schema:f,initial:[0,0,0]},convCore:{schema:f,initial:[0,0,0]}},props:{origin:{default:"center",description:"Reference edge the center position is measured from (center default). Lets you pin the shape relative to a corner or the canvas centre.",ui:{type:"origin",label:"Origin",group:"Position"}},center:{default:{x:.5,y:.5},transform:ho,description:"Center position of the nebula shape",ui:{type:"position",label:"Center",group:"Position",units:["%","px"]}},scale:{default:1,description:"Scale of the nebula shape (1 = default size)",ui:{type:["range","map"],min:.1,max:3,step:.01,label:"Scale",group:"Position"}},rotation:{default:0,description:"Rotation of the nebula shape in degrees",ui:{type:"range",min:0,max:360,step:1,label:"Rotation",group:"Position"}},coreColor:{default:"#ffd9b0",transform:ts,description:"The hot color the densest gas cores glow with \u2014 the embedded newborn stars",ui:{type:"color",label:"Core Color",group:"Nebula"}},gasColor:{default:"#ff5e7a",transform:ts,description:"The main emission color of the gas body \u2014 H-alpha rose by default",ui:{type:"color",label:"Gas Color",group:"Nebula"}},veilColor:{default:"#3a5bdb",transform:ts,description:"The color of the thin outer veils and the deep-space background behind the gas",ui:{type:"color",label:"Veil Color",group:"Nebula"}},colorSpace:{default:"oklab",transform:ir,compileTime:!0,description:"Color space the veil \u2192 gas \u2192 core ramps blend in",ui:{type:"select",options:Ho,label:"Color Space",group:"Nebula"}},density:{default:1,description:"Optical density of the gas \u2014 how strongly clouds occlude the stars and gas behind them",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Density",group:"Nebula"}},cavity:{default:0,description:"How hollowed-out the nebula is \u2014 0 fills the volume with cloud banks, high carves large dark voids between them",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Cavity",group:"Nebula"}},dust:{default:.55,description:"Cold dark dust lanes threading the gas \u2014 absorb-only tendrils that redden the clouds and stars behind them",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Dust",group:"Nebula"}},gasScale:{default:.4,description:"Feature size of the gas \u2014 higher = finer, busier cloud detail",ui:{type:["range","map"],min:.1,max:1,step:.01,label:"Gas Scale",group:"Nebula"}},billow:{default:.6,description:"Turbulent folding of the clouds \u2014 0 = smooth drifting banks, 1 = heavily churned billows",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Billow",group:"Nebula"}},glow:{default:0,description:"Hot emission bloom of the dense cores",ui:{type:["range","map"],min:0,max:2,step:.01,label:"Glow",group:"Nebula"}},seed:{default:0,description:"Random seed \u2014 pans the gas field to a different region of noise space for a new cloud composition",ui:{type:["range","map"],min:0,max:100,step:1,label:"Seed",group:"Nebula"}},stars:{default:.07,description:"Brightness of the star fields drifting at depth behind and inside the gas",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Stars",group:"Stars"}},starScale:{default:1,description:"Density of the star fields \u2014 higher = smaller, busier stars",ui:{type:["range","map"],min:.25,max:3,step:.01,label:"Star Scale",group:"Stars"}},twinkle:{default:.35,description:"Intensity of the star twinkle (0 = steady stars, 1 = full shimmer)",ui:{type:["range","map"],min:0,max:1,step:.01,label:"Twinkle",group:"Stars"}},...xd({refraction:{description:"How strongly the curved glass walls bend the interior seen near the edges"},environment:{default:.7,description:"Strength of the studio softboxes reflected in the polished glass surface"},highlight:{default:1.15,description:"Sharp key-light glint on the glass",ui:{group:"Glass"}},highlightSoftness:{ui:{group:"Glass"}},lightAngle:{description:"Direction of the key light and reflected studio, in degrees"},edgeSoftness:!0}),speed:{default:.3,description:"Speed of the slowly churning gas and twinkling stars. 0 freezes the nebula.",ui:{type:"range",min:0,max:4,step:.01,label:"Speed",group:"Animation"}},shape:{default:vL,description:"Serialized shape configuration (JSON)",ui:{type:"shape",label:"Shape",group:"Shape"}},shapeSdfUrl:{default:"",compileTime:!0,description:"URL to a pre-generated SDF .bin file"},shapeType:{default:"",compileTime:!0,description:"Active SDF shape type"}}});var xL=[r_,o_,n_,a_,i_,d_].map(e=>({definition:e})),gL=e=>xL.find(t=>t.definition.name===e);var bL=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(e1({in:{vertexIndex:_r.vertexIndex},out:{pos:_r.position,uv:lt}})`{ + const pos = array(vec2f(-1, -1), vec2f(3, -1), vec2f(-1, 3)); + const uv = array(vec2f(0, 1), vec2f(2, 1), vec2f(0, -1)); + + return Out(vec4f(pos[in.vertexIndex], 0, 1), uv[in.vertexIndex]); +}`,"fullScreenTriangle");o2.disable("external-omitted");var wL=["float32-filterable","timestamp-query"],ky=new WeakMap,Ey=new WeakMap,$y=new WeakSet,Td=null,TL=new WeakSet;async function SL(e={}){if(e.device&&!$y.has(e.device)){let r=e.device,o=ky.get(r);o||(o=v.initFromDevice({device:r}),ky.set(r,o));let n=tT(o,e.onDeviceLost);return{root:o,device:r,adapter:e.adapter,createdDevice:!1,release:n}}e.device&&Ma("[gpu] injected GPU device was lost \u2014 falling back to the shared default device");let t=await AL(),s=tT(t.root,e.onDeviceLost);return{root:t.root,device:t.device,adapter:t.adapter,createdDevice:!1,release:s}}async function AL(){for(;;){let t=Td;if(!t)break;let s=await t.catch(()=>null);if(s&&!TL.has(t)&&!$y.has(s.device))return s;Td===t&&(Td=null)}let e=ML();Td=e;try{return await e}catch(t){throw Td===e&&(Td=null),t}}async function ML(){if(typeof navigator>"u"||!navigator.gpu)throw new mi("unsupported","[gpu] WebGPU is not available in this environment (navigator.gpu is undefined).");let e;try{e=await v.init({adapter:{powerPreference:"high-performance"},device:{optionalFeatures:wL}})}catch(t){let s=await ih();throw new mi(s.supported?"no-device":s.reason??"init-failed",void 0,{cause:t})}if(!e.device)throw new mi("no-device","[gpu] adapter returned no device.");return ky.set(e.device,e),{root:e,device:e.device,createdDevice:!0}}function PL(e,t,s={}){return e.configureContext({canvas:t,alphaMode:"premultiplied",...s})}function tT(e,t){let s=e.device,r=Ey.get(s);if(r||(r=new Set,Ey.set(s,r),e.device.lost.then(n=>{if($y.add(s),n.reason!=="destroyed")for(let i of[...Ey.get(s)??[]])i(n)})),!t)return()=>{};let o=r;return o.add(t),()=>o.delete(t)}function EL(){let e={value:0,advance(t,s){e.value+=t*s}};return e}var sT=new WeakMap;function ii(e){let t=sT.get(e);return t||(t=EL(),sT.set(e,t)),t}var kL=(globalThis.__TYPEGPU_AUTONAME__??(e=>e))(ut({time:a,viewportSize:l,logicalViewportSize:l,aspect:a,pointer:l,pointerActive:a}),"SystemUniforms");v.fn([l,l],l)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=((t,s)=>{"use gpu";return vr(t,s)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"uv"},{type:"i",name:"viewportSize"}],body:[0,[[10,[6,"std.mul",["uv","viewportSize"]]]]]},externals:{"std.mul":()=>vr}})&&e.f)({}));v.fn([l],a)((e=>(globalThis.__TYPEGPU_META__??=new WeakMap).set(e.f=(t=>{"use gpu";return __tsover_div(t.x,t.y)}),{v:2,name:void 0,ast:{params:[{type:"i",name:"viewportSize"}],body:[0,[[10,[1,[7,"viewportSize","x"],"/",[7,"viewportSize","y"]]]]]},externals:{}})&&e.f)({}));function $L(e){let t=2166136261,s=e.join("");for(let r=0;r>>0).toString(16).padStart(8,"0")}:${s.length}`}function UL(e={}){let t=e.maxSize??4,s=e.dispose,r=new Map,o=0,n=null,i=null;function d(_){_.lastUsed=++o}function c(){for(;r.size>t;){let _=null;for(let u of r.values())u.hash===n||u.hash===i||(!_||u.lastUsed<_.lastUsed)&&(_=u);if(!_)break;r.delete(_.hash),s?.(_.value,_.hash)}}return{getOrBuild(_,u){let m=r.get(_);if(m)return d(m),_===n?i=null:i=_,m.value;let p=u(),y={hash:_,value:p,lastUsed:++o};return r.set(_,y),n===null?(n=_,i=null):i=_,c(),p},markReady(_){if(_!==i)return;let u=r.get(_);u&&(n=_,i=null,d(u),c())},get renderValue(){let _=n??i;return _?r.get(_)?.value??null:null},get activeHash(){return n},get pendingHash(){return i},release(_){let u=r.get(_);u&&(r.delete(_),s?.(u.value,_),n===_&&(n=null),i===_&&(i=null))},has(_){return r.has(_)},get size(){return r.size},clear(){for(let _ of r.values())s?.(_.value,_.hash);r.clear(),n=null,i=null}}}var Sd="passManager";function CL(e,t){let{textureManager:s,dispatcher:r}=t,o=t.canvasFormat??RL(),n=t.rttFormat??"rgba16float",i=e.device?.limits?.maxSampledTexturesPerShaderStage,d=t.maxSampledTextures??(typeof i=="number"&&i>0?i:16),c=t.fullScreenTriangle??bL,_=new Map,u=new Set,m=null;function p(){let G=s.samplers;try{return e.createBindGroup(Nv,{linearClamp:G.linearClamp,nearestClamp:G.nearestClamp,linearRepeat:G.linearRepeat,nearestRepeat:G.nearestRepeat})}catch(W){Is(`[${Sd}] failed to build sampler bind group:`,W);return}}function y(G,W){let K=new Set;for(let Q of G.textures)if(Q.kind==="rtt")if(K.add(Q.key),_.has(Q.key))_.get(Q.key).resize(W.width,W.height);else{let te=s.createRenderTexture({width:W.width,height:W.height,format:n,label:`rtt:${Q.key}`});_.set(Q.key,te),u.add(te)}for(let[Q,te]of[..._])K.has(Q)||(te.destroy(),u.delete(te),_.delete(Q))}function h(G,W){if(!G.textureLayout||G.reads.length===0)return;let K={};for(let Q of G.reads){let te=_.get(Q),ee=W?.[Q],he=te??ee;if(!he){Is(`[${Sd}] pass "${G.entry}" reads unknown texture "${Q}"`);return}K[Q]=he.texture}G.reads.length>d&&Ma(`[${Sd}] pass samples ${G.reads.length} textures (> device limit ~${d}); composition may fail on this device.`);try{return e.createBindGroup(G.textureLayout,K)}catch(Q){Is(`[${Sd}] failed to build texture bind group:`,Q);return}}function g(G,W){return e.createRenderPipeline({vertex:c,fragment:G.entry,targets:{format:W}})}function w(G,W){if(!G.externalLayout||G.externalReads.length===0)return;let K=G.externalReads;if(K.length===1){let te=W.get(K[0]);if(!te){Is(`[${Sd}] external read "${K[0]}" has no registered source`);return}return s.createExternalTextureBinding({layout:G.externalLayout,entryKey:K[0],getSource:te})}let Q=null;return{update(){let te={};for(let ee of K){let he=W.get(ee)?.();if(!he)return Q=null,null;try{te[ee]=e.device.importExternalTexture({source:he})}catch{return Q=null,null}}return Q=e.createBindGroup(G.externalLayout,te),Q},get current(){return Q},destroy(){Q=null}}}function S(G,W,K,Q){let te=W.kind==="canvas"?o:n,ee=G.reads.filter(Ee=>K?.[Ee]),he=new Map(ee.map(Ee=>[Ee,K[Ee].texture]));return{fragment:G,pipeline:g(G,te),textureBindGroup:h(G,K),externalBinding:w(G,Q),target:W,mediaReads:ee,mediaSnapshot:he}}function T(G,W,K,Q){y(G,K);for(let Te of G.computeSteps)Te.bindInputs?.(Ue=>_.get(Ue)??Q?.[Ue]);let te=p(),ee=new Map;for(let Te of G.externalTextures)ee.set(Te.key,Te.getSource);let he=G.rttPasses.map(Te=>S(Te.fragment,{kind:"rtt",key:Te.textureKey},Q,ee)),Ee=S(G.finalPass,{kind:"canvas"},Q,ee);m={ir:G,uniformBindGroup:W,samplerBindGroup:te,computeSteps:G.computeSteps,rttPasses:he,finalPass:Ee,size:K,mediaResources:Q}}function A(G,W){let K=G.pipeline;if(m?.uniformBindGroup&&(K=K.with(m.uniformBindGroup)),G.mediaReads&&G.mediaReads.length>0&&m?.mediaResources){let Q=!1;for(let te of G.mediaReads)m.mediaResources[te].texture!==G.mediaSnapshot.get(te)&&(Q=!0);if(Q){G.textureBindGroup=h(G.fragment,m.mediaResources);for(let te of G.mediaReads)G.mediaSnapshot.set(te,m.mediaResources[te].texture)}}if(G.textureBindGroup&&(K=K.with(G.textureBindGroup)),G.fragment.usesSamplers&&m?.samplerBindGroup&&(K=K.with(m.samplerBindGroup)),G.fragment.externalReads.length>0){let Q=G.externalBinding?.update()??null;if(!Q){G.externalSkipLogged||(Ma(`[${Sd}] external texture not ready \u2014 skipping pass (${G.fragment.externalReads.join(", ")})`),G.externalSkipLogged=!0);return}K=K.with(Q)}K.withColorAttachment({view:W}).draw(3)}function P(G,W,K){if(m){for(let Q of m.computeSteps){let te=Q.getComputeNodes(W);te&&te.length&&r.dispatch(te)}K?.(),U(),A(m.finalPass,G)}}function U(){if(m)for(let G of m.rttPasses){let W=_.get(G.target.key);W&&A(G,D(W))}}function D(G){return e.unwrap(G.texture).createView()}function O(G){if(!(!G.fragment.textureLayout||G.fragment.reads.length===0)&&(G.textureBindGroup=h(G.fragment,m?.mediaResources),G.mediaReads&&G.mediaSnapshot&&m?.mediaResources))for(let W of G.mediaReads)G.mediaSnapshot.set(W,m.mediaResources[W].texture)}function L(G,W){let K=!1;for(let Q of _.values())Q.resize(G,W)&&(K=!0);if(!m)return K;if(m.size={width:G,height:W},!K)return!1;for(let Q of m.computeSteps)Q.bindInputs?.(te=>_.get(te)??m.mediaResources?.[te]);for(let Q of m.rttPasses)O(Q);return O(m.finalPass),!0}return{setComposition:T,render:P,repaintRtt:U,resize:L,get textureCount(){return u.size},get passCount(){return m?m.rttPasses.length+1:0},dispose(){for(let G of[...u])G.destroy();u.clear(),_.clear(),m=null}}}function RL(){return typeof navigator<"u"&&navigator.gpu?navigator.gpu.getPreferredCanvasFormat():"bgra8unorm"}function rT(e){return`${e}-srgb`}function zL(e){let t=new Set;function s(y,...h){return e.createTexture.call(e,y).$usage(...h)}let r,o,n,i,d={get linearClamp(){return r??=e.createSampler({magFilter:"linear",minFilter:"linear",mipmapFilter:"linear",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"})},get nearestClamp(){return o??=e.createSampler({magFilter:"nearest",minFilter:"nearest",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"})},get linearRepeat(){return n??=e.createSampler({magFilter:"linear",minFilter:"linear",mipmapFilter:"linear",addressModeU:"repeat",addressModeV:"repeat"})},get nearestRepeat(){return i??=e.createSampler({magFilter:"nearest",minFilter:"nearest",addressModeU:"repeat",addressModeV:"repeat"})}};function c(y,h,g,w,S){let T={texture:y,width:h,height:g,format:w,write(A){y.write(A)},unwrap(){return e.unwrap(y)},createSrgbView(){if(S)return e.unwrap(y).createView({format:rT(w)})},generateMipmaps(){y.generateMipmaps?.()},destroy(){t.has(T)&&(y.destroy(),t.delete(T))}};return t.add(T),T}function _(y){let{width:h,height:g,srgb:w=!1,mipLevelCount:S}=y,T=y.format??"rgba8unorm";return c(s({size:[h,g],format:T,...w?{viewFormats:[rT(T)]}:{},...S?{mipLevelCount:S}:{}},"sampled","render"),h,g,T,w)}function u(y){let{width:h,height:g,format:w,data:S}=y,T=c(s({size:[h,g],format:w},"sampled"),h,g,w,!1);return S&&T.write(S),T}function m(y){let h=y.format??"rgba16float",{mipLevelCount:g}=y,w=y.width,S=y.height;function T(P,U){return c(s({size:[P,U],format:h,...g?{mipLevelCount:g}:{}},"sampled","render"),P,U,h,!1)}let A=T(w,S);return{get texture(){return A.texture},get width(){return w},get height(){return S},format:h,write(P){A.write(P)},unwrap(){return A.unwrap()},createSrgbView(){return A.createSrgbView()},generateMipmaps(){A.generateMipmaps()},resize(P,U){return P===w&&U===S?!1:(A.destroy(),w=P,S=U,A=T(P,U),!0)},destroy(){A.destroy()}}}function p(y){let{layout:h,entryKey:g,getSource:w,staticEntries:S={}}=y,T=null;return{update(){let A=w();if(!A)return T=null,null;let P;try{P=e.device.importExternalTexture({source:A})}catch{return T=null,null}return T=e.createBindGroup(h,{...S,[g]:P}),T},get current(){return T},destroy(){T=null}}}return{samplers:d,createMediaTexture:_,createDataTexture:u,createRenderTexture:m,createExternalTextureBinding:p,get textureCount(){return t.size},destroy(){for(let y of[...t])y.destroy();t.clear()}}}function GL(e,t){let s=gL(e)?.definition?.naturalSizeKey;if(!s)return null;if("fixed"in s)return s.fixed||null;let r=t[s.fromProp];return typeof r=="string"&&r?r:null}function YL(e,t,s){if(!e||typeof e!="object")return null;let r=(i,d)=>!i||typeof i!="object"||typeof i.value!="number"?null:i.unit==="px"?i.value:i.value*d,o=r(e.width,t),n=r(e.height,s);return o!=null&&n!=null&&o>0&&n>0?{widthPx:o,heightPx:n}:null}function LL(e,t,s){let{type:r,decl:o,props:n,boundingBox:i}=e;if(!(t>0)||!(s>0)||e.requiresChild)return null;if(o?.computeBounds){let u=o.computeBounds(n,t,s);return u.widthPx>0&&u.heightPx>0?{widthPx:u.widthPx,heightPx:u.heightPx}:null}let d=o?.propBindings;if(d?.width&&d?.height){let u=Uc(d.width,n[d.width.prop],t,s),m=Uc(d.height,n[d.height.prop],t,s);return u>0&&m>0?{widthPx:u,heightPx:m}:null}let c=YL(i,t,s);if(c)return c;let _=GL(r,n);if(_){let u=v7(_);if(u)return{widthPx:u.width,heightPx:u.height}}return null}function IL(e,t){return e==null?0:typeof e=="number"?e:e.unit==="px"?e.value:e.value*t}function Uy(e,t,s){return!e||e.mode!=="column"&&e.mode!=="row"?null:{mode:e.mode,gapPx:Math.max(0,IL(e.gap,e.mode==="column"?s:t)),align:e.align??"center",anchor:e.anchor??"center",anchorOffsetX:e.anchorOffset?.x??0,anchorOffsetY:e.anchorOffset?.y??0}}var oT=e=>({ox:e.includes("left")?"start":e.includes("right")?"end":"center",oy:e.includes("top")?"start":e.includes("bottom")?"end":"center"}),A1=(e,t,s,r)=>e==="start"?r:e==="end"?s-t-r:(s-t)/2+r;function M1(e,t){let s=0,r=0;for(let o of t){let n=e.mode==="column"?o.size.heightPx:o.size.widthPx,i=e.mode==="column"?o.size.widthPx:o.size.heightPx;s+=n,r=Math.max(r,i)}return t.length>1&&(s+=e.gapPx*(t.length-1)),e.mode==="column"?{widthPx:r,heightPx:s}:{widthPx:s,heightPx:r}}function DL(e,t,s,r){let o=new Map;if(t.length===0)return o;let n=M1(e,t),{ox:i,oy:d}=oT(e.anchor),c=A1(i,n.widthPx,s,e.anchorOffsetX),_=A1(d,n.heightPx,r,e.anchorOffsetY),u=(p,y)=>e.align==="start"?0:e.align==="end"?y-p:(y-p)/2,m=0;for(let p of t)if(e.mode==="column"){let y=c+u(p.size.widthPx,n.widthPx)+p.size.widthPx/2,h=_+m+p.size.heightPx/2;o.set(p.id,{centerXPx:y,centerYPx:h}),m+=p.size.heightPx+e.gapPx}else{let y=c+m+p.size.widthPx/2,h=_+u(p.size.heightPx,n.heightPx)+p.size.heightPx/2;o.set(p.id,{centerXPx:y,centerYPx:h}),m+=p.size.widthPx+e.gapPx}return o}function FL(e,t,s){let r=Uy(e.layout,t,s);if(r){let o=Cy(e,t,s);return o.length===0?null:M1(r,o)}return LL({type:e.componentName,decl:e.decl,props:e.props,boundingBox:e.boundingBox,requiresChild:e.requiresChild,availableWidthPx:t},t,s)}function Cy(e,t,s){let r=[];for(let o of e.children){if(o.visible===!1||o.absolute)continue;let n=FL(o,t,s);n&&r.push({id:o.id,size:n,view:o})}return r}function BL(e,t,s){if(!e.decl?.computeBounds)return{x:0,y:0};let r=e.decl.computeBounds(e.props,t,s),o=typeof e.props.center?.x=="number"?e.props.center.x:.5,n=typeof e.props.center?.y=="number"?e.props.center.y:.5;return{x:r.centerXPx-o*t,y:r.centerYPx-n*s}}function WL(e,t,s,r,o,n,i,d){let c=Uy(e.layout,o,n);if(c){nT(e,c,o,n,i,{centerXPx:s,centerYPx:r},d);return}let _=e.decl?.propBindings?.x?.prop??e.decl?.propBindings?.y?.prop;if(_){if(!e.positionDriven){let u=BL(e,o,n);i.push({kind:"position",id:e.id,prop:_,value:{x:(s-u.x)/o,y:(r-u.y)/n}})}return}i.push({kind:"box",id:e.id,xPx:s-t.widthPx/2,yPx:r-t.heightPx/2,widthPx:t.widthPx,heightPx:t.heightPx})}function nT(e,t,s,r,o,n,i,d){let c=d??Cy(e,s,r);if(c.length===0)return;let _=t;if(n){let m=M1(t,c);_={...t,anchor:"top-left",anchorOffsetX:n.centerXPx-m.widthPx/2,anchorOffsetY:n.centerYPx-m.heightPx/2}}if(i){let m=M1(_,c),{ox:p,oy:y}=oT(_.anchor);i.set(e.id,{leftPx:A1(p,m.widthPx,s,_.anchorOffsetX),topPx:A1(y,m.heightPx,r,_.anchorOffsetY),widthPx:m.widthPx,heightPx:m.heightPx})}let u=DL(_,c,s,r);for(let m of c){let p=u.get(m.id);p&&WL(m.view,m.size,p.centerXPx,p.centerYPx,s,r,o,i)}}function OL(e,t,s,r){let o=[],n=i=>{let d=Uy(i.layout,t,s);if(d){let c=Cy(i,t,s);nT(i,d,t,s,o,void 0,r,c);let _=new Set(c.map(u=>u.id));for(let u of i.children)u.visible!==!1&&(_.has(u.id)||n(u));return}for(let c of i.children)c.visible!==!1&&n(c)};for(let i of e)i.visible!==!1&&n(i);return o}var VL=class{frameTimesMs=[];frameTimesIndex=0;frameTimesCount=0;maxSamples=60;targetFrameTime=16.67;jankFrameCount=0;totalFrameCount=0;memorySnapshots=[];memorySnapshotIndex=0;maxMemorySnapshots=300;nodeCount=0;rttNodeCount=0;lastCpuTime=null;lastGpuTime=null;isRendering=!1;lastFrameTimestamp=0;frameIntervals=[];frameIntervalsIndex=0;frameIntervalsCount=0;pushToCircularBuffer(e,t,s,r,o){return e.lengththis.targetFrameTime&&this.jankFrameCount++;let s=performance.now();if(this.lastFrameTimestamp>0){let r=s-this.lastFrameTimestamp,o=this.pushToCircularBuffer(this.frameIntervals,r,this.frameIntervalsIndex,this.frameIntervalsCount,this.maxSamples);this.frameIntervalsIndex=o.index,this.frameIntervalsCount=o.count}this.lastFrameTimestamp=s,this.recordMemorySnapshot()}recordCpuTime(e){this.lastCpuTime=e}recordGpuTime(e){this.lastGpuTime=e}updateNodeCounts(e,t){this.nodeCount=e,this.rttNodeCount=t}setRendering(e){this.isRendering=e}recordMemorySnapshot(){if(!performance.memory)return;let e=performance.now(),t=performance.memory.usedJSHeapSize;if(this.memorySnapshots.lengthr+o,0)/e.length,s=0;for(let r=0;r=0&&this.sortBuffer[n]>o;)this.sortBuffer[n+1]=this.sortBuffer[n],n--;this.sortBuffer[n+1]=o}let s=Math.floor(t*.99);return this.sortBuffer[Math.min(s,t-1)]}calculateComplexityScore(){return this.nodeCount+this.rttNodeCount*10}calculateIntensityScore(){let e=this.getBufferValues(this.frameTimesMs,this.frameTimesCount),t=e.length;if(t===0)return{score:0,label:"N/A"};let s=e.reduce((u,m)=>u+m,0)/t,r=Math.min(s/16.67*100,100),o=this.calculateComplexityScore(),n=Math.min(o/100*100,100),i=0;this.lastGpuTime!==null&&(i=Math.min(this.lastGpuTime/16.67*100,100));let d=this.lastGpuTime!==null?{frame:.4,gpu:.4,complexity:.2}:{frame:.7,gpu:0,complexity:.3},c=Math.round(r*d.frame+i*d.gpu+n*d.complexity),_;return c<=20?_="Very Light":c<=40?_="Light":c<=60?_="Medium":c<=80?_="Heavy":_="Very Heavy",{score:Math.min(c,100),label:_}}getStats(e){let t=this.getBufferValues(this.frameTimesMs,this.frameTimesCount),s=this.getBufferValues(this.frameIntervals,this.frameIntervalsCount),r=t.length,o=s.length>0?1e3/(s.reduce((A,P)=>A+P,0)/s.length):0,n=r>0?t.reduce((A,P)=>A+P,0)/r:0,i=r>0?Math.min(...t):0,d=r>0?Math.max(...t):0,c=this.calculateP99(t),_=this.calculateStdDev(t),u=this.totalFrameCount>0?this.jankFrameCount/this.totalFrameCount*100:0,m=performance.memory,p=m?m.usedJSHeapSize/(1024*1024):null,y=this.calculateMemoryGrowthRate(),h=n>0?n/this.targetFrameTime*100:0,g=e?.render?.calls??null,w=e?.programs?.length??null,S=e?.memory?.textures??null,T=this.calculateIntensityScore();return{fps:Math.round(o),avgFrameTime:Math.round(n*100)/100,minFrameTime:Math.round(i*100)/100,maxFrameTime:Math.round(d*100)/100,p99FrameTime:Math.round(c*100)/100,stdDevFrameTime:Math.round(_*100)/100,jankCount:this.jankFrameCount,jankPercent:Math.round(u*10)/10,nodeCount:this.nodeCount,rttNodeCount:this.rttNodeCount,complexityScore:this.calculateComplexityScore(),memoryUsedMB:p!==null?Math.round(p*100)/100:null,memoryGrowthRate:y!==null?Math.round(y*1e3)/1e3:null,cpuTime:this.lastCpuTime!==null?Math.round(this.lastCpuTime*100)/100:null,gpuTime:this.lastGpuTime!==null?Math.round(this.lastGpuTime*100)/100:null,budgetUsed:Math.round(h*10)/10,drawCalls:g,shaderPrograms:w,textureCount:S,intensityScore:T.score,intensityLabel:T.label,isRendering:this.isRendering}}reset(){this.frameTimesMs.length=0,this.frameTimesIndex=0,this.frameTimesCount=0,this.frameIntervals.length=0,this.frameIntervalsIndex=0,this.frameIntervalsCount=0,this.lastFrameTimestamp=0,this.jankFrameCount=0,this.totalFrameCount=0,this.memorySnapshots.length=0,this.memorySnapshotIndex=0,this.sortBuffer.length=0,this.lastCpuTime=null,this.lastGpuTime=null}},NL=32,qL=5,XL=(()=>{let e=0,t=new Set,s=(_,u)=>{t.forEach(m=>{try{m[_](u)}catch(p){Is("[Shaders] Error in pointer handler:",p)}})},r=_=>s("onMouseMove",_),o=_=>s("onTouchMove",_),n=_=>s("onMouseDown",_),i=_=>s("onTouchStart",_),d=()=>s("onMouseUp"),c=()=>s("onTouchEnd");return{register(_){return t.add(_),e++,e===1&&typeof window<"u"&&(window.addEventListener("mousemove",r),window.addEventListener("touchmove",o),window.addEventListener("mousedown",n,!0),window.addEventListener("touchstart",i,!0),window.addEventListener("mouseup",d,!0),window.addEventListener("touchend",c,!0)),()=>{t.delete(_),e--,e===0&&typeof window<"u"&&(window.removeEventListener("mousemove",r),window.removeEventListener("touchmove",o),window.removeEventListener("mousedown",n,!0),window.removeEventListener("touchstart",i,!0),window.removeEventListener("mouseup",d,!0),window.removeEventListener("touchend",c,!0))}}}})();function HL(e){if(!e)return!1;let t=e;if(typeof e=="string")try{t=JSON.parse(e)}catch{return!1}if(!t||typeof t!="object")return!1;for(let s in t){let r=t[s];if(r&&typeof r=="object"&&r.type==="mouse")return!0}return!1}function aT(){let e=null,t=null,s=null,r=null,o=null,n=null,i=!1,d=!1,c=!1,_=null,u=new Map,m=null,p=new Map,y=[],h=[],g=UL({maxSize:4,dispose:M=>Wy(M)}),w=new Set,S=null,T=null,A=!0,P=0,U=0,D=0,O=0,L=1,G=8192,W=0,K=0,Q=!1,te=()=>D||P||1,ee=()=>O||U||1,he=!0,Ee=!1,Te=!1,Ue=0,Me=0,Pe=0,Re=null,de=null,je=-10,fe=-10,Ke=!1,Ze=!1,at=null,Fe=!1,Ie=null,st=null,Xe=null,We=null,Ve=null,Ft=null,Gt=!1,os="p3-linear",bs="linear",ls=!1,As=null,vs=null,ys=!1,Ks=!1,yr=null,Ur=!1,Ms=null,Cr=null,hr=!1,mo=null,po=null,Rr=0,nr=0,zr=new VL,Ps={deltaTime:0,pointer:{x:-10,y:-10,seen:!1},pointerActive:!1,dimensions:{width:0,height:0}},Gr=G7(()=>Ad()),Vo=M=>M.replace(/[^a-zA-Z0-9_]/g,"_"),Qr=M=>{let E=p.get(M);if(!E)return[];let k=[];for(let V of E){let I=u.get(V);I&&k.push(I)}return k},ci=M=>{let E=Vo(M);for(let[k,V]of u)if(V.metadata.id===E)return k;return null},ba=(M,E)=>{if(E==="center")return;let k=M.boundingBoxDeclaration;if(!k)return;let V={};for(let[I,J]of Object.entries(M.uniforms))V[I]=J._rawDimensional!==void 0?J._rawDimensional:J.value;return li(M,V.shapeSdfUrl),vy(k,V,te(),ee())},_i=new WeakMap,li=(M,E)=>{if(typeof E!="string"||!E||$7(E))return;let k=_i.get(M)??new Set;_i.set(M,k),!k.has(E)&&(k.add(E),a1(E,()=>{k.delete(E),u.get(M.id)===M&&(F(M),Yt()&&Bt(),vo())}))},F=M=>{let E=M.boundingBoxDeclaration,k=M.extraDimProps,V=hd(E,k);if(!V)return;let I=M.uniforms.origin?.value??"center",J=ba(M,I),_e=[...V.positionProps,...V.sizeProps.keys()];for(let Se of _e){let ke=M.uniforms[Se];if(!ke||ke._rawDimensional===void 0)continue;let Ne=Qc(E,Se,ke._rawDimensional,I,te(),ee(),k,J);ke.value=Ne,Ta(M,Se,Ne)}},le=(M,E,k)=>{if(typeof k=="number")return k;let V=M.uniforms.origin?.value??"center",I=Qc(M.boundingBoxDeclaration,E,k,V,te(),ee(),M.extraDimProps);return typeof I=="number"?I:k?.value??0},ae=()=>{let{width:M,height:E}=Sa();return M/Math.max(1,E)},ne=M=>{let E=M.metadata.transform;return{offsetX:E?.offsetX??0,offsetY:E?.offsetY??0,rotation:E?.rotation??0,scale:E?.scale??1,anchorX:E?.anchorX??.5,anchorY:E?.anchorY??.5,aspectRatio:ae()}},ie=M=>{let E=M.metadata.boundingBox;if(!E)return null;let k=Ov(E,te(),ee());return{centerX:k.centerX,centerY:k.centerY,halfWidth:k.halfWidthUV,halfHeight:k.halfHeightUV,cornerRadius:k.cornerRadiusUV,rotation:k.rotation,aspectRatio:ae()}},ge=M=>!!M.metadata.boundingBox&&!!M.boundingBoxDeclaration&&!r1(M.metadata.boundingBox),Ye=M=>{let E=M.boundingBoxDeclaration;if(!E||!M.uniforms||!E.computeBounds&&!E.propBindings)return null;let k={};for(let[ke,Ne]of Object.entries(M.uniforms))k[ke]=Ne._rawDimensional!==void 0?Ne._rawDimensional:Ne.value;let V=vy(E,k,te(),ee());if(V.hwx<=0&&V.hhy<=0)return null;let I=.5,J=.5,_e=E.propBindings?.x?.prop??E.propBindings?.y?.prop,Se=_e?M.uniforms[_e]?.value:void 0;if(Se&&typeof Se.x=="number"&&typeof Se.y=="number"&&(I=Se.x,J=Se.y),_e){let ke=M.metadata.maps?.[_e];if(ke?.type==="mouse-position"){let Ne=M.mouseDriverState[_e];Ne&&(I=Ne.liveX??(typeof ke.x=="number"?ke.x:Ne.currentX),J=Ne.liveY??(typeof ke.y=="number"?ke.y:Ne.currentY))}}return{centerX:I,centerY:J,halfWidth:V.hwx,halfHeight:V.hhy}},Je=M=>{if(!M.definition.wantsBoundsParams)return null;let E=Qr(M.id).sort((k,V)=>k.metadata.renderOrder-V.metadata.renderOrder);for(let k of E){if(k.metadata.visible===!1)continue;if(ge(k))return null;let V=Ye(k);if(V)return V}return null},rt=()=>{for(let M of u.values()){if(!M.definition.wantsBoundsParams)continue;let E=Je(M);E&&(es(M,"_childBounds_centerX",E.centerX),es(M,"_childBounds_centerY",E.centerY),es(M,"_childBounds_halfWidth",E.halfWidth),es(M,"_childBounds_halfHeight",E.halfHeight))}},He=!1,Bt=()=>{He=!0,vo()},Yt=()=>{for(let M of u.values()){let E=M.metadata.flow?.mode;if(E==="column"||E==="row")return!0}return!1},Ls=M=>{let E={};for(let[J,_e]of Object.entries(M.uniforms))E[J]=_e._rawDimensional!==void 0?_e._rawDimensional:_e.value;let k=M.boundingBoxDeclaration?.propBindings?.x?.prop??M.boundingBoxDeclaration?.propBindings?.y?.prop,V=k?M.uniforms[k]?.value:void 0,I=!!(k&&(V?.type==="mouse-position"||M.metadata.maps?.[k]));return{id:M.id,componentName:M.componentName,visible:M.metadata.visible!==!1,absolute:M.metadata.absolute===!0,requiresChild:M.requiresChild,layout:M.metadata.flow,decl:M.boundingBoxDeclaration,props:E,boundingBox:M.metadata.boundingBox,positionDriven:I,children:Qr(M.id).sort((J,_e)=>J.metadata.renderOrder-_e.metadata.renderOrder).map(Ls)}},fo=()=>{if(!Yt()){He=!1;return}let M=te(),E=ee();if(M<=1||E<=1)return;He=!1;let k=[];for(let I of u.values())I.parentId===null&&k.push(Ls(I));let V=OL(k,M,E);for(let I of V){let J=u.get(I.id);if(J)if(I.kind==="position"){let _e=J.uniforms[I.prop];if(!_e)continue;let Se=_e.value,ke=Se&&typeof Se=="object"?{...Se,x:I.value.x,y:I.value.y}:I.value;_e.value=ke,Ta(J,I.prop,ke)}else{let _e=ge(J);if(J.metadata.boundingBox={x:{value:I.xPx,unit:"px"},y:{value:I.yPx,unit:"px"},width:{value:I.widthPx,unit:"px"},height:{value:I.heightPx,unit:"px"},origin:"top-left",rotation:J.metadata.boundingBox?.rotation??0,...J.metadata.boundingBox?.cornerRadius?{cornerRadius:J.metadata.boundingBox.cornerRadius}:{},...J.metadata.boundingBox?.lockAspect!==void 0?{lockAspect:J.metadata.boundingBox.lockAspect}:{}},!_e&&ge(J))Bn();else{let Se=ie(J);if(Se)for(let[ke,Ne]of Object.entries(Se))es(J,`_bbox_${ke}`,Ne)}}}},br=()=>{He&&fo()},Nt=null,No=()=>{Yt()&&Bt()},Yr=()=>{Nt||(Nt=y7(()=>{Yt()&&Bt()})),typeof document<"u"&&document.fonts?.addEventListener&&document.fonts.addEventListener("loadingdone",No)};Yr();let Ro=M=>Tn(M.metadata.transform),wa=(M,E,k)=>{let V=M.mapValues[E]??{inputMin:0,inputMax:1,outputMin:0,outputMax:1,curve:0};if(k.type==="map"){let I=k;V.inputMin=I.inputMin,V.inputMax=I.inputMax,V.outputMin=le(M,E,I.outputMin),V.outputMax=le(M,E,I.outputMax),V.curve=I.curve??0}else if(k.type==="mouse"){let I=k;V.outputMin=le(M,E,I.outputMin),V.outputMax=le(M,E,I.outputMax),V.curve=I.curve??0}else if(k.type==="auto-animate"){let I=k;V.outputMin=le(M,E,I.outputMin),V.outputMax=le(M,E,I.outputMax)}return M.mapValues[E]=V,V},E1=(M,E,k)=>{let V=M.mouseDriverState[E];if(V)return V;if(k.type==="mouse-position"){let I=k.x===void 0||k.x==="mouse",J=k.y===void 0||k.y==="mouse";V={currentX:I?je:k.x,currentY:J?fe:k.y,velocityX:0,velocityY:0,pointerSnapped:Ze}}else V={currentX:Math.max(.001,k.axis==="x"?je:fe),currentY:0,velocityX:0,velocityY:0,pointerSnapped:Ze};return M.mouseDriverState[E]=V,V},k1=M=>{let E=M.metadata.maps;if(E)for(let[k,V]of Object.entries(E))k in M.uniforms&&(V.type==="map"?wa(M,k,V):V.type==="mouse-position"?E1(M,k,V):V.type==="mouse"?(E1(M,k,V),wa(M,k,V)):V.type==="auto-animate"&&(M.autoAnimateState[k]||(M.autoAnimateState[k]={}),wa(M,k,V)))},__=M=>{let E=M.definition.animatedTime;return(E?M.uniforms[E.speed]:void 0)??M},$1=(M,E)=>M.uniforms[E]??M,Gy=M=>{let E=[];for(let[I,J]of Object.entries(M.uniforms))E.push({name:I,initial:J.value,transform:J.transform,cpu:J.cpu,schema:J.schema});if(E.push({name:"_opacity",schema:a,initial:M.metadata.opacity??1}),M.definition.animatedTime&&E.push({name:"_animTime",schema:a,initial:ii(__(M)).value}),M.definition.extraAnimatedTimes)for(let[I,J]of Object.entries(M.definition.extraAnimatedTimes))E.push({name:`_animTime_${I}`,schema:a,initial:ii($1(M,J)).value});let k=M.definition.extraFields;if(k)for(let[I,J]of Object.entries(k))E.push({name:I,schema:J.schema,initial:J.initial});if(Ro(M)){let I=ne(M);for(let[J,_e]of Object.entries(I))E.push({name:`_xform_${J}`,schema:a,initial:_e})}if(ge(M)){let I=ie(M);if(I)for(let[J,_e]of Object.entries(I))E.push({name:`_bbox_${J}`,schema:a,initial:_e})}if(M.definition.wantsBoundsParams){let I=Je(M)??{centerX:.5,centerY:.5,halfWidth:.5,halfHeight:.5};for(let[J,_e]of Object.entries(I))E.push({name:`_childBounds_${J}`,schema:a,initial:_e})}let V=M.metadata.maps;if(V){k1(M);for(let[I,J]of Object.entries(V))if(I in M.uniforms){if(J.type==="map"){let _e=M.mapValues[I];E.push({name:`_map_${I}_inputMin`,schema:a,initial:_e.inputMin}),E.push({name:`_map_${I}_inputMax`,schema:a,initial:_e.inputMax}),E.push({name:`_map_${I}_outputMin`,schema:a,initial:_e.outputMin}),E.push({name:`_map_${I}_outputMax`,schema:a,initial:_e.outputMax}),E.push({name:`_map_${I}_curve`,schema:a,initial:_e.curve})}else if(J.type==="mouse-position"){let _e=M.mouseDriverState[I];E.push({name:`_smoothed_${I}`,schema:l,initial:[_e.currentX,1-_e.currentY]})}else if(J.type==="mouse"){let _e=M.mapValues[I];E.push({name:`_smoothed_${I}`,schema:a,initial:_e.outputMin})}else if(J.type==="auto-animate"){let _e=M.mapValues[I];E.push({name:`_smoothed_${I}`,schema:a,initial:_e.outputMin})}}}return E},Ta=(M,E,k)=>{let V=M._liveHandles?.[E];V&&(As?.(os),e7(V,k))},es=(M,E,k)=>{let V=M._liveHandles?.[E];V instanceof Oo&&(V.value=k)},Yy=(M,E,k)=>{let V=M._liveHandles?.[E];V instanceof Oo?V.value=k:V instanceof Sc&&Array.isArray(k)&&(V.array=k)},dT=M=>{for(let E of Object.values(M.uniforms))if(E.transform===ir){let k=E.value;if(typeof k=="string")return ir(k);if(typeof k=="number")return k}return 0},cT=M=>{if(!M.uniforms.convertedColorsArray)return;let E=null;for(let J of Object.values(M.uniforms))if(J.transform===Rn){E=J.value??null;break}let k=jv(E,Kc),V=Kv(k.colors,k.stopCount,dT(M)),I=(J,_e)=>{let Se=M.uniforms[J];Se&&(Se.value=_e),Ta(M,J,_e)};I("colorsArray",k.colors),I("positionsArray",k.positions),I("convertedColorsArray",V),I("stopCount",k.stopCount)},Ly=(M,E)=>{let k=M.uniforms[E],V=k?._listSpec;if(!k||!V)return;let I=k._rawList,J=new Set,_e=ly(I,V,{color:Kc,drivenPosition:(Ne,Lt,ns)=>{let Ht=cw(E,Ne,Lt);J.add(Ht);let nt=E1(M,Ht,ns);return nt.liveX!==void 0&&nt.liveY!==void 0?{x:nt.liveX,y:1-nt.liveY}:void 0}});for(let Ne of Object.keys(M.mouseDriverState)){let Lt=_y(Ne);Lt&&Lt.prop===E&&!J.has(Ne)&&delete M.mouseDriverState[Ne]}k.value=_e,Ta(M,E,_e);let Se=uy(_e,V),ke=(Ne,Lt)=>{let ns=M.uniforms[Ne];ns&&(ns.value=Lt),Ta(M,Ne,Lt)};for(let[Ne,Lt]of Object.entries(Se.fields))ke(dy(E,Ne),Lt);ke(cy(E),Se.count)},_T=(M,E)=>{let k=M.metadata.maps?.[E];if(k)return k;let V=_y(E);if(!V)return;let I=M.uniforms[V.prop]?._rawList,J=(Array.isArray(I)?I[V.index]:void 0)?.[V.field];return _1(J)?J:void 0},lT=M=>Object.values(M.uniforms).some(E=>E._listSpec&&my(E._rawList,E._listSpec)),uT=M=>{if(es(M,"_opacity",M.metadata.opacity??1),M.definition.animatedTime&&es(M,"_animTime",ii(__(M)).value),M.definition.extraAnimatedTimes)for(let[k,V]of Object.entries(M.definition.extraAnimatedTimes))es(M,`_animTime_${k}`,ii($1(M,V)).value);if(Ro(M))for(let[k,V]of Object.entries(ne(M)))es(M,`_xform_${k}`,V);if(ge(M)){let k=ie(M);if(k)for(let[V,I]of Object.entries(k))es(M,`_bbox_${V}`,I)}let E=M.metadata.maps;if(E){for(let[k,V]of Object.entries(E))if(V.type==="map"&&M.mapValues[k]){let I=M.mapValues[k];es(M,`_map_${k}_inputMin`,I.inputMin),es(M,`_map_${k}_inputMax`,I.inputMax),es(M,`_map_${k}_outputMin`,I.outputMin),es(M,`_map_${k}_outputMax`,I.outputMax),es(M,`_map_${k}_curve`,I.curve)}}},mT=(M,E)=>{let k={};for(let V of Object.keys(M.uniforms)){let I=E[V];I&&(k[V]=I)}return k},pT=M=>{let E={};for(let[k,V]of Object.entries(M.uniforms))E[k]={accessorPath:"",cpu:!!V.cpu,value:V.value};return E},fT=(M,E)=>({id:M.id,customId:M.metadata.id,componentName:M.componentName,parentId:M.parentId,definition:M.definition,metadata:M.metadata,handles:E,domCanvas:M.domCanvas}),Iy=(M,E)=>{let k=new Map,V=J=>fT(J,M&&E?mT(J,E.get(J.id)??{}):pT(J)),I=J=>{let _e=k.get(J);if(_e)return _e;let Se=u.get(J);if(!Se)return;let ke=V(Se);return k.set(J,ke),ke};return{rootId:m,getNode:I,getChildren:J=>Qr(J).map(_e=>I(_e.id)),resolveCustomId:J=>ci(J),store:{gpuAccessor:(J,_e)=>M?M.gpuAccessor(J,_e):"",layout:M?.layout}}},Dy=()=>({toneMapping:bs,flipY:!1,premultiplyAlpha:!0,canvas:n??void 0,dimensions:Sa(),gpu:t?{device:t.device,root:t}:void 0,writeExtraField:(M,E,k)=>{let V=u.get(M);V&&Yy(V,E,k)},createMediaTexture:M=>{if(!r)throw new Error("[gpu] createMediaTexture before init");return r.createMediaTexture(M)},createDataTexture:M=>{if(!r)throw new Error("[gpu] createDataTexture before init");return r.createDataTexture(M)},resolveMapWindow:(M,E)=>{let k=u.get(M),V=k?.metadata.maps?.[E];if(!k||!V||V.type!=="map")return;let I=wa(k,E,V);return{inputMin:I.inputMin,inputMax:I.inputMax,outputMin:I.outputMin,outputMax:I.outputMax,curve:I.curve}},resolveDriverCpuValue:(M,E)=>{let k=u.get(M);if(!k)return;if(E==="_animTime"||E.startsWith("_animTime_")){let I=k._liveHandles?.[E];return I instanceof Oo?I.value:void 0}let V=k.metadata.maps?.[E];if(V){if(V.type==="mouse-position"){let I=k.mouseDriverState[E];return!I||I.liveX===void 0||I.liveY===void 0?void 0:{x:I.liveX,y:1-I.liveY}}if(V.type==="mouse"||V.type==="auto-animate"){let I=k._liveHandles?.[`_smoothed_${E}`];return I instanceof Oo?I.value:void 0}}}}),vT=()=>{let M=[];for(let[E,k]of u){let V=k.metadata;M.push(`aopac:${E}:${(V.opacity??1)<1}`);let I=k.uniforms.stopCount?.value;typeof I=="number"&&M.push(`stops:${E}:${I>1?I:0}`);for(let[J,_e]of Object.entries(k.uniforms)){if(!_e.compileTimeWhen)continue;let Se=_e._lastCompiledValue;typeof Se!="number"&&typeof Se!="boolean"||M.push(`ctw:${E}:${J}:${String(Se)}`)}if(V.maps){let J=Object.entries(V.maps).sort(([_e],[Se])=>_eSe?1:0).map(([_e,Se])=>{let ke=Se;return`${_e}=${ke.type}:${ke.source??""}:${ke.channel??""}:${ke.axis??""}`}).join(",");M.push(`mapfp:${E}:${J}`)}}return M},Fy=()=>m?$L([..._7(Iy(null,null),Dy()),...vT()]):null,Sa=()=>({width:Math.max(1,Math.round(P*L)),height:Math.max(1,Math.round(U*L))}),yT=M=>{let E={};for(let k of M.textures)k.kind!=="rtt"&&k.resource&&(E[k.key]=k.resource);return E},hT=M=>{if(!t||!r||!o)throw new Error("[gpu] buildComposition before init");let E=J6(t,{systemSchema:kL}),k=new Map;for(let[Se,ke]of u)k.set(Se,E.defineNode(Se,Gy(ke)));E.defineSystem(),E.finalize();let V=c7(Iy(E,k),Dy()),I=CL(t,{textureManager:r,dispatcher:o}),J={hash:M,store:E,ir:V,passManager:I,handlesById:k,fresh:!0,validationFrames:3},_e=V.usesCustomWgsl?t.device:void 0;_e&&_e.pushErrorScope("validation");try{I.setComposition(V,E.bindGroup,Sa(),yT(V))}finally{_e&&_e.popErrorScope().then(Se=>{Se&&!J.broken&&By(J,Se.message)}).catch(()=>{})}return w.add(J),J},By=(M,E)=>{M.broken=E,y_("[gpu] a shader in this composition failed GPU validation \u2014 it will not draw until it changes. If you are writing a wgsl`\u2026` body, the message below points at the line:\n"+E)},Wy=M=>{try{for(let E of M.ir.onCleanup)E()}catch(E){Is("[gpu] composition onCleanup error:",E)}try{M.passManager.dispose()}catch(E){Is("[gpu] passManager dispose error:",E)}try{M.store.destroy()}catch(E){Is("[gpu] store destroy error:",E)}w.delete(M),S===M&&(S=null)},xT=M=>{let E=!1;for(let[k,V]of M.handlesById){let I=u.get(k);I&&I._liveHandles!==V&&(I._liveHandles=V,E=!0)}if(!(M===S&&!E)){if(!M.fresh){for(let k of u.values()){for(let[V,I]of Object.entries(k.uniforms))Ta(k,V,I.value);k1(k),uT(k)}M.store.writeAll()}M.fresh=!1,S=M,!ys&&M.ir.composedNodeIds.size>0&&(Ks=!0)}},Bn=()=>{A=!0,Yt()&&(He=!0),vo()},vo=()=>{Ms||Gr.running||de===null&&typeof requestAnimationFrame=="function"&&(de=requestAnimationFrame(()=>{de=null,Ad()}))},Oy=(M,E,k,V,I={},J,_e)=>{if(Ms)return;if(E===null){let nt=y.findIndex(Zs=>Zs.id===M);if(nt!==-1){y.splice(nt,1),h=h.filter(Zs=>Zs.id!==M);return}U1(M);return}if(!J){console.error(`[gpu] registerNode("${M}") requires a componentDefinition`);return}if(!c){let nt=y.findIndex(zo=>zo.id===M),Zs={id:M,definition:J,parentId:k,metadata:V,uniforms:I,domCanvas:_e};nt!==-1?(y[nt]=Zs,h=h.filter(zo=>zo.id!==M)):y.push(Zs);return}let Se=0;if(k!==null){let nt=p.get(k);if(nt&&nt.size>0){let Zs=0;for(let zo of nt){let Lr=u.get(zo);Lr&&Lr.metadata.renderOrder>Zs&&(Zs=Lr.metadata.renderOrder)}Se=Zs+1}}let ke={blendMode:V?.blendMode||"normal",opacity:V?.opacity,visible:V?.visible!==!1,id:V?.id?Vo(V.id):V?.id,mask:V?.mask,maps:V?.maps,renderOrder:V?.renderOrder!==void 0?V.renderOrder:Se,transform:V?.transform,boundingBox:V?.boundingBox,flow:V?.flow,absolute:V?.absolute},Ne=J.boundingBoxDeclaration,Lt=J.props?fy(J.props):void 0,ns={id:M,componentName:J.name||"Unknown",parentId:k,definition:J,metadata:ke,uniforms:I,domCanvas:_e,requiresRTT:!!J.requiresRTT,requiresChild:!!J.requiresChild,blendWithChildren:!!J.blendWithChildren,acceptsUVContext:!!J.acceptsUVContext,providesUVContextViaCompute:!!J.providesUVContextViaCompute,usesPointer:!!J.usesPointer,hasUvRemap:!!J.uvRemap,boundingBoxDeclaration:Ne,wantsBoundsParams:!!J.wantsBoundsParams,extraDimProps:Lt,mouseDriverState:{},autoAnimateState:{},mapValues:{},_liveHandles:null};if(Ne||Lt){let nt=hd(Ne,Lt);if(nt){let Zs=I.origin?.value??"center",zo=ba(ns,Zs);for(let Lr of[...nt.positionProps,...nt.sizeProps.keys()]){let wr=I[Lr];wr&&(wr._rawDimensional===void 0&&(wr._rawDimensional=wr.value),wr.value=Qc(Ne,Lr,wr._rawDimensional,Zs,te(),ee(),Lt,zo))}}}for(let nt of Object.values(I))nt.compileTimeWhen&&nt._lastCompiledValue===void 0&&(nt._lastCompiledValue=nt.value);u.set(M,ns),k===null&&(m=M);let Ht=p.get(k)||new Set;Ht.add(M),p.set(k,Ht),Md(),Bn(),Yt()&&Bt()},Vy=M=>{y.some(E=>E.id===M.id)&&h.push(M)},Ny=(M,E,k)=>{let V=u.get(M);if(!V){Vy({id:M,kind:"uniform",name:E,value:k});return}let I=V.uniforms[E];if(!I)return;let J=V.boundingBoxDeclaration,_e=V.extraDimProps;if((J||_e)&&yy(J,E,_e)){I._rawDimensional=k;let Se=V.uniforms.origin?.value??"center",ke=ba(V,Se);k=Qc(J,E,k,Se,te(),ee(),_e,ke)}if(I.transform===Ka){I._rawList=k,Ly(V,E),Md(),vo();return}if(I.value=k,Ta(V,E,k),(I.transform===Rn||I.transform===ir)&&cT(V),E==="origin"&&J)F(V);else if(J&&(V.uniforms.origin?.value??"center")!=="center"){let Se=hd(J,_e),ke=!!J.computeBounds||(Se?.sizeProps.has(E)??!1),Ne=Se?.positionProps.has(E)??!1;ke&&!Ne&&F(V)}if(E==="shape"&&Md(),Yt()&&Bt(),I.compileTime){Bn();return}if(I.compileTimeWhen){let Se=I._lastCompiledValue;if(I.compileTimeWhen(Se,k)){I._lastCompiledValue=k,Bn();return}}vo()},qy=(M,E)=>{let k=u.get(M);if(!k){Vy({id:M,kind:"metadata",metadata:E});return}let V=!1;if(E.blendMode!==void 0&&k.metadata.blendMode!==E.blendMode&&(k.metadata.blendMode=E.blendMode,V=!0),E.opacity!==void 0&&k.metadata.opacity!==E.opacity){let I=k.metadata.opacity??1,J=E.opacity;k.metadata.opacity=J,es(k,"_opacity",J),I>=1!=J>=1&&(V=!0)}if(E.renderOrder!==void 0&&k.metadata.renderOrder!==E.renderOrder&&(k.metadata.renderOrder=E.renderOrder,V=!0),"visible"in E){let I=E.visible!==!1;k.metadata.visible!==I&&(k.metadata.visible=I,V=!0)}if(E.id!==void 0){let I=Vo(E.id);k.metadata.id!==I&&(k.metadata.id=I,V=!0)}if("mask"in E&&(k.metadata.mask?.source!==E.mask?.source||k.metadata.mask?.type!==E.mask?.type)&&(k.metadata.mask=E.mask,V=!0),"maps"in E&&JSON.stringify(k.metadata.maps)!==JSON.stringify(E.maps)){let I=k.metadata.maps,J=E.maps;if(k.metadata.maps=J,Md(),(()=>{if(!I||!J)return!0;let _e=Object.keys(I),Se=Object.keys(J);if(_e.length!==Se.length||!_e.every(ke=>ke in J))return!0;for(let ke of Se){let Ne=I[ke],Lt=J[ke];if(Ne.type!==Lt.type)return!0;if(Lt.type==="map"){let ns=Ne,Ht=Lt;if(ns.source!==Ht.source||ns.channel!==Ht.channel)return!0}else if(Lt.type==="mouse"&&Ne.axis!==Lt.axis)return!0}return!1})()){if(I&&J)for(let _e of Object.keys(I))_e in J&&I[_e].type!==J[_e].type&&(delete k.mouseDriverState[_e],delete k.autoAnimateState[_e],delete k.mapValues[_e]);V=!0}else if(J)for(let[_e,Se]of Object.entries(J)){let ke=wa(k,_e,Se);Se.type==="map"&&(es(k,`_map_${_e}_inputMin`,ke.inputMin),es(k,`_map_${_e}_inputMax`,ke.inputMax),es(k,`_map_${_e}_outputMin`,ke.outputMin),es(k,`_map_${_e}_outputMax`,ke.outputMax),es(k,`_map_${_e}_curve`,ke.curve))}}if(E.transform!==void 0){let I=k.metadata.transform,J={offsetX:E.transform.offsetX??I?.offsetX??0,offsetY:E.transform.offsetY??I?.offsetY??0,rotation:E.transform.rotation??I?.rotation??0,scale:E.transform.scale??I?.scale??1,anchorX:E.transform.anchorX??I?.anchorX??.5,anchorY:E.transform.anchorY??I?.anchorY??.5,edges:E.transform.edges??I?.edges??"transparent"},_e=Ro(k);k.metadata.transform=J;let Se=Tn(J);if(_e!==Se||I&&I.edges!==J.edges)V=!0;else if(Se)for(let[ke,Ne]of Object.entries(ne(k)))es(k,`_xform_${ke}`,Ne)}if(E.boundingBox!==void 0&&E.boundingBox!==null&&k.boundingBoxDeclaration!==void 0){let I=ge(k);k.metadata.boundingBox=E.boundingBox;let J=ge(k);if(I!==J)V=!0;else if(J){let _e=ie(k);if(_e)for(let[Se,ke]of Object.entries(_e))es(k,`_bbox_${Se}`,ke)}}else E.boundingBox===null&&k.metadata.boundingBox!==void 0&&(k.metadata.boundingBox=void 0,V=!0);if("flow"in E&&JSON.stringify(k.metadata.flow)!==JSON.stringify(E.flow)){let I=k.metadata.flow?.mode==="column"||k.metadata.flow?.mode==="row";k.metadata.flow=E.flow??void 0;let J=k.metadata.flow?.mode==="column"||k.metadata.flow?.mode==="row";if(I&&!J){let _e=Se=>{for(let ke of Qr(Se))F(ke),_e(ke.id)};_e(M)}Bt()}"absolute"in E&&k.metadata.absolute!==E.absolute&&(k.metadata.absolute=E.absolute,E.absolute&&F(k),Bt()),Yt()&&Bt(),V?Bn():vo()},U1=M=>{let E=u.get(M);if(!E)return;for(let V of Qr(M))U1(V.id);m===M&&(m=null);let k=p.get(E.parentId);k&&(k.delete(M),k.size===0&&p.delete(E.parentId)),u.delete(M),Md(),Bn(),Yt()&&Bt()},Xy=()=>{let M=Ps.deltaTime;Pe=C7(Re,Pe,M,performance.now());for(let E of u.values()){let k=E.metadata.maps??{};for(let V in E.mouseDriverState){let I=E.mouseDriverState[V],J=_T(E,V);if(J){if(J.type==="mouse-position"){let _e=J.smoothing??0,Se=J.momentum??0,ke=J.x===void 0||J.x==="mouse",Ne=J.y===void 0||J.y==="mouse";!I.pointerSnapped&&Ze&&(I.pointerSnapped=!0,ke&&(I.currentX=je,I.velocityX=0),Ne&&(I.currentY=fe,I.velocityY=0));let Lt,ns;if(ke){let[Go,ui]=Xc(I.currentX,I.velocityX,je,_e,Se,M);I.currentX=Go,I.velocityX=ui,Lt=Go}else Lt=J.x,I.velocityX=0;if(Ne){let[Go,ui]=Xc(I.currentY,I.velocityY,fe,_e,Se,M);I.currentY=Go,I.velocityY=ui,ns=Go}else ns=J.y,I.velocityY=0;let Ht=J.reach??1,nt=J.originX??.5,Zs=J.originY??.5,zo=J.invertX?-1:1,Lr=J.invertY?-1:1,wr=nt+zo*(Lt-nt)*Ht,yo=Zs+Lr*(ns-Zs)*Ht,Aa=wr,Pd=yo,p_=E.metadata.boundingBox;if(p_&&E.boundingBoxDeclaration?.supportsResizeFit&&ge(E)){let Go=Ov(p_,te(),ee()),ui=i7(wr,yo,{centerX:Go.centerX,centerY:Go.centerY,halfWidthUV:Go.halfWidthUV,halfHeightUV:Go.halfHeightUV,rotationDeg:Go.rotation,aspectRatio:ae()});Aa=ui.x,Pd=ui.y}I.liveX=Aa,I.liveY=Pd;let sh=E._liveHandles?.[`_smoothed_${V}`];sh instanceof Oo&&sh.setComponents(Aa,1-Pd)}else if(J.type==="mouse"){let _e=J.smoothing??0,Se=J.momentum??0,ke=J.axis==="x"?je:fe;!I.pointerSnapped&&Ze&&(I.pointerSnapped=!0,I.currentX=Math.max(.001,ke),I.velocityX=0);let[Ne,Lt]=Xc(I.currentX,I.velocityX,ke,_e,Se,M);I.currentX=Ne,I.velocityX=Lt;let ns=Math.max(.001,Ne),Ht=E.mapValues[V],nt=Ht?Ht.outputMin+(Ht.outputMax-Ht.outputMin)*Math.pow(ns,Math.pow(2,-Ht.curve*2)):ns;I.liveScalar=nt,es(E,`_smoothed_${V}`,nt)}}}for(let[V,I]of Object.entries(E.uniforms))I._listSpec&&my(I._rawList,I._listSpec)&&Ly(E,V);for(let V in E.autoAnimateState){let I=k[V];if(!I||I.type!=="auto-animate")continue;let J=Pe*(I.speed??1)*.2,_e,Se=I.easing??I.waveform??"sine";if(I.mode==="loop")_e=ey((J%1+1)%1,Se);else{let nt=(J%1+1)%1;_e=ey(nt<.5?nt*2:(1-nt)*2,Se)}let ke=E.mapValues[V],Ne=ke?ke.outputMin:le(E,V,I.outputMin),Lt=ke?ke.outputMax:le(E,V,I.outputMax),ns=Ne+_e*(Lt-Ne),Ht=E.uniforms[V];if(Ht?.compileTimeWhen){let nt=Ht._lastCompiledValue;Ht.compileTimeWhen(nt,ns)&&(Ht._lastCompiledValue=ns,Bn())}es(E,`_smoothed_${V}`,ns)}}},Hy=()=>{let M=Ps.deltaTime;for(let E of u.values()){let k=E.definition.animatedTime;if(k){let I=E.uniforms[k.speed],J=I&&Number(I.value)||0,_e=ii(__(E));_e.advance(M,J),es(E,"_animTime",_e.value)}let V=E.definition.extraAnimatedTimes;if(V)for(let[I,J]of Object.entries(V)){let _e=E.uniforms[J],Se=_e&&Number(_e.value)||0,ke=ii($1(E,J));ke.advance(M,Se),es(E,`_animTime_${I}`,ke.value)}}},C1=(M,E)=>U7(M,E,{maxTextureDim:G,pixelRatio:L,viewportWidth:typeof window<"u"?window.innerWidth:M,viewportHeight:typeof window<"u"?window.innerHeight:E}),R1=()=>{let M=(typeof window<"u"?window.devicePixelRatio:1)||1;return Math.min(M,h7())},l_=(M,E,k,V)=>{if(Q&&M===P&&E===U&&k===D&&V===O){let{width:Se,height:ke}=Sa();if(!n||n.width===Se&&n.height===ke)return}P=M,U=E,D=k,O=V,py(k,V),Q||(Q=!0,u.size>0&&Bn());let{width:I,height:J}=Sa();n&&(n.width=I,n.height=J);let _e=!1;for(let Se of w)Se.passManager.resize(I,J)&&(_e=!0);for(let Se of w)for(let ke of Se.ir.onResize)try{ke({width:I,height:J})}catch(Ne){Is("[gpu] composition onResize error:",Ne)}for(let Se of u.values()){if(Ro(Se)&&es(Se,"_xform_aspectRatio",ae()),ge(Se)){let ke=ie(Se);if(ke)for(let[Ne,Lt]of Object.entries(ke))es(Se,`_bbox_${Ne}`,Lt)}F(Se)}if(fo(),_e)for(let Se of w)Ky(Se.store),Se.store.flush(),Se.passManager.repaintRtt();Ue=0,Ad()},z1=(M,E)=>{M<=0||E<=0||M===W&&E===K||(W=M,K=E,Ft={width:M,height:E},!Gt&&typeof requestAnimationFrame=="function"&&(Gt=!0,requestAnimationFrame(()=>{if(Gt=!1,!Ft)return;let k=Ft;Ft=null;let{width:V,height:I}=C1(k.width,k.height);l_(V,I,k.width,k.height)})))},gT=M=>{let E=M[0];if(!E)return;let k,V;if(E.contentBoxSize){let I=Array.isArray(E.contentBoxSize)?E.contentBoxSize[0]:E.contentBoxSize;I?(k=Math.round(I.inlineSize),V=Math.round(I.blockSize)):(k=Math.round(E.contentRect.width),V=Math.round(E.contentRect.height))}else k=Math.round(E.contentRect.width),V=Math.round(E.contentRect.height);k===0||V===0||z1(k,V)},bT=M=>{let E=M[0];E&&(Ee=E.isIntersecting)},jy=()=>i&&!!t&&!!s&&P>0&&U>0,Ky=M=>{let E=M.systemHandles,{width:k,height:V}=Sa(),I=R1(),J=(_e,Se)=>{let ke=E[_e];ke instanceof Oo&&(ke.value=Se)};J("time",Pe),J("viewportSize",[k,V]),J("logicalViewportSize",[te()*I,ee()*I]),J("aspect",k/Math.max(1,V)),J("pointer",[je,fe]),J("pointerActive",Ke?1:0)},Zy=M=>{for(let E of M)try{E(Ps)}catch(k){Is("[gpu] render callback error:",k)}},Qy=M=>{if(Ms||!jy())return;let E=performance.now(),k;if(M!==void 0)k=M;else{let _e=R7(E,{lastRenderTime:Ue,isVisible:Ee,forceFullFrameRate:Te,minInterval:Me});if(!_e.render)return;k=_e.deltaTime}Ue=E,ls&&performance.mark("shader-cpu-start");let V=je>-5;Ps.deltaTime=k,Ps.pointer.x=V?je:.5,Ps.pointer.y=V?fe:.5,Ps.pointer.seen=Ze,Ps.pointerActive=Ke,Ps.dimensions.width=P,Ps.dimensions.height=U;let I=null,J=null;try{z7({updateDrivers:()=>{Xy(),Hy(),rt(),br()},ensureComposition:()=>((A||T===null)&&(T=Fy(),A=!1),T===null?!1:(I=g.getOrBuild(T,()=>hT(T)),xT(I),!!S)),beforeRender:()=>Zy(S.ir.onBeforeRender),flush:()=>{Ky(S.store),S.store.flush()},render:()=>{if(ls&&performance.mark("shader-gpu-start"),J=g.renderValue??I,J?.broken)return!1;let _e=J,Se=_e&&_e.validationFrames>0&&_e.ir.usesCustomWgsl?t?.device:void 0;Se&&Se.pushErrorScope("validation");try{_e?.passManager.render(s,Ps,()=>S?.store.flush())}finally{Se&&_e&&(_e.validationFrames--,Se.popErrorScope().then(ke=>{ke&&!_e.broken&&By(_e,ke.message)}).catch(()=>{}))}if(ls){performance.mark("shader-gpu-end");try{performance.measure("shader-gpu-time","shader-gpu-start","shader-gpu-end");let ke=performance.getEntriesByName("shader-gpu-time")[0];ke&&zr.recordGpuTime(ke.duration),performance.clearMeasures("shader-gpu-time"),performance.clearMarks("shader-gpu-start"),performance.clearMarks("shader-gpu-end")}catch{}}},markReady:()=>{g.markReady(T),Ks&&!ys&&(ys=!0,Ks=!1,vs&&queueMicrotask(vs))},afterRender:()=>Zy((J??S).ir.onAfterRender)}),nr=0}catch(_e){$T(_e);return}if(ls){performance.mark("shader-cpu-end");try{performance.measure("shader-cpu-time","shader-cpu-start","shader-cpu-end");let _e=performance.getEntriesByName("shader-cpu-time")[0];_e&&zr.recordCpuTime(_e.duration),performance.clearMarks("shader-cpu-start"),performance.clearMarks("shader-cpu-end"),performance.clearMeasures("shader-cpu-time")}catch{}}zr.recordFrame(performance.now()-E)},Ad=()=>Qy(void 0),wT=async M=>{if(Ms)return;if(!jy())throw new Error("Renderer is not ready");let E=Gr.running;E&&u_(),Ue=0,Ad(),t&&M?.waitForGpu!==!1&&await ty(t),E&&G1()},TT=async(M,E)=>{Qy(M),t&&E?.waitForGpu!==!1&&await ty(t)},G1=()=>{Ms||Gr.running||!he||(zr.setRendering(!0),Gr.start())},u_=()=>{Gr.running&&(Gr.stop(),zr.setRendering(!1))},m_=M=>{if(!n)return;at=n.getBoundingClientRect();let E,k;if("touches"in M){if(M.touches.length===0)return;E=M.touches[0].clientX,k=M.touches[0].clientY}else E=M.clientX,k=M.clientY;je=(E-at.left)/at.width,fe=(k-at.top)/at.height,Ze=!0},ST=M=>{!i||!n||(m_(M),Ke=!0,vo())},AT=M=>{!i||!n||(m_(M),Ke=!0,vo())},MT=()=>{i&&(Ke=!1,vo())},PT=()=>{i&&(Ke=!1,vo())},Jy=(M,E)=>{if(!i||!n)return!1;let k=n.getBoundingClientRect();return k.width===0||k.height===0?!1:M>=k.left&&M<=k.right&&E>=k.top&&E<=k.bottom},ET=M=>{M.button===0&&Jy(M.clientX,M.clientY)&&(Ke=!0,m_(M),vo())},kT=M=>{M.touches.length!==0&&Jy(M.touches[0].clientX,M.touches[0].clientY)&&(Ke=!0,m_(M),vo())},Md=()=>{let M=!1;for(let E of u.values()){if(E.usesPointer){M=!0;break}if(HL(E.uniforms?.shape?.value)||lT(E)){M=!0;break}if(E.metadata.maps){for(let k of Object.values(E.metadata.maps))if(k&&typeof k=="object"&&"type"in k){let V=k.type;if(V==="mouse"||V==="mouse-position"){M=!0;break}}if(M)break}}M&&!Fe?(Fe=!0,!Ie&&n&&(Ie=XL.register({onMouseMove:ST,onTouchMove:AT,onMouseDown:ET,onTouchStart:kT,onMouseUp:MT,onTouchEnd:PT}))):!M&&Fe&&(Fe=!1,Ie&&(Ie(),Ie=null))},eh=()=>{if(y.length===0)return;let M=[...y];y=[];for(let k of M)Oy(k.id,k.definition.fragment,k.parentId,k.metadata,k.uniforms,k.definition,k.domCanvas);let E=h;h=[];for(let k of E)k.kind==="uniform"?Ny(k.id,k.name,k.value):qy(k.id,k.metadata)},Wn=(M,E)=>{if(!Ms){Ms=M,dh(M),Is(`[gpu] renderer stopped (${M}):`,E);try{Y1()}catch(k){Is("[gpu] cleanup during failure threw:",k)}if(!hr&&Cr){hr=!0;let k=Cr;queueMicrotask(()=>{try{k(M,E)}catch(V){Is("[gpu] onUnavailable callback threw:",V)}})}}},$T=M=>{if(I1(M)){Wn(M.reason,M);return}nr++,nr===1&&y_("[gpu] render error:",M),nr>=qL&&Wn("render-failed",M)},UT=M=>{!M||typeof M.addEventListener!="function"||(th(),mo=M,po=E=>{try{E.preventDefault()}catch{}let k=E.error;if(y_("[gpu] uncaptured device error (a custom WGSL body that fails to compile reports here \u2014 read the message for the line):",k),typeof GPUOutOfMemoryError<"u"&&k instanceof GPUOutOfMemoryError){Wn("out-of-memory",k);return}if(typeof GPUInternalError<"u"&&k instanceof GPUInternalError){Wn("gpu-error",k);return}Rr++,Rr>=NL&&Wn("gpu-error",k)},M.addEventListener("uncapturederror",po))},th=()=>{if(mo&&po)try{mo.removeEventListener("uncapturederror",po)}catch{}mo=null,po=null},CT=M=>{if(!Ur){Ur=!0;try{u_()}catch{}if(yr){let E=yr;queueMicrotask(()=>{try{E(M)}catch(k){Is("[gpu] onDeviceLost callback threw:",k)}});return}Wn("device-lost",M)}},RT=async M=>{if(M.context!==void 0)throw new Error("[gpu] initialize({ context }) is not supported \u2014 this renderer is WebGPU-only. Remove the WebGL `context` option.");if(Ms)return;let E=ch();if(E){Wn(E);return}if(i||d)return;let{canvas:k,resizeTarget:V,enablePerformanceTracking:I=!1,colorSpace:J="p3-linear",toneMapping:_e="linear",gpu:Se,forceFullFrameRate:ke=!1,observeElement:Ne=!0,timeOrigin:Lt}=M;Lt!=null&&(Re=Lt),ls=I,Te=ke,os=J,bs=_e,Yr(),d=!0,_=new AbortController;let ns=_;try{if(As=lw,As(J),ns.signal.aborted||(n=k,e=await SL({device:Se?.device,adapter:Se?.adapter,onDeviceLost:yo=>CT(yo.message||yo.reason||"unknown")}),ns.signal.aborted))return;t=e.root,UT(t.device),L=R1();let Ht=t.device.limits?.maxTextureDimension2D;typeof Ht=="number"&&Ht>0&&(G=Ht),r=zL(t),o=f7(t),typeof window<"u"&&(We=()=>Y1(),window.addEventListener("beforeunload",We),Ve=()=>{if(W>0&&K>0){let yo=W,Aa=K;W=0,K=0,z1(yo,Aa)}},window.addEventListener("resize",Ve,{passive:!0}));let nt=k.getBoundingClientRect();at=nt,Ee=!Ne||nt.width>0&&nt.height>0&&nt.top0&&nt.left0,he=!0;let Zs=nt.width>0?nt.width:k.width,zo=nt.height>0?nt.height:k.height,Lr=Math.round(Zs),wr=Math.round(zo);if(Lr>0&&wr>0){W=Lr,K=wr;let{width:yo,height:Aa}=C1(Lr,wr);P=yo,U=Aa,D=Lr,O=wr,Q=!0,py(Lr,wr);let{width:Pd,height:p_}=Sa();k.width=Pd,k.height=p_}else Q=!1;if(s=PL(t,k),Ne&&typeof ResizeObserver<"u"){let yo=V??k.parentElement;yo?(st=new ResizeObserver(gT),st.observe(yo)):console.warn("[gpu] no element available for resize observation \u2014 use resize() manually"),typeof IntersectionObserver<"u"&&(Xe=new IntersectionObserver(bT,{threshold:0,rootMargin:"128px"}),Xe.observe(k))}if(ns.signal.aborted)return;i=!0,c=!0,eh(),P>0&&U>0&&Ad(),he&&G1()}catch(Ht){let nt=I1(Ht)?Ht.reason:"init-failed";d=!1,_===ns&&(_=null),Wn(nt,Ht);return}finally{d=!1,_===ns&&(_=null)}},Y1=()=>{_&&_.abort(),st&&(st.disconnect(),st=null),Xe&&(Xe.disconnect(),Xe=null),Ie&&(Ie(),Ie=null),We&&typeof window<"u"&&(window.removeEventListener("beforeunload",We),We=null),Ve&&typeof window<"u"&&(window.removeEventListener("resize",Ve),Ve=null),de!==null&&typeof cancelAnimationFrame=="function"&&(cancelAnimationFrame(de),de=null),u_(),th(),Nt?.(),Nt=null,typeof document<"u"&&document.fonts?.removeEventListener&&document.fonts.removeEventListener("loadingdone",No);try{e?.release?.()}catch{}g.clear();for(let M of[...w])Wy(M);S=null;try{r?.destroy()}catch{}try{e?.createdDevice&&t?.destroy()}catch{}u.clear(),m=null,p.clear(),y=[],h=[],c=!1,Ft=null,Gt=!1,n=null,s=null,r=null,o=null,t=null,e=null,i=!1,d=!1,Q=!1,_=null,P=0,U=0,D=0,O=0,T=null,A=!0,Ee=!1,he=!0,je=-10,fe=-10,Ke=!1,Ze=!1,Fe=!1,vs=null,ys=!1,Ks=!1,yr=null,Ur=!1,Rr=0,nr=0};return{initialize:RT,cleanup:Y1,registerNode:Oy,removeNode:U1,updateUniformValue:Ny,updateNodeMetadata:qy,isInitialized:()=>i,resize:(M,E)=>{t&&z1(M,E)},startAnimation:G1,stopAnimation:u_,renderAndWait:wT,renderSyntheticFrame:TT,getPerformanceStats:()=>{let M=Math.max(0,u.size-1),E=S?S.ir.rttPasses.length:0;zr.updateNodeCounts(M,E);let k={render:{calls:S?S.passManager.passCount:0},programs:{length:g.size},memory:{textures:r?r.textureCount:0}};return zr.getStats(k)},getLiveDriverValue:(M,E)=>{let k=u.get(M)?.mouseDriverState?.[E];return!k||k.liveX===void 0||k.liveY===void 0?null:{x:k.liveX,y:k.liveY}},getLiveScalarValue:(M,E)=>{let k=u.get(M);if(!k)return null;let V=k.metadata.maps?.[E];if(V?.type==="auto-animate"){let I=k._liveHandles?.[`_smoothed_${E}`],J=I instanceof Oo?I.value:void 0;return typeof J=="number"?J:null}return V?.type==="mouse"?k.mouseDriverState[E]?.liveScalar??null:null},getNodeRegistry:()=>({nodes:new Map(u)}),getRendererType:()=>"webgpu",getInternalRenderer:()=>t?{device:t.device,adapter:e?.adapter,root:t}:null,setForceFullFrameRate:M=>{let E=Te;return Te=M,E},beginRecordingResolution:(M,E,k)=>{if(!t||M<=0||E<=0)return()=>{};let V=L,I=P,J=U,_e=D,Se=O,ke=W,Ne=K;return L=k,l_(M,E,M,E),()=>{t&&(L=V,l_(I,J,_e,Se),W=ke,K=Ne)}},setResolutionScale:M=>{if(!t)return;let E=Math.max(.05,Math.min(M,1)),k=Math.max(.01,R1()*E);if(Math.abs(L-k)<.001)return;L=k;let V=D||P,I=O||U;if(V<=0||I<=0)return;let{width:J,height:_e}=C1(V,I);l_(J,_e,V,I)},setFrameRateCap:M=>{Me=M&&M>0?1e3/Math.max(M,10)-1:0},setTimeOrigin:M=>{Re=M},setOnReady:M=>{vs=M,M&&ys&&queueMicrotask(M)},setOnDeviceLost:M=>{yr=M},setOnUnavailable:M=>{if(Cr=M,M&&Ms&&!hr){hr=!0;let E=Ms;queueMicrotask(()=>{try{M(E)}catch(k){Is("[gpu] onUnavailable callback threw:",k)}})}},getFailureReason:()=>Ms,__testing:{needsTransformation:Tn,findChildNodes:Qr,buildFieldInits:M=>{let E=u.get(M);return E?Gy(E):null},ensureDriverState:M=>{let E=u.get(M);E&&k1(E)},stepMouseDrivers:M=>{Ps.deltaTime=M,Xy()},stepAnimatedTime:M=>{Ps.deltaTime=M,Hy()},getAnimatedTimeValue:M=>{let E=u.get(M);return E?.definition.animatedTime?ii(__(E)).value:null},writeExtraField:(M,E,k)=>{let V=u.get(M);V&&Yy(V,E,k)},readExtraField:(M,E)=>{let k=u.get(M)?._liveHandles?.[E];return k instanceof Oo?k.value:void 0},getNodeRegistry:()=>({nodes:u,rootId:m,parentToChildren:p}),getParentToChildren:()=>p,getPendingRegistrations:()=>[...y],getFrameDiagnostics:()=>({deltaTime:Ps.deltaTime,pointerX:je,pointerY:fe,pointerActive:Ke,globalElapsedTime:Pe,lastRenderTime:Ue,isVisible:Ee,forceFullFrameRate:Te,sharedTimeOrigin:Re,animating:Gr.running,mouseListenersNeeded:Fe}),computeStructuralHash:Fy,isStructuralDirty:()=>A,clearStructuralDirty:()=>{A=!1},setTestReady:M=>{i=!0,c=!0,M&&(P=M.width,U=M.height,D=M.width,O=M.height,Q=!0),eh()}}}}var jL={FlowingGradient:r_,Godrays:o_,LiquidMetal:n_,Marble:a_,MeshGradient:i_,Nebula:d_},P1=document.querySelector("canvas[data-shader]"),c_=jL[P1.dataset.shader],di=aT(),Ry=Promise.resolve();function iT(e){return Ry=Ry.then(()=>di.renderSyntheticFrame(e-di.__testing.getFrameDiagnostics().globalElapsedTime)),Ry}var zy=(async()=>{if(!c_)throw new Error(`shaders: no shader named "${P1.dataset.shader}" in this bundle`);await di.initialize({canvas:P1,observeElement:!1,colorSpace:"srgb"});let e=di.getFailureReason();if(e)throw new Error(`shaders: WebGPU unavailable (${e})`);di.registerNode("root",l1.fragment,null,null,{},l1);let t=JSON.parse(P1.dataset.shaderProps||"{}"),s=Object.fromEntries(Object.entries(c_.props).map(([o,n])=>[o,o in t?t[o]:n.default])),r={blendMode:"normal",renderOrder:1,id:"fx",boundingBox:Vv(void 0)};di.registerNode("fx",c_.fragment,"root",r,xy(c_,s,"fx"),c_),di.stopAnimation(),await iT(window.__hfTypegpuTime??0)})();window.__hf=window.__hf||{};window.__hf.buildReady=window.__hf.buildReady||{};window.__hf.buildReady.shaders=zy;zy.catch(e=>console.error(String(e)));window.addEventListener("hf-seek",e=>{let t=zy.then(()=>iT(e.detail.time));typeof e.detail.waitUntil=="function"&&e.detail.waitUntil(t)});})(); diff --git a/registry/blocks/nebula/nebula.html b/registry/blocks/nebula/nebula.html new file mode 100644 index 00000000000..b2aceb6a20e --- /dev/null +++ b/registry/blocks/nebula/nebula.html @@ -0,0 +1,31 @@ + + + + + + + +
+ +
+ + + diff --git a/registry/blocks/nebula/registry-item.json b/registry/blocks/nebula/registry-item.json new file mode 100644 index 00000000000..b7d7f865819 --- /dev/null +++ b/registry/blocks/nebula/registry-item.json @@ -0,0 +1,34 @@ +{ + "$schema": "https://hyperframes.heygen.com/schema/registry-item.json", + "name": "nebula", + "type": "hyperframes:block", + "title": "Nebula", + "description": "A small world of pink and blue gas swirls inside a sphere on black. A WebGPU shader from the Shaders library (shaders.com, MIT).", + "tags": ["webgpu", "webgpu-shader", "object", "space", "nebula", "sphere"], + "license": "Apache-2.0 AND MIT", + "dimensions": { + "width": 1920, + "height": 1080 + }, + "duration": 2, + "files": [ + { + "path": "nebula.html", + "target": "compositions/nebula.html", + "type": "hyperframes:composition" + }, + { + "path": "lib/shaders.iife.js", + "target": "compositions/lib/shaders.iife.js", + "type": "hyperframes:asset" + }, + { + "path": "lib/shaders.THIRD-PARTY-LICENSES.txt", + "target": "compositions/lib/shaders.THIRD-PARTY-LICENSES.txt", + "type": "hyperframes:asset" + } + ], + "preview": { + "video": "https://static.heygen.ai/hyperframes-oss/docs/images/catalog/blocks/nebula.mp4" + } +}